Parallel ATA

Parallel ATA
Ata 20070127 002.jpg ATA on mainboard.jpg
ATA connector on the left, with two motherboard ATA sockets (slots) on the right.
Type Internal storage device connector
Production history
Designer Western Digital, subsequently amended by many others
Designed 1986
Superseded by Serial ATA (2003)
Specifications
Hot pluggable No
External No
Width 16 bits
Bandwidth 16 MB/s originally
later 33, 66, 100 and 133 MB/s
Max. devices 2 (master/slave)
Protocol Parallel
Cable 40 or 80 wires ribbon cable
Pins 40
Pin out
ATA Plug.svg
Pin 1 Reset
Pin 2 Ground
Pin 3 Data 7
Pin 4 Data 8
Pin 5 Data 6
Pin 6 Data 9
Pin 7 Data 5
Pin 8 Data 10
Pin 9 Data 4
Pin 10 Data 11
Pin 11 Data 3
Pin 12 Data 12
Pin 13 Data 2
Pin 14 Data 13
Pin 15 Data 1
Pin 16 Data 14
Pin 17 Data 0
Pin 18 Data 15
Pin 19 Ground
Pin 20 Key or VCC_in
Pin 21 DDRQ
Pin 22 Ground
Pin 23 I/O write
Pin 24 Ground
Pin 25 I/O read
Pin 26 Ground
Pin 27 IOCHRDY
Pin 28 Cable select
Pin 29 DDACK
Pin 30 Ground
Pin 31 IRQ
Pin 32 No connect
Pin 33 Addr 1
Pin 34 GPIO_DMA66_Detect
Pin 35 Addr 0
Pin 36 Addr 2
Pin 37 Chip select 1P
Pin 38 Chip select 3P
Pin 39 Activity
Pin 40 Ground

Parallel ATA (PATA) is an obsolete interface standard for the connection of storage devices such as hard disks, solid-state drives, and CD-ROM drives in computers. The standard is maintained by X3/INCITS committee[1]. It uses the underlying AT Attachment (ATA) and AT Attachment Packet Interface (ATAPI) standards.

The current Parallel ATA standard is the result of a long history of incremental technical development, which began with the original AT Attachment interface, developed for use in early PC AT equipment. The ATA interface itself evolved in several stages from Western Digital's original Integrated Drive Electronics (IDE) 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. After the market introduction of Serial ATA in 2003, the original ATA was retroactively renamed Parallel ATA.

Parallel ATA only allows cable lengths up to 18 in (457 mm). 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.

Contents

History and terminology

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".

IDE and ATA-1

The first version of what is now called the ATA/ATAPI interface was developed by Western Digital under the name Integrated Drive Electronics (IDE). Together with Control Data Corporation (who manufactured the hard drive part) and Compaq Computer (into whose systems these drives would initially go), they developed the connector, the signaling protocols, and so on with the goal of remaining software compatible with the existing ST-506 hard drive interface.[2] The first such drives appeared in Compaq PCs in 1986.[3][4]

The term Integrated Drive Electronics 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 interface cards used to connect a parallel ATA drive to, for example, a PCI slot are not drive controllers, they are merely bridges between the host bus and the ATA interface. Since the original ATA interface is essentially just a 16-bit ISA slot in disguise, the bridge was especially simple in case of an ATA connector being located on an ISA interface card. 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 mainboard and interface cards 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 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".[5][6]

Second ATA interface

When PC motherboard makers started to include onboard ATA interfaces in place of the earlier ISA plug-in cards, there was usually only one ATA connector on the board, which could support up to two hard drives. At the time in combination with the floppy drive, this was sufficient for most people, and eventually it became common to have two hard drives installed. When the CD-ROM was developed, many computers would have been unable to accept these drives if they had been ATA devices, due to already having two hard drives installed. Adding the CD-ROM drive would have required removal of one of the drives.

