Erasure Coding with Precomputed Matrices for Multi-Drive RAID

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 hardware requirements, limiting their effectiveness in handling multiple drive failures and increasing storage costs.

Innovation Solution

A practical erasure coding system that uses a single precomputed encoding matrix for up to 256 drives, incorporating a parity drive and a fast solution matrix algorithm for Reed-Solomon codes, allowing for efficient check data generation and data reconstruction with reduced computational overhead, leveraging parallel processing to handle larger numbers of drives.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If erasure coding is used with more than two check drives, then reliability against multiple drive failures is improved, but computational complexity and hardware requirements increase significantly

Engineering Contradiction:
Improvetolerance to drive failuresVSAvoidcomputational complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent precomputes and stores encoding matrices in lookup tables before runtime. When encoding or decoding is needed, the system simply retrieves the precomputed matrix from memory rather than performing complex calculations, thus maintaining high reliability with minimal computational overhead during operation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent replaces complex polynomial multiplication and matrix inversion operations with simple table lookup operations. By substituting the mechanical computation process with a memory access process, the system achieves the same reliability benefits without the associated computational complexity.

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

2Reliability

If erasure coding with multiple check drives is implemented, then data protection against failures is improved, but storage cost and processing time increase

Engineering Contradiction:
Improvedata protection capabilityVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Encoding matrices are precomputed and stored in lookup tables during system initialization or offline processing. During actual data encoding or recovery operations, the system performs rapid table lookups instead of complex real-time calculations, significantly reducing processing time while maintaining strong data protection capabilities.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses lookup tables that contain precomputed encoding matrices as copies of the computational results. Instead of recalculating matrices during operation, the system retrieves stored copies, enabling fast encoding and decoding operations with enhanced data protection.

Inventive Principle:
Principle #26Copying

3Reliability

If complex erasure coding algorithms are used for multiple check drives, then fault tolerance is improved, but ease of implementation deteriorates

Engineering Contradiction:
Improvefault toleranceVSAvoidease of implementation
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The complex encoding matrices are precomputed during system setup or offline processing and stored in lookup tables. During runtime, the implementation becomes trivial - simply retrieving and applying the precomputed matrices from memory - thus achieving high fault tolerance with exceptional ease of implementation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent substitutes complex polynomial arithmetic and matrix operations with simple memory access and vector multiplication operations. This replacement transforms a difficult-to-implement algorithm into a straightforward process that can be easily coded and maintained while providing robust fault tolerance.

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

Data Source

PatentUS10666296B2Accelerated erasure coding system and method
Publication Date: 2020.05.26 STREAMSCALE INC
  • US10666296B2 patent drawing
  • US10666296B2 patent drawing
  • US10666296B2 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.