Deferred Errors - Seagate SCSI Interface Product Manual

Table of Contents

Advertisement

SCSI Interface Product Manual, Rev. J
5.34.3.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 Condition or Command
Terminated status or an unexpected bus free condition. This includes errors generated 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 imple-
ment deferred error reporting.
When the 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 information.
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 occur-
rence 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 initi-
ator 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 ter-
minated with Check Condition status and deferred error information posted in the sense data. By conven-
tion, 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 command
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 successfully, the target
may choose to return the deferred error information after the completion of the current command.
Deferred errors may indicate that an operation was unsuccessful long after the command performing the data
transfer returned Good status. If data that cannot be replicated or recovered from other sources is being stored
using such buffered write operations, synchronization commands should be performed before the critical data
is destroyed in the host initiator. This is necessary to be sure that recovery actions can be taken if deferred
errors do occur in the storing of the data. When AEN is not implemented, the synchronizing process provides
the necessary commands to allow returning Check Condition status and subsequent returning of deferred error
sense information after all buffered operations are guaranteed to be complete.
199

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the SCSI Interface and is the answer not in the manual?

Questions and answers

Table of Contents