近日,华为数据存储部门发布了一篇详尽的文章,揭示了其在延长企业级SSD寿命方面取得的重大突破。这一突破使SSD的寿命延长了30%至50%,为数据存储行业带来了振奋人心的消息。
在现代存储技术迅速发展的今天,SSD的容量已达到令人惊叹的水平。例如,一些企业级SSD的容量已经高达30TB、60TB,甚至120TB。然而,尽管容量持续增加,SSD的寿命问题依然是业界面临的一大挑战。容量越大,发生故障时的影响也越严重,数据丢失的问题变得更加棘手。
华为解释了为什么SSD会有寿命问题。SSD使用的是NAND Flash颗粒,这些颗粒通过一次次的擦写操作来存储和管理数据。然而,这些颗粒在长时间的使用过程中,其捕获电子的能力会逐渐减弱。这种情况一旦达到一定程度,就会出现“电子逃逸”现象,导致数据错误和硬盘寿命耗尽。
要延长SSD的寿命,一个关键的措施就是减少“写放大”。写放大是指在写入数据时,实际写入的数据量远远超过原始数据量,从而加速了颗粒的老化。写放大的成因主要包括后台垃圾回收、I/O补齐和元数据变化这三方面,每一个因素都对硬盘寿命产生了不小的影响。
首先,在后台垃圾回收过程中,SSD无法直接覆盖旧数据,而需要擦除原有数据块并重新写入新数据块。这种操作在处理少量数据修改时,会引发对大量颗粒的擦写,造成写放大的现象。
其次,小I/O补齐也是写放大的一大原因。SSD的最小可读写单位是Page,对于不足一个Page大小的数据,系统需要额外的数据来凑齐一个完整的Page,这些补齐的数据实际是无效数据,但也会加速硬盘的擦写次数。
元数据的频繁变化是另一个导致写放大的因素。元数据在SSD中用于描述数据的索引,当用户频繁修改数据时,元数据也需要重新修改和定向,这进一步加剧了读取和擦写的频率。
针对这些问题,华为的OceanStor Pacific分布式存储系统提出了一整套解决方案。首先,华为采用了小I/O聚合技术,将小I/O在写入之前聚集在保电内存中,达到一定量后再写入SSD,极大地减少了写放大的情况。此外,华为还独创了多流技术,智能识别数据的冷热程度优化数据布局,进一步减少了不必要的重复擦写和数据搬移。
在减少写放大的同时,华为也寻找方法增大颗粒的擦写次数。他们采用了额外的编码纠错技术,即便在颗粒达到标称擦写次数后,依然能对数据进行有效的校验和修正。此外,华为开发了一套高效的LDPC(低密度奇偶校验)算法和SmartFSP 3.0算法,保证了高性能的校验纠错性能。这两种算法一方面对Flash介质进行精准监测,另一方面提供高精度的冗余纠错,减少SSD的误码率。
通过多项创新技术的协同作用,华为将SSD的误码率降低了一个数量级,并有效延长了SSD的寿命。这次技术突破不仅提升了SSD的可用性,更为未来数据存储技术的发展指明了方向。