电脑突然变慢了? 打开硬盘DMA模式

我哥给我打电话说电脑总是用着用着就变慢了,那个电脑是我的老笔记本,退役后换了个硬盘给我哥了,已经快6年了,刚开始怀疑是系统的问题,就让我哥重装系统了,但是重装完2天后就又发生了相同的情况。使用QQ远程助手,下了个HD tune 测了一下,发现硬盘的读写速度只有1点多兆。问题找到了,但不清楚为啥会这样,上网搜了一下,还真给找着了。原来是硬盘的传速模式从DMA模式编程PIO模式。

下面摘抄网上的解决方案:

关于硬盘防止其DMA模式转为PIO模式的文章,我试了一下,可硬盘总是PIO模式,请问如何打开硬盘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模式了。

  分析问题

  好了,先来说说问题是 如何产生的。在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系统突然变慢的原因。

  解决问题

  若要为受影响的设备重新启用典型DMA或更快DMA的传送模式,请执行以下操作:

  1.双击“管理工具”,然后双击“计算机管理”;

  2.单击“系统工具”,然后单击“设备管理器”;

  3.展开“IDE ATA/ATAPI控制器”节点;

  4.双击您要为其恢复典型DMA传送模式的控制器;

  5.单击“驱动程序”选项卡;

  6.单击“卸载”。

  当此过程完成后,重新启动您的计算机。当Windows重新启动后,将重新枚举硬盘控制器,同时与该控制器相连的每个设备的传送模式将重置为默认值。

  但这样只是把硬盘设备的传送模式重置为默认值,当我们再使用挂起系统时系统又会自行关闭DMA模式!所以我们还要做以下操作:

  1.单击“开始”,单击“运行”,键入Regedit,然后单击“确定”。

  2.在注册表中找到并单击以下项:

  HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Class/0001和HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlClass/0002

  3.在“编辑”菜单上,指向“新建”,然后单击“DWORD值”。

  4.键入ResetErrorCountersOnSuccess,然后按Enter键。

  5.在“编辑”菜单上,单击“修改”。

  6.键入l,然后单击“确定”。

  7.按照下列步骤操作,然后退出注册表编辑器:

  注意

   上面注册表最后的项“”列出的带有“0001”编号的子项对应于一台仅有一个IDE控制器的计算机的主要IDE通道和次要IDE通道。如果您的计算机有 两个IDE控制器,则对于每个控制器,主要IDE通道和次要IDE通道的带有编号的子项分别是:“0001、0002、0003、0004、0005、 0006……”。

  为检查是否找到了正确的子项,请检查子项的DrierDesc值是包含字符串值“主要IDE通道”,还是包含字符串值“次要IDE通道”。

  建立以上注册表键值的目的是

   在Windows中,使系统向ATA磁盘发出读取请求时的4秒的超时值更改为10秒。还实现了一种较不严格的变通策略以在发生超时错误和CRC错误时降 低传送模式(从较快的DMA模式到较慢的DMA模式,最终降为PIO模式)。以前的情况是,在每当累积发生的超时错误或CRC错误的总数达到6次 时,IDE/ATAPI端口驱动程序(Atapi.sys)将降低传送模式。当我们建立以上注册表键值实现新的策略后,Atapi.sys仅在连续发生6 次超时错误或CRC错误后才降低传送模式。

  这一新的策略实现后将大大降低系统降低或关闭DMA传送模式的机会。现在我们可以安心地使用挂起系统和高性能的DMA硬盘模式,再也不会发生系统性能突然下降的情况了。 

http://www.approc.com/2006/07/dma.html

什么是DMA?如何打开DMA?如何防DMA被系统关闭?

http://zhidao.baidu.com/question/7781148.html
DMA(DirectMemoryAccess, 直接内存存取),顾名思义DMA功能就是让设备可以绕过处理器,直接由内存来读取资料。打开硬盘的DMA模式将大幅度的提高硬盘系统的功能,使我们能更快 更好的进行视频处理和文件传输。打开刻录机的DMA选项,可以保障刻录品质,并降低刻录时的CPU占用率。所以在我们首次连接好DVD刻录机,进入 Windows系统后要做的第一件事情就是要确认DVD刻录机的DMA模式已打开。

http://bbs.shendu.com/article-1554-1.html

猜你喜欢

转载自jiayanjujyj.iteye.com/blog/1506363