迅维网

Trim是什么意思?浅析固态硬盘Trim指令

晨洋宝贝 2017-4-25 11:33


  Trim功能是几乎所有SSD固态硬盘都具有的功能,也许大家对Trim可能已经是相当熟悉了。但是,Trim是什么意思?我们真的了解Trim吗?Trim是微软联合各大SSD厂商为了解决硬盘降速的问题电脑开发的一个新技术。下面同小编一起来了解一下Trim的工作方式和作用,以及条件和限制因素!看完本文你就会知道Trim是什么意思了。

Trim是什么意思 图1

Trim是什么意思——Trim的含义

  Trim英文意思是修剪,其实是一个ATA指令。ATA技术是一个关于IDE(Integrated Device Electronics)的技术规范族。最初,IDE只是一项企图把控制器与盘体集成在一起的硬盘接口技术。 随着IDE/EIDE得到的日益广泛的应用,全球标准化协议将该接口自诞生以来使用的技术规范归纳成为全球硬盘标准,这样就产生了ATA。ATA并无正式中文名称,操作系统发送此指令给SSD主控,以通知它哪些数据占用的地址是‘无效’的。

  系统对支持Trim指令的SSD启动Trim命令后,这时在对SSD进行数据删除的操作,我们知道NTFS文件系统是不向SSD发送删除指令的,SSD发出新的Trim操作指令,告诉它相关页面可以安全擦除,得到这一指示后,就不会急于执行擦除操作,而是等到再次有写入操作的时候再执行,因为这时相关区域已经可以重新使用了,就不用花时间去擦除原本的数据。其速度比直接读写硬盘去标记删除区域要快得多,既提升了读写效率又大大减轻了固态硬盘的损耗。

Trim是什么意思——文件系统的相关知识

  当我们在操作系统中删除一个文件时,系统并没有真正删掉这个文件的数据,它只是把这些数据占用的地址标记为‘空’,即可以覆盖使用。但这只是在文件系统层面的操作,硬盘本身并不知道那些地址的数据已经‘无效’,除非系统通知它要在这些地址写入新的数据。

Trim是什么意思 图2

  在HDD上本无任何问题,因为HDD允许覆盖写入。但到SSD上问题就来了,闪存不允许覆盖,只能先擦除再写入,要得到‘空闲’的闪存空间来进行写入,SSD就必须进行GC(垃圾回收)操作。在没有Trim的情况下,SSD无法事先知道那些被‘删除’的数据页已经是‘无效’的,必须到系统要求在相同的地方写入数据时才知道那些数据可以被擦除,这样就无法在最适当的时机做出最好的优化,既影响GC的效率(间接影响性能),又影响SSD的寿命。

Trim是什么意思——Trim命令的重要性

Trim是什么意思 图3

  Trim指令也叫disable delete notify(禁用删除通知),属于ata8-acs2规范的技术指令。使用SSD时必须确保开启系统中Trim指令。

  Trim只是一个指令,它让操作系统通知SSD主控某个页的数据已经‘无效’后,任务就已完成,并没有更多的操作。Trim指令发送后,实际工作的是GC机制。Trim可减少WA(写入放大)的原因在于主控无需复制已被操作系统定义为‘无效’的数据(Trim不存在的话,主控就不知道这些数据是无效的)到‘空闲’块内,这代表要复制的‘有效’数据减少了,GC的效率自然也就提高了,SSD性能下降的问题也就减弱了。

  其实Trim的意义在于它能大量减少“有效”页数据的数量,大大提升GC的效率。特别是消费级的SSD由于一般OP空间较少,因此相对于有大量OP空间的企业级SSD来说,Trim显得尤其重要。

  简单的举个例子,Trim相当于产线的拉长,GC相当于产线的员工。Trim拉长每天从系统这个车间主任这里得知了哪些要做,哪些不做,然后Trim拉长就安排员工去做。假如没有拉长,上面又不能直接安排生产,那我们就先耍着咯,心情好就磨磨洋工,这样就毫无生产效率可言了,长此以往,厂子就倒闭了。虽然Trim拉长的工作就是简单的听几句话,再对GC员工说那么几句屁话。但是还是很重要的。这样是不是容易理解多!

