Flexible RAID Computation Device for Parallel Parity Calculation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current RAID systems face scalability challenges due to increased data storage density and disk failure rates, particularly during disk rebuild times, as they are tailored to specific RAID levels and lack flexibility in calculating redundancy.

Innovation Solution

A method and system for calculating redundancy blocks using multiple calculation units to concurrently process parity vectors based on Vandermonde matrices, allowing for flexible RAID level configurations and efficient parity calculations across different RAID levels.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If RAID systems use traditional single-parity calculation methods, then the calculation process is simple, but the system lacks flexibility for different RAID levels and cannot handle high storage density efficiently

Engineering Contradiction:
Improveflexibility for different RAID levelsVSAvoidcomplexity of redundancy calculation system
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal redundancy calculation system that can handle multiple RAID levels (RAID 5, RAID 6, RAID 10, etc.) through a single configurable architecture. The system uses programmable calculation units that can be dynamically configured to perform different parity calculation algorithms, eliminating the need for separate dedicated hardware for each RAID level while maintaining flexibility and adaptability.

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

Solution Approach 2:

The system employs dynamic configuration of calculation units that can be programmatically adjusted based on the required RAID level. The calculation units can switch between different algorithms (XOR for RAID 5, Galois field multiplication for RAID 6) and operate in parallel or sequential modes depending on the redundancy requirements, providing adaptability without fixed complexity.

Inventive Principle:
Principle #15Dynamics

2Quantity of substance

If RAID systems increase storage density, then more data can be stored, but the disk failure rate increases and rebuild time increases the risk of multiple failures

Engineering Contradiction:
Improvestorage densityVSAvoidrisk of multiple disk failures during rebuild
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The system performs preliminary redundancy calculations by pre-computing and storing parity information in the array structure. This allows the system to have redundancy information ready before failures occur, enabling faster rebuild operations that reduce the window of vulnerability to multiple failures while maintaining high storage density through efficient space utilization.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements continuous redundancy maintenance through background calculation processes that update parity information incrementally as data changes. This continuous action ensures redundancy is always current without requiring full recalculation during rebuilds, reducing rebuild time and the risk of multiple failures while preserving high storage density.

Inventive Principle:
Principle #20Continuity of useful action

3Reliability

If RAID 6 uses Galois field multiplication for dual parity, then reliability against multiple failures improves, but calculation complexity and processing time increase

Engineering Contradiction:
Improveability to recover from multiple disk failuresVSAvoidcomplexity of parity calculation
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system segments the complex Galois field multiplication calculations into multiple independent calculation units that operate in parallel. Each unit handles a portion of the parity calculation, breaking down the complex operation into manageable segments that can be processed simultaneously, reducing overall calculation time while maintaining the reliability benefits of dual parity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent replaces traditional sequential mechanical calculation processes with programmable computational units that execute Galois field operations through software-configured algorithms. This substitution allows complex mathematical operations to be performed efficiently through programmed logic rather than physical mechanical processes, reducing calculation complexity while maintaining high reliability.

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

4Reliability

If RAID reconstruction reads all other disks, then data recovery is possible, but the rebuild time is long and exposes the system to additional failure risks

Engineering Contradiction:
Improvedata recovery capabilityVSAvoiddisk rebuild time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary redundancy calculations and stores parity information in an optimized manner within the array structure. This preliminary preparation allows reconstruction to begin immediately upon failure detection without waiting for full data gathering, significantly reducing rebuild time while maintaining complete data recovery capability through the pre-positioned redundancy information.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10621045B2Flexible redundant array of independent disks (RAID) computation device
Publication Date: 2020.04.14 AMAZON TECH INC
  • US10621045B2 patent drawing
  • US10621045B2 patent drawing
  • US10621045B2 patent drawing

AI summary

A method for calculating a plurality (M) of redundancy blocks for multiple (N) data blocks of a plurality (D) of words each, the method comprises: receiving the number (M) of redundancy blocks by a calculator that comprises multiple (R) calculation units; configuring the calculator according to M and R; concurrently calculating, if M equals R, by the multiple (R) calculation units of the calculator, R sets of parity vectors, each set includes a plurality (D) of parity vectors; and calculating the plurality (M) of the redundancy blocks based on the R sets of parity vectors.