Parity Data Encoding for RAID Authentication and Error Correction

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 computational complexity and hardware requirements, and they fail to prevent silent data corruptions throughout the memory and storage hierarchy.

Innovation Solution

A practical erasure coding system that uses a single precomputed encoding matrix for byte-level RAID processing, supports up to 256 drives, and includes a fast solution matrix algorithm for Reed-Solomon codes, enabling efficient data verification, error correction, and compression with parallel processing power.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If erasure coding systems use more than two check drives, then data redundancy and reliability improve, but computational complexity and hardware requirements become impractical

Engineering Contradiction:
Improvedata redundancyVSAvoidcomputational complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the encoding matrix into smaller blocks that can be processed independently and in parallel. By dividing the large matrix operations into manageable segments, the computational complexity is reduced while maintaining the ability to handle multiple check drives for enhanced redundancy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent precomputes and stores encoding matrices in advance, so that during actual encoding operations, the system only needs to perform simple matrix-vector multiplications rather than complex real-time computations. This preliminary action significantly reduces the computational burden when using multiple check drives.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If erasure coding systems use more than two check drives, then data redundancy improves, but hardware requirements become impractical

Engineering Contradiction:
Improvedata redundancyVSAvoidhardware requirements
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent uses software-based encoding matrices that can be copied and stored in memory, replacing the need for specialized hardware circuits. This allows the system to achieve high redundancy with standard hardware components, making it practical to use more than two check drives.

Inventive Principle:
Principle #26Copying

3Productivity

If the system processes data at byte-level with precomputed encoding matrices, then processing speed improves, but memory requirements increase

Engineering Contradiction:
Improveprocessing speedVSAvoidmemory requirements
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent uses different encoding matrices for different portions of data (different stripes), allowing each segment to be processed independently with its own optimized matrix. This local approach enables byte-level processing speed while managing memory usage by loading only the necessary matrix portions into memory.

Inventive Principle:
Principle #3Local quality

4Reliability

If the system tolerates more drive failures, then reliability improves, but the complexity of error correction increases

Engineering Contradiction:
Improvedrive failure toleranceVSAvoiderror correction complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent designs a universal encoding matrix structure that can handle various numbers of failed drives through the same basic decoding algorithm. The same precomputed matrices serve multiple functions for different failure scenarios, reducing the complexity of error correction while maintaining high reliability.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS10268544B2Using parity data for concurrent data authentication, correction, compression, and encryption
Publication Date: 2019.04.23 STREAMSCALE INC
  • US10268544B2 patent drawing
  • US10268544B2 patent drawing
  • US10268544B2 patent drawing

AI summary

A system for software error-correcting code (ECC) protection or compression of original data using ECC data in a first memory is provided. The 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 software ECC protection or compression includes: a data matrix for holding the original data in the first memory; a check matrix for holding the ECC data in the first memory; an encoding matrix for holding first factors in the main memory, the first factors being for encoding the original data into the ECC data; and a thread for executing on the processing core. The thread includes a Galois Field multiplier for multiplying entries of the data matrix by an entry of the encoding matrix, and a sequencer for ordering operations using the Galois Field multiplier to generate the ECC data.