MCPLive > 杂志文章 > 提速修复我都有 玩转SSD系统加速有妙方

提速修复我都有 玩转SSD系统加速有妙方

2012-02-07黑山老妖《微型计算机》2012年1月上

如果你是已经购买了SSD的用户,那么本文所介绍的内容,你很可能感同身受,或许你正在寻找解决之道;如果你是打算购买SSD的用户,那么我们有必要告诉你:SSD并不完美,除了速度快以外,它容易出现性能“衰减”。别急,不管你是已经“深受其害”,还是正犹豫不决,我们都可以帮你解决这个问题。而且我们还能通过特别的优化方法,帮助你进一步大幅提升SSD的性能。

SSD性能“衰减”之谜很多用户在使用SSD都发现了一个问题,随着SSD使用时间的增加、容量的减少,其性能就会出现一定幅度的下降。很多用户将这种现象称之为SSD的“性能衰减”。本刊也在11月下《兔子变乌龟?固态硬盘老化极限测试》一文中介绍了这种情况,并进行了相关测试。

导致SSD性能“衰减”的原因和SSD的数据写入机制有关。SSD采用NAND芯片来进行数据存储,在数据写入时是以一个页面为单元(通常是4KB),但在数据擦除时却是以块为单位。一般来说,一个块相当于128个页面单元,即512KB。例如,在X块中包含了A、B、C、D等页面单元。当需要擦除A页面单元中的数据时,SSD会把整个X块的数据从NAND芯片读出并写入缓存。随后擦除缓存中的A页面数据,然后擦除NAND芯片中的X块,后用缓存中不包含A页面的新X块数据重新写入SSD中。也就是说虽然擦除的只是A页面的数据,但B、C、D页面的数据也要重新擦除并写入。因此即便是只需要擦除4KB的数据,SSD也要进行512KB的数据“搬运”工作。这个过程包括:读出数据→擦除SSD→在缓存中修改→写入SSD,可以简单地概括为“读取→擦除→修改→写入”。

我们在Windows操作系统中对SSD数据进行删除时,其实只是在该数据存储的位置上做了一个“可以写入”的记号,并没有把该部分的数据真正擦除。直到该位置需要重新写入新数据时,系统才会进行上面介绍的“擦除”操作,然后写入新数据。当一块SSD处于全新状态时,NAND芯片中不存在需要擦除的数据,此时SSD性能处于佳状态。在使用了一段时间之后,NAND芯片中逐渐堆积了一些已经被系统删除却未真正擦除的数据,在写入新数据时还必须先进行擦除操作,从而直接导致了性能的下降。

性能恢复有绝招

在了解SSD性能下降的原因之后,我们可以通过下面几个方法让SSD迅速恢复本色。

HDDErase重置

注:该操作方法会破坏SSD上的所有数据,请谨慎。

HDDErase其实并不是专业的SSD性能恢复软件,而是一个硬盘数据“毁灭性”擦除软件。它的作用是在硬盘中写入空数据,避免原先存储的数据被他人恢复出来。我们则可以利用其写入空数据的这项功能,对SSD中所有数据进行擦除,使SSD达到佳性能状态。

首先准备一块可以引导到DOS系统下的闪存盘,将HDDErase软件拷贝至该闪存盘上。接着进入CMOS设置,将硬盘的工作模式设置为IDE模式,用该闪存盘启动系统并运行HDDErase。稍后软件会自动列出系统中连接的所有硬盘,然后在图1所示的对话框中输入SSD前面对应的编号即可,例如P0。接着有两个模式可供选择:“1:Secureerase”和“2:Enhanced secure erase (if supported by the drive)”,选择模式1即可。完成空数据写入后重新启动计算机,并进入CMOS设置中,把硬盘工作模式改回AHCI。此时你会发现SSD的性能已经恢复到全新时的状态。

图1
图1

HD Tune清零

注:该操作方法会破坏SSD上的所有数据,请谨慎。

使用HD Tune软件对SSD进行清零操作,与HDDErase重置是一个原理。但HD Tune必须在Windows操作系统下运行,因此需要一台多硬盘主机或者一个带有Windows PE系统的闪存盘(或光盘)。运行HD Tune软件后选中SSD固态硬盘(这个步骤很关键,选错的话会把其他硬盘上的数据全部清零,而且不可恢复),并选择“删除”选项,在下方的下拉式对话框中选择“全零填充”,然后点击“开始”即可(图2)。完成之后也可以让SSD性能恢复如初。

图2
图2

Trim修剪

Trim修剪属于SSD的一项高级功能,该功能可以说是专门针对SSD性能下降而设计的。Trim修剪功能的作用其实很简单,就是当操作系统删除数据时,将标识为“可以写入”的SSD区域及时通知给SSD主控芯片。此时主控芯片会认为该区域已经为“可擦除”,就会在一定时间内对该区域的数据进行擦除,而不必等到下次写入数据时再进行擦除操作,从而保证SSD处于佳性能状态。

