固态硬盘Trim指令是什么有什么作用如何正常工作

描述

在固态硬盘的发展过程中,Trim指令起了很大的作用。如果不是它的出现,我们现在使用的固态硬盘性能都会下降一大截。Trim为何会有这样神奇的作用?如何能确定Trim指令是否在自己的固态硬盘上正常工作了呢?

  什么是Trim指令

  Trim的字面意思是修剪、整理。Trim指令的作用就是在电脑删除文件的时候,额外通过它直接通知到固态硬盘,具体哪些地址的数据已经被删除、可以从闪存当中清理掉了。

作为20世纪伟大的发明之一,东芝在1980年代先后发明了NOR与NAND两种形式的闪存,后者成为当前几乎所有电子产品必备的存储介质。NAND闪存具备读写速度快、单位容量成本低等诸多优势,但闪存在写入数据(Program)之前必须经过擦除(Erase)步骤。

尽管当前NAND闪存已经发展到96层堆叠时代,但是闪存写入前必须先擦除的特性并没有改变。使用闪存存储数据的固态硬盘就有必要提前知晓具体哪些位置是空闲的,先行一步将对应的闪存单元擦除,以备直接写入。

传统的文件系统是针对机械硬盘设计的,在删除文件时候并不会将全部数据清空,而仅仅是在文件分配表中做一个记录,表明原本由被删除文件占用的位置变为空闲状态,而Trim指令要做的就是将这一信息传递给固态硬盘知晓(删除通知)。

Trim正常工作的三个前提

Trim需要操作系统、驱动程序和固态硬盘三个层面的共同支持,缺一不可。

在Windows 7以后的操作系统中,Trim指令会自动开启,无需人为更改设定。但若是遇到一些特殊情况Trim没有正常工作,就会成为难以发现的故障源。在命令行提示符(CMD)中执行fsutil behavior QUERY DisableDeleteNotify,如果得到的结果是0,则代表操作系统的Trim开关正常开启。它是Trim机制正常工作的其中一环。

上图中的“已禁用”就是Trim正常启用。这里用到了一个双重否定,禁用删除通知的功能被禁用,意为开启了删除通知,即操作系统的Trim开关被打开。

驱动程序对Trim的支持。这里的驱动程序并不是指固态硬盘的驱动程序,而是主板上硬盘控制器(通常集成在PCH芯片内)的驱动程序。大多数驱动程序(包括IDE模式的pciide驱动)都是支持Trim指令的,但是部分比较古老的Marvell控制器以及NVIDIA主板控制器(驱动名称nvstor)不支持Trim指令,会导致固态硬盘越用越慢。

AS SSD Benchmark第一行检测的仅仅是驱动对AHCI功能的支持情况,不代表驱动对Trim的支持程度。下图是不支持Trim功能的nvstor驱动,由于它能支持AHCI功能,所以显示为绿色OK。如果使用古老的NVIDIA芯片组主板,记得卸载这个nvstor驱动,哪怕是不支持NCQ的IDE模式(对应pciide驱动),长期的使用性能也会比它更好。

正确的Trim功能检测方法

名为trimcheck的免费软件是当前较常用和有效的Trim检测工具。间隔30秒运行两次,若第二次看到一串0,就代表Trim正常工作,反之,如果第二次显示的两串数字完全一致,就代表Trim没能正常发挥作用。如果第二行数字与第一行不同,则代表两次运行间隔时间可能过长。

Trim是固态硬盘维持长期稳定性能的重要依赖,虽然它出现故障的可能性不高,但如果遇到固态硬盘速度异常滑落,就应首先考虑和检查它的影响。

 
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分