Hard disk drive specifications Ultrastar® DC HC510 (previously known as Ultrastar He10) 3.5 inch Serial ATA hard disk drive Models: HUH721010ALE600/1/4 HUH721008ALE600/1/4 HUH721010ALN600/1/4 HUH721008ALN600/1/4 Revision 2.
Publication Disclaimer Information One MB is equal to one million bytes, one GB is equal to one billion bytes and one TB equals 1,000GB (one trillion bytes) when referring to storage capacity. Accessible capacity will vary from the stated capacity due to formatting and partitioning of the drive, the computer’s operating system, and other factors.
Table of contents General ................................................................................................................................................................ 15 Introduction ..................................................................................................................................... 15 Glossary ........................................................................................................................................... 15 General caution ...
Heads unload and actuator lock ............................................................................................. 39 Vibration and shock ........................................................................................................................ 40 Operating vibration ................................................................................................................. 40 Nonoperating vibration ................................................................................
Threshold exceeded condition ................................................................................................. 57 SMART commands .................................................................................................................. 57 Off-line Read Scanning ........................................................................................................... 57 Error Log .........................................................................................................
TCG Enterprise SSC Tables ..................................................................................................113 Firmware Download and Signing .......................................................................................... 116 Ports......................................................................................................................................... 116 MSID............................................................................................................
Device Statistics log ........................................................................................................... 191 Extended Self-test log sector ............................................................................................. 197 Power Conditions log ......................................................................................................... 198 Pending Defects log ...................................................................................................
SMART summary error log sector .................................................................................... 285 Self-test log data structure ................................................................................................ 287 Selective self-test log data structure ................................................................................ 288 Error Reporting ..................................................................................................................
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 Table 49 Table 50 Table 51 Type and Model# ..............................
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 Table 100 Table 101 Table 102 Table 103 Table 104 Table 105 Input Registers of
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 Table 151 Table 152 Table 153 Table 154 Table 155 Table 156 Ta
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 Table 202 Table 203 Table 204 Table 205 Table 206 Table 207 Table 208 Table 209 Table 210 Ta
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 Table 253 Table 254 Table 255 Table 256 Table 257 Table 258 Table 259 Table 260 Table 261 Table 262 Table 263 Table 264 Ta
List of figures Figure 1 Figure 2 Figure 3 Figure 4 Figure 5 Figure 6 Figure 7 Figure 8 Figure 9 Figure 10 Figure 11 Figure 12 PList physical format............................................................................................................... 25 Connector location.................................................................................................................... 26 The timing of COMRESET, COMINIT and COMWAKE ......................................................
General Introduction This document describes the specifications of the Ultrastar DC HC510 a Western Digital 3.
General caution Do not apply force to the top cover. Handle the drive by its edges or frame only. Do not touch the interface connector pins or the surface of the print circuit board. The drive can be damaged by shock or ESD (Electrostatic Discharge). Any damage sustained by the drive after removal from the shipping package and opening the ESD protective bag are the responsibility of the user. References Serial ATA II: Extensions to Serial ATA 1.
General features Data capacities of 10TB/8TB Spindle speeds of 7200 RPM Fluid Dynamic Bearing motor Dual Stage Actuator Closed-loop actuator servo Load/Unload mechanism, non head disk contact start/stop Automatic Actuator lock Write Cache Power saving modes/Low RPM idle mode (APM) S.M.A.R.T. (Self Monitoring and Analysis Reporting Technology) Adaptive zone formatting RVS(Rotational Vibration Safeguard) Sector Buffer size of 256MB Seek time of 8.
Part 1.
Fixed disk subsystem description Control Electronics The drive is electronically controlled by a microprocessor, several logic modules, digital/analog modules, and various drivers and receivers. The control electronics performs the following major functions: Controls and interprets all interface signals between the host controller and the drive. Controls read write accessing of the disk media, including defect management and error recovery. Controls starting, stopping, and monitoring of the spindle.
Drive characteristics This section describes the characteristics of the drive. Default logical drive parameters The default of the logical drive parameters in Identify Device data is as shown below.
Data sheet Description Max Data transfer rate (Mbps) Interface transfer rate (MB/s) Typ Sustained transfer rate (MB/s) Typ Sustained transfer rate (MiB/s) Data buffer size (MB) Rotational speed (RPM) Configurable number of buffer segment Number Recording density- max (Kbpi) Track density (Ktpi) Areal density - max (Gbits/in2) 10TB Model 2,222 600 249 237 256 7,200 2,048 max 1,929 423 816 8TB Model 2,074 600 225 215 256 7,200 2,048 max 1,801 423 762 Table 3 Mechanical positioning performance World Wide N
Drive organization Drive Format Upon shipment from Western Digital manufacturing the drive satisfies the sector continuity in the physical format by means of the defect flagging strategy described in Section 5 in order to provide the maximum performance to users. Cylinder allocation Physical cylinder is calculated from the starting data track of 0. capacity some of the inner zone cylinders are not allocated. It is not relevant to logical CHS.
Mechanical positioning Average seek time (without command overhead, including settling) Command Type Read Write Typical (ms) 8.0 8.6 Max (ms) 10.0 11.0 Table 6 Average seek time The terms “Typical” and “Max” are used throughout this specification with the following meanings: Typical. The average of the drive population tested at nominal environmental and voltage conditions. Max. The maximum value measured on any one drive over the full range of the environmental and voltage conditions. (See Section 6.
Operating modes Operating mode descriptions Operating mode Description Spin-up Start up time period from spindle stop or power down Seek Seek operation mode Write Write operation mode Read Read operation mode Idle_0 Drive ready, but not performing I/O Idle_A Spindle motor is working normally. Servo system is sleeping or waking up.
Defect flagging strategy Media defects are remapped to the next available sector during the Format Process in manufacturing. The mapping from LBA to the physical locations is calculated by an internally maintained table. Shipped format Data areas are optimally used. No extra sector is wasted as a spare throughout user data areas. All pushes generated by defects are absorbed by the spare tracks of the inner zone.
Specification Electrical interface Connector location Refer to the following illustration to see the location of the connectors.
Signal connector A Serial ATA device may be either directly connected to a host or connected to a host through a cable. For direct connection, the device plug connector is inserted directly into a backplane connector. The device plug connector and the backplane connector incorporate features that enable the direct connection to be hot pluggable and blind mateable. For connection via cable, the device signal plug connector mates with the signal cable receptacle connector on one end of the cable.
Signal definition SATA has receivers and drivers to be connected to Tx+/- and Rx +/- Serial data signal. Defines the signal names of I/O connector pin and signal name. Signal No.
5V PRECHARGE +5 Vdc that is available on the extended pins. It is used for PRECHARGE when connected to backplane incorporated feature. 12V PRECHARGE +12 Vdc that is available on the extended pins. It is used for PRECHARGE when connected to backplane incorporated feature. Out of band signaling t1 COMRESET/COMINIT t2 t3 COMWAKE t4 Figure 3 The timing of COMRESET, COMINIT and COMWAKE t1 t2 t3 t4 PARAMETER DESCRIPTION ALIGN primitives Spacing ALIGN primitives Spacing Nominal (ns) 106.7 320 106.7 106.
Environment Temperature and humidity Operating conditions Temperature Relative humidity Maximum wet bulb temperature Maximum temperature gradient Altitude Non-Op conditions Temperature Relative humidity Maximum wet bulb temperature 5 to 60°C 8 to 90% non-condensing 29.
Figure 5 Limits of temperature and humidity Corrosion test The drive shows no sign of corrosion inside and outside of the hard disk assembly and is functional after being subjected to seven days at 50°C with 90% relative humidity. Atmospheric condition Environments that contain elevated levels of corrosives (e.g. hydrogen sulfide, sulfur oxides, or hydrochloric acid) should be avoided.
DC power requirements Damage to the drive electronics may result if the power supply cable is connected or disconnected to the legacy Power connector while power is being applied to the drive (no hot plug/unplug is allowed). If SATA power supply cable is connected or disconnected to the SATA power connector, hot plug/unplug is allowed. Input voltage Input voltage +5 Volts Supply +12 Volts Supply Table 14 During run and spin up 5V ± 5% 12V ± 5% Absolute max spike voltage –0.3 to 5.5V –0.3 to 15.
Power supply current (typical1) Current Serial ATA @6Gb/sec 10TB Model IO/Sec Start up Peak DC Start up Peak AC Idle_0 Ave. Idle Ripple [1] [2] 0.53 0.62 0.26 0.23 Current +12V Amp 1.54 1.93 0.32 0.24 1.80 0.44 6.8 +5V Amp Power Watts 5.2 Random RW 8KB Qd=1 Ave. 40 0.59 0.30 Random RW 4KB Qd=4 Peak Random RW 4KB Qd=4 Ave. 130 0.60 0.30 1.78 0.55 8.1 Random RW 4KB Qd=1 Peak Random RW 4KB Qd=1 Ave. 112 0.57 0.29 1.79 0.54 7.9 0.34 7.1 0.36 6.7 0.33 6.
Power supply generated ripple at drive power connector +5V DC +12V DC Maximum (mV pp) 200 250 MHz 0-10 0-10 Table 16 Power supply generated ripple at drive power connector During drive start up and seeking 12-volt ripple is generated by the drive (referred to as dynamic loading). If the power of several drives is daisy chained together, the power supply ripple plus the dynamic loading of the other drives must remain within the above regulation tolerance.
Reliability Data integrity When the write cache option is disabled no customer data is lost during Power loss. If the write cache option is active, the data in write cache during a power loss may be lost. To prevent the loss of customer data, it is recommended that write cache is set “off” before issuing the last write access before power off.
Mechanical specifications Physical dimensions Figure 6 Top and side views and mechanical dimensions All dimensions are in millimeters.
Figure 7 Bottom and side views with mounting hole locations All dimensions in the above figure are in millimeters. The following table shows the physical dimensions of the drive. Height (mm) Width (mm) Length (mm) Weight (grams) 26.1 MAX 101.6 ± 0.
Connector locations Current New Sio PCBA for test at BPI Figure 8 Connector locations 38 Hard Disk Drive Specification
Drive mounting The drive will operate in all axes (6 directions). Performance and error rate will stay within specification limits if the drive is operated in the other orientations from which it was formatted. For reliable operation, the drive must be mounted in the system securely enough to prevent excessive motion or vibration of the drive during seek operation or spindle rotation, using appropriate screws or equivalent mounting hardware. The recommended mounting screw torque is 0.6 - 1.0 Nm (6-10 Kgf.
Vibration and shock All vibration and shock measurements recorded in this section are made with a drive that has no mounting attachments for the systems. The input power for the measurements is applied to the normal drive mounting points. Operating vibration Random vibration (Linear) The test is 30 minutes of random vibration using the power spectral density (PSD) levels shown below in each of three mutually perpendicular axes.
Nonoperating vibration The drive does not sustain permanent damage or loss of previously recorded data after being subjected to the environment described below Random vibration The test consists of a random vibration applied for each of three mutually perpendicular axes with the time duration of 10 minutes per axis. The PSD levels for the test simulate the shipping and relocation environment shown below. The overall RMS (Root Mean Square) level of vibration is 10.2 m/sec2 (1.04 G).
Nonoperating Rotational shock All shock inputs shall be applied around the actuator pivot axis.
Acoustics The upper limit criteria of the octave sound power levels are given in Bels relative to one picowatt and are shown in the following table. The sound power emission levels are measured in accordance with ISO 7779. Mode Idle Operating Table 24 7200rpm (Typical / Max) 2.0 / 2.5 3.6 / 4.0 Sound power levels Mode definition: Idle mode. Operating mode. The drive is powered on, disks spinning, track following, unit ready to receive and respond to interface commands.
Safety UL and CSA standard conformity The product is qualified per UL60950-1:Second Edition and CAN/CSA-C22.2 No.60950-1-07 Second Edition, for use in Information Technology Equipment including Electric Business Equipment. The UL recognition or the CSA certification is maintained for the product life. The UL and C-UL recognition mark or the CSA monogram for CSA certification appear on the drive.
Electromagnetic compatibility When installed in a suitable enclosure and exercised with a random accessing routine at maximum data rate, the drive meets the following worldwide EMC requirements: United States Federal Communications Commission (FCC) Rules and Regulations (Class B), Part 15. (A 6 dB buffer shall be maintained on the emission requirements).
Part 2.
General Introduction This specification describes the host interface of HUH7210xxALx60n The interface conforms to the following working documents of Information technology with certain limitations described in the chapter 7.3 “Deviations from Standard” on page 47 - Serial ATA International Organization: Serial ATA Revision 3.2 Terminology Device Device indicates HUH7210xxALx60n Host Host indicates the system that the device is attached to.
Registers In Serial ATA, the host adapter contains a set of registers that shadow the contents of the traditional device registers, referred to as the Shadow Register Block. Shadow Register Block registers are interface registers used for delivering commands to the device or posting status from the device. About details, please refer to the Serial ATA Specification.
Cylinder Low Register This register contains the low order bits of the starting cylinder address for any disk access. At the end of the command, this register is updated to reflect the current cylinder number. In LBA Mode this register contains Bits 8-15. At the end of the command, this register is updated to reflect the current LBA Bits 8-15. The cylinder number may be from zero to the number of cylinders minus one.
Error Register Error Register 7 6 5 4 3 2 1 0 ICRCE UNC 0 IDNF 0 ABRT TK0NF AMNF Table 28 Error Register This register contains status from the last command executed by the device, or a diagnostic code. At the completion of any command except Execute Device Diagnostic, the contents of this register are valid always even if ERR=0 in the Status Register. Following a power on, a reset, or completion of an Execute Device Diagnostic command, this register contains a diagnostic code. See 9.
Status Register Status Register 7 6 5 BSY DRDY DF Table 29 4 DSC /SERV 3 2 1 0 DRQ CORR IDX ERR Status Register This register contains the device status. The contents of this register are updated whenever an error occurs and at the completion of each command. If the host reads this register when an interrupt is pending, it is considered to be the interrupt acknowledge. Any pending interrupt is cleared whenever this register is read. If BSY=1, no other bits in the register are valid.
General Operation Descriptions Reset Response There are three types of reset in ATA as follows: Power On Reset (POR) The device executes a series of electrical circuitry diagnostics. COMRESET COMRESET is issued in Serial ATA bus. The device resets the interface circuitry as well as Soft Reset. Soft Reset (Software Reset) SRST bit in the Device Control Register is set, and then is reset. The device resets the interface circuitry according to the Set Features requirement.
Register Initialization Register Default Value Diagnostic Code 01h 01h 00h 00h 00h 50h 50h Error Sector Count Sector Number Cylinder Low Cylinder High Device/Head Status Alternate Status Table 31 Default Register Values After power on, hard reset, or software reset, the register values are initialized as shown in Table 31.
Sector Addressing Mode All addressing of data sectors recorded on the device’s media is by a logical sector address. The logical CHS address for HUH7210xxALx60n is different from the actual physical CHS location of the data sector on the disk media. All addressing of data sectors recorded on the device’s media. HUH7210xxALx60n support both Logical CHS Addressing Mode and LBA Addressing Mode as the sector addressing mode.
Power Management Feature The power management feature set allows an application client to modify the behavior of a device in a manner that reduces the power required to operate. The power management feature set provides a set of commands and a timer that enables a device to implement low power consumption modes. The Power Management feature set implements the following set of functions. 1. A Standby timer 2. Idle command 3. Idle Immediate command 4. Sleep command 5. Standby command 6.
Power Management Commands The Check Power Mode command allows a host to determine if a device is in, going, to or leaving standby or idle mode. The Idle and Idle Immediate commands move a device to idle mode immediately from the active or standby modes. The idle command also sets the standby timer count and enables or disables the standby timer. The Standby and Standby Immediate commands move a device to standby mode immediately from the active or idle modes.
SMART Function The intent of Self-monitoring, analysis and reporting technology (SMART) is to protect user data and prevent unscheduled system downtime that may be caused by predictable degradation and/or fault of the device. By monitoring and storing critical performance and calibration parameters, SMART devices employ sophisticated data analysis algorithms to predict the likelihood of near-term degradation or fault condition.
Error Log Logging of reported errors is supported. The device provides information on the last five errors that the device reported as described in SMART error log sector. The device may also provide additional vendor specific information on these reported errors. The error log is not disabled when SMART is disabled. Disabling SMART shall disable the delivering of error log information via the SMART READ LOG SECTOR command.
Security Mode Feature Set Security Mode Feature Set is a powerful security feature. With a device lock password, a user can prevent unauthorized access to hard disk device even if the device is removed from the computer. The following commands are supported for this feature.
Operation example Master Password setting The system manufacturer/dealer can set a new Master Password from default Master Password using the 2 Set Password command, without enabling the Device Lock Function. The Master Password Revision Code is set to FFFEh as shipping default by the HDD manufacturer User Password setting When a User Password is set, the device will automatically enter lock mode the next time the device is powered on. < Setting Password > (ref.
Operation from POR after User Password is set When Device Lock Function is enabled, the device rejects media access command until a Security Unlock command is successfully completed.
User Password Lost If the User Password is forgotten and High level security is set, the system user can’t access any data. However, the device can be unlocked using the Master Password. If a system user forgets the User Password and Maximum security level is set, data access is impossible. However, the device can be unlocked using the Security Erase Unit command to unlock the device and erase all user data with the Master Password.
Command Table This table shows the device’s response to commands when the Security Mode Feature Set (Device lock function) is enabled.
Command Locked Mode Unlocked Mode Frozen Mode Command aborted Command aborted Command aborted Command aborted Command aborted Executable Command aborted Executable Executable Command aborted Command aborted Executable Executable Command aborted Executable Executable Executable Executable Executable Executable Executable Executable Executable Executable Executable Executable Command aborted Executable Executable Executable Executable Executable Command aborted Command aborted Command aborted Executable
Command Locked Mode Unlocked Mode Frozen Mode Write DMA FUA Ext Command aborted Executable Executable Write FPDMA Queued Command aborted Executable Executable Write Log Ext Command aborted Executable Executable Write Log DMA Ext Command aborted Executable Executable Write Multiple Command aborted Executable Executable Write Multiple Ext Command aborted Executable Executable Write Multiple FUA Ext Command aborted Executable Executable Write Sector(s) Command aborted Executab
Host Protected Area Feature Host Protected Area Feature is to provide the ‘protected area’ which cannot be accessed via conventional method. This ‘protected area’ is used to contain critical system data such as BIOS or system management information. The contents of entire system main memory may also be dumped into ‘protected area’ to resume after system power off. The LBA/CYL changed by following command affects the Identify Device Information. The following set of commands is implemented for this function.
4. Advanced usage using protected area The data in the protected area is accessed by following. Issue Read Native Max Address command to get the real device maximum LBA. Returned value shows that native device Maximum LBA is 12,692,735 (C1ACFFh) regardless of the current setting. Make entire device be accessible including the protected area by setting device Maximum LBA as 12,692,735 (C1ACFFh) via Set Max Address command with volatile option.
Write Cache Function Write cache is a performance enhancement whereby the device reports as completing the write command (Write Sector(s), Write Multiple and Write DMA) to the host as soon as the device has received all of the data into its buffer. And the device assumes responsibility to write the data subsequently onto the disk. While writing data after completed acknowledgment of a write command, soft reset or hard reset does not affect its operation.
Power-up in Standby feature set Power-Up In Standby feature set allows devices to be powered-up into the Standby power management state to minimize inrush current at power-up and to allow the host to sequence the spin-up of devices. This feature set will be enabled/disabled via the SET FEATURES command. The enabling of this feature set shall be persistent after power cycle. A device needs a SET FEATURES subcommand to spin-up to active state when the device has powered-up into Standby.
Streaming feature Set The Streaming feature set is an optional feature set that allows a host to request delivery of data from a contiguous logical block address range within an allotted time. This places a priority on time to access the data rather than the integrity of the data. Streaming feature set commands only support 48-bit addressing.
Not Sequential bit The Not Sequential bit specifies that the next read stream command with the same Stream ID may not be sequential in LBA space. This information helps the device with pre-fetching decisions. Read Continuous bit If the Read Continuous bit is set to one for the command, the device shall transfer the requested amount of data to the host within the Command Completion Time Limit even if an error occurs. The data sent to the host by the device in an error condition is vendor specific.
SATA BIST (Built-in Self Test) The device supports the following BIST modes, and begins operations when it receives BIST Activate FIS. F – Far End Analog Loopback.
SATA Interface Power Management The device supports both receiving host-initiated interface power management requests and initiating interface power management. The device initiates interface power management when the device enters its power saving mode whose power consumption is lower than Idle mode. Low PHY power conditions overview Low PHY power conditions are PHY conditions where the PHY is in a reduced power state (e.g., has disabled circuitry in order to reduce power).
Software Setting Preservation When a device is enumerated, software will configure the device using SET FEATURES and other commands. These software settings are often preserved across software reset but not necessarily across hardware reset. In Parallel ATA, only commanded hardware resets can occur, thus legacy software only reprograms settings that are cleared for the particular type of reset it has issued.
Serial ATA Optional Features There are several optional features defined in Serial ATA Revision 3.2. The following shows whether these features are supported or not. Asynchronous Signal Recovery The device supports asynchronous signal recovery defined in Serial ATA Revision 3.2. Device Power Connector Pin 11 Definition Serial ATA Revision 3.
Counter Identifiers Each counter begins with a 16-bit identifier. Table 37 defines the counter value for each identifier. Any unused counter slots in the log page should have a counter identifier value of 0h. Optional counters that are not implemented shall not be returned in log page 11h. A value of ‘0’ returned for a counter means that there have been no instances of that particular event.
Counter Definitions The counter definitions in this section specify the events that a particular counter identifier represents. Identifier 000h There is no counter associated with identifier 000h. A counter identifier of 000h indicates that there are no additional counters in the log page. Identifier 001h The counter with identifier 001h returns the number of commands that returned an ending status with the ERR bit set to one in the Status register and the ICRC bit set to one in the Error register.
Identifier 00Ah The counter with identifier 00Ah returns the number of transmitted Device-to-Host Register FISes with the device reset signature in response to a COMRESET, which were successfully followed by an R_OK from the host. Identifier 00Bh The counter with identifier 00Bh returns the number of received Host-to-Device FISes of all types (Data and nonData) to which the device responded with R_ERRP due to CRC error.
READ LOG EXT Log Page 11h READ LOG EXT log page 11h is one page (512 bytes) in length. The first Dword of the log page contains information that applies to the rest of the log page. Software should continue to process counters until a counter identifier with value 0h is found or the entire page has been read. A counter identifier with value 0h indicates that the log page contains no more counter values past that point. Log page 11h is defined in Table 38.
NCQ NON-DATA (63h) The NCQ NON-DATA feature allows the host to manage the outstanding NCQ commands and/or affect the processing of NCQ commands. The NCQ NON-DATA command is a non-data NCQ command. Only specified NCQ NON-DATA subcommands are executed as Immediate NCQ commands. NCQ NON-DATA cmd, LBA fields should not be set to reserved. LBA fields are optionally used in SetFeatures cmd.
Abort NCQ Queue Subcommand (0h) A Subcommand set to 0h specifies the Abort NCQ Queue subcommand (see 11.15.1 Abort NCQ Queue Subcommand (0h)). The Abort NCQ Queue subcommand is an immediate NCQ command. Support for this subcommand is indicated in the NCQ NON-DATA log (see 9.17.4.3 Read Log Ext Log Page 12h) The Abort NCQ Queue subcommand affects only those NCQ commands for which the device has indicated command acceptance before accepting this NCQ NON-DATA command.
READ LOG EXT Log Page 12h To determine the supported NCQ NON-DATA subcommands and their respective features, host software reads log address 12h. This log is supported if the NCQ NON-DATA command is supported (i.e., IDENTIFY DEVICE word 77 bit 5 is set to one). Table 41 defines the 512 bytes that make up the SATA NCQ NON-DATA log. The value of the General Purpose Logging Version word is 0001h.
Supports the Abort Selected TTAG If Supports Abort Selected TTAG is set to one, then the device supports the value of Abort Selected for the Abort Type parameter of the Abort NCQ Queue command. If Supports Abort Selected TTAG is cleared to zero, then the device does not support the value of Abort Selected for the Abort Type parameter of the Abort NCQ Queue command.
Rebuild Assist The Rebuild Assist mode provides a method for a host controlling the rebuild process to determine that logical sectors on the failed device are unreadable without having to read every LBA to determine the unreadable logical sectors (i.e., the read command is terminated with an error and the failed LBA is reported in the sense data). The storage array controller then may reconstruct the failed logical sectors. The remaining logical sectors may be copied to the replacement device.
Disabled Physical Elements The Disabled Physical Elements field specifies if physical elements shall be disabled. Each bit that is set to one in the Disabled Physical Elements field specifies that LBAs associated with this physical element shall respond to read commands and write commands as if the associated LBAs have predicted errors.
SCT Command Transport feature Set Overview Introduction SMART Command Transport (SCT) is the method for the drive to receive commands using log page E0h and transporting data using log page E1h. These log pages are used as follows: Write log page Read log page Table 43 Log page E0h Issue Command Return Status Log Page E1h Send Data to the drive Received Data from the drive SCT Log Page and direction There are two ways to access the log pages: using SMART READ/WRITE LOG and READ/WRITE LOG EXT.
Resets If an SCT command is executing, any reset including Soft Reset, Hard Reset, COMRESET, and Power-On Reset all cause the command to be terminated. This could result in partial command execution or data loss. There is no indication once the drive becomes ready that the previous command was terminated.
SCT Command Protocol Command Transport SCT Command Transport occurs when a 512-byte data packet (called “Key Sector”) is created and the written to SMART or extended log page E0h. The key sector specifies Action and Function Codes along with the parameters that are required to perform the action.
Issue SCT Command Using Write Log Ext Command Block Output Registers Register 7 6 5 4 3 2 1 0 Feature Sector Count LBA Low LBA Mid LBA High Current Reserved Previous Reserved Current 01h Previous 00h Current E0h Previous Reserved Current 00h Previous 00h Current Reserved Previous Reserved Device/Head - - - D - Command Table 47 - - - 3Fh Input Registers of SCT Command Using Write Log Ext Command Block Input Registers (Success) Command Block Input Registers (Error) Regi
Key Sector Format An SCT command (Key Sector) is always 512 bytes long. Table below shows the generic format of an SCT command. Byte 1:0 Field Action Code Words 1 3:2 Function Code 1 X:4 Y:x+1 … Parameter1 Parameter2 … Total Words Depends on command Depends on command … 256 Table 49 Description This field defines the command type and generally specifies the type of data being accessed, such as sector or physical action being performed, such as seek.
Extended Status Code Status Code 0000h 0001h 0002h 0003h 0004h 0005h 0006h 0007h 0008h 0009h 000Ah 000Bh 000Ch 000Dh 000Eh 000Fh 0010h 0011h 0012h 0013h 0015h 0017h 0018h-BFFFh C000h-C002h C003h C004h C005h C006h C007h-FFEFh FFF0h-FFFEh FFFFh Definition Command complete without error Invalid Function Code Input LBA out of range Request sector count overflow. The number of sectors requested to transfer (Sector Count register) in the read or write log command is larger than required by SCT command.
Data transfer Once an SCT command has been issued, status can be checked and data can be transferred. Data transfer uses log page E1h.
SCT Status Request Once an SCT command has been issued, a status is reported in the ATA registers. This status indicates that the command was accepted or that an error occurred. This ATA status return does not indicate successful completion of the SCT actions. Some commands can take several minutes or even hours to execute. In this case, the host can determine execution progress by requesting SCT status. Log page E0h contains the status information. Reading log page E0h retrieves the status information.
Format of SCT Status Response Byte Type Field Name Value Description 1:0 3:2 Word Word Format Version SCT Version 0003h 5:4 9:6 Word Dword SCT Spec. Status Flags 0001h Status Response format version number Manufacturer’s vendor specific implementation version number Highest level of SCT Technical Report supported Bit 0 : Segment Initialized Flag If this bit is set to 1, an SCT Write Same command write to all LBAs of the drive has completed without error.
Byte 205 Type Byte Field Name Reserved Value 00h Description 209:206 Dword Over Limit Count Number of temperature recording Intervals since the last power-on reset where the recorded temperature was greater than Max Op Limit. See table 93 for information about this Interval. 213:210 Dword Under Limit Count Number of temperature recording Intervals since the last power-on reset where the recorded temperature was less than Min Op Limit. See table 93 for information about this Interval.
SCT Command Set SCT Write Same (action code : 0002h) Inputs: (Key Sector) Word Name Value Description 0 Action Code 0002h This action writes a pattern or sector of data repeatedly to the media. This capability could also be referred to as “Write All” or “Write Same”.
(except another complete write all), shall cause the Segment Initialized Flag to be cleared. Reallocations as a result of reading data (foreground or background) do not clear the Segment Initialized Flag. Implementation note for Background Operation (Function code = 0001h, 0002h) In this mode, the drive will return command completion status when the drive finished receiving data.
Error Recovery Control command (action code : 0003h) Inputs: (Key Sector) Word Name Value Description 0 Action Code 0003h Set the read and write error recovery time 1 Function Code 0001h Set New Value 0002h Return Current Value 0001h Read Timer 0002h Write Timer If the function code is 0001h, then this field contains the recovery time limit in 100ms units. The minimum SCT timeout value is 65 (=6.5 second). When the specified time limit is shorter than 6.
Feature Control Command (action code : 0004h) Inputs: (Key Sector) Word Name Value Description 0 Action Code 0004h Set or return the state of drive features described in Table 65 1 Function Code 0001h Set state for a feature 0002h Return the current state of a feature 0003h Return feature option flags 2 Feature Code Word See Table 65 for a list of the feature codes 3 State Word Feature code dependent value 4 Option Flags Word Bit15:1 = Reserved If the function code is 0001h, setti
Feature Code State Definition 0001h 0001h : Allow write cache operation to be determined by Set Feature command 0002h : Force write cache enabled 0003h : Force write cache disabled If State 0001h is selected, the ATA Set Feature command will determine the operation state of write cache. If State 0002h or 0003h is selected, write cache will be forced into the corresponding operation state, regardless of the current ATA Set Feature state.
SCT Data Table Command (action code : 0005h) Inputs: (Key Sector) Word Name Value Description 0 Action Code 0005h Read a data table 1 Function Code 0001h Read Table 2 Table ID Word See Table 68 for a list of data tables 255:2 reserved 0000h Table 66 SCT Data Table command (Inputs) Outputs: (TF Data) Command Block Input Registers (Success) Error 00h Sector Count reserved Sector Number reserved Cylinder Low Number of sectors to transfer (LSB) = 01h Cylinder High Number of sectors
Byte Size Field Name Description 1:0 Word Format Version Data table format version (=0002h) 3:2 Word Sampling Period Absolute HDA Temperature sampling period in minutes. 0000h indicates sampling is disabled. 5:4 Word Interval Timer interval between entries in the history queue. 6 Byte Max Op Limit Maximum recommended continuous operating temperature. This is a one byte 2’s complement number that allows a range from -127°C to +127°C to be specified. 80h is an invalid value.
Byte Size Field Name Description (Queue Size+33):34 Byte[Queue Size] Queue Buffer This is a circular buffer of absolute HDA Temperature values. These are one byte 2’s complement numbers, which allow a range from 127°C to +127°C to be specified. A value of 80h indicates an initial value or a discontinuity in temperature recording. The Actual time between samples may vary because commands may not be interrupted. The sampling period is the minimum time between samples. See Note 1.
Extended Power Conditions (EPC) feature The Extended Power Conditions feature set provides a host with additional methods to control the power condition of a device. Subcommand code 4Ah enables, disables, and configures the use of the Extended Power Conditions feature set. If the EPC feature set is not supported, then the device return command aborted Table 71 describes the EPC subcommands and Table 72 describes the power condition IDs.
Power condition timers The device has manufacturer specified power-on default settings for the power condition timers. Power condition timers are changeable with the SET FEATURES Extended Power Conditions subcommand. A power condition timer set to zero indicates that the associated power condition is disabled. If the power condition is enabled, then the value of each timer specifies the time after command completion that the device waits before transitioning to the power condition.
Sanitize Device feature set Overview The Sanitize Device feature set allows hosts to request that devices modify the content of all user data areas in the device using sanitize operations. Sanitize operations use one of the operations defined in this sub clause to make all previously written content in the user data area of the device unable to be read. Sanitize operations affect the following: a) user data areas b) user data areas that are not currently allocated (e.g.
B) 30h; or C) 10h; g) READ LOG DMA EXT command requesting one of the following log addresses: A) E0h; B) 30h; or C) 10h; h) SMART RETURN STATUS command; or i) SET FEATURES PUIS feature set device spin-up subcommand. If a sanitize operation is interrupted by a power-on reset, the sanitize operation continues.
Sanitize Device state machine Figure 12 describes the operation of the Sanitize Device state machine. SD0: Sanitize Idle State In SD0: Sanitize Idle state the Sanitize Device state machine is ready for a sanitize operation command or a SANITIZE FREEZE LOCK EXT command. This state is entered when the device processes a power-on reset while in the SD1: Sanitize Freeze Lock state or the SD4: Sanitize Operation Succeeded state.
SD1: Sanitize Frozen State In SD1: Sanitize Frozen state, the device will abort Sanitize operation commands. While in this state, Sanitize Device state machine does not change state if the device processes a SANITIZE STATUS EXT command. Transition SD1:SD0: If the device processes a hardware reset or a power-on reset, then the device transitions to the SD0: Sanitize Idle state. SD2: Sanitize Operation State In the SD2: Sanitize Operation state, the device is processing a sanitize operation.
Trusted Computing Group feature set This chapter provides information on Western Digital encryption-specific HDD firmware and features. assumed that the reader is familiar with the referenced specifications and industry standards. It is Referenced Specifications and Standards TCG Specifications This section references 3 separate TCG specifications, which are available on the TCG website: (http://www.trustedcomputinggroup.org/): 1. TCG Core Specification, Version 2.00, Revision 1.
Department of Defense DoD 5220.22-M, "National Industrial Security Program Operating Manual", 2/28/2006 http://www.dtic.mil/whs/directives/corres/pdf/522022m.pdf DoD 5220.22-M Supplement 1, “National Industrial Security Program Operating Manual Supplement”, 02/1995 http://www.dtic.mil/whs/directives/corres/pdf/522022MSup1.pdf RSA Laboratories Standards 1. RSA-PSS - http://www.rsa.com/rsalabs/node.asp?id=2146 2. RSA PKCS #5 v2.0 Password-Based Cryptography Standard - ftp://ftp.rsasecurity.
Encryption Algorithms Advanced Encryption Standard (AES) Support AES encryption is implemented in hardware, with support for ECB or XTS mode for 128 bit or 256 bit keys. A single key is active at any one time within the AES hardware engine. Firmware is responsible for reading the keys from the hardware and also for determining which key is attached to a given LBA range; the hardware can only detect if the LBA has been encrypted or not.
Key Wrap The NIST SP800-38F key wrap algorithm is used to encrypt a key with another key (KEK= Key Encryption Key). For any band i, the KEK_i is derived from PIN_i and salt_i using the NIST 800-132 algorithm. The KEK_i is then used to wrap a band’s encryption key. Key Erasure Cryptographic erase procedure Erase and overwrite wrapped key material with 0x00. Erase and store the new wrapped key material.
K_AES_256 Table The K_AES_256 table has 16 rows, one row for each band that can be allocated by the user. The first row is for the “global range”, also known as Band 0. This table was implemented without the “Name”, “Common Name”, and “Key” Columns. UID (8 byte hex) MODE 00 00 08 06 00 00 00 01 23 00 00 08 06 00 00 00 02 23 .. .. 00 00 08 06 00 00 00 10 23 Table 75 Western Digital Implementation of K_AES_256 Table The mode is specified in the TCG Enterprise SSC as a “Vendor Unique” (VU) entry.
‘Locking Info’ Table As specified in the TCG Enterprise SSC, this table has only 1 row. The “Vendor Unique” entries are specified in the table below. Encryption Support is initialized to Encryption Support=23 (media encryption mode) in manufacturing. NAME Version Encrypt Support Max Ranges Max ReEncryptions Keys Available Cfg 0 0 23 6 0 0 Table 77 Western Digital Implementation of ‘Locking Info’ Table ‘Locking SP’ Locking Table The “Vendor Unique” (VU) values for this table are shown below.
Firmware Download and Signing The Western Digital firmware signing and download for encryption drives is meant to provide a mechanism for secure updates through the Host interface. Firmware is downloaded to the drive through the host interface, and the signature is verified using a public key installed in the reserved area during manufacturing, before it is loaded to RAM or installed in the reserved area on the HDD.
Cmn Name Boolean Expression Row Start Row End Anybody “” 00 00 00 09 00 00 00 01 Null Null ‘’’’ ‘’’’ Makers ‘’’’ 00 00 00 09 00 00 00 03 Null Null ‘’’’ ‘’’’ SID “” 00 00 00 09 00 00 00 06 Null Null ‘’’’ ‘’’’ SID_SetSelf “” 00 00 00 09 00 00 00 06 Null Null “PIN” “PIN” MSID_Get “” 00 00 00 09 00 00 00 01 Null Null “PIN” “PIN” SID_Set Makers “” 00 00 00 09 00 00 00 06 Null Null “Enabled” “Enabled” 00 00 00 08 00 00 8C 06 SID_Makers_SetDiag “” Null Null “PortL
Row UID Number VU VU VU VU VU VU Invoking ID 00 00 00 0B 00 00 00 00 (C_PIN table) 00 00 00 0B 00 00 00 01 (SID C_PIN object) 00 00 00 0B 00 00 84 02 (MSID C_PIN object) 00 00 00 09 00 00 00 03 (Makers Authority object) 00 00 00 00 00 00 00 01 (ThisSP) Method ID Common Name Add ACE Remove GetACLACL ACL ACE ACL ACL Log 00 00 00 08 00 00 00 02 (Makers) None Null Null 00 00 00 08 00 00 00 02 (Makers) 00 00 00 06 SID_Set Self00 00 00 08 00 00 00 07 Set-SID_C_ PIN 00 00 8C 03 (Set) object (SID_
MSID The MSID is set for each drive at the time of manufacturing to the serial number concatenated 4 times, to create a 32 byte password. Thus, as an example, if the serial number of a drive is abcd1234, the MSID would then be set to abcd1234abcd1234abcd1234abcd1234. In TCG use cases such as “erase” or “repurpose”, this will be the MSID that is restored to the drive.
Locked and Unlocked Behavior ATA Commands behavior The table below describes how basic ATA commands behave on encryption drives in the locked and unlocked states by TCG Enterprise feature.
Command Locked Mode Unlocked Mode Command aborted Command aborted Executable Command aborted Executable Executable Executable Executable *1 *1 Executable Executable Executable Executable Executable Executable Command aborted Command aborted Command aborted Command aborted Command aborted Command aborted Executable Command aborted Command aborted Command aborted Command aborted Command aborted Command aborted Executable Set Features Executable Executable Set Max Address Executable Executable Set
Command Locked Mode Unlocked Mode Trusted Receive Executable Executable Trusted Receive DMA Executable Executable Trusted Send Executable Executable Trusted Send DMA Executable Executable Write Buffer Executable Executable Write DMA Command aborted Executable Write DMA Ext Command aborted Executable Write DMA FUA Ext Command aborted Executable Write FPDMA Queued Command aborted Executable Command aborted Executable Only SCT Write same Executable Executable The others Comm
TCG Enterprise SSC Commands The table below describes how the required TCG Enterprise SSC commands behave on encryption drives in the locked and unlocked states. The TCG Enterprise requires the implementation of the Base, Admin, Locking, and Crypto Templates. Command Description unlocked Locked Session Management There are two types of sessions: 1) Read-Only session. 2) Read-Write session. The SSC requires us to support Read-Write sessions. Read-Only session is not allowed.
Command Description Base Template Mandatory Set Sets a value in a table Get ParamCheck LRC Next Authenticate GetACL unlocked Locked N/A - table operations. N/A - table operations. Not related to Not related to bands/data on drive. bands/data on drive. Gets (reads) a value in a table N/A - table operations. N/A - table operations. Not related to Not related to bands/data on drive. bands/data on drive.
Error Codes All error codes are compliant with the TCG Core specification and SIIF, except in the following case: The maximum sessions allowed at any single time is 1. When a session is active and a new session is requested, the drive answers the host with SP_BUSY, instead of NO_SESSIONS_AVAILABLE. Life Cycle model A Life Cycle model for TCG is able to combine TCG and BDE (with ATA security feature) features in a single code and to switch back and forth between TCG and BDE modes.
Command Protocol The commands are grouped into different classes according to the protocols followed for command execution. The command classes with their associated protocols are defined below. Please refer to Serial ATA Revision 3.2 about each protocol. For all commands, the host must first check if BSY=1, and should proceed no further unless and until BSY=0. For all commands, the host must also wait for RDY=1 before proceeding.
Write Multiple Write Multiple Ext Write Multiple FUA Ext Write Sector(s) Write Sector(s) Ext Write Stream Ext Execution includes the transfer of one or more 512 byte sectors of data from the host to the device.
DMA Data In commands and DMA Data Out commands These commands are: Download Microcode DMA Read DMA Read DMA Ext Read Log DMA Ext Read Stream DMA Ext Trusted Receive DMA Trusted Send DMA Write DMA Write DMA Ext Write DMA FUA Ext Write Log DMA Ext Write Stream DMA Ext Execution of this class of command includes the transfer of one or more blocks of data between the device and the host using DMA transfer.
Command Descriptions 3 Check Power Mode Code (Hex) E5 3 Check Power Mode* 98 1 0 0 1 1 0 0 0 3 Configure Stream 51 0 1 0 1 0 0 0 1 3 3 3 Crypto Scramble Ext Device Configuration Restore Device Configuration Freeze Lock B4 B1 B1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 0 0 0 0 0 0 1 1 1 Device Configuration Identify B1 1 0 1 1 0 0 0 1 2 Device Configuration Set B1 1 0 1 1 0 0 0 1 2 3 3 3 2 1 Download Microcode Execute Device Diagnostic Flush Cache Flush Cache
Protocol 2 3 2 3 2 2 3 3 3 3 3 3 3 3 3 3 3 1 1 3 3 2 3 3 3 3 3 1 4 2 4 2 4 4 4 4 5 2 4 2 2 2 Command Security Disable Password Security Erase Prepare Security Erase Unit Security Freeze Lock Security Set Password Security Unlock Seek Set Features Set Max Address Set Max Address Ext Set Multiple Mode Sleep Sleep* SMART Disable Operations SMART Enable/Disable Attribute Auto save SMART Enable Operations SMART Execute Off-line Data Collection SMART Read Attribute Values SMART Read Attribute Thresholds SMART Re
Protocol 2 2 2 4 4 3 Protocol : Command Write Sector(s) Write Sector(s) Write Sector(s) Ext Write Stream DMA Ext Write Stream Ext Write Uncorrectable Ext 1: 2: 3: 4: 5: +: Code (Hex) 30 31 34 3A 3B 45 7 0 0 0 0 0 0 6 0 0 0 0 0 1 Binary Code Bit 5 4 3 2 1 1 0 0 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 0 0 0 0 1 PIO data IN command PIO data OUT command Non data command DMA command DMA Queued command Vendor specific command Table 95 Command Set –Continued– Commands marked * are alternate command codes for previous
Command (Subcommand) (SMART Function) SMART Read Attribute Values SMART Read Attribute Thresholds SMART Enable/Disable Attribute Autosave SMART Save Attribute Values SMART Execute Off-line Data Collection SMART Read Log SMART Write Log SMART Enable Operations SMART Disable Operations SMART Return Status SMART Enable/Disable Automatic Off-line (Set Features) Enable Write Cache Set Transfer Mode Enable Advanced Power Management Enable Power-up in Standby Feature Set Power-up in Standby Feature Set Device Spin
The following symbols are used in the command descriptions: Output Registers 0 Indicates that the bit must be set to 0. 1 Indicates that the bit must be set to 1. D The device number bit. Indicates that the device number bit of the Device/Head Register should be specified. This bit is reserved since all Serial ATA devices behave like Device 0. H Head number. Indicates that the head number part of the Device/Head Register is an output parameter and should be specified. L LBA mode.
Check Power Mode (E5h/98h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature - - - - - - - - Error Sector Count - - - - - - - - Sector Count V V V V V V V V Sector Number - - - - - - - - Sector Number - - - - - - - - Cylinder Low - - - - - - - - Cylinder Low - - - - - - - - Cylinder High - - -
Configure Stream (51h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data Low - - - - - - - - Data Low - - - - - - - - Data High - - - - - - - - Data High - - - - - - - - Current V V - - - V V V Previous V V V V V V V V Current V V V V V V V V Previous V V V V V V V V Feature Sector Count …See Below… Error Sector Count Current - - - - - - - - Previ
Output Parameters To The Device Feature Current bit 7 (A/R) Feature Current bit 6 (R/W) Feature Current bit 0..2 (Stream ID) Feature Previous Sector Count Current Sector Count Previous If set to one, a request to add a new stream. If cleared to zero, a request to remove a previous configured stream is specified. R/W specifies a read stream if cleared to zero and a write stream if set to one. The Stream ID shall be a value between 0 and 7. The default Command Completion Time Limit (CCTL).
Device Configuration Overlay (B1h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature 1 0 1 0 V V V V Error Sector Count - - - - - - - - Sector Count V V V V V V V V Sector Number - - - - - - - - Sector Number - - - - - - - - Cylinder Low - - - - - - - - Cylinder Low V V V V V V V V Cylinder High -
Device Configuration Restore (Subcommand C0h) The Device Configuration Restore command disables any setting previously made by a Device Configuration Set command and returns the content of the Identify Device or Identify Packet Device command response to the original settings as indicated by the data returned from the execution of a Device Configuration Identify command.
Word 0 1 2 3-6 7 8 9-20 21 22-254 255 Content 0002h Data Structure revision Multiword DMA modes supported 15-3 Reserved 2 1 = Multiword DMA mode 2 and below are supported 1 1 = Multiword DMA mode 1 and below are supported 0 1 = Multiword DMA mode 0 is supported Ultra DMA modes supported 15-7 Reserved 6 1 = Ultra DMA mode 6 and below are supported 5 1 = Ultra DMA mode 5 and below are supported 4 1 = Ultra DMA mode 4 and below are supported 3 1 = Ultra DMA mode 3 and below are supported 2 1 = Ultra DMA
Note. Bits 7:0 of this word contain the value A5h. Bits 15:8 of this word contain the data structure checksum. The data structure checksum is the two’s complement of the sum of all byte in words 0 through 254 and the byte consisting of bits 7:0 of word 255. Each byte is added with unsigned arithmetic, and overflow is ignored. The sum of all bytes is zero when the checksum is correct.
Download Microcode (92h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature SUBCOMMAND(00-07) …See Below… Error Sector Count SECTOR_COUNT(00-07) Sector Count - - - - - - - - Sector Number SECTOR_COUNT(08-15) Sector Number - - - - - - - - Cylinder Low BUFFER_OFFSET(00-07) Cylinder Low - - - - - - - - Cylinder High BUFFER_OFFS
The device may abort the DOWNLOAD MICROCODE command and discard all previously downloaded Microcode, if the current buffer offset is not equal to the sum of the previous DOWNLOAD MICROCODE command buffer offset and the previous sector count. The first DOWNLOAD MICROCODE command shall have a buffer offset of zero. The new firmware should become effective immediately after the transfer of the last data segment has completed.
Download Microcode DMA (93h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature SUBCOMMAND(00-07) …See Below… Error Sector Count SECTOR_COUNT(00-07) Sector Count - - - - - - - - Sector Number SECTOR_COUNT(08-15) Sector Number - - - - - - - - Cylinder Low BUFFER_OFFSET(00-07) Cylinder Low - - - - - - - - Cylinder High BUFFER_
All microcode segments shall be sent to the device in sequence. The device may abort the DOWNLOAD MICROCODE DMA command and discard all previously downloaded Microcode, if the current buffer offset is not equal to the sum of the previous DOWNLOAD MICROCODE DMA command buffer offset and the previous sector count. The first DOWNLOAD MICROCODE DMA command shall have a buffer offset of zero. The new firmware should become effective immediately after the transfer of the last data segment has completed.
Execute Device Diagnostic (90h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature - - - - - - - - Error Sector Count - - - - - - - - Sector Count - - - - - - - - Sector Number - - - - - - - - Sector Number - - - - - - - - Cylinder Low - - - - - - - - Cylinder Low - - - - - - - - Cylinder High - -
Flush Cache (E7h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature - - - - - - - - Error Sector Count - - - - - - - - Sector Count - - - - - - - - Sector Number - - - - - - - - Sector Number - - - - - - - - Cylinder Low - - - - - - - - Cylinder Low - - - - - - - - Cylinder High - - - - - -
Flush Cache Ext (EAh) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data Low - - - - - - - - Data Low - - - - - - - - Data High - - - - - - - - Data High - - - - - - - - Current - - - - - - - - Previous - - - - - - - - Current - - - - - - - - Feature …See Below… Error Sector Count HOB=0 - - - - - - - - HOB=1 - - - - - - - - HOB=0 - - - - - -
Format Track (50h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature - - - - - - - - Error Sector Count - - - - - - - - Sector Count - - - - - - - - Sector Number V V V V V V V V Sector Number V V V V V V V V Cylinder Low V V V V V V V V Cylinder Low V V V V V V V V Cylinder High V V V V V V
Format Unit (F7h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature 0 0 0 1 0 0 0 1 Error Sector Count - - - - - - - - Sector Count - - - - - - - - Sector Number - - - - - - - - Sector Number - - - - - - - - Cylinder Low - - - - - - - - Cylinder Low - - - - - - - - Cylinder High - - - - - -
Identify Device (ECh) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature - - - - - - - - Error Sector Count - - - - - - - - Sector Count - - - - - - - - Sector Number - - - - - - - - Sector Number - - - - - - - - Cylinder Low - - - - - - - - Cylinder Low - - - - - - - - Cylinder High - - - - -
Word 00 Content 045AH or 045EH 01 02 xxxxH C837H 03 04 05 06 07 08 09 10-19 20 00xxH 0 0 003FH 0000H 0000H 0000H XXXX 0003H 21 XXXXH * 22 23-26 27-46 47 0038H XXXX XXXX 8010H * 48 400XH * * * * * * Description Drive classification, bit assignments: 15 (=0): 1=ATAPI device, 0=ATA device 14-8 : retired 7 (=0): 1=removable cartridge device 6 (=1): 1=fixed device 5-3 : retired 2 (=0): Response incomplete 1 : retired 0 (=0): Reserved Number of cylinders in default translate mode Specific Configura
Word 49 Content xF00H 50 4000H 51 52 0200H 0200H 53 0007H 54 55 56 xxxxH xxxxH xxxxH 57-58 xxxxH 59 xxxxH 60-61 xxxxH 62 63 0000H xx07H 64 0003H Description Capabilities, bit assignments: 15-14 (=0) Reserved 13 Standby timer (=1) values as specified in ATA standard are supported (=0) values are vendor specific 12 (=0) Reserved 11 (=1) IORDY Supported 10 (=1) IORDY can be disabled 9 (=1) LBA supported 8 (=1) DMA supported 7- 0 (=0) Reserved Capabilities, bit assignments: 15-14 (=01) word
Word 65 Content 0078H 66 0078H 67 0078H 68 0078H 69 0C08H or 0C18H 70-74 75 0000H 001FH 76 970xH 77 007xH Description Minimum Multiword DMA Transfer Cycle Time Per Word 15-0 (=78) Cycle time in nanoseconds (120ns, 16.6MB/s) Manufacturer’s Recommended Multiword DMA Transfer Cycle Time 15-0 (=78) Cycle time in nanoseconds (120ns, 16.6MB/s) Minimum PIO Transfer Cycle Time Without Flow Control 15-0 (=78) Cycle time in nanoseconds (120ns, 16.
Word 78 Content 0CDEH 79 0040H 80 03FCH 81 0029H 82 746BH Description SATA supported features 15-12 (=0) Reserved 11 (=1) Rebuild Assist 10 (=1) Device Initiated Interface Power Management Software Settings Preservation 9-8 (=0) Reserved 7 (=1) NCQ Autosense 6 (=1) Software setting preservation 5 (=0) Reserved 4 (=1) In-order data delivery 3 (=1) Device initiated interface power management 2 (=1) DMA Setup Auto-Activate optimization 1 (=1) Non-zero buffer offset in DMA Setup FIS 0 (=0) Reserved SA
Word 83 Content 7D69H 84 4163H or 4773H 85 xxxxH Description Command set supported 15-14 (=01) Word 83 is valid 13 (=1) FLUSH CACHE EXT command supported 12 (=1) FLUSH CACHE command supported 11 (=1) Device Configuration Overlay command supported 10 (=1) 48-bit Address feature set supported 9 (=0) Reserved 8 (=1) SET Max Security extension 7 (=0) Set Features Address Offset feature mode 6 (=1) SET FEATURES subcommand required to spin-up after power-up 5 (=1) Power-Up In Standby feature set supported 4
Word 86 Content xxxxH 87 4163H or 4763H or 4773H Description Command set/feature enabled 15 Words 120:119 are valid.
Word 88 Content xx7FH 89 xxxxH 90 xxxxH 91 92 93 94 95 00FEH FFFEH 0000H 0000H xxxxH 96 xxxxH Description Ultra DMA Transfer modes 15- 8 (=xx) Current active Ultra DMA transfer mode 15 Reserved (=0) 14 Mode 6 1 = Active 0 = Not Active 13 Mode 5 1 = Active 0 = Not Active 12 Mode 4 1 = Active 0 = Not Active 11 Mode 3 1 = Active 0 = Not Active 10 Mode 2 1 = Active 0 = Not Active 9 Mode 1 1 = Active 0 = Not Active 8 Mode 0 1 = Active 0 = Not Active 7- 0 (=7F) Ultra DMA Transfer mode supported 7 Reserv
Word 97 Content xxxxH 98 99 100-103 104 xxxxH xxxxH xxxxH xxxxH 105 106 0000H 6003H 107 108-111 5A87H xxxxH 112-118 119 0000H 40DCh 120 409Ch Description Streaming Access Latency – DMA and PIO The worst-case access latency of the device for a streaming command is calculated as follows: Access Latency = (word 97) * (words(99:98) / 256) If the Streaming Feature set is not supported by the device, the content of word 97 shall be zero.
Word 121-126 127 Content 0000H 0000H 128 xxxxH 129 xxxxH * 130-159 160-167 168 xxxxH 0000H 0002H * 169-175 176-205 206 0000H 0000H 003DH Description Reserved Removable Media Status Notification feature set 0000H=Not supported Security status. Bit assignments 15-9 Reserved 8 Security Level 1= Maximum, 0= High 7-6 Reserved 5 Enhanced erase 1= Support 4 Expired 1= Expired 3 Freeze 1= Frozen 2 Lock 1= Locked 1 Enabled/Disable 1= Enable 0 Capability 1= Support Current Set Feature Option.
Word 207-208 209 Content 0000H 4000H or 0000H 210-211 0000H 212-213 0000H 214 0000H 215-216 217 218 219 0000H 1C20H or 1644H or 1734H 0000H 0000H 220 0000H 221 222 0000H 10FFH 223 224-229 230-233 234 0021H 0000H xxxxH 0008H 235 0000H 236-254 255 0000H xxA5H Description Reserved Alignment of logical blocks within a physical block (This word is valid if bit 13 of word 106 is set to one.
Idle (E3h/97h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature - - - - - - - - Error Sector Count V V V V V V V V Sector Count - - - - - - - - Sector Number - - - - - - - - Sector Number - - - - - - - - Cylinder Low - - - - - - - - Cylinder Low - - - - - - - - Cylinder High - - - - - - -
Idle Immediate (E1h/95h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature - - - - - - - - Error Sector Count - - - - - - - - Sector Count - - - - - - - - Sector Number - - - - - - - - Sector Number - - - - - - - - Cylinder Low - - - - - - - - Cylinder Low - - - - - - - - Cylinder High - - - -
Initialize Device Parameters (91h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature - - - - - - - - Error - - - - - - - - Sector Count V V V V V V V V Sector Count - - - - - - - - Sector Number - - - - - - - - Sector Number - - - - - - - - Cylinder Low - - - - - - - - Cylinder Low - - - - - -
NCQ NON-DATA (63h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data Low - - - - - - - - Data Low - - - - - - - - Data High - - - - - - - - Data High - - - - - - - - Current V V V V V V V V Previous - - - - - - - - Feature Error ...See Below...
Abort NCQ Queue Subcommand (0h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data Low - - - - - - - - Data Low - - - - - - - - Data High - - - - - - - - Data High - - - - - - - - Current V V V V 0 0 0 0 Previous - - - - - - - - Current V V V V V - - - Feature Sector Count Sector Number Previous - - - - - - - - Current V V V V V - - Previous -
Output Parameters To The Device Feature Current Subcommand (bits 3-0) When bits(3:0) is 0h, Abort NCQ Queue Abort Subcommand. Subcommand Specific Abort Type, bit(7:4), describes the action requested. The NCQ NON-DATA Log (bits 7-4) (see 9.17.4.3 Read Log Ext Log Page 12h) provides a list of abort types supported by the device. The value of Abort type are defined in the below the table.
Deadline handling Subcommand (1h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data Low - - - - - - - - Data Low - - - - - - - - Data High - - - - - - - - Data High - - - - - - - - Current - - V V 0 0 0 1 Previous - - - - - - - - Current V V V V V - - - Feature Sector Count Sector Number Previous - - - - - - - - Current V V V V V - - Previous
Output Parameters To The Device Feature Current Subcommand (bits 3-0) When bits (3:0) is 1h, Deadline Handling Subcommand. WDNC(bits 4) If the WDNC (Write Data Not Continue) bit is cleared to zero, then the device allows WRITE FPDMA QUEUED command completion times to exceed what the ICC parameter specified.
Set Features Subcommand (5h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data Low - - - - - - - - Data Low - - - - - - - - Data High - - - - - - - - Data High - - - - - - - - Current - - V V 0 1 0 1 Previous - - - - - - - - Current V V V V V - - - Previous - - - - - - - - Feature Sector Count Sector Number Current V V V V V - - Previous - C
Output Parameters To The Device Feature Current Subcommand (bits 3-0) When bits(3:0) is 5h, SET FEATURES Subcommand. Subcommand Specific (bits 7-4) Feature Previous Contents of SET FEATURES (15:8) field Sector Count Current TAG (bits 7-3) The TAG value is assigned to be different from all other queued commands. The value does not exceed the maximum queue depth specified by the Word 75 of the Identify Device information. Sector Count Previous Contents of SET FEATURES LBA(7:0) field LBA (7:0).
RECEIVE FPDMA QUEUED (65h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data Low - - - - - - - - Data Low - - - - - - - - Data High - - - - - - - - Data High - - - - - - - - Current V V V V V V V V Previous - - - - - - - - Current V V V V V - - - - Previous V V - - - - - - Current V V V V V - - Previous - Current - Previous - - - - -
READ LOG DMA EXT (1h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data Low - - - - - - - - Data Low - - - - - - - - Data High - - - - - - - - Data High - - - - - - - - Current V V V V 0 0 0 1 Previous - - - - - - - - Current V V V V V - - - Previous - - - - - - - - Feature Sector Count Sector Number Current V V V V V - - Previous - Current
Cylinder High Previous Contents of READ LOG DMA EXT LBA(47:40) field Device/Head Input Parameters From The Device Sector Number (HOB=0) Sector Number (HOB=1) Cylinder Low (HOB=0) Cylinder Low (HOB=1) Cylinder High (HOB=0) Cylinder High (HOB=1) 173 Hard Disk Drive Specification
SEND FPDMA QUEUED (64h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data Low - - - - - - - - Data Low - - - - - - - - Data High - - - - - - - - Data High - - - - - - - - Current V V V V V V V V Previous - - - - - - - - Current V V V V V - - - Previous V V - - - - - - Feature Sector Count Sector Number Current V V V V V - - Previous - Curren
WRITE LOG DMA EXT (2h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data Low - - - - - - - - Data Low - - - - - - - - Data High - - - - - - - - Data High - - - - - - - - Current V V V V 0 0 1 0 Previous - - - - - - - - Current V V V V V - - - Previous - - - - - - - - Feature Sector Count Sector Number Current V V V V V - - Previous - Current
Cylinder High Current Contents of WRITE LOG DMA EXT LBA(23:16) field Cylinder High Previous Contents of WRITE LOG DMA EXT LBA(47:40) field Device/Head Input Parameters From The Device Sector Number (HOB=0) Sector Number (HOB=1) Cylinder Low (HOB=0) Cylinder Low (HOB=1) Cylinder High (HOB=0) Cylinder High (HOB=1) 176 Hard Disk Drive Specification
Read Buffer (E4h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature - - - - - - - - Error Sector Count - - - - - - - - Sector Count - - - - - - - - Sector Number - - - - - - - - Sector Number - - - - - - - - Cylinder Low - - - - - - - - Cylinder Low - - - - - - - - Cylinder High - - - - - -
Read Buffer DMA (E9h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature - - - - - - - - Error Sector Count - - - - - - - - Sector Count - - - - - - - - Sector Number - - - - - - - - Sector Number - - - - - - - - Cylinder Low - - - - - - - - Cylinder Low - - - - - - - - Cylinder High - - - - -
Read DMA(C8h/C9h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature - - - - - - - - Error Sector Count V V V V V V V V Sector Count V V V V V V V V Sector Number V V V V V V V V Sector Number V V V V V V V V Cylinder Low V V V V V V V V Cylinder Low V V V V V V V V Cylinder High V V V V V V
Output Parameters To The Device Sector Count The number of continuous sectors to be transferred. If zero is specified, then 256 sectors will be transferred. Sector Number The sector number of the first sector to be transferred. (L=0) In LBA mode, this register specifies LBA address bits 0-7 to be transferred. (L=1) Cylinder High/Low The cylinder number of the first sector to be transferred. (L=0) In LBA mode, this register specifies LBA address bits 8-15 (Low) 16-23 (High) to be transferred.
Read DMA Ext (25h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data Low - - - - - - - - Data Low - - - - - - - - Data High - - - - - - - - Data High - - - - - - - - Current - - - - - - - - Previous - - - - - - - - Current V V V V V V V V Previous V V V V V V V V Feature Sector Count Error ...See Below...
Output Parameters To The Device Sector Count Current The number of sectors to be transferred low order, bits (7:0). Sector Count Previous The number of sectors to be transferred high order, bits (15:8). If 0000h in the Sector Count register is specified, then 65,536 sectors will be transferred.
Read FPDMA Queued (60h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data Low - - - - - - - - Data Low - - - - - - - - Data High - - - - - - - - Data High - - - - - - - - Current V V V V V V V V Previous V V V V V V V V Current V V V V V - - - Previous - - - - - - - - Feature Sector Count Error ...See Below...
Sector Count Previous PRIO (bits 7-6) Sector Number Current The Priority (PRIO) value shall be assigned by the host based on the priority of the command issued. The device makes a best effort to complete High priority requests in a more timely fashion than Normal and isochronous priority requests. The device tries to complete isochronous requests prior to its associated deadline.
Read Log Ext (2Fh) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data Low - - - - - - - - Data Low - - - - - - - - Data High - - - - - - - - Data High Feature Sector Count Sector Number - - - - - - - - Current V V V V V V V V Previous V V V V V V V V Current V V V V V V V V Previous V V V V V V V V Current V V V V V V V V Error ...See Below...
Log address 00h 03h 06h 07h 08h 0Ch 10h 11h 12h 21h 22h 30h 80h-9Fh Content Log directory Extended Comprehensive SMART error log SMART self-test log Extended SMART self-test log Power Conditions log Pending Defects log Command Error Phy Event Counters NCQ NON-DATA log Write Stream Error log Read Stream Error log Identify Device Data log Host vendor specific Feature set N/A SMART error logging SMART self-test SMART self-test Extended Power Condition N/A Native Command Queuing Serial ATA NCQ NON-DATA Stream
General Purpose Log Directory Table 143 defines the 512 bytes that make up the General Purpose Log Directory. Description General Purpose Logging Version Number of sectors in the log at log address 01h (7:0) Number of sectors in the log at log address 01h (15:8) Number of sectors in the log at log address 02h (7:0) Number of sectors in the log at log address 02h (15:8) ...
Extended Comprehensive SMART Error log Table 145 defines the format of each of the sectors that comprise the Extended Comprehensive SMART error log. Error log data structure shall not include errors attributed to the receipt of faulty commands such as command codes not implemented by the device or requests with invalid parameters or in valid addresses.
Command data structure: Data format of each command data structure is shown below.
State shall contain a value indicating the state of the device when the command was issued to the device or the reset occurred as described below. Value State x0h Unknown x1h Sleep x2h Standby (If the EPC feature set is enabled, Standby is standby_y or standby_z) x3h Active/Idle (If the EPC feature set is enabled, Active/Idle is idle_a or idle_b or idle_c) x4h SMART Off-line or Self-test x5h-xAh Reserved xBh-xFh Vendor specific Note: The value of x is vendor specific.
Device Statistics log The Device Statistics log contains selected statistics about the device. The number of log pages may be greater than one. See Table 149 for a list of defined log pages. Each supported log page consists of a header field that may be followed by defined statistics fields. If the Revision Number field in the log page header is 0000h, then that log page is not supported. All log page data following the last defined statistic for that log page is reserved.
General Statistics (log page 01h) The General Statistics log page contains general information about the device as described in Table 151. Description Device Statistics Information Header Bit Description 63:24 Reserved 23:16 Log page number. (01h) 15:0 Revision number.
Rotating Media Statistics (log page 03h) The Rotating Media Statics log page contains device rotating media information as described in Table 152. Description Device Statistics Information Header Bit Description 63:24 Reserved 23:16 Log page number. (03h) 15:0 Revision number.
General Errors Statistics (log page 04h) General Errors Statistics log page contains general error information about the device as described in Table 153 Description Device Statistics Information Header Bit Description 63:24 Reserved 23:16 Log page number. (04h) 15:0 Revision number.
Highest Temperature Bit Description 63:56 Device Statistics Flags 55:8 Reserved 7:0 Highest Temperature (signed byte) Lowest Temperature Bit Description 63:56 Device Statistics Flags 55:8 Reserved 7:0 Lowest Temperature (signed byte) Highest Average Short Term Temperature Bit Description 63:56 Device Statistics Flags 55:8 Reserved 7:0 Highest Average Short Term Temperature (signed byte) Lowest Average Short Term Temperature Bit Description 63:56 Device Statistics Flags 55:8 Reserved 7:0 Lowest Average Short
Transport Statistics (log page 06h) The Transport Statistics log page contains interface transport information about the device as described in Table 156. Description Device Statistics Information Header Bit Description 63:24 Reserved 23:16 Log page number. (06h) 15:0 Revision number.
Extended Self-test log sector Table 157 defines the format of each of the sectors that comprise the Extended SMART self-test log. The Extended SMART self-test log sector shall support 48-bit and 28-bit addressing. All 28-bit entries contained in the SMART self-test log, defined in 11.51.6 Self-test log data structure on page 287 shall also be included in the Extended SMART self-test log with all 48-bit entries.
Power Conditions log Defines the Power Conditions log. If the Extended Power Conditions feature set is not supported, then the Power Conditions log not is supported. Each Power is composed of the following formats. Idle power conditions (log page 00h) Offset 0-63 Type Byte 64-127 Byte 128-191 Byte 192-511 Byte Description Idle_a power conditions descriptor. Power condition supported is set to one to indicate that the idle_a power condition is supported. Idle_b power conditions descriptor.
Power Conditions log descriptor Offset 0 1 Type Byte Byte 2-3 4-7 Byte DWord 8-11 DWord Description Reserved Power Condition Flags Bit Description 7 Power Condition Supported The Power Condition Supported bit is valid if the EPC feature set is supported, regardless of whether EPC is enabled or disabled. If the Power Condition Supported bit is set to one, then the power condition is supported. If the Power Condition Supported bit is cleared to zero, then the power condition is not supported.
Offset 12-15 Type DWord 16-19 DWord 20-23 DWord 24-27 DWord 28-63 DWord Description Current Timer setting The Current Timer setting is the minimum time that the device shall wait after command completion before entering this power condition if the EPC feature set is enabled. The Current Timer Setting field shall be cleared to zero if: a) EPC is disabled; b) the Power Condition Supported bit is cleared to zero; or c) the Current Timer Enabled field is cleared to zero.
Pending Defects log The Pending Defects log contains an unsorted list of logical sectors for which the device has detected an uncorrectable media error. Table 163 defines the format of the Pending Defects log for page 0. Table 164 defines the format of all subsequent pages of the log. The size (i.e., number of pages) of the Pending Defects log is indicated in the General Purpose Directory log (see 11.23.1).
Queued Error Log Table 166 defines the format of the Queued Error Log data structure.
Read Stream Error log Table 167 defines the format of the Read Stream Error log. Entries are placed into the Read Stream Error log only when the SE bit is set to one in the Status Register. The 512 bytes returned shall contain a maximum of 31 error entries. The Read Stream Error Count shall contain the total number of Read Stream Errors detected since the last successful completion of the Read Log Ext command with LBA Low register set to 22h.
Byte 3 contains the contents of the Error Register when the error occurred. Byte (9:4) indicates the starting LBA of the error. Byte (13:12) indicate the length of the error. Therefore, each entry may describe a range of sectors at the given address and spanning the specified number of sectors. Write Stream Error log Table 169 defines the format of the Write Stream Error log. Entries are placed into the Write Stream Error log only when the SE bit is set to one in the Status Register.
Identify Device Data log IDENTIFY DEVICE data log reports device configuration information. This log is read-only. See table 99 for a list of defined pages. Each page consists of a header field that is followed by defined statistics fields. If the Revision Number field in the page header is 0000h, then that page is not supported. All page data following the last defined statistic for that page is reserved.
Capacity (page 02h) The Capacity log page provides information about the capacity of the device. Offset 0..7 Type QWord 8..15 QWord 16..23 QWord 24..31 QWord 32..39 QWord 40..511 Content Capacity page information header Bit Meaning 63 Set to one. 62:24 Reserved 23:16 Page Number. Shall be set to 02h. 15:0 Revision number. Shall be set to 0001h Device Capacity Bit Meaning 63 Set to one.
Supported Capabilities (page 03h) The Supported Capabilities log page provides a mechanism for the device to report support for feature sets, features, commands and other device capabilities. Offset 0..7 Type QWord 8..15 QWord Content Supported Capabilities page information header. Bit Meaning 63 Set to one 62:24 Reserved 23:16 Page Number. Set to 03h 15:0 Revision number.
Offset 8..15 Type QWord 16..23 QWord 24..31 QWord 32..39 QWord 40..47 QWord 48..55 QWord 56..
Offset 72..79 80..
Current Settings (page 04h) The Current Settings log page provides a mechanism for the device to report the current settings for feature sets, features, and other device capabilities. Offset 0..7 Type QWord 8..15 QWord 16..23 QWord 24..31 QWord 32..39 QWord Content Supported Capabilities page information header. Bit Meaning 63 Set to one 62:24 Reserved 23:16 Page Number. Set to 04h. 15:0 Revision number.
Offset 40..47 Type QWord 48..55 QWord 56..63 QWord 64..71 QWord 72..79 QWord 80..
Security (page 06h) The Security log page provides a mechanism for the device to report Security based information. Offset 0..7 Type QWord 8..15 QWord 16..23 QWord 24..31 QWord 32..39 QWord 40..47 QWord 48..55 QWord 56..511 Content Security page information header. Bit Meaning 63 Set to one 62:24 Reserved 23:16 Page Number. Set to 06h. 15:0 Revision number. Set to 0001h Master Password Identifier [was word 92] Bit Meaning 63 Contents of the QWord are valid.
Parallel ATA (page 07h) The Parallel ATA log page provides information about the Parallel ATA Transport. This page is not supported.
Serial ATA (page 08h) The Serial ATA log page provides information about the Serial ATA Transport. Offset Type Content 0..7 QWord Serial ATA page information header. Bit Meaning 63 Set to one 62:24 Reserved 23:16 Page Number. Set to 08h. 15:0 Revision number. Set to 0001h 8..
Offset 16..23 24..39 40..41 42..43 44..47 48..55 56..
Offset 64..71 72..
Read Log DMA Ext(47h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data Low - - - - - - - - Data Low - - - - - - - - Data High - - - - - - - - Data High - - - - - - - - Current - - - - - - - R- Previous - - - - - - - - Current V V V V V V V V Feature Sector Count LBA Low LBA Mid LBA High Previous V V V V V V V V Current V V V V V V V V Pr
Read Multiple (C4h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature - - - - - - - - Error Sector Count V V V V V V V V Sector Count V V V V V V V V Sector Number V V V V V V V V Sector Number V V V V V V V V Cylinder Low V V V V V V V V Cylinder Low V V V V V V V V Cylinder High V V V V V V
Read Multiple Ext (29h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data Low - - - - - - - - Data Low - - - - - - - - Data High - - - - - - - - Data High - - - - - - - - Current - - - - - - - - Previous - - - - - - - - Current V V V V V V V V Previous V V V V V V V V Current V V V V V V V V Previous V V V V V V V V Current V V V
Output Parameters To The Device Sector Count Current The number of continuous sectors to be transferred low order, bits (7:0). Sector Count Previous The number of continuous sectors to be transferred high order, bits (15:8). If 0000h is specified in the Sector Count register, then 65,536 sectors will be transferred. Sector Number Current LBA (7:0). Sector Number Previous LBA (31:24). Cylinder Low Current LBA (15:8). Cylinder Low Previous LBA (39:32). Cylinder High Current LBA (23:16).
Read Native Max Address (F8h) Block Output Registers Command Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature - - - - - - - - Error Sector Count - - - - - - - - Sector Count - - - - - - - - Sector Number - - - - - - - - Sector Number V V V V V V V V Cylinder Low - - - - - - - - Cylinder Low V V V V V V V V Cylinder High - -
Read Native Max Address Ext (27h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data Low - - - - - - - - Data Low - - - - - - - - Data High - - - - - - - - Data High - - - - - - - - Current - - - - - - - - Previous - - - - - - - - Current - - - - - - - - Feature …See Below… Error Sector Count HOB=0 - - - - - - - - HOB=1 - - - - - - - - HOB=0 V V
Read Sector(s) (20h/21h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature - - - - - - - - Error Sector Count V V V V V V V V Sector Count V V V V V V V V Sector Number V V V V V V V V Sector Number V V V V V V V V Cylinder Low V V V V V V V V Cylinder Low V V V V V V V V Cylinder High V V V V
Read Sector(s) Ext (24h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data Low - - - - - - - - Data Low - - - - - - - - Data High - - - - - - - - Data High - - - - - - - - Current - - - - - - - - Previous - - - - - - - - Current V V V V V V V V - - Previous V V V V V V V V Current V V V V V V V V Previous V V V V V V V V Feature Sec
Read Stream DMA Ext(2Ah) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data Low - - - - - - - - Data Low - - - - - - - - Data High - - - - - - - - Data High - - - - - - - - Current V V V V - V V V Previous V V V V V V V V Current V V V V V V V V Feature …See Below… Error Sector Count HOB=0 - - - - - - - - HOB=1 - - - - - - - - HOB=0 V V
Output Parameters To The Device Feature Current URG (bit7) URG specifies an urgent transfer request. The Urgent bit specifies that the command should be completed in the minimum possible time by the device and shall be completed within the specified Command Completion Time Limit. RC RC specifies Read Continuous mode enabled. If the Read Continuous bit is set to one, the device shall not stop execution of the command due to errors.
Input Parameters From The Device Sector Number (HOB=0) LBA (7:0) of the address of the first unrecoverable error. Sector Number (HOB=1) LBA (31:24) of the address of the first unrecoverable error. Cylinder Low (HOB=0) LBA (15:8) of the address of the first unrecoverable error. Cylinder Low (HOB=1) LBA (39:32) of the address of the first unrecoverable error. Cylinder High (HOB=0) LBA (23:16) of the address of the first unrecoverable error.
Read Stream Ext (2Bh) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data Low - - - - - - - - Data Low - - - - - - - - Data High - - - - - - - - Data High - - - - - - - - Current V V V V - V V V Previous V V V V V V V V Current V V V V V V V V Feature …See Below… Error Sector Count HOB=0 - - - - - - - - HOB=1 - - - - - - - - HOB=0 V V V
Output Parameters To The Device Feature Current URG (bit7) URG specifies an urgent transfer request. The Urgent bit specifies that the command should be completed in the minimum possible time by the device and shall be completed within the specified Command Completion Time Limit. RC RC specifies Read Continuous mode enabled. If the Read Continuous bit is set to one, the device shall not stop execution of the command due to errors.
Input Parameters From The Device Sector Number (HOB=0) LBA (7:0) of the address of the first unrecoverable error. Sector Number (HOB=1) LBA (31:24) of the address of the first unrecoverable error. Cylinder Low (HOB=0) LBA (15:8) of the address of the first unrecoverable error. Cylinder Low (HOB=1) LBA (39:32) of the address of the first unrecoverable error. Cylinder High (HOB=0) LBA (23:16) of the address of the first unrecoverable error.
Read Verify Sector(s) (40h/41h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature - - - - - - - - Error Sector Count V V V V V V V V Sector Count V V V V V V V V Sector Number V V V V V V V V Sector Number V V V V V V V V Cylinder Low V V V V V V V V Cylinder Low V V V V V V V V Cylinder High V V
Read Verify Sector(s) Ext (42h) Command Block Output Registers Register Data Low Data High Feature Sector Count Sector Number Cylinder Low Cylinder High 7 - Command Block Input Registers 6 - 5 - 4 - 3 - 2 - 1 - 0 - Current - - - - - - - - Previous - - - - - - - - Current V V V V V V V V Previous V V V V V V V V Current V V V V V V V V Previous V V V V V V V V Current V V V V V V V V Previous V V V V V V V V Current V V V V
Recalibrate (1xh) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature - - - - - - - - Error Sector Count - - - - - - - - Sector Count - - - - - - - - Sector Number - - - - - - - - Sector Number - - - - - - - - Cylinder Low - - - - - - - - Cylinder Low - - - - - - - - Cylinder High - - - - - -
Request Sense Data Ext (0Bh) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data Low - - - - - - - - Data Low - - - - - - - - Data High - - - - - - - - Data High - - - - - - - - Current - - - - - - - - Previous - - - - - - - - Feature Error ...See Below...
The Error bit and the Sense Data Available may both be set to one. Bit 1 of the Status Register is obsolete if: a) IDENTIFY DEVICE data word 119 bit 6 is cleared to zero; or b) IDENTIFY DEVICE data word 120 bit 6 is cleared to zero.
Sanitize Device Feature Set (B4h) Crypto Scramble Ext Command (feature: 0011h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data Low - - - - - - - - Data Low - - - - - - - - Data High - - - - - - - - Data High - - - - - - - - Current 0 0 0 1 0 0 0 1 Previous 0 0 0 0 0 0 0 0 Current - - - V - - - - Previous - - - - - - - - Current 0 1 1 1 0 0 0
Output Parameters To The Device Sector Count Current bit 4 The FAILURE MODE 1: the device may exit the SD3: Sanitize Operation Failed state with successful processing of a SANITIZE STATUS EXT command. 0: the SD3: Sanitize Operation Failed state returns command aborted for sanitize operations with the FAILURE MODE bit set to one until the device returns to the SD1: Sanitize Idle state. Input Parameters From The Device Sector Count Current bit 15 Sanitize Operation Completed Without Error.
Overwrite Ext Command (feature: 0014h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data Low - - - - - - - - Data Low - - - - - - - - Data High - - - - - - - - Data High - - - - - - - - Current 0 0 0 1 0 1 0 0 Previous 0 0 0 0 0 0 0 0 Current V - - V V V V V Previous - - - - - - - - Current V V V V V V V V Previous V V V V V V V V Cur
Output Parameters To The Device Sector Count Current bit 7 Invert pattern between overwrite operations Sector Count Current bit 4 The FAILURE MODE 1: the device may exit the SD3: Sanitize Operation Failed state with successful processing of a SANITIZE STATUS EXT command. 0: the SD3: Sanitize Operation Failed state returns command aborted for sanitize operations with the FAILURE MODE bit set to one until the device returns to the SD1: Sanitize Idle state.
Sanitize Freeze Lock Ext Command (feature: 0020h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data Low - - - - - - - - Data Low - - - - - - - - Data High - - - - - - - - Data High - - - - - - - - Feature Sector Count Sector Number Cylinder Low Current 0 0 1 0 0 0 0 0 Previous 0 0 0 0 0 0 0 0 Current - - - - - - - - Previous - - - - - - - - Current 0
Error Output Sector Number (HOB=0) Sanitize Device Error (7:0) 00h Reason not reported 01h Sanitize Command Unsuccessful. The sanitize operation completed with physical sectors that are available to be allocated for user data that were not successfully sanitized. 02h Invalid or unsupported Sanitize Device Feature Field Value 03h Device is in the Sanitize Frozen state 04h..
Sanitize Status Ext Command (feature: 0000h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data Low - - - - - - - - Data Low - - - - - - - - Data High - - - - - - - - Data High - - - - - - - - Feature Sector Count Current 0 0 0 0 0 0 0 0 Previous 0 0 0 0 0 0 0 0 Current - - - - - - - V Error ...See Below...
Input Parameters From The Device Sector Count Current bit 15 Sanitize Operation Completed Without Error. 1: the Sanitize Device state machine enters SD4: Sanitize Operation Succeeded. 0: the Sanitize Device state machine enters SD2: Sanitize Operation. The value of this bit is maintained across power-on resets. Sector Count Current bit 14 Sanitize operation in progress Sector Count Current bit 13 Device is in the SD1: Sanitize Frozen state Cylinder Low (HOB=0) The Sanitize Progress Indication (15:8).
Security Disable Password (F6h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature - - - - - - - - Error Sector Count - - - - - - - - Sector Count - - - - - - - - Sector Number - - - - - - - - Sector Number - - - - - - - - Cylinder Low - - - - - - - - Cylinder Low - - - - - - - - Cylinder High - -
Security Erase Prepare (F3h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature - - - - - - - - Error Sector Count - - - - - - - - Sector Count - - - - - - - - Sector Number - - - - - - - - Sector Number - - - - - - - - Cylinder Low - - - - - - - - Cylinder Low - - - - - - - - Cylinder High - - -
Security Erase Unit (F4h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature - - - - - - - - Error Sector Count - - - - - - - - Sector Count - - - - - - - - Sector Number - - - - - - - - Sector Number - - - - - - - - Cylinder Low - - - - - - - - Cylinder Low - - - - - - - - Cylinder High - - - -
command should be completed immediately prior to the Security Erase Unit command. If the device receives a Security Erase Unit command without a prior Security Erase Prepare command, the device aborts the security erase unit command. This command disables the security mode feature (device lock function), however the master password is still stored internally within the device and may be re-activated later when a new user password is set.
Security Freeze Lock (F5h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature - - - - - - - - Error Sector Count - - - - - - - - Sector Count - - - - - - - - Sector Number - - - - - - - - Sector Number - - - - - - - - Cylinder Low - - - - - - - - Cylinder Low - - - - - - - - Cylinder High - - -
Security Set Password (F1h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature - - - - - - - - Error Sector Count - - - - - - - - Sector Count - - - - - - - - Sector Number - - - - - - - - Sector Number - - - - - - - - Cylinder Low - - - - - - - - Cylinder Low - - - - - - - - Cylinder High - - -
Identifier Zero indicates that the device regards Password as User Password. One indicates that device regards Password as Master Password. Security Level Zero indicates High level, one indicates Maximum level. If the host sets High level and the password is forgotten, then the Master Password can be used to unlock the device. If the host sets Maximum level and the user password is forgotten, only a Security Erase Prepare/Security Unit command can unlock the device and all data will be lost.
Security Unlock (F2h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature - - - - - - - - Error Sector Count - - - - - - - - Sector Count - - - - - - - - Sector Number - - - - - - - - Sector Number - - - - - - - - Cylinder Low - - - - - - - - Cylinder Low - - - - - - - - Cylinder High - - - - -
Seek (7xh) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature - - - - - - - - Error Sector Count - - - - - - - - Sector Count - - - - - - - - Sector Number V V V V V V V V Sector Number V V V V V V V V Cylinder Low V V V V V V V V Cylinder Low V V V V V V V V Cylinder High V V V V V V V V C
Sense Condition (F0h : Vendor specific) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature 0 0 0 0 0 0 0 1 Error Sector Count - - - - - - - - Sector Count V V V V V V V V Sector Number - - - - - - - - Sector Number - - - - - - - - Cylinder Low - - - - - - - - Cylinder Low - - - - - - - - Cylinder Hi
Set Features (EFh) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature V V V V V V V V Error Sector Count Note.
Set Transfer Mode When Feature register is 03h (=Set Transfer Mode), the Sector Count Register specifies the transfer mechanism. The upper 5 bits define the type of transfer and the low order 3 bits encode the mode value.
Advanced Power Management When the value in the Feature register is 05h (=Enable Advanced Power Management), the Sector Count Register specifies the Advanced Power Management level.
Extended Power Conditions (EPC) feature Restore Power Condition Settings subcommand Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature 0 1 0 0 1 0 1 0 Error Sector Count V V V V V V V V Sector Count - - - - - - - - Sector Number - V - V 0 0 0 0 Sector Number - - - - - - - - Cylinder Low - - - - - - - - Cylin
Go To Power Condition subcommand Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature 0 1 0 0 1 0 1 0 Error Sector Count V V V V V V V V Sector Count - - - - - - - - Sector Number - - - - 0 0 0 1 Sector Number - - - - - - - - Cylinder Low - - - - - - - - Cylinder Low - - - - - - - - Cylinder High -
Set Power Condition Timer subcommand Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature 0 1 0 0 1 0 1 0 Error Sector Count V V V V V V V V Sector Count - - - - - - - - Sector Number V - V V 0 0 1 0 Sector Number - - - - - - - - Cylinder Low V V V V V V V V Cylinder Low - - - - - - - - Cylinder High
Output Parameters To The Device Sector Count Power Condition ID (See Table 72) Sector Number bit Description 7 Timer Units If the Timer Units bit is cleared to zero, then the Timer (Cylinder High and Cylinder Low bit 15-0) are specified in units of 100 milliseconds. If the Timer Units bit is set to one, then the Timer (Cylinder High and Cylinder Low bit 15-0) are specified in units of 1 minute.
Set Power Condition State subcommand Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature 0 1 0 0 1 0 1 0 Error Sector Count V V V V V V V V Sector Count - - - - - - - - Sector Number - - V V 0 0 1 1 Sector Number - - - - - - - - Cylinder Low - - - - - - - - Cylinder Low - - - - - - - - Cylinder High
Enable the EPC feature subcommand Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature 0 1 0 0 1 0 1 0 Error Sector Count - - - - - - - - Sector Count - - - - - - - - Sector Number - - - - 0 1 0 0 Sector Number - - - - - - - - Cylinder Low - - - - - - - - Cylinder Low - - - - - - - - Cylinder High -
Disable the EPC feature subcommand Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature 0 1 0 0 1 0 1 0 Error Sector Count - - - - - - - - Sector Count - - - - - - - - Sector Number - - - - 0 1 0 1 Sector Number - - - - - - - - Cylinder Low - - - - - - - - Cylinder Low - - - - - - - - Cylinder High -
Set Max Address (F9h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature V V V V V V V V Error Sector Count - - - - - - - B Sector Count - - - - - - - - Sector Number V V V V V V V V Sector Number V V V V V V V V Cylinder Low V V V V V V V V Cylinder Low V V V V V V V V Cylinder High V V V V V
Output Parameters To The Device B Option bit for selection whether nonvolatile or volatile. B=0 is volatile condition. When B=1, MAX Address which is set by Set Max Address command is preserved by POR. When B=0, MAX Address which is set by Set Max Address command will be lost by POR. B=1 is not valid when the device is in Address Offset mode. Sector Number In LBA mode, this register contains LBA bits 0 – 7 which is to be input.(L=1) In CHS mode, this register is ignored.
Set Max Set Password (Feature = 01h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature 0 0 0 0 0 0 0 1 Error Sector Count - - - - - - - - Sector Count - - - - - - - - Sector Number - - - - - - - - Sector Number - - - - - - - - Cylinder Low - - - - - - - - Cylinder Low - - - - - - - - Cylinder High
Set Max Lock (Feature = 02h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature 0 0 0 0 0 0 1 0 Error Sector Count - - - - - - - - Sector Count - - - - - - - - Sector Number - - - - - - - - Sector Number - - - - - - - - Cylinder Low - - - - - - - - Cylinder Low - - - - - - - - Cylinder High - - -
Set Max Unlock (Feature = 03h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature 0 0 0 0 0 0 1 1 Error Sector Count - - - - - - - - Sector Count - - - - - - - - Sector Number - - - - - - - - Sector Number - - - - - - - - Cylinder Low - - - - - - - - Cylinder Low - - - - - - - - Cylinder High - -
Set Max Freeze Lock (Feature = 04h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature 0 0 0 0 0 1 0 0 Error Sector Count - - - - - - - - Sector Count - - - - - - - - Sector Number - - - - - - - - Sector Number - - - - - - - - Cylinder Low - - - - - - - - Cylinder Low - - - - - - - - Cylinder High
Set Max Address Ext (37h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data Low - - - - - - - - Data Low - - - - - - - - Data High - - - - - - - - Data High - - - - - - - - - - Feature Sector Count Sector Number Current - - - - - - - - Previous - - - - - - - - Current - - - - - - - B Previous - - - - - - - - Current V V V V V V V V Previous
Cylinder Low Previous Set Max LBA (39:32). Cylinder High Current Set Max LBA (23:16). Cylinder High Previous Set Max LBA (47:40). Input Parameters From The Device Sector Number (HOB=0) Set Max LBA (7:0). Sector Number (HOB=1) Set Max LBA (31:24). Cylinder Low (HOB=0) Set Max LBA (15:8). Cylinder Low (HOB=1) Set Max LBA (39:32). Cylinder High (HOB=0) Set Max LBA (23:16). Cylinder High (HOB=1) Set Max LBA (47:40).
Set Multiple (C6h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature - - - - - - - - Error Sector Count V V V V V V V V Sector Count - - - - - - - - Sector Number - - - - - - - - Sector Number - - - - - - - - Cylinder Low - - - - - - - - Cylinder Low - - - - - - - - Cylinder High - - - - - -
Sleep (E6h/99h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature - - - - - - - - Error Sector Count - - - - - - - - Sector Count - - - - - - - - Sector Number - - - - - - - - Sector Number - - - - - - - - Cylinder Low - - - - - - - - Cylinder Low - - - - - - - - Cylinder High - - - - - - -
SMART Function Set (B0h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature V V V V V V V V Error Sector Count V V V V V V V V Sector Count - - - - - - - - Sector Number V V V V V V V V Sector Number - - - - - - - - Cylinder Low 0 1 0 0 1 1 1 1 Cylinder Low - - - - - - - - Cylinder High 1 1 0 0
SMART Subcommand In order to select a subcommand the host must write the subcommand code to the device’s Features Register before issuing the SMART Function Set command. The subcommands and their respective codes are listed below.
SMART Save Attribute Values (Subcommand D3h) This subcommand causes the device to immediately save any updated Attribute Values to the device’s Attribute Data sector regardless of the state of the Attribute Autosave feature. Upon receipt of the SMART Save Attribute Values subcommand from the host, the device writes any updated Attribute Values to the Attribute Data sector.
SMART Read Log Sector (Subcommand D5h) This command returns the specified log sector contents to the host. The 512 bytes data are returned at a command and the Sector Count value shall be set to one. The Sector Number shall be set to specify the log sector address.
SMART Return Status (Subcommand DAh) This command is used to communicate the reliability status of the device to the host’s request. Upon receipt of the SMART Return Status subcommand the device saves any updated Pre-failure type Attribute Values to the reserved sector and compares the updated Attribute Values to the Attribute Thresholds. If the device does not detect a Threshold Exceeded Condition, the device loads 4Fh into the Cylinder Low register, C2h into the Cylinder High register.
Device Attributes Data Structure The following defines the 512 bytes that make up the Attribute Value information. This data structure is accessed by the host in its entirety using the SMART Read Attribute Values subcommand. All multi-byte fields shown in these data structures are in byte ordering, namely that the least significant byte occupies the lowest numbered byte address location in the field.
Individual Attribute Data Structure The following defines the 12 bytes that make up the information for each Attribute entry in the Device Attribute Data Structure. Description Attribute ID Number (01h to FFh) Status Flags Attribute Value (valid values from 01h to FDh) Vender specific Total Bytes Bytes 1 2 1 8 12 Offset 00h 01h 03h 04h Table 232 Individual Attribute Data Structure Attribute ID Numbers: Any non-zero value in the Attribute ID Number indicates an active attribute.
Off-Line Data Collection Status The value of this byte defines the current status of the off-line activities of the device. Bit 7 indicates Automatic OffLine Data Collection Status. Bit 7 Automatic Off-Line Data Collection Status 0 Automatic Off-Line Data Collection is disabled. 1 Automatic Off-Line Data Collection is enabled. Bits 0 thru 6 represent a hexadecimal status value reported by the device. Value 0 Definition Off-line data collection never started 2 All segments completed without errors.
Off-Line Data Collection Capability Bit Definition 0 Execute Off-line Immediate implemented bit 0 SMART Execute Off-line Immediate subcommand is not implemented 1 1 SMART Execute Off-line Immediate subcommand is implemented Enable/disable Automatic Off-line implemented bit 0 SMART Enable/disable Automatic Off-line subcommand is not implemented 1 SMART Enable/disable Automatic Off-line subcommand is implemented 2 abort/restart off-line by host bit 0 The device will suspend off-line data collection a
Self-test completion time These bytes are the minimum time in minutes to complete self-test. Data Structure Checksum The Data Structure Checksum is the 2’s compliment of the result of a simple 8-bit addition of the first 511 bytes in the data structure.
Device Attribute Thresholds Data Structure The following defines the 512 bytes that make up the Attribute Threshold information. This data structure is accessed by the host in its entirety using the SMART Read Attribute Thresholds. All multi-byte fields shown in these data structures follow the ATA/ATAPI-7 specification for byte ordering, namely that the least significant byte occupies the lowest numbered byte address location in the field.
SMART Log Directory Table 235 defines the 512 bytes that make up the SMART Log Directory. The SMART Log Directory is SMART Log Address zero and is defined as one sector long.
Error log data structure Data format of each error log structure is shown below. Description 1st error log data structure 2nd error log data structure 3rd error log data structure 4th error log data structure 5th error log data structure Error data structure Bytes 12 12 12 12 12 30 90 Offset 00h 0Ch 18h 24h 30h 3Ch Table 237 Error log data structure Command data structure: Data format of each command data structure is shown below.
State field contains a value indicating the device state when command was issued to the device. Value State x0h Unknown x1h Sleep x2h Standby (If the EPC feature set is enabled, Standby is standby_y or standby_z) x3h Active/Idle (If the EPC feature set is enabled, Active/Idle is idle_a or idle_b or idle_c) x4h SMART Off-line or Self-test x5h-xAh Reserved xBh-xFh Vendor specific Note: The value of x is vendor specific.
Selective self-test log data structure The Selective self-test log is a log that may be both written and read by the host. This log allows the host to select the parameters for the self-test and to monitor the progress of the self-test. The following table defines the contents of the Selective self-test log which is 512 bytes long. All multi-byte fields shown in these data structures follow the ATA/ATAPI-7 specifications for byte ordering.
Error Reporting The following table shows the values returned in the Status and Error Registers when specific error conditions are encountered by a device. Error Condition Status Register Error Register A SMART FUNCTION SET command was received by the device without the required key being loaded into the Cylinder High and Cylinder Low registers.
Standby (E2h/96h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature - - - - - - - - Error Sector Count V V V V V V V V Sector Count - - - - - - - - Sector Number - - - - - - - - Sector Number - - - - - - - - Cylinder Low - - - - - - - - Cylinder Low - - - - - - - - Cylinder High - - - - - -
Standby Immediate (E0h/94h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature - - - - - - - - Error Sector Count - - - - - - - - Sector Count - - - - - - - - Sector Number - - - - - - - - Sector Number - - - - - - - - Cylinder Low - - - - - - - - Cylinder Low - - - - - - - - Cylinder High - - -
Trusted Receive (5Ch) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature V V V V V V V V Error Sector Count V V V V V V V V Sector Count - - - - - - - - Sector Number V V V V V V V V Sector Number - - - - - - - - Cylinder Low V V V V V V V V Cylinder Low - - - - - - - - Cylinder High V V V V V
Trusted Receive DMA (5Dh) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature V V V V V V V V Error Sector Count V V V V V V V V Sector Count - - - - - - - - Sector Number V V V V V V V V Sector Number - - - - - - - - Cylinder Low V V V V V V V V Cylinder Low - - - - - - - - Cylinder High V V V V
Trusted Send (5Eh) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature V V V V V V V V Error Sector Count V V V V V V V V Sector Count - - - - - - - - Sector Number V V V V V V V V Sector Number - - - - - - - - Cylinder Low V V V V V V V V Cylinder Low - - - - - - - - Cylinder High V V V V V V
Trusted Send DMA (5Fh) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature V V V V V V V V Error Sector Count V V V V V V V V Sector Count - - - - - - - - Sector Number V V V V V V V V Sector Number - - - - - - - - Cylinder Low V V V V V V V V Cylinder Low - - - - - - - - Cylinder High V V V V V
Write Buffer (E8h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature - - - - - - - - Error Sector Count - - - - - - - - Sector Count - - - - - - - - Sector Number - - - - - - - - Sector Number - - - - - - - - Cylinder Low - - - - - - - - Cylinder Low - - - - - - - - Cylinder High - - - - - -
Write Buffer DMA (EBh) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature - - - - - - - - Error Sector Count - - - - - - - - Sector Count - - - - - - - - Sector Number - - - - - - - - Sector Number - - - - - - - - Cylinder Low - - - - - - - - Cylinder Low - - - - - - - - Cylinder High - - - - -
Write DMA (CAh/CBh) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature - - - - - - - - Error Sector Count V V V V V V V V Sector Count V V V V V V V V Sector Number V V V V V V V V Sector Number V V V V V V V V Cylinder Low V V V V V V V V Cylinder Low V V V V V V V V Cylinder High V V V V V V
Write DMA FUA Ext (3Dh) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data Low - - - - - - - - Data Low - - - - - - - - Data High - - - - - - - - Data High Feature Sector Count - - - - - - - - Current - - - - - - - - Previous - - - - - - - - Current V V V V V V V V Previous V V V V V V V V …See Below… Error Sector Count Current V V V V V V V V
Input Parameters From The Device Sector Number (HOB=0) LBA (7:0) of the address of the first unrecoverable error. Sector Number (HOB=1) LBA (31:24) of the address of the first unrecoverable error. Cylinder Low (HOB=0) LBA (15:8) of the address of the first unrecoverable error. Cylinder Low (HOB=1) LBA (39:32) of the address of the first unrecoverable error. Cylinder High (HOB=0) LBA (23:16) of the address of the first unrecoverable error.
Write DMA Ext (35h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data Low - - - - - - - - Data Low - - - - - - - - Data High - - - - - - - - Data High Feature Sector Count - - - - - - - - Current - - - - - - - - Previous - - - - - - - - Current V V V V V V V V Previous V V V V V V V V …See Below… Error Sector Count Current V V V V V V V V Pr
Input Parameters From The Device Sector Number (HOB=0) LBA (7:0) of the address of the first unrecoverable error. Sector Number (HOB=1) LBA (31:24) of the address of the first unrecoverable error. Cylinder Low (HOB=0) LBA (15:8) of the address of the first unrecoverable error. Cylinder Low (HOB=1) LBA (39:32) of the address of the first unrecoverable error. Cylinder High (HOB=0) LBA (23:16) of the address of the first unrecoverable error.
Write FPDMA Queued (61h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data Low - - - - - - - - Data Low - - - - - - - - Data High - - - - - - - - Data High Feature Sector Count - - - - - - - - Current V V V V V V V V Previous V V V V V V V V Current V V V V V - - - Previous - - - - - - - - …See Below… Error Sector Count Current V V V V V V V
Cylinder Low Previous LBA (39:32) Cylinder High Current LBA (23:16) Cylinder High Previous LBA (47:40) ICC The Isochronous Command Completion (ICC) field is valid when PRIO is set to a value of 01b. It is assigned by the host based on the intended deadline associated with the command issued. When a deadline has expired, the device continues to complete the command as soon as possible. The host can modify this behavior if the device supports the NCQ NON-DATA command (see 11.
Write Log Ext (3Fh) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data Low - - - - - - - - Data Low - - - - - - - - Data High - - - - - - - - Data High - - - - - - - - Current - - - - - - - - Previous - - - - - - - - Current V V V V V V V V Previous V V V V V V V V Current V V V V V V V V Previous - - - - - - - - Current V V V V V
Write Log DMA Ext (57h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data Low - - - - - - - - Data Low - - - - - - - - Data High - - - - - - - - Data High - - - - - - - - Current - - - - - - - - Previous - - - - - - - - Current V V V V V V V V Feature Error Sector Count ...See Below...
Write Multiple (C5h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature - - - - - - - - Error Sector Count V V V V V V V V Sector Count V V V V V V V V Sector Number V V V V V V V V Sector Number V V V V V V V V Cylinder Low V V V V V V V V Cylinder Low V V V V V V V V Cylinder High V V V V V
Write Multiple Ext (39h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data Low - - - - - - - - Data Low - - - - - - - - Data High - - - - - - - - Data High Feature Sector Count - - - - - - - - Current - - - - - - - - Previous - - - - - - - - Current V V V V V V V V Previous V V V V V V V V Error ...See Below...
Write Multiple FUA Ext (CEh) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data Low - - - - - - - - Data Low - - - - - - - - Data High - - - - - - - - Data High Feature Sector Count - - - - - - - - Current - - - - - - - - Previous - - - - - - - - Current V V V V V V V V Previous V V V V V V V V Error ...See Below...
Cylinder High (HOB=0) LBA (23:16) of the address of the first unrecoverable error. Cylinder High (HOB=1) LBA (47:40) of the address of the first unrecoverable error.
Write Sector(s) (30h/31h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data - - - - - - - - Data - - - - - - - - Feature - - - - - - - - Error Sector Count V V V V V V V V Sector Count V V V V V V V V Sector Number V V V V V V V V Sector Number V V V V V V V V Cylinder Low V V V V V V V V Cylinder Low V V V V V V V V Cylinder High V V V V
Write Sector(s) Ext (34h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data Low - - - - - - - - Data Low - - - - - - - - Data High - - - - - - - - Data High Feature Sector Count - - - - - - - - Current - - - - - - - - Previous - - - - - - - - Current V V V V V V V V Previous V V V V V V V V Error ...See Below...
Write Stream DMA Ext (3Ah) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data Low - - - - - - - - Data Low - - - - - - - - Data High - - - - - - - - Data High - - - - - - - - - - Feature Sector Count Sector Number Current V V V V - V V V Previous V V V V V V V V Current V V V V V V V V Previous V V V V V V V V Current V V V V V V V V Previou
Output Parameters To The Device Feature Current URG (bit7) URG specifies an urgent transfer request. The Urgent bit specifies that the command should be completed in the minimum possible time by the device and shall be completed within the specified Command Completion Time Limit. WC WC specifies Write Continuous mode enabled. If the Write Continuous bit is set to one, the device shall not stop execution of the command due to errors.
Input Parameters From The Device Sector Number (HOB=0) LBA (7:0) of the address of the first unrecoverable error. Sector Number (HOB=1) LBA (31:24) of the address of the first unrecoverable error. Cylinder Low (HOB=0) LBA (15:8) of the address of the first unrecoverable error. Cylinder Low (HOB=1) LBA (39:32) of the address of the first unrecoverable error. Cylinder High (HOB=0) LBA (23:16) of the address of the first unrecoverable error.
Write Stream Ext (3Bh) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data Low - - - - - - - - Data Low - - - - - - - - Data High - - - - - - - - Data High - - - - - - - - Feature Sector Count Current V V V V - V V V Previous V V V V V V V V Current V V V V V V V V Previous V V V V V V V V Error ...See Below...
Output Parameters To The Device Feature Current URG (bit7) URG specifies an urgent transfer request. The Urgent bit specifies that the command should be completed in the minimum possible time by the device and shall be completed within the specified Command Completion Time Limit. WC WC specifies Write Continuous mode enabled. If the Write Continuous bit is set to one, the device shall not stop execution of the command due to errors.
Input Parameters From The Device Sector Number (HOB=0) LBA (7:0) of the address of the first unrecoverable error. Sector Number (HOB=1) LBA (31:24) of the address of the first unrecoverable error. Cylinder Low (HOB=0) LBA (15:8) of the address of the first unrecoverable error. Cylinder Low (HOB=1) LBA (39:32) of the address of the first unrecoverable error. Cylinder High (HOB=0) LBA (23:16) of the address of the first unrecoverable error.
Write Uncorrectable Ext (45h) Command Block Output Registers Command Block Input Registers Register 7 6 5 4 3 2 1 0 Register 7 6 5 4 3 2 1 0 Data Low - - - - - - - - Data Low - - - - - - - - Data High - - - - - - - - Data High - - - - - - - - Feature Sector Count Current V V V V V V V V Previous - - - - - - - - Current V V V V V V V V Previous V V V V V V V V Error ...See Below...
Output Parameters To The Device Feature Current Uncorrectable options 55h :Create a pseudo-uncorrectable error with logging AAh :Created a flagged error without logging Other value : Reserved Sector Count Current The number of continuous sectors to be transferred low order, bits (7:0). Sector Count Previous The number of continuous sectors to be transferred high order bits (15:8). If zero is specified, then 65,536 sectors will be transferred. Sector Number Current LBA (7:0).