●需要固件支持

Trim修剪功能的开启需要SSD本身和操作系统的支持。一些早期的SSD可以通过升级固件来增加对Trim的支持,我们可以利用Crystal Disk Info软件来查看SSD是否支持Trim。打开CrystalDisk Info之后选中SSD固态硬盘,在“支持的特征”一栏中会列出该SSD所支持的特征功能,如果看到“TRIM”的话就说明支持Trim修剪(图3)。

图3
图3

●Windows 7可以支持

需要说明的是,Windows XP与Vista系统并不支持Trim功能,因此只有Windows 7或者Windows 8才能完整体验Trim修剪功能。我们可以在CMD模式下输入“fsutil behavior query disabledeletenotify ”,然后点击“回车”键,来查看操作系统中的Trim功能是否可用。如果得到的是“DisableDeleteNotify = 0”,说明Trim功能已经打开(图4);得到的是“DisableDeleteNotify = 1”,则表示未打开Trim功能。

图4
图4

Windows 7与Windows 8操作系统对Trim功能的支持有所不同,当Windows 7检测到支持Trim的SSD时会自动开启Trim功能,并会在系统待机或者轻负载时自动向SSD发送Trim命令,其缺点是不支持手动操作。因此可以看到一些SSD固态硬盘在进行拷机测试后性能会有所下降,但是待机几分钟之后性能会得到恢复。这其实就是Windows 7自动发送了Trim命令让SSD主控芯片对无用的数据进行擦除。

●Windows 8更人性化

相比之下Windows 8预览版则更为人性化,把Trim功能与日常的磁盘整理程序整合到了一起,成为一个可以手动操作的系统组件。在Window 8预览版中使用鼠标右键点击SSD分区的图标,调出属性菜单,进入“工具”选项卡,可以看到“Optimize now”按键(图5)。单击进入后可以看到所有分区的列表,选择要优化的SSD分区,点击“优化”按钮就开始进行Trim修剪工作,整个过程需要几秒到几分钟,视分区中的待擦除数据量而定(图6)。

图5
图5

图6
图6

用户还可以制定自动优化计划,让系统按照所设定的时间进行Trim修剪。在Windows 8预览版中手动对SSD进行Trim修剪能够及时地对SSD进行性能恢复,而且耗时少、速度快,无需删除分区数据。当然,如果可以把该功能移植到Windows 7中就更好了。

小容量SSD优化方案:Smart Response Technology智能响应

在上文中,笔者介绍了如何解决SSD性能“衰减”的问题。接下来,笔者将就自己的使用经验和体会,分享一些有关“SSD提速”的优化之道。

目前大量SSD的价格依然相对

比较昂贵,所以较为普及的还是千元以内的64GB及以下容量的产品,很多预算有限的用户都会采用小容量SSD和大容量机械硬盘相组合的方案。此时由于SSD容量较小,大量应用软件和程序,甚至操作系统仍然只能安装在机械硬盘上,势必拖缓整个磁盘的性能,SSD速度快的优势无法得到明显体现。那么这个问题应该如何解决呢?你可以选用英特尔的Smart Response Technology(以下简称“SRT”)智能响应技术对系统磁盘性能进行优化。

简单来说,SRT技术的原理是让用户能够利用SSD的性能为机械硬盘加速文件(尤其是小文件)随机读写的速度,你可以简单认为该技术能够让用户自行组建混合硬盘系统。它是将一块SSD固态硬盘(或其部分空间)作为机械硬盘(包括硬盘或RAID阵列)的超高速缓存来使用,各自取长补短。这样一来,既能够获得接近于SSD固态硬盘的高速存储性能,同时又可以保留传统硬盘的大容量优势。

如何开启SRT智能响应

●需要Z68主板的支持

要使用SRT技术,首先必须具备采用英特尔Z68芯片组的主板(部分X79主板也可以实现智能响应),SSD必须连接在芯片组内置的SATA接口上(即不能连接在第三方芯片提供的SATA接口上,主板说明书上会有识别方法),而且操作系统必须安装在机械硬盘上。英特尔官方把用于加速的SSD硬盘分区容量大小的范围,限制在18.6GB~64GB之间,并且要求系统中只能存在一块SSD作为缓存使用。

●更改SATA硬盘工作模式

具体操作方式是,当完成硬件连接并启动电脑之后,进入BIOS中把SATA硬盘工作模式设置为“RAID”。RAID阵列模式只支持RAID 0、1、5、10,不支持Intel Matrix RAID。接着进入系统安装并运行Intel Rapid Storage Technology 10.5驱动程序,然后选择“加速”选项(图7)。在弹出的对话框中,会让用户选择用于加速的SSD和被加速的机械硬盘或RAID阵列,以及加速的模式。对于容量大于64GB的SSD,用户可把多余的容量另外分区使用。有一点必须提醒大家的是,开启加速功能之后系统会清除SSD内所有数据,如果SSD内有重要数据的话应该先备份。

