Trim究竟是什么,如何才能正常工作
前面说过SSD不需要整理碎片,现在我们说一下在SSD上一个达到类似效果的专用功能:Trim(目前中文一般称呼为:修剪)。我们首先要知道TRIM实质是一个指令,操作系统通过它告诉SSD,哪些数据所占用的磁盘位置是已经无效和不需要保留的。
前面我们知道由于SSD的LBA和PBA不是1:1对应的关系,因此SSD是靠FTL来模拟HDD以适应现在的文件系统。而Trim的作用就是让系统在删除文件时立刻通知SSD该文件所在位置的数据已可删除,不需要保留,若没有Trim,那SSD就要等到相同的位置有数据要写入时才知道原有的数据是可删除的。
由于目前SSD所使用的存储元件为NAND闪存,其写入的单位是页,擦除的单位却是块(由多个页组成),并且有需要先擦除才能再写入的特性,导致在没有Trim的情况下,SSD的性能表现将大受影响。关于TRIM的更多介绍,请参考本专题SSD基础知识的相关部分。
既然Trim如此重要,那如何才能让它正常工作呢?
首先要实现Trim,有3个必要条件:1、支持执行Trim指令的SSD;2、支持传送Trim指令的驱动程序;3、支持发送Trim指令的操作系统。
本专题的主角m4及目前市面的主流SSD产品都可满足第1个条件,而WIN7已支持发送Trim指令,最新的AMD及Intel的WIN7磁盘控制器驱动也都支持传送Trim指令,因此只要使用主流SSD搭配WIN7系统,并保证安装最新磁盘驱动,即可正常开启和使用Trim功能。
而对于不使用WIN7系统的用户来说,由于系统不支持发送Trim指令,便需要借助O&O Defrag 14这类第3方软件来发送了,当然SSD和驱动对Trim的支持仍是必要的。
还有一点,对于需要组建RAID(磁盘阵列)的用户要注意,Intel平台的最新驱动支持向不在阵列中的SSD发送Trim指令,因此只要SSD不在磁盘阵列内是可以支持Trim的;但AMD平台的驱动并不支持此特性,若需要组建RAID,即使SSD不在阵列内,仍无法使用Trim功能。
更多内容请参考