MSR Erasure Code Repair for Multiple Failed Storage Nodes

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 failed nodes correspond to different m r-ary trees, leading to insufficient parity expressions and increased repair bandwidth, which complicates the recovery of systematic nodes.

Innovation Solution

The implementation of a high rate MSR erasure code that constructs m r-ary trees to determine symbol arrays for parity nodes, identifies recovery rows across helper nodes, and selects additional repair rows to ensure sufficient parity expressions for complete symbol recovery, even in cases of multiple node failures with overlapping recovery rows.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If traditional erasure codes are used for node repair, then storage efficiency is maintained, but repair bandwidth increases significantly when multiple nodes fail

Engineering Contradiction:
Improvestorage efficiencyVSAvoidrepair bandwidth
Core Design Contradiction:
Quantity of substanceVSLoss of energy

Solution Approach 1:

The patent segments the repair process into distinct phases: identifying failed nodes, determining their corresponding trees, checking for overlapping recovery rows, and selectively accessing additional rows. This segmentation allows the system to optimize repair bandwidth by only performing additional row accesses when necessary, rather than always accessing all potential helper nodes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic adjustment of repair operations based on the configuration of failed nodes. The system dynamically determines whether additional recovery rows are needed by checking if failed nodes correspond to different trees and whether their recovery rows overlap. This dynamic approach adapts the repair bandwidth consumption to the actual failure scenario, reducing unnecessary data transmission.

Inventive Principle:
Principle #15Dynamics

2Reliability

If additional repair rows are accessed to ensure sufficient parity expressions, then symbol recovery completeness is improved, but I/O operations exceed the minimum bound

Engineering Contradiction:
Improvesymbol recovery completenessVSAvoidI/O operations
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies partial action by selectively accessing additional repair rows only when the initial recovery rows are insufficient. The system checks whether failed nodes correspond to different trees and whether their recovery rows overlap, then performs additional I/O operations only in the cases where necessary to achieve sufficient parity expressions, rather than always performing exhaustive I/O operations.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent implements a feedback mechanism where the system continuously monitors the sufficiency of recovered parity expressions during the repair process. When the initial recovery rows do not provide enough linearly independent equations, the system feedbacks this information and triggers additional row accesses to obtain the necessary parity expressions, ensuring complete symbol recovery.

Inventive Principle:
Principle #23Feedback

3Adaptability or versatility

If recovery rows from different trees are combined, then repair capability for multiple failed nodes is improved, but complexity of determining sufficient parity expressions increases

Engineering Contradiction:
Improverepair capabilityVSAvoidcomplexity of determining sufficient parity expressions
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-organizing the storage system into multiple trees during the encoding phase, with each node assigned to a specific tree and having pre-determined recovery rows. When multiple nodes fail, the system can immediately check whether the failed nodes correspond to different trees and whether their recovery rows overlap, without needing to perform complex real-time analysis of all possible recovery combinations.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3504623B1Multiple node repair using high rate minimum storage regeneration erasure code
Publication Date: 2023.04.26 NETAPP INC
  • EP3504623B1 patent drawingFigure 1
  • EP3504623B1 patent drawingFigure 2
  • EP3504623B1 patent drawingFigure 3

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.