Product Manual Ultrastar DC hc510 Sas Oem Spec

Download as pdf or txt
Download as pdf or txt
You are on page 1of 374

Hard disk drive specifications

Ultrastar® DC HC510
(previously known as Ultrastar He10)
3.5 inch Serial Attached SCSI hard disk drive
Models: HUH721010AL5200/1/4/5
HUH721008AL5200/1/4/5
HUH721010AL4200/1/4/5
HUH721008AL4200/1/4/5

Revision 2.2 01 May 2018

1
Hard Disk Drive Specification
Publication Disclaimer Information

One MB is equal to one million bytes, one GB is equal to one billion bytes and one TB equals 1,000GB (one trillion
bytes) when referring to storage capacity. Accessible capacity will vary from the stated capacity due to formatting and
partitioning of the drive, the computer’s operating system, and other factors.

The following paragraph does not apply to any jurisdiction where such provisions are inconsistent with local law: THIS
PUBLICATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A
PARTICULAR PURPOSE.

This publication could include technical inaccuracies or typographical errors. Changes are periodically made to the
information herein; these changes will be incorporated in new editions of the publication. There may be improvements or
changes in any products or programs described in this publication at any time. It is possible that this publication may
contain reference to, or information about, Western Digital products (machines and programs), programming, or
services that are not announced in your country. Such references or information must not be construed to mean that
Western Digital Corporation intends to announce such Western Digital products, programming, or services in your
country.
Technical information about this product is available by contacting your local Western Digital product representative or
on the Internet at: [email protected].

Western Digital Corporation may have patents or pending patent applications covering subject matter in this document.
The furnishing of this document does not give you any license to these patents.

© 2018 Western Digital Corporation or its affiliates.

Western Digital, the Western Digital logo and Ultrastar are registered trademarks or trademarks of Western Digital
Corporation or its affiliates in the US and/or other countries. All other marks are the property of their respective owners.

References in this publication to Western Digital-branded products, programs, or services do not imply that they will be
made available in all countries. Product specifications provided are sample specifications and do not constitute a
warranty. Actual specifications for unique part numbers may vary. Please visit the Support section of our website,
[email protected], for additional information on product specifications. Pictures shown may vary from actual products.

2
Hard Disk Drive Specification
Table of contents
General ................................................................................................................................................................ 18
Introduction .............................................................................................................................. 18
Glossary ..................................................................................................................................... 18
General caution......................................................................................................................... 19
References ................................................................................................................................. 19
General features .................................................................................................................................................. 20
Part 1. Functional specification ....................................................................................................................... 21
Fixed disk subsystem description........................................................................................................................ 22
Control Electronics ................................................................................................................... 22
Head disk assembly .................................................................................................................. 22
Actuator ..................................................................................................................................... 22
Drive characteristics ............................................................................................................................................ 23
Default logical drive parameters ............................................................................................. 23
Data sheet ................................................................................................................................. 25
World Wide Name Assignment ................................................................................................ 25
Drive organization .................................................................................................................... 25
Drive Format............................................................................................................................. 25
Cylinder allocation.................................................................................................................... 25
Performance characteristics .................................................................................................... 26
Mechanical positioning............................................................................................................. 26
Drive ready time ....................................................................................................................... 27
Operating modes ....................................................................................................................... 27
Defect flagging strategy ....................................................................................................................................... 28
Shipped format ......................................................................................................................... 28
Specification ........................................................................................................................................................ 29
Electrical interface ................................................................................................................... 29
Connector location .................................................................................................................... 29
29 pin Serial Attached SCSI (SAS) Connector Definition ..................................................... 31
Voltage and Ground Signals .................................................................................................... 32
Ready LED output .................................................................................................................... 32
Environment ............................................................................................................................. 33
Temperature and humidity ...................................................................................................... 33
Corrosion test ............................................................................................................................ 34
Atmospheric condition .............................................................................................................. 34
DC power requirements ........................................................................................................... 35
Input voltage ............................................................................................................................. 35
Power supply current (typical1) ............................................................................................... 36
Power supply generated ripple at drive power connector...................................................... 37
Power Consumption Efficiency ................................................................................................ 37
Reliability .................................................................................................................................. 38
Data integrity............................................................................................................................ 38
Cable noise interference ........................................................................................................... 38
Load/Unload .............................................................................................................................. 38
Start/stop cycles ........................................................................................................................ 38
Preventive maintenance........................................................................................................... 38
Data reliability .......................................................................................................................... 38
Required Power-Off Sequence ................................................................................................. 38
Mechanical specifications......................................................................................................... 39
Physical dimensions ................................................................................................................. 39
Connector locations .................................................................................................................. 42
Drive mounting ......................................................................................................................... 43

3
Hard Disk Drive Specification
Heads unload and actuator lock .............................................................................................. 43
Vibration and shock .................................................................................................................. 44
Operating vibration .................................................................................................................. 44
Nonoperating vibration ............................................................................................................ 45
Operating shock ........................................................................................................................ 45
Nonoperating shock .................................................................................................................. 45
Nonoperating Rotational shock ............................................................................................... 46
Acoustics .................................................................................................................................... 47
Identification labels .................................................................................................................. 47
Safety ......................................................................................................................................... 48
UL and CSA standard conformity ........................................................................................... 48
German Safety Mark ................................................................................................................ 48
Flammability............................................................................................................................. 48
Safe handling ............................................................................................................................ 48
Substance restriction requirements ........................................................................................ 48
Secondary circuit protection .................................................................................................... 48
Electromagnetic compatibility ................................................................................................. 49
CE Mark .................................................................................................................................... 49
RCM Mark................................................................................................................................. 49
BSMI Mark ............................................................................................................................... 49
KC Mark .................................................................................................................................... 49
Part 2. Interface specification .......................................................................................................................... 50
SAS Attachment .................................................................................................................................................. 51
General ...................................................................................................................................... 51
SAS Features ............................................................................................................................ 51
SAS Names and Identifiers...................................................................................................... 53
PHY Layer ................................................................................................................................. 55
Link Reset Sequence ................................................................................................................ 55
Hard Reset ................................................................................................................................ 55
SAS OOB (Out of Band) ........................................................................................................... 56
SAS Speed Negotiation ............................................................................................................ 56
PHY Error Handling ................................................................................................................ 57
Link Layer ................................................................................................................................. 58
Address Frames ........................................................................................................................ 58
Link Layer Error Handling...................................................................................................... 62
Transport Layer ........................................................................................................................ 64
Command Information Unit .................................................................................................... 66
TASK Information Units .......................................................................................................... 67
XFER_RDY Information Units ................................................................................................ 69
DATA Information Units .......................................................................................................... 69
RESPONSE Information Units ............................................................................................... 70
Sequences of SSP Information Units ...................................................................................... 72
Transport Layer Error Handling ............................................................................................. 73
SCSI Command Set ............................................................................................................................................ 74
SCSI Control Byte .................................................................................................................... 76
Abbreviations ............................................................................................................................ 76
Byte ordering conventions ....................................................................................................... 76
FORMAT UNIT (04) ................................................................................................................. 77
Parameter List Header ............................................................................................................ 78
Initialization Pattern ............................................................................................................... 80
Defect Descriptor ...................................................................................................................... 82
INQUIRY (12) ........................................................................................................................... 84
Inquiry Data.............................................................................................................................. 85
LOG SELECT (4C) ................................................................................................................. 101

4
Hard Disk Drive Specification
LOG SENSE (4D) ................................................................................................................... 104
Log Page Parameters ............................................................................................................. 105
Log Sense Page 0 .................................................................................................................... 106
Log Sense Page 2 .................................................................................................................... 107
Log Sense Page 3 .................................................................................................................... 108
Log Sense Page 5 .................................................................................................................... 109
Log Sense Page 6 ..................................................................................................................... 110
Log Sense Page D .................................................................................................................... 110
Log Sense Page E..................................................................................................................... 111
Log Sense Page F ..................................................................................................................... 112
Log Sense Page 10 ................................................................................................................... 113
Log Sense Page 15 ................................................................................................................... 115
Log Sense Page 18 ................................................................................................................... 117
Log Sense Page 19h - General Statistics and Performance ................................................ 121
Log Sense Page 1A.................................................................................................................. 123
Log Sense Page 2F .................................................................................................................. 124
Log Sense Page 30 .................................................................................................................. 125
Log Sense Page 37 .................................................................................................................. 127
MODE SELECT (15) .............................................................................................................. 128
MODE SELECT (55) .............................................................................................................. 129
MODE SENSE (1A) ................................................................................................................ 130
Mode Parameter List .............................................................................................................. 132
Mode Page 00 (Vendor Unique Parameters)......................................................................... 135
Mode Page 01 (Read/Write Error Recovery Parameters) .................................................... 137
Mode Page 02 (Disconnect/Reconnect Parameters) ............................................................. 141
Mode Page 03 (Format Device Parameters) ......................................................................... 142
Mode Page 04 (Rigid Disk Drive Geometry Parameters) .................................................... 144
Mode Page 07 (Verify Error Recovery Parameters) ............................................................. 145
Mode Page 08 (Caching Parameters) .................................................................................... 146
Mode Page 0A (Control Mode Page Parameters) ................................................................. 148
Mode Page 0C (Notch Parameters) ....................................................................................... 152
Mode Page 18h ........................................................................................................................ 153
Mode Page 19h (Port Control Parameters) ........................................................................... 154
Mode Page 1A (Power Control) .............................................................................................. 161
Mode Page 1C (Informational Exceptions Control) ............................................................. 164
MODE SENSE (5A) ................................................................................................................ 167
PERSISTENT RESERVE IN (5E) ......................................................................................... 168
Service Action .......................................................................................................................... 168
Parameter data for Read Keys .............................................................................................. 169
Parameter Data for Read Reservations ................................................................................ 170
PERSISTENT RESERVE OUT (5F) ..................................................................................... 171
Service Action .......................................................................................................................... 171
Type ......................................................................................................................................... 172
Parameter list ......................................................................................................................... 173
Summary ................................................................................................................................. 174
PRE-FETCH (34) .................................................................................................................... 175
PRE-FETCH (90) .................................................................................................................... 176
READ (6) - (08) ........................................................................................................................ 177
READ (10) - (28) ...................................................................................................................... 178
READ (12) - (A8) ..................................................................................................................... 180
READ (16) - (88) ...................................................................................................................... 181
READ (32) - (7F/09) ................................................................................................................ 182
READ BUFFER (3C) .............................................................................................................. 183
Combined Header And Data (Mode 00000b) ........................................................................ 183

5
Hard Disk Drive Specification
Read Data (Mode 00010b) ...................................................................................................... 184
Descriptor (Mode 00011b) ...................................................................................................... 184
Read Data from Echo Buffer (Mode 01010b) ........................................................................ 185
Echo Buffer Descriptor (Mode 01011b) ................................................................................. 185
Expander Communications and Echo Buffer (Mode 11010b).............................................. 185
Error History (Mode 11100b) ................................................................................................. 186
READ CAPACITY (10) - (25) ................................................................................................. 188
Returned Data Format ........................................................................................................... 188
READ CAPACITY (16) (9E/10) .............................................................................................. 189
Returned Data Format ........................................................................................................... 189
READ DEFECT DATA (37) .................................................................................................... 190
Defect List Header .................................................................................................................. 191
Defect List Descriptor ............................................................................................................ 191
Bytes from Index Format (100b) ........................................................................................... 191
Physical Sector Format (101b)............................................................................................... 192
READ DEFECT DATA (B7) ................................................................................................... 193
Defect List Header .................................................................................................................. 193
Defect List Descriptor ............................................................................................................ 193
Bytes from Index Format (100b) ........................................................................................... 194
Physical Sector Format (101b)............................................................................................... 194
READ LONG (3E) ................................................................................................................... 195
READ LONG (9E) ................................................................................................................... 196
REASSIGN BLOCKS (07) ...................................................................................................... 197
RECEIVE DIAGNOSTICS RESULTS (1C) .......................................................................... 198
Receive Diagnostic Results Page 0 ........................................................................................ 198
Receive Diagnostic Results Page 40 ...................................................................................... 199
RELEASE (17) ........................................................................................................................ 200
RELEASE (57) ........................................................................................................................ 201
REPORT DEVICE IDENTIFIER (A3/05) ............................................................................. 202
REPORT LUNS (A0) .............................................................................................................. 204
REPORT SUPPORTED OPERATION CODES (A3/0C) ...................................................... 205
All_commands parameter data format ................................................................................. 207
One_command parameter data format ................................................................................. 208
Command timeouts descriptor format .................................................................................. 209
REPORT SUPPORTED TASK MANAGEMENT FUNCTIONS (A3/0D) ............................ 211
REQUEST SENSE (03) .......................................................................................................... 213
RESERVE (16) ........................................................................................................................ 214
RESERVE (56) ........................................................................................................................ 215
REZERO UNIT (01)................................................................................................................ 216
SANITIZE (48) ........................................................................................................................ 217
Sanitize (48) Service Action Codes ........................................................................................ 218
SECURITY PROTOCOL IN (A2) .......................................................................................... 219
SECURITY PROTOCOL OUT (B5)....................................................................................... 220
SEND DIAGNOSTIC (1D) ..................................................................................................... 221
Send Diagnostic Page 0 .......................................................................................................... 222
Send Diagnostic Page 3F........................................................................................................ 222
Send Diagnostic Page 40 ........................................................................................................ 224
SET DEVICE IDENTIFIER (A4/06) ..................................................................................... 226
START STOP UNIT (1B) ....................................................................................................... 227
SYNCHRONIZE CACHE (10) - (35) ..................................................................................... 229
SYNCHRONIZE CACHE (16) - (91) ..................................................................................... 230
TEST UNIT READY (00) ....................................................................................................... 231
VERIFY (10) - (2F).................................................................................................................. 232
VERIFY (12) - (AF) ................................................................................................................. 234

6
Hard Disk Drive Specification
VERIFY (16) - (8F).................................................................................................................. 235
VERIFY (32) - (7F/0A) ............................................................................................................ 236
WRITE (6) - (0A) ..................................................................................................................... 237
WRITE (10) - (2A) ................................................................................................................... 238
WRITE (12) - (AA) .................................................................................................................. 240
WRITE (16) - (8A) ................................................................................................................... 241
WRITE (32) - (7F/0B).............................................................................................................. 242
WRITE AND VERIFY (10) - (2E) .......................................................................................... 243
WRITE AND VERIFY (12) - (AE) .......................................................................................... 244
WRITE AND VERIFY (16) - (8E) .......................................................................................... 245
WRITE AND VERIFY (32) - (7F/0C) ..................................................................................... 246
WRITE BUFFER (3B) ............................................................................................................ 247
Combined Header And Data (Mode 00000b) ........................................................................ 248
Write Data (Mode 00010b) ..................................................................................................... 248
Download Microcode (Mode 00100b) ..................................................................................... 249
Download Microcode and Save (Mode 00101b) -Single Binary File ................................... 249
Download Microcode and Save (Mode 00111b) - Multiple Binary Files ............................. 250
Write Data to Echo Buffer (Mode 01010b) ............................................................................ 250
Download Microcode with Offsets, Select Activation Events, Save, and Defer Activate
(Mode 01101b) ......................................................................................................................... 250
Download Microcode with Offsets, Save, and Defer Activate (Mode 01110b) .................... 251
Activate Deferred Microcode Mode (Mode 01111b) .............................................................. 251
Enable Expander Communications Protocol (Mode 11010b) .............................................. 251
WRITE LONG (10) (3F) ....................................................................................................... 252
WRITE LONG (16) - (9F) ....................................................................................................... 254
WRITE SAME (10) - (41)........................................................................................................ 255
WRITE SAME (16) - (93)........................................................................................................ 256
WRITE SAME (32) - (7F/0D) ................................................................................................. 257
SCSI Status Byte ............................................................................................................................................... 258
Additional information ........................................................................................................................................ 259
SCSI Protocol .......................................................................................................................... 259
Priority of SCSI Status Byte Reporting ................................................................................ 259
Invalid LUN Processing ......................................................................................................... 259
Overlapped Commands .......................................................................................................... 260
Command Processing During Execution of Active I/O Process ........................................... 260
Unit Attention Condition ....................................................................................................... 261
Command Processing During Startup and Format Operations ......................................... 262
Internal Error Condition ........................................................................................................ 262
Deferred Error Condition ....................................................................................................... 262
Degraded Mode ....................................................................................................................... 263
Command Processing while Reserved................................................................................... 266
Priority Commands ................................................................................................................ 267
Command Queuing ................................................................................................................. 267
Queue Depth ........................................................................................................................... 267
Queue Full Status................................................................................................................... 267
Termination of I/O Processes ................................................................................................. 267
Command Reordering............................................................................................................. 268
Concurrent I/O Process .......................................................................................................... 268
Write Cache ............................................................................................................................. 268
Automatic Rewrite/Reallocate ............................................................................................... 268
Segmented Caching ................................................................................................................ 270
Overview.................................................................................................................................. 270
Read Ahead ............................................................................................................................. 270
Multiple Initiator Systems ..................................................................................................... 270

7
Hard Disk Drive Specification
Sense Data .............................................................................................................................. 270
Mode Pages ............................................................................................................................. 270
Multiple Initiator Environment ............................................................................................ 270
Initiator Sense Data ............................................................................................................... 270
Initiator Mode Select/Mode Sense Parameters .................................................................... 270
Reset ........................................................................................................................................ 271
Initiator Sense Data ............................................................................................................... 271
Reset Actions ........................................................................................................................... 271
Diagnostics .............................................................................................................................. 272
Power on Diagnostics ............................................................................................................. 272
Self-test via SEND DIAGNOSTIC Command ...................................................................... 272
Idle Time Function ................................................................................................................. 275
Command Time out Limits .................................................................................................... 275
Reassignment Time ................................................................................................................ 275
Format Time ........................................................................................................................... 275
Start/Stop Unit Time .............................................................................................................. 275
Medium Access Command Time ............................................................................................ 275
Time-out Limits for Other Commands .................................................................................. 276
Recommended Initiator ERP ................................................................................................. 277
Drive Service Strategy ........................................................................................................... 277
Recommendations for System Error Log .............................................................................. 277
Data Recovery Procedure ....................................................................................................... 278
Non data Error Recovery Procedure ..................................................................................... 280
RAID Rebuild Assist ............................................................................................................... 286
Rebuild Assist diagnostic page .............................................................................................. 287
Firmware Security.............................................................................................................................................. 288
Referenced Specifications and Standards ............................................................................. 288
TCG Specifications ................................................................................................................. 288
Federal Information Processing Standards (FIPS) .............................................................. 288
National Institute of Standards and Technology (NIST) ..................................................... 288
Department of Defense........................................................................................................... 289
RSA Laboratories Standards ................................................................................................. 289
Other Standards ..................................................................................................................... 289
Implementation Exceptions ................................................................................................... 289
Implementation Features and Details Outside of TCG Specifications .............................. 289
Encryption Algorithms ........................................................................................................... 290
Advanced Encryption Standard (AES) Support ................................................................... 290
‘Level 0 Discovery’ Vendor Specific Data .............................................................................. 290
Deterministic Random Bit Generation (DRBG) ................................................................... 291
Key Wrap ................................................................................................................................. 291
Key Erasure ............................................................................................................................ 291
TCG SSC Tables...................................................................................................................... 292
‘Admin SP’ C_PIN and ‘Locking SP’ C_PIN Tables .............................................................. 292
K_AES_256 Table ................................................................................................................... 292
‘Locking SP’ Access Control Table ......................................................................................... 293
‘Locking Info’ Table ................................................................................................................. 293
‘Locking SP’ Locking Table..................................................................................................... 294
Firmware Download and Signing .......................................................................................... 295
Revert Feature ........................................................................................................................ 295
Ports......................................................................................................................................... 296
MSID........................................................................................................................................ 299
Logging .................................................................................................................................... 299
Number of Sessions ................................................................................................................ 299
Number of Bands .................................................................................................................... 299

8
Hard Disk Drive Specification
Number of COMIDs ................................................................................................................ 299
Locked and Unlocked Behavior ............................................................................................. 300
T10 SCSI Commands ............................................................................................................. 300
TCG SSC Commands ............................................................................................................. 302
Error Codes ............................................................................................................................. 304
Customer Specific Requirements .......................................................................................... 304
FIPS140 Cryptographic Officer Instructions........................................................................ 305
Physical Security .................................................................................................................... 305
Security Protocol Parameters ................................................................................................ 305
Certified Models, Hardware Versions and Firmware Versions ........................................... 310
Cryptographic Module Acceptance and Provisioning........................................................... 310
Zeroization of the Cryptographic Module ............................................................................. 310
SCSI Sense Data .............................................................................................................................................. 311
SCSI Sense Data Format Introduction .................................................................................. 311
Sense Data Format .................................................................................................................. 311
Sense Data Length .................................................................................................................. 311
Sense Data Response Code .....................................................................................................311
Fixed Format Sense Data ...................................................................................................... 312
Valid (Bit 7 of byte 0) .............................................................................................................. 312
Response Code (Bit 6 - 0 of byte 0) ........................................................................................ 312
ILI: Incorrect Length Indicator (Bit 5 of byte 2) .................................................................. 313
Sense Key (Bit 3 - 0 of byte 2) ................................................................................................ 313
Information Bytes (Byte 3 through 6) ................................................................................... 314
Additional Sense Length (Byte 7).......................................................................................... 314
Command Specific Information (Byte 8 through 11) ........................................................... 314
Additional Sense Code/Qualifier (Byte 12 and 13)............................................................... 315
FRU: Field Replaceable Unit (Byte 14)................................................................................. 338
Sense Key Specific (Byte 15 through 17) .............................................................................. 338
Reserved (Byte 18 through 19) .............................................................................................. 340
Vendor unique error information (Byte 20 through 23) ....................................................... 340
Physical Error Record (Product Specific Information) (Byte 24 through 29)..................... 340
Descriptor Format Sense Data .............................................................................................. 341
Order of Sense Descriptors .................................................................................................... 342
Sense Data Descriptor Definitions ........................................................................................ 343
Appendix. UEC list ............................................................................................................................................ 347

9
Hard Disk Drive Specification
List of tables
Table 1 Type and Model# ........................................................................................................................ 18
Table 2 Formatted capacity .................................................................................................................... 23
Table 3 Formatted capacity - Continued - ............................................................................................. 24
Table 4 Mechanical positioning performance ........................................................................................ 25
Table 5 World Wide Name Assignment ................................................................................................. 25
Table 6 Average seek time ...................................................................................................................... 26
Table 7 Single Track Seek Time ............................................................................................................. 26
Table 8 Latency Time .............................................................................................................................. 26
Table 9 Drive ready time ........................................................................................................................ 27
Table 10 Mode transition times .............................................................................................................. 27
Table 11 29-pin Connector Signal Definition ........................................................................................ 31
Table 12 Temperature and humidity ..................................................................................................... 33
Table 13 Input voltage ............................................................................................................................ 35
Table 14 Power consumption .................................................................................................................. 36
Table 15 Power supply generated ripple at drive power connector ..................................................... 37
Table 16 Power consumption efficiency ................................................................................................. 37
Table 17 Physical Dimensions ................................................................................................................ 41
Table 18 Random vibration PSD profile break points (operating) ...................................................... 44
Table 19 Random vibration (Rotational) PSD profile break points ..................................................... 44
Table 20 Random vibration PSD profile break points (Nonoperating) ............................................... 45
Table 21 Sinusoidal shock wave ............................................................................................................. 45
Table 22 Rotational Shock ...................................................................................................................... 46
Table 23 Sound power levels .................................................................................................................. 47
Table 24 Names and Identifiers ............................................................................................................. 53
Table 25 SAS Address Format ................................................................................................................ 53
Table 26 IEEE Registered Name Format .............................................................................................. 53
Table 27 Name Address Authority field ................................................................................................. 54
Table 28 SAS Speed Negotiation ............................................................................................................ 56
Table 29 Supported Settings Bit Priorities ........................................................................................... 57
Table 30 PHY Layer Error Handling ..................................................................................................... 57
Table 31 Address Frame Format............................................................................................................ 58
Table 32 Frame Type: .............................................................................................................................. 58
Table 33 Identify Address Frame ........................................................................................................... 59
Table 34 Reason Field ............................................................................................................................. 59
Table 35 Power Capable field ................................................................................................................. 60
Table 36 Open Address Frame Format .................................................................................................. 61
Table 37 Link Layer Error Handling (part 1 of 2) ................................................................................ 62
Table 38 Link Layer Error Handling (part 2 of 2) ................................................................................ 63
Table 39 SAS Frame Format .................................................................................................................. 64
Table 40 FRAME TYPE Field ................................................................................................................ 64
Table 41 COMMAND Information Unit ................................................................................................ 66
Table 42 Task Attribute Field ................................................................................................................. 66
Table 43 TASK Information Unit ........................................................................................................... 67
Table 44 TASK MANAGEMENT FUNCTION Field ............................................................................ 67
Table 45 Additional Response Information Argument for Query Async Event .................................. 68
Table 46 UADE DEPTH Field ................................................................................................................ 68
Table 47 XFER_RDY Information Units ............................................................................................... 69
Table 48 Data Information Unit............................................................................................................. 69
Table 49 Response Information Unit ..................................................................................................... 70
Table 50 RETRY DELAY TIMER Field (part 1 of 2) ............................................................................ 70
Table 51 RETRY DELAY TIMER Field (part 2 of 2) ............................................................................ 71

10
Hard Disk Drive Specification
Table 52 DATAPRES Field ..................................................................................................................... 71
Table 53 RESPONSE Data ..................................................................................................................... 71
Table 54 RESPONSE Codes ................................................................................................................... 71
Table 55 Transport Layer Error Handling ............................................................................................ 73
Table 56 SCSI Commands Supported (part 1 of 2) ............................................................................... 74
Table 57 SCSI Commands Supported (part 2 of 2) ............................................................................... 75
Table 58 SCSI Control Byte .................................................................................................................... 76
Table 59 FORMAT UNIT ........................................................................................................................ 77
Table 60 Format of the Short Parameter List Header ......................................................................... 78
Table 61 Format of the Long Parameter List Header .......................................................................... 78
Table 62 Format of the Long Parameter List Header .......................................................................... 79
Table 63 Data Format with Protection field .......................................................................................... 79
Table 64 Initialization Pattern Descriptor ............................................................................................ 80
Table 65 Defect Descriptor - Block Format (for n + 1 defects) ............................................................. 82
Table 66 Defect Descriptor - Bytes from Index Format (for n = 1 defects) ......................................... 82
Table 67 Defect Descriptor - Physical Sector Format (for n + 1 defects)............................................. 83
Table 68 INQUIRY (12)........................................................................................................................... 84
Table 69 Page Code descriptions ............................................................................................................ 84
Table 70 Inquiry Data- EVPD = 0 .......................................................................................................... 85
Table 71 Inquiry Data - EVPD = 1 (Page Code = 00h) ......................................................................... 87
Table 72 Inquiry Data - EVPD = 1 (Page Code = 03h) ......................................................................... 88
Table 73 Inquiry Data - EVPD = 1 (Page Code = 80h) ......................................................................... 89
Table 74 Inquiry Data Format - EVPD = 1, (Page Code - 83h) ............................................................ 90
Table 75 Inquiry Data Format - EVPD = 1, (Page Code - 86h) ............................................................ 91
Table 76 Inquiry Data Format - EVPD = 1, (Page Code - 87h) ............................................................ 92
Table 77 Inquiry Data Format - EVPD = 1, (Page Code - 88h) ............................................................ 93
Table 78 Inquiry Data Format - EVPD = 1, (Page Code - 8Ah) ........................................................... 94
Table 79 Inquiry Data - EVPD = 1 (Page Code = 90h) ......................................................................... 95
Table 80 Protocol-specific logical unit information descriptor ............................................................. 95
Table 81 Protocol Specific Port Information VPD page to SAS SSP ................................................... 96
Table 82 Port Information Descriptor for SAS SSP .............................................................................. 96
Table 83 SAS PHY Information Descriptor for SAS SSP ..................................................................... 96
Table 84 Inquiry Data - EVPD = 1 (Page Code = B0h) ......................................................................... 97
Table 85 Inquiry Data - EVPD = 1 (Page Code = B1h) ......................................................................... 98
Table 86 Inquiry Data - EVPD = 1 (Page Code = B2h) ......................................................................... 99
Table 87 Inquiry Data - EVPD = 1 (Page Code = D1h) ........................................................................ 99
Table 88 Inquiry Data - EVPD = 1 (Page Code = D2h) ...................................................................... 100
Table 89 Log Select (4C) ....................................................................................................................... 101
Table 90 Log Sense (4D)........................................................................................................................ 104
Table 91 Log Sense Page 0.................................................................................................................... 106
Table 92 Log Sense Page 2.................................................................................................................... 107
Table 93 Log Sense Page 3.................................................................................................................... 108
Table 94 Log Sense Page 5.................................................................................................................... 109
Table 95 Log Sense Page 6..................................................................................................................... 110
Table 96 Log Sense Page D .................................................................................................................... 110
Table 97 Log Sense Page E .................................................................................................................... 111
Table 98 Log Sense Page F .................................................................................................................... 112
Table 99 Log Sense Page F, Application Client Log ............................................................................. 112
Table 100 Log Sense Page 10................................................................................................................. 113
Table 101 Log Sense Page 10, self-test results .................................................................................... 113
Table 102 Log Sense Page 10, self-test results .................................................................................... 114
Table 103 Log Sense Page 10, Extended Segment Number ................................................................ 114
Table 104 Log Sense Page 15................................................................................................................. 115
Table 105 BMS Status Parameter structure ........................................................................................ 115

11
Hard Disk Drive Specification
Table 106 BMS Status ........................................................................................................................... 115
Table 107 Medium Scan Parameter structure ..................................................................................... 116
Table 108 Reassign Status..................................................................................................................... 116
Table 109 Log Sense Page 18................................................................................................................. 117
Table 110 SAS Log Descriptor (part 1 of 3) .......................................................................................... 117
Table 111 SAS Log Descriptor (part 2 of 3) .......................................................................................... 118
Table 112 SAS Log Descriptor (part 3 of 3) .......................................................................................... 119
Table 113 Log Sense Page 19h - General Statistics and Performance .............................................. 121
Table 114 Time Interval Descriptor ..................................................................................................... 122
Table 115 Log Sense Page 1A ............................................................................................................... 123
Table 116 Log Sense Page 2F ............................................................................................................... 124
Table 117 Log Sense Page 30 ................................................................................................................ 125
Table 118 Log Sense Page 37 ................................................................................................................ 127
Table 119 Mode Select (15) ................................................................................................................... 128
Table 120 Mode Select (55) ................................................................................................................... 129
Table 121 Mode Sense (1A) ................................................................................................................... 130
Table 122 Page Code Usage .................................................................................................................. 131
Table 123 Mode parameter header (6) ................................................................................................. 132
Table 124 Mode parameter header (10) ............................................................................................... 132
Table 125 Short LBA Mode Parameter Block Descriptor ................................................................... 133
Table 126 Long LBA Mode Parameter Block Descriptor .................................................................... 133
Table 127 Mode Parameter Page Format ............................................................................................ 134
Table 128 Mode Parameter Page Format ............................................................................................ 134
Table 129 Vendor Unique Parameters - Page 00 ................................................................................ 135
Table 130 Mode Page 01 (Vendor Unique Parameters) ...................................................................... 137
Table 131 Mode Page 02 (Disconnect/Reconnect Parameters)........................................................... 141
Table 132 Mode Page 03 (Format Device Parameters) ...................................................................... 142
Table 133 Mode Page 04 (Rigid Disk Drive Geometry Parameters) ................................................. 144
Table 134 Mode Page 07 (Verify Error Recovery Parameters)........................................................... 145
Table 135 Page 08 (Caching Parameters)............................................................................................ 146
Table 136 Page 0A (Control Mode Page Parameters) ......................................................................... 148
Table 137 Control Extension Subpage ................................................................................................. 150
Table 138 Application Tag mode page: ................................................................................................ 151
Table 139 Application Tag descriptor format ...................................................................................... 151
Table 140 Page 0C (Notch Parameters) ............................................................................................... 152
Table 141 Page 18h (Protocol-Specific Logical Unit mode page) ....................................................... 153
Table 142 Short (Port Control Parameters) Short Format ................................................................ 154
Table 143 Long Format of Port Control Page...................................................................................... 155
Table 144 PHY Control and Discover (Subpage 1) ............................................................................. 156
Table 145 SAS PHY Mode Descriptor .................................................................................................. 157
Table 146 Shared Port Control (Subpage 2) ........................................................................................ 159
Table 147 Subpage 3 ............................................................................................................................. 160
Table 148 PHY Mode Descriptor (0 and 1) .......................................................................................... 160
Table 149 Page 1A (Power Control)...................................................................................................... 161
Table 150 PM_BG_PRECEDENCE field ............................................................................................. 163
Table 151 Page 1C (Informational Exceptions Control) ..................................................................... 164
Table 152 Background Control (Subpage 01h) .................................................................................... 166
Table 153 Mode Sense (5A) ................................................................................................................... 167
Table 154 Persistent Reserve In (5E) .................................................................................................. 168
Table 155 PERSISTENT RESERVE IN, Service Action Codes ......................................................... 168
Table 156 PERSISTENT RESERVE IN, parameter data for Read Keys ......................................... 169
Table 157 PERSISTENT RESERVE IN, parameter data for Read Reservations ............................ 170
Table 158 PERSISTENT RESERVE IN, Read Reservation Descriptor ............................................ 170
Table 159 PERSISTENT RESERVE OUT (5F)................................................................................... 171

12
Hard Disk Drive Specification
Table 160 PERSISTENT RESERVE OUT, Service Action Code ....................................................... 171
Table 161 PERSISTENT RESERVE OUT, Type Code ....................................................................... 172
Table 162 Parameter List ..................................................................................................................... 173
Table 163 PERSISTENT RESERVE OUT, Service Action, Parameters ........................................... 174
Table 164 APTPL and information held by a drive ............................................................................ 174
Table 165 PRE-FETCH (34) ................................................................................................................. 175
Table 166 PRE-FETCH (90) ................................................................................................................. 176
Table 167 READ (6) - (08) ..................................................................................................................... 177
Table 168 READ (10) - (28) ................................................................................................................... 178
Table 169 READ (12) - (A8) .................................................................................................................. 180
Table 170 READ (16) - (88) ................................................................................................................... 181
Table 171 READ (32) - (7F/09) ............................................................................................................. 182
Table 172 READ BUFFER (3C) ........................................................................................................... 183
Table 173 Read Buffer Header ............................................................................................................. 183
Table 174 Read Buffer Description ...................................................................................................... 184
Table 175 Echo Buffer Descriptor ........................................................................................................ 185
Table 176 Error History Buffer ID Field ............................................................................................. 186
Table 177 Error History Directory ....................................................................................................... 187
Table 178 Error History Directory Entry ............................................................................................ 187
Table 179 READ CAPACITY (10) - (25) ............................................................................................... 188
Table 180 Format of READ CAPACITY command reply ................................................................... 188
Table 181 Read Capacity (16) (9E/10) .................................................................................................. 189
Table 182 Returned Data Format ........................................................................................................ 189
Table 183 Protection Type (P_TYPE) field .......................................................................................... 189
Table 184 Logical Blocks per Physical Block Exponent field ............................................................. 189
Table 185 READ DEFECT DATA (37) ................................................................................................. 190
Table 186 Defect List Format ............................................................................................................... 190
Table 187 Defect List Header ............................................................................................................... 191
Table 188 Defect List Descriptor .......................................................................................................... 191
Table 189 Defect Descriptors of Bytes from Index Format ................................................................ 191
Table 190 Defect Descriptors of Physical Sector Format ................................................................... 192
Table 191 READ DEFECT DATA (B7)................................................................................................. 193
Table 192 Unit Defect List Header ...................................................................................................... 193
Table 193 Defect List Descriptor .......................................................................................................... 193
Table 194 Defect Descriptors of Bytes from Index Format ................................................................ 194
Table 195 Defect Descriptors of Physical Sector Format ................................................................... 194
Table 196 READ LONG (3E) ................................................................................................................ 195
Table 197 READ LONG (9E) ................................................................................................................ 196
Table 198 REASSIGN BLOCKS (07) ................................................................................................... 197
Table 199 Format of Reassign Blocks Parameter List data ............................................................... 197
Table 200 RECEIVE DIAGNOSTIC RESULTS (1C).......................................................................... 198
Table 201 Receive Diagnostic Results page 0...................................................................................... 198
Table 202 Receive Diagnostic Results page 40.................................................................................... 199
Table 203 Translated address............................................................................................................... 199
Table 204 RELEASE (17)...................................................................................................................... 200
Table 205 RELEASE (57)...................................................................................................................... 201
Table 206 REPORT DEVICE IDENTIFIER (A3/05) .......................................................................... 202
Table 207 Report Device Identifier parameter list ............................................................................. 202
Table 208 REPORT LUNS (A0)............................................................................................................ 204
Table 209 LUN Reporting parameter list format ............................................................................... 204
Table 210 REPORT SUPPORTED OPERATION CODES (A3/0C) ................................................... 205
Table 211 Reporting Options ................................................................................................................ 206
Table 212 All_command parameter data format ................................................................................ 207
Table 213 Command Descriptor format............................................................................................... 207

13
Hard Disk Drive Specification
Table 214 One_command parameter data format .............................................................................. 208
Table 215 One_command parameter support field ............................................................................. 208
Table 216 Command timeouts descriptor format................................................................................ 209
Table 217 Command timeouts descriptor Command Specific Field usage ....................................... 209
Table 218 Report Supported Task Management Functions (A3/0D) .................................................. 211
Table 219 Report Supported Task Management Functions - returned parameter data .................. 211
Table 220 REQUEST SENSE (03) ....................................................................................................... 213
Table 221 Sense Data Format and Length .......................................................................................... 213
Table 222 RESERVE (16) ..................................................................................................................... 214
Table 223 RESERVE (56) ..................................................................................................................... 215
Table 224 REZERO UNIT (01) ............................................................................................................. 216
Table 225 SANITIZE (48) ..................................................................................................................... 217
Table 226 SANITIZE Service Action Codes ......................................................................................... 218
Table 227 Parameter List Format for Overwrite Service Action ....................................................... 218
Table 228 SECURITY PROTOCOL IN (A2) ........................................................................................ 219
Table 229 SECURITY PROTOCOL field in SECURITY PROTOCOL IN command ....................... 219
Table 230 SECURITY PROTOCOL OUT (B5) .................................................................................... 220
Table 231 SECURITY PROTOCOL field in SECURITY PROTOCOL OUT command ................... 220
Table 232 SEND DIAGNOSTIC (1D) .................................................................................................. 221
Table 233 SEND DIAGNOSTIC Function Code (1D) ......................................................................... 221
Table 234 Diagnostic page 0 ................................................................................................................. 222
Table 235 Diagnostic page 3F ............................................................................................................... 222
Table 236 Phy Test Function ................................................................................................................ 223
Table 237 Phy Test Pattern .................................................................................................................. 223
Table 238 Phy Test Pattern SSC Code ................................................................................................. 223
Table 239 Phy Test Pattern Dwords Control ....................................................................................... 224
Table 240 Diagnostic Page 40 ............................................................................................................... 224
Table 241 Address to translate............................................................................................................. 225
Table 242 SET DEVICE IDENTIFIER (A4/06) .................................................................................. 226
Table 243 SET DEVICE IDENTIFIER, Parameter List .................................................................... 226
Table 244 START STOP UNIT (1B) ..................................................................................................... 227
Table 245 Power Conditions ................................................................................................................. 227
Table 246 SYNCHRONIZE CACHE (10) - (35) ................................................................................... 229
Table 247 Synchronize Cache (16) - (91).............................................................................................. 230
Table 248 TEST UNIT READY (00) .................................................................................................... 231
Table 249 VERIFY (10) - (2F) ............................................................................................................... 232
Table 250 Byte Check............................................................................................................................ 232
Table 251 VERIFY (12) - (AF) .............................................................................................................. 234
Table 252 VERIFY (16) - (8F) ............................................................................................................... 235
Table 253 VERIFY (32) - 7F/0A) .......................................................................................................... 236
Table 254 WRITE (6) - (0A) .................................................................................................................. 237
Table 255 WRITE (10) - (2A) ................................................................................................................ 238
Table 256 WRITE (12) - (AA) ................................................................................................................ 240
Table 257 WRITE (16) - (8A) ................................................................................................................ 241
Table 258 WRITE (32) - (7F/0B) ........................................................................................................... 242
Table 259 WRITE AND VERIFY (10) - (2E) ........................................................................................ 243
Table 260 Byte Check............................................................................................................................ 243
Table 261 WRITE and VERIFY (12) - (AE) ......................................................................................... 244
Table 262 WRITE and VERIFY (16) - (8E).......................................................................................... 245
Table 263 WRITE and VERIFY (32) - (7F/0C) .................................................................................... 246
Table 264 WRITE BUFFER (3B) ......................................................................................................... 247
Table 265 Write Buffer Header ............................................................................................................ 248
Table 266 Mode Specific Field .............................................................................................................. 250
Table 267 WRITE LONG (3F) .............................................................................................................. 252

14
Hard Disk Drive Specification
Table 268 WRITE LONG (9F) .............................................................................................................. 254
Table 269 WRITE SAME (41) ............................................................................................................... 255
Table 270 WRITE SAME (16) - (93) ..................................................................................................... 256
Table 271 WRITE SAME (32) - (7F/0D)............................................................................................... 257
Table 272 SCSI Status Byte. Format of the SCSI STATUS byte. ..................................................... 258
Table 273 Spindle Motor Degraded Mode - Disable Auto Start ......................................................... 263
Table 274 Spindle Motor Degraded Mode - Auto Start Delay/Spinning Up ..................................... 264
Table 275 Spindle Motor Degraded Mode - Spindle Start Failure .................................................... 264
Table 276 Spindle Motor Degraded Mode - Spindle Stopped by Command ..................................... 265
Table 277 Self Configuration Failure Degraded Mode ....................................................................... 265
Table 278 Format Command Failure Degraded Mode ....................................................................... 266
Table 279 Sense data combinations with auto/recommend rewrite/reallocate................................. 269
Table 280 Short and Extended Self-Test Description ......................................................................... 274
Table 281 Log Only Errors.................................................................................................................... 279
Table 282 Rebuild Assist input diagnostic page.................................................................................. 287
Table 283 Rebuild Assist output diagnostic page ............................................................................... 287
Table 284 Persistent Reserve In (5E) .................................................................................................. 290
Table 285 Default Values for ‘Admin SP’ C_PIN & ‘Locking SP’ C_PIN ........................................... 292
Table 286 Implementation of K_AES_256 Table ................................................................................ 292
Table 287 Implementation of ‘Locking SP’ Access Control Table ...................................................... 293
Table 288 Implementation of ‘Locking Info’ Table .............................................................................. 293
Table 289 Implementation of ‘Locking SP’ Locking Table .................................................................. 294
Table 290 PSID Authority Added to ‘Admin SP’ Authority Table ...................................................... 295
Table 291 PSID Addition to ‘Admin SP’ C_PIN table ......................................................................... 295
Table 292 Additions to ‘Admin SP’ Access Control Table ................................................................... 296
Table 293 Ports Functionality .............................................................................................................. 296
Table 294 Ports Table ............................................................................................................................ 296
Table 295 Modified ‘Admin SP’ ACE Table .......................................................................................... 297
Table 296 Modified ‘Admin SP’ Access Control Table (part 1 of 2) .................................................... 297
Table 297 Modified ‘Admin SP’ Access Control Table (part 2 of 2) .................................................... 298
Table 298 T10 SCSI Commands Behavior Table (part 1 of 2) ........................................................... 300
Table 299 T10 SCSI Commands Behavior Table (part 2 of 2) ........................................................... 301
Table 300 TCG Enterprise SSC Commands Behavior -1 ................................................................... 302
Table 301 TCG Enterprise SSC Commands Behavior -2 ................................................................... 302
Table 302 TCG Enterprise SSC Commands Behavior -3 ................................................................... 302
Table 303 TCG Enterprise SSC Commands Behavior -4 ................................................................... 303
Table 304 TCG Enterprise SSC Commands Behavior -5 ................................................................... 303
Table 305 SECURITY PROTOCOL SPECIFIC Field for SECURITY PROTOCOL IN Protocol 00h
............................................................................................................................................................ 305
Table 306 Supported Security Protocols SECURITY PROTOCOL IN Parameter Data ................. 306
Table 307 Certificate Data SECURITY PROTOCOL IN Parameter Data ....................................... 306
Table 308 Security Compliance Information SECURITY PROTOCOL IN Parameter Data .......... 307
Table 309 Compliance Descriptor Format ........................................................................................... 308
Table 310 COMPLIANCE DESCRIPTOR TYPE Field ...................................................................... 308
Table 311 FIPS 140 Compliance Descriptor ........................................................................................ 308
Table 312 RELATED STANDARD Field ............................................................................................. 309
Table 313 Sense data response codes ....................................................................................................311
Table 314 Fixed Format Sense Data .................................................................................................... 312
Table 315 Incorrect Length Indicator .................................................................................................. 313
Table 316 Information Bytes (Byte 3 through 6) ................................................................................ 314
Table 317 Sense Code/Qualifier ........................................................................................................... 315
Table 318 Field Pointer Bytes .............................................................................................................. 338
Table 319 Actual Retry Count .............................................................................................................. 339
Table 320 Recovery Type....................................................................................................................... 339

15
Hard Disk Drive Specification
Table 321 Progress Indication .............................................................................................................. 339
Table 322 Log Only Errors.................................................................................................................... 340
Table 323 Descriptor Format Sense Data ........................................................................................... 341
Table 324 Sense Data Descriptor Format ........................................................................................... 341
Table 325 Supported Descriptor Types ................................................................................................ 342
Table 326 Sense Data Descriptor List ................................................................................................. 342
Table 327 Information Sense Data Descriptor Format ...................................................................... 343
Table 328 Command-specific Sense Data Descriptor Format............................................................ 344
Table 329 Information Sense Data Descriptor Format ...................................................................... 344
Table 330 Field Replaceable Unit Sense Data Descriptor Format .................................................... 345
Table 331 Block Command Sense Data Descriptor Format ............................................................... 345
Table 332 Vendor Unique Unit Error Code Sense Data Descriptor .................................................. 346
Table 333 Vendor Unique Physical Error Record Sense Data Descriptor......................................... 346
Table 334 Unit Error Codes .................................................................................................................. 347

16
Hard Disk Drive Specification
List of figures
Figure 1 PList physical format............................................................................................................... 28
Figure 2 Connector location.................................................................................................................... 29
Figure 3 SAS Connector.......................................................................................................................... 31
Figure 4 Limits of temperature and altitude ........................................................................................ 33
Figure 5 Limits of temperature and humidity ...................................................................................... 34
Figure 6 Top and side views and mechanical dimensions .................................................................... 39
Figure 7 Bottom and side views with mounting hole locations ........................................................... 40
Figure 8 Bottom and side views with mounting hole locations (FIPS model) .................................... 41
Figure 9 Connector locations .................................................................................................................. 42
Figure 10 Link Reset Sequence .............................................................................................................. 55
Figure 11 SSP Information Unit Sequences.......................................................................................... 72

17
Hard Disk Drive Specification
General

Introduction
This document describes the specifications of the Ultrastar DC HC510 a Western Digital 3.5-inch 7200-rpm Serial
Attached SCSI interface hard disk drive with the following model numbers:

Capacity Type Interface Format Model# Description


HUH721010AL5200 Instant Secure Erase
HUH721010AL5201 TCG*1
512 Emulation Secure Erase
HUH721010AL5204
(Overwrite only)
HUH721010AL5205 TCG*1 w/ FIPS
10TB US7SSL100
HUH721010AL4200 Instant Secure Erase
HUH721010AL4201 TCG*1
4k Native Secure Erase
HUH721010AL4204
(Overwrite only)
Serial Attached HUH721010AL4205 TCG*1 w/ FIPS
SCSI HUH721008AL5200 Instant Secure Erase
HUH721008AL5201 TCG*1
512 Emulation Secure Erase
HUH721008AL5204
(Overwrite only)
HUH721008AL5205 TCG*1 w/ FIPS
8TB US7SSL080
HUH721008AL4200 Instant Secure Erase
HUH721008AL4201 TCG*1
4k Native Secure Erase
HUH721008AL4204
(Overwrite only)
HUH721008AL4205 TCG*1 w/ FIPS
*1 Trusted Computing Group
Table 1 Type and Model#

Glossary
ESD Electrostatic Discharge
Kbpi 1,000 bits per inch
Ktpi 1,000 tracks per inch
Gbps 1,000,000,000 bits per second
Mbps 1,000,000 bits per second
MB/s 1,000,000 bytes per second
MiB/s 1,048,576 bytes per second
TB 1,000,000,000,000 bytes (for Drive Capacity)
GB 1,000,000,000 bytes(for Drive Capacity)
MB 1,048,576 bytes (for Memory Size)
KB 1,024 bytes (for Memory Size)
S.M.A.R.T. Self-Monitoring Analysis and Reporting Technology
DFT Drive Fitness Test
ADM Automatic Drive Maintenance

18
Hard Disk Drive Specification
General caution
Do not apply force to the top cover. Handle the drive by its edges or frame only.
Do not touch the interface connector pins or the surface of the print circuit board.
The drive can be damaged by shock or ESD (Electrostatic Discharge). Any damage sustained by the drive after
removal from the shipping package and opening the ESD protective bag are the responsibility of the user.

References
 SAS Compliance : “Serial Attached Serial SCSI-3 (SAS-3)”
 SAS Protocol
 This drive supports Serial SCSI Protocol (SSP)
 STP (Tunneled SATA) and SMP (Management protocol) protocols are NOT supported

19
Hard Disk Drive Specification
General features
 Data capacities of 10TB/8TB
 Spindle speeds of 7200 RPM
 Fluid Dynamic Bearing motor
 Dual Stage Actuator
 Closed-loop actuator servo
 Load/Unload mechanism, non head disk contact start/stop
 Automatic Actuator lock
 Write Cache
 Power saving modes/Low RPM idle mode (APM)
 S.M.A.R.T. (Self Monitoring and Analysis Reporting Technology)
 Adaptive zone formatting
 RVS(Rotational Vibration Safeguard)
 Sector Buffer size of 256MB
 Seek time of 8.0ms in read operation (without Command Overhead)
 Segmented buffer implementation
 Automatic Error Recovery procedures for read and write commands
 Automatic defect reallocation
 SAS Power Disable
 Supported PSID
 SAS Interface 12/6/3/1.5Gbps
 Supports dual-ported operations
 Supports full duplex operations
 Variable sector size (512 - 528 bytes in multiples of eight)
 Back to back write
 Self diagnostics at power on
 64 bit addressing feature
 SAS-3 compliant
 ANSI T10 Protection Information (End-to-End)
 Support TCG Enterprise Encryption (specific model only)
 FIPS 140-2 Support
 Max. LBA count definition standard: 8TB model: IDEMA LBA1-03 and 10TB model: SFF-8447

20
Hard Disk Drive Specification
Part 1. Functional specification

21
Hard Disk Drive Specification
Fixed disk subsystem description

Control Electronics
The drive is electronically controlled by a microprocessor, several logic modules, digital/analog modules, and
various drivers and receivers. The control electronics performs the following major functions:
 Controls and interprets all interface signals between the host controller and the drive.
 Controls read write accessing of the disk media, including defect management and error recovery.
 Controls starting, stopping, and monitoring of the spindle.
 Conducts a power-up sequence and calibrates the servo.
 Analyzes servo signals to provide closed loop control. These include position error signal and estimated
velocity.
 Monitors the actuator position and determines the target track for a seek operation.
 Controls the voice coil motor driver to align the actuator in a desired position.
 Constantly monitors error conditions of the servo and takes corresponding action if an error occurs.
 Monitors various timers such as head settle and servo failure.
 Performs self-checkout (diagnostics).

Head disk assembly


The head disk assembly (HDA) is assembled in a clean room environment and contains the disks and actuator
assembly. Helium is constantly circulated and filtered when the drive is operational. No venting of the HDA is
accomplished, as HDA is hermetically sealed.
The spindle is driven directly by an in-hub, brushless, sensorless DC drive motor. Dynamic braking is used to
quickly stop the spindle.

Actuator
The read/write heads are mounted in the actuator. The actuator is a swing-arm assembly driven by a voice coil
motor. A closed-loop positioning servo controls the movement of the actuator. An embedded servo pattern supplies
feedback to the positioning servo to keep the read/write heads centered over the desired track.
The actuator assembly is balanced to allow vertical or horizontal mounting without adjustment.
When the drive is powered off, the actuator automatically moves the head to the actuator ramp outside of the disk
where it parks.

22
Hard Disk Drive Specification
Drive characteristics
This section describes the characteristics of the drive.

Default logical drive parameters


The default of the logical drive parameters in Identify Device data is as shown below.
Description 10TB model
Physical Layout
Label capacity 10TB 10TB 10TB
Bytes per Sector 4,096 4,160 4,224
Number of Heads 14 14 14
Number of disks 7 7 7
Logical Layout1
Bytes per Sector 512 520 528
Number of Sectors 19,532,873,728 19,134,414,848 18,845,007,872
Total Logical Data Bytes 10,000831,348,736 9,949,895,720,960 9,950,164,156,416

Description 8TB model


Physical Layout
Label capacity 8TB 8TB 8TB
Bytes per Sector 4,096 4,160 4,224
Number of Heads 12 or 14 12 or 14 12 or 14
Number of disks 7 7 7
Logical Layout1
Bytes per Sector 512 520 528
Number of Sectors 15,628,053,168 15,362,376,264 15,081,071,304
Total Logical Data Bytes 8,001,563,222,016 7,988,435,657,280 7,962,805,648,512
Table 2 Formatted capacity

23
Hard Disk Drive Specification
Description 10TB model
Physical Layout
Label capacity 10TB 10TB 10TB 10TB
Bytes per Sector 4,096 4,112 4,160 4,224
Number of Heads 14 14 14 14
Number of disks 7 7 7 7
Logical Layout1
Bytes per Sector 4,096 4,112 4,160 4,224
Number of Sectors2 2,441,609,216 2,419,851,264 2,391,801,856 2,355,625,984
Total Logical Data Bytes 10,000831,348,736 9,950,428,397,568 9,949,895,720,960 9,950,164,156,416

Description 8TB model


Physical Layout
Label capacity 8TB 8TB 8TB 8TB
Bytes per Sector 4,096 4,112 4,160 4,224
Number of Heads 12 or 14 12 or 14 12 or 14 12 or 14
Number of disks 7 7 7 7
Logical Layout1
Bytes per Sector 4096 4112 4160 4224
Number of Sectors2 1,953,506,646 1,945,692,616 1,920,297,033 1,885,133,913
Total Logical Data Bytes 8,001,563,222,016 8,000,688,036,992 7,988,435,657,280 7,962,805,648,512
Table 3 Formatted capacity - Continued -

Notes:
1Logical layout: Logical layout is an imaginary drive parameter (that is, the number of heads) which is used to
access the drive from the system interface. The Logical layout to Physical layout (that is, the actual Head and
Sectors) translation is done automatically in the drive. The default setting can be obtained by issuing an IDENTIFY
DEVICE command
2 Max. LBA count definition standard: 8TB model: IDEMA LBA1-03 and 10TB model: SFF-8447

24
Hard Disk Drive Specification
Data sheet
10TB 8TB
Description
Model Model
Max Data transfer rate (Mbps) 2,222 2,074
Interface transfer rate (MB/s) 1,200 1,200
Typ Sustained transfer rate (MB/s) 249 225
Typ Sustained transfer rate (MiB/s) 237 215
Data buffer size (MB) 256 256
Rotational speed (RPM) 7,200 7,200
Configurable number of buffer segment Number 2,048 max 2,048 max
Recording density- max (Kbpi) 1,929 1,801
Track density (Ktpi) 423 423
Areal density - max (Gbits/in2) 816 762
Table 4 Mechanical positioning performance

World Wide Name Assignment


Description 10TB model 8TB model
Organization Western Digital Japan Western Digital Japan
Thailand Thailand
Manufacturing Site
China China
Product Ultrastar He10-10 Ultrastar He10-8
Thailand: 251h / 256h / 266h / 267h / 268h / Thailand: 252h / 257h
Block Assignment 26Ah / 26Bh / 26Ch / 26Dh
China: 3C4h / 3C6h / 3D1h / 3D2h / 3D3h China: 3C5h / 3C7h
Table 5 World Wide Name Assignment

Drive organization
Drive Format
Upon shipment from Western Digital manufacturing the drive satisfies the sector continuity in the physical format by
means of the defect flagging strategy described in Section 5 in order to provide the maximum performance to users.

Cylinder allocation
Physical cylinder is calculated from the starting data track of 0. It is not relevant to logical CHS. Depending on the
capacity some of the inner zone cylinders are not allocated.
Data cylinder
This cylinder contains the user data which can be sent and retrieved via read/write commands and a spare area for
reassigned data.
Spare cylinder
The spare cylinder is used by Western Digital manufacturing and includes data sent from a defect location.

25
Hard Disk Drive Specification
Performance characteristics
Drive performance is characterized by the following parameters:
 Command overhead
 Mechanical positioning
- Seek time
- Latency
 Data transfer speed
 Buffering operation (Look ahead/Write cache)
All the above parameters contribute to drive performance. There are other parameters that contribute to the
performance of the actual system. This specification defines the characteristics of the drive, not the characteristics
of the system throughput which depends on the system and the application.

Mechanical positioning
Average seek time (without command overhead, including
settling)
Command Type Typical (ms) Max (ms)
Read 8.0 10.0
Write 8.6 11.0
Table 6 Average seek time

The terms “Typical” and “Max” are used throughout this specification with the following meanings:
Typical. The average of the drive population tested at nominal environmental and voltage conditions.
Max. The maximum value measured on any one drive over the full range of the environmental and
voltage conditions. (See Section 6.2, “Environment” and Section 6.3, “DC Power Requirements”)

Single track seek time (without command overhead,


including settling)
Common to all models and all seek modes
Function Typical (ms) Max (ms)
Read 0.22 0.25
Write 0.30 0.35
Table 7 Single Track Seek Time

Average latency
Rotational speed Time for a revolution Average latency
(ms) (ms)
7200 RPM 8.3 4.16
Table 8 Latency Time

26
Hard Disk Drive Specification
Drive ready time
Power on to ready Typical (sec) Maximum (sec)
7 Disk model 20 30
Table 9 Drive ready time

Ready The condition in which the drive is able to perform a media access command (such as read, write)
immediately
Power on This includes the time required for the internal self diagnostics.

Operating modes
Operating mode descriptions
Operating mode Description
Spin-up Start up time period from spindle stop or power down
Seek Seek operation mode
Write Write operation mode
Read Read operation mode
Idle_0 Drive ready, but not performing I/O
Idle_A Spindle motor is working normally. Servo system is sleeping or waking up. Commands can
be received and processed immediately
Idle_B Spindle rotation at 7200 RPM with heads unloaded
Idle_C/Standby_Y Spindle rotation at Low RPM with heads unloaded
Standby_Z Actuator is unloaded and spindle motor is stopped. Commands can be received immediately
Note: Upon power down or spindle stop a head locking mechanism will secure the heads in the OD parking
position.

Mode transition times


Mode transition times are shown below.
Typical Transition time Max Transition time
From To RPM
(sec) (sec)
Standby_Z Idle_A 0 -> 7200 15 30
Idle_A Standby_Z 7200 -> 0 Immediately Immediately
Idle_B Idle_A 7,200 1 30
Idle_A Idle_B 7,200 0.7 30

Idle_C Idle_A 6300 -> 7200 4 30

Table 10 Mode transition times

27
Hard Disk Drive Specification
Defect flagging strategy
Media defects are remapped to the next available sector during the Format Process in manufacturing. The mapping
from LBA to the physical locations is calculated by an internally maintained table.

Shipped format
 Data areas are optimally used.
 No extra sector is wasted as a spare throughout user data areas.
 All pushes generated by defects are absorbed by the spare tracks of the inner zone.

N N+1 defect N+2 defect N+3

skip skip

Figure 1 PList physical format

Defects are skipped without any constraint, such as track or cylinder boundary. The calculation from LBA to
physical is done automatically by internal table.

28
Hard Disk Drive Specification
Specification

Electrical interface
Connector location
Refer to the following illustration to see the location of the connectors.
Current

New Sio PCBA for test at BPI

Figure 2 Connector location

29
Hard Disk Drive Specification
Signal connector
The drive uses the standard 29 pin Serial Attached SCSI (SAS) connector which conforms to the mechanical
requirements of SFF 8660. The connector is expected to be used in an environment which uses a common
connector structure for racking disk drives in a cabinet. The connector allows for plugging a drive directly into a
backplane by providing the necessary electrical connection. Mechanical stability and device retention must be
provided by a mechanism outside the drive.

30
Hard Disk Drive Specification
29 pin Serial Attached SCSI (SAS) Connector Definition
Diagram of top and bottom of connector showing pinouts.

Figure 3 SAS Connector

Pin No. Signal Description


S1 GND GND for SAS Primary Port
S2 RP+ SAS Primary Port Receive (Positive) signal
S3 RP- SAS Primary Port Receive (Negative) signal
S4 GND GND for SAS Primary Port
S5 TP- SAS Primary Port Transmit (Negative) signal
S6 TP+ SAS Primary Port Transmit (Positive) signal
S7 GND GND for SAS Primary Port
S8 GND GND for SAS Secondary Port
S9 RS+ SAS Secondary Port Receive (Positive) signal
S10 RS- SAS Secondary Port Receive (Negative) signal
S11 GND GND for SAS Secondary Port
S12 TS- SAS Secondary Port Transmit (Negative) signal
S13 TS+ SAS Secondary Port Transmit (Positive) signal
S14 GND GND for SAS Secondary Port
P1 Reserved NOT USED (P1 and P2 tied internally)
P2 Reserved NOT USED (P1 and P2 tied internally)
P3 Power Disable Enter/Exit Power Disable
P4 GND GROUND
P5 GND GROUND
P6 GND GROUND
P7 +5V-Charge Pre-charge pin for +5V
P8 +5V +5V power supply input
P9 +5V +5V power supply input
P10 GND GROUND
P11 READY LED READY LED output
P12 GND GROUND
P13 +12V=Charge Pre-charge pin for +12V
P14 +12V +12V power supply input
P15 +12V +12V power supply input
Table 11 29-pin Connector Signal Definition

31
Hard Disk Drive Specification
Voltage and Ground Signals
The 12V and 5V contacts provide all of the voltages required by the drive. The two voltages share a common
ground plane to which all of the ground contacts are connected.

Ready LED output


The drive provides an open-drain driver with 15mA of current sink capability to the Ready LED Output signal. The
cathode of the LED should be connected to this signal. The LED and the current-limiting resistor must be provided
by the enclosure

32
Hard Disk Drive Specification
Environment
Temperature and humidity
Operating conditions
Temperature 5 to 60°C
Relative humidity 8 to 90% non-condensing
Maximum wet bulb temperature 29.4°C non-condensing
Maximum temperature gradient 20°C/Hour
Altitude –300 to 3,048 m
Non-Op conditions
Temperature -40 to 70°C (Storage 0 to 70°C)
Relative humidity 5 to 95% non-condensing
Maximum wet bulb temperature 35°C non-condensing
Maximum temperature gradient 30°C/Hour
Altitude –300 to 12,000 m (Inside dashed-dotted line of Figure 4)
Table 12 Temperature and humidity

Notes:
1. The system is responsible for providing sufficient ventilation to maintain a surface temperature below 65°C at
the center of the top cover of the drive.
2. Non condensing conditions should be maintained at any time.
3. Maximum storage period within shipping package is one year.

Altitude specification
13000
-40degC/12000m 40degC/12000m
12000
11000
10000 Non-Operating
9000
8000
7000
Altitude (m)

6000
5000 70degC/3048m

4000
5degC/3048m 60degC/3048m
3000
2000
Operating
1000
60degC/-300m
0
-1000 -40degC/-300m 5degC/-300m 70degC/-300m

-2000
-50 -40 -30 -20 -10 0 10 20 30 40 50 60 70 80
Temperature (degC)

Figure 4 Limits of temperature and altitude

33
Hard Disk Drive Specification
Figure 5 Limits of temperature and humidity

Corrosion test
The drive shows no sign of corrosion inside and outside of the hard disk assembly and is functional after being
subjected to seven days at 50°C with 90% relative humidity.

Atmospheric condition
Environments that contain elevated levels of corrosives (e.g. hydrogen sulfide, sulfur oxides, or hydrochloric acid)
should be avoided. Care must be taken to avoid using any compound/material in a way that creates an elevated
level of corrosive materials in the atmosphere surrounding the disk drive. Care must also be taken to avoid use of
any organometallic (e.g. organosilicon or organotin) compound/material in a way that creates elevated vapor levels
of these compounds/materials in the atmosphere surrounding the disk drive.

34
Hard Disk Drive Specification
DC power requirements
The following voltage specification applies at the drive power connector. Connections to the drive should be made
in a safety extra low voltage (SELV) circuit. There is no power on or power off sequencing requirement.
Adequate secondary over-current protection is the responsibility of the system.

Input voltage
During run and Absolute max
Input voltage Supply rise time
spin up spike voltage
+5 Volts Supply 5V ± 5% –0.3 to 5.5V 0 to 200ms
+12 Volts Supply 12V ± 5% –0.3 to 15.0V 0 to 400ms
Table 13 Input voltage

Caution: To avoid damage to the drive electronics, power supply voltage spikes must not exceed specifications.

35
Hard Disk Drive Specification
Power supply current (typical1)
Serial Attached SCSI @12Gb/sec Current Current Power
IO/Sec +5V Amp +12V Amp Watts
Start up Peak DC [1] 0.52 1.49
Start up Peak AC 0.61 1.92
Idle_0 Ave. 0.40 0.32 5.9
Idle Ripple [2] 0.25 0.29

Random RW 4KB Qd=4 Peak 0.74 1.79


Random RW 4KB Qd=4 Ave. 165 0.44 0.61 9.5

Random RW 4KB Qd=1 Peak 0.74 1.80


Random RW 4KB Qd=1 Ave. 130 0.43 0.55 8.8

Sequential Read Peak 0.82


Sequential Read Ave. [3] 0.72 0.33 7.5
Sequential Write Peak 0.70
Sequential Write Ave. [3] 0.60 0.36 7.4

BMS Peak 0.79


BMS Ave. 0.64 0.33 7.1

Power Save Mode Current Power Watts Recovery [1]


Saved 12V DC 12V AC
(PHY state: Active) +5V Amp +12V Amp Watts [4] peak peak
Idle_A 0.38 0.32 5.8 0.1
Idle_B 0.32 0.23 4.3 1.6
Idle_C 0.32 0.18 3.7 2.1 0.98 1.77
Standby_Y 0.32 0.18 3.7 2.1 0.98 1.77
Standby_Z 0.31 0.003 1.6 4.3 1.54 1.79

Notes
Reference data, sample number = 10HDDs, DE temp. = 40degC (25degC for Spin up), WCE=0
[1] 200mS windowed average
[2] Pk to Pk BWL @20MHz
[3] Max transfer rate
[4] Watts saved compared to Idle_0
Table 14 Power consumption

36
Hard Disk Drive Specification
Power supply generated ripple at drive power connector
Maximum (mV pp) MHz
+5V DC 200 0-10
+12V DC 250 0-10
Table 15 Power supply generated ripple at drive power connector

During drive start up and seeking 12-volt ripple is generated by the drive (referred to as dynamic loading). If the
power of several drives is daisy chained together, the power supply ripple plus the dynamic loading of the other
drives must remain within the above regulation tolerance. A common supply with separate power leads to each
drive is a more desirable method of power distribution.
To prevent external electrical noise from interfering with the performance of the drive, the drive must be held by four
screws in a user system frame which has no electrical level difference at the four screws position and has less than
±300 millivolts peak to peak level difference to the ground of the drive power connector.

Power Consumption Efficiency


Power Consumption Efficiency at Idle
W/TB 0.58
W/GB 0.00058
Table 16 Power consumption efficiency

37
Hard Disk Drive Specification
Reliability
Data integrity
When the write cache option is disabled, no customer data is lost during power loss. If the write cache option is
active, some data loss can occur during power loss.

Cable noise interference


To avoid any degradation of performance throughput or error rate when the interface cable is routed on top or
comes in contact with the HDA assembly, the drive must be grounded electrically to the system frame by four
screws. The common mode noise or voltage level difference between the system frame and power cable ground or
AT interface cable ground should be in the allowable level specified in the power requirement section.

Load/Unload
The product supports a minimum of 600,000 normal load/unloads in a 40°C environment.
Load/unload is invoked by transition of the HDD's power mode. (Chapter 4.5.4 Operating modes)
Idle <-> unload idle
Idle <-> Low rpm idle

Start/stop cycles
The drive withstands a minimum of 50,000 start/stop cycles in a 40°C environment and a minimum of 10,000
start/stop cycles in extreme temperature or humidity within the operating range.

Preventive maintenance
None

Data reliability
Probability of not recovering data is 1 in 10 15 bits read.
LDPC on the fly/ offline data correction
 4608 bit LDPC
 This implementation recovers maximum 2500 bits single burst error by on the fly correction and maximum
3500 bits single burst error by offline correction

Required Power-Off Sequence


The required BIOS sequence for removing power from the drive is as follows:
Step 1: Issue one of the following commands.
STOP UNIT
Step 2: Wait until the Command Complete status is returned. However, the BIOS time out value needs to be 60
seconds considering error recovery time.
Step 3: Terminate power to HDD.

38
Hard Disk Drive Specification
Mechanical specifications
Physical dimensions

Figure 6 Top and side views and mechanical dimensions

All dimensions are in millimeters.

39
Hard Disk Drive Specification
Figure 7 Bottom and side views with mounting hole locations

All dimensions in the above figure are in millimeters.

40
Hard Disk Drive Specification
Figure 8 Bottom and side views with mounting hole locations (FIPS model)

The following table shows the physical dimensions of the drive.


Height (mm) Width (mm) Length (mm) Weight (grams)
26.1 MAX 101.6 ± 0.25 147 MAX 660 MAX
Table 17 Physical Dimensions

41
Hard Disk Drive Specification
Connector locations

Current

New Sio PCBA for test at BPI

Figure 9 Connector locations

42
Hard Disk Drive Specification
Drive mounting
The drive will operate in all axes (6 directions). Performance and error rate will stay within specification limits if the
drive is operated in the other orientations from which it was formatted.
For reliable operation, the drive must be mounted in the system securely enough to prevent excessive motion or
vibration of the drive during seek operation or spindle rotation, using appropriate screws or equivalent mounting
hardware.
The recommended mounting screw torque is 0.6 - 1.0 Nm (6-10 Kgf.cm).
The recommended mounting screw depth is 3.8 mm maximum for bottom and 6.1 mm maximum for horizontal
mounting.
Drive level vibration test and shock test are to be conducted with the drive mounted to the table using the bottom
four screws.

Heads unload and actuator lock


Heads are moved out from disks (unload) to protect the disk data during shipping, moving, or storage. Upon
power down, the heads are automatically unloaded from disk area and the locking mechanism of the head actuator
will secure the heads in unload position.

43
Hard Disk Drive Specification
Vibration and shock
All vibration and shock measurements recorded in this section are made with a drive that has no mounting
attachments for the systems. The input power for the measurements is applied to the normal drive mounting points.

Operating vibration
Random vibration (Linear)
The test is 30 minutes of random vibration using the power spectral density (PSD) levels shown below in each of
three mutually perpendicular axes. The disk drive will operate without non-recoverable errors when subjected to the
below random vibration levels.
RMS
Frequency 5 Hz 17 Hz 45 Hz 48 Hz 62 Hz 65 Hz 150 Hz 200 Hz 500 Hz
(m/sec2)
1.9 x 1.1 x 1.1 x 7.7 x 7.7 x 9.6 x 9.6 x 4.8 x 4.8 x
[(m/sec2)2/Hz] 6.57
10E–3 10E–1 10E–1 10E–1 10E–1 10E–2 10E–2 10E–2 10E-2

Table 18 Random vibration PSD profile break points (operating)

The overall RMS (root mean square) level is 6.57 m/sec2 (0.67 G).

Swept sine vibration (Linear)


The drive will meet the criteria shown below while operating in the specified conditions:
 No errors occur with 4.9 m/sec2 (0.5 G) 0 to peak, 5 to 300 to 5 Hz sine wave, 0.5 oct/min sweep rate with 3-
minute dwells at two major resonances
 No data loss occurs with 9.8 m/sec2 (1 G) 0 to peak, 5 to 300 to 5 Hz sine wave, 0.5 oct/min sweep rate with 3-
minute dwells at two major resonances

Random vibration (Rotational)


The drive will meet the criteria shown below while operating in the specified conditions:
 Less than 20% Performance degradation
 The overall RMS (Root Mean Square) level of vibration is 12.5Rad/sec^2. PSD profile is shown below.
RMS
Frequency 20 Hz 100 Hz 200 Hz 800 Hz 1000 Hz 1500 Hz 1700 Hz 2000 Hz
(Rad/s2)
1.90E 1.90E 1.87E 1.87E 5.33E 7.70E 4.00E 4.00E
[(Rad/s2) 2/Hz] 12.5
-02 -02 -01 -01 -02 -03 -03 -03

Table 19 Random vibration (Rotational) PSD profile break points

44
Hard Disk Drive Specification
Nonoperating vibration
The drive does not sustain permanent damage or loss of previously recorded data after being subjected to the
environment described below

Random vibration
The test consists of a random vibration applied for each of three mutually perpendicular axes with the time duration
of 10 minutes per axis. The PSD levels for the test simulate the shipping and relocation environment shown below.
The overall RMS (Root Mean Square) level of vibration is 10.2 m/sec2 (1.04 G).

Frequency 2 Hz 4 Hz 8 Hz 40 Hz 55 Hz 70 Hz 200 Hz

[(m/sec2)2/Hz] 0.096 2.89 2.89 0.289 0.962 0.962 0.096

Table 20 Random vibration PSD profile break points (Nonoperating)

Swept sine vibration


 19.6 m/sec2 (2 G) (Zero to peak), 5 to 500 to 5 Hz sine wave
 0.5 oct/min sweep rate
 3 minutes dwell at two major resonances

Operating shock
The drive meets the following criteria while operating in the conditions described below. The shock test consists of
10 shock inputs in each axis and direction for total of 60. There must be a delay between shock pulses long enough
to allow the drive to complete all necessary error recovery procedures.
 No error occurs with a 98.1 m/sec2 (10 G) half-sine shock pulse of 11 ms duration.
 No data loss occurs with a 294 m/sec2 (30 G) half-sine shock pulse of 4 ms duration.
 No data loss occurs with a 686 m/sec2 (70 G) half-sine shock pulse of 2 ms duration.

Nonoperating shock
The drive will operate without non-recoverable errors after being subjected to shock pulses with the following
characteristics.

Trapezoidal shock wave


 Approximate square (trapezoidal) pulse shape
 Approximate rise and fall time of pulse is1 ms
 Average acceleration level is 490 m/sec2 (50 G). (Average response curve value during the time following the 1
ms rise time and before the 1 ms fall with a time "duration of 11 ms")
 Minimum velocity change is 4.23 m/sec

Sinusoidal shock wave


The shape is approximately half-sine pulse. The figure below shows the maximum acceleration level and duration.
Acceleration level (m/sec2) Duration (ms)
2940(300G) 2
1470(150G) 11
Table 21 Sinusoidal shock wave

45
Hard Disk Drive Specification
Nonoperating Rotational shock
All shock inputs shall be applied around the actuator pivot axis.
Duration Rad/sec2
1 ms 30,000
2 ms 20,000
Table 22 Rotational Shock

46
Hard Disk Drive Specification
Acoustics
The upper limit criteria of the octave sound power levels are given in Bels relative to one picowatt and are shown in
the following table. The sound power emission levels are measured in accordance with ISO 7779.
Mode 7200rpm (Typical / Max)
Idle 2.0 / 2.5
Operating 3.6 / 4.0
Table 23 Sound power levels

Mode definition:
Idle mode. The drive is powered on, disks spinning, track following, unit ready to receive and respond
to interface commands.
Operating mode. Continuous random cylinder selection and seek operation of the actuator with a dwell time
at each cylinder. The seek rate for the drive is to be calculated as shown below:
 Dwell time = 0.5 x 60/RPM
 Seek rate = 0.4 / (Average seek time + Dwell time)

Identification labels
The following labels are affixed to every drive shipped from the drive manufacturing location in accordance with the
appropriate hard disk drive assembly drawing:
 A label containing either the Western Digital logo or the HGST logo, and the part number (P/N).
 A label containing the drive model number, the manufacturing date code, the formatted capacity, the country of
manufacture, UL/CSA/TUV/CE/RCM mark logos and WEEE/China RoHS logos
 A label containing either the Western Digital logo or the HGST logo, the part number (P/N), the drive model
number, the manufacturing date code, the formatted capacity, the country of manufacture,
UL/CSA/TUV/CE/RCM mark logos and WEEE/China RoHS logos
 A bar code label containing the drive serial number
 A label containing the jumper pin description
 A user designed label per agreement

The above labels may be integrated with other labels.

47
Hard Disk Drive Specification
Safety
UL and CSA standard conformity
The product is qualified per UL60950-1:Second Edition and CAN/CSA-C22.2 No.60950-1-07 Second Edition, for
use in Information Technology Equipment including Electric Business Equipment.
The UL recognition or the CSA certification is maintained for the product life.
The UL and C-UL recognition mark or the CSA monogram for CSA certification appear on the drive.

German Safety Mark


The product is approved by TUV on Test requirement: EN60950-1:2006+A11 but the GS mark is not applicable to
internal devices such as this product.

Flammability
The printed circuit boards used in this product are made of material with the UL recognized flammability rating of
V-1 or better. The flammability rating is marked or etched on the board. All other parts not considered electrical
components are made of material with the UL recognized flammability rating of V-2 minimum basically.

Safe handling
The product is conditioned for safe handling in regards to sharp edges and corners.

Substance restriction requirements


The product complies with the Directive 2002/95/EC of the European Parliament on the restrictions of the use of the
certain hazardous substances in electrical and electronic equipment (RoHS) and with Halogen free requirements
based on the electronics industry standard, IEC 61249-2-21 (http://www.iec.ch/).
FIPS models do not comply with IEC 61249-2-21.

Secondary circuit protection


Spindle/VCM driver module includes 12 V over current protection circuit.

48
Hard Disk Drive Specification
Electromagnetic compatibility
When installed in a suitable enclosure and exercised with a random accessing routine at maximum data rate, the
drive meets the following worldwide EMC requirements:
 United States Federal Communications Commission (FCC) Rules and Regulations (Class B), Part 15. (A 6 dB
buffer shall be maintained on the emission requirements).
 European Economic Community (EEC) directive number 76/889 related to the control of radio frequency
interference and the Verband Deutscher Elektrotechniker (VDE) requirements of Germany (GOP). Spectrum
Management Agency (SMA) EMC requirements of Australia. This statement should be reviewed by whomever
is managing agency approval submissions:
The SMA has approved RCM Marking for Western Digital.

CE Mark
The product is declared to be in conformity with requirements of the following EC directives under the responsibility
of Western Digital:
Council Directive 2004/108/EC on the approximation of laws of the Member States relating to electromagnetic
compatibility.

RCM Mark
The product complies with the following Australian EMC standard:
Limits and methods of measurement of radio disturbance characteristics of information technology, AS/NZS 3548 :
1995 Class B.

BSMI Mark
The product complies with the Taiwan EMC standard “Limits and methods of measurement of radio disturbance
characteristics of information technology equipment, CNS 13438 Class B.”

KC Mark
The product complies with the Korea EMC standard. The regulation for certification of information and
communication equipment is based on “Telecommunications Basic Act” and “Radio Waves Act” Korea EMC
requirement are based technically on CISPR22 measurement standards and limits. KC standards are likewise
based on IEC standards.

49
Hard Disk Drive Specification
Part 2. Interface specification

50
Hard Disk Drive Specification
SAS Attachment
This section defines some basic terminology and describes the behavior of the drive when attached to a Serial
Attached SCSI (i.e. SAS) domain.

General
This section introduces some of the terminology that is used in describing Serial Attached SCSI (i.e. SAS).
SAS is logically a bi-directional, point to point serial data channel that leverages the SCSI protocol set. Nodes are
physically connected via a port.
Ports may be connected point-to-point via SAS expanders, to form a complex switching network, referred to as a
SAS domain.
SAS is defined in terms of a hierarchy of functions or 'protocol layers'. This discussion will focus in on the aspects of
SAS that are relevant to this product.
 SCSI Application Layer - Clause 10
 SSP Transport Layer (Serial SCSI Protocol) - Clause 9
 SAS Port Layer - Clause 8
 SSP Link Layer - Clause 7
 SAS PHY Layer - Clause 6
 SAS Physical Layer - Clause 5

All layers are defined in the following ANSI standard.


 "SAS Protocol Layer - 2 (SPL-3)"
In addition, this drive claims compliance with the following ANSI standards.
 SCSI Architecture Model (SAM-5)
 SCSI Block Commands (SBC-3)

SAS Features
The following SAS features are supported by the drive.
 SAS Compliance
- "Serial Attached SCSI - 3 (SAS-3)"

 SAS Protocol
- This drive supports Serial SCSI Protocol (SSP).
- STP (Tunneled SATA) and SMPs (Management protocols) are NOT supported.

51
Hard Disk Drive Specification
 SAS Dual Ported Operation
- Single PHY ports (i.e. Narrow port. Wide Port NOT supported)
- Ports function independently with separate firmware controls
- Multiple DMA engines capable of accessing either port
- Maximum outstanding credit of four per port
 Physical Link Rates
- G1 (1.5 Gbs), G2 (3.0 Gbps), G3 (6.0 Gbps), and G4 (12.0 Gbps) supported
- Largely automated OOB and speed negotiation sequences
- Optional support for the hot-plug timeout in hardware
 Partial support for Disconnect/Reconnect Mode Page (0x02)
- Maximum Connect Time Limit - SUPPORTED
- Bus Inactivity Time Limit - NOT SUPPORTED
- Maximum Burst Size - SUPPORTED
- First Burst Size - NOT SUPPORTED
 Power Consumer Device Support
- Supports POWER_CAPABLE = 01b (Drive is a power consumer device)
 Interface Power Management Support
- Supports partial/slumber low phy power condition
 Others...
- Connection Rate Matching
- Hard Reset primitive sequence detection and validation in hardware
- Support for NOTIFY (Power Loss Expected)
- Hashed WWN validation in hardware
- Extended CDB support

52
Hard Disk Drive Specification
SAS Names and Identifiers
In SAS, device and port names are worldwide unique names within a transport protocol. Port identifiers are the
values by which ports are identified within a domain, and are used as SAS addresses. PHY identifiers are unique
within a device.

Object SAS Implementation

Port Identifier SAS address

Port Name Not defined

Device Name SAS address

PHY Identifier PHY identifier

Table 24 Names and Identifiers

Where the SAS address format is defined by ANSI as follows:

Bit
Byte
7 6 5 4 3 2 1 0

0 NAA (5h) (MSB)


1
IEEE Company ID
2

3 (LSB) (MSB)
4

5 Vendor Specific Identifier


6 (LSB)

Table 25 SAS Address Format

The SAS device name is a unique SAS address worldwide name. This device name is reported through the SCSI
Vital Products Data.
Each of the two SAS ports also has a unique SAS address worldwide name. These port identifiers are reported in
the IDENTIFY address frame and are used as source and destination addresses in the OPEN address frame. They
are also reported through the SCSI Vital Products Data.
Since this drive is one device with two ports it has three SAS addresses. All SAS addresses are in 64-bit IEEE
Registered Name format, as illustrated in Table 26.

Bit

63-60 59-36 35-24 23-2 1-0

0101 OUI in Canonical Form Block Assignment S/N Object

Table 26 IEEE Registered Name Format

53
Hard Disk Drive Specification
The Name Address Authority field (5h) specifies the format used for the rest of the name as follows:
Field Description
OUI Organizationally Unique Identifier (24 bits). Canonical form means that
each byte is stored in “bit reversed” order.
Block Assignment Block assignment within Western Digital
Object Device Name/Port Identifier
00b Device
01b Port 1
10b Port 2
11b Not assigned
S/N Sequentially increasing drive serial number assigned at manufacturing.

Table 27 Name Address Authority field

54
Hard Disk Drive Specification
PHY Layer
The PHY layer defines 8b10b encoding and OOB signals. The PHY layer is the interface between the link layer and
the physical layer. This section describes PHY layer behaviors of the drive. For a complete description of SAS PHY
Layer, please see the ANSI specification, SPL-3.

Link Reset Sequence


The Link Reset sequences for SAS are defined in the SPL-3 ANSI specification with a general overview shown
below. As shown in the diagram, a PHY Reset sequence, consists of an OOB sequence, followed by speed
negotiation. Link Reset sequences will always include a PHY Reset sequence, followed by an Identification
sequence. Inclusion of a Hard Reset sequence is optional. If Hard Reset is performed, it will be preceded by a PHY
Reset sequence, and followed by PHY Reset and an Identification sequence.

SAS Time

Link Reset sequence

Phy Reset sequence

OOB sequence Speed Negotiation Identification sequence


sequence

SAS w/Hard Reset Time

Link Reset sequence with hard error

Phy Reset sequence Hard Reset sequence Phy Reset sequence Identification sequence

Figure 10 Link Reset Sequence

Hard Reset
A Hard Reset sequence on a port will not affect the other port, but the outstanding commands on the other port will
be aborted due to the LUN reset associated with the Hard Reset. The effect of a Hard Reset will be similar to a
Power on Reset, and will result in the re-initialization of all drive resources. The first command issued from every
initiator on the port that received the Hard Reset will result in a CHECK CONDITION with a sense key of UNIT
ATTENTION and an additional sense code of SCSI BUS RESET OCCURRED. The first command issued from
every initiator on the other port will result in a CHECK CONDITION and an additional sense code of BUS DEVICE
RESET OCCURRED.
A Hard Reset sequence will never be issued by the drive. A link reset will be initiated by the drive on the affected
port upon completion of Hard Reset processing.

55
Hard Disk Drive Specification
SAS OOB (Out of Band)
Out of Band (OOB) signals are low-speed signal patterns detected by the PHY that do not appear in normal data
streams. They consist of defined amounts of idle time followed by defined amounts of burst time. During the idle
time, D.C. idle is transmitted. During the burst time, ALIGN (0) primitives are transmitted repeatedly. The signals are
differentiated by the length of idle time between the burst times.
As a SAS compliant device, the drive uses three OOB signals: COMINIT/COMRESET and COMWAKE and
COMSAS.OOB operations are beyond the scope of this specification. Please refer to the ANSI SPL-3 specification
for more details.
The drive will initiate OOB by sending COMINITs, under the following conditions:
- POR
- Loss of sync
- Identify timeout

SAS Speed Negotiation


The drive supports G1 (1.5 Gbps), G2 (3.0 Gbps), G3 (6.0 Gbps), and G4 (12.0 Gbps) negotiation speeds. The
default maximum negotiation rate is G4 speed (per byte 32 in the PHY Control and Discover Mode Page 19
subpage 1). Drive is SAS3 device and supports SNW-1, SNW-2, SNW-3 speed negotiation with PHY capabilities
exchange, and both transmitter training (Train_Tx-SNW, at 12G only) and receiver training (Train_Rx-SNW or
Train-SNW). The drive’s PHY capabilities are defined in table below:
PHY Capabilities:

Byte /Bit 7 6 5 4 3 2 1 0

TX SSC
0 Start =1b Reserved Requested Logical Link Rate = 0h
Type = 0b

G2 G3 G4
G1 Without G1 With G2 With G3 With G4 With
1 Without Without Without
SSC=1b SSC=1b SSC=1b SSC=1b SSC=1b
SSC=1b SSC=1b SSC=1b

2 Reserved

3 Reserved Parity

Table 28 SAS Speed Negotiation

 Start is set to 1 to indicate the beginning of the PHY capabilities


 TX SSC Type is set to 1 to indicate that PHY’s transmitter uses center-spreading-SSC when SSC is enabled
 TX SSC Type is set to 0 to indicate that PHY’s transmitter uses down-spreading-SSC when SSC is enabled
 Requested Logical Link Rate field is set to 0 to indicate that drive does not support multiplexing
 G1 Without SSC is set to 1 to indicate that drive supports G1 (1.5 Gbps) without SSC
 G2 Without SSC is set to 1 to indicate that drive supports G2 (3.0 Gbps) without SSC
 G3 Without SSC is set to 1 to indicate that drive supports G3 (6.0 Gbps) without SSC
 G4 Without SSC is set to 1 to indicate that drive supports G4 (12.0 Gbps) without SSC
 G1 With SSC set to 1 to indicate that drive supports G1 (1.5 Gbps) with SSC
 G2 With SSC set to 1 to indicate that drive supports G2 (3.0 Gbps) with SSC
 G3 With SSC set to 1 to indicate that drive supports G3 (6.0 Gbps) with SSC
 G4 With SSC is set to 1 to indicate that drive supports G4 (12.0 Gbps) with SSC
 Parity is set to 1 for even parity of the total number of SNW-3 PHY capabilities, including Start bit.

56
Hard Disk Drive Specification
Training is based on the highest untried commonly supported settings on the exchanged SNW-3 supported settings
bits. If a Train-SNW is invalid and there are additional, untried, commonly supported settings exchanged during
SNW-3, then a new Train-SNW will be performed based on the next highest untried, commonly supported settings.
Table 29 Supported Settings Bit Priorities defines the priority of the supported settings bits.

Priority Bit

Highest G4 With SSC bit

... G4 Without SSC bit

... G3 With SSC bit

... G3 Without SSC bit

... G2 With SSC bit

… G2 Without SSC bit

… G1 With SSC bit

G1 Without SSC bit

Lowest

Table 29 Supported Settings Bit Priorities

PHY Error Handling


This section defines the PHY layer error handling of the drive.

Error Error Handling Procedure

Link Reset After POR or Hard Reset, the drive initiates link reset by transmitting exactly 1 COMINIT. For
other resets, the drive does not initiate Link Reset.

COMINIT Timeout If COMINIT or COMSAS is not received before the ”Hot Plug Timeout" period expires, the
drive continues to transmit DC zero and wait for COMINIT/COMSAS. Firmware is notified.
This is not considered an error.

COMSAS Timeout If COMINIT is detected, COMSAS is transmitted, and COMSAS is not received before the
COMSAS Detect Timeout timer expires, firmware is notified and the drive continues to
transmit DC zero and wait for COMINIT.

Speed Negotiation If speed negotiation fails with no match, or if the drive fails retrying the matched link rate,
Errors firmware is notified and the drive continues to transmit DC zero and wait for COMINIT. If the
match link rate retry fails, the PHY Reset Problem counter is incremented (Log Page 0x18).

Loss of Sync If the drive loses Dword sync long enough for the loss of sync timer to expire, firmware is
notified and the drive transmits a COMINIT to initiate a new link reset. The loss of Dword sync
counter is incremented (Log Page 0x18).

Disparity/Invalid If a disparity error or an invalid Dword is detected by the drive, the Invalid Dword Count is
Dword Error incremented (Log Page 0x18). The Running Disparity Error Count in Log Page 0x18 is not
used

Table 30 PHY Layer Error Handling

57
Hard Disk Drive Specification
Link Layer
The SAS Link layer defines primitives, address frames, and connections. The Link layer is the interface between the
Port layer and the PHY layer. This section describes Link layer behaviors of the drive. For a complete description of
SAS Link layer, please see the ANSI specification, SPL-3.

Address Frames
Address frames are used for the identification sequence and for connection requests and are only sent outside
connections. The Address Frame format is defined below:

Bit
Byte
7 6 5 4 3 2 1 0

0 RSVD Device Type Address Frame Type

1-27 Frame Type Dependent bytes

28-31 CRC

Table 31 Address Frame Format

 Address Frame Type indicates the type of address frame and is defined in Table 32. This field determines the
definition of the frame type dependent bytes.

Value Address Frame Type Description

0000b IDENTIFY: Identification Sequence

0001b OPEN: Connection Request

Others Reserved

Table 32 Frame Type:

58
Hard Disk Drive Specification
Identify Address Frame
The Identify Address Frame format is used for the identification sequence. The Identify Address Frame is sent after
the PHY reset sequence completes. The Identify Address Frame format is defined as follows:

Bit
Byte
7 6 5 4 3 2 1 0
0 RSVD Device Type = 1h Address Frame Type = 0
1 Reserved Reason
SSP STP SMP
2 Reserved Initiator Initiator Initiator RSVD
Port Port Port
SMP
SSP STP
3 Reserved Target RSVD
Target Port Target Port
Port
4-11 Device Name
12-19 SAS Address
20 PHY Identifier
Inside Requested
Persistent Slumber Partial Break_Reply
21 Power Capable ZPSDS Inside
Capable Capable Capable Capable=1b
Persistent ZPSDS
Pwr_DIS
22
Capable
23-27 Reserved
28-31 CRC
Table 33 Identify Address Frame

 Device Type is set to 001b to indicate that this drive is an "End Device"
 Address Frame Type is set to 00b to indicate that this is an IDENTIFY
 Reason indicates the reason for link reset sequence as defined in Table 34
Value Address Frame Type Description
00b Power on
01b OPEN: Connection Request
02b Hard Reset
(received a Hard Reset during hard reset sequence)
04b Loss of Dword synchronization
07b Break timeout timer expired
08b PHY test function stopped
Others RESERVED
Table 34 Reason Field

 Initiator Port bits is set to 000b since this device is a target device only
 Target Port bits is set to 100b since this device is a SSP target device only
 Device Name contains Target Device Identifier
 SAS Address contains the port identifier of the SAS port transmitting this frame
 PHY Identifier contains the PHY identifier of the PHY transmitting this frame
 Persistent Capable is set to 0b to indicate the drive does not support persistent connections
 Power Capable: Set to 00b to indicate drive does not issue PWR_REQ or PWR_DONE, and does not respond
to PWR_GRANT. Setting this field to 01b indicates that the drive is capable of requesting additional
consumption of power (i.e. the drive is a power consumer device). A Power Consumer device manages the
requests received from management application layer and the requests that are sent to power source device. It

59
Hard Disk Drive Specification
also processes power consumption grants received from a power source device. A power consumer device shall
only request additional power consumption on one phy at a time and should:
a) Exit any low power condition before requesting consumption of power beyond the typical peak power, and
b) Disable any enabled low power phy power conditions until consumption of power beyond the typical peak
power is complete and then re-enable any low phy power condition that was disabled.
The Power Capable field is defined as in Table 35
Code Description
00b The device containing the phy:
a) Does not respond to PWR_GRANT with PWR_ACK, PWR_REQ with PWR_ACK, or
PWR_DONE witj PWR_ACK; and
b) Does not issue PWR_REQ or PWR_DONE.
01b The device containing the phy is capable of allowing the management of additional
consumption of power by:
a) Issuing PWR_REQ and PWR_DONE; and
b) Responding to PWR_GRANT with PWR_ACK.
10b The device containing the phy is capable of managing the additional consumption of power
by responding to:
a) PWR_REQ with PWR_ACK:
b) PWR_REQ with PWR_GRANT; and
c) PWR_DONE with PWR_ACK
11b Reserved
Table 35 Power Capable field

 Slumber Capable is set to 0b to indicate that the slumber power PHY mode is disabled. Setting it to 1b
indicates that the drive is capable of supporting the slumber PHY power condition. While the drive is in slumber
PHY power condition:
a) The phy is only capable of processing a COMINIT or COMWAKE
b) The phy may take more time to return to the active phy power condition than while in the partial phy power
condition; and
c) The power consumed by the phy should be less than the power consumed while the phy is in the active phy
power condition and while the phy is in the partial phy power condition.
 Partial Capable is set to 0b to indicate that the partial power PHY mode is disabled. Setting it to 1b indicates
that the drive is capable of supporting partial PHY power condition. While the drive is in Partial power PHY
condition:
a) The phy is only capable of processing COMINIT or COMWAKE;
b) The phy may take less time to return to the active phy power condition than while in the slumber phy power
condition; and
c) The power consumed by the phy should be less than the power consumed while the phy is in the active phy
power condition and may be greater than the power consumed while the phy is in slumber phy power
condition.
 Inside ZPSDS Persistent: set to 0b since this is an "End Device"
 Requested Inside ZPSDS: set to 0b since this is an "End Device"
 Break_Reply Capable: set to 1b to indicate that this port is capable of sending BREAK_REPLY primitive
sequence in responding of receiving BREAK primitive sequences
 Pwr_DIS Capable is set to 1b to indicate the drive does support the PWR_DIS signal as defined in SAS-3

60
Hard Disk Drive Specification
Open Address Frame
The Open Address Frame format is used for the identification sequence. The Open Address Frame is sent after the
PHY reset sequence completes. The Open Address Frame format is defined as follows:

Bit
Byte
7 6 5 4 3 2 1 0

0 Initiator Port=0 Protocol = 1 Address Frame Type = 1

1 Features = 0 Connection Rate = 8h, 9h, Ah, or Bh

2-3 Initiator Connection Tag

4-11 Destination SAS Address

12-19 Source SAS Address

20 Source Zone Group

21 Pathway Blocked Count

22-23 Arbitration Wait Time

24-27 More Compatible Features

28-31 CRC

Table 36 Open Address Frame Format

 Initiator Port is set to zero when the drive is the source port acting as a SAS target
 Protocol is set to 001b to indicate SSP Protocol
 Features is set to zero and ignored by the drive per SPL-3
 Connection Rate is set to 8h (1.5Gbps), 9h (3Gbps), Ah (6Gbs), or Bh (12Gbs), depending on requested link rate.
Rate matching is supported by the drive, therefore if the link to the drive is 3.0Gbps, and the Connection Rate is
1.5Gbps, the drive will insert ALIGNs between Dwords, to match the Connection Rate.
 Initiator Connection Tag is set by the drive to the last value received from this Initiator.
 Destination SAS Address contains the port identifier of the SAS port to which a connection is being requested.
 Source SAS Address contains the port identifier on the port that originated this frame (i.e. the drive’s port address).
 Source Zone Group is set to zero and ignored by the drive per SPL-3
 Pathway Blocked Count indicates the number of times the port has retried this connection request due to
receiving OPEN_REJECT (PATHWAY BLOCKED). The drive will not increment the PATHWAY BLOCKED COUNT
value past FFh.
 Arbitration Wait Time indicates how long the port transmitting the OPEN address frame has been waiting for a
connection request to be accepted. For values from 0000h to 7FFFh, the Arbitration Wait Time timer increments
in one microsecond steps. For values from 8000h to FFFFh, the Arbitration Wait Time timer increments in one
millisecond step.
 More Compatible Features is set to zero and ignored by the drive per SPL-3.

61
Hard Disk Drive Specification
Link Layer Error Handling
This section defines the Link layer error handling of the drive.

Error Error Handling Procedure

IDENTIFY Timeout If IDENTIFY is not received before the IDENTIFY timer expires (1ms), firmware is notified
and the drive transmits a COMINIT to initiate a new link reset.

BREAK Received If BREAK is received while the drive has ACK/NAK balance, BREAK or BREAK_REPLY
is transmitted and a new connection may be opened if the drive still has frames to
transmit. Firmware is not notified. If BREAK is received while the drive does NOT have
ACK/NAK balance, BREAK or BREAK_REPLY is transmitted and the current command is
aborted and will return Check Condition status with sense data indicating an ACK/NAK
timeout.

NAK and ACK/NAK If a NAK is received on a RESPONSE frame, the RESPONSE frame is retransmitted with
Timeout the RETRANSMIT bit set to zero. If an ACK or NAK is not received for a RESPONSE
frame within 1ms, the RESPONSE frame will be retransmitted with the RETRANSMIT bit
set to one. The drive will retry sending a RESPONSE frame once.

Bad Frame CRC If a frame fails the CRC check, the frame is NAKed by the drive and discarded. This is a
link layer function. The command associated with a NAKed DATA or XFER_RDY frame is
aborted with check condition status and sense data corresponding to
DATA_PHASE_ERROR is returned. COMMAND frames that fail the CRC check are
NAKed and discarded.

OPEN_REJECT OPEN_REJECT – Retry-able Variations


 OPEN_REJECT(RETRY) - Will be retried indefinitely by the drive. This case is
considered to occur when the initiator is temporarily not available to accept
connections
 OPEN_REJECT(RATE_NOT_SUPPORTED) – If this occurs, it must mean that a link
between the drive and initiator negotiated to a lower link rate after the command was
received. The drive will retry at the connection at a lower rate, and if a connection
eventually fails for this session at 1.5Gbps, the command is internally aborted.
 OPEN_REJECT – (PATHWAY_BLOCKED) – handled the same as
OPEN_REJECT(RETRY)
 OPEN_REJECT(BAD_DESTINATION) – handled the same as
OPEN_REJECT(RETRY)
OPEN_REJECT – Non-Retry-able Variations – If these are received, the command is
internally aborted by the drive
 OPEN_REJECT(BAD_DESTINATION)
 OPEN_REJECT(WRONG_DESTINATION)
 OPEN_REJECT(PROTOCOL_NOT_SUPPORTED)

Credit Timeout If credit is not received before the credit timer expires, DONE(CREDIT_TIMEOUT) is sent
to the Initiator.

Table 37 Link Layer Error Handling (part 1 of 2)

62
Hard Disk Drive Specification
Error Error Handling Procedure

DONE Timeout If credit is extended and the DONE timer expires, BREAK is sent by hardware to tear
down the connection.

CREDIT_BLOCKED If CREDIT BLOCKED is received and the drive has frames to send in the current
connection, DONE(CREDIT_TIMEOUT) is returned. Otherwise, DONE(NORMAL) is
returned.

OPEN Frame Reserved fields in the OPEN frame are not checked.
Checking  The Dest Address field is checked, and if it doesn’t match
OPEN_REJECT(WRONG_DESTINATION) is returned.
 The Protocol field is checked and if it isn’t set to SSP
OPEN_REJECT(PROTOCOL_NOT_SUPPORTED) is returned.
 If the Link Rate exceeds the physical link rate on that port,
OPEN_REJECT(LINK_RATE_NOT_SUPPORTED) is returned.
 The Initiator bit is not checked.

OPEN Response If AIP or OPEN_ACCEPT is not received before the OPEN Response timer expires, the
Timeout hardware transmits BREAK.

CLOSE Timeout If CLOSE is not received before the CLOSE timer expires, the hardware transmits
BREAK.

PHY Not Ready If Link Reset occurs outside of a connection, commands can execute normally across the
link reset. If a link reset occurs inside of a connection, the behavior is similar to BREAK in
that it is treated as an abruptly closed connection. In cases where the command cannot
be continued normally (e.g. a frame is corrupted by OOB signals, or we do not have
ACK/NAK balance), the command is terminated with CHECK CONDITION status with
sense data corresponding to ACK/NAK TIMEOUT.

Table 38 Link Layer Error Handling (part 2 of 2)

63
Hard Disk Drive Specification
Transport Layer
The Transport layer defines frame formats. The Transport layer is the interface between the Application layer and
Port layer. It is responsible for constructing and parsing frame contents. For SSP, the Transport layer only receives
frames from the Port layer that are going to be ACKed by the Link layer. This section describes Transport layer
behaviors of the drive. For a complete description of SAS Transport layer, please see the ANSI specification, SPL-
3.
The Transport layer defines the frame format as follows.
Bit
Byte
7 6 5 4 3 2 1 0
0 Frame Type
1-3 Hashed Destination Address
4 Reserved
5-7 Hashed Source Address
8-9 Reserved
Retry Data
10 Reserved TLR Control = 00b Retransmit RSVD
Frames =0b
11 Reserved # of fill bytes
12-15 Reserved
16-17 Tag
18-19 Target Port Transfer Tag
20-23 Data Offset
24-m Information Unit
Fill Bytes (if needed)
(n-3)-n CRC
Table 39 SAS Frame Format

FRAME TYPE field, which defines the format of the INFORMATION UNIT field as follows:
Code Name of Frame Information Unit Originator IU Size (bytes)
01h DATA Data Initiator or Target 1-1024
05h XFER_RDY Data Transfer Ready Target 12
06h COMMAND Command Initiator 28-284
07h RESPONSE Response Target 24-1024
16h TASK Task Management Function Initiator 28
f0-ffh Vendor Specific
all others Reserved
Table 40 FRAME TYPE Field

 Hashed Destination SAS Address contains the hashed value of the destination SAS address
 Hashed Source SAS Address contains the hashed value of the source SAS address
 TLR Control is not supported
 Retry Data Frames is not supported
 Changing Data Pointer is not supported
 Number of Fill Bytes indicates the number of fill bytes between the INFORMATION UNIT field and the CRC
field. The Retransmit bit is set to one for RESPONSE frames when attempting to retransmit this frame due to
receiving an error during the initial transmission. It shall be set to zero for all other frame types. The Number of

64
Hard Disk Drive Specification
Fill Bytes field shall be set to zero for all frame types except DATA frames
 Tag field contains a value that allows the SSP port to establish a context for commands and task management
functions
 Target Port Transfer Tag is set and used by the drive. The initiator should echo this field in outbound data IU.
 Information Unit contains the information unit, the format of which is defined by the FRAME TYPE field.
 Fill bytes shall be included after the INFORMATION UNIT field so the CRC field is aligned on a four byte
boundary.

65
Hard Disk Drive Specification
Command Information Unit
The COMMAND frame is sent by an SSP initiator port to request that a command be processed by the drive.
Bit
Byte
7 6 5 4 3 2 1 0
0-7 Logical Unit Number
8 Reserved
Task
9 Disable First Burst=0 Reserved
Attribute
10 Reserved
11 Additional CDB Length (in Dwords) Reserved
12-27 CDB
28-n Additional CDB Bytes

Table 41 COMMAND Information Unit

 Logical Unit Number contains the address of the logical unit. The drive only supports a LUN of 0’s.
 Disable First Burst is not supported by the drive
Task Attribute is defined as follows:
Value Attribute
000b Simple_Q
001b Head_of_Q
010b Ordered_Q
100b ACA_Q (not supported)
101b Reserved

Table 42 Task Attribute Field

 Additional CDB Length contains the length in Dwords (four bytes) of the ADDITIONAL CDB field.
 CDB and Additional CDB Bytes together contain the CDB.

66
Hard Disk Drive Specification
TASK Information Units
Bit
Byte
7 6 5 4 3 2 1 0
0-7 Logical Unit Number
8-9 Reserved
10 Task Management Function
11 Reserved
12-13 Tag of Task to be Managed
14-27 Reserved

Table 43 TASK Information Unit

 Logical Unit Number field contains the address of the logical unit. The drive only supports a LUN of 0’s.
 Task Management Function field is defined as follows:

Value Function

01h ABORT TASK: The drive shall perform the ABORT TASK associated with the value of the TAG OF
TASK TO BE MANAGED field

02h ABORT TASK SET: The drive shall perform the ABORT TASK SET by aborting all outstanding tasks for
the Initiator that sent the TMF.

04h CLEAR TASK SET: This TMF causes the drive to abort all tasks in the task set. The action is equivalent
to receiving a series of Abort Task requests from all Initiators.
A unit attention condition shall be generated for all other Initiators with tasks in the task set. The
Additional Sense Code shall be Commands cleared by another Initiator.

08h LUN RESET: The LUN RESET causes the Target to execute a hard reset. This means:
1. Abort all tasks for all Initiators on either both ports.
2. Release any device reservation on either port.
3. Set a Unit Attention condition for all Initiators.

10h I_T NEXUS RESET: The I_T NEXUS RESET causes the drive to abort all outstanding tasks for the
Initiator that sent the TMF. In addition, a Unit Attention is set for the initiator that sent the TMF,
indicating I_T NEXUS LOSS. This TMF does not affect task sets for other initiators.

40h CLEAR ACA (not supported)

80h QUERY TASK: The drive shall return a response of FUNCTION SUCCEEDED if the specified task
exists, or FUNCTION COMPLETE if the specified task does not exist.

81h QUERY TASK SET: The drive shall return a response of FUNCTION SUCCEEDED if there is any task
exist, or FUNCTION COMPLETE if there is no task exist.

82h QUERY ASYNCHRONOUS EVENT (formerly QUERY UNIT ATTENTION): The drive shall return a
response of FUNCTION SUCCEEDED if there is a unit attention or a deferred error pending, or
FUNCTION COMPLETE if there is no unit attention or no deferred error pending.

others RESERVED: The Drive will return a RESPONSE frame with the DATAPRES field set to
RESPONSE_DATA and its RESPONSE CODE field set to TASK MANAGEMENT FUNCTION NOT
SUPPORTED.

Table 44 TASK MANAGEMENT FUNCTION Field

67
Hard Disk Drive Specification
 If TMF is set to ABORT TASK or QUERY TASK, the Tag of Task to be Managed field specifies the TAG value
from the COMMAND frame that contained the task to be aborted or checked. For all other TMF’s, this field is
ignored.
 If TMF is set to QUERY ASYNCHRONOUS EVENT, the Additional Response Information argument is set to
000000h for the response of FUNCTION COMPLETE. If the response is FUNCTION SUCCEED, the Additional
Response Information argument is set as defined in Table 45.
Bit
Byte
7 6 5 4 3 2 1 0
0 Reserved UADE Depth Sense Key
1 Additional Sense Code
2 Additional Sense Code Qualifier

Table 45 Additional Response Information Argument for Query Async Event

 UADE Depth is the number of pending unit attention conditions or deferred errors. It is defined as in Table 46
 Sense Key is the value of the SENSE KEY field in the highest-priority pending unit attention condition or
deferred error.
 Additional Sense Code is the value of the ADDITIONAL SENSE CODE field in the highest-priority pending unit
attention condition or deferred error.
 Additional Sense Code Qualifier is the value of the ADDITIONAL SENSE CODE QUALIFIER field in the
highest-priority pending unit attention condition or deferred error

Code Description

00b The combined number of unit attention conditions and deferred errors is unknown

01b The combined number of unit attention conditions and deferred errors is one

10b The combined number of unit attention conditions and deferred errors is greater than one

11b Reserved

Table 46 UADE DEPTH Field

68
Hard Disk Drive Specification
XFER_RDY Information Units
The XFER_RDY frame is sent by the drive to request write data (i.e. out bound data) from the initiator.

Bit
Byte
7 6 5 4 3 2 1 0

0-3 Requested Offset

4-7 Write Data Length

8 - 11 Reserved

Table 47 XFER_RDY Information Units

 Requested Offset contains the buffer offset of the segment of write data the Initiator may transmit to the drive
(using DATA frames). The requested offset shall be a multiple of four.
 Write Data Length contains the number of bytes of write data the Initiator may transmit to the drive (using
DATA frames) from the requested offset.

DATA Information Units


The DATA frame is sent by the drive to the Initiator (in bound data) or by the Initiator to the drive (out bound data).

Bit
Byte
7 6 5 4 3 2 1 0

0 - (n-1) Data

Table 48 Data Information Unit

69
Hard Disk Drive Specification
RESPONSE Information Units
The RESPONSE frame is sent by the drive to the Initiator (in bound data) or by the Initiator to the drive (out bound
data).

Bit
Byte
7 6 5 4 3 2 1 0

0-7 Reserved

MSB
8-9 Retry Delay Timer
LSB

10 Reserved DataPres

11 Status

12-15 Reserved

16-19 Sense Data Length (n bytes)

20-23 Response Data Length (m bytes)

24- (24+m) Response Data

(24+m) - (23+m+n) Sense Data

Table 49 Response Information Unit

Retry Delay Timer contains the retry delay timer code which is defined as follows:

Status Code Retry Delay Timer Description


Code

BUSY 0000h Same as normal busy

0001h-FFEFh The number of 100 milliseconds increments which Initiator should wait
before sending another command to drive

FFF0h-FFFDh Reserved

FFEFh Initiator should stop sending commands to drive

FFFFh Drive is not able to accept the command

0000h Same as normal busy

QUEUE FULL 0001h-FFEFh Initiator should wait before sending another command to the drive until:
a) At least the number of 100 milliseconds increments indicated in the
RETRY DELAY TIMER CODE field have elapsed; or
b) A command addressed to the drive completes.

FFF0h-FFFFh Reserved

GOOD 0000h-FFFFh Reserved

Table 50 RETRY DELAY TIMER Field (part 1 of 2)

70
Hard Disk Drive Specification
Status Code Retry Delay Timer Description
Code

CHECK CONDITION 0000h-FFFFh Reserved

CONDITION MET 0000h-FFFFh Reserved

RESERVATION 0000h-FFFFh Reserved


CONFLICT

ACA ACTIVE 0000h-FFFFh Reserved

TASK ABORT 0000h-FFFFh Reserved

Table 51 RETRY DELAY TIMER Field (part 2 of 2)

DataPres indicates the format and content of the STATUS field, SENSE DATA LENGTH field, RESPONSE DATA
LENGTH field, RESPONSE DATA field, and SENSE DATA field.

Value DATAPRES Description

00b NO DATA: no data present

01b RESPONSE_DATA: response data present

10b SENSE_DATA: sense data present

11b Reserved

Table 52 DATAPRES Field

Bit
Byte
7 6 5 4 3 2 1 0

0-2 Reserved

3 Response Code

Table 53 RESPONSE Data

Response Codes are defined as follows:

Value RESPONSE Code Description

00b Task Management Function complete

02b Invalid Frame

04b Task Management Function not supported

05b Task Management Function failed

08b Task Management Function succeeded

09b Invalid LUN

others Reserved

Table 54 RESPONSE Codes

71
Hard Disk Drive Specification
Sequences of SSP Information Units
SSP Information Units are used in conjunction with one another to execute SCSI commands. This section provides
a brief overview of SAS SSP Information Unit sequences that would be required to complete a SCSI command.

Initiator Target Initiator Target


Command IU Command IU

Xfr_Rdy IU
Data IU (s)

Data IU (s)

Response IU Response IU

Read Type Command Write Type Command


Time IU Sequence Time Time IU Sequence Time

Figure 11 SSP Information Unit Sequences

72
Hard Disk Drive Specification
Transport Layer Error Handling
This section defines the Transport layer error handling by the drive.

Error Error Handling Procedure

SSP Header Field Reserved fields in SSP frames are not checked.
Checking

Data Offset Error If a DATA frame with an invalid Data Offset is received, the command associated with the
DATA frame is aborted with Check Condition status and sense data corresponding to a
DATA OFFSET ERROR is returned

I_T NEXUS Loss If a connection cannot be established to an Initiator before the I_T NEXUS LOSS timer
Timeout expires (Mode Page 0x19), all commands from the Initiator are internally aborted. The first
new command received from the affected Initiator results in a CHECK CONDITION with
sense data corresponding to I_T NEXUS LOSS OCCURRED.

Initiator Response If DATA frames corresponding to an outstanding XFER_RDY frame are not received
Timeout before the Initiator Response timer expires (Mode Page 0x19), the command is aborted
with CHECK CONDITION status and sense data corresponding to INITIATOR RESPONSE
TIMEOUT is returned for the affected command.

Data Overflow If more data is received than requested via an XFER_RDY frame, the affected command is
aborted with CHECK CONDITION status with sense data corresponding to TOO MUCH
WRITE DATA is returned.

Invalid Target Port If a DATA frame is received and the TPTT is not set to the value used in the corresponding
Transfer Tag XFER_RDY frame, the frame is discarded. If a COMMAND or TASK frame is received with
the TPTT set to a value other than 0xFFFF, a RESPONSE frame with RESPONSE_DATA
set to INVALID FRAME is returned.

Invalid Frame If a DATA frame is received with zero bytes of payload data, the frame is discarded. This is
Length not considered an error. If a COMMAND/TASK frame that is too short is received,
RESPONSE data corresponding to INVALID FRAME is returned. The additional CDB
length field of a COMMAND frame is not checked for correctness. If a DATA frame is
received with a payload greater than 1024 bytes, the frame is discarded and the command
is aborted with CHECK CONDITION status and sense data corresponding to
DATA_PHASE_ERROR is returned.

Table 55 Transport Layer Error Handling

73
Hard Disk Drive Specification
SCSI Command Set
Summaries of the SCSI commands supported by the drive are listed below. O = optional, M = mandatory
Type Code Description
M 04h FORMAT UNIT (04)
M 12h INQUIRY (12)
O 4Ch LOG SELECT (4C)
O 4Dh LOG SENSE (4D)
O 15h MODE SELECT (15)
O 55h MODE SELECT (55)
O 1Ah MODE SENSE (1A)
O 5Ah MODE SENSE (5A)
O 5Eh PERSISTENT RESERVE IN (5E),
O 5Fh PERSISTENT RESERVE OUT (5F)
O 34h PRE-FETCH (34)
O 90h PRE-FETCH (90)
M 08h READ (6) - (08)
M 28h READ (10) - (28)
O A8h READ (12) - (A8)
O 88h READ (16) - (88)
O 7Fh/09h READ (32) - (7F/09)
O 3Ch READ BUFFER (3C)
M 25h READ CAPACITY (10) - (25)
O 9Eh/10h READ CAPACITY (16) (9E/10)
O 37h READ DEFECT DATA (37)
O B7h READ DEFECT DATA (B7)
O 3Eh READ LONG (3E),page 207
O 9Eh READ LONG (9E),page 208
O 07h REASSIGN BLOCKS (07)
O 1Ch RECEIVE DIAGNOSTICS RESULTS (1C)
M 17h RELEASE (17)
O 57h RELEASE (57)
O A3h/05h REPORT DEVICE IDENTIFIER (A3/05)
O A0h REPORT LUNS (A0)
O A3h/0Ch REPORT SUPPORTED OPERATION CODES (A3/0C)
O A3h/0Dh REPORT SUPPORTED TASK MANAGEMENT FUNCTIONS (A3/0D)
M 03h REQUEST SENSE (03)
M 16h RESERVE (16)

Table 56 SCSI Commands Supported (part 1 of 2)

74
Hard Disk Drive Specification
Type Code Description
O 56h RESERVE (56)
O 01h REZERO UNIT (01)
O 48h SANITIZE (48)
O A2h SECURITY PROTOCOL IN (A2)
O B5h SECURITY PROTOCOL OUT (B5)
M 1Dh SEND DIAGNOSTIC (1D)
O A4h/06h SET DEVICE IDENTIFIER (A4/06)
O 1Bh START STOP UNIT (1B)
O 35h SYNCHRONIZE CACHE (10) - (35)
O 91h SYNCHRONIZE CACHE (16) - (91)
M 00h TEST UNIT READY (00)
O 2Fh VERIFY (10) - (2F)
O AFh VERIFY (12) - (AF)
O AFh VERIFY (16) - (8F)
O 7Fh/0Ah VERIFY (32) - (7F/0A)
M 0Ah WRITE (6) - (0A)
M 2Ah WRITE (10) - (2A)
O AAh WRITE (12) - (AA)
O 8Ah WRITE (16) - (8A)
O 7Fh/0Bh WRITE (32) - (7F/0B)
O 2Eh WRITE AND VERIFY (10) - (2E)
O AEh WRITE AND VERIFY (12) - (AE)
O 8Eh WRITE AND VERIFY (16) - (8E)
O 7Fh/0Ch WRITE AND VERIFY (32) - (7F/0C)
O 3Bh WRITE BUFFER (3B)
O 3Fh WRITE LONG (10) (3F)
O 9Fh WRITE LONG (16) (9F)
O 41h WRITE SAME (10) - (41)
O 93h WRITE SAME (16) - (93)
O 7Fh/0Dh WRITE SAME (32) - (7F/0D)

Table 57 SCSI Commands Supported (part 2 of 2)

75
Hard Disk Drive Specification
SCSI Control Byte
The Control Byte is the last byte of every CDB. The format of this byte is shown below.
VU = VU stands for Vendor Unique.

Bit

7 6 5 4 3 2 1 0

VU = 0 Reserved = 0

Table 58 SCSI Control Byte

Note: * - The drive ignores the link bit and flag bit in the CDB.

Abbreviations
These abbreviations are used throughout the following sections:
LUN Logical Unit Number. An encoded three bit identifier for the logical unit.
VU Vendor Unique bits
LBA Logical Block Address
RSVD Reserved
MSB Most Significant Byte
LSB Least Significant Byte

Byte ordering conventions


In this specification, where it is not explicitly stated, all multi-byte values are stored with the most significant byte
first. For example, in a 4 byte field, byte 0 will contain the MSB and byte 3 the LSB.

76
Hard Disk Drive Specification
FORMAT UNIT (04)
Bit
Byte
7 6 5 4 3 2 1 0
0 Command Code = 04h
LONG
1 FMTPINFO FMTDATA CMPLIST Defect List Format
LIST=0
2 VU = 0
3-4 Obsolete = 0
5 VU = 0 Reserved = 0 FLAG LINK
Table 59 FORMAT UNIT

- FMTPINFO (Format Protection Information) in combination with the Protection Field Usage field in the
Parameter List Header specifies whether or not the drive enables or disables the use of protection information
(see table defined in the Parameter List Header section).
- FmtData set to one specifies that a Data Out phase follows the Command phase. The Data Out phase
consists of a Parameter List header, optionally followed by an Initialization Pattern Descriptor, optionally
followed by a Defect List. If FmtData=0, the following defaults are assumed: DPRY=0, DCRT=1, STPF=1,
IP=0, DSP=0, Immed=0.
- CmpLst
- Set to one specifies that the Grown Defect List (GList) existing prior to the issuance of the Format Unit
command be discarded. If provided, the DList then becomes the GList. Following these operations, the Drive
will be formatted with the PList and GList.
- Set to zero specifies that the GList existing prior to the issuance of the Format Unit command is retained. If
provided, the DList is combined with the GList to become the new GList. Following these operations, the Drive
will be formatted with the PList and GList.
Note: The drive manages two internal defect lists and one external. The Plist is created at time of manufacture. The
Glist is built after manufacture by the Initiators’ use of the REASSIGN BLOCK command and the Automatic
Reallocate functions. The Dlist is an external list. It is supplied by the Initiator in the Data Out phase of the FORMAT
UNIT command.
- Defect List Format specifies the format of the defect descriptor transferred to the Target when FmtData bit is
set to one. The Target supports the following three defect descriptor formats for the FORMAT UNIT command:

Format Description
000b Block format
100b Bytes From Index format
101b Physical Sector format
If the FmtData bit is set to zero, this field must also be zero. Otherwise the command will complete with a CHECK
CONDITION with a sense key of Illegal Request and an additional sense code of Invalid Field in CDB.
Notes: It is recommended that the MODE SELECT command be issued prior to the FORMAT UNIT command to
specify parameters that affect the formatting process.
The Block Length parameter of the Mode Select Parameter List’s Block Descriptor is used during formatting and is
saved following a successful format operation. If a MODE SELECT command has not been issued since the last
reset or start-up (bring-up) sequence, then the Block Length from the previous format operation is used.
Subsequent to receiving a FORMAT UNIT command, the Target responds to commands as follows:
- All commands except REQUEST SENSE and INQUIRY return Check Condition status, while the format
operation is an active I/O process.
- When tagged queuing is enabled (DQue = 0), all commands except REQUEST SENSE and INQUIRY return

77
Hard Disk Drive Specification
Queue Full status, while the FORMAT UNIT command is a queued I/O process.
- When tagged queuing is disabled (DQue = 1), all commands except REQUEST SENSE and INQUIRY return
Busy status, while the FORMAT UNIT command is a queued I/O process
- If a REQUEST SENSE command is received while a format operation is an active I/O process, the Target
returns Good status. The sense key is set to Not ready and the additional sense code and qualifier is set to
Format In Progress.
- If an INQUIRY command is received while a format operation is an active I/O process, the Target returns Good
status and Inquiry data as requested.
The format operation must complete successfully for the Drive to be usable. If the command is interrupted by a
reset, power down, or an unrecoverable error, the Drive enters a degraded mode of operation in which reading and
writing are prohibited. To exit the degraded mode, another FORMAT UNIT command must be sent by the Initiator
and completed successfully by the Target.
The FORMAT UNIT command sets the Unit Attention Condition for all Initiators except the one that issued the
FORMAT UNIT command.

Parameter List Header


Following is the format of the Parameter List Header sent during the data out phase when FmtData is set to one.

Bit
Byte
7 6 5 4 3 2 1 0
0 Reserved = 0 Protection Field Usage
1 FOV DPRY DCRT STPF =1 IP Obsolete Immed Vendor-specific
(MSB)
2 -3 Defect
List Length(LSB)
4-n Initialization Pattern Descriptor
(n+1) - m Defect Descriptor

Table 60 Format of the Short Parameter List Header

Bit
Byte
7 6 5 4 3 2 1 0
0 Reserved = 0 Protection Field Usage
1 FOV DPRY DCRT STPF =1 IP Obsolete Immed Vendor-specific
2 Reserved
3 P_I_INFORMATION = 0 PROTECTION INTERVAL EXPONENT = 0
4
(MSB)
... DEFECT LIST LENGTH
(LSB)
7
8-n Initialization Pattern Descriptor
(n+1) - m Defect Descriptor

Table 61 Format of the Long Parameter List Header

- Protection Field Usage: in combination with the format protection information (FMTPINFO) field in the CDB
specifies whether or not the drive enables or disables the use of protection information:

78
Hard Disk Drive Specification
Protection
FMTPINFO Description
Field Usage
00h 000h The drive will be formatted to type 0 protection
Check Condition status will be returned with the sense key set to Illegal Request
01h xxxh
and the additional sense code set to Invalid Field in the CDB.
10h 000h The drive will be formatted to type 1 protection
11h 000h The drive will be formatted to type 2 protection
Type 3 protection is not supported - Check Condition status will be returned with
11h 001h the sense key set to Illegal Request and the additional sense code set to Invalid
Field in the Parameter List

Table 62 Format of the Long Parameter List Header

All other combinations of FMTPINFO and Protection Field Usage will result in Check Condition status to be returned
with the sense key set to Illegal Request and the additional sense code set to Invalid Field in the Parameter List.
Type 0 protection specifies that the drive shall disable the use of protection information and format to the block size
specified. Following a successful format, the PROT_EN bit in the READ CAPACITY (16) parameter data will
indicate that protection information is disabled.
Type 1 and type 2 protection specifies that the drive shall enable the use of protection information and format to the
block size specified + 8 (e.g., if the block length is 512, then the formatted block length is 520). See format of data
below. When protection information is written during a FORMAT UNIT command, protection information shall be
written with a default value of all 0xFF's. Following a successful format, the PROT_EN bit in the READ CAPACITY
(16) parameter data will indicate that protection information is enabled and the P_TYPE field in the READ
CAPACITY (16) parameter data will indicate the protection type.

Bit
Byte
7 6 5 4 3 2 1 0
0... n User Data
n... n+1 Logical Block Guard
n+2... n+3 Logical Block Application Tag
n+4... n+7 Logical Block Reference Tag

Table 63 Data Format with Protection field

- The Logical Block Guard field contains a CRC that covers the preceding user data. This field is
generated/checked per the SBC standard.

The Logical Block Application Tag field may be modified by the initiator if the ATO bit is set to zero in mode page
0x0A. If the ATO bit is set to one, then the initiator shall not modify the Logical Block Application Tag field. This field
is generated/checked per the SBC standard.
- The Logical Block Reference Tag field is generated/checked depending on protection types. With Type 1
protection, the Logical Block Reference Tag in the first logical block of the data transfer shall contain the least
significant four bytes of the LBA contained in the Logical Block Address field of the command. Subsequent
blocks shall contain the previous logical block reference tag plus one. With Type 2 protection, the Logical Block
Reference Tag in the first logical block of the data transfer shall contain the value in the Expected Initial Logical
Block Reference Tag field of the command. Subsequent blocks shall contain the previous logical block
reference tag plus one.
- FOV (Format Options Valid) bit set to zero indicates that the Target should use its default settings for the
DPRY (0), DCRT (1), STPF (1), IP (0), and DSP (1) bits. These bits must all be set to zero in the Parameter
List Header when FOV=0, or the command will be terminated with Check Condition status, sense key of Illegal
Request, and additional sense code of Invalid Field in Parameter List. FOV=1 indicates that the values set in
DPRY, DCRT, STPF, IP, and DSP will be defined as specified below.

79
Hard Disk Drive Specification
- DPRY (Disable Primary) bit set to zero indicates that the Target does not use portions of the medium identified
as defective in the primary defect Plist for Initiator addressable logical blocks. If the Target cannot locate the
Plist or it cannot determine whether a Plist exists, the Target terminates the FORMAT UNIT command as
described for STPF=1. A DPRY bit set to one indicates that the Target does not use the Plist to identify
defective areas of the medium. The Plist is not deleted. DPRY must be set to 0 when DCRT is set to 0.
- DCRT (Disable Certification) bit set to zero indicates that the Target performs a medium certification operation
and generates a Certification List (Clist), and adds the Clist to the Glist. DPRY must be set to 0 when DCRT is
set to 0. A DCRT bit of one indicates that the Target does not generate a Clist or perform a certification
process.
Note: Since the DCRT bit is part of the Data Out phase that follows the FORMAT command, the FCERT bit in
Mode Page 0 is provided to control certification when the FORMAT command is issued with no Data Out
phase. If a FORMAT command is issued with a Data Out phase then FCERT is ignored.
- STPF (Stop Format) bit must be set to one. If one or both of the following conditions occurs, the Target
terminates the FORMAT UNIT command with Check Condition status. The sense key is set to Medium Error
and the additional sense code is set to Defect List Not Found if the first condition occurred or to Defect List
Error if the second condition occurred.
- The Target cannot locate a required Dlist nor determine that the list exists.
- The Target encounters an unrecoverable error while accessing a required Dlist.
- IP (Initialization Pattern) bit set to zero specifies that an initialization pattern descriptor is not included and all
customer data will be initialized to zeroes. An IP bit of one specifies that an Initialization Pattern Descriptor is
included in the FORMAT UNIT parameter list following the parameter list header.

Initialization Pattern
Bit
Byte
7 6 5 4 3 2 1 0
0 IP Modifier = 0 SI Reserved = 0
1 Initialization Pattern Type = 0 or 1
2-3 Initialization Pattern Length (n-3)
4 Initialization Pattern
... ...
n Initialization Pattern

Table 64 Initialization Pattern Descriptor

- IP Modifier must be set to 0, indicating that the drive will not modify the initialization pattern.
- SI (Security Initialize) bit set to 1 specifies that all customer data sectors, including those that have been
previously reassigned, will be initialized. SI set to 0 specifies that only the current customer accessible sectors
will be formatted.
- Initialization Pattern Type
- Type of 0 will use a default initialization pattern.
- Type of 1 specifies that the Initialization Pattern specified shall be repeated as required to fill each logical
block.
- Initialization Pattern Length specifies the number of bytes that follow in the Initialization Pattern field, and
must be less than or equal to the current block size, and non-zero.
- If Initialization Pattern Type is 0 and the Initialization Pattern Length is not set to 0, Check Condition status
will be returned, with the sense key set to Illegal Request and the additional sense code set to Invalid Field in
Parameter List
- If Initialization Pattern Type is 1 and the Initialization Pattern Length is set to 0, Check Condition status will be
returned, with the sense key set to Illegal Request and the additional sense code set to Invalid Field in
Parameter List.

80
Hard Disk Drive Specification
- DSP (Disable Saving Parameters) bit when 0 indicates the target is to save all the current MODE SELECT
savable parameters during the format operation. When the bit is 1, the target is not to save the current MODE
SELECT savable parameters.
- Immed (Immediate) bit set to 0 requests that status be returned at the end of the format operation. An
immediate bit set to 1 requests that status be returned immediately following CDB validation and transfer of
data in the Data Out phase. If the format operation, with the immediate bit set to 1, terminates in error,
DEFERRED ERROR SENSE data is generated.
- P_I_INFORMATION field shall be set to 0. For a type 1 protection information request, if the PROTECTION
INTERVAL EXPONENT field is not set to 0, then the device server shall terminate the command with CHECK
CONDITION status with the sense key set to ILLEGAL REQUEST and the additional sense code set to
INVALID FIELD IN PARAMETER LIST.
- For a type 2 protection or a type 3 protection format request, the protection interval exponent determines the
length of user data to be sent before protection information is transferred (i.e., the protection information
interval). The protection information interval is calculated as follows: protection information interval = logical
block length ÷ 2(protection interval exponent) where: logical block length is the length in bytes of a logical
block as specified in the mode parameter block descriptor protection interval exponent is the contents of the
PROTECTION INTERVAL EXPONENT field.
- A protection interval exponent value of 3 is supported for 4096 byte logical blocks (512 bytes per protection
information interval). A protection interval exponent value of 0 is supported for all supported logical block
sizes. If these conditions are not met, then the device server shall terminate the command with CHECK
CONDITION status with the sense key set to ILLEGAL REQUEST and the additional sense code set to
INVALID FIELD IN PARAMETER LIST.
- Defect List Length field specifies the total length in bytes of the defect descriptors that follow (not including
the Initialization Pattern Descriptor, if any). Up to 1024 defect descriptors are allowed. The Defect List Length
must be equal to four times the number of defect descriptors for BLOCK format, or eight times the number of
defect descriptors for BYTES FROM INDEX and PHYSICAL SECTOR formats. Otherwise the command is
terminated with Check Condition status with the sense key set to Illegal Request and the additional sense code
set to Invalid Field in Parameter List.

81
Hard Disk Drive Specification
Defect Descriptor
Three defect descriptor formats are supported. Entries are not required to be in ascending order. If an entry does
not correspond to a valid user addressable media location, the command terminates with Check Condition status
with the sense key set to Illegal Request and the additional sense code set to Invalid Field in Parameter List.

Block Format - 000b


Format of the Dlist sent during the data out phase when Dlist Format is Block format (000b) and FmtData is set to
one.

Bit
Byte
7 6 5 4 3 2 1 0
(MSB)
0-3 Defective Logical Block Address
(LSB)
4n
(MSB)
4n+1
Defective Logical Block Address n
4n+2
(LSB)
4n+3
Table 65 Defect Descriptor - Block Format (for n + 1 defects)

The Block format of the Dlist is the LBA of each defective sector.
Note: If a Defective LBA entry, when converted to a physical sector, is equal to the physical sector of a Plist entry
and DPRY = 1, then the entry is not added to the Glist.

Bytes From Index Format - 100b


Format of the Dlist sent during the data out phase when Dlist Format is Bytes from Index format (100b) and
FmtData is set to one.
Bit
Byte
7 6 5 4 3 2 1 0
(MSB)
0-2 Cylinder Number of Defect
(LSB)
3 Head Number of Defect
(MSB)
4-7 Defect Bytes from Index
(LSB)
8n (MSB)
8n + 1 Cylinder Number of Defect n
8n + 2 (LSB)
8n + 3 Head Number of Defect n
8n + 4
(MSB)
8n + 5
Defect (n) Bytes from Index
8n + 6
(LSB)
8n + 7
Table 66 Defect Descriptor - Bytes from Index Format (for n = 1 defects)

Each defect descriptor for the Bytes from Index format specifies that the sector containing this byte be marked
defective. The defect descriptor is comprised of the cylinder number of the defect, the head number of the defect,
and the number of the defect byte relative to index.

82
Hard Disk Drive Specification
Note: If a Byte from Index entry, when converted to a physical sector, is equal to the physical sector of a Plist entry
and DPRY = 1, then the entry is not added to the Glist.

Physical Sector Format - 101b


Format of the Dlist sent during the data out phase when Dlist Format is Physical Sector format (101b) and FmtData
is set to one.
Bit
Byte
7 6 5 4 3 2 1 0
0 (MSB)
1 Cylinder Number of Defect
2 (LSB)
3 Head Number of Defect
4
(MSB)
5
Defect Sector Number
6
(LSB)
7
8n (MSB)
8n + 1 Cylinder Number of Defect n
8n + 2 (LSB)
8n + 3 Head Number of Defect n
8n + 4
(MSB)
8n + 5
Defect (n) Sector Number
8n + 6
(LSB)
8n + 7
Table 67 Defect Descriptor - Physical Sector Format (for n + 1 defects)

Each defect descriptor for the Physical Sector format specifies a defective sector. The defect descriptor is
comprised of the cylinder number of the defect, the head number of the defect, and the defect’s sector number.
Note: If a Physical Sector entry, when converted to a physical sector, is equal to the physical sector of a Plist entry
and DPRY = 1, then the entry is not added to the Glist.

83
Hard Disk Drive Specification
INQUIRY (12)
Bit
Byte
7 6 5 4 3 2 1 0

0 Operation Code = 12h

1 Reserved = 0 CmdDt =0 EVPD

2 Page Code

3-4 Allocation Length

5 VU = 0 Reserved = 0 FLAG LINK

Table 68 INQUIRY (12)

The INQUIRY command requests the parameters of the Target to be sent to the Initiator.
An EVPD bit of 1 specifies that the target return the vital product data page identified by the Page Code field in the
CDB the available VPD pages are defined in the addendum provided for each different drive model in the section
entitled Inquiry Data Format.
The Page Code specifies which page of vital product data information the drive shall return.

PAGE
EVPD Description
CODE

0 0 The Target returns the standard INQUIRY data.

The drive returns Check Condition status with the sense key of Illegal Request and the
0 Non Zero
additional sense code of Invalid Field in CDB.

1 Non Zero The drive returns the vital product data of page code requested.

Table 69 Page Code descriptions

Allocation Length specifies the number of bytes that the Initiator has allocated for INQUIRY data to be returned.
An allocation length of zero implies that no data is to be returned. The Target will terminate the DATA IN phase
when all available INQUIRY data has been transferred or when allocation length bytes have been transferred,
whichever is less.
Note: If an INQUIRY command is received from an Initiator with a pending unit attention condition (before the target
reports Check Condition status), the Target processes the INQUIRY command. The unit attention condition is
not cleared by this action.
Note: The INQUIRY command is a Priority command and is not queued.
Note: The inquiry data is set at the time of manufacture and will not change, with the following exceptions:
- Product Revision Level (EVPD=0) can be changed when microcode is downloaded with the Write Buffer
command.
- The information returned for EVPD=1, Page Code = 3 is not fixed.
Note: The inquiry data returned when media is not available will not be complete.
Byte 0 of the returned data on an INQUIRY command is the same no matter which page(s) is (are) returned. This
description is to be used for all the following page definitions.
The Peripheral Qualifier field of zero (0) indicates that the peripheral device is currently connected to this logical
unit. A Peripheral Device Type field of zero (0) indicates that this device is a Direct Access Storage Device (DASD).

84
Hard Disk Drive Specification
Inquiry Data
Fields with a value shown inside quotes (e.g. Value =’xyz’) are character fields. A value not in quotes is a numeric
value. Character fields are alphanumeric and represented in either ASCII.

Inquiry Data Format - EVPD = 0, Page Code = 0


Bit
Byte
7 6 5 4 3 2 1 0

0 Qualifier = 0 Peripheral Device Type = 0

1 RMB = 0 Reserved=0

2 Version = 6

3 Obsolete Obsolete Norm ACA=0 HiSup = 1 Response Data Format = 2

4 Additional Length = 159 (9Fh)

5 SCCS=0 ACC=0 TPGS=00b 3PC=0 Reserved = 0 Protect=1

6 Obsolete EncSer = 0 Port MultiP=1 Obsolete RSVD = 0

7 Obsolete Obsolete RSVD = 0 RSVD = 0 Obsolete Obsolete CmdQue= 1 RSVD = 0

8-15 Vendor ID = "HGST " (ASCII)

16-31 Product ID (ASCII)

32-35 Product Revision Level (ASCII)

36-43 Unit Serial Number (ASCII)

44-95 Reserved = 0

96-145 Copyright Notice (ASCII)

146-163 Reserved=0

Table 70 Inquiry Data- EVPD = 0

- Qualifier is set to 0 to indicate that the LUN specified is currently supported. Qualifier is set to 011b when the
LUN specified is not present 1
- Peripheral Device Type is set to 0 to indicate that the device is a Direct-Access Peripheral Device.
- Removal Media Bit (RMB) is always set to 0 to indicate no removal media exists.
- Version indicates the level of the ANSI standard that the product supports. The drive supports ANSI SPC-4.
- NormACA (Normal ACA) field of 0 indicates the device server does not support setting the NACA bit to 1 in the
Control Byte of the CDB as defined in the SAM.
- HiSup bit of 1 indicates that the drive uses the hierarchical addressing model to assign LUNs to logical units.
- Response Data Format is set to 2 to indicate that the INQUIRY Data Format as specified in the ANSI SCSI
version 2 is supported by the Target.

1If
an INVALID LUN is specified, a Check Condition status will be returned for all commands except INQUIRY and REQUEST
SENSE.

85
Hard Disk Drive Specification
- Additional Length indicates the number of bytes of INQUIRY information that follows.
- SCCS bit of 0 indicates that the device does not contain an embedded storage array controller component.
- ACC bit of 0 indicates that no access controls coordinator may be addressed through this logical unit.
- TGPS field of 0 indicates that the device does not support asymmetric logical unit access.
- 3PC bit of 0 indicates that the device does not support third-party copy commands.
- Protect bit of 1 indicates that the drive supports protection information
- EncSer (Enclosure Services) bit of 0 indicates that the Target does not contain an embedded enclosure
services component.
- Port bit of 0 indicates that the drive received the Inquiry command on port A, while a Port bit of 1 indicates that
the drive received the Inquiry command on port B.
- MultiP (MultiPort) bit of 1 indicates that the Target has multiple ports and implements multi-port requirements.
- CmdQue is set to 1 to indicate that the drive supports command queuing.
- Vendor ID is HGST padded with ASCII blanks.
- Product ID is specified
- Product Revision Level indicates the level of microcode.
- Unit Serial Number contains the drive serial number.

86
Hard Disk Drive Specification
Inquiry Data Format - EVPD = 1 - Page Code = 00h
Bit
Byte
7 6 5 4 3 2 1 0

0 Qualifier = 0 Peripheral Device Type = 0

1 Page Code = 00h

2 Reserved = 0

3 Page Length = 0Fh

4 Supported Page Code - 00h

5 Supported Page Code - 03h

6 Supported Page Code - 80h

7 Supported Page Code - 83h

8 Supported Page Code = 86h

9 Supported Page Code = 87h

10 Supported Page Code = 88h

11 Supported Page Code – 8Ah

12 Supported Page Code – 90h

13 Supported Page Code – 91h

14 Supported Page Code – B0h

15 Supported Page Code – B1h

16 Supported Page Code – B2h

17 Supported Page Code – D1h

18 Supported Page Code – D2h

Table 71 Inquiry Data - EVPD = 1 (Page Code = 00h)

- Qualifier is set to 0 to indicate that the LUN specified in the Command Block is currently supported.
- Peripheral Device Type is set to 0 to indicate that the device is Direct Access.
- Page Code is set to 0, and this field contains the same value as in the page code field of the INQUIRY
command descriptor block.
- Page length specifies the length of the following page data.
- Supported Page Code field contains the Page Codes supported by the Target. The list is in ascending order.

87
Hard Disk Drive Specification
Inquiry Data Format - EVPD = 1, Page Code - 03h
Bit
Byte
7 6 5 4 3 2 1 0
0 Qualifier = 0 Peripheral Device Type = 0
1 Page Code = 03h
2 Reserved = 0
3 Page Length = 188 (BCh)
4 ASCII Fields Length = 00h
5-7 Reserved = 0
8-23 Reserved = 0
24-35 ASCII uCode Identifier
36-39 ASCII Servo P/N
40-41 Major Version
42-43 Minor Version
44-47 User Count
48-51 Build Number
52-83 Build Date String
84-91 Product ID
92-99 Interface ID
100-107 Code Type
108-119 User Name
120-135 Machine Name
136-167 Directory Name
168-171 Operating State
172-175 Functional Mode
176-179 Degraded Reason
180-183 Broken Reason
184-187 Code Mode
188-191 Flash Code Revision Level
Table 72 Inquiry Data - EVPD = 1 (Page Code = 03h)

- Qualifier is set to 0 to indicate that the LUN specified in the Command Block is currently supported.
- Peripheral Device Type is set to 0 to indicate that the device is Direct Access.
- Page Code is set to the value of the page code field in the CDB.
- Page Length field specifies the length (in bytes) of the vendor unique VPD information (bytes 4 - 163). If the
allocation length of the CDB is too small to transfer all the data, the Page Length field is not adjusted to reflect
the truncation.
- ASCII uCode Identifier contains the drive’s microcode identifier. The field is alphanumeric (ASCII), left aligned,
and the unused bytes are ASCII spaces (20h).
- ASCII Servo P/N contains the part number of the Servo microcode installed on the drive. This field is hex
numeric ASCII (i.e., the characters will be in the set 0...9, A...F).
- Major Version and Minor Version are version numbers of the code loaded on the drive.
- User Count is the number of times the code has been built since the master build.
- Build Number is the master build version number.
- Build Date String is the date the code on the drive was built, in an extended string format.
- Product ID is the name of the product this code is for.
- Interface ID is the interface type and serial interface speed (e.g. SAS 6Gbps or FCAL 4Gbps) of the code.

88
Hard Disk Drive Specification
- Code Type is the intended use of the code. (e.g. local, released, test)
- User Name is the username of the person who built this version of the code.
- Machine Name is the workstation on which this version of the code was built.
- Directory Name is the last 32 characters of the directory from where this code was built.
- Operating State is the drive operating state. The least significant bit contains the following:
0 = OM_BROKEN We have detected a hardware failure.
1 = OM_DEGRADED We have a soft failure; i.e., incomplete format. Motor is still spinning.
2 = OM_INACCESSIBL Drive is good but motor is stopped.
3 = OM_STARTING Motor is starting.
4 = OM_SPINNING Motor is started but reserved area is not loaded yet.
5 = OM_NORMAL Drive is spinning and ready to read/write.
6 = OM_POWERSAVE Drive is ready but has entered power save mode.
7 = OM_STOPPED Drive has come ready but now has been stopped.
8 = OM_NOTIFY Drive is good but NOTIFY has not arrived (SAS)
10 = OM_WAKEUP Similar to OM_STARTING, but LUN BECOMING READY during spinup is not
reported
11 = OM_NOTIFY_WAKEUP Similar to OM_NOTIFY, but next transition is to OM_WAKEUP
- Functional Mode is the drive functional mode. The least significant byte (0x0000000n) contains the following:
- Degraded Reason (UECType) is why the file is in a degraded mode; i.e., how to exit this mode.
0 = OM_NORMAL_MODE Not in special or recovery mode.
1 = OM_SPECIAL_CMD Special command mode on.
- Broken Reason (UECType) is why the drive believes the hardware is broken.
- Code Mode is the type of code the drive is running. The least significant bit contains the following:
0 = OM_FLASH Drive is running flash code
1 = OM_FLASH_OVERLAY Drive is running flash overlay code
2 = OM_DISK Drive is running code that has been loaded from disk
3 = OM_TRANSIENT Drive is running code that has been downloaded but not saved
- Flash Code Revision Level is the revision level of the code in flash.

Inquiry Data Format - EVPD = 1, Page Code - 80h


Bit
Byte
7 6 5 4 3 2 1 0
0 Qualifier = 0 Peripheral Device Type = 0
1 Page Code = 80h
2 Reserved = 0
3 Page Length = 16 (10h)

Table 73 Inquiry Data - EVPD = 1 (Page Code = 80h)

- Qualifier is set to 0 to indicate that the LUN specified in the Command Block is currently supported.
- Peripheral Device Type is set to 0 to indicate that the device is Direct Access.
- Page Code is set to the value of the page code field in the CDB.
- Page Length is set to 16, and this field specifies the length of the following page data.
- Serial Number gives the drive serial number, right aligned.

89
Hard Disk Drive Specification
Inquiry Data - EVPD = 1 (Page Code = 83h)
Bit
Byte
7 6 5 4 3 2 1 0
0 Qualifier = 0 Peripheral Device Type = 0
1 Page Code = 83h
2 Reserved = 0
3 Page Length = 72 (48h)
4 Protocol Identifier = 0h Code Set = 1
5 PIV=0 RSVD Association=0 Identifier Type = 3
6 Reserved = 0
7 Identifier Length = 8
(MSB)
8-15 LUN (World Wide ID)
(LSB)
16 Protocol Identifier = 6h Code Set = 1
17 PIV=1 RSVD Association = 1 Identifier Type = 3
18 Reserved = 0
19 Identifier Length = 8
(MSB)
20-27 Target Port Identifier (World Wide ID)
(LSB)
28 Protocol Identifier = 6h Code Set = 1
29 PIV=1 RSVD Association = 1 Identifier Type = 4
30 Reserved = 0
31 Identifier Length = 4
(MSB)
32-35 Relative Port Identifier
(LSB)
36 Protocol Identifier = 6h Code Set = 1
37 PIV=1 RSVD Association = 2 Identifier Type = 3
38 Reserved = 0
39 Identifier Length = 8
(MSB)
40-47 Target Device Name Identifier (World Wide ID)
(LSB)
48 Protocol Identifier = 0h Code Set = 3
49 PIV=0 RSVD Association=2 Identifier Type = 8
50 Reserved = 0
51 Identifier Length =24 (18h)
52-55 "naa" (ASCII)
(MSB)
56-71 Target Device Name Identifier (World Wide ID) in ASCII
(LSB)
72-75 Reserved = 0
Table 74 Inquiry Data Format - EVPD = 1, (Page Code - 83h)

90
Hard Disk Drive Specification
- Protocol Identifier is valid only when PIV=1. Protocol Identifier = 0 indicates Fibre Channel devices. Protocol
Identifier = 6 specifies SAS devices
- Code Set specifies the data type for the identifier field. Code Set = 1 indicates binary data, Code Set = 3
indicates ASCII.
- PIV (Protocol Identifier Valid) set to 0 indicates that the Protocol Identifier field should be ignored. PIV set to 1
indicates that the Protocol Identifier field contains a valid value.
- Association specifies the entity with which the Identifier field is associated: 0h for LUN, 1h for Target or Relative
Port, or 2h for Target Device.
- Identifier Type specifies the format and assignment authority for the identifier: 3h indicates NAA format of the
WWID for LUN, Target Port and Target Device; 4h indicates Relative Port; 8h indicates SCSI name string.
- Identifier fields contain the actual Identifier Descriptor:
- The LUN, Target Port and Target Device Name Identifiers are defined in the NAA IEE WWID format where:
- Worldwide ID is a 64-bit unique identification for each drive. The format is:5000CCAh xxxh yyb n where:
- xxx is the 12-bit block assignment defined for each model and manufacturing site
- n is the 22-bit drive unique serial number
- yy is the 2-bit port/node ID select
- The Relative Port Identifier indicates the port which received the Inquiry command:0000 0001h for the
Primary Port, or 0000 0002h for the Secondary Port.

Inquiry Data Format - EVPD = 1, Page Code - 86h


Bit
Byte
7 6 5 4 3 2 1 0
0 Peripheral Qualifier Peripheral Device Type
1 Page Code = 86h
2-3 (MSB) Page Length (003Ch) (LSB)
4 Activate Microcode SPT GRD_CHK APP_CHK REF_CHK
5 Reserved UASK_SUP Group_Sup Prior_Sup HEADSUP ORDSUP SIMPSUP
6 Reserved WU_SUP CRD_SUP NV_SUP V_SUP
7 Reserved P_I_I_SUP Reserved LUICLR
8 Reserved R_SUP Reserved CBCS
9 Reserved Multi I_T Nexus Microcode Download
10-11 (MSB) Extended Self-Test Completion Minutes(LSB)
12 POA_SUP HRA_SUP VSA_SUP Reserved
13 Maximum Supported Sense Data Length
14-63 Reserved

Table 75 Inquiry Data Format - EVPD = 1, (Page Code - 86h)

- Activate Microcode field is set to 01b to indicate that the device server
1) activates the microcode before completion of the final command in the WRITE BUFFER sequence; and
2) establishes a unit attention condition for the initiator port associated with every I_T nexus, except the I_T
nexus on which the WRITE BUFFER command was received, with the additional sense code set to
MICROCODE HAS BEEN CHANGED.
- SPT (Supported Protection Type) field is set to 001b to indicate that the drive supports type 1 and type 2
protection.
- GRD_CHK (Guard Check) is set to 1 to indicate that the drive checks the Logical Block Guard Tag field in the
protection information, if any.

91
Hard Disk Drive Specification
- APP_CHK (Application Tag Check) bit is set to 1 to indicate that the drive checks the Logical Block Application
Tag field in the protection information, if any.
- REF_CHK (Reference Tag Check) bit is set to 1 to indicate that the drive checks the Logical Block Reference
Tag field in the protection information, if any.
- UASK_SUP (Unit Attention Condition Sense Key Specific Data Supported) bit is set to 0 to indicate that the
device server does not return sense-key specific data for the UNIT ATTENTION sense key.
- GROUP_SUP (Group Supported) bit is set to 0 to indicate that the grouping function is not supported.
- PRIOR_SUP (Priority Supported) bit is set to 0 to indicate that task priority is not supported.
- HEADSUP (Head of Queue Supported), ORDSUP (Ordered Supported), and SIMPSUP (Simple Supported)
are set to 1 to indicate support for Head of Queue, Ordered and Simple task attributes.
- WU_SUP is set to 1 to indicate that setting the WR_UNCOR bit to 1 in the Write Long command is supported.
- CRD_SUP is set to 1 to indicate that setting the COR_DIS bit to 1 in the Write Long command is supported.
- NV_SUP (Non-volatile Supported) is set to 0 to indicate that non-volatile cache features are not supported.
- V_SUP (Volatile Supported) is set to 1 to indicated support of a volatile cache.
- P_I_I_SUP (Protection Information Interval Supported) bit is set to 0 to indicate that the logical unit does not
support protection information intervals.
- R_SUP (Referrals Supported) bit is set to 0 to indicate that the device server does not support referrals.
- POA_SUP (Power On Activation Supported) bit is set to 1 to indicate that the device server supports a WRITE
BUFFER command with the MODE field set to 0Dh and the PO_ACT bit set to 1.
- HRA_SUP (Hard Reset Activation Supported) bit is set to 0 to indicate that the device server does not support
a WRITE BUFFER command with the MODE field set to 0Dh and the HR_ACT bit set to 1.
- VRA_SUP (Vendor Specific Activation Supported) bit is set to 0 to indicate that the device server does not
support a WRITE BUFFER command with the MODE field set to 0Dh and the VSE_ACT bit set to 1.
- Maximum Supported Sense Data Length field indicates the maximum length in bytes of sense data that the
device server is capable of returning in the same I_T_L_Q nexus transaction as the status.

Inquiry Data Format - EVPD = 1, Page Code - 87h


Bit
Byte
7 6 5 4 3 2 1 0

0 Qualifier = 0 Peripheral Device Type = 0

1 Page Code = 87h

2-3 Page Length = 0004h

4 Reserved=0 Policy Page Code = 3Fh

5 Policy Subpage Code = FFh

6 MILUS=1 Reserved = 0 Mode PagePolicy = 0

7 Reserved = 0

Table 76 Inquiry Data Format - EVPD = 1, (Page Code - 87h)

- Policy Page Code set to 3Fh and Policy Subpage Code set to FFh indicate that the descriptor applies to all
mode pages and subpages
- MILUS (Multiple Logical Units Share) set to 1 indicates the policy is shared by multiple logical units.
- Mode Page Policy set to 00b indicates that all mode pages and subpages are shared.

92
Hard Disk Drive Specification
Inquiry Data Format - EVPD = 1, Page Code - 88h
Bit
Byte
7 6 5 4 3 2 1 0
0 Qualifier = 0 Peripheral Device Type = 0
1 Page Code = 88h
2-3 Page Length = 48 (0030h)
4-5 Reserved=0
6-7 Primary Relative Port = 0001h
8-9 Reserved = 0
10-11 Initiator Port Transport ID Length = 0
12-13 Reserved = 0
14-15 Primary Target Port Descriptors Length = 0Ch
16 Protocol Identifier Code Set = 1
17 PIV=1 RSVD Association = 1 Identifier Type = 3
18 Reserved = 0
19 Identifier Length = 8
(MSB)
20-27 Primary Target Port Identifier (World Wide ID)
(LSB)
28-29 Reserved = 0
30-31 Secondary Relative Port = 0002h
32-33 Reserved = 0
34-35 Initiator Port Transport ID Length = 0
36-37 Reserved = 0
38-39 Secondary Target Port Descriptors Length = 0Ch
40 Protocol Identifier Code Set = 1
41 PIV=1 RSVD Association = 1 Identifier Type = 3
42 Reserved = 0
43 Identifier Length = 8
(MSB)
44-51 Secondary Target Port Identifier (World Wide ID)
(LSB)

Table 77 Inquiry Data Format - EVPD = 1, (Page Code - 88h)

- Protocol Identifier is valid only when PIV=1.Protocol Identifier = 0 indicates Fibre Channel devices. Protocol
Identifier = 6 indicates SAS devices
- Code Set specifies the data type for the identifier field. Code Set = 1 indicates binary data
- PIV (Protocol Identifier Valid) set to 1 indicates that the Protocol Identifier field contains a valid value.
- Association specifies the entity with which the Identifier field is associated: 1h for Target or Relative Port.
- Identifier Type specifies the format and assignment authority for the identifier: 3h indicates NAA format of the
WWID for Target Port.
- Identifier fields contain the actual Identifier Descriptor.
- The Target Port Identifiers are defined in the NAA IEE WWID format where:
World Wide ID is a 64-bit unique identification for each drive. The format is: 5000CCAh
xxxh n yyb where xxx is the 12-bit block assignment defined for each model and manufacturing site, n is the 22-
bit drive unique serial number, and yy is the 2-bit port/node ID

93
Hard Disk Drive Specification
Inquiry Data Format - EVPD = 1, Page Code - 8Ah
Bit
Byte
7 6 5 4 3 2 1 0
0 Qualifier = 0 Peripheral Device Type = 0
1 Page Code = 8Ah
2-3 Page Length = 14 (000Eh)
4 Reserved=0 STANDBY_Y STANDBY_Z
5 Reserved=0 IDLE_C IDLE_B IDLE_A
6-7 Stopped Condition Recovery Time
8-9 Standby_Z Condition Recovery Time
10-11 Standby_Y Condition Recovery Time
12-13 Idle_A Condition Recovery Time
14-15 Idle_B Condition Recovery Time
16-17 Idle_C Condition Recovery Time
Table 78 Inquiry Data Format - EVPD = 1, (Page Code - 8Ah)

- Qualifier field is set to 0 to indicate that the LUN specified in the Command Block is currently supported.
- Peripheral Device Type is set to 0 to indicate that the device is Direct Access.
- Page Code is set to the value of the page code field in the CDB.
- Page Length is set to 14, and this field specifies the length of the following page data.
- If set to 1, a power condition support bit (STANDBY_Y, STANDBY_Z, IDLE_C, IDLE_B, IDLE_A) indicates that
the associated power condition may be entered with START STOP UNIT command and the associated power
condition may be entered with a power condition timer if the timer is supported and enabled.
- The recovery time fields indicate the time, in one millisecond increments, that the logical unit takes to transition
from the associated power condition to the active power condition. This time does not include the processing
time for the command that caused this transition to occur. A value of 0 indicates that the recovery time is not
specified. A value of FFFFh indicates that the recovery time is more than 65.534 seconds.

94
Hard Disk Drive Specification
Inquiry Data - EVPD = 1, Page Code - 90h
Bit
Byte
7 6 5 4 3 2 1 0
0 Qualifier = 0 Peripheral Device Type = 0
1 Page Code = 90h
2-3 Page Length = 24 (0018h)
4-15 Protocol-specific logical unit information descriptor 0.
16-27 Protocol-specific logical unit information descriptor 1.

Table 79 Inquiry Data - EVPD = 1 (Page Code = 90h)

- Qualifier field is set to 0 to indicate that the LUN specified in the Command Block is currently supported.
- Peripheral Device Type is set to 0 to indicate that the device is Direct Access.
- Page Code is set to the value of the page code field in the CDB.
- Page Length is set to 24, and this field specifies the length of the following page data.
- Protocol-specific logical unit information descriptor 0 field is defined in Table 80
- Protocol-specific logical unit information descriptor 1 field is defined in Table 80
Bit
Byte
7 6 5 4 3 2 1 0
0-1 Relative Port Identifier
2 Reserved Protocol Identifier = 6h
3-5 Reserved
6-7 Descriptor Length (0004h)
TLR CONTROL
8 Reserved
SUPPORTED = 0h
9-11 Reserved

Table 80 Protocol-specific logical unit information descriptor

- Relative Port Identifier is set to 1 for Port A (Primary Port) or 2 for Port B (Secondary Port).
- Protocol Identifier is set to 6 to specify that this is a SAS SSP Descriptor.
- TLR Control Supported field specifies support of the TLR CONTROL field in the SAS SSP frame header. This
field is set to 0 to indicate that the drive does not support Transport Layer Retries

95
Hard Disk Drive Specification
Inquiry Data - EVPD = 1, Page Code - 91h
Bit
Byte
7 6 5 4 3 2 1 0
0 Qualifier = 0 Peripheral Device Type = 0
1 Page Code = 91h
2-3 Page Length = 24 (0018h)
4-15 Port Information Descriptor 0
16-27 Port Information Descriptor 1
Table 81 Protocol Specific Port Information VPD page to SAS SSP

- Qualifier is set to 0 to indicate that the LUN specified in the Command Block is currently supported.
- Peripheral Device Type is set to 0 to indicate that the device is Direct Access.
- Page Code is set to the value of the page code field in the CDB.
- Page Length is set to 24, and this field specifies the length of the following page data.
Port Information Descriptor 0 is defined in Table 82
Port Information Descriptor 1 is defined in Table 82
Bit
Byte
7 6 5 4 3 2 1 0
0-1 Relative Port Identifier
2 Reserved Protocol Identifier (6h)
3 Reserved PWR_D_S
4-5 Reserved
6-7 Descriptor Length (0004h)
8-11 SAS PHY Information Descriptor 0

Table 82 Port Information Descriptor for SAS SSP

- Relative Port Identifier is set to 1 for Port A (Primary Port) or 2 for Port B (Secondary Port).
- Protocol Identifier is set to 6 to specify that this is a SAS SSP Descriptor.
- PWR_D_S, Power Disable Supported, is set to 1 to specify that the POWER DISABLE signal is supported.
- SAS PHY Information Descriptor 0 is defined in Table 83 SAS PHY Information Descriptor for SAS SSP

Bit
Byte
7 6 5 4 3 2 1 0
0 Reserved
1 PHY Identifier
SSP Persistent
3 Reserved
Capable
Table 83 SAS PHY Information Descriptor for SAS SSP

- PHY Identifier is set to 0 for Port A (Primary Port) or 1 for Port B (Secondary Port).
- SSP Persistent Capable is set to 0 indicates that the PHY does not support persistent connections

96
Hard Disk Drive Specification
Inquiry Data Format - EVPD = 1, Page Code - B0h
Bit
Byte
7 6 5 4 3 2 1 0

0 Qualifier = 0 Peripheral Device Type = 0


1 Page Code = B0h
2-3 Page Length = 60 (003Ch)
4 Reserved WSNZ=0
5 Maximum Compare and Write Length = 0
6-7 Optimal Transfer Length Granularity = 0
8-11 Maximum Transfer Length = 0
12-15 Optimal Transfer Length = 0
16-19 Maximum Prefetch XDRead XDWrite Transfer Length = 0
20-23 Maximum Unmap LBA Count = 0
24-27 Maximum Unmap Block Descriptor Count = 0
28-31 Optimal Unmap Granularity = 0

32-35 UGAVALID=0 Unmap Granularity Alignment = 0

36-43 Maximum Write Same Length = 0


44-63 Reserved

Table 84 Inquiry Data - EVPD = 1 (Page Code = B0h)

- Qualifier: set to 0 to indicate that the LUN specified in the Command Block is currently supported.
- Peripheral Device Type: set to 0 to indicate that the device is Direct Access.
- Page Code: set to the value of the page code field in the CDB.
- Page Length: This field is set to 60 (3Ch), and specifies the length of the following page data.
- WSNZ - Write Same No Zero: set to 0 which indicates the device server supports a value of 0 in the NUMBER
OF LOGICAL BLOCKS field in the WRITE SAME command CDB.
- Maximum Compare and Write Length: set to 0 which indicates the device server does not support the
COMPARE AND WRITE command.
- Optimal Transfer Length Granularity: set to 0 to indicate that the device server does not report optimal
transfer length granularity.
- Maximum Transfer Length: set to 0 which indicates there is no reported limit on the maximum transfer length
in logical blocks that the device server accepts for a single request using any of the following supported media
access commands: PREFETCH, READ, VERIFY, WRITE, WRITE AND VERIFY.
- Optimal Transfer Length: set to 0 which indicates there is no reported value for the optimal transfer length in
logical blocks for any of the following supported media access commands: PREFETCH, READ, VERIFY,
WRITE, WRITE AND VERIFY.
- Maximum Prefetch XDRead XDWrite Transfer Length: indicates the maximum transfer length in logical
blocks that the device server accepts for a single PRE-FETCH command. It is set to 0 to be less than or equal to
the Maximum Transfer Length (above).
- Maximum Unmap LBA Count: set to 0000_0000h to indicate that the device server does not implement the
UNMAP command.
- Maximum Unmap Block Descriptor Count: set to 0000_0000h to indicate that the device server does not
97
Hard Disk Drive Specification
implement the UNMAP command.
- Optimal Unmap Granularity: set to 0000_0000h to indicate that the optimal unmap granularity is not specified.
- UGAVALID - Unmap Granularity Alignment VALID: set to 1 indicates that the UNMAP GRANULARITY
ALIGNMENT field is valid.
- Unmap Granularity Alignment: set to 0 and is not valid.
- Maximum Write Same Length: set to 0 which indicates that there is no reported limit on the number of logical
blocks that may be requested for a single WRITE SAME command.

Inquiry Data Format - EVPD = 1, Page Code - B1h


Bit
Byte
7 6 5 4 3 2 1 0

0 Qualifier = 0 Peripheral Device Type = 0

1 Page Code = B1h

2-3 Page Length = 60 (003Ch)

4-5 Medium Rotation Rate 7200 (1C20h)

6 Reserved

7 Reserved WACEREQ Nominal Form Factor = 2h

8-63 Reserved

Table 85 Inquiry Data - EVPD = 1 (Page Code = B1h)

- Qualifier field is set to 0 to indicate that the LUN specified in the Command Block is currently supported.
- Peripheral Device Type is set to 0 to indicate that the device is Direct Access.
- Page Code is set to the value of the page code field in the CDB.
- Page Length is set to 60, and this field specifies the length of the following page data.
- Medium Rotation Rate field is set to 7200.
- Nominal Form Factor field is set to 2h.
- WACEREQ If CryptoErase is supported then set WACEREQ to 01b indicating.

98
Hard Disk Drive Specification
Inquiry Data Format - EVPD = 1, Page Code - B2h
Bit
Byte
7 6 5 4 2 3 1 0
0 Qualifier = 0 Peripheral Device Type = 0
1 Page Code = B2h
2-3 Page Length = 4 (0004h)
4 Threshold Exponent = 0
5 LBPU=0 LBPWS= 0 LBPWS10=0 Reserved LBPRZ=0 ANC_SUP=0 DP=0
6 Reserved Provisioning Type = 0
7 Reserved
Table 86 Inquiry Data - EVPD = 1 (Page Code = B2h)

- Threshold Exponent: set to 0 which indicates that the logical unit does not support logical block provisioning
thresholds
- LBPU: set to 0 to indicate that the device does not support the UNMAP command.
- LBPWS: set to 0 to indicate that the device does not support the WRITE SAME (16) command to unmap LBAs.
- LBPWS10: set to 0 to indicate that the device does not support the WRITE SAME (10) command to unmap
LBAs.
- LBPRZ: set to 0 to indicate that, for an unmapped LBA specified by a read operation, the device server may
send user data with all bits set to any value to the Data-In Buffer
- ANC_SUP: set to 0 to indicate that the device does not support anchored LBAs.
- DP: set to 0 to indicate no Provisioning Group Descriptor is present
- Provisioning Type: set to 0 to indicate the logical unit is fully provisioned

Inquiry Data Format - EVPD = 1, Page Code - D1h


Bit
Byte
7 6 5 4 3 2 1 0
0 Qualifier = 0 Peripheral Device Type = 0
1 Page Code = D1h
2 Reserved = 0
3 Page Length = 80 (50h)
4-19 ASCII Media Disk Definition
20-35 ASCII Motor Serial Number
36-51 ASCII Flex Assembly Serial Number
52-67 ASCII Actuator Serial Number
68-83 ASCII Device Enclosure Serial Number

Table 87 Inquiry Data - EVPD = 1 (Page Code = D1h)

- Qualifier is set to 0 to indicate that the LUN specified in the Command Block is currently supported.
- Peripheral Device Type is set to 0 to indicate that the device is Direct Access.
- Page Code is set to the value of the page code field in the CDB.
- Page Length is set to 80, and this field specifies the length of the following page data.
Note: If the media is not available, bytes 0 through 3 are valid. All the other fields are ASCII blanks (20h).
Note: All ASCII fields are alphanumeric, left aligned, and padded on the right with ASCII blanks (20h).

99
Hard Disk Drive Specification
Inquiry Data Format - EVPD = 1, Page Code - D2h
Bit
Byte
7 6 5 4 3 2 1 0
0 Qualifier = 0 Peripheral Device Type = 0
1 Page Code = D2h
2 Reserved = 0
3 Page Length = 52 (34h)
4 HDC Version Length = 16 (10h)
5 - 20 ASCII HDC Version
21 Card Serial Number Length = 16 (10h)
22 - 37 ASCII Card Serial Number
38 Card Assembly Part Number Length = 16 (10h)

Table 88 Inquiry Data - EVPD = 1 (Page Code = D2h)

- Qualifier is set to 0 to indicate that the LUN specified in the Command Block is currently supported.
- Peripheral Device Type is set to 0 to indicate that the device is Direct Access.
- Page Code is set to the value of the page code field in the CDB.
- Page Length is set to 52, and this field specifies the length of the following page data.
Note: If the media is not available, bytes 0 through 3 are valid. All the other fields are ASCII blanks (20h).
Note: All ASCII fields are alphanumeric, left aligned, and padded on the right with ASCII blanks (20h).

100
Hard Disk Drive Specification
LOG SELECT (4C)
Bit
Byte
7 6 5 4 3 2 1 0
0 Command Code = 4Ch
1 Reserved = 0 Reserved = 0 PCR SP
2 PC Page Code
3 SubPage Code = 0
4-6 Reserved = 0
7 (MSB)
Parameter List Length = 0
8 (LSB)
9 Reserved = 0 FLAG LINK

Table 89 Log Select (4C)

The LOG SELECT command provides a means for the Initiator to clear statistical information maintained by the
drive and reported via the LOG SENSE command.
- PCR The Parameter Code Reset determines whether the Log Sense parameters will be cleared and unit
attention posted for all other Initiators. A value of 1 indicates that the parameters be cleared, while a value of 0
(except when PC = 11b) indicates that the parameters not be cleared. Parameter list length must be 0 when
PCR is 1.The PC field is ignored for list parameters, i.e. when the Format and Linking (F&L) field contains 01b or
11b.
- SP The Save Parameters bit value of 0 indicates that the page parameters not be saved. A value of 1 indicates
that the page parameters that are savable be saved after they have been changed. SP bit MUST be 1 if
parameter list length is greater than 0. Otherwise it will result in a Check Condition status being returned. The
sense key shall be set to Illegal Request and additional sense code of Invalid Field in CDB.
- PC The Page Control field defines the type of parameters to be selected. The PC field set to 11b (and PCR is
then a don't care) indicates that the Default Cumulative values are set to their default values of 0. If the PC field
is set to 01b and PCR is set to 1, the Current Cumulative values are also set to their default values of 0.
Parameter List Length MUST be 0 when PC = 11b. Otherwise the command is terminated and a Check
Condition status is returned. The sense key shall be set to Illegal Request and additional sense code of Invalid
Field in CDB.
- Page Code field identifies which page is being selected. This field must be set to the values indicated in Page 0.
If the Page Code value is invalid a Check Condition status is returned with a sense key of Illegal Request and
additional sense code of Invalid Field in CDB.
 If page code field is set to 0, then the selection applies to all log parameters in all valid log pages.
 If page code field is set to a non zero, then the selection applies to all log parameters specified by this field.
- SubPage Code This field specifies the subpage to select.
- Parameter List Length The Parameter List Length field specifies the length in bytes of the parameter list that
shall be located in the DATA OUT buffer. A parameter list length 0 indicates that no pages shall be transferred.
 If the PARAMETER LIST LENGTH field is set to 0, then the PCR bit, the SP bit, and the PC fields apply to
the page (pages) addressed by the page code field.
 If the PARAMETER LIST LENGTH field is set to non zero, and the if PAGE CODE field is non-zero or the
SUBPAGE CODE field is non-zero, then the command shall be terminated with CHECK CONDITION status,
with the sense key set to ILLEGAL REQUEST, and the additional sense code set to INVALID FIELD IN CDB.

Note: A specified length greater than 0x00FF will result in a Check Condition status being returned. A length that
results in log data being truncated will generate a Check Condition status.

101
Hard Disk Drive Specification
Note: For page 0Fh, the maximum parameter list length supported is 4004h (4 bytes for the header and 100h bytes
for each of the 40h parameters that are supported). The Parameter List Length must be an integral of the
number of parameters plus the 4 byte header. (Ex: Parameter length =104h for one parameter, 204h for 2
parameters,... 4004h for all 40h parameters).
The drive allows updates to the current cumulative values only. A value of 0 is acceptable and is not considered an
error.
The drive updates only pages 0Eh, the Start/Stop Cycle page and 0Fh, the Application Client page. For other pages
the parameters are ignored. If the data out buffer contains multiple pages then the application client should send the
pages in ascending order. If the data out buffer contains multiple log parameters within a page, all log parameters
within the page should be sent and they should be sent in ascending order by parameter code value. The drive
shall return Check Condition status if the application client sends pages out of order, parameter codes out of order
or missing parameter code. The sense key shall be set to Illegal Request and additional sense code set to Invalid
Field in Parameter List. If one or more fields of the CDB are not set correctly the command will be terminated with a
Check Condition status. The sense key shall be set to Illegal Request and additional sense code of Invalid Field in
CDB. To indicate that parameters have changed, the Target generates a unit attention condition for all Initiators
except the one that issued the LOG SELECT command.
The following list contains all individual page parameters (counters) that are set to their default value of 0 by the
LOG SELECT command (when PCR=1).
- Page 02h parameters: (Counters for write errors)
- Write errors recovered without delay
- Write errors recovered with possible delays
- LBAs with write fault error
- Reserved=0
- Total errors recovered
- Number of times recovery invoked
- Total write byte count
- LBAs with hard error
- Page 03h parameters: (Counters for read errors)
- Read errors recovered without delay
- Read errors recovered with possible delays
- LBAs with LDPC detected error
- Reserved=0
- Total errors recovered
- Number of times recovery invoked
- Total read byte count
- LBAs with hard error.
- Page 05h parameters: (Counters for Verify Errors)
- Errors recovered without delay
- Errors recovered with possible delays
- LBAs with LDPC detected error
- Reserved=0
- Total errors recovered
- Number of times recovery invoked
- Total bytes verified
- LBAs with hard error.
- Page 06h parameters: (Counters for non medium errors, seek and other hardware type failures)
- Non-Medium Error Counter
- Page 15h parameters: (Background Medium Scan information)

102
Hard Disk Drive Specification
- BMS Status parameter
- all Medium Scan parameters
- Page 18h parameters (SAS PHY Error counts - only cleared for the port which receives the Log Select)
- Invalid DWORD Count
- Running Disparity Error Count
- Loss of DWORD Synchronization Count
- PHY Reset Problem Count
- Page 30h parameters:
- Zero Seeks counter
- Seeks > = to 2/3 counter
- Seeks > = 1/3 and < 2/3 counter
- Seeks > = 1/6 and < 1/3 counter
- Seeks > = 1/12 and < 1/6 counter
- Seeks > 0 and < 1/12 counter
- Overrun Counter
- Under run Counter
- Device Cache Full Read Hits
- Device Cache Partial Read Hits
- Device Cache Write Hits
- Device Cache Fast Writes
- Device Cache Misses on Reads
- Page 37h parameters:
- Media EXC
- Hardware EXC
- Total Read Commands
- Total Write Commands

103
Hard Disk Drive Specification
LOG SENSE (4D)
Bit
Byte
7 6 5 4 3 2 1 0

0 Command Code = 4Dh

1 Reserved = 0 Reserved = 0 PPC=0 SP

2 PC Page Code

3 Subpage Code = 0

4 Reserved = 0

(MSB)
5
Parameter Pointer
6
(LSB)

(MSB)
7
Allocation Length
8
(LSB)

9 Reserved = 0 FLAG LINK

Table 90 Log Sense (4D)

The LOG SENSE command allows the Initiator to retrieve the statistical data regarding the drive.
- PPC (Parameter Pointer Control) bit must be set to 0. This specifies that the drive start transferring data
starting from the field specified in the parameter pointer field for the number of bytes specified by the allocation
length. If the PPC bit is set to 1, Check Condition status is returned with a sense key of Illegal Request and
additional sense code of Invalid Field in CDB.
- SP (Save Parameters) bit set to 0 specifies that the drive does not save any log parameters. If it is set to 1, all
page parameters that are savable (those pages denoted by a DS = 0 in the parameter header control byte) are
saved.
- PC (Page Control) field defines the type of parameters to be selected. This field must be set to 01b to specify
the current cumulative values. Set this field to 11b to specify the default cumulative values. Any other value in
this field will cause the command to end with a Check Condition status with a sense key of Illegal Request and
an additional sense code of Invalid Field in CDB.
This field is ignored if the log page parameters are either ASCII list format or Binary list format.
- Page Code field identifies which page is being requested. This field must be set to the values indicated in
Page 0. If the Page Code value is invalid a Check Condition status is returned with a sense key of Illegal
Request and additional sense code of Invalid Field in CDB.
- SubPage Code This field specifies the subpage to select.
- Parameter Pointer Field specifies the beginning field for the transfer.
- Allocation Length field specifies the maximum number of bytes the Initiator has allocated for returned Log
Sense Data. No bytes are transferred if the length is 0. This condition is not considered an error. The Target
terminates the Data in phase when all available Log Sense data has been transferred or when the number of
bytes equals the allocation length, whichever is less.

104
Hard Disk Drive Specification
Log Page Parameters
Each log page begins with a 4-byte page header followed by zero or more variable-length log parameters.
Page header
Page Code field identifies which log page is being transferred.
The Page Length field specifies the length in bytes of the following log parameters.
Log parameters
Each log parameter begins with a 4-byte parameter header followed by one or more bytes of parameter value data.
The Parameter Code field identifies which log parameter is being transferred for that log page.
The Parameter Control field, the 3rd byte of each parameter header, contains several fields.
- DU The Disable Update bit is set to 0 to indicate that the drive updates the log parameter value to reflect
events that should be noted by that parameter.
- TSD The Target Save Disable bit is set to 0 to indicate that the drive provides a Target defined method for
saving log parameters.
- ETC The enable Threshold Comparison bit is set to 0 to indicate the drive does not perform comparisons
between cumulative and any threshold values.
- TMC The Threshold Met Criteria field is not valid because this drive does not perform threshold comparisons.
This field is set to 0.
- Format and Linking The F & L field indicates the type of log parameter and how parameters that reach their
maximum value are handled.
- 00b: Data counter: If any other parameter in this log page reaches its maximum value, then this parameter
shall stop incrementing until reinitialized by a Log Select command.
- 01b: List format ASCII data: No maximum values to handle
- 10b: Data counter: If another parameter reported in this log page reaches its maximum value, then this
parameter shall not stop incrementing. This parameter may be reinitialized by a Log Select command.
- 11b: List format binary data: No maximum values to handle.

105
Hard Disk Drive Specification
Log Sense Page 0
Page 0 indicates the supported log sense pages. This page is used to determine which additional pages and
Initiator can request.

Bit
Byte
7 6 5 4 3 2 1 0

0 Reserved Page code = 0

1 Reserved

2-3 Page Length = 0010h(Number of Pages Supported)

4 First supported page 00h

5 Second supported page 02h

6 Third supported page 03h

7 Fourth supported page 05h

8 Fifth supported page 06h

9 Sixth supported page 0Dh

10 Seventh supported page 0Eh

11 Eighth supported page 0Fh

12 Ninth supported page 10h

13 Tenth supported page 15h

14 Eleventh supported page 18h

15 Twelfth supported page 19h

16 Thirteenth supported page 1Ah

17 Fourteenth supported page 2Fh

18 Fifteenth supported Page Code =30h

19 Sixteenth supported Page Code = 37h

Table 91 Log Sense Page 0

106
Hard Disk Drive Specification
Log Sense Page 2
This page contains counters for write errors.

Bit
Byte
7 6 5 4 3 2 1 0
0 Reserved Page code = 02h
1 Reserved
2-3 Page Length = 54h
4-5 Parameter Code = 0000h
6 DU = 0 DS = 0 TSD = 0 ETC = 0 TMC = 0 F&L = 00b
7 Parameter Length = 08h
8-15 Errors recovered without delay
16-17 Parameter Code = 0001h
18 DU = 0 DS = 0 TSD = 0 ETC = 0 TMC = 0 F&L = 00b
19 Parameter Length = 08h
20-27 Errors recovered with possible delays
28-29 Parameter Code = 0002h
30 DU = 0 DS = 0 TSD = 0 ETC = 0 TMC = 0 F&L = 00b
31 Parameter Length = 08h
32-39 Reserved = 0
40-41 Parameter Code = 0003h
42 DU = 0 DS = 0 TSD = 0 ETC = 0 TMC = 0 F&L = 00b
43 Parameter Length = 08h
44-51 Total errors recovered
52-53 Parameter Code = 0004h
54 DU = 0 DS = 0 TSD = 0 ETC = 0 TMC = 0 F&L = 00b
55 Parameter Length = 08h
56-63 Times recovery invoked
64-65 Parameter Code = 0005h
66 DU = 0 DS = 0 TSD = 0 ETC = 0 TMC = 0 F&L = 00b
67 Parameter Length = 08h
68-75 Total bytes written
76-77 Parameter Code = 0006h
78 DU = 0 DS = 0 TSD = 0 ETC = 0 TMC = 0 F&L = 00b
79 Parameter Length = 08h
80-87 Count of hard errors

Table 92 Log Sense Page 2

All parameter counts indicate the number of sectors with the specified types of errors, except Times Recovery
Invoked, which is a cumulative count of all recovery steps attempted on all sectors written.

107
Hard Disk Drive Specification
Log Sense Page 3
This page contains counters for read errors.

Bit
Byte
7 6 5 4 3 2 1 0
0 Reserved Page code = 03h
1 Reserved
2-3 Page Length = 54h
4-5 Parameter Code = 0000h
6 DU = 0 DS = 0 TSD=0 ETC = 0 TMC = 0 F&L = 00b
7 Parameter Length = 08h
8-15 Errors recovered without delay
16-17 Parameter Code = 0001h
18 DU = 0 DS = 0 TSD = 0 ETC = 0 TMC = 0 F&L = 00b
19 Parameter Length = 08h
20-27 Errors recovered with possible delays
28-29 Parameter Code = 0002h
30 DU = 0 DS = 0 TSD=0 ETC = 0 TMC = 0 F&L = 00b
31 Parameter Length = 08h
32-39 Reserved = 0
40-41 Parameter Code = 0003h
42 DU = 0 DS = 0 TSD=0 ETC = 0 TMC = 0 F&L = 00b
43 Parameter Length = 08h
44-51 Total errors recovered
52-53 Parameter Code = 0004h
54 DU = 0 DS = 0 TSD=0 ETC = 0 TMC = 0 F&L = 00b
55 Parameter Length = 08h
56-63 Times recovery invoked
64-65 Parameter Code = 0005h
66 DU = 0 DS = 0 TSD = 0 ETC = 0 TMC = 0 F&L = 00b
67 Parameter Length = 08h
68-75 Total bytes read
76-77 Parameter Code = 0006h
78 DU = 0 DS = 0 TSD = 0 ETC = 0 TMC = 0 F&L = 00b
79 Parameter Length = 08h
80-87 Count of hard errors

Table 93 Log Sense Page 3

All parameter counts indicate the number of sectors with the specified types of errors, except Times Recovery
Invoked, which is a cumulative count of all recovery steps attempted on all sectors read. LDPC-on-the-fly correction
is not included in any counters.

108
Hard Disk Drive Specification
Log Sense Page 5
This page contains counters for verify errors.

Bit
Byte
7 6 5 4 3 2 1 0
0 Reserved Page code = 05h
1 Reserved
2-3 Page Length = 54h
4-5 Parameter Code = 0000h
6 DU = 0 DS = 0 TSD = 0 ETC = 0 TMC = 0 F&L = 00b
7 Parameter Length = 08h
8-15 Errors recovered without delay
16-17 Parameter Code = 0001h
18 DU = 0 DS = 0 TSD = 0 ETC = 0 TMC = 0 F&L = 00b
19 Parameter Length = 08h
20-27 Errors recovered with possible delays
28-29 Parameter Code = 0002h
30 DU = 0 DS = 0 TSD = 0 ETC = 0 TMC = 0 F&L = 00b
31 Parameter Length = 08h
32-39 Reserved = 0
40-41 Parameter Code = 0003h
42 DU = 0 DS = 0 TSD = 0 ETC = 0 TMC = 0 F&L = 00b
43 Parameter Length = 08h
44-51 Total errors recovered
52-53 Parameter Code = 0004h
54 DU = 0 DS = 0 TSD = 0 ETC = 0 TMC = 0 F&L = 00b
55. Parameter Length = 08h
56-63 Times recovery invoked
64-65 Parameter Code = 0005h
66 DU = 0 DS = 0 TSD = 0 ETC = 0 TMC = 0 F&L = 00b
67 Parameter Length = 08h
68-75 Total Bytes Verified
76-77 Parameter Code = 0006h
78 DU = 0 DS = 0 TSD = 0 ETC = 0 TMC = 0 F&L = 00b
79 Parameter Length = 08h
80-87 Count of hard errors

Table 94 Log Sense Page 5

All parameter counts indicate the number of sectors with the specified types of errors, except Times Recovery
Invoked, which is a cumulative count of all recovery steps attempted on all sectors verified. LDPC-on-the-fly
correction is not included in any counters.

109
Hard Disk Drive Specification
Log Sense Page 6
This page contains counters for non-medium errors. This includes seek errors and other hardware type failures.

Bit
Byte
7 6 5 4 3 2 1 0

0 Reserved Page code = 06h

1 Reserved

2-3 Page Length = 0Ch

4-5 Parameter Code = 00h

6 DU = 0 DS = 0 TSD = 0 ETC = 0 TMC = 0 F&L = 00b

7 Parameter Length = 08h

8-15 Error count

Table 95 Log Sense Page 6

Log Sense Page D


This page contains temperature information.

Bit
Byte
7 6 5 4 3 2 1 0

0 Reserved Page code = 0Dh

1 Reserved

2-3 Page Length = 0Ch

4-5 Parameter Code = 0000h

6 DU = 0 DS = 1 TSD = 0 ETC = 0 TMC = 0 F&L = 00b

7 Parameter Length = 02h

8 Reserved

9 Temperature (degrees Celsius)

10-11 Parameter Code 0001h

12 DU = 0 DS = 1 TSD = 0 ETC = 0 TMC = 0 F&L = 00b

13 Parameter Length = 02h

14 Reserved

15 Reference Temperature (degrees Celsius)

Table 96 Log Sense Page D

110
Hard Disk Drive Specification
Log Sense Page E
This page contains the start-stop cycle information.

Bit
Byte
7 6 5 4 3 2 1 0
0 Reserved Page code = 0Eh
1 Reserved
2-3 Page Length = 34h
4-5 Parameter Code = 0001h
6 DU=0 DS=1 TSD=0 ETC=0 TMC = 0 F&L = 00b
7 Parameter Length = 06h
8-11 Year of Manufacture (4 ASCII characters)
12-13 Week of Manufacture (2 ASCII characters)
14-15 Parameter Code 0002h
16 DU=0 DS=0 TSD=0 ETC=0 TMC = 0 F&L = 00b
17 Parameter Length = 06h
18-21 Accounting Date Year (4 ASCII characters)
22-23 Accounting Date Week (2 ASCII characters)
24-25 Parameter Code 0003h
26 DU=0 DS=1 TSD=0 ETC=0 TMC = 0 F&L = 00b
27 Parameter Length = 04h
28-31 Specified cycle count over device lifetime
32-33 Parameter Code 0004h
34 DU=0 DS=1 TSD=0 ETC=0 TMC = 0 F&L = 00b
35 Parameter Length = 04h
36-39 Accumulated start-stop cycles (4 byte binary number)
40-41 Parameter Code 0005h
42 DU=0 DS=1 TSD=0 ETC=0 TMC = 0 F&L = 00b
43 Parameter Length = 04h
44-47 Specified load unload count over device lifetime
48-49 Parameter Code 0006h
50 DU=0 DS=1 TSD=0 ETC=0 TMC = 0 F&L = 00b
51 Parameter Length = 04h
52-55 Accumulated load unload cycles (4 byte binary number)

Table 97 Log Sense Page E

The week and year that the device was manufactured shall be set in the parameter field defined by parameter code
0001h. The date of manufacture cannot be saved using the LOG SELECT command. The data is expected in
numeric ASCII characters (30-39h) in the form YYYYWW. The accounting date specified by parameter code 0002h
is a parameter that can be saved using the LOG SELECT command.

111
Hard Disk Drive Specification
Log Sense Page F
This page contains the Application Client Log.

Bit
Byte
7 6 5 4 3 2 1 0

0 Reserved Page code = 0Fh

1 Reserved

2-3 Page length = 4000h

Application client log parameter

4-259 1st application client log parameter

16132-16387 64th application client log parameter

Table 98 Log Sense Page F

The following table describes the application client log parameter structure.

Bit
Byte
7 6 5 4 3 2 1 0

0-1 Parameter code

2 DU = 1 DS = 0 TSD = 0 ETC = 0 TMC = 0 F&L = 00b

3 Parameter length = FCh

4- First parameter byte

255 Last parameter byte

Table 99 Log Sense Page F, Application Client Log

Parameter code 0000h through 003Fh are supported.


The values stored in the parameter bytes represent data sent to the device in a previous LOG SELECT command.

112
Hard Disk Drive Specification
Log Sense Page 10
This page contains self-test results. The results of the 20 most recent self-tests are stored in this Log page.

Bit
Byte
7 6 5 4 3 2 1 0

0 Reserved Page code = 10h

1 Reserved

2-3 Page Length = 190h

4-23 1st self-test results log parameter

384- 403 20th self-test results log parameter

Table 100 Log Sense Page 10

The following table describes the self-test results log parameter structure

Bit
Byte
7 6 5 4 3 2 1 0

0-1 Parameter code

2 DU = 0 DS = 0 TSD = 0 ETC = 0 TMC = 0 F&L = 11b

3 Parameter Length = 10h

4 Function Code RSVD Self-Test Results Value

5 Extended Segment Number

6-7 Timestamp

8-15 LBA of First Failure

16 Reserved Sense Key

17 Additional Sense Code

18 Additional Sense Code Qualifier

19 Vendor specific

Table 101 Log Sense Page 10, self-test results

- Parameter Code identifies the log parameter for the log page. The parameter code field for the results of the
most recent test will be 0001h. The parameter for the next most recent will be 0002h.
- Function Code contains the content of the Function Code field in the SEND DIAGNOSTIC command that
initiated this self-test.
- Self-Test Results Value is described in the table below.

113
Hard Disk Drive Specification
Value Description
0h The self-test routine completed without error.
The background self-test routine was aborted by the initiator using a SEND DIAGNOSTIC command
1h
with the Abort Background self-test function.
2h The self-test routine was aborted by the application client by a Task Management function or a reset.
An unknown error occurred while the Target was executing the self-test routine and the Target was
3h
unable to complete the self-test routine.
4h The self-test completed with a test element that failed and it is not known which test element failed.
5h The first segment of the self-test failed.
6h The second segment of the self-test failed.
7h The third or greater segment of the self-test failed (see the Extended segment number field).
8h-Eh Reserved.
Fh The self-test is in progress.

Table 102 Log Sense Page 10, self-test results

- Extended Segment Number This field identifies the number of the segment that failed during self-test. If no
segment failed, this field will be 00h.

Extended
Segment Short Self-Test Extended Self-Test
Number

1h Drive Ready Test

2h Drive Diagnostics

3h SMART

4h Low Level Format check

5h Physical Head Check

6h Random Verify

- Verify First 300 MB


7h Verify all LBAs
- Verify Last 100 MB

8h Recheck SMART

Table 103 Log Sense Page 10, Extended Segment Number

- Timestamp This field contains the total accumulated power-on hours of the Target at the time the self-test
completed.
- LBA of first failure This field contains the LBA of the first logical block address where a self-test error occurred.
If no errors occurred during the self-test or the error is not related to a LBA then the field will be
FFFFFFFFFFFFFFFFh.
- Sense Key, Additional Sense Code and Additional Sense Code Qualifier These fields will contain the
additional information relating to the error or exception conditions during self-test.
See Section 8.43 "SEND DIAGNOSTIC (1D)”, for detailed listing of operations carried out by SEND DIAGNOSTIC
command and Power on Diagnostics.

114
Hard Disk Drive Specification
Log Sense Page 15
This page contains information about Background Medium Scan operations.
Bit
Byte
7 6 5 4 3 2 1 0
0 Reserved Page code = 15h
1 Reserved
2-3 Page Length = (19 + 24N -3)
Background Medium Scan parameters
4-19 BMS Status Parameter
20-43 First Medium Scan Parameter
...
19+24N Last Medium Scan Parameter
Table 104 Log Sense Page 15

The following table describes the BMS Status Parameter structure.


Bit
Byte
7 6 5 4 3 2 1 0
0-1 Parameter Code = 0000h
2 DU=0 DS=0 TSD=0 ETC=0 TMC=0 F&L = 11b
3 Page Length = 0Ch
4-7 Power On Minutes
8 Reserved = 0
9 BMS Status
10-11 Number of Background Scans Performed
12-13 Medium Scan Progress
14-15 Number of Background Medium Scans Performed
Table 105 BMS Status Parameter structure

- Power On Minutes indicates the total power on minutes at the time the log page is requested
- BMS Status is described in the following table
BMS Status Description
00h No scans active
01h Background medium scan is active
03h-04h Not supported
05h Background scan halted due to medium formatted without P-List
06h Background scan halted due to a vendor-specific cause
07h Background scan halted due to temperature out of range
08h Scan suspended until BMS Interval Timer expires
09h - FFh Reserved
Table 106 BMS Status

- The Number of Background Scans Performed field indicates the total number of back ground scans (i.e. total
number of Background Medium Scans PLUS number of Background Prescan) that have been performed over
the life of the drive.
- Medium Scan Progress is a percent complete indication of the medium scan. The returned value is a
numerator that has 65,536(1 00 00h) as its denominator.

115
Hard Disk Drive Specification
- Number of Background Medium Scans Performed field indicates the number of background medium scans
that have been performed over the life of the drive.

The following table describes the Medium Scan Parameter structure.


Bit
Byte
7 6 5 4 3 2 1 0
0-1 Parameter Code = 0001h - 0800h
2 DU=0 DS=0 TSD=0 ETC=0 TMC=0 F&L = 11b
3 Page Length = 14h
4-7 Power On Minutes
8 Reassign Status Sense Key
9 Additional Sense Code
10 Additional Sense Code Qualifier
11 Head (MSB) Cylinder
(MSB)
12-13 Cylinder
(LSB)
(MSB)
14-15 Sector
(LSB)
16-23 LBA
Table 107 Medium Scan Parameter structure

- Power On Minutes indicates the total power on minutes at the time the error was detected.
- Reassign Status is set as shown below. Reassignment during the background scan is not supported.
Reassign Status Description
No reassignment needed
0h
This value is not reported, if LOWIR bit is set to 1 in Background Control Mode Page.
Reassignment pending receipt of Reassign command or write command (if auto write
1h
reallocation is allowed) from the initiator
02h-4h Not supported
Error was detected by BGMS, and was successfully rewritten.
5h
This value is not reported, if LOWIR bit is set to 1 in Background Control Mode Page.
Error was detected by BGMS, and was successfully reassigned by Application Client.
6h
Contains valid data.
7h – Fh Reserved
Table 108 Reassign Status

Additional Sense Code and Additional Sense Code Qualifier provide details about the error detected.

116
Hard Disk Drive Specification
Log Sense Page 18
This page contains protocol-specific log parameters.
Bit
Byte
7 6 5 4 3 2 1 0
0 Page code = 18h
1 SubPage Code (00h)
(MSB)
2-3 Page Length (D8h)
(LSB)
Protocol-specific log parameters
4-111 First Protocol-specific log parameter - Primary Port
112-219 Last Protocol-specific log parameters - Secondary Port
Table 109 Log Sense Page 18

Bit
Byte
7 6 5 4 3 2 1 0
(MSB)
0-1 Parameter Code (0001h for primary port; 0002h for secondary
(LSB)
2 DU (=0) Obsolete TSD (=0) ETC (=0) TMC (00b) Format and Linking
3 Parameter Length (68h)
4 Reserved Protocol IDENTIFIER (6h)
5 Reserved
6 Generation Code
7 Number of PHYs (01h)
8 Reserved
9 PHY IDENTIFIER (00h)
10 Reserved
11 SAS PHY Log Descriptor Length (60h)
12 Reserved Attached Device Type Attached Reason
13 Reason Negotiated Physical Link Rate
Attached Attached Attached
SSP STP SMP
14 Reserved Reserved
Initiator Initiator Initiator
Port Port Port
Attached Attached Attached
SSP STP SMP
15 Reserved Reserved
Target Target Target
Port Port Port
(MSB)
16-23 SAS Address (the address of the target port)
(LSB)
(MSB)
24-31 Attached SAS Address (the address received in the incoming IDENTIFY)
(LSB)
Attached PHY Identifier
32
(the PHY identifier received in the incoming IDENTIFY)
Table 110 SAS Log Descriptor (part 1 of 3)

117
Hard Disk Drive Specification
Bit
Byte
7 6 5 4 3 2 1 0
33-39 Reserved
(MSB)
40-43 Invalid Dword Count
(LSB)
(MSB)
44-47 Running Disparity Error Count
(LSB)
(MSB)
48-51 Loss of Dword Synchronization
(LSB)
(MSB)
52-55 PHY Reset Problem
(LSB)
56-57 Reserved
58 PHY event Descriptor Length (0Ch)
59 Number of Event Descriptors (04h)
60-62 Reserved
63 Phy Event Source (01h) (Invalid Dword Count)
(MSB)
64-67 PHY Event
(LSB)
(MSB)
68-71 Peak Value Detector Threshold (00h)
(LSB)
72-74 Reserved
PHY Event Source (02h)
75
(Running Disparity Error Count)
(MSB)
76-79 PHY Event
(LSB)
(MSB)
80-83 Peak Value Detector Threshold (00h)
(LSB)
84-86 Reserved
PHY Event Source (03h)
87
(Loss of Dword Sync)
(MSB)
88-91 PHY Event
(LSB)
(MSB)
92-95 Peak Value Detector Threshold (00h)
(LSB)
Table 111 SAS Log Descriptor (part 2 of 3)

118
Hard Disk Drive Specification
Bit
Byte
7 6 5 4 3 2 1 0

96-98 Reserved

PHY Event Source (04h)


99
(PHY Reset Problem)

(MSB)
100-103 PHY Event
(LSB)

(MSB)
104-107 Peak Value Detector Threshold (00h)
(LSB)

Table 112 SAS Log Descriptor (part 3 of 3)

 Attached Device Type is set to the value received by this PHY during an Identify Sequence.
 Attached Reason indicates the value of the REASON field in the last received IDENTIFY address frame during
the identification sequence if the PHY is a physical PHY and a SAS PHY or expander PHY is attached. If the
PHY is a physical PHY and a SATA PHY is attached, then the ATTACHED REASON field shall be set to 0h
after the initial Register – Device to Host FIS has been received. If the PHY is a virtual PHY, then the
ATTACHED REASON field shall be set to 0h.
 Reason indicates the reason for the last link reset sequence as reported in the last transmitted IDENTIFY
address frame (see Table 33). If the PHY is a physical PHY and a SATA PHY is attached, then the REASON
field indicates the reason for the link reset sequence. For Reason field.
 Negotiated PHY Link Rate: set to the link rate negotiated during last Link Reset Sequence.
- set to 8h when the PHY is enabled and the negotiated speed is 1.5G
- set to 9h when the PHY is enabled and the negotiated speed is 3.0G
- set to Ah when the PHY is enabled and the negotiated speed is 6.0G
- set to Bh when the PHY is enabled and the negotiated speed is 12.0G
 The Generation Code is a one-byte counter that shall be incremented by one by the device server every time
the values in this mode page or the SAS-3 PHY mode page field values are changed. A GENERATION CODE
field set to 00h indicates the generation code is unknown. The device server shall wrap this field to 01h as the
next increment after reaching its maximum value (i.e., FFh). The GENERATION CODE field is also contained in
the Protocol-Specific Port log page and may be used to correlate PHY settings across mode page and log page
accesses.
 Attached Reason indicates the value of the REASON field received in the IDENTIFY address frame.
 Attached Initiator Port set to the value received by this PHY during an Identify Sequence.
 Attached Target Port set to the value received by this PHY during an Identify Sequence.
 SAS ADDRESS contains the SAS address transmitted by this PHY during an Identify Sequence.
 Attached SAS ADDRESS contains the SAS address received by this PHY during an Identify Sequence.
 Attached PHY Identifier contains the SAS PHY Identifier received by this PHY during an Identify Sequence.
 Invalid Dword Count indicates the number of invalid Dwords that have been received outside of PHY reset
sequences. The count wraps at the maximum value.
 Running Disparity Error Count increments by one when the port has acquired Dword synchronization and
detects a transmission word containing a running disparity error at the receiver. When the port has lost Dword
synchronization, the Running Disparity Error Count is not incremented. The count stops at the maximum value.
 Loss of Dword Synchronication indicates the number of times the PHY has lost Dword synchronization and
restarted the link reset sequence of PHY reset sequences. The count wraps at the maximum value.
 PHY Reset Problem indicates the number of times the PHY reset sequence has failed due to a failure to gain
Dword sync in the retry speed match speed negotiation. The count wraps at the maximum value.

119
Hard Disk Drive Specification
 PHY Event Descriptor Length indicates the number of bytes in the PHY event descriptor, which is 0Ch.
 Number of Event Descriptors indicates the number of PHY event descriptors in the PHY event descriptor list,
which is 04h.
 Event Source (01h) - Invalid Dword Count. The "PHY Event" field following this event source contains the
number of invalid Dwords detected by the PHY since power on. The "Peak Value Detector Threshold" is set to
00000000h to indicate this is a counter and not a peak value detector.
 Event Source (02h) - Running Disparity Error Count. The "PHY Event" field following this event source
contains the number of disparity errors detected by the PHY since power on. The "Peak Value Detector
Threshold" is set to 00000000h to indicate this is a counter and not a peak value detector.
 Event Source (03h) - Loss of Dword Synchronization Count. The "Phy Event" field following this event
source contains the number of times the receiver has lost Dword synchronization since power on. The "Peak
Value Detector Threshold" is set to 00000000h to indicate this is a counter and not a peak value detector.
 Event Source (04h) - PHY Reset Problem Count. The "PHY Event" field following this event source contains
the number of times the PHY has encountered a PHY reset problem condition since power on. The "Peak
Value Detector Threshold" is set to 00000000h to indicate this is a counter and not a peak value detector.

120
Hard Disk Drive Specification
Log Sense Page 19h - General Statistics and Performance
Bit
Byte
7 6 5 4 3 2 1 0
0 DS = 0 SPF = 0 Page Code = 19h
1 Sub Page Code = 00h
2-3 Page Length = 005Ch
4-5 Parameter Code = 0001h
6 DU = 0 Obsolete TSD = 0 ETC = 0 TMC = 0 Format and Linking = 10b
7 Parameter Length = 40h

8-15 Number of Read Commands

16-23 Number of Write Commands

24-31 Number of Logical Blocks Received

32-39 Number of Logical Blocks Transmitted

40-47 Read Command Processing Intervals

48-55 Write Command Processing Intervals

56-63 Weighted Number of Read Commands plus Write Commands

64-71 Weighted Read Command Processing plus Write Command Processing

72-73 Parameter Code = 0002h


74 DU = 0 Obsolete TSD = 0 ETC = 0 TMC = 0 Format and Linking = 10b
75 Parameter Length = 08h

76-83 Idle Time Intervals

84-85 Parameter Code = 0003h


86 DU = 0 Obsolete TSD = 0 ETC = 0 TMC = 0 Format and Linking = 11b
87 Parameter Length = 08h

88-95 Time Interval Descriptor

Table 113 Log Sense Page 19h - General Statistics and Performance

Number of Read Commands indicates the number of read commands received by the logical unit.
Number of Write Commands indicates the number of write commands received by the logical unit.
Number of Logical Blocks Received indicates the number of logical blocks received by any SCSI target port for
the logical unit as a result of write commands.
Number of Logical Blocks Transmitted indicates the number of logical blocks transmitted by any SCSI target port
for the logical unit as a result of read commands.
Read Command Processing Interval is not supported and is set to 0.
Write Command Processing Interval is not supported and is set to 0.
Weighted Number of Read Commands Plus Write Commands is not supported and is set to 0.
Weighted Read Command Processing Plus Write Command Processing is not supported and is set to 0.
121
Hard Disk Drive Specification
Idle Time Intervals indicates the cumulative number of idle times spent while there are no commands in the task
set and there are no commands being processed by the logical unit.
Idle time is calculated using the time interval in parameter 0003h:
idle time = (time increments not processing commands x time interval)
The time interval descriptor contains the time interval in seconds.

Bit
Byte
7 6 5 4 3 2 1 0

0-3 Exponent

4-7 Integer

Table 114 Time Interval Descriptor

Exponent contains the negative power of 10 exponent to multiply with the Integer field.
Integer, when multiplied by the exponent, contains the value that represents one time interval.

The Exponent and Integer are set to the equivalent of 50ms (5x10-2 seconds).

122
Hard Disk Drive Specification
Log Sense Page 1A
Bit
Byte
7 6 5 4 3 2 1 0

0 Reserved Page code = 1Ah

1 Sub Page Code (00h)

2-3 Page Length (30h)

4-5 Parameter Code 0001h

6 DU Obsolete TSD ETC TMC TMC FMT & Linking FMT & Linking

7 Parameter Length = 4

8-11 Accumulated Transitions to Active State

12-13 Parameter Code 0002h

14 DU Obsolete TSD ETC TMC TMC FMT & Linking FMT & Linking

15 Parameter Length = 4

16-19 Accumulated Transitions to Idle_A

20-21 Parameter Code 0003h

22 DU Obsolete TSD ETC TMC TMC FMT & Linking FMT & Linking

23 Parameter Length = 4

24-27 Accumulated Transitions to Idle_B

28-29 Parameter Code 0004h

30 DU Obsolete TSD ETC TMC TMC FMT & Linking FMT & Linking

31 Parameter Length = 4

32-35 Accumulated Transitions to Idle_C

36-37 Parameter Code 0008h

38 DU Obsolete TSD ETC TMC TMC FMT & Linking FMT & Linking

39 Parameter Length = 4

40-43 Accumulated Transitions to Standby_Z

44-45 Parameter Code 0009h

46 DU Obsolete TSD ETC TMC TMC FMT & Linking FMT & Linking

47 Parameter Length = 4

48-51 Accumulated Transitions to Standby_Y

Table 115 Log Sense Page 1A

123
Hard Disk Drive Specification
Log Sense Page 2F
This page contains SMART Status and Temperature Reading.

Bit
Byte
7 6 5 4 3 2 1 0

0 Reserved Page code = 2Fh

1 Reserved

2-3 Page Length = 8

4-5 Parameter Code = 0000h

6 DU = 0 DS = 0 TSD = 0 ETC = 0 TMC = 0 F&L = 11b

7 Parameter Length = 04h

8 SMART Sense Code Byte

9 SMART Sense Qualifier

10 Most Recent Temperature Reading

11 Vendor HDA Temperature Trip Point

12-13 Parameter Code = 0001h

14 DU = 0 DS = 0 TSD = 0 ETC = 0 TMC = 0 F&L = 11b

15 Parameter Length = 03h

16 Internal Environment status Current Value

17 Internal Environment status Worst Value

18 Internal Environment status Threshold Value

Table 116 Log Sense Page 2F

124
Hard Disk Drive Specification
Log Sense Page 30
This page contains Performance Counters.
Bit
Byte
7 6 5 4 3 2 1 0
0 Reserved Page code = 30h
1 Reserved
2-3 Page Length = 0030h
4-5 Parameter Code = 0000h
6 DU = 0 DS = 0 TSD = 0 ETC = 0 TMC = 0 F&L = 00b
7 Parameter Length = 2Ch
8-9 Zero Seeks
10-11 Seeks > = to 2/3
12-13 Seeks > = 1/3 and < 2/3
14-15 Seeks > = 1/6 and < 1/3
16-17 Seeks > = 1/12 and < 1/6
18-19 Seeks > 0 and < 1/12
20-23 Reserved = 0
24-25 Overrun Counter
26-27 Under run Counter
28-31 Device Cache Full Read Hits
32-35 Device Cache Partial Read Hits
36-39 Device Cache Write Hits
40-43 Device Cache Fast Writes
44-47 Device Cache Read Misses
48-51 Reserved = 0
Table 117 Log Sense Page 30

Page 30h returns performance counter information. This includes seek counters and buffer overrun/under run
counters.
The appropriate seek counter is incremented once during execution of Pre-Fetch, Read, Verify, Write, Write and
Verify and Write Same commands.
Buffer Overrun conditions are detected during Read commands.
Buffer Under run conditions are detected during Verify with ByteChk=1, Write, Write and Verify, and Write Same
commands.
Only one seek counter is incremented for each of these commands and the counter is incremented only once per
command. The length of the initial seek that is required to access the first Logical Block specified for the SCSI
command determines which seek counter is incremented. The Zero Seek counter is incremented if a seek is not
required or if only a head switch is required to access the first Logical Block. After the initial seek, no further counter
incrementing is performed for that command.
Note: The length of a seek as reported in page 30 may differ from expected results. The reason for this is that the
drive executes Idle Time Functions between operations of the drive. The seek operations that occur in Idle Time
Functions are not directly entered into page 30 seek counters but they change the length of the following seek. This
is because after the Idle Time Function is completed, the heads will not necessarily be in the same position as they
were at the completion of the previous command.
A buffer overrun or under run condition occurs when the Initiator does not transfer data to or from the Target data
buffer fast enough to keep up with reading or writing the media. The buffer overrun counter is incremented during
operations that require a Data In phase when a buffer full condition prevents the continued transfer of data from the
media to the data buffer. The buffer under run counter is incremented during operations that require a Data Out

125
Hard Disk Drive Specification
phase when a buffer empty condition prevents the start or continuation of a data transfer from the data buffer to the
media (or a data transfer from the media for a Verify command with BytChk=1).
Buffer Overrun conditions are detected during the following SCSI commands:
- READ (6)
- READ (10)
Buffer Under Run conditions are detected during the following SCSI commands:
- VERIFY WITH BytChk=1
- VERIFY (16) WITH BytChk=1
- WRITE (6)
- WRITE (10)
- WRITE AND VERIFY
- WRITE AND VERIFY (16)
- WRITE SAME
- WRITE SAME (16)
The number of times no seek was required. The operation may have resulted in a head switch.
- SEEKS >= 2/3 DISK
The number of seeks equal to or greater than 2/3 of the disk.
- SEEKS >= 1/3 AND < 2/3 DISK
The number of seeks equal to or greater than 1/3 and less than 2/3 of the disk.
- SEEKS >= 1/6 AND < 1/3 DISK
The number of seeks equal to or greater than 1/6 and less than 1/3 of the disk.
- SEEKS >= 1/12 AND < 1/6 DISK
The number of seeks equal to or greater than 1/12 and less than 1/6 of the disk.
- SEEKS > 0 AND < 1/12 DISK
The number of seeks less than 1/12 of the disk.
- OVERRUN COUNTER
The number of times that data was available to be transferred from the media but the device buffer still
contained data that had not been retrieved by the Initiator. Consequently, the disk had to take additional
revolutions until the buffer was available to accept data.
- UNDER RUN COUNTER
The number of times that the drive was ready to transfer data to its disk (on a write), but its buffer was empty
(i.e., had not been filled by the Initiator), thus the disk was forced to take extra revolutions.
- DEVICE CACHE FULL READ HITS
The number of times that all of the data requested by the read operation was obtained from the device read or
write cache.
- DEVICE CACHE PARTIAL READ HITS
The number of times that a portion, but not all, of the data requested by the read operation was obtained from
the device read or write cache. A physical operation to the device media was required to obtain the remaining
data.
- DEVICE CACHE WRITE HITS
The number of times that the data associated with a write operation replaces, or is combined with, existing
data in the device write cache, thereby eliminating a write operation.
- DEVICE CACHE FAST WRITES
The number of times that space was available in the device write cache for the data associated with a write
operation and a response was returned immediately.
- DEVICE CACHE READ MISSES
The number of times that none of the data requested by the read operation was obtained from the read cache.
The statistics reported by this page are lost on a self-initiated reset or when the Drive is powered off. Even though
the DS field equals 0, the parameters on this page are not savable.

126
Hard Disk Drive Specification
Log Sense Page 37
This page contains a series of miscellaneous data counters including information about predictive failure analysis
occurrences.
Bit
Byte
7 6 5 4 3 2 1 0
0 Reserved Page code = 37h
1 Reserved
2-3 Page Length = 0030h (48)
4-5 Parameter Code = 0000h
6 DU=0 DS=0 TSD=0 ETC=0 TMC = 0 F&L = 00b
7 Parameter Length = 2Ch
(MSB)
8-11 Power on Hours (hours only)
(LSB)
(MSB)
12-19 Total Bytes Read
(LSB)
(MSB)
20-27 Total Bytes Written
(LSB)
28 Max Drive Temp (degrees Celsius)
(MSB)
29-30 GList Size
(LSB)
31 Number of Information Exceptions
32 MED EXC HDW EXC Reserved = 0
33-40 Total Read Commands
41-48 Total Write Commands
49 Reserved = 0
50-51 Flash Correction Count

Table 118 Log Sense Page 37

The Power on Hours field specifies the total time the drive has been powered on in hours only.
The Max. Drive Temperature field specifies the maximum temperature, in degrees Celsius, the drive has ever
reached.
The Glist Size field gives the total number of LBAs that have been reassigned on the drive.
The Number of Information Exceptions field gives the number of Information Exceptions during the life of the
drive and not the number of Information Exceptions that have been reported. The number of reported Information
Exceptions may be less due to the settings of Mode Page 0x1C.NOTE: This field does not include occurrences of
any Information Exception Warnings.
If set, the Media Exception and Hardware Exception bits indicate that an Information Exception has occurred
during the life of the drive. These flags are set during an Information Exception that may or may not coincide with
the reporting of an Information Exceptions as mentioned above.
Total Read Commands counter is incremented for each Read (6) and Read (10) command received.
Total Write Commands counter is incremented for each Write (6), Write (10), Write Verify and Write Verify (16)
command received.
Flash Correction Count is incremented each time ECC correction is applied to data stored in Flash ROM.

127
Hard Disk Drive Specification
MODE SELECT (15)
Bit
Byte
7 6 5 4 3 2 1 0

0 Command Code = 15h

1 Reserved = 0 PF=1 Reserved = 0 SP

2
Reserved = 0
3

4 Parameter List Length

5 VU = 0 Reserved = 0 FLAG LINK

Table 119 Mode Select (15)

The MODE SELECT (15) command provides a means for the Initiator to specify LUN or device parameters to the
Target. It also allows an Initiator to specify options the Target uses in error recovery, caching, and formatting.
There is a single set of Mode Page parameters shared by all Initiators.
- PF Page Format bit value of one indicates that the data sent by the Initiator after the Mode Select Header and
the Block Descriptor, if any, complies to the Page Format. The Target ignores this field since it only accepts
mode parameters in the Page Format.
- SP Save Pages. This indicates:

0 The drive shall not save the pages sent during the Data Out phase but will use them for all
following commands until the power is removed, a reset is received, or a new MODE SELECT
command is received.
1 The drive will save the data in the reserved area of the disk. It will be used for all the following
commands until another MODE SELECT command is issued. This information is maintained over a
power cycle or reset of the drive.
- Parameter List Length This specifies the number of bytes to be sent from the Initiator. A parameter list length
of zero suppresses data transfer and is not considered an error.
The MODE SELECT parameter list contains a 4-byte header followed by zero or one block descriptor followed by
zero or more pages. The pages that are valid with this command are defined in the addendum under the heading
Mode Select Data, as they vary with the drive model.
Application Note
The Initiator should issue a MODE SENSE command requesting all Changeable values (see PCF field in byte two
of the CDB in) prior to issuing a MODE SELECT command. This is necessary to find out which pages are
implemented by the drive and the length of those pages. In the Pages of the MODE SENSE command the drive will
return the number of bytes supported for each Page. The Page Length set by the Initiator in the MODE SELECT
command must be the same value as returned by the drive in MODE SENSE Page Length. If not, the drive will
return Check Condition status with sense key of Illegal Request.
Note: If an Initiator sends a MODE SELECT command that changes any parameters that apply to other
Initiators, the drive shall generate a unit attention condition for all Initiators except for the one that issued the MODE
SELECT command. The drive shall set the additional sense code to Parameters Changed (2Ah).

128
Hard Disk Drive Specification
MODE SELECT (55)
Bit
Byte
7 6 5 4 3 2 1 0

0 Command Code = 55h

1 Reserved = 0 PF=1 Reserved = 0 SP

2-6 Reserved = 0

(MSB)
7-8 Parameter List Length
(LSB)

9 VU = 0 Reserved = 0 FLAG LINK

Table 120 Mode Select (55)

The MODE SELECT (55) command provides a means for the Initiator to specify LUN or device parameters to the
Target. See the MODE SELECT (15) command for a description of the fields in this command.

129
Hard Disk Drive Specification
MODE SENSE (1A)
Bit
Byte
7 6 5 4 3 2 1 0
0 Command Code = 1Ah
1 Reserved= 0 RSVD DBD Reserved = 0
2 PCF Page Code
3 Subpage Code
4 Allocation Length
5 VU = 0 Reserved = 0 FLAG LINK
Table 121 Mode Sense (1A)

The MODE SENSE (1A) command provides a means for the drive to report various device parameters to the
Initiator. It is the complement to the MODE SELECT command.
If the DBD (Disable Block Descriptor) bit is zero, the Target will return a Block Descriptor. If the DBD bit is set to 1,
the Target will not return a Block Descriptor.
Allocation Length indicates the maximum number of bytes that the Initiator has set aside for the DATA IN phase.
A value of zero is not considered an error. If the allocation length is smaller than the amount available, that portion
of the data up to the allocation length will be sent. This may result in only a portion of a multi-byte field being sent.
Page Control Field: PCF (Page Control Field) defines the type of Page Parameter values to be returned.
PCF Meaning
- 0 0 Report current values. The drive returns the current values under which the logical unit is presently
configured for the page code specified. The current values returned are
1. Initially following power-up but before the media is accessed, the default values become current. Once the
media can be accessed, the saved values are read from the Reserved Area and become current.
2. The parameters set in the last successful MODE SELECT command.
3. The saved values if a MODE SELECT command has not been executed since the last power-on, hard
RESET condition, or TARGET RESET message.
Following the completion of start-up, execution of the MODE SELECT command can modify the current
values.
Note: Those parameters associated with format are not considered current and are not saved until the
successful completion of a FORMAT UNIT command.
In addition, the current values take on the saved values after a reset if the parameters were saved. If the
Page Code is 3Fh, then all pages implemented by the Target are returned to the Initiator with fields and bit
values set to current values.
If the Page Code is not 3Fh, the page defined by the Page Code, if supported by the Target, is returned
with fields and bits set to current values.
Note: The drive will not process the MODE SELECT command until the completion of spin-up. Therefore,
the Initiator cannot modify the current values prior to the saved values being read in.
- 0 1 Report changeable value. The drive returns the changeable values for the page code specified. The
page requested is returned containing information that indicates which fields are changeable. All bits of
parameters that are changeable shall be set to one. Parameters that are defined by the drive shall be set to
zero. If any part of a field is changeable, all bits in that field shall be set to one.
Note: For a value field such as the buffer ratios of page 2 the bit field will not indicate the range of supported values but
rather that the field is supported.
- 1 0 Report default value. The drive returns the default values for the page code specified. The parameters
not supported by the drive are set to zero.

130
Hard Disk Drive Specification
- 1 1 Report saved value. The drive returns the saved value for the page code specified.
Saved values are one of the following:
- the values saved as a result of MODE SELECT command
- identical to the default values
- zero when the parameters are not supported
The Page Length byte value of each page returned by the drive indicates up to which fields are supported
on that page.
Page Code: This field specifies which page or pages to return. Page code usage is defined in the figure below.

Page Code Description

00h - 1Ch Return specific page, if supported.


3Fh Return all supported pages.

Table 122 Page Code Usage

If a Page Code of 3Fh is used, MODE SENSE returns the pages in ascending order with one exception. Page 0 is
always returned last in response to a MODE SENSE command.
If an unsupported page is selected, the command is terminated with a CHECKCONDITION status and available
sense of ILLEGAL REQUEST/INVALID FIELD IN CDB.
Subpage Code: This field specifies the subpage to return, and may be set to a specific page, or to FFh for all
supported subpages.

131
Hard Disk Drive Specification
Mode Parameter List
The mode parameter list contains a header followed by zero or one block descriptors followed by zero or more
variable length pages.

Header
The header used for the 6-byte CDB is defined below.
Bit
Byte
7 6 5 4 3 2 1 0
0 Mode Data Length
1 Medium Type = 0
2 WP=0 Reserved=0 DPOFUA = 1 Reserved = 0
3 Block Descriptor Length (= 0 or 8)
Table 123 Mode parameter header (6)

The header used for the 10-byte CDB is defined below.


Bit
Byte
7 6 5 4 3 2 1 0
(MSB)
0-1 Mode Data Length
(LSB)
2 Medium Type = 0
3 WP=0 Reserved=0 DPOFUA =1 Reserved = 0
4 Reserved = 0 Long LBA
5 Reserved = 0
(MSB)
6-7 Block Descriptor Length
(LSB)
Table 124 Mode parameter header (10)

- Mode Data Length. When using the MODE SENSE command, the mode data length field specifies the length in
bytes of the following data that is available to be transferred. The mode data length does not include the length
byte itself. When using the MODE SELECT command, this field is reserved.
- Medium Type field is always set to zero in the drive (Default Medium Type).
- WP. When used with the MODE SELECT command, the Write Protect (WP) bit is reserved.
When used with the MODE SENSE command, a Write Protect (WP) bit of zero indicates that the medium is
write enabled.
- DPOFUA bit value of 1 indicates that the Target supports the FUA and DPO bits in the Read and Write
Commands.
- LONGLBA bit value of 0 indicates that any following Block Descriptor uses the Short LBA Block Descriptor
format. A LONGLBA bit value of 1 indicates that any following Block Descriptor uses the Long LBA Block
Descriptor format
- Block Descriptor Length specifies the length in bytes of the block descriptor. Values of 0, 8, and 16 are
supported by the Target, respectively corresponding to an absent Block Descriptor, a single Short LBA Block
Descriptor, and a single Long LBA Block Descriptor.
Note: DPOFUA is ignored during Mode Select command processing although the SCSI Standard states that it is
reserved during Mode Select. Ignoring it allows the Mode Sense Parameter List for the byte containing this
bit to be re-used as a Mode Select Parameter List.

132
Hard Disk Drive Specification
Block Descriptors
Bit
Byte
7 6 5 4 3 2 1 0
(MSB)
0-3 Number of Blocks
(LSB)
4 Reserved = 0
(MSB)
5-7 Block Length
(LSB)
Table 125 Short LBA Mode Parameter Block Descriptor

Bit
Byte
7 6 5 4 3 2 1 0
(MSB)
0-7 Number of Blocks
(LSB)
8-11 Reserved = 0
(MSB)
12-15 Block Length
(LSB)
Table 126 Long LBA Mode Parameter Block Descriptor

The Block descriptor provides formatting information about the Number of Blocks (user addressable) to format at
the specified Block Length.
- Number of Blocks, when used with the MODE SELECT command, indicates the number of blocks to format
- Zero to indicate not to change available blocks
- 0xFFFFFFFF (Short LBA) or 0xFFFFFFFFFFFFFFFF (Long LBA) to indicate all available blocks
- The exact number of blocks in the data area of the drive, which can be obtained with the MODE SENSE
- The number of blocks less than exact one, in order to CLIP the number of blocks
Any other value is invalid and causes the command to fail with Check Condition status.
When returned by the MODE SENSE command, the field contains the exact number of blocks.
- Block Length field reflects the number of bytes of user data per sector (not including any protection
information). When used with the MODE SELECT command, the Block Length field must contain a value
from 512, 520, 528 or zero for all models and 4096, 4112, 4160, 4224 for models which support format with 4k
nominal block sizes. Otherwise the drive will terminate the command with Check Condition status.
A FORMAT UNIT command is required to cause these parameters to become current only if the block length
parameter is different from the current block length.

133
Hard Disk Drive Specification
Page Descriptor
Byte 0 PS SPF Page Code

Byte 1 Page Length

Byte 2-n Mode Parameters

Table 127 Mode Parameter Page Format

Each mode page contains a page code, a page length, and a set of mode parameters.
When using the MODE SENSE command, a Parameter Savable (PS) bit of one indicates that the mode page can
be saved by the drive in the reserved area of the drive. A PS bit of zero indicates that the supported parameters
cannot be saved. When using the MODE SELECT command, the PS bit is reserved (zero).
SPF (Sub-Page Format) is set to zero to indicate the short page format is used. The bit is set to one to indicate the
long format is used, supporting sub-pages. The drive supports the following mode page codes:

Page Description PS

00 Vendor Unique Parameters 1

01 Read-Write Error Recovery Parameters 1

02 Disconnect/Reconnect Control Parameters 1

03 Format Device Parameters 0

04 Rigid Disk Geometry Parameters 0

07 Verify Error Recovery Parameters 1

08 Caching Parameters 1

0A Control Mode Page 1

0C Notch Parameters 1

19 Port Control Page 1

1A Power Control Parameters 1

1C Informational Exceptions Control 1

Table 128 Mode Parameter Page Format

The page length field specifies the length in bytes of the mode parameters that follow. If the Initiator does not set
this value to the value that is returned for the page by the MODE SENSE command, the drive will terminate the
command with Check Condition status.

134
Hard Disk Drive Specification
Mode Page 00 (Vendor Unique Parameters)
Bit
Byte Default
7 6 5 4 3 2 1 0

0 PS 0 Page Code = 00h 80h

1 Page Length = 0Eh 0Eh

2 Reserved MRG Reserved Ignored 00h

3 Reserved VGMDE Reserved RRNDE Reserved 00h

4 Reserved 00h

5 Reserved FDD Reserved CAEN Ignored 02h

6 IGRA AVERP Reserved OCT (high nibble) 00h

7 Overall Command Timer (low byte) 00h

8 Reserved 00h

9 Temperature Threshold 00h

10 Command Aging Limit (Hi byte) 00h

11 Command Aging Limit (Low byte) 30h

12 Read Reporting Threshold 16h

13 Write Reporting Threshold 14h

14 DRRT Ignored FFMT Ignored 00h

15 Ignored Reserved FCERT Ignored Reserved Ignored Reserved 00h

Table 129 Vendor Unique Parameters - Page 00

Fields marked in the table as 'Ignored' are not used or checked by the drive. They will be initialized to zero but can
be set as desired for compatibility with older drives.
- MRG (Merge Glist into Plist) bit is set to 1 for merging the Glist entries into the Plist during FORMAT UNIT
command.
- VGMDE (Veggie Mode) bit set to 1 will cause the drive to execute random self-seeks. To enable this mode, the
initiator must perform the mode select to set the bit while the drive is spinning, then Stop Unit, then Start Unit.
VGMDE set to 0 disables the self-seeks (normal operation).
- RRNDE (Report Recovered Non Data Errors) bit controls the reporting of recovered Non Data Errors when the
PER bit is set. If RRNDE is set, recovered Non Data Errors are reported. If the RRNDE bit is not set, then
recovered Non Data Errors are not reported.
- FDD(Format Degraded Disable) controls the reporting of Format Degraded sense data for Test Unit Ready
commands when the drive is in a format degraded state. When the FDD bit is one, Format Degraded sense data
will not be reported for a Test Unit Ready command. When the FDD bit is zero, Format Degraded sense data will
be reported for Test Unit Ready commands when the drive is in a format degraded state. This bit does not affect
the reporting of Format Degraded conditions for any media access commands.
- CAEN (Command Aging Enable) When set this bit causes the Command Age Limit timer to be used to avoid
commands waiting in the command queue for an indefinite period. When commands have been in the queue for
a period of time greater than the timer limit they will be reordered to be executed on a first come first served

135
Hard Disk Drive Specification
basis. When this bit is reset, commands are always executed based on the queue reordering rules.
- IGRA (Ignore Reassigned LBA) bit works in conjunction with the RC bit (Mode Page 01h, byte 2, bit 4).The main
purpose of this bit is to avoid undesirable read processing time delays due to reassigned LBA processing for
continuous data availability requirements such as Audio Visual applications. If IGRA is set to one and RC is set
to one, out-of-line reassigned LBAs will not be processed. If IGRA is set to one and RC is set to zero, or if IGRA
is set to zero, reassigned LBAs will be processed normally.
- AVERP (AV ERP Mode) bit is set to one in order to specify maximum retry counts during Read DRP. When
AVERP bit is set to one, the maximum retry counts for read operations is specified by Read Retry Count (Mode
Page 1 Byte 3). AVERP bit is set to zero to specify that the drive shall process read DRP up to the default
maximum retry count when Read Retry Count is set to a non-zero value.
- OCT(Overall Command Timer) controls the maximum command execution time, from receipt by the drive until
status is returned. If the command is unable to complete in the specified amount of time, it will be aborted with
Check Condition status, Aborted Command sense key. The Overall Command Timer does not alter the behavior
of the Command Aging Limit or Recovery Time Limit. Each unit of this timer is 50 milliseconds. Setting the value
to zero disable the feature.
- Temperature Threshold Temperature Threshold specifies the threshold value in degrees Celsius for the
thermal sensor Information Exception Warning; the reporting of which is controlled by Mode Page 0x1C. A value
of 0 selects the default value (85 degrees Celsius).
- Command Aging Limit This value controls the maximum time a command should wait in the command queue
when the CAEN bit is set. Each unit of this timer is 50ms.
- Read Reporting Threshold specifies the recovery step that must be exceeded to report recovered data errors
during read operations when PER=1.For example, if the Read Reporting Threshold is set to 22, recovered read
errors will be reported starting at recovery step 23
- Write Reporting Threshold specifies the recovery step that must be exceeded to report recovered data errors
during write operations when PER=1.For example, if the Write Reporting Threshold is set to 20, recovered write
errors will be reported starting at recovery step 21.
- DRRT (Disable Restore Reassign Target) bit disables the reading and restoration of the target LBA during a
Reassign Blocks command. If the DRRT bit is zero, the reassign command attempts to restore the target LBA's
data. If the data cannot be restored, the target LBA is reassigned and written with a data pattern of all 00s. If the
DRRT bit is one, no attempt is made to restore the target LBA.
- FFMT (Fast Format Enable) bit allows the formatting of the drive without any writes to the customer media. All
format operations are allowed including changing block sizes and manipulating defects. The drive will operate
normally after a fast format with the following caveat: since no data is written to any customer data blocks as a
result of a Fast Format operation, there is a possibility that a read attempt to any particular block (without having
previously written to that block) will result in an unrecoverable data error. This will most likely happen if the block
size is changed as every LBA will contain data of an incorrect length and apparently an incorrect starting point. It
is also possible to generate an uncorrectable data error without changing block sizes if the defect list is
shortened and previously bad blocks become visible in the customer address space. Of course ALL DATA ON
THE DRIVE WILL BE LOST as the result of any format operation and so any attempt to read blocks which have
not been written to will result in unpredictable behavior.
- FCERT (Format Certification) bit determines whether the certification step will be performed during a Format
Unit command. FCERT bit set to 0 disables certification. FCERT bit set to 1 enables the certification step.

136
Hard Disk Drive Specification
Mode Page 01 (Read/Write Error Recovery Parameters)
Bit
Byte Default
7 6 5 4 3 2 1 0
0 PS 0 Page Code = 01h 81h
1 Page Length = 0Ah 0Ah
2 AWRE ARRE TB RC EER=0 PER DTE DCR=0 C0h
3 Read Retry Count 01h
4 Obsolete = 0 00h
5 Obsolete = 0 00h
6 Obsolete = 0 00h
7 Reserved 00h
8 Write Retry Count 01h
9 Reserved 00h
(MSB)
10
Recovery Time Limit 00h
11
(LSB)
Table 130 Mode Page 01 (Vendor Unique Parameters)

The Read-Write recovery parameters that will be used during any command that performs a read or write operation
to the medium are as follows:
- AWRE Automatic Write Reallocation Enabled bit, set to one indicates that the drive shall perform automatic
reallocation of defective data blocks during write operations. AWRE bit set to zero is ignored.
- ARRE Automatic Read Reallocation Enabled bit, set to one indicates that the drive shall perform automatic
reallocation of defective data blocks during read operations. ARRE bit, set to zero is ignored.
- TB Transfer Block bit, set to one indicates that a data block that is not recovered within the recovery limits
specified shall be transferred to the Initiator before Check Condition status is returned. A TB bit set to zero
indicates that such a data block shall not be transferred to the Initiator. Data blocks that can be recovered within
the recovery limits are always transferred regardless of the value of the bit.
- RC Read Continuous bit, set to one requests the Target to transfer the entire requested length of data without
adding delays that would increase or ensure data integrity. This implies that the Target may send erroneous
data. This bit has priority over all other error control bits (PER, DTE, DCR, TB). RC set to zero indicates normal
interpretation of PER, DTE, DCR, and TB values. The RC bit setting is used by the Target when reporting errors
associated with the transfer of the Initiator's data for the Read commands interpretation of PER, DTE, DCR, and
TB values. The RC bit applies only to READ commands.
Note: The Target implementation of the RC option is to disable error detection of the data fields but continue
normal error detection and recovery for errors occurring in the servo field. If a servo field failure occurs, normal
DRP could result in considerable recovery action, including proceeding through all levels of DRP.
- EER an Enable Early Recovery bit, must be set to zero, indicating that the drive shall use an error recovery
procedure that minimizes the risk of misdetection or miscorrection during the data transfer. Data shall not be
fabricated.
- PER Post Error bit, is set to one to indicate that the drive reports recovered errors.
- DTE (Data Terminate on Error) bit set to one specifies that data transfer will be halted when the first recovered
error is encountered. PER must be set to one when DTE is set to one. DTE set to zero will cause data transfer
to continue when recovered errors are encountered.
- DCR - Reserved
- Read Retry Count sets a limit on the amount of DRP passes in which the Target attempts to recover read
errors. A value of zero disables all data recovery procedures. When AVERP bit (Mode Page 0 Byte 6 Bit 6) is
zero, a value of non-zero in Read Retry Count enables all steps of DRP. When AVERP bit is one, the number in

137
Hard Disk Drive Specification
Read Retry Count sets the maximum retry count of DRP.
- Write Retry Count sets a limit on the amount of DRP passes in which the Target attempts to recover write
errors. A value of zero disables all data recovery procedures.
- Recovery Time Limit indicates the period in 1 millisecond increments for the maximum recovery time of a
single LBA. The value must be from 40 ms to 65535 ms (65.5 seconds).The granularity of the timer is 50ms. If
an LBA is not able to be recovered within the limit, a Check Condition will be returned. The Recovery Time Limit
will not be applied to Writes when WCE=1. A value of zero disables the timer.
- The following summarizes valid modes of operation. If an illegal mode is set, the MODE SELECT command will
complete successfully but the action of the drive when an error occurs is undefined.
Perdtedcrtb Description
0000 Retries and Error Correction are attempted. Recovered or corrected data (if any) or both are
transferred with no Check Condition status at the end of the transfer.
no err The transfer length is exhausted.
soft err The transfer length is exhausted. Transferred data includes blocks containing
recovered errors.
hard err Data transfer stops when an unrecoverable error is encountered. The
unrecoverable block is not transferred to the Initiator. The drive then creates the
Check Condition status with the appropriate sense key.
0001 Retries and Error Correction are attempted. Recovered or corrected data (if any) or both are
transferred with no Check Condition status at the end of the transfer.
no err The transfer length is exhausted.
soft err The transfer length is exhausted. Transferred data includes blocks containing
recovered errors.
hard err Data transfer stops when an unrecoverable error is encountered. The
unrecoverable block is transferred to the Initiator. The drive then creates the
Check Condition status with the appropriate sense key.
0010 Retries are attempted but no error correction (LDPC) is applied. Recovered data (if any) are
transferred with no Check Condition status at the end of the transfer.
no err The transfer length is exhausted.
soft err The transfer length is exhausted. Transferred data includes blocks containing
recovered errors.
hard err Data transfer stops when an unrecoverable error is encountered. The
unrecoverable block is not transferred to the Initiator. The drive then creates the
Check Condition status with the appropriate sense key.
0011 Retries are attempted but no error correction (LDPC) is applied. Recovered data (if any) are
transferred with no Check Condition status at the end of the transfer.
no err The transfer length is exhausted.
soft err The transfer length is exhausted. Transferred data includes blocks containing
recovered errors.
hard err Data transfer stops when an unrecoverable error is encountered. The
unrecoverable block is transferred to the Initiator. The drive then creates the
Check Condition status with the appropriate sense key.
0100 Illegal Request-DTE must be zero when PER is zero.
0101 Illegal Request-DTE must be zero when PER is zero.
0110 Illegal Request-DTE must be zero when PER is zero.
0111 Illegal Request-DTE must be zero when PER is zero.

138
Hard Disk Drive Specification
1000 The highest level error is reported at the end of transfer. Retries and error correction are attempted.
Recovered or corrected data (if any) or both are transferred with Check Condition status and
Recovered Error sense key set at the end of the transfer.
no err The transfer length is exhausted.
soft err The transfer length is exhausted. Transferred data includes blocks containing
recovered errors. The information byte in the sense data will contain the LBA of the
last recovered error.
hard err Data transfer stops when an unrecoverable error is encountered. The unrecoverable
block is not transferred to the Initiator. The drive then creates the Check Condition
status with the appropriate sense key.
1001 The highest level error is reported at the end of transfer. Retries and error correction are attempted.
Recovered or corrected data (if any) or both are transferred with Check Condition status and
Recovered Error sense key set at the end of the transfer.
no err The transfer length is exhausted.
soft err The transfer length is exhausted. Transferred data includes blocks containing
recovered errors. The information byte in the sense data will contain the LBA of the
last recovered error.
hard err Data transfer stops when an unrecoverable error is encountered. The unrecoverable
block is not transferred to the Initiator. The drive then creates the Check Condition
status with the appropriate sense key.
1010 The highest level error is reported at the end of transfer. Retries are attempted but LDPC is not
applied. Recovered or corrected data (if any) or both are transferred with Check Condition status and
Recovered Error sense key set at the end of the transfer.
no err The transfer length is exhausted.
soft err The transfer length is exhausted. Transferred data includes blocks containing
recovered errors. The information byte in the sense data will contain the LBA of the
last recovered error.
hard err Data transfer stops when an unrecoverable error is encountered. The unrecoverable
block is not transferred to the Initiator. The drive then creates the Check Condition
status with the appropriate sense key.
1011 The highest level error is reported at the end of transfer. Retries and error correction are attempted.
Recovered or corrected data (if any) or both are transferred with Check Condition status and
Recovered Error sense key set at the end of the transfer.
no err The transfer length is exhausted.
soft err The transfer stops on the first soft error detected. The information in the sense data
shall contain the LBA of the block in error.
hard err Data transfer stops on the unrecoverable error. The unrecoverable error block is not
returned to the Initiator. The drive then creates the Check Condition status with the
appropriate sense key.
1100 The highest level error is reported at the end of transfer. Retries and error correction are attempted.
Recovered or corrected data (if any) or both are transferred with Check Condition status and
Recovered Error sense key set at the end of the transfer.
no err The transfer length is exhausted.
soft err The transfer stops on the first soft error detected. The information in the sense data
shall contain the LBA of the block in error.
hard err Data transfer stops on the unrecoverable error. The unrecoverable error block is not
returned to the Initiator. The drive then creates the Check Condition status with the
appropriate sense key.

139
Hard Disk Drive Specification
1011 The highest level error is reported at the end of transfer. Retries and error correction are attempted.
Recovered or corrected data (if any) or both are transferred with Check Condition status and Recovered
Error sense key set at the end of the transfer.
no err The transfer length is exhausted.
soft err The transfer stops on the first soft error detected. The information in the sense data shall
contain the LBA of the block in error.
hard err Data transfer stops on the unrecoverable error. The unrecoverable error block is returned
to the Initiator. The drive then creates the Check Condition status with the appropriate
sense key.
1110 The highest level error is reported at the end of transfer. Retries are attempted but LDPC is not applied.
Recovered data are transferred with Check Condition status and Recovered Error sense key set at the
end of the transfer.
no err The transfer length is exhausted.
soft err The transfer stops on the first soft error detected. The recovered error block is returned to
the initiator. The information in the sense data shall contain the LBA of the block in error.
hard err Data transfer stops on the unrecoverable error. The unrecoverable error block is not
returned to the Initiator. The drive then creates the Check Condition status with the
appropriate sense key.
1111 The highest level error is reported at the end of transfer. Retries are attempted but LDPC in not applied.
Recovered or corrected data (if any) or both are transferred with Check Condition status and Recovered
Error sense key set at the end of the transfer.
no err The transfer length is exhausted.
soft err The transfer stops on the first soft error detected. The information in the sense data shall
contain the LBA of the block in error.
hard err Data transfer stops on the unrecoverable error. The unrecoverable error block is returned
to the Initiator. The drive then creates the Check Condition status with the appropriate
sense key.

140
Hard Disk Drive Specification
Mode Page 02 (Disconnect/Reconnect Parameters)
Bit
Byte Default
7 6 5 4 3 2 1 0
0 PS 0 Page Code = 02h 82h
1 Page Length = 0Eh 0Eh
2 Read Buffer Full Ratio 00h
3 Write Buffer Empty Ratio 00h
(MSB)
4-5 Bus Inactivity Time Limit 00h
(LSB)
6-7 Disconnect Time Limit = 0 00h
(MSB)
8-9 Maximum Connect Time Limit 00h
(LSB)

(MSB)
10-11 Maximum Burst Size 00h
(LSB)
12-13 Reserved = 0 00h
14-15 First Burst Size = 0 00h
Table 131 Mode Page 02 (Disconnect/Reconnect Parameters)

The disconnect/reconnect page provides the Initiator with the means to tune the performance of the SAS Link.
The drive uses the disconnect/reconnect parameters to control when it attempts to regain control of the link during
READ (operation code 08h and 28h) and WRITE (0Ah, 2Ah and 2E).
- Read Buffer Full Ratio is the numerator of a fraction whose denominator is 256. The fraction indicates how full
the drive data buffer should be before attempting to re-arbitrate for the link. If the ratio is set to 0h, the target will
calculate and use an optimal ratio based on the negotiated transfer rate.
- Bus Inactivity Time Limit specifies the maximum time that the SAS target port is permitted to maintain a
connection without transferring a frame to the initiator port, specified in 100 microsecond increments. When this
value is exceeded, the target port will prepare to close the connection by transmitting DONE.A value of zero
indicates that there is no bus inactivity time limit.
- Disconnect Time Limit is not supported.
- Write Buffer Empty Ratio is the numerator of a fraction whose denominator is 256. The fraction indicates how
empty the drive data buffer should be before attempting to re-arbitrate for the link. If the ratio is set to 0h, the
target will calculate and use an optimal ratio based on the negotiated transfer rate. Both the Read Buffer Full
Ratio and the Write Buffer Empty Ratio pertain to the current active notch. For each active notch as defined in
page 0Ch there are separate Read Buffer Full Ratios and Write Buffer Empty Ratios. When the active notch is
set to zero, the values are applied in mode page 0Ch across all notches.
- Maximum Connect Time Limit specifies the maximum amount of time the drive will keep a SAS connection
open. The time is specified in 100 microsecond increments. The default value of zero indicates no time limit. A
maximum value of FFFFh specifies a connection time limit of 6.55 seconds. When this time expires, the drive will
prepare to close the connection.
- Maximum Burst Size field indicates the maximum amount of data that the target port shall transfer during a
single data transfer operation. This value is expressed in increments of 512 bytes. A value of zero specifies
there is no limit on the amount of data transferred per data transfer operation.
- First Burst Size is not supported.

141
Hard Disk Drive Specification
Mode Page 03 (Format Device Parameters)
Bit
Byte Default
7 6 5 4 3 2 1 0
0 PS 0 Page Code = 03h 03h
1 Page Length = 16h 16h
(MSB) xxh
2-3 Tracks per Zone
(LSB) xxh
(MSB) 00h
4-5 Alternate Sectors per Zone = 0
(LSB) 00h
(MSB) 00h
6-7 Alternate Tracks per Zone = 0
(LSB) 00h
(MSB) 00h
8-9 Alternate Tracks per Logical Unit = 0
(LSB) 00h
(MSB) xxh
10-11 Sectors Per Track
(LSB) xxh
(MSB) xxh
12-13 Data Bytes per Physical Sector
(LSB) xxh
(MSB) 00h
14-15 Interleave = 0001h or 0000h
(LSB) 01h
(MSB) xxh
16-17 Track Skew Factor
(LSB) xxh
(MSB) xxh
18-19 Cylinder Skew Factor
(LSB) xxh
20 SSEC HSEC RMB SURF RESERVED = 0 40h
21-23 Reserved = 0 00h
Table 132 Mode Page 03 (Format Device Parameters)

The format device page contains parameters that specify the medium format. This page contains no changeable
parameters.
- Tracks per Zone specifies the number of tracks within the zone. This field is a function of the active notch.
- Sectors per Track specifies the number of physical sectors within each track. This field is a function of the
active notch.
- Data Bytes per Physical Sector specifies the number of user data bytes per physical sector. The value
depends upon the current formatted Block Length.
- Interleave value of 1 or 0 is valid. However, the drive will ignore this.
- Track Skew Factor indicates the number of physical sectors between the last block of one track and the first
block on the next sequential track of the same cylinder. This field is a function of the active notch.
- Cylinder Skew Factor indicates the number of physical sectors between the last block of one cylinder and the
first block on the next sequential cylinder. This field is a function of the active notch.
- SSEC = Zero indicates that the drive does not support soft sector formatting.

142
Hard Disk Drive Specification
- HSEC = One indicates that the drive supports hard sector formatting.
- RMB = Zero indicates that the media does not support removable Fixed Disk.
- SURF = Zero indicates that progressive addresses are assigned to all logical blocks in a cylinder prior to
allocating addresses within the next cylinder.

143
Hard Disk Drive Specification
Mode Page 04 (Rigid Disk Drive Geometry Parameters)
Bit
Byte Default
7 6 5 4 3 2 1 0

0 PS 0 Page Code = 04h 04h

1 Page Length = 16h 16h

(MSB) xxh
2-4 Number of Cylinders
(LSB) xxh

5 Number of heads xxh

(MSB) 00h
Starting Cylinder -
6-8
Write Pre compensation = 0
00h
(LSB)

(MSB) 00h
Starting Cylinder -
9-11
Reduced Write Current = 0
00h
(LSB)

(MSB) 00h
12-13 Drive Step Rate = 0 (Not used)
(LSB) 00h

(MSB) 00h
14-16 Landing Zone Cylinder = 0 (Not used)
(LSB) 00h

17 RESERVED = 0 RPL = 0 00h

18 Rotational Offset = 0 (Not used) 00h

19 RESERVED = 0 00h

(MSB) 1Ch
20-21 Medium Rotation Rate in RPM
(LSB) 20h

22-23 Reserved = 0 00h

Table 133 Mode Page 04 (Rigid Disk Drive Geometry Parameters)

The rigid disk drive geometric page specifies various parameters for the drive.
- RPL = 0, Indicates that the drive does not support spindle synchronization.

144
Hard Disk Drive Specification
Mode Page 07 (Verify Error Recovery Parameters)
Bit
Byte Default
7 6 5 4 3 2 1 0

0 PS 0 Page Code = 07h 87h

1 Page Length = 0Ah 0Ah

2 Reserved = 0 EER=0 PER DTE DCR=0 00h

3 Verify Retry Count 01h

4 Obsolete =0 00h

5-9 Reserved = 0 00h


(MSB)
10-11 Verify Recovery Time Limit 00h
(LSB)

Table 134 Mode Page 07 (Verify Error Recovery Parameters)

The Verify recovery parameters are used by the Target when recovering from and reporting errors associated with
the verification of the Initiator's Data for the following commands:
- VERIFY
- WRITE AND VERIFY - the verify portion of the command only.
- EER This bit is 0 since the Target does not support early recovery.
- PER (post error) bit is set to one to indicate that the drive reports recovered errors. The PER and DTE bit
settings in mode page 7 override those of mode page 1 during VERIFY and the Verify portion of WRITE AND
VERIFY
- DTE (Data Terminate on Error) bit set to one specifies that data transfer will be halted when the first recovered
error is encountered. PER must be set to one when DTE is set to one. DTE set to zero will cause data transfer
to continue when recovered errors are encountered
- DCR - Reserved
- Verify Retry Count sets a limit on the amount of verify recovery procedure (VRP) passes the Target attempts
when recovering verify errors. The Verify Retry Count of one causes the Target to attempt up to one VRP pass
per command when a medium error occurs during a verify operation. Only values of 0h and 01h are valid. The
value of 0h disables all recovery.
- Verify Recovery Time Limit indicates the period in 1 millisecond increments for the maximum recovery time of
a single LBA during the verify operation. The value must be from 40 ms to 65535 ms (65.5 seconds). The
granularity of the timer is 50ms. If an LBA is not able to be recovered within the limit, a Check Condition will be
returned.

145
Hard Disk Drive Specification
Mode Page 08 (Caching Parameters)
Bit
Byte Default
7 6 5 4 3 2 1 0
0 PS 0 Page Code = 08h 88h
1 Page Length = 12h 12h
2 IC ABPF CAP DISC SIZE WCE MF RCD 04h
3 Demand Read Retention Priority Write Retention Priority 00h
(MSB)
4-5 Disable Pre-fetch Transfer Length FFh
(LSB)
(MSB)
6-7 Minimum Pre-fetch 00h
(LSB)
(MSB)
8-9 Minimum Pre-fetch FFh
(LSB)
10-11 Maximum Pre-fetch Ceiling FFh
12 FSW LBCSS DRA Reserved = 0 00h
13 Number of Cache Segments 08h
(MSB)
14-15 Cache Segment Size 00h
(LSB)
16 Reserved = 0 00h
(MSB)
17-19 Non Cache Segment Size 00h
(LSB)

Table 135 Page 08 (Caching Parameters)

The caching parameters page defines parameters that affect the use of the cache.
- IC(Initiator Control) bit of one specifies that the drive will honor the following parameters to control cache
segmentation and pre-fetch: SIZE, FSW, LBCSS, Number of Cache Segments, Cache Segment Size. The drive
will never pre-fetch less data than specified by ABPF, MF, Demand Read Retention Priority, Write Retention
Priority, Disable Pre-fetch Transfer Length, Minimum Pre-fetch, Maximum Pre-fetch, and Maximum Pre-fetch
Ceiling, but may pre-fetch more based on internal cache algorithms. When the IC bit is set to zero, all the
parameters listed above are ignored, and an internal caching algorithm is used.
- ABPF (Abort Pre-fetch) bit of one, with DRA set to zero, causes the drive to abort the pre-fetch upon receipt of a
new command. ABPF set to one takes precedence over Minimum Pre-fetch. When ABPF is zero, with DRA set
to zero, the termination of any active pre-fetch is dependent upon the other parameters in this page.
- CAP (Caching Analysis Permitted) is not supported and is ignored. The IC bit can be used to enable or disable
adaptive caching.
- DISC (Discontinuity) is not supported and is ignored. Pre-fetch operations will continue across cylinders, within
the limits of other caching parameters on this page.
- SIZE (Size Enable) bit when set to one indicates that the Cache Segment Size is to be used to control caching
segmentation. When SIZE is set to zero, the Initiator requests that the Number of Cache Segments is to be used
to control caching segmentation.
- WCE (Write Cache Enable) bit when set at zero indicates that the drive must issue Good status for WRITE (6) or

146
Hard Disk Drive Specification
WRITE (10) command only after successfully writing the data to the media. When the WCE bit is set to one, the
drive may issue Good status for a WRITE (6) or WRITE (10) command after successfully receiving the data but
before writing it to the media. When WCE = 1, the drive operates as if AWRE = 1.
Note: When WCE = 1, a SYNCHRONIZE CACHE command must be done to ensure data are written to the
media before powering down the Target.
- MF (Multiplication Factor) bit determines how the Maximum and Minimum Pre-fetch parameters are interpreted.
If this bit is set to zero, the parameters are used as is. If the bit is set to one, the parameters are multiplied by the
number of blocks requested in the Read Command.
- RCD (Read Cache Disable) bit set at zero indicates that the drive may return some or all of the data requested
by a READ (6) or READ (10) command by accessing the data buffer, not the media. An RCD bit set at one
indicates that the Target does not return any of the data requested by a READ (6) or READ (10) command by
accessing the data buffer. All of the data requested is read from the media instead.
- Demand Read Retention Priority is not supported.
- Write Retention Priority is not supported.
- Disable Pre-fetch Transfer Length is used to prevent read-ahead after Read commands that are longer than
the specified number of blocks. If this parameter is set to zero, a read-ahead is not performed.
- Minimum Pre-fetch specifies the minimum number of LBAs that the drive should after each READ command. A
value of zero indicates that read ahead should be terminated immediately after a new command arrives, except
when the new command is on the current head and track.
- Maximum Pre-fetch specifies the maximum number of LBAs to read ahead after a Read command.
- Maximum Pre-fetch Ceiling specifies the maximum number of blocks the drive should attempt to read ahead.
This field is ignored.
- FSW (Force Sequential Write) is not supported and is ignored. All logical blocks will be written in sequential
order.
- LBCSS (Logical Block Cache Segment Size) bit when set to one indicates that the Cache Segment Size field
units shall be interpreted as logical blocks. When it is set to zero, the Cache Segment Size field units shall be
interpreted as bytes.
- DRA (Disable Read Ahead) bit when set to one request that the Target not read into the buffer any logical block
beyond the addressed logical block(s). When it is set at zero, the Target may continue to read logical blocks into
the buffer beyond the addressed logical block(s).
- Number of Cache Segments field is used to select the number of data buffer cache segments. This parameter
is valid only when the SIZE bit is set at zero. It is ignored when SIZE is set at one.
- Cache Segment Size field indicates the requested segment size in Bytes or Blocks, depending upon the value
of the LBCSS bit. The Cache Segment Size field is valid only when the SIZE bit is one. It is ignored when SIZE
is set at zero.
- Non Cache Segment Size is not supported and is ignored.

147
Hard Disk Drive Specification
Mode Page 0A (Control Mode Page Parameters)
Bit
Byte Default
7 6 5 4 3 2 1 0

0 PS 0 Page Code = 0Ah 8Ah

1 Page Length = 0Ah 0Ah

2 TST=0 TMFonly=0 DPICZ D_Sense GLTSD=0 RLEC=0 04h

3 Queue Algorithm Modifier RSVD=0 QErr DQue 00h

4 RSVD=0 RAC=0 UA_INTLCK_CTRL=0 SWP=0 Obsolete 04h

5 ATO TAS=0 ATMPE RWWP RSVD=0 00h

6-7 Obsolete=0 00h

8-9 (MSB) Busy Timeout Period(LSB) 00h

10-11 (MSB)Extended Self-test Routine Completion Time(LSB) xxh

Table 136 Page 0A (Control Mode Page Parameters)

Following are parameter options for Page 0A.


- DPICZ, Disable Protection Information Check if protect field is Zero, bit set to zero indicates that checking of
protection information bytes is enabled. A DPICZ bit set to one indicates that checking of protection information
is disabled on commands with:
- The RDPROTECT field (see SBC-3) set to zero;
- The VRPROTECT field (see SBC-3) set to zero; or
- The ORPROTECT field (see SBC-3) set to zero.
- D_Sense, Descriptor Sense Data, bit controls the format in which the drive returns sense data for
CHECK_CONDITION status:
- Setting the D_SENSE bit to 0 specifies that the drive shall return fixed format sense data for
CHECK_CONDITION.
- Setting the D_SENSE bit to 1 specifies that the drive shall return descriptor format sense data for
CHECK_CONDITION
- Queue Algorithm Modifier specifies restrictions on the algorithm used for reordering commands that are
tagged with the SIMPLE message.
- 0h: Restricted reordering. The Target shall reorder the actual execution sequence of the queued commands
from each Initiator such that data integrity is maintained for that Initiator.
- 1h: Unrestricted reordering allowed. The Target may reorder the actual execution sequence of the queued
commands in any manner it selects. Any data integrity exposures related to command sequence order are
explicitly handled by the Initiator through the selection of appropriate commands and queue tag messages.
- 2h-7h: RESERVED.
- 8: Command reordering is disabled
- 9-Fh: RESERVED

148
Hard Disk Drive Specification
- QErr (Queue Error Management) The queue error management (QERR) field specifies how the device server
shall handle blocked tasks when another task receives a Check Condition status.
- 00b: Specifies that all tasks from all Initiators are blocked from execution when a Continent Allegiance
(CA condition) is pending. Those blocked tasks are allowed to resume execution in a normal fashion after
the CA condition is cleared.
- 01b: Specifies that all tasks from all Initiators are aborted when the Target returns Check Condition status.
A unit attention condition will be generated for each Initiator that had commands in the queue except for the
Initiator that received the Check Condition status. The sense key will be set to Unit Attention and the
additional sense code will be set to Commands Cleared by Another Initiator.
- 10b: Reserved
- 11b: Blocked tasks in the task set belonging to the Initiator to which a Check Condition status is sent shall
be aborted when the status is sent.
- DQue (Disable Queuing) bit set at zero specifies that tagged queuing shall be enabled if the Target supports
tagged queuing. A DQue bit set at one specifies that tagged queuing shall be disabled. Command queuing is
always enabled on the drive, therefore this bit is ignored.
- ATO (Application Tag Owner) bit set to one specifies that the contents of the Logical Block Application Tag field
in the protection information, if any, shall not be modified by the drive. An ATO bit set to zero specifies that the
contents of the Logical Block Application Tag field in the protection information, if any, may be modified by the
drive. If the ATO bit is set to zero, the drive will ignore the contents of the Logical Block Application Tag field in
the protection information.
- ATMPE (Application Tag Mode Page Enabled) bit set to zero specifies that the Application Tag mode page (see
SBC-3) is disabled and the contents of logical block application tags are not defined by this standard. An
ATMPE bit set to one specifies that the Application Tag mode page is enabled.
If:
- the ATMPE is set to one;
- the ATO bit is set to one;
- the value in the DPICZ bit allows protection information checking for the specified command; and
- the APP_CHK bit is set to one in the Extended Inquiry VPD page;
then:
- knowledge of the value of the Application Tag shall come from the values in the Application Tag mode page
as specified by the DPICZ bit.
- RWWP (Reject Write Without Protection) bit set to zero specifies that write commands without protection
information (see SBC-3) shall be processed. A RWWP bit set to one specifies that write commands without
protection information received by a device server that has been formatted with protection information shall be
terminated with CHECK CONDITION status with the sense key set to ILLEGAL REQUEST and the additional
sense code set to INVALID FIELD IN CDB
- Busy Timeout Period is ignored
- Extended Self-test Routine Completion Time specifies the time in seconds that the device server requires to
complete an extended self-test provided the device server is not interrupted by subsequent commands and no
errors occur during processing of the self-test. If the value is FFFFh, indicates that the extended self-test takes
65535 seconds or longer. See also the EXTENDED SELF-TEST COMPLETION MINUTES field in the Extended
INQUIRY Data VPD page.

149
Hard Disk Drive Specification
Control Extension Subpage 01h
Bit
Byte Default
7 6 5 4 3 2 1 0

0 PS=1 SPF=1 Page Code = 0Ah CAh

1 Subpage Code = 1 01h

2-3 Page Length = 001Ch 001Ch

4 Reserved = 0 TCMOS=0 SCSIP=0 IALUAE = 0 00h

5 Reserved = 0 Initial Priority = 0 00h

6 Maximum Sense Data Length 00h

7-31 Reserved = 0 00h

Table 137 Control Extension Subpage

- TCMOS (Timestamp Changeable By Methods Outside This Standard): set to zero to specify that the
timestamp shall not be changed by any method except those defined by this standard.
- SCSIP (SCSI Precedence): set to zero to specify that methods outside this standard may change the
timestamp and that the SET TIMESTAMP command is illegal.
- IALUAE (Implicit Asymmetric Logical Unit Access Enabled): set to zero to specify that implicitly managed
transitions between primary target port asymmetric access states are disallowed and indicates that implicitly
managed transitions between primary target port asymmetric access states are disallowed or not supported.
- Initial Command Priority: set to zero to indicate that the device server does not support priorities with the SET
PRIORITY command.
- Maximum Sense Data Length: specifies the maximum number of bytes of sense data the device server shall
return in the same I_T_L_Q nexus transaction as the status. A Maximum Sense Data Length field set to zero
specifies that there is no limit. The device server shall not return more sense data bytes in the same I_T_L_Q
nexus transaction as the status than the smaller of the length indicated by the:
- Maximum Sense Data length field; and
- Maximum Supported Sense Data Length field in the Extended INQUIRY VPD page (Page 86h).

150
Hard Disk Drive Specification
Control Extension Subpage 02h
Bit
Byte
7 6 5 4 3 2 1 0
0 PS SPF=1 Page Code = 0Ah
1 Subpage Code = 02h
2-3 Page Length = n-4
4-15 Reserved = 0
16-39 Application Tag descriptor [first]
... ...
(n-24)-n Application Tag descriptor [last]
Table 138 Application Tag mode page:

Bit
Byte
7 6 5 4 3 2 1 0
0 Last Reserved = 0
1-5 Reserved = 0
6-7 Logical Block Application Tag
8-15 Logical Block Address
16-23 Logical Block Count
Table 139 Application Tag descriptor format

- A LAST bit set to one specifies that this Application Tag descriptor is the last valid Application Tag descriptor in
the Application Tag mode page. A LAST bit set to zero specifies that the Application Tag descriptor is not the
last valid Application Tag descriptor in the Application Tag mode page.
- The LOGICAL BLOCK APPLICATION TAG field specifies the value to be compared with the LOGICAL LOCK
APPLICATION TAG field associated with data read or written to the LBA.
- The LOGICAL BLOCK ADDRESS field contains the starting LBA for this Application Tag descriptor. The
LOGICAL BLOCK ADDRESS field in the first Application Tag descriptor shall be set to
0000_0000_0000_0000h. For subsequent Application Tag descriptors, the contents of the LOGICAL BLOCK
ADDRESS field shall contain the sum of the values in:
a) The LOGICAL BLOCK ADDRESS field in the previous Application Tag descriptor; and
b) The LOGICAL BLOCK COUNT field in the previous Application Tag descriptor.
The sum of the LOGICAL BLOCK ADDRESS field in the Application Tag descriptor with the LAST bit set to one and
the LOGICAL BLOCK COUNT field in the Application Tag descriptor with the LAST bit set to one shall equal the
RETURNED LOGICAL BLOCK ADDRESS field in the READ CAPACITY (16) parameter data (see 8.23 “READ
CAPACITY (16)”).
If an invalid combination of the LAST bit, LOGICAL BLOCK APPLICATION TAG field, and LOGICAL BLOCK
ADDRESS field are sent by the application client, then the device server shall terminate the MODE SELECT
command(see SPC-4) with CHECK CONDITION status with the sense key set to ILLEGAL REQUEST and the
additional sense code set to INVALID FIELD IN PARAMETER LIST.
- The LOGICAL BLOCK COUNT field specifies the number of logical blocks to which this Application Tag
descriptor applies.
- A LOGICAL BLOCK COUNT field set to 0000_0000_0000_0000h specifies that this Application Tag descriptors
hall be ignored.

151
Hard Disk Drive Specification
Mode Page 0C (Notch Parameters)
Bit
Byte Default
7 6 5 4 3 2 1 0
0 PS 0 Page Code = 0Ch 8Ch
1 Page Length = 16h 16h
2 ND=1 LPN=0 Reserved = 0 80h
3 Reserved = 0 00h
(MSB) XXh
4-5 Maximum Number of Notches
XXh
(LSB)
(MSB) 00h
6-7 Active Notch
00h
(LSB)
(MSB) XXh
8-11 Starting Boundary
XXh
(LSB)
(MSB) XXh
12-15 Ending Boundary
XXh
(LSB)
0000h
(MSB)
0000h
16-23 Pages Notched
0000h
(LSB)
100Ch
Table 140 Page 0C (Notch Parameters)

The notch page contains parameters for direct-access devices that implement a variable number of blocks per
cylinder. Each section of the logical unit with a different number of blocks per cylinder is referred as a notch. The
only field that is changeable is the Active Notch field.
- ND = One meaning that this device is a notched drive.
- LPN = Zero meaning that the notches are based upon physical parameters of the drive (cylinder #), not logical
parameters.
- Maximum Number of Notches is the number of notches the drive can support. This value is drive model
dependent.
- Active Notch indicates to which notch subsequent MODE SELECT/SENSE command parameters pertain. A
value of 0 is used for parameter values which apply to all notches. Values from 1 to the maximum value
depending on the model specify the notch number, where notch 1 is the outermost notch. Following mode
parameters are based on the current active notch:
- Mode Page 2
- Read Buffer Full Ratio
- Write Buffer Empty Ratio
- Mode Page 3
- Alternate Sector per Zone
- Alternate Track per Zone
- Alternate Track per Logical Unit
- Sector per Track
- Track Skew Factor
- Cylinder Skew Factor

152
Hard Disk Drive Specification
- Starting Boundary contains the first physical location of the active notch. The first three bytes are the cylinder
number and the last byte is the head. The value sent in this field is ignored.
- Ending Boundary contains the last physical location of the active notch. The first three bytes are the cylinder
number and the last byte is the head. The value sent in this field is ignored.
- Pages Notched is a bit map of the mode page codes that indicates which pages contain parameters that may
be different for different notches. The most significant bit of this field corresponds to page code 3Fh and the
least significant bit corresponds to page code 00h. If a bit is one, then the corresponding mode page contains
parameters that may be different for different notches. If a bit is zero, then the corresponding mode page
contains parameters that are constant for all notches.

Mode Page 18h


Bit
Byte Default
7 6 5 4 3 2 1 0

0 PS=0 SPF=0 Page Code = 18h 18h

1 Page Length = 6h 6h

2 Reserved Transport Layer Retries=0 Protocol Identifier = 6h 6h

3 Reserved = 0 00h

4-7 Reserved 00h

Table 141 Page 18h (Protocol-Specific Logical Unit mode page)

This page defined protocol-specific parameters that affect the logical unit.
- Transport Layer Retries is unchangeable and set to zero. The drive does not support Transport Layer Retries as
defined in SAS 1.1.

153
Hard Disk Drive Specification
Mode Page 19h (Port Control Parameters)
The Protocol-Specific Port mode page contains parameters that affect SSP target port operation. There is one copy
of the mode page shared by all SSP initiator ports.

Short Format of Port Control Page


Bit
Byte Default
7 6 5 4 3 2 1 0

0 PS SPF=0 Page Code = 19h 99h

1 Page Length = 0Eh 0Eh

Broadcast
Ready LED
2 Reserved Continue AWT Asynchronous Protocol Identifier = 6h 06h
Meaning
Event

3 Reserved 00h

(MSB)
4-5 I_T Nexus Loss Timer 07h-D0h
(LSB)

(MSB)
6-7 Initiator Response Timeout 07h-D0h
(LSB)

(MSB)
8-9 Reject to Open Limit 0000h
(LSB)

10-15 Reserved 00h

Table 142 Short (Port Control Parameters) Short Format

 PS Parameters Savable is set to 1, indicating the parameters are saveable


 SPF shall be set to zero for access to the short format mode page
 Continue AWT bit set to one specifies that the SAS port shall not stop the Arbitration Wait Time timer and set
the Arbitration Wait Time timer to zero when the SAS port receives an OPEN_REJECT (RETRY). A
CONTINUE AWT bit set to zero specifies that the SAS port shall stop the Arbitration Wait Time timer and set
the Arbitration Wait Time timer to zero when it receives an OPEN_REJECT (RETRY).
 Broadcast Asynchronous Event bit set to one specifies that the device server shall enable origination of
Broadcast (Asynchronous Event). A BROADCAST ASYNCHRONOUS EVENT bit set to zero specifies that the
device server shall disable origination of Broadcast (Asynchronous Event).
 Ready LED Meaning specifies the READY LED signal behavior. In general, when the bit is 0, and the drive is
in a ready state, the LED is usually on, but flashes on and off when commands are processed. When the bit is
1, the LED is usually off, but flashes on and off when commands are processed. For additional
implementation specifics, see the SAS standards.
 Protocol Identifier has a value of 6h indicating this is a SAS SSP specific mode page
 I_T Nexus Loss Time contains the time (in milliseconds) that our SSP target port shall retry connection
requests to an SSP initiator port that are rejected with responses indicating the SSP initiator port may no longer
be present before recognizing an I_T nexus loss. A value of 0 indicates a vendor specific amount of time and

154
Hard Disk Drive Specification
defaults to a 2 second time period. A value of FFFFh indicates an unlimited period. The default value of 7D0h,
specifies a 2 second time period.
 Initiator Response Timeout contains the time in milliseconds that the SSP target port shall wait for the receipt
of a Data frame after sending the XFER_RDY frame requesting data. When the INITIATOR RESPONSE
TIMEOUT expires, the associated command will be aborted. An INITIATOR RESPONSE TIMEOUT field value
of zero indicates that the SSP target port shall disable the timer. This value is enforced by the transport layer.
The default value of 7D0h, specifies a 2 second time period.
 Reject to Open Limit contains the minimum time in 10 µs increments that the target port shall wait to establish
a connection request with an initiator port on an I_T nexus after receiving an OPEN_REJECT (RETRY),
OPEN_REJECT (CONTINUE 0), or OPEN_REJECT (CONTINUE 1). This value may be rounded as defined in
SPC-4. A REJECT TO OPEN LIMIT field set to 0000h indicates that the minimum time is vendor specific. This
minimum time is enforced by the transport layer.

Long Format of Port Control Page


Bit
Byte Default
7 6 5 4 3 2 1 0

0 PS SPF=1 Page Code = 19h D9h

1 Subpage Code ...

(MSB)
2-3 Page Length (n-3) 0000h
(LSB)

4 Reserved 00h

5 Reserved Protocol Identifier = 6h 06h

6 ...
Protocol Specific Mode Parameters
n ...

Table 143 Long Format of Port Control Page

The drive maintains an independent set of port control mode page parameters for each SAS initiator port.
 SPF field shall be set to one for access to the long format mode page.
 Subpage Code indicates which subpage is being accessed. The drive supports the following subpage codes.
If the Subpage Code is not supported, the drive returns a CHECK CONDITION status, the sense key is set to
ILLEGAL REQUEST and the additional sense code set to ILLEGAL FIELD IN PARAMETER LIST.
- 01h: PHY Control and Discover Subpage
- 02h: Shared Port Control subpage
- FFh: All supported subpages.
 Page Length specifies the length in bytes of the subpage parameters after the Page Length.
 Protocol Identifier has a value of 6h indicating this is a SAS SSP specific mode page.

155
Hard Disk Drive Specification
PHY Control and Discover (Subpage 1)
Bit
Byte Default
7 6 5 4 3 2 1 0

0 PS SPF=1 Page Code = 19h D9h

1 Subpage Code = 1 01h

(MSB)
2-3 Page Length = 0064h 0064h
(LSB)

4 Reserved 00h

5 Reserved Protocol Identifier = 6h 06h

6 Generation Code 00h

7 Number of PHYS = 2 02h

8-55 SAS PHY Mode Descriptor 0 ...

56-103 SAS PHY Mode Descriptor 1 ...

Table 144 PHY Control and Discover (Subpage 1)

The PHY Control and Discover subpage contains PHY-specific parameters. MODE SENSE command returns the
current settings for the initiator.
 Protocol Identifier has a value of 6h indicating this is a SAS SSP specific mode page.
 Generation Code is a one-byte counter that shall be incremented by one by the device server every time the
values in this mode page or the SAS-3 PHY mode page field values are changed. A GENERATION CODE
field set to 00h indicates the generation code is unknown. The device server shall wrap this field to 01h as the
next increment after reaching its maximum value (i.e., FFh). The GENERATION CODE field is also contained
in the Protocol-Specific Port log page and may be used to correlate PHY settings across mode page and log
page accesses.
 Number of PHYS is set to 2, to represent the dual ported drive (one PHY per port)
 SAS PHY Mode Descriptor are defined in Table 145. There are two SAS PHY Mode Descriptor fields, one
per port.

156
Hard Disk Drive Specification
Bit
Byte
7 6 5 4 3 2 1 0

0 Reserved

1 PHY Identifier

(MSB)
Reserved
2-3 (LSB)

4 Reserved Attached Device Type Attached Reason

5 Reason Negotiated Logical Link Rate

Attached Attached
Attached
SSP SMP Reserved
6 Reserved STP Initiator
Initiator Initiator
Port
Port Port

Attached Attached Attached


Reserved
7 Reserved SSP STP STP
Target Port Target Port Target Port

(MSB)
8-15 SAS Address
(LSB)

(MSB)
16-23 Attached SAS Address
(LSB)

24 Attached PHY Identifier

Attached Attached
Attached Attached Attached Attached
Attached Power Inside Requested
25 Persistent Slumber Partial Break_Reply
Capable ZPSDS Inside
Capable Capable Capable Capable
Persistent ZPSDS

(MSB)
26-31 Reserved
(LSB)

32 Programmed Minimum Physical Link Rate Hardware Minimum Physical Link Rate

33 Programmed Maximum Physical Link Rate Hardware Maximum Physical Link Rate

(MSB)
34-41 Reserved
(LSB)

(MSB)
42-43 Vendor specific
(LSB)

(MSB)
44-47 Reserved
(LSB)

Table 145 SAS PHY Mode Descriptor

157
Hard Disk Drive Specification
 PHY Identifier indicates the unique PHY Identifier for the PHY associated with the other data in this SAS PHY
Mode Descriptor Page.
 Attached Reason indicates the value of the REASON field in the last received IDENTIFY address frame
associated with the PHY Identifier list in this SAS PHY Mode Descriptor. See Table 33.
 Attached Device Type indicates the value of the DEVICE TYPE field in the last received IDENTIFY address
frame associated with the PHY Identifier listed in this SAS PHY Mode Descriptor. See Table 33.
 Attached SAS Address indicates the value of the attached SAS address in the last received IDENTIFY
address frame associated with the PHY Identifier list in this SAS PHY Mode Descriptor. See Table 33.
 Attached PHY Identifier: indicated the value of the attached PHY Identifier field in the last received IDENTIFY
address frame associated with the PHY Identifier listed in this SAS PHY Mode Descriptor. See Table 33.
 SAS Address contains the unique Port Identifier for the Port associated with the PHY Identifier listed in this
SAS PHY Mode Descriptor
 Hardware Minimum Physical Link Rate is the minimum link rate supported by the Port associated with the
PHY Identifier listed in this SAS PHY Mode Descriptor.
 Hardware Maximum Physical Link Rate is the maximum link rate supported by the Port associated with the
PHY Identifier listed in this SAS PHY Mode Descriptor.
 Programmed Minimum Physical Link Rate is the current minimum link rate used during speed negotiation
by the Port associated with the PHY Identifier listed in this SAS PHY Mode Descriptor.
 Programmed Maximum Physical Link Rate is the current maximum link rate used during speed negotiation
by the Port associated with the PHY Identifier listed in this SAS PHY Mode Descriptor.
 Attached Persistent Capable indicates the value of the PERSISTENT CAPABLE field in the last received
IDENTIFY address frame associated with the PHY Identifier listed in this SAS PHY Mode Descriptor. See
Table 33
 Attached Power Capable indicates the value of the POWER CAPABLE field in the last received IDENTIFY
address frame associated with the PHY Identifier listed in this SAS PHY Mode Descriptor. See Table 33.
 Attached Slumber Capable indicates the value of the SLUMBER CAPABLE field in the last received
IDENTIFY address frame associated with the PHY Identifier listed in this SAS PHY Mode Descriptor. See
Table 33.
 Attached Partial Capable indicates the value of the PARTIAL CAPABLE field in the last received IDENTIFY
address frame associated with the PHY Identifier listed in this SAS PHY Mode Descriptor. See Table 33.
 Attached Inside ZPSDS Persistent indicates the value of the INSIDE ZPSDS PERSISTENT field in the last
received IDENTIFY address frame associated with the PHY Identifier listed in this SAS PHY Mode Descriptor.
See Table 33.
 Attached Requested Inside ZPSDS indicates the value of the REQUESTED INSIDE ZPSDS field in the last
received IDENTIFY address frame associated with the PHY Identifier listed in this SAS PHY Mode Descriptor.
See Table 33.
 Attached Break_Reply Capable indicates the value of the BREAK_REPLY CAPABLE field in the last
received IDENTIFY address frame associated with the PHY Identifier listed in this SAS PHY Mode Descriptor.
See Table 33.

158
Hard Disk Drive Specification
Shared Port Control (Subpage 2)
Bit
Byte Default
7 6 5 4 3 2 1 0
0 PS SPF=1 Page Code = 19h D9h
1 Subpage Code = 2 02h
2-3 Page Length = 000Ch 000Ch
4 Reserved = 0 00h
5 Reserved Protocol Identifier = 6 06h
6-7 Power Loss Timeout 0000h
8 Reserved 00h
9 Power Grant Timeout 0000h
10-15 Reserved 00h

Table 146 Shared Port Control (Subpage 2)

 Power Loss Timeout is the maximum time, in one millisecond increments, that the drive port will respond to
connection requests with OPEN_REJECT(RETRY) after receiving NOTIFY(POWER LOSS EXPECTED).The
Power Loss Timeout will be restarted after each NOTIFY(POWER LOSS EXPECTED) that is received. A
POWER LOSS TIMEOUT field set to 0000h specifies that the maximum time is vendor-specific and
automatically defaults to 2 seconds.
 Power Grant Timeout is the minimum time, in one second increments, that the drive shall wait to receive a
PWR_GRANT from a power source device. A POWER GRANT TIMEOUT field set to 0000h specifies that the
minimum time limit is vendor-specific and defaults to 75 seconds.

159
Hard Disk Drive Specification
Enhanced PHY Control Mode Page (Subpage 3)
Bit
Byte Default
7 6 5 4 3 2 1 0
0 PS SPF=1 Page Code 19h D9h
1 Subpage Code = 3 03h
2-3 Page Length = 002Ch 002Ch
4 Reserved 00h
5 Reserved Protocol Identifier = 6 06h
6 Generation Code 00h
7 Number of PHYs = 02h 02h
8-27 SAS PHY Mode Descriptor 0 --
28-47 SAS PHY Mode Descriptor 1 --
Table 147 Subpage 3

 Generation Code is a one-byte counter that shall be incremented by one by the device server every time the
values in this mode page or the SAS PHY mode page field values are changed. A GENERATION CODE field
set to 00h indicates the generation code is unknown. The device server shall wrap this field to 01h as the next
increment after reaching its maximum value (i.e., FFh). The GENERATION CODE field is also contained in the
Protocol-Specific Port log page and may be used to correlate PHY settings across mode page and log page
accesses.

Bit
Byte
7 6 5 4 3 2 1 0
0 Reserved
1 PHY Identifier
2-3 Descriptor Length (0010h)
4-7 Programmed PHY Capabilities
8-11 Current PHY Capabilities
12-15 Attached PHY Capabilities
16-17 Reserved
18 Reserved Negotiated SSC Negotiated Physical Link Rate
Hardware
Enable Enable
19 Reserved Mixing
Slumber=1 Partial=1
Supported=’0’
Table 148 PHY Mode Descriptor (0 and 1)

 PHY Capabilities are defined under the “SAS Speed Negotiation”


 An ENABLE SLUMBER bit set to one specifies that the drive shall enable control of the slumber phy power
condition on the phy specified by the PHY IDENTIFIER field. An ENABLE SLUMBER bit set to zero specifies
that the drive shall disable control of the slumber phy power condition on the phy specified by the PHY
IDENTIFIER field.
 An ENABLE PARTIAL bit set to one specifies that the drive shall enable control of the partial phy power
condition on the phy specified by the PHY IDENTIFIER field. An ENABLE PARTIAL bit set to zero specifies that
the drive shall disable control of the partial phy power condition on the phy specified by the PHY IDENTIFIER
field.

160
Hard Disk Drive Specification
Mode Page 1A (Power Control)
Bit
Byte Default
7 6 5 4 3 2 1 0
0 PS SPF (0b) Page Code = 1Ah 9Ah
1 Page Length = 26h 26h
2 PM_BG_PRECEDENCE Reserved = 0 Standby_Y 00h
3 Reserved = 0 Idle_C Idle_B Idle_A Standby_Z 06h
4-7 Idle_A Condition Timer 14h
8-11 Standby_Z Condition Timer 00h
12-15 Idle_B Condition Timer 1770h
16-19 Idle_C Condition Timer 00h
20-23 Standby_Y Condition Timer 00h
24-38 Reserved 00h
39 CCF_IDLE CCF_STANDBY CCF_STOPPED Reserved 58h

Table 149 Page 1A (Power Control)

- If the STANDBY_Y bit is set to one, then the standby_y condition timer is enabled. If the STANDBY_Y bit is set
to zero, then the device shall ignore the standby_y condition timer.
- If the IDLE_C bit is set to one, then the idle_c condition timer is enabled. If the IDLE_C bit is set to zero, then the
device shall ignore the idle_c condition timer.
- If the IDLE_B bit is set to one, then the idle_b condition timer is enabled. If the IDLE_B bit is set to zero, then the
device shall ignore the idle_b condition timer.
- If the IDLE_A bit is set to one, then the idle_a condition timer is enabled. If the IDLE_A bit is set to zero, then the
device shall ignore the idle_c condition timer.
- If the STANDBY_Z bit is set to one, then the standby_z condition timer is enabled. If the STANDBY_Z bit is set
to zero, then the device shall ignore the standby_z condition timer.
- The IDLE_A Condition Timer field specifies the initial value, in 100 millisecond increments, for the idle_a power
condition timer. The minimum allowable inactivity time for idle_a is 1 second. Any value less than this is
accepted, but will automatically default to 1 second.
- The STANDBY_Z Condition Timer field specifies the initial value, in 100 millisecond increments, for the
standby_z power condition timer. The minimum allowable inactivity time for standby_z is 2 minutes. Any value
less than this is accepted, but will automatically default to two minutes. In addition, a limit of 60 timer initiated
head unloads per 24 hour period is enforced.
- The IDLE_B Condition Timer field specifies the initial value, in 100 millisecond increments, for the idle_b power
condition timer. The minimum allowable inactivity time for idle_b is 2 minutes. Any value less than this is
accepted, but will automatically default to two minutes. In addition, a limit 60 timer initiated head unloads per 24
hour period is enforced.
- The IDLE_C Condition Timer field specifies the initial value, in 100 millisecond increments, for the idle_c power
condition timer. The minimum allowable inactivity time for idle_c is 2 minutes. Any value less than this is
accepted, but will automatically default to two minutes. In addition, a limit of 60 timer initiated head unloads per
24 hour period is enforced.
- The STANDBY_Y Condition Timer field specifies the initial value, in 100 millisecond increments, for the
standby_y power condition timer. The minimum allowable inactivity time for standby_y is 2 minutes. Any value
less than this is accepted, but will automatically default to two minutes. In addition, a limit60 timer initiated head
unloads per 24 hour period is enforced.
- The PM_BG_PRECEDENCE field (see Table 150) specifies the interactions between background functions and
power management

161
Hard Disk Drive Specification
- CCF Idle CHECK CONDITION if from idle, 00b: restricted. 01b Returning CHECK CONDITION status if
transition was from an idle power condition is disabled. 10b: Returning CHECK CONDITION status if transition
was from an idle power condition is enable, 11b: reserved.
- CCF Standby CHECK CONDITION if standby, 00b: restricted. 01b: Returning CHECK CONDITION status if
transition was from a standby power condition is disabled. 10b: Returning CHECK CONDITION status if
transition was from a standby power condition is enabled, 11b: reserved
- CCF Stopped CHECK CONDITION if stopped, 00b: restricted. 01b: Returning CHECK CONDITION status if
transition was from a stopped power condition is disabled. 10b: Returning CHECK CONDITION status if
transition was from a stopped power condition is enabled, 11b: reserved

162
Hard Disk Drive Specification
Code Vendor Specific
Vendor Specific – Background operations take precedence over maintaining low power conditions
00h
(same as 01b)
Performing background functions take precedence over maintaining low power conditions as follows:
a) if the logical unit is in a low power condition as the result of a power condition timer associated
with that condition expiring, then:
1) the logical unit shall change from that power condition, if necessary, to the power condition
required to perform the background function, when:
a) a timer associated with a background scan operation expires, and that function is
enabled or
b) an event occurs to initiate a device specific background function, and that function is
enabled;
2) the logical unit shall perform the background function(s) based on the definitions in this
standard and other command standards (e.g., if the device server receives a command
while performing a background function, then the logical unit shall suspend the function to
01b
process the command);
3) if more than one condition is met to initiate a background function, then:
a) all initiated background functions shall be performed; and
b) the order of performing the functions is vendor specific; and
4) when all initiated background functions have been completed, the device server shall check
to see if any power condition timers have expired. If any power condition timer has expired,
then the logical unit shall change to the power condition associated with the highest priority
timer that has expired;
or
b) if the logical unit is performing a background function, and a power condition timer expires, then
the logical unit shall perform all initiated background functions before the logical unit changes to a
power condition associated with a timer has expired
Maintaining low power conditions take precedence over performing background functions as follows:
a) if the logical unit is in a low power condition, then the logical unit shall not change from that
power condition to perform a background function;
b) the device server may perform any initiated and enabled background function based on the
definitions in this standard or other command standards, if all of the following are true:
A) a condition is met to initiate a background function;
B) that background function is enabled;
C) the logical unit changes to a power condition in which the background function may be
10b performed (e.g., the device server processes a medium access command causing the
logical unit to change its power condition to continue processing that command); and
D) all outstanding application client requests have been completed;
or
c) if the logical unit is performing a background function, and a power condition timer expires that
causes a change to a power condition in which the logical unit is unable to continue performing
the background function, then the logical unit shall:
A) suspend the background function; and
B) change to the power condition associated with the timer that expired.
11b Reserved = 0

Table 150 PM_BG_PRECEDENCE field

163
Hard Disk Drive Specification
Mode Page 1C (Informational Exceptions Control)
Bit
Byte Default
7 6 5 4 3 2 1 0

0 PS 0 Page Code = 1Ch 9Ch

1 Page Length = 0Ah 0Ah

EBACK
2 PERF RSVD EBF EWASC DEXCPT TEST LOGERR 10h
ERR

3 Reserved = 0 Method of Reporting 03h

00h
(MSB)
00h
4-7 Interval Timer
00h
(LSB)
00h

(MSB)
8-11 Report Count 00h
(LSB)

Table 151 Page 1C (Informational Exceptions Control)

- PERF (Performance) bit is not supported and is ignored. Informational Exception operations will not cause
performance delays.
- EBF (Enable Background Function) bit is not supported and is ignored. Background functions are always
enabled.
- EWASC (Enable Warning ASC) bit of zero indicates that Temperature Warnings will not be reported. An
EWASC bit of one allows Temperature Warnings to be reported, if the temperature inside the disk enclosure
exceeds the threshold set in Mode Page 00h.The Method of Reporting field controls the reporting method.
EWASC is independent of DEXCPT.
- DEXCPT (Disable Exception Control) bit of zero indicates information exception operations are enabled. The
reporting of information exception conditions when the DEXCPT bit is set to zero is determined from the Method
of Reporting field. A DEXCPT bit of one indicates the Target disabled all information exception operations.
- TEST bit of one instructs the drive to generate false drive notifications at the next interval time, (as determined
by the INTERVAL TIMER field), if the DEXCPT is zero. The Method of Reporting and Report Count would apply.
The false drive failure is reported as sense qualifier 5DFFh. The TEST bit of zero instructs the drive to stop
generating any false drive notifications.
- Enable Background Error (EBACKERR) bit of zero disables reporting of background self-test errors and
background scan errors via Information Exceptions Control. An EBACKERR bit of one enables reporting of
these background errors as Information Exception Warnings. The method of reporting these errors is determined
from the MRIE field.
- LOGERR (Log Errors) is not used and ignored internally by the Target.
- Method of Reporting Informational Exceptions indicates the methods used by the Target to report informational
exception conditions.

164
Hard Disk Drive Specification
Code Description
0h No reporting of informational exception condition: This method instructs the Target to not report
informational exception condition.
1h Asynchronous event reporting: Not supported.
2h Generate unit attention: This method instructs the Target to report informational exception conditions
by returning a Check Condition status on any command. The sense key is set to Unit Attention and the
additional sense code indicates the cause of the informational exception condition. The command that
has the Check Condition is not executed before the informational exception condition is reported.
3h Conditionally generate recovered error: This method instructs the Target to report informational
exception conditions, dependent on the value of the PER bit of the error recovery parameters mode
page, by returning a Check Condition status on any command. The sense key is set to Recovered
Error and the additional sense code indicates the cause of the informational exception condition. The
command that has the Check Condition completes without error before any informational exception
condition is reported.
4h Unconditionally generate recovered error: This method instructs the Target to report informational
exception conditions, regardless of the value of the PER bit of the error recovery parameters mode
page, by returning a Check Condition status on any command. The sense key is set to Recovered
Error and the additional sense code indicates the cause of the informational exception condition. The
command that has the Check Condition completes without error before any informational exception
condition is reported.
5h Generate no sense: This method instructs the Target to report informational exception conditions by
returning a Check Condition status on any command. The sense key is set to No Sense and the
additional sense code indicates the cause of the informational exception condition. The command that
has the Check Condition completes without error before any informational exception condition is
reported.
6h Only report informational exception condition on request: This method instructs the Target to
preserve the informational exception(s) information. To find out about information exception conditions
the Application Client polls the Target by issuing an unsolicited Request Sense command. The sense
key is set to No Sense and the additional sense code indicates the cause of the informational
exception condition.
7h-Fh Reserved.

- Interval Timer field indicates the period in 100 millisecond increments for reporting that an informational
exception condition has occurred. The target shall not report informational exception conditions more frequently
than the time specified by the Interval Timer field and as soon as possible after the time interval has elapsed.
After the informational exception condition has been reported the interval timer is restarted. A value of zero or
0xFFFFFFFF in the Interval Timer field indicates that the target only reports the informational exception
condition one time and will override the value set in the Report Count Field.
- Report Count Field indicates the number of times the Target reports an informational exception condition. The
Report Count of ZERO indicates no limits on the number of times the Target reports an informational exception
condition.

165
Hard Disk Drive Specification
Background Control (Subpage 01h)
Bit
Byte Default
7 6 5 4 3 2 1 0

0 PS SPF=1 Page Code = 1Ch DCh

1 Subpage Code = 01h 01h

2-3 Page Length = 0Ch 000Ch

4 Reserved = 0 S_L_Full LOWIR EN_BMS 01h

5 Reserved = 0 EN_PS 00h

6-7 Background Medium Scan Interval Time 00A8h

8-9 Background Pre-Scan Time Limit 0000h

10-11 Minimum Idle Time Before Background Scan 0000h

12-13 Maximum Time To Suspend Background Scan (Ignored) 0000h

14-15 Reserved = 0 0000h

Table 152 Background Control (Subpage 01h)

- Suspend On Log Full (S_L_FULL) bit set to zero allows background scans to continue if the results log (Log
Sense Page 15h) is full.S_L_FULL bit set to one will cause background scans to suspend when the log is full.
- Log Only When Intervention Required (LOWIR) bit set to zero allows logging of all medium errors in the results
log (Log Sense Page 15h).When the LOWIR bit is set to one, only unrecovered medium errors will be logged.
- EN_BMS (Enable Background Medium Scan) bit set to zero specifies that the background medium scan is
disabled. EN_BMS bit set to one specifies that background medium scan operations are enabled. If a
background medium scan is in progress when the EN_BMS bit is changed from one to zero, then the medium
scan shall be suspended until the EN_BMS bit is set to one, at which time the medium scan shall resume from
the suspended location.
- EN_PS (Enable Pre-Scan) bit set to zero specifies that the pre-scan is disabled. If a pre-scan operation is in
progress when EN_PS is changed from a one to a zero, then pre-scan is halted. An EN_PS bit set to one
specifies that a pre-scan operation is started after the next power-on cycle. Once this pre-scan has completed,
another pre-scan shall not occur unless the EN_PS bit is set to zero, then set to one, and another power-on
cycle occurs.
- Background Medium Scan Interval Time specifies the minimum time, in hours, between the start of one
background medium scan operation and the start of the next background medium scan operation.
- Background Pre-Scan Time Limit specifies the maximum time, in hours, for a pre-scan operation to complete. If
the pre-scan operation does not complete within the specified time, then it is halted. A value of zero specifies an
unlimited time limit.
- Minimum Idle Time Before Background Scan specifies the minimum time, in milliseconds, that the drive must be
idle before resuming a background media scan or pre-scan. A value of zero will be treated as the default value
of 1.0 second. Any value less than 100 milliseconds will be treated as 100 milliseconds. The internal timer
granularity is 50 milliseconds.
- Maximum Time To Suspend Background Scan (Ignored).

166
Hard Disk Drive Specification
MODE SENSE (5A)
Bit
Byte
7 6 5 4 3 2 1 0

0 Command Code = 5Ah

1 Reserved = 0 LLBAA DBD Reserved = 0

2 PCF Page Code

3 Subpage code

4-6 Reserved = 0

7-8 (MSB) Allocation Length (LSB)

9 VU = 0 Reserved = 0 FLAG LINK

Table 153 Mode Sense (5A)

The MODE SENSE (5A) command provides a means for the drive to report various device parameters to the
initiator. See the MODE SENSE (1A) command for a description of the fields in this command.
- Long LBA Accepted (LLBAA) bit set to zero ensures that if a Block Descriptor is present it must be a Short LBA
Block Descriptor. If the LLBAA bit is set to one, the Long LBA Block Descriptor may be used.

167
Hard Disk Drive Specification
PERSISTENT RESERVE IN (5E)
Bit
Byte
7 6 5 4 3 2 1 0

0 Command Code = 5Eh

1 Reserved = 0 Service Action

2-6 Reserved = 0

(MSB)
7-8 Allocation Length
(LSB)

9 VU = 0 Reserved = 0 FLAG LINK

Table 154 Persistent Reserve In (5E)

The PERSISTENT RESERVE IN command is used to obtain information about persistent reservations and
reservation keys that are active within the controller. This command is used in conjunction with the PERSISTENT
RESERVE OUT command PERSISTENT RESERVE OUT (5F).
The Allocation Length indicates how much space has been allocated for the returned parameter data. If the
length is not sufficient to contain all parameter data, the first portion of the data will be returned. If the remainder of
the data is required, the initiator should send a new PERSISTENT RESERVE IN command and an Allocation
Length large enough to contain all data.

Service Action
The following service action codes are implemented. If a reserved service action code is specified, the drive returns
a Check Condition status. The sense key is set to Illegal Request and the additional sense data is set to Invalid
Field in CDB.

Code Name Descriptions

00h Read Keys Reads all registered Reservation Keys

01h Read Reservations Reads all current persistent reservations

02h Report Capabilities Returns capability information

Reads complete information about all


03h Read Full Status
registrations and the persistent reservation, if any

04h-1Fh Reserved Reserved

Table 155 PERSISTENT RESERVE IN, Service Action Codes

168
Hard Disk Drive Specification
Parameter data for Read Keys
Bit
Byte
7 6 5 4 3 2 1 0

(MSB)
0-3 Generation
(LSB)

(MSB)
4-7 Additional length (n-7)
(LSB)

(MSB)
8-15 First reservation key
(LSB)

(MSB)
(n-7) - n Last reservation key
(LSB)

Table 156 PERSISTENT RESERVE IN, parameter data for Read Keys

Generation is a counter that increments when PERSISTENT RESERVE OUT command with “Register” or
“Preempt and Clear” completes successfully. Generation is set to 0 as part of the power on reset process and hard
reset process.
The Generation field contains a 32-bit counter that the Target shall increment every time a PERSISTENT
RESERVE OUT command requests a Register, a Clear, a Preempt, or a Preempt and Abort service action. The
counter shall not be incremented by a PERSISTENT RESERVE IN command, by a PERSISTENT RESERVE OUT
command that performs a Reserve or Release service action, or by a PERSISTENT RESERVE OUT command that
is not performed due to an error or reservation conflict. Regardless of the APTPL value the generation value shall
be set to 0 as part of the power on reset process.
The Additional Length field contains a count of the number of bytes in the reservation key list. If the allocation
length specified by the PERSISTENT RESERVE IN command is not sufficient to contain the entire parameter list,
then only the bytes from 0 to the maximum allowed allocation length shall be sent to the Initiator. The incremental
remaining bytes shall be truncated, although the Additional Length field shall still contain the actual number of bytes
in the reservation key list without consideration of any truncation resulting from an insufficient allocation length. This
shall not be considered an error.
The Reservation Key list contains the 8-byte reservation keys for all Initiators that have registered through all ports
with the Target.

169
Hard Disk Drive Specification
Parameter Data for Read Reservations
Bit
Byte
7 6 5 4 3 2 1 0
(MSB)
0-3 Generation
(LSB)
(MSB)
4-7 Additional length (n-7)
(LSB)
(MSB)
8-n Reservation descriptors
(LSB)
Table 157 PERSISTENT RESERVE IN, parameter data for Read Reservations

The Generation field shall be as defined for the Persistent Reserve in Read Keys parameter data. The Additional
Length field contains a count of the number of bytes to follow in the Reservation Descriptor(s).
If the Allocation length specified by the PERSISTENT RESERVE IN command is not sufficient to contain the
entire parameter list, then only the bytes from 0 to the maximum allowed allocation length shall be sent to the
Initiator. The remaining bytes shall be truncated, although the Additional Length field shall still contain the actual
number of bytes of the Reservation Descriptor(s) and shall not be affected by the truncation. This shall not be
considered an error.
The format of the Reservation Descriptors is defined in the Persistent Reserve in Reservation Descriptor table.
There shall be a Reservation Descriptor for the persistent reservation, if any, present in the Target having a
persistent reservation.
Bit
Byte
7 6 5 4 3 2 1 0
(MSB)
0-7 Reservation key
(LSB)
(MSB)
8-11 Scope-specific address
(LSB)
12 Reserved
13 Scope=0 Type
(MSB)
14-15 Extent Length=0
(LSB)
Table 158 PERSISTENT RESERVE IN, Read Reservation Descriptor

The Scope of each persistent reservation created by a PERSISTENT RESERVE OUT command will be returned.
See the PERSISTENT RESERVE OUT command section for details.

170
Hard Disk Drive Specification
PERSISTENT RESERVE OUT (5F)
Bit
Byte
7 6 5 4 3 2 1 0
0 Command Code = 5Fh
1 Reserved = 0 Service Action
2 Scope=0 Type
3-6 Reserved = 0
7-8 Parameter List Length = 18h
9 VU = 0 Reserved = 0 FLAG LINK

Table 159 PERSISTENT RESERVE OUT (5F)

The PERSISTENT RESERVE OUT command is used to request service actions that reserve the drive for the
exclusive or shared use of the initiator. The command uses other service actions to manage and remove such
reservations. This command is used in conjunction with the PERSISTENT RESERVE IN command, and should
not be used with the RESERVE and RELEASE commands.
Note: If a PERSISTENT RESERVE OUT command is received when a RESERVE is active for the drive, the command will be
rejected with Reservation Conflict status.
Parameter List Length must be 18h. If not, Check Condition status will be returned, with sense key of Illegal
Request and additional sense code of Parameter List Length Error.

Service Action
The following service action codes are supported.
Code Name Description
00h Register Register a reservation key
01h Reserve Create a persistent reservation using a reservation key
02h Release Release a persistent reservation
03h Clear Clear all reservation keys and all persistent reservations
04h Preempt Preempt persistent reservations from another Initiator
Preempt persistent reservations from another Initiator and clear the task set for
05h Preempt and Abort
the preempted Initiator
Register and Ignore
06h Register a reservation key
existing key
07h-1Fh Reserved Reserved

Table 160 PERSISTENT RESERVE OUT, Service Action Code

171
Hard Disk Drive Specification
Type
The Type field specifies the characteristics of the persistent reservation being established for all customer data
sectors. The table below describes the supported types and how read and write commands are handled for each
reservation type.
Code Name Description
0h Reserved Reserved
1h Write Exclusive Reads Shared: Any initiator may execute commands that transfer from the media.
Writes Exclusive: Only the initiator with the reservation may execute commands that
transfer data to the media; Reservation Conflict status will be returned to other
initiators.
2h Reserved Reserved
3h Exclusive Access Reads Exclusive: Only the initiator with the reservation may execute commands that
transfer data from the media; Reservation Conflict status will be returned to other
initiators.
Writes Exclusive: Only the initiator with the reservation may execute commands that
transfer data to the media; Reservation Conflict status will be returned to other
initiators.
4h Reserved Reserved
5h Write Exclusive Reads Shard: Any initiator may execute commands that transfer from media.
Registrants Only Writes Exclusive: Only registered initiators may execute commands that transfer
data to the media; Reservation Conflict status will be returned to other initiators.
6h Exclusive Access Reads Exclusive: Only registered initiators may execute commands that transfer
Registrants Only data from the media; Reservation Conflict status will be returned to other initiators.
Writes Exclusive: Only registered initiators may execute commands that transfer
data to the media; Reservation Conflict status will be returned to other initiators.
7h-Fh Reserved Reserved

Table 161 PERSISTENT RESERVE OUT, Type Code

The RESPONSE frame is sent by the Drive to the Initiator (in bound data) or by the Initiator to the Drive (out bound
data).

172
Hard Disk Drive Specification
Parameter list
The Parameter List required to perform the PERSISTENT RERSERVE OUT command is defined in the table
below. All fields must be sent on all PERSISTENT RESERVE OUT commands, even if the field is not required for
the specified service action.
Bit
Byte
7 6 5 4 3 2 1 0
(MSB)
0-7 Reservation Key
(LSB)
(MSB)
8-15 Service Action Reservation Key
(LSB)
(MSB)
16-19 Reserved = 0
(LSB)
20 Reserved = 0 SPEC_I_P ALL_TG_PT Reserved = 0 APTPL
21-23 Reserved = 0
Table 162 Parameter List

Reservation Key contains an 8-byte value provided by the initiator, and identifies the initiator that issued the
PERSISTENT RESERVE OUT command. The Reservation Key must match the registered reservation key for the
initiator for all service actions except REGISTER and REGISTER AND IGNORE EXISTING KEY.
Service Action Reservation Key contents vary based on the service action. For REGISTER and REGISTER
AND IGNORE EXISTING KEY, the Service Action Reservation Key must contain the new reservation key to be
registered. For PREEMPT and PREEMPT AND ABORT, the field contains the reservation key of the persistent
reservation that is being preempted. This field is ignored for all other service actions.
If the Specify Initiator Ports (SPEC_I_PT) bit is set to zero, the device server shall apply the registration only to the
I_T nexus that sent the PERSISTENT RESERVE OUT command. If the SPEC_I_PT bit is set to one for any service
action except the REGISTER service action, then the command shall be terminated with CHECK CONDITION
status, with the sense key set to ILLEGAL REQUEST, and the additional sense code set to INVALID FIELD IN
PARAMETER LIST. If the SPEC_I_PT bit is set to one for the REGISTER service action, the additional parameter
data (see table XXX) shall include a list of transport IDs and the device server shall also apply the registration to the
I_T nexus for each initiator port specified by a Transport ID. If a registration fails for any initiator port (e.g., if the
logical unit does not have enough resources available to hold the registration information), no registrations shall be
made, and the command shall be terminated with CHECK CONDITION status.
For Transport IDs,
The All Target Ports (ALL_TG_PT) bit is valid only for the REGISTER service action and the REGISTER AND
IGNORE EXISTING KEY service action, and shall be ignored for all other service actions. Support for the
ALL_TG_PT bit is optional. If the device server receives a REGISTER service action or a REGISTER AND
IGNORE EXISTING KEY service action with the ALL_TG_PT bit set to one, it shall create the specified registration
on all target ports in the SCSI target device known to the device server (i.e., as if the same registration request had
been received individually through each target port). If the device server receives a REGISTER service action or a
REGISTER AND IGNORE EXISTING KEY service action with the ALL_TG_PT bit set to zero, it shall apply the
registration only to the target port through which the PERSISTENT RESERVE OUT command was received.
APTPL (Activate Persist Through Power Loss) bit is valid only for REGISTER and REGISTER AND IGNORE
EXISTING KEY, and is ignored for all other service actions. If the last valid APTPL bit value received is zero,
power loss will cause all persistent reservations to be released, and all reservation keys to be removed. If the last
valid APTPL bit value received is one, any persistent reservation and all reservation keys for all initiators will be
retained across power cycles.
The RESPONSE frame is sent by the Drive to the Initiator (in bound data) or by the Initiator to the Drive (out bound
data).

173
Hard Disk Drive Specification
Summary
Parameters
Generation
Service Action Scope Rsv SvcAct S-spec Extent
APTPL counter
Type Key RsvKey addr length
(0) Register ignore verify save ignore ignore apply +1
(1) Reserve apply verify ignore ignore ignore ignore ---
(2) Release apply verify ignore ignore ignore ignore ---
(5) Preempt and Abort apply verify save Ignore ignore ignore +1
Table 163 PERSISTENT RESERVE OUT, Service Action, Parameters

Scope, Type
The Scope and the Type are applied in the process for the Reserve, Release, and Preempted and Clear service
action but they are ignored in the process for the Register service action because they are not used.

Reservation Key
The Reservation Key is verified in each service action process. If the Initiator that registered a key is different from
the Initiator requesting PERSISTENT RESERVE OUT command, the drive returns a Reservation Conflict status.

Service Action Reservation Key


On Register service action, the drive saves the key specified in the Service Action Reservation Key field as a key of
Initiator requesting PERSISTENT RESERVE OUT command.
On Preempt and Clear service action, the reservation that has a key specified in the Service Action Reservation
Key field is preempted.
On other service actions, this field is ignored.

APTPL
The APTPL (Active Persist Through Power Loss) is valid only for the Register service action. The drive ignores the
APTPL in other service actions.
The following table shows the relationship between the last valid APTPL value and information held by the drive.
The last valid APTPL Information
Information value held by the drive
held by the drive
0 1
Registration all keys are set to 0 retained
Persistent Reservation all are removed retained
Generation counter set to 0 set to 0
Table 164 APTPL and information held by a drive

Generation counter
The drive increments the Generation counter when Register service action or Preempt and Clear service action
complete successfully.

174
Hard Disk Drive Specification
PRE-FETCH (34)
Bit
Byte
7 6 5 4 3 2 1 0

0 Command Code = 34h

1 Reserved = 0 Reserved = 0 Immed = 0 Obsolete

(MSB)
2-5 Logical Block Address
(LSB)

6 Reserved = 0

(MSB)
7-8 Transfer Length
(LSB)

9 VU = 0 Reserved = 0 FLAG LINK

Table 165 PRE-FETCH (34)

The PRE-FETCH command requests the drive to transfer data to the cache. No data is transferred to the Initiator.
- Transfer length field specifies the number of contiguous blocks of data that are to be transferred into the cache.
A transfer length of zero indicates that blocks are to be transferred into the cache until the segment is filled or
until the last block on the media.
- Immed (Immediate) must be zero. An immediate bit of zero indicates that the status shall not be returned until
the operation has completed.
If the Immed bit is set to one, the drive returns a Check Condition status. The sense key shall be set to Illegal
Request and the additional sense code shall be set to Invalid Field in CDB.

175
Hard Disk Drive Specification
PRE-FETCH (90)
Bit
Byte
7 6 5 4 3 2 1 0

0 Command Code = 90h

1 Reserved = 0 Reserved = 0 Immed = 0 Reserved = 0

(MSB)
2-9 Logical Block Address
(LSB)

10-13 Transfer Length

Restricted
14 Reserved = 0 GROUP NUMBER = 0
For MMC-4

15 VU = 0 Reserved = 0 FLAG LINK

Table 166 PRE-FETCH (90)

The PRE-FETCH command requests the drive to transfer data to the cache. No data is transferred to the Initiator.
- Transfer length field specifies the number of contiguous blocks of data that are to be transferred into the cache.
A transfer length of zero indicates that blocks are to be transferred into the cache until the segment is filled or
until the last block on the media.
- Immed (Immediate) must be zero. An immediate bit of zero indicates that the status shall not be returned until
the operation has completed.
If the Immed bit is set to one, the drive returns a Check Condition status. The sense key shall be set to Illegal
Request and the additional sense code shall be set to Invalid Field in CDB6) - (08)

176
Hard Disk Drive Specification
READ (6) - (08)
Bit
Byte
7 6 5 4 3 2 1 0

0 Command Code = 08h

1 Reserved = 0 (MSB) LBA

Logical Block Address


2-3
(LSB)

4 Transfer Length

5 VU = 0 Reserved = 0 FLAG LINK

Table 167 READ (6) - (08)

The READ command requests the drive to transfer from the medium to the initiator the specified number of blocks
(Transfer Length) starting at the specified Logical Block Address (LBA).
- Logical block address field specifies the logical unit at which the READ operation shall begin.
- Transfer length field specifies the number of blocks to be transferred. A value of zero implies 256 blocks are to
be transferred.
Note: Error recovery procedure (ERP) handles errors. The error recovery parameters specified by the MODE
SELECT command control ERPs. If the drive is formatted with protection information, no protection information
will be transmitted or checked.

177
Hard Disk Drive Specification
READ (10) - (28)
Bit
Byte
7 6 5 4 3 2 1 0

0 Command Code = 28h

1 RDPROTECT DPO FUA RSVD=0 FUA_NV Obsolete

(MSB)
2-5 Logical Block Address
(LSB)

6 Reserved = 0

(MSB)
7-8 Transfer Length
(LSB)

9 VU = 0 Reserved = 0 FLAG LINK

Table 168 READ (10) - (28)

The READ (10) command requests the drive to transfer data to the Initiator. The larger LBA and Transfer Length
fields permit greater quantities of data to be requested per command than with the READ command and are
required to access the full LBA range of the larger capacity drives.
- FUA_NV (Force Unit Access Non-Volatile Cache) may be set to 0 or 1, but is ignored since NV_SUP=0 in
Inquiry Page 86h.
- Transfer length The number of contiguous blocks to be transferred. If the transfer length is zero, the seek
occurs, but no data is transferred. This condition is not considered an error. If read ahead is enabled, a read
ahead is started after the seek completes.
- DPO (Disable Page Out) bit of one indicates that the data accessed by this command is to be assigned the
lowest priority for being written into or retained by the cache. A DPO bit of one overrides any retention priority
specified in the Mode Select Page 8 Caching Parameters. A DPO bit of zero indicates the priority is determined
by the retention priority. The Initiator should set the DPO bit when the blocks read by this command are not likely
to be read again in the near future.
- FUA (Force Unit Access) bit of one indicates that the data is read from the media and not from the cache. A
FUA bit of zero allows the data to be read from either the media or the cache.
- RDPROTECT defines the manner in which protection information read from disk shall be checked during
processing of the command. Protection information is stored on disk, and may be transmitted to the drive's
internal data buffer and to the initiator with the user data. If the drive is not formatted with protection information,
RDPROTECT must be set to 000b, else Check Condition status will be returned with sense key of Illegal
Request and additional sense code of Invalid Field in CDB.
RDPROTECT=000b
- Protection information is not transmitted to the initiator and is not checked.
RDPROTECT=001b
- Protection information is transmitted to the initiator with the user data
- Logical Block Guard is checked
- Logical Block Application Tag is checked (applies to READ(32) command only)
- Logical Block Reference Tag is checked
RDPROTECT=010b
- Protection information is transmitted to the initiator with the user data
178
Hard Disk Drive Specification
- Logical Block Guard is not checked
- Logical Block Application Tag is checked (applies to READ(32) command only)
- Logical Block Reference Tag is checked
RDPROTECT=011b
- Protection information is transmitted to the initiator with the user data
- Logical Block Guard is not checked
- Logical Block Application Tag is not checked
- Logical Block Reference Tag is not checked
RDPROTECT=100b
- Protection information is transmitted to the initiator with the user data
- Logical Block Guard is checked
- Logical Block Application Tag is not checked
- Logical Block Reference Tag is not checked
RDPROTECT=101b, 110b, 111b
These values are reserved. Check Condition status will be returned with sense key of Illegal Request and
additional sense code of Invalid Field in CDB.
If a check of the protection information fails, Check Condition status will be returned with sense key of Aborted
Command and additional sense code indicating which protection field check failed.
Refer to the ANSI T10 standards for additional details of protection information.
If the transfer length is zero, no data is transferred. The CDB is validated and protocol checked and, if no problems
are found, Good status is returned immediately. This condition is not considered an error.

179
Hard Disk Drive Specification
READ (12) - (A8)
Bit
Byte
7 6 5 4 3 2 1 0

0 Command Code = A8h

1 RDPROTECT DPO FUA RSVD = 0 FUA_NV RSVD = 0

(MSB)
2-5 Logical Block Address
(LSB)

(MSB)
6-9 Transfer Length
(LSB)

10 Reserved = 0

11 VU = 0 Reserved = 0 FLAG LINK

Table 169 READ (12) - (A8)

The READ (12) command causes the drive to transfer data to the initiator. See the READ (10) description for the
definitions of the fields in this command.

180
Hard Disk Drive Specification
READ (16) - (88)
Bit
Byte
7 6 5 4 3 2 1 0

0 Command Code = 88h

1 RDPROTECT DPO FUA RARC FUA_NV RSVD=0

(MSB)
2-9 Logical Block Address
(LSB)

(MSB)
10-13 Transfer Length
(LSB)

Restricted For
14 Reserved = 0 GROUP NUMBER =0
MMC-4

15 VU = 0 Reserved = 0 FLAG LINK

Table 170 READ (16) - (88)

The READ (16) command causes the drive to transfer data to the initiator. See the READ (10) description for the
definitions of the fields in this command.

181
Hard Disk Drive Specification
READ (32) - (7F/09)
Bit
Byte
7 6 5 4 3 2 1 0
0 Command Code = 7Fh
1 VU = 0 Reserved = 0 FLAG LINK
2-5 Reserved = 0
6 Reserved = 0 Group Number = 0
7 Additional CDB Length = 18h
8-9 Service Action = 0009h
10 RDPROTECT DPO FUA RSVD=0 FUA_NV RSVD=0
11 Reserved = 0

(MSB)
12-19 Logical Block Address
(LSB)

(MSB)
20-23 Expected Initial Logical Block Reference Tag
(LSB)

(MSB)
24-25 Logical Block Application Tag
(LSB)

(MSB)
26-27 Logical Block Application Tag Mask
(LSB)

(MSB)
28-31 Transfer Length
(LSB)

Table 171 READ (32) - (7F/09)

The READ command requests that the drive transfer data from disk to the initiator. Each logical block transferred
includes user data and may include protection information, based on the RDPROTECT field and the drive format.
If the drive is formatted with type 2 protection (PROT_EN=1 and P_TYPE=001b in the READ CAPACITY (16)
parameter data), then this command will be processed normally. Expected Initial Logical Block Reference Tag
should be same as lower 4byte LBA of read LBA. Any other protection types will result in Check Condition status
to be returned with sense key of Illegal Request and additional sense code of Invalid Command Operation Code
The Expected Initial Logical Block Reference Tag field contains the value of the Logical Block Reference Tag field
expected in the protection information of the first logical block accessed by the command.
If the ATO bit is set to one in Mode Page 0Ah, the Logical Block Application Tag Mask field contains a value that is
a bit mask for enabling the checking of the Logical Block Application Tag field in the protection information for each
logical block accessed by the command. A Logical Block Application Tag Mask bit set to one enables the checking
of the corresponding bit of the Expected Logical Block Application Tag field with the corresponding bit of the Logical
Block Application Tag field in the protection information.
If the ATO bit is set to zero, the Logical Block Application Tag Mask field and the Expected Logical Block
Application Tag field are ignored

182
Hard Disk Drive Specification
READ BUFFER (3C)
Bit
Byte
7 6 5 4 3 2 1 0
0 Command Code = 3Ch
1 Reserved = 0 Mode
2 Buffer ID = 0
(MSB)
3-5 Buffer Offset
(LSB)
(MSB)
6-8 Allocation Length
(LSB)
9 VU = 0 Reserved = 0 FLAG LINK
Table 172 READ BUFFER (3C)

The READ BUFFER command is used in conjunction with the WRITE BUFFER command as a diagnostic function
for testing the memory of the drive and the SCSI bus integrity. This command does not alter the medium.
The function of this command and the meaning of fields within the command descriptor block depend on the
contents of the mode field.
MOD Description
00000 Read Combined Header and Data
00010 Read Data
00011 Descriptor
01010 Read Data from Echo Buffer
01011 Echo Buffer Descriptor
11010 Enable Expander Communications Protocol and Echo Buffer
11100 Error History
All others Not supported

Combined Header And Data (Mode 00000b)


In this mode a 4-byte header followed by data bytes is returned to the Initiator during the DATA IN phase. The
Buffer ID and the buffer offset field are reserved.
The drive terminates the DATA IN phase when allocation length bytes of header plus data have been transferred or
when the header and all available data have been transferred to the Initiator, whichever is less.
The 4-byte READ BUFFER header (see figure below) is followed by data bytes from the data buffer of the drive.
Bit
Byte
7 6 5 4 3 2 1 0
0 RSVD = 0
(MSB)
1-3 Buffer Capacity
(LSB)

Table 173 Read Buffer Header

The buffer capacity specifies the total number of data bytes that are available in the data buffer of the drive. This
number is not reduced to reflect the allocation length nor is it reduced to reflect the actual number of bytes written
using the WRITE BUFFER command.
Following the READ BUFFER header the drive will transfer data from its data buffer.

183
Hard Disk Drive Specification
Read Data (Mode 00010b)
In this mode, the DATA IN phase contains buffer data.
- Buffer ID field must be set to zero, indicating the data transfer buffer. If another value is specified, the results
may be unpredictable.
- Buffer Offset specifies the offset of the memory space specified by the Buffer ID. The Initiator should conform to
the offset boundary requirements returned in the READ BUFFER descriptor. If the value exceeds the buffer
specified, the command is terminated with Check Condition status. The drive shall set sense key to Illegal
Request and additional sense code to Illegal Field in CDB.
- Allocation Length The drive terminates the DATA IN phase when allocation length bytes of data have been
transferred or when the header and all available data have been transferred to the Initiator, whichever is less.

Descriptor (Mode 00011b)


In this mode, a maximum of four bytes of READ BUFFER descriptor information are returned. The drive returns the
descriptor information for the buffer specified by the Buffer ID.
- Buffer ID field should normally be set to zero, indicating the drive data transfer buffer. If any other value is
specified, the results may be unpredictable.
- Buffer Offset field is reserved.
- Allocation Length should be set to four or greater. The drive transfers the allocation length or four bytes of
READ BUFFER descriptor, whichever is less. The allocation length of zero indicates no data is transferred. The
allocation length of greater than zero and less than four (size of the Descriptor) is an invalid request and will
cause the command to be terminated with Check Condition status. The drive shall set sense key to Illegal
Request and additional sense code to Illegal Field in CDB.
The READ BUFFER descriptor is defined in the figure below.
Bit
Byte
7 6 5 4 3 2 1 7
0 Offset Boundary = 0x09
(MSB)
1-3 Buffer Capacity
(LSB)
Table 174 Read Buffer Description

The value contained in the Buffer Offset field of subsequent WRITE BUFFER and READ BUFFER commands
should be a multiple of two to the power of the offset boundary. The offset boundary is always set to nine, which
indicates Sector Boundaries.

184
Hard Disk Drive Specification
Read Data from Echo Buffer (Mode 01010b)
In this mode the drive transfers data from the echo buffer. The echo buffer will transfer the same data as when the
WRITE BUFFER command was issued with the mode field set to echo buffer.
WRITE BUFFER command with the mode field set to echo buffer should be sent prior to the READ BUFFER
command; otherwise the READ BUFFER command will be terminated with Check Condition status and Illegal
Request.
In this mode Read Buffer transfers the specified amount of data or the amount previously written with a Write Buffer
using mode 1010b from the echo buffer, whichever is less.
Issuing a Read Buffer mode 1010b before a Write Buffer mode 1010b will cause indeterminate data to be returned.
The most significant two bytes of the Allocation Length are ignored. The specified amount of data transferred
should not be larger than the echo buffer capacity. The echo buffer capacity may be determined by using Read
Buffer mode 1011b. Any additional data transferred over and above the echo buffer capacity is regarded as
indeterminate.
The Buffer ID and Buffer Offset fields are ignored in this mode.
Note: The echo buffer is a separate buffer from the data buffer used with other read buffer modes. It is intended to be used for
domain validation purposes.

Echo Buffer Descriptor (Mode 01011b)


In this mode, a maximum of four bytes of Read Buffer Descriptor information is returned. The drive returns the
descriptor information for the echo buffer. The Buffer Offset field is reserved in this mode and must be zero. The
drive transfers the lesser of the allocation length or four bytes of following Echo Buffer Descriptor.

Bit
Byte
7 6 5 4 3 2 1 0

0 Reserved = 0 EBOS=0

1 Reserved = 0

2 Reserved = 0 (MSB) Buffer Capacity

3 Buffer Capacity (LSB)

Table 175 Echo Buffer Descriptor

- EBOS (Echo Buffer Overwritten Supported) bit of zero indicates that the echo buffer is shared by all Initiators.
- Buffer Capacity field returns the size of the echo buffer in byte aligned to a 4-byte boundary.

Expander Communications and Echo Buffer (Mode 11010b)


Receipt of a READ BUFFER command with this mode (11010b) causes a communicative expander to enter the
expanded communication protocol mode. SCSI target devices that receive a READ BUFFER command with this
mode shall process it as if it were a READ BUFFER command with mode 01010b (see 17.17.4 Read Data from
Echo Buffer).

185
Hard Disk Drive Specification
Error History (Mode 11100b)
The Buffer ID field specifies the action that the device server shall perform, and the parameter data, if any, that the
device server shall return.
Error History I_T
Buffer
Code Description Nexus
Offset
Constrained
00h Return error history directory 0000h Yes
Return error history directory and create new error history
01h 0000h Yes
snapshot
Return error history directory and establish new error history
02h 0000h No
I_T Nexus
Return error history directory, establish new error history I_T
03h 0000h No
Nexus, and create new error history snapshot
04h to 0Fh Reserved Yes
0000h to
10h to EFh Return error history Yes
FFFFh
F0h to FDh Reserved Yes
FEh Clear error history I_T Nexus Ignored Yes
Clear error history I_T Nexus and release error history
FFh Ignored Yes
snapshot
Table 176 Error History Buffer ID Field

The drive will terminate the Read Buffer command with Check Condition status with the sense key set to Illegal
Request and the additional sense code set to Operation In Progress if the drive receives a Read Buffer command:
a) with the Mode field set to 1Ch;
b) with the Buffer ID field set to a value that is constrained by error history I_T nexus;
c) if an error history I_T nexus exists and the command is received from an I_T nexus that is different than that
I_T nexus; and
d) an error history snapshot exists.
The Buffer Offset field specifies the byte offset from the start of the buffer specified by the Buffer ID field from which
the drive will return data. The application client should conform to the offset boundary requirements indicated in the
Read Buffer descriptor. If the buffer offset is not one of those shown in the table above or the drive is unable to
accept the specified buffer offset, then the drive shall terminate the Read Buffer command with Check Condition
status, with the sense key set to Illegal Request, and the additional sense code set to Invalid Field In CDB.
Whenever allowed by established error history I_T nexus constraints, if any, all error history directory device server
actions return an error history directory.

186
Hard Disk Drive Specification
Bit
Byte
7 6 5 4 3 2 1 0
(MSB)
0-7 T10 Vendor Identification = “HGST “(ASCII)
(LSB)
8 Version
9 Reserved EHS_Retrieved EHS_Sourse CLR_SUP
10-29 Reserved
(MSB)
30-31 Directory Length (n-31)
(LSB)
Error History Directory List
Error history directory entry [first]
32-39
(see Table 178)
-
Error history directory entry [last]
(n-7)-n
(see Table 178)

Table 177 Error History Directory

The error history directory list contains an error history directory entry for each supported buffer ID in the range of
00h to EFh.
Bit
Byte
7 6 5 4 3 2 1 0
0 Supported Buffer ID
1-3 Reserved
(MSB)
4-7 Maximum Available Length
(LSB)

Table 178 Error History Directory Entry

• Supported Buffer ID field indicates the error history buffer ID associated with this entry.
• Maximum Available Length field indicates the maximum number of data bytes contained in the buffer indicated
by the Supported Buffer ID field. The actual number of bytes available for transfer may be smaller.
Unless an error is encountered, the drive will return parameter data that contains error history in a vendor specific
format from the error history snapshot from the specified buffer at the specified buffer offset.
If the drive receives a READ BUFFER command with the Mode field set to 1Ch from the established error history
I_T nexus and the Buffer ID field is set to a value that the error history directory shows as not supported, then the
drive will terminate the command with Check Condition status with the sense key set to Illegal Request and the
additional sense code set to Invalid Field In CDB.
If the value in the Buffer Offset field is not supported, the device server shall terminate the command with Check
Condition status with the sense key set to Illegal Request and the additional sense code set to Invalid Field In
CDB.
The amount of error history in the specified buffer shall be less than or equal to the number of bytes indicated by
the Maximum Available Length field in the error history directory.

187
Hard Disk Drive Specification
READ CAPACITY (10) - (25)
Bit
Byte
7 6 5 4 3 2 1 0

0 Command Code = 25h

1 Reserved = 0 Reserved = 0 Obsolete

2-5 Obsolete

6-7 Reserved = 0

8 Reserved = 0 Obsolete

9 VU = 0 Reserved = 0 FLAG LINK

Table 179 READ CAPACITY (10) - (25)

The READ CAPACITY command returns the last LBA of the drive.

Returned Data Format


The data returned to the Initiator in response to the READ CAPACITY command is described here. The data is
returned in the DATA IN phase.

Bit
Byte
7 6 5 4 3 2 1 0

(MSB)
0-3 Maximum Logical Block Address
(LSB)

(MSB)
4-7 Block Length
(LSB)

Table 180 Format of READ CAPACITY command reply

- Block Length specifies the length in bytes of each block of user data (not including protection information).

188
Hard Disk Drive Specification
READ CAPACITY (16) (9E/10)
Bit
Byte
7 6 5 4 3 2 1 0
0 Command Code = 9Eh
1 Reserved = 0 Service Action = 10h
2-9 Obsolete
(MSB)
10-13 Allocation Length
(LSB)
14 Reserved = 0 Obsolete
15 VU = 0 Reserved = 0 FLAG Link
Table 181 Read Capacity (16) (9E/10)

The READ CAPACITY (16) (9E/10) command returns information regarding the capacity of the drive. This
command is processed like the standard READ CAPACITY (25) command.

Returned Data Format


The following data is returned to the initiator in the DATA OUT phase.
Bit
Byte
7 6 5 4 3 2 1 0
(MSB)
0-7 Maximum Logical Address
(LSB)
(MSB)
8 - 11 Block Length
(LSB)
12 Reserved = 0 P-Type Prot-EN
Logical Blocks per Physical Block
13 P_I_Exponent
Exp
14 - 31 Reserved = 0
Table 182 Returned Data Format

The protection type (P_TYPE) field and the protection enable (PROT_EN) bit indicate the drive's current type of
protection.

Prot-EN P-Type Description


0b 000b The drive is formatted to type 0 protection
1b 000b The drive is formatted to type 1 protection
1b 001b The drive is formatted to type 2 protection

Table 183 Protection Type (P_TYPE) field

Code Description
0 One or more physical blocks per logical block
n>0 2n logical blocks per physical block

Table 184 Logical Blocks per Physical Block Exponent field

The number of physical blocks per logical block is not reported.

189
Hard Disk Drive Specification
READ DEFECT DATA (37)
Bit
Byte
7 6 5 4 3 2 1 0
0 Command Code = 37h
1 Reserved = 0 Reserved = 0 0
2 Reserved = 0 Plist Glist Defect List Format
3-6 Reserved = 0

(MSB)
7-8 Allocation Length
(LSB)

9 VU = 0 Reserved = 0 FLAG LINK

Table 185 READ DEFECT DATA (37)

The READ DEFECT DATA command requests that the Target transfer the medium defect data to the Initiator.
If the Target is unable to access any medium defect data it will return a Check Condition status with the
appropriate sense key. The sense key will be set to either Medium Error (03h) if a medium error occurred or No
Sense (00h) if the list does not exist and the additional sense code will be set to Defect List Error (19h).
- Plist bit set to one indicates that the Target returns the Plist. A Plist bit of zero indicates that the Target shall not
return the Plist of defects.
- Glist bit set to one indicates that the Target returns the Glist. A Glist bit of zero indicates that the Target shall not
return the Glist.
Note: With both bits set to one Plist and Glist the Target will return both the primary and grown defect lists. With
both bits set to zero, the Target will return only a 4-byte Defect List Header.
- Defect List format field is used by the Initiator to indicate the preferred format for the defect list.
- The Defect List Format of '100 (Bytes from Index Format)' and '101 (Physical Sector Format)' are supported. If
the requested format is not supported by the drive, it will return the defect list in its default format '101' and then
terminate the command with Check Condition status. The sense key will be set to Recovered Error (01h) and
the additional sense code will be set to Defect List Not Found (1Ch).
The drive sends defect list (Defect Descriptors) in an 8-byte Absolute Block Address (ABA) format that follows a
four byte Defect List Header.
The Target will transfer all of the Read Defect Data up to the number of bytes allocated by the Initiator.
Preferred Defect List Format Returned Defect List Format
Block (000b) Physical Sector
Bytes from Index (100b) Bytes from Index
Physical Sector (101b) Physical Sector
Vendor Unique (110b) Physical Sector
Reserved (001b)
Reserved (010b)
Reserved (011b)
Reserved (111b)

Table 186 Defect List Format

Note: The drive will terminate the Data in phase when the Allocation Length has been transferred or when all
available Defect Data has been transferred to the Initiator, whichever is less.
The Read Defect Data contains a 4-byte header followed by zero or more defect descriptors.

190
Hard Disk Drive Specification
Defect List Header
Bit
Byte 7 6 5 4 3 2 1 0
Defect List Header
0 Reserved = 0
1 Reserved = 0 Plist Glist Defect List Format
(MSB)
2-3 Defect List length
(LSB)
Table 187 Defect List Header

Defect List Descriptor


Bit
Byte 7 6 5 4 3 2 1 0
Defect List Descriptor
0-7 Defect Descriptor 0
… …
8n - (8n+7) Defect Descriptor n
Table 188 Defect List Descriptor

Bytes from Index Format (100b)


Byte Defect List Descriptor
(MSB)
0-2 Cylinder Number of Defect
(LSB)
3 Head Number of Defect
(MSB)
4-7 Defect Bytes from Index
(LSB)
Table 189 Defect Descriptors of Bytes from Index Format

Defect Bytes from Index is gotten using the following equation:


Bytes from Index = (Physical Sector Number) * N
Where: N = Bytes per sector

191
Hard Disk Drive Specification
Physical Sector Format (101b)
Byte Defect Descriptors

(MSB)
0-2 Cylinder Number of Defect
(LSB)

3 Head Number of Defect

(MSB)
4-7 Defective Sector Number
(LSB)

Table 190 Defect Descriptors of Physical Sector Format

The Defect List Format field specifies the format of the defect list data returned by the Target.
The Defect List Length field specifies the length in bytes of the defect descriptors that follow. The Defect List Length
is equal to eight times the number of defect descriptors.
Normally the Target will set the Defect List Length field to the amount of space needed to contain the entire defect
list. However, the Target is capable of building a defect list with a length such that the entire list cannot be
transferred using the maximum allocation length. If the defect list grows beyond 8191 entries, the defect data
cannot be transferred with an allocation length of 0FFFFh. The Target will transfer a partial defect list and return
Check Condition status with the sense key set to Recovered Error and the additional sense code set to Partial
Defect List Transferred. The defect list length will be set to 0FFF8h, indicating the maximum number of defect
descriptors that can be transferred. Defects beyond this number cannot be read by the Initiator.

192
Hard Disk Drive Specification
READ DEFECT DATA (B7)
Bit
Byte
7 6 5 4 3 2 1 0
0 Command Code = B7h
1 Reserved = 0 Plist Glist Defect List Format
2-5 Reserved = 0
(MSB)
6-9 Allocation Length
(LSB)
10 Reserved = 0
11 VU = 0 Reserved = 0 FLAG LINK
Table 191 READ DEFECT DATA (B7)

(See Section 8.24 “READ DEFECT DATA (37)”)

Defect List Header


Bit
Byte 7 6 5 4 3 2 1 0
Defect List Header
0 Reserved = 0
1 Reserved = 0 Plist Glist Defect List Format
2-3 Reserved = 0
(MSB)
4-7 Defect List length
(LSB)
Table 192 Unit Defect List Header

(See Defect List Header for Read Defect Data (37) in Section 8.24.1 "Defect List Header".)

Defect List Descriptor


Bit
Byte 7 6 5 4 3 2 1 0
Defect List Header
0-7 Defect Descriptor 0
… …
8n - (8n+7) Defect Descriptor n

Table 193 Defect List Descriptor

(See Defect List Descriptor for Read Defect Data (37) in Section 8.24.2 "Defect List Descriptor".)

193
Hard Disk Drive Specification
Bytes from Index Format (100b)
Byte Defect List Descriptor
(MSB)
0-2 Cylinder Number of Defect
(LSB)
3 Head Number of Defect
(MSB)
4-7 Defect Bytes from Index
(LSB)
Table 194 Defect Descriptors of Bytes from Index Format

Defect Bytes from Index is derived using the following equation:


Bytes from Index = (Physical Sector Number) + N
where N = Bytes per sector.

Physical Sector Format (101b)


Byte Defect List Descriptor
(MSB)
0-2 Cylinder Number of Defect
(LSB)
3 Head Number of Defect
(MSB)
4-7 Defective Sector Number
(LSB)
Table 195 Defect Descriptors of Physical Sector Format

194
Hard Disk Drive Specification
READ LONG (3E)
Bit
Byte
7 6 5 4 3 2 1 0
0 Command Code = 3Eh
1 Reserved = 0 Correct = 0 Obsolete
(MSB)
2-5 Logical Block Address
(LSB)
6 Reserved = 0
(MSB)
7-8 Byte Transfer Length
(LSB)
9 VU = 0 Reserved = 0 FLAG LINK

Table 196 READ LONG (3E)

The READ LONG command requests the drive to transfer one block of data to the Initiator. The transfer data
includes data and MEDC field data.
- Correct transferred bit of zero causes correction to be attempted, data will be returned without reporting media
errors regardless of the drives ability to successfully make corrections. When this bit is set the drive will return
media errors if correction is not successful.
- Logical Block Address field specifies the logical block at which the read operation shall occur.
- Byte Transfer Length field must specify exactly the number of bytes of data that are available for transfer. If a
non-zero byte transfer length does not match the available data length, the Target terminates the command with
Check Condition status, the sense key is set to Illegal Request, and an additional sense code set to Invalid
Field in CDB. The valid and ILI bits are set to one and the information field is set to the difference of the
requested length minus the actual length in bytes. Negative values are indicated by two's complement notation.
The transfer length is calculated as follows:
transfer length = logical block size
The data read by this command is neither read from nor retained in the cache. Data returned by this command
cannot be corrupted and transferred on a subsequent WRITE LONG command to create recoverable media errors.

195
Hard Disk Drive Specification
READ LONG (9E)
Bit
Byte
7 6 5 4 3 2 1 0
0 Command Code = 9Eh
1 Reserved = 0 Service Action (11h)
(MSB)
2-9 Logical Block Address
(LSB)
10-11 Reserved = 0
(MSB)
12-13 Byte Transfer Length
(LSB)
14 Reserved = 0 PBLOCK CORRCT
15 VU = 0 Reserved = 0 FLAG LINK

Table 197 READ LONG (9E)

The READ LONG command requests the drive to transfer one block of data to the Initiator. The transfer data
includes data and MEDC field data.
- Correct transferred bit of zero causes correction to be attempted, data will be returned without reporting media
errors regardless of the drives ability to successfully make corrections. When this bit is set the drive will return
media errors if correction is not successful.
- Logical Block Address field specifies the logical block at which the read operation shall occur.
- Byte Transfer Length field must specify exactly the number of bytes of data that are available for transfer. If a
non-zero byte transfer length does not match the available data length, the Target terminates the command with
Check Condition status, the sense key is set to Illegal Request, and an additional sense code set to Invalid
Field in CDB. The valid and ILI bits are set to one and the information field is set to the difference of the
requested length minus the actual length in bytes. Negative values are indicated by two's complement notation.
The transfer length is calculated as follows:
transfer length = logical block size + 18
The data read by this command is neither read from nor retained in the cache. Data returned by this command can
not be corrupted and transferred on a subsequent WRITE LONG command to create recoverable media errors.

196
Hard Disk Drive Specification
REASSIGN BLOCKS (07)
Bit
Byte
7 6 5 4 3 2 1 0
0 Command Code = 07h
1 Reserved = 0 LONGLBA Reserved = 0
2-4 Reserved = 0
5 VU = 0 Reserved = 0 FLAG LINK

Table 198 REASSIGN BLOCKS (07)

The REASSIGN BLOCKS command requests the drive to reassign a logical block to an available spare. The
REASSIGN BLOCKS command attempts to allocate spare blocks on a spare track. The LBA is transferred to the
drive during the DATA OUT phase. One to four blocks may be specified for relocation per REASSIGN BLOCKS
command.
Reassignment is complete upon the completion of the REASSIGN BLOCKS command. At this time, the defective
logical block address has been added to the Glist.
All data is preserved during a reassign command except for the target LBA data. The Mode Page 0h DRRT
(Disable Restore Reassign Target) bit determines if the reassign blocks command will attempt to recover the Target
LBA data. If the Target cannot recover the data at the Target LBA then the Initiator will have to restore the data after
the REASSIGN BLOCKS command completes successfully.
Upon successful completion of this command, the location of the physical sectors reassigned during the command
are added to the Glist. The reassigned sectors are marked defective and cannot be accessed again until after a
format operation discards the Glist.
- LONGLBA bit of zero indicates that LBAs in the provided defect list are 4-bytes. A LONGLBA bit of one
indicates that the LBAs in the provided defect list are 8-bytes
Following is the format of the data sent by the Initiator during the DATA OUT phase.
Bit
Byte
7 6 5 4 3 2 1 0
0-1 Reserved = 0
(MSB)
2-3 Defect List Length
(LSB)
4-n Defect LBA List

Table 199 Format of Reassign Blocks Parameter List data

- Defect List Length is the total number of bytes in the Defective LBA List (n - 4).
- Defect LBA List is a list of zero to eight Logical Block Addresses to be reassigned. The number of bytes
describing each LBA is determined by the LONGLBA field in the command block.

197
Hard Disk Drive Specification
RECEIVE DIAGNOSTICS RESULTS (1C)
Bit
Byte
7 6 5 4 3 2 1 0
0 Command Code = 1Ch
1 Reserved = 0 Reserved = 0 PCV
2 Page Code
(MSB)
3
Allocation Length
4
(LSB)
5 VU = 0 Reserved = 0 FLAG LINK

Table 200 RECEIVE DIAGNOSTIC RESULTS (1C)

The RECEIVE DIAGNOSTIC RESULTS command requests that analysis data requested by a SEND DIAGNOSTIC
command be sent to the Initiator.
- PCV (Page Code Valid) bit of zero indicates that the most recent SEND DIAGNOSTIC command shall define
the data returned by this command. PCV bit of one indicates that the contents of the Page Code field shall
define the data returned by this command.
- Allocation Length specifies the amount of data to be returned to the Initiator. This value may be zero and this
is not considered an error. The Target terminates the Data in phase when all available data has been
transferred or when the number of bytes transferred equals the Parameter List Length.

Receive Diagnostic Results Page 0


This page contains a list of supported pages.
Bit
Byte
7 6 5 4 3 2 1 0
0 Page Code = 0
1 Reserved = 0
2-3 Page Length = 04h
4 (Supported Pages) Page = 0h
5 CJTPAT page = 3Fh
6 Translate address page = 40h
7 Rebuild assist page = 42h

Table 201 Receive Diagnostic Results page 0

The supported diagnostic page returns a list of supported pages in ascending order.

198
Hard Disk Drive Specification
Receive Diagnostic Results Page 40
Using the SEND DIAGNOSTIC command, an address in either physical or logical format is supplied to the drive.
This page is then used to retrieve the address translated into the other format.
Bit
Byte
7 6 5 4 3 2 1 0
0 Page Code = 40h
1 Reserved = 0
2-3 Page Length
4 Reserved = 0 Supplied Format
5 RA ALTS ALTT Reserved=0 Translate Format
6-13 Translated Address

Table 202 Receive Diagnostic Results page 40

- Page Length is set to 02h if the address is in a Reserved Area (RA =1). Otherwise, Page Length is set to 0Ah.
- Supplied Format is the value supplied by the SEND DIAGNOSTIC command; it may be 1of the 3 following
values:
- 000b Short Block format
- 011b Long Block format
- 100b Bytes From Index format
- 101b Physical Sector format
- Translate Format is the value supplied by the SEND DIAGNOSTIC command and specifies the format in
which the address has been translated into List. If the Supplied Format is the Short Block or Long Block format,
the Translate Format must be either Bytes from Index or Physical Sector format. If the Supplied Format is the
Bytes from Index or Physical Sector format, the Translate Format must be Long Block format. Otherwise the
Target will terminate the command with Check Condition status.
- RA (Reserved Area) is set to one if the translated block is an inaccessible sector, which could reflect a defect,
an unused sector on a spare cylinder, or a sector beyond the Maximum Customer LBA.
- ALTS (Alternate Sector) is set to one if the translated block is a sector in a spare cylinder that points to a
reassigned customer sector.
- ALTT (Alternate Track) is not used.
- Translated Address contains the address in the Translate Format. For a physical format it is as follows:
Bit
Byte
7 6 5 4 3 2 1 0
6-8 Cylinder Number
9 Head Number
10-13 Sector Number or Bytes from Index

Table 203 Translated address

- The translation for a logical to physical request for an address currently residing in non-volatile cache returns
invalid Cylinder, Head and Sector (CHS) information since the address does not currently reside on media.

199
Hard Disk Drive Specification
RELEASE (17)
Bit
Byte
7 6 5 4 3 2 1 0

0 Command Code = 17h

1 Reserved = 0 3rdPty=0 3rd Party ID Ext=0

2 Reservation Identification

3-4 Reserved = 0

5 VU = 0 Reserved = 0 FLAG LINK

Table 204 RELEASE (17)

The RELEASE command is used to release a LUN previously reserved. It is not an error for an Initiator to release
a LUN that is not currently active. The drive returns Good status without altering the reservation.
- 3rdPty must be 0. Third Party reservations are not supported. If the 3rdPty bit is not zero, Check Condition
status is returned with a sense key of Illegal Request and additional sense code of Invalid Field in CDB.
- 3rd Party ID is ignored.
- Extents must be 0. Extension is not supported by the drive.
- Reservation Identification field is ignored.

200
Hard Disk Drive Specification
RELEASE (57)
Bit
Byte
7 6 5 4 3 2 1 0

0 Command Code = 57h

1 Reserved = 0 3rdPty=0 Reserved = 0 Ext = 0

2 Reservation Identification

3 3rd Party Device ID

4-8 Reserved = 0

9 VU = 0 Reserved = 0 FLAG LINK

Table 205 RELEASE (57)

The RELEASE command is used to release a LUN previously reserved. It is not an error for an Initiator to release
a LUN that is not currently active. The drive returns Good status without altering the reservation.
- 3rdPty must be 0. Third Party reservations are not supported. If the 3rdPty bit is not zero, Check Condition
status is returned with a sense key of Illegal Request and additional sense code of Invalid Field in CDB.
- 3rd Party ID is ignored.
- Extent must be 0. Extension is not supported by the drive.
- Reservation Identification field is ignored.

201
Hard Disk Drive Specification
REPORT DEVICE IDENTIFIER (A3/05)
Bit
Byte
7 6 5 4 3 2 1 0
0 Command Code = A3h
1 Reserved = 0 Service Action = 05h
2 Reserved = 0
3 Reserved = 0
(MSB)
4-5 LUN=0
(LSB)
(MSB)
6-9 Allocation Length
(LSB)
10 Reserved = 0
11 VU = 0 Reserved = 0 FLAG LINK

Table 206 REPORT DEVICE IDENTIFIER (A3/05)

The REPORT DEVICE IDENTIFIER command requests that the device server send device identification
information to the application client.
The LUN contains the logical unit number parameter. This parameter is expected to be zero. Other value for this
parameter will cause the command to terminate with a CHECK CONDITION status. The sense key is set to
ILLEGAL REQUEST, and the additional sense code is set to INVALID FIELD IN CDB.
The ALLOCATION LENGTH field indicates how much space has been reserved for the returned parameter data. If
the length is not sufficient to contain all the parameter data, the first portion of the data is returned. This is not
considered an error. The actual length of the parameter data is available in the IDENTIFIER LENGTH field in the
parameter data. If the remainder of the parameter data is required, the application client should send a new
REPORT DEVICE IDENTIFIER command with an ALLOCATION LENGTH field large enough to contain all the
data.
The REPORT DEVICE IDENTIFIER parameter list contains a 4-byte field that contains the length in bytes of the
parameter list and the logical unit's identifier.
Bit
Byte
7 6 5 4 3 2 1 0
(MSB)
0-3 Identifier Length = n - 3
(LSB)
4-n Identifier

Table 207 Report Device Identifier parameter list

The IDENTIFIER LENGTH field specifies the length in bytes of the IDENTIFIER field. If the ALLOCATION LENGTH
field in the CDB is too small to transfer all of the identifier, the length is not adjusted to reflect the truncation. The
identifier length initially equals zero and is changed only by a successful SET DEVICE IDENTIFIER command.
The IDENTIFIER field contains a vendor specific value. The value reported is the last value written by a successful
SET DEVICE IDENTIFIER command. The value of the identifier is changed only by a SET DEVICE IDENTIFIER
command. The identifier value persist through resets, power cycles, media format operations.
The Target return the same Identifier to all Initiators on all ports.

202
Hard Disk Drive Specification
The execution of a REPORT DEVICE IDENTIFIER requires the enabling of a nonvolatile memory within the logical
unit. If the nonvolatile memory is not ready, the device server returns Check Condition status rather than wait for
the device to become ready. The sense key is set to Not Ready and the additional sense data is set as described in
the TEST UNIT READY command. This information should allow the application client to determine the action
required to cause the device server to become ready.

203
Hard Disk Drive Specification
REPORT LUNS (A0)
Bit
Byte
7 6 5 4 3 2 1 0

0 Command Code = A0h

1-5 Reserved

(MSB)
6-9 Allocation Length
(LSB)

10 Reserved

11 VU = 0 Reserved = 0 FLAG LINK

Table 208 REPORT LUNS (A0)

The REPORT LUNS command requests that the Target return the known LUN to the Initiator. The REPORT LUNS
command should always be available and is unaffected by any reservations.
The Allocation Length must be at least 16 bytes. If the Allocation Length is less than 16 bytes, the Target will return
a Check Condition status with sense key of Illegal Request and additional sense code of Invalid Field in CDB. If
the Allocation Length is not sufficient to contain the LUN values for all configured logical units, the Target shall
report as many LUN values as will fit in the specified Allocation Length. This is not considered an error.
The REPORT LUNS command will send the LUN list in the subsequent Data Out Phase. The format of the LUN list
is shown in the following table.

Bit
Byte
7 6 5 4 3 2 1 0

(MSB)
0-3 LUN List Length = 8
(LSB)

4-7 Reserved

(MSB)
8-15 LUN = 0
(LSB)

Table 209 LUN Reporting parameter list format

The LUN list length shall contain the length in bytes of the LUN list that is available to be transferred. This product
only supports one LUN. Therefore, the LUN list length must be set to 8. The only supported LUN is zero.

204
Hard Disk Drive Specification
REPORT SUPPORTED OPERATION CODES (A3/0C)
Bit
Byte
7 6 5 4 3 2 1 0

0 Command Code = A3h

1 Reserved = 0 Service Action = 0Ch

2 RCTD Reserved = 0 Reporting Options

3 Requested Operation Code

4-5 Requested Service Action

6-9 Allocation Length

10 Reserved = 0

11 VU = 0 Reserved FLAG LINK

Table 210 REPORT SUPPORTED OPERATION CODES (A3/0C)

The REPORT SUPPORTED OPERATION CODES command requests information on commands that the drive
supports. The initiator may request a list of all operation codes and service actions supported, or the command
support data for a specific command.
RCTD: A return command timeouts descriptor (RCTD) bit set to one specifies that the command timeouts
descriptor shall be included in each command descriptor (see section 8.34.1) that is returned or in the
one_command parameter data (see section 8.34.2) that is returned. A RCTD bit set to zero specifies that the
command timeouts descriptor shall not be included in any parameter data returned.
Reporting Options specifies the information to be returned in the parameter data.

205
Hard Disk Drive Specification
Reporting
Description
Options

A list of all operation codes and service actions supported by the drive will be returned in the
000b all_commands parameter data format. The Requested Operation Code field and Requested
Service Action field will be ignored.

The command support data for the operation code specified in the Requested Operation Code
field will be returned in the one_command parameter data format. The Requested Service Action
001b field will be ignored. If the Requested Operation Code field specifies an operation code that has
service actions, Check Condition status will be reported with a sense key of Illegal Request and
additional sense code of Invalid Field in CDB.

The command support data for the operation code and service action specified in the Requested
Operation Code field and Requested Service Action field will be returned in the one_command
010b parameter data format. If the Requested Operation Code field specifies an operation code that
does not have service actions, Check Condition status will be reported with a sense key of Illegal
Request and additional sense code of Invalid Field in CDB.

The command support data for the operation code and service action specified in the Requested
Operation Code field and Requested Service Action field will be returned in the one_command
parameter data format.
If:
a) the operation code specified by the Request Operation Code field specifies an operation
code for which the device server does not implement service actions, the Requested Service
011b Action field is set to 00h, and the command is supported; or
b) the operation code specified by the Requested Operation Code field specifies an operation
code for which the device server implements service actions and the value in the Requested
Service Action field is supported, then the command support data shall indicate that the
command is supported (i.e., the Support field is set to 011b or 101b).
Otherwise, the command support data shall indicate that the command is not supported (i.e., the
Support field is set to 001b).

100b-
Reserved
111b

Table 211 Reporting Options

Requested Operation Code specifies the operation code of the command to be returned in the one_command
parameter data format.
Requested Service Action specifies the service action of the command to be returned in the one_command
parameter data format.
Allocation Length specifies the number of bytes that have been allocated for the returned parameter data. If the
length is not sufficient to contain all the parameter data, the first portion of the data shall be returned. The actual
length of the parameter data may be determined from the Additional Length field in the parameter data.

206
Hard Disk Drive Specification
All_commands parameter data format
The Report Supported Operation Codes all_command parameter data format begins with a four-byte header that
contains the length in bytes of the parameter data, followed by a list of supported commands. Each command
descriptor contains information about a single supported command CDB (i.e. one operation code and service action
combination, or one non-service action operation code).

Bit
Byte
7 6 5 4 3 2 1 0

0-3 Command Data Length (n-3)

4 Command Descriptor 0

N Command Descriptor X

Table 212 All_command parameter data format

Each Command Descriptor contains information about a single supported command CDB.

Bit
Byte
7 6 5 4 3 2 1 0

0-3 Operation Code

1 Reserved = 0

2-3 Service Action

4 Reserved = 0

Serva
5 Reserved = 0 CTDP
ctv

6-7 CDB Length

Command Timeouts Descriptor, if any


8-19
(see 8.34.3 "Command timeouts descriptor format")

Table 213 Command Descriptor format

Operation Code contains the operation code of a supported command.


Service Action contains a supported service action of the supported operation. If the operation code does not have
a service action, the Service Action field will be set to zero.
CTDP: A command timeouts descriptor present bit set to one indicates that the command timeouts descriptor (see
8.34.3 "Command timeouts descriptor format") is included in this command descriptor. A CTDP bit set to zero
indicates that the command timeouts descriptor is not included in this command descriptor.
Servactv set to zero indicates the operation code does not have service actions and the Service Action field should
be ignored. SERVACTV set to one indicates the operation code field has service actions and the contents of the
Service Action field are valid.
CDB Length contains the length of the command CDB in bytes.

207
Hard Disk Drive Specification
One_command parameter data format
The Report Supported Operation Codes one_command parameter data format contains information about the CDB
and a usage map for bits in the CDB for the command specified by the Reporting Options, Requested Operation
Code, and Requested Service Action fields in the Reported Supported Operation Codes CDB.

Bit
Byte
7 6 5 4 3 2 1 0

0 Reserved = 0

1 CTDP Reserved = 0 Support

2-3 CDB Size (n-3)

4-n CDB Usage Data

Command Timeouts Descriptor, if any


n+1 - n+12
(see 8.34.3 "Command timeouts descriptor format")

Table 214 One_command parameter data format

CTDP: A command timeouts descriptor present bit set to one indicates that the command timeouts descriptor is
included in this command descriptor. (see section 8.34.3 "Command timeouts descriptor format") A CTDP bit
set to zero indicates that the command timeouts descriptor is not included in this command descriptor.
The Support field is defined in the table below.

Recording
Description
Option
Data about the requested command is not currently available. All data after byte 1 is not valid. A
000b
subsequent request for command support data may be successful.
001b The requested command is not supported. All data after byte 1 is not valid.
010b Reserved.
011b The requested command is supported in conformance with the standard.
100b Reserved
101b The requested command is supported in a vendor specific manner.
110b-111b Reserved.

Table 215 One_command parameter support field

CDB Size contains the size of the CDB Usage Data field in the parameter data, and the number of bytes in the
CDB for the command requested.
CDB Usage Data contains information about the CDB for the command requested. The first byte of the CDB Usage
Data field contains the operation code for the command. If the command contains a service action, then that service
action code is returned in the same location as the Service Action field of the command CDB. All other bytes of the
CDB Usage Data field contain a usage map for bits in the CDB for the command requested.
The bits in the usage map have a one-for-one correspondence to the CDB for the command requested. If the drive
evaluates a bit in the CDB, the usage map will contain a one in the corresponding bit position. The usage map will
contain a zero in the corresponding bit position for any field treated as ignored or reserved.

208
Hard Disk Drive Specification
Command timeouts descriptor format
Overview
The command timeouts descriptor (see Table 216) returns time-out information for commands supported by the
logical unit based on the time from the start of processing for the command to its reported completion. Values
returned in the command timeouts descriptor do not include times that are outside the control of the device server
(e.g., prior commands with the IMMED bit set to one in the CDB, concurrent commands from the same or different
I_T nexuses, manual unloads, power-on self tests, prior aborted commands, commands that force cache
synchronization, delays in the service delivery subsystem).
For commands that cause a change in power condition (Idle/Standby Powersave Modes), values returned in the
command timeouts descriptor do not include the power condition transition time (e.g., the time to spinup rotating
media).
Values returned in the command timeouts descriptor should not be used to compare products.

Bit
Byte
7 6 5 4 3 2 1 0

0-1 Descriptor Length (0Ah)

2 Reserved = 0

3 Command Specific

4-7 Nominal Command Processing Time-out

8-11 Recommended Command Time-out

Table 216 Command timeouts descriptor format

The DESCRIPTOR LENGTH field indicates the number of bytes that follow in the command timeouts descriptor.
The COMMAND SPECIFIC field contains time-out information (see Table 217) that is specific to one or more
commands.
If no command specific time-out information is defined by this or the applicable command standard, the
COMMAND SPECIFIC field is reserved.

Command Reference

See Section 8.34.3.2 "WRITE BUFFER: command timeouts descriptor COMMAND


WRITE BUFFER
SPECIFIC field usage"

Table 217 Command timeouts descriptor Command Specific Field usage

209
Hard Disk Drive Specification
WRITE BUFFER: command timeouts descriptor
COMMAND SPECIFIC field usage
For the WRITE BUFFER command, the COMMAND SPECIFIC field usage is reserved for all modes except the
following:
- Download microcode mode (04h);
- Download microcode and save mode (05h);
- Download microcode with offsets mode (06h);
- Download microcode with offsets and save mode (07h);
- Download microcode with offsets and defer activation mode (0Eh) only if the microcode is activated by an
event other than an activate deferred microcode mode; and
- Activate deferred microcode mode (0Fh).
If the command timeouts descriptor describes one of the WRITE BUFFER modes listed in this sub clause, then the
COMMAND SPECIFIC field indicates the maximum time, in one second increments, that access to the SCSI device
is limited or not possible through any SCSI ports associated with a logical unit that processes a WRITE BUFFER
command that specifies one of the named modes. A value of zero in the COMMAND SPECIFIC field indicates that
the no maximum time is indicated.

210
Hard Disk Drive Specification
REPORT SUPPORTED TASK MANAGEMENT FUNCTIONS
(A3/0D)
Bit
Byte
7 6 5 4 3 2 1 0
0 Command Code = A3h
1 Reserved = 0 Service Action = 0Dh
2-5 Reserved = 0
6-9 Allocation Length
10 Reserved = 0
11 VU = 0 Reserved = 0 Flag Link

Table 218 Report Supported Task Management Functions (A3/0D)

The REPORT SUPPORTED TASK MANAGEMENT FUNCTIONS command requests information on task
management functions supported by the drive.
Allocation Length specifies the number of bytes that have been allocated for the returned parameter data. The
allocation length must be at least four. If the allocation length is less than four, Check Condition Status will be
returned with sense key of Illegal Request and additional sense code of Invalid Field in CDB.
The format of the returned parameter data is shown below.
Bit
Byte
7 6 5 4 3 2 1 0
0 ATS ATSS CACAS CTSS LURS QTS TRS WAKES
1 Reserved QUAS QTSS ITNRS
2 Reserved
3 Reserved

Table 219 Report Supported Task Management Functions - returned parameter data

ATS (Abort Task) bit set to one indicates that ABORT TASK is supported. An ATS bit of zero indicates that
ABORT TASK is not supported.
ATSS (Abort Task Set) bit set to one indicates that ABORT TASK SET is supported. An ATSS bit of zero
indicates that ABORT TASK SET is not supported.
CACAS (Clear ACA) bit set to one indicates that CLEAR ACA is supported. A CACAS bit of zero indicates that
CLEAR ACA is not supported.
CTSS (Clear Task Set) bit set to one indicates that CLEAR TASK SET is supported. A CTSS bit of zero indicates
that CLEAR TASK SET is not supported.
LURS (Logical Unit Reset) bit set to one indicates that LOGICAL UNIT RESET is supported. An LUR bit of zero
indicates that LOGICAL UNIT RESET is not supported.
QTS (Query Task) bit set to one indicates that QUERY TASK is supported. A QTS bit of zero indicates that
QUERY TASK is not supported.

211
Hard Disk Drive Specification
TRS (Target Reset) bit set to one indicates that TARGET RESET is supported. A TRS bit of zero indicates that
TARGET RESET is not supported.
WAKES (Wakeup) bit set to one indicates that WAKEUP is supported. A WAKES bit of zero indicates that
WAKEUP is not supported.
A QUERY UNIT ATTENTION supported (QUAS) bit set to one indicates the QUERY UNIT ATTENTION task
management function (see SAM-4) is supported by the logical unit. A QUAS bit set to zero indicates the QUERY
UNIT ATTENTION task management function is not supported.
A QUERY TASK SET supported (QTSS) bit set to one indicates the QUERY TASK SET task management function
(see SAM-4) is supported by the logical unit. A QTSS bit set to zero indicates the QUERY TASK SET task
management function is not supported.
An I_T NEXUS RESET supported (ITNRS) bit set to one indicates the I_T NEXUS RESET task management
function (see SAM-4) is supported by the logical unit. An ITNRS bit set to zero indicates the I_T NEXUS RESET
task management function is not supported.

212
Hard Disk Drive Specification
REQUEST SENSE (03)
Bit
Byte
7 6 5 4 3 2 1 0

0 Command Code = 03h

1 Reserved = 0 DESC

2-3 Reserved = 0

4 Allocation Length

5 VU = 0 Reserved = 0 FLAG LINK

Table 220 REQUEST SENSE (03)

The REQUEST SENSE command requests the drive to transfer sense data.
The Descriptor Format (DESC) bit specifies which sense data format the device shall return in the parameter data.
The Allocation Length specifies the maximum number of bytes of sense data that the drive should return. Such
relationship is shown in the table below. (See 12. SCSI Sense Data for more details).

DESC Bit Sense Data Format Length of Sense Data Returned

0b Fixed format The number of bytes in the Allocation Length or 32 bytes, whichever is less

The number of bytes in the Allocation Length or a fixed "descriptor sense


1b Descriptor format data size", whichever is less. The "descriptor sense data size" is either 40
or 60 bytes, depending on the drive firmware build.

Table 221 Sense Data Format and Length

If REQUEST SENSE command with an invalid LUN is received, the drive returns Good status and reports a sense
key of Illegal Request and an additional sense code of Logical Unit Not Supported.
If the drive has no sense data available to return, it will return a sense key of No Sense and an additional sense
code of No Additional Sense Information.
Separate sense data is maintained by the device for each Initiator. Therefore, there is no requirement for an Initiator
to expeditiously clear a Check Condition as this will not affect other initiators in a multi-Initiator system.

213
Hard Disk Drive Specification
RESERVE (16)
Bit
Byte
7 6 5 4 3 2 1 0

0 Command Code = 16h

1 Reserved = 0 3rdPty=0 3rd Party ID Ext=0

2 Reservation Identification

(MSB)
3-4 Extent List Length = 0
(LSB)

5 VU = 0 Reserved = 0 FLAG LINK

Table 222 RESERVE (16)

The RESERVE command is used to reserve a LUN for an Initiator. This reservation can be either for the Initiator
sending the command or for a third party as specified by the Initiator.
Extents are not supported by the drive. The Ext bit must be zero. If Ext bit is set to one, Check Condition status is
returned with a sense key of Illegal Request and additional sense code of Invalid Field in CDB. The Reservation
Identification and Extent List Length fields are ignored.
The Reserve command requests that the entire LUN be reserved for the Initiator until
- the reservation is superseded by another valid Reserve command from the Initiator that made the reservation.
- the reservation is released by a RELEASE command from the same Initiator.
- a hard Reset condition occurs.
- a Target Reset message is received from any Initiator.
- a power off/on cycle occurs.
3rdPty must be 0. Third Party reservations are not supported. If the 3rdPty bit is not zero, Check Condition
status is returned with a sense key of Illegal Request and additional sense code of Invalid Field in CDB.
3rd Party ID is ignored.
Only the Initiator that issued the Reserve command for a LUN may release the LUN, regardless of the 3rdPty
option. This Initiator may also release the LUN by issuing another RESERVE command. This superseding
RESERVE command releases the previous reservation when the new reservation is granted.
Reservation queuing is not supported by the drive. If a LUN is reserved and a RESERVE command is issued from a
different Initiator, the Target responds with a RESERVATION CONFLICT.

214
Hard Disk Drive Specification
RESERVE (56)
Bit
Byte
7 6 5 4 3 2 1 0

0 Command Code = 56h

1 Reserved = 0 3rdPty=0 Reserved Ext=0

2 Reservation Identification

3 Third Pay Device ID

4-6 Reserved = 0

(MSB)
7-8 Extent List Length = 0
(LSB)

9 VU = 0 Reserved = 0 FLAG LINK

Table 223 RESERVE (56)

The RESERVE command is used to reserve a LUN for an Initiator. This reservation can be either for the Initiator
sending the command or for a third party as specified by the Initiator.
Extents are not supported by the drive. The Ext bit must be zero. If Ext bit is set to one, Check Condition status is
returned with a sense key of Illegal Request and additional sense code of Invalid Field in CDB. The Reservation
Identification and Extent List Length fields are ignored.
The Reserve command requests that the entire LUN be reserved for the Initiator until
- the reservation is superseded by another valid Reserve command from the Initiator that made the reservation.
- the reservation is released by a RELEASE command from the same Initiator.
- a hard Reset condition occurs.
- a Target Reset message is received from any Initiator.
- a power off/on cycle occurs.
3rdPty must be 0. Third Party reservations are not supported. If the 3rdPty bit is not zero, Check Condition
status is returned with a sense key of Illegal Request and additional sense code of Invalid Field in CDB.
3rd Party ID is ignored.
Only the Initiator that issued the Reserve command for a LUN may release the LUN, regardless of the 3rdPty
option. This Initiator may also release the LUN by issuing another RESERVE command. This superseding
RESERVE command releases the previous reservation when the new reservation is granted.
Reservation queuing is not supported by the drive. If a LUN is reserved and a RESERVE command is issued from a
different Initiator, the Target responds with a RESERVATION CONFLICT.

215
Hard Disk Drive Specification
REZERO UNIT (01)
Bit
Byte
7 6 5 4 3 2 1 0

0 Command Code = 01h

1 Reserved = 0 Reserved = 0

2-4 Reserved = 0

5 VU = 0 Reserved = 0 FLAG LINK

Table 224 REZERO UNIT (01)

The REZERO UNIT command requests that the Target seek LBA 0.

216
Hard Disk Drive Specification
SANITIZE (48)
Bit
Byte
7 6 5 4 3 2 1 0

0 Command Code = 48h

1 Immed RSVD AUSE Service Action

2-6 Reserved

7-8 Parameter List Length

9 VU = 0 Reserved FLAG LINK

Table 225 SANITIZE (48)

 Immed bit is to specify.


0 Status is to be returned at the end of the operation.
1 Good status shall always be returned immediately after command has been received. The TEST UNIT
READY command may be used to determine when the drive becomes ready.
 AUSE bit can be set to 1 to allow EXIT FAILURE MODE service action on a subsequent SANITIZE. If AUSE is
set to 0, and the sanitize fails, a subsequent SANITIZE with EXIT FAILURE MODE will be rejected.
 Parameter List Length field specifies the length in bytes of the parameter data that is available to be
transferred from the application client’s Data-Out Buffer. When the Service Action is set to Overwrite (01) the
Parameter List Length specifies the length of the Overwrite service action parameter list. If the Service Action is
any other value than Overwrite (01), then the Parameter List Length must be 0. If not, the drive returns a Check
Condition status. The sense key is set to Illegal Request and the additional sense data is set to Invalid Field in
CDB.
 VU stands for Vendor Unique.
 FLAG* If Link is zero, Flag must also be zero. If Link is one, Flag may also be one. Typically this bit is used to
cause an interrupt in the Initiator between linked commands.
 LINK* is set to one to indicate that the Initiator desires an automatic link to the next command upon successful
completion of the current command.
Note: *The drive ignores the link bit and flag bit in the CDB.

217
Hard Disk Drive Specification
Sanitize (48) Service Action Codes
The following service action codes are implemented. If a reserved service action code is specified, the drive returns
a Check Condition status. The sense key is set to Illegal Request and the additional sense data is set to Invalid
Field in CDB.
Code Name Descriptions
00h Reserved Returns Check Condition
Causes the device server to alter information by writing a data pattern to the
01h Overwrite
medium one or more times
02h Reserved Returns Check Condition
Alters the drive internal encryption key to make user data/information
03h Cryptographic Erase
unreadable
04h-1Eh Reserved Returns Check Condition
If a prior Sanitize operation was issued with AUSE = 1 and it failed, this will
1Fh Exit Failure Mode
take the drive out of degraded mode, Sanitize Failed state.
Table 226 SANITIZE Service Action Codes

Bit
Byte
7 6 5 4 3 2 1 0

0 Invert Test Overwrite Count

1 Reserved

2 (MSB)
Initialization Pattern Length (n - 3)
3 (LSB)

... Initialization Pattern

Table 227 Parameter List Format for Overwrite Service Action

• Invert bit set to zero indicates that the initialization pattern and protection information bytes, if any, are written as
specified in the Initialization Pattern field on each overwrite pass. If the Invert bit is set to one, then the
initialization pattern and protection information bytes, if any, shall be inverted (i.e., each bit XORed with one)
between consecutive overwrite passes.
• Overwrite Count field specifies the number of overwrite passes to be performed. The value of 00h is reserved.
• Initialization Pattern Length field specifies the length in bytes of the Initialization Pattern field. The Initialization
Pattern Length field shall be greater than zero and shall not exceed the logical block length. If the Initialization
Pattern Length field is set to zero or a value greater than the logical block length, then the device server shall
terminate the command with Check Condition status with the sense key set to Illegal Request and the additional
sense code set to Invalid Field in Parameter List.
• Initialization Pattern field specifies the data pattern to be used to write the user data. This data pattern is
repeated as necessary to fill each logical block. For each logical block, the first byte of the user data shall begin
with the first byte of the initialization pattern. The protection information, if any, shall be set to
FFFF_FFFF_FFFF_FFFFh

218
Hard Disk Drive Specification
SECURITY PROTOCOL IN (A2)
Bit
Byte
7 6 5 4 3 2 1 0
0 OPERATION CODE (A2h)
1 SECURITY PROTOCOL
2-3 SECURITY PROTOCOL SPECIFIC
4 INC_512 Reserved
5 Reserved
(MSB)
6-9 ALLOCATION LENGTH
(LSB)
10 Reserved
11 CONTROL
Table 228 SECURITY PROTOCOL IN (A2)

The SECURITY PROTOCOL IN command requests the device server to return security protocol information or the
results of one or more SECURITY PROTOCOL OUT commands.
The SECURITY PROTOCOL field specifies which security protocol is being used.
Code Description
00h Security Protocol Information
01h to 06h Defined by TCG
07h to FFh Reserved
Table 229 SECURITY PROTOCOL field in SECURITY PROTOCOL IN command

The contents of the SECURITY PROTOCOL SPECIFIC field are defined by the protocol specified by the
SECURITY PROTOCOL field (see Table 229 above).
A 512 increment (INC_512) bit set to one specifies that the ALLOCATION LENGTH field expresses the maximum
number of bytes available to receive data in increments of 512 bytes (e.g., a value of one means
512 bytes, two means 1024 bytes, etc.). Pad bytes may or may not be appended to meet this length. Pad bytes
shall have a value of 00h. An INC_512 bit set to zero specifies that the ALLOCATION LENGTH field expresses the
maximum number of bytes available to receive data in increments of one byte.
Indications of data overrun or underrun and the mechanism, if any, for processing retries are defined by the protocol
specified by the SECURITY PROTOCOL field (see Table 229).
The CONTROL byte is defined in SAM-5.
Any association between a previous SECURITY PROTOCOL OUT command and the data transferred by a
SECURITY PROTOCOL IN command depends on the protocol specified by the SECURITY PROTOCOL field (see
Table 229). If the device server has no data to transfer (e.g., the results for any previous SECURITY PROTOCOL
OUT commands are not yet available), then the device server may transfer data indicating it has no other data to
transfer.
The format of the data transferred depends on the protocol specified by the SECURITY PROTOCOL field (see
Table 229).
The device server shall retain data resulting from a SECURITY PROTOCOL OUT command, if any, until one of the
following events is processed:
a) transfer of the data via a SECURITY PROTOCOL IN command from the same I_T_L nexus as defined by the
protocol specified by the SECURITY PROTOCOL field (see Table 229);
b) Logical unit reset (see SAM-5); or
c) I_T nexus loss (see SAM-5) associated with the I_T nexus that sent the SECURITY PROTOCOL OUT
command

219
Hard Disk Drive Specification
SECURITY PROTOCOL OUT (B5)
Bit
Byte
7 6 5 4 3 2 1 0
0 OPERATION CODE (B5h)
1 SECURITY PROTOCOL
2-3 SECURITY PROTOCOL SPECIFIC
4 INC_512 Reserved
5 Reserved
(MSB)
6-9 TRANSFER LENGTH
(LSB)
10 Reserved
11 CONTROL
Table 230 SECURITY PROTOCOL OUT (B5)

The SECURITY PROTOCOL OUT command (see Table 230) requests the device server to process the specified
parameter list using the specified security protocol. Depending on the protocol specified by the
SECURITY PROTOCOL field, the application client may use the SECURITY PROTOCOL IN command (see Table
228) to retrieve data that results from the processing of one or more SECURITY PROTOCOL OUT commands.
The SECURITY PROTOCOL field specifies which security protocol is being used.
Code Description
00h Reserved
01h to 06h Defined by TCG
07h to FFh Reserved
Table 231 SECURITY PROTOCOL field in SECURITY PROTOCOL OUT command

The contents of the SECURITY PROTOCOL SPECIFIC field are defined by the protocol specified by the
SECURITY PROTOCOL field (see Table 229 above).
A 512 increment (INC_512) bit set to one specifies that the ALLOCATION LENGTH field expresses the number of
bytes to be transferred in increments of 512 bytes (e.g., a value of one means 512 bytes, two means 1024 bytes,
etc.). Pad bytes shall be appended as needed to meet this requirement. Pad bytes shall have a value of 00h.
A INC_512 bit set to zero specifies that the TRANSFER LENGTH field indicates the number of bytes to be
transferred.
The CONTROL byte is defined in SAM-5.
Any association between a SECURITY PROTOCOL OUT command and a subsequent SECURITY
PROTOCOL IN command is defined by the protocol specified by the SECURITY PROTOCOL field (see Table 231).
Each protocol shall define whether:
a) the device server shall complete the command with GOOD status as soon as it determines the data has been
correctly received. An indication that the data has been processed is obtained by sending a SECURITY
PROTOCOL IN command and receiving the results in the associated data transfer; or
b) the device server shall complete the command with GOOD status only after the data has been successfully
processed and an associated SECURITY PROTOCOL IN command is not required.

The format of the data transferred depends on the protocol specified by the SECURITY PROTOCOL field (see
Table 231).

220
Hard Disk Drive Specification
SEND DIAGNOSTIC (1D)
Bit
Byte
7 6 5 4 3 2 1 0
0 Command Code = 1Dh
1 Function Code PF RSVD =0 SlfTst Dev0fl Unt0fl
2 Reserved = 0
(MSB)
3-4 Parameter List Length
(LSB)
5 VU = 0 Reserved = 0 FLAG LINK

Table 232 SEND DIAGNOSTIC (1D)

The SEND DIAGNOSTIC command requests the drive to perform its self-diagnostic test or to perform a function
based on a page of information sent in a Data Out phase during the command.
- PF (Page Format) bit set to one indicates the data sent by the Initiator conform to the page structure as
specified in SCSI standard. This bit is ignored by the Target if the SlfTst bit is set.
- SlfTst set to one indicates that the device performs its default self-test. If SlfTst is one, the Function code field
is ignored. If SlfTst is set to zero, the action to perform is specified in Function code field.
Value Function name Description
Value to be used when the SlfTst bit is set to one or if the SEND
000b NA DIAGNOSTIC command is not invoking one of the other self-test
function codes.
The device server starts its short self-test routine in background
001b Background Short self-test
mode.
The device server starts its extended self-test routine in background
010b Background extended self-test
mode.
011b NA Reserved.
Abort the current self-test in the background mode. This value is
only valid if a previous SEND DIAGNOSTIC command specified a
100b Abort background self-test
background self-test function and that function has not been
completed.
The device server starts its short self-test routine in the foreground
101b Foreground short self-test
mode. This self-test will complete in two minutes or less.
The device server starts its extended self-test routine in the
foreground mode .The completion time for this test is reported in
110b Foreground extended self-test
Mode Page 0Ah (refer to section 8.10.9 "Mode Page 0A (Control
Mode Page Parameters)”).
111b Reserved.

Table 233 SEND DIAGNOSTIC Function Code (1D)

- DevOfl is ignored by the Target for compatibility.


- UntOfl is ignored by the Target for compatibility.
- Parameter List Length must be 0 when the SlfTst bit is one. Otherwise, Check Condition status will be
generated with a sense key of Illegal Request and additional sense of Invalid Field in CDB. If the SlfTst bit is
zero, it should be set to the length of the page to be transferred in the DATA OUT phase of the command. If it
does not match the expected length of the page a Check Condition status will be also generated with a sense
key of Illegal Request and additional sense of Invalid Field in CDB.

221
Hard Disk Drive Specification
If the motor is not running at the correct speed when the command is received, it is rejected by a Check Condition
status with a Not Ready sense key.
If a fault is detected during the default or foreground self-test, a Check Condition is reported as an end status. If a
fault is detected during the background self-test, it is logged in the log page for later retrieval by a LOG SENSE
command.
See Section 10.12 Diagnostics for a detailed listing of operations carried out by the SEND DIAGNOSTIC command
and Power on Diagnostics.

Send Diagnostic Page 0


This page requests that the drive return a list of supported pages on the next RECEIVE DIAGNOSTICS command.

Bit
Byte
7 6 5 4 3 2 1 0
0 Page Code = 0
1 Reserved = 0
2-3 Page Length = 0

Table 234 Diagnostic page 0

Send Diagnostic Page 3F


Bit
Byte
7 6 5 4 3 2 1 0
0 Page Code = 3F
1 Reserved = 0 Protocol Identifier = 6
2-3 Page Length = 1Ch
4 Phy Identifier
5 Phy Test Function
6 Phy Test Pattern
Phy Test
Phy Test Pattern
7 Rsvd=0 Pattern Phy Test Pattern Physical Link Rate
SSC
SATA = 0
8 – 10 Reserved = 0
11 Phy Test Pattern Dwords Control
12 – 19 Phy Test Pattern Dwords
20 – 31 Reserved = 0

Table 235 Diagnostic page 3F

- Phy Identifier specifies the selected phy that is to perform or to stop performing a phy test function. If the phy
does not exist, Check Condition status will be returned with a sense key of Illegal Request and additional sense
of Invalid Field in Parameter List.
- Phy Test Function specifies the phy test function to be performed. If an unsupported function is requested,
Check Condition status will be returned with a sense key of Illegal Request and additional sense of Invalid Field
in Parameter List.
- Phy Test Pattern specifies the phy test pattern to be transmitted when the Phy Test Function is set to 01h. If an
unsupported value is specified, Check Condition status will be returned with a sense key of Illegal Request and
additional sense of Invalid Field in Parameter List.

222
Hard Disk Drive Specification
Phy Test Function Description
If the selected phy is performing a phy-test function, then the selected phy stop performing
00h the phy test function and originate a link reset sequence. If the selected phy is not performing
a phy test function, then this function as no effect on the selected phy.
If the selected phy is not performing a phy test function, the selected phy will be set to
01h transmit the phy test pattern specified by the Phy Test Pattern field at the physical link rate
specified by the Phy Test Pattern Physical
02h-FDh Unsupported
Analog Loopback - If the selected phy is not performing a phy test function, the selected phy
FEh
will be set to retransmit the data pattern received by the phy receiver without retime
Retime Loopback- If the selected phy is not performing a phy test function, the selected phy
FFh
will be set to retransmit the retimed data pattern received by the phy receiver

Table 236 Phy Test Function

Phy Test Pattern Description


00h Reserved
01h JTPAT
02h CJTPAT
03h-0Fh Reserved
10h TRAIN
11h TRAIN_DONE
13h SCRAMBLE_0
12h IDLE
14h - 3Fh Reserved
40h TWO_DWORDS
41h – Efh Reserved
F0h PRBS7 (DC un-balanced version)
F1h-FFh Reserved
Table 237 Phy Test Pattern

- Phy Test Pattern Physical Link Rate specifies the physical link rate at which the phy test pattern shall be
transmitted. Supported values are 8h for 1.5 Gbps, 9h for 3.0 Gbps, and Ah for 6.0 Gbps, Ah for 6.0 Gbps and
Bh for 12.0Gbps. If an unsupported value is specified, Check Condition status will be returned with a sense key
of Illegal Request and additional sense of Invalid Field in Parameter List.
- Phy Test Pattern SATA bit set to 0 indicates that the phy transmits the phy test pattern as a SAS phy. If this bit
is set to 1, Check Condition status will be returned with a sense key of Illegal Request and additional sense of
Invalid Field in Parameter List
- Phy Test Pattern SSC field specifies the SSC modulation type which the phy test pattern will be transmitted. If
an unsupported SSC modulation type is specified, Check Condition status will be returned with a sense key of
Illegal Request and additional sense of Invalid Field in Parameter List.
Phy Test Pattern SSC Code Description
00h No SSC
01h Center-spreading SSC (Not supported)
10h Down-spreading SSC
11h Reserved
Table 238 Phy Test Pattern SSC Code

- Phy Test Pattern Dwords Control controls whether the bytes in the Phy Test Pattern Dwords field are sent as
control characters or data characters.

223
Hard Disk Drive Specification
Phy Test Pattern
Description
Dwords Control
Each byte in the Phy Test Pattern Dwords field shall be sent as a data character (i.e., Dxx.y)
00h
without scrambling.
The fifth byte in the Phy Test Pattern Dwords field shall be sent as a control character (i.e.,
08h
Kxx.y). Each other byte shall be sent as a data character without scrambling.
The first byte in the Phy Test Pattern Dwords field shall be sent as a control character. Each
80h
other byte shall be sent as a data character without scrambling.
The first and fifth bytes in the Phy Test Pattern Dwords field shall be sent as a control
88h
character. Each other byte shall be sent as a data character without scrambling.
All others Reserved
Table 239 Phy Test Pattern Dwords Control

- Phy Test Pattern Dwords contains the two Dwords that are sent during a TWO_DWORDS test pattern.

Send Diagnostic Page 40


This allows the Initiator to translate a LBA or physical sector address to the other format. The address to be
translated is passed to the Target with the SEND DIAGNOSTIC command and the results are returned to the
Initiator by the RECEIVE DIAGNOSTICS command. The Target will read the parameter list from the Initiator, and, if
no errors are detected in the parameter list, Good status will be returned. The data translation will be performed
upon receipt of the RECEIVE DIAGNOSTICS command.
Bit
Byte
7 6 5 4 3 2 1 0
0 Page Code = 40h
1 Reserved = 0
2-3 Page Length = 0Ah
4 Reserved = 0 Supplied Format
5 Reserved = 0 Translate Format
6-13 Address to Translate
Table 240 Diagnostic Page 40

Supplied Format may take one of the following three values:


It specifies the format in which the address has been supplied.

000b Short Block format


011b Long Block format
100b Bytes From Index format
101b Physical Sector format
- Translate Format specifies the format that the address should be translated into. If the Supplied Format is the
Short Block format or Long Block format, the Translate format must be either Bytes From Index or Physical
Sector format. If the Supplied Format is the Bytes From Index or Physical Sector format, the Translate Format
must be Long Block format. If either of the format fields is invalid or they specify the same format, the command
will terminate with Check Condition status with a sense code of Illegal Request and Illegal Field in Parameter
List.
- Address to Translate contains the address to translate. If the Short Block format is specified, the first four bytes
of the field (bytes 6 to 9) contain the LBA and the remainder must be zero. If the Long Block format is specified,
byte 6 to 13 contain the 64-bit LBA. For the physical format the address must be specified as follows.

224
Hard Disk Drive Specification
Bit
Byte
7 6 5 4 3 2 1 0
6-8 Cylinder Number
9 Head Number
10-13 Sector Number or Bytes from Index
Table 241 Address to translate

225
Hard Disk Drive Specification
SET DEVICE IDENTIFIER (A4/06)
Bit
Byte
7 6 5 4 3 2 1 0
0 Command Code = A4h
1 Reserved = 0 Service Action = 06h
2 Reserved = 0
3 Reserved = 0
4-5 Restricted = 0
(MSB)
6-9 Parameter List Length
(LSB)
10 Reserved = 0
11 VU = 0 Reserved = 0 FLAG LINK
Table 242 SET DEVICE IDENTIFIER (A4/06)

The SET DEVICE IDENTIFIER command requests that the device identifier information be set to the value received
in the SET DEVICE IDENTIFIER parameter list.
On successful completion of a SET DEVICE IDENTIFIER command a unit attention is generated for all Initiators
except the one that issued the service action. When reporting the unit attention condition the additional sense code
is set to Device Identifier Changed.
- Parameter List Length field specifies the length in bytes of the Identifier that is transferred from the host system
to the Target. The maximum value for this field is 512 bytes. A parameter list length of zero indicates that no
data is transferred, and that subsequent REPORT DEVICE IDENTIFIER commands return an Identifier length of
zero.
The SET DEVICE IDENTIFIER parameter list contains the identifier to be set by the addressed logical unit.
Bit
Byte
7 6 5 4 3 2 1 0
0-n Identifier
Table 243 SET DEVICE IDENTIFIER, Parameter List

The IDENTIFIER field is a vendor specific value, to be returned in subsequent REPORT DEVICE IDENTIFIER
commands.

226
Hard Disk Drive Specification
START STOP UNIT (1B)
Bit
Byte
7 6 5 4 3 2 1
0 Command Code = 1Bh
1 Reserved = 0 Immed
2 Reserved = 0
3 Reserved = 0 Power Condition Modifier
4 Power Condition Reserved=0 LoEj= 0 Start
5 VU = 0 Reserved = 0 FLAG LINK
Table 244 START STOP UNIT (1B)

The START STOP UNIT command is used to spin up or stop the spindle motor.
- Immed bit is to specify
0 status is to be returned at the end of the operation.
1 Good status shall always be returned immediately after command has been received. The TEST UNIT
READY command may be used to determine when the drive becomes ready after a spin-up.
- Power Conditions and Power Condition Modifier fields are used to specify that the logical unit be placed into a
power condition or to adjust a timer as defined in Table 245, if this field is set to a value other than 0h, then the
START bit shall be ignored.
Power Power
Condition Name Condition Description
Code Modifier
0h START_VALID 0h Process the START bit
1h ACTIVE 0h Place the device into the active power condition
2h IDLE_A 0h Place the device into the idle-a power condition
2h IDLE_B 1h Place the device into the idle-b power condition
2h IDLE_C 2h Place the device into the idle-c power condition
3h STANDBY_Z 0h Place the device into the standby_Z power condition
3h STANDBY_Y 1h Place the device into the standby_Y power condition
4h Reserved 0h Reserved
5h Obsolete 0h-Fh Obsolete
6h Reserved 0h Reserved
7h LU_CONTROL 0h Transfer control of power conditions to the logical unit
8h - 9h Reserved 0h Reserved
Ah FORCE_IDLE_A 0h Force the idle_a condition timer to zero.
Ah FORCE_IDLE_B 1h Force the idle_b condition timer to zero.
Ah FORCE_IDLE_C 2h Force the idle_c condition timer to zero.
Bh FORCE_STANDBY_Z 0h Force the standby_z condition timer to zero.
Bh FORCE_STANDBY_Y 1h Force the standby_y condition timer to zero.
all Others Reserved 0h Reserved
Table 245 Power Conditions

If the START STOP UNIT command is processed with the POWER CONDITION field set to ACTIVE, IDLE, or
STANDBY, then:
the logical unit shall transition to the specified power condition; and
227
Hard Disk Drive Specification
the device server shall disable the idle condition timer if it is active and disable the standby condition timer if it is
active until another START STOP UNIT command is processed that returns control of the power condition to the
logical unit, or a logical unit reset occurs.
if under initiator control, the two minute floor and 60 head unloads per 24 hour period limits do not apply as they do
when under logical unit/timer control
If the START STOP UNIT command is processed with the POWER CONDITION field set to LU_CONTROL, then
the device server shall initialize and start all of the idle condition timers and standby condition timers that are
supported and enabled.
If the START STOP UNIT command is processed with the POWER CONDITION field set to LU_CONTROL, then
the device server shall enable the idle condition timer if it is active and disable the standby condition timer if it is
active.
If the START STOP UNIT command is processed with the POWER CONDITION field set to FORCE_IDLE_0 or
FORCE_STANDBY_0, then the device server shall:
a) force the specified timer to zero, cause the logical unit to transition to the specified power condition, and return
control of the power condition to the device server; or
b) terminate a START STOP UNIT command that selects a timer that is not supported by the device server or a
timer that is not active. The device server shall terminate the command with CHECK CONDITION status with
the sense key set to ILLEGAL REQUEST and the additional sense code set to INVALID FIELD IN CDB.
It is not an error to specify that the logical unit transition to its current power condition. See 8.10.13 Mode Page 1A
(Power Control)" for more information on idle and standby power conditions.
- LoEj is not supported by the drive and must be set to 0.
- Start bit is to specify:
Note: Once the drive has become ready (after a power on), the START STOP UNIT command can be used without
any errors regardless of the state of the motor: stopped or spinning.
0 Stop the spindle
1 Stop the spindle

228
Hard Disk Drive Specification
SYNCHRONIZE CACHE (10) - (35)
Bit
Byte
7 6 5 4 3 2 1 0

0 Command Code = 35h

1 Reserved = 0 Reserved = 0 Immed = 0 Obsolete

(MSB)
2-5 Logical Block Address
(LSB)

6 Reserved = 0

(MSB)
7-8 Number of Blocks
(LSB)

9 VU = 0 Reserved = 0 FLAG LINK

Table 246 SYNCHRONIZE CACHE (10) - (35)

The SYNCHRONIZE CACHE command ensures that logical blocks in the cache have their most recent data value
recorded on the media.
- Logical Block Address is to specify where the operation is to begin.
- Immed (immediate) must be zero. An immediate bit of zero indicates that the status shall not be returned until
the operation has completed. If the Immed bit is set to one, the drive returns a Check Condition status. The
sense key shall be set to Illegal Request and the additional sense code shall be set to Invalid Field in CDB.
- Number of Blocks specifies the total number of contiguous logical blocks within the range. Number of Blocks
of zero indicates that all remaining logical blocks on the logical unit shall be within the range.

229
Hard Disk Drive Specification
SYNCHRONIZE CACHE (16) - (91)
Bit
Byte
7 6 5 4 3 2 1 0

0 Command Code = 91h

1 Reserved = 0 Immed = 0 Rsvd=0

2-9 Logical Block Address

10-13 Number of Blocks

14 Reserved = 0

15 VU = 0 Reserved = 0 FLAG LINK

Table 247 Synchronize Cache (16) - (91)

The SYNCHRONIZE CACHE command ensures that logical blocks in the cache have their most recent data value
recorded on the media. See the SYNCHRONIZE CACHE (10) description for definitions of the fields in this
command.

230
Hard Disk Drive Specification
TEST UNIT READY (00)
Bit
Byte
7 6 5 4 3 2 1 0

0 Command Code = 00h

1 Reserved = 0 Reserved = 0

2-4 Reserved = 0

5 VU = 0 Reserved = 0 FLAG LINK

Table 248 TEST UNIT READY (00)

The TEST UNIT READY command allows the Initiator to check if the drive is READY. The SCSI specification
defines READY as the condition where the device will accept a media-access command without returning Check
Condition status.
The drive will first verify that the motor is spinning at the correct speed. If the spindle motor is not spinning at the
correct speed, Check Condition status is returned with sense key of Not Ready. If the motor is spinning at the
correct speed, the drive accepts normal media access commands.
The TEST UNIT READY command is not intended as a diagnostic. No self diagnostic is performed by the device as
a result of this command.
The TEST UNIT READY command has special significance for power sequencing using the UNIT START
command with an immediate bit of one. In this mode the UNIT START command returns Task Complete status
before the completion of motor spin-up and expects the initiator to issue TEST UNIT READY commands to
determine when the motor has reached the proper speed.
Note: The spindle automatically starts in automatic spin-up mode. The drive does not execute any commands
other than TEST UNIT READY, INQUIRY, or REQUEST SENSE command until the Power On sequence is
complete. The drive will return Check Condition status with Not Ready sense key and In Process of Becoming
Ready sense code for all other commands during the Power On period.

231
Hard Disk Drive Specification
VERIFY (10) - (2F)
Bit
Byte
7 6 5 4 3 2 1 0
0 Command Code = 2Fh

1 VRPROTECT DPO RSVD = 0 ByteChk RSVD = 0


(MSB)
2-5 Logical Block Address
(LSB)
6 Reserved = 0
(MSB)
7-8 Verification Length
(LSB)
9 VU = 0 Reserved = 0 FLAG LINK

Table 249 VERIFY (10) - (2F)

The VERIFY command requests that the drive verify the data written on the media. A verification length of zero
indicates that no data will be transferred. This condition is not considered an error.
ByteChk Function

00b Indicates that the data is read from the disk and verified using LDPC. If an LDPC error is detected in
the verify process, Check Condition status is returned with sense key set to Medium Error.
01b Indicates that a byte-by-byte comparison is performed between the data on the disk and data
transferred from the initiator during the data-out phase. The number of logical blocks transferred
must equal the Verification Length field. If the comparison is unsuccessful, the command is
terminated with Check Condition status and the sense key is set to Miscompare.
10b Not defined
11b Indicates that a byte-by-byte comparison is performed between the data on the disk and data
transferred from the initiator during the data-out phase. The number of logical blocks transferred
must equal one. All blocks specified by the Verification Length will be compared against the single
block of data transferred by the initiator. If the comparison is unsuccessful, the command is
terminated with Check Condition status and the sense key is set to Miscompare.

Table 250 Byte Check

- DPO (Disable Page Out) bit of one indicates that the data accessed by this command is to be assigned the
lowest priority for being written into or retained by the cache. A DPO bit of one overrides any retention priority
specified in the Mode Select Page 8 Caching Parameters. A DPO bit of zero indicates the priority is determined
by the retention priority. The Initiator should set the DPO bit when the blocks read by this command are not likely
to be read again in the near future.

If caching is enabled, the command performs an implied FUA and an implied Synchronize Cache before starting the
VERIFY. This ensures that the medium, not the cache, is being verified.
The command stops on Check Condition and reports the LBA in error. The command must be reissued, starting
with the next LBA, to verify the remainder of the Drive.
The Verification Length is the number of blocks to check.
The data (if any) from the data-out phase and the data from the media are not retained in the cache. Therefore, the
DPO bit has no effect on this command and is ignored.

232
Hard Disk Drive Specification
VRPROTECT defines the manner in which protection information read from disk shall be checked during
processing of the command. Protection information is stored on disk, and may be validated using the drive's
internal checking algorithms, and also byte-by-byte compared using data from the initiator when ByteChk=1.
If the drive is not formatted with protection information, VRPROTECT must be set to 000b, else Check Condition
status will be returned with sense key of Illegal Request and additional sense code of Invalid Field in CDB.
VRPROTECT=000b
If the drive is not formatted with protection information, only user data is verified.
If the drive is formatted with protection information:
- Logical Block Guard is checked
- Logical Block Application Tag is checked (applies to VERIFY(32) command only)
- Logical Block Reference Tag is checked
VRPROTECT=001b
- Logical Block Guard is checked
- Logical Block Application Tag is checked (applies to VERIFY(32) command only)
- Logical Block Reference Tag is checked
VRPROTECT=010b
- Logical Block Guard is not checked
- Logical Block Application Tag is checked (applies to VERIFY(32) command only)
- Logical Block Reference Tag is checked
VRPROTECT=011b
- Logical Block Guard is not checked
- Logical Block Application Tag is not checked
- Logical Block Reference Tag is not checked
VRPROTECT=100b
- Logical Block Guard is checked
- Logical Block Application Tag is not checked
- Logical Block Reference Tag is not checked
VRPROTECT=101b, 110b, 111b
These values are reserved. Check Condition status will be returned with sense key of Illegal Request and
additional sense code of Invalid Field in CDB.
If a check of the protection information fails, Check Condition status will be returned with sense key of Aborted
Command and additional sense code indicating which protection field check failed.
If ByteChk=1, the drive's internal checking of protection information is done only when VRPROTECT=000b and the
drive is formatted with protection information
If ByteChk=1, and VRPROTECT is not set to 000b, checking of protection information is performed on the fields
described above as a byte-by-byte comparison against the data transferred to the drive by the initiator during the
Data Out phase.
Refer to the ANSI T10 standards for additional details of protection information.

233
Hard Disk Drive Specification
VERIFY (12) - (AF)
Bit
Byte
7 6 5 4 3 2 1 0

0 Command Code = AFh


1 VRPROTECT DPO FUA ByteChk Reserved = 0

(MSB)
2-5 Logical Block Address
(LSB)

(MSB)
6-9 Verification Length
(LSB)

10 Reserved = 0

11 VU = 0 Reserved = 0 FLAG LINK

Table 251 VERIFY (12) - (AF)

The VERIFY(12) command causes the drive to verify data written on the media. See the VERIFY(10) description
for the definitions of the fields in this command.

234
Hard Disk Drive Specification
VERIFY (16) - (8F)
Bit
Byte
7 6 5 4 3 2 1 0

0 Command Code = 08Fh

1 VRPROTECT DPO RSVD = 0 ByteChk RSVD = 0

(MSB)
2-9 Logical Block Address
(LSB)

(MSB)
10-13 Verification Length
(LSB)

14 Reserved = 0

15 VU = 0 Reserved = 0 FLAG LINK

Table 252 VERIFY (16) - (8F)

The VERIFY command requests that the drive verify the data written on the media. See the VERIFY (10)
description for the definitions of the fields in this command.

235
Hard Disk Drive Specification
VERIFY (32) - (7F/0A)
Bit
Byte
7 6 5 4 3 2 1 0
0 Command Code = 07Fh
1 VU = 0 Reserved = 0 FLAG LINK
2-5 Reserved = 0
6 Reserved = 0 Group Number = 0
7 Additional CDB Length = 18h
8-9 Service Action = 000Ah
10 RDPROTECT DPO RSVD = 0 ByteChk Reserved=0
11 Reserved = 0

(MSB)
12-19 Logical Block Address
(LSB)

(MSB)
20-23 Expected Initial Logical Block Reference Tag
(LSB)

(MSB)
24-25 Expected Logical Block Application Tag
(LSB)

(MSB)
26-27 Logical Block Application Tag Mask
(LSB)

(MSB)
28-31 Verification Length
(LSB)

Table 253 VERIFY (32) - 7F/0A)

The VERIFY command requests that the verify the data written on the media. Each logical block includes user
data and may include protection information, based on the VPROTECT field and the drive format.
If the drive is formatted with type 2 protection (PROT_EN=1 and P_TYPE=001b in the READ CAPACITY (16)
parameter data), then this command will be processed normally. Any other protection types will result in Check
Condition status to be returned with sense key of Illegal Request and additional sense code of Invalid Command
Operation Code

The Expected Initial Logical Block Reference Tag field contains the value of the Logical Block Reference Tag field
expected in the protection information of the first logical block accessed by the command.
If the ATO bit is set to one in Mode Page 0Ah, the Logical Block Application Tag Mask field contains a value that is
a bit mask for enabling the checking of the Logical Block Application Tag field in the protection information for each
logical block accessed by the command. A Logical Block Application Tag Mask bit set to one enables the checking
of the corresponding bit of the Expected Logical Block Application Tag field with the corresponding bit of the Logical
Block Application Tag field in the protection information.
If the ATO bit is set to zero, the Logical Block Application Tag Mask field and the Expected Logical Block Application
Tag field are ignored.

236
Hard Disk Drive Specification
WRITE (6) - (0A)
Bit
Byte
7 6 5 4 3 2 1 0

0 Command Code = 0Ah

1 Reserved = 0 (MSB) LBA

Logical Block Address


2-3
(LSB)

4 Transfer Length

5 VU = 0 Reserved = 0 FLAG LINK

Table 254 WRITE (6) - (0A)

The WRITE command requests the drive to write the specified number of blocks of data (Transfer Length) from the
Initiator to the medium starting at the specified Logical Block Address (LBA).
See Section 8.16 "READ (6) - (08)" for the parameters.

237
Hard Disk Drive Specification
WRITE (10) - (2A)
Bit
Byte
7 6 5 4 3 2 1 0

0 Command Code = 2Ah

1 WRPROTECT DPO FUA Rsvd=0 FUA_NV Obsolete

(MSB)
2-5 Logical Block Address
(LSB)

6 Reserved = 0

(MSB)
7-8 Transfer Length
(LSB)

9 VU = 0 Reserved = 0 FLAG LINK

Table 255 WRITE (10) - (2A)

The WRITE (10) command requests that the drive write the data transferred from the Initiator. This command is
processed like the standard WRITE (6) - (0A) command except for the longer transfer length.
- Transfer Length is the number of contiguous blocks to be transferred. If the transfer length is zero, the seek
occurs, but no data is transferred. This condition is not considered an error.
- DPO (Disable Page Out) bit of one indicates that the data accessed by this command is to be assigned the
lowest priority for being written into or retained by the cache. A DPO bit of one overrides any retention priority
specified in the Mode Select Page 8 Caching Parameters. A DPO bit of zero indicates that the priority is
determined by the retention priority. The Initiator should set the DPO bit when the blocks written by this
command are not likely to be read in the near future.
- FUA (Force Unit Access) bit of one indicates that the Target must write the data to the media before returning
Good status. A FUA bit of zero indicates that the Target may return Good status prior to writing the data to the
media.
- FUA_NV (Force Unit Access Non-Volatile Cache) may be set to 0 or 1, but is ignored since NV_SUP=0 in
Inquiry Page 86h.
If a WRITE(6) command is received after protection information is enabled, the drive will set the protection
information as follows as it writes each block to disk:
- the Logical Block Guard field is set to a properly generated CRC
- the Logical Block Reference Tag field is set to:
- the least significant four bytes of the LBA, if the drive is formatted with type 1 protection (PROT_EN=1 and
P_TYPE=000b in the READ CAPACITY (16) parameter data); or
- FFFFFFFFh, if the drive is formatted with type 2 protection (PROT_EN=1 and P_TYPE=001b in the READ
CAPACITY (16) parameter data)
- the Logical Block Application Tag field is set to
- FFFFh, if the ATO bit is set to one in Mode Page 0Ah; or
- Any value, if the ATO bit is set to zero

238
Hard Disk Drive Specification
WRPROTECT defines the manner in which protection information written to disk shall be checked during
processing of the command. Protection information may be transmitted to the drive with the user data, based on
the WRPROTECT bit and the drive format.
If the drive is not formatted with protection information, WRPROTECT must be set to 000b, else Check Condition
status will be returned with sense key of Illegal Request and additional sense code of Invalid Field in CDB.
WRPROTECT=000b
Protection information is not transmitted to the drive.
If the drive is formatted with protection information, the drive will write protection information to disk based on its
internal algorithms.
WRPROTECT=001b
- Protection information is transmitted to the drive with the user data
- Logical Block Guard is checked
- Logical Block Application Tag is checked (applies to WRITE (32) command only)
- Logical Block Reference Tag is checked
WRPROTECT=010b
- Protection information is transmitted to the drive with the user data
- Logical Block Guard is not checked
- Logical Block Application Tag is checked (applies to WRITE(32) command only)
- Logical Block Reference Tag is checked
WRPROTECT=011b
- Protection information is transmitted to the drive with the user data
- Logical Block Guard is not checked
- Logical Block Application Tag is not checked
- Logical Block Reference Tag is not checked
WRPROTECT=100b
- Protection information is transmitted to the drive with the user data
- Logical Block Guard is checked
- Logical Block Application Tag is not checked
- Logical Block Reference Tag is not checked
WRPROTECT=101b, 110b, 111b
These values are reserved. Check Condition status will be returned with sense key of Illegal Request and
additional sense code of Invalid Field in CDB.

If a check of the protection information fails, Check Condition status will be returned with sense key of Aborted
Command and additional sense code indicating which protection field check failed.
Refer to the ANSI T10 standards for additional details of protection information.

239
Hard Disk Drive Specification
WRITE (12) - (AA)
Bit
Byte
7 6 5 4 3 2 1 0

0 Command Code = AAh

1 WRPROTECT DPO FUA Rsvd=0 FUA_NV Rsvd=0

(MSB)
2-5 Logical Block Address
(LSB)

(MSB)
6-9 Transfer Length
(LSB)

10 Reserved=0

11 VU = 0 Reserved = 0 FLAG LINK

Table 256 WRITE (12) - (AA)

The WRITE(12) command causes the drive to write data from the initiator to the media. See the WRITE(10)
description for the definitions of the fields in this command.

240
Hard Disk Drive Specification
WRITE (16) - (8A)
Bit
Byte
7 6 5 4 3 2 1 0

0 Command Code = 8Ah

1 WRPROTECT DPO FUA Rsvd=0 FUA_NV Rsvd=0

(MSB)
2-9 Logical Block Address
(LSB)

(MSB)
10-13 Transfer Length
(LSB)

14 Reserved = 0

15 VU = 0 Reserved = 0 FLAG LINK

Table 257 WRITE (16) - (8A)

The WRITE(16) command causes the drive to write data from the initiator to the media. See the WRITE(10)
description for the definitions of the fields in this command.

241
Hard Disk Drive Specification
WRITE (32) - (7F/0B)
Bit
Byte
7 6 5 4 3 2 1 0
0 Command Code = 07Fh
1 VU = 0 Reserved = 0 FLAG LINK
2-5 Reserved = 0
Reserved = 0 Group Number = 0
7 Additional CDB Length = 18h
8-9 Service Action = 000Bh
10 WRPROTECT DPO FUA Rsvd=0 FUA_NV Rsvd=0
11 Reserved = 0
(MSB)
12-19 Logical Block Address
(LSB)
(MSB)
20-23 Expected Initial Logical Block Reference Tag
(LSB)
(MSB)
24-25 Expected Logical Block Application Tag
(LSB)
(MSB)
26-27 Logical Block Application Tag Mask
(LSB)
(MSB)
28-31 Transfer Length
(LSB)
Table 258 WRITE (32) - (7F/0B)

The WRITE command requests that the drive write data transferred from the initiator to disk. Each logical block
transferred includes user data and may include protection information, based on the WRPROTECT field and the
drive format. Each logical block written includes user data and, if the drive is formatted with protection information
enabled, protection information.
If the drive is formatted with type 2 protection (PROT_EN=1 and P_TYPE=001b in the READ CAPACITY (16)
parameter data), then this command will be processed normally. Any other protection types will result in Check
Condition status to be returned with sense key of Illegal Request and additional sense code of Invalid Command
Operation Code
The Expected Initial Logical Block Reference Tag field contains the value of the Logical Block Reference Tag field
expected in the protection information of the first logical block accessed by the command.
If the ATO bit is set to one in Mode Page 0Ah, the Logical Block Application Tag Mask field contains a value that is
a bit mask for enabling the checking of the Logical Block Application Tag field in the protection information for each
logical block accessed by the command. A Logical Block Application Tag Mask bit set to one enables the checking
of the corresponding bit of the Expected Logical Block Application Tag field with the corresponding bit of the Logical
Block Application Tag field in the protection information.
If the ATO bit is set to zero, the Logical Block Application Tag Mask field and the Expected Logical Block
Application Tag field are ignored.

242
Hard Disk Drive Specification
WRITE AND VERIFY (10) - (2E)
Bit
Byte
7 6 5 4 3 2 1 0
0 Command Code = 2Eh
1 WRPROTECT DPO RSVD = 0 ByteChk Obsolete
(MSB)
2-5 Logical Block Address
(LSB)
6 Reserved = 0
(MSB)
7-8 Transfer Length
(LSB)
9 VU = 0 Reserved = 0 FLAG LINK
Table 259 WRITE AND VERIFY (10) - (2E)

WRITE AND VERIFY command requests that the drive writes the data transferred from the Initiator to the medium
and then verify that the data is correctly written. If caching is enabled, an implied FUA (Force Unit Access) and an
implied Synchronize Cache are performed before starting the operation. This insures that data from the disk, not
the cache, is verified.
- See the WRITE (10) command description for the definition of the WRPROTECT field.
- Transfer Length is the number of contiguous blocks to transferred. If the transfer length is zero, the seek
occurs, but no data is transferred. This condition is not considered an error.
If caching is enabled, the command performs an implied FUA and an implied Synchronize Cache before
starting the operation. This insures that the medium, not the cache, is being verified.

ByteChk Function
00b Indicates that the data is read from the disk and verified using LDPC. If an LDPC error is detected
in the verify process, Check Condition status is returned with sense key set to Medium Error.
01b Indicates that a byte-by-byte comparison is performed between the data on the disk and data
transferred from the initiator during the data-out phase. The number of logical blocks transferred
must equal the Verification Length field. If the comparison is unsuccessful, the command is
terminated with Check Condition status and the sense key is set to Miscompare.
10b Not defined
11b Indicates that a byte-by-byte comparison is performed between the data on the disk and data
transferred from the initiator during the data-out phase. The number of logical blocks transferred
must equal one. All blocks specified by the Verification Length will be compared against the
single block of data transferred by the initiator. If the comparison is unsuccessful, the command
is terminated with Check Condition status and the sense key is set to Miscompare.

Table 260 Byte Check

- DPO (Disable Page Out) bit of one indicates that the data written by this command is to be assigned the lowest
priority for being written into or retained by the cache. A DPO bit of one overrides any retention priority
specified in the Mode Select Page 8 Caching parameters. A DPO bit of zero indicates the priority is determined
by the retention priority.
The Initiator should set the DPO bit when the blocks written by this command are not likely to be read again in
the near future.

243
Hard Disk Drive Specification
WRITE AND VERIFY (12) - (AE)
Bit
Byte
7 6 5 4 3 2 1 0

0 Command Code = AEh

Reserved
1 WRPROTECT DPO ByteChk Obsolete
=0

(MSB)
2-5 Logical Block Address
(LSB)

(MSB)
6-9 Transfer Length
(LSB)

10 Reserved = 0

11 VU = 0 Reserved = 0 FLAG LINK

Table 261 WRITE and VERIFY (12) - (AE)

The WRITE AND VERIFY command requests that the drive write the data transferred from the Initiator to the
medium and then verify that the data is correctly written. See the WRITE AND VERIFY (10) description for the
definitions of the fields in this command.

244
Hard Disk Drive Specification
WRITE AND VERIFY (16) - (8E)
Bit
Byte
7 6 5 4 3 2 1 0

0 Command Code = 8Eh

1 WRPROTECT DPO RSVD = 0 ByteChk Obsolete

(MSB)
2-9 Logical Block Address
(LSB)

(MSB)
10-13 Transfer Length
(LSB)

14 Reserved = 0

15 VU = 0 Reserved = 0 FLAG LINK

Table 262 WRITE and VERIFY (16) - (8E)

The WRITE AND VERIFY command requests that the drive write the data transferred from the Initiator to the
medium and then verify that the data is correctly written.

245
Hard Disk Drive Specification
WRITE AND VERIFY (32) - (7F/0C)
Bit
Byte
7 6 5 4 3 2 1 0

0 Command Code = 7Fh

1 VU = 0 Reserved = 0 FLAG LINK

2-5 Reserved = 0

6 Reserved = 0 Group Number = 0

7 Additional CDB Length = 18h

8-9 Service Action = 000Ch

10 WRPROTECT DPO RSVD = 0 ByteChk Reserved=0

11 Reserved = 0

12-19 Logical Block Address

20-23 Expected Initial Logical Block Reference Tag

24-25 Expected Logical Block Application

26-27 Logical Block Application Tag Mask

28-31 Transfer Length

Table 263 WRITE and VERIFY (32) - (7F/0C)

The WRITE AND VERIFY command requests that the drive write the data transferred from the initiator to disk and
then verify that the data is correctly written.
If the drive is formatted with type 2 protection (PROT_EN=1 and P_TYPE=001b in the READ CAPACITY (16)
parameter data), then this command will be processed normally. Any other protection types will result in Check
Condition status to be returned with sense key of Illegal Request and additional sense code of Invalid Command
Operation Code
The Expected Initial Logical Block Reference Tag field contains the value of the Logical Block Reference Tag field
expected in the protection information of the first logical block accessed by the command.
If the ATO bit is set to one in Mode Page 0Ah, the Logical Block Application Tag Mask field contains a value that is
a bit mask for enabling the checking of the Logical Block Application Tag field in the protection information for each
logical block accessed by the command. A Logical Block Application Tag Mask bit set to one enables the checking
of the corresponding bit of the Expected Logical Block Application Tag field with the corresponding bit of the Logical
Block Application Tag field in the protection information.
If the ATO bit is set to zero, the Logical Block Application Tag Mask field and the Expected Logical Block
Application Tag field are ignored.

246
Hard Disk Drive Specification
WRITE BUFFER (3B)
Bit
Byte
7 6 5 4 3 2 1 0

0 Command Code = 3Bh

1 Mode Specific Mode

2 Buffer ID

3-5 Buffer Offset

6-8 Parameter List Length

9 VU = 0 Reserved = 0 FLAG LINK

Table 264 WRITE BUFFER (3B)

The WRITE BUFFER command is used in conjunction with the READ BUFFER command as a diagnostic function
for testing the memory of the drive and the SCSI bus integrity. This command does not alter the medium of the
drive. Additional modes are provided for downloading microcode and saving microcode.
This command will cause the entire cache to be emptied.
The function of this command and the meaning of fields within the command descriptor block depend on the
contents of the mode field.
If any values other than shown above are specified, Check Condition status is returned with a sense key of Illegal
Request and additional sense code of Invalid Field in CDB.
MOD Description
00000 Write combined header and data
00010 Data
00100 Download Microcode
00101 Download Microcode and Save - single binary file
00111 Download Microcode and Save - multiple binary files
01010 Write Data to Echo Buffer
Download microcode with offsets, select activation events,
01101
save, and defer activate
01110 Download microcode with offsets, save, and defer activate
01111 Activate deferred microcode
11010 Enable expander Communications Protocol
All Others Not Supported

247
Hard Disk Drive Specification
Combined Header And Data (Mode 00000b)
In this mode, the data to be transferred is preceded by a four-byte header.
Buffer ID must be zero. If another value is specified, no download function is performed and the command is
terminated with Check Condition status. And the drive shall set the sense key to Illegal Request and additional
sense code to Illegal Field in CDB.
Buffer Offset must be zero. If another value is specified, no download function is performed and the command is
terminated with Check Condition status. And the drive shall set the sense key to Illegal Request and additional
sense code to Illegal Field in CDB.
Parameter List Length specifies the number of bytes that shall be transferred during the DATA OUT phase. This
number includes four bytes of header, so the data length to be stored in the drive buffer is transfer length minus
four. If the length exceeds the buffer size, the command is terminated with Check Condition status. And the drive
shall set sense key to Illegal Request and additional sense code to Illegal Field in CDB. A Parameter List Length of
less than four (size of header) indicates no data is transferred.
The 4-byte header consists of all reserved bytes.

Bit
Byte
7 6 5 4 3 2 1 0

0-3 Reserved = 0

Table 265 Write Buffer Header

Write Data (Mode 00010b)


In this mode, the DATA OUT phase contains buffer data.
Buffer ID must be zero. If another value is specified, no download function is performed and the command is
terminated with Check Condition status. And the drive shall set the sense key to Illegal Request and additional
sense code to Illegal Field In CDB.
Buffer Offset specifies the offset of the memory space specified by the Buffer ID. The initiator should conform to
the offset boundary requirements returned in the READ BUFFER descriptor. If the value exceeds the buffer
specified, the command is terminated with Check Condition status. And the drive shall set the sense key to Illegal
Request and additional sense code to Illegal Field In CDB.
Parameter List Length specifies the Parameter List Length. It must be
- less than the capacity of the buffer size after adding the Buffer Offset value and
- on a sector boundary
A Parameter List Length of zero indicates no data is to be transferred and command status is returned.

If an invalid value is specified, the command is terminated with Check Condition status. And the drive shall set the
sense key to Illegal Request and additional sense code to Illegal Field In CDB.

248
Hard Disk Drive Specification
Download Microcode (Mode 00100b)
NOTE: It is not expected that a customer will ever issue this format of the command.
In this mode, the microcode is transferred to the control memory space of the drive. When downloaded, the drive
will operate with the newly downloaded code immediately until the next power cycle.
Buffer ID field is used to indicate which portion of the microcode image is being downloaded. The following Buffer
IDs are supported by the Target:
- 00h: Main Microprocessor Code
- nnh: ID of Vendor Unique Reserved Area
Any unsupported value for the Buffer ID will cause the command to terminate with Check Condition status. And
the drive shall set the sense key to Illegal Request and additional sense code to Illegal Field In CDB.
Buffer Offset must be zero. If an invalid value is specified, the command is terminated with Check Condition
status. The drive shall set the sense key to Illegal Request and additional sense code to Illegal Field in CDB.
Parameter List Length must be the size of the data set to be downloaded. It may also be set to 0000h in which
case no code is updated and command status is returned. If an invalid value is specified, the command is
terminated with Check Condition status. And the drive shall set the sense key to Illegal Request and additional
sense code to Illegal Field In CDB.
This process generates a unit attention condition for MICROCODE HAS BEEN CHANGED for all Initiators except
the one which sent the WRITE BUFFER command. Upon the completion of the WRITE BUFFER command the new
microcode is immediately ready for operation.
Note: The Download Microcode mode described in this specification is to indicate that the drive will accept a
command with this mode, though it is not expected that a user will ever issue such a command. To use the write
buffer command with this mode, a special microcode version is required from development. If such a microcode is
released from development, then it will include appropriate instructions on the function of new microcode and its
effect on the drive operations after download.

Download Microcode and Save (Mode 00101b) -Single


Binary File
In this mode the data is transferred to the drive to save into the System reserved area on the disk. This is for
functional upgrade and configuration change reflecting the user's requirements and the manufacturer’s reason or
both, and it is stored in the media as a permanent copy. The newly downloaded code becomes effective after the
drive issues and completes a self-initiated Power On Reset.
Note: It requires up to 30 seconds to update the microcode including the Flash ROM update.
Note: New code to be downloaded to the drive will be provided by development either by request of a customer for
an additional function or as a result of a functional change by development. However please note that not all
possible fixes or new functions can be applied to a drive in this manner and that there is a very high dependency on
the level of ROM code contained within the drive. If an invalid code or a code not compatible with the ROM code is
downloaded, the drive will usually reject this code and will continue normal operation. However there is a small
possibility that an invalid code will be accepted. If this occurs, the unit usually becomes inoperable and will have to
be returned to the manufacturer for recovery.
Buffer ID field is used to indicate which portion of the microcode image is being downloaded. To download
microcode, the buffer ID should be set to 00h. Other values are reserved for Western Digital development
purposes only.

249
Hard Disk Drive Specification
Download Microcode and Save (Mode 00111b) - Multiple
Binary Files
In this mode the target receives a segment of the binary microcode file. The Parameter List Length (segment
length) of each segment shall be a multiple of 4K bytes. The total length of all segments received shall be equal to
the total length of the binary microcode file. All segments must be sent in the proper sequential order.
If an invalid Parameter List Length is specified, Check Condition status is returned with sense key of Illegal
Request and additional sense code of Invalid Field in CDB.
The first segment sent in this mode indicates, by default, the first segment of the binary microcode file. If a Check
Condition status is returned in this mode, a Buffer ID == 00h in the subsequent Write Buffer command in this
mode indicates the first segment of the binary microcode file. Otherwise the Buffer ID field is ignored.
The Buffer Offset field is ignored.
After all segments of the binary microcode file have been received, the drive behavior is the same as Download
Microcode and Save (Mode 00101b) - Single Binary File.

Write Data to Echo Buffer (Mode 01010b)


In this mode the Target transfers data into the echo buffer. The echo buffer is assigned in the same manner by the
Target as it would for a WRITE operation. Data will be sent aligned on 4-byte boundaries.
Upon successful completion of a WRITE BUFFER command the data will be preserved in the echo buffer unless
there is an intervening command to any logical unit, in which case it may be changed.

Download Microcode with Offsets, Select Activation Events,


Save, and Defer Activate (Mode 01101b)
In this mode, microcode shall be transferred to the device server using one or more WRITE BUFFER commands,
saved to nonvolatile storage, and considered deferred.
The deferred microcode shall be activated and no longer considered deferred if a WRITE BUFFER command with
the activate deferred microcode mode (0Fh) is processed
The Mode Specific field specifies additional events that shall be used to activate the deferred microcode.

Bit
7 7 7 7
PO_ACT PO_ACT PO_ACT PO_ACT

Table 266 Mode Specific Field

If the power on activate (PO_ACT) bit is set to one, then deferred microcode shall be activated and no longer
considered deferred if a power on occurs. If the PO_ACT bit is set to zero, then deferred microcode shall not be
activated if a power on occurs.
The hard reset activate (HR_ACT) bit is not supported.
The vendor specific event activate (VSE_ACT) bit is not supported.
The supported activation events are reported in the POA_SUP bit, HRA_SUP bit, and VSA_SUP bit in the
Extended Inquiry VPD page. If the Mode Specific field specifies an activation event that is not supported (e.g., if
the PO_ACT bit is set to one and the POA_SUP bit is set to zero), then the drive will terminate the command with
Check Condition status with the sense key set to Illegal Request and the additional sense code set to Invalid Field
In CDB.

250
Hard Disk Drive Specification
Download Microcode with Offsets, Save, and Defer Activate
(Mode 01110b)
In this mode, microcode shall be transferred to the device server using one or more WRITE BUFFER commands,
saved to nonvolatile storage, and considered deferred.
The deferred microcode shall be activated and no longer considered deferred when one of the following occurs:
a) a power on;
b) a WRITE BUFFER command with the activate deferred microcode mode (0Fh) is processed.
c) a Self Initiated Reset occurs.

Activate Deferred Microcode Mode (Mode 01111b)


In this mode, deferred microcode that has been saved using the download microcode with offsets, save, and defer
activate mode, if any, shall be activated and no longer considered deferred.
The BUFFER ID field, the BUFFER OFFSET field, and PARAMETER LIST LENGTH field shall be ignored in this
mode.

Enable Expander Communications Protocol (Mode 11010b)


In this mode the drive behavior is the same as Write Data to Echo Buffer (Mode 0101b).

251
Hard Disk Drive Specification
WRITE LONG (10) (3F)
Bit
Byte
7 6 5 4 3 2 1 0
0 Command Code = 3Fh
1 COR_DIS WR_UNCOR PBLOCK=0 Reserved = 0 Obsolete
(MSB)
2-5 Logical Block Address
(LSB)
6 Reserved = 0
(MSB)
7-8 Byte Transfer Length
(LSB)
9 VU = 0 Reserved = 0 FLAG LINK

Table 267 WRITE LONG (3F)

The WRITE LONG command requests the drive to write one block of data transferred from the Initiator.
The transfer data must include
- User Data
- 18 bytes of MEDC data
All WRITE LONG commands will behave as if the WR_UNCOR bit was set with the exception of having the
COR_DIS bit set. COR_DIS bit behavior will take precedence if both WR_UNCOR and COR_DIS bits are set
Parameters are
- COR_DIS - correction disabled, bit 7 in byte 1. When this bit is set to one, the drive will mark the LBA as a
pseudo unrecovered error with correction disabled. A subsequent read to this LBA would:
a) Perform no error recovery on the block; perform no automatic reallocation of the affected logical blocks,
including any automatic reallocation enabled by the Read-Write Error Recovery mode page;
b) Not consider errors on the affected logical blocks to be informational exception conditions as defined in
the Information Exceptions Control mode page (see SPC-4);
c) not log errors on the affected logical blocks in the Error Counter log pages
d) On a read to the LBA, return check condition status with the sense key set to Medium Error and the
additional sense code set to read error marked bad by client.
WR_UNCOR - write uncorrectable, bit 6 in byte 1. If the COR_DIS bit is not set, the drive will behave in the
following manor regardless of the state of this bit. The drive will create a pseudo unrecovered error with
correction enabled. On following read commands to the LBA, the drive will:
a) use our normal recovery procedures (which will end in a hard error);
b) perform no automatic reallocation of the affected logical blocks, including any automatic reallocation
enabled by the Read-Write Error Recovery mode page;
c) consider errors on the affected logical blocks to be informational exception conditions as defined in the
Information Exceptions Control mode page (see SPC-4);
d) log errors on the affected logical blocks in the Error Counter log pages
e) On a read to the LBA, return check condition status with the sense key set to Medium Error and the
additional sense code set to read error marked bad by client.

252
Hard Disk Drive Specification
The error state for LBA written with the COR_DIS or WR_UNCOR bits set, will remain in effect until the
LBA is rewritten by a write, write same, format, write long without COR_DIS set, reassign or write verify
command.
- Logical Block Address field specifies the logical block at which the write operation shall occur.
- Byte Transfer Length. This field must specify the exact number of bytes of data available for transfer. If a
non-zero byte transfer length does not match the available data length, the Target terminates the command
with Check Condition status, then the sense key is set to Illegal Request, and an additional sense code is set
to Invalid Field in CDB. The valid and ILI bits are set to one and the information field is set to the difference of
the requested length minus the actual length in bytes. Negative values are indicated by two's complement
notation.

253
Hard Disk Drive Specification
WRITE LONG (16) - (9F)
Bit
Byte
7 6 5 4 3 2 1 0

0 Command Code = 9Fh

1 COR_DIS WR_UNCOR PBLOCK=0 Service Action (11h)

(MSB)
2-9 Logical Block Address
(LSB)

10-11 Reserved = 0

(MSB)
12-13 Byte Transfer Length
(LSB)

14 Reserved = 0

15 VU = 0 Reserved = 0 FLAG LINK

Table 268 WRITE LONG (9F)

Refer to Write Long (10) for field definitions.

254
Hard Disk Drive Specification
WRITE SAME (10) - (41)
Bit
Byte
7 6 5 4 3 2 1 0

0 Command Code = 41h

1 WRPROTECT Reserved = 0 PBDATA=0 LBDATA=0 Obsolete

(MSB)
2-5 Logical Block Address
(LSB)

6 Reserved = 0

(MSB)
7-8 Number of Blocks
(LSB)

9 VU = 0 Reserved = 0 FLAG LINK

Table 269 WRITE SAME (41)

The WRITE SAME command instructs the Target to write a single block of data transferred to the Target from the
Initiator to a number of sequential logical blocks. This command is useful for writing large data areas without
sending all of the data over the SCSI bus.
- See the WRITE(10) command description for the definition of the WRPROTECT field.
- Logical Block Address specifies the address at which the write begins. The Number of Blocks specifies the
number of contiguous blocks to be written. If the number is zero, all of the remaining blocks on the specified
Logical Unit are written.
- Number of Blocks specifies the number of contiguous blocks to be written. If the number is zero, all of the
remaining blocks on the specified logical unit are written.
- RelAdr (Relative Block Address) is not supported and must be set to be zero.
The data for this command is not retained in the cache.

255
Hard Disk Drive Specification
WRITE SAME (16) - (93)
Bit
Byte
7 6 5 4 3 2 1 0

0 Command Code = 93h

1 WRPROTECT Reserved = 0 PBDATA=0 LBDATA=0 Obsolete

(MSB)
2-9 Logical Block Address
(LSB)

(MSB)
10-13 Number of Blocks
(LSB)

14 Reserved = 0

15 VU = 0 Reserved = 0 FLAG LINK

Table 270 WRITE SAME (16) - (93)

The Write Same command instructs the Target to write a single block of data transferred to the Target from the
Initiator to a number of sequential logical blocks. This command is useful for writing large data areas without
sending all of the data over the SCSI bus. See the WRITE(10) command description for the definition of the
WRPROTECT field.

256
Hard Disk Drive Specification
WRITE SAME (32) - (7F/0D)
Bit
Byte
7 6 5 4 3 2 1 0
0 Command Code = 7Fh
1 VU = 0 Reserved = 0 FLAG LINK
2-5 Reserved = 0
6 Reserved = 0 Group Number = 0
7 Additional CDB Length = 18h
8-9 Service Action = 000Dh
10 WRPROTECT Reserved = 0 PBDATA=0 LBDATA=0 Reserved =0
11 Reserved = 0
(MSB)
12-19 Logical Block Address
(LSB)
(MSB)
20-23 Expected Initial Logical Block Reference Tag
(LSB)
(MSB)
24-25 Expected Logical Block Application Tag
(LSB)
(MSB)
26-27 Logical Block Application Tag Mask
(LSB)
(MSB)
28-31 Number of Blocks
(LSB)
Table 271 WRITE SAME (32) - (7F/0D)

The WRITE SAME command requests that the drive write a single block of data transferred from the initiator to disk
for a number of sequential logical blocks. This command is useful for writing large data areas with the same data,
without sending all of the data over the interface. Each logical block transferred includes user data and may
include protection information, based on the WRPROTECT field and the drive format. Each logical block written
includes user data and, if the drive is formatted with protection information enabled, protection information.
If the drive is formatted with type 2 protection (PROT_EN=1 and P_TYPE=001b in the READ CAPACITY (16)
parameter data), then this command will be processed normally. Any other protection types will result in Check
Condition status to be returned with sense key of Illegal Request and additional sense code of Invalid Command
Operation Code
The Expected Initial Logical Block Reference Tag field contains the value of the Logical Block Reference Tag field
expected in the protection information of the first logical block accessed by the command.
If the ATO bit is set to one in Mode Page 0Ah, the Logical Block Application Tag Mask field contains a value that is
a bit mask for enabling the checking of the Logical Block Application Tag field in the protection information for each
logical block accessed by the command. A Logical Block Application Tag Mask bit set to one enables the checking
of the corresponding bit of the Expected Logical Block Application Tag field with the corresponding bit of the Logical
Block Application Tag field in the protection information.
If the ATO bit is set to zero, the Logical Block Application Tag Mask field and the Expected Logical Block Application
Tag field are ignored.

257
Hard Disk Drive Specification
SCSI Status Byte
Upon the completion of a command a status byte is sent to the initiator. Additional sense information may also be
available depending on the contents of the status byte. The following section describes the possible values for the
status byte and sense data. All Reserved fields are set to zero.

Bit

7 6 5 4 3 2 1 0

Reserved = 0 Status Code RSVD

Table 272 SCSI Status Byte. Format of the SCSI STATUS byte.

STATUS BYTE Description


00h GOOD
The command has been successfully completed.
02h CHECK CONDITION
An error, exception, or abnormal condition has been detected. The sense data is set by the
drive. The REQUEST SENSE command should be issued to determine the nature of the
condition.
04h CONDITION MET
This status is returned when an unlinked PRE-FETCH command has been successfully
completed.
08h BUSY
This condition is returned when disconnect privilege is not granted while the drive is BUSY
processing the other command for the other initiator. The normal initiator recovery action is to
issue the command at a later time or to reissue the command and grant the disconnect
privilege.
10h INTERMEDIATE
Not supported.
14h INTERMEDIATE CONDITION MET
Not supported.
18h RESERVATION CONFLICT
This status is returned whenever an SCSI device attempts to access the drive, but it has been
reserved by another initiator.
28h QUEUE FULL
This status indicates that the target's command queue is full. If a tagged command queuing
feature is enabled and there is no room on the command queue, this status is returned when
the initiator sends a command. For this status, sense data are not valid.

258
Hard Disk Drive Specification
Additional information
This chapter provides additional information or descriptions of various functions, features, or operating models
supported by the Target that are not fully described in previous chapters.

SCSI Protocol
There are various operating conditions that prevent the Target from executing a SCSI command. This section
describes each of these operating conditions and their relative priority.

Priority of SCSI Status Byte Reporting


After establishing the I_T_L nexus or I_T_L_Q nexus the Target must first determine whether command execution
is allowed. Execution is deferred until a later time if the command must be added to the command queue. Execution
may also be prevented by an internal Target condition that requires the reporting of a Check Condition, Queue Full,
Busy, or Reservation Conflict Status. There are several different internal conditions to be active at the same time.
The order in which the Target checks for each of these conditions determines their priority (highest priority first) as
follows:
1. Check Condition status for invalid Logical Unit Number. (See Section 10.1.2 "Invalid LUN Processing")
2. Check Condition status for Incorrect Initiator Connection (See Section 10.1.3 "Overlapped Commands")
3. Check Condition status for Unit Attention Condition (See Section 10.1.5 "Unit Attention Condition")
4. Busy Status or Queue Full Status (See 10.1.4 "Command Processing During Execution of Active I/O
Process")
5. Check Condition status for Deferred Error Condition (See Section 0 “Deferred Error Condition”)
6. Check Condition status during Startup and Format operations (See Section 10.1.6 “Command Processing
During Startup and Format Operations”)
7. Reservation Conflict status (See Section 10.1.10 “Command Processing while Reserved")
8. Check Condition status for invalid command op code
9. Check Condition status for invalid command descriptor block

The highest priority internal condition that prevents command execution is reported by the Target provided there is
no bus error.
For all Check Conditions Sense data is built by the target provided a valid LUN address is known. Sense data is
cleared by the Target upon receipt of any subsequent command to the LUN from the initiator receiving the Check
Condition.

Invalid LUN Processing


Any value other than zero is invalid.
The target's response to an invalid LUN varies with the command, as follows:

Inquiry: Execute the command, return the INQUIRY data that indicates unknown device type (byte 0 = 7Fh), and
return GOOD status. All other bytes are valid (see 8.5 "INQUIRY (12)").
Request Sense: Execute the command, return the sense data with the Sense Key set to Illegal Request and the
Additional Sense Code and Additional Sense Code Qualifier set to LOGICAL UNIT NOT SUPPORTED, and return
GOOD status (see also 8.36 "REQUEST SENSE (03)").
All Others: Do not execute the command and return CHECK CONDITION status, along with the auto-sense data
with the Sense Key set to Illegal Request and the Additional Sense Code and Additional Sense Code Qualifier set
to LOGICAL UNIT NOT SUPPORTED.
In all cases, the target's response to the command for an invalid LUN does not affect the current execution of a
command on the valid LUN for this initiator or any other initiator.

259
Hard Disk Drive Specification
Overlapped Commands
The drive does not perform any overlapped command checking.

Command Processing During Execution of Active I/O


Process
When the target is not executing any I/O processes, a new I/O process is permitted to execute (unless execution is
prevented by another internal target condition listed in 10.1.1 "Priority of SCSI Status Byte Reporting").
If an active I/O process exists when the target receives a new command, then the target determines if:
- the command is permitted to execute
- the command is added to the queue
- Queue Full status is to be returned
- Busy status is to be returned
If an active I/O process exists when the target receives a new command, then the target determines how the new
command should be handled based on the following rules:
- Check Condition status is returned with sense key set to Logical Unit Not Ready if:
- the startup operation or a format operation is active. See Command Processing During Execution of Active I/O
Process for the exact conditions which cause this response.
Note: If a Unit Attention is pending when this condition exists, the sense key is set to Unit Attention rather than
Logical Unit Not Ready since Unit Attention has a higher reporting priority (see 10.1.4 "Command Processing
During Execution of Active I/O Process")
- The command is permitted to execute if:
- the command is a priority command (see Concurrent I/O Process the conditions to execute concurrently are
met (see 10.1.1 "Priority of SCSI Status Byte Reporting")
- The command is added to the queue if:
- any I/O process already exists at the target, and
- this is not an incorrect initiator connection.
- Queue Full status is returned if:
- the command would otherwise be added to the queue (according to the rules described above), but all slots in
the queue are full, or the command would otherwise be added to the queue (according to the rules described
above), but all of the available queue slots not reserved for use by another initiator are full, or a Format Unit
command was previously queued but has not yet begun execution, or the target is in a Degraded Mode (see
"Degraded Mode") and a Start Unit command was previously queued but has not yet begun execution.
- Busy status is never returned on SCSI or FCAL. BUSY status is returned on SAS if more than 64 unique
Initiators send frames to the drive since the last POR. In that case, BUSY status in only returned for Initiators
above and beyond the first 64.

260
Hard Disk Drive Specification
Unit Attention Condition
The target generates a unit attention condition when one of the following occurs:
- The target has been reset
This includes a power-on reset or a reset caused by a LUN Reset Task Management function or Hard Reset
sequence. In all of these cases, a unit attention condition is generated for each initiator.
- MODE SELECT command has been executed
In this case, a unit attention condition is generated for all initiators except the one that issued the MODE
SELECT command. The Additional Sense Code and Additional Sense Code Qualifier reported is MODE
PARAMETERS CHANGED. The unit attention condition is generated if any of the current page parameters
are set by the MODE SELECT command. The target does not check to see that the old parameters are
different from the new parameters. For example: If the initiator issues a MODE SENSE command with a
page code to report the current values followed by a MODE SELECT command with the same parameter list,
a unit attention condition is generated despite the fact that the current parameters were not changed from
their previous value. However, if the target detects an illegal parameter or error condition prior to modifying
the current parameters, a unit attention condition is not generated since the parameters were not set. The
unit attention condition is also not generated if the MODE SELECT command parameter list does not include
any pages and only the header or header/block descriptor is present.
- FORMAT UNIT command has been executed
In this case, a unit attention condition is generated for all initiators except the one that issued the FORMAT
UNIT command. The Additional Sense Code and Additional Sense Code Qualifier reported is NOT READY
TO READY TRANSITION, (MEDIUM MAY HAVE CHANGED). This indicates that the block descriptor
parameters from the last MODE SELECT command have been used and are now considered current values.
- WRITE BUFFER command to download microcode has been executed
In this case, a unit attention condition is generated for all initiators except the one that issued the WRITE
BUFFER command. The Additional Sense Code and Additional Sense Code Qualifier reported is
MICROCODE HAS BEEN CHANGED.
- Commands Cleared by another initiator
This unit attention condition is generated after an initiator sends a Clear Task Set Task Management
function. The unit attention condition is generated for all other initiators with I/O processes that were either
active or queued for the logical unit. The Additional Sense Code and Additional Sense Code Qualifier
reported is COMMANDS CLEARED BY ANOTHER INITIATOR.
- LOG SELECT command with PCR bit has cleared parameters.
In this case, a unit attention condition is generated for all initiators except the one that issued the LOG
SELECT command. The additional sense code and additional sense code qualifier reported is Log Select
Parameters Changed.
- The registration or reservation made by a Persistent Reserve Out command was cleared by another initiator.
In this case, a unit attention condition is generated for the initiator that held the cleared registration or
reservation.
- A Predictive Failure Analysis threshold has been reached and the Method of Reporting field of mode page 1Ch
is 2h.
- The unit attention condition persists for each initiator until that initiator clears the condition from the logical unit
as described below. Several commands are handled as special cases during a unit attention condition these
cases are also discussed below.
If the target receives a command from an initiator before reporting a CHECK CONDITION status for a pending unit
attention condition for that initiator, the target's response varies with the command as follows:
Inquiry Execute the command, return GOOD status, and preserve the unit attention condition.
Report Luns Same as above
Request Sense Execute the command, return any pending sense data, return GOOD status, and preserve
the unit attention condition. If there is not any pending sense data, the sense data associated
with the highest priority unit attention condition is returned and the highest priority unit
attention condition is cleared for this initiator.

261
Hard Disk Drive Specification
All Others Do not execute the command, return a CHECK CONDITION status, clear the highest priority
unit attention condition for this initiator and return the associated sense data.
More than one unit attention condition may be generated for an initiator before that initiator
clears the unit attention condition.

Command Processing During Startup and Format


Operations
If the Target receives a command from an Initiator while the Target is executing a startup or format operation, the
response of the Target varies with the command as follows:
INQUIRY The drive sends inquiry data and returns appropriate status.
REQUEST SENSE Executes the command, returns a Sense key of NOT READY and an Additional Sense
Code of LOGICAL UNIT NOT READY and returns GOOD STATUS.
The Additional Sense Code Qualifier that is returned depends on type of I/O processes
that are active:
For the START/UNIT STOP and the Auto-start operation, the qualifier returned is
LOGICAL UNIT IS IN PROCESS OF BECOMING READY. For the FORMAT UNIT
command, the qualifier returned is LOGICAL UNIT NOT READY, FORMAT IN
PROGRESS, and the Sense key specific bytes are set to return the progress indication.
REPORT LUNS The drive sends REPORT LUNS data and appropriate status.
ALL OTHER The drive terminates the command with CHECK CONDITION status. The Sense data
generated is described in Request Sense above.

Internal Error Condition


The Target generates an Internal Error condition for all Initiators when an internally initiated operation ends with an
unrecoverable error, that is, the startup sequence for Auto Start enabled terminates after the SCSI bus has been
enabled and prior to completion of the bring-up sequence.
An Internal Error condition causes Sense data to be generated and saved for all Initiators. The Error Code field of
the Sense is set for a Current Error (70h or 72h) and the Sense Key is set to HARDWARE ERROR. Recovered
errors are not reported.
The Internal Error condition persists for each Initiator until that Initiator clears the condition from the logical unit as
described below. Several commands are handled as special cases during an Internal Error condition. These cases
are also discussed.
If the Target receives a command from an Initiator while an Internal Error condition exists for that Initiator, the
response of the Target varies with the command as follows:
INQUIRY The drive executes the command with GOOD status and does not clear the Internal Error
condition.
REQUEST SENSE The drive executes the command, returns the sense data generated by the Internal Error
condition, returns Good Status, and clears the Internal Error condition for that Initiator.
ALL OTHER The drive terminates the command with a CHECK CONDITION status and clears the
Internal Error condition.

Deferred Error Condition


Error code (71h or 73h) of sense data 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.
The drive creates an Deferred Error condition when
- Execution of a Format Unit command with the immediate bit of one ends with an error.
- Execution of a Write command with WCE (Write Cache Enable) bit of one ends with an error.

262
Hard Disk Drive Specification
Degraded Mode
There are certain errors or conditions which may impair the ability of the drive to function normally. Rather than fail
hard the drive is designed to be as responsive as possible. Also, in most cases, some action on the part of the
initiator may be used to restore normal operation. This mode of limited operation is called Degraded Mode.
There are 3 conditions in the Degraded Mode:
- Spindle Motor Degrade which is caused by one of the following conditions:
- Spindle Motor was started (by POR or Unit Start command) and the Target is under Self Configuration.
- Spindle Motor Failed to start.
- Spindle Motor was stopped by Unit Stop command after the Target successfully completed the Self
Configuration.
- Self Configuration Failure Degraded which is caused by one of the following conditions:
- RAM Code, Configuration Sector Read Failure
- RAM Code, Configuration Sector Revision Mismatch
- Format Command Failure Degraded. This condition is caused when Format Unit command failed or was
interrupted abnormally (Mode Page 0, byte 5, bit 4 FDD controls Format Degraded mode)

Response to SCSI Command in Degraded Mode - Disable


Auto Start
The tables on the following pages show the degraded mode status with acceptable commands and additional sense
codes
Command (w/Option) Response
Executed. The Target may return Sense Key 02h (Not Ready) ASC/ASCQ 0402h
Request Sense
(Initialize Command Required)
Inquiry (EVPD=0) Executed
Executed and Check Condition is returned with Sense Key 05h (Illegal Request)
Inquiry (EVPD=1)
ASC/ASCQ 2400h (Invalid Field in CDB)
Executed and Check Condition is returned with Sense Key 02h (Not Ready) ASC/ASCQ
Test Unit Ready
0402h (Initialize Command Required)
Executed
- Success: Good Status is returned. Motor Degraded Mode is cleared
- Spindle Motor Start Failure: Check Condition with Sense Key 02h (Not Ready)
Start Stop Unit
ASC/ASCQ 0400h (Start Spindle Motor Fail)
(Start)
- Self Configuration Failure: Check Condition with Sense Key 02h (Not Ready)
ASC/ASCQ 4080h (Diag Fail- Bring up Fail)
- Sense Key 02h (Not Ready) ASC/ASCQ 4085h (Diag Fail-RAM Code NOT load)
Start Stop Unit
Executed. Good Status is returned. Motor Degraded Mode is NOT cleared
(Stop)
Not Executed. Check Condition Status is returned with Sense Key 02h (Not Ready)
Other Commands
ASC/ASCQ 0402h (Initialize Command Required)
Table 273 Spindle Motor Degraded Mode - Disable Auto Start

263
Hard Disk Drive Specification
Response to SCSI Command in Degraded Mode - Auto
Start Delay/ Spinning Up
Command (w/Option) Response
Executed. The Target may return Sense Key 02h (Not Ready) ASC/ASCQ 0401h (In
Request Sense
Process of Becoming Ready)
Inquiry (EVPD=0) Executed
Executed and Check Condition is returned with Sense Key 05h (Illegal Request)
Inquiry (EVPD=1)
ASC/ASCQ 2400h (Invalid Field in CDB)
Executed and Check Condition is returned with Sense Key 02h (Not Ready) ASC/ASCQ
Test Unit Ready
0401h (In Process of Becoming Ready)
Executed
- Success: Good Status is returned. Motor Degraded Mode is cleared
- Spindle Motor Start Failure: Check Condition with Sense Key 02h (Not Ready)
Start Stop Unit
ASC/ASCQ 0400h (Start Spindle Motor Fail)
(Start)
- Self Configuration Failure: Check Condition with Sense Key 02h (Not Ready)
ASC/ASCQ 4080h (Diag Fail- Bring up Fail)
- Sense Key 02h (Not Ready) ASC/ASCQ 4085h (Diag Fail-RAM Code NOT load)
Not Executed. Check Condition Status is returned with Sense Key 02h (Not Ready)
Other Commands
ASC/ASCQ 0401h (In Process of Becoming Ready)
Table 274 Spindle Motor Degraded Mode - Auto Start Delay/Spinning Up

Response to SCSI Command in Degraded Mode - Spindle


Start Failure
Command (w/Option) Response
Executed. The Target may return Sense Key 02h (Not Ready) ASC/ASCQ 0400h (Start
Request Sense
Spindle Motor Fail)
Inquiry (EVPD=0) Executed
Executed and Check Condition is returned with Sense Key 05h (Illegal Request)
Inquiry (EVPD=1)
ASC/ASCQ 2400h (Invalid Field in CDB)
Executed and Check Condition is returned with Sense Key 02h (Not Ready) ASC/ASCQ
Test Unit Ready
0400h (Start Spindle Motor Fail)
Executed
- Success: Good Status is returned. Motor Degraded Mode is cleared
- Spindle Motor Start Failure: Check Condition with Sense Key 02h (Not Ready)
Start Stop Unit
ASC/ASCQ 0400h (Start Spindle Motor Fail)
(Start)
- Self Configuration Failure: Check Condition with Sense Key 02h (Not Ready)
ASC/ASCQ 4080h (Diag Fail- Bring up Fail)
- Sense Key 02h (Not Ready) ASC/ASCQ 4085h (Diag Fail-RAM Code NOT load)
Start Stop Unit
Executed. Good Status is returned. Motor Degraded Mode is NOT cleared
(Stop)
Not Executed. Check Condition Status is returned with Sense Key 02h (Not Ready)
Other Commands
ASC/ASCQ 0400h (Start Spindle Motor Fail)
Table 275 Spindle Motor Degraded Mode - Spindle Start Failure

264
Hard Disk Drive Specification
Response to SCSI Command in Degraded Mode - Spindle
Stopped by Unit Stop Command
Command (w/Option) Response
Executed. The Target may return Sense Key 02h (Not Ready) ASC/ASCQ 0402h
Request Sense
(Initialize Command Required)
Inquiry (EVPD=0) Executed
Inquiry (EVPD=1) Executed
Executed and Check Condition is returned with Sense Key 02h (Not Ready) ASC/ASCQ
Test Unit Ready
0402h (Initialize Command Required)
Executed
- Success: Good Status is returned. Motor Degraded Mode is cleared
- Spindle Motor Start Failure: Check Condition with Sense Key 02h (Not Ready)
Start Stop Unit
ASC/ASCQ 0400h (Start Spindle Motor Fail)
(Start)
- Self Configuration Failure: Check Condition with Sense Key 02h (Not Ready)
ASC/ASCQ 4080h (Diag Fail- Bring up Fail)
- Sense Key 02h (Not Ready) ASC/ASCQ 4085h (Diag Fail-RAM code NOT load)
Start Stop Unit
Executed. Good Status is returned. Motor Degraded Mode is NOT cleared
(Stop)
Not Executed. Check Condition Status is returned with Sense Key 02h (Not Ready)
Other Commands
ASC/ASCQ 0402h (Initialize Command Required)
Table 276 Spindle Motor Degraded Mode - Spindle Stopped by Command

Self Configuration Failure Degraded Mode


Command (w/Option) Response
Executed. The Target may return
Request Sense Sense Key 02h (Not Ready) ASC/ASCQ 4080h (Diag Fail- Bring up Fail)
Sense Key 02h (Not Ready) ASC/ASCQ 4085h (Diag Fail-RAM code NOT load)
Inquiry (EVPD=0) Executed
Executed and Check Condition is returned with
Inquiry (EVPD=1)
Sense Key 05h (Illegal Request) ASC/ASCQ 2400h (Invalid Field in CDB)
Executed and Check Condition is returned with
Test Unit Ready Sense Key 02h (Not Ready) ASC/ASCQ 4080h (Diag Fail- Bring up Fail)
Sense Key 02h (Not Ready) ASC/ASCQ 4085h (Diag Fail-RAM code NOT load)
Executed
- Success: Good Status is returned. Motor Degraded Mode is cleared
- Spindle Motor Start Failure: Check Condition with Sense Key 02h (Not Ready)
Start Stop Unit
ASC/ASCQ 0400h (Start Spindle Motor Fail)
(Start)
- Self Configuration Failure: Check Condition with Sense Key 02h (Not Ready)
ASC/ASCQ 4080h (Diag Fail- Bring up Fail)
- Sense Key 02h (Not Ready) ASC/ASCQ 4085h (Diag Fail-RAM code NOT load)
Executed.
- Success: Good Status is returned. Motor Degraded Mode is cleared
Write Buffer
- Self Configuration Failure: Check Condition with Sense Key 02h (Not Ready)
(Download and Save)
ASC/ASCQ 4080h (Diag Fail- Bring up Fail)
Sense Key 02h (Not Ready) ASC/ASCQ 4085h (Diag Fail-RAM code NOT load)
Not Executed. Check Condition Status is returned with Sense Key 02h (Not Ready)
Other Commands ASC/ASCQ 4080h (Diag Fail- Bring up Fail)
Sense Key 02h (Not Ready) ASC/ASCQ 4085h (Diag Fail-RAM code NOT load)
Table 277 Self Configuration Failure Degraded Mode

265
Hard Disk Drive Specification
Format Command Failure Degraded Mode
Command (w/Option) Response
Executed. The Target may return
Request Sense Sense Key 02h (Not Ready) ASC/ASCQ 3100h (Format Corrupted)
Sense Key 03h (Medium Error) ASC/ASCQ 3100h (Format Corrupted)
Inquiry (EVPD=0) Executed
Inquiry (EVPD=1) Executed
Executed and Check Condition is returned with Sense Key 02h (Not Ready)
Test Unit Ready
ASC/ASCQ 3100h (Format Corrupted)
Executed
- Success: Good Status is returned. Format Degraded Mode is cleared
Format Unit
- Failure: Check Condition Status is returned and Format Degraded Mode is NOT
cleared.
Not Executed. Check Condition Status is returned with Sense Key 03h (Medium Error)
Other Commands ASC/ASCQ 3100h (Format Corrupted)
(read and write) Non-read/write commands will execute so the drive is as responsive as possible and
for restoring normal operation.
Table 278 Format Command Failure Degraded Mode

Note: Mode Page 0 byte 5 bit 4 (FDD) = 0


Note: See also Section 10.1.9 "Degraded Mode" and Section 8.4 "FORMAT UNIT (04)".

Command Processing while Reserved


A logical unit is reserved after successful execution of the Reserve command. Each time a Reserve command is
executed successfully, the Target records the SCSI ID of the Initiator that made the reservation and the SCSI ID of
the Initiator that is to receive the reservation. This information is needed to determine whether subsequent
commands should be permitted or if the Reservation Conflict Status should be reported. The Initiator that made the
reservation is the Initiator that issued the Reserve command. The Initiator to receive the reservation may be either
the same or a different Initiator (third-party reservation).
If the logical unit is reserved when a new command is received, the Target examines the command opcode and the
SCSI ID of the issuing Initiator to determine whether a Reservation Conflict Status should be returned based on the
following rules:
If the issuing Initiator is the one that made the reservation and also the one to receive the reservation, then all
commands are permitted.
If the issuing Initiator is neither the one that made the reservation nor the one to receive the reservation, then
- A Request Sense or Inquiry command is permitted.
- A Release command is permitted but is ignored.
- Any other command results in a Reservation Conflict Status.
If the issuing Initiator is the one that made the reservation but is not the one to receive the reservation, then
- An Inquiry, Request Sense, Reserve, or Release command is permitted.
- Any other command results in a Reservation Conflict Status.
If the issuing Initiator is not the one that made the reservation but is the one to receive the reservation, then
- A Reserve command results in a Reservation Conflict Status.
- A Release command is permitted but is ignored.
- Any other command is permitted.
If a Reservation Conflict Status is not reported and the command is permitted, then the Target checks the next
highest priority internal condition to determine whether execution is allowed. See Section 10.1.1 "Priority of SCSI
Status Byte Reporting"

266
Hard Disk Drive Specification
Priority Commands
Certain SCSI commands always execute without returning a Busy Status or Reservation Conflict Status in response
to the command. These commands are
- Inquiry
- Request Sense
- Report LUNs
- Test Unit Ready
These commands are executed prior to attempting to complete the execution of any other pending command in the
queue. These commands are never queued.

Command Queuing
When the initiator specifies that the drive shall disable command queuing, the initiator must send only untagged
commands. When the initiator specifies that the target shall enable command queuing, the initiator may send either
tagged or untagged command, but shall not use both at the same time.
The following commands are never queued.
- Priority Commands (i.e.: Request Sense and Inquiry)
- Commands for an invalid LUN.

Queue Depth
Any initiator can queue at least one command at any time irrespective of the actions of any other initiators in the
system. A single initiator may queue up to 128 commands, if no other initiator has more than one command in the
queue, although at times this maximum may be reduced as the drive can reserve command blocks for internal use.

Queue Full Status


The drive will respond with QUEUE FULL status to a SCSI command when all queue slots are utilized. The SCSI
command is not placed in the command queue under this condition.

Termination of I/O Processes


Normal termination of I/O processes occurs when the target returns SCSI status. I/O processes may also be
terminated by the following:
- An ABORT TASK terminates the specified I/O process from the issuing initiator
- An ABORT TASK SET terminates all I/O processes from the issuing initiator
- A CLEAR TASK SET, TARGET RESET or reset terminates all I/O processes from all initiators

267
Hard Disk Drive Specification
Command Reordering
Command reordering is supported when enabled by the Queue Algorithm Modifier in mode page 0A (see 8.10.9
"Mode Page 0A (Control Mode Page Parameters)”.

Concurrent I/O Process


Concurrent commands are always allowed to execute concurrently with non-priority commands. A second priority
command received while a priority command is being executed is put at the head of the command queue.
- WRITE commands when another WRITE command is an active I/O process
- READ commands when another READ command is an active I/O process
When a concurrent command ends in CHECK CONDITION status, the QErr bit on the Mode Page 0Ah will
determine how other active I/O processes from the same initiator for that drive will be handled.

Write Cache
If the WCE (Write cache enable) bit is 1, the drive returns Good Status and closes the connection immediately after
receiving the data of the last sector before actually writing the data onto the media.
If the drive detects an error after it returns a Good Status, the drive sets a Deferred Error (Error Code of sense data
= 71h) and a following command will be returned with Check Condition and the Contingent allegiance condition is
established. Under the Contingent allegiance condition all queued processes including commands from other
initiators are suspended.

Automatic Rewrite/Reallocate
The target supports Auto Reallocate for READ, WRITE, WRITE VERIFY, and VERIFY.
Automatic Reallocate operates from within the read/write command. When an automatic reallocation occurs, the
read or write command takes longer to complete.
This operation is sometimes referred to as auto-reassignment due to its similarity to the operation performed by the
reassign command.
Following is a description of the target behavior for each setting of ARRE. ARRE setting affects all data errors. (No
Sector Found, Data Sync Byte Errors and Data LDPC Errors.)
ARRE=1: An error site determined to need rewriting or reallocation during a read is automatically reallocated as
a pending defect prior to the sending of the status. It will not be identified by a read defect data
command. It will be rewritten or reallocated on the next write prior to the sending of status. The site will
be automatically rewritten or reallocated only if the data has been successfully read. If it is reallocated
it will be identified in a read defect data command.
ARRE=0: Behaves the same as ARRE=1.
The target will automatically rewrite/reallocate for the following commands.
- Read
- Verify
- Verify portion of Write and Verify
For all other commands the ARRE setting is ignored and the target will not automatically rewrite/ reallocate
Following is a description of the target behavior for each setting of AWRE. AWRE setting affects only No Sector
Found Errors on writes.
AWRE=1: An error site determined to need reassignment during a write is automatically reallocated at the
conclusion of the write and prior to sending the status. The site will be automatically reallocated only if
the write recovery succeeded at the conclusion of the write.
AWRE=0: Behaves the same as AWRE=1

268
Hard Disk Drive Specification
The target will automatically reallocate for the following commands.
- Write
- Write Same
- Write portion of Write and Verify
For all other commands the AWRE setting is ignored and the target will not automatically reallocate.
Auto Reallocate information is communicated via the sense data returned following a command during which a site
was determined to need rewriting or reassignment. The LBA returned in the sense data is the LBA that was
determined to need rewriting or reassignment.
The sense data combinations with auto/recommend rewrite/reallocate are listed below.

Key Code Qual Description

1 17 01 Recovered Data with retries

1 17 06 Recovered Data without LDPC - Auto Reallocated

1 17 09 Recovered Data without LDPC - Data Rewritten

1 18 00 Recovered Data with LDPC

1 18 02 Recovered Data with LDPC - Auto Reallocated

1 18 07 Recovered Data with LDPC - Data Rewritten

Table 279 Sense data combinations with auto/recommend rewrite/reallocate

269
Hard Disk Drive Specification
Segmented Caching
Overview
Segmented Caching divides the data buffer into several smaller buffers. Each buffer is used as Read/ Write/Read-
Ahead buffer.

Read Ahead
The Read Ahead function consists of reading data that the Initiator has not yet requested to the drive buffer. This
function is intended to improve performance for an initiator that frequently accesses sequential data with successive
SCSI read commands. The Read Ahead function works when RCD (the read cache disable) bit of read cache page
(page 08h) is set to zero.
The drive initiates the Read ahead function when the following conditions exist:
- RCD is 0
- Read, Verify and Write and Verify is received.
- The consecutive LBA of the requested LBA is not available in the buffer
If SCSI reset or target reset message is received, all contents of segmented buffer is flushed.
Even if an error occurs during the Read ahead, the error will not be reported to the Initiator. The data read before
the error occurred will be stored as valid data by the Read Ahead function.

Multiple Initiator Systems


This section describes how the target behaves in a multiple initiator system. Up to 64 initiators may be supported at
any one time.

Sense Data
A separate sense data area is reserved for each initiator. Each area is maintained independently. This allows a
command from one initiator to complete with a CHECK CONDITION status and generate sense data without being
affected by a subsequent command from a different initiator. There is no requirement for the first initiator to send a
REQUEST SENSE command to retrieve the Sense Data prior to the execution of a command from a different
initiator.

Mode Pages
A single set of Mode pages is maintained. This includes both current and saved parameters. If a MODE SELECT
command is executed that updates the current parameters, a unit attention condition is generated for all initiators
except the one that issued the command. See 10.1.5 "Unit Attention Condition" for more information.

Multiple Initiator Environment


Initiator Sense Data
Separate sense data is reserved for each I-T-L. Each sense data is maintained independent of commands from
other initiators.

Initiator Mode Select/Mode Sense Parameters


A single shared copy of the Mode Select/Mode Sense parameters is maintained by the drive. This includes both the
current and saved parameters.

270
Hard Disk Drive Specification
Reset
Reset actions will return the drive to a known, initialized state.
This device supports the Hard reset option as defined in the SCSI standards and the reset sources discussed
below.

Initiator Sense Data


There are four sources of resets detected by the target:
Reset Name Reset Source
Power-On Reset This is the signal generated by the hardware at initial power-on
Self-Initiated reset This is a software-generated reset that occurs when a catastrophic error is detected by the
microcode.
Hard Reset This is the Hard Reset performed during a Link Reset Sequence.
LUN Reset This is a LUN RESET TMF (08h) sent in a TASK IU.

Reset Actions
The action taken by the drive following a reset is dependent on the source of the reset.

Power-On reset and Self-Initiated reset


These two reset conditions cause the following to be performed in the order shown:
- A power-up sequence
- A startup sequence is necessary to put the drive in a ready state
These reset conditions cause the following actions:
- If the reset occurs during the power-up sequence, the power-up sequence is re-started.
- If the auto-start option is enabled and a start-up sequence has not yet completed, the start-up sequence is
restarted. Note: The power-up sequence is not re-run, since it has already completed.
- If the reset occurs while a physical sector is being written, the WRITE operation is disabled at the end of the
current sector. The media is not corrupted if power is maintained to the end of the current sector.

271
Hard Disk Drive Specification
Diagnostics
The drive will execute Power on Diagnostics at power on time to assure the correct operation of the drive by
validating components (ROM, RAM, Sector Buffer, EEPROM, HDC, Spindle Motor, Actuator), checking stored
information in the Reserved Area and EEPROM, and verifying fault detects circuits.
Self-test can be invoked by issuing a SEND DIAGNOSTIC command.

Power on Diagnostics
At power on time the following tests are executed:
1. Validation of ROM and EEPROM
2. RAM test for internal RAM
3. Test and Initialize HDC registers
4. RAM test for Sector Buffer
5. Start Spindle Motor (if enabled)
6. Calibration of Actuator
7. Read/Write test for all Heads
8. Validation of RAM code and data table (RDM, Log, Mode Page) from the Reserved Area
If Auto spin up is disabled, steps 5 - 8 will be executed by the first START STOP UNIT command which has the
Start bit set.
Faults detected before successful completion of the HDC section could prevent the drive from responding to a
selection.
Faults detected after the successful completion of the HDC test section will be reported as CHECK CONDITION
status to the Initiator on the first command issued after a fault is detected (except for the INQUIRY, REPORT LUNS
and REQUEST SENSE commands). The INQUIRY, REPORT LUNS and REQUEST SENSE commands will
always be responded with a GOOD status. Detecting a fault during power on will not terminate execution of the
tests nor will it terminate the power on process.

Self-test via SEND DIAGNOSTIC Command


Default Self-test
The default self-test is invoked by the SlfTst bit in the SEND DIAGNOSTIC command. The response is simply a
GOOD status if the test is successful or a CHECK CONDITION status if the test fails.
The following tests are performed by the default self-test (in the order defined):
1. Spin check is to check if the spindle motor is running at the correct speed.
2. Write, Read and Compare test is a disk read/write test. It writes data to a predefined location in the
reserved area and then reads it back and validates the content. All heads are tested.
3. Seek test is a servo test. It validates seeks to 256 random locations out of the full volume.

Short and Extended Self-tests


There are two other types of self-tests that may be invoked using the Function Code field in the SEND
DIAGNOSTIC command: a short self-test and an extended self-test. The tests performed in the short and extended
self-tests are described later. The time required by a logical unit to complete its extended self- test is specified in
the Extended self-test Completion Time field in the Control Mode Page. A value of FFFFh indicates that the
extended self-test takes 65 535 seconds or longer. See also the EXTENDED SELF-TEST COMPLETION
MINUTES field in the Extended INQUIRY Data VPD page. The results of self-test can be retrieved via the LOG
SENSE command for Log Page 10.

272
Hard Disk Drive Specification
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

273
Hard Disk Drive Specification
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.

Segment Short Self-Test Extended Self- Test Description


Number Test

1h Drive Ready Test Internal check to insure drive is “ready”, similar to a


Test Unit Ready command.

2h Drive Diagnostics This test is comprised of the Default Self Test as


defined in Section 10.12.2.1 "Default Self-test"

3h SMART Perform SMART testing and check results to ensure


that SMART threshold criteria are not exceeded

4h Low Level Format check Check to insure that the media is currently not in the
MEDIA FORMAT CORRUPTED state.

5h Physical Head Check Write/Read test on each head in a predefined location


in the drive's Reserved Area of the disk.

6h Random Verify Perform 4000 random verify operations and insure no


uncorrectable errors.

7h - Verify First 300MB Verify all LBA’s Sequential verify operation. Ensure that no
- Verify Last 100 MB uncorrectable errors occur within the verify range.

8h Recheck SMART Same as segment 4h.

Table 280 Short and Extended Self-Test Description

Background Medium Scan


For a related function, see Mode Page 1C (Informational Exceptions Control).

274
Hard Disk Drive Specification
Idle Time Function
The drive periodically saves data in logs and S.M.A.R.T. counters in the reserved area of the disks. The information
is used by the drive to support various SCSI commands and for the purpose of failure analysis.

Command Time out Limits


The 'Command Time-out Limits' are defined as the time period from the SCSI Arbitration phase through the SCSI
Task complete message, associated with a particular command.
The following times are for environments where Automatic Reallocation is disabled and there are no queued
commands.

Reassignment Time
The drive should be allowed a minimum of 5 seconds to complete a “Reassign Blocks” command.

Format Time
Approximately 15 / 13 hours should be allowed for 10000 / 8000 GB capacity drives to complete a "Format Unit"
command when certification is disabled. Allow 30 / 26 hours for 10000 / 8000 GB capacity drives when certification
is enabled. If "Fast Format" is enabled via the FFMT bit in mode page 00h, allow 1 minute for completion.

Start/Stop Unit Time


The drive should be allowed a minimum of 60 seconds to complete a “Start Stop Unit” command (with Immed bit =
0). Initiators should also use this time to allow startup sequences initiated by auto startups and “Start Stop Unit”
commands (with Immed bit = 1) to complete and place the drive in a “ready for use” state.
Note: A time-out of one minute or more is recommended but NOT required. The larger system time-out limit allows
the system to take advantage of the extensive ERP/DRP that the drive may attempt in order to successfully
complete the startup sequence.
Note: For SAS devices a NOTIFY (Enable Spinup) primitive is required prior to actually starting to spin up the
spindle motor (regardless of whether a Start Stop Command with the Start bit set, was received or not).

Medium Access Command Time


The time-out limit for medium access commands that transfer user data or non-user data or both should be a
minimum of 30 seconds. These commands are
Pre-Fetch
Read
Read Defect Data
Send Diagnostic (Function Code = 0)
Read Long
Reassign Blocks
Write
Write and Verify
Write Buffer
Write Same
Verify
Note: The 30-second limit assumes the absence of bus contention and data transfers of 64 blocks or less. This time
should be adjusted for anticipated bus contention and if longer user data transfers are requested.

275
Hard Disk Drive Specification
Time-out Limits for Other Commands
The drive should be allowed a minimum of 30 seconds to complete these commands:
Inquiry
Log Select
Log Sense
Mode Select
Mode Sense
Persistent Reserve In/Out
Read Buffer
Read Capacity
Read Long
Release
Request Sense
Reserve
Set/Report Device Identifier
Start/Stop Unit (with Immed bit = 1)
Synchronize Cache
Test Unit Ready
Writer Long
The command time-out for a command that is not located at the head of the command queue should be increased
by the sum of command time-outs for all of the commands that are performed before it is.

276
Hard Disk Drive Specification
Recommended Initiator ERP
The Drive's design points for error reporting to the system assumes certain system action for the error return codes.
These assumptions are:
1. SCSI protocol will be the first priority in reporting errors.
2. The system will maintain a log of all reported errors.
3. System architecture should include all error handling recommendations made in this section. Deviations
should have mutual agreement between Drive development and system integration.
This section is directed toward documenting the assumptions made by the Drive that the system is expected to
implement. The two error classes that the system should be concerned with are DATA and NON-DATA errors.
Data errors are those errors that deal with the handling of data to and from the MEDIA and are identified by the
Additional Sense Code contained in the sense data. The Additional Sense Codes for data errors are as follows:
- OC - Write error
- 11 - Unrecovered read error
- 14 - No record found
- 16 - Data Synchronization mark error
- 17 - Recovered read error without LDPC correction
- 18 - Recovered read error with LDPC correction
Typically, data errors do not include positioning of the heads or the data path though the electronics.
Non data errors are those errors that do not have a direct relationship with transferring data to and from the media.
Non data errors can include data handling if the media is not associated with the error (that is, interface error).
The system action assumed for each class of error is outlined here.

Drive Service Strategy


The Drive service strategy is defined so the customer will be able to use the system as soon after a failure is
detected as possible. The first priority is to replace the entire drive to make the system operational with minimal
service time. The service representative should:
1. Back up all the customer data on this drive if possible
2. Replace the complete drive
3. Restore the customer data
4. Return the drive to customer service

Recommendations for System Error Log


The system error log should contain information about the Drive error that will allow recovery actions. The system
error logs should contain all the error information returned in the sense data. At a minimum, the following
information about each error occurrence should be logged.
- Valid bit and error code (Sense byte 0)
- Sense Key (Sense byte 2)
- Information bytes (Sense bytes 3 through 6)
- Command specific information (Sense bytes 8 through 11)
- Additional Sense Code (Sense byte 12)
- Additional Sense Code Qualifier (Sense byte 13)
- Field Replaceable Unit (Sense byte 14)
- Sense Key Specific (Sense bytes 15, 16, and 17)
- Vender Unique error information (Sense bytes 20 through 23)

277
Hard Disk Drive Specification
Data Recovery Procedure
Statistically, most data error activity is noise related and has nothing to do with defects in the media. It is wrong for
the system to assume that every data error reported occurred because of a defect in the media. It is also wrong for
the system to assume that every data error that occurred because of a media defect rendered the Drive unusable.
Recurring data error activity at the same physical location is an indication of a problem. The problem can be due to
a media defect or magnetic damage. A media defect is physical damage to the recording capability of the media
while magnetic damage is a defect in the bit pattern written to the media.
In both cases, the error can be corrected without replacing the unit. The physical sector may require relocation. The
Drive determines the need to reassign a sector. The Mode Select Page 1 option bit ARRE (See Section 8.10.3
"Mode Page 01 (Read/Write Error Recovery Parameters)”) set active allows the Drive to relocate recovered read
data errors. Non recovered data errors or the ARRE bit being inactive will have additional sense codes returned to
recommend reassignment of sectors.
The need to reassign a sector should be infrequent. Sites not meeting error rate criteria are removed from use
during SAT (Surface Analysis Test) in Drive manufacturing. With the exception of some early life SAT escapes
(sites that were marginally missed during SAT), reassigning defective sectors should be rare. Frequent sector
reassignment may be an (early) indication of another type of failure. Sector reassignments are monitored as part of
the predictive failure analysis. When a threshold is exceeded, the Drive will notify the initiator that a scheduled
service action is required.
Drive soft error rates are based on extraneous random faults that are not predictable. Media defects discovered
after the Drive completes manufacturing final test need to be relocated so that soft error rates are not influenced by
predictable known error sites. Failure of the system to properly relocate defective media sites can have a direct
influence on system throughput and drive error rates.

Reassign a Physical Sector


The Drive determines the need to reassign physical sectors based on error activity. Once a physical sector requires
reassignment, the Drive will reassign the physical sector.

278
Hard Disk Drive Specification
Data Error Logging
The Drive will report data errors to the initiator that do not require immediate action (successful auto reallocation,
successful auto rewrite, or no action needed on this occurrence). The initiator should log these errors in the system
error log. No other action is required.

Key Code Qual Description

1 16 00 Data Synchronization Mark Error

1 17 01 Recovered Data with Retries

1 17 06 Recovered Data without LDPC - Auto Reallocated

1 17 09 Recovered Data without LDPC - Data Rewritten

1 18 00 Recovered Data with LDPC

1 18 02 Recovered Data with LDPC - Auto Reallocated

1 18 07 Recovered Data with LDPC - Data Rewritten

Table 281 Log Only Errors

Reassign Blocks Recovery


The Drive provides the capability to remove media defects without reducing capacity.
Recovery from a failed reassignment consists of the following actions:
- Updating the defect descriptor to remove the LBA's that have been successfully reassigned and then retry the
Reassign Blocks command. The LBA contained in the Command Specific Information field of the Sense Data
is the LBA in the first defect descriptor that was not reassigned because of the failure. If the command failed
because of an unrecoverable read error other than those specified in the defect descriptor, add this LBA to the
defect descriptor and retry the command. Refer to Section 8.28 "REASSIGN BLOCKS (07)", for additional
information.
- If the retried Reassign Blocks (07) command completes successfully, returning to normal processing.
- If the retried Reassign Blocks (07) command fails, servicing the drive using the service guidelines
recommended in Section 10.15.1 "Drive Service Strategy".

279
Hard Disk Drive Specification
Non data Error Recovery Procedure
The Drive will follow a logical recovery procedure for non data errors. The initiator options for non-data errors are
limited to logging the error, retrying the failing command, or replacing the drive.
These recovery procedures assume the initiator practices data back-up and logs errors at the system level for
interrogation by service personnel.

Drive Busy
The Drive is busy performing an operation. This is not an error condition. The initiator can test for completion of
the operation by issuing Test Unit Ready (00) (or media access) commands.
- If the Test Unit Ready (00) (or media access) command completes with Check Condition Status then issue a
Request Sense (03)
- If the specified recovery procedure for the sense data is for a condition other than drive busy, follow the
recovery procedure for the condition reported.
- If the specified recovery procedure for the sense data is for a drive busy condition, then continue re-issuing
the Test Unit Ready (00) and Request Sense commands for the duration of a media access time-out or until
the drive returns Good Status.
- If the drive has been busy for longer than the limit specified in Section 10.14, "Command Time out Limits"
then service the drive using the service guidelines recommended in Section 10.15.1 "Drive Service Strategy"
Otherwise return to normal processing.
- If the Test Unit Ready (00) (or media access) command completes with Good Status, then return to normal
processing.

Unrecovered Drive Error


The initiator should retry the failing command.
1. If the retry of the failing command completes with Good Status or recovered Sense Key, follow the recovery
procedure in Section 10.15.4.3 "Recovered Drive Error".
2. If the retry of the failing command completes with hardware error sense, verify there is no outside cause
(e.g., power supply) for the failure, then retry the failing command.
a. If the retry of the failing command completes with Good Status, follow the recovery procedure in next
Section 10.15.4.3 "Recovered Drive Error".
b. If the retry of the failing command completes with Recovered sense or Hardware error sense, then
service the drive using the service guideline recommended in Section 10.15.1 "Drive Service Strategy".

Recovered Drive Error


The Initiator should log the error as soft with the recovery level.

Drive Not Ready


The initiator should do the following:
1. Issue a Start Stop Unit (1B) command.
2. Verify that the drive comes ready within the time specified.
3. If the drive fails to come ready within the specified time, service the drive using the service guidelines
specified in Section 10.15.1 "Drive Service Strategy".
4. Retry the failing command.
a. If the failing command completes with Good Status, log the error as recovered.
b. If the failing command completes with Not Ready sense, verify there is no outside cause (for example,
the power supply). Then service the drive using the service guidelines specified in Section 10.15.1
"Drive Service Strategy".

280
Hard Disk Drive Specification
No Defect Spare
Three conditions can cause this error:
1. When the Reassign Blocks (07) command is issued and there are no spares available for the Drive to use
for the relocation requested.
2. When the Glist is full and the sector to be reassigned cannot be added.
3. During a format operation, there was not enough space available to fulfill the spare requirement (Dlist is too
large).
Service the Drive following Section 10.15.1 "Drive Service Strategy".

Degraded Mode
Refer to Section 10.1.9 "Degraded Mode", for the definition of this state. There are three causes for entering
degraded mode. In all cases the Sense Key is Not Ready. The causes are the following:
1. Sense Code/Qualifier of Logical Unit Not Ready, initializing command required. The spindle motor not
spinning or not at the proper speed. This may not be an error condition. The initiator should issue a Unit
start (1B) command to start the spindle motor. If the Drive fails to come ready in the time specified in
Section 10.14, "Command Time out Limits" service the drive using the service guideline recommended in
Section 10.15.1 "Drive Service Strategy".
2. Sense Code/Qualifier of Diagnostic Failure. Failure of a Send Diagnostic self test, a start up sequence, or
other internal target failures.
- Failure of a send diagnostic self test or a start up sequence.
This failure is the result of the diagnostics that are executed during power on or when the Send Diagnostic
(1D) command is executed detecting a failure. As with the RAM code not loaded and the configuration data
not loaded, the recovery is either a power cycle or issuing the Send Diagnostic (1D) command with the self
test bit set active.
Recovery for a failed Send Diagnostic (1D) is achieved in one of the following ways:
- Executing the Send Diagnostic (1D) command
- Power cycling the drive
If the failure repeats, service the drive using the service guideline recommended in Section 10.15.1 "Drive
Service Strategy".
Recovery for a failed power up sequence is achieved in one of the following ways:
- Issuing a Unit start (1B) command
- Power cycling the drive.
If the failure repeats, service the drive using the service guideline recommended in Section 10.15.1 "Drive
Service Strategy".
- Internal target failures
The drive periodically adjusts the track following for each head to compensate for expansion and
contraction of the disks due to temperature changes. If one of these adjustments fails, the drive will enter a
degraded mode to prevent writing data off track.
Recovery of this condition is either a power cycle or successful completion of the Send Diagnostic (1D).
Service the drive using the recommended service guidelines specified in Section 10.15.1 "Drive Service
Strategy", if the power cycle or the Send Diagnostic (1D) command fail to complete successfully.
3. Sense Code/Qualifier of Format Command Failed Format Unit (04), Sense Code/Qualifier of Medium
Format Corrupted Reassign Failed Reassign Blocks (07) command, or an automatic reallocation failed or
was abnormally terminated.
Recovery from a failed Format Unit (04) is achieved by retrying the command. If the command fails a
second time, service the drive following the procedure defined in Section 10.15.1 "Drive Service Strategy".
If the above defined recovery procedures fail to clear the degraded mode condition, the Drive should be replaced.
Follow the procedure in Section 10.15.1 "Drive Service Strategy", when replacing the drive.

281
Hard Disk Drive Specification
Reserved Area Hard Error
Sectors found defective in the reserved area of the disk cannot be reassigned after the Drive leaves the factory.
The data in the reserved area is not directly accessible by the initiator. For this reason, the reserved area has back
up copies of all data. A data error must occur in both copies of the data record before the Drive considers a
reserved area read error. When this happens, the integrity of the drive is questionable.
Service the Drive using Section 10.15.1 "Drive Service Strategy".

Interface Protocol
For all interface protocol errors, the initiator should complete the following steps:
1. Correct the parameter that caused the Illegal Request
2. Retry the failing command
3. If the first retry of the failing command completes with
- Good Status, log the error as recovered
- Check Condition Status with sense data for an Illegal Request, verify there is no outside cause (for example,
the power supply) for the failure
- Other, follow the recommendations for the error condition reported. Retry the failing command. If this retry of
the failing command completes with
• Good Status, log the error as recovered
• Check Condition Status with sense data for an Illegal Request, service the drive using the service
guideline recommended in Section 10.15.1 "Drive Service Strategy".
• Other, follow the recommendations for the error condition reported.

Aborted Command
The initiator should determine the cause from the Additional Sense Code (byte 12):
- Sense Key = B (Aborted Command) with Additional Sense Codes of 1B, 25, 43, 49, and 4E are initiator caused
abort conditions. The initiator should correct the condition that caused the abort and retry the failing command.
- Sense Key = B (Aborted Command) with Additional Sense Code of 44 or 48 are drive caused abort conditions.
The initiator should:
1. Retry the failing command.
2. If the retry of the failing command completes with
- Good Status, log the error as recovered.
- Abort Command Sense, verify there is no outside cause (e.g. power supply) for the failure.
3. Retry the failing command.
4. If the retry of the failing command completes with
- Good Status, log the error as recovered.
- Abort command sense, then service the drive using the service guideline recommended in Section
10.15.1 "Drive Service Strategy".
- Sense Key = B (Aborted Command) and an Additional Sense Code of 47 can be an initiator or Drive caused
abort condition. The initiator should follow the above procedure for initiator caused abort conditions if the Drive
detected the SCSI bus parity error. The initiator should follow the above procedure for Drive caused abort
conditions if the initiator detected the SCSI bus parity error.

282
Hard Disk Drive Specification
Unit Attention Condition
Unit Attention Conditions are not errors. They alert the initiator that the drive had an action that may have changed
an initiator controlled state in the drive. These conditions are the following:
Not Ready to Ready Transition
Not ready to ready transition, unit formatted. This Unit Attention Condition will not be reported to the initiator that
issued the Format Unit (04).
Reset
This means the drive was reset by either a power-on reset, Hard Reset, LUN Reset TMF or an internal reset.
Mode Parameters Changed
A Mode Select (15) command successfully completed. This means that the mode parameters that are the current
value may have changed. The parameters may or may not have changed but the command to change the
parameters successfully completed. The Drive does not actually compare the old current and the new current
parameters to determine if the parameters changed. This Unit Attention Condition will not be reported to the initiator
that issued the Mode Select (15).
Microcode Has Changed
Write Buffer (3B) to download microcode has successfully completed. This means that the microcode that controls
the Drive has been changed. The code may or may not be the same as the code currently being executed. The
Drive does not compare old level code with new code.
Commands Cleared by Another Initiator
Tagged commands cleared by a clear queue message. This means that the command queue has been cleared.
The Unit Attention Condition is not reported to the initiator that issued the clear queue message. Unit Attention
Condition is reported to all initiators that had commands active or queued.
Reissue any outstanding command.
Log Select Parameters Changed
A Log Select (4C) command successfully completed. This means that the Log Select command cleared statistical
information successfully (See Section 8.6 "LOG SELECT (4C)"). Unit Attention Condition is reported to all initiators
excluding the initiator that issued the Log Select command.
Device Identifier Changed
A Set Device Identifier (A4) command successfully completed. This means that the Set Device Identifier information
field has been updated. (See 8.44 ”SET DEVICE IDENTIFIER (A4/06)”) A Unit Attention Condition is reported to all
initiators excluding the initiator that issued the Set Device Identifier command.

Components Mismatch
The compatibility test is performed at a power cycle. The compatibility test verifies the microcode version of the
electronics. When the Drive detects the microcode version mismatch, the most likely cause is the result of incorrect
parts used during a service action.
If the error reported is Key/code/qualifier 4/40/80, Diagnostic failure, bring-up fail, the initiator should do the
following:
1. Retry Power cycle
2. Check the send diagnostic end status. If the status is
- GOOD, Return to normal processing
- Check Condition Status, issue a Request Sense (03) and follow the recommendations for the sense data
returned unless the sense data is for a component mismatch. If the sense data is for component mismatch,
service the drive using the service guideline recommended in Section 10.15.1 "Drive Service Strategy".

283
Hard Disk Drive Specification
Self Initiated Reset
The Drive will initiate a self reset when the condition of the Drive cannot be determined. The internal reset will
terminate any outstanding commands, release any reserved initiators, and stop the spindle motor. The initiator can
recover by
1. Logging the error
2. Retrying the failing command. If the failing command completes with:
- Good Status, return to normal processing
- Self initiated reset sense, service the drive according the guidelines recommended in Section 10.15.1
"Drive Service Strategy".
- Other, follow the recommendations for the error reported.

Defect List Recovery


This is not an error condition.
The initiator either requested a defect list in a format (block or vendor specific) that the Drive does not support or
the requested defect list(s) exceed the maximum list length that can be returned. If the Sense Key/Code/Qualifier
are:
1/1F/00, the requested list(s) exceed the maximum length that can be supported. The initiator should request one
list at a time. If a single list exceeds the maximum returnable length, this may be an indication of a marginally
operational drive. Service the drive following the service guidelines in Section 10.15.1 "Drive Service Strategy".
1/1C/01 or 1/1C/02, the requested defect list is not in the format that the Drive supports. The requested defect list is
returned in the physical (cylinder, sector, head) format. This is the default format. There is no initiator action
required for this condition.

Miscompare Recovery
A Miscompare can occur on a Verify (2F) command or a Write and Verify (2E) with the byte check (BytChk) bit
active. Recovery for a Miscompare error is different for the two commands.
Verify Command
The initiator should do the following:
1. Verify that the data sent to the drive is the correct data for the byte-by-byte compare.
2. Read the data from the media with a Read (08) or Read (28) command and verify that the data from the
media is the expected data for the byte-by-byte compare.
- If all data are correct, this is an indication that the data may have been read from the media incorrectly
without an error detected. Service the drive using the procedure specified in Section 10.15.1 "Drive Service
Strategy".
- If all data are not correct, this is an indication that the data on the media is not the data the initiator
expected. Rewrite the correct data to the media.
Write and Verify Command
The drive uses the same data in the data buffer to write then read and compare. A Miscompare error on the Write
and Verify (2E) command is an indication that the drive cannot reliably write or read the media. Service the drive
using the procedures specified in Section 10.15.1 "Drive Service Strategy".

284
Hard Disk Drive Specification
Microcode Error
The microcode from the interface is validated before the device operates using that microcode. When the validation
detects incorrect or incomplete data, the Drive enters degraded mode.
If the initiator attempted to load microcode using the Write Buffer (3B) retry the Write Buffer (3B). If the command
completes with
- Good Status - return to normal processing
- Check Condition Status - service the drive using the service guidelines recommended in Section 10.15.1
"Drive Service Strategy".
If the check sum error occurred during normal processing, the initiator may attempt to load microcode before
deciding to service the drive using the service guidelines recommended in Section 10.15.1 "Drive Service Strategy".
To load new microcode, the initiator should issue a Write Buffer (3B) command with the download and save option.
If the Write Buffer (3B) command completes with
- Good Status, return to normal processing. Retry the failing command. If the task complete with
- Good Status - Continue normal processing.
- Check Condition Status for check sum error - Service the drive using the service guidelines recommended
in Section 10.15.1 "Drive Service Strategy".
- Check Condition Status for any other error - follow the recommended recovery procedure for the error
reported.
- Check Condition Status for Check sum error, service the drive using the service guidelines recommended in
Section 10.15.1 "Drive Service Strategy".
- Check Condition Status for any other error, follow the recommendations for the returned sense data.

Predictive Failure Analysis


The Drive performs error log analysis and will alert the initiator of a potential failure. The initiator should determine if
this device is the only device with error activity.
If this drive is the only drive attached to the initiator with error activity, service the drive using the procedures
specified in Section 10.15.1 "Drive Service Strategy".
Note: Service for this drive can be deferred. The longer service is deferred, the more probable a failure can occur that will
require immediate service.

If more than this drive is experiencing error activity, the drive is probably not at fault. Locate and service the outside source
causing error activity on this drive.

285
Hard Disk Drive Specification
RAID Rebuild Assist
A rebuild operation is performed when some or all of the LBAs on a logical unit have become unreadable in a
storage array controller and a new logical unit is being initialized to replace the failed logical unit. The data for the
new logical unit may be constructed by reading the data from remaining logical units and using that data to
reconstruct the data to be written to the replacement logical unit.
The rebuild assist mode allows the storage array controller controlling the rebuild process to determine which
logical blocks on the failed logical unit are unreadable without having to read every LBA to determine the
unreadable logical blocks (i.e., the read command is terminated with CHECK CONDITION status and the failed LBA
is reported in the sense data). The storage array controller then may reconstruct the failed logical blocks. The
remaining logical blocks may be copied to the replacement logical unit.
The application client should issue sequential read commands to read the available data from the failed logical unit.
If a read command does not encounter an unrecoverable LBA, then the read command should complete without
error.
The rebuild assist mode allows reporting of an unrecovered read error or write error that is predicted (i.e., predicted
unrecovered error). Predicted unrecovered errors may be determined by the device server when rebuild assist
mode in enabled.
The rebuild assist mode also allows reporting of an unrecovered read error or write error that is unpredicted (i.e.,
unpredicted unrecovered error). Unpredicted unrecovered errors are any unrecovered error that is not predicted
when the rebuild assist mode is enabled.
If the device server encounters predicted unrecoverable LBAs on a read command, then:
A) The sense key is set to ABORTED COMMAND
B) The additional sense code is set to MULTIPLE READ ERRORS
C) The INFORMATION field is set to the LBA of the first unrecoverable logical block
D) The COMMAND-SPECIFIC INFORMATION field is set to the LBA of the last unrecovered logical block in a
sequence of contiguous unrecovered logical blocks that started with the LBA specified in the INFORMATION
field.

286
Hard Disk Drive Specification
Rebuild Assist diagnostic page
The Rebuild Assist diagnostic page provides:
A) A method to put the logical unit in the rebuild assist mode.
B) A method to put the logical unit in a simulated failure mode in conjunction with the rebuild assist mode.

Rebuild Assist input diagnostic page


An application client may send a RECEIVE DIAGNOSTIC RESULTS command to retrieve information about a
rebuild assist mode that may be enabled.
Byte
Bit
7 6 5 4 3 2 1 0
0 PAGE CODE (42h)
1 Reserved
2 (MSB) PAGE LENGTH (4 + 2n)
3 (LSB)
4 Reserved ENABLED
5 Reserved
6 Reserved
7 PHYSICAL ELEMENT LENGTH (n)
8 (MSB) PHYSICAL ELEMENT MASK
7+n (LSB)
8+n (MSB) DISABLED PHYSICAL ELEMENT
7 + 2n (LSB)
Table 282 Rebuild Assist input diagnostic page

Rebuild Assist output diagnostic page


An application client may send a SEND DIAGNOSTIC command to:
A) Enable rebuild assist mode.
B) Enable rebuild assist mode with disabling of physical elements (i.e., to simulate predicted failure of physical
elements)
C) Disable rebuild assist mode.
Byte
Bit
7 6 5 4 3 2 1 0
0 PAGE CODE (42h)
1 Reserved
2 (MSB) PAGE LENGTH (4 + 2n)
3 (LSB)
4 Reserved ENABLED
5 Reserved
6 Reserved
7 PHYSICAL ELEMENT LENGTH (n)
8 (MSB) PHYSICAL ELEMENT MASK
7+n (LSB)
8+n (MSB) DISABLED PHYSICAL ELEMENT
7 + 2n (LSB)
Table 283 Rebuild Assist output diagnostic page

287
Hard Disk Drive Specification
Firmware Security
This chapter provides information on Western Digital encryption-specific HDD firmware and features. It is
assumed that the reader is familiar with the referenced specifications and industry standards.

Referenced Specifications and Standards


TCG Specifications
This section references 3 separate TCG specifications, which are available on the TCG website:
(http://www.trustedcomputinggroup.org/):
1. TCG Core Specification, Version 2.00, Revision 1.00 (4/20/2009)
- The TCG Core Specification is the general specification for trusted computing that encompasses all classes
of devices, including storage
2. TCG Storage Interface Interactions Specification (SIIF), Version 1.0, 1/27/2009
- Specifies the interaction between the HDD and the SCSI/ATA protocols
3. TCG Storage Security Subsystem Class (SSC): Enterprise, Version 1.00, rev 3.00 (1/10/2011)
- A Security Subsystem Class defines minimum acceptable Core Specification capabilities of a storage device
in a specific class (in our case – enterprise).
- Storage devices in specific classes may have a subset of the capabilities that are defined in the core
specification
4. TCG Storage Security Subsystem Class: Opal Specification, Version 2.00 Final Revision 1.00 (February 24,
2012)

Federal Information Processing Standards (FIPS)


This section references the following Federal Information Processing Standards, published by the US National
Institute of Standards (NIST), which are available on the NIST website (http://www.itl.nist.gov/fipspubs/ ):
1. FIPS 197, Advanced Encryption Standard (AES), 2001 November 26.
http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf
2. FIPS 180-3, Secure Hash Standard (SHS)
http://csrc.nist.gov/publications/fips/fips180-3/fips180-3_final.pdf
3. FIPS 140-2, Security Requirements for Cryptographic Modules – 01 May 25
(Supersedes FIPS PUB 140-1, 1994 January 11)
http://csrc.nist.gov/publications/fips/fips140-2/fips1402.pdf

National Institute of Standards and Technology (NIST)


This section references the following NIST publications, available on the NIST website
(http://www.nist.gov/index.html)
 [AES] Advanced Encryption Standard, FIPS PUB 197, NIST, 2001, November
 [DSS] Digital Signature Standard, FIPS PUB 186-3, NIST, 2006, March
 [FIPS140] Security Requirements for Cryptographic Modules, FIPS PUB 140-2, NIST, 2002 December
 [HMAC] The Keyed-Hash Message Authentication Code, FIPS PUB 198-1, 2007 June
 [SHA] Secure Hash Standard (SHS), FIPS PUB 180-3, NIST, 2007 June
 [SP800-38E] Recommendation for Block Cipher Modes of Operation: The XTS-AES Mode for Confidentiality
on Storage Devices, SP800-38E, NIST, 2010 January
 [SP800-38F] Recommendation for Block Cipher Modes of Operation: Methods for Key Wrapping, NIST, 2012
December
 [SP800-57] Recommendation for Key Management – Part I General (Revision 3), NIST, 2012 July

288
Hard Disk Drive Specification
 [SP800-90A] Recommendation for Random Number Generation Using Deterministic Random Bit Generators,
NIST, 2012 Jan
 [SP800-131A] Transitions: Recommendation for Transitioning the Use of Cryptographic Algorithms and Key
Lengths, NIST, 2011 Jan
 [SP800-132] Recommendation for Password-Based Key Derivation, NIST, 2010 December

Department of Defense
DoD 5220.22-M, "National Industrial Security Program Operating Manual", 2/28/2006
http://www.dtic.mil/whs/directives/corres/pdf/522022m.pdf
DoD 5220.22-M Supplement 1, “National Industrial Security Program Operating Manual Supplement”, 02/1995 -
http://www.dtic.mil/whs/directives/corres/pdf/522022MSup1.pdf

RSA Laboratories Standards


1. RSA-PSS - http://www.rsa.com/rsalabs/node.asp?id=2146
2. RSA PKCS #5 v2.0 Password-Based Cryptography Standard - ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-
5v2/pkcs5v2-0.doc

Other Standards
T10 SCSI Standard.(T10 homepage - http://www.t10.org/index.html)

Implementation Exceptions
The following is a list that describes non-compliance with the TCG Enterprise SSC specification:
 The SSC specification requires support for 1024 bands, but the implementation supports up to 6 bands.
 Bands must be 4K aligned. This means Band start (Range start) and Band size (Range size) must be 4K
aligned.
 The K_AES_256 table was implemented with only the UID and MODE columns.
 Only one active session is permitted at a time. If a new session is requested when a session is already active,
the drive answers the host with SP_BUSY, instead of NO_SESSIONS_AVAILABLE

Implementation Features and Details Outside of TCG


Specifications
The following features are outside of the TCG specifications.
1. Ports
2. Firmware signing
The following implementation details are outside of the TCG SSC specification.
a. The SSC Specification states “The TPer SHALL implement the ParamCheck Longitudinal Redundancy
Check (LRC) for Get and Set method calls on a PIN value". If the LRC check is erroneously applied to a
value other than a PIN we ignore it, therefore no error is generated.
b. When handling a "TCG cmd followed by a R/W cmd", all reads and writes that follow a TCG command will
be processed in the normal way. No special handling or error messages will be sent to the host. It is up to
the host to understand the possible outcomes of TCG commands and r/w command ordering and plan
accordingly.
c. CRC checking is disabled in all cases, so the drive will return data to the host. If the user successfully
authenticates, then unencrypted data is returned to the host. If the user is unable to authenticate,
encrypted data is returned to the host.
d. The TPer replies with SP_BUSY for requests beyond 1 session.

289
Hard Disk Drive Specification
Encryption Algorithms
Advanced Encryption Standard (AES) Support
AES encryption is implemented in hardware, with support for ECB or XTS mode for 128 bit or 256 bit keys.
A single key is active at any one time within the AES hardware engine. Firmware is responsible for reading the
keys from the hardware and also for determining which key is attached to a given LBA range; the hardware can
only detect if the LBA has been encrypted or not. The TCG protocol does not allow for a user to choose or switch
between AES algorithms, so it is up to the vendor to choose which AES algorithm is used in their implementation.
The Western Digital TCG SSC implementation in firmware supports AES 256-XTS only.

‘Level 0 Discovery’ Vendor Specific Data


This section refers to section 10.2.14 of the TCG Storage Security Subsystem Class document (see the
Specifications section of this document). This Vendor Specific section is documented below.
Bit
Byte
7 6 5 4 3 2 1 0
16 Version (set to 0)
17 Vendor Specific State Information
18 Reserved
19 RSVD MB_s 0 0 Diag_s Dload_s Locking_s FDE_s
20 Reserved
21 RSVD MB_e 0 0 Diag_s Dload_e Locking_e FDE_e
22 0 0 0 0 0 0 0 inFIPS
23-47 Reserved

Table 284 Persistent Reserve In (5E)

FDE_s/FDE_e - Full disk encryption is Supported (equivalent to Media Encryption in Locking Feature Descriptor
Enterprise SSC 10.2.14) / Full disk encryption is Enabled on one or more band.
Locking_s/Locking_e - LBA band locking is supported - locking object exists in the locking SP of the device
(equivalent to Locking Enabled in Locking Feature Descriptor Enterprise SSC 10.2.14) / The locking object for a
band has either ReadLocked or WriteLocked attribute set (equivalent to Locked in Locking Feature Descriptor
Enterprise SSC 10.2.14).
Dload_s/Dload_e - support for Admin SP Firmware download port / Firmware download port via Admin SP is
locked.
Diag_s/Diag_e - Support for Admin SP vendor specific Diagnostic port / Diagnostics port via Admin SP is locked.
MB_s/MB_e - Multiple encrypting bands supported / multiple encrypting bands enabled. This bit shall be set to 1 if
more than one band exists in addition to the global band and is defined with at least one LBA.
In FIPS – This bit is set when FIPS mode has been configured.

T10 End-To-End Data Protection


AES encryption is performed after T10 end-to-end data protection data has been added, so that the T10 information
is encrypted along with the customer data.

290
Hard Disk Drive Specification
Deterministic Random Bit Generation (DRBG)
Pseudo-random number generation is implemented with a certified NIST SP800-90A DRBG. The DRBG uses AES
as a primitive for both entropy mixing and entropy output. DRBG state is kept private to ensure that the keys that
are generated by the device are unpredictable. The entropy source of the DRBG is servo subsystem noise. It has
been verified to NIST SP800-90B.

Key Wrap
The NIST SP800-38F key wrap algorithm is used to encrypt a key with another key (KEK= Key Encryption Key). For
any band i, the KEK_i is derived from PIN_i and salt_i using the NIST 800-132 algorithm. The KEK_i is then used to
wrap a band’s encryption key.

Key Erasure
Cryptographic erase procedure
 Erase and overwrite wrapped key material with 0x00.
 Erase and store the new wrapped key material.

291
Hard Disk Drive Specification
TCG SSC Tables
Two copies of all TCG SSC tables and data structures are stored in the RID; one is used as a primary copy and the
other as a backup copy. The backup copy is used in the event the primary copy becomes corrupted. Each time a
write is executed to any TCG table, both the primary and backup copies of the tables are updated and saved in the
RID. In the case of a corrupted copy, the good copy is always used to restore the corrupted copy to the correct
state. If both copies of the tables become corrupted during operation, the tables will be reinitialized to default
values automatically, and this will result in a key mismatch error when a read is attempted.
The default values in the TCG tables created at the time of manufacturing are per the TCG SSC specification. The
following tables contain VU (Vendor Unique) entries, which are set at the time of manufacturing.
 ‘Admin SP’ C_PIN table
 ‘Locking SP’ C_PIN table
 K_AES_256 table
 ‘Locking SP’ Locking Access Control table
 ‘Locking Info’ Table
 ‘Locking SP’ Locking Table
The VU entries for these tables are specified below. In addition, explanation of default values is given for non-VU
entries that require it.

‘Admin SP’ C_PIN and ‘Locking SP’ C_PIN Tables


Per TCG SSC specification, the PIN is set to the MSID at manufacturing time. Western Digital has specified the
MSID to be the serial number of the drive concatenated 4x. Try Limit is set to 0, meaning that there is no limit.
Tries is set 0, meaning that there have been no fail attempts. Persistence is set to 0, meaning the “Tries” value
does not persist through power cycles (The “Tries” value is reset to 0 after successful attempt or a power cycle).
PIN Try Limit Tries Persistence
SID 0 0 0
MSID 0 0 0
- - - -
PSID 0 0 0

Table 285 Western Digital Default Values for ‘Admin SP’ C_PIN & ‘Locking SP’ C_PIN

K_AES_256 Table
The K_AES_256 table has 6 rows, one row for each band that can be allocated by the user. The first row is for the
“global range”, also known as Band 0. This table was implemented without the “Name”, “Common Name”, and
“Key” Columns.
UID (8 byte hex) MODE
00 00 08 06 00 00 00 01 23
00 00 08 06 00 00 00 02 23
… ...
00 00 08 06 00 00 00 06 23

Table 286 Western Digital Implementation of K_AES_256 Table

The mode is specified in the TCG Enterprise SSC as a “Vendor Unique” (VU) entry. Western Digital initialize it in
manufacturing to mode=23 (media encryption mode, per TCG specification) for all 6 entries.

292
Hard Disk Drive Specification
‘Locking SP’ Access Control Table
The TCG Enterprise SSC defines the values for Row Number and UID as “Vendor Unique” (VU). Western Digital
has defined them to be the row number in the table, with a range of 0-459. The range is calculated using the
following formula:
number_of_rows = (#Supported Bands * 7) +12, where
 #Supported Bands = 6 (The implementation supports 6 bands)
 The number 7 comes from the fact that each band has 7 UID/method combinations
 The number 12 comes from the following 12 methods that must be included in the table.
1. ThisSP / Authenticate
2. Authority Table/Next
3. Anybody Authority Object/ Get
4. Band Masters Authority Object/ Get
5. Erase Master Auth. Object / Get
6. C_PIN table / Next
7. Erase Master C_PIN Object/ Set
8. Locking Info Table / Get
9. Locking Table / Next
10. DataStore / Get
11. DataStore / Set
12. ThisSP / Random
Row Number UID
0 0
1 1
… ...
53 53

Table 287 Western Digital Implementation of ‘Locking SP’ Access Control Table

‘Locking Info’ Table


As specified in the TCG Enterprise SSC, this table has only 1 row. The “Vendor Unique” entries are specified in
the table below. Encryption Support is initialized to Encryption Support=23 (media encryption mode) in
manufacturing.

Encrypt
NAME Version Max Ranges Max ReEncryptions Keys Available Cfg
Support

0 0 23 6 0 0

Table 288 Western Digital Implementation of ‘Locking Info’ Table

293
Hard Disk Drive Specification
‘Locking SP’ Locking Table
The “Vendor Unique” (VU) values for this table are shown below.

ReEncrypt ReEncrypt Adv Key Cont On Last ReEncrypt Last Re General


Next Key Verf Mode
State Request Mode Reset LBA Enc Stat Status

00 00 00 00
0 0 0 0 0 0 0 0
00 00 00 00h

- - - - - - - - -

00 00 00 00
0 0 0 0 0 0 0 0
00 00 00 05h

Table 289 Western Digital Implementation of ‘Locking SP’ Locking Table

In the ActiveKey column, the Enterprise SSC allows for byte 3 to be defined as either 05 or 06. The Western
Digital implementation uses 06.

294
Hard Disk Drive Specification
Firmware Download and Signing
The Western Digital firmware signing and download for encryption drives is meant to provide a mechanism for
secure updates through the Host interface. Firmware is downloaded to the drive through the host interface, and
the signature is verified using a public key installed in the reserved area during manufacturing, before it is loaded to
RAM or installed in the reserved area on the HDD.
Signature verification uses the RSA-PSS (Probabilistic Signature Scheme) signature verification algorithm with
EMSA-SHA256 as padding function. The firmware was designed and implemented with the intention of meeting
the signing requirements under FIPS 140-2.
All Western Digital firmware packages will be signed, but only encryption enabled drives will verify the signature. If
the signature cannot be successfully verified on encryption drives, the firmware cannot be downloaded onto the
Western Digital encryption drives. Failures to authenticate the firmware image will result in Check Condition with
KCQ 5/26/9a (FRU 0). The act of issuing a firmware download to the drive will result in an implicit close of all open
sessions at the security layer.

Revert Feature
Western Digital has extended TCG Enterprise to include the TCG Opal Revert method. Revert enables the
customer, as needed by organizational policy, to overwrite existing TCG settings to the default values that were
written during manufacturing.
Revert introduces a new TCG authority, PSID, to the Admin SP. During manufacturing, the PSID is hashed, and the
digest is stored in a reserved area inside the drive. Also during manufacturing, the PSID is printed, in plaintext, on
the drive’s physical, external label. The PSID PIN cannot be accessed via the drive’s interface, and it cannot be
changed.
Below is the procedure to execute Revert:
 Start Session on the Admin SP
 Authenticate to the PSID authority
 Execute the Revert Method
 Successful completion of Revert automatically ends the TCG session
Notes for Revert include:
 Revert execution that encounters an error does not close the TCG session
 Reset of the drive during Revert will cause the subsequent power up sequence to be extended while Revert
finishes its work
UID Name Common Name IsClass Class Enabled Operation Credential

00 00 00 09 PSID PhysicalDriveOwner F Null T Password C_PIN_PSID


00 01 FF 01

Table 290 PSID Authority Added to ‘Admin SP’ Authority Table

UID Name Common Name PIN CharSet TryLimit Tries Persistence


00 00 00 09 C_PIN_PSID PhysicalDriveOwner VU Null 0 0 FALSE
00 01 FF 01

Table 291 PSID Addition to ‘Admin SP’ C_PIN table

295
Hard Disk Drive Specification
InvokingID MethodID ACL GetACLACL
AdminSPObj Revert ACE_SP_SID_ACE_SP_PSID ACE_Anybody
00 00 02 05 00 00 00 06 00 00 00 08 00 00 00 08
00 00 00 01 00 00 02 02 00 01 00 E0 00 00 00 01
PSID Get Anybody Anybody
00 00 00 09 00 00 00 06 00 00 00 08 00 00 00 08
00 01 FF 01 00 00 00 06 00 00 00 01 00 00 00 01
PSID Set ACE_Makers_Set_Enabled Anybody
00 00 00 09 00 00 00 06 00 00 00 08 00 00 00 08
00 01 FF 01 00 00 00 07 0003 00 01 00 00 00 01
C_PIN_PSID Get ACE_C_PIN_Get_PSID_NoPIN_UID Anybody
00 00 00 0B 00 00 00 06 00 00 00 80 00 00 00 08
00 01 FF 01 00 00 00 06 00 01 00 E1 00 00 00 01
Table 292 Additions to ‘Admin SP’ Access Control Table

New ACE table entries related to Revert are illustrated in Table 290.

Ports
The ports capability is an Western Digital feature which is not a requirement under TCG Enterprise SSC. In order
to use the ports capabilities on encryption drives, the user must successfully authenticate. Once a user
successfully authenticates, they may change the state of any of the ports at any time during an active session to
either the locked or unlocked state. The exception of having to authenticate, is anyone can use the Get Firmware
Download Port Values command without authenticating. The functionality and definition of these ports is shown
below in a table.
The feature does make use of the TCG structures and tables. An additional table, the ports table, has been
implemented, and additional entries were made to the Admin SP ACE table and the Admin SP AccessControl
Table. The ports table and the modified TCG SSC tables are shown below

Port Name Description


Firmware Download This port has 2 valid states: locked and unlocked.
On encryption drives, the download port is unlocked initially, Lock On Reset is "Null".
Code can be downloaded onto the drive after the signature is successfully verified. If the
signature cannot be verified successfully, no firmware can be downloaded to the drive.
The user can change the state of the firmware download port only after authentication.
On non-encryption drives, this port will be set to unlocked at the factory, and the state
cannot be changed by the user. Firmware will be downloaded to the non-encryption drive
through this port without verification of the signature.
Diagnostics This port has 2 valid states: locked and unlocked. This port allows Western Digital
access to modify any TCG table or key. In order to open this port both the SID and the
Maker authorities need to be authenticated. The purpose of this port is to aid Western
Digital in debugging.
Table 293 Ports Functionality

UID Name LockOnReset PortLocked


00 01 00 02 00 01 00 02 Firmware_Dload_Port Null FALSE

00 01 00 02 00 01 00 01 Diagnostic_Port PowerCycle TRUE

Table 294 Ports Table

296
Hard Disk Drive Specification
Cmn Row Row
UID Name Boolean Expression Column Start Column End
Name Start End
00 00 00 08
00 00 00 01 Anybody “” 00 00 00 09 00 00 00 01 Null Null ‘’’’ ‘’’’
00 00 00 08
00 00 00 03 Makers ‘’’’ 00 00 00 09 00 00 00 03 Null Null ‘’’’ ‘’’’
00 00 00 08
00 00 02 01 SID “” 00 00 00 09 00 00 00 06 Null Null ‘’’’ ‘’’’
00 00 00 08
00 00 8C 03 SID_SetSelf “” 00 00 00 09 00 00 00 06 Null Null “PIN” “PIN”
00 00 00 08
00 00 8C 04 MSID_Get “” 00 00 00 09 00 00 00 01 Null Null “PIN” “PIN”
00 00 00 08
00 00 8C 05 SID_Set Makers “” 00 00 00 09 00 00 00 06 Null Null “Enabled” “Enabled”

00 00 00 09 00 00 00 06
00 00 00 08
00 00 8C 06 SID_Makers_SetDiag “” And Null Null “PortLocked” “PortLocked”
00 00 00 09 00 00 00 03
00 00 00 09 00 00 00 06
00 00 00 08
00 00 8C 07 SID_Makers_GetDiag “” And Null Null “PortLocked” “PortLocked”
00 00 00 09 00 00 00 03
00 00 00 08
00 00 8C 08 SID_SetPort “” 00 00 00 09 00 00 00 06 Null Null “PortLocked” “PortLocked”
00 00 00 08
00 00 8C 09 SID_GetPort “” 00 00 00 09 00 00 00 06 Null Null “LockOnReset” “PortLocked”

00 00 00 80 ACE_C_PIN_Get_PSID_
00 01 00 E1 “” 00 00 00 09 00 00 00 01 Null Null “” “”
NoPIN
00 00 00 08
00 01 00 E0 ACE_SP_PSID “” 00 00 00 09 00 01 FF 01 Null Null “” “”
00 00 00 09
00 01 FF 01 ACE_Makers_Set_Enabled “” 00 00 00 09 00 00 00 06 Null Null “” “”

Table 295 Modified ‘Admin SP’ ACE Table

The last 3 lines of the table are additional entries required for Revert. The 2 lines of the table are the additional
entries required to implement the firmware download port.

Row Add ACE Remove


UID Invoking ID Method ID Common Name ACL Log Method ID
Number ACL ACE ACL
00 00 00 00 00 00 00 06 Anybody 00 00 00 08 00 00 00 06
VU VU 00 00 00 01 00 00 00 0C Authenticate 00 00 00 01 None Null Null 00 00 00 0C
(This SP) (Authenticate) Admin SP (Anybody) (Authenticate)

00 00 00 09 00 00 00 06 00 00 00 08 00 00 00 08
Makers-Next-
VU VU 00 00 00 00 00 00 00 08 00 00 00 03 None Null Null 00 00 00 03
Authority table
(Authority table) (Next) (Makers) (Makers)

00 00 00 09
00 00 00 06 Anybody-Get- 00 00 00 08 00 00 00 08
00 00 00 01
VU VU 00 00 00 06 Anybody Authority 00 00 00 01 None Null Null 00 00 00 01
(Anybody Authority
(Get) Object (Anybody) (Anybody)
object)

00 00 00 09
00 00 00 06 Anybody-Get- 00 00 00 08 00 00 00 08
00 00 00 03
VU VU 00 00 00 06 Anybody Authority 00 00 00 03 None Null Null 00 00 00 03
(Makers Authority
(Get) Object (Makers) (Makers)
object)

00 00 00 09
00 00 00 06 00 00 00 08 00 00 00 08
00 00 00 06 SID-Get-SID
VU VU 00 00 00 06 00 00 02 01 None Null Null 00 00 02 01
(SID Authority Authority Object
(Get) (SID) (SID)
object)

Table 296 Modified ‘Admin SP’ Access Control Table (part 1 of 2)

297
Hard Disk Drive Specification
Row Add ACE Remove
UID Invoking ID Method ID Common Name ACL Log Method ID
Number ACL ACE ACL

00 00 00 0B 00 00 00 06 00 00 00 08 00 00 00 08
Makers-Next-C_
VU VU 00 00 00 00 00 00 00 08 00 00 00 02 None Null Null 00 00 00 02
(C_PIN table) (Next) PIN table (Makers)
(Makers)
00 00 00 0B
00 00 00 06 00 00 00 08 00 00 00 08
00 00 00 01 SID_Set Self-Set-
VU VU 00 00 00 07 00 00 8C 03 None Null Null 00 00 02 01
(SID C_PIN SID_C_ PIN object
(Set) (SID_SetSelf) (SID)
object)

00 00 00 0B
00 00 00 06 MSID_Get-Get- 00 00 00 08 00 00 00 08
00 00 84 02
VU VU 00 00 00 06 MSID C_PIN 00 00 8C 04 None Null Null 00 00 02 01
(MSID C_PIN
(Get) object (MSID_Get) (SID)
object)
00 00 00 09
00 00 00 03 00 00 00 06 SID_SetMakers- 00 00 00 08 00 00 00 08
VU VU (Makers 00 00 00 07 Set-Makers 00 00 8C 05 None Nul Nul 00 00 02 01
Authority (Set) Authority Object (SID_SetMakers) (SID)
object)
00 00 00 00 00 00 00 06 00 00 00 08 00 00 00 00 08
VU VU 00 00 00 01 00 00 06 01 Anybody-Random 00 00 01 None Nul Nul 00 00 00 01
(ThisSP) (Random) (Anybody) (Anybody)
00 00 00 08
00 01 00 02 00 00 00 06 00 00 02 01
VU VU 00 01 00 02 00 00 00 07 SID_Set_Dload SID_SetPort None Nul Nul
(SID)

00 00 00 08
00 01 00 02 00 00 00 06
VU VU SID_GetDload SID_GetPort None Nul Nul 00 00 02 01
00 01 00 02 00 00 00 06
(SID)

00 00 00 08
00 01 00 02 00 00 00 06 SID_Makers_ SID_Makers_Set
VU VU None Nul Nul 00 00 02 01
00 01 00 01 00 00 00 07 SetDiag Diag (SID)

00 00 00 08
00 01 00 02 00 00 00 06 SID_Makers_ SID_Makers_Set
VU VU None Nul Nul 00 00 02 01
00 01 00 02 00 00 00 06 SetDiag Diag (SID)

Table 297 Modified ‘Admin SP’ Access Control Table (part 2 of 2)

The last 2 lines of the table are the additional entries required to implement the firmware download port.

298
Hard Disk Drive Specification
MSID
The MSID is set for each drive at the time of manufacturing to the serial number concatenated 4 times, to create a
32 byte password. Thus, as an example, if the serial number of a drive is abcd1234, the MSID would then be set
to abcd1234abcd1234abcd1234abcd1234. In TCG use cases such as “erase” or “repurpose”, this will be the
MSID that is restored to the drive.
Western Digital serial numbers are unique and are generated according to the following general rules:
 Maximum length of the serial number is 8 characters
 Serial numbers do not contain the characters “I" or "O".

Logging
Western Digital logging functions will not record any sensitive data such as customer plain text data, passwords,
encryption keys or wrapping keys.

Number of Sessions
The Western Digital implementation supports 1 active session at a time. In the case when a session is active and
a new session is requested, the drive answers the host with SP_BUSY. This covers the following 2 scenarios.
 If an SP is in session and an attempt is made to start a second session with the same SP.
 If an SP is in session and an attempt is made to start a second session with a different SP.

Number of Bands
The Enterprise SSC specification calls for support of up to 1024 bands. The Western Digital implementation
supports a maximum of 6 bands.
Bands must be 4K aligned. This means Band start (Range start) and Band size (Range size) must be 4K aligned.

Number of COMIDs
The Western Digital Enterprise SSC implementation supports 2 COMIDs, the minimum requirement in the
Enterprise SSC specification. Only 1 COMID can be in use at any time.

299
Hard Disk Drive Specification
Locked and Unlocked Behavior
T10 SCSI Commands
The table below describes how basic T10 SCSI commands behave on encryption drives in the locked and unlocked
states.
Command Unlocked Locked
FORMAT UNIT (04) OEM Command can’t be executed when locked. Must unlock with
MSID or password, before formatting.
INQUIRY (12) OEM OEM
LOG SELECT (4C) OEM OEM
LOG SENSE (4D) OEM OEM-no access to customer data, will get some log information.
MODE SELECT (15) OEM OEM
MODE SELECT (55) OEM OEM
MODE SENSE (1A) OEM OEM
MODE SENSE (5A) OEM OEM
PERSISTENT RESERVE IN
OEM OEM
(5E)
PERSISTENT RESERVE IN (5F) OEM OEM
PRE-FETCH (34) OEM MSID only - limits DRAM accessibility. This is a read function.
READ (6) - (08) OEM Ent_A authorized only
READ (10) - (28) OEM Ent_A authorized only
READ (12) - (A8) OEM Ent_A authorized only
READ (16) - (88) OEM Ent_A authorized only
READ (32) - (7F/09) OEM Ent_A authorized only
READ BUFFER (3C) OEM OEM. Sensitive data cannot be snap shorted from DRAM.
READ CAPACITY (10) - (25) OEM OEM
READ CAPACITY (16) (9E/10) OEM OEM
READ DEFECT DATA (37) OEM OEM
READ DEFECT DATA (B7) OEM OEM
READ LONG (3E) OEM Ent_A authorized only
REASSIGN BLOCKS (07) OEM Command access denied if the effective range is locked.
RECEIVE DIAGNOSTICS OEM OEM
RESULTS (1C)
RELEASE (17) OEM OEM
RELEASE (57) OEM OEM
REPORT DEVICE IDENTIFIER OEM OEM.
(A3/05)
REPORT LUNS (A0) OEM OEM.
REPORT SUPPORTED OEM OEM.
OPERATION CODES (A3/0C)
REPORT SUPPORTED TASK OEM OEM
MANAGEMENT FUNCTIONS
(A3/0D)
REQUEST SENSE (03) OEM OEM
RESERVE (16) OEM OEM
RESERVE (56) OEM OEM
REZERO UNIT (01) OEM OEM
Table 298 T10 SCSI Commands Behavior Table (part 1 of 2)

300
Hard Disk Drive Specification
Command Unlocked Locked
SEND DIAGNOSTIC (1D) OEM Customer specific.
SET DEVICE IDENTIFIER (A4/06) OEM OEM.
START STOP UNIT (1B) OEM OEM
SYNCHRONIZE CACHE (10) - (35) OEM OEM
SYNCHRONIZE CACHE (16) - (91) OEM OEM
TEST UNIT READY (00) OEM OEM
VERIFY (2F) OEM Command access denied if the effective range is locked.
VERIFY (12) - (AF) OEM Command access denied if the effective range is locked.
VERIFY (16) - (8F) OEM Command access denied if the effective range is locked.
VERIFY (32) - (7F/0A) OEM Command access denied if the effective range is locked.
WRITE (6) - (0A) OEM Command access denied if the effective range is locked.
WRITE (10) - (2A) OEM Command access denied if the effective range is locked.
WRITE (12) - (AA) OEM Command access denied if the effective range is locked.
WRITE (16) - (8A) OEM Command access denied if the effective range is locked.
WRITE (32) - (7F/0B) OEM Command access denied if the effective range is locked.
WRITE AND VERIFY (10) - (2E) OEM Command access denied if the effective range is locked.
WRITE AND VERIFY (12) - (AE) OEM Command access denied if the effective range is locked.
WRITE AND VERIFY (16) - (8E) OEM Command access denied if the effective range is locked.
WRITE AND VERIFY (32) - (7F/0C) OEM Command access denied if the effective range is locked.
WRITE BUFFER (3B) OEM OEM
(T10) (write DRAM
on to drive)
WRITE BUFFER (3B) FW is signed OEM. The write buffer command only functions to write
(For FW download) and to the buffer.
downloaded
WRITE LONG (3F) OEM Per TCG and T10 specification. Ent_A authorized only.
WRITE SAME (41) OEM Ent_A authorized only
WRITE SAME (16) - (93) OEM Ent_A authorized only
WRITE SAME (32) - (7F/0D) OEM Ent_A authorized only
SECURITY_IN OEM Per TCG spec. Contains TCG payload.
SECURITY_OUT OEM Per TCG spec. Contains TCG payload.
Table 299 T10 SCSI Commands Behavior Table (part 2 of 2)

301
Hard Disk Drive Specification
TCG SSC Commands
The table below describes how the required TCG Enterprise SSC commands behave on encryption drives in the
locked and unlocked states. The TCG Enterprise requires the implementation of the Base, Admin, Locking, and
Crypto Templates.

Command Description unlocked Locked


Session There are two types of sessions:
Management 1) Read-Only session
2) Read-Write session.
The SSC requires us to support Read-Write sessions. Read-Only
session is not allowed. A session is always initiated by the host.
See the “Write” parameter in the Start Session method
description @ TCG Core 5.2.3.1, and see SSC requirement in
SSC 6.2.1.2.

Properties Returns session properties to host. N/A N/A


Start Session Start a session N/A N/A

Syc Session Response to say session successfully started. N/A N/A


Close Session End (Close) a session N/A N/A

Table 300 TCG Enterprise SSC Commands Behavior -1

Command Description unlocked Locked


Discovery Allows the host to discover a TCG drive, its properties,
and table values.
Level 0 Discovery request sent by host as IF-RCV command. N/A N/A
Security Protocol = 0x01, COMID=0x0001

Level 1 Request basic TPER capabilities via properties using Uses properties Uses properties
host messaging. method. method.
Level 2 TCG methods retrieve table cell values. See methods See methods
below. below.
Table 301 TCG Enterprise SSC Commands Behavior -2

Command Description unlocked Locked


Cryptographic
Template
Random This is the only required method in the crypto N/A - Not related to N/A - Not related to
template for SSC. It is a random number bands/data on drive. bands/data on drive.
generator in software. Authentication Authentication required.
required.
Table 302 TCG Enterprise SSC Commands Behavior -3

302
Hard Disk Drive Specification
Command Description unlocked Locked
Base Template Mandatory
Set Sets a value in a table N/A - table operations. N/A - table operations.
Not related to Not related to
bands/data on drive. bands/data on drive.

Get Gets (reads) a value in a table N/A - table operations. N/A - table operations.
Not related to Not related to
bands/data on drive. bands/data on drive.

ParamCheck TPer implements param check LRC N/A N/A


LRC (longitudinal Redundancy Check) on get/set
method calls on PIN value
Next Iterates over all the rows of a table. Method N/A - table operations. N/A – table operations.
requires user to specify "where" (row in table) Not related to Not related to
and a "count". If where not specified, 1st row bands/data on drive. bands/data on drive.
in table is used. For count not specified,
default is number of last row in table. Returns
0 or more row number/uidref pairs currently in
use in table, per parameters specified.
Authenticate Authenticate an authority within a session Must be authorized. Must be authorized.
(session must have successfully begun).
GatACL Returns contents of access controls N/A - table operations. N/A – table operations.
association's ACL stored in Method Table. Not to do with Not related to
The result is a list of UIDREFS to ACE objects. bands/data on drive. bands/data on drive.

Table 303 TCG Enterprise SSC Commands Behavior -4

Command Description unlocked Locked


Locking Mandatory
Template
Erase Cryptographically erases user data in a specified LBA range Can erase if Generates error.
and resets the access control (locking) of that LBA range authorized.
Table 304 TCG Enterprise SSC Commands Behavior -5

303
Hard Disk Drive Specification
Error Codes
All error codes are compliant with the TCG Core specification and SIIF, except in the following case:
 The maximum sessions allowed at any single time is 1. When a session is active and a new session is
requested, the drive answers the host with SP_BUSY, instead of NO_SESSIONS_AVAILABLE.

Customer Specific Requirements


This specification does not cover customer-specific requirements. Customer-specific requirements are submitted
by the customer to Western Digital in the form of a customer-specification document.

304
Hard Disk Drive Specification
FIPS140 Cryptographic Officer Instructions
These instructions, to the Cryptographic Officer of FIPS140 models, are of paramount importance for the correct
deployment and operation of the drive. The Cryptographic Officer is a trusted operator in the delivery and operation
of the drive. Cryptographic Officers shall faithfully execute these instructions or intended security policies
can fail.
The Security Policy may be downloaded from the NIST/CMVP website. The FIPS140 model numbers, firmware
versions and hardware versions are also posted there:
( http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140val-all.htm )

Physical Security
Verify that the drive has not been tampered with by inspecting the tamper evidence labels as described in the
Security Policy.

Security Protocol Parameters


Security Protocol Information Description Overview
The security protocol information security protocol (i.e., the SECURITY PROTOCOL field set to 00h in a SECURITY
PROTOCOL IN command) returns security protocol related information. A SECURITY PROTOCOL IN command in
which the SECURITY PROTOCOL field is set to 00h is not associated with a previous SECURITY PROTOCOL
OUT command and shall be processed without regard for whether a SECURITY PROTOCOL OUT command has
been processed.
If the SECURITY PROTOCOL IN command is supported, the SECURITY PROTOCOL field set to 00h shall be
supported as defined in this standard.

CDB Description
If the SECURITY PROTOCOL field is set to 00h in a SECURITY PROTOCOL IN command, the contents of the
SECURITY PROTOCOL SPECIFIC field are defined as in the table.
Type Code Description
M 0000h Supported security protocol list
M 0001h Certificate data
O 0002h Security compliance information
all others Reserved

Table 305 SECURITY PROTOCOL SPECIFIC Field for SECURITY PROTOCOL IN Protocol 00h

All other CDB fields for SECURITY PROTOCOL IN command shall meet the requirements stated in Each time a
SECURITY PROTOCOL IN command with the SECURITY PROTOCOL field set to 00h is received, the device
server shall transfer the data defined in 11.17.2.1 starting with byte 0.

305
Hard Disk Drive Specification
Supported Security Protocols List Description
If the SECURITY PROTOCOL field is set to 00h and the SECURITY PROTOCOL SPECIFIC field is set to 0000h in
a SECURITY PROTOCOL IN command, then the parameter data shall have the format shown in the table.
Bit
Byte
7 6 5 4 3 2 1 0
0-5 Reserved
6-7 SUPPORTED SECURITY PROTOCOL LIST LENGTH (m-7)
Supported security protocol list
8 SUPPORTED SECURITY PROTOCOL (00h) [first]


m SUPPORTED SECURITY PROTOCOL [last]
m+1
… Pad bytes (if any)
n

Table 306 Supported Security Protocols SECURITY PROTOCOL IN Parameter Data

 The SUPPORTED SECURITY PROTOCOL LIST LENGTH field indicates the total length, in bytes, of the
supported security protocol list that follows.
 Each SUPPORTED SECURITY PROTOCOL field in the supported security protocols list shall contain one of
the security protocol values supported by the logical unit. The values shall be listed in ascending order starting
with 00h.
 Pad bytes may be appended so the total data length conforms to the ALLOCATION LENGTH field requirements.
Pad bytes shall have a value of 00h.

Certificate Data Description


Certificate Overview
A certificate is either an X.509 Public Key Certificate (see 11.17.2.2.2.2) or an X.509 Attribute Certificate (see
11.17.2.2.2.3) depending on the capabilities of the logical unit.
If the SECURITY PROTOCOL field is set to 00h and the SECURITY PROTOCOL SPECIFIC field is set to 0001h in
a SECURITY PROTOCOL IN command, then the parameter data shall have the format shown:
Bit
Byte
7 6 5 4 3 2 1 0
0-1 Reserved
2-3 CERTIFICATE LENGTH (m-3)
4-m CERTIFICATE
(m+1) - n Pad bytes (if any)
Table 307 Certificate Data SECURITY PROTOCOL IN Parameter Data

 CERTIFICATE LENGTH field indicates the total length, in bytes, of the certificate or certificates that follow.
The length may include more than one certificate. If the device server doesn’t have a certificate to transfer, the
CERTIFICATE LENGTH field shall be set to 0000h.
 CERTIFICATE is either an X.509 Public Key Certificate or an X.509 Attribute Certificate depending on the
capabilities of the logical unit.
 Pad bytes may be appended so the total data length conforms to the ALLOCATION LENGTH field requirements.
Pad bytes shall have a value of 00h.

306
Hard Disk Drive Specification
Public Key Certificate Description
RFC 5280 defines the certificate syntax for certificates consistent with X.509v3 Public Key Certificate Specification.

Attribute Certificate Description


RFC 3281 defines the certificate syntax for certificates consistent with X.509v2 Attribute Certificate Specification.

Security Compliance Information Description


Security Compliance Information Overview
The security compliance information parameter data contains information about security standards that apply to this
SCSI target device.
If the SECURITY PROTOCOL field is set to 00h and the SECURITY PROTOCOL SPECIFIC field is set to 0002h in
a SECURITY PROTOCOL IN command, then the parameter data shall have the format shown:
Bit
Byte
7 6 5 4 3 2 1 0
0-3 SECURITY COMPLIANCE INFORMATION LENGTH (m-3)
Compliance descriptors
4 Compliance descriptor [first]

n Compliance descriptor [last]


m+1
… Pad bytes (if any)
n

Table 308 Security Compliance Information SECURITY PROTOCOL IN Parameter Data

 The SECURITY COMPLIANCE INFORMATION LENGTH field indicates the total length, in bytes, of the
compliance descriptors that follows.
 Each Compliance descriptor (see 0) field in the supported security protocols list shall contain one of the security
protocol values supported by the logical unit. The values shall be listed in ascending order starting with 00h.
 Pad bytes may be appended so the total data length conforms to the ALLOCATION LENGTH field requirements.
Pad bytes shall have a value of 00h.

307
Hard Disk Drive Specification
Compliance Descriptor Overview
The format of a compliance descriptor in the security compliance information SECURITY PROTOCOL IN parameter
data is shown in table.
Bit
Byte
7 6 5 4 3 2 1 0
0-1 COMPLIANCE DESCRIPTOR TYPE
2-3 Reserved
4-7 COMPLIANCE DESCRIPTOR LENGTH (n-3)
8-n Descriptor specific information
Table 309 Compliance Descriptor Format

 The COMPLIANCE DESCRIPTOR TYPE field indicates the format of the descriptor specific information. The
security compliance information SECURITY PROTOCOL IN parameter data may contain more than one
compliance descriptor with the same value in the COMPLIANCE DESCRIPTOR TYPE field.
Related
Code Description Reference
Standards
FIPS 140-2
0001h Security requirements for cryptographic modules 11.17.2.2.3.3
FIPS 140-3
All others Reserved

Table 310 COMPLIANCE DESCRIPTOR TYPE Field

 The COMPLIANCE DESCRIPTOR LENGTH field indicates the number of bytes that follow in the compliance
descriptor.
 The contents of the Descriptor specific information depend on the value in the COMPLIANCE DESCRIPTOR
TYPE field.

FIPS 140 Compliance Descriptor


The FIPS 140 compliance descriptor contains information that may be used to locate information about a FIPS 140
certificate associated with the SCSI target device. The SCSI target device may or may not be operating in the
mode specified by that certificate.
Bit
Byte
7 6 5 4 3 2 1 0
0-1 COMPLIANCE DESCRIPTOR TYPE (0001h)
2-3 Reserved
4-7 COMPLIANCE DESCRIPTOR LENGTH (0000 0208h)
8 RELATED STANDARD
9 OVERALL SECURITY LEVEL
10 - 15 Reserved
16 - 143 COMPLIANCE DESCRIPTOR HARDWARE VERSION
144 - 271 COMPLIANCE DESCRIPTOR VERSION
272 - 527 COMPLIANCE DESCRIPTOR MODULE NAME
Table 311 FIPS 140 Compliance Descriptor

 The COMPLIANCE DESCRIPTOR TYPE field and COMPLIANCE DESCRIPTOR LENGTH field are defined in
0 and shall be set as shown in Table 311 for the FIPS 140 compliance descriptor.
 The RELATED STANDARD field (see Table 313) is an ASCII data field that indicates the related standard
described by this compliance descriptor.

308
Hard Disk Drive Specification
Code Related Standards
32h FIPS 140-2
33h FIPS 140-3
All others Reserved
Table 312 RELATED STANDARD Field

 The OVERALL SECURITY LEVEL field is an ASCII data field that indicates the FIPS 140 overall security level
that is reported by NIST or CSEC.
 The COMPLIANCE DESCRIPTOR HARDWARE VERSION field is null terminated, null padded data that
indicates the version number of the firmware or software in the module, as reported by NIST or CSEC. The
value in the COMPLIANCE DESCRIPTOR VERSION field is not related to the PRODUCT REVISION LEVEL
field of standard INQUIRY data.
 The COMPLIANCE DESCRIPTOR MODULE NAME field is null terminated, null padded data that indicates the
name or identifier of the cryptographic module, as reported by NIST or CSEC.

309
Hard Disk Drive Specification
Certified Models, Hardware Versions and Firmware
Versions
Use the INQUIRY command to read the model number and the firmware version from the device. Verify that these
have been certified by comparing against the values published in the Security Policy or on the CMVP website
Module Validation Lists:

Cryptographic Module Acceptance and Provisioning


Initialize cryptographic services by executing the following TCG methods:
1. StartSession and SyncSession using the 'AdminSP'.
2. Get 'MSID'.
3. Authenticate 'SID with MSID'; FAILURE indicates the Cryptographic Module has been tampered.
4. Set 'SID PIN' to your organizational value.
5. Set 'Makers.Enabled = FALSE' (required to enter FIPS mode).
6. Set ‘Firmware_Dload_Port.PortLocked = TRUE’
7. Set ‘Firmware_Dload_Port.LocOnReset = PowerCycle’
8. EndSession.
9. StartSession and SyncSession on the 'LockingSP'.
10. Authenticate 'EraseMaster with MSID'; FAILURE indicates the Cryptographic Module has been tampered.
11. Set 'EraseMaster PIN' to a new value.
12. Authenticate 'BandMaster0 with MSID'; FAILURE indicates the Cryptographic Module has been tampered.
13. Set 'BandMaster0 PIN' to a new value.
14. Repeat Steps [12-13] for each Band supported by the SED
15. EndSession.
16. Reset the SED to clear the authentication values established during initialization.

Zeroization of the Cryptographic Module


The TCG Revert method overwrites all security parameters to factory defaults,
1. StartSession and SyncSession on 'AdminSP'.
2. Authenticate 'PSID'.
3. Execute the TCG Revert method.
4. EndSession.

Reset the drive and clear the authentication values established during zeroization.

310
Hard Disk Drive Specification
SCSI Sense Data

SCSI Sense Data Format Introduction


Sense data is returned as CHECK CONDITION status and as parameter data in response to the REQUEST
SENSE command. The sense data returned by the drive can be in either fixed or descriptor format

Sense Data Format


Format of sense data returned as a CHECK_CONDITION_STATUS is based on the value of the D_SENSE bit in
the Control mode page (See section 8.10.9 "Mode Page 0A"). The REQUEST SENSE command may be used to
request either the fixed format sense data or the descriptor format sense data (See section 8.36 "REQUEST
SENSE").

Sense Data Length


Length of the sense data returned as part of CHECK_CONDITION status is determined by the sense data format:
a) Length of fixed format sense data is always 32 byte.
b) Length of descriptor format sense data is 60 byte (Generic Configuration)
For REQUEST SENSE command, length of the sense data is the number of bytes in the command’s Allocation
Length or the sense data length described above, whichever is less.

Sense Data Response Code


The first byte of all sense data contains the RESPONSE CODE field that indicates the error type and format of the
sense data. Table 313“Sense data response codes.” shows the RESPONSE CODE values which may be returned
by the drive
Response Code Error Type Sense Data Format
70h Current Fixed
71h Deferred Fixed
72h Current Descriptor
73h Deferred Descriptor
Table 313 Sense data response codes

Current Error: This indicates an error for the current command.


Deferred Error: This indicates that the error is for a previous command that has already returned a good status.
Such commands are associated with the immediate bit or write caching. Format unit (04h) command is an example
of a command that may return a deferred error.

311
Hard Disk Drive Specification
Fixed Format Sense Data
Table 314 following table shows the format of fixed format of the sense data returned by the drive.
Bit
Byte
7 6 5 4 3 2 1 0
0 Valid Response Code (70h or 71h)
1 RSVD = 0
2 0 ILI 0 Sense Key
(MSB)
3-6 Information Bytes
(LSB)
7 Additional Sense Length
(MSB)
8-11 Command Specific Information
(LSB)
12 Additional Sense Code
13 Additional Sense Code Qualifier
14 FRU = 0
(MSB)
3-6 Information Bytes
(LSB)
15 SKSV Sense-Key Specific Bits
16-17 Sense-Key Specific Bytes
18-19 Reserved = 0
20-23 Vendor unique Error information
24-29 Command Specific Information
30-31 Reserved = 0
Table 314 Fixed Format Sense Data

Valid (Bit 7 of byte 0)


0 The Information Bytes (byte 3 through 6) are not defined.
1 The Information Bytes (byte 3 through 6) contain a valid logical block address.

Response Code (Bit 6 - 0 of byte 0)


70h Current Error. See section 12.1.3 "Sense Data Response Code" for more details.
71h Deferred Error. See section 12.1.3 "Sense Data Response Code" for more details.

312
Hard Disk Drive Specification
ILI: Incorrect Length Indicator (Bit 5 of byte 2)
The ILI bit is valid for the Read Long (3Eh) command and Write Long (3Fh) command only. ILI set to one and Valid
Bit set to one indicates that the requested logical block length does not match the logical block length of the data on
the medium for a Read Long or Write Long command. The Information field contains residue information about the
error. ILI set to zero indicates there is no incorrect length condition.
0 No Incorrect Length condition.
1 Incorrect Length Indicated.

Command = Read
Valid ILI Description
Long or Write Long
x 0 x No incorrect length condition
1 1 yes Requested Logical block Length does not match the logical block
length of the data on the disk
Table 315 Incorrect Length Indicator

Sense Key (Bit 3 - 0 of byte 2)


The sense key provides generic categories in which error and exception conditions can be reported. Initiators would
typically use sense keys for high level error recovery procedures.
0h No Sense
There is no sense key information to be reported for the logical unit.
1h Recovered Error
The last command completed successfully with some recovery action performed by the drive. More
detailed information is available in the Additional Sense Code and Additional Sense Code Qualifier.
2h Not Ready
The logical unit addressed cannot be addressed. More detailed information is available in the
Additional Sense Code and Additional Sense Code Qualifier.
3h Medium Error
The command terminated with an unrecoverable error condition caused by a flaw in the media or
an error in the recorded data. More detailed information is contained in the Additional Sense Code
and Additional Sense Code Qualifier.
4h Hardware Error
The drive detected an unrecoverable hardware error while performing a command or during a
diagnostic test. More detailed information is contained in the Additional Sense Code and Additional
Sense Code Qualifier.
5h Illegal Request
There was an illegal parameter in the command descriptor block or additional parameter supplied
as data. If an invalid parameter is found in the CDB, then the command is terminated without
altering the medium. If an invalid parameter is found in parameters supplied as data, then the drive
might have altered the medium.
6h Unit Attention
Indicates that the drive entered in the 'Unit Attention Condition'. (See Section 10.1.5 "Unit Attention
Condition")
7h Data Protect
8h Not used
9h Vendor Specific
Ah Not used
Bh Aborted command
The drive aborted the command.
Ch-Dh Not Implemented
Eh Miscompare
Fh Reserved

313
Hard Disk Drive Specification
Information Bytes (Byte 3 through 6)
This field is only valid when VALID bit is one.
- ILI = 0: This field contains the unsigned LBA associated with the sense key. The LBA reported will be within
the LBA range of the command as defined in the CDB.
Note: An LBA other than the command LBA may be reported on the Reassign Block (07h) command.
Note: When the value that need to be stored in the Information field is greater than 0xFFFFFFFF (e.g. an LBA
greater than 2TB) the VALID bit will always be set to 0. To retrieve such information in such cases, the drive must
be configured to return sense data in descriptor format. See section 8.10.9 "Mode Page 0A" for details
- ILI = 1: This field contains the difference (residue) of the requested length in bytes. Negative values are
indicated by two's complement notation.
Valid ILI Description
0 x 0x00000000 - (not used/invalid)
1 0 LBA
1 1 Residue of the requested length in bytes

Table 316 Information Bytes (Byte 3 through 6)

Additional Sense Length (Byte 7)


Indicates the remaining number of bytes in the sense data. (It is always set to 18h.)

Command Specific Information (Byte 8 through 11)


This field is unused and will be set to zero.

314
Hard Disk Drive Specification
Additional Sense Code/Qualifier (Byte 12 and 13)
The following table shows the description of the combination of Sense Key / Sense Code / Qualifier.
Table 317 Sense Code/Qualifier

Valid Sense Key, Code , Qualifier Combinations Used by the Drive


Key Code Qual Description
Sense Key = No Sense
00 00 00 No Additional Sense Information
0000 No Error
Sense Key = No Sense
0 0B 01 SMART Temperature Warning
1A02 SMART: Temperature Warning (No Sense)
2A02 SMART: Temperature Warning (Recovered Sense)
3A02 SMART: Temperature Warning (Unit Attention)
0 0B 03 SMART Background Self-Test Failure
1A03 SMART: Background Self-Test Failure (No Sense)
2A03 SMART: Background Self-Test Failure (Recovered Sense)
3A03 SMART: Background Self-Test Failure (Unit Attention)
0 0B 04 SMART Background Pre-Scan Failure
1A04 SMART: Background Pre-Scan Failure (No Sense)
2A04 SMART: Background Pre-Scan Failure (Recovered Sense)
3A04 SMART: Background Pre-Scan Failure (Unit Attention)
0 0B 05 Background Media Scan Failure Warning
1A05 SMART: Background Media Scan Failure (No Sense)
2A05 SMART: Background Media Scan Failure (Recovered Sense)
3A05 SMART: Background Media Scan Failure (Unit Attention)
0 5D 21 Milli-Actuator Error
1A21 SMART: Milli-Actuator Error (No Sense)
2A21 SMART: Milli-Actuator Error (Recovered Sense)
3A21 SMART: Milli-Actuator Error (Unit Attention)
0 5D 22 Extreme Over-Temperature Warning
1A22 SMART: Extreme Over-Temperature Warning (No Sense)
2A22 SMART: Extreme Over-Temperature Warning (Recovered Sense)
3A22 SMART: Extreme Over-Temperature Warning (Unit Attention)
0 5D 50 Load/Unload cycle Count Warning
1A50 SMART: Load/Unload Cycle Count Warning (No Sense)
2A50 SMART: Load/Unload Cycle Count Warning (Recovered Sense)
3A50 SMART: Load/Unload Cycle Count Warning (Unit Attention)
0 5D 5B Spinup Retry Count Warning
1A5B SMART: Spinup Retry Count Warning (No Sense)
2A5B SMART: Spinup Retry Count Warning (Recovered Sense)
3A5B SMART: Spinup Retry Count Warning (Unit Attention)
0 5D 62 Read/Write Error Rate Warning
1A32 SMART: Read Error Rate Warning (No Sense)
2A32 SMART: Read Error Rate Warning (Recovered Sense)
3A32 SMART: Read Error Rate Warning (Unit Attention)
1A4A SMART: Write Error Rate Warning (No Sense)
2A4A SMART: Write Error Rate Warning (Recovered Sense)
3A4A SMART: Write Error Rate Warning (Unit Attention)
0 5D 63 Seek Error Rate Warning
1A43 SMART: Seek Error Rate Warning (No Sense)
2A43 SMART: Seek Error Rate Warning (Recovered Sense)
3A43 SMART: Seek Error Rate Warning (Unit Attention)

315
Hard Disk Drive Specification
0 5D 64 Spare Sector Availability Warning
1A14 SMART: Spare Sector Availability Warning (No Sense)
2A14 SMART: Spare Sector Availability Warning (Recovered Sense)
3A14 SMART: Spare Sector Availability Warning (Unit Attention)
0 5D 66 Spinup Time Warning
1A56 SMART: Spinup Time Warning (No Sense)
2A56 SMART: Spinup Time Warning (Recovered Sense)
3A56 SMART: Spinup Time Warning (Unit Attention)
0 5D FF Test Warning Threshold Reached
1AFF SMART: Test Warning Threshold Reached (No Sense)
2AFF SMART: Test Warning Threshold Reached (Recovered Sense)
3AFF SMART: Test Warning Threshold Reached (Unit Attention)
0 5E 01 Idle_A Condition activated by timer
1831 CMD: Power Mode Idle_A By Timer
0 5E 02 Standby_Z Condition activated by timer
1834 CMD: Power Mode Standby_Z By Timer
0 5E 03 Idle_A Condition activated by Command
1835 CMD: Power Mode Idle_A By Command
0 5E 04 Standby_Z Condition activated by Command
1838 CMD: Power Mode Standby_Z By Command
0 5E 05 Idle_B Condition activated by timer
1832 CMD: Power Mode Idle_B By Timer
0 5E 06 Idle_B Condition activated by Command
1836 CMD: Power Mode Idle_B By Command
0 5E 07 Idle_C Condition activated by timer
1833 CMD: Power Mode Idle_C By Timer
0 5E 08 Idle_C Condition activated by Command
1837 CMD: Power Mode Idle_C By Command
0 5E 09 Standby_Y Condition activated by timer
1839 CMD: Power Mode Standby_Y By Timer
0 5E 0A Standby_Y Condition activated by Command
183A CMD: Power Mode Standby_Y By Command
Sense Key = Recovered Error
1 02 00 No Seek Complete
141B Servo: Recovered Current error
141D Servo: Recovered Seek timeout
141F Servo: Recovered Seek error
142B Servo: Recovered RRO Calibration timeout
14A0 Servo: Recovered IDLEA Grab Error
14A2 Servo: Recovered IDLEA Seek Error
14A4 Servo: Recovered AVEDAC Error
14A6 Servo: Recovered IDLEA Exit Timeout Error
14A8 Servo: Recovered IDLEA Long Seek Error
1 03 00 Peripheral Device Write Fault
1733 Media: Recovered Read Write Abort Error
1737 Media: Recovered Post Write Abort Error
1739 Media: Recovered Post PES Check Write Abort Error
17E0 Media: Recovered Write Splice Error
1ECE Media: Recovered R/W Abort Due to Vibration Condition (Other)
1ED0 Media: Recovered R/W Abort Due to Vibration Condition (Estimator)
1ED2 Media: Recovered R/W Abort Due to Vibration Condition (Predictor)
1ED4 Media: Recovered R/W Abort Due to Vibration Condition (PES Error)
1ED6 Media: Recovered R/W Abort Off Track Write Error
1ED8 Media: Recovered R/W Abort RRO Field Misread Error
1EDA Media: Recovered R/W Abort RRO Field Missing Error

316
Hard Disk Drive Specification
1EDC Media: Recovered R/W Abort Idle Seek Error
1EDE Media: Recovered R/W Abort Seek Timeout Error
1EE0 Media: Recovered R/W Abort Estimator Error
1EE2 Media: Recovered R/W Abort Predictor Error
1EE4 Media: Recovered R/W Abort PES Error
1EE6 Media: Recovered R/W Abort Seek Start Error
1EE8 Media: Recovered R/W Abort PES Reset Error
1EEA Media: Recovered R/W Abort SID Unlock Error
1EEC Media: Recovered R/W Abort WCS Error
1EEE Media: Recovered R/W Abort Hard Reset Error
1EF0 Media: Recovered R/W Abort Shock Error
1EF2 Media: Recovered R/W Abort Unlock Macro Error
1EF4 Media: Recovered R/W Abort Sharp Error
1EF6 Media: Recovered R/W Abort Aggressive Error
1EF8 Media: Recovered R/W Abort SVGA Limit Error
1EFA Media: Recovered R/W Abort Gray Code Error
1EFC Media: Recovered R/W Abort Burst Error
1EFE Media: Recovered R/W Abort No STM Error
1 09 00 Track Following Error
1421 Servo: Recovered Track following error
1423 Servo: Recovered Track follow timeout
1 0C 01 Recovered Write Error with Auto Reallocation - Auto Reallocated
D703 Media: Auto Reallocated Write Error
1 0C 03 Recovered Write Error - Recommend Reassignment
1704 Media: Recovered Write Error - Recommend reassign
1 10 01 Recovered Guard Check Error
17BC Media: Recovered Guard Check Error
1 10 02 Recovered Application Tag Error
17BA Media: Recovered Application Tag Error
1 10 03 Recovered Reference Tag Error
17B8 Media: Recovered Reference Tag Error
1 11 14 Recovered LBA Write Correctable Error
17CB Media: Recovered LBA Write Correctable Error
1 15 00 Random Positioning Error
1714 Media: Recovered Sector Overflow Error
173D Media: Recovered Sector Miss Error
1770 Media: Recovered SID Timeout Error
1778 Media: Recovered Mini Mode Timeout
177C Media: Recovered Servo Area Timeout
1780 Media: Recovered DLC SID Delay Timeout
17B2 Media: Recovered Abort Window Error
17EE Media: Recovered Sector Number Cylinder Error
1 16 00 Data Synchronization Mark Error
165C Channel: Recovered Mode Overlap Read Fault Error
1735 Channel: Recovered No Sync Detected Error
173B Media: Recovered Data Address Mark Error
17AA Media: Recovered Read Overrun Error
1 16 01 Data Sync Error - Data Rewritten
E70E Media: Recovered Data Address Mark Error - Rewritten
1 16 02 Data Sync Error - Recommend Rewrite
E70F Media: Recovered Data Address Mark Error - Recommend Rewrite
1 16 03 Data Sync Error - Auto Reallocated
D710 Media: Recovered Data Address Mark Error - Reassigned
1 16 04 Data Sync Error - Recommend Reassignment
E711 Media: Recovered Data Address Mark Error - Recommend Reassign

317
Hard Disk Drive Specification
1 17 01 Recovered Data with Retries
1718 Media: Recovered Sync Mark Retry Timeout
171E Media: Recovered Read Latency Error
1726 Media: Recovered Internal Write Catch Error
172C Media: Recovered Data
172E Media: Recovered Error on Last Data Read
176C Media: Recovered MEDC Correctable Error
1782 Media: Recovered Force Soft Error
1784 Media: Recovered Channel Sector Marginal Error
17A5 Media: Recovered LBA ECC Last Data Read Error
17E6 Media: Recovered NRZ Sector Marginal Error
1 17 06 Recovered Data Without LDPC - Data Auto-Reallocated
D705 Media: Error With OTF Correction - Reassigned
1 17 07 Recovered Data Without LDPC - Recommend Reassignment
E706 Media: Error With OTF Correction - Recommend Reassign
1 17 08 Recovered Data Without LDPC - Recommend Rewrite
E707 Media: Error With OTF Correction - Recommend Rewrite
1 17 09 Recovered Data Without LDPC - Data Rewritten
E708 Media: Error With OTF Correction - Rewritten
1 18 00 Recovered Data With LDPC
1709 Media: Recovered Error With Offline Correction
17AE Media: Recovered ECC Correctable Error
1 18 01 Recovered Data - Forced Channel Fault
167E Channel: Recovered Forced Channel Fault Error
1 18 02 Recovered Data - Data Auto-Reallocated
D70A Media: Error With Offline Correction - Reassigned
1 18 05 Recovered Data - Recommend Reassignment
E70B Media: Error With Offline Correction - Recommend Reassign
1 18 06 Recovered Data With LDPC - Recommend Rewrite
E70C Media: Error With Offline Correction - Recommend Rewrite
1 18 07 Recovered Data With LDPC - Data Rewritten
E70D Media: Error With Offline Correction - Rewritten
1 1C 00 Defect List Format Not Supported
1746 Media: Recovered Defect List Format Not Supported Error
1 1C 01 Primary Defect List Not Found. Requested Format Not Supported
1747 Media: Recovered Primary Defect List Not Found Error
1 1C 02 Grown Defect List Not Found. Requested Format Not Supported
1748 Media: Recovered Grown Defect List Not Found Error
1 1F 00 Partial Defect List Transfer
1749 Media: Recovered Partial Defect List Transferred Error
1 44 00 Internal Target Failure
F132 GEM FH track read error
1201 Sanity: Error In UEC Class
1202 Sanity: Error In UEC Cause
1301 Motor: Recovered internal error
1303 Motor: Recovered Open Loop Commutation failure
1305 Motor: Recovered No feedback detected error
1307 Motor: Recovered Settle timeout
1309 Motor: Recovered Gross speed error
130B Motor: Recovered 12V OK error
130D Motor: Recovered Speed error
1311 Motor: Recovered Internal 12V not OK timeout
1313 Motor: Recovered Inductive Sense measurement timeout
1315 Motor: Recovered Spin Sense speed error
1319 Motor: Recovered Target speed error

318
Hard Disk Drive Specification
131D Motor: Recovered Over current error
1321 Motor: Recovered Negative regulator fault
1323 Motor: Recovered Module overtemp error
1325 Motor: Recovered 12V or 5V OK error
1327 Motor: Recovered unknown error
1365 Motor: Recovered Predriver Voltage Offset Calibration Error
1367 Motor: Recovered Predriver BEMF Gain Calibration Error
1369 Motor: Recovered Predriver BEMF Unload Calibration Error
136F Motor: Recovered IDCS Calibration Measurement 1 Error
1371 Motor: Recovered IDCS Calibration Measurement 2 Error
1373 Motor: Recovered IDCS Calibration Saturation Error
1375 Motor: Recovered IDCS Calibration Adjustment Error
13A7 Motor: Recovered PMIC Not Supported
1401 Servo: Recovered Requested rezero head does not exist
1403 Servo: Recovered Back EMF movement in progress
1405 Servo: Recovered Back EMF timeout error
1407 Servo: Recovered ADC conversion timeout
1409 Servo: Recovered Load/unload calibration error
140B Servo: Recovered Invalid 5 volts
140D Servo: Recovered Invalid 12 volts
140F Servo: Recovered Invalid harmonic requested
1411 Servo: Recovered Gain BEMF Calibration error
1413 Servo: Recovered VOFF BEMF calibration error
1415 Servo: Recovered Invalid temperature
1417 Servo: Recovered Truncated rezero
1419 Servo: Recovered Heads not loaded
1425 Servo: Recovered KT Seek out of range
1427 Servo: Recovered DAC Offset calibration error
1429 Servo: Recovered Load speed error
142D Servo: Recovered ADC Calibration error
142F Servo: Recovered ADC Offset error
1431 Servo: Recovered ADC Limit error
1433 Servo: Recovered Balancer Resistance error
1435 Servo: Recovered Balancer Resistance Limit error
1437 Servo: Recovered First Cylinder error
1439 Servo: Recovered Valid Cylinder error
143B Servo: Recovered ADC Saturation error
143D Servo: Recovered Latch Break timeout
143F Servo: Recovered MR Resistance out of range error
1441 Servo: Recovered VCM Retract error
1443 Servo: Recovered Load Retry error
1445 Servo: Recovered DFT Sharp error
1447 Servo: Recovered Load/Unload state error
1449 Servo: Recovered TFCR out-of-range error
144B Servo: Recovered Measure GMR Timeout
144D Servo: Recovered Coil Resistance Measurement Failure
145F Servo: Recovered WCS Hang Error
1461 Servo: Recovered DFT Timeout Error
1463 Servo: Recovered SDM Timeout Error
1465 Servo: Recovered RRO Write Error
1467 Servo: Recovered Velocity Error
1469 Servo: Recovered Start SID Incorrect Error
146B Servo: Recovered End Sid Incorrect Error
146D Servo: Recovered Measure GMR SDM Failure
146F Servo: Recovered VCM Free Speed Error

319
Hard Disk Drive Specification
1471 Servo: Recovered Emergency Brake Timeout Error
1473 Servo: Recovered Excessive Current Error
1475 Servo: Recovered Excessive Velocity Error
147D Servo: Recovered RROF SDM Timeout Error
147F Servo: Recovered RROF Over Limit Error
1482 Servo: Recovered Measure Asymmetry SDM Failure
1486 Servo: Recovered Milli-Calibration Error
148C Servo: Recovered Measure Qsamp SDM Failure
148E Servo: Recovered Tilt Calibration Error
1490 Servo: Recovered Tilt Numerical Error
1496 Servo: Recovered DTID Inhibit Error
1498 Servo: Recovered DTID Unlock Error
149A Servo: Recovered SHARP Pulse TFC Entry Error
149C Servo: Recovered Heads Not Loaded FFSULI
149E Servo: Recovered Load Abort FFSULI
1606 AE: Recovered AE Last Data Read Error
1609 AE: Recovered TFC Short Error
160B AE: Recovered Shorted MR Element Error
1610 AE: Recovered ECS Shorted Fault
1612 AE: Recovered ECS Open Fault
1614 AE: Recovered ECS Fault
1616 Channel: Recovered Channel Error
161A AE: Recovered Open MR Element Error
161C AE: Recovered IC Over Temperature Error
161E AE: Recovered IP Clock Count Error
1620 AE: Recovered DLC SVCLK Error
1622 AE: Recovered Write Data BLS Error
1626 AE: Recovered Power Supply Error
1628 AE: Recovered Open Write Head Error
162A AE: Recovered Write Transition Error
162E Channel: Recovered Channel NRZ Clear Timeout Error
1630 AE: Recovered SPE Low In Write Fault
1636 AE: Recovered Short Write Head Error
163C AE: Recovered TFC Open Error
1644 AE: Recovered Latch Fault Error
1648 Channel: Recovered Reset Flag Error
164A Channel: Recovered Gate Command Queue Underflow Error
164C Channel: Recovered Sector Size Fault Error
164E Channel: Recovered Last Split Fault Error
1650 Channel: Recovered Servo-Servo Overlap Error
1652 Channel: Recovered Read Gate Fault Error
1654 Channel: Recovered RWBI Out Fault Error
1656 Channel: Recovered No Write Clock Error
1658 Channel: Recovered No NRZ Clock Error
165A Channel: Recovered Calibration Block Fault Error
165E Channel: Recovered Gate Command Queue Overflow Error
1660 Channel: Recovered Ending Write Splice Fault Error
1662 Channel: Recovered Write Gate Overlap Fault Error
1664 Channel: Recovered Write Gate Fault Error
1666 Channel: Recovered Buffer Overflow Write Error
1668 Channel: Recovered Buffer Underflow Write Error
166A Channel: Recovered Write Parity Error
166C Channel: Recovered Buffer Overflow Read Error
166E Channel: Recovered CTG Wedge Slip Fault Error
1670 Channel: Recovered CTG Packet Late Fault Error

320
Hard Disk Drive Specification
1672 Channel: Recovered Baseline Instability Count Late Error
1674 Channel: Recovered Preamp Count Fault Error
1676 Channel: Recovered Pfault Read Error
1678 Channel: Recovered Pfault Write Error
167A Channel: Recovered Last Data Fault Error
167C Channel: Recovered WRPO Fault Error
1680 Channel: Recovered PLLFloor Error
1682 Channel: Recovered Losslock Error
1684 Channel: Recovered VGA Floor Error
1686 Channel: Recovered Buffer EVGA Floor Error
1688 Channel: Recovered TA Detector Error
168A Channel: Recovered NPLD Error
168C Channel: Recovered ZGR Flag Error
168E Channel: Recovered DPLL Freq Flag Error
1690 Channel: Recovered Massive Drop Out Detection Error
1692 Channel: Recovered CTG Parameter Out of Bounds Error
1694 Channel: Recovered Flaw Signal Sync Error
1696 Channel: Recovered ACQ Flag Error
1698 Channel: Recovered No Clock Error
169A Channel: Recovered PLL Losslock Error
169C Channel: Recovered ESNR Timeout Error
169E Channel: Recovered ADC Sample Not Ready Error
16A2 Channel: Recovered Auto RST NRZ-Clock Error
16A4 Channel: Recovered Write CRC Fault Error
16A6 Channel: Recovered Read Synthesizer Loss of Lock Error
16A8 Channel: Recovered RLL Parameter Error
16AA Channel: Recovered FIFO Underflow Error
16AC Channel: Recovered FIFO Overflow Error
16AE Channel: Recovered Iterative Decoder Error
16B0 Channel: Recovered Iterative Read Error
16B2 Channel: Recovered Encoder Overflow Error
16B4 Channel: Recovered Encoder Underflow Error
16B6 Channel: Recovered Encoder RAM CRC Error
16B8 Channel: Recovered Interface Fault
16BA Channel: Recovered QMM EVDump Parse Error
16BC Channel: Recovered DiBit Timeout Error
16BE Channel: Recovered MXP Write Fault
16C0 Channel: Recovered Data Jam Error
16C2 Channel: Recovered Code-Word Out Of Order Error
16C4 Channel: Recovered Read RLL Buffer CRC Flag Error
16C6 Channel: Recovered Write RLL Buffer CRC Flag Error
16C8 Channel: Recovered CTG No SAM Detected Fault Error
16CA Channel: Recovered ITI Adjust Preload Fault Track Error
16CC Channel: Recovered WTG SRV Fault Error
16CE Channel: Recovered CTG Engine Not Ready Fault Error
16D0 Channel: Recovered LLI Abort Fault Error
16D2 Channel: Recovered Retry Fault Error
16D4 Channel: Recovered WTG Timeout Fault Error
16D6 Channel: Recovered ITI Fault TS Transfer All Error
16D8 Channel: Recovered ITI Data Fault Error
16DC Channel: Recovered Data Jam Fault Error
16DE Channel: Recovered Code-Word Out of Order Error
16E0 Channel: Recovered RLL Initialization Timeout Error
16E7 Channel: Recovered Mode Overlap Write Error
16E9 Channel: Recovered Ready Fault Error

321
Hard Disk Drive Specification
16EB Channel: Recovered Synchronous Abort Done Error
16ED Channel: Recovered NRZ Clear Fault Error
16EF Channel: Recovered Collision Fault Error
16F1 Channel: Recovered Read Synthesizer Precharge Fail Fault Error
16F3 Channel: Recovered Servo Synthesizer Precharge Fail Fault Error
16F5 Channel: Recovered Read Synthesizer Loss of Lock Error
16F7 Channel: Recovered Fragment Number Fault Error
16F9 Channel: Recovered Preamble Quality Monitor Fault Error
1712 Media: Recovered LBA MEDC Error
1716 Media: Recovered Write Overrun Error
171C Media: Recovered DRAM CRC Error
1731 Media: Recovered Write Fault
1744 Media: Recovered Sudden Stop Error
1759 Media: Recovered Unknown Error
1766 Channel: Recovered XTS LOAD Timeout Error
176A Media: Recovered No NRZ Clock Error
176E Media: Correctable Channel Ready Error
1786 Media: Recovered LLI Underrun Error
178C Media: Recovered FFSULI Timeout
1792 Media: Recovered MEDC Write Data Not Ready Error
1794 Media: Recovered DMA Timeout Error
1798 Media: Recovered ID Not Found Error
179C Media: Recovered Channel Read Timeout Error
17B4 Media: Recovered Shock Sensor Error
17C0 Media: Recovered End Sector Check Error
17C2 Media: Recovered Read CRC Error
17C4 Media: Recovered DRAM ECC Error
17C6 Media: Recovered DRAM ECC LBA Error
17D4 Media: Recovered Parity PTR FIFO Error
17D6 Media: Recovered Parity LBA FIFO Error
17D8 Media: Recovered Parity Uncorrectable FIFO Error
17DA Media: Recovered Status Uncorrectable FIFO Error
17DC Media: Recovered Parity EDC SRAM Error
17DE Media: Recovered REQ/ACK Handshake Error
17E2 Media: Recovered Read Parity Error
17E4 Media: Recovered EPO Error
17E8 Media: Recovered AE Access Inhibit Error
17EA Media: Recovered PTR FIFO Error
17EC Media: Recovered LBA FIFO Error
17F0 Media: Recovered Read Transfer Length Error
17F2 Media: Recovered DS RDC Burst Error
17F4 Media: Recovered SV RDC Burst Error
17F6 Media: Recovered Channel AE WG Error
1 44 0B Vendor Unique - Internal Target Failure
130F Motor: Recovered Spindle Current error
1317 Motor: Recovered Spin Sense timeout
131F Motor: Recovered System clock watchdog error
1329 Motor: Recovered VCM DAC watchdog error
132B Motor: Recovered Module mid-die overtemp fault
132D Motor: Recovered Module Vcmp hi-side overtemp fault
132F Motor: Recovered Module Vcmn hi-side overtemp fault
1331 Motor: Recovered Invalid standby RPM request
1333 Motor: Recovered Invalid spin state request
1335 Motor: Recovered Hardware retract timeout
1337 Motor: Recovered thermal limit exceeded

322
Hard Disk Drive Specification
1339 Motor: Recovered Predriver fault
133B Motor: Recovered Predriver Watchdog Fsys error
133D Motor: Recovered Predriver Watchdog DAC error
133F Motor: Recovered Predriver Speed Low error
1341 Motor: Recovered Predriver UV Vboost error
1343 Motor: Recovered Predriver NREG UV error
1345 Motor: Recovered Predriver Ext NPOR error
1347 Motor: Recovered Predriver Reg UV error
1349 Motor: Recovered Predriver Under Voltage 12 Volt Supply error
134B Motor: Recovered Predriver Under Voltage 5 Volt Supply error
134D Motor: Recovered Predriver Over Voltage 12 Volt Supply error
134F Motor: Recovered Precriver Under Voltage 1.8 Volt Supply error
1351 Motor: Recovered Predriver Under Voltage 0.9 Volt Supply error
1353 Motor: Recovered Predriver Under Voltage 1.5 Volt Supply error
1355 Motor: Recovered Predriver Shock Detected error
1357 Motor: Recovered Predriver Over Temperature error
1359 Motor: Recovered Predriver Under Voltage 3.3 Volt Supply error
135B Motor: Recovered Predriver Under Voltage 5 and 12 Volt Supply error
135D Motor: Recovered Predriver Error in Enabling Power Saving Mode
135F Motor: Recovered Predriver Fault in Auto Retract
1361 Motor: Recovered Predriver Error in Utilizing External Power Supply
1363 Motor: Recovered Predriver Regulator Supply Fault
136B Motor: Recovered Predriver VCM Short Error
136D Motor: Recovered Predriver NREG disable error
1 44 F9 Vendor Unique - Internal Target Failure
144F Servo: Recovered SHARP Parity Error
1451 Servo: Recovered SHARP Parity Rate Error
1453 Servo: Recovered SHARP Decode Error
1455 Servo: Recovered SHARP Decode Rate Error
1457 Servo: Recovered SHARP Timeout Error
1459 Servo: Recovered SHARP Timeout Rate Error
145B Servo: Recovered SHARP Other Error
145D Servo: Recovered SHARP Other Rate Error
1 5D 01 Self Test Error
1A85 Self-Test: Recovery Error
2A85 Self-Test: Servo Error
4A85 Self-Test: Command Timeout Error
FA85 Self-Test: Unrecoverable Error
1 5D 14 Self Test GLIST Error Threshold Reached
2A83 Self-Test: GLIST Error Count Threshold Reached
Sense Key = Not Ready
2 04 00 Logical Unit Not Ready - Start Spindle Motor Fail
F501 Host Interface: Logical unit not ready
2 04 01 Logical Unit Is In The Process of Becoming Ready
F502 Host Interface: Logical unit becoming ready
2 04 02 Logical Unit Not Ready, initializing command required
F124 Bring-up error
F503 Host Interface: Logical unit not ready - initializing command required
2 04 03 Logical Unit Not Ready, Manual Intervention Required
F572 Host Interface: LUN not ready; manual intervention required
2 04 04 Logical Unit Not Ready, Format In Progress
F504 Host Interface: Not ready - format in progress
2 04 09 Not Ready - Self-test In Progress
F505 Host Interface: Not ready - self-test in progress
2 04 0D Not Ready - Session opened

323
Hard Disk Drive Specification
F508 Host Interface: Not Ready - Session opened
2 04 11 Not Ready - Notify (Enable Spin-up) Required
F553 Host Interface: LUN Not ready, Notify (Enable Spinup) required (SAS)
2 04 1B Host Interface Not Ready - Sanitize In Progress
F50B Host Interface: Not Ready - Sanitize in progress
2 04 1C Logical Unit Not Ready – Waiting for Power Grant
F556 Host Interface: Not Ready – Waiting for Power Grant
2 04 F0 Vendor Unique - Logical Unit Not Ready
F133 BATS error: Vendor ID mismatch
2 31 00 Medium Format Corrupted - Reassign Failed
F506 Host Interface: Reassign failed
2 31 01 Format Command Failed
F507 Host Interface: Format failed
Sense Key = Medium Error
3 03 00 Medium Error - Write Fault
F734 Media: Unrecovered Read Write Abort Error
F738 Media: Unrecovered Post Write Abort
F73A Media: Unrecovered Post PES Check Write Abort Error
F797 Media: SAT Write Abort
F7E1 Media: Unrecovered Write Splice Error
FECF Media: Unrecovered R/W Abort Due to Vibration Condition (Other)
FED1 Media: Unrecovered R/W Abort Due to Vibration Condition (Estimator)
FED3 Media: Unrecovered R/W Abort Due to Vibration Condition (Predictor)
FED5 Media: Unrecovered R/W Abort Due to Vibration Condition (PES Error)
FED7 Media: Unrecovered R/W Abort Off Track Write Error
FED9 Media: Unrecovered R/W Abort RRO Field Misread Error
FEDB Media: Unrecovered R/W Abort RRO Field Missing Error
FEDD Media: Unrecovered R/W Abort Idle Seek Error
FEDF Media: Unrecovered R/W Abort Seek Timeout Error
FEE1 Media: Unrecovered R/W Abort Estimator Error
FEE3 Media: Unrecovered R/W Abort Predictor Error
FEE5 Media: Unrecovered R/W Abort PES Error
FEE7 Media: Unrecovered R/W Abort Seek Start Error
FEE9 Media: Unrecovered R/W Abort PES Reset Error
FEEB Media: Unrecovered R/W Abort SID Unlock Error
FEED Media: Unrecovered R/W Abort WCS Error
FEEF Media: Unrecovered R/W Abort Hard Reset Error
FEF1 Media: Unrecovered R/W Abort Shock Error
FEF3 Media: Unrecovered R/W Abort Unlock Macro Error
FEF5 Media: Unrecovered R/W Abort Sharp Error
FEF7 Media: Unrecovered R/W Abort Aggressive Error
FEF9 Media: Unrecovered R/W Abort SVGA Limit Error
FEFB Media: Unrecovered R/W Abort Gray Code Error
FEFD Media: Unrecovered R/W Abort Burst Error
FEFF Media: Unrecovered R/W Abort No STM Error
3 11 00 Unrecovered Read Error
F67F Channel: Unrecovered Forced Channel Fault Error
F702 Too many notches
F719 Media: Unrecovered Sync Mark Retry Timeout
F71F Media: Unrecovered Read Latency Error
F727 Media: Unrecovered Internal Write Catch Error
F72D Media: Unrecovered Uncorrectable Read Data error
F72F Media: Unrecovered Error on Last Data Read
F730 Media: Recommend targeted scan
F73F Media: NFZ Table Full

324
Hard Disk Drive Specification
F740 Media: Defect SID Table Full Error
F74A Media: Unrecovered Alternate Track Table Full Error
F74D Media: Unrecovered Too Many Heads Error
F74E Media: Unrecovered Skew Table Size Error
F74F Media: Unrecovered Too Many Zones Error
F750 Media: Unrecovered Too Many SIDs Error
F751 Media: Unrecovered Alternate Track Table Full Error
F752 Media: Unrecovered Drive Capacity Too Small
F753 Media: Unrecovered G-list Full (Format command)
F754 Media: Unrecovered G-list Full (2) (Format command)
F755 Media: Unrecovered Pointer Repeat Size Error
F756 Media: Unrecovered DST Slot Size Error
F757 Media: Unrecovered P-list Full Error
F758 Media: Unrecovered Invalid NFZ Table Error
F75E Media: Unrecovered Maximum Servo Cylinder Number Too Small Error
F76D Media: Unrecovered MEDC Uncorrectable Error
F783 Media: Unrecovered Force Soft Error
F785 Media: Unrecovered Channel Sector Marginal Error
F7A6 Media: Unrecovered LBA ECC Last Data Read Error
F7A7 Media: Unrecovered Committed Write Hard Error
F7CE Media: Unrecovered Offline Already TAR Error
F7E7 Media: Unrecovered NRZ Sector Marginal Error
3 11 14 Unrecovered LBA Error
F7A8 Media: Unrecovered Committed Write Correction Disabled Error
F7A9 Media: Unrecovered Committed Write Uncorrectable Error
F7CA Media: Unrecovered LBA Correction Disabled Error
F7CC Media: Unrecovered LBA Write Uncorrectable Error
3 15 00 Random Positioning Error
F715 Media: Unrecovered Sector Overflow Error
F73E Media: Unrecovered Sector Miss Error
F771 Media: Unrecovered SID Timeout Error
F779 Media: Unrecovered Mini Mode Timeout
F77D Media: Unrecovered Servo Area Timeout
F781 Media: Unrecovered DLC SID Delay Timeout
F7B3 Media: Unrecovered Abort Window Error
F7EF Media: Unrecovered Sector Number Cylinder Error
3 15 03 Unrecovered Sector Error
F7AF Media: Unrecovered Sector Missing Error
F7B0 Media: Unrecovered Sector Overflow
3 16 00 Data Synchronization Mark Error
F65D Channel: Unrecovered Mode Overlap Read Fault Error
F736 Channel: Unrecovered No Sync Detected Error
F73C Media: Unrecovered Data Address Mark Error
F7AB Media: Unrecovered Read Overrun Error
3 19 02 Defect List Error in Primary List
F74B Media: Unrecovered Primary Defect List Error
3 19 03 Defect List Error in Grown List
F74C Media: Unrecovered Grown Defect List Error
3 31 00 Medium Format Corrupted Reassign Failed
F701 Format corrupted
FF01 IndSys: Drive Not Loaded
FF02 IndSys: Drive Not Loaded - Format Invalid
FF03 IndSys: Indirection System Not Online
FF04 IndSys: Drive Not Loaded - Old Version Mismatch
FF05 IndSys: Drive Not Loaded - Heap Pointer Mismatch

325
Hard Disk Drive Specification
FF06 IndSys: Drive Not Loaded - Heap size Mismatch
FF07 IndSys: Drive Not Loaded - Rid Heap Size Mismatch
FF08 IndSys: Drive Not Loaded - Heap Version Mismatch
FF09 IndSys: Drive Not Loaded - Incompatible Rid
FF0A IndSys: Drive Not Loaded - Corrupt Rid
FF0B IndSys: Drive Not Loaded - Rid Num Objects Mismatch
FF0C IndSys: Drive Not Loaded - Rid Version Mismatch
FF0D IndMgr: Drive Not Loaded - Rid Version Mismatch
FF0E IndSys: Drive Not Loaded - Layout Rid Version Mismatch
FF0F IndSys: Drive Not Loaded - W2C Rid Version Mismatch
FF10 IndSys: Drive Not Loaded - Layout Manager Restore Failed
FF11 IndSys: Drive Not Loaded - W2C Manager Restore Failed
FF13 IndSys: Drive Not Loaded - DMM Format Failed
FF14 IndSys: Drive Not Loaded - IM Format Failed
FF1A IndSys: Drive Not Loaded - Metadata First Primary
FF1B IndSys: Drive Loaded - Metadata First Primary and Secondary
FF1C IndSys: Drive Loaded - IBA Out of Range
FF1D IndSys: Drive Loaded - Context Load Failed
FF1E IndSys: Drive Loaded - Context Sequence ID Mismatch
FF1F IndSys: Drive Loaded - Replay EPO Spec Failed
3 31 01 Indirection System Failure
FF12 IndSys: Drive Not Loaded - Layout Failed
FF15 IndSys: Drive Not Loaded - Pseudo Write Failed
FF16 IndSys: Drive Not Loaded - Full drop Failed
FF17 IndSys: Drive Not Loaded - EPO Format Failed
FF18 IndSys: Drive Not Loaded - Set IM Valid Failed
FF19 IndSys: Drive Not Loaded - Bring Online failed
FF20 IndSys: Drive Not Loaded - EPD Flash Entry Invalid
FF21 LayoutMgr: All Flash Entries Erased
FF22 IndSys: Drive Loaded - Replay Failed
FF41 LayoutMgr: Format Capacity Not Met
1F42 DlMgr: DLMGR Generic Fail
FF43 IndSys: Drive Not Loaded - Metadata ATI
FF44 IndSys: Drive Loaded - Replay Fail
FF50 IndMgr: IM Demand Split Too Deep Failure
FF51 IndMgr: Allocate Failed Delta Group
FF52 IndMgr: Allocate Failed Split Spec
FF53 IndMgr: Allocate Failed Split Delta
FF54 IndMgr: Allocate Failed Unsplit Delta Group
FF55 IndMgr: Generic Insert Exception Failed
FF60 EpoMgr: Flash Read RS Syndrome Gen Timeout
FF61 EpoMgr: Uncorrectable Flash RS ECC Error
FF62 EpoMgr: Correctable EPO Timeout
FF63 EpoMgr: ARM FPS Engine and Not Spinning
3 31 03 Sanitize Command failed
F50C Host Interface: Sanitize Command failed
3 32 01 LOM Generic Failure - ShowStop
1F40 IndSys: LOM Generic Fail
3 40 00 Unrecovered SAT No Buffer Overflow Error
F720 Media: RC Dump Overflow Error
F721 Media: Format Configuration Invalid
F75F Media: Unrecovered SAT No Buffer Overflow Error
3 40 01 Unrecovered SAT Buffer Overflow Error
F760 Media: Unrecovered SAT Buffer Overflow Error
3 40 02 Unrecovered SAT No Buffer Overflow With ECS Fault

326
Hard Disk Drive Specification
F78E Media: Unrecovered SAT No Buffer Overflow With ECS Fault
3 40 03 Unrecovered SAT Buffer Overflow With ECS Fault
F78F Media: Unrecovered SAT Buffer Overflow With ECS Fault
3 5D 01 Self Test Unrecoverable Error Threshold Exceeded
FA81 Self-Test: Unrecoverable Error Count Threshold Exceeded
3 81 00 Vendor Unique - Internal Logic Error
F75B Media: Unrecovered Too Many Sectors Error
Sense Key = Hardware Error
4 02 00 No Seek Complete
F41C Servo: Unrecovered Current error
F41E Servo: Unrecovered Seek timeout
F420 Servo: Unrecovered Seek error
F42C Servo: Unrecovered RRO Calibration timeout
F4A1 Servo: Unrecovered IDLEA Grab Error
F4A3 Servo: Unrecovered IDLEA Seek Error
F4A5 Servo: UnRecovered AVEDAC Error
F4A7 Servo: Unrecovered IDLEA Exit Timeout Error
14A9 Servo: Unrecovered IDLEA Long Seek Error
4 09 00 Track Following Error
F422 Servo: Unrecovered Track following error
F424 Servo: Unrecovered Track follow timeout
4 31 00 Medium Format Corrupted - Reassign Failed
F204 Reassign reserved area media error
4 32 00 No Defect Spare Location Available
F205 G-list full - can't reassign any more sectors
F206 No spares available
4 3E 03 Self-test Failed
F481 Servo: Unrecovered Self-Test Failed
F75D Media: Unrecovered Self-Test Failed Error
FA8D SMART: Disk shift exceeded threshold
4 3E 04 Unrecovered Self-Test Hard-Cache Test Fail
F762 Media: Unrecovered Self-Test Hard-Cache Test Fail
4 3E 05 Unrecovered Self-Test OTF-Cache Fail
F763 Media: Unrecovered Self-Test OTF-Cache Fail
4 40 80 Diagnostic Failure
F101 BATS error: Reserved Area - Invalid request
F102 BATS error: Reserved Area - Broken
F103 BATS error: Reserved Area - Invalid version
F104 BATS error: Reserved Area - Invalid checksum
F105 BATS error: Reserved Area - Invalid eyecatcher
F106 BATS error: Reserved Area - Invalid main header checksum
F107 BATS error: Reserved Area - Invalid read length
F108 BATS error: Reserved Area - Address boundary error
1109 BATS error: Reserved Area - Error reading first copy
F10D BATS error: Reserved Area - Write fix hard error
F10E BATS error: Reserved Area - EPO Flash Log
F111 BATS error: RAM code load error
F112 BATS error: RAM code check
F113 BATS error: Exception in primary FW image
F114 BATS error: Reserved Area - Invalid request
F11D BATS error: Incorrect Disk Code
F123 BATS error: Reserved map index too large
F125 BATS error: Invalid RID/FID
F12B BATS error: Reserved area - invalid model
F12D Format Reserved: FAT Size Exceeded Error

327
Hard Disk Drive Specification
F12E Format Reserved: Insufficient DIRS Good Error
F12F Format Reserved: Insufficient FATS Good Error
F131 Flash timeout
F137 Flash ECC error
F139 Format Reserved: Resize RID/FID Error
F13B BATS error: SW Target broken
F13C BATS error: NCDE DRAM failure
F140 Format Reserved: Too many Defects Error
F142 ATA Diagnostic Code: No Error
F143 ATA Diagnostic Code: Formatter Error
F144 ATA Diagnostic Code: Sector Buffer Error
F147 ATA Diagnostic Code: Read/Write Test Error
F148 BATS error: Still broken after clear
F149 BATS#2 error: Security: AES Error
F14A BATS#2 error: Security: RSA Error
F14B BATS#2 error: Security: DRGB Error
F14C BATS#2 error: Security: SHA256 Error
F14D BATS#2 error: Security: HMAC Error
F14E BATS#2 error: Security: Hardware AES Error
4 40 81 DRAM Failure
F12A DRAM test error
4 40 90 Diagnostic Failure
F118 BATS#2 error: Seek test error
4 40 91 Diagnostic Failure
F13E BATS#2 error: TCG Test Failed
4 40 A0 Diagnostic Failure
F119 BATS#2 error: Read/write test error
F11B BATS#2 error: CRC test error
F11C BATS#2 error: XOR test error
F136 BATS#2 error: End-To-End Data Protection error
F13F BATS#2 error: Read/Write Test Compare Failed
4 44 00 Internal Target Failure
F203 Sanity: Sanity Check Failure
F208 Mode Page Structure Mismatch
F209 Miscompare of SBA in the P-List
F20A Error Clearing Reset State
F20B DSLT: Invalid number of splits
F20C DSLT: Invalid relaxed format
F20D DSLT: First Fragment too large
F20E DSLT: Invalid end offset
F20F DSLT: Cycle not complete
F220 MFG: Consistency Check failed
F221 MFG: General Align Tables Missing
F230 SEC_MGR: AES Hardware Error
F231 SEC_MGR: BDE Unwrap Error
F240 SEC_MGR: PRNG Seed Error
F241 SEC_MGR: PRNG General Error
F302 Motor: Unrecovered internal error
F304 Motor: Unrecovered Open Loop Commutation failure
F306 Motor: Unrecovered No feedback detected error
F308 Motor: Unrecovered Settle timeout
F30A Motor: Unrecovered Gross speed error
F30C Motor: Unrecovered 12V OK error
F30E Motor: Unrecovered Speed error
F312 Motor: Unrecovered Internal 12V not OK timeout

328
Hard Disk Drive Specification
F314 Motor: Unrecovered Inductive Sense speed error
F316 Motor: Unrecovered Spin Sense speed error
F31A Motor: Unrecovered Target speed error
F31C Motor: Unrecovered Power driver version error
F31E Motor: Unrecovered Over current error
F322 Motor: Unrecovered Negative regulator fault
F324 Motor: Unrecovered Module overtemp error
F326 Motor: Unrecovered 12V or 5V OK error
F328 Motor: Unrecovered unknown error
F366 Motor: Unrecovered Predriver Voltage Offset Calibration Error
F368 Motor: Unrecovered Predriver BEMF Gain Calibration Error
F36A Motor: Unrecovered Predriver BEMF Unload Calibration Error
F370 Motor: Unrecovered IDCS Calibration Measurement 1 Error
F372 Motor: Unrecovered IDCS Calibration Measurement 2 Error
F374 Motor: Unrecovered IDCS Calibration Saturation Error
F376 Motor: Unrecovered IDCS Calibration Adjustment Error
F3A8 Motor: Unrecovered PMIC Not Supported
F402 Servo: Unrecovered Requested rezero head does not exist
F404 Servo: Unrecovered Back EMF movement in progress
F406 Servo: Unrecovered Back EMF timeout error
F408 Servo: Unrecovered ADC conversion timeout
F40A Servo: Unrecovered Load/unload calibration error
F40C Servo: Unrecovered Invalid 5 volts
F40E Servo: Unrecovered Invalid 12 volts
F410 Servo: Unrecovered Invalid harmonic requested
F412 Servo: Unrecovered Gain BEMF Calibration error
F414 Servo: Unrecovered VOFF BEMF calibration error
F416 Servo: Unrecovered Invalid temperature
F418 Servo: Unrecovered Truncated rezero
F41A Servo: Unrecovered Heads not loaded
F426 Servo: Unrecovered KT Seek out of range
F428 Servo: Unrecovered DAC Offset calibration error
F42A Servo: Unrecovered Load speed error
F42E Servo: Unrecovered ADC Calibration error
F430 Servo: Unrecovered ADC Offset error
F432 Servo: Unrecovered ADC Limit error
F434 Servo: Unrecovered Balancer Resistance error
F436 Servo: Unrecovered Balancer Resistance Limit error
F438 Servo: Unrecovered First Cylinder error
F43A Servo: Unrecovered Valid Cylinder error
F43C Servo: Unrecovered ADC Saturation error
F43E Servo: Unrecovered Latch Break timeout
F440 Servo: Unrecovered MR Resistance out of range error
F442 Servo: Unrecovered VCM Retract error
F444 Servo: Unrecovered Load Retry error
F446 Servo: Unrecovered DFT Sharp error
F448 Servo: Unrecovered Load/Unload state error
F44A Servo: Unrecovered TFCR out-of-range error
F44C Servo: Unrecovered Measure GMR Timeout
F44E Servo: Unrecovered Coil Resistance Measurement Failure
F460 Servo: Unrecovered WCS Hang Error
F462 Servo: Unrecovered DFT Timeout Error
F464 Servo: Unrecovered SDM Timeout Error
F466 Servo: Unrecovered RRO Write Error
F468 Servo: Unrecovered Velocity Error

329
Hard Disk Drive Specification
F46A Servo: Unrecovered Start SID Incorrect Error
F46C Servo: Unrecovered End Sid Incorrect Error
F46E Servo: Unrecovered Measure GMR SDM Failure
F470 Servo: Unrecovered VCM Free Speed Error
F472 Servo: Unrecovered Emergency Brake Timeout Error
F474 Servo: Unrecovered Excessive Current Error
F476 Servo: Unrecovered Excessive Velocity Error
F477 Servo: Unrecovered Invalid SDM CDB Error
F478 Servo: Unrecovered Invalid SDM Descriptor Error
F479 Servo: Unrecovered Invalid DFT Descriptor Error
F47A Servo: Unrecovered SDM or DFT Allocation Error
F47B Servo: Unrecovered SDM OR DFT Transfer Error
F47C Servo: Unrecovered SDM Physical Parameter Error
F47E Servo: Unrecovered RROF SDM Timeout Error
F480 Servo: Unrecovered RROF Over Limit Error
F483 Servo: Unrecovered Measure Asymmetry SDM Failure
F484 Servo: Unrecovered Measure Overwrite SDM Failure
F485 Servo: Unrecovered TFC Utility SDM Failure
F487 Servo: Unrecovered Milli-Calibration Error
F488 Servo: Unrecovered SIDSAT Timeout Error
F489 Servo: Unrecovered SDM Load-And-Drop-Anchor Error
F48A Servo: Unrecovered Filter Table Full Error
F48B Servo: Unrecovered Filter Table Invalid Error
F48D Servo: Unrecovered Measure Qsamp SDM Failure
F48F Servo: Unrecovered Tilt Calibration Error
F491 Servo: Unrecovered Tilt Numerical Error
F492 Servo: Unrecovered Milli Table Load Error
F493 Servo: Unrecovered TFCR DAC Out of Range
F494 Servo: Unrecovered MRR DAC Out of Range
F495 Servo: Unrecovered TFCR Open/Short
F497 Servo: Unrecovered DTID Inhibit Error
F499 Servo: Unrecovered DTID Unlock Error
F49B Servo: Unrecovered SHARP Pulse TFC Entry Error
F49D Servo: Unrecovered Heads Not Loaded FFSULI
F49F Servo: Unrecovered Load Abort FFSULI
F603 Channel/AE: Unrecovered Internal Target Failure
F604 Channel/AE: Unrecovered Internal Calibration Error
F605 Channel/AE: Unrecovered Internal MR Calibration Error
F607 Channel/AE: Unrecovered data with PPM or precomp load
F60A AE: TFC Short Error
F60C AE: Unrecovered Shorted MR Element Error
F60D Unsupported Read Channel Command Error
F60E Init: RRClk Dead Error
F60F Init: RRClk Unlock Error
F611 AE: Unrecovered ECS Shorted Fault
F613 AE: Unrecovered ECS Open Fault
F615 AE: Unrecovered ECS Fault
F617 Channel: Unrecovered Channel Error
F619 Init: SVCLK Unlock Error
F61B AE: Unrecovered Open MR Element Error
F61D AE: Unrecovered IC Over Temperature Error
F61F AE: Unrecovered IP Clock Count Error
F621 AE: Unrecovered DLC SVCLK Error
F623 AE: Unrecovered Write Data BLS Error
F627 AE: Unrecovered Power Supply Error

330
Hard Disk Drive Specification
F629 AE: Unrecovered Open Write Head Error
F62B AE: Unrecovered Write Transition Error
F631 AE: Unrecovered SPE Low In Write Fault
F633 Channel: Unrecovered Write Synth Unlock error
F637 AE: Unrecovered Short Write Head Error
F63D AE: Unrecovered TFC Open Error
F642 AE: Unrecovered Software Readback Error
F643 AE: Unrecovered Readback Error
F645 AE: Unrecovered Latch Fault Error
F649 Channel: Unrecovered Reset Flag Error
F64B Channel: Unrecovered Gate Command Queue Underflow Error
F64D Channel: Unrecovered Sector Size Fault Error
F64F Channel: Unrecovered Last Split Fault Error
F651 Channel: Unrecovered Servo-Servo Overlap Error
F653 Channel: Unrecovered Read Gate Fault Error
F655 Channel: Unrecovered RWBI Out Fault Error
F657 Channel: Unrecovered No Write Clock Error
F659 Channel: Unrecovered No NRZ Clock Error
F65B Channel: Unrecovered Calibration Block Fault Error
F65F Channel: Unrecovered Gate Command Queue OverflowError
F661 Channel: Unrecovered Ending Write Splice Fault Error
F663 Channel: Unrecovered Write Gate Overlap Fault Error
F665 Channel: Unrecovered Write Gate Fault Error
F667 Channel: Unrecovered Buffer Overflow Write Error
F669 Channel: Unrecovered Buffer Underflow Write Error
F66B Channel: Unrecovered Write Parity Error
F66D Channel: Unrecovered Buffer Overflow Read Error
F66F Channel: Unrecovered CTG Wedge Slip Fault Read Error
F671 Channel: Unrecovered CTG Packet Late Fault Error
F673 Channel: Unrecovered Baseline Instability Count Late Error
F675 Channel: Unrecovered Preamp Count Fault Error
F677 Channel: Unrecovered Pfault Read Error
F679 Channel: Unrecovered Pfault Write Error
F67B Channel: Unrecovered Last Data Fault Error
F67D Channel: Unrecovered WRPO Fault Error
F681 Channel: Unrecovered PLLFloor Error
F683 Channel: Unrecovered Losslock Error
F685 Channel: Unrecovered VGA Floor Error
F687 Channel: Unrecovered Buffer EVGA Floor Error
F689 Channel: Unrecovered TA Detector Error
F68B Channel: Unrecovered NPLD Error
F68D Channel: Unrecovered ZGR Flag Error
F68F Channel: Recovered DPLL Freq Flag Error
F691 Channel: Unrecovered Massive Drop Out Detection Error
F693 Channel: Unrecovered CTG Parameter Out of Bounds Flag Error
F695 Channel: Unrecovered Flaw Signal Sync Error
F697 Channel: Unrecovered ACQ Flag Error
F699 Channel: Unrecovered No Clock Error
F69B Channel: Unrecovered PLL Losslock Error
F69D Channel: Unrecovered ESNR Timeout Error
F69F Channel: Unrecovered ADC Sample Not Ready Error
F6A0 AE: Unrecovered Fuse Load Fail Error
F6A1 AE: Unrecovered Configuration Error
F6A3 Channel: Unrecovered Auto RST NRZ-Clock Error
F6A5 Channel: Unrecovered Write CRC Fault Error

331
Hard Disk Drive Specification
F6A7 Channel: Unrecovered Read Synthesizer Loss of Lock Error
F6A9 Channel: Unrecovered RLL Parameter Error
F6AB Channel: Unrecovered FIFO Underflow Error
F6AD Channel: Unrecovered FIFO Overflow Error
F6AF Channel: Unrecovered Iterative Decoder Error
F6B1 Channel: Unrecovered Iterative Read Error
F6B3 Channel: Unrecovered Encoder Overflow Error
F6B5 Channel: Unrecovered Encoder Underflow Error
F6B7 Channel: Unrecovered Encoder RAM CRC Error
F6B9 Channel: Unrecovered Interface Fault
F6BB Channel: Unrecovered QMM EVDump Parse Error
F6BD Channel: Unrecovered DiBit Timeout Error
F6BF Channel: Unrecovered MXP Write Fault
F6C1 Channel: Unrecovered Data Jam Error
F6C3 Channel: Unrecovered Code-Word Out Of Order Error
F6C5 Channel: Unrecovered Read RLL Buffer CRC Flag Error
F6C7 Channel: Unrecovered Write RLL Buffer CRC Flag Error
F6C9 Channel: Unrecovered CTG No SAM Detected Fault Error
F6CB Channel: Unrecovered ITI Adjust Preload Fault Track Error
F6CD Channel: Unrecovered WTG SRV Fault Error
F6CF Channel: Unrecovered CTG Engine Not Ready Fault Error
F6D1 Channel: Unrecovered LLI Abort Fault Error
F6D3 Channel: Unrecovered Retry Fault Error
F6D5 Channel: Unrecovered WTG Timeout Fault Error
F6D7 Channel: Unrecovered ITI Fault TS Transfer All Error
F6D9 Channel: Unrecovered ITI Data Fault Error
F6DA Channel: Unrecovered Insufficient TFC Preheat Error
F6DB Channel: Unrecovered AE And FAEP Do Not Match
F6DD Channel: Unrecovered Data Jam Fault Error
F6DF Channel: Unrecovered Code-Word Out of Order Error
F6E1 Channel: Unrecovered RLL Initialization Timeout Error
F6E2 Channel: Unrecovered AEQ Timeout Error
F6E3 Channel: Unrecovered AEQ NLD Initialization Error
F6E4 Channel: Unrecovered ADC Calibration Timeout Error
F6E5 Channel: Unrecovered ADC Buffer Calibration Timeout Error
F6E6 Channel: Unrecovered Power Sequencing Timeout Error
F6E8 Channel: Unrecovered Mode Overlap Write Error
F6EA Channel: Unrecovered Ready Fault Error
F6EC Channel: Unrecovered Synchronous Abort Done Error
F6EE Channel: Unrecovered NRZ Clear Fault Error
F6F0 Channel: Unrecovered Collision Fault Error
F6F2 Channel: Unrecovered Read Synthesizer Precharge Fail Fault Error
F6F4 Channel: Unrecovered Servo Synthesizer Precharge Fail Fault Error
F6F6 Channel: Unrecovered Read Synthesizer Loss of Lock Error
F6F8 Channel: Unrecovered Fragment Number Fault Error
F6FA Channel: Unrecovered Preamble Quality Monitor Fault Error
F6FB Channel: Unrecovered Stop For RTM Error
F6FC Channel: Unrecovered RTM Configuration Error
F6FD Channel: Unrecovered RTM Failure Error
F6FE Channel: Unrecovered RTM Timeout Error
F713 Media: Unrecovered LBA MEDC Error
F717 Media: Unrecovered Write Overrun Error
F71D Media: Unrecovered DRAM CRC Error
F732 Media: Unrecovered Write Fault
F745 Media: Unrecovered Sudden Stop Error

332
Hard Disk Drive Specification
F75A Media: Unrecovered Unknown Error
F764 Media: Unrecovered Merge G-List Failed - No P-List Exists
F767 Channel: Unrecovered XTS LOAD Timeout Error
F76B Media: Unrecovered No NRZ Clock Error
F76F Media: Uncorrectable Channel Ready Error
F787 Media: Unrecovered LLI Underrun Error
F78D Media: Unrecovered FFSULI Timeout
F793 Media: Unrecovered MEDC Write Data Not Ready error
F795 Media: Unrecovered DMA Timeout Error
F799 Media: Unrecovered ID Not Found Error
F79D Media: Unrecovered Channel Read Timeout Error
F7B5 Media: Unrecovered Shock Sensor Error
F7C1 Media: Unrecovered End Sector Check Error
F7C3 Media: Unrecovered Read CRC Error
F7C5 Media: Unrecovered DRAM ECC Error
F7C7 Media: Unrecovered DRAM ECC LBA Error
F7CD Media: Unrecovered LBA Encryption Error
F7D5 Media: Unrecovered Parity PTR FIFO Error
F7D7 Media: Unrecovered Parity LBA FIFO Error
F7D9 Media: Unrecovered Parity Uncorrectable FIFO Error
F7DB Media: Unrecovered Status Uncorrectable FIFO Error
F7DD Media: Unrecovered Parity EDC SRAM Error
F7DF Media: Unrecovered REQ/ACK Handshake Error
F7E3 Media: Unrecovered Read Parity Error
F7E5 Media: Unrecovered EPO Error
F7E9 Media: Unrecovered AE Access Inhibit Error
F7EB Media: Unrecovered PTR FIFO Error
F7ED Media: Unrecovered LBA FIFO Error
F7F1 Media: Unrecovered Read Transfer Length Error
F7F3 Media: Unrecovered DS RDC Burst Error
F7F5 Media: Unrecovered SV RDC Burst Error
F7F7 Media: Unrecovered Channel AE WG Error
FCxx Media: Unrecovered Unable to Read RID or FID Number xx
4 44 0B Vendor Unique - Internal Target Failure
F310 Motor: Unrecovered Spindle Current error
F318 Motor: Unrecovered Spin Sense timeout
F320 Motor: Unrecovered System clock watchdog error
F32A Motor: Unrecovered VCM DAC watchdog error
F32C Motor: Unrecovered Module mid-die overtemp fault
F32E Motor: Unrecovered Module Vcmp hi-side overtemp fault
F330 Motor: Recovered Module Vcmn hi-side overtemp fault
F332 Motor: Unrecovered Invalid standby RPM request
F334 Motor: Unrecovered Invalid spin state request
F336 Motor: Unrecovered Hardware retract timeout
F338 Motor: Unrecovered thermal limit exceeded
F33A Motor: Unrecovered Predriver fault
F33C Motor: Unrecovered Predriver Watchdog Fsys error
F33E Motor: Unrecovered Predriver Watchdog DAC error
F340 Motor: Unrecovered Predriver Speed Low error
F342 Motor: Unrecovered Predriver UV Vboost error
F344 Motor: Unrecovered Predriver NREG UV error
F346 Motor: Unrecovered Predriver Ext NPOR error
F348 Motor: Unrecovered Predriver Reg UV error
F34A Motor: Unrecovered Predriver Under Voltage 12 Volt Supply error
F34C Motor: Unrecovered Predriver Under Voltage 5 Volt Supply error

333
Hard Disk Drive Specification
F34E Motor: Unrecovered Predriver Over Voltage 12 Volt Supply error
F350 Motor: Unrecovered Predriver Under Voltage 1.8 Volt Supply error
F352 Motor: Unrecovered Predriver Under Voltage 0.9 Volt Supply error
F354 Motor: Unrecovered Predriver Under Voltage 1.5 Volt Supply error
F356 Motor: Unrecovered Predriver Shock Detected error
F358 Motor: Unrecovered Predriver Over Temperature error
F35A Motor: Unrecovered Predriver Under Voltage 3.3 Volt Supply error
F35C Motor: Unrecovered Predriver Under Voltage 5 and 12 Volt Supply error
F35E Motor: Unrecovered Predriver Error in Enabling Power Saving Mode
F360 Motor: Unrecovered Predriver Fault in Auto Retract
F362 Motor: Unrecovered Predriver Error in Utilizing External Power Supply
F364 Motor: Unrecovered Predriver Regulator Supply Fault
F36C Motor: Unrecovered Predriver VCM Short Error
F36E Motor: Unrecovered Predriver NREG disable error
4 44 F2 Vendor Unique - Internal Target Failure
F134 Head Health Check data compare error
4 44 F6 Vendor Unique - Internal Target Failure
F135 Head Health Check unrecovered media error
F141 BATS#2 error Read/Write Test Compare Failed
4 44 F9 Vendor Unique - Internal Target Failure
F452 Servo: Unrecovered SHARP Parity Rate Error
F456 Servo: Unrecovered SHARP Decode Rate Error
F45A Servo: Unrecovered SHARP Timeout Rate Error
F45E Servo: Unrecovered SHART Other Rate Error
4 44 FA Vendor Unique - Internal Target Failure
F450 Servo: Unrecovered SHARP Parity Error
F454 Servo: Unrecovered SHARP Decode Error
F458 Servo: Unrecovered SHARP Timeout Error
F45C Servo: Unrecovered SHARP Other Error
4 81 00 Vendor Unique - Internal Logic Error
F602 Channel/AE: Unrecovered Internal Logic Error
4 85 00 Vendor Unique - Internal Key Seed Error
1768 Media: Recovered Key Seed ID Mismatch Error
F769 Media: Unrecovered Key Seed ID Mismatch Error
Sense Key = Illegal Request
5 00 16 Operation in Progress
F81F CMD: Operation in Progress
5 15 00 PHY Test In Progress Error
F50D Host Interface: Phy Test Function in Progress
5 1A 00 Parameter List Length Error
F820 CMD: Unrecovered Parameter List Length Error
5 20 00 Invalid Command Operation Code
F81E CMD: Reassign Not Allowed
F821 CMD: Unrecovered Invalid Opcode in CDB Error
5 21 00 Logical Block Address out of Range
F822 CMD: Unrecovered LBA Out Of Range Error
5 24 00 Invalid Field in CDB
F823 CMD: Unrecovered Invalid Field In CDB Error
5 25 00 Logical Unit Not Supported
F824 CMD: Unrecovered Invalid LUN Error
5 26 00 Invalid Field in Parameter List
F579 Host Interface: Data Checksum Error
F825 CMD: Unrecovered Invalid Field In Parameter List Error
F826 CMD: Unrecovered Unsupported Log Page Error
F829 CMD: Invalid Tx Setting for Combo Chip Error

334
Hard Disk Drive Specification
5 26 02 Parameter Value Invalid
F120 BATS error: Code Compatibility Failure
F126 BATS error: Code checksum error
F127 BATS error: Invalid header
F130 BATS error: Incorrect Customer Code
F13D BATS error: Invalid Code Signature
F830 CMD: Unrecovered Sequence Error
5 26 04 Invalid Release of Active Persistent Reservation
F828 CMD: Unrecovered Invalid Release of Persistent Reservation Error
5 2A 03 Reservation Conflict
F536 Host Interface: Reservation conflict
5 2C 00 Illegal Request Sequence Error
F511 Host Interface: Illegal Request Sequence Error
5 49 00 Invalid Message Error
F512 Host Interface: Invalid Message
5 55 04 Insufficient Registration Resources
F567 Host Interface: Insufficient registration resources
Sense Key = Unit Attention
6 28 00 Not Ready To Ready Transition (Format completed)
F514 Host Interface: Not ready to ready transition
6 29 01 Unit Attention - POR Occurred
F516 Host Interface: Power on reset
6 29 02 Unit Attention - SCSI Bus Reset Occurred
F517 Host Interface: SAS Hard Reset (SAS)
6 29 03 Unit Attention - Bus Device Reset Occurred
F518 Host Interface: LUN Reset (SAS)
6 29 04 Unit Attention - Self Initiated Reset Occurred
F519 Host Interface: Self initiated reset
6 29 07 I_T Nexus Loss Occurred
F554 Host Interface: I_T_Nexus Loss Occurred (SAS)
6 2A 01 Mode Parameters Changed
F51C Host Interface: Mode parameters changed
6 2A 02 Log Parameters Changed
F51D Host Interface: Log parameters changed
6 2A 03 Reservations Preempted
F51E Host Interface: Reservations pre-empted
6 2A 04 Reservations Released
F51F Host Interface: Reservations released
6 2A 05 Registrations Released
F520 Host Interface: Registrations pre-empted
6 2A 09 Capacity Data Changed
F524 Host Interface: Capacity Data Changed
6 2A 10 Timestamp Changed
F525 Host Interface: Timestamp Changed
6 2F 00 Commands Cleared by Another Initiator
F521 Host Interface: Commands cleared by another initiator
6 2F 01 Commands Cleared by Power Loss Notification
F573 Host Interface: Commands cleared due to power failure event (SAS)
6 3F 01 Microcode has been changed
F522 Host Interface: Microcode changed
6 3F 05 Device Identifier Changed
F537 Host Interface: Device identifier changed
Sense Key = Access Denied
7 20 02 Access Denied
F509 Host Interface: In Self-Test - Band locked

335
Hard Disk Drive Specification
F827 CMD: Unrecovered Access Denied Error
Sense Key = Aborted Command
B 0E 01 Information Unit Too Short
F561 Host Interface: Information unit too short (SAS)
B 0E 02 Information Unit Too Long
F562 Host Interface: Information unit too long (SAS)
B 10 01 Aborted Command – End-to-End Guard Check
F568 Host Interface: End-to-End Data Protection Guard check
F7BD Media: Unrecovered Guard Check Error
B 10 02 Aborted Command – End-to-End Application Tag Check
F569 Host Interface: End-to-End Data Protection Application Tag check
F7BB Media: Unrecovered Application Tag Error
B 10 03 Aborted Command – End-to-End Reference Tag Check
F56A Host Interface: End-to-End Data Protection Reference Tag check
F7B9 Media: Unrecovered Reference Tag error
B 3F 0F Aborted Command - Echo Buffer Overwritten
F544 Host Interface: Echo buffer overwritten
B 44 00 Internal Target Failure
F52D Host Interface: Buffer CRC error on read
F52E Host Interface: Internal target failure
F54A Host Interface: Xfer Ready credit exceeded
F54B Host Interface: Transfer length error
F56B Host Interface: ECC error in DRAM customer data area
F56C Host Interface: Uncorrectable DRAM ECC error
F570 Host Interface: Host interface Synchronous CRC error
F57A Host Interface: Synchronous CRC Error on Write
F57B Host Interface: Synchronous CRC LBA Error
F62F Channel: Unrecovered Channel NRZ Clear Timeout Error
F741 Media: OCT Timeout Not Dispatched
F742 Media: OCT Timeout In Recovery
F743 Media: OCT Timeout Executing
F75C Media: Unrecovered Internal Media Access Timeout Error
F772 Media: Unrecovered DASH starting timeout
F773 Media: Unrecovered ID table timeout
F774 Media: Unrecovered Servo timeout
F775 Media: Unrecovered Buffers timeout
F776 Media: Unrecovered DASH done timeout
F777 Media: Unrecovered DASH unknown timeout
F77A Media: BUFCNT Timeout Error
F77B Media: Unrecovered Abort EOS fail
F77E Media: Write Error Recovery Timeout
F77F Media: Read Error Recovery Timeout
F7D0 Media: Unrecovered Pre-load Timeout Error
F813 CMD: Insufficient Buffer Space Error
F815 CMD: Aborted From Internal TMF Error
B 47 01 Data Phase CRC Error
F54E Host Interface: Data Phase CRC Error
B 4B 00 Data Phase Error
F53E Host Interface: Data Phase Error
B 4B 02 Too Much Write Data
F560 Host Interface: Too Much Write Data (SAS)
B 4B 03 ACK/NAK Timeout
F551 Host Interface: ACK NAK Timeout (SAS)
F57D Host Interface: Break Received (SAS only)
B 4B 04 NAK Received

336
Hard Disk Drive Specification
F550 Host Interface: NAK rcvd (SAS)
B 4B 05 Data Offset Error
F552 Host Interface: Bad parameter offset (SAS)
B 4B 06 Initiator Response Timeout
F555 Host Interface: Initiator Response Timeout (SAS)
B 4E 00 Overlapped Commands Attempted
F534 Host Interface: Overlapped command attempted
B 4F 00 Command Aborted Due To OOB
F53F Host Interface: Abort by OOB (SAS)
Sense Key = Miscompare
E 1D 00 Miscompare During Verify Operation
F535 Host Interface: Miscompare during verify

337
Hard Disk Drive Specification
FRU: Field Replaceable Unit (Byte 14)
The FRU (Field Replaceable Unit) field value will always be zero.
Note: The FRU field may be used to store vendor specific information in certain firmware builds.

Sense Key Specific (Byte 15 through 17)


The definition of this field is determined by the value of the sense key field.

Sense Key Specific - Illegal Request (Sense Key = 5h)


Error field pointer is returned.
Bit
Byte
7 6 5 4 3 2 1 0
15 SKSV C/D Reserved BPV Bit Pointer
(MSB)
16
Field Pointer
17
(LSB)
Table 318 Field Pointer Bytes

SKSV Sense-key specific valid


0 Sense-key specific field is not valid.
1 Sense-key specific field is valid.
C/D Command/Data
0 Indicates that the illegal parameter was in the data parameters sent by the initiator
during DATA OUT phase
1 Indicates that the illegal parameter was in the command descriptor block.
BPV Bit Pointer Valid
0 Bit pointer field is not valid.
1 Bit pointer field is significant.
Bit Pointer Indicates which bit of the byte number reported in Field Pointer is the bit in error. When a
multiple bit field is in error, the pointer points to the most significant bit of the field.
Field Pointer Indicates which bytes of the command descriptor block or of the parameter data were in error.
Bytes are numbered starting from zero, as shown in the tables describing the commands and
parameters. When a multiple byte field id is in error, the pointer points to the most significant
byte of that field.

338
Hard Disk Drive Specification
Sense Key Specific -Recovered (Sense Key = 1h) or Medium
(Sense Key = 3h) or Hardware (Sense Key = 4h)
Hardware (Sense Key = 4h) or Medium Error (Sense Key = 3h)
Actual Retry Count is reported.
Bit
Byte
7 6 5 4 3 2 1 0
15 SKSV Reserved
16 Secondary Step ERP Type
17 Actual Retry Count
Table 319 Actual Retry Count

SKSV Sense-key specific valid


0 Actual Retry Count is not valid.
1 Actual Retry Count is valid.
Actual Retry Count Number of retry steps used in attempting to recover from the error condition.
Secondary Step Secondary error recovery step (valid for servo errors only).
ERP Type Error recovery table branch for this error. Valid values are shown in the table below.

Recovery Type ERP Type


Read 0x00
Verify 0x01
Write 0x02
Seek 0x03
Read, Sync Byte branch 0x04
Read, Thermal Asperity branch 0x05
Read, Minus Mod branch 0x06
Verify, Sync Byte branch 0x07
Verify, Thermal Asperity branch 0x08
Verify, Minus Mod branch 0x09

Table 320 Recovery Type

Not Ready (Sense key = 2h)


These fields are defined for the Format unit (04h) command with the Immediate bit set to one and the Send
Diagnostic (1Dh) command with Background self-test function.
Progress indication is returned.
Bit
Byte
7 6 5 4 3 2 1 0
15 SKSV Reserved
(MSB)
16
Progress Indication
17
(LSB)
Table 321 Progress Indication

339
Hard Disk Drive Specification
Reserved (Byte 18 through 19)
SKSV Sense-key specific valid
0 Progress Indication is not valid.
1 Progress Indication is valid.
Progress Indication Indicates a percent complete in which the returned value is the numerator that has 10000h
as its denominator.
Reserved fields are filled with zero.

Vendor unique error information (Byte 20 through 23)


This field gives detailed information about the error. It contains a unique code which describes where the error was
detected and which piece of hardware or microcode detected the error depending on current operation.

Physical Error Record (Product Specific Information) (Byte


24 through 29)
 ILI = 1 - This field contains zeros.
 ILI = 0 - These bytes contain the physical location of the error in cylinder, head, and sector. Bytes 24, 25, and
26 are cylinder high, middle and low bytes respectively, of the cylinder number. Byte 27 is the head number.
Bytes 28 and 29 are the high and low bytes, respectively of the sector number.
If the head is undetermined, bytes 24, 25, and 26 are set to 0FFFFFFh. If the head number is undetermined, byte
27 is set to 0FFh. If cylinder, head, and sector have no relevance the error, bytes 24 through 29 will all be set to
0FFFFFFFFFFFFh for Valid = 0 and ILI = 0. This Physical Error Record field is valid for Sense Key 1, 3, and 4
only.
Valid ILI Description
1 0 Cylinder Number (bytes 24-26)
Head number (byte 27)
Sector Number (bytes 28-29)
1 0 Cylinder Number (bytes 24-26)
Head number (byte 27)
Sector Number (bytes 28-29)
1 1 0x000000000000
0 x 0x000000000000 - (not used/invalid)
Table 322 Log Only Errors

340
Hard Disk Drive Specification
Descriptor Format Sense Data
The descriptor format sense data for response codes 72h (current errors) and 73h (deferred errors) is defined
below.

Bit
Byte
7 6 5 4 3 2 1 0
0 Reserved= 0 Response Code (72h or 73h)
1 Reserved Sense Key
2 Additional Sense Code
3 Additional Sense Code Qualifier
4-6 Reserved
7 Additional Sense Length (n-7)
8-m Sense Data Descriptor #1
m...x . . . . . . . . . . . . .
x -n Sense Data Descriptor #K

Table 323 Descriptor Format Sense Data

The Sense Key definitions is the same as fixed format sense data.
Response Code: 72h Current Error. See section 12.1.3 "Sense Data Response Code" for more details.
73h Deferred Error. See section 12.1.3 "Sense Data Response Code" for more details.

The Additional Sense Code/Qualifier definitions is the same as fixed format sense data.
The Value of the Additional Sense Length indicates the remaining number of bytes in the sense data
Sense data descriptors (Byte 8 through n) provide specific sense information. The general format of a sense data
descriptor is shown below:

Bit
Byte
7 6 5 4 3 2 1 0
0 Descriptor Type
1 Additional Length (n-1)
2-n Sense Data Descriptor Specific

Table 324 Sense Data Descriptor Format

341
Hard Disk Drive Specification
The Descriptor Type identifies the type of a sense data descriptor. (Supported types are listed below)

Type Code Description


00h Information Sense Data Descriptor
01h Command-specific Sense Data Descriptor
02h Sense Key Specific Sense Data Descriptor
03h Field Replaceable Unit Sense Descriptor
05h Block Command Sense Data Descriptor
80h Vendor Unique Unit Error Code Sense Data Descriptor
81h Vendor Unique Physical Error Record Sense Data Descriptor

Table 325 Supported Descriptor Types

The ADDITIONAL LENGTH field indicates the number of sense data descriptor specific bytes that follow in the
sense data descriptor.

Order of Sense Descriptors


The drive may return up to 7 sense data descriptors in byte 8 through byte 59 of the sense data, up to the number
of sense data bytes allowed (see Table 326). The sense descriptors returned will always be in the order shown in
the table below, regardless of whether a descriptor contains valid information or not.

Bit
Byte
7 6 5 4 3 2 1 0

0-7 Common Headers

8-19 Information Sense Data Descriptor

20-31 Command-specific Sense Data Descriptor

32-39 Sense Key Specific Sense Data Descriptor

40-43 Field Replaceable Unit (FRU) Sense Data Descriptor

44-47 Block Command Sense Data Descriptor

48-51 Vendor Unique Unit Error Code Sense Data Descriptor

52-59 Vendor Unique Physical Error Record Sense Data Descriptor

Table 326 Sense Data Descriptor List

342
Hard Disk Drive Specification
Sense Data Descriptor Definitions
Information Sense Data Descriptor (Byte 8-19)
The Information Sense Data Descriptor is stored in bytes 8 through 19 of the descriptor format sense data. Format
of the Information Sense Data Descriptor is shown in Table 327

Bit
Byte
7 6 5 4 3 2 1 0

0 Descriptor Type (00h)

1 Additional Length (0Ah)

2 VALID Reserved

3 Reserved

4-11 Information

Table 327 Information Sense Data Descriptor Format

ILI = 0 (or if the descriptor is not present): The Information field contains the unsigned LBA associated with the
sense key. The LBA reported will be within the LBA range of the command as defined in the CDB.
Descriptor Type Set to 00h for Information Sense Data Descriptor.
Additional Length Set to 0Ah for Information Sense Data Descriptor.
VALID This bit is set to 1 when content of the Information field is valid, and set to 0 if the
Information field is invalid.
Information This field contains an LBA or other information depending on the value of the ILI bit in the
Block Command Sense Descriptor (See section 12.3.2.5 "Block Command Sense
Descriptor").
Note: An LBA other than the command LBA may be reported on the Reassign Block (07h) command.
- ILI = 1: The Information field contains the difference (residue) of the requested length in bytes. Negative values
are indicated by two's complement notation

343
Hard Disk Drive Specification
Command-specific Sense Data Descriptor (Byte 20-31)
The Command-specific Sense Data Descriptor is stored in bytes 20 through 31 of the descriptor format sense data.
Format of the format of Command-specific Sense Data Descriptor is shown in Table 328.
Bit
Byte
7 6 5 4 3 2 1 0
0 Descriptor Type (01h)
1 Additional Length (0Ah)
2 Reserved
3 Reserved
4-11 Command-Specific Information
Table 328 Command-specific Sense Data Descriptor Format

Descriptor Type Set to 01h for Command-specific Sense Data Descriptor.


Additional Length Set to 0Ah for Command-specific Sense Data Descriptor.
Command-specific Information The value of this field is set the same ways as Command Specific
Information field in fixed format sense data (See section 12.2.7 "Command
Specific Information (Byte 8 through 11)")

Sense Key Specific Sense Data Descriptor (Byte 32-39)


The Sense-key Specific Sense Data Descriptor is stored in bytes 32 through 39 of the descriptor format sense data.
Format of Sense-key Specific Sense Data Descriptor is shown in Table 329.
Bit
Byte
7 6 5 4 3 2 1 0
0 Descriptor Type (02h)
1 Additional Length (06h)
2 Reserved
3 Reserved
4 SKSV Sense Key Specific Bits
5-6 Sense Key Specific Bytes
7 Reserved
Table 329 Information Sense Data Descriptor Format

Fields in byte 4 through 6 (including the SKSV bit, Sense-Key Specific Bits, and Sense-Key Specific Bytes):
Descriptor Type Set to 02h for Command-specific Sense Data Descriptor.
Additional Length Set to 06h for Command-specific Sense Data Descriptor.
These fields are set the same ways as byte 15 - 17 in fixed format sense data (See section 12.2.10 "Sense Key
Specific (Byte 15 through 17)" for details).

344
Hard Disk Drive Specification
Field Replaceable Unit (FRU) Sense Data Descriptor (Byte
40-43)
The Field Replaceable Unit (FRU) Sense Data Descriptor is stored in bytes 40 through 43 of descriptor format
sense data. Format of Field Replaceable Unit (FRU) Sense Data Descriptor is shown in Table 330.

Bit
Byte
7 6 5 4 3 2 1 0

0 Descriptor Type (03h)

1 Additional Length (02h)

2 Reserved

3 Field Replaceable Unit Code

Table 330 Field Replaceable Unit Sense Data Descriptor Format

Descriptor Type Set to 03h for Field Replaceable Unit Sense Data Descriptor.
Additional Length Set to 02h for Field Replaceable Unit Sense Data Descriptor.
Command-specific Information This field is set the same way as the Field Replaceable Unit Code of fixed
format sense data. (See section 12.2.9 "FRU: Field Replaceable Unit (Byte
14)" for details).

Block Command Sense Descriptor (Byte 44-47)


The Block Command Sense Data Descriptor is stored in bytes 44 through 47 of descriptor format sense data.
Format of the Block Command Sense Data Descriptor is shown in Table 331.

Bit
Byte
7 6 5 4 3 2 1 0

0 Descriptor Type (05h)

1 Additional Length (02h)

2 Reserved

3 Reserved=0 ILI Reserved=0

Table 331 Block Command Sense Data Descriptor Format

Descriptor Type Set to 05h for Block Command Sense Data Descriptor.
Additional Length Set to 02h for Block Command Sense Data Descriptor.
ILI: Value of the ILI bit is set to indicate what type of value is stored in the Information field of
the Information Sense Data Descriptor (see section 12.3.2.1 "Information Sense Data
Descriptor (Byte 8-19)" for details):

345
Hard Disk Drive Specification
Vendor Unique Unit Error Sense Data Descriptor (Byte 48-
51)
The Vendor Unique Unit Error Code Sense Data Descriptor is stored in bytes 48 through 51 of descriptor format
sense data. Format of the Vendor Unique Unit Error Code Sense Data Descriptor is shown in Table 332.

Bit
Byte
7 6 5 4 3 2 1 0

0 Descriptor Type (80h)

1 Additional Length (02h)

2-3 Unit Error Code (UEC)

Table 332 Vendor Unique Unit Error Code Sense Data Descriptor

Descriptor Type Set to 80h for Vendor Unique Unit Error Code Sense Data Descriptor.
Additional Length Set to 02h for Vendor Unique Unit Error Code Sense Data Descriptor.
Unit Error Code: This field contains the same value as the Vendor Unique Error Information field in fixed
format sense data which gives detailed information about the error (See section 12.2.12
"Vendor unique error information (Byte 20 through 23)"). It contains a unique code which
describes where the error was detected and which piece of hardware or microcode
detected the error depending on current operation

Vendor Unique Physical Error Record Sense Data


Descriptor (Byte 52-59)
The Vendor Unique Physical Error Record Sense Data Descriptor is stored in bytes 52 through 59 of descriptor
format sense data.. Format of the Vendor Unique Physical Error Record Sense Data Descriptor is shown in Table
332 .

Bit
Byte
7 6 5 4 3 2 1 0

0 Descriptor Type (81h)

1 Additional Length (06h)

2-7 Physical Error Record

Table 333 Vendor Unique Physical Error Record Sense Data Descriptor

Descriptor Type Set to 81h for Vendor Unique Unit Physical Error Record Sense Data Descriptor.
Additional Length Set to 06h for Vendor Unique Unit Physical Error Record Sense Data Descriptor.
Unit Error Code: This field is set the same way as the Physical Error Record in fixed format sense data. (See
section 12.2.13 "Physical Error Record (Product Specific Information) (Byte 24 through 29)"
for details).

346
Hard Disk Drive Specification
Appendix. UEC list
Following is the list of Unit Error Codes and associated descriptions. The Unit Error Codes are returned by the
target in sense data bytes 20-21.
The list of Unit Error Codes and descriptions does not have a direct correlation to the error descriptions and Sense
Key/Code/Qualifier descriptions in Section 10 "Additional information". These codes are used internally by Western
Digital and may change without notice.
How to find a specific UEC
The second hex digit indicates the grouping, e.g. interface, media, servo, etc. types of errors. The table is sorted
without regard to the first hex digit; instead, sorting is by the least significant three hex digits.
Table 334 Unit Error Codes

UEC Description
0000 No Error

F101 BATS error: Reserved Area - Invalid request


F102 BATS error: Reserved Area - Broken
F103 BATS error: Reserved Area - Invalid version
F104 BATS error: Reserved Area - Invalid checksum
F105 BATS error: Reserved Area - Invalid eyecatcher
F106 BATS error: Reserved Area - Invalid main header checksum
F107 BATS error: Reserved Area - Invalid read length
F108 BATS error: Reserved Area - Address boundary error
1109 BATS error: Reserved Area - Error reading first copy
F10D BATS error: Reserved Area - Write fix hard error
F10E BATS error: Reserved Area - EPO Flash Log
F111 BATS error: RAM code load error
F112 BATS error: RAM code check
F113 BATS error: Exception in primary FW image
F114 BATS error: Reserved Area - Invalid request
F118 BATS#2 error: Seek test error
F119 BATS#2 error: Read/write test error
F11B BATS#2 error: CRC test error
F11C BATS#2 error: XOR test error
F11D BATS error: Incorrect Disk Code
F120 BATS error: Code Compatibility Failure
F123 BATS error: Reserved map index too large
F124 Bring-up error
F125 BATS error: Invalid RID/FID
F126 BATS error: Code checksum error

347
Hard Disk Drive Specification
F127 BATS error: Invalid header
F12A DRAM test error
F12B BATS error: Reserved area - invalid model
F12D Format Reserved: FAT Size Exceeded Error
F12E Format Reserved: Insufficient DIRS Good Error
F12F Format Reserved: Insufficient FATS Good Error
F130 BATS error: Incorrect Customer Code
F131 Flash timeout
F132 GEM FH track read error
F133 BATS error: Vendor ID mismatch
F134 Head Health Check data compare error
F135 Head Health Check unrecovered media error
F136 BATS#2 error: End-To-End Data Protection error
F137 Flash ECC error
F139 Format Reserved: Resize RID/FID Error
F13B BATS error: SW Target broken
F13C BATS error: NCDE DRAM failure
F13D BATS error: Invalid Code Signature
F13E BATS#2 error: TCG Test Failed
F13F BATS#2 error: Read/Write Test Compare Failed
F140 Format Reserved: Too many Defects Error
F141 BATS#2 error Read/Write Test Compare Failed
F142 ATA Diagnostic Code: No Error
F143 ATA Diagnostic Code: Formatter Error
F144 ATA Diagnostic Code: Sector Buffer Error
F147 ATA Diagnostic Code: Read/Write Test Error
F148 BATS error: Still broken after clear
F149 BATS#2 error: Security: AES Error
F14A BATS#2 error: Security: RSA Error
F14B BATS#2 error: Security: DRGB Error
F14C BATS#2 error: Security: SHA256 Error
F14D BATS#2 error: Security: HMAC Error
F14E BATS#2 error: Security: Hardware AES Error

1201 Sanity: Error In UEC Class


1202 Sanity: Error In UEC Cause
F203 Sanity: Sanity Check Failure
F204 Reassign reserved area media error
F205 G-list full - can't reassign any more sectors

348
Hard Disk Drive Specification
F206 No spares available
F208 Mode Page Structure Mismatch
F209 Miscompare of SBA in the P-List
F20A Error Clearing Reset State
F20B DSLT: Invalid number of splits
F20C DSLT: Invalid relaxed format
F20D DSLT: First Fragment too large
F20E DSLT: Invalid end offset
F20F DSLT: Cycle not complete
F220 MFG: Consistency Check failed
F221 MFG: General Align Tables Missing
F230 SEC_MGR: AES Hardware Error
F231 SEC_MGR: BDE Unwrap Error
F240 SEC_MGR: PRNG Seed Error
F241 SEC_MGR: PRNG General Error

1301 Motor: Recovered internal error


F302 Motor: Unrecovered internal error
1303 Motor: Recovered Open Loop Commutation failure
F304 Motor: Unrecovered Open Loop Commutation failure
1305 Motor: Recovered No feedback detected error
F306 Motor: Unrecovered No feedback detected error
1307 Motor: Recovered Settle timeout
F308 Motor: Unrecovered Settle timeout
1309 Motor: Recovered Gross speed error
F30A Motor: Unrecovered Gross speed error
130B Motor: Recovered 12V OK error
F30C Motor: Unrecovered 12V OK error
130D Motor: Recovered Speed error
F30E Motor: Unrecovered Speed error
130F Motor: Recovered Spindle Current error
F310 Motor: Unrecovered Spindle Current error
1311 Motor: Recovered Internal 12V not OK timeout
F312 Motor: Unrecovered Internal 12V not OK timeout
1313 Motor: Recovered Inductive Sense measurement timeout
F314 Motor: Unrecovered Inductive Sense speed error
1315 Motor: Recovered Spin Sense speed error
F316 Motor: Unrecovered Spin Sense speed error
1317 Motor: Recovered Spin Sense timeout

349
Hard Disk Drive Specification
F318 Motor: Unrecovered Spin Sense timeout
1319 Motor: Recovered Target speed error
F31A Motor: Unrecovered Target speed error
F31C Motor: Unrecovered Power driver version error
131D Motor: Recovered Over current error
F31E Motor: Unrecovered Over current error
131F Motor: Recovered System clock watchdog error
F320 Motor: Unrecovered System clock watchdog error
1321 Motor: Recovered Negative regulator fault
F322 Motor: Unrecovered Negative regulator fault
1323 Motor: Recovered Module overtemp error
F324 Motor: Unrecovered Module overtemp error
1325 Motor: Recovered 12V or 5V OK error
F326 Motor: Unrecovered 12V or 5V OK error
1327 Motor: Recovered unknown error
F328 Motor: Unrecovered unknown error
1329 Motor: Recovered VCM DAC watchdog error
F32A Motor: Unrecovered VCM DAC watchdog error
132B Motor: Recovered Module mid-die overtemp fault
F32C Motor: Unrecovered Module mid-die overtemp fault
132D Motor: Recovered Module Vcmp hi-side overtemp fault
F32E Motor: Unrecovered Module Vcmp hi-side overtemp fault
132F Motor: Recovered Module Vcmn hi-side overtemp fault
F330 Motor: Recovered Module Vcmn hi-side overtemp fault
1331 Motor: Recovered Invalid standby RPM request
F332 Motor: Unrecovered Invalid standby RPM request
1333 Motor: Recovered Invalid spin state request
F334 Motor: Unrecovered Invalid spin state request
1335 Motor: Recovered Hardware retract timeout
F336 Motor: Unrecovered Hardware retract timeout
1337 Motor: Recovered thermal limit exceeded
F338 Motor: Unrecovered thermal limit exceeded
1339 Motor: Recovered Predriver fault
F33A Motor: Unrecovered Predriver fault
133B Motor: Recovered Predriver Watchdog Fsys error
F33C Motor: Unrecovered Predriver Watchdog Fsys error
133D Motor: Recovered Predriver Watchdog DAC error
F33E Motor: Unrecovered Predriver Watchdog DAC error
133F Motor: Recovered Predriver Speed Low error

350
Hard Disk Drive Specification
F340 Motor: Unrecovered Predriver Speed Low error
1341 Motor: Recovered Predriver UV Vboost error
F342 Motor: Unrecovered Predriver UV Vboost error
1343 Motor: Recovered Predriver NREG UV error
F344 Motor: Unrecovered Predriver NREG UV error
1345 Motor: Recovered Predriver Ext NPOR error
F346 Motor: Unrecovered Predriver Ext NPOR error
1347 Motor: Recovered Predriver Reg UV error
F348 Motor: Unrecovered Predriver Reg UV error
1349 Motor: Recovered Predriver Under Voltage 12 Volt Supply error
F34A Motor: Unrecovered Predriver Under Voltage 12 Volt Supply error
134B Motor: Recovered Predriver Under Voltage 5 Volt Supply error
F34C Motor: Unrecovered Predriver Under Voltage 5 Volt Supply error
134D Motor: Recovered Predriver Over Voltage 12 Volt Supply error
F34E Motor: Unrecovered Predriver Over Voltage 12 Volt Supply error
134F Motor: Recovered Predriver Under Voltage 1.8 Volt Supply error
F350 Motor: Unrecovered Predriver Under Voltage 1.8 Volt Supply error
1351 Motor: Recovered Predriver Under Voltage 0.9 Volt Supply error
F352 Motor: Unrecovered Predriver Under Voltage 0.9 Volt Supply error
1353 Motor: Recovered Predriver Under Voltage 1.5 Volt Supply error
F354 Motor: Unrecovered Predriver Under Voltage 1.5 Volt Supply error
1355 Motor: Recovered Predriver Shock Detected error
F356 Motor: Unrecovered Predriver Shock Detected error
1357 Motor: Recovered Predriver Over Temperature error
F358 Motor: Unrecovered Predriver Over Temperature error
1359 Motor: Recovered Predriver Under Voltage 3.3 Volt Supply error
F35A Motor: Unrecovered Predriver Under Voltage 3.3 Volt Supply error
135B Motor: Recovered Predriver Under Voltage 5 and 12 Volt Supply error
F35C Motor: Unrecovered Predriver Under Voltage 5 and 12 Volt Supply error
135D Motor: Recovered Predriver Error in Enabling Power Saving Mode
F35E Motor: Unrecovered Predriver Error in Enabling Power Saving Mode
135F Motor: Recovered Predriver Fault in Auto Retract
F360 Motor: Unrecovered Predriver Fault in Auto Retract
1361 Motor: Recovered Predriver Error in Utilizing External Power Supply
F362 Motor: Unrecovered Predriver Error in Utilizing External Power Supply
1363 Motor: Recovered Predriver Regulator Supply Fault
F364 Motor: Unrecovered Predriver Regulator Supply Fault
1365 Motor: Recovered Predriver Voltage Offset Calibration Error
F366 Motor: Unrecovered Predriver Voltage Offset Calibration Error

351
Hard Disk Drive Specification
1367 Motor: Recovered Predriver BEMF Gain Calibration Error
F368 Motor: Unrecovered Predriver BEMF Gain Calibration Error
1369 Motor: Recovered Predriver BEMF Unload Calibration Error
F36A Motor: Unrecovered Predriver BEMF Unload Calibration Error
136B Motor: Recovered Predriver VCM Short Error
F36C Motor: Unrecovered Predriver VCM Short Error
136D Motor: Recovered Predriver NREG disable error
F36E Motor: Unrecovered Predriver NREG disable error
136F Motor: Recovered IDCS Calibration Measurement 1 Error
F370 Motor: Unrecovered IDCS Calibration Measurement 1 Error
1371 Motor: Recovered IDCS Calibration Measurement 2 Error
F372 Motor: Unrecovered IDCS Calibration Measurement 2 Error
1373 Motor: Recovered IDCS Calibration Saturation Error
F374 Motor: Unrecovered IDCS Calibration Saturation Error
1375 Motor: Recovered IDCS Calibration Adjustment Error
F376 Motor: Unrecovered IDCS Calibration Adjustment Error
13A7 Motor: Recovered PMIC Not Supported
F3A8 Motor: Unrecovered PMIC Not Supported
1401 Servo: Recovered Requested rezero head does not exist
F402 Servo: Unrecovered Requested rezero head does not exist
1403 Servo: Recovered Back EMF movement in progress
F404 Servo: Unrecovered Back EMF movement in progress
1405 Servo: Recovered Back EMF timeout error
F406 Servo: Unrecovered Back EMF timeout error
1407 Servo: Recovered ADC conversion timeout
F408 Servo: Unrecovered ADC conversion timeout
1409 Servo: Recovered Load/unload calibration error
F40A Servo: Unrecovered Load/unload calibration error
140B Servo: Recovered Invalid 5 volts
F40C Servo: Unrecovered Invalid 5 volts
140D Servo: Recovered Invalid 12 volts
F40E Servo: Unrecovered Invalid 12 volts
140F Servo: Recovered Invalid harmonic requested
F410 Servo: Unrecovered Invalid harmonic requested
1411 Servo: Recovered Gain BEMF Calibration error
F412 Servo: Unrecovered Gain BEMF Calibration error
1413 Servo: Recovered VOFF BEMF calibration error
F414 Servo: Unrecovered VOFF BEMF calibration error
1415 Servo: Recovered Invalid temperature

352
Hard Disk Drive Specification
F416 Servo: Unrecovered Invalid temperature
1417 Servo: Recovered Truncated rezero
F418 Servo: Unrecovered Truncated rezero
1419 Servo: Recovered Heads not loaded
F41A Servo: Unrecovered Heads not loaded
141B Servo: Recovered Current error
F41C Servo: Unrecovered Current error
141D Servo: Recovered Seek timeout
F41E Servo: Unrecovered Seek timeout
141F Servo: Recovered Seek error
F420 Servo: Unrecovered Seek error
1421 Servo: Recovered Track following error
F422 Servo: Unrecovered Track following error
1423 Servo: Recovered Track follow timeout
F424 Servo: Unrecovered Track follow timeout
1425 Servo: Recovered KT Seek out of range
F426 Servo: Unrecovered KT Seek out of range
1427 Servo: Recovered DAC Offset calibration error
F428 Servo: Unrecovered DAC Offset calibration error
1429 Servo: Recovered Load speed error
F42A Servo: Unrecovered Load speed error
142B Servo: Recovered RRO Calibration timeout
F42C Servo: Unrecovered RRO Calibration timeout
142D Servo: Recovered ADC Calibration error
F42E Servo: Unrecovered ADC Calibration error
142F Servo: Recovered ADC Offset error
F430 Servo: Unrecovered ADC Offset error
1431 Servo: Recovered ADC Limit error
F432 Servo: Unrecovered ADC Limit error
1433 Servo: Recovered Balancer Resistance error
F434 Servo: Unrecovered Balancer Resistance error
1435 Servo: Recovered Balancer Resistance Limit error
F436 Servo: Unrecovered Balancer Resistance Limit error
1437 Servo: Recovered First Cylinder error
F438 Servo: Unrecovered First Cylinder error
1439 Servo: Recovered Valid Cylinder error
F43A Servo: Unrecovered Valid Cylinder error
143B Servo: Recovered ADC Saturation error
F43C Servo: Unrecovered ADC Saturation error

353
Hard Disk Drive Specification
143D Servo: Recovered Latch Break timeout
F43E Servo: Unrecovered Latch Break timeout
143F Servo: Recovered MR Resistance out of range error
F440 Servo: Unrecovered MR Resistance out of range error
1441 Servo: Recovered VCM Retract error
F442 Servo: Unrecovered VCM Retract error
1443 Servo: Recovered Load Retry error
F444 Servo: Unrecovered Load Retry error
1445 Servo: Recovered DFT Sharp error
F446 Servo: Unrecovered DFT Sharp error
1447 Servo: Recovered Load/Unload state error
F448 Servo: Unrecovered Load/Unload state error
1449 Servo: Recovered TFCR out-of-range error
F44A Servo: Unrecovered TFCR out-of-range error
144B Servo: Recovered Measure GMR Timeout
F44C Servo: Unrecovered Measure GMR Timeout
144D Servo: Recovered Coil Resistance Measurement Failure
F44E Servo: Unrecovered Coil Resistance Measurement Failure
144F Servo: Recovered SHARP Parity Error
F450 Servo: Unrecovered SHARP Parity Error
1451 Servo: Recovered SHARP Parity Rate Error
F452 Servo: Unrecovered SHARP Parity Rate Error
1453 Servo: Recovered SHARP Decode Error
F454 Servo: Unrecovered SHARP Decode Error
1455 Servo: Recovered SHARP Decode Rate Error
F456 Servo: Unrecovered SHARP Decode Rate Error
1457 Servo: Recovered SHARP Timeout Error
F458 Servo: Unrecovered SHARP Timeout Error
1459 Servo: Recovered SHARP Timeout Rate Error
F45A Servo: Unrecovered SHARP Timeout Rate Error
145B Servo: Recovered SHARP Other Error
F45C Servo: Unrecovered SHARP Other Error
145D Servo: Recovered SHARP Other Rate Error
F45E Servo: Unrecovered SHART Other Rate Error
145F Servo: Recovered WCS Hang Error
F460 Servo: Unrecovered WCS Hang Error
1461 Servo: Recovered DFT Timeout Error
F462 Servo: Unrecovered DFT Timeout Error
1463 Servo: Recovered SDM Timeout Error

354
Hard Disk Drive Specification
F464 Servo: Unrecovered SDM Timeout Error
1465 Servo: Recovered RRO Write Error
F466 Servo: Unrecovered RRO Write Error
1467 Servo: Recovered Velocity Error
F468 Servo: Unrecovered Velocity Error
1469 Servo: Recovered Start SID Incorrect Error
F46A Servo: Unrecovered Start SID Incorrect Error
146B Servo: Recovered End Sid Incorrect Error
F46C Servo: Unrecovered End Sid Incorrect Error
146D Servo: Recovered Measure GMR SDM Failure
F46E Servo: Unrecovered Measure GMR SDM Failure
146F Servo: Recovered VCM Free Speed Error
F470 Servo: Unrecovered VCM Free Speed Error
1471 Servo: Recovered Emergency Brake Timeout Error
F472 Servo: Unrecovered Emergency Brake Timeout Error
1473 Servo: Recovered Excessive Current Error
F474 Servo: Unrecovered Excessive Current Error
1475 Servo: Recovered Excessive Velocity Error
F476 Servo: Unrecovered Excessive Velocity Error
F477 Servo: Unrecovered Invalid SDM CDB Error
F478 Servo: Unrecovered Invalid SDM Descriptor Error
F479 Servo: Unrecovered Invalid DFT Descriptor Error
F47A Servo: Unrecovered SDM or DFT Allocation Error
F47B Servo: Unrecovered SDM OR DFT Transfer Error
F47C Servo: Unrecovered SDM Physical Parameter Error
147D Servo: Recovered RROF SDM Timeout Error
F47E Servo: Unrecovered RROF SDM Timeout Error
147F Servo: Recovered RROF Over Limit Error
F480 Servo: Unrecovered RROF Over Limit Error
F481 Servo: Unrecovered Self-Test Failed
1482 Servo: Recovered Measure Asymmetry SDM Failure
F483 Servo: Unrecovered Measure Asyrmetry SDM Failure
F484 Servo: Unrecovered Measure Overwrite SDM Failure
F485 Servo: Unrecovered TFC Utility SDM Failure
1486 Servo: Recovered Milli-Calibration Error
F487 Servo: Unrecovered Milli-Calibration Error
F488 Servo: Unrecovered SIDSAT Timeout Error
F489 Servo: Unrecovered SDM Load-And-Drop-Anchor Error
F48A Servo: Unrecovered Filter Table Full Error

355
Hard Disk Drive Specification
F48B Servo: Unrecovered Filter Table Invalid Error
148C Servo: Recovered Measure Qsamp SDM Failure
F48D Servo: Unrecovered Measure Qsamp SDM Failure
148E Servo: Recovered Tilt Calibration Error
F48F Servo: Unrecovered Tilt Calibration Error
1490 Servo: Recovered Tilt Numerical Error
F491 Servo: Unrecovered Tilt Numerical Error
F492 Servo: Unrecovered Milli Table Load Error
F493 Servo: Unrecovered TFCR DAC Out of Range
F494 Servo: Unrecovered MRR DAC Out of Range
F495 Servo: Unrecovered TFCR Open/Short
1496 Servo: Recovered DTID Inhibit Error
F497 Servo: Unrecovered DTID Inhibit Error
1498 Servo: Recovered DTID Unlock Error
F499 Servo: Unrecovered DTID Unlock Error
149A Servo: Recovered SHARP Pulse TFC Entry Error
F49B Servo: Unrecovered SHARP Pulse TFC Entry Error
149C Servo: Recovered Heads Not Loaded FFSULI
F49D Servo: Unrecovered Heads Not Loaded FFSULI
149E Servo: Recovered Load Abort FFSULI
F49F Servo: Unrecovered Load Abort FFSULI
14A0 Servo: Recovered IDLEA Grab Error
F4A1 Servo: Unrecovered IDLEA Grab Error
14A2 Servo: Recovered IDLEA Seek Error
F4A3 Servo: Unrecovered IDLEA Seek Error
14A4 Servo: Recovered AVEDAC Error
F4A5 Servo: Unrecovered AVEDAC Error
14A6 Servo: Recovered IDLEA Exit Timeout Error
F4A7 Servo: Unrecovered IDLEA Exit Timeout Error
14A8 Servo: Recovered IDLEA Long Seek Error
14A9 Servo: Unrecovered IDLEA Long Seek Error

F501 Host Interface: Logical unit not ready


F502 Host Interface: Logical unit becoming ready
F503 Host Interface: Logical unit not ready - initializing command required
F504 Host Interface: Not ready - format in progress
F505 Host Interface: Not ready - self-test in progress
F506 Host Interface: Reassign failed
F507 Host Interface: Format failed

356
Hard Disk Drive Specification
F508 Host Interface: Not Ready - Session opened
F509 Host Interface: In Self-Test - Band locked
F50B Host Interface: Not Ready - Sanitize in progress
F50C Host Interface: Sanitize Command failed
F50D Host Interface: Phy Test Function in Progress
F511 Host Interface: Illegal Request Sequence Error
F512 Host Interface: Invalid Message
F514 Host Interface: Not ready to ready transition
F516 Host Interface: Power on reset
F517 Host Interface: SAS Hard Reset (SAS)
F518 Host Interface: LUN Reset (SAS)
F519 Host Interface: Self initiated reset
F51C Host Interface: Mode parameters changed
F51D Host Interface: Log parameters changed
F51E Host Interface: Reservations pre-empted
F51F Host Interface: Reservations released
F520 Host Interface: Registrations pre-empted
F521 Host Interface: Commands cleared by another initiator
F522 Host Interface: Microcode changed
F524 Host Interface: Capacity Data Changed
F525 Host Interface: Timestamp Changed
F52D Host Interface: Buffer CRC error on read
F52E Host Interface: Internal target failure
F534 Host Interface: Overlapped command attempted
F535 Host Interface: Miscompare during verify
F536 Host Interface: Reservation conflict
F537 Host Interface: Device identifier changed
F53E Host Interface: Data phase error
F53F Host Interface: Abort by OOB (SAS)
F544 Host Interface: Echo buffer overwritten
F54A Host Interface: Xfer Ready credit exceeded
F54B Host Interface: Transfer length error
F54E Host Interface: Data Phase CRC Error
F550 Host Interface: NAK rcvd (SAS)
F551 Host Interface: ACK NAK Timeout (SAS)
F552 Host Interface: Bad parameter offset (SAS)
F553 Host Interface: LUN Not ready, Notify (Enable Spinup) required (SAS)
F554 Host Interface: I_T_Nexus Loss Occurred (SAS)
F555 Host Interface: Initiator Response Timeout (SAS)

357
Hard Disk Drive Specification
F556 Host Interface: Not Ready – Waiting for Power Grant
F560 Host Interface: Too much write data (SAS)
F561 Host Interface: Information unit too short (SAS)
F562 Host Interface: Information unit too long (SAS)
F567 Host Interface: Insufficient registration resources
F568 Host Interface: End-to-End Data Protection Guard check
F569 Host Interface: End-to-End Data Protection Application Tag check
F56A Host Interface: End-to-End Data Protection Reference Tag check
F56B Host Interface: ECC error in DRAM customer data area
F56C Host Interface: Uncorrectable DRAM ECC error
F570 Host Interface: Host interface Synchronous CRC error
F572 Host Interface: LUN not ready; manual intervention required
F573 Host Interface: Commands cleared due to power failure event (SAS)
F579 Host Interface: Data Checksum Error
F57A Host Interface: Synchronous CRC Error on Write
F57B Host Interface: Synchronous CRC LBA Error
F57D Host Interface: Break Received (SAS only)

F602 Channel/AE: Unrecovered Internal Logic Error


F603 Channel/AE: Unrecovered Internal Target Failure
F604 Channel/AE: Unrecovered Internal Calibration Error
F605 Channel/AE: Unrecovered Internal MR Calibration Error
1606 AE: Recovered AE Last Data Read Error
F607 Channel/AE: Unrecovered data with PPM or precomp load
1609 AE: Recovered TFC Short Error
F60A AE: TFC Short Error
160B AE: Recovered Shorted MR Element Error
F60C AE: Unrecovered Shorted MR Element Error
F60D Unsupported Read Channel Command Error
F60E Init: RRClk Dead Error
F60F Init: RRClk Unlock Error
1610 AE: Recovered ECS Shorted Fault
F611 AE: Unrecovered ECS Shorted Fault
1612 AE: Recovered ECS Open Fault
F613 AE: Unrecovered ECS Open Fault
1614 AE: Recovered ECS Fault
F615 AE: Unrecovered ECS Fault
1616 Channel: Recovered Channel Error
F617 Channel: Unrecovered Channel Error

358
Hard Disk Drive Specification
F619 Init: SVCLK Unlock Error
161A AE: Recovered Open MR Element Error
F61B AE: Unrecovered Open MR Element Error
161C AE: Recovered IC Over Temperature Error
F61D AE: Unrecovered IC Over Temperature Error
161E AE: Recovered IP Clock Count Error
F61F AE: Unrecovered IP Clock Count Error
1620 AE: Recovered DLC SVCLK Error
F621 AE: Unrecovered DLC SVCLK Error
1622 AE: Recovered Write Data BLS Error
F623 AE: Unrecovered Write Data BLS Error
1626 AE: Recovered Power Supply Error
F627 AE: Unrecovered Power Supply Error
1628 AE: Recovered Open Write Head Error
F629 AE: Unrecovered Open Write Head Error
162A AE: Recovered Write Transition Error
F62B AE: Unrecovered Write Transition Error
162E Channel: Recovered Channel NRZ Clear Timeout Error
F62F Channel: Unrecovered Channel NRZ Clear Timeout Error
1630 AE: Recovered SPE Low In Write Fault
F631 AE: Unrecovered SPE Low In Write Fault
F633 Channel: Unrecovered Write Synth Unlock error
1636 AE: Recovered Short Write Head Error
F637 AE: Unrecovered Short Write Head Error
163C AE: Recovered TFC Open Error
F63D AE: Unrecovered TFC Open Error
F642 AE: Unrecovered Software Readback Error
F643 AE: Unrecovered Readback Error
1644 AE: Recovered Latch Fault Error
F645 AE: Unrecovered Latch Fault Error
1648 Channel: Recovered Reset Flag Error
F649 Channel: Unrecovered Reset Flag Error
164A Channel: Recovered Gate Command Queue Underflow Error
F64B Channel: Unrecovered Gate Command Queue Underflow Error
164C Channel: Recovered Sector Size Fault Error
F64D Channel: Unrecovered Sector Size Fault Error
164E Channel: Recovered Last Split Fault Error
F64F Channel: Unrecovered Last Split Fault Error
1650 Channel: Recovered Servo-Servo Overlap Error

359
Hard Disk Drive Specification
F651 Channel: Unrecovered Servo-Servo Overlap Error
1652 Channel: Recovered Read Gate Fault Error
F653 Channel: Unrecovered Read Gate Fault Error
1654 Channel: Recovered RWBI Out Fault Error
F655 Channel: Unrecovered RWBI Out Fault Error
1656 Channel: Recovered No Write Clock Error
F657 Channel: Unrecovered No Write Clock Error
1658 Channel: Recovered No NRZ Clock Error
F659 Channel: Unrecovered No NRZ Clock Error
165A Channel: Recovered Calibration Block Fault Error
F65B Channel: Unrecovered Calibration Block Fault Error
165C Channel: Recovered Mode Overlap Read Fault Error
F65D Channel: Unrecovered Mode Overlap Read Fault Error
165E Channel: Recovered Gate Command Queue Overflow Error
F65F Channel: Unrecovered Gate Command Queue OverflowError
1660 Channel: Recovered Ending Write Splice Fault Error
F661 Channel: Unrecovered Ending Write Splice Fault Error
1662 Channel: Recovered Write Gate Overlap Fault Error
F663 Channel: Unrecovered Write Gate Overlap Fault Error
1664 Channel: Recovered Write Gate Fault Error
F665 Channel: Unrecovered Write Gate Fault Error
1666 Channel: Recovered Buffer Overflow Write Error
F667 Channel: Unrecovered Buffer Overflow Write Error
1668 Channel: Recovered Buffer Underflow Write Error
F669 Channel: Unrecovered Buffer Underflow Write Error
166A Channel: Recovered Write Parity Error
F66B Channel: Unrecovered Write Parity Error
166C Channel: Recovered Buffer Overflow Read Error
F66D Channel: Unrecovered Buffer Overflow Read Error
166E Channel: Recovered CTG Wedge Slip Fault Error
F66F Channel: Unrecovered CTG Wedge Slip Fault Read Error
1670 Channel: Recovered CTG Packet Late Fault Error
F671 Channel: Unrecovered CTG Packet Late Fault Error
1672 Channel: Recovered Baseline Instability Count Late Error
F673 Channel: Unrecovered Baseline Instability Count Late Error
1674 Channel: Recovered Preamp Count Fault Error
F675 Channel: Unrecovered Preamp Count Fault Error
1676 Channel: Recovered Pfault Read Error
F677 Channel: Unrecovered Pfault Read Error

360
Hard Disk Drive Specification
1678 Channel: Recovered Pfault Write Error
F679 Channel: Unrecovered Pfault Write Error
167A Channel: Recovered Last Data Fault Error
F67B Channel: Unrecovered Last Data Fault Error
167C Channel: Recovered WRPO Fault Error
F67D Channel: Unrecovered WRPO Fault Error
167E Channel: Recovered Forced Channel Fault Error
F67F Channel: Unrecovered Forced Channel Fault Error
1680 Channel: Recovered PLLFloor Error
F681 Channel: Unrecovered PLLFloor Error
1682 Channel: Recovered Losslock Error
F683 Channel: Unrecovered Losslock Error
1684 Channel: Recovered VGA Floor Error
F685 Channel: Unrecovered VGA Floor Error
1686 Channel: Recovered Buffer EVGA Floor Error
F687 Channel: Unrecovered Buffer EVGA Floor Error
1688 Channel: Recovered TA Detector Error
F689 Channel: Unrecovered TA Detector Error
168A Channel: Recovered NPLD Error
F68B Channel: Unrecovered NPLD Error
168C Channel: Recovered ZGR Flag Error
F68D Channel: Unrecovered ZGR Flag Error
168E Channel: Recovered DPLL Freq Flag Error
F68F Channel: Recovered DPLL Freq Flag Error
1690 Channel: Recovered Massive Drop Out Detection Error
F691 Channel: Unrecovered Massive Drop Out Detection Error
1692 Channel: Recovered CTG Parameter Out of Bounds Error
F693 Channel: Unrecovered CTG Parameter Out of Bounds Flag Error
1694 Channel: Recovered Flaw Signal Sync Error
F695 Channel: Unrecovered Flaw Signal Sync Error
1696 Channel: Recovered ACQ Flag Error
F697 Channel: Unrecovered ACQ Flag Error
1698 Channel: Recovered No Clock Error
F699 Channel: Unrecovered No Clock Error
169A Channel: Recovered PLL Losslock Error
F69B Channel: Unrecovered PLL Losslock Error
169C Channel: Recovered ESNR Timeout Error
F69D Channel: Unrecovered ESNR Timeout Error
169E Channel: Recovered ADC Sample Not Ready Error

361
Hard Disk Drive Specification
F69F Channel: Unrecovered ADC Sample Not Ready Error
F6A0 AE: Unrecovered Fuse Load Fail Error
F6A1 AE: Unrecovered Configuration Error
16A2 Channel: Recovered Auto RST NRZ-Clock Error
F6A3 Channel: Unrecovered Auto RST NRZ-Clock Error
16A4 Channel: Recovered Write CRC Fault Error
F6A5 Channel: Unrecovered Write CRC Fault Error
16A6 Channel: Recovered Read Synthesizer Loss of Lock Error
F6A7 Channel: Unrecovered Read Synthesizer Loss of Lock Error
16A8 Channel: Recovered RLL Parameter Error
F6A9 Channel: Unrecovered RLL Parameter Error
16AA Channel: Recovered FIFO Underflow Error
F6AB Channel: Unrecovered FIFO Underflow Error
16AC Channel: Recovered FIFO Overflow Error
F6AD Channel: Unrecovered FIFO Overflow Error
16AE Channel: Recovered Iterative Decoder Error
F6AF Channel: Unrecovered Iterative Decoder Error
16B0 Channel: Recovered Iterative Read Error
F6B1 Channel: Unrecovered Iterative Read Error
16B2 Channel: Recovered Encoder Overflow Error
F6B3 Channel: Unrecovered Encoder Overflow Error
16B4 Channel: Recovered Encoder Underflow Error
F6B5 Channel: Unrecovered Encoder Underflow Error
16B6 Channel: Recovered Encoder RAM CRC Error
F6B7 Channel: Unrecovered Encoder RAM CRC Error
16B8 Channel: Recovered Interface Fault
F6B9 Channel: Unrecovered Interface Fault
16BA Channel: Recovered QMM EVDump Parse Error
F6BB Channel: Unrecovered QMM EVDump Parse Error
16BC Channel: Recovered DiBit Timeout Error
F6BD Channel: Unrecovered DiBit Timeout Error
16BE Channel: Recovered MXP Write Fault
F6BF Channel: Unrecovered MXP Write Fault
16C0 Channel: Recovered Data Jam Error
F6C1 Channel: Unrecovered Data Jam Error
16C2 Channel: Recovered Code-Word Out Of Order Error
F6C3 Channel: Unrecovered Code-Word Out Of Order Error
16C4 Channel: Recovered Read RLL Buffer CRC Flag Error
F6C5 Channel: Unrecovered Read RLL Buffer CRC Flag Error

362
Hard Disk Drive Specification
16C6 Channel: Recovered Write RLL Buffer CRC Flag Error
F6C7 Channel: Unrecovered Write RLL Buffer CRC Flag Error
16C8 Channel: Recovered CTG No SAM Detected Fault Error
F6C9 Channel: Unrecovered CTG No SAM Detected Fault Error
16CA Channel: Recovered ITI Adjust Preload Fault Track Error
F6CB Channel: Unrecovered ITI Adjust Preload Fault Track Error
16CC Channel: Recovered WTG SRV Fault Error
F6CD Channel: Unrecovered WTG SRV Fault Error
16CE Channel: Recovered CTG Engine Not Ready Fault Error
F6CF Channel: Unrecovered CTG Engine Not Ready Fault Error
16D0 Channel: Recovered LLI Abort Fault Error
F6D1 Channel: Unrecovered LLI Abort Fault Error
16D2 Channel: Recovered Retry Fault Error
F6D3 Channel: Unrecovered Retry Fault Error
16D4 Channel: Recovered WTG Timeout Fault Error
F6D5 Channel: Unrecovered WTG Timeout Fault Error
16D6 Channel: Recovered ITI Fault TS Transfer All Error
F6D7 Channel: Unrecovered ITI Fault TS Transfer All Error
16D8 Channel: Recovered ITI Data Fault Error
F6D9 Channel: Unrecovered ITI Data Fault Error
F6DA Channel: Unrecovered Insufficient TFC Preheat Error
F6DB Channel: Unrecovered AE And FAEP Do Not Match
16DC Channel: Recovered Data Jam Fault Error
F6DD Channel: Unrecovered Data Jam Fault Error
16DE Channel: Recovered Code-Word Out of Order Error
F6DF Channel: Unrecovered Code-Word Out of Order Error
16E0 Channel: Recovered RLL Initialization Timeout Error
F6E1 Channel: Unrecovered RLL Initialization Timeout Error
F6E2 Channel: Unrecovered AEQ Timeout Error
F6E3 Channel: Unrecovered AEQ NLD Initialization Error
F6E4 Channel: Unrecovered ADC Calibration Timeout Error
F6E5 Channel: Unrecovered ADC Buffer Calibration Timeout Error
F6E6 Channel: Unrecovered Power Sequencing Timeout Error
16E7 Channel: Recovered Mode Overlap Write Error
F6E8 Channel: Unrecovered Mode Overlap Write Error
16E9 Channel: Recovered Ready Fault Error
F6EA Channel: Unrecovered Ready Fault Error
16EB Channel: Recovered Synchronous Abort Done Error
F6EC Channel: Unrecovered Synchronous Abort Done Error

363
Hard Disk Drive Specification
16ED Channel: Recovered NRZ Clear Fault Error
F6EE Channel: Unrecovered NRZ Clear Fault Error
16EF Channel: Recovered Collision Fault Error
F6F0 Channel: Unrecovered Collision Fault Error
16F1 Channel: Recovered Read Synthesizer Precharge Fail Fault Error
F6F2 Channel: Unrecovered Read Synthesizer Precharge Fail Fault Error
16F3 Channel: Recovered Servo Synthesizer Precharge Fail Fault Error
F6F4 Channel: Unrecovered Servo Synthesizer Precharge Fail Fault Error
16F5 Channel: Recovered Read Synthesizer Loss of Lock Error
F6F6 Channel: Unrecovered Read Synthesizer Loss of Lock Error
16F7 Channel: Recovered Fragment Number Fault Error
F6F8 Channel: Unrecovered Fragment Number Fault Error
16F9 Channel: Recovered Preamble Quality Monitor Fault Error
F6FA Channel: Unrecovered Preamble Quality Monitor Fault Error
F6FB Channel: Unrecovered Stop For RTM Error
F6FC Channel: Unrecovered RTM Configuration Error
F6FD Channel: Unrecovered RTM Failure Error
F6FE Channel: Unrecovered RTM Timeout Error

F701 Format corrupted


F702 Too many notches
D703 Media: Auto Reallocated Write Error
1704 Media: Recovered Write Error - Recommend reassign
D705 Media: Error With OTF Correction - Reassigned
E706 Media: Error With OTF Correction - Recommend Reassign
E707 Media: Error With OTF Correction - Recommend Rewrite
E708 Media: Error With OTF Correction - Rewritten
1709 Media: Recovered Error With Offline Correction
D70A Media: Error With Offline Correction - Reassigned
E70B Media: Error With Offline Correction - Recommend Reassign
E70C Media: Error With Offline Correction - Recommend Rewrite
E70D Media: Error With Offline Correction - Rewritten
E70E Media: Recovered Data Address Mark Error - Rewritten
E70F Media: Recovered Data Address Mark Error - Recommend Rewrite
D710 Media: Recovered Data Address Mark Error - Reassigned
E711 Media: Recovered Data Address Mark Error - Recommend Reassign
1712 Media: Recovered LBA MEDC Error
F713 Media: Unrecovered LBA MEDC Error
1714 Media: Recovered Sector Overflow Error

364
Hard Disk Drive Specification
F715 Media: Unrecovered Sector Overflow Error
1716 Media: Recovered Write Overrun Error
F717 Media: Unrecovered Write Overrun Error
1718 Media: Recovered Sync Mark Retry Timeout
F719 Media: Unrecovered Sync Mark Retry Timeout
171C Media: Recovered DRAM CRC Error
F71D Media: Unrecovered DRAM CRC Error
171E Media: Recovered Read Latency Error
F71F Media: Unrecovered Read Latency Error
F720 Media: RC Dump Overflow Error
F721 Media: Format Configuration Invalid
1726 Media: Recovered Internal Write Catch Error
F727 Media: Unrecovered Internal Write Catch Error
172C Media: Recovered Data
F72D Media: Unrecovered Uncorrectable Read Data error
172E Media: Recovered Error on Last Data Read
F72F Media: Unrecovered Error on Last Data Read
F730 Media: Recommend targeted scan
1731 Media: Recovered Write Fault
F732 Media: Unrecovered Write Fault
1733 Media: Recovered Read Write Abort Error
F734 Media: Unrecovered Read Write Abort Error
1735 Channel: Recovered No Sync Detected Error
F736 Channel: Unrecovered No Sync Detected Error
1737 Media: Recovered Post Write Abort Error
F738 Media: Unrecovered Post Write Abort
1739 Media: Recovered Post PES Check Write Abort Error
F73A Media: Unrecovered Post PES Check Write Abort Error
173B Media: Recovered Data Address Mark Error
F73C Media: Unrecovered Data Address Mark Error
173D Media: Recovered Sector Miss Error
F73E Media: Unrecovered Sector Miss Error
F73F Media: NFZ Table Full
F740 Media: Defect SID Table Full Error
F741 Media: OCT Timeout Not Dispatched
F742 Media: OCT Timeout In Recovery
F743 Media: OCT Timeout Executing
1744 Media: Recovered Sudden Stop Error
F745 Media: Unrecovered Sudden Stop Error

365
Hard Disk Drive Specification
1746 Media: Recovered Defect List Format Not Supported Error
1747 Media: Recovered Primary Defect List Not Found Error
1748 Media: Recovered Grown Defect List Not Found Error
1749 Media: Recovered Partial Defect List Transferred Error
F74A Media: Unrecovered Alternate Track Table Full Error
F74B Media: Unrecovered Primary Defect List Error
F74C Media: Unrecovered Grown Defect List Error
F74D Media: Unrecovered Too Many Heads Error
F74E Media: Unrecovered Skew Table Size Error
F74F Media: Unrecovered Too Many Zones Error
F750 Media: Unrecovered Too Many SIDs Error
F751 Media: Unrecovered Alternate Track Table Full Error
F752 Media: Unrecovered Drive Capacity Too Small
F753 Media: Unrecovered G-list Full (Format command)
F754 Media: Unrecovered G-list Full (2) (Format command)
F755 Media: Unrecovered Pointer Repeat Size Error
F756 Media: Unrecovered DST Slot Size Error
F757 Media: Unrecovered P-list Full Error
F758 Media: Unrecovered Invalid NFZ Table Error
1759 Media: Recovered Unknown Error
F75A Media: Unrecovered Unknown Error
F75B Media: Unrecovered Too Many Sectors Error
F75C Media: Unrecovered Internal Media Access Timeout Error
F75D Media: Unrecovered Self-Test Failed Error
F75E Media: Unrecovered Maximum Servo Cylinder Number Too Small Error
F75F Media: Unrecovered SAT No Buffer Overflow Error
F760 Media: Unrecovered SAT Buffer Overflow Error
F762 Media: Unrecovered Self-Test Hard-Cache Test Fail
F763 Media: Unrecovered Self-Test OTF-Cache Fail
F764 Media: Unrecovered Merge G-List Failed - No P-List Exists
1766 Channel: Recovered XTS LOAD Timeout Error
F767 Channel: Unrecovered XTS LOAD Timeout Error
1768 Media: Recovered Key Seed ID Mismatch Error
F769 Media: Unrecovered Key Seed ID Mismatch Error
176A Media: Recovered No NRZ Clock Error
F76B Media: Unrecovered No NRZ Clock Error
176C Media: Recovered MEDC Correctable Error
F76D Media: Unrecovered MEDC Uncorrectable Error
176E Media: Correctable Channel Ready Error

366
Hard Disk Drive Specification
F76F Media: Uncorrectable Channel Ready Error
1770 Media: Recovered SID Timeout Error
F771 Media: Unrecovered SID Timeout Error
F772 Media: Unrecovered DASH starting timeout
F773 Media: Unrecovered ID table timeout
F774 Media: Unrecovered Servo timeout
F775 Media: Unrecovered Buffers timeout
F776 Media: Unrecovered DASH done timeout
F777 Media: Unrecovered DASH unknown timeout
1778 Media: Recovered Mini Mode Timeout
F779 Media: Unrecovered Mini Mode Timeout
F77A Media: BUFCNT Timeout Error
F77B Media: Unrecovered Abort EOS fail
177C Media: Recovered Servo Area Timeout
F77D Media: Unrecovered Servo Area Timeout
F77E Media: Write Error Recovery Timeout
F77F Media: Read Error Recovery Timeout
1780 Media: Recovered DLC SID Delay Timeout
F781 Media: Unrecovered DLC SID Delay Timeout
1782 Media: Recovered Force Soft Error
F783 Media: Unrecovered Force Soft Error
1784 Media: Recovered Channel Sector Marginal Error
F785 Media: Unrecovered Channel Sector Marginal Error
1786 Media: Recovered LLI Underrun Error
F787 Media: Unrecovered LLI Underrun Error
178C Media: Recovered FFSULI Timeout
F78D Media: Unrecovered FFSULI Timeout
F78E Media: Unrecovered SAT No Buffer Overflow With ECS Fault
F78F Media: Unrecovered SAT Buffer Overflow With ECS Fault
1792 Media: Recovered MEDC Write Data Not Ready Error
F793 Media: Unrecovered MEDC Write Data Not Ready error
1794 Media: Recovered DMA Timeout Error
F795 Media: Unrecovered DMA Timeout Error
F797 Media: SAT Write Abort
1798 Media: Recovered ID Not Found Error
F799 Media: Unrecovered ID Not Found Error
179C Media: Recovered Channel Read Timeout Error
F79D Media: Unrecovered Channel Read Timeout Error
17A5 Media: Recovered LBA ECC Last Data Read Error

367
Hard Disk Drive Specification
F7A6 Media: Unrecovered LBA ECC Last Data Read Error
F7A7 Media: Unrecovered Committed Write Hard Error
F7A8 Media: Unrecovered Committed Write Correction Disabled Error
F7A9 Media: Unrecovered Committed Write Uncorrectable Error
17AA Media: Recovered Read Overrun Error
F7AB Media: Unrecovered Read Overrun Error
17AE Media: Recovered ECC Correctable Error
F7AF Media: Unrecovered Sector Missing Error
F7B0 Media: Unrecovered Sector Overflow
17B2 Media: Recovered Abort Window Error
F7B3 Media: Unrecovered Abort Window Error
17B4 Media: Recovered Shock Sensor Error
F7B5 Media: Unrecovered Shock Sensor Error
17B8 Media: Recovered Reference Tag Error
F7B9 Media: Unrecovered Reference Tag error
17BA Media: Recovered Application Tag Error
F7BB Media: Unrecovered Application Tag Error
17BC Media: Recovered Guard Check Error
F7BD Media: Unrecovered Guard Check Error
17C0 Media: Recovered End Sector Check Error
F7C1 Media: Unrecovered End Sector Check Error
17C2 Media: Recovered Read CRC Error
F7C3 Media: Unrecovered Read CRC Error
17C4 Media: Recovered DRAM ECC Error
F7C5 Media: Unrecovered DRAM ECC Error
17C6 Media: Recovered DRAM ECC LBA Error
F7C7 Media: Unrecovered DRAM ECC LBA Error
F7CA Media: Unrecovered LBA Correction Disabled Error
17CB Media: Recovered LBA Write Correctable Error
F7CC Media: Unrecovered LBA Write Uncorrectable Error
F7CD Media: Unrecovered LBA Encryption Error
F7CE Media: Unrecovered Offline Already TAR Error
F7D0 Media: Unrecovered Pre-load Timeout Error
17D4 Media: Recovered Parity PTR FIFO Error
F7D5 Media: Unrecovered Parity PTR FIFO Error
17D6 Media: Recovered Parity LBA FIFO Error
F7D7 Media: Unrecovered Parity LBA FIFO Error
17D8 Media: Recovered Parity Uncorrectable FIFO Error
F7D9 Media: Unrecovered Parity Uncorrectable FIFO Error

368
Hard Disk Drive Specification
17DA Media: Recovered Status Uncorrectable FIFO Error
F7DB Media: Unrecovered Status Uncorrectable FIFO Error
17DC Media: Recovered Parity EDC SRAM Error
F7DD Media: Unrecovered Parity EDC SRAM Error
17DE Media: Recovered REQ/ACK Handshake Error
F7DF Media: Unrecovered REQ/ACK Handshake Error
17E0 Media: Recovered Write Splice Error
F7E1 Media: Unrecovered Write Splice Error
17E2 Media: Recovered Read Parity Error
F7E3 Media: Unrecovered Read Parity Error
17E4 Media: Recovered EPO Error
F7E5 Media: Unrecovered EPO Error
17E6 Media: Recovered NRZ Sector Marginal Error
F7E7 Media: Unrecovered NRZ Sector Marginal Error
17E8 Media: Recovered AE Access Inhibit Error
F7E9 Media: Unrecovered AE Access Inhibit Error
17EA Media: Recovered PTR FIFO Error
F7EB Media: Unrecovered PTR FIFO Error
17EC Media: Recovered LBA FIFO Error
F7ED Media: Unrecovered LBA FIFO Error
17EE Media: Recovered Sector Number Cylinder Error
F7EF Media: Unrecovered Sector Number Cylinder Error
17F0 Media: Recovered Read Transfer Length Error
F7F1 Media: Unrecovered Read Transfer Length Error
17F2 Media: Recovered DS RDC Burst Error
F7F3 Media: Unrecovered DS RDC Burst Error
17F4 Media: Recovered SV RDC Burst Error
F7F5 Media: Unrecovered SV RDC Burst Error
17F6 Media: Recovered Channel AE WG Error
F7F7 Media: Unrecovered Channel AE WG Error

F813 CMD: Insufficient Buffer Space Error


F815 CMD: Aborted From Internal TMF Error
F81E CMD: Reassign Not Allowed
F81F CMD: Operation in Progress
F820 CMD: Unrecovered Parameter List Length Error
F821 CMD: Unrecovered Invalid Opcode in CDB Error
F822 CMD: Unrecovered LBA Out Of Range Error
F823 CMD: Unrecovered Invalid Field In CDB Error

369
Hard Disk Drive Specification
F824 CMD: Unrecovered Invalid LUN Error
F825 CMD: Unrecovered Invalid Field In Parameter List Error
F826 CMD: Unrecovered Unsupported Log Page Error
F827 CMD: Unrecovered Access Denied Error
F828 CMD: Unrecovered Invalid Release of Persistent Reservation Error
F829 CMD: Invalid Tx Setting for Combo Chip Error
F830 CMD: Unrecovered Sequence Error
1831 CMD: Power Mode Idle_A By Timer
1832 CMD: Power Mode Idle_B By Timer
1833 CMD: Power Mode Idle_C By Timer
1834 CMD: Power Mode Standby_Z By Timer
1835 CMD: Power Mode Idle_A By Command
1836 CMD: Power Mode Idle_B By Command
1837 CMD: Power Mode Idle_C By Command
1838 CMD: Power Mode Standby_Z By Command
1839 CMD: Power Mode Standby_Y By Timer
183A CMD: Power Mode Standby_Y By Command

1A02 SMART: Temperature Warning (No Sense)


2A02 SMART: Temperature Warning (Recovered Sense)
3A02 SMART: Temperature Warning (Unit Attention)
1A03 SMART: Background Self-Test Failure (No Sense)
2A03 SMART: Background Self-Test Failure (Recovered Sense)
3A03 SMART: Background Self-Test Failure (Unit Attention)
1A04 SMART: Background Pre-Scan Failure (No Sense)
2A04 SMART: Background Pre-Scan Failure (Recovered Sense)
3A04 SMART: Background Pre-Scan Failure (Unit Attention)
1A05 SMART: Background Media Scan Failure (No Sense)
2A05 SMART: Background Media Scan Failure (Recovered Sense)
3A05 SMART: Background Media Scan Failure (Unit Attention)
1A14 SMART: Spare Sector Availability Warning (No Sense)
2A14 SMART: Spare Sector Availability Warning (Recovered Sense)
3A14 SMART: Spare Sector Availability Warning (Unit Attention)
1A21 SMART: Milli-Actuator Error (No Sense)
2A21 SMART: Milli-Actuator Error (Recovered Sense)
3A21 SMART: Milli-Actuator Error (Unit Attention)
1A22 SMART: Extreme Over-Temperature Warning (No Sense)
2A22 SMART: Extreme Over-Temperature Warning (Recovered Sense)
3A22 SMART: Extreme Over-Temperature Warning (Unit Attention)

370
Hard Disk Drive Specification
1A32 SMART: Read Error Rate Warning (No Sense)
2A32 SMART: Read Error Rate Warning (Recovered Sense)
3A32 SMART: Read Error Rate Warning (Unit Attention)
1A43 SMART: Seek Error Rate Warning (No Sense)
2A43 SMART: Seek Error Rate Warning (Recovered Sense)
3A43 SMART: Seek Error Rate Warning (Unit Attention)
1A4A SMART: Write Error Rate Warning (No Sense)
2A4A SMART: Write Error Rate Warning (Recovered Sense)
3A4A SMART: Write Error Rate Warning (Unit Attention)
1A50 SMART: Load/Unload Cycle Count Warning (No Sense)
2A50 SMART: Load/Unload Cycle Count Warning (Recovered Sense)
3A50 SMART: Load/Unload Cycle Count Warning (Unit Attention)
1A56 SMART: Spinup Time Warning (No Sense)
2A56 SMART: Spinup Time Warning (Recovered Sense)
3A56 SMART: Spinup Time Warning (Unit Attention)
1A5B SMART: Spinup Retry Count Warning (No Sense)
2A5B SMART: Spinup Retry Count Warning (Recovered Sense)
3A5B SMART: Spinup Retry Count Warning (Unit Attention)
FA81 Self-Test: Unrecoverable Error Count Threshold Exceeded
2A83 Self-Test: GLIST Error Count Threshold Reached
1A85 Self-Test: Recovery Error
2A85 Self-Test: Servo Error
4A85 Self-Test: Command Timeout Error
FA85 Self-Test: Unrecoverable Error
FA8D SMART: Disk shift exceeded threshold
1AFD SMART: Internal Environment Status Error(No Sense)
2AFD SMART: Internal Environment Status Error(Recovered Sense)
3AFD SMART: Internal Environment Status Error(Unit Attention)
1AFF SMART: Test Warning Threshold Reached (No Sense)
2AFF SMART: Test Warning Threshold Reached (Recovered Sense)
3AFF SMART: Test Warning Threshold Reached (Unit Attention)

FCxx Media: Unrecovered Unable to Read RID or FID Number xx

1ECE Media: Recovered R/W Abort Due to Vibration Condition (Other)


FECF Media: Unrecovered R/W Abort Due to Vibration Condition (Other)
1ED0 Media: Recovered R/W Abort Due to Vibration Condition (Estimator)
FED1 Media: Unrecovered R/W Abort Due to Vibration Condition (Estimator)
1ED2 Media: Recovered R/W Abort Due to Vibration Condition (Predictor)
FED3 Media: Unrecovered R/W Abort Due to Vibration Condition (Predictor)

371
Hard Disk Drive Specification
1ED4 Media: Recovered R/W Abort Due to Vibration Condition (PES Error)
FED5 Media: Unrecovered R/W Abort Due to Vibration Condition (PES Error)
1ED6 Media: Recovered R/W Abort Off Track Write Error
FED7 Media: Unrecovered R/W Abort Off Track Write Error
1ED8 Media: Recovered R/W Abort RRO Field Misread Error
FED9 Media: Unrecovered R/W Abort RRO Field Misread Error
1EDA Media: Recovered R/W Abort RRO Field Missing Error
FEDB Media: Unrecovered R/W Abort RRO Field Missing Error
1EDC Media: Recovered R/W Abort Idle Seek Error
FEDD Media: Unrecovered R/W Abort Idle Seek Error
1EDE Media: Recovered R/W Abort Seek Timeout Error
FEDF Media: Unrecovered R/W Abort Seek Timeout Error
1EE0 Media: Recovered R/W Abort Estimator Error
FEE1 Media: Unrecovered R/W Abort Estimator Error
1EE2 Media: Recovered R/W Abort Predictor Error
FEE3 Media: Unrecovered R/W Abort Predictor Error
1EE4 Media: Recovered R/W Abort PES Error
FEE5 Media: Unrecovered R/W Abort PES Error
1EE6 Media: Recovered R/W Abort Seek Start Error
FEE7 Media: Unrecovered R/W Abort Seek Start Error
1EE8 Media: Recovered R/W Abort PES Reset Error
FEE9 Media: Unrecovered R/W Abort PES Reset Error
1EEA Media: Recovered R/W Abort SID Unlock Error
FEEB Media: Unrecovered R/W Abort SID Unlock Error
1EEC Media: Recovered R/W Abort WCS Error
FEED Media: Unrecovered R/W Abort WCS Error
1EEE Media: Recovered R/W Abort Hard Reset Error
FEEF Media: Unrecovered R/W Abort Hard Reset Error
1EF0 Media: Recovered R/W Abort Shock Error
FEF1 Media: Unrecovered R/W Abort Shock Error
1EF2 Media: Recovered R/W Abort Unlock Macro Error
FEF3 Media: Unrecovered R/W Abort Unlock Macro Error
1EF4 Media: Recovered R/W Abort Sharp Error
FEF5 Media: Unrecovered R/W Abort Sharp Error
1EF6 Media: Recovered R/W Abort Aggressive Error
FEF7 Media: Unrecovered R/W Abort Aggressive Error
1EF8 Media: Recovered R/W Abort SVGA Limit Error
FEF9 Media: Unrecovered R/W Abort SVGA Limit Error
1EFA Media: Recovered R/W Abort Gray Code Error

372
Hard Disk Drive Specification
FEFB Media: Unrecovered R/W Abort Gray Code Error
1EFC Media: Recovered R/W Abort Burst Error
FEFD Media: Unrecovered R/W Abort Burst Error
1EFE Media: Recovered R/W Abort No STM Error
FEFF Media: Unrecovered R/W Abort No STM Error

FF01 IndSys: Drive Not Loaded


FF02 IndSys: Drive Not Loaded - Format Invalid
FF03 IndSys: Indirection System Not Online
FF04 IndSys: Drive Not Loaded - Old Version Mismatch
FF05 IndSys: Drive Not Loaded - Heap Pointer Mismatch
FF06 IndSys: Drive Not Loaded - Heap size Mismatch
FF07 IndSys: Drive Not Loaded - Rid Heap Size Mismatch
FF08 IndSys: Drive Not Loaded - Heap Version Mismatch
FF09 IndSys: Drive Not Loaded - Incompatible Rid
FF0A IndSys: Drive Not Loaded - Corrupt Rid
FF0B IndSys: Drive Not Loaded - Rid Num Objects Mismatch
FF0C IndSys: Drive Not Loaded - Rid Version Mismatch
FF0D IndMgr: Drive Not Loaded - Rid Version Mismatch
FF0E IndSys: Drive Not Loaded - Layout Rid Version Mismatch
FF0F IndSys: Drive Not Loaded - W2C Rid Version Mismatch
FF10 IndSys: Drive Not Loaded - Layout Manager Restore Failed
FF11 IndSys: Drive Not Loaded - W2C Manager Restore Failed
FF12 IndSys: Drive Not Loaded - Layout Failed
FF13 IndSys: Drive Not Loaded - DMM Format Failed
FF14 IndSys: Drive Not Loaded - IM Format Failed
FF15 IndSys: Drive Not Loaded - Pseudo Write Failed
FF16 IndSys: Drive Not Loaded - Full drop Failed
FF17 IndSys: Drive Not Loaded - EPO Format Failed
FF18 IndSys: Drive Not Loaded - Set IM Valid Failed
FF19 IndSys: Drive Not Loaded - Bring Online failed
FF1A IndSys: Drive Not Loaded - Metadata First Primary
FF1B IndSys: Drive Loaded - Metadata First Primary and Secondary
FF1C IndSys: Drive Loaded - IBA Out of Range
FF1D IndSys: Drive Loaded - Context Load Failed
FF1E IndSys: Drive Loaded - Context Sequence ID Mismatch
FF1F IndSys: Drive Loaded - Replay EPO Spec Failed
FF20 IndSys: Drive Not Loaded - EPD Flash Entry Invalid
FF21 LayoutMgr: All Flash Entries Erased

373
Hard Disk Drive Specification
FF22 IndSys: Drive Loaded - Replay Failed
1F40 IndSys: LOM Generic Fail
FF41 LayoutMgr: Format Capacity Not Met
1F42 DlMgr: DLMGR Generic Fail
FF43 IndSys: Drive Not Loaded - Metadata ATI
FF44 IndSys: Drive Loaded - Replay Fail
FF50 IndMgr: IM Demand Split Too Deep Failure
FF51 IndMgr: Allocate Failed Delta Group
FF52 IndMgr: Allocate Failed Split Spec
FF53 IndMgr: Allocate Failed Split Delta
FF54 IndMgr: Allocate Failed Unsplit Delta Group
FF55 IndMgr: Generic Insert Exception Failed
FF60 EpoMgr: Flash Read RS Syndrome Gen Timeout
FF61 EpoMgr: Uncorrectable Flash RS ECC Error
FF62 EpoMgr: Correctable EPO Timeout
FF63 EpoMgr: ARM FPS Engine and Not Spinning

374
Hard Disk Drive Specification

You might also like