SCSI was available as a CD-ROM expansion option at the time, but devices with SCSI were more expensive than ATA devices due to the need for a smart interface that is capable of bus arbitration. SCSI typically added US$ 100-300 to the cost of a storage device, in addition to the cost of a SCSI host adapter.

The less-expensive solution was the addition of a dedicated CD-ROM interface, typically included as an expansion option on a sound card. It was included on the sound card because early business PCs did not include support for more than simple beeps from the internal speaker, and tuneful sound playback was considered unnecessary for early business software. When the CD-ROM was introduced, it was logical to also add digital audio to the computer at the same time (for the same reason, sound cards tended to include a gameport interface for joysticks). An older business PC could be upgraded in this manner to meet the Multimedia PC standard for early software packages that used sound (which required the sound card) and colorful video animation (which required the CD-ROM as floppy disks simply didn't have the necessary data capacity).

The second drive interface initially was not well-defined. It was first introduced with interfaces specific to certain CD-ROM drives such as Mitsumi, Sony or Panasonic drives[7], and it was common to find early sound cards with two or three separate connectors each designed to match a certain brand of CD-ROM drive. This evolved into the standard ATA interface for ease of cross-compatibility, though the sound card ATA interface still usually supported only a single CD-ROM and not hard drives.

This second ATA interface on the sound card eventually evolved into the second motherboard ATA interface which was long included as a standard component in all PCs. For a long period of time, ATA ruled as the primary storage device interface and in some systems a third and fourth motherboard interface was provided (for example, Promise Ultra-100), for up to eight ATA devices attached to the motherboard.

After the introduction of SATA or Serial ATA, use of ATA declined and motherboards began to be shipped with only a single interface, for up to two ATA optical drives, along with two or more SATA connectors for hard drives. Optical drives are now available with SATA, so the ATA interface often goes unused. Several modern PC chipsets have removed support for parallel ATA connectors, so that motherboard vendors still wishing to offer ATA will have to include an additional interface chip for that purpose.

EIDE and ATA-2

In 1994, about the same time that the ATA-1 standard was adopted, Western Digital introduced drives under a newer name, Enhanced IDE (EIDE). These included most of the features of the forthcoming ATA-2 specification and several additional enhancements. Other manufacturers introduced their own variations of ATA-1 such as "Fast ATA" and "Fast ATA-2".

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.[8][9]

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 [9], page 2

ATAPI

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.

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).[10][11][12]

UDMA and ATA-4

The ATA/ATAPI-4 also introduced several "Ultra DMA" transfer modes. These initially supported speeds from 16 MByte/s to 33 MByte/second. In later versions faster Ultra DMA modes were added, requiring a new 80-wire cable to reduce crosstalk. The latest versions of Parallel ATA support up to 133 MByte/s.

Current terminology

The terms "integrated drive electronics" (IDE), "enhanced IDE" and "EIDE" have come to be used interchangeably with ATA (now Parallel ATA, or PATA). However the terms "IDE" and "EIDE" are at best imprecise. Every ATA drive is an "integrated drive electronics" drive, but SCSI drives could also legitimately be described as having "integrated drive electronics". However the abbreviation IDE is rarely, if ever, used for SCSI drives.

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 most Parallel 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 2, the latter providing a maximum transfer rate of 33 megabytes per second. ATA-4 drives are thus sometimes called "UDMA-33" drives, and sometimes "ATA-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.

Drive size limitations

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 128 GiB (137 GB)[13]. 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 128 PiB (144 PB). As a consequence, any ATA drive of capacity larger than about 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 interface.

Some operating systems, including Windows XP pre-SP 1, and Windows 2000, disable 48-bit LBA by default, requiring the user to take extra steps to use the entire capacity of an ATA drive larger than about 137 gigabytes.[14]

Parallel ATA interface

Ribbon cable with two connectors

Until the introduction of Serial ATA, 40-pin connectors generally attached drives to a ribbon cable. Each cable has two or three connectors, one of which plugs into an adapter interfacing with the rest of the computer system. The remaining connector(s) plug into drives. Parallel ATA cables transfer data 16 bits at a time.

