Reviews Leaderboard Database Reference Search StorageReview Discussion Reliability Survey Search About StorageReview.com Contents

ATA Busmastering Under Windows 95

  August 27, 1998 Author: Eugene Ra  
Maxtor DiamondMax Plus 2500 provided by Maxtor Corp.


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.

Ziff-Davis WinBench 98 under Windows 95 OSR 2.1 using FAT 32 *
Benchmark No Driver Native Driver Intel v3.01 Intel v3.02 Tyan v3.1 Triones v3.70C
Business Disk WinMark 98 (KB/sec) 1594 1686 1648 1668 1664 1670
Spread Sheet / Database 1512 1602 1574 1594 1588 1594
WordPerfect 1918 2028 1996 2012 2012 2014
Publishing 1426 1510 1462 1484 1478 1488
Browsers 1666 1748 1744 1732 1748 1728
Task Switching 3020 3148 2930 3132 3064 3108
High-End Disk WinMark 98 (KB/sec) 4150 4740 4638 4754 4754 4794
AVS/Express 3.1 2466 2916 2872 2890 2908 3002
Frontpage 97 3606 3698 3670 3746 3716 3766
MicroStation 95 7568 8080 8242 8078 8490 8674
Photoshop 4.0 3646 4452 4328 4618 4554 4586
Premier 4.2 7082 9076 8562 9024 8840 8594
PV-Wave 6.1 2838 3246 3148 3204 3196 3170
Visual C++ 5.0 9640 10420 9860 10500 10500 10460
Disk/Read Transfer Rate (KB/sec)
Beginning 7320 13800 11800 13800 12840 11760
End 7464 9290 9300 9290 9300 9278
Disk/Read Random Access (ms) 15.2 14.98 15.1 15.1 15.0 15.1
Disk/Read CPU Utilization 92.56 % 8.64 % 42.64 % 10.78 % 43.62 % 44.66 %
Transfer Rate (KB/sec) 7017 12724 11372 12724 12707 12489

Adaptec ThreadMark 2.0 under Windows 95 OSR 2.1 using FAT 32 *
Benchmark No Driver Native Driver Intel v3.01 Intel v3.02 Tyan v3.1 Triones v3.70C
Data Transfer Rate (MB/sec) 4.44 7.46 5.90 7.46 6.65 6.89
Average CPU Utilization 76.14 % 25.42 % 34.90 % 28.85 % 34.90 % 36.80 %



PIO Mode 4, or no busmastering

Without any busmastering drivers, the DiamondMax drive defaults to PIO mode 4 operation. Here we can see a drastic drop in transfer rate coupled with a dramatic increase in CPU utilization. The low transfer rate results in a slight hit in WinBench's Business Disk Winmark when compared to DMA operation. A more serious drop occurs in the High-End Disk WinMark. Finally, ThreadMark, heavily dependent on transfer rate, shows a dramatic fall in achieved transfer rate. There should be no reason to use PIO operation if you have a modern motherboard and hard disk.


Windows 95 OSR2 Native Busmastering (also applies to Windows 98)

As long as you're not running the original Win 95 or 95a (and I'd guess most SR readers don't), the busmastering support built into Win 95b/Win98 is still the best way to go. Checking the DMA box found in each drive's "Device Manager" entry unleashes transfer rate, significantly improving results in the HE Disk WinMark and especially Threadmark. CPU utilization gets whittled down to a miniscule figure. Definitely the way to go.


Intel's offerings

The Intel PIIX v3.01 drivers are still quite inefficient when it comes to CPU utilization. Further, outer-edge transfer rate seems to get shaved down from 13.3 to 11.8 MB/sec, resulting a substantial hit under ThreadMark along with slight losses in WinBench. If you're still running an older version of Windows 95, your best bet is the v3.02 driver. Intel got it right with this release. Though still not -quite- up there with the built in drivers found in OSR2, the v3.02 PIIX drivers will no longer make Win95a users feel like second-class citizens (but you still are! Upgrade! ). Transfer rate is on par with that of the OSR2 native drivers, and CPU utilization finally falls to levels that one should expect from DMA operation. These are definitely the drivers you want to use if you're running any OSR1 derivatives.


The Tyan Question

Though they're programmed and supplied only with their motherboards, Tyan's drivers seem to work with a wide variety of motherboards. There doesn't, however, seem to be much reason to use them. CPU utilization is right up there with the PIIX 3.01 driver. Sure, the high-level benchmark figures aren't much lower than those of OSR2's native driver, but why throw away the CPU cycles when you don't have to?


Triones' Alternative

Triones Tech busmastering drivers are distributed with some motherboards. The results here are similar to those posted by the Tyan drivers. High-level benchmark figures are on par with OSR2's driver, but CPU utilization balloons to 40+%. Not worth it.


Conclusion

It again seems that the busmastering driver built-in to Windows 95 OSR2 and Windows 98 is the way to go. Intel's driver has finally closed the gap, but there's no compelling reason to go with it. For Win 95a users, however, the choice is clear: Intel's v3.02 drivers blow everyone else away. The rest? Do yourselves a favor and cylindrically file away all the others .

Download these Busmastering drivers at Kevin Miller's www.bmdrivers.com.


* Note: All reported test results are the average of five trials.


HOME | ARTICLES | LEADERBOARD | PERFORMANCE DATABASE | REFERENCE GUIDE
COMMUNITY | RELIABILITY SURVEY | SUPPORT SR! | ABOUT SR |

Copyright © 1998-2005 StorageReview.com, Inc. All rights reserved.
Write: Webmaster