Nested Erasure Coding for Flash Array Hard-Error Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash storage devices face challenges in data protection due to higher likelihood of hard errors compared to HDDs, especially near the end of their write endurance or data retention life, which can lead to catastrophic device failures and latent errors, making existing RAID systems like RAID 5 and RAID 6 inefficient in handling these errors.

Innovation Solution

A nested multiple erasure correcting code system is implemented, where data is encoded using horizontal and vertical erasure codes across multiple rows and columns of pages, allowing recovery from multiple erasures in any row, reducing the need for dedicated parity devices and enhancing storage efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If RAID 6 is used to protect against double catastrophic disk failures, then data protection reliability is improved, but storage efficiency deteriorates due to dedicating an entire second device for parity

Engineering Contradiction:
Improvedata protection reliabilityVSAvoidstorage efficiency
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent segments the parity protection into multiple components distributed across different devices rather than concentrating it in a single dedicated parity device. Each device stores both data and parity information, with parity calculated across multiple devices, allowing flexible recovery without requiring a dedicated second device for parity storage.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements nested error correction codes where inner codes correct errors within individual devices and outer codes correct errors across devices. This nested structure allows multiple levels of protection to coexist, enabling recovery from multiple failures without proportionally increasing storage overhead.

Inventive Principle:
Principle #7Nested doll (Nesting)

2Quantity of substance

If RAID 5 is used for protecting information stored in flash devices, then storage efficiency is maintained, but reliability deteriorates when latent hard errors occur combined with catastrophic failures

Engineering Contradiction:
Improvestorage efficiencyVSAvoiddata protection reliability
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent performs preliminary error correction by pre-calculating and storing parity information across multiple devices before failures occur. The nested code structure is pre-configured to handle both single device failures and combined hard error scenarios, enabling proactive protection rather than reactive recovery.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the error correction parameters by implementing variable-rate parity distribution where different devices contribute different amounts of parity information based on their failure probability and impact. This allows optimization for the specific failure modes of flash storage while maintaining storage efficiency.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If nested multiple erasure correcting codes are used to protect against multiple erasures and hard errors, then data protection reliability is improved, but device complexity increases

Engineering Contradiction:
Improvedata protection reliabilityVSAvoidencoding complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the complex error correction algorithm into independent inner and outer code modules. The inner codes handle local error correction within each device, while outer codes handle global error correction across devices. This segmentation allows each module to be implemented and optimized independently, reducing overall system complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces intermediate parity calculations that serve as mediators between the data and the final error correction. These intermediate parity values simplify the error correction process by breaking down complex multi-error scenarios into manageable steps, reducing the computational complexity required for recovery operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20120221926A1Nested Multiple Erasure Correcting Codes for Storage Arrays
Publication Date: 2012.08.30 SK HYNIX INC
  • US20120221926A1 patent drawing
  • US20120221926A1 patent drawing
  • US20120221926A1 patent drawing

AI summary

Embodiments of the invention relate to storing data in a storage array. An aspect of the invention includes receiving write data. The write data is arranged into “r” rows and “n” columns of pages, with each page including a plurality of sectors. The write data is encoded using a plurality of horizontal and vertical erasure correcting codes on the pages. The encoding allows recovery from up to tr erasures in any one of the r rows, up to tr-1 erasures in any one of the remaining r−1 rows, up to tr-2 erasures in any one of the remaining r−2 rows, and so on, such that the encoding allows recovery from up to t1 erasures in the last remaining row. Encoded write data is output from the encoding. The encoded write data is written as a write stripe across n storage devices in a storage array.