ATA's ribbon cables have had 40 wires for most of its history (44 conductors for the smaller form-factor version used for 2.5" drives — the extra four for power), 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.

ATA cables:
40 wire ribbon cable (top)
80 wire ribbon cable (bottom)

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 — controller, gray — slave drive, and black — master drive) as opposed to uniformly colored 40-wire cable's connectors (all black). The gray connector on 80-conductor cables has pin 28 CSEL not connected; making it the slave position for drives configured cable select.

Pin 20

In the ATA standard pin 20 is defined as (mechanical) key and is not used; i.e., this socket on the female connector is often obstructed, and a cable or drive connector with a pin in this position cannot be connected, making it impossible to plug in a connector the wrong way round. However, some flash memory drives can use pin 20 as VCC_in to power the drive without requiring a special power cable[15].

Pin 28

Pin 28 of the gray (slave/middle) connector of an 80 conductor cable is not attached to any conductor of the cable. It is attached normally on the black (master drive end) and blue (motherboard end) connectors.

Pin 34

Pin 34 is connected to ground inside the blue connector of an 80 conductor cable but not attached to any conductor of the cable. It is attached normally on the gray and black connectors. See page 315 of [2].

Differences between connectors on 80-conductor cables

Differences between connectors

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 that they make a 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.

Multiple devices on a cable

If two devices attach to a single cable, one must be designated as device 0 (commonly referred to as master) and the other as device 1 (slave). This distinction is necessary to allow both drives to share the cable without conflict. The master drive is the drive that usually appears "first" to the computer's BIOS and/or operating system. On old BIOSes (Intel 486 era and older), the drives are often referred to by the BIOS as "C" for the master and "D" for the slave following the way DOS would refer to the active primary partitions on each.

The mode that a drive must use is often set by a jumper setting on the drive itself, which must be manually set to master or slave. 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).

Cable select

A drive mode 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 a jumper setting on the drive called "cable select", usually marked CS, which is separate from the "master" or "slave" setting.

Note that if two drives are configured as master and slave manually, this configuration does not need to correspond to their position on the cable. Pin 28 is only used to let the drives know their position on the cable; it is not used by the host when communicating with the drives.

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.

Starting with the 80-wire cable defined for use in ATAPI5/UDMA4, the master device goes at the end of the 18-inch (460 mm) cable—the black connector—and the slave device goes on the middle connector—the gray one—and 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.

Master and slave clarification

Although they are in common use, the terms master and slave do not actually appear in current versions of the ATA specifications. The two devices are correctly referred to as device 0 (master) and device 1 (slave), respectively. It is a common myth that the controller on the master drive assumes control over the slave drive, or that the master drive may claim priority of communication over the other device on the channel. In fact, the drivers in the host operating system perform the necessary arbitration and serialization, and each drive's controller operates independently.

The terms "master" and "slave" have not been without controversy. In 2003, the County of Los Angeles, California, US requested that, when possible, suppliers stop using the terms because the county found them unacceptable in light of its "cultural diversity and sensitivity".[16]

Serialized, overlapped, and queued operations

The parallel ATA protocols up through ATA-3 require that once a command has been given on an ATA interface, it must complete before any subsequent command may be given. Operations on the devices must be serialized—with only one operation in progress at a time—with respect to the ATA host interface. A useful mental model is that the host ATA interface is busy with the first request for its entire duration, and therefore can not be told about another request until the first one is complete. The function of serializing requests to the interface is usually performed by a device driver in the host operating system.

The ATA-4 and subsequent versions of the specification have included an "overlapped feature set" and a "queued feature set" as optional features, both being given the name "Tagged Command Queuing", a reference to a set of features from SCSI which the ATA version attempts to emulate. However, support for these is extremely rare in actual parallel ATA products and device drivers because these feature sets were implemented in such a way as to maintain software compatibility with its heritage as originally an extension of the ISA bus. This implementation resulted in excessive CPU utilization which largely negated the advantages of command queuing. By contrast, overlapped and queued operations have been common in other storage buses, in particular, SCSI's version of tagged command queuing had no need to be software compatible with ISA's APIs, allowing it to attain high performance with low overhead on buses which supported first party DMA like PCI. 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. Many SATA/II hard drives sold today support NCQ, while no removable (CD/DVD) drives do because the ATAPI command set used to control them prohibits queued operations.

