Windows XP And PIO

You may already know about this, but it’s new to me and
I haven’t found much on it by way of web searching so I
thought I would pass it along.

Recently I began to notice my Athlon XP 1800+ computer
with 512 MB DDR SDRAM on an MSI KT266 board slowing
down a bit. Boot times took longer; load times
extended. It was sort of gradual, so I didn’t notice it
all at once. One day I’m sitting here waiting for my
computer to boot thinking, “This is slower than my old
95 boot!” My hard drive performance had really slowed
down across the board.

When I set XP up, I made sure to go in and change the
default PIO modes on my IDE channels to ‘Use DMA if
available.’ After that, I had confirmed that the
modes on my devices had switched to various DMa modes.
So I didn’t figure that’s where the problem was with
this slowly corroding hard drive performance. After
all, I had changed the settings properly and not made
any adjustments to them, so how could my problem lie
there?

Then I looked in Device Manager. IDE 0 was set
to ‘Use DMA if available’, but the setting being used
was *not* the DMA mode it had been set to previously,
but, inexplicably, PIO! What’s worse, there was no
option to change it back to DMA. It was ‘stuck’.

The problem turns out to be an automatic ‘feature’ of
Windows XP, as explained on this MS Windows Platform
Development Web Site:

For repeated DMA errors.

Windows XP will turn off DMA mode for a device after
encountering certain errors during data transfer
operations. If more that six DMA transfer timeouts
occur, Windows will turn off DMA and use only PIO mode
on that device.

In this case, the user cannot turn on DMA for this
device. The only option for the user who wants to enable
DMA mode is to uninstall and reinstall the device.

Windows XP downgrades the Ultra DMA transfer mode after
receiving more than six CRC errors. Whenever possible,
the operating system will step down one UDMA mode at a
time (from UDMA mode 4 to UDMA mode 3, and so on).

So I uninstalled the Primary IDE channel and rebooted.
Windows XP reinstalled the IDE drivers and redetected
the hard drive. Reboot one more time with ‘Use DMA if
Available’ and Voila!! Hard drive access was once again
up-to-snuff, using the correct DMA mode.

I’m not entirely sure what errors I have had that
qualified, but as an overclocker and gamer I have had
driver issues, crashes relating to overclocking, and
other occasional conflicts generated by my curiosity
with trying all sorts of odds-and-ends. And to think,
Windows XP was looking out for me the whole time by
downgrading my data transfer modes!! I feel more
protected by MS all the time; protected from good
performance anyway. 🙂

Jim McHie

Be the first to comment

Leave a Reply