Studying for the A+, Network+ or Security+ exams? Get over 2,600 pages of FREE study guides at CertiGuide.com!|
Join the PC homebuilding revolution! Read the all-new, FREE 200-page online guide: How to Build Your Own PC!
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.
|Take a virtual vacation any time at DesktopScenes.com - view my art photos online for FREE in either Flash or HTML!|
Overview and History of the IDE/ATA Interface
As I mentioned in the introductory page to my coverage of this interface, its common name, "IDE", also tells you quite a bit about its history. IDE drives were the first ones to popularize integrating the logic controller onto the hard disk itself. This change corrected many of the problems that had been associated with hard disks up to that point, such as poor signal integrity, complexity and the need for every controller to be "generically" capable of dealing with any hard disk. You can read more about the logic board and its significance on this page. Here's a (brief) bit of history of how integrated disk controllers, and the IDE/ATA interface itself, came about.
The very first hard disks to have integrated controllers weren't technically using the IDE/ATA interface as we currently know it. They were in fact so-called "hardcards", which were designed and sold by the "Plus Development" division of Quantum. These devices were simply 3.5" hard disks that were mounted directly to a controller card that plugged into an ISA expansion slot. They were popular amongst those who wanted to add additional storage to existing systems, because of their simplicity: with the disk and controller integrated, one could just slap the package into an existing PC like any add-in peripheral, without affecting the existing hard disk and controller.
While an ingenious idea--one that basically put Quantum "on the map" in the hard disk world--these hardcards had several problems. Hard disks are heavy, and are mechanical devices. They just aren't well-suited to being mounted in expansion slots like a video card or modem. Physical support for expansion cards is poor, because they are held in place using just one screw; this resulted in vibration issues. The width of the drive would typically block off at least one additional bus slot, meaning one of these devices took two expansion bus slots. Cooling was also sometimes a problem. Of course, all of these are physical implementation issues, and don't detract from the significance of the advance in integrating the controller and disk assembly.
It didn't take long until manufacturers realized that there was really no reason to keep the hard disk physically on the controller at all. They decided to put the controller on the bottom of the hard disk and move the entire hard disk and controller assembly to a regular drive bay. The connection to the system bus was maintained through the use of a cable that ran either directly to a system bus slot, or to a small interfacing card that plugged into a system bus slot. In many ways, then, these drives were connected directly to the ISA system bus. The official name for the interface, "AT Attachment", reflects this, as the IBM PC/AT was the first PC to use the now-standard 16-bit ISA bus.
The origins of the actual IDE/ATA interface go back to around the same time of the hardcard. Compaq Computer, an up-and-coming competitor to IBM at the time (and still a major market player today) wanted to integrate the hard disk controller into the hard disk itself to improve flexibility and save a bus slot. They worked to create the precursors of the modern IDE interface electronics with Western Digital (which was then an interface logic company and not a hard disk maker) and a division of Control Data Corporation that is now part of Seagate--isn't this fun? :^) Compaq began selling PCs with integrated hard disks using Western Digital controllers starting with their IBM-compatible Deskpro 386 in 1986. Other manufacturers quickly caught on to the idea and the IDE concept grew in popularity rather quickly.
As system and hard disk performance improved, the slow speed of the ISA bus became an issue, so interface cards--often called controller cards, despite the confusion that this causes--were created for the higher speed VESA local bus, and then the PCI bus. Today, all modern PCs have their IDE/ATA interface attached directly to the PC bus.
The next evolution of how IDE/ATA drives interface to the system occurred when it became obvious that every PC was going to have a hard disk, and it was therefore silly to waste an expansion slot even on a hard disk interface card. Chipset manufacturers began integrating IDE/ATA hard disk controllers into their chipsets, so that instead of connecting the drives to a controller card, they were connected directly to the motherboard. With this change, integration of the interface was complete, with all the logic either on the motherboard, or the hard disk itself. This is the technique that is used today (though one can still add a physical controller card if necessary.)
In terms of its basic operation, the IDE/ATA interface is fairly straight-forward, and also reflects its origins as an extension of the ISA system bus. The connection between the system and the hard disks is 16 bits wide, so two bytes of data are passed at a time between the system and any hard disk. This is true regardless of the width of the system bus, and persists even today with high-performance enhancements like Ultra DMA. Two drives are supported on each IDE/ATA channel, with special signaling used to ensure that commands sent for one drive don't interfere with the other. Over time, many performance and reliability features have evolved as the interface has matured, which I will go into in detail as we discuss the various aspects of the IDE/ATA interface.
Note: In the early days
of IDE, there were two other variants on the IDE/ATA interface, that were not compatible
with regular IDE/ATA. One was an 8-bit version intended for use on the ancient 8-bit ISA
bus of the first IBM PC/XT machines and clones. Another was a 16-bit version designed for
IBM's MCA (MicroChannel) systems.
Both of these have been obsolete for a decade or more and are no longer seen in modern
systems; I do not cover them on this site (other than this note. :^) )