当前位置: 华文世界 > 数码

即刻全闪·第一期|华为如何让SSD大盘寿命无忧

2024-06-28数码

众所周知

有数据的地方,就有存储

有存储的地方,就有闪存介质

随着AIGC、大数据、数据湖

等数据分析型应用的涌现

为了容纳 海量非结构化数据

分布式存储 在全闪化演进中

逐渐担当大任

因此

今天的SSD也是

越!做!越!大!

小小一块企业级硬盘

目前容量已达30TB、60TB的、甚至120TB……

然而

光存得下可不够

在分布式存储全闪化演进中

SSD的寿命

是最常被大伙儿提起的问题,

不怕一万,就怕万一

越大容量的盘,出现故障后

丢失的数据就越多!

问题都看到了,那么如何来解决呢?

别着急!【即刻全闪】这就为你安排~

本期为您揭秘,

华为全闪分布式存储

让SSD大盘更「长寿」的秘诀

视频加载中...

干货太多,笔记不好整理?

小编都为你齐刷刷准备好了~

要点1

为什么SSD会有寿命问题?

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

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

SSD盘是一个全局、均衡的系统。因此,SSD盘的寿命机制决定于: 盘上全部颗粒可支持的总擦写次数 和 使用期间用户写入的数据量 。只要后者小于前者,那么就能保证寿命无忧!

因此,下面这个公式就能一目了然:

要点2

想延长SSD寿命,就要减少「写放大」

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

后台垃圾回收

SSD是无法覆盖写的,要想修改数据必须擦除颗粒、重新写入,Block就是擦除的最小单元。当少量数据修改时, SSD就会将原Block上的全部有效数据读取后,写入新的Block位置,再擦除原Block。

这个过程,就像整理房间一样,要先把老房间的东西全部搬出来,再放到新房间里重新布置。换句话说,少量的数据更新,会引发更大面积颗粒的擦写。

小I/O补齐

SSD可读写的最小单元是Page(一般是512个byte)。在用户层面写入数据时,当用户写入的I/O大小不足一个Page容量,为了能管理它,就需要额外寻找另一份数据,来和原数据拼凑成一整个Page的大小,再写入到颗粒中。「这个不够、别的来凑」,这用来凑齐的无效数据,就会造成写放大。

元数据变化

在SSD上,元数据是描述数据的索引,一般紧密地存放在一些Block区域。当用户在频繁修改数据时,对应的每份元数据也必须跟着被修改、重定向,造成多次读写、擦写,牵一发而动全身。

懂得了病因,华为是如何治病的?

华为 OceanStor Pacific 分布式存储采用了一个创新的机制——小I/O聚合,将小I/O在写盘前聚合在保电内存中,只有达到一定粒度后才会写入SSD,消除了小I/O补齐导致的写放大。

这对元数据变化也非常友好。聚合后的小I/O更容易被集中修改,极大减少元数据被频繁擦写的概率。

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

要点3

想延长SSD寿命,还要会纠错

除了分母,我们也要增大分子。华为是采用额外的编码纠错技术,在达到颗粒的标称擦写次数后,对数据持续校验或修正,彻底避免数据错误、业务出错,变相地增大了颗粒的总擦写次数。

华为开发了一套更加强大的组合拳—— LDPC(Low Density Parity Check) 算法与 SmartFSP 3.0 算法,一方面对Flash介质进行监测,寻找更精确的读取电位,另一方面保证高性能的校验纠错性能,提供更加精准的盘内冗余纠错精度。

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

SSD寿命

是分布式存储在全闪化的进程中

必须要回答的命题

为了让客户放心地把数据存在华为存储上

华为下的功夫,也远不止于此

更多的技术揭秘

已在路上