MSR Erasure Code Repair for Multiple Failed Storage Nodes
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
Data Source
Figure 1
Figure 2
Figure 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.