硬盘传输模式由DMA变成PIO模式解决办法

上一篇 / 下一篇  2007-07-26 20:06:45

DMA=Direct Memory Access(直接存储器存取)
PIO=Programmed Input-Output(可编程输入输出)

微软网站关于 DMA 模式自动降为 PIO 模式的解释:
仅在 Windows 2000 中,向 ATA 磁盘发出读取请求时有时会有一个 4 秒的超时值。当您的计算机从待机模式恢复时会发生此问题。这可能会使磁盘超时,因为驱动器的启动所用的时间通常会超过 4 秒。此超时值已更改为 10 秒。在 Windows XP 和 Windows Server 2003 中,此超时值始终为 10 秒。 
我们实现了一种较不严格的变通策略以在发生超时错误和 CRC 错误时降低传送模式(从较快的 DMA 模式到较慢的 DMA 模式,最终降为 PIO 模式)。现在的情况是,在每当累积发生的超时错误或 CRC 错误的总数达到 6 次时,IDE/ATAPI 端口驱动程序 (Atapi.sys) 将降低传送模式。当此修补程序实现新的策略后,Atapi.sys 仅在连续发生 6 次超时错误或 CRC 错误后才降低传送模式。这一新的策略仅在下文中介绍的注册表值存在时才实现。 
微软知识库介绍

除了从“设备管理器”的“IDE ATA/ATAPI 控制器”的高级设置可以看到当前传输模式外, 还可以注册表 HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\Scsi\Scsi Port 0\DMAEnabled(主要IDE通道), HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\Scsi\Scsi Port 1\DMAEnabled(次要IDE通道),看到状态。

重启DMA传输模式
1、删除“IDE ATA/ATAPI 控制器”的 IDE通道 的驱动,比如VIA芯片组是VIA Bus Master IDE Controller。
2、重启电脑,Windows 发现新硬件,重新安装驱动,确定DMA传输模式;可能还需要手动指定 DMA 优先:“DMA (若可用)”。

微软给的一个临时方案:降低 IDE 通道的敏感度 
在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}\0001 和 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}\0002 下 建立 DWORD 键名为 ResetErrorCountersOnSuccess, 值为 1。
如果您的计算机有两个 IDE 控制器,则对于每个控制器,主要 IDE 通道和次要 IDE 通道的带有编号的子项分别是: 
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

TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

关于作者