Windows系统会自行关闭硬盘DMA模式
硬盘的DMA模式大家应该都知道吧,硬盘的PATA模式有DMA33
、DMA66、DMA100和DMA133,最新的SATA-150都出来了!一般来
说现在大多数人用的还是PATA模式的硬盘,硬盘使用DMA模式相
比以前的PIO模式传输的速度要快2~8倍。DMA模式的起用对系统
的性能起到了实质的作用。
但笔者发现一个新的“问题”――Windows 2000、XP、2003
系统有时会自行关闭硬盘的DMA模式,自动改用PIO模式运行!这
就造成在使用以上系统中硬盘性能突然下降,其中最明显的现象
有:系统起动速度明显变慢,一般来说正常Windows XP系统启动
时那个由左向右运动的滑条最多走2~4次系统就能启动,但这一
问题发生时可能会走5~8次或更多!而且在运行系统时进行硬盘
操作时明显感觉变慢,在运行一些大的软件时CPU占用率时常达
到100%而产生停顿,玩一些大型3D游戏时(比如极品飞车6)画
面时有明显停顿(很多人这时以为是自己的显卡问题,当然如果
你使用的是三年前的显卡玩这些游戏是有点老了,但如果你用的
是今年才买的GF显卡那就不是它的问题了),出现以上问题时大
家最好看看自己硬盘的DMA模式是不是被Windows 系统自行关闭
了。查看自己的系统是否打开DMA模式:
1. 双击“管理工具”,然后双击“计算机管理”;
2. 单击“系统工具”,然后单击“设备管理器”;
3. 展开“IDE ATA/ATAPI 控制器”节点;
4. 双击您的“主要IDE控制器”;
5. 点击“高级设置”。
看到“设备0”,下面的传输模式应设为“DMA(若可用)”
,再下面“当前传输模式”,如果是“Ultra DMA Mode *(*为
数字,DMA33为2,DMA66为4,DMA100为5、DMA133为6)”,那么
你的系统正常,但如果以前你自己设的是“Ultra DMA Mode 6”
又没有改动,而现在是“Ultra DMA Mode 4”或“Ultra DMA
Mode 2”更或者是“PIO 模式”而且改不过来!可能就是系统自
行关闭了DMA模式了。
改变DMA模式,如果你的系统目前是PIO模式传输,找IDE
ATA/ATAPI 控制器下的IDE通道,可能在主要的IDE通道,也可能
在次要的IDE通道下面,我们只要卸载该驱动,然后重新启动就
可以重新加载安装,然后再重新启动一次就OK了,是不是感觉速
度如飞了呢?哈哈
分析问题:
好了,先来说说问题是如何产生的。在Windows
2000/XP/2003中有这样一个设定: Windows IDE/ATAPI 端口驱
动程序 (Atapi.sys) 累积收到总共6个超时或循环冗余检验
(CRC) 错误后,驱动程序将把通信速度(传送模式)从最快的直
接内存访问 (DMA) 模式分步骤降为较慢的 DMA 模式。如果驱动
程序继续收到超时或 CRC 错误,则驱动程序最终将把传送模式
降为最慢的模式(PIO 模式)。 问题就在这里!一般来说一个
正常的硬盘很少会有超时或循环冗余检验 (CRC) 错误,但是当
我们使用这些系统里的挂起(也有叫休眠)并恢复计算机后就很
容易造成超时或循环冗余检验 (CRC) 错误。因为系统设定的超
时值为4秒,当系统向 ATA 磁盘发出读取请求时如果硬盘回应时
间超过 4 秒的超时值时才会产生超时或循环冗余检验 (CRC) 错
误,但因为系统在挂起(也有叫休眠)时硬盘是在停转状态中,
恢复计算机时硬盘有个从停止到运动的过程,这就很容易造成大
部分硬盘回应时间超过 4 秒的超时值。也就是说当我们使用计
算机挂起6次后系统就会把通信速度(传送模式)从最快的直接
内存访问 (DMA) 模式分步骤降为较慢的 DMA 模式。如果挂起6
次以上则驱动程序最终将把传送模式降为最慢的模式(PIO 模式
)。这就是Windows 系统突然变慢的原因。