固态硬盘常识
固态硬盘俗称电子硬盘,英文名称Solid State Drive,简写为SSD,直译过来就叫固态硬盘。SSD的存储单元使用的是NAND Flash存储芯片,于普通的机械硬盘HDD架构完全不同的是,SSD的控制单元和存储单元全部是由集成电路组成的,即采用固态电子芯片阵列作为存储介质,并没有可以旋转的盘状结构,只是依照人们的命令习惯,仍然称其为“硬盘”。现在流行的SSD固态硬盘使用的NAND Flash存储颗粒分SLC(Single Layer Cell单层单元)和MLC(Multi Layer Cell多层单元)两种。SLC采用单层式存储,结构相对简单,一个单元只存储一位数据0或1,只需要一组高低不同的电压即可区分。这样在写入数据时SLC的电压变化区间小,具备更好的写入性能与数据保持能力,存储速度快,使用寿命也比较长,覆写次数可以达到十万次。但是SLC固态硬盘的成本居高不小,消费领域使用较少。MLC采用多层式存储结构,由英特尔在1997年开发成功。它采用较高的电压驱动,通过不同级别的电压,在同一单元记录两位数据(00、01、10、11),从而将原本SLC的存储密度提高了一倍,这样就大大降低了成本,但同时所带来的弊端就是使用寿命短,MLC架构由于电压变化频繁,理论可檫写次数只有1万次(实际为5000次);其次为存储速度慢、功耗较SLC偏高。 还有一种基于易失性存储DRAM储存介质的固态硬盘,主要用于临时性存储。DRAM的访问速度快且使用寿命长,但掉电后数据会丢失。因此这类固态硬盘需要配合UPS电源才能使用。一般使用时是将需要运行的程序从传统硬盘复制到固态硬盘中执行,从而保证程序的性能。当电源意外中断时,它有足够的时间将数据转移到传统硬盘中;当电力恢复后,再从传统硬盘中恢复数据。事实上DRAM固态硬盘由于性价比的缘故,在消费级领域里是看不到的。市场上个人用户所能接受的固态硬盘都是MLC闪存。 由于SSD不再有磁盘和与之相应的机械结构,理论上可以做成任意形状。实际上为了便于安装和销售心理,通常SSD的外形和接口还是都做成与传统机械硬盘一样,一般都是2.5英寸封装,也有部分1.8英寸封装和3.5英寸封装;甚至有一些没有封装的SSD、即只保留与机械硬盘一样的SATA接口外,不再使用外壳进行封装。 SSD具有读写速度快、抗震功耗低、体积小无噪声等突出优势外,也存在一些不为人所知的缺点,比较突出的是以下三点:
一、固态硬盘容易坏
固态硬盘虽然没有传统硬盘那样的机械结构,不存在磁头老化、磁盘坏道等问题,但由于采用了闪存(NAND Flash)作为存储介质,其有限的擦写次数(P/E)是一大硬伤。现阶段固态硬盘均采用MLC作为主力闪存芯片,平均擦写次数为5000-10000次,这是理论寿命,实际上不同批次芯片之间的体质差异可以很大,寿命远低于5000P/E。相机的高速CF卡、早期的高性能U盘……作为临时的便携式存储设备,MLC足以胜任,但如果要当硬盘使用,MLC相比HDD机械硬盘还是脆弱些:传统硬盘将数据记录在盘片磁层上,理论上可以经受无数次的读写操作而不会有磁失效的危险,显然闪存做不到这种程度。闪存芯片品质也是参差不齐的,闪存芯片都是从晶圆上切割下来再进行封装,良率就会有概率分布。既然SSD使用闪存芯片作为储存介质,同一款SSD产品,视容量大小里面会有4~16个闪存芯片,如何去确定这一批闪存芯片的品质是否均匀呢?即便是同一厂商同一型号,也难以保证所用的闪存芯片品质相近。这样的缺陷显而易见,就像磁盘阵列RAID一样,本来是为了更好保障数据却反倒增加了数据的风险。虽然固态硬盘内部阵列与RAID0还是有差别的,一个NAND芯片的损坏不至于全盘数据丢失,但从可靠性角度看道理是一样的。从目前的情况来看,我们还没有什么比较好的方法能在购买前确定闪存芯片的质量(除非带根螺丝刀去拆解)。用户只能是在选购固态硬盘时选择可信的供应商、大厂品牌好信誉高价格贵假货也多。
二、数据恢复的难度
机械硬盘的恢复技术已经趋于成熟,传统硬盘的将数据记录在磁层上,理论上可以经受无数次的读写操作而不会有磁失效的危险,因此即便是硬盘已经损坏,仍可以通过各种专业手段来恢复数据且成功率较高。但是固态硬盘不同,其内部没有任何机械结构,数据被零散地分散在各个闪存之中,要从损坏后的闪存芯片中数据恢复,从目前来讲几乎是不可能的。因为两者存储原理不同,固态硬盘删除文件时不是像机械硬盘那样仅仅删除文件的索引,而是全部删除。目前固态硬盘可以恢复数据的都是固件故障维修,真正的芯片损坏是无解的,这也是当前SSD恢复成功率不高的原因。而且在芯片层面的这种数据恢复我们一般人是消费不起的。
三、固态硬盘越用越慢
这个特点不为大多数用户所知。固态硬盘会越用越慢,这和固态硬盘的工作原理有很大的关系。固态硬盘使用闪存作为储存介质,而闪存的特性是必须先擦除之后才能再次写入数据,这一点和机械硬盘截然不同,机械硬盘是直接在数据上面覆盖写入的。用户购买固态硬盘的时候,其中的NAND闪存已经预先擦除干净,因此数据可以直接写入,无需完成数据清除这一步,这时数据的写入速度非常快;随着时间的推移,SSD中从未使用的存储空间越来越少,很多时候必须先擦除闪存中的数据然后再写入,因此其性能就会明显下降。固态硬盘的TRIM机制通过告诉主控哪些地址有效无效、然后再通过“垃圾回收机制”清理无效数据数据,而且是将无效数据所在的整个区域檫除,不能像机械硬盘那样实现点对点精确定位檫除,因此必须先把区域内的有效数据集中起来,转移到空闲的位置,然后把无效数据所在的整个区域清除,清除出来的地方可以作为下次垃圾回收时的转移地点。所以问题就来了,刚开始的时候还好,数据量比较少,可用空间比较多,固态硬盘能轻松解决这些,速度自然就上去了;可是随着时间的推移,数据量越来越多,可用空间越来越少,速度自然就降了下来。传统的机械硬盘可以通过重装系统轻松解决这个问题,但是固态硬盘重装系统后却无法解决、必须全盘檫除,而全盘檫除又会降低使用寿命而且非常耗时。