SCSI Status Code
A SCSI Status Code is used to determine the success or failure of a SCSI command. At the end of any command, the target returns a Status Code byte which should be one of the following:
00h Good
[edit]This status code indicates that the device has completed the task successfully.
02h Check Condition
[edit]When the target returns a Check Condition in response to a command it is indicating that it has entered a contingent allegiance condition. This means that an error occurred when it attempted to execute a SCSI command. The initiator usually then issues a SCSI Request Sense command in order to obtain a Key Code Qualifier (KCQ) from the target.
04h Condition Met
[edit]This status code is returned on successful completion of a Pre-fetch Command.
08h Busy
[edit]The target returns Busy if it cannot complete a command at that time, for example if it is in the contingent allegiance condition.
10h Intermediate (obsolete)
[edit]The target returns Intermediate when it successfully completes a linked command (except the last command). This status code is obsolete starting with SAM-4.
14h Intermediate - Condition Met (obsolete)
[edit]As the name suggests, this status code is simply a combination of 10h Intermediate and 04h Condition Met. This status code is obsolete starting with SAM-4.
18h Reservation Conflict
[edit]The target returns this status code if an initiator attempts to access a LUN that has been previously reserved by another initiator using the Reserve or Reserve Unit command.
22h Command Terminated (obsolete)
[edit]The target returns this status if the target has to terminate the current I/O process because it received a Terminate I/O Process message. This status code is obsolete starting with SAM-2.
28h Task Set Full
[edit]Similar to 08h Busy status, this status code is returned when the logical unit lacks the resources to accept a received task from an I_T nexus. This status code implies that the logical unit already has at least one task from that I_T nexus, where the 08h Busy status code implies that the logical unit currently has no tasks from that I_T nexus.
30h ACA Active
[edit]The target returns this status code if an auto-contingent allegiance condition has occurred.
40h Task Aborted
[edit]The target returns this status code when a task is aborted by another I_T nexus and the TAS bit in the Control mode page is set to one.
External links
[edit]- "SCSI Commands References Manual" (PDF). Seagate. Retrieved 2010-12-13.
- SCSI Architecture Model (SAM) clause 5.3.1
- Status-Code Übersicht