How To Improve The IDE Transfer Rate

 






DMA Transfers

Everyone knows that Programmed I/O (or PIO) transfers are slower and take up a lot more processor time than Direct Memory Access (or DMA) transfers. Just to recap, the fastest PIO transfer mode can only transfer data at a rate of 16.6MB/s. That's nothing compared to the 100MB/s that the latest DMA standard supports.

In addition, PIO transfers require the processor's attention. DMA transfers, on the other hand, use the motherboard's chipset instead to handle the transactions. So, the processor is freed up to do something more important than just shuffling mail (which is more or less what shifting data to and from your IDE devices really is).

You will probably be asking yourself now why I'm even writing a Windows 2000 tip on this matter. After all, you have already read through the BIOS Optimization Guide and implemented the recommendations stated in that guide. In most cases, I would say that you are right because Windows 2000 does a great job of enabling DMA transfers for drives that support them. Unfortunately, sometimes Windows 2000 fails to detect the drive's DMA transfer capability and enables PIO mode instead.

The loss of burst transfer rate is one thing. After all, not all IDE devices can even transfer data at more than 16.6MB/s. For example, my own 50X ASUS CD-ROM transfers data at a maximum rate of 7.5MB/s. So, in those cases, the loss of burst transfer rate won't matter much. More important is the fact that PIO transfer modes are very CPU-intensive. They tie up the processor which could be doing something more important.

So, how do you make sure Windows 2000 is running all your IDE devices using DMA transfer modes? Here's how you do it :-

  1. Go to System Properties by right-clicking on My Computer or via the Control Panel.
     
  2. Select the Hardware tab and you will see the screen below :-

  1. Look at the Device Manager section and click on the Device Manager button.

  1. This brings up the Device Manager screen.

  1. Open up the IDE ATA/ATAPI controllers device branch. Then you will see a list of all the IDE controllers and channels in your system. Below is an example of what the screen would look like in a system with an Intel 440BX chipset.

  1. Now, select any one of the IDE channels, right click and choose Properties. Or just double click on the IDE channel. In this example, we will check the Primary IDE Channel.

  1. You should then see the screen below :-

  1. Now, select the Advanced Settings tab to get the screen below. Ah hah! As you can see, for some reason, Windows 2000 failed to auto-detect DMA transfers for my Ricoh CD-RW drive. This goes to show that, as advanced as it is, Windows 2000 is still not infallible.

  1. To enable DMA mode for the device, just click on list of options for Transfer Mode and select DMA if available.

  1. Click OK and reboot. Your IDE device should now be using DMA transfers. Check the IDE channel's properties page again and you should see this screen :- 

 

Notes
  • If there's an option, you should enable DMA transfers in your BIOS for this tip to work. 
     
  • Do not manually set any PIO mode for your IDE devices in the BIOS. If your BIOS configures your IDE drive to use the PIO mode you have set, then Windows 2000 may not detect the drive's DMA transfer capability properly and use the PIO transfer mode instead.
     
  • If you have an IDE drive that supports only PIO transfer modes, setting the Transfer Mode to use DMA if available won't miraculously enable your drive to use DMA transfers... unfortunately.

 

Comments?

If you have a comment or question about this tip, please post them here.

Thanks for your time and I hope this tip has helped you some! :)

Adrian Wong
Adrian's Rojak Pot
http://www.rojakpot.com/
http://www.adriansrojakpot.com/

 

 
 

 

 
     
   

 

 
 

 
   

 

 
 
Last Updated 27-01-2001

All trademarks used are properties of their respective owners.
Copyright © 1998-2000 Adrian Wong. All rights reserved.

 
Visit the new Tech ARP @ http://www.techarp.com/ !