Technical information

HGST Ultrastar C15K600 Hard Disk Drive Specification
318
20.12.2.3
Self-test Modes
There are two modes for short and extended self-tests: a foreground mode and a background mode. These modes
are described in the following clauses.
Foreground mode
When the drive receives a SEND DIAGNOSTIC command specifying a self-test to be performed in the foreground
mode, the drive will return status for that command after the self-test has been completed. While performing a
self-test in the foreground mode, the drive will respond to all commands except INQUIRY, REPORT LUNS, and
REQUEST SENSE with a CHECK CONDITION status, a sense key of NOT READY and an additional sense code of
LOGICAL UNIT NOT READY - SELF-TEST IN PROGRESS.
If the drive is performing a self-test in the foreground mode and a test error occurs, the drive will update the self-test
results log page and report CHECK CONDITION status with a sense key of HARDWARE ERROR and an additional
sense code of LOGICAL UNIT FAILED SELF-TEST. The application client may obtain additional information about
the failure by reading the self-test results log page.
An application client may terminate a self-test that is being performed in the foreground mode using an ABORT
TASK, ABORT TASK SET, or CLEAR TASK SET task management function. If the drive receives an ABORT TASK,
ABORT TASK SET, or CLEAR TASK SET task management function while performing a self-test in the foreground
mode, it will abort the self-test and update the self-test results log page.
Background mode
When the drive receives a SEND DIAGNOSTIC command specifying a self-test to be performed in the background
mode, the drive will return status for that command as soon as the command descriptor block has been validated.
After returning status for the SEND DIAGNOSTIC command specifying a self- test to be performed in the
background mode, the drive will initialize the self-test results log page as follows. The Function Code from the SEND
DIAGNOSTIC command will be placed in the Function Code field in the log page. The self-test Results field shall be
set to 0Fh. After the self-test results log page is initialized, the drive will begin the first self-test segment.
While the device server is performing a self-test in the background mode, it shall terminate with a CHECK
CONDITION status any SEND DIAGNOSTIC command it receives that meets one of the following criteria:
a. The SlfTst bit is one
b. The Function Code field contains a value other than 000b or 100b.
When terminating the SEND DIAGNOSTIC command, the sense key shall be set to NOT READY and the additional
sense code shall be set to LOGICAL UNIT NOT READY, SELF-TEST in PROGRESS. While performing a self-test in
the background mode, the drive will suspend the self- test to service any other command other than SEND
DIAGNOSTIC (with Function Code field set to 100b) WRITE BUFFER (with the mode set to any download
microcode option), FORMAT UNIT and START UNIT STOP command. Suspension of the self-test to service the
command will occur within 2 seconds. If SEND DIAGNOSTIC (with Function Code field set to 100b), WRITE
BUFFER (with the mode set to any download microcode option), FORMAT UNIT or START UNIT STOP command is
received, the drive will abort the self-test, update the self-test log, and service the command within two seconds after
the command descriptor block has been validated.
An application client may terminate a self-test that is being performed in the background mode by issuing a SEND
DIAGNOSTIC command with the Function Code field set to 100b (Abort background self-test function).
Elements common to foreground and background self-test modes
The Progress Indication field returned in response to a REQUEST SENSE command may be used by the application
client at any time during execution of a self-test to poll the progress of the test. While executing a self-test unless an
error has occurred, the drive will respond to a REQUEST SENSE command by returning a sense key of NOT
READY and an additional sense code of LOGICAL UNIT NOT READY - SELF-TEST IN PROGRESS with the sense
key specific bytes set for progress indication.
The application client may obtain information about the twenty most recently completed self-tests by reading the
self-test results log page. This is the only method for an application client to obtain information about self-tests
performed in the background mode. The default self-test results are not logged in the log page.
Tests performed in the Short and Extended Self-test
The following table defines the tests performed in the short and extended self test. They are defined by their segment
number which is also used to report Self-Test Results, in Log Sense Page 10. Note that the only difference between
the Short and the Extended tests, is the sequential verify test in segment 7h. Also note that either of these tests can
be run in foreground or background mode as previously described.