Tip

Why disk performance sometimes slows in Windows

Some Windows users have noticed that, after suspending and resuming their computer several times without rebooting, disk performance becomes unusually poor. This happens when the computer's disk controller is listed as an IDE controller in the Device Manager. After a number of suspend/resume cycles, the IDE controller's transfer mode may be reset to a slower mode. This typically starts with the IDE controller falling back to a slower direct memory access (DMA) mode, then eventually to the slowest mode of all, programmed I/O (PIO).

(Note: This usually leads to a good deal of grousing from users about why Windows always runs faster when they first boot it.)

Why does this happen? As it turns out, this behavior has been deliberately programmed into the ATAPI.SYS disk driver in Windows. This driver handles all generic IDE disk functions, including hard drives and CD/DVD drives, and also keeps running counts of any problems that arise with a given drive. If a drive times out (i.e., doesn't respond to commands) or returns a data error more than six times before a reboot, ATAPI.SYS reduces the speed of the device to prevent further errors. This causes the slowdown, and disk performance won't return to normal until the system is rebooted.

XP Service Pack 2 included a fix for this problem, and a hotfix for Windows Server 2003 also addresses it (which is only available for Microsoft Product Support Services; refer to Knowledge Base article

Requires Free Membership to View

817472). However, the fix isn't enabled by default. To enable it:

  • Open the Registry and navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}\.
  • Look under this key for a set of subkeys named 0001, 0002 and so on. There will be as many such entries as there are for each separate IDE controller in the system.
  • Within each of these numbered subkeys, add a new DWORD value named ResetErrorCountersOnSuccess and set it to 1.
  • Reboot the computer.

This should cause the computer to reset the error counter for a given device without needing a reboot, and keep it from dropping back to a lower speed unless it's really required.

Note: This behavior usually doesn't manifest after hibernating and resuming (as opposed to suspending and resuming), since hibernating involves powering off the system entirely and thereby resets the driver's error counters. Also, just to reiterate, this problem occurs only when the disk controller is listed as an IDE controller in the Device Manager. If your disks are controlled through something like a SATA RAID device, you won't be subject to this problem.

About the author: Serdar Yegulalp is editor of the Windows Power Users Newsletter, which is devoted to hints, tips, tricks, news and goodies for Windows NT, Windows 2000 and Windows XP users and administrators. He has more than 10 years of Windows experience under his belt, and contributes regularly to SearchWinSystems.com and SearchSQLServer.com.

More information from SearchWinSystems.com


This was first published in June 2006

There are Comments. Add yours.

 
TIP: Want to include a code block in your comment? Use <pre> or <code> tags around the desired text. Ex: <code>insert code</code>

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy
Sort by: OldestNewest

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to:

Disclaimer: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.