SCSI Status Code
Encyclopedia
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:
. 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.
.
been previously reserved by another initiator using the Reserve or Reserve Unit command.
.
has occurred.
is set to one.
SCSI
Small Computer System Interface is a set of standards for physically connecting and transferring data between computers and peripheral devices. The SCSI standards define commands, protocols, and electrical and optical interfaces. SCSI is most commonly used for hard disks and tape drives, but it...
command
SCSI command
In SCSI computer storage, a command is the basic unit of communication. The SCSI command architecture was originally defined for parallel SCSI buses but has been carried forward with minimal change for use with Fibre Channel, iSCSI and Serial Attached SCSI....
. At the end of any command, the target returns a Status Code byte
Byte
The byte is a unit of digital information in computing and telecommunications that most commonly consists of eight bits. Historically, a byte was the number of bits used to encode a single character of text in a computer and for this reason it is the basic addressable element in many computer...
which should be one of the following:
02h Check condition
When the target returns a Check Condition in response to a command it is indicating that it has entered a contingent allegiance conditionSCSI contingent allegiance condition
On a computer SCSI connection, a contingent allegiance condition occurs while a SCSI device reports an error.SCSI communication takes place between an initiator and a target. The initiator sends a command to the target which then responds...
. This means that an error occurred when it attempted to execute a SCSI command. The initiator usually then issues a SCSI Request Sense command
SCSI Request Sense Command
The SCSI Request Sense command is used to obtain sense data from a target device.The CDB structure is:The response is a set of SCSI sense data which is structured as follows:...
in order to obtain a Key Code Qualifier (KCQ) from the target.
04h Condition Met
This status code is returned on successful completion of a Search Data command or a Pre-fetch Command.08h Busy
The target returns Busy if it cannot complete a command at that time, for example if it is in the contingent allegiance conditionSCSI contingent allegiance condition
On a computer SCSI connection, a contingent allegiance condition occurs while a SCSI device reports an error.SCSI communication takes place between an initiator and a target. The initiator sends a command to the target which then responds...
.
10h Intermediate
The target returns Intermediate when it successfully completes a linked command (except the last command).14h Intermediate - Condition met
As the name suggests, this status code is simply a combination of 10h Intermediate and 04h Condition Met.18h Reservation conflict
The target returns this status code if an initiator attempts to access a LUN that hasbeen previously reserved by another initiator using the Reserve or Reserve Unit command.
22h Command terminated
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 as of SAM-3SCSI Architectural Model
The SCSI architectural model provides an abstract view of the way that SCSI devices communicate. It is intended to show how the different SCSI standards are inter-related...
.
28h Queue (task set) full
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
The target returns this status code if an auto-contingent allegiance conditionSCSI contingent allegiance condition
On a computer SCSI connection, a contingent allegiance condition occurs while a SCSI device reports an error.SCSI communication takes place between an initiator and a target. The initiator sends a command to the target which then responds...
has occurred.
40h Task aborted
The target returns this status code when a task is aborted by another I_T nexus and the TAS bit in the Control mode pageSCSI mode pages
SCSI target devices provide a number of SCSI mode pages. These can be interrogated by a Mode Sense command and set by a Mode Select command. The Mode Sense and Mode Select commands include a 6-bit address field, allowing for 64 possible mode pages. A description of many of these page codes is...
is set to one.