1、SSD 的数据安全问题明显更快的速度是 SSD(固态硬盘)最吸引人的地方,对于长期使用 SSD 的用户来说,通常不会愿意再使用机械硬盘作为系统驱动器了。目前,SSD 稳步上升的容量和逐渐下降的价格使越来越多的电脑用户开始使用 SSD,但是包括已经使用 SSD 的用户在内,实际上许多电脑用户对于SSD 的稳定性和寿命都心存疑虑。这种不信任感源自于 SSD 的闪存单元有限的使用寿命,理论上闪存单元只能够承受有限的擦写次数,而据此推断,许多 SSD 大约只能够应付 10003000 次的擦除和写入操作。虽然很快第一代的 SSD(例如英特尔 X25)通过一个很长的使用寿命打消了人们的这种疑虑,但是由于
2、控制器固件的问题,新一代的 SSD 又再次引起了人们的担心:由于固件缺陷,采用 SandForce SF 2000 控制器的 SSD 容易导致电脑出现 BIOS 无法检测、系统崩溃等各种千奇百怪的问题。 寿命短暂的闪存单元 SSD 的存储密度有上升的趋势,闪存单元的尺寸越来越小,而且一个闪存单元可能被用于存储两三位的数据,这导致闪存单元的寿命更加短暂,每一个闪存单元存储一个数据位的单层单元可以应付 100 000 次写操作,而一个单元存储两位的多层单元(MLC)则只能够承受 3 000 次写操作,存储三位的三层单元(TLC)只能够承受 1 000 次写操作。 闪存单元的设计原理决定了它们的寿命
3、极其有限:闪存单元通过浮动栅极(floating gate)的状态来存储数据,当向控制栅极(control gate)施加电压时可以为浮动栅极充电,让电子可以穿过薄薄的绝缘层到达浮动栅极,在此状态下,即使不再施加控制电压,电子也将留在浮动栅极,浮动栅极形成电场,可以阻止读取电流,因此对该单元的读取值为“0” 。如果要将单元写入一个“1” ,那么需要向控制栅极反向施加电压,通过绝缘层移出浮动栅极中的电子,在不带电的状态下,浮动栅极将允许读取电流通过,在这种情况下,对该单元的读取值为“1” 。 浮动栅极周围的绝缘层磨损是闪存单元寿命短暂的原因,每一次电子穿越绝缘层的过程都将导致金属氧化物的损耗,随
4、着时间的推移,绝缘层的金属氧化物损耗得差不多之后,原子键就会断裂,部分电子可能会在穿越过程中被困在氧化物中,导致负电荷积累,越来越多的控制电流被抵消。闪存单元的擦写操作需要的时间会越来越长,最终时间已经长到足以影响 SSD 性能的时候,SSD 控制器将丢弃它。因此,闪存单元的删除和写操作是决定闪存单元寿命的关键,而闪存单元在实际使用中并不是逐一单独访问的,而是被链接起来成为一个 256KB 或者 512KB 的区块,这就导致 SSD 的每一次擦写操作都可能影响更多的闪存单元。因而,SSD 需要通过控制器对写操作进行计划和管理,尽可能地避免放大擦写操作对闪存单元寿命的影响。 不管闪存单元有什么样
5、的技术缺陷,在 SSD 容量更大并且价格更低廉的迫切需求下,制造商能够做的只能是不断地提高数据密度。如上所述,现如今的 SSD,闪存单元不再是存储一个“0”或“1”的数据位,而是每一个单元存储两个位甚至三个位,闪存单元中不同的电压等级代表不同的“0”与“1”的组合。这需要大幅度地降低电压的容差,否则不足以弥补劣化的绝缘层所带来的影响。因而每一个单元存储两个数据位的多层单元只能够承受 3 000 次写操作,存储三个数据位的三层单元只能够承受 1 000 次,而不再是原来的 100 000 次写入和删除操作。另外,要以合理的价格扩张产能,以及在闪存存储设备小型化的需求下,制造商不断地压缩闪存单元的
6、尺寸,这导致绝缘层以及闪存单元其他结构的尺寸同样被压缩,更容易受到磨损。 SSD 的使用寿命 在正常的使用过程中,SSD 很快就无法工作,这种担心已经被证明是毫无根据的。IT 数码港经销商的存储产品经理托马斯韦泽通过退换货率来描述这一问题,他认为 SSD 的退换货率并不比传统的机械硬盘高,而 SSD 的制造商 OCZ 的代表也表示,他们的 SSD 受益于所使用的 NAND 单元和动态补偿等先进技术的应用,从普通用户的角度来考虑,SSD 的寿命完全够用。除了这些相对比较空泛的描述之外,一个更具体的证明是三星的 IT 存储事业部产品经理所提供的,该公司的产品通过固件缓解闪存单元的有限生命周期,根据
7、目前的经验,840 EVO 的耐用性和可靠性超过3 年,840 PRO 则超过 5 年。并且该公司的一个 120GB 容量的测试驱动器,目前已经用来写过 563TB 的数据,至今仍然工作正常。按照 563TB 的数据计算,这一驱动器相当于已经全盘擦写了 4 700 次,如果以每天全盘擦写一次来计算,这将需要持续 12 年。实际上,在互联网上也有许多用户提到,自己的 SSD 已经被用来写过几百 TB 的数据。 SSD 能够使用多久与其所设计的使用强度也有一定关系,这通常可以根据制造商的保修期限来判断。高价位的 OCZ Vector 150SSD 设计的使用强度是 5 年内可以每天擦写 50GB
8、数据,因而,这种 SSD 有很长的保修期。而最便宜的 OCZ Vertex 450 设计的使用强度是 3 年内可以每天擦写20GB 数据。对于一般用户来说,由于这个使用强度是按照每天擦写设计的,所以可以确保使用寿命足够长。同样的道理,三星的 SSD 也分为专业版本和普通的消费版本,分别提供 5 年和 3 年的保修期。因而,当我们选择 SSD 时,如果追求更高的稳定性与寿命,可以选择 5 年保修期的专业版本。而且在日常的使用过程中,适当地控制每天擦写的数据量,理论上可以延长 SSD 的使用寿命。 使用 CrystalDiskInfo 之类的工具可以读出 SSD 的使用情况等许多相关的统计信息,例
9、如写入的数据量和磨损量指示等。不过,这些从 0到 100 的数字有点过于抽象,因而,我们可以使用 SSDLife(ssd-)来分析这些记录,并预测 SSD 剩余的使用寿命。首次启动软件,SSDLife 将记录数据的写入量,如果长期使用可以安装该软件,软件能够更准确地预测寿命。不过,通过 SMART 值预测驱动器寿命的准确率自然不会是百分之百,许多驱动器在 SMART 值预测将损坏之后,仍然可以使用很长的一段时间。不过,如果 SMART 值显示 SSD 寿命即将终结,那么我们应该定期为 SSD 上的数据进行备份。 当 SSD 出现故障时 SSD 的控制器能够有计划地安排写入操作以减少闪存单元的擦
10、写次数,并尽可能地给闪存单元平均分配写入任务,避免个别闪存单元过早地磨损。此外,控制器能够标记寿命终结的闪存单元,并用其他的闪存单元替换以避免区块内的所有闪存单元无法使用。个别生产商宣称他们的 SSD可以替换的闪存单元多达 30%,在出现故障的闪存单元能够得到替换的情况下,SSD 除了出现轻微的性能损失和 SMART 值有相应的变化外,基本上不会对用户有任何影响。这种情况将一直持续到有缺陷的闪存单元所占比例过大的时候,当这种情况发生时,SSD 将切换到只读模式。我们可以通过写操作和系统不稳定的错误信息预测这一天的到来,如果写操作的时间过长,Windows 将取消它并提示失败的信息,而当 SSD
11、 是系统驱动器时,操作系统将可能出现死机等不稳定的状况。 除了有缺陷的存储单元之外,有缺陷的固件也可以导致 SSD 不稳定,然而这种故障通常不会丢失数据。我们可以将固件存在缺陷的 SSD 连接到移动硬盘盒,或者通过 SATA 线连接电脑,然后使用专业的工具对其进行更新和备份。在本文最后部分,我们将为大家介绍如何创建一个可以启动系统的闪存盘,并使用其中包含的硬盘工具为系统驱动器创建镜像备份,或者从有故障的 SSD 中拷贝数据。 需要注意的是,如果需要使用 SSD 工具在线更新固件,那么要使用SATA 数据线直接将 SSD 连接到电脑上,SSD 工具无法通过 USB 连接在线更新固件。如果 SSD
12、 是由于固件的缺陷而出现故障,例如文章开头所介绍的 SandForce SF-2000 固件缺陷,那么在更新 SSD 固件之后,SSD 上的文件应该可以再次被读取。接下来,我们可以使用上面提到的工具克隆驱动器或复制文件,完成后使用 SSD 工具的“Secure erase”功能重置SSD。最后重新将数据复制或者克隆到 SSD 上,并检查 SSD 是否能够正常工作。 当硬盘寿命完全终结时 最坏的情况是在 BIOS 中找不到 SSD,并且 SSD 在 Windows 数据载体管理系统或资源管理器中都不可见。此时,某些配备 Indilinx 控制器的特殊型号,可以从电脑上断开 SSD 的电源和 SA
13、TA 线,通过一个跳线重新设置 BIOS,尝试让 SSD 可以重新被访问。不过,对于大部分 SSD 来说,如果 SSD 在其他电脑或者 USB 移动硬盘盒中也无法访问,那么这通常意味着 SSD 的控制器或者一些核心部件已经损坏。在这种情况下,SSD 上保存的数据仍然存在于存储器单元中,但是控制器的故障导致它们无法被读取。 如果这些数据没有备份,必要时可以联系一些专业的数据恢复公司进行恢复,个人用户自行恢复的可能性基本为零。数据恢复公司 Kroll Ontrack 的经理马丁希勒告诫大家,尝试自行恢复控制器故障的 SSD 通常只能带来更大的麻烦。专业的数据恢复专家可以从闪存单元中直接读出数据,并通过软件来完成本该由控制器执行的任务,将数据重建成文件。至于是否能够成功恢复数据,将取决于控制器的复杂性与控制器厂商的信息公开程度,还有数据恢复专家的水平。 控制器损坏导致 SSD 寿命终结的机率相对是比较低的,不过无论如何,我们都建议大家应该定期地为 SSD 创建备份。按照目前大部分的 SSD容量来说,备份并不需要花费太多的时间。特别是当机箱内除了 SSD 还有一块机械硬盘时,可以使用 Windows 的备份功能或者其他备份工具,自动定期进行备份。