Ultrastar SSD400S.B OEM Specification (Encrypted Models)

Ultrastar SSD400S.B OEM Specification (Encrypted Models)
Solid State Drive Specification
Ultrastar SSD400S.B
2.5" Serial Attached SCSI (SAS) Solid State Drive
Models:
HUSSL4040BSS601
HUSSL4020BSS601
HUSSL4010BSS601
Version: 2.00
21 September 2012
Warning: Printed copies of this document are considered current only on the date of print. Replacement and disposal of downlevel versions is the responsibility of the document holder.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
1st Edition (Rev 2.00) (21 September 2012)
The following paragraph does not apply to the United Kingdom or any country where such provisions are inconsistent with
local law: HGST, A WESTERN DIGITAL COMPANY, PROVIDES THIS PUBLICATION "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. Some states do not allow disclaimer or express or implied warranties in certain transactions, therefore, this statement may not apply to you.
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. HGST may make 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, HGST 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 HGST intends to announce such HGST products, programming, or services in your country.
Technical information about this product is available by contacting your local HGST representative or on the Internet at http://
www.hgst.com
HGST 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.
© Copyright HGST, a Western Digital company
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
Table of Contents
1.0 General............................................................................................................................1
1.1 Introduction................................................................................................................1
1.2 Glossary .....................................................................................................................1
1.3 Caution.......................................................................................................................1
2.0 Outline of the Drive .......................................................................................................3
3.0 Solid State Drive.............................................................................................................5
3.1 Control Electronics ....................................................................................................5
4.0 Drive Characteristics .....................................................................................................7
4.1 Formatted Capacity....................................................................................................7
4.2 Data Sheet ..................................................................................................................7
4.3 Inquiry Information....................................................................................................8
4.3.1 Product ID.........................................................................................................8
4.4 World Wide ID - Block Assignment .........................................................................8
4.5 Performance characteristics .......................................................................................9
4.5.1 Drive ready time ...............................................................................................9
4.5.2 SSD Command Overhead .................................................................................9
4.5.3 SSD Response Time .........................................................................................9
4.5.4 Data transfer speeds (Drive can sustain performance up to these values)........10
4.5.5 Random writes over the life of the drive ..........................................................10
5.0 Data Integrity .................................................................................................................11
5.1 Equipment Status .......................................................................................................11
5.2 Error Recovery Procedure..........................................................................................11
6.0 Electrical Interface.........................................................................................................13
6.1 SAS Connector ..........................................................................................................13
6.1.1 29 pin Serial Attached SCSI (SAS) Connector Definition ...............................13
6.1.2 Voltage and Ground Signals .............................................................................15
6.1.3 Ready LED output ............................................................................................15
7.0 Environment...................................................................................................................17
7.1 Temperature and humidity.........................................................................................17
7.2 Storage requirements .................................................................................................18
7.2.1 Packaging..........................................................................................................18
7.2.2 Storage time ......................................................................................................18
7.3 Corrosion test .............................................................................................................18
7.4 Cooling requirements.................................................................................................19
8.0 DC Power Requirements...............................................................................................21
8.1 Power Supply Current, Average and Peak.................................................................21
8.2 Ripple Voltage ...........................................................................................................22
8.3 Power Consumption Efficiency Index .......................................................................22
9.0 Reliability........................................................................................................................23
9.1 Data Reliability ..........................................................................................................23
9.2 Failure prediction (S.M.A.R.T) .................................................................................23
9.3 MTBF (Mean Time Between Failure): 2M hours. .................................................23
9.4 Preventive Maintenance.............................................................................................23
9.5 Temperature Warning ................................................................................................23
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
10.0 Mechanical Specifications ...........................................................................................25
10.1 Outline .....................................................................................................................25
10.2 Mechanical Dimensions...........................................................................................25
10.3 Mounting Positions and Tappings ...........................................................................27
10.4 Interface Connector..................................................................................................28
10.5 Drive Mounting........................................................................................................28
11.0 Acoustics, Vibration and Shock..................................................................................29
11.1 Acoustics..................................................................................................................29
11.2 Operating Vibration .................................................................................................29
11.2.1 Random Vibration...........................................................................................29
11.2.2 Swept Sine Vibration ......................................................................................29
11.3 Non-operating Vibrations ........................................................................................29
11.3.1 Random Vibration...........................................................................................29
11.3.2 Swept Sine Vibration ......................................................................................29
11.4 Operating shock ......................................................................................................29
11.5 Non-operating shock...............................................................................................29
11.5.1 Half sinewave shock pulse..............................................................................30
12.0 Identification ................................................................................................................31
12.1 Labels.......................................................................................................................31
13.0 Electromagnetic Compatibility...................................................................................33
13.1 Class B Regulatory Notices .....................................................................................33
14.0 Standards ......................................................................................................................35
14.1 UL and C-UL Standard Conformity ........................................................................35
14.2 European Standards Compliance .............................................................................35
14.3 German Safety Mark................................................................................................35
14.4 Flammability ............................................................................................................35
15.0 SAS Attachment ...........................................................................................................37
15.1 General.....................................................................................................................37
15.2 SAS Features............................................................................................................37
15.3 SAS Names and Identifiers......................................................................................38
15.4 PHY Layer ...............................................................................................................39
15.4.1 Link Reset Sequence.......................................................................................39
15.4.2 Hard Reset.......................................................................................................40
15.4.3 SAS OOB (Out of Band) ................................................................................40
15.4.4 SAS Speed Negotiation ..................................................................................41
15.4.5 PHY Error Handling .......................................................................................42
15.5 Link Layer................................................................................................................42
15.5.1 Address Frames...............................................................................................42
15.5.2 Link Layer Error Handling .............................................................................45
15.6 Transport Layer........................................................................................................47
15.6.1 Command Information Unit............................................................................48
15.6.2 TASK Information Units ................................................................................49
15.6.3 XFER_RDY Information Units ......................................................................51
15.6.4 DATA Information Units................................................................................51
15.6.5 RESPONSE Information Units.......................................................................51
15.6.6 Sequences of SSP Information Units..............................................................53
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
15.6.7 Transport Layer Error Handling .....................................................................54
16.0 SCSI Command Set ....................................................................................................57
16.1 SCSI Control Byte ...................................................................................................59
16.2 Abbreviations...........................................................................................................59
16.3 Byte ordering conventions .......................................................................................59
16.4 FORMAT UNIT (04)...............................................................................................60
16.4.1 Parameter List Header ....................................................................................61
16.5 INQUIRY (12) .........................................................................................................63
16.5.1 Inquiry Data ....................................................................................................64
16.6 LOG SELECT (4C) .................................................................................................78
16.7 LOG SENSE (4D) ...................................................................................................81
16.7.1 Log Page parameters.......................................................................................82
16.7.2 Log Sense Page 0 ............................................................................................83
16.7.3 Log Sense Page 2 ............................................................................................84
16.7.4 Log Sense Page 3 ............................................................................................86
16.7.5 Log Sense Page 5 ............................................................................................88
16.7.6 Log Sense Page 6 ............................................................................................90
16.7.7 Log Sense Page D ...........................................................................................91
16.7.8 Log Sense Page E ...........................................................................................92
16.7.9 Log Sense Page F............................................................................................94
16.7.10 Log Sense Page 10 ........................................................................................95
16.7.11 Solid State Media log page (Page 11)...........................................................98
16.7.12 Log Sense Page 15 ........................................................................................99
16.7.13 Log Sense Page 18 ........................................................................................101
16.7.14 Log Sense Page 1A .......................................................................................105
16.7.15 Log Sense Page 2F........................................................................................106
16.7.16 Log Sense Page 30 ........................................................................................107
16.7.17 Log Sense Page 37 ........................................................................................108
16.8 MODE SELECT (15) ..............................................................................................110
16.9 MODE SELECT (55) ..............................................................................................111
16.10 MODE SENSE (1A) ..............................................................................................112
16.10.1 Mode Parameter List.....................................................................................113
16.10.2 Mode Page 00 (Vendor Unique Parameters) ................................................117
16.10.3 Mode Page 01 (Read/Write Error Recovery Parameters).............................119
16.10.4 Mode Page 02 (Disconnect/Reconnect Parameters) .....................................120
16.10.5 Mode Page 03 (Format Device Parameters) .................................................121
16.10.6 Mode Page 04 (Rigid Disk Drive Geometry Parameters) ............................123
16.10.7 Mode Page 07 (Verify Error Recovery Parameters).....................................124
16.10.8 Mode Page 08 (Caching Parameters)............................................................125
16.10.9 Mode Page 0A (Control Mode Page Parameters).........................................127
16.10.10 Mode Page 0C (Notch Parameters) ............................................................129
16.10.11 Mode Page 18h ...........................................................................................129
16.10.12 Mode Page 19h (Port Control Parameters) .................................................131
16.10.13 Mode Page 1A (Power Control) .................................................................137
16.10.14 Mode Page 1C (Informational Exceptions Control) ...................................138
16.11 MODE SENSE (5A) ..............................................................................................141
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
16.12 PERSISTENT RESERVE IN (5E) ........................................................................143
16.12.1 Service Action...............................................................................................143
16.12.2 Parameter data for Read Keys ......................................................................144
16.12.3 Parameter Data for Read Reservations .........................................................145
16.13 PERSISTENT RESERVE OUT (5F) ....................................................................146
16.13.1 Service Action...............................................................................................147
16.13.2 Type ..............................................................................................................147
16.13.3 Parameter list ................................................................................................148
16.13.4 Summary .......................................................................................................149
16.14 PRE-FETCH (34) ..................................................................................................151
16.15 READ (6) - (08) .....................................................................................................152
16.16 READ (10) - (28) ...................................................................................................153
16.17 READ (12) - (A8) ..................................................................................................155
16.18 READ (16) - (88) ...................................................................................................156
16.19 READ (32) - (7F/09)..............................................................................................157
16.20 READ BUFFER (3C) ............................................................................................159
16.20.1 Combined Header And Data (Mode 00000b)...............................................160
16.20.2 Read Data (Mode 00010b)............................................................................160
16.20.3 Descriptor (Mode 00011b)............................................................................161
16.20.4 Read Data from Echo Buffer (Mode 01010b) ..............................................162
16.20.5 Echo Buffer Descriptor (Mode 01011b) .......................................................162
16.20.6 Expander Communications and Echo Buffer (Mode 11010b) .....................162
16.21 READ CAPACITY (10) - (25) ..............................................................................163
16.22 READ CAPACITY (16) (9E/10)...........................................................................165
16.22.1 Returned Data Format...................................................................................165
16.23 READ DEFECT DATA (37).................................................................................167
16.23.1 Defect List Header ........................................................................................169
16.23.2 Defect List Descriptor...................................................................................169
16.23.3 Physical Sector Format (101b) .....................................................................169
16.24 READ DEFECT DATA (B7) ................................................................................170
16.24.1 Defect List Header ........................................................................................170
16.24.2 Defect List Descriptor...................................................................................171
16.24.3 Physical Sector Format (101b) .....................................................................171
16.25 READ LONG (3E) ................................................................................................172
16.26 REASSIGN BLOCKS (07) ...................................................................................173
16.27 RECEIVE DIAGNOSTICS RESULTS (1C) ........................................................175
16.27.1 Receive Diagnostic Results Page 0...............................................................175
16.27.2 Receive Diagnostic Results Page 40.............................................................176
16.28 RELEASE (17) ......................................................................................................178
16.29 RELEASE (57) ......................................................................................................179
16.30 REPORT DEVICE IDENTIFIER (A3/05)............................................................180
16.31 REPORT LUNS (A0) ............................................................................................182
16.32 REPORT SUPPORTED OPERATION CODES (A3/0C) ....................................183
16.32.1 All_commands parameter data format..........................................................184
16.32.2 One_command parameter data format..........................................................185
16.32.3 Command timeouts descriptor format ..........................................................187
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
16.33 REPORT SUPPORTED TASK MANAGEMENT FUNCTIONS (A3/0D) .........188
16.34 REQUEST SENSE (03).........................................................................................190
16.35 RESERVE (16) ......................................................................................................191
16.36 RESERVE (56) ......................................................................................................192
16.37 REZERO UNIT (01)..............................................................................................193
16.38 SEEK (6) - (0B) .....................................................................................................194
16.39 SEEK (10) - (2B) ...................................................................................................194
16.40 SEND DIAGNOSTIC (1D) ...................................................................................195
16.40.1 Send Diagnostic Page 0 ................................................................................197
16.40.2 Send Diagnostic Page 3F ..............................................................................197
16.40.3 Send Diagnostic Page 40 ..............................................................................200
16.41 SET DEVICE IDENTIFIER (A4/06) ....................................................................202
16.42 START STOP UNIT (1B) .....................................................................................203
16.43 SYNCHRONIZE CACHE (10) - (35) ...................................................................204
16.44 SYNCHRONIZE CACHE (16) - (91) ...................................................................205
16.45 TEST UNIT READY (00) .....................................................................................206
16.46 VERIFY (2F) .........................................................................................................207
16.47 VERIFY (12) - (AF) ..............................................................................................209
16.48 VERIFY (16) - (8F) ...............................................................................................210
16.49 VERIFY (32) - (7F/0A) .........................................................................................211
16.50 WRITE (6) - (0A) ..................................................................................................213
16.51 WRITE (10) - (2A) ................................................................................................214
16.52 WRITE (12) - (AA) ...............................................................................................216
16.53 WRITE (16) - (8A) ................................................................................................217
16.54 WRITE (32) - (7F/0B) ...........................................................................................218
16.55 WRITE AND VERIFY (10) - (2E)........................................................................220
16.56 WRITE AND VERIFY (12) - (AE).......................................................................221
16.57 WRITE AND VERIFY (16) - (8E)........................................................................222
16.58 WRITE AND VERIFY (32) - (7F/0C) ..................................................................223
16.59 WRITE BUFFER (3B) ..........................................................................................224
16.59.1 Combined Header And Data (Mode 00000b)...............................................224
16.59.2 Write Data (Mode 00010b)...........................................................................225
16.59.3 Download Microcode (Mode 00100b) .........................................................225
16.59.4 Download Microcode and Save (Mode 00101b) -Single Binary File ..........226
16.59.5 Download Microcode and Save (Mode 00111b) - Multiple Binary Files ....226
16.59.6 Write Data to Echo Buffer (Mode 01010b) ..................................................226
16.59.7 Enable Expander Communications Protocol (Mode 11010b) ......................226
16.60 WRITE LONG (3F)...............................................................................................227
16.61 WRITE SAME (41) ...............................................................................................229
16.62 WRITE SAME (16) - (93) .....................................................................................230
16.63 WRITE SAME (32) - (7F/0D)...............................................................................231
17.0 SCSI Status Byte .........................................................................................................233
18.0 Additional information...............................................................................................235
18.1 SCSI Protocol ..........................................................................................................235
18.1.1 Priority of SCSI Status Byte Reporting ..........................................................235
18.1.2 Invalid LUN Processing..................................................................................235
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
18.1.3 Command Processing During Execution of Active I/O Process ....................236
18.1.4 Unit Attention Condition ................................................................................237
18.1.5 Command Processing During Startup and Format Operations.......................239
18.1.6 Internal Error Condition..................................................................................239
18.1.7 Deferred Error Condition................................................................................239
18.1.8 Degraded Mode...............................................................................................240
18.1.9 Command Processing while Reserved............................................................246
18.2 Priority Commands ..................................................................................................246
18.3 Command Queuing ..................................................................................................247
18.3.1 Queue Depth ...................................................................................................247
18.3.2 Queue Full Status............................................................................................247
18.3.3 Termination of I/O Processes .........................................................................247
18.4 Command Reordering..............................................................................................247
18.5 Concurrent I/O Process ............................................................................................247
18.6 Write Cache .............................................................................................................247
18.7 Automatic Rewrite/Reallocate .................................................................................248
18.8 Segmented Caching .................................................................................................248
18.8.1 Overview.........................................................................................................248
18.8.2 Read Ahead.....................................................................................................248
18.9 Multiple Initiator Systems .......................................................................................248
18.9.1 Sense Data.......................................................................................................248
18.9.2 Mode Pages.....................................................................................................248
18.10 Multiple Initiator Environment ..............................................................................248
18.10.1 Initiator Sense Data.......................................................................................248
18.10.2 Initiator Mode Select/Mode Sense Parameters .............................................248
18.11 Reset.......................................................................................................................249
18.11.1 Reset Sources ................................................................................................249
18.11.2 Reset Actions ................................................................................................249
18.12 Diagnostics.............................................................................................................249
18.12.1 Power on Diagnostics ...................................................................................249
18.12.2 Self-test via SEND DIAGNOSTIC Command.............................................250
18.13 Idle Time Function.................................................................................................253
18.14 Command Time out Limits ...................................................................................253
18.14.1 Reassignment Time.......................................................................................253
18.14.2 Format Time .................................................................................................253
18.14.3 Start/Stop Unit Time .....................................................................................253
18.14.4 Medium Access Command Time .................................................................254
18.14.5 Time-out Limits for Other Commands .........................................................254
18.15 Recommended Initiator ERP .................................................................................255
18.15.1 Drive Service Strategy ..................................................................................255
18.15.2 Recommendations for System Error Log .....................................................256
18.15.3 Data Recovery Procedure .............................................................................256
18.15.4 Nondata Error Recovery Procedure ..............................................................256
19.0 SCSI Sense Data...........................................................................................................263
19.1 SCSI Sense Data Format..........................................................................................263
19.2 Sense Data Description ............................................................................................264
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
19.2.1 Valid (Bit 7 of byte 0).....................................................................................264
19.2.2 Error Code (Bit 6 - 0 of byte 0) ......................................................................264
19.2.3 ILI: Incorrect Length Indicator (Bit 5 of byte 2) ............................................264
19.2.4 Sense Key (Bit 3 - 0 of byte 2) .......................................................................265
19.2.5 Information Bytes (Byte 3 through 6).............................................................266
19.2.6 Additional Sense Length (Byte 7) ..................................................................266
19.2.7 Command Specific Information (Byte 8 through 11) .....................................266
19.2.8 Additional Sense Code/Qualifier (Byte 12 and 13) ........................................267
19.2.9 RU: Field Replaceable Unit (Byte 14)............................................................279
19.2.10 Sense Key Specific (Byte 15 through 17).....................................................279
19.2.11 Reserved (Byte 18 through 19) .....................................................................283
19.2.12 Vendor unique error information (Byte 20 through 23) ...............................283
19.2.13 Physical Error Record (Byte 24 thru 29) ......................................................283
19.2.14 Reserved (Byte 30 through 31) .....................................................................283
20.0 Appendix. UEC list ......................................................................................................285
21.0 TCG SSC ......................................................................................................................293
21.1 Referenced Specifications and Standards ................................................................293
21.1.1 TCG Specifications.........................................................................................293
21.1.2 Federal Information Processing Standards (FIPS)..........................................293
21.1.3 National Institute of Standards (NIST) ...........................................................293
21.1.4 Department of Defense ...................................................................................293
21.1.5 RSA Laboratories Standards...........................................................................294
21.1.6 Other Standards...............................................................................................294
21.2 Implementation Exceptions .....................................................................................294
21.3 Implementation Features and Details Outside of TCG Specifications ....................294
21.4 Encryption Algorithms ...........................................................................................295
21.4.1 Advanced Encryption Standard (AES) Support .............................................295
21.4.2 Level 0 Discovery Vendor Specific Data .......................................................295
21.4.3 Pseudo Random Number Generation (PRNG) ...............................................296
21.4.4 Key Erasure.....................................................................................................296
21.5 TCG SSC Tables......................................................................................................296
21.5.1 Admin SP C_PIN Table and Locking SP C_PIN Table .................................296
21.5.2 K_AES_256 Table ..........................................................................................297
21.5.3 Locking SP AccessControl Table ...................................................................297
21.5.4 Locking Info Table .........................................................................................298
21.5.5 Locking SP Locking Table .............................................................................298
21.6 Firmware Download and Signing ............................................................................298
21.7 Ports .........................................................................................................................299
21.8 MSID ......................................................................................................................302
21.9 Logging ....................................................................................................................302
21.10 Number of Sessions ...............................................................................................302
21.11 Number of Bands ...................................................................................................302
21.12 Number of COMIDs ..............................................................................................302
21.13 Locked and Unlocked Behavior ...........................................................................302
21.13.1 T10 SCSI commands ....................................................................................302
21.13.2 TCG SSC Commands ...................................................................................305
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
21.14 Error Codes ...........................................................................................................306
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
List of Tables
Table 1.Product ID table ............................................................................................1
Table 2.Formatted Capacity.......................................................................................7
Table 3.Data Sheet .....................................................................................................7
Table 4.Product ID in Inquiry Command ..................................................................8
Table 5.Block assignment of World Wide ID in INQUIRY Command....................8
Table 6.Drive ready time ...........................................................................................9
Table 7.SSD Command Overhead.............................................................................9
Table 8.SSD Response time.......................................................................................9
Table 9.29-pin Connector Signal Definition..............................................................14
Table 10.Operating and non-operating conditions ....................................................17
Table 11.Maximum allowable surface temperatures .................................................19
Table 12.Input Voltage and Capacitance ...................................................................21
Table 13.Power Supply Generated Ripple at Drive Power Connector......................22
Table 14.Power Consumption Efficiency Index........................................................22
Table 15.Physical Dimensions...................................................................................25
Table 16.Names and identifiers .................................................................................38
Table 17.IEEE Registered Name format ...................................................................39
Table 18.Supported Settings Bit Priorities ................................................................41
Table 19.Address Frame Format ...............................................................................42
Table 20.Frame type: .................................................................................................43
Table 21.Identify Address Frame ..............................................................................43
Table 22.Reason field ................................................................................................44
Table 23.SAS Frame Format .....................................................................................47
Table 24.COMMAND Information Unit...................................................................48
Table 25.TASK Information Unit..............................................................................49
Table 26.Additional Response Information argument for Query Async Event.........50
Table 27.UADE DEPTH field ...................................................................................50
Table 28.XFER_RDY Information Unit ...................................................................51
Table 29.DATA Information Unit .............................................................................51
Table 30.Response Information Unit.........................................................................51
Table 31.RESPONSE DATA ....................................................................................53
Table 32.SCSI Commands Supported .......................................................................57
Table 33.SCSI Control Byte ......................................................................................59
Table 34.FORMAT UNIT (04) .................................................................................60
Table 35.Format of the Parameter List Header..........................................................61
Table 36.Initialization Pattern Descriptor:.................................................................62
Table 37.INQUIRY (12)............................................................................................63
Table 38.Page Code descriptions...............................................................................63
Table 39.Inquiry Data- EVPD = 0 .............................................................................64
Table 40.Inquiry Data - EVPD = 1 (Page Code = 00h).............................................65
Table 41.Inquiry Data -..............................................................................................67
Table 42. (Page Code = 03h) .....................................................................................67
Table 43.Inquiry Data - EVPD = 1 (Page Code = 80h).............................................69
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
Table 44.Inquiry Data Format - EVPD = 1, (Page Code - 83h) ................................70
Table 45.Inquiry Data Format - EVPD = 1, (Page Code - 86h) ...............................71
Table 46.Inquiry Data Format - EVPD = 1, (Page Code - 8Ah) ...............................74
Table 47.Inquiry Data - EVPD = 1 (Page Code = 90h).............................................75
Table 48.Protocol-specific logical unit information descriptor .................................75
Table 49.Inquiry Data - EVPD = 1 (Page Code = B1h) ............................................76
Table 50.Inquiry Data - EVPD = 1 (Page Code = D2h) ............................................77
Table 51.Log Select (4C)...........................................................................................78
Table 52.Log Sense (4D) ...........................................................................................81
Table 53.Log Sense Page 0........................................................................................83
Table 54.Log Sense Page 2 (part 1 of 2)....................................................................84
Table 55.Log Sense Page 2 (part 2 of 2)....................................................................84
Table 56.Log Sense Page 3 (part 1 of 2)....................................................................86
Table 57.Log Sense Page 3 (part 2 of 2)....................................................................86
Table 58.Log Sense Page 5 (part 1 of 2)....................................................................88
Table 59.Log Sense Page 5 (part 2 of 2)....................................................................89
Table 60.Log Sense Page 6........................................................................................90
Table 61.Log Sense Page D .......................................................................................91
Table 62.Log Sense Page E .......................................................................................92
Table 63.Log Sense Page F........................................................................................94
Table 64.Log Sense Page F, Application Client Log ................................................94
Table 65.Log Sense Page 10......................................................................................95
Table 66.Log Sense Page 10, self-test results............................................................95
Table 67.Log Sense Page 10, self-test results............................................................96
Table 68.Log Sense Page 10, Extended Segment Number........................................97
Table 69.Solid State Media log page .........................................................................98
Table 70.Solid State Media log page parameter codes ..............................................98
Table 71.Percentage Used Endurance Indicator parameter format ...........................98
Table 72.Log Sense Page 15......................................................................................99
Table 73.Log Sense Page 18......................................................................................101
Table 74.SAS Log Descriptor....................................................................................101
Table 75.Log Sense Page 1A .....................................................................................105
Table 76. Log Sense Page 2F.....................................................................................106
Table 77.Vendor Unique parameter Code = 0000 .....................................................106
Table 78.Log Sense Page 30......................................................................................107
Table 79.Log Sense Page 37......................................................................................108
Table 80.Mode Select (15).........................................................................................110
Table 81.Mode Select (55).........................................................................................111
Table 82.Mode Sense (1A) ........................................................................................112
Table 83.Page Code Usage ........................................................................................113
Table 84.Mode parameter header (6).........................................................................113
Table 85.Mode parameter header (10).......................................................................114
Table 86.Mode Parameter Block Descriptor .............................................................115
Table 87.Mode Parameter Page Format ....................................................................116
Table 88.Mode Parameter Page Format ....................................................................116
Table 89.Vendor Unique Parameters - Page 00.........................................................117
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
Table 90.Mode Page 01 (Vendor Unique Parameters) ..............................................119
Table 91.Mode Page 02 (Disconnect/Reconnect Parameters)...................................120
Table 92.Mode Page 03 (Format Device Parameters) ...............................................121
Table 93.Mode Page 04 (Rigid Disk Drive Geometry Parameters) ..........................123
Table 94.Mode Page 07 (Verify Error Recovery Parameters)...................................124
Table 95.Page 08 (Caching Parameters)....................................................................125
Table 96.Page 0A (Control Mode Page Parameters) .................................................127
Table 97.Control Extension Subpage ........................................................................128
Table 98.Page 0C (Notch Parameters).......................................................................129
Table 99.Page 18h (Protocol-Specific Logical Unit mode page) ..............................129
Table 100.Short (Port Control Parameters) Short Format .........................................131
Table 101.Long Format of Port Control Page ...........................................................132
Table 102.PHY Control and Discover (Subpage 1) ..................................................133
Table 103.SAS PHY Mode Descriptor .....................................................................134
Table 104.Shared Port Control (Subpage 2) ..............................................................135
Table 105.Subpage 3..................................................................................................136
Table 106.PHY Mode Descriptor (0 and 1)...............................................................136
Table 107.Page 1A (Power Control)..........................................................................137
Table 108.Page 1C (Informational Exceptions Control) ...........................................138
Table 109.Background Control (Subpage 01h) .........................................................140
Table 110.Mode Sense (5A) ......................................................................................141
Table 111.Persistent Reserve In (5E) ........................................................................143
Table 112.PERSISTENT RESERVE IN, Service Action Codes ..............................143
Table 113.PERSISTENT RESERVE IN, parameter data for Read Keys .................144
Table 114.PERSISTENT RESERVE IN, parameter data for Read Reservations.....145
Table 115.PERSISTENT RESERVE IN, Read Reservation Descriptor...................145
Table 116.PERSISTENT RESERVE OUT (5F) .......................................................146
Table 117.PERSISTENT RESERVE OUT, Service Action Code............................147
Table 118.PERSISTENT RESERVE OUT, Type Code ...........................................147
Table 119.Parameter List ...........................................................................................148
Table 120.PERSISTENT RESERVE OUT, Service Action, Parameters .................149
Table 121.APTPL and information held by a drive...................................................150
Table 122.PRE-FETCH (34) .....................................................................................151
Table 123.READ (6) - (08)........................................................................................152
Table 124.READ (10) - (28) .....................................................................................153
Table 125.Read (12) - (A8)........................................................................................155
Table 126.READ (16) - (88)......................................................................................156
Table 127.READ (32) - (7F/09) ................................................................................157
Table 128.READ BUFFER (3C) ...............................................................................159
Table 129.Read Buffer Header ..................................................................................160
Table 130.Read Buffer Description ...........................................................................161
Table 131.Echo Buffer Descriptor.............................................................................162
Table 132.READ CAPACITY (10) - (25).................................................................163
Table 133.Format of READ CAPACITY command reply........................................164
Table 134.Read Capacity (16) (9E/10) ......................................................................165
Table 135.Returned Data Format...............................................................................165
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
Table 136.P_TYPE field and PROT_EN bit .............................................................166
Table 137.LOGICAL BLOCKS PER PHYSICAL BLOCK EXPONENT field ......166
Table 138.READ DEFECT DATA (37)....................................................................167
Table 139.Defect List Format ....................................................................................168
Table 140.Defect List Header ....................................................................................169
Table 141.Defect List Descriptor...............................................................................169
Table 142.Defect Descriptors of Physical Sector Format..........................................169
Table 143.READ DEFECT DATA (B7) ...................................................................170
Table 144.Defect List Header ....................................................................................170
Table 145.Defect List Descriptor...............................................................................171
Table 146.Defect Descriptors of Physical Sector Format..........................................171
Table 147.READ LONG (3E) ...................................................................................172
Table 148.REASSIGN BLOCKS (07) ......................................................................173
Table 149.Format of Reassign Blocks data ...............................................................174
Table 150.RECEIVE DIAGNOSTIC RESULTS (1C) .............................................175
Table 151.Receive Diagnostic Results page 0...........................................................175
Table 152.Receive Diagnostic Results Page 40.........................................................176
Table 153.Translated address ....................................................................................177
Table 154.RELEASE (17) .........................................................................................178
Table 155.RELEASE (57) .........................................................................................179
Table 156.REPORT DEVICE IDENTIFIER (A3/05)...............................................180
Table 157.Report Device Identifier parameter list ....................................................181
Table 158.REPORT LUNS (A0) ...............................................................................182
Table 159.LUN Reporting parameter list format.......................................................182
Table 160.REPORT SUPPORTED OPERATION CODES (A3/0C) .......................183
Table 161.Reporting Options.....................................................................................183
Table 162.All_command parameter data format .......................................................184
Table 163.Command Descriptor format ....................................................................184
Table 164. One_command parameter data format.....................................................185
Table 165.One_command parameter support field....................................................186
Table 166.Command timeouts descriptor format .....................................................187
Table 167.Command timeouts descriptor Command Specific Field usage ..............187
Table 168.Report Supported Task Management Functions (A3/0D) ........................188
Table 169.REQUEST SENSE (03) ...........................................................................190
Table 170.RESERVE (16) .........................................................................................191
Table 171.RESERVE (56) .........................................................................................192
Table 172.REZERO UNIT (01).................................................................................193
Table 173.SEEK (6) - (0B) ........................................................................................194
Table 174.SEEK (10) - (2B) ......................................................................................194
Table 175.SEND DIAGNOSTIC (1D) ......................................................................195
Table 176.SEND DIAGNOSTIC Function Code (1D) .............................................196
Table 177.Diagnostic Page 0 .....................................................................................197
Table 178.Diagnostic Page 3F ...................................................................................197
Table 179.Diagnostic Page 40 ...................................................................................201
Table 180.Address to translate...................................................................................201
Table 181.SET DEVICE IDENTIFIER (A4/06) .......................................................202
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
Table 182.SET DEVICE IDENTIFIER, Parameter List ...........................................202
Table 183.START STOP UNIT (1B) ........................................................................203
Table 184.SYNCHRONIZE CACHE (10) - (35) ......................................................204
Table 185.Synchronize Cache (16) - (91)..................................................................205
Table 186.TEST UNIT READY (00)........................................................................206
Table 187.VERIFY (2F) ............................................................................................207
Table 188.Verify (12) - (AF) .....................................................................................209
Table 189.Verify (16) - (8F) ......................................................................................210
Table 190.Verify (32) - 7F/0A) .................................................................................211
Table 191.WRITE (6) - (0A) .....................................................................................213
Table 192.WRITE (10) - (2A) ...................................................................................214
Table 193.Write (12) - (AA)......................................................................................216
Table 194.Write (16) - (8A).......................................................................................217
Table 195.Write (32) - (7F/0B)..................................................................................218
Table 196.WRITE AND VERIFY (10) - (2E) ..........................................................220
Table 197.Write and Verify (12) - (AE) ....................................................................221
Table 198.Write and Verify (16) - (8E) .....................................................................222
Table 199.Write and Verify (32) - (7F/0C) ...............................................................223
Table 200.WRITE BUFFER (3B) .............................................................................224
Table 201.Write Buffer Header .................................................................................225
Table 202.WRITE LONG (3F)..................................................................................227
Table 203.WRITE SAME (41) ..................................................................................229
Table 204.Write Same (16) - (93)..............................................................................230
Table 205.Write Same (32) - (7F/0D) .......................................................................231
Table 206.SCSI Status Byte. Format of the SCSI STATUS byte. ...........................233
Table 207.Media Degraded Mode Becoming ready ..................................................241
Table 208.Media Degraded Mode - Context Load Failure........................................242
Table 209.Media Degraded Mode - Drive issued, received Unit Stop Command ....243
Table 210.Self Configuration Failure Degraded Mode ............................................244
Table 211.Format Command Failure Degraded Mode ..............................................245
Table 212.Short and Extended Self-Test Description ...............................................252
Table 213.Format of Sense Data................................................................................263
Table 214.Field Pointer Bytes ...................................................................................279
Table 215.Actual Retry Count ...................................................................................281
Table 216.Progress Indication ...................................................................................282
Table 217.Unit Error Codes.......................................................................................285
Table 218.Persistent Reserve In (5E) ........................................................................295
Table 219.HGST Implementation of Admin SP_CPIN and Locking C_PIN ...........297
Table 220.HGST Implementation of K_AES_256 Table..........................................297
Table 221.HGST Implementation of Locking SP Access Control Table..................298
Table 222.HGST Implementation of Locking Info Table .........................................298
Table 223.HGST Implementation of Locking SP Locking Table .............................298
Table 224.Ports Functionality....................................................................................300
Table 225.Ports Table ................................................................................................300
Table 226.Modified Admin SP ACE Table...............................................................300
Table 227.Modified Admin SP AccessControl Table ...............................................301
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
Table 228.T10 SCSI Commands Behavior Table .....................................................303
Table 229.TCG Enterprise SSC Commands Behavior ............................................305
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
1.0 General
1.1 Introduction
This document describes the specifications of the following HGST 2.5 inch SAS drives.
Table 1: Product ID table
Drive Name
Model Name
Type
Capacity (GB)
Interface
Ultrastar SSD400S.B-400
HUSSL4040BSS601
UCSSSR401
400
2.5" SAS
Ultrastar SSD400S.B-200
HUSSL4020BSS601
UCSSSR201
200
2.5" SAS
Ultrastar SSD400S.B-100
HUSSL4010BSS601
UCSSSR101
100
2.5" SAS
Note: The specifications in this document are subject to change without notice.
For technical and ordering information, please visit our website at http://www.hgst.com.
1.2 Glossary
Word
Meaning
BMS
Background Media Scan
Kb
Kilobit = 1000 bits
Mb
Megabit = 1,000,000 bits
GB
Gigabyte = 1,000,000,000 bytes
SSD
Solid State Drive
MB
Megabyte = 1,000,000 bytes
KB
Kilobyte = 1000 bytes
SAS
Serial Attached SCSI
SFF
Small Form Factor
SMART
Self-Monitoring and Reporting Technology
TB
Terabyte 1 x 1012 bytes
PB
Petabyte 1 x 1015 bytes
1.3 Caution
This drive can be damaged by ESD (Electric Static Discharge). Any damage incurred to the drive after its removal from the
shipping package and the ESD protective bag are the responsibility of the user.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
1
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
2
2 Outline of the Drive
•
Storage capacities of 400GB, 200 GB, and 100 GB
•
1.5 Gbps, 3.0 Gbps and 6 Gbps SAS-2 interface
•
Supports dual-ported operations
•
Supports full duplex operations
•
Variable sector size (512B, 520B, and 528B), as production releases do not support 4096B
•
Tagged Command Queuing support
•
Automatic read/write data transfer
•
Adaptive read ahead algorithm
•
Write Cache via PLI protection.
•
XOR Function
•
ECC On The Fly correction
•
Automatic defect reallocation
•
Self diagnostics at power on
•
Use of SLC NAND Flash.
•
SMART
•
ANSI T10 Protection Information (End-to-End)
•
Support TCG Enterprise_A SSC Encryption (specific model only)
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
3
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
4
3.0 Solid State Drive
3.1 Control Electronics
The drive is electronically controlled by a microprocessor, logic modules, digital/analog modules and various drivers and
receivers. The control electronics perform the following major functions:
•
Monitors incoming power to insure safe writes
•
Provides temporary back-up power in the event of a power loss
•
Maintains data integrity through CRC, ECC and Power Loss Imminent detection
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
5
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
6
4.0 Drive Characteristics
4.1 Formatted Capacity
Table 2: Formatted Capacity
Description
HUSSL4040BSS601
Label capacity
Total data bytes (512
bytes/sector)
Total logical data
blocks
HUSSL4020BSS601 HUSSL4010BSS601
400 GB
200 GB
100 GB
400,088,457,216
200,049,647,616
100,030,242,816
781,422,768
(2E9390B0h)
390,721,968
(1749F1B0h)
195,371,568
(BA52230h)
4.2 Data Sheet
Table 3: Data Sheet
Host Interface Transfer Rate
1.5 Gbps, 3.0 Gbps or 6.0 Gbps
Flash Media
25nm Single Level Cell NAND
SDRAM size
512 MB
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
7
4.3 Inquiry Information
4.3.1 Product ID
Product ID in Section 16.5.1.1, “Inquiry Data Format - EVPD = 0, Page Code = 0” on page 64, is as follows:
Table 4: Product ID in Inquiry Command
Product ID
Description
HUSSL4040BSS601
400 GB, SAS
HUSSL4020BSS601
200 GB, SAS
HUSSL4010BSS601
100 GB, SAS
4.4 World Wide ID - Block Assignment
Block Assignment of World Wide ID is as follows:
Table 5: Block assignment of World Wide ID in INQUIRY Command
Manufacturing Site
China
Product
Block Assignment
HUSSL4040BSS601
001h(1)
HUSSL4020BSS601
001h(1)
HUSSL4010BSS601
001h(1)
Note (1) - Additional block assignment will be issued as needed based on actual production volume.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
8
4.5 Performance characteristics
Drive performance is characterized by the following parameters:
•Command overhead
•Data transfer speed
•Buffering operation (read ahead/write cache)
Note: All the above parameters contribute to drive performance. There are other parameters that contribute to the performance of the actual system. This specification tries to define the bare drive characteristics, not system throughput, which
depends on the system and the application.
4.5.1 Drive ready time
Table 6: Drive ready time
Model
<10 seconds to Data Ops, <1 second to Interface Response
400/200/100 (GB)
4.5.2 SSD Command Overhead
Table 7: SSD Command Overhead
Model
400/200/100 (GB)
30 usec
4.5.3 SSD Response Time
Table 8: SSD Response time
Model
Typical (Sec)
Max (Sec)
400/200/100 (GB)
100 Micro Second
20 Milli Second
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
9
4.5.4 Data transfer speeds (Drive can sustain performance up to these values)
SLC SAS
Single Port
SSD400S
Random Read IOPS
4KB, 4K-aligned, QD=1
4KB, 4K-aligned, QD=4
4KB, 4K-aligned, QD=32
8KB, 4K-aligned, QD=1
8KB, 4K-aligned, QD=4
8KB, 4K-aligned, QD=32
8K
28K
46K
7K
22K
35K
4KB, 4K-aligned, QD=1
4KB, 4K-aligned, QD=4
4KB, 4K-aligned, QD=32
8KB, 4K-aligned, QD=1
8KB, 4K-aligned, QD=4
8KB, 4K-aligned, QD=32
11K
21K
25K
8K
15K
17K
Random Write IOPS
Random 70/30% Read/Write IOPS
4KB, 4K-aligned, QD=1
4KB, 4K-aligned, QD=4
4KB, 4K-aligned, QD-32
8KB, 4K-aligned, QD=1
8KB, 4K-aligned, QD=4
8KB, 4K-aligned, QD=32
9K
22K
38K
7K
16K
24K
Sequential Read Data Transfer Rate (MB/s)
64KB, 4K-aligned, QD=8
530
Sequential Write Data Transfer Rate (MB/s)
64KB, 4K-aligned, QD=8
500
Notes:
Drive performance varies with model capacity and actual drive use.
For this table, '1 MB / Sec' should be interpreted as 1024X1024 bytes per Second
4.5.5 Random writes over the life of the drive
Model
100 GB
200 GB
400GB
Worst Case (PB)
11
21.6
41.3
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
10
5.0 Data Integrity
The SSD employs a fail-safe write cache that insures customer data is committed to the media in the event of a power loss.
This fail-safe write cache cannot be disabled. On a given write command, if all data has been received by the SSD and the
RESPONSE frame has been sent to the Initiator with good status, it is guaranteed that all write data will be committed to the
media in the event of a power loss. If the RESPONSE frame was not sent and some (or all) of the data was received by the
SSD, some (or all) of the data may be committed to the media in the event of a power loss. In this case, it is guaranteed that all
affected blocks will be readable without error, but not all blocks may return the newly written data.
5.1 Equipment Status
Equipment status is available to the host system any time the drive is not ready to READ or WRITE. This status normally
exists at power-on time and will be maintained until the following conditions are satisfied:
•
Self-check of drive is complete
Appropriate error status is made available to the host system if any of the following conditions occur after the drive has
become ready:
•
SMART error is detected
5.2 Error Recovery Procedure
Errors occurring with the drive are handled by the error recovery procedure.
Errors that are uncorrectable after application of the error recovery procedures are reported to the host system as non-recoverable errors.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
11
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
12
6.0 Electrical Interface
6.1 SAS Connector
The drive uses the standard 29 pin Serial Attached SCSI (SAS) connector which conforms to the mechanical requirements of
SFF 8482. The connector is expected to be used in an environment which uses a common connector structure for racking
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.
6.1.1 29 pin Serial Attached SCSI (SAS) Connector Definition
Diagram of top and bottom of connector showing pinouts.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
13
Table 9: 29-pin Connector Signal Definition
Pin Number
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
Receive (negative) signal
S13
TS+
SAS Secondary Port
Receive (positive) signal
S14
GND
GND for SAS Secondary
Port
P1
+3.3V
NOT USED (Pins P1-P3
tied internally)
P2
+3.3V
NOT USED (Pins P1-P3
tied internally)
P3
+3.3V
NOT USED (Pins P1-P3
tied internally)
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
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
14
Pin Number
Signal
Description
P12
GND
GROUND
P13
+12V=Charge
Pre-charge pin for +12V
P14
+12V
+12V power supply input
P15
+12V
+12V power supply input
6.1.2 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.
6.1.3 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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
15
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
16
7.0 Environment
7.1 Temperature and humidity
Table 10: Operating and non-operating conditions
Operating conditions
Ambient Temperature
0°C to 60ºC
Relative humidity
5 to 90%, non-condensing
Maximum wet bulb temperature
29.4ºC, non-condensing
Maximum surface temperature gradient
20 ºC/hour
Altitude
-305 to 3,048 m
Shipping conditions
Ambient Temperature
-55°C to 95ºC
Relative humidity
5 to 95%, non-condensing
Maximum wet bulb temperature
35ºC, non-condensing
Maximum surface temperature gradient
30ºC/hour
Altitude
-305 to 12,192 m
Storage conditions
Ambient Temperature
0°C to 60ºC
Relative humidity
5 to 95%, non-condensing
Maximum wet bulb temperature
35ºC, non-condensing
Altitude
-305 to 12,192 m
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
17
7.2 Storage requirements
7.2.1 Packaging
The drive or option kit is shipped in a sealed ESD bag by HGST.
7.2.2 Storage time
Cumulative storage time in the package must not exceed one year.
After the drive is unpackaged, it must not remain inoperative for longer than six months.
7.3 Corrosion test
The SSD shows no signs of corrosion inside or outside of the drive assembly and remains functional after being exposed to a
temperature of 50ºC and relative humidity of 90% for seven days.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
18
7.4 Cooling requirements
Drive component temperatures must remain within the limits specified in the following table. Maximum component temperature ratings must not be exceeded under any operating condition. The drive may require forced air cooling to meet the specified, maximum operating temperatures.
Table 11: Maximum allowable surface temperatures
Module name
SDD base
Location
as noted in picture
Maximum allowable surface temperature
70ºC
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
19
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
20
8.0 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.
Table 12: Input Voltage and Capacitance
Supply
Tolerance
Absolute Max
Spike Voltage
Supply Rise Time
Capacitance
5V
+/- 5%
5.5 V
0-200 ms
47 uF
12 V
+/- 5%
15 V
0-400 ms
47 uF
8.1 Power Supply Current, Average and Peak
The following current and power requirements are typical when operating under the following conditions: Nominal 5 and 12V.
SAS 100G
Idle (mean)
Idle (max)
standby (mean)
standby (max)
start up (max)
4k QD32 ranrw 70/30 Iometer (mean) 4k QD32 ranrw 70/30 Iometer (max) seqw Iometer (64K QD32) (mean) seqw Iometer (64K QD32) (max) seqr Iometer (64K QD32 ) (mean) seqr Iometer (64K QD32) (max) 12V (A)
0.03
0.06
0.03
0.06
5V (A)
0.23
0.29
0.23
0.27
0.57
0.07
0.38
0.17
0.39
0.07
0.19
0.62
0.33
0.57
0.39
0.58
0.36
0.57
SAS 200G
Idle (mean)
Idle (max)
standby (mean)
standby (max)
start up (max)
4k QD32 ranrw 70/30 Iometer (mean) 4k QD32 ranrw 70/30 Iometer (max) seqw Iometer (64K QD32) (mean) seqw Iometer (64K QD32) (max) seqr Iometer (64K QD32 ) (mean) seqr Iometer (64K QD32) (max) 12V (A)
0.03
0.07
0.03
0.07
5V (A)
0.23
0.28
0.23
0.28
0.58
0.07
0.27
0.17
0.40
0.08
0.10
0.63
0.37
0.67
0.46
0.69
0.42
0.58
Power (W)
1.5
Performance
NA
1.5
NA
NA
2.5
34000 IOPS
4.0
480 MB/s
2.7
510 MB/s
Power (W)
1.5
Performance
NA
1.5
NA
NA
2.7
36000 IOPS
4.3
480 MB/s
3.0
510 MB/s
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
21
SAS 400G
Idle (mean)
Idle (max)
standby (mean)
standby (max)
start up (max)
4k QD32 ranrw 70/30 Iometer (mean) 4k QD32 ranrw 70/30 Iometer (max) seqw Iometer (64K QD32) (mean) seqw Iometer (64K QD32) (max) seqr Iometer (64K QD32 ) (mean) seqr Iometer (64K QD32) (max) 12V (A)
0.03
0.06
0.03
0.05
5V (A)
0.23
0.26
0.23
0.25
Power (W)
1.5
Performance
NA
1.5
NA
NA
0.61
0.07
0.40
0.17
0.64
0.08
0.10
0.81
0.37
0.67
0.47
0.77
0.42
0.60
2.7
39000 IOPS
4.4
490 MB/s
3.0
510 MB/s
8.2 Ripple Voltage
Table 13: Power Supply Generated Ripple at Drive Power Connector
Maximum (mV pp)
MHz
+5 V DC
250
0-10
+12 V DC
250
0-10
During drive start up, 12 volt ripple is generated by the drive (referred to as dynamic loading). If the power of several drives is
daisy chained, the power supply ripple plus other drive dynamic loading must remain within the regulation tolerance of +5%.
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 drive's performance, the drive must be held by four screws in a
user system frame that has no electrical level difference at the four screw positions. The drive enclosure must not be used in
the current return path of the drive power supply. The maximum common-mode noise current passing through the drive must
not exceed 20 mA.
8.3 Power Consumption Efficiency Index
Table 14: Power Consumption Efficiency Index
Model
400 GB Model
200 GB Model
100 GB Model
0.00385
0.0077
0.0154
Power Consumption Efficiency Index -Idle Mode (W/GB)
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
22
9.0 Reliability
9.1 Data Reliability
•
22 bit correction per sector
•
Offline full sector recovery through XOR for every N sectors (100G, N = 68: 200G, N = 136: 400G, N = 134)
•
LBA seeded 32 bit CRC for ECC miscorrect detection
•
Probability of uncorrectable data error is 1 in 1x10^16 bits read
9.2 Failure prediction (S.M.A.R.T)
A recoverable equipment error is an error other than a read error that is detected and corrected by the drive error recovery procedure. Examples are Drive Not Ready and internal drive errors.
SMART Monitoring Parameters are checked predict drive failure conditions before they occur. The primary parameters monitored for the SSD include:
1. Remaining Reserves: Ensures that the remaining spare erase blocks are at a sufficient level to guarantee proper operation
of device.
2. Volatile Memory Backup: Self tests measure the capacitance of the power loss imminent circuitry to guarantee drive is
able to commit data to media during unsafe power loss operations.
3. Wear Indicator: Endurance tracking mechanism based on maximum number of NAND erase operations performed on any
band over the life of the device.
See “Log Sense Page 2F” on page 106 for tracking percentage of failure threshold for these parameters.
Non-recoverable equipment errors indicate a defective drive.
9.3 MTBF (Mean Time Between Failure):
2M hours.
This MTBF target is based on a sample population and is estimated by statistical measurements and acceleration algorithms
under nominal operating conditions. MTBF ratings are not intended to predict an individual drive’s reliability. MTBF does not
constitute a warranty.
9.4 Preventive Maintenance
None.
9.5 Temperature Warning
Temperature Warning is enabled by setting the EWASC (Enable Warning Additional Sense Code) bit to 1 and setting DEXCPT (Disable Exception Control) bit to 0 in Mode Page 1C. For mode page settings, refer to Section “Mode Page 1C (Informational Exceptions Control)” on page 138. The warning is issued as sense data (Sense Key 01h, Code 0Bh, Qual 01h).
The drive temperature is reported in Log Sense page 2F. Refer to Section “Log Sense Page 2F” on page 106.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
23
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
24
10.0 Mechanical Specifications
10.1 Outline
10.2 Mechanical Dimensions
Table 15: Physical Dimensions
Height [mm]
15.00 + 0.00 / - 0.50
Width [mm]
69.85 ± 0.25
Length (base) [mm]
100.30 ± 0.15
Length (including connector) [mm]
100.60 ± 0.7
Weight [grams - maximum]
400 GB Model
200 GB Model
100 GB Model
209 grams
206 grams
222 grams
Note: Drive label image above for reference only. Actual labels may vary.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
25
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
26
10.3 Mounting Positions and Tappings
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
27
10.4 Interface Connector
The interface conforms to the specification SFF-8223, 2.5 Drive Form Factor with Serial Connector.
10.5 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.
The recommended mounting screw torque is 0.45 Nm (4.5 Kgf-cm). The recommended mounting screw depth is 2.5 mm maximum for bottom and 3.0 mm maximum for horizontal mounting.
Drive level vibration tests and shock tests are to be conducted with the drive mounted to a table using the bottom four screws.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
28
11.0 Acoustics, Vibration and Shock
11.1 Acoustics
All SSD models have no acoustics, (0 bels).
11.2 Operating Vibration
11.2.1 Random Vibration
The drive is designed to operate without unrecoverable errors while being subjected to the vibration levels as defined below.
The assessments are carried out during 30 minutes of random vibration using the power spectral density (PSD) levels as follows.
No Errors:
Note:
2.17 G RMS, 5-700 Hz, flat PSD profile for each of the three mutually perpendicular axes.
The specified levels are measured at the mounting points.
11.2.2 Swept Sine Vibration
The drive will meet the criterion while operating in the respective conditions as described below.
No errors:
2.17 G RMS, 5-700 Hz.
11.3 Non-operating Vibrations
The drive will not sustain permanent damage or loss of recorded data after being subjected to the environments as described
below.
11.3.1 Random Vibration
The test consists of a random vibration applied for each of the three mutually perpendicular axes. A time duration of ten minutes per axis.
3.13 G RMS, 5-800 Hz, flat PSD profile.
11.3.2 Swept Sine Vibration
The test consists of a swept sine vibration applied for each of the three mutually perpendicular axes.
3.13 G RMS, 10-800 Hz
11.4 Operating shock
The drive will meet the criterion while operating in the respective conditions as described below.
No data loss:
1000G, @0.5 ms duration, half sinewave shock pulse
500G, @ 2 ms duration, half sinewave shock pulse
The shock pulses of each level are applied to the drive, ten pulses for each direction and for all three mutually perpendicular
axes. There must be a minimum of thirty seconds delay between shock pulses. The input level is applied to a base plate where
the drive is attached using four mounting screws.
11.5 Non-operating shock
The drive will not sustain permanent damage or loss of recorded data after being subjected to the environments as described
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
29
below.
11.5.1 Half sinewave shock pulse
100 G, 11 ms duration, half sinewave pulse
500 G, 2 ms duration, half sine wave pulse
1000 G, 0.5 ms duration, half sinewave pulse
The shocks are applied in each direction of the drive for the three mutually perpendicular axes, one axis at a time. The input
level is applied to a base plate where the drive is attached using four mounting screws.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
30
12.0 Identification
12.1 Labels
The following labels are affixed to every drive shipped from the drive manufacturing location in accordance with appropriate
drive assembly drawing:
•
A label containing HGST, a Western Digital Company logo, HGST part number and the statement “Made by HGST,”
or HGST approved equivalent.
•
A label containing drive model number, manufacturing date, formatted capacity, country of origin or HGST approved
equivalent and UL, C-UL, TUV, CE, MIC, BSMI,CTICK, RoHS and Recycle logos.
•
A bar code label containing the drive serial number.
•
A user designed label, per agreement
•
Interface definition mark, SAS-2 Model
The labels may be integrated with other labels. Label images below are for reference only. Actual labels may vary.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
31
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
32
13.0 Electromagnetic Compatibility
The drive, when installed in a suitable enclosure and exercised with a random accessing routine at a maximum data rate will
comply with the worldwide EMC requirements listed below.
The drive is designed for system integration and installation into a suitable enclosure for use. As such, the drive is supplied as
a subassembly and is not subject to Subpart B of Part 15 of the FCC Rules and Regulations.
The design of the drive serves to minimize radiated emissions when installed in an enclosure that provides reasonable shielding. As such, the drive is capable of meeting FCC Class B limits. However, it is the users responsibility to assure that the drive
meets the appropriate EMC requirements in their system. Shielded I/O cables may be required if the enclosure does not provide adequate shielding, with the shields grounded to the enclosure and to the host computer.
Radiated and Conducted EMI
CISPR22
Class B
AS/NZS CISPR22
Class B
CNS13438 (Taiwan)
Class B
EN55022 (EU)
Class B
FCC Title47 Part 15 (USA)
Class B
GB9254 (China)
Class B
ICES-003, Issue 4
Class B
VCCI (Japan)
Class B
ITE Immunity
EN55024
Power Line Harmonics
EN61000-3-2 (EU)
GB17625.1 (China)
Voltage Fluctuations and Flicker
EN61000-3-3 (EU)
GB17625.2 (China)
13.1 Class B Regulatory Notices
European Union
This product is in conformity with the protection requirements of EU Council Directive 2004/108/EC on the approximation of
the laws of the Member States relating to electromagnetic compatibility. Conformity is based on compliance to the following
harmonized standards:
•
EN 55022: 2006 + A1:2007 (Class B)
•
EN 55024: 1998 +A1:2001 +A2:2003
•
EN 61000-3-2: 2006
• EN 61000-3-3:1995 + Al:2001 + A2:2005
This product is also in conformity with the protection requirements of EU Council Directive 2006/95/EC on the harmonization
of the laws of the Member States relating to electrical equipment designed for use within certain voltage limits. Conformity is
based on compliance to the following harmonized standards:
•
EN 60950-1:2006 with Am. 11, Second Edition
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
33
•
IEC 60950-1:2005, Second Edition
•
UL 60950-1, Second Edition, 2007-03-27
•
CSA C22.2 No. 60950-1-07, Second Edition, 2007-03
HGST cannot accept responsibility for any failure to satisfy the protection requirements resulting from a non-recommended
modification of the product, including the fitting of non-HGST option cards.
This product has been tested and found to comply with the limits for Class B Information Technology Equipment according to
European Standard EN 55022. The limits for Class B equipment were derived for typical residential environments to provide
reasonable protection against interference with licensed communication devices.
Canada
This Class B digital apparatus complies with Canadian ICES-003.
Cet appareil numérique de la classe B est conforme à la norme NMB-003 du Canada.
Germany
Deutschsprachiger EU Hinweis:
Hinweis für Geräte der Klasse B EU-Richtlinie zur Elektromagnetischen Verträglichkeit Dieses Produkt entspricht den Schutzanforderungen der EU-Richtlinie 89/336/EWG zur Angleichung der Rechtsvorschriften über die elektromagnetische Verträglichkeit in den EU-Mitgliedsstaaten. und hält die Grenzwerte der EN 55022 Klasse B ein. Um dieses sicherzustellen, sind
die Geräte wie in den Handbüchern beschrieben zu installieren und zu betreiben. Des Weiteren dürfen auch nur von der HGST
empfohlene Kabel angeschlossen werden. HGST übernimmt keine Verantwortung für die Einhaltung der Schutzanforderungen, wenn das Produkt ohne Zustimmung der HGST verändert bzw. wenn Erweiterungskomponenten von Fremdherstellern
ohne Empfehlung der HGST gesteckt/eingebaut werden.
Deutschland: Einhaltung des Gesetzes über die elektromagnetische Verträglichkeit von Geräten
Dieses Produkt entspricht dem “Gesetz über die elektromagnetische Verträglichkeit von Geräten (EMVG)”. Dies ist die
Umsetzung der EU-Richtlinie 89/336/EWG in der Bundesrepublik Deutschland.
Zulassungsbescheinigung laut dem Deutschen Gesetz über die elektromagneti-sche Verträglichkeit von Geräten (EMVG) vom
18. September 1998 (bzw. der EMC EG Richtlinie 89/336) für Geräte der Klasse B Dieses Gerät ist berechtigt, in Übereinstimmung mit dem Deutschen EMVG das EG-Konformitätszeichen - CE - zu führen. Verantwortlich für die Konformitätserklärung nach Paragraf 5 des EMVG ist die HGST, a Western Digital Company, 3403 Yerba Buena Road
San Jose, CA 95135. Informational in Hinsicht EMVG Paragraf 4 Abs. (1) 4:
Das Gerät erfüllt die Schutzanforderungen nach EN 55024 und EN 55022 Klasse B.
Korea (MIC)
Taiwan (BSMI)
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
34
14.0 Standards
The following shows the safety standards for different countries.
14.1 UL and C-UL Standard Conformity
The drive is certified under the following safety standards for use in Information Technology Equipment, including Electrical
Business Equipment:
EN 60950-1:2006 with Am. 11, Second Edition, Europe
IEC 60950-1:2005, Second Edition, International
UL 60950-1, Second Edition, 2007-03-27, USA
CSA C22.2 No. 60950-1-07, Second Edition, 2007-03, Canada
The UL recognition, or the C-UL certification, is maintained for the duration of the product manufacturing life cycle. The UL
and C-UL recognition marks appear on the drive label.
14.2 European Standards Compliance
This product is certified to the EN 60950-1:2006 with Am. 11, Second Edition safety standard for Europe.
14.3 German Safety Mark
The product is certified by TUV to meet EN 60950-1:2006 with Am. 11, Second Edition safety standard under the Bauart
Mark.
14.4 Flammability
The printed wiring boards, and connectors used in this drive meet or exceed the UL minimum flammability classifications
listed in the table below.
The flammability ratings are marked on the printed wiring boards and flex cables.
Component
Flammability Rating
Rigid Printed Wiring Board
Min. V-1
2.5" SAS Connector
Min. V-2
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
35
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
36
15.0 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.
15.1 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.
•
“Serial Attached SCSI - 2 (SAS-2)”
In addition, this drive claims compliance with the following ANSI standards.
•
SCSI Architecture Model (SAM-3)
•
SCSI Block Commands (SBC2)
15.2 SAS Features
The following SAS features are supported by the Drive.
• SAS Compliance
- “Serial Attached SCSI - 2 (SAS-2)”
• SAS Protocol
- This drive supports Serial Scsi Protocol (SSP).
- STP (Tunneled SATA) and SMP (Management protocol) protocols are
NOT supported.
• 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
- full duplex and dual port DMA data/data operations
- Maximum outstanding credit of four per port
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
37
• Physical Link Rates
- G1 (1.5 Gbps), G2 (3.0 Gbps), and G3 (6.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
•Others...
- Connection Rate Matching
- Hard Reset primitive sequence detection and validation in hardware
- Support for NOTIFY (Enable Spin-up) and NOTIFY (Power Loss Expected)
- Hashed WWN validation in hardware
- extended CDB support
15.3 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.
Table 16: Names and identifiers
Object
SAS Implementation
Port Identifier
SAS address
Port Name
Not defined
Device Name
SAS address
Phy Identifier
Phy identifier
Where the SAS Address format is defined by ANSI as follows:
Byte/Bit
0
7
6
5
4
3
NAA (5h)
1
2
1
(MSB)
IEEE Company ID
2
3
(LSB)
(MSB)
4
5
6
Vendor Specific Identifier
7
(LSB)
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
38
0
The SAS Device Name is a unique SAS address world wide name. This device name is reported through the SCSI Vital Products Data.
Each of the two SAS ports also has a unique SAS address world wide 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 17.
Table 17: IEEE Registered Name format
Bit
63-60
59-36
35-24
23-2
1-0
0101
OUI in Canonical Form
Block Assignment
S/N
Object
The Name Address Authority field (5h) specifies the format used for the rest of the name as follows:
Field
OUI
Block Assignment
Object
Description
Organizationally Unique Identifier (24 bits). Canonical form means that each
byte is stored in “bit reversed” order.
Block assignment within HGST, a Western Digital Company
Device Name/Port Identifier
00b
Device
01b
Port 1
10b
Port 2
11b
Not assigned
Sequentially increasing drive serial number assigned at manufacturing.
S/N
15.4 PHY Layer
The Phy layer defines 8b10b coding 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, SAS 1.1.
15.4.1 Link Reset Sequence
The Link Reset Sequences for SAS are defined in the SAS 2 2ANSI specification and shown below. As show in the diagram, a
Phy Reset sequence, consists of an OOB sequence, followed by speed negotiations. 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 will be followed by Phy Reset/Identification sequences.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
39
Time
SAS
Link Reset sequence
Phy Reset sequence
OOB sequence
Identification sequence
Speed Negotiation
sequence
SAS w/Hard Reset
Time
Link Reset Sequence with hard Reset
Phy Reset sequence
Phy Reset sequence
Hard Reset Sequence
Identification sequence
15.4.2 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.
15.4.3 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 SAS 2 specification for more details.
The drive will initiate OOB by sending COMINITs, under the following conditions:
• POR
• loss of sync
• Identify timeout
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
40
15.4.4 SAS Speed Negotiation
The Drive supports G1 (1.5 Gbps), G2 (3.0 Gbps), and G3 (6.0 Gbps) negotiation speeds. The default maximum negotiation
rate is G3 speed (per byte 32 in the Phy Control and Discover Mode Page 19 subpage 1). Drive is SAS2 device and supports
SNW-1, SNW-2, SNW-3 speed negotiation with Phy capabilities exchange, and training (Train-SNW). Phy capabilities is
defined in table below:
Phy Capabilities:
Byte /Bit
7
6
0
Start =1b
TX SSC
Type = 0b
1
G1 Without G1 With
SSC=1b SSC=1b
5
4
Reserved
G2 Without
SSC=1b
•
•
•
•
•
•
•
•
1
0
G2 With
SSC=1b
G3 Without
SSC=1b
G3 With
SSC=1b
Reserved
Reserved
Reserved
3
•
2
Requested Logical Link Rate = 0h
2
•
3
Parity
Start bit is 1 to indicate the beginning of the Phy capabilities
TX SSC Type bit is set to 1 to indicate that Phy’s transmitter uses center-spreading SSC when SSC is enabled.
A TX SSC TYPE bit set to 0 indicates that Phy’s transmitter uses down-spreading SSC when SSC is enabled.
Request Logical Link Rate field is 0 to indicate that drive does not support multiplexing
G1 Without SSC bit set to 1 indicates that drive supports G1(1.5 Gbps) without SSC
G2 Without SSC bit set to 1 indicates that drive supports G2(3.0 Gbps) without SSC
G3 Without SSC bit set to 1 indicates that drive supports G3(6.0 Gbps) without SSC
G1 With SSC bit set to 1 indicates that drive supports G1(1.5 Gbps) with SSC
G2 With SSC bit set to 1 indicates that drive supports G2(3.0 Gbps) with SSC
G3 With SSC bit set to 1 indicates that drive supports G3(6.0 Gbps) with SSC
Parity bit is set to 1 for even parity of the total number of SNW-3 phy capabilities, including Start bit.
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 18 defines the priority of
the supported settings bits.
Table 18: Supported Settings Bit Priorities
Priority
Bit
Highest
G3 With SSC bit
...
G3 Without SSC bit
...
G2 With SSC bit
...
G2 Without SSC bit
...
G1 With SSC bit
Lowest
G3 Without SSC bit
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
41
15.4.5 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 Errors
If speed negotiation fails with no match, or if the drive fails retrying the matched
link rate, 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 DWORD
Error
If a disparity error or an invalid DWORD is detected by the drive, the Invalid
DWORD Count is incremented (Log Page 0x18). The Running Disparity Error
Count in Log Page 0x18 is not used
15.5 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, SAS 1.1.
15.5.1 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:
Table 19: Address Frame Format
Byte
Bit
7
0
6
Rsvd
5
4
3
Device Type
2
1
Address Frame Type
1-27
Frame Type Dependent bytes
28-31
CRC
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
42
0
•The ADDRESS FRAME TYPE field indicates the type of address frame and is defined in table 20. This field determines
the definition of the frame type dependent bytes.
Table 20: Frame type:
Value
Address Frame Type Description
0000b
IDENTIFY: Identification Sequence
0001b
OPEN: Connection Request
Others
RESERVED
15.5.1.1 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 Idenfity Address Frame format is defined as follows:
Table 21: Identify Address Frame
Byte
Bit
7
0
5
4
3
2
Device Type = 1
1
0
Address Frame Type = 0
1
Reserved
2
Reserved
SSP
Initiator
Port=0b
STP
Initiator
Port=0b
SMP
Initiator
Port=0b
Rsvd
3
Reserved
SSP
Target
Port=1b
STP
Target
Port=0b
SMP
Target
Port=0b
Rsvd
Reason
4-11
Device Name
12-19
SAS Address
20
PHY Identifier
21
•
•
•
•
•
•
•
•
•
Rsvd
6
Requested Break_Reply
Inside
Capable=1b
ZPSDS Per- Inside
sistent=0b
ZPSDS=0b
Reserved
22-27
Reserved
28-31
CRC
Device Type: set to 001b to indicate that this drive is an “End Device”.
Address Frame Type: set to 00b to indicate that this is an IDENTIFY.
Reason: field indicates the reason for link reset sequence as defined in Table 22 on page 44
Initiator Port bits: set to 000b since this device is a target device only
Target Port bits: set to 100b since this device is a SSP target device only
Device Name: field contains Target Device Identifier
SAS ADDRESS: field contains the port identifier of the SAS port transmitting this frame.
PHY Identifier: field contains the PHY identifier of the PHY transmitting this frame.
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
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
43
•
•
Requested Inside ZPSDS: set to 0b since this is an “End Device”
Inside ZPSDS Persistent: set to 0b since this is an “End Device”
Table 22: Reason field
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
15.5.1.2 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:
Byte
Bit
7
0
1
•
•
•
•
•
•
•
•
6
Initiator
Port=0
5
4
3
Protocol = 1
2
1
0
Address Frame Type = 1
Features = 0
Connection Rate = 8h or 9h or Ah
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
Initiator Port: This bit is set to zero when the Drive is the source port acting as a SAS target.
Protocol: this field is set to 001b to indicate SSP Protocol.
Features: this field is set to zero and ignored by the Drive per SAS 1.1.
Connection Rate: field should be set to 8h (1.5Gbps) or 9h (3Gbps) or Ah (6Gbps), 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: The Drive will set this value to the last value received from this Initiator.
Destination SAS Address: field contains the port identifier of the SAS port to which a connection is being requested.
Source SAS Address: field contains the port identifier on the port that originated this frame (i.e. the drive’s port address).
Source Zone Group: This field is set to zero and ignored by the Drive per SAS 2.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
44
•
•
•
Pathway Blocked Count: this field indicates the number of times the port has retried this connection request due to
receiving OPEN_REJECT (PATHWAY BLOCKED). The Drive willl not increment the PATHWAY BLOCKED COUNT
value past FFh.
Arbitration Wait Time: this field 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: this field is set to zero and ignored by the Drive per SAS 1.1.
15.5.2 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 Timeout If a NAK is received on a RESPONSE frame, the RESPONSE frame is retransmitted with 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 – Retryable Variations
• OPEN_REJECT(RETRY) - Will be retried indefinitely by the drive. This
case is considered to be occur when the initiator is temporarily not available
to accept connections (for example when it is not able to extend R-Rdy
credit at this time due to lack of buffers...), so the initiator will ask us to
keep “RETRY”-ing, until it becomes available at a later time. Thus, we
don't consider this an error condition, but part of normal behavior for the
initiator.
• OPEN_REJECT(RATE_NOT_SUPPORTED) – If this occurs, it must
mean that a link between the drive and initiator renegotiated to a lower link
rate after the command was received. In this case, we retry in a new connection at 1.5Gbps. If this error is received for a 1.5Gbps connection, the command is internally aborted.
OPEN_REJECT – (PATHWAY_BLOCKED)
• OPEN_REJECT(BAD_DESTINATION),
OPEN_REJECT(WRONG_DESTINATION),
OPEN_REJECT(PROTOCOL_NOT_SUPPORTED) – If these
OPEN_REJECTs are received, we internally abort the command.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
45
Credit Timeout
If credit is not received before the credit timer expires,
DONE(CREDIT_TIMEOUT) is sent to the Initiator.
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 Checking
OPEN Response Timeout
Reserved fields in the OPEN frame are not checked.
• 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.
If AIP or OPEN_ACCEPT is not received before the OPEN Response timer
expires, the 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.
\
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
46
15.6 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, SAS 1.1.
The transport layer defines the frame format as follows.
Table 23: SAS Frame Format
Byte
Bit
7
6
5
4
3
2
0
Frame Type
1-3
Hashed Destination Address
4
Reserved
5-7
Hashed Source Address
8-9
Reserved
10
Reserved
11
1
0
TLR Control = 00b Retry Data Retransmit
Frames =0b
Reserved
Rsvd
# 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
• 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
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
47
• The HASHED DESTINATION SAS ADDRESS field contains the hashed value of the destination SAS address.
• The HASHED SOURCE SAS ADDRESS field contains the hashed value of the source SAS address.
•The TLR CONTROL field is not supported
•The RETRY DATA FRAMES is not supported
•The CHANGING DATA POINTER is not supported
• The NUMBER OF FILL BYTES field 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 FILL BYTES field shall be set to zero for all frame types except DATA frames
•. The TAG field contains a value that allows the SSP port to establish a context for commands and task management functions.
• The TARGET PORT TRANSFER TAG field is set and used by the drive. The initiator should echo this field in outbound data IU.
• The INFORMATION UNIT field 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.
15.6.1 Command Information Unit
The COMMAND frame is sent by an SSP initiator port to request that a command be processed by the drive.
Table 24: COMMAND Information Unit
Byte
Bit
7
6
5
4
3
0-7
Logical Unit Number
8
Reserved
9
Disable
first
burst=0
1
0
Task
Attribute
Reserved
10
2
Reserved
11
Additional CDB Length (in Dwords)
12-27
CDB
28-n
Additional CDB Bytes
Rsvd
• The LOGICAL UNIT NUMBER field contains the address of the logical unit. The drive only supports a LUN of 0’s.
• A DISABLE FIRST BURST bit is not supported by the drive
• The TASK ATTRIBUTE field is defined as follows:
Value
Attribute
000b
Simple_Q
001b
Head_of_Q
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
48
010b
Ordered_Q
100b
ACA_Q (not supported)
101b
Reserved
• The ADDITIONAL CDB LENGTH field contains the length in dwords (four bytes) of the ADDITIONAL CDB field.
• The CDB and ADDITIONAL CDB BYTES fields together contain the CDB.
15.6.2 TASK Information Units
Table 25: TASK Information Unit
Byte
Bit
7
6
5
4
3
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
2
1
0
• The LOGICAL UNIT NUMBER field contains the address of the logical unit. The drive only supports a LUN of 0’s.
• The 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.
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
49
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.
• 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 26.
Table 26: Additional Response Information argument for Query Async Event
Byte
Bit
7
0
6
RESERVED
5
4
3
UADE DEPTH
2
1
0
SENSE KEY
1
ADDITIONAL SENSE CODE
2
ADDITIONAL SENSE CODE QUALIFIER
The UADE DEPTH is the number of pending unit attention conditions or deferred errors. It is defined as in table Table 27:
The SENSE KEY field is the value of the SENSE KEY field in the highest-priority pending unit attention condition or
deferred error.
The ADDITIONAL SENSE CODE field is the value of the ADDITIONAL SENSE CODE field in the highest-priority pending unit attention condition or deferred error.
The ADDITIONAL SENSE CODE QUALIFIER field is the value of the ADDITIONAL SENSE CODE QUALIFIER field in
the highest-priority pending unit attention condition or deferred error
Table 27: UADE DEPTH field
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
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
50
15.6.3 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.
Table 28: XFER_RDY Information Unit
Byte
Bit
7
6
5
4
3
0-3
REQUESTED OFFSET
4-7
WRITE DATA LENGTH
8 - 11
RESERVED
2
1
0
•The REQUESTED OFFSET field 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.
•The WRITE DATA LENGTH field contains the number of bytes of write data the Initiator may transmit to the Drive
(using DATA frames) from the requested offset.
15.6.4 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).
Table 29: DATA Information Unit
Byte
Bit
7
6
5
4
3
0 - (n-1)
2
1
0
DATA
15.6.5 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).
Table 30: Response Information Unit
Byte
Bit
7
6
0-7
8-9
10
5
4
3
2
1
0
RESERVED
MSB
RETRY DELAY TIMER
RESERVED
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
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
51
LSB
DataPres
•The RETRY DELAY TIMER field contains the retry delay timer code which is defined as follows:
Status Code
Retry Delay Timer Code
Description
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
0001h-FFEFh
Initiator should wait before sending another command
to the Drive until:
BUSY
QUEUE FULL
a) At least the number of 100 milliseconds increments
indicated in the RETRY DELAY TIMER CODE field
have elapse; or
b) A command addressed to the Drive completes.
FFF0h-FFFFh
RESERVED
GOOD
0000h-FFFFh
RESERVED
CHECK CONDITION
0000h-FFFFh
RESERVED
CONDITION MET
0000h-FFFFh
RESERVED
RESERVATIONCONFLICT
0000h-FFFFh
RESERVED
ACA ACTIVE
0000h-FFFFh
RESERVED
TASK ABORT
0000h-FFFFh
RESERVED
•The DATAPRES field, which 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
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
52
Table 31: RESPONSE DATA
Byte
Bit
7
6
5
4
3
0-2
RESERVED
3
RESPONSE CODE
2
1
0
• 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
15.6.6 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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
53
Initiator
Initiator
Target
Target
Command IU
Command IU
Xfr_Rdy IU
Data IU (s)
Data IU (s)
Response IU
Response IU
Time
Read Type Command
IU Sequence
Time
Time
Write Type Command
IU Sequence
Time
Figure 1: SSP Information Unit Sequences
15.6.7 Transport Layer Error Handling
This section defines the Transport layer error handling by the drive.
Error
Error Handling Procedure
SSP Header Field Checking
Reserved fields in SSP frames are not checked.
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 Timeout
If a connection cannot be established to an initiator before the I_T NEXUS
LOSS timer 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 Timeout
If DATA frames corresponding to an outstanding XFER_RDY frame are not
received 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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
54
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 Transfer Tag If a DATA frame is received and the TPTT is not set to the value used in the corresponding 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 Length
If a DATA frame is received with zero bytes of payload data, the frame is discarded. This is 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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
55
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
56
16.0 SCSI Command Set
Summaries of the SCSI commands supported by the drive are listed below. O = optional, M = mandatory
Table 32: SCSI Commands Supported
Type
M
M
O
O
O
O
O
O
O
O
O
M
M
O
O
O
O
M
O
O
O
O
O
O
M
O
O
O
Code
04h
12h
4Ch
4Dh
15h
55h
1Ah
5Ah
5Eh
5Fh
34h
08h
28h
A8h
88h
7Fh/09h
3Ch
25h
9Eh/10h
37h
B7h
3Eh
07h
1Ch
17h
57h
A3h/05h
A0h
O
A3h/0Ch
O
A3h/0Dh
M
M
O
O
M
O
O
O
O
03h
16h
56h
01h
1Dh
A4h/06h
1Bh
35h
91h
Description
FORMAT UNIT (04), page 60
INQUIRY (12), page 63
LOG SELECT (4C), page 78
LOG SENSE (4D), page 81
MODE SELECT (15), page 110
MODE SELECT (55), page 111
MODE SENSE (1A), page 112
MODE SENSE (5A), page 141
PERSISTENT RESERVE IN (5E), page 143
PERSISTENT RESERVE OUT (5F), page 146
PRE-FETCH (34), page 151
READ (6) - (08), page 152
READ (10) - (28), page 153
READ (12) - (A8), page 155
READ (16) - (88), page 156
READ (32) - (7F/09), page 157
READ BUFFER (3C), page 159
READ CAPACITY (10) - (25), page 163
READ CAPACITY (16) (9E/10), page 165
READ DEFECT DATA (37), page 167
READ DEFECT DATA (B7), page 170
READ LONG (3E), page 172
REASSIGN BLOCKS (07), page 173
RECEIVE DIAGNOSTICS RESULTS (1C), page 175
RELEASE (17), page 178
RELEASE (57), page 179
REPORT DEVICE IDENTIFIER (A3/05), page 180
REPORT LUNS (A0), page 182
REPORT SUPPORTED OPERATION CODES (A3/0C),
page 183
REPORT SUPPORTED TASK MANAGEMENT FUNCTIONS
(A3/0D), page 188
REQUEST SENSE (03), page 190
RESERVE (16), page 191
RESERVE (56), page 192
REZERO UNIT (01), page 193
SEND DIAGNOSTIC (1D), page 195
SET DEVICE IDENTIFIER (A4/06), page 202
START STOP UNIT (1B), page 203
SYNCHRONIZE CACHE (10) - (35), page 204
SYNCHRONIZE CACHE (16) - (91), page 205
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
57
M
O
O
O
O
M
M
O
O
O
O
O
O
O
O
O
O
O
O
00h
2Fh
AFh
AFh
7Fh/0Ah
0Ah
2Ah
AAh
8Ah
7Fh/0Bh
2Eh
AEh
8Eh
7Fh/0Ch
3Bh
3Fh
41h
93h
7Fh/0Dh
TEST UNIT READY (00), page 206
VERIFY (2F), page 207
VERIFY (12) - (AF), page 209
VERIFY (16) - (8F), page 210
WRITE (6) - (0A), page 213
WRITE (6) - (0A), page 213
WRITE (10) - (2A), page 214
WRITE (12) - (AA), page 216
WRITE (16) - (8A), page 217
WRITE (32) - (7F/0B), page 218
WRITE AND VERIFY (10) - (2E), page 220
WRITE AND VERIFY (12) - (AE), page 221
WRITE AND VERIFY (16) - (8E), page 222
WRITE AND VERIFY (32) - (7F/0C), page 223
WRITE BUFFER (3B), page 224
WRITE LONG (3F), page 227
WRITE SAME (41), page 229
WRITE SAME (16) - (93), page 230
WRITE SAME (32) - (7F/0D), page 231
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
58
16.1 SCSI Control Byte
The Control Byte is the last byte of every CDB. The format of this byte is shown below.
Table 33: SCSI Control Byte
BIT
7
6
5
VU = 0
4
3
2
Reserved = 0
1
0
FLAG
LINK
VU
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**
This bit 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.
16.2 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
16.3 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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
59
16.4 FORMAT UNIT (04)
Table 34: FORMAT UNIT (04)
Byte
BIT
7
6
5
0
4
3
2
1
0
Command Code = 04h
1
FMTPINFO
LONG
LIST=0
FMTDATA
CMPLIST
2
VU = 0
3-4
Obsolete = 0
5
VU = 0
Reserved = 0
Defect List Format
FLAG
LINK
• 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 is ignored.
• Defect List Format is ignored.
•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
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
60
16.4.1 Parameter List Header
Following is the format of the Parameter List Header sent during the data out phase when FmtData is set to one.
Table 35: Format of the Parameter List Header
Byte
BIT
7
6
5
Reserved = 0
4
3
2
1
0
0
Protection Field Usage
VendorFOV
DPRY
DCRT
STPF = 1
IP
Obsolete Immed
1
specific
2 -3
(MSB)Defect List Length
(LSB)
4-n
Initialization Pattern Descriptor
(n+1) - m
Defect Descriptor
• 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:
FMTPINFO Protection Field Usage
Description
00h
000h
The drive will be formatted to type 0 protection
Check Condition status will be returned with the sense key set to Illegal
01h
xxxh
Request 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
11h
001h
returned with the sense key set to Illegal Request and the additional
sense code set to Invalid Field in the Parameter List
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.
Byte
0... n
n... n+1
n+2... n+3
n+4... n+7
BIT
7
6
5
4
3
2
User Data
Logical Block Guard
Logical Block Application Tag
Logical Block Reference Tag
1
0
• 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 Guard field contains a CRC that covers the pre-
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
61
ceding user data. 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.
• DPRY (Disable Primary) bit set to zero disables error injection mode. A DPRY bit set to one enables error injection
mode.
• DCRT (Disable Certification) is ignored, Certification is not supported.
• STPF (Stop Format) is ignored.
• 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. The Initialization Pattern Descriptor provides a
means of enabling the Security Initialize option, which is not enabled by default. If anything in the Initialization Pattern Descriptor is not set as specified below, the command will be immediately terminated with Check Condition
status, sense key of Illegal Request, and additional sense code of Invalid Field in Parameter List.
Table 36: Initialization Pattern Descriptor:
Byte
0
1
2 -3
BIT
7
6
IP Modifier = 0
5
SI = 1
4
3
2
Reserved = 0
1
0
IP Type = 0
Initialization Pattern Length = 0
• IP Modifier must be set to 0, indicating that the drive will not modify the initialization pattern.
• SI (Security Initialize) bit must be set to one when an Initialization Pattern Descriptor is sent. This specifies that the
drive shall attempt to erase all locations that may contain customer data, including known defects.
• Initialization Pattern Type must be zero, indicating that the drive will use the default initialization pattern. All customer data will be initialized to zeroes.
• Initialization Pattern Length must be zero, as user-specified initialization patterns are not supported.
•DSP (Disable Saving Parameters) bit when zero indicates the target is to save all the current MODE SELECT saveable
parameters during the format operation. When the bit is one, the target is not to save the current MODE SELECT
saveable parameters.
• Immed (Immediate) bit set to zero requests that status be returned at the end of the format operation. An immediate bit
set to one 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 one, terminates in error, DEFERRED ERROR SENSE
data is generated.
•Defect List Length must be zero. A user-supplied defect list is not supported. 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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
62
16.5 INQUIRY (12)
Table 37: INQUIRY (12)
Byte
BIT
7
6
0
5
4
3
2
1
0
CmdDT=0
EVPD
FLAG
LINK
Operation Code = 12h
1
Reserved = 0
2
Page Code
3-4
Allocation Length
5
VU = 0
Reserved = 0
The INQUIRY command requests the parameters of the Target to be sent to the Initiator.
An EVPD An EVPD bit of one 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.
Table 38: Page Code descriptions
EVPD
PAGE
CODE
0
0
0
Non Zero
1
Non Zero The drive returns the vital product data of page code requested.
Description
The Target returns the standard INQUIRY data.
The drive returns Check Condition status with the sense key of Illegal Request and
the additional sense code of Invalid Field in CDB.
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 (without a FRU 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).
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
63
16.5.1 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 ASCII.
16.5.1.1 Inquiry Data Format - EVPD = 0, Page Code = 0
Table 39: Inquiry Data- EVPD = 0
Byte
BIT
7
0
1
6
5
4
Qualifier = 0
2
1
0
Peripheral Device Type = 0
RMB = 0
Reserved=0
2
3
3
Version = 6
Obsolete
Obsolete
Norm
HiSup = 1
ACA=0
4
Response Data Format = 2
Additional Length = 159 (9Fh)
5
SCCS=0
ACC=0
6
Obsolete EncSer = 1
7
Obsolete
TPGS=00b
Port
3PC=0
MultiP=1
Obsolete RSVD = 0 RSVD = 0
Reserved = 0
Obsolete
Obsolete
Protect=1
RSVD = 0
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
• Qualifier is set to zero 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 zero to indicate that the device is a Direct-Access Peripheral Device.
• Removal Media Bit (RMB) is always set to zero 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 one 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 two to indicate that the INQUIRY Data Format as specified in the ANSI SCSI version 2
is supported by the Target.
• Additional Length indicates the number of bytes of INQUIRY information that follows.
1.If an INVALID LUN is specified, a Check Condition status will be returned for all commands except INQUIRY and REQUEST SENSE.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
64
•SCCS bit of zero indicates that the device does not contain an embedded storage array controller component.
• ACC bit of zero indicates that no access controls coordinator may be addressed through this logical unit.
• TGPS field of zero indicates that the device does not support asymmetric logical unit access.
• 3PC bit of zero indicates that the device does not support third-party copy commands.
• Protect bit of one 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 one to indicate that the drive supports command queuing.
• Vendor ID is HGST padded with ASCII blanks.
• Product ID is specified in Section 
• Product Revision Level indicates the level of microcode.
• Unit Serial Number contains the drive serial number.
16.5.1.2 Inquiry Data Format - EVPD = 1 - Page Code = 00h
Table 40: Inquiry Data - EVPD = 1 (Page Code = 00h)
Byte
0
BIT
7
6
5
4
3
Qualifier = 0
2
1
0
Peripheral Device Type = 0
1
Page Code = 00h
2
Reserved = 0
3
Page Length = 0Ch
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
12
Supported Page Code = B0h
14
Supported Page Code =B1h
15
Supported Page Code = D2h
• Qualifier is set to zero to indicate that the LUN specified in the Command Block is currently supported.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
65
• Peripheral Device Type is set to zero 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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
66
16.5.1.3 Inquiry Data Format - EVPD = 1, Page Code - 03h
Table 41: Inquiry Data Table 42: (Page Code = 03h)
Byte
0
1
BIT
7
6
5
Qualifier = 0
4
3
2
1
0
Peripheral Device Type = 0
Page Code = 03h
2
Reserved = 0
3
Page Length = 204 (CCh)
4
ASCII Fields Length = 00h
5-7
Reserved = 0
8-23
Reserved = 0
24-35
ASCII uCode Identifier
36-39
Reserved = 0
40-41
Major Version
42-43
Minor Version
44-47
User Count
48-51
Build Number
52-79
Build Date String
80-81
Code ID
82-83
Compatibility ID
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-195
ASCII uCode revision
196-199
Context failure reason
200-203
South Assert Address
204-205
North Assert Code
206-207
Reserved
• Qualifier is set to zero to indicate that the LUN specified in the Command Block is currently supported.
• Peripheral Device Type is set to zero 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).
• Major Version and Minor Version are version numbers of the code loaded on the drive.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
67
• 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.
• Code ID is a binary value for firmware development tracking.
• Compatibility ID is a binary value for firmware development tracking.
• Product ID is the name of the product this code is for.
• Interface ID is the interface type and serial interface speed (e.g. SCSI or FCAL 4Gb) of the code.
• Code Type is the intended use of the this 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
1 = OM_DEGRADED
2 = OM_INACCESSIBLE
3 = OM_STARTING
5 = OM_NORMAL
7 = OM_STOPPED
8 = OM_Notify
We have detected a hardware failure or there was an error loading context.
We have a soft failure; i.e., incomplete format.
Drive is good.
Loading context.
Context is loaded and ready to read/write.
Drive has come ready but now has been stopped.
Drive is good but NOTIFY has not arrived (SAS).
• Functional Mode is the drive functional mode. The least significant byte (0x0000000n) contains the following:
0 = OM_NORMAL_MODE
Not in special or recovery mode.
1 = OM_SPECIAL_CMD
Special command mode on.
3 = OM_SPC_RSV_ACCESS
Special cmd mode and access to reserved area allowed.
5 = OM_SPC_SDWNLOAD
Special cmd mode and special download allowed.
7 = OM_SPC _ RACCESS_SDWNLD
Special cmd, access to reserved area, and special download allowed.
The second byte (0x000n0000) contains the following:
0 = Idle functions are not enabled.
1 = Idle functions are enabled.
• Degraded Reason (UECType) is why the file is in a degraded mode; i.e., how to exit this mode.
• 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 NAND.
- 3 = OM_TRANSIENT
Drive is running code that has been downloaded but not saved.
•ASCII uCode revision is the revision level of the media access firmware. This field is alphanumeric.
•Context failure reason is a qualifier when the broken reason indicates a damaged context.
• South Assert Address is used for debug of firmware asserts.
• North Assert Code is used for debug of firmware asserts.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
68
16.5.1.4 Inquiry Data Format - EVPD = 1, Page Code - 80h
Table 43: Inquiry Data - EVPD = 1 (Page Code = 80h)
Byte
0
BIT
7
6
5
Qualifier = 0
4
3
2
1
0
Peripheral Device Type = 0
1
Page Code = 80h
2
Reserved = 0
3
Page Length = 16 (10h)
4-19
Serial Number (ASCII)
• Qualifier is set to zero to indicate that the LUN specified in the Command Block is currently supported.
• Peripheral Device Type is set to zero 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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
69
16.5.1.5 Inquiry Data - EVPD = 1 (Page Code = 83h)
Table 44: Inquiry Data Format - EVPD = 1, (Page Code - 83h)
Byte
BIT
7
0
6
5
4
Qualifier = 0
3
Page Code = 83h
2
Reserved = 0
3
Page Length = 72 (48h)
5
Protocol Identifier = 0
PIV=0
RSVD
Association=0
Reserved = 0
7
Identifier Length = 8
(MSB)
Identifier Type = 3
LUNWorld Wide ID)
(LSB)
16
17
0
Code Set = 1
6
8-15
1
Peripheral Device Type = 0
1
4
2
Protocol Identifier
PIV=1
RSVD
Code Set = 1
Association = 1
18
Reserved = 0
19
Identifier Length = 8
Identifier Type = 3
(MSB)
20-27
Target Port Identifier (World Wide ID)
(LSB)
28
29
Protocol Identifier
PIV=1
RSVD
Code Set = 1
Association = 1
30
Reserved = 0
31
Identifier Length = 4
Identifier Type = 4
(MSB)
32-35
Relative Port Identifier
(LSB)
36
37
Protocol Identifier = 0
PIV=1
RSVD
Code Set = 1
Association = 2
38
Reserved = 0
39
Identifier Length = 8
Identifier Type = 3
(MSB)
40-47
Target Device Name Identifier (World Wide ID)
(LSB)
48
Protocol Identifier = 0
Code Set = 3
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
70
• 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 zero indicates that the Protocol Identifier field should be ignored. PIV set to one
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.
16.5.1.6 Inquiry Data Format - EVPD = 1, Page Code - 86h
Table 45: Inquiry Data Format - EVPD = 1, (Page Code - 86h)
Byte
0
1
2
3
4
5
6
7-63
7
6
Qualifier = 0
Reserved = 0
Reserved = 0
5
BIT
4
3
2
Peripheral Device Type = 0
Page Code = 86h
Reserved = 0
Page Length = 60 (3Ch)
SPT
GRD_CHK
Group_Sup Prior_Sup HEADSUP
Reserved=0
Reserved = 0
1
0
APP_CHK
ORDSUP
NV_SUP
REF_CHK
SIMPSUP
V_SUP
•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.
• 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.
• 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) bit is set to 0 to indicate that Head of Queue is not supported.
• ORDSUP (Ordered Supported) bit is set to 0 to indicate that Ordered task is not supported.
• SIMPSUP (Simple Supported) is set to 1 to indicate support for Simple task attributes.
• NV_SUP (Non-volatile Supported) is set to 0 to indicated that non-volatile cache features are not supported.
• V_SUP (Volatile Supported) is set to 1 to indicated support of a volatile cache.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
71
16.5.1.7 Inquiry Data Format - EVPD = 1, Page Code - 87h
Byte
BIT
7
0
6
5
Qualifier = 0
4
3
Page Code = 87h
2-3
Page Length = 0004h
Reserved=0
0
Policy Page Code = 3Fh
5
6
1
Peripheral Device Type = 0
1
4
2
Policy Subpage Code = FFh
MLUS=1
Reserved = 0
7
Mode PagePolicy = 0
Reserved = 0
• Policy Page Code set to 3Fh and Policy Subpage Code set to FFh indicate that the descriptor applies to all mode pages
and subpages
• MLUS (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.
16.5.1.8 Inquiry Data Format - EVPD = 1, Page Code - 88h
Byte
BIT
7
0
6
5
Qualifier = 0
4
3
2
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
17
Protocol Identifier
PIV=1
RSVD
0
Peripheral Device Type = 0
1
16
1
Code Set = 1
Association = 1
Identifier Type = 3
18
Reserved = 0
19
Identifier Length = 8
(MSB)
20-27
Primary Target Port Identifier (World Wide ID)
(LSB)
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
72
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
41
Protocol Identifier
PIV=1
RSVD
Code Set = 1
Association = 1
Identifier Type = 3
42
Reserved = 0
43
Identifier Length = 8
(MSB)
44-51
Secondary Target Port Identifier (World Wide ID)
(LSB)
• 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 one 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 IEEE WWID format where:
World Wide ID is a 64-bit unique identification for each drive. The format is: 5000CCAh xxxh yyb n wherexxx
is the 12-bit block assignment defined for each model and manufacturing site yy is the 2-bit port/node ID select n
is the 22-bit drive unique serial number.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
73
16.5.1.9 Inquiry Data Format - EVPD = 1, Page Code - 8Ah
Table 46: Inquiry Data Format - EVPD = 1, (Page Code - 8Ah)
Byte
0
BIT
7
6
5
4
Qualifier = 0
3
2
Page Code = 8Ah
2-3
Page Length = 14 (000Eh)
5
0
Peripheral Device Type = 0
1
4
1
Reserved=0
STANDBY_Y STANDBY_Z
Reserved=0
IDLE_C
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
IDLE_B
IDLE_A
•Qualifier field is set to zero to indicate that the LUN specified in the Command Block is currently supported.
• Peripheral Device Type is set to zero 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 one, 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 zero indicates that the recovery time is not specified. A
value of FFFFh indicates that the recovery time is more than 65.534 seconds.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
74
16.5.1.10 Inquiry Data - EVPD = 1, Page Code - 90h
Table 47: Inquiry Data - EVPD = 1 (Page Code = 90h)
BIT
Byte
7
0
6
5
Qualifier = 0
4
3
2
1
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.
• Qualifier field is set to zero to indicate that the LUN specified in the Command Block is currently supported.
• Peripheral Device Type is set to zero 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 48
•Protocol-specific logical unit information descriptor 1 field is defined in Table 48
Table 48: Protocol-specific
Byte
logical unit information descriptor
BIT
7
6
5
0-1
2
4
3
2
Reserved
Protocol Identifier = 6h
Reserved
6-7
Descriptor Length (0004h)
9-11
0
Relative Port Identifier
3-5
8
1
Reserved
TLR CONTROL
SUPPORTED = 0h
Reserved
• 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 zero to indicate that the drive does not support Transport Layer Retries
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
75
16.5.1.11 Inquiry Data Format - EVPD = 1, Page Code - B0h
Inquiry Data - EVPD = 1 (Page Code = B0h)
Byte
BIT
7
0
6
5
Qualifier = 0
4
3
2
1
Peripheral Device Type = 0
1
Page Code = B0h
2-3
Page Length = 60 (003Ch)
4
Reserved
WSNZ
5
Maximum Compare and Write Length
6-7
Optimal Transfer Length Granularity
8-11
Maximum Transfer Length
12-15
Optimal Transfer Length
16-19
Maximum Prefetch XDRead XDWrite Transfer Length
20-23
Maximum Unmap LBA Count
24-27
Maximum Unmap Block Descriptor Count
28-31
Optimal Unmap Granularity
32-35
0
UGAVALID
Unmap Granularity Alignment
36-43
Maximum Write Same Length
44-63
Reserved
16.5.1.12 Inquiry Data Format - EVPD = 1, Page Code - B1h
Table 49: Inquiry Data - EVPD = 1 (Page Code = B1h)
Byte
0
BIT
7
6
5
Qualifier = 0
4
3
2
0
Peripheral Device Type = 0
1
Page Code = B1h
2-3
Page Length = 60 (003Ch)
4-5
Medium Rotation Rate= 1 (1h)
6
Reserved
7
1
Reserved
Nominal Form Factor = 3h
8-63
Reserved
• Qualifier field is set to zero to indicate that the LUN specified in the Command Block is currently supported.
• Peripheral Device Type is set to zero 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 1, which indicates the drive is an SSD.
• Nominal Form Factor field is set to 3h.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
76
16.5.1.13 Inquiry Data Format - EVPD = 1, Page Code - D2h
Table 50: Inquiry Data - EVPD = 1 (Page Code = D2h)
Byte
0
BIT
7
6
5
Qualifier = 0
4
3
2
1
0
Peripheral Device Type = 0
1
Page Code = D2h
2
Reserved = 0
3
Page Length = 120 (78h)
4
HDC Version Length = 19 (13h)
5 - 23
ASCII HDC Version
24
Card Serial Number Length = 19 (13h)
25 - 43
ASCII Card Serial Number
44
NAND FLASH Version Length = 19 (13h)
45 - 63
ASCII NAND FLASH Version
64
Card Assembly Part Number Length = 19 (13h)
65 - 83
ASCII Card Assembly Part Number
84
Second Card Serial Number Length = 19 (13h)
85 - 103
ASCII Second Card Serial Number
104
Second Card Assembly Part Number Length= 19 (13h)
105 - 123
ASCII Second Card Assembly Part Number
• Qualifier is set to zero to indicate that the LUN specified in the Command Block is currently supported.
• Peripheral Device Type is set to zero 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 100, 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) with a null terminator (00h).
Note: All ASCII fields are alphanumeric, left aligned, and padded on the right with ASCII blanks (20h) with a null terminator (00h).
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
77
16.6 LOG SELECT (4C)
Table 51: Log Select (4C)
Byte
Bit
7
6
0
5
4
3
1
0
PCR
SP
Command Code = 4Ch
1
Reserved = 0
2
PC
Reserved = 0
Page Code
3
SubPage Code= 0
4-6
Reserved = 0
7
2
(MSB)
Parameter List Length = 0
(LSB)
8
9
Reserved = 0
FLAG
LINK
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 zero (except when PC =
11b) indicates that the parameters not be cleared. Parameter list length must be zero 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 zero 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 zero. 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 zero 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 zero, 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. This field is not supported and must be set to 0.
• 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 zero indicates that no pages shall be transferred.
• If the PARAMETER LIST LENGTH field is set to zero, 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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
78
•
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.
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 zero 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 zero 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
- 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 ECC detected error
- 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 ECC detected error
- Total errors recovered
- Number of times recovery invoked
- Total bytes verified
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
79
- 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)
- 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:
- 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 Exception
- Hardware Exception
- Total Read Commands
- Total Write Commands
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
80
16.7 LOG SENSE (4D)
Table 52: Log Sense (4D)
Byte
Bit
7
6
0
5
4
3
1
0
PPC=0
SP
Command Code = 4Dh
1
Reserved = 0
2
PC
Reserved = 0
Page Code
3
Subpage Code = 0
4
Reserved = 0
5
2
(MSB)
Parameter Pointer = 0
6
7
(LSB)
(MSB)
Allocation Length
8
9
(LSB)
Reserved = 0
FLAG
LINK
The LOG SENSE command allows the Initiator to retrieve the statistical data regarding the drive.
• PPC (Parameter Pointer Control) bit must be set to zero. 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. 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.
• 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. This field is not supported and must be set to 0.
• Parameter Pointer Field specifies the beginning field for the transfer. This field must be set to 0000h. If the Parameter
Pointer Field is not zero a Check Condition status is returned with a sense key of Illegal Request and additional sense
code of Invalid Field in CDB.
• 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 zero. 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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
81
16.7.1 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 zero 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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
82
16.7.2 Log Sense Page 0
Page 0 indicates the supported log sense pages. This page is used to determine which additional pages an Initiator can request.
Table 53: Log Sense Page 0
Byte
0
Bit
7
6
5
4
Reserved
3
2
1
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 11h
14
Eleventh supported page 15h
15
Twelfth supported page 18h
16
Thirteenth supported page 1Ah
17
Fourteenth supported Page Code =2Fh
18
Fifteenth supported Page Code = 30h
19
Sixteenth supported Page Code = 37h
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
83
0
16.7.3 Log Sense Page 2
This page contains counters for write errors.
Table 54: Log Sense Page 2 (part 1 of 2)
Byte
Bit
7
0
6
5
4
3
Reserved
Reserved
2-3
PageLength = 54h
4-5
Parameter Code = 0000h
DU = 0
DS = 0
TSD = 0 ETC = 0
TMC = 0
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
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
31
Parameter Length = 08h
32-39
Reserved = 0
40-41
Parameter Code = 0003h
42
DU = 0
DS = 0
TSD = 0 ETC = 0
TMC = 0
43
Parameter Length = 08h
44-51
Total errors recovered
52-53
Parameter Code = 0004h
54
DU = 0
1
0
Page code = 02h
1
6
2
DS = 0
TSD = 0 ETC = 0
TMC = 0
55
Parameter Length = 08h
56-63
Times recovery invoked
F&L = 00b
F&L = 00b
F&L = 00b
F&L = 00b
F&L = 00b
Table 55: Log Sense Page 2 (part 2 of 2)
Byte
64-65
Bit
7
6
5
4
3
2
1
Parameter Code = 0005h
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
84
0
66
DU = 0
DS = 0
TSD = 0 ETC = 0
TMC = 0
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
79
Parameter Length = 08h
80-87
Count of hard errors
F&L = 00b
F&L = 00b
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
85
16.7.4 Log Sense Page 3
This page contains counters for read errors.
Table 56: Log Sense Page 3 (part 1 of 2)
Byte
0
Bit
7
6
5
4
3
Reserved
Reserved
2-3
PageLength = 54h
4-5
Parameter Code = 0000h
DU = 0
DS = 0
TSD=0
ETC = 0
TMC = 0
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
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
31
Parameter Length = 08h
32-39
Reserved = 0
40-41
Parameter Code = 0003h
42
DU = 0
DS = 0
TSD=0
ETC = 0
TMC = 0
43
Parameter Length = 08h
44-51
Total errors recovered
52-53
Parameter Code = 0004h
54
DU = 0
DS = 0
1
0
Page code = 03h
1
6
2
TSD=0
ETC = 0
TMC = 0
55
Parameter Length = 08h
56-63
Times recovery invoked
64-65
Parameter Code = 0005h
F&L = 00b
F&L = 00b
F&L = 00b
F&L = 00b
F&L = 00b
Table 57: Log Sense Page 3 (part 2 of 2)
Byte
Bit
7
6
5
4
3
2
1
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
86
0
66
DU = 0
DS = 0
TSD = 0 ETC = 0
TMC = 0
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
79
Parameter Length = 08h
80-87
Count of hard errors
F&L = 00b
F&L = 00b
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. ECC-on-the-fly correction is not included in any
counters.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
87
16.7.5 Log Sense Page 5
This page contains counters for verify errors.
Table 58: Log Sense Page 5 (part 1 of 2)
Byte
0
Bit
7
6
5
4
3
Reserved
2
Reserved
2-3
PageLength = 54h
4-5
Parameter Code = 0000h
DU = 0
DS = 0
TSD = 0
ETC = 0
TMC = 0
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
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
31
Parameter Length = 08h
32-39
Reserved = 0
40-41
Parameter Code = 0003h
42
DU = 0
DS = 0
TSD = 0
ETC = 0
TMC = 0
43
Parameter Length = 08h
44-51
Total errors recovered
52-53
Parameter Code = 0004h
54
DU = 0
0
Page code = 05h
1
6
1
DS = 0
TSD = 0
ETC = 0
TMC = 0
55.
Parameter Length = 08h
56-63
Times recovery invoked
64-65
Parameter Code = 0005h
F&L = 00b
F&L = 00b
F&L = 00b
F&L = 00b
F&L = 00b
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
88
Table 59: Log Sense Page 5 (part 2 of 2)
Byte
66
Bit
7
6
DU = 0
DS = 0
5
4
TSD = 0 ETC = 0
3
TMC = 0
67
Parameter Length = 08h
68-75
Total Bytes Verified
76-77
Parameter Code = 0006h
78
DU = 0
DS = 0
TSD = 0
2
TMC = 0
79
Parameter Length = 08h
80-87
Count of hard errors
1
0
F&L = 00b
F&L = 00b
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. ECC-on-the-fly correction is not included in any
counters.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
89
16.7.6 Log Sense Page 6
This page contains counters for non-medium errors. This includes seek errors and other hardware type failures.
Table 60: Log Sense Page 6
Byte
0
Bit
7
6
5
4
Reserved
3
Reserved
2-3
PageLength = 0Ch
4-5
Parameter Code = 00h
DU = 0
DS = 0
1
0
Page code = 06h
1
6
2
TSD = 0 ETC = 0
TMC = 0
7
Parameter Length = 08h
8-15
Error count
F&L = 00b
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
90
16.7.7 Log Sense Page D
This page contains temperature information.
Table 61: Log Sense Page D
Byte
0
Bit
7
6
5
4
3
Reserved
2
Reserved
2-3
PageLength = 0Ch
4-5
Parameter Code = 0000h
DU = 0
DS = 1
TSD = 0
ETC = 0
TMC = 0
7
Parameter Length = 02h
8
Reserved
9
Temperature (degrees Celsius)
10-11
Parameter Code 0001h
12
DU = 0
0
Page code = 0Dh
1
6
1
DS = 1
TSD = 0
ETC = 0
TMC = 0
13
Parameter Length = 02h
14
Reserved
15
Reference Temperature (degrees Celsius)
F&L = 00b
F&L = 00b
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
91
16.7.8 Log Sense Page E
This page contains manufacturing date information.
Table 62: Log Sense Page E
Byte
0
Bit
7
6
5
4
Reserved
3
Reserved = 0
2-3
PageLength = 34h
4-5
Parameter Code = 0001h
DU=0
DS=1
TSD=0
ETC=0
TMC = 0
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
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
27
TSD=0
ETC=0
TMC = 0
F&L = 00b
F&L = 00b
F&L = 00b
Reserved = 0
32-33
Parameter Code 0004h
DU=0
DS=1
TSD=0
ETC=0
TMC = 0
35
Parameter Length = 04h
36-39
Reserved = 0
40-41
Parameter Code 0005h
42
0
Parameter Length = 04h
28-31
34
1
Page code = 0Eh
1
6
2
DU=0
DS=1
TSD=0
ETC=0
TMC = 0
43
Parameter Length = 04h
44-47
Reserved = 0
48-49
Parameter Code 0006h
F&L = 00b
F&L = 00b
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
92
50
DU=0
DS=1
TSD=0
ETC=0
TMC = 0
51
Parameter Length = 04h
52-55
Reserved = 0
F&L = 00b
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
93
16.7.9 Log Sense Page F
This page contains the Application Client Log.
Table 63: Log Sense Page F
Byte
0
Bit
7
6
5
4
3
Reserved
2
1
0
1
0
Page code = 0Fh
1
Reserved
2-3
Page length = 4000h
Application client log parameter
4-259
1st application client log parameter
1613216387
64th application client log parameter
The following table describes the application client log parameter structure.
Table 64: Log Sense Page F, Application Client Log
Byte
Bit
7
6
0-1
2
5
4
3
2
Parameter code
DU
=1
DS
=0
TSD = 0 ETC = 0
TMC = 0
3
Parameter length = FCh
4-
First parameter byte
255
Last parameter byte
F&L = 00b
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
94
16.7.10 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.
Table 65: Log Sense Page 10
Byte
Bit
7
0
6
5
4
3
Reserved
2
1
0
1
0
Page code = 10h
1
Reserved
2-3
PageLength = 190h
4-23
1st self-test results log parameter
384- 403
20th self-test results log parameter
The following table describes the self-test results log parameter structure
Table 66: Log Sense Page 10, self-test results
Byte
Bit
7
6
5
4
0-1
2
2
Parameter code
DU = 0
DS = 0
TSD = 0
3
4
3
ETC = 0
TMC = 0
Parameter Length = 10h
Function Code
RSVD
Self-Test Results Value
5
Extended Segment Number
6-7
Timestamp
8-15
LBA of First Failure
16
F&L = 11b
Reserved
Sense Key
17
Additional Sense Code
18
Additional Sense Code Qualifier
19
Vendor specific
• 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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
95
Table 67: Log Sense Page 10, self-test results
Value
Description
0h
The self-test routine completed without error.
1h
The background self-test routine was aborted by the initiator using a SEND
DIAGNOSTIC command 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.
3h
An unknown error occurred while the Target was executing the self-test routine
and the Target was 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
Fh
Reserved.
The self-test is in progress.
• 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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
96
Table 68: Log Sense Page 10, Extended Segment Number
Extended
Segment
Number
Short Self-Test
Extended Self-Test
1h
Drive Ready Test
2h
Drive Diagnostics
3h
SMART
4h
Low Level Format check
5h
PLI Capacitor Self-Test
6h
Random Verify
7h
8h
- Verify First 300 MB
Verify all LBAs
- Verify Last 100 MB
Recheck SMART
• 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 16.40 “SEND DIAGNOSTIC (1D)” on page 195, for detailed listing of operations carried out by SEND DIAGNOSTIC command and Power on Diagnostics.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
97
16.7.11 Solid State Media log page (Page 11)
The Solid State Media log page indicates parameters that are specific to SCSI target
devices that contain solid state media. A device server that implements the Solid State Media log page shall
implement one or more of the defined parameters.
Table 69: Solid State Media log page
Bit
Byte
7
0
DS
6
5
4
3
SPF (0)
2
1
0
Page code = 11h
1
Reserved
2-3
Page Length = (n -3)
Solid State Media log parameters
4
Solid State Media parameter (first) see Table 70:
....
First Medium Scan Parameter
....
...
n
Solid State Media parameter (last) see Table 70:
The disable save (DS) bit, the subpage format (SPF) bit, the PAGE CODE field, the SUBPAGE CODE field, and the
PAGE LENGTH field are described in SPC-4.
Table 70: Solid State Media log page parameter codes
Parameter Code
Description
0001h
Percentage Used Endurance Indicator
All others values
Reserved
Table 71: Percentage Used Endurance Indicator parameter format
Byte
Bit
7
6
5
0-1
2
4
3
2
1
0
PARAMETER CODE (0001h)
DU
Obsolete
TSD
ETC
TMC
Formant and Linking (11b)
3
PARAMETER LENGTH (04h)
4 -6
Reserved
7
PERCENTAGE USED ENDURANCE INDICATOR
The FORMAT AND LINKING field shall be set to 11b, indicating that this parameter is a binary format list parameter. The
values for the other bits and fields in the parameter control byte for a binary format list parameter are defined in SPC-4.
The PARAMETER LENGTH field indicates the number of bytes to follow in the log parameter.
The PERCENTAGE USED ENDURANCE INDICATOR field indicates an estimate of the percentage of device life that
has been used. The value in the field shall be set to zero at the time of manufacture. A value of 100 indicates
that the estimated endurance of the device has been consumed, but may not indicate a device failure (e.g.,
minimum power-off data retention capability reached for devices using flash technology). The value is allowed
to exceed 100. Values greater than 254 shall be reported as 255. The device server shall update the value at
least once per power-on hour
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
98
16.7.12 Log Sense Page 15
This page contains information about Background Medium Scan operations.
Table 72: Log Sense Page 15
Byte
Bit
7
0
6
5
4
3
Reserved
2
1
0
1
0
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
The following table describes the BMS Status Parameter structure.
Byte
Bit
7
6
5
4
0-1
2
3
2
Parameter Code = 0000h
DU=0
DS=0
TSD=0
ETC=0
TMC=0
3
Page Length = 0Ch
4-7
Power On Minutes
8
Reserved = 0
9
BMS Status
10-11
Number of Scans Performed
12-13
Medium Scan Progress
14-15
Reserved = 0
F&L = 11b
• 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
02h
Background pre-scan is active
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
99
BMS Status
Description
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
• Number of Scans Performed indicates the number of background scans that have been performed over the life of thedrive.
• 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.
The following table describes the Medium Scan Parameter structure.
Byte
Bit
7
6
5
0-1
2
4
3
2
DU=0
DS=0
TSD=0
ETC=0
TMC=0
Page Length = 14h
4-7
Power On Minutes
Reassign Status = 0
Additional Sense Code
10
Additional Sense Code Qualifier
16-23
F&L = 11b
Sense Key
9
11-15
0
Parameter Code = 0001h - 0800h
3
8
1
Reserved = 0
LBA
• Power On Minutes indicates the total power on minutes at the time the error was detected.
• Reassign Status is set to 0h. Auto-reallocation is automatic and no action needs to be taken by the Initiator
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
100
16.7.13 Log Sense Page 18
This page contains protocol-specific log parameters.
Table 73: Log Sense Page 18
Bit
Byte
7
6
5
4
3
2
0
Page code = 18h
1
SubPage Code (00h)
1
0
(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 74: SAS Log Descriptor
Byte
Bit
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)
3
TMC (00b)
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
Format and Linking
Reserved
Attached Device Type
Attached Reason
13
Reason
Negotiated Physical Link Rate
14
Reserved
Attached Attached Attached
SSP Initia- STP Initia- SMP Inititor Port
tor Port
ator Port
Reserved
15
Reserved
Attached
SSP Target
Port
Reserved
Attached
STP Target Port
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
101
Attached
SMP Target 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)
32
ATTACHED PHY IDENTIFIER (the phy identifier received in the incoming IDENTIFY)
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
75
Phy Event Source (02h) (Running Disparity Error Count)
(MSB)
76-79
Phy Event
(LSB)
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
102
(MSB)
80-83
Peak Value Detector Threshold (00h)
(LSB)
84-86
Reserved
87
Phy Event Source (03h) (Loss of DWORD Sync)
(MSB)
88-91
Phy Event
(LSB)
(MSB)
92-95
Peak Value Detector Threshold (00h)
(LSB)
96-98
Reserved
99
Phy Event Source (04h) (PHY Reset problen)
(MSB)
100-103
Phy Event
(LSB)
(MSB)
104-107
Peak Value Detector Threshold (00h)
(LSB)
•
•
•
•
Attached Device Type: set to the value received by this PHY during an Identify Sequence.
Attached Reason: If the phy is a physical phy and a SAS phy or expander phy is attached, then the ATTACHED REASON field indicates the value of the REASON field in the last received IDENTIFY address frame (see Table 22 on
page 44) during the identification sequence. 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: The REASON field indicates the reason for the last link reset sequence as reported in the last transmitted IDENTIFY address frame. (see Table 22 on page 44). 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, refer Table 22 on page 44.
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
The GENERATION CODE field 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-2 Phy mode page (see section 10.2.7.7) 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 bits: 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: field contains the SAS address transmitted by this PHY during an Identify Sequence.
Attached SAS ADDRESS: field contains the SAS address received by this PHY during an Identify Sequence.
Attached PHY Identifier: field contains the SAS PHY Identifier received by this PHY during an Identify Sequence.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
103
•
•
•
•
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: 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 SYNCRONIZATION: 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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
104
16.7.14 Log Sense Page 1A
Table 75: Log Sense Page 1A
Byte
0
Bit
7
6
5
4
3
Reserved
1
SubPage Code (00h)
2-3
Page Length (30h)
4-5
Parameter Code 0001h
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
0
Page code = 1Ah
1
6
2
DU
Obsolete
TSD
ETC
TMC
TMC
FMT & Linking FMT & Linking
47
Parameter Length = 4
48-51
Accumulated Transitions to Standby_Y
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
105
16.7.15 Log Sense Page 2F
This page contains SMART Status and Temperature Reading.
Table 76: Log Sense Page 2F
Byte
0
1
2-3
4-5
6
7
8
9
10
11
12
13-15
16-47
Bit
7
6
5
Reserved
DU = 0
DS = 0
4
3
2
Page code = 2Fh
Reserved
PageLength = 2Ch
Parameter Code = 0000h
TSD = 0 ETC = 0
TMC = 0
Parameter Length = 04h
SMART Sense Code Byte
SMART Sense Qualifier
Most Recent Temperature Reading
Vendor Temperature Trip Point
1
0
F&L = 11b
Vendor Unique Maximum Temperature
Vendor Unique Reserved = 000000h
Vendor Unique Parameters (see Table 77: )
Table 77: Vendor Unique parameter Code = 0000
Byte
0-1
1
2-3
4-5
6
7
8
Bit
7
6
5
DU = 0
DS = 0
4
3
2
Parameter code =0000h
TSD = 0 ETC = 0
TMC = 0
PageLength = O4h
SMART Parameter Sense Code Byte
SMART Parameter Sense Qualifier
SMART Attribute Percentage of Threshold
SMART Attribute Trip
1
0
F&L = 11b
SMART PARAMETER SENSE CODE is the one-byte value indicating the severity of this particular parameter when host
notification for SMART trip is made. For example, 0x5D indicates pre-fail attribute and 0x0B indicates warning attribute.
SMART PARAMETER SENSE QUALIFIER is the one-byte value that uniquely identifies each particular parameter when
host notification for SMART trip is made.
SMART ATTRIBUTE PERCENTAGE OF THRESHOLD indicates an estimate of the percentage of threshold reached for
the vendor unique SMART attributes. The value in the field is set to zero at the time of manufacture. A value of 100 indicates
that the threshold has been reached and SMART trip will be reported to the host if enabled. See Mode Page 0x1C (Information
Exceptions Control). The value is allowed to exceed 100. Values greater than 254 are reported as 255. The device server shall
update the value at least once per power-on hour. Note that the Volatile memory backup attribute is a pass/fail indicator so it
will always read 0 unless the capacitor self test fails, and in that case it would report 100.
SMART ATTRIBUTE TRIP is set to 1b if the threshold for that SMART attribute has ever been exceeded. It is set to 0b if
the threshold has never been exceeded.
For the vendor unique parameters codes > 0000h:
Parameter code = 0001h Remaining Reserve 1
Parameter code = 0002h Remaining Reserve 2
Parameter code = 0003h Volatile Memory Backup Failure
Parameter code = 0004h Wear Indicator
Parameter code > 0004h Reserved
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
106
16.7.16 Log Sense Page 30
Table 78: Log Sense Page 30
Byte
0
Bit
7
6
5
4
Reserved
3
2
Reserved = 0
2-3
Page Length = 0030h
4-5
Parameter Code = 0000h
DU = 0
0
Page code = 30h
1
6
1
DS = 0
TSD = 0
ETC = 0
TMC = 0
7
Parameter Length = 2Ch
8-51
Reserved = 0
F&L = 00b
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
107
16.7.17 Log Sense Page 37
This page contains a series of miscellaneous data counters including information about predictive failure analysis occurrences.
Table 79: Log Sense Page 37
Byte
0
1
2-3
4-5
6
7
8
Bit
7
6
5
Reserved
DU=0
DS=0
Total Bytes Read
(LSB)
(MSB)
Total Bytes Written
(LSB)
Max Drive Temp (degrees Celsius)
Reserved = 0
(MSB)
(LSB)
31
33 - 40
41 - 48
49
50-51
F&L = 00b
(MSB)
27
28
32
0
(LSB)
-
29 - 30
1
Power on Hours (hours only)
19
20
3
2
Page code = 37h
Reserved
Page Length = 0030h (48)
Parameter Code = 0000h
TSD=0
ETC=0
TMC = 0
Parameter Length = 2Ch
(MSB)
11
12
4
Number of Information Exceptions
MED
EXC
HDW
EXC
Reserved = 0
Total Read Commands
Total Write Commands
Reserved = 0
Flash Correction Count
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 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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
108
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
109
16.8 MODE SELECT (15)
Table 80: Mode Select (15)
Bit
Byte
7
6
5
0
4
3
2
1
0
Command Code = 15h
1
Reserved = 0
2
PF=1
Reserved = 0
SP
Reserved = 0
3
4
Parameter List Length
5
VU = 0
Reserved = 0
FLAG
LINK
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 A 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 media. 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) 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 an 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).
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
110
16.9 MODE SELECT (55)
Table 81: Mode Select (55)
Byte
Bit
7
6
5
0
Reserved = 0
2-6
9
3
2
1
0
Command Code = 55h
1
7-8
4
PF=1
Reserved = 0
SP
Reserved = 0
(MSB)
Parameter List Length
(LSB)
VU = 0
Reserved = 0
FLAG
LINK
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
111
16.10 MODE SENSE (1A)
Table 82: Mode Sense (1A)
Byte
Bit
7
6
5
0
4
3
2
1
0
Command Code = 1Ah
1
Reserved
2
PCF
RSVD
DBD
Page Code
3
Subpage Code
4
Allocation Length
5
VU = 0
Reserved = 0
Reserved = 0
FLAG
LINK
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 the Block Descriptor. If the DBD bit is set to 1, the
Target will not return the 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
00
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.
01
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
112
10
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.
11
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.
Table 83: Page Code Usage
Page Code
Description
00h - 1Ch
Return specific page, if supported.
3Fh
Return all supported pages.
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 CHECK CONDITION 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.
16.10.1 Mode Parameter List
The mode parameter list contains a header followed by zero or more block descriptors followed by zero or more variable
length pages.
16.10.1.1 Header
The header used for the 6-byte CDB is defined below.
Table 84: Mode parameter header (6)
Byte
Bit
7
6
5
4
3
0
Mode Data Length
1
Medium Type = 0
2
3
WP=0
Reserved=0
DPOFUA
=1
2
Reserved = 0
Block Descriptor Length (= 0 or 8)
The header used for the 10-byte CDB is defined below.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
113
1
0
Table 85: Mode parameter header (10)
Byte
0
1
Bit
7
6
5
(MSB)
2
1
0
(LSB)
Medium Type = 0
WP=0
4
5
6
7
3
Mode Data Length
2
3
4
Reserved=0
DPOFUA =1
Reserved = 0
Reserved = 0
(MSB)
Block Descriptor Length
(= 0 or 8)
(LSB)
• 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.
• Block Descriptor Length specifies the length in bytes of the block descriptors. When used with the MODE SELECT
command, zero or eight is supported by the drive. When used with the MODE SENSE command, the drive returns
eight to indicate that only a single block descriptor is available.
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
114
16.10.1.2 Block Descriptor
Table 86: Mode Parameter Block Descriptor
Byte 0
(MSB)
Number of Blocks
Byte 1
Byte 2
Byte 3
(LSB)
Byte 4
Byte 5
Density code = 0
(MSB)
Byte 6
Block Length
Byte 7
(LSB)
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, the Number of Blocks field must be
-
Zero to indicate not to change available blocks
-
0xFFFFFFFF 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 used with the MODE SENSE command, the field contains the exact number of blocks.
• Density Code
-
Always 0 for direct access devices.
• Block Length
The 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 the value from 512 to 528
(8 bytes step) or zero. 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.
When used with the MODE SENSE command, the field is dependent on how the media is currently formatted.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
115
16.10.1.3 Page Descriptor
Table 87: Mode Parameter Page Format
Byte 0
PS
SPF
Page Code
Byte 1
Page Length
Byte 2-n
Mode Parameters
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:
Table 88: Mode Parameter Page Format
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
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
116
16.10.2 Mode Page 00 (Vendor Unique Parameters)
Table 89: Vendor Unique Parameters - Page 00
Byte
0
Bit
7
6
PS
0
5
4
Default
3
2
1
0
Page Code = 00h
80h
1
Page Length = 0Eh
0Eh
2
Ignored
00h
3
Ignored
00h
4
Ignored
00h
5
Ignored
6
FDD
Ignored
Ignored
CAEN
Ignored
OCT (high nibble)
02h
00h
7
Overall Command Timer (low byte)
00h
8
Ignored
00h
9
Temperature Threshold
00h
10
Command Aging Limit (Hi byte)
00h
11
Command Aging Limit (Low byte)
30h
12
Error
Injection
13-14
15
16h
Read Reporting Threshold
Ignored
Ignored
Ignored
00h
Reserved = 0
00h
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.
• 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 basis. When this bit is
reset, commands are always executed based on the queue reordering rules.
• 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
disabled 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 (70 degrees Celsius).
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
117
• 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 50 ms.
•Error Injection bit indicates whether internal error injection is currently enabled or disabled. This bit is read only. A
value of 1 indicates that error injection mode is currently enabled. A value of 0 indicates that error injection mode is
currently disabled. Error injection mode is a drive feature that randomly injects pseudo errors during read commands.
It is controlled by the DPRY bit of the Format command. This mode should only be used in a drive test mode to validate drive and system error reporting and handling functionality.'.
• Read Reporting Threshold specifies the bits-in-error threshold at which recovered errors will be reported when PER in
Mode Page 0x01 is set to 1. The bit error on the media needs to exceed this threshold before it will be reporting. Valid
values for this field range from 3 to 23 bits in error.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
118
16.10.3 Mode Page 01 (Read/Write Error Recovery Parameters)
Table 90: Mode Page 01 (Vendor Unique Parameters)
Byte
0
Bit
7
6
PS
0
5
3
2
1
0
Page Code = 01h
1
2
4
81h
Page Length = 0Ah
AWRE
ARRE
TB
RC
EER=0
Default
0Ah
PER
DTE
DCR
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
00h
9
Reserved
00h
10
(MSB)
Recovery Time Limit
11
00h
(LSB)
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, is ignored. Automatic Write Reallocation is always performed
• ARRE Automatic Read Reallocation Enabled bit is ignored. Automatic Read Reallocation is always performed.
• TB (Transfer Block bit) is ignored.
• RC (Read Continuous) bit, is ignored.
• EER (Enable Early Recovery) bit is ignored.
• PER (Post Error) bit specifies whether or not recovered errors are reported. It is used in conjunction with the Read
Reporting Threshold in Mode Page 0x00. Setting this bit to 1 enables recovered error reporting of media bit errors
that exceed the Read Reporting Threshold in Page 0x00. Setting this bit to 0 disables recovered error reporting of
media errors.
• DTE (Data Terminate on Error) is ignored.
• DCR (Disable Correction) bit, is ignored.
• Read Retry Count ignored. Read recovery is always performed.
• Write Retry Count is ignored.
• Recovery Time Limit is ignored.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
119
16.10.4 Mode Page 02 (Disconnect/Reconnect Parameters)
Table 91: Mode Page 02 (Disconnect/Reconnect Parameters)
Byte
0
Bit
7
6
PS
0
5
4
3
2
1
0
Page Code = 02h
Default
82h
1
Page Length = 0Eh
0Eh
2
Read Buffer Full Ratio
00h
3
Write Buffer Empty Ratio
00h
(MSB)
00h
4-5
Bus Inactivity Time Limit
(LSB)
Disconnect Time Limit = 0
6-7
8-9
10-11
(MSB)
00h
Maximum Connect Time Limit
00h
(LSB)
(MSB)
Maximum Burst Size
00h
(LSB)
12-13
Reserved = 0
00h
14-15
First Burst Size = 0
00h
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 ignored.
• 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 ignored.
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
120
16.10.5 Mode Page 03 (Format Device Parameters)
Table 92: Mode Page 03 (Format Device Parameters)
Byte
0
Bit
7
6
PS
0
5
4-5
6-7
8-9
10-11
12-13
14-15
16-17
18-19
20
21-23
3
2
1
Page Code = 03h
1
2-3
4
Page Length = 16h
(MSB)
0
Default
03h
16h
00h
Tracks per Zone
(LSB) 00h
(MSB)
Alternate Sectors per Zone = 0
00h
(LSB) 00h
(MSB)
Alternate Tracks per Zone = 0
00h
(LSB) 00h
(MSB)
Alternate Tracks per Logical Unit = 0
00h
(LSB) 00h
(MSB)
xxh
Sectors Per Track
(LSB) 00h
(MSB)
Data Bytes per Physical Sector
00h
(LSB) 00h
(MSB)
Interleave = 0001h or 0000h
00h
(LSB) 01h
(MSB)
Track Skew Factor
00h
(LSB) 00h
(MSB)
Cylinder Skew Factor
00h
(LSB) 00h
SSEC
HSEC
RMB
SURF
RESERVED = 0
Reserved = 0
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
121
40h
00h
The format device page contains parameters that specify the medium format. This page contains no changeable parameters.
• Tracks per Zone is obsolete for SSDs.
• Sectors per Track is obsolete for SSDs.
• 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 is obsolete for SSDs.
• Cylinder Skew Factor is obsolete for SSDs.
• SSEC = Zero indicates that the drive does not support soft sector formatting.
• 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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
122
16.10.6 Mode Page 04 (Rigid Disk Drive Geometry Parameters)
Table 93: Mode Page 04 (Rigid Disk Drive Geometry Parameters)
Byte
0
Bit
7
6
PS
0
1
5
4
3
2
1
0
Page Code = 04h
04h
Page Length = 16h
16h
00h
(MSB)
2-4
Default
Number of Cylinders
00h
(LSB)
5
Number of heads
00h
00h
(MSB)
6-8
Starting Cylinder -
00h
Write Precompensation = 0
(LSB)
00h
(MSB)
9-11
Starting Cylinder -
00h
Reduced Write Current = 0
12-13
(MSB)
LSB)
00h
Drive Step Rate = 0 (Not used)
(LSB) 00h
00h
(MSB)
14-16
Landing Zone Cylinder = 0 (Not used)
00h
(LSB)
17
RESERVED = 0
RPL = 0
00h
18
Rotational Offset = 0 (Not used)
00h
19
RESERVED = 0
00h
20-21
22-23
(MSB)
Medium Rotation Rate
00h
(LSB) 01h
Reserved = 0
The rigid disk drive geometric page specifies various parameters for the drive.
• Medium Rotation Rate = 1 indicates the drive is an SSD.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
123
00h
16.10.7 Mode Page 07 (Verify Error Recovery Parameters)
Table 94: Mode Page 07 (Verify Error Recovery Parameters)
Bit
Byte
0
7
6
PS
0
5
4
3
2
1
0
Page Code = 07h
1
87h
Page Length = 0Ah
2
Reserved = 0
EER=0
Default
0Ah
PER
DTE
DCR
00h
3
Verify Retry Count
01h
4
Obsolete =0
00h
5-9
Reserved = 0
00h
10-11
(MSB)
Verify Recovery Time Limit
00h
(LSB)
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. is ignored.
• PER. is ignored. The PER setting in Mode Page 01h is used for Verify commands.
• DTE. is ignored.
• DCR. is ignored.
• Verify Recovery Time Limit is ignored.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
124
16.10.8 Mode Page 08 (Caching Parameters)
Table 95: Page 08 (Caching Parameters)
Byte
0
1
2
3
4-5
6-7
8-9
10-11
12
13
14-15
Bit
7
PS
6
0
5
4
3
2
1
0
Page Code = 08h
Page Length = 12h
IC
ABPF
CAP
DISC
SIZE
WCE
MF
RCD
Demand Read Retention Priority
Write Retention Priority
(MSB)
Disable Pre-fetch Transfer Length
Default
88h
12h
04h
00h
FFh
(LSB)
(MSB)
Minimum Pre-fetch
00h
(LSB)
(MSB)
Maximum Pre-fetch
FFh
(LSB)
FSW
LBCSS
(MSB)
Maximum Pre-fetch Ceiling
DRA
Reserved = 0
Number of Cache Segments
Cache Segment Size
FFh
00h
00h
00h
(LSB)
16
Reserved = 0
00h
00h
(MSB)
17-19
Non Cache Segment Size
(LSB)
The caching parameters page defines parameters that affect the use of the cache.
• IC (Initiator Control) bit is ignored.
• ABPF (Abort Pre-fetch) bit is ignored.
• CAP (Caching Analysis Permitted) is not supported and is ignored.
• DISC (Discontinuity) is not supported and is ignored.
• SIZE (Size Enable) bit is ignored.
• WCE (Write Cache Enable) bit is ignored. A fail-safe write caching is always enabled.
• MF (Multiplication Factor) bit is ignored.
• RCD (Read Cache Disable) bit is ignored.
• Demand Read Retention Priority is not supported.
• Write Retention Priority is not supported.
• Disable Pre-fetch Transfer Length is ignored.
• Minimum Pre-fetch is ignored.
• Maximum Pre-fetch is ignored.
• Maximum Pre-fetch Ceiling 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 is ignored
• DRA (Disable Read Ahead) is ignored.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
125
• Number of Cache Segments field is ignored.
• Cache Segment Size field is ignored.
• Non Cache Segment Size is not supported and is ignored.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
126
16.10.9 Mode Page 0A (Control Mode Page Parameters)
Table 96: Page 0A (Control Mode Page Parameters)
Byte
0
Bit
7
6
PS
0
5
Default
4
3
2
1
0
Page Code = 0Ah
1
8Ah
Page Length = 0Ah
2
TST=0
3
TMFonly=0 RSVD=0 D_Sense=0 GLTSD=0 RLEC=0
Queue Algorithm Modifier
4
RSVD=0 RAC=0
5
ATO
10-11
Rsvd=0
UA_INTLCK_CTRL=0
SWP=0
TAS=0
QErr
DQue
Obsolete
00h
00h
Obsolete=0
(MSB)
00h
00h
Reserved=0
6-7
8-9
0Ah
00h
Busy Timeout Period
00h
(LSB)
(MSB)
Extended Self-test Routine
Completion Time
XXh
(LSB)
Following are parameter options for Page 0A.
• 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
• 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.
QERR
value
00b
01b
Description
Specifies that all tasks from all Initiators are blocked from execution when a Contintent
Allegiance (CA condition) is pending. Those blocked tasks are allowed to resume execution
in a normal fashion after the CA condition is cleared.
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
127
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.
• Busy Timeout Period is not supported and is ignored.
• Extended Self-test Routine Completion Time is an advisory parameter that an Initiator may use to determine the time
in seconds that the Target requires to complete self-test routine when the Target is not interrupted by an Initiator and
no errors occur during execution of the self-test routine.
16.10.9.1 Control Extension Subpage
Table 97: Control Extension Subpage
CByte
0
Bit
7
6
5
PS
SPF=1
4
Default
3
2
1
0
Page Code = 0Ah
4Ah
1
Subpage Code = 1
01h
2-3
Page Length = 001Ch
001Ch
4
5
6-31
Reserved = 0
TCMOS
Reserved = 0
SCSIP
Initial Priority
Reserved = 0
IALUAE
00h
00h
00h
No fields in the Control Extension subpage are currently changeable. The page is supported for compatibility only.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
128
16.10.10 Mode Page 0C (Notch Parameters)
Table 98: Page 0C (Notch Parameters)
Bit
Byte
0
7
6
PS
0
5
4
3
2
1
0
Page Code = 0Ch
1
8Ch
Page Length = 16h
2
ND=1
LPN=0
16h
Reserved = 0
3
80h
Reserved = 0
(MSB)
4-5
Default
00h
00h
Maximum Number of Notches
(LSB) 00h
(MSB)
6-7
00h
Active Notch
(LSB) 00h
00h
(MSB)
8-11
Starting Boundary
00h
(LSB)
00h
(MSB)
12-15
Ending Boundary
00h
(LSB)
0000h
0000h
0000h
(LSB) 0000h
(MSB)
16-23
Pages Notched
The notch page is obsolete for SSDs.
16.10.11 Mode Page 18h
(SAS only)
Table 99: Page 18h (Protocol-Specific Logical Unit mode page)
Byte
0
Bit
7
6
PS=0
SPF=0
1
2
5
4
3
2
1
0
Page Code = 18h
Page Length = 6h
Reserved
Transport Layer Retries=0
Default
18h
6h
Protocol Identifier = 6h
6h
3
Reserved = 0
00h
4-7
Reserved
00h
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
129
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
130
16.10.12 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.
16.10.12.1 Short Format of Port Control Page
Table 100: Short (Port Control Parameters) Short Format
Byte
0
Bit
7
6
5
PS
SPF=0
4
1
0
Reserved
ConBroadcast
tinue
Asynchronous
AWT = 0 Event
Ready LED
Meaning
Default
99h
Page Length = 0Eh
3
4-5|
2
Page Code = 19h
1
2
3
0Eh
06h
Protocol Identifier = 6h
Reserved
00h
07h-D0h
(MSB)
I_T NEXUS LOSS TIMER
(LSB)
6-7
07h-D0h
(MSB)
INITIATOR RESPONSE TIMEOUT
(LSB)
8-9|
0000h
(MSB)
REJECT TO OPEN LIMIT = 0000h
(LSB)
10-15
Reserved
00h
•
The Parameters Savable (PS) bit is set to one, indicating the parameters are saveable.
•
The SPF field shall be set to zero for access to the short format mode page.
•
Protocol Identifier has a value of 6h indicating this is a SAS SSP specific mode page.
•
A 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).
•
A 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 2 draft standard
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
131
•
The I_T NEXUS LOSS TIME field 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 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 field 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 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.
•
The REJECT TO OPEN LIMIT field 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.
16.10.12.2
Long Format of Port Control Page
Table 101: Long Format of Port Control Page
Byte
0
Bit
7
6
PS
SPF=1
5
4
3
2
1
0
Page Code = 19h
1
Subpage Code
4
RSVD
5
RSVD
6
0000h
00h
Protocol Identifier = 6h
Protocol Specific Mode Parameters
n
D9h
...
Page Length (n-3)
2-3
Default
06h
...
...
The drive maintains an independent set of port control mode page parameters for each SAS initiator port.
•
The 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 support 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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
132
16.10.12.3 PHY Control and Discover (Subpage 1)
Table 102: PHY Control and Discover (Subpage 1)
Byte
0
Bit
7
6
PS
SPF=1
5
1
3
2
1
Page Code = 19h
Subpage Code = 1
Page Length = 0064h
2-3
4
5
4
Reserved
Reserved
0
Default
D9h
01h
0064h
00h
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
...
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.
The GENERATION CODE field 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-2 Phy mode page (see section 16.10.12.5) 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 field is set to 2, to represent the dual ported drive (one PHY per port)
The SAS PHY Mode Descriptor Fields are defined in Table 103 on page 134. There are two SAS PHY Mode Descriptor
fields, one per port.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
133
Table 103: SAS PHY Mode Descriptor
Byte
Bit
7
6
5
4
0
3
2
1
0
Reserved
1
PHY IDENTIFIER
(MSB)
2-3
Reserved
(LSB)
4
Reserved
5
Reserved
•
ATTACHED
INITIATOR INITIATOR
PORT
PORT
INITIATOR
ATTACHED ATTACHED
ATTACHED
SMP
Reserved
PORT
SSP
STP
STP
TARGET
PORT
TARGET
PORT
TARGET
PORT
Reserved
(MSB)
SAS ADDRESS
(LSB)
16-23
(MSB)
ATTACHED SAS ADDRESS
(LSB)
25-31
•
ATTACHED ATTACHED
SSP
STP
8-15
24
•
Negotiated Logical Link Rate
Reserved
7
•
ATTCHED REASON
Reason
6
•
ATTCHED DEVICE TYPE
ATTACHED PHY IDENTIFIER
(MSB)
Reserved
(LSB)
32
PROGRAMMED MINIMUM PHYSICAL LINK RATE
HARDWARE MINIMUM PHYSICAL LINK RATE
33
PROGRAMMED MAXIMUM PHYSICAL LINK RATE
HARDWARE MAXIMUM PHYSICAL LINK RATE
34-41
(MSB)
42-43
(MSB)
44-47
(MSB)
Reserved
Vendor specific
Reserved
(LSB)
(LSB)
(LSB)
PHY Identifier: 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 22 on page 44.
Attached Device Type: indicated 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 21 on page 43.
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 21 on page 43.
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 21 on page 43.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
134
•
•
•
•
•
SAS Address: Unique Port Identifier for the Port associated with the PHY Identifier listed in this SAS PHY Mode
Descriptor
Hardware Minimum Physical Link Rate: Minimum link rate supported by the Port associated with the PHY Identifier
listed in this SAS PHY Mode Descriptor.
Hardware Maximum Physical Link Rate: Maximum link rate supported by the Port associated with the PHY Identifier
listed in this SAS PHY Mode Descriptor.
Programmed Minimum Physical Link Rate: 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: Current maximum link rate used during speed negotiation by the Port
associated with the PHY Identifier listed in this SAS PHY Mode Descriptor.
16.10.12.4 Shared Port Control (Subpage 2)
Table 104: Shared Port Control (Subpage 2)
Byte
0
Bit
7
6
PS
SPF=1
5
1
3
2
1
Page Code = 19h
Subpage Code = 2
0
Default
D9h
02h
2-3
Page Length = 000Ch
000Ch
4
Reserved = 0
00h
5
•
4
Reserved = 0
Protocol Identifier = 6
06h
6-7
Power Loss Timeout
0000h
8 - 15
Reserved = 0
00h
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
135
16.10.12.5 SAS-2 Phy Mode Page (Subpage 3)
Table 105: Subpage 3
Byte
0
Bit
7
6
PS
SPF=1
4
3
2
1
0
Default
Page Code 19h
D9h
1
Subpage Code = 3
03h
2-3
Page Length = 002Ch
002Ch
4
Reserved = 00h
00h
5
•
5
Reserved = 0
Protocol Identifier = 6
06h
6
Generation Code
00h
7
Number of Phys = 02h
02h
8-27
SAS-2 PHY Mode Descriptor 0
--
28-47
SAS-2 PHY Mode Descriptor 1
--
The GENERATION CODE field 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-2 Phy mode page (see section 16.10.12.5) 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.
Table 106: PHY Mode Descriptor (0 and 1)
Byte
Bit
7
6
5
4
3
2
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
1
Negotiated Physical Link Rate
Reserved
Hardware
Muxing Supported=’0’
19
•
0
Phy Capabilities are defined under the “SAS Speed Negotiation” on page 41
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
136
16.10.13 Mode Page 1A (Power Control)
Table 107: Page 1A (Power Control)
Byte
0
Bit
7
6
PS
0
5
3
2
1
0
Page Code = 1Ah
1
26h
Reserved = 00h
Reserved = 0
Idle_C
Default
9Ah
Page Length = 26h
2
3
4
Idle_B
Idle_A
Standby_Y
00h
Standby_Z
00h
4-7
Idle_A Condition Timer
00h
8-11
Standby_Z Condition Timer
00h
12-15
Idle_B Condition Timer
00h
16-19
Idle_C Condition Timer
00h
20-23
Standby_Y Condition Timer
00h
24-39
Reserved
00h
• 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 limit 60 timer initiated head unloads per 24
hour period is enforced.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
137
16.10.14 Mode Page 1C (Informational Exceptions Control)
Table 108: Page 1C (Informational Exceptions Control)
Byte
0
BIT
7
6
PS
0
5
3
2
1
0
Page Code = 1Ch
1
2
4
9Ch
Page Length = 0Ah
PERF
3
RSVD
EBF
EWASC DEXCPT
Reserved = 0
Default
0Ah
TEST
EBACKLOGERR
ERR
Method of Reporting
10h
03h
00h
(MSB)
4-7
00h
Interval Timer
(LSB)
00h
00h
00h
(MSB)
8-11
Report Count
(LSB)
•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 SSD 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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
138
• Method of Reporting Informational Exceptions indicates the methods used by the Target to report informational exception conditions.
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
139
16.10.14.1 Background Control (Subpage 01h)
Table 109: Background Control (Subpage 01h)
Byte
0
BIT
7
6
5
PS
SPF=1
4
3
2
1
0
Page Code = 1Ch
Default
DCh
1
Subpage Code = 01h
01h
2-3
Page Length = 0Ch
000Ch
4
5
Reserved = 0
S_L_Full LOWIR
Reserved = 0
EN_BMS
00h
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
• 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 prescan 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).
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
140
16.11 MODE SENSE (5A)
Table 110: Mode Sense (5A)
Byte
Bit
7
6
5
0
Reserved = 0
2.
PCF
3-6
9
3
2
1
0
Command Code = 5Ah
1
7-8
4
DBD
Reserved = 0
Page Code
Reserved = 0
(MSB)
Allocation Length
(LSB)
VU = 0
Reserved = 0
FLAG
LINK
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
141
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
142
16.12 PERSISTENT RESERVE IN (5E)
Table 111: Persistent Reserve In (5E)
Byte
Bit
7
6
5
0
4
Reserved = 0
1
0
Service Action
2-6
9
2
Command Code = 5Eh
1
7-8
3
Reserved = 0
(MSB)
Allocation Length
(LSB)
VU = 0
Reserved = 0
FLAG
LINK
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.
16.12.1 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.
Table 112: PERSISTENT RESERVE IN, Service Action Codes
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
03h
Read Full Status
Reads complete information about all registrations and the persistent reservation, if any
Reserved
Reserved
04h-1Fh
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
143
16.12.2 Parameter data for Read Keys
Table 113: PERSISTENT RESERVE IN, 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)
:
(n-7)
-
(MSB)
Last reservation key
(LSB)
n
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
144
16.12.3 Parameter Data for Read Reservations
Table 114: PERSISTENT RESERVE IN, 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)
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.
Table 115: PERSISTENT RESERVE IN, Read Reservation Descriptor
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)
.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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
145
16.13 PERSISTENT RESERVE OUT (5F)
Table 116: PERSISTENT RESERVE OUT (5F)
Bit
Byte
7
6
5
0
1
4
3
2
0
FLAG
LINK
Command Code = 5Fh
Reserved = 0
2
Service Action
Scope=0
Type
3-6
Reserved = 0
7-8
Parameter List Length = 18h
11
1
VU = 0
Reserved = 0
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.
.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
146
16.13.1 Service Action
The following service action codes are supported.
Table 117: PERSISTENT RESERVE OUT, Service Action Code
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
05h
Preempt and Abort
Preempt persistent reservations from another Initiator and
clear the task set for the preempted Initiator
06h
Register and Ignore
Register a reservation key
existing key
07h-1Fh
Reserved
Reserved
16.13.2 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.
Table 118: PERSISTENT RESERVE OUT, Type Code
Code
0h
Name
Description
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
147
4h
Reserved
Reserved
Reads Shard: Any initiator may execute commands
that transfer from media.
Write Exclusive
Registrants Only
5h
Exclusive Access
Registrants Only
6h
7h-Fh
Reserved
Writes Exclusive: Only registered initiators may execute commands that transfer data to the media; Reservation Conflict status will be returned to other
initiators.
Reads Exclusive: Only registered initiators may execute commands that transfer 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.
Reserved
16.13.3 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.
Table 119: Parameter List
Byte
Bit
7
6
5
4
3
2
1
0
0-7
(MSB)
Reservation Key
(LSB)
8-15
(MSB)
Service Action Reservation Key
(LSB)
16-19
(MSB)
20
21-23
Reserved = 0
Reserved = 0
SPEC_I_P
ALL_TG_PT
(LSB)
Reserved = 0
APTPL
Reserved = 0
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
148
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 TransportID. 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, please refer to Table 179 on page 306 of Spc4r27.
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.
16.13.4 Summary
Table 120: PERSISTENT RESERVE OUT, Service Action, Parameters
Parameters
Service Action
Generation
counter
Scope
Rsv
SvcAct
S-spec
Extent
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
APTPL
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
149
16.13.4.1 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.
16.13.4.2 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.
16.13.4.3 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.
16.13.4.4 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.
Table 121: APTPL and information held by a drive
The last valid APTPL value
Information
held by the drive
Registration
Persistent Reservation
Generation counter
0
1
all keys are set to 0
retained
all are removed
retained
set to 0
set to 0
16.13.4.5 Generation counter
The drive increments the Generation counter when Register service action or Preempt and Clear service action complete successfully.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
150
16.14 PRE-FETCH (34)
Table 122: PRE-FETCH (34)
Bit
Byte
7
6
5
0
4
3
2
1
0
Immed
=0
Obsolete
Command Code = 34h
1
Reserved = 0
Reserved = 0
(MSB)
Logical Block Address
2-5
(LSB)
6
7-8
9
Reserved = 0
(MSB)
Transfer Length
(LSB)
VU = 0
Reserved = 0
FLAG
LINK
The PRE-FETCH command requests the drive to transfer data to the cache. This command is implemented as a no-op and
returns good status on the SSD.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
151
16.15 READ (6) - (08)
Table 123: READ (6) - (08)
Byte
Bit
7
6
5
0
1
3
2
1
0
Command Code = 08h
Reserved = 0
(MSB)
LBA
Logical Block Address
2-3
(LSB)
4
5
4
Transfer Length
VU = 0
Reserved = 0
FLAG
LINK
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
152
16.16 READ (10) - (28)
Table 124: READ (10) - (28)
Byte
Bit
7
6
5
0
4
3
2
1
0
Rsvd=
0
FUA_
NV
Obsolete
Command Code = 28h
1
RDPROTECT
DPO
FUA
(MSB)
2-5
Logical Block Address
(LSB)
6
7-8
Reserved = 0
(MSB)
Transfer Length
(LSB)
9
VU = 0
Reserved = 0
FLAG
LINK
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 is ignored.
•
FUA (Force Unit Access) bit is ignored.
•
RDPROTECT defines the manner in which protection information read from drive shall be checked during processing of the command. Protection information is stored on drive, 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
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
153
RDPROTECT=010b
- Protection information is transmitted to the initiator with the user data
- 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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
154
16.17 READ (12) - (A8)
Table 125: Read (12) - (A8)
Byte
Bit
7
6
5
0
4
3
2
1
0
Rsvd
=0
FUA_
NV
Rsvd =
0
Command Code = A8h
1
RDPROTECT
DPO
FUA
(MSB)
2-5
Logical Block Address
(LSB)
(MSB)
6-9
Transfer Length
(LSB)
10
11
Reserved = 0
VU = 0
Reserved = 0
FLAG
LINK
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
155
16.18 READ (16) - (88)
Table 126: READ (16) - (88)
Bit
Byte
7
6
5
0
4
3
2
1
0
Rsvd=0
FUA_N
V
Rsvd=0
Command Code = 88h
1
RDPROTECT
DPO
FUA
(MSB)
2-9
Logical Block Address
(LSB)
(MSB)
10-13
Transfer Length
(LSB)
Restricted
14
For
Reserved = 0
GROUP NUMBER
MMC-4
15
VU = 0
Reserved = 0
FLAG
LINK
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
156
16.19 READ (32) - (7F/09)
Table 127: READ (32) - (7F/09)
Bit
Byte
7
6
5
0
1
4
3
2
1
0
FLAG
LINK
Command Code = 7Fh
VU = 0
Reserved = 0
2-5
Reserved = 0
6
Reserved = 0
Group Number = 0
7
Additional CDB Length = 18h
8-9
Service Action = 0009h
10
RDPROTECT
11
DPO
FUA
Rsvd=
0
FUA_
NV
Rsvd=0
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)
The READ command requests that the drive transfer data from drive 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. 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
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
157
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
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
158
16.20 READ BUFFER (3C)
Table 128: READ BUFFER (3C)
Bit
Byte
7
6
5
0
4
3
2
1
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
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.
MODE
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
All others
Not supported
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
159
16.20.1 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.
Table 129: Read Buffer Header
Bit
Byte
7
0
1-3
6
5
4
3
2
1
RSVD = 0
(MSB)
Buffer Capacity
(LSB)
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.
16.20.2 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 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.
•
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
160
16.20.3 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 drive returns all zeros in the READ BUFFER descriptor.
•
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 transfered.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.
Table 130: Read Buffer Description
Bit
Byte
7
0
1-3
6
5
4
3
2
1
Offset Boundary = 0x09
(MSB)
Buffer Capacity
(LSB)
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
161
16.20.4 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.
16.20.5 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.
Table 131: Echo Buffer Descriptor
Bit
Byte
7
6
5
0
3
3
2
1
Reserved = 0
1
2
4
0
EBOS=0
Reserved = 0
Reserved = 0
(MSB) Buffer Capacity
Buffer Capacity
(LSB)
•
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.
16.20.6 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).
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
162
16.21 READ CAPACITY (10) - (25)
Table 132: READ CAPACITY (10) - (25)
Bit
Byte
7
6
5
0
4
3
2
1
0
Command Code = 25h
1
Reserved = 0
Obsolete
Reserved = 0
(MSB)
2-5
Logical Block Address
(LSB)
6-7
Reserved = 0
8
Reserved = 0
9
VU = 0
PMI
Reserved = 0
FLAG
LINK
The READ CAPACITY command returns information regarding the capacity of the drive.
•
Logical Block Address is used in conjunction with the PMI bit.
•
PMI (Partial Medium Indicator) indicates:
PMI
Description
0
The drive returns the last LBA of the drive. If the LBA field is not 0, 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.
1
The drive returns the last LBA and block length in bytes are that of the LBA after which a substantial delay
in data transfer will be encountered. On SSDs, this returned LBA is the last LBA of the drive. If the LBA
field is greater than the last LBA of the drive, 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
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
163
16.21.0.1 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.
Table 133: Format of READ CAPACITY command reply
Bit
Byte
6
7
5
4
3
2
1
0
(MSB)
Maximum Logical Block Address
0-3
(LSB)
(MSB)
4-7
Block Length
(LSB)
•
Block Length specifies the length in bytes of each block of user data (not including protection information).
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
164
16.22 READ CAPACITY (16) (9E/10)
Table 134: Read Capacity (16) (9E/10)
Bit
Byte
6
7
5
0
4
3
2
1
0
Command Code = 9Eh
1
Reserved = 0
Service Action = 10h
2-9
(MSB)
Logical Block Address
(LSB)
10-13
(MSB)
Allocation Length
(LSB)
14
Reserved = 0
15
PMI
CONTROL
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.
The contents of the CONTROL byte are defined in SAM-4.
16.22.1 Returned Data Format
Table 135: Returned Data Format
Bit
Byte
6
7
5
4
3
2
1
0
0-7
(MSB)
Returned Logical Block Address
(LSB)
8 - 11
(MSB)
Logical Block Length in Bytes
(LSB)
12
Reserved = 0
13
P_I_Exponent
14
15
16 - 31
TPE
TPRZ
P_Type
Prot_En
Logical Block Per Physical Block Exponent
(MSB)
Lowest Aligned Logical Block Address
Lowest Aligned Logical Block Address
(LSB)
Reserved
The RETURNED LOGICAL BLOCK ADDRESS field and LOGICAL BLOCK LENGTH IN BYTES field of the READ
CAPACITY (16) parameter data are the same as the in the READ CAPACITY (10) parameter data.
The maximum value that shall be returned in the RETURNED LOGICAL BLOCK ADDRESS field is
FFFF_FFFF_FFFF_FFFEh.
The protection type (P_TYPE) field and the protection enable (PROT_EN) bit indicate the logical unit’s current type of protection.
See table below:
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
165
Table 136: P_TYPE field and PROT_EN bit
PROT_EN
P_TYPE
Description
0
xxxb
The logical unit is formatted to type 0 protection
1
000b
The logical unit is formatted to type 1 protection
1
001b
The logical unit is formatted to type 2 protection
1
010b
The logical unit is formatted to type 3 protection
1
011b to 111b
Reserved
The P_I_EXPONENT field may be used to determine the number of protection information intervals placed within
each logical block.
The number of protection information intervals is calculated as follows:
number of protection information intervals = 2*(p_iexponent)
where:
p_i exponent is the contents of the P_I EXPONENT field
The Logical Block Per Physical Block Exponent field is defined below:
Table 137: LOGICAL BLOCKS PER PHYSICAL BLOCK EXPONENT field
Code
Description
0
One or more physical blocks per logical block (a)
n>0
1
2 n logical blocks per physical block Equation
The logical unit is formatted to type 2 protection
(a) The number of physical blocks per logical block is not reported.
If the thin provisioning enabled (TPE) bit is set to one, then the logical unit implements thin provisioning
If the TPE bit is set to zero, then the logical unit implements full provisioning
If the thin provisioning read zeros (TPRZ) bit is set to one, then, for an unmapped LBA specified by a read
operation, the device server shall send user data with all bits set to zero to the data-in buffer. If the TPRZ bit is
set to zero, then, for an unmapped LBA specified by a read operation, the device server shall send user data
with all bits set to any value to the data-in buffer.
The LOWEST ALIGNED LOGICAL BLOCK ADDRESS field indicates the LBA of the first logical block that is located at
the beginning of a physical block.
NOTE: The highest LBA that the lowest aligned logical block address field supports is 3FFFh (i.e, 16,383).
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
166
16.23 READ DEFECT DATA (37)
Table 138: READ DEFECT DATA (37)
Bit
Byte
7
6
5
0
Reserved = 0
2
Reserved = 0
3-6
9
3
2
1
0
Command Code = 37h
1
7-8
4
Reserved = 0
Plist
Glist
0
Defect List Format
Reserved = 0
(MSB)
Allocation Length
(LSB)
VU = 0
Reserved = 0
FLAG
LINK
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 '101 (Physical Sector Format)' is 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 a 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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
167
Table 139: Defect List Format
Preferred Defect List Format
Returned Defect List Format
Block (000b)
Physical Sector
Bytes from Index (100b)
Physical Sector
Physical Sector (101b)
Physical Sector
Vendor Unique (110b)
Physical Sector
Reserved (001b)
Reserved (010b)
Reserved (011b)
Reserved (111b)
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
168
16.23.1 Defect List Header
Table 140: Defect List Header
Bit
Byte
7
6
5
4
3
2
1
0
Defect List Header
0
Reserved = 0
1
2-3
Reserved = 0
Plist
(MSB)
Glist
Defect List Format
Defect List length
(LSB)
16.23.2 Defect List Descriptor
Table 141: 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
16.23.3 Physical Sector Format (101b)
Table 142: Defect Descriptors of Physical Sector Format
Byte
Defect Descriptors
3-0
(MSB)
Die of Defect
(LSB)
7-4
(MSB)
Erase Block of Defect
(LSB)
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
169
16.24 READ DEFECT DATA (B7)
Table 143: READ DEFECT DATA (B7)
Bit
Byte
7
6
5
0
3
2
1
0
Command Code = B7h
1
Reserved = 0
Plist
2-5
6-9
4
Glist
Defect List Format
Reserved = 0
(MSB)
Allocation Length
(LSB)
10
Reserved = 0
11
VU = 0
Reserved = 0
FLAG
LINK
1
0
(See Section 16.23 READ DEFECT DATA (37)” on page 167.)
16.24.1 Defect List Header
Table 144: Defect List Header
Bit
Byte
7
6
5
4
3
2
Defect List Header
0
Reserved = 0
1
Reserved = 0
2-3
Plist
Glist
Defect List Format
Reserved = 0
(MSB)
4-7
Defect List length
(LSB)
(See Defect List Header for Read Defect Data (37) in Section Table 16.23.1, “Defect List Header,” on page 169.)
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
170
16.24.2 Defect List Descriptor
Table 145: 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
(See Defect List Descriptor for Read Defect Data (37) in Section 16.23.2 Defect List Descriptor” on page 169.)
16.24.3 Physical Sector Format (101b)
Table 146: Defect Descriptors of Physical Sector Format
Byte
Defect Descriptors
(MSB)
0-3
Die of Defect
(LSB)
(MSB)
4-7
Erase Block of Defect
(LSB)
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
171
16.25 READ LONG (3E)
Table 147: READ LONG (3E)
Bit
Byte
7
6
5
0
4
3
2
1
0
Command Code = 3Eh
1
Reserved = 0
Reserved = 0
Correct
=0
Obsolete
(MSB)
Logical Block Address
2-5
(LSB)
6
7-8
9
Reserved = 0
(MSB)
Byte Transfer Length
(LSB)
VU = 0
Reserved = 0
FLAG
LINK
The READ LONG command requests the drive to transfer one block of data to the Initiator. The transfer data includes data and
ECC field data.
•
Correct bit is ignored. ECC correction is always performed. If ECC correction fails, the Target terminates the command with Check Condition status, the sense key is set to Medium Error, and an additional sense code set to Unrecovered Read Error.
•
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 nonzero 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 + 4
The data read by this command is neither read from nor retained in the cache.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
172
16.26 REASSIGN BLOCKS (07)
Table 148: REASSIGN BLOCKS (07)
Byte
Bit
7
6
5
0
4
3
2
1
0
Command Code = 07h
1
Reserved = 0
Reserved = 0
2
3
Reserved = 0
4
5
VU = 0
Reserved = 0
FLAG
LINK
The REASSIGN BLOCKS command is implemented as a no-op on the SSD. To maintain compatibility, the SSD performs
protocol checking on the CDB and a range check of the LBA(s) transferred to the drive during the DATA OUT phase.
The REASSIGN BLOCKS command will not modify the specified LBAs or attempt to recover or reallocate them. An unreadable LBA will remain unreadable after execution of a REASSIGN BLOCKS command.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
173
Following is the format of the data sent by the Initiator during the DATA OUT phase.
Table 149: Format of Reassign Blocks data
Bit
Byte
7
6
5
4
0
Reserved = 0
1
Reserved = 0
(MSB)
2-3
3
2
1
Defect List Length = 4/8/12/16
(LSB)
(MSB)
4-7
Defect Logical Block Address 1
(LSB)
(MSB)
8-11
Defect Logical Block Address 2
(LSB)
(MSB)
12-15
Defect Logical Block Address 3
(LSB)
(MSB)
16-19
Defect Logical Block Address 4
(LSB)
•
Defect List Length must be 4, 8, 12, or 16. Otherwise, the drive returns Check Condition with a sense key of Illegal
Request.
•
Defective Logical Block Address is four bytes in length. The Initiator can specify from 1 to 4 Defective Logical
Block Addresses according to the Defect List Length from 4 to 16, respectively. LBAs are not required to be in
ascending order. If the Defective Logical Block Address is greater than the maximum LBA of the drive, the command will be terminated with Check Condition with a sense key of Illegal Request.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
174
16.27 RECEIVE DIAGNOSTICS RESULTS (1C)
Table 150: RECEIVE DIAGNOSTIC RESULTS (1C)
Bit
Byte
7
6
5
4
0
3
2
1
0
Command Code = 1Ch
1
Reserved = 0
Reserved = 0
2
PCV
Page Code
3
(MSB)
Allocation Length
4
(LSB)
5
VU = 0
Reserved = 0
FLAG
LINK
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.
16.27.1 Receive Diagnostic Results Page 0
This page contains a list of supported pages.
Table 151: Receive Diagnostic Results page 0
Bit
Byte
7
6
5
4
3
0
Page Code = 0
1
Reserved = 0
2-3
Page Length = 03h
4
(Supported Pages) Page = 0h
5
CJTPAT page = 3Fh
6
Translate address page = 40h
2
1
The supported diagnostic page returns a list of supported pages in ascending order.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
175
0
16.27.2 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. Note that this address translation functionality is only supported by the SSD for HDD compatibility. The physical address does not represent a true physical address on the SSD's media.
Table 152: Receive Diagnostic Results Page 40
Byte
Bit
7
6
5
4
3
0
Page Code = 40h
1
Reserved = 0
2-3
Page Length
4
5
Reserved = 0
RA
1
0
Supplied format
Reserved=0
6-n
2
Translate format
Translated Address
•
Page Length is set to 02h if the address is in a Reserved Area (RA =1). Otherwise, Page Length is set to 06h if the
Translate Format is Block format, or 0Ah if the Translate Format is Bytes From Index format or Physical Sector format.
•
Supplied Format is the value supplied by the SEND DIAGNOSTIC command; it may be one of the three following
values:
- 000b 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 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 Block format. Otherwise the Target will terminate the command with Check Condition
status.
•
RA (Reserved Area) is set to on if the translated block is an inaccessible sector, which reflects a defect, an unused
sector on a spare cylinder, or a sector beyond the Maximum Customer LBA.
•
Translated Address contains the address in the translate format. If it is an LBA, it is contained within the first four
bytes of the field (bytes 6 to 9) of the page data. For a physical format it is as follows:
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
176
Table 153: Translated address
Byte
6-13
Bit
7
6
5
4
3
2
1
Physical Address
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
177
0
16.28 RELEASE (17)
Table 154: RELEASE (17)
Bit
Byte
7
6
5
0
1
4
3
2
0
Command Code = 17h
Reserved = 0
3rdPty=0
3rd Party ID
2
Reservation Identification
3-4
Reserved = 0
5
1
VU = 0
Reserved = 0
Ext=0
FLAG
LINK
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
178
16.29 RELEASE (57)
Table 155: RELEASE (57)
Bit
Byte
7
6
5
0
1
4
3
2
0
Command Code = 57h
Reserved = 0
2
3rdPty=0
Reserved = 0
Ext = 0
Reservation Identification
3
3rd Party Device ID
4-8
Reserved = 0
9
1
VU = 0
Reserved = 0
FLAG
LINK
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
179
16.30 REPORT DEVICE IDENTIFIER (A3/05)
Table 156: REPORT DEVICE IDENTIFIER (A3/05)
Bit
Byte
7
6
5
0
4
3
2
1
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
11
Reserved = 0
VU = 0
Reserved = 0
FLAG
LINK
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
180
Table 157: Report Device Identifier parameter list
Byte
0-3
4-n
Bit
7
(MSB)
6
5
4
3
2
1
0
Identifier Length = n - 3
(LSB)
Identifier
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.
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
181
16.31 REPORT LUNS (A0)
Table 158: REPORT LUNS (A0)
Bit
Byte
7
6
5
4
3
0
Command Code = A0h
1-5
Reserved
2
1
0
(MSB)
6-9
Allocation Length
(LSB)
10
Reserved
11
VU = 0
Reserved = 0
FLAG
LINK
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.
Table 159: LUN Reporting parameter list format
Byte
0-3
Bit
7
(MSB)
6
5
4
3
2
1
0
LUN List Length = 8
(LSB)
4-7
Reserved
(MSB)
8-15
LUN = 0
(LSB)
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
182
16.32 REPORT SUPPORTED OPERATION CODES (A3/0C)
Table 160: REPORT SUPPORTED OPERATION CODES (A3/0C)
Bit
Byte
7
6
5
0
4
3
2
1
0
Command Code = A3h
1
Reserved = 0
2
Service Action = 0Ch
Reserved = 0
RCTD
Reporting Options
3
Requested Operation Code
4-5
Requested Service Action
6-9
Allocation Length
10
Reserved = 0
11
VU = 0
Reserved
FLAG
LINK
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 16.32.1) that is returned or in the one_command parameter data (see section
16.32.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.
Table 161: Reporting Options
Reporting Options
Description
000b
A list of all operation codes and service actions supported by the drive will be returned in the
all_commands parameter data format. The Requested Operation Code field and Requested
Service Action field will be ignored.
001b
010b
011b-111b
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 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 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.
Reserved
Requested Operation Code specifies the operation code of the command to be returned in the one_command parameter data
format.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
183
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.
16.32.1 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).
Table 162: All_command parameter data format
Bit
Byte
7
6
5
4
3
0-3
Command Data Length (n-3)
4
Command Descriptor 0
N
Command Descriptor X
2
1
0
Each Command Descriptor contains information about a single supported command CDB.
Table 163: Command Descriptor format
Byte
Bit
7
6
5
4
3
0-3
Operation Code
1
Reserved = 0
2-3
Service Action
4
Reserved = 0
5
Reserved = 0
2
1
0
CTDP
Servactv
6-7
CDB Length
8-19
Command Timeouts Descriptor, if any (see 16.32.3)
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
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
184
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
18.32.3) 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.
16.32.2 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.
Table 164: One_command parameter data format
Bit
Byte
7
0
1
6
5
4
3
2
1
0
Reserved = 0
CTDP
Reserved = 0
Support
2-3
CDB Size (n-3)
4-n
CDB Usage Data
n+1 n+12
Command Timeouts Descriptor, if any (see 16.32.3)
CTDP: A command timeouts descriptor present bit set to one indicates that the command timeouts descriptor is included in
this command descriptor. (see section 16.32.3) A CTDP bit set to zero indicates that the command timeouts descriptor is not
included in this command descriptor.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
185
The Support field is defined in the table below.
Table 165: One_command parameter support field
Recording Option
000b
001b
Description
Data about the requested command is not currently available. All data after
byte 1 is not valid. A subsequent request for command support data may be
successful.
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.
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
186
16.32.3 Command timeouts descriptor format
16.32.3.1 Overview
The command timeouts descriptor (see Table 166: ) 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.
Table 166: Command timeouts descriptor format
Byte
7
6
5
4
3
2
0-1
Descriptor Length (0Ah)
2
Reserved = 0
3
Command Specific
4- 7
Nominal Command Processing Time-out
8 - 11
Recommended Command Time-out
1
0
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 167: ) 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.
Table 167: Command timeouts descriptor Command Specific Field usage
Command
Reference
WRITE BUFFER
See Section 16.32.3.2
16.32.3.2 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 subclause, 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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
187
16.33 REPORT SUPPORTED TASK MANAGEMENT FUNCTIONS
(A3/0D)
Table 168: Report Supported Task Management Functions (A3/0D)
Bit
Byte
7
6
5
0
4
3
2
1
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
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
0
1
7
6
5
4
3
2
1
0
ATS
ATSS
CACAS
CTSS
LURS
QTS
TRS
WAKES
QUAS
QTSS
ITNRS
Reserved
2
Reserved
3
Reserved
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
188
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
189
16.34 REQUEST SENSE (03)
Table 169: REQUEST SENSE (03)
Bit
Byte
7
6
5
0
1
4
3
1
0
FLAG
LINK
Command Code = 03h
Reserved = 0
Reserved = 0
2-3
Reserved = 0
4
Allocation Length
5
2
VU = 0
Reserved = 0
The REQUEST SENSE command requests the drive to transfer sense data.
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 shall 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.
The drive will return the number of bytes in the allocation length or 32 bytes, whichever is less.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
190
16.35 RESERVE (16)
Table 170: RESERVE (16)
Bit
Byte
7
6
5
0
Reserved = 0
2
5
3
2
1
0
Command Code = 16h
1
3-4
4
3rdPty=0
3rd Party ID
Ext=0
Reservation Identification
(MSB)
Extent List Length = 0
(LSB)
VU = 0
Reserved = 0
FLAG
LINK
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
191
16.36 RESERVE (56)
Table 171: RESERVE (56)
Bit
Byte
7
6
5
0
4
3
2
Reserved = 0
3rdPty=0
Reserved
2
Reservation Identification
3
Third Pay Device ID
4-6
Reserved = 0
9
0
Command Code = 56h
1
7-8
1
(MSB)
Ext=0
Extent List Length = 0
(LSB)
VU = 0
Reserved = 0
FLAG
LINK
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
192
16.37 REZERO UNIT (01)
Table 172: REZERO UNIT (01)
Bit
Byte
7
6
5
0
1
3
2
1
0
FLAG
LINK
Command Code = 01h
Reserved = 0
2-4
5
4
Reserved = 0
Reserved = 0
VU = 0
Reserved = 0
The REZERO UNIT command is implemented as a no-op on the SSD.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
193
16.38 SEEK (6) - (0B)
Table 173: SEEK (6) - (0B)
Bit
Byte
7
6
5
0
4
3
2
1
0
Command Code = 0Bh
1
Reserved = 0
(MSB)
2
LBA
Logical Block Address
3
(LSB)
4
Reserved = 0
5
VU = 0
Reserved = 0
FLAG
LINK
The SEEK (6) command is implemented as a no-op on the SSD. No checking is performed on the LBA in the CDB.
16.39 SEEK (10) - (2B)
Table 174: SEEK (10) - (2B)
Byte
Bit
7
6
5
0
4
3
2
1
0
Command Code = 2Bh
1
Reserved = 0
Reserved = 0
0
(MSB)
Logical Block Address
2-5
(LSB)
6-8
9
Reserved = 0
VU = 0
Reserved = 0
FLAG
LINK
The SEEK (10) command is implemented as a no-op on the SSD. No checking is performed on the LBA in the CDB.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
194
16.40 SEND DIAGNOSTIC (1D)
Table 175: SEND DIAGNOSTIC (1D)
Bit
Byte
7
6
5
0
Function Code
2
5
3
2
1
0
SlfTst
Dev0fl
Unt0fl
Command Code = 1Dh
1
3-4
4
PF
RSVD =0
Reserved = 0
(MSB)
Parameter List Length
(LSB)
VU = 0
Reserved = 0
FLAG
LINK
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
195
Table 176: SEND DIAGNOSTIC Function Code (1D)
Value
Function name
Descrition
000b
NA
Value to be used when the SlfTst bit is set to one or if the
SEND DIAGNOSTIC command is not invoking one of the
other self-test function codes.
001b
Background Short self-test
The device server starts its short self-test routine in background mode.
010b
Background extended self-test
The device server starts its extended self-test routine in
background mode.
011b
NA
Reserved.
100b
Abort background self-test
Abort the current self-test in the background mode. This
value is only valid if a previous SEND DIAGNOSTIC command specified a background self-test function and that
function has not been completed.
101b
Foreground short self-test
The device server starts its short self-test routine in the foreground mode. This self-test will complete in two minutes or
less.
110b
111b
Foreground extended self-test
The device server starts its extended self-test routine in the
foreground mode.The completion time for this test is
reported in Mode Page 0Ah (refer to section 17.11.9 “Mode
Page 0A).
Reserved.
•
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.
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 “Diagnostics” on page 249. for a detailed listing of operations carried out by the SEND DIAGNOSTIC command and
Power on Diagnostics.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
196
16.40.1 Send Diagnostic Page 0
This page requests that the drive return a list of supported pages on the next RECEIVE DIAGNOSTICS command.
Table 177: Diagnostic Page 0
Bit
Byte
7
6
5
4
3
0
Page Code = 0
1
Reserved = 0
2-3
2
1
0
2
1
0
Page Length = 0
16.40.2 Send Diagnostic Page 3F
Table 178: Diagnostic Page 3F
Bit
Byte
7
6
5
0
4
3
Page Code = 3F
1
Reserved = 0
2-3
Protocol Identifier = 6
Page Length = 1Ch
4
Phy Identifier
5
Phy Test Function
6
Phy Test Pattern
7
Rsvd=0
Phy Test
Pattern
SATA =
0
Phy Test Pattern
SSC
Phy Test Pattern Physical Link Rate
8 - 10
Reserved = 0
11
Phy Test Pattern Dwords Control
12 - 19
Phy Test Pattern Dwords
20 - 31
Reserved = 0
•
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
197
Phy Test Function
00h
01h
Description
If the selected phy is performing
a phy-test function, then the
selected phy stop performing 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 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
FEh
FFh
Unsupported
Analog Loopback - If the
selected phy is not performing a
phy test function, the selected
phy 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 will be
set to retransmit the retimed data
pattern received by the phy
receiver
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
198
•
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.
Phy Test Pattern
Description
00h
Reserved
01h
JTPAT
02h
CJTPAT
03h-0Fh
Reserved
10h
TRAIN (Not Supported)
11h
TRAIN_DONE (Not Supported)
12h
IDLE
13h
SCRAMBLE_0
14h - 3Fh
Reserved
40h
TWO_DWORDS
41h - EFh
Reserved
F0h
PRBS7 (DcC un-balanced version)
F0h-FFh
Reserved
•
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. 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.
Note: The drive's SSC hardware is shared between both ports. In order for the drive to transmit SSC, both ports must be
configured with SSC enabled. When Phy Test Pattern SSC is specified, drive will apply the SSC modulation type to both
ports in order for spreading to occur. This could cause link disruption if the connected HBA is unable to receive a SSC
signal.
Phy Test Pattern SSC Code
Description
00h
No SSC
01h
Center-spreading SSC (Not supported)
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
199
•
•
10h
Down-spreading SSC
11h
Reserved
Phy Test Pattern Dwords Control controls whether the bytes in the Phy Test Pattern Dwords field are sent as control characters or data characters.
Phy Test Pattern Dwords Control
Description
00h
Each byte is sent as a data character
08h
Not supported
80h
Not supported
88h
The first and fifth bytes are sent as control characters, other
bytes are sent as data characters. Note: the value of the two
Dwords must be the same.
Phy Test Pattern Dwords contains the two Dwords that are sent during a TWO_DWORDS test pattern.
16.40.3 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
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
200
returned. The data translation will be performed upon receipt of the RECEIVE DIAGNOSTICS command.
Table 179: Diagnostic Page 40
Byte
Bit
7
6
5
0
4
3
2
1
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
Supplied Format may take one of the following three values:
- 000b Block format
- 100b Bytes From Index format
- 101b Physical Sector format
It specifies the format in which the address has been supplied.
•
Translate Format specifies the format that the address should be translated into. If the supplied format is the 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 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 logical block format is specified, the first four bytes of
the field (bytes 6 to 9) contain the LBA and the remainder must be zero. For the physical format the address must be
specified as follows.
Table 180: Address to translate
Byte
6-13
Bit
7
6
5
4
3
2
1
Physical Address
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
201
0
16.41 SET DEVICE IDENTIFIER (A4/06)
Table 181: SET DEVICE IDENTIFIER (A4/06)
Bit
Byte
7
6
5
0
4
3
2
1
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
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.
Table 182: SET DEVICE IDENTIFIER, Parameter List
Bit
Byte
0-n
7
6
5
4
3
2
1
0
Identifier
The IDENTIFIER field is a vendor specific value, to be returned in subsequent REPORT DEVICE IDENTIFIER commands.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
202
16.42 START STOP UNIT (1B)
Table 183: START STOP UNIT (1B)
Bit
Byte
7
6
5
0
3
2
1
0
Command Code = 1Bh
1
Reserved = 0
2
Immed
Reserved = 0
3
Reserved = 0
4
Power Condition
5
4
VU = 0
Power Condition Modifier
Reserved=0
Reserved = 0
LoEj
=0
FLAG
Start
LINK
The START STOP UNIT command is used to make the media accessible or inaccessible. At power-on, the SSD automatically
makes the media accessible, but START STOP UNIT emulates HDD behaviors by making the drive ready or not ready.
•
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.
•
Power Conditions and Power Condition Modifier fields are ignored. Power save modes are not supported.
•
Start bit is to specify:
0
make the media inaccessible
1
make the media accessible
START STOP UNIT with Start = 0 causes the firmware to save critical data to the media and make the SSD safe for power
removal. Removing power without issuing START STOP UNIT with Start = 0 causes a longer time to ready on the subsequent
power on.
Note: NOTIFY(ENABLE_SPINUP) is not required for the SSD to come ready after power on. Once the drive has become
ready, the START STOP UNIT command can be used without any errors regardless of the current state. Note that
NOTIFY(ENABLE_SPINUP) is required to transition from the Stopped state to the Ready state
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
203
16.43 SYNCHRONIZE CACHE (10) - (35)
Table 184: SYNCHRONIZE CACHE (10) - (35)
BIT
Byte
7
6
5
0
4
3
2
1
0
Immed
=0
Obsolete
Command Code = 35h
1
Reserved = 0
Reserved = 0
(MSB)
Logical Block Address
2-5
(LSB)
6
7-8
9
Reserved = 0
(MSB)
Number of Blocks
(LSB)
VU = 0
Reserved = 0
FLAG
LINK
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
204
16.44 SYNCHRONIZE CACHE (16) - (91)
Table 185: Synchronize Cache (16) - (91)
BIT
Byte
7
6
0
5
4
3
1
0
Immed
=0
Rsvd=
0
FLAG
LINK
Command Code = 91h
1
Reserved = 0
2-9
Logical Block Address
10-13
Number of Blocks
14
Reserved = 0
15
2
VU = 0
Reserved = 0
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
205
16.45 TEST UNIT READY (00)
Table 186: TEST UNIT READY (00)
Bit
Byte
7
6
5
0
1
3
2
1
0
FLAG
LINK
Command Code = 00h
Reserved = 0
2-4
5
4
Reserved = 0
Reserved = 0
VU = 0
Reserved = 0
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 verify that the media is accessible. If the media is not accessible, Check Condition status is returned with sense
key of Not Ready. If the media is accessible, the drive returns good status and will execute 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 immediately and expects the
Initiator to issue TEST UNIT READY commands to determine when the media is accessible.
Note: The Power On sequence automatically transitions the drive to the Ready state. 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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
206
16.46 VERIFY (2F)
Table 187: VERIFY (2F)
Byte
BIT
7
6
5
0
4
3
2
1
0
Byte
Chk
RSVD
=0
Command Code = 2Fh
1
VRPROTECT
DPO
Reserved = 0
(MSB)
Logical Block Address
2-5
(LSB)
6
7-8
9
Reserved = 0
(MSB)
Verification Length
(LSB)
VU = 0
Reserved = 0
FLAG
LINK
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 bit set to zero indicates that the data is read from the drive and verified using ECC.If an ECC error is
detected in the verify process, Check Condition status is returned with sense key set to Medium Error. ByteChk bit
set to one indicates that byte-by-byte comparison is performed between the data on the drive and data transferred
from the initiator during the data-out phase.
If the comparison is unsuccessful, the command is terminated with Check Condition status and the sense key is set
to Miscompare.
•
DPO (Disable Page Out) bit is ignored.
•
The command implies FUA.
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.
VRPROTECT defines the manner in which protection information read from drive shall be checked during processing of the
command. Protection information is stored on drive, 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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
207
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
208
16.47 VERIFY (12) - (AF)
Table 188: Verify (12) - (AF)
Byte
BIT
7
6
5
0
4
3
2
1
0
Reserv
ed=0
Byte
Chk
Reserv
ed = 0
Command Code = AFh
1
VRPROTECT
DPO
FUA
(MSB)
Logical Block Address
2-5
(LSB)
(MSB)
6-9
Verification Length
(LSB)
10
11
Reserved = 0
VU = 0
Reserved = 0
FLAG
LINK
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
209
16.48 VERIFY (16) - (8F)
Table 189: Verify (16) - (8F)
Bit
Byte
7
6
5
0
4
3
2
1
0
Byte
Chk
Rsvd
=0
Command Code = 08Fh
1
VRPROTECT
DPO
Reserved = 0
(MSB)
2-9
Logical Block Address
(LSB)
(MSB)
10-13
Verification Length
(LSB)
14
15
Reserved = 0
VU = 0
Reserved = 0
FLAG
LINK
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
210
16.49 VERIFY (32) - (7F/0A)
Table 190: Verify (32) - 7F/0A)
Byte
Bit
7
6
5
0
1
4
3
2
1
0
FLAG
LINK
Command Code = 07Fh
VU = 0
Reserved = 0
2-5
Reserved = 0
6
Reserved = 0
Group Number = 0
7
Additional CDB Length = 18h
8-9
Service Action = 000Ah
10
RDPROTECT
11
DPO
Reserved = 0
ByteC
hk
Reserv
ed=0
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)
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
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
211
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
212
16.50 WRITE (6) - (0A)
Table 191: WRITE (6) - (0A)
Bit
Byte
7
6
5
0
1
3
2
1
0
Command Code = 0Ah
Reserved = 0
(MSB)
LBA
Logical Block Address
2-3
(LSB)
4
5
4
Transfer Length
VU = 0
Reserved = 0
FLAG
LINK
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 16.15 READ (6) - (08)” on page 152 for the parameters.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
213
16.51 WRITE (10) - (2A)
Table 192: WRITE (10) - (2A)
Bit
Byte
7
6
5
0
4
3
2
1
0
Rsvd=0
FUA_N
V
Obsolete
Command Code = 2Ah
1
WRPROTECT
DPO
FUA
(MSB)
Logical Block Address
2-5
(LSB)
6
7-8
9
Reserved = 0
(MSB
Transfer Length
(LSB)
VU = 0
Reserved = 0
FLAG
LINK
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 is ignored.
•
FUA (bit is ignored.
•
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 drive:
• 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
WRPROTECT defines the manner in which protection information written to drive 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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
214
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 drive 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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
215
16.52 WRITE (12) - (AA)
Table 193: Write (12) - (AA)
Bit
Byte
7
6
0
5
4
3
2
1
0
FUA_NV
Rsvd=0
Command Code = AAh
1
WRPROTECT
DPO
FUA
Rsvd=0
(MSB)
2-5
Logical Block Address
(LSB)
(MSB)
6-9
Transfer Length
(LSB)
10
11
Reserved=0
VU = 0
Reserved = 0
FLAG
LINK
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
216
16.53 WRITE (16) - (8A)
Table 194: Write (16) - (8A)
Bit
Byte
7
6
0
5
4
3
2
1
0
Rsvd=0
FUA_NV
Rsvd=0
Command Code = 8Ah
1
WRPROTECT
DPO
FUA
(MSB)
2-9
Logical Block Address
(LSB)
(MSB)
10-13
Transfer Length
(LSB)
14
15
Reserved = 0
VU = 0
Reserved = 0
FLAG
LINK
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
217
16.54 WRITE (32) - (7F/0B)
Table 195: Write (32) - (7F/0B)
Bit
Byte
7
6
0
5
4
3
2
1
0
FLAG
LINK
FUA_NV
Rsvd=0
Command Code = 7Fh
1
VU = 0
Reserved = 0
2-5
Reserved = 0
6
Reserved = 0
Group Number = 0
7
Additional CDB Length = 18h
8-9
Service Action = 000Bh
10
WRPROTECT
11
DPO
FUA
Rsvd=0
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)
The WRITE command requests that the drive write data transferred from the initiator to drive. Each logical block transferred
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
218
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
219
16.55 WRITE AND VERIFY (10) - (2E)
Table 196: WRITE AND VERIFY (10) - (2E)
Bit
Byte
7
6
5
0
4
3
2
1
0
Byte
Chk
Obsolete
Command Code = 2Eh
1
WRPROTECT
DPO
Reserved = 0
(MSB)
Logical Block Address
2-5
(LSB)
6
7-8
9
Reserved = 0
(MSB)
Transfer Length
(LSB)
VU = 0
Reserved = 0
FLAG
LINK
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. An implied FUA (Force Unit Access) and an implied Synchronize Cache are performed before starting the operation. This insures that data from the drive, 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.
•
ByteChk bit set to zero indicates that the data is read back from the drive and verified using ECC after the successful
write operation. If an ECC error is detected in the verify process, Check Condition status is returned with sense key
set to Medium Error. ByteChk bit set to one indicates that byte-by-byte comparison is performed between data on the
drive starting the block specified in LBA field and data transferred from the Initiator.
If the comparison is unsuccessful, the command is terminated with Check Condition status and the sense key is set
to Miscompare.
•
DPO (Disable Page Out) bit is ignored.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
220
16.56 WRITE AND VERIFY (12) - (AE)
Table 197: Write and Verify (12) - (AE)
Byte
Bit
7
6
5
0
4
3
2
1
0
ByteChk
Obsolete
Command Code = AEh
1
WRPROTECT
DPO
Reserved = 0
(MSB)
2-5
Logical Block Address
(LSB)
(MSB)
6-9
Transfer Length
(LSB)
10
11
Reserved = 0
VU = 0
Reserved = 0
FLAG
LINK
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
221
16.57 WRITE AND VERIFY (16) - (8E)
Table 198: Write and Verify (16) - (8E)
Bit
Byte
7
6
5
0
4
3
2
1
0
Byte
Chk
Obsolete
Command Code = 8Eh
1
WRPROTECT
DPO
Reserved = 0
(MSB)
2-9
Logical Block Address
(LSB)
10-13
(MSB)
(LSB)
14
15
Transfer Length
Reserved = 0
VU = 0
Reserved = 0
FLAG
LINK
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
222
16.58 WRITE AND VERIFY (32) - (7F/0C)
Table 199: Write and Verify (32) - (7F/0C)
Byte
Bit
7
6
5
0
1
3
2
VU = 0
Reserved = 0
0
FLAG
LINK
Reserved = 0
Reserved = 0
Group Number = 0
7
Additional CDB Length = 18h
8-9
Service Action = 000Ch
10
1
Command Code = 7Fh
2-5
6
4
WRPROTECT
DPO
Reserved = 0
ByteChk
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
Reserved=0
The WRITE AND VERIFY command requests that the drive write the data transferred from the initiator to drive 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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
223
16.59 WRITE BUFFER (3B)
Table 200: WRITE BUFFER (3B)
Bit
Byte
7
6
5
0
1
4
2
1
0
FLAG
LINK
Command Code = 3Bh
Reserved = 0
Mode
2
Buffer ID
3-5
Buffer Offset
6-8
9
3
Parameter List Length
VU = 0
Reserved = 0
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.
MODE
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
11010
Enable expander Communications Protocol
All Others
Not Supported
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.
16.59.1 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
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
224
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.
Table 201: Write Buffer Header
Bit
Byte
7
6
5
0-3
4
3
2
1
0
Reserved = 0
16.59.2 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.
16.59.3 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
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
225
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.
16.59.4 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 drive. 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 HGST development purposes only.
16.59.5 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.
16.59.6 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.
16.59.7 Enable Expander Communications Protocol (Mode 11010b)
In this mode the drive behavior is the same as Write Data to Echo Buffer (Mode 0101b).
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
226
16.60 WRITE LONG (3F)
Table 202: WRITE LONG (3F)
Bit
Byte
7
6
5
0
4
3
2
1
0
Command Code = 3Fh
1
COR_DIS
WR_UNCOR
PBLOCK
=0
Obsolete
Reserved = 0
(MSB)
2-5
Logical Block Address
(LSB)
6
Reserved = 0
(MSB)
7-8
Byte Transfer Length
(LSB)
9
VU = 0
Reserved = 0
FLAG
LINK
The WRITE LONG command requests the drive to write one block of data transferred from the Initiator.
The transfer data must include
•
User Data
•
4 bytes of CRC data
Parameters are
•COR_DIS - correction disabled, bit 7 in byte 1. When this bit is set to one, we 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;
b) Perform no automatic reallocation of the affected logical blocks, including any automatic reallocation enabled by
the Read-Write Error Recovery mode page;
c) 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);
d) not 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.
WR_UNCOR - write uncorrectable, bit 6 in byte 1. If the drive receives a Write Long command with the WR_UNCOR
bit set to one, the drive creates a pseudo unrecovered error with correction enabled. On subsequent 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
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
227
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.
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.
Note: Since the ECC bytes are not included in the Read Long data, ECC correction capability cannot be tested using Read/
Write Long. The CRC returned in the Read Long data transfer is not re-calculated on a Write Long, and a CRC check failure
on a subsequent Read will return check condition status with the sense key set to Aborted Command and the additional sense
code set to INTERNAL TARGET FAILURE.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
228
16.61 WRITE SAME (41)
Table 203: WRITE SAME (41)
Bit
Byte
7
6
5
0
4
3
2
1
0
PBDA
TA=0
LBDA
TA=0
Obsolete
Command Code = 41h
1
WRPROTECT
Reserved = 0
(MSB)
2-5
Logical Block Address
(LSB)
6
Reserved = 0
(MSB)
7-8
Number of Blocks
(LSB)
9
VU = 0
Reserved = 0
FLAG
LINK
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
229
16.62 WRITE SAME (16) - (93)
Table 204: Write Same (16) - (93)
Bit
Byte
7
6
5
0
3
2
1
0
Command Code = 93h
1
WRPROTECT
2-9
(MSB)
10-13
(MSB)
Reserved = 0
PBDATA LBDATA
Obsolete
=0
=0
Logical Block Address
(LSB)
Number of Blocks
14
15
4
(LSB)
Reserved = 0
VU = 0
Reserved = 0
FLAG
LINK
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. See the WRITE(10) command description for the definition of the WRPROTECT field.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
230
16.63 WRITE SAME (32) - (7F/0D)
Table 205: Write Same (32) - (7F/0D)
Byte
Bit
7
6
5
0
4
3
2
1
0
FLAG
LINK
Command Code = 7Fh
1
VU = 0
Reserved = 0
2-5
Reserved = 0
6
Reserved = 0
Group Number = 0
7
Additional CDB Length = 18h
8-9
Service Action = 000Dh
10
WRPROTECT
11
Reserved = 0
PBDATA LBDATA
Reserved
=0
=0
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)
The WRITE SAME command requests that the drive write a single block of data transferred from the initiator to drive 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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
231
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
232
17.0 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.
Table 206: SCSI Status Byte. Format of the SCSI STATUS byte.
Bit
7
6
Reserved = 0
5
4
3
2
1
Status Code
0
RSVD
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
233
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
234
18.0 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.
18.1 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.
18.1.1 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 18.1.2, “Invalid LUN Processing” on page 235)
2. Check Condition status for Incorrect Initiator Connection.
3. Check Condition status for Unit Attention Condition (See Section 18.1.4, “Unit Attention Condition” on page 237
4. Busy Status or Queue Full Status (See 18.1.3, “Command Processing During Execution of Active I/O Process” on
page 236
5. Check Condition status for Deferred Error Condition (See Section 18.1.7, “Deferred Error Condition” on page 239)
6. Check Condition status during Startup and Format operations (See Section “18.1.5, “Command Processing During
Startup and Format Operations” on page 239)
7. Reservation Conflict status (See Section 18.1.9, “Command Processing while Reserved” on page 246)
8. Check Condition status for invalid command opcode
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.
18.1.2 Invalid LUN Processing
Any value other than zero in the FCP_LUN field of the FCP_CMD IU 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 16.5, “INQUIRY (12)” on page 63).
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 16.34, “REQUEST SENSE (03)” on page 190).
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
235
18.1.3 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 18.1.1, “Priority of SCSI Status Byte Reporting” on page 235).
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 18.1.5, “Command Processing During Startup and Format Operations” on page 239 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 18.1.1, “Priority of SCSI Status Byte Reporting” on
page 235).
•
The command is permitted to execute if:
•
the command is a priority command (see 18.2, “Priority Commands” on page 246).
•
the conditions to execute concurrently are met (see 18.5, “Concurrent I/O Process” on page 247).
•
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 18.1.8, “Degraded Mode” on page 240) and a Start Unit command was previously queued but has not yet begun execution.
Busy status is never returned.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
236
18.1.4 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 Target Reset Task Management function or Reset LIP. In all of
these cases, a unit attention condition is generated for each initiator. In addition, a process login (PRLI) will cause a
Unit Attention Condition Power-On Reset for that initiator with an Additional Sense Code and Additional Sense
Code Qualifier reported as Power-On Reset, Power-On Reset Occurred.
•
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
237
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.
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
238
18.1.5 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.
18.1.6 Internal Error Condition
The Target generates an Internal Error condition for all Initiators when an internally initiated operation ends with an unrecoverable error.
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) 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.
18.1.7 Deferred Error Condition
Error code (71h) 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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
239
18.1.8 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:
•
Media Degraded which is caused by one of the following conditions:
- Context Load was started (by POR or Unit Start command) and the Target is under Self Configuration
- Context Load Failure (Disable Logical)
- Unit Stop command was issued after the Target successfully completed the Self Configuration
•
Self Configuration Failure Degraded which is caused by one of the following conditions:
- RAM Code, Read Failure
- RAM Code, 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)
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
240
18.1.8.1 Response to SCSI Command in Degraded Mode - Becoming Ready
Table 207: Media Degraded Mode Becoming ready
Command (w/Option)
Response
Request Sense
Executed. The Target may return Sense Key 02h (Not Ready) ASC/ASCQ
0401h (In Process of Becoming Ready)
Inquiry (EVPD=0)
Executed
Inquiry (EVPD=1)
Executed and Check Condition is returned with Sense Key 05h (Illegal Request)
ASC/ASCQ 2400h (Invalid Field in CDB)
Test Unit Ready
Executed and Check Condition is returned with Sense Key 02h (Not Ready)
ASC/ASCQ 0401h (In Process of Becoming Ready)
Start Stop Unit
Executed
(Start)
- Success: Good Status is returned. Media Degraded Mode is cleared
- Context Load Failure: Check Condition with Sense Key 04h (Hardware Error)
ASC/ASCQ 4400h (Internal Target Error)
- Self Configuration Failure: Check Condition with Sense Key 04h (Hardware
Error) ASC/ASCQ 4080h (Diag Fail- Bring up Fail)
Other Commands
Not Executed. Check Condition Status is returned with Sense Key 02h (Not
Ready) ASC/ASCQ 0401h (In Process of Becoming Ready)
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
241
18.1.8.2 Response to SCSI Command in Degraded Mode - Context Load
Table 208: Media Degraded Mode - Context Load Failure
Command (w/Option)
Response
Request Sense
Executed. The Target may return Sense Key 04h (Hardware Error) ASC/ASCQ
4400h (Internal Target Failure)
Inquiry (EVPD=0)
Executed
Inquiry (EVPD=1)
Executed and Check Condition is returned with Sense Key 05h (Illegal Request)
ASC/ASCQ 2400h (Invalid Field in CDB)
Test Unit Ready
Executed and Check Condition is returned with Sense Key 04h (Hardware
Error) ASC/ASCQ 4400h (Internal Target Failure)
Executed
Start Stop Unit
- Success: Good Status is returned. Media Degraded Mode is cleared
(Start)
- Context Load Failure: Check Condition with Sense Key 04h (Hardware Error)
ASC/ASCQ 4400h (Internal Target Failure)
- Self Configuration Failure: Check Condition with Sense Key 04h (Hardware
Error) ASC/ASCQ 4080h (Diag Fail- Bring up Fail)
Start Stop Unit
Executed. Good Status is returned. Media Degraded Mode is NOT cleared
(Stop)
Other Commands
Not Executed. Check Condition Status is returned with Sense Key 04h (Hardware Error) ASC/ASCQ 4400h (Internal Target Failure
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
242
18.1.8.3 Response to SCSI Command in Degraded Mode - Drive issued received unit stop Command.
Table 209: Media Degraded Mode - Drive issued, received Unit Stop Command
Command (w/Option)
Response
Request Sense
Executed. The Target may return Sense Key 02h (Not Ready) ASC/ASCQ
0402h (Initialize Command Required)
Inquiry (EVPD=0)
Executed
Inquiry (EVPD=1)
Executed
Test Unit Ready
Executed and Check Condition is returned with Sense Key 02h (Not Ready)
ASC/ASCQ 0402h (Initialize Command Required)
Executed
Start Stop Unit
- Success: Good Status is returned. Media Degraded Mode is cleared
(Start)
- Context Load Failure: Check Failure: Check Condition with Sense Key 04h
(Hardware Error) ASC/ASCQ 4400h (Internal Target Failure)
- Self Configuration Failure: Check Condition with Sense Key 04h (Hardware
Error) ASC/ASCQ 4080h (Diag Fail- Bring up Fail)
Start Stop Unit
Executed. Good Status is returned. Media Degraded Mode is NOT cleared
(Stop)
Other Commands
Not Executed. Check Condition Status is returned with Sense Key 04h (Hardware Error:) ASC/ASCQ 4400h (Internal Target Failure)
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
243
18.1.8.4 Self Configuration Failure Degraded Mode
Table 210: Self Configuration Failure Degraded Mode
Command (w/Option)
Response
Request Sense
Executed. The Target may return
Sense Key 04h (Hardware Error) ASC/ASCQ 4080h (Diag Fail- Bring up Fail)
Inquiry (EVPD=0)
Executed
Inquiry (EVPD=1)
Executed and Check Condition is returned with
Sense Key 05h (Illegal Request) ASC/ASCQ 2400h (Invalid Field in CDB)
Test Unit Ready
Executed and Check Condition is returned with
Sense Key 04h (Hardware Error) ASC/ASCQ 4080h (Diag Fail- Bring up Fail)
Executed
Start Stop Unit
- Success: Good Status is returned. Media Degraded Mode is cleared
(Start)
- Context Load Failure: Check Condition with Sense Key 04h (Hardware Error)
ASC/ASCQ 4400h (Internal Target Failure)
- Self Configuration Failure: Check Condition with Sense Key 04h (Hardware
Error) ASC/ASCQ 4080h (Diag Fail- Bring up Fail)
Write Buffer
Executed.
(Download and Save)
- Success: Good Status is returned. Media Degraded Mode is cleared
- Self Configuration Failure: Check Condition with Sense Key 04h (Hardware
Error) ASC/ASCQ 4080h (Diag Fail- Bring up Fail)
Sense Key 02h (Not Ready) ASC/ASCQ 4085h (Diag Fail-RAM code NOT
load)
Other Commands
Not Executed. Check Condition Status is returned with Sense Key 04h (Hardware Error) ASC/ASCQ 4080h (Diag Fail- Bring up Fail)
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
244
18.1.8.5 Format Command Failure Degraded Mode
Table 211: Format Command Failure Degraded Mode
Command (w/Option)
Response
Request Sense
Executed. The Target may return
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
Test Unit Ready
Executed and Check Condition is returned with Sense Key 02h (Not Ready)
ASC/ASCQ 3100h (Format Corrupted)
Format Unit
Executed
- Success: Good Status is returned. Format Degraded Mode is cleared
- Failure: Check Condition Status is returned and Format Degraded Mode is
NOT cleared.
Other Commands
Note:
Not Executed. Check Condition Status is returned with Sense Key 03h (Medium
Error) ASC/ASCQ 3100h (Format Corrupted)
Mode Page 0 byte 5 bit 4 (FDD) = 0
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
245
18.1.9 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 18.1.1, “Priority of SCSI Status Byte Reporting” on
page 235.
18.2 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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
246
18.3 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.
18.3.1 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.
18.3.2 Queue Full Status
The drive will respond with QUEUE FULL status to a SCSI command when all queue slots are utilitzed. The SCSI command
is not placed in the command queue under this condition.
18.3.3 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
•
Failure by an initiator to initiate Exchange Authentication within RR_TOV of the completion of Loop Initialization
results in an implicit logout and termination of all associated I/O processes (21.8.5 Effects of LIP on Command
Queuing on a page 291)
18.4 Command Reordering
Command reordering is supported when enabled by the Queue Algorithm Modifier in mode page 0A (see 16.10.9, “Mode
Page 0A (Control Mode Page Parameters)” on page 127.
18.5 Concurrent I/O Process
Concurrent command 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.
18.6 Write Cache
If the WCE (Write cache enable) bit is 1, the drive returns Good Status and Task complete message and goes to Bus Free
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
247
18.7 Automatic Rewrite/Reallocate
The target supports auto reallocation for all media access commands. Auto reallocation cannot be disabled, and the ARRE setting is ignored.
18.8 Segmented Caching
18.8.1 Overview
Segmented Caching divides the data buffer into several smaller buffers. Each buffer is used as Read/ Write/Read-Ahead buffer.
18.8.2 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 drive initiates the Read ahead function when the following conditions exist:
•
Read, Verify and Write and Verify is received.
•
The consecutive LBA of the requested LBA is not available in the buffer.
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.
18.9 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.
18.9.1 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.
18.9.2 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 18.1.4, “Unit Attention Condition” on page 237 for more information.
18.10 Multiple Initiator Environment
18.10.1 Initiator Sense Data
Separate sense data is reserved for each I-T-L. Each sense data is maintained independent of commands from other initiators.
18.10.2 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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
248
18.11 Reset
Reset actions will return the drive to a known, initialized state.
This device supports the reset sources discussed below.
18.11.1 Reset Sources
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.
00B Reset
This is an 00B Reset Sequence received on the SAS interface.
Target Reset
This is an FCP_CMD IU with the TARGET RESET TMF flag set.
Reset LUN
This is a FCP_CMD IU with the RESET LUN TMF flag set.
18.11.2 Reset Actions
The action taken by the drive following a reset is dependent on the source of the reset.
18.11.2.1 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 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.
18.12 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, PLI Capacitor), 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.
18.12.1 Power on Diagnostics
At power on time the following tests are executed:
1. Validation of ROM and EEPROM
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
249
2.
3.
4.
5.
6.
RAM test for internal RAM
Test and Initialize HDC registers
RAM test for Sector Buffer
PLI selftest
Validation of RAM code and data table (RDM, Log, Mode Page) from the Reserved Area
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.
18.12.2 Self-test via SEND DIAGNOSTIC Command
18.12.2.1 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.
Logical Enable Check to determine if the media is accessible logically.S
2. Write, Read and Compare test is a drive read/write test. It writes data to a predefined location in the reserved area
and then reads it back and validates the content.
18.12.2.2 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. The results of self-test can be retrieved via the LOG SENSE command for Log Page 10.
18.12.2.3 Self-test Modes
There are two modes for short and extended self-tests: a foreground mode and a background mode. These modes are described
in the following clauses.
Foreground mode
When the drive receives a SEND DIAGNOSTIC command specifying a self-test to be performed in the foreground mode, the
drive will return status for that command after the self-test has been completed. While performing a self-test in the foreground
mode, the drive will respond to all commands except INQUIRY, REPORT LUNS, and REQUEST SENSE with a CHECK
CONDITION status, a sense key of NOT READY and an additional sense code of LOGICAL UNIT NOT READY - SELFTEST 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
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
250
drive will return status for that command as soon as the command descriptor block has been validated. After returning status
for the SEND DIAGNOSTIC command specifying a self- test to be performed in the background mode, the drive will initialize the self-test results log page as follows. The Function Code from the SEND DIAGNOSTIC command will be placed in the
Function Code field in the log page. The self-test Results field shall be set to 0Fh. After the self-test results log page is initialized, the drive will begin the first self-test segment.
While the device server is performing a self-test in the background mode, it shall terminate with a CHECK CONDITION status any SEND DIAGNOSTIC command it receives that meets one of the following criteria:
a. The SlfTst bit is one
b. The Function Code field contains a value other than 000b or 100b.
When terminating the SEND DIAGNOSTIC command, the sense key shall be set to NOT READY and the additional sense
code shall be set to LOGICAL UNIT NOT READY, SELF-TEST in PROGRESS. While performing a self-test in the background mode, the drive will suspend the self- test to service any other command other than SEND DIAGNOSTIC (with Function Code field set to 100b) WRITE BUFFER (with the mode set to any download microcode option), FORMAT UNIT and
START UNIT STOP command. Suspension of the self-test to service the command will occur within 2 seconds. If SEND
DIAGNOSTIC (with Function Code field set to 100b), WRITE BUFFER (with the mode set to any download microcode
option), FORMAT UNIT or START UNIT STOP command is received, the drive will abort the self-test, update the self-test
log, and service the command within two seconds after the command descriptor block has been validated.
An application client may terminate a self-test that is being performed in the background mode by issuing a SEND DIAGNOSTIC command with the Function Code field set to 100b (Abort background self-test function).
Elements common to foreground and background self-test modes
The Progress Indication field returned in response to a REQUEST SENSE command may be used by the application client at
any time during execution of a self-test to poll the progress of the test. While executing a self-test unless an error has occurred,
the drive will respond to a REQUEST SENSE command by returning a sense key of NOT READY and an additional sense
code of LOGICAL UNIT NOT READY - SELF-TEST IN PROGRESS with the sense key specific bytes set for progress indication.
The application client may obtain information about the twenty most recently completed self-tests by reading the self-test
results log page. This is the only method for an application client to obtain information about self-tests performed in the background mode. The default self-test results are not logged in the log page.
Tests performed in the Short and Extended Self-test
The following table defines the tests performed in the short and extended self test. They are defined by their segment number
which is also used to report Self-Test Results, in Log Sense Page 10. Note that the only difference between the Short and the
Extended tests, is the sequential verify test in segment 7h. Also note that either of these tests can be run in foreground or back-
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
251
ground mode as previously described.
Table 212: Short and Extended Self-Test Description
Segment
Number
Short SelfTest
Extended
Self-Test
Test Description
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 18.12.2.1, “Default Self-test” on page 250
3h
PLI Test
Drain and recharge Caps
4h
SMART
Perform SMART testing and check results to ensure that
SMART threshold criteria are not exceeded
5h
Low Level Format check
Check to insure that the media is currently not in the
MEDIA FORMAT CORRUPTED state.
6h
Reserved Area check
Write/Read test in a predefined location in the drive's
Reserved Area of the drive.
7h
- Verify First
300MB
Verify all
LBA’s
Sequential verify operation. Ensure that no uncorrectable errors occur within the verify range.
- Verify Last
100 MB
8h
Recheck SMART
Same as segment 4h.
18.12.2.4 Background Medium Scan
For a related function, see Mode Page 1C (Informational Exceptions Control), page 138
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
252
18.13 Idle Time Function
The drive periodically saves data in logs and S.M.A.R.T. counters in the reserved area of the drives. The information is used by
the drive to support various SCSI commands and for the purpose of failure analysis.
18.14 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.
18.14.1 Reassignment Time
The drive should be allowed a minimum of 5 seconds to complete a “Reassign Blocks” command.
18.14.2 Format Time
Approximately 1 hour should be allowed to complete a “Format Unit” command.
18.14.3 Start/Stop Unit Time
The drive should be allowed a minimum of 10 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 start ups and “Start Stop Unit” commands (with
Immed bit = 1) to complete and place the drive in a “ready for use” state.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
253
18.14.4 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
Seek
Send Diagnostic (Function Code = 0)
Read Long
Reassign Blocks
Write
Write and Verify
Write Buffer
Write Long
Write Same
Verify
Note: The 5-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.
18.14.5 Time-out Limits for Other Commands
The drive should be allowed a minimum of 5 seconds to complete these commands:
Inquiry
Log Select
Log Sense
Mode Select
Mode Sense
Persistent Reserve In/Out
Read Buffer
Read Capacity
Release
Request Sense
Reserve
Set/Report Device Identifier
Start/Stop Unit (with Immed bit = 1)
Synchronize Cache
Test Unit Ready
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
254
18.15 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:
•
11 - Unrecovered read error
•
17 - Recovered read error
Nondata errors are those errors that do not have a direct relationship with transferring data to and from the media. Nondata
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.
18.15.1 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.
2.
3.
4.
Back up all the customer data on this drive if possible
Replace the complete drive
Restore the customer data
Return the drive to customer service
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
255
18.15.2 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)
18.15.3 Data Recovery Procedure
No action can be taken on hard or soft read errors. Block retirement happens automatically based on the block retirement policy in the firmware. LBAs that report a hard read error will become readable after a write. Until a write command is received
for the affected LBAs, a hard error will be reported on a read to the affected LBAs.
18.15.4 Nondata Error Recovery Procedure
The Drive will follow a logical recovery procedure for nondata 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.
18.15.4.1 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 18.14, “Command Time out Limits” on
page 253, then service the drive using the service guidelines recommended in Section 18.15.1, “Drive Service
Strategy” on page 255. Otherwise return to normal processing.
•
If the Test Unit Ready (00) (or media access) command completes with Good Status, then return to normal processing.
18.15.4.2 Unrecovered Drive Error
The initiator should retry the failing command.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
256
5. If the retry of the failing command completes with Good Status or recovered Sense Key, follow the recovery procedure
in Section 18.15.4.3, “Recovered Drive Error” on page 257.
6. 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
18.15.4.3, “Recovered Drive Error” on page 257.
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 18.15.1, “Drive Service Strategy” on page 255.
18.15.4.3 Recovered Drive Error
The Initiator should log the error as soft with the recovery level.
18.15.4.4 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 in Section 4.5.3, “SSD Response Time” on page 9.
3. If the drive fails to come ready within the specified time, service the drive using the service guidelines specified in Section 18.15.1, “Drive Service Strategy” on page 255.
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 18.15.1, “Drive Service Strategy”
on page 255.
18.15.4.5 Degraded Mode
Refer to Section 18.1.8, “Degraded Mode” on page 240, 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 media is not accessible. This may
not be an error condition. The initiator should issue a Unit start (1B) command to enable media access. If the Drive
fails to come ready in the time specified in Section 18.14, “Command Time out Limits” on page 253, service the drive
using the service guideline recommended in Section 18.15.1, “Drive Service Strategy” on page 255.
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 18.15.1, “Drive Service
Strategy” on page 255.
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 18.15.1, “Drive Service
Strategy” on page 255.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
257
- Internal target failures
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 18.15.1, “Drive Service Strategy” on page 255, 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).
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 18.15.1, “Drive Service Strategy” on page 255.
If the above defined recovery procedures fail to clear the degraded mode condition, the Drive should be replaced. Follow the
procedure in Section 18.15.1, “Drive Service Strategy” on page 255, when replacing the drive.
18.15.4.6 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 18.15.1, “Drive Service Strategy” on page 255.
• Other, follow the recommendations for the error condition reported.
18.15.4.7 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 18.15.1,
“Drive Service Strategy” on page 255.
•
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
258
18.15.4.8 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
Reset - This means the drive was reset by either a power-on reset, LIP Reset, Target Reset 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 16.6, “LOG SELECT (4C)” on page 78). 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 16.41, “SET DEVICE IDENTIFIER (A4/06)” on page 202) A Unit Attention Condition is reported to all
initiators excluding the initiator that issued the Set Device Identifier command.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
259
18.15.4.9 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 Sense 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 18.15.1, “Drive Service Strategy” on page 255.
18.15.4.10 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 reset the firmware. 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 18.15.1, “Drive Service Strategy” on page 255.
- Other, follow the recommendations for the error reported.
18.15.4.11 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 18.15.1, “Drive Service Strategy” on page 255.
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 format. This is the default format. There is no initiator action required for this condition.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
260
18.15.4.12 Miscompare Recovery
A miscompare can occur on a Verify (2F) command or a Write and Verify (2E) with the byte check (ByteChk) 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 18.15.1, “Drive Service Strategy” on
page 255.
- 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 18.15.1, “Drive Service Strategy” on page 255.
18.15.4.13 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 18.15.1, “Drive Service Strategy” on page 255.
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 18.15.1, “Drive Service Strategy” on page 255.
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 18.15.1, “Drive Service Strategy” on page 255.
- 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
18.15.1, “Drive Service Strategy” on page 255.
•
Check Condition Status for any other error, follow the recommendations for the returned sense data.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
261
18.15.4.14 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 18.15.1, “Drive Service Strategy” on page 255.
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
262
19.0 SCSI Sense Data
19.1 SCSI Sense Data Format
Format of the sense data returned by the drive in response to the REQUEST SENSE command.
Table 213: Format of Sense Data.
Byte
0
Bit
7
6
5
Valid
2
0
(MSB)
0
ILI
0
Sense Key
Information Bytes
(LSB)
7
Additional Sense Length
(MSB)
Product Specific Information
(LSB)
12
Additional Sense Code
13
Additional Sense Code Qualifier
14
FRU = 0
15
1
RSVD = 0
2
8-11
3
Error Code (70h or 71h)
1
3-6
4
SKSV
Sense-Key Specific Bits
16-17
Sense-Key Specific Bytes
18-19
Reserved = 0
20-23
Vendor unique Error information
24-29
Product Specific Information
30-31
Reserved = 0
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
263
19.2 Sense Data Description
19.2.1 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.
19.2.2 Error Code (Bit 6 - 0 of byte 0)
70h
Current Error. This indicates an error for the current command.
71h
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.
19.2.3 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.
Valid
ILI
Command = Read Long or Write
Long
x
0
x
1
1
yes
Description
No incorrect length condition
Requested Logical block Length does not
match the logical block length of the data
on the drive
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
264
19.2.4 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 a 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 18.1.4, “Unit Attention Condition” on page 237)
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
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
265
19.2.5 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.
•
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
19.2.6 Additional Sense Length (Byte 7)
Indicates the remaining number of bytes in the sense data. (It is always set to 18h.)
19.2.7 Command Specific Information (Byte 8 through 11)
This field is unused and will be set to zero.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
266
19.2.8 Additional Sense Code/Qualifier (Byte 12 and 13)
The following table shows the description of the combination of Sense Key / Sense Code / Qualifier.
Valid Sense Key, Code, Qualifier Combinations Used by the Drive.
Key
Code
Qual
Description
Sense Key = No Sense
0
00
00
No Additional Sense Information
(00 00) No Error.
Sense Key = Recovered Error
0
0B
01
Temperature Warning Error
1A02 Temperature Warning
0
0B
03
Background Selftest Failure Warning
1A03 Background selftest failure warning
0
0B
04
Background Pre-Scan Failure Warning
1A04 Background pre-scan failure warning
0
0B
05
Background Media Scan Failure Warning
1A05 Background media scan failure warning
0
0B
06
Wear Warning
1A06 Wear Warning
1
0B
01
Temperature Warning Error
2A02 Temperature Warning
1
0B
03
Background Selftest Failure Warning
2A03 Background selftest failure warning
1
0B
04
Background Pre-Scan Failure Warning
2A04 Background pre-scan failure warning
1
0B
05
Background Media Scan Failure Warning
2A05 Background media scan failure warning
1
0B
06
Wear Warning
2A06 Wear Warning
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
267
1
5D
10
Predictive Failure Analysis Threshold Reached
xAFE SMART: Extreme over-temperature warning
xAFF SMART: Test warning
1
5D
53
Remaining Reserve 1
xA53: Remaining Reserve 1
1
5D
54
Remaining Reserve 2
xA54: Remaining Reserve 2
1
10
01
Recovered Guard check error
17BC Recovered Guard check error
1
10
02
Recovered Application tag error
17BA Recovered Application tag error
1
10
03
Recovered Reference tag error
17B8 Recovered Reference tag error
1
17
01
Recovered Data with Retries
172A XOR Rebuild successful
172C Recovered media error (with ECC)
1
1F
00
Partial Defect List Transfer
1749 Partial defect list transferred
1
44
00
Internal Target Failure
F123 Invalid request to enter sleep mode
F128 DRAM test in progress
F129 DRAM test complete
1201 Error in UEC class
1202 Error in UEC cause
171C Recovered DRAM CRC error
F427 HMI: DRD HMT timeout
17C2 Recovered Read CRC error
17C4 Recovered DRAM ECC error
17C6 Recovered DRAM ECC LBA error
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
268
1
0B
01
Temperature Warning Error
2A02 Temperature Warning
1
0B
03
Background Selftest Failure Warning
2A03 Background selftest failure warning
1
0B
04
Background Pre-Scan Failure Warning
2A04 Background pre-scan failure warning
1
0B
05
Background Media Scan Failure Warning
2A05 Background media scan failure warning
1
0B
06
Wear Warning
2A06 Wear Warning
Sense Key = Not Ready
2
04
00
Logical Unit Not Ready
F501 Logical unit not ready
2
04
01
Logical Unit Is In The Process of Becoming Ready
F502 Logical unit becoming ready
2
04
02
Logical Unit Not Ready, initializing command required
F124 Bring-up error
F503 Logical unit not ready - initializing command required
2
04
03
Logical Unit Not Ready, Manual Intervention Required
F572 Not ready - manual intervention required
2
04
04
Logical Unit Not Ready, Format In Progress
F504 Not ready - format in progress
2
04
09
Not Ready - Self-test In Progress
F505 Not ready - self-test in progress
2
04
11
Not Ready - Notify (Enable Spin-up) Required
F553 Not ready - Notify (Enable Spin-up) required (SAS only)
2
04
F0
Vendor Unique - Logical Unit Not Ready
F133 BATS error: Vendor ID mismatch
2
31
00
Medium Format Corrupted - Reassign Failed
F506 Reassign failed
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
269
2
31
01
Format Command Failed
F507 Format failed
3
10
01
Unrecovered Guard check error
F7BD Unrecovered Guard check error
3
10
02
Unrecovered Application tag error
F7BB Unrecovered Application tag error
3
10
03
Unrecovered Reference tag error
F7B9 Unrecovered Reference tag error
3
11
00
Unrecovered Read Error
F72D Unrecovered media error
F72E Unrecovered media error marked in indirection system
3
11
14
Unrecovered LBA write uncorrectable error
F7CC: Unrecovered LBA write uncorrectable error
3
31
00
Medium Format Corrupted Reassign Failed
F701 Format corrupted
4
35
00
Enclosure Services Failure
F539 ESI: unspecified failure (FC-AL only)
4
35
01
Enclosure Services Failure - Unsupported Enclosure Function
F53A ESI: unsupported function (FC-AL only)
4
35
02
Enclosure Services Failure - Enclosure Services Unavailable
F53B ESI: enclosure unavailable (FC-AL only)
4
35
03
Enclosure Services Failure - Enclosure Services Transfer Failure
F556 ESI: transfer failed - write ack
F557 ESI: transfer failed - read ack
F558 ESI: transfer failed - write ready
F559 ESI: transfer failed - read ready
F55E ESI: transfer failed - EDV
F579 ESI: Transfer Checksum Error
F57A ESI: Transfer Checksum Ready Timeout
4
35
04
Enclosure Services Failure - Enclosure Services Refused
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
270
F55A ESI: transfer refused - write ack
F55B ESI: transfer refused - read ack
F55C ESI: transfer refused - write ready
F55D ESI: transfer refused - read ready
4
35
80
Enclosure Services Failure
F53C ESI: SES Timeout
4
3E
03
Self-test Failed
F75D Self-test failed
4
3E
04
Media Self-test Failed
F762 Media selftest hard cache fail
F763 Media selftest 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
F10E BATS error: Directory broken
F10F BATS error: Overlay code load error
F110 BATS error: Overlay code check
F111 BATS error: RAM code load error
F112 BATS error: RAM code check
F113 BATS error: Config invalid
F114 BATS error: Log manager invalid
F11D Incorrect drive Code
F121 BATS error: Code download in progress
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
271
F122 BATS error: Performance data read error
F125 BATS error: Invalid RID/FID
F12B BATS error: Reserved area - invalid model
F12C BATS error: Invalid code size
F12E Format Reserved: Insufficient DIRS good
F12F Format Reserved: Insufficient FATS good
F131 Flash timeout
F137 Flash ECC error
F139 Format Reserved: Resize RIDFID error
F13B SW target broken
F13C NCDE DRAM Error
F13C NCDE DRAM Error
4
40
81
DRAM Failure
F12A DRAM test error
4
40
A0
Diagnostic Failure
F11B BATS#2 error: CRC test error
F11C BATS#2 error: XOR test error
F136 BATS#2 error: End-to-End test error
4
44
00
Internal Target Failure
F140 Cap charge time exceeded
F141 Cap discharge time exceeded
F142 Cap discharge time too short
F143 Cap charge exit check failed
F208 Nand missing
F209 Sanity blocksize error
F20A Mode page structure mismatch
F60E Fconfig token update failed after code download
F401 HMI: HMT error invalid
F402 HMI: AES side slots overflow
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
272
F403 HMI: HMT side valids overflow
F404 HMI: FIFO num valid overflow
F405 HMI: FIFO num available overflow
F601 South: Boot incomplete
F602 South: Trapped
F603 South: Timeout
F604 South: Command done
F605 South: Command error
F606 South: Unknown event
F607 South: Generic assert
F608 South: Identify failed
F609 South: Assert dump invalid
F60A South: Assert collision
F60B South: Not ready for asserts
F60C South: Dump erase but no assert found
F60D South: Dump read but no assert found
F60F Fconfig token parsing failed
F610 South: Nand unsupported
F611 South: NandID mismatch
F612 South: No firmware found
F613 South: Bad firmware checksum
F620 South: Enable logical
F621 South: Disable logical no context
F622 South: Disable logical bad context
F623 South: Disable logical asserted
F624 South: Disable logical no defect map
F625 South: Disable logical no space
F626 South: Disable logical channel CE conflict
F627 South: Read only
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
273
F628 South: Log Invalid
F71D Unrecovered DRAM CRC error
F7C3 Unrecovered Read CRC error
F7C5 Unrecovered DRAM ECC error
F7C7 Unrecovered DRAM ECC LBA error
FCxx Unable to read RID or FID number xx
4
81
00
Vendor Unique - Internal Logic Error
F56F Log dump data memory error
5
15
00
Phy Test Function in Progress
F50D Phy test function in progress
5
1A
00
Parameter List Length Error
F820 Parameter list length error
5
20
00
Invalid Command Operation Code
F821 Invalid opcode in CDB
5
21
00
Logical Block Address out of Range
F822 LBA out of range
5
24
00
Invalid Field in CDB
F823 Illegal request - invalid field in CDB
5
25
00
Logical Unit Not Supported
FA24 Invalid LUN
5
26
00
Invalid Field in Parameter List
F825 Illegal request - invalid field in parameter list
F826 Unsupported log page
5
26
02
Parameter Value Invalid
F120 BATS error: Code compatibility failure
F126 BATS error: Code checksum error
F127 BATS error: Invalid header
F130 Incorrect Customer code
5
26
04
Invalid Release of Active Persistent Reservation
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
274
F828 Invalid release of persistent reservation
5
2C
00
Illegal Request Sequence error
F511 Illegal Request Sequence error
5
49
00
Invalid Message Error
F512 Invalid message
5
55
04
Insufficient Registration Resources
F567 Insufficient registration resources
6
0B
01
Temperature Warning Error
3A02 Temperature Warning
6
0B
03
Background Selftest Failure Warning
3A03 Background selftest failure warning
6
0B
04
Background Pre-Scan Failure Warning
3A04 Background pre-scan failure warning
6
0B
05
Background Media Scan Failure Warning
3A05 Background media scan failure warning
6
0B
06
Wear Warning
3A06 Wear Warning
6
28
00
Not Ready To Ready Transition (Format completed)
F514 Not ready to read transition
6
29
00
Unit Attention - Login Reset
F515 Login reset (FC-AL only)
6
29
01
Unit Attention - POR Occurred
F516 Power on reset
6
29
02
Unit Attention - SCSI Bus Reset Occurred
F517 LIP Reset (FC-AL), SAS Hard Reset (SAS)
6
29
03
Unit Attention - Bus Device Reset Occurred
F518 Target Reset (FC-AL), LUN Reset (SAS)
6
29
04
Unit Attention - Self Initiated Reset Occurred
F519 Self initiated reset
6
29
05
Transceiver Changed to SE
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
275
F548
6
29
07
Device Control Hard Reset received
I_T Nexus Loss Occurred
F554 I_T Nexus Loss Occurred (SAS only)
6
2A
01
Mode Parameters Changed
F51C Mode parameters changed
6
2A
02
Log Parameters Changed
F51D Log parameters changed
6
2A
03
Reservations Preempted
F51E Reservations pre-empted
6
2A
04
Reservations Released
F51F Reservations released
6
2A
05
Registrations Released
F520 Registrations pre-empted
6
2F
00
Commands Cleared by Another Initiator
F521 Commands cleared by another initiator
6
2F
01
Commands Cleared by Power Loss Notification
F573 Commands cleared due to power failure event (SAS)
6
3F
01
Microcode has been changed
F522 Microcode changed
6
3F
03
Inquiry Parameters Changed
F523 Inquiry parameters changed
6
3F
05
Device Identifier Changed
F537 Device identifier changed
B
0E
02
Information Unit Too Long
F562 Information unit too long.
B
10
00
Aborted Command CRC error
F417 HMI: DWT CRC error
F52C Drive CRC error
B
10
01
Aborted Command – End-to-End Guard Check
F414 HMI: HWT guard check error
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
276
F424 HMI: DRD guard check error
F529 Drive Guard check error
F568 End-to-End Data Protection Guard check
B
10
02
Aborted Command – End-to-End Application Tag Check
F415 HMI: HWT app check error
F423 HMI: DRD application tag check error
F52A Drive application tag check error
F569 End-to-End Data Protection Application Tag check
B
10
03
Aborted Command – End-to-End Reference Tag Check
F416 HMI: HWT ref check error
F422 HMI: DRD ref check error
F52B Drive reference tag check error
F56A End-to-End Data Reference Tag check
B
3F
0F
Aborted Command - Echo Buffer Overwritten
F544 Echo buffer overwritten
B
44
00
Internal Target Failure
F406 HMI: Abort
F410 HMI: Write SG abort
F411 HMI: DWT DRAM ECC error
F412 HMI: HWT sync CRC error
F413 HMI: HWT sync CRC LBA error
F418 HMI: DWT HMT error
F419 HMI: DWT HMT timeout
F420 HMI: Read SG abort
F421 HMI: DRD CRC error
F425 HMI: DRD HMI LBA error
F427 HMI: DRD HMT timeout
F426 HMI: DRD HMT error
F526 Drive HMI LBA error
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
277
F527 Drive HMI error
F528 Drive HMI Timeout
F52D Buffer CRC error on read
F52E Internal target failure - Host Interface
F54A Xfer Ready credit exceeded (FC-AL only)
F54B Xfer length error (FC-AL only)
F56B ECC error in DRAM customer data area
F56C Uncorrectable DRAM ECC error
F56E Log dump south error
F570 Host interface CRC error
F741 Media overall command timeout not dispatched
F742 Media overall command timeout in recovery
F743 Media overall command timeout executing
F57B Host Interface Synchronous CRC LBA Error
F75C Internal media access timeout
B
47
01
Data Phase CRC Error
F54E Data Phase CRC Error
B
4B
00
Data Phase Error
F53E Data phase error
B
4B
01
Invalid Target Port Transfer Tag Received
F561 Information unit too short (SAS only)
B
4B
02
Too Much Write Data
F560 Too much write data (SAS only)
B
4B
03
ACK/NAK Timeout
F551 ACK/NAK Timeout (SAS only)
F57D Break Received (SAS only)
B
4B
04
NAK Received
F550 NAK Received (SAS only)
B
4B
05
Data Offset Error
F552 Bad parameter offset (SAS only)
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
278
B
4B
06
Initiator Response Timeout
F555 Initiator response timeout (SAS only)
B
4E
00
Overlapped Commands Attempted
F534 Overlapped command attempted
B
4F
00
Command Aborted Due To Loop Initialization
F53F Abort by LIP (FC-AL only), Abort by OOB (SAS)
Sense Key = Miscompare
E
1D
00
Miscompare During Verify Operation
F535 Miscompare during verify
19.2.9 RU: Field Replaceable Unit (Byte 14)
The FRU (Field Replaceable Unit) field value will always be zero.
19.2.10 Sense Key Specific (Byte 15 through 17)
The definition of this field is determined by the value of the sense key field.
19.2.10.1 Sense Key Specific - Illegal Request (Sense Key = 5h)
Error field pointer is returned.
Table 214: Field Pointer Bytes
Byte
Bit
7
6
15
SKSV
C/D
16
(MSB)
5
4
3
Reserved
BPV
2
1
Bit Pointer
Field Pointer
17
SKSV
C/D
BPV
Bit Pointer
0
(LSB)
Sense-key specific valid
0
Sense-key specific field is not valid.
1
Sense-key specific field is valid.
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.
Bit Pointer Valid
0
Bit pointer field is not valid.
1
Bit pointer field is significant.
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
279
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
280
19.2.10.2 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.
Table 215: Actual Retry Count
Byte
15
Bit
7
SKSV
6
5
4
3
Reserved
17
Actual Retry Count
Actual Retry Count
1
0
Reserved
16
SKSV
2
Sense-key specific valid
0
Actual Retry Count is not valid.
1
Actual Retry Count is valid.
Number of retry steps used in attempting to recover from the error condition.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
281
19.2.10.3 Sense Key Specific - 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.
Table 216: Progress Indication
Byte
Bit
7
15
SKSV
16
(MSB)
6
5
4
3
2
1
Reserved
Progress Indication
17
SKSV
Progress Indication
0
(LSB)
Sense-key specific valid
0
Progress Indication is not valid.
1
Progress Indication is valid.
Indicates a percent complete in which the returned value is the numerator that has 10000h as its
denominator.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
282
19.2.11 Reserved (Byte 18 through 19)
Reserved fields are filled with zero.
19.2.12 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.
19.2.13 Physical Error Record (Byte 24 thru 29)
•
ILI = 1 - This field contains zeros.
•
ILI = 0 - These bytes contain the physical location of the error.
If physical location has no relevance for 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
Die (bytes 24-25)
Channel (byte 26)
CE (byte 27)
Sector Number (byte 28-29)
1
1
0x000000000000
0
x
0x000000000000 - (not used/invalid)
19.2.14 Reserved (Byte 30 through 31)
Reserved fields are filled with zero.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
283
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
284
20.0 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 18.0, “Additional information” on page 235. These codes are used internally by HGST 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 217: 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
F10E
BATS error: Directory broken
F10F
BATS error: Overlay code load error
F110
BATS error: Overlay code check
F111
BATS error: RAM code load error
F112
BATS error: RAM code check
F113
BATS error: Config invalid
F114
BATS error: Log manager invalid
F119
Bats#2 error: Read Write test error
F11B
BATS#2 error: CRC test error
F11C
BATS#2 error: XOR test error
F11D
Incorrect drive Code
F120
BATS error: Code Compatibility Failure
F121
BATS error: Code download in progress
F122
BATS error: Performance data read error
F123
Invalid request to enter sleep mode
F124
Bring-up error
F125
BATS error: Invalid RID/FID
F126
BATS error: Code checksum error
F127
BATS error: Invalid header
F128
DRAM test in progress
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
285
UEC
Description
F129
DRAM test complete
F12A
DRAM test error
F12B
BATS error: Reserved area - invalid model
F12C
BATS error: Invalid code size
F12E
Format Reserved: Insufficient DIRS good
F12F
Format Reserved: Insufficient FATS good
F130
Incorrect Customer Code
F131
Flash time-out
F133
BATS error: Vendor ID mismatch
F136
BATS#2 error: End-To-End Data Protection error
F137
Flash ECC error
F139
Format Reserved: Resize RIDFID error
F13B
SW Target broken
F13C
NCDE DRAM failure
F140
BATS error: Cap charge time exceeded
F141
BATS error: Cap discharge time exceeded
F142
BATS error: Cap discharge time too short
F143
BATS error: Cap charge exit check failed
1201
Error in UEC class
1202
Error in UEC cause
F203
Internal target failure
F207
AHB Access Error
F208
NAND Missing
F209
North/South disagree on block size
F20A
Mode page structure mismatch
F401
HMI: HMT error invalid
F402
HMI: AES side slots overflow
F403
HMI: HMT side valids overflow
F404
HMI: FIFO num valid overflow
F405
HMI: FIFO num available overflow
F406
HMI: Abort
F410
HMI: Write SG abort
F411
HMI: DWT DRAM ECC error
F412
HMI: HWT sync CRC error
F413
HMI: HWT sync CRC LBA error
F414
HMI: HWT guard check error
F415
HMI: HWT app check error
F416
HMI: HWT ref check error
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
286
UEC
F417
Description
HMI: DWT CRC error
F418
HMI: DWT HMT error
F419
HMI: DWT HMT time-out
F420
HMI: Read SG abort
F421
HMI: DRD CRC error
F422
HMI: DRD ref check error
F423
HMI: DRD app check error
F424
HMI: DRD guard check error
F425
HMI: DRD HMI LBA error
F426
HMI: DRD HMT error
F427
HMI: DRD HMT time-out
F501
F502
F503
F504
F505
F506
F507
Logical unit not ready
Logical unit becoming ready
Logical unit not ready - initializing command required
Not ready - format in progress
Not ready - self-test in progress
Reassign failed
Format failed
F50D
Phy Test Function in Progress
F511
Illegal request sequence error
F512
Invalid Message
F514
Not ready to ready transition
F515
Login reset (FC-AL only)
F516
Power on reset
F517
LIP reset (FC-AL), SAS Hard Reset (SAS)
F518
Target Reset (FC-AL), LUN Reset (SAS)
F519
Self initiated reset
F51C
Mode parameters changed
F51D
Log parameters changed
F51E
Reservations pre-empted
F51F
Reservations released
F520
Registrations pre-empted
F521
Commands cleared by another initiator
F522
Microcode changed
F523
Inquiry parameters changed
F526
Drive HMI LBA error
F527
Drive HMT error
F528
Drive HMT time-out
F529
Drive guard check error
F52A
Drive application tag error
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
287
UEC
Description
F52B
Drive reference tag error
F52C
Drive CRC error
F52D
Buffer CRC error on read
F52E
Internal target failure
F534
Overlapped command attempted
F535
Miscompare during verify
F536
Reservation conflict
F537
Device identifier changed
F539
ESI: unspecified failure (FC-AL only)
F53A
ESI: unsupported function (FC-AL only)
F53B
ESI: enclosure unavailable (FC-AL only)
F53C
ESI: transfer failure (FC-AL only)
F53E
Data phase error
F53F
Abort by LIP (FC-AL), Abort by OOB (SAS)
F544
Echo buffer overwritten
F548
Device Control Hard Reset received
F54A
Xfer Ready credit exceeded (FC-AL only)
F54B
Transfer length error (FC-AL only)
F54E
Data Phase CRC Error
F550
NAK rcvd (SAS)
F551
ACK NAK Time-out (SAS)
F552
Bad parameter offset (SAS)
F553
LUN Not ready, Notify (Enable Spinup) required (SAS)
F554
I_T_Nexus Loss Occurred (SAS)
F555
Initiator Response Time-out (SAS)
F556
ESI transfer failed - write ack (FC-AL)
F557
ESI transfer failed - read ack (FC-AL)
F558
ESI transfer failed - write ready (FC-AL)
F559
ESI transfer failed - read ready (FC-AL)
F55A
ESI transfer refused - write ack (FC-AL)
F55B
ESI transfer refused - read ack (FC-AL)
F55C
ESI transfer refused - write ready (FC-AL)
F55D
ESI transfer refused - read ready (FC-AL)
F55E
ESI transfer failed - EDV (FC-AL)
F560
Too much write data (SAS)
F561
Information unit too short (SAS)
F562
Information unit too long (SAS)
F566
Not ready in HGST DST
F567
Insufficient registration resources
F568
End-to-End Data Protection Guard check
F569
End-to-End Data Protection Application Tag check
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
288
UEC
F56A
Description
End-to-End Data Protection Reference Tag check
F56B
ECC error in DRAM customer data area
F56C
Uncorrectable DRAM ECC error
F56E
Log dump south error
F56F
Log dump data memory error
F570
Host interface Synchronous CRC error
F572
LUN not ready; manual intervention required
F573
Commands cleared due to power failure event (SAS)
F574
Unsupported hardware
F579
ESI Transfer Checksum Error (FC-AL)
F57A
ESI Transfer Checksum Ready Time-out (FC-AL
F57B
Host Interface Synchronous CRC LBA Error
F57D
BREAK received
F601
South: Boot incomplete
F602
South: Trapped
F603
South: Time-out
F604
South: Command done
F605
South: Command error
F606
South: Unknown event
F607
South: Generic assert
F608
South: Identify failed
F609
South: Assert dump invalid
F60A
South: Assert collision
F60B
South: Not ready for asserts
F60C
South: Dump erase but no assert found
F60D
South: Dump read but no assert found
F60E
South: Fconfig token update failed after code download
F60F
South: Fconfig token parsing failed
F610
South: Nand unsupported
F611
South: NandID mismatch
F612
South: No firmware found
F613
South: Bad firmware checksum
F614
South: No slots found
F620
South: Enable logical
F621
South: Disable logical no context
F622
South: Disable logical bad context
F623
South: Disable logical asserted
F624
South: Disable logical no defect map
F625
South: Disable logical no space
F626
South: Disable logical channel CE conflict
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
289
UEC
Description
F627
South: Read only
F628
South: Log Invalid
F701
Format corrupted
171C
Recovered DRAM CRC error
F71D
Unrecovered DRAM CRC error
172A
XOR Rebuild successful
172C
Recovered media error (with ECC)
F72D
Unrecovered media error accessing NAND
F72E
Unrecovered media error marked in indirection system
F741
Media overall command time-out not dispatched
F742
Media overall command time-out in recovery
F743
Media overall command time-out executing
1749
Partial defect list transferred
F75C
Internal media access time-out
F75D
Selftest failed
F762
Cache test fail
F763
OTF cache fail
17B8
Recovered Reference tag error
F7B9
Unrecovered Reference tag error
17BA
Recovered Application tag error
F7BB
Unrecovered Application tag error
17BC
Recovered Guard check error
F7BD
Unrecovered Guard check error
17C2
Recovered Read CRC error
F7C3
Unrecovered Read CRC error
17C4
Recovered DRAM ECC error
F7C5
Unrecovered DRAM ECC error
17C6
Recovered DRAM ECC LBA error
F7C7
Unrecovered DRAM ECC LBA error
F7CC
Unrecovered LBA ECC write uncorrectable
F820
Parameter list length error
F821
Invalid opcode in CDB
F822
LBA out of range
F823
Illegal request - invalid field in CDB
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
290
UEC
Description
F824
Invalid LUN
F825
Illegal request - invalid field in parameter list
F826
Illegal request - Unsupported Log Page
F828
Illegal request - Invalid Release of Persistent Reservation
1A02
SMART: Temperature warning (no sense)
2A02
SMART: Temperature warning (recovered sense)
3A02
SMART: Temperature warning (unit attn sense)
1A03
SMART: Background selftest warning (no sense)
2A03
SMART: Background selftest warning (recovered sense)
3A03
SMART: Background selftest warning (unit attn sense)
1A04
SMART: Background Pre-Scan warning (no sense)
2A04
SMART: Background Pre-Scan warning (recovered sense)
3A04
SMART: Background Pre-Scan warning (unit attn sense)
1A05
SMART: Background Media Scan warning (no sense)
2A05
SMART: Background Media Scan warning (recovered sense)
3A05
SMART: Background Media Scan warning (unit attn sense)
1A06
SMART: Wear warning (no sense)
2A06
SMART: Wear warning (recovered sense)
3A06
SMART: Wear warning (unit attn sense)
1A28
SMART: Capacitor fail (no sense)
2A28
SMART: Capacitor fail (recovered sense)
3A28
SMART: Capacitor fail (unit attn sense)
1A53
SMART: Remaining Reserve 1 (no sense)
2A53
SMART: Remaining Reserve 1 (recovered sense)
3A53
SMART: Remaining Reserve 1 (unit attn sense)
1A54
SMART: Remaining Reserve 2 (no sense)
2A54
SMART: Remaining Reserve 2 (recovered sense)
3A54
SMART: Remaining Reserve 2 (unit attn sense)
1AFE
SMART: Thermal Sense trip (no sense)
2AFE
SMART: Thermal Sense trip (recovered sense)
3AFE
SMART: Thermal Sense trip (unit attn sense)
1AFF
SMART: Test warning (no sense)
2AFF
SMART: Test warning (recovered sense)
3AFF
SMART: Test warning (unit attn sense)
FCxx
Unable to read RID or FID number xx
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
291
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
292
21.0 TCG SSC
This chapter provides information on HGST encryption-specific HDD firmware and features. It is assumed that the reader is
familiar with the referenced specifications and industry standards.
21.1 Referenced Specifications and Standards
21.1.1 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 1.0, Revision 0.9
- 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.0, rev 1.0, spec dated 1/27/09
• 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
21.1.2 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
21.1.3 National Institute of Standards (NIST)
This section references the following NIST publications, available on the NIST website (http://www.nist.gov/index.html)
1. NIST Special Publication 800-90, Recommendation for Random Number Generation Using Deterministic Random
Bit Generators (Revised), http://csrc.nist.gov/publications/nistpubs/800-90/SP800-90revised_March2007.pdf
21.1.4 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
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
293
•
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
21.1.5 RSA Laboratories Standards
1.
2.
RSA-PSS - http://www.rsa.com/rsalabs/node.asp?id=2146
RSA PKCS #5 v2.0 Password-Based Cryptography Standard - ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-5v2/
pkcs5v2-0.doc
.
21.1.6 Other Standards
1.
T10 SCSI Standard.(T10 homepage - (http://www.t10.org/index.html )
21.2 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 4 bands.
• The K_AES_256 table was implemented with only the UID and MODE columns.
• At any given time, the implementation allows for only 1 active session. In the case when a session is active and a new
session is requested, the drive answers the host with SP_BUSY, instead of NO_SESSIONS_AVAILABLE
21.3 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 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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
294
21.4 Encryption Algorithms
21.4.1 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 HGST TCG SSC implementation in firmware supports
AES 256-XTS only.
21.4.2 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). Table 2 of Section 10.2.14 displays a "Vendor Specific" section in bytes 16 to 47. This Vendor Specific section is documented below.
Table 218: Persistent Reserve In (5E)
Byte
Bit
7
6
5
16
4
0
Dload_s
Locking_s
FDE_s
Dload_e
Locking_e
FDE_e
Reserved
RSVD
MB_s
0
0
20
22-47
1
Vendor Specific State Information
18
21
2
Version (set to 0)
17
19
3
Diag_s
Reserved
RSVD
MB_e
0
0
Diag_s
Reserved
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.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
295
21.4.2.1 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.
21.4.3 Pseudo Random Number Generation (PRNG)
Pseudo-random number generation is implemented using the NIST SP800-90 PRNG. This PRNG uses AES as a primitive
both for entropy mixing and entropy output. The successive values of the state of the PRNG are kept private to the device to
ensure that keys generated by the device are unpredictable. The PRNG seed is derived from reading a clock found in a separate
clock domain asynchronously and generating an uniformly distributed value from a SHA256 hash.
21.4.4 Key Erasure
Cryptographic erase procedure
• Erase and overwrite wrapped key material with 0x00.
• Erase and store the new wrapped key material.
21.5 TCG SSC Tables
Two copies of all TCG SCC 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 C_PIN table
K_AES_256 table
Locking SP Locking Access Control table
LockingInfo 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.
21.5.1 Admin SP C_PIN Table and Locking SP C_PIN Table
Per TCG SSC specification, the PIN is set to the MSID at manufacturing time. HGST has specified the MSID to be the serial
number of the drive concatenated 4x. TryLimit 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
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
296
“Tries” value is reset to 0 after successful attempt or a power cycle).
Table 219: HGST Implementation of Admin SP_CPIN and Locking C_PIN
..
..
..
..
..
PIN
TryLimit
Tries
Persistence
MSID
0
0
0
MSID
0
0
0
..
..
..
..
MSID
0
0
0
21.5.2 K_AES_256 Table
The K_AES_256 table has 4 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”, “CommonName”, and “Key” Columns.
Table 220: HGST Implementation of K_AES_256 Table
UID (8 byte hex)
00 00 08 06 00 00 00 01
00 00 08 06 00 00 00 02
MODE
23
23
..
..
00 00 08 06 00 00 00 40
23
The mode is specified in the TCG Enterprise SSC as a “Vendor Unique” (VU) entry. HGST initializes it in manufacturing to
mode=23 (media encryption mode, per TCG specification) for all 4 entries.
21.5.3 Locking SP AccessControl Table
The TCG Enterprise SSC defines the values for Row Number and UID as “Vendor Unique” (VU). HGST 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=(#SupportedBands * 7) +12, where



#SupportedBands = 4 (The implementation supports 4 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.
AuthorityTable/Next
3.
Anybody Authority Object/ Get
4.
BandMasters Authority Object/ Get
5.
EraseMaster Auth. Object / Get
6.
C_PIN table / Next
7.
EraseMaster C_PIN Object/ Set
8.
LockingInfo Table / Get
9.
Locking Table / Next
10. DataStore / Get
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
297
11.
12.
DataStore / Set
ThisSP / Random
Table 221: HGST Implementation of Locking SP Access Control Table
.
Row Number
UID
0
0
1
1
.
.
.
.
.
459
459
.
21.5.4 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 EncryptionSupport=23 (media encryption mode) in manufacturing.
Table 222: HGST Implementation of Locking Info Table
.
NAME
Version
.
.
0
0
.
Encrypt Support MaxRanges
23
MaxReEncryptions
KeysAvailable Cfg
0
0
0
21.5.5 Locking SP Locking Table
The “Vendor Unique” (VU) values for this table are shown below.
Table 223: HGST Implementation of Locking SP Locking Table
.
.
NextKey
ReEncrypt ReEncrypt AdvKey
ContOn LastReEncrypt LastRe General
VerfMode
State
Request
Mode
Reset
LBA
EncStat Status
00 00 00 00
00 00 00 00h
0
0
0
0
0
0
0
0
.
.
.
.
.
.
.
.
.
.
.
00 00 00 00
00 00 00 00h
0
0
0
0
0
0
0
0
In the ActiveKey column, the Enterprise SCC allows for byte 3 to be defined as either 05 or 06. The HGST implementation
uses 06.
21.6 Firmware Download and Signing
The HGST 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
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
298
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 EMSASHA256 as padding function. The firmware was designed and implemented with the intention of meeting the signing requirements under FIPS 140-2.
All HGST 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 HGST 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.
21.7 Ports
The ports capability is an HGST 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 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
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
299
Table 224: Ports
Port Name
Functionality
Description
Firmware Download
This port has 2 valid states: locked and unlocked.
On encryption drives, the download port is unlocked initially, LockOnReset 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 HGST 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 HGST in debugging
Table 225: Ports
Table
UID
Name
LocOnReset
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 226: Modified Admin SP ACE Table
Name
Cmn
Name
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
“”
00 00 00 09 00 00 00 01 Null
Null
“PIN”
“PIN”
“”
00 00 00 09 00 00 00 06 Null
Null
“Enabled”
“Enabled”
MSID_Get
00 00 00 08 00 00 8C 05 SID_Set Makers
00 00 00 08 00 00 8C 06
SID_Makers_
SetDiag
“”
00 00 00 08 00 00 8C 07
SID_Makers_
SetDiag
“”
00 00 00 08 00 00 8C 08 SID_GetPort
“”
00 00 00 08 00 00 8C 09 SID_GetPort
“”
Boolean
Expression
Row
Start
Column
Row
Column Start
End
End
UID
00 00 00 09 00 00 00 06
And
Null
00 00 00 09 00 00 00 03
00 00 00 09 00 00 00 06
And
Null
00 00 00 09 00 00 00 03
Null
“PortLocked” “PortLocked”
Null
“PortLocked” “PortLocked”
00 00 00 09 00 00 00 06 Null
Null
“PortLocked” “PortLocked”
00 00 00 09 00 00 00 06 Null
Null
“LockOnReset” “PortLocked”
The last 2 lines of the table are the additional entries required to implement the firmware download port.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
300
Table 227: Modified Admin SP AccessControl Table
Row
UID Invoking ID
Number
00 00 00 00
VU
VU 00 00 00 01
(ThisSP)
00 00 00 09
VU
VU 00 00 00 00
VU
MethodID
Common Name
ACL
00 00 00 08
00 00 00 06
AnybodyAuthenti00 00 00 01
00 00 00 0C
cateAdminSP
(Authenticate)
(Anybody)
00 00 00 08
00 00 00 06
Makers-Next00 00 00 03
00 00 00 08
Authority table
(Authority table)
(Next)
(Makers)
00 00 00 09
00 00 00 06 Anyboby-Get00 00 00 08
00 00 00 01
00 00 00 06 Anbody Authority 00 00 00 01
VU
(Anbody Author(Get)
Object
(Anybody)
ity object)
VU
Add ACE Remove
MethodID
ACL ACE ACL
00 00 00 06
None
Null
Null
00 00 00 0C
(Authenticate)
None
Null
Null
00 00 00 08
00 00 00 03
(Makers)
None
Null
Null
00 00 00 08
00 00 00 01
(Anybody)
Log
None
Null
Null
None
Null
Null
00 00 00 06
00 00 00 08 None
Makers-Next00 00 00 08
00 00 00 02
C_PIN table
(C_PIN table)
(Next)
(Makers)
None
00 00 00 0B
00 00 00 06
00 00 00 08
SID_SetSelf-Set00 00 00 01
00 00 00 07
00 00 8C 03
SID_C_PIN object
(SID C_PIN
(Set)
(SID_SetSelf)
Null
Null
Null
Null
00 00 00 0B
00 00 00 06
00 00 84 02
00 00 00 06
(MSID C_PIN
(Get)
None
Null
Null
None
Nul
Nul
None
Nul
Nul
None
Nul
Nul
00 00 00 09
00 00 00 03
00 00 00 08
00 00 00 06 Anyboby-GetVU
00 00 00 06 Anbody Authority 00 00 00 03
(Makers Author(Makers)
Object
(Get)
ity object)
VU
00 00 00 09
00 00 00 06
00 00 00 06
SID-Get-SID
VU
00 00 00 06
Authority Object
(SID Authority
(Get)
object)
VU
VU
VU
VU
00 00 00 08
00 00 02 01
(SID)
00 00 00 0B
00 00 00 00
object)
VU
VU
object)
MSID_Get-GetMSID C_PIN
object
00 00 00 08
00 00 8C 04
(MSID_Get)
00 00 00 09
00 00 00 03
VU
00 00 00 06 SID_SetMakers- 00 00 00 08
00 00 00 07 Set-Makers Author- 00 00 8C 05
VU
(Makers Author(SID_SetMakers)
ity Object
(Set)
VU
VU
00 00 00 08
00 00 00 00 00 00 00 06
00
00
06
01
Anybody-Random
00 00 00 01
00 00 00 01
(ThisSP)
(Random)
(Anybody)
VU
VU
00 01 00 02 00 00 00 06
00 01 00 02 00 00 00 07
SID_Set_Dload SID_SetPort
VU
VU
00 01 00 02
00 01 00 02
00 00 00 06
00 00 00 06
SID_GetDload
SID_GetPort None
Nul
Nul
VU
VU
00 01 00 02
00 01 00 01
SID_Makers_
00 00 00 06
SID_Makers_SetDiag
None
SetDiag
00 00 00 07
Nul
Nul
VU
VU
00 01 00 02 00 00 00 00 06 00
SID_Makers_S
SID_Makers_SetDiag
None
01 00 02
00 00 06
etDiag
Nul
Nul
ity object)
The last 2 lines of the table are the additional entries required to implement the firmware download port.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
301
00 00 00 08
00 00 00 03
(Makers)
00 00 00 08
00 00 02 01
(SID)
00 00 00 08
00 00 00 02
(Makers)
00 00 00 08
00 00 02 01
(SID)
00 00 00 08
00 00 02 01
(SID)
00 00 00 08
00 00 02 01
(SID)
00 00 00 08
00 00 00 01
(Anybody)
00 00 00 08
00 00 02 01
(SID)
00 00 00 08
00 00 02 01
(SID)
00 00 00 08
00 00 02 01
(SID)
00 00 00 08
00 00 02 01
(SID)
21.8 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.
HGST 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”.
21.9 Logging
HGST logging functions will not record any sensitive data such as customer plain text data, passwords, encryption keys or
wrapping keys.
.
21.10 Number of Sessions
The HGST 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.
21.11 Number of Bands
The Enterprise SSC specification calls for support of up to 1024 bands. The HGST implementation supports a maximum of 4
bands.
21.12 Number of COMIDs
The HGST Enterprise SSC implementation supports 2 COMIDs, the minimum requirement in the Enterprise SSC specification. Only 1 comid can be in use at any time.
21.13 Locked and Unlocked Behavior
21.13.1 T10 SCSI commands
The table below describes how basic T10 SCSI commands behave on encryption drives in the locked and unlocked states.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
302
Table 228: T10 SCSI
Commands Behavior Table
Command
FORMAT UNIT (04)
Unlocked
OEM
INQUIRY (12)
LOG SELECT (4C)
LOG SENSE (4D)
OEM
OEM
OEM
Locked
Command can’t be executed when locked. Must unlock with MSID or
password, before formatting.
OEM
OEM
OEM-no access to customer data, will get some log information.
MODE SELECT (15)
MODE SELECT (55)
MODE SENSE (1A)
MODE SENSE (5A)
PERSISTENT RESERVE IN (5E)
PERSISTENT RESERVE IN (5F)
PRE-FETCH (34)
OEM
OEM
OEM
OEM
OEM
OEM
OEM
OEM
OEM
OEM
OEM
OEM
OEM
MSID only - limits DRAM accessibility. This is a read function.
READ (6) - (08)
READ (10) - (28)
READ (12) - (A8)
READ (16) - (88)
READ (32) - (7F/09)
READ BUFFER (3C)
READ CAPACITY (10) - (25)
READ CAPACITY (16) (9E/10)
READ DEFECT DATA (37)
READ DEFECT DATA (B7)
READ LONG (3E)
REASSIGN BLOCKS (07)
RECEIVE DIAGNOSTICS RESULTS (1C)
RELEASE (17)
RELEASE (57)
REPORT DEVICE IDENTIFIER (A3/05)
REPORT LUNS (A0)
REPORT SUPPORTED OPERATION
CODES (A3/0C)
REPORT SUPPORTED TASK
MANAGEMENT FUNCTIONS (A3/0D)
OEM
OEM
OEM
OEM
OEM
OEM
OEM
OEM
OEM
OEM
OEM
OEM
OEM
OEM
OEM
OEM
OEM
OEM
Ent_A authorized only
Ent_A authorized only
Ent_A authorized only
Ent_A authorized only
Ent_A authorized only
OEM. Sensitive data cannot be snapshotted from DRAM.
OEM
OEM
OEM
OEM
Ent_A authorized only
OEM
OEM
OEM
OEM
OEM.
OEM.
OEM.
OEM
OEM
REQUEST SENSE (03)
RESERVE (16)
RESERVE (56)
REZERO UNIT (01)
SEEK (6) - (0B)
SEEK (10) - (2B)
SEND DIAGNOSTIC (1D)
SET DEVICE IDENTIFIER (A4/06)
START STOP UNIT (1B)
SYNCHRONIZE CACHE (10) - (35)
SYNCHRONIZE CACHE (16) - (91)
TEST UNIT READY (00)
OEM
OEM
OEM
OEM
OEM
OEM
OEM
OEM
OEM
OEM
OEM
OEM
OEM
OEM
OEM
OEM
OEM
OEM
Customer specific.
OEM.
OEM
OEM
OEM
OEM
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
303
VERIFY (2F)
OEM
Access to customer data but does not return data back to
customer. CRC checking is ignored but still do ECC checking,
and is executable on locked LBAs.
VERIFY (12) - (AF)
OEM
Access to customer data but does not return data back to
customer. CRC checking is ignored but still do ECC checking,
and is executable on locked LBAs.
VERIFY (16) - (8F)
OEM
Access to customer data but does not return data back to
customer. CRC checking is ignored but still do ECC checking,
and is executable on locked LBAs.
VERIFY (32) - (7F/0A)
OEM
Access to customer data but does not return data back to
customer. CRC checking is ignored but still do ECC checking,
and is executable on locked LBAs.
WRITE (6) - (0A)
WRITE (10) - (2A)
WRITE (12) - (AA)
WRITE (16) - (8A)
WRITE (32) - (7F/0B)
WRITE AND VERIFY (10) - (2E)
WRITE AND VERIFY (12) - (AE)
WRITE AND VERIFY (16) - (8E)
WRITE AND VERIFY (32) - (7F/0C)
WRITE BUFFER (3B)
(T10)
WRITE BUFFER (3B)
(For FW download)
WRITE LONG (3F)
WRITE SAME (41)
WRITE SAME (16) - (93)
WRITE SAME (32) - (7F/0D)
SECURITY_IN
SECURITY_OUT
OEM
OEM
OEM
OEM
OEM
OEM
OEM
OEM
OEM
OEM (write
DRAM onto
drive)
FW is signed
and
downloaded.
OEM
OEM
OEM
OEM
OEM
OEM
Ent_A authorized only
Ent_A authorized only
Ent_A authorized only
Ent_A authorized only
Ent_A authorized only
Ent_A authorized only
Ent_A authorized only
Ent_A authorized only
Ent_A authorized only
OEM.
OEM. The write buffer command only functions to write to the
buffer.
Per TCG and T10 specification. Ent_A authorized only.
Ent_A authorized only
Ent_A authorized only
Ent_A authorized only
Per TCG spec. Contains TCG payload.
Per TCG spec. Contains TCG payload.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
304
21.13.2 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 SSC requires the implementation of the Base, Admin, Locking, and Crypto Templates. As noted,
the Crypto template was not implemented. In addition the SSC does not require any Admin Template tables or methods, so
they are not mentioned in the table below.
Table 229: TCG Enterprise SSC Commands Behavior
Command
Description
unlocked
Locked
Session Management There are two types of sessions:
1) Read-Only session
2) Read-Write session.
The SSC requires us to support ReadWrite sessions. Read-Only session is not
allowed. A session is always initiated by
the host.
See the “Write” parameter in the StartSession method description @ TCG Core
5.2.3.1, and see SSC requirement in SSC
6.2.1.2.
Properties
N/A
Returns session properties to host.
N/A
StartSession
Start a session
N/A
N/A
SycSession
Response to say session successfully started. N/A
N/A
CloseSession
End (Close) a session
N/A
Command
Discovery
Level 0
Level 1
Level 2
Command
Cryptographic Template
Random
N/A
Description
unlocked
Allows the host to discover a TCG drive,
its properties, and table values.
Discovery request sent by host as IF-RCV N/A
command. Security Protocol = 0x01,
COMID=0x0001
Request basic TPER capabilities via prop- Uses properties
erties using host messaging.
method.
TCG methods retrieve table cell val-See methods
below.
ues.
Description
Random function is only function
required under SSC
This is the only required method in the
crypto template for SSC. It is a random
number generator in software.
N/A
Uses properties
method.
See methods below.
unlocked
Locked
N/A - Not related
to bands/data on
drive. Authentication required.
N/A - Not related to
bands/data on drive.
Authentication
required.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
305
Locked
Command
Description
Base Template
Mandatory
Set
Sets a value in a table
Get
ParamCheck LRC
Next
Authenticate
GatACL
unlocked
Locked
N/A - table opera- N/A - table operations. Not related tions. Not related to
to bands/data on bands/data on drive.
drive.
N/A - table opera- N/A - table operaGets (reads) a value in a table
tions. Not related tions. Not related to
to bands/data on bands/data on drive.
drive.
TPer implements param check LRC (longi- N/A
N/A
tudinal Redundancy Check) on get/set
method calls on PIN value
N/A - table opera- N/A – table operaIterates over all the rows of a table.
Method requires user to specify "where" tions. Not related tions. Not related to
(row in table) and a "count". If where not to bands/data on bands/data on drive.
drive.
specified, 1st row 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 an authority within a session Must be authoMust be authorized.
(session must have successfully begun). rized.
Returns contents of access controls associa-N/A - table opera- N/A – table operation's ACL stored in Method Table. The tions. Not to do tions. Not related to
result is a list of uidrefs to ACE objects. with bands/data on bands/data on drive.
drive.
Command
Description
unlocked
Locked
Locking Template
Mandatory
Erase
Cryptographically erases user data in a
Can erase if autho- Generates error.
specified LBA range and resets the access rized.
control (locking) of that LBA
21.14 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.
20.14 Customer Specific Requirements
This specification does not cover customer-specific requirements. Customer-specific requirements are submitted by the customer to HGST in the form of a customer-specification document.
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
306
A
Abbreviations 59
Additional information 235
Additional Sense Length (Byte 7) 266
Address Frames 42
Alternate Sectors per Zone 121
Alternate Tracks per Logical Unit 121
Alternate Tracks per Zone 121
Appendix 285
Automatic Read Reallocation Enabled 119
Automatic Rewrite/Reallocate 248
Automatic Write Reallocation Enabled 119
B
Block Descriptor 115
Byte ordering conventions 59
C
Caution 1
Command Information Unit 48
Command Processing During Execution of Active I/O process 236
Command Processing During Startup and Format Operations 239
Command processing while reserved 246
Command Queuing 247
Command queuing 247
Command Reordering 247
Command reordering 247
Command Time out Limits 253
Concurrent I/O Process 247
Control Electronics 5
Cooling requirements 19
Corrosion test 18
D
Data Integrity 11
Data Reliability 23
Data transfer speed 10
DC Power Requirements 21
defect descriptor 62
defect list 61
Deferred Error Condition 239
Degraded Mode 240
Diagnostics 249
Disable Block Descriptor 112
Download Microcode and Save (Mode 0101b) 226
Drive Characteristics 7
Drive ready time 9
E
Electrical Interface 13
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
307
Electromagnetic Compatibility 33
Environment 17
Equipment errors 23
Equipment Status 11
European Standards Compliance 35
F
Failure prediction (PFA/S.M.A.R.T) 23
FC-AL attachment 37
FC-AL Connector 13
Flammability 35
FORMAT UNIT 60
format unit 60
Formatted Capacity 7
Fundamentals 37
G
German Safety Mark 35
Glossary 1
Grown Defect List (Glist) 167
H
Hard Reset 40
I
Identification 31
Idle Time Function 253
IEEE registered name format 39
Incorrect Length Indicator (Bit 5 of byte 2) 264
inquiry 63
Interface Connector 26, 28
Internal Error Condition 239
L
Labels 31
Link Layer 42
Link Reset Sequence 39
Log Page Parameters 82
LOG SELECT 78
LOG SELECT (4C) 78
LOG SENSE 81
LOG SENSE (4D) 81
Logical Block Cache Segment Size 125
M
Maximum Burst Size 120
Maximum Pre-fetch 125
Maximum Pre-fetch Ceiling 125
Mechanical Specifications 25
Minimum Pre-fetch 125
MODE SELECT 110, 111
MODE SELECT (15) 110
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
308
MODE SELECT (55) 111
MODE SENSE (1A) 112
MODE SENSE (5A) 141
Multiple Initiator Environment 248
Multiple Initiator Systems 248
multiple initiator systems 248
N
Node and Port names 38
node name 38
Non-operating shock 29
Non-operating Vibrations 29
O
OPEN Address Frame 44
Operating shock 29
Operating Vibration 29
Outline 25
Outline of the Drive 3
P
Packaging 18
Page Code Valid 175
Page Format 195
Parameter data for Read Keys 144
Parameter data for Read Reservations 145
Parameter list 148
Persistent Reservation 143
PERSISTENT RESERVE IN (5E) 143
PERSISTENT RESERVE OUT 146, 150
PERSISTENT RESERVE OUT (5F) 146, 150
Persistent Reserve Out Parameter list 148
PHY Error Handling 42
PHY Layer 39
Physical Sector Format (101b) 169
Post Error 119
Predictive Failure Analysis 262
PRE-FETCH 151
Preventive Maintenance 23
Primary Defect List 167
Priority Commands 246
Priority commands 246
Product ID 8
Q
Queue Depth 247
Queue Full Status 247
R
Random Vibration 29
READ (10) - (28) 153
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
309
Read Ahead 248
READ BUFFER (3C) 159
Read Buffer Full Ratio 120
Read Cache Disable 125
READ CAPACITY 163
READ CAPACITY command 163
Read Continuous 119
READ DEFECT DATA (37) 167
READ DEFECT DATA (B7) 170
READ LONG command 172
Read Retry Count 119
REASSIGN BLOCKS (07) 173
RECEIVE DIAGNOSTICS (1C) 175
Recommended Initiator ERP 255
RELEASE (17) 178
RELEASE (57) 179
Reliability 23
REPORT LUNS (A0) 188
REQUEST SENSE (03) 190
RESERVE (16) 191
RESERVE (56) 192
Reserved Area 176
Reset 249
Reset Actions 249
RESPONSE Information Units 51
REZERO UNIT (01) 193
Ripple Voltage 22
S
Safety 35
SAS Attachment 37
SAS Features 37
SAS OOB 40
SAS OOB (Out of Band) 40
SAS Speed Negotiation 41
SCSI Command Set 57
SCSI Control Byte 59
SCSI Protocol 235
SCSI Sense Data 263
SCSI Sense Data Format 263
SCSI Status Byte 233
SCSI Status Byte Reporting 235
Sectors per Track 122
SEEK (10) - (2B) 194
SEEK (6) - (0B) 194
Segmented Caching 248
SEND DIAGNOSTIC (1D) 195
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
310
sense data 248
Sense Data Description 264
Sense Key (Bit 3 - 0 of byte 2) 265
SenseData 263
Service Action 143, 147
Size Enable 125
START STOP UNIT (1B) 203
Storage requirements 18
Storage time 18
Summary 149
Swept Sine Vibration 29
SYNCHRONIZE CACHE (35) 204
T
Temperature and humidity 17
Temperature Threshold 117
TEST UNIT READY (00) 206
Track Skew Factor 122
Tracks per Zone 122
Transfer Block 119
Transport Layer 47
Type 147
U
UEC list 285
UL and CSA Standard Conformity 35
Unit Attention Condition 259
unit attention condition 237
V
Verify 261
VERIFY (2F) 207
Vibration and Shock 29
W
WRITE (10) - (2A) 214
WRITE (6) - (0A) 213
WRITE AND VERIFY (2E) 220, 222
WRITE BUFFER (3B) 226
Write Buffer Empty Ratio 120
Write Cache 247
Write Cache Enable 125
WRITE LONG (3F) 227
Write Retention Priority 125
Write Retry Count 119
WRITE SAME (41) 229
X
XFER_RDY Information Units 51
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
311
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
312
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
313
© Copyright HGST, a Western Digital company
HGST, a Western Digital company
3403 Yerba Buena Road
San Jose, CA 95135
Produced in the United States
Tel: 800-801-4618 Fax: 408-717-5000
21 September 2012
All rights reserved Ultrastar™ is a trademark of HGST.
HGST trademarks are authorized for use in countries and jurisdictions in which HGST has the right to use, market and advertise the brands. HGST shall not be liable to third parties for unauthorized use of HGST trademarks.
Microsoft, Windows XP, and Windows are trademarks of Microsoft Corporation in the United States, other countries, or both.
Other trademarks are the property of their respective owners.
References in this publication to HGST products, programs or services do not imply that HGST intends to make these available in all countries in which HGST operates.
Product information is provided for information purposes only and does not constitute a warranty.
Information is true as of the date of publication and is subject to change. Actual results may vary. This publication is for general guidance only. Photographs may show design models.
This publication is for general guidance only. Photographs may show design models
HGST Ultrastar SSD400S.B (SAS) Solid State Drive Specification
314
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement