AT Attachment With Packet Interface - 7 Volume 1
AT Attachment With Packet Interface - 7 Volume 1
Information Technology -
AT Attachment with Packet Interface - 7
Volume 1 - Register Delivered Command Set, Logical
Register Set
(ATA/ATAPI-7 V1)
This is a draft proposed American National Standard of Accredited Standards Committee INCITS. As such
this is not a completed standard. The T10 Technical Committee may modify this document as a result of
comments received during public review and its approval as a standard. Use of the information contained
here in is at your own risk.
Permission is granted to members of INCITS, its technical committees, and their associated task groups to
reproduce this document for the purposes of INCITS standardization activities without further permission,
provided this notice is included. All other rights are reserved. Any commercial or for-profit replication or
republication is prohibited.
Tel: 949-672-7686
Fax: 949-672-5499
Reference number
ISO/IEC ****** :200x
ANSI INCITS.*** - xxxx
Printed April, 21, 2004 1:06PM
T13/1532D Volume 1 Revision 4b
Points of Contact:
T13 Chair T13 Vicechair
Dan Colgrove Jim Hatfield
Hitachi Global Storage Technologies Seagate Technology
2903 Carmelo Dr 389 Disc Drive
Henderson, NV 89502 Longmont CO 80503
Tel: 702-614-6119 Tel: 720-684-2120
Fax: 702-614-7955 Fax: 720-684-2711
INCITS Secretariat
NCITS Secretariat Tel: 202-737-8888
1250 Eye Street, NW Suite 200 Fax: 202-638-4922
Washington, DC 20005
Email: [email protected]
T13 Reflector
http://www.t13.org
ftp.t13.org
Document Distribution
or
Global Engineering http://global.ihs.com/
15 Inverness Way East Telephone: 1-303-792-2181
Englewood, CO 80112-5704 or 1-800-854-7179
Facsimile: 1-303-792-2192
Page ii
T13/1532D Volume 1 Revision 4b
DOCUMENT STATUS
Added e02101r0 Proposal to obsolete SEEK as approved at the April 2002 plenary.
Reserved eight opcodes, four IDENTIFY DEVICE data words, one SET FEATURES subcommand code pair,
and eight log addresses for Serial ATA per e01145r1 as approved at the April 2002 plenary.
Page iii
T13/1532D Volume 1 Revision 4b
Revision 3b - There was no revision 3b. Skipped this revision to correlate versions of all Volumes.
Revision 3c - Incorporated e03121r1 Corrections to Write DMA Queued FUA EXT command Clause 6.62.
Accepted changes during page-turner review.
Revision 3d -
Correlated Glossary with Volumes 2 & 3.
Incorporated e03111r1: Proposal to Align DCO with ATA/ATAPI-7, added word 9 as Reserved for SATA.
Incorporated e03129r1 - STATUS Register Bit Redefinition. (Redefinition of Obsolete bit)
Incorporated e03117r1 and e03117r2 “Proposed Clarifications for Time-Limited Read/Write”
Revision 3e -
Removed e03129r1 - STATUS Register Bit Redefinition. (Redefinition of Obsolete bit)
Page iv
T13/1532D Volume 1 Revision 4b
(ATA/ATAPI-7 V1)
Secretariat
Information Technology Industry Council
Approved mm dd yy
Abstract
This standard specifies the AT Attachment Interface between host systems and storage devices. It provides
a common attachment interface for systems manufacturers, system integrators, software suppliers, and
suppliers of intelligent storage devices. It includes the Packet Command feature set implemented by devices
commonly known as ATAPI devices. It also includes the Serial Transport Protocols and Physical
Interconnect for AT Atachment devices commonly known as Serial ATA.
This standard maintains a high degree of compatibility with the AT Attachment Interface with Packet
Interface - 6 (ATA/ATAPI-6), INCITS 361-2002, and while providing additional functions, is not intended to
require changes to presently installed devices or existing software.
Page v
T13/1532D Volume 1 Revision 4b
ANSI
INCITS. -200x
Approval of an American National Standard requires verification by ANSI that the
American requirements for due process, consensus, and other criteria for approval have
National been met by the standards developer. Consensus is established when, in the
judgment of the ANSI Board of Standards Review, substantial agreement has been
Standard reached by directly and materially affected interests. Substantial agreement means
much more than a simple majority, but not necessarily unanimity. Consensus
requires that all views and objections be considered, and that effort be made
towards their resolution.
The American National Standards Institute does not develop standards and will in
no circumstances give interpretation on any American National Standard.
Moreover, no person shall have the right or authority to issue an interpretation of
an American National Standard in the name of the American National Standards
Institute. Requests for interpretations should be addressed to the secretariat or
sponsor whose name appears on the title page of this standard.
CAUTION: The developers of this standard have requested that holders of patents
that may be required for the implementation of the standard, disclose such patents
to the publisher. However, neither the developers nor the publisher have
undertaken a patent search in order to identify which, if any, patents may apply to
this standard. As of the date of publication of this standard, following calls for the
identification of patents that may be required for the implementation of the
standard, no such claims have been made. No further patent search is conducted
by the developer or the publisher in respect to any standard it processes. No
representation is made or implied that licenses are not required to avoid
infringement in the use of this standard.
Published by
American National Standards Institute
11 West 42nd Street, New York, New York 10036
Copyright © 2004 by Information Technology Industry Council (ITI)
All rights reserved.
Page vi
T13/1532D Volume 1 Revision 4b
Contents
Page
Points of Contact: ............................................................................................................................................................. ii
CONTENTS .....................................................................................................................................................VII
TABLES .......................................................................................................................................................... XV
FOREWORD................................................................................................................................................. XVII
INTRODUCTION.......................................................................................................................................... XVIII
1 Scope .......................................................................................................................................................................... 1
2 Normative references................................................................................................................................................ 3
2.1 Approved references........................................................................................................................................... 3
2.1.1 ANSI References ........................................................................................................................................ 3
2.1.2 ISO References ........................................................................................................................................... 3
2.2 References under development........................................................................................................................... 3
2.3 Other references.................................................................................................................................................. 3
Page vii
T13/1532D Volume 1 Revision 4b
Page viii
T13/1532D Volume 1 Revision 4b
Page ix
T13/1532D Volume 1 Revision 4b
Page x
T13/1532D Volume 1 Revision 4b
Page xi
T13/1532D Volume 1 Revision 4b
Page xii
T13/1532D Volume 1 Revision 4b
7 Parallel interface physical and electrical requirements (See Volume 2).......................................................... 360
Page xiii
T13/1532D Volume 1 Revision 4b
9 Parallel interface general operating requirements of the physical, data link, and transport layers (See
Volume 2) .......................................................................................................................................................................360
ANNEX D. DEVICE DETERMINATION OF CABLE TYPE (INFORMATIVE) (SEE VOLUME 2)............. 370
ANNEX E. SIGNAL INTEGRITY AND UDMA GUIDE (INFORMATIVE) (SEE VOLUME 2) .................... 370
ANNEX F. REGISTER SELECTION ADDRESS SUMMARY (INFORMATIVE) (SEE VOLUME 2)......... 370
ANNEX G. SAMPLE CODE FOR CRC AND SCRAMBLING (INFORMATIVE) (SEE VOLUME 3) ..... 370
ANNEX H. FIS TYPE FIELD VALUE SELECTION (INFORMATIVE) (SEE VOLUME 3)......................... 370
Page xiv
T13/1532D Volume 1 Revision 4b
Tables
Page
Table 1 - PACKET delivered command sets...................................................................................................................... 2
Table 2 - Byte order.......................................................................................................................................................... 13
Table 3 - Byte order.......................................................................................................................................................... 13
Table 4 - Security mode command actions....................................................................................................................... 27
Table 5 - 48-bit addresses ................................................................................................................................................. 38
Table 6 - 28-bit addresses ................................................................................................................................................. 39
Table 7 - Media Card type references............................................................................................................................... 43
Table 8 - Long Logical Sector Function........................................................................................................................... 49
Table 9 - I/O registers....................................................................................................................................................... 51
Table 10 - Extended error codes ....................................................................................................................................... 73
Table 11 - CFA TRANSLATE SECTOR Information..................................................................................................... 76
Table 12 - Device Configuration Overlay Features register values .................................................................................. 88
Table 13 - Device Configuration Identify data structure .................................................................................................. 93
Table 14 - Device Configuration Overlay data structure.................................................................................................. 98
Table 15 - Diagnostic codes ........................................................................................................................................... 107
Table 16 - IDENTIFY DEVICE data ............................................................................................................................. 116
Table 17 - Minor version number ................................................................................................................................... 128
Table 18 - IDENTIFY PACKET DEVICE data............................................................................................................. 141
Table 19 - Automatic Standby timer periods.................................................................................................................. 153
Table 20 - Log address definition ................................................................................................................................... 190
Table 21 - General Purpose Log Directory..................................................................................................................... 192
Table 22 - Extended Comprehensive SMART error log ................................................................................................ 193
Table 23 - Extended Error log data structure.................................................................................................................. 193
Table 24 - Command data structure................................................................................................................................ 194
Table 25 - Error data structure........................................................................................................................................ 195
Table 26 - State field values ........................................................................................................................................... 195
Table 27 - Extended Self-test log data structure............................................................................................................. 196
Table 28 - Extended Self-test log descriptor entry ......................................................................................................... 197
Table 29 - Read Stream Error Log.................................................................................................................................. 198
Table 30 - Error Log Entry ............................................................................................................................................. 198
Table 31 - Write Stream Error Log................................................................................................................................. 199
Table 32 - Streaming Performance Parameters Log ....................................................................................................... 200
Table 33 - Sector Time Array Entry (Linearly Interpolated).......................................................................................... 200
Table 34 - Position Array Entry (Linearly Interpolated) ................................................................................................ 200
Table 35 - Access Time Array Entry (Linearly Interpolated)......................................................................................... 200
Table 36 - Delayed LBA log ......................................................................................................................................... 201
Table 37 - Security password content............................................................................................................................. 235
Table 38 - SECURITY ERASE UNIT password ........................................................................................................... 240
Table 39 - SECURITY SET PASSWORD data content ................................................................................................ 244
Table 40 - Identifier and security level bit interaction.................................................................................................... 245
Table 41 - SET FEATURES register definitions............................................................................................................ 251
Table 42 - Transfer mode values .................................................................................................................................... 252
Table 43 - Advanced power management levels ............................................................................................................ 253
Table 44 - Automatic acoustic management levels ........................................................................................................ 254
Table 45 - SET MAX Features register values............................................................................................................... 256
Table 46 - SET MAX SET PASSWORD data content .................................................................................................. 260
Table 47 - SMART Feature register values .................................................................................................................... 274
Table 48 - SMART EXECUTE OFF-LINE IMMEDIATE LBA Low register values .................................................. 282
Table 49 - Device SMART data structure ...................................................................................................................... 287
Table 50 - Off-line data collection status byte values..................................................................................................... 287
Page xv
T13/1532D Volume 1 Revision 4b
Figures
Page
Figure 1 - ATA document relationships ..............................................................................................................................1
Figure 2 - State diagram convention .................................................................................................................................11
Figure 3 - Byte, word and DWORD relationships ...........................................................................................................14
Figure 4 - Power management state diagram ....................................................................................................................20
Figure 5 - Security mode state diagram.............................................................................................................................24
Figure 6 - SET MAX security state diagram.....................................................................................................................33
Figure 7 - Device Configuration Overlay state diagram ...................................................................................................41
Figure 8 - Long Logical and long Physical Sector Example .............................................................................................48
Figure 9 - Selective self-test test span example...............................................................................................................284
Figure 10 - Unaligned Write Example ............................................................................................................................369
Page xvi
T13/1532D Volume 1 Revision 4b
Foreword
(This foreword is not part of this standard.)
Requests for interpretation, suggestions for improvement and addenda, or defect reports are welcome.
They should be sent to the INCITS Secretariat, ITI, 1250 Eye Street, NW, Suite 200, Washington, DC
20005-3922.
This standard was processed and approved for submittal to ANSI by InterNational Committee for
Information Technology Standards (INCITS). Committee approval of this standard does not necessarily
imply that all committee members voted for approval. At the time it approved this standard, INCITS had the
following members:
Karen Higginbottom, Chair
David Michael, Vice-chair
Monica Vago, Secretary
Technical Committee T13 on ATA Interfaces, that reviewed this standard, had the following members and
additional participants:
Page xvii
T13/1532D Volume 1 Revision 4b
Introduction
This standard encompasses the following:
Volume 1
Clause 3 provides definitions, abbreviations, and conventions used within the entire
standard.
Volume 2
Clause 3 provides definitions, abbreviations, and conventions used within the entire
standard.
Clause 9 describes the general operating requirements of the physical, data link, and
transport layers.
Volume 3
Clause 3 provides definitions, abbreviations, and conventions used within the entire
standard.
Page xviii
T13/1532D Volume 1 Revision 4b
Clause 17 describes the device command layer protocol for the serial interface.
Clause 18 describes the host command layer protocol for the serial interface.
Page xix
T13/1532D Volume 1 Revision 4b
Information Technology ⎯
AT Attachment with Packet Interface - 7 − Volume 1 ⎯ Register
Delivered Command Set, Logical Register Set
(ATA/ATAPI-7 V1)
1 Scope
This standard specifies the AT Attachment Interface between host systems and storage devices. It provides
a common attachment interface for systems manufacturers, system integrators, software suppliers, and
suppliers of intelligent storage devices.
Volume 1 defines the register delivered commands used by devices implementing the standard. Volume 2
defines the connectors and cables for physical interconnection between host and storage device, the
electrical and logical characteristics of the interconnecting signals, and the protocols for the transporting
commands, data, and status over the interface for the parallel interface. Volume 3 defines the connectors
and cables for physical interconnection between host and storage device, the electrical and logical
characteristics of the interconnecting signals, and the protocols for the transporting commands, data, and
status over the interface for the serial interface. Figure 1 shows the relationship of these documents. For
devices implementing the PACKET command feature set, additional command layer standards are listed in
Table 1 and described in Clause 2.
Page 1
T13/1532D Volume 1 Revision 4b
This standard maintains compatibility with the AT Attachment with Packet Interface - 6 standard
(ATA/ATAPI-6), INCITS 361-2002, and while providing additional functions, is not intended to require
changes to presently installed devices or existing software.
Page 2
T13/1532D Volume 1 Revision 4b
2 Normative references
The following standards contain provisions that, through reference in the text, constitute provisions of this
standard. At the time of publication, the editions indicated were valid. All standards are subject to revision,
and parties to agreements based on this standard are encouraged to investigate the possibility of applying
the most recent editions of the standards listed below.
Copies of the following documents can be obtained from ANSI: Approved ANSI standards, approved and
draft international and regional standards (ISO, IEC, CEN/CENELEC, ITUT), and approved and draft foreign
standards (including BSI, JIS, and DIN). For further information, contact ANSI Customer Service
Department at 212-642-4900 (phone), 212-302-1286 (fax), or via the World Wide Web at
http://www.ansi.org.
To obtain copies of these documents, contact Global Engineering or INCITS. Additional information may be
available at http://www.t10.org and http://www.t13.org.
For more information on the current status of the T10 documents, contact INCITS. To obtain copies of T10 or
SFF documents, contact Global Engineering.
Page 3
T13/1532D Volume 1 Revision 4b
For the PC Card Standard published by the Personal Computer Memory Card International Association,
contact PCMCIA at 408-433-2273 or http://www.pc-card.org.
For the CompactFlash™ Association Specification published by the CompactFlash™ Association, contact the
CompactFlash™ Association at http://www.compactflash.org.
For QIC specifications published by Quarter-Inch Cartridge Drive Standards, Inc., contact them at 805 963-
3853 or http://www.qic.org.
EIA-364-09 TP-09C - Durability test procedure for electrical connectors and contacts
EIA-364-13 Mating and unmating forces test procedures for electrical connectors
EIA-364-17 TP-17B - Temperature life with or without electrical load test procedure for electrical connectors
and sockets
EIA-364-18 Visual and dimensional inspection for electrical connectors
EIA-364-20 TP-20B - Withstanding voltage test procedure for electrical connectors, sockets, and coaxial
contacts
EIA-364-21 Insulation resistance test procedure for electrical connectors, sockets, and coaxial contacts
EIA-364-23 Low level contact resistance test procedure for electrical connectors and sockets
EIA-364-27 Mechanical pulse (specified pulse) for electrical connectors
EIA-364-28 TP-28D Vibration test procedure for electrical connectors and sockets
EIA-364-31 Humidity test procedure for electrical connectors and sockets
EIA-364-32 Thermal shock (temperature cycling) test procedure for electrical conectors and sockets
EIA-364-38 TP-38B - Cable pull-out test procedure for electrical connectors
EIA-364-41 TP-41C - Cable flexing test procedure for electrical connectors
EIA-364-65 TP-65A Mixed flowing gas
Page 4
T13/1532D Volume 1 Revision 4b
3.1.1 ASCII Character: Designates 8-bit value that is encoded using the ASCII Character set.
3.1.2 acoustics: Measurement of airborne noise emitted by information technology and
telecommunications equipment [ISO 7779:1999(E)]
3.1.3 ATA (AT Attachment): ATA defines the physical, electrical, transport, and command protocols for
the internal attachment of storage devices to host systems.
3.1.4 ATA-1 device: A device that complied with ANSI X3.221-1994, the AT Attachment Interface for
Disk Drives. ANSI X3.221-1994 has been withdrawn.
3.1.5 ATA-2 device: A device that complied with ANSI X3.279-1996, the AT Attachment Interface with
Extensions. ANSI X3.279-1996 has been withdrawn.
3.1.6 ATA-3 device: A device that complies with ANSI X3.298-1997, the AT Attachment-3 Interface.
ANSI X3.298-1997 has been withdrawn.
3.1.7 ATA/ATAPI-4 device: A device that complies with ANSI INCITS 317-1998, AT Attachment Interface
with Packet Interface Extensions-4.
3.1.8 ATA/ATAPI-5 device: A device that complies with ANSI INCITS 340-2000, the AT Attachment with
Packet Interface-5.
3.1.9 ATA/ATAPI-6 device: A device that complies with ANSI INCITS 361-2002, the AT Attachment with
Packet Interface-6.
3.1.10 ATA/ATAPI-7 device: A device that complies with this standard.
3.1.11 ATAPI (AT Attachment Packet Interface) device: A device implementing the Packet Command
feature set.
3.1.12 AU (Allocation Unit): The minimum number of logically contiguous sectors on the media as used in
the Streaming feature set. An Allocation Unit may be accessed with one or more requests.
3.1.13 AV (Audio-Video): Audio-Video applications use data that is related to video images and/or audio.
The distinguishing characteristic of this type of data is that accuracy is of lower priority than timely
transfer of the data.
3.1.14 backchannel: When transmitting a FIS, the backchannel is the receive channel.
3.1.15 BER (bit error rate): The statistical probability of a transmitted encoded bit being erroneously
received in a communication system.
3.1.16 bus release: For devices implementing overlap, the term bus release is the act of clearing both
DRQ and BSY to zero before the action requested by the command is completed. This allows the
host to select the other device or deliver another queued command.
3.1.17 byte count: The value placed in the Byte Count register by the device to indicate the number of
bytes to be transferred during this DRQ assertion when executing a PACKET PIO data transfer
command.
3.1.18 byte count limit: The value placed in the Byte Count register by the host as input to a PACKET
PIO data transfer command to specify the maximum byte count that may be transferred during a
single DRQ assertion.
3.1.19 CFA (CompactFlash™ Association): The CompactFlash™ Association which created the
specification for compact flash memory that uses the ATA interface.
3.1.20 check condition: For devices implementing the PACKET Command feature set, this indicates an
error or exception condition has occurred.
3.1.21 CHS (cylinder-head-sector): An obsolete method of addressing the data on the device by cylinder
number, head number, and sector number.
Page 5
T13/1532D Volume 1 Revision 4b
3.1.22 code violation: In a serial interface implementation, a code violation is an error that occurs in the
decoding of an encoded character. (See Volume 3, Clause 15)
3.1.23 command aborted: Command completion with ABRT set to one in the Error register and ERR set
to one in the Status register.
3.1.24 command acceptance: A command is considered accepted whenever the currently selected
device has the BSY bit cleared to zero in the Status register and the host writes to the Command
register. An exception exists for the DEVICE RESET command (See Clause 6) In a serial
implementation, command acceptance is a positive acknowledgment of a host to device register
FIS.
3.1.25 Command Block registers: Interface registers used for delivering commands to the device or
posting status from the device. In a serial implementation, the command block registers are FIS
payload fields.
3.1.26 command completion: Command completion is the completion by the device of the action
requested by the command or the termination of the command with an error, the placing of the
appropriate error bits in the Error register, the placing of the appropriate status bits in the Status
register, the clearing of both BSY and DRQ to zero, and Interrupt Pending.
3.1.27 command packet: A data structure transmitted to the device during the execution of a PACKET
command that includes the command and command parameters.
3.1.28 command released: When a device supports overlap or queuing, a command is considered
released when a bus release occurs before command completion.
3.1.29 Control Block registers: In a parallel implementation, interface registers used for device control
and to post alternate status. In a serial interface implementation, the logical field of a FIS
corresponding to the Device Register bits of a parallel implementation.
3.1.30 control character: In a serial interface implementation, an encoded character that represents a
non-data byte (See Volume 3, Clause 15)
3.1.31 CRC (Cyclical Redundancy Check): A means used to check the validity of certain data transfers.
3.1.32 Cylinder High register: The name used for the LBA High register in previous ATA/ATAPI
standards.
3.1.33 Cylinder Low register: The name used for the LBA Mid register in previous ATA/ATAPI standards.
3.1.34 data character: In a serial interface implementation, an encoded character that represents a data
byte. (See Volume 3 Clause 15)
3.1.35 data-in: The protocol that moves data from the device to the host. Such transfers are initiated by
READ commands.
3.1.36 data-out: The protocol that moves data from the host to the device. Such transfers are initiated by
WRITE commands.
3.1.37 Delayed LBA: Any sector for which the performance specified by the Streaming Performance
Parameters log is not valid.
3.1.38 device: A storage peripheral. Traditionally, a device on the interface has been a hard disk drive,
but any form of storage device may be placed on the interface provided the device adheres to this
standard.
3.1.39 device selection: In a parallel implementation,a device is selected when the DEV bit of the Device
register is equal to the device number assigned to the device by means of a Device 0/Device 1
jumper or switch, or use of the CSEL signal. In a serial implementation the device ignores the DEV
bit, the host adapter may use this bit to emulate device selection.
3.1.40 disparity: The difference between the number of ones and the number of zeros in an encoded
character. (See Volume 3, Clause 15)
3.1.41 DMA (direct memory access) data transfer: A means of data transfer between device and host
memory without host processor intervention.
3.1.42 don’t care: A term to indicate that a value is irrelevant for the particular function described.
3.1.43 driver: The active circuit inside a device or host that sources or sinks current to assert or negate a
signal on the bus.
Page 6
T13/1532D Volume 1 Revision 4b
3.1.44 DRQ data block: A unit of data words transferred during a single assertion of DRQ when using PIO
data transfer.
3.1.45 elasticity buffer: In a serial interface implementation, a portion of the receiver where character
slipping and/or character alignment is performed.
3.1.46 encoded character: In a serial interface implementation, the output of the 8b/10b encoder. (See
Volume 3, Clause 15)
3.1.47 First party DMA access: A method by which a device accesses host memory. First party DMA
differs from DMA in that the device sends a DMA Setup FIS to select host memory regions; whereas
for DMA the host configures the DMA controller.
3.1.48 FIS (Frame Information Structure): A data structure and is the payload of a frame and does not
include the SOF primitive, CRC, and EOF primitive.
3.1.49 frame: A unit of information exchanged between the host adapter and a device. A frame consists of
an SOF primitive, a Frame Information Structure, a CRC calculated over the contents of the FIS,
and an EOF primitive.
3.1.50 FUA (Forced Unit Access): Forced Unit Access requires that user data be transferred to or from
the device media before command completion even if caching is enabled.
3.1.51 Gen1 DWORD Time: The time it takes to transmit a 40 bit encoded value at 1.5 Gb/Sec.
3.1.52 host: The computer system executing the software BIOS and/or operating system device driver
controlling the device and the adapter hardware for the ATA interface to the device.
3.1.53 host adapter: The implementation of the host transport, link, and physical layers.
3.1.54 Interrupt Pending: In a parallel implementation, an internal state of a device. In this state, the
device asserts INTRQ if nIEN is cleared to zero and the device is selected (See Clause 9). In a
serial implementation, the Interrupt Pending state is an internal state of the host adapter. This state
is entered by reception of a FIS with the I field set to one (See Volume 3, Clause 16)
3.1.55 LBA (logical block address): The addressing of data on the device by the linear mapping of
sectors.
3.1.56 LFSR (Linear Feedback Shift Register): (See Volume 3 Clause 15)
3.1.57 link: The link layer manages the phy layer to achieve the delivery and reception of frames. (See
Volume 3, Clause 15)
3.1.58 logical sector: A uniquely addressable set of 256 words (512 bytes).
3.1.59 native max address: The highest address a device accepts in the factory default condition, that is,
the highest address that is accepted by the SET MAX ADDRESS command.
3.1.60 overlap: A protocol that allows devices that require extended command time to perform a bus
release so that commands may be executed by the other device (if present) on the bus.
3.1.61 packet delivered command: A command that is delivered to the device using the PACKET
command via a command packet that contains the command and the command parameters. See
also register delivered command.
3.1.62 phy: Physical layer electronics, See Volume 3, Clause 14
3.1.63 physical sector: A group of contiguous logical sectors that are read from or written to the device
media in a single operation.
3.1.64 PIO (programmed input/output) data transfer: PIO data transfers are performed by the host
processor utilizing accesses to the Data register.
3.1.65 primitive: In a serial interface implementation, a single DWORD of information that consists of a
control character in byte 0 followed by three additional data characters in byte 1 through 3.
3.1.66 queued: Command queuing allows the host to issue concurrent commands to the same device.
Only commands included in the Overlapped feature set may be queued. In this standard, the queue
contains all commands for which command acceptance has occurred but command completion has
not occurred.
3.1.67 read command: A command that causes the device to transfer data from the device to the host
(e.g., READ SECTOR(S), READ DMA, etc.).
3.1.68 register: A register may be a physical hardware register or a logical field.
Page 7
T13/1532D Volume 1 Revision 4b
3.1.69 register delivered command: A command that is delivered to the device by placing the command
and all of the parameters for the command in the device Command Block registers. See also
packet delivered command.
3.1.70 register transfers: The host reading and writing any device register except the Data register.
Register transfers are 8 bits wide.
3.1.71 released: In a parallel interface implementation, indicates that a signal is not being driven. For
drivers capable of assuming a high-impedance state, this means that the driver is in the high
impedance state. For open-collector drivers, the driver is not asserted.
3.1.72 sector: A uniquely addressable set of 256 words (512 bytes).
3.1.73 Sector Number register:The LBA Low register in previous ATA/ATAPI standards.
3.1.74 Shadow Command Block: In a serial interface implementation, a set of virtual fields in the host
adapter that map the Command Block registers defined at the command layer to the fields within the
FIS content.
3.1.75 Shadow Control Block: In a serial interface implementation, a set of virtual fields in the host
adapter that map the Control Block registers defined at the command layer to the fields within the
FIS content.
3.1.76 signature: A unique set of values placed in the Command Block registers by the device to allow the
host to distinguish devices implementing the PACKET Command feature set from those devices not
implementing the PACKET Command feature set.
3.1.77 SMART (Self-Monitoring, Analysis, and Reporting Technology): for prediction of device degradation
and/or faults.
3.1.78 transport: The transport layer manages the lower layers (link and phy) as well as constructing and
parsing FIS’s. See Volume 3, Clause 13
3.1.78 Ultra DMA burst: An Ultra DMA burst is defined as the period from an assertion of DMACK- to the
subsequent negation of DMACK- when an Ultra DMA transfer mode has been enabled by the host.
3.1.79 unaligned write: A write command that does not start at the first logical sector of a physical sector
or does not end at the last logical sector of a physical sector.
3.1.80 unit attention condition: A state that a device implementing the PACKET Command feature set
maintains while the device has asynchronous status information to report to the host.
3.1.81 unrecoverable error: When the device sets either the ERR bit or the DF bit to one in the Status
register at command completion.
3.1.82 VS (vendor specific): Bits, bytes, fields, and code values that are reserved for vendor specific
purposes. These bits, bytes, fields, and code values are not described in this standard, and may
vary among vendors. This term is also applied to levels of functionality whose definition is left to the
vendor.
NOTE − Industry practice could result in conversion of a Vendor Specific bit, byte, field, or code
value into a defined standard value in a future standard.
3.1.83 write command: A command that causes the device to transfer data from the host to the device
(e.g., WRITE SECTOR(S), WRITE DMA, etc.).
3.1.84 WWN (world wide name): A 64-bit worldwide unique name based upon a company’s IEEE
identifier. (See IDENTIFY DEVICE Words (108:111) in Volume 1 Clause 6).
3.2 Conventions
Lowercase is used for words having the normal English meaning. Certain words and terms used in this
standard have a specific meaning beyond the normal English meaning. These words and terms are defined
either in Clause 3 or in the text where they first appear.
The names of abbreviations, commands, fields, and acronyms used as signal names are in all uppercase
(e.g., IDENTIFY DEVICE). Fields containing only one bit are usually referred to as the "name" bit instead of
the "name" field. (See 3.2.6 for the naming convention used for naming bits.)
Page 8
T13/1532D Volume 1 Revision 4b
Names of device registers begin with a capital letter (e.g., LBA Mid register).
The expression “word n” or “bit n” shall be interpreted as indicating the content of word n or bit n.
3.2.1 Precedence
If there is a conflict between text, figures, and tables, the precedence shall be tables, figures, then text.
3.2.2 Lists
a)
b)
c)
1)
2)
3)
3.2.3 Keywords
Several keywords are used to differentiate between different levels of requirements and optionality.
3.2.3.1 expected: A keyword used to describe the behavior of the hardware or software in the design
models assumed by this standard. Other hardware and software design models may also be
implemented.
3.2.3.3 may: A keyword that indicates flexibility of choice with no implied preference.
3.2.3.4 obsolete: A keyword indicating that the designated bits, bytes, words, fields, and code values that
may have been defined in previous standards are not defined in this standard and shall not be
reclaimed for other uses in future standards. However, some degree of functionality may be
required for items designated as “obsolete” to provide for backward compatibility.
Obsolete commands should not be used by the host. Commands defined as obsolete may be
command aborted by devices conforming to this standard. However, if a device does not
command abort an obsolete command, the minimum that is required by the device in response to
the command is command completion.
3.2.3.5 optional: A keyword that describes features that are not required by this standard. However, if any
optional feature defined by the standard is implemented, the feature shall be implemented in the
way defined by the standard.
3.2.3.6 prohibited: A keyword indicating that an item shall not be implemented by an implementation.
3.2.3.7 reserved: A keyword indicating reserved bits, bytes, words, fields, and code values that are set aside
for future standardization. Their use and interpretation may be specified by future extensions to
this or other standards. A reserved bit, byte, word, or field shall be cleared to zero, or in
accordance with a future extension to this standard. The recipient shall not check reserved bits,
bytes, words, or fields. Receipt of reserved code values in defined fields shall be treated as a
command parameter error and reported by returning command aborted.
Page 9
T13/1532D Volume 1 Revision 4b
3.2.3.8 retired: A keyword indicating that the designated bits, bytes, words, fields, and code values that had
been defined in previous standards are not defined in this standard and may be reclaimed for other
uses in future standards. If retired bits, bytes, words, fields, or code values are used before they
are reclaimed, they shall have the meaning or functionality as described in previous standards.
3.2.3.9 shall: A keyword indicating a mandatory requirement. Designers are required to implement all such
mandatory requirements to ensure interoperability with other products that conform to this
standard.
3.2.3.10 should: A keyword indicating flexibility of choice with a strongly preferred alternative. Equivalent to
the phrase “it is recommended”.
3.2.4 Numbering
Numbers that are not immediately followed by a lowercase "b" or "h" are decimal values. Numbers that are
immediately followed by a lowercase "b" (e.g., 01b) are binary values. Numbers that are immediately
followed by a lowercase "h" (e.g., 3Ah) are hexadecimal values.
All signals are either high active or low active signals. A dash character ( - ) at the end of a signal name
indicates the signal is a low active signal. A low active signal is true when the signal is below ViL, and is false
when the signal is above ViH. No dash at the end of a signal name indicates the signal is a high active
signal. A high active signal is true when the signal is above ViH, and is false when the signal is below ViL.
Asserted means that the signal is driven by an active circuit to the true state. Negated means that the signal
is driven by an active circuit to the false state. Released means that the signal is not actively driven to any
state (See Clause 7). Some signals have bias circuitry that pull the signal to either a true state or false state
when no signal driver is actively asserting or negating the signal.
Control signals that may be used for more than one mutually exclusive functions are identified with their
function names separated by a colon (e.g., DIOW-:STOP).
Bit names are shown in all uppercase letters except where a lowercase n precedes a bit name. If there is no
preceding n, then when BIT is set to one the meaning of the bit is true, and when BIT is cleared to zero the
meaning of the bit is false. If there is a preceding n, then when nBIT is cleared to zero the meaning of the bit
is true and when nBIT is set to one the meaning of the bit is false.
True False
TEST
Bit setting=1
Bit setting=0
True False
nTEST
Bit setting=0
Bit setting=1
Page 10
T13/1532D Volume 1 Revision 4b
Transition condition
Transition label
Transition action
State re-entry
BSY DRQ REL SERV C/D I/O INTRQ DMARQ PDIAG- DASP-
v v v v v v V V V V
Each state is identified by a state designator and a state name. The state designator is unique among all
states in all state diagrams in this document. The state designator consists of a set of letters that are
capitalized in the title of the figure containing the state diagram followed by a unique number. The state
name is a brief description of the primary action taken during the state, and the same state name may
appear in other state diagrams. If the same primary function occurs in other states in the same state
diagram, they are designated with a unique letter at the end of the name. Additional actions may be taken
while in a state and these actions are described in the state description text.
In device command protocol state diagrams, the state of bits and signals that change state during the
execution of this state diagram are shown under the state designator:state_name, and a table is included
that shows the state of all bits and signals throughout the state diagram as follows:
Each transition is identified by a transition label and a transition condition. The transition label consists of the
state designator of the state from which the transition is being made followed by the state designator of the
state to which the transition is being made. In some cases, the transition to enter or exit a state diagram may
come from or go to a number of state diagrams, depending on the command being executed. In this case,
the state designator is labeled xx. The transition condition is a brief description of the event or condition that
causes the transition to occur and may include a transition action, indicated in italics, that is taken when the
transition occurs. This action is described fully in the transition description text.
Upon entry to a state, all actions to be executed in that state are executed. If a state is re-entered from itself,
all actions to be executed in the state are executed again.
Page 11
T13/1532D Volume 1 Revision 4b
Certain symbols are used in the timing diagrams. These symbols and their respective definitions are listed
below.
or - signal transition (asserted or negated)
- data valid
- released
All signals are shown with the asserted condition facing to the top of the page. The negated condition is
shown towards the bottom of the page relative to the asserted condition.
The interface uses a mixture of negative and positive signals for control and data. The terms asserted and
negated are used for consistency and are independent of electrical characteristics.
In all timing diagrams, the lower line indicates negated, and the upper line indicates asserted. The following
illustrates the representation of a signal named TEST going from negated to asserted and back to negated,
based on the polarity of the signal.
Assert Negate
TEST
> V iH
< V iL
Assert Negate
TEST-
< V iL
> V iH
Page 12
T13/1532D Volume 1 Revision 4b
Data is transferred in blocks using either PIO or DMA protocols. PIO data transfers occur when the BSY bit is
cleared to zero and the DRQ bit is set to one. These transfers are usually 16-bit but CFA devices may
implement 8-bit PIO transfers. Data is transferred in blocks of one or more bytes known as a DRQ block.
DMA data transfers occur when the host asserts DMACK- in response to the device asserting DMARQ.
DMA transfers are always 16-bit. Each assertion of DMACK- by the host defines a DMA data burst. A DMA
data burst is two or more bytes.
Assuming a DRQ block or a DMA burst of data contains "n" bytes of information, the bytes are labeled
Byte(0) through Byte(n-1), where Byte(0) is first byte of the block, and Byte(n-1) is the last byte of the block.
Table 2 shows the order the bytes shall be presented in when such a block of data is transferred on the
interface using 16-bit PIO and DMA transfers. Table 3 shows the order the bytes shall be presented in when
such a block or burst of data is transferred on the interface using 8-bit PIO.
NOTE − The above description is for data on the interface. Host systems and/or host adapters may cause
the order of data as seen in the memory of the host to be different.
Some parameters are defined as a string of ASCII characters. ASCII data fields shall contain only code
values 20h through 7Eh. For the string “Copyright”, the character “C” is the first byte, the character “o” is the
second byte, etc. When such fields are transferred, the order of transmission is:
Page 13
T13/1532D Volume 1 Revision 4b
Figure 3 illustrates the relationship between bytes, words and DWORDs for serial interface implementations.
7 6 5 4 3 2 1 0
Byte
1 1 1 1 1 1
5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
Word
Byte 1 Byte 0
3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
DWO
RD
Word 1 Word 0
Page 14
T13/1532D Volume 1 Revision 4b
Devices that implement the PACKET Command feature set use packet delivered commands as well as
some register delivered commands.
All register delivered commands and the PACKET command are described in Clause 6.
NOTE − The content of command packets delivered during execution of the PACKET command are not
described in this standard. See Clause 1 for standards and specifications that define command packet
content.
In standards ATA/ATAPI-5 and earlier, a CHS translation was defined. This translation is obsolete but if
implemented it shall be implemented as defined in ATA/ATAPI-5.
1) Words (61:60) shall contain the value one greater than the total number of user-addressable
sectors in 28-bit addressing and shall not exceed 0FFFFFFFh. The content of words (61:60)
shall be greater than or equal to one and less than or equal to 268,435,455.
2) Words (103:100) shall contain the value one greater than the total number of user-addressable
sectors in 48-bit addressing and shall not exceed 0000FFFFFFFFFFFFh.
3) The contents of words (61:60) and (103:100) may be affected by the host issuing a SET MAX
ADDRESS or SET MAX ADDRESS EXT command.
4) The contents of words (61:60) and (103:100) shall not be used to determine if 48-bit addressing
is supported. IDENTIFY DEVICE bit 10 word 83 indicates support for 48-bit addressing.
Devices shall set IDNF to one or ABRT to one in the Error register and ERR to one in the Status register in
response to any command where the requested LBA number is greater than or equal to the content of words
(61:60) for a 28-bit addressing command or greater or equal to the contents of words (103:100) for a 48-bit
addressing command.
4.3.1 General feature set for devices not implementing the PACKET command feature set
The following General feature set commands are mandatory for all devices that are capable of both reading
and writing their media and do not implement the PACKET command feature set:
Page 15
T13/1532D Volume 1 Revision 4b
− FLUSH CACHE
− IDENTIFY DEVICE
− READ DMA
− READ MULTIPLE
− READ SECTOR(S)
− READ VERIFY SECTOR(S)
− SET FEATURES
− SET MULTIPLE MODE
− WRITE DMA
− WRITE MULTIPLE
− WRITE SECTOR(S)
The following General feature set commands are mandatory for all devices that are capable of only reading
their media and do not implement the PACKET command feature set:
The following General feature set commands are optional for devices not implementing the PACKET
command feature set:
− DOWNLOAD MICROCODE
− NOP
− READ BUFFER
− WRITE BUFFER
The following General feature set command is prohibited for use by devices not implementing the PACKET
command feature set:
− DEVICE RESET
The following resets are mandatory for devices not implementing the PACKET command feature set:
− Power-on reset: Executed at power-on, the device may execute a series of diagnostics and shall
set default values (See Clauses 11, 17).
− Hardware reset: Executed in response to the assertion of the RESET- signal the device may
execute a series of diagnostics and shall set default values (See Clauses 11, 17).
− Software reset: Executed in response to the setting of the SRST bit in the Device Control
register the device resets the interface circuitry (See Clauses 11, 17).
4.3.2 General feature set for devices implementing the PACKET command feature set
The following General feature set commands are mandatory for all devices implementing the PACKET
command feature set:
Page 16
T13/1532D Volume 1 Revision 4b
− SET FEATURES
The following General feature set commands are optional for all devices implementing the PACKET
command feature set:
− FLUSH CACHE
The following General command set commands are prohibited for use by devices implementing the PACKET
command feature set. These functions are supported by Packet commands.
− DOWNLOAD MICROCODE
− READ BUFFER
− READ DMA
− READ MULTIPLE
− READ VERIFY
− SET MULTIPLE MODE
− WRITE BUFFER
− WRITE DMA
− WRITE MULTIPLE
− WRITE SECTOR(S)
The following resets are mandatory for devices implementing the PACKET command feature set:
− Power-on reset: Executed at power-on, the device may execute a series of diagnostics and shall
set default values (See Clause 11).
− Hardware reset: Executed in response to the assertion of the RESET- signal the device may
execute a series of and shall set default values (See Clause 11).
− Software reset: Executed in response to the setting of the SRST bit in the Device Control
register the device resets the interface circuitry (See Clause 11).
− DEVICE RESET: Executed in response to the DEVICE RESET command the device resets the
interface circuitry (See 6.11).
− PACKET
− DEVICE RESET
− IDENTIFY PACKET DEVICE
When executing a power-on, hardware, DEVICE RESET, or software reset, a device implementing the
PACKET Command feature set shall perform the same reset protocol as other devices, but leaves the
registers with a signature unique to PACKET Command feature set devices (See 5.15).
In addition, the IDENTIFY DEVICE command shall not be executed but shall be command aborted and shall
return a signature unique to devices implementing the PACKET Command feature set. The IDENTIFY
PACKET DEVICE command is used by the host to get identifying parameter information for a device
implementing the PACKET Command feature set (See 6.17.5.2 and 6.18).
Page 17
T13/1532D Volume 1 Revision 4b
Devices implementing the PACKET Command feature set respond to power-on, hardware, and software
resets as any other device except for the resulting contents in the device registers as described above.
However, software reset should not be issued while a PACKET command is in progress. PACKET
commands used by some devices do not terminate if a software reset is issued.
The DEVICE RESET command is provided to allow the device to be reset without affecting the other device
on the bus.
The PACKET command allows a host to send a command to the device via a command packet. The
command packet contains the command and command parameters that the device is to execute (See
Clause 1).
Upon receipt of the PACKET command the device sets BSY to one and prepares to receive the command
packet. When ready, the device sets DRQ to one and clears BSY to zero. The command packet is then
transferred to the device by PIO transfer. When the last word of the command packet is transferred, the
device sets BSY to one, and clears DRQ to zero (See 6.25 and Clause 10).
The Power Management feature set permits a host 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 enable a device to implement low power consumption modes. A register delivered command
device that implements the Power Management feature set shall implement the following minimum set of
functions: See also 4.6 and 4.12.
− A Standby timer
− CHECK POWER MODE command
− IDLE command
− IDLE IMMEDIATE command
− SLEEP command
− STANDBY command
− STANDBY IMMEDIATE command
A device that implements the PACKET Command feature set and implements the Power Management
feature set shall implement the following minimum set of functions:
The CHECK POWER MODE command allows a host to determine if a device is currently in, going to or
leaving Standby or Idle mode. The CHECK POWER MODE command shall not change the power mode or
affect the operation of the Standby timer.
Page 18
T13/1532D Volume 1 Revision 4b
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. The STANDBY command also sets the Standby timer count and enables or
disables the Standby timer.
The SLEEP command moves a device to Sleep mode. The device's interface becomes inactive at command
completion of the SLEEP command. A hardware or software reset or DEVICE RESET command is required
to move a device out of Sleep mode.
The Standby timer provides a method for the device to automatically enter Standby mode from either Active
or Idle mode following a host programmed period of inactivity. If the Standby timer is enabled and if the
device is in the Active or Idle mode, the device waits for the specified time period and if no command is
received, the device automatically enters the Standby mode.
If the Standby timer is disabled, the device may automatically enter Standby mode.
Page 19
T13/1532D Volume 1 Revision 4b
PM0: Active
SLEEP command
PM0:PM3
PM1: Idle
STANDBY or STANDBY
IMMEDIATE command, IDLE or IDLE reset
PM2: Standby
vendor specific IMMEDIATE PM1:PM1
implementation, or command, or
Power-up with Standby timer expiration
Power-up in vendor specific
Standby PM0:PM2 implementation
implemented PM0:PM1
Media access required
and enabled
PM2:PM0
Media access required
reset PM1:PM0
PM2:PM2 STANDBY or STANDBY
IMMEDIATE command, vendor
specific implementation, or
Standby timer expiration
PM1:PM2
IDLE or IDLE IMMEDIATE
command
PM2:PM1
PM3: Sleep
SLEEP command SLEEP command
PM2:PM3 PM1:PM3
reset
PM3:PM2
PM0: Active: This mode shall be entered when the device receives a media access command while in
Idle or Standby mode. This mode shall also be entered when the device is powered-up with the Power-Up In
Standby feature not implemented or not enabled (See 4.12).
In Active mode the device is capable of responding to commands. During the execution of a media access
command a device shall be in Active mode. Power consumption is greatest in this mode.
Transition PM0:PM0: When hardware reset, software reset, or DEVICE RESET command is received, the
device shall make a transition to the PM0: Active mode when the reset protocol is completed.
Transition PM0:PM1: When an IDLE or IDLE IMMEDIATE command is received or when a vendor specific
implementation determines a transition is required, then the device shall make a transition to the PM1:Idle
mode.
Page 20
T13/1532D Volume 1 Revision 4b
Transition PM0:PM2: When a STANDBY or STANDBY IMMEDIATE command is received, the Standby
timer expires, or a vendor specific implementation determines a transition is required, then the device shall
make a transition to the PM2:Standby mode.
Transition PM0:PM3: When a SLEEP command is received, the device shall make a transition to the
PM3:Sleep mode.
PM1: Idle: This mode shall be entered when the device receives an IDLE or IDLE IMMEDIATE command.
Some devices may perform vendor specific internal power management and make a transition to the Idle
mode without host intervention.
In Idle mode the device is capable of responding to commands but the device may take longer to complete
commands than when in the Active mode. Power consumption may be reduced from that of Active mode.
Transition PM1:PM0: When a media access is required, the device shall make a transition to the
PM0:Active mode.
Transition PM1:PM1: When hardware reset, software reset, or DEVICE RESET command is received, the
device shall make a transition to the PM1:Idle mode when the reset protocol is completed.
Transition PM1:PM2: When a STANDBY or STANDBY IMMEDIATE command is received, the Standby
timer expires, or a vendor specific implementation determines a transition is required, then the device shall
make a transition to the PM2:Standby mode.
Transition PM1:PM3: When a SLEEP command is received, the device shall make a transition to the
PM3:Sleep mode.
PM2: Standby: This mode shall be entered when the device receives a STANDBY command, a
STANDBY IMMEDIATE command, or the Standby timer expires. Some devices may perform vendor specific
internal power management and make a transition to the Standby mode without host intervention. This mode
shall also be entered when the device is powered-up with the Power-Up In Standby feature implemented and
enabled.
In Standby mode the device is capable of responding to commands but the device may take longer to
complete commands than in the Idle mode. The time to respond could be as long as 30 s. Power
consumption may be reduced from that of Idle mode.
Transition PM2:PM0: When a media access is required, the device shall make a transition to the
PM0:Active mode.
Transition PM2:PM1: When an IDLE or IDLE IMMEDIATE command is received, or a vendor specific
implementation determines a transition is required, then the device shall make a transition to the PM1:Idle
mode.
Transition PM2:PM2: When hardware reset, software reset, or DEVICE RESET command is received, the
device shall make a transition to the PM2:Standby mode when the reset protocol is completed.
Transition PM2:PM3: When a SLEEP command is received, the device shall make a transition to the
PM3:Sleep mode.
PM3: Sleep: This mode shall be entered when the device receives a SLEEP command.
In Sleep mode the device requires a hardware or software reset or a DEVICE RESET command to be
activated. The time to respond could be as long as 30 s. Sleep mode provides the lowest power consumption
of any mode.
In Sleep mode, the device's interface is not active. The content of the Status register is invalid in this mode.
Page 21
T13/1532D Volume 1 Revision 4b
Transition PM3:PM2:, When hardware reset, software reset, or DEVICE RESET command is received the
device shall make a transition to the PM2:Standby mode.
The Advanced Power Management feature set uses the following functions:
Advanced Power Management is independent of the Standby timer setting. If both Advanced Power
Management and the Standby timer are set, the device will go to the Standby state when the timer times out
or the device’s Advanced Power Management algorithm indicates that the Standby state should be entered.
The IDENTIFY DEVICE command indicates that Advanced Power Management is supported, whether
Advanced Power Management is enabled, and the current advanced power management level if Advanced
Power Management is enabled.
A Master password may be set in addition to the User password. The purpose of the Master password is to
allow an administrator to establish a password that is kept secret from the user, and which may be used to
unlock the device if the User password is lost. Setting the Master password does not enable the password
system.
The security level is set to High or Maximum with the SECURITY SET PASSWORD command. The security
level determines device behavior when the Master password is used to unlock the device. When the security
level is set to High the device requires the SECURITY UNLOCK command and the Master password to
unlock. When the security level is set to Maximum the device requires a SECURITY ERASE PREPARE
command and a SECURITY ERASE UNIT command with the masterpassword to unlock. Execution of the
SECURITY ERASE UNIT command erases all user data on the device.
The SECURITY FREEZE LOCK command prevents changes to passwords until a following power cycle.
The purpose of the SECURITY FREEZE LOCK command is to prevent password setting attacks on the
security system.
A device that implements the Security Mode feature set shall implement the following minimum set of
commands:
Page 22
T13/1532D Volume 1 Revision 4b
Support of the Security Mode feature set is indicated in IDENTIFY DEVICE data word 82 and data word 128.
When the device is shipped by the manufacturer, the state of the Security Mode feature shall be disabled.
The initial Master password value is not defined by this standard.
If the Master Password Revision Code feature is supported, the Master Password Revision Code shall be set
to FFFEh by the manufacturer.
If the User password sent to the device with the SECURITY UNLOCK command does not match the user
password previously set with the SECURITY SET PASSWORD command, the device shall not allow the
user to access data.
If the Security Level was set to High during the last SECURITY SET PASSWORD command, the device
shall unlock if the Master password is received.
If the Security Level was set to Maximum during the last SECURITY SET PASSWORD command, the device
shall not unlock if the Master password is received. The SECURITY ERASE UNIT command shall erase all
user data and unlock the device if the Master password matches the last Master password previously set
with the SECURITY SET PASSWORD command.
The device shall have an attempt limit counter. The purpose of this counter is to defeat repeated trial attacks.
After each failed User or Master password SECURITY UNLOCK command, the counter is decremented.
When the counter value reaches zero the EXPIRE bit (bit 4) of IDENTIFY DEVICE data word 128 is set to
one, and the SECURITY UNLOCK and SECURITY UNIT ERASE commands are command aborted until the
device is powered off or hardware reset. The EXPIRE bit shall be cleared to zero after power-on or hardware
reset. The counter shall be set to five after a power-on or hardware reset.
Page 23
T13/1532D Volume 1 Revision 4b
SEC2:Security disabled/Frozen
SEC0:Powered down /
Security disabled Power-down
SEC2:SEC0
SECURITY SET
RESET- asserted PASSWORD command
SEC1:SEC1 SEC1:SEC5
SECURITY DISABLE
PASSWORD command
SEC5a:SEC1
SECURITY ERASE
UNIT command
SEC5b:SEC1
SEC4:SEC3
RESET- asserted
SEC4:SEC4
SEC6:Unlocked/Frozen
SEC0: Powered down/Security disabled: This mode shall be entered when the device is
powered-down with the Security Mode feature set disabled.
Transition SEC0:SEC1: When the device is powered-up, the device shall make a transition to the SEC1:
Security disabled/not Frozen state.
SEC1: Security disabled/not Frozen: This mode shall be entered when the device is powered-up
or a hardware reset is received with the Security Mode feature set disabled or when the Security Mode
feature set is disabled by a SECURITY DISABLE PASSWORD or SECURITY ERASE UNIT command.
Page 24
T13/1532D Volume 1 Revision 4b
In this state, the device is capable of responding to all commands (See Table 4 Unlocked column).
Transition SEC1:SEC0: When the device is powered-down, the device shall make a transition to the SEC0:
Powered down/Security disabled state.
Transition SEC1:SEC1: When the device receives a hardware reset, the device shall make a transition to
the SEC1: Security disabled/not Frozen state.
Transition SEC1:SEC2: When a SECURITY FREEZE LOCK command is received, the device shall make a
transition to the SEC2: Security disabled/Frozen state.
Transition SEC1:SEC5: When a SECURITY SET PASSWORD command is received, the device shall
make a transition to the SEC5: Unlocked/not frozen state
SEC2: Security disabled/Frozen: This mode shall be entered when the device receives a
SECURITY FREEZE LOCK command while in Security disabled/not Frozen state.
In this state, the device is capable of responding to all commands except those indicated in Table 4 Frozen
column.
Transition SEC2:SEC0: When the device is powered-down, the device shall make a transition to the SEC0:
Powered down/Security disabled state.
Transition SEC2:SEC1: When the device receives a hardware reset, the device shall make a transition to
the SEC1: Security disabled/not Frozen state.
SEC3: Powered down/Security enabled: This mode shall be entered when the device is
powered-down with the Security Mode feature set enabled.
Transition SEC3:SEC4: When the device is powered-up, the device shall make a transition to the SEC4:
Security enabled/locked state.
SEC4: Security enabled/Locked: This mode shall be entered when the device is powered-up or a
hardware reset is received with the Security Mode feature set enabled.
In this state, the device shall only respond to commands that do not access data in the user data area of the
media (See Table 4 Locked column).
Transition SEC4:SEC3: When the device is powered-down, the device shall make a transition to the SEC3:
Powered down/Security enabled state.
Transition SEC4:SEC4: When the device receives a hardware reset, the device shall make a transition to
the SEC4: Security enabled/locked state.
Transition SEC4:SEC5: When a valid SECURITY UNLOCK command is received, the device shall make a
transition to the SEC5: Unlocked/not Frozen state.
Transition SEC4:SEC1: When a SECURITY ERASE PREPARE command is received and is followed by a
SECURITY ERASE UNIT command, the device shall make a transition to the SEC1: Security disabled/not
Frozen state.
SEC5: Unlocked/not Frozen: This mode shall be entered when the device receives a SECURITY
SET PASSWORD command to enable the lock or a SECURITY UNLOCK command.
In this state, the device shall respond to all commands (See Table 4 Unlocked column).
Page 25
T13/1532D Volume 1 Revision 4b
Transition SEC5a:SEC1: When a valid SECURITY DISABLE PASSWORD command is received, the
device shall make a transition to the SEC1: Security disabled/not Frozen state.
Transition SEC5b:SEC1: When a SECURITY ERASE PREPARE command is received and is followed by a
SECURITY ERASE UNIT command, the device shall make a transition to the SEC1: Security disabled/not
Frozen state.
Transition SEC5:SEC6: When a SECURITY FREEZE LOCK command is received, the device shall make a
transition to the SEC6: Unlocked/Frozen state.
Transition SEC5:SEC3: When the device is powered-down, the device shall make a transition to the SEC3:
Powered down/Security enabled state.
Transition SEC5:SEC4: When the device receives a hardware reset, the device shall make a transition to
the SEC4: Security enabled/Locked state.
SEC6: Unlocked/ Frozen: This mode shall be entered when the device receives a SECURITY
FREEZE LOCK command while in Unlocked/Locked state.
In this state, the device is capable of responding to all commands except those indicated in Table 4 Frozen
column.
Transition SEC6:SEC3: When the device is powered-down, the device shall make a transition to the SEC3:
Powered down/Security enabled state.
Transition SEC6:SEC4: When the device receives a hardware reset, the device shall make a transition to
the SEC4: Security enabled/Locked state.
Page 26
T13/1532D Volume 1 Revision 4b
Page 27
T13/1532D Volume 1 Revision 4b
Page 28
T13/1532D Volume 1 Revision 4b
Devices that implement the PACKET Command feature set shall not implement the SMART feature set as
described in this standard. Devices that implement the PACKET Command feature set and SMART shall
implement SMART as defined by the command packet set implemented by the device. This feature set is
optional if the PACKET Command feature set is not supported.
SMART feature set capability and status information for the device are stored in the device SMART data
structure. The off-line data collection capability and status data stored herein may be useful to the host if the
SMART EXECUTE OFF-LINE IMMEDIATE command is implemented (See 6.54.4).
Collection of SMART data in an “on-line” mode shall have no impact on device performance. The SMART
data that is collected or the methods by which data is collected in this mode may be different than those in
the off-line data collection mode for any particular device and may vary from one device to another.
The device shall use off-line mode for data collection and self-test routines that have an impact on
performance if the device is required to respond to commands from the host while performing that data
collection. This impact on performance may vary from device to device. The data that is collected or the
methods by which the data is collected in this mode may be different than those in the on-line data collection
mode for any particular device and may vary from one device to another.
This condition occurs when the device’s SMART reliability status indicates an impending degrading or fault
condition.
These commands use a single command code and are differentiated from one another by the value placed
in the Features register (See 6.54).
If the SMART feature set is implemented, the following commands shall be implemented.
If the SMART feature set is implemented, the following commands may be implemented.
Page 29
T13/1532D Volume 1 Revision 4b
When used with a host that has implemented the Power Management feature set, a SMART enabled device
should automatically save the device accumulated SMART data upon receipt of an IDLE IMMEDIATE,
STANDBY IMMEDIATE, or SLEEP command or upon return to an Active or Idle mode from a Standby mode
(See 6.54.5).
If a SMART feature set enabled device has been set to use the Standby timer, the device should
automatically save the device accumulated SMART data prior to going from an Idle mode to the Standby
mode or upon return to an Active or Idle mode from a Standby mode.
A device shall not execute any routine to automatically save the device accumulated SMART data while the
device is in a Standby or Sleep mode.
Logging of reported errors is an optional SMART feature. If error logging is supported by a device, it is
indicated in byte 370 of the SMART READ DATA command response and bit 0 of word 84 of the IDENTIFY
DEVICE response. If error logging is supported, the device shall provide information on the last five errors
that the device reported as described in the SMART READ LOG command (See 6.54.6). The device may
also provide additional vendor specific information on these reported errors.
If error logging is supported, it shall not be disabled when SMART is disabled. Error log information shall be
gathered when the device is powered-on except that logging of errors when in a reduced power mode is
optional. If errors are logged when in a reduced power mode, the reduced power mode shall not change.
Disabling SMART shall disable the delivering of error log information via the SMART READ LOG command.
If a device receives a firmware modification, all error log data shall be discarded and the device error count
for the life of the device shall be reset to zero.
In addition, a device supporting the Host Protected Area feature set may optionally include the security
extensions. The Host Protected Area security commands use a single command code and are differentiated
from one another by the value placed in the Features register.
Page 30
T13/1532D Volume 1 Revision 4b
Devices supporting these extensions shall set bit 10 of word 82 and bit 8 of word 83 of the IDENTIFY
DEVICE or IDENTIFY PACKET DEVICE data to one.
The READ NATIVE MAX ADDRESS or READ NATIVE MAX ADDRESS EXT command allows the host to
determine the maximum native address space of the device even when a protected area has been allocated.
The SET MAX ADDRESS or SET MAX ADDRESS EXT command allows the host to redefine the maximum
address of the user accessible address space. That is, when the SET MAX ADDRESS or SET MAX
ADDRESS EXT command is issued with a maximum address less than the native maximum address, the
device reduces the user accessible address space to the maximum specified by the command, providing a
protected area above that maximum address. The SET MAX ADDRESS or SET MAX ADDRESS EXT
command shall be immediately preceded by a READ NATIVE MAX ADDRESS or READ NATIVE MAX
ADDRESS EXT command. After the SET MAX ADDRESS or SET MAX ADDRESS EXT command has been
issued, the device shall report only the reduced user address space in response to an IDENTIFY DEVICE
command in words 60, 61, 100, 101, 102, and 103. Any read or write command to an address above the
maximum address specified by the SET MAX ADDRESS or SET MAX ADDRESS EXT command shall
cause command completion with the IDNF bit set to one and ERR set to one, or command aborted. A
volatility bit in the Sector Count register allows the host to specify if the maximum address set is preserved
across power-on or hardware reset cycles. On power-on or hardware reset the device maximum address
returns to the last non-volatile address setting regardless of subsequent volatile SET MAX ADDRESS or
SET MAX ADDRESS EXT commands. If the SET MAX ADDRESS or SET MAX ADDRESS EXT command
is issued with a value that exceeds the native maximum address command aborted shall be returned.
On reset
On save to disk
These commands are intended for use only by system BIOS or other low-level boot time process. Using
these commands outside BIOS controlled boot or shutdown may result in damage to file systems on the
device. Devices should return command aborted if a subsequent non-volatile SET MAX ADDRESS or SET
MAX ADDRESS EXT command is received after a power-on or hardware reset.
Page 31
T13/1532D Volume 1 Revision 4b
The SET MAX SET PASSWORD command allows the host to define the password to be used during the
current power-on cycle. The password does not persist over a power cycle but does persist over a hardware
or software reset. This password is not related to the password used for the Security Mode Feature set.
When the password is set the device is in the Set_Max_Unlocked mode.
The SET MAX LOCK command allows the host to disable the SET MAX commands (except SET MAX
UNLOCK) until the next power cycle or the issuance and acceptance of the SET MAX UNLOCK command.
When this command is accepted the device is in the Set_Max_Locked mode.
The SET MAX UNLOCK command changes the device from the Set_Max_Locked mode to the
Set_Max_Unlocked mode.
The SET MAX FREEZE LOCK command allows the host to disable the SET MAX commands (including SET
MAX UNLOCK) until the next power cycle. When this command is accepted the device is in the
Set_Max_Frozen mode.
When the device is locked bit 8 of word 86 of the IDENTIFY DEVICE or IDENTIFY PACKET DEVICE data
shall be set to one.
To allow for multiple BIOSs to gain access to the protected area the host BIOS should only lock the
protected area immediately prior to booting the operating system.
Page 32
T13/1532D Volume 1 Revision 4b
SM0:Set_Max_Security_Inactive SM1:Set_Max_Unlocked
SET MAX LOCK, SET SET MAX ADDRESS SET MAX UNLOCK
MAX UNLOCK, or command command
SET MAX FREEZE SM1a:SM1 SM1c:SM1
LOCK command
SM0b:SM0
Power on
SM3:SM3
SM0: Set_Max_Security_Inactive: This state shall be entered when the device is powered-on.
When in this state, SET MAX security is disabled.
Transition SM0a:SM0: When a SET MAX ADDRESS command is received, the command shall be
executed and the device shall make a transition to the SM0: Set_MAX_Security_Inactive state.
Transition SM0b:SM0: When a SET MAX LOCK, SET MAX UNLOCK, or SET MAX FREEZE LOCK
command is received, the device shall abort the command and make a transition to the SM0:
Set_MAX_Security_Inactive state.
Transition SM0:SM1: When a SET MAX SET PASSWORD command is received, the device shall make a
transition to the SM1: Set_Max_Unlocked state.
SM1: Set_Max_Unlocked: This state is entered when a SET MAX SET PASSWORD or a SET MAX
UNLOCK command is received.
When in this state, a SET MAX security password has been established and the SET MAX security is
unlocked. Bit 8 of word 86 of the IDENTIFY DEVICE data shall be set to one.
Transition SM1a:SM1: When a SET MAX ADDRESS command is received, the command shall be
executed and the device shall make a transition to the SM1: Set_MAX_Unlocked state.
Page 33
T13/1532D Volume 1 Revision 4b
Transition SM1b:SM1: When a SET MAX SET PASSWORD is received, the password stored by the device
shall be changed to the new value and the device shall make a transition to the SM1: Set_MAX_Unlocked
state.
Transition SM1c:SM1: When a SET MAX UNLOCK command is received, the command shall not be
executed and the device shall make a transition to the SM1: Set_MAX_Unlocked state.
Transition SM1:SM2: When a SET MAX LOCK command is received, the device shall make a transition to
the SM2: Set_Max_Locked state.
Transition SM1:SM3: When a SET MAX FREEZE LOCK command is received, the device shall make a
transition to the SM3: Set_Max_Frozen state.
SM2: Set_Max_Locked: This state is entered when a SET MAX LOCK command is received.
When in this state, a SET MAX security password has been established and the SET MAX security is locked.
Bit 8 of word 86 of the IDENTIFY DEVICE data shall be set to one.
Transition SM2a:SM2: When a SET MAX ADDRESS or SET MAX SET PASSWORD command is received,
the command shall be aborted and the device shall make a transition to the SM2: Set_Max_Locked state.
Transition SM2b:SM2: When a SET MAX LOCK command is received, the command shall be executed
and the device shall make a transition to the SM2: Set_Max_Locked state.
Transition SM2:SM1: When a SET MAX UNLOCK command is received, the device shall make a transition
to the SM1: Set Max Unlocked state.
Transition SM2:SM3: When a SET MAX FREEZE LOCK command is received, the device may make a
transition to the SM3: Set_Max_Frozen state. Hosts should not issue the SET MAX FREEZE LOCK
command when in this state.
SM3: Set_Max_Frozen: This state is entered when a SET MAX FREEZE LOCK command is received.
In this state, the device may not transition to any other state except by a power cycling. When in this mode
bit 8 of word 86 of the IDENTIFY DEVICE or IDENTIFY PACKET DEVICE data shall be set to one.
Transition SM3:SM3: When a SET MAX ADDRESS, SET MAX SET PASSWORD, SET MAX UNLOCK,
SET MAX FREEZE LOCK, or SET MAX LOCK command is received, the command shall be aborted and the
device shall make a transition to the SM3: Set_Max_Frozen state.
The optional CompactFlash™ Association (CFA) feature set provides support for solid state memory devices.
A device that implements the CFA feature set shall implement the following minimum set of commands:
Devices reporting the value 848Ah in IDENTIFY DEVICE data word 0 or devices having bit 2 of IDENTIFY
DEVICE data word 83 set to one shall support the CFA feature Set. If the CFA feature set is implemented,
all five commands shall be implemented.
Page 34
T13/1532D Volume 1 Revision 4b
Support of DMA commands is optional for devices that support the CFA feature set.
The CFA ERASE SECTORS command preconditions the sector for a subsequent CFA WRITE SECTORS
WITHOUT ERASE or CFA WRITE MULTIPLE WITHOUT ERASE command to achieve higher performance
during the write operation. The CFA TRANSLATE SECTOR command provides information about a sector
such as the number of write cycles performed on that sector and an indication of the sector’s erased
precondition. The CFA REQUEST EXTENDED ERROR CODE command provides more detailed error
information.
Command codes B8h through BFh are reserved for assignment by the CompactFlash™ Association.
4.11 Removable Media Status Notification and Removable Media feature sets
This section describes two feature sets that secure the media in removable media storage devices using the
ATA/ATAPI interface protocols. The Removable Media Status Notification feature set is intended for use in
both devices implementing the PACKET Command feature set and those not implementing the PACKET
Command feature set. The Removable Media feature set is intended for use only in devices not
implementing the PACKET Command feature set. Only one of these feature sets shall be enabled at any
time. If the Removable Media Status Notification feature set is in use then the Removable Media feature set
is disabled and vice versa.
The reasons for implementing the Removable Media Status Notification feature Set or the Removable Media
feature set are:
− to prevent data loss caused by writing to new media while still referencing the previous media’s
information.
− to prevent data loss by locking the media until completion of a cached write.
− to prevent removal of the media by unauthorized persons.
4.11.1 Removable Media Status Notification feature set
The Removable Media Status Notification feature set is the preferred feature set for securing the media in
removable media storage devices. This feature set uses the SET FEATURES command to enable
Removable Media Status Notification. Removable Media Status Notification gives the host system maximum
control of the media. The host system determines media status by issuing the GET MEDIA STATUS
command and controls the device eject mechanism via the MEDIA EJECT command (for devices not
implementing the PACKET Command feature set) or the START/STOP UNIT command (for devices
implementing the PACKET Command feature set, See Clause 1). While Removable Media Status
Notification is enabled devices not implementing the PACKET Command feature set execute MEDIA LOCK
and MEDIA UNLOCK commands without changing the media lock state (no-operation). While Removable
Media Status Notification is enabled the eject button does not eject the media.
Removable Media Status Notification is persistent through medium removal and insertion and is only
disabled via the SET FEATURES command, hardware reset, software reset, the DEVICE RESET command,
the EXECUTE DEVICE DIAGNOSTIC command, or power-on reset. Removable Media Status Notification
shall be re-enabled after any of the previous reset conditions occur. All media status is reset when
Removable Media Status Notification is disabled because a reset condition occurred. Any pending media
change or media change request is cleared when the Removable Media Status Notification reset condition
occurs.
The following commands are defined to implement the Removable Media Status Notification feature set.
Page 35
T13/1532D Volume 1 Revision 4b
NOTE − Devices implementing the PACKET Command feature set control the media eject mechanism via
the START/STOP UNIT command packet.
The preferred sequence of events to use the Removable Media Status Notification feature set is as follows:
a) Host system checks whether or not the device implements the PACKET Command feature set via
the device signature in the Command Block registers.
b) Host system issues the IDENTIFY DEVICE command or the IDENTIFY PACKET DEVICE command
and checks that the device is a removable media device and that the Removable Media Status
Notification feature set is supported.
c) Host system uses the SET FEATURES command to enable Media Status Notification that gives
control of the media to the host. At this time the host system checks the LBA High register to
determine if:
− the device is capable of locking the media.
− the device is capable of power ejecting the media.
− Media Status Notification was enabled prior to this command.
d) Host system periodically checks media status using the GET MEDIA STATUS command to
determine if any of the following events occurred:
− no media is present in the device (NM).
− media was changed since the last command (MC).
− a media change request has occurred (MCR).
− media is write protected (WP).
4.11.2 Removable Media feature set
The Removable Media feature set is intended only for devices not implementing the PACKET Command
feature set. This feature set operates with Media Status Notification disabled. The MEDIA LOCK and MEDIA
UNLOCK commands are used to secure the media and the MEDIA EJECT command is used to remove the
media. While the media is locked, the eject button does not eject the media. Media status is determined by
checking the media status bits returned by the MEDIA LOCK and MEDIA UNLOCK commands.
Power-on reset, hardware reset, and the EXECUTE DEVICE DIAGNOSTIC command clear the Media Lock
(LOCK) state and the Media Change Request (MCR) state. Software reset clears the Media Lock (LOCK)
state, clears the Media Change Request (MCR) state, and preserves the Media Change (MC) state.
The following commands are defined to implement the Removable Media feature set.
− MEDIA EJECT
− MEDIA LOCK
− MEDIA UNLOCK
The preferred sequence of events to use the Removable Media feature set is as follows:
a) Host system checks whether or not the device implements the PACKET Command feature set via
the device signature in the Command Block registers.
b) Host system issues the IDENTIFY DEVICE command and checks that the device is a removable
media device and that the Removable Media feature set is supported.
c) Host system periodically issues MEDIA LOCK commands to determine if:
− no media is present in the device (NM) - media is locked if present.
− a media change request has occurred (MCR).
Page 36
T13/1532D Volume 1 Revision 4b
enabled by use of a jumper or similar means, or both. When enabled by a jumper, the feature set shall not be
disabled via the SET FEATURES command. The IDENTIFY DEVICE or IDENTIFY PACKET DEVICE data
indicates whether this feature set is implemented and/or enabled.
The enabling of this feature set shall be persistent after power-down and power-up. When this feature set is
enabled, the device shall power-up into Standby.
A device may implement a SET FEATURES subcommand that notifies the device to spin-up to the Active
state when the device has powered-up into Standby. If the device implements this SET FEATURES
subcommand and power-up into Standby is enabled, the device shall remain in Standby until the SET
FEATURES subcommand is received. If the device implements this SET FEATURES subcommand, the fact
that the feature is implemented is reported in the IDENTIFY DEVICE or IDENTIFY PACKET DEVICE
response.
If the device:
the device shall respond to the command and remain in Standby without spinning-up.
If the device has IDENTIFY DEVICE or IDENTIFY PACKET DEVICE data that requires access to the media,
the device shall set word 0 bit 2 to one to indicate that the response is incomplete. At a minimum, word 0 and
word 2 shall be correctly reported. Those fields that cannot be provided shall be filled with zeros. Once the
full IDENTIFY DEVICE or IDENTIFY PACKET DEVICE data has been accessed, a full response shall be
returned until the next power-down/power-up sequence has taken place.
If the device does not implement the SET FEATURES subcommand to spin-up the device after power-up
and power-up into Standby is enabled, the device shall spin-up upon receipt of the first command that
requires the device to access the media.
The Automatic Acoustic Management feature set uses the following functions:
− A SET FEATURES subcommand to enable the Automatic Acoustic Management feature set
− A SET FEATURES subcommand to disable the Automatic Acoustic Management feature set
The IDENTIFY DEVICE or IDENTIFY PACKET DEVICE data indicates if the Automatic Acoustic
Management feature set is supported, if the Automatic Acoustic Management feature set is enabled, and the
current automatic acoustic management level if the Automatic Acoustic Management feature set is enabled.
Page 37
T13/1532D Volume 1 Revision 4b
The 48-bit Address feature set operates in LBA only. Devices implementing the 48-bit Address feature set
shall also implement commands that use 28-bit addressing. 28-bit and 48-bit commands may be intermixed.
Support of the 48-bit Address feature set is indicated in the IDENTIFY DEVICE response.
In a device implementing the 48-bit Address feature set, the Features register, the Sector Count register, the
LBA Low register, the LBA Mid register, and the LBA High register are each a two byte deep FIFO. Each
time one of these registers is written, the new content written is placed into the “most recently written”
location and the previous content of the register is moved to “previous content” location. For example, when
a 48-bit Address feature set READ SECTOR(S) EXT command is written to the device Command register,
the address used by the command is as described in Table 5.
When a READ SECTOR(S) command utilizing 28-bit addressing is written to the device Command register,
the address used by the command is as described in Table 6. Thus commands utilizing 28-bit addressing still
function as described in the command descriptions.
Page 38
T13/1532D Volume 1 Revision 4b
The host may read the “previous content” of the Features, Sector Count, LBA Low, LBA Mid, and LBA High
registers by first setting the High Order Bit (HOB, bit 7) of the Device Control register to one and then reading
the desired register. If HOB (bit 7) in the Device Control register is cleared to zero the host reads the “most
recently written” content when the register is read. A write to any Command Block register shall cause the
device to clear the HOB bit to zero in the Device Control register. The “most recently written” content always
gets written by a register write regardless of the state of HOB (bit 7) in the Device Control register.
The device shall indicate support of the 48-bit Address feature set in the IDENTIFY DEVICE response. In
addition, IDENTIFY DEVICE data words (103:100) contain the maximum user LBA + 1 that is accessible by
48-bit addressable commands .
If the value contained in IDENTIFY DEVICE data words (103:100) is equal to or less than 268,435,455, then
the content of words (61:60) shall be as described in 4.2.1. If the value in contained IDENTIFY DEVICE data
words (103:100) is greater than 268,435,455, then the maximum value in words (61:60) shall be
268,435,455. That is, if the device contains greater than the capacity addressable with 28-bit commands,
words (61:60) shall describe the maximum capacity that can be addressed by 28-bit commands.
When the 48-bit Address feature set is implemented, the native maximum address is the highest address
accepted by the device in the factory default condition using a 48-bit Address feature set command. The
native maximum address is the value returned by a READ NATIVE MAX ADDRESS EXT command. If the
native maximum address of a device is equal to or less than 268,435,455, a READ NATIVE MAX ADDRESS
shall return the native maximum address. If the native maximum address is greater than 268,435,455, a
READ NATIVE MAX ADDRESS command shall cause the device to return a maximum value of
268,435,454.
When the 48-bit Address feature set is implemented, the SET MAX ADDRESS command shall execute as
described in 6.50.1. However, in addition to modifying the content of words (61:60), the new content of
(61:60) shall also be placed in words (103:100). When a SET MAX ADDRESS EXT command is issued and
the address requested is greater than 268,435,455, words (103:100) shall be modified to reflect the
requested value but words 60, and 61 shall not be modified. When a SET MAX ADDRESS EXT command is
issued and the address requested is equal to or less than 268,435,455, words (103:100) shall be modified to
reflect the requested value and words 60, and 61 shall be modified as described in 6.50.1.8.
If a Host Protected Area has been created using the SET MAX ADDRESS command, all SET MAX
ADDRESS EXT commands shall result in command aborted until the Host Protected Area is eliminated by
use of the SET MAX ADDRESS command with the address value returned by the READ NATIVE MAX
ADDRESS command. If a Host Protected Area has been created using the SET MAX ADDRESS EXT
command, all SET MAX ADDRESS commands shall result in command aborted until the Host Protected
Area is eliminated by use of the SET MAX ADDRESS EXT command with the address value returned by the
READ NATIVE MAX ADDRESS EXT command.
The WRITE DMA FUA EXT, WRITE DMA QUEUED FUA EXT, and WRITE MULTIPLE FUA EXT commands
are unique in that regardless whether or not caching is enabled in the device, the user data shall be written
to the media before ending status for the command is reported.
Page 39
T13/1532D Volume 1 Revision 4b
Commands unique to the Device Configuration Overlay feature set use a single command code and are
differentiated from one another by the value placed in the Features register. These commands are:
The Device Configuration Overlay feature set may affect words (61:60), 63, (88:82), and(103:100) of the
IDENTIFY DEVICE and IDENTIFY PACKET DEVICE command responses. Certain bits in these words that
indicate that a command, mode, capacity, or feature set is supported and enabled may be cleared by a
DEVICE CONFIGURATION SET command. For a particular command, mode, capacity, or feature set, when
a bit is cleared indicating that the device does not support the feature, the device shall not provide the
feature. Also, the maximum capacity of the device may be reduced. Since a Host Protected Area may be lost
if the capacity of the device is reduced, when a Host Protected Area is set the DEVICE CONFIGURATION
SET command shall cause the device to return command aborted. The address value returned by a READ
NATIVE MAX ADDRESS or READ NATIVE MAX ADDRESS EXT command is modified by the DEVICE
CONFIGURATION SET command modifying the maximum capacity of the device. If a DEVICE
CONFIGURATION FREEZE LOCK command has been issued since the device powered-up, the DEVICE
CONFIGURATION SET command shall cause the device to return command aborted. The settings made by
a DEVICE CONFIGURATION SET command are maintained over power-down and power-up.
A DEVICE CONFIGURATION IDENTIFY command specifies the selectable commands, modes, capacity,
and feature sets that the device is capable of supporting. After the execution of a DEVICE
CONFIGURATION SET command this information is no longer available from an IDENTIFY DEVICE or
IDENTIFY PACKET DEVICE command.
A DEVICE CONFIGURATION RESTORE command disables an overlay that has been set by a DEVICE
CONFIGURATION SET command and returns the IDENTIFY DEVICE or IDENTIFY PACKET DEVICE
command data to that indicated by the DEVICE CONFIGURATION IDENTIFY command. Since a Host
Protected Area may be lost if the capacity of the device is reduced, when a Host Protected Area is set the
DEVICE CONFIGURATION RESTORE command shall cause the device to return command aborted. If a
DEVICE CONFIGURATION FREEZE LOCK command has been issued since the device powered-up, the
DEVICE CONFIGURATION RESTORE command shall cause the device to return command aborted.
A DEVICE CONFIGURATION FREEZE LOCK command prevents accidental modification of the state of the
Device Configuration Overlay feature set. A device always powers-up with configuration freeze lock not set.
After a successful DEVICE CONFIGURATION FREEZE LOCK command is executed, all DEVICE
CONFIGURATION SET, DEVICE CONFIGURATION IDENTIFY, and DEVICE CONFIGURATION
RESTORE commands are aborted by the device until the device is powered-down and powered-up again.
The freeze locked state is not affected by hardware or software reset.
Figure 7 and the text following the figure describe the operation of the Device Configuration Overlay feature
set.
Page 40
T13/1532D Volume 1 Revision 4b
DCO2: Reduced_config
Valid DEVICE
CONFIGURATION SET DEVICE CONFIGURATION
command (see text) FREEZE LOCK command
DCO0:DCO2 DCO2:DCO1
DCO0: Factory_config State: This state is entered when the device powers-up with the factory
configuration set or a valid DEVICE CONFIGURATION RESTORE command is received.
When in this state, the device shall support all commands, modes, features sets, and the capacity indicated
by the response to a DEVICE CONFIGURATION IDENTIFY command.
Transition DCO0:DCO1: When a DEVICE CONFIGURATION FREEZE LOCK command is received, the
device shall return successful command completion and make a transition to the DCO1: DCO_locked state.
Transition DCO0:DCO2: When a valid DEVICE CONFIGURATION SET command is received, the device
shall return successful command completion and make a transition to the DCO2: Reduced_config state. See
Transition DCO0:DCO0 for the definition of conditions that make a DEVICE CONFIGURATION SET
command invalid. This transition is made even if the configuration described by the DEVICE SET
CONFIGURATION SET command is the same as the factory configuration.
Transition DCO0:DCO0: When a DEVICE CONFIGURATION RESTORE command is received, the device
shall return command aborted and make a transition to the DCO0: Factory_config state. When an invalid
DEVICE CONFIGURATION SET command is received, the device shall return command aborted and make
a transition to the DCO0: Factory_config state. A DEVICE CONFIGURATION SET command is invalid if the
DEVICE CONFIGURATION SET command requests:
− a Host Protected Area has been established using the SET MAX ADDRESS command.
− the elimination of support of a Multiword or Ultra DMA mode if that mode is currently selected or a
higher numbered mode is currently selected.
− the elimination of support of the Host Protected Area feature set if a Host Protected Area has been
established using a SET MAX ADDRESS command.
Page 41
T13/1532D Volume 1 Revision 4b
− the elimination of support of the Power-up in Standby feature set if the feature set has been enables
by a jumper.
− the elimination of support of the Security feature set if the feature set has been enabled.
− the elimination of support of the SMART feature set if bits (2:1) of word 7 are not cleared to zero or if
the SMART feature set has been enabled by use of the SMART ENABLE OPERATIONS command.
DCO1: DCO_locked State: This state is entered when a DEVICE CONFIGURATION RESTORE
command is received.
When in this state, all DEVICE CONFIGURATION FREEZE LOCK, DEVICE CONFIGURATION IDENTIFY,
DEVICE CONFIGURATION SET, or DEVICE CONFIGURATION RESTORE commands shall return
command abort and shall remain in the locked state.
DCO2: Reduced_config State: This state is entered when the device powers-up with a reduced
configuration set or a valid DEVICE CONFIGURATION SET command is received.
When in this state, the device shall support all commands, modes, features sets, and the capacity specified
by the DEVICE CONFIGURATION SET command that caused this state to be entered.
Transition DCO2:DCO1: When a DEVICE CONFIGURATION FREEZE LOCK command is received, the
device shall return successful command completion and make a transition to the DCO1: DCO_locked state.
Transition DCO2:DCO0: When a valid DEVICE CONFIGURATION RESTORE command is received, the
device shall return successful command completion and make a transition to the DCO0: Factory_config
state. See Transition DCO2:DCO2 for the definition of conditions that make a DEVICE CONFIGURATION
RESTORE command invalid.
Transition DCO2:DCO2: When a DEVICE CONFIGURATION SET command is received, the device shall
return command aborted and make a transition to the DCO2: Reduced_config state. When an invalid
DEVICE CONFIGURATION RESTORE command is received, the device shall return command aborted and
make a transition to the DCO2: Reduced_config state. A DEVICE CONFIGURATION RESTORE command
is invalid if a Host Protected Area has been established using the SET MAX ADDRESS command.
Use of the Media Card Pass Through Command feature set is prohibited for PACKET devices.
The Media Card Pass Through Command feature set uses the command codes D1h, D2h, D3h, and D4h
and bits in word 84 and word 87 of the IDENTIFY DEVICE response. The command codes D2h through D4h
are reserved for the Media Card Pass Through Command feature set if this feature set is enabled by the
CHECK MEDIA CARD TYPE command (D1h). This feature set embeds small-format flash memory card
commands inside the ATA commands. The adapter’s firmware passes the embedded memory card’s
command to the memory card as is from the ATA command. The Media Card Pass Through Command
feature set reduces the number of commands required for this feature set regardless of the number or type
of memory card commands. It also reduces the adapter’s firmware overhead in processing them. As new
memory cards types are defined in the market, they can all be supported within this one feature.
The commands unique to the Media Card Pass Through Command feature set are:
Page 42
T13/1532D Volume 1 Revision 4b
The CHECK MEDIA CARD TYPE command returns the supporting status of the device to this feature set. It
also enables and disables the device from running the Media Card Pass Through Command feature set.
When the Media Card Pass Through Command feature set is disabled, the command codes D2h through
D4h shall not be interpreted as Media Card Pass Through Command feature set commands and the device
shall return command aborted. Power-on, hardware, or software reset shall disable the Media Card Pass
Through Command feature set.
The definitions of the commands D2h-D4h are media card type dependent. Table 7 lists the Media card
types and their associated reference document:
A device that implements the Streaming feature set shall implement the following minimum set of
commands:
− CONFIGURE STREAM
− READ STREAM EXT
− WRITE STREAM EXT
− READ STREAM DMA EXT
− WRITE STREAM DMA EXT
− READ LOG EXT
− WRITE LOG EXT
Support of the Streaming feature set is indicated in IDENTIFY DEVICE data word 84 bit 4.
NOTE − PIO versions of these commands limit the transfer rate (16.6 MB/s), provide no CRC protection, and
limit status reporting as compared to a DMA implementation.
The streaming commands are defined to be time critical data transfers rather than the standard data integrity
critical commands. Each command shall be completed within the time specified in the CONFIGURE
STREAM command or in the streaming command itself in order to ensure the stream requirements of the AV
type application. The device may execute background tasks as long as the READ STREAM and WRITE
STREAM command execution time limits are still met.
Using the CONFIGURE STREAM command, the host may define the various stream properties including the
default Command Completion Time Limit (CCTL) to assist the device in setting up its caching for best
performance. If the host does not use a CONFIGURE STREAM command, the device shall use the CCTL
specified in each streaming command, and the time limit is effective for one time only. If the CCTL is not set
by a CONFIGURE STREAM command, the operation of a streaming command with a zero CCTL is device
vendor specific. If Stream ID is not set by a CONFIGURE STREAM command, the device shall operate
according to the Stream ID set by the streaming command. The operation is device vendor specific.
Page 43
T13/1532D Volume 1 Revision 4b
The streaming commands may access any user LBA on a device. These commands may be interspersed
with non-streaming commands, but there may be an impact on performance due to the unknown time
required to complete the non-streaming commands.
The streaming commands should be issued using a specified minimum number of sectors transferred per
command, as specified in word 95 of the IDENTIFY DEVICE response. The transfer length of a request
should be a multiple of the minimum number of sectors per transfer.
The host provided numeric stream identifier, Stream ID, may be used by the device to configure its resources
to support the streaming requirements of the AV content. One Stream ID may be configured for each read
and write operation with different command completion time limits by each CONFIGURE STREAM
command.
The Urgent bit in the READ STREAM and WRITE STREAM commands 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.
The Flush to Disk bit in the WRITE STREAM command specifies that all data for the specified stream shall
be flushed to the media before posting command completion. If a host requests flushes at times other than
the end of each Allocation Unit, streaming performance may be degraded. The SET FEATURES command
to enable/disable caching shall not affect caching for streaming commands.
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.
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.
If the Write Continuous bit is set to one for the command, and an error is encountered, the device shall
complete the request without posting an error. If an error cannot be resolved within the Command
Completion Time Limit, the erroneous section on the media may be unchanged or may contain undefined
data. A future read of this area may not report an error, even though the data is erroneous.
The Handle Streaming Error bit specifies to the device that this command starts at the LBA of a recently
reported error section, so the device may attempt to continue its corresponding error recovery sequence
where it left off earlier. This mechanism allows the host to schedule error recovery and defect management
for content critical data.
The Streaming Data Transfer feature set requires two error logs and one performance log. These logs are
accessed via the READ LOG EXT command. The information included in the error logs is volatile and is not
maintained across power cycles, hard resets, or sleep. These error logs are 512 bytes in length and retain
the last 31 errors that occurred during any Streaming Data transfer.
Page 44
T13/1532D Volume 1 Revision 4b
The Streaming Performance log provides specific drive performance characteristics to the host that allows
for calculating of streaming performance values. The contents of the Streaming Performance Parameters
Log may be affected by the host issuing a SET FEATURES subcommand 42h, C2h, or 43h (Automatic
Acoustic Management, and Typical Host Interface Sector Time). The host should base its calculations on the
larger of its Typical Host Interface Sector Time and the device reported Sector Time values, and on the sum
of the device reported Access Time values and any additional latency that only the host is aware of (host
command overhead, etc).
Page 45
T13/1532D Volume 1 Revision 4b
Support for the General Purpose Logging feature set shall not be disabled. If the feature set associated with
a requested log is disabled, the device shall return command abort.
If the General Purpose Logging feature set is implemented, the following commands shall be supported:
The optional Overlap feature set allows devices that require extended command time to perform a bus
release so that the other device on the bus may be used. To perform a bus release the device shall clear
both DRQ and BSY to zero. When selecting the other device during overlapped operations, the host shall
disable assertion of INTRQ via the nIEN bit on the currently selected device before writing the Device
register to select the other device and then may re-enable interrupts.
For the PACKET command, overlap is specified by the OVL bit in the Features register when the PACKET
command is issued.
If the device supports PACKET command overlap, the OVL bit is set to one in the Features register and the
Release interrupt has been enabled via the SET FEATURES command, then the device shall perform a bus
release when the command packet has been received. This allows the host to select the other device to
execute commands. When the device is ready to continue the command, the device sets SERV to one, and
asserts INTRQ if selected and nIEN is cleared to zero. The host then issues the SERVICE command to
continue the execution of the command
If the device supports PACKET command overlap, the OVL bit is set to one in the Features register and the
Release interrupt has been disabled via the SET FEATURES command, then the device may or may not
perform a bus release. If the device is ready to complete execution of the command, the device may
complete the command immediately as described in the non-overlap case. If the device is not ready to
complete execution of the command, the device may perform a bus release and complete the command as
described in the previous paragraph.
For the READ DMA QUEUED and WRITE DMA QUEUED commands, the device may or may not perform a
bus release. If the device is ready to complete execution of the command, the device may complete the
Page 46
T13/1532D Volume 1 Revision 4b
command immediately. If the device is not ready to complete execution of the command, the device may
perform a bus release and complete the command via a service request.
If a device has an outstanding command that has been released, the device can only indicate that service is
required when the device is selected. This implies that the host has to poll each device to determine if a
device is requesting service. The polling can be performed at the host either by hardware or by a software
routine. The latter implies a considerable host processor overhead. Hardware polling is initiated by the NOP
Auto Poll command.
The NOP Poll command is a host adapter function and is ignored by the device. The host software can test
for the support of this feature by issuing the NOP Auto Poll subcommand and examining the Status register.
If the host adapter does not support this feature, the response received by the host will be from the device
with the ERR bit set to one. If the host adapter does support the command, the response will be from the
host adapter with the ERR bit cleared to zero. The only action taken by a device supporting the Overlapped
feature set will be to return the error indication in the Status register and to not abort any outstanding
commands.
When this command is received, the user data shall be written to the device media before ending status for
the command is reported regardless of the state of any write cache or queue. A queue shall not be aborted.
The maximum queue depth supported by a device shall be indicated in word 75 of the IDENTIFY DEVICE or
IDENTIFY PACKET DEVICE response.
A queued command shall have a Tag provided by the host in the Sector Count register to uniquely identify
the command. When the device restores register parameters during the execution of the SERVICE
command, this Tag shall be restored so that the host may identify the command for which status is being
presented. A Tag value may be any value between 0 and 31, regardless of the queue depth supported. If a
queued command is issued with a Tag value that is identical to the Tag value for a command already in the
queue, the entire queue shall be aborted including the new command. The ending status shall be command
aborted and the results are indeterminate. If any error occurs, the command queue shall be aborted.
When the device is ready to continue the processing of a bus released command and BSY and DRQ are
both cleared to zero, the device requests service by setting SERV to one, setting a pending interrupt, and
setting Interrupt Pending if selected and if nIEN is cleared to zero. SERV shall remain set until all commands
ready for service have been serviced. A read of the Status register or a write of the Command register shall
clear the Interrupt Pending.
When the device is ready to continue the processing of a bus released command and BSY or DRQ is set to
one (i.e., the device is processing another command on the bus), the device requests service by setting
SERV to one. SERV shall remain set until all commands ready for service have been serviced. At command
completion of the current command processing (i.e., when both BSY and DRQ are cleared to zero), the
device shall process Interrupt Pending and INTRQ per the protocol for the command being completed. No
additional INTRQ assertion shall occur due to other commands ready for service until after the device’s
SERV bit has been cleared to zero.
When the device receives a new command while queued commands are ready for service, the device shall
execute the new command and process Interrupt Pending and INTRQ per the protocol for the new
command. If the queued commands ready for service still exist at command completion of this command,
SERV remains set to one but no additional INTRQ assertion shall occur due to commands ready for service.
Page 47
T13/1532D Volume 1 Revision 4b
When queuing commands, the host shall disable INTRQ assertion via the nIEN bit before writing a new
command to the Command register and may re-enable INTRQ assertion after writing the command. When
reading status at command completion of a command, the host shall check the SERV bit since the SERV bit
may be set because the device is ready for service associated with another command. The host receives no
additional INTRQ assertion to indicate that a queued command is ready for service.
The long physical sector feature set allows a device to be formatted so that there are multiple logical sectors
per physical sector on the media. Each physical sector has an ECC field. This allows, for example, a device
to have 2048 word physical sectors each containing 8 logical sectors, or one ECC field per 8 256 word
logical sectors, See Figure 8 example 3.
A performance penalty may be incurred when writing to devices that implement long physical sector feature
set. A physical sector is read or written in a single operation. If a host system does not write all of the logical
sectors in a physical sector during a single command the device may need to read the logical sectors that
are not to be changed into memory and then write the entire physical sector, see Appendix C.
2) Long Logical Sector Format Example: 524 Bytes Per LBA Address
524 B 524 B 524 B 524 B 524 B 524 B 524 B
3) Long Physical Sector Format Example: 512 Bytes Per LBA Address, 2048
Bytes Per Physical Sector
4) Long Logical and Long Physical Sector Format Example: 524 Bytes Per LBA
Address, 2096 Bytes Per Physical Sector
Page 48
T13/1532D Volume 1 Revision 4b
Devices that implement the Long Logical Sector Feature set are not backward compatible with applications
that use 256 word logical sectors, e.g. desktop and laptop system.
Page 49
T13/1532D Volume 1 Revision 4b
4.23 Devices Implementing the Long Physical Sector Feature Set and the Long
Logical Feature Sector Set
The long physical sector feature set and the long logical sector feature set are not exclusive. Figure 8
example 4 illustrates a device implementing both the Long Physical Sector and Long Logical Sector feature
sets.
Page 50
T13/1532D Volume 1 Revision 4b
5.1 Overview
The Command Block registers are used for sending commands to the device or posting status from the
device. The Control Block registers are used for device control and to post alternate status. Table 9 identifies
these registers for both devices that implement and do not implement the PACKET command feature set.
References to parallel implementation bus signals (e.g. DMACK, DMARQ, etc) apply only to parallel
implementations. See Volume 3 for additional information on serial protocol. Some register bits (e.g. nIEN,
SRST, etc.) have different requirements in the serial implementation (See Volume 3).
Each register description in the following Clauses contain the following format:
Direction -specifies if the register is read/write, read only, or write only from the host.
Page 51
T13/1532D Volume 1 Revision 4b
This register is read only. If this address is written to by the host, the Device Control register is written.
When the BSY bit is set to one, the other bits in this register shall not be used. The contents of this register
are not valid while the device is in Sleep mode.
5.2.3 Effect
This register contains the same information as the Status register in the Command Block.
This register is write only. If this address is read by the host, the Status register is read.
For all commands except DEVICE RESET, this register shall only be written when BSY and DRQ are both
cleared to zero and DMACK- is not asserted. If written when BSY or DRQ is set to one, the results of writing
the Command register are indeterminate except for the DEVICE RESET command. For a device in the Sleep
mode, writing of the Command register shall be ignored except for writing of the DEVICE RESET command
to a device that implements the PACKET Command feature set.
5.3.3 Effect
Command processing begins when this register is written. The content of the Command Block registers
become parameters of the command when this register is written. Writing this register clears any pending
interrupt condition.
This register contains the command code being sent to the device. Command execution begins immediately
after this register is written. The executable commands and the command codes for each command are
summarized in the tables in Annex B.
7 6 5 4 3 2 1 0
Command Code
Page 52
T13/1532D Volume 1 Revision 4b
This port shall be accessed for host DMA data transfers only when DMACK- and DMARQ are asserted.
5.4.3 Effect
DMA data-out transfers are processed by a series of writes to this port, each write transferring the data that
follows the previous write. DMA data-in transfers are processed by a series of reads to this port, each read
transferring the data that follows the previous read. The results of a read during a DMA out or a write during
a DMA in are indeterminate.
15 14 13 12 11 10 9 8
Data(15:8)
7 6 5 4 3 2 1 0
Data(7:0)
Page 53
T13/1532D Volume 1 Revision 4b
This register shall be accessed for host PIO data transfer only when DRQ is set to one and DMACK- is not
asserted. The contents of this register are not valid while a device is in the Sleep mode.
5.5.3 Effect
PIO data-out transfers are processed by a series of writes to this register, each write transferring the data
that follows the previous write. PIO data-in transfers are processed by a series of reads to this register, each
read transferring the data that follows the previous read. The results of a read during a PIO out or a write
during a PIO in are indeterminate.
The data register is 16 bits wide. When a CFA device is in 8-bit PIO data transfer mode this register is 8 bits
wide using only DD7 to DD0.
15 14 13 12 11 10 9 8
Data(15:8)
7 6 5 4 3 2 1 0
Data(7:0)
Page 54
T13/1532D Volume 1 Revision 4b
This register shall be written only when both BSY and DRQ are cleared to zero and DMACK- is not asserted.
The contents of this register are valid only when BSY is cleared to zero. If this register is written when BSY
or DRQ is set to one, the result is indeterminate. For devices not implementing the PACKET Command
feature set, the contents of this register are not valid while a device is in the Sleep mode. For devices
implementing the PACKET Command feature set, the contents of this register are valid while the device is in
Sleep mode.
5.6.3 Effect
The DEV bit becomes effective when this register is written by the host or the signature is set by the device.
All other bits in this register become a command parameter when the Command register is written.
Bit 4, DEV, in this register selects the device. Other bits in this register are command dependent (See Clause
6).
7 6 5 4 3 2 1 0
Obsolete # Obsolete DEV # # # #
NOTE − Some hosts set these bits to one. Devices shall ignore these bits.
Page 55
T13/1532D Volume 1 Revision 4b
This register is write only. If this address is read by the host, the Alternate Status register is read.
5.7.3 Effectiveness
This register allows a host to software reset attached devices and to enable or disable the assertion of the
INTRQ signal by a selected device. When the Device Control register is written, both devices respond to the
write regardless of which device is selected. When the SRST bit is set to one, both devices shall perform the
software reset protocol. The device shall respond to the SRST bit when in the SLEEP mode.
7 6 5 4 3 2 1 0
HOB r r r r SRST nIEN 0
− HOB (high order byte) is defined by the 48-bit Address feature set (See 4.14). A write to any
Command Block register shall clear the HOB bit to zero.
− Bits (6:3) are reserved.
− SRST is the host software reset bit (See Clause 11).
− nIEN is the enable bit for the device assertion of INTRQ to the host. When the nIEN bit is cleared to
zero, and the device is selected, INTRQ shall be enabled through a tri-state buffer and shall be
asserted or negated by the device as appropriate. When the nIEN bit is set to one, or the device is
not selected, the device shall release the INTRQ signal.
− Bit 0 shall be cleared to zero.
Page 56
T13/1532D Volume 1 Revision 4b
This register is read only. If this address is written to by the host, the Features register is written.
The contents of this register shall be valid when BSY and DRQ are cleared to zero and either ERR or SE is
set to one. The contents of this register shall be valid upon completion of power-on, or after a hardware or
software reset, or after command completion of an EXECUTE DEVICE DIAGNOSTICS or DEVICE RESET
command. The contents of this register are not valid while a device is in the Sleep mode.
5.8.3 Effect
None.
At command completion of any command except EXECUTE DEVICE DIAGNOSTIC or DEVICE RESET, the
contents of this register are valid when the ERR bit is set to one in the Status register.
Following a power-on, a hardware or software reset (See Clause 11), or command completion of an
EXECUTE DEVICE DIAGNOSTIC or DEVICE RESET command (See Clause 6) this register contains a
diagnostic code.
7 6 5 4 3 2 1 0
# # # # # ABRT # #
− Bit 2 - ABRT (command aborted) is set to one to indicate the requested command has been
command aborted because the command code or a command parameter is invalid, the command is
not supported, a prerequisite for the command has not been met, or some other error has occurred.
− # -The content of this bit is command dependent (See Clause 6).
Page 57
T13/1532D Volume 1 Revision 4b
This register is write only. If this address is read by the host, the Error register is read.
This register shall be written only when BSY and DRQ equal zero and DMACK- is not asserted. If this
register is written when BSY or DRQ is set to one, the result is indeterminate.
5.9.3 Effect
The content of this register becomes a command parameter when the Command register is written.
This register shall be written only when both BSY and DRQ are cleared to zero and DMACK- is not asserted.
The contents of this register are valid only when BSY and DRQ are cleared to zero. If this register is written
when BSY or DRQ is set to one, the result is indeterminate. The contents of this register are not valid while a
device is in the Sleep mode.
5.10.3 Effect
The content of this register becomes a command parameter when the Command register is written.
The content of this register is command dependent (See Clause 6). For devices not implementing the
PACKET command feature set, this register is called the LBA High register. For devices implementing the
PACKET command feature set, this register is called the Byte Count High register.
Page 58
T13/1532D Volume 1 Revision 4b
This register shall be written only when both BSY and DRQ are cleared to zero and DMACK- is not asserted.
The contents of this register are valid only when both BSY and DRQ are cleared to zero. If this register is
written when BSY or DRQ is set to one, the result is indeterminate. The contents of this register are not valid
while a device is in the Sleep mode.
5.11.3 Effect
The content of this register becomes a command parameter when the Command register is written.
This register shall be written only when both BSY and DRQ are cleared to zero and DMACK- is not asserted.
The contents of this register are valid only when BSY and DRQ are cleared to zero. If this register is written
when BSY or DRQ is set to one, the result is indeterminate. The contents of this register are not valid while a
device is in the Sleep mode.
5.12.3 Effect
The content of this register becomes a command parameter when the Command register is written.
The content of this register is command dependent (See Clause 6).For devices not implementing the
PACKET command feature set, this register is called the LBA Mid register. For devices implementing the
PACKET command feature set, this register is called the Byte Count Low register.
Page 59
T13/1532D Volume 1 Revision 4b
This register shall be written only when both BSY and DRQ are cleared to zero and DMACK- is not asserted.
The contents of this register are valid only when both BSY and DRQ are cleared to zero. If this register is
written when BSY or DRQ is set to one, the result is indeterminate. The contents of this register are not valid
while a device is in the Sleep mode.
5.13.3 Effect
The content of this register becomes a command parameter when the Command register is written.
The content of this register is command dependent (See Clause 6). For devices not implementing the
PACKET command feature set, this register is called the Sector Count register. For devices implementing
the PACKET command feature set, this register is called the Interrupt Reason register.
Page 60
T13/1532D Volume 1 Revision 4b
This register is read only. If this address is written to by the host, the Command register is written.
The contents of this register, except for BSY, shall be ignored when BSY is set to one. The contents of this
register are not valid while a device is in the Sleep mode.
5.14.3 Effect
Reading this register when an interrupt is pending causes the Interrupt Pending to be cleared (See Clause
8). The host should not read the Status register when an interrupt is expected as this may clear the Interrupt
Pending before the INTRQ can be recognized by the host.
This register contains the device status. The contents of this register are updated to reflect the current state
of the device.
7 6 5 4 3 2 1 0
BSY DRDY DF/SE # DRQ Obsolete Obsolete ERR /
CHK
BSY is set to one to indicate that the device is busy. After the host has written the Command register the
device shall have either the BSY bit set to one, or the DRQ bit set to one, until command completion or the
device has performed a bus release for an overlapped command.
The BSY bit shall be set to one by the device only when one of the following events occurs:
1) after either the negation of RESET- or the setting of the SRST bit to one in the Device
Control register;
2) after writing the Command register if the DRQ bit is not set to one;
3) between blocks of a data transfer during PIO data-in commands before the DRQ bit is
cleared to zero;
4) after the transfer of a data block during PIO data-out commands before the DRQ bit is
cleared to zero;
5) during the data transfer of DMA commands either the BSY bit, the DRQ bit, or both shall
be set to one;
6) after the command packet is received during the execution of a PACKET command.
NOTE − The BSY bit may be set to one and then cleared to zero so quickly, that host
detection of the BSY bit being set to one is not certain.
When BSY is set to one, the device has control of the Command Block Registers and:
1) a write to a Command Block register by the host shall cause indeterminate behavior
except for writing DEVICE RESET command;
2) a read from a Command Block register by the host may yield invalid contents except for
the BSY bit itself.
Page 61
T13/1532D Volume 1 Revision 4b
1) after setting DRQ to one to indicate the device is ready to transfer data;
2) at command completion;
3) upon releasing the bus for an overlapped command;
4) when the device is ready to accept commands that do not require DRDY during a
power-on, hardware or software reset.
When BSY is cleared to zero, the host has control of the Command Block registers, the device shall:
When the DRDY bit is cleared to zero, the device shall accept and attempt to execute commands as
described in Volume 2, Clause 3.
1) when the device is capable of accepting all commands for devices not implementing the
PACKET command feature set;
2) prior to command completion except the DEVICE RESET or EXECUTE DEVICE
DIAGNOSTIC command for devices implementing the PACKET command feature set.
1) the device shall accept and attempt to execute all implemented commands;
2) devices that implement the Power Management feature set shall maintain the DRDY bit
set to one when they are in the Idle or Standby modes.
Device Fault is implemented by many but not all commands (See Clause 6). A Device Fault is any event that
prevents the device from completing a command that is not the result of an error described in the Error
register. Recovery from Device Fault is device specific. See Streaming Command feature Set, (Clause 4.17)
for description of SE bit.
The use of bits marked with # are command dependent (See Clause 6). Bit 4 was formerly the DSC (Device
Seek Complete) bit.
Page 62
T13/1532D Volume 1 Revision 4b
DRQ indicates that the device is ready to transfer data between the host and the device. After the host has
written the Command register the device shall either set the BSY bit to one or the DRQ bit to one, until
command completion or the device has performed a bus release for an overlapped command.
1) when BSY is set to one and data is ready for PIO transfer;
2) during the data transfer of DMA commands either the BSY bit, the DRQ bit, or both shall
be set to one.
1) transfer data via DMA mode if DMARQ and DMACK- are asserted and BSY is set to
one.
Some bits in this register were defined in previous ATA standards but have been declared obsolete in this
standard.
ERR indicates that an error occurred during execution of the previous command. For the PACKET and
SERVICE commands, this bit is defined as CHK and indicates that an exception condition exists (See 2.1).
1) when BSY or DRQ is set to one and an error occurs in the executing command.
Page 63
T13/1532D Volume 1 Revision 4b
When the ERR bit is cleared to zero at the end of a command the content of the Error register shall be
ignored by the host.
References to parallel implementation bus signals (e.g. DMACK, DMARQ, etc) apply only to parallel
implementations. Some register bits (e.g. nIEN, SRST, etc.) are handled differently in the serial
implementation (See Volume 3)
Page 64
T13/1532D Volume 1 Revision 4b
A device not implementing the PACKET command feature set shall place the signature in the Command
Block registers listed below for power-on reset, hardware reset, software reset, and the EXECUTE DEVICE
DIAGNOSTIC command.
If the device does not implement the PACKET command feature set, the signature shall be:
Sector Count 01h
LBA Low 01h
LBA Mid 00h
LBA High 00h
Device 00h
A device implementing the PACKET command feature set shall place the signature in the Command Block
registers listed below for power-on reset, hardware reset, software reset, the EXECUTE DEVICE
DIAGNOSTIC command, and the DEVICE RESET command. The DEVICE RESET command shall not
change the value of the DEV bit when writing the signature into the Device register for a device implementing
the PACKET command feature set. If the device implements the PACKET command feature set, the
signature is also written in the registers for the IDENTIFY DEVICE and READ SECTOR(S) commands.
5.15.2 Signature for devices implementing the PACKET command feature set
If the device implements the PACKET command feature set, the signature shall be:
Interrupt Reason 01h
LBA Low 01h
Byte Count Low 14h
Byte Count High EBh
Device 000x0000b where x equals 0 except when responding to a
DEVICE RESET, IDENTIFY DEVICE, or READ
SECTOR(S) command. For a DEVICE RESET, IDENTIFY
DEVICE, or READ SECTOR(S) command the value of x is
not changed from that existing when the command is
written to the Command register.
If the PACKET command feature set is implemented by a device, then the signature values written by the
device in the Command Block registers following power-on reset, hardware reset, software reset, or the
DEVICE RESET command shall not be changed by the device until the device receives a command that sets
DRDY to one. Writes by the host to the Command Block registers that contain the signature values shall
overwrite the signature values and invalidate the signature.
The following signatures are Reserved. The use of this signature is not defined by this standard.
Page 65
T13/1532D Volume 1 Revision 4b
In a single device configuration where Device 0 is the only device and the host selects Device 1, Device 0
shall respond as follows:
1) A write to the Device Control register shall complete as if Device 0 was the selected device;
2) A write to a Command Block register, other than the Command register, shall complete as if
Device 0 was selected;
3) A write to the Command register shall be ignored, except for EXECUTE DEVICE DIAGNOSTIC;
4) If the device does not implement the PACKET Command feature set, a read of the Control Block
or Command Block registers, other than the Status or Alternate Status registers, shall complete
as if Device 0 was selected. A read of the Status or Alternate status register shall return the
value 00h.;
5) If the device implements the PACKET Command feature set, a read of the Control Block or
Command Block registers shall return the value 00h.
NOTE − Even though Device 1 is not present, the register content may appear valid for Device 1. Further
means may be necessary to determine the existence of Device 1 (e.g., issuing a command).
In a single device configuration where Device 1 is the only device and the host selects Device 0, Device 1
shall respond to accesses of the Command Block and Control Block registers in the same way it would if
Device 0 was present. This is because Device 1 cannot determine if Device 0 is, or is not, present.
Host implementation of read and write operations to the Command and Control Block registers of non-
existent Device 0 are host specific.
NOTE − The remainder of this subclause is a recommendation for hosts. The host implementor
should be aware of the following when supporting Device 1 only configurations:
1) Following a hardware reset or software reset, the following steps may be used to reselect
Device 1:
a) Write to the Device register with DEV bit set to one;
b) Using one or more of the Command Block registers that may be both written and
read, such as the Sector Count or LBA Low, write a data pattern other than 00h or
FFh to the register(s);
c) Read the register(s) written in step (b). If the data read is the same as the data
written, proceed to step (e);
d) Repeat steps (a) to (c) until the data matches in step (c) or until 31 s has past.
After 31 s the host may assume that Device 1 is not functioning properly;
Page 66
T13/1532D Volume 1 Revision 4b
e) Read the Status register and Error registers. Check the Status and Error register
contents for any error conditions that Device 1 may have posted.
2) Following the execution of an EXECUTE DEVICE DIAGNOSTIC command, no Interrupt
Pending should be set to signal command completion. After writing the EXECUTE
DEVICE DIAGNOSTIC command to the Command register, execute steps (a) to (e) as
described in (1) above;
3) At all other times, do not write zero into the DEV bit of the Device register. All other
commands execute normally.
Page 67
T13/1532D Volume 1 Revision 4b
6 Command Descriptions
6.1 Overview
Commands are issued to the device by loading the required registers in the command block with the needed
parameters and then writing the command code to the Command register. Required registers are those
indicated by a specific content in the Inputs table for the command, i.e., not noted as na or obs.
References to parallel implementation bus signals (e.g. DMACK, DMARQ, etc) apply only to parallel
implementations. See Volume 3 for additional information on serial protocol. Some register bits (e.g. nIEN,
SRST, etc.) have different requirements in the serial implementation (See Volume 3).
Each command description in the following clauses contains the following subclauses:
Feature set -Specifies feature set and if the command is mandatory or optional.
Protocol -Specifies which protocol is used by the command (See Clause 11).
Inputs - Describes the Command Block register data that the host shall supply.
Register 7 6 5 4 3 2 1 0
Features
Sector Count
LBA Low
LBA Mid
LBA High
Device
Command Command Code
NOTE − na specifies the content of a bit or field is not applicable to the particular command. Obs specifies
that the use of this bit is obsolete.
Normal outputs - Describes the Command Block register data returned by the device at the end of a
command.
Register 7 6 5 4 3 2 1 0
Error
Sector Count
LBA Low
LBA Mid
LBA High
Device
Status
NOTE − na indicates the content of a bit or field is not applicable to the particular command. Obs indicates
that the use of this bit is obsolete.
Error outputs - Describes the Command Block register data that shall be returned by the device at command
completion with an unrecoverable error.
Page 68
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error
Sector Count
LBA Low
LBA Mid
LBA High
Device
Status
NOTE − na indicates the content of a bit or field is not applicable to the particular command. Obs indicates
that the use of this bit is obsolete.
Prerequisites - Any prerequisite commands or conditions that shall be met before the command is issued.
Page 69
T13/1532D Volume 1 Revision 4b
C0h
This command code is Vendor Specific for devices not implementing the CFA feature Set.
6.2.3 Protocol
6.2.4 Inputs
The LBA High, LBA Mid, LBA Low, and Device registers specify the starting sector address to be erased.
The Sector Count register specifies the number of sectors to be erased.
Register 7 6 5 4 3 2 1 0
Features na
Sector Count Sector count
LBA Low LBA (7:0)
LBA Mid LBA (15:8)
LBA High LBA (23:16)
Device obs LBA obs DEV LBA (27:24)
Command C0h
Sector Count -
number of sectors to be erased. A value of 00h specifies that 256 sectors are to be erased.
LBA Low -
starting LBA bits (7:0).
LBA Mid -
starting LBA bits (15:8).
LBA High -
starting LBA bits (23:16).
Device -
the LBA bit shall be set to one to specify the address is an LBA, starting LBA bits (27:24).
Register 7 6 5 4 3 2 1 0
Error na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Status BSY DRDY na na na na na ERR
Page 70
T13/1532D Volume 1 Revision 4b
Status register
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
ERR shall be cleared to zero.
The device shall return command aborted if the command is not supported. An unrecoverable error
encountered during execution of this command results in the termination of the command. The command
block registers contain the address of the sector where the first unrecovered error occurred.
Register 7 6 5 4 3 2 1 0
Error na na na IDNF na ABRT na MED
Sector Count na
LBA Low LBA (7:0)
LBA Mid LBA (15:8)
LBA High LBA (23:16)
Device obs na obs DEV LBA (27:24)
Status BSY DRDY DF na na na na ERR
Error Register -
IDNF shall be set to one if a user-accessible address could not be found. IDNF shall be set to one if
an address outside of the range of user-accessible addresses is requested if command
aborted is not returned.
ABRT shall be set to one if the command is not supported. ABRT may be set to one if the device is
not able to complete the action requested by the command. ABRT shall be set to one if an
address outside of the range of user-accessible addresses is requested if IDNF is not set to
one.
MED shall be set to one if a media error is detected.
LBA Low, LBA Mid, LBA High, Device-
shall be written with the address of first unrecoverable error.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
ERR shall be set to one if an Error register bit is set to one.
6.2.7 Prerequisites
6.2.8 Description
This command pre-erases and conditions from 1 to 256 sectors as specified in the Sector Count register.
This command should be issued in advance of a CFA WRITE SECTORS WITHOUT ERASE or a CFA
WRITE MULTIPLE WITHOUT ERASE command to increase the execution speed of the write operation.
Page 71
T13/1532D Volume 1 Revision 4b
03h
6.3.3 Protocol
6.3.4 Inputs
Register 7 6 5 4 3 2 1 0
Features na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Command 03h
The extended error code written into the Error register is an 8-bit code. Table 10 defines these values.
Register 7 6 5 4 3 2 1 0
Error Extended error code
Sector Count Vendor specific
LBA Low Vendor specific
LBA Mid Vendor specific
LBA High Vendor specific
Device obs na obs DEV Vendor specific
Status BSY DRDY na na na na na ERR
Error register -
Extended error code.
LBA Low, LBA Mid, LBA High, Device -
May contain additional information.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
ERR shall be cleared to zero.
Page 72
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error na na na na na ABRT na na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Status BSY DRDY DF na na na na ERR
Error Register -
ABRT shall be set to one if the command is not supported. ABRT may be set to one if the device is
not able to complete the action requested by the command.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
ERR shall be set to one if an Error register bit is set to one.
6.3.7 Prerequisites
Page 73
T13/1532D Volume 1 Revision 4b
6.3.8 Description
This command provides an extended error code which identifies the cause of an error condition in more
detail than is available with Status and Error register values. The CFA REQUEST EXTENDED ERROR
CODE command shall return an extended error code if the previous command completed with an error or a
no error detected extended error code if the previous command completed without error.
Page 74
T13/1532D Volume 1 Revision 4b
87h
This command code is Vendor Specific for devices not implementing the CFA feature Set.
6.4.3 Protocol
6.4.4 Inputs
Register 7 6 5 4 3 2 1 0
Features na
Sector Count na
LBA Low LBA (7:0)
LBA Mid LBA (15:8)
LBA High LBA (23:16)
Device obs LBA obs DEV LBA (27:24)
Command 87h
LBA Low -
LBA bits (7:0).
LBA Mid -
LBA bits (15:8).
LBA High -
LBA bits (23:16).
Device-
the LBA bit shall be set to one to specify the address is an LBA, LBA bits (27:24).
A 512 byte information table is transferred to the host. Table 11 defines these values.
Register 7 6 5 4 3 2 1 0
Error na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Status BSY DRDY na na na na na ERR
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
ERR shall be cleared to zero.
Page 75
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error na na na na na ABRT na na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Status BSY DRDY DF na na na na ERR
Error Register -
ABRT shall be set to one if the command is not supported. ABRT may be set to one if the device is
not able to complete the action requested by the command.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
ERR shall be set to one if an Error register bit is set to one.
6.4.7 Prerequisites
6.4.8 Description
This command provides information related to a specific sector. The data indicates the erased or not erased
status of the sector, and the number of erase and write cycles performed on that sector. Devices may return
zero in fields that do not apply or that are not supported by the device.
Page 76
T13/1532D Volume 1 Revision 4b
CDh
6.5.3 Protocol
6.5.4 Inputs
The LBA Mid, LBA High, Device, and LBA Low specify the starting sector address to be written. The Sector
Count register specifies the number of sectors to be transferred.
Register 7 6 5 4 3 2 1 0
Features na
Sector Count Sector count
LBA Low LBA (7:0)
LBA Mid LBA (15:8)
LBA High LBA (23:16)
Device obs LBA obs DEV LBA (27:24)
Command CDh
Sector Count -
number of sectors to be transferred. A value of 00h specifies that 256 sectors are to be transferred.
LBA Low -
starting LBA bits (7:0).
LBA Mid -
starting LBA bits (15:8).
LBA High -
starting LBA bits (23:16).
Device/Head -
the LBA bit shall be set to one to specify the address is an LBA, starting LBA bits (27:24).
Register 7 6 5 4 3 2 1 0
Error na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Status BSY DRDY na na na na na ERR
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
ERR shall be cleared to zero.
Page 77
T13/1532D Volume 1 Revision 4b
The device shall return command aborted if the command is not supported. An unrecoverable error
encountered during execution of this command results in the termination of the command. The command
block registers contain the address of the sector where the first unrecovered error occurred. The amount of
data transferred is indeterminate.
Register 7 6 5 4 3 2 1 0
Error na na na IDNF na ABRT na MED
Sector Count na
LBA Low LBA (7:0)
LBA Mid LBA (15:8)
LBA High LBA (23:16)
Device obs na obs DEV LBA (27:24)
Status BSY DRDY DF na DRQ na na ERR
Error Register -
IDNF shall be set to one if a user-accessible address could not be found. IDNF shall be set to one if
an address outside of the range of user-accessible addresses is requested if command
aborted is not returned.
ABRT shall be set to one if the command is not supported. ABRT may be set to one if the device is
not able to complete the action requested by the command. ABRT shall be set to one if an
address outside of the range of user-accessible addresses is requested if IDNF is not set to
one.
MED shall be set to one if a media error is detected
LBA Low, LBA Mid, LBA High, Device-
shall be written with the address of first unrecoverable error.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one.
6.5.7 Prerequisites
DRDY set to one. If bit 8 of IDENTIFY DEVICE data word 59 is cleared to zero, a successful SET MULTIPLE
MODE command shall precede a CFA WRITE MULTIPLE WITHOUT ERASE command.
6.5.8 Description
This command is similar to the WRITE MULTIPLE command. Interrupts are not generated on every sector,
but on the transfer of a block that contains the number of sectors defined by the SET MULTIPLE MODE.
Command execution is identical to the WRITE MULTIPLE operation except that the sectors are written
without an implied erase operation. The sectors should be pre-erased by a preceding CFA ERASE
SECTORS command.
Page 78
T13/1532D Volume 1 Revision 4b
38h
6.6.3 Protocol
6.6.4 Inputs
The LBA Mid, LBA High, Device, and LBA Low specify the starting sector address to be written. The Sector
Count register specifies the number of sectors to be transferred.
Register 7 6 5 4 3 2 1 0
Features na
Sector Count Sector count
LBA Low LBA (7:0)
LBA Mid LBA (15:8)
LBA High LBA (23:16)
Device obs LBA obs DEV LBA (27:24)
Command 38h
Sector Count -
number of sectors to be transferred. A value of 00h specifies that 256 sectors are to be transferred.
LBA Low -
starting LBA bits (7:0).
LBA Mid -
starting LBA bits (15:8).
LBA High -
starting LBA bits (23:16).
Device -
the LBA bit shall be set to one to specify the address is an LBA, starting LBA bits (27:24).
Register 7 6 5 4 3 2 1 0
Error na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Status BSY DRDY na na na na na ERR
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
ERR shall be cleared to zero.
Page 79
T13/1532D Volume 1 Revision 4b
The device shall return command aborted if the command is not supported. An unrecoverable error
encountered during execution of this command results in the termination of the command. The command
block registers contain the address of the sector where the first unrecovered error occurred. The amount of
data transferred is indeterminate.
Register 7 6 5 4 3 2 1 0
Error na na na IDNF na ABRT na MED
Sector Count na
LBA Low LBA (7:0)
LBA Mid LBA (15:8)
LBA High LBA (23:16)
Device obs na obs DEV LBA (27:24)
Status BSY DRDY DF na DRQ na na ERR
Error Register -
IDNF shall be set to one if a user-accessible address could not be found. IDNF shall be set to one if
an address outside of the range of user-accessible addresses is requested if command
aborted is not returned.
ABRT shall be set to one if the command is not supported. ABRT may be set to one if the device is
not able to complete the action requested by the command. ABRT shall be set to one if an
address outside of the range of user-accessible addresses is requested if IDNF is not set to
one.
MED shall be set to one if a media error is detected
LBA Low, LBA Mid, LBA High, Device-
shall be written with the address of first unrecoverable error.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one.
6.6.7 Prerequisites
6.6.8 Description
This command is similar to the WRITE SECTORS command. Command execution is identical to the WRITE
SECTORS operation except that the sectors are written without an implied erase operation. The sectors
should be pre-erased by a preceding CFA ERASE SECTORS command.
Page 80
T13/1532D Volume 1 Revision 4b
D1h
− Mandatory when the Media Card Pass Through Command feature set is implemented
6.7.3 Protocol
6.7.4 Inputs
Register 7 6 5 4 3 2 1 0
Features na ENB
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Command D1h
Feature register -
ENB shall be set to one to enable the Media Card Pass Through Command feature set. ENB cleared
to zero shall disable the Media Card Pass Through Command feature set.
NOTE - Power-on, hardware, or software reset disables the Media Card Pass Through Command feature
set.
Device register -
DEV shall specify the selected device.
The device shall return 55H in Sector Count register and AAH in LBA Low register.
Register 7 6 5 4 3 2 1 0
Error na
Sector Count 55h
LBA Low AAh
LBA Mid Card specific data
LBA High Card specific data
Device obs na obs DEV WP Media Type
Status BSY DRDY DF na DRQ 0 0 ERR
Page 81
T13/1532D Volume 1 Revision 4b
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
If this command is not supported or there is an error in processing this command, the device shall return
command aborted.
Register 7 6 5 4 3 2 1 0
Error na na na na na ABRT na na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Status BSY DRDY DF na DRQ na na ERR
Error register -
ABRT shall be set to one If the command is not supported or if an error occurred during the
execution of the command.
Device/Head register -
DEV shall indicate the selected device
Status register -
ERR (B0) shall be set to 1 to indicate error occurred
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one.
6.7.7 Description
The CHECK MEDIA CARD TYPE command allows the host to determine if the device supports the Media
Card Pass Through Command feature set. If the ENB bit in the Features register is set to one, IDENTIFY
DEVICE data bit 3 word 87 shall be set to one upon successful command completion.
If the adapter supports the Media Card Pass Through Command feature set and the ENB bit of the Features
register is set to one, the adapter shall process any further Media Card Pass Through Command feature set
commands. If the ENB bit is cleared to zero, the adapter shall not interpret the command codes D2 through
D4 as the Media Card Pass Through Command feature set commands. If the adapter does not support the
Media Card Pass Through Command feature set, or the host has disabled the Media Card Pass Through
Command feature set mode by clearing the ENB bit to zero, the host shall not send any further Media Card
Pass Through Command feature set commands to the adapter.
Page 82
T13/1532D Volume 1 Revision 4b
E5h
6.8.3 Protocol
6.8.4 Inputs
Register 7 6 5 4 3 2 1 0
Features na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Command E5h
Device register -
DEV shall specify the selected device.
Register 7 6 5 4 3 2 1 0
Error na
Sector Count Result value
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Status BSY DRDY DF na DRQ na na ERR
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
Device register -
DEV shall indicate the selected device.
Page 83
T13/1532D Volume 1 Revision 4b
The device shall return command aborted if the device does not support the Power Management feature set.
Register 7 6 5 4 3 2 1 0
Error na na na na na ABRT na na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Status BSY DRDY DF na DRQ na na ERR
Error register -
ABRT shall be set to one if Power Management feature set is not supported. ABRT may be set to
one if the device is not able to complete the action requested by the command.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one.
6.8.7 Prerequisites
6.8.8 Description
The CHECK POWER MODE command allows the host to determine the current power mode of the device.
The CHECK POWER MODE command shall not cause the device to change power or affect the operation of
the Standby timer.
Page 84
T13/1532D Volume 1 Revision 4b
51h
6.9.3 Protocol
6.9.4 Inputs
Register 7 6 5 4 3 2 1 0
Features Current A/R R/W Reserved Stream ID
Previous Default CCTL (7:0)
Sector Count Current AU Size In Sectors (7:0)
Previous AU Size In Sectors (15:8)
LBA Low Current Reserved (7:0)
Previous Reserved (31:24)
LBA Mid Current Reserved (15:8)
Previous Reserved (39:32)
LBA High Current Reserved (23:16)
Previous Reserved (47:40)
Device obs LBA obs DEV Reserved
Command 51h
NOTE − The value indicated as Current is the value most recently written to the register. The value
indicated as Previous is the value that was in the register before the most recent write to the register.
Page 85
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error na
Sector Count HOB = 0 Reserved
HOB = 1 Reserved
LBA Low HOB = 0 Reserved
HOB = 1 Reserved
LBA Mid HOB = 0 Reserved
HOB = 1 Reserved
LBA High HOB = 0 Reserved
HOB = 1 Reserved
Device obs na obs DEV Reserved
Status BSY DRDY SE na DRQ na na ERR
NOTE − HOB = 0 indicates the value read by the host when the HOB bit of the Device Control register is
cleared to zero. HOB = 1 Indicates the value read by the host when the HOB bit of the Device Control
register is set to one.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
SE shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
Register 7 6 5 4 3 2 1 0
Error na na na na na ABRT na obs
Sector Count HOB = 0 Reserved
HOB = 1 Reserved
LBA Low HOB = 0 Reserved
HOB = 1 Reserved
LBA Mid HOB = 0 Reserved
HOB = 1 Reserved
LBA High HOB = 0 Reserved
HOB = 1 Reserved
Device obs na obs DEV Reserved
Status BSY DRDY SE na DRQ na na ERR
NOTE − HOB = 0 indicates the value read by the host when the HOB bit of the Device Control register is
cleared to zero. HOB = 1 Indicates the value read by the host when the HOB bit of the Device Control
register is set to one.
Error register -
ABRT shall be set to one if:
The drive cannot support the requested stream configuration
A/R = 0 and the Features Register contains an unconfigured Stream ID
The Default CCTL cannot be supported by the device
The device does not support the Streaming Feature Set.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
SE shall be cleared to zero.
Page 86
T13/1532D Volume 1 Revision 4b
6.9.7 Prerequisites
6.9.8 Description
The CONFIGURE STREAM command specifies the operating parameters of an individual stream. A
CONFIGURE STREAM command may be issued for each stream that is to be added or removed from the
current operating configuration. If A/R = 1 and the specified Stream ID is already valid at the device, the new
parameters shall replace the old parameters, unless Command Abort is returned (See ABRT conditions for
Error register). In this case the old parameters for the specified Stream ID shall remain in effect.
Page 87
T13/1532D Volume 1 Revision 4b
6.10.1.3 Protocol
6.10.1.4 Inputs
Register 7 6 5 4 3 2 1 0
Features C0h
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device na DEV na
Command B1h
Device -
DEV shall specify the selected device.
Register 7 6 5 4 3 2 1 0
Error na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Status BSY DRDY DF na DRQ na na ERR
Page 88
T13/1532D Volume 1 Revision 4b
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
Register 7 6 5 4 3 2 1 0
Error na na na na na ABRT na na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Status BSY DRDY DF na DRQ na na ERR
Error register -
ABRT shall be set to one if the device does not support this command, if a Host Protected Area has
been set by a SET MAX ADDRESS or SET MAX ADDRESS EXT command, or if DEVICE
CONFIGURATION FREEZE LOCK is set.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one.
6.10.1.7 Prerequisites
6.10.1.8 Description
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 data to the original settings as indicated by the data returned from the execution of a
DEVICE CONFIGURATION IDENTIFY command.
Page 89
T13/1532D Volume 1 Revision 4b
6.10.2.3 Protocol
6.10.2.4 Inputs
Register 7 6 5 4 3 2 1 0
Features C1h
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device na DEV na
Command B1h
Device -
DEV shall specify the selected device.
Register 7 6 5 4 3 2 1 0
Error na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Status BSY DRDY DF na DRQ na na ERR
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
Register 7 6 5 4 3 2 1 0
Error na na na na na ABRT na na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Status BSY DRDY DF na DRQ na na ERR
Error register -
ABRT shall be set to one if the device does not support this command or the device has executed a
previous DEVICE CONFIGURATION FREEZE LOCK command since power-up.
Device register -
DEV shall indicate the selected device.
Page 90
T13/1532D Volume 1 Revision 4b
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one.
6.10.2.7 Prerequisites
6.10.2.8 Description
The DEVICE CONFIGURATION FREEZE LOCK command prevents accidental modification of the Device
Configuration Overlay settings. After successful execution of a DEVICE CONFIGURATION FREEZE LOCK
command, all DEVICE CONFIGURATION SET, DEVICE CONFIGURATION FREEZE LOCK, DEVICE
CONFIGURATION IDENTIFY, and DEVICE CONFIGURATION RESTORE commands shall be aborted by
the device. The DEVICE CONFIGURATION FREEZE LOCK condition shall be cleared by a power-down.
The DEVICE CONFIGURATION FREEZE LOCK condition shall not be cleared by hardware or software
reset.
6.10.3.3 Protocol
6.10.3.4 Inputs
Register 7 6 5 4 3 2 1 0
Features C2h
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device na DEV na
Command B1h
Device -
DEV shall specify the selected device.
Page 91
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Status BSY DRDY DF na DRQ na na ERR
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
Register 7 6 5 4 3 2 1 0
Error na na na na na ABRT na na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Status BSY DRDY DF na DRQ na na ERR
Error register -
ABRT shall be set to one if the device does not support this command or the device has executed a
previous DEVICE CONFIGURATION FREEZE LOCK command since power-up.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one.
6.10.3.7 Prerequisites
6.10.3.8 Description
The DEVICE CONFIGURATION IDENTIFY command returns a 512 byte data structure via PIO data-in
transfer. The content of this data structure indicates the selectable commands, modes, and feature sets that
the device is capable of supporting. If a DEVICE CONFIGURATION SET command has been issued
reducing the capabilities, the response to an IDENTIFY DEVICE or IDENTIFY PACKET DEVICE command
will reflect the reduced set of capabilities, while the DEVICE CONFIGURATION IDENTIFY command will
reflect the entire set of selectable capabilities.
The term ‘is allowed’ indicates that the device may report that a feature is supported and/or enabled.
Page 92
T13/1532D Volume 1 Revision 4b
If the device is not ‘allowed’ to report support, then the device shall not support and shall report that the
selected feature is both ‘not supported’ and if appropriate ‘not enabled.’
The format of the Device Configuration Overlay data structure is shown in Table 13.
Word 1 bits (2:0) contain the same information as contained in word 63 of the IDENTIFY DEVICE or
IDENTIFY PACKET DEVICE command data (See 6.17.31). Bits (15:3) of word 1 are reserved.
Page 93
T13/1532D Volume 1 Revision 4b
Word 2 bits (6:0) contain the same information as contained in word 88 of the IDENTIFY DEVICE or
IDENTIFY PACKET DEVICE command data (See 6.17.44). Bits (15:7) of word 2 are reserved.
Words (6:3) define the maximum LBA. This is the highest address accepted by the device in the factory
default condition. If no DEVICE CONFIGURATION SET command has been executed modifying the factory
default condition, this is the same value as that returned by a READ NATIVE MAX ADDRESS or READ
NATIVE MAX ADDRESS EXT command.
Word 7 bit 0 if set to one indicates that the device is allowed to report support for the SMART feature set.
Word 7 bit 1 if set to one indicates that the device allowed to report support for SMART self-test including the
self-test log.
Word 7 bit 2 if set to one indicates that the device is allowed to report support for SMART error logging.
Word 7 bit 3 if set to one indicates that the device is allowed to report support for the Security feature set.
Word 7 bit 4 if set to one indicates that the device is allowed to report support for the Power-up in Standby
feature set.
Word 7 bit 5 if set to one indicates that the device is allowed to report support for the READ DMA QUEUED
and WRITE DMA QUEUED commands.
Word 7 bit 6 if set to one indicates that the device is allowed to report support for the Automatic Acoustic
Management feature set.
Word 7 bit 7 if set to one indicates that the device is allowed to report support for the Host Protected Area
feature set.
Word 7 bit 8 if set to one indicates that the device is allowed to report support for the 48-bit Addressing
feature set.
Word 7 bit 9 if set to one indicates that the device is allowed to report support for Streaming feature set.
Word 7 bit 11if set to one indicates that the device is allowed to report support for Force Unit Access
commands.
Word 7 bit 12 if set to one indicates that the device is allowed to report support for SMART Selective self-
test.
Word 7 bit 13 if set to one indicates that the device is allowed to report support for SMART Conveyance
self-test.
Page 94
T13/1532D Volume 1 Revision 4b
Bits (7:0) of this word shall contain the value A5h. Bits (15:8) of this word shall contain the data structure
checksum. The data structure checksum shall be the two’s complement of the sum of all byte in words
(154:0) and the byte consisting of bits (7:0) of word 255. Each byte shall be added with unsigned arithmetic,
and overflow shall be ignored. The sum of all bytes is zero when the checksum is correct.
6.10.4.3 Protocol
6.10.4.4 Inputs
Register 7 6 5 4 3 2 1 0
Features C3h
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device na DEV na
Command B1h
Device -
DEV shall specify the selected device.
Register 7 6 5 4 3 2 1 0
Error na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Status BSY DRDY DF na DRQ na na ERR
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
Page 95
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error na na na na na ABRT na na
Sector Count Vendor specific
LBA Low Bit location low
LBA Mid Bit location high
LBA High Word location
Device obs na obs DEV na
Status BSY DRDY DF na DRQ na na ERR
Error register -
ABRT shall be set to one if the device does not support this command, if a DEVICE CONFIGURATION SET
command has already modified the original settings as reported by a DEVICE CONFIGURATION IDENTIFY
command, if DEVICE CONFIGURATION FREEZE LOCK is set, if any of the bit modification restrictions
described in 6.10.4.8 are violated, or if a Host Protected Area has been established by the execution of a
SET MAX ADDRESS or SET MAX ADDRESS EXT command, or if an attempt was made to modify a mode
or feature that cannot be modified with the device in its current state.
Sector Count -
This register may contain a vendor specific value.
LBA Low -
If the command was aborted because an attempt was made to modify a mode or feature that cannot
be modified with the device in its current state, this register shall contain bits (7:0) set in the
bit positions that correspond to the bits in the device configuration overlay data structure
words 1, 2, or 7 for each mode or feature that cannot be changed. If not, the value shall be
00h.
LBA Mid -
If the command was aborted because an attempt was made to modify a mode or feature that cannot
be modified with the device in its current state, this register shall contain bits (15:8) set in the
bit positions that correspond to the bits in the device configuration overlay data structure
words 1, 2, or 7 for each mode or feature that cannot be changed. If not, the value shall be
00h.
LBA High -
If the command was aborted because an attempt was made to modify a bit that cannot be modified
with the device in its current state, this register shall contain the offset of the first word
encountered that cannot be changed. If an illegal maximum LBA is encountered, the offset of
word 3 shall be entered. If a checksum error occurred, the value FFh shall be entered. A
value of 00h indicates that the Data Structure Revision was invalid.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one.
6.10.4.7 Prerequisites
6.10.4.8 Description
The DEVICE CONFIGURATION SET command allows a device manufacturer or a personal computer
system manufacturer to reduce the set of optional commands, modes, or feature sets supported by a device
as indicated by a DEVICE CONFIGURATION IDENTIFY command. The DEVICE CONFIGURATION SET
Page 96
T13/1532D Volume 1 Revision 4b
command transfers an overlay that modifies some of the bits set in words 63, 82, 83, 84, and 88 of the
IDENTIFY DEVICE or IDENTIFY PACKET DEVICE command data. When the bits in these words are
cleared, the device shall no longer support the indicated command, mode, or feature set. If a bit is set in the
overlay transmitted by the device that is not set in the overlay received from a DEVICE CONFIGURATION
IDENTIFY command, no action is taken for that bit. Modifying the maximum LBA of the device also modifies
the address value returned by a READ NATIVE MAX ADDRESS or READ NATIVE MAX ADDRESS EXT
command.
The format of the overlay transmitted by the device is described in Table 14. The restrictions on changing
these bits is described in the text following Table 14. If any of the bit modification restrictions described are
violated, the device shall return command aborted.
The term ‘is allowed’ indicates that the device may report that a feature is supported and/or enabled.
If the device is not ‘allowed’ to report support, then the device shall not support and shall report that the
selected feature is both ‘not supported’ and if appropriate ‘not enabled.’
Page 97
T13/1532D Volume 1 Revision 4b
Word 1 bit 2 is cleared to disable support for Multiword DMA mode 2 and has the effect of clearing bit 2 in
word 63 of the IDENTIFY DEVICE or IDENTIFY PACKET DEVICE response. This bit shall not be cleared to
zero if Multiword DMA mode 2 is currently selected.
Word 1 bit 1 is cleared to disable support for Multiword DMA mode 1 and has the effect of clearing bit 1 to
zero in word 63 of the IDENTIFY DEVICE or IDENTIFY PACKET DEVICE response. This bit shall not be
cleared to zero if Multiword DMA mode 2 is supported or Multiword DMA mode 1 or 2 is selected.
Page 98
T13/1532D Volume 1 Revision 4b
Word 2 bit 6 is cleared to zero to disable support for Ultra DMA mode 6 and has the effect of clearing bit 6 to
zero in word 88 of the IDENTIFY DEVICE or IDENTIFY PACKET DEVICE response. This bit shall not be
cleared to zero if Ultra DMA mode 6 is currently selected.
Word 2 bit 5 is cleared to zero to disable support for Ultra DMA mode 5 and has the effect of clearing bit 5 to
zero in word 88 of the IDENTIFY DEVICE or IDENTIFY PACKET DEVICE response. This bit shall not be
cleared to zero if Ultra DMA mode 5 is currently selected.
Word 2 bit 4 is cleared to zero to disable support for Ultra DMA mode 4 and has the effect of clearing bit 4 to
zero in word 88 of the IDENTIFY DEVICE or IDENTIFY PACKET DEVICE response. This bit shall not be
cleared to zero if Ultra DMA mode 5 is supported or if Ultra DMA mode 5 or 4 is selected.
Word 2 bit 3 is cleared to zero to disable support for Ultra DMA mode 3 and has the effect of clearing bit 3 to
zero in word 88 of the IDENTIFY DEVICE or IDENTIFY PACKET DEVICE response. This bit shall not be
cleared to zero if Ultra DMA mode 5 or 4 is supported or if Ultra DMA mode 5, 4, or 3 is selected.
Word 2 bit 2 is cleared to zero to disable support for Ultra DMA mode 2 and has the effect of clearing bit 2 to
zero in word 88 of the IDENTIFY DEVICE or IDENTIFY PACKET DEVICE response. This bit shall not be
cleared to zero if Ultra DMA mode 5, 4, or 3 is supported or if Ultra DMA mode 5, 4, 3, or 2 is selected.
Word 2 bit 1 is cleared to zero to disable support for Ultra DMA mode 1 and has the effect of clearing bit 1 to
zero in word 88 of the IDENTIFY DEVICE or IDENTIFY PACKET DEVICE response. This bit shall not be
cleared to zero if Ultra DMA mode 5, 4, 3, or 2 is supported or if Ultra DMA mode 5, 4, 3, 2, or 1 is selected.
Word 2 bit 0 is cleared to zero to disable support for Ultra DMA mode 0 and has the effect of clearing bit 0 to
zero in word 88 of the IDENTIFY DEVICE or IDENTIFY PACKET DEVICE response. This bit shall not be
cleared to zero if Ultra DMA mode 5, 4, 3, 2, or 1 is supported or if Ultra DMA mode 5, 4, 3, 2, 1, or 0 is
selected.
Words (6:3) define the maximum LBA. This shall be the highest address accepted by the device after
execution of the command. When this value is changed, the content of IDENTIFY DEVICE data words
(61:60) and (103:100) shall be changed as described in the SET MAX ADDRESS and SET MAX ADDRESS
EXT command descriptions to reflect the maximum address set with this command. This value shall not be
changed and command aborted shall be returned if a Host Protected Area has been established by the
execution of a SET MAX ADDRESS or SET MAX ADDRESS EXT command with an address value less than
that returned by a READ NATIVE MAX ADDRESS or READ NATIVE MAX ADDRESS EXT command. Any
data contained in the Host Protected Area is not affected.
Word 7 bit 13 is cleared to zero to disable support for the SMART Conveyance self-test. Subsequent
attempts to start this test via the SMART EXECUTE OFF-LINE IMMEDIATE command shall cause that
command to abort. In addition, the SMART READ DATA command shall clear bit 5 to zero in the “Off-line
data collection capabilities“ field. If this bit is supported by DEVICE CONFIGURATION SET, then this feature
shall not be disabled by bit 1 of word 7.
Word 7 bit 12 is cleared to zero to disable support for the SMART Selective self-test. Subsequent attempts to
start this test test via the SMART EXECUTE OFF-LINE IMMEDIATE command shall cause that command to
abort. In addition, the SMART READ DATA command shall clear bit 6 to zero in the “Off-line data collection
Page 99
T13/1532D Volume 1 Revision 4b
capabilities “ field. If this bit is supported by DEVICE CONFIGURATION SET, then this feature shall not be
disabled by bit 1 of word 7.
Word 7 bit 11 is cleared to zero to disable support for the Force Unit Access commands and has the effect of
clearing bits 6 and 7 to zero in word 84 and word 87 of the IDENTIFY DEVICE or IDENTIFY PACKET
DEVICE response.
Word 7 bit 9 is cleared to zero to disable support for the Streaming feature set and has the effect of clearing
bits 4, 9 and 10 to zero in word 84 and word 87 and clearing the value in words (99:95) and word 104 of the
IDENTIFY DEVICE or IDENTIFY PACKET DEVICE response.
Word 7 bit 8 is cleared to zero to disable support for the 48-bit Addressing feature set and has the effect of
clearing bit 10 to zero in word 83 and word 86 and clearing the value in words (103:100) of the IDENTIFY
DEVICE or IDENTIFY PACKET DEVICE response.
Word 7 bit 7 is cleared to zero to disable support for the Host Protected Area feature set and has the effect of
clearing bit 10 to zero in word 82 and word 85 and clearing bit 8 to zero in word 83 and word 86 of the
IDENTIFY DEVICE or IDENTIFY PACKET DEVICE response. If a Host Protected Area has been established
by use of the SET MAX ADDRESS or SET MAX ADDRESS EXT command, these bits shall not be cleared
to zero and the device shall return command aborted.
Word 7 bit 6 is cleared to zero to disable for the Automatic Acoustic Management feature set and has the
effect of clearing bit 9 to zero in word 83 and word 94 of the IDENTIFY DEVICE or IDENTIFY PACKET
DEVICE response.
Word 7 bit 5 is cleared to zero to disable support for the READ DMA QUEUED and WRITE DMA QUEUED
commands and has the effect of clearing bit 1 to zero in word 83 and word 86 of the IDENTIFY DEVICE or
IDENTIFY PACKET DEVICE response.
Word 7 bit 4 is cleared to zero to disable support for the Power-up in Standby feature set and has the effect
of clearing bits (6:5) to zero in word 83 and word 86 and clearing the value in word 94 of the IDENTIFY
DEVICE or IDENTIFY PACKET DEVICE response. If Power-up in Standby has been enabled by a jumper,
these bits shall not be cleared.
Word 7 bit 3 is cleared to zero to disable support for the Security feature set and has the effect of clearing bit
1 to zero in word 82 and word 85 of the IDENTIFY DEVICE or IDENTIFY PACKET DEVICE response. These
bits shall not be cleared if the Security feature set has been enabled.
Word 7 bit 2 is cleared to zero to disable support for the SMART error logging and has the effect of clearing
bit 0 to zero in word 84 and word 87 of the IDENTIFY DEVICE or IDENTIFY PACKET DEVICE response.
Word 7 bit 1 is cleared to zero to disable support for the SMART self-test and has the effect of clearing bit 1
to zero in word 84 and word 87 of the IDENTIFY DEVICE or IDENTIFY PACKET DEVICE response.
Word 7 bit 1 disables support for the offline, short , extended self-tests (off-line and captive modes).
If bit 12 or bit 13 of word 7 are not supported, Word 7 bit 1 may also disable support for conveyance
self-test and selective self-test.
Word 7 bit 0 is cleared to zero to disable support for the SMART feature set and has the effect of clearing bit
0 to zero in word 82 and word 85 of the IDENTIFY DEVICE or IDENTIFY PACKET DEVICE response. If bits
(2:1) of word 7 are not cleared to zero or if the SMART feature set has been enabled by use of the SMART
ENABLE OPERATIONS command, these bits shall not be cleared and the device shall return command
aborted.
Page 100
T13/1532D Volume 1 Revision 4b
Bits (7:0) of this word shall contain the value A5h. Bits (15:8) of this word shall contain the data structure
checksum. The data structure checksum shall be the two’s complement of the sum of all byte in words
(254:0) and the byte consisting of bits (7:0) of word 255. Each byte shall be added with unsigned arithmetic,
and overflow shall be ignored. The sum of all bytes is zero when the checksum is correct.
Page 101
T13/1532D Volume 1 Revision 4b
08h
6.11.3 Protocol
6.11.4 Inputs
Register 7 6 5 4 3 2 1 0
Features na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Command 08h
Device register -
DEV shall specify the selected device.
Register 7 6 5 4 3 2 1 0
Error Diagnostic results
Sector Count signature
LBA Low signature
LBA Mid signature
LBA High signature
Device 0 0 0 DEV 0 0 0 0
Status See Clause 11
Error register -
The diagnostic code as described in 6.13 is placed in this register.
Sector Count, LBA Low, LBA Mid, LBA High -
Signature (See 5.15).
Device register -
DEV shall indicate the selected device.
Status register -
See Clause 11.
If supported, this command shall not end in an error condition. If this command is not supported and the
device has the BSY bit or the DRQ bit set to one when the command is written, the results of this command
Page 102
T13/1532D Volume 1 Revision 4b
are indeterminate. If this command is not supported and the device has the BSY bit and the DRQ bit cleared
to zero when the command is written, the device shall respond with command aborted.
6.11.7 Prerequisites
This command shall be accepted when BSY or DRQ is set to one, DRDY is cleared to zero, or DMARQ is
asserted. This command shall be accepted when in Sleep mode.
6.11.8 Description
The DEVICE RESET command enables the host to reset an individual device without affecting the other
device.
Page 103
T13/1532D Volume 1 Revision 4b
92h
6.12.3 Protocol
6.12.4 Inputs
Bits (3:0) of the Device register shall always be cleared to zero. The LBA High and LBA Mid registers shall
be cleared to zero. The LBA Low and Sector Count registers are used together as a 16-bit sector count
value. The Feature register specifies the subcommand code.
Register 7 6 5 4 3 2 1 0
Features Subcommand code
Sector Count Sector count (low order)
LBA Low Sector count (high order)
LBA Mid 00h
LBA High 00h
Device obs na obs DEV 0 0 0 0
Command 92h
Device register -
DEV shall specify the selected device.
Register 7 6 5 4 3 2 1 0
Error na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Status BSY DRDY DF na DRQ na na ERR
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
Page 104
T13/1532D Volume 1 Revision 4b
The device shall return command aborted if the device does not support this command or did not accept the
microcode data. The device shall return command aborted if subcommand code is not a supported value.
Register 7 6 5 4 3 2 1 0
Error na na na na na ABRT na na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Status BSY DRDY DF na DRQ na na ERR
Error register -
ABRT shall be set to one if the device does not support this command or did not accept the
microcode data. ABRT may be set to one if the device is not able to complete the action
requested by the command.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one.
6.12.7 Prerequisites
6.12.8 Description
This command enables the host to alter the device’s microcode. The data transferred using the
DOWNLOAD MICROCODE command is vendor specific.
All transfers shall be an integer multiple of the sector size. The size of the data transfer is determined by the
contents of the LBA Low register and the Sector Count register. The LBA Low register shall be used to
extend the Sector Count register to create a 16-bit sector count value. The LBA Low register shall be the
most significant eight bits and the Sector Count register shall be the least significant eight bits. A value of
zero in both the LBA Low register and the Sector Count register shall specify no data is to be transferred.
This allows transfer sizes from 0 bytes to 33,553,920 bytes, in 512 byte increments.
The Features register shall be used to determine the effect of the DOWNLOAD MICROCODE command.
The values for the Features register are:
Either or both values may be supported. All other values are reserved.
Page 105
T13/1532D Volume 1 Revision 4b
90h
6.13.3 Protocol
6.13.4 Inputs
Only the command code (90h). All other registers shall be ignored.
Register 7 6 5 4 3 2 1 0
Features na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs na na na na na
Command 90h
Device register -
DEV shall be ignored.
The diagnostic code written into the Error register is an 8-bit code. Table 15 defines these values. The values
of the bits in the Error register are not as defined in Volume 3, Clause 5. Both Device 0 and Device 1 shall
provide these register contents.
Register 7 6 5 4 3 2 1 0
Error Diagnostic code
Sector Count Signature
LBA Low Signature
LBA Mid Signature
LBA High Signature
Device Signature
Status See Clause 11
Error register -
Diagnostic code.
Sector Count, LBA Low, LBA Mid, LBA High, Device registers -
device signature (See 5.15).
Device register -
DEV shall be cleared to zero.
Status register -
See Clause 11.
Page 106
T13/1532D Volume 1 Revision 4b
Table 15 shows the error information that is returned as a diagnostic code in the Error register.
6.13.7 Prerequisites
6.13.8 Description
This command shall cause the devices to perform the internal diagnostic tests. Both devices, if present, shall
execute this command regardless of which device is selected.
If the host issues an EXECUTE DEVICE DIAGNOSTIC command while a device is in or going to a power
management mode except Sleep, then the device shall execute the EXECUTE DEVICE DIAGNOSTIC
sequence.
Page 107
T13/1532D Volume 1 Revision 4b
E7h
6.14.3 Protocol
6.14.4 Inputs
Register 7 6 5 4 3 2 1 0
Features na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Command E7h
Device register -
DEV shall specify the selected device.
Register 7 6 5 4 3 2 1 0
Error na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Status BSY DRDY DF na DRQ na na ERR
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
An unrecoverable error encountered during execution of writing data results in the termination of the
command and the Command Block registers contain the sector address of the sector where the first
Page 108
T13/1532D Volume 1 Revision 4b
unrecoverable error occurred. Subsequent FLUSH CACHE commands continue the process of flushing the
cache starting with the first sector after the sector in error.
Register 7 6 5 4 3 2 1 0
Error na na na na na ABRT na na
Sector Count na
LBA Low LBA (7:0)
LBA Mid LBA (15:8)
LBA High LBA (23:16)
Device obs na obs DEV LBA (27:24)
Status BSY DRDY DF na DRQ na na ERR
Error register -
ABRT may be set to one if the device is not able to complete the action requested by the command.
LBA Low, LBA Mid, LBA High, Device -
shall be written with the address of the first unrecoverable error. If the device supports the 48-bit
Address feature set and the error occurred in an address greater than FFFFFFFh, the value set in
the LBA Low, LBA Mid, and LBA High registers shall be FFh and the value set in bits (3:0) of the
Device register shall be Fh.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
--
ERR shall be set to one if an Error register bit is set to one.-
6.14.7 Prerequisites
6.14.8 Description
This command is used by the host to request the device to flush the write cache. If there is data in the write
cache, that data shall be written to the media. The BSY bit shall remain set to one until all data has been
successfully written or an error occurs.
EAh
6.15.3 Protocol
Page 109
T13/1532D Volume 1 Revision 4b
6.15.4 Inputs
Register 7 6 5 4 3 2 1 0
Features Current Reserved
Previous Reserved
Sector Count Current Reserved
Previous Reserved
LBA Low Current Reserved
Previous Reserved
LBA Mid Current Reserved
Previous Reserved
LBA High Current Reserved
Previous Reserved
Device obs na obs DEV na
Command EAh
NOTE − The value indicated as Current is the value most recently written to the register. The value
indicated as Previous is the value that was in the register before the most recent write to the register.
Device register -
DEV shall specify the selected device.
Register 7 6 5 4 3 2 1 0
Error na
Sector Count HOB = 0 Reserved
HOB = 1 Reserved
LBA Low HOB = 0 Reserved
HOB = 1 Reserved
LBA Mid HOB = 0 Reserved
HOB = 1 Reserved
LBA High HOB = 0 Reserved
HOB = 1 Reserved
Device obs na obs DEV Reserved
Status BSY DRDY DF na DRQ na na ERR
NOTE − HOB = 0 indicates the value read by the host when the HOB bit of the Device Control register is
cleared to zero. HOB = 1 Indicates the value read by the host when the HOB bit of the Device Control
register is set to one.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
An unrecoverable error encountered while writing data results in the termination of the command and the
Command Block registers contain the sector address of the sector where the first unrecoverable error
occurred. Subsequent FLUSH CACHE EXT commands continue the process of flushing the cache starting
with the first sector after the sector in error.
Page 110
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error na na na na na ABRT na na
Sector Count HOB = 0 Reserved
HOB = 1 Reserved
LBA Low HOB = 0 LBA (7:0)
HOB = 1 LBA (31:24)
LBA Mid HOB = 0 LBA (15:8)
HOB = 1 LBA (39:32)
LBA High HOB = 0 LBA (23:16)
HOB = 1 LBA (47:40)
Device obs na obs DEV Reserved
Status BSY DRDY DF na DRQ na na ERR
NOTE − HOB = 0 indicates the value read by the host when the HOB bit of the Device Control register is
cleared to zero. HOB = 1 Indicates the value read by the host when the HOB bit of the Device Control
register is set to one.
Error register -
ABRT shall be set to one if the device is not able to complete the action requested by the command.
LBA Low -
LBA (7:0) of the address of the first unrecoverable error when read with Device Control register HOB
bit cleared to zero.
LBA (31:24) of the address of the first unrecoverable error when read with Device Control register
HOB set to one.
LBA Mid -
LBA (15:8) of the address of the first unrecoverable error when read with Device Control register
HOB cleared to zero.
LBA (39:32) of the address of the first unrecoverable error when read with Device Control
register HOB set to one.
LBA High -
LBA (23:16) of the address of the first unrecoverable error when read with Device Control register HOB
cleared to zero.
LBA (47:40) of the address of the first unrecoverable error when read with Device Control register HOB
is set to one.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one; however, if SE is set to one, ERR shall
be cleared to zero.
6.15.7 Prerequisites
6.15.8 Description
This command is used by the host to request the device to flush the write cache. If there is data in the write
cache, that data shall be written to the madia.The BSY bit shall remain set to one until all data has been
successfully written or an error occurs.
Page 111
T13/1532D Volume 1 Revision 4b
DAh
6.16.4 Inputs
Register 7 6 5 4 3 2 1 0
Features na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Command DAh
Device register -
DEV shall specify the selected device.
Normal outputs are returned if Media Status Notification is disabled or if no bits are set to one in the Error
register.
Register 7 6 5 4 3 2 1 0
Error na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Status BSY DRDY DF na DRQ na na ERR
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
Page 112
T13/1532D Volume 1 Revision 4b
If the device does not support this command, the device shall return command aborted.
Register 7 6 5 4 3 2 1 0
Error na WP MC na MCR ABRT NM obs
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Status BSY DRDY DF na DRQ na na ERR
Error register -
ABRT shall be set to one if device does not support this command. ABRT may be set to one if the
device is not able to complete the action requested by the command.
NM (No Media) shall be set to one if no media is present in the device. This bit shall be set to one for
each execution of GET MEDIA STATUS until media is inserted into the device.
MCR (Media Change Request) shall be set to one if the eject button is pressed by the user and
detected by the device. The device shall reset this bit after each execution of the GET
MEDIA STATUS command and only set the bit again for subsequent eject button presses.
MC (Media Change) shall be set to one when the device detects media has been inserted. The
device shall reset this bit after each execution of the GET MEDIA STATUS command and
only set the bit again for subsequent media insertions.
WP (Write Protect) shall be set to one for each execution of GET MEDIA STATUS while the media is
write protected.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one.
6.16.7 Prerequisites
6.16.8 Description
This command returns media status bits WP, MC, MCR, and NM, as defined above. When Media Status
Notification is disabled this command returns zeros in the WP, MC, MCR, and NM bits.
Page 113
T13/1532D Volume 1 Revision 4b
ECh
6.17.3 Protocol
6.17.4 Inputs
Register 7 6 5 4 3 2 1 0
Features na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Command ECh
Device register -
DEV shall specify the selected device.
6.17.5 Outputs
Register 7 6 5 4 3 2 1 0
Error na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Status BSY DRDY DF na DRQ na na ERR
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
Page 114
T13/1532D Volume 1 Revision 4b
In response to this command, devices that implement the PACKET Command feature set shall post
command aborted and place the PACKET Command feature set signature in the Command Block registers
(See 5.15).
Devices not implementing the PACKET Command feature set shall not report an error.
6.17.7 Prerequisites
6.17.8 Description
The IDENTIFY DEVICE command enables the host to receive parameter information from the device.
Some devices may have to read the media in order to complete this command.
When the command is issued, the device sets the BSY bit to one, prepares to transfer the 256 words of
device identification data to the host, sets the DRQ bit to one, clears the BSY bit to zero, and asserts INTRQ
if nIEN is cleared to zero. The host may then transfer the data by reading the Data register. 16 defines the
arrangement and meaning of the parameter words in the buffer. All reserved bits or words shall be zero.
Some parameters are defined as a 16-bit value. A word that is defined as a 16-bit value places the most
significant bit of the value on signal line DD15 and the least significant bit on signal line DD0 (See 3.2.9). For
serial implementation see 3.2.10.
Some parameters are defined as 32-bit values (e.g., words (61:60)). Such fields are transferred using two
successive word transfers. The device shall first transfer the least significant bits, bits (15:0) of the value, on
signal lines DD(15:0) respectively. After the least significant bits have been transferred, the most significant
bits, bits (31:16) of the value, shall be transferred on DD(15:0) respectively (See 3.2.9).
Some parameters are defined as a string of ACSII characters. Such fields are transferred as defined in 3.2.9.
Page 115
T13/1532D Volume 1 Revision 4b
Page 116
T13/1532D Volume 1 Revision 4b
Page 117
T13/1532D Volume 1 Revision 4b
Page 118
T13/1532D Volume 1 Revision 4b
Page 119
T13/1532D Volume 1 Revision 4b
Page 120
T13/1532D Volume 1 Revision 4b
Page 121
T13/1532D Volume 1 Revision 4b
Bit 6 is obsolete.
If bit 2 is set to one it indicates that the content of the IDENTIFY DEVICE data is incomplete. This will occur if
the device supports the Power-up in Standby feature set and required data is contained on the device media.
In this case the content of at least word 0 and word 2 shall be valid.
Devices supporting the CFA feature set shall place the value 848Ah in word 0. In this case, the above
definitions for the bits in word 0 are not valid.
Page 122
T13/1532D Volume 1 Revision 4b
Value Description
37C8h Device requires SET FEATURES subcommand to spin-up after power-up
and IDENTIFY DEVICE data is incomplete (See 4.12).
738Ch Device requires SET FEATURES subcommand to spin-up after power-up
and IDENTIFY DEVICE data is complete (See 4.12).
8C73h Device does not require SET FEATURES subcommand to spin-up after
power-up and IDENTIFY DEVICE data is incomplete (See 4.12).
C837h Device does not require SET FEATURES subcommand to spin-up after
power-up and IDENTIFY DEVICE data is complete (See 4.12).
All other values Reserved.
This field contains the serial number of the device. The contents of this field is an ASCII character string of
twenty bytes. The device shall pad the character string with spaces (20h), if necessary, to ensure that the
string is the proper length. The combination of Serial number (words (19:10)) and Model number (words
(46:27)) shall be unique for a given manufacturer (See 3.2.9).
This field contains the firmware revision number of the device. The contents of this field is an ASCII
character string of eight bytes. The device shall pad the character string with spaces (20h), if necessary, to
ensure that the string is the proper length (See 3.2.9).
This field contains the model number of the device. The contents of this field is an ASCII character string of
forty bytes. The device shall pad the character string with spaces (20h), if necessary, to ensure that the
string is the proper length. The combination of Serial number (words (19:10)) and Model number (words
(46:27)) shall be unique for a given manufacturer (See 3.2.9).
Bits (7:0) of this word define the maximum number of sectors per block that the device supports for
READ/WRITE MULTIPLE commands. If the serial interface is implemented, this field shall be set to 16 or
less.
Page 123
T13/1532D Volume 1 Revision 4b
Bits (15:14) of word 49 are reserved for use in the IDENTIFY PACKET DEVICE command data.
Bit 13 of word 49 is used to determine whether a device uses the Standby timer values as defined in this
standard. Table 19 specifies the Standby timer values used by the device if bit 13 is set to one. If bit 13 is
cleared to zero, the timer values shall be vendor specific.
Bit 12 of word 49 is reserved for use in the IDENTIFY PACKET DEVICE command data.
Bit 11 of word 49 indicates whether a device supports IORDY. If this bit is set to one, then the device
supports IORDY operation. All devices except CFA and PCMCIA devices shall support PIO mode 3 or
higher, shall support IORDY, and shall set this bit to one. If the serial interface is implemented, this bit shall
be set to one.
Bit 10 of word 49 is used to indicate a device’s ability to enable or disable the use of IORDY. If this bit is set
to one, then the device supports the disabling of IORDY. Disabling and enabling of IORDY is accomplished
using the SET FEATURES command. If the serial interface is implemented, this bit shall be set to one.
Bit 9 of word 49 shall be set to one to indicate that an LBA transition is supported.
Bits 8 of word 49 Shall be set to one to indicate that DMA is supported. For devices not implementing the
CompactFlash feature set this bit shall be set to one.
Bit 15 of word 50 shall be cleared to zero to indicate that the contents of word 50 are valid.
Bit 14 of word 50 shall be set to one to indicate that the contents of word 50 are valid.
Bit 0 of word 50 set to one indicates that the device has a minimum Standby timer value that is device
specific.
If bit 1 of word 53 is set to one, the values reported in words (70:64) are valid. If this bit is cleared to zero,
the values reported in words (70:64) are not valid. All devices except CFA and PCMCIA devices shall
support PIO mode 3 or above and shall set bit 1 of word 53 to one and support the fields contained in words
(70:64). If the serial interface is implemented, this bit shall be set to one.
If the device supports Ultra DMA and the values reported in word 88 are valid, then bit 2 of word 53 shall be
set to one. If the device does not support Ultra DMA and the values reported in word 88 are not valid, then
this bit is cleared to zero. If the serial interface is implemented, this bit shall be set to one.
Page 124
T13/1532D Volume 1 Revision 4b
If bit 8 is set to one, bits (7:0) reflect the number of sectors currently set to transfer on a READ/WRITE
MULTIPLE command. This field may default to the preferred value for the device (See 6.52).
This field contains a value that is one greater than the maximum user accessable logical block address (See
4.2). The maximum value that shall be placed in this field is 0FFFFFFFh.
Word 63 identifies the Multiword DMA transfer modes supported by the device and indicates the mode that is
currently selected. Only one DMA mode shall be selected at any given time. If an Ultra DMA mode is
enabled, then no Multiword DMA mode shall be enabled. If a Multiword DMA mode is enabled then no Ultra
DMA mode shall be enabled.
6.17.31.1 Reserved
If bit 10 of word 63 is set to one, then Multiword DMA mode 2 is selected. If this bit is cleared to zero, then
Multiword DMA mode 2 is not selected. If bit 9 is set to one or if bit 8 is set to one, then this bit shall be
cleared to zero.
If bit 9 of word 63 is set to one, then Multiword DMA mode 1 is selected. If this bit is cleared to zero then
Multiword DMA mode 1 is not selected. If bit 10 is set to one or if bit 8 is set to one, then this bit shall be
cleared to zero.
If bit 8 of word 63 is set to one, then Multiword DMA mode 0 is selected. If this bit is cleared to zero then
Multiword DMA mode 0 is not selected. If bit 10 is set to one or if bit 9 is set to one, then this bit shall be
cleared to zero.
6.17.31.5 Reserved
If bit 2 of word 63 is set to one, then Multiword DMA modes 2 and below are supported. If this bit is cleared
to zero, then Multiword DMA mode 2 is not supported. If Multiword DMA mode 2 is supported, then
Multiword DMA modes 1 and 0 shall also be supported. If this bit is set to one, bits (1:0) shall be set to one. If
the serial interface is implemented, this bit shall be set to one.
Page 125
T13/1532D Volume 1 Revision 4b
If bit 1 of word 63 is set to one, then Multiword DMA modes 1 and below are supported. If this bit is cleared
to zero, then Multiword DMA mode 1 is not supported. If Multiword DMA mode 1 is supported, then
Multiword DMA mode 0 shall also be supported. If this bit is set to one, bit 0 shall be set to one. If the serial
interface is implemented, this bit shall be set to one.
If bit 0 of word 63 is set to one, then Multiword DMA mode 0 is supported. If the serial interface is
implemented, this bit shall be set to one.
Bits (7:0) of word 64 of the IDENTIFY DEVICE data is defined as the PIO data and register transfer
supported field. If this field is supported, bit 1 of word 53 shall be set to one. This field is bit significant. Any
number of bits may be set to one in this field by the device to indicate the PIO modes the device is capable
of supporting.
Of these bits, bits (7:2) are Reserved for future PIO modes. Bit 0, if set to one, indicates that the device
supports PIO mode 3. All devices except CFA and PCMCIA devices shall support PIO mode 3 and shall set
bit 0 to one. Bit 1, if set to one, indicates that the device supports PIO mode 4. If the serial interface is
implemented, bits (1:0) shall be set to one.
6.17.33 Word 65: Minimum Multiword DMA transfer cycle time per word
Word 65 of the parameter information of the IDENTIFY DEVICE command data is defined as the minimum
Multiword DMA transfer cycle time per word. This field defines, in nanoseconds, the minimum cycle time that
the device supports when performing Multiword DMA transfers on a per word basis. If the serial interface is
implemented, this value shall be set to indicate 120 ns.
If this field is supported, bit 1 of word 53 shall be set to one. Any device that supports Multiword DMA mode
1 or above shall support this field, and the value in word 65 shall not be less than the minimum cycle time for
the fastest DMA mode supported by the device.
If bit 1 of word 53 is set to one because a device supports a field in words (70:64) other than this field and
the device does not support this field, the device shall return a value of zero in this field.
Word 66 of the parameter information of the IDENTIFY DEVICE command data is defined as the device
recommended Multiword DMA transfer cycle time. This field defines, in nanoseconds, the minimum cycle
time per word during a single sector host transfer while performing a multiple sector READ DMA or WRITE
DMA command for any location on the media under nominal conditions. If a host runs at a faster cycle rate
by operating at a cycle time of less than this value, the device may negate DMARQ for flow control. The rate
at which DMARQ is negated could result in reduced throughput despite the faster cycle rate. Transfer at this
rate does not ensure that flow control will not be used, but implies that higher performance may result. If the
serial interface is implemented, this value shall be set to indicate 120 ns.
If this field is supported, bit 1 of word 53 shall be set to one. Any device that supports Multiword DMA mode
1 or above shall support this field, and the value in word 66 shall not be less than the value in word 65.
If bit 1 of word 53 is set to one because a device supports a field in words (70:64) other than this field and
the device does not support this field, the device shall return a value of zero in this field.
Page 126
T13/1532D Volume 1 Revision 4b
6.17.35 Word 67: Minimum PIO transfer cycle time without IORDY flow control
Word 67 of the parameter information of the IDENTIFY DEVICE command data is defined as the minimum
PIO transfer without IORDY flow control cycle time. This field defines, in nanoseconds, the minimum cycle
time that, if used by the host, the device guarantees data integrity during the transfer without utilization of
IORDY flow control. If the serial interface is implemented, this value shall be set to indicate 120 ns.
Any device that supports PIO mode 3 or above shall support this field, and the value in word 67 shall not be
less than the value reported in word 68.
If bit 1 of word 53 is set to one because a device supports a field in words (70:64) other than this field and
the device does not support this field, the device shall return a value of zero in this field.
6.17.36 Word 68: Minimum PIO transfer cycle time with IORDY flow control
Word 68 of the parameter information of the IDENTIFY DEVICE command data is defined as the minimum
PIO transfer with IORDY flow control cycle time. This field defines, in nanoseconds, the minimum cycle time
that the device supports while performing data transfers while utilizing IORDY flow control. If the serial
interface is implemented, this value shall be set to indicate 120 ns.
All devices except CFA and PCMCIA devices shall support PIO mode 3 and shall support this field, and the
value in word 68 shall be the fastest defined PIO mode supported by the device. The maximum value
reported in this field shall be 180 to indicate support for PIO mode 3 or above.
If bit 1 of word 53 is set to one because a device supports a field in words (70:64) other than this field and
the device does not support this field, the device shall return a value of zero in this field.
Bits (4:0) of word 75 indicate the maximum queue depth supported by the device. The queue depth includes
all commands for which command acceptance has occurred and command completion has not occurred.
The value in this field equals (maximum queue depth - 1), e.g., a value of zero indicates a queue depth of
one, a value of 31 indicates a queue depth of 32. If bit 1 of word 83 is cleared to zero indicating that the
device does not support READ/WRITE DMA QUEUED commands, the value in this field shall be zero. A
device may support READ/WRITE DMA QUEUED commands to provide overlap only (i.e., queuing not
supported), in this case, bit 1 of word 83 shall be set to one and the queue depth shall be set to zero.
Support of this word is mandatory if the Queuing feature set is supported.
If not 0000h or FFFFh, the device claims compliance with the major version(s) as indicated by bits (6:3)
being set to one. Values other than 0000h and FFFFh are bit significant. Since ATA standards maintain
downward compatibility, a device may set more than one bit.
If an implementor claims that the revision of the standard they used to guide their implementation does not
need to be reported or if the implementation was based upon a standard prior to the ATA-3 standard, word
81 shall be 0000h or FFFFh.
Page 127
T13/1532D Volume 1 Revision 4b
Table 17 defines the value that may optionally be reported in word 81 to indicate the revision of the standard
that guided the implementation.
Words (84:82) shall indicate features/command sets supported. If a defined bit is cleared to zero, the
indicated features/command set is not supported. If bit 14 of word 83 is set to one and bit 15 of word 83 is
cleared to zero, the contents of words (83:82) contain valid support information. If not, support information is
not valid in these words. If bit 14 of word 84 is set to one and bit 15 of word 84 is cleared to zero, the
contents of word 84 contains valid support information. If not, support information is not valid in this word.
If bit 1 of word 82 is set to one, the Security Mode feature set is supported.
If bit 2 of word 82 is set to one, the Removable Media feature set is supported.
Bit 3 of word 82 shall be set to one indicating the mandatory Power Management feature set is supported.
Page 128
T13/1532D Volume 1 Revision 4b
Bit 4 of word 82 shall be cleared to zero to indicate that the PACKET Command feature set is not supported.
If bit 10 of word 82 is set to one, the Host Protected Area feature set is supported.
If bit 12 of word 82 is set to one, the device supports the WRITE BUFFER command.
If bit 13 of word 82 is set to one, the device supports the READ BUFFER command.
If bit 14 of word 82 is set to one, the device supports the NOP command.
If bit 0 of word 83 is set to one, the device supports the DOWNLOAD MICROCODE command.
If bit 1 of word 83 is set to one, the device supports the READ DMA QUEUED and WRITE DMA QUEUED
commands.
If bit 2 of word 83 is set to one, the device supports the CFA feature set.
If bit 3 of word 83 is set to one, the device supports the Advanced Power Management feature set.
If bit 4 of word 83 is set to one, the device supports the Removable Media Status feature set.
If bit 5 of word 83 is set to one, the device supports the Power-Up In Standby feature set.
If bit 6 of word 83 is set to one, the device requires the SET FEATURES subcommand to spin-up after
power-up if the Power-Up In Standby feature set is enabled (See 6.49.15).
If bit 8 of word 83 is set to one, the device supports the SET MAX security extension.
If bit 9 of word 83 is set to one, the device supports the Automatic Acoustic Management feature set.
If bit 10 of word 83 is set to one, the 48-bit Address feature set is supported.
If bit 11 of word 83 is set to one, the device supports the Device Configuration Overlay feature set.
Bit 12 of word 83 shall be set to one indicating the device supports the mandatory FLUSH CACHE
command.
If bit 13 of word 83 is set to one, the device supports the FLUSH CACHE EXT command.
If bit 0 of word 84 is set to one, the device supports SMART error logging.
Page 129
T13/1532D Volume 1 Revision 4b
If bit 2 of word 84 is set to one, the device supports the media serial number field words (205:176).
If bit 3 of word 84 is set to one, the device supports the Media Card Pass Through Command feature set.
If bit 4 of word 84 is set to one, the device supports the Streaming feature set.
If bit 5 of word 84 is set to one, the device supports the General Purpose Logging feature set.
If bit 6 of word 84 is set to one, the device supports the WRITE DMA FUA EXT and WRITE MULTIPLE FUA
EXT commands.
If bit 7 of word 84 is set to one, the device supports the WRITE DMA QUEUED FUA EXT command.
If bit 8 of word 84 is set to one, the device supports a world wide name.
If bit 9 of word 84 is set to one, the device supports the URG bit for READ STREAM DMA EXT and READ
STREAM EXT commands.
If bit 10 of word 84 is set to one, the device supports the URG bit for WRITE STREAM DMA EXT and WRITE
STREAM EXTcommands.
If bit 13 of word 84 is set to one, the device supports IDLE IMMEDIATE with UNLOAD FEATURE.
Words (87:85) shall indicate features/command sets enabled. If a defined bit is cleared to zero, the indicated
features/command set is not enabled. If a supported features/command set is supported and cannot be
disabled, it is defined as supported and the bit shall be set to one. If bit 14 of word 87 is set to one and bit 15
of word 87 is cleared to zero, the contents of words (87:85) contain valid information. If not, information is not
valid in these words.
If bit 0 of word 85 is set to one, the SMART feature set has been enabled via the SMART ENABLE
OPERATIONS command. If bit 0 of word 85 is cleared to zero, the SMART feature set has been disabled via
the SMART DISABLE OPERATIONS command.
If bit 1 of word 85 is set to one, the Security Mode feature set has been enabled via the SECURITY SET
PASSWORD command. If bit 1 of word 85 is cleared to zero, the Security Mode feature set has been
disabled via the SECURITY DISABLE PASSWORD command.
If bit 2 of word 85 is set to one, the Removable Media feature set is supported.
Bit 3 of word 85 shall be set to one indicating the mandatory Power Management feature set is supported.
Bit 4 of word 85 shall be cleared to zero to indicate that the PACKET Command feature set is not supported.
If bit 5 of word 85 is set to one, write cache has been enabled via the SET FEATURES command (See
6.49.10). If bit 5 of word 85 is cleared to zero, write cache has been disabled via the SET FEATURES
command.
If bit 6 of word 85 is set to one, look-ahead has been enabled via the SET FEATURES command (See
6.49.19). If bit 6 of word 85 is cleared to zero, look-ahead has been disabled via the SET FEATURES
command.
Page 130
T13/1532D Volume 1 Revision 4b
If bit 7 of word 85 is set to one, release interrupt has been enabled via the SET FEATURES command (See
6.49.20). If bit 7 of word 85 is cleared to zero, release interrupt has been disabled via the SET FEATURES
command.
If bit 8 of word 85 is set to one, SERVICE interrupt has been enabled via the SET FEATURES command
(See 6.49.21). If bit 8 of word 85 is cleared to zero, SERVICE interrupt has been disabled via the SET
FEATURES command.
If bit 10 of word 85 is set to one, the Host Protected Area feature set is supported.
If bit 12 of word 85 is set to one, the device supports the WRITE BUFFER command.
If bit 13 of word 85 is set to one, the device supports the READ BUFFER command.
If bit 14 of word 85 is set to one, the device supports the NOP command.
If bit 0 of word 86 is set to one, the device supports the DOWNLOAD MICROCODE command.
If bit 1 of word 86 is set to one, the device supports the READ DMA QUEUED and WRITE DMA QUEUED
commands.
If bit 2 of word 86 is set to one, the device supports the CFA feature set.
If bit 3 of word 86 is set to one, the Advanced Power Management feature set has been enabled via the SET
FEATURES command. If bit 3 of word 86 is cleared to zero, the Advanced Power Management feature set
has been disabled via the SET FEATURES command.
If bit 4 of word 86 is set to one, the Removable Media Status feature set has been enabled via the SET
FEATURES command. If bit 4 of word 86 is cleared to zero, the Removable Media Status feature set has
been disabled via the SET FEATURES command.
If bit 5 of word 86 is set to one, the Power-Up In Standby feature set has been enabled via the SET
FEATURES command (See 6.49.13). If bit 5 of word 86 is cleared to zero, the Power-Up In Standby feature
set has been disabled via the SET FEATURES command
If bit 6 of word 86 is set to one, the device requires the SET FEATURES subcommand to spin-up after
power-up (See 6.49.15).
Bit 7 of word 86 is defined in Address Offset Reserved Area Boot, INCITS TR27:2001.
If bit 8 of word 86 is set to one, the device has had the SET MAX security extension enabled via a SET MAX
SET PASSWORD command.
If bit 9 of word 86 is set to one, the device has had the Automatic Acoustic Management feature set enabled
via a SET FEATURES command and the value in word 94 is valid.
If bit 10 of word 86 is set to one, the 48-bit Address feature set is supported.
If bit 11 of word 86 is set to one, the device supports the Device Configuration Overlay feature set.
Page 131
T13/1532D Volume 1 Revision 4b
Bit 12 of word 86 shall be set to oneindicating the device supports the mandatory FLUSH CACHE
command.
If bit 13 of word 86 is set to one, the device supports the FLUSH CACHE EXT command.
If bit 0 of word 87 is set to one, the device supports SMART error logging.
If bit 2 of word 87 is set to one, the media serial number field in words (205:176) is valid. This bit shall be
cleared to zero if the media does not contain a valid serial number or if no media is present.
If bit 3 of word 87 is set to one, the Media Card Pass Through feature set has been enabled.
If bit 4 of word 87 is set to one, a valid CONFIGURE STREAM command has been executed.
If bit 5 of word 87 is set to one, the device supports the General Purpose Logging feature set.
If bit 6 of word 87 is set to one, the device supports the WRITE DMA FUA EXT and WRITE MULTIPLE FUA
EXT commands.
If bit 7 of word 87 is set to one, the device supports the WRITE DMA QUEUED FUA EXT command.
If bit 8 of word 87 is set to one, the device supports a world wide name.
If bit 9 of word 87 is set to one, the device supports the URG bit for READ STREAM DMA EXT and READ
STREAM EXT commands.
If bit 10 of word 87 is set to one, the device supports the URG bit for WRITE STREAM DMA EXT and WRITE
STREAM EXT commands.
If bit 13 of word 87 is set to one, the device supports IDLE IMMEDIATE with UNLOAD FEATURE.
Word 88 identifies the Ultra DMA transfer modes supported by the device and indicates the mode that is
currently selected. Only one DMA mode shall be selected at any given time. If an Ultra DMA mode is
selected, then no Multiword DMA mode shall be selected. If a Multiword DMA mode is selected, then no
Ultra DMA mode shall be selected. Support of this word is mandatory if Ultra DMA is supported.
6.17.44.1 Reserved
If bit 14 of word 88 is set to one, then Ultra DMA mode 6 is selected. If this bit is cleared to zero, then Ultra
DMA mode 6 is not selected. If bit 13 or bit 12 or bit 11 or bit 10 or bit 9 or bit 8 is set to one, then this bit
shall be cleared to zero.
Page 132
T13/1532D Volume 1 Revision 4b
If bit 13 of word 88 is set to one, then Ultra DMA mode 5 is selected. If this bit is cleared to zero, then Ultra
DMA mode 5 is not selected. If bit 12 or bit 11 or bit 10 or bit 9 or bit 8 is set to one, then this bit shall be
cleared to zero.
If bit 12 of word 88 is set to one, then Ultra DMA mode 4 is selected. If this bit is cleared to zero, then Ultra
DMA mode 4 is not selected. If bit 13 or 11 or bit 10 or bit 9 or bit 8 is set to one, then this bit shall be
cleared to zero.
If bit 11 of word 88 is set to one, then Ultra DMA mode 3 is selected. If this bit is cleared to zero, then Ultra
DMA mode 3 is not selected. If bit 13 or 12 or bit 10 or bit 9 or bit 8 is set to one, then this bit shall be
cleared to zero.
If bit 10 of word 88 is set to one, then Ultra DMA mode 2 is selected. If this bit is cleared to zero, then Ultra
DMA mode 2 is not selected. If bit 13 or 12 or bit 11 or bit 9 or bit 8 is set to one, then this bit shall be
cleared to zero.
If bit 9 of word 88 is set to one, then Ultra DMA mode 1 is selected. If this bit is cleared to zero then Ultra
DMA mode 1 is not selected. If bit 13 or 12 or bit 11 or bit 10 or bit 8 is set to one, then this bit shall be
cleared to zero.
If bit 8 of word 88 is set to one, then Ultra DMA mode 0 is selected. If this bit is cleared to zero then Ultra
DMA mode 0 is not selected. If bit 13 or 12 or bit 11 or bit 10 or bit 9 is set to one, then this bit shall be
cleared to zero.
6.17.44.9 Reserved
If bit 6 of word 88 is set to one, then Ultra DMA modes 6 and below are supported. If this bit is cleared to
zero, then Ultra DMA mode 6 is not supported. If Ultra DMA mode 6 is supported, then Ultra DMA modes 5,
4, 3, 2, 1 and 0 shall also be supported. If this bit is set to one, then bits (5:0) shall be set to one. If the serial
interface is implemented, this bit shall be set to one.
If bit 5 of word 88 is set to one, then Ultra DMA modes 5 and below are supported. If this bit is cleared to
zero, then Ultra DMA mode 5 is not supported. If Ultra DMA mode 5 is supported, then Ultra DMA modes 4,
3, 2, 1 and 0 shall also be supported. If this bit is set to one, then bits (4:0) shall be set to one. If the serial
interface is implemented, this bit shall be set to one.
If bit 4 of word 88 is set to one, then Ultra DMA modes 4 and below are supported. If this bit is cleared to
zero, then Ultra DMA mode 4 is not supported. If Ultra DMA mode 4 is supported, then Ultra DMA modes 3,
Page 133
T13/1532D Volume 1 Revision 4b
2, 1 and 0 shall also be supported. If this bit is set to one, then bits (3:0) shall be set to one. If the serial
interface is implemented, this bit shall be set to one.
If bit 3 of word 88 is set to one, then Ultra DMA modes 3 and below are supported. If this bit is cleared to
zero, then Ultra DMA mode 3 is not supported. If Ultra DMA mode 3 is supported, then Ultra DMA modes 2,
1 and 0 shall also be supported. If this bit is set to one, then bits (2:0) shall be set to one. If the serial
interface is implemented, this bit shall be set to one.
If bit 2 of word 88 is set to one, then Ultra DMA modes 2 and below are supported. If this bit is cleared to
zero, then Ultra DMA mode 2 is not supported. If Ultra DMA mode 2 is supported, then Ultra DMA modes 1
and 0 shall also be supported. If this bit is set to one, bits (1:0) shall be set to one. If the serial interface is
implemented, this bit shall be set to one.
If bit 1 of word 88 is set to one, then Ultra DMA modes 1 and below are supported. If this bit is cleared to
zero, then Ultra DMA mode 1 is not supported. If Ultra DMA mode 1 is supported, then Ultra DMA mode 0
shall also be supported. If this bit is set to one, bit 0 shall be set to one. If the serial interface is implemented,
this bit shall be set to one.
If bit 0 of word 88 is set to one, then Ultra DMA mode 0 is supported. If this bit is cleared to zero, then Ultra
DMA is not supported. If the serial interface is implemented, this bit shall be set to one.
6.17.45 Word 89: Time required for Security erase unit completion
Word 89 specifies the time required for the SECURITY ERASE UNIT command to complete. Support of this
word is mandatory if the Security feature set is supported.
Value Time
0 Value not specified
1-254 (Value∗2) minutes
255 >508 minutes
6.17.46 Word 90: Time required for Enhanced security erase unit completion
Word 90 specifies the time required for the ENHANCED SECURITY ERASE UNIT command to complete.
Support of this word is mandatory if support of the Enhanced Security feature set is supported.
Value Time
0 Value not specified
1-254 (Value∗2) minutes
255 >508 minutes
Bits (7:0) of word 91 contain the current Advanced Power Management level setting. Support of this word is
mandatory if advanced power management is supported.
Page 134
T13/1532D Volume 1 Revision 4b
Word 92 contains the value of the Master Password Revision Code set when the Master Password was last
changed. Valid values are 0001h through FFFEh. A value of 0000h or FFFFh indicates that the Master
Password Revision is not supported. Support of this word is mandatory if the Security feature set is
supported.
If bit 14 of word 93 is set to one and bit 15 of word 93 is cleared to zero, the content of word 93 contains valid
information. During hardware reset execution, Device 0 shall clear bits (12:8) of this word to zero and shall
set bits (7:0) of the word as indicated to show the result of the hardware reset execution. During hardware
reset execution, Device 1 shall clear bits (7:0) of this word to zero and shall set bits (12:8) as indicated to
show the result of the hardware reset execution. Support of bits (15:13) are mandatory. Support of bits (12:0)
is optional.
Bit 13 shall be set or cleared by the selected device to indicate whether the device detected CBLID- above
VIH or below VIL at any time during execution of each IDENTIFY DEVICE routine after receiving the
command from the host but before returning data to the host. This test may be repeated as desired by the
device during command execution (See Volume 2, annex A).
If the serial interface is implemented, word 93 shall be set to the value 0000h.
Bits (15:8) contain the device vendor’s recommended acoustic management level (See Table 44 for an
enumeration of all of the possible acoustic management levels). If the host desires the drive to perform with
highest performance, it should set the automatic acoustic management level to Feh. If the OEM host desires
the vendor’s recommended acoustic management level as defined by the device’s vendor, the host should
set the automatic acoustic management level to the value returned to the host in these 8 bits of the
IDENTIFY DEVICE data. The use of this setting may not provide the lowest acoustics, or the best tradeoff of
acoustics and performance, in all configurations. Support of this word is mandatory if the Acoustic
Management feature set is supported.
Bits (7:0) contain the current automatic acoustic management level. If the Automatic Acoustic Management
feature set is supported by the device, but the level has not been set by the host, this byte shall contain the
drive’s default setting. If the Automatic Acoustic Management feature set is not supported by the device, the
value of this byte shall be zero.
Number of sectors that provides optimum performance in a streaming environment. This number shall be a
power of two, with a minimum of eight sectors (4096 bytes). The starting LBA value for each streaming
command should be evenly divisible by this request size.
Word 96 defines the Streaming Transfer Time for DMA mode. The worst-case sustainable transfer time per
sector for the device is calculated as follows:
Streaming Transfer Time = (word 96) ∗ (words (99:98) / 65536)
The content of IDENTIFY DEVICE data word 96 may be affected by the host issuing a SET FEATURES
subcommand 43h (Typical Host Interface Sector Time for DMA mode). Because of this effect, an IDENTIFY
DEVICE command shall be issued after a SET FEATURES command that may affect these words. If the
Streaming Feature Set is not supported by the device, the content of word 96 shall be zero.
Page 135
T13/1532D Volume 1 Revision 4b
Word 97 defines the Streaming Access Latency for DMA and PIO mode. The worst-case access latency of
the device for a streaming command is calculated as follows:
Access Latency = (word 97) ∗ (words (99:98) / 256)
The content of IDENTIFY DEVICE data word 97 may be affected by the host issuing a SET FEATURES
subcommand 42h or C2h (Automatic Acoustic Management). Because of this effect, an IDENTIFY DEVICE
command shall be issued after a SET FEATURES command that may affect these words. If the Streaming
Feature Set is not supported by the device, the content of word 97 shall be zero.
These words define the fixed unit of time that is used in IDENTIFY DEVICE data words (97:96) and (104),
and SET FEATURES subcommand 43h, and in the Streaming Performance Parameters log, which is
accessed by use of the READ LOG EXT command, and in the Command Completion Time Limit that is
passed in streaming commands. The unit of time for this parameter shall be in microseconds, e.g., a value
of 10000 indicates 10 milliseconds. If yy was returned by the drive for this parameter, then
− the Command Completion Time Limit in the Features register for a streaming command shall be yy
microseconds.
− the Streaming Transfer Time shall be ( (word 96) ∗ (yy/65536) ) microseconds, ( (word 104) ∗
(yy/65536) ) microseconds, or ( (a Sector Time array entriy in the Streaming Performance
Parameters log) ∗ (yy/65536) ) microseconds.
− The Streaming Access Latency shall be ((word 97) ∗ (yy/256)) microseconds, or ((an Access Time
array entries in the Streaming Performance Parameters log) ∗ (yy/256)) microseconds.
− taking these units into account, the host may calculate the estimated time for a streaming command
of size S sectors as ( ( word 96 ∗ S / 65536) + (word 97 / 256 ) ) ∗ yy microseconds for DMA mode.
− taking these units into account, the host may calculate the estimated time for a streaming command
of size S sectors as ( ( word 104 ∗ S / 65536) + (word 97 / 256 ) ) ∗ yy microseconds for PIO mode.
The value of the Streaming Performance Granularity is vendor specific and fixed for a device.
6.17.55 Words (103:100): Maximum user LBA for 48-bit Address feature set
Words (103:100) contain a value that is one greater than the maximum LBA in user accessable space when
the 48-bit Addressing feature set is supported. The maximum value that shall be placed in this field is
0000FFFFFFFFFFFFh. Support of these words is mandatory if the 48-bit Address feature set is supported.
Word 104 defines the Streaming Transfer Time for PIO mode. The worst-case sustainable transfer time per
sector for the device is calculated as follows:
Streaming Transfer Time = (word 104) ∗ (words (99:98) / 65536)
The content of IDENTIFY DEVICE data word 104 may be affected by the host issuing a SET FEATURES
subcommand 43h (Typical Host Interface Sector Time for PIO mode). Because of this effect, an IDENTIFY
DEVICE command shall be issued after a SET FEATURES command that may affect these words. If the
Streaming Feature Set is not supported by the device, the content of word 104 shall be zero.
If bit 14 of word 106 is set to one and bit 15 of word 106 is cleared to zero, the contents of word 106 contain
valid information. If not, information is not valid in this word.
Bit 13 of word 106 shall be set to one to indicate that the device has more than one logical sector per
physical sector.
Bit 12 of word 106 shall be set to 1 to indicate that the device has been formatted with a logical sector size
larger than 256 words. Bit 12 of word 106 shall be cleared to 0 to indicate that words 117-118 are invalid
and that the logical sector size is 256 words.
Page 136
T13/1532D Volume 1 Revision 4b
Bits (3:0) of word 106 indicate the size of the device physical sectors in power of two logical sectors.
Examples:
Bits (3:0): 0 = 20 = 1 logical sector per physical sector
Bits (3:0): 1 = 21 = 2 logical sector per physical sector
Bits (3:0): 2 = 22 = 4 logical sector per physical sector
Bits (3:0): 3 = 23 = 8 logical sector per physical sector
6.17.58 Word 107: Inter-seek delay for ISO 7779 standard acoustic testing
Word 107 is defined as the manufacturer’s recommended time delay between seeks during ISO-7779
standard acoustic testing in microseconds (ISO 7779 value tD. See ISO 7779:1999 (E) Clause C.9
Equipment Category: Disk units and storage subsystems.
Words 111-108 shall contain the optional value of the world wide name (WWN) for the device.
Word 108 bits 15-12 shall contain 5h, indicating that the naming authority is IEEE. All other values are
reserved.
Words 108 bits 11-0 and word 109 bits 15-4 shall contain the Organization Unique Identifier (OUI) for
the device manufacturer. The OUI shall be assigned by the IEEE/RAC as specified by ISO/IEC
13213:1994 (See 3.1.80).
Word 109 bits 3-0, word 110, and word 111 shall contain a value assigned by the vendor that is unique for
the OUI domain.
Words 117,118 indicate the size of device logical sectors in words. The value of words 117,118 shall be
equal to or greater than 256. The value in words 117,118 shall be valid when word 106 bit 12 is set to 1. All
logical sectors on a device shall be 117,118 words long.
6.17.63 Words (126:119): Reserved
6.17.64 Word 127: Removable Media Status Notification feature set support
If bit 0 of word 127 is set to one and bit 1 of word 127 is cleared to zero, the device supports the Removable
Media Status Notification feature set. Bits (15:2) shall be cleared to zero. Support of this word is mandatory if
the Removable Media Status Notification feature set is supported.
Page 137
T13/1532D Volume 1 Revision 4b
Bit 8 of word 128 indicates the security level. If security mode is enabled and the security level is high, bit 8
shall be cleared to zero. If security mode is enabled and the security level is maximum, bit 8 shall be set to
one. When security mode is disabled, bit 8 shall be cleared to zero.
Bit 5 of word 128 indicates the Enhanced security erase unit feature is supported. If bit 5 is set to one, the
Enhanced security erase unit feature set is supported.
Bit 4 of word 128 indicates that the security count has expired. If bit 4 is set to one, the security count is
expired and SECURITY UNLOCK and SECURITY ERASE UNIT are command aborted until a power-on
reset or hardware reset.
Bit 3 of word 128 indicates security frozen. If bit 3 is set to one, the security is frozen.
Bit 2 of word 128 indicates security locked. If bit 2 is set to one, the security is locked.
Bit 1 of word 128 indicates security enabled. If bit 1 is set to one, the security is enabled.
Bit 0 of word 128 indicates the Security Mode feature set supported. If bit 0 is set to one, security is
supported.
Word 160 indicates the presence and status of a CFA feature set device that supports CFA Power Mode 1.
Support of this word is mandatory if CFA Power Mode 1 is supported.
If bit 13 of word 160 is set to one then the device shall be in CFA Power Mode 1 to perform one or more
commands implemented by the device.
If bit 12 of word 160 is set to one the device is in CFA Power Mode 0 (See 6.49.14).
Bits (11:0) indicate the maximum average RMS current in Milliamperes required during 3.3V or 5V device
operation in CFA Power Mode 1.
Words (205:176) contain the current media serial number. Serial numbers shall consist of 60 bytes. The first
40 bytes shall indicate the media serial number and the remaining 20 bytes shall indicate the media
manufacturer.
For removable ATA devices (e.g., flash media with native ATA interfaces) that do not support removable
media, the first 20 words of this field shall be the same as words (46:27) of the IDENTIFY DEVICE data and
the next ten words shall be the same as words (19:10) of the IDENTIFY DEVICE response.
The use of this word is optional. If bits (7:0) of this word contain the signature A5h, bits (15:8) contain the
data structure checksum. The data structure checksum is the two’s complement of the sum of all bytes in
words (254:0) and the byte consisting of bits (7:0) in word 255. Each byte shall be added with unsigned
arithmetic, and overflow shall be ignored. The sum of all 512 bytes is zero when the checksum is correct.
Page 138
T13/1532D Volume 1 Revision 4b
A1h
6.18.3 Protocol
6.18.4 Inputs
Register 7 6 5 4 3 2 1 0
Features na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Command A1h
Device register -
DEV shall specify the selected device.
Register 7 6 5 4 3 2 1 0
Error na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Status BSY DRDY DF na DRQ na na ERR
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
The device shall return command aborted if the device does not implement this command, otherwise, the
device shall not report an error.
Page 139
T13/1532D Volume 1 Revision 4b
6.18.7 Prerequisites
6.18.8 Description
The IDENTIFY PACKET DEVICE command enables the host to receive parameter information from a device
that implements the PACKET Command feature set.
Some devices may have to read the media in order to complete this command.
When the command is issued, the device sets the BSY bit to one, prepares to transfer the 256 words of
device identification data to the host, sets the DRQ bit to one, clears the BSY bit to zero, and asserts INTRQ
if nIEN is cleared to zero. The host may then transfer the data by reading the Data register. Table 18 defines
the arrangement and meanings of the parameter words in the buffer. All reserved bits or words shall be zero.
References to parallel implementation bus signals (e.g. DMACK, DMARQ, etc) apply only to parallel
implementations. See Volume 3 for additional information on serial protocol. Some register bits (e.g. nIEN,
SRST, etc.) have different requirements in the serial implementation (See Volume 3).
Some parameters are defined as a group of bits. A word that is defined as a set of bits is transmitted with
indicated bits on the respective data bus bit (e.g., bit 15 appears on DD15).
Some parameters are defined as a 16-bit value. A word that is defined as a 16-bit value places the most
significant bit of the value on bit DD15 and the least significant bit on bit DD0 (See 3.2.9).
Some parameters are defined as 32-bit values (e.g., words (61:60)). Such fields are transferred using two
word transfers. The device shall first transfer the least significant bits, bits (15:0) of the value, on bits
DD(15:0) respectively. After the least significant bits have been transferred, the most significant bits, bits
(31:16) of the value, shall be transferred on DD(15:0) respectively (See 3.2.9).
Page 140
T13/1532D Volume 1 Revision 4b
Page 141
T13/1532D Volume 1 Revision 4b
Page 142
T13/1532D Volume 1 Revision 4b
Page 143
T13/1532D Volume 1 Revision 4b
Page 144
T13/1532D Volume 1 Revision 4b
Page 145
T13/1532D Volume 1 Revision 4b
Page 146
T13/1532D Volume 1 Revision 4b
Page 147
T13/1532D Volume 1 Revision 4b
Bits (15:14) of word 0 indicate the type of device. Bit 15 shall be set to one and bit 14 shall be cleared to
zeroto indicate the device implements the PACKET Command feature set.
Bits (12:8) of word 0 indicate the command packet set implemented by the device. This value follows the
peripheral device type value as defined in SCSI Primary Commands, ANSI INCITS 301:1997.
Value Description
00h Direct-access device
01h Sequential-access device
02h Printer device
03h Processor device
04h Write-once device
05h CD-ROM device
06h Scanner device
07h Optical memory device
08h Medium changer device
09h Communications device
0A-0Bh Reserved for ACS IT8 (Graphic arts pre-press devices)
0Ch Array controller device
0Dh Enclosure services device
0Eh Reduced block command devices
0Fh Optical card reader/writer device
10-1Eh Reserved
1Fh Unknown or no device type
Bit 7 if set to one indicates that the device has removable media.
Bits (6:5) of word 0 indicate the DRQ response time when a PACKET command is received. A value of 00b
indicates a maximum time of 3 ms from receipt of PACKET to the setting of DRQ to one. A value of 10b
indicates a maximum time of 50 µs from the receipt of PACKET to the setting of DRQ to one. The value 11b
is reserved.
If bit 2 is set to one it indicates that the content of the IDENTIFY DEVICE data is incomplete. This will occur if
the device supports the Power-up in Standby feature set and required data is contained on the device media.
In this case the content of at least word 0 and word 2 shall be valid.
Bits (1:0) of word 0 indicate the packet size the device supports. A value of 00b indicates that a 12-byte
packet is supported; a value of 01b indicates a 16 byte packet. The values 10b and 11b are reserved.
Word 2 shall have the same content described for word 2 of the IDENTIFY DEVICE command.
The use of these words is optional. If not implemented, the content shall be zeros. If implemented, the
content shall be as described in words (19:10) of the IDENTIFY DEVICE command (See 6.17).
Page 148
T13/1532D Volume 1 Revision 4b
Words (26:23) shall have the content described for words (26:23) of the IDENTIFY DEVICE command.
Words (46:27) shall have the content described for words (46:27) of the IDENTIFY DEVICE command.
Bit 15 of word 49 is used to indicate that the device supports interleaved DMA data transfer for overlapped
DMA commands. Devices which require the DMADIR bit in the Packet command shall clear this bit to 0.
Bit 14 of word 49 is used to indicate that the device supports command queuing for overlapped commands. If
bit 14 is set to one, bit 13 shall be set to one.
Bit 13 of word 49 is used to indicate that the device supports command overlap operation.
Bit 11 of word 49 is used to determine whether a device supports IORDY. If this bit is set to one, then the
device supports IORDY operation. If this bit is zero, the device may support IORDY. This ensures backward
compatibility. If a device supports PIO mode 3 or higher, then this bit shall be set to one. If the serial interface
is implemented, this bit shall be set to one.
Bit 10 of word 49 is used to indicate a device’s ability to enable or disable the use of IORDY. If this bit is set
to one, then the device supports the disabling of IORDY. Disabling and enabling of IORDY is accomplished
using the SET FEATURES command. If the serial interface is implemented, this bit shall be set to one.
Bit 8 of word 49 indicates that DMA is supported. Devices which require the DMADIR bit in the Packet
command shall clear this bit to 0
Word 50 shall have the content described for word 50 of the IDENTIFY DEVICE command. Support of this
word is mandatory if the STANDBY command is supported.
Word 53 shall have the content described for word 53 of the IDENTIFY DEVICE command.
ATAPI devices that use a serial ATA bridge chip for connection to a serial ATA host may require use of the
DMADIR bit to indicate transfer direction for Packet DMA commands. Word 62 is used to indicate if such
support is required.
Page 149
T13/1532D Volume 1 Revision 4b
If bit 15 of word 62 is set to one, then DMADIR bit in the Packet Command is required by the device for
Packet DMA and Bits 2:0 of word 63, bits 15 and 8 in word 49, and bits 6:0 of word 88 shall be cleared to 0,.
If bit 15 of word 62 is cleared to 0, DMADIR bit in the PACKET command is not required. If bit 15 of word 62
is cleared to zero, then all bits of word 62 shall be cleared to zero.
Bits (10:1) indicate DMA mode support. Since the DMADIR bit is only used for a Serial ATAPI device, all of
these bits are set to 1.
Word 63 identifies the Multiword DMA transfer modes supported by the device and indicates the mode that is
currently selected. Only one DMA mode shall be selected at any given time. If an Ultra DMA mode is
enabled, then no Multiword DMA mode shall be enabled. If a Multiword DMA mode is enabled then no Ultra
DMA mode shall be enabled.
Bits 10:8 shall have the content described for word 63 of the IDENTIFY DEVICE command.
If bit 2 of Word 63 is set to one, bits (1:0) shall be set to one. If the serial interface is implemented, this bit
shall be set to one except this bit shall be cleared 0 for Serial ATAPI devices requiring the DMADIR bit in the
PACKET command.
If bit 1 of Word 63 is set to one, then Multiword DMA modes 1 and below are supported. If this bit is cleared
to zero, then Multiword DMA mode 1 is not supported. If Multiword DMA mode 1 is supported, then Multiword
DMA mode 0 shall also be supported.
If bit 1 of Word 63 is set to one, bit 0 shall be set to one. If the serial interface is implemented, this bit shall be
set to one except this bit shall be cleared to 0 for Serial ATAPI devices which require the DMADIR bit in the
PACKET command.
If bit 0 of word 63 is set to one, then Multiword DMA mode 0 is supported. If the serial interface is
implemented, this bit shall be set to one except this bit shall be cleared to 0 for Serial ATAPI devices which
require the DMADIR bit in the PACKET command.
Word 64 shall have the content described for word 64 of the IDENTIFY DEVICE command.
6.18.27 Word 65: Minimum multiword DMA transfer cycle time per word
Word 65 shall have the content described for word 65 of the IDENTIFY DEVICE command.
Word 66 shall have the content described for word 66 of the IDENTIFY DEVICE command.
Page 150
T13/1532D Volume 1 Revision 4b
6.18.29 Word 67: Minimum PIO transfer cycle time without flow control
Word 67 shall have the content described for word 67 of the IDENTIFY DEVICE command.
6.18.30 Word 68: Minimum PIO transfer cycle time with IORDY
Word 68 shall have the content described for word 68 of the IDENTIFY DEVICE command.
Word 71 shall contain the time (for 99.7% of the occurances) in microseconds from the receipt of a PACKET
command until the device performs a bus release. Support of this word is mandatory if the Overlap or
Queuing feature set is supported.
Word 72 shall contain the time (for 99.7% of the occurances) in microseconds from the receipt of a SERVICE
command until the device performs a bus release. Support of this word is mandatory if the Overlap or
Queuing feature set is supported.
Bits (4:0) of word 75 shall have the content described for word 75 of the IDENTIFY DEVICE command.
Support of this word is mandatory if the Queuing feature set is supported.
Word 80 shall have the content described for word 80 of the IDENTIFY DEVICE command.
Word 81 shall have the content described for word 81 of the IDENTIFY DEVICE command.
Words (84:82) shall have the content described for words (84:82) of the IDENTIFY DEVICE command
except that bit 4 of word 82 shall be set to one to indicate that the PACKET Command feature set is
supported.
Words (87:85) shall have the content described for words (87:85) of the IDENTIFY DEVICE command
except that bit 4 of word 85 shall be set to one to indicate that the PACKET Command feature set is
supported.
Word 88 shall have the content described for word 88 of the IDENTIFY DEVICE command, except
bits 6:0 shall be cleared to 0 for Serial ATAPI devices which require the DMADIR bit in the Packet command.
Page 151
T13/1532D Volume 1 Revision 4b
6.18.42 Word 89: Time required for Security erase unit completion
Word 89 shall have the content described for word 89 of the IDENTIFY DEVICE command.
6.18.43 Word 90: Time required for Enhanced security erase unit completion
Word 90 shall have the content described for word 90 of the IDENTIFY DEVICE command.
Word 93 shall have the content described for word 93 of the IDENTIFY DEVICE command. Support of bits
(13:15) is mandatory. Support of bits (12:0) is optional.
Word 94 shall have the content described for word 94 of the IDENTIFY DEVICE command.
If the contents of word 125 are 0000h and the value of the byte count limit is zero, the device shall return
command aborted.
If the contents of word 125 are non-zero and the value of the byte count limit is zero, the device shall use the
contents of word 125 as the actual byte count limit for the current command and shall not abort.
The device may be reconfigured to report a new value. However, after the device is reconfigured, the
content of word 125 reported shall not change until after the next hardware reset or power-on reset event.
6.18.50 Word 127: Removable Media Status Notification feature set support
Word 127 shall have the content described for word 127 of the IDENTIFY DEVICE command. Support of this
word is mandatory if the Removable Media Status Notification feature set is supported.
Word 128 shall have the content described for word 128 of the IDENTIFY DEVICE command. Support of this
word is mandatory if the Security feature set is supported.
Word 255 shall have the content described for word 255 of the IDENTIFY DEVICE command. Word 255
should be implemented.
Page 152
T13/1532D Volume 1 Revision 4b
6.19 IDLE
6.19.1 Command code
E3h
6.19.3 Protocol
6.19.4 Inputs
Values other than zero in the Sector Count register when the IDLE command is issued shall determine the
time period programmed into the Standby timer. Table 19 defines these values.
Register 7 6 5 4 3 2 1 0
Features na
Sector Count Timer period value
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Command E3h
Device register -
DEV shall indicate the selected device.
Page 153
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Status BSY DRDY DF na DRQ na na ERR
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
The device shall return command aborted if the device does not support the Power Management feature set.
Register 7 6 5 4 3 2 1 0
Error na na na na na ABRT na na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Status BSY DRDY DF na DRQ na na ERR
Error register -
ABRT shall be set to one if Power Management feature set is not supported. ABRT may be set to
one if the device is not able to complete the action requested by the command.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one.
6.19.7 Prerequisites
6.19.8 Description
The IDLE command allows the host to place the device in the Idle mode and also set the Standby timer.
INTRQ may be asserted even though the device may not have fully transitioned to Idle mode.
If the Sector Count register is non-zero then the Standby timer shall be enabled. The value in the Sector
Count register shall be used to determine the time programmed into the Standby timer (See 4.5). If the
Sector Count register is zero then the Standby timer is disabled.
Page 154
T13/1532D Volume 1 Revision 4b
E1h
− This command is mandatory for devices not implementing the PACKET Command feature set.
− Power Management feature set is mandatory when power management is not implemented by
the PACKET command set implemented by the device.
− This command is mandatory when the Power Management feature set is implemented.
− The Unload Feature of the command is optional.
6.20.3 Protocol
Register 7 6 5 4 3 2 1 0
Features na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Command E1h
Device register -
DEV shall specify the selected device.
Register 7 6 5 4 3 2 1 0
Features 44h
Sector Count 00h
LBA Low 4Ch
LBA Mid 4Eh
LBA High 55h
Device obs na obs DEV na na na na
Command E1h
Device register -
DEV shall specify the selected device.
Page 155
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Status BSY DRDY DF na DRQ na na ERR
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
Register 7 6 5 4 3 2 1 0
Error na
Sector Count na
LBA Low C4h
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Status BSY DRDY DF na DRQ na na ERR
LBA Low -
C4h to indicate that unloading successfully completed.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
The device shall return command aborted if the device does not support the Power Management feature set.
Register 7 6 5 4 3 2 1 0
Error na na na na na ABRT na na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Status BSY DRDY DF na DRQ na na ERR
Page 156
T13/1532D Volume 1 Revision 4b
Error register -
ABRT shall be set to one if Power Management feature set is not supported. ABRT may be set to
one if the device is not able to complete the action requested by the command.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one.
6.20.9 Prerequisites
6.20.10 Description
Default Fuction:
The IDLE IMMEDIATE command allows the host to immediately place the device in the Idle mode. INTRQ
may be asserted even though the device may not have fully transitioned to Idle mode (See 4.5).
Unload Feature:
The UNLOAD FEATURE of the IDLE IMMEDIATE command allows the host to immediately unload/park the
heads. The device shall stop read look-ahead if it is in process. If the device is performing a write operation,
the device shall suspend writing cached data onto the media as soon as possible, and keep unwritten
sectors stored in the buffer until receiving a new command.
A device that supports load/unload technology shall retract the head(s) onto the ramp position as soon as
receiving this command. INTRQ shall be asserted and BSY shall be cleared after the head(s) is(are)
completely retracted onto the ramp position and latched if available. The time to complete the unload
operation is vendor specific, this typically would be within 500 milliseconds of receiving the command. The
unload controlling method by the Unload Feature of the Idle Immediate command shall be the same as that
by Power mode transition, and shall not effect the specification of normal load/unload times per device life.
A device that supports contact start/stop technology shall seek to the landing zone. INTRQ shall be asserted
and BSY shall be cleared after seek completion. The time to complete the seek operation is vendor specific,
this typically would be within 300 milliseconds of receiving this command.
The device shall stay at Low Power Idle mode, shall not go into Standby mode and shall not load the head(s)
onto the media until receiving a new command. Power consumption of the device is not an issue for this
case. If a device receives this command while the head(s) is(are) currently on ramp/parked no physical
action is needed.
The device shall retain data in the write cache and resume writing the cached data onto the media after
receiving a Software Reset, a Hardware Reset, or any new command except IDLE IMMEDIATE with
UNLOAD FEATURE.
Page 157
T13/1532D Volume 1 Revision 4b
EDh
− Mandatory for devices not implementing the PACKET command feature set and implementing
the Removable Media Status Notification feature set.
− Prohibited for devices implementing the PACKET command feature set.
− Mandatory for devices not implementing the PACKET command feature set and implementing
the Removable Media feature set.
− Prohibited for devices implementing the PACKET command feature set.
6.21.3 Protocol
6.21.4 Inputs
Register 7 6 5 4 3 2 1 0
Features na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Command Edh
Device register -
DEV shall specify the selected device.
Register 7 6 5 4 3 2 1 0
Error na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Status BSY DRDY DF na DRQ na na ERR
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
Page 158
T13/1532D Volume 1 Revision 4b
If the device does not support this command, the device shall return command aborted.
Register 7 6 5 4 3 2 1 0
Error na na na na na ABRT NM obs
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Status BSY DRDY DF na DRQ na na ERR
Error register -
ABRT shall be set to one if device does not support this command. ABRT may be set to one if the
device is not able to complete the action requested by the command.
NM (No Media) shall be set to one if no media is present in the device.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one.
6.21.7 Prerequisites
6.21.8 Description
This command causes any pending operations to complete, spins down the device if needed, unlocks the
media if locked, and ejects the media. The device keeps track of only one level of media lock.
Page 159
T13/1532D Volume 1 Revision 4b
DEh
− Optional for devices not implementing the PACKET command feature set and implementing the
Removable Media Status Notification feature set.
− Prohibited for device implementing the PACKET command feature set.
− Mandatory for devices not implementing the PACKET command feature set and implementing
the Removable Media feature set.
− Prohibited for devices implementing the PACKET command feature set.
6.22.3 Protocol
6.22.4 Inputs
Register 7 6 5 4 3 2 1 0
Features na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Command Deh
Device register -
DEV shall specify the selected device.
Register 7 6 5 4 3 2 1 0
Error na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Status BSY DRDY DF na DRQ na na ERR
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
Page 160
T13/1532D Volume 1 Revision 4b
If the device does not support this command, the device shall return command aborted.
Register 7 6 5 4 3 2 1 0
Error na na na na MCR ABRT NM obs
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Status BSY DRDY DF na DRQ na na ERR
Error register -
ABRT shall be set to one if device does not support this command. ABRT may be set to one if the
device is not able to complete the action requested by the command.
NM (No Media) shall be set to one if no media is present in the device.
MCR (Media Change Request) shall be set to one if the device is locked and a media change
request has been detected by the device.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one.
6.22.7 Prerequisites
6.22.8 Description
This command shall be used to lock the media, if Media Status Notification is disabled. If Media Status
Notification is enabled, this command shall return good status (no ERR bit in the Status register) and perform
no action.
If the media is unlocked and media is present, the media shall be set to the LOCKED state and no Error
register bit shall be set to one. The device keeps track of only one level of media lock. Subsequent MEDIA
LOCK commands, while the media is in the LOCKED state, do not set additional levels of media locks.
If the media is locked, the status returned shall indicate whether a media change request has been detected
by the device. If a media change request has been detected, the MCR bit in the Error register and the ERR
bit in the Status register shall be set to one.
When media is in the LOCKED state, the device shall respond to the media change request button, by
setting the MCR bit in the Error register and the ERR bit in the Status register to one, until the media
LOCKED condition is cleared.
Page 161
T13/1532D Volume 1 Revision 4b
DFh
− Optional for devices not implementing the PACKET command feature set and implementing the
Removable Media Status Notification feature set.
− Prohibited for devices implementing the PACKET command feature set.
− Mandatory for devices not implementing the PACKET command feature set and implementing
the Removable Media feature set.
− Prohibited for devices implementing the PACKET command feature set.
6.23.3 Protocol
6.23.4 Inputs
Register 7 6 5 4 3 2 1 0
Features na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Command DFh
Device register -
DEV shall specify the selected device.
Register 7 6 5 4 3 2 1 0
Error na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Status BSY DRDY DF na DRQ na na ERR
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
Page 162
T13/1532D Volume 1 Revision 4b
If the device does not support this command, the device shall return command aborted.
Register 7 6 5 4 3 2 1 0
Error na na na na na ABRT NM obs
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Status BSY DRDY DF na DRQ na na ERR
Error register -
ABRT shall be set to one if device does not support this command. ABRT may be set to one if the
device is not able to complete the action requested by the command.
NM (No Media) shall be set to one if no media is present in the device.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one.
6.23.7 Prerequisites
6.23.8 Description
This command can be used to unlock the device, if Media Status Notification is disabled. If Media Status
Notification is enabled, this command will return good status (no ERR bit in the Status register) and perform
no action.
If the media is present, the media shall be set to the UNLOCKED state and no Error register bit shall be set
to one. The device keeps track of only one level of media lock. A single MEDIA UNLOCK command unlocks
the media.
If a media change request has been detected by the device prior to the issuance of this command, the media
shall be ejected at MEDIA UNLOCK command completion.
Page 163
T13/1532D Volume 1 Revision 4b
6.24 NOP
6.24.1 Command code
00h
− Optional for devices not implementing the PACKET Command feature set.
− Mandatory for devices implementing the PACKET Command feature set.
− Mandatory for devices implementing the Overlapped feature set.
6.24.3 Protocol
6.24.4 Inputs
Register 7 6 5 4 3 2 1 0
Features Subcommand code
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Command 00h
Features register -
Device register -
DEV shall specify the selected device.
The Command Block registers, other than the Error and Status registers, are not changed by this command.
This command always fails with the device returning command aborted.
Page 164
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error na na na na na ABRT na na
Sector Count Initial value
LBA Low Initial value
LBA Mid Initial value
LBA High Initial value
Device Initial value
Status BSY DRDY DF na DRQ na na ERR
Error register -
ABRT shall be set to one.
Sector Count, LBA Low, LBA Mid, LBA High, Device -
value set by host is not changed.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be set to one.
6.24.7 Prerequisites
6.24.8 Description
The device shall respond with command aborted. For devices implementing the Overlapped feature set,
subcommand code 00h in the Features register shall abort any outstanding queue. Subcommand codes 01h
through FFh in the Features register shall not affect the status of any outstanding queue.
Page 165
T13/1532D Volume 1 Revision 4b
6.25 PACKET
6.25.1 Command code
A0h
− Use prohibited for devices not implementing the PACKET Command feature set.
− Mandatory for devices implementing the PACKET Command feature set.
6.25.3 Protocol
6.25.4 Inputs
Register 7 6 5 4 3 2 1 0
Features na na na na na DMADIR OVL DMA
Sector Count Tag na
LBA Low na
Byte Count Low Byte Count limit (7:0)
Byte Count High Byte Count limit (15:8)
Device obs na obs DEV na na na na
Command A0h
Features register -
DMADIR - This bit indicates Packet DMA direction and is used only for devices that implement the
Packet Command feature set with a Serial ATA bridge that require direction indication from the
host. Support for this bit is determined by reading bit 15 of word 62 in the IDENTIFY PACKET
DEVICE data. If bit 15 of word 62 is set to 1, the device requires the use of the DMADIR bit for
Packet DMA commands.
If the device requires the DMADIR bit to be set for Packet DMA operations and the current
operations is DMA (i.e. bit 0, the DMA bit, is set), this bit indicates the direction of data transfer
(0 = transfer to the device; 1 = transfer to the host). If the device requires the DMADIR bit to be
set for Packet DMA operations but the current operations is PIO (i.e. bit 0, the DMA bit, is
cleared), this bit is ignored.
Since the data transfer direction will be set by the host as the command is constructed, the
DMADIR bit should not conflict with the data transfer direction of the command. If a conflict
between the command transfer direction and the DMADIR bit occurs, the device should return
with an ABORTED command, and the sense key set to ILLEGAL REQUEST.
If the device does not require the DMADIR bit for Packet DMA operations, this bit should be
cleared to 0.
A device that does not support the DMADIR feature may abort a command if the DMADIR bit is
set to 1.
OVL - This bit is set to one to inform the device that the PACKET command is to be overlapped.
DMA - This bit is set to one to inform the device that the data transfer (not the command packet
transfer) associated with this command is via Multiword DMA or Ultra DMA mode.
Sector Count register -
Page 166
T13/1532D Volume 1 Revision 4b
Tag - If the device supports command queuing, this field contains the command Tag for the
command being delivered. A Tag may have any value between 0 and 31 regardless of the
queue depth supported. If queuing is not supported, this field is not applicable.
Byte Count low and Byte Count high registers -
These registers are written by the host with the maximum byte count that is to be transferred in any
single DRQ assertion for PIO transfers. The byte count does not apply to the command packet
transfer. If the PACKET command does not transfer data, the byte count is ignored.
1) the host should not set the byte count limit to zero. If the host sets the byte count limit to
zero, the contents of IDENTIFY PACKET DEVICE data word 125 determines the expected
behavior;
2) the value set into the byte count limit shall be even if the total requested data transfer length
is greater than the byte count limit;
3) the value set into the byte count limit may be odd if the total requested data transfer length is
equal to or less than the byte count limit;
4) the value FFFFh is interpreted by the device as though the value were FFFEh.
Device register -
DEV shall specify the selected device.
When the device is ready to accept the command packet from the host the register content shall be as
shown below.
Register 7 6 5 4 3 2 1 0
Error na
Interrupt reason Tag REL I/O C/D
LBA Low na
Byte Count Low Byte Count (7:0)
Byte Count High Byte Count (15:8)
Device obs na obs DEV na na na na
Status BSY na DMRD SERV DRQ na na CHK
Byte Count High/Low - shall reflect the value set by the host when the command was issued.
Interrupt reason register -
Tag - If the device supports command queuing and overlap is enabled, this field contains the
command Tag for the command. A Tag value may be any value between 0 and 31 regardless of
the queue depth supported. If the device does not support command queuing or overlap is
disabled, this field is not applicable.
REL - Shall be cleared to zero.
I/O - Shall be cleared to zero indicating transfer to the device.
C/D - Shall be set to one indicating the transfer of a command packet.
Device register -
DEV shall indicate the selected device.
Status register -
BSY - Shall be cleared to zero.
DMRD (DMA ready) - Shall be cleared to zero.
SERV (Service) - Shall be set to one if another command is ready to be serviced. If overlap is not
supported, this bit is command specific.
DRQ - Shall be set to one.
CHK - Shall be cleared to zero.
Page 167
T13/1532D Volume 1 Revision 4b
If overlap is not supported or not specified by the command, data transfer shall occur after the receipt of the
command packet. If overlap is supported and the command specifies that the command may be overlapped,
data transfer may occur after receipt of the command packet or may occur after the receipt of a SERVICE
command. When the device is ready to transfer data requested by a data transfer command, the device sets
the following register content to initiate the data transfer.
Register 7 6 5 4 3 2 1 0
Error na
Interrupt reason Tag REL I/O C/D
LBA Low na
Byte Count Low Byte Count (7:0)
Byte Count High Byte Count (15:8)
Device obs na obs DEV na na na na
Status BSY na DMRD SERV DRQ na na CHK
Byte Count High/Low - If the transfer is to be in PIO mode, the byte count of the data to be transferred for
this DRQ assertion shall be presented.
1) the byte count shall be less than or equal to the byte count limit value from the host;
2) the byte count shall not be zero;
3) the byte count shall be less than or equal to FFFEh;
4) the byte count shall be even except for the last transfer of a command;
5) if the byte count is odd, the last valid byte transferred is on DD(7:0) and the data on
DD(15:8) is a pad byte of undefined value;
6) if the last transfer of a command has a pad byte, the byte count shall be odd.
Page 168
T13/1532D Volume 1 Revision 4b
After receiving the command packet, the device sets BSY to one and clears DRQ to zero. If the command
packet requires a data transfer, the OVL bit is set to one, the Release interrupt is disabled, and the device is
not prepared to immediately transfer data, the device may perform a bus release by placing the following
register content in the Command Block registers. If the command packet requires a data transfer, the OVL bit
is set to one, and the Release interrupt is enabled, the device shall perform a bus release by setting the
register content as follows.
Register 7 6 5 4 3 2 1 0
Error na
Interrupt reason Tag REL I/O C/D
LBA Low na
Byte Count Low na
Byte Count High na
Device obs na obs DEV na na na na
Status BSY DRDY DMRD SERV DRQ na na CHK
When the device is ready to transfer data or complete a command after the command has performed a bus
release, the device shall set the SERV bit and not change the state of any other register bit (See 10). When
the SERVICE command is received, the device shall set outputs as described in data transfer, successful
command completion, or error outputs depending on the service the device requires.
When the device has command completion without error, the device sets the following register content.
Page 169
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error na
Interrupt reason Tag REL I/O C/D
LBA Low na
Byte Count Low na
Byte Count High na
Device obs na obs DEV na na na na
Status BSY DRDY DMRD SERV DRQ na na CHK
The device shall not terminate the PACKET command with an error before the last byte of the command
packet has been written (See Clause 11).
Register 7 6 5 4 3 2 1 0
Error Sense key na ABRT EOM ILI
Interrupt reason Tag REL I/O C/D
LBA Low na
Byte Count Low na
Byte Count High na
Device obs na obs DEV na na na na
Status BSY DRDY DF SERV DRQ na na CHK
Error register -
Sense Key is a command packet set specific error indication.
ABRT shall be set to one if the requested command has been command aborted because the
command code or a command parameter is invalid. ABRT may be set to one if the device is
not able to complete the action requested by the command.
EOM - the meaning of this bit is command set specific. See the appropriate command set standard
for the definition of this bit.
ILI - the meaning of this bit is command set specific. See the appropriate command set standard for
the definition of this bit.
Interrupt reason register -
Tag - If the device supports command queuing and overlap is enabled, this field contains the
command Tag for the command. A Tag value may be any value between 0 and 31
regardless of the queue depth supported. If the device does not support command queuing
or overlap is disabled, this field is not applicable.
Page 170
T13/1532D Volume 1 Revision 4b
6.25.7 Prerequisites
6.25.8 Description
The PACKET command is used to transfer a device command via a command packet. If the native form of
the encapsulated command is shorter than the packet size reported in bits (1:0) of word 0 of the IDENTIFY
PACKET DEVICE response, the encapsulated command shall begin at byte 0 of the packet. Packet bytes
beyond the end of the encapsulated command are reserved.
If the device supports overlap, the OVL bit is set to one in the Features register and the Release interrupt
has been disabled via the SET FEATURES command, the device may or may not perform a bus release. If
the device is ready for the data transfer, the device may begin the transfer immediately as described in the
non-overlapped protocol (See Clause 11). If the data is not ready, the device may perform a bus release and
complete the transfer after the execution of a SERVICE command.
Page 171
T13/1532D Volume 1 Revision 4b
E4h
− Optional for devices not implementing the PACKET Command feature set.
− Use prohibited for devices implementing the PACKET Command feature set.
6.26.3 Protocol
6.26.4 Inputs
Register 7 6 5 4 3 2 1 0
Features na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Command E4h
Device register -
DEV shall specify the selected device.
Register 7 6 5 4 3 2 1 0
Error na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Status BSY DRDY DF na DRQ na na ERR
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
The device shall return command aborted if the command is not supported.
Page 172
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error na na na na na ABRT na na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Status BSY DRDY DF na DRQ na na ERR
Error register -
ABRT shall be set to one if this command is not supported. ABRT may be set to one if the device is
not able to complete the action requested by the command.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one.
6.26.7 Prerequisites
DRDY set to one. The command prior to a READ BUFFER command shall be a WRITE BUFFER command.
6.26.8 Description
The READ BUFFER command enables the host to read the current contents of the device’s sector buffer.
The READ BUFFER and WRITE BUFFER commands shall be synchronized such that sequential WRITE
BUFFER and READ BUFFER commands access the same 512 bytes within the buffer.
Page 173
T13/1532D Volume 1 Revision 4b
C8h
− Mandatory for devices not implementing the PACKET Command feature set.
− Use prohibited for devices implementing the PACKET Command feature set.
6.27.3 Protocol
6.27.4 Inputs
Register 7 6 5 4 3 2 1 0
Features na
Sector Count Sector count
LBA Low LBA (7:0)
LBA Mid LBA (15:8)
LBA High LBA (23:16)
Device obs LBA obs DEV LBA (27:24)
Command C8h
Sector Count -
number of sectors to be transferred. A value of 00h specifies that 256 sectors are to be transferred.
LBA Low -
starting LBA bits (7:0).
LBA Mid -
starting LBA bits (15:8).
LBA High -
starting LBA bits (23:16).
Device -
the LBA bit shall be set to one to specify the address is an LBA,
DEV shall specify the selected device.
Bits (3:0) shall be starting LBA bits (27:24).
Register 7 6 5 4 3 2 1 0
Error na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Status BSY DRDY DF na DRQ na na ERR
Device register -
DEV shall indicate the selected device.
Status register -
Page 174
T13/1532D Volume 1 Revision 4b
An unrecoverable error encountered during the execution of this command results in the termination of the
command. The Command Block registers contain the address of the sector where the first unrecoverable
error occurred. The amount of data transferred is indeterminate.
Register 7 6 5 4 3 2 1 0
Error ICRC UNC MC IDNF MCR ABRT NM obs
Sector Count na
LBA Low LBA (7:0)
LBA Mid LBA (15:8)
LBA High LBA (23:16)
Device obs na obs DEV LBA (27:24)
Status BSY DRDY DF na DRQ na na ERR
Error register -
ICRC shall be set to one if an interface CRC error has occurred during an Ultra DMA data transfer.
The content of this bit is not applicable for Multiword DMA transfers.
UNC shall be set to one if data is uncorrectable
MC shall be set to one if the media in a removable media device changed since the issuance of the
last command. The device shall clear the device internal media change detected state.
IDNF shall be set to one if a user-accessible address could not be found. IDNF shall be set to one if
an address outside of the range of user-accessible addresses is requested if command
aborted is not returned.
MCR shall be set to one if a media change request has been detected by a removable media device.
This bit is only cleared by a GET MEDIA STATUS or a media access command.
ABRT shall be set to one if this command is not supported or if an error, including an ICRC error, has
occurred during an Ultra DMA data transfer. ABRT may be set to one if the device is not able
to complete the action requested by the command. ABRT shall be set to one if an address
outside of the range of user-accessible addresses is requested if IDNF is not set to one.
NM shall be set to one if no media is present in a removable media device.
LBA Low, LBA Mid, LBA High, Device -
shall be written with the address of first unrecoverable error.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one; however, if SE is set to one, ERR shall
be cleared to zero.
6.27.7 Prerequisites
DRDY set to one. The host shall initialize the DMA channel.
6.27.8 Description
The READ DMA command allows the host to read data using the DMA data transfer protocol.
Page 175
T13/1532D Volume 1 Revision 4b
25h
6.28.3 Protocol
6.28.4 Inputs
Register 7 6 5 4 3 2 1 0
Features Current Reserved
Previous Reserved
Sector Count Current Sector count (7:0)
Previous Sector count (15:8)
LBA Low Current LBA (7:0)
Previous LBA (31:24)
LBA Mid Current LBA (15:8)
Previous LBA (39:32)
LBA High Current LBA (23:16)
Previous LBA (47:40)
Device obs LBA obs DEV Reserved
Command 25h
NOTE − The value indicated as Current is the value most recently written to the register. The value
indicated as Previous is the value that was in the register before the most recent write to the register.
Page 176
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error na
Sector Count HOB = 0 Reserved
HOB = 1 Reserved
LBA Low HOB = 0 Reserved
HOB = 1 Reserved
LBA Mid HOB = 0 Reserved
HOB = 1 Reserved
LBA High HOB = 0 Reserved
HOB = 1 Reserved
Device obs na obs DEV Reserved
Status BSY DRDY DF na DRQ na na ERR
NOTE − HOB = 0 indicates the value read by the host when the HOB bit of the Device Control register is
cleared to zero. HOB = 1 Indicates the value read by the host when the HOB bit of the Device Control
register is set to one.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
An unrecoverable error encountered during the execution of this command results in the termination of the
command. The Command Block registers contain the address of the sector where the first unrecoverable
error occurred. The amount of data transferred is indeterminate.
Register 7 6 5 4 3 2 1 0
Error ICRC UNC MC IDNF MCR ABRT NM obs
Sector Count HOB = 0 Reserved
HOB = 1 Reserved
LBA Low HOB = 0 LBA (7:0)
HOB = 1 LBA (31:24)
LBA Mid HOB = 0 LBA (15:8)
HOB = 1 LBA (39:32)
LBA High HOB = 0 LBA (23:16)
HOB = 1 LBA (47:40)
Device obs na obs DEV Reserved
Status BSY DRDY DF na DRQ na na ERR
NOTE − HOB = 0 indicates the value read by the host when the HOB bit of the Device Control register is
cleared to zero. HOB = 1 Indicates the value read by the host when the HOB bit of the Device Control
register is set to one.
Page 177
T13/1532D Volume 1 Revision 4b
Error register -
ICRC shall be set to one if an interface CRC error has occurred during an Ultra DMA data transfer.
The content of this bit is not applicable for Multiword DMA transfers.
UNC shall be set to one if data is uncorrectable.
MC shall be set to one if the media in a removable media device changed since the issuance of the
last command. The device shall clear the device internal media change detected state.
IDNF shall be set to one if a user-accessible address could not be found. IDNF shall be set to one if
an address outside of the range of user-accessible addresses is requested if command
aborted is not returned.
MCR shall be set to one if a media change request has been detected by a removable media device.
This bit is only cleared by a GET MEDIA STATUS or a media access command.
ABRT shall be set to one if this command is not supported or if an error, including an ICRC error, has
occurred during an Ultra DMA data transfer. ABRT may be set to one if the device is not able
to complete the action requested by the command. ABRT shall be set to one if an address
outside of the range of user-accessible addresses is requested if IDNF is not set to one.
NM shall be set to one if no media is present in a removable media device.
-LBA Low -
LBA (7:0) of the address of the first unrecoverable error when read with Device Control register HOB
bit cleared to zero.
LBA (31:24) of the address of the first unrecoverable error when read with Device Control register
HOB bit set to one.
LBA Mid -
LBA (15:8) of the address of the first unrecoverable error when read with Device Control register
HOB bit cleared to zero.
LBA (39:32) of the address of the first unrecoverable error when read with Device Control
register HOB bit set to one.
LBA High -
LBA (23:16) of the address of the first unrecoverable error when read with Device Control register
HOB bit cleared to zero.
LBA (47:40) of the address of the first unrecoverable error when read with Device Control register
HOB bit set to one.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one; however, if SE is set to one, ERR shall
be cleared to zero.
6.28.7 Prerequisites
DRDY set to one. The host shall initialize the DMA channel.
6.28.8 Description
The READ DMA EXT command allows the host to read data using the DMA data transfer protocol.
Page 178
T13/1532D Volume 1 Revision 4b
C7h
6.29.3 Protocol
6.29.4 Inputs
Register 7 6 5 4 3 2 1 0
Features Sector Count
Sector Count Tag na na na
LBA Low LBA (7:0)
LBA Mid LBA (15:8)
LBA High LBA (23:16)
Device obs LBA obs DEV LBA (27:24)
Command C7h
Features -
number of sectors to be transferred. A value of 00h specifies that 256 sectors are to be transferred.
Sector count -
if the device supports command queuing, bits (7:3) contain the Tag for the command being
delivered. A Tag value may be any value between 0 and 31 regardless of the queue depth
supported. If queuing is not supported, this register shall be set to the value 00h.
LBA Low -
starting LBA bits (7:0).
LBA Mid -
starting LBA bits (15:8).
LBA High -
starting LBA bits (23:16).
Device -
the LBA bit shall be set to one to specify the address is an LBA.
DEV shall specify the selected device.
Bits (3:0) starting LBA bits (27:24).
Data transfer may occur after receipt of the command or may occur after the receipt of a SERVICE
command. When the device is ready to transfer data requested by a data transfer command, the device sets
the following register content to initiate the data transfer.
Page 179
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error na
Sector Count Tag REL I/O C/D
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Status BSY DRDY DF SERV DRQ na na CHK
If the device performs a bus release before transferring data for this command, the register content upon
performing a bus release shall be as shown below.
Register 7 6 5 4 3 2 1 0
Error na
Sector Count Tag REL I/O C/D
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Status BSY DRDY DF SERV DRQ na na ERR
Page 180
T13/1532D Volume 1 Revision 4b
When the device is ready to transfer data or complete a command after the command has performed a bus
release, the device shall set the SERV bit and not change the state of any other register bit (See Clause 10).
When the SERVICE command is received, the device shall set outputs as described in data transfer,
command completion, or error outputs depending on the service the device requires.
When the transfer of all requested data has occurred without error, the register content shall be as shown
below.
Register 7 6 5 4 3 2 1 0
Error 00h
Sector Count Tag REL I/O C/D
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Status BSY DRDY DF SERV DRQ na na ERR
The Sector Count register contains the Tag for this command if the device supports command queuing. The
device shall return command aborted if the command is not supported or if the device has not had
overlapped interrupt enabled. The device shall return command aborted if the device supports command
queuing and the Tag is invalid. An unrecoverable error encountered during the execution of this command
results in the termination of the command and the Command Block registers contain the sector where the
first unrecoverable error occurred. If a queue existed, the unrecoverable error shall cause the queue to abort.
Page 181
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error ICRC UNC MC IDNF MCR ABRT NM obs
Sector Count Tag REL I/O C/D
LBA Low LBA (7:0)
LBA Mid LBA (15:8)
LBA High LBA (23:16)
Device obs na obs DEV LBA (27:24)
Status BSY DRDY DF SERV DRQ na na ERR
Error register -
ICRC shall be set to one if an interface CRC error has occurred during an Ultra DMA data transfer.
The content of this bit is not applicable for Multiword DMA transfers.
UNC shall be set to one if data is uncorrectable.
MC shall be set to one if the media in a removable media device changed since the issuance of the
last command. The device shall clear the device internal media change detected state.
IDNF shall be set to one if a user-accessible address could not be found. IDNF shall be set to one if
an address outside of the range of user-accessible addresses is requested if ABRT is not set
to one.
MCR shall be set to one if a media change request has been detected by a removable media device.
This bit is only cleared by a GET MEDIA STATUS or a media access command.
ABRT shall be set to one if this command is not supported or if an error, including an ICRC error, has
occurred during an Ultra DMA data transfer. ABRT may be set to one if the device is not able
to complete the action requested by the command. ABRT shall be set to one if an address
outside of the range of user-accessible addresses is requested if IDNF is not set to one.
NM shall be set to one if no media is present in a removable media device.
Sector Count register -
Tag - If the device supports command queuing, this field shall contain the Tag of the completed
command. If the device does not support command queuing, this field shall be set to the
value 00h.
REL shall be cleared to zero.
I/O shall be set to one.
C/D shall be set to one.
LBA Low, LBA Mid, LBA High, Device -
shall be written with the address of first unrecoverable error.
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
SERV (Service) shall be cleared to zero when no other queued command is ready for service. SERV
shall be set to one when another queued command is ready for service.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one.
6.29.7 Prerequisites
DRDY set to one. The host shall initialize the DMA channel.
6.29.8 Description
This command executes in a similar manner to a READ DMA command. The device may perform a bus
release or may execute the data transfer without performing a bus release if the data is ready to transfer.
Page 182
T13/1532D Volume 1 Revision 4b
26h
6.30.3 Protocol
6.30.4 Inputs
Register 7 6 5 4 3 2 1 0
Features Current Sector count (7:0)
Previous Sector count (15:8)
Sector Count Current Tag Reserved
Previous Reserved
LBA Low Current LBA (7:0)
Previous LBA (31:24)
LBA Mid Current LBA (15:8)
Previous LBA (39:32)
LBA High Current LBA (23:16)
Previous LBA (47:40)
Device obs LBA obs DEV Reserved
Command 26h
NOTE − The value indicated as Current is the value most recently written to the register. The value
indicated as Previous is the value that was in the register before the most recent write to the register.
Features Current -
number of sectors to be transferred low order, bits (7:0).
Features Previous -
number of sectors to be transferred high order, bits (15:8). 0000h in the Features register specifies that
65,536 sectors are to be transferred.
Page 183
T13/1532D Volume 1 Revision 4b
LBA (23:16).
LBA High Previous -
LBA (47:40).
Device -
DEV shall specify the selected device.
LBA shall be set to one
Data transfer may occur after receipt of the command or may occur after the receipt of a SERVICE
command. When the device is ready to transfer data requested by a data transfer command, the device sets
the following register content to initiate the data transfer.
Register 7 6 5 4 3 2 1 0
Error na
Sector Count HOB = 0 Tag REL I/O C/D
HOB = 1 Reserved
LBA Low HOB = 0 Reserved
HOB = 1 Reserved
LBA Mid HOB = 0 Reserved
HOB = 1 Reserved
LBA High HOB = 0 Reserved
HOB = 1 Reserved
Device obs na obs DEV Reserved
Status BSY DRDY DF na DRQ na na ERR
NOTE − HOB = 0 indicates the value read by the host when the HOB bit of the Device Control register is
cleared to zero. HOB = 1 Indicates the value read by the host when the HOB bit of the Device Control
register is set to one.
Sector Count (when the HOB bit of the Device Control register is cleared to zero) -
Tag -This field contains the command Tag for the command. A Tag value may be any value between
0 and 31 regardless of the queue depth supported. If the device does not support command
queuing or overlap is disabled, this register shall be set to the value 00h.
REL - Shall be cleared to zero.
I/O - Shall be set to one indicating the transfer is to the host.
C/D - Shall be cleared to zero indicating the transfer of data.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
If the device performs a bus release before transferring data for this command, the register content upon
performing a bus release shall be as shown below.
Page 184
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error na
Sector Count HOB = 0 Tag REL I/O C/D
HOB = 1 Reserved
LBA Low HOB = 0 Reserved
HOB = 1 Reserved
LBA Mid HOB = 0 Reserved
HOB = 1 Reserved
LBA High HOB = 0 Reserved
HOB = 1 Reserved
Device obs na obs DEV Reserved
Status BSY DRDY DF SERV DRQ na na ERR
NOTE − HOB = 0 indicates the value read by the host when the HOB bit of the Device Control register is
cleared to zero. HOB = 1 Indicates the value read by the host when the HOB bit of the Device Control
register is set to one.
Sector Count (when the HOB bit of the Device Control register is cleared to zero) -
Tag -This field contains the command Tag for the command. A Tag value may be any value between
0 and 31 regardless of the queue depth supported. If the device does not support command
queuing or overlap is disabled, this register shall be set to the value 00h.
REL - Shall be set to one.
I/O - Shall be set to one indicating the transfer is to the host.
C/D - Shall be cleared to zero indicating the transfer of data.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
SERV (Service) shall be cleared to zero when no other queued command is ready for service. SERV
shall be set to one when another queued command is ready for service. SERV shall be set
to one when the device has prepared this command for service.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
When the device is ready to transfer data or complete a command after the command has performed a bus
release, the device shall set the SERV bit and not change the state of any other register bit (See Clause 10).
When the SERVICE command is received, the device shall set outputs as described in data transfer,
command completion, or error outputs depending on the service the device requires.
When the transfer of all requested data has occurred without error, the register content shall be as shown
below.
Page 185
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error na
Sector Count HOB = 0 Tag REL I/O C/D
HOB = 1 Reserved
LBA Low HOB = 0 Reserved
HOB = 1 Reserved
LBA Mid HOB = 0 Reserved
HOB = 1 Reserved
LBA High HOB = 0 Reserved
HOB = 1 Reserved
Device obs na obs DEV Reserved
Status BSY DRDY DF SERV DRQ na na ERR
NOTE − HOB = 0 indicates the value read by the host when the HOB bit of the Device Control register is
cleared to zero. HOB = 1 Indicates the value read by the host when the HOB bit of the Device Control
register is set to one.
Sector Count (when the HOB bit of the Device Control register is cleared to zero) -
Tag -This field contains the command Tag for the command. A Tag value may be any value between
0 and 31 regardless of the queue depth supported. If the device does not support command
queuing or overlap is disabled, this register shall be set to the value 00h.
REL - Shall be cleared to zero.
I/O - Shall be set to one.
C/D - Shall be set to one.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
SERV (Service) shall be cleared to zero when no other queued command is ready for service. SERV
shall be set to one when another queued command is ready for service.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
The Sector Count register contains the Tag for this command if the device supports command queuing. The
device shall return command aborted if the command is not supported or if the device has not had
overlapped interrupt enabled. The device shall return command aborted if the device supports command
queuing and the Tag is invalid. An unrecoverable error encountered during the execution of this command
results in the termination of the command and the Command Block registers contain the sector where the
first unrecoverable error occurred. If a queue existed, the unrecoverable error shall cause the queue to abort.
Page 186
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error ICRC UNC MC IDNF MCR ABRT NM obs
Sector Count HOB = 0 Tag REL I/O C/D
HOB = 1 Reserved
LBA Low HOB = 0 LBA (7:0)
HOB = 1 LBA (31:24)
LBA Mid HOB = 0 LBA (15:8)
HOB = 1 LBA (39:32)
LBA High HOB = 0 LBA (23:16)
HOB = 1 LBA (47:40)
Device obs na obs DEV Reserved
Status BSY DRDY DF SERV DRQ na na ERR
NOTE − HOB = 0 indicates the value read by the host when the HOB bit of the Device Control register is
cleared to zero. HOB = 1 Indicates the value read by the host when the HOB bit of the Device Control
register is set to one.
Error register -
ICRC shall be set to one if an interface CRC error has occurred during an Ultra DMA data transfer.
The content of this bit is not applicable for Multiword DMA transfers.
UNC shall be set to one if data is uncorrectable.
MC shall be set to one if the media in a removable media device changed since the issuance of the
last command. The device shall clear the device internal media change detected state.
IDNF shall be set to one if a user-accessible address could not be found. IDNF shall be set to one if
an address outside of the range of user-accessible addresses is requested if command
aborted is not returned.
MCR shall be set to one if a media change request has been detected by a removable media device.
This bit is only cleared by a GET MEDIA STATUS or a media access command.
ABRT shall be set to one if this command is not supported or if an error, including an ICRC error, has
occurred during an Ultra DMA data transfer. ABRT may be set to one if the device is not able
to complete the action requested by the command. ABRT shall be set to one if an address
outside of the range of user-accessible addresses is requested if IDNF is not set to one.
NM shall be set to one if no media is present in a removable media device.
Sector Count (when the HOB bit of the Device Control register is cleared to zero) -
Tag -This field contains the command Tag for the command. A Tag value may be any value between
0 and 31 regardless of the queue depth supported. If the device does not support command
queuing or overlap is disabled, this register shall be set to the value 00h.
REL - Shall be cleared to zero.
I/O - Shall be set to one.
C/D - Shall be set to one.
LBA Low -
LBA (7:0) of the address of the first unrecoverable error when read with Device Control register HOB
bit cleared to zero.
LBA (31:24) of the address of the first unrecoverable error when read with Device Control register
HOB bit set to one.
LBA Mid -
LBA (15:8) of the address of the first unrecoverable error when read with Device Control register
HOB bit cleared to zero.
LBA (39:32) of the address of the first unrecoverable error when read with Device Control
register HOB bit set to one.
LBA High -
LBA (23:16) of the address of the first unrecoverable error when read with Device Control register
HOB bit cleared to zero.
LBA (47:40) of the address of the first unrecoverable error when read with Device Control register
HOB bit set to one.
Device register -
DEV shall indicate the selected device.
Status register -
Page 187
T13/1532D Volume 1 Revision 4b
6.30.7 Prerequisites
DRDY set to one. The host shall initialize the DMA channel.
6.30.8 Description
This command executes in a similar manner to a READ DMA command. The device may perform a bus
release or may execute the data transfer without performing a bus release if the data is ready to transfer.
Page 188
T13/1532D Volume 1 Revision 4b
2Fh
- Mandatory for devices implementing the General Purpose Logging feature set
6.31.3 Protocol
6.31.4 Inputs
Register 7 6 5 4 3 2 1 0
Features Current Reserved
Previous Reserved
Sector Count Current Sector count (7:0)
Previous Sector count (15:8)
LBA Low Current Log address
Previous Reserved
LBA Mid Current Sector offset (7:0)
Previous Sector offset (15:8)
LBA High Current Reserved
Previous Reserved
Device/Head obs na obs DEV Reserved
Command 2Fh
NOTE - The value indicated as Current is the value most recently written to the register. The value
indicated as Previous is the value that was in the register before the most recent write to the register.
Sector Count - Specifies the number of sectors to be read from the specified log. The log transferred by the
drive shall start at the sector in the specified log at the specified offset, regardless of the sector count
requested.
LBA Low - Specifies the log to be returned as described in Table 20. A device may support a subset of the
available logs. Support for individual logs is determined by support for the associated feature set.
Support of the associated log(s) is mandatory for devices implementing the associated feature set.
The host vendor specific logs may be used by the host to store any data desired. If a host vendor
specific log has never been written by the host, when read the content of the log shall be zeros.
Device vendor specific logs may be used by the device vendor to store any data and need only be
implemented if used.
LBA Mid - Specifies the first sector of the log to be read.
Device/Head register -
DEV shall indicate the selected device.
Page 189
T13/1532D Volume 1 Revision 4b
NOTE − If log address 02h or log address 06h are accessed using the READ LOG EXT or WRITE LOG
EXT commands, command abort shall be returned.
The Comprehensive SMART error log and the SMART self-test log are defined in 6.54.6 and 6.54.8. If log
address 02h or log address 06h are accessed using the READ LOG EXT or WRITE LOG EXT commands,
command abort shall be returned.
All 28-bit entries contained in the Comprehensive SMART log shall also be included in the Extended
Comprehensive SMART error log with the 48-bit entries.
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 sector shall also be included in the Comprehensive SMART self-test
log sector with the 48-bit entries.
Page 190
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error na
Sector Count HOB = 0 Reserved
HOB = 1 Reserved
LBA Low HOB = 0 Reserved
HOB = 1 Reserved
LBA Mid HOB = 0 Reserved
HOB = 1 Reserved
LBA High HOB = 0 Reserved
HOB = 1 Reserved
Device/Head obs na obs DEV Reserved
Status BSY DRDY DF na DRQ na na ERR
NOTE − HOB = 0 indicates the value read by the host when the HOB bit of the Device Control register is
cleared to zero. HOB = 1 Indicates the value read by the host when the HOB bit of the Device Control
register is set to one.
Device/Head register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one indicating that the device is capable of receiving any command.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
If the device does not support this command, if the feature set associated with the log specified in the LBA
Low register is not supported or enabled, or if the values in the Features, Sector Count, LBA Mid, or LBA
High registers are invalid, the device shall return command aborted.
Register 7 6 5 4 3 2 1 0
Error na UNC na IDNF na ABRT na obs
Sector Count HOB = 0 Reserved
HOB = 1 Reserved
LBA Low HOB = 0 Reserved
HOB = 1 Reserved
LBA Mid HOB = 0 Reserved
HOB = 1 Reserved
LBA High HOB = 0 Reserved
HOB = 1 Reserved
Device/Head obs na obs DEV Reserved
Status BSY DRDY DF na DRQ na na ERR
NOTE − HOB = 0 indicates the value read by the host when the HOB bit of the Device Control register is
cleared to zero. HOB = 1 Indicates the value read by the host when the HOB bit of the Device Control
register is set to one.
Error register -
UNC shall be set to one if the log contains one or more sectors that are uncorrectable.
IDNF shall be set to one if the log sector’s ID field was not found or data structure checksum error
occurred.
ABRT shall be set to one if this command is not supported, if the feature associated with the log specified in
the LBA Low register is not supported, or if other register values are invalid. ABRT may be set to
Page 191
T13/1532D Volume 1 Revision 4b
one if the device is not able to complete the action requested by the command. ABRT shall be set to
one if the Sector Count register contains a count larger than the log size reported in the Log
Directory. ABRT shall be set to one if the host issues a READ LOG EXT or WRITE LOG EXT
command with a value of zero in the Sector Count register.
Device/Head register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one indicating that the device is capable of receiving any command.
DF (Device Fault) shall be set to one indicating that a device fault has occurred.
DRQ shall be cleared to zero indicating that there is no data to be transferred.
ERR shall be set to one if any Error register bit is set to one.
6.31.7 Prerequisites
6.31.8 Description
This command returns the specified log to the host. The device shall interrupt for each DRQ block
transferred. See 6.54.6.
Table 21 defines the 512 bytes that make up the General Purpose Log Directory.
The value of the General Purpose Logging Version word shall be 0001h. A value of 0000h indicates that no
General Purpose log Directory exists.
The logs at log addresses 80-9Fh shall each be defined as 16 sectors long.
Table 22 defines the format of each of the sectors that comprise the Extended Comprehensive SMART error
log. The maximum size of the Extended Comprehensive SMART error log is 65,536 sectors. Devices may
support fewer than 65,535 sectors. All multi-byte fields shown in this structure follow the byte ordering
described in Volume 1, Clause 3. Error log data structures shall include UNC errors, IDNF errors for which
the address requested was valid, servo errors, write fault errors, etc. Error log data structures 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 invalid addresses.
All 28-bit entries contained in the Comprehensive SMART log, defined under section 6.54.6.8.3, shall also be
included in the Extended Comprehensive SMART error log with the 48-bit entries.
Page 192
T13/1532D Volume 1 Revision 4b
The value of the SMART error log version byte shall be 01h.
The error log index indicates the error log data structure representing the most recent error. If there have
been no error log entries, the error log index is cleared to zero. Valid values for the error log index are zero
to 65,536.
The error log is viewed as a circular buffer. When the last supported error log sector has been filled, the next
error shall create an error log data structure that replaces the first error log data structure in sector zero. The
next error after that shall create an error log data structure that replaces the second error log data structure
in sector zero. The fifth error after the log has filled shall replace the first error log data structure in sector
one, and so on.
The error log index indicates the most recent error log data structure. Unused error log data structures shall
be filled with zeros.
The content of the error log data structure entries is defined in Table 23.
The fifth command data structure shall contain the command or reset for which the error is being reported.
The fourth command data structure should contain the command or reset that preceded the command or
reset for which the error is being reported, the third command data structure should contain the command or
reset preceding the one in the fourth command data structure, etc. If fewer than four commands and resets
preceded the command or reset for which the error is being reported, the unused command data structures
shall be zero filled, for example, if only three commands and resets preceded the command or reset for
which the error is being reported, the first command data structure shall be zero filled. In some devices, the
Page 193
T13/1532D Volume 1 Revision 4b
hardware implementation may preclude the device from reporting the commands that preceded the
command for which the error is being reported or that preceded a reset. In this case, the command data
structures are zero filled.
If the command data structure represents a command or software reset, the content of the command data
structure shall be as shown in Table 24. If the command data structure represents a hardware reset, the
content of byte n shall be FFh, the content of bytes n+1 through n+13 are vendor specific, and the content of
bytes n+14 through n+17 shall contain the timestamp.
Timestamp shall be the time since power-on in milliseconds when command acceptance occurred. This
timestamp may wrap around.
The error data structure shall contain the error description of the command for which an error was reported
as described in Table 25. If the error was logged for a hardware reset, the content of bytes n+1 through n+11
shall be vendor specific and the remaining bytes shall be as defined in Table 25.
Page 194
T13/1532D Volume 1 Revision 4b
State shall contain a value indicating the state of the device when the command was written to the Command
register or the reset occurred as described in Table 26.
Sleep indicates the reset for which the error is being reported was received when the device was in the
Sleep mode.
Standby indicates the command or reset for which the error is being reported was received when the device
was in the Standby mode.
Active/Idle with BSY cleared to zero indicates the command or reset for which the error is being reported was
received when the device was in the Active or Idle mode and BSY was cleared to zero.
Executing SMART off-line or self-test indicates the command or reset for which the error is being reported
was received when the device was in the process of executing a SMART off-line or self-test.
Life timestamp shall contain the power-on lifetime of the device in hours when command completion
occurred.
Page 195
T13/1532D Volume 1 Revision 4b
The device error count field shall contain the total number of errors attributable to the device that have been
reported by the device during the life of the device. These errors shall include UNC errors, IDNF errors for
which the address requested was valid, servo errors, write fault errors, etc. This count shall not include errors
attributed to the receipt of faulty commands such as commands codes not implemented by the device or
requests with invalid parameters or invalid addresses. If the maximum value for this field is reached, the
count shall remain at the maximum value when additional errors are encountered and logged.
The data structure checksum is the two’s complement of the sum of the first 511 bytes in the data structure.
Each byte shall be added with unsigned arithmetic, and overflow shall be ignored. The sum of all 512 bytes
will be zero when the checksum is correct. The checksum is placed in byte 511.
Table 27 defines the format of each of the sectors that comprise the Extended SMART Self-test log. The
maximum size of the self-test log is 65,535 sectors. Devices may support fewer than 65,536 sectors. All
multi-byte fields shown in this structure follow the byte ordering described in Volume 1, Clause 3.
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 under section 6.54.6.8.4 shall also be included in the Extended
SMART self-test log with all 48-bit entries.
This log is viewed as a circular buffer. When the last supported Self-test log sector has been filled, the next
self-test shall create a descriptor that replaces descriptor entry 1 in sector 0. The next self-test after that
shall create a descriptor that replaces descriptor entry 2 in sector 0, and so on. All unused self-test
descriptors shall be filled with zeros.
The Self-test descriptor index indicates the most recent self-test descriptor. If there have been no self-tests,
the Self-test descriptor index is set to zero. Valid values for the Self-test descriptor index are zero to 65,535.
The value of the self-test log data structure revision number shall be 01h.
Page 196
T13/1532D Volume 1 Revision 4b
Content of the LBA Low register shall be the content of the LBA Low register when the nth self-test
subcommand was issued (See 6.54.4.8).
Content of the self-test execution status byte shall be the content of the self-test execution status byte when
the nth self-test was completed (See 6.54.5.10).
Life timestamp shall contain the power-on lifetime of the device in hours when the nth self-test subcommand
was completed.
Content of the self-test failure checkpoint byte may contain additional information about the self-test that
failed.
The failing LBA shall be the LBA of the sector that caused the test to fail. If the device encountered more
than one failed sector during the test, this field shall indicate the LBA of the first failed sector encountered. If
the test passed or the test failed for some reason other than a failed sector, the value of this field is
undefined.
The data structure checksum is the two's complement of the sum of the first 511 bytes in the data structure.
Each byte shall be added with unsigned arithmetic, and overflow shall be ignored. The sum of all 512 bytes
is zero when the checksum is correct. The checksum is placed in byte 511.
Table 29 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. This error count may be greater than 31, but only the most recent 31 errors are represented by entries
in the log. If the Read Stream Error Count reaches the maximum value that can be represented, after the
next error is detected the Read Stream Error Count shall remain at the maximum value. After successful
completion of a READ LOG EXT command with the LBA Low Register set to 22h, the Read Stream Error
Log shall be reset to a power-on or hardware reset condition, with the Error Log Index and Read Stream
Error Count cleared to zero. The Read Stream Error Log is not preserved across power cycles and hardware
reset.
Page 197
T13/1532D Volume 1 Revision 4b
The Data Structure Version field shall contain a value of 02h indicating the second revision of the structure
format.
The Read Stream Error Log Count field shall contain the number of uncorrected sector entries currently
reportable to the host. This value may exceed 31.
The Error Log Index indicates the error log data structure representing the most recent error. Only values
(31:1) are valid.
Table 30 defines the format of each entry in the Read Stream Error Log.
Byte (1:0) (Feature Register Contents Value) contains the contents of the Feature Register when the error
occurred. This value shall be set to 0FFFFh for a deferred write error.
Byte 2 (Status Register Contents Value) contains the contents of the Status Register when the error
occurred.
Byte 3 (Error Register Contents Value) contains the contents of the Error Register when the error occurred.
Bytes (9:4) (LBA) indicate the starting LBA of the error.
Bytes (13:12) (Sector Count) indicate the length of the error. Therefore, each entry may describe a range of
sectors starting at the given address and spanning the specified number of sectors.
Table 31 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. The 512 bytes returned shall contain a maximum of
Page 198
T13/1532D Volume 1 Revision 4b
31 error entries. The Write Stream Error Count shall contain the total number of Write Stream Errors
detected since the last successful completion of the READ LOG EXT command with LBA Low register set to
21h. This error count may be greater than 31, but only the most recent 31 errors are represented by entries
in the log. If the Write Stream Error Count reaches the maximum value that can be represented, after the
next error is detected the Write Stream Error Count shall remain at the maximum value. After successful
completion of a READ LOG EXT command with the LBA Low Register set to 21h, the Write Stream Error
Log shall be reset to a power-on or hardware reset condition, with the Error Log Index and Write Stream
Error Count cleared to zero. The Write Stream Error Log is not preserved across power cycles and hardware
reset.
The Data Structure Version field shall contain a value of 02h indicating the second revision of the structure
format.
The Write Stream Error Log Count field shall contain the number of WRITE STREAM command entries since
the last power on, since this log was last read, or since a hardware reset was executed.
The Error Log Index indicates the error log data structure representing the most recent error. Only values
(31:0) are valid.
Table 32, Table 33, Table 34, and Table 35 define the format of the log returned by the READ LOG EXT
command, when the LBA Low register is 20h. This data set is referred to as the Streaming Performance
Parameters log, the length of which (in sectors) is statically indicated in READ LOG EXT log address 00h
(Log Directory).
The contents of Streaming Performance Parameters Log may be affected by the host issuing a SET
FEATURES subcommand 42h, C2h, or 43h and may also affect the Delayed LBA log.
NOTE − The host should check the content of the Streaming Performance Parameters log and the Delayed
LBA log after issuing SET FEATURES subcommands 42h, 43h, or C2h.
The host should base its calculations on the larger of its Typical Host Interface Sector Time and the device
reported Sector Time values, and on the sum of the device reported Access Time values and any additional
latency that only the host is aware of (e.g., host command overhead, etc).
Page 199
T13/1532D Volume 1 Revision 4b
Table 36 defines the format of each of the sectors that comprise the Delayed LBA Log. The maximum size of
the Delayed LBA Log is vendor specific. The alternate physical location, access method, or access time for a
Delayed LBA are vendor specific.
If the maximum size of the Delayed LBA Log is reached and an additional Delayed LBA is detected by the
device, the most recent Delayed LBA shall not be added to the log.
The device may add entries to the log at any time. The device shall not remove entries from this log. The
log is returned to the host ordered by timestamp, the most recently added entry is last.
The Delayed LBA Log is non-volatile, it is preserved across power cycles and hardware reset.
Page 200
T13/1532D Volume 1 Revision 4b
The value of the Delayed LBA Log Version shall be set to 01h.
The Number of Delayed LBA entries shall contain the total count of Delayed LBA entries, and shall be
consistent with the number of LBA entries in the Delayed LBA Log. If the maximum value for this field is
reached (corresponding to the vendor-specific maximum number of sectors in the log), the count shall
remain at the maximum value when additional Delayed LBA entries are added.
The Life Timestamp shall contain the power-on lifetime of the device, in hours, when the sector was entered
into the log.
Page 201
T13/1532D Volume 1 Revision 4b
C4h
− Mandatory for devices not implementing the PACKET Command feature set.
− Use prohibited for devices implementing the PACKET Command feature set.
6.32.3 Protocol
6.32.4 Inputs
Register 7 6 5 4 3 2 1 0
Features na
Sector Count Sector count
LBA Low LBA (7:0)
LBA Mid LBA (15:0)
LBA High LBA (23:16)
Device obs LBA obs DEV LBA (27:24)
Command C4h
Sector Count -
number of sectors to be transferred. A value of 00h specifies that 256 sectors are to be transferred.
LBA Low -
starting LBA bits (7:0).
LBA Mid -
starting LBA bits (15:8).
LBA High -
starting LBA bits (23:16).
Device -
DEV shall specify the selected device.
bits (3:0) starting LBA bits (27:24).
Register 7 6 5 4 3 2 1 0
Error na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Status BSY DRDY DF na DRQ na na ERR
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
Page 202
T13/1532D Volume 1 Revision 4b
An unrecoverable error encountered during the execution of this command results in the termination of the
command. The Command Block registers contain the address of the sector where the first unrecoverable
error occurred. The amount of data transferred is indeterminate.
Register 7 6 5 4 3 2 1 0
Error na UNC MC IDNF MCR ABRT NM obs
Sector Count na
LBA Low LBA (7:0)
LBA Mid LBA (15:8)
LBA High LBA (23:16)
Device obs na obs DEV LBA (27:24)
Status BSY DRDY DF na DRQ na na ERR
Error register -
UNC shall be set to one if data is uncorrectable.
MC shall be set to one if the media in a removable media device changed since the issuance of the
last command. The device shall clear the device internal media change detected state.
IDNF shall be set to one if a user-accessible address could not be. IDNF shall be set to one if an
address outside of the range of user-accessible addresses is requested if command aborted
is not returned.
MCR shall be set to one if a media change request has been detected by a removable media device.
This bit is only cleared by a GET MEDIA STATUS or a media access command.
ABRT shall be set to one if this command is not supported or if an error, including an ICRC error, has
occurred during an Ultra DMA data transfer. ABRT may be set to one if the device is not able
to complete the action requested by the command. ABRT shall be set to one if an address
outside of the range of user-accessible addresses is requested if IDNF is not set to one.
NM shall be set to one if no media is present in a removable media device.
LBA Low, LBA Mid, LBA High, Device -
shall be written with the address of first unrecoverable error.
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one.
6.32.7 Prerequisites
DRDY set to one. If bit 8 of IDENTIFY DEVICE data word 59 is cleared to zero, a successful SET MULTIPLE
MODE command shall precede a READ MULTIPLE command.
6.32.8 Description
This command reads the number of sectors specified in the Sector Count register.
The number of sectors per block is defined by the content of word 59 in the IDENTIFY DEVICE data. The
device shall interrupt for each DRQ block transferred.
When the READ MULTIPLE command is issued, the Sector Count register contains the number of sectors
(not the number of blocks) requested.
Page 203
T13/1532D Volume 1 Revision 4b
If the number of requested sectors is not evenly divisible by the block count, as many full blocks as possible
are transferred, followed by a final, partial block transfer. The partial block transfer shall be for n sectors,
where n = remainder (sector count/ block count).
If the READ MULTIPLE command is received when READ MULTIPLE commands are disabled, the READ
MULTIPLE operation shall be rejected with command aborted.
Device errors encountered during READ MULTIPLE commands are posted at the beginning of the block or
partial block transfer, but the DRQ bit is still set to one and the data transfer shall take place, including
transfer of corrupted data, if any. The contents of the Command Block Registers following the transfer of a
data block that had a sector in error are undefined. The host should retry the transfer as individual requests
to obtain valid error information.
Subsequent blocks or partial blocks are transferred only if the error was a correctable data error. All other
errors cause the command to stop after transfer of the block that contained the error.
Page 204
T13/1532D Volume 1 Revision 4b
29h
6.33.3 Protocol
6.33.4 Inputs
Register 7 6 5 4 3 2 1 0
Features Current Reserved
Previous Reserved
Sector Count Current Sector count (7:0)
Previous Sector count (15:8)
LBA Low Current LBA (7:0)
Previous LBA (31:24)
LBA Mid Current LBA (15:8)
Previous LBA (39:32)
LBA High Current LBA (23:16)
Previous LBA (47:40)
Device obs LBA obs DEV Reserved
Command 29h
NOTE − The value indicated as Current is the value most recently written to the register. The value
indicated as Previous is the value that was in the register before the most recent write to the register.
Page 205
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error na
Sector Count HOB = 0 Reserved
HOB = 1 Reserved
LBA Low HOB = 0 Reserved
HOB = 1 Reserved
LBA Mid HOB = 0 Reserved
HOB = 1 Reserved
LBA High HOB = 0 Reserved
HOB = 1 Reserved
Device obs na obs DEV Reserved
Status BSY DRDY DF na DRQ na na ERR
NOTE − HOB = 0 indicates the value read by the host when the HOB bit of the Device Control register is
cleared to zero. HOB = 1 Indicates the value read by the host when the HOB bit of the Device Control
register is set to one.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
An unrecoverable error encountered during the execution of this command results in the termination of the
command. The Command Block registers contain the address of the sector where the first unrecoverable
error occurred. The amount of data transferred is indeterminate.
Register 7 6 5 4 3 2 1 0
Error na UNC MC IDNF MCR ABRT NM obs
Sector Count HOB = 0 Reserved
HOB = 1 Reserved
LBA Low HOB = 0 LBA (7:0)
HOB = 1 LBA (31:24)
LBA Mid HOB = 0 LBA (15:8)
HOB = 1 LBA (39:32)
LBA High HOB = 0 LBA (23:16)
HOB = 1 LBA (47:40)
Device obs na obs DEV Reserved
Status BSY DRDY DF na DRQ na na ERR
NOTE − HOB = 0 indicates the value read by the host when the HOB bit of the Device Control register is
cleared to zero. HOB = 1 Indicates the value read by the host when the HOB bit of the Device Control
register is set to one.
Error register -
UNC shall be set to one if data is uncorrectable
MC shall be set to one if the media in a removable media device changed since the issuance of the
last command. The device shall clear the device internal media change detected state.
IDNF shall be set to one if a user-accessible address could not be found. IDNF shall be set to one if
an address outside of the range of user-accessible addresses is requested if command
aborted is not returned.
Page 206
T13/1532D Volume 1 Revision 4b
MCR shall be set to one if a media change request has been detected by a removable media device.
This bit is only cleared by a GET MEDIA STATUS or a media access command.
ABRT shall be set to one if this command is not supported. ABRT may be set to one if the device is
not able to complete the action requested by the command. ABRT shall be set to one if an
address outside of the range of user-accessible addresses is requested if IDNF is not set to
one.
NM shall be set to one if no media is present in a removable media device.
LBA Low -
LBA (7:0) of the address of the first unrecoverable error when read with Device Control register HOB
bit cleared to zero.
LBA (31:24) of the address of the first unrecoverable error when read with Device Control register
HOB bit set to one.
LBA Mid -
LBA (15:8) of the address of the first unrecoverable error when read with Device Control register
HOB bit cleared to zero.
LBA (39:32) of the address of the first unrecoverable error when read with Device Control
register HOB bit set to one.
LBA High -
LBA (23:16) of the address of the first unrecoverable error when read with Device Control register
HOB bit cleared to zero.
LBA (47:40) of the address of the first unrecoverable error when read with Device Control register
HOB bit set to one.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one.
6.33.7 Prerequisites
DRDY set to one. If bit 8 of IDENTIFY DEVICE data word 59 is cleared to zero, a successful SET MULTIPLE
MODE command shall precede a READ MULTIPLE EXT command.
6.33.8 Description
This command reads the number of sectors specified in the Sector Count register.
The number of sectors per block is defined by a successful SET MULTIPLE command. If no successful SET
MULTIPLE command has been issued, the block is defined by the device’s default value for number of
sectors per block as defined in bits (7:0) in word 47 in the IDENTIFY DEVICE data. The device shall interrupt
for each DRQ block transferred.
When the READ MULTIPLE EXT command is issued, the Sector Count register contains the number of
sectors (not the number of blocks) requested.
If the number of requested sectors is not evenly divisible by the block count, as many full blocks as possible
are transferred, followed by a final, partial block transfer. The partial block transfer shall be for n sectors,
where n = remainder (sector count/ block count).
If the READ MULTIPLE EXT command is received when READ MULTIPLE commands are disabled, the
READ MULTIPLE operation shall be rejected with command aborted.
Device errors encountered during READ MULTIPLE EXT commands are posted at the beginning of the
block or partial block transfer, but the DRQ bit is still set to one and the data transfer shall take place,
including transfer of corrupted data, if any. The contents of the Command Block Registers following the
Page 207
T13/1532D Volume 1 Revision 4b
transfer of a data block that had a sector in error are undefined. The host should retry the transfer as
individual requests to obtain valid error information.
Subsequent blocks or partial blocks are transferred only if the error was a correctable data error. All other
errors cause the command to stop after transfer of the block that contained the error.
Page 208
T13/1532D Volume 1 Revision 4b
F8h
6.34.3 Protocol
6.34.4 Inputs
Register 7 6 5 4 3 2 1 0
Features na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs LBA obs DEV na
Command F8h
Device -
the LBA bit shall be set to one to specify the address is an LBA.
DEV shall specify the selected device.
Register 7 6 5 4 3 2 1 0
Error na
Sector Count na
LBA Low Native max address LBA (7:0)
LBA Mid Native max address LBA (15:8)
LBA High Native max address LBA (23:16)
Device obs na obs DEV Native max address LBA (27:24)
Status BSY DRDY DF na DRQ na na ERR
LBA Low -
maximum native LBA bits (7:0) for native max address on the device.
LBA Mid -
maximum native LBA bits (15:8) for native max address on the device.
LBA High -
maximum native LBA bits (23:16) for native max address on device.
Device -
maximum native LBA bits (27:24) for native max address on the device.
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
Page 209
T13/1532D Volume 1 Revision 4b
If this command is not supported the device shall return command aborted.
Register 7 6 5 4 3 2 1 0
Error na na na na na ABRT na na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Status BSY DRDY na na na na na ERR
Error register -
ABRT shall be set to one if this command is not supported. ABRT may be set to one if the device is
not able to complete the action requested by the command.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
ERR shall be set to one if an Error register bit is set to one.
6.34.7 Prerequisites
6.34.8 Description
This command returns the native maximum address. The native maximum address is the highest address
accepted by the device in the factory default condition. The native maximum address is the maximum
address that is valid when using the SET MAX ADDRESS command.
If the 48-bit Address feature set is supported and the 48-bit native max address is greater than 268,435,455,
the READ NATIVE MAX ADDRESS command shall return a maximum value of 268,435,454.
Page 210
T13/1532D Volume 1 Revision 4b
27h
Host Protected Area feature set and 48-bit Address feature set.
− Mandatory when the Host Protected Area feature set and the 48-bit Address feature set are
implemented.
− Use prohibited when Removable feature set is implemented.
− Use prohibited when PACKET Command feature set is implemented.
6.35.3 Protocol
6.35.4 Inputs
Register 7 6 5 4 3 2 1 0
Features Current Reserved
Previous Reserved
Sector Count Current Reserved
Previous Reserved
LBA Low Current Reserved
Previous Reserved
LBA Mid Current Reserved
Previous Reserved
LBA High Current Reserved
Previous Reserved
Device obs LBA obs DEV na
Command 27h
NOTE − The value indicated as Current is the value most recently written to the register. The value
indicated as Previous is the value that was in the register before the most recent write to the register.
Device register -
the LBA bit shall be set to one to specify the address is an LBA.
DEV shall specify the selected device.
Page 211
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error na
Sector Count HOB = 0 Reserved
HOB = 1 Reserved
LBA Low HOB = 0 Native max address LBA (7:0)
HOB = 1 Native max address LBA (31:24)
LBA Mid HOB = 0 Native max address LBA (15:8)
HOB = 1 Native max address LBA (39:32)
LBA High HOB = 0 Native max address LBA (23:16)
HOB = 1 Native max address LBA (47:40)
Device obs na obs DEV Reserved
Status BSY DRDY DF na DRQ na na ERR
NOTE − HOB = 0 indicates the value read by the host when the HOB bit of the Device Control register is
cleared to zero. HOB = 1 Indicates the value read by the host when the HOB bit of the Device Control
register is set to one.
LBA Low -
LBA (7:0) of the address of the Native max address when read with Device Control register HOB bit
cleared to zero.
LBA (31:24) of the address of the Native max address when read with Device Control register HOB
bit set to one.
LBA Mid -
LBA (15:8) of the address of the Native max address when read with Device Control register HOB bit
cleared to zero.
LBA (39:32) of the address of the Native max address when read with Device Control register
HOB bit set to one.
LBA High -
LBA (23:16) of the address of the Native max address when read with Device Control register HOB
bit cleared to zero.
LBA (47:40) of the address of the Native max address when read with Device Control register HOB
bit set to one.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
If this command is not supported the device shall return command aborted.
Page 212
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error na na na na na ABRT na obs
Sector Count HOB = 0 Reserved
HOB = 1 Reserved
LBA Low HOB = 0 Reserved
HOB = 1 Reserved
LBA Mid HOB = 0 Reserved
HOB = 1 Reserved
LBA High HOB = 0 Reserved
HOB = 1 Reserved
Device obs na obs DEV Reserved
Status BSY DRDY DF na DRQ na na ERR
NOTE − HOB = 0 indicates the value read by the host when the HOB bit of the Device Control register is
cleared to zero. HOB = 1 Indicates the value read by the host when the HOB bit of the Device Control
register is set to one.
Error register -
ABRT shall be set to one if this command is not supported.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one.
6.35.7 Prerequisites
6.35.8 Description
This command returns the native maximum address. The native maximum address is the highest address
accepted by the device in the factory default condition. The native maximum address is the maximum
address that is valid when using the SET MAX ADDRESS EXT command.
Page 213
T13/1532D Volume 1 Revision 4b
20h
6.36.3 Protocol
6.36.4 Inputs
Register 7 6 5 4 3 2 1 0
Features na
Sector Count Sector count
LBA Low LBA (7:0)
LBA Mid LBA (15:8)
LBA High LBA (23:16)
Device obs LBA obs DEV LBA (27:24)
Command 20h
Sector Count -
number of sectors to be transferred. A value of 00h specifies that 256 sectors are to be transferred.
LBA Low -
starting LBA bits (7:0).
LBA Mid -
starting LBA bits (15:8).
LBA High -
starting LBA bits (23:16).
Device -
DEV shall specify the selected device.
bits (3:0) starting LBA bits (27:24).
6.36.5 Outputs
Register 7 6 5 4 3 2 1 0
Error na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Status BSY DRDY DF na DRQ na na ERR
Device register -
DEV shall indicate the selected device.
Status register -
Page 214
T13/1532D Volume 1 Revision 4b
In response to this command, devices that implement the PACKET Command feature set shall post
command aborted and place the PACKET Command feature set signature in the LBA High and the LBA Mid
register (See 5.15).
An unrecoverable error encountered during the execution of this command results in the termination of the
command. The Command Block registers contain the address of the sector where the first unrecoverable
error occurred. The amount of data transferred is indeterminate.
Register 7 6 5 4 3 2 1 0
Error na UNC MC IDNF MCR ABRT NM obs
Sector Count na
LBA Low LBA (7:0)
LBA Mid LBA (15:8)
LBA High LBA (23:16)
Device obs na obs DEV LBA (27:24)
Status BSY DRDY DF na DRQ na na ERR
Error register -
UNC shall be set to one if data is uncorrectable.
MC shall be set to one if the media in a removable media device changed since the issuance of the
last command. The device shall clear the device internal media change detected state.
IDNF shall be set to one if a user-accessible address could not be found. IDNF shall be set to one if
an address outside of the range of user-accessible addresses is requested if command
aborted is not returned.
MCR shall be set to one if a media change request has been detected by a removable media device.
This bit is only cleared by a GET MEDIA STATUS or a media access command.
ABRT shall be set to one if this command is not supported or if an error, including an ICRC error, has
occurred during an Ultra DMA data transfer. ABRT may be set to one if the device is not able
to complete the action requested by the command. ABRT shall be set to one if an address
outside of the range of user-accessible addresses is requested if IDNF is not set to one.
NM shall be set to one if no media is present in a removable media device.
LBA Low, LBA Mid, LBA High, Device -
shall be written with the address of first unrecoverable error.
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one.
6.36.7 Prerequisites
Page 215
T13/1532D Volume 1 Revision 4b
6.36.8 Description
This command reads from 1 to 256 sectors as specified in the Sector Count register. A sector count of 0
requests 256 sectors. The transfer shall begin at the sector specified in the LBA Low, LBA Mid, LBA High,
and Device registers. The device shall interrupt for each DRQ block transferred.
The DRQ bit is always set to one prior to data transfer regardless of the presence or absence of an error
condition.
Page 216
T13/1532D Volume 1 Revision 4b
24h
6.37.3 Protocol
6.37.4 Inputs
Register 7 6 5 4 3 2 1 0
Features Current Reserved
Previous Reserved
Sector Count Current Sector count (7:0)
Previous Sector count (15:8)
LBA Low Current LBA (7:0)
Previous LBA (31:24)
LBA Mid Current LBA (15:8)
Previous LBA (39:32)
LBA High Current LBA (23:16)
Previous LBA (47:40)
Device obs LBA obs DEV Reserved
Command 24h
NOTE − The value indicated as Current is the value most recently written to the register. The value
indicated as Previous is the value that was in the register before the most recent write to the register.
Page 217
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error na
Sector Count HOB = 0 Reserved
HOB = 1 Reserved
LBA Low HOB = 0 Reserved
HOB = 1 Reserved
LBA Mid HOB = 0 Reserved
HOB = 1 Reserved
LBA High HOB = 0 Reserved
HOB = 1 Reserved
Device obs na obs DEV Reserved
Status BSY DRDY DF na DRQ na na ERR
NOTE − HOB = 0 indicates the value read by the host when the HOB bit of the Device Control register is
cleared to zero. HOB = 1 Indicates the value read by the host when the HOB bit of the Device Control
register is set to one.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
An unrecoverable error encountered during the execution of this command results in the termination of the
command. The Command Block registers contain the address of the sector where the first unrecoverable
error occurred. The amount of data transferred is indeterminate.
Register 7 6 5 4 3 2 1 0
Error na UNC MC IDNF MCR ABRT NM obs
Sector Count HOB = 0 Reserved
HOB = 1 Reserved
LBA Low HOB = 0 LBA (7:0)
HOB = 1 LBA (31:24)
LBA Mid HOB = 0 LBA (15:8)
HOB = 1 LBA (39:32)
LBA High HOB = 0 LBA (23:16)
HOB = 1 LBA (47:40)
Device obs na obs DEV Reserved
Status BSY DRDY DF na DRQ na na ERR
NOTE − HOB = 0 indicates the value read by the host when the HOB bit of the Device Control register is
cleared to zero. HOB = 1 Indicates the value read by the host when the HOB bit of the Device Control
register is set to one.
Error register -
UNC shall be set to one if data is uncorrectable
MC shall be set to one if the media in a removable media device changed since the issuance of the
last command. The device shall clear the device internal media change detected state.
IDNF shall be set to one if a user-accessible address could not be found. IDNF shall be set to one if
an address outside of the range of user-accessible addresses is requested if command
aborted is not returned.
Page 218
T13/1532D Volume 1 Revision 4b
MCR shall be set to one if a media change request has been detected by a removable media device.
This bit is only cleared by a GET MEDIA STATUS or a media access command.
ABRT shall be set to one if this command is not supported. ABRT may be set to one if the device is
not able to complete the action requested by the command. ABRT shall be set to one if an
address outside of the range of user-accessible addresses is requested if IDNF is not set to
one.
NM shall be set to one if no media is present in a removable media device.
LBA Low -
LBA (7:0) of the address of the first unrecoverable error when read with Device Control register HOB
bit cleared to zero.
LBA (31:24) of the address of the first unrecoverable error when read with Device Control register
HOB bit set to one.
LBA Mid -
LBA (15:8) of the address of the first unrecoverable error when read with Device Control register
HOB bit cleared to zero.
LBA (39:32) of the address of the first unrecoverable error when read with Device Control
register HOB bit set to one.
LBA High -
LBA (23:16) of the address of the first unrecoverable error when read with Device Control register
HOB bit cleared to zero.
LBA (47:40) of the address of the first unrecoverable error when read with Device Control register
HOB bit set to one.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one.
6.37.7 Prerequisites
6.37.8 Description
This command reads from 1 to 65,536 sectors as specified in the Sector Count register. A sector count of
0000h requests 65,536 sectors. The transfer shall begin at the sector specified in the LBA Low, LBA Mid,
and LBA High registers. The device shall interrupt for each DRQ block transferred.
The DRQ bit is always set to one prior to data transfer regardless of the presence or absence of an error
condition.
Page 219
T13/1532D Volume 1 Revision 4b
2Ah
6.38.3 Protocol
6.38.4 Inputs
Register 7 6 5 4 3 2 1 0
Features Current URG RC NS HSE r Stream ID
Previous Command Completion Time Limit (7:0)
Sector Count Current Sector count (7:0)
Previous Sector count (15:8)
LBA Low Current LBA (7:0)
Previous LBA (31:24)
LBA Mid Current LBA (15:8)
Previous LBA (39:32)
LBA High Current LBA (23:16)
Previous LBA (47:40)
Device obs LBA obs DEV Reserved
Command 2Ah
NOTE − The value indicated as Current is the value most recently written to the register. The value
indicated as Previous is the value that was in the register before the most recent write to the register.
Page 220
T13/1532D Volume 1 Revision 4b
Stream ID specifies the stream to be read. The device shall operate according to the Stream ID set
by the READ STREAM command. Any read of the device media or internal device buffer
management as a result of the Stream ID is device vendor specific.
Features register previous -
The time allowed for the current command’s completion is calculated as follows:
Command Completion Time Limit = (content of the Features register Previous)
∗ (IDENTIFY DEVICE data words (99:98)) microseconds
If the value is zero, the device shall use the Default Command Completion Time Limit supplied
with a previous CONFIGURE STREAM command for this Stream ID. If the Default Command
Completion Time Limit is zero, or no previous Configure Stream command was defined for this
Stream ID, the result is vendor specific. The time is measured from the write of the command
register to the final INTRQ for command completion.
Sector Count Current -
number of sectors to be transferred low order, bits (7:0).
Sector Count Previous -
number of sectors to be transferred high order, bits (15:8).
LBA Low Current -
LBA (7:0).
LBA Low Previous -
LBA (31:24).
LBA Mid Current -
LBA (15:8).
LBA Mid Previous -
LBA (39:32).
LBA High Current -
LBA (23:16).
LBA High Previous -
LBA (47:40).
Device -
LBA shall be set to one.
DEV shall specify the selected device.
Register 7 6 5 4 3 2 1 0
Error na
Sector Count HOB = 0 Reserved
HOB = 1 Reserved
LBA Low HOB = 0 Reserved
HOB = 1 Reserved
LBA Mid HOB = 0 Reserved
HOB = 1 Reserved
LBA High HOB = 0 Reserved
HOB = 1 Reserved
Device obs na obs DEV Reserved
Status BSY DRDY SE na DRQ na na ERR
NOTE − HOB = 0 indicates the value read by the host when the HOB bit of the Device Control register is
cleared to zero. HOB = 1 Indicates the value read by the host when the HOB bit of the Device Control
register is set to one.
Device/Head register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
SE (Stream Error) shall be cleared to zero.
DRQ shall be cleared to zero.
Page 221
T13/1532D Volume 1 Revision 4b
If the RC bit is cleared to zero, the content of the registers shal be as shown below. If the RC bit is set to
one, the SE bit shall be set to one, the ERR bit shall be cleared to zero, and the content of the Error register
shown below shall be placed in the error log.
Register 7 6 5 4 3 2 1 0
Error ICRC UNC MC IDNF MCR ABRT NM CCTO
Sector Count HOB = 0 Length of Stream Error (7:0)
HOB = 1 Length of Stream Error (15:8)
LBA Low HOB = 0 LBA (7:0)
HOB = 1 LBA (31:24)
LBA Mid HOB = 0 LBA (15:8)
HOB = 1 LBA (39:32)
LBA High HOB = 0 LBA (23:16)
HOB = 1 LBA (47:40)
Device obs na obs DEV Reserved
Status BSY DRDY SE DWE DRQ na na ERR
NOTE − HOB = 0 indicates the value read by the host when the HOB bit of the Device Control register is
cleared to zero. HOB = 1 Indicates the value read by the host when the HOB bit of the Device Control
register is set to one.
Error register -
ICRC shall be set to one if an interface CRC error has occurred during an Ultra DMA data transfer. The
content of this bit is not applicable for Multiword DMA transfers.
UNC shall be set to one if data is uncorrectable.
MC shall be set to one if the media in a removable media device changed since the issuance of the last
command. The device shall clear the device internal media change detected state.
IDNF shall be set to one if a user-accessible address could not be found. IDNF shall be set to one if an
address outside of the range of user-accessible addresses is requested if command aborted is not
returned.
MCR shall be set to one if a media change request has been detected by a removable media device.
This bit is only cleared by a GET MEDIA STATUS or a media access command.
ABRT shall be set to one if this command is not supported. ABRT may be set to one if the device is not
able to complete the action requested by the command. ABRT shall be set to one if an address
outside of the range of user-accessible addresses is requested if IDNF is not set to one.
NM shall be set to one if no media is present in a removable media device.
CCTO (Command Completion Time Limit Out) bit shall be set to one if a Command Completion Time
Limit Out error has occurred.
Sector Count Current -
bits (7:0) number of contiguous sectors containing potentially bad data, beginning with the LBA of the
first sector with an uncorrectable error.
Sector Count Previous -
bits (15:8) of the number of contiguous sectors containing potentially bad data, starting at the address of
the first uncorrectable error
LBA Low Current -
bits (7:0) of the address of the first uncorrectable error when read with Device Control register HOB
cleared to zero.
LBA Low Previous -
bits (31:24) of the address of the first uncorrectable error when read with Device Control register HOB
set to one.
LBA Mid Current-
bits (15:8) of the address of the first uncorrectable error when read with Device Control register HOB
cleared to zero.
LBA Mid Previous-
Page 222
T13/1532D Volume 1 Revision 4b
bits (39:32) of the address of the first uncorrectable error when read with Device Control register HOB
set to one.
LBA High Current -
bits (23:16) of the address of the first uncorrectable error when read with Device Control register HOB
cleared to zero.
LBA High Current -
bits (47:40) of the address of the first uncorrectable error when read with Device Control register HOB
set to one.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
SE (Stream Error) shall be set to one if an error has occurred during the execution of the command and
the RC bit is set to one. In this case the LBA returned in the Sector Number registers shall be the
address of the first sector in error, and the Sector Count registers shall contain the number of
consecutive sectors that may contain errors. If the RC bit is set to one when the command is issued
and an ICRC, UNC, IDNF, ABRT, or CCTO error occurs, the SE bit shall be set to one, the ERR bit
shall be cleared to zero, and the bits that would normally be set in the Error register shall be set in
the error log.
DWE (Deferred Write Error) shall be set to one if an error was detected in a deferred write to the media
for a previous WRITE STREAM DMA EXT or WRITE STREAM EXT command. This error is from a
previously issued command. If DWE is set to one, the location of the deferred error is only reported
in the Write Stream error log.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one and the RC bit is cleared to zero. If the RC bit
is set to one when the command is issued and an ICRC UNC, IDNF, ABRT, or CCTO error occurs,
the SE bit shall be set to one, the ERR bit shall be cleared to zero, and the bits that would normally
be set in the Error register shall be set in the error log.
6.38.7 Prerequisites
6.38.8 Description
The command reads from 1 to 65536 sectors as specified in the Sector Count register. A value of 0000h in
the Sector Count register requests 65536 sectors.
The RC bit indicates that the drive operate in a continuous read mode for the READ STREAM command.
When RC is cleared to zero the drive shall operate in normal Streaming read mode.
When the Read Continuous mode is enabled, the device shall transfer data of the requested length without
setting the ERR bit to one. The SE bit shall be set to one if the data transferred includes errors. The data
may be erroneous in this case. If an error is encountered, it may be necessary for the device to pad the data
being transferred in order to fulfill the host’s requested transfer size. The implementation of the padding is
vendor specific.
If the Read Continuous bit is set to one,the device shall not stop execution of the command due to errors. If
thr RC bit is set to one and errors occur in reading or transfer of the data, the device shall continue to
transfer the amount of data requested and then provide ending status with the BSY bit cleared to zero, the
SE bit set to one, the ERR bit cleared to zero, and the type of error, ICRC, UNC, IDNF, or ABRT, reported in
the error log. If the RC bit is set to one and the Command Completion Time Limit expires, the device shall
stop execution of the command and provide ending status with the BSY bit cleared to zero, the SE bit set to
one, the ERR bit cleared to zero, and report the fact that the Command Completion Time Limit expired by
setting the CCTO bit in the error log to one. In all cases, the device shall attempt to transfer the amount of
data requested within the Comand Completion Time Limit even if some data transferred is in error.
Page 223
T13/1532D Volume 1 Revision 4b
2Bh
6.39.3 Protocol
6.39.4 Inputs
Register 7 6 5 4 3 2 1 0
Features Current URG RC NS HSE r Stream ID
Previous Command Completion Time Limit (7:0)
Sector Count Current Sector count (7:0)
Previous Sector count (15:8)
LBA Low Current LBA (7:0)
Previous LBA (31:24)
LBA Mid Current LBA (15:8)
Previous LBA (39:32)
LBA High Current LBA (23:16)
Previous LBA (47:40)
Device obs LBA obs DEV Reserved
Command 2Bh
NOTE − The value indicated as Current is the value most recently written to the register. The value
indicated as Previous is the value that was in the register before the most recent write to the register.
Page 224
T13/1532D Volume 1 Revision 4b
Stream ID specifies the stream being read. The device shall operate according to the Stream ID set by
the READ STREAM command. Any read of the device media or internal device buffer management
as a result of the Stream ID is device vendor specific.
Features register previous -
The additional time allowed for the current command’s completion is calculated as follows:
Command Completion Time Limit = (content of the Features register Previous)
∗ (IDENTIFY DEVICE data words (99:98)) microseconds
If the value is zero, the device shall use the Default Command Completion Time Limit supplied with a
previous CONFIGURE STREAM command for this Stream ID. If the Default Command Completion
Time Limit is zero, or no previous Configure Stream command was defined for this Stream ID, the
result is vendor specific. The time is measured from the write of the command register to command
completion.
Sector Count Current -
number of sectors to be transferred low order, bits (7:0).
Sector Count Previous -
number of sectors to be transferred high order, bits (15:8).
LBA Low Current -
LBA (7:0).
LBA Low Previous -
LBA (31:24).
LBA Mid Current -
LBA (15:8).
LBA Mid Previous -
LBA (39:32).
LBA High Current -
LBA (23:16).
LBA High Previous -
LBA (47:40).
Device -
the LBA bit shall be set to one to specify the address is an LBA.
DEV shall specify the selected device.
Register 7 6 5 4 3 2 1 0
Error na
Sector Count HOB = 0 Reserved
HOB = 1 Reserved
LBA Low HOB = 0 Reserved
HOB = 1 Reserved
LBA Mid HOB = 0 Reserved
HOB = 1 Reserved
LBA High HOB = 0 Reserved
HOB = 1 Reserved
Device obs na obs DEV Reserved
Status BSY DRDY SE na DRQ na na ERR
NOTE − HOB = 0 indicates the value read by the host when the HOB bit of the Device Control register is
cleared to zero. HOB = 1 Indicates the value read by the host when the HOB bit of the Device Control
register is set to one.
Device/Head register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
SE (Stream Error) shall be cleared to zero.
DRQ shall be cleared to zero.
Page 225
T13/1532D Volume 1 Revision 4b
If the RC bit is cleared to zero, the content of the registers shal be as shown below. If the RC bit is set to
one, the SE bit shall be set to one, the ERR bit shall be cleared to zero, and the content of the Error register
shown below shall be placed in the error log.
Register 7 6 5 4 3 2 1 0
Error na UNC MC IDNF MCR ABRT NM CCTO
Sector Count HOB = 0 Length of Stream Error (7:0)
HOB = 1 Length of Stream Error (15:8)
LBA Low HOB = 0 LBA (7:0)
HOB = 1 LBA (31:24)
LBA Mid HOB = 0 LBA (15:8)
HOB = 1 LBA (39:32)
LBA High HOB = 0 LBA (23:16)
HOB = 1 LBA (47:40)
Device obs na obs DEV Reserved
Status BSY DRDY SE DWE DRQ na na ERR
NOTE − HOB = 0 indicates the value read by the host when the HOB bit of the Device Control register is
cleared to zero. HOB = 1 Indicates the value read by the host when the HOB bit of the Device Control
register is set to one.
Error register -
UNC shall be set to one if data is uncorrectable.
MC shall be set to one if the media in a removable media device changed since the issuance of the last
command. The device shall clear the device internal media change detected state.
IDNF shall be set to one if a user-accessible address could not be found. IDNF shall be set to one if an
address outside of the range of user-accessible addresses is requested if command aborted is not
returned.
MCR shall be set to one if a media change request has been detected by a removable media device.
This bit is only cleared by a GET MEDIA STATUS or a media access command.
ABRT shall be set to one if this command is not supported or if an error, including an ICRC error, has
occurred during an Ultra DMA data transfer. ABRT may be set to one if the device is not able to
complete the action requested by the command. ABRT shall be set to one if an address outside of
the range of user-accessible addresses is requested if IDNF is not set to one.
NM shall be set to one if no media is present in a removable media device.
CCTO (Command Completion Time Limit Out) bit shall be set to one if a Command Completion Time
Limit Out error has occurred.
Sector Count Current -
bits (7:0) number of contiguous sectors containing potentially bad data, beginning with the LBA of the
first sector with an uncorrectable error.
Sector Count Previous -
bits (15:8) of the number of contiguous sectors containing potentially bad data, starting at the address of
the first uncorrectable error
LBA Low Current -
bits (7:0) of the address of the first uncorrectable error when read with Device Control register HOB
cleared to zero.
LBA Low Previous -
bits (31:24) of the address of the first uncorrectable error when read with Device Control register HOB
set to one.
LBA Mid Current-
bits (15:8) of the address of the first uncorrectable error when read with Device Control register HOB
cleared to zero.
LBA Mid Previous-
Page 226
T13/1532D Volume 1 Revision 4b
bits (39:32) of the address of the first uncorrectable error when read with Device Control register HOB
set to one.
LBA High Current -
bits (23:16) of the address of the first uncorrectable error when read with Device Control register HOB
cleared to zero.
LBA High Current -
bits (47:40) of the address of the first uncorrectable error when read with Device Control register HOB
set to one.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
SE (Stream Error) shall be set to one if an error has occurred during the execution of the command and
the RC bit is set to one. In this case the LBA returned in the Sector Number registers shall be the
address of the first sector in error, and the Sector Count registers shall contain the number of
consecutive sectors that may contain errors. If the RC bit is set to one when the command is issued
and a UNC, IDNF, ABRT, or CCTO error occurs, the SE bit shall be set to one, the ERR bit shall be
cleared to zero, and the bits that would normally be set in the Error register shall be set in the error
log.
DWE (Deferred Write Error) shall be set to one if an error was detected in a deferred write to the media
for a previous WRITE STREAM DMA EXT or WRITE STREAM EXT command. This error is from a
previously issued command. If DWE is set to one, the location of the deferred error is only reported
in the Write Stream error log.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one and RC is cleared to zero. If the RC bit is set
to one when the command is issued and a UNC, IDNF, ABRT, or CCTO error occurs, the SE bit
shall be set to one, the ERR bit shall be cleared to zero, and the bits that would normally be set in
the Error register shall be set in the error log.
6.39.7 Prerequisites
6.39.8 Description
The command reads from 1 to 65536 sectors as specified in the Sector Count register. A sector count of
value 0000h requests 65,536 sectors. The transfer shall begin at the sector specified in the Sector Number
register.
The RC bit specifies that the drive operate in a continuous read mode for the READ STREAM command.
When RC is cleared to zero the drive shall operate in normal Streaming read mode.
When the Read Continuous mode is enabled, the device shall transfer data of the requested length without
setting the error bit. The SE bit shall be set to one if the data transferred includes errors. The data may be
erroneous in this case. If an error is encountered, it may be necessary for the device to pad the data being
transferred in order to fulfill the host’s requested transfer size. The implementation of the padding is vendor
specific.
The DRQ bit is always set to one prior to data transfer regardless of the presence or absence of an error
condition.
If the Read Continuous bit is set to one,the device shall not stop execution of the command due to errors. If
thr RC bit is set to one and errors occur in reading or transfer of the data, the device shall continue to
transfer the amount of data requested and then provide ending status with the BSY bit cleared to zero, the
SE bit set to one, the ERR bit cleared to zero, and the type of error, UNC, IDNF, or ABRT, reported in the
error log. If the RC bit is set to one and the Command Completion Time Limit expires, the device shall stop
execution of the command and provide ending status with the BSY bit cleared to zero, the SE bit set to one,
Page 227
T13/1532D Volume 1 Revision 4b
the ERR bit cleared to zero, and report the fact that the Command Completion Time Limit expired by setting
the CCTO bit in the error log to one. In all cases, the device shall attempt to transfer the amount of data
requested within the Comand Completion Time Limit even if some data transferred is in error.
Page 228
T13/1532D Volume 1 Revision 4b
40h
− Mandatory for all devices not implementing the PACKET Command feature set.
− Use prohibited for devices implementing the PACKET Command feature set.
6.40.3 Protocol
6.40.4 Inputs
Register 7 6 5 4 3 2 1 0
Features na
Sector Count Sector count
LBA Low LBA (7:0)
LBA Mid LBA (15:8)
LBA High LBA (23:16)
Device obs LBA obs DEV LBA (27:24)
Command 40h
Sector Count -
number of sectors to be transferred. A value of 00h specifies that 256 sectors are to be transferred.
LBA Low -
starting LBA bits (7:0).
LBA Mid -
starting LBA bits (15:8).
LBA High -
starting LBA bits (23:16).
Device -
the LBA bit shall be set to one to specify the address is an LBA.
DEV shall specify the selected device.
bits (3:0) starting LBA bits (27:24).
Register 7 6 5 4 3 2 1 0
Error na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Status BSY DRDY DF na DRQ na na ERR
Device register -
DEV shall indicate the selected device.
Status register -
Page 229
T13/1532D Volume 1 Revision 4b
An unrecoverable error encountered during the execution of this command results in the termination of the
command. The Command Block registers contain the address of the sector where the first unrecoverable
error occurred.
Register 7 6 5 4 3 2 1 0
Error na UNC MC IDNF MCR ABRT NM obs
Sector Count na
LBA Low LBA (7:0)
LBA Mid LBA (15:8)
LBA High LBA (23:16)
Device obs na obs DEV LBA (27:24)
Status BSY DRDY DF na DRQ na na ERR
Error register -
UNC shall be set to one if data is uncorrectable.
MC shall be set to one if the media in a removable media device changed since the issuance of the
last command. The device shall clear the device internal media change detected state.
IDNF shall be set to one if a user-accessible address could not be found. IDNF shall be set to one if
an address outside of the range of user-accessible addresses is requested if command
aborted is not returned.
MCR shall be set to one if a media change request has been detected by a removable media device.
This bit is only cleared by a GET MEDIA STATUS or a media access command.
ABRT shall be set to one if this command is not supported or if an error, including an ICRC error, has
occurred during an Ultra DMA data transfer. ABRT may be set to one if the device is not able
to complete the action requested by the command. ABRT shall be set to one if an address
outside of the range of user-accessible addresses is requested if IDNF is not set to one.
NM shall be set to one if no media is present in a removable media device.
LBA Low, LBA Mid, LBA High, Device -
shall be written with the address of first unrecoverable error.
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one.
6.40.7 Prerequisites
6.40.8 Description
This command is identical to the READ SECTOR(S) command, except that the device shall have read the
data from the media, the DRQ bit is never set to one, and no data is transferred to the host.
Page 230
T13/1532D Volume 1 Revision 4b
42h
6.41.3 Protocol
6.41.4 Inputs
Register 7 6 5 4 3 2 1 0
Features Current Reserved
Previous Reserved
Sector Count Current Sector count (7:0)
Previous Sector count (15:8)
LBA Low Current LBA (7:0)
Previous LBA (31:24)
LBA Mid Current LBA (15:8)
Previous LBA (39:32)
LBA High Current LBA (23:16)
Previous LBA (47:40)
Device obs LBA obs DEV Reserved
Command 42h
NOTE − The value indicated as Current is the value most recently written to the register. The value
indicated as Previous is the value that was in the register before the most recent write to the register.
Page 231
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error na
Sector Count HOB = 0 Reserved
HOB = 1 Reserved
LBA Low HOB = 0 Reserved
HOB = 1 Reserved
LBA Mid HOB = 0 Reserved
HOB = 1 Reserved
LBA High HOB = 0 Reserved
HOB = 1 Reserved
Device obs na obs DEV Reserved
Status BSY DRDY DF na DRQ na na ERR
NOTE − HOB = 0 indicates the value read by the host when the HOB bit of the Device Control register is
cleared to zero. HOB = 1 Indicates the value read by the host when the HOB bit of the Device Control
register is set to one.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
An unrecoverable error encountered during the execution of this command results in the termination of the
command. The Command Block registers contain the address of the sector where the first unrecoverable
error occurred.
Register 7 6 5 4 3 2 1 0
Error na UNC MC IDNF MCR ABRT NM obs
Sector Count HOB = 0 Reserved
HOB = 1 Reserved
LBA Low HOB = 0 LBA (7:0)
HOB = 1 LBA (31:24)
LBA Mid HOB = 0 LBA (15:8)
HOB = 1 LBA (39:32)
LBA High HOB = 0 LBA (23:16)
HOB = 1 LBA (47:40)
Device obs na obs DEV Reserved
Status BSY DRDY DF na DRQ na na ERR
NOTE − HOB = 0 indicates the value read by the host when the HOB bit of the Device Control register is
cleared to zero. HOB = 1 Indicates the value read by the host when the HOB bit of the Device Control
register is set to one.
Error register -
UNC shall be set to one if data is uncorrectable.
MC shall be set to one if the media in a removable media device changed since the issuance of the
last command. The device shall clear the device internal media change detected state.
IDNF shall be set to one if a user-accessible address could not be found. IDNF shall be set to one if
an address outside of the range of user-accessible addresses is requested if command
aborted is not returned.
Page 232
T13/1532D Volume 1 Revision 4b
MCR shall be set to one if a media change request has been detected by a removable media device.
This bit is only cleared by a GET MEDIA STATUS or a media access command.
ABRT shall be set to one if this command is not supported. ABRT may be set to one if the device is
not able to complete the action requested by the command. ABRT shall be set to one if an
address outside of the range of user-accessible addresses is requested if IDNF is not set to
one.
NM shall be set to one if no media is present in a removable media device.
LBA Low -
LBA (7:0) of the address of the first unrecoverable error when read with Device Control register HOB
bit cleared to zero.
LBA (31:24) of the address of the first unrecoverable error when read with Device Control register
HOB bit set to one.
LBA Mid -
LBA (15:8) of the address of the first unrecoverable error when read with Device Control register
HOB bit cleared to zero.
LBA (39:32) of the address of the first unrecoverable error when read with Device Control
register HOB bit set to one.
LBA High -
LBA (23:16) of the address of the first unrecoverable error when read with Device Control register
HOB bit cleared to zero.
LBA (47:40) of the address of the first unrecoverable error when read with Device Control register
HOB bit set to one.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one.
6.41.7 Prerequisites
6.41.8 Description
This command is identical to the READ SECTOR(S) EXT command, except that the device shall have read
the data from the media, the DRQ bit is never set to one, and no data is transferred to the host.
Page 233
T13/1532D Volume 1 Revision 4b
F6h
6.42.3 Protocol
6.42.4 Inputs
Register 7 6 5 4 3 2 1 0
Features na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Command F6h
Device register -
DEV shall specify the selected device.
Register 7 6 5 4 3 2 1 0
Error na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Status BSY DRDY DF na DRQ na na ERR
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
The device shall return command aborted if the command is not supported, the device is in Locked mode, or
the device is in Frozen mode.
Page 234
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error na na na na na ABRT na na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Status BSY DRDY DF na DRQ na na ERR
Error register -
ABRT shall be set to one if this command is not supported. ABRT may be set to one if the device is
not able to complete the action requested by the command.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one.
6.42.7 Prerequisites
6.42.8 Description
The SECURITY DISABLE PASSWORD command transfers 512 bytes of data from the host. Table 37
defines the content of this information. If the password selected by word 0 matches the password previously
saved by the device, the device shall disable the Lock mode. This command shall not change the
Masterpassword. The Master password shall be reactivated when a User password is set(See 4.7).
Page 235
T13/1532D Volume 1 Revision 4b
F3h
6.43.3 Protocol
6.43.4 Inputs
Register 7 6 5 4 3 2 1 0
Features na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Command F3h
Device register -
DEV shall specify the selected device.
Register 7 6 5 4 3 2 1 0
Error na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Status BSY DRDY DF na DRQ na na ERR
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
The device shall return command aborted if the command is not supported or the device is in Frozen mode.
Page 236
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error na na na na na ABRT na na
Sector Count na
LBA Low na
LBA Mid na
LBAHigh na
Device obs na obs DEV na
Status BSY DRDY DF na DRQ na na ERR
Error register -
ABRT shall be set to one if this command is not supported or device is in Frozen mode. ABRT may
be set to one if the device is not able to complete the action requested by the command.
NOTE − In a previous revision of this standard, there were conflicting descriptions of the handling of this
command when in the Frozen mode.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one.
6.43.7 Prerequisites
6.43.8 Description
The SECURITY ERASE PREPARE command shall be issued immediately before the SECURITY ERASE
UNIT command to enable device erasing and unlocking. This command prevents accidental loss of data on
the device.
Page 237
T13/1532D Volume 1 Revision 4b
F4h
6.44.3 Protocol
6.44.4 Inputs
Register 7 6 5 4 3 2 1 0
Features na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Command F4h
Device register -
DEV shall specify the selected device.
Register 7 6 5 4 3 2 1 0
Error na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Status BSY DRDY DF na DRQ na na ERR
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
The device shall return command aborted if the command is not supported, the device is in Frozen mode,
not preceded by a SECURITY ERASE PREPARE command, if Enhance Erase is specified but not
supported, or if the data area is not successfully overwritten.
Page 238
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error na na na na na ABRT na na
Sector Count na
LBA Low na
LBA Mid na
LBAHigh na
Device obs na obs DEV na
Status BSY DRDY DF na DRQ na na ERR
Error register -
ABRT shall be set to one if this command is not supported, device is in Frozen mode, not preceded
by a SECURITY ERASE PREPARE command, or if the data area is not successfully
overwritten. ABRT may be set to one if the device is not able to complete the action
requested by the command.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one.
6.44.7 Prerequisites
DRDY set to one. This command shall be immediately preceded by a SECURITY ERASE PREPARE
command.
6.44.8 Description
This command transfers 512 bytes of data from the host. Table 38 defines the content of this information. If
the password does not match the password previously saved by the device, the device shall reject the
command with command aborted.
The SECURITY ERASE PREPARE command shall be completed immediately prior to the SECURITY
ERASE UNIT command. If the device receives a SECURITY ERASE UNIT command without an immediately
prior SECURITY ERASE PREPARE command, the device shall command abort the SECURITY ERASE
UNIT command.
When Normal Erase mode isspecified, the SECURITY ERASE UNIT command shall write binary zeroes to
all user data areas. The Enhanced Erase mode is optional. When Enhanced Erase mode isspecified, the
device shall write predetermined data patterns to all user data areas. In Enhanced Erase mode, all
previously written user data shall be overwritten, including sectors that are no longer in use due to
reallocation.
This command shall disable the device Lock mode, however, the Masterpassword shall still be stored
internally within the device and may be reactivated later when a new User password is set.
Page 239
T13/1532D Volume 1 Revision 4b
Page 240
T13/1532D Volume 1 Revision 4b
F5h
6.45.3 Protocol
6.45.4 Inputs
Register 7 6 5 4 3 2 1 0
Features na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Command F5h
Device register -
DEV shall specify the selected device.
Register 7 6 5 4 3 2 1 0
Error na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Status BSY DRDY DF na DRQ na na ERR
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
The device shall return command aborted if the command is not supported, or the device is in Locked mode.
Page 241
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error na na na na na ABRT na na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Status BSY DRDY DF na DRQ na na ERR
Error register -
ABRT shall be set to one if this command is not supported or device is in locked mode. ABRT may
be set to one if the device is not able to complete the action requested by the command.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one.
6.45.7 Prerequisites
6.45.8 Description
The SECURITY FREEZE LOCK command shall set the device to Frozen mode. After command completion
any other commands that update the device Lock mode shall be command aborted. Frozen mode shall be
disabled by power-off or hardware reset. If SECURITY FREEZE LOCK shall be issued when the device is in
Frozen mode, the command executes and the device shall remain in Frozen mode.
Page 242
T13/1532D Volume 1 Revision 4b
F1h
6.46.3 Protocol
6.46.4 Inputs
Register 7 6 5 4 3 2 1 0
Features na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Command F1h
Device register -
DEV shall specify the selected device.
Register 7 6 5 4 3 2 1 0
Error na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Status BSY DRDY DF na DRQ na na ERR
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
The device shall return command aborted if the command is not supported, the device is in Locked mode, or
the device is in Frozen mode.
Page 243
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error na na na na na ABRT na na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Status BSY DRDY DF na DRQ na na ERR
Error register -
ABRT shall be set to one if this command is not supported, if device is in Frozen mode, or if device is
in locked mode. ABRT may be set to one if the device is not able to complete the action
requested by the command.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one.
6.46.7 Prerequisites
6.46.8 Description
This command transfers 512 bytes of data from the host. Table 39 defines the content of this information.
The data transferred controls the function of this command. Table 40 defines the interaction of the identifier
and security level bits.
The revision code field shall be returned in the IDENTIFY DEVICE data word 92. The valid revision codes
are 0001h through FFFEh. A value of 0000h or FFFFh indicates that the Master Password Revision Code is
not supported.
Page 244
T13/1532D Volume 1 Revision 4b
Page 245
T13/1532D Volume 1 Revision 4b
F2h
6.47.3 Protocol
6.47.4 Inputs
Register 7 6 5 4 3 2 1 0
Features na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Command F2h
Device register -
DEV shall specify the selected device.
Register 7 6 5 4 3 2 1 0
Error na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Status BSY DRDY DF na DRQ na na ERR
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
The device shall return command aborted if the command is not supported, or the device is in Frozen mode.
Page 246
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error na na na na na ABRT na na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Status BSY DRDY DF na DRQ na na ERR
Error register -
ABRT shall be set to one if this command is not supported or if device is in Frozen mode. ABRT may
be set to one if the device is not able to complete the action requested by the command.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one.
6.47.7 Prerequisites
6.47.8 Description
This command transfers 512 bytes of data from the host. Table 37 defines the content of this information.
If the Identifier bit is set to Master and the device is in high security level, then the password supplied shall
be compared with the stored Master password. If the device is in maximum security level then the unlock
shall be rejected.
If the Identifier bit is set to user then the device shall compare the supplied password with the stored User
password.
If the password compare fails then the device shall return command aborted to the host and decrements the
unlock counter. This counter shall be initially set to five and shall be decremented for each password
mismatch when SECURITY UNLOCK is issued and the device is locked. When this counter reaches zero
then SECURITY UNLOCK and SECURITY ERASE UNIT commands shall be command aborted until a
power-on reset or a hardware reset. SECURITY UNLOCK commands issued when the device is unlocked
have no effect on the unlock counter.
Page 247
T13/1532D Volume 1 Revision 4b
6.48 SERVICE
6.48.1 Command code
A2h
6.48.3 Protocol
6.48.4 Inputs
Register 7 6 5 4 3 2 1 0
Features na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Command A2h
Device register -
DEV shall specify the selected device.
6.48.5 Outputs
Outputs as a result of a SERVICE command are described in the command description for the command for
which SERVICE is being requested.
6.48.6 Prerequisites
The device shall have performed a bus release for a previous overlap PACKET, READ DMA QUEUED,
READ DMA QUEUED EXT, WRITE DMA QUEUED, or WRITE DMA QUEUED EXT command and shall
have set the SERV bit to one to request the SERVICE command be issued to continue data transfer and/or
provide command status (See 6.49.21).
6.48.7 Description
The SERVICE command is used to provide data transfer and/or status of a command that was previously
bus released.
Page 248
T13/1532D Volume 1 Revision 4b
EFh
6.49.3 Protocol
6.49.4 Inputs
Table 41 defines the value of the subcommand in the Feature register. Some subcommands use other
registers, such as the Sector Count register to pass additional information to the device.
Register 7 6 5 4 3 2 1 0
Features Subcommand code
Sector Count Subcommand specific
LBA Low Subcommand specific
LBA Mid Subcommand specific
LBA High Subcommand specific
Device obs na obs DEV na na na na
Command EFh
Device register -
DEV shall specify the selected device.
If any subcommand input value is not supported or is invalid, the device shall return command aborted.
Register 7 6 5 4 3 2 1 0
Error na na na na na ABRT na na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Status BSY DRDY DF na DRQ na na ERR
Page 249
T13/1532D Volume 1 Revision 4b
Error register -
ABRT shall be set to one if this subcommand is not supported or if the value is invalid. ABRT may be
set to one if the device is not able to complete the action requested by the command.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one.
6.49.7 Prerequisites
6.49.8 Description
This command is used by the host to establish parameters that affect the execution of certain device
features. Table 41 defines these features.
At power-on, or after a hardware reset, the default settings of the functions specified by the subcommands
are vendor specific.
Page 250
T13/1532D Volume 1 Revision 4b
Devices implementing the CFA feature set shall support 8-bit PIO data transfers. Devices not implementing
the CFA feature set shall not support 8-bit PIO data transfers. When 8-bit PIO data transfer is enabled the
Data register is 8-bits wide using only DD7 to DD0.
Page 251
T13/1532D Volume 1 Revision 4b
Subcommand codes 02h and 82h allow the host to enable or disable write cache in devices that implement
write cache. When the subcommand disable write cache is issued, the device shall initiate the sequence to
flush cache to non-volatile memory before command completion (See 6.14). This subcommand does not
apply to commands that have a Flush to Disk bit.
A host selects the transfer mechanism by Set Transfer Mode, subcommand code 03h, and specifying a
value in the Sector Count register. The upper 5 bits define the type of transfer and the low order 3 bits
encode the mode value. The host may change the selected modes by the SET FEATURES command.
If a device supports this standard, and receives a SET FEATURES command with a Set Transfer Mode
parameter and a Sector Count register value of “00000000b”, the device shall set the default PIO mode. If
the value is “00000001b” and the device supports disabling of IORDY, then the device shall set the default
PIO mode and disable IORDY. A device shall support all PIO modes below the highest mode supported,
e.g., if PIO mode 1 is supported PIO mode 0 shall be supported.
Support of IORDY is mandatory when PIO mode 3 or above is the current mode of operation.
A device shall support all Multiword DMA modes below the highest mode supported, e.g., if Multiword DMA
mode 1 is supported Multiword DMA mode 0 shall be supported.
A device shall support all Ultra DMA modes below the highest mode supported, e.g., if Ultra DMA mode 1 is
supported Ultra DMA mode 0 shall be supported.
If an Ultra DMA mode is enabled any previously enabled Multiword DMA mode shall be disabled by the
device. If a Multiword DMA mode is enabled any previously enabled Ultra DMA mode shall be disabled by
the device.
For systems using a cable assembly, the host shall detect that an 80-conductor cable assembly is
connecting the host with the device(s) before enabling any Ultra DMA mode greater than 2 in the device(s)
(See Volume 2, Annex A).
Subcommand code 05h allows the host to enable Advanced Power Management. To enable Advanced
Power Management, the host writes the Sector Count register with the desired advanced power
management level and then executes a SET FEATURES command with subcommand code 05h. The power
management level is a scale from the lowest power consumption setting of 01h to the maximum performance
level of FEh. Table 43 shows these values.
Page 252
T13/1532D Volume 1 Revision 4b
Device performance may increase with increasing power management levels. Device power consumption
may increase with increasing power management levels. The power management levels may contain
discrete bands. For example, a device may implement one power management method from 80h to A0h and
a higher performance, higher power consumption method from level A1h to FEh. Advanced power
management levels 80h and higher do not permit the device to spin down to save power.
Subcommand code 85h disables Advanced Power Management. Subcommand 85h may not be
implemented on all devices that implement SET FEATURES subcommand 05h.
Subcommand code 06h enables the Power-Up In Standby feature set. When this feature set is enabled, the
device shall power-up into Standby mode, i.e., the device shall be ready to receive commands but shall not
spinup (See 4.12). Having been enabled, this feature shall remain enabled through power-down, hardware
reset and software rest.
Subcommand code 86h disables the Power-Up In Standby feature set. When this feature set is disabled, the
device shall power-up into Active mode. The factory default for this feature set shall be disabled.
Subcommand code 0Ah enables CFA Power Mode 1. CFA devices may consume up to 500 mA maximum
average RMS current for either 3.3 V or 5 V operation in Power Mode 1. CFA devices revert to Power Mode
1 on hardware or power-on reset. CFA devices revert to Power Mode 1 on software reset except when Set
Features disable reverting to power-on defaults is set (See 6.17.67). Enabling CFA Power Mode 1 does not
spin up rotating media devices.
Subcommand 8Ah disables CFA Power Mode 1, placing the device to CFA Power Mode 0. CFA devices
may consume up to 75 mA maximum average RMS current for 3.3 V or 100 mA maximum average RMS
current for 5 V operation in Power Mode 0.
A device in Power Mode 0 the device shall accept the following commands:
− IDENTIFY DEVICE
− SET FEATURES (function codes 0Ah and 8Ah)
− STANDBY
− STANDBY IMMEDIATE
− SLEEP
− CHECK POWER MODE
− EXECUTE DEVICE DIAGNOSTICS
− CFA REQUEST EXTENDED ERROR
A device in Power Mode 0 may accept any command that the device is capable of executing within the
Power Mode 0 current restrictions. Commands that require more current than specified for Power Mode 0
shall be rejected with an abort error.
Page 253
T13/1532D Volume 1 Revision 4b
Subcommand code 07h shall cause a device that has powered-up into Standby to go to the Active state (See
4.12 and Figure 4).
Subcommand code 31h disables Media Status Notification and leaves the media in an unlocked state. If
Media Status Notification is disabled when this subcommand is received, the subcommand has no effect.
Subcommand code 95h enables Media Status Notification and clears any previous media lock state. This
subcommand returns the device capabilities for media eject, media lock, previous state of Media Status
Notification and the current version of Media Status Notification supported in the LBA Mid and LBA High
registers as described below.
Register 7 6 5 4 3 2 1 0
LBA Mid VER
LBA High Reserved PEJ LOCK PENA
Subcommand code 42h allows the host to enable the Automatic Acoustic Management feature set. To
enable the Automatic Acoustic Management feature set, the host writes the Sector Count register with the
requested automatic acoustic management level and executes a SET FEATURES command with
subcommand code 42h. The acoustic management level is selected on a scale from 01h to FEh. Table 44
shows the acoustic management level values.
Enabling or disabling of the Automatic Acoustic Management feature set, and the current automatic acoustic
management level setting shall be preserved by the device across all forms of reset, i.e. power-on,
hardware, and software resets.
Device performance may increase with increasing acoustic management levels. Device power consumption
may decrease with decreasing acoustic management levels. The acoustic management levels may contain
discrete bands. For example, a device may implement one acoustic management method from 80h to BFh
and a higher performance, higher acoustic management method from level C0h to FEh.
Page 254
T13/1532D Volume 1 Revision 4b
Upon successful completion of this SET FEATURES subcommand, IDENTIFY DEVICE or IDENTIFY
PACKET DEVICE data word 94, bits (7:0) shall be updated by the device. If the command is aborted by the
device, the previous automatic acoustic management state shall be retained.
Subcommand code C2h disables the Automatic Acoustic Management feature set. Devices that implement
SET FEATURES subcommand 42h are not required to implement subcommand C2h. If device successfully
completes execution of this subcommand, then the acoustic behavior of the device shall be vendor-specific,
and the device shall return zeros in bits (7:0) of word 94 and bit 9 of word 86 of the IDENTIFY DEVICE or
IDENTIFY PACKET DEVICE data words.
Upon completion of SET FEATURES subcommands 42h and C2h, the device may update words (97:96) and
word 104 in IDENTIFY DEVICE or IDENTIFY PACKET DEVICE data words, and the contents of the Stream
Performance Parameters Log in the READ LOG EXT command.
Subcommand code 43h allows the host to inform the device of a host interface rate limitation. This
information shall be used by the device to meet the Command Completion Time Limits of the commands of
the streaming feature set. To inform the device of a host interface rate limitation, the host writes the LSB and
MSB value of its Typical PIO Host Interface Sector Time to the Sector Count and LBA Low registers and
writes the LSB and MSB value of its Typical DMA Host Interface Sector Time to the LBA Mid and LBA High
registers. The Typical Host Interface Sector Times have the same units as IDENTITY DEVICE data word 96
for DMA and word 104 for PIO. A value of zero indicates that the host interface shall be capable of
transferring data at the maximum rate allowed by the selected transfer mode. The Typical PIO Mode Host
Interface Sector Time includes the host’s interrupt service time.
Upon completion of SET FEATURES subcommand 43h, the device may adjust IDENTIFY DEVICE data
words (97:96), and the contents of the Stream Performance Parameters Log in the READ LOG EXT
command to allow for the specified host interface sector time.
Register 7 6 5 4 3 2 1 0
Sector Count Typical PIO Mode Host Interface Sector Time (7:0)
LBA Low Typical PIO Mode Host Interface Sector Time (15:8)
LBA Mid Typical DMA Mode Host Interface Sector Time (7:0)
LBA High Typical DMA Mode Host Interface Sector Time (15:8)
Subcommand codes AAh and 55h allow the host to request the device to enable or disable read look-ahead.
Error recovery performed by the device is vendor specific.
Subcommand codes 5Dh and DDh allow a host to enable or disable the asserting of Interrupt Pending when
a device releases the bus for an overlapped PACKET command.
Subcommand codes 5Eh and DEh allow a host to enable or disable the asserting of an Interrupt Pending
when DRQ is set to one in response to a SERVICE command.
Subcommand codes CCh and 66h allow the host to enable or disable the device from reverting to power-on
default values. A setting of 66h allows settings that may have been modified since power-on to remain at the
same setting after a software reset.
Page 255
T13/1532D Volume 1 Revision 4b
6.50.1.3 Protocol
6.50.1.4 Inputs
Register 7 6 5 4 3 2 1 0
Features na
Sector Count na V V
LBA Low SET MAX LBA (7:0)
LBA Mid SET MAX LBA (15:8)
LBA High SET MAX LBA (23:16)
Device obs LBA obs DEV SET MAX LBA (27:24)
Command F9h
Sector Count -
V V (Value volatile). If bit 0 is set to one, the device shall preserve the maximum values over
power-up or hardware reset. If bit 0 is cleared to zero, the device shall revert to the most recent non-
volatile maximum address value setting over power-up or hardware reset.
LBA Low -
contains LBA bits (7:0) value to be set.
LBA Mid -
contains LBA bits (15:8) value to be set.
LBA High -
contains the LBA bits (23:16) value to be set.
Device -
the LBA bit shall be set to one to specify the address is an LBA.
DEV shall specify the selected device.
Bits (3:0) contain the LBA bits (27:24) value to be set.
Page 256
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error na
Sector Count na
LBA Low LBA (7:0)
LBA Mid LBA (15:8)
LBA High LBA (23:16)
Device obs na obs DEV LBA (27:24)
Status BSY DRDY DF na DRQ na na ERR
LBA Low-
LBA bits (7:0) set on the device.
LBA Mid -
LBA bits (15:8) set on the device.
LBA High -
LBA bits (23:16) set on device.
Device -
DEV shall indicate the selected device.
LBA bits (27:24) set on the device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
If this command is not supported, the maximum value to be set exceeds the capacity of the device, a host
protected area has been established by a SET MAX ADDRESS EXT command, or the device is in the
Set_Max_Locked or Set_Max_Frozen state, then the device shall return command aborted.
Register 7 6 5 4 3 2 1 0
Error na na na IDNF na ABRT na na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Status BSY DRDY na na na na na ERR
Error register -
ABRT shall be set to one if this command is not supported, maximum value requested exceeds the
device capacity, a host protected area has been estabished by a SET MAX ADDRESS EXT
command, the device is in the Set_Max_Locked or Set_Max_Frozen state, or the command
is not immediately preceded by a READ NATIVE MAX ADDRESS command. ABRT may be
set to one if the device is not able to complete the action requested by the command.
IDNF shall be set to one if the command was the second non-volatile SET MAX ADDRESS
command after power-on or hardware reset.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
ERR shall be set to one if an Error register bit is set to one.
Page 257
T13/1532D Volume 1 Revision 4b
6.50.1.7 Prerequisites
DRDY set to one. A successful READ NATIVE MAX ADDRESS command shall immediately precede a SET
MAX ADDRESS command.
6.50.1.8 Description
After successful command completion, all read and write access attempts to addresses greater than
specified by the successful SET MAX ADDRESS command shall be rejected with an IDNF error. IDENTIFY
DEVICE data words (61:60) shall reflect the maximum address set with this command.
If the 48-bit Address feature set is supported, the value placed in IDENTIFY DEVICE data words (103:100)
shall be the same as the value placed in words (61:60).
Hosts shall not issue more than one non-volatile SET MAX ADDRESS or SET MAX ADDRESS EXT
command after a power-on or hardware reset. Devices should report an IDNF error upon receiving a second
non-volatile SET MAX ADDRESS command after a power-on or hardware reset.
The contents of IDENTIFY DEVICE data words and the max address shall not be changed if a SET MAX
ADDRESS command fails.
After a successful SET MAX ADDRESS command using a new maximum LBA the content of all IDENTIFY
DEVICE data words shall comply with 4.2.1 and the content of words (61:60) shall be equal to the new
Maximum LBA + 1.
− Mandatory when the Host Protected Area feature set security extensions are implemented.
− Use prohibited when the Removable feature set is implemented.
6.50.2.3 Protocol
6.50.2.4 Inputs
Register 7 6 5 4 3 2 1 0
Features 01h
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Command F9h
Device -
DEV shall specify the selected device.
Page 258
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Status BSY DRDY DF na DRQ na na ERR
Device -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
Register 7 6 5 4 3 2 1 0
Error na na na na na ABRT na na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Status BSY DRDY na na na na na ERR
Error register -
ABRT shall be set to one if this command is not supported or the device is in the Set_Max_Locked or
Set_Max_Frozen state. ABRT may be set to one if the device is not able to complete the
action requested by the command.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
ERR shall be set to one if an Error register bit is set to one.
6.50.2.7 Prerequisites
DRDY set to one. This command shall not be immediately preceded by a READ NATIVE MAX ADDRESS
command. If this command is immediately preceded by a READ NATIVE MAX ADDRESS command, it shall
be interpreted as a SET MAX ADDRESS command.
6.50.2.8 Description
This command requests a transfer of a single sector of data from the host. Table 46 defines the content of
this sector of information. The password is retained by the device until the next power cycle. When the
device accepts this command the device is in Set_Max_Unlocked state.
Page 259
T13/1532D Volume 1 Revision 4b
− Mandatory when the Host Protected Area feature set security extensions are implemented.
− Use prohibited when the Removable feature set is implemented.
6.50.3.3 Protocol
6.50.3.4 Inputs
Register 7 6 5 4 3 2 1 0
Features 02h
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Command F9h
Device -
DEV shall specify the selected device.
Register 7 6 5 4 3 2 1 0
Error na
Sector Count na
LBA low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Status BSY DRDY DF na DRQ na na ERR
Device -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
Page 260
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error na na na na na ABRT na na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Status BSY DRDY na na na na na ERR
Error register -
ABRT shall be set to one if this command is not supported or the device is not in the
Set_Max_Locked state. ABRT may be set to one if the device is not able to complete the
action requested by the command.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
ERR shall be set to one if an Error register bit is set to one.
6.50.3.7 Prerequisites
DRDY set to one. This command shall not be immediately preceded by a READ NATIVE MAX ADDRESS
command. If this command is immediately preceded by a READ NATIVE MAX ADDRESS command, it shall
be interpreted as a SET MAX ADDRESS command.
6.50.3.8 Description
The SET MAX LOCK command sets the device into Set_Max_Locked state. After this command is
completed any other SET MAX commands except SET MAX UNLOCK and SET MAX FREEZE LOCK shall
be command aborted. The device shall remain in this state until a power cycle or command completion
without error of a SET MAX UNLOCK or SET MAX FREEZE LOCK command.
− Mandatory when the Host Protected Area feature set security extensions are implemented.
− Use prohibited when the Removable feature set is implemented.
6.50.4.3 Protocol
Page 261
T13/1532D Volume 1 Revision 4b
6.50.4.4 Inputs
Register 7 6 5 4 3 2 1 0
Features 03h
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Command F9h
Device -
DEV shall specify the selected device.
Register 7 6 5 4 3 2 1 0
Error na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Status BSY DRDY DF na DRQ na na ERR
Device -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
Register 7 6 5 4 3 2 1 0
Error na na na na na ABRT na na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Status BSY DRDY na na na na na ERR
Error register -
ABRT shall be set to one if this command is not supported or the device is not in the
Set_Max_Locked state. ABRT may be set to one if the device is not able to complete the
action requested by the command.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
ERR shall be set to one if an Error register bit is set to one.
Page 262
T13/1532D Volume 1 Revision 4b
6.50.4.7 Prerequisites
DRDY set to one. This command shall not be immediately preceded by a READ NATIVE MAX ADDRESS
command. If this command is immediately preceded by a READ NATIVE MAX ADDRESS command, it shall
be interpreted as a SET MAX ADDRESS command.
6.50.4.8 Description
This command requests a transfer of a single sector of data from the host. Table 46 defines the content of
this sector of information.
The password supplied in the sector of data transferred shall be compared with the stored SET MAX
password.
If the password compare fails, then the device shall return command aborted and decrement the unlock
counter. On the acceptance of the SET MAX LOCK command, this counter is set to a value of five and shall
be decremented for each password mismatch when SET MAX UNLOCK is issued and the device is locked.
When this counter reaches zero, then the SET MAX UNLOCK command shall return command aborted until
a power cycle.
If the password compare matches, then the device shall make a transition to the Set_Max_Unlocked state
and all SET MAX commands shall be accepted.
− Mandatory when the Host Protected Area feature set security extensions are implemented.
− Use prohibited when the Removable feature set is implemented.
6.50.5.3 Protocol
6.50.5.4 Inputs
Register 7 6 5 4 3 2 1 0
Features 04h
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Command F9h
Device -
DEV shall specify the selected device.
Page 263
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Status BSY DRDY DF na DRQ na na ERR
Device -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
Register 7 6 5 4 3 2 1 0
Error na na na na na ABRT na na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Status BSY DRDY na na na na na ERR
Error register -
ABRT shall be set to one if this command is not supported or the device is in the Set_Max_Unlocked
state. ABRT may be set to one if the device is not able to complete the action requested by
the command.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
ERR shall be set to one if an Error register bit is set to one.
6.50.5.7 Prerequisites
DRDY set to one. A SET MAX SET PASSWORD command shall previously have been successfully
completed. This command shall not be immediately preceded by a READ NATIVE MAX ADDRESS
command. If this command is immediately preceded by a READ NATIVE MAX ADDRESS command, it shall
be interpreted as a SET MAX ADDRESS command.
6.50.5.8 Description
The SET MAX FREEZE LOCK command sets the device to Set_Max_Frozen state. After command
completion any subsequent SET MAX commands shall be command aborted.
Page 264
T13/1532D Volume 1 Revision 4b
Page 265
T13/1532D Volume 1 Revision 4b
37h
Host Protected Area feature set and 48-bit Address feature set.
− Mandatory when the Host Protected Area feature set and the 48-bit Address feature set are
implemented.
− Use prohibited when the Removable Media feature set is implemented.
− Use prohibited when PACKET Command feature set is implemented.
6.51.1.3 Protocol
6.51.1.4 Inputs
Register 7 6 5 4 3 2 1 0
Features Current Reserved
Previous Reserved
Sector Count Current Reserved V V
Previous Reserved
LBA Low Current SET MAX LBA (7:0)
Previous SET MAX LBA (31:24)
LBA Mid Current SET MAX LBA (15:8)
Previous SET MAX LBA (39:32)
LBA High Current SET MAX LBA (23:16)
Previous SET MAX LBA (47:40)
Device obs LBA obs DEV Reserved
Command 37h
NOTE − The value indicated as Current is the value most recently written to the register. The value
indicated as Previous is the value that was in the register before the most recent write to the register.
Page 266
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error na
Sector Count HOB = 0 Reserved
HOB = 1 Reserved
LBA Low HOB = 0 SET MAX LBA (7:0)
HOB = 1 SET MAX LBA (31:24)
LBA Mid HOB = 0 SET MAX LBA (15:8)
HOB = 1 SET MAX LBA (39:32)
LBA High HOB = 0 SET MAX LBA (23:16)
HOB = 1 SET MAX LBA (47:40)
Device obs na obs DEV Reserved
Status BSY DRDY DF na DRQ na na ERR
NOTE − HOB = 0 indicates the value read by the host when the HOB bit of the Device Control register is
cleared to zero. HOB = 1 Indicates the value read by the host when the HOB bit of the Device Control
register is set to one.
LBA Low -
LBA (7:0) of the address of the SET MAX ADDRESS EXT when read with Device Control register
HOB bit cleared to zero.
LBA (31:24) of the address of the SET MAX ADDRESS EXT when read with Device Control register
HOB bit set to one.
LBA Mid -
LBA (15:8) of the address of the SET MAX ADDRESS EXT when read with Device Control register
HOB bit cleared to zero.
LBA (39:32) of the address of the SET MAX ADDRESS EXT when read with Device Control
register HOB bit set to one.
LBA High -
LBA (23:16) of the address of the SET MAX ADDRESS EXT when read with Device Control register
HOB bit cleared to zero.
LBA (47:40) of the address of the SET MAX ADDRESS EXT when read with Device Control register
HOB bit set to one.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
If this command is not supported, the maximum value to be set exceeds the capacity of the device, a host
protected area has been established by a SET MAX ADDRESS command, the command is not immediately
preceded by a READ NATIVE MAX ADDRESS EXT command, or the device is in the Set_Max_Locked or
Set_Max_Frozen state, then the device shall return command aborted.
Page 267
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error na na na IDNF na ABRT na obs
Sector Count HOB = 0 Reserved
HOB = 1 Reserved
LBA Low HOB = 0 Reserved
HOB = 1 Reserved
LBA Mid HOB = 0 Reserved
HOB = 1 Reserved
LBA High HOB = 0 Reserved
HOB = 1 Reserved
Device obs na obs DEV Reserved
Status BSY DRDY na na na na na ERR
NOTE − HOB = 0 indicates the value read by the host when the HOB bit of the Device Control register is
cleared to zero. HOB = 1 Indicates the value read by the host when the HOB bit of the Device Control
register is set to one.
Error register -
ABRT shall be set to one if this command is not supported, maximum value requested exceeds the
device capacity, a host protected area has been established by a SET MAX ADDRESS
command, or the command is not immediately preceded by a READ NATIVE MAX
ADDRESS EXT command. ABRT may be set to one if the device is not able to complete the
action requested by the command.
IDNF shall be set to one if the command was the second non-volatile SET MAX ADDRESS or SET
MAX ADDRESS EXT command after power-on or hardware reset.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one.
6.51.1.7 Prerequisites
DRDY set to one. A successful READ NATIVE MAX ADDRESS EXT command shall immediately precede a
SET MAX ADDRESS EXT command.
6.51.1.8 Description
After successful command completion, all read and write access attempts to addresses greater than
specified by the successful SET MAX ADDRESS EXT command shall be rejected with an IDNF error.
Hosts shall not issue more than one non-volatile SET MAX ADDRESS or SET MAX ADDRESS EXT
command after a power-on or hardware reset. Devices shall report an IDNF error upon receiving a second
non-volatile SET MAX ADDRESS EXT command after a power-on or hardware reset.
The contents of IDENTIFY DEVICE data words and the max address shall not be changed if a SET MAX
ADDRESS EXT command fails.
After a successful SET MAX ADDRESS EXT command using a new maximum LBA the content of all
IDENTIFY DEVICE data words shall comply with 6.2.1.
Page 268
T13/1532D Volume 1 Revision 4b
C6h
− Mandatory for devices not implementing the PACKET Command feature set.
− Use prohibited for devices implementing the PACKET Command feature set.
6.52.3 Protocol
6.52.4 Inputs
If the content of the Sector Count register is not zero, then the Sector Count register contains the number of
sectors per block for the device to be used on all following READ/WRITE MULTIPLE commands. The
content of the Sector Count register shall be less than or equal to the value in bits (7:0) in word 47 in the
IDENTIFY DEVICE data. The host should set the content of the Sector Count register to 1, 2, 4, 8, 16, 32,
64 or 128.
If the content of the Sector Count register is zero and the SET MULTIPLE command completes without error,
then the device shall respond to any subsequent READ MULTIPLE or WRITE MULTIPLE command with
command aborted until a subsequent successful SET MULTIPLE command completion where the Sector
Count register is not set to zero.
Register 7 6 5 4 3 2 1 0
Features na
Sector Count Sectors per block
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Command C6h
Device register -
DEV shall specify the selected device.
Register 7 6 5 4 3 2 1 0
Error na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Status BSY DRDY DF na DRQ na na ERR
Page 269
T13/1532D Volume 1 Revision 4b
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
If a block count is not supported, the device shall return command aborted.
Register 7 6 5 4 3 2 1 0
Error na na na na na ABRT na na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Status BSY DRDY DF na DRQ na na ERR
Error register -
ABRT shall be set to one if the block count is not supported. ABRT may be set to one if the device is
not able to complete the action requested by the command.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one.
6.52.7 Prerequisites
6.52.8 Description
This command establishes the block count for READ MULTIPLE, READ MULTIPLE EXT, WRITE
MULTIPLE, and WRITE MULTIPLE EXT commands.
Devices shall support the block size specified in the IDENTIFY DEVICE parameter word 47, bits (7:0), and
may also support smaller values.
Upon receipt of the command, the device checks the Sector Count register. If the content of the Sector
Count register is not zero, the Sector Count register contains a valid value, and the block count is supported,
then the value in the Sector Count register is used for all subsequent READ MULTIPLE, READ MULTIPLE
EXT, WRITE MULTIPLE, and WRITE MULTIPLE EXT commands and their execution is enabled. If the
content of the Sector Count register is zero, the device may:
1) disable multiple mode and respond with command aborted to all subsequent READ MULTIPLE,
READ MULTIPLE EXT, WRITE MULTIPLE, and WRITE MULTIPLE EXT commands;
2) respond with command aborted to the SET MULTIPLE MODE command;
3) retain the previous multiple mode settings.
Page 270
T13/1532D Volume 1 Revision 4b
After a successful SET MULTIPLE command the device shall report the valid value set by that command in
bits (7:0) in word 59 in the IDENTIFY DEVICE data.
After a power-on or hardware reset, if bit 8 is set to one and bits (7:0) are cleared to zero in word 59 of the
IDENTIFY DEVICE data, a SET MULTIPLE command is required before issuing a READ MULTIPLE, READ
MULTIPLE EXT, WRITE MULTIPLE, or WRITE MULTIPLE EXT command. If bit 8 is set to one and bits (7:0)
are not cleared to zero, a SET MULTIPLE command may be issue to change the multiple value required
before issuing a READ MULTIPLE, READ MULTIPLE EXT, WRITE MULTIPLE, or WRITE MULTIPLE EXT
command.
Page 271
T13/1532D Volume 1 Revision 4b
6.53 SLEEP
6.53.1 Command code
E6h
− This command is mandatory for devices not implementing the PACKET Command feature set.
− Power Management feature set is mandatory when power management is not implemented by
the PACKET command set implemented by the device.
− This command is mandatory when the Power Management feature set is implemented.
6.53.3 Protocol
6.53.4 Inputs
Register 7 6 5 4 3 2 1 0
Features na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Command E6h
Device register -
DEV shall specify the selected device.
Register 7 6 5 4 3 2 1 0
Error na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Status BSY DRDY DF na DRQ na na ERR
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
Page 272
T13/1532D Volume 1 Revision 4b
The device shall return command aborted if the device does not support the Power Management feature set.
Register 7 6 5 4 3 2 1 0
Error na na na na na ABRT na na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Status BSY DRDY DF na DRQ na na ERR
Error register -
ABRT shall be set to one if the device does not support the Power Management feature set. ABRT
may be set to one if the device is not able to complete the action requested by the
command.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one.
6.53.7 Prerequisites
6.53.8 Description
This command is the only way to cause the device to enter Sleep mode.
This command shall cause the device to set the BSY bit to one, prepare to enter Sleep mode, clear the BSY
bit to zero and assert INTRQ. The host shall read the Status register in order to clear the Interrupt Pending
and allow the device to enter Sleep mode. In Sleep mode, the device shall only respond to the assertion of
the RESET- signal and the writing of the SRST bit in the Device Control register and shall release the device
driven signal lines (See Figure 4). The host shall not attempt to access the Command Block registers while
the device is in Sleep mode.
Because some host systems may not read the Status register and clear the Interrupt Pending, a device may
release INTRQ and enter Sleep mode after a vendor specific time period of not less than 2 s.
The only way to recover from Sleep mode is with a software reset, a hardware reset, or a DEVICE RESET
command.
A device shall not power-on in Sleep mode nor remain in Sleep mode following a reset sequence.
Page 273
T13/1532D Volume 1 Revision 4b
6.54 SMART
Individual SMART commands are identified by the value placed in the Feature register. Table 47 shows
these Feature register values.
6.54.1.3 Protocol
6.54.1.4 Inputs
The Features register shall be set to D9h. The LBA Mid register shall be set to 4Fh. The LBA High register
shall be set to C2h.
Register 7 6 5 4 3 2 1 0
Features D9h
Sector Count na
LBA Low na
LBA Mid 4Fh
LBA High C2h
Device obs na obs DEV na na na na
Command B0h
Device register -
Page 274
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Status BSY DRDY DF na DRQ na na ERR
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
If the device does not support this command, if SMART is not enabled, or if the values in the Features, LBA
Mid, or LBA High registers are invalid, the device shall return command aborted.
Register 7 6 5 4 3 2 1 0
Error na na na na na ABRT na na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Status BSY DRDY DF na DRQ na na ERR
Error register -
ABRT shall be set to one if this command is not supported, if SMART is not enabled, or if input
register values are invalid. ABRT may be set to one if the device is not able to complete the
action requested by the command.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one.
6.54.1.7 Prerequisites
6.54.1.8 Description
This command disables all SMART capabilities within the device including any and all timer and event count
functions related exclusively to this feature. After command acceptance the device shall disable all SMART
Page 275
T13/1532D Volume 1 Revision 4b
operations. SMART data shall no longer be monitored or saved by the device. The state of SMART, either
enabled or disabled, shall be preserved by the device across power cycles.
After receipt of this command by the device, all other SMART commands including SMART DISABLE
OPERATIONS commands, with the exception of SMART ENABLE OPERATIONS, are disabled and invalid
and shall be command aborted by the device.
6.54.2.3 Protocol
6.54.2.4 Inputs
The Features register shall be set to D2h. The LBA Mid register shall be set to 4Fh. The LBA High register
shall be set to C2h. The Sector Count register shall set to 00h to disable attribute autosave and a value of
F1h shall be set to enable attribute autosave.
Register 7 6 5 4 3 2 1 0
Features D2h
Sector Count 00h or F1h
LBA Low na
LBA Mid 4Fh
LBA High C2h
Device obs na obs DEV na na na na
Command B0h
Device register -
DEV shall specify the selected device.
Register 7 6 5 4 3 2 1 0
Error na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Status BSY DRDY DF na DRQ na na ERR
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
Page 276
T13/1532D Volume 1 Revision 4b
If the device does not support this command, if SMART is disabled, or if the values in the Features, LBA Mid,
or LBA High registers are invalid, the device shall return command aborted.
Register 7 6 5 4 3 2 1 0
Error na na na na na ABRT na na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Status BSY DRDY DF na DRQ na na ERR
Error register -
ABRT shall be set to one if this command is not supported, if SMART is disabled, or if the input
register values are invalid. ABRT may be set to one if the device is not able to complete the
action requested by the command.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one.
6.54.2.7 Prerequisites
6.54.2.8 Description
This command enables and disables the optional attribute autosave feature of the device. This command
may either allow the device, after some vendor specified event, to save the device updated attribute values
to non-volatile memory; or this command may cause the autosave feature to be disabled. The state of the
attribute autosave feature (either enabled or disabled) shall be preserved by the device across power cycles.
A value of zero written by the host into the device’s Sector Count register before issuing this command shall
cause this feature to be disabled. Disabling this feature does not preclude the device from saving SMART
data to non-volatile memory during some other normal operation such as during a power-on or power-off
sequence or during an error recovery sequence.
A value of F1h written by the host into the device’s Sector Count register before issuing this command shall
cause this feature to be enabled. Any other meaning of this value or any other non-zero value written by the
host into this register before issuing this command may differ from device to device. The meaning of any
non-zero value written to this register at this time shall be preserved by the device across power cycles.
If this command is not supported by the device, the device shall return command aborted upon receipt from
the host.
Page 277
T13/1532D Volume 1 Revision 4b
During execution of the autosave routine the device shall not set BSY to one nor clear DRDY to zero. If the
device receives a command from the host while executing the autosave routine the device shall begin
processing the command within two seconds.
6.54.3.3 Protocol
6.54.3.4 Inputs
The Features register shall be set to D8h. The LBA Mid register shall be set to 4Fh. The LBA High register
shall be set to C2h.
Register 7 6 5 4 3 2 1 0
Features D8h
Sector Count na
LBA Low na
LBA Mid 4Fh
LBA High C2h
Device obs na obs DEV na
Command B0h
Device register -
DEV shall specify the selected device.
Register 7 6 5 4 3 2 1 0
Error na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Status BSY DRDY DF na DRQ na na ERR
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
Page 278
T13/1532D Volume 1 Revision 4b
If the device does not support this command or if the values in the Features, LBA Mid, or LBA High registers
are invalid, the device shall return command aborted.
Register 7 6 5 4 3 2 1 0
Error na na na na na ABRT na na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Status BSY DRDY DF na DRQ na na ERR
Error register -
ABRT shall be set to one if this command is not supported or if the input register values are invalid.
ABRT may be set to one if the device is not able to complete the action requested by the
command.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one.
6.54.3.7 Prerequisites
6.54.3.8 Description
This command enables access to all SMART capabilities within the device. Prior to receipt of this command
SMART data are neither monitored nor saved by the device. The state of SMART (either enabled or
disabled) shall be preserved by the device across power cycles. Once enabled, the receipt of subsequent
SMART ENABLE OPERATIONS commands shall not affect any SMART data or functions.
6.54.4.3 Protocol
Page 279
T13/1532D Volume 1 Revision 4b
6.54.4.4 Inputs
The Features register shall be set to D4h. The LBA Mid register shall be set to 4Fh. The LBA High register
shall be set to C2h. Table 48 defines the subcommand that shall be executed based on the value in the LBA
Low register.
Register 7 6 5 4 3 2 1 0
Features D4h
Sector Count na
LBA Low Subcommand specific
LBA Mid 4Fh
LBA High C2h
Device obs na obs DEV na
Command B0h
Device register -
DEV shall specify the selected device.
Register 7 6 5 4 3 2 1 0
Features na
Sector Count na
LBA Low na
LBA Mid na or 4Fh
LBA High na or C2h
Device/Head obs na obs DEV na
Status BSY DRDY DF na DRQ na na ERR
LBA Mid -
na when the subcommand specified an off-line routine including an off-line self-test routine.
4Fh when the subcommand specified a captive self-test routine (See 6.54.4.10) that has executed
without failure.
LBA High -
na when the subcommand specified an off-line routine including an off-line self-test routine.
C2h when the subcommand specified a captive self-test routine that has executed without failure.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one indicating that the device is capable of receiving any command.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
If the device does not support this command, if SMART is disabled, or if the values in the Features, LBA Mid,
or LBA High registers are invalid, the device shall return command aborted. When a failure occurs while
executing a test in captive mode, the device shall return command aborted with the LBA Mid register value of
F4h and the LBA High value of 2Ch.
Page 280
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error na na na IDNF na ABRT na obs
Sector Count na
LBA Low na
LBA Mid na or 4Fh or F4h
LBA High na or C2h or 2Ch
Device obs na obs DEV na
Status BSY DRDY DF na DRQ na na ERR
Error register -
IDNF shall be set to one if SMART data sector’s ID field could not be found.
ABRT shall be set to one if this command is not supported, if SMART is not enabled, if register
values are invalid, or if a self-test fails while executing a sequence in captive mode. ABRT
may be set to one if the device is not able to complete the action requested by the
command.
LBA Mid register -
na when the subcommand specified an off-line routine (including an off-line self-test routine).
4Fh when the subcommand specified a captive self-test routine and some error other than a self-test
routine failure occurred (i.e., if the sub-command is not supported or register values are invalid)
F4h when the subcommand specified a captive self-test routine which has failed during execution.
LBA High register -
na when the subcommand specified an off-line routine (including an off-line self-test routine).
2Ch when the subcommand specified a captive self-test routine which has failed during execution.
C2h when the subcommand specified a captive self-test routine and some error other than a self-test
routine failure occurred (i.e., if the sub-command is not supported or register values are invalid)
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one indicating that the device is capable of receiving any command.
DF (Device Fault) shall be set to one indicating that a device fault has occurred.
DRQ shall be cleared to zero indicating that there is no data to be transferred.
ERR shall be set to one if any Error register bit is set to one.
6.54.4.7 Prerequisites
6.54.4.8 Description
This command causes the device to immediately initiate the optional set of activities that collect SMART data
in an off-line mode and then save this data to the device's non-volatile memory, or execute a self-diagnostic
test routine in either captive or off-line mode.
Page 281
T13/1532D Volume 1 Revision 4b
The following describes the protocol for executing a SMART EXECUTE OFF-LINE IMMEDIATE
subcommand routine (including a self-test routine) in the off-line mode.
a) The device shall execute command completion before executing the subcommand routine.
b) After clearing BSY to zero and setting DRDY to one after receiving the command, the device shall not
set BSY nor clear DRDY during execution of the subcommand routine.
c) If the device is in the process of performing the subcommand routine and is interrupted by any new
command from the host except a SLEEP, SMART DISABLE OPERATIONS, SMART EXECUTE OFF-
LINE IMMEDIATE, or STANDBY IMMEDIATE command, the device shall suspend or abort the
subcommand routine and service the host within two seconds after receipt of the new command. After
servicing the interrupting command from the host the device may immediately re-initiate or resume the
subcommand routine without any additional commands from the host (See 6.54.5.12).
d) If the device is in the process of performing a subcommand routine and is interrupted by a SLEEP
command from the host, the device may abort the subcommand routine and execute the SLEEP
command. If the device is in the process of performing any self-test routine and is interrupted by a
SLEEP command from the host, the device shall abort the subcommand routine and execute the SLEEP
command.
e) If the device is in the process of performing the subcommand routine and is interrupted by a SMART
DISABLE OPERATIONS command from the host, the device shall suspend or abort the subcommand
routine and service the host within two seconds after receipt of the command. Upon receipt of the next
SMART ENABLE OPERATIONS command the device may, either re-initiate the subcommand routine or
resume the subcommand routine from where it had been previously suspended.
f) If the device is in the process of performing the subcommand routine and is interrupted by a SMART
EXECUTE OFF-LINE IMMEDIATE command from the host, the device shall abort the subcommand
routine and service the host within two seconds after receipt of the command. The device shall then
service the new SMART EXECUTE OFF-LINE IMMEDIATE subcommand.
g) If the device is in the process of performing the subcommand routine and is interrupted by a STANDBY
IMMEDIATE or IDLE IMMEDIATE command from the host, the device shall suspend or abort the
subcommand routine, and service the host within two seconds after receipt of the command. After
receiving a new command that causes the device to exit a power saving mode, the device shall initiate or
resume the subcommand routine without any additional commands from the host unless these activities
were aborted by the host (See 6.54.5.8).
h) While the device is performing the subcommand routine it shall not automatically change power states
(e.g., as a result of its Standby timer expiring).
i) If a test failure occurs while a device is performing a self-test routine the device may discontinue the
testing and place the test results in the Self-test execution status byte (See Table 49).
Page 282
T13/1532D Volume 1 Revision 4b
When executing a self-test in captive mode, the device sets BSY to one and executes the self-test routine
after receipt of the command. At the end of the routine the device places the results of this routine in the Self-
test execution status byte (See Table 49) and executes command completion. If an error occurs while a
device is performing the routine the device may discontinue its testing, place the results of this routine in the
Self-test execution status byte, and complete the command.
This routine shall only be performed in the off-line mode. The results of this routine are placed in the Off-line
data collection status byte (See Table 50).
Depending on the value in the LBA Low register, this self-test routine may be performed in either the captive
or the off-line mode. This self-test routine should take on the order of ones of minutes to complete (See
6.54.5.8).
Depending on the value in the LBA Low register, this self-test routine may be performed in either the captive
or the off-line mode. This self-test routine should take on the order of tens of minutes to complete (See
6.54.5.8).
Depending on the value in the LBA Low register, this self-test routine may be performed in either the captive
or the off-line mode. This self-test routine is intended to identify damage incurred during transporting of the
device. This self-test routine should take on the order of minutes to complete (See 6.54.5.8).
The SMART Selective self-test routine is an optional self-test routine. If the routine is implemented, all
features of the routine shall be implemented. Support for the routine is indicated in off-line data collection
capabilities (See 6.54.5.12).
When the value in the LBA Low register is 4 or 132, the Selective self-test routine shall be performed. This
self-test routine shall include the initial tests performed by the Extended self-test routine plus a selectable
read scan. The host shall not write the Selective self-test log while the execution of a Selective self-test
command is in progress.
The user may choose to do read scan only on specific areas of the media. To do this, user shall set the test
spans desired in the Selective self-test log and set the flags in the Feature flags field of the Selective self-test
log to indicate do not perform off-line scan. In this case, the test spans defined shall be read scanned in their
entirety. The Selective self-test log is updated as the self-test proceeds indicating test progress. When all
specified test spans have been completed, the test is terminated and the appropriate self-test execution
status is reported in the SMART READ DATA response depending on the occurrence of errors. Figure 9
shows an example of a Selective self-test definition with three test spans defined. In this example, the test
terminates when all three test spans have been scanned.
Page 283
T13/1532D Volume 1 Revision 4b
After the scan of the selected spans described above, a user may wish to have the rest of media read
scanned as an off-line scan. In this case, the user shall set the flag to enable off-line scan in addition to the
other settings. If an error occurs during the scanning of the test spans, the error is reported in the self-test
execution status in the SMART READ DATA response and the off-line scan is not executed. When the test
spans defined have been scanned, the device shall then set the off-line scan pending and active flags in the
Selective self-test log to one, the span under test to a value greater than five, the self-test execution status in
the SMART READ DATA response to 00h, set a value of 03h in the off-line data collection status in the
SMART READ DATA response and shall proceed to do an off-line read scan through all areas not included
in the test spans. This off-line read scan shall completed as rapidly as possible, no pauses between block
reads, and any errors encountered shall not be reported to the host. Instead error locations may be logged
for future reallocation. If the device is powered-down before the off-line scan is completed, the off-line scan
shall resume when the device is again powered up. From power-up, the resumption of the scan shall be
delayed the time indicated in the Selective self-test pending time field in the Selective self-test log. During
this delay time the pending flag shall be set to one and the active flag shall be set to zero in the Selective
self-test log. Once the time expires, the active flag shall be set to one, and the off-line scan shall resume.
When the entire media has been scanned, the off-line scan shall terminate, both the pending and active flags
shall be cleared to zero, and the off-line data collection status in the SMART READ DATA response shall be
set to 02h indicating completion.
During execution of the Selective self-test, the self-test executions time byte in the Device SMART Data
Structure may be updated but the accuracy may not be exact because of the nature of the test span
segments. For this reason, the time to complete off-line testing and the self-test polling times are not valid.
Progress through the test spans is indicated in the selective self-test log.
A hardware or software reset shall abort the Selective self-test except when the pending bit is set to one in
the Selective self-test log (See 6.54.6.8.5). The receipt of a SMART EXECUTE OFF-LINE IMMEDIATE
command with 0Fh, Abort off-line test routine, in the LBA Low register shall abort Selective self-test
regardless of where the device is in the execution of the command. If a second self-test is issued while a
selective self-test is in progress, the selective self-test is aborted and the newly requested self-test is
executed.
Page 284
T13/1532D Volume 1 Revision 4b
6.54.5.3 Protocol
6.54.5.4 Inputs
The Features register shall be set to D0h. The LBA Mid register shall be set to 4Fh. The LBA High register
shall be set to C2h.
Register 7 6 5 4 3 2 1 0
Features D0h
Sector Count na
LBA Low na
LBA Mid 4Fh
LBA High C2h
Device obs na obs DEV na
Command B0h
Device register -
DEV shall specify the selected device.
Register 7 6 5 4 3 2 1 0
Features na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Status BSY DRDY DF na DRQ na na ERR
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one indicating that the device is capable of receiving any command.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
If the device does not support this command, if SMART is disabled, or if the values in the Features, LBA Mid,
or LBA High registers are invalid, the device shall return command aborted.
Page 285
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error na UNC na IDNF na ABRT na obs
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Status BSY DRDY DF na DRQ na na ERR
Error register -
UNC shall be set to one if SMART data is uncorrectable.
IDNF shall be set to one if SMART data sector’s ID field could not be found or data structure
checksum occurred.
ABRT shall be set to one if this command is not supported, if SMART is not enabled, or if register
values are invalid. ABRT may be set to one if the device is not able to complete the action
requested by the command.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one indicating that the device is capable of receiving any command.
DF (Device Fault) shall be set to one indicating that a device fault has occurred.
DRQ shall be cleared to zero indicating that there is no data to be transferred.
ERR shall be set to one if any Error register bit is set to one.
6.54.5.7 Prerequisites
6.54.5.8 Description
This command returns the Device SMART data structure to the host.
Table 49 defines the 512 bytes that make up the Device SMART data structure. All multi-byte fields shown
in this structure follow the byte ordering described in Volume 1, Clause 3.
Page 286
T13/1532D Volume 1 Revision 4b
The value of the off-line data collection status byte defines the current status of the off-line activities of the
device. Table 50 lists the values and their respective definitions.
The self-test execution status byte reports the execution status of the self-test routine.
− Bits (3:0) (Percent Self-Test Remaining) The value in these bits indicates an approximation of
the percent of the self-test routine remaining until completion in ten percent increments. Valid
values are 9 through 0. A value of 0 indicates the self-test routine is complete. A value of 9
indicates 90% of total test time remaining.
Page 287
T13/1532D Volume 1 Revision 4b
− Bits (7:4) (Self-test Execution Status) The value in these bits indicates the current Self-test
Execution Status (See Table 51).
The total time in seconds to complete off-line data collection activity word specifies how many seconds the
device requires to complete the sequence of off-line data collection activity. Valid values for this word are
from 0001h to FFFFh.
The following describes the definition for the off-line data collection capability bits. If the value of all of these
bits is cleared to zero, then no off-line data collection is implemented by this device.
− Bit 0 (EXECUTE OFF-LINE IMMEDIATE implemented bit) - If this bit is set to one, then the SMART
EXECUTE OFF-LINE IMMEDIATE command is implemented by this device. If this bit is cleared to zero,
then the SMART EXECUTE OFF-LINE IMMEDIATE command is not implemented by this device.
− Bit 2 (abort/restart off-line by host bit) - If this bit is set to one, then the device shall abort all off-line data
collection activity initiated by an SMART EXECUTE OFF-LINE IMMEDIATE command upon receipt of a
new command within 2 seconds of receiving the new command. If this bit is cleared to zero, the device
shall suspend off-line data collection activity after an interrupting command and resume off-line data
collection activity after some vendor-specified event.
− Bit 3 (off-line read scanning implemented bit) - If this bit is cleared to zero, the device does not support
off-line read scanning. If this bit is set to one, the device supports off-line read scanning.
− Bit 4 (self-test implemented bit) - If this bit is cleared to zero, the device does not implement the Short
and Extended self-test routines. If this bit is set to one, the device implements the Short and Extended
self-test routines.
− Bit 5 (conveyance self-test implemented bit) - If this bit is cleared to zero, the device does not implement
the Conveyance self-test routines. If this bit is set to one, the device implements the Conveyance self-
test routines.
− Bit 6 (Selective self-test implemented bit) - If this bit is cleared to zero, the device does not implement the
Selective self-test routine. If this bit is set to one, the device implements the Selective self-test routine.
Page 288
T13/1532D Volume 1 Revision 4b
− Bit 7 (Reserved).
The following describes the definition for the SMART capabilities bits.
− Bit 0 - If this bit is set to one, the device saves SMART data prior to going into a power saving mode
(Idle, Standby, or Sleep) or immediately upon return to Active or Idle mode from a Standby mode. If this
bit is cleared to zero, the device does not save SMART data prior to going into a power saving mode
(Idle, Standby, or Sleep) or immediately upon return to Active or Idle mode from a Standby mode.
− Bit 1 - This bit shall be set to one to indicate that the device supports the SMART ENABLE/DISABLE
ATTRIBUTE AUTOSAVE command.
The self-test routine recommended polling time shall be equal to the number of minutes that is the minimum
recommended time before which the host should first poll for test completion status. Actual test time could
be several times this value. Polling before this time could extend the self-test execution time or abort the test
depending on the state of bit 2 of the off-line data capability bits.
The data structure checksum is the two's complement of the sum of the first 511 bytes in the data structure.
Each byte shall be added with unsigned arithmetic, and overflow shall be ignored. The sum of all 512 bytes
will be zero when the checksum is correct. The checksum is placed in byte 511.
6.54.6.3 Protocol
6.54.6.4 Inputs
The Features register shall be set to D5h. The Sector Count register shall specify the number of sectors to
be read from the log number specified by the LBA Low register. The LBA Mid register shall be set to 4Fh.
The LBA High register shall be set to C2h.
Page 289
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Features D5h
Sector Count Number of sectors to be read
LBA Low Log address
LBA Mid 4Fh
LBA High C2h
Device obs na obs DEV na
Command B0h
Sector count -specifies the number of sectors to be read from the specified log. The log transferred by the
drive shall start at the first sector in the specified log, regardless of the sector count requested.
LBA Low - specifies the log to be returned as described in Table 52. If this command is implemented, all
address values for which the contents are defined shall be implemented and all address values defined
as host vendor specific shall be implemented. The host vendor specific logs may be used by the host
to store any data desired. If a host vendor specific log has never been written by the host, when read
the content of the log shall be zeros. Device vendor specific logs may be used by the device vendor to
store any data and need only be implemented if used.
NOTE - Log addresses 03h, 07h, 20h, 21h , 22h, and 23h are used by the READ LOG
EXT and WRITE LOG EXT commands. If these log addresses are used with the
SMART READ LOG command, the device shall return command aborted.
Device register -
DEV shall specify the selected device.
Page 290
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Features na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Status BSY DRDY DF na DRQ na na ERR
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one indicating that the device is capable of receiving any command.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
If the device does not support this command, if SMART is disabled, or if the values in the Features, LBA
Low, Sector Count, LBA Mid, or LBA High registers are invalid, the device shall return command aborted. If
the host issues a SMART READ LOG or SMART WRITE LOG command with a Sector Count value of zero,
the device shall return command aborted.
Register 7 6 5 4 3 2 1 0
Error na UNC na IDNF na ABRT na obs
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV Na
Status BSY DRDY DF na DRQ na na ERR
Error register -
UNC shall be set to one if SMART log sector is uncorrectable.
IDNF shall be set to one if SMART log sector’s ID field was not found or data structure checksum
error occurred.
ABRT shall be set to one if this command is not supported, if SMART is not enabled, if the log sector
address is not implemented, if the Sector Count value is zero, or if other register values are
invalid. ABRT may be set to one if the device is not able to complete the action requested by
the command.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one indicating that the device is capable of receiving any command.
DF (Device Fault) shall be set to one indicating that a device fault has occurred.
DRQ shall be cleared to zero indicating that there is no data to be transferred.
ERR shall be set to one if any Error register bit is set to one.
6.54.6.7 Prerequisites
Page 291
T13/1532D Volume 1 Revision 4b
6.54.6.8 Description
Table 53 defines the 512 bytes that make up the SMART Log Directory, which is optional. If implemented,
the SMART Log Directory is SMART Log address zero, and is defined as one sector long.
The value of the SMART Logging Version word shall be 01h if the drive supports multi-sector SMART logs.
In addition, if the drive supports multi-sector logs, then the logs at log addresses 80-9Fh shall each be
defined as 16 sectors long.
If the drive does not support multi-sector SMART logs, then log number zero is defined as reserved, and the
drive shall return a command aborted response to the host’s request to read log number zero.
Table 54 defines the 512 bytes that make up the SMART summary error log sector. All multi-byte fields
shown in this structure follow the byte ordering described in Volume 1, Clause 3. Summary error log data
structures shall include UNC errors, IDNF errors for which the address requested was valid, servo errors,
write fault errors, etc. Summary error log data structures 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 invalid addresses. If the device supports comprehensive error log (address 02h), then the
summary error log sector duplicates the last five error entries in the comprehensive error log. The summary
error log supports 28-bit addressing only.
The value of the SMART summary error log version byte shall be 01h.
Page 292
T13/1532D Volume 1 Revision 4b
The error log index indicates the error log data structure representing the most recent error. Only values 5
through 0 are valid. If there are no error log entries, the value of the error log index shall be zero.
An error log data structure shall be presented for each of the last five errors reported by the device. These
error log data structure entries are viewed as a circular buffer. That is, the first error shall create the first error
log data structure; the second error, the second error log structure; etc. The sixth error shall create an error
log data structure that replaces the first error log data structure; the seventh error replaces the second error
log structure, etc. The error log pointer indicates the most recent error log structure. If fewer than five errors
have occurred, the unused error log structure entries shall be zero filled. Table 55 describes the content of a
valid error log data structure.
The fifth command data structure shall contain the command or reset for which the error is being reported.
The fourth command data structure should contain the command or reset that preceded the command or
reset for which the error is being reported, the third command data structure should contain the command or
reset preceding the one in the fourth command data structure, etc. If fewer than four commands and resets
preceded the command or reset for which the error is being reported, the unused command data structures
shall be zero filled, for example, if only three commands and resets preceded the command or reset for
which the error is being reported, the first command data structure shall be zero filled. In some devices, the
hardware implementation may preclude the device from reporting the commands that preceded the
command for which the error is being reported or that preceded a reset. In this case, the command data
structures are zero filled.
If the command data structure represents a command or software reset, the content of the command data
structure shall be as shown in Table 56. If the command data structure represents a hardware reset, the
content of byte n shall be FFh, the content of bytes n+1 through n+7 are vendor specific, and the content of
bytes n+8 through n+11 shall contain the timestamp.
Page 293
T13/1532D Volume 1 Revision 4b
Timestamp shall be the time since power-on in milliseconds when command acceptance occurred. This
timestamp may wrap around.
The error data structure shall contain the error description of the command for which an error was reported
as described in Table 57. If the error was logged for a hardware reset, the content of bytes n+1 through n+7
shall be vendor specific and the remaining bytes shall be as defined in Table 57.
State shall contain a value indicating the state of the device when command was written to the Command
register or the reset occurred as described in Table 58.
Page 294
T13/1532D Volume 1 Revision 4b
Sleep indicates the reset for which the error is being reported was received when the device was in the
Sleep mode.
Standby indicates the command or reset for which the error is being reported was received when the device
was in the Standby mode.
Active/Idle with BSY cleared to zero indicates the command or reset for which the error is being reported was
received when the device was in the Active or Idle mode and BSY was cleared to zero.
Executing SMART off-line or self-test indicates the command or reset for which the error is being reported
was received when the device was in the process of executing a SMART off-line or self-test.
Life timestamp shall contain the power-on lifetime of the device in hours when command completion
occurred.
The device error count field shall contain the total number of errors attributable to the device that have been
reported by the device during the life of the device. These errors shall include UNC errors, IDNF errors for
which the address requested was valid, servo errors, write fault errors, etc. This count shall not include errors
attributed to the receipt of faulty commands such as commands codes not implemented by the device or
requests with invalid parameters or invalid addresses. If the maximum value for this field is reached, the
count shall remain at the maximum value when additional errors are encountered and logged.
The data structure checksum is the two's complement of the sum of the first 511 bytes in the data structure.
Each byte shall be added with unsigned arithmetic, and overflow shall be ignored. The sum of all 512 bytes
will be zero when the checksum is correct. The checksum is placed in byte 511.
Table 59 defines the format of each of the sectors that comprise the SMART comprehensive error log. The
SMART Comprehensive error log provides logging for 28-bit addressing only. For 48-bit addressing See
6.31.8.2. The maximum size of the SMART comprehensive error log shall be 51 sectors. Devices may
support fewer than 51 sectors. All multi-byte fields shown in this structure follow the byte ordering described
in volume 1, Clause 3. The comprehensive error log data structures shall include UNC errors, IDNF errors for
which the address requested was valid, servo errors, write fault errors, etc. Comprehensive error log data
structures shall not include errors attributed to the receipt of faulty commands such as command codes not
supported by the device or requests with invalid parameters or invalid addresses.
Page 295
T13/1532D Volume 1 Revision 4b
The value of the error log version byte shall be set to 01h.
The error log index indicates the error log data structure representing the most recent error. If there have
been no error log entries, the error log index is set to zero. Valid values for the error log index are zero to
255.
The error log is viewed as a circular buffer. The device may support from two to 51 error log sectors. When
the last supported error log sector has been filled, the next error shall create an error log data structure that
replaces the first error log data structure in sector zero. The next error after that shall create an error log data
structure that replaces the second error log data structure in sector zero. The sixth error after the log has
filled shall replace the first error log data structure in sector one, and so on.
The error log index indicates the most recent error log data structure. Unused error log data structures shall
be filled with zeros.
The content of the error log data structure entries is defined in 6.54.6.8.2.3.
Table 60 defines the 512 bytes that make up the SMART self-test log sector. All multi-byte fields shown in
this structure follow the byte ordering described in Volume 1, Clause 3. The self-test log sector supports 28-
bit addressing only.
This log is viewed as a circular buffer. The first entry shall begin at byte 2, the second entry shall begin at
byte 26, and so on until the twenty-second entry, that shall replace the first entry. Then, the twenty-third
entry shall replace the second entry, and so on. If fewer than 21 self-tests have been performed by the
device, the unused descriptor entries shall be filled with zeroes.
Page 296
T13/1532D Volume 1 Revision 4b
The value of the self-test log data structure revision number shall be 0001h.
Content of the LBA Low register shall be the content of the LBA Low register when the nth self-test
subcommand was issued (See 6.54.4.8).
Content of the self-test execution status byte shall be the content of the self-test execution status byte when
the nth self-test was completed (See 6.54.5.10).
Life timestamp shall contain the power-on lifetime of the device in hours when the nth self-test subcommand
was completed.
Content of the self-test failure checkpoint byte may contain additional information about the self-test that
failed.
The failing LBA shall be the LBA of the uncorrectable sector that caused the test to fail. If the device
encountered more than one uncorrectable sector during the test, this field shall indicate the LBA of the first
uncorrectable sector encountered. If the test passed or the test failed for some reason other than an
uncorrectable sector, the value of this field is undefined.
The self-test index shall point to the most recent entry. Initially, when the log is empty, the index shall be set
to zero. It shall be set to one when the first entry is made, two for the second entry, etc., until the 22nd entry,
when the index shall be reset to one.
The data structure checksum is the two's complement of the sum of the first 511 bytes in the data structure.
Each byte shall be added with unsigned arithmetic, and overflow shall be ignored. The sum of all 512 bytes
is zero when the checksum is correct. The checksum is placed in byte 511.
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. Table 62 defines the
content of the Selective self-test log.
Page 297
T13/1532D Volume 1 Revision 4b
The value of the data structure revision number filed shall be 01h. This value shall be written by the host and
returned unmodified by the device.
The Selective self-test log provides for the definition of up to five test spans. The starting LBA for each test
span is the LBA of the first sector tested in the test span and the ending LBA for each test span is the last
LBA tested in the test span. If the starting and ending LBA values for a test span are both zero, a test span is
not defined and not tested. These values shall be written by the host and returned unmodified by the device.
The Current LBA under test field shall be written with a value of zero by the host. As the self-test progresses,
the device shall modify this value to contain the beginning LBA of the 65,536 sector block currently being
tested. When the self-test including the off-line scan between test spans has been completed, a zero value is
placed in this field.
The Current span under test field shall be written with a value of zero by the host. As the self-test
progresses, the device shall modify this value to contain the test span number of the current span being
tested. If an off-line scan between test spans is selected, a value greater then five is placed in this field
during the off-line scan. When the self-test including the off-line scan between test spans has been
completed, a zero value is placed in this field.
The Feature flags define the features of Selective self-test to be executed (See Table 63).
Page 298
T13/1532D Volume 1 Revision 4b
Bit (1) shall be written by the host and returned unmodified by the device. Bits (4:3) shall be written as zeros
by the host and the device shall modify them as the test progresses.
The selective self-test pending time is the time in minutes from power-on to the resumption of the off-line
testing if the pending bit is set. At the expiration of this time, sets the active bit to one, and resumes the off-
line scan that had begun before power-down.
6.54.7.3 Protocol
6.54.7.4 Inputs
The Features register shall be set to DAh. The LBA Mid register shall be set to 4Fh. The LBA High register
shall be set to C2h.
Register 7 6 5 4 3 2 1 0
Features DAh
Sector Count na
LBA Low na
LBA Mid 4Fh
LBA High C2h
Device obs na obs DEV na na na na
Command B0h
Device register -
DEV shall specify the selected device.
Page 299
T13/1532D Volume 1 Revision 4b
If the device has not detected a threshold exceeded condition, the device sets the LBA Mid register to 4Fh
and the LBA High register to C2h. If the device has detected a threshold exceeded condition, the device sets
the LBA Mid register to F4h and the LBA High register to 2Ch.
Register 7 6 5 4 3 2 1 0
Error na
Sector Count na
LBA Low na
LBA Mid 4Fh or F4h
LBA High C2h or 2Ch
Device obs na obs DEV na na na na
Status BSY DRDY DF na DRQ na na ERR
LBA Mid -
4Fh if threshold not exceeded, F4h if threshold exceeded.
LBA High -
C2h if threshold not exceeded, 2Ch if threshold exceeded.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
If the device does not support this command, if SMART is disabled, or if the values in the Features, LBA Mid,
or LBA High registers are invalid, the device shall return command aborted.
Register 7 6 5 4 3 2 1 0
Error na na na na na ABRT na na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Status BSY DRDY DF na DRQ na na ERR
Error register -
ABRT shall be set to one if this command is not supported, if SMART is disabled, or if the input
register values are invalid. ABRT may be set to one if the device is not able to complete the
action requested by the command.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one.
Page 300
T13/1532D Volume 1 Revision 4b
6.54.7.7 Prerequisites
6.54.7.8 Description
This command causes the device to communicate the reliability status of the device to the host. If a threshold
exceeded condition is not detected by the device, the device shall set the LBA Mid register to 4Fh and the
LBA High register to C2h. If a threshold exceeded condition is detected by the device, the device shall set
the LBA Mid register to F4h and the LBA High register to 2Ch.
6.54.8.3 Protocol
6.54.8.4 Inputs
The Features register shall be set to D6h. The Sector Count register shall specify the number of sectors that
shall be written to the log number specified by the LBA Low register. The LBA Mid register shall be set to
4Fh. The LBA High register shall be set to C2h.
Register 7 6 5 4 3 2 1 0
Features D6h
Sector Count Number of sectors to be written
LBA Low Log sector address
LBA Mid 4Fh
LBA High C2h
Device obs na obs DEV na
Command B0h
Sector count -specifies the number of sectors that shall be written to the specified log. The log transferred to
the drive shall be stored by the drive starting at the first sector in the specified log.
LBA Low - specifies the log to be written as described in Table 52. If this command is implemented, all
address values defined as host vendor specific shall be implemented.
Device register -
DEV shall specify the selected device.
Page 301
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Features na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Status BSY DRDY DF na DRQ na na ERR
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one indicating that the device is capable of receiving any command.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
If the device does not support this command, if SMART is disabled, or if the values in the Features, LBA
Low, Sector Count, LBA Mid, or LBA High registers are invalid, the device shall return command aborted. If
the host attempts to write to a read only (RO) log address, the device shall return command aborted.
Register 7 6 5 4 3 2 1 0
Error na na na IDNF na ABRT na obs
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Status BSY DRDY DF na DRQ na na ERR
Error register -
IDNF shall be set to one if SMART log sector’s ID field could not be found.
ABRT shall be set to one if this command is not supported, if SMART is not enabled, if the log sector
address is not implemented, or if other register values are invalid. ABRT may be set to one if
the device is not able to complete the action requested by the command.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one indicating that the device is capable of receiving any command.
DF (Device Fault) shall be set to one indicating that a device fault has occurred.
DRQ shall be cleared to zero indicating that there is no data to be transferred.
ERR shall be set to one if any Error register bit is set to one.
6.54.8.7 Prerequisites
6.54.8.8 Description
This command writes an specified number of 512 byte data sectors to the specified log.
Page 302
T13/1532D Volume 1 Revision 4b
6.55 STANDBY
6.55.1 Command code
E2h
− This command is mandatory for devices not implementing the PACKET Command feature set.
− Power Management feature set is mandatory when power management is not implemented by
the PACKET command set implemented by the device.
− This command is mandatory when the Power Management feature set is implemented.
6.55.3 Protocol
6.55.4 Inputs
The value in the Sector Count register when the STANDBY command is issued shall determine the time
period programmed into the Standby timer. Table 19 defines these values.
Register 7 6 5 4 3 2 1 0
Features na
Sector Count Time period value
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Command E2h
Device register -
DEV shall specify the selected device.
Register 7 6 5 4 3 2 1 0
Error na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Status BSY DRDY DF na DRQ na na ERR
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
Page 303
T13/1532D Volume 1 Revision 4b
The device shall return command aborted if the device does not support the Power Management feature set.
Register 7 6 5 4 3 2 1 0
Error na na na na na ABRT na na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Status BSY DRDY DF na DRQ na na ERR
Error register -
ABRT shall be set to one if the Power Management feature set is not supported. ABRT may be set to
one if the device is not able to complete the action requested by the command.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one.
6.55.7 Prerequisites
6.55.8 Description
If the Sector Count register is non-zero then the Standby timer shall be enabled. The value in the Sector
Count register shall be used to determine the time programmed into the Standby timer (See Table 19).
If the Sector Count register is zero then the Standby timer is disabled.
Page 304
T13/1532D Volume 1 Revision 4b
E0h
− This command is mandatory for devices not implementing the PACKET Command feature set.
− Power Management feature set is mandatory when power management is not implemented by
the PACKET command set implemented by the device.
− This command is mandatory when the Power Management feature set is implemented.
6.56.3 Protocol
6.56.4 Inputs
Register 7 6 5 4 3 2 1 0
Features na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Command E0h
Device register -
DEV shall specify the selected device.
Register 7 6 5 4 3 2 1 0
Error na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Status BSY DRDY DF na DRQ na na ERR
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
Page 305
T13/1532D Volume 1 Revision 4b
The device shall return command aborted if the device does not support the Power Management feature set.
Register 7 6 5 4 3 2 1 0
Error na na na na na ABRT na na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Status BSY DRDY DF na DRQ na na ERR
Error register -
ABRT shall be set to one if the Power Management feature set is not supported. ABRT may be set to
one if the device is not able to complete the action requested by the command.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one.
6.56.7 Prerequisites
6.56.8 Description
This command causes the device to immediately enter the Standby mode.
Page 306
T13/1532D Volume 1 Revision 4b
E8h
− Optional for devices not implementing the PACKET Command feature set.
− Use prohibited for devices implementing the PACKET Command feature set.
6.57.3 Protocol
6.57.4 Inputs
Register 7 6 5 4 3 2 1 0
Features na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Command E8h
Device register -
DEV shall specify the selected device.
Register 7 6 5 4 3 2 1 0
Error na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Status BSY DRDY DF na DRQ na na ERR
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
The device shall return command aborted if the command is not supported.
Page 307
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error na na na na na ABRT na na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Status BSY DRDY DF na DRQ na na ERR
Error register -
ABRT shall be set to one if this command is not supported. ABRT may be set to one if the device is
not able to complete the action requested by the command.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one.
6.57.7 Prerequisites
6.57.8 Description
This command enables the host to write the contents of one sector in the device’s buffer.
The READ BUFFER and WRITE BUFFER commands shall be synchronized within the device such that
sequential WRITE BUFFER and READ BUFFER commands access the same 512 bytes within the buffer.
Page 308
T13/1532D Volume 1 Revision 4b
CAh
− Mandatory for devices not implementing the PACKET Command feature set.
− Use prohibited for devices implementing the PACKET Command feature set.
6.58.3 Protocol
6.58.4 Inputs
The LBA Mid, LBA High, Device, and LBA Low specify the starting sector address to be written. The Sector
Count register specifies the number of sectors to be transferred.
Register 7 6 5 4 3 2 1 0
Features na
Sector Count Sector count
LBA Low LBA (7:0)
LBA Mid LBA (15:8)
LBA High LBA (23:16)
Device obs LBA obs DEV LBA (27:24)
Command CAh
Sector Count -
number of sectors to be transferred. A value of 00h specifies that 256 sectors are to be transferred.
LBA Low -
starting LBA bits (7:0).
LBA Mid -
starting LBA bits (15:8).
LBA High -
starting LBA bits (23:16).
Device -
the LBA bit shall be set to one to specify the address is an LBA.
DEV shall specify the selected device.
bits (3:0) starting LBA bits (27:24).
Register 7 6 5 4 3 2 1 0
Error na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Status BSY DRDY DF na DRQ na na ERR
Page 309
T13/1532D Volume 1 Revision 4b
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
An unrecoverable error encountered during the execution of this command results in the termination of the
command. The Command Block registers contain the address of the sector where the first unrecoverable
error occurred. The amount of data transferred is indeterminate.
Register 7 6 5 4 3 2 1 0
Error ICRC WP MC IDNF MCR ABRT NM obs
Sector Count na
LBA Low LBA (7:0)
LBA Mid LBA (15:8)
LBA High LBA (23:16)
Device obs na obs DEV LBA (27:24)
Status BSY DRDY DF na DRQ na na ERR
Error register -
ICRC shall be set to one if an interface CRC error has occurred during an Ultra DMA data transfer.
The content of this bit is not applicable for Multiword DMA transfers.
WP shall be set to one if the media in a removable media device is write protected.
MC shall be set to one if the media in a removable media device changed since the issuance of the
last command. The device shall clear the device internal media change detected state.
IDNF shall be set to one if a user-accessible address could not be found. IDNF shall be set to one if
an address outside of the range of user-accessible addresses is requested if command
aborted is not returned.
MCR shall be set to one if a media change request has been detected by a removable media device.
This bit is only cleared by a GET MEDIA STATUS or a media access command.
ABRT shall be set to one if this command is not supported or if an error, including an ICRC error, has
occurred during an Ultra DMA data transfer. ABRT may be set to one if the device is not able
to complete the action requested by the command. ABRT shall be set to one if an address
outside of the range of user-accessible addresses is requested if IDNF is not set to one.
NM shall be set to one if no media is present in a removable media device.
LBA Low, LBA Mid, LBA High, Device -
shall be written with address of first unrecoverable error.
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one; however, if SE is set to one, ERR shall
be cleared to zero.
6.58.7 Prerequisites
DRDY set to one. The host shall initialize the DMA channel.
Page 310
T13/1532D Volume 1 Revision 4b
6.58.8 Description
The WRITE DMA command allows the host to write data using the DMA data transfer protocol.
Page 311
T13/1532D Volume 1 Revision 4b
35h
6.59.3 Protocol
6.59.4 Inputs
Register 7 6 5 4 3 2 1 0
Features Current Reserved
Previous Reserved
Sector Count Current Sector count (7:0)
Previous Sector count (15:8)
LBA Low Current LBA (7:0)
Previous LBA (31:24)
LBA Mid Current LBA (15:8)
Previous LBA (39:32)
LBA High Current LBA (23:16)
Previous LBA (47:40)
Device obs LBA obs DEV Reserved
Command 35h
NOTE − The value indicated as Current is the value most recently written to the register. The value
indicated as Previous is the value that was in the register before the most recent write to the register.
Page 312
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error na
Sector Count HOB = 0 Reserved
HOB = 1 Reserved
LBA Low HOB = 0 Reserved
HOB = 1 Reserved
LBA Mid HOB = 0 Reserved
HOB = 1 Reserved
LBA High HOB = 0 Reserved
HOB = 1 Reserved
Device obs na obs DEV Reserved
Status BSY DRDY DF na DRQ na na ERR
NOTE − HOB = 0 indicates the value read by the host when the HOB bit of the Device Control register is
cleared to zero. HOB = 1 Indicates the value read by the host when the HOB bit of the Device Control
register is set to one.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
An unrecoverable error encountered during the execution of this command results in the termination of the
command. The Command Block registers contain the address of the sector where the first unrecoverable
error occurred. The amount of data transferred is indeterminate.
Register 7 6 5 4 3 2 1 0
Error ICRC WP MC IDNF MCR ABRT NM obs
Sector Count HOB = 0 Reserved
HOB = 1 Reserved
LBA Low HOB = 0 LBA (7:0)
HOB = 1 LBA (31:24)
LBA Mid HOB = 0 LBA (15:8)
HOB = 1 LBA (39:32)
LBA High HOB = 0 LBA (23:16)
HOB = 1 LBA (47:40)
Device obs na obs DEV Reserved
Status BSY DRDY DF na DRQ na na ERR
NOTE − HOB = 0 indicates the value read by the host when the HOB bit of the Device Control register is
cleared to zero. HOB = 1 Indicates the value read by the host when the HOB bit of the Device Control
register is set to one.
Page 313
T13/1532D Volume 1 Revision 4b
Error register -
ICRC shall be set to one if an interface CRC error has occurred during an Ultra DMA data transfer.
The content of this bit is not applicable for Multiword DMA transfers.
WP shall be set to one if the media in a removable media device is write protected.
MC shall be set to one if the media in a removable media device changed since the issuance of the
last command. The device shall clear the device internal media change detected state.
IDNF shall be set to one if a user-accessible address could not be found IDNF shall be set to one if
an address outside of the range of user-accessible addresses is requested if command
aborted is not returned.
MCR shall be set to one if a media change request has been detected by a removable media device.
This bit is only cleared by a GET MEDIA STATUS or a media access command.
ABRT shall be set to one if this command is not supported or if an error, including an ICRC error, has
occurred during an Ultra DMA data transfer. ABRT may be set to one if the device is not able
to complete the action requested by the command. ABRT shall be set to one if an address
outside of the range of user-accessible addresses is requested if IDNF is not set to one.
NM shall be set to one if no media is present in a removable media device.
LBA Low -
LBA (7:0) of the address of the first unrecoverable error when read with Device Control register HOB
bit cleared to zero.
LBA (31:24) of the address of the first unrecoverable error when read with Device Control register
HOB bit set to one.
LBA Mid -
LBA (15:8) of the address of the first unrecoverable error when read with Device Control register
HOB bit cleared to zero.
LBA (39:32) of the address of the first unrecoverable error when read with Device Control
register HOB bit set to one.
LBA High -
LBA (23:16) of the address of the first unrecoverable error when read with Device Control register
HOB bit cleared to zero.
LBA (47:40) of the address of the first unrecoverable error when read with Device Control register
HOB bit set to one.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one. however, if SE is set to one, ERR shall
be cleared to zero.
6.59.7 Prerequisites
DRDY set to one. The host shall initialize the DMA channel.
6.59.8 Description
The WRITE DMA EXT command allows the host to write data using the DMA data transfer protocol.
Page 314
T13/1532D Volume 1 Revision 4b
3Dh
6.60.3 Protocol
6.60.4 Inputs
Register 7 6 5 4 3 2 1 0
Features Current Reserved
Previous Reserved
Sector Count Current Sector count (7:0)
Previous Sector count (15:8)
LBA Low Current LBA (7:0)
Previous LBA (31:24)
LBA Mid Current LBA (15:8)
Previous LBA (39:32)
LBA High Current LBA (23:16)
Previous LBA (47:40)
Device obs LBA obs DEV Reserved
Command 3Dh
NOTE − The value indicated as Current is the value most recently written to the register. The value
indicated as Previous is the value that was in the register before the most recent write to the register.
Page 315
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error na
Sector Count HOB = 0 Reserved
HOB = 1 Reserved
LBA Low HOB = 0 Reserved
HOB = 1 Reserved
LBA Mid HOB = 0 Reserved
HOB = 1 Reserved
LBA High HOB = 0 Reserved
HOB = 1 Reserved
Device obs na obs DEV Reserved
Status BSY DRDY DF na DRQ na na ERR
NOTE − HOB = 0 indicates the value read by the host when the HOB bit of the Device Control register is
cleared to zero. HOB = 1 Indicates the value read by the host when the HOB bit of the Device Control
register is set to one.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
An unrecoverable error encountered during the execution of this command results in the termination of the
command. The Command Block registers contain the address of the sector where the first unrecoverable
error occurred. The amount of data transferred is indeterminate.
Register 7 6 5 4 3 2 1 0
Error ICRC WP MC IDNF MCR ABRT NM obs
Sector Count HOB = 0 Reserved
HOB = 1 Reserved
LBA Low HOB = 0 LBA (7:0)
HOB = 1 LBA (31:24)
LBA Mid HOB = 0 LBA (15:8)
HOB = 1 LBA (39:32)
LBA High HOB = 0 LBA (23:16)
HOB = 1 LBA (47:40)
Device obs na obs DEV Reserved
Status BSY DRDY DF na DRQ na na ERR
NOTE − HOB = 0 indicates the value read by the host when the HOB bit of the Device Control register is
cleared to zero. HOB = 1 Indicates the value read by the host when the HOB bit of the Device Control
register is set to one.
Page 316
T13/1532D Volume 1 Revision 4b
Error register -
ICRC shall be set to one if an interface CRC error has occurred during an Ultra DMA data transfer.
The content of this bit is not applicable for Multiword DMA transfers.
WP shall be set to one if the media in a removable media device is write protected.
MC shall be set to one if the media in a removable media device changed since the issuance of the
last command. The device shall clear the device internal media change detected state.
IDNF shall be set to one if a user-accessible address could not be found IDNF shall be set to one if
an address outside of the range of user-accessible addresses is requested if command
aborted is not returned.
MCR shall be set to one if a media change request has been detected by a removable media device.
This bit is only cleared by a GET MEDIA STATUS or a media access command.
ABRT shall be set to one if this command is not supported or if an error, including an ICRC error, has
occurred during an Ultra DMA data transfer. ABRT may be set to one if the device is not able
to complete the action requested by the command. ABRT shall be set to one if an address
outside of the range of user-accessible addresses is requested if IDNF is not set to one.
NM shall be set to one if no media is present in a removable media device.
LBA Low -
LBA (7:0) of the address of the first unrecoverable error when read with Device Control register HOB
bit cleared to zero.
LBA (31:24) of the address of the first unrecoverable error when read with Device Control register
HOB bit set to one.
LBA Mid -
LBA (15:8) of the address of the first unrecoverable error when read with Device Control register
HOB bit cleared to zero.
LBA (39:32) of the address of the first unrecoverable error when read with Device Control
register HOB bit set to one.
LBA High -
LBA (23:16) of the address of the first unrecoverable error when read with Device Control register
HOB bit cleared to zero.
LBA (47:40) of the address of the first unrecoverable error when read with Device Control register
HOB bit set to one.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one.
6.60.7 Prerequisites
DRDY set to one. The host shall initialize the DMA channel.
6.60.8 Description
The WRITE DMA FUA EXT command provides the same function as the WRITE DMA EXT command except
that regardless of whether write caching in the device is enabled or not, the user data shall be written to the
media before ending status for the command is reported.
Page 317
T13/1532D Volume 1 Revision 4b
CCh
− Mandatory for devices implementing the Overlapped feature set and not implementing the
PACKET Command feature set.
− Use prohibited for devices implementing the PACKET Command feature set.
6.61.3 Protocol
6.61.4 Inputs
Register 7 6 5 4 3 2 1 0
Features Sector Count
Sector Count Tag na
LBA Low LBA (7:0)
LBA Mid LBA (15:8)
LBA High LBA (23:16)
Device obs LBA obs DEV LBA (27:24)
Command CCh
Features -
number of sectors to be transferred. A value of 00h specifies that 256 sectors are to be transferred.
Sector count -
if the device supports command queuing, bits (7:3) contain the Tag for the command being
delivered. A Tag value may be any value between 0 and 31 regardless of the queue depth
supported. If queuing is not supported, this field is not applicable.
LBA Low -
starting LBA bits (7:0).
LBA Mid -
starting LBA bits (15:8).
LBA High -
starting LBA bits (23:16).
Device -
the LBA bit shall be set to one to specify the address is an LBA.
DEV shall specify the selected device.
bits (3:0) starting LBA bits (27:24).
Data transfer may occur after receipt of the command or may occur after the receipt of a SERVICE
command. When the device is ready to transfer data requested by a data transfer command, the device sets
the following register content to initiate the data transfer.
Page 318
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error na
Sector Count Tag REL I/O C/D
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Status BSY DRDY DF SERV DRQ na na CHK
If the device performs a bus release before transferring data for this command, the register content upon
performing a bus release shall be as shown below.
Register 7 6 5 4 3 2 1 0
Error na
Sector Count Tag REL I/O C/D
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Status BSY DRDY DF SERV DRQ na na ERR
Page 319
T13/1532D Volume 1 Revision 4b
When the device is ready to transfer data or complete a command after the command has performed a bus
release, the device shall set the SERV bit and not change the state of any other register bit (See Clause 10).
When the SERVICE command is received, the device shall set outputs as described in data transfer,
command completion, or error outputs depending on the service the device requires.
When the transfer of all requested data has occurred without error, the register content shall be as shown
below.
Register 7 6 5 4 3 2 1 0
Error 00h
Sector Count Tag REL I/O C/D
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na
Status BSY DRDY DF SERV DRQ na na ERR
The Sector Count register contains the Tag for this command if the device supports command queuing. The
device shall return command aborted if the command is not supported. The device shall return command
aborted if the device supports command queuing and the Tag is invalid. An unrecoverable error
encountered during the execution of this command results in the termination of the command and the
Command Block registers contain the sector where the first unrecoverable error occurred. If a queue existed,
the unrecoverable error shall cause the queue to abort. The device may remain BSY for some time when
responding to these errors.
Page 320
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error ICRC WP MC IDNF MCR ABRT NM na
Sector Count Tag REL I/O C/D
LBA Low LBA (7:0)
LBA Mid LBA (15:8)
LBA High LBA (23:16)
Device obs na obs DEV LBA (27:24)
Status BSY DRDY DF SERV DRQ na na ERR
Error register -
ICRC shall be set to one if an interface CRC error has occurred during an Ultra DMA data transfer.
The content of this bit is not applicable for Multiword DMA transfers.
WP shall be set to one if the media in a removable media device is write protected.
MC shall be set to one if the media in a removable media device changed since the issuance of the
last command. The device shall clear the device internal media change detected state.
IDNF shall be set to one if a user-accessible address could not be. IDNF shall be set to one if an
address outside of the range of user-accessible addresses is requested if command aborted
is not returned.
MCR shall be set to one if a media change request has been detected by a removable media device.
This bit is only cleared by a GET MEDIA STATUS or a media access command.
ABRT shall be set to one if this command is not supported or if an error, including an ICRC error, has
occurred during an Ultra DMA data transfer. ABRT may be set to one if the device is not able
to complete the action requested by the command. ABRT shall be set to one if an address
outside of the range of user-accessible addresses is requested if IDNF is not set to one.
NM shall be set to one if no media is present in a removable media device.
Sector Count register -
Tag - If the device supports command queuing, this field shall contain the Tag of the completed
command. If the device does not support command queuing, this field shall be zeros.
REL shall be cleared to zero.
I/O shall be set to one.
C/D shall be set to one.
LBA Low, LBA Mid, LBA High, Device -
shall be written with the address of first unrecoverable error.
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
SERV (Service) shall be cleared to zero when no other queued command is ready for service. SERV
shall be set to one when another queued command is ready for service.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one.
6.61.7 Prerequisites
DRDY set to one. The host shall initialize the DMA channel.
6.61.8 Description
This command executes in a similar manner to a WRITE DMA command. The device may perform a bus
release the bus or may execute the data transfer without performing a bus release if the data is ready to
transfer.
If the device performs a bus release, the host shall reselect the device using the SERVICE command.
Once the data transfer is begun, the device shall not perform a bus release until the entire data transfer has
been completed.
Page 321
T13/1532D Volume 1 Revision 4b
36h
− Mandatory for devices implementing the Overlapped feature set and the 48-bit Address feature
set and not implementing the PACKET Command feature set.
− Use prohibited for devices implementing the PACKET Command feature set.
6.62.3 Protocol
6.62.4 Inputs
Register 7 6 5 4 3 2 1 0
Features Current Sector count (7:0)
Previous Sector count (15:8)
Sector Count Current Tag Reserved
Previous Reserved
LBA Low Current LBA (7:0)
Previous LBA (31:24)
LBA Mid Current LBA (15:8)
Previous LBA (39:32)
LBA High Current LBA (23:16)
Previous LBA (47:40)
Device obs LBA obs DEV Reserved
Command 36h
NOTE − The value indicated as Current is the value most recently written to the register. The value
indicated as Previous is the value that was in the register before the most recent write to the register.
Features Current -
number of sectors to be transferred low order, bits (7:0).
Features Previous -
number of sectors to be transferred high order, bits (15:8). 0000h in the Features register specifiess
that 65,536 sectors are to be transferred.
Sector Count Current -
if the device supports command queuing, bits (7:3) contain the Tag for the command being
delivered. A Tag value may be any value between 0 and 31 regardless of the queue depth
supported. If queuing is not supported, this register shall be set to the value 00h.
Sector Count Previous -
Reserved
LBA Low Current -
LBA (7:0).
LBA Low Previous -
LBA (31:24).
LBA Mid Current -
LBA (15:8).
LBA Mid Previous -
LBA (39:32).
LBA High Current -
Page 322
T13/1532D Volume 1 Revision 4b
LBA (23:16).
LBA High Previous -
LBA (47:40).
Device -
the LBA bit shall be set to one to specify the address is an LBA.
DEV shall specify the selected device.
Data transfer may occur after receipt of the command or may occur after the receipt of a SERVICE
command. When the device is ready to transfer data requested by a data transfer command, the device sets
the following register content to initiate the data transfer.
Register 7 6 5 4 3 2 1 0
Error na
Sector Count HOB = 0 Tag REL I/O C/D
HOB = 1 Reserved
LBA Low HOB = 0 Reserved
HOB = 1 Reserved
LBA Mid HOB = 0 Reserved
HOB = 1 Reserved
LBA High HOB = 0 Reserved
HOB = 1 Reserved
Device obs na obs DEV Reserved
Status BSY DRDY DF na DRQ na na ERR
NOTE − HOB = 0 indicates the value read by the host when the HOB bit of the Device Control register is
cleared to zero. HOB = 1 Indicates the value read by the host when the HOB bit of the Device Control
register is set to one.
Sector Count (when HOB of the Device Control register is cleared to zero) -
Tag -This field contains the command Tag for the command. A Tag value may be any value between
0 and 31 regardless of the queue depth supported. If the device does not support command
queuing or overlap is disabled, this register shall be set to the value 00h.
REL - Shall be cleared to zero.
I/O - Shall be cleared to zero indicating the transfer is from the host.
C/D - Shall be cleared to zero indicating the transfer of data.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
If the device performs a bus release before transferring data for this command, the register content upon
performing a bus release shall be as shown below.
Page 323
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error na
Sector Count HOB = 0 Tag REL I/O C/D
HOB = 1 Reserved
LBA Low HOB = 0 Reserved
HOB = 1 Reserved
LBA Mid HOB = 0 Reserved
HOB = 1 Reserved
LBA High HOB = 0 Reserved
HOB = 1 Reserved
Device obs na obs DEV Reserved
Status BSY DRDY DF SERV DRQ na na ERR
NOTE − HOB = 0 indicates the value read by the host when the HOB bit of the Device Control register is
cleared to zero. HOB = 1 Indicates the value read by the host when the HOB bit of the Device Control
register is set to one.
Sector Count (when HOB of the Device Control register is cleared to zero) -
Tag -This field contains the command Tag for the command. A Tag value may be any value between
0 and 31 regardless of the queue depth supported. If the device does not support command
queuing or overlap is disabled, this register shall be set to the value 00h.
REL - Shall be set to one.
I/O - Shall be cleared to zero.
C/D - Shall be cleared to zero indicating the transfer of data.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
SERV (Service) shall be cleared to zero when no other queued command is ready for service. SERV
shall be set to one when another queued command is ready for service. SERV shall be set
to one when the device has prepared this command for service.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
When the device is ready to transfer data or complete a command after the command has performed a bus
release, the device shall set the SERV bit to one and not change the state of any other register bit (See
Clause 10). When the SERVICE command is received, the device shall set outputs as described in data
transfer, command completion, or error outputs depending on the service the device requires.
When the transfer of all requested data has occurred without error, the register content shall be as shown
below.
Page 324
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error na
Sector Count HOB = 0 Tag REL I/O C/D
HOB = 1 Reserved
LBA Low HOB = 0 Reserved
HOB = 1 Reserved
LBA Mid HOB = 0 Reserved
HOB = 1 Reserved
LBA High HOB = 0 Reserved
HOB = 1 Reserved
Device obs na obs DEV Reserved
Status BSY DRDY DF SERV DRQ na na ERR
NOTE − HOB = 0 indicates the value read by the host when the HOB bit of the Device Control register is
cleared to zero. HOB = 1 Indicates the value read by the host when the HOB bit of the Device Control
register is set to one.
Sector Count (when HOB of the Device Control register is cleared to zero) -
Tag -This field contains the command Tag for the command. A Tag value may be any value between
0 and 31 regardless of the queue depth supported. If the device does not support command
queuing or overlap is disabled, this register shall be set to the value 00h.
REL - Shall be cleared to zero.
I/O - Shall be set to one.
C/D - Shall be set to one.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
SERV (Service) shall be cleared to zero when no other queued command is ready for service. SERV
shall be set to one when another queued command is ready for service.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
The Sector Count register contains the Tag for this command if the device supports command queuing. The
device shall return command aborted if the command is not supported or if the device has not had
overlapped interrupt enabled. The device shall return command aborted if the device supports command
queuing and the Tag is invalid. An unrecoverable error encountered during the execution of this command
results in the termination of the command and the Command Block registers contain the sector where the
first unrecoverable error occurred. If a queue existed, the unrecoverable error shall cause the queue to abort.
Page 325
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error ICRC WP MC IDNF MCR ABRT NM obs
Sector Count HOB = 0 Tag REL I/O C/D
HOB = 1 Reserved
LBA Low HOB = 0 LBA (7:0)
HOB = 1 LBA (31:24)
LBA Mid HOB = 0 LBA (15:8)
HOB = 1 LBA (39:32)
LBA High HOB = 0 LBA (23:16)
HOB = 1 LBA (47:40)
Device obs na obs DEV Reserved
Status BSY DRDY DF SERV DRQ na na ERR
NOTE − HOB = 0 indicates the value read by the host when the HOB bit of the Device Control register is
cleared to zero. HOB = 1 Indicates the value read by the host when the HOB bit of the Device Control
register is set to one.
Error register -
ICRC shall be set to one if an interface CRC error has occurred during an Ultra DMA data transfer.
The content of this bit is not applicable for Multiword DMA transfers.
WP shall be set to one if the media in a removable media device is write protected.
MC shall be set to one if the media in a removable media device changed since the issuance of the
last command. The device shall clear the device internal media change detected state.
IDNF shall be set to one if a user-accessible address could not be found. IDNF shall be set to one if
an address outside of the range of user-accessible addresses is requested if command
aborted is not returned.
MCR shall be set to one if a media change request has been detected by a removable media device.
This bit is only cleared by a GET MEDIA STATUS or a media access command.
ABRT shall be set to one if this command is not supported or if an error, including an ICRC error, has
occurred during an Ultra DMA data transfer. ABRT may be set to one if the device is not able
to complete the action requested by the command. ABRT shall be set to one if an address
outside of the range of user-accessible addresses is requested if IDNF is not set to one.
NM shall be set to one if no media is present in a removable media device.
Sector Count (when HOB of the Device Control register is cleared to zero) -
Tag -This field contains the command Tag for the command. A Tag value may be any value between
0 and 31 regardless of the queue depth supported. If the device does not support command
queuing or overlap is disabled, this register shall be set to the value 00h.
REL - Shall be cleared to zero.
I/O - Shall be set to one.
C/D - Shall be set to one.
LBA Low -
LBA (7:0) of the address of the first unrecoverable error when read with Device Control register HOB
bit cleared to zero.
LBA (31:24) of the address of the first unrecoverable error when read with Device Control register
HOB bit set to one.
LBA Mid -
LBA (15:8) of the address of the first unrecoverable error when read with Device Control register
HOB bit cleared to zero.
LBA (39:32) of the address of the first unrecoverable error when read with Device Control
register HOB bit set to one.
LBA High -
LBA (23:16) of the address of the first unrecoverable error when read with Device Control register
HOB bit cleared to zero.
LBA (47:40) of the address of the first unrecoverable error when read with Device Control register
HOB bit set to one.
Device register -
DEV shall indicate the selected device.
Status register -
Page 326
T13/1532D Volume 1 Revision 4b
6.62.7 Prerequisites
DRDY set to one. The host shall initialize the DMA channel.
6.62.8 Description
This command executes in a similar manner to a WRITE DMA EXT command. The device may perform a
bus release the bus or may execute the data transfer without performing a bus release if the data is ready to
transfer.
If the device performs a bus release, the host shall reselect the device using the SERVICE command.
Once the data transfer is begun, the device shall not perform a bus release until the entire data transfer has
been completed.
Page 327
T13/1532D Volume 1 Revision 4b
3Eh
− Mandatory for devices implementing the Overlapped feature set and the 48-bit Address feature
set and not implementing the PACKET Command feature set.
− Use prohibited for devices implementing the PACKET Command feature set.
6.63.3 Protocol
6.63.4 Inputs
Register 7 6 5 4 3 2 1 0
Features Current Sector count (7:0)
Previous Sector count (15:8)
Sector Count Current Tag Reserved
Previous Reserved
LBA Low Current LBA (7:0)
Previous LBA (31:24)
LBA Mid Current LBA (15:8)
Previous LBA (39:32)
LBA High Current LBA (23:16)
Previous LBA (47:40)
Device obs LBA obs DEV Reserved
Command 3Eh
NOTE − The value indicated as Current is the value most recently written to the register. The value
indicated as Previous is the value that was in the register before the most recent write to the register.
Features Current -
number of sectors to be transferred low order, bits (7:0).
Features Previous -
number of sectors to be transferred high order, bits (15:8). 0000h in the Features register specifies
that 65,536 sectors are to be transferred.
Sector Count Current -
if the device supports command queuing, bits (7:3) contain the Tag for the command being
delivered. A Tag value may be any value between 0 and 31 regardless of the queue depth
supported. If queuing is not supported, this register shall be set to the value 00h.
Sector Count Previous -
Reserved
LBA Low Current -
LBA (7:0).
LBA Low Previous -
LBA (31:24).
LBA Mid Current -
LBA (15:8).
LBA Mid Previous -
LBA (39:32).
LBA High Current -
Page 328
T13/1532D Volume 1 Revision 4b
LBA (23:16).
LBA High Previous -
LBA (47:40).
Device -
the LBA bit shall be set to one to specify the address is an LBA.
DEV shall specify the selected device.
Data transfer may occur after receipt of the command or may occur after the receipt of a SERVICE
command. When the device is ready to transfer data requested by a data transfer command, the device sets
the following register content to initiate the data transfer.
Register 7 6 5 4 3 2 1 0
Error na
Sector Count HOB = 0 Tag REL I/O C/D
HOB = 1 Reserved
LBA Low HOB = 0 Reserved
HOB = 1 Reserved
LBA Mid HOB = 0 Reserved
HOB = 1 Reserved
LBA High HOB = 0 Reserved
HOB = 1 Reserved
Device obs na obs DEV Reserved
Status BSY DRDY DF na DRQ na na ERR
NOTE − HOB = 0 indicates the value read by the host when the HOB bit of the Device Control register is
cleared to zero. HOB = 1 Indicates the value read by the host when the HOB bit of the Device Control
register is set to one.
Sector Count (when HOB of the Device Control register is cleared to zero) -
Tag -This field contains the command Tag for the command. A Tag value may be any value between
0 and 31 regardless of the queue depth supported. If the device does not support command
queuing or overlap is disabled, this register shall be set to the value 00h.
REL - Shall be cleared to zero.
I/O - Shall be cleared to zero indicating the transfer is from the host.
C/D - Shall be cleared to zero indicating the transfer of data.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
If the device performs a bus release before transferring data for this command, the register content upon
performing a bus release shall be as shown below.
Page 329
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error na
Sector Count HOB = 0 Tag REL I/O C/D
HOB = 1 Reserved
LBA Low HOB = 0 Reserved
HOB = 1 Reserved
LBA Mid HOB = 0 Reserved
HOB = 1 Reserved
LBA High HOB = 0 Reserved
HOB = 1 Reserved
Device obs na obs DEV Reserved
Status BSY DRDY DF SERV DRQ na na ERR
NOTE − HOB = 0 indicates the value read by the host when the HOB bit of the Device Control register is
cleared to zero. HOB = 1 Indicates the value read by the host when the HOB bit of the Device Control
register is set to one.
Sector Count (when HOB of the Device Control register is cleared to zero) -
Tag -This field contains the command Tag for the command. A Tag value may be any value between
0 and 31 regardless of the queue depth supported. If the device does not support command
queuing or overlap is disabled, this register shall be set to the value 00h.
REL - Shall be set to one.
I/O - Shall be cleared to zero.
C/D - Shall be cleared to zero indicating the transfer of data.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
SERV (Service) shall be cleared to zero when no other queued command is ready for service. SERV
shall be set to one when another queued command is ready for service. SERV shall be set
to one when the device has prepared this command for service.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
When the device is ready to transfer data or complete a command after the command has performed a bus
release, the device shall set the SERV bit to one and not change the state of any other register bit (See
Clause 10). When the SERVICE command is received, the device shall set outputs as described in data
transfer, command completion, or error outputs depending on the service the device requires.
When the transfer of all requested data has occurred without error, the register content shall be as shown
below.
Page 330
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error na
Sector Count HOB = 0 Tag REL I/O C/D
HOB = 1 Reserved
LBA Low HOB = 0 Reserved
HOB = 1 Reserved
LBA Mid HOB = 0 Reserved
HOB = 1 Reserved
LBA High HOB = 0 Reserved
HOB = 1 Reserved
Device obs na obs DEV Reserved
Status BSY DRDY DF SERV DRQ na na ERR
NOTE − HOB = 0 indicates the value read by the host when the HOB bit of the Device Control register is
cleared to zero. HOB = 1 Indicates the value read by the host when the HOB bit of the Device Control
register is set to one.
Sector Count (when HOB of the Device Control register is cleared to zero) -
Tag -This field contains the command Tag for the command. A Tag value may be any value between
0 and 31 regardless of the queue depth supported. If the device does not support command
queuing or overlap is disabled, this register shall be set to the value 00h.
REL - Shall be cleared to zero.
I/O - Shall be set to one.
C/D - Shall be set to one.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
SERV (Service) shall be cleared to zero when no other queued command is ready for service. SERV
shall be set to one when another queued command is ready for service.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
The Sector Count register contains the Tag for this command if the device supports command queuing. The
device shall return command aborted if the command is not supported or if the device has not had
overlapped interrupt enabled. The device shall return command aborted if the device supports command
queuing and the Tag is invalid. An unrecoverable error encountered during the execution of this command
results in the termination of the command and the Command Block registers contain the sector where the
first unrecoverable error occurred. If a queue existed, the unrecoverable error shall cause the queue to abort.
Page 331
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error ICRC WP MC IDNF MCR ABRT NM obs
Sector Count HOB = 0 Tag REL I/O C/D
HOB = 1 Reserved
LBA Low HOB = 0 LBA (7:0)
HOB = 1 LBA (31:24)
LBA Mid HOB = 0 LBA (15:8)
HOB = 1 LBA (39:32)
LBA High HOB = 0 LBA (23:16)
HOB = 1 LBA (47:40)
Device obs na obs DEV Reserved
Status BSY DRDY DF SERV DRQ na na ERR
NOTE − HOB = 0 indicates the value read by the host when the HOB bit of the Device Control register is
cleared to zero. HOB = 1 Indicates the value read by the host when the HOB bit of the Device Control
register is set to one.
Error register -
ICRC shall be set to one if an interface CRC error has occurred during an Ultra DMA data transfer.
The content of this bit is not applicable for Multiword DMA transfers.
WP shall be set to one if the media in a removable media device is write protected.
MC shall be set to one if the media in a removable media device changed since the issuance of the
last command. The device shall clear the device internal media change detected state.
IDNF shall be set to one if a user-accessible address could not be found. IDNF shall be set to one if
an address outside of the range of user-accessible addresses is requested if command
aborted is not returned.
MCR shall be set to one if a media change request has been detected by a removable media device.
This bit is only cleared by a GET MEDIA STATUS or a media access command.
ABRT shall be set to one if this command is not supported or if an error, including an ICRC error, has
occurred during an Ultra DMA data transfer. ABRT may be set to one if the device is not able
to complete the action requested by the command. ABRT shall be set to one if an address
outside of the range of user-accessible addresses is requested if IDNF is not set to one.
NM shall be set to one if no media is present in a removable media device.
Sector Count (when HOB of the Device Control register is cleared to zero) -
Tag -This field contains the command Tag for the command. A Tag value may be any value between
0 and 31 regardless of the queue depth supported. If the device does not support command
queuing or overlap is disabled, this register shall be set to the value 00h.
REL - Shall be cleared to zero.
I/O - Shall be set to one.
C/D - Shall be set to one.
LBA Low -
LBA (7:0) of the address of the first unrecoverable error when read with Device Control register HOB
bit cleared to zero.
LBA (31:24) of the address of the first unrecoverable error when read with Device Control register
HOB bit set to one.
LBA Mid -
LBA (15:8) of the address of the first unrecoverable error when read with Device Control register
HOB bit cleared to zero.
LBA (39:32) of the address of the first unrecoverable error when read with Device Control
register HOB bit set to one.
LBA High -
LBA (23:16) of the address of the first unrecoverable error when read with Device Control register
HOB bit cleared to zero.
LBA (47:40) of the address of the first unrecoverable error when read with Device Control register
HOB bit set to one.
Device register -
DEV shall indicate the selected device.
Status register -
Page 332
T13/1532D Volume 1 Revision 4b
6.63.8 Prerequisites
DRDY set to one. The host shall initialize the DMA channel.
6.63.9 Description
This command executes in a similar manner to a WRITE DMA EXT command. The device may perform a
bus release or may execute the data transfer without performing a bus release if the data is ready to transfer.
If the device performs a bus release, the host shall reselect the device using the SERVICE command.
Once the data transfer is begun, the device shall not perform a bus release until the entire data transfer has
been completed.
The WRITE DMA QUEUED FUA EXT command provides the same function as the WRITE DMA EXT
command. It is an Overlapped feature set command and when issued it shall not cause an existing queue to
be aborted. However, regardless of whether write caching in the device is enabled or not, the user data shall
be written to the media before ending status for the command is reported.
Page 333
T13/1532D Volume 1 Revision 4b
3Fh
6.64.3 Protocol
6.64.4 Inputs
Register 7 6 5 4 3 2 1 0
Features Current Reserved
Previous Reserved
Sector Count Current Sector count (7:0)
Previous Sector count (15:8)
LBA Low Current Log address
Previous Reserved
LBA Mid Current Sector offset (7:0)
Previous Sector offset (15:8)
LBA High Current Reserved
Previous Reserved
Device/Head obs na obs DEV Reserved
Command 3Fh
NOTE - The value indicated as Current is the value most recently written to the register. The value
indicated as Previous is the value that was in the register before the most recent write to the register.
Sector Count - Specifies the number of sectors that shall be written to the specified log. If the number is
greater than the number indicated in the Log directory (which is available in Log number zero), the
device shall return command aborted. The log transferred to the drive shall be stored by the drive
starting at the first sector in the specified log.
LBA Low - Specifies the log to be written as described in Table 20. A device may support a subset of the
available logs. Support for individual logs is determined by support for the associated feature set.
Support of the associated log(s) is mandatory for devices implementing the associated feature set. If
this command is implemented, all address values defined as host vendor specific shall be
implemented. These host vendor specific logs may be used by the host to store any data desired.
Support for device vendor specific logs is optional. If the host attempts to write to a read only (RO)
log address, the device shall return command aborted.
LBA Mid - Specifies the first sector of the log to be written.
Device/Head register -
DEV shall specify the selected device.
Page 334
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error na
Sector Count HOB = 0 Reserved
HOB = 1 Reserved
LBA Low HOB = 0 Reserved
HOB = 1 Reserved
LBA Mid HOB = 0 Reserved
HOB = 1 Reserved
LBA High HOB = 0 Reserved
HOB = 1 Reserved
Device/Head obs na obs DEV Reserved
Status BSY DRDY DF na DRQ na na ERR
NOTE − HOB = 0 indicates the value read by the host when the HOB bit of the Device Control register is
cleared to zero. HOB = 1 Indicates the value read by the host when the HOB bit of the Device Control
register is set to one.
Device/Head register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one indicating that the device is capable of receiving any command.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
If the device does not support this command, if the feature set associated with the log specified in the LBA
Low register is not supported or enabled, or if the values in the Features, Sector Count, LBA Mid, or LBA
High registers are invalid, the device shall return command aborted. If the host attempts to write to a read
only (RO) log address, the device shall return command aborted.
Register 7 6 5 4 3 2 1 0
Error na na na IDNF na ABRT na obs
Sector Count DC 7=0 Reserved
DC 7=1 Reserved
LBA Low DC 7=0 Reserved
DC 7=1 Reserved
LBA Mid DC 7=0 Reserved
DC 7=1 Reserved
LBA High DC 7=0 Reserved
DC 7=1 Reserved
Device/Head obs na obs DEV Reserved
Status BSY DRDY DF na DRQ na na ERR
NOTE − HOB = 0 indicates the value read by the host when the HOB bit of the Device Control register is
cleared to zero. HOB = 1 Indicates the value read by the host when the HOB bit of the Device Control
register is set to one.
Error register -
IDNF shall be set to one if the log sector’s ID field was not found or data structure checksum error
occurred.
ABRT shall be set to one if this command is not supported, if the feature associated with the log
specified in the LBA Low register is not supported or not enabled, or if other register values are
Page 335
T13/1532D Volume 1 Revision 4b
invalid. ABRT may be set to one if the device is not able to complete the action requested by the
command.
Device/Head register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one indicating that the device is capable of receiving any command.
DF (Device Fault) shall be set to one indicating that a device fault has occurred.
DRQ shall be cleared to zero indicating that there is no data to be transferred.
ERR shall be set to one if any Error register bit is set to one.
6.64.7 Prerequisites
6.64.8 Description
This command writes a specified number of 512 byte data sectors to the specified log. The device shall
interrupt for each DRQ block transferred.
Page 336
T13/1532D Volume 1 Revision 4b
C5h
− Mandatory for devices not implementing the PACKET Command feature set.
− Use prohibited for devices implementing the PACKET Command feature set.
6.65.3 Protocol
6.65.4 Inputs
The LBA Mid, LBA High, Device, and LBA Low specify the starting sector address to be written. The Sector
Count register specifies the number of sectors to be transferred.
Register 7 6 5 4 3 2 1 0
Features na
Sector Count Sector count
LBA Low LBA (7:0)
LBA Mid LBA (15:8)
LBA High LBA (23:16)
Device obs LBA obs DEV LBA (27:24)
Command C5h
Sector Count -
number of sectors to be transferred. A value of 00h specifies that 256 sectors shall be transferred.
LBA Low -
starting LBA bits (7:0).
LBA Mid -
starting LBA bits (15:8).
LBA High -
starting LBA bits (23:16).
Device -
the LBA bit shall be set to one to specify the address is an LBA.
DEV shall specify the selected device.
bits (3:0) starting LBA bits (27:24).
Register 7 6 5 4 3 2 1 0
Error na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Status BSY DRDY DF na DRQ na na ERR
Page 337
T13/1532D Volume 1 Revision 4b
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
An unrecoverable error encountered during the execution of this command results in the termination of the
command. The Command Block registers contain the address of the sector where the first unrecoverable
error occurred. The amount of data transferred is indeterminate.
Register 7 6 5 4 3 2 1 0
Error na WP MC IDNF MCR ABRT NM na
Sector Count na
LBA Low LBA (7:0)
LBA Mid LBA (15:8)
LBA High LBA (23:16)
Device obs na obs DEV LBA (27:24)
Status BSY DRDY DF na DRQ na na ERR
Error register -
WP shall be set to one if the media in a removable media device is write protected.
MC shall be set to one if the media in a removable media device changed since the issuance of the
last command. The device shall clear the device internal media change detected state.
IDNF shall be set to one if a user-accessible address could not be found. IDNF shall be set to one if
an address outside of the range of user-accessible addresses is requested if command
aborted is not returned.
MCR shall be set to one if a media change request has been detected by a removable media device.
This bit is only cleared by a GET MEDIA STATUS or a media access command.
ABRT shall be set to one if this command is not supported or if an error, including an ICRC error, has
occurred during an Ultra DMA data transfer. ABRT may be set to one if the device is not able
to complete action requested by the command. ABRT shall be set to one if an address
outside of the range of user-accessible addresses is requested if IDNF is not set to one.
NM shall be set to one if no media is present in a removable media device.
LBA Low, LBA Mid, LBA High, Device -
shall be written with the address of first unrecoverable error.
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one.
6.65.7 Prerequisites
DRDY set to one. If bit 8 of IDENTIFY DEVICE data word 59 is cleared to zero, a successful SET MULTIPLE
MODE command shall proceed a WRITE MULTIPLE command.
6.65.8 Description
This command writes the number of sectors specified in the Sector Count register.
Page 338
T13/1532D Volume 1 Revision 4b
The number of sectors per block is defined by the content of word 59 of the IDENTIFY DEVICE response.
The device shall interrupt for each DRQ block transferred.
When the WRITE MULTIPLE command is issued, the Sector Count register contains the number of sectors
(not the number of blocks) requested.
If the number of requested sectors is not evenly divisible by the block count, as many full blocks as possible
are transferred, followed by a final, partial block transfer. The partial block transfer is for n sectors, where:
If the WRITE MULTIPLE command is received when WRITE MULTIPLE commands are disabled, the Write
Multiple operation shall be rejected with command aborted.
Device errors encountered during WRITE MULTIPLE commands are posted after the attempted device write
of the block or partial block transferred. The command ends with the sector in error, even if the error was in
the middle of a block. Subsequent blocks are not transferred in the event of an error.
The contents of the Command Block Registers following the transfer of a data block that had a sector in error
are undefined. The host should retry the transfer as individual requests to obtain valid error information.
Interrupt pending is set when the DRQ bit is set to one at the beginning of each block or partial block.
Page 339
T13/1532D Volume 1 Revision 4b
39h
6.66.3 Protocol
6.66.4 Inputs
Register 7 6 5 4 3 2 1 0
Features Current Reserved
Previous Reserved
Sector Count Current Sector count (7:0)
Previous Sector count (15:8)
LBA Low Current LBA (7:0)
Previous LBA (31:24)
LBA Mid Current LBA (15:8)
Previous LBA (39:32)
LBA High Current LBA (23:16)
Previous LBA (47:40)
Device obs LBA obs DEV Reserved
Command 39h
NOTE − The value indicated as Current is the value most recently written to the register. The value
indicated as Previous is the value that was in the register before the most recent write to the register.
Page 340
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error na
Sector Count HOB = 0 Reserved
HOB = 1 Reserved
LBA Low HOB = 0 Reserved
HOB = 1 Reserved
LBA Mid HOB = 0 Reserved
HOB = 1 Reserved
LBA High HOB = 0 Reserved
HOB = 1 Reserved
Device obs na obs DEV Reserved
Status BSY DRDY DF na DRQ na na ERR
NOTE − HOB = 0 indicates the value read by the host when the HOB bit of the Device Control register is
cleared to zero. HOB = 1 Indicates the value read by the host when the HOB bit of the Device Control
register is set to one.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
An unrecoverable error encountered during the execution of this command results in the termination of the
command. The Command Block registers contain the address of the sector where the first unrecoverable
error occurred. The amount of data transferred is indeterminate.
Register 7 6 5 4 3 2 1 0
Error na WP MC IDNF MCR ABRT NM obs
Sector Count HOB = 0 Reserved
HOB = 1 Reserved
LBA Low HOB = 0 LBA (7:0)
HOB = 1 LBA (31:24)
LBA Mid HOB = 0 LBA (15:8)
HOB = 1 LBA (39:32)
LBA High HOB = 0 LBA (23:16)
HOB = 1 LBA (47:40)
Device obs na obs DEV Reserved
Status BSY DRDY DF na DRQ na na ERR
NOTE − HOB = 0 indicates the value read by the host when the HOB bit of the Device Control register is
cleared to zero. HOB = 1 Indicates the value read by the host when the HOB bit of the Device Control
register is set to one.
Error register -
WP shall be set to one if the media in a removable media device is write protected.
MC shall be set to one if the media in a removable media device changed since the issuance of the
last command. The device shall clear the device internal media change detected state.
IDNF shall be set to one if a user-accessible address could not be found. IDNF shall be set to one if
an address outside of the range of user-accessible addresses is requested if command
aborted is not returned.
Page 341
T13/1532D Volume 1 Revision 4b
MCR shall be set to one if a media change request has been detected by a removable media device.
This bit is only cleared by a GET MEDIA STATUS or a media access command.
ABRT shall be set to one if this command is not supported. ABRT may be set to one if the device is
not able to complete the action requested by the command. ABRT shall be set to one if an
address outside of the range of user-accessible addresses is requested if IDNF is not set to
one.
NM shall be set to one if no media is present in a removable media device.
LBA Low -
LBA (7:0) of the address of the first unrecoverable error when read with Device Control register HOB
bit cleared to zero.
LBA (31:24) of the address of the first unrecoverable error when read with Device Control register
HOB bit set to one.
LBA Mid -
LBA (15:8) of the address of the first unrecoverable error when read with Device Control register
HOB bit cleared to zero.
LBA (39:32) of the address of the first unrecoverable error when read with Device Control
register HOB bit set to one.
LBA High -
LBA (23:16) of the address of the first unrecoverable error when read with Device Control register
HOB bit cleared to zero.
LBA (47:40) of the address of the first unrecoverable error when read with Device Control register
HOB bit set to one.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one.
6.66.7 Prerequisites
DRDY set to one. If bit 8 of IDENTIFY DEVICE data word 59 is cleared to zero, a successful SET MULTIPLE
MODE command shall proceed a WRITE MULTIPLE EXT command.
6.66.8 Description
This command writes the number of sectors specified in the Sector Count register.
The number of sectors per block is defined by the content of word 59 in the IDENTIFY DEVICE response.
The device shall interrupt for each DRQ block transferred.
When the WRITE MULTIPLE EXT command is issued, the Sector Count register contains the number of
sectors (not the number of blocks) requested.
If the number of requested sectors is not evenly divisible by the block count, as many full blocks as possible
are transferred, followed by a final, partial block transfer. The partial block transfer is for n sectors, where:
If the WRITE MULTIPLE EXT command is received when WRITE MULTIPLE EXT commands are disabled,
the Write Multiple operation shall be rejected with command aborted.
Device errors encountered during WRITE MULTIPLE EXT commands are posted after the attempted device
write of the block or partial block transferred. The command ends with the sector in error, even if the error
was in the middle of a block. Subsequent blocks are not transferred in the event of an error.
Page 342
T13/1532D Volume 1 Revision 4b
The contents of the Command Block Registers following the transfer of a data block that had a sector in error
are undefined. The host should retry the transfer as individual requests to obtain valid error information.
Interrupt pending is set when the DRQ bit is set to one at the beginning of each block or partial block.
Page 343
T13/1532D Volume 1 Revision 4b
CEh
6.67.3 Protocol
6.67.4 Inputs
Register 7 6 5 4 3 2 1 0
Features Current Reserved
Previous Reserved
Sector Count Current Sector count (7:0)
Previous Sector count (15:8)
LBA Low Current LBA (7:0)
Previous LBA (31:24)
LBA Mid Current LBA (15:8)
Previous LBA (39:32)
LBA High Current LBA (23:16)
Previous LBA (47:40)
Device obs LBA obs DEV Reserved
Command CEh
NOTE − The value indicated as Current is the value most recently written to the register. The value
indicated as Previous is the value that was in the register before the most recent write to the register.
Page 344
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error na
Sector Count HOB = 0 Reserved
HOB = 1 Reserved
LBA Low HOB = 0 Reserved
HOB = 1 Reserved
LBA Mid HOB = 0 Reserved
HOB = 1 Reserved
LBA High HOB = 0 Reserved
HOB = 1 Reserved
Device obs na obs DEV Reserved
Status BSY DRDY DF na DRQ na na ERR
NOTE − HOB = 0 indicates the value read by the host when the HOB bit of the Device Control register is
cleared to zero. HOB = 1 Indicates the value read by the host when the HOB bit of the Device Control
register is set to one.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
An unrecoverable error encountered during the execution of this command results in the termination of the
command. The Command Block registers contain the address of the sector where the first unrecoverable
error occurred. The amount of data transferred is indeterminate.
Register 7 6 5 4 3 2 1 0
Error na WP MC IDNF MCR ABRT NM obs
Sector Count HOB = 0 Reserved
HOB = 1 Reserved
LBA Low HOB = 0 LBA (7:0)
HOB = 1 LBA (31:24)
LBA Mid HOB = 0 LBA (15:8)
HOB = 1 LBA (39:32)
LBA High HOB = 0 LBA (23:16)
HOB = 1 LBA (47:40)
Device obs na obs DEV Reserved
Status BSY DRDY DF na DRQ na na ERR
NOTE − HOB = 0 indicates the value read by the host when the HOB bit of the Device Control register is
cleared to zero. HOB = 1 Indicates the value read by the host when the HOB bit of the Device Control
register is set to one.
Error register -
WP shall be set to one if the media in a removable media device is write protected.
MC shall be set to one if the media in a removable media device changed since the issuance of the
last command. The device shall clear the device internal media change detected state.
IDNF shall be set to one if a user-accessible address could not be found. IDNF shall be set to one if
an address outside of the range of user-accessible addresses is requested if command
aborted is not returned.
Page 345
T13/1532D Volume 1 Revision 4b
MCR shall be set to one if a media change request has been detected by a removable media device.
This bit is only cleared by a GET MEDIA STATUS or a media access command.
ABRT shall be set to one if this command is not supported. ABRT may be set to one if the device is
not able to complete the action requested by the command. ABRT shall be set to one if an
address outside of the range of user-accessible addresses is requested if IDNF is not set to
one.
NM shall be set to one if no media is present in a removable media device.
LBA Low -
LBA (7:0) of the address of the first unrecoverable error when read with Device Control register HOB
bit cleared to zero.
LBA (31:24) of the address of the first unrecoverable error when read with Device Control register
HOB bit set to one.
LBA Mid -
LBA (15:8) of the address of the first unrecoverable error when read with Device Control register
HOB bit cleared to zero.
LBA (39:32) of the address of the first unrecoverable error when read with Device Control
register HOB bit set to one.
LBA High -
LBA (23:16) of the address of the first unrecoverable error when read with Device Control register
HOB bit cleared to zero.
LBA (47:40) of the address of the first unrecoverable error when read with Device Control register
HOB bit set to one.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one.
6.67.7 Prerequisites
DRDY set to one. If bit 8 of IDENTIFY DEVICE data word 59 is cleared to zero, a successful SET MULTIPLE
MODE command shall proceed a WRITE MULTIPLE FUA EXT command.
6.67.8 Description
The WRITE MULTIPLE FUA EXT command provides the same function as the WRITE MULTIPLE EXT
command except that regardless of whether write caching in the device is enabled or not, the user data shall
be written to the media before ending status for the command is reported.
Page 346
T13/1532D Volume 1 Revision 4b
30h
− Mandatory for devices not implementing the PACKET Command feature set.
− Use prohibited for devices implementing the PACKET Command feature set.
6.68.3 Protocol
6.68.4 Inputs
The LBA Mid, LBA High, Device, and LBA Low specify the starting sector address to be written. The Sector
Count register specifies the number of sectors to be transferred.
Register 7 6 5 4 3 2 1 0
Features na
Sector Count Sector count
LBA Low LBA (7:0)
LBA Mid LBA (15:8)
LBA High LBA (23:16)
Device obs LBA obs DEV LBA (27:24)
Command 30h
Sector Count -
number of sectors to be transferred. A value of 00h specifies that 256 sectors are to be transferred.
LBA Low -
starting LBA bits (7:0).
LBA Mid -
starting LBA bits (15:8).
LBA High -
starting LBA bits (23:16).
Device -
the LBA bit shall be set to one to specify the address is an LBA.
DEV shall specify the selected device.
bits (3:0) starting LBA bits (27:24).
Register 7 6 5 4 3 2 1 0
Error na
Sector Count na
LBA Low na
LBA Mid na
LBA High na
Device obs na obs DEV na na na na
Status BSY DRDY DF na DRQ na na ERR
Page 347
T13/1532D Volume 1 Revision 4b
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
An unrecoverable error encountered during the execution of this command results in the termination of the
command. The Command Block registers contain the address of the sector where the first unrecoverable
error occurred. The amount of data transferred is indeterminate.
Register 7 6 5 4 3 2 1 0
Error na WP MC IDNF MCR ABRT NM na
Sector Count na
LBA Low LBA (7:0)
LBA Mid LBA (15:8)
LBA High LBA (23:16)
Device obs na obs DEV LBA (27:24)
Status BSY DRDY DF na DRQ na na ERR
Error register -
WP shall be set to one if the media in a removable media device is write protected.
MC shall be set to one if the media in a removable media device changed since the issuance of the
last command. The device shall clear the device internal media change detected state.
IDNF shall be set to one if a user-accessible address could not be found. IDNF shall be set to one if
an address outside of the range of user-accessible addresses is requested if command
aborted is not returned.
MCR shall be set to one if a media change request has been detected by a removable media device.
This bit is only cleared by a GET MEDIA STATUS or a media access command.
ABRT shall be set to one if this command is not supported or if an error, including an ICRC error, has
occurred during an Ultra DMA data transfer. ABRT may be set to one if the device is not able
to complete the action requested by the command. ABRT shall be set to one if an address
outside of the range of user-accessible addresses is requested if IDNF is not set to one.
NM shall be set to one if no media is present in a removable media device.
LBA Low, LBA Mid, LBA High, Device -
shall be written with the address of first unrecoverable error.
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one.
6.68.7 Prerequisites
6.68.8 Description
This command writes from 1 to 256 sectors as specified in the Sector Count register. A sector count of 0
requests 256 sectors. The device shall interrupt for each DRQ block transferred.
Page 348
T13/1532D Volume 1 Revision 4b
34h
6.69.3 Protocol
6.69.4 Inputs
Register 7 6 5 4 3 2 1 0
Features Current Reserved
Previous Reserved
Sector Count Current Sector count (7:0)
Previous Sector count (15:8)
LBA Low Current LBA (7:0)
Previous LBA (31:24)
LBA Mid Current LBA (15:8)
Previous LBA (39:32)
LBA High Current LBA (23:16)
Previous LBA (47:40)
Device obs LBA obs DEV Reserved
Command 34h
NOTE − The value indicated as Current is the value most recently written to the register. The value
indicated as Previous is the value that was in the register before the most recent write to the register.
Page 349
T13/1532D Volume 1 Revision 4b
Register 7 6 5 4 3 2 1 0
Error na
Sector Count HOB = 0 Reserved
HOB = 1 Reserved
LBA Low HOB = 0 Reserved
HOB = 1 Reserved
LBA Mid HOB = 0 Reserved
HOB = 1 Reserved
LBA High HOB = 0 Reserved
HOB = 1 Reserved
Device obs na obs DEV Reserved
Status BSY DRDY DF na DRQ na na ERR
NOTE − HOB = 0 indicates the value read by the host when the HOB bit of the Device Control register is
cleared to zero. HOB = 1 Indicates the value read by the host when the HOB bit of the Device Control
register is set to one.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
An unrecoverable error encountered during the execution of this command results in the termination of the
command. The Command Block registers contain the address of the sector where the first unrecoverable
error occurred. The amount of data transferred is indeterminate.
Register 7 6 5 4 3 2 1 0
Error na WP MC IDNF MCR ABRT NM obs
Sector Count HOB = 0 Reserved
HOB = 1 Reserved
LBA Low HOB = 0 LBA (7:0)
HOB = 1 LBA (31:24)
LBA Mid HOB = 0 LBA (15:8)
HOB = 1 LBA (39:32)
LBA High HOB = 0 LBA (23:16)
HOB = 1 LBA (47:40)
Device obs na obs DEV Reserved
Status BSY DRDY DF na DRQ na na ERR
NOTE − HOB = 0 indicates the value read by the host when the HOB bit of the Device Control register is
cleared to zero. HOB = 1 Indicates the value read by the host when the HOB bit of the Device Control
register is set to one.
Error register -
WP shall be set to one if the media in a removable media device is write protected.
MC shall be set to one if the media in a removable media device changed since the issuance of the
last command. The device shall clear the device internal media change detected state.
IDNF shall be set to one if a user-accessible address could not be found. IDNF shall be set to one if
an address outside of the range of user-accessible addresses is requested if command
aborted is not returned.
Page 350
T13/1532D Volume 1 Revision 4b
MCR shall be set to one if a media change request has been detected by a removable media device.
This bit is only cleared by a GET MEDIA STATUS or a media access command.
ABRT shall be set to one if this command is not supported. ABRT may be set to one if the device is
not able to complete the action requested by the command. ABRT shall be set to one if an
address outside of the range of user-accessible addresses is requested if IDNF is not set to
one.
NM shall be set to one if no media is present in a removable media device.
LBA Low -
LBA (7:0) of the address of the first unrecoverable error when read with Device Control register HOB
bit cleared to zero.
LBA (31:24) of the address of the first unrecoverable error when read with Device Control register
HOB bit set to one.
LBA Mid -
LBA (15:8) of the address of the first unrecoverable error when read with Device Control register
HOB bit cleared to zero.
LBA (39:32) of the address of the first unrecoverable error when read with Device Control
register HOB bit set to one.
LBA High -
LBA (23:16) of the address of the first unrecoverable error when read with Device Control register
HOB bit cleared to zero.
LBA (47:40) of the address of the first unrecoverable error when read with Device Control register
HOB bit set to one.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
DF (Device Fault) shall be set to one if a device fault has occurred.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one.
6.69.7 Prerequisites
6.69.8 Description
This command writes from 1 to 65,536 sectors as specified in the Sector Count register. A sector count
value of 0000h requests 65,536 sectors. The device shall interrupt for each DRQ block transferred.
Page 351
T13/1532D Volume 1 Revision 4b
3Ah
6.70.3 Protocol
6.70.4 Inputs
Register 7 6 5 4 3 2 1 0
Features Current URG WC F HSE R Stream ID
Previous Command Completion Time Limit (7:0)
Sector Count Current Sector count (7:0)
Previous Sector count (15:8)
LBA Low Current LBA (7:0)
Previous LBA (31:24)
LBA Mid Current LBA (15:8)
Previous LBA (39:32)
LBA High Current LBA (23:16)
Previous LBA (47:40)
Device obs LBA obs DEV Reserved
Command 3Ah
NOTE − The value indicated as Current is the value most recently written to the register. The value
indicated as Previous is the value that was in the register before the most recent write to the register.
WC specifies that the 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.
If the WC bit is set to one and errors occur in the transfer or writing of the data, the device shall
continue to transfer the amount of data requested and then provide ending status with the BSY bit
cleared to zero, the SE bit set to one, the ERR bit cleared to zero, and the type of error, ICRC, IDNF,
or ABRT, reported in the error log.
If the WC bit is set to one and the Command Completion Time Limit expires, the device shall stop
execution of the command and provide ending status with the BSY bit cleared to zero, the SE bit set
to one, the ERR bit cleared to zero, and report the fact that the Command Completion Time Limit
expired by setting the CCTO bit in the error log to one.
In all cases, the device shall attempt to transfer the amount of data requested within the Comand
Completion Time Limit even if some data transferred is in error.
F specifies that all data for the specified stream shall be flushed to the media before command complete
is reported when set to one.
HSE (Handle Streaming Error) specifies that this command starts at the LBA of the last reported error
for this stream, so the device may attempt to continue its corresponding error recovery sequence
where it left off earlier.
Page 352
T13/1532D Volume 1 Revision 4b
Stream ID specifies the stream being written. The device shall operate according to the Stream ID set by
the WRITE STREAM command. Any write of the device media or internal device buffer management
as a result of the Stream ID is device vendor specific.
Features register previous -
The time allowed for the current command’s completion is calculated as follows:
Command Completion Time Limit = (content of the Features register Previous) ∗
(IDENTIFY DEVICE data words (99:98)) microseconds
If the valuCONFIGURE STREAM command for this Stream ID. If the Default Command Completion
Time Limit is zero, or no previous Configure Stream command was defined for this Stream ID, the
result is vendor specific. The time is measured from the write of the command register to the final
INTRQ for command completion
Sector Count Current -
number of sectors to be transferred low order, bits (7:0).
Sector Count Previous -
number of sectors to be transferred high order, bits (15:8).
LBA Low Current -
LBA (7:0).
LBA Low Previous -
LBA (31:24).
LBA Mid Current -
LBA (15:8).
LBA Mid Previous -
LBA (39:32).
LBA High Current -
LBA (23:16).
LBA High Previous -
LBA (47:40).
Device -
LBA shall be set to one.
DEV shall specify the selected device.
Register 7 6 5 4 3 2 1 0
Error na
Sector Count HOB = 0 Reserved
HOB = 1 Reserved
LBA Low HOB = 0 Reserved
HOB = 1 Reserved
LBA Mid HOB = 0 Reserved
HOB = 1 Reserved
LBA High HOB = 0 Reserved
HOB = 1 Reserved
Device obs na obs DEV Reserved
Status BSY DRDY SE na DRQ na na ERR
NOTE − HOB = 0 indicates the value read by the host when the HOB bit of the Device Control register is
cleared to zero. HOB = 1 Indicates the value read by the host when the HOB bit of the Device Control
register is set to one.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
SE shall be cleared to zero.
DRQ shall be cleared to zero.
ERR shall be cleared to zero.
Page 353
T13/1532D Volume 1 Revision 4b
If the WC bit is cleared to zero, the content of the registers shall be as shown below. If the WC bit is set to
one, the SE bit shall be set to one, the ERR bit shall be cleared to zero, and the content of the Error register
shown below shall be placed in the error log.
Register 7 6 5 4 3 2 1 0
Error ICRC WP MC IDNF MCR ABRT NM CCTO
Sector Count HOB = 0 Length of Stream Error (7:0)
HOB = 1 Length of Stream Error (15:8)
LBA Low HOB = 0 LBA (7:0)
HOB = 1 LBA (31:24)
LBA Mid HOB = 0 LBA (15:8)
HOB = 1 LBA (39:32)
LBA High HOB = 0 LBA (23:16)
HOB = 1 LBA (47:40)
Device obs na obs DEV Reserved
Status BSY DRDY SE DWE DRQ na na ERR
NOTE − HOB = 0 indicates the value read by the host when the HOB bit of the Device Control register is
cleared to zero. HOB = 1 Indicates the value read by the host when the HOB bit of the Device Control
register is set to one.
Error register -
ICRC shall be set to one if an interface CRC error has occurred during an Ultra DMA data transfer. The
content of this bit is not applicable for Multiword DMA transfers.
WP shall be set to one if the media in a removable media device is write protected.
MC shall be set to one if the media in a removable media device changed since the issuance of the last
command. The device shall clear the device internal media change detected state.
IDNF shall be set to one if a user-accessible address could not be found. IDNF shall be set to one if an
address outside of the range of user-accessible addresses is requested if command aborted is not
returned.
MCR shall be set to one if a media change request has been detected by a removable media device.
This bit is only cleared by a GET MEDIA STATUS or a media access command.
ABRT shall be set to one if this command is not supported or if an error, including an ICRC error, has
occurred during an Ultra DMA data transfer. ABRT may be set to one if the device is not able to
complete the action requested by the command. ABRT shall be set to one if an address outside of
the range of user-accessible addresses is requested if IDNF is not set to one.
NM shall be set to one if no media is present in a removable media device.
CCTO (Command Completion Time Limit Out) bit shall be set to one if a Command Completion Time
Limit Out error has occurred.
Sector Count Current -
bits (7:0) number of contiguous sectors containing potentially bad data, beginning with the LBA of the
first sector with an uncorrectable error.
Sector Count Previous -
bits (15:8) of the number of contiguous sectors containing potentially bad data, starting at the address of
the first uncorrectable error
LBA Low Current -
bits (7:0) of the address of the first uncorrectable error when read with Device Control register HOB
cleared to zero.
LBA Low Previous -
bits (31:24) of the address of the first uncorrectable error when read with Device Control register HOB
set to one.
LBA Mid Current-
bits (15:8) of the address of the first uncorrectable error when read with Device Control register HOB
cleared to zero.
LBA Mid Previous-
Page 354
T13/1532D Volume 1 Revision 4b
bits (39:32) of the address of the first uncorrectable error when read with Device Control register HOB
set to one.
LBA High Current -
bits (23:16) of the address of the first uncorrectable error when read with Device Control register HOB
cleared to zero.
LBA High Current -
bits (47:40) of the address of the first uncorrectable error when read with Device Control register HOB
set to one.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
SE (Stream Error) shall be set to one if an error has occurred during the execution of the command and
the WC bit is set to one. In this case the LBA returned in the Sector Number registers shall be the
address of the first sector in error, and the Sector Count registers shall contain the number of
consecutive sectors that may contain errors. If the WC bit is set to one when the command is issued
and an ICRC, IDNF, ABRT, or CCTO error occurs, the SE bit shall be set to one, the ERR bit shall
be cleared to zero, and the bits that would normally be set in the Error register shall be set in the
error log.
DWE shall be set to one if an error was detected in a deferred write to the media. This error is from a
previously issued command. If DWE is set to one, the location of the deferred error is only reported
in the Write Stream error log.
DRQ shall be cleared to zero.
ERR shall be set to one if an Error register bit is set to one and the WC bit is cleared to zero. If the WC
bit is set to one when the command is issued and an ICRC, IDNF, ABRT, or CCTO error occurs, the
SE bit shall be set to one, the ERR bit shall be cleared to zero, and the bits that would normally be
set in the Error register shall be set in the error log.
6.70.7 Prerequisites
6.70.8 Description
The Write Stream DMA EXT command allows the host to write data using the DMA data transfer protocol.
This command allows for the host to specify to the device that additional actions need to be performed prior
to the completion of the command if the required bits are set.
If the Write Continuous bit is set to one,the device shall not stop execution of the command due to errors. If
the WC bit is set to one and errors occur in the transfer or writing of the data, the device shall continue to
transfer the amount of data requested and then provide ending status with the BSY bit cleared to zero, the
SE bit set to one, the ERR bit cleared to zero, and the type of error, ICRC, IDNF, or ABRT, reported in the
error log. If the WC bit is set to one and the Command Completion Time Limit expires, the device shall stop
execution of the command and provide ending status with the BSY bit cleared to zero, the SE bit set to one,
the ERR bit cleared to zero, and report the fact that the Command Completion Time Limit expired by setting
the CCTO bit in the error log to one. In all cases, the device shall attempt to transfer the amount of data
requested within the Comand Completion Time Limit even if some data transferred is in error.
Page 355
T13/1532D Volume 1 Revision 4b
3Bh
6.71.3 Protocol
6.71.4 Inputs
Register 7 6 5 4 3 2 1 0
Features Current URG WC F HSE R Stream ID
Previous Command Completion Time Limit (7:0)
Sector Count Current Sector count (7:0)
Previous Sector count (15:8)
LBA Low Current LBA (7:0)
Previous LBA (31:24)
LBA Mid Current LBA (15:8)
Previous LBA (39:32)
LBA High Current LBA (23:16)
Previous LBA (47:40)
Device obs LBA obs DEV Reserved
Command 3Bh
NOTE − The value indicated as Current is the value most recently written to the register. The value
indicated as Previous is the value that was in the register before the most recent write to the register.
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.
If the WC bit is set to one and errors occur in the transfer or writing of the data, the device shall
continue to transfer the amount of data requested and then provide ending status with the BSY bit
cleared to zero, the SE bit set to one, the ERR bit cleared to zero, and the type of error, IDNF, or
ABRT, reported in the error log.
If the WC bit is set to one and the Command Completion Time Limit expires, the device shall stop
execution of the command and provide ending status with the BSY bit cleared to zero, the SE bit set
to one, the ERR bit cleared to zero, and report the fact that the Command Completion Time Limit
expired by setting the CCTO bit in the error log to one.
In all cases, the device shall attempt to transfer the amount of data requested within the Comand
Completion Time Limit even if some data transferred is in error.
F specifies that all data for the specified stream shall be flushed to the media before command complete
is reported when set to one.
HSE (Handle Streaming Error) s that this command starts at the LBA of the last reported error for this
stream, so the device may attempt to continue its corresponding error recovery sequence where it
left off earlier.
Page 356
T13/1532D Volume 1 Revision 4b
Stream ID specifies the stream being written. The device shall operate according to the Stream ID set by
the WRITE STREAM command. Any write of the device media or internal device buffer management
as a result of the Stream ID is device vendor specific.
Features register previous -
The time allowed for the current command’s completion is calculated as follows:
Command Completion Time Limit = (content of the Features register Previous) ∗
(IDENTIFY DEVICE data words (99:98)) microseconds
If the value is zero, the device shall use the Default Command Completion Time Limit supplied with a
previous CCONFIGURE STREAM command for this Stream ID. If the Default Command Completion
Time Limit is zero, or no previous CONFIGURE STREAM command was defined for this Stream ID,
the result is vendor specific. The time is measured from the write of the command register to the final
INTRQ for command completion
Sector Count Current -
number of sectors to be transferred low order, bits (7:0).
Sector Count Previous -
number of sectors to be transferred high order, bits (15:8).
LBA Low Current -
LBA (7:0).
LBA Low Previous -
LBA (31:24).
LBA Mid Current -
LBA (15:8).
LBA Mid Previous -
LBA (39:32).
LBA High Current -
LBA (23:16).
LBA High Previous -
LBA (47:40).
Device -
the LBA bit shall be set to one to specify the address is an LBA.
DEV shall specify the selected device.
Register 7 6 5 4 3 2 1 0
Error na
Sector Count HOB = 0 Reserved
HOB = 1 Reserved
LBA Low HOB = 0 Reserved
HOB = 1 Reserved
LBA Mid HOB = 0 Reserved
HOB = 1 Reserved
LBA High HOB = 0 Reserved
HOB = 1 Reserved
Device obs na obs DEV Reserved
Status BSY DRDY SE na DRQ na na ERR
NOTE − HOB = 0 indicates the value read by the host when the HOB bit of the Device Control register is
cleared to zero. HOB = 1 Indicates the value read by the host when the HOB bit of the Device Control
register is set to one.
Device register -
DEV shall indicate the selected device.
Status register -
BSY shall be cleared to zero indicating command completion.
DRDY shall be set to one.
SE shall be cleared to zero.
DRQ shall be cleared to zero.
Page 357
T13/1532D Volume 1 Revision 4b
If the WC bit is cleared to zero, the content of the registers shall be as shown below. If the WC bit is set to
one, the SE bit shall be set to one, the ERR bit shall be cleared to zero, and the content of the Error register
shown below shall be placed in the error log.
Register 7 6 5 4 3 2 1 0
Error na WP MC IDNF MCR ABRT NM CCTO
Sector Count HOB = 0 Length of Stream Error (7:0)
HOB = 1 Length of Stream Error (15:8)
LBA Low HOB = 0 LBA (7:0)
HOB = 1 LBA (31:24)
LBA Mid HOB = 0 LBA (15:8)
HOB = 1 LBA (39:32)
LBA High HOB = 0 LBA (23:16)
HOB = 1 LBA (47:40)
Device obs na obs DEV Reserved
Status BSY DRDY SE DWE DRQ na na ERR
NOTE − HOB = 0 indicates the value read by the host when the HOB bit of the Device Control register is
cleared to zero. HOB = 1 Indicates the value read by the host when the HOB bit of the Device Control
register is set to one.
Error register -
WP shall be set to one if the media in a removable media device is write protected.
MC shall be set to one if the media in a removable media device changed since the issuance of the last
command. The device shall clear the device internal media change detected state.
IDNF shall be set to one if a user-accessible address could not be found. IDNF shall be set to one if an
address outside of the range of user-accessible addresses is requested if command aborted is not
returned.
MCR shall be set to one if a media change request has been detected by a removable media device.
This bit is only cleared by a GET MEDIA STATUS or a media access command.
ABRT shall be set to one if this command is not supported. ABRT may be set to one if the device is not
able to complete the action requested by the command. ABRT shall be set to one if an address
outside of the range of user-accessible addresses is requested if IDNF is not set to one.
NM shall be set to one if no media is present in a removable media device.
CCTO (Command Completion Time Limit Out) bit shall be set to one if a Command Completion Time
Limit Out error has occurred.
Sector Count Current -
bits (7:0) number of contiguous sectors containing potentially bad data, beginning with the LBA of the
first sector with an uncorrectable error.
Sector Count Previous -
bits (15:8) of the number of contiguous sectors containing potentially bad data, starting at the address of
the first uncorrectable error
LBA Low Current -
bits (7:0) of the address of the first uncorrectable error when read with Device Control register HOB
cleared to zero.
LBA Low Previous -
bits (31:24) of the address of the first uncorrectable error when read with Device Control register HOB
set to one.
LBA Mid Current-
bits (15:8) of the address of the first uncorrectable error when read with Device Control register HOB
cleared to zero.
LBA Mid Previous-
bits (39:32) of the address of the first uncorrectable error when read with Device Control register HOB
set to one.
Page 358
T13/1532D Volume 1 Revision 4b
6.71.7 Prerequisites
6.71.8 Description
This command writes from 1 to 65,536 sectors as specified in the Sector Count register. A sector count of 0
requests 65,536 sectors.
If the Write Continuous bit is set to one,the device shall not stop execution of the command due to errors. If
the WC bit is set to one and errors occur in the transfer or writing of the data, the device shall continue to
transfer the amount of data requested and then provide ending status with the BSY bit cleared to zero, the
SE bit set to one, the ERR bit cleared to zero, and the type of error, IDNF, or ABRT, reported in the error log.
If the WC bit is set to one and the Command Completion Time Limit expires, the device shall stop execution
of the command and provide ending status with the BSY bit cleared to zero, the SE bit set to one, the ERR
bit cleared to zero, and report the fact that the Command Completion Time Limit expired by setting the
CCTO bit in the error log to one. In all cases, the device shall attempt to transfer the amount of data
requested within the Comand Completion Time Limit even if some data transferred is in error.
Page 359
T13/1532D Volume 1 Revision 4b
9 Parallel interface general operating requirements of the physical, data link, and
transport layers (See Volume 2)
Page 360
T13/1532D Volume 1 Revision 4b
Page 361
T13/1532D Volume 1 Revision 4b
Page 362
T13/1532D Volume 1 Revision 4b
Page 363
T13/1532D Volume 1 Revision 4b
Page 364
T13/1532D Volume 1 Revision 4b
Page 365
T13/1532D Volume 1 Revision 4b
Page 366
T13/1532D Volume 1 Revision 4b
Page 367
T13/1532D Volume 1 Revision 4b
C.1 Introduction
Since the inception of the ATA interface the smallest addressable unit of data has been the 512 byte sector.
In hard disk drives each sector has an associated error correcting code field to allow detection and correction
of read errors. Over time, error correcting code fields have been lengthened to provide greater detection and
correction capability. As a result, the proportion of device media devoted to ECC fields has risen. Increasing
the length of data sectors on the media increases the efficiency of ECC by enabling better error detection
and correction using a smaller proportion of media.
Write commands can begin mid physical sector and end mid physical sector resulting in two unaligned
writes. In this case the device has to read both the beginning and ending physical sector of the write into the
buffer.
To avoid the performance penalty from an unaligned write all write operations must begin with the first sector
of a physical sector and end with the last sector of a physical sector.
The first logical sector must be the first 512 bytes of the first physical sector on the device. This allows a
host to align write operations with the physical sectors.
Supporting unaligned write operations is optional, but highly recommended to maintain backward
compatibility with software. See IDENTIFY DEVICE 6.17.
Figure 10 illustrates an unaligned write on a device with 2048 byte physical sectors. The first four logical
sectors, LBA0 - LBA3, reside on physical sector 0. To write only LBA3 the host sends a conventional write
command and the data for LBA3. On receipt of the write command the device seeks to the physical sector
that contains LBA3, which is physical sector 0. Physical sector 0 is read into the device buffer. Then the new
write data for LBA3 is placed in the buffer, overwriting a segment of the buffer. The buffer data is then written
to the media, physical sector 0.
Page 368
T13/1532D Volume 1 Revision 4b
Media Layout
LBA3
LBA 3 Write
From Host
Physical Physical Sector 0 Physical Sector 1
Sector 0
read from
media Combined data written
to media
Page 369
T13/1532D Volume 1 Revision 4b
Page 370