分享

硬盘传输模式,影响你的电脑运行速度

 向阳院的故事 2010-09-14
一块硬盘 正常如图,运行一段时间以后就没有了当前UDMA模式!而且传输速度由原来46MB/S 变为5MB/S!谁知道这是怎么回事?
 
是系统问题
有的系统会在使用时自行关闭硬盘的DMA模式,自动改用PIO模式运行,所以变慢。
不过解决起来比较麻烦,关键需要查很多东西,我有收藏,下面就复制出来,很实用的东西,绝对不是那些华而不实的垃圾。你慢点看,照着做就行。


============================================================================

硬盘的DMA模式大家应该都知道吧,硬盘的PATA模式有DMA33、DMA66、DMA100和DMA 133,最新的SATA-150都出来了!一般来说现在大多数人用的还是PATA模式的硬盘,硬盘使用DMA模式相比以前的PIO模式传输的速度要快2~8倍。DMA模式的起用对系统的性能起到了实质的作用。以前有很多文章介绍过如何打开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模式了。


分析问题:


好了,先来说说问题是如何产生的。在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\{4D36E96A-E325-11CE-BFC1-08002BE10318}\0001和HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}\0002
3. 在“编辑”菜单上,指向“新建”,然后单击“DWORD 值”。
4. 键入 ResetErrorCountersOnSuccess,然后按 Enter 键。

5. 在“编辑”菜单上,单击“修改”。
6. 键入 l,然后单击“确定”。
7. 按照下列步骤操作,然后退出注册表编辑器:

注意:上面注册表最后的项“{4D36E96A-E325-11CE-BFC1-08002BE10318}”列出的带有“0001”编号的子项对应于一台仅有一个 IDE 控制器的计算机的主要 IDE 通道和次要 IDE 通道。如果您的计算机有两个 IDE 控制器,则对于每个控制器,主要 IDE 通道和次要 IDE 通道的带有编号的子项分别是:“0001、0002、0003、0004、0005、0006……”。
为检查是否找到了正确的子项,请检查子项的 DriverDesc 值是包含字符串值“主要 IDE 通道”,还是包含字符串值“次要 IDE 通道”。


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

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

这一新的策略实现后将大大降低系统降低或关闭DMA传送模式的机会。现在我们可以安心地使用挂起系统和高性能的DMA硬盘模式,再也不会发生系统性能突然下降的情况了
 
 
HD Tune 3.5和4.00信息里的UDMA模式不一样
对"希捷"的评论

HD Tune 3.5和4.00信息里的UDMA模式不一样


























 
延迟写失败(Delayed Write Failed)错误解决

分析:一般有两个原因会导致出现这样的错误:一是在性能不良的硬盘中打开了写入缓存功能。二是误将UDMA硬盘驱动器硬盘通过40线连接器电缆(正确的是使用80 线、40 针的电缆)连接到主板的IDE接口上,并且在BIOS 设置中强制它采取较快的 UDMA 模式。

解决:确认自己的硬盘正在使用80线电缆与主板连接。如果问题依旧,则要通过调整系统设置去关闭磁盘的写入缓存,方法如下:在“设备管理器”中的“磁盘驱动器”下,选择你的硬盘,进入其“属性”,在“策略”选项卡中,取消“启用磁盘上的写入缓存”项的选项,然后“确定”。
要注意的是,如果当前系统中安装了Intel主板加速器(Intel Application Accelerator),必须先将其卸载,否则无法进行上述设置。
 
 
 SATA硬盘分区设置与安装详解
 
