Product Manual - Disc Drive SCSI-2/SCSI-3 Interface (Vol. 2; Ver. 2), Rev. E
81
_____________________________________________________________________________________
5.1.1.2.1
Deferred errors
Error code 70h (current error) indicates that the CHECK CONDITION or COMMAND TERMINATED status
returned is the result of an error or exception condition on the command that returned the CHECK CONDI-
TION or COMMAND TERMINATED status or an unexpected bus free condition. This includes errors gener-
ated during execution of the command by the actual execution process. It also includes errors not related to
any command that are first observed during execution of a command. Examples of this latter type of error
include disc servo-mechanism off-track errors and power-up test errors.
Error code 71h (deferred error) indicates that the CHECK CONDITION status returned is the result of an
error or exception condition that occurred during execution of a previous command for which GOOD status
has already been returned. Such commands are associated with use of the immediate bit (start unit), with
some forms of caching, and with multiple command buffering. Targets that implement these features are
required to implement deferred error reporting.
When the disc drive does not use the AEN (Asynchronous Event Notification) Feature, the deferred error
may be indicated by returning CHECK CONDITION status to the appropriate initiator as described below.
The subsequent execution of a REQUEST SENSE command shall return the deferred error sense informa-
tion.
If CHECK CONDITION status for a deferred error is returned, the current command has not performed any
storage operations or output operations to the media. After the target detects a deferred error condition on a
logical unit, it shall return a deferred error according to the rules described below:
(1) If a deferred error can be recovered with no external system intervention, a deferred error indication shall
not be posted unless required by the error handling parameters of the MODE SELECT command. The
occurrence of the error may be logged if statistical or error logging is supported.
(2) If a deferred error can be associated with a causing initiator and with a particular function or a particular
subset of data, and the error is either unrecovered or required to be reported by the mode parameters, a
deferred error indication shall be returned to the causing initiator. If an initiator other than the causing initiator
attempts access to the particular function or subset of data associated with the deferred error, a BUSY status
shall be returned to that initiator in response to the command attempting the access.
Note.
Not all devices may be sufficiently sophisticated to identify the function or data that has failed. Those
that cannot should treat the error in the following manner.
(3) If a deferred error cannot be associated with a causing initiator or with a particular subset of data, a
deferred error indication shall be returned on behalf of the failing logical unit to each initiator. If multiple
deferred errors have accumulated for some initiators, only the last error shall be returned.
(4) If a current command has not yet started executing, and a deferred error occurs, the command shall be
terminated with CHECK CONDITION status and deferred error information posted in the sense data. By
convention, the current command is considered to have started execution if the target has changed phase
from the COMMAND phase to the next normal phase of the command sequence. If a deferred error occurs
while a current command is executing and the current command has been affected by the error, the com-
mand shall be terminated by CHECK CONDITION status and current error information shall be returned in
the sense data. In this case, if the current error information does not adequately define the deferred error
condition, a deferred error may be returned after the current error information has been recovered. If a
deferred error occurs while a current command is executing and the current command completes success-
fully, the target may choose to return the deferred error information after the completion of the current com-
mand.