NOTOC Advanced Technology Attachment (ATA) is a standard interface for connecting storage devices such as hard disks and CD-ROM drives inside personal computers. With the introduction of Serial ATA in 2003, the original ATA was retroactively renamed Parallel ATA (PATA). Parallel ATA standards only allow cable lengths up to 18 inches (up to 450 mm) although cables up to 36 inches (900 mm) can be readily purchased. Because of this length limit, the technology normally appears as an internal computer storage interface. It provides the most common and the least expensive interface for this application.
40 PIN IDC MALE at the controller & peripherals
40 PIN IDC FEMALE at the cable
|20||KEY||-||Key (Pin missing)|
|28||SPSYNC:CSEL||?||Spindle Sync or Cable Select|
|32||/IOCS16||?||IO ChipSelect 16|
- Direction is Controller relative Devices (Harddisks).
[The following article is licensed under the GNU Free Documentation License. It reproduces the Wikipedia article “Advanced Technology Attachment”]
Although the standard has always had the official name “ATA”, marketing dictates dubbed an early version of the standard Integrated Drive Electronics (IDE), and the one following it Enhanced IDE (EIDE). Although these new names originated in branding convention and not as an official standard, the term EIDE often appears interchangeably with IDE and ATA. With the introduction of Serial ATA around 2003, this configuration was retroactively renamed to Parallel ATA (P-ATA), referring to the method in which data travels over wires in this interface. The interface at first only worked with hard disks, but eventually an extended standard came to work with a variety of other devicesgenerally those using removable media. Principally, these devices include CD-ROM and DVD-ROM drives, tape drives, and large-capacity floppy drives such as the Zip drive and SuperDisk drive. The extension bears the name Advanced Technology Attachment Packet Interface (ATAPI), with the full standard now known as ATA/ATAPI. The movement from programmed input/output (PIO) to direct memory access (DMA) provided another important transition in the history of ATA. As every word must be read by the CPU individually PIO tends to be slow and use a lot of CPU. This is especially a problem on faster CPUs where accessing an address outside of the cacheable main memory (whether in the I/O map or the memory map) is a relatively expensive process. This meant that systems based around ATA devices generally performed disk-related activities much more slowly than computers using SCSI or other interfaces. However, DMA (and later Ultra DMA, or UDMA) greatly reduced the amount of processing time the CPU had to use in order to read and write the disks by allowing the disk controller to write data to memory directly, thus bypassing the CPU. ATA devices have suffered from a number of “barriers” in terms of how much data they can handle. However, new addressing systems and programming techniques have broken most of these barriers. Some of the ATA-specific barriers included: 504 MB, 8 GB, 32 GB, and 137 GB. A variety of other barriers have existed, usually due to device drivers and disk I/O layers in operating systems that did not correspond with ATA standards. The original ATA specification used a 28-bit addressing mode. This allows for the addressing of 268,435,456 512-byte sectors (128 GiB or 137 GB). The standard PC BIOS system supported up to 8 GiB. Unfortunately, when the lowest common denominators of the CHS limitations in the standard PC BIOS system and the IDE standard were combined the system as a whole was left limited to a mere 512 Megabytes. LBA was introduced removing the need for the CHS structure of the drive itself to match that used by the BIOS and allowing up to the full 8 GiB supported by the standard BIOS limitations. In time this limitation was itself lifted and first 32 GiB and then the full 128 GiB supported by ATA at that time became supported by PC BIOSes. The newer specification allows 48-bit addressing, this extends the limit to 128 PiB (or 144 petabytes). Most operating systems have poor support for drives more than 2 TiB, so it can be expected that will be the next drive size barrier for the near future. These size limitations come about because some part of the system is unable to deal with block addresses above some limit. This problem may manifest itself by the system thinking the size of a drive is only the limit value, or by the system refusing to boot and hanging on the BIOS screen at the point when drives are initialised. In some cases, a BIOS upgrade for the motherboard will resolve the problem. This problem is found in older external FireWire disk enclosures, which limit the usable size of a disk to 128GB. By early 2005 most enclosures available have practically no limit. (Earlier versions of the popular Oxford 911 FireWire chipset had this problem. Later Oxford 911 versions and all Oxford 922 chips resolve the problem.)
Parallel ATA Interface
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 a controller that interfaces with the rest of the computer system. The remaining one or two connectors plug into drives. Parallel ATA cables transfer data 16 bits at a time. One occasionally finds cables that allow for the connection of three ATA devices onto one IDE channel, but in this case one drive remains read-only (this type of configuration virtually never occurs).
ATA’s ribbon cables had 40 wires for most of its history, but an 80-wire version appeared with the introduction of the Ultra DMA/66 (UDMA4) mode. All of the additional wires in the new cable are ground wires, interleaved with the previously defined wires. This results in a ground wire in between each pair of signal wires, which reduces the effects of coupling between neighboring signal wires, thereby reducing crosstalk. Coupling is more of a problem at higher transfer rates, and this change was necessary to enable the 66 megabyte 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 on 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.
The ATA standard has always specified a maximum cable length of just 18 inches, or 46 cm. This can cause difficulties in connecting drives within large computer cases, or when mounting several physical drives into one computer, and it all but completely eliminates the possibility of using parallel ATA for external devices. Although longer cables are widely available on the market, it must be understood that they are outside the parameters set by the specifications. The same is true of the “rounded” cables also commonly available: The ATA standard describes flat cables with particular impedance and capacitance characteristics. This is of course not a guarantee that other cables will not work, but an indication that nonstandard cables should be used, if at all, with caution.
If two devices attach to a single cable, one is commonly referred to as a master and the other as a slave. The master drive generally appears first when the computer’s bios and/or operating system enumerates available drives. On old BIOSes (486 era and older) the drives are often misleadingly referred to by the bios as “C” for the master and “D” for the slave.
If there is a single device on a cable, in most cases it should be configured as master. However, some hard drives have a special setting called single for this configuration (the brand Western Digital, in particular, uses this additional setting). Also, depending on the hardware and software available, a single drive can operate on a cable even though configured as the slave drive (this configuration is most often seen when a CDROM 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 controller 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.
With the 40-wire cable it was very common to implement cable select by simply cutting this wire between the two device connectors. This puts the slave device at the end of the cable, and the master on the “middle” connector. This arrangement eventually was standardized in later versions of the specification. Unfortunately, if there is just one device on the cable, this results in an unused “stub” of cable. This is undesirable, both 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 with UDMA4, these details were changed. The master device now goes at the end of the cable, so if there is only one 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. Since 80-wire cables require special connectors anyway, this was a small additional effort. The standard also dictates color-coded connectors to tell the installer and cable maker which plug is which.
Although they are in extremely 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 master drive arbitrates access to devices on the channel.” In fact, the drivers in the host operating system perform the necessary arbitration and serialization. If device 1 is busy with a command then device 0 cannot start a command until device 1’s command is complete, and vice versa. There is therefore no point in the ATA protocols in which one device has to ask the other if it can use the channel. Both are really “slaves” to the driver in the host OS.
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/sec for UDMA4, commonly called “Ultra-DMA 66”) 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 controller is attached may also limit the maximum burst transfer rate. For example, the maximum data transfer rate for conventional PCI bus is 133 MB/sec, and this is shared among all active devices on the bus. In addition, as of October 2005 no ATA hard drives exist capable of measured sustained transfer rates of above 80 MB/sec, let alone higher. 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/sec only really affect performance when the hard drive can satisfy all I/O requests by reading from its internal cache a very unusual situation.
|Standard||Other Names||Transfer Modes Added (MB/sec)||Other New Features||ANSI Reference|
|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) | up to 528 MB | [X3.221-1994](http://www.t13.org/project/d0791r4c-ATA-1.pdf) (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) | 24-bit LBA (up to 8.4 GB) | X3.279-1996 (obsolete since 2001) | | ATA-3 | EIDE | “ | 28-bit LBA (up to 137 GB) S.M.A.R.T., Security | X3.298-1997 (obsolete since 2002) | | ATA-4 | ATAPI-4, ATA/ATAPI-4 | Ultra DMA 0,1,2 (16.7, 25.0, 33.3) aka Ultra-DMA/33 | Support for CD-ROM, etc., via ATAPI packet commands | NCITS 317-1998 | | ATA-5 | ATA/ATAPI-5 | Ultra DMA 3,4 (44.4, 66.7) aka Ultra DMA 66 | 80-wire cables | NCITS 340-2000 | | ATA-6 | ATA/ATAPI-6 | UDMA 5 (100) aka Ultra DMA 100 | 48-bit LBA (up to 144 PB) Automatic Acoustic Management | NCITS 347-2001 | | ATA-7 | ATA/ATAPI-7 | UDMA 6 (133) aka Ultra DMA 133 | – | NCITS 361-2002 | | ATA-8 | ATA/ATAPI-8 | – | – | in progress |
- Wikipedia article “Advanced Technology Attachment”
- Overview and History of the IDE/ATA Interface
- ATA/ATAPI history
- Enhanced IDE/Fast-ATA/ATA-2 FAQ
- Hard Drive Size Barriers
- T13 Technical Standards Group