固态盘SSD存储技术加速起飞
大约在10年前,SSD公司和SSD驱动器是炙手可热的日用品,但是到了2000年到2002年的时候,这项技术走向了衰落,以至于几乎完全销声匿迹了。由于很多原因,SSD使用起来并不容易,所以为什么基于闪存的SSD会突然热起来?这些设备是否会重蹈上一代产品的覆辙?
我很早就开始使用SSD了,那个时候我还在克雷研究所(Cray Research)工作,所以我对这项技术有着很长时间的体验,这些体验有好也有坏。我可以告诉你一些关于基准的故事,我用了一些实际操作中不会采用的方式来使用SSD,但是基准原则允许这种做法,而这样做会导致性能测试结果的变化。我最近看到很多厂商宣称的固态存储设备产品的性能指标,我对测试环境很好奇,因为在我看来,这些测试的数据太过美好,以至于显得不真实。至少在你买车的时候,你会被告知你所购买汽车的英里数可能会变化。
既然它的成本要比闪存高出很多,那么它是否能成为存储层级中的一部分呢?当然,SSD的性能也比磁盘驱动器要高出很多。如果你使用今天标准的15K 2.5英寸SAS驱动器的话,每个驱动器的任意IOPS大约为250。网络调查显示SSD厂商声称,他们的设备的写入IOPS比这个数值高出10倍以上,最高甚至可以达到72倍,而读IOPS则可以超过200倍。这能够节省大量的磁盘驱动器、能耗、RAID控制器、磁盘trays和连接。
但是固态驱动器却存在着一些可靠性方面的问题,如果你希望将它用在贵公司的企业存储环境之中的话,你就需要认真考虑这些问题。
写入限制和损耗均衡
网上现在有大量关于闪存和损耗均衡的信息。只要进行一次简单的搜索就能够查到主流厂商的文件(晟碟(SanDisk)、东芝(Toshiba)以及其他厂商)。重要的是要理解闪存单元即使使用了最新的闪存零件,也只能被写入100000次左右。在100000次之后,闪存开始出现错误,故障率将和硬盘驱动器的硬件故障率差不多。损耗均衡的作用就是根据损耗限制轮换使用块。
让我们假设你有一个32GB闪存SSD,它使用的是SATA接口。例如,如果你以100MB/秒的速度对同一位置进行写入,最高写入次数限制为100000次的话,那么这个1MB大小的空间将在1000秒后达到使用极限。显然这是无法接受的,而且也不太可能出现这样的情况。损耗均衡的任务是轮流使用块,这样你就不会反复写入同一位置。你的32GB SSD可能是40GB SSD,其中包含了32GB用户可用数据。剩余8GB的空间是由SSD接口动态管理的,以分配不同位置的块,避免你总是向同一位置写入数据。这就是损耗均衡的含义,那么问题就变成了损耗均衡是否能够解决你遇到的所有问题?
比如,我决定使用Mtron。这是一家南韩的公司,该公司生产高性能SSD。Tom的硬件对它进行了一次非常好的检验。点击这一链接你可以在Mtron的网站上找到更多详细信息。我从中提取了一些相关的信息:
需要注意的是,Mtron提供的信息和其他厂商一样多,甚至可能更多,Mtron提供的这些信息和其他厂商提供的信息非常相似。如同前面所提到的,Mtron 32 GB SSD的最高写性能为80MB/秒。Mtron可以用很小的块实现这一点,比如说小于128KB的块。不过,最有趣的性能指标应当是该产品的写入持久性为140年。这个时间是根据每天进行50GB连续写入的情况计算出的。我相信这意味着在同一个块地址上连续写入50GB的数据。每天写入50GB的数据平均计算起来就是一整天的时间里都以0.59MB/秒的速度写入数据。
我个人并不认为这样的写入速度对于写操作密集的环境来说有多大,比如对于文件系统元数据或者正在重新编制索引的大型数据库。如果SAS 15K 2.5英寸驱动器可以在512字节随意I/O的情况下实现250 IOPS,也就是每秒128000字节的I/O,刚刚超过SSD写预算的20%。这和厂商所宣传的10倍或72倍的使用数据相去甚远,但是SSD的反应时间自然是优秀不少。在我看来,Mtron宣称的写预算毫无用处。让我们考虑一下最高性能——128K I/O,然后重新计算一下更合理的写预算期望值。Tom的硬件文章表示,转换率最低为73.8 MB/秒,平均为74.2MB/秒,最高为76.5MB/秒,这一速度和其他的闪存设备或者SATA硬件驱动器的最低和平均性能相比而言可以算是非常快了。在我看来,最大值和平均值之间的差距简直好到难以置信。 #p#page_title#e#
如果你按照50 GB x 365天 x 140年来计算写成本,或者根据Mtron提供的信息,按照2555000GB进行计算的话,用最低性能值计算出来的时间仅仅为410.3天(2555000 x 1024= MB/(73.8 x 3600秒/小时x 24小时/天)= 410.3天)。使用最大值76.5 MB/秒来计算的话,得到的结果也刚刚超过一年,也就是395.8天。当然,这远远小于140年,但是必须考虑到很少有应用会一直以这样的速度进行写操作。我认为对于写密集的环境来说,4-5年的使用期是比较合理的值。考虑到绝大部分RAID系统的生命周期,很多站点不会将磁盘驱动器使用超过5年的时间,因为性能和密度在这段时间中会发生巨大的变化。所以如果Mtron提供的数据是正确的话,那么该设备对于有大量处理数据的环境来说非常有用。
SMART问题
SMART(自我监控、分析和报告技术,Self-Monitoring, Analysis, and Reporting Technology)是磁盘驱动器制造商都支持的一种标准。今天,我发现一些闪存制造商也开始支持SMART监控标准了,但是因为SMART是一个针对磁盘驱动器开发出来的标准,闪存中可能出现的一些错误情况也许无法在SMART框架中覆盖。而且在同RAID设备集成的时候,需要进行前瞻性的故障分析以确保高可靠性,那么RAID厂商就必须将闪存厂商的SMART集成到他们的监控和管理架构之中。
我相信这很可能会是个比较大的问题,因为目前针对闪存的SMART统计还没有标准。SMART和闪存的整个领域需要在未来的几年中携手解决这个问题,但是我怀疑除非大公司进入SSD闪存设备市场,否则这个问题就难以得到解决。只有当大公司进入了这个市场之后,才会有人愿意承担开发标准的费用、时间和工作。未来可能出现的一种情况是RAID厂商们面对前瞻性故障分析的需求,团结在一起强迫SSD厂商们创建一个标准。我认为这是确保SSD闪存设备在企业环境中的可靠性和可用性的一个关键问题,亟待解决。
我相信SSD闪存设备未来会成为我们存储层级中的一部分。它们非常小而且非常昂贵,因此难以解决所有的问题。我认为,它的增长路径和成本路径和传统旋转式存储(磁盘)也并无太多不同。是的,闪存设备的密度正在提高,但磁盘也是如此,不过也许在目前两者提高的速度不同而已,但是从我通过阅读了解到的情况看,增长路径将变得平稳。无论如何,SSD闪存将在我们的未来中占据一席之地,但是早期用户必须慎重考虑上面提到的问题和各种局限。损耗均衡和监控对于SSD闪存设备的可靠性至关重要,我不确信现在这些问题是否都得到妥善处理了。