trim的原理和意义是什么

固态硬盘删除了还能恢复吗?固态硬盘格式化还能恢复吗?很多人在咨询数据恢复公司后得到的回复估计是:无法恢复 。真的这么绝对吗?又是什么原因导致恢复不了呢?看完这篇文章 , 基本就会有个大致的了解了 。
一、trim的原理和意义
当我们在操作系统中删除一个文件时 , 系统并没有真正删掉这个文件的数据 , 只是把这些数据占用的地址标记为‘空’ , 即可以覆盖使用 。这只是在文件系统层面的操作 , 硬盘本身并不知道那些地址的数据已经‘无效’ , 除非系统通知它要在这些地址写入新的数据 。在机械硬盘(HDD)上本无任何问题 , 因为机械硬盘允许覆盖写入 , 但到固态硬盘(SSD)上问题就来了 , 由于NAND(闪存)不支持覆盖写入 , 而是要先擦除后再写入 , 这种特性会导致固态硬盘(SSD)陷入越用越慢的窘境 。要得到‘空闲’的闪存空间来进行写入 , 固态硬盘(SSD)就必须进行GC(垃圾回收)操作 。TRIM指令也叫disabledeletenotify(禁用删除通知) , 是告诉NAND(闪存)存储设备要擦除哪些数据的ATA指令 。当相关地址的数据可以被擦除时 , 操作系统会发给SSD一个TRIM指令 。固态硬盘(SSD)控制器在操作删除后和再次写入前 , 执行安全擦除操作 。这样在后期写入操作过程中不用再花时间去擦除数据 , 写入速度要快得多 。Trim的意义在于它能大量减少“有效”页数据的数量 , 大大提升GC的效率 。特别是消费级的SSD由于一般OP空间较少 , 因此相对于有大量OP空间的企业级SSD来说 , Trim显得非常重要 。
【trim的原理和意义是什么】
trim的原理和意义是什么
文章图片

文章图片
二、什么操作系统和文件系统支持trim?
Trim指令是微软和各大硬盘厂商联合开发的一项技术 , 属于ATA8--ACS规范的技术指令 。在windows操作系统下 , trim指令只能在NTFS和ReFs文件系统下才可以启用 , 在exFAT和FAT16/32文件系统下是无法启用的 。不支持trim的操作系统版本包括:windowsxp、windows2003、windows2008 。而windows7以后基本所有版本都支持trim功能 。在windows系统下 , 如何查看trim功能有没有启用呢?这就需要用到一个命令了 , C:\>fsutilbehaviorquerydisabledeletenotify , 当收到的指令是0时 , 则代表已经启用了trim功能 , 收到的指令是1 , 则代表没有启用 。
trim的原理和意义是什么
文章图片

文章图片
三、USAP是什么?
既然trim是ATA指令 , 那是不是跟移动固态硬盘就没关系呢?对于移动硬盘盒内的固态硬盘 , 如果移动硬盘盒支持UASP协议 , 那么硬盘中的trim功能就可以用 。如果不支持UASP协议 , 则不能用 。USAP , 是USB-IF所制定用于透过USB接口连接序列设备的一个传输协议 , 能让大容量储存设备传输速度提升20% , 并降低CPU利用率、数据延迟和等待时间等 。实现UASP加速需要满足以下条件:
1、电脑主板上的USB3.2Gen1或Gen2主控芯片要支持UASP;
2、电脑操作系统必须是Win8、10或者MacOS8&9以上的系统版本;
3、外接设备比如移动硬盘盒要支持UASP传输协议 。
trim的原理和意义是什么
文章图片

文章图片
四、哪些情况可以恢复数据?
通过上面的简单介绍应该可以知道 , 绝大多数情况下的固态硬盘(SSD)删除或格式化是无法恢复数据的 , 要具体情况具体分析 , 以下几种情况可以恢复数据:
1、硬盘在WindowsXP、Windows2003、Windows2008操作系统下使用;