由于固态硬盘的内部构造与传统硬盘有很大的区别,所以两者在硬件故障的表现形式上也有所不同,固态硬盘内部是一系列较为复杂的电子元件,其中包括存储芯片、控制芯片等,所以最常见的故障首先是电路故障,其次是固件故障。固件故障多表现为主板和系统无法识别硬盘,型号、容量识别错误或者读取某个区域文件及文件夹时频繁死机等。
主板和系统无法识别硬盘,大多数是由于固态硬盘里的电路元件损坏,而型号容量识别错误则可能是固态硬盘固件损坏导致的。电路损坏只要更换相应的配件即可修复,而修复固件故障必须首先有能读写固态硬盘固件的工具和软件,而后还要有相同版本得完好固件才能修复,修复过程是相当复杂的。因此修复固态硬盘不单需要经验、设备,还需要充足的配件和固件程序库。我公司在固态硬盘恢复方面积累了丰富经验,并且拥有充足的配件以及类型繁多的固件程序版本,所以在恢复此类故障时拥有很高的成功率。
固态硬盘内最重要的是控制单元和固态存储单元,固态存储单元是用来记录数据的,控制单元则是控制硬盘正常工作的。 打开固态硬盘我们便可以看到电路上多个FLASH闪存颗粒,这些颗粒就是固态硬盘的存储单元,存储单元有一定使用寿命也就是有擦写次数的限制,当存储单元达到或超过擦写次数时就会出现不稳定的情况或出现坏块,这时会导致整个固态硬盘不能正常工作。例如出现系统读取数据时很卡或频繁死机。
由于读取设备的限制,损坏的存储单元内数据恢复过程既复杂难度又大,这最终有可能影响恢复的效果。有些人会问只是一个存储单元损坏而已,我用设备把其他存储单元读出来,读出来的数据不是大部分可用的么?但是答案是否定,原因就是FLASH存储单元采用了损耗均衡的算法,数据被分割成很小的数据块,然后根据存储块的损耗程度(即擦写次数)进行漂移存储。
为什么要采用耗均衡的算法呢?
我们知道FLASH存储单元有擦写次数限制,特别是MLC存储单元,它的可擦写次数大约为1万次,SLC是MLC的10倍。但是我们知道硬盘的某些区域在使用中会被频繁的擦写,比如系统引导扇区,虚拟内存等等,这些区域的频繁擦写会导致FLASH存储单元的提前损坏,从而导致硬盘报废,但是此时其他区域的FLASH存储单元也许只擦写了几百次,为了防止这种情况出现,耗均衡的算法便诞生了,这个算法最早被应用于U盘上。
什么是损耗均衡的算法呢?
损耗均衡会按照一定大小将存储单元划分为若干个块,并为使用中的块进行索引编号,每次擦写都会更新一个块。其核心思想就是将新写入的数据写进写入次数较少的块,将擦写次数较多的块中的数据移至擦写次数较少的块。