ATA/ATAPI is the result of a long history of incremental technical development. ATA/ATAPI is an evolution of the AT Attachment Interface, which was itself evolved in several stages from Western Digital's original Integrated Drive Electronics interface. As a result, many near-synonyms for ATA/ATAPI and its previous incarnations exist, including abbreviations such as IDE which are still in common informal use. With the market introduction of Serial ATA in 2003, the original ATA was retroactively renamed Parallel ATA (PATA).
Parallel ATA standards allow cable lengths up to only 18 inches (46 centimeters) . Because of this length limit the technology normally appears as an internal computer storage interface. For many years ATA provided the most common and the least expensive interface for this application. By the beginning of 2007 it had largely been replaced by Serial ATA (SATA) in new systems.
The name of the standard was originally conceived as "PC/AT Attachment" as its primary feature was a direct connection to the 16-bit ISA bus introduced with the IBM PC/AT. The name was shortened to "AT Attachment" to avoid possible trademark issues. It is not spelled out as "Advanced Technology" anywhere in current or recent versions of the specification; it is simply "AT Attachment". Nevertheless, the term "Advanced Technology Attachment" is still in common use.
The first version of what is now called the ATA/ATAPI interface was developed by Western Digital under the name Integrated Drive Electronics (IDE). They, together with Control Data Corporation (who manufactured the hard drive part) and Compaq Computer (into whose systems these drives would initially go), developed the connector, the signalling protocols, and so on with the goal of remaining software compatible with the existing ST-506 hard drive interface. The first such drives appeared in Compaq PCs in 1986.
The term Integrated Drive Electronics (IDE) refers not just to the connector and interface definition, but also to the fact that the drive controller is integrated into the drive, as opposed to a separate controller on or connected to the motherboard. The integrated controller presented the drive to the host computer as an array of 512-byte blocks with a relatively simple command interface. This relieved the software in the host computer of the chores of stepping the disk head arm, moving the head arm in and out, and so on, as had to be done with earlier ST-506 and ESDI hard drives. All of these low-level details of the mechanical operation of the drive were now handled by the controller on the drive itself. This also eliminated the need to design a single controller that could handle many different types of drives, since the controller could be unique for the drive. The host need only ask for a particular sector, or block, to be read or written, and either accept the data from the drive or send the data to it.
The interface used by these IDE drives was standardized in 1994 as ANSI standard X3.221-1994, AT Attachment Interface for Disk Drives. After later versions of the standard were developed, this became known as "ATA-1".
The new version of the ANSI standard, AT Attachment Interface with Extensions ATA-2 (X3.279-1996), was approved in 1996. It included most of the features of the manufacturer-specific variants.
ATA-2 also was the first to note that devices other than hard drives could be attached to the interface:
3.1.7 Device: Device is a storage peripheral. Traditionally, a device on the ATA interface has been a hard disk drive, but any form of storage device may be placed on the ATA interface provided it adheres to this standard.
—from , page 2
As mentioned in the previous sections ATA was originally designed for and worked only with hard disks and devices that could emulate them. The introduction of ATAPI (ATA Packet Interface) by a group called the Small Form Factor committee allowed ATA to be used for a variety of other devices that require functions beyond those necessary for hard disks. For example, any removable media device needs a "media eject" command, and a way for the host to determine whether the media is present, and these were not provided in the ATA protocol.
The Small Form Factor committee approached this problem by defining ATAPI, the "ATA Packet Interface". ATAPI is actually a protocol allowing the ATA interface to carry SCSI commands and responses; therefore all ATAPI devices are actually "speaking SCSI" other than at the electrical interface. In fact, some early ATAPI devices were simply SCSI devices with an ATA/ATAPI to SCSI protocol converter added on. The SCSI commands and responses are embedded in "packets" (hence "ATA Packet Interface") for transmission on the ATA cable. This allows any device class for which a SCSI command set has been defined to be interfaced via ATA/ATAPI.
ATAPI devices are also "speaking ATA", as the ATA physical interface and protocol are still being used to send the packets. On the other hand, ATA hard drives and solid state drives do not use ATAPI.
ATAPI devices include CD-ROM and DVD-ROM drives, tape drives, and large-capacity floppy drives such as the Zip drive and SuperDisk drive. Removable media devices other than CD and DVD drives are classified as ARMD (ATAPI Removable Media Device) and can appear as either a super-floppy (non-partitioned media) or a hard drive (partitioned media) to the operating system. The SCSI commands and responses used by each class of ATAPI device (CD-ROM, tape, etc.) are described in other documents or specifications specific to those device classes and are not within ATA/ATAPI or the T13 committee's purview.
ATAPI was adopted as part of ATA in INCITS 317-1998, AT Attachment with Packet Interface Extension (ATA/ATAPI-4).
The terms "integrated drive electronics" (IDE), "enhanced IDE" and "EIDE" have come to be used interchangeably with ATA (now Parallel ATA). However the terms "IDE" and "EIDE" are at best imprecise. Every ATA drive is an "integrated drive electronics" drive, but not every "integrated drive electronics" drive is an ATA drive, as the term also correctly describes SCSI drives: They have the drive controllers on board and present the drive to the host as an array of blocks.
In addition there have been several generations of "EIDE" drives marketed, compliant with various versions of the ATA specification. An early "EIDE" drive might be compatible with ATA-2, while a later one with ATA-6.
Nevertheless a request for an "IDE" or "EIDE" drive from a computer parts vendor will almost always yield a drive that will work with modern systems' ATA interfaces.
Another common usage is to refer to the specification version by the fastest mode supported. For example, ATA-4 supported Ultra DMA modes 0 through 3, the latter providing a maximum transfer rate of 33 megabytes per second. ATA-4 drives are thus sometimes called "UDMA-33" drives. Similarly, ATA-6 introduced a maximum transfer speed of 100 megabytes per second, and some drives complying to this version of the standard are marketed as "PATA/100" drives.
With the introduction of Serial ATA around 2003, conventional ATA is sometimes referred to as Parallel ATA (P-ATA), referring to the method in which data travels over wires in this interface.
The original ATA specification used a 28-bit addressing mode, allowing for the addressing of 228 (268,435,456) sectors (blocks) of 512 bytes each, resulting in a maximum capacity of 137 gigabytes. (This is displayed by Windows operating systems as "128 GB".) However the BIOS in early PCs imposed smaller limits such as 8.46 GB, with a maximum of 1024 cylinders, 256 heads and 63 sectors, but this was not a limit imposed by the ATA interface.
ATA-6 introduced 48-bit addressing, increasing the limit to 144 petabytes. As a consequence, any ATA drive of capacity larger than 137 gigabytes must be an ATA-6 or later drive. Connecting such a drive to a host with an ATA-5 or earlier interface will limit the usable capacity to the maximum of the controller.
Some OSs, including Windows 2000 pre-SP4, disable 48-bit LBA by default, requiring the user to take extra steps to use the entire capacity of an ATA drive larger than 137 gigabytes.
ATA's ribbon cables had 40 wires for most of its history (44 conductors for the smaller form-factor version used for 2.5" drives), but an 80-wire version appeared with the introduction of the Ultra DMA/33 (UDMA) mode. All of the additional wires in the new cable are ground wires, interleaved with the previously defined wires to reduce the effects of capacitive coupling between neighboring signal wires, reducing crosstalk. Capacitive coupling is more of a problem at higher transfer rates, and this change was necessary to enable the 66 megabytes per second (MB/s) transfer rate of UDMA4 to work reliably. The faster UDMA5 and UDMA6 modes also require 80-conductor cables.
Though the number of wires doubled, the number of connector pins and the pinout remain the same as 40-conductor cables, and the external appearance of the connectors is identical. Internally the connectors are different; the connectors for the 80-wire cable connect a larger number of ground wires to a smaller number of ground pins, while the connectors for the 40-wire cable connect ground wires to ground pins one-for-one. 80-wire cables usually come with three differently colored connectors (blue, gray & black) as opposed to uniformly colored 40-wire cable's connectors (all black). The gray connector on 80-pin cables has pin 28 CSEL not connected; making it the slave position for drives configured cable select.
The image shows PATA connectors after removal of strain relief, cover, and cable. Pin one is at bottom left of the connectors, pin 2 is top left, etc., except that the lower image of the blue connector shows the view from the opposite side, and pin one is at top right.
Each contact comprises a pair of points which together pierce the insulation of the ribbon cable with such precision, they make an excellent connection to the desired conductor without harming the insulation on the neighboring wires. The center row of contacts are all connected to the common ground bus and attached to the odd numbered conductors of the cable. The top row of contacts are the even-numbered sockets of the connector (mating with the even-numbered pins of the receptacle) and attach to every other even-numbered conductor of the cable. The bottom row of contacts are the odd-numbered sockets of the connector (mating with the odd-numbered pins of the receptacle) and attach to the remaining even-numbered conductors of the cable.
Note the connections to the common ground bus from sockets 2 (top left), 19 (center bottom row), 22, 24, 26, 30, and 40 on all connectors. Also note (enlarged detail, bottom, looking from the opposite side of the connector) that socket 34 of the blue connector does not contact any conductor but unlike socket 34 of the other two connectors, it does connect to the common ground bus. On the gray connector, note that socket 28 is completely missing, so that pin 28 of the drive attached to the gray connector will be open. On the black connector, sockets 28 and 34 are completely normal, so that pins 28 and 34 of the drive attached to the black connector will be connected to the cable. Pin 28 of the black drive reaches pin 28 of the host receptacle but not pin 28 of the gray drive, while pin 34 of the black drive reaches pin 34 of the gray drive but not pin 34 of the host. Instead, pin 34 of the host is grounded.
The standard dictates color-coded connectors for easy identification by both installer and cable maker. All three connectors are different from one another. The blue (host) connector has the socket for pin 34 connected to ground inside the connector but not attached to any conductor of the cable. Since the old 40 conductor cables do not ground pin 34, the presence of a ground connection indicates that an 80 conductor cable is installed. The wire for pin 34 is attached normally on the other types and is not grounded. Installing the cable backwards (with the black connector on the system board, the blue connector on the remote device and the gray connector on the center device) will ground pin 34 of the remote device and connect host pin 34 through to pin 34 of the center device. The gray center connector omits the connection to pin 28 but connects pin 34 normally, while the black end connector connects both pins 28 and 34 normally.
If there is a single device on a cable, it should be configured as master. However, some hard drives have a special setting called single for this configuration (Western Digital, in particular). Also, depending on the hardware and software available, a single drive on a cable can work reliably even though configured as the slave drive (this configuration is most often seen when a CD ROM has a channel to itself).
A drive setting called cable select was described as optional in ATA-1 and has come into fairly widespread use with ATA-5 and later. A drive set to "cable select" automatically configures itself as master or slave, according to its position on the cable. Cable select is controlled by pin 28. The host adapter grounds this pin; if a device sees that the pin is grounded, it becomes the master device; if it sees that pin 28 is open, the device becomes the slave device.
This setting is usually chosen by placing a jumper on the "cable select" position, usually marked CS, rather than on the "master" or "slave" position. Note, pin 28 is only used by the drive to determine its position on the cable and thus whether it's the "master" or "slave"; it isn't in any way a "drive select" pin used when the host is issuing commands so if a drive is jumpered to "master" or "slave" its position on the cable doesn't have to match the pin 28 meaning of "master" and "slave".
With the 40-wire cable it was very common to implement cable select by simply cutting the pin 28 wire between the two device connectors; putting the slave device at the end of the cable, and the master on the "middle" connector. This arrangement eventually was standardized in later versions. If there is just one device on the cable, this results in an unused "stub" of cable, which is undesirable for physical convenience and electrical reasons. The stub causes signal reflections, particularly at higher transfer rates.
When the 80-wire cable was defined for use since ATAPI5/UDMA4, the master device goes at the end of the cable (black connector), the middle-slave connector is gray, the blue connector goes onto the motherboard. So, if there is only one (master) device on the cable, there is no cable "stub" to cause reflections. Also, cable select is now implemented in the slave device connector, usually simply by omitting the contact from the connector body.
Both the 40-wire and 80-wire parallel-IDE cables share the same 40-socket connector configuration.
The ATA-4 and subsequent versions of the specification have included an "overlapped feature set" and a "queued feature set" as optional features. However, support for these is extremely rare in actual parallel ATA products and device drivers. By contrast, overlapped and queued operations have been common in other storage buses. In particular, tagged command queuing is characteristic of SCSI, this has long been seen as a major advantage of SCSI.
The Serial ATA standard has supported native command queueing since its first release, but it is an optional feature for both host-adapters and target-devices. Many less expensive PC motherboards do not support NCQ. Nearly all SATA/II hard drives sold today support NCQ, while very few removable (CD/DVD) drives do.
For all modern ATA host adapters this is not true, as modern ATA host adapters support independent device timing. This allows each device on the cable to transfer data at its own best speed. Even with older adapters without independent timing, this effect only applies to the data transfer phase of a read or write operation. This is usually the shortest part of a complete read or write operation.
However, most modern devices will report write operations as complete once the data is stored in its onboard cache memory, before the data is written to the (slow) magnetic storage. This allows commands to be sent to the other device on the cable, reducing the impact of the "one operation at a time" limit.
The impact of this on a system's performance depends on the application. For example, when copying data from an optical drive to a hard drive (such as during software installation), this effect probably doesn't matter: Such jobs are necessarily limited by the speed of the optical drive no matter where it is. But if the hard drive in question is also expected to provide good throughput for other tasks at the same time, it probably should not be on the same cable as the optical drive.
A disk always has two passwords: A User password and a Master password. Most disks support a Master Password Revision Code, which can tell you if the Master password has been changed, or if it still the factory default. The revision code is word 92 in the IDENTIFY response. A value of 0xFFFE means the Master password is unchanged.
A disk can be locked in two modes: High security mode or Maximum security mode. Bit 8 in word 128 of the IDENTIFY response tell you which mode your disk is in: 0 = High, 1 = Maximum.
In High security mode, you can unlock the disk with either the user or master password, using the "SECURITY UNLOCK DEVICE" ATA command. There is an attempt limit, normally set to 5, after which you must power cycle or hard-reset the disk before you can attempt again.
In Maximum security mode, you cannot unlock the disk without the user password - the only way to get the disk back to a usable state is to issue the SECURITY ERASE PREPARE command, immediately followed by SECURITY ERASE UNIT. The SECURITY ERASE UNIT command requires the Master password and will completely erase all data on the disk. The operation is rather slow, expect half an hour or more for big disks. (Word 89 in the IDENTIFY response indicates how long the operation will take.)
Congestion on the host bus to which the ATA adapter is attached may also limit the maximum burst transfer rate. For example, the maximum data transfer rate for conventional PCI bus is 133 MB/s, and this is shared among all active devices on the bus.
In addition, no ATA hard drives as of 2005 exist capable of measured sustained transfer rates of above 80 MB/s. Furthermore, sustained transfer rate tests do not give realistic throughput expectations for most workloads: They use I/O loads specifically designed to encounter almost no delays from seek time or rotational latency. Hard drive performance under most workloads is limited first and second by those two factors; the transfer rate on the bus is a distant third in importance. Therefore, transfer speed limits above 66 MB/s really affect performance only when the hard drive can satisfy all I/O requests by reading from its internal cache — a very unusual situation, especially considering that such data is usually already buffered by the operating system.
Only the Ultra DMA modes use CRC to detect errors in data transfer between the controller and drive. This is a 16 bit CRC, and it is used for data blocks only. Transmission of command and status blocks do not use the fast signaling methods that would necessitate CRC. For comparison, in Serial ATA, 32 bit CRC is used for both commands and data.
|Standard||Other Names||Transfer Modes (MB/s)||Maximum disk size||Other New Features||ANSI Reference|
|pre-ATA||IDE||PIO 0||2.1 GB||22-bit logical block addressing (LBA)||-|
|ATA-1||ATA, IDE|| PIO 0, 1, 2 (3.3, 5.2, 8.3)|
Single-word DMA 0, 1, 2 (2.1, 4.2, 8.3)
Multi-word DMA 0 (4.2)
|137 GB||28-bit logical block addressing (LBA)|| X3.221-1994|
(obsolete since 1999)
|ATA-2|| EIDE, Fast ATA,|
Fast IDE, Ultra ATA
| PIO 3, 4: (11.1, 16.6)|
Multi-word DMA 1, 2 (13.3, 16.6)
|PCMCIA connector|| X3.279-1996|
(obsolete since 2001)
|ATA-3||EIDE||Single-word DMA modes dropped||S.M.A.R.T., Security, 44 pin connector for 2.5" drives|| X3.298-1997|
(obsolete since 2002)
|ATA/ATAPI-4||ATA-4, Ultra ATA/33|| Ultra DMA 0, 1, 2 (16.7, 25.0, 33.3) |
|AT Attachment Packet Interface (ATAPI) (support for CD-ROM, tape drives etc.), Optional overlapped and queued command set features, Host Protected Area (HPA), CompactFlash Association (CFA) feature set for solid state drives||NCITS 317-1998|
|ATA/ATAPI-5||ATA-5, Ultra ATA/66|| Ultra DMA 3, 4 (44.4, 66.7)|
|80-wire cables; CompactFlash connector||NCITS 340-2000|
|ATA/ATAPI-6||ATA-6, Ultra ATA/100|| UDMA 5 (100)|
|144 PB|| 48-bit LBA, Device Configuration Overlay (DCO),|
Automatic Acoustic Management
|ATA/ATAPI-7||ATA-7, Ultra ATA/133|| UDMA 6 (133)|
|SATA 1.0, Streaming feature set, long logical/physical sector feature set for non-packet devices||NCITS 397-2005 (vol 1) NCITS 397-2005 (vol 2) NCITS 397-2005 (vol 3)|
|ATA/ATAPI-8||ATA-8||—||Hybrid drive featuring non-volatile cache to speed up critical OS files||In progress|
In August 2004, Sam Hopkins and Brantley Coile of Coraid specified a lightweight ATA-over-Ethernet protocol to carry ATA commands over Ethernet instead of directly connecting them to a PATA host adapter. This permitted the established block protocol to be reused in Network-attached storage applications.