图7
图7

●SRT的三种模式选择

启用SRT之后有三种工作模式可供选择,分别为关闭、Enhanced(增强,默认状态)和Maximized(极限)。其中在Enhanced模式下,数据写入时会被同时写入到缓存固态硬盘和传统硬盘,因此写入速度无法得到提升,只能用于加速系统启动和数据读取,但可以保证在意外状态下不会丢失数据。而在Maximized模式下,数据写入时会首先存入缓存固态硬盘,再转移至传统硬盘,写入速度将获得很大提升,但一旦出现故障时将有可能造成数据丢失(图8)。在正常工作状态下各个模式可以随意切换,无需重新启动系统就可以即时生效。

图8
图8

SRT(Maximized模式)性能检验

接下来笔者将对SRT技术进行测试(运行在Maximized模式),来看看开启SRT后,磁盘性能的提升幅度。

测试平台

CPU Intel Core i7 2600K@3.4GHz
散热器 酷冷至尊V6散热器
主板 华硕P8Z68-V PRO
显卡 铭鑫GTX 560 Ti中国玩家版(940MHz/4400MHz)
内存 宇瞻猎豹DDR3 2000 2GB×2
硬盘 美光Crucial m4 128GB(分64GB分区用于SRT)、
西部数据WD20EARS 2TB

在对比测试中,开启SRT智能响应之后的磁盘系统的性能表现相当出色。虽然它在某些应用中的“提速”效果不是非常明显,但从PCMark Vantage HDD的测试分数、Windows7开机启动时间、大型3D游戏载入时间等各个方面来看,都能明显感受到SRT带来的性能提升。利用SRT为机械硬盘加速的优化方案,其优点在于既能获得接近SSD固态硬盘的高速读写性能,又能够同时保持机械硬盘大容量、耐用的特点,大大降低了整机的成本。在目前大容量SSD固态硬盘的价格依然高高在上的情况下,SRT为我们提供了一个极具性价比的折中解决方案。Intel甚至专门推出了针对SRT技术的20GB小容量SSD固态硬盘,让预算不多的普通用户也能早日享受到固态硬盘为系统带来的性能提升。

表1:SRT开启前后磁盘性能对比

SRT未开启 SRT开启后
PCMark Vantage HDD 4854 25530
FastCopy 2.08文件拷贝时间 64.66s 57.28s
开机启动时间 27s 20s
《孤岛危机2》(DX11)载入时间 55s 19s
《星际争霸2》载入时间 23s 15s
《使命召唤7:黑色行动》载入时间 13s 11s

大容量SSD优化方案:SSD使用新思路,内存做缓存

上文笔者提到的是针对那些使用小容量SSD用户的优化提速之道,但还有一些用户购买的是120GB及以上的大容量SSD,已经有足够的肚量能够容纳下目前主流的操作系统与应用软件,用户可以畅享SSD固态硬盘带来的性能提升。那么此时,SSD的速度是否就已经达到极限,可以高枕无忧了呢?显然不是,在这种情况下,我们仍然可以对SSD进行优化,提升其性能。具体做法是:将内存作为SSD固态硬盘的虚拟缓存。

一提到利用内存作为SSD的虚拟缓存,大家一定会马上联想到前文刚介绍过的SRT智能响应技术。不错,下面将要介绍的方法与SRT技术极其类似。只不过SSD的角色发生了变化,从SRT中充当缓存的角色,摇身一变成为了“被缓存”者,笔者将利用读写速度更快的内存来作为SSD的高速缓存使用。其具体原理是,系统读写SSD时会把数据先存放在由内存虚拟的缓存中。部分常用的数据就可以在内存中反复读写,从而减少对SSD的读写次数。这样做的好处首先是读写速度更快,其次是可以延长SSD的使用寿命。

如何实现内存做缓存

要实现这样的功能其实很简单,只需一个小小的软件即可完成:FancyCache For Volume。具体做法是,打开操作界面并在上方的分区列表中选择要加速的SSD分区,然后在设置菜单中的“缓存大小(一级)”一栏中填入要作为SSD缓存的内存容量大小,单位是MB(图9)。目前主流的应用程序一般只需要3~4GB的内存就足够了,因此可以把系统中多余的内存全部设置为缓存,这样性能提升更加明显。接着勾选下方的“启用延时写入”,这个步骤很关键,如果没有勾选的话系统就会在内存和SSD中同时写入数据,从而失去了高速缓存的使用意义。

图9
图9

