黄健
众所周知,SSD在性能上早已大大超出HDD,但是不时爆出的固态盘故障让我们在把重要数据存储在SSD上时难免有一丝担忧。在很多人的印象里,機械硬盘故障是有很高几率恢复内部数据的,毕竟民用机械硬盘技术已经如此成熟,市场上数据恢复工具和更换配件等都有充足的储备;而SSD发生故障,由于技术尚在不断进化中,同时数据恢复工具并不多,故发生故障时常遍寻无门,这也意味着数据将彻底报废,难怪大家会有疑虑。实际上,很多SSD故障是可以寻回数据的,不过短期来看,需要付出更多的金钱成本。
前提:先“硬”后“软”
SSD故障可以分硬件和软(固)件故障,硬件损坏的SSD数据恢复前提是先修复相应的硬件故障。就硬件故障的修复而言,通常需要比照工厂图纸或购买样品实测进行电路部分的比对。首先我们要知道通常SSD正常启动的条件有如下几个——供电正常、时钟正常(晶振正常起振)、固件模块正常。其中供电包括5V、3.3V(存储芯片)、1.8V(数字电路)以及特殊芯片(1.8v或2.6v)等,供电部分和晶振部分等都可通过更换元器件达到修复目的。
关键在软(固)件修复
下面重点进入固件修复部分。从固件故障案例看目前占比最高的就是映射表故障,占了ssD故障率非常大的比重。比如之前Intel 320系列S SD爆出的“BAD-CTX 13xError”——在某些意外断电情况下SSD容量会变为8MB的错误。
要了解映射表故障,首先让我们来了解下固态盘的工作流程。一块SSD,除了有闪存芯片外,一般还需要缓存芯片。闪存芯片的作用是存储数据,而缓存芯片的作用则是缓存用户数据和存放映射表(映射表用于逻辑地址映射闪存物理地址,以主机读取SSD上数据为例来描述映射表的作用:主机通过逻辑地址向SSD索要数据,SSD内部利用这个逻辑地址做索引,通过查找映射表获得用户数据在闪存上的物理地址,然后SSD再读取闪存,获得主机所需的数据)。如果是正常断电,那么用户数据和映射表都会在断电前写入闪存芯片中。下次通电的时候,会直接从闪存芯片上加载映射表。而如果非正常断电,又分两种情况——其一,有电容保护,那么数据一般不会丢失;其二,没有电容保护,那么缓存中的数据会丢失,而写入到闪存中的数据可以通过映射表重构找回。映射表的重构有全局扫描和局部扫描两种方式,前者实现起来简单,但需花费不短的时间来进行重构;后者实现起来复杂,不过恢复速度快。
目前能够修复SSD固件故障的专用数据恢复工具是PC-3000 FlashSSD,它是由俄罗斯ACE实验室开发人员开发的依附于PC3000硬件的一款工具软件,它可以帮助我们进行SSD固件修复,从而能够访问用户区的数据。不过在开始修复前,首先您需要对待修复固态盘的控制器品牌和型号有所了解。
确定SSD主控品牌和型号
不同品牌主控SSD的修复方法有所不同,如何确定自己SSD的主控品牌和型号呢?拆机或使用软件查看。拆机查看是最准确的,但有时会碰到不便拆卸的场合,这里笔者推荐大家使用SSD-Z这款小工具。SSD·Z可用于查看SSD的品牌、SMART信息、主控信息、闪存以及其他技术信息都可以实时显示,而且还包含了一个简单的测试小程序,此外固态盘官方推出的工具软件也可以做为查看主控的重要参考。纵观目前SSD市场,常见控制器可分两个阵营。第一大阵营为“自产自销”阵营,厂商包括英特尔、三星、OCZ(东芝)等。第二大主控阵营为“第三方”阵营,主要包括Marvell美满、PHISON群联、Silicon Motion慧荣等。
在了解了主控芯片后,在下一部分中我们将会进行数据恢复案例的解析,不过在开始前我们需要注意的是:PC-3000 SSD不支持仅基于控制器的数据恢复,而需要基于固件(固态盘生产商)和控制器两方相配合的工作模式,这点非常重要。因为有一些厂家虽然采用同样的控制器,但由于采用了不同的技术指令,而无法获得PC-3000 SSD支持,比如同样基于88SS9174 Marwell控制器,美光、浦科特和英睿达三个厂商使用了相似的固件获得PC-3000SSD的支持,建兴则重写了固件而无法获得支持。
PC-3000 SSD数据恢复案例演示
由于主控和固态盘品牌众多,这里我们以三星为例,做修复案例的解析(本文部分截图来于PC 3000官方技术博客)。三星固态盘市场占有率大,相应的接修时,碰到故障的几率也大。以下是一个三星850PRO SATA固态盘固件损坏的恢复案例,这块故障盘的具体表现为在BIOS和操作系统中都无法识别。
首先连接PC-3000,进入程序。程序中可见无ID显示,无法通过初始化,固态盘无法正常工作。接下来加载经修改的固件,接入终端适配器以便加载LDR;依提示接入适配器,加载后出现ID信息,接着切换至技术模式;最后处理映射表操作,在DE(Data Extractor,是与PC-3000产品配套使用的一款软件产品,拥有DE功能后用户可以从硬盘上恢复数据、提取电子证据)中可见用户数据并可保存至安全位置,至此数据恢复完成。
小结
考虑到现阶段PC-3000Flash SSD售价不菲,同时还需配合PC-3000硬件使用,故恢复价格肯定不低。不过通过本文我想表达的是SSD故障并非代表数据已无药可救,随着技术和工具的不断完善(比如进一步支持NVMe协议M.2形态SSD),有朝一日SSD数据恢复一定会和今日的机械硬盘数据恢复一样,变得更加成熟和进步——当然,SSD的方案相对于机械硬盘而言种类更加繁多,从这个方面来看SSD数据恢复技术难度和服务水平仍有较大提升空间。
笔者作为一名数据恢复的从业人员,在此也给大家在SSD选购方面提出一点自己的建议。一般我们选择SSD,都会更多的从性能、容量这两大角度进行考量,其实今天我们不妨从一个另类的角度——数据恢复的角度来谈谈SSD的选择,毕竟获得PC-3000 SSD的支持,会为您SSD上的数据提供一道安全之门,而有时这道门又是如此的重要。从目前的支持列表看,在自产自销阵营三星和OCZ占优,第三方阵营中美满和慧荣占优,具体型号和最新的支持列表你可通过acelaboratory.com的相关网页查询获得。在SSD价格跌宕起伏的当下,祝大家都能获得满意的存储体验。