Trim是什么意思——Trim工作原理

  Trim工作原理简图:

Trim是什么意思 图4

  Trim指令的支持需要同时满足以下三个条件:

  1、SSD主控制器和当前搭配的固件需要支持Trim命令接收。
  2、当前操作系统需要支持Trim指令发送。(Win7/2008R2及后续版本)
  3、当前使用的磁盘驱动程序必须支持Trim命令传输。

  只有同时满足以上3个条件,才能做到系统Trim命令发送,驱动传输Trim命令,SSD固件接收到传输来的Trim命令。

  Trim目前不支持以下几种情况:(可能还有更多)

  1、Trim目前不支持RAID阵列中的SSD。(操作系统下进行软件RAID除外)
  2、Trim目前不支持磁盘镜像文件内操作。(VM等虚拟机软件使用的虚拟磁盘文件)
  3、Trim目前不支持加密的文件系统。(以防止暴露加密文件系统信息)

Trim是什么意思——影响Trim和GC效率的因素(可能还有更多)

  1、WL磨损平衡。

  磨损平衡是对NAND闪存的保护,保证不擦写集中。如果擦写集中,对SSD固态硬盘的速度和寿命影响也很大。尤其是TLC NAND需要WL的保护。但WL会延缓Trim指令GC操作。它需要判断,标注优先级。以不让一个区域存在大量集中的擦写。所以,有时候我们磁盘整理完了,感觉SSD固态硬盘的速度感觉没多大提升。但稍后,速度就会好起来了。

  2、WA写入放大。

  不仅造成写入缓慢,还让Trim和GC的任务增多了,然后写入更缓慢。Trim和GC效率不行,那么写入放大也增加了,它们互相影响。而减少写入放大是保证Trim和GC效率,提高SSD速度性能,健康安全的主要方法。

  我们无法自己去对SSD做频繁的或者重大的优化。所以我们得保证Trim正常运行。

  SSD固态硬盘的功能像NCQ、DVSLP、Trim、WL等等几乎所有SSD都有这些功能,在维护这些功能正常发挥作用之前,更重要的还是选择一个好的SSD固态硬盘。

Trim是什么意思 图5(各类NAND的储存形式

Trim是什么意思——如何查看电脑里是否已开启Trim

  点击开始菜单,在附件——命令提示符上右键单击,选择以管理员权限运行并输入“fsutil behavior query DisableDeleteNotify”

  如果返回值是0,则代表您的TRIM处于开启状态。

  如果返回值是1,则代表您的TRIM处于关闭状态。

  打开trim和关闭trim的方法:

Trim是什么意思 图6

  打开:命令行模式下:fsutil behavior set disabledeletenotify 0
 
  若想关闭该功能,只需执行:fsutil behavior set disabledeletenotify 1

  以上关于固态硬盘Trim命令的介绍,通过本文的讲解,想必大家对它有了更多的了解,都知道Trim是什么意思了吧。在此提醒大家,使用SSD时必须确保开启系统中Trim指令。

  我是迅维网的编辑:晨洋宝贝,主要负责”软件“”硬件“栏目的编辑工作,想参与”软件“”硬件“这两个栏目的朋友,请加我QQ:3309792477,或发邮件,邮箱:zll@chinafix.com.cn,谢谢!



雷人

握手

鲜花

鸡蛋

路过
收藏
来自: 东方头条

相关阅读

发表评论

最新评论

引用 yinzongjie 2017-5-11 09:47
又接触到一个新的知识

发表评论

登录 后可参与评论
关闭

站长提醒 上一条 /1 下一条

返回顶部
附近
店铺
微信扫码查看附近店铺
维修
报价
扫码查看手机版报价
信号元
件查询
点位图


芯片搜索