Two devices on one cable — speed impact

There are many debates about how much a slow device can impact the performance of a faster device on the same cable. There is an effect, but the debate is confused by the blurring of two quite different causes, called here "Lowest speed" and "One operation at a time".

"Lowest speed"

It is a common misconception that, if two devices of different speed capabilities are on the same cable, both devices' data transfers will be constrained to the speed of the slower device.

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.[17]

"One operation at a time"

This is caused by the omission of both overlapped and queued feature sets from most parallel ATA products. Only one device on a cable can perform a read or write operation at one time, therefore a fast device on the same cable as a slow device under heavy use will find it has to wait for the slow device to complete its task first.

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.

HDD passwords and security

The disk lock is a built-in security feature in the disk. It is part of the ATA specification, and thus not specific to any brand or device. The disk lock can be enabled and disabled by sending special ATA commands to the drive. If a disk is locked, it will refuse all access until it is unlocked.

A disk always has two passwords: A User password and a Master password. Most disks support a Master Password Revision Code. Reportedly some disks can report if the Master password has been changed, or if it still the factory default. The revision code is word 92 in the IDENTIFY response. Reportedly on some disks a value of 0xFFFE means the Master password is unchanged. The standard does not distinguish this value.

A disk can be locked in two modes: High security mode or Maximum security mode. Bit 8 in word 128 of the IDENTIFY response shows which mode the disk is in: 0 = High, 1 = Maximum.

In High security mode, the disk can be unlocked 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 the disk must be power cycled or hard-reset before unlocking can be attempted again. Also in High security mode the SECURITY ERASE UNIT command can be used with either the User or Master password.

In Maximum security mode, the disk cannot be unlocked 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. In Maximum security mode the SECURITY ERASE UNIT command requires the User password and will completely erase all data on the disk. The operation is slow, it may take longer than half an hour or more, depending on the size of the disk. (Word 89 in the IDENTIFY response indicates how long the operation will take.) [18]

While the ATA disk lock is intended to be impossible to defeat without a valid password, there are workarounds to unlock a drive. Many data recovery companies offer unlocking services[19], so while the disk lock will deter a casual attacker, it is not secure against a qualified adversary.

External parallel-ATA devices

It is extremely uncommon to find external PATA devices that directly use the interface for connection to a computer. PATA is primarily restricted to devices installed internally, due to the short data cable specification. A device connected externally needs additional cable length to form a U-shaped bend so that the external device may be placed alongside, or on top of the computer case, and the standard cable length is too short to permit this.

For ease of reach from motherboard to device, the connectors tend to be positioned towards the front edge of motherboards, for connection to devices protruding from the front of the computer case. This front-edge position makes extension out the back to an external device even more difficult. Ribbon cables are poorly shielded, and the standard relies upon the cabling to be installed inside a shielded computer case to meet RF emissions limits.

All external PATA devices, such as external hard drives, use some other interface technology to bridge the distance between the external device and the computer. USB is the most common external interface, followed by Firewire. A bridge chip inside the external devices converts from the USB interface to PATA, and typically only supports a single external device without cable select or master/slave.

ATA standards versions, transfer rates, and features

The following table shows the names of the versions of the ATA standards and the transfer modes and rates supported by each. Note that the transfer rate for each mode (for example, 66.7 MB/s for UDMA4, commonly called "Ultra-DMA 66", defined by ATA-5) gives its maximum theoretical transfer rate on the cable. This is simply two bytes multiplied by the effective clock rate, and presumes that every clock cycle is used to transfer end-user data. In practice, of course, protocol overhead reduces this value.

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 existed in 2005 that were 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 are usually already buffered by the operating system.

