我哥给我打电话说电脑总是用着用着就变慢了,那个电脑是我的老笔记本,退役后换了个硬盘给我哥了,已经快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
分享到:
相关推荐
一般读取硬盘速度较慢,在电脑中隐藏了速度的DMA模式,学习如何开启DMA模式。
WinXP自行关闭硬盘DMA模式详解 WinXP自行关闭硬盘DMA模式详解 WinXP自行关闭硬盘DMA模式详解 WinXP自行关闭硬盘DMA模式详解
如何将硬盘从PIO模式改成DMA模式?.docx
而且在运行系统时进行硬盘操作时明显感觉变慢,在运行一些大的软件时CPU占用率时常达到100%而产生停顿,玩一些大型3D游戏时画面时有明显停顿,出现以上问题时大家最好看看自己硬盘的DMA模式是不是被Windows系统自行...
Linux下的32位I/O和DMA默认是关闭的。如果用的是16位I/O的话,就无法充分发挥电脑的性能。如果要打开32位I/O和DMA,就需要以root身份进行设置。为了降低因出错而重启系统对...文中介绍了在单模式下开启硬盘DMA的方法。
在DOS下修改宇瞻CF卡的DMA模式。 具体操作方法与参数见Readme文档。
ZStack-CC2530-2.3.0-1.4.0版本下SampleApp工程中修改测试串口功能的文档,是关于串口两种模式中的DMA模式,这个DMA模式网络上资源比较少。
STM32CUBEIDE(10)----ADC在DMA模式下扫描多个通道 CSDN文字教程:https://blog.csdn.net/qq_24312945/article/details/126036132 B站教学视频:https://www.bilibili.com/video/BV1ST411w7hS
PDIUSBD12 DMA 模式应用指南,能够帮助你更好的理解 学习USB通讯器件PDIUSBD12 希望对你有所帮助
HAL库 实现DMA模式 串口1和串口2完全透传,代码简单高效,开启透传后,无需软件控制。
本资源通过STM32F103对内置ADC进行配置,12个通道通过DMA进行数据采集,并通过LCD显示
而在DMA模式下,定时器产生的触发信号可以控制DMA的数据传输。本文将详细介绍ADC采样的DMA方式与定时器的相关知识。 一、DMA数据传输模式 DMA是“直接存储器访问”(Direct Memory Access)的缩写。DMA使用专门的...
STM32F3系列,采用ADC采样外部电位器的输入电压,将转换结果使用DMA模式传输,并对每8次采样去平均值做滤波处理
但是在Linux平台中,Linux是不会自动的打开DMA模式,所以在Linux中使用这些IDE接口的UDMA-33标准的硬盘感 觉数据传输远远没有在Windows中快。事实上,Linux平台中也可以通过软件来打开DMA模式,本文为大家介绍Linux...
共包含STM32的6个程序文件 1-stm32+ADC电压采集-中断读取 2-stm32+ADC采集电压-DMA...3-stm32+ADC+独立模式+DMA+6通道 4-STM32+ADC+DMA+双重模式 5-STM32+ADC+DMA+双重模式-多通道 6-STM32+ADC+DMA+内部通道获取温度
PATA 硬盘传输模式 1、PIO 2、DMA 3、UDMA SATA 硬盘传输模式 1、SATA 1.0 2、SATA 2.0 3、SATA 3.0
STM32CubeMX实现DMA模式下的AD转换
STM32高速串口通信DMA收发实现 测试平台 平台 主频 BSP库 串口 STM32F030C8T6 48MHz 标准库 UART1、UART2 STM32F103ZET6 72MHz 标准库 UART1、UART2 STM32H743XIH6 400MHz HAL/LL库 UART5 STM32F407VCT6 168MHz HAL...
设计了基于FPGA芯片的硬盘数据加密系统。该加密系统运行在Ultra DMA传输模式下,其加密核支持常用对称密码算法(AES、DES、3DES)和用户自主开发的各种对称密码算法。测试结果表明,在Ultra DMA模式2下系统运行速度...
目前STM32家族中有些系列支持DMA的双缓冲模式,比如STM32F2/STM32F4/STM32F7等系列。尤其随着人们对STM32F4/F7系列应用不断拓宽和加深,在设计中运用到DMA双缓冲的场合也越来越多。STM32芯片中的DMA又可分为两大类,...