新书6月29日报道,如今SSD容量越来越大,企业级SSD容量已达30TB、60TB,甚至120TB。但是SSD的寿命一直都是。“致命伤”,磁盘容量越大,故障发生后,丢失的数据就越多。
近日, 华为数据存储发布文章,揭开华为全闪分布式存储,使SSD市场更加强大“长寿”的秘诀。
首先,为什么SSD会有寿命问题?
SSD闪存实际上是由半导体元件组成的,NAND Flash颗粒组成。通过不断擦拭和写入盘上的颗粒,完成数据的增加、删除、修改和检查。
在这个过程中,粒子捕获电子的能力会逐渐减弱。当它在一定程度上减弱,即超过粒子的最大擦写次数时,可能会出现“电子逃逸”现象,即硬盘写穿、数据错误、寿命耗尽。
盘上所有颗粒可以支持的总擦写次数 和 用户在使用过程中写入的数据量。只要后者小于前者,那么就能保证使用寿命无忧!
因此,下面的公式一目了然:
因此,要延长SSD寿命,就要减少“写放大”。
为了减少分母,有必要减少罪魁祸首——“写放大”。写放大意味着,例如,当写入16KB的业务数据时,它变成了64KB的物理数据量,被放大,消耗了数倍的擦写次数,加速了颗粒的老化。“写放大”来源于以下三点:
后台垃圾回收
SSD无法覆盖和写入。要修改数据,必须擦除颗粒并重新写入。Block是擦除的最小单元。修改少量数据时, SSD将原Block上的所有有效数据读取,写入新的Block位置,然后擦除原Block。
这个过程,就像整理房间一样,先把旧房间的东西都搬出来,然后放在新房间里重新安排。换句话说,少量的数据更新会导致更大面积的颗粒擦拭。
小I/O补齐
SSD可读写的最小单元是Page(通常是512个byte)。在用户层面写入数据时,当用户写入的I/O大小小小于一个Page容量时,为了管理它,需要找到另一个数据,与原始数据拼凑成一个整个Page大小,然后写入颗粒中。“这还不够,别的来凑”,这些无效数据用于收集,会导致写作放大。
元数据变化
在SSD上,元数据是描述数据的索引,通常存储在一些波纹区域。当用户频繁修改数据时,相应的每个元数据也必须被修改和重定向,导致多次阅读、写作、擦拭和移动全身。
华为OceanStorostoro Pacific分布式存储采用创新机制——小I/O聚合,在写盘前将小I/O聚合在保电内存中,只有达到一定粒度后才会写入SSD,消除了小I/O补齐造成的写作放大。
这对元数据的变化也非常友好。聚合后的小I/O更容易集中修改,大大降低了元数据被频繁擦写的概率。
同时,华为还采用了行业原创的多流技术,即智能识别数据的冷热程度,优化数据布局,减少不必要的重复擦写和数据移动。
除分母外,还应增加分子。华为采用额外的编码纠错技术,在达到颗粒标称擦写次数后,不断验证或纠正数据,完全避免数据错误和业务错误,伪装增加颗粒的总擦写次数。
华为开发了一套更强大的组合拳——LDPC(Low Density Parity Check)SmartFSPP算法和SmartFSPP 3.0算法一方面监控Flash介质,寻找更准确的读取电位,另一方面保证高性能的校准和纠错性能,提供更准确的盘内冗余纠错精度。
华为将SSD数据的误码率从10-17降低到10-18,整体降低一个数量级,延长30~50%的SSD寿命。
[本文结尾]如需转载,请务必注明出处:新书
责任编辑:朝晖
文章内容报告
还没有评论,来说两句吧...