龙空技术网

一文弄懂为何固态硬盘不易恢复数据 这两点很重要

奇客 1665

前言:

目前兄弟们对“flash擦除原理”大体比较重视,同学们都需要了解一些“flash擦除原理”的相关资讯。那么小编同时在网摘上汇集了一些关于“flash擦除原理””的相关资讯,希望兄弟们能喜欢,大家一起来了解一下吧!

自从固态硬盘迈入TLC时代,500GB已成为笔记本电脑标配,TB级SSD也跌进千元以内,实在是提升电脑性能的一大利器。

挑好SSD,它没那么脆弱

奇客之前回答网友提问时,多次推荐SSD作为重要数据存储设备,遭到一些朋友的质疑,说SSD数据丢失难以恢复。但其实我想说的是,只要是大牌产品,主控颗粒质量有保障,经过这几年的优化发展,基本不会毫无征兆突然死亡。再者说,固态硬盘恢复数据并非不可能,只是相对机械硬盘来得困难,因为二者工作机制截然不同。

和机械硬盘不同,固态硬盘放弃了线性写入,而采用并行写入,也就是数据被分解成小块,同时写入不同的Nand芯片中。但是一些最便宜同时最慢的SSD,只采用一个Nand芯片怎么办?存储颗粒上每个物理块都动态分配一个逻辑地址,以帮助SSD控制器进行均衡磨损。因此,读取Nand芯片的内容,并返回一个数据混合成块的拼图,以一种看似随机的方式混合。

SSD必须转换Nand地址以便映射坏块,并提供均衡磨损,而Nand颗粒都有写入寿命,即PE全盘擦写次数。大多数TLC SSD都模拟SLC缓存算法,也就是划出专门SLC缓存区,以更低的工作电流改写数据,获得更快的速度,同时减少Nand物理磨损。

3种Nand颗粒的体质差异

看懂SSD Trim工作原理

通常磁盘操作的删除不是马上删除,而是标记为待删除的无效数据(你可以做个试验:拷贝一个大文件到U盘,中途取消然后马上再拷贝一次,前面写入的数据又从无效变成有效,所以速度非常之快,之后恢复真实写入速度)。

机械硬盘工作原理只有读和写,因为数据可以原有磁道上直接覆盖,不需要经过清除这个步骤,这是机械硬盘磁道记录信息的特点。但是SSD不行,SSD改写数据需要执行读、擦、写三个动作,任何一个Nand芯片如果里面有数据,必须把有数据的区块擦除清零才能写入。

对于SSD而言,TRIM指令最大作用是清空待删除的无效数据,在SSD执行读、擦、写步骤时,预先把擦除的步骤先做了,这样才能发挥出SSD的性能。奇客之前说过,购买SSD移动硬盘盒和易驱线,要看主控是否支持Trim指令。

一些SSD用几年就掉速,一个原因就是待删除的无效数据太多,每次写入时主控都要先做清空处理,所以性能受到了限制。奇客以前就碰到一块金士顿V300,没有4K对齐速度掉的厉害。

SSD读、擦、写三步曲,就像清理鞋柜,丢掉不要的旧鞋才能装新鞋

因为有些SSD主控算法没那么聪明,很多时候并不会主动清理,通常是系统空闲下来才执行操作。而很多人用电脑基本不会空闲下来,系统就没时间让SSD休息一下。开启Trim的好处就是随时清空待删除的无效数据,这需要具备两点:Win7以上操作系统,固态硬盘4K对齐,Trim才能生效。

Trim开关命令行:

关闭:sudo trimforce disable

启用:sudo trimforce enable

如果想手动运行Trim,运行Powershell命令行:

Optimize-Volume -DriveLetter G -ReTrim -Verbose

其中G是指定盘符,要在磁盘空间时操作

你知道了Trim的功劳,自然明白如果没有它,固态硬盘删除文件后,一段时间内没做清空处理,以前的文件是可能恢复过来的,这种情况也适用于XP老系统。

SSD数据恢复到底难不难

上面说固态硬盘正常时恢复删除的文件,那么有人说SSD一旦损坏数据就全报销了,是这样吗?奇客要说的是:分情况。

SSD主控写死情况比较少见,而只要Nand颗粒不损坏就有可能恢复数据。如果没有SSD主控的帮助,想恢复固态硬盘上的文件非常难,而且算法是核心技术,厂家不开源。

因为数据恢复要重建转换表,以确定哪些Nand芯片和保存数据的具体地址。不同的主控算法不同,转换表格式也不同,Nand芯片越多重建就越困难,所以SSD数据恢复比较复杂。

数码之家论坛有位达人用专业工具成功恢复了一块64GB CF卡上的视频文件18.4GB,这块存储卡采用了美光SLC颗粒,主控是慧荣SM2246XT,走的是SATA协议,等于小型固态硬盘。

这张CF卡标称速度达510MB/s

这个工具是Flash Extractor——一款比PC3000更牛的数据恢复软件,它可以恢复任意损坏U盘和固态硬盘里的数据。注意是硬件上的损坏,不过软件还要配合对应设备才行,就是下图这个板子:

芯片编程器通过转接头支持各种颗粒

看到镁光颗粒吗?没错,就是把Nand颗粒拆下来,用工具读取底层数据,对照Flash转换表Dump下每个颗粒,通过复杂的算法重组得到正确数据,再用WinHex打开数据镜像,转换为硬盘MBR模式,最终根据文件类型成功恢复数据。

也就是说,不管是BGA还是TSOP封装的Nand颗粒,还是手机采用的eMMC和UFS闪存,理论上通过类似方法都可以恢复数据。但是随着Nand颗粒堆叠层数增多,TLC数据恢复难度会比SLC/MLC更高。所以还是要提醒大家,定期关注硬盘SMART状态,定期备份重要数据,有备无患才是王道。

最后是奇客推荐SSD——

标签: #flash擦除原理 #固态硬盘坏道修复原理