IDE ATA and ATAPI disks use PIO mode after multiple time-out or CRC errors occur (817472)



The information in this article applies to:

  • Microsoft Windows Server 2003, Web Edition
  • Microsoft Windows Server 2003, Standard Edition
  • Microsoft Windows Server 2003, Enterprise Edition
  • Microsoft Windows Server 2003, 64-Bit Enterprise Edition
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP 64-Bit Edition Version 2002
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Professional
  • Microsoft Windows Small Business Server 2003, Premium Edition
  • Microsoft Windows Small Business Server 2003, Standard Edition
  • Microsoft Windows XP Tablet PC Edition

Important This article contains information about modifying the registry. Before you modify the registry, make sure to back it up and make sure that you understand how to restore the registry if a problem occurs. For information about how to back up, restore, and edit the registry, click the following article number to view the article in the Microsoft Knowledge Base:

256986 Description of the Microsoft Windows Registry

SYMPTOMS

After you suspending and resume your computer several times, hard disk performance may be reduced. If you use Device Manager to view the properties of the IDE channel towhich the drive is connected, the Advanced Settings tab may show that the current transfer mode for the drive is "PIO Mode."

CAUSE

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).

RESOLUTION

Windows Server 2003

Hotfix information

A supported feature that modifies the product's default behavior is now available from Microsoft, but it is only intended to modify the behavior that this article describes. Apply it only to systems that specifically require it. This feature may receive additional testing. Therefore, if your system is not severely affected by the lack of this feature, we recommend that you wait for the next Windows Server 2003 that contains this feature.

To obtain this feature immediately, contact Microsoft Product Support Services. For a complete list of Microsoft Product Support Services phone numbers and information about support costs, visit the following Microsoft Web site:Prerequisites No service pack required.Restart requirementYou must restart your computer after you apply this hotfix.Hotfix replacement information This hotfix does not replace any other hotfixes.File information The English version of this hotfix has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in coordinated universal time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time tool in Control Panel.
   Date         Time   Version      Size     File name  Platform
   -------------------------------------------------------------
   28-Apr-2003  18:09  5.2.3790.10   91,136  Atapi.sys  i386
   28-Apr-2003  18:09  5.2.3790.10  288,256  Atapi.sys  IA64

Note After you apply this hotfix, you must modify the registry as described in the "More Information" section in this article to change this behavior. If you do not modify the registry, the hotfix does not change the behavior.

Windows XP

Service pack information

To resolve this problem, obtain the latest service pack for Windows XP. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

322389 How to obtain the latest Windows XP service pack

Hotfix information

A supported feature that modifies the product's default behavior is now available from Microsoft, but it is only intended to modify the behavior that this article describes. Apply it only to systems that specifically require it. This feature may receive additional testing. Therefore, if your system is not severely affected by the lack of this feature, we recommend that you wait for the next Windows XP service pack that contains this feature.

To obtain this feature immediately, contact Microsoft Product Support Services. For a complete list of Microsoft Product Support Services phone numbers and information about support costs, visit the following Microsoft Web site:PrerequisitesWindows XP Service Pack 1Restart requirementYou must restart your computer after you apply this hotfix.Hotfix replacement informationThis hotfix replaces hotfixes 331958 and 331895.File information The English version of this hotfix has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in coordinated universal time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time tool in Control Panel.
   Date         Time   Version        Size     File name  Platform
   ---------------------------------------------------------------
   23-Apr-2003  16:29  5.1.2600.1211   87,296  Atapi.sys  i386
   23-Apr-2003  16:29  5.1.2600.1211  306,432  Atapi.sys  IA64

Note After you apply this hotfix, you must modify the registry as described in the "More Information" section in this article to change this behavior. If you do not modify the registry, the hotfix does not change the behavior.

Windows 2000

A supported hotfix is now available from Microsoft, but it is only intended to correct the problem that this article describes. Apply it only to systems that are experiencing this specific problem.

