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 Channels and Resource Usage
The data pathway over which information flows in the IDE/ATA interface is called a channel. Each IDE channel is capable of communicating with up to two IDE/ATA devices (including ATAPI devices if they are supported by the BIOS). Despite Western Digital going so far as to define "dual IDE channels" as part of its enhanced IDE "standard", there has never really been anything barring the use of more than one IDE/ATA channel in a PC. It just wasn't regularly done prior to the mid 1990s. Before the popularity of ATAPI CD-ROMs and removable drives, and plentiful and cheap hard disk storage, the vast majority of PCs used one or two hard disks on a single IDE channel, and so a single channel was sufficient.
In fact, it is theoretically possible to configure and use as many as four (or even more) different IDE/ATA interface channels on a modern PC. There is nothing inherently different in concept between these channels, although there can be a difference in terms of how they are implemented. In theory, they are independent system devices, each using their own set of system resources. If configured correctly (so they don't try to use the same resources and therefore conflict), each IDE channel can behave basically independently.
This table shows the names of the four standard IDE channels, and the resources used by each under "classical" configuration:
Note: The I/O address
range for the slave device on the primary IDE channel actually overlaps with the standard
address range for the floppy disk controller. This is in fact not a conflict since this
overlap is well known and accounted for.
As you can see, each IDE/ATA channel has traditionally required both an interrupt request (IRQ) line and two ranges of I/O addresses. The first two IDE channels are pretty much standard among all newer PCs, as are the resources that they use. IRQs 14 and 15 are generally reserved on most systems for use by the primary and secondary IDE channels, and most newer PCI motherboards have support for both of these channels built into the chipset and BIOS, so there are two IDE connectors on the motherboard, one for the primary channel and one for the secondary. Most operating systems and other software "know" about these two channels, and software problems or resource conflicts with them are rare. With the exception of SCSI host adapters, it was hard to even find an expansion card that will use IRQ 14, until recently. (SCSI host adapters can replace IDE entirely in a PC so having them be able to use IRQ 14 can make some sense. Similarly, add-in IDE/ATA controllers can use IRQ 14 or 15.)
While all modern systems have the primary and secondary IDE controllers built into the motherboard, some older systems didn't implement both channels identically. The better systems included full transfer mode support and bus mastering for both the primary and secondary channels, but some systems--especially early Pentiums from the mid-1990s--wimped out. In order to save a few bucks, they included support for the faster PIO modes (3 and 4) only on the primary channel, meaning that the secondary channel would only run at the lower PIO modes (0, 1 and 2). The idea was that the primary channel would be used by the main hard disks (fast) and the secondary channel by extra, older hard disks and ATAPI devices (slow). Really, having full support on both channels is a much smarter idea, and this practice has fortunately been abandoned.
The tertiary and quaternary channels have always been far less frequently used, and software issues with them are far more frequent. There are also resource issues to be addressed; the IRQs used by the third and fourth channels can also be "claimed" by other peripherals such as sound cards, network cards and even PS/2 style mice; see this section on system configuration. The I/O addresses they use can conflict with network cards, COM ports, and other devices.
Using the tertiary and quaternary channels requires that additional controllers be added to the two built into the motherboard (or provided by the existing controller or controllers). Through the mid-to-late 1990s, the most common way that a tertiary channel was introduced into a PC was through the use of a sound card. Many SoundBlaster and compatible sound cards included support for an IDE/ATA controller that could be configured to implement an IDE/ATA channel. There are two reasons for this: first, sound cards were commonly sold in "multimedia kits" that include ATAPI CD-ROM drives, and so this provides a place for them to be attached. Second, the very first CD-ROMs were attached to proprietary (non-IDE) ports on early sound cards, so the trend has continued for historical reasons even into the ATAPI CD-ROM era.(See here for more on CD-ROM interfacing issues.)
The use of sound cards for IDE/ATA channels causes resource issues, as mentioned, and just generally isn't the best way to connect a high-speed device to the system. For starters, many sound cards use the ISA bus, meaning the IDE/ATA controller is also on the slow ISA bus. This practice has diminished in recent years, though if you have a sound card and want to run a slower ATAPI device on it, you can certainly do so. Bear in mind that software support for the tertiary and quaternary IDE channels is not nearly as consistent as it is for the primary and secondary channels. For example, Windows NT 4.0 will not recognize an IDE device attached to a tertiary IDE channel on a sound card. Most BIOSes also only have space to set up four IDE/ATA/ATAPI devices. This means that using a tertiary IDE requires some sort of driver or add-in BIOS support.
Over the last few years, the way that channels are added to a PC has changed greatly. I said earlier that each channel "traditionally" required separate resources, but cards like Promise's "Ultra" series support two IDE/ATA channels while using just a single IRQ line. Further, modern systems running Windows 95 OEM SR2 or later support the use of PCI IRQ Steering, which allows several PCI devices to share an interrupt. The combination of these two has caused the whole issue of system resources for IDE/ATA channels to be much improved, which is why my discussion of tertiary and quaternary channels above is largely in the past tense. :^)
Today, the best way of providing support for up to eight IDE/ATA devices (four channels) is through the addition of one of these PCI-based cards. Doing so allows you the use of four channels, while taking only three IRQs (two by the original motherboard channels and one for the card). Support for the card is provided through a driver provided by the maker of the card. As an additional bonus, these cards usually support the latest Ultra DMA transfer modes, and support for large hard disks as well. If you have an older system, the best way to go is to put the hard disks on the add-in card to get support for high-speed transfers, and then use the motherboard's channels for slower ATAPI devices. And as if that weren't enough, these cards cost under $50!
Tip: If you are tight on
IRQs in a system, you can add a Promise-type controller card and disable both of the
on-board channels. This leaves you with support for four devices as before, but only one
IRQ is required for the add-in controller. This is a net gain of one IRQ!