HOME
What's New

CPU Cooler
Programs
Introduction
AmnHLT
CpuIdle
Rain 
VCool 2.0 
Waterfall Pro 
Current Tests 
Test Archives

UDMA Driver 
Tests 
Windows 95
Windows 98
Windows NT

Way 2 Cool 
Projects 
Compaq 1800T
1800T Temp Monitor
Celeron-A
Going for 504
More on 504
Cheap Sandwich
BX6r2 Diode Fix
Condensation
Lap that Slug
Celeron PPGA
Journey to 1080
Building an NT Box
Heat Pipe 1
Heat Pipe 2
Heat Pipe 2.2
gp_Temp
gp_Temp4
gp_Temp5

Heat Sinks 
Aavid
A&C Prototype Sink
Alpha P125
Alpha P521
CPU Cooler
FullWay
Tom's Sink
Water Cooler 1
Water Cooler 2
Water Cooler 3
Water Cooler 4
*
Water Cooler 6
Water Cooler 7

Way 2 Cool
Thermometer
Thermometer 2
K-6 heat sink
Case Cooling
Heat Sink Tester
More Case Cooling
Klamath heat sink
Q500A Cooling
My Server Temps
Temp Calculators
CKS400 Rack Case
Fan Controller
Cooling Links
Downloads Page

Tips and Trix
Dual Boot Win95 / 98
Dual Boot Linux/NT4
D-B Linux/Win2k
Hot Flash your BIOS

Family Stuff
Prom / St. John
Providenciales

Email Jim


Microsoft's DMA
The following assumes that your hardware supports DMA.

In order to enable Microsoft's version of DMA in Windows NT 4.0, the NT4SP3_I.EXE service pack must first be installed. The service pack is a large (17+ MB) download and includes many NT 4.0 upgrades and fixes.  Information on what is included in this service pack can be found here.  The updates in this service pack are also suggested in order to run the WinBench98 benchmarking suite.

The next file I installed is the Idefix-i.exe, which replaces the atapi.sys file in the Winnt\system32\drivers folder with a newer version dated 8-19-97.  This Microsoft "Hotfix" repairs a problem with the write cache not being flushed with auto shut 
down. There is a copy of the atapi.sys file dated 1-8-98 included in the BMNT4.ZIP file available from the always-helpful  BM Drivers site.  Indications are that these 
two files are one in the same with different time stamps.  The atapi.sys file in Idefix-i.exe is self installing, while the file in BMNT4.ZIP must be installed manually.  Finally on the subject of the atapi.sys file, there is a known bug concerning some cd-rom drives.  That information may be found here.

Note: There is now a newer version of the atapi.sys file.  An atapi.sys file with a 
time stamp of 1-26-98 is included in the atapi-fix file for large hard drive recognition.  If you need the large drive support, this file may be installed after the idefix-i file.

The last file necessary to enable DMA is the dmacheck utility.  This file may be obtained in either BMNT4.ZIP or without the atapi.sys file as dmacheck.exe.  It is 
also available through Microsoft KB article q191774 as dmachck-i.exe. (Thanks to Gilles for the MS link.)  Installing this utility produces an interface that allows the user to see and change the status of the DMA mode.

Choosing the enabled or disabled buttons changes the value in the registry entry that is created by this utility.
HKEY_LOCAL_MACHINE => SYSTEM => CurrentControlSet => Services =>  atapi
Parameters
  Device0
  Device1
Device0 being the hard disk(s) and Device1 is the cd-rom in my system. 

On the "data" side of the page, the following entry and string is written for each device.
DriveParameter : REG_SZ : DmaDetectionLevel = 0x0;

The value of the string can be changed by selecting the buttons on the dmacheck program by double-clicking on the value, or using "Edit - String" in the pulldown menu of the registry. DriveParameter : REG_SZ : DmaDetectionLevel = 0x0;  is DMA off.

DriveParameter : REG_SZ : DmaDetectionLevel = 0x1;  is DMA on.

DriveParameter : REG_SZ : DmaDetectionLevel = 0x2;  is DMA forced on.

The dmacheck utility will make the first two entries by selecting the enabled or disabled  buttons, but the "forced on" setting must be manually entered into the registry.  My system required me to use the "0x2;" setting to enable DMA.
To see whether DMA has been enabled, run dmacheck and observe the information window.  By default, dmacheck will prompt you to re-start the computer whether or not you make a change.  It is necessary to reboot after making a registry change manually or with dmacheck.


DMA Check User Interface

You may also check this registry entry to see if DMA is enabled.

HKEY_LOCAL_MACHINE => HARDWARE => DEVICEMAP => Scsi => Scsi Port 0 and Scsi Port 1

On the "data" side of the page you will find the following entry.

DMAEnabled : REG_DWORD : 0x1 or 0x0.
0x1 is DMA enabled,  0x0 is not enabled.

While my HD drives are DMA / UDMA capable, my cd-rom is not.  There are warnings to not enable DMA for a non-DMA device.  On my system, enabling the DMA button in dmacheck changed the registry to "0x1;", though this did not (obviously) enable DMA. Trying to force DMA by using the "0x2;" string in the registry would revert back to "0x1;" after being rebooted.  No harm, no foul.  Please note that I was trying to cause a problem and even though nothing bad happened to my system, I don't recommend this.

