Helping people with computers... one answer at a time.

My machine had slowed to a crawl. Why? Windows was "helping"!

Listen:
Download the mp3

Transcript

This is Leo Notenboom for askleo.info.

Yesterday my primary desktop machine was acting a little sluggish when I got up, but a forced reboot seems to have cleared it up. Stuff happens.

This morning that machine was so slow as to be effectively useless. It took a full 10 minutes for Process Explorer to load and display.

As many people tell me when they report problems, I hadn't done anything new or different or out of the ordinary prior to the problem - it just came out of nowhere.

To make a long (and slow) story short, the problem boiled down to this: the transfer mode on my hard drive had been switched from Ultra-DMA mode to very slow and CPU-intensive PIO mode. (Now if you don't know what those mean, that's fine, I'll throw links in the show notes.) Why did this happen? Windows was trying to be helpful. Apparently if it sees enough errors on the drive it does this. Apparently "enough errors" can happen relatively easily even on a properly working drive.

The solution? To uninstall the disk controller driver and reboot, allowing Windows to re-detect the hardware and reinstall the driver, hopefully with the correct default setting of Ultra-DMA.

The scenario bothers me for a couple of reasons:

  1. Aside from the performance issue, it was completely silent. There should have been notifications or an option to control what was going on.

  2. The approach required to "undo" it is obscure, to say the least. A fair amount of Googling (on another machine) lead me to the answer. Once understood, this should have been a easily accessible user setting.

But my rant here isn't so much about the design or process that lead to this situation. I totally get how software evolves, particularly software designed to interface with hardware that's also evolving. And I understand that good error handling is sometimes the most difficult and most commonly overlooked aspect of software development.

My concern is this: with 30 years of computing experience under my belt, it still took me significant time to make some educated guesses about what might be happening, search the internet, interpret and evaluate the results, and then interpret and perform the recommended solutions.

What's an average user supposed to do?

I'd love to hear what you think. Visit askleo.info and enter 11892 in the go to article number box to access the show notes, the transcript and to leave me a comment. While you're there, browse over 1,200 technical questions and answers on the site.

Till next time, I'm Leo Notenboom, for askleo.info.

Article C3171 - October 7, 2007 « »

Share this article with your friends:

Share this article on Facebook Tweet this article Email a link to this article
Leo Leo A. Notenboom has been playing with computers since he was required to take a programming class in 1976. An 18 year career as a programmer at Microsoft soon followed. After "retiring" in 2001, Leo started Ask Leo! in 2003 as a place for answers to common computer and technical questions. More about Leo.

Not what you needed?

10 Comments
Ken B
October 8, 2007 10:12 AM

Thank you!

While I don't have a "my whole system is slow" problem, I do have a problem with one of the DVD drives stuttering during playback. Sure enough, it's set to PIO, while the non-stuttering drive is UDMA-2. I'll give your suggestion a try and see what happens.

Ken B
October 9, 2007 7:29 AM

That was it. I deleted the channel from the control panel, rebooted, and when it re-detected the drive, it set it to UDMA-4 instead of PIO. No more stuttering movies. And, though I haven't tried it, I can only assume that reading data will be faster as well.

One cup-o-joe on its way. Thanks.

The Executioner
October 9, 2007 5:24 PM

Yep,

A very common problem, and like you Leo, I have extensive experience in the industry and the first time it happened to me it stumped me for some time... With me, a DVD drive was the Ultra-DMA device that had been downgraded to PIO. This is a more likely scenario for most users than a hard drive, and can occur when a DVD/CD begins goes bad.

It's inexcusable for the Windows OS not to provide a way out for the general user; and worse, to flip modes without telling anyone.

Why they haven't changed this behavior in an update is beyond me.

Let the user decide, or at least react appropriately. Let's put into perspective what PIO mode means (from the viewpoint of the OS): If you've entered into PIO, your media, or your device, is possibly in trouble. If the OS is having trouble getting data off the device in the preferred DMA mode - it should tell you! Would you prefer it remain in PIO until the media, or worse still the device gives up entirely?

I wouldn't...

regards,
The Executioner.

Arne
October 11, 2007 9:03 PM

This has all the signs of something falling between the cracks. If you click through and get to the hotfix, you'll see that only ATAPI.SYS is modified. In other words, this was done at a very low-level by someone who doesn't go anywhere near UI.

From device drivers to fancy managed code UIs, software spans a humongous range. Getting something all the way up the stack is pretty unlikely these days.

Marilyn
October 12, 2007 6:46 PM

11892
I believe this happens on days when your spy-sweeper is loading new things, then Microsoft also loads all their new security things, and it happens when you sign on. After a while, you get those things loaded, reboot, and all is fine.

Walter Earnshaw
October 12, 2007 7:27 PM

Hi_Leo
A very set of comprehensive answers for this(PIO) problem. If I ever get it these should help
elwaltura

Frank Golden
October 13, 2007 1:03 AM

thanks Leo, I had a similar issue with my optical drive a couple of years ago. Windows reverted to PIO mode for the optical drive after having trouble auto starting a CD from a well known PC mag.
The result was a drive that wouldn't play audio CD's without stuttering I got on the phone with HP and talked to a clueless "tech" for over an hour and finaly was told the drive was defective and needed to be replaced. I was close to boxing up the machine (a laptop) when I stumbled on the problem and fix by googling it. All I had to do was reset the drive to "Ultra DMA if available" and all was well. Again thanks for the info.

TechTAK
October 13, 2007 3:53 PM

We had this one on our radio show awhile back. We got a few calls in a month to the studio with the problem and it took us awhile to figure it out. It's a good thing for a tech to know about.

Dave
October 14, 2007 8:10 AM

Like other folk, I came across this PIO prob on my DVD drive. The writing in particular slowed down by a factor of 2 or more and NERO actually gave up on a couple of occasions. What is worse, I believe, is that the change to PIO becomes irreversible after Windows thinks it has detected 5 separate occasions when the DVD drive caused errors (or potential errors). No amount of un-installing would get the DMA mode back. I got around this by physically (ie screws an stuff) installing a borrowed DVD drive then re-installing my own, apparently this wipes windows memory and it starts to re-count. Incidentally, un-installing the ATA/ATAPI device to which the DVD is attached also works to recover DMA but this too has a 5 count.
Dave

Vraana
November 24, 2007 12:40 PM

Solution:
edit registry ResetErrorCountersOnSuccess=1 (KB817472)
IDE ATA and ATAPI disks use PIO mode after multiple time-out or CRC errors occur
http://support.microsoft.com/kb/817472/en-us

and install hotfix
An IDE device runs in PIO mode instead of in DMA mode after you update the firmware for the device in Windows XP
http://support.microsoft.com/kb/920918/en-us
download at
http://thehotfixshare.net

Comments on this entry are closed.

If you have a question, start by using the search box up at the top of the page - there's a very good chance that your question has already been answered on Ask Leo!.

If you don't find your answer, head out to http://askleo.com/ask to ask your question.