There are several possible reasons for this error. The error itself is produced when the Windows kernel tries to read memory from the paging or swap file and for some reason is unable to do so. This might be because of several things, which I'll enumerate below:
When the error does come up, there's usually a parameter code that goes with it in the form of a number: OxC000009A, or something similar. The code is usually a key to what is wrong:
- 0xC000009A, or STATUS_INSUFFICIENT_RESOURCES, is caused by lack of nonpaged pool resources (low physical memory).
- 0xC000009C, or STATUS_DEVICE_DATA_ERROR, is typically due to bad blocks(sectors,) on the hard disk.
- 0xC000009D, or STATUS_DEVICE_NOT_CONNECTED, indicates defective or loose
cabling, termination, or the controller not seeing the hard disk.
- 0xC000016A, or STATUS_DISK_OPERATION_FAILED, is also caused by bad blocks (sectors,) on the hard disk.
- 0xC0000185, or STATUS_IO_DEVICE_ERROR, is caused by improper termination or defective cabling on SCSI devices, or two devices attempting to use the same IRQ.
Most often this sort of error is caused by either a bad hard drive or a defective bit of cabling. It is also caused by failing hardware of other kinds -- usually a bad RAM module, something which in itself is probably responsible for about a good half of the random crashes/lockups that happen on a computer.
This was first published in July 2002