天津电脑组装吧 关注:940贴子:7,539
  • 2回复贴,共1

解决SSD固态硬盘卡顿、停止响应的方法

取消只看楼主收藏回复

原帖地址http://www.upantool.com/jiaocheng/ssd/2012/1446.html
SSD卡顿症状
近期购买了新款SSD的朋友,可能被一个现象困扰,就是系统无故停止响应或是卡顿。具体情况可以按照SSD的主控分别有如下表现:
1、Sandforce主控:正常操作电脑过程中,系统突然停止响应,硬盘灯狂闪,鼠标指针成为圆圈,点什么都没反应,这种状况可能会持续1~2分钟,之后正常。
2、C300主控:经常性短暂的卡顿,比如QQ聊天时能明显感觉到打字过程不连续,0.1s左右的间歇停顿,操作系统并不会锁死,没有SF主控那么严重,但也感觉很不爽。
这两种情况不论是在Intel还是AMD平台上都会出现。在Intel平台中尤其是安装了Intel的新版Intel Rapid Storage Technology 10.x驱动后,或者升级了WIN 7 SP1补丁包后更容易出现。
这个现象大被家称之为SSD卡顿。我现在找到一些解决办法,可以消除这个故障现象,在本文最后一页有提供下载。但我知道这个方法不一定百分之百管用,只希望能帮助到一些用户.
SSD卡顿原因分析-LPM
在解决问题前需要先让大家了解个关键知识:
Link Power Management (LPM)
LPM是SATA接口物理层上的一个功能,它能够将主机(Host)和存储设备(Device)的链接分成3种形态:Active形态,Partial形 态和Slumber形态,目的是降低物理层总线传输速度,这样既可有省电的功效。由主机 (Host)发出改变形态请求的我们叫做HIPM(Host-Initiated LPM, HIPM),而直接由设备(Device)发出形态请求的叫(Device-Initiated LPM,DIPM)
Intel Rapid Storage Technology驱动支持LPM功能来降低高速高容量存储设备的耗电。当然,LPM功能首先需要SATA硬盘支持这个功能。从ICH6M开始,笔记本 平台安装完Intel Matrix Storage Manager驱动(RST 驱动前身)后就默认支持LPM。台式机平台从ICH9R开始支持(需要安装Intel Matrix Storage Manager 7.5版本及更新的驱动),但是默认并没开启。
从Intel Rapid Storage Technology 10.0版驱动开始,默认安装完驱动后是开启LPM的(包括所有笔记本和台式机平台)。
所以造成高速SSD使用中卡顿的问题很可能是Intel Rapid Storage Technology驱动的问题导致(还有部分可能是主机板不兼容,或者设置问题导致),既然这个技术是为了节能而开启的,为何会带来卡顿问题?目前支持LPM技术的SSD又有哪些?
个人猜想带来卡顿的原因主要有下面几个:
1.主机发送HIPM形态改变指令,而SSD设备标准不同,不能很好的支持,出现兼容问题导致卡顿;
2.主机发送HIPM形态改变指令太频繁,导致SSD设备不能及时反映,出现不兼容而卡顿;
3.LPM开启后造成SATA总线传输延迟增加,导致高速SSD的传输受到阻塞而卡顿;
4.SSD内部的DIPM和主机请求的HIPM发生冲突导致卡顿。
不管如何,目前解决卡顿的方法就是完全禁用LPM,当然这样会带来耗电的增加,但我相信与其卡顿还不如费一点电更舒服。
哪些SSD支持LPM
那么我又如何知道我的SSD是否支持LPM技术?
SATA协议定义:IDENTIFY DEVICE
word 76, Bit 9
If 1, Device supports receipt of host initiated interface PM
Word 78, Bit 3
If 1, Device supports initiating interface PM
Word 79, Bit 3
If 1, Device initiating interface PM is enabled.
下面拿我目前手里的4块SSD来看:(我使用了自己改的绿色版Intel Toolbox)
首先是Crucial C300,如图所示,我的C300 支持DIPM和HIPM,并且目前没开DIPM。

之后是我另块比较老的SSD,Gskill Falcon,如图所示,此SSD不支持HIPM和DIPM,DIPM肯定是没开啦,所以不受LPM影响。


1楼2014-07-13 22:44回复

    M4作为C300的替代者,自然支持节能技术啦,如图,这里没开启DIPM。

    下面这块sandforce主控SSD是被我折腾的面目全非(型号都没了)的OCZ Vertex LE 100G,图中可以看到是支持节能技术,目前没开DIPM。

    大家可以看到,我手上的这些SSD即使大部分都支持DIPM,但默认没有开启,所以我没有遇到卡顿的情况。这里之所以贴这么多截图,也是想让大家能参考, 一起来检测后贴图,最主要的是那些遇到卡顿的用户,请你们在采用我的解决办法之前做个截图,之后再做截图以供比较,相关图片请发到论坛。
    我分析到这里,能想到的解决办法也只有修改注册表了,把所有这方面的指令都给禁用。建议各位备份好自己的数据,因为注册表出错可能导致系统崩溃,本人概不负责。 ^_^
    那些没有出现卡顿问题的玩家就不用修改了,当然追求极限性能的玩家可以尝试修改(可能会适当降低SATA总线延迟)。
    注册表修改说明与下载
    按照Intel的说明,我们需要做的就是在注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\iaStor\Parameters\
    下对应的SSD Port “x”里将LPM,LPM,DSTATE 及 DIPM的值从1改成0,如果没有Port的话就自己加。


    2楼2014-07-14 06:07
    回复
      改完后如下图:

      如何查看自己要改动的SSD所在Port?请看下图:

      如图所示,我的M4 128G链接在Port 0,那么我改Port 0的LPM等设置就能对这个Port的SSD起效果。
      想了解更多关于Intel LPM的玩家可以参考这个PDF文档:http://www.intel.com/technology/mobility/powermanagement/Designing_energy_efficient_SATA_devices.pdf
      AMD的注册表改动如图:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\amdsbs\Settings\CAM 下将EnableALPEDisableHotplug, EnableDIPM, EnableHIPM 及 EnableHDDParking改成0,并把NCQEnableDiskIDBits改成1即可。觉得改麻烦的玩家可以直接下载本贴附件,解压后双击导 入注册表即可。

      本贴最后提醒:使用ASUS主板的6系列芯片组的用户,请在BIOS里开启hot swap/hot plug(热插拔)功能,不然会导致部分高速SSD运行不稳定。比如安装系统蓝屏等,对于使用Crucial C300的用家,请升级到最新0007固件。


      3楼2014-07-15 22:32
      回复