TRIM指令是微软联合各大SSD厂商所开发的一项技术,属于ATA8-ACS规范的技术指令。

 
  TRIM是告诉NAND闪存固态存储设备要擦除哪些数据的SATA接口指令。当相关页面的数据可以被覆盖时,操作系统会发给SSD一个TRIM指令。SSD控制器等到主机开始删除和再次写入操作的时候,执行安全擦除操作。因为在写入操作过程中不用花时间去擦除原本的数据,写入速度要快得多。
  Trim指令也叫disable delete notify(禁用删除通知),当我们在操作系统中删除一个文件时,系统并没有真正删掉这个文件的数据,它只是把这些数据占用的地址标记为‘空’,即可以覆盖使用。但这只是在文件系统层面的操作,硬盘本身并不知道那些地址的数据已经‘无效’,除非系统通知它要在这些地址写入新的数据。
  在HDD上本无任何问题,因为HDD允许覆盖写入,但到SSD上问题就来了,我们都已知道闪存不允许覆盖,只能先擦除再写入,要得到‘空闲’的闪存空间来进行写入,SSD就必须进行GC(垃圾回收)操作。在没有Trim的情况下,SSD无法事先知道那些被‘删除’的数据页已经是‘无效’的,必须到系统要求在相同的地方写入数据时才知道那些数据可以被擦除,这样就无法在最适当的时机做出最好的优化,既影响GC的效率(间接影响性能),又影响SSD的寿命。
 
   而当Windows识别到SSD并确认SSD支持Trim后,在删除数据时,会不向硬盘通知删除指令,只使用Volume Bitmap来记住这里的数据已经删除。Volume Bitmap只是一个磁盘快照,其建立速度比直接读写硬盘去标记删除区域要快得多。这一步就已经省下一大笔时间了。然后再是写入数据的时候,由于NAND闪存保存数据是纯粹的数字形式,因此可以直接根据Volume Bitmap的情况,向快照中已删除的区块写入新的数据,而不用花时间去擦除原本的数据。
         
  Trim的作用可参考下图:
  
  
  Trim的支持需要3个要素:
  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目前不支持加密的文件系统。(以防止暴露加密文件系统信息)
  在window系统下查看SSD Trim功能是否开启:
  1.启动CMD命令行窗口。
  2.输入fsutil behavior query disabledeletenotify。
  3.显示DisableDeleteNotify = 0 表示已开启。
  4.如果没有开启,输入fsutil behavior set disabledeletenotify 0 进行设置。
  5.可以手动关闭Trim功能,输入fsutil behavior set disabledeletenotify 1
  注意:我们是不需要关闭该功能的,因为只有开启了这项功能,我们安装上的固态硬盘才可以享受到更长久的使用寿命。如果你安装的固态硬盘不支持该项功能,那么此功能在开启的时候会失败。

关于SSD Trim功能相关推荐

  1. 在没有工具的情况下检查SSD 的TRIM功能有没有打开

    查看Trim指令状态 CMD下输入: fsutil behavior query disabledeletenotify DisableDeleteNotify = 0的话.就是TRIM功能已经打开了 ...

  2. 什么是SSD TRIM (by quqi99)

    作者:张华  发表于:2016-03-23 版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明 ( http://blog.csdn.net/quqi99 ) 普通 ...

  3. SSD Trim介绍

    1. 机械硬盘 机械硬盘(HDD)主要是通过机械装置来控制磁头在硬盘上对磁性物质进行磁化来进行写读操作的装置,因此机械硬盘可以直接覆盖写,所以不需要特别的擦除操作. 操作系统(包括磁盘驱动及文件系统) ...

  4. 教你铁威马NAS开启SSD TRIM提升速度

    如果卷全部由 SSD(固态硬盘)构成,建议你启用 SSD TRIM.此功能可提升 SSD 上所创建卷的读写性能.提高效率以及延长 SSD 的使用寿命. 启用 SSD TRIM TOS 桌面-控制面板- ...

  5. MAC OS X 10.9.X下用命令行开启SSD trim的方法汇总

    From: http://www.jb51.net/os/MAC/238531.html 网上有很多MAC OS X开启trim的教程,但都是老系统的了,并不支持现在的10.9.X版本,经过一番研究, ...

  6. MAC OS Sierra 10.12.6 下对固态硬盘SSD 开启TRIM功能

    这个是对于不是mac原装SSD的情况下才做的操作... 大家都知道,苹果店卖的SSD硬盘那怕就是一个256G的也要1000多人民币,而市场上的也就400-500左右人民币,整整少了一半还要多,可见JS ...

  7. Mac OS X 10.10.3对SSD开启Trim功能

    From: http://bbs.pcbeta.com/viewthread-1515756-1-1.html 环境: SSD: Mac OS X 10.10.3 混合硬盘(普通机械硬盘+8GB SS ...

  8. NVMe SSD新功能Reservation从入门到精通

    NVMe 规范中定义了很多功能来处理资源管理和调度问题,这些功能对于保障SSD的正常运行以及高性能.可靠性和稳定性有重要意义.本篇文章由Memblaze工程师拟写,全面介绍NVMe 的Reservat ...

  9. 10.10SSD安装盘clover 下开启trim功能

    1.在config文件中添加: <key>KextsToPatch</key> <array> <dict> <key>Comment< ...

最新文章

  1. java内存溢出的情况解决方法
  2. 图森无人车官宣D轮2.15亿美元融资,成卡车货运估值No.1
  3. 重磅 | 吴恩达新书《Machine Learning Yearning》最新版分享
  4. Redux系列01:从一个简单例子了解action、store、reducer
  5. C#——《C#语言程序设计》实验报告——数据库编程——基于ADO.NET技术的数据库操作DEMO
  6. Android 通过Service单独进程模仿离线推送 Server Push
  7. python基本随机数生成函数有_Python中生成随机数的常用方法
  8. C 中命名空间的五大常见用法
  9. 英语学习笔记2019-11-01
  10. Java 操作Word书签(二):添加文本、图片、表格到书签内容
  11. 基于springboot的人才求职招聘平台设计与实现
  12. 离散分布——泊松分布、指数分布
  13. 【GPU加速】笔记本双显卡如何切换
  14. 运算符优先级及记忆口诀
  15. 计算机表格复制粘贴,在Excel同一个工作表中,如何复制表格格式(excel表格粘贴复制技巧)...
  16. 【Amoeba】amoeba实现mysql读写分离
  17. Python爬虫进阶教程(五):数据存储
  18. 系统思考正反馈之马太效应
  19. 梅科尔工作室——鸿蒙设备开发实战004:内核开发
  20. linux/php一句话图片马及实例

热门文章

  1. 2022年华南理工大学计算机考研复试时间
  2. 【MM32F5270开发板试用】移植Google Chrome小恐龙游戏到MM32F5270
  3. 户外跑步用什么耳机,最适合跑步用蓝牙耳机推荐
  4. goland 注释模板_有关新学期学习计划模板合集六篇
  5. java网上商城外文翻译_《外文翻译--基于Java的网上商城系统的设计与实现》毕业学术论文.doc...
  6. 安卓系统采用v4l2接口打开YUYV和MJPEG摄像头,支持热插拔。
  7. 截至 2021-01-12 最新 MongoDB 服务器单台环境搭建参考
  8. IDC扫盲贴——北京各大机房比对
  9. 遂宁东辰高考2021成绩查询,2021年遂宁高考状元是谁分数多少分,历年遂宁高考状元名单...
  10. python从入门到就业-时间日历