A root cause of a slow/sluggish running Windows XP computer can be if it's stuck in PIO mode. It's wise to periodically check and make sure your disc drives and hard disks are not in the very slow PIO mode. Especially check your CD/DVD drive if after using a bad disc that Windows gives a cyclic redundancy check ("read-error") warning when trying to read!
When Windows XP systems get stuck in PIO Mode they won’t automatically self-repair and go back into the preferred and fast DMA Mode that newer versions of Windows will after a restart.
Restoring DMA Mode in Windows XP:
Manually create a System Restore Point.
Open Device Manager
Scroll down to Primary IDE Controller / Secondary IDE Controller
Right-click and select Properties for the Primary IDE Controller (this one is for your hard disks), it should read as using a DMA Mode, if it isn’t switch the transfer mode to DMA Mode using the drop-down box
Right-click and select Properties for the Secondary IDE Controller (this one is for your CD/DVD disc drives), it should read as using a DMA Mode, if it isn’t switch the transfer mode to DMA Mode using the drop-down box
If you’ve changed the transfer mode you must now restart Windows.
After restarting you need to verify that both the Primary IDE Controller and Secondary IDE Controller are using a DMA Mode by looking at the transfer mode again in the Device Manager.
If the Primary IDE Controller and Secondary IDE Controller are back in a DMA Mode manually create a System Restore Point, then you’ve completed the repair.
If either are still stuck in PIO mode you’ll need a few other steps to get them back into DMA Mode:
Manually create a System Restore Point.
Open Device Manager
Scroll down to Primary IDE Controller / Secondary IDE Controller
Whichever one of them is stuck in PIO Mode right click it and select Uninstall.
Restart Windows. Upon starting up Windows will re-detect the device and should automatically place it back in DMA Mode. Note in some situations this may require more than one restart, and Windows will notify you if it must restart again.
After restarting you need to verify that both the Primary IDE Controller and Secondary IDE Controller are using a DMA Mode by looking at the transfer mode again in the Device Manager.
If the Primary IDE Controller and Secondary IDE Controller are back in a DMA Mode manually create a System Restore Point, then you’ve completed the repair.
Edit:
If anyone knows if these instructions differ in newer versions of Windows please feel free to post those in this topic!
Edit 2:
I know the screenshots will not open to full-size. Something in the forum software causes this and re-uploading doesn't fix the issue.
- Can you provide a weblink in which this problem is described in more detail ? Preferably a weblink to the Microsoft website ? (tried to Google it, up to now, to no avail).
- I have seen systems (Vista, Win 7) that were very slow and (very) high memory usage. High memory usage would make perfect sense because in PIO mode the amount of data written/read to/from disk is low and therefore would cause the data buffer (in the memory) grow to large sizes as well. Do you have any thoughts/info on the relationship between memory usage & PIO mode ?
- I could image that some line in the registry could prevent this resetting to DMA from happening. This DMA/PIO issue could be registry related as well.
I can't provide more info, this is just how I know to reset a WinXP machine back to DMA mode. Most info on this is found on random forums.
For users of older Dell computers running WinXP such as the Dell Dimension and Precision line of computers Dell has a freeware small utility called "Dell Utility to set Secondary IDE controller CD devices to DMA mode v1.0" aka "PIOtoDMA", "R53986", available in their support/downloads which automatically fixes the issue after the user restarts their computer.
The freeware burning software ImgBurn can reset systems back to DMA mode by clicking: 'Tools -> Reset DMA'. Here's the ImgBurn FAQ on drives not running in DMA mode - interesting info that WinXP can lie about being in DMA mode when it can actually be stuck in PIO mode.
Now it would be nice to find a freeware or open source program with a GUI that can reset any Windows OS system back to DMA mode and not just on CD/DVD drives but also hard disks - so if anyone knows of such a tool please post a link to its website.
Edit 2:
I've found out that ImgBurn will reset DMA system-wide, meaning it will attempt to reset it on both the Primary IDE Channel ("hard disks"), and the Secondary IDE Channel (optical drives like CD/DVD).
I know. I know. But I wasn't too interested in this issue until now. In the 2nd half of this year I tried to help some folks on "Bleeping Computer" who also had a slow system (XP, Vista, win 7) but this solution helped for one user with a slow XP system. Only then I became interested and remembered this thread again.
@Andavari:
I am trying to get the author of "Tweaking's Windows Repair" to look into this matter. Perhaps there's a simple fix for solving this problem. And then it could be added to "Windows Repair". That's why I am GOOGLE-ing this issue lately. But there seems be not too much detailed info "floating around". I came across only little info for Win 7 & XP but nothing for Vista. And Microsoft doesn't provide too much info as well.
See my "Edit 2" in my post above yours. ImgBurn is the one program I'll be using from now on to reset DMA! I've had it installed and that feature under my nose for years and had never used that feature it provides.
Edit:
Microsoft really shouldn't have to provide much info for the fact that Vista and newer systems enable DMA on their own (perhaps after a reboot), they don't get stuck in PIO mode like WinXP systems do.
Perhaps XP and even newer systems like Windows Vista and newer could possibly get stuck in PIO mode such as if a CD/DVD optical drive or hard disk is failing or about to, in that scenario it would make sense for Windows to choose PIO mode.
DMA is a technology found in devices such as CD/DVD drives and hard drives, by means of which the DMA capable devices can directly transfer data between Computer Memory (RAM) and themselves, avoiding the need of Processor.