Parallel RAID Recovery for Flash Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current RAID recovery methods in flash memory devices are inefficient, as they require significant time to correct uncorrectable errors due to sequential processing, which increases error correction times and affects data reliability.

Innovation Solution

A method and apparatus that perform parallel or predictive recovery operations by reading data chunks with uncorrectable errors from nonvolatile memory devices, selecting sub-stripes with parity, and executing either a flash recovery operation or a RAID recovery operation based on predicted completion times or resource impact, to minimize overall recovery time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If sequential RAID recovery operations are performed after ECC recovery fails, then uncorrectable errors can be corrected using parity information, but the error correction time increases significantly

Engineering Contradiction:
Improveerror correction capabilityVSAvoidrecovery time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs RAID recovery operations in parallel with ECC recovery operations, rather than sequentially after ECC fails. By initiating the RAID recovery process (reading sub-stripes and computing parity) simultaneously with ECC recovery, the system prepares correction data in advance, significantly reducing the total recovery time while maintaining the ability to correct uncorrectable errors

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent maintains continuous useful action by running ECC recovery and RAID recovery operations concurrently rather than waiting for one to complete before starting the other. This parallel execution ensures that both recovery mechanisms are actively working simultaneously, maximizing resource utilization and minimizing the overall time to restore data integrity

Inventive Principle:
Principle #20Continuity of useful action

2Reliability

If RAID recovery is performed after ECC recovery, then comprehensive error correction is achieved, but the maximum error correction time increases

Engineering Contradiction:
Improveread error correctionVSAvoidcorrection duration
Core Design Contradiction:
ReliabilityVSDuration of action of moving object

Solution Approach 1:

The system performs preliminary RAID recovery operations (reading sub-stripes, computing parity information) while ECC recovery is still in progress. This preliminary action ensures that correction data is prepared in advance, allowing the system to immediately apply corrections without waiting for ECC recovery to complete, thereby reducing the total correction duration

Inventive Principle:
Principle #10Preliminary action

3Loss of time

If parallel recovery operations are performed, then recovery time is reduced, but system complexity increases

Engineering Contradiction:
Improverecovery timeVSAvoidrecovery process complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent segments the recovery process into distinct, independently executable components: ECC recovery operations and RAID recovery operations. Each segment can be executed in parallel without interfering with the other, simplifying the control logic while achieving time reduction. The segmentation allows each recovery mechanism to operate autonomously according to its own timeline

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10467094B2Method and apparatus for performing data recovery in a raid storage
Publication Date: 2019.11.05 SAMSUNG ELECTRONICS CO LTD
  • US10467094B2 patent drawing
  • US10467094B2 patent drawing
  • US10467094B2 patent drawing

AI summary

A recovery method and apparatus for use in a redundant array of independent disks (RAID) storage device is provided that includes a plurality of nonvolatile memory devices. The recovery method includes: reading a data chunk, in which an uncorrectable error occurs, from the plurality of nonvolatile memory devices, selecting a plurality of sub-stripes including a parity and excluding the data chunk, and performing, in parallel, a first recovery operation of adjusting a read level to recover the data chunk and a second recovery operation of processing the plurality of sub-stripes to recover a sub-stripe including the data chunk. The parallel performance of the first and second recovery operations is completed according to an earlier completion of one of the first and second recovery operations.