Technology in terms you understand. Sign up for the Confident Computing newsletter for weekly solutions to make your life easier. Click here and get The Ask Leo! Guide to Staying Safe on the Internet — FREE Edition as my thank you for subscribing!

Speeding up my CD/DVD-ROM: what are PIO and DMA, and how do I change the setting?

Question:

Windows 7 is taking over 2.25 hours to burn a DVD. I have read articles
saying that my PC may have changed from DMA mode to PIO mode (though I do not
profess to understand what it means) this would, they say, cause burning to
become very slow. Suggestions have been made as to how to check and change
these settings though having followed as far as possible I always meet a dead
end and never find these mysterious settings in “device manager”. I feel like
buying a new PC just to be able to burn DVDs though this is just pure
frustration.

I do hope you can help, i am reasonably proficient but the pointers to
finding any sign of PIO DMA result in no sign of them via device manager and i
have been almost everywhere.

One of the problems with this setting is that it’s very possible that it’s
in slightly different places on different computers. Another confusion is that
while we talk about DMA and PIO as being a setting of the device – in your case
the DVD player – it’s actually a setting of the controller that it’s connected
to. Which means looking in a slightly different place in Device Manager.

I’ll show you mine, and perhaps that’ll help you find yours.

And then if you’re still around, I’ll briefly summarize what PIO and DMA
are, and why they might make such a huge difference in speed.

]]>

DMA mode in Device Manager

In the start menu, or in Windows Explorer, right click on Computer and click on Manage. In the resulting dialog click on Device Manager:

Windows 7 Manage Computer dialog

We’ll start by looking at the CD/DVD devices installed on my system for at least one clue. Expand the DVD/CD-ROM drives section by clicking on the triangle in front of it:

Windows 7 Device Manage expanded to show DVD devices

As you can see, I have something called an “Optiarc” something-or-other. Yours is likely different, unless you happen to have a similar Dell laptop.

Right click on that device (the Optiarc in my case) and click on properties to get more information:

Windows 7 Device Properties of DVD drive

There’s actually nothing here about DMA/PIO – sorry. But what I wanted to highlight here was the channel that’s displayed. That’ll potentially help confirm a setting we’re about to check elsewhere, so just note it for now – in my case it’s “1”.

Click on Cancel to close this dialog, and now expand IDE ATA/ATAPI controllers:

Windows 7 Device Manager expanded IDE ATA/ATAPI controllers

Look at all those … channels. Smile

“IDE ATA/ATAPI controllers” are the controllers to which your hard disks, CD-ROM and DVD disk drives (as well as occasionally other devices) are attached.

Right click on the ATA channel that corresponds to the channel we saw above – ATA channel 1 in my case – and click on properties:

Windows 7 Device Manager showing an ATA device properties

Now click on the Advanced Settings tab:

Windows 7 Device Manager showing an ATA device advanced properties

First, note that the “Device Type” column correctly reflects that this is a ATAPI Cdrom (it may say Cdrom even if you have a DVD drive – it’s a generic term). That helps confirm we’re looking at the right thing.

And below that? The “Enable DMA” setting.

Make sure that’s checked, and click OK to exit. (You may need to reboot before it’ll take effect.)

DMA? PIO? WTH?

Let’s at least clear up the acronym soup first:

Oversimplifying, as usual, but there are basically two ways for hardware such as disk drives and DVD players to transfer data to and from the computer itself. PIO has the computer itself involved in the transfer of the actual data: every byte, perhaps in groups of 2, 4 or 8, is transferred to or from the device by specific instruction of your computer’s CPU. DMA bypasses the CPU completely and allows the device controller to write directly to your computer’s RAM when the CPU’s not looking.

DMA is much faster. Much, much faster. And it doesn’t impact your system nearly as much since it leaves the CPU alone for the bulk of the data transfer.

So, why have PIO at all? Mostly for compatibility. Not all hardware supports DMA, and (apparently) not all hardware that does support it supports it well. Thus we need PIO to fall back on.

Things were fast, why’d it change?

That whole “fall back on” thing I just mentioned.

For the most part, everything defaults the way we might want and expect: DMA mode. However, depending on things such as the specific device and the device-driver software, your drive may elect to fall back to PIO mode if it has trouble.

And then forget to revert to DMA mode. (I say “forget”, but there are actually reasons that the device driver might decide to stay in PIO mode.)

The scenario that I’ve heard of, but not experienced myself, is a difficult to read CD or DVD. In attempting its darnedest to read the media the device might well say “DMA’s not working, let’s try PIO”, and when that then works for whatever reasons it decides to stay in PIO mode from then on.

Without telling you.

And with all the speed impact that implies.

So if you find your DVD, CD, or even your internal hard disks not performing quite as well as you might imagine, the DMA/PIO setting is worth a check.

Do this

Subscribe to Confident Computing! Less frustration and more confidence, solutions, answers, and tips in your inbox every week.

I'll see you there!

7 comments on “Speeding up my CD/DVD-ROM: what are PIO and DMA, and how do I change the setting?”

  1. What a great article!

    I’ve just checked a few settings based on this, and found one (a channel linked to my external HDD) set to PIO. Changed it to DMA and experienced a super-boost in performance!

    A setting I’d never have thought of. I’ll keep an eye on that one in future.

    Kudos to you Leo.

    Reply
  2. Hello,
    As Leo mentioned, I have had this happen on my system, while experiencing burn errors with certain files. Several times, I have had to reset my controllers back to dma mode. I have a very complex setup, with 8 hard drives (including 1 ssd, 4 internal sata hard drives, 2 external usb sata hard drives, and 1 NAS ide hard drive), 2 ide optical drives, and 2 mmc drives. Sometimes, only the optical drive controller is affected, and sometimes one or more of my hard drive controllers changes mode. This article very clearly shows how to check and correct the problem temporarily. I have not found a final solution to this behavior, in either Windows XP or Windows 7.

    Regards, Don

    Reply
  3. Great article. But the question doesen’t say what type of dvd takes 2 hours to burn. Video dvds usually take longer than data dvds because they have to prepare the video prior to burning. Maybe he should also check if this is the case.

    Reply
  4. My Compaq 510 has two ATA Channels. But both my HDD and ATAPI DVD ROM use ATA 0 Channel. Is there a way to change the DVD rom to channel 1?

    Reply
  5. Mr. Leo. You have no idea how grateful i am for this article. I had a problem on a pc my sister got, its some old machine she got for a present even tho we got a way better one and a lap top. The DVD-ROM wouldnt read any kind of CD, worked on it for 4 hours until i found this article. I just had to switch it to PIO since its and old piece of hardware and now it works. Thank you very much.

    Regards, Johnny B

    Reply
  6. I have sony Vaio VPCEB34EN windows7 laptop, it takes 3.5 Hrs. to burn a CD ROM. I read your article but in my laptop there is no channel shown in device manager as discussed by you. Pls Help me.

    Reply

Leave a reply:

Before commenting please:

  • Read the article.
  • Comment on the article.
  • No personal information.
  • No spam.

Comments violating those rules will be removed. Comments that don't add value will be removed, including off-topic or content-free comments, or comments that look even a little bit like spam. All comments containing links and certain keywords will be moderated before publication.

I want comments to be valuable for everyone, including those who come later and take the time to read.