存储 频道

揭秘Intel SSD硬盘的使用寿命问题

  【IT168 资讯】在前面的文章(Intel X25-M SSD固态硬盘性能评测概况)中,我们大概给出了对Intel X-25M SSD硬盘的评测结果概要,可能更多的读者会感兴趣,Intel如何实现SSD硬盘的高性能和高可靠性,那么本文将深入介绍Intel SSD硬盘通过哪些措施来保证SSD的使用寿命问题。

  在另外一篇文章:深入解析SSD中MLC与SLC的性能差异,我们已经探讨了SSD的工作原理,以及MLC与SLC SSD在性能和可靠性上的差异,实际上,Intel在针对SSD的可靠性和使用寿命上,也有一些保障措施。

成倍写入机制与智能磨损均衡

  参考在深入解析SSD中MLC与SLC的性能差异一文中,我们对SSD工作原理的描述。SSD最小记录的单元是Page(4K),最小擦除单元是block(512K)。当我们保存该文件时,它会以2 pages的形式保存在闪存记忆体中;将其删除时,SSD会标记pages为无效,但实际上并不会删除该block。SSD将等到block中一定比例的pages被标记为无效时,才会复制一些有效的数据到新的pages里去并擦除该block。SSD这样做是为了限制了每个block擦除的次数,从而延长驱动器寿命。

  并不是所有的SSD句柄删除都通过相同的方式,如何删除和何时删除一些包含无效页面的块,成为SSD寿命的关键。

  对于一些质量不好的SSD来说,如果你只是想更换一个16KB的文件,控制器可能会错误地将整个block读取到主记忆体,然后更换4个页面,从SSD中擦除块,然后把4个改变页写入到新的块中。使用英特尔固态盘的页面/块,就意味着如果只写入16KB新数据,却相当于将512KB写入了SSD ——写入放大了32倍。

  我们暂时没有其他SSD控制器的数据可以显示它们是如何处理这样的情况的,但英特尔指出,传统的SSD控制器写入放大在20–40倍的范围内,这就减少了它们驱动器的寿命。

  对于典型客户的工作量来说,其写入放大系数小于1.1倍,换句话说,比你的实际需要多写入了不到10%的数据。写入放大系数本身并没有多大意义,重要的是驱动器的寿命,此外还有一个因素起作用。我们已经证实,对于闪存来说,写入block的次数有限,之后它就会失去存储数据的能力。SSD相当智能,会使用均衡损耗算法分散block在整个驱动器中的使用。记住,对于SSD来说,无论写入什么地方,其性能将始终如一,这一点不同于其它机械磁盘。

在英特尔磨损均衡效率上,所有使用的block几乎是相同的数值

  因此,SDD试图将数据均匀地写入驱动器的所有block里。例如,假设您下载一个2MB的文件到您新的、从未使用过的SSD中,然后保存到block 10、11、12、13中。您意识到下载错了文件并删除它,然后去下载正确的文件。

  闪存控制器不是将新文件写入block 10 、11、12、13中,而是写入block 14、15、16、17 中。事实上,block 10、11、12、13这四个block无法再次使用,直到驱动器上每隔一个block都已写入了一次。所以,尽管您的MLC SSD可能只有10,000次周期的寿命,但由于智能均衡损耗算法,它将能使用相当长的一段时间。

  坏的磨损均衡,大概在现存的SSD上,一些blocks比其他的blocks更多的被使用

  英特尔SSD大约会有4%空间是均衡损耗算法不能控制的的,这意味着,英特尔SSD上 4%的block将比其他的block更易磨损。

Intel SSD的寿命承诺

  SSD的寿命通常是可以量化的,一个block在不能继续使用之前,可以通过其可擦除的次数或者设计周期进行衡量,因为我们在前面MLC的周期一般为10,000次,SLC的周期一般为100,000次.这些数值一般都不是非常显著的,用户往往更愿意通过SSD自身能够写多少块的数据作为衡量标准。

  因此英特尔想通过其SSD每天能够写入的数据量作为其使用寿命长短的表现,于是英特尔会见了全部的OEM客户,这些OEM客户对SSD的要求是:每天写入20GB数据量。OEM制造商向用户保证他们的SSD能够每天写入20GB数据,并作5年的质量保证,在过去的时间里,基本没有任何问题。

  英特尔希望在未来有更进一步的表现,为OEM厂商提供比原来高5倍的产品。因此,英特尔保证能在未来5年里,每天可以向其MLC SSD产品中写入100GB的数据,并且保证其数据的完整性。一般来说硬盘驱动器有3年的质量保修。

