Erasure Coding Parity Matrix With Diagonal Patterns

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing erasure coding techniques are inefficient and complex, particularly when addressing multiple storage unit failures, as they require significant computational resources and storage overhead, and are not well-suited for software-defined storage systems where hardware failures are not independent.

Innovation Solution

Implementing multiple sets of parity data, where the number of parity sets corresponds to the number of failures to be tolerated, using independently computed parity blocks and diagonal parity configurations, which allows for efficient protection against multiple failures without the need for prime numbers in calculations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If Reed-Solomon erasure coding is used to protect against multiple disk failures, then fault tolerance is improved, but computational complexity and storage overhead increase significantly

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

Solution Approach 1:

The patent segments the erasure coding process into multiple independent parity calculations using different line patterns (horizontal, diagonal, anti-diagonal). Each parity set is computed independently using simple XOR operations rather than complex Reed-Solomon mathematics, dividing the problem into manageable segments that can be processed separately

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the mathematical approach from Reed-Solomon finite field arithmetic to simple binary XOR operations. By changing the computational parameter from complex polynomial arithmetic to bitwise XOR, the system maintains fault tolerance while dramatically reducing computational complexity

Inventive Principle:
Principle #35Parameter changes

2Reliability

If Reed-Solomon erasure coding is used to protect against multiple disk failures, then fault tolerance is improved, but storage overhead increases

Engineering Contradiction:
Improvefault toleranceVSAvoidstorage overhead
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent computes multiple sets of parity data (horizontal, diagonal, anti-diagonal) beyond the minimum single parity set, creating redundant parity information that enables efficient recovery from multiple simultaneous failures without requiring excessive storage overhead. This partial redundancy approach optimizes the balance between storage cost and recovery capability

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If conventional erasure coding is used for multiple failures, then protection capability is improved, but recovery efficiency deteriorates

Engineering Contradiction:
Improveprotection capabilityVSAvoidrecovery efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the data and parity into multiple independent line patterns distributed across storage units. When failures occur, the system can selectively use only the relevant parity lines needed for recovery rather than processing all parity data, significantly improving recovery efficiency by avoiding unnecessary computations

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent pre-computes and stores multiple sets of parity data in different line patterns during the data writing phase. This preliminary action ensures that when failures occur, the appropriate parity information is already available and organized for efficient recovery without requiring complex real-time computations

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9672106B2Architecture for implementing erasure coding
Publication Date: 2017.06.06 NUTANIX INC
  • US9672106B2 patent drawing
  • US9672106B2 patent drawing
  • US9672106B2 patent drawing

AI summary

A method for implementing erasure coding, including identifying a plurality of storage units, determining a number of storage unit failures to be tolerated, organizing data within the plurality of storage units as a matrix of rows and columns for computing one or more parity data, configuring the matrix to include one or more additional rows having preset values, computing the one or more parity data from the matrix that corresponds to the number of storage unit failures to be tolerated, wherein the one or more parity data comprises a row parity, a first diagonal parity, and a second diagonal parity, wherein the one or more additional rows having the preset values are used to compute the first diagonal parity and the second diagonal parity; and wherein the first diagonal parity comprises a different slope from the second diagonal parity.