It is possible for multiple UNIT ATTENTION conditions to arise (for example, after a power-on followed by a tape load), such that the initiator does not read one condition before the next occurs. In this case a prioritizing scheme is used. If a UNIT ATTENTION condition exists and a new one occurs, then the UNIT ATTENTION sense will be overwritten by the new sense only if the new sense has a higher priority.

The order of priority is as follows:

Power-on, Reset

highest priority

Tape Loaded

 

Mode Parameters Changed

lowest priority

Microcode Downloaded

UNIT ATTENTION sense that arises as a result of a command executing will not be posted to the sending initiator, but will be set for the other initiators.

DEFERRED ERROR sense

DEFERRED ERROR sense is generated when an operation fails and CHECK CONDITION status cannot be reported to the host for one of the following reasons:

The operation had immediate-report on (for example, REWIND with the Immed bit set, or

LOAD).

The operation was a write that was immediate-reported on after its data was successfully placed in the write-behind queue.

The operation was abandoned without status (that is, a bus release occurred) after what the drive perceived was a catastrophic error or when an error occurred following the drive’s honoring of an ABORT message. Following the bus release, the drive performed “cleanup” activity that failed. The Deferred Error refers to the reason for this failure.

When any one of the above occurs, the sense generated will be DEFERRED ERROR sense. This sense persists until the host sends a command that has Unit Attention as part of its pre-execution checks. When the Deferred Error pre-execution check fails, the DEFERRED ERROR sense is moved to the Current sense and CHECK CONDITION status is reported to the host. The host is then expected to issue a REQUEST SENSE command to recover the new Current sense data, otherwise the data will be lost.

Write-behind deferred errors:

If the Buffered Mode field of the MODE SELECT parameter header is not zero, data buffering is enabled. If an error occurs in flushing the write-behind data, DEFERRED ERROR sense is set for all hosts that the drive thinks have write-behind data in the buffer. For each of these hosts, the following occurs when its next command is to be executed:

If the command is WRITE or WRITE FILEMARKS the DEFERRED ERROR sense is copied to Current sense and the error is changed to a Current error (the Error Code field is set to 70h). The information bytes will contain residue information reflecting the size of the write- behind queue plus the transfer size of the current command. CHECK CONDITION is

156 Commands