Dmio reports Event ID 30 with status of 0xC000009A (329075)
The information in this article applies to:
- Microsoft Windows 2000 Server SP1
- Microsoft Windows 2000 Server SP3
- Microsoft Windows 2000 Server SP2
- Microsoft Windows 2000 Advanced Server SP1
- Microsoft Windows 2000 Advanced Server SP2
- Microsoft Windows 2000 Advanced Server SP3
This article was previously published under Q329075 Important This article contains information about how to modify the registry. Make sure to back up the registry before you modify it. Make sure that you know how to restore the registry if a problem occurs. For more information about how to back up, restore, and modify the registry, click the following article number to view the article in the Microsoft Knowledge Base: 256986 Description of the Microsoft Windows registry SYMPTOMS When you use dynamic disks, you may receive the following
Dmio event log entries, which may lead to data corruption, database corruption,
or file system corruption on one or more dynamic disk volumes, or may cause
application failures:
Event Type: Information
Event Source: dmio
Event Category: None
Event ID: 29
Date: MM/DD/YYYY
Time: HH:MM:SS AM/PM
User: N/A
Computer: Computer_Name
Description:
dmio: Harddisk9 read error at block 445136247: status 0xC000009A
Event Type: Warning
Event Source: dmio
Event Category: None
Event ID: 35
Date: MM/DD/YYYY
Time: HH:MM:SS AM/PM
User: N/A
Computer: Computer_Name
Description:
dmio: Disk Harddisk9 block 445136247 (mountpoint F:): Uncorrectable read error
Event Type: Information
Event Source: dmio
Event Category: None
Event ID: 30
Date: MM/DD/YYYY
Time: HH:MM:SS AM/PM
User: N/A
Computer: Computer_Name
Description:
dmio: Harddisk2 write error at block 411779656: status 0xC000009A
NOTES- The Status code is always 0xC000009A -
STATUS_INSUFFICIENT_RESOURCES, and the block numbers vary.
- Although Ftdisk.sys is used for basic disks, Windows 2000
does not report similar events under the same circumstances, so lack of PTE
resources may also cause volume corruption or data corruption on basic
disks.
CAUSE This problem occurs because of a combination of conditions
or factors, which include:
- The computer uses the /3GB setting in the Boot.ini file. This setting substantially reduces
the total number of Page Table Entries (PTEs) that are available to the
kernel.
- The computer uses a storage adapter that can handle many
simultaneous requests (up to 0xFF - 255 decimal).
- The storage adapter driver must map a buffer for each
request that the SCSI miniport dispatches. When the SCSI miniport dispatches a
high number of large requests, the system runs out of PTEs.
- The storage stack on Windows 2000 does not guarantee
forward progress under memory pressure.
The failures occur after the following sequence:
- An application sends the adapter a very large I/O
request.
- The class driver splits up this request based on the
maximum transfers the adapter can handle.
- For each piece of the request that the class driver sends
to the port driver, the class driver sends an I/O request packet (IRP) by using
the original MDL that represents the whole buffer.
- The port driver maps the whole buffer for each of these
pieces.
- Because the adapter can handle many requests and also maps
redundant copies of these large buffers, the system eventually runs out of PTE
resources.
RESOLUTION To resolve this problem, use one of the following methods: Method 1: Modify the RegistryWarning Serious problems might occur if you modify the registry incorrectly by using Registry Editor or by using another method. These problems might require that you reinstall your operating system. Microsoft cannot guarantee that these problems can be solved. Modify the registry at your own risk. Reduce the concurrent I/O requests that are
permitted by the mass storage controller. To do this, follow these steps:
- Start Registry Editor.
- Locate and then click the following registry entry, where Storage_Driver_Name is the name of the miniport driver, such as AIC78xx:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Storage_Driver_Name\Parameters\Device\NumberOfRequests - Modify the REG_DWORD value for the NumberOfRequests entry. To do this, reduce the number to between 16 and 255 decimal. This
number represents the maximum number of outstanding requests on a bus. Use this
adjustment sparingly because the per-request storage allocations consume
non-paged memory.
Note None of the drivers that are included with Windows 2000 use that
key, and if the key is not present, the number of simultaneous requests
defaults to 0x10 (16 decimal).
For more information about modifying this registry
key, click the following article number to view the article in the Microsoft Knowledge Base:
240314
INFO:
Restriction on the Number of Concurrent I/O Requests Setting
Method 2: Modify the Boot.ini File Remove the /3GB switch from the Boot.ini file, and then restart the
computer. Method 3: Use the /USERVA Switch in the Boot.ini File (Windows 2003 only)
For more information about how to use the /USERVA switch in the Boot.ini file, click the following article number to view the article in the Microsoft Knowledge Base:
316739
How to Use the /USERVA Switch in the Boot.ini File to Tune /3GB Configurations
The following Windows 2003 fix may also impact PTE usage and help eliminate the errors: 831899 You receive a "stop 0x000000DA" error message on a blue screen after you enable PTE tracking on a Windows Server 2003-based node
Modification Type: | Major | Last Reviewed: | 7/5/2005 |
---|
Keywords: | kbprb KB329075 |
---|
|