Hierarchical Erasure Coding for Multi-Array Failure Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data storage systems face challenges in efficiently recovering erasures across multiple replicas, particularly in optimizing redundancy and correcting erasures in a hierarchical approach that maximizes minimum distance, especially in scenarios involving multiple storage devices and data centers.

Innovation Solution

A computer-implemented method using erasure-correcting codes that protect arrays with horizontal, vertical, and local parities, allowing for the recovery of erasures by determining the value of erased entries based on non-erased symbols, and incorporating shared parities to correct multiple erasures within and across devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If hierarchical approach with global parities is used to correct multiple device failures, then reliability is improved, but device complexity increases

Engineering Contradiction:
Improveability to correct multiple device failuresVSAvoidcomplexity of parity structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system segments the storage array into multiple groups, where each group is protected by local parities. This segmentation allows independent correction of failures within each group while reducing the overall complexity compared to a single global parity system covering all devices.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a hierarchical structure with multiple dimensions of protection: local parities at the group level, and global parities at the array level. This multi-dimensional approach enables correction of multiple simultaneous failures by operating at different hierarchical levels, improving reliability without requiring a single complex global solution.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Reliability

If multiple parities are used to maximize minimum distance, then erasure correction capability is improved, but redundancy increases

Engineering Contradiction:
Improveerasure correction capabilityVSAvoidamount of redundancy
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

Different regions (groups) of the storage array are protected by different parity structures tailored to their specific failure patterns. Local parities provide targeted protection for sector failures within groups, while global parities handle device-level failures, optimizing the balance between correction capability and redundancy usage.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system dynamically selects which parity structure to use based on the type and number of failures detected. For single failures, local parities are used; for multiple failures, global parities are invoked. This parameter-based selection optimizes the trade-off between correction capability and redundancy consumption.

Inventive Principle:
Principle #35Parameter changes

3Speed

If first responder corrects sector failures using only vertical parity, then correction speed is improved, but correction capability is limited

Engineering Contradiction:
Improvecorrection speedVSAvoidcorrection capability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

Vertical parities are pre-computed and stored for each group, enabling immediate correction of single sector failures without invoking global parities. This preliminary preparation allows fast correction for common failure patterns while reserving global parities for more complex multi-failure scenarios.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The correction process is dynamic: the system first attempts correction using the faster local vertical parities, and only if that fails to correct all errors does it proceed to use the global parities. This dynamic approach optimizes correction speed for typical cases while maintaining full correction capability for edge cases.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11474898B2Multiple responder approach to systems with different types of failures
Publication Date: 2022.10.18 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11474898B2 patent drawing
  • US11474898B2 patent drawing
  • US11474898B2 patent drawing

AI summary

A computer implemented method for recovering erased entries within a system of arrays includes identifying a system consisting of a plurality of arrays, wherein each array consists of m rows and n columns of entries, each entry is divided into p symbols consisting of a plurality of bits, protecting the m rows and n columns of entries in the system with an erasure-correcting code allowing the recovery of a number of erased entries in such rows and columns, detecting an erasure corresponding to an entry in the identified system, and, responsive to detecting an erasure, determining the value of the erased entry according to the p symbols of one or more non-erased entries.