后点击“ 启用缓存”按键即可让设置即时生效,此时再点击“修改设置”按键把设置保存到操作系统中,以后每次启动系统时都会自动分配你所设定的内存容量作为SSD的虚拟缓存使用(图10)。完成设置后可以在软件右边的“性能监视”框中看到目前作为SSD缓存的内存大小和设置情况(图11)。

图10
图10

图11
图11

性能实测

接下来,笔者会对利用内存作为SSD固态硬盘的虚拟缓存的方法进行测试。在对比测试中,为了更好地模拟实际使用环境,笔者使用了Crucial m4 128GB(数据盘)和美光Crucial m4 256GB(系统盘)这两块SSD。Crucial m4 128GB作为一个分区,安装Windows 7操作系统;而Crucial m4 256GB则分成两个分区,其中一个50GB分区用于安装测试软件和游戏程序(所有数据大约36GB,约占用72%的分区空间)。测试平台(与SRT测试保持一致,但未使用机械硬盘)采用主流的2GB×2的内存,并把1GB内存虚拟为SSD的高速缓存。

表2:内存虚拟成SSD缓存前后的磁盘性能对比

表2:内存虚拟成SSD缓存前后的磁盘性能对比
点击查看清晰无水印大图

在磁盘读写性能测试中,使用内存虚拟缓存之后AS_SSD_Benchmark的得分从679分暴涨到1641,提升幅度为142%。其中持续写入速度从281.20MB/s猛增到了4219.01MB/s。而CrystalDiskMark的性能增幅更加明显,除了持续写入速度与原来保持一致外,其他的测试项目速度达到了原来的4~50倍,其中4K的随机读取速度从22.3MB/s暴涨到1134MB/s。

而使用Fastcopy2.08把大小约600MB的文件拷贝到增加了虚拟缓存的SSD分区中时,速度也达到原来的近三倍。在操作系统启动速度和实际游戏载入时间的测试中,Windows 7的启动时间与原先保持一致,并没有提速。在各个游戏第一次载入时,所需时间也基本与之前一样。但在第二次载入时则提速明显,仅需不到原先一半的时间即可完成游戏载入。笔者认为,这是因为第一次载入时是从SSD中读取数据。当数据读取到内存缓存之后,第二次、第三次、第四次都是从缓存中读取数据,所以速度变快。总体来看,在几乎所有的测试中,增加了虚拟缓存的磁盘性能提升均非常明显,真正让SSD实现了极速狂飙。

使用内存作为缓存前后的性能对比

这是在使用内存作为高速缓存前的测试数据,SSD性能尚未得到优化。

这是在使用内存作为高速缓存前的测试数据,SSD性能尚未得到优化。

这是在使用内存作为高速缓存前的测试数据,SSD性能尚未得到优化。

这是在使用内存作为高速缓存前的测试数据,SSD性能尚未得到优化。

这是在使用内存作为高速缓存前的测试数据,SSD性能尚未得到优化。

这是在使用内存作为高速缓存后的测试数据,SSD性能突飞猛进。

这是在使用内存作为高速缓存后的测试数据,SSD性能突飞猛进。

这是在使用内存作为高速缓存后的测试数据,SSD性能突飞猛进。

这是在使用内存作为高速缓存后的测试数据,SSD性能突飞猛进。

这是在使用内存作为高速缓存后的测试数据,SSD性能突飞猛进。

灵活使用,提速、修复两不误

SSD固态硬盘作为DIY玩家的新宠儿,开始被越来越多的普通用户关注并购买。个人电脑中一直被人所诟病的磁盘系统速度瓶颈也将会随着SSD性能的不断提升而得到解决。针对SSD的“性能衰减”问题,本文介绍的HDD Erase重置与HD Tune清零两个方法适合于所有的SSD进行性能恢复,但不建议经常使用;Trim修剪则需要SSD硬件与操作系统的“双支持”,但使用为简单与安全。

针对SSD及系统磁盘性能的提速,本文介绍的SRT智能响应技术适合用于64GB及以下的小容量SSD进行系统加速,而且效果明显。唯一比较遗憾的就是只能应用于Z68主板。如果你使用的是大容量的SSD固态硬盘,那么推荐你使用FancyCache For Volume软件,将内存虚拟成SSD缓存使用。而且它还有一个SRT无法比拟的优点:能够支持目前几乎所有的芯片组,适用范围更广,而且操作时无需删除SSD上的数据。

当然,你还可以在SRT的基础上使用FancyCache For Volume软件,把内存虚拟为SRT系统的高速缓存进行二次提速。如果你的电脑既有大容量SSD又配备了足够大的系统内存,则首选将内存虚拟为SSD缓存的提速方法。

分享到:

用户评论

共有评论(1)

  • 2012.02.08 14:21
    1楼

    请问一下《FancyCache For Volume》软件是属于收费软件吗?还是免费? 在网上都找不到下载呀?

    (0) (0) 回复

用户名:

密码: