CHIP 首页 动手 查看内容
8936

SSD的数据安全问题

SSD的数据安全问题
收藏 分享 邀请

2014-4-8 20:45   -Aa +Aa

  大部分用户对SSD都不是很了解,为什么SSD存储数据的闪存单元寿命短暂呢?闪存单元有限的寿命是否会导致SSD轻易报废呢?SSD的固件缺陷可能给我们带来什么样的麻烦呢?我们又应该如何保护和恢复SSD上的数据呢?下面CHIP将为大家一一解答这些问题。

  明显更快的速度是SSD(固态硬盘)最吸引人的地方,对于长期使用SSD的用户来说,通常不会愿意再使用机械硬盘作为系统驱动器了。目前,SSD稳步上升的容量和逐渐下降的价格使越来越多的电脑用户开始使用SSD,但是包括已经使用SSD的用户在内,实际上许多电脑用户对于SSD的稳定性和寿命都心存疑虑。这种不信任感源自于SSD的闪存单元有限的使用寿命,理论上闪存单元只能够承受有限的擦写次数,而据此推断,许多SSD大约只能够应付1000~3000次的擦除和写入操作。虽然很快第一代的SSD(例如英特尔X25)通过一个很长的使用寿命打消了人们的这种疑虑,但是由于控制器固件的问题,新一代的SSD又再次引起了人们的担心:由于固件缺陷,采用SandForceSF2000控制器的SSD容易导致电脑出现BIOS无法检测、系统崩溃等各种千奇百怪的问题。
  寿命短暂的闪存单元
  SSD的存储密度有上升的趋势,闪存单元的尺寸越来越小,而且一个闪存单元可能被用于存储两三位的数据,这导致闪存单元的寿命更加短暂,每一个闪存单元存储一个数据位的单层单元可以应付100000次写操作,而一个单元存储两位的多层单元(MLC)则只能够承受3000次写操作,存储三位的三层单元(TLC)只能够承受1000次写操作。
  闪存单元的设计原理决定了它们的寿命极其有限:闪存单元通过浮动栅极(floatinggate)的状态来存储数据,当向控制栅极(controlgate)施加电压时可以为浮动栅极充电,让电子可以穿过薄薄的绝缘层到达浮动栅极,在此状态下,即使不再施加控制电压,电子也将留在浮动栅极,浮动栅极形成电场,可以阻止读取电流,因此对该单元的读取值为“0”。如果要将单元写入一个“1”,那么需要向控制栅极反向施加电压,通过绝缘层移出浮动栅极中的电子,在不带电的状态下,浮动栅极将允许读取电流通过,在这种情况下,对该单元的读取值为“1”。
  浮动栅极周围的绝缘层磨损是闪存单元寿命短暂的原因,每一次电子穿越绝缘层的过程都将导致金属氧化物的损耗,随着时间的推移,绝缘层的金属氧化物损耗得差不多之后,原子键就会断裂,部分电子可能会在穿越过程中被困在氧化物中,导致负电荷积累,越来越多的控制电流被抵消。
  闪存单元的擦写操作需要的时间会越来越长,最终时间已经长到足以影响SSD性能的时候,SSD控制器将丢弃它。因此,闪存单元的删除和写操作是决定闪存单元寿命的关键,而闪存单元在实际使用中并不是逐一单独访问的,而是被链接起来成为一个256KB或者512KB的区块,这就导致SSD的每一次擦写操作都可能影响更多的闪存单元。因而,SSD需要通过控制器对写操作进行计划和管理,尽可能地避免放大擦写操作对闪存单元寿命的影响。
  不管闪存单元有什么样的技术缺陷,在SSD容量更大并且价格更低廉的迫切需求下,制造商能够做的只能是不断地提高数据密度。如上所述,现如今的SSD,闪存单元不再是存储一个“0”或“1”的数据位,而是每一个单元存储两个位甚至三个位,闪存单元中不同的电压等级代表不同的“0”与“1”的组合。这需要大幅度地降低电压的容差,否则不足以弥补劣化的绝缘层所带来的影响。因而每一个单元存储两个数据位的多层单元只能够承受3000次写操作,存储三个数据位的三层单元只能够承受1000次,而不再是原来的100000次写入和删除操作。另外,要以合理的价格扩张产能,以及在闪存存储设备小型化的需求下,制造商不断地压缩闪存单元的尺寸,这导致绝缘层以及闪存单元其他结构的尺寸同样被压缩,更容易受到磨损。

  SSD的使用寿命
  在正常的使用过程中,SSD很快就无法工作,这种担心已经被证明是毫无根据的。IT数码港经销商的存储产品经理托马斯?韦泽通过退换货率来描述这一问题,他认为SSD的退换货率并不比传统的机械硬盘高,而SSD的制造商OCZ的代表也表示,他们的SSD受益于所使用的NAND单元和动态补偿等先进技术的应用,从普通用户的角度来考虑,SSD的寿命完全够用。
  除了这些相对比较空泛的描述之外,一个更具体的证明是三星的IT存储事业部产品经理所提供的,该公司的产品通过固件缓解闪存单元的有限生命周期,根据目前的经验,840EVO的耐用性和可靠性超过3年,840PRO则超过5年。并且该公司的一个120GB容量的测试驱动器,目前已经用来写过563TB的数据,至今仍然工作正常。按照563TB的数据计算,这一驱动器相当于已经全盘擦写了4700次,如果以每天全盘擦写一次来计算,这将需要持续12年。实际上,在互联网上也有许多用户提到,自己的SSD已经被用来写过几百TB的数据。
  SSD能够使用多久与其所设计的使用强度也有一定关系,这通常可以根据制造商的保修期限来判断。高价位的OCZVector150SSD设计的使用强度是5年内可以每天擦写50GB数据,因而,这种SSD有很长的保修期。而最便宜的OCZVertex450设计的使用强度是3年内可以每天擦写20GB数据。对于一般用户来说,由于这个使用强度是按照每天擦写设计的,所以可以确保使用寿命足够长。同样的道理,三星的SSD也分为专业版本和普通的消费版本,分别提供5年和3年的保修期。因而,当我们选择SSD时,如果追求更高的稳定性与寿命,可以选择5年保修期的专业版本。而且在日常的使用过程中,适当地控制每天擦写的数据量,理论上可以延长SSD的使用寿命。
  使用CrystalDiskInfo之类的工具可以读出SSD的使用情况等许多相关的统计信息,例如写入的数据量和磨损量指示等。
  不过,这些从0到100的数字有点过于抽象,因而,我们可以使用SSDLife(ssd-life.com)来分析这些记录,并预测SSD剩余的使用寿命。首次启动软件,SSDLife将记录数据的写入量,如果长期使用可以安装该软件,软件能够更准确地预测寿命。不过,通过SMART值预测驱动器寿命的准确率自然不会是百分之百,许多驱动器在SMART值预测将损坏之后,仍然可以使用很长的一段时间。不过,如果SMART值显示SSD寿命即将终结,那么我们应该定期为SSD上的数据进行备份。

  当SSD出现故障时
  SSD的控制器能够有计划地安排写入操作以减少闪存单元的擦写次数,并尽可能地给闪存单元平均分配写入任务,避免个别闪存单元过早地磨损。此外,控制器能够标记寿命终结的闪存单元,并用其他的闪存单元替换以避免区块内的所有闪存单元无法使用。个别生产商宣称他们的SSD可以替换的闪存单元多达30%,在出现故障的闪存单元能够得到替换的情况下,SSD除了出现轻微的性能损失和SMART值有相应的变化外,基本上不会对用户有任何影响。这种情况将一直持续到有缺陷的闪存单元所占比例过大的时候,当这种情况发生时,SSD将切换到只读模式。我们可以通过写操作和系统不稳定的错误信息预测这一天的到来,如果写操作的时间过长,Windows将取消它并提示失败的信息,而当SSD是系统驱动器时,操作系统将可能出现死机等不稳定的状况。

  除了有缺陷的存储单元之外,有缺陷的固件也可以导致SSD不稳定,然而这种故障通常不会丢失数据。我们可以将固件存在缺陷的SSD连接到移动硬盘盒,或者通过SATA线连接电脑,然后使用专业的工具对其进行更新和备份。在本文最后部分,我们将为大家介绍如何创建一个可以启动系统的闪存盘,并使用其中包含的硬盘工具为系统驱动器创建镜像备份,或者从有故障的SSD中拷贝数据。
  需要注意的是,如果需要使用SSD工具在线更新固件,那么要使用SATA数据线直接将SSD连接到电脑上,SSD工具无法通过USB连接在线更新固件。如果SSD是由于固件的缺陷而出现故障,例如文章开头所介绍的SandForceSF-2000固件缺陷,那么在更新SSD固件之后,SSD上的文件应该可以再次被读取。接下来,我们可以使用上面提到的工具克隆驱动器或复制文件,完成后使用SSD工具的“Secureerase”功能重置SSD。最后重新将数据复制或者克隆到SSD上,并检查SSD是否能够正常工作。
  当硬盘寿命完全终结时
  最坏的情况是在BIOS中找不到SSD,并且SSD在Windows数据载体管理系统或资源管理器中都不可见。此时,某些配备Indilinx控制器的特殊型号,可以从电脑上断开SSD的电源和SATA线,通过一个跳线重新设置BIOS,尝试让SSD可以重新被访问。不过,对于大部分SSD来说,如果SSD在其他电脑或者USB移动硬盘盒中也无法访问,那么这通常意味着SSD的控制器或者一些核心部件已经损坏。在这种情况下,SSD上保存的数据仍然存在于存储器单元中,但是控制器的故障导致它们无法被读取。
  如果这些数据没有备份,必要时可以联系一些专业的数据恢复公司进行恢复,个人用户自行恢复的可能性基本为零。数据恢复公司KrollOntrack的经理马丁?希勒告诫大家,尝试自行恢复控制器故障的SSD通常只能带来更大的麻烦。专业的数据恢复专家可以从闪存单元中直接读出数据,并通过软件来完成本该由控制器执行的任务,将数据重建成文件。
至于是否能够成功恢复数据,将取决于控制器的复杂性与控制器厂商的信息公开程度,还有数据恢复专家的水平。
  控制器损坏导致SSD寿命终结的机率相对是比较低的,不过无论如何,我们都建议大家应该定期地为SSD创建备份。按照目前大部分的SSD容量来说,备份并不需要花费太多的时间。特别是当机箱内除了SSD还有一块机械硬盘时,可以使用Windows的备份功能或者其他备份工具,自动定期进行备份。
  使用闪存盘挽救数据
  如果SSD的SMART数据显示硬盘的健康状态不佳,或者安装在SSD上的系统出现异常,那么是时候要对硬盘上的数据进行备份了。完成这项工作,可以使用包括系统能够从闪存盘启动的PartedMagic。

  1准备闪存盘
  在使用Windows的电脑上使用FAT32文件系统格式化闪存盘(容量500MB以上),运行UNetbootin(unetbootin.sourceforge.net)并选择“光盘镜像”,单击右侧的“...”按钮浏览并选择下载的PartedMagicISO光盘镜像文件“pmagic_2013_08_01.iso”,在“类型”下拉菜单中选择“USB驱动器”并从后面的下拉菜单中选择闪存盘的盘符,单击“确定”开始将包含系统的PartedMagic写入闪存盘。

  2启动救援系统
  将闪存盘插入需要备份的电脑,在准备备份的电脑上我们需要至少有一个剩余容量与出现故障的SSD相当的存储介质。接下来,启动电脑并通过快捷键打开下载启动驱动器的菜单,选择闪存盘启动,在PartedMagic的启动管理器中根据目标系统的位数选择“DefaultSettings32”或者“DefaultSettings64”,并选择选项下方的“+”号,根据系统的位数选择使用的语言,然后回车启动PartedMagic。

  3复制整个硬盘
  最简单的方法是完全克隆操作系统,将所有的数据、程序从有缺陷的SSD复制到一个新的SSD。在桌面上,双击“DiskCloning”图标,在启动的软件界面上使用箭头键选择“device-device”和“Exper”选项,然后选择“disk_to_local_disk”。接下来,选择有缺陷的SSD作为源和新的SSD作为目标。接下来,使用箭头键移动光标到“-rescue”,并按下空格键激活它。在所有提示信息中进行确认,直到克隆的过程开始。如果新的SSD容量比较大,则可以使用GParted之类的分区管理工具,通过“PartitionEditor”将SSD的一部分划分为一个数据分区用于克隆。

  4复制数据
  如果有缺陷的SSD原系统已经不稳定,那么在新的SSD上重新安装操作系统,再从原硬盘上复制需要的数据是比较妥当的做法。从有缺陷的SSD上复制文件,PartedMagic会比Windows做得更好,因而,在重新安装系统之后,可以连接原来的SSD并使用PartedMagic启动。通过单击任务栏中的硬盘图标启动“PartedMagicMount”,点击“Mount”按钮加载新旧两个硬盘,接下来,即可通过单击硬盘后方的文件夹图标启动文件管理器,使用它来复制文件。
最新评论 微博评论

获取CHIP资讯的其他渠道

ipad&iphone

Adnriod Pad

关于我们| 广告服务| 联系方式| 隐私声明| 技术支持| 客户端下载
Copyright (C) 2009-2012 chip.cn, All Rights Reserved.弗戈博达(北京)广告有限公司 京ICP备14006847号-3
返回顶部