Learn about the technologies behind the Internet with The TCP/IP Guide!|
NOTE: Using robot software to mass-download the site degrades the server and is prohibited. See here for more.
Find The PC Guide helpful? Please consider a donation to The PC Guide Tip Jar. Visa/MC/Paypal accepted.
|View over 750 of my fine art photos any time for free at DesktopScenes.com!|
[ The PC Guide | Systems and Components Reference Guide | Hard Disk Drives | Hard Disk Interfaces and Configuration | Integrated Drive Electronics / AT Attachment (IDE/ATA) Interface | Official IDE/ATA Standards and Feature Sets ]
SFF-8020 / ATA Packet Interface (ATAPI)
Originally, the IDE/ATA interface was designed to work only with hard disks. CD-ROMs and tape drives used either proprietary interfaces (often implemented on sound cards), the floppy disk interface (which is slow and cumbersome) or SCSI. In the early 1990s it became apparent that there would be enormous advantages to using the standard IDE/ATA interface to support devices other than hard disks, due to its high performance, relative simplicity, and universality. The intention was not to replace SCSI of course, but rather to get rid of the proprietary interfaces (which nobody really likes) and the slow floppy interface for tape drives.
Unfortunately, because of how the ATA command structure works, it wasn't possible to simply put non-hard-disk devices on the IDE channel and expect them to work. Therefore, a special protocol was developed called the AT Attachment Packet Interface or ATAPI. The ATAPI standard is used for devices like optical, tape and removable storage drives. It enables them to plug into the standard IDE cable used by IDE/ATA hard disks, and be configured as master or slave, etc. just like a hard disk would be. When you see a CD-ROM or other non-hard-disk peripheral advertised as being an "IDE device" or working with IDE, it is really using the ATAPI protocol.
Internally, however, the ATAPI protocol is not identical to the standard ATA (ATA-2, etc.) command set used by hard disks at all. The name "packet interface" comes from the fact that commands to ATAPI devices are sent in groups called packets. ATAPI in general is a much more complex interface than regular ATA, and in some ways resembles SCSI more than IDE in terms of its command set and operation. (At the time it was created, SCSI was the interface of choice for many CD-ROM and higher-end tape drives.)
A special ATAPI driver is used to communicate with ATAPI devices. This driver must be loaded into memory before the device can be accessed (most newer operating systems support ATAPI internally and in essence, load their own drivers for the interface). The actual transfers over the channel use regular PIO or DMA modes, just like hard disks, although support for the various modes differs much more widely by device than it does for hard disks. For the most part, ATAPI devices will coexist with IDE/ATA devices and from the user's perspective, they behave as if they are regular IDE/ATA hard disks on the channel. Newer BIOSes will even allow booting from ATAPI CD-ROM drives.
The first standard that described ATAPI wasn't actually even developed by the people who maintain the ATA standards. It was defined by the Small Form Factor committee, an industry group that traditionally defined standards for physical issues like PC cables and screw hole locations, but somehow got involved in storage interfacing. The first ATAPI standard document produced by this group was called SFF-8020 (later renamed INF-8020), which is now quite old and obsolete. In the late 1990s, the T13 Technical Committee took over control of the ATAPI command set and protocol, combining it with ATA into the ATA/ATAPI-4 standard.