Introduction
ATA busmastering has certainly come a long way. Gone are the days of the old 430FX chipset and questionable support of DMA-2 in drives. These days, if you have semi-modern hardware, ATA busmastering should be within your reach.
What is busmastering? In older times, ATA drives and motherboard chipsets required the processor itself to transfer data from the drive to RAM and vice versa. Hence, this is called "Processor I/O" (PIO) mode operation. It's latest derivative, "PIO Mode 4," can theoretically transfer up to 16.6 MB/sec. In practice this figure is far lower, due to some overhead. Naturally, this method of operation is very inefficient: the CPU devotes more than 90% of its time to supervising the transfer.
"Busmastering" is another term for "Direct Memory Access" (DMA), a mode of operation where the hard drive's controller (facilitated by the PCI bus and its accompanying chipset) takes control of the operation. The drive transfers data to and from RAM without CPU intervention, thus freeing the CPU to process other tasks. Needless to say, DMA operation is a much more modern, desirable method of disk operation. Today's Ultra-DMA interfaces provide up to 33 MB/sec bandwidth, a growing necessity in the face of drives pushing past the 15 MB/sec barrier.
Let's take a moment to emphasize that PIO and DMA modes of operation aren't married exclusively to ATA devices in any way. SCSI drives and host adapters are also subject to the same limitations. There's such a thing as PIO SCSI. And yes, it's a CPU hog. Reliable, usable SCSI DMA operation has been around longer on the PC, though. Thus, SCSI has a reputation for requiring less CPU intervention. However, ATA busmastering, properly implemented, will deliver CPU utilization just as low as DMA SCSI.
In many cases, ATA busmastering is a barrier to the successful overclocking of the PCI bus. The controllers on many ATA drives simply shouldn't be pushed beyond 33 MHz. DMA operation seems to be something that many enthusiasts are willing to give up in their push to drive their CPU's speed ever higher. Let's say you're one of those souls that have managed to push a 266 MHz processor to operate at 333 MHz. Congratulations, you've just successfully purchased a 10-month "newer" processor speed for the small price of a 3-year backpedal in disk operation. Sure, your Quake 2 frame rates may crawl up a notch or two. But your system overall isn't running as efficiently; it's being shackled by ancient technology. If you can achieve overclocking while DMA is enabled and truly believe that your system is not one iota less stable (think about it... every one of those innocuous explorer illegal operations may very well be due to that overclocked system, accelerating "OS rot"
, more power to you. However, I have to wonder about the legions tripping over themselves to disable DMA disk operation if it results in a 14% (or even a 3%!) increase in CPU speed.
Ok, I'm off the soapbox now. Windows 95 OSR2 and Windows 98 both have built-in ATA busmaster drivers for the Intel PIIX chipsets (430FX "Triton" and beyond). These also work for many competing (VIA, SiS, etc) chipsets as well. Intel themselves distribute a PIIX driver. The v3.01 iteration was infamous for both high CPU utilization and for delivering astounding scores under older disk benchmarks, especially ZD's own WinBench 97. During the Storage Review's launch, we briefly compared these two options using the ATA king of the hill, the IBM Deskstar 5. Since then, we've received lots of feedback, mainly requesting same-system figures when using Triones Tech and Tyan drivers. Intel has also finally released a new version of their PIIX drivers, v3.02. We've taken a look at all of these options below using today's ATA drive of choice, the Maxtor DiamondMax Plus 2500.