To resolve this problem, contact Microsoft Product Support Services to obtain the hotfix. For a complete list of Microsoft Product Support Services telephone numbers and information about support costs, visit the following Microsoft Web site:Note In special cases, charges that are ordinarily incurred for support calls may be canceled if a Microsoft Support Professional determines that a specific update will resolve your problem. The usual support costs will apply to additional support questions and issues that do not qualify for the specific update in question.PrerequisitesWindows 2000 Service Pack 2Restart requirementYou must restart your computer after you apply this hotfix.Hotfix replacement informationThis hotfix replaces hotfixes 813908, 323153, 314695, 305176, 305098, 304912, 304572, and 298505.File information The English version of this hotfix has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in coordinated universal time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time tool in Control Panel.
   Date         Time   Version        Size    File name
   ----------------------------------------------------
   28-Apr-2003  17:38  5.0.2195.6741  86,896  Atapi.sys

Note After you apply this hotfix, you must modify the registry as described in the "More Information" section in this article to change this behavior. If you do not modify the registry, the hotfix does not change the behavior.

WORKAROUND

To re-enable the typical, or faster, transfer mode for an affected device:
  1. Double-click Administrative Tools, and then click Computer Management.
  2. Click System Tools, and then click Device Manager.
  3. Expand the IDE ATA/ATAPI Controllers node.
  4. Double-click the controller for which you want to restore the typical DMA transfer mode.
  5. Click the Driver tab.
  6. Click Uninstall.
  7. When the process completes, restart your computer. When Windows restarts, the hard disk controller is re-enumerated and the transfer mode is reset to the default value for each device that is connected to the controller.

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

Windows XP

This problem was first corrected in Microsoft Windows XP Service Pack 2.

MORE INFORMATION

The hotfix that this article describes makes the following changes:
  • In Windows 2000 only, read requests to ATA disks are sometimes issued with a time-out value of 4 seconds. This occurs when your computer resumes from standby. This might cause a disk time-out because drives typically take more than 4 seconds to spin up. This time-out value was changed to 10 seconds.

    In Windows XP and Windows Server 2003, this time-out value is always 10 seconds.
  • An alternate, less-aggressive policy is implemented to reduce the transfer mode (from faster to slower DMA modes, and then eventually to PIO mode) on time-out and CRC errors. The existing behavior is that the IDE/ATAPI Port driver (Atapi.sys) reduces the transfer mode after any 6 cumulative time-out or CRC errors. When the new policy is implemented by this fix, Atapi.sys reduces the transfer mode only after 6 consecutive time-out or CRC errors. This new policy is implemented only if the registry value that is described later in this article is present.
To implement the alternate behavior (reducing the transfer mode after six consecutive time-out or CRC errors instead of after six cumulative time-out or CRC errors), you must modify the registry as described below after you apply the hotfix.

WARNING: If you use Registry Editor incorrectly, you may cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that you can solve problems that result from using Registry Editor incorrectly. Use Registry Editor at your own risk.

Follow these steps, and then quit Registry Editor:
  1. Click Start, click Run, type regedit, and then click OK.
  2. Locate and then click the following key in the registry:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}\0001

  3. On the Edit menu, point to New, and then click DWORD Value.
  4. Type ResetErrorCountersOnSuccess, and then press ENTER.
  5. On the Edit menu, click Modify.
  6. Type 1, and then click OK.
Follow these steps, and then quit Registry Editor:
  1. Click Start, click Run, type regedit, and then click OK.
  2. Locate and then click the following key in the registry:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}\0002

  3. On the Edit menu, point to New, and then click DWORD Value.
  4. Type ResetErrorCountersOnSuccess, and then press ENTER.
  5. On the Edit menu, click Modify.
  6. Type 1, and then click OK.
Note The numbered subkeys that are listed earlier correspond to the primary and secondary IDE channels on a computer that contains a single IDE controller. If your computer contains two IDE controllers, the numbered subkeys for the primary and secondary IDE channels for each of the two controllers may be:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}\0002

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}\0003

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}\0004

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}\0005

To verify that you have located the correct subkey, verify that the DriverDesc value for the subkey contains the string value "Primary IDE Channel" or the string value "Secondary IDE Channel."

Modification Type:MinorLast Reviewed:10/18/2005
Keywords:kbHotfixServer kbQFE kbWinXPsp2fix kbWinXPpreSP2fix kbWin2000preSP5fix kbBug kbfix kbQFE kbWinServ2003preSP1fix KB817472 kbAudOEM kbAudITPRO kbAudEndUser kbAudDeveloper