如果你是已经购买了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迅速恢复本色。
注:该操作方法会破坏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
注:该操作方法会破坏SSD上的所有数据,请谨慎。
使用HD Tune软件对SSD进行清零操作,与HDDErase重置是一个原理。但HD Tune必须在Windows操作系统下运行,因此需要一台多硬盘主机或者一个带有Windows PE系统的闪存盘(或光盘)。运行HD Tune软件后选中SSD固态硬盘(这个步骤很关键,选错的话会把其他硬盘上的数据全部清零,而且不可恢复),并选择“删除”选项,在下方的下拉式对话框中选择“全零填充”,然后点击“开始”即可(图2)。完成之后也可以让SSD性能恢复如初。
图2
Trim修剪属于SSD的一项高级功能,该功能可以说是专门针对SSD性能下降而设计的。Trim修剪功能的作用其实很简单,就是当操作系统删除数据时,将标识为“可以写入”的SSD区域及时通知给SSD主控芯片。此时主控芯片会认为该区域已经为“可擦除”,就会在一定时间内对该区域的数据进行擦除,而不必等到下次写入数据时再进行擦除操作,从而保证SSD处于佳性能状态。
●需要固件支持
Trim修剪功能的开启需要SSD本身和操作系统的支持。一些早期的SSD可以通过升级固件来增加对Trim的支持,我们可以利用Crystal Disk Info软件来查看SSD是否支持Trim。打开CrystalDisk Info之后选中SSD固态硬盘,在“支持的特征”一栏中会列出该SSD所支持的特征功能,如果看到“TRIM”的话就说明支持Trim修剪(图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
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
图6
用户还可以制定自动优化计划,让系统按照所设定的时间进行Trim修剪。在Windows 8预览版中手动对SSD进行Trim修剪能够及时地对SSD进行性能恢复,而且耗时少、速度快,无需删除分区数据。当然,如果可以把该功能移植到Windows 7中就更好了。