[nextpage title=”Introduction”]
Theorically ATA-33 hard disks have a 33 MB/s transfer rate, ATA-66 hard disks have a 66 MB/s transfer rate and so on. But achieving maximum performance with hard disks from ATA-33 on is not a matter of just plugging in the new hard disk on your computer. A lot of times, you won’t achieve not even close to the hard disk’s maximum transfer rate. In this tutorial we will explain why this happens and how to correctly set up your computer to reach the maximum transfer rate you hard disk is able to provide.
You can check the current transfer rate from your hard disk by using the software HD Tach. Our Figure 1 was taken in a computer with an ATA-66 hard disk. As you can see, the transfer rate achieved was only 8.2 MB/s, and the CPU utilization was over 90%.

Bus Mastering DisabledFigure 1: 8.2 MB/s transfer rate and 92.7% CPU utilization with an ATA-66 hard disk. Something got to be wrong!

This tutorial is about why this problem happens and how to fix it. After reading this tutorial and applying the suggested corrections to your computer, you should achieve something like shown in Figure 2, where the same hard disk, on the same computer, achieved 46 MB/s and 2.7% CPU utilization.

Bus Mastering EnabledFigure 2: After correct computer configuration, 46 MB/s transfer rate and 2.7% CPU utilization.

You have to keep in mind that the listed transfer rate (66 MB/s, 100 MB/s, 133 MB/s etc) is rarelly achieved, as you can see in Figure 2 where an ATA-66 hard disk achieved 46 MB/s. But far better than 8 MB/s!
[nextpage title=”PIO vs. DMA”]
To understand why this problem happens, pay attention to the following table.

Standard Maximum Transfer Rate
PIO 0 3.3 MB/s
PIO 1 5.2 MB/s
PIO 2 8.3 MB/s
PIO 3 11.1 MB/s
PIO 4 16.6 MB/s
UDMA mode 1 25 MB/s
UDMA mode 2 (UDMA/33) 33.3 MB/s
UDMA mode 3 44.4 MB/s
UDMA mode 4 (UDMA/66) 66.6 MB/s
UDMA mode 5 (UDMA/100) 100 MB/s
UDMA mode 6 (UDMA/133) 133 MB/s

Obs: ATA-33 and UDMA/33, ATA-66 and UDMA/66 etc mean the same thing.
Data transfers between your computer and your hard disk can be done using two methods: PIO (Programmed I/O) or UDMA (Ultra Direct Memory Access). In the first method, the computer CPU is in charge of the transfers between the hard disk and the RAM memory. In the second method, the motherboard chipset is in charge of this transfer. This means that in UDMA mode the CPU is not used to move data from the hard disk to the memory, raising your PC performance, since the CPU will be available during these transfers.
This is why in Figure 1 over 90% of the CPU was being utilized on hard disk transfers: the computer was configured to use PIO. In Figure 2, the CPU utilization dropped below 3% as we configured UDMA (also called bus mastering) to be used.
As you can see, hard disks with transfer rates up to 16.6 MB/s use PIO mode, while hard disks beginning at 25 MB/s uses the UDMA mode.
All chipsets – i.e., all motherboards – can operate with PIO modes. But to operate with UDMA modes the following criteria must be matched:

  • The chipset (south bridge) must be compatible with the hard disk’s UDMA mode. Otherwise the hard disk will be accessed with the chipset’s maximum transfer rate. For example, if you install an ATA-100 hard disk on an ATA-66 motherboard, the maximum transfer rate will be 66 MB/s due to the chipset limitation.
  • The bus mastering drivers must be enable on the operating system. UDMA modes are software programmed – the operating system must program the chipset to perform the transfers thus releasing the CPU from this task. If the operating system is not correctly configured, the hard disk will be accessed only at 16 MB/s, even if you have a 133 MB/s hard drive installed on your PC.
  • A 80-wire flat cable must be used with ATA-66, ATA-100 and ATA-133 hard disks. Otherwise the disk will be accessed up to 33 MB/s only.

Let’s better explain these items.
[nextpage title=”Chipset Limitation”]
This is pretty straight-forward. If your motherboard doesn’t support your hard disk maximum transfer rate, the disk will be accessed using the chipset’s maximum transfer rate – or less, if you don’t match the other listed criteria.
A very good example is an ATA-133 hard disk installed on a motherboard based on Intel chipset. Intel does not support the ATA-133 standard, even on their latest chipsets like Intel 915 and 925 series. This means that your hard disk will be accessed at 100 MB/s on these latest chipsets because the chipset doesn’t support the ATA-133 standard. Another example: if you install this ATA-133 hard disk on an older motherboard based on the Intel 815 chipset, it will be accessed at 66 MB/s, since this is the chipset maximum transfer rate.
To learn which is the maximum hard disk transfer rate from your motherboard, simply read its manual. This is listed on its main features page. If you don’t have your motherboard manual, download it from your motherboard manufacturer website. If you don’t know your motherboard manufacturer and model or even don’t know which chipset your motherboard uses, run a hardware identification software such as Hwinfo, Sandra or Everest.
Alternativelly, you can read the chipset specifications – including the maximum transfer rate from its IDE ports – on the chipset manufacturer website.
If the IDE ports from your motherboard have a maximum transfer rate lower than your hard disk, you can solve this issue by installing an add-in card with IDE ports with higher specification. Two companies that manufacture such boards are HighPoint and Promise. In Figure 3, you can see an add-in card with two ATA-133 ports from Promise.

ATA-133 add-on boardFigure 3: PCI add-in card with two ATA-133 ports from Promise.

[nextpage title=”Bus Mastering Drivers”]
This is the most critical point for users that still run Windows 95, 98 and ME, because the bus mastering is not enabled by default. Thus, if you simply connect your hard disk to your computer it will be accessed only up to 16 MB/s, even if all other criteria we discussed matches. Windows XP automatically enables bus mastering, but the chipset manufacturers claim that using their drivers instead of Microsoft’s you can achieve a better disk performance on your PC.
You will need to install two drivers: chipset driver and IDE (bus mastering) driver. Sometimes these two drivers are available at the same package, as is the case for VIA drivers. Sometimes you will need to download two separated files, as for SiS drivers. Intel call their chipset driver as “Inf Update File”. To download them, you will need to know your motherboard chipset manufacturer and model and download the drivers from the chipset manufacturer website. Your can find out the chipset manufacturer and model using a hardware identification program, such as Hwinfo, Sandra, and Everest. After that, go to the chipset manufacturer website and download the latest version available and install them.
If you go to Windows Device Manager (System icon in Control Panel) you will see something like Figure 4 under System devices before installing the chipset driver. As you can see, the chipset is listed as “standard” (PCI standard host CPU bridge and PCI standard ISA bridge), meaning that the chipset wasn’t detected by Windows.

Bus MasteringFigure 4: Before installing the chipset driver. Notice that the chipset is listed as “standard”.

After installing the chipset driver, the chipset will be correctly listed, as you can see in Figure 5. The standard drivers were replaced with specific drivers. The example on Figure 5 is of a motherboard with Intel 440BX chipset.

Bus MasteringFigure 5: After installing the chipset driver. The chipset is now being recognized correctly.

[nextpage title=”Bus Mastering Drivers (Cont’d)”]
After installing the chipset driver, you should install the IDE driver from the chipset manufacturer, if this driver wasn’t installed together with the chipset driver. Just open the Hard disk controllers key and check if the driver listed is a generic type or specific for the chipset available on your motherboard, as we show in Figure 6.

Bus MasteringFigure 6: IDE driver correctly installed.

After that you need to open the hard disk properties and check the DMA box available to enable bus mastering. Open the Disk drives key and double click on your hard disk, which may be listed as “Generic IDE Disk Type 47”. On the window that will pop, click on Settings tab. Check the DMA box, as shown in Figure 7, and then click on Ok to enable bus mastering. If you don’t see a DMA box, this can mean two things. First, the bus mastering is already enable through the IDE driver from the chipset manufacturer. Usually when this is the case, your hard disk manufacturer and model will be listed on the Disk drives key instead of “Generic IDE Disk Type 47”. The second possibility is that the IDE driver wasn’t installed. Anyway, you can check if the bus mastering is or isn’t correctly enabled using HD Tach software already mentioned. This is the best way to determine if the bus mastering was correctly enabled or not. Pay close attention to the CPU utilization, if it is below 10%, the bus mastering drivers are installed. Otherwise, they aren’t.

Bus MasteringFigure 7: Enabling Bus Mastering.

[nextpage title=”80-Wire Flat Cable”]
You need to use an 80-wire flat cable to install ATA-66 hard disks and above. The 80-wire flat cable uses the same 40-pin connector as the standard 40-wire IDE cable, but it has an extra ground wire between each regular wire to cancel noise. If you are unable to identify which kind of flat cable your computer is currently using, just count the number of wires available! Is just that simple.

HDD Flat CableFigure 8: 40-wire flat cable vs. 80-wire flat cable.

On Figures 9 and 10 you can see exactly what happens if you use a 40-wire flat cable instead of an 80-wire cable. In Figure 9 the data has a lot of noise, which was suppressed with the use of the 80-wire flat cable, as shown in Figure 10.

Using 40-wire flat-cableFigure 9: ATA-66 data transmission using a 40-wire flat cable.

Using 80-wire flat-cableFigure 10: Same data transmitted using an 80-wire flat cable.

If you have a ATA-66 hard disk or above you have to use an 80-wire flat cable, or your hard disk will achieve only a maximum 33 MB/s transfer rate.
After correcting the problems you may have on your computer, you can check the hard disk transfer rate with the HD Tach program. The CPU utilization must be below 10% and the transfer rate should be higher than before. Please notice that it is almost impossible to achieve your hard disk maximum transfer rate (100 MB/s for an ATA-100 hard drive, for example), because this number is a maximum theoretical transfer rate. Actually, this number is the IDE port maximum transfer rate, not the hard disk maximum transfer rate. It means that the port can handle transmittions up that number, but that doesn’t mean that your hard disk will achieve that. For ATA-66 expect something around 40 MB/s and for ATA-100 and ATA-133 hard disks expect something above 60 MB/s. The higher, the better.
You can also play with bus mastering drivers (Microsoft drivers vs. chipset manufacturer drivers) to check which version brings better performance to your hard disk.