RAID-6 Erasure Code Lookup for Low-Overhead Fault Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional RAID-6 systems face significant computational burdens when operating in compromised modes due to complex computations required for fault recovery, which can hinder the progress of user applications.

Innovation Solution

A computer-implemented method simplifies RAID-6 computations by using efficient arithmetic instructions and basic table lookup operations, specifically by calculating and storing erasure codes through exclusive-or operations and pre-computed lookup tables, reducing computational complexity and improving system efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional RAID-6 fault recovery mechanisms are employed to protect data, then data reliability is improved, but computational complexity increases significantly

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

Solution Approach 1:

The patent pre-computes and stores erasure code values (P and Q codes) during normal RAID-6 operation. When disk failures occur, the system retrieves these pre-computed codes and combines them with data from remaining disks to recover lost information, avoiding the need to perform complex real-time computations during failure recovery

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces erasure codes as intermediary data structures that mediate between stored data and recovery operations. These codes serve as pre-prepared mathematical representations that enable efficient reconstruction of lost data without requiring complex computations during the recovery process itself

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If complex RAID-6 computations are performed in compromised mode, then fault recovery capability is maintained, but user application performance deteriorates

Engineering Contradiction:
Improvefault recovery capabilityVSAvoiduser application performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

By pre-computing erasure codes during normal operation and storing them with the data, the system prepares recovery information in advance. During compromised mode, the system simply retrieves and combines these pre-computed codes with available data, performing minimal computations that do not significantly impact user application performance

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent divides the recovery process into separate, independent operations that can be performed in parallel. Different erasure code computations for different data blocks can proceed simultaneously, reducing the overall computational burden and improving recovery performance during compromised mode

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8296515B1RAID-6 computation system and method
Publication Date: 2012.10.23 NVIDIA CORP
  • US8296515B1 patent drawing
  • US8296515B1 patent drawing
  • US8296515B1 patent drawing

AI summary

One embodiment of the present invention sets forth a technique for performing RAID-6 computations using simple arithmetic functions and two-dimensional table lookup operations. A set of threads within a multi-threaded processor are assigned to perform RAID-6 computations in parallel on a stripe of RAID-6 data. A set of lookup tables are stored within the multi-threaded processor for access by the threads in performing the RAID-6 computations. During normal operation of a related RAID-6 disk array, RAID-6 computations may be performed by the threads using a small set of simple arithmetic operations and a set of lookup operations to the lookup tables. Greater computational efficiency is gained by reducing the RAID-6 computations to simple operations that are performed efficiently on a multi-threaded processor, such as a graphics processing unit.