Hilbert Curve Parity Calculation for RAID Cache Misses

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current replication schemes in storage systems are limited in their ability to sustain errors, leading to data unreadability when errors exceed a certain threshold.

Innovation Solution

A method for calculating parity values in a RAID Grid using a Hilbert curve order to minimize cache misses, allowing for efficient storage and retrieval of parity values across multiple RAID Grid locations, even when cache size is insufficient to store all values.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If current replication schemes are used for data protection, then data can be recovered from limited errors, but the system cannot sustain a significant amount of errors before data becomes unreadable

Engineering Contradiction:
Improveerror correction capabilityVSAvoiderror tolerance threshold
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent transitions from traditional one-dimensional linear RAID parity calculation to multi-dimensional RAID with Hilbert curve-based traversal. This dimensional change allows parity values to be calculated and stored across multiple dimensions (rows, columns, diagonals), significantly increasing the error tolerance threshold while maintaining reliability through enhanced data reconstruction capabilities from any failed drives.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Reliability

If parity values are calculated and stored for all RAID Grid locations, then data integrity is improved, but cache size requirements become prohibitively large

Engineering Contradiction:
Improvedata integrityVSAvoidcache memory requirement
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent segments the RAID Grid into multiple Parity Calculation Blocks (PCBs), where each PCB is a smaller sub-grid that can be processed independently. This segmentation allows parity values to be calculated and stored in smaller cache portions for each PCB, reducing the total cache memory requirement while maintaining data integrity through systematic coverage of the entire RAID Grid across multiple processing passes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary parity value calculations for each PCB before needing to reconstruct data. By pre-calculating and storing parity values in an organized hierarchical manner (with some parity values serving multiple PCBs), the system prepares error correction data in advance, reducing the need for large cache memory during normal operations while ensuring data integrity is maintained.

Inventive Principle:
Principle #10Preliminary action

3Ease of manufacture

If traditional linear traversal order is used for parity calculation, then implementation is simple, but cache misses increase significantly

Engineering Contradiction:
Improveimplementation simplicityVSAvoidparity calculation efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent introduces dynamic traversal patterns based on Hilbert curves that adapt to the spatial distribution of data in the RAID Grid. Instead of a fixed linear traversal, the Hilbert curve provides a space-filling curve that dynamically visits locations in an optimized sequence, minimizing cache misses by accessing spatially proximate data elements sequentially. This dynamic approach maintains implementation feasibility while dramatically improving parity calculation efficiency.

Inventive Principle:
Principle #15Dynamics

4Reliability

If more parity values are calculated using multiple data sets, then error correction capability is enhanced, but calculation time and processing complexity increase

Engineering Contradiction:
Improveerror correction capabilityVSAvoidparity calculation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent merges the calculation of parity values across multiple data sets by organizing them into a hierarchical PCB structure. Parity values calculated from one PCB can be reused and combined with parity values from other PCBs to reconstruct data across the entire RAID Grid. This merging approach enhances error correction capability by creating overlapping parity coverage, while reducing total calculation time by avoiding redundant computations through systematic reuse of intermediate parity results.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9152499B1Method and system for calculating parity values for multi-dimensional RAID
Publication Date: 2015.10.06 EMC IP HLDG CO LLC
  • US9152499B1 patent drawing
  • US9152499B1 patent drawing
  • US9152499B1 patent drawing

AI summary

A method for calculating parity values including calculating a first set of parity values using datum stored in RAID Grid locations in a first PCB, where datum associated with the RAID Grid locations in the first PCB is obtained in a first order that is based on a Hilbert curve. The method further includes calculating a second set of parity values using datum stored in RAID Grid locations in a second PCB, where datum associated with the RAID Grid locations in the second PCB is obtained in a second order that is based on the Hilbert curve. The method further includes storing at least a portion of the first set of parity values and a second set of parity values in a cache, memory, or persistent storage, where each of the first parity values and second parity values is associated with a separate RAID Grid location in the RAID Grid.