两大绝招!华为将SSD寿命提升一个量级:延长30-50%

时间:2024-08-01 12:00:01分类:硬盘浏览:5

快科技6月29日报道,如今的SSD容量越来越大,企业级SSD容量已经达到30TB、60TB,甚至120TB。然而SSD的寿命一直是“致命伤”。磁盘容量越大,发生故障后丢失的数据就越多。

近日,华为数据存储发表文章,揭秘华为全闪存分布式存储让SSD盘“寿命”更长的秘诀。

首先,为什么SSD会有寿命问题?

SSD闪存实际上是由半导体元件和NAND Flash颗粒组成。通过对盘上颗粒不断的擦和写,来完成对数据的增、删、改、查。

这个过程中,颗粒捕获电子的能力会逐渐减弱,当减弱到一定程度后、也就是超过颗粒最大擦写次数,便可能出现“电子逃逸”现象,也就是硬盘写穿、数据错误、寿命耗尽。

磁盘上所有粒子能够支持的擦除和写入总数以及用户在使用过程中写入的数据量。只要后者比前者小,就可以保证寿命无忧!

因此,下面的公式一看就明白了:

两大绝招!华为将SSD寿命提升一个量级:延长30-50%

所以,想延长SSD寿命,就要减少“写放大”。

为了降低分母,减少罪魁祸首——“写放大”。写放大的意思是,比如,在写入16KB的业务数据时,呈现到盘上却变成写入64KB物理数据量,被放大了,消耗了数倍的擦写次数,加速颗粒老化。“写放大”的源头来自于以下三点:

后台垃圾回收

SSD不能被覆盖。如果要修改数据,就必须擦除粒子并重新写入。块是擦除的最小单位。当少量数据被修改时,SSD会读取原来Block上的所有有效数据,写入到新的Block位置,然后擦除原来的Block。

这个过程就像整理房间一样。你必须先把所有东西搬出旧房间,然后重新摆放到新房间。换句话说,少量的数据更新就会导致较大面积颗粒的擦除。

小I/O补齐

SSD可以读写的最小单位是Page(通常是512字节)。在用户层面写入数据时,当用户写入的I/O大小小于一个Page的容量时,为了管理,需要另外找一块数据和原来的数据拼凑在一起形成一个完整的Page size,然后写入到粒子中。 “这还不够,我们用其他人来弥补吧。”用于弥补数据的无效数据会造成写放大。

元数据变化

在SSD上,元数据是描述数据的索引,一般紧密存储在一些Block区域中。当用户频繁修改数据时,相应的每条元数据也必须被修改和重定向,从而导致多次读、写和擦除,影响整个系统。

华为OceanStor Pacific分布式存储采用创新机制——小I/O聚合,将小I/O聚合在保电内存中,然后再写入磁盘。达到一定粒度后才会写入SSD,无需小I/O。 /O完成导致的写放大。

这对于元数据的改变也非常友好。聚合的小I/O更容易集中修改,大大降低元数据被频繁擦除的概率。

同时,华为还采用了业界独创的多流技术,即智能识别数据的冷热程度并优化数据布局,减少不必要的重复擦写和数据搬移。

除了分母,也要增大分子。华为采用附加编码纠错技术,在达到标称的粒子擦除次数后不断验证或纠正数据。这完全避免了数据错误和业务错误,变相增加了粒子的擦除总数。

华为开发了——LDPC(低密度奇偶校验)算法和SmartFSP 3.0算法的更强大组合。一方面,它监视Flash介质以找到更准确的读取潜力,另一方面,它确保高性能的验证和纠错。性能,提供更准确的盘内冗余纠错精度。

一个纠得正,一个查得准,二者配合,华为就将SSD数据的误码率从10-17降低至10-18,整整降低一个数量级,延长30~50%的SSD寿命

两大绝招!华为将SSD寿命提升一个量级:延长30-50%