DOIT原创 崔昊 发表于:13年07月30日 17:23 [原创] DOIT.com.cn
移动电子很简单 但闪存不简单
在NAND闪存上移动电子,并不是一件简单的事情,其移动电子的量是非常非常巨大的,一个电子就代表一个0或是1,这需要成熟、可靠的闪存控制方法及闪存固件来确保存储在NAND闪存上的数据是可靠的、安全的。
闪存的硬件可靠性一定程度上体现在“移动电子”的可靠性上,就像硬盘驱动器一样,闪存驱动器也会随着时间的推移产生磨损。磁盘可能因为机械问题(如磁头损坏(磁头与旋转盘片接触的部位)或电机故障)产生故障。而闪存由于是移动电子,有时它们会使得一个NAND单元失效。
随着时间的推移失效的NAND单元不断增加,但是通过使用成熟的闪存固件,可对NAND进行管理,使得所有的单元在同一时间磨损失效。这种磨损均衡技术意味着驱动器可以在其整个生命周期内保留更多的空间,而不会造成性能的下降,同时也帮助IT管理人员预测和计划其闪存解决方案的使用寿命——从本质上讲,闪存的失效比磁盘发生故障更加容易预测。
磨损均衡有效的避免了闪存在短时间内出现过多的单元损耗从而影响闪存的容量,虽然闪存的每个单元仍然局限在一个非常有限的写次数内——比如说企业级的SLC(single-level cell单级单元)每个单元在失效前能支持大约100,000次写操作——但整体来说有效的延长了闪存的寿命。
更长的寿命意味着更低的成本,在整个存储系统中,单个闪存盘的更换并不会出现什么问题,但由于使用闪存和传统15k或10k转速的磁盘得到相同IOPS的前提下,闪存所使用的盘片数量更少,这代表每更换一个闪存盘系统中盘片的更新比率会更高——如果我们假设SSD和传统磁盘的可靠性和使用周期(事实上,这两者在寿命上已经基本持平了,都在3-4年左右),就会发现一个简单的数学问题:
以同样的6G SSD和HDD作为对比,6G SSD大概提供20000的IOPS,而6G HDD提供300的IOPS,在同样得到100万IOPS的存储系统中(比如华为的Dorado 5100固态存储系统)中,SSD需要50块,而HDD需要大约3000块,如果在两者寿命持平的条件下,显然一块SSD更换的代价占整个存储系统的比例要高出数十倍。
与此同时,可靠性的问题还有另外一面:数据的正确性。在NAND闪存上,因为闪存(Page或Sector)可能存在的损坏,我们需要谨慎的对待数据读取或写入时的损坏、遗漏或是错误问题,这意味着我们必须要关注闪存盘可靠性的另外一面:数据的可靠性。
数据的可靠性需要通过闪存盘固件内的算法进行校准。业内流行的方式,包括通过奇偶校验检查和LBA标签检查、循环冗余检查(CRC)等方式来校验数据,而业内不多的厂商(如华为和英特尔)还通过高级加密标准(AES)来确保数据的可靠性——这是一种很有意思的确保数据正确的方式:通过对数据进行AES加密,来校验两次加密或加密前后数据,从而确保了数据的准确性。
总的来说,闪存的磨损均衡、寿命周期、维护更新成本还是数据的可靠性等等这些有关闪存的话题,都代表着闪存不是简单的可以通过性能和容量考量的产品。但技术能否得到充分的利用与不同厂商之间的技术的差别,却难以为企业用户所了解,尤其是当很多闪存相关技术的验证都通过一些我们不常见的技术名字、指标来呈现时,我们需要的是能够简单检验闪存盘可靠性、性能与成本的指标。
事实上,在业界对于闪存盘的“质量”有一个比较通行的考量方法:一年退回率(ARR)和年故障率(AFR),通过使用行业标准方法来计算这两点,就能够预估出闪存盘在实际工作环境中的使用总时长,而这一数字的高低将直接影响批量采购闪存后的成本和使用体验。
对于行业内的许多供应商来说,ARR和AFR是十分残酷的参照指标,ARR意味着同一批闪存盘内在一年中有多少闪存因故障和容量削减较快而被退回供应商;AFR则代表一块闪存盘在一年内发生故障的概率。
普遍来说,较好的闪存供应商的ARR数据应当不超过1%(像华为ARR基本上已经可以做到不超过0.3%),而AFR一般在0.5%-0.7%左右——2007年市场上平均传统磁盘的AFR数字是4.85%——这意味着,如果你购买的是像华为、英特尔等公司提供的闪存盘,其故障率和退回率将显著低于原来的SAS或SATA磁盘,无论从经济效益还是运维复杂度上,这显然是非常明显的改善。
不过,有关闪存盘整体水平的考量还有很多标准,比如说是否支持压缩(能够有效提高寿命和性能)、重复数据删除或是更好的磨损均衡技术,但总体来说,寿命、性能、成本、数据可靠性、ARR与AFR数字,是其中非常重要的参照指标,而这些指标数字的提升,绝不仅仅是“NAND闪存+主流控制器”能够解决的。
华为的工程师曾经向我们透露,在华为的闪存盘研发过程中,除了以三星、美光等闪存颗粒厂商保持良好的合作关系之外,在自研SSD和SSD控制器的历程中,华为除了早期使用Marvell的控制器之外,到现在已经历经了三代SSD和自研ASIC,而正是得益于在SSD领域的技术拓展,“华为才可以做到针对SSD的全局资源管理以及深度融合机制。”
这也就将话题引申到一个更大的领域:我们不可能只是将闪存盘插入传统的存储系统,而是要建立一个针对闪存而优化的存储系统,换句话说,“不是所有闪存系统都是合格品”。