N-way Parity Storage Array Recovery from Multiple Disk Failures
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current storage systems face challenges in recovering data from multiple concurrent disk failures within a parity group, leading to potential data loss and increased reconstruction time, especially as the number of disks increases, and existing parity schemes are inadequate for handling n-way failures effectively.
Innovation Solution
An n-way parity protection technique is implemented, configuring the storage array with m data disks and n-1 diagonal parity disks, using matrix mathematics to reconstruct data in the event of failures, ensuring up to n disk failures can be recovered by distributing parity information across row and diagonal parity bits.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional parity schemes (RAID-4/RAID-5) are used to protect against single disk failures, then data protection against single failure is achieved, but the system cannot recover from multiple concurrent disk failures
Solution Approach 1:
The invention segments the parity protection into multiple independent dimensions by introducing diagonal parity stripes with different slopes (0, 1, -1) in addition to horizontal parity stripes. Each stripe type provides independent protection against failures in specific patterns, enabling the system to recover from multiple concurrent failures that would overwhelm traditional single-dimension parity schemes
Solution Approach 2:
The invention transitions from traditional single-dimension horizontal parity stripes to a multi-dimensional parity structure by adding diagonal stripes with various slopes. This dimensional expansion creates multiple independent parity paths, allowing the system to protect against and recover from multiple concurrent disk failures that would be impossible to handle with conventional single-dimension parity
2Reliability
If more parity disks are added to protect against multiple failures, then recovery capability from n-way failures is improved, but computation requirements and reconstruction time increase
Solution Approach 1:
The invention applies local quality by assigning different slope values to different diagonal parity stripes, creating specialized parity paths optimized for specific failure patterns. Each diagonal stripe with a particular slope provides targeted protection, allowing the system to efficiently reconstruct data from multiple failures without requiring computation across all parity disks, thereby reducing reconstruction time while maintaining high reliability
3Quantity of substance
If the number of disks in the array increases to provide more storage capacity, then storage capacity is improved, but the probability of multiple concurrent failures increases
Solution Approach 1:
The invention implements universality by creating a multi-slope diagonal parity structure that provides comprehensive protection against various failure patterns simultaneously. The parity system with multiple slope values can handle single failures, double failures, and even triple failures across different disk combinations, making the system universally robust against multiple concurrent failures regardless of array size, thus maintaining reliability as storage capacity increases
Data Source
Figure 1
Figure 2
Figure 3
AI summary
An n-way parity protection technique enables recovery of up to n storage device (e.g., disk) failures in a parity group of a storage array encoded to protect against n-way disk failures. The storage array is created by first configuring the array with m data disks, where m=p-l and p is a prime number and a row parity disk, n-1 diagonal parity disks are then added to the array. Each diagonal parity set (i.e., diagonal) is associated with a slope that defines the data and row parity blocks of the array that are included in the diagonal. All diagonals having a common slope within a parity group are organized as a diagonal parity class. For each diagonal parity class, a diagonal parity storage disk is provided to store the diagonal parity.