一、BIOS设置部分

     1.南桥为ICH5/ICH5R的主板

     2.南桥为VIA的VT8237的主板

  二、SATA硬盘的分区

  三、操作系统的安装

  四、操作系统下驱动安装  

  一、BIOS设置部分   

  由于各家主板的BIOS不尽相同,但是设置原理都是基本一致的,在此只介绍几种比较典型的BIOS设置,相信读者都能够根据自己主板BIOS的实际情况参考本文解决问题。   

  1.南桥为ICH5/ICH5R的主板   

  先以华硕的P4C800为例,这款主板芯片组为i865PE,南桥为ICH5/ICH5R。进到BIOS后,选择Main下的IDE Configuration Menu,在Onboard IDE Operate Mode下面可以选择两种IDE操作模式:兼容模式和增强模式(Compatible Mode和Enhanced Mode)。其中兼容模式Compatible Mode,可以理解为把SATA硬盘端口映射到并口IDE通道的相应端口,当你选择这种模式时在下面的IDE Port Settings中会有三个选项:   

  Primary P-ATA+S-ATA:并行IDE硬盘占据IDE0+1的主通道(Primary IDE Channel),串行SATA硬盘占据IDE2+3的从通道(Secondary IDE Channel)。也就是说这时主板上的第二个并行IDE接口对应的端口不可用。   

  Secondary P-ATA+S-ATA:与上面正相反,此时主板第一个并行IDE接口(Primary P-ATA)上对应的端口不可用,因为给SATA硬盘占用了。   

  P-ATA Ports Only:屏蔽了串行SATA硬盘接口,只能使用并行接口设备。   

  注:前两种模式中,主板上的SATA1接口自动对应IDE通道中的主盘位置,SATA2接口自动对应IDE通道中的从盘位置。  

  当选择模式为增强模式Enhanced Mode时,其下的端口设置的字样变为Enhanced Mode Supports On,其中也有三个选项:  

  P-ATA+S-ATA:并行和串行硬盘并存模式,此时SATA和PATA通道都相互独立互不干扰,理论上4个P-ATA和2个S-ATA可同时接6个设备,实际上得根据不同主板而定,有的南桥芯片就只支持4个ATA设备。此时SATA1口硬盘对应Third IDE Master(第三IDE通道主盘),SATA2口硬盘对应Fourth IDE Master(第四IDE通道主盘)。   

  S-ATA:串行硬盘增强模式,此时理论上支持4个串行硬盘,但还得看主板的支持情况(如果是ICH5R芯片组如P4P800,想组RAID模式,则必须要选择此项,并将Configure S-ATA as RAID项设为Yes,S-ATA BOOTROM项设为Enable,设置后BIOS自动检测的时候按“Ctrl+I”进行RAID设置)。   

  P-ATA:其实还是一种映射模式,SATA硬盘占据的是第一个IDE通道,SATA1口对应第一个通道的主盘,SATA2口对应第一个通道的从盘。   

  当你使用的是Win98/Win NT/Win2000/MS-DOS等传统的操作系统时,由于它们只支持4个IDE设备,所以请选择兼容模式Compatible Mode,并根据你的实际硬盘数量和位置选择IDE Port Settings中的对应选项;当你使用的是WinXP/Win2003等新型的操作系统时,可以选择增强模式Enhanced Mode来支持更多的设备。当然如果你安装Win98+Win XP双系统的话,也只好选择Compatible Mode了。另外,有的主板BIOS有BUG,致使在单个SATA硬盘上安装Windows 98SE系统时不能正确安装SATA硬盘(如:华擎P4VT8),只需要升级BIOS版本到最新版就可以解决了。   

  注:虽然SATA硬盘本身并没有主从之分,但是如果使用了端口映射的模式,当你想要并行硬盘和串行硬盘共存时,还是得注意硬盘所占的位置不要冲突了,而且启动顺序也需要在BIOS中根据实际情况进行相应调整。   

  1.南桥为Intel ICH5/ICH5R的主板  

  下面以GA-8KNXP Ultra为例,简要说一下技嘉主板的BIOS中SATA的设置:   

  这款主板的芯片组是i875P,南桥为ICH5R,其SATA部分的设置选项在Main主菜单下的Integrated Peripherals(整合周边设备)里,其设置功能详见下表(只列出了有关SATA硬盘设置的部分):  

  有关启动设备的选项在Advanced BIOS Features(进阶BIOS功能设定)中,详见下表  

  通过上面的两个例子可以看出ICH5/ICH5R南桥的主板,都是通过端口映射和独立SATA通道两种途径来设置识别SATA硬盘的。至于应该选择哪种模式和设置值,请参考上文并根据S-ATA硬盘和P-ATA硬盘的数量,安装的操作系统以及哪一个作为系统启动盘等实际情况来自行设定。
 
