AI Siri网 8 月 19 日消息,在传统的分布式存储系统中,当硬盘发生故障时,系统会使用诸如 EC(Erasure Coding)纠删码等冗余校验机制,利用其他节点的正常硬盘和数据,在后台跨节点重构故障硬盘上的数据。
然而,随着 SSD 容量不断提升,大型 SSD 需要重构的数据量大幅增加,通常是 4 到 8 倍,重构时间也相应延长。
在这个漫长的重构周期内,不仅会占用 25% 的存储带宽,影响业务性能,而且更重要的是,系统将处于可靠性下降状态,数据面临随时丢失的风险。
为了解决这一难题,华为推出了全闪分布式存储,对 SSD 的故障区域进行局部隔离,最大限度地避免了以往的整个硬盘范围重构。
针对 SSD 内部 DDR 芯片故障,华为创新性地采用了 TRR(Tiny Region Reconstruction,最小范围重构)算法,通过盘控深度协作,精准识别和上报失效区域映射的逻辑地址,然后通知存储系统,屏蔽受影响的局部数据。
这个过程就像在硬盘上进行“精确雕刻”一样,然后在新的位置精确重构这部分数据。这样就避免了以前整盘重构,让其他正常数据免受影响,将重构数据量减少了数百倍,整个过程仅需几分钟就能完成。
针对 NAND Flash 芯片故障,华为也采用了自主研发的“盘内 RAID 算法”,将盘上所有数据以 Die 为单位建立 RAID 组冗余校验。通过这种方式,将故障范围精准缩小到 Die 级,利用其他正常的 Die,通过盘内计算引擎恢复出正确的数据。
这项技术的强大之处在于,这个过程可以不断重复,允许 Die 逐个失效,持续缩列甚至缩容,而不丢失任何数据。这个操作完全在 SSD 内部完成,上层存储系统无需干预,完全不知道底层发生的这些变化。
即使遇到多个 Die 同时失效或整个颗粒失效的极端情况,SSD 单盘也会尽力保护数据。存储系统会立即启动 TRR 算法,进行局部数据的“雕刻”和“填坑”,实现精准屏蔽并进行计划性预拷贝重构。