MSR Erasure Code Repair Using R-Ary Trees for Multiple Node Failures

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed storage systems face inefficiencies in data repair due to multiple node failures, particularly when using high rate MSR erasure codes, as they require accessing overlapping recovery rows which can lead to insufficient parity expressions and increased I/O operations.

Innovation Solution

The implementation of m r-ary trees to determine symbol arrays for parity nodes and identify recovery rows, allowing for the selection of additional contiguous repair rows when necessary to ensure sufficient parity expressions for complete data recovery, thereby overcoming the inefficiencies associated with overlapping recovery rows.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If high rate MSR erasure codes are used for data storage, then storage efficiency is improved, but data repair becomes inefficient when multiple nodes fail due to overlapping recovery rows

Engineering Contradiction:
Improvestorage efficiencyVSAvoiddata repair efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent segments the repair process into distinct phases: identifying failed nodes, selecting appropriate repair rows from the code structure, and reconstructing data. By breaking down the complex repair operation into manageable segments, the system can efficiently handle multiple node failures even with high rate MSR codes that have overlapping recovery rows.

Inventive Principle:
Principle #1Segmentation

2Reliability

If overlapping recovery rows are accessed for multiple node repair, then data recovery is possible, but I/O operations increase beyond the minimum bound

Engineering Contradiction:
Improvedata recovery capabilityVSAvoidI/O operations
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent performs preliminary identification of failed nodes and pre-selection of repair rows before the actual data reconstruction process. By determining which recovery rows are needed in advance and organizing the repair process beforehand, the system minimizes unnecessary I/O operations during the critical data recovery phase, even when dealing with overlapping rows in high rate MSR codes.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If sufficient parity expressions are obtained for complete data recovery, then data integrity is ensured, but access complexity increases

Engineering Contradiction:
Improvedata integrityVSAvoidaccess complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements a feedback mechanism where the system continuously monitors whether sufficient parity expressions have been obtained during the repair process. Based on this feedback, the system dynamically adjusts the selection of repair rows and coordinates access to nodes, ensuring data integrity is achieved while managing access complexity through intelligent, adaptive control.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10901844B2Multiple node repair using high rate minimum storage regeneration erasure code
Publication Date: 2021.01.26 NETAPP INC
  • US10901844B2 patent drawing
  • US10901844B2 patent drawing
  • US10901844B2 patent drawing

AI summary

A distributed storage system can use a high rate MSR erasure code to repair multiple nodes when multiple node failures occur. An encoder constructs m r-ary trees to determine the symbol arrays for the parity nodes. These symbol arrays are used to generate the parity data according to parity definitions or parity equations. The m r-ary trees are also used to identify a set of recovery rows across helper nodes for repairing a systematic node. When failed systematic nodes correspond to different ones of the m r-ary trees, a decoder may select additional recovery rows. The decoder selects additional recovery rows when the parity definitions do not provide a sufficient number of independent linear equations to solve the unknown symbols of the failed nodes. The decoder can select recovery rows contiguous to the already identified recovery rows for access efficiency.