As of April 2010 mechanical hard disk drives can transfer data at up to 157 MB/s,[20] which is beyond the capabilities of the PATA/133 specification. High-performance flash drives can transfer data at up to 308 MB/s.[21]

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.[22]

Features introduced with each ATA revision

Standard Other Names New Transfer Modes Maximum disk size
(512 byte sector)
Other New Features ANSI Reference
pre-ATA IDE PIO 0 2 GiB (2.1 GB) 22-bit logical block addressing (LBA) -
ATA-1 ATA, IDE PIO 0, 1, 2
Single-word DMA 0, 1, 2
Multi-word DMA 0
128 GiB (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
Multi-word DMA 1, 2
PCMCIA connector X3.279-1996
(obsolete since 2001)
ATA-3 EIDE Single-word DMA modes dropped[23] 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
aka UDMA/33
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
aka UDMA/66
80-wire cables; CompactFlash connector NCITS 340-2000
ATA/ATAPI-6 ATA-6, Ultra ATA/100 UDMA 5
aka UDMA/100
128 PiB (144 PB) 48-bit LBA, Device Configuration Overlay (DCO),
Automatic Acoustic Management
NCITS 361-2002
ATA/ATAPI-7 ATA-7, Ultra ATA/133 UDMA 6
aka UDMA/133
SATA/150
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

Speed of defined transfer modes

Transfer Modes
Mode # Maximum transfer rate
(MB/s)
PIO 0 3.3
1 5.2
2 8.3
3 11.1
4 16.7
Single-word DMA 0 2.1
1 4.2
2 8.3
Multi-word DMA 0 4.2
1 13.3
2 16.7
3 20
4 25
Ultra DMA 0 16.7
1 25.0
2 (Ultra ATA/33) 33.3
3 44.4
4 (Ultra ATA/66) 66.7
5 (Ultra ATA/100) 100
6 (Ultra ATA/133) 133

Related standards, features, and proposals

ATAPI Removable Media Device (ARMD)

ATAPI devices with removable media, 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. These can be supported as bootable devices by a BIOS complying with the ATAPI Removable Media Device BIOS Specification,[24] originally developed by Compaq Computer Corporation and Phoenix Technologies. It specifies provisions in the BIOS of a personal computer to allow the computer to be bootstrapped from devices such as Zip drives, Jaz drives, SuperDisk (LS-120) drives, and similar devices.

These devices have removable media like floppy disk drives, but capacities more commensurate with hard drives, and programming requirements unlike either. Due to limitations in the floppy controller interface most of these devices were ATAPI devices, connected to one of the host computer's ATA interfaces, similarly to a hard drive or CD-ROM device. However, existing BIOS standards did not support these devices. An ARMD-compliant BIOS allows these devices to booted from and used under the operating system without requiring device-specific code in the OS.

A BIOS implementing ARMD allows the user to include ARMD devices in the boot search order. Usually an ARMD device is configured earlier in the boot order than the hard drive. Similarly to a floppy drive, if bootable media is present in the ARMD drive, the BIOS will boot from it; if not, the BIOS will continue in the search order, usually with the hard drive last.

There are two variants of ARMD, ARMD-FDD and ARMD-HDD. Originally ARMD caused the devices to appear as a sort of very large floppy drive, either the primary floppy drive device 00h or the secondary device 01h. Some operating systems required code changes to support floppy disks with capacities far larger than any standard floppy disk drive. Also, standard-floppy disk drive emulation proved to be unsuitable for certain high-capacity floppy disk drives such as Iomega Zip drives. Later the ARMD-HDD, ARMD-"Hard disk device", variant was developed to address these issues. Under ARMD-HDD, an ARMD device appears to the BIOS and the operating system as a hard drive.

ATA over Ethernet

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 storage area network (SAN) applications.

See also

References

  1. http://www.t13.org T13
  2. "System Architecture: a look at hard drives". http://www.ackadia.com/computer/system-architecture/system-architecture-harddrive.php. Retrieved 2008-07-25. ""IDE drives on-board controllers are configured to appear to the computer like standard ST506 drives"" 
  3. Charles M. Kozierok (2001-04-17). "The PC Guide: Overview and History of the IDE/ATA Interface". http://www.pcguide.com/ref/hdd/if/ide/over.htm. Retrieved 2008-08-23. 
  4. Gene Milligan (2005-12-18). "The History of CAM ATA". http://www.ata-atapi.com/histcam.html. Retrieved 2008-08-27. 
  5. Charles M. Kozierok (2001-04-17). "The PC Guide: ATA (ATA-1)". http://www.pcguide.com/ref/hdd/if/ide/stdATA-c.html. Retrieved 2008-08-23. 
  6. Technical Committee T13 AT Attachment (1994). AT Attachment Interface for Disk Drives (ATA-1). Global Engineering Documents. 
  7. Creative Labs sound card documentation showing diagram with custom Mitsumi, Sony, and Panasonic CD-ROM drive connectors http://stason.org/TULARC/pc/sound-cards-multimedia/CREATIVE-LABS-INC-Sound-card-16-BIT-AUDIO-CARD-PAN.html
  8. Charles M. Kozierok (2001-04-17). "The PC Guide: ATA (ATA-2)". http://www.pcguide.com/ref/hdd/if/ide/stdATA2-c.html. Retrieved 2008-08-23. 
  9. 9.0 9.1 [|Technical Committee T13 AT Attachment] (1996). AT Attachment Interface with Extensions (ATA-2). Global Engineering Documents. 
  10. Charles M. Kozierok (2001-04-17). "The PC Guide: SFF-8020 / ATA Packet Interface (ATAPI)". http://www.pcguide.com/ref/hdd/if/ide/stdATAPI-c.html. Retrieved 2008-08-23. 
  11. Charles M. Kozierok (2001-04-17). "The PC Guide: ATA/ATAPI-4". http://www.pcguide.com/ref/hdd/if/ide/stdATA4-c.html. Retrieved 2008-08-23. 
  12. Technical Committee T13 AT Attachment (1998). AT Attachment with Packet Interface Extension (ATA/ATAPI-4). Global Engineering Documents. http://www.t13.org/. 
  13. Disk-based memory (hard drives), solid state disk devices such as USB drives, DVD-based storage, bit rates, bus speeds, and network speeds, are specified using decimal meanings for K (10001), M (10002), G (10003), ...
  14. "Large Disk HOWTO: History of BIOS and IDE limits". http://tldp.org/HOWTO/Large-Disk-HOWTO-4.html. 
  15. Welcome to Transcend website
  16. [1]
  17. Charles M. Kozierok (2001-04-17). "Independent Master/Slave Device Timing". The PC Guide. http://www.pcguide.com/ref/hdd/if/ide/confTiming-c.html. Retrieved 2008-08-08. 
  18. Rockbox - Unlocking a password protected harddisk
  19. Hard Drive Passwords Easily Defeated; the Truth about Data Protection, Computer Technology Review, retrieved 2010-08-12
  20. Patrick Schmid and Achim Roos (2010-04-06). "VelociRaptor Returns: 6Gb/s, 600GB, And 10,000 RPM". tomshardware.com. http://www.tomshardware.com/reviews/wd6000hlhx-velociraptor-600gb,2600-5.html. Retrieved 2010-06-26. 
  21. Patrick Schmid and Achim Roos (2010-04-13). "Spring 2010 Solid State Drive Roundup, Part 2". tomshardware.com. http://www.tomshardware.com/reviews/6gb-s-ssd-hdd,2603-7.html. Retrieved 2010-06-26. 
  22. "serialata — a comparison with ultra ata technology". http://www.serialata.org/docs/serialata%20-%20a%20comparison%20with%20ultra%20ata%20technology.pdf.  www.serialata.org
  23. http://www.pcguide.com/ref/hdd/if/ide/modesDMA-c.html
  24. ATAPI Removable Media Device BIOS Specification