Article ID: 263939
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.
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.
Service Pack InformationTo 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:
(http://support.microsoft.com/kb/260910/EN-US/ )How to Obtain the Latest Windows 2000 Service Pack
Hotfix InformationA 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:
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 ------------------------------------------------------ 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
Date Time Version Size File name --------------------------------------------------------- 09/11/2001 05:06 PM 5.0.2195.4326 24,336 Scsikd.dll
To work around this problem on computers that do not have this fix installed, restart the computer.
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.
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_TIMEOUTWhen the total count of any of the above errors reaches four, Classpnp throttles performance by clearing the following flags
SRB_FLAGS_NO_QUEUE_FREEZEand setting the following flag:
SRB_FLAGS_DISABLE_SYNCH_TRANSFERWhen the accumulated error count reaches eight, Classpnp sets the following flag:
SRB_FLAGS_DISABLE_DISCONNECTThe 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:
265173For 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:
(http://support.microsoft.com/kb/265173/EN-US/ )The Datacenter Program and Windows 2000 Datacenter Server Product
296861For 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:
(http://support.microsoft.com/kb/296861/EN-US/ )Use QChain.exe to Install Multiple Hotfixes with One Reboot
(http://support.microsoft.com/kb/249149/EN-US/ )Installing Microsoft Windows 2000 and Windows 2000 Hotfixes