华为RAID 2.0+ 解析为SSD优化而生

从诞生之初,闪存就成为热点技术,如今经过市场的积淀,日渐走入寻常企业中,接受用户和应用的检验。
作为新一代主流存储介质,ssd(固态硬盘)具有读写速度快、ssd盘随机访问性能高、轻便、抗震等显著的优点,也让尝鲜部署ssd的企业尝到了通过闪存加速的甜头。
正如一枚硬币有正反两面,ssd也并非完美无缺,比如ssd单位容量成本较高,受限于介质擦写次数而具有明显的写寿命限制,ssd在顺序随机读、大块顺序写入时具有最佳的性能,而在随机写入场景下性能较低。另外,在不同的操作模式下,ssd性能的发挥也具有明显的差异。相对于机械硬盘,虽然ssd的读写性能具有明显提升,但是并不意味着简单粗犷的使用,就能让ssd充分的发挥出最大性能水平。因此,围绕着如何有效降低ssd介质成本,提升使用寿命,发挥最大性能,业界各大供应商都开始施展浑身解数。
ssd应用的优化法则
要明确ssd的这些属性,必须先说一说颗粒磨损次数和op(超供)空间两个重要概念,以及内部的垃圾回收。
不同的颗粒种类具有不同的磨损次数,比如slc、mlc、tlc这些基于不同工艺的颗粒都具有不同的磨损次数限制,磨损次数越低的介质成本越低,超过颗粒磨损次数,ssd将不可写入,这个时候用户就必须更换新的ssd。
op空间和垃圾回收是由ssd主流nand flash颗粒特殊写入方式决定的,所谓op空间,是用户不可操作的容量,因为颗粒容量的大小直接与成本相关,所以op越多,ssd成本也就越高。
要提介质的性价比或者想在同样成本下具有更长的使用寿命,往往需要阵列的使用来充分降低ssd的写放大,通俗的理解为ssd颗粒留出更多的写入次数,使同样的颗粒提供更多的可用容量和更长的使用寿命。
主要原因是阵列对ssd的使用不是简单的使用单个ssd,而是一次使用一批ssd,这样可以均衡的发挥各个ssd盘片的性能和寿命,从而实现阵列层面最高的介质性价比。
对于使用ssd的用户而言,最大的担心源于ssd颗粒,因为一旦达到磨损寿命,ssd将不可写入,不仅运行的业务不可用,而且数据也有丢失的风险。
华为raid 2.0+有何来头?
raid 2.0是华为存储在传统raid基础上研发的新一代raid技术——块虚拟化,它最典型的特点是不再使用整块的硬盘作为raid基础单元,而是将硬盘切分成一定容量的小块,从不同的硬盘上选取一个小块就可以组成一个小的raid组。
样的好处是raid单元不再局限在单一盘,通过更多的盘提供输出能有更高的盘性能,而且遇到硬盘失效时,并发多盘写入可以解决重构写入瓶颈问题,理论上重构性能可以达到与参与重构盘数量同样的性能提升,比如100盘参与重构,不考虑后端接口卡限制,重构速度可以提升100倍。
raid 2.0+虽然基于raid 2.0,但又赋予了很多增强的性能,包括智能的瘦分配、盘间均衡、多种介质数据平滑流动、精简重构、故障自检等多种功能。伴随丰富的智能特性,华为raid 2.0+能够完美的发挥出ssd的性能和可靠性,提供超高的成本优势、超长的使用寿命和超高的性能。
天生为ssd优化而生
传统raid以盘为基础单位向用户提供空间,粗粒度管理,要将这些未写入空间精确而规则的告知ssd相对困难。而raid 2.0+将硬盘划分为规范的小粒度(ck)进行管理,当ck没有分配或者进行释放时,就可以通过ssd的trim命令,及时将这些没被使用的空间告知ssd。而且raid 2.0+的瘦分配实现按需分配,可以在需要的情况下才进行空间分配,这样能方便的区分出写入用户数据的空间和未写入用户数据的空间。
如之前提到,ssd具有内部垃圾回收的机制,可以形象的想象成ssd内部是一个个小房间,只有把里边的家具都搬到别的空房间,房间才能重新使用。raid 2.0+可以将没有使用的家具信息告知给ssd,减少大量的搬迁磨损,给ssd带来了寿命和性能的双重提升。
这些因为ssd内部搬移带来的额外颗粒磨损损耗了ssd颗粒的写入次数,同样的颗粒,额外搬移越多,用于承接用户的写入数据量也就越少,ssd的寿命越短。或者写入次数一样,额外搬移越多,用户需要在颗粒成本的投入会越高。
ssd的dwpd取决于颗粒类型和写放大系数,而写放大系数取决于超分配的比例,超分配比例越高写放大系数越小,同时dwpd值也越高。
在对单个ssd磨损优化的同时,raid 2.0+也会在ssd之间均衡的进行空间分配和写入,在添加ssd时,利用盘间均衡技术实现对新添加盘上的空间均衡。这里的盘间均衡分配与写入技术和ssd内部的颗粒磨损均衡是一致的原理,ssd利用颗粒的均衡磨损来延长盘片的整体使用寿命,而raid 2.0+则充分保障ssd盘间的磨损均衡,有效的避免单盘磨损过度而影响阵列的整体使用寿命,所有盘接近一致的达到寿命末期,从而实现阵列层面ssd使用寿命的提升。
阵列的单方面优化可以让ssd在可用性上得到大幅提升,但要做到阵列与ssd “天人合一”的境界,则还需要更加精深的技能,华为raid 2.0+能够实现阵列与ssd盘的完美配合能力。
raid 2.0+特有的盘上小粒度管理,配合阵列的row(写时重定向)机制,可以充分的融合阵列垃圾回收和ssd上垃圾回收,更进一步的降低盘上的写放大,提供更极致的成本优势和可靠性,使阵列数据流和ssd业务流精准配合,这些计划在华为全闪存阵列应用的最新技术,相信会让raid 2.0+与ssd这对天然的cp爆发更闪耀的光芒。
另一方面尽管ssd价格日渐降低,但还是高于传统的机械硬盘,很多用户仍然面临着ssd成本和性能的纠结。而raid 2.0+提供了数据在多种介质间天然的流动能力,用户可以根据需求灵活的选择ssd和机械硬盘的配比,在获得大幅性能提升的同时又能完美兼顾成本的苛求。
除了完美解决成本和可靠性的问题,针对ssd对大块写入的性能偏好,raid 2.0+在盘上写入io的独特缓存和汇聚设计,下发到ssd的写入io可以很好的支持大块的写入,一个基础数据是64k的随机写入带宽约为4k写入带宽的两倍左右,从而真正发挥出ssd飞驰的速度感。
而且,华为是业界唯一同时提供阵列和ssd盘片,并与主流颗粒供应商有深度合作的存储厂商,也使其在ssd领域的绝对领先地位更加不容撼动。凭借在闪存介质硬件、软件技术创新,以及产业链的全面合作,华为闪存产品和解决方案广泛应用于全球各行各业的业务系统,为俄罗斯novikombank、奥地利和记、德国爱达邮轮、中国比亚迪提供高可用、高可靠的服务,承载企业核心业务。