Parallel ATA: Difference between revisions
→Features introduced with each ATA revision: Newer ATA-6 working draft. |
→Features introduced with each ATA revision: Newer ATA-7 working drafts. |
||
Line 362: | Line 362: | ||
| ATA/ATAPI-6 || ATA-6, {{nowrap|Ultra ATA/100}} || UDMA 5<br />aka UDMA/100|| 128 [[Pebibyte|PiB]] (144 [[Petabyte|PB]]) || 48-bit LBA, [[Device Configuration Overlay]] (DCO),<br />[[Automatic Acoustic Management]] (AAM) || [http://www.t13.org/Documents/UploadedDocuments/project/d1410r3b-ATA-ATAPI-6.pdf NCITS 361-2002] |
| ATA/ATAPI-6 || ATA-6, {{nowrap|Ultra ATA/100}} || UDMA 5<br />aka UDMA/100|| 128 [[Pebibyte|PiB]] (144 [[Petabyte|PB]]) || 48-bit LBA, [[Device Configuration Overlay]] (DCO),<br />[[Automatic Acoustic Management]] (AAM) || [http://www.t13.org/Documents/UploadedDocuments/project/d1410r3b-ATA-ATAPI-6.pdf NCITS 361-2002] |
||
|- |
|- |
||
| ATA/ATAPI-7 || ATA-7, {{nowrap|Ultra ATA/133}} || UDMA 6<br />aka UDMA/133<br />SATA/150 || || [[Serial ATA|SATA]] 1.0, Streaming feature set, long logical/physical sector feature set for non-packet devices || {{nowrap begin}}[http://www.t10.org/t13/ |
| ATA/ATAPI-7 || ATA-7, {{nowrap|Ultra ATA/133}} || UDMA 6<br />aka UDMA/133<br />SATA/150 || || [[Serial ATA|SATA]] 1.0, Streaming feature set, long logical/physical sector feature set for non-packet devices || {{nowrap begin}}[http://www.t10.org/t13/docs2004/d1532v1r4b-ATA-ATAPI-7.pdf NCITS 397-2005 (vol 1)]{{wrap}}[http://www.t10.org/t13/docs2004/d1532v2r4b-ATA-ATAPI-7.pdf NCITS 397-2005 (vol 2)]{{wrap}}[http://www.t10.org/t13/docs2004/d1532v3r4b-ATA-ATAPI-7.pdf NCITS 397-2005 (vol 3)]{{nowrap end}} |
||
|- |
|- |
||
| ATA/ATAPI-8 || ATA-8 || — || || [[Hybrid drive]] featuring non-volatile cache to speed up critical OS files || In progress<ref>{{cite web |url=http://www.t13.org/documents/UploadedDocuments/docs2010/d1697r4-1697D_AT_Attachment-8_-_Serial_Transport_ATA8-AST.pdf |title=ATA-8 standard working draft T13/1697-D rev. 4 |date=23 June 2010 }}</ref> |
| ATA/ATAPI-8 || ATA-8 || — || || [[Hybrid drive]] featuring non-volatile cache to speed up critical OS files || In progress<ref>{{cite web |url=http://www.t13.org/documents/UploadedDocuments/docs2010/d1697r4-1697D_AT_Attachment-8_-_Serial_Transport_ATA8-AST.pdf |title=ATA-8 standard working draft T13/1697-D rev. 4 |date=23 June 2010 }}</ref> |
Revision as of 23:16, 11 November 2011
Type | Internal storage device connector | ||
---|---|---|---|
Production history | |||
Designer | Western Digital, subsequently amended by many others | ||
Designed | 1986 | ||
Superseded by | Serial ATA (2003) | ||
General specifications | |||
Hot pluggable | No | ||
External | No | ||
Cable | 40 or 80 wires ribbon cable | ||
Pins | 40 | ||
Data | |||
Width | 16 bits | ||
Bitrate |
16 MB/s originally later 33, 66, 100 and 133 MB/s | ||
Max. devices | 2 (master/slave) | ||
Protocol | Parallel | ||
Pinout | |||
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), originally ATA, is an interface standard for the connection of storage devices such as hard disks, solid-state drives, floppy drives, and optical disc 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 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 are still in common informal use. After the introduction of Serial ATA in 2003, the original ATA was renamed Parallel ATA, PATA for short.
Parallel ATA cables have a maximum allowable length of only 18 in (457 mm).[citation needed] Because of this 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. It has largely been replaced by Serial ATA (SATA) in newer systems.
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 "AT" in "IBM PC/AT" is an initialism for "Advanced Technology," but that term does not appear in current or recent versions of the ATA specification; it is simply "AT Attachment". This name was chosen to avoid possible trademark issues.
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 bus 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]
A short-lived, seldom-used implementation of ATA was created for the IBM XT and similar machines that used the 8-bit version of the ISA bus. It has been referred to as "XTA" or "XT Attachment."[7]
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 did not 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,[8] 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. Called the "primary" and "secondary" ATA interfaces, they were assigned to base addresses 0x1F0 and 0x170 on ISA bus systems.
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.[9][10]
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,[10] 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 (SFF) 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. One commonly used set is defined in the MMC SCSI command set.
ATAPI was adopted as part of ATA in INCITS 317-1998, AT Attachment with Packet Interface Extension (ATA/ATAPI-4).[11][12][13]
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).
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.
x86 BIOS size limitations
Initially the size of an ATA drive was stored in the system x86 BIOS using a type number 1 - 45 that predefined the C/H/S parameters [14] and also often the landing zone, in which the drive heads are parked while not in use. Later a "user definable" format[14] called C/H/S or cylinders, heads, sectors were made available. These numbers were important for the earlier ST-506 interface, but were generally meaningless for ATA—the CHS parameters for later ATA large drives often specified impossibly high numbers of heads or sectors that did not actually define the internal physical layout of the drive at all. From the start and up to ATA-2 every user had to specify explicitly how large every attached drive was. From ATA-2 an "identify drive" command were implemented that can be sent and which will return all drive parameters.
Due to a lack of foresight by motherboard manufacturers, the system BIOS was often hobbled by artificial C/H/S size limitations due to the manufacturer assuming certain values would never exceed a certain numerical maximum.
The first of these BIOS limits occurred when ATA drives reached sizes in excess of 504 megabytes. Because some motherboard BIOS would not allow C/H/S values above 1024 cylinders, 16 heads, and 63 sectors. Multiplied by 512 bytes per sector, this totals 528 482 304 bytes which divided by 1 048 576 bytes per megabyte, equals 504 megabytes.
The second of these BIOS limitations occurred at 1024 cylinders, 256 heads, and 63 sectors, but a bug in MS-DOS and MS-Windows 95 limit the number heads to 255. This totals to 8 422 686 720 bytes, commonly referred to as the 8.4 gigabyte barrier. This is also a limit imposed by x86 BIOSes, and not a limit imposed by the ATA interface.
It was eventually determined that these size limitations could be overridden with a tiny program loaded at startup from a hard drive's boot sector. Some hard drive manufacturers such as Western Digital started including these override utilities with new large hard drives to help overcome these problems. However, if the computer were booted in some other manner without loading the special utility, the invalid BIOS settings would be used, and the drive could either be inaccessible or could appear to be damaged to the operating system.
Later an extension to the x86 BIOS disk services called the "Extended Disk Drive" (EDD) were made available which makes it possible to address drives as large as 264 bytes.[15]
Interface size limitations
Due to lack of foresight the first drive interface used 22-bit addressing mode which resulted in a maximum drive capacity of 2 GByte. Later the first formalized 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).[16]
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.[17] Older operating systems, such as Windows 98, do not support 48-bit LBA at all.
Obsolescence
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 (Serial ATA), use of Parallel ATA declined, and new motherboards had only a single PATA connector, for up to two PATA devices- typically optical drives- along with (typically) six or more SATA connectors for hard drives and other devices. In new computers, the parallel ATA interface is rarely used, and several PC chipsets have removed support for PATA, and motherboard vendors still wishing to offer ATA with those chipsets must include an additional interface chip.
Parallel ATA interface
Parallel ATA cables transfer data 16 bits at a time. The traditional cable uses 40-pin connectors attached 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.
ATA's 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.
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, black, and gray for controller, master drive, and slave drive respectively) as opposed to uniformly colored 40-wire cable's connectors (commonly all gray). The gray connector on 80-conductor cables has pin 28 CSEL not connected, making it the slave position for drives configured cable select.
Round parallel ATA cables (as opposed to ribbon cables) were eventually made available for 'case modders' for cosmetic reasons, as well as claims of improved computer cooling and were easier to handle; however, only ribbon cables are supported by the ATA specifications.
- Pin 20
In the ATA standard pin 20 is defined as (mechanical) key and is not used. This socket on the female connector is often obstructed, requiring pin 20 to be omitted from the male cable or drive connector, making it impossible to plug it in the wrong way round; a male connector with pin 20 present cannot be used. However, some flash memory drives can use pin 20 as VCC_in to power the drive without requiring a special power cable; this feature can only be used if the equipment supports this use of pin 20.[18]
- 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.[19]
Differences between connectors on 80-conductor cables
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 will often work reliably even though configured as the slave drive (most often seen where 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 extremely common use, the terms "master" and "slave" do not actually appear in current versions of the ATA specifications. The two devices are simply referred to as "device 0" and "device 1", respectively, in ATA-2 and later.
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 onboard controller operates independently of the other.
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".[20]
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.[21]
"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 Master 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.) [22]
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,[23] 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.
Compact Flash interface
Compact flash is essentially just a miniaturized ATA interface, for use on devices that use flash memory storage. No interfacing chips or circuitry are required, other than to directly adapt the smaller CF socket onto the larger ATA connector.
The ATA connector specification does not include pins for supplying power to a CF device, so power is inserted into the connector from a separate source.
CF devices can be designated as master or slave on an ATA interface, though since most CF devices offer only a single socket, it is not necessary to offer this selection to end users.
Although CF can be hot pluggable with additional design methods, by default when wired directly to an ATA interface, it is not intended to be hot-pluggable.
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,[24] which is beyond the capabilities of the PATA/133 specification. High-performance flash drives can transfer data at up to 308 MB/s.[25]
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.[26]
Features introduced with each ATA revision
Standard | Other Names | New Transfer Modes | Maximum disk size (512 byte sector) |
Other New Features | ANSI Reference |
---|---|---|---|---|---|
IDE (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. Identify drive command.[27] | X3.279-1996 (obsolete since 2001) | |
ATA-3 | EIDE | Single-word DMA modes dropped[28] | 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 (AAM) |
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[29] |
Speed of defined transfer modes
Mode | # | Maximum transfer rate (MB/s) |
cycle time |
---|---|---|---|
PIO | 0 | 3.3 | 600 ns |
1 | 5.2 | 383 ns | |
2 | 8.3 | 240 ns | |
3 | 11.1 | 180 ns | |
4 | 16.7 | 120 ns | |
Single-word DMA | 0 | 2.1 | 960 ns |
1 | 4.2 | 480 ns | |
2 | 8.3 | 240 ns | |
Multi-word DMA | 0 | 4.2 | 480 ns |
1 | 13.3 | 150 ns | |
2 | 16.7 | 120 ns | |
3[30] | 20 | 100 ns | |
4[30] | 25 | 80 ns | |
Ultra DMA | 0 | 16.7 | 240 ns ÷ 2 |
1 | 25.0 | 160 ns ÷ 2 | |
2 (Ultra ATA/33) | 33.3 | 120 ns ÷ 2 | |
3 | 44.4 | 90 ns ÷ 2 | |
4 (Ultra ATA/66) | 66.7 | 60 ns ÷ 2 | |
5 (Ultra ATA/100) | 100 | 40 ns ÷ 2 | |
6 (Ultra ATA/133) | 133 | 30 ns ÷ 2 | |
7 (Ultra ATA/167)[31] | 167 | 24 ns ÷ 2 |
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,[32] 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 be 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
- Master/slave (technology)
- Advanced Host Controller Interface (AHCI)
- List of device bandwidths
- CE-ATA Consumer Electronics (CE) ATA [1]
- Serial ATA
- FATA (hard drive)
- SCSI
- BIOS for BIOS Boot Specification (BBS)
- INT 13H for BIOS Enhanced Disk Drive Specification (SFF-8039i)
- ATA over Ethernet (AoE)
- IT8212, a low-end Parallel ATA controller
References
- ^ http://www.t13.org T13
- ^ "System Architecture: a look at hard drives". Archived from the original on 2010-11-18. Retrieved 2008-07-25.
IDE drives on-board controllers are configured to appear to the computer like standard ST506 drives
{{cite web}}
: Unknown parameter|deadurl=
ignored (|url-status=
suggested) (help) - ^ Charles M. Kozierok (2001-04-17). "The PC Guide: Overview and History of the IDE/ATA Interface". Retrieved 2008-08-23.
- ^ Gene Milligan (2005-12-18). "The History of CAM ATA". Archived from the original on 2010-11-18. Retrieved 2008-08-27.
{{cite web}}
: Unknown parameter|deadurl=
ignored (|url-status=
suggested) (help) - ^ Charles M. Kozierok (2001-04-17). "The PC Guide: ATA (ATA-1)". Retrieved 2008-08-23.
- ^ Technical Committee T13 AT Attachment (1994). AT Attachment Interface for Disk Drives (ATA-1). Global Engineering Documents.
{{cite book}}
: CS1 maint: numeric names: authors list (link) - ^ Independent Technology Service (2008). "Data Recovery and Hard Disk Drive Glossary of Terms". Retrieved 2011-03-11.
- ^ 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
- ^ Charles M. Kozierok (2001-04-17). "The PC Guide: ATA (ATA-2)". Retrieved 2008-08-23.
- ^ a b Technical Committee T13 AT Attachment (1996). AT Attachment Interface with Extensions (ATA-2). Global Engineering Documents.
{{cite book}}
: Check|authorlink=
value (help); External link in
(help)CS1 maint: numeric names: authors list (link)|authorlink=
- ^ Charles M. Kozierok (2001-04-17). "The PC Guide: SFF-8020 / ATA Packet Interface (ATAPI)". Retrieved 2008-08-23.
- ^ Charles M. Kozierok (2001-04-17). "The PC Guide: ATA/ATAPI-4". Retrieved 2008-08-23.
- ^ Technical Committee T13 AT Attachment (1998). AT Attachment with Packet Interface Extension (ATA/ATAPI-4). Global Engineering Documents.
{{cite book}}
: CS1 maint: numeric names: authors list (link) - ^ a b kursk.ru - Standard CMOS Setup
- ^ teleport.com - Interrupts Page
- ^ 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), etc.
- ^ "Large Disk HOWTO: History of BIOS and IDE limits". Archived from the original on 2010-11-18.
{{cite web}}
: Unknown parameter|deadurl=
ignored (|url-status=
suggested) (help) - ^ Welcome to Transcend website
- ^ http://www.t10.org/t13/project/d1321r3-ATA-ATAPI-5.pdf
- ^ snopes.com: Master/Slave
- ^ Charles M. Kozierok (2001-04-17). "Independent Master/Slave Device Timing". The PC Guide. Retrieved 2008-08-08.
- ^ Rockbox - Unlocking a password protected harddisk
- ^ Hard Drive Passwords Easily Defeated; the Truth about Data Protection, Computer Technology Review. Retrieved 2010-08-12.
- ^ Patrick Schmid and Achim Roos (2010-04-06). "VelociRaptor Returns: 6Gb/s, 600GB, And 10,000 RPM". tomshardware.com. Archived from the original on 2010-11-18. Retrieved 2010-06-26.
{{cite news}}
: Unknown parameter|deadurl=
ignored (|url-status=
suggested) (help) - ^ Patrick Schmid and Achim Roos (2010-04-13). "Spring 2010 Solid State Drive Roundup, Part 2". tomshardware.com. Archived from the original on 2010-11-18. Retrieved 2010-06-26.
{{cite news}}
: Unknown parameter|deadurl=
ignored (|url-status=
suggested) (help) - ^ "serialata — a comparison with ultra ata technology" (PDF). Archived from the original (PDF) on December 3, 2007.
{{cite web}}
: Unknown parameter|deadurl=
ignored (|url-status=
suggested) (help) www.serialata.org - ^ mpcclub.com - Em8550datasheet.pdf
- ^ Direct Memory Access (DMA) Modes and Bus Mastering DMA
- ^ "ATA-8 standard working draft T13/1697-D rev. 4" (PDF). 23 June 2010.
- ^ a b CompactFlash 2.1
- ^ CompactFlash 6.0
- ^ ATAPI Removable Media Device BIOS Specification [dead link]