Disk Performance May Degrade Over Time

Article translations Article translations
Article ID: 263939
Expand all | Collapse all

On This Page

Symptoms

Disk input/output (I/O) throughput may degrade over time from the amount of time that it takes after you start your computer. After the throughput is degraded, the original disk performance is not recovered until you restart your computer again.

Note that this degradation in performance is distinct from the degradation that occurs when a disk becomes fragmented. Degraded performance that is caused by disk fragmentation is not recovered when you restart the computer. Also, this degradation in performance is observed most often on high-end disk subsystems that consist of multiple spindles in a Redundant Array of Inexpensive Disks (RAID) configuration.

Cause

This problem occurs because the Classpnp driver monitors disks for signs that they are under too much load. Internal indications of this type of load include a variety of errors that may be returned by lower level disk drivers. When these errors occur, Classpnp progressively disables performance features on the disk to avoid generating the errors. The algorithm that is used to decide when to throttle back these performance features does not allow for scenarios that may involve transient error conditions. Therefore, after a certain number of errors are accumulated, performance is deliberately throttled back and is not restored to normal until the next reboot. This can cause problems on computers that may experience very few disk errors but remain online for long periods of time because there is no provision for dynamically re-enabling performance features.

Resolution

Service Pack Information

To resolve this problem, obtain the latest service pack for Microsoft Windows 2000. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
260910 How to Obtain the Latest Windows 2000 Service Pack

Hotfix Information

A supported hotfix is available from Microsoft. However, this hotfix is intended to correct only the problem that is described in this article. Apply this hotfix only to systems that are experiencing this specific problem.

If the hotfix is available for download, there is a "Hotfix download available" section at the top of this Knowledge Base article. If this section does not appear, submit a request to Microsoft Customer Service and Support to obtain the hotfix.

Note If additional issues occur or if any troubleshooting is required, you might have to create a separate service request. The usual support costs will apply to additional support questions and issues that do not qualify for this specific hotfix. For a complete list of Microsoft Customer Service and Support telephone numbers or to create a separate service request, visit the following Microsoft Web site:
http://support.microsoft.com/contactus/?ws=support
Note The "Hotfix download available" form displays the languages for which the hotfix is available. If you do not see your language, it is because a hotfix is not available for that language. The English-language version of this fix should have the following file attributes or later:
   Date        Time   Version        Size    File name
   ------------------------------------------------------
   01-07-2002  17:44  5.0.2195.4809  27,952  Cdrom.sys
   11-16-2001  10:23  5.0.2195.4643  34,416  Classpnp.sys
   04-27-2002  13:10  5.0.2195.5690  29,744  Disk.sys
   09-11-2001  17:06  5.0.2195.4326  24,336  Scsikd.dll
   09-11-2001  17:06  5.0.2195.4326  11,632  Scsiprnt.sys
   01-11-2002  15:06  5.0.2195.4826  10,384  Sfloppy.sys
   02-21-2002  11:45  5.0.2195.4956  10,768  Tape.sys
				
The following file is included with the package but is not installed as part of the patch because it is only needed for purposes of kernel debugging. It is not a required part of the hotfix and need not be installed on a system in order for that system to function correctly or to be debugged.
   Date        Time      Version        Size    File name
   ---------------------------------------------------------
   09/11/2001  05:06 PM  5.0.2195.4326  24,336  Scsikd.dll
				

Workaround

To work around this problem on computers that do not have this fix installed, restart the computer.

Status

Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article. This problem was first corrected in Microsoft Windows 2000 Service Pack 4.

More information

The list of errors that can result in throttled performance include the following SCSI Request Block (SRB) status codes (note that these codes are of interest primarily to driver developers):
SRB_STATUS_COMMAND_TIMEOUT
SRB_STATUS_ABORTED
SRB_STATUS_TIMEOUT
SRB_STATUS_PHASE_SEQUENCE_FAILURE
SRB_STATUS_UNEXPECTED_BUS_FREE
SRB_STATUS_PARITY_ERROR
SRB_STATUS_ERROR
When the total count of any of the above errors reaches four, Classpnp throttles performance by clearing the following flags
SRB_FLAGS_NO_QUEUE_FREEZE
SRB_FLAGS_QUEUE_ACTION_ENABLE
and setting the following flag:
SRB_FLAGS_DISABLE_SYNCH_TRANSFER
When the accumulated error count reaches eight, Classpnp sets the following flag:
SRB_FLAGS_DISABLE_DISCONNECT
The fix for this issue changes the behavior of Classpnp so that it successively re-enables the performance flags after a certain amount of successful I/O. After successfully completing 1 megabyte (MB) of I/O, the driver backs off to the next lower-level of throttling until the computer is back to the original state. The amount of time that is required to back off, therefore, depends on how much disk activity is occurring. The typical case is that there is a combination of successful and unsuccessful I/Os during the transition periods (normal, degraded and degraded, normal), so the computer flips between throttled and running free several times before settling in on the best performance features.

For additional information about how to obtain a hotfix for Windows 2000 Datacenter Server, click the article number below to view the article in the Microsoft Knowledge Base:
265173 The Datacenter Program and Windows 2000 Datacenter Server Product
For additional information about how to install multiple hotfixes with only one reboot, click the article number below to view the article in the Microsoft Knowledge Base:
296861 Use QChain.exe to Install Multiple Hotfixes with One Reboot
For additional information about how to install Windows 2000 and Windows 2000 hotfixes at the same time, click the article number below to view the article in the Microsoft Knowledge Base:
249149 Installing Microsoft Windows 2000 and Windows 2000 Hotfixes

Properties

Article ID: 263939 - Last Review: June 19, 2014 - Revision: 4.0
Keywords: 
kbautohotfix kbhotfixserver kbqfe kbwin2ksp4fix kbbug kbenv kbfix kboswin2000fix kbwin2000presp4fix KB263939

Give Feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com