MDS Array Codes for Low-Overhead RAID Rebuilding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current RAID storage systems face inefficiencies in read and write operations and rebuilding processes due to complex parity computations, particularly as the size of RAID storage systems increases, necessitating more efficient storage codes to manage large-scale data storage effectively.
Innovation Solution
The development of systematic (n,k) MDS array codes with optimal rebuilding ratios, specifically intersecting zigzag sets codes, which use linear combinations of information symbols to construct parity symbols, allowing for efficient rebuilding of failed nodes with minimal data access and simple computations, achieving a rebuilding ratio of 1/r for r erasures.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional MDS codes are used for RAID storage systems, then storage efficiency and data protection are improved, but parity computation complexity and rebuilding time increase
Solution Approach 1:
The patent segments the parity computation process by organizing data into distinct blocks and computing parity independently for each block. This allows parallel processing of parity computations across multiple blocks, reducing overall complexity and enabling efficient rebuilding operations when using MDS codes for data protection.
2Productivity
If conventional MDS codes are used for RAID storage systems, then storage efficiency is improved, but rebuilding time and computational overhead increase
Solution Approach 1:
The patent performs preliminary organization of data into structured blocks with pre-defined parity relationships before storage. This preliminary structuring enables faster rebuilding operations by allowing the system to directly compute recovered data from pre-positioned parity blocks without complex real-time computations, thus reducing rebuilding time while maintaining high storage efficiency through optimal MDS code utilization.
3Quantity of substance
If RAID array size increases to meet large-scale storage demands, then storage capacity is improved, but code efficiency and operation performance deteriorate
Solution Approach 1:
The patent divides large-scale RAID arrays into multiple independent data blocks, each processed with efficient MDS codes. This segmentation allows the system to scale storage capacity by simply adding more blocks while maintaining code efficiency through consistent, optimized processing of each individual block, avoiding the performance degradation that would occur with monolithic code processing of entire large arrays.
Data Source
AI summary
MDS (maximum distance separable) array codes are widely used in storage systems to protect data against erasures. The rebuilding ratio problem is addressed and efficient parity codes are proposed. A controller as disclosed is configured for receiving configuration data at the controller that indicates operating features of the array and determining a parity code for operation of the array according to a permutation, wherein the configuration data specifies the array as comprising nodes defined by A=(ai,j) with size rm×k for some integers k,m, and wherein for T={v0 , . . . , Vk-1} ⊂Zrm a subset of vectors of size k, where for each v=(v1, . . . , vm)∈T, gcd (v1, . . . , vm, r), where gcd is the greatest common divisor, such that for any l, 0≦l≦r−1, and v ∈T, the code values are determined by the permutation fvl:[0,rm−1]→[0,rm−1]by fvl(x)=x+lv.


