Seagate ST1000NM0021 Computer Drive User Manual


 
CONSTELLATION ES.1 SAS PRODUCT MANUAL, REV. G 16
5.2.6.2 Implementation
This section provides all of the information necessary to implement the DST function on this drive.
5.2.6.2.1 State of the drive prior to testing
The drive must be in a ready state before issuing the Send Diagnostic command. There are multiple reasons why a drive may not be ready,
some of which are valid conditions, and not errors. For example, a drive may be in process of doing a format, or another DST. It is the
responsibility of the host application to determine the “not ready” cause.
While not technically part of DST, a Not Ready condition also qualifies the drive to be returned to Seagate as a failed drive.
A Drive Not Ready condition is reported by the drive under the following conditions:
Motor will not spin
Motor will not lock to speed
Servo will not lock on track
Drive cannot read configuration tables from the disk
In these conditions, the drive responds to a Test Unit Ready command with an 02/04/00 or 02/04/03 code.
5.2.6.2.2 Invoking DST
To invoke DST, submit the Send Diagnostic command with the appropriate Function Code (001b for the short test or 010b for the extended
test) in bytes 1, bits 5, 6, and 7.
5.2.6.2.3 Short and extended tests
DST has two testing options:
1. short
2. extended
These testing options are described in the following two subsections.
Each test consists of three segments: an electrical test segment, a servo test segment, and a read/verify scan segment.
Short test (Function Code: 001b)
The purpose of the short test is to provide a time-limited test that tests as much of the drive as possible within 120 seconds. The short test
does not scan the entire media surface, but does some fundamental tests and scans portions of the media. A complete read/verify scan is
not performed and only factual failures will report a fault condition. This option provides a quick confidence test of the drive.
Extended test (Function Code: 010b)
The objective of the extended test option is to empirically test critical drive components. For example, the seek tests and on-track
operations test the positioning mechanism. The read operation tests the read head element and the media surface. The write element is
tested through read/write/read operations. The integrity of the media is checked through a read/verify scan of the media. Motor
functionality is tested by default as a part of these tests.
The anticipated length of the Extended test is reported through the Control Mode page.
5.2.6.2.4 Log page entries
When the drive begins DST, it creates a new entry in the Self-test Results Log page. The new entry is created by inserting a new self-test
parameter block at the beginning of the self-test results log parameter section of the log page. Existing data will be moved to make room
for the new parameter block. The drive reports 20 parameter blocks in the log page. If there are more than 20 parameter blocks, the least
recent parameter block will be deleted. The new parameter block will be initialized as follows:
1. The Function Code field is set to the same value as sent in the DST command
2. The Self-Test Results Value field is set to Fh
3. The drive will store the log page to non-volatile memory
After a self-test is complete or has been aborted, the drive updates the Self-Test Results Value field in its Self-Test Results Log page in
non-volatile memory. The host may use Log Sense to read the results from up to the last 20 self-tests performed by the drive. The self-test
results value is a 4-bit field that reports the results of the test. If the field is set to zero, the drive passed with no errors detected by the DST.
If the field is not set to zero, the test failed for the reason reported in the field.
The drive will report the failure condition and LBA (if applicable) in the Self-test Results Log parameter. The Sense key, ASC, ASCQ, and
FRU are used to report the failure condition.