Open information exchange
Active forum topics
There are currently 0 users and 11 guests online.
DMA reverts to PIO
The stuttering DVD drive or the lame hard disk
This is the recommended solution. If you're not interested in the details, but just want to fix this problem as quickly as possible:
Please note that this works only with the Windows drivers. If your device had its own manufacturer's drivers installed, this program cannot fix the problem and will not do anything to them. Instead it will report that no resettable DMA channels were found.
Note also that many CD and DVD drives only use UDMA-2, because their data rate is much lower than that of a hard disk. This is normal and no reason to worry.
If you are interested in the details, read on.
The program tries to reenable DMA in the registry exactly as described below, for all suitable (S)ATA channels. Windows then redetects the DMA status after the next reboot.
If you use the program again after a short while, it may again report that it has reset the channels. This is normal behavior and not a sign of any problem.
This article also applies to Windows 2000. (Peter Frank reported successful application on Windows 2000 with Service Pack 4.)
DMA is an abbreviation for Direct Memory Access, an access method for external devices where the data transfer is not done by the central processor, but by a small special processor called DMA controller. It uses a procedure called cycle stealing, where the central processor memory access cycles are delayed for very short times to intersperse DMA controller memory access cycles. Some newer, faster DMA modes are called UDMA (Ultra DMA).
The alternative, slow and inefficient data transfer mode is called PIO, Programmed Input-Output, where the central processor transfers data byte for byte or word for word. This requires many processor commands for each data word and therefore causes a high and unwanted processor load.
A typical symptom of PIO mode is slow data transfer, accompanied by high processor load, leading, for example, to a choppy video display.
Possible causes for falling back to PIO mode
The most frequent use why a CD or DVD port falls back to PIO mode is a scratched or otherwise unreadable CD or DVD. For example, some newer DVDs, initially from Sony, carry a copy protection scheme that relies on defective sectors. If you try, without using special software, to copy such a DVD (which doesn't work), then this can already trigger the problem.
However, there are a few reasons why a computer may use PIO instead of DMA, particularly when it's the hard disk port that falls back, not a CD/DVD drive port. For example, David Duberman reported in 2005 that some Dell computers have DMA disabled in their BIOS by default for the second hard disk. So it is a good idea to check the BIOS settings first.
2007-05-13 – Jason Paquette confirmed that the BIOS setting in his Dell computer was wrong too and prevented DMA mode. Correcting the BIOS setting immediately enabled the DMA mode.
A not so rare hardware problem is a bad or too long IDE data cable. You need 80-way cables, not the older ones with only 40 wires. With poor cables the device may work, but Windows will probably step down to lower DMA speeds or even to PIO.
A further cause may be waking from standby mode, if one of the involved components does not perform this process correctly.
2007-02-20 – Stefan Welte wrote that on an Elitegroupsystems K7S5A computer all IDE hard disks ran in PIO mode, because automatic device recognition was disabled in the BIOS. (The computer booted from a SCSI disk.) Enabling device recognition solved the problem without any further measures.
2009-06-27 – markvm confirmed again that the BIOS in a Dell computer prevented DMA mode. Please see his comment below. In his case a hard disk was not recognized by the BIOS. After enabling and starting the automatic recognition, everything fell into place nicely, and DMA was automatically enabled by Windows.
Occasionally a chip set or controller driver is buggy, so check with the manufacturer for updates.
2007-03-01 – Francois Eraud reports one such case in a Sony laptop, regarding an ALI M5229 chip set controller, solved with driver version 4.008.
Other reasons can show up in the event log, so check this first and see if you can find repeated Atapi errors recorded. If so, you likely have a hardware defect. You can use the procedures described on this page, but your computer will probably fall back to PIO mode again and again, until you solve the underlying problem, which may be located inside the device, on the motherboard, or in the IDE data cable and its connectors.
A dramatic example was reported on 2006-12-29 by David Hähningen:
2007-02-07 – Carl Kaufmann wrote that he looked for a solution for a computer with an Intel chip set and found the Intel(R) Application Accelerator. As instructed, he first installed the Intel Chip Set Installation Utility, which already solved the problem (as observed in Task Manager). He went on anyway to install the accelerator. After that there was no longer any DMA/PIO choice in the controller options, but everything now works right automatically.
2007-05-15 – John Schumacher confirms:
The Intel Application Accelerator can also have a quite adverse effect when it is run on an unsuitable processor. If in doubt, uninstall it and retest. (See the comment, Intel Application Accelerator by dkneyle = Ausie Davo.)
Windows contains a trap in which quite a few computers seem to get caught sooner or later. The trap was described in a Web article whose link no longer works (and also in another one mentioned below):
The crucial paragraphs are:
Of course, drive firmware being quite complex and certainly containing programming defects of its own, it is not all that difficult to produce such errors. In my case a scratched DVD and later also an unreadable (overburned) CD did the trick, got the drive to choke and Windows to disable DMA for good. Later my hard disk hiccupped just once and also went back to PIO for good.
I had been using my laptop for DVD viewing for years, until I inserted a borrowed and heavily scratched DVD. The player and apparently even the DVD drive choked on it, and when I finally got the DVD to play, I found that playing was jerky and processor load was 100%, roughly half of which was system overhead.
This indicated that the drive had reverted from the usual UDMA (Ultra Direct Memory Access) mode 2 to PIO (Programmed Input Output) mode. No amount of resetting or changing the relevant registry parameters from 1 (try DMA) to 2 (force DMA) helped. Stubbornly the drive kept using PIO mode, and Windows even changed these settings back to 0 (use PIO only).
The following text will refer to the secondary IDE port because that is more often affected, but essentially the same also holds for the primary IDE port, to which the main hard disk is connected in most computers.
Before you begin to work on the problem, log on as Administrator or as a user with administrator rights.
Check Your IDE Port Mode
First check what mode your secondary IDE port is currently working in. Go to Device Manager: right-click on My Computer, select Properties, click on the Hardware tag, click on the Device Manager button, click on the plus sign to the left of IDE ATA/ATAPI Controller, double-click on the secondary IDE channel, click on Extended Settings and check whether it is set to DMA when available. Directly underneath that setting is a grey field that shows the actual working mode of your IDE channel. You want the highest possible DMA or Ultra DMA mode there, and you definitely don't want PIO mode.
If the Extended Settings tab is not there, perhaps another driver is used, probably from the manufacturer of the IDE ATAPI controller. You can still perform a simple test. In the Task Manager activate the option View, Show kernel times. Then put a high load on the device, for example by copying a large file, and check whether the kernel times are minimal (red line). If you observe considerable kernel times, roughly around half of the total load, then the device is running in PIO mode, which is bad. The whole purpose of the DMA mode is to relieve the processor (in kernel mode) of this load.
Assuming the Microsoft IDE ATAPI driver, normally you don't have to use the registry editor, because the normal settings are also available through the properties dialog for the IDE port, but if you want to look at it anyway, the parameter for the secondary IDE port can be found through regedit.exe at
It is named Scsi only for historic reasons. Scsi Port 0 is the primary IDE port, to which presumably your hard disk is connected.
After trying various remedies—in vain—I found the abovementioned article and went to work again. I uninstalled the DVD drive in Device Manager and rebooted, but that did not help either.
So I searched for more and better information, then I went on and did the following.
Re-enable DMA using the Registry Editor
This chapter describes the manual way to do what the quick solution at the top of this page does automatically through a script program. If you're not interested in the details, you can back up to the chapter "Quick solution" above and run the script.
My thanks go to my fellow MVP Alexander Grigoriev who taught me this method.
Run REGEDIT. Go to the following key:
It has subkeys like 0000, 0001, 0002, etc. Normally 0001 is the primary IDE channel, 0002 the secondary, but other numbers can occur under certain circumstances. You have to go through these subkeys and check the DriverDesc value until you find the proper IDE channel.
Delete MasterIdDataChecksum or SlaveIdDataChecksum, depending on whether the device in question is attached as master or slave, but it can't actually hurt to delete both. Reboot. The drive DMA capabilities will be redetected.
Note that many CD and DVD drives only use UDMA-2, because their data rate is much lower than that of a hard disk. This is normal and no reason to worry.
2006-01-19 – Horst Schülke wrote that it is sufficient to empty the content of these values. But you can also delete the values entirely. Windows will automatically recreate them anyway, with new content.
Open Device Manager again and check whether the device is now actually using DMA mode. If so, congratulations, you've made it (at least until the next time Windows disables DMA). If not, you may have to change the IDE channel setting from PIO back to the highest available DMA mode and reboot again.
Many thanks to Tomáš Souček, Peter Götz, Alex Vaillant, and Cory Culbertson for piecing together the following information:
More information is needed. If you know anything, please click on Add new comment at the end of this article and write it down.
Alternative Method—Uninstalling the Port
1. Uninstall the secondary IDE port
Attention: Do this only if you use the Microsoft IDE driver that comes with Windows or if you have the driver on hand, because otherwise you may find yourself unable to reinstall the proper driver.
To uninstall the port along with its driver, open Device Manager as follows. Right-click on My Computer, select Properties, click on the Hardware tag, click on the Device Manager button, click on the plus sign to the left of IDE ATA/ATAPI Controller, right-click on Secondary IDE Channel, click on Uninstall. Deactivating is not enough.
Reboot to make the changes active and permanent.
After booting Windows will automatically reinstall the IDE channel and the DVD (or CD) drive. This Plug-n-Play process can take a little while, so give it a minute after the boot process finishes.
2. Check or reactivate DMA
But this may not always be not enough, because unfortunately Windows does not always automatically activate DMA on a DVD or CD drive. You have to check and, if necessary, tell Windows to try to use DMA first. It is possible that Windows XP with Service Pack 2 re-enables DMA automatically on reboot, but I have not tested this yet.
To re-enable DMA, go to Device Manager again. Right-click on My Computer, select Properties, click on the Hardware tag, click on the Device Manager button, click on the plus sign to the left of IDE ATA/ATAPI Controller, double-click on the secondary IDE channel, click on Extended Settings and change the relevant setting from PIO only to DMA when available.
On Windows NT and 2000 you now have to reboot a second time, but Windows XP applies the change instantly. Then you can go to the same place in Device Manager again and check whether the device is now actually using DMA mode. If so, all is well.
Note that many CD and DVD drives only use UDMA-2, because their data rate is much lower than that of a hard disk. This is normal and no reason to worry.
3. Driver is not intended for this platform
If you keep getting the following error message, please read on:
2005-03-30 – Johannes B. wrote: The reason for this error is often that Daemon Tools or Alcohol 120% are installed. In this case the solution described below would not work. But when you uninstall these programs and then restart Windows, it will then install the device drivers without any further problems.
If these programs are not installed, then one possible way out is to rename C:\WINDOWS\system32\drivers\atapi.sys (or a similar path on your computer) to something like atapi.old.
If that's not possible, you can try it from the repair console (boot from the Windows install CD and select the repair console).
If Windows always automatically recreates atapi.sys, you can try renaming it in safe mode or from a command line window or you can try to rename or remove it in the driver cache as well.
Desensitize Your Computer's IDE or SATA Channels
There's a bit more to it. The following article offers a way to reduce the incidence of this problem, although it still doesn't solve it altogether.
IDE ATA and ATAPI Disks Use PIO Mode After Multiple Time-Out or CRC Errors
Do read this article because it contains a useful long-term workaround. But you have to go through the procedure described here to re-enable DMA first.
Unfortunately this is only a half solution, because when you enter an unreadable DVD, you will get 6 errors in a row, and the IDE channel will revert to PIO mode, but at least when you pull out the DVD in time and then insert a good one, the error counter will be reset and it will at least be a bit more difficult for Windows to hobble your IDE drive.
A little warning: One user reported that by mistakenly putting the value into the parent key, rather than into one of the 0000, 0001, 0002, etc., subkeys, he was accused by Microsoft's Genuine Advantage check of using a pirated copy of Windows and therefore denied online updates.
Useful info on re-enabling DMA. No more jerky video from primary slave! Thank you
Thank you for a very helpful article. After applying your fix I saw a 10x speed improvement!
Don't mention it!!! After months of trouble-free operation, DVD playback suddenly started to crap out on me, and your site was the only one I could find that remedied this problem. I had been trying to fix it for several weeks when I found it, and boy was I happy. I'm the one who needs to thank *you*!!! Thank you!!! :)
Thank you for the great page on DMA/PIO issues. I had a problem caused by Daemon tools that you covered on your page. Without your work I might never have solved this problem. I intend on donating again after my next paycheck.
You ROCK! Your write-up on Windows setting DMA back to PIO saved me. I was about to take a 12 gauge to my computer. My DVD player wouldn't work for SHIT (stuttering, dropping frames, etc.). I uninstalled my secondary IDE controller, re-booted, & problem solved. THANKS!
Your DMA reverts to PIO page relieved me from horrible sound stututustuttuttering. [...] Hard disk went from PIO mode back to Ultra DMA mode 5 when I uninstalled primary IDE channel in device manager and XP reinstalled it. Thanks.
I love you...
I just wanted to thank you for the information [on this page]. After noticing
that my laptop's CD/DVD drive started exhibiting the dreaded "choppy playback"
from nowhere (probably caused by trying to read a poorly burned homework assignment
handed out by one of my professors a dozen times) I found your advice after a
quick search on how to correct the problem. After a few minutes of reading, using
the provided script, and rebooting, my drive successfully reverted back to DMA
mode from PIO.
I also wanted to thank you. I almost despaired. For no
discernible reason all movies from my DVD drive became jerky. Cleaning the
registry and scanning for viruses were also unsuccessful. I was already
resigned to the thought of returning the laptop to the manufacturer, because I
thought the drive was broken. Luckily there is the Internet and dedicated
people like you, who help with good tips.
Thank you very much for your online help to my DMA problem (DMA reverts to PIO). I had been banging my head against the wall for a few weeks before I found your site. The .vbs program worked perfectly to fix my infuriating iTunes & audio distortion problems. For this, I have donated $10 to your site.
To add a comment, you have to have an account and be logged on. If you don't have an account yet, please click on: Create new account
Recent blog posts
Windows news ticker