2.南桥为VIA的VT8237的主板   

  相对于ICH5/ICH5R芯片组,VT8237的SATA设置部分就简单得多了。下面以硕泰克的SL-KT600系列为例,其SATA部分的设置选项也是在Main主菜单下的Integrated Peripherals(整合周边设备)里:   

  Onboard PATA IDE(主板内建并行IDE口设定)   

  此项设定允许用户配置主板内建并行IDE口功能。  

  Disabled:关闭主板的并行IDE口功能。   

  Enabled:允许使用并行IDE口功能(预设值)。

  Onboard IDES operate mode(主板内建IDE优先设定)   

   PATA is Pri IDE:PATA口上的设备优先(预设值)。   

  SATA is Pri IDE:SATA口上的设备优先。   

  Onboard SATA- IDE(主板内建SATA口功能设定)   

  Disabled:关闭主板上SATA口。   

  SATA:主板上SATA口当做一般的SATA口使用。   

  RAID:主板上SATA口上的硬盘可以建立磁盘阵列(预设值)。   

  这里你只需要根据实际情况调整一下串、并行口的优先级就可以正常使用SATA硬盘了。(通过上面的选项能看出,在这里S-ATA硬盘还是可以理解为映射到P-ATA端口上来识别的。)   

  注:RAID的组建还需要在开机时按“Tab”键进入VIA科技RAID控制器的BIOS设置画面另行设置,请参见相关的说明手册。  

  二、SATA硬盘的分区   

  现在一般都是用Win98/Me启动程序启动后用FDISK、DM、PQ等工具来对硬盘进行分区的。那么只要在BIOS中设置正确并能在启动后识别出SATA硬盘,这时SATA硬盘的分区就和传统的并口硬盘的分区方法完全一样了。   

  如果你用的是Win2000/XP/2003等启动光盘来启动并分区的,如果你的SATA硬盘不能识别,那么需要在屏幕提示“Press F6 if you need to install a third party SCSI or RAID driver...”时按F6,用软驱加载驱动程序,当硬盘被正确识别后就和传统的并口硬盘分区方法完全一样了。   

  注:有些主板不附带驱动软盘(如华擎K7S8XE+,采用SiS748+SiS964芯片组),并且其驱动程序并不能直接从光盘目录下拷贝到软驱,而是要用主板光碟启动时安装制作的,请仔细阅读主板说明手册。 

  三、操作系统的安装   

  1.Win98/Me   

  不论你使用的是什么芯片组,只要在BIOS中设置正确并让主板识别出S-ATA硬盘,那么就可以正常地安装使用了。(注:当然还得注意,Win98/Me等系统最大只能支持4个设备。)   

  2.Win2000/XP/2003等NT核心的系统   

  这里由于ICH5不需要加载RAID模块,所以直接安装就可(其实就是将S-ATA映射到P-ATA端口使用,自然就和并口硬盘一样了)。而ICH5R南桥控制器则分两种情况,一种是在BIOS中完全屏蔽了RAID模块,那么就和ICH5的情况一样了,直接安装即可;二是开启了RAID(BIOS中默认都是开启的),则这时需要在启动时按F6用软驱加载驱动。对于VT8237理论上应与ICH5R一样,其大多数主板说明书上也指明只作为普通SATA硬盘使用时不需要加载驱动(如硕泰克的SL-KT600-R),但是实际上不论使不使用RAID功能都需要加载驱动。由于笔者接触的产品有限,不知是否都是如此,还请读者自行尝试。   

  注:目前除南桥自带的S-ATA控制器以外,其它的S-ATA控制器基本都需要外加驱动,有些主板除了本身南桥支持S-ATA外,还板载Promise等第三方的S-ATA及RAID控制器,请注意区分。   

  四、操作系统下驱动的安装   

  当安装完操作系统,还需要进一步安装对应的驱动程序。   

  1.ICH5只需要加载Intel提供的INF驱动。   

  2.ICH5R除了INF驱动,还要加载IAA3.0或以上版本驱动。   

  3.VT8237需要安装VIA Hyperion 4-IN-1补丁。   

  如果你还使用有并行硬盘的话,最好慎用VIA独立发布的VIA IDE Miniport Driver驱动程序,很可能会使并行硬盘的突发传输速率下降,但对串行硬盘性能无甚影响。

  注:如果你使用的是第三方SATA控制芯片和RAID模块,那么你还需要添加相应的驱动程序。   

  总结   

  通过上文可看出,S-ATA硬盘的使用关键在于正确设置BIOS中的识别方式,而由于各家主板厂商的BIOS菜单都不相同以及主板手册的语焉不详,才造成了S-ATA硬盘在使用中的种种问题。由于研发能力的不同,要想让主板厂商把这部分统一起来,现阶段是不现实的,所以笔者仅希望读者能够通过参考本文,根据自己的实际情况来举一反三地解决问题。
 
 
 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多