Ultrastar SSD800MH.B, SSD1600MM and SSD1600MR Product Manual

Ultrastar SSD800MH.B Ultrastar SSD1600MM Ultrastar SSD1600MR 2.5-Inch Serial-Attached SCSI (SAS) Solid-State Drive Product Manual Model(s): HUSMH8080BSS200 HUSMH8080BSS201 HUSMH8080BSS204 HUSMH8080BSS205 HUSMH8040BSS200 HUSMH8040BSS201 HUSMH8040BSS204 HUSMH8040BSS205 HUSMH8020BSS200 HUSMH8020BSS201 HUSMH8020BSS204 HUSMH8020BSS205 HUSMH8010BSS200 HUSMH8010BSS201 HUSMH8010BSS204 HUSMH8010BSS205 HUSMM1616ASS200 HUSMM1616ASS201 HUSMM1616ASS204 HUSMM1616ASS205 HUSMM1680ASS200 HUSMM1680ASS201 HUSMM1680ASS204 HUSMM1680ASS205 HUSMM1640ASS200 HUSMM1640ASS201 HUSMM1640ASS204 HUSMM1640ASS205 HUSMM1620ASS200 HUSMM1620ASS201 HUSMM1620ASS204 HUSMM1620ASS205 HUSMR1616ASS200 HUSMR1616ASS201 HUSMR1616ASS204 HUSMR1616ASS205 HUSMR1610ASS200 HUSMR1610ASS201 HUSMR1610ASS204 HUSMR1610ASS205 HUSMR1680ASS200 HUSMR1680ASS201 HUSMR1680ASS204 HUSMR1680ASS205 HUSMR1650ASS200 HUSMR1650ASS201 HUSMR1650ASS204 HUSMR1650ASS205 HUSMR1640ASS200 HUSMR1640ASS201 HUSMR1640ASS204 HUSMR1640ASS205 HUSMR1625ASS200 HUSMR1625ASS201 HUSMR1625ASS204 HUSMR1625ASS205 Document Number: Document Version: Revision Date: 61000-08072-401 1.7 10 June 2015 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. Edition 1.7 (Document Version: 1.7) 10 June 2015 The following paragraph does not apply to the United Kingdom or any country where such provisions are inconsistent with local law: HGST, INC., 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 this 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 the subject matter in this document. The furnishing of this document does not give you any license to these patents. © 2015 HGST, Inc., All rights reserved. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR ii Table of Contents 1 General............................................................................................................................................................... 18 1.1 Introduction................................................................................................................................................ 18 1.2 Glossary ..................................................................................................................................................... 22 1.3 Caution - Electrostatic Discharge.............................................................................................................. 22 1.4 Document Conventions .............................................................................................................................. 23 1.5 Byte Ordering Conventions ........................................................................................................................ 23 2 Features ............................................................................................................................................................. 24 3 Control Electronics ........................................................................................................................................... 24 4 Drive Characteristics ........................................................................................................................................ 25 4.1 Formatted Capacity ................................................................................................................................... 25 4.2 Datasheet ................................................................................................................................................... 28 4.3 Inquiry Information .................................................................................................................................... 29 4.4 Product ID.................................................................................................................................................. 29 4.5 Performance Characteristics ..................................................................................................................... 32 4.5.1 Drive Ready Time ............................................................................................................................. 32 4.5.2 SSD Command Overhead.................................................................................................................. 32 4.5.3 SSD Response Time .......................................................................................................................... 32 4.5.4 Data Transfer Speeds ......................................................................................................................... 33 4.5.5 Random Writes Over the Life of the Drive ....................................................................................... 68 5 Data Integrity .................................................................................................................................................... 69 5.1 Equipment Status........................................................................................................................................ 69 5.2 Error Recovery Procedure ......................................................................................................................... 69 6 Electrical Interface............................................................................................................................................ 70 6.1 SAS Connector ........................................................................................................................................... 70 6.1.1 29-Pin Serial-Attached SCSI (SAS) Connector ................................................................................ 70 6.1.2 Voltage and Ground Signals .............................................................................................................. 72 6.1.3 READY LED Output ........................................................................................................................ 72 7 Environment ...................................................................................................................................................... 73 7.1 Temperature and Humidity ........................................................................................................................ 73 7.2 Storage Requirements ................................................................................................................................ 74 7.2.1 Packaging .......................................................................................................................................... 74 7.2.2 Storage Time ..................................................................................................................................... 74 7.3 Cooling Requirements ................................................................................................................................ 74 8 DC Power Requirements .................................................................................................................................. 75 8.1 Power Supply Current, Average and Peak ................................................................................................. 75 8.2 Ripple Voltage ............................................................................................................................................ 83 8.3 Power Consumption Efficiency Index ........................................................................................................ 83 8.4 Power Slew Requirements during Power Loss ........................................................................................... 83 9 Reliability ........................................................................................................................................................... 84 9.1 Data Reliability .......................................................................................................................................... 84 9.2 Data Retention ........................................................................................................................................... 84 9.3 Failure Prediction (S.M.A.R.T.) ................................................................................................................. 84 9.4 MTBF (Mean Time Between Failure) ........................................................................................................ 84 9.5 Preventive Maintenance ............................................................................................................................. 84 9.6 Temperature Warning ................................................................................................................................ 84 10 Mechanical Specifications ................................................................................................................................ 85 10.1 Outline........................................................................................................................................................ 85 10.2 Mechanical Dimensions ............................................................................................................................. 85 10.3 Weights (Grams) ........................................................................................................................................ 86 10.4 Mounting Positions and Mounting Holes ................................................................................................... 88 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR iii 10.5 Interface Connector ................................................................................................................................... 89 10.6 Drive Mounting .......................................................................................................................................... 89 11 Acoustics, Vibration and Shock ....................................................................................................................... 90 11.1 Acoustics .................................................................................................................................................... 90 11.2 Operating Vibration ................................................................................................................................... 90 11.2.1 Random Vibration ............................................................................................................................. 90 11.2.2 Swept Sine Vibration......................................................................................................................... 90 11.3 Non-Operating Vibration ........................................................................................................................... 90 11.3.1 Random Vibration ............................................................................................................................. 90 11.3.2 Swept Sine Vibration......................................................................................................................... 90 11.4 Operating Shock ......................................................................................................................................... 91 11.4.1 Non-Operating Shock ........................................................................................................................ 91 11.4.2 Half-Sine Wave Shock Pulse ............................................................................................................. 91 12 Label Specification ............................................................................................................................................ 92 12.1 Overview .................................................................................................................................................... 92 12.2 Manufacturer Identification ....................................................................................................................... 92 12.3 Product Identification ................................................................................................................................ 92 13 Electromagnetic Compatibility ........................................................................................................................ 93 13.1 Radiated and Conducted RF ...................................................................................................................... 93 13.2 ITE Immunity.............................................................................................................................................. 93 13.3 Power Line Harmonic Emissions ............................................................................................................... 93 13.4 Voltage Fluctuations and Flicker ............................................................................................................... 93 13.5 Immunity Specifications ............................................................................................................................. 93 13.6 Class B Regulatory Notices ........................................................................................................................ 94 13.6.1 European Union ................................................................................................................................. 94 13.6.2 Canada ............................................................................................................................................... 94 13.6.3 Germany ............................................................................................................................................ 94 13.6.4 Korea (KCC) ..................................................................................................................................... 94 13.6.5 Taiwan (BSMI).................................................................................................................................. 94 14 Standards ........................................................................................................................................................... 95 14.1 UL and C-UL Standard Conformity ........................................................................................................... 95 14.2 European Standards Compliance............................................................................................................... 95 14.3 German Safety Mark .................................................................................................................................. 95 14.4 Flammability .............................................................................................................................................. 95 15 SAS Attachment ................................................................................................................................................ 96 15.1 General ...................................................................................................................................................... 96 15.2 SAS Features .............................................................................................................................................. 97 15.2.1 Supported SAS Features .................................................................................................................... 97 15.2.2 Unsupported SAS Features ................................................................................................................ 97 15.3 SAS Names and Identifiers ......................................................................................................................... 98 15.4 PHY Layer ................................................................................................................................................ 100 15.4.1 Link Reset Sequence ....................................................................................................................... 100 15.4.2 Hard Reset ....................................................................................................................................... 101 15.4.3 SAS OOB (Out of Band) ................................................................................................................. 101 15.4.4 SAS Speed Negotiation ................................................................................................................... 102 15.4.5 PHY Error Handling ........................................................................................................................ 103 15.4.6 Power Management ......................................................................................................................... 104 15.5 Link Layer ................................................................................................................................................ 104 15.5.1 Address Frames ............................................................................................................................... 104 15.5.1.1 Identify Address Frame .......................................................................................................... 105 15.5.1.2 OPEN Address Frame ............................................................................................................. 107 15.5.2 Link Layer Error Handling .............................................................................................................. 108 15.6 Transport Layer ....................................................................................................................................... 110 15.6.1 Command Information Unit ............................................................................................................ 112 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR iv 15.6.2 TASK Information Units ................................................................................................................. 113 15.6.3 XFER_RDY Information Units ....................................................................................................... 115 15.6.4 DATA Information Units ................................................................................................................ 115 15.6.5 RESPONSE Information Units ....................................................................................................... 116 15.6.6 Sequences of SSP Information Units ............................................................................................... 119 15.6.7 Transport Layer Error Handling ...................................................................................................... 120 16 SCSI Command Set ........................................................................................................................................ 121 16.1 SCSI Control Byte .................................................................................................................................... 123 16.2 Abbreviations ........................................................................................................................................... 123 16.3 FORMAT UNIT (04) ................................................................................................................................ 124 16.3.1 Parameter List Header ..................................................................................................................... 125 16.4 INQUIRY (12) .......................................................................................................................................... 129 16.4.1 Inquiry Data - General ..................................................................................................................... 131 16.4.2 Inquiry Data - EVPD = 0, Page Code = 00h - Standard Inquiry Data Page .................................... 131 16.4.3 Inquiry Data - EVPD = 1 - Page Code = 00h - Supported VPD Pages ........................................... 133 16.4.4 Inquiry Data - EVPD = 1, Page Code = 03h - ASCII Information Page ......................................... 134 16.4.5 Inquiry Data - EVPD = 1, Page Code = 80h - Unit Serial Number Page ........................................ 137 16.4.6 Inquiry Data - EVPD = 1, Page Code = 83h - Device Identification Page ...................................... 138 16.4.7 Inquiry Data - EVPD = 1, Page Code = 86h - Extended INQUIRY Data Page .............................. 140 16.4.8 Inquiry Data - EVPD = 1, Page Code = 87h - Mode Page Policy Page .......................................... 142 16.4.9 Inquiry Data - EVPD = 1, Page Code = 88h - SCSI Ports Page ...................................................... 143 16.4.10 Inquiry Data - EVPD = 1, Page Code = 8Ah - Power Condition Page ....................................... 145 16.4.11 Inquiry Data - EVPD = 1, Page Code = 8Dh - Power Consumption Page .................................. 146 16.4.12 Inquiry Data - EVPD = 1, Page Code = 90h - Protocol Specific Logical Unit Information Page 147 16.4.13 Inquiry Data - EVPD = 1, Page Code = 91h ............................................................................... 148 16.4.14 Inquiry Data - EVPD = 1, Page Code = B0h - Block Limits VPD Page ..................................... 150 16.4.15 Inquiry Data - EVPD = 1, Page Code = B1h - Block Device Characteristics VPD Page ........... 152 16.4.16 Inquiry Data - EVPD = 1, Page Code = B2h - Logical Block Provisioning VPD Page .............. 153 16.4.17 Inquiry Data - EVPD = 1, Page Code = D2h - Component and Assembly Information Page .... 154 16.5 LOG SELECT (4C) .................................................................................................................................. 155 16.6 LOG SENSE (4D) ..................................................................................................................................... 158 16.6.1 Log Page Parameters ....................................................................................................................... 159 16.6.2 Log Sense Page 0h - Supported Log Sense Pages ........................................................................... 160 16.6.3 Log Sense Page 2h - Counters for Write Errors .............................................................................. 161 16.6.4 Log Sense Page 3h - Counters for Read Errors ............................................................................... 163 16.6.5 Log Sense Page 5h - Counters for Verify Errors ............................................................................. 165 16.6.6 Log Sense Page 6h - Counters for Non-Medium Errors .................................................................. 167 16.6.7 Log Sense Page Dh - Temperature Information .............................................................................. 168 16.6.8 Log Sense Page Eh - Manufacturing Date Information ................................................................... 169 16.6.9 Log Sense Page Fh - Application Client Log .................................................................................. 170 16.6.10 Log Sense Page 10h - Self-Test Results...................................................................................... 171 16.6.11 Log Sense Page 11h - Solid State Media Log Page .................................................................... 174 16.6.12 Log Sense Page 15h - Background Medium Scan Operations .................................................... 175 16.6.13 Log Sense Page 17h - Non-Volatile Cache Log Parameters ....................................................... 177 16.6.14 Log Sense Page 18h - Protocol-Specific Log Parameters ........................................................... 178 16.6.15 Log Sense Page 19h - General Statistics and Performance ......................................................... 181 16.6.16 Log Sense Page 1Ah - Accumulated Transitions ........................................................................ 183 16.6.17 Log Sense Page 2Fh - SMART Status and Temperature Reading .............................................. 184 16.6.18 Log Sense Page 30h - Reserved Content .................................................................................... 186 16.6.19 Log Sense Page 37h - Miscellaneous Data Counters .................................................................. 187 16.7 MODE SELECT (15)................................................................................................................................ 188 16.8 MODE SELECT (55)................................................................................................................................ 189 16.9 MODE SENSE (1A).................................................................................................................................. 190 16.9.1 Mode Parameter List ....................................................................................................................... 192 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR v 16.9.1.1 Header..................................................................................................................................... 192 16.9.1.2 Block Descriptor ..................................................................................................................... 193 16.9.1.3 Page Descriptor....................................................................................................................... 194 16.9.2 Mode Page 00h - Vendor Unique Parameters ................................................................................. 195 16.9.3 Mode Page 01h - Read/Write Error Recovery Parameters .............................................................. 197 16.9.4 Mode Page 02h - Disconnect/Reconnect Parameters ...................................................................... 198 16.9.5 Mode Page 03h - Format Device Parameters .................................................................................. 199 16.9.6 Mode Page 04h - Rigid Disk Drive Geometry Parameters .............................................................. 200 16.9.7 Mode Page 07h - Verify Error Recovery Parameters ...................................................................... 201 16.9.8 Mode Page 08h - Caching Parameters ............................................................................................. 202 16.9.9 Mode Page 0Ah - Control Mode Page Parameters .......................................................................... 203 16.9.9.1 Control Extension Subpage .................................................................................................... 205 16.9.9.2 Application Tag Subpage ....................................................................................................... 206 16.9.10 Mode Page 0Ch - Notch Parameters ........................................................................................... 208 16.9.11 Mode Page 18h (Protocol-Specific Logical Unit) ....................................................................... 209 16.9.12 Mode Page 19h - Port Control Parameters .................................................................................. 210 16.9.12.1 Short Format of Port Control Page ......................................................................................... 210 16.9.12.2 Long Format of Port Control Page ......................................................................................... 212 16.9.12.3 PHY Control and Discover - Subpage 1 ................................................................................. 213 16.9.12.4 Shared Port Control - Subpage 2 ............................................................................................ 215 16.9.12.5 SAS Phy Mode Page - Subpage 3 ........................................................................................... 216 16.9.13 Mode Page 1Ah - Power Control ................................................................................................ 218 16.9.13.1 Power Consumption - Subpage 1............................................................................................ 219 16.9.14 Mode Page 1Ch - Informational Exceptions Control .................................................................. 220 16.9.14.1 Background Control - Subpage 01h........................................................................................ 222 16.10 MODE SENSE (5A) ............................................................................................................................. 223 16.11 PERSISTENT RESERVE IN (5E)......................................................................................................... 224 16.11.1 Service Action Codes .................................................................................................................. 224 16.11.2 Parameter Data for Read Keys .................................................................................................... 225 16.11.3 Parameter Data for Read Reservations ........................................................................................ 226 16.12 PERSISTENT RESERVE OUT (5F) ..................................................................................................... 227 16.12.1 Service Action Codes .................................................................................................................. 227 16.12.2 Type Codes ................................................................................................................................. 228 16.12.3 Parameter list .............................................................................................................................. 229 16.12.4 Summary ..................................................................................................................................... 230 16.12.4.1 Scope, Type ............................................................................................................................ 230 16.12.4.2 Reservation Key ..................................................................................................................... 230 16.12.4.3 Service Action Reservation Key ............................................................................................. 230 16.12.4.4 APTPL .................................................................................................................................... 230 16.12.4.5 Generation Counter ................................................................................................................. 230 16.13 PRE-FETCH (10) - (34) ...................................................................................................................... 231 16.14 PRE-FETCH (16) - (90) ...................................................................................................................... 231 16.15 READ (6) - (08) ................................................................................................................................... 232 16.16 READ (10) - (28) ................................................................................................................................. 233 16.17 READ (12) - (A8) ................................................................................................................................. 235 16.18 READ (16) - (88) ................................................................................................................................. 236 16.19 READ (32) - (7F/09) ............................................................................................................................ 237 16.20 READ BUFFER (3C) ........................................................................................................................... 238 16.20.1 Combined Header And Data (Mode 00000b) ............................................................................. 239 16.20.2 Read Data (Mode 00010b) .......................................................................................................... 239 16.20.3 Descriptor (Mode 00011b) .......................................................................................................... 240 16.20.4 Read Data from Echo Buffer (Mode 01010b) ............................................................................. 241 16.20.5 Echo Buffer Descriptor (Mode 01011b) ..................................................................................... 241 16.20.6 Expander Communications and Echo Buffer (Mode 11010b) .................................................... 241 16.20.7 Error History (Mode 11100b) ..................................................................................................... 242 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR vi 16.21 READ CAPACITY (10) - (25) .............................................................................................................. 245 16.21.1 Returned Data Format ................................................................................................................. 245 16.22 READ CAPACITY (16) (9E/10) ........................................................................................................... 246 16.22.1 Returned Data Format ................................................................................................................. 246 16.23 READ DEFECT DATA (37)................................................................................................................. 248 16.23.1 Defect List Header ...................................................................................................................... 249 16.23.2 Defect List Descriptor ................................................................................................................. 249 16.24 READ DEFECT DATA (B7) ................................................................................................................ 250 16.24.1 Defect List Header ...................................................................................................................... 251 16.24.2 Defect List Descriptor ................................................................................................................. 251 16.25 READ LONG (3E) - 10-Byte CDB ....................................................................................................... 252 16.26 READ LONG (16) - (9E/11) 16-Byte CDB .......................................................................................... 253 16.27 REASSIGN BLOCKS (07) .................................................................................................................... 254 16.28 RECEIVE DIAGNOSTICS RESULTS (1C) .......................................................................................... 255 16.28.1 Receive Diagnostic Results Page 0 ............................................................................................. 255 16.29 RELEASE (17) ..................................................................................................................................... 256 16.30 RELEASE (57) ..................................................................................................................................... 257 16.31 REPORT DEVICE IDENTIFIER (A3/05) ............................................................................................ 258 16.32 REPORT LUNS (A0) ............................................................................................................................ 260 16.33 REPORT SUPPORTED OPERATION CODES (A3/0C) ..................................................................... 261 16.33.1 all_commands Parameter Data Format ....................................................................................... 263 16.33.2 one_command Parameter Data Format ....................................................................................... 264 16.33.3 Command Timeouts Descriptor Format ...................................................................................... 266 16.33.3.1 Overview ................................................................................................................................ 266 16.33.3.2 WRITE BUFFER: Command Timeouts Descriptor COMMAND SPECIFIC Field Usage ... 267 16.34 REPORT SUPPORTED TASK MANAGEMENT FUNCTIONS (A3/0D) ............................................ 268 16.35 REQUEST SENSE (03) ........................................................................................................................ 270 16.36 RESERVE (16) ..................................................................................................................................... 271 16.37 RESERVE (56) ..................................................................................................................................... 272 16.38 REZERO UNIT (01) ............................................................................................................................. 273 16.39 SANITIZE (48) ..................................................................................................................................... 274 16.39.1 Sanitize (48) Service Action Codes ............................................................................................ 274 16.40 SECURITY PROTOCOL IN (A2)......................................................................................................... 275 16.41 SECURITY PROTOCOL OUT (B5) ..................................................................................................... 277 16.42 SEEK (6) - (0B) .................................................................................................................................... 279 16.43 SEEK (10) - (2B) .................................................................................................................................. 279 16.44 SEND DIAGNOSTIC (1D)................................................................................................................... 280 16.44.1 Send Diagnostic Page 0............................................................................................................... 282 16.44.2 Send Diagnostic Page 3F ............................................................................................................ 283 16.45 SET DEVICE IDENTIFIER (A4/06) .................................................................................................... 286 16.46 START STOP UNIT (1B) ..................................................................................................................... 287 16.47 SYNCHRONIZE CACHE (10) - (35) ................................................................................................... 288 16.48 SYNCHRONIZE CACHE (16) - (91) ................................................................................................... 289 16.49 TEST UNIT READY (00) ..................................................................................................................... 290 16.50 UNMAP (42) ........................................................................................................................................ 291 16.50.1 UNMAP Parameter List .............................................................................................................. 292 16.51 VERIFY (10) - (2F) .............................................................................................................................. 294 16.52 VERIFY (12) - (AF).............................................................................................................................. 296 16.53 VERIFY (16) - (8F) .............................................................................................................................. 296 16.54 VERIFY (32) - (7F/0A) ........................................................................................................................ 297 16.55 WRITE (6) - (0A) ................................................................................................................................. 298 16.56 WRITE (10) - (2A) ............................................................................................................................... 299 16.57 WRITE (12) - (AA) ............................................................................................................................... 301 16.58 WRITE (16) - (8A) ............................................................................................................................... 301 16.59 WRITE (32) - (7F/0B) .......................................................................................................................... 302 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR vii 16.60 WRITE AND VERIFY (10) - (2E) ........................................................................................................ 303 16.61 WRITE AND VERIFY (12) - (AE) ........................................................................................................ 304 16.62 WRITE AND VERIFY (16) - (8E) ........................................................................................................ 304 16.63 WRITE AND VERIFY (32) - (7F/0C) ................................................................................................... 305 16.64 WRITE BUFFER (3B) ......................................................................................................................... 306 16.64.1 Combined Header And Data (Mode 00000b) ............................................................................. 307 16.64.2 Write Data (Mode 00010b) ......................................................................................................... 307 16.64.3 Download Microcode (Mode 00100b) ........................................................................................ 308 16.64.4 Download Microcode and Save (Mode 00101b) - Single Binary File ........................................ 309 16.64.5 Download Microcode and Save (Mode 00111b) - Multiple Binary Files ................................... 309 16.64.6 Write Data to Echo Buffer (Mode 01010b) ................................................................................ 309 16.64.7 Download Microcode with Offsets, Save and Defer Activate (Mode 01110b) .......................... 309 16.64.8 Activate Deferred Microcode Mode (Mode 01111b) .................................................................. 310 16.64.9 Enable Expander Communications Protocol (Mode 11010b) ..................................................... 310 16.64.10 Enable Expander Communications Protocol (Mode 11010b) ..................................................... 310 16.65 WRITE LONG (10) - (3F) .................................................................................................................... 311 16.66 WRITE LONG (16) - (9F/11) ............................................................................................................... 315 16.67 WRITE SAME (10) - (41) ..................................................................................................................... 316 16.68 WRITE SAME (16) - (93) ..................................................................................................................... 317 16.69 WRITE SAME (32) - (7F/0D) .............................................................................................................. 318 16.70 SCSI Status Byte .................................................................................................................................. 320 16.71 Additional Information ........................................................................................................................ 321 16.72 SCSI Protocol ...................................................................................................................................... 321 16.72.1 Priority of SCSI Status Byte Reporting....................................................................................... 321 16.72.2 Invalid LUN Processing .............................................................................................................. 322 16.72.3 Command Processing During Execution of Active I/O Process ................................................. 322 16.72.4 Unit Attention Condition ............................................................................................................ 323 16.72.5 Command Processing During Startup, Format and Sanitize Operations ..................................... 324 16.72.6 Internal Error Condition .............................................................................................................. 325 16.72.7 Deferred Error Condition ............................................................................................................ 325 16.72.8 Degraded Mode ........................................................................................................................... 326 16.72.8.1 Response to SCSI Command in Degraded Mode - Becoming Ready .................................... 326 16.72.8.2 Response to SCSI Command in Degraded Mode - Context Load .......................................... 327 16.72.8.3 Response to SCSI Command in Degraded Mode - Drive Issued or Received Unit Stop Command 328 16.72.8.4 Self-Configuration Failure Degraded Mode ........................................................................... 329 16.72.8.5 Format Command Failure Degraded Mode ............................................................................ 330 16.72.8.6 Sanitize Command Failure Degraded Mode ........................................................................... 331 16.72.8.7 Command Processing while Reserved .................................................................................... 332 16.73 Priority Commands .............................................................................................................................. 333 16.74 Command Queuing .............................................................................................................................. 333 16.74.1 Queue Depth ............................................................................................................................... 333 16.74.2 Queue Full Status ........................................................................................................................ 333 16.74.3 Termination of I/O Processes ...................................................................................................... 333 16.75 Command Reordering .......................................................................................................................... 333 16.76 Concurrent I/O Process ....................................................................................................................... 334 16.77 Write Cache ......................................................................................................................................... 334 16.78 Automatic Rewrite/Reallocate ............................................................................................................. 334 16.79 Multiple Initiator Support .................................................................................................................... 334 16.79.1 Sense Data ................................................................................................................................... 334 16.79.2 Mode Pages ................................................................................................................................. 334 16.80 Reset..................................................................................................................................................... 335 16.80.1 Reset Sources .............................................................................................................................. 335 16.80.2 Reset Actions .............................................................................................................................. 335 16.80.2.1 Power-On Reset and Self-Initiated Reset ............................................................................... 335 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR viii 16.81 Diagnostics .......................................................................................................................................... 336 16.81.1 Power-On Diagnostics ................................................................................................................ 336 16.81.2 Self-Test via SEND DIAGNOSTIC Command .......................................................................... 336 16.81.2.1 Default Self-Test..................................................................................................................... 336 16.81.2.2 Short Self-Tests and Extended Self-Tests............................................................................... 336 16.81.2.3 Self-Test Modes ...................................................................................................................... 337 16.81.2.4 Background Medium Scan...................................................................................................... 338 16.82 Idle Time Function ............................................................................................................................... 339 16.83 Command Time-Out Limits .................................................................................................................. 339 16.83.1 Format Time ................................................................................................................................ 339 16.83.2 Sanitize Time .............................................................................................................................. 339 16.83.3 START STOP UNIT Time ......................................................................................................... 339 16.83.4 Time-Out Limits for Other Commands ....................................................................................... 339 16.84 Recommended Initiator ERP................................................................................................................ 340 16.84.1 Drive Service Strategy ................................................................................................................ 340 16.84.2 Recommendations for System Error Log .................................................................................... 340 16.84.3 Data Recovery Procedure ............................................................................................................ 341 16.84.4 Non-Data Error Recovery Procedure .......................................................................................... 341 16.84.4.1 Drive Busy .............................................................................................................................. 341 16.84.4.2 Unrecovered Drive Error ........................................................................................................ 341 16.84.4.3 Recovered Drive Error ............................................................................................................ 342 16.84.4.4 Drive Not Ready ..................................................................................................................... 342 16.84.4.5 Degraded Mode ...................................................................................................................... 342 16.84.4.6 Interface Protocol.................................................................................................................... 343 16.84.4.7 Aborted Command.................................................................................................................. 344 16.84.4.8 Unit Attention Condition ........................................................................................................ 345 16.84.4.9 Components Mismatch ........................................................................................................... 346 16.84.4.10 Self-Initiated Reset ................................................................................................................. 346 16.84.4.11 Defect List Recovery .............................................................................................................. 346 16.84.4.12 Miscompare Recovery ............................................................................................................ 347 16.84.4.13 Microcode Error ..................................................................................................................... 347 16.84.4.14 Predictive Failure Analysis .................................................................................................... 348 16.85 Logical Block Provisioning ................................................................................................................. 348 17 SCSI Sense Data .............................................................................................................................................. 349 17.1 SCSI Sense Data Format .......................................................................................................................... 349 17.2 Sense Data Description ............................................................................................................................ 350 17.2.1 Valid (Bit 7 of Byte 0) ..................................................................................................................... 350 17.2.2 Error Code (Bit 6 - 0 of Byte 0)....................................................................................................... 350 17.2.3 ILI: Incorrect Length Indicator (Bit 5 of Byte 2)............................................................................. 350 17.2.4 Sense Key (Bit 3 - 0 of Byte 2) ....................................................................................................... 351 17.2.5 Information Bytes (Byte 3 through 6) ............................................................................................. 352 17.2.6 Additional Sense Length (Byte 7) ................................................................................................... 352 17.2.7 Command Specific Information (Byte 8 through 11) ...................................................................... 352 17.2.8 Additional Sense Code/Qualifier (Byte 12 and 13) ......................................................................... 352 17.2.9 FRU: Field Replaceable Unit (Byte 14) .......................................................................................... 364 17.2.10 Sense Key Specific (Byte 15 through 17) ................................................................................... 364 17.2.10.1 Sense Key Specific - Illegal Request (Sense Key = 5h) ......................................................... 364 17.2.10.2 Sense Key Specific - Recovered (Sense Key = 1h) or Medium (Sense Key = 3h) or Hardware (Sense Key = 4h) .......................................................................................................................................... 365 17.2.10.3 Sense Key Specific - Not Ready (Sense key = 2h) ................................................................. 366 17.2.11 Reserved (Byte 18 through 19) ................................................................................................... 366 17.2.12 Vendor-Unique Error Information (Byte 20 through 23) ............................................................ 366 17.2.13 Physical Error Record (Byte 24 thru 29) ..................................................................................... 366 17.2.14 Reserved (Byte 30 through 31) ................................................................................................... 366 17.2.15 Unit Error Codes (UEC) List ...................................................................................................... 367 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR ix 18 Security Firmware and Hardware ................................................................................................................ 373 18.1 Referenced Specifications and Standards ................................................................................................ 373 18.1.1 TCG Specifications ......................................................................................................................... 373 18.1.2 National Institute of Standards (NIST) ............................................................................................ 373 18.1.3 INCITS Standards ........................................................................................................................... 374 18.1.4 Department of Defense .................................................................................................................... 374 18.2 TCG Enterprise Implementation Exceptions ............................................................................................ 374 18.3 Encryption Algorithms ............................................................................................................................. 375 18.3.1 Advanced Encryption Standard (AES) ............................................................................................ 375 18.3.2 ‘Level 0 Discovery’ Vendor Specific Data ..................................................................................... 375 18.3.3 Deterministic Random Bit Generation (DRBG) .............................................................................. 376 18.3.4 Key Erasure and Generation ............................................................................................................ 376 18.3.5 Key Wrap ........................................................................................................................................ 376 18.4 TCG Enterprise Tables ............................................................................................................................ 377 18.4.1 ‘Admin SP’ C_PIN and ‘Locking SP’ C_PIN Tables ..................................................................... 377 18.4.2 ‘Locking SP’ K_AES_256 Table .................................................................................................... 378 18.4.3 ‘Locking SP’ Access Control Table ................................................................................................ 378 18.4.4 ‘Locking SP’ LockingInfo Table ..................................................................................................... 379 18.4.5 ‘Locking SP’ Locking Table ........................................................................................................... 379 18.4.6 DataStore Table ............................................................................................................................... 379 18.5 Firmware Download and Signing ............................................................................................................ 380 18.6 Ports Feature ........................................................................................................................................... 380 18.7 MSID (Manufacturer’s Security Identifier) .............................................................................................. 383 18.8 Logging .................................................................................................................................................... 384 18.9 Number of Sessions .................................................................................................................................. 384 18.10 Number of Bands ................................................................................................................................. 384 18.11 Number of COMIDs ............................................................................................................................. 384 18.12 Locked and Unlocked Behavior ........................................................................................................... 384 18.12.1 T10 SCSI Commands.................................................................................................................. 384 18.12.2 TCG Enterprise Commands ........................................................................................................ 387 18.13 Revert Method ...................................................................................................................................... 389 18.14 RevertSP Method ................................................................................................................................. 390 18.15 Error Codes ......................................................................................................................................... 390 18.16 Customer Specific Requirements ......................................................................................................... 390 18.17 FIPS140 Cryptographic Officer Instructions....................................................................................... 391 18.17.1 Physical Security ......................................................................................................................... 391 18.17.2 Certified Models, Hardware Versions and Firmware Versions .................................................. 391 18.17.3 Cryptographic Module Acceptance and Provisioning ................................................................. 391 18.17.4 Zeroization of the Cryptographic Module ................................................................................... 392 18.17.5 Security Protocol Parameters ...................................................................................................... 392 18.17.5.1 Security Protocol Information Description ............................................................................. 392 18.17.5.2 CDB Description .................................................................................................................... 392 18.17.5.3 Certificate Data Description ................................................................................................... 393 18.17.5.4 Public Key Certificate Description ......................................................................................... 393 18.17.5.5 Attribute Certificate Description ............................................................................................ 393 18.17.6 Security Compliance Information Description............................................................................ 394 18.17.7 Compliance Descriptor Overview ............................................................................................... 395 18.17.8 FIPS 140 Compliance Descriptor ................................................................................................ 396 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR x List of Tables Table 1: Table 2: Table 3: Table 4: Table 5: Table 6: Table 7: Table 8: Table 9: Table 10: Table 11: Table 12: Table 13: Table 14: Table 15: Table 16: Table 17: Table 18: Table 19: Table 20: Table 21: Table 22: Table 23: Table 24: Table 25: Table 26: Table 27: Table 28: Table 29: Table 30: Table 31: Table 32: Table 33: Table 34: Table 35: Table 36: Table 37: Table 38: Table 39: Table 40: Table 41: Table 42: Table 43: Table 44: Table 45: Table 46: Table 47: Table 48: Product ID Table.................................................................................................................................... 18 Byte Ordering Conventions ................................................................................................................... 23 Formatted Capacities are Listed in Blocks ............................................................................................ 25 Datasheet ............................................................................................................................................... 28 Product ID in Inquiry Command World Wide ID - Block Assignment ................................................. 29 Block Assignment of World Wide ID in INQUIRY Command ............................................................ 31 Drive Ready Time .................................................................................................................................. 32 SSD Command Overhead ...................................................................................................................... 32 SSD Response Time .............................................................................................................................. 32 6Gbps Single Port 9W Mode, HE .......................................................................................................... 33 6Gbps Single Port 9W Mode, ME ......................................................................................................... 35 6Gbps Single Port 9W Mode, RI and Soft RI ........................................................................................ 37 6Gbps Dual Port 9W Mode, HE ............................................................................................................ 39 6Gbps Dual Port 9W Mode, ME ............................................................................................................ 41 6Gbps Dual Port 9W Mode, RI and Soft RI .......................................................................................... 43 12Gbps Single Port 9W Mode, HE ........................................................................................................ 45 12Gbps Single Port 9W Mode, ME ....................................................................................................... 47 12Gbps Single Port 9W Mode, RI and Soft RI ...................................................................................... 49 12Gbps Dual Port 9W Mode, HE .......................................................................................................... 51 12Gbps Dual Port 9W Mode, ME .......................................................................................................... 53 12Gbps Dual Port 9W Mode, RI and Soft RI ........................................................................................ 55 12Gbps Single Port 11W Mode, HE ...................................................................................................... 57 12Gbps Single Port 11W Mode, ME ..................................................................................................... 59 12Gbps Single Port 11W Mode, RI and Soft RI .................................................................................... 61 12Gbps Dual Port 11W Mode, HE ........................................................................................................ 63 12Gbps Dual Port 11W Mode, ME ........................................................................................................ 65 12Gbps Dual Port 11W Mode, RI and Soft RI ...................................................................................... 67 29-Pin Connector Signal Definition ....................................................................................................... 71 Operating and Non-Operating Conditions ............................................................................................. 73 Maximum Allowable Surface Temperatures ......................................................................................... 74 Input Voltage and Capacitance .............................................................................................................. 75 HE Models; Power Supply Current, Average and Peak (100GB, 200GB, 400GB, 800GB) ................. 75 ME Models; Power Supply Current, Average and Peak (200GB, 400GB, 800GB, 1.6TB) .................. 77 RI Models; Power Supply Current, Average and Peak (250GB, 400GB, 500GB) ................................ 79 RI Models; Power Supply Current, Average and Peak (800GB, 1.0TB, 1.6TB) ................................... 81 Power Supply Generated Ripple at Drive Power Connector ................................................................. 83 Power Consumption Efficiency Index ................................................................................................... 83 Physical Dimensions .............................................................................................................................. 85 Names and Identifiers ............................................................................................................................ 98 IEEE Registered Name Format .............................................................................................................. 99 Supported Settings Bit Priorities .......................................................................................................... 103 Address Frame Format ......................................................................................................................... 104 Frame Type .......................................................................................................................................... 104 Identify Address Frame ....................................................................................................................... 105 Reason Field ........................................................................................................................................ 106 SAS Frame Format .............................................................................................................................. 110 COMMAND Information Unit ............................................................................................................ 112 TASK Information Unit ....................................................................................................................... 113 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR xi Table 49: Table 50: Table 51: Table 52: Table 53: Table 54: Table 55: Table 56: Table 57: Table 58: Table 59: Table 60: Table 61: Table 62: Table 63: Table 64: Table 65: Table 66: Table 67: Table 68: Table 69: Table 70: Table 71: Table 72: Table 73: Table 74: Table 75: Table 76: Table 77: Table 78: Table 79: Table 80: Table 81: Table 82: Table 83: Table 84: Table 85: Table 86: Table 87: Table 88: Table 89: Table 90: Table 91: Table 92: Table 93: Table 94: Table 95: Table 96: Table 97: Table 98: Table 99: Additional Response Information Argument for Query Async Event ................................................. 114 UADE DEPTH Field ........................................................................................................................... 115 XFER_RDY Information Unit ............................................................................................................. 115 DATA Information Unit ...................................................................................................................... 115 Response Information Unit .................................................................................................................. 116 RESPONSE DATA ............................................................................................................................. 118 SCSI Commands Supported ................................................................................................................ 121 SCSI Control Byte ............................................................................................................................... 123 FORMAT UNIT (04)........................................................................................................................... 124 Short Parameter List Header ................................................................................................................ 125 Long Parameter List Header ................................................................................................................ 125 Initialization Pattern Descriptor ........................................................................................................... 127 INQUIRY (12) ..................................................................................................................................... 129 Page Code Descriptions ....................................................................................................................... 130 Inquiry Data Format - EVPD = 0 (Page Code = 00h) .......................................................................... 131 Inquiry Data Format - EVPD = 1 (Page Code = 00h) .......................................................................... 133 Inquiry Data Format - EVPD = 1 (Page Code = 03h) .......................................................................... 134 Inquiry Data Format - EVPD = 1 (Page Code = 80h) .......................................................................... 137 Inquiry Data Format - EVPD = 1 (Page Code = 83h) .......................................................................... 138 Inquiry Data Format - EVPD = 1 (Page Code = 86h) .......................................................................... 140 Inquiry Data Format - EVPD = 1 (Page Code = 87h) .......................................................................... 142 Inquiry Data Format - EVPD = 1 (Page Code = 88h) .......................................................................... 143 Inquiry Data Format - EVPD = 1 (Page Code = 8Ah) ......................................................................... 145 Inquiry Data Format - EVPD = 1 (Page Code = 8Dh) ......................................................................... 146 Inquiry Data Format - EVPD = 1 (Page Code = 90h) .......................................................................... 147 Protocol-specific Logical Unit Information Descriptor ....................................................................... 147 Protocol-specific Port Information VPD Page to SAS SSP ................................................................. 148 Port Information Descriptor for SAS SSP ........................................................................................... 148 SAS PHY Information Descriptor for SAS SSP .................................................................................. 149 Inquiry Data Format - EVPD = 1 (Page Code = B0h) ......................................................................... 150 Inquiry Data Format - EVPD = 1 (Page Code = B1h) ......................................................................... 152 Inquiry Data Format - EVPD = 1 (Page Code = B2h) ......................................................................... 153 Inquiry Data Format - EVPD = 1 (Page Code = D2h) ......................................................................... 154 Log Select (4C) .................................................................................................................................... 155 Log Sense (4D) .................................................................................................................................... 158 Log Sense Page 0h - Supported Log Sense Pages ............................................................................... 160 Log Sense Page 2h - Counters for Write Errors ................................................................................... 161 Log Sense Page 3h - Counters for Read Errors.................................................................................... 163 Log Sense Page 5h - Counters for Verify Errors ................................................................................. 165 Log Sense Page 6h - Counters for Non-Medium Errors ...................................................................... 167 Log Sense Page Dh - Temperature Information .................................................................................. 168 Log Sense Page Eh - Manufacturing Date Information ....................................................................... 169 Log Sense Page Fh - Application Client Log ...................................................................................... 170 Log Sense Page Fh, Application Client Log Parameter Structure ....................................................... 170 Log Sense Page 10h - Self-Test Results .............................................................................................. 171 Log Sense Page 10h - Self-Test Results Log Parameter Structure ...................................................... 171 Log Sense Page 10h - Self-Test Results Value .................................................................................... 172 Log Sense Page 10h - Extended Segment Number .............................................................................. 173 Log Sense Page 11h - Solid State Media Log Page ............................................................................. 174 Log Sense Page 11h - Solid State Media Log Page Parameter Codes ................................................. 174 Log Sense Page 11h - Percentage Used Endurance Indicator Parameter Format ................................ 174 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR xii Table 100: Table 101: Table 102: Table 103: Table 104: Table 105: Table 106: Table 107: Table 108: Table 109: Table 110: Table 111: Table 112: Table 113: Table 114: Table 115: Table 116: Table 117: Table 118: Table 119: Table 120: Table 121: Table 122: Table 123: Table 124: Table 125: Table 126: Table 127: Table 128: Table 129: Table 130: Table 131: Table 132: Table 133: Table 134: Table 135: Table 136: Table 137: Table 138: Table 139: Table 140: Table 141: Table 142: Table 143: Table 144: Table 145: Table 146: Table 147: Table 148: Table 149: Table 150: Log Sense Page 15h - Background Medium Scan Operations ............................................................. 175 Log Sense Page 17h - Non-Volatile Cache Log Parameters ................................................................ 177 Log Sense Page 18h - Protocol-Specific Log Parameters .................................................................... 178 Log Sense Page 18h - SAS Log Descriptor ......................................................................................... 178 Log Sense Page 19h - General Statistics and Performance .................................................................. 181 Time Interval Descriptor ...................................................................................................................... 182 Log Sense Page 1Ah - Accumulated Transitions ................................................................................. 183 Log Sense Page 2Fh - SMART Status and Temperature Reading ....................................................... 184 Log Sense Page 2Fh - Vendor Unique Parameter Format for Parameters >0000h .............................. 185 Log Sense Page 30h - Reserved Content ............................................................................................. 186 Log Sense Page 37h - Miscellaneous Data Counters ........................................................................... 187 MODE SELECT (15) .......................................................................................................................... 188 MODE SELECT (55) .......................................................................................................................... 189 MODE SENSE (1A) ............................................................................................................................ 190 Page Code Usage ................................................................................................................................. 191 Mode Parameter Header (6) ................................................................................................................. 192 Mode Parameter Header (10) ............................................................................................................... 192 Block Descriptor .................................................................................................................................. 193 Mode Parameter Page Format .............................................................................................................. 194 Mode Parameter Page Format .............................................................................................................. 194 Mode Page 00h - Vendor Unique Parameters ...................................................................................... 195 Mode Page 01h - Read/Write Error Recovery Parameters .................................................................. 197 Mode Page 02h - Disconnect/Reconnect Parameters ........................................................................... 198 Mode Page 03h - Format Device Parameters ....................................................................................... 199 Mode Page 04h - Rigid Disk Drive Geometry Parameters .................................................................. 200 Mode Page 07h - Verify Error Recovery Parameters .......................................................................... 201 Mode Page 08h - Caching Parameters ................................................................................................. 202 Mode Page 0Ah - Control Mode Page Parameters .............................................................................. 203 Control Extension Subpage ................................................................................................................. 205 Application Tag Mode Page ................................................................................................................ 206 Application Tag Descriptor Format ..................................................................................................... 207 Mode Page 0Ch - Notch Parameters .................................................................................................... 208 Mode Page 18h (Protocol-Specific Logical Unit) ................................................................................ 209 Short (Port Control Parameters) Short Format..................................................................................... 210 Long Format of Port Control Page ....................................................................................................... 212 PHY Control and Discover - Subpage 1 .............................................................................................. 213 SAS PHY Mode Descriptor ................................................................................................................. 214 Shared Port Control - Subpage 2 ......................................................................................................... 215 SAS Phy Mode Page - Subpage 3 ........................................................................................................ 216 PHY Mode Descriptor (0 and 1) .......................................................................................................... 217 Mode Page 1Ah - Power Control ......................................................................................................... 218 Power Consumption - Subpage 1 ......................................................................................................... 219 Mode Page 1Ch - Informational Exceptions Control ........................................................................... 220 Background Control - Subpage 01h ..................................................................................................... 222 MODE SENSE (5A) ............................................................................................................................ 223 Persistent Reserve In (5E) .................................................................................................................... 224 PERSISTENT RESERVE IN, Service Action Codes .......................................................................... 224 PERSISTENT RESERVE IN, Parameter Data for Read Keys ............................................................ 225 PERSISTENT RESERVE IN, Parameter Data for Read Reservations ............................................... 226 PERSISTENT RESERVE IN, Read Reservation Descriptor .............................................................. 226 PERSISTENT RESERVE OUT (5F) .................................................................................................. 227 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR xiii Table 151: Table 152: Table 153: Table 154: Table 155: Table 156: Table 157: Table 158: Table 159: Table 160: Table 161: Table 162: Table 163: Table 164: Table 165: Table 166: Table 167: Table 168: Table 169: Table 170: Table 171: Table 172: Table 173: Table 174: Table 175: Table 176: Table 177: Table 178: Table 179: Table 180: Table 181: Table 182: Table 183: Table 184: Table 185: Table 186: Table 187: Table 188: Table 189: Table 190: Table 191: Table 192: Table 193: Table 194: Table 195: Table 196: Table 197: Table 198: Table 199: Table 200: Table 201: PERSISTENT RESERVE OUT, Service Action Codes ...................................................................... 227 PERSISTENT RESERVE OUT, Type Codes ..................................................................................... 228 Parameter List ...................................................................................................................................... 229 PERSISTENT RESERVE OUT, Service Action, Parameters ............................................................. 230 APTPL and Drive Information ............................................................................................................ 230 PRE-FETCH (10) - (34) ...................................................................................................................... 231 PRE-FETCH (16) - (90) ...................................................................................................................... 231 READ (6) - (08) ................................................................................................................................... 232 READ (10) - (28) ................................................................................................................................. 233 Read (12) - (A8)................................................................................................................................... 235 READ (16) - (88) ................................................................................................................................. 236 READ (32) - (7F/09)............................................................................................................................ 237 READ BUFFER (3C) .......................................................................................................................... 238 Read Buffer Header ............................................................................................................................. 239 Read Buffer Descriptor ........................................................................................................................ 240 Echo Buffer Descriptor ........................................................................................................................ 241 Error History Directory ........................................................................................................................ 242 Error History Directory Entry .............................................................................................................. 244 READ CAPACITY (10) - (25) ............................................................................................................ 245 Format of READ CAPACITY Command Reply ................................................................................. 245 Read Capacity (16) (9E/10) ................................................................................................................. 246 Returned Data Format .......................................................................................................................... 246 P_TYPE Field and PROT_EN Bit ....................................................................................................... 247 LOGICAL BLOCKS PER PHYSICAL BLOCK EXPONENT Field ................................................. 247 READ DEFECT DATA (37) ............................................................................................................... 248 Defect List Header ............................................................................................................................... 249 Defect List Descriptor .......................................................................................................................... 249 READ DEFECT DATA (B7) .............................................................................................................. 250 Defect List Header ............................................................................................................................... 251 Defect List Descriptor .......................................................................................................................... 251 READ LONG (3E) -10-Byte CDB ...................................................................................................... 252 READ LONG (16) - (9E/11) 16-Byte CDB ........................................................................................ 253 REASSIGN BLOCKS (07) ................................................................................................................. 254 Format of Reassign Blocks data .......................................................................................................... 254 RECEIVE DIAGNOSTICS RESULTS (1C) ...................................................................................... 255 Receive Diagnostic Results Page 0 ...................................................................................................... 255 RELEASE (17) .................................................................................................................................... 256 RELEASE (57) .................................................................................................................................... 257 REPORT DEVICE IDENTIFIER (A3/05) .......................................................................................... 258 Report Device Identifier Parameter List .............................................................................................. 259 REPORT LUNS (A0) .......................................................................................................................... 260 LUN Reporting Parameter List Format ............................................................................................... 260 REPORT SUPPORTED OPERATION CODES (A3/0C)................................................................... 261 Reporting Options ................................................................................................................................ 262 all_commands Parameter Data Format ................................................................................................ 263 Command Descriptor Format .............................................................................................................. 263 one_command Parameter Data Format ................................................................................................ 264 one_command Parameter Support Field .............................................................................................. 265 Command Timeouts Descriptor Format .............................................................................................. 266 Command Timeouts Descriptor Command Specific Field Usage ....................................................... 266 REPORT SUPPORTED TASK MANAGEMENT FUNCTIONS (A3/0D) ....................................... 268 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR xiv Table 202: Table 203: Table 204: Table 205: Table 206: Table 207: Table 208: Table 209: Table 210: Table 211: Table 212: Table 213: Table 214: Table 215: Table 216: Table 217: Table 218: Table 219: Table 220: Table 221: Table 222: Table 223: Table 224: Table 225: Table 226: Table 227: Table 228: Table 229: Table 230: Table 231: Table 232: Table 233: Table 234: Table 235: Table 236: Table 237: Table 238: Table 239: Table 240: Table 241: Table 242: Table 243: Table 244: Table 245: Table 246: Table 247: Table 248: Table 249: Table 250: Table 251: Table 252: REQUEST SENSE (03)....................................................................................................................... 270 RESERVE (16) .................................................................................................................................... 271 RESERVE (56) .................................................................................................................................... 272 REZERO UNIT (01)............................................................................................................................ 273 SANITIZE (48) .................................................................................................................................... 274 SANITIZE Service Action Codes ........................................................................................................ 274 SECURITY PROTOCOL IN (A2) ...................................................................................................... 275 SECURITY PROTOCOL OUT (B5) .................................................................................................. 277 SEEK (6) - (0B) ................................................................................................................................... 279 SEEK (10) - (2B) ................................................................................................................................. 279 SEND DIAGNOSTIC (1D) ................................................................................................................. 280 SEND DIAGNOSTIC Function Code (1D) ......................................................................................... 280 Diagnostic Page 0 ................................................................................................................................ 282 Send Diagnostic Page 3F ..................................................................................................................... 283 SET DEVICE IDENTIFIER (A4/06) .................................................................................................. 286 SET DEVICE IDENTIFIER Parameter List ....................................................................................... 286 START STOP UNIT (1B) ................................................................................................................... 287 SYNCHRONIZE CACHE (10) - (35) ................................................................................................. 288 SYNCHRONIZE CACHE (16) - (91) ................................................................................................. 289 TEST UNIT READY (00) ................................................................................................................... 290 UNMAP (42) ....................................................................................................................................... 291 UNMAP Parameter list ........................................................................................................................ 292 UNMAP Block Descriptor................................................................................................................... 293 VERIFY (10) - (2F) ............................................................................................................................. 294 VERIFY (12) - (AF) ............................................................................................................................ 296 VERIFY (16) - (8F) ............................................................................................................................. 296 VERIFY (32) - (7F/0A) ....................................................................................................................... 297 WRITE (6) - (0A) ................................................................................................................................ 298 WRITE (10) - (2A) .............................................................................................................................. 299 WRITE (12) - (AA) ............................................................................................................................. 301 WRITE (16) - (8A) .............................................................................................................................. 301 WRITE (32) - (7F/0B) ......................................................................................................................... 302 WRITE AND VERIFY (10) - (2E) ...................................................................................................... 303 WRITE AND VERIFY (12) - (AE) ..................................................................................................... 304 WRITE AND VERIFY (16) - (8E) ...................................................................................................... 304 WRITE AND VERIFY (32) - (7F/0C) ................................................................................................ 305 WRITE BUFFER (3B) ........................................................................................................................ 306 Write Buffer Header ............................................................................................................................ 307 WRITE LONG (10) - (3F) ................................................................................................................... 311 COR_DIS Bit, WR_UNCOR Bit, and PBLOCK Bit (Part 1 of 2) ...................................................... 312 COR_DIS Bit, WR_UNCOR Bit, and PBLOCK Bit (Part 2 of 2) ...................................................... 313 WRITE LONG (16) - (9F/11) .............................................................................................................. 315 WRITE SAME (10) - (41) ................................................................................................................... 316 WRITE SAME (16) - (93) ................................................................................................................... 317 WRITE SAME (32) - (7F/0D) ............................................................................................................. 318 SCSI Status Byte. Format of the SCSI Status Byte ............................................................................. 320 Response to SCSI Command in Degraded Mode - Becoming Ready ................................................. 326 Response to SCSI Command in Degraded Mode - Context Load ....................................................... 327 Media Degraded Mode - Drive Issued/Received Unit Stop Command ............................................... 328 Self-Configuration Failure Degraded Mode ........................................................................................ 329 Format Command Failure Degraded Mode ......................................................................................... 330 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR xv Table 253: Table 254: Table 255: Table 256: Table 257: Table 258: Table 259: Table 260: Table 261: Table 262: Table 263: Table 264: Table 265: Table 266: Table 267: Table 268: Table 269: Table 270: Table 271: Table 272: Table 273: Table 274: Table 275: Table 276: Table 277: Table 278: Table 279: Table 280: Table 281: Table 282: Table 283: Sanitize Command Failure Degraded Mode ........................................................................................ 331 Short and Extended Self-Test Description ........................................................................................... 338 Format of Sense Data ........................................................................................................................... 349 Field Pointer Bytes .............................................................................................................................. 364 Number of Bits in Error ....................................................................................................................... 365 Progress Indication .............................................................................................................................. 366 Unit Error Codes .................................................................................................................................. 367 Persistent Reserve In (5E).................................................................................................................... 375 HGST Default Values for ‘Admin SP’ C_PIN and ‘Locking SP' C_PIN ............................................ 377 HGST Implementation of K_AES_256 Table ..................................................................................... 378 HGST Implementation of ‘Locking SP’ AccessControl Table ............................................................ 378 HGST Implementation of ‘Locking Info’ Table .................................................................................. 379 HGST Implementation of ‘Locking SP’ Locking Table ...................................................................... 379 Port Definitions .................................................................................................................................... 380 ‘Admin SP’ Ports Table ....................................................................................................................... 380 Modified ‘Admin SP’ ACE Table ....................................................................................................... 381 Modified ‘Admin SP’ AccessControl Table ........................................................................................ 382 T10 SCSI Commands Behavior Table ................................................................................................. 384 TCG Enterprise SSC Commands Behavior ......................................................................................... 387 Revert Method – PSID Authority Added to Admin SP Authority Table ............................................. 389 Revert Method – PSID Addition to Admin SP C_PIN Table .............................................................. 389 Revert Method – Additions to Admin SP Access Control Table ......................................................... 389 RevertSP Method – PSID Authority Added to Admin SP Authority Table ........................................ 390 RevertSP Method – PSID Addition to Admin SP C_PIN Table .......................................................... 390 RevertSP Method – Additions to Admin SP Access Control Table .................................................... 390 Security Protocol Specific Field for SECURITY PROTOCOL IN Protocol 00h ................................ 392 Certificate Data SECURITY PROTOCOL IN Parameter Data ........................................................... 393 Security Compliance Information SECURITY PROTOCOL IN Parameter Data ............................... 394 Compliance Descriptor Format ............................................................................................................ 395 Compliance Descriptor Type Field ...................................................................................................... 395 FIPS 140 Compliance Descriptor ........................................................................................................ 396 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR xvi List of Figures Figure 1: Figure 2: Connector Pinout..................................................................................................................... 70 Location of Enclosure Temperature Measurement ................................................................. 74 Figure 3: Enclosure Outline.................................................................................................................... 85 Figure 4: Figure 5: Mechanical Dimensions .......................................................................................................... 87 Mounting Positions and Mounting Holes ............................................................................... 88 Figure 6: Interface Connector ................................................................................................................. 89 Figure 7: Link Reset Sequence ............................................................................................................. 100 Figure 8: SSP Information Unit Sequences .......................................................................................... 119 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR xvii 1 General 1.1 Introduction This document describes the specifications of the following HGST 2.5 inch SAS drives. Table 1: Product ID Table Device Name Model Name Encryption Model Capacity (GB) Interface Ultrastar SSD800MH.B HUSMH8080BSS200 Crypto Enabled 800GB 2.5" SAS HE Ultrastar SSD800MH.B HUSMH8080BSS201 TCG Encryption 800GB 2.5" SAS HE Ultrastar SSD800MH.B HUSMH8080BSS204 Crypto Disabled 800GB 2.5" SAS HE Ultrastar SSD800MH.B HUSMH8080BSS205 TCG Encryption & FIPs Certified 800GB 2.5" SAS HE Ultrastar SSD800MH.B HUSMH8040BSS200 Crypto Enabled 400GB 2.5" SAS HE Ultrastar SSD800MH.B HUSMH8040BSS201 TCG Encryption 400GB 2.5" SAS HE Ultrastar SSD800MH.B HUSMH8040BSS204 Crypto Disabled 400GB 2.5" SAS HE Ultrastar SSD800MH.B HUSMH8040BSS205 TCG Encryption & FIPs Certified 400GB 2.5" SAS HE Ultrastar SSD800MH.B HUSMH8020BSS200 Crypto Enabled 200GB 2.5" SAS HE Ultrastar SSD800MH.B HUSMH8020BSS201 TCG Encryption 200GB 2.5" SAS HE Ultrastar SSD800MH.B HUSMH8020BSS204 Crypto Disabled 200GB 2.5" SAS HE Ultrastar SSD800MH.B HUSMH8020BSS205 TCG Encryption & FIPs Certified 200GB 2.5" SAS HE Ultrastar SSD800MH.B HUSMH8010BSS200 Crypto Enabled 100GB 2.5" SAS HE Ultrastar SSD800MH.B HUSMH8010BSS201 TCG Encryption 100GB 2.5" SAS HE Ultrastar SSD800MH.B HUSMH8010BSS204 Crypto Disabled 100GB 2.5" SAS HE Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 18 Device Name Model Name Encryption Model Capacity (GB) Interface Ultrastar SSD800MH.B HUSMH8010BSS205 TCG Encryption & FIPs Certified 100GB 2.5" SAS HE Ultrastar SSD1600MM HUSMM1616ASS200 Crypto Enabled 1600GB 2.5" SAS ME Ultrastar SSD1600MM HUSMM1616ASS201 TCG Encryption 1600GB 2.5" SAS ME Ultrastar SSD1600MM HUSMM1616ASS204 Crypto Disabled 1600GB 2.5" SAS ME Ultrastar SSD1600MM HUSMM1616ASS205 TCG Encryption & FIPs Certified 1600GB 2.5" SAS ME Ultrastar SSD1600MM HUSMM1680ASS200 Crypto Enabled 800GB 2.5" SAS ME Ultrastar SSD1600MM HUSMM1680ASS201 TCG Encryption 800GB 2.5" SAS ME Ultrastar SSD1600MM HUSMM1680ASS204 Crypto Disabled 800GB 2.5" SAS ME Ultrastar SSD1600MM HUSMM1680ASS205 TCG Encryption & FIPs Certified 800GB 2.5" SAS ME Ultrastar SSD1600MM HUSMM1640ASS200 Crypto Enabled 400GB 2.5" SAS ME Ultrastar SSD1600MM HUSMM1640ASS201 TCG Encryption 400GB 2.5" SAS ME Ultrastar SSD1600MM HUSMM1640ASS204 Crypto Disabled 400GB 2.5" SAS ME Ultrastar SSD1600MM HUSMM1640ASS205 TCG Encryption & FIPs Certified 400GB 2.5" SAS ME Ultrastar SSD1600MM HUSMM1620ASS200 Crypto Enabled 200GB 2.5" SAS ME Ultrastar SSD1600MM HUSMM1620ASS201 TCG Encryption 200GB 2.5" SAS ME Ultrastar SSD1600MM HUSMM1620ASS204 Crypto Disabled 200GB 2.5" SAS ME Ultrastar SSD1600MM HUSMM1620ASS205 TCG Encryption & FIPs Certified 200GB 2.5" SAS ME Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 19 Device Name Model Name Encryption Model Capacity (GB) Interface Ultrastar SSD1600MR HUSMR1616ASS200 Crypto Enabled 1600GB 2.5" SAS RI Ultrastar SSD1600MR HUSMR1616ASS201 TCG Encryption 1600GB 2.5" SAS RI Ultrastar SSD1600MR HUSMR1616ASS204 Crypto Disabled 1600GB 2.5" SAS RI Ultrastar SSD1600MR HUSMR1616ASS205 TCG Encryption & FIPs Certified 1600GB 2.5" SAS RI Ultrastar SSD1600MR HUSMR1610ASS200 Crypto Enabled 1000GB 2.5" SAS RI Ultrastar SSD1600MR HUSMR1610ASS201 TCG Encryption 1000GB 2.5" SAS RI Ultrastar SSD1600MR HUSMR1610ASS204 Crypto Disabled 1000GB 2.5" SAS RI Ultrastar SSD1600MR HUSMR1610ASS205 TCG Encryption & FIPs Certified 1000GB 2.5" SAS RI Ultrastar SSD1600MR HUSMR1680ASS200 Crypto Enabled 800GB 2.5" SAS RI Ultrastar SSD1600MR HUSMR1680ASS201 TCG Encryption 800GB 2.5" SAS RI Ultrastar SSD1600MR HUSMR1680ASS204 Crypto Disabled 800GB 2.5" SAS RI Ultrastar SSD1600MR HUSMR1680ASS205 TCG Encryption & FIPs Certified 800GB 2.5" SAS RI Ultrastar SSD1600MR HUSMR1650ASS200 Crypto Enabled 500GB 2.5" SAS RI Ultrastar SSD1600MR HUSMR1650ASS201 TCG Encryption 500GB 2.5" SAS RI Ultrastar SSD1600MR HUSMR1650ASS204 Crypto Disabled 500GB 2.5" SAS RI Ultrastar SSD1600MR HUSMR1650ASS205 TCG Encryption & FIPs Certified 500GB 2.5" SAS RI Ultrastar SSD1600MR HUSMR1640ASS200 Crypto Enabled 400GB 2.5" SAS RI Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 20 Device Name Model Name Encryption Model Capacity (GB) Interface Ultrastar SSD1600MR HUSMR1640ASS201 TCG Encryption 400GB 2.5" SAS RI Ultrastar SSD1600MR HUSMR1640ASS204 Crypto Disabled 400GB 2.5" SAS RI Ultrastar SSD1600MR HUSMR1640ASS205 TCG Encryption & FIPs Certified 400GB 2.5" SAS RI Ultrastar SSD1600MR HUSMR1625ASS200 Crypto Enabled 250GB 2.5" SAS RI Ultrastar SSD1600MR HUSMR1625ASS201 TCG Encryption 250GB 2.5" SAS RI Ultrastar SSD1600MR HUSMR1625ASS204 Crypto Disabled 250GB 2.5" SAS RI Ultrastar SSD1600MR HUSMR1625ASS205 TCG Encryption & FIPs Certified 250GB 2.5" SAS RI Note: See the following table for Drive Writes per Day for each Product Family. Model Family Drive Writes per Day HE High Endurance 25 Drive Writes per Day ME Mainstream Endurance 10 Drive Writes per Day RI Read Intensive 2 Drive Writes per Day Note: The specifications in this document are subject to change without notice. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 21 1.2 Glossary Word Meaning BMS Background Media Scan GB Gigabyte = 1,000,000,000 bytes Kb Kilobit = 1000 bits KB Kilobyte = 1000 bytes Mb Megabit = 1,000,000 bits MB Megabyte = 1,000,000 bytes SAS Serial Attached SCSI SED Self-Encrypting Drive SFF Small Form Factor SMART Self-Monitoring and Reporting Technology SSD Solid State Drive 1.3 Caution - Electrostatic Discharge This drive can be damaged by ESD (Electrostatic 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 22 1.4 Document Conventions 1.5 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. A sample table is shown below: Table 2: Byte Ordering Conventions Bit Byte 7 6 5 4 3 2 1 0 Defect List Header 0 1 1 byte Field Bit 7 Bits 6-4 of byte 1 Bits 3-0 of byte 1 MSB 2 byte field 2-3 LSB MSB 4-7 3 or more byte field LSB All fields marked 'Reserved' are expected to be 0 as inputs/requests to the drive, and will be 0 as outputs/responses from the drive. To allow for future expansion, user code should avoid dependencies on Reserved fields. All fields marked 'Obsolete' or 'Ignored' will not be processed/examined by the drive. It is recommended that these be treated as Reserved fields. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 23 2 Features Storage Capacities of 1600GB, 1000BG, 800GB, 500GB, 400GB, 250GB, 200GB, and 100GB 6 Gbps and 12 Gbps SAS-3 Interface Supports Dual-Ported Operations Supports Full Duplex Operations Variable Sector Sizes: 512B, 520B, 528B, 4096B, 4160B and 4224B Pin 3 Disable Ready LED Signaling 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 MLC NAND Flash SMART ANSI T10 Protection Information (End-to-End) TCG Revert FIPS 140-2 Level 2 Compliant Models Sanitize (Block Erase, Crypto Erase) UNMAP Fast Format High Endurance, Mainstream Endurance and Read Intensive models 3 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 24 4 Drive Characteristics 4.1 Formatted Capacity Table 3: Formatted Capacities are Listed in Blocks Description Label Capacity Encryption Model Default Capacity Maximum Soft Capacity HUSMH8080BSS200 800 Crypto Enabled 1,562,824,368 (5D26CEB0h) 2,344,225,968 (8BBA0CB0h) HUSMH8080BSS201 800 TCG Encryption 1,562,824,368 (5D26CEB0h) 2,344,225,968 (8BBA0CB0h) HUSMH8080BSS204 800 Crypto Disabled 1,562,824,368 (5D26CEB0h) 2,344,225,968 (8BBA0CB0h) HUSMH8080BSS205 800 TCG Encryption & FIPS Certified 1,562,824,368 (5D26CEB0h) 2,344,225,968 (8BBA0CB0h) HUSMH8040BSS200 400 Crypto Enabled 781,422,768 (2E9390B0h) 1,172,123,568 (45DD2FB0h) HUSMH8040BSS201 400 TCG Encryption 781,422,768 (2E9390B0h) 1,172,123,568 (45DD2FB0h) HUSMH8040BSS204 400 Crypto Disabled 781,422,768 (2E9390B0h) 1,172,123,568 (45DD2FB0h) HUSMH8040BSS205 400 TCG Encryption & FIPS Certified 781,422,768 (2E9390B0h) 1,172,123,568 (45DD2FB0h) HUSMH8020BSS200 200 Crypto Enabled 390,721,968 (1749F1B0h) 586,072,368 (22EEC130h) HUSMH8020BSS201 200 TCG Encryption 390,721,968 (1749F1B0h) 586,072,368 (22EEC130h) HUSMH8020BSS204 200 Crypto Disabled 390,721,968 (1749F1B0h) 586,072,368 (22EEC130h) HUSMH8020BSS205 200 TCG Encryption & FIPS Certified 390,721,968 (1749F1B0h) 586,072,368 (22EEC130h) HUSMH8010BSS200 100 Crypto Enabled 195,371,568 (BA52230h) 293,046,768 (117789F0h) HUSMH8010BSS201 100 TCG Encryption 195,371,568 (BA52230h) 293,046,768 (117789F0h) HUSMH8010BSS204 100 Crypto Disabled 195,371,568 (BA52230h) 293,046,768 (117789F0h) HUSMH8010BSS205 100 TCG Encryption & FIPS Certified 195,371,568 (BA52230h) 293,046,768 (117789F0h) HUSMM1616ASS200 1600 Crypto Enabled 3125627568 (BA4D4AB0h) 3125627568 (BA4D4AB0h) HUSMM1616ASS201 1600 TCG Encryption 3125627568 (BA4D4AB0h) 3125627568 (BA4D4AB0h) Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 25 Description Label Capacity Encryption Model Default Capacity Maximum Soft Capacity HUSMM1616ASS204 1600 Crypto Disabled 3125627568 (BA4D4AB0h) 3125627568 (BA4D4AB0h) HUSMM1616ASS205 1600 TCG Encryption & FIPS Certified 3125627568 (BA4D4AB0h) 3125627568 (BA4D4AB0h) HUSMM1680ASS200 800 Crypto Enabled 1,562,824,368 (5D26CEB0h) 1,953,525,168 (74706DB0h) HUSMM1680ASS201 800 TCG Encryption 1,562,824,368 (5D26CEB0h) 1,953,525,168 (74706DB0h) HUSMM1680ASS204 800 Crypto Disabled 1,562,824,368 (5D26CEB0h) 1,953,525,168 (74706DB0h) HUSMM1680ASS205 800 TCG Encryption & FIPS Certified 1,562,824,368 (5D26CEB0h) 1,953,525,168 (74706DB0h) HUSMM1640ASS200 400 Crypto Enabled 781,422,768 (2E9390B0h) 976,773,168 (3A386030h) HUSMM1640ASS201 400 TCG Encryption 781,422,768 (2E9390B0h) 976,773,168 (3A386030h) HUSMM1640ASS204 400 Crypto Disabled 781,422,768 (2E9390B0h) 976,773,168 (3A386030h) HUSMM1640ASS205 400 TCG Encryption & FIPS Certified 781,422,768 (2E9390B0h) 976,773,168 (3A386030h) HUSMM1620ASS200 200 Crypto Enabled 390,721,968 (1749F1B0h) 488,397,168 (1D1C5970h) HUSMM1620ASS201 200 TCG Encryption 390,721,968 (1749F1B0h) 488,397,168 (1D1C5970h) HUSMM1620ASS204 200 Crypto Disabled 390,721,968 (1749F1B0h) 488,397,168 (1D1C5970h) HUSMM1620ASS205 200 TCG Encryption & FIPS Certified 390,721,968 (1749F1B0h) 488,397,168 (1D1C5970h) HUSMR1616ASS200 1600 Crypto Enabled 3125627568 (BA4D4AB0h) 3125627568 (BA4D4AB0h) HUSMR1616ASS201 1600 TCG Encryption 3125627568 (BA4D4AB0h) 3125627568 (BA4D4AB0h) HUSMR1616ASS204 1600 Crypto Disabled 3125627568 (BA4D4AB0h) 3125627568 (BA4D4AB0h) HUSMR1616ASS205 1600 TCG Encryption & FIPS Certified 3125627568 (BA4D4AB0h) 3125627568 (BA4D4AB0h) HUSMR1610ASS200 1000 Crypto Enabled 1,953,525,168 (74706DB0h) 1,953,525,168 (74706DB0h) HUSMR1610ASS201 1000 TCG Encryption 1,953,525,168 (74706DB0h) 1,953,525,168 (74706DB0h) Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 26 Description Label Capacity Encryption Model Default Capacity Maximum Soft Capacity HUSMR1610ASS204 1000 Crypto Disabled 1,953,525,168 (74706DB0h) 1,953,525,168 (74706DB0h) HUSMR1610ASS205 1000 TCG Encryption & FIPS Certified 1,953,525,168 (74706DB0h) 1,953,525,168 (74706DB0h) HUSMR1680ASS200 800 Crypto Enabled 1,562,824,368 (5D26CEB0h) 1,562,824,368 (5D26CEB0h) HUSMR1680ASS201 800 TCG Encryption 1,562,824,368 (5D26CEB0h) 1,562,824,368 (5D26CEB0h) HUSMR1680ASS204 800 Crypto Disabled 1,562,824,368 (5D26CEB0h) 1,562,824,368 (5D26CEB0h) HUSMR1680ASS205 800 TCG Encryption & FIPS Certified 1,562,824,368 (5D26CEB0h) 1,562,824,368 (5D26CEB0h) HUSMR1650ASS200 500 Crypto Enabled 976,773,168 (3A386030h) 976,773,168 (3A386030h) HUSMR1650ASS201 500 TCG Encryption 976,773,168 (3A386030h) 976,773,168 (3A386030h) HUSMR1650ASS204 500 Crypto Disabled 976,773,168 (3A386030h) 976,773,168 (3A386030h) HUSMR1650ASS205 500 TCG Encryption & FIPS Certified 976,773,168 (3A386030h) 976,773,168 (3A386030h) HUSMR1640ASS200 400 Crypto Enabled 781,422,768 (2E9390B0h) 781,422,768 (2E9390B0h) HUSMR1640ASS201 400 TCG Encryption 781,422,768 (2E9390B0h) 781,422,768 (2E9390B0h) HUSMR1640ASS204 400 Crypto Disabled 781,422,768 (2E9390B0h) 781,422,768 (2E9390B0h) HUSMR1640ASS205 400 TCG Encryption & FIPS Certified 781,422,768 (2E9390B0h) 781,422,768 (2E9390B0h) HUSMR1625ASS200 250 Crypto Enabled 488,397,168 (1D1C5970h) 488,397,168 (1D1C5970h) HUSMR1625ASS201 250 TCG Encryption 488,397,168 (1D1C5970h) 488,397,168 (1D1C5970h) HUSMR1625ASS204 250 Crypto Disabled 488,397,168 (1D1C5970h) 488,397,168 (1D1C5970h) HUSMR1625ASS205 250 TCG Encryption & FIPS Certified 488,397,168 (1D1C5970h) 488,397,168 (1D1C5970h) Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 27 Notes: 1. Default Capacity refers to what a drive will format to using 0xFFFFFFFF for requested number of blocks in a mode select block descriptor. 2. Soft Capacity allows a user to trade off drive endurance for capacity, by requesting the desired number of blocks up to the limit listed above in a mode select block descriptor. 3. Soft Capacity is configured to be the default on the read intensive drive models ("HUSMR10..."). 4. Refer to section 16.10.1.2 Block Descriptor and section 16.4 FORMAT UNIT for details. 4.2 Datasheet Table 4: Datasheet Host Interface Transfer Rate 6.0Gbps and 12.0 Gbps SAS Flash Media 20nm Multi-Level Cell (MLC) NAND SDRAM Size 512 MB (all 200GB drives) 1024MB (all 400GB drives, 800GB RI) 2048MB (800GB ME/HE and above) Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 28 4.3 Inquiry Information 4.4 Product ID Product ID in Section 16.4.2, “Inquiry Data - EVPD = 0, Page Code = 00h - Standard Inquiry Data Page” is as follows: Table 5: Product ID in Inquiry Command World Wide ID - Block Assignment Description Label Capacity Encryption Model Endurance Level HUSMH8080BSS200 800 Crypto Enabled HE HUSMH8080BSS201 800 TCG Encryption HE HUSMH8080BSS204 800 Crypto Disabled HE HUSMH8080BSS205 800 TCG Encryption & FIPS Certified HE HUSMH8040BSS200 400 Crypto Enabled HE HUSMH8040BSS201 400 TCG Encryption HE HUSMH8040BSS204 400 Crypto Disabled HE HUSMH8040BSS205 400 TCG Encryption & FIPS Certified HE HUSMH8020BSS200 200 Crypto Enabled HE HUSMH8020BSS201 200 TCG Encryption HE HUSMH8020BSS204 200 Crypto Disabled HE HUSMH8020BSS205 200 TCG Encryption & FIPS Certified HE HUSMH8010BSS200 100 Crypto Enabled HE HUSMH8010BSS201 100 TCG Encryption HE HUSMH8010BSS204 100 Crypto Disabled HE HUSMH8010BSS205 100 TCG Encryption & FIPS Certified HE HUSMM1616ASS200 1600 Crypto Enabled ME HUSMM1616ASS201 1600 TCG Encryption ME HUSMM1616ASS204 1600 Crypto Disabled ME HUSMM1616ASS205 1600 TCG Encryption & FIPS Certified ME HUSMM1680ASS200 800 Crypto Enabled ME HUSMM1680ASS201 800 TCG Encryption ME HUSMM1680ASS204 800 Crypto Disabled ME HUSMM1680ASS205 800 TCG Encryption & FIPS Certified ME HUSMM1640ASS200 400 Crypto Enabled ME HUSMM1640ASS201 400 TCG Encryption ME Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 29 Description Label Capacity Encryption Model Endurance Level HUSMM1640ASS204 400 Crypto Disabled ME HUSMM1640ASS205 400 TCG Encryption & FIPS Certified ME HUSMM1620ASS200 200 Crypto Enabled ME HUSMM1620ASS201 200 TCG Encryption ME HUSMM1620ASS204 200 Crypto Disabled ME HUSMM1620ASS205 200 TCG Encryption & FIPS Certified ME HUSMR1616ASS200 1600 Crypto Enabled RI HUSMR1616ASS201 1600 TCG Encryption RI HUSMR1616ASS204 1600 Crypto Disabled RI HUSMR1616ASS205 1600 TCG Encryption & FIPS Certified RI HUSMR1610ASS200 1000 Crypto Enabled RI HUSMR1610ASS201 1000 TCG Encryption RI HUSMR1610ASS204 1000 Crypto Disabled RI HUSMR1610ASS205 1000 TCG Encryption & FIPS Certified RI HUSMR1680ASS200 800 Crypto Enabled RI HUSMR1680ASS201 800 TCG Encryption RI HUSMR1680ASS204 800 Crypto Disabled RI HUSMR1680ASS205 800 TCG Encryption & FIPS Certified RI HUSMR1650ASS200 500 Crypto Enabled RI HUSMR1650ASS201 500 TCG Encryption RI HUSMR1650ASS204 500 Crypto Disabled RI HUSMR1650ASS205 500 TCG Encryption & FIPS Certified RI HUSMR1640ASS200 400 Crypto Enabled RI HUSMR1640ASS201 400 TCG Encryption RI HUSMR1640ASS204 400 Crypto Disabled RI HUSMR1640ASS205 400 TCG Encryption & FIPS Certified RI HUSMR1625ASS200 250 Crypto Enabled RI HUSMR1625ASS201 250 TCG Encryption RI HUSMR1625ASS204 250 Crypto Disabled RI HUSMR1625ASS205 250 TCG Encryption & FIPS Certified RI Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 30 Block Assignment of World Wide ID is as follows: Table 6: Block Assignment of World Wide ID in INQUIRY Command Manufacturing Site Product Block Assignment* HUSMH8080BSS201 001h HUSMH8040BSS201 001h HUSMH8020BSS201 001h HUSMM1616ASS201 001h HUSMM1680ASS201 001h HUSMM1640ASS201 001h HUSMM1620ASS201 001h HUSMR1616ASS201 001h HUSMR1610ASS201 001h HUSMR1680ASS201 001h HUSMR1650ASS201 001h HUSMR1640ASS201 001h China Note: *Block Assignment. Additional block assignments will be issued as needed according to actual production volume. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 31 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 basic drive characteristics, not system throughput, which depends on the system and the application. 4.5.1 Drive Ready Time Table 7: Drive Ready Time Model < 10 seconds to Data Ops , < 1 second to Interface Response All Models Notes: 1. Power On To Drive Ready Time assumes proper shutdown. The Drive Ready Time varies if the previous shutdown was not preceded by a non-immediate START STOP UNIT command (START=0 and IMMED=0). 2. For an Unsafe Power Cycle, the max Power On To Drive Ready Time will vary based on the drive model; 30 sec max (1600GB ME/RI), 15 sec max (all HEs), 10 sec max (other SKUs). 4.5.2 SSD Command Overhead Table 8: SSD Command Overhead Model All Models 4.5.3 45µsec SSD Response Time Table 9: SSD Response Time Model Typical (Seconds) Maximum (Seconds) All Models 100µsec 20ms Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 32 4.5.4 Data Transfer Speeds The drive can sustain performance up to the values as listed in the following table. Table 10: 6Gbps Single Port 9W Mode, HE HE * QD is QD at the Drive 100G 200G 400G 800G Access Type Mbps Mbps Mbps Mbps Sequential Write 128KB, Aligned, QD=32 395 515 515 515 Sequential Read 128KB, Aligned, QD=32 535 535 535 535 Sequential Write 4KB, Aligned, QD=32 275 280 280 275 Sequential Read 4KB, Aligned, QD=32 420 425 425 425 Sequential Write 0.5KB, Aligned, QD=32 64 64 64 66 Sequential Read 0.5KB, Aligned, QD=32 58 58 58 58 IOps IOps IOps IOps Random Write, 4KB, Aligned, QD = 16 63700 71300 71600 71000 Random Write, 4KB, Aligned, QD = 32 63800 71500 71700 71100 Random Write, 4KB, Aligned, QD = 64 63300 71400 71700 71100 Random Write, 4KB, Aligned, QD = 128 63500 71500 71900 71200 Random 70% Read / 30% Write, 4KB, Aligned, QD = 16 53200 68700 79600 75700 Random 70% Read / 30% Write, 4KB, Aligned, QD = 32 71400 86500 92100 90600 Random 70% Read / 30% Write, 4KB, Aligned, QD = 64 78000 89800 92800 91900 Random 70% Read / 30% Write, 4KB, Aligned, QD = 128 78300 89800 92800 91900 Random Read, 4KB, Aligned, QD = 16 101900 104900 105400 100800 Random Read, 4KB, Aligned, QD = 32 108600 108400 108600 108500 Random Read, 4KB, Aligned, QD = 64 108500 108700 108700 108500 Random Read, 4KB, Aligned, QD = 128 108500 108800 108600 108800 Random Write, 8KB, Aligned, QD = 16 32500 43100 43500 42100 Random Write, 8KB, Aligned, QD = 32 32300 43400 44000 42800 Random Write, 8KB, Aligned, QD = 64 32400 43500 44400 43500 Random Write, 8KB, Aligned, QD = 128 32400 43700 45200 44900 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 33 Random 70% Read / 30% Write, 8KB, Aligned, QD = 16 36000 46000 51800 50200 Random 70% Read / 30% Write, 8KB, Aligned, QD = 32 43000 51700 54500 53900 Random 70% Read / 30% Write, 8KB, Aligned, QD = 64 45200 52700 54600 54100 Random 70% Read / 30% Write, 8KB, Aligned, QD = 128 45300 52700 54600 54200 Random Read, 8KB, Aligned, QD = 16 60700 60900 60900 60800 Random Read, 8KB, Aligned, QD = 32 60900 60700 60900 60900 Random Read, 8KB, Aligned, QD = 64 60900 61000 60900 60900 Random Read, 8KB, Aligned, QD = 128 60700 61000 61000 60900 Random Write, 64KB, Aligned, QD = 16 4160 6420 7480 7020 Random Write, 64KB, Aligned, QD = 32 4160 6380 7480 7000 Random Write, 64KB, Aligned, QD = 64 4160 6380 7480 7000 Random Write, 64KB, Aligned, QD = 128 4160 6380 7480 7000 Random 50% Read / 50% Write, 64KB, Aligned, QD = 32 5400 7020 7880 7700 Random 50% Read / 50% Write, 64KB, Aligned, QD = 128 5400 7040 7880 7700 Random 70% Read / 30% Write, 64KB, Aligned, QD = 16 6120 7440 8080 7920 Random 70% Read / 30% Write, 64KB, Aligned, QD = 32 6140 7480 8080 7940 Random 70% Read / 30% Write, 64KB, Aligned, QD = 64 6200 7520 8100 7960 Random 70% Read / 30% Write, 64KB, Aligned, QD = 128 6220 7540 8100 7960 Random Read, 64KB, Aligned, QD = 16 8520 8520 8520 8500 Random Read, 64KB, Aligned, QD = 32 8520 8520 8520 8520 Random Read, 64KB, Aligned, QD = 64 8500 8520 8520 8520 Random Read, 64KB, Aligned, QD = 128 8480 8500 8520 8500 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 34 Table 11: 6Gbps Single Port 9W Mode, ME ME * QD is QD at the Drive 200G 400G 800G 1600G Access Type Mbps Mbps Mbps Mbps Sequential Write 128KB, Aligned, QD=32 480 515 510 515 Sequential Read 128KB, Aligned, QD=32 535 535 535 535 Sequential Write 4KB, Aligned, QD=32 280 280 280 280 Sequential Read 4KB, Aligned, QD=32 425 425 425 425 Sequential Write 0.5KB, Aligned, QD=32 66 64 64 64 Sequential Read 0.5KB, Aligned, QD=32 58 58 58 58 IOps IOps IOps IOps Random Write, 4KB, Aligned, QD = 16 51000 63300 62900 68500 Random Write, 4KB, Aligned, QD = 32 50600 63300 62600 68100 Random Write, 4KB, Aligned, QD = 64 50500 63200 62100 67800 Random Write, 4KB, Aligned, QD = 128 50300 63100 62300 67600 Random 70% Read / 30% Write, 4KB, Aligned, QD = 16 51000 64100 62700 72700 Random 70% Read / 30% Write, 4KB, Aligned, QD = 32 66400 79100 78400 86700 Random 70% Read / 30% Write, 4KB, Aligned, QD = 64 68900 81600 80900 88400 Random 70% Read / 30% Write, 4KB, Aligned, QD = 128 68900 81600 81100 88300 Random Read, 4KB, Aligned, QD = 16 101300 105400 97900 99700 Random Read, 4KB, Aligned, QD = 32 108600 108500 108800 108500 Random Read, 4KB, Aligned, QD = 64 108700 108700 108500 108300 Random Read, 4KB, Aligned, QD = 128 108600 107700 107500 108300 Random Write, 8KB, Aligned, QD = 16 25300 33400 33200 34300 Random Write, 8KB, Aligned, QD = 32 25400 33300 33300 34300 Random Write, 8KB, Aligned, QD = 64 25400 33300 33200 34600 Random Write, 8KB, Aligned, QD = 128 25400 33200 33300 34700 Random 70% Read / 30% Write, 8KB, Aligned, QD = 16 34300 42800 42300 48700 Random 70% Read / 30% Write, 8KB, Aligned, QD = 32 38400 47000 46800 51900 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 35 Random 70% Read / 30% Write, 8KB, Aligned, QD = 64 39700 47900 48000 52100 Random 70% Read / 30% Write, 8KB, Aligned, QD = 128 39700 48000 48000 52200 Random Read, 8KB, Aligned, QD = 16 60900 60900 60700 60500 Random Read, 8KB, Aligned, QD = 32 60900 60900 60600 60900 Random Read, 8KB, Aligned, QD = 64 60900 61000 60900 60900 Random Read, 8KB, Aligned, QD = 128 61000 60900 60900 60900 Random Write, 64KB, Aligned, QD = 16 3200 4260 4280 4320 Random Write, 64KB, Aligned, QD = 32 3180 4260 4300 4340 Random Write, 64KB, Aligned, QD = 64 3200 4260 4300 4340 Random Write, 64KB, Aligned, QD = 128 3180 4260 4260 4340 Random 50% Read / 50% Write, 64KB, Aligned, QD = 32 4340 5500 5720 6500 Random 50% Read / 50% Write, 64KB, Aligned, QD = 128 4380 5560 5760 6520 Random 70% Read / 30% Write, 64KB, Aligned, QD = 16 5360 6600 6660 7480 Random 70% Read / 30% Write, 64KB, Aligned, QD = 32 5480 6640 6720 7500 Random 70% Read / 30% Write, 64KB, Aligned, QD = 64 5540 6700 6760 7520 Random 70% Read / 30% Write, 64KB, Aligned, QD = 128 5540 6700 6780 7540 Random Read, 64KB, Aligned, QD = 16 8520 8500 8500 8520 Random Read, 64KB, Aligned, QD = 32 8520 8520 8520 8500 Random Read, 64KB, Aligned, QD = 64 8500 8520 8500 8500 Random Read, 64KB, Aligned, QD = 128 8520 8520 8480 8520 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 36 Table 12: 6Gbps Single Port 9W Mode, RI and Soft RI RI Soft RI 400G 800G 1600G 250G 500G 1000G Mbps Mbps Mbps Mbps Mbps Mbps Sequential Write 128KB, Aligned, QD=32 515 510 515 480 515 510 Sequential Read 128KB, Aligned, QD=32 535 535 535 535 535 535 Sequential Write 4KB, Aligned, QD=32 275 280 280 275 275 275 Sequential Read 4KB, Aligned, QD=32 425 420 420 425 425 425 Sequential Write 0.5KB, Aligned, QD=32 64 64 66 64 64 64 Sequential Read 0.5KB, Aligned, QD=32 58 58 58 58 58 58 IOps IOps IOps IOps IOps IOps Random Write, 4KB, Aligned, QD = 16 19900 20400 19000 15300 21900 30900 Random Write, 4KB, Aligned, QD = 32 19900 20400 19200 15200 21900 30800 Random Write, 4KB, Aligned, QD = 64 19900 20400 18900 15200 22000 30700 Random Write, 4KB, Aligned, QD = 128 19900 20400 19000 15200 21800 30100 Random 70% Read / 30% Write, 4KB, Aligned, QD = 16 40400 39900 42900 32300 44200 48700 Random 70% Read / 30% Write, 4KB, Aligned, QD = 32 43300 44100 44400 34900 47600 57400 Random 70% Read / 30% Write, 4KB, Aligned, QD = 64 44200 45100 44400 35900 48000 58600 Random 70% Read / 30% Write, 4KB, Aligned, QD = 128 44300 45100 44100 35600 48200 58700 Random Read, 4KB, Aligned, QD = 16 104700 96600 101400 103400 105000 100300 Random Read, 4KB, Aligned, QD = 32 107900 108700 107700 106600 108700 107200 Random Read, 4KB, Aligned, QD = 64 108700 108600 107800 108700 108400 108300 Random Read, 4KB, Aligned, QD = 128 107600 107300 108100 108700 108700 108600 Random Write, 8KB, Aligned, QD = 16 10000 10300 9600 7700 11000 15500 Random Write, 8KB, Aligned, QD = 32 10000 10300 9600 7700 11000 15300 Random Write, 8KB, Aligned, QD = 64 10000 10300 9500 7700 11000 15300 Random Write, 8KB, Aligned, QD = 128 10000 10300 9600 7700 11000 15500 Access Type Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 37 Random 70% Read / 30% Write, 8KB, Aligned, QD = 16 23100 23400 23900 18200 25400 30500 Random 70% Read / 30% Write, 8KB, Aligned, QD = 32 23500 23800 23700 18800 25800 32000 Random 70% Read / 30% Write, 8KB, Aligned, QD = 64 23800 23900 24000 19000 25800 32400 Random 70% Read / 30% Write, 8KB, Aligned, QD = 128 23700 23800 23900 18500 26000 32300 Random Read, 8KB, Aligned, QD = 16 60900 59800 60900 60900 60700 60500 Random Read, 8KB, Aligned, QD = 32 60800 60900 60600 60900 60900 60800 Random Read, 8KB, Aligned, QD = 64 61000 60500 60800 60700 60800 60800 Random Read, 8KB, Aligned, QD = 128 60600 60800 60800 60800 60700 60700 Random Write, 64KB, Aligned, QD = 16 1260 1300 1200 960 1380 1940 Random Write, 64KB, Aligned, QD = 32 1260 1280 1200 960 1380 1940 Random Write, 64KB, Aligned, QD = 64 1260 1300 1200 960 1380 1960 Random Write, 64KB, Aligned, QD = 128 1260 1280 1200 960 1380 1940 Random 50% Read / 50% Write, 64KB, Aligned, QD = 32 2120 2140 2120 1640 2320 3120 Random 50% Read / 50% Write, 64KB, Aligned, QD = 128 2160 2200 2180 1680 2380 3160 Random 70% Read / 30% Write, 64KB, Aligned, QD = 16 3100 3100 3200 2400 3380 4280 Random 70% Read / 30% Write, 64KB, Aligned, QD = 32 3100 3100 3180 2440 3400 4280 Random 70% Read / 30% Write, 64KB, Aligned, QD = 64 3120 3120 3220 2440 3400 4360 Random 70% Read / 30% Write, 64KB, Aligned, QD = 128 3120 3100 3240 2420 3420 4320 Random Read, 64KB, Aligned, QD = 16 8500 8480 8500 8520 8460 8480 Random Read, 64KB, Aligned, QD = 32 8480 8440 8480 8380 8500 8500 Random Read, 64KB, Aligned, QD = 64 8500 8520 8480 8520 8480 8460 Random Read, 64KB, Aligned, QD = 128 8460 8400 8500 8520 8480 8520 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 38 Table 13: 6Gbps Dual Port 9W Mode, HE HE * QD is QD at the Drive 100G 200G 400G 800G Access Type Mbps Mbps Mbps Mbps Sequential Write 128KB, Aligned, QD=32 410 655 655 575 Sequential Read 128KB, Aligned, QD=32 905 990 950 955 Sequential Write 4KB, Aligned, QD=32 400 540 550 540 Sequential Read 4KB, Aligned, QD=32 485 500 500 490 Sequential Write 0.5KB, Aligned, QD=32 60 64 66 64 Sequential Read 0.5KB, Aligned, QD=32 60 62 60 60 IOps IOps IOps IOps Random Write, 4KB, Aligned, QD = 16 65200 97700 110800 104800 Random Write, 4KB, Aligned, QD = 32 64700 97400 109800 104000 Random Write, 4KB, Aligned, QD = 64 64600 96600 109800 104000 Random Write, 4KB, Aligned, QD = 128 64600 97000 110000 104100 Random 70% Read / 30% Write, 4KB, Aligned, QD = 16 53800 70700 83200 78300 Random 70% Read / 30% Write, 4KB, Aligned, QD = 32 74400 95600 109900 104200 Random 70% Read / 30% Write, 4KB, Aligned, QD = 64 82800 99700 111300 106500 Random 70% Read / 30% Write, 4KB, Aligned, QD = 128 82300 98200 109500 104500 Random Read, 4KB, Aligned, QD = 16 98500 100000 100600 96800 Random Read, 4KB, Aligned, QD = 32 123300 124900 124200 119200 Random Read, 4KB, Aligned, QD = 64 125200 129900 132500 129800 Random Read, 4KB, Aligned, QD = 128 122800 128100 129500 128000 Random Write, 8KB, Aligned, QD = 16 32600 51000 60200 55300 Random Write, 8KB, Aligned, QD = 32 32600 50800 60000 55300 Random Write, 8KB, Aligned, QD = 64 32700 50800 60100 55300 Random Write, 8KB, Aligned, QD = 128 32700 50800 60000 55300 Random 70% Read / 30% Write, 8KB, Aligned, QD = 16 37100 49700 60000 56300 Random 70% Read / 30% Write, 8KB, Aligned, QD = 32 46800 60700 72100 68000 Random 70% Read / 30% Write, 8KB, Aligned, QD = 64 50300 63900 74200 70500 Random 70% Read / 30% Write, 8KB, Aligned, QD = 128 50400 63500 73700 70000 Random Read, 8KB, Aligned, QD = 16 79000 80700 81600 78800 Random Read, 8KB, Aligned, QD = 32 105200 108000 108000 107000 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 39 Random Read, 8KB, Aligned, QD = 64 101400 103300 105800 105200 Random Read, 8KB, Aligned, QD = 128 100800 103300 103700 103400 Random Write, 64KB, Aligned, QD = 16 4180 6540 7880 7140 Random Write, 64KB, Aligned, QD = 32 4180 6520 7880 7160 Random Write, 64KB, Aligned, QD = 64 4180 6540 7860 7160 Random Write, 64KB, Aligned, QD = 128 4180 6540 7880 7160 Random 50% Read / 50% Write, 64KB, Aligned, QD = 32 5640 7740 9420 8960 Random 50% Read / 50% Write, 64KB, Aligned, QD = 128 5640 7760 9440 8960 Random 70% Read / 30% Write, 64KB, Aligned, QD = 16 6660 8820 10480 9960 Random 70% Read / 30% Write, 64KB, Aligned, QD = 32 6700 8840 10440 9920 Random 70% Read / 30% Write, 64KB, Aligned, QD = 64 6660 8820 10400 9900 Random 70% Read / 30% Write, 64KB, Aligned, QD = 128 6660 8800 10420 9900 Random Read, 64KB, Aligned, QD = 16 14500 15020 15100 15060 Random Read, 64KB, Aligned, QD = 32 14180 15040 15160 14340 Random Read, 64KB, Aligned, QD = 64 14420 14940 15140 14740 Random Read, 64KB, Aligned, QD = 128 14420 15020 14720 15000 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 40 Table 14: 6Gbps Dual Port 9W Mode, ME ME * QD is QD at the Drive 200G 400G 800G 1600G Access Type Mbps Mbps Mbps Mbps Sequential Write 128KB, Aligned, QD=32 515 690 555 545 Sequential Read 128KB, Aligned, QD=32 920 950 1000 945 Sequential Write 4KB, Aligned, QD=32 485 545 525 540 Sequential Read 4KB, Aligned, QD=32 495 495 495 490 Sequential Write 0.5KB, Aligned, QD=32 66 68 66 66 Sequential Read 0.5KB, Aligned, QD=32 60 60 60 60 IOps IOps IOps IOps Random Write, 4KB, Aligned, QD = 16 50600 65100 66900 68800 Random Write, 4KB, Aligned, QD = 32 50200 64300 67300 68500 Random Write, 4KB, Aligned, QD = 64 50200 64400 67100 68700 Random Write, 4KB, Aligned, QD = 128 50100 64300 67000 68600 Random 70% Read / 30% Write, 4KB, Aligned, QD = 16 51300 65000 63300 74200 Random 70% Read / 30% Write, 4KB, Aligned, QD = 32 67400 81800 81100 91700 Random 70% Read / 30% Write, 4KB, Aligned, QD = 64 70500 85300 85100 93500 Random 70% Read / 30% Write, 4KB, Aligned, QD = 128 70100 84200 84100 92100 Random Read, 4KB, Aligned, QD = 16 99100 100200 97000 96800 Random Read, 4KB, Aligned, QD = 32 123300 124100 122000 121800 Random Read, 4KB, Aligned, QD = 64 128300 130100 126800 129300 Random Read, 4KB, Aligned, QD = 128 121100 128500 126300 127200 Random Write, 8KB, Aligned, QD = 16 25300 33600 34500 34500 Random Write, 8KB, Aligned, QD = 32 25300 33500 34500 34600 Random Write, 8KB, Aligned, QD = 64 25200 33300 34400 34400 Random Write, 8KB, Aligned, QD = 128 25300 33500 34400 34500 Random 70% Read / 30% Write, 8KB, Aligned, QD = 16 35100 44400 43900 52100 Random 70% Read / 30% Write, 8KB, Aligned, QD = 32 39900 50500 50800 57600 Random 70% Read / 30% Write, 8KB, Aligned, QD = 64 41900 51700 52800 58500 Random 70% Read / 30% Write, 8KB, Aligned, QD = 128 41800 51500 52700 58300 Random Read, 8KB, Aligned, QD = 16 79000 81000 78400 78400 Random Read, 8KB, Aligned, QD = 32 104000 106400 104900 104400 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 41 Random Read, 8KB, Aligned, QD = 64 101400 102700 99900 101100 Random Read, 8KB, Aligned, QD = 128 100100 100100 103100 99400 Random Write, 64KB, Aligned, QD = 16 3200 4280 4320 4320 Random Write, 64KB, Aligned, QD = 32 3200 4260 4300 4320 Random Write, 64KB, Aligned, QD = 64 3220 4280 4320 4320 Random Write, 64KB, Aligned, QD = 128 3200 4260 4300 4360 Random 50% Read / 50% Write, 64KB, Aligned, QD = 32 4400 5620 5860 6760 Random 50% Read / 50% Write, 64KB, Aligned, QD = 128 4460 5680 5900 6760 Random 70% Read / 30% Write, 64KB, Aligned, QD = 16 5620 7040 7160 8280 Random 70% Read / 30% Write, 64KB, Aligned, QD = 32 5640 7060 7200 8300 Random 70% Read / 30% Write, 64KB, Aligned, QD = 64 5640 7060 7200 8280 Random 70% Read / 30% Write, 64KB, Aligned, QD = 128 5640 7080 7200 8280 Random Read, 64KB, Aligned, QD = 16 14500 15120 14260 14660 Random Read, 64KB, Aligned, QD = 32 14440 15040 15120 14480 Random Read, 64KB, Aligned, QD = 64 14440 14780 14880 14140 Random Read, 64KB, Aligned, QD = 128 13740 14120 14280 14140 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 42 Table 15: 6Gbps Dual Port 9W Mode, RI and Soft RI RI Soft RI 400G 800G 1600G 250G 500G 1000G Mbps Mbps Mbps Mbps Mbps Mbps Sequential Write 128KB, Aligned, QD=32 690 625 575 515 690 555 Sequential Read 128KB, Aligned, QD=32 935 920 945 960 950 940 Sequential Write 4KB, Aligned, QD=32 545 540 540 485 545 530 Sequential Read 4KB, Aligned, QD=32 495 490 490 495 495 495 Sequential Write 0.5KB, Aligned, QD=32 62 68 64 64 66 66 Sequential Read 0.5KB, Aligned, QD=32 60 60 60 60 60 60 IOps IOps IOps IOps IOps IOps Random Write, 4KB, Aligned, QD = 16 20000 20600 19100 15600 22000 31200 Random Write, 4KB, Aligned, QD = 32 20100 20500 19100 15600 21900 30800 Random Write, 4KB, Aligned, QD = 64 19900 20600 18900 15400 21800 31100 Random Write, 4KB, Aligned, QD = 128 19800 20400 19100 15500 21900 30900 Random 70% Read / 30% Write, 4KB, Aligned, QD = 16 40500 39800 42700 32200 44100 48900 Random 70% Read / 30% Write, 4KB, Aligned, QD = 32 43600 44400 45000 35100 47600 57300 Random 70% Read / 30% Write, 4KB, Aligned, QD = 64 44000 45100 44400 35700 48000 58900 Random 70% Read / 30% Write, 4KB, Aligned, QD = 128 44100 44800 43600 35700 47800 58500 Random Read, 4KB, Aligned, QD = 16 97900 93900 95200 98800 100000 94200 Random Read, 4KB, Aligned, QD = 32 124200 122400 121400 122400 122000 122500 Random Read, 4KB, Aligned, QD = 64 129300 124600 129100 128300 128900 128100 Random Read, 4KB, Aligned, QD = 128 124200 119900 125800 126500 129800 124900 Random Write, 8KB, Aligned, QD = 16 10100 10300 9600 7700 11100 15600 Random Write, 8KB, Aligned, QD = 32 10100 10300 9600 7800 11100 15500 Random Write, 8KB, Aligned, QD = 64 10000 10400 9700 7700 11100 15500 Random Write, 8KB, Aligned, QD = 128 10100 10300 9600 7800 11100 15600 Random 70% Read / 30% Write, 8KB, Aligned, QD = 16 23100 23300 23900 18400 25600 31000 Random 70% Read / 30% Write, 8KB, Aligned, QD = 32 23700 23800 24000 18600 25900 32400 Random 70% Read / 30% Write, 8KB, Aligned, QD = 64 23900 24000 24000 18800 26000 32600 Random 70% Read / 30% Write, 8KB, Aligned, QD = 128 23800 24000 23900 18900 25900 32600 Random Read, 8KB, Aligned, QD = 16 78000 77000 75900 78200 80100 77900 Random Read, 8KB, Aligned, QD = 32 100800 98800 99400 99500 100900 102400 Access Type Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 43 Random Read, 8KB, Aligned, QD = 64 96100 94200 96200 93900 97800 98200 Random Read, 8KB, Aligned, QD = 128 94100 94700 94100 93300 94300 95500 Random Write, 64KB, Aligned, QD = 16 1260 1280 1180 960 1380 1960 Random Write, 64KB, Aligned, QD = 32 1260 1300 1200 960 1380 1960 Random Write, 64KB, Aligned, QD = 64 1260 1300 1200 980 1380 1960 Random Write, 64KB, Aligned, QD = 128 1260 1280 1180 960 1380 1960 Random 50% Read / 50% Write, 64KB, Aligned, QD = 32 2120 2160 2120 1620 2320 3100 Random 50% Read / 50% Write, 64KB, Aligned, QD = 128 2160 2180 2160 1680 2360 3120 Random 70% Read / 30% Write, 64KB, Aligned, QD = 16 3080 3060 3160 2420 3340 4260 Random 70% Read / 30% Write, 64KB, Aligned, QD = 32 3080 3080 3180 2420 3380 4280 Random 70% Read / 30% Write, 64KB, Aligned, QD = 64 3080 3100 3180 2420 3380 4280 Random 70% Read / 30% Write, 64KB, Aligned, QD = 128 3100 3080 3160 2420 3360 4300 Random Read, 64KB, Aligned, QD = 16 14480 14000 14880 14560 14460 14840 Random Read, 64KB, Aligned, QD = 32 15060 14840 14300 13520 15340 14800 Random Read, 64KB, Aligned, QD = 64 14920 13880 14580 14420 15180 14340 Random Read, 64KB, Aligned, QD = 128 14760 14580 14280 14580 14300 14320 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 44 Table 16: 12Gbps Single Port 9W Mode, HE HE * QD is QD at the Drive 100G 200G 400G 800G Access Type Mbps Mbps Mbps Mbps Sequential Write 128KB, Aligned, QD=32 410 660 650 575 Sequential Read 128KB, Aligned, QD=32 1000 1000 1000 1000 Sequential Write 4KB, Aligned, QD=32 380 410 415 410 Sequential Read 4KB, Aligned, QD=32 480 485 485 475 Sequential Write 0.5KB, Aligned, QD=32 64 66 66 66 Sequential Read 0.5KB, Aligned, QD=32 58 58 58 58 IOps IOps IOps IOps Random Write, 4KB, Aligned, QD = 16 65900 95500 104000 101900 Random Write, 4KB, Aligned, QD = 32 65500 95000 104500 101900 Random Write, 4KB, Aligned, QD = 64 65400 94200 104100 101600 Random Write, 4KB, Aligned, QD = 128 65300 94800 104300 101700 Random 70% Read / 30% Write, 4KB, Aligned, QD = 16 55000 72200 85300 79900 Random 70% Read / 30% Write, 4KB, Aligned, QD = 32 75200 96500 110600 105200 Random 70% Read / 30% Write, 4KB, Aligned, QD = 64 83700 100200 111700 106400 Random 70% Read / 30% Write, 4KB, Aligned, QD = 128 83700 100700 112000 106400 Random Read, 4KB, Aligned, QD = 16 100000 100800 101700 98800 Random Read, 4KB, Aligned, QD = 32 126000 128600 128300 125500 Random Read, 4KB, Aligned, QD = 64 127500 132900 132500 131000 Random Read, 4KB, Aligned, QD = 128 125600 131800 133600 129000 Random Write, 8KB, Aligned, QD = 16 33100 51000 60000 55000 Random Write, 8KB, Aligned, QD = 32 33100 50800 59800 55000 Random Write, 8KB, Aligned, QD = 64 33100 50900 59700 54900 Random Write, 8KB, Aligned, QD = 128 33000 50800 59800 55000 Random 70% Read / 30% Write, 8KB, Aligned, QD = 16 37900 50900 61400 57600 Random 70% Read / 30% Write, 8KB, Aligned, QD = 32 47300 61100 72400 68100 Random 70% Read / 30% Write, 8KB, Aligned, QD = 64 50900 64200 74200 70500 Random 70% Read / 30% Write, 8KB, Aligned, QD = 128 50900 64000 74200 70400 Random Read, 8KB, Aligned, QD = 16 82200 84500 84400 82200 Random Read, 8KB, Aligned, QD = 32 106900 107200 107200 105100 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 45 Random Read, 8KB, Aligned, QD = 64 103100 105500 105900 101800 Random Read, 8KB, Aligned, QD = 128 102200 106100 105900 106000 Random Write, 64KB, Aligned, QD = 16 4220 6600 7920 7200 Random Write, 64KB, Aligned, QD = 32 4220 6560 7940 7180 Random Write, 64KB, Aligned, QD = 64 4220 6580 7940 7180 Random Write, 64KB, Aligned, QD = 128 4220 6560 7940 7200 Random 50% Read / 50% Write, 64KB, Aligned, QD = 32 5680 7860 9580 9100 Random 50% Read / 50% Write, 64KB, Aligned, QD = 128 5700 7900 9620 9120 Random 70% Read / 30% Write, 64KB, Aligned, QD = 16 6680 8900 10600 10040 Random 70% Read / 30% Write, 64KB, Aligned, QD = 32 6740 8980 10660 10100 Random 70% Read / 30% Write, 64KB, Aligned, QD = 64 6800 9060 10700 10160 Random 70% Read / 30% Write, 64KB, Aligned, QD = 128 6800 9060 10720 10180 Random Read, 64KB, Aligned, QD = 16 14520 15120 14740 14520 Random Read, 64KB, Aligned, QD = 32 14500 15120 15100 14940 Random Read, 64KB, Aligned, QD = 64 14560 15060 15120 14920 Random Read, 64KB, Aligned, QD = 128 14500 15100 14960 14920 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 46 Table 17: 12Gbps Single Port 9W Mode, ME ME * QD is QD at the Drive 200G 400G 800G 1600G Access Type Mbps Mbps Mbps Mbps Sequential Write 128KB, Aligned, QD=32 515 690 555 545 Sequential Read 128KB, Aligned, QD=32 1000 1000 1000 1000 Sequential Write 4KB, Aligned, QD=32 410 410 415 415 Sequential Read 4KB, Aligned, QD=32 485 485 475 475 Sequential Write 0.5KB, Aligned, QD=32 66 66 68 66 Sequential Read 0.5KB, Aligned, QD=32 58 58 58 58 IOps IOps IOps IOps Random Write, 4KB, Aligned, QD = 16 50800 65200 66500 68700 Random Write, 4KB, Aligned, QD = 32 50500 64900 66500 68400 Random Write, 4KB, Aligned, QD = 64 50400 64600 66500 68700 Random Write, 4KB, Aligned, QD = 128 50600 64800 66600 68600 Random 70% Read / 30% Write, 4KB, Aligned, QD = 16 52200 66000 64500 75700 Random 70% Read / 30% Write, 4KB, Aligned, QD = 32 68100 82600 81900 92500 Random 70% Read / 30% Write, 4KB, Aligned, QD = 64 71400 85600 85600 93700 Random 70% Read / 30% Write, 4KB, Aligned, QD = 128 71300 85600 85500 93800 Random Read, 4KB, Aligned, QD = 16 100000 102000 96200 96900 Random Read, 4KB, Aligned, QD = 32 125800 128000 126800 126000 Random Read, 4KB, Aligned, QD = 64 130900 133100 131800 131900 Random Read, 4KB, Aligned, QD = 128 129900 131100 129700 130200 Random Write, 8KB, Aligned, QD = 16 25500 33700 34500 34500 Random Write, 8KB, Aligned, QD = 32 25400 33700 34500 34500 Random Write, 8KB, Aligned, QD = 64 25500 33600 34400 34700 Random Write, 8KB, Aligned, QD = 128 25400 33700 34500 34500 Random 70% Read / 30% Write, 8KB, Aligned, QD = 16 35600 45200 44700 53000 Random 70% Read / 30% Write, 8KB, Aligned, QD = 32 40500 50900 51200 58200 Random 70% Read / 30% Write, 8KB, Aligned, QD = 64 42100 51900 53100 58800 Random 70% Read / 30% Write, 8KB, Aligned, QD = 128 42200 51900 53000 58800 Random Read, 8KB, Aligned, QD = 16 82300 84400 79600 80300 Random Read, 8KB, Aligned, QD = 32 106700 107000 107100 106200 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 47 Random Read, 8KB, Aligned, QD = 64 103300 102900 103900 102400 Random Read, 8KB, Aligned, QD = 128 103600 105700 104100 101400 Random Write, 64KB, Aligned, QD = 16 3200 4280 4380 4320 Random Write, 64KB, Aligned, QD = 32 3220 4280 4380 4340 Random Write, 64KB, Aligned, QD = 64 3200 4280 4380 4340 Random Write, 64KB, Aligned, QD = 128 3220 4280 4380 4360 Random 50% Read / 50% Write, 64KB, Aligned, QD = 32 4460 5740 5940 6860 Random 50% Read / 50% Write, 64KB, Aligned, QD = 128 4520 5780 5980 6880 Random 70% Read / 30% Write, 64KB, Aligned, QD = 16 5680 7120 7260 8400 Random 70% Read / 30% Write, 64KB, Aligned, QD = 32 5740 7200 7320 8460 Random 70% Read / 30% Write, 64KB, Aligned, QD = 64 5760 7240 7360 8440 Random 70% Read / 30% Write, 64KB, Aligned, QD = 128 5780 7240 7360 8420 Random Read, 64KB, Aligned, QD = 16 14640 15100 14720 14300 Random Read, 64KB, Aligned, QD = 32 14640 15100 14460 14300 Random Read, 64KB, Aligned, QD = 64 14520 15060 15040 14660 Random Read, 64KB, Aligned, QD = 128 14640 14880 14780 14860 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 48 Table 18: 12Gbps Single Port 9W Mode, RI and Soft RI RI Soft RI 400G 800G 1600G 250G 500G 1000G Mbps Mbps Mbps Mbps Mbps Mbps Sequential Write 128KB, Aligned, QD=32 695 625 570 520 690 555 Sequential Read 128KB, Aligned, QD=32 995 995 1000 1000 1000 1000 Sequential Write 4KB, Aligned, QD=32 410 410 415 410 410 415 Sequential Read 4KB, Aligned, QD=32 485 475 475 490 485 475 Sequential Write 0.5KB, Aligned, QD=32 64 66 64 64 64 66 Sequential Read 0.5KB, Aligned, QD=32 58 58 58 58 58 58 IOps IOps IOps IOps IOps IOps Random Write, 4KB, Aligned, QD = 16 20000 20500 19100 15600 22000 31200 Random Write, 4KB, Aligned, QD = 32 20000 20500 19100 15500 22000 31100 Random Write, 4KB, Aligned, QD = 64 20000 20600 19100 15500 22000 31100 Random Write, 4KB, Aligned, QD = 128 19900 20600 19100 15500 22000 31100 Random 70% Read / 30% Write, 4KB, Aligned, QD = 16 41000 40300 43400 32500 44700 49400 Random 70% Read / 30% Write, 4KB, Aligned, QD = 32 43700 44700 44700 35400 48200 57600 Random 70% Read / 30% Write, 4KB, Aligned, QD = 64 44600 45300 44500 35900 48500 59300 Random 70% Read / 30% Write, 4KB, Aligned, QD = 128 44500 45400 44600 36100 48600 59200 Random Read, 4KB, Aligned, QD = 16 99500 97200 97700 101100 98400 95900 Random Read, 4KB, Aligned, QD = 32 127800 125800 124600 126600 127500 126700 Random Read, 4KB, Aligned, QD = 64 127700 125800 130900 127400 133700 129500 Random Read, 4KB, Aligned, QD = 128 128100 126500 129300 126900 130400 127700 Random Write, 8KB, Aligned, QD = 16 10100 10400 9600 7800 11100 15700 Random Write, 8KB, Aligned, QD = 32 10100 10400 9600 7800 11100 15600 Random Write, 8KB, Aligned, QD = 64 10100 10400 9600 7800 11200 15700 Random Write, 8KB, Aligned, QD = 128 10100 10400 9500 7800 11100 15700 Random 70% Read / 30% Write, 8KB, Aligned, QD = 16 23300 23500 24200 18400 25700 31000 Random 70% Read / 30% Write, 8KB, Aligned, QD = 32 23800 24100 24200 18800 26100 32700 Random 70% Read / 30% Write, 8KB, Aligned, QD = 64 24000 24100 24100 18800 26200 32800 Random 70% Read / 30% Write, 8KB, Aligned, QD = 128 23800 24200 24300 18800 26200 32900 Random Read, 8KB, Aligned, QD = 16 81200 79600 81300 80900 83200 81500 Random Read, 8KB, Aligned, QD = 32 102200 99500 101400 100700 103100 103500 Access Type Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 49 Random Read, 8KB, Aligned, QD = 64 95100 96700 96700 95400 96300 97800 Random Read, 8KB, Aligned, QD = 128 97100 95900 96900 93800 97500 100800 Random Write, 64KB, Aligned, QD = 16 1260 1300 1220 980 1400 1980 Random Write, 64KB, Aligned, QD = 32 1280 1300 1200 980 1400 1980 Random Write, 64KB, Aligned, QD = 64 1260 1300 1200 980 1400 1980 Random Write, 64KB, Aligned, QD = 128 1260 1300 1180 980 1400 1980 Random 50% Read / 50% Write, 64KB, Aligned, QD = 32 2140 2160 2200 1660 2360 3160 Random 50% Read / 50% Write, 64KB, Aligned, QD = 128 2160 2200 2200 1680 2400 3200 Random 70% Read / 30% Write, 64KB, Aligned, QD = 16 3140 3120 3200 2440 3420 4360 Random 70% Read / 30% Write, 64KB, Aligned, QD = 32 3140 3140 3220 2440 3440 4360 Random 70% Read / 30% Write, 64KB, Aligned, QD = 64 3140 3140 3240 2460 3440 4380 Random 70% Read / 30% Write, 64KB, Aligned, QD = 128 3140 3140 3220 2460 3440 4380 Random Read, 64KB, Aligned, QD = 16 15180 14280 14920 14200 15320 14800 Random Read, 64KB, Aligned, QD = 32 15180 14760 15020 14740 15180 14480 Random Read, 64KB, Aligned, QD = 64 15000 14660 14520 14700 14660 15140 Random Read, 64KB, Aligned, QD = 128 15080 14400 14700 14420 14820 14440 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 50 Table 19: 12Gbps Dual Port 9W Mode, HE HE * QD is QD at the Drive 100G 200G 400G 800G Access Type Mbps Mbps Mbps Mbps Sequential Write 128KB, Aligned, QD=32 410 665 650 575 Sequential Read 128KB, Aligned, QD=32 1095 1140 1180 1165 Sequential Write 4KB, Aligned, QD=32 390 585 620 570 Sequential Read 4KB, Aligned, QD=32 495 495 500 495 Sequential Write 0.5KB, Aligned, QD=32 62 66 68 64 Sequential Read 0.5KB, Aligned, QD=32 60 60 60 60 IOps IOps IOps IOps Random Write, 4KB, Aligned, QD = 16 65900 98300 111500 105100 Random Write, 4KB, Aligned, QD = 32 65300 97600 110800 104800 Random Write, 4KB, Aligned, QD = 64 65200 97000 111100 104700 Random Write, 4KB, Aligned, QD = 128 64300 97100 110700 104600 Random 70% Read / 30% Write, 4KB, Aligned, QD = 16 54500 71600 84600 79200 Random 70% Read / 30% Write, 4KB, Aligned, QD = 32 74700 95500 110100 104500 Random 70% Read / 30% Write, 4KB, Aligned, QD = 64 83200 100800 111900 106400 Random 70% Read / 30% Write, 4KB, Aligned, QD = 128 82700 99000 110000 104900 Random Read, 4KB, Aligned, QD = 16 99000 100900 101000 96900 Random Read, 4KB, Aligned, QD = 32 122700 124300 123300 121100 Random Read, 4KB, Aligned, QD = 64 125300 130600 132400 130500 Random Read, 4KB, Aligned, QD = 128 122500 129300 129400 128700 Random Write, 8KB, Aligned, QD = 16 33000 50900 60600 55400 Random Write, 8KB, Aligned, QD = 32 33000 50800 60500 55400 Random Write, 8KB, Aligned, QD = 64 33000 50900 60400 55400 Random Write, 8KB, Aligned, QD = 128 33100 50700 60200 55400 Random 70% Read / 30% Write, 8KB, Aligned, QD = 16 37700 50800 61400 57600 Random 70% Read / 30% Write, 8KB, Aligned, QD = 32 47300 61400 72800 68300 Random 70% Read / 30% Write, 8KB, Aligned, QD = 64 51000 64700 75400 71600 Random 70% Read / 30% Write, 8KB, Aligned, QD = 128 50900 64500 74900 71000 Random Read, 8KB, Aligned, QD = 16 80700 82800 83200 80500 Random Read, 8KB, Aligned, QD = 32 103500 105800 106300 104500 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 51 Random Read, 8KB, Aligned, QD = 64 102400 106300 106700 104500 Random Read, 8KB, Aligned, QD = 128 101300 105500 104400 100400 Random Write, 64KB, Aligned, QD = 16 4220 6580 7940 7180 Random Write, 64KB, Aligned, QD = 32 4220 6560 7960 7180 Random Write, 64KB, Aligned, QD = 64 4220 6580 7920 7200 Random Write, 64KB, Aligned, QD = 128 4220 6580 7940 7180 Random 50% Read / 50% Write, 64KB, Aligned, QD = 32 5760 8000 9840 9320 Random 50% Read / 50% Write, 64KB, Aligned, QD = 128 5780 8000 9860 9320 Random 70% Read / 30% Write, 64KB, Aligned, QD = 16 6860 9180 11120 10460 Random 70% Read / 30% Write, 64KB, Aligned, QD = 32 6880 9200 11080 10480 Random 70% Read / 30% Write, 64KB, Aligned, QD = 64 6900 9200 11100 10500 Random 70% Read / 30% Write, 64KB, Aligned, QD = 128 6880 9220 11120 10520 Random Read, 64KB, Aligned, QD = 16 15580 16700 16700 16440 Random Read, 64KB, Aligned, QD = 32 15580 16580 16840 16400 Random Read, 64KB, Aligned, QD = 64 15600 16460 16680 15720 Random Read, 64KB, Aligned, QD = 128 15640 16700 16860 15880 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 52 Table 20: 12Gbps Dual Port 9W Mode, ME ME * QD is QD at the Drive 200G 400G 800G 1600G Access Type Mbps Mbps Mbps Mbps Sequential Write 128KB, Aligned, QD=32 515 690 555 545 Sequential Read 128KB, Aligned, QD=32 1110 1165 1180 1135 Sequential Write 4KB, Aligned, QD=32 485 605 545 540 Sequential Read 4KB, Aligned, QD=32 500 500 500 490 Sequential Write 0.5KB, Aligned, QD=32 64 62 68 64 Sequential Read 0.5KB, Aligned, QD=32 62 60 62 60 IOps IOps IOps IOps Random Write, 4KB, Aligned, QD = 16 50700 66200 67600 68800 Random Write, 4KB, Aligned, QD = 32 50500 65500 67900 68900 Random Write, 4KB, Aligned, QD = 64 50300 65200 67700 69000 Random Write, 4KB, Aligned, QD = 128 50300 65100 67500 68700 Random 70% Read / 30% Write, 4KB, Aligned, QD = 16 51900 66200 64000 75100 Random 70% Read / 30% Write, 4KB, Aligned, QD = 32 67800 82600 81300 92000 Random 70% Read / 30% Write, 4KB, Aligned, QD = 64 71300 86100 85500 93800 Random 70% Read / 30% Write, 4KB, Aligned, QD = 128 70700 85100 84600 92400 Random Read, 4KB, Aligned, QD = 16 97700 101400 98300 97900 Random Read, 4KB, Aligned, QD = 32 123800 125600 121400 121600 Random Read, 4KB, Aligned, QD = 64 128400 129900 129300 130000 Random Read, 4KB, Aligned, QD = 128 120800 130000 123900 131700 Random Write, 8KB, Aligned, QD = 16 25400 34000 34700 34500 Random Write, 8KB, Aligned, QD = 32 25400 33900 34700 34500 Random Write, 8KB, Aligned, QD = 64 25300 34000 34600 34500 Random Write, 8KB, Aligned, QD = 128 25300 33900 34600 34500 Random 70% Read / 30% Write, 8KB, Aligned, QD = 16 35400 45400 44500 53000 Random 70% Read / 30% Write, 8KB, Aligned, QD = 32 40500 51300 51200 58300 Random 70% Read / 30% Write, 8KB, Aligned, QD = 64 42100 52500 53100 58900 Random 70% Read / 30% Write, 8KB, Aligned, QD = 128 42100 52300 53000 58800 Random Read, 8KB, Aligned, QD = 16 78600 82300 80700 78700 Random Read, 8KB, Aligned, QD = 32 103700 105500 103400 103500 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 53 Random Read, 8KB, Aligned, QD = 64 101700 105000 100500 103600 Random Read, 8KB, Aligned, QD = 128 99700 104100 101500 100400 Random Write, 64KB, Aligned, QD = 16 3200 4340 4380 4340 Random Write, 64KB, Aligned, QD = 32 3200 4340 4380 4340 Random Write, 64KB, Aligned, QD = 64 3200 4340 4380 4340 Random Write, 64KB, Aligned, QD = 128 3200 4340 4380 4340 Random 50% Read / 50% Write, 64KB, Aligned, QD = 32 4480 5820 5960 6920 Random 50% Read / 50% Write, 64KB, Aligned, QD = 128 4500 5840 6000 6920 Random 70% Read / 30% Write, 64KB, Aligned, QD = 16 5700 7260 7360 8540 Random 70% Read / 30% Write, 64KB, Aligned, QD = 32 5740 7280 7380 8560 Random 70% Read / 30% Write, 64KB, Aligned, QD = 64 5740 7300 7400 8560 Random 70% Read / 30% Write, 64KB, Aligned, QD = 128 5740 7320 7400 8560 Random Read, 64KB, Aligned, QD = 16 15460 16660 16460 15420 Random Read, 64KB, Aligned, QD = 32 15220 16500 16140 15540 Random Read, 64KB, Aligned, QD = 64 15180 16260 15500 16100 Random Read, 64KB, Aligned, QD = 128 15600 16360 16600 15780 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 54 Table 21: 12Gbps Dual Port 9W Mode, RI and Soft RI RI Soft RI 400G 800G 1600G 250G 500G 1000G Mbps Mbps Mbps Mbps Mbps Mbps Sequential Write 128KB, Aligned, QD=32 695 625 575 520 690 555 Sequential Read 128KB, Aligned, QD=32 1115 1110 1130 1100 1175 1185 Sequential Write 4KB, Aligned, QD=32 605 555 575 485 610 545 Sequential Read 4KB, Aligned, QD=32 500 495 495 500 500 495 Sequential Write 0.5KB, Aligned, QD=32 68 66 64 66 68 68 Sequential Read 0.5KB, Aligned, QD=32 60 62 60 60 60 60 IOps IOps IOps IOps IOps IOps Random Write, 4KB, Aligned, QD = 16 20100 20800 19200 15600 22100 31700 Random Write, 4KB, Aligned, QD = 32 20200 20700 19200 15700 22100 31200 Random Write, 4KB, Aligned, QD = 64 20100 20800 19200 15600 22100 31100 Random Write, 4KB, Aligned, QD = 128 20100 20700 19200 15700 22100 31100 Random 70% Read / 30% Write, 4KB, Aligned, QD = 16 40800 40100 43100 32400 44600 49200 Random 70% Read / 30% Write, 4KB, Aligned, QD = 32 43800 44700 44800 35400 48100 57500 Random 70% Read / 30% Write, 4KB, Aligned, QD = 64 44500 45200 44500 35800 48400 59100 Random 70% Read / 30% Write, 4KB, Aligned, QD = 128 44100 44800 43800 35800 48000 58700 Random Read, 4KB, Aligned, QD = 16 100500 93700 97600 100100 100400 98300 Random Read, 4KB, Aligned, QD = 32 122100 122200 121400 121200 122900 120600 Random Read, 4KB, Aligned, QD = 64 125700 125900 128600 128400 130300 126900 Random Read, 4KB, Aligned, QD = 128 122800 120100 126000 126700 125700 127500 Random Write, 8KB, Aligned, QD = 16 10100 10400 9600 7900 11200 15700 Random Write, 8KB, Aligned, QD = 32 10200 10400 9600 7900 11200 15500 Random Write, 8KB, Aligned, QD = 64 10200 10500 9700 7800 11200 15900 Random Write, 8KB, Aligned, QD = 128 10100 10500 9700 7800 11200 15700 Random 70% Read / 30% Write, 8KB, Aligned, QD = 16 23200 23500 24000 18300 25700 31000 Random 70% Read / 30% Write, 8KB, Aligned, QD = 32 23700 24000 24200 18700 26000 32600 Random 70% Read / 30% Write, 8KB, Aligned, QD = 64 23900 24100 24100 18800 26200 32800 Random 70% Read / 30% Write, 8KB, Aligned, QD = 128 23800 24000 24100 18800 26200 32800 Random Read, 8KB, Aligned, QD = 16 80300 78300 77500 79400 80200 80200 Random Read, 8KB, Aligned, QD = 32 99600 98800 100700 96000 99000 100200 Access Type Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 55 Random Read, 8KB, Aligned, QD = 64 94800 94100 96300 94900 97100 97900 Random Read, 8KB, Aligned, QD = 128 94000 96000 94900 93600 97700 100300 Random Write, 64KB, Aligned, QD = 16 1280 1320 1200 980 1400 1980 Random Write, 64KB, Aligned, QD = 32 1280 1300 1200 980 1400 2000 Random Write, 64KB, Aligned, QD = 64 1280 1320 1200 980 1400 1980 Random Write, 64KB, Aligned, QD = 128 1260 1300 1200 980 1400 1980 Random 50% Read / 50% Write, 64KB, Aligned, QD = 32 2140 2160 2140 1640 2360 3140 Random 50% Read / 50% Write, 64KB, Aligned, QD = 128 2160 2180 2140 1680 2360 3160 Random 70% Read / 30% Write, 64KB, Aligned, QD = 16 3100 3100 3160 2420 3380 4320 Random 70% Read / 30% Write, 64KB, Aligned, QD = 32 3120 3120 3140 2420 3420 4360 Random 70% Read / 30% Write, 64KB, Aligned, QD = 64 3100 3120 3240 2440 3420 4340 Random 70% Read / 30% Write, 64KB, Aligned, QD = 128 3120 3120 3200 2420 3400 4360 Random Read, 64KB, Aligned, QD = 16 16180 15060 15900 15400 16040 15880 Random Read, 64KB, Aligned, QD = 32 16200 16100 15720 15000 15800 15740 Random Read, 64KB, Aligned, QD = 64 15800 15460 15600 15580 16040 16440 Random Read, 64KB, Aligned, QD = 128 15820 15640 16260 15640 15840 16080 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 56 Table 22: 12Gbps Single Port 11W Mode, HE HE * QD is QD at the Drive 100G 200G 400G 800G Access Type Mbps Mbps Mbps Mbps Sequential Write 128KB, Aligned, QD=32 410 665 800 705 Sequential Read 128KB, Aligned, QD=32 1000 1000 1000 1000 Sequential Write 4KB, Aligned, QD=32 380 415 415 415 Sequential Read 4KB, Aligned, QD=32 480 485 490 480 Sequential Write 0.5KB, Aligned, QD=32 64 66 64 66 Sequential Read 0.5KB, Aligned, QD=32 58 58 58 58 IOps IOps IOps IOps Random Write, 4KB, Aligned, QD = 16 65800 95400 104200 102700 Random Write, 4KB, Aligned, QD = 32 65500 95200 104600 102800 Random Write, 4KB, Aligned, QD = 64 65500 94300 104000 102600 Random Write, 4KB, Aligned, QD = 128 65500 94400 104400 102700 Random 70% Read / 30% Write, 4KB, Aligned, QD = 16 54900 72100 85500 80000 Random 70% Read / 30% Write, 4KB, Aligned, QD = 32 75400 96500 110700 105100 Random 70% Read / 30% Write, 4KB, Aligned, QD = 64 83600 100500 111800 107100 Random 70% Read / 30% Write, 4KB, Aligned, QD = 128 83700 100200 111800 106700 Random Read, 4KB, Aligned, QD = 16 99400 101600 101200 96300 Random Read, 4KB, Aligned, QD = 32 126400 128100 128300 126000 Random Read, 4KB, Aligned, QD = 64 128400 132800 134600 133000 Random Read, 4KB, Aligned, QD = 128 127500 130800 133100 131100 Random Write, 8KB, Aligned, QD = 16 33100 51100 60700 57500 Random Write, 8KB, Aligned, QD = 32 33100 51000 60400 57400 Random Write, 8KB, Aligned, QD = 64 33100 50900 60400 57400 Random Write, 8KB, Aligned, QD = 128 33100 50800 60700 57400 Random 70% Read / 30% Write, 8KB, Aligned, QD = 16 37800 50900 61400 57600 Random 70% Read / 30% Write, 8KB, Aligned, QD = 32 47300 60900 72500 68100 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 57 Random 70% Read / 30% Write, 8KB, Aligned, QD = 64 50900 64300 74200 70400 Random 70% Read / 30% Write, 8KB, Aligned, QD = 128 51000 64000 74200 70500 Random Read, 8KB, Aligned, QD = 16 82200 82700 85000 82500 Random Read, 8KB, Aligned, QD = 32 106600 107200 106800 106600 Random Read, 8KB, Aligned, QD = 64 104800 106100 106600 105000 Random Read, 8KB, Aligned, QD = 128 101600 106200 105900 101800 Random Write, 64KB, Aligned, QD = 16 4220 6620 8180 7560 Random Write, 64KB, Aligned, QD = 32 4220 6600 8200 7560 Random Write, 64KB, Aligned, QD = 64 4220 6600 8180 7560 Random Write, 64KB, Aligned, QD = 128 4220 6580 8180 7560 Random 50% Read / 50% Write, 64KB, Aligned, QD = 32 5700 7860 9600 9140 Random 50% Read / 50% Write, 64KB, Aligned, QD = 128 5700 7880 9640 9160 Random 70% Read / 30% Write, 64KB, Aligned, QD = 16 6680 8880 10600 10040 Random 70% Read / 30% Write, 64KB, Aligned, QD = 32 6760 9000 10660 10120 Random 70% Read / 30% Write, 64KB, Aligned, QD = 64 6820 9060 10720 10180 Random 70% Read / 30% Write, 64KB, Aligned, QD = 128 6800 9040 10760 10200 Random Read, 64KB, Aligned, QD = 16 14660 15120 14580 14860 Random Read, 64KB, Aligned, QD = 32 14540 15100 15060 14900 Random Read, 64KB, Aligned, QD = 64 14540 15140 15120 14740 Random Read, 64KB, Aligned, QD = 128 14660 15060 15040 14380 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 58 Table 23: 12Gbps Single Port 11W Mode, ME ME * QD is QD at the Drive 200G 400G 800G 1600G Access Type Mbps Mbps Mbps Mbps Sequential Write 128KB, Aligned, QD=32 520 745 660 730 Sequential Read 128KB, Aligned, QD=32 1000 1000 1000 1000 Sequential Write 4KB, Aligned, QD=32 410 410 415 415 Sequential Read 4KB, Aligned, QD=32 485 485 480 480 Sequential Write 0.5KB, Aligned, QD=32 64 66 66 64 Sequential Read 0.5KB, Aligned, QD=32 58 58 58 58 IOps IOps IOps IOps Random Write, 4KB, Aligned, QD = 16 50700 65500 67200 72400 Random Write, 4KB, Aligned, QD = 32 50700 65000 67400 72300 Random Write, 4KB, Aligned, QD = 64 50400 65000 67300 72000 Random Write, 4KB, Aligned, QD = 128 50600 65000 67300 72000 Random 70% Read / 30% Write, 4KB, Aligned, QD = 16 52100 66100 64500 75700 Random 70% Read / 30% Write, 4KB, Aligned, QD = 32 68000 82400 81700 92400 Random 70% Read / 30% Write, 4KB, Aligned, QD = 64 71300 85600 85500 95000 Random 70% Read / 30% Write, 4KB, Aligned, QD = 128 71400 85500 85500 93800 Random Read, 4KB, Aligned, QD = 16 98800 100900 99400 97100 Random Read, 4KB, Aligned, QD = 32 127500 128200 124700 126100 Random Read, 4KB, Aligned, QD = 64 130800 133800 129600 131400 Random Read, 4KB, Aligned, QD = 128 129500 131300 130500 130200 Random Write, 8KB, Aligned, QD = 16 25500 33800 35100 38300 Random Write, 8KB, Aligned, QD = 32 25400 33800 35000 38300 Random Write, 8KB, Aligned, QD = 64 25400 33700 35000 38200 Random Write, 8KB, Aligned, QD = 128 25400 33800 35000 38200 Random 70% Read / 30% Write, 8KB, Aligned, QD = 16 35600 45100 44600 52900 Random 70% Read / 30% Write, 8KB, Aligned, QD = 32 40400 50900 51100 58100 Random 70% Read / 30% Write, 8KB, Aligned, QD = 64 42100 51900 53000 58800 Random 70% Read / 30% Write, 8KB, Aligned, QD = 128 42100 51900 53100 58800 Random Read, 8KB, Aligned, QD = 16 80600 84000 80000 80400 Random Read, 8KB, Aligned, QD = 32 106700 106100 106600 105900 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 59 Random Read, 8KB, Aligned, QD = 64 103600 105000 103900 102300 Random Read, 8KB, Aligned, QD = 128 102200 105800 101700 101400 Random Write, 64KB, Aligned, QD = 16 3220 4300 4460 4980 Random Write, 64KB, Aligned, QD = 32 3200 4300 4460 4960 Random Write, 64KB, Aligned, QD = 64 3200 4280 4460 4960 Random Write, 64KB, Aligned, QD = 128 3200 4280 4460 4940 Random 50% Read / 50% Write, 64KB, Aligned, QD = 32 4460 5740 5960 6880 Random 50% Read / 50% Write, 64KB, Aligned, QD = 128 4520 5780 5980 6880 Random 70% Read / 30% Write, 64KB, Aligned, QD = 16 5680 7140 7240 8400 Random 70% Read / 30% Write, 64KB, Aligned, QD = 32 5740 7180 7320 8480 Random 70% Read / 30% Write, 64KB, Aligned, QD = 64 5740 7220 7360 8480 Random 70% Read / 30% Write, 64KB, Aligned, QD = 128 5760 7240 7360 8500 Random Read, 64KB, Aligned, QD = 16 14580 15100 14920 14380 Random Read, 64KB, Aligned, QD = 32 14640 15000 14780 14320 Random Read, 64KB, Aligned, QD = 64 14080 15100 14400 14560 Random Read, 64KB, Aligned, QD = 128 14540 14920 15040 14540 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 60 Table 24: 12Gbps Single Port 11W Mode, RI and Soft RI RI Soft RI 400G 800G 1600G 250G 500G 1000G Mbps Mbps Mbps Mbps Mbps Mbps Sequential Write 128KB, Aligned, QD=32 705 640 725 520 755 660 Sequential Read 128KB, Aligned, QD=32 1000 995 1000 1000 1000 1000 Sequential Write 4KB, Aligned, QD=32 410 410 415 410 410 415 Sequential Read 4KB, Aligned, QD=32 485 475 480 490 485 480 Sequential Write 0.5KB, Aligned, QD=32 66 66 64 66 68 66 Sequential Read 0.5KB, Aligned, QD=32 58 58 58 58 58 58 IOps IOps IOps IOps IOps IOps Random Write, 4KB, Aligned, QD = 16 19900 20500 19500 15500 22000 31400 Random Write, 4KB, Aligned, QD = 32 20000 20600 19500 15500 22000 31300 Random Write, 4KB, Aligned, QD = 64 20000 20600 19600 15500 22000 31300 Random Write, 4KB, Aligned, QD = 128 20000 20600 19600 15400 22000 31300 Random 70% Read / 30% Write, 4KB, Aligned, QD = 16 41000 40300 43400 32500 44700 49400 Random 70% Read / 30% Write, 4KB, Aligned, QD = 32 43900 44600 44900 35400 48000 57600 Random 70% Read / 30% Write, 4KB, Aligned, QD = 64 44500 45300 44600 35900 48400 59300 Random 70% Read / 30% Write, 4KB, Aligned, QD = 128 44500 45400 44600 35900 48600 59200 Random Read, 4KB, Aligned, QD = 16 100100 95600 100000 101100 102000 96700 Random Read, 4KB, Aligned, QD = 32 126100 125400 124700 127500 128100 125200 Random Read, 4KB, Aligned, QD = 64 128000 128700 130300 128500 132300 131300 Random Read, 4KB, Aligned, QD = 128 130700 124800 129300 126800 132400 128600 Random Write, 8KB, Aligned, QD = 16 10100 10400 9900 7800 11100 15800 Random Write, 8KB, Aligned, QD = 32 10100 10400 9900 7800 11100 15800 Random Write, 8KB, Aligned, QD = 64 10100 10400 9700 7800 11200 15800 Random Write, 8KB, Aligned, QD = 128 10100 10400 10000 7800 11100 15600 Random 70% Read / 30% Write, 8KB, Aligned, QD = 16 23300 23600 24600 18400 25800 31000 Random 70% Read / 30% Write, 8KB, Aligned, QD = 32 23700 24000 24400 18700 26100 32700 Random 70% Read / 30% Write, 8KB, Aligned, QD = 64 24000 24200 24000 18800 26200 32800 Random 70% Read / 30% Write, 8KB, Aligned, QD = 128 23900 24100 24600 18900 26200 32800 Random Read, 8KB, Aligned, QD = 16 81700 79200 81200 81000 83300 80200 Random Read, 8KB, Aligned, QD = 32 101500 102500 101500 101200 102600 105000 Access Type Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 61 Random Read, 8KB, Aligned, QD = 64 96500 96500 96700 94700 98400 97800 Random Read, 8KB, Aligned, QD = 128 95200 94400 98000 95600 98800 99500 Random Write, 64KB, Aligned, QD = 16 1280 1320 1240 980 1400 1980 Random Write, 64KB, Aligned, QD = 32 1260 1300 1220 980 1400 1980 Random Write, 64KB, Aligned, QD = 64 1280 1300 1260 980 1420 2000 Random Write, 64KB, Aligned, QD = 128 1280 1300 1240 980 1400 2000 Random 50% Read / 50% Write, 64KB, Aligned, QD = 32 2140 2160 2200 1660 2360 3180 Random 50% Read / 50% Write, 64KB, Aligned, QD = 128 2180 2220 2240 1680 2400 3200 Random 70% Read / 30% Write, 64KB, Aligned, QD = 16 3140 3120 3240 2420 3420 4360 Random 70% Read / 30% Write, 64KB, Aligned, QD = 32 3120 3140 3240 2440 3440 4380 Random 70% Read / 30% Write, 64KB, Aligned, QD = 64 3140 3160 3260 2460 3440 4380 Random 70% Read / 30% Write, 64KB, Aligned, QD = 128 3140 3120 3260 2440 3420 4380 Random Read, 64KB, Aligned, QD = 16 15040 14240 14880 14800 15320 15120 Random Read, 64KB, Aligned, QD = 32 14860 14820 14960 14280 14680 14440 Random Read, 64KB, Aligned, QD = 64 15060 14600 14520 14540 15040 14940 Random Read, 64KB, Aligned, QD = 128 14800 14440 14780 14440 15320 15020 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 62 Table 25: 12Gbps Dual Port 11W Mode, HE HE * QD is QD at the Drive 100G 200G 400G 800G Access Type Mbps Mbps Mbps Mbps Sequential Write 128KB, Aligned, QD=32 410 665 800 710 Sequential Read 128KB, Aligned, QD=32 1105 1130 1160 1190 Sequential Write 4KB, Aligned, QD=32 390 590 625 605 Sequential Read 4KB, Aligned, QD=32 495 495 500 495 Sequential Write 0.5KB, Aligned, QD=32 62 64 66 64 Sequential Read 0.5KB, Aligned, QD=32 60 60 60 60 IOps IOps IOps IOps Random Write, 4KB, Aligned, QD = 16 65700 98400 111900 108400 Random Write, 4KB, Aligned, QD = 32 65200 97400 111400 107900 Random Write, 4KB, Aligned, QD = 64 65100 97200 111600 107800 Random Write, 4KB, Aligned, QD = 128 65000 97000 111300 107600 Random 70% Read / 30% Write, 4KB, Aligned, QD = 16 54500 71400 84700 79300 Random 70% Read / 30% Write, 4KB, Aligned, QD = 32 74900 96000 109900 104300 Random 70% Read / 30% Write, 4KB, Aligned, QD = 64 83500 100100 111600 106600 Random 70% Read / 30% Write, 4KB, Aligned, QD = 128 82800 98900 109900 104700 Random Read, 4KB, Aligned, QD = 16 98200 100800 101100 97800 Random Read, 4KB, Aligned, QD = 32 123000 124400 123900 120800 Random Read, 4KB, Aligned, QD = 64 126200 130200 130400 128700 Random Read, 4KB, Aligned, QD = 128 124200 127700 131500 126000 Random Write, 8KB, Aligned, QD = 16 32900 51000 61700 57900 Random Write, 8KB, Aligned, QD = 32 33000 50900 61500 57900 Random Write, 8KB, Aligned, QD = 64 33100 50900 61600 57900 Random Write, 8KB, Aligned, QD = 128 33000 50900 61300 57800 Random 70% Read / 30% Write, 8KB, Aligned, QD = 16 37800 50800 61400 57500 Random 70% Read / 30% Write, 8KB, Aligned, QD = 32 47200 61300 72800 68400 Random 70% Read / 30% Write, 8KB, Aligned, QD = 64 50900 64700 75600 71300 Random 70% Read / 30% Write, 8KB, Aligned, QD = 128 50900 64400 74700 71200 Random Read, 8KB, Aligned, QD = 16 80300 82900 83300 78800 Random Read, 8KB, Aligned, QD = 32 104100 106400 106700 103400 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 63 Random Read, 8KB, Aligned, QD = 64 103800 105800 106500 106200 Random Read, 8KB, Aligned, QD = 128 103000 104500 105700 104300 Random Write, 64KB, Aligned, QD = 16 4220 6580 8180 7560 Random Write, 64KB, Aligned, QD = 32 4200 6600 8180 7560 Random Write, 64KB, Aligned, QD = 64 4220 6580 8180 7580 Random Write, 64KB, Aligned, QD = 128 4220 6600 8200 7580 Random 50% Read / 50% Write, 64KB, Aligned, QD = 32 5760 7980 9840 9340 Random 50% Read / 50% Write, 64KB, Aligned, QD = 128 5780 8000 9860 9360 Random 70% Read / 30% Write, 64KB, Aligned, QD = 16 6860 9160 11080 10480 Random 70% Read / 30% Write, 64KB, Aligned, QD = 32 6880 9200 11080 10480 Random 70% Read / 30% Write, 64KB, Aligned, QD = 64 6900 9220 11080 10520 Random 70% Read / 30% Write, 64KB, Aligned, QD = 128 6880 9220 11120 10500 Random Read, 64KB, Aligned, QD = 16 15480 16160 16520 16220 Random Read, 64KB, Aligned, QD = 32 15780 16680 16820 16500 Random Read, 64KB, Aligned, QD = 64 15720 16680 16840 16420 Random Read, 64KB, Aligned, QD = 128 15840 16480 16700 16440 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 64 Table 26: 12Gbps Dual Port 11W Mode, ME ME * QD is QD at the Drive 200G 400G 800G 1600G Access Type Mbps Mbps Mbps Mbps Sequential Write 128KB, Aligned, QD=32 520 750 660 735 Sequential Read 128KB, Aligned, QD=32 1135 1175 1165 1150 Sequential Write 4KB, Aligned, QD=32 485 615 580 620 Sequential Read 4KB, Aligned, QD=32 500 500 495 490 Sequential Write 0.5KB, Aligned, QD=32 64 66 66 66 Sequential Read 0.5KB, Aligned, QD=32 62 60 60 60 IOps IOps IOps IOps Random Write, 4KB, Aligned, QD = 16 50800 65900 68600 73300 Random Write, 4KB, Aligned, QD = 32 50400 65100 68800 72900 Random Write, 4KB, Aligned, QD = 64 50200 64700 68500 72200 Random Write, 4KB, Aligned, QD = 128 50200 64500 68300 71900 Random 70% Read / 30% Write, 4KB, Aligned, QD = 16 51900 65600 64000 75100 Random 70% Read / 30% Write, 4KB, Aligned, QD = 32 67700 82100 81300 92000 Random 70% Read / 30% Write, 4KB, Aligned, QD = 64 71400 85500 85400 93700 Random 70% Read / 30% Write, 4KB, Aligned, QD = 128 70600 84500 84600 92400 Random Read, 4KB, Aligned, QD = 16 96900 100900 97300 97400 Random Read, 4KB, Aligned, QD = 32 123500 123700 121500 120800 Random Read, 4KB, Aligned, QD = 64 128800 130300 129100 129600 Random Read, 4KB, Aligned, QD = 128 126000 130800 125700 127800 Random Write, 8KB, Aligned, QD = 16 25300 33700 35300 38200 Random Write, 8KB, Aligned, QD = 32 25300 33600 35200 38200 Random Write, 8KB, Aligned, QD = 64 25300 33700 35200 38100 Random Write, 8KB, Aligned, QD = 128 25300 33500 35200 38000 Random 70% Read / 30% Write, 8KB, Aligned, QD = 16 35500 45100 44500 53000 Random 70% Read / 30% Write, 8KB, Aligned, QD = 32 40500 50900 51200 58200 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 65 Random 70% Read / 30% Write, 8KB, Aligned, QD = 64 42200 51900 53100 58900 Random 70% Read / 30% Write, 8KB, Aligned, QD = 128 42100 51800 53000 58900 Random Read, 8KB, Aligned, QD = 16 80600 82100 80600 79700 Random Read, 8KB, Aligned, QD = 32 103200 105500 103800 103300 Random Read, 8KB, Aligned, QD = 64 102900 103900 103400 101800 Random Read, 8KB, Aligned, QD = 128 101000 104300 100000 100100 Random Write, 64KB, Aligned, QD = 16 3220 4280 4460 4960 Random Write, 64KB, Aligned, QD = 32 3200 4300 4460 5000 Random Write, 64KB, Aligned, QD = 64 3220 4300 4460 4960 Random Write, 64KB, Aligned, QD = 128 3200 4280 4460 4960 Random 50% Read / 50% Write, 64KB, Aligned, QD = 32 4480 5760 5980 6960 Random 50% Read / 50% Write, 64KB, Aligned, QD = 128 4500 5780 6000 6920 Random 70% Read / 30% Write, 64KB, Aligned, QD = 16 5700 7180 7360 8540 Random 70% Read / 30% Write, 64KB, Aligned, QD = 32 5740 7200 7380 8540 Random 70% Read / 30% Write, 64KB, Aligned, QD = 64 5740 7240 7400 8560 Random 70% Read / 30% Write, 64KB, Aligned, QD = 128 5760 7240 7420 8580 Random Read, 64KB, Aligned, QD = 16 15720 16500 16460 15440 Random Read, 64KB, Aligned, QD = 32 15720 16680 16260 15520 Random Read, 64KB, Aligned, QD = 64 15740 16380 15880 15800 Random Read, 64KB, Aligned, QD = 128 15620 16740 15820 15460 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 66 Table 27: 12Gbps Dual Port 11W Mode, RI and Soft RI RI Soft RI 400G 800G 1600G 250G 500G 1000G Mbps Mbps Mbps Mbps Mbps Mbps Sequential Write 128KB, Aligned, QD=32 705 645 725 520 755 660 Sequential Read 128KB, Aligned, QD=32 1145 1110 1175 1090 1175 1110 Sequential Write 4KB, Aligned, QD=32 610 570 615 485 615 580 Sequential Read 4KB, Aligned, QD=32 500 495 495 500 500 490 Sequential Write 0.5KB, Aligned, QD=32 66 64 66 64 66 68 Sequential Read 0.5KB, Aligned, QD=32 62 60 60 60 62 60 IOps IOps IOps IOps IOps IOps Random Write, 4KB, Aligned, QD = 16 20100 20700 19700 15600 22200 31500 Random Write, 4KB, Aligned, QD = 32 20100 20700 19700 15700 22100 31300 Random Write, 4KB, Aligned, QD = 64 20100 20700 19700 15600 22100 30900 Random Write, 4KB, Aligned, QD = 128 20100 20700 19600 15700 22200 31200 Random 70% Read / 30% Write, 4KB, Aligned, QD = 16 40900 40200 43200 32300 44600 49200 Random 70% Read / 30% Write, 4KB, Aligned, QD = 32 43700 44700 44900 35400 48100 57400 Random 70% Read / 30% Write, 4KB, Aligned, QD = 64 44500 45200 44700 35900 48300 59100 Random 70% Read / 30% Write, 4KB, Aligned, QD = 128 44100 44900 44000 35700 48000 58700 Random Read, 4KB, Aligned, QD = 16 100300 95200 95900 100000 100900 96300 Random Read, 4KB, Aligned, QD = 32 123300 121900 122200 123100 121300 122500 Random Read, 4KB, Aligned, QD = 64 127700 126400 128500 128700 129100 126900 Random Read, 4KB, Aligned, QD = 128 122000 120100 125900 122700 130800 124000 Random Write, 8KB, Aligned, QD = 16 10200 10500 9900 7900 11200 15800 Random Write, 8KB, Aligned, QD = 32 10100 10400 9900 7800 11200 15800 Random Write, 8KB, Aligned, QD = 64 10100 10500 9900 7800 11200 15800 Random Write, 8KB, Aligned, QD = 128 10200 10500 9900 7900 11200 15800 Random 70% Read / 30% Write, 8KB, Aligned, QD = 16 23200 23400 24200 18300 25800 30900 Random 70% Read / 30% Write, 8KB, Aligned, QD = 32 23800 24100 24200 18700 26100 32700 Random 70% Read / 30% Write, 8KB, Aligned, QD = 64 23900 24100 24300 18800 26100 32800 Random 70% Read / 30% Write, 8KB, Aligned, QD = 128 23800 24100 24200 18800 26100 32800 Access Type Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 67 Random Read, 8KB, Aligned, QD = 16 80800 78400 79700 78100 81500 80000 Random Read, 8KB, Aligned, QD = 32 98100 97300 98900 98500 99300 99700 Random Read, 8KB, Aligned, QD = 64 96400 95300 96300 94900 96400 98700 Random Read, 8KB, Aligned, QD = 128 96000 94800 94800 92400 97600 98200 Random Write, 64KB, Aligned, QD = 16 1280 1300 1240 980 1400 2000 Random Write, 64KB, Aligned, QD = 32 1280 1300 1260 980 1400 2000 Random Write, 64KB, Aligned, QD = 64 1260 1320 1240 980 1400 2000 Random Write, 64KB, Aligned, QD = 128 1280 1320 1240 980 1400 2000 Random 50% Read / 50% Write, 64KB, Aligned, QD = 32 2140 2160 2180 1640 2340 3160 Random 50% Read / 50% Write, 64KB, Aligned, QD = 128 2160 2180 2200 1680 2360 3160 Random 70% Read / 30% Write, 64KB, Aligned, QD = 16 3100 3100 3220 2420 3380 4340 Random 70% Read / 30% Write, 64KB, Aligned, QD = 32 3100 3120 3220 2420 3420 4340 Random 70% Read / 30% Write, 64KB, Aligned, QD = 64 3100 3120 3240 2420 3400 4340 Random 70% Read / 30% Write, 64KB, Aligned, QD = 128 3100 3100 3220 2420 3400 4360 Random Read, 64KB, Aligned, QD = 16 16540 15400 16400 15680 16580 15700 Random Read, 64KB, Aligned, QD = 32 15640 15600 15620 15560 16420 15960 Random Read, 64KB, Aligned, QD = 64 16180 15960 15620 15220 16800 16220 Random Read, 64KB, Aligned, QD = 128 15700 15160 15920 15680 15960 15580 Notes: 1. Drive performance varies with model capacity and actual drive use. 2. For this table, ‘1 MB / Sec’ should be interpreted as 1024 x 1024 Bytes per Second. 3. Ongoing FW improvement may slightly change the performance. 4.5.5 Random Writes Over the Life of the Drive Model / Worst Case (PB) 1600GB 800GB 400GB 200GB 100GB N/A 36.5PB 18.3PB 9.1PB 4.55PB Mainstream Endurance (ME) 29.2PB 14.6PB 7.3PB 3.65PB N/A Read Intensive (RI) 5.84PB 2.92PB 1.46PB N/A N/A High Endurance (HE) Note: Lifetime Petabytes for 4K-aligned. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 68 5 Data Integrity The SSD employs a failsafe write cache that insures customer data is committed to the media in the event of a power loss. This failsafe 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: 5.2 SMART error is detected. 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 69 6 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 8680. 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 Figure 1: Connector Pinout Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 70 Table 28: 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 Vendor Spec NOT USED (Pins P1-P2 tied internally) P2 Vendor Spec NOT USED (Pins P1-P2 tied internally) P3 POWER DISABLE Power Disable P4 GND GROUND P5 GND GROUND P6 GND GROUND P7 +5V-Charge Pre-charge pin for +5V P8 +5V +5V power supply input P9 +5V +5V power supply input P10 GND GROUND P11 READY LED READY LED output P12 GND GROUND P13 +12V=Charge Pre-charge pin for +12V P14 +12V +12V power supply input P15 +12V +12V power supply input Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 71 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 72 7 Environment 7.1 Temperature and Humidity Table 29: Operating and Non-Operating Conditions Operating Conditions Case Temperature 0°C to 70ºC (drive reported) See Section 7.3. 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 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 73 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 sealed ESD bag before initial power-on must not exceed one year. 7.3 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 30: Maximum Allowable Surface Temperatures Module Name Location Maximum Allowable Surface Temperature SSD Base As noted in the following figure. 70ºC Figure 2: Location of Enclosure Temperature Measurement Notes: 1. 2. 3. The case temperature measurement device (i.e., thermocouple, thermistor, etc.) should be placed on the bottom of the enclosure nearest the ASIC (approximate location noted by the 6.3 x 6.3 square in the above picture), allowing for a measurement of the hottest point on the enclosure. All dimensions are in millimeters (mm). Image is not to scale. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 74 8 DC Power Requirements The following voltage specification applies to the drive power connector. Connections to the drive should be made using 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 31: Input Voltage and Capacitance Supply Tolerance Absolute Max. Spike Voltage Supply Rise Time Capacitance 5V +10%/- 7% 5.5V 0-200ms 47µF 12V +10%/- 7% 15V 0-400ms 47µF 8.1 Power Supply Current, Average and Peak The following current and power requirements are typical when operating under normal 5V and 12V conditions. Table 32: HE Models; Power Supply Current, Average and Peak (100GB, 200GB, 400GB, 800GB) Test Condition: 12Gbps SAS Dual Port HE Capacity: 100GB Power Mode: 11Watt 200GB 9Watt 11Watt 400GB 9Watt 11Watt 800GB 9Watt 11Watt 9Watt 12V Startup (max A) 0.41 0.67 0.79 0.85 5V Startup (max A) 0.90 0.94 1.14 1.08 12V Active Idle (mean A) 0.03 0.03 0.03 0.03 12V Active Idle (max A) 0.25 0.28 0.20 0.35 5V Active Idle (mean A) 0.37 0.38 0.39 0.37 5V Active Idle (max A) 0.82 0.82 0.83 1.04 Power Active Idle (mean W) 2.2 2.3 2.3 2.3 12V Ran70%R30%W 4K QD32) (mean A) 0.12 0.12 0.14 0.14 0.18 0.18 0.20 0.20 12V Ran70%R30%W (4K QD32) (max A) 0.31 0.30 0.40 0.41 0.68 0.66 0.83 0.74 5V Ran70%R30%W (4K QD32) (mean A) 0.57 0.57 0.63 0.63 0.69 0.69 0.67 0.67 5V Ran70%R30%W (4K QD32) (max A) 0.87 0.88 0.94 0.94 1.14 1.10 1.09 1.08 Power Ran70%R30%W (4K QD32) (mean W) 4.3 4.3 4.8 4.8 5.5 5.5 5.7 5.7 90000 90000 110000 110000 120000 120000 110000 110000 0.22 0.22 0.24 0.24 0.31 0.31 0.36 0.37 Perf Ran70%R30%W (4K QD32) (IOPS) 12V Ran W (4K QD32) (mean A) Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 75 Test Condition: 12Gbps SAS Dual Port HE Capacity: 100GB Power Mode: 200GB 400GB 800GB 11Watt 9Watt 11Watt 9Watt 11Watt 9Watt 11Watt 9Watt 12V Ran W (4K QD32) (max A) 0.38 0.38 0.53 0.55 0.78 0.70 0.88 0.79 5V Ran W (4K QD32) (mean A) 0.58 0.58 0.61 0.61 0.69 0.70 0.67 0.67 5V Ran W (4K QD32) (max A) 0.91 0.90 0.95 0.92 1.18 1.24 1.15 1.16 Power Ran W (4K QD32) (mean W) 5.5 5.5 5.9 5.9 7.2 7.2 7.7 7.7 90000 90000 100000 100000 100000 100000 90000 90000 12V Ran R (4K QD32) (mean A) 0.10 0.10 0.10 0.10 0.12 0.12 0.13 0.13 12V Ran R (4K QD32) (max A) 0.20 0.20 0.20 0.30 0.24 0.25 0.28 0.29 5V Ran R (4K QD32) (mean A) 0.61 0.61 0.65 0.65 0.69 0.69 0.68 0.68 5V Ran R (4K QD32) (max A) 0.88 0.87 0.92 0.91 1.07 1.08 1.07 1.06 Power Ran R (4K QD32) (mean W) 4.3 4.3 4.4 4.4 4.9 4.9 4.9 4.9 130000 130000 130000 130000 130000 130000 130000 130000 12V Seq W (256K QD32) (mean A) 0.25 0.25 0.39 0.38 0.50 0.41 0.56 0.45 12V Seq W (256K QD32) (max A) 0.39 0.40 0.67 0.66 0.88 0.63 0.97 0.70 5V Seq W (256K QD32) (mean A) 0.54 0.54 0.64 0.64 0.75 0.70 0.71 0.66 5V Seq W (256K QD32) (max A) 0.91 0.91 1.01 1.01 1.24 1.27 1.23 1.22 Power Seq W (256K QD32) (mean W) 5.7 5.7 7.8 7.8 9.8 8.4 10.2 8.6 Perf Seq W (256K QD32) (MB/s) 410 410 660 650 810 670 720 580 12V Seq R (256K QD32) (mean A) 0.09 0.09 0.09 0.09 0.11 0.11 0.12 0.12 12V Seq R (256K QD32) (max A) 0.20 0.21 0.18 0.23 0.23 0.23 0.25 0.25 5V Seq R (256K QD32) (mean A) 0.65 0.65 0.69 0.69 0.78 0.78 0.75 0.75 5V Seq R (256K QD32) (max A) 0.85 0.85 0.90 0.91 1.12 1.10 1.05 1.04 Power Seq R (256K QD32) (mean W) 4.4 4.4 4.6 4.5 5.3 5.3 5.2 5.2 1010 1010 1020 980 1020 1020 1020 1020 Perf Ran W (4K QD32) (IOPS) Perf Ran R (4K QD32) (IOPS) Perf Seq R (256K QD32) (MB/s) Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 76 Table 33: ME Models; Power Supply Current, Average and Peak (200GB, 400GB, 800GB, 1.6TB) Test Condition: 12Gbps SAS Dual Port Capacity: ME 200GB Power Mode: 11Watt 9Watt 400GB 11Watt 9Watt 800GB 11Watt 9Watt 1.6TB 11Watt 9Watt 12V Startup (max A) 0.54 0.7555 0.861825 0.815 5V Startup (max A) 0.9405 1.0385 1.0605 1.1265 12V Active Idle (mean A) 0.0315 0.03 0.0345 0.038 12V Active Idle (max A) 0.181142 0.09075 0.31534 0.318925 5V Active Idle (mean A) 0.372 0.363 0.357 0.37 5V Active Idle (max A) 0.71945 0.58455 0.93575 1.0877 2.238 2.175 2.199 2.306 Power active idle (mean W) 12V Ran70%R30%W (4K QD32) (mean A) 0.1345 0.1395 0.173 0.173 0.1915 0.191 0.2295 0.1815 12V Ran70%R30%W (4K QD32) (max A) 0.327525 0.34659 0.561165 0.565115 0.6748 0.66192 0.83012 0.598535 5V Ran70%R30%W (4K QD32) (mean A) 0.6115 0.609 0.654 0.6545 0.6175 0.617 0.682 0.638 5V Ran70%R30%W (4K QD32) (max A) 0.87675 0.8865 1.0525 1.1004 1.03095 1.0213 1.16 1.07575 Power Ran70%R30%W (4K QD32) (mean W) 4.6715 4.719 5.346 5.3485 5.3855 5.377 6.164 5.368 Perf Ran70%R30%W (4K QD32) (IOPS) 90000 80000 90000 90000 90000 90000 100000 100000 12V Ran W (4K QD32) (mean A) 0.264 0.2525 0.337 0.3345 0.3845 0.381 0.4545 0.357 12V Ran W (4K QD32) (max A) 0.464545 0.47099 0.743 0.70081 0.882935 0.81257 0.923155 0.748855 5V Ran W (4K QD32) (mean A) 0.619 0.6205 0.7095 0.709 0.6625 0.662 0.742 0.688 5V Ran W (4K QD32) (max A) 0.8928 0.9021 1.1281 1.11975 1.0807 1.1022 1.21985 1.10765 Power Ran W (4K QD32) (mean W) 6.263 6.1325 7.5915 7.559 7.9265 7.882 9.164 7.724 Perf Ran W (4K QD32) (IOPS) 70000 70000 70000 70000 70000 70000 70000 70000 12V Ran R (4K QD32) (mean A) 0.097 0.098 0.1065 0.1045 0.1175 0.118 0.1375 0.1115 12V Ran R (4K QD32) (max A) 0.18226 0.23476 0.375855 0.25101 0.268555 0.337375 0.386825 0.307435 5V Ran R (4K QD32) (mean A) 0.647 0.647 0.6735 0.6675 0.6445 0.645 0.691 0.6605 5V Ran R (4K QD32) (max A) 0.8448 0.8526 1.0173 1.0111 0.98065 0.98895 1.11775 1.01495 Power Ran R (4K QD32) (mean W) 4.399 4.411 4.6455 4.5915 4.6325 4.641 5.105 4.6405 130000 130000 130000 130000 130000 130000 130000 130000 Perf Ran R (4K QD32) (IOPS) Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 77 Test Condition: 12Gbps SAS Dual Port Capacity: ME 200GB Power Mode: 400GB 800GB 1.6TB 11Watt 9Watt 11Watt 9Watt 11Watt 9Watt 11Watt 9Watt 12V Seq W (256K QD32) (mean A) 0.311 0.306 0.4645 0.43 0.5135 0.433 0.5555 0.429 12V Seq W (256K QD32) (max A) 0.491705 0.494 0.869225 0.71651 0.9639 0.738815 0.94665 0.72574 5V Seq W (256K QD32) (mean A) 0.6015 0.602 0.7185 0.7015 0.6595 0.6265 0.7085 0.666 5V Seq W (256K QD32) (max A) 0.9528 0.95595 1.2149 1.2013 1.219 1.1481 1.3119 1.1871 Power Seq W (256K QD32) (mean W) 6.7395 6.682 9.1665 8.6675 9.4595 8.3285 10.2085 8.478 Perf Seq W (256K QD32) (MB/s) 530 520 760 700 670 570 720 560 12V Seq R(256K QD32) (mean A) 0.0925 0.0915 0.101 0.1015 0.1075 0.1075 0.1245 0.1035 12V Seq R (256K QD32) (max A) 0.192935 0.30978 0.202355 0.36678 0.23244 0.234745 0.254135 0.21232 5V Seq R (256K QD32) (mean A) 0.686 0.6715 0.7425 0.7315 0.708 0.707 0.779 0.7265 5V Seq R (256K QD32) (max A) 0.8584 0.8803 1.0067 1.04615 0.9867 0.97495 1.11415 0.9928 Power Seq R (256K QD32) (mean W) 4.54 4.4555 4.9245 4.8755 4.83 4.825 5.389 4.8745 Perf Seq R (256K QD32) (MB/s) 1010 920 1020 960 1020 1020 1020 1020 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 78 Table 34: RI Models; Power Supply Current, Average and Peak (250GB, 400GB, 500GB) Test Condition: 12Gbps SAS Dual Port RI Capacity: 250GB Power Mode: 11Watt 400GB 9Watt 11Watt 500GB 9Watt 11Watt 9Watt 12V Startup (max A) 0.54 0.78 0.77 5V Startup (max A) 0.83 1.02 1.17 12V Active Idle (mean A) 0.04 0.03 0.03 12V Active Idle (max A) 0.08 0.27 0.16 5V Active Idle (mean A) 0.35 0.37 0.37 5V Active Idle (max A) 0.56 0.89 0.84 Power active idle (mean W) 2.2 2.2 2.2 12V Ran70%R30%W (4K QD32) (mean A) 0.15 0.15 0.20 0.20 0.19 0.19 12V Ran70%R30%W (4K QD32) (max A) 0.37 0.38 0.59 0.59 0.60 0.61 5V Ran70%R30%W (4K QD32) (mean A) 0.57 0.58 0.62 0.62 0.65 0.65 5V Ran70%R30%W (4K QD32) (max A) 0.84 0.85 0.97 0.99 1.07 1.06 Power Ran70%R30%W (4K QD32) (mean W) 4.7 4.6 5.5 5.5 5.6 5.6 80000 80000 60000 60000 80000 80000 12V Ran W (4K QD32) (mean A) 0.25 0.25 0.29 0.29 0.32 0.32 12V Ran W (4K QD32) (max A) 0.46 0.47 0.68 0.67 0.75 0.71 5V Ran W (4K QD32) (mean A) 0.57 0.58 0.63 0.63 0.69 0.69 5V Ran W (4K QD32) (max A) 0.85 0.89 0.98 0.99 1.11 1.12 Power Ran W (4K QD32) (mean W) 5.8 5.9 6.6 6.6 7.3 7.3 30000 40000 20000 30000 50000 50000 12V Ran R (4K QD32) (mean A) 0.10 0.10 0.10 0.10 0.11 0.11 12V Ran R (4K QD32) (max A) 0.24 0.24 0.27 0.29 0.49 0.45 5V Ran R (4K QD32) (mean A) 0.61 0.61 0.64 0.64 0.66 0.66 5V Ran R (4K QD32) (max A) 0.81 0.82 0.94 0.94 1.01 1.02 Power Ran R (4K QD32) (mean W) 4.2 4.2 4.4 4.4 4.6 4.6 120000 120000 130000 130000 130000 130000 Perf Ran70%R30%W (4K QD32) (IOPS) Perf Ran W (4K QD32) (IOPS) Perf Ran R (4K QD32) (IOPS) Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 79 Test Condition: 12Gbps SAS Dual Port RI Capacity: 250GB Power Mode: 400GB 500GB 11Watt 9Watt 11Watt 9Watt 11Watt 9Watt 12V Seq W (256K QD32) (mean A) 0.31 0.31 0.42 0.41 0.46 0.42 12V Seq W (256K QD32) (max A) 0.50 0.49 0.78 0.74 0.87 0.70 5V Seq W (256K QD32) (mean A) 0.57 0.57 0.65 0.65 0.72 0.70 5V Seq W (256K QD32) (max A) 0.91 0.92 1.05 1.04 1.23 1.23 Power Seq W (256K QD32) (mean W) 6.6 6.5 8.2 8.2 9.1 8.6 Perf Seq W (256K QD32) (MB/s) 530 520 710 690 780 720 12V Seq R (256K QD32) (mean A) 0.09 0.09 0.10 0.09 0.10 0.10 12V Seq R (256K QD32) (max A) 0.28 0.24 0.21 0.35 0.24 0.30 5V Seq R (256K QD32) (mean A) 0.64 0.64 0.69 0.67 0.73 0.73 5V Seq R (256K QD32) (max A) 0.85 0.87 0.90 0.97 1.02 1.04 Power Seq R (256K QD32) (mean W) 4.3 4.3 4.6 4.5 4.9 4.8 Perf Seq R (256K QD32) (MB/s) 950 960 1010 910 1000 970 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 80 Table 35: RI Models; Power Supply Current, Average and Peak (800GB, 1.0TB, 1.6TB) Test Condition: 12Gbps SAS Dual Port RI Capacity: 800GB Power Mode: 11Watt 1TB 9Watt 11Watt 1.6TB 9Watt 11Watt 9Watt 12V Startup (max A) 0.87 0.84 0.83 5V Startup (max A) 1.01 1.07 1.25 12V Active Idle (mean A) 0.03 0.03 0.03 12V Active Idle (max A) 0.30 0.30 0.57 5V Active Idle (mean A) 0.38 0.38 0.38 5V Active Idle (max A) 0.78 0.99 1.09 Power active idle (mean W) 2.3 2.3 2.3 12V Ran70%R30%W (4K QD32) (mean A) 0.23 0.23 0.23 0.24 0.31 0.30 12V Ran70%R30%W (4K QD32) (max A) 0.68 0.70 0.78 0.72 0.88 0.81 5V Ran70%R30%W (4K QD32) (mean A) 0.62 0.62 0.66 0.66 0.69 0.69 5V Ran70%R30%W (4K QD32) (max A) 0.93 0.94 1.06 1.07 1.19 1.18 Power Ran70%R30%W (4K QD32) (mean W) 5.9 5.8 6.0 6.1 7.1 7.1 50000 50000 60000 60000 50000 50000 12V Ran W (4K QD32) (mean A) 0.32 0.32 0.37 0.36 0.42 0.41 12V Ran W (4K QD32) (max A) 0.76 0.75 0.88 0.80 0.94 0.85 5V Ran W (4K QD32) (mean A) 0.62 0.63 0.69 0.69 0.72 0.72 5V Ran W (4K QD32) (max A) 0.95 0.95 1.11 1.11 1.20 1.22 Power Ran W (4K QD32) (mean W) 6.9 7.0 7.8 7.8 8.7 8.5 Perf Ran W w (4K QD32) (IOPS) 20000 20000 30000 40000 20000 20000 12V Ran R (4K QD32) (mean A) 0.11 0.11 0.12 0.12 0.14 0.14 12V Ran R (4K QD32) (max A) 0.46 0.37 0.31 0.45 0.38 0.48 5V Ran R (4K QD32) (mean A) 0.65 0.65 0.68 0.68 0.69 0.69 5V Ran R (4K QD32) (max A) 0.89 0.88 1.01 1.00 1.11 1.12 Power Ran R (4K QD32) (mean W) 4.5 4.5 4.8 4.8 5.1 5.2 120000 120000 130000 130000 130000 130000 Perf Ran70%R30%W (4K QD32) (IOPS) Perf Ran R (4K QD32) (IOPS) Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 81 Test Condition: 12Gbps SAS Dual Port RI Capacity: 800GB Power Mode: 1TB 1.6TB 11Watt 9Watt 11Watt 9Watt 11Watt 9Watt 12V Seq W (256K QD32) (mean A) 0.48 0.46 0.51 0.43 0.55 0.44 12V Seq W (256K QD32) (max A) 0.84 0.82 0.95 0.72 0.96 0.70 5V Seq W (256K QD32) (mean A) 0.64 0.63 0.70 0.66 0.70 0.66 5V Seq W w (256K QD32) (max A) 1.01 1.02 1.20 1.21 1.24 1.23 Power Seq W (256K QD32) (mean W) 8.9 8.6 9.6 8.5 10.2 8.6 Perf Seq W (256K QD32) (MB/s) 620 600 660 570 730 580 12V Seq R (256K QD32) (mean A) 0.10 0.10 0.11 0.11 0.13 0.13 12V Seq R (256K QD32) (max A) 0.33 0.28 0.29 0.39 0.31 0.41 5V Seq R (256K QD32) (mean A) 0.68 0.68 0.74 0.73 0.77 0.76 5V Seq R (256K QD32) (max A) 0.98 0.96 1.05 1.04 1.10 1.11 Power Seq R (256K QD32) (mean W) 4.6 4.6 5.0 4.9 5.4 5.3 Perf Seq R (256K QD32) (MB/s) 910 920 1000 970 1010 970 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 82 8.2 Ripple Voltage Table 36: Power Supply Generated Ripple at Drive Power Connector Maximum (mVpp) MHz +5V DC 250 0-10 +12V DC 250 0-10 A 12 volt ripple is generated by the drive during startup (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 performance of the drive, it 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 20mA. 8.3 Power Consumption Efficiency Index Table 37: Power Consumption Efficiency Index Power Consumption Efficiency Index-Idle Mode (W/GB) Power Consumption Efficiency Index -Idle Mode (W/GB) 8.4 800GB 400GB 200GB 1.6TB 800GB 400GB 200GB HE HE HE ME ME ME ME 0.0027 0.0056 0.0114 0.0014 0.0027 0.0055 0.0113 1.6TB 1.0TB 800GB 500GB 400GB 250GB RI RI RI RI RI RI 0.0014 0.0022 0.0027 0.0044 0.0054 0.0089 Power Slew Requirements during Power Loss Supply Voltage Fall Times during Power Loss: 5V Fall Time: 1ms to 5s for 5V input power dropping to 0V. 12V Fall Time: 1ms to 5s for 12V input power dropping 0V. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 83 9 Reliability 9.1 Data Reliability ECC - 42bit/1KB Codeword LBA seeded 32 bit CRC for ECC detection Probability of uncorrectable data error is 1 in 1x10^17 bits read 9.2 Data Retention The device, after being placed into service and until the end of its rated design life (as per Enterprise JESD218), the drive is designed to retain data for three months when powered off and stored at 40°C. 9.3 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 2Fh - SMART Status and Temperature Reading for tracking percentage of failure threshold for these parameters. Non-recoverable equipment errors indicate a defective drive. 9.4 MTBF (Mean Time Between Failure) The estimated MTBF for the SSD is 2M (Million) hours. The MTBF target is derived from a sample population and is estimated by statistical measurements and acceleration algorithms under nominal operating conditions. MTBF ratings are not intended to predict reliability for an individual drive. The MTBF does not constitute a warranty. 9.5 Preventive Maintenance No preventative maintenance is required. There are no parts, assemblies or subassemblies that can be repaired by the user. Unauthorized repairs to the SSD will void the warranty. 9.6 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 1Ch - Informational Exceptions Control” on page 158. The warning is issued as sense data (Sense Key 01h, Code 0Bh, Qual 01h). The drive temperature is reported in Log Sense Page 2Fh. See Log Sense Page 2Fh - SMART Status and Temperature Reading. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 84 10 Mechanical Specifications 10.1 Outline Figure 3: Enclosure Outline 10.2 Mechanical Dimensions Table 38: Physical Dimensions Dimension Value Height 15.00+0.00 / -0.50 Width 69.85±0.25 Length (Base) 100.45 Max. Length (Including Connector) 100.75 Max. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 85 10.3 Weights (Grams) Model Capacity Weight (Grams) 250GB 151 400GB 155 500GB 146 800GB 155 1000GB 149 1600GB 149 200GB 152 400GB 146 80GB 151 1600GB 149 100GB 153 200GB 154 400GB 146 800GB 149 RI ME HE Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 86 Figure 4: Mechanical Dimensions Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 87 10.4 Mounting Positions and Mounting Holes Figure 5: Mounting Positions and Mounting Holes Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 88 10.5 Interface Connector The interface conforms to the specification SFF-8223, 2.5-Inch Drive Form Factor with Serial Connector. Figure 6: Interface Connector 10.6 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 89 11 Acoustics, Vibration and Shock 11.1 Acoustics All SSD models have no acoustics, (0dB). 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: 2.17 G RMS, 5-700 Hz, flat PSD profile for each of the three mutually perpendicular axes. Note: 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 Vibration 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 at a duration of ten minutes per axis: 3.13 Grms, 5-800Hz, flat PSD profile. 11.3.2 Swept Sine Vibration The test consists of a swept sine vibration applied to each of the three mutually perpendicular axes: 3.13 Grms, 10-800 Hz Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 90 11.4 Operating Shock The drive will meet the following criteria while operating in the respective conditions as described below. No data loss: 1000G, @0.5ms duration, half sine wave shock pulse 500G, @ 2ms duration, half sine wave 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.4.1 Non-Operating Shock The drive will not sustain permanent damage or loss of data after being subjected to the environments as described in the following sections. 11.4.2 Half-Sine Wave Shock 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. 100 G, 11ms duration, half sine wave pulse 500 G, 2ms duration, half sine wave pulse 1000 G, 0.5ms duration, half sine wave pulse Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 91 12 Label Specification 12.1 Overview The following certification marks may appear on the labels that are affixed to every drive shipped from the manufacturing location in accordance with the appropriate drive assembly drawing. These labels may be integrated with other labels. 12.2 Manufacturer Identification A label with the “HGST, a Western Digital Company” logo, HGST model number and the statement “Made by HGST,” or HGST approved equivalent. 12.3 Product Identification The product label will consist of the following elements: A label having the drive model number, manufacturing date, formatted capacity, and country of origin or HGST approved equivalent. Certification Marks: BSMI, CE, CSA /cUL / US, EIP, FCC, KCC, RCM, TUV, UL, VCCI and WEEE. A bar code label symbolizing the drive serial number. As per agreement, a user designed label. Interface definition mark, SAS. BSMI (Taiwan) CE Mark (EU/EEA) CSA, cUL, US EIP (China RoHS) FCC Mark (USA) KCC (Korea) RCM (Australia) TUV VCCI (Japan) WEEE Directive SAS Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 92 13 Electromagnetic Compatibility The drive, when installed in a suitable enclosure and exercised with a random access 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 user’s 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. 13.1 Radiated and Conducted RF CISPR22:2009/Am1:2010 CNS 13438:2006 EN 55022:2010 FCC Title 47 Part 15 GB9254-2008 ICES-003, Issue 5, 2012 VCCI V-3/2013-04 KN 22:2013-3 (RRA Notice) KN 22:2013-24 (RRA Notice) 13.2 ITE Immunity EN 55024:2010 KN 24:2013-4 (RRA Notice) KN 24:2013-25 (RRA Notice) 13.3 (EU) (China) Voltage Fluctuations and Flicker EN 61000-3-3:2008 GB 17625.2 1999 13.5 (EU) (Korea) (Korea) Power Line Harmonic Emissions EN61000-3-2:2006 Am1:2009, Am2:2009 GB17625.1 2003 13.4 (Australia, New Zealand) (Taiwan) (EU) (USA) (China) (Canada) (Japan) (Korea) (Korea) (EU) (China) Immunity Specifications KN 61000-4-2:2013-06 KN 61000-4-3:2011-10 KN 61000-4-4:2011-10 KN 61000-4-5:2008-05 KN 61000-4-6:2013-06 KN 61000-4-8:2013-06 KN 61000-4-11:2008-05 Electrostatic Discharge (ESD) Immunity Radiated RF Immunity Electrical Fast Transient/Burst (EFT/B) Immunity Surge Immunity Conducted RF Immunity Power Frequency Magnetic Field Immunity Voltage Dips and Interruptions Immunity Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 93 13.6 Class B Regulatory Notices 13.6.1 European Union The product conforms 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. 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. 13.6.2 Canada This Class B digital apparatus complies with Canadian ICES-003. Cetappareilnumérique de la classe B est conforme à la norme NMB-003 du Canada. 13.6.3 Germany Deutschsprachiger EU Hinweis: HinweisfürGeräte der Klasse B EU-RichtliniezurElektromagnetischenVerträglichkeit Dieses Produktentspricht den Schutzanforderungen der EU-Richtlinie 2004/108/EC zurAngleichung der Rechtsvorschriftenüber die elektromagnetischeVerträglichkeit in den EU-Mitgliedsstaaten. undhält die Grenzwerte der EN 55022 Klasse B ein. Um dieses sicherzustellen, sind die Gerätewie in den Handbüchernbeschriebenzuinstallieren und zubetreiben. Des Weiterendürfenauchnur von der HGST empfohleneKabelangeschlossenwerden. HGST übernimmtkeineVerantwortungfür die Einhaltung der Schutzanforderungen, wenn das ProduktohneZustimmung der HGST verändertbzw. wennErweiterungskomponenten von FremdherstellernohneEmpfehlung der HGST gesteckt/eingebautwerden. Deutschland: Einhaltung des Gesetzesüber die elektromagnetischeVerträglichkeit von Geräten Dieses Produktentsprichtdem "Gesetzüber die elektromagnetischeVerträglichkeit von Geräten (EMVG)". Dies ist die Umsetzung der EU-Richtlinie 2004/108/EC in der Bundesrepublik Deutschland. ZulassungsbescheinigunglautdemDeutschenGesetzüber die elektromagneti-scheVerträglichkeit von Geräten (EMVG) vom 20 July 2007 (bzw. der EMC EG Richtlinie 2004/108/EC) fürGeräte der Klasse B Dieses Gerätistberechtigt, in ÜbereinstimmungmitdemDeutschen EMVG das EG-Konformitätszeichen - CE - zuführen. Verantwortlichfür die KonformitätserklärungnachParagraf 5 des EMVG ist die HGST, a Western Digital company, 3403 Yerba Buena Road, San Jose, California 95135. Informationen in Hinsicht EMVG Paragraf 4 Abs. (1) 4: Das Geräterfüllt die Schutzanforderungennach EN 55024 und EN 55022 Klasse B 13.6.4 Korea (KCC) 13.6.5 Taiwan (BSMI) Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 94 14 Standards The following sections outline 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 A11:2009, A1:2010, A12:2011 IEC 60950-1:2005, Second Edition; Am 1:2009 UL 60950-1, Second Edition, 2011-12-19, USA CSA C22.2 No. 60950-1-07, Second Edition, 2011-12, 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 A11:2009, A1:2010, A12:2011 safety standard for Europe. 14.3 German Safety Mark The product is certified by TUV to meet EN 60950-1:2006 with A11:2009, A1:2010, A12:2011 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-Inch SAS Connector Min. V-2 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 95 15 SAS Attachment This section defines some basic terminology and describes the behavior of the drive when attached to a SerialAttached SCSI (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. "SAS Protocol Layer - 2 (SPL-2)" In addition, this drive claims compliance with the following ANSI standards. SCSI Architecture Model (SAM-5) SCSI Block Commands (SBC-3) Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 96 15.2 SAS Features 15.2.1 Supported SAS Features The following SAS features are supported: SAS Compliance Serial Attached SCSI - 3 (SAS-3) SAS Protocol Serial SCSI Protocol (SSP) SAS Dual Ported Operation o Single PHY ports (i.e. Narrow port) or optional Wide Port at 6G. o Ports function independently with separate firmware controls. o Multiple DMA engines capable of accessing either port. o Maximum outstanding credit of four per port. Physical Link Rates o G2 (3.0 Gbps), G3 (6.0 Gbps), and G4 (12.0 Gbps) supported at Narrow Port o G2 (3.0 Gbps) and G3 (6.0 Gbps) supported at Wide Port. o Largely Automated OOB and speed negotiation sequences. o Optional Support for the hot-plug timeout in hardware. o Spread Spectrum Clocking Interface Power Management o Partial Supported o Slumber Supported Partial Support for Disconnect/Reconnect Mode Page 0x02 o Maximum Connect Time Limit is supported. o Maximum Burst Size is supported. Other o Connection Rate Matching o Hard Reset primitive sequence detection and validation in hardware. o Support for NOTIFY (Power Loss Expected). o NOTIFY (Enable Spin-up) is ignored. o Hashed WWN validation in hardware. o Extended CDB support. 15.2.2 Unsupported SAS Features The following SAS features are not supported: STP (Tunneled SATA) and SMP (Management Protocol) protocols (SAS Dual Ported Operation). Wide Port at 12G (Physical Link Rates). Bus Inactivity Time Limit (Partial Support for Disconnect/Reconnect Mode Page 0x02). First Burst Size (Partial Support for Disconnect/Reconnect Mode Page 0x02). Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 97 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 39: 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: BIT Byte 0 7 6 5 4 NAA (5h) 3 2 1 0 MSB of IEEE Company ID 1 IEEE Company ID 2 3 LSB of IEEE Company ID MSB of Vendor Specific Identifier 4 5 Vendor Specific Identifier 6 7 The SAS Device Name is a unique SAS address worldwide name. This device name is reported through the SCSI Vital Products Data. Each of the two SAS ports also has a unique SAS address worldwide name. These port identifiers are reported in the IDENTIFY Address frame and are used as source and destination addresses in the OPEN address frame. They are also reported through the SCSI Vital Products Data. Since this drive is one device with two ports it has three SAS addresses. All SAS Addresses are in 64-bit IEEE Registered Name format, as shown in the following table. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 98 Table 40: 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 Description Organizationally Unique Identifier (24 bits). Canonical form means that each byte is stored in “bit reversed” order. OUI Block Assignment Object S/N 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 99 15.4 PHY Layer The PHY Layer defines 8b10b encoding and OOB signals. The PHY Layer is the interface between the link layer and the physical layer. This section describes Phy Layer behaviors of the Drive. For a complete description of SAS Phy Layer, see the American National Standards Institute (ANSI) specification, SPL-2 on the web at Ansi.org. 15.4.1 Link Reset Sequence The Link Reset sequences for SAS are defined in the SPL-2 ANSI specification with a general overview shown below. As shown in the diagram, a Phy Reset sequence consists of an OOB sequence followed by speed negotiation. Link Reset sequences will always include a Phy Reset sequence followed by an Identification sequence. Inclusion of a Hard Reset sequence is optional. If Hard Reset is performed, it will be preceded by a Phy Reset sequence and followed by a Phy Reset sequence and an Identification sequence. Figure 7: Link Reset Sequence Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 100 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 SPL-2 specification for more details. The drive will initiate OOB by sending COMINITs, under the following conditions: POR Loss of sync Identify timeout Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 101 15.4.4 SAS Speed Negotiation The Drive supports G2 (3.0 Gbps), G3 (6.0 Gbps), and G4 (12.0 Gbps) negotiation speeds. The default maximum negotiation rate is G4 speed (per byte 32 in the Phy Control and Discover Mode Page 19 subpage 1). The drive is a SAS3 device and supports SNW-1, SNW-2, SNW-3 speed negotiation with Phy capabilities exchange, and both transmitter training (Train_Tx-SNW, at 12G only) and receiver training (Train_Rx-SNW or Train-SNW). The PHY capabilities of the drive are defined in table below: Bit Byte 7 6 5 Start TX SSC =(1b) Type=0 G1 G1 G2 G2 G3 G3 G4 G4 without without without without without with with with SSC=0b SSC=0b SSC=1b SSC=1b SSC=1b SSC=1b SSC=1b SCC=1b 0 1 2 3 4 3 Reserved 2 1 0 Requested Logical Link Rate = 0h Reserved Reserved Parity Start bit is set to 1 to indicate the beginning of the Phy capabilities TX SSC TYPE is set to 1 to indicate that Phy's transmitter uses center-spreading - SSC when SSC is enabled. A TX SSC TYPE bit is set to 0 to indicate that Phy's transmitter uses down-spreading SSC when SSC is enabled. Request Logical Link Rate Field is set to 0 to indicate that drive does not support multiplexing G1 Without SSC is set to 0 to indicate that drive does not support G1(1.5 Gbps) without SSC G2 Without SSC is set to 1 to indicate that drive supports G2(3.0 Gbps) without SSC G3 Without SSC is set to 1 to indicate that drive supports G3(6.0 Gbps) without SSC G4 Without SSC is set to 1 to indicate that drive supports G4(12.0 Gbps) without SSC G1 With SSC is bit set to 0 to indicate that drive does not support G1(1.5 Gbps) with SSC G2 With SSC is bit set to 1 to indicate that drive supports G2(3.0 Gbps) with SSC G3 With SSC is bit set to 1 to indicate that drive supports G3(6.0 Gbps) with SSC G4 With SSC is bit set to 1 to indicate that drive supports G4(12.0 Gbps) with SSC Parity is set to 1 for even parity of the total number of SNW-3 Phy capabilities, including Start bit. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 102 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. The following table defines the priority of the supported settings bits. Table 41: Supported Settings Bit Priorities 15.4.5 Priority Bit Highest G4 With SSC bit ... G4 Without SSC bit ... G3 With SSC bit ... G3 Without SSC bit ... G2 With SSC bit Lowest G2 Without SSC bit 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 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 103 15.4.6 Power Management This drive supports SAS Slumber Power Down and SAS Partial Power Down. More information on SAS Partial/Slumber Power Down can be found in SAS Protocol Layer 2 (SPL-2). Partial Capable - If enabled and supported by host, drive will request Partial after 500µs. Slumber Capable - If enabled and supported by host, drive will request Slumber after 1000ms. SAS Power Management Features can be enabled or disabled by the host via a Mode Select to Mode Page 0x19 subpage 0x3 (More information can be found at Mode Page 0x19 subpage 0x3, currently 16.10.12.5) 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 American National Standards Institute (ANSI) specification, SPL-2 on the web at Ansi.org. 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 42: Address Frame Format Bit Byte 7 6 0 RSVD 5 4 3 Device Type 2 0 Address Frame Type 1-27 Frame Type Dependent Bytes 28-31 CRC 1 The ADDRESS FRAME TYPE indicates the type of address frame and is defined in the following table. This field determines the definition of the frame type dependent bytes. Table 43: Frame Type Value Address Frame Type Description 0000b IDENTIFY: Identification Sequence 0001b OPEN: Connection Request Others Reserved Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 104 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 Identify Address Frame format is defined as follows: Table 44: Identify Address Frame Bit Byte 7 0 RSVD 6 5 4 3 Device Type = 1h 1 0 Address Frame Type = 0 1 Reserved Reason 2 Reserved SSP Initiator Port STP Initiator Port SMP Initiator Port RSVD 3 Reserved SSP Target Port STP Target Port SMP Target Port RSVD Inside ZPSDS Persistent Requested Inside ZPSDS Break_Reply Capable 4-11 Device Name 12-19 SAS Address 20 PHY Identifier RSVD 21 Power Capable Slumber Capable Partial Capable 22-27 Reserved 28-31 CRC 2 Device Type is set to 001b to indicate that this drive is an "End Device". Address Frame Type is set to 00b to indicate that this is an IDENTIFY. Reason indicates the reason for link reset sequence as defined in the following table Initiator Port bits is set to 000b since this device is a target device only Target Port bits is set to 100b since this device is a SSP target device only Device Name contains Target Device Identifier SAS ADDRESS contains the port identifier of the SAS port transmitting this frame. PHY Identifier contains the PHY identifier of the PHY transmitting this frame. Power Capable is set to 00b to indicate drive does not support device power modes Slumber Capable is set to 1b to indicate drive supports slumber power PHY mode Partial Capable is set to 1b to indicate PHY supports break power mode Inside ZPSDS Persistent is set to 0b since this is an "End Device" Requested Inside ZPSDS is set to 0b since this is an "End Device" Break_Reply Capable is set to 1b to indicate that this port is capable of sending BREAK_REPLY primitive sequence in responding of receiving BREAK primitive sequences Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 105 Table 45: 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 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 106 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: Bit Byte 7 0 Initiator Port=0 1 6 5 4 3 Protocol = 1 2 Features = 0 Connection Rate = 8h or 9h or Ah or Bh 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 0 Address Frame Type = 1 2-3 1 Initiator Port is set to zero when the Drive is the source port acting as a SAS target. Protocol is set to 001b to indicate SSP Protocol. Features is set to zero and ignored by the Drive per SPL-2. Connection Rate is set to 8h (1.5Gbps) or 9h (3Gbps) or Ah (6Gbps) or Bh (12Gbps), 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 contains the port identifier of the SAS port to which a connection is being requested. Source SAS Address contains the port identifier on the port that originated this frame (i.e. the drive’s port address). Source Zone Group is set to zero and ignored by the Drive per SPL-2. Pathway Blocked Count indicates the number of times the port has retried this connection request due to receiving OPEN_REJECT (PATHWAY BLOCKED). The Drive will not increment the PATHWAY BLOCKED COUNT value past FFh. Arbitration Wait Time indicates how long the port transmitting the OPEN address frame has been waiting for a connection request to be accepted. For values from 0000h to 7FFFh, the Arbitration Wait Time timer increments in one microsecond steps. For values from 8000h to FFFFh, the Arbitration Wait Time timer increments in one millisecond step. More Compatible Features is set to zero and ignored by the Drive per SPL-2. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 107 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 – Retrievable Variations OPEN_REJECT (RETRY) - Will be retried indefinitely by the drive. This case is considered to occur when the initiator is temporarily not available to accept connections. OPEN_REJECT (RATE_NOT_SUPPORTED) - If this occurs, it must mean that a link between the drive and initiator negotiated to a lower link rate after the command was received. The drive will retry the connection at a lower rate, and if a connection eventually fails for this reason at 1.5 Gbps, the command is internally aborted. OPEN REJECT(PATHWAY_BLOCKED)- Handled the same as OPEN_REJECT(RETRY) OPEN_REJECT(NO DESTINATION) - Handled the same as OPEN_REJECT(RETRY) Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 108 Error Error Handling Procedure OPEN_REJECT – Non-Retryable Variations - If these are received, the command is internally aborted by the drive. OPEN_REJECT (BAD_DESTINATION). OPEN_REJECT(WRONG_DESTINATION) OPEN REJECT(PROTOCOL_NOT_SUPPORTED) Credit Timeout If credit is not received before the credit timer expires, DONE (CREDIT_TIMEOUT) is sent to the Initiator. 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 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. OPEN Response Timeout 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 109 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 the American National Standards Institute (ANSI) specification, SPL-2 on the web at Ansi.org. The transport layer defines the frame format as follows. Table 46: SAS Frame Format Bit Byte 7 6 5 4 3 2 1 0 Retry Data Frames =0b Retransmit RSVD 0 Frame Type 1-3 Hashed Destination Address 4 Reserved 5-7 Hashed Source Address 8-9 Reserved 10 11 Reserved TLR Control = 00b Reserved Number 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 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 110 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 Hashed Destination SAS Address contains the hashed value of the destination SAS address. Hashed Source SAS Address contains the hashed value of the source SAS address. TLR Control is not supported. Retry Data Frames is not supported. Changing Data Pointer is not supported. Number of Fill Bytes indicates the number of fill bytes between the INFORMATION UNIT field and the CRC field. The Retransmit bit is set to one for RESPONSE frames when attempting to retransmit this frame due to receiving an error during the initial transmission. It shall be set to zero for all other frame types. The Number of Fill Bytes field shall be set to zero for all frame types except DATA frames. Tag contains a value that allows the SSP port to establish a context for commands and task management functions. Target Port Transfer Tag is set and used by the drive. The initiator should echo this field in outbound data IU. Information Unit contains the information unit, the format of which is defined by the FRAME TYPE field. Fill bytes shall be included after the INFORMATION UNIT field so the CRC field is aligned on a four byte boundary. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 111 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 47: COMMAND Information Unit Bit Byte 7 6 5 4 3 0-7 Logical Unit Number 8 Reserved 9 Disable First Burst=0 Reserved 10 Reserved 11 Additional CDB Length (DWords) CDB 28-n Additional CDB Bytes 1 0 Task Attribute 12-27 2 Reserved Logical Unit Number contains the address of the logical unit. The drive only supports a LUN of 0’s. Disable First Burst is not supported by the drive Task Attribute is defined as follows: Value Attribute 000b Simple_Q 001b Head_of_Q 010b Ordered_Q 100b ACA_Q (not supported) 101b Reserved Additional CDB Length contains the length in DWords (four bytes) of the ADDITIONAL CDB field. CDB and Additional CDB Bytes together contain the CDB. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 112 15.6.2 TASK Information Units Table 48: TASK Information Unit Bit Byte 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 Logical Unit Number contains the address of the logical unit. The drive only supports a LUN of 0’s. Task Management Function 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: Abort all tasks for all Initiators on either both ports. Release any device reservation on either port. Set a Unit Attention condition for all Initiators. 10h I_T NEXUS RESET: The I_T NEXUS RESET causes the Drive to abort all outstanding tasks for the Initiator that sent the TMF. In addition, a Unit Attention is set for the initiator that sent the TMF, indicating I_T NEXUS LOSS. This TMF does not affect task sets for other initiators. 40h CLEAR ACA (not supported) 80h QUERY TASK: The drive shall return a response of FUNCTION SUCCEEDED if the specified task exists, or FUNCTION COMPLETE if the specified task does not exist. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 113 Value Function 81h QUERY TASK SET: The drive shall return a response of FUNCTION SUCCEEDED if there is any task exist, or FUNCTION COMPLETE if there is no task exist. 82h QUERY ASYNCHRONOUS EVENT (formerly QUERY UNIT ATTENTION): The drive shall return a response of FUNCTION SUCCEEDED if there is a unit attention or a deferred error pending, or FUNCTION COMPLETE if there is no unit attention or no deferred error pending. others RESERVED: The Drive will return a RESPONSE frame with the DATAPRES field set to RESPONSE_DATA and its RESPONSE CODE field set to TASK MANAGEMENT FUNCTION NOT SUPPORTED. If TMF is set to ABORT TASK or QUERY TASK, Tag of Task to Be Managed 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 the following table. Table 49: Additional Response Information Argument for Query Async Event Bit Byte 0 7 6 Reserved 5 4 3 UADE Depth 1 Additional Sense Code 2 Additional Sense Code Qualifier 2 1 0 Sense Key UADE Depth is the number of pending unit attention conditions or deferred errors. Sense Key is the value of the SENSE KEY field in the highest-priority pending unit attention condition or deferred error. Additional Sense Code is the value of the ADDITIONAL SENSE CODE field in the highest-priority pending unit attention condition or deferred error. Additional Sense Code Qualifier is the value of the ADDITIONAL SENSE CODE QUALIFIER field in the highest-priority pending unit attention condition or deferred error. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 114 Table 50: 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 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 51: XFER_RDY Information Unit Bit Byte 7 6 5 4 3 0-3 Requested Offset 4-7 Write Data Length 8-11 Reserved 2 1 0 Requested Offset contains the buffer offset of the segment of write data the Initiator may transmit to the Drive (using DATA frames). The requested offset shall be a multiple of four. Write Data Length contains the number of bytes of write data the Initiator may transmit to the Drive (using DATA frames) from the requested offset. 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 52: DATA Information Unit Bit Byte 0-(n-1) 7 6 5 4 3 2 Data Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 115 1 0 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 53: Response Information Unit Bit Byte 7 6 5 4 3 0-7 Reserved 8-9 Retry Delay Timer 10 2 Reserved 0 DataPres 11 Status 12-15 Reserved 16-19 Sense Data Length (n bytes) 20-23 Response Data Length (m bytes) 24-(24+m) Response Data (24+m) (23+m+n) Sense Data 1 Retry Delay Timer contains the retry delay timer code which is defined as follows: Status Code Retry Delay Timer Code BUSY 0000h QUEUE FULL Description Same as normal busy. 0001h-FFEFh The number of 100 millisecond increments that the initiator should wait before sending another command to the drive. FFF0h-FFFDh Reserved FFEFh Initiator should stop sending commands to drive. FFFFh Drive is not able to accept the command. 0001h-FFEFh Initiator should wait before sending another command to the Drive until: a) At least the number of 100 millisecond increments indicated in the Retry Delay Timer Code field have elapsed; or b) A command addressed to the drive completes. FFF0h-FFFFh Reserved Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 116 Status Code Retry Delay Timer Code GOOD 0000h-FFFFh Reserved CHECK CONDITION 0000h-FFFFh Reserved CONDITION MET 0000h-FFFFh Reserved RESERVATION CONFLICT 0000h-FFFFh Reserved ACA ACTIVE 0000h-FFFFh Reserved TASK ABORT 0000h-FFFFh Reserved Description DataPres indicates the format and content of the STATUS field, SENSE DATA LENGTH field, RESPONSE DATA LENGTH field, RESPONSE DATA field, and SENSE DATA field. Value DataPres Description 00b NO DATA: no data present. 01b RESPONSE_DATA: response data present. 10b SENSE_DATA: sense data present. 11b Reserved Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 117 Table 54: RESPONSE DATA Bit 7 Byte 6 5 4 3 0-2 Reserved 3 Response Code 2 1 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 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 118 0 15.6.6 Sequences of SSP Information Units SSP Information Units are used with each other 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. Figure 8: SSP Information Unit Sequences Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 119 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. 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 120 16 SCSI Command Set A summary of the SCSI commands supported by the drives are listed below. O = Optional, M = Mandatory. Table 55: SCSI Commands Supported Type Code Description Page M 04h FORMAT UNIT 124 M 12h INQUIRY 129 O 4Ch LOG SELECT 155 O 4Dh LOG SENSE 158 O 15h MODE SELECT (6) 188 O 55h MODE SELECT (10) 189 O 1Ah MODE SENSE (6) 190 O 5Ah MODE SENSE (10) 223 O 5Eh PERSISTENT RESERVE IN 224 O 5Fh PERSISTENT RESERVE OUT 227 O 90h PRE-FETCH (16) 231 O 34h PRE-FETCH (10) 231 M 08h READ (6) 232 M 28h READ (10) 233 O A8h READ (12) 235 O 88h READ (16) 236 O 7Fh/09h READ (32) 237 O 3Ch READ BUFFER 238 M 25h READ CAPACITY (10) 245 O 9Eh/10h READ CAPACITY (16) 246 O 37h READ DEFECT DATA(10) 248 O B7h READ DEFECT DATA (12) 250 O 9Eh/11h READ LONG (16) 253 O 3Eh READ LONG (10) 252 O 07h REASSIGN BLOCKS 254 O 1Ch RECEIVE DIAGNOSTICS RESULTS 255 M 17h RELEASE (6) 256 O 57h RELEASE (10) 257 O A3h/05h REPORT DEVICE IDENTIFIER 258 O A0h REPORT LUNS 260 O A3h/0Ch REPORT SUPPORTED OPERATION CODES 261 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 121 O A3h/0Dh REPORT SUPPORTED TASK MANAGEMENT FUNCTIONS 268 M 03h REQUEST SENSE 270 M 16h RESERVE (16) 271 O 56h RESERVE (56) 272 O 01h REZERO UNIT 273 O 48h SANITIZE 274 O A2h SECURITY PROTCOL IN 275 O B5h SECURITY PROTCOL OUT 277 O 0Bh SEEK (6) 275 O 2Bh SEEK (10) 279 M 1Dh SEND DIAGNOSTIC 280 O A4h/06h SET DEVICE IDENTIFIER 286 O 1Bh START STOP UNIT 287 O 35h SYNCHRONIZE CACHE (10) 288 O 91h SYNCHRONIZE CACHE (16) 289 M 00h TEST UNIT READY 290 O 42h UNMAP 291 O 2Fh VERIFY (10) 294 O AFh VERIFY (12) 296 O 8Fh VERIFY (16) 296 O 7Fh/0Ah VERIFY (32) 297 M 0Ah WRITE (6) 298 M 2Ah WRITE (10) 299 O AAh WRITE (12) 301 O 8Ah WRITE (16) 301 O 7Fh/0Bh WRITE (32) 302 O 2Eh WRITE AND VERIFY (10) 303 O AEh WRITE AND VERIFY (12) 304 O 8Eh WRITE AND VERIFY (16) 304 O 7Fh/0Ch WRITE AND VERIFY (32) 305 O 3Bh WRITE BUFFER 306 O 3Fh WRITE LONG (10) 311 O 9Fh/11h WRITE LONG (16) 315 O 41h WRITE SAME (10) 316 O 93h WRITE SAME (16) 317 O 7Fh/0Dh WRITE SAME (32) 318 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 122 16.1 SCSI Control Byte The Control Byte is the last byte of every CDB, with the exception of 32-byte CDBs, where it is located at Byte 1. The format of this byte is shown below. Table 56: SCSI Control Byte BIT 7 6 5 4 VU = 0 Field 3 Reserved 2 1 0 FLAG LINK Description VU Vendor-Unique FLAG If LINK is zero (0), FLAG must also be zero (0). If LINK is one (1), FLAG may also be one (1). Typically this bit is used to cause an interrupt in the Initiator between linked commands. Note: The drive ignores the LINK bit and FLAG bit in the CDB. 16.2 Abbreviations The following abbreviations are used throughout the following sections: Abbreviation Description LUN Logical Unit Number. An encoded three bit identifier for the logical unit. VU Vendor Unique LBA Logical Block Address RSVD Reserved MSB Most Significant Byte LSB Least Significant Byte Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 123 16.3 FORMAT UNIT (04) FORMAT UNIT (04) will request that the device server format the medium into application client accessible logical blocks as specified in the number of blocks and block length values received in the last mode parameter block descriptor in a MODE SELECT command. The device server may certify the medium and create control structures for medium management and defects. The degree to which the medium is altered is vendor-specific. Table 57: FORMAT UNIT (04) Bit Byte 7 6 5 4 FMTPINFO LONG LIST FMTDATA CMPLIST 2 VU = - 3-4 Obsolete 5 Control Byte - Refer to Section 16.1. 2 1 0 Command code = 04h 0 1 3 Defect List Format 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). LONGLIST is set to one to specify that the long parameter list header is to be used, or set to zero to specify that the short parameter list header is to be used. FMTDATA is set to one to specify 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. CMPLIST is ignored. Defect List Format is ignored. Note: 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 124 - 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. 16.3.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 58: Short Parameter List Header Bit Byte 7 6 4 3 2 Reserved 0 1 5 FOV DPRY DCRT 1 0 Protection Field Usage STPF = 1 IP Obsolete Immed VS 2 1 0 Defect List Length = 0 2-3 Table 59: Long Parameter List Header Bit Byte 7 6 FOV DPRY DCRT 4-7 3 Protection Field Usage STPF = 1 IP Obsolete Immed Reserved 2 3 4 Reserved 0 1 5 P_I_Information Protection Interval Exponent Defect List Length = 0 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 125 VS 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. 01h xxxh Check Condition status will be returned with the sense key set to Illegal 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. 11h 001h Type 3 protection is not supported - Check Condition status will be 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. Bit Byte 7 6 5 4 3 0 ... n User Data n ... n+1 Logical Block Guard n+2 ... n+3 Logical Block Application Tag n+4 ... n+7 Logical Block Reference Tag 2 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 126 1 0 Logical Block Guard contains a CRC that covers the preceding user data. This field is generated/checked per the SBC standard. Logical Block Application Tag 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 preceding user data. This field is generated/checked per the SBC standard. Logical Block Reference Tag 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 is 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 is 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 is 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 60: Initialization Pattern Descriptor Bit Byte 0 7 6 IP Modifier = 0 5 4 3 SI = 1 2 Reserved 1 IP Type = 0 2 -3 Initialization Pattern Length = 0 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 127 1 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 1 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 0, indicating that the drive will use the default initialization pattern. All customer data will be initialized to zeroes. Initialization Pattern Length must be 0, as user-specified initialization patterns are not supported. DSP Disable Saving Parameters bit when 0 indicates the target is to save all the current MODE SELECT savable parameters during the format operation. When the bit is 1, the target is not to save the current MODE SELECT savable parameters. Immed Immediate bit set to 0 requests that status be returned at the end of the format operation. An immediate bit set to 1 requests that status be returned immediately following CDB validation and transfer of data in the Data Out phase. If the format operation, with the immediate bit set to one, terminates in error, DEFERRED ERROR SENSE data is generated. P_I_Information must be 0. Protection Interval Exponent is the number of protection intervals per logical block size, expressed as a power of 2. This value must be 0 (i.e. one protection interval per logical block) for logical block sizes 512 and 520. This value may be 0 or 3 (i.e. one or eight protection intervals per logical block) for logical block sizes 4096 and 4160. This value is assumed to be 0 if the long parameter list header format is not used. See SBC-3 for more details regarding protection intervals. Defect List Length must be 0. 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 128 16.4 INQUIRY (12) The INQUIRY (12) command requests the parameters of the Target to be sent to the Initiator. Table 61: INQUIRY (12) Bit Byte 5 4 3 2 Reserved 1 6 1 0 CmdDT=0 EVPD Operation Code = 12h 0 7 2 Page Code 3-4 Allocation Length 5 Control Byte - Refer to Section 16.1. EVPD bit of 1 specifies that the target return the vital product data page identified by the Page Code field in the CDB. The available VPD pages are defined in the addendum provided for each different drive model in the section entitled Inquiry Data Format. Page Code specifies which page of vital product data information the drive shall return. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 129 Table 62: Page Code Descriptions EVPD Page Code Description 0 0 0 Non Zero The drive returns Check Condition status with the sense key of Illegal Request and the additional sense code of Invalid Field in CDB. 1 Non Zero The drive returns the vital product data of page code requested. The Target returns the standard INQUIRY data. 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. Notes: 1. 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. 2. The INQUIRY command is a Priority command and is not queued. 3. The inquiry data is set at the time of manufacture and will not change (without a FRU change), with the following exceptions: o Product Revision Level (EVPD=0) can be changed when microcode is downloaded with the Write Buffer command. o 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). Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 130 16.4.1 Inquiry Data - General 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.4.2 Inquiry Data - EVPD = 0, Page Code = 00h - Standard Inquiry Data Page Table 63: Inquiry Data Format - EVPD = 0 (Page Code = 00h) Bit Byte 7 6 4 2 1 0 Peripheral Device Type = 0 RMB = 0 Reserved Version = 6 2 3 3 Qualifier = 0 0 1 5 Obsolete Norm ACA=0 HiSup = 1 Response Data Format = 2 Additional Length = 159 (9Fh) 4 5 SCCS=0 ACC=0 TPGS=00b 3PC=0 6 Obsolete EncSer = 1 Port MultiP=1 7 Obsolete RSVD RSVD Reserved Obsolete Obsolete 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 96-145 Copyright Notice (ASCII) 146-163 Reserved Protect=1 RSVD CmdQue= 1 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 131 RSVD 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 Peripheral Device Type is set to zero to indicate that the device is a Direct-Access Peripheral Device. RMB Removable Medium Bit is always set to zero to indicate no removable media exists. Version indicates the level of the ANSI standard that the product supports. The drive supports ANSI SCSI Primary Commands – 4 (SPC-4). NormACA Normal ACA is 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. 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 4.3.1 Product Revision Level indicates the level of microcode. Unit Serial Number contains the drive serial number. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 132 16.4.3 Inquiry Data - EVPD = 1 - Page Code = 00h - Supported VPD Pages Table 64: Inquiry Data Format - EVPD = 1 (Page Code = 00h) Bit Byte 0 7 6 5 4 3 Qualifier = 0 2 1 0 Peripheral Device Type = 0 1 Page Code = 00h 2 Reserved 3 Page Length = 0Fh 4 Supported Page Code = 00h 5 Supported Page Code = 03h 6 Supported Page Code = 80h 7 Supported Page Code = 83h 8 Supported Page Code = 86h 9 Supported Page Code = 87h 10 Supported Page Code = 88h 11 Supported Page Code = 8Ah 12 Supported Page Code = 8Dh 13 Supported Page Code = 90h 14 Supported Page Code = 91h 15 Supported Page Code =B0h 16 Supported Page Code =B1h 17 Supported Page Code =B2h 18 Supported Page Code = D2h 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 0, and 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 contains the Page Codes supported by the Target. The list is in ascending order. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 133 16.4.4 Inquiry Data - EVPD = 1, Page Code = 03h - ASCII Information Page Table 65: Inquiry Data Format - EVPD = 1 (Page Code = 03h) Bit Byte 0 7 6 5 4 3 Qualifier = 0 2 1 Peripheral Device Type = 0 1 Page Code = 03h 2 Reserved 3 Page Length = 204 (CCh) 4 ASCII Fields Length = 00h 5-7 Reserved 8-23 Reserved 24-35 ASCII uCode Identifier 36-39 Reserved 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 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 134 0 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 PwrCtlUpd PwrCtlHw Power Controller Firmware Level 207 Power Controller Firmware Level 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 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 contain version numbers of the code loaded on the drive. User Count contains the number of times the code has been built since the master build. Build Number contains the master build version number. Build Date String contains the date the code on the drive was built, in an extended string format. Code ID contains a binary value for firmware development tracking. Compatibility ID contains a binary value for firmware development tracking. Product ID contains the name of the product this code is for. Interface ID contains the interface type and serial interface speed (e.g. SCSI or FCAL 4Gb) of the code. Code Type contains the intended use of the code. (e.g. local, released, test) User Name contains the username of the person who built this version of the code. Machine Name contains the workstation on which this version of the code was built. Directory Name contains the last 32 characters of the directory from where this code was built. Operating Stat is the drive operating state. The least significant bit contains the following: 0 = OM_BROKEN Detected a hardware failure or there was an error loading context. 1 = OM_DEGRADED Soft failure; i.e., incomplete format. 2 = OM_INACCESSIBLE Drive is good. 3 = OM_STARTING Loading context. 4 = OM_NORMAL Context is loaded and ready to read/write. 5 = OM_STOPPED Drive has come ready but now has been stopped 6 = OM_NOTIFY Drive is good but NOTIFY has not arrived (SAS) 7 = OM_WAKEUP Loading context, but will not report LUN_BECOMING_READY. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 135 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. The second byte (0x000n0000) contains the following: 0 = Idle functions are not enabled. 1 = Idle functions are enabled. Degraded Reason (UECType) is why the drive is in a degraded mode; i.e., how to exit this mode. Broken Reason (UECType) is why the drive is in a degraded mode; i.e., how to exit this mode Code Mode is the type of code the drive is running. The least significant bit contains the following: - 0 = Drive is running code that has been loaded from NAND. ASCII uCode Revision is the revision level of the media access firmware. This field is alphanumeric. Context Failure Reason is the qualifier when the broken reason indicates a damaged context. South Assert Address is for debug of firmware asserts. North Assert Code is for debug of firmware asserts. PwrCtlUpd indicates the power controller firmware has been updated since the last drive POR. A drive POR is required to activate the new power controller firmware. PwrCtlHw indicates the power controller hardware revision. A 0 indicates the power controller is an ADM1168. A 1 indicates the power controller is not an ADM1168. Power Controller Firmware Level is the level of firmware currently in the power controller EEPROM. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 136 16.4.5 Inquiry Data - EVPD = 1, Page Code = 80h - Unit Serial Number Page Table 66: Inquiry Data Format - EVPD = 1 (Page Code = 80h) Bit Byte 7 6 5 4 3 Qualifier = 0 0 1 0 Peripheral Device Type = 0 1 Page Code = 80h 2 Reserved 3 Page Length = 16 (10h) 4-19 Serial Number (ASCII) 2 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 137 16.4.6 Inquiry Data - EVPD = 1, Page Code = 83h - Device Identification Page Table 67: Inquiry Data Format - EVPD = 1 (Page Code = 83h) Bit Byte 7 6 5 4 3 Qualifier = 0 0 Page Code = 83h 2 Reserved 3 Page Length = 72 (48h) 5 Protocol Identifier = 0h PIV=0 RSVD Code Set = 1 Association=0 Identifier Type = 3 6 Reserved 7 Designator Length = 8 8-15 LUN (World Wide ID) Protocol Identifier = 6h 16 17 PIV=1 RSVD Code Set = 1 Association = 1 Identifier Type = 3 18 Reserved 19 Designator Length = 8 20-27 Target Port Identifier (World Wide ID) Protocol Identifier = 6h 28 29 PIV=1 RSVD Code Set = 1 Association = 1 Identifier Type = 4 30 Reserved 31 Designator Length = 4 32-35 Relative Port Identifier 36 1 Peripheral Device Type = 0 1 4 2 Protocol Identifier = 6h Code Set = 1 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 138 0 PIV=1 37 RSVD Association = 2 Identifier Type = 3 38 Reserved 39 Designator Length = 8 40-47 Target Device Name Identifier (World Wide ID) 48 - Protocol Identifier = 0h Code Set = 3 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 72, and this field specifies the length of the following page data. Protocol Identifier is valid only when PIV=1. 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, is 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. Designator 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. Designator Length specifies the length in bytes of the designator data. Designator is the actual data described by the prior 4 bytes (Protocol Identifier through Designator Length) for each Designator in the page. - The LUN, Target Port and Target Device Name Identifiers are defined in the NAA IEEE 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 - yy is the 2-bit port/node ID select - n is the 22-bit drive unique serial number 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. The SCSI name string Designator data is defined in the NAA IEEE WWID format (above), plus 4 bytes ending in 00h to provide multiple of 4 in length and null termination. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 139 16.4.7 Inquiry Data - EVPD = 1, Page Code = 86h - Extended INQUIRY Data Page Table 68: Inquiry Data Format - EVPD = 1 (Page Code = 86h) Bit Byte 0 7 6 5 4 3 Peripheral Qualifier 2 1 0 Peripheral Device Type = 0 1 Page Code = 86h 2-3 Page Length = 003Ch 4 Activate Microcode SPT GRD_CHK APP_CHK REF_CHK 5 Reserved UASK_SUP GROUP_SUP PRIOR_SUP HEADSUP ORDSUP SIMPSUP CRD_SUP NV_SUP V_SUP 6 Reserved WU_SUP 7 Reserved P_I_I_SUP Reserved LUICLR 8 Reserved R_SUP Reserved CBCS 9 10-11 12 Reserved Multi I_T Nexus Microcode Download Extended Self-Test Completion Minutes POA_SUP HRA_SUP VSA_SUP Reserved 13 Maximum Supported Sense Data Length 14-63 Reserved Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 140 Activate Microcode is set to 01b to indicate that the device server: 1. Activates the microcode before completion of the final command in the WRITE BUFFER sequence, and; 2. Establishes a unit attention condition for the initiator port associated with every I_T nexus, except the I_T nexus on which the WRITE BUFFER command was received, with the additional sense code set to MICROCODE HAS BEEN CHANGED. SPT Supported Protection Type is set to 001b to indicate that the drive supports type 1 and type 2 protection. GRD_CHK Guard Check bit 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. UASK_SUP Unit Attention Condition Sense Key Specific Data Supported bit is set to 0 to indicate that the device server does not return sense-key specific data for the UNIT ATTENTION sense key. GROUP_SUP Group Supported bit is set to 0 to indicate that the grouping function is not supported. PRIOR_SUP Priority Supported bit is set to 0 to indicate that task priority is not supported. HEADSUP Head of Queue Supported 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 tasks are not supported. SIMPSUP Simple Supported is set to 1 to indicate support for Simple task attributes. WU_SUP Write Uncorrectable Supported is set to 1 to indicate support for WR_UNCOR in the WRITE LONG command. CRD_SUP Correction Disable Supported is set to 1 to indicate support for COR_DIS in the WRITE LONG command. NV_SUP Non-volatile Supported is set to 0 to indicate that non-volatile cache features are not supported. V_SUP Volatile Supported is set to 1 to indicate support of a volatile cache. P_I_I_SUP Protection Information Interval Supported bit is set to 0 to indicate that the logical unit does not support protection information intervals. R_SUP Referrals Supported bit is set to 0 to indicate that the device server does not support referrals. POA_SUP Power On Activation Supported bit is set to 1 to indicate that the device server supports a WRITE BUFFER command with the MODE field set to 0Dh and the PO_ACT bit set to one. HRA_SUP Hard Reset Activation Supported bit is set to 1 to indicate that the device server supports a WRITE BUFFER command with the MODE field set to 0Dh and the HR_ACT bit set to one. VRA_SUP Vendor Specific Activation Supported bit is set to 1 to indicate that the device server supports a WRITE BUFFER command with the MODE field set to 0Dh and the VSE_ACT bit set to one. Maximum Supported Sense Data Length indicates the maximum length in bytes of sense data that the device server is capable of returning in the same I_T_L_Q nexus transaction as the status. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 141 16.4.8 Inquiry Data - EVPD = 1, Page Code = 87h - Mode Page Policy Page Table 69: Inquiry Data Format - EVPD = 1 (Page Code = 87h) Bit Byte 7 6 5 4 3 Qualifier = 0 0 2 Page Code = 87h 2-3 Page Length = 0004h Reserved 7 Policy Page Code = 3Fh Policy Subpage Code = FFh 5 6 0 Peripheral Device Type = 0 1 4 1 MLUS=1 Reserved Mode Page Policy = 0 Reserved Policy Page Code is set to 3Fh and Policy Subpage Code is set to FFh to indicate that the descriptor applies to all mode pages and subpages MLUS Multiple Logical Units Share is set to 1 indicates the policy is shared by multiple logical units. Mode Page Policy is set to 00b indicates that all mode pages and subpages are shared. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 142 16.4.9 Inquiry Data - EVPD = 1, Page Code = 88h - SCSI Ports Page Table 70: Inquiry Data Format - EVPD = 1 (Page Code = 88h) Bit Byte 7 6 5 4 Qualifier = 0 0 3 2 1 Peripheral Device Type = 0 1 Page Code = 88h 2-3 Page Length = 48 (0030h) 4-5 Reserved 6-7 Primary Relative Port = 0001h 8-9 Reserved 10-11 Initiator Port Transport ID Length = 0 12-13 Reserved 14-15 Primary Target Port Descriptors Length = 0Ch Protocol Identifier 16 17 PIV=1 RSVD Code Set = 1 Association = 1 Identifier Type = 3 18 Reserved 19 Identifier Length = 8 20-27 Primary Target Port Identifier (World Wide ID) 28-29 Reserved 30-31 Secondary Relative Port = 0002h 32-33 Reserved Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 143 0 34-35 Initiator Port Transport ID Length = 0 36-37 Reserved 38-39 Secondary Target Port Descriptors Length = 0Ch Protocol Identifier 40 PIV=1 41 RSVD Code Set = 1 Association = 1 Identifier Type = 3 42 Reserved 43 Identifier Length = 8 44-51 Secondary Target Port Identifier (World Wide ID) Protocol Identifier is valid only when PIV=1. Protocol Identifier = 6 specifies SAS devices. Code Set specifies the data type for the identifier field. Code Set = 1 indicates binary data. PIV Protocol Identifier Valid is 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 contains 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, where xxx 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 144 16.4.10 Inquiry Data - EVPD = 1, Page Code = 8Ah - Power Condition Page Table 71: Inquiry Data Format - EVPD = 1 (Page Code = 8Ah) Bit Byte 7 6 5 4 Qualifier = 0 0 3 2 Page Code = 8Ah 2-3 Page Length = 14 (000Eh) Reserved Reserved 5 STANDBY_Y = 0 STANDBY_Z = 1 IDLE_C=0 IDLE_B=0 6-7 Stopped Condition Recovery Time = 0 8-9 Standby_Z Condition Recovery Time = 10 (0Ah) 10-11 Standby_Y Condition Recovery Time = 0 12-13 Idle_A Condition Recovery Time = 10 (0Ah) 14-15 Idle_B Condition Recovery Time - 0 16-17 Idle_C Condition Recovery Time = 0 0 Peripheral Device Type = 0 1 4 1 IDLE_A=1 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 14, and this field specifies the length of the following page data. STANDBY_Y, STANDBY_Z, IDLE_C, IDLE_B, IDLE_A are set to 0 to indicate these Power Conditions are not supported. Recovery Time indicates the time, in one millisecond increments, that the logical unit takes to transition from the associated power condition to the active power condition. These Recovery Times are set to 0 to indicate the associated power conditions are not supported. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 145 16.4.11 Inquiry Data - EVPD = 1, Page Code = 8Dh - Power Consumption Page Table 72: Inquiry Data Format - EVPD = 1 (Page Code = 8Dh) Bit Byte 7 6 5 4 Qualifier = 0 0 3 2 Page Code = 8Dh 2-3 Page Length = 8 (0008h) 4 Power Consumption Identifier = 00h Reserved Power Consumption Units = 3 6-7 Power Consumption Value = 0009h 8 Power Consumption Identifier = 01h Reserved 9 10-11 0 Peripheral Device Type = 0 1 5 1 Power Consumption Units = 3 Power Consumption Value = 000Bh Power Consumption Identifier is a reference handle to specify which descriptor is selected by the Power Consumption mode page. Power Consumption Units is set to three to indicate the value is in Watts. Power Consumption Value is the maximum power consumption associated with the identifier in the Power Consumption Identifier field using the units specified by the Power Consumption Units. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 146 16.4.12 Inquiry Data - EVPD = 1, Page Code = 90h - Protocol Specific Logical Unit Information Page Table 73: Inquiry Data Format - EVPD = 1 (Page Code = 90h) Bit Byte 7 6 5 4 3 Qualifier = 0 0 2 1 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 0 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 24, and specifies the length of the following page data. Protocol-specific logical unit information descriptor 0 is defined in Table 74. Protocol-specific logical unit information descriptor 1 is defined in Table 74.Table 74: Table 74: Protocol-specific Logical Unit Information Descriptor Bit Byte 7 6 5 4 3 2 0 Relative Port Identifier 0-1 Reserved 2 Protocol Identifier = 6h 3-5 Reserved 6-7 Descriptor Length (0004h) Reserved 8 9-11 1 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 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 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 147 16.4.13 Inquiry Data - EVPD = 1, Page Code = 91h Table 75: Protocol-specific Port Information VPD Page to SAS SSP Bit Byte 7 6 5 4 3 1 Page Code = 91h 2-3 Page Length = 24 (0018h) 4-15 Port Information Descriptor 0 16-27 Port Information Descriptor 1 1 0 Peripheral Device Type = 0 Qualifier = 0 0 2 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 24, and this field specifies the length of the following page data. Port Information Descriptor 0 is defined in Table 76. Port Information Descriptor 1 is defined in Table 76. Table 76: Port Information Descriptor for SAS SSP Bit Byte 7 6 5 3 3 2 Reserved 0 Protocol Identifier (6h) Reserved 4-5 Reserved 6-7 Descriptor Length (0004h) 8-11 SAS PHY Information Descriptor 0 1 Relative Port Identifier 0-1 2 4 PWR_D_S Relative Port Identifier is set to 1 for Port A (Primary Port) or 2 for Port B (Secondary Port). Protocol Identifier is set to 6 to specify that this is a SAS SSP Descriptor. - PWR_D_S, Power Disable Supported, is set to 1 to specify that the POWER DISABLE signal is supported. - SAS PHY Information Descriptor 0 is defined in Table 77. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 148 Table 77: SAS PHY Information Descriptor for SAS SSP Bit Byte 6 5 4 3 0 Reserved 1 PHY Identifier 2 3 7 2 Reserved 1 0 SSP Persistent Capable Reserved PHY Identifier is set to 0 for Port A (Primary Port) or 1 for Port B (Secondary Port). SSP Persistent Capable is set to 0 indicates that the PHY does not support persistent connections. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 149 16.4.14 Inquiry Data - EVPD = 1, Page Code = B0h - Block Limits VPD Page Table 78: Inquiry Data Format - EVPD = 1 (Page Code = B0h) Bit Byte 7 6 5 4 3 1 Page Code = B0h 2-3 Page Length = 60 (003Ch) Reserved 4 5 Maximum Compare and Write Length = 0 6-7 Optimal Transfer Length Granularity 8-11 Maximum Transfer Length = 0 12-15 Optimal Transfer Length = 0 16-19 Maximum Prefetch XDRead XDWrite Transfer Length = 0 20-23 Maximum Unmap LBA Count = FFFFFFFFh 24-27 Maximum Unmap Block Descriptor Count = FFFFFFFFh 28-31 Optimal Unmap Granularity 32-35 UGAVALID=1 Maximum Write Same Length = 0 44-63 Reserved 0 WSNZ=0 Unmap Granularity Alignment = 0 36-43 1 Peripheral Device Type = 0 Qualifier = 0 0 2 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 60 (3Ch), and specifies the length of the following page data. WSNZ Write Same No Zero is set to 0 which indicates the device server supports a value of zero in the NUMBER OF LOGICAL BLOCKS field in the WRITE SAME command CDB. Maximum Compare and Write Length is set to zero which indicates the device server does not support the COMPARE AND WRITE command. Optimal Transfer Length Granularity indicates the optimal transfer length granularity size in logical blocks for any of the following supported media access commands: PREFETCH, READ, VERIFY, WRITE, WRITE AND VERIFY. It will be either 8 or 1 depending on the block size (512.../4k...) the drive is formatted with. Maximum Transfer Length is set to 0 to indicate that there is no reported limit on the maximum transfer length in logical blocks that the device server accepts for a single request using any of the following supported media access commands: PREFETCH, READ, VERIFY, WRITE, WRITE AND VERIFY. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 150 Optimal Transfer Length is set to 0 which indicates there is no reported value for the optimal transfer length in logical blocks for any of the following supported media access commands: PREFETCH, READ, VERIFY, WRITE, and WRITE AND VERIFY. Maximum Prefetch XDRead XDWrite Transfer Length indicates the maximum transfer length in logical blocks that the device server accepts for a single PRE-FETCH command. It is set to zero to be less than or equal to the Maximum Transfer Length (above). Maximum Unmap LBA Count is set to FFFFFFFFh and indicates the maximum number of LBAs that may be unmapped by an UNMAP command. Maximum Unmap Block Descriptor Count is set to FFFFFFFFh and indicates the maximum number of UNMAP block descriptors that shall be contained in the parameter data transferred to the device server for an UNMAP command. Optimal Unmap Granularity indicates the optimal granularity in logical blocks for unmap requests. It will be either 8 or 1 depending on the block size (512.../4k...) the drive is formatted with. UGAVALID Unmap Granularity Alignment VALID is set to 1 which indicates that the UNMAP GRANULARITY ALIGNMENT field is valid. Unmap Granularity Alignment is set to 0 which indicates the LBA of the first logical block to which the OPTIMAL UNMAP GRANULARITY field applies. Maximum Write Same Length is set to 0 which indicates that there is no reported limit on the number of logical blocks that may be requested for a single WRITE SAME command. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 151 16.4.15 Inquiry Data - EVPD = 1, Page Code = B1h - Block Device Characteristics VPD Page Table 79: Inquiry Data Format - EVPD = 1 (Page Code = B1h) Bit Byte 7 6 5 4 Qualifier = 0 0 3 2 Page Code = B1h 2-3 Page Length = 60 (003Ch) 4-5 Medium Rotation Rate = 1 (1h) 6 Reserved WABEREQ 8-63 0 Peripheral Device Type = 0 1 7 1 WACEREQ Nominal Form Factor = 3h 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 is set to 60, and this field specifies the length of the following page data. Medium Rotation Rate is set to 1, which indicates the drive is an SSD. WABEREQ is set to 1 to indicate that following a Sanitize Block Erase, the drive will respond to a read command to in-range LBAs with Good Status prior to a write command being issued to those LBAs. The data pattern for the read commands will consist of all zeroes. WACEREQ is set to 1 for models with encryption enabled to indicate that following a Sanitize Cryptographic Erase, the drive will respond to a read command to in-range LBAs with Good Status prior to a write command being issued to those LBAs. The data pattern for the read command will consist of all zeroes. WACEREQ is set to 0 for models with encryption disabled to indicate that Sanitize Cryptographic Erase is not supported and therefore the drive behavior following this unsupported function is not specified. Nominal Form Factor is set to 3h. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 152 16.4.16 Inquiry Data - EVPD = 1, Page Code = B2h - Logical Block Provisioning VPD Page Table 80: Inquiry Data Format - EVPD = 1 (Page Code = B2h) Bit Byte 0 7 6 5 4 3 2 Page Code = B2h 2-3 Page Length = 4 (0004h) 4 Threshold Exponent = 0 0 Peripheral Device Type = 0 Qualifier = 0 1 5 LB P U = 1 LBPWS= 1 LBPWS10=1 6 Reserved 7 1 Reserved LBPRZ=1 ANC_SUP=1 DP=0 Provisioning Type = 1 Reserved Threshold Exponent is set to 0 which indicates that the logical unit does not support logical block provisioning thresholds LBPU is set to 1 to indicate that the device supports the UNMAP command. LBPWS is set to 1 to indicate that the device supports the WRITE SAME(16) command to unmap LBAs LBPWS10 is set to 1 to indicate that the device supports the WRITE SAME(10) command to unmap LBAs LBPRZ is set to 1 to indicate that for an unmapped LBA specified by a read operation, the device returns user data with all bits set to zero to the Data-In Buffer ANC_SUP is set to 1 to indicate that the device supports anchored LBAs. DP is set to 0 to indicate no Provisioning Group Descriptor is present Provisioning Type is set to 1 to indicate the logical unit is resource provisioned Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 153 16.4.17 Inquiry Data - EVPD = 1, Page Code = D2h - Component and Assembly Information Page Table 81: Inquiry Data Format - EVPD = 1 (Page Code = D2h) Bit Byte 7 6 5 Qualifier = 0 0 4 3 2 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 Notes: 1 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. 1. 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). 2. All ASCII fields are alphanumeric, left aligned, and padded on the right with ASCII blanks (20h) with a null terminator (00h). Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 154 16.5 LOG SELECT (4C) The LOG SELECT (4C) command provides a means for the Initiator to clear statistical information maintained by the drive and reported via the LOG SENSE command. Table 82: Log Select (4C) Bit Byte 7 6 5 4 3 2 Reserved 1 PC 2 Subpage Code = 0 4-6 Reserved 7-8 Parameter List Length = 0 9 Control Byte – Refer to Section 16.1 PCR SP Page Code 3 0 Command Code = 4Ch 0 1 PCR 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 Save Parameters bit value of 0 indicates that the page parameters not be saved. A value of 1 indicates that the page parameters that are savable be saved after they have been changed. SP bit MUST be 1 if parameter list length is greater than 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 Page Control defines the type of parameters to be selected. The PC field set to 11b (and PCR is then 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 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 specifies the subpage to select. This field is not supported and must be set to 0. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 155 Parameter List Length 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. Notes: 1. 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. 2. 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 156 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 LBAs with hard error. Page 06h parameters (Counters for non-medium errors 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 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 157 16.6 LOG SENSE (4D) The LOG SENSE (4D) command allows the Initiator to retrieve the statistical data regarding the drive. Table 83: Log Sense (4D) Bit Byte 7 6 4 3 2 Reserved 1 PC Subpage Code = 0 4 Reserved 5-6 Parameter Pointer = 0 7-8 Allocation Length 9 Control Byte - Refer to Section 16.1. 0 PPC = 0 SP Page Code 3 1 Command Code = 4Dh 0 2 5 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 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 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 specifies the subpage to select. This field is not supported and must be set to 0. Parameter Pointer 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 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 158 16.6.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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 159 16.6.2 Log Sense Page 0h - Supported Log Sense Pages This page is used to determine which additional pages the Initiator can request. Table 84: Log Sense Page 0h - Supported Log Sense Pages Bit Byte 0 7 6 5 4 3 Reserved 2 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 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 160 1 0 16.6.3 Log Sense Page 2h - Counters for Write Errors Table 85: Log Sense Page 2h - Counters for Write Errors Bit Byte 0 7 6 5 4 3 Reserved 2 Reserved 2-3 Page Length = 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 40-41 Parameter Code = 0003h 42 DU = 0 DS = 0 0 Page code = 02h 1 6 1 TSD = 0 ETC = 0 TMC = 0 43 Parameter Length = 08h 44-51 Total errors recovered Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 161 F&L = 00b F&L = 00b F&L = 00b F&L = 00b Parameter Code = 0004h 52-53 54 DU = 0 DS = 0 TSD = 0 ETC = 0 TMC = 0 55 Parameter Length = 08h 56-63 Times Recovery Invoked 64-65 Parameter Code = 0005h 66 DU = 0 DS = 0 TSD = 0 ETC = 0 TMC = 0 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 F&L = 00b Note: 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 162 16.6.4 Log Sense Page 3h - Counters for Read Errors Table 86: Log Sense Page 3h - Counters for Read Errors Bit Byte 0 7 6 5 4 3 Reserved 2 Reserved 2-3 Page Length = 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 40-41 Parameter Code = 0003h 42 DU = 0 DS = 0 0 Page code = 03h 1 6 1 TSD=0 ETC = 0 TMC = 0 43 Parameter Length = 08h 44-51 Total errors recovered Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 163 F&L = 00b F&L = 00b F&L = 00b F&L = 00b Parameter Code = 0004h 52-53 54 DU = 0 DS = 0 TSD=0 ETC = 0 TMC = 0 55 Parameter Length = 08h 56-63 Times recovery invoked 64-65 Parameter Code = 0005h 66 DU = 0 DS = 0 TSD = 0 ETC = 0 TMC = 0 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 F&L = 00b Note: 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 164 16.6.5 Log Sense Page 5h - Counters for Verify Errors Table 87: Log Sense Page 5h - Counters for Verify Errors Bit Byte 0 7 6 5 4 3 Reserved 2 Reserved 2-3 Page Length = 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 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 55 DU = 0 DS = 0 0 Page code = 05h 1 6 1 TSD = 0 ETC = 0 TMC = 0 Parameter Length = 08h Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 165 F&L = 00b F&L = 00b F&L = 00b F&L = 00b F&L = 00b 56-63 Times recovery invoked 64-65 Parameter Code = 0005h 66 DU = 0 DS = 0 TSD = 0 ETC = 0 TMC = 0 67 Parameter Length = 08h 68-75 Total Bytes Verified 76-77 Parameter Code = 0006h 78 DU = 0 DS = 0 TSD = 0 TMC = 0 79 Parameter Length = 08h 80-87 Count of hard errors F&L = 00b F&L = 00b Note: 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 166 16.6.6 Log Sense Page 6h - Counters for Non-Medium Errors This page counters for non-medium errors. Table 88: Log Sense Page 6h - Counters for Non-Medium Errors Bit Byte 0 7 6 5 4 3 Reserved 2 Reserved 2-3 Page Length = 0Ch 4-5 Parameter Code = 00h DU = 0 DS = 0 0 Page code = 06h 1 6 1 TSD = 0 ETC = 0 TMC = 0 7 Parameter Length = 08h 8-15 Error count Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 167 F&L = 00b 16.6.7 Log Sense Page Dh - Temperature Information Table 89: Log Sense Page Dh - Temperature Information Bit Byte 0 7 6 5 4 3 Reserved 2 Reserved 2-3 Page Length = 0Ch 4-5 Parameter Code = 0000h DU = 0 DS = 1 TSD = 0 ETC = 0 TMC = 0 7 Parameter Length = 02h 8 Reserved 9 Temperature (Celsius) 10-11 Parameter Code 0001h 12 DU = 0 DS = 1 0 Page code = 0Dh 1 6 1 TSD = 0 ETC = 0 TMC = 0 13 Parameter Length = 02h 14 Reserved 15 Reference Temperature (Celsius) Reference Temperature: the threshold, in degrees Celsius, for case temperature warnings. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 168 F&L = 11b F&L = 11b 16.6.8 Log Sense Page Eh - Manufacturing Date Information Table 90: Log Sense Page Eh - Manufacturing Date Information Bit Byte 0 7 6 5 4 3 Reserved 2 1 Reserved 2-3 Page Length = 34h 4-5 Parameter Code = 0001h 6 DU=0 DS=1 TSD=0 7 ETC=0 TMC = 0 8-11 Year of Manufacture (4 ASCII characters) Week of Manufacture (2 ASCII characters) 14-15 Parameter Code 0002h 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 26 DS=1 TSD=0 ETC=0 TMC = 0 Parameter Length = 04h 28-31 Reserved 32-33 Parameter Code 0004h DU=0 DS=1 TSD=0 ETC=0 TMC = 0 35 Parameter Length = 04h 36-39 Reserved 40-41 Parameter Code 0005h 42 DU=0 DS=1 TSD=0 ETC=0 TMC = 0 43 Parameter Length = 04h 44-47 Reserved 48-49 Parameter Code 0006h 50 F&L = 01b F&L = 01b Parameter Code 0003h DU=0 27 34 0 Parameter Length = 06h 12-13 16 1 Page code = 0Eh DU=0 DS=1 TSD=0 ETC=0 TMC = 0 51 Parameter Length = 04h 52-55 Reserved F&L = 11b F&L = 11b F&L = 11b F&L = 11b Note: 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 169 16.6.9 Log Sense Page Fh - Application Client Log Table 91: Log Sense Page Fh - Application Client Log Bit Byte 7 6 5 4 3 Reserved 0 2 1 0 1 0 Page Code = 0Fh 1 Reserved 2-3 Page Length = 4000h Application Client Log Parameter First (1st) Application Client Log Parameter 4-259 ... Sixty-Fourth (64th) Application Client Log Parameter 16132-16387 Table 92: Log Sense Page Fh, Application Client Log Parameter Structure Bit Byte 7 6 5 3 2 Parameter Code 0-1 2 4 DU = 1 DS = 0 TSD = 0 ETC = 0 TMC = 0 3 Parameter Length = FCh 4-255 First Parameter Byte Last Parameter Byte F&L = 11b Notes: 1. Parameter Code 0000h through 003Fh are supported. 2. The values stored in the parameter bytes represent data sent to the device in a previous LOG SELECT command. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 170 16.6.10 Log Sense Page 10h - Self-Test Results The results of the 20 most recent self-tests are stored in this Log page. Table 93: Log Sense Page 10h - Self-Test Results Bit Byte 7 6 5 4 3 Reserved 0 2 1 0 1 0 Page code = 10h 1 Reserved 2-3 Page Length = 190h 4-23 1st self-test results log parameter ... 20th self-test results log parameter 384- 403 Table 94: Log Sense Page 10h - Self-Test Results Log Parameter Structure Bit Byte 7 6 5 4 DU = 0 DS = 0 TSD = 0 Function Code 4 TMC = 0 RSVD F&L = 11b Self-Test Results Value 5 Extended Segment Number = 0 6-7 Timestamp 8-15 LBA of First Failure 16 ETC = 0 Parameter Length = 10h 3 2 Parameter code 0-1 2 3 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. Extended Segment Number identifies the number of the segment that failed during self-test. If no segment failed, this field will be 00h. Self-Test Results Value is described in the following table. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 171 Table 95: Log Sense Page 10h - Self-Test Results Value 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 172 Table 96: Log Sense Page 10h - Extended Segment Number Extended Segment Short Extended Number Self-Test 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 300MB Verify Last 100MB Verify all LBAs Recheck SMART Timestamp contains the total accumulated power-on hours of the Target at the time the self-test completed. LBA of First Failure 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 will contain the additional information relating to the error or exception conditions during self-test. See SEND DIAGNOSTIC (1D) for detailed listing of operations carried out by SEND DIAGNOSTIC command and Power on Diagnostics. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 173 16.6.11 Log Sense Page 11h - Solid State Media Log Page 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 97: Log Sense Page 11h - Solid State Media Log Page Bit Byte 7 6 0 DS SPF (0) 5 4 3 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 98. ... First Medium Scan Parameter ... Solid State Media Parameter (Last). See Table 98. n Note: The DS Disable Save bit, SPF subpage format bit, Page Code, Subpage Code and Page Length are described in SCSI Primary Commands – 4 (SPC-4). Table 98: Log Sense Page 11h - Solid State Media Log Page Parameter Codes Parameter Code Description 0001h Percentage Used Endurance Indicator All other values. Reserved Table 99: Log Sense Page 11h - Percentage Used Endurance Indicator Parameter Format Bit Byte 7 6 5 3 2 1 0 Parameter Code (0001h) 0-1 DU 2 4 Obsolete TSD ETC TMC 3 Parameter Length (04h) 4-6 Reserved 7 Percentage Used Endurance Indicator Format and Linking (11b) Format and Linking 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 SCSI Primary Commands – 4 (SPC-4). Parameter Length indicates the number of bytes to follow in the log parameter. Percentage Used Endurance Indicator 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 174 16.6.12 Log Sense Page 15h - Background Medium Scan Operations Table 100: Log Sense Page 15h - Background Medium Scan Operations Bit Byte 7 6 5 4 3 Reserved 0 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 ... Last Medium Scan Parameter 19+24N The following table describes the BMS Status Parameter structure. Bit Byte 7 6 5 3 2 Parameter Code = 0000h 0-1 DU=0 2 4 DS=0 TSD=0 ETC=0 TMC=0 3 Page Length = 0Ch 4-7 Power On Minutes 8 Reserved 9 BMS Status 10-11 Number of Scans Performed 12-13 Medium Scan Progress 14-15 Reserved F&L = 11b Power On Minutes indicates the total power on minutes at the time the log page is requested. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 175 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. 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 the drive. Medium Scan Progress is a percent complete indication of the medium scan. The returned value is a numerator that has 65,536 (1 00 00h) as its denominator. The following table describes the Medium Scan Parameter structure. Bit Byte 7 6 5 3 2 DU=0 DS=0 TSD=0 ETC=0 TMC=0 3 Page Length = 14h 4-7 Power On Minutes Reassign Status 8 0 F&L = 11b Sense Key 9 Additional Sense Code 10 Additional Sense Code Qualifier 11-15 Reserved 16-23 LBA 1 Parameter Code = 0001h - 0800h 0-1 2 4 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 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 176 16.6.13 Log Sense Page 17h - Non-Volatile Cache Log Parameters Table 101: Log Sense Page 17h - Non-Volatile Cache Log Parameters Bit Byte 7 6 0 DS = 0 SPF = 0 5 4 3 2 Subpage Code = 00h 2-3 Page Length = 0010h 4-5 Parameter Code = 0000h DU = 0 Obsolete TSD = 0 ETC = 0 TMC = 0 7 Parameter Length = 04h 8 Obsolete 9-11 Remaining Non-Volatile Time 12-13 Parameter Code = 0001h 14 DU = 0 Obsolete TSD = 0 ETC = 0 TMC = 0 15 Parameter Length = 04h 16 Obsolete 17-19 Maximum Non-volatile Time 0 Page Code = 17h 1 6 1 Format and Linking = 11b Format and Linking = 11b Remaining Non-Volatile Time is set to 00_0000h to indicate that nonvolatile cache is permanently volatile. Maximum Non-Volatile Time is set to 00_0000h to indicate that Nonvolatile cache is volatile. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 177 16.6.14 Log Sense Page 18h - Protocol-Specific Log Parameters Table 102: Log Sense Page 18h - Protocol-Specific Log Parameters Bit Byte 7 6 5 4 3 2 0 Page code = 18h 1 Subpage Code = 00h 2-3 Page Length = D8h 1 0 Protocol-Specific Log Parameters 4-111 First Protocol-Specific Log Parameter - Primary Port 112-219 Last Protocol-Specific Log Parameter - Secondary Port Table 103: Log Sense Page 18h - SAS Log Descriptor Bit Byte 7 5 4 3 2 DU=0 Obsolete TSD =0 ETC =0 TMC (00b) Reserved 4 Format and Linking 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) 13 0 Parameter Length (68h) 3 12 1 Parameter Code (0001h for Primary Port; 0002h for Secondary Port) 0-1 2 6 Reserved Attached Device Type Attached Reason Reason Negotiated Physical Link Rate 14 Reserved Attached SSP Initiator Port 15 Reserved Attached SSP Target Port Attached STP Initiator Port Attached SMP Initiator Port Reserved Attached STP Target Port Attached SMP Target Port Reserved 16-23 SAS Address (the address of the target port) 24-31 Attached SAS Address (the address received in the incoming IDENTIFY) Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 178 32 Attached Phy Identifier (The Phy Identifier received in the incoming Identifier.) 33-39 Reserved 40-43 Invalid DWord Count 44-47 Running Disparity Error Count 48-51 Loss of DWord Synchronization 52-55 Phy Reset Problem 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) 64-67 Phy Event 68-71 Peak Value Detector Threshold (00h) 72-74 Reserved 75 Phy Event Source (02h) (Running Disparity Error Count) 76-79 Phy Event 80-83 Peak Value Detector Threshold (00h) 84-86 Reserved 87 Phy Event Source (03h) (Loss of DWORD Sync) 88-91 Phy Event 92-95 Peak Value Detector Threshold (00h) 96-98 Reserved 99 Phy Event Source (04h) (PHY Reset problem) 100-103 Phy Event 104-107 Peak Value Detector Threshold (00h) Attached Device Type is set to the value received by this PHY during an Identify Sequence. Attached Reason indicates the value of the REASON field in the last received IDENTIFY address frame (see Table 44) during the identification sequence if the Phy is a physical Phy and a SAS Phy or expander Phy is attached. If the Phy is a physical Phy and a SATA Phy is attached, then the ATTACHED REASON field shall be set to 0h after the initial Register - Device to Host FIS has been received. If the Phy is a virtual Phy, then the ATTACHED REASON field shall be set to 0h. Reason indicates the reason for the last link reset sequence as reported in the last transmitted IDENTIFY address frame. (see Table 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 179 Negotiated PHY Link Rate is set to the link rate negotiated during last Link Reset Sequence. - Set to 8h when the PHY is enabled and the negotiated speed is 1.5G. - Set to 9h when the PHY is enabled and the negotiated speed is 3.0G. - Set to Ah when the PHY is enabled and the negotiated speed is 6.0G. - Set to Bh when the PHY is enabled and the negotiated speed is 12.0G. Generation Code is a one-byte counter that shall be incremented by one by the device server every time the values in this mode page or the SAS-2 Phy mode page (see SAS Phy Mode Page - Subpage 3) 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 is set to the value received by this PHY during an Identify Sequence. Attached Target Port is set to the value received by this PHY during an Identify Sequence. SAS Address contains the SAS address transmitted by this PHY during an Identify Sequence. Attached SAS Address contains the SAS address received by this PHY during an Identify Sequence. Attached PHY Identifier contains the SAS PHY Identifier received by this PHY during an Identify Sequence. Invalid DWord Count indicates the number of invalid DWords that have been received outside of Phy reset sequences. The count wraps at the maximum value. Running Disparity Error Count will increment 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 Synchronization 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 180 16.6.15 Log Sense Page 19h - General Statistics and Performance Table 104: Log Sense Page 19h - General Statistics and Performance Bit Byte 7 6 5 0 DS = 0 SPF = 0 4 3 2 Subpage Code = 00h 2-3 Page Length = 005Ch 4-5 Parameter Code = 0001h DU = 0 Obsolete TSD = 0 ETC = 0 TMC = 0 Format and Linking = 10b 7 Parameter Length = 40h 8-15 Number of Read Commands 16-23 Number of Write Commands 24-31 Number of Logical Blocks Received 32-39 Number of Logical Blocks Transmitted 40-47 Read Command Processing Intervals 48-55 Write Command Processing Intervals 56-63 Weighted Number of Read Commands plus Write Commands 64-71 Weighted Read Command Processing plus Write Command Processing 72-73 Parameter Code = 0002h 74 DU = 0 Obsolete TSD = 0 ETC = 0 TMC = 0 75 Parameter Length = 08h 76-83 Idle Time Intervals 84-85 Parameter Code = 0003h 86 DU = 0 Obsolete TSD = 0 ETC = 0 TMC = 0 87 Parameter Length = 08h 88-95 Time Interval Descriptor 0 Page Code = 19h 1 6 1 Format and Linking = 10b Format and Linking = 11b Number of Read Commands indicates the number of read commands received by the logical unit. Number of Write Commands indicates the number of write commands received by the logical unit. Number of Logical Blocks Received indicates the number of logical blocks received by any SCSI target port for the logical unit as a result of write commands. Number of Logical Blocks Transmitted indicates the number of logical blocks transmitted by any SCSI target port for the logical unit as a result of read commands. Read Command Processing Interval is not supported and is set to 0. Write Command Processing Interval is not supported and is set to 0. Weighted Number of Read Commands Plus Write Commands is not supported and is set to 0. Weighted Read Command Processing Plus Write Command Processing is not supported and is set to 0. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 181 Idle Time Intervals indicates the cumulative number of idle times spent while there are no commands in the task set and there are no commands being processed by the logical unit. Idle Time is calculated using the Time Interval in Parameter 0003h: Idle Time = (Time Increments not Processing Commands x Time Interval) The Time Interval Descriptor contains the time interval in seconds. Table 105: Time Interval Descriptor Bit Byte 7 6 5 4 3 0-3 Exponent 4-7 Integer 2 1 Exponent contains the negative power of 10 exponent to multiply with the Integer field. Integer, when multiplied by the exponent, contains the value that represents one time interval. The Exponent and Integer are set to the equivalent of 50ms (5x10-2 seconds). Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 182 0 16.6.16 Log Sense Page 1Ah - Accumulated Transitions Table 106: Log Sense Page 1Ah - Accumulated Transitions Bit Byte 0 7 6 5 4 Reserved 3 2 Subpage Code (00h) 2-3 Page Length (30h) 4-5 Parameter Code 0001h DU Obsolete TSD ETC TMC 7 Parameter Length = 4 8-11 Accumulated Transitions to Active State 12-13 Parameter Code 0002h 14 DU Obsolete TSD ETC TMC 15 Parameter Length = 4 16-19 Accumulated Transitions to Idle_A 20-21 Parameter Code 0003h 22 DU Obsolete TSD ETC TMC 23 Parameter Length = 4 24-27 Accumulated Transitions to Idle_B 28-29 Parameter Code 0004h 30 DU Obsolete TSD ETC TMC 31 Parameter Length = 4 32-35 Accumulated Transitions to Idle_C 36-37 Parameter Code 0008h 38 DU Obsolete TSD ETC TMC 39 Parameter Length = 4 40-43 Accumulated Transitions to Standby_Z 44-45 Parameter Code 0009h 46 DU Obsolete 0 Page code = 1Ah 1 6 1 TSD ETC TMC 47 Parameter Length = 4 48-51 Accumulated Transitions to Standby_Y FMT & Linking FMT & Linking FMT & Linking FMT & Linking FMT & Linking FMT & Linking Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 183 16.6.17 Log Sense Page 2Fh - SMART Status and Temperature Reading Table 107: Log Sense Page 2Fh - SMART Status and Temperature Reading Bit Byte 0 7 6 5 4 3 Reserved 2 Reserved 2-3 Page Length = 4Ch 4-5 Parameter Code = 0000h DU = 0 DS = 0 0 Page Code = 2Fh 1 6 1 TSD = 0 ETC = 0 TMC = 0 7 Parameter Length = 8 8 SMART Sense Code Byte 9 S<ART Sense Qualifier 10 Most Recent Temperature Reading 11 Vendor Temperature Trip Point 12 Vendor-Unique Maximum Temperature 13-15 Vendor-Unique - Reserved 16-79 Vendor-Unique Parameters (See 0) Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 184 Format & Linking = 11b Table 108: Log Sense Page 2Fh - Vendor Unique Parameter Format for Parameters >0000h Bit Byte 7 6 5 4 2 1 0 Parameter Code 0-1 2 3 DU = 0 DS = 0 TSD = 0 ETC = 0 TMC = 0 3 Page Length = 4 4 SMART Parameter Sense Code Byte 5 SMART Parameter Sense Qualifier 6 SMART Attribute Percentage of Threshold 7 SMART Attribute Trip 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 Description 0001h Remaining Reserve 1 0002h Remaining Reserve XOR 0003h XOR Depletion 0004 Volatile Memory Backup Failure 0005h Wear Indicator 0006h System Area Wear Indicator 0007h Channel Hangs 0008h Flash Scan Failure >0008h Reserved Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 185 16.6.18 Log Sense Page 30h - Reserved Content Table 109: Log Sense Page 30h - Reserved Content Bit Byte 0 7 6 5 4 3 Reserved 2 Reserved 2-3 Page Length = 0030h 4-5 Parameter Code = 0000h DU = 0 DS = 0 0 Page Code = 30h 1 6 1 TSD = 0 ETC = 0 TMC = 0 7 Parameter Length = 2Ch 8-51 Reserved Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 186 F&L = 00b 16.6.19 Log Sense Page 37h - Miscellaneous Data Counters Table 110: Log Sense Page 37h - Miscellaneous Data Counters Bit Byte 0 7 6 5 4 3 Reserved 2 Reserved 2-3 Page Length = 0030h (48) 4-5 Parameter Code = 0000h DU=0 DS=0 TSD=0 ETC=0 TMC = 0 7 Parameter Length = 2Ch 8-11 Power-On Hours (Hours Only) 12-19 Total Bytes Read 20-27 Total Bytes Written 28 Maximum Drive Temp (Degrees Celsius) 29-30 G-List Count 31 Number of Information Exceptions 32 MED EXC HDW EXC Total Read Commands 41-48 Total Write Commands 49-51 Reserved F&L = 00b Reserved 33-40 0 Page Code = 37h 1 6 1 Power-On Hours specifies the total time the drive has been powered on in hours only. Maximum Drive Temperature specifies the maximum temperature, in degrees Celsius, the drive has ever reached. G-List Count will return the total number of defects that are currently reported when the G-List bit is selected during READ DEFECT DATA (37h) and READ DEFECT DATA (B7h) commands. This count does not include the number of defects included in the drive P-List (defects that were discovered during the manufacturing tests). Number of Information Exceptions 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. Media Exception and Hardware Exception if set, 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 187 16.7 MODE SELECT (15) The MODE SELECT (15) command provides a means for the Initiator to specify LUN or device parameters to the Target. It also allows an Initiator to specify options the Target uses in error recovery, caching, and formatting. Table 111: MODE SELECT (15) Bit Byte 7 6 5 4 3 2 1 0 Command Code = 15h 0 Reserved 1 PF = 1 Reserved 2-3 Reserved 4 Parameter List Length 5 Control Byte - Refer to Section 16.1. SP There is a single set of Mode Page parameters shared by all Initiators. PF Page Format bit value of one indicates that the data sent by the Initiator after the Mode Select Header and the Block Descriptor, if any, complies with the Page Format. The Target ignores this field since it only accepts mode parameters in the Page Format. SP Save Pages 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 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 determine which pages are implemented by the drive and the length of those pages. In the Pages of the MODE SENSE command the drive will return the number of bytes supported for each Page. The Page Length set by the Initiator in the MODE SELECT command must be the same value as returned by the drive in MODE SENSE Page Length. If not, the drive will return Check Condition status with sense key of Illegal Request. Note: If an Initiator sends a MODE SELECT command that changes any parameters that apply to other Initiators, the drive shall generate a unit attention condition for all Initiators except for the one that issued the MODE SELECT command. The drive shall set the additional sense code to Parameters Changed (2Ah). Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 188 16.8 MODE SELECT (55) The MODE SELECT (55) command provides a means for the Initiator to specify LUN or device parameters to the Target. See the MODE SELECT (15) command for a description of the fields in this command. Table 112: MODE SELECT (55) Bit Byte 7 6 4 3 2 1 0 Command Code = 55h 0 1 5 Reserved PF=1 Reserved 2-6 Reserved 7-8 Parameter List Length 9 Control Byte - Refer to Section 16.1. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 189 SP 16.9 MODE SENSE (1A) The MODE SENSE (1A) command provides a means for the drive to report various device parameters to the Initiator. It is the complement to the MODE SELECT command. Table 113: MODE SENSE (1A) Bit Byte 7 6 5 Reserved 1 2 DBD PCF 2 3 1 0 Command Code = 1Ah 0 4 Reserved Page Code 3 Subpage Code 4 Allocation Length 5 Control Byte - Refer to Section 16.1. DBD Disable Block Descriptor if set to 0, 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. PCF Page Control Field defines the type of Page Parameter values to be returned. PCF 00 Description 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. Note: 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 190 PCF Description Note: The drive will not process the MODE SELECT command until the completion of spin-up; 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. 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 a 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 specifies which page or pages to return. Page code usage is defined in the following table. Table 114: Page Code Usage Page Code 00h-1Ch 3Fh Description Return specific page, if supported. 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 specifies the subpage to return, and may be set to a specific page, or to FFh for all supported subpages. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 191 16.9.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.9.1.1 Header The header used for the 6-byte CDB is defined below. Table 115: Mode Parameter Header (6) Bit Byte 7 6 5 4 3 0 Mode Data Length 1 Medium Type = 0 WP=0 2 Reserved 2 DPOFUA=1 1 0 1 0 Reserved Block Descriptor Length (= 0 or 8) 3 The header used for the 10-byte CDB is defined below. Table 116: Mode Parameter Header (10) Bit Byte 6 5 4 3 0-1 Mode Data Length 2 Medium Type = 0 WP=0 3 7 Reserved DPOFUA =1 4-5 Reserved 6-7 Block Descriptor Length (= 0 or 8) 2 Reserved Mode Data Length specifies the length in bytes of the following data that is available to be transferred when using the MODE SENSE command. The mode data length does not include the length byte itself. When using the MODE SELECT command, this field is reserved. Medium Type is always set to zero in the drive (Default Medium Type). WP Write Protect is reserved when used with the MODE SELECT command. When used with the MODE SENSE command, a Write Protect (WP) bit of zero indicates that the medium is write enabled. DPOFU when set to 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 SELECDT. Ignoring it allows the Mode Sense Parameter List for the byte containing this bit to be re-used as a Mode Select Parameter List. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 192 16.9.1.2 Block Descriptor Table 117: Block Descriptor The Block descriptor provides formatting information about the Number of Blocks (user addressable) to format at the specified Block Length. Byte 0-3 Number of Blocks 4 Density Code = 0 5-7 Block Length Number of Blocks When used with the MODE SELECT command, the Number of Blocks field must be: - - Zero to indicate that the available blocks are dependent on the supplied Block Length: o If the Block Length specified in the MODE SELECT block descriptor is not changed, the available blocks will not change. o If the Block Length specified in the MODE SELECT block descriptor is changed, the available blocks will be reset to the default capacity for the newly specified block length. 0xFFFFFFFF to indicate all available blocks - default capacity. If a soft capacity is desired, use that value. Refer to section 4.1 for a table showing default and soft capacity limits. 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 is 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 one of the following values: 512, 520, 528, 4096, 4160, and 4224 (8-byte 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 193 16.9.1.3 Table 118: Page Descriptor Mode Parameter Page Format Bit Byte 7 6 0 PS SPF 5 4 3 2 1 0 Page Code 1 Page Length 2-n Mode Parameters Each mode page contains a page code, a page length, and a set of mode parameters. PS Parameter Savable when using the MODE SENSE command and set to 1 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 119: 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 Page Length 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 194 16.9.2 Mode Page 00h - Vendor Unique Parameters Table 120: Mode Page 00h - Vendor Unique Parameters Bit Default Byte 7 6 0 PS 0 5 4 3 2 1 0 Page Code = 00h 80h Page Length = 0Eh 1 0Eh Ignored 2 EMTE EM 00h 3 Ignored 00h 4 Ignored 00h Ignored 5 FDD Ignored 6 Ignored 00h OCT (High Nibble) 00h 7 Overall Command Timer (Low Byte) 00h 8 Ignored 00h 9 Temperature Threshold 00h 10 Ignored 00h 11 Ignored 00h 12 Error Injection Read Reporting Threshold Ignored 13 14 15 38h Ignored Ignored FFMT = 1 00h Ignored SPI Flash Reserved Test 08h Reserved 04h Note: 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. EMTE forces Endurance Manager throttling when set to 1. Regardless of write data rate the Endurance Manager will continuously limit the write data rate at the most aggressive setting. This feature is intended for engineering evaluation only, and not for normal drive operation. EM enables the Endurance Manager when set to 1. The Endurance Manager monitors bytes written to the drive over time, and limits the rate to ensure drive life. 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 1, Format Degraded sense data will not be reported for a Test Unit Ready command. When the FDD bit is 0, 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. 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 0 disabled the feature. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 195 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). Error Injection 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 6 to 58 bits in error. FFMT when set to 1, it enables Fast Format. Fast format makes all LBAs immediately available for writing. Block erase errors may not be reported until after the format command has completed. Refer to section 18.12.1 for format times. SPI Flash Test enables the periodic SPI flash background test. The test ensures the SPI flash storing the drive's boot code is healthy. When enabled this test runs once every 24 hours of device power-on time. If it fails a SMART Flash Scan trip occurs. The test is enabled if this bit is set to 1 and disabled if this bit is set to 0. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 196 16.9.3 Table 121: Mode Page 01h - Read/Write Error Recovery Parameters Mode Page 01h - Read/Write Error Recovery Parameters Bit Default Byte 7 6 0 PS 0 5 3 2 1 0 Page Code = 01h 81h Page Length = 0Ah 1 2 4 AWRE ARRE TB RC EER = 0 0Ah PER DTE DCR C0A 3 Read Retry Count 01h 4 Obsolete 00h 5 Obsolete 00h 6 Obsolete 00h 7 Reserved 00h 8 Write Retry Count 00h 9 Reserved 00h 10 Recovery Time Limit 00h 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 specifies if LBAs are to be transferred to the host even if they are in error. The device shall return a block of zeroed data for any LBAs in error. This feature is enabled when set to 1. 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 is ignored. Read recovery is always performed. Write Retry Count is ignored. Recovery Time Limit is ignored. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 197 16.9.4 Mode Page 02h - Disconnect/Reconnect Parameters The Disconnect/Reconnect page provides the Initiator with the means to tune the performance of the SAS Link. The drive uses the 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). Table 122: Mode Page 02h - Disconnect/Reconnect Parameters Bit Byte 7 6 0 PS 0 5 4 3 2 1 Page Code = 02h 0 Default 82h 1 Page Length = 0Eh 0Eh 2 Read Buffer Full Ratio 00h 3 Write Buffer Empty Ratio 00h 4-5 Bus Inactivity Time Limit 6-7 Disconnect Time Limit = 0 00h 8-9 Maximum Connect Time Limit 00h 10-11 Maximum Burst Size 00h 12-13 Reserved 00h 14-15 First Burst Size = 0 00h 00h 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. 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 198 16.9.5 Mode Page 03h - Format Device Parameters The Format Device page contains parameters that specify the medium format. This page contains no changeable parameters. Table 123: Mode Page 03h - Format Device Parameters Bit Byte 7 6 0 PS 0 5 4 3 2 1 Page Code = 03h 1 Page Length = 16h 2-3 Tracks per Zone 00h 00h Alternate Sectors per Zone = 0 00h 00h Alternate Tracks per Zone = 0 8-9 Alternate Tracks per Logical Unit = 0 10-11 Sectors Per Track 12-13 Data Bytes per Block 14-15 Interleave = 0001h or 0000h 16-17 Track Skew Factor 18-19 Cylinder Skew Factor 03h 16h 6-7 SSEC 21-23 Default 00h 4-5 20 0 HSEC RMB SURF 00h 00h 00h 00h 00h 00h 00h 00h 01h 00h 00h 00h 00h Reserved Reserved 40h 00h Tracks per Zone is obsolete for SSDs. Sectors per Track is obsolete for SSDs. Data Bytes per Block specifies the number of user data bytes per. The value depends upon the current formatted Block Length. Interleave value of 1 or 0 is valid; however the drive will ignore this field. Track Skew Factor is obsolete for SSDs. Cylinder Skew Factor is obsolete for SSDs. SSEC when 0, indicates that the drive does not support soft sector formatting. HSEC when 1, indicates that the drive supports hard sector formatting. RMB when 1, indicates that the media does not support removable Fixed Disk. SURF is obsolete for SSDs Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 199 16.9.6 Mode Page 04h - Rigid Disk Drive Geometry Parameters The Rigid Disk Drive Geometry page specifies various parameters for the drive. Table 124: Mode Page 04h - Rigid Disk Drive Geometry Parameters Bit Byte 7 6 0 PS 0 5 4 3 2 1 0 Page Code = 04h Default 04h 1 Page Length = 16h 16h 2-4 Number of Cylinders 5 Number of heads 00h Starting Cylinder Write Precompensation = 0 00h 6-8 Starting Cylinder Reduced Write Current = 0 00h 9-11 12-13 Drive Step Rate = 0 (Not used) 14-16 Landing Zone Cylinder = 0 (Not used) 00h 00h 00h 00h 00h 00h 00h 00h 17 Reserved 18 Rotational Offset = 0 (Not used) 00h 19 Reserved 00h 20-21 Medium Rotation Rate 22-23 Reserved RPL = 0 00h 00h 01h Medium Rotation Rate is set to 1 to indicate that the drive is an SSD. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 200 00h 16.9.7 Table 125: Mode Page 07h - Verify Error Recovery Parameters Mode Page 07h - Verify Error Recovery Parameters Bit Default Byte 7 6 0 PS 0 5 4 3 2 1 0 Page Code = 07h 87h Page Length = 0Ah 1 Reserved 2 EER=0 0Ah PER DTE DCR 00h 3 Verify Retry Count 01h 4 Obsolete 00h 5-9 Reserved 00h 10-11 Verify Recovery Time Limit 00h 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 is 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 201 16.9.8 Mode Page 08h - Caching Parameters The Caching Parameters page defines parameters that affect the use of the cache. Table 126: Mode Page 08h - Caching Parameters Bit Default Byte 7 6 0 PS 0 5 4 3 2 1 0 Page Code = 08h 88h Page Length = 12h 1 IC 2 ABPF CAP DISC SIZE Demand Read Retention Priority 3 12h WCE MF Write Retention Priority RCD 04h 00h 4-5 Disable Pre-fetch Transfer Length FFh 6-7 Minimum Pre-fetch 00h 8-9 Maximum Pre-fetch FFh 10-11 Maximum Pre-fetch Ceiling FFh FSW 12 LBCSS DRA Reserved 00h 13 Number of Cache Segments 00h 14-15 Cache Segment Size 00h 16 Reserved 00h 17-19 Non Cache Segment Size 00h 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 Enable bit is ignored. WCE Write Cache Enable bit is ignored. 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. Number of Cache Segments is ignored. Cache Segment Size is ignored. Non Cache Segment Size is not supported and is ignored. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 202 16.9.9 Mode Page 0Ah - Control Mode Page Parameters Table 127: Mode Page 0Ah - Control Mode Page Parameters Bit Default Byte 7 6 0 PS 0 5 4 3 2 1 0 Page Code = 0Ah 8Ah Page Length = 0Ah 1 TST=0 2 TMFonly=0 Queue Algorithm Modifier 3 DPICZ RSVD 4 RSVD RAC=0 UA_INTLCK_CTRL=0 5 ATO TAS=0 ATMPE 0Ah D_Sense=0 RLEC= 0 00h DQue 00h QErr SWP=0 RWWP GLTSD=0 Obsolete Reserved 00h 00h 6-7 Obsolete 00h 8-9 Busy Timeout Period 00h 10-11 Extended Self-test Routine Completion Time XXh The following are parameter options for Page 0A. DPICZ Disable Protection Information Check Zero bit set to zero indicates that checking of protection information bytes is enabled. A DPICZ bit set to one indicates that checking of protection information is disabled on commands with: a) The RDPROTECT field (see SCSI Block Commands - 3 (SBC-3)) set to zero; b) The VRPROTECT field (see SCSI Block Commands - 3 (SBC-3)) set to zero; or c) The ORPROTECT field (see SCSI Block Commands - 3 (SBC-3)) set to zero. 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 8h 9h-Fh Reserved Command reordering is disabled. Reserved Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 203 QErr Queue Error Management specifies how the device server shall handle blocked tasks when another task receives a Check Condition status. QERR Value Description 00b Specifies that all tasks from all Initiators are blocked from execution when a Contingent Allegiance (CA condition) is pending. Those blocked tasks are allowed to resume execution in a normal fashion after the CA condition is cleared. 01b Specifies that all tasks from all Initiators are aborted when the Target returns Check Condition status. A unit attention condition will be generated for each Initiator that had commands in the queue except for the Initiator that received the Check Condition status. The sense key will be set to Unit Attention and the additional sense code will be set to Commands Cleared by Another Initiator. 10b Reserved 11b Blocked tasks in the task set belonging to the Initiator to which a Check Condition status is sent shall be aborted when the status is sent. DQue Disable Queuing 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 set to one specifies that the contents of the Logical Block Application Tag field in the protection information, if any, shall not be modified by the drive. An ATO bit set to zero specifies that the contents of the Logical Block Application Tag field in the protection information, if any, may be modified by the drive. If the ATO bit is set to zero, the drive will ignore the contents of the Logical Block Application Tag field in the protection information. ATMPE Application Tag Mode Page Enabled bit set to zero specifies that the Application Tag mode page (see SBC-3) is disabled and the contents of logical block application tags are not defined. An ATMPE bit set to one specifies that the Application Tag mode page is enabled. If: a.) The ATMPE is set to one; b) The ATO bit is set to one; c) The value in the DPICZ bit allows protection information checking for the specified command; and, d) The APP_CHK bit is set to one in the Extended INQUIRY VPD page. then: Knowledge of the value of the Application Tag shall come from the values in the Application Tag Mode page as specified by the DPICZ bit. RWWP Reject Write Without Protection bit set to zero specifies that the device server shall process write commands that are specified to include user data without protection information (e.g., a WRITE(10) command with the WRPROTECT field set to 000b (see SBC-3). A RWWP bit set to one specifies that the device server in a logical unit that has been formatted with protection information shall terminate with CHECK CONDITION status with the sense key set to ILLEGAL REQUEST and the additional sense code set to INVALID FIELD IN CDB any write command that is specified to include user data without 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 204 16.9.9.1 Table 128: Control Extension Subpage Control Extension Subpage Bit Default Byte 7 6 5 0 PS SPF = 1 4 3 2 1 0 CAh Page Code = 0Ah 1 Subpage Code = 01h 01h 2-3 Page Length = 001Ch 001Ch 4 Reserved 5 TCMOS Reserved SCSIP Initial Priority IALUAE 00h 00h 6 Maximum Sense Data Length 00h 7-31 Reserved 00h TCMOS Timestamp Changeable by Methods Outside This Standard is set to 0 to specify that the timestamp shall not be changed by any method except those defined by this standard. SCSIP SCSI Precedence is set to 0 to specify that methods outside this standard may change the timestamp and that the SET TIMESTAMP command is illegal. IALUAE Implicit Asymmetric Logical Unit Access Enabled is set to 0 to specify that implicitly managed transitions between primary target port asymmetric access states are disallowed and indicates that implicitly managed transitions between primary target port asymmetric access states are disallowed or not supported. Initial Command Priority is set to 0 to indicate that the device server does not support priorities with the SET PRIORITY command. Maximum Sense Data Length specifies the maximum number of bytes of sense data the device server shall return in the same I_T_L_Q nexus transaction as the status. A Maximum Sense Data Length field set to zero specifies that there is no limit. The device server shall not return more sense data bytes in the same I_T_L_Q nexus transaction as the status than the smaller of the length indicated by the: a) Maximum Sense Data Length field; and, b) Maximum Supported Sense Data Length field in the Extended INQUIRY VPD page (Page 86h). Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 205 16.9.9.2 Application Tag Subpage The Application Tag mode page specifies the Application Tag that a device server configured for protection information shall use for each LBA range if the ATO bit in the Control Mode page (see SCSI Primary Commands – 4 (SPC-4)) is set to 1 (one). The mode page policy for this page shall be shared. If a method not defined by this standard changes the parameter data to be returned by the device server in the Application Tag mode page, then the device server shall establish a unit attention condition for the SCSI initiator port associated with every I_T nexus with the additional sense code set to MODE PARAMETERS CHANGED. Table 129: Application Tag Mode Page Bit Byte 7 6 0 PS SPF = 1 5 4 3 2 1 0 Page Code = 0Ah 1 Subpage Code = 02h 2-3 Page Length = n-3 4-15 Reserved Application Tag Descriptors 16-39 Application Tag descriptor [First] (n-24)-n Application Tag descriptor [Last] The Parameters Savable (PS) bit, the subpage format (SPF) bit, the Page Code field, the Subpage Code field, and the Page Length field are defined in SCSI Primary Commands – 4 (SPC-4). The SPF bit, the Page Code field, the Subpage Code field, and the Page Length field shall be set to the values shown in the previous table. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 206 The Application Tag Descriptors are defined in the following table. Table 130: Application Tag Descriptor Format Bit Byte 7 0 Last 6 5 4 3 Reserved 6-7 Logical Block Application Tag 8-15 Logical Block Address 16-23 Logical Block Count 1 0 Reserved 1-5 2 A Last bit set to one specifies that this Application Tag descriptor is the last valid Application Tag descriptor in the Application Tag mode page. A Last bit set to zero specifies that the Application Tag descriptor is not the last valid Application Tag descriptor in the Application Tag mode page. The Logical Block Application Tag field specifies the value to be compared with the Logical Block Application Tag field associated with data read or written to the LBA. The Logical Block Address field contains the starting LBA for this Application Tag descriptor. The Logical Block Address field in the first Application Tag descriptor shall be set to 0000_0000_0000_0000h. For subsequent Application Tag descriptors, the contents of the Logical Block Address field shall contain the sum of the values in: a) The Logical Block Address field in the previous Application Tag Descriptor, and; b) The Logical Block Count field in the previous Application Tag Descriptor. The sum of the Logical Block Address field in the Application Tag descriptor with the Last bit set to one and the Logical Block Count field in the Application Tag descriptor with the Last bit set to one shall equal the Returned Logical Block Address field in the Read Capacity (16) parameter data. If an invalid combination of the Last bit, Logical Block Application Tag field, and Logical Block Address field are sent by the application client, then the device server shall terminate the Mode Select command (see SCSI Primary Commands – 4 (SPC-4)) with Check Condition status with the sense key set to Illegal Request and the additional sense code set to Invalid Field In Parameter List. The Logical Block Count field specifies the number of logical blocks to which this Application Tag descriptor applies. A Logical Block Count field set to 0000_0000_0000_0000h specifies that this Application Tag descriptor shall be ignored. The drive supports a maximum of 16 Application Tag Descriptors. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 207 16.9.10 Mode Page 0Ch - Notch Parameters The Notch Parameters page is obsolete for SSDs and is presented here for informational purposes only. Table 131: Mode Page 0Ch - Notch Parameters Bit Byte 0 1 2 3 7 PS 6 0 ND = 1 LPN = 0 5 4 3 2 Page Code = 0Ch Page Length = 16h Reserved Reserved 4-5 Maximum Number of Notches 6-7 Active Notch 8-11 Starting Boundary 12-15 Ending Boundary 16-23 Pages Notched 1 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 208 0 Default 8Ch 16h 80h 00h 00h 00h 00h 00h 00h 00h 00h 00h 0000h 0000h 0000h 0000h 16.9.11 Mode Page 18h (Protocol-Specific Logical Unit) This page will define the protocol-specific parameters that affect the logical unit. Table 132: Mode Page 18h (Protocol-Specific Logical Unit) Bit Default Byte 7 6 0 PS=0 SPF=0 4 3 2 1 0 Page Code = 18h 18h Page Length = 6h 1 Reserved 2 5 Transport Layer Retries=0 6h Protocol Identifier = 6h 6h 3 Reserved 00h 4-7 Reserved 00h Transport Layer Retries is unchangeable and set to zero. The drive does not support Transport Layer Retries as defined in SAS 1.1. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 209 16.9.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.9.12.1 Short Format of Port Control Page Table 133: Short (Port Control Parameters) Short Format Bit Default Byte 7 6 0 PS SPF = 0 4 3 2 1 Page Code = 19h Page Length = 0Eh 1 2 5 RSVD Continue AWT Broadcast Asynchronous Event Ready LED Meaning 0 99h 0Eh Protocol Identifier = 6h 06h 3 Reserved 00h 4-5 I_T Nexus Loss Timer 07h-D0h 6-7 Initiator Response Timeout 07h-D0h 8-9 Reject to Open Limit 0000h 10-15 Reserved 00h PS Parameters Savable is set to 1 to indicate the parameters are savable. SPF shall be set to zero for access to the short format mode page. Protocol Identifier has a value of 6h to indicate this is a SAS SSP specific mode page. Continue AWT bit is set to one (1) to specify that the SAS port shall not stop the Arbitration Wait Time timer and set the Arbitration Wait Time timer to zero when the SAS port receives an OPEN_REJECT RETRY). A CONTINUE AWT bit set to zero specifies that the SAS port shall stop the Arbitration Wait Time timer and set the Arbitration Wait Time timer to zero when it receives an OPEN_REJECT (RETRY). Broadcast Asynchronous Event bit set to one specifies that the device server shall enable origination of Broadcast (Asynchronous Event). A BROADCAST ASYNCHRONOUS EVENT bit set to zero specifies that the device server shall disable origination of Broadcast (Asynchronous Event). Ready LED Meaning specifies the READY LED signal behavior. In general, when the bit is 0, and the drive is in a ready state, the LED is usually on, but flashes on and off when commands are processed. When the bit is 1, the LED is usually off, but flashes on and off when commands are processed. For additional implementation specifics, see the SAS standards. I_T Nexus Loss Time contains the time (in milliseconds) that our SSP target port shall retry connection requests to an SSP initiator port that are rejected with responses indicating the SSP initiator port may no longer be present before recognizing an I_T nexus loss. A value of 0 indicates a vendor specific amount of time and 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 210 Initiator Response Timeout contains the time in milliseconds that the SSP target port shall wait for the receipt of a Data frame after sending the XFER_RDY frame requesting data. When the INITIATOR RESPONSE TIMEOUT expires, the associated command will be aborted. An INITIATOR RESPONSE TIMEOUT field value of zero indicates that the SSP target port shall disable the timer. This value is enforced by the transport layer. The default value of 7D0h, specifies a 2 second time period. Reject to Open Limit contains the minimum time in 10 µs increments that the target port shall wait to establish a connection request with an initiator port on an I_T nexus after receiving an OPEN_REJECT (RETRY), OPEN_REJECT (CONTINUE 0), or OPEN_REJECT (CONTINUE 1). This value may be rounded as defined in SCSI Primary Commands – 4 (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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 211 16.9.12.2 Long Format of Port Control Page The drive maintains an independent set of port control mode page parameters for each SAS initiator port. Table 134: Long Format of Port Control Page Bit Default Byte 7 6 5 0 PS SPF=1 4 3 2 1 Page Code = 19h 0 D9h 1 Subpage Code ... 2-3 Page Length (n-3) 0000h 4 Reserved 00h 5 Reserved Protocol Identifier = 6h 06h ... 6 Protocol Specific Mode Parameters ... n SPF shall be set to one for access to the long format mode page. Subpage Code indicates which subpage is being accessed. The drive supports the following subpage codes. If the Subpage Code is not supported, the drive returns a CHECK CONDITION status, the sense key is set to ILLEGAL REQUEST and the additional sense code set to ILLEGAL FIELD IN PARAMETER LIST: 01h PHY Control and Discover Subpage 02h Shared Port Control Subpage FFh All supported Subpages Page Length specifies the length in bytes of the subpage parameters after the Page Length. Protocol Identifier has a value of 6h indicating this is a SAS SSP specific mode page. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 212 16.9.12.3 PHY Control and Discover - Subpage 1 The Phy Control and Discover subpage contains Phy-specific parameters. The MODE SENSE command returns the current settings for the initiator. Table 135: PHY Control and Discover - Subpage 1 Bit Default Byte 7 6 5 0 PS SPF=1 4 3 2 1 Page Code = 19h 0 D9h 1 Subpage Code = 1 01h 2-3 Page Length = 0064h 0064h 4 Reserved 00h Reserved 5 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 ... Protocol Identifier has a value of 6h indicating this is a SAS SSP specific mode page. Generation Code is a one-byte counter that shall be incremented by one by the device server every time the values in this mode page or the SAS Phy mode page (see SAS Phy Mode Page - Subpage 3) field values are changed. A GENERATION CODE field set to 00h indicates the generation code is unknown. The device server shall wrap this field to 01h as the next increment after reaching its maximum value (i.e., FFh). The GENERATION CODE field is also contained in the Protocol-Specific Port log page and may be used to correlate Phy settings across mode page and log page accesses. Number of PHYS is set to 2, to represent the dual ported drive (one PHY per port) SAS PHY Mode Descriptor are defined in Table 116 on page 152. There are two SAS PHY Mode Descriptor fields, one per port. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 213 Table 136: SAS PHY Mode Descriptor Bit Byte 7 6 5 4 3 0 Reserved 1 PHY Identifier 2 1 0 Reserved 2-3 RSVD 4 Attached Device Type Attached Reason Reason 5 6 Reserved 7 Reserved Negotiated Logical Link Rate Attached SSP Initiator Port Attached STP Initiator Port Attached SMP Reserved Initiator Port Attached Attached Attached SSP Target STP Target STP Target Port Port Port 8-15 SAS Address 16-23 Attached SAS Address 24 Attached PHY Identifier 25-31 Reserved Reserved 32 Programmed Minimum Physical Link Rate Hardware Minimum Physical Link Rate 33 Programmed Maximum Physical Link Rate Hardware Maximum Physical Link Rate 34-41 Reserved 42-43 Vendor Specific 44-47 Reserved PHY Identifier indicates the Unique PHY Identifier for the PHY associated with the other data in this SAS PHY Mode Descriptor Page. Attached Reason indicates the value of the REASON field in the last received IDENTIFY address frame associated with the PHY Identifier list in this SAS PHY Mode Descriptor. See Table 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 44: 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 44:. 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 44:. SAS Address contains the Unique Port Identifier for the Port associated with the PHY Identifier listed in this SAS PHY Mode Descriptor Hardware Minimum Physical Link Rate is the minimum link rate supported by the Port associated with the PHY Identifier listed in this SAS PHY Mode Descriptor. Hardware Maximum Physical Link Rate is the maximum link rate supported by the Port associated with the PHY Identifier listed in this SAS PHY Mode Descriptor. Programmed Minimum Physical Link Rate is the current minimum link rate used during speed negotiation by the Port associated with the PHY Identifier listed in this SAS PHY Mode Descriptor. Programmed Maximum Physical Link Rate is the current maximum link rate used during speed negotiation by the Port associated with the PHY Identifier listed in this SAS PHY Mode Descriptor. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 214 16.9.12.4 Shared Port Control - Subpage 2 Table 137: Shared Port Control - Subpage 2 Bit Default Byte 7 6 5 0 PS SPF=1 4 3 2 1 Page Code = 19h 0 D9h 1 Subpage Code = 2 02h 2-3 Page Length = 000Ch 000Ch 4 Reserved 00h Reserved 5 Protocol Identifier = 6 06h 6-7 Power Loss Timeout 0000h 8-15 Reserved 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). o The Power Loss Timeout will be restarted after each NOTIFY (POWER LOSS EXPECTED) that is received. o A POWER LOSS TIMEOUT field set to 0000h specifies that the maximum time is vendorspecific and automatically defaults to 2 seconds. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 215 16.9.12.5 SAS Phy Mode Page - Subpage 3 Table 138: SAS Phy Mode Page - Subpage 3 Bit Default Byte 7 6 5 0 PS SPF=1 4 3 2 1 Page Code 19h 0 D9h 1 Subpage Code = 3 03h 2-3 Page Length = 002Ch 002Ch 4 Reserved 00h Reserved 5 Protocol Identifier = 6 06h 6 Generation Code 00h 7 Number of Phys = 02h 02h 8-27 SAS PHY Mode Descriptor 0 - 28-47 SAS PHY Mode Descriptor 1 - Generation Code is a one-byte counter that shall be incremented by one by the device server every time the values in this mode page or the SAS Phy mode page (see SAS Phy Mode Page - Subpage 3) field values are changed. o o 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 216 Table 139: PHY Mode Descriptor (0 and 1) Bit Byte 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 19 Negotiated SSC Reserved Reserved 1 0 Negotiated Physical Link Rate Enable Slumber Enable Partial Phy Capabilities are defined under the “SAS Speed Negotiation” on Page XX. Enable Partial enables the drive to support partial slumber power down. Enable Slumber enables the drive to support slumber power down. See Section 15.4.6 for more information on Power Management. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 217 Hardware Muxing Supported=’0’ 16.9.13 Mode Page 1Ah - Power Control Table 140: Mode Page 1Ah - Power Control Bit Default Byte 7 6 0 PS 0 5 4 3 2 1 0 Page Code = 1Ah 9Ah Page Length = 26h 1 26h Reserved 2 Reserved 3 Idle_C 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 Standby_Y if 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. Idle_C if 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. Idle_B if 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. Idle_A if 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. Standby_Z if 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. 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. Standby_Z Condition Timer 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. Idle_B Condition Timer 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. Idle_C Condition Timer 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. Standby_Y Condition Timer 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 218 16.9.13.1 Power Consumption - Subpage 1 Power Consumption ID specifies the current power consumption mode enabled on the drive. Table 141: Power Consumption - Subpage 1 BIT Default Byte 7 6 0 PS SPF=1 5 4 3 2 1 Page Code = 1Ah 0 DAh 1 Subpage Code = 01h 01h 2-3 Page Length = 000Ch 000Ch 4-6 Reserved 0000h 7 Power Consumption ID 00h 8-15 Reserved 0000h The valid values are: Value Power Consumption Mode 0x00 9 Watt 0x01 11 Watt Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 219 16.9.14 Mode Page 1Ch - Informational Exceptions Control Table 142: Mode Page 1Ch - Informational Exceptions Control Bit Default Byte 7 6 0 PS 0 5 4 3 2 1 0 Page Code = 1Ch 9Ch Page Length = 0Ah 1 PERF 2 RSVD EBF EWASC DEXCPT Reserved 3 0Ah TEST EBACKERR LOGERR Method of Reporting 10h 03h 00h 00h Interval Time 4-7 00h 00h 8-11 Report Count 00h 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 0 indicates that warnings will not be reported. A EWASC bit of one allows warnings to be reported. The Method of Reporting field controls the reporting method. EWASC is independent of DEXCPT. DEXCPT Disable Exception Control bit of 0 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 1 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. EBACKERR Enable Background Error bit of 0 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 220 Method of Reporting Informational Exceptions indicates the methods used by the Target to report informational exception conditions. Code 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 Description Reserved. Interval Timer 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 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 221 16.9.14.1 Background Control - Subpage 01h Table 143: Background Control - Subpage 01h Bit Default Byte 7 6 0 PS SPF=1 5 4 3 2 1 0 Page Code = 1Ch DCh 1 Subpage Code = 01h 01h 2-3 Page Length = 0Ch 000Ch Reserved 4 S_L_Full LOWIR Reserved 5 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 0000h S_L_FULL Suspend on Log Full bit is set to 0 to allow 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. LOWIR Log Only When Intervention Required bit set to 0 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 0 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 0 specifies that the pre-scan is disabled. If a pre-scan operation is in progress when EN_PS is changed from a one to a zero, then pre-scan is halted. An EN_PS bit set to one specifies that a pre-scan operation is started after the next power-on cycle. Once this pre-scan has completed, another pre-scan shall not occur unless the EN_PS bit is set to zero, then set to one, and another power-on cycle occurs. Background Medium Scan Interval Time specifies the minimum time, in hours, between the start of one background medium scan operation and the start of the next background medium scan operation. Background Pre-Scan Time Limit specifies the maximum time, in hours, for a pre-scan operation to complete. If the pre-scan operation does not complete within the specified time, then it is halted. A value of zero specifies an unlimited time limit. Minimum Idle Time before Background Scan specifies the minimum time, in milliseconds, that the drive must be idle before resuming a background media scan or pre-scan. A value of zero will be treated as the default value of 1.0 second. Any value less than 100 milliseconds will be treated as 100 milliseconds. The internal timer granularity is 50 milliseconds. Maximum Time to Suspend Background Scan is ignored. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 222 16.10 MODE SENSE (5A) The MODE SENSE (5A) command provides a means for the drive to report various device parameters to the initiator. See the MODE SENSE (1A) command for a description of the fields in this command. Table 144: MODE SENSE (5A) Bit Byte 7 6 5 0 3 2 1 Command Code = 5Ah Reserved 1 2 4 DBD PCF Page Code 3-6 Reserved 7-8 Allocation Length 9 Control Byte - Refer to Section 16.1. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 223 Reserved 0 16.11 PERSISTENT RESERVE IN (5E) PERSISTENT RESERVE IN (5E) 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). Table 145: Persistent Reserve In (5E) Bit Byte 7 6 4 3 2 1 0 Command Code = 5Eh 0 Reserved 1 5 Service Action 2-6 Reserved 7-8 Allocation Length 9 Control Byte - Refer to Section 16.1. 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.11.1 Service Action Codes The following Service Action Codes are implemented. If a reserved service action code is specified, the drive returns a Check Condition status. The sense key is set to Illegal Request and the additional sense data is set to Invalid Field in CDB. Table 146: Code PERSISTENT RESERVE IN, Service Action Codes 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 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 224 16.11.2 Parameter Data for Read Keys Table 147: PERSISTENT RESERVE IN, Parameter Data for Read Keys Bit Byte 7 6 5 4 3 0-3 Generation 4-7 Additional length (n-7) 8-15 First Reservation Key 2 1 0 ... (n-7)-n Last Reservation Key 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. It 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. Additional Length 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. Reservation Key list contains the 8-byte reservation keys for all Initiators that have registered through all ports with the Target. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 225 16.11.3 Parameter Data for Read Reservations Table 148: PERSISTENT RESERVE IN, Parameter Data for Read Reservations Bit Byte 7 6 5 4 3 0-3 Generation 4-7 (Additional Length (n-7) 8-n Reservation Descriptors 2 1 0 Generation 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). Allocation length is specified by the PERSISTENT RESERVE IN command if 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. Reservation Descriptors’ format 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 149: PERSISTENT RESERVE IN, Read Reservation Descriptor Bit Byte 6 5 4 3 0-7 Reservation Key 8-11 Scope-Specific Address 12 Reserved 13 14-15 7 Scope=0 2 1 Type Extent Length=0 Scope of each persistent reservation created by a PERSISTENT RESERVE OUT command will be returned. See the PERSISTENT RESERVE OUT command section for details. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 226 0 16.12 PERSISTENT RESERVE OUT (5F) PERSISTENT RESERVE OUT (5F) 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. Table 150: PERSISTENT RESERVE OUT (5F) Bit Byte 7 6 5 4 3 2 1 0 Command Code = 5Fh 0 Reserved 1 Service Action Scope=0 2 Type 3-6 Reserved 7-8 Parameter List Length = 18h 9 Control Byte - Refer to Section 16.1. 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. 16.12.1 Service Action Codes The following Service Action Codes are supported. Table 151: Code PERSISTENT RESERVE OUT, Service Action Codes 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 existing key Register a reservation key. Reserved Reserved 07h-1Fh Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 227 16.12.2 Type Codes 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 152: Code PERSISTENT RESERVE OUT, Type Codes Name Description 0h Reserved Reserved 1h Write Exclusive Reads Shared: Any initiator may execute commands that transfer from the media. Writes Exclusive: Only the initiator with the reservation may execute commands that transfer data to the media; the 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; the 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; the Reservation Conflict status will be returned to other initiators. 4h Reserved Reserved 5h Write Exclusive Registrants Only Reads Shard: Any initiator may execute commands that transfer from media. Writes Exclusive: Only registered initiators may execute commands that transfer data to the media; the Reservation Conflict status will be returned to other initiators. 6h Exclusive Access Registrants Only Reads Exclusive: Only registered initiators may execute commands that transfer data from the media; the Reservation Conflict status will be returned to other initiators. Writes Exclusive: Only registered initiators may execute commands that transfer data to the media; the Reservation Conflict status will be returned to other initiators. 7h-Fh Reserved Reserved Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 228 16.12.3 Parameter list The Parameter List required to perform the PERSISTENT RERSERVE OUT command is defined in the following table. All fields must be sent on all PERSISTENT RESERVE OUT commands, even if the field is not required for the specified service action. Table 153: Parameter List Bit Byte 7 6 5 4 3 2 0-7 Reservation Key 8-15 Service Action Reservation Key 16-19 Reserved Reserved 20 21-23 SPEC_I_P ALL_TG_PT 1 0 RSVD APTPL Reserved 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. SPEC_I_PT If the Specify Initiator Ports 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 218 on page 389 of Spc4r36. ALL_TG_PT All Target Ports 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 229 16.12.4 Summary Table 154: PERSISTENT RESERVE OUT, Service Action, Parameters Parameters Service Scope Rsv SvcAct S-Spec Extent APTPL Generation Action Type Key RsvKey Addr Length (0) Register Ignore Verify Save Ignore Ignore Apply +1 (1) Reserve Apply Verify Ignore Ignore Ignore Apply --- (2) Release Apply Verify Ignore Ignore Ignore Ignore --- (5) Preempt and Abort Apply Verify Save Ignore Ignore Ignore +1 Counter 16.12.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 are ignored in the process for the Register service action because they are not used. 16.12.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.12.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.12.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 155: APTPL and Drive Information Last Valid APTPL Value Information Held by Drive 0 0 Registration All Keys Set to 0 Retained Persistent Reservation All are removed. Retained Generation Counter Set to 0. Set to 0 16.12.4.5 Generation Counter The drive increments the Generation counter when Register service action or Preempt and Clear service action complete successfully. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 230 16.13 PRE-FETCH (10) - (34) The PRE-FETCH (10) 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. Table 156: PRE-FETCH (10) - (34) Bit Byte 7 6 5 4 3 2 1 0 Immed=0 Obsolete Command Code = 34h 0 Reserved 1 2-5 Logical Block Address 6 Reserved 7-8 Transfer Length 9 Control Byte - Refer to Section 16.1 16.14 PRE-FETCH (16) - (90) The PRE-FETCH (16) 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. Table 157: PRE-FETCH (16) - (90) Bit Byte 7 6 5 4 3 Reserved 1 2-9 Logical Block Address 10-13 Prefetch Length 15 1 0 IMMED RSVD Command Code = 90h 0 14 2 Reserved Group Number Control Byte - Refer to Section 16.1 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 231 16.15 READ (6) - (08) READ (6) 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). Table 158: READ (6) - (08) Bit Byte 7 6 4 3 2 1 0 Command Code = 08h 0 Reserved 1 5 Logical Block Address 2-3 Logical Block Address (continued) 4 Transfer Length 5 Control Byte - Refer to Section 16.1. Logical Block Address specifies the logical unit at which the READ operation shall begin. Transfer Length specifies the number of blocks to be transferred. A value of zero implies 256 blocks are to be transferred. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 232 16.16 READ (10) - (28) READ (10) 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. Table 159: READ (10) - (28) Bit Byte 7 6 RDPROTECT 1 4 3 2 1 0 RSVD FUA_NV Obsolete Command Code = 28h 0 5 DPO FUA 2-5 Logical Block Address 6 Reserved 7-8 Transfer Length 9 Control Byte - Refer to Section 16.1. 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 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. 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. o RDPROTECT=000b Protection information is checked (if applicable), but not transmitted to the initiator. Logical Block Guard is checked. Logical Block Application Tag is checked (applies to 32-byte CDBs or when ATO=1). Logical Block Reference Tag is checked. Note Protection information is not checked if DPICZ = 1. o 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 32-byte CDBs or when ATO=1). Logical Block Reference Tag is checked. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 233 o 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 32-byte CDBs or when ATO=1). Logical Block Reference Tag is checked. o 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. o 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. o RDPROTECT=101b Protection information is transmitted to the initiator with the user data. Logical Block Guard is checked. Logical Block Application Tag is checked (applies to 32-byte CDBs or when ATO=1). Logical Block Reference Tag is checked. o RDPROTECT=110b, 111b These values are reserved. Check Condition status will be returned with sense key of Illegal Request and an 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 234 16.17 READ (12) - (A8) READ (12) causes the drive to transfer data to the initiator. See the READ (10) description for the definitions of the fields in this command. Table 160: Read (12) - (A8) Bit Byte 7 6 4 3 2 1 0 RSVD FUA_NV RSVD Command Code = A8h 0 1 5 RDPROTECT DPO FUA 2-5 Logical Block Address 6-9 Transfer Length 10 Reserved 11 Control Byte - Refer to Section 16.1. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 235 16.18 READ (16) - (88) READ (16) causes the drive to transfer data to the initiator. See the READ (10) description for the definitions of the fields in this command. Table 161: READ (16) - (88) Bit Byte 7 6 5 3 RDPROTECT DPO FUA 2-9 Logical Block Address 10-13 Transfer Length 14 15 2 1 0 RSVD FUA_NV RSVD Command Code = 88h 0 1 4 Restricted for MMC-4 Reserved Group Number Control Byte - Refer to Section 16.1. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 236 16.19 READ (32) - (7F/09) READ (32) 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. Table 162: READ (32) - (7F/09) Bit Byte 7 6 5 4 3 2 0 Command Code = 7Fh 1 Control Byte - Refer to Section 16.1. 2-5 Reserved Reserved 6 Additional CDB Length = 18h 8-9 Service Action = 0009h RDPROTECT DPO FUA RSVD 11 Reserved 12-19 Logical Block Address 20-23 Expected Initial Logical Block Reference Tag 24-25 Logical Block Application Tag 26-27 Logical Block Application Tag Mask 28-31 Transfer Length 0 FUA_NV RSVD Group Number = 0 7 10 1 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 237 16.20 READ BUFFER (3C) READ BUFFER (3C) is used in with WRITE BUFFER (3B) as a diagnostic function for testing the memory of the drive and the SCSI bus integrity. This command does not alter the medium. Table 163: READ BUFFER (3C) Bit Byte 7 6 5 4 3 2 1 Command Code = 3Ch 0 Reserved 1 Mode 2 Buffer ID = 0 3-5 Buffer Offset 6-8 Allocation Length 9 Control Byte - Refer to Section 16.1. 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 11100 Error History 11010 Enable Expander Communications Protocol and Echo Buffer All others Not supported. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 238 0 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 164: Read Buffer Header Bit Byte 7 6 5 4 0 Reserved 1-3 Buffer Capacity 3 2 1 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 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 239 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 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 is reserved. Allocation Length should be set to four or greater. The drive transfers the allocation length or four bytes of READ BUFFER descriptor, whichever is less. The allocation length of zero indicates no data is transferred. The allocation length of greater than zero and less than four (size of the Descriptor) is an invalid request and will cause the command to be terminated with Check Condition status. The drive shall set sense key to Illegal Request and additional sense code to Illegal Field in CDB. The READ BUFFER descriptor is defined below. Table 165: Read Buffer Descriptor Bit Byte 7 6 5 4 0 Offset Boundary = 0x09 1-3 Buffer Capacity 3 2 1 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 240 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 166: Echo Buffer Descriptor Bit Byte 7 6 5 2 1 0 EBOS=0 Reserved 1 3 3 Reserved 0 2 4 Reserved Buffer Capacity Buffer Capacity EBOS Echo Buffer Overwritten Supported bit of zero indicates that the echo buffer is shared by all Initiators. Buffer Capacity 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 Read Data from Echo Buffer (Mode 01010b). Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 241 16.20.7 Error History (Mode 11100b) This mode is used to manage and retrieve error history. If the device server is unable to process a READ BUFFER command with the Mode field set to 1Ch (11100b) due to a vendor-specific condition, then the device server shall terminate the command with Check Condition status, with the sense key set to Illegal Request, and the additional sense code set to Command Sequence Error. The Code that is set in Buffer ID field specifies the action that the device server shall perform, and the parameter data, if any, that the device server shall return. Buffer ID 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 byte offset from the start of the buffer specified by the Buffer ID field from which the device server shall return data. The application client should conform to the offset boundary requirements as indicated by the Read Buffer Descriptor. The Buffer Offset must be set to 0000h for Error History I_T Nexus Constrained. 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. Whenever allowed by an established Error History I_T Nexus constraint, if any, all error history device server actions return an Error History Directory as shown in the table below. Table 167: Error History Directory Bit Byte 7 0 (MSB) 6 … 5 4 3 2 1 0 T10 Vendor Identification (LSB) 7 8 Version 9 Reserved EHS_Retrieved EHS_Source CLR_SUP 10 … Reserved 29 30 31 (MSB) Directory Length (n-31) Error History Directory List 32 … Error History Directory Entry [First] 39 . . . n-7 … Error History Directory Entry [Last] n Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 242 (LSB) T10 Vendor Identification identifies the manufacturer of the logical unit. Version indicates the version and format of the vendor specific error history. EHS_Retrieved (Error History Retrieved) indicates whether a clear error history device server action has been requested for the error history snapshot. The field is set to 00b or 10b if the error history snapshot has been created: Code 00b No information. 01b The Error History I_T Nexus has requested Buffer ID FEh (i.e., Clear Error History I_T Nexus) or Buffer ID FFh (i.e., Clear Error History I_T Nexus and Release Snapshot) for the current error history snapshot. 10b The Error History I_T Nexus has not requested Buffer ID FEh (i.e., Clear Error History I_T Nexus) or Buffer ID FFh (i.e., Clear Error History I_T Nexus and Release Snapshot) for the current error history snapshot. 11b Reserved EHS_Source (Error History Source) indicates the source of the error history snapshot: Code Description Description 00b The error history snapshot was created by the device server and was not created due to processing a Read Buffer command. 01b Error history snapshot was created due to processing of the current Read Buffer command. 10b Error history snapshot was created due to processing of a previous Read Buffer command. 11b Reserved CLR_SUP (Clear Support) bit: o If the bit is set to one, then the CLR bit is supported in the Write Buffer command download history mode. o If the bit is set to zero, then the CLR bit is not supported. Directory Length indicates the number of bytes that follow in the error history directory list. The value shall not change even if the allocation length is not sufficient to transfer the entire error history directory list. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 243 The Error History Directory List contains an Error History Directory Entry for each supported Buffer ID in the range of 00h to EFh. The first entry shall be for Buffer ID 00h and the subsequent entries in order of ascending Buffer IDs greater than or equal to F0h. Table 168: Error History Directory Entry Bit Byte 7 0 6 5 4 3 2 1 0 Supported Buffer ID 1 … Reserved 3 4 … (MSB) Maximum Available Length 7 (LSB) Supported Buffer ID indicates the error history Buffer ID associated with this entry. Maximum Available Length indicates the maximum number of data bytes contained in the buffer as indicated by the Supported Buffer ID field. The actual number of bytes available for transfer may be smaller. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 244 16.21 READ CAPACITY (10) - (25) READ CAPACITY (10) returns information regarding the capacity of the drive. Table 169: READ CAPACITY (10) - (25) Bit Byte 7 6 5 4 3 2 0 Command Code = 25h 1 Reserved 2-5 Reserved 6-7 Reserved 8 Reserved 9 Control Byte - Refer to Section 16.1. 1 0 16.21.1 Returned Data Format The data returned to the Initiator in response to the READ CAPACITY command is described below. The data is returned in the DATA IN phase. The Block Length specifies the length in bytes of each block of user data (not including protection information). Table 170: Format of READ CAPACITY Command Reply Bit Byte 6 7 5 4 3 0-3 Maximum Logical Block Address 4-7 Block Length 2 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 245 1 0 16.22 READ CAPACITY (16) (9E/10) READ CAPACITY (16) (9E/10) 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. Table 171: Read Capacity (16) (9E/10) Bit Byte 7 6 5 4 3 2 1 0 Command Code = 9Eh 0 Reserved 1 Service Action = 10h 2-9 Reserved 10-13 Allocation Length 14 Reserved 15 Control Byte - Refer to Section 16.1 16.22.1 Returned Data Format Table 172: Returned Data Format Bit Byte 6 7 5 4 3 2 0-7 Returned Logical Block Address 8-11 Logical Block Length in Bytes 12 Reserved 13 P_I_Exponent LBPME=1 14 LBPRZ=1 1 P_Type 0 Prot_En Logical Block Per Physical Block Exponent Lowest Aligned Logical Block Address 15 Lowest Aligned Logical Block Address 16-31 Reserved Returned Logical Block Address 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 Returned Logical Block Address is FFFF_FFFF_FFFF_FFFEh. P_Type Protection Type and Prot_En Protection Enable indicate the logical unit’s current type of protection. See the following table. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 246 Table 173: P_TYPE Field and PROT_EN Bit PROT_EN P_TYPE 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 Description Reserved P_I_Exponent 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 Logical Block Per Physical Block Exponent is defined below: Table 174: LOGICAL BLOCKS PER PHYSICAL BLOCK EXPONENT Field Code 0 n>0 1 Description One or more physical blocks per logical block.(a) 2n Logical Blocks per Physical Block The logical unit is formatted to Type 2 Protection. (a) The number of physical blocks per logical block is not reported. LBPME Logical Block Provisioning Management Enabled is set to 1. The drive implements logical block provisioning management. LBPRZ Logical Block Provisioning Read Zeros is set to 1. For an unmapped LBA specified by a read operation, the drive sends user data with all bits set to zero in the Data-In Buffer. If protection information is also transferred on the read operation, it will be all 0xFFs. Lowest Aligned Logical Block Address 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). Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 247 16.23 READ DEFECT DATA (37) READ DEFECT DATA (37h) requests that the Target transfer the medium defect data to the Initiator. See READ DEFECT DATA (B7). Table 175: READ DEFECT DATA (37) Bit Byte 7 6 5 4 3 0 Command Code = 37h 1 Reserved Reserved 2 Plist 2 1 0 0 Glist 3-6 Reserved 7-8 Allocation Length 9 Control Byte - Refer to Section 16.1. Defect List Format 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 1 indicates that the Target returns the Plist. A Plist bit of 0 indicates that the Target shall not return the Plist of defects. Glist bit set to 1 indicates that the Target returns the Glist. A Glist bit of 0 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 of '110 (Vendor Unique Format)' is supported. If the requested format is not supported by the drive, it will return the defect list in its default format '110' 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 Target will transfer all of the Read Defect Data up to the number of bytes allocated by the Initiator. 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 248 16.23.1 Defect List Header Table 176: Defect List Header Bit 7 6 5 4 3 2 1 0 Byte Defect List Header Reserved 0 Reserve 1 Plist Glist Defect List Format Defect List length 2-3 16.23.2 Defect List Descriptor Table 177: 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 Defect List Format specifies the format of the defect list data returned by the Target. Defect List Length 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 249 16.24 READ DEFECT DATA (B7) See READ DEFECT DATA (37). Table 178: READ DEFECT DATA (B7) Bit Byte 7 6 4 3 2 1 Command Code = B7h 0 1 5 Reserved Plist Glist 2-5 Reserved 6-9 Allocation Length 10 Reserved 11 Control Byte - Refer to Section 16.1. Defect List Format Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 250 0 16.24.1 Defect List Header Table 179: Defect List Header Bit Byte 7 6 5 4 3 2 1 0 Defect List Header Reserved 0 Reserved 1 Plist Glist 2-3 Reserved 4-7 Defect List Length Defect List Format See Defect List Header for Read Defect Data (37) in Section Table Defect List Header. 16.24.2 Defect List Descriptor Table 180: Defect List Descriptor Bit Byte 7 6 5 4 3 2 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 Defect List Descriptor. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 251 1 0 16.25 READ LONG (3E) - 10-Byte CDB READ LONG (3E) requests the drive to transfer one block of data to the Initiator. The transfer data includes data and ECC field data. Table 181: READ LONG (3E) -10-Byte CDB Bit Byte 7 6 5 4 0 2 1 0 PBLOCK Correct = 0 Obsolete Command Code = 3Eh 1 3 Reserved 2-5 Logical Block Address 6 Reserved 7-8 Byte Transfer Length 9 Control Byte - Refer to Section 16.1. 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 specifies the logical block at which the read operation shall occur. Byte Transfer Length must specify exactly the number of bytes of data that are available for transfer. If a non-zero byte transfer length does not match the available data length, the Target terminates the command with Check Condition status, the sense key is set to Illegal Request, and an additional sense code set to Invalid Field in CDB. The valid and ILI bits are set to one and the information field is set to the difference of the requested length minus the actual length in bytes. Negative values are indicated by two's complement notation. PBLOCK is supported by the drive f there is more than one logical block per physical block (i.e. the LOGICAL BLOCKS PER PHYSICAL BLOCK EXPONENT field in the READ CAPACITY (16) parameter data is set to a non-zero value). If the PBLOCK bit is 0, the drive will return bytes representing only the specified logical block. If the PBLOCK bit is 1, the drive will return the entire physical block containing the specified logical block. The Transfer Length is calculated as follows: Transfer Length = Logical Block Size + Protection Information Size + CRC size (PBLOCK=0) Transfer Length = (8* Logical Block Size) + (8* Protection Information Size) + (8* CRC Size) (PBLOCK=1) Where protection information size is either 0 (Protection Mode 0) or 8 (Protection Mode 1 or 2) and CRC Size is 4. Note: The data read by this command is neither read from nor retained in the cache. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 252 16.26 READ LONG (16) - (9E/11) 16-Byte CDB Please refer to the 10-byte CDB for READ LONG (3E). Table 182: READ LONG (16) - (9E/11) 16-Byte CDB Bit Byte 7 6 4 3 2 Reserved Logical Block Address 10-11 Reserved 12-13 Byte Transfer Length 15 0 Service Action (11h) 2-9 14 1 Operation Code (9Eh) 0 1 5 Reserved PBLOCK Control Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 253 CORRCT 16.27 REASSIGN BLOCKS (07) REASSIGN BLOCKS (07) 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. Table 183: REASSIGN BLOCKS (07) Bit Byte 7 6 5 4 3 2 0 Command Code = 07h 1 Reserved 2-4 Reserved 5 Control Byte - Refer to Section 16.1. 1 0 Note: 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. Following is the format of the data sent by the Initiator during the DATA OUT phase. Table 184: Format of Reassign Blocks data Bit Byte 7 6 5 4 3 0 Reserved 1 Reserved 2-3 Defect List Length = 4/8/12/16 4-7 Defect Logical Block Address 1 8-11 Defect Logical Block Address 2 12-15 Defect Logical Block Address 3 16-19 Defect Logical Block Address 4 2 1 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 254 16.28 RECEIVE DIAGNOSTICS RESULTS (1C) RECEIVE DIAGNOSTIC RESULTS (1C) requests that analysis data requested by a SEND DIAGNOSTIC command be sent to the Initiator. Table 185: RECEIVE DIAGNOSTICS RESULTS (1C) Bit Byte 7 6 5 4 3 0 Command Code = 1Ch 1 Reserved 2 0 PCV 2 Page Code 3-4 Allocation Length 5 Control Byte - Refer to Section 16.1. 1 PCV Page Code Valid bit of 0 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.28.1 Receive Diagnostic Results Page 0 This page contains a list of supported pages. The supported diagnostic page returns a list of supported pages in ascending order. Table 186: Receive Diagnostic Results Page 0 Bit Byte 7 6 5 4 3 0 Page Code = 0 1 Reserved 2-3 2 Page Length = 03h 4 (Supported Pages) Page = 0h 5 CJTPAT page = 3Fh Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 255 1 0 16.29 RELEASE (17) RELEASE (17) is used to release a LUN that was 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. Table 187: RELEASE (17) Bit Byte 7 6 Reserved 1 4 3 2 1 0 Command Code = 17h 0 5 3rdPty=0 3rd Party ID 2 Reservation Identification 3-4 Reserved 5 Control Byte - Refer to Section 16.1. Ext=0 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. Ext Extents must be 0. Extension is not supported by the drive. Reservation Identification field is ignored. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 256 16.30 RELEASE (57) RELEASE (57) is used to release a LUN that was 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. Table 188: RELEASE (57) Bit Byte 7 6 Reserved 1 4 3 2 1 0 Command Code = 57h 0 5 3rdPty=0 Reserved 2 Reservation Identification 3 3rd Party Device ID 4-8 Reserved 9 Control Byte - Refer to Section 16.1 Ext = 0 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. Ext Extent must be 0. Extension is not supported by the drive. Reservation Identification field is ignored. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 257 16.31 REPORT DEVICE IDENTIFIER (A3/05) REPORT DEVICE IDENTIFIER (A3/05) requests that the device server send device identification information to the application client. Table 189: REPORT DEVICE IDENTIFIER (A3/05) Bit Byte 7 6 5 Reserved 1 2 1 0 Service Action = 05h 2 Reserved 3 Reserved 4-5 LUN=0 6-9 Allocation Length 10 Reserved 11 3 Command Code = A3h 0 4 Vendor specific Reserved NACA Obsolete LUN Logical Unit number is expected to be 0. 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. Allocation Length 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 258 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. Table 190: Report Device Identifier Parameter List Bit Byte 7 6 5 4 3 0-3 Identifier Length = n – 3 4-n Identifier 2 1 0 Identifier Length 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. Identifier 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 will 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 259 16.32 REPORT LUNS (A0) REPORT LUNS (A0) 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. Table 191: REPORT LUNS (A0) Bit Byte 7 6 5 4 3 0 Command Code = A0h 1-5 Reserved 6-9 Allocation Length 10 Reserved 11 Vendor specific Reserved 2 1 NACA 0 Obsolete 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. 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. Table 192: LUN Reporting Parameter List Format Bit Byte 7 6 5 4 3 0-3 LUN List Length = 8 4-7 Reserved 8-15 LUN = 0 2 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 260 1 0 16.33 REPORT SUPPORTED OPERATION CODES (A3/0C) REPORT SUPPORTED OPERATION CODES (A3/0C) 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. Table 193: REPORT SUPPORTED OPERATION CODES (A3/0C) Bit Byte 7 6 5 Reserved 1 RCTD 2 3 2 1 0 Command Code = A3h 0 4 Service Action = 0Ch Reserved Reporting Options 3 Requested Operation Code 4-5 Requested Service Action 6-9 Allocation Length 10 Reserved 11 Control Byte - Refer to Section 16.1. RCTD Return Command Timeouts Descriptor set to one specifies that the command timeouts descriptor shall be included in each command descriptor (see section all_commands Parameter Data Format) that is returned or in the one_command parameter data (see section one_command Parameter Data Format) that is returned. A RCTD bit set to zero specifies that the command timeouts descriptor shall not be included in any parameter data returned. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 261 Reporting Options specifies the information to be returned in the parameter data. Table 194: Reporting Options Reporting Option 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 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. 010b 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. 011b-111b Description Reserved Requested Operation Code specifies the operation code of the command to be returned in the one_command parameter data format. Requested Service Action specifies the service action of the command to be returned in the one_command parameter data format. Allocation Length specifies the number of bytes that have been allocated for the returned parameter data. If the length is not sufficient to contain all the parameter data, the first portion of the data shall be returned. The actual length of the parameter data may be determined from the Additional Length field in the parameter data. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 262 16.33.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 195: all_commands 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 196: Command Descriptor Format Bit Byte 7 6 5 4 3 0 Operation Code 1 Reserved 2-3 Service Action 4 Reserved 2 Reserved 5 1 0 CTDP Servactv 6-7 CDB Length 8-19 Command Timeouts Descriptor, if any (see Command Timeouts Descriptor Format) Operation Code contains the operation code of a supported command. Service Action contains a supported service action of the supported operation. If the operation code does not have a service action, the Service Action field will be set to zero. CTDP Command Timeouts Descriptor Present bit set to 1 indicates that the command timeouts descriptor (See Command Timeouts Descriptor Format) is included in this command descriptor. A CTDP bit set to 0 indicates that the command timeouts descriptor is not included in this command descriptor. Servactv set to 0 indicates the operation code does not have service actions and the Service Action field should be ignored. SERVACTV set to 1 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 263 16.33.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 197: one_command Parameter Data Format Bit Byte 7 6 5 4 3 2 CTDP 1 Reserved Support 2-3 CDB Size (n-3) 4-n CDB Usage Data n+1 – n+12 Command Timeouts Descriptor, if any (see 16.33.3) 0 Reserved 0 1 CTDP Command Timeouts Descriptor Present bit set to 1 indicates that the command timeouts descriptor is included in this command descriptor (see 16.33.3). A CTDP bit set to 0 indicates that the command timeouts descriptor is not included in this command descriptor. Support is defined in Table 196. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 264 Table 198: one_command Parameter Support Field Recording Option 000b 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. 001b The requested command is not supported. All data after byte 1 is not valid. 010b Reserved 011b The requested command is supported in conformance with the standard. 100b Reserved 101b The requested command is supported in a vendor specific manner. 110b-111b Description 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 265 16.33.3 Command Timeouts Descriptor Format 16.33.3.1 Overview The command timeouts descriptor (See Table 199: ) returns timeout 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 spin-up rotating media). Values returned in the command timeouts descriptor should not be used to compare products. Table 199: Command Timeouts Descriptor Format Bit Byte 7 6 5 4 3 2 0-1 Descriptor Length (0Ah) 2 Reserved 3 Command Specific 4-7 Nominal Command Processing Timeout 8-11 Recommended Command Timeout 1 0 Descriptor Length indicates the number of bytes that follow in the command timeouts descriptor. Command Specific contains timeout information (see Table 200:) that is specific to one or more commands. If no command specific timeout information is defined by this or the applicable command standard, the COMMAND SPECIFIC field is reserved. Table 200: Command Timeouts Descriptor Command Specific Field Usage Command Reference WRITE BUFFER See Section 0 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 266 16.33.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 and save mode (07h); Download microcode with offsets and defer activation mode (0Eh) only if the microcode is activated by an event other than an activate deferred microcode mode; and Activate deferred microcode mode (0Fh). If the command timeouts descriptor describes one of the WRITE BUFFER modes listed in this sub clause, then the COMMAND SPECIFIC field indicates the maximum time, in one second increments, that access to the SCSI device is limited or not possible through any SCSI ports associated with a logical unit that processes a WRITE BUFFER command that specifies one of the named modes. A value of zero in the COMMAND SPECIFIC field indicates that the no maximum time is indicated. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 267 16.34 REPORT SUPPORTED TASK MANAGEMENT FUNCTIONS (A3/0D) REPORT SUPPORTED TASK MANAGEMENT FUNCTIONS (A3/0D) requests information on task management functions supported by the drive. Table 201: REPORT SUPPORTED TASK MANAGEMENT FUNCTIONS (A3/0D) Bit Byte 7 6 5 4 3 2 0 Command Code = A3h 0 Reserved 1 Service Action = 0Dh 2-5 Reserved 6-9 Allocation Length 10 Reserved 11 Control Byte - Refer to Section 16.1. 1 Allocation Length specifies the number of bytes that have been allocated for the returned parameter data. The allocation length must be at least four. If the allocation length is less than four, Check Condition Status will be returned with sense key of Illegal Request and additional sense code of Invalid Field in CDB. The format of the returned parameter data is shown below. Bit Byte 7 6 5 4 3 2 1 0 0 ATS ATSS CACAS CTSS LURS QTS TRS WAKES QUAS QTSS ITNRS 1 Reserved 2 Reserved 3 Reserved ATS Abort Task bit set to 1 indicates that ABORT TASK is supported. An ATS bit of 0 indicates that ABORT TASK is not supported. ATSS Abort Task Set bit set to 1 indicates that ABORT TASK SET is supported. An ATSS bit of 0 indicates that ABORT TASK SET is not supported. CACAS Clear ACA bit set to 1 indicates that CLEAR ACA is supported. A CACAS bit of 0 indicates that CLEAR ACA is not supported. CTSS Clear Task Set bit set to 1 indicates that CLEAR TASK SET is supported. A CTSS bit of 0 indicates that CLEAR TASK SET is not supported. LURS Logical Unit Reset bit set to 1 indicates that LOGICAL UNIT RESET is supported. An LUR bit of 0 indicates that LOGICAL UNIT RESET is not supported. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 268 QTS Query Task bit set to 1 indicates that QUERY TASK is supported. A QTS bit of 0 indicates that QUERY TASK is not supported. TRS Target Reset bit set to 1 indicates that TARGET RESET is supported. A TRS bit of 0 indicates that TARGET RESET is not supported. WAKES Wakeup bit set to 1 indicates that WAKEUP is supported. A WAKES bit of0 indicates that WAKEUP is not supported. QUAS Query Unit Attention Supported bit set to 1 indicates the QUERY UNIT ATTENTION task management function (see SAM-4) is supported by the logical unit. A QUAS bit set to 0 indicates the QUERY UNIT ATTENTION task management function is not supported. QTSS Query Task Set Supported bit set to 1 indicates the QUERY TASK SET task management function (see SAM-4) is supported by the logical unit. A QTSS bit set to 0 indicates the QUERY TASK SET task management function is not supported. ITNRSA I_T Nexus Reset Supported bit set to 1 indicates the I_T NEXUS RESET task management function (see SAM-4) is supported by the logical unit. An ITNRS bit set to 0 indicates the I_T NEXUS RESET task management function is not supported. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 269 16.35 REQUEST SENSE (03) REQUEST SENSE (03) will request that the drive transfer sense data. Table 202: REQUEST SENSE (03) Bit Byte 7 6 5 4 3 2 0 Command Code = 03h 1 Reserved 2-3 Reserved 4 Allocation Length 5 Control Byte - Refer to Section 16.1. 1 0 If a 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 270 16.36 RESERVE (16) RESERVE (16) 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. Table 203: RESERVE (16) Bit Byte 7 6 Reserved 1 4 3 2 1 0 Command Code = 16h 0 5 3rdPty=0 3rd Party ID 2 Reservation Identification 3-4 Extent List Length = 0 5 Control Byte - Refer to Section 16.1. Ext=0 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: o The reservation is superseded by another valid Reserve command from the Initiator that made the reservation. o The reservation is released by a RELEASE command from the same Initiator. o A hard Reset condition occurs. o A Target Reset message is received from any Initiator. o A power off/on cycle occurs. 3rdPty must be 0. Third Party reservations are not supported. If the 3rdPty bit is not 0, 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 271 16.37 RESERVE (56) RESERVE (56) 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. Table 204: RESERVE (56) Bit Byte 7 6 Reserved 1 4 3 2 1 0 Command Code = 56h 0 5 3rdPty=0 Reserved 2 Reservation Identification 3 Third Party Device ID 4-6 Reserved 7-8 Extent List Length = 0 9 Control Byte - Refer to Section 16.1. Ext=0 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: o The reservation is superseded by another valid Reserve command from the Initiator that made the reservation. o The reservation is released by a RELEASE command from the same Initiator. o A hard Reset condition occurs. o A Target Reset message is received from any Initiator. o A power off/on cycle occurs. o 3rdPty must be 0. Third Party reservations are not supported. If the 3rdPty bit is not 0, Check Condition status is returned with a sense key of Illegal Request and additional sense code of Invalid Field in CDB. o 3rd Party Device 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 272 16.38 REZERO UNIT (01) REZERO UNIT (01) command is implemented as a no-op for the SSD. Table 205: REZERO UNIT (01) Bit Byte 7 6 5 4 3 2 0 Command Code = 01h 1 Reserved 2-4 Reserved 5 Control Byte - Refer to Section 16.1. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 273 1 0 16.39 SANITIZE (48) SANITIZE (48h) will request that the device server perform a sanitize operation on the target device. Table 206: SANITIZE (48) Bit Byte 7 6 5 4 Immed 1 2 1 0 Command Code = 48h 0 3 RSVD AUSE Service Action 2-6 Reserved 7-8 Parameter List Length = 0 9 Control Byte - Refer to Section 16.1. Immed bit is to specify: o 0 status is to be returned at the end of the operation. o 1 Good status shall always be returned immediately after command has been received. The TEST UNIT READY command may be used to determine when the drive becomes ready. AUSE bit can be set to 1 to allow EXIT FAILURE MODE service action on a subsequent SANITIZE. If AUSE is set to 0, and the sanitize fails, a subsequent SANITIZE with EXIT FAILURE MODE will be rejected. Parameter List Length must be 0. If not, the drive returns a Check Condition status. The sense key is set to Illegal Request and the additional sense data is set to Invalid Field in CDB. 16.39.1 Sanitize (48) Service Action Codes The following service action codes are implemented. If a reserved service action code is specified, the drive returns a Check Condition status. The sense key is set to Illegal Request and the additional sense data is set to Invalid Field in CDB. Table 207: SANITIZE Service Action Codes Code Name Descriptions 00-01h Reserved Returns Check Condition. 02h Block Erase Places all blocks on the NAND allocated to user data/information in the erased state. 03h Cryptographic Erase Alters the drive internal encryption key to make user data/information unreadable. Reserved Returns Check Condition. Exit Failure Mode If a prior Sanitize operation was issued with AUSE = 1 and it failed, this will take the drive out of degraded mode, Sanitize Failed state. The condition of the NAND blocks is not guaranteed in this case. 04h-1Eh 1Fh Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 274 16.40 SECURITY PROTOCOL IN (A2) SECURITY PROTOCOL IN (A2) will request the device server to return security protocol information or the results of one or more SECURITY PROTOCOL OUT (B5) commands. Table 208: SECURITY PROTOCOL IN (A2) Bit Byte 7 6 5 4 3 0 Operation Code = A2h 1 Security Protocol 2 1 0 2 Security Protocol Specific 3 4 Reserved INC_512 Reserved 5 6 (MSB) Allocation Length ... (LSB) 9 10 Reserved 11 Control The code (01h to 06h) generated for the Security Protocol field is defined by the TCG Specification. The contents of the Security Protocol Specific field are defined by the protocol specified by the Security Protocol field. A INC_512 (512 Increment) bit set to one (1) specifies that the Allocation Length field will express the maximum number of bytes available to receive data in 512-byte increments (e.g., a value of one (1) equals 512 bytes, a value of two (2) equals 1,024 bytes, etc.). Pad Bytes may or may not be appended to meet this length. Pad Bytes shall have a value of 00h. A INC_512 (512 Increment) bit set to zero specifies that the Allocation Length field expresses the maximum number of bytes available to receive data in increments of one (1) byte. The Control byte is defined in SAM-5. Indications of data overrun or underrun and the mechanism, if any, for processing retries are defined by the protocol specified by the Security Protocol field. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 275 Any association between a previous SECURITY PROTOCOL OUT command and the data transferred by a SECURITY PROTOCOL IN command depends on the protocol specified by the Security Protocol field. If the device server has no data to transfer (e.g., the results for any previous SECURITY PROTOCOL OUT commands are not yet available), the device server may transfer data indicating that it has no other data to transfer. The format of the data transferred depends on the protocol specified by the Security Protocol field. The device server shall retain data resulting from a SECURITY PROTOCOL OUT command, if any, until one of the following events is processed: a) transfer of the data via a SECURITY PROTOCOL IN command from the same I_T_L nexus as defined by the protocol specified by the Security Protocol field; b) logical unit reset; or, c) I_T Nexus loss associated with the I_T Nexus that sent the SECURITY PROTOCOL OUT command. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 276 16.41 SECURITY PROTOCOL OUT (B5) SECURITY PROTOCOL OUT (B5) will request that the device server to process the specified parameter list using the specified security protocol. The application client may use the SECURITY PROTOCOL IN (A2) command to retrieve data that results from the processing of one or more SECURITY PROTOCOL OUT (B5) commands. Table 209: SECURITY PROTOCOL OUT (B5) Bit Byte 7 6 5 4 3 0 Operation Code = B5h 1 Security Protocol 2 1 0 2 Security Protocol Specific 3 4 Reserved INC_512 Reserved 5 6 (MSB) Transfer Length ... (LSB) 9 10 Reserved 11 Control The code (01h to 06h) generated for the Security Protocol field is defined by the TCG Specification. The contents of the Security Protocol Specific field are defined by the protocol specified by the Security Protocol field. A INC_512 (512 Increment) bit set to one (1) specifies that the Transfer Length field will express the number of bytes to be transferred in 512-byte increments (e.g., a value of one (1) equals 512 bytes, a value of two (2) equals 1,024 bytes, etc.). Pad Bytes shall be appended to meet this length. Pad Bytes shall have a value of 00h. A INC_512 (512 Increment) bit set to zero specifies that the Transfer Length field indicates the number of bytes to be transferred. The Control byte is defined in SAM-5. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 277 Any association between a SECURITY PROTOCOL OUT command and a subsequent SECURITY PROTOCOL IN command is defined by the protocol specified by the Security Protocol field. Each protocol shall define whether: a) the device server shall complete the command with a GOOD status as soon as it determines the data has been correctly received. An indication that the data has been processed is obtained by sending a SECURITY PROTOCOL IN command and receiving the results in the associated data transfer; or, b) the device server shall complete the command with a GOOD status only after the data has been successfully processed and an associated SECURITY PROTOCOL IN command is not required. The format of the data transferred depends on the protocol specified by the Security Protocol field. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 278 16.42 SEEK (6) - (0B) The SEEK (6) and SEEK (10) commands are implemented as no-ops on the SSD. No checking is performed on the LBA in the CDB. Table 210: SEEK (6) - (0B) Bit Byte 7 6 5 4 3 2 1 0 1 0 Command Code = 0Bh 0 Reserved 1 Logical Block Address 2-3 Logical Block Address (continued) 4 Reserved 5 Control Byte - Refer to Section 16.1. 16.43 SEEK (10) - (2B) Table 211: SEEK (10) - (2B) Bit Byte 7 6 5 4 3 0 Command Code = 2Bh 1 Reserved 2 2-5 Logical Block Address 6-8 Reserved 9 Control Byte - Refer to Section 16.1. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 279 0 16.44 SEND DIAGNOSTIC (1D) SEND DIAGNOSTIC (1D) 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. Table 212: SEND DIAGNOSTIC (1D) Bit Byte 7 6 5 4 3 2 1 0 SlfTst Dev0fl Unt0fl Command Code = 1Dh 0 Function Code 1 PF RSVD 2 Reserved 3-4 Parameter List Length 5 Control Byte - Refer to Section 16.1. PF Page Format bit set to 1 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 0 indicates that the device performs its default self-test. If SlfTst is 1, the Function code field is ignored. If SlfTst is set to 0, the action to perform is specified in Function code field. Table 213: Value SEND DIAGNOSTIC Function Code (1D) Function Name Description 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 selftest 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 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). 111b Reserved Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 280 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 281 16.44.1 Send Diagnostic Page 0 This page requests that the drive return a list of supported pages on the next RECEIVE DIAGNOSTICS command. Table 214: Diagnostic Page 0 Bit Byte 7 6 5 4 3 0 Page Code = 0 1 Reserved 2-3 Page Length = 0 2 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 282 1 0 16.44.2 Send Diagnostic Page 3F Table 215: Send Diagnostic Page 3F Bit Byte 7 6 5 4 3 2 0 Page Code = 3F 0 Reserved 1 Protocol Identifier = 6 2-3 Page Length = 1Ch 4 Phy Identifier 5 Phy Test Function 6 Phy Test Pattern RSVD 7 Phy Test Pattern SATA = 0 Phy Test Pattern SSC Phy Test Pattern Physical Link Rate 8-10 Reserved 11 Phy Test Pattern Dwords Control 12-19 Phy Test Pattern Dwords 20-31 Reserved 1 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 283 Phy Test Function specifies the Phy test function to be performed. If an unsupported function is requested, Check Condition status will be returned with a sense key of Illegal Request and additional sense of Invalid Field in Parameter List. Phy Test Function 00h 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. 01h 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-FEh FFh Description Not supported. 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. 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 F1h PRBS15 F2h PRBS23 F3h PRB31 F4h-FFh Reserved Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 284 Phy Test Pattern Physical Link Rate specifies the physical link rate at which the Phy test pattern shall be transmitted. Supported values are 9h for 3.0 Gbps, Ah for 6.0 Gbps and Bh for 12.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 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 SSC hardware of the drive 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 00h No SSC. 01h Center-Spreading SSC (Not supported). 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 in the Phy Test Pattern Dwords field shall be sent as a data character (i.e., Dxx.y) without scrambling. 08h The fifth byte in the Phy Test Pattern Dwords field shall be sent as a control character (i.e., Kxx.y). Each other byte shall be sent as a data character without scrambling. 80h The first byte in the Phy Test Pattern Dwords field shall be sent as a control character. Each other byte shall be sent as a data character without scrambling. 88h The first and fifth bytes in the Phy Test Pattern Dwords field shall be sent as a control character. Each other byte shall be sent as a data character without scrambling. All others Description Reserved Phy Test Pattern Dwords contains the two Dwords that are sent during a TWO_DWORDS test pattern. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 285 16.45 SET DEVICE IDENTIFIER (A4/06) SET DEVICE IDENTIFIER (A4/067) command requests that the device identifier information be set to the value received in the SET DEVICE IDENTIFIER parameter list. Table 216: SET DEVICE IDENTIFIER (A4/06) Bit Byte 7 6 5 4 3 Reserved 1 Reserved 3 Reserved 4-5 Restricted = 0 6-9 Parameter List Length 10 Reserved Vendor-Specific 0 Service Action = 06h 2 1 Command Code = A4h 0 2 Reserved NACA Obsolete 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 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 will contain the identifier to be set by the addressed logical unit. Table 217: SET DEVICE IDENTIFIER Parameter List Bit Byte 0-n 7 6 5 4 3 2 1 Identifier The IDENTIFIER field is a vendor specific value, to be returned in subsequent REPORT DEVICE IDENTIFIER commands. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 286 0 16.46 START STOP UNIT (1B) START STOP UNIT (1B) is used to make the media accessible or inaccessible. The SSD automatically makes the media accessible at power-on; the command only emulates HDD behavior by making the SSD ready or not ready. Table 218: START STOP UNIT (1B) Bit Byte 7 6 5 4 Command Code = 1Bh 1 Reserved 1 0 Immed Reserved 3 Reserved 4 Power Condition Power Condition Modifier Reserved LoEj = 0 Start Control Byte - Refer to Section 16.1. 5 2 0 2 3 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. If a non-zero Power Condition is set, the Start bit is ignored. The Power Condition must be set to zero to allow the Start bit setting to affect the state of the drive. Start bit is to specify: 0 Make the media inaccessible. 1 Make the media accessible. 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 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 287 16.47 SYNCHRONIZE CACHE (10) - (35) SYNCHRONIZE CACHE (10) is implemented as a no-op on the SSD. Data integrity is maintained across power cycles by PLI circuitry. Table 219: SYNCHRONIZE CACHE (10) - (35) Bit Byte 7 6 5 4 2 1 0 SYNC_NV Immed Obsolete Command Code = 35h 0 1 3 Reserved 2-5 Logical Block Address 6 Reserved 7-8 Number of Blocks 9 Control Byte - Refer to Section 16.1. Logical Block Address must be a valid LBA on the drive, but otherwise is ignored and has no impact on command execution. SYNC_NV is ignored. It may be set to 0 or 1 with no impact on the command execution. Immed is ignored. It may be set to 0 or 1 with no impact on the command execution. Number of Blocks specifies the total number of contiguous logical blocks within the range. Number of Blocks of 0 indicates that all remaining logical blocks on the logical unit shall be within the range. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 288 16.48 SYNCHRONIZE CACHE (16) - (91) SYNCHRONIZE CACHE (16) is implemented as a no-op on the SSD. Data integrity is maintained across power cycles by PLI circuitry. See the SYNCHRONIZE CACHE (10) description for definitions of the fields in this command. Table 220: SYNCHRONIZE CACHE (16) - (91) BIT Byte 7 6 5 4 2 1 0 SYNC_NV Immed RSVD Command Code = 91h 0 1 3 Reserved 2-9 Logical Block Address 10-13 Number of Blocks 14 Reserved 15 Control Byte - Refer to Section 16.1. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 289 16.49 TEST UNIT READY (00) TEST UNIT READY (00) 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. Table 221: TEST UNIT READY (00) Bit Byte 7 6 5 4 3 2 0 Command Code = 00h 1 Reserved 2-4 Reserved 5 Control Byte - Refer to Section 16.1. 1 0 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, REPORT LUNS, 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 290 16.50 UNMAP (42) UNMAP (42) command requests that the drive cause one or more LBAs to be unmapped. When an LBA is "unmapped", subsequent reads to the LBA will return all 0x00s. Protection information for the LBA (if applicable) will be 0xFFFFFFFF_FFFFFFFF. For additional information, refer to section 18.x Logical Block Provisioning. Table 222: UNMAP (42) Bit Byte 7 6 2 1 0 Anchor Reserved 2-5 3 Reserved 1 4 Operation Code (42h) 0 6 5 Reserved Group Number 7-8 Parameter List Length 9 Control Anchor bit is ignored. Since the drive is “resource provisioned”, any LBA on which an unmap operation is performed will become anchored (regardless of the setting of the ANCHOR bit in the UNMAP command). Group Number shall be 0. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 291 16.50.1 UNMAP Parameter List The UNMAP parameter list contains the data sent by an application client along with an UNMAP command. Included in the data are an UNMAP parameter list header and block descriptors for LBA extents to be processed by the device server for the UNMAP command. The LBAs specified in the block descriptors may contain overlapping extents, and may be in any order. For each specified LBA, the LBA will become anchored (regardless of previous state). Table 223: UNMAP Parameter list Bit Byte 7 6 5 4 3 2 0-1 Unmap Data Length (n - 1) 2-3 Unmap Block Descriptor Data Length (n - 7) 4-7 Reserved 1 0 UNMAP Block Descriptors 8-23 UNMAP Block Descriptor [First] (see Table 185) … n-15 ... UNMAP Block Descriptor [Last] (see Table 207:) n Unmap Data Length specifies the length in bytes of the following data that is available to be transferred from the Data-Out Buffer. The unmap data length does not include the number of bytes in the UNMAP DATA LENGTH field. Unmap Block Descriptor Data Length specifies the length in bytes of the UNMAP block descriptors that are available to be transferred from the Data-Out Buffer. The unmap block descriptor data length should be a multiple of 16. If the unmap block descriptor data length is not a multiple of 16, then the last unmap block descriptor is incomplete and shall be ignored. If the UNMAP BLOCK DESCRIPTOR DATA LENGTH is set to zero, then no unmap block descriptors are included in the UNMAP parameter data. This condition shall not be considered an error. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 292 Table 224: UNMAP Block Descriptor Bit Byte 7 6 5 4 3 2 0-7 Unmap Logical Block Address 8-11 Number of Logical Blocks 12-15 Reserved 1 0 Unmap Logical Block Address contains the first LBA of the UNMAP block descriptor to be unmapped. Number of Logical Blocks contains the number of LBAs to be unmapped beginning with the LBA specified by the UNMAP LOGICAL BLOCK ADDRESS field. If the NUMBER OF LOGICAL BLOCKS is set to 0, then no LBAs shall be unmapped for this UNMAP block descriptor. This condition shall not be considered an error. If the LBA specified by the UNMAP LOGICAL BLOCK ADDRESS field plus the number of logical blocks exceeds the capacity of the medium, then the device server shall terminate the command with CHECK CONDITION status with the sense key set to ILLEGAL REQUEST and the additional sense code set to LOGICAL BLOCK ADDRESS OUT OF RANGE. If the total number of logical blocks specified in the UNMAP block descriptor data exceeds the value indicated in the MAXIMUM UNMAP LBA COUNT field in the Block Limits VPD page (See Table 58: Inquiry Data Format - EVPD = 1 (Page Code = B0h)), or if the number of UNMAP block descriptors exceeds the value of the MAXIMUM UNMAP BLOCK DESCRIPTOR COUNT field in the Block Limits VPD page, then the device server shall terminate the command with CHECK CONDITION status with the sense key set to ILLEGAL REQUEST and the additional sense code set to INVALID FIELD IN PARAMETER LIST. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 293 16.51 VERIFY (10) - (2F) VERIFY (10) 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. Table 225: VERIFY (10) - (2F) BIT Byte 7 6 VRPROTECT 1 4 3 2 1 0 ByteChk RSVD Command Code = 2Fh 0 5 DPO Reserved 2-5 Logical Block Address 6 Reserved 7-8 Verification Length 9 Control Byte - Refer to Section 16.1. ByteChk bit set to 0 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 1 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. 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 294 VRPROTECT=000b If the drive is not formatted with protection information, only user data is verified. If the drive is formatted with protection information: o Logical Block Guard is checked. o Logical Block Application Tag is checked (applies to 32-byte CDBs or when ATO=1). o Logical Block Reference Tag is checked. VRPROTECT=001b o Logical Block Guard is checked. o Logical Block Application Tag is checked (applies to 32-byte CDBs or when ATO=1). o Logical Block Reference Tag is checked. VRPROTECT=010b o Logical Block Guard is not checked. o Logical Block Application Tag is checked (applies to 32-byte CDBs or when ATO=1). o Logical Block Reference Tag is checked. VRPROTECT=011b o Logical Block Guard is not checked. o Logical Block Application Tag is not checked. o Logical Block Reference Tag is not checked. VRPROTECT=100b o Logical Block Guard is checked. o Logical Block Application Tag is not checked. o Logical Block Reference Tag is not checked. VRPROTECT=101b o Logical Block Guard is checked. o Logical Block Application Tag is checked (applies to 32-byte CDBs or when ATO=1). o Logical Block Reference Tag is checked. VRPROTECT=110b, 111b o These values are reserved. o Check Condition status will be returned with sense key of Illegal Request and additional sense code of Invalid Field in CDB. o 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. o Refer to the ANSI T10 standards for additional details of protection information. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 295 16.52 VERIFY (12) - (AF) VERIFY (12) will cause the drive to verify data written on the media. See the VERIFY (10) description for the definitions of the fields in this command. Table 226: VERIFY (12) - (AF) Bit Byte 7 6 5 4 3 2 1 0 RSVD ByteChk RSVD Command Code = AFh 0 VRPROTECT 1 DPO FUA 2-5 Logical Block Address 6-9 Verification Length 10 Reserved 11 Control Byte - Refer to Section 16.1. 16.53 VERIFY (16) - (8F) VERIFY (16) 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. Table 227: VERIFY (16) - (8F) Bit Byte 7 6 4 3 2 1 0 ByteChk RSVD Command Code = 8Fh 0 1 5 VRPROTECT DPO Reserved 2-9 Logical Block Address 10-13 Verification Length 14 Reserved 15 Control Byte - Refer to Section 16.1. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 296 16.54 VERIFY (32) - (7F/0A) VERIFY (32) requests that the drive 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. Table 228: VERIFY (32) - (7F/0A) Bit Byte 7 6 5 4 3 2 0 Command Code = 07Fh 1 Control Byte - Refer to Section 16.1. 2-5 Reserved Reserved 6 Additional CDB Length = 18h 8-9 Service Action = 000Ah RDPROTECT DPO Reserved 11 Reserved 12-19 Logical Block Address 20-23 Expected Initial Logical Block Reference Tag 24-25 Expected Logical Block Application Tag 26-27 Logical Block Application Tag Mask 28-31 Verification Length 0 ByteChk RSVD Group Number = 0 7 10 1 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. Expected Initial Logical Block Reference Tag 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 297 16.55 WRITE (6) - (0A) The WRITE (6) command will request 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). Table 229: WRITE (6) - (0A) Bit Byte 7 6 4 3 2 1 0 Command Code = 0Ah 0 Reserved 1 5 Logical Block Address 2-3 Logical Block Address (continued) 4 Transfer Length 5 Control Byte - Refer to Section 16.1. Logical Block Address specifies the logical unit at which the WRITE operation shall begin. Transfer Length specifies the number of blocks to be transferred. A value of zero implies 256 blocks are to be transferred. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 298 16.56 WRITE (10) - (2A) The WRITE (10) command requests that the drive write the data transferred from the Initiator. This command is processed like the standard WRITE (6) - (0A) command except for the longer transfer length. Table 230: WRITE (10) - (2A) Bit Byte 7 6 4 3 2 1 0 RSVD FUA_NV Obsolete Command Code = 2Ah 0 1 5 WRPROTECT DPO FUA 2-5 Logical Block Address 6 Reserved 7-8 Transfer Length 9 Control Byte - Refer to Section 16.1. 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 command is received after protection information is enabled, the drive will set the protection information as follows as it writes each block to drive: o The Logical Block Guard field is set to a properly generated CRC. o 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) o 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. 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 299 WRPROTECT=000b o Protection information is not transmitted to the drive. o If the drive is formatted with protection information, the drive will write protection information to drive based on its internal algorithms. WRPROTECT=001b o Protection information is transmitted to the drive with the user data. o Logical Block Guard is checked. o Logical Block Application Tag is checked (applies to 32-byte CDBs or when ATO=1). o Logical Block Reference Tag is checked. WRPROTECT=010b o Protection information is transmitted to the drive with the user data. o Logical Block Guard is not checked. o Logical Block Application Tag is checked (applies to 32-byte CDBs or when ATO=1). o Logical Block Reference Tag is checked. WRPROTECT=011b o Protection information is transmitted to the drive with the user data. o Logical Block Guard is not checked. o Logical Block Application Tag is not checked. o Logical Block Reference Tag is not checked. WRPROTECT=100b o Protection information is transmitted to the drive with the user data. o Logical Block Guard is checked. o Logical Block Application Tag is not checked. o Logical Block Reference Tag is not checked. WRPROTECT=101b o Protection information is transmitted to the drive with the user data o Logical Block Guard is checked o Logical Block Application Tag is checked (applies to 32-byte CDBs or when ATO=1) o Logical Block Reference Tag is checked WRPROTECT=110b, 111b o These values are reserved. o Check Condition status will be returned with sense key of Illegal Request and additional sense code of Invalid Field in CDB. o 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. o Refer to the ANSI T10 standards for additional details of protection information. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 300 16.57 WRITE (12) - (AA) WRITE (12) 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. Table 231: WRITE (12) - (AA) Bit Byte 7 6 5 4 3 2 1 0 RSVD FUA_NV RSVD Command Code = AAh 0 WRPROTECT 1 DPO FUA 2-5 Logical Block Address 6-9 Transfer Length 10 Reserved 11 Control Byte - Refer to Section 16.1. 16.58 WRITE (16) - (8A) WRITE (16) 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. Table 232: WRITE (16) - (8A) Bit Byte 7 6 4 3 2 1 0 RSVD FUA_NV RSVD Command Code = 8Ah 0 1 5 WRPROTECT DPO FUA 2-9 Logical Block Address 10-13 Transfer Length 14 Reserved 15 Control Byte - Refer to Section 16.1. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 301 16.59 WRITE (32) - (7F/0B) WRITE (32) will request that the drive write data transferred from the initiator to drive. Each logical block transferred includes user data and may include protection information according to 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. Table 233: WRITE (32) - (7F/0B) Bit Byte 7 6 5 4 3 2 0 Command Code = 7Fh 1 Control Byte - Refer to Section 16.1 2-5 Reserved Reserved 6 Additional CDB Length = 18h 8-9 Service Action = 000Bh WRPROTECT DPO FUA RSVD 11 Reserved 12-19 Logical Block Address 20-23 Expected Initial Logical Block Reference Tag 24-25 Expected Logical Block Application Tag 26-27 Logical Block Application Tag Mask 28-31 Verification Length 0 FUA_NV RSVD Group Number = 0 7 10 1 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 Expected Initial Logical Block Reference Tag 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 302 16.60 WRITE AND VERIFY (10) - (2E) The WRITE AND VERIFY (10) command will request 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. Table 234: WRITE AND VERIFY (10) - (2E) Bit Byte 7 6 4 3 2 WRPROTECT DPO Reserved 2-5 Logical Block Address 6 Reserved 7-8 Transfer Length 9 Control Byte - Refer to Section 16.1. 1 0 ByteChk Obsolete Command Code = 2Eh 0 1 5 See the WRITE (10) command description for the definition of the WRPROTECT field. 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. ByteChk is set to 0 to indicate that the data is read back from the drive and verified using ECC after the successful write operation. o 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 1 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. o 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 is ignored. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 303 16.61 WRITE AND VERIFY (12) - (AE) WRITE AND VERIFY (12) will request 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. Table 235: WRITE AND VERIFY (12) - (AE) Bit Byte 7 6 5 4 3 2 1 0 ByteChk Obsolete Command Code = AEh 0 WRPROTECT 1 DPO Reserved 2-5 Logical Block Address 6-9 Transfer Length 10 Reserved 11 Control Byte - Refer to Section 16.1. 16.62 WRITE AND VERIFY (16) - (8E) WRITE AND VERIFY (16) will request 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. Table 236: WRITE AND VERIFY (16) - (8E) Bit Byte 7 6 4 3 2 1 0 ByteChk Obsolete Command Code = 8Eh 0 1 5 WRPROTECT DPO Reserved 2-9 Logical Block Address 10-13 Transfer Length 14 Reserved 15 Control Byte - Refer to Section 16.1. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 304 16.63 WRITE AND VERIFY (32) - (7F/0C) WRITE AND VERIFY (32) will request that the drive write the data transferred from the initiator to drive and then verify that the data is correctly written. Table 237: WRITE AND VERIFY (32) - (7F/0C) Bit Byte 7 6 5 4 3 2 0 Command Code = 7Fh 1 Control Byte - Refer to Section 16.1. 2-5 Reserved Reserved 6 Additional CDB Length = 18h 8-9 Service Action = 000Ch WRPROTECT DPO Reserved ByteChk 11 Reserved 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 0 Group Number = 0 7 10 1 RSVD 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. Expected Initial Logical Block Reference Tag 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 305 16.64 WRITE BUFFER (3B) WRITE BUFFER (3B) is used with the READ BUFFER (3C) 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. Table 238: WRITE BUFFER (3B) Bit Byte 7 6 5 4 Reserved 1 1 0 Mode 2 Buffer ID 3-5 Buffer Offset 6-8 Parameter List Length 9 Control Byte - Refer to Section 16.1. 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. 01110 Download microcode with offsets, save, and defer activate. 01111 Activate deferred microcode. 11010 Enable expander Communications Protocol. All Others 2 Command Code = 3Bh 0 3 Not Supported. If any values other than shown above are specified, a Check Condition status is returned with a sense key of Illegal Request and additional sense code of Invalid Field in CDB. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 306 16.64.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 0. 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 0. If another value is specified, no download function is performed and the command is terminated with Check Condition status. And the drive shall set the sense key to Illegal Request and additional sense code to Illegal Field in CDB. Parameter List Length specifies the number of bytes that shall be transferred during the DATA OUT phase. This number includes four bytes of header, so the data length to be stored in the drive buffer is transfer length minus four. If the length exceeds the buffer size, the command is terminated with Check Condition status. And the drive shall set sense key to Illegal Request and additional sense code to Illegal Field in CDB. A Parameter List Length of less than four (size of header) indicates no data is transferred. The 4-byte header consists of all reserved bytes. The MODE SPECIFIC field shall be ignored in this mode. Table 239: Write Buffer Header Bit Byte 7 6 5 4 3 2 1 0 Reserved 0-3 16.64.2 Write Data (Mode 00010b) In this mode, the DATA OUT phase contains buffer data. Buffer ID must be 0. 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 an additional sense code of 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 0 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 with an additional sense code of Illegal Field in CDB. The MODE SPECIFIC field shall be ignored in this mode. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 307 16.64.3 Download Microcode (Mode 00100b) 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 0. If an invalid value is specified, the command is terminated with Check Condition status. The drive shall set the sense key to Illegal Request and additional sense code to Illegal Field in CDB. Parameter List Length must be the size of the data set to be downloaded. It may also be set to 0000h in which case no code is updated and command status is returned. If an invalid value is specified, the command is terminated with Check Condition status. And the drive shall set the sense key to Illegal Request and additional sense code to Illegal Field In CDB. This process generates a unit attention condition for MICROCODE HAS BEEN CHANGED for all Initiators except the one which sent the WRITE BUFFER command. Upon the completion of the WRITE BUFFER command the new microcode is immediately ready for operation. The MODE SPECIFIC field shall be ignored in this mode. 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 308 16.64.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. 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. The MODE SPECIFIC field shall be ignored in this mode. Notes: 1. The drive supports fast update of microcode to the drive, which is power safe and completes in several seconds. This does not update the Flash ROM. 2. 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. 16.64.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. Buffer Offset 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. The MODE SPECIFIC field shall be ignored in this mode. 16.64.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. The MODE SPECIFIC field shall be ignored in this mode. 16.64.7 Download Microcode with Offsets, Save and Defer Activate (Mode 01110b) Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 309 In this mode, microcode shall be transferred to the device server using one or more WRITE BUFFER commands with activation modes specified in the Mode Specific field, saved to nonvolatile storage, and considered deferred. The MODE SPECIFIC field is used in this mode to define types of code activation. If the PO_ACT bit (bit 7) is set, the drive will activate the code after a power on reset. If the HR_ACT bit (bit 6) is set, the drive will activate the code after a hard reset. If the VSE_ACT bit (bit 5) is set, the drive will activate the code after a vendor specific condition is met. The deferred microcode shall be activated and no longer considered deferred when one of the following occurs: a.) A power on only if the PO_ACT bit of the Mode Specific field is set in the initial WRITE BUFFER command. b.) A hard reset only if the HR_ACT bit of the Mode Specific field is set in the initial WRITE BUFFER command. c.) A WRITE BUFFER command with the activate deferred microcode mode (0Fh) is processed. The VSE_ACT bit for vendor specific activation is not supported. 16.64.8 Activate Deferred Microcode Mode (Mode 01111b) In this mode, deferred microcode that has been saved using the download microcode with offsets, save, and defer activate mode, if any, shall be activated and no longer considered deferred. The BUFFER ID field, the BUFFER OFFSET field, and PARAMETER LIST LENGTH field shall be ignored in this mode. The MODE SPECIFIC field shall be ignored in this mode. 16.64.9 Enable Expander Communications Protocol (Mode 11010b) In this mode, deferred microcode that has been saved using the download microcode with offsets, save, and defer activate mode, if any, shall be activated and no longer considered deferred. The BUFFER ID field, the BUFFER OFFSET field, and PARAMETER LIST LENGTH field shall be ignored in this mode. The MODE SPECIFIC field shall be ignored in this mode. 16.64.10 Enable Expander Communications Protocol (Mode 11010b) In this mode the drive behavior is the same as Write Data to Echo Buffer (Mode 0101b). The MODE SPECIFIC field shall be ignored in this mode. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 310 16.65 WRITE LONG (10) - (3F) The WRITE LONG (10) command requests the drive to write one block of data transferred from the Initiator. The transfer data must include User Data and four (4) bytes of CRC data. Table 240: WRITE LONG (10) - (3F) Bit Byte 7 6 4 3 2 1 0 Command Code = 3Fh 0 1 5 COR_DIS WR_UNCOR PBLOCK Reserved 2-5 Logical Block Address 6 Reserved 7-8 Byte Transfer Length 9 Control Byte - Refer to Section 16.1. Obsolete The parameters are as follows: COR_DIS Correction Disabled when set to 1, 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 SCSI Primary Commands – 4 (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 when set to 1, and if a WRITE LONG command is received, a pseudo unrecovered error with correction enabled would be created. On following read commands to the LBA, the drive will: a) Use the normal recovery procedures (that will end in a hard error); b) Perform no automatic reallocation of the affected logical blocks, including any automatic reallocation enabled by the Read-Write Error Recovery mode page; c) Consider errors on the affected logical blocks to be informational exception conditions as defined in the Information Exceptions Control mode page (see SCSI Primary Commands – 4 (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. If there is more than one logical block per physical block (i.e., the LOGICAL BLOCKS PER PHYSICAL BLOCK EXPONENT field in the READ CAPACITY (16) parameter data (see 5.17.1) is set to a non-zero value), then the drive supports the PBLOCK bit. The PBLOCK is defined to be the physical block of data that contains the logical block specified in the CDB. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 311 Table 241: COR_DIS 0 COR_DIS Bit, WR_UNCOR Bit, and PBLOCK Bit (Part 1 of 2) WR_UNCOR PBLOCK More than one logical block per physical block. a 0 Yes or No Write only the specified logical block using the value in the BYTE TRANSFER LENGTH field. No Terminate the WRITE LONG command with CHECK CONDITION status with the sense key set to ILLEGAL REQUEST and the additional sense code set to INVALID FIELD IN CDB. Yes Write the entire physical block containing the specified logical block using the value in the BYTE TRANSFER LENGTH field. Yes or No Mark only the specified logical block as containing a pseudo unrecovered error with correction enabled (see 4.17.2) in a manner that causes the device server to perform the maximum error recovery as defined by the Read-Write Error Recovery mode page (see 6.4.8). Ignore the BYTE TRANSFER LENGTH field, and transfer no data. No Terminate the WRITE LONG command with CHECK CONDITION status with the sense key set to ILLEGAL REQUEST and the additional sense code set to INVALID FIELD IN CDB. 0 1 0 0 1 1 Yes Description Mark the entire physical block containing the specified logical block as containing a pseudo unrecovered error with correction enabled (i.e., mark all of the logical blocks in the same physical block that contains the specified logical block as containing a pseudo unrecovered error with correction enabled) (see 4.17.2). Ignore the BYTE TRANSFER LENGTH field, and transfer no data. An entry of “Yes” means that the LOGICAL BLOCKS PER PHYSICAL BLOCK EXPONENT field in the READ CAPACITY (16) parameter data (see 5.16.2) is set to a non-zero value. An entry of “No” means that the field is set to zero. a Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 312 Table 242: COR_DIS COR_DIS Bit, WR_UNCOR Bit, and PBLOCK Bit (Part 2 of 2) WR_UNCOR PBLOCK 0 More than one logical block per physical block. a Yes or No No 1 0 1 Yes Description Mark only the specified logical block as containing a pseudo unrecovered error with correction disabled (see 4.18.2). Write only the specified logical block using the value in the BYTE TRANSFER LENGTH field. Terminate the WRITE LONG command with CHECK CONDITION status with the sense key set to ILLEGAL REQUEST and the additional sense code set to INVALID FIELD IN CDB. Mark the entire physical block containing the specified logical block as containing a pseudo unrecovered error with correction disabled (i.e., mark all of the logical blocks in the same physical block that contains the specified logical block as containing a pseudo unrecovered error with correction disabled) (see 4.18.2). Write the entire physical block containing the specified logical block using the value in the BYTE TRANSFER LENGTH field. 0 Yes or No Mark only the specified logical block as containing a pseudo unrecovered error with correction disabled (see 4.18.2). Ignore the BYTE TRANSFER LENGTH field and transfer no data. No 1 1 1 Yes Terminate the WRITE LONG command with CHECK CONDITION status with the sense key set to ILLEGAL REQUEST and the additional sense code set to INVALID FIELD IN CDB. Mark the entire physical block containing the specified logical block as containing a pseudo unrecovered error with correction disabled (i.e., mark all of the logical blocks in the same physical block that contains the specified logical block as containing a pseudo unrecovered error with correction disabled) (see 4.18.2). Ignore the BYTE TRANSFER LENGTH field and transfer no data. An entry of “Yes” means that the LOGICAL BLOCKS PER PHYSICAL BLOCK EXPONENT field in the READ CAPACITY (16) parameter data (see 5.17.2) is set to a non-zero value. An entry of “No” means that the field is set to zero. a Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 313 Logical Block Address specifies the logical block at which the write operation shall occur. Byte Transfer Length 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. Transfer length may be zero (see table above) or is calculated as follows: Transfer Length = Logical Block Size + Protection Information Size + CRC Size (PBLOCK=0) Transfer Length = (8 * Logical Block Size) + (8 * Protection Information Size) + (8 * CRC Size) (PBLOCK=1) Where the Protection Information Size is either 0 (Protection Mode 0) or 8 (Protection Mode 1 or 2) and CRC Size is 4. The transfer data (if transfer length > 0) includes the following: For PBLOCK = 0: [user data logical block] [protection data, if any] [CRC] For PBLOCK = 1: [user data logical block (aligned) n] [protection data, if any] [CRC] [user data logical block n + 1] [protection data, if any] [CRC] [user data logical block n + 7] [protection data, if any] [CRC] Note: Since the ECC bytes are not included in the Read Long data, ECC correction capability cannot be tested using Read/Write Long. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 314 16.66 WRITE LONG (16) - (9F/11) See WRITE LONG (10) - (3F) for a description of the fields. Table 243: WRITE LONG (16) - (9F/11) Bit Byte 7 6 4 3 2 1 Operation Code (9Fh) 0 1 5 COR_DIS WR_UNCOR PBLOCK Service Action (11h) 2-9 Logical Block Address 10-11 Reserved 12-13 Byte Transfer Length 14 Reserved 15 Control Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 315 0 16.67 WRITE SAME (10) - (41) The WRITE SAME (10) 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. Table 244: WRITE SAME (10) - (41) Bit Byte 7 6 5 4 2 WRPROTECT Anchor Unmap PBDATA=0 2-5 Logical Block Address 6 Reserved 7-8 Number of Blocks 9 Control Byte - Refer to Section 16.1. 1 0 LBDATA=0 Obsolete Command Code = 41h 0 1 3 Anchor bit is ignored. Unmap when set to 1, the Write Same will result in one of the following: - The LBA range (specified in the CDB) being anchored, since the drive is resource provisioned, as long as the data in the data out descriptor matches what would be expected on a subsequent read (i.e., data out buffer of all zeros for data and, if provided, all 0xFFs for the protection information). - Normal WRITE SAME operation (same data out buffer written to all logical blocks within the LBA range specified). Logical Block Address specifies the address at which the write begins. 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 0. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 316 16.68 WRITE SAME (16) - (93) See WRITE SAME (10) - (41) for a description of all the fields. Table 245: WRITE SAME (16) - (93) Bit Byte 7 6 4 3 2 1 0 PBDATA = 0 LBDATA = 0 Obsolete Command Code = 93h 0 1 5 WRPROTECT Anchor Unmap 2-9 Logical Block Address 10-13 Number of Blocks 14 Reserved 15 Control Byte - Refer to Section 16.1. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 317 16.69 WRITE SAME (32) - (7F/0D) WRITE SAME (32) will request 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. Table 246: WRITE SAME (32) - (7F/0D) Bit Byte 7 6 5 4 3 2 0 Command Code = 7Fh 1 Control Byte - Refer to Section 16.1. 2-5 Reserved Reserved 6 Additional CDB Length = 18h 8-9 Service Action = 000Dh WRPROTECT 0 LBDATA=0 Reserved Group Number = 0 7 10 1 Anchor Unmap PBDATA=0 11 Reserved 12-19 Logical Block Address 20-23 Expected Initial Logical Block Reference Tag 24-25 Expected Logical Block Application Tag 26-27 Logical Block Application Tag Mask 28-31 Number of Blocks 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 Expected Initial Logical Block Reference Tag contains the value of the Logical Block Reference Tag field expected in the protection information of the first logical block accessed by the command. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 318 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 319 16.70 SCSI Status Byte A Status Byte is sent to the initiator upon the completion of a command. Additional sense information may also be available depending on the contents of the Status Byte. This section describes the possible values for the Status Byte and Sense Data. The Reserved fields are set to zero. Table 247: SCSI Status Byte. Format of the SCSI Status Byte Bit 7 6 5 Reserved Status Byte 4 3 2 Status Code 1 0 RSVD Description 00h GOOD The command successfully completed. 002 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. 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. 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 command queue of the target 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, the sense data is not valid. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 320 16.71 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. 16.72 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. 16.72.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 Invalid LUN Processing. 2. Check Condition status for Incorrect Initiator Connection. 3. Check Condition status for Unit Attention Condition. See Unit Attention Condition. 4. Busy Status or Queue Full Status. See Command Processing During Execution of Active I/O Process. 5. Check Condition status for Deferred Error Condition. See Deferred Error Condition, 6. Check Condition status during Startup and Format operations. See Command Processing During Startup, Format and Sanitize Operations. 7. Reservation Conflict Status. See Command Processing while Reserved. 8. Check Condition status for invalid command Opcode. 9. Check Condition status for invalid command descriptor block. 10. The highest priority internal condition that prevents command execution is reported by the Target provided there is no bus error. 11. For all Check Conditions, the 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 321 16.72.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: 1. 2. 3. 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 INQUIRY (12). Request Sense: Execute the command, return the sense data with the Sense Key set to Illegal Request and the Additional Sense Code and Additional Sense Code Qualifier set to LOGICAL UNIT NOT SUPPORTED, and return GOOD status. See REQUEST SENSE (03). All Others: Do not execute the command and return CHECK CONDITION status, along with the autosense 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. 16.72.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 267). If an active I/O process exists when the target receives a new command, then the target determines if: 1. 2. 3. 4. 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 according to the following rules: 1. 2. Check Condition status is returned with sense key set to Logical Unit Not Ready if: The startup operation or a format operation is active. See Command Processing During Startup, Format and Sanitize Operations 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 Priority of SCSI Status Byte Reporting). The command is permitted to execute if: 1. 2. The command is a priority command. See Priority Commands. The conditions to execute concurrently are met. See Concurrent I/O Process. The command is added to the queue if: 1. 2. Any I/O process already exists at the target, and; This is not an incorrect initiator connection. Queue Full Status is returned if: 1. 2. 3. 4. The command would otherwise be added to the queue (according to the rules described above), but all slots in the queue are full, or; The command would otherwise be added to the queue (according to the rules described above), but all of the available queue slots not reserved for use by another initiator are full, or; A Format Unit command was previously queued but has not yet begun execution, or; The target is in a Degraded Mode (see Degraded Mode) and a Start Unit command was previously queued but has not yet begun execution. Busy status is never returned. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 322 16.72.4 Unit Attention Condition The target will generate a unit attention condition when one of the following occurs: 1. 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. 2. MODE SELECT has been executed. 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. 3. FORMAT UNIT has been executed. 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. 4. WRITE BUFFER/DOWNLOAD MICROCODE has been executed. 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. 5. 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. 6. LOG SELECT with PCR bit has cleared parameters. 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. 7. The registration or reservation made by a PERSISTENT RESERVED OUT command was cleared by another initiator. A unit attention condition is generated for the initiator that held the cleared registration or reservation. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 323 8. A Predictive Failure Analysis threshold has been reached and the Method of Reporting field of mode page 1Ch is 2h. The unit attention condition persists for each initiator until that initiator clears the condition from the logical unit as described below. Several commands are handled as special cases during a unit attention condition. These cases are also discussed below. If the target receives a command from an initiator before reporting a CHECK CONDITION status for a pending unit attention condition for that initiator, the target's response varies with the command as follows: Command Response INQUIRY Execute the command, return a 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. 16.72.5 Command Processing During Startup, Format and Sanitize Operations If the Target receives a command from an Initiator while the Target is executing a startup, format or sanitize operation, the response of the Target varies with the command as follows: Command Response INQUIRY The drive sends the inquiry data and returns the 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 a GOOD STATUS. The return of the Additional Sense Code Qualifier is dependent upon the type of I/O processes that are active: For the START/STOP UNIT and the Auto-Start operations, the qualifier that is 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. For the SANITIZE command, the qualifier returned is LOGICAL UNIT NOT READY, SANITIZE IN PROGRESS. For these cases, the Sense Key specific bytes are set to return the progress indication. REPORT LUNS The drive will send REPORT LUNS data and appropriate status. ALL OTHERS The drive terminates the command with a CHECK CONDITION status. The Sense Data that is generated is described in REQUEST SENSE. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 324 16.72.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: Command Response INQUIRY The drive executes the command with GOOD status and does not clear the Internal Error condition. REPORT LUNS 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 OTHERS The drive terminates the command with a CHECK CONDITION status and clears the Internal Error condition. 16.72.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 a Deferred Error condition when: 1. Execution of a FORMAT UNIT command with the Immediate bit of one (1) ends with an error. 2. Execution of a SANITIZE command with the Immediate bit of one (1) ends with an error. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 325 16.72.8 Degraded Mode There are certain errors or conditions that may impair the ability of the drive to function normally. Rather than completely fail, 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 four (4) degraded drive modes: 1. Degraded Mode, which could be caused by one of the following conditions: 1. Context Load was started (by POR or Unit Start command) and the Target is under SelfConfiguration. 2. Context Load Failure (Disable Logical). 3. Unit Stop command was issued after the Target successfully completed the Self-Configuration. 2. Self-Configuration Failure Degraded, which can be caused by a RAM Code, Read Failure. Format Command Failure Degraded. This condition will occur when a FORMAT UNIT command failed or underwent abnormal interruption (Mode Page 0, Byte 5, Bit 4, FDD Controls Format Degraded Mode). The exception to this rule is that a format may fail due to insufficient reserves on the drive. If this occurs, the drive will not be put into a degraded state. Sanitize Command Failure Degraded. This condition will occur if the SANITIZE command fails. 16.72.8.1 Response to SCSI Command in Degraded Mode - Becoming Ready Table 248: Response to SCSI Command in 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, REPORT LUNS Executed. TEST UNIT READY Executed, and a Check Condition is returned with Sense Key 02h (Not Ready) ASC/ASCQ 0401h (In Process of Becoming Ready). START STOP UNIT (Start) Executed. - 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). Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 326 16.72.8.2 Response to SCSI Command in Degraded Mode - Context Load Table 249: Response to SCSI Command in Degraded Mode - Context Load Command (w/Option) Response REQUEST SENSE Executed. The Target may return Sense Key 04h (Hardware Error) ASC/ASCQ 4400h (Internal Target Failure). INQUIRY, REPORT LUNS Executed. TEST UNIT READY Executed and Check Condition is returned with Sense Key 04h (Hardware Error) ASC/ASCQ 4400h (Internal Target Failure). START STOP UNIT (Start) Executed. - 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 Failure). - Self-Configuration Failure: Check Condition with Sense Key 04h (Hardware Error) ASC/ASCQ 4080h (Diag Fail- Bring up Fail). START STOP UNIT (Stop) Executed. GOOD Status is returned. Media Degraded Mode is NOT cleared. WRITE BUFFER (Download and Save) Executed. GOOD Status is returned. Media Degraded Mode is replaced with Format Command Failure Degraded Mode. Other Commands Not Executed. Check Condition Status is returned with Sense Key 04h (Hardware Error) ASC/ASCQ 4400h (Internal Target Failure. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 327 16.72.8.3 Response to SCSI Command in Degraded Mode - Drive Issued or Received Unit Stop Command Table 250: 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, REPORT LUNS Executed. TEST UNIT READY Executed and Check Condition is returned with Sense Key 02h (Not Ready) ASC/ASCQ 0402h (Initialize Command Required). START STOP UNIT (Start) Executed. - Success: GOOD Status is returned. Media Degraded Mode is cleared. - 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 (Stop) Executed. GOOD Status is returned. Media Degraded Mode is NOT cleared. Other Commands Not Executed. Check Condition Status is returned with Sense Key 04h (Hardware Error) ASC/ASCQ 4400h (Internal Target Failure). Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 328 16.72.8.4 Self-Configuration Failure Degraded Mode Table 251: 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, REPORT LUNS Executed. TEST UNIT READY Executed and Check Condition is returned with Sense Key 04h (Hardware Error) ASC/ASCQ 4080h (Diag Fail- Bring up Fail). START STOP UNIT (Start) Executed. WRITE BUFFER (Download and Save) Other Commands. - 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 Failure). - Self Configuration Failure: Check Condition with Sense Key 04h (Hardware Error) ASC/ASCQ 4080h (Diag Fail- Bring up Fail). Executed. - 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). Not Executed. Check Condition Status is returned with Sense Key 04h (Hardware Error) ASC/ASCQ 4080h (Diag Fail- Bring up Fail). Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 329 16.72.8.5 Format Command Failure Degraded Mode Table 252: 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, REPORT LUNS 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. WRITE BUFFER (Download and Save) Executed. Other Commands Not Executed. Check Condition Status is returned with Sense Key 03h (Medium Error) ASC/ASCQ 3100h (Format Corrupted). - Success: Good Status is returned. Write Buffer is not cleared. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 330 16.72.8.6 Sanitize Command Failure Degraded Mode Table 253: Sanitize Command Failure Degraded Mode Command (w/Option) Response REQUEST SENSE Executed. The Target will return: Sense Key 03h (Medium Error) ASC/ASCQ 3103h (Sanitize Command Failed). INQUIRY, REPORT LUNS Executed. TEST UNIT READY Executed and Check Condition is returned with Sense Key 03h (Medium Error) ASC/ASCQ 3103h ( Sanitize Command Failed). SANITIZE Executed. - Success: Good Status is returned. Sanitize Failed. Degraded Mode is cleared. - Failure: Check Condition Status is returned and Sanitize Failed Degraded Mode is NOT cleared. Other Commands Not Executed. Check Condition Status is returned with Sense Key 03h (Medium Error) ASC/ASCQ 3103h (Sanitize Command Failed). Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 331 16.72.8.7 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: 1. If the issuing Initiator is the one that made the reservation and also the one to receive the reservation, then all commands are permitted. 2. If the issuing Initiator is neither the one that made the reservation nor the one to receive the reservation, then: 3. 4. 1. A Request Sense or Inquiry command is permitted. 2. A Release command is permitted but ignored. 3. Any other command results in a Reservation Conflict Status. 4. A Release command is permitted but is ignored. If the issuing Initiator is the one that made the reservation but is not the one to receive the reservation, then: 1. An Inquiry, Request Sense, Reserve, or Release command is permitted. 2. 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: 1. A Reserve command results in a Reservation Conflict Status. 2. A Release command is permitted but is ignored. 3. 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 Priority of SCSI Status Byte Reporting. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 332 16.73 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. 16.74 Command Queuing The drive supports command queuing. 16.74.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. 16.74.2 Queue Full Status The drive will respond with QUEUE FULL status to a SCSI command when all queue slots are utilized. The SCSI command is not placed in the command queue under this condition. 16.74.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 or I_T NEXUS LOSS event terminates all I/O processes from the issuing initiator. A CLEAR TASK SET, LUN RESET or reset terminates all I/O processes from all initiators. 16.75 Command Reordering Command reordering is always enabled. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 333 16.76 Concurrent I/O Process Read and Write commands are allowed to execute concurrently. Priority commands are allowed to execute concurrently with other commands. A second priority command received while a priority command is being executed is put at the head of the command queue. 16.77 Write Cache Write caching is always enabled. PLI circuitry ensures data integrity. Errors on write commands are reported immediately. Deferred errors will not occur on write commands. 16.78 Automatic Rewrite/Reallocate The target supports auto reallocation for all media access commands. Auto reallocation cannot be disabled, and the ARRE setting is ignored. 16.79 Multiple Initiator Support This section describes how the target behaves in a multiple initiator system. Up to 64 initiators may be supported at any one time. 16.79.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. 16.79.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 Unit Attention Condition for more information. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 334 16.80 Reset Reset actions will return the drive to a known, initialized state. This device supports the reset sources as discussed in the following sections. 16.80.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. OOB Hard Reset This is an OOB Hard Reset Sequence received on the SAS interface. LUN Reset This is an SSP command frame with the LUN RESET TMF flag set. 16.80.2 Reset Actions The action taken by the drive following a reset is dependent on the source of the reset. 16.80.2.1 Power-On Reset and Self-Initiated Reset These two reset conditions cause the following to be performed in the order shown: 1. A power-up sequence. 2. 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 logical block is being written, the WRITE operation is disabled at the end of the current block. The media is not corrupted. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 335 16.81 Diagnostics The drive will execute Power-On Diagnostics at power-on time to assure the correct operation of the drive by validating components (RAM, SPI Flash, HDC, PLI Capacitor), checking stored information in the Reserved Area and SPI Flash, and verifying fault detects circuits. The SEND DIAGNOSTIC command can be used to invoke a self-test. 16.81.1 Power-On Diagnostics At power-on time the following tests are executed: 1. Validation of SPI Flash. 2. RAM test for internal RAM. 3. Test and Initialize HDC registers. 4. RAM test for customer RAM. 5. PLI self-test. 6. Validation of code and data from the Reserved Area. Faults detected before successful completion of Step 3 could prevent the drive from responding to a selection on the host interface. Faults detected after the successful completion of Step 3 will be reported as a 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. 16.81.2 Self-Test via SEND DIAGNOSTIC Command 16.81.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. 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. 16.81.2.2 Short Self-Tests 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 336 16.81.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. 16.81.2.3.1 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 selftest in the foreground mode, the drive will respond to all commands except INQUIRY, REPORT LUNS, and REQUEST SENSE with a CHECK CONDITION status, a sense key of NOT READY and an additional sense code of LOGICAL UNIT NOT READY - SELF-TEST IN PROGRESS. If the drive is performing a self-test in the foreground mode and a test error occurs, the drive will update the self-test results log page and report CHECK CONDITION status with a sense key of HARDWARE ERROR and an additional sense code of LOGICAL UNIT FAILED SELF-TEST. The application client may obtain additional information about the failure by reading the self-test results log page. An application client may terminate a self-test that is being performed in the foreground mode using an ABORT TASK, ABORT TASK SET, or CLEAR TASK SET task management function. If the drive receives an ABORT TASK, ABORT TASK SET, or CLEAR TASK SET task management function while performing a self-test in the foreground mode, it will abort the self-test and update the self-test results log page. 16.81.2.3.2 Background Mode When the drive receives a SEND DIAGNOSTIC command specifying a self-test to be performed in the background mode, the drive will return status for that command as soon as the command descriptor block has been validated. After returning status for the SEND DIAGNOSTIC command specifying a self- test to be performed in the background mode, the drive will initialize the self-test results log page as follows. The Function Code from the SEND DIAGNOSTIC command will be placed in the Function Code field in the log page. The self-test Results field shall be set to 0Fh. After the self-test results log page is initialized, the drive will begin the first self-test segment. While the device server is performing a self-test in the background mode, it shall terminate with a CHECK CONDITION status any SEND DIAGNOSTIC command it receives that meets one of the following criteria: 1. The SlfTst bit is one. 2. 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). Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 337 16.81.2.3.3 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. 16.81.2.3.4 Tests Performed in the Short and Extended Self-Test The following table defines the tests performed in the short and extended self-test. They are defined by their segment number which is also used to report Self-Test Results, in Log Sense Page 10. Note that the only difference between the Short and the Extended tests, is the sequential verify test in segment 7h. Also note that either of these tests can be run in foreground or background mode as previously described. Table 254: Short and Extended Self-Test Description Segment Short Extended Number Self-Test Self-Test 1h Drive Ready Test Internal check to insure drive is “ready”, similar to a Test Unit Ready command. 2h Drive Diagnostics This test is comprised of the Default Self-Test as defined in Section 16.81.2.1. 3h PLI Test Drain and recharge capacitors. 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 Last 100MB 8h Recheck SMART Verify All LBAs Description Sequential verify operation. Ensure that no uncorrectable errors occur within the verify range. Same as segment 4h. 16.81.2.4 Background Medium Scan For a related function, see Mode Page 1Ch - Informational Exceptions Control. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 338 16.82 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. 16.83 Command Time-Out Limits The 'Command Time-Out Limits are defined as the time starting from the SCSI Arbitration phase through the SCSI Task complete message, associated with a particular command. 16.83.1 Format Time A full FORMAT UNIT command completes in under 10 minutes. A fast FORMAT UNIT command completes in under 30 seconds. 16.83.2 Sanitize Time Approximately 10-12 minutes should be allowed to complete a SANITIZE command. 16.83.3 START STOP UNIT Time A START STOP UNIT command should normally complete in under 10 seconds; however, if a prior power cycle was unsafe (i.e., a START STOP UNIT command with START=0 and IMMED=0 was not completed prior to power off), the time-to-ready (or time to complete an initial START STOP UNIT command with START=1) make take up to 30 seconds. 16.83.4 Time-Out Limits for Other Commands The default timeout for all other commands is 5 seconds. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 339 16.84 Recommended Initiator ERP The 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. 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: 1. 11 - Unrecovered Read Error 2. 17 - Recovered Read Error Non-data errors are those errors that do not have a direct relationship with transferring data to and from the media. Non-data errors can include data handling if the media is not associated with the error (i.e., interface errors). The system action assumed for each class of error is outlined here. 16.84.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. Back up all the customer data on this drive if possible. 2. Replace the complete drive. 3. Restore the customer data. 4. Return the drive to customer service. 16.84.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: 1. Valid Bit and Error Code (Sense Byte 0) 2. Sense Key (Sense Byte 2) 3. Information Bytes (Sense Bytes 3 through 6) 4. Command Specific Information (Sense Bytes 8 through 11) 5. Additional Sense Code (Sense Byte 12) 6. Additional Sense Code Qualifier (Sense Byte 13) 7. Field Replaceable Unit (Sense Byte 14) 8. Sense Key Specific (Sense bytes 15, 16, and 17) 9. Vendor Unique error information (Sense bytes 20 through 23) Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 340 16.84.3 Data Recovery Procedure No action can be taken on hard or soft read errors. Block retirement occurs automatically according to the block retirement policy of 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. 16.84.4 Non-Data Error Recovery Procedure The drive will follow a logical recovery procedure for non-data errors. The initiator options for non-data errors are limited to logging the error, retrying the failing command, or replacing the drive. These recovery procedures assume the initiator practices data back-up and logs errors at the system level for interrogation by service personnel. 16.84.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 issues 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 (03) commands for the duration of a media access time-out or until the drive returns a GOOD status. If the drive has been busy for longer than the limit specified in Section 18.12, Command Time out Limits, then service the drive using the service guidelines recommended in Section 18.13.1, Drive Service Strategy; otherwise, return to normal processing. If the TEST UNIT READY (00) (or media access) command completes with a GOOD status, then return to normal processing. 16.84.4.2 Unrecovered Drive Error The initiator should retry the failing command. If the retry of the failing command completes with a GOOD status or recovered Sense Key, follow the recovery procedure in Section 18.13.4.3, Recovered Drive Error. 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. If the retry of the failing command completes with a GOOD status, follow the recovery procedure in Section 18.13.4.3, Recovered Drive Error. 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.13.1, Drive Service Strategy. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 341 16.84.4.3 Recovered Drive Error The Initiator should log the error as soft with the recovery level. 16.84.4.4 Drive Not Ready The initiator should do the following: 1. Issue a START STOP UNIT (1B) command. 2. Verify that the drive becomes ready within the time specified Table 9, SSD Response Time. 3. If the drive fails to become ready within the specified time, service the drive using the service guidelines specified in Section 18.13.1, Drive Service Strategy. 4. Retry the failing command. 5. If the failing command completes with a GOOD status, log the error as recovered. 6. If the failing command completes with a NOT READY sense, verify there is no outside cause (for example, the power supply), and then service the drive using the service guidelines specified in Section 18.13.1, Drive Service Strategy. 16.84.4.5 Degraded Mode Please refer to Section 18.1.8, Degraded Mode for the definition of this state. There are four causes for entering degraded mode. In the first three cases, the Sense Key is Not Ready, while in the fourth case the Sense Key is Medium Error. 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 START STOP UNIT (1B) command to enable media access. If the drive fails to come ready in the time specified in Section 18.12, Command Time-Out Limits, service the drive using the service guideline recommended in Section 18.13.1, Drive Service Strategy. 2. Sense Code/Qualifier of Diagnostic Failure. Failure of a Send Diagnostic self-test, a startup sequence, or other internal target failures. 3. Failure of a send diagnostic self-test or a startup 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: 1. Executing the SEND DIAGNOSTIC (1D) command. 2. Power-cycling the drive. If the failure repeats, service the drive using the service guideline recommended in Section 18.13.1, Drive Service Strategy. Recovery for a failed power up sequence is achieved in one of the following ways: 1. Issuing a START STOP UNIT (1B) command. 2. Power cycling the drive. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 342 If the failure repeats, service the drive using the service guideline recommended in Section 18.13.1, Drive Service Strategy. 1. Internal Target Failures Recovery of this condition is either a power-cycle or successful completion of the SEND DIAGNOSTIC (1D) command. Service the drive using the recommended service guidelines specified in Section 18.13.1, Drive Service Strategy, if the power-cycle or the SEND DIAGNOSTIC (1D) command fail to complete successfully. 2. Sense Code/Qualifier of Format Command Failed Format Unit (04). Recovery from a failed FORMAT UNIT (04) command is achieved by retrying the command. If the command fails a second time, service the drive following the procedure defined in Section 18.13.1, Drive Service Strategy. 3. Sense Code/Qualifier of Sanitize Command Failed after a Sanitize (48h). Recovery from a failed SANITIZE (48h) command is achieved by retrying the command. If the original SANITIZE (48h) was issued with AUSE=1, a second sanitize may be able to specify Service Action 1Fh (Exit Failure Mode). For this service action the state of the media, success or not, is not guaranteed; otherwise, the second attempt should just select any valid sanitize Service Action. If any of the above defined recovery procedures fail to clear the degraded mode condition, the drive should be replaced. Follow the procedure in Section 18.13.1, Drive Service Strategy, when replacing the drive. 16.84.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: o GOOD status, log the error as recovered. o Check Condition Status with Sense Data for an Illegal Request, service the drive using the service guideline recommended in Section 18.13.1, Drive Service Strategy. o Other; follow the recommendations for the error condition reported. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 343 16.84.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. 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, then service the drive using the service guideline recommended in Section 18.13.1, Drive Service Strategy. Sense Key = B (Aborted Command) and an Additional Sense Code of 47 can be an initiator or drive caused abort condition. The initiator should follow the above procedure for initiator caused abort conditions if the drive detected the SCSI bus parity error. The initiator should follow the above procedure for drive caused abort conditions if the initiator detected the SCSI bus parity error. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 344 16.84.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: Condition Description 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) command. Reset The drive was reset due to 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) command. 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. Log Select Parameters Changed A LOG SELECT (4C) command successfully completed. This means that the command cleared statistical information successfully. See LOG SELECT (4C). The Unit Attention Condition is reported to all initiators excluding the initiator that issued the LOG SELECT (4C) command. Device Identifier Changed A SET DEVICE IDENTIFIER (A4) command successfully completed; the Set Device Identifier information field has been updated. See SET DEVICE IDENTIFIER (A4/06) A Unit Attention Condition is reported to all initiators excluding the initiator that issued the SET DEVICE IDENTIFIER (A4) command. Notify (Power Loss Expected) Received The drive has received a Notify (Power Loss Expected) primitive. This will result in any outstanding commands being cleared and a Unit Attention Condition being reported to all initiators. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 345 16.84.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 a problem in its power-on self-tests, 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.13.1, Drive Service Strategy. 16.84.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.13.1, Drive Service Strategy. - Other: Follow the recommendations for the error reported. 16.84.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. 1/1F/00: The requested list(s) exceeded the maximum length that can be supported. Use the READ DEFECT DATA (12) opcode to retrieve the defect data. 2. 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 vendor unique format. This is the default format. There is no initiator action required for this condition. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 346 16.84.4.12 Miscompare Recovery A miscompare can occur on a VERIFY (2F) command or a WRITE AND VERIFY (2E) command with the Byte Check (BytChk) bit active. Recovery for a miscompare error is different for the two commands. VERIFY (2F) 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 the data is correct, then this indicates that the data may have been read from the media incorrectly without an error being detected. Service the drive using the procedure specified in Section 18.13.1, Drive Service Strategy. - If all data is not correct, then this indicates that the data on the media is not the data the initiator expected. Rewrite the correct data to the media. WRITE AND VERIFY (2E) 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 indicates that the drive cannot reliably write or read the media. Service the drive using the procedures specified in Section 18.13.1, Drive Service Strategy. 16.84.4.13 Microcode Error The microcode from the interface is validated before the device operates using that microcode. If the validation fails, the command is rejected with no impact to the drive. If the validation passes but some other error occurs, the drive enters degraded mode. If the initiator attempted to load microcode using the WRITE BUFFER (3B) command, then retry the command. If WRITE BUFFER (3B) completes with: GOOD status - return to normal processing. Check Condition Status - service the drive using the service guidelines recommended in Section 18.13.1, Drive Service Strategy. If the checksum 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.13.1, Drive Service Strategy. To load new microcode, the initiator should issue a WRITE BUFFER (3B) command with the download and save option. If the command completes with: GOOD status, return to normal processing. Retry the failing command. If the task completes with: - GOOD status - continue normal processing. - Check Condition Status for check sum error - Service the drive using the service guidelines recommended in Section 18.13.1, Drive Service Strategy. - Check Condition Status for any other error - follow the recommended recovery procedure for the error reported. Check Condition Status for checksum error, service the drive using the service guidelines recommended in Section 18.13.1, Drive Service Strategy. Check Condition Status for any other error, follow the recommendations for the returned sense data. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 347 16.84.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.13.1, Drive Service Strategy. Note: Service for this drive can be deferred. The longer service is deferred, the more probable a failure can occur that will require immediate service. If the drive continues to experience error activity, the drive is probably not at fault. Locate and service the outside source causing error activity on this drive. 16.85 Logical Block Provisioning Each LBA on the drive is either mapped or unmapped. For LBAs that are mapped, there is a known relationship between the LBA and one or more physical blocks that contain user data and protection information, if any. For LBAs that are unmapped, the relationship between the LBA and a physical block is not defined. The drive uses a physical block size based on 4K. The LOGICAL BLOCKS PER PHYSICAL BLOCK EXPONENT field in the READ CAPACITY (16) parameter data is 3 for the 512, 520, and 528 block sizes. This value will be 0 for 4K-based block sizes. The drive is always considered to be “resource provisioned”; all unmapped LBAs are considered "anchored”. The drive provides LBA mapping resources sufficient to contain all logical blocks for the reported capacity. All LBAs are accessible at all times. The initial condition of every LBA on the drive is anchored. For more information, please refer to Section 4.7 of the latest SBC-3 standard. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 348 17 SCSI Sense Data 17.1 SCSI Sense Data Format Format of the sense data returned by the drive in response to the REQUEST SENSE command. Table 255: Format of Sense Data Bit Byte 7 0 Valid 6 5 4 3 1 Error Code (70h or 71h) Reserved 1 0 2 ILI 0 Sense Key 3-6 Information Bytes 7 Additional Sense Length 8-11 Product-Specific Information 12 Additional Sense Code 13 Additional Sense Code Qualifier 14 FRU = 0 15 2 SKSV Sense Key Specific Bits 16-17 Sense Key Specific Bytes 18-19 Reserved 20-23 Vendor-Unique Error Information 24-29 Product-Specific Information 30-31 Reserved Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 349 0 17.2 Sense Data Description 17.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. 17.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 IMMED bit. The FORMAT UNIT (04h) command is an example of a command that may return a deferred error. 17.2.3 ILI: Incorrect Length Indicator (Bit 5 of Byte 2) The ILI bit is only valid for the READ LONG (3Eh) and WRITE LONG (3Fh) commands. The ILI set to one (1) and Valid Bit set to one (1) indicates that the requested logical block length does not match the logical block length of the data on the medium. 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 READ LONG (3Eh)/ WRITE LONG (3Fh) x 0 x 1 1 Yes Description No incorrect length condition. The requested logical block length does not match the logical block length of the data on the drive. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 350 17.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. Sense Key Category Description 0h No Sense There is no sense key information to report for the logical unit. 1h Recovered Error The last command completed successfully with some recovery action performed by the drive. More detailed information is available in the Additional Sense Code and Additional Sense Code Qualifier. 2h Not Ready The logical unit addressed cannot be addressed. More detailed information is available in the Additional Sense Code and Additional Sense Code Qualifier. 3h Medium Error The command terminated with an unrecoverable error condition caused by a flaw in the media or an error in the recorded data. More detailed information is contained in the Additional Sense Code and Additional Sense Code Qualifier. 4h Hardware Error The drive detected an unrecoverable hardware error while performing a command or during a diagnostic test. More detailed information is contained in the Additional Sense Code and Additional Sense Code Qualifier. 5h Illegal Request There was an illegal parameter in the command descriptor block or additional parameter supplied as data. If an invalid parameter is found in the CDB, then the command is terminated without altering the medium. If an invalid parameter is found in parameters supplied as data, then the drive might have altered the medium. 6h Unit Attention Indicates that the drive entered in the 'Unit Attention Condition'. (See Unit Attention Condition). 7h Data Protect 8h Not Used 9h Vendor-Specific N/A Ah Bh Aborted Command Ch-Dh Not Implemented. EH Miscompare Fh Reserved The drive aborted the command. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 351 17.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. 17.2.6 Valid ILI Description 0 x 0x00000000 - (not used/invalid). 1 0 LBA 1 1 Residue of the requested length in bytes. Additional Sense Length (Byte 7) Indicates the remaining number of bytes in the sense data. (It is always set to 18h.) 17.2.7 Command Specific Information (Byte 8 through 11) This field is unused and will be set to zero. 17.2.8 Additional Sense Code/Qualifier (Byte 12 and 13) The following table presents the descriptions of Sense Key / Sense Code / Qualifier combinations. Error SCSI Sense Information HGST Key Code Qualifier UEC Description 0x0 0x00 0x00 No additional sense information. 0x0 0x0B 0x01 Temperature Warning Indicator Sense Key (0x0) = No Sense 0x1A02 0x0 0x0B 0x03 Background Self-Test Failure Warning 0x1A03 0x0 0x0B 0x04 0x0B SMART Warning: Background Self-Test completed in Error (MRIE = 5 or 6). Background Pre-Scan Failure Warning 0x1A04 0x0 SMART Warning: Measured temperature exceeded warning threshold (default 70°C configurable) (MRIE = 5 or 6). 0x05 SMART Warning: Background Prescan completed with Hard Error (MRIE = 5 or 6). Background Media Scan Failure Warning 0x1A05 SMART Warning: Background Media Scan completed with Hard Error (MRIE = 5 or 6). Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 352 Error SCSI Sense Information HGST Key Code Qualifier 0x0 0x0B 0x06 UEC Background NAND Wear Indicator Warning 0x1A06 0x0 0x5D 0x22 0x5D 0x28 0x5D 0x53 0x5D 0x54 0x5D 0x55 0x0 0x5D 0x56 0x57 0x5D 0x73 0x5D SMART Pre-failure: XOR Depletion failure (MRIE = 5 or 6). Predictive Failure Analysis NAND Wear Failure 0x1A73 0x0 SMART Pre-failure: TCG Wear failure (MRIE = 5 or 6). Predictive Failure Analysis XOR Depletion Indicator 0x1A57 0x0 SMART Pre-failure: NAND Channel failure (MRIE = 5 or 6). Predictive Failure Analysis TCG Wear Indicator 0x1A56 0x5D SMART Pre-failure: Number of reserve erase blocks that drops below the threshold where XOR Parity Protection is no longer enabled (MRIE = 5 or 6). Predictive Failure Analysis NAND Channel Failure 0x1A55 0x0 SMART Pre-failure: Number of reserve erase blocks drops within 1% of the Remaining Reserve 2 Threshold (MRIE = 5 or 6). Predictive Failure Analysis Remaining Reserve 2 0x1A54 0x0 SMART Pre-failure: PLI Capacitor Self-Test Failed due to capacitor charge or discharge thresholds exceeded (MRIE = 5 or 6). Predictive Failure Analysis Remaining Reserve 1 0x1A53 0x0 SMART Pre-failure: Measured temperature exceeded 70°C (MRIE = 5 or 6). Predictive Failure Analysis Capacitor Error 0x1A28 0x0 SMART Warning: Number of NAND Erases on any Band exceeded Maximum Threshold (MRIE = 5 or 6). Predictive Failure Analysis Temperature Threshold Exceeded 0x1A22 0x0 Description 0xFF SMART Pre-failure: NAND wear failure (MRIE = 5 or 6) Predictive Failure Analysis SMART Test Failure 0x1AFF SMART Warning: SMART test trip (MRIE = 5 or 6). Sense Key (0x1) = Recovered Error 0x1 0x0B 0x01 Temperature Warning Indicator 0x2A02 0x1 0x0B 0x03 Background Self=Test Failure Warning 0x2A03 0x1 0x0B 0x04 0x0B SMART Warning: Background Self-Test completed in Error (MRIE = 3 or 4). Background Pre-Scan Failure Warning 0x2A04 0x1 SMART Warning: Measured temperature exceeded 70°C (MRIE = 3 or 4). 0x05 SMART Warning: Background Prescan completed with Hard Error (MRIE = 3 or 4). Background Media Scan Failure Warning 0x2A05 SMART Warning: Background Media Scan completed with Hard Error (MRIE = 3 or 4). Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 353 Error SCSI Sense Information HGST Key Code Qualifier 0x1 0x0B 0x06 UEC Background NAND Wear Indicator Warning 0x2A06 0x1 0x17 0x01 0x1 0x1C 0x00 0x1 0x1C 0x01 0x172A NAND ECC Error was corrected with XOR Rebuild. 0x172C NAND Error was corrected with HW ECC. 0x172D NAND ECC Error was corrected with MRR. Defect List Not Found 0x02 0x1 0x1F 0x00 0x1 0x5D 0x00 0x5D 0xF123 Power transition to sleep mode requested at inappropriate time. 0x1201 Sense K/C/Q does not exist for an error that is being reported. 0x1202 Sense K/C/Q does not exist for an error that is being reported. 0x01 Predictive Failure Analysis Media Error Threshold Exceeded 0x22 0x5D 0x28 0x5D 0x53 0x5D 0x54 0x5D 0x55 0x5D SMART Pre-failure: Number of reserve erase blocks that drops below the threshold where XOR Parity Protection is no longer enabled (MRIE 3 or 4). Predictive Failure Analysis NAND Channel Failure 0x2A55 0x1 SMART Pre-failure: Number of reserve erase blocks drops within 1% of the Remaining Reserve 2 Threshold (MRIE = 3 or 4). Predictive Failure Analysis Remaining Reserve 2 0x2A54 0x1 SMART Pre-failure: PLI Capacitor Self-Test Failed due to Capacitor charge or discharge thresholds exceeded (MRIE = 3 or 4). Predictive Failure Analysis Remaining Reserve 1 0x2A53 0x1 SMART Pre-failure: Measured temperature exceeded Temperature Threshold (MRIE = 3 or 4). Predictive Failure Analysis Capacitor Error 0x2A28 0x1 Self-test exceeded recovered error threshold. Predictive Failure Analysis Temperature Threshold Exceeded 0x2A22 0x1 Defect List exceeds the Allocation Length for READ DEFECT DATA command (partial list transferred). Recovered Internal Target Failure 0x2A80 0x1 Grown Defect List not found. Partial Defect List Transferred 0x1749 0x44 Primary Defect List not found. Grown Defect List Not Found 0x1748 0x1 Defect List format not supported. Primary Defect List Not Found 0x1747 0x1C SMART Warning: Number of NAND Erases on any Band exceeded Maximum Threshold (MRIE = 3 or 4). Recovered Data With Retries 0x1746 0x1 Description 0x56 SMART Pre-failure: NAND Channel failure (MRIE = 3 or 4). Predictive Failure Analysis TCG Wear Indicator 0x2A56 SMART Pre-failure: TCG Wear failure (MRIE = 3 or 4). Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 354 Error SCSI Sense Information HGST Key Code Qualifier 0x1 0x5D 0x57 UEC Predictive Failure Analysis XOR Depletion Indicator 0x2A57 0x1 0x5D 0x73 0x5D SMART Pre-failure: XOR Depletion failure (MRIE = 3 or 4). Predictive Failure Analysis NAND Wear Failure 0x2A73 0x1 Description 0xFF SMART Pre-failure: General wear failure (MRIE = 3 or 4). Predictive Failure Analysis SMART Test Failure 0x2AFF SMART Warning: SMART Test Trip (MRIE = 3 or 4). Sense Key (0x2) = Not Ready 0x2 0x04 0x00 Logical Unit Not Ready 0xF501 0x2 0x04 0x01 0x2 0x04 0x02 Logical Unit In The Process of Becoming Ready 0xF502 0x2 0x04 0xF124 Invalid operating state transition detected. 0xF503 LUN is not ready and waiting for initializing command. Logical Unit Not Ready, Format In Progress 0xF504 0x04 0x09 0x2 0x04 0x0D 0x11 0x04 0x1B 0x04 0xF0 0x31 LUN is not ready due to sanitize in progress. Logical Unit Not Ready, Customer Mismatch 0xF133 0x2 SAS drive not ready due to waiting for Notify to complete reserved area boot. Logical Unit Not Ready, Sanitize In Progress 0xF50B 0x2 LUN is not ready due to session not open. Logical Unit Not Ready, Notify (Enable Spin-up) Required 0xF553 0x2 LUN is not ready due to Self-Test in progress. Logical Unit Not Ready, Structure Check Required 0xF508 0x04 LUN is not ready due to format in progress. Logical Unit Not Ready, Self-Test In Progress 0xF505 0x2 LUN is in process of becoming ready. Logical Unit Not Ready, Initialization Command Required 0x04 0x2 LUN is in not ready state. 0x01 Customer mismatch detected during load of a reserved area file. Logical Unit Not Ready, Format Command Failed 0xF507 LUN is in a format degraded state due to previous format failure or change definition request. Sense Key (0x3) = Medium Error 0x3 0x10 0x01 Logical Block Guard Check Failed 0xF7BD 0x3 0x10 0x02 0x3 0x10 0x03 Logical Block Application Tag Check Failed 0xF7BB 0x11 BATS2 T10 End-End Test Failed Application Tag Check Logical Block Reference Tag Check Failed 0xF7B9 0x3 BATS2 T10 End-End Test Failed Guard Band Check. 0x00 BATS2 T10 End-End Test Failed Reference Tag Check Unrecovered Read Error 0xF72D NAND ECC Error was uncorrectable. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 355 Error SCSI Sense Information HGST Key Code Qualifier 0x3 0x11 0x14 0x3 0x31 UEC Read Error, LBA Marked Bad by Application Client 0xF7CA Sector marked bad by application client with correction disabled. 0xF7CC Sector marked bad by application client with correction enabled. 0xF7CD Sector marked bad by application client by corrupting data and/or CRC. 0x00 Medium Format Corrupted 0xF701 0x3 0x31 0x01 0x3 0x31 0x03 Too many defects to support the capacity. Sanitize Command Failed 0xF50C 0x5D Drive is in a format degraded state Unable to Format Medium 0xF740 0x3 Description 0x01 Sanitize command failed. Predictive Failure Analysis Media Error Threshold Exceeded 0xFA81 Self-Test exceeded the Self-Test Unrecovered Error Threshold. Sense Key (0x4) = Hardware Error 0x4 0x3E 0x03 Logical Unit Failed Self-Test 0xF75D 0x4 0x3E 0x04 Logical Unit Failed to Update Self-Test Log 0xF762 0x4 0x3E 0x05 0x40 DRAM Self-Test Failed due to Hard Error Logical Unit Failed Self-Test Due to Recovered ECC Error 0xF763 0x4 Media self-test failed due to error, 0x80 DRAM Self-Test Failed due to Recovered ECC Error Diagnostic Failure 0xF101 FW Function Argument Validation Check Failed 0xF102 Error finding and location a file in the drive reserved area. 0xF103 Unexpected Version ID found in a drive reserved area file. 0xF104 Incorrect checksum calculated on a drive reserved area file. 0xF105 Unexpected header on a drive reserved area file. 0xF107 Incorrect size specified during request for a reserved area file. 0xF108 Incorrect offset specified during request for a reserved area file. 0xF111 Error occurred while loading Flash or Disk Code. 0xF112 Incorrect checksum was calculated inside the Code Download File. 0xF119 BATS2 Read/Write Test Failed 0xF11D Code from Reserved Area does not match Flash Code. 0xF125 An invalid Reserved Area File was detected during Code Download Request. 0xF12B Invalid Model detected during load attempt of a reserved area file. 0xF12E Unable to write/read Directory Table to Reserved Area. 0xF12F Unable to write/read File Allocation Table to Reserved Area. 0xF131 Timeout during write of one word to flash. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 356 Error SCSI Sense Information Key Code HGST Qualifier UEC Description 0xF139 Error detected during an attempt to resize reserved area files during a code download. 0xF13C Error detected during test of reserved DRAM. 0x4 0x42 0x00 0xF140 PLI Self-Test detected capacitor exceeded time to charge. 0x4 0x42 0x00 0xF141 PLI Self-Test detected capacitor exceeded time to discharge. 0x4 0x42 0x00 0xF142 PLI Self-Test detected capacitor discharged too quickly. 0x4 0x42 0x00 0xF143 PLI Capacitor is not in fully charged state after PLI Self-Test. 0x4 0x42 0x00 0xF144 PLI Capacitor charge time exceeds 500ms. 0x4 0x42 0x00 0xF145 PLI Capacitor test start time exceeded. 0xF147 Security AES verification failure. 0xF148 Security RSA verification failure. 0xF149 Security DRGB verification failure. 0xF14A Security SHA256 verification failure. 0x4 0x40 0xA0 Diagnostic Failure 0xF11B BATS2 CRC Test Failed 0xF11C BATS2 XOR Test Failed 0xF136 Failure detected during BATS2 Test of End-End Protection HW. 0xF13E Failure detected during BATS2 TCG encryption engine verification. 0x4 0x44 0x00 Internal Target Failure 0x4 0x44 0xF2 0xF208 Insufficient NAND exists for the desired customer capacity. 0x4 0x44 0xF2 0xF209 Mismatch between customer block size and NAND block size on system boot. 0x4 0x44 0xF2 0xF20A Unable to locate Saved Mode Parameters during system boot. 0x4 0x44 0xF4 0xF401 Invalid Error reported from HW Data Path. 0x4 0x44 0xF4 0xF402 Overflow Error reported from HW Data Path. 0x4 0x44 0xF4 0xF403 Overflow Error reported from HW Data Path. 0x4 0x44 0xF4 0xF404 Overflow Error reported from HW Data Path. 0x4 0x44 0xF4 0xF405 Overflow Error reported from HW Data Path. 0xF56E Data Size Mismatch detected during read of reserved area contents. 0x4 0x44 0x81 0xF601 NAND Processor failed to complete boot. 0x4 0x44 0x82 0xF602 NAND Processor failed to load FW from NAND. 0x4 0x44 0x83 0xF603 NAND Processor failed to service a request within desired timeout. 0x4 0x44 0x84 0xF604 NAND Processor failed to load host interface FW from NAND. 0x4 0x44 0x85 0xF605 NAND Processor failed to service a request due to error or abort . 0x4 0x44 0x87 0xF607 NAND Processor detected fatal error condition and asserted. 0x4 0x44 0x88 0xF608 NAND Processor failed to service Identify Request following initial boot. 0x4 0x44 0x8E 0xF60E NAND Processor failed to complete FCONFIG Update. 0x4 0x44 0x8F 0xF60F NAND Processor provided FCONFIG Data that did not contain the desired token. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 357 Error SCSI Sense Information HGST Key Code Qualifier UEC 0x4 0x44 0x95 0xF615 NAND Processor failed XOR self-test. 0x4 0x44 0xA2 0xF622 NAND Processor failed to find good context. 0x4 0x44 0xA3 0xF623 NAND Processor detected fatal error condition and asserted. 0x4 0x44 0xA4 0xF624 NAND Processor failed to find defect map. 0x4 0x44 0xA8 0xF628 NAND Processor failed to find NAND Log Information. 0x4 0x44 0xB0 0xF630 NAND Processor generic boot error. 0xFCxx Drive failed to read file xx from Flash or Reserved Area. 0x4 0x44 0x31 Internal Target Failure 0xF631 0x4 0x5D 0x01 0x81 NAND Processor logically disabled. Predictive Failure Analysis Command Timeout Error Threshold Exceeded. 0xFA82 0x4 Description 0x00 Self-Test exceeded the Self-Test Command Timeout Error Threshold. Vendor Unique, Internal Logic Error 0xF56F Insufficient DRAM available to pull drive logs. Sense Key (0x5) = Illegal Request 0x5 0x15 0x00 0x5 0x1A 0x00 Phy Test Function In Progress 0xF50D Parameter List Length Error 0xF820 0x5 0x20 0x00 0x5 0x21 0x00 0x00 0x25 0x00 0x5 0x26 0x26 SCSI Command failed to execute due to Invalid Field Setting in CDB. Logical Unit Not Supported 0xF824 0x5 SCSI Command failed to execute due to LBA Range Error. Invalid Field in CDB 0xF823 0x5 SCSI Command failed to execute due to Illegal Operation Code. Logical Block Address Out of Range 0xF822 0x24 SCSI Command failed to execute due to Parameter List Length Error. Invalid Command Operation Code 0xF821 0x5 Illegal Phy Test Request 0x00 SCSI Command failed to execute due to Invalid LUN specified in SCSI Command Frame. Invalid Field in Parameter List 0xF825 SCSI Command failed to execute due to Invalid Field Setting in Parameter List. 0xF826 SCSI Command failed to execute due to Unsupported Log Page Selected. 0x02 Parameter Value Invalid 0xF120 Single binary download is not compatible with existing code on drive. 0xF126 A checksum error was calculated for a chunk of a single binary download file. 0xF127 Invalid length or chunk size detected during single binary code download. 0xF130 Customer version of single binary download is not compatible with existing code on drive. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 358 Error SCSI Sense Information Key Code HGST Qualifier UEC 0xF13D 0x5 0x26 0x04 0x2A 0x03 0x5 0x2C 0x00 0x00 0x55 Command sequence error. Invalid Message Error 0xF512 0x5 Reservation Conflict detected. Command Sequence Error 0xF511 0x49 SCSI Command failed to perform Release due to Persistent Reservation. Reservations Preempted 0xF536 0x5 RSA signature verification failure on download file Invalid Release of Persistent Reservation 0xF828 0x5 Description 0x04 Illegal ACA Task Attribute sent due to no outstanding ACA Condition. Insufficient Reservation Resources 0xF567 Insufficient resources to process Registration Request Sense Key (0x6) = Unit Attention 0x6 0x0B 0x01 Temperature Warning Indicator 0x3A02 0x6 0x0B 0x03 Background Self-Test Failure Warning 0x3A03 0x6 0x0B 0x04 0x0B 0x05 0x0B 0x06 0x28 0x00 0x29 0x00 0x6 0x29 0x01 0x02 0x6 0x29 0x03 Unit Attention for LIP. Power On Occurred 0xF516 0x29 Unit Attention marking transition from Not Ready to Ready State during Format. Power On, Reset, or Bus Device Reset Occurred 0xF515 0x6 SMART Warning: Number of NAND Erases on any Band exceeded Maximum Threshold (MRIE = 2). Not Ready to Ready Change, Medium May Have Changed 0xF514 0x6 SMART Warning: Background Media Scan completed with Hard Error (MRIE = 2). Background NAND Wear Indicator Warning 0x3A06 0x6 SMART Warning: Background Prescan completed with Hard Error (MRIE = 2). Background Media Scan Failure Warning 0x3A05 0x6 SMART Warning: Background Self-Test completed in Error (MRIE = 2) Background Pre-Scan Failure Warning 0x3A04 0x6 SMART Warning: Measured temperature exceeded 70°C (MRIE = 2). Unit Attention for POR. SCSI Bus Reset Occurred 0xF517 Unit Attention for Hard Reset. Bus Device Reset Function Occurred 0xF518 Unit Attention for Soft Reset. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 359 Error SCSI Sense Information HGST Key Code Qualifier 0x6 0x29 0x04 UEC Device Internal Reset 0xF519 0x6 0x29 0x07 0x2A 0x01 0x6 0x2A 0x02 0x03 0x6 0x2A 0x04 0x05 0x2F 0x00 0x2F 0x01 0x3F 0x01 0x6 0x3F 0x03 0x05 0x6 0x5D 0x22 0x28 0x5D 0x53 0x5D 0x54 0x5D SMART Pre-failure: Number of reserve erase blocks drops within 1% of the Remaining Reserve 2 Threshold (MRIE = 2). Predictive Failure Analysis Remaining Reserve 2 0x3A54 0x6 SMART Pre-failure: PLI Capacitor Self-Test Failed due to Capacitor charge or discharge thresholds exceeded (MRIE = 2). Predictive Failure Analysis Remaining Reserve 1 0x3A53 0x6 SMART Pre-failure: Measured temperature exceeded Temperature Threshold (MRIE = 2). Predictive Failure Analysis Capacitor Error 0x3A28 0x6 Unit Attention for Device Identifier Change Predictive Failure Analysis Temperature Threshold Exceeded 0x3A22 0x5D Unit Attention for Inquiry Parameters Change Device Identifier Changed 0xF537 0x6 Unit Attention for Microcode Change Inquiry Data Has Changed 0xF523 0x3F Unit Attention for SAS Expected Power Failure Notify Microcode Has Been Changed 0xF522 0x6 Unit Attention for Commands Aborted by another Initiator. Commands Cleared by Power Loss Notification 0xF573 0x6 Unit Attention for Registration Clear Commands Cleared by Another Initiator 0xF521 0x6 Unit Attention for Reservation Release Registrations Preempted 0xF520 0x6 Unit Attention for Reservation Clear Reservations Released 0xF51F 0x2A Unit Attention for Log Parameters Change Reservations Preempted 0xF51E 0x6 Unit Attention for Mode Parameters Change Log Parameters Changed 0xF51D 0x2A Unit Attention for SAS I_T Nexus Loss. Mode Parameters Changed 0xF51C 0x6 Unit Attention for Self-initiated Reset. I_T Nexus Loss Occurred 0xF554 0x6 Description 0x55 SMART Pre-failure: Number of reserve erase blocks that drops below the threshold where XOR Parity Protection is no longer enabled (MRIE = 2). Predictive Failure Analysis NAND Channel Failure 0x3A55 SMART Pre-failure: NAND Channel failure (MRIE = 2). Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 360 Error SCSI Sense Information HGST Key Code Qualifier 0x6 0x5D 0x56 UEC Predictive Failure Analysis TCG Wear Indicator 0x3A56 0x6 0x5D 0x57 0x5D 0x73 0x6 0x5D 0xFF SMART Pre-failure: TCG Wear failure (MRIE = 2). Predictive Failure Analysis XOR Depletion Indicator 0x3A57 0x6 Description SMART Pre-failure: XOR Depletion failure (MRIE = 2). Predictive Failure Analysis NAND Wear Failure 0x3A73 SMART Pre-failure: General wear failure (MRIE = 2). Predictive Failure Analysis SMART Test Failure 0x3AFF SMART Warning: SMART Test Trip (MRIE = 2) Sense Key (0x7) = Data Protect 0x7 0x20 0x02 Access Denied, No Access Rights 0xF509 Data Protect - Access Denied (Locked by Self-Test) 0xF827 Data Protect - Access Denied Sense Key (0x9) = Vendor Specific 0x9 0xED 0x00 Vendor Unique, Error During Eye Data Measurement 0xF50E Error detected during Data Eye Measurement. Sense Key (0xB) = Aborted Command 0xB 0x0E 0x01 Information Unit Too Short 0xF561 0xB 0xB 0xB 0xB 0x10 0x10 0x10 0x10 0x00 SAS Data-out Transfer aborted due to invalid frame length. ID CRC or ECC Error 0xF417 HW Data-out Transfer aborted due to CRC Error. 0xF421 HW Data-in Transfer aborted due to CRC Error. 0xF52F HW Data-out Transfer aborted due to internal CRC Error 0x01 Logical Block Guard Check Failed 0xF414 HW Data-out Transfer aborted due to T10 Guard Band Check Error. 0xF424 HW Data-in Transfer aborted due to T10 Guard Band Check Error. 0xF529 HW Data-in Transfer aborted due to T10 Guard Band Check Error. 0xF568 HW Data-in Transfer aborted due to T10 Guard Band Check Error 0x02 Logical Block Application Tag Check Failed 0xF415 HW Data-out Transfer aborted due to T10 Application Tag Check Error. 0xF423 HW Data-in Transfer aborted due to T10 Application Tag Check Error. 0xF52A HW Data-in Transfer aborted due to T10 Application Tag Check Error. 0xF569 Data-in Transfer aborted due to T10 Application Tag Check Error. 0x03 Logical Block Reference Tag Check Failed 0xF416 HW Data-out Transfer aborted due to T10 Reference Tag Check Error. 0xF422 HW Data-in Transfer aborted due to T10 Reference Tag Check Error. 0xF52B HW Data-in Transfer aborted due to T10 Reference Tag Check Error. 0xF56A Data-in Transfer aborted due to T10 Reference Tag Check Error. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 361 Error SCSI Sense Information HGST Key Code Qualifier 0xB 0x11 0x00 UEC Unrecovered Read Error 0xF729 0xB 0x3F 0x0F 0xB 0x44 0x47 HW Data-in Transfer aborted due to internal error while handling media error. Echo Buffer Overwritten 0xF544 0xB Description 0x00 DRAM Read Echo Buffer was overwritten. Internal Target Failure 0xF406 HW Data Transfer aborted due to error. 0xF410 HW Data-out Transfer aborted due to error. 0xF411 HW Data-out Transfer aborted due to DRAM ECC Error. 0xF412 HW Data-out Transfer aborted due to Data Path CRC Error. 0xF413 HW Data-out Transfer aborted due to Data Path LBA Mismatch. 0xF418 HW Data-out Transfer aborted due to transfer error. 0xF419 HW Data-out Transfer aborted due to transfer timeout. 0xF420 HW Data-in Transfer aborted due to error. 0xF425 HW Data-in Transfer aborted due to Data Path LBA Error. 0xF426 HW Data-in Transfer aborted due to transfer error. 0xF427 HW Data-in Transfer aborted due to transfer timeout. 0xF428 HW Data transfer aborted due to write error. 0xF429 HW Data transfer aborted due to read error. 0xF42A HW Data transfer aborted due to read transfer length error. 0xF526 HW Data-out Transfer aborted due to Data Path LBA Mismatch. 0xF527 HW Data-out or Data-in Transfer aborted due to Data Path Error. 0xF528 HW Data-out or Data-in Transfer aborted due to Data Path Timeout. 0xF52C HW Data-out or Data-in Transfer aborted due to Data Path CRC Error. 0xF52D HW Data-in Transfer aborted due to internal CRC error 0xF52E HW Data-out or Data-in Transfer aborted due to internal target failure. 0xF540 HW Transfer aborted due to simulated internal abort. 0xF54A HW Data-out or Data-in Transfer aborted due to Transfer Ready Burst Length Mismatch. 0xF54B HW Data-out or Data-in Transfer aborted due to Data Length Mismatch, 0xF56B Data Transfer aborted due to DRAM LBA ECC Error. 0xF56C Data Transfer aborted due to Uncorrectable DRAM ECC Error. 0xF570 Data Transfer aborted due to Data Path CRC Error. 0xF57B Data Transfer aborted due to LBA CRC Error. 0xF731 Access Denied - Write initialization required as read data is associated with Invalid Management Key. 0xF75C Overall Command Timeout exceeded. 0x01 Data Phase CRC Error Detected 0xF54E Data-out Transfer aborted due to Data Frame CRC Error. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 362 Error SCSI Sense Information HGST Key Code Qualifier 0xB 0x4B 0x00 UEC Data Phase Error 0xF53E 0xB 0x4B 0x02 0x4B 0x03 0x4B 0x04 0xB 0x4B 0x05 0xB 0x4F SAS Data-in Transfer received a NAK on Data Frame. Data Offset Error 0xF552 0x4B SAS Data-in Transfer failed for timeout waiting for ACK or NAK. NAK Received 0xF550 0xB SAS Data-out Transfer aborted due to Transfer Ready Burst Length Mismatch. ACK/NAK Timeout 0xF551 0xB Data Phase error during a Data-out Transfer. Too Much Write Data 0xF560 0xB Description 0x06 Data-out Transfer failed due to incorrect relative offset value in data frame header. Initiator Response Timeout 0xF555 Data-out Transfer aborted due to timeout from host in sending data frames. 0xF556 Data-out Transfer aborted due to initiator response timeout. 0x00 Command Aborted Due to Link Initialization 0xF53F Command was aborted due to link initialization. Sense Key (0xE) = Miscompare 0xE 0x1D 0x00 Miscompare During Verify Operation 0xF535 Miscompare detected during Verify or Write & Verify with Byte Check Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 363 17.2.9 FRU: Field Replaceable Unit (Byte 14) The FRU (Field Replaceable Unit) field value will always be zero. 17.2.10 Sense Key Specific (Byte 15 through 17) The definition of this field is determined by the value of the sense key field. 17.2.10.1 Sense Key Specific - Illegal Request (Sense Key = 5h) Error field pointer is returned. Table 256: Field Pointer Bytes Bit Byte 7 6 15 SKSV C/D 5 4 Reserved CD BPV BPV 2 1 0 Bit Pointer Field Pointer 16-17 SKSV 3 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 the 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. Bit Pointer Indicates which bit of the byte number reported in Field Pointer is the bit in error. When a multiple bit field is in error, the pointer points to the most significant bit of the field. Field Pointer Indicates which bytes of the command descriptor block or of the parameter data were in error. Bytes are numbered starting from zero, as shown in the tables describing the commands and parameters. When a multiple byte field id is in error, the pointer points to the most significant byte of that field. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 364 17.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) Number of Bits in Error is reported. Table 257: Number of Bits in Error Bit Byte 7 15 SKSV 6 5 4 3 2 1 0 Reserved 16 Reserved 17 Number of Bits in Error SKSV Sense Key Specific Valid Number of Bits in Error 0 Number of Bits in Error is not valid. 1 Number of Bits in Error is valid. Represents the number of bits in error and/or last recovery step attempted, with the following ranges: 1-56 Recovered error, number represents the number of bits in error (maximum of 56) in the data block corrected by ECC. 57 Recovered error, data was unrecoverable with ECC; however, MRR (moving read reference) recovery was successful. 58 Recovered error, data was unrecoverable with ECC or MRR; however the data was recovered via XOR rebuild of the data stripe. 59 Unrecoverable (hard) error, multiple blocks on the data stripe were unable to be recovered via ECC or MRR. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 365 17.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 258: Progress Indication Bit Byte 7 15 SKSV 6 5 4 3 2 1 0 Reserved Progress Indication 16-17 SKSV Sense Key Specific Valid Progress Indication 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. 17.2.11 Reserved (Byte 18 through 19) These bytes are filled with zeroes. 17.2.12 Vendor-Unique Error Information (Byte 20 through 23) This field will return information about the error. It contains a unique code that describes where the error was detected and which piece of hardware or microcode detected the error depending on current operation. 17.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. o If the physical location has no relevance for the error, bytes 24 through 29 will all be set to 0FFFFFFFFFFFFh for Valid = 0 and ILI = 0. o This Physical Error Record field is valid for Sense Key 1, 3, and 4 only. 17.2.14 Reserved (Byte 30 through 31) These bytes are filled with zeroes. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 366 17.2.15 Unit Error Codes (UEC) List The following table lists the Unit Error Codes (UEC) and associated descriptions. The Unit Error Codes are returned by the target in Sense Data Bytes 20-21. Table 259: Unit Error Codes UEC Description 0x1201 Sense K/C/Q does not exist for an error that is being reported. 0x1202 Sense K/C/Q does not exist for an error that is being reported. 0x172A NAND ECC Error was corrected with XOR Rebuild. 0x172C NAND Error was corrected with HW ECC. 0x172D NAND ECC Error was corrected with MRR. 0x1746 Defect List format not supported. 0x1747 Primary Defect List not found. 0x1748 Grown Defect List not found. 0x1749 Defect List exceeds the Allocation Length for Read Defect Data command (partial list transferred). 0x1A02 SMART Warning: Measured temperature exceeded warning threshold (default 70° C configurable) (MRIE = 5 or 6). 0x1A03 SMART Warning: Background Self-Test completed in Error (MRIE = 5 or 6). 0x1A04 SMART Warning: Background Prescan completed with Hard Error (MRIE = 5 or 6). 0x1A05 SMART Warning: Background Media Scan completed with Hard Error (MRIE = 5 or 6). 0x1A06 SMART Warning: Number of NAND Erases on any Band exceeded Maximum Threshold (MRIE = 5 or 6). 0x1A22 SMART Pre-failure: Measured temperature exceeded 70 degree C (MRIE = 5 or 6). 0x1A28 SMART Pre-failure: PLI Capacitor Self-Test Failed due to Capacitor charge or discharge thresholds exceeded (MRIE = 5 or 6). 0x1A53 SMART Pre-failure: Number of reserve erase blocks drops within 1% of the Remaining Reserve 2 Threshold (MRIE = 5 or 6). 0x1A54 SMART Pre-failure: Number of reserve erase blocks that drops below the threshold where XOR Parity Protection is no longer enabled (MRIE = 5 or 6). 0x1A55 SMART Pre-failure: NAND Channel failure (MRIE = 5 or 6). 0x1A56 SMART Pre-failure: TCQ Wear failure (MRIE = 5 or 6). 0x1A57 SMART Pre-failure: XOR Depletion failure (MRIE = 5 or 6). 0x1A73 SMART Pre-failure: General wear failure (MRIE = 5 or 6). 0x1AFF SMART Warning: SMART test trip (MRIE = 5 or 6). 0x2A02 SMART Warning: Measured temperature exceeded 70 degree C (MRIE = 3 or 4). 0x2A03 SMART Warning: Background Self-Test completed in Error (MRIE = 3 or 4). 0x2A04 SMART Warning: Background Prescan completed with Hard Error (MRIE = 3 or 4). 0x2A05 SMART Warning: Background Media Scan completed with Hard Error (MRIE = 3 or 4) 0x2A06 SMART Warning: Number of NAND Erases on any Band exceeded Maximum Threshold (MRIE = 3 or 4). 0x2A22 SMART Pre-failure: Measured temperature exceeded Temperature Threshold (MRIE = 3 or 4). 0x2A28 SMART Pre-failure: PLI Capacitor Self-Test Failed due to Capacitor charge or discharge thresholds exceeded (MRIE = 3 or 4). 0x2A53 SMART Pre-failure: Number of reserve erase blocks drops within 1% of the Remaining Reserve 2 Threshold (MRIE = 3 or 4). Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 367 0x2A54 SMART Pre-failure: Number of reserve erase blocks that drops below the threshold where XOR Parity Protection is no longer enabled (MRIE 3 or 4). 0x2A55 SMART Pre-failure: NAND Channel failure (MRIE = 3 or 4). 0x2A56 SMART Pre-failure: TCQ Wear failure (MRIE = 3 or 4). 0x2A57 SMART Pre-failure: XOR Depletion failure (MRIE = 3 or 4). 0x2A73 SMART Pre-failure: General wear failure (MRIE = 3 or 4). 0x2A80 Self-test exceeded recovered error threshold. 0x2AFF SMART Warning: SMART Test Trip (MRIE = 3 or 4). 0x3A02 SMART Warning: Measured temperature exceeded 70°C (MRIE = 2). 0x3A03 SMART Warning: Background Self-Test completed in Error (MRIE = 2). 0x3A04 SMART Warning: Background Prescan completed with Hard Error (MRIE = 2). 0x3A05 SMART Warning: Background Media Scan completed with Hard Error (MRIE = 2). 0x3A06 SMART Warning: Number of NAND Erases on any Band exceeded Maximum Threshold (MRIE = 2). 0x3A22 SMART Pre-failure: Measured temperature exceeded Temperature Threshold (MRIE = 2). 0x3A28 SMART Pre-failure: PLI Capacitor Self-Test Failed due to Capacitor charge or discharge thresholds exceeded (MRIE = 2). 0x3A53 SMART Pre-failure: Number of reserve erase blocks drops within 1% of the Remaining Reserve 2 Threshold (MRIE = 2). 0x3A54 SMART Pre-failure: Number of reserve erase blocks that drops below the threshold where XOR Parity Protection is no longer enabled. (MRIE = 2). 0x3A55 SMART Pre-failure: NAND Channel failure (MRIE = 2). 0x3A56 SMART Pre-failure: TCQ Wear failure (MRIE = 2). 0x3A57 SMART Pre-failure: XOR Depletion failure (MRIE = 2). 0x3A73 SMART Pre-failure: General wear failure (MRIE = 2). 0x3AFF SMART Warning: SMART Test Trip (MRIE = 2). 0xF101 FW Function Argument Validation Check Failed. 0xF102 Error finding and location a file in the drive reserved area. 0xF103 Unexpected Version ID found in a drive reserved area file. 0xF104 Incorrect checksum calculated on a drive reserved area file. 0xF105 Unexpected header on a drive reserved area file. 0xF107 Incorrect size specified during request for a reserved area file. 0xF108 Incorrect offset specified during request for a reserved area file. 0xF111 Error occurred while loading Flash or Disk Code. 0xF112 Incorrect checksum was calculated inside the Code Download File. 0xF119 BATS2 Read/Write Test Failed. 0xF11B BATS2 CRC Test Failed. 0xF11C BATS2 XOR Test Failed. 0xF11D Code from Reserved Area does not match Flash Code. 0xF120 Single binary download is not compatible with existing code on drive. 0xF123 Power transition to sleep mode requested at inappropriate time. 0xF124 Invalid operating state transition detected. 0xF125 An invalid Reserved Area File was detected during Code Download Request. 0xF126 A checksum error was calculated for a chunk of a single binary download file. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 368 0xF127 Invalid length or chunk size detected during single binary code download. 0xF12B Invalid Model detected during load attempt of a reserved area file. 0xF12E Unable to write & read Directory Table to Reserved Area. 0xF12F Unable to write & read File Allocation Table to Reserved Area. 0xF130 Customer version of single binary download is not compatible with existing code on drive. 0xF131 Timeout during write of one word to flash. 0xF133 Customer mismatch detected during load of a reserved area file. 0xF136 Failure detected during BATS2 Test of End-End Protection HW. 0xF139 Error detected during an attempt to resize reserved area files during a code download. 0xF13C Error detected during test of reserved DRAM. 0xF13D RSA signature verification failure on download file. 0xF13E Failure detected during BATS2 TCG encryption engine verification. 0xF140 PLI Self-Test detected Capacitor exceeded time to charge. 0xF141 PLI Self-Test detected Capacitor exceeded time to discharge. 0xF142 PLI Self-Test detected Capacitor discharged too quickly. 0xF143 PLI Capacitor is not in fully charged state after PLI Self-Test. 0xF144 PLI Capacitor charge time exceeds 500ms. 0xF145 PLI Capacitor test start time exceeded. 0xF147 Security AES verification failure. 0xF148 Security RSA verification failure. 0xF149 Security DRGB verification failure. 0xF14A Security SHA256 verification failure. 0xF208 Insufficient NAND exists for the desire customer capacity. 0xF209 Mismatch between customer block size and NAND block size on system boot. 0xF20A Unable to locate Saved Mode Parameters during system boot. 0xF401 Invalid Error reported from HW Data Path. 0xF402 Overflow Error reported from HW Data Path. 0xF403 Overflow Error reported from HW Data Path. 0xF404 Overflow Error reported from HW Data Path. 0xF405 Overflow Error reported from HW Data Path. 0xF406 HW Data Transfer aborted due to error. 0xF410 HW Data-out Transfer aborted due to error. 0xF411 HW Data-out Transfer aborted due to DRAM ECC Error. 0xF412 HW Data-out Transfer aborted due to Data Path CRC Error. 0xF413 HW Data-out Transfer aborted due to Data Path LBA Mismatch. 0xF414 HW Data-out Transfer aborted due to T10 Guard Band Check Error. 0xF415 HW Data-out Transfer aborted due to T10 Application Tag Check Error. 0xF416 HW Data-out Transfer aborted due to T10 Reference Tag Check Error. 0xF417 HW Data-out Transfer aborted due to CRC Error. 0xF418 HW Data-out Transfer aborted due to transfer error. 0xF419 HW Data-out Transfer aborted due to transfer timeout. 0xF420 HW Data-in Transfer aborted due to error. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 369 0xF421 HW Data-in Transfer aborted due to CRC Error. 0xF422 HW Data-in Transfer aborted due to T10 Reference Tag Check Error. 0xF423 HW Data-in Transfer aborted due to T10 Application Tag Check Error. 0xF424 HW Data-in Transfer aborted due to T10 Guard Band Check Error. 0xF425 HW Data-in Transfer aborted due to Data Path LBA Error. 0xF426 HW Data-in Transfer aborted due to transfer error. 0xF427 HW Data-in Transfer aborted due to transfer timeout. 0xF428 HW Data transfer aborted due to write error. 0xF429 HW Data transfer aborted due to read error. 0xF42A HW Data transfer aborted due to read transfer length error. 0xF501 LUN is in not ready state. 0xF502 LUN is in process of becoming ready. 0xF503 LUN is not ready and waiting for initializing command. 0xF504 LUN is not ready due to format in progress. 0xF505 LUN is not ready due to Self-Test in progress. 0xF507 LUN is in a format degraded state due to previous format failure or change definition request. 0xF508 LUN is not ready due to session not open. 0xF50B LUN is not ready due to in progress. 0xF50C Sanitize command failed. 0xF50D Illegal Phy Test Request. 0xF50E Error detected during Data Eye Measurement. 0xF511 Command sequence error. 0xF512 Illegal ACA Task Attribute sent due to no outstanding ACA Condition. 0xF514 Unit Attention marking transition from Not Ready to Ready State during Format. 0xF515 Unit Attention for LIP. 0xF516 Unit Attention for POR. 0xF517 Unit Attention for Hard Reset. 0xF518 Unit Attention for Soft Reset. 0xF519 Unit Attention for Self-initiated Reset. 0xF51C Unit Attention for Mode Parameters Change. 0xF51D Unit Attention for Log Parameters Change. 0xF51E Unit Attention for Reservation Clear. 0xF51F Unit Attention for Reservation Release. 0xF520 Unit Attention for Registration Clear. 0xF521 Unit Attention for Commands Aborted by another Initiator. 0xF522 Unit Attention for Microcode Change. 0xF523 Unit Attention for Inquiry Parameters Change. 0xF526 HW Data-out Transfer aborted due to Data Path LBA Mismatch. 0xF527 HW Data-out or Data-in Transfer aborted due to Data Path Error. 0xF528 HW Data-out or Data-in Transfer aborted due to Data Path Timeout. 0xF529 HW Data-in Transfer aborted due to T10 Guard Band Check Error. 0xF52A HW Data-in Transfer aborted due to T10 Application Tag Check Error. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 370 0xF52B HW Data-in Transfer aborted due to T10 Reference Tag Check Error. 0xF52C HW Data-out or Data-in Transfer aborted due to Data Path CRC Error. 0xF52D HW Data-in Transfer aborted due to internal CRC Error. 0xF52E HW Data-out or Data-in Transfer aborted due to internal target failure. 0xF52F HW Data-out Transfer aborted due to internal CRC Error. 0xF535 Miscompare detected during Verify or Write & Verify with Byte Check. 0xF536 Reservation Conflict detected. 0xF537 Unit Attention for Device Identifier Change. 0xF53E Data Phase error during a Data-out Transfer. 0xF53F Command was aborted due to link initialization. 0xF540 HW Transfer aborted due to simulated internal abort. 0xF544 DRAM Read Echo Buffer was overwritten. 0xF548 Unit Attention for FCAL Device Control Hard Reset. 0xF54A HW Data-out or Data-in Transfer aborted due to Transfer Ready Burst Length Mismatch. 0xF54B HW Data-out or Data-in Transfer aborted due to Data Length Mismatch. 0xF54E Data-out Transfer aborted due to Data Frame CRC Error. 0xF550 SAS Data-in Transfer received a NAK on Data Frame. 0xF551 SAS Data-in Transfer failed for timeout waiting for ACK or NAK. 0xF552 Data-out Transfer failed due to incorrect relative offset value in data frame header. 0xF553 SAS Drive not ready due to waiting for Notify to complete reserved area boot. 0xF554 Unit Attention for SAS I_T Nexus Loss. 0xF555 Data-out Transfer aborted due to timeout from host in sending data frames. 0xF556 Data-out Transfer aborted due to initiator response timeout. 0xF560 SAS Data-out Transfer aborted due to Transfer Ready Burst Length Mismatch. 0xF561 SAS Data-out Transfer aborted due to invalid frame length. 0xF567 Insufficient resources to process Registration Request. 0xF568 HW Data-in Transfer aborted due to T10 Guard Band Check Error. 0xF569 Data-in Transfer aborted due to T10 Application Tag Check Error. 0xF56A Data-in Transfer aborted due to T10 Reference Tag Check Error. 0xF56B Data Transfer aborted due to DRAM LBA ECC Error. 0xF56C Data Transfer aborted due to Uncorrectable DRAM ECC Error. 0xF56E Data Size Mismatch detected during read of reserved area contents. 0xF56F Insufficient DRAM available to pull drive logs. 0xF570 Data Transfer aborted due to Data Path CRC Error. 0xF573 Unit Attention for SAS Expected Power Failure Notify. 0xF57B Data Transfer aborted due to LBA CRC Error. 0xF601 NAND Processor failed to complete boot. 0xF602 NAND Processor failed to load FW from NAND. 0xF603 NAND Processor failed to service a request within desired timeout. 0xF604 NAND Processor failed to load host interface FW from NAND. 0xF605 NAND Processor failed to service a request due to error or abort. 0xF607 NAND Processor detected fatal error condition and asserted Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 371 0xF608 NAND Processor failed to service Identify Request following initial boot. 0xF60E NAND Processor failed to complete FCONFIG Update. 0xF60F NAND Processor provided FCONFIG Data that did not contain the desired token. 0xF615 NAND Processor failed XOR self-test. 0xF622 NAND Processor failed to find good context. 0xF623 NAND Processor detected fatal error condition and asserted. 0xF624 NAND Processor failed to find defect map. 0xF628 NAND Processor failed to find NAND Log Information. 0xF630 NAND Processor generic boot error. 0xF631 NAND Processor logically disabled. 0xF701 Drive is in a format degraded state. 0xF729 HW Data-in Transfer aborted due to internal error while handling media error. 0xF72D NAND ECC Error was uncorrectable. 0xF731 Access Denied - Write initialization required as read data is associated with Invalid Management Key. 0xF740 Too many defects to support the capacity. 0xF75C Overall Command Timeout exceeded. 0xF75D Media Self-Test Failed due to Error. 0xF762 DRAM Self-Test Failed due to Hard Error. 0xF763 DRAM Self-Test Failed due to Recovered ECC Error. 0xF7B9 BATS2 T10 End-End Test Failed Reference Tag Check. 0xF7BB BATS2 T10 End-End Test Failed Application Tag Check. 0xF7BD BATS2 T10 End-End Test Failed Guard Band Check. 0xF7CA Sector marked bad by application client with correction disabled. 0xF7CC Sector marked bad by application client with correction enabled. 0xF7CD Sector marked bad by application client by corrupting Data and/or CRC. 0xF820 SCSI Command failed to execute due to Parameter List Length Error. 0xF821 SCSI Command failed to execute due to Illegal Operation Code. 0xF822 SCSI Command failed to execute due to LBA Range Error. 0xF823 SCSI Command failed to execute due to Invalid Field Setting in CDB. 0xF824 SCSI Command failed to execute due to Invalid LUN specified in SCSI Command Frame. 0xF825 SCSI Command failed to execute due to Invalid Field Setting in Parameter List. 0xF826 SCSI Command failed to execute due to Unsupported Log Page Selected. 0xF828 SCSI Command failed to perform Release due to Persistent Reservation. 0xFA81 Self-Test exceeded the SelfTest Unrecovered Error Threshold. 0xFA82 Self-Test exceeded the SelfTest Command Timeout Error Threshold. 0xFCxx Drive failed to read file xx from Flash or Reserved Area. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 372 18 Security Firmware and Hardware This chapter provides information for HGST Self Encrypting Drives (SEDs). The reader will need familiarity with the referenced specifications and industry standards. 18.1 Referenced Specifications and Standards 18.1.1 TCG Specifications This section references 3 separate TCG specifications, which are available on the TCG website: http://www.trustedcomputinggroup.org/ TCG Storage Core Specification, Version 2.00, Revision 1.00 (4/20/2009). TCG Core is the general specification for trusted computing storage devices. TCG Storage Interface Interactions Specification (SIIF), Version 1.0, (1/27/2009). Specifies the interaction between the SSD and the SCSI/ATA protocols. TCG Enterprise Security Subsystem Class (SSC): Enterprise, Version 1.00, rev 3.00 (1/10/2011) o A Security Subsystem Class defines minimum acceptable Core Specification capabilities of a storage device in a specific class (in our case – enterprise). o Storage devices in specific classes may have a subset of the capabilities that are defined in the core specification. TCG Opal SSC, Version 2.00 Final Revision 1.00 (2/24/2012) 18.1.2 National Institute of Standards (NIST) This section references the following NIST publications, available on the NIST website: http://www.nist.gov/index.html [AES] Advanced Encryption Standard, FIPS PUB 197, NIST, 2001, November [DSS] Digital Signature Standard, FIPS PUB 186-3, NIST, 2006, March [FIPS140] Security Requirements for Cryptographic Modules, FIPS PUB 140-2, NIST, 2002 December [HMAC] The Keyed-Hash Message Authentication Code, FIPS PUB 198-1, 2007 June [SHA] Secure Hash Standard (SHS), FIPS PUB 180-3, NIST, 2007 June [SP800-38E] Recommendation for Block Cipher Modes of Operation: The XTS-AES Mode for Confidentiality on Storage Devices, SP800-38E, NIST, 2010 January [SP800-38F] Recommendation for Block Cipher Modes of Operation: Methods for Key Wrapping, NIST, 2012 December [SP800-57] Recommendation for Key Management – Part I General (Revision 3), NIST, 2012 July [SP800-88] Guidelines for Media Sanitization (Revision 1), 2014 December [SP800-90A] Recommendation for Random Number Generation Using Deterministic Random Bit Generators, NIST, 2012 Jan [SP800-131A] Transitions: Recommendation for Transitioning the Use of Cryptographic Algorithms and Key Lengths, NIST, 2011 Jan [SP800-132] Recommendation for Password-Based Key Derivation, NIST, 2010 December Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 373 18.1.3 SCSI Primary Commands-4 Rev 15 (SPC-4) - http://www.t10.org/ 18.1.4 INCITS Standards Department of Defense DoD 5220.22-M, "National Industrial Security Program Operating Manual", 2/28/2006: http://www.dtic.mil/whs/directives/corres/pdf/522022m.pdf DoD 5220.22-M Supplement 1, “National Industrial Security Program Operating Manual Supplement”, 02/1995: http://www.dtic.mil/whs/directives/corres/pdf/522022MSup1.pdf 18.2 TCG Enterprise Implementation Exceptions The following list declares exceptions to the TCG Enterprise specification: The ‘Locking SP’ K_AES_256 table is implemented with only the UID and MODE columns. Only one active session is permitted at a time. If a new session is requested when a session is already active, the drive answers the host with SP_BUSY, instead of NO_SESSIONS_AVAILABLE TCG Enterprise 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 is ignored, therefore no error is generated. CRC checking is disabled in all cases - the SED 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. The SED replies with SP_BUSY for requests beyond 1 session. The following features are outside the scope of TCG Enterprise. o Ports o Firmware Signing Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 374 18.3 Encryption Algorithms 18.3.1 Advanced Encryption Standard (AES) AES encryption is implemented with hardware, which is configured for XTS mode and 256 bit keys. AES keys are generated internally and are never accessible externally. AES encryption is performed over T10 end-to-end data protection fields, i.e., the fields are encrypted along with customer data. 18.3.2 ‘Level 0 Discovery’ Vendor Specific Data This section refers to section 10.2.14 of the TCG Enterprise document (see the Specifications section of this document). This Vendor Specific section is documented below. Table 260: Persistent Reserve In (5E) Bit Byte 7 6 5 4 3 2 1 0 Dload_s Locking_s FDE_s 16 Version (Set to 0) 17 Vendor Specific State Information 18 Reserved 19 RSVD MB_s 0 0 Diag_s Reserved 20 21 RSVD MB_e 0 0 Diag_s Dload_e Locking_e FDE_e 22 0 0 0 0 0 0 0 inFIPS 23-47 Reserved 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 bands. 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. inFIPS This bit is set when FIPS mode has been configured. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 375 18.3.3 Deterministic Random Bit Generation (DRBG) Pseudo-random number generation is implemented with NIST SP800-90A. The DRBG uses AES-256 for its primitive. The entropy source of the DRBG has been validated to NIST SP800-90B. 18.3.4 Key Erasure and Generation All keys and Critical Security Parameters are protected and confined inside the drive. The TCG Core specification requires that keys and other security parameters always have an associated value throughout the lifecycle of the SED. The following procedure is used to change keys: 1. Overwrite wrapped key material. 2. Generate a new key with the DRBG. 3. Wrap the key. 4. Store the newly wrapped key. 18.3.5 Key Wrap The NIST SP800-38F key wrap algorithm is used to encrypt a key with another key (KEK= Key Encryption Key). For any band i, the KEKi is derived from PINi and salti using the NIST 800-132 algorithm. The KEKi is then used to wrap an encryption key for a band. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 376 18.4 TCG Enterprise Tables Two copies of TCG tables and data structures are stored in a reserved area of the SED; 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 event 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. This will cause 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 manufacturing time: ‘Admin SP’ C_PIN table ‘Locking C’_PIN table ‘Locking SP’ K_AES_256 table ‘Locking SP’ Locking Access Control table ‘Locking SP’ LockingInfo table ‘Locking SP’ Locking table DataStore 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. 18.4.1 ‘Admin SP’ C_PIN and ‘Locking SP’ C_PIN Tables 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 “Tries” value is reset to 0 after successful attempt or a power cycle). Table 261: HGST Default Values for ‘Admin SP’ C_PIN and ‘Locking SP' C_PIN PIN TryLimit Tries Persistence SID 0 0 0 MSID 0 0 0 .. .. .. .. PSID 0 0 0 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 377 18.4.2 ‘Locking SP’ 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 262: HGST Implementation of K_AES_256 Table UID (8 Byte Hex) MODE 00 00 08 06 00 00 00 01 23 00 00 08 06 00 00 00 02 23 .. .. 00 00 08 06 00 00 00 04 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. 18.4.3 ‘Locking SP’ Access Control Table The TCG Enterprise 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 11. DataStore / Set 12. ThisSP / Random Table 263: HGST Implementation of ‘Locking SP’ AccessControl Table Row Number UID . 0 0 . 1 1 . . . . 39 39 . Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 378 18.4.4 ‘Locking SP’ LockingInfo Table As specified in the TCG Enterprise, 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) at manufacturing time. Table 264: HGST Implementation of ‘Locking Info’ Table . NAME Version . . 0 0 . 18.4.5 Encrypt Support MaxRanges MaxReEncryption KeysAvailableCfg 4 0 0 23 ‘Locking SP’ Locking Table The “Vendor Unique” (VU) values for this table are shown below. Table 265: HGST Implementation of ‘Locking SP’ Locking Table NextKey ReEncrypt State ReEncrypt Request AdvKey Mode VerfMode ContOn Reset 00 00 00 00h 0 0 0 0 0 0 0 0 . . . . . . . . . . . 00 00 00 00 00 00 00 03h 0 0 0 0 0 0 0 0 . LastReEncrypt LastRe LBA EncStat General Status Note: In the ActiveKey column, the Enterprise SCC allows for byte 3 to be defined as either 05 or 06. The HGST implementation uses 06. 18.4.6 DataStore Table TCG Enterprise requires SEDs to contain a DataStore table. The DataStore table provides 1024 bytes of non-volatile storage for host access and modification. TCG allows authenticated BandMaster authorities to write to the DataStore table. TCG Enterprise specifies that the Anybody authority is allowed to read information from the DataStore table. NOTE: Bandmasters should not save sensitive data to the DataStore table because any connecting entity is permitted to read the data via the unauthenticated Anybody authority. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 379 18.5 Firmware Download and Signing HGST firmware signature verification provides a mechanism for secure firmware updates. Firmware is downloaded to the SED through the host interface, and the signature is verified using a public key, before it is stored or allowed to execute. Signature verification is implemented with FIPS 186-3 [DSS] with RSA2048 and SHA256. Issuing a firmware download to the SED will result in an implicit close of all open sessions. Failure to verify the firmware image will result in Check Condition with KCQ 5/26/9a (FRU 0). 18.6 Ports Feature The ports capability is an HGST feature which is not a requirement under TCG Enterprise SSC. In order to use the ports capabilities on SEDs, the operator must authenticate successfully. Once an operator successfully authenticates, it may change the state of any of the ports at any time during an active session to either the locked or unlocked state. The definition of these ports is shown below in a table. This feature uses TCG structures and tables. An additional table, the Ports Table, has been implemented, and entries are added to the ‘Admin SP’ ACE table and the ‘Admin SP’ AccessControl Table. The Ports Table and the modified TCG tables are shown below. Table 266: Port Definitions Port Name Description Firmware Download This port has two (2) valid states: locked and unlocked. Encrypted Drives The download port for encrypted drives is initially unlocked; LockOnReset is "Null". Code can be downloaded onto the drive after the signature is verified. If the signature cannot be verified, the firmware cannot be downloaded to the drive. The user can change the state of the firmware download port only after authentication. Non-Encrypted Drives The download port for non-encryption will be set to “unlocked” at the factory, and the user cannot change the state. Firmware will be downloaded to the non-encryption drive through this port without signature verification. Diagnostics Table 267: This port has two (2) valid states: locked and unlocked. This port allows HGST access to modify any TCG table or key. The SID and the Maker authorities must be authenticated to open this port. The purpose of this port is to aid HGST in debugging the drive. ‘Admin SP’ Ports Table UID Name LockOnReset PortLocked 00 01 00 02 00 01 00 02 Firmware_Dload_Port Null FALSE 00 01 00 02 00 01 00 01 Diagnostic_Port PowerCycle TRUE Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 380 Table 268: Modified ‘Admin SP’ ACE Table UID Cmnd Boolean Row Row Column Column Name Expression Start End Start End 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 MSID_Get “” 00 00 00 09 00 00 00 01 Null Null “PIN” “PIN” 00 00 00 08 00 00 8C 05 SID_Set Makers “” 00 00 00 09 00 00 00 06 Null Null “Enabled” “Enabled” “” 00 00 00 09 00 00 00 06 and 00 00 00 09 00 00 00 03 Null Null “PortLocked” “PortLocked” “” 00 00 00 09 00 00 00 06 and 00 00 00 09 00 00 00 03 Null Null “PortLocked” “PortLocked” “PortLocked” “PortLocked” 00 00 00 08 00 00 8C 06 SID_Makers_ SetDiag SetDiag 00 00 00 08 00 00 8C 07 SID_Makers_ SetDiag SetDiag 00 00 00 08 00 00 8C 08 SID_GetPort “” 00 00 00 09 00 00 00 06 Null Null 00 00 00 08 00 00 8C 09 SID_GetPort “” 00 00 00 09 00 00 00 06 Null Null “LockOnReset” “PortLocked” Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 381 Table 269: Row VU VU Modified ‘Admin SP’ AccessControl Table UID Invoking ID VU VU 00 00 00 00 00 00 00 01 (ThisSP) MethodID Common Name ACL Log Add ACE ACL Remove ACE ACL 00 00 00 06 00 00 00 0C Anybody Authenticate AdminSP 00 00 00 08 00 00 00 01 (Anybody) None Null Null Makers-NextAuthority table 00 00 00 08 00 00 00 03 (Makers) None Null Null 00 00 00 08 00 00 00 03 (Makers) (Authenticate) 00 00 00 06 00 00 00 08 (Authority Table) (Next) 00 00 00 09 00 00 00 00 MethodID 00 00 00 06 00 00 00 0C (Authenticate) VU 00 00 00 09 00 00 00 01 (Anbody Authority Object) 00 00 00 06 00 00 00 06 (Get) Anybody-GetAnbody Authority Object 00 00 00 08 00 00 00 01 None (Anybody) Null Null 00 00 00 08 00 00 00 01 (Anybody) VU 00 00 00 09 00 00 00 03 (Makers Authority Object) 00 00 00 06 00 00 00 06 (Get) Anybody-GetAnbody Authority Object 00 00 00 08 00 00 00 03 None (Makers) Null Null 00 00 00 08 00 00 00 03 (Makers) VU VU 00 00 00 09 00 00 00 06 (SID Authority Ibject) 00 00 00 06 00 00 00 06 (Get) SID-Get-SID Authority Object 00 00 00 08 00 00 02 01 None (SID) Null Null 00 00 00 08 00 00 02 01 (SID) VU VU 00 00 00 0B 00 00 00 00 (C_PIN Table) 00 00 00 06 00 00 00 08 (Next) Makers-NextC_PIN Table 00 00 00 08 00 00 00 02 None (Makers) Null Null 00 00 00 08 00 00 00 02 (Makers) VU VU 00 00 00 0B 00 00 00 00 06 00 00 01 00 00 00 07 (SID C_PIN (Set) Object) SID_SetSelf-SetSID_C_PIN Object 00 00 00 08 00 00 8C 03 (SID_SetSelf) None Null Null 00 00 00 08 00 00 02 01 (SID) VU VU 00 00 00 0B 00 00 84 02 (MSID C_PIN Object) MSID_Get-GetMSID C_PIN Object 00 00 00 08 00 00 8C 04 None (MSID_Get) Null Null 00 00 00 08 00 00 02 01 (SID) VU VU 00 00 00 09 00 00 00 00 08 00 00 03 00 00 00 06 SID_SetMakers-Set00 00 8C 05 (Makers 00 00 00 07 Makers None (SID_SetMake Authority (Set) Authority Object rs) Object) Nul Nul 00 00 00 08 00 00 02 01 (SID) VU VU Nul Nul 00 00 00 08 00 00 00 01 (Anybody) VU VU 00 00 00 00 00 00 00 01 (ThisSP) 00 00 00 06 00 00 00 06 (Get) 00 00 00 06 00 00 06 01 (Random) Anybody Random 00 00 00 08 00 00 00 01 (Anybody) None Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 382 Row UID Invoking ID MethodID Common Name ACL Log Add ACE ACL Remove ACE ACL MethodID VU VU 00 01 00 02 00 01 00 02 00 00 00 06 00 00 00 07 SID_Set_Dload SID_SetPort None Nul Nul 00 00 00 08 00 00 02 01 (SID) 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 00 00 00 08 00 00 02 01 (SID) VU VU 00 01 00 02 00 01 00 01 00 00 00 06 00 00 00 07 SID_Makers _SetDiag SID_Makers _SetDiag None Nul Nul 00 00 00 08 00 00 02 01 (SID) VU VU 00 01 00 02 00 01 00 02 00 00 00 06 00 00 00 06 SID_Makers _SetDiag SID_Makers _SetDiag None Nul Nul 00 00 00 08 00 00 02 01 (SID) Note: The last two lines of the table are the additional entries required to implement the firmware download port. 18.7 MSID (Manufacturer’s Security Identifier) The MSID is created for each drive at manufacturing time. The MSID is the serial number concatenated four (4) times to create a 32-byte PIN. For example, if the serial number of a drive is ‘abcd1234’, the MSID would then be set to ‘abcd1234abcd1234abcd1234abcd1234’. The TCG Revert method restores PINs to the MSID. HGST serial numbers are unique and are generated according to the following general rules: Maximum length of the serial number is eight (8) characters. Serial numbers do not contain the characters “I” or “O”. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 383 18.8 Logging HGST logging functions does not record any sensitive data such as customer plain text data, passwords, encryption keys or wrapping keys. 18.9 Number of Sessions The HGST implementation supports one (1) active session at a time. If there is a currently active session, and a new session is requested, the drive responds to the the host with SP_BUSY. This addresses the following two 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. 18.10 Number of Bands The HGST implementation supports a maximum of four (4) bands. 18.11 Number of COMIDs The HGST Enterprise SSC implementation supports two (2) COMIDs, the minimum requirement in the Enterprise SSC specification. There can be only one (1) COMID in use at any time. 18.12 Locked and Unlocked Behavior 18.12.1 T10 SCSI Commands The table below describes how basic T10 SCSI commands behave on SEDs in the locked and unlocked states. Table 270: T10 SCSI Commands Behavior Table Command Unlocked Locked FORMAT UNIT (04) OEM The command cannot be executed when locked; it must be first unlocked with the MSID or password. INQUIRY (12) OEM OEM LOG SELECT (4C) OEM OEM LOG SENSE (4D) OEM OEM-has no access to customer data; some log information will be available. MODE SELECT (15) OEM OEM MODE SELECT (55) OEM OEM MODE SENSE (1A) OEM OEM MODE SENSE (5A) OEM OEM PERSISTENT RESERVE IN (5E) OEM OEM PERSISTENT RESERVE IN (5F) OEM OEM PRE-FETCH (34) OEM MSID only; limits DRAM accessibility. This is a READ function. READ (6) - (08) OEM Ent_A authorized only. READ (10) - (28) OEM Ent_A authorized only. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 384 Command Unlocked Locked READ (12) - (A8) OEM Ent_A authorized only. READ (16) - (88) OEM Ent_A authorized only. READ (32) (7F/09) OEM Ent_A authorized only. READ BUFFER (3C) OEM OEM. Cannot snapshot sensitive data from DRAM. READ CAPACITY (10) (25) OEM OEM READ CAPACITY (16) (9E/10) OEM OEM READ DEFECT DATA (37) OEM OEM READ DEFECT DATA (B7) OEM OEM READ LONG (16) (9E/11) OEM Ent_A authorized only. READ LONG (3E) OEM Ent_A authorized only. REASSIGN BLOCKS (07) OEM OEM RECEIVE DIAGNOSTICS RESULTS (1C) OEM OEM RELEASE (17) OEM OEM RELEASE (57) OEM OEM REPORT DEVICE IDENTIFIER (A3/05) OEM OEM REPORT LUNS (A0) OEM OEM REPORT SUPPORTED OPERATION CODES (A3/0C) OEM OEM REPORT SUPPORTED TASK MANAGEMENT FUNCTIONS (A3/0D) OEM OEM REQUEST SENSE (03) OEM OEM RESERVE (16) OEM OEM RESERVE (56) OEM OEM REZERO UNIT (01) OEM OEM SANITIZE (48) OEM OEM SEEK (6) (0B) OEM OEM SEEK (10) (2B) OEM OEM SEND DIAGNOSTIC (1D) OEM Customer Specific. SET DEVICE IDENTIFIER (A4/06) OEM OEM START STOP UNIT (1B) OEM OEM SYNCHRONIZE CACHE (10) (35) OEM OEM SYNCHRONIZE CACHE (16) (91) OEM OEM TEST UNIT READY (00) OEM OEM Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 385 Command Unlocked UNMAP (42) OEM OEM VERIFY (2F) OEM Access to customer data, but does not return data back to customer. CRC checking is ignored, but ECC is enabled and 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 ECC is enabled and 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 ECC is enabled and 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 ECC is enabled and executable on locked LBAs. WRITE (6) (0A) OEM Ent_A authorized only. WRITE (10) (2A) OEM Ent_A authorized only. WRITE (12) (AA) OEM Ent_A authorized only. WRITE (16) (8A) OEM Ent_A authorized only. WRITE (32) (7F/0B) OEM Ent_A authorized only. WRITE AND VERIFY (10) (2E) OEM Ent_A authorized only. WRITE AND VERIFY (12) (AE) OEM Ent_A authorized only. WRITE AND VERIFY (16) (8E) OEM Ent_A authorized only. WRITE AND VERIFY (32) (7F/0C) OEM Ent_A authorized only. WRITE BUFFER (3B)(T10) OEM OEM (Write DRAM onto drive media.) WRITE BUFFER (3B) (FW Downloads) FW Signed/ Downloaded Locked OEM. FW is signed and downloaded; otherwise, the WRITE BUFFER command only writes to the buffer. WRITE LONG (10) (3F) OEM Per TCG and T10 specification. Ent_A authorized only. WRITE LONG (16) (9F/11) OEM Per TCG and T10 specification. Ent_A authorized only. WRITE SAME (41) OEM Ent_A authorized only. WRITE SAME (16) (93) OEM Ent_A authorized only. WRITE SAME (32) (7F/0D) OEM Ent_A authorized only. SECURITY_IN OEM Per TCG spec. Contains TCG payload. SECURITY_OUT OEM Per TCG spec. Contains TCG payload. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 386 18.12.2 TCG Enterprise Commands The following table describes the behavior of required TCG Enterprise commands on encryption drives in the locked and unlocked states. The TCG Enterprise requires the implementation of the Base, Admin, Locking, and Crypto Templates. Table 271: TCG Enterprise SSC Commands Behavior Command Description Unlocked Locked There are two types of sessions: Session Management 1.) Read-Only 2.) Read-Write The SSC requires that Read-Write sessions are supported; Read-Only sessions are not allowed. The host always initiates the session(s). See the “Write” parameter in the StartSession method description, TCG Core 5.2.3.1 and the SSC requirement in SSC 6.2.1.2. Properties Returns the session properties to the host. N/A N/A StartSession Starts a session. N/A N/A SycSession Responds to a say session successfully started. N/A N/A CloseSession Closes (ends) a session. N/A N/A N/A N/A Uses the Properties method. Uses the Properties method. See Methods below. See Methods below. N/A – Not related to bands/data on drive. Authentication required. N/A – Not related to bands/data on drive. Authentication required. Allows the host to discover a TCG drive, its properties, and table values. Discovery Level 0 Discovery request sent by host as an IF-RCV command; Security Protocol = 0x01, COMID = 0x0001 Level 1 Request basic TPER capabilities via properties using host messaging. Level 2 TCG methods retrieve table cell values. Cryptographic Template Random This is the only required method in the crypto template for SSC. It is a random number generator in software. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 387 Command Base Template Description Unlocked Locked Mandatory Set Sets a value in a table. N/A – Not related to bands/data on drive. Authentication required. N/A – Not related to bands/data on drive. Authentication required. Get Gets (reads) a value in a table. N/A – Not related to bands/data on drive. Authentication required. N/A – Not related to bands/data on drive. Authentication required. ParamCheck LRC TPer implements param check LRC (a longitudinal Redundancy Check) on Get/Set method calls on PIN value. N/A N/A Next Iterates over all the rows of a table. Method requires user to specify "where" (row in table) and a "count". If where not 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. N/A – Not related to bands/data on drive. Authentication required. N/A – Not related to bands/data on drive. Authentication required. Authenticate Authenticate an authority within a session (the session must have successfully begun). Must be authorized. Must be authorized. GetACL Returns contents of access controls association with ACL stored in the Method Table. The result is a list of UIDREFS to ACE objects. N/A – Not related to bands/data on drive. Authentication required. N/A – Not related to bands/data on drive. Authentication required. Can Erase if authorized. Can Erase if authorized. Locking Template Erase Mandatory Performs a cryptographic erase of user data in a specified LBA range and resets the access control (locking) of the LBA range. Once a Band has been erased, the LBAs must be written before being read. An error will be returned if an attempt is made to read an LBA before it is written. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 388 18.13 Revert Method The manufacturer has extended TCG Enterprise to include the TCG Opal Revert Method. Revert enables the customer, as required by organizational policy, to overwrite existing TCG settings and restore the default values that were written during manufacturing. Revert introduces a new TCG authority, PSID, to the Admin SP. The PSID is hashed during the manufacturing process, and the digest is stored in a reserved area of the drive. The PSID is also printed, in plaintext, on the external label of the drive. The PSID PIN cannot be accessed nor changed using the interface of the drive. See RevertSP Method. The Revert procedure is as follows: 1. Start Session on the Admin SP. 2. Authenticate to PSID authority. 3. Execute the Revert Method. Notes: 1. 2. 3. 4. Revert execution may require up to 30 seconds to complete. Revert execution that encounters an error does not close the session. Reset of the drive during Revert will cause the subsequent power-up sequence to be extended until Revert completes. A successful completion of Revert automatically ends the session. Table 272: Revert Method – PSID Authority Added to Admin SP Authority Table UID Name Common Name IsClass Class Enabled Operation Credential 00 00 00 09 00 01 FF 01 PSID PhysicalDriveOwner F Null T Password C_PIN_PSID Table 273: Revert Method – PSID Addition to Admin SP C_PIN Table UID Name Common Name PIN CharSet TryLimit Tries Persistence 00 00 00 0B 00 01 FF 01 C_PIN_PSID PhysicalDriveOwner VU Null VU VU FALSE Table 274: Revert Method – Additions to Admin SP Access Control Table InvokingID MethodID ACL GetACLACL AdminSPObj 00 00 02 05 00 00 00 01 Revert 00 00 00 06 00 00 02 02 ACE_SP_SID_ACE_SP_PSID 00 00 00 08 00 01 00 E0 ACE_Anybody 00 00 00 08 00 00 00 01 PSID 00 00 00 09 00 01 FF 01 Get 00 00 00 06 00 00 00 06 Anybody 00 00 00 08 00 00 00 01 Anybody 00 00 00 08 00 00 00 01 PSID 00 00 00 09 00 01 FF 01 Set 00 00 00 06 00 00 00 07 ACE_Makers_Set_Enabled 00 00 00 08 0003 00 01 Anybody 00 00 00 08 00 00 00 01 C_PIN_PSID 00 00 00 0B 00 01 FF 01 Get 00 00 00 06 00 00 00 06 ACE_C_PIN_Get_PSID_NoPIN_UID 00 00 00 80 00 01 00 E1 Anybody 00 00 00 08 00 00 00 01 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 389 18.14 RevertSP Method The manufacturer also supports the TCG Opal RevertSP Method to overwrite existing TCG settings and restore the default values that were written during manufacturing. See Revert Method. The RevertSP procedure is as follows: 1. Start Session on the Admin SP. 2. Authenticate to PSID authority. 3. Invoke the “ThisSP.RevertSP” Method. Notes: 1. 2. 3. 4. RevertSP execution may require up to 30 seconds to complete. RevertSP execution that encounters an error does not close the session. A reset of the drive during RevertSP will cause the subsequent power-up sequence to be extended until RevertSP completes. A successful completion of RevertSP automatically ends the session. Table 275: RevertSP Method – PSID Authority Added to Admin SP Authority Table UID Name Common Name IsClass Class Enabled Operation Credential 00 00 00 09 00 01 FF 01 PSID PhysicalDriveOwner F Null T Password C_PIN_PSID Table 276: RevertSP Method – PSID Addition to Admin SP C_PIN Table UID Name Common Name PIN CharSet TryLimit Tries Persistence 00 00 00 0B 00 01 FF 01 C_PIN_PSID PhysicalDriveOwner VU Null VU VU FALSE Table 277: RevertSP Method – Additions to Admin SP Access Control Table InvokingID MethodID ACL GetACLACL ThisSP 00 00 00 00 00 00 00 01 RevertSP 00 00 00 06 00 00 00 11 ACE_SP_SID_ACE_SP_PSID 00 00 00 08 00 01 00 E0 ACE_Anybody 00 00 00 08 00 00 00 01 18.15 Error Codes All error codes are compliant with the TCG Core specification and SIIF with the exception of the following: 1. The maximum sessions allowed at any time is one (1). 2. When a session is active and a new session is requested, the drive answers the host with SP_BUSY, rather than of NO_SESSIONS_AVAILABLE. 18.16 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. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 390 18.17 FIPS140 Cryptographic Officer Instructions These instructions, to the Cryptographic Officer of FIPS140 models, are of paramount importance for the correct deployment and operation of the drive. The Cryptographic Officer is a trusted operator in the delivery and operation of the drive. Cryptographic Officers shall faithfully execute these instructions or intended security policies can fail. The Security Policy may be downloaded from the NIST/CMVP website. The FIPS140 model numbers, firmware versions and hardware versions are also posted: http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140val-all.htm 18.17.1 Physical Security Verify that the drive has not been tampered with by inspecting the tamper evidence labels as described in the Security Policy. 18.17.2 Certified Models, Hardware Versions and Firmware Versions Use the INQUIRY command to read the model number and the firmware version from the device. Verify that these have been certified by comparing against the values published in the Security Policy or on the CMVP website Module Validation Lists. 18.17.3 Cryptographic Module Acceptance and Provisioning Initialize cryptographic services by executing the following TCG methods: 1. StartSession and SyncSession using the 'AdminSP'. 2. Get 'MSID'. 3. Authenticate 'SID with MSID'; FAILURE indicates the Cryptographic Module has been tampered. 4. Set 'SID PIN' to your organizational value. 5. Set 'Makers.Enabled = FALSE' (required to enter FIPS mode). 6. Set ‘Firmware_Dload_Port.PortLocked = TRUE’ 7. Set ‘Firmware_Dload_Port.LocOnReset = PowerCycle’ 8. EndSession. 9. StartSession and SyncSession on the 'LockingSP'. 10. Authenticate 'EraseMaster with MSID'; FAILURE indicates the Cryptographic Module has been tampered. 11. Set 'EraseMaster PIN' to a new value. 12. Authenticate 'BandMaster0 with MSID'; FAILURE indicates the Cryptographic Module has been tampered. 13. Set 'BandMaster0 PIN' to a new value. 14. Repeat Steps [12-13] for each Band required by the organizational policy. 15. EndSession. 16. OPTIONAL: Reset the SED. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 391 18.17.4 Zeroization of the Cryptographic Module The TCG Revert method overwrites all security parameters to factory defaults: 1. 2. 3. 4. 5. StartSession and SyncSession on 'AdminSP'. Authenticate 'PSID'. Execute the TCG Revert or Revert SP method. EndSession. OPTIONAL: Reset the drive. 18.17.5 Security Protocol Parameters 18.17.5.1 Security Protocol Information Description The security protocol information security protocol (i.e., the SECURITY PROTOCOL field set to 00h in a SECURITY PROTOCOL IN command) returns security protocol related information. A SECURITY PROTOCOL IN command in which the Security Protocol field is set to 00h is not associated with a previous SECURITY PROTOCOL OUT command and shall be processed without regard for whether a SECURITY PROTOCOL OUT command has been processed. If the SECURITY PROTOCOL IN command is supported, the Security Protocol field set to 00h shall be supported as defined in the SCSI Specification. 18.17.5.2 CDB Description If the Security Protocol field is set to 00h in a SECURITY PROTOCOL IN command, the contents of the Security Protocol Specific field are defined in the following table. Table 278: Security Protocol Specific Field for SECURITY PROTOCOL IN Protocol 00h Code Description Support Reference 0000h Supported Security Protocol List Mandatory SPC-4 7.7.1.3 0001h Certificate Data Mandatory SPC-4 7.7.1.4 0002h Security Compliance Information Optional SPC-4 7.7.1.5 - - All others. Reserved Notes: 1. The remaining CDB fields for the SECURITY PROTOCOL IN command shall meet the requirements as stated in the SCSI Specification. 2. Each time a SECURITY PROTOCOL IN command with the Security Protocol field set to 00h is received, the device server shall transfer data as defined in this specification, starting with Byte 0 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 392 18.17.5.3 Certificate Data Description A certificate is either an X.505 Public Key Certificate or an X.509 Attribute Certificate, depending upon the capabilities of the logical unit. If the Security Protocol field is set to 00h and the Security Protocol Specific field is set to 0001h in a SECURITY PROTOCOL IN command, then the parameter data shall have the format of the following table. Table 279: Certificate Data SECURITY PROTOCOL IN Parameter Data Bit Byte 7 6 5 4 3 2 1 0 0 Reserved 1 (MSB) 2 Certificate Length (m-3) (LSB) 3 4 Certificate ... m m+1 ... Pad Bytes (if any) n Notes: 1. The Certificate Length field indicates the total length, in bytes, of the certificate or certificates that follow; the length may include more than one certificate. 2. If the device server does not have a certificate to transfer, the Certificate Length field shall be set to 0000h. 3. The contents of the certificate field are defined in the following Public Key Certificate Description and Attribute Certification Description sections in this specification. 4. The total data length shall conform to the Allocation Length field requirements. Pad Bytes may be appended to equal this length. Pad Bytes shall have a value of 00h. 18.17.5.4 Public Key Certificate Description RFC 5280 defines the certificate syntax for certificates consistent with the X.509v3 Public Key Certificate Specification. 18.17.5.5 Attribute Certificate Description RFC 3281 defines the certificate syntax for certificates consistent with the X.509v2 Attribute Certificate Specification. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 393 18.17.6 Security Compliance Information Description The security compliance information parameter data contains information about security standards that apply to the target device. If the Security Protocol field is set to 00h and the Security Protocol Specific field is set to 0002h in a SECURITY PROTOCOL command, then the parameter data shall have the format as shown in the following table. Table 280: Security Compliance Information SECURITY PROTOCOL IN Parameter Data Bit Byte 7 0 (MSB) ... 6 5 4 3 2 1 0 Security Compliance Information Length (m-3) (LSB) 3 Compliance Descriptors 4 ... Compliance Descriptor [First] . . . ... Compliance Descriptor [Last] n m+1 ... Pad Bytes (if any) n Notes: 1. The Security Compliance Information Length field indicates the total length, in bytes, of the compliance descriptors that follow. 2. Each compliance descriptor will contain information about a security standard that applies to the target device; the compliance descriptors may be returned in any order. 3. The total data length shall conform to the Allocation Length field requirements. Pad Bytes may be appended to equal this length. Pad Bytes shall have a value of 00h. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 394 18.17.7 Compliance Descriptor Overview The format of a compliance descriptor in the security compliance information SECURITY PROTOCOL IN parameter data is shown in the following table. Table 281: Compliance Descriptor Format Bit Byte 7 0 (MSB) 6 5 4 3 2 1 0 Compliance Descriptor Type (LSB) 1 2 Reserved 3 4 (MSB) Compliance Descriptor Length (n-3) ... (LSB) 7 8 Descriptor Specific Information ... n Notes: 1. The Compliance Descriptor Type field (see the following table) indicates the format of the descriptor-specific information. The security compliance information SECURITY PROTOCOL IN parameter data may contain more than one compliance descriptor with the same value in the Compliance Descriptor Type field. Table 282: Compliance Descriptor Type Field Code Description 0001h Security requirements for cryptographic modules. All others. Reserved Related Standards FIPS 140-2 FIPS 140-3 Reference SPC-4 7.7.1.5.3 - - 2. The compliance Descriptor Length field indicates the number of bytes that follow in the compliance descriptor. 3. The contents of the descriptor-specific information depend on the value in the Compliance Descriptor type field. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 395 18.17.8 FIPS 140 Compliance Descriptor The FIPS 140 Compliance Descriptor will contain information that may be used to locate a FIPS 140 Certificate associated with the target device. The target device may or may not be operating in the mode as specified by that certificate. Table 283: FIPS 140 Compliance Descriptor Bit Byte 7 0 (MSB) 1 2 6 5 4 3 2 Compliance Descriptor Type (0001h) 1 0 (LSB) Reserved 3 (MSB) 4 Compliance Descriptor Length (0000 0208h) ... (LSB) 7 8 Related Standard (32h; FIPS 140-2) 9 Overall Security Level 10 Reserved ... 15 (MSB) 16 Compliance Descriptor Hardware Version ... (LSB) 143 144 (MSB) Compliance Descriptor Version ... (LSB) 271 272 (MSB) Compliance Descriptor Module Name ... (LSB) 527 Notes: 1. 2. 3. 4. 5. 6. The Compliance Descriptor Type field and Compliance Descriptor Length field are defined in the previous sections of this specification and shall be set as shown in the above table for the FIPS 140 Compliance Descriptor. The Related Standard field is an ASCII data field that indicates the related standard described by this compliance descriptor. The Overall Security Level field is an ASCII data field that indicates the FIPS 140 overall security level that is reported by NIST or CSEC. The Compliance Descriptor Hardware Version field is null-terminated, null-padded data that indicates the version number of the hardware in the module, as reported by NIST or CSEC. The Compliance Descriptor Version field is null-terminated, null-padded data that indicates the version number of the firmware or software in the module, as reported by NIST or CSEC. The value in the field is not related to the Product Revision Level field of standard INQUIRY data. The Compliance Descriptor Module Name is null-terminated, null-padded data that indicates the name or identifier of the cryptographic module, as reported by NIST or CSEC. Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 396 Index Caution Electrostatic Discharge ........................................ 24 ESD...................................................................... 24 Class B Notices Canada ................................................................. 96 European Union ................................................... 96 Germany ............................................................... 96 Korea (KCC)........................................................ 96 Taiwan (BSMI) .................................................... 96 Data Integrity Equipment Status ................................................. 71 Error Recover Procedure ..................................... 71 failsafe write cache .............................................. 71 DC Power 12V ...................................................................... 77 5V ........................................................................ 77 Capacitance .......................................................... 77 Max. Spike Voltage ............................................. 77 Power Consumption Efficiency Index ................. 85 Power Slew Requirements ................................... 85 Supply Rise Time ................................................ 77 Tolerance ............................................................. 77 Diagnostics Background Medium Scan ................................ 340 Default Self-Test................................................ 338 Power-On ........................................................... 338 Self-Test Modes ................................................. 339 Self-Test Modes, Background ........................... 340 Self-Test Modes, Foreground ............................ 340 Self-Tests, Extended .......................................... 338 Self-Tests, Short ................................................ 338 Electrical Interface Ground Signals .................................................... 74 READY LED Output ........................................... 74 SAS Connector .................................................... 72 Signal Definitions ................................................ 73 Voltage ................................................................ 74 Electromagnetic Compatibility Class B Regulatory Notices ................................. 96 Conducted RF ...................................................... 95 EFT/B Immunity.................................................. 96 ESD Immunity ..................................................... 96 ITE Immunity ...................................................... 95 Power Frequency Magnetic Field Immunity ....... 96 Radiated RF ......................................................... 95 Radiated RF Immunity ........................................ 96 Surge Immunity ................................................... 96 Voltage Dips ........................................................ 96 Voltage Flicker .................................................... 95 Voltage Fluctuation ............................................. 95 Voltage Interruption ............................................ 96 Environmental Acoustics ............................................................. 92 Cooling Requirements ......................................... 76 Humidity .............................................................. 75 Shock ................................................................... 92 Storage Requirements .......................................... 76 Temperature ......................................................... 75 Vibration .............................................................. 92 Introduction Byte Ordering Conventions ................................. 25 Datasheet ............................................................. 30 Formatted Capacities ........................................... 27 Glossary ............................................................... 24 Inquiry Information ............................................. 31 Product ID ........................................................... 20 Labels bar code ............................................................... 94 certification marks ............................................... 94 HGST ................................................................... 94 interface definition ............................................... 94 user designed ....................................................... 94 Legal Notices copyright ................................................................ 2 disclaimer .............................................................. 2 patents ....................................................................2 products .................................................................2 Link Layer Address Frames ................................................. 106 Error Handling ................................................... 110 Frame Type ........................................................ 106 Identify Address Frame ..................................... 107 OPEN Address Frame........................................ 109 Reason Field ...................................................... 108 Mechanical dimensions ........................................................... 89 Height .................................................................. 87 Interface Connector ............................................. 91 Length (base) ....................................................... 87 Length (connector) .............................................. 87 mounting .............................................................. 91 mounting holes .................................................... 90 mounting positions .............................................. 90 SFF-8223 ............................................................. 91 weight .................................................................. 88 Width ................................................................... 87 Performance Characteristics Data Transfer Speeds ........................................... 35 Drive Ready Time ............................................... 34 Random Writes .................................................... 70 SSD Command Overhead .................................... 34 SSD Response Time ............................................ 34 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 397 Phy Layer bit priorities ....................................................... 105 Hard Reset ......................................................... 103 Link Reset Sequence ......................................... 102 Link Speed Negotiation ..................................... 104 OOB (Out of Band) ........................................... 103 PHY Error Handling .......................................... 105 Power Management ........................................... 106 Train SNW......................................................... 105 Power Supply Current HE Models ........................................................... 77 ME Models .......................................................... 79 RI Models ............................................................ 81 Priority Commands Inquiry ............................................................... 335 Report Luns ....................................................... 335 Request Sense .................................................... 335 Test Unit Ready ................................................. 335 Reliability Data Reliability .................................................... 86 Failure Prediction ................................................ 86 Mean Time Between Failure ............................... 86 Preventative Maintenance .................................... 86 S.M.A.R.T. .......................................................... 86 Temperature ......................................................... 86 Ripple Volage +12V DC ............................................................. 85 +5V DC ............................................................... 85 Max. mVpp .......................................................... 85 MHz ..................................................................... 85 SAS Attachment Address Format.................................................. 100 Features................................................................ 99 General ................................................................ 98 IEEE Registered Name Format.......................... 101 Link Layer ......................................................... 106 PHY Layer ......................................................... 102 Port Identifier ..................................................... 100 Port Name .......................................................... 100 SAS Address ...................................................... 100 Transport Layer ................................................. 112 SCSI Commands Control Byte ...................................................... 125 FORMAT UNIT (04h) ...................................... 126 INQUIRY (12h) ................................................. 131 LOG SELECT (4Ch) ......................................... 157 LOG SENSE (4Dh) ........................................... 160 Mandatory.......................................................... 123 MODE SELECT (15h) ...................................... 190 MODE SELECT (1Ah) ..................................... 192 MODE SELECT (55h) ...................................... 191 MODE SENSE (5Ah) ........................................ 225 Optional ............................................................. 123 PERSISTENT RESERVE IN (5Eh) .................. 226 PERSISTENT RESERVE OUT (5Fh) .............. 229 PRE-FETCH (34h) ............................................ 233 PRE-FETCH (90h) ............................................ 233 READ (08h) ....................................................... 234 READ (28h) ....................................................... 235 READ (7Fh/09h) ............................................... 239 READ (88h) ....................................................... 238 READ (A8h) ...................................................... 237 READ BUFFER (3Ch) ...................................... 240 READ CAPACITY (25h) .................................. 247 READ DEFECT DATA (37h) ........................... 250 READ DEFECT DATA (B7h) .......................... 252 READ LONG (3Eh) .......................................... 254 READ LONG (9Eh/11h) ................................... 255 REASSIGN BLOCKS (07h) ............................. 256 RECEIVE DIAGNOSTIC RESULTS (1Ch) ..... 257 RELEASE (17h) ................................................ 258 RELEASE (57h) ................................................ 259 REPORT DEVICE IDENTIFIER (A3h/05h) .... 260 REPORT LUNS (A0h) ...................................... 262 REPORT SUPPORTED OP CODEs (A3h/0Ch) ....................................................................... 263 REPORT SUPPORTED TASK MNGT FUNCTIONS (A3h/0Dh) .............................. 270 REQUEST SENSE (03h) .................................. 272 RESERVE (16h) ................................................ 273 RESERVE (56h) ................................................ 274 REZERO UNIT (01h)........................................ 275 SANTIZE (48h) ................................................. 276 SECURITY PROTOCOL IN (A2) .................... 277 SECURITY PROTOCOL OUT (B5) ................ 279 SEEK (0Bh) ....................................................... 281 SEEK (2Bh) ....................................................... 281 SEND DIAGNOSTIC (1Dh) ............................. 282 SET DEVICE IDENTIFIER (A4h) ................... 288 START STOP UNIT (1Bh) ............................... 289 Status Byte ......................................................... 322 SYNCHRONIZE CACHE (35h) ....................... 290 SYNCHRONIZE CACHE (91h) ....................... 291 TEST UNIT READY (00h) ............................... 292 UNMAP (42h) ................................................... 293 VERIFY (07h/0Ah) ........................................... 299 VERIFY (2Fh) ................................................... 296 VERIFY (8Fh) ................................................... 298 VERIFY (AFh) .................................................. 298 WRITE (0Ah) .................................................... 300 WRITE (2Ah) .................................................... 301 WRITE (7Fh/0Bh) ............................................. 304 WRITE (8Ah) .................................................... 303 WRITE (AAh) ................................................... 303 WRITE AND VERIFY (2Eh) ........................... 305 WRITE AND VERIFY (7Fh/0Ch) .................... 307 WRITE AND VERIFY (8Eh) ........................... 306 WRITE AND VERIFY (AEh) ........................... 306 WRITE BUFFER (3Bh) .................................... 308 WRITE LONG (3Fh) ......................................... 313 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 398 WRITE LONG (9Fh/11h).................................. 317 WRITE SAME (41h) ......................................... 318 WRITE SAME (7Fh/0Dh) ................................. 320 WRITE SAME (93h) ......................................... 319 SCSI Protocol Active I/O Process ............................................. 324 Additional Information ...................................... 323 command processing ......................................... 324 command processing, Format ............................ 326 command processing, Sanitize ........................... 326 command processing, Startup ............................ 326 Deferred Error Condition ................................... 327 Degraded Mode ................................................. 328 Internal Error Condition .................................... 327 Invalid LUN Processing .................................... 324 Status Byte Reporting, priority .......................... 323 Unit Attention Condition ................................... 325 Security Advanced Encryption Standard (AES) .............. 377 Department of Defense ...................................... 376 INCITS .............................................................. 376 NIST .................................................................. 375 TCG Exceptions ................................................ 376 TCG Specifications............................................ 375 Sense Data Additional Sense Length.................................... 354 Command Specific Information......................... 354 Error Code ......................................................... 352 FRU ................................................................... 366 Illegal Request ................................................... 366 Incorrect Length Indicator (ILI) ........................ 352 Information Bytes .............................................. 354 Not Ready .......................................................... 368 Physical Error Record ........................................ 368 Qualifier ............................................................. 354 Recovered .......................................................... 367 Reserved ............................................................ 368 Sense Code ........................................................ 354 Sense Data Description ...................................... 352 Sense Data Format ............................................. 351 Sense Key .................................................. 353, 354 UEC ................................................................... 354 Unit Error Codes ................................................ 369 vendor-unique .................................................... 368 Standards C-UL .................................................................... 97 European .............................................................. 97 Flammability ........................................................ 97 German Safety Mark ........................................... 97 UL ........................................................................ 97 Transport Layer Command Info Unit ........................................... 114 Data Info Units .................................................. 117 Frame Format .................................................... 112 Layer Error Handling ......................................... 122 Response Info Unit ............................................ 118 RESPONSE Info Units ...................................... 120 SSP Info Units ................................................... 121 TASK Info Unit ................................................. 115 XFER_RDY Info Units ..................................... 117 Ultrastar SSD800MH.B | Ultrastar SSD1600MM | Ultrastar SSD1600MR 399 © 2015 HGST, Inc. All rights reserved. HGST, a Western Digital company 3403 Yerba Buena Road San Jose, CA 95135 Produced in the United States United States: International: Fax: 800-801-4618 (Toll-Free) 408-717-6000 408-717-5000 10 June 2015 Ultrastar is a trademark of HGST, Inc. and its affiliates in the United States and/or other countries. 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 held liable to third parties for unauthorized use of HGST trademarks. All other trademarks and registered 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.
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
Related manuals
Download PDF
advertisement