当前位置:首页 > 新闻资讯 > 行业新闻
固态硬盘为什么删除以后就不可以恢复数据了

TRIM 是为增强SSD 主控垃圾回收效率而新引入的ATA 指令。此指令相当于操作系统级别"磁盘碎片整理"程序的"预执行"。

大家都知道,操作系统在删除某个文件或者格式化某个分区后,数据并未真正删除,只是为这些文件添加了"已删除"的标记。这些操作系统级别的"垃圾"在主控看来仍然是有效的数据,只有在执行操作系统级别的"磁盘碎片整理"时才会将其清除。倘若从未进行碎片整理,则主控的压力会大大增加。倘若SSD 的空闲块已经用完,则接下来进行的与入操作,只能对操作系统标记为删除的LBA 对应的物理单元进行"读取﹣擦除﹣修改﹣写入"的操作,(全部是有效页,无法进行页交换与重映射,只能进行改写操作,别无其他选择)这将显著降低硬盘的读写性能。

 

为预防此问题,Windows 7首先将“磁盘整理程序”加入系统计划任务中,空闲时间就会在后台执行。同时系统还加入对TRIM 命令的支持。操作系统一旦删除某文件,就会同时通知主控“这些数据所在的页可以认为是无效页了”, SSD 收到TRIM 指令后,就会根据策略立即(或在空闲时间)将这些数据位置全部标识为“无效”,并进行垃圾回收。

 TRIM 与垃圾回收GC 结合使用,可以及时清空无效系统数据对应的物理块,减少写入放大的同时也提升了性能。

 TRIM 的执行需要以下三个要素:

(1)硬盘主控支持(当前主流产品都支持);

(2)操作系统支持(win7及以后系统);

(3)驱动支持。

 TRIM 通过通知主控,及时将系统无效数据对应的页转为dirty page ,提高了垃圾回收的效率,但也增加了误格式化、误删除等情况下数据恢复失败的概率。不过由于TRIM 只是通知,并非即刻执行,所以实践中只要误操作后送修及时,恢复的成功率并没有明显降低。