Intel Drivers (V. 2.01.03)
Yes, it is true that the NT UDMA drivers are no longer available on Intel's site.  However, they are available from many motherboard manufacturers' websites.  In the words of one Intel employee in the know, "Intel no longer supports this driver, check with your hardware manufacturer."  Enough said.
There are a number of versions of this file.  The latest version I could find has a date stamp of 5-19-97 on the piixdrv.z file.  This file is included in the piix412.exe file from Abit and under other names from other manufacturers.
The driver is installed by first running the setup.exe file in the NT folder.  This creates a piixide folder with the necessary files. The next step is removing the atapi 1.2 driver in the SCSI Adapters / drivers tab in the control panel and adding the Intel piix driver through the "have disk" button.  You will be prompted for the disk or may "browse" for the previously opened folder on your HD.  Choose browse and point to the piixide folder.
 Uninstalling the piix driver and returning to the atapi 1.2 driver is a matter of removing the piix driver from the SCSI Adapters / drivers tab, then hitting the add button, and choosing the "(standard mass controllers)" entry from the "manufacturers" side of the window.  This will put "IDE CD-ROM (atapi 1.2)/dual channel PCI IDE controller" under the "SCSI adapter" window.  Choosing OK at this point will bring up a box asking you if you want to use the existing file or load it from the CD.  You should choose the existing file if you have installed Service Pack 3 and the Idefix-i files.  Reboot when asked.  Note that if you had enabled DMA before changing to the Intel driver, you will have to set  this up again for the atapi driver.

Tyan Drivers
I came across Tyan's drivers while looking for the latest version of the Intel piix drivers.  The drivers they offer are listed as UDMA capable.  They have three choices on their drivers page, listed under Bus Master Drivers.  Of the three--BMNT4131, BMNT4020, and BMNT4021 --the 4021 file is the most recent.  This is the file I used for benchmarking.  This is a very small download, being only 16 KB including the README.TXT file.
The installation is the same as for the Intel piix, with the exception that after unzipping the file, there is no setup to create a new folder.  Good documentation is provided in the form of a README file.  This includes how to test your system for compatability with their drivers.  The README contains a warning to not install the driver with a non-DMA compatible device.  My CD-ROM is not DMA and failed the compatability test but functioned perfectly with this driver.  Your mileage may vary.  ;^)
Uninstalling the Tyan driver is the same as for the Intel and again is documented in the README.

Test System
Abit AX5 Motherboard Ver. 2.22, 512 K L2 Cache
AMD K6 233 o/c'd to 250 (83x3)
32 MB SDRAM (generic)
Quantum Fireball SE 3.2 GB (FAT 16)
Quantum Fireball ST 3.2 GB (FAT 16)
Matshita CR-574 CD-ROM

Software installed on tested OS
WinNT 4.0 Workstation
NT service pack 3
Idefix-i
Adaptec Threadmark 2.0
Ziff-Davis  WinBench98 v 1.0
Executive Software Diskeeper Lite
All other drivers were default MS NT 4.0

Benchmarks
A "compact" installation of Windows NT 4.0 Workstation was used.  Programs that were not needed for the benchmark were not allowed to run.  Each benchmark was run three times and the results were averaged.  Pagefiles of 90 MB on each HD were used.  Maximum priority was given to applications running in the foreground.   Primary and logical drives used were defragged between each benchmark.  The system was rebooted between each benchmark.

NT 4.0 Workstation Blue = Best Red = Worst

Test  NT 4 with SP3 and Idefix-i
No DMA used
MS DMA Enabled Intel PIIX 2.01.03
DMA Driver
Tyan BMNT 4021 UDMA
WinBench 98 v 1.0 . . . .
CPUmark 32 592 590 607 607
FPU  820 819 820 820
Business Disk 98 1430 1530  1595 1580
High-End Disk 98 3490 3750  3910 3850
CPU Utilization 78.6% 4.28% 4.43% 16.3%
Avg Seek (ms) 11.2 11.0 11.1 11.1
Transfer - Beginning 8020 KB per sec 11200 KB per sec 11200 KB per sec 11100 KB per sec.
Transfer - End 8020 KB per sec 11100 KB per sec 11100 KB per sec 11100 KB per  sec
. . . . .
Threadmark 2.0 5.13 MB per sec @ 65.86% Utilization 6.17 MB per sec @ 35.03% Utilization 6.16 MB per sec @ 34.21% Utilization 6.18 MB per sec @ 42.02% Utilization
Compare with Win95   Compare with new NT Results   Compare with Win98

It appears that my system favors the Intel driver in the benchmark tests.

Benchmarks vs Real World
I was curious if I could see a noticeable difference in speed in transferring files between the two hard drives in a real-world application.  For this test, I assembled a folder containing 500 MB of various file types including, but not limited to ZIP, JPEG, GIF, DOC, and TXT.  I timed the transfer between two 1000 MB partitions.
The folder was moved from drive 0 to drive 1 and back again.  This process was repeated three times for each driver configuration with the results being averaged.  I also included a test of Win95 with setupex.exe and remideup.exe installed for comparison.

 Timed File Transfer

Driver used Time to transfer  MB per second
NT SP3 No DMA 167 seconds 2.99 MB per second
MS Driver DMA On 125 seconds 4.00 MB per second
Intel PIIX 2.01.03 123 seconds 4.07 MB per second
Tyan 4021 Driver 118 seconds 4.24 MB per second
Win95 MS UDMA 122 seconds 4.10 MB per second
The Tyan 4021 driver takes the honors here.

In this round of tests, the Intel PIIX 2.01.03 scores best overall with a good combination of decent "real world" speed, low CPU utilization, and solid WinBench scores.
 
 

NT4 UDMA Driver Tests
HP Kayak 2.04
HP Vectra 2.04.2a
NT Service Pack 4
HP Vectra (Intel 2.02.01)
MS, Intel 2.01.03,
& Tyan 4021