If your Windows system performance suddenly becomes really bad without any explanation, continue reading this.

I spent weeks trying to figure out why my laptop’s performance suddenly became really bad without any explanation. Hitting Google continue to returned the typical stuff of “you may have malware” or viruses or whatnot, which that was not the case for me.

I installed Process Explorer, a tool written by super Windows guru Mark Russinovich (today an architect at Microsoft and the one who uncovered the Sony Rootkit debacle) and his company Systernals (once an Austin-based company) now owned by Microsoft. In any case, Process Explorer kept showing CPU utilization varying from 40% to 100% by the “process” hardware interrupts.

So I kept tweaking my Google search. Suddenly I found a blog post by Jim Holmes that pointed to a Microsoft article titled IDE ATA and ATAPI disks use PIO mode after multiple time-out or CRC errors occur:

“After the Windows IDE/ATAPI Port driver (Atapi.sys) receives a cumulative total of six time-out or cyclical redundancy check (CRC) errors, the driver reduces the communications speed (the transfer mode) from the highest Direct Memory Access (DMA) mode to lower DMA modes in steps. If the driver continues to receive time-out or CRC errors, the driver eventually reduces the transfer mode to the slowest mode (PIO mode).”

From Jim Holmes’s article:

“Check the problem by examining the controller’s Primary and Secondary IDE settings: Device Manager -> IDE ATA/ATAPI controllers -> Primary or Secondary IDE Channel -> Properties -> Advanced Settings. Look at the Current Transfer Mode field. If it’s “PIO” then it’s a FUBAR PITA and you’ll need to uninstall the driver, reboot and let XP do its magic reinstall.

So I did, and my I/O mode was set to PIO! I removed the driver, rebooted, checked the mode again, and it is back to Ultra-DMA. And better, the performance of the system is back to where it was — no more sluggish mouse movement, or system freezing for a couple of seconds, or super slow when going to Hibernate, and no more crazy high CPU utilization. Neat. Thanks to Jim…

Next is to find out why the hard drive is getting a number of errors or time-outs, and I hope the hard drive is not going bad, so I will run more checks… and I’ll make sure all my important data is backed up…

ceo