Windows has Become Very Slow (IDE drive has switched from DMA to PIO mode)
Have you experienced a dramatic slow down in your computer's operation? Do movies now stutter? Programs take seemingly forever to load? Even switching between programs takes a long time? If so, your windows may have switched your hard-drive from DMA mode to PIO mode. DMA stands for Direct Memory Access. Devices using DMA will copy data directly into the computer's main memory without the CPU having to do anything. Programmed Input/Output (PIO) mode, on the other hand, requires the CPU to read the data from a device, and then write it to memory. This ties up the CPU with a menial copying task, and slows the whole system down. Modern OSes, such as Windows, read and write to/from disks frequently, and require high-speed access to disk. Thus, when something goes wrong, and Windows switches from DMA mode to PIO mode for hard-disk access, the whole system slows down.
So, why would Windows switch to PIO mode if it is going to be a problem? Well, if a series of errors occurs with the IDE bus to which a drive is connected, Windows will assume that there are compatibility/hardware issues with that device, and drop to a simpler mode that is likely to be less problematic (but much slower). Unfortunately, PIO mode is so old and slow, that it renders the machine almost unusable. Even worse, Windows sets a few registry values to make this change permanent. Once it has dropped down to PIO mode, it will never switch back.
Just because Windows switches an IDE device from DMA mode to PIO mode does not necessarily mean that the hardware is breaking down. Sometimes software issues can cause the odd problem, or there is a temporary glitch. I have had this problem occur once over several years. Now that I have installed Windows XP x64 (my Windows XP SP2 install CD would not work properly), this problem occurs more often, probably due to the 64-bit drivers not being as stable as their older 32-bit counterparts. Thus, it is usually safe to force windows to switch the IDE device back to DMA mode.
Note: I did not discover this fix myself. The original can be found here. The procedure is recorded here in order to save myself time, and just in case the other page disappears.
There are actually two ways to fix this problem: reinstalling the driver, and editing the registry. Only the registry fix is detailed here. For the reinstallation fix, see this webpage.
- Run RegEdit (click on the "start" button, select "run,"type in regedit, and press enter),
- Search for the following key:
- There should be several sub-keys labelled "0000," "0001," "0002," etc. Sub-keys "0001" and "0002" are usually the primary and secondary IDE channels, respectivel,
- Find the sub-key belonging to the IDE channel that the drive is connected to based on the DriverDesc entry within that sub-key. If you are unsure as to which one is correct, do not worry; the next step can be applied to all sub-keys without damaging anything,
- Within the selected sub-key, delete "MasterIdDataChecksum" or "SlaveIdDataChecksum," depending on whether the drive in question is connected as master or slave. If in doubt, just delete all "MasterIdDataChecksum" and "SlaveIdDataChecksum" entries in all sub-keys; this will not hurt, and guarantees that the affected drive will be fixed, and
- Restart the computer. Windows will now redetect the appropriate modes for your drive(s).
Articles » Windows Troubleshooting » Windows has Become Very Slow (IDE drive has switched from DMA to PIO mode)