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!

[ The PC Guide | Systems and Components Reference Guide | Hard Disk Drives | Hard Disk Interfaces and Configuration | Integrated Drive Electronics / AT Attachment (IDE/ATA) Interface | IDE/ATA Configuration and Cabling ]

IDE/ATA Controllers

Every PC system that uses the IDE/ATA interface has at least one IDE/ATA controller. Now, as soon as you read that, a question probably formed in your mind: isn't the drive controller built into the drive in IDE, and in fact, wasn't that the whole point of how the name "IDE" came about? And you're absolutely right. Unfortunately, naming conventions in the PC world often leave much to be desired. A device that resides within the system and interfaces with a peripheral device is often commonly called a "controller", even though this isn't technically accurate. (As just one other example, the circuit on the motherboard that interfaces to the keyboard is called a "keyboard controller" even though keyboards also have their own built-in controllers.) At any rate, "a rose is a rose" and all that... :^)

So what exactly does this so-called IDE/ATA controller do, if not control the hard disk? Well, it acts as the middleman between the hard disk's internal controller and the rest of the system. As such, its less common name is the more accurate one: IDE/ATA interface controller. The controller (whatever its name) is what manages the flow of information over the IDE/ATA channels, allowing the hard disk to talk to the rest of the PC.

Traditionally--meaning: "back in the olden days" :^)--the IDE/ATA controller was a discrete interface card that plugged into a system expansion slot. The first IDE/ATA controllers were ISA bus cards. These were functional, and appropriate for technology of the late 1980s and early 1990s, but the ISA bus is very slow--throughput was limited to a maximum of about 8 MB/s. Other uncommon buses of that era such as EISA and MCA also had IDE/ATA controllers to suit, but those technologies never caught on. The creation of the VESA local bus meant a great improvement in performance for hard disks using controllers on that bus. In some cases, multi-function controller cards were used, providing both IDE/ATA interfacing, floppy drive interfaces and serial and parallel ports as well.

IDE/ATA controllers were transformed with the creation of the PCI bus in the mid-1990s, and Intel's decision to integrate the interface control functions into their new chipsets. Since that time, virtually every new motherboard has come with the interface controller built in, saving the cost of a separate controller card and also saving a PCI bus slot. The IDE/ATA cables simply connect to appropriate connectors on the motherboard; a much simpler arrangement.

A pair of IDE/ATA interface connectors on a typical motherboard.
If you look closely, you can see the word "PRIMARY" above the top
connector, identifying it as the connector for the primary IDE/ATA channel.

Of course, discrete PCI controllers continue to be made, and they are relatively inexpensive. These are commonly used for two main reasons: for expansion, if more IDE/ATA devices need to be used on a system, or to get around BIOS limitations of the built-in IDE/ATA controllers, enabling access to larger drives or faster transfer modes. In most cases, it is possible to use both the built-in and added-in controllers, as long as they are properly configured--or the built-in controllers can be disabled to free up system resources.

Tip: Another reason that sometimes add-in controllers are installed in a system is to provide support for IDE/ATA RAID. You can read more about RAID in general here.

An after-market, PCI-based IDE/ATA controller (the Promise Ultra66).
Note the PCI interface connector on the bottom. The two
IDE/ATA channel connectors on the top of the card are where
IDE/ATA cables from the drives are attached to the card.

Some time in the next few years, even PCI will eventually become too limiting to handle the maximum throughput of the fastest IDE/ATA drives. The practical limit of the standard 32-bit, 33 MHz PCI bus is about 100 MB/s, and that's already the interface speed of current Ultra DMA/100 drives; maximum sustained transfer rates are about half that. It won't be long before regular PCI is just not up to the task. In fact, this is already happening with SCSI, because SCSI drives are faster and more than one can transfer data at a time. SCSI host adapters ("controllers") are now showing up using enhancements to the PCI bus such as 64-bit PCI, or PCI-X.

Note: Add-in ATA controllers may appear to the system as if they were actually SCSI controllers. This means that they may be listed as SCSI controllers in the Windows device manager. To enable booting from the device you may also have to set your BIOS's boot sequence to be SCSI first. See this page for more on configuration issues.

Next: IDE/ATA Channels and Resource Usage


Home  -  Search  -  Topics  -  Up

The PC Guide (http://www.PCGuide.com)
Site Version: 2.2.0 - Version Date: April 17, 2001
Copyright 1997-2004 Charles M. Kozierok. All Rights Reserved.

Not responsible for any loss resulting from the use of this site.
Please read the Site Guide before using this material.
Custom Search