Parallel Erasure Coding Matrices for Multi-Drive RAID Fault Tolerance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Erasure coding systems are impractical for RAID systems with more than two check drives due to complex calculations and high computational complexity, making them inefficient for handling multiple drive failures.

Innovation Solution

A practical erasure coding system that uses a single precomputed encoding matrix for byte-level RAID processing, supporting up to 256 drives, and implements a fast solution matrix algorithm for Reed-Solomon codes, reducing computational overhead and leveraging parallel processing to generate and reconstruct data efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If erasure coding is implemented with more than two check drives, then data redundancy and fault tolerance are improved, but computational complexity and processing time increase significantly

Engineering Contradiction:
Improvefault toleranceVSAvoidcomputational complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent precomputes and stores encoding matrices and solution matrices before actual data encoding or decoding operations. These precomputed matrices contain all necessary transformation coefficients for erasure coding, allowing the system to quickly lookup and apply them during runtime without performing complex calculations on-demand. This preliminary preparation resolves the contradiction by shifting computational burden from runtime to setup phase.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent divides the large-scale erasure coding problem into smaller matrix operations that can be processed independently. By segmenting the encoding and decoding processes into discrete matrix multiplication and inversion operations, the system can optimize each segment separately and process them in parallel, reducing overall computational complexity while maintaining fault tolerance capabilities.

Inventive Principle:
Principle #1Segmentation

2Reliability

If erasure coding with multiple check drives is implemented, then data protection against drive failures is improved, but processing speed and efficiency deteriorate

Engineering Contradiction:
Improvedata protectionVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system precomputes solution matrices that are required for decoding operations before actual data recovery is needed. These precomputed solution matrices contain all the mathematical transformations required to recover lost data, enabling rapid decoding when drive failures occur without performing time-consuming matrix inversions during the recovery process itself.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent replaces complex mechanical-like computational processes with optimized mathematical operations. By substituting iterative numerical methods with closed-form matrix solutions and leveraging linear algebra properties, the system achieves faster processing speeds while maintaining the same level of data protection and recovery capability.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Reliability

If traditional erasure coding algorithms are used, then error correction capability is maintained, but computational overhead and resource consumption increase

Engineering Contradiction:
Improveerror correction capabilityVSAvoidcomputational overhead
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent precomputes and caches encoding matrices and solution matrices during system initialization or idle periods, transferring the computational overhead from active data operations to setup phases. This allows the system to maintain full error correction capability while reducing real-time computational overhead and energy consumption during actual encoding and decoding operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates and stores copies of encoding matrices and solution matrices in memory or cache, allowing repeated use without recomputation. These matrix copies serve as lookup tables that can be rapidly accessed during encoding and decoding operations, significantly reducing computational overhead and energy consumption compared to recalculating matrices for each operation.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11736125B2Accelerated erasure coding system and method
Publication Date: 2023.08.22 STREAMSCALE INC
  • US11736125B2 patent drawing
  • US11736125B2 patent drawing
  • US11736125B2 patent drawing

AI summary

An accelerated erasure coding system includes a processing core for executing computer instructions and accessing data from a main memory, and a non-volatile storage medium for storing the computer instructions. The processing core, storage medium, and computer instructions are configured to implement an erasure coding system, which includes: a data matrix for holding original data in the main memory; a check matrix for holding check data in the main memory; an encoding matrix for holding first factors in the main memory, the first factors being for encoding the original data into the check data; and a thread for executing on the processing core. The thread includes: a parallel multiplier for concurrently multiplying multiple entries of the data matrix by a single entry of the encoding matrix; and a first sequencer for ordering operations through the data matrix and the encoding matrix using the parallel multiplier to generate the check data.