其他对SSD寿命的影响因素

  除了擦除过程中对存储单元介质的磨损外,这个闪存单元也有电源损害因而失去电源供给的可能性(虽然这个电源供给一般都能持续很长时间)。英特尔一般采用了JEDEC提出的质量规范,规定SSD能够持续运行的时间有多长。这个规范则定义:如果我们对一个SSD的寿命仅使用了10%(使用周期按照GB容量的写入),那么你的数据就将完成的保存10年之久。

  如果你的SSD使用了其100%的生命周期,那么你的数据需要维持1年的时间,也就是说其电源供给的保障是随着使用寿命的减少而降低的。英特尔保证在0~70°之间他们的产品与JEDEC提出的规格规范保持一致。如果在一些非常好的的温度环境下,SSD中的数据可能会保存更久(在一般情形,这些SSD应该在低于40°以下工作)。

  英特尔和Micron在IMFT的合股下共有4家制造厂,他们生产的闪存正以惊人的速度使用在英特尔的SSD中。通常使用50nm技术的闪存驱动器一般额定的擦除或编程使用率为10,000次,但是和其他英特尔产品类似,这个说明一般都会加在页面边上。显然我们在以后应该不会意外地看到比这寿命长2倍、3倍或者4倍的产品,但是其对温度和使用方式的限制也是显而易见的。

  在已经提供的每天写入100GB数据量,并且有5年使用年限的MLC SSD产品,一般我们都没有去注意其在桌面/笔记本电脑使用中的可靠性问题。高负载的交易数据库服务器很容易的就超过了MLC闪存的使用寿命,因此SLC才是真正瞄准这部分应用的产品。

  关于MLC和SLC之间的性能比较大家都存有严重的疑虑,但是你很快就会看到,英特尔会让你重新定义对MLC驱动器的期望值。

  由于固态硬盘没有可移动的部件,该磁盘失效的种类也就非常独特。擦除或者重新编程写入是导致NAND闪存记忆体损坏的最主要原因,还有一个次要原因就是程序本身的破坏打扰。当编程写入一个程序单元时就有可能破坏邻近的数据程序单元。这是衡量一个flash闪存驱动器质量的一个重要功能,幸运的是Intel在半导体制造行业有丰富的经验,因此能提供较好的保证。

  实际上英特尔在每块硬盘驱动器上都有额外7.5 - 8 %以上的空间(6 - 6.4GB的80GB的驱动器)专门用于可靠性的目的。如果您在正常的区块写入用完所有的块的时候(接近您驱动器的寿命) ,SSD将会有额外空间在驱动器上。一个有趣的注释,您实际上可以增加SSD上的额外保留空间,从而提高其使用期限。

SSD损坏前提醒用户

  当传统硬盘发生故障的时候我们是知道什么状况的。就是当有一天你启动你的电脑时,操作系统无法启动,或者你的硬盘驱动器检测不到。但是SSD的寿命是远可以预测到的,当一个SSD即将接近其使用寿命的时候会发生什么呢?精心设计的SSD将有一个足够好的磨损水准算法,以确保所有块设备中得到平等利用。所以当他们失效的时候,他们是一起失效的。

  英特尔的SSD硬盘的设计是当他们失效的时候,他们尝试在下一次擦除时失效-这样您就不会丢失数据。如果驱动器不能在下一次擦除时失效,它会在下一次写入程序的时候失效-再次,这样您也不会失去现有的数据。您尝试保存文件,你会得到一个错误的操作说,写无法完成。

  此外,Intel还提供了对SSD寿命状态的监控,当SSD确切知道它不能擦除/写入一个数据块的时候,如果驱动器了解这个情况,那么你可以使用软件来询问驱动器所掌握的信息。在不久的将来,英特尔将推出自己的固态硬盘的工具,可以让您查询驱动器上的两个智能属性:一个是告诉你如何关闭额定限制的循环极限,另一个是告诉你何时用完了所有的分配区块。

  后者是最重要的,因为英特尔充分预计这些驱动器经久耐用的额定极限。至于坏块逐步显现,固态硬盘将对他们做标记,然后让其写入新的块上-还可以告诉你已经用尽了的坏块(或几乎用完了坏块) ,你会知道你何时需要一个新的硬盘驱动器,这是非常重要的。

  也许我们目前看起来SSD并不便宜,实际上,随着SSD应用普及,量产将能很快的拉低SSD的成本和销售价格,而SSD最闪光的特性,是和CPU工作的时候是遵循同样的摩尔定律。

  在未来的18个月,您就可以使用现在购买80GB驱动器的价格购买到160GB的驱动器,再过同样的时间,320GB的驱动器也将会是相同的价格。在今后五年内,我们试想一下,会不会系统使用的固态驱动器比传统的硬盘驱动器效率更高,而且驱动器在发生故障前就能够自动的通知用户。

0
相关文章