MAXIMUM LENGTH
3.41 REQUEST SENSE command
The REQUEST SENSE command (see table 148) requests that the device server transfer sense data to the application client.
DESC (Descriptor Format) bit
The descriptor format (DESC) bit specifies which sense data format shall be returned.
0 If DESC is set to zero, fixed format sense data shall be returned (see 2.4.1.2).
1 If DESC is set to one and descriptor format sense data is supported, descriptor format sense data shall be returned (see 2.4.1.1).
Note. If DESC is set to one and the descriptor format sense data is not supported, Seagate drives reject the bit.
ALLOCATION LENGHT field
The ALLOCATION LENGTH field is defined in 2.2.6. Application clients should request 252 bytes of sense data to ensure they retrieve all the sense data. If fewer than 252 bytes are requested, sense data may be lost since the REQUEST SENSE command with any allocation length clears the sense data.
CONTROL field
The CONTROL field is described in clause 2.2.7.
Sense data shall be available and cleared under the conditions defined in SAM-4. If the device server has no other sense data available to return, it shall:
1) return the sense key set to NO SENSE, additional sense code set to NO ADDITIONAL SENSE INFORMATION and;
2) complete the REQUEST SENSE command with GOOD status.
If the logical unit is in an idle power condition (see SPC-4), the device server shall process a REQUEST SENSE command by:
Table 148. REQUEST SENSE command Bit
Byte
7 6 5 4 3 2 1 0
0 OPERATION CODE (03h)
1 Reserved DESC
2 Reserved
3
4 ALLOCATION LENGTH
5 CONTROL
1) returning parameter data containing sense data with the sense key set to NO SENSE and the additional sense code set to one of the following:
A) LOW POWER CONDITION ON if the reason for entry into the idle power condition is unknown;
B) IDLE CONDITION ACTIVATED BY TIMER if the logical unit entered the idle_a power condition due to the idle_a condition timer (see SPC-4);
C) IDLE CONDITION ACTIVATED BY COMMAND if the logical unit entered the idle_a power condition due to receipt of a command requiring the idle_a power condition while it was in a power condition with a higher processing priority order (see SPC-4);
D) IDLE_B CONDITION ACTIVATED BY TIMER if the logical unit entered the idle_b power condition due to the idle_b condition timer (see SPC-4);
E) IDLE_B CONDITION ACTIVATED BY COMMAND if the logical unit entered the idle_b power condition due to receipt of a command requiring the idle_b power condition while it was in a power condition with a higher processing priority order (see SPC-4);
F) IDLE_C CONDITION ACTIVATED BY TIMER if the logical unit entered the idle_c power condition due to the idle_c condition timer (see SPC-4); or
G) IDLE_C CONDITION ACTIVATED BY COMMAND if the logical unit entered the idle_c power condition due to receipt of a command requiring the idle_c power condition while it was in a power condition with a higher processing priority order (see SPC-4);
and
2) complete the REQUEST SENSE command with GOOD status.
If the logical unit is in a standby power condition (see SPC-4), the device server shall process a REQUEST SENSE command by:
1) return parameter data containing sense data with the sense key set to NO SENSE and the additional sense code set to one of the following:
A) LOW POWER CONDITION ON if the reason for entry into the standby power condition is unknown;
B) STANDBY_Y CONDITION ACTIVATED BY TIMER if the logical unit entered the standby_y power condition due to the standby_y condition timer (see SPC-4);
C) STANDBY_Y CONDITION ACTIVATED BY COMMAND if the logical unit entered the standby_y power condition due to receipt of a command requiring the standby_y power condition while it was in the standby_z power condition; or
D) STANDBY CONDITION ACTIVATED BY TIMER if the logical unit entered the standby_z power condition due to the standby_z condition timer (see SPC-4);
and
2) complete the REQUEST SENSE command with GOOD status.
On completion of the command the logical unit shall return to the same power condition that was active before the REQUEST SENSE command was received. A REQUEST SENSE command shall not reset any power condition timers.
The device server shall return CHECK CONDITION status for a REQUEST SENSE command only to report exception conditions specific to the REQUEST SENSE command itself.
Examples of conditions that cause a REQUEST SENSE command to return a CHECK CONDITION status are:
a) An invalid field value is detected in the CDB;
b) The device server does not support the REQUEST SENSE command (see 3.41);
c) An unrecovered error is detected by the service delivery subsystem; or d) A malfunction prevents return of the sense data.
If a REQUEST SENSE command is received on an I_T nexus with a pending unit attention condition (i.e., before the device server reports CHECK CONDITION status) and there is an exception condition specific to the REQUEST SENSE command itself, then the device server shall not clear the pending unit attention condi-tion (see SAM-4).
If a recovered error occurs during the processing of the REQUEST SENSE command, the device server shall:
1) return parameter data containing sense data with the sense key set to RECOVERED ERROR; and 2) complete the REQUEST SENSE command with GOOD status.
In response to a REQUEST SENSE command issued to a logical unit that reports a peripheral qualifier of 011b in its standard INQUIRY data (see 3.6.2) the device server shall:
1) return parameter data containing sense data with the sense key set to ILLEGAL REQUEST and the additional sense code shall be set to LOGICAL UNIT NOT SUPPORTED; and
2) complete the REQUEST SENSE command with GOOD status.
In response to a REQUEST SENSE command issued to a logical unit that reports a peripheral qualifier of 001b in its standard INQUIRY data, the device server shall:
1) return parameter data containing sense data with the sense key set to ILLEGAL REQUEST and the additional sense code shall be set to LOGICAL UNIT NOT SUPPORTED; and
2) complete the REQUEST SENSE command with GOOD status.
In response to a REQUEST SENSE command issued to a logical unit that reports a peripheral qualifier of 000b in its standard INQUIRY data because it has a peripheral device connected but is not ready for access, the device server shall:
1) return parameter data containing sense data appropriate to the condition that is making the logical unit not operational; and
2) complete the REQUEST SENSE command with GOOD status.
In response to a REQUEST SENSE command issued to a logical unit that reports a peripheral qualifier of 000b in its standard INQUIRY data because the device server is unable to determine whether or not a peripheral device is connected, the device server shall:
1) return parameter data containing sense data with the sense key set to NO SENSE and the additional sense code set to NO ADDITIONAL SENSE INFORMATION; and
2) complete the REQUEST SENSE command with GOOD status.
Device servers shall return at least 18 bytes of parameter data in response to a REQUEST SENSE command if the allocation length is 18 or greater and the DESC bit is set to zero. Application clients may determine how much sense data has been returned by examining the ALLOCATION LENGTH field in the CDB and the ADDI-TIONAL SENSE LENGTH field in the sense data. Device servers shall not adjust the additional sense length to reflect truncation if the allocation length is less than the sense data available.