随着SSD固态硬盘日益普及,在个人电脑中已成为基本的配置选项。在体验SSD固态硬盘带来的性能优势的同时,你有没有想过一个问题,SSD的数据如果误删除或发生故障丢失,还有没有可能找回来呢?这也许是固态硬盘飞入寻常百姓家后需要面临最深刻的灵魂拷问!
在介绍SSD数据恢复的内容前,我们需要先了解一个SSD文件删除相关的特性“TRIM”。TRIM是SSD的一个特性,目的是让固态硬盘SSD在进行内部GC垃圾回收的时候,避免搬迁已经被OS删除的数据,减少无用的数据的搬迁从而降低写放大,提升SSD固态硬盘的寿命,同时也可以提升盘的有效带宽。
比如在OS不支持TRIM的场景:
-
第一步:OS层面写了数据文件A,B,C,D,同时SSD的逻辑地址和物理地址也都写入了对应的数据。
-
第二步:删除了文件C,这个时候OS并没有立即告诉SSD这数据是无效的,特别这个阶段,如果发生GC,依然会搬迁文件C对应原始数据,因为对SSD盘来说,这些还是用户的有效数据
-
第三步:OS层面写入文件E,覆盖了文件C的原始LBA逻辑地址,直到这个时候,SSD内部才恍然大悟:“啊!原来我之前搬迁的还是无效数据呀,做了无用功,SSD也是欲哭无泪呀!”
作为对比,在OS支持TRIM的场景的工作机理:
-
第一步:OS层面写了数据文件A,B,C,D,同时SSD的逻辑地址和物理地址也都写入了对应的数据。
-
第二步:删除了文件C,这个时候OS立即发送了TRIM指令,也就是立即告诉了SSD,这些数据是无效的,不用处理了。这个阶段发生GC垃圾回收,会直接把文件C对应的物理数据直接擦除。
-
第三步:OS层面写入文件E,覆盖了文件C的原始LBA逻辑地址,物理地址也写入了新的数据。
注意,在OS支持trim的机器上,当你删除文件后,会自动向SSD发送trim,这个过程是自动发生的。
如何确定自己的电脑是否有打开Trim功能呢?以Windows系统为例:
以管理员身份运行cmd界面,并输入“fsutil behavior query DisableDeleteNotify”
-
如果DisableDeleteNotify返回值是1,则Trim处于关闭状态或者不支持
-
如果DisableDeleteNotify返回值是0,则Trim处于开启状态
如果要关闭TRIM则执行:fsutil behavior set DisableDeleteNotify 1
到这里,你是不是有所了解了,如果我们想要提升SSD的数据修复的概率,最好是把TRIM功能给关闭掉,不然文件删除后,想再找回真的是难于上青天了。
在了解了TRIM原理以后,我们再总结下固态硬盘常见的故障模式:
与机械硬盘HDD不同,固态硬盘没有机械零件,主要靠电学信号传输,不会出现机械故障。在固态硬盘给大家带来多重优势的同时,固态硬盘相对机械硬盘最大的劣势就是:数据恢复异常艰难,比机械硬盘HDD的数据修复概率低很多。所以,如果你有重要数据,切记一定要备份,最后备份一个SSD,一个HDD,双重保障。
固态硬盘常见的故障模式,主要有以下几种:
-
温度过高。在固态硬盘长时间大压力读写,或者机器散热不高的情况下,持续高温运行,固态硬盘内部的器件也会加速出现异常或者降速运行,最终导致OS访问硬盘出现异常。
-
物理损坏。当固态硬盘有跌落或者撞击的影响的时候,也会影响固态硬盘上电子器件的可靠性,出现异常,严重的话,会出现数据丢失。
-
使用不当。由于盘有固定的寿命期限,如果长时间大压力随机读写,也会加速SSD寿命的消耗。或者出现经常性的意外掉电,导致盘处于长时间的异常环境,也会加速盘的故障。
-
固件异常:固态硬件的固件Firmware内部包括了SSD的FTL算法,读写逻辑,ECC纠错等算法,非常复杂,出现FWbug的概率也相当高。或者出现盘内部异常,FW出现锁死的情况,导致盘处于只读模式或者无法访问的状态。这种情况,数据的恢复几乎不可能了。
-
数据损坏:当固态硬盘受到恶意病毒的感染,数据也会出现损坏,恶意破坏数据块的内容,导致无法恢复。
这么多故障的可能,那么固态硬盘SSD的数据修复,到底是否有办法呢?我们这里介绍两种尝试修复的方式,不能保证一定会成功。在你误删除一些文件的时候,可以尝试下,市场也有也有很多的修复软件。