Flash Memory Controller Read Pattern Error Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash memory devices face performance degradation due to high error rates and the need for extensive read retries, which increase processor overhead and slow down data recovery, especially when uncorrectable errors occur in page data.

Innovation Solution

A flash memory device configuration that includes a processor and a flash memory controller, which holds a read pattern specifying the order of selection for read options and executes error correction using these options to retry reads, reducing processor intervention and expediting data recovery by merging user data from multiple reads.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the processor receives the result of a read retry and issues an instruction to retry the read with a different read parameter, then the possibility to read data successfully is increased, but large overhead on the processor occurs and long time is required for the read retries

Engineering Contradiction:
Improvedata read success rateVSAvoidread retry time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The flash memory controller autonomously manages read retries by automatically selecting different read parameters from a predefined read pattern when error correction fails, without requiring processor intervention. The controller designates the next read option based on the read pattern and executes subsequent reads independently, allowing the system to serve itself during error recovery operations.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The read pattern is pre-configured with multiple read options (different read parameters) before read operations begin. When a read fails initial error correction, the controller can immediately proceed to the next predefined read option in the pattern, eliminating the need for real-time parameter selection and reducing retry time.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the processor receives the result of a read retry and further issues an instruction to retry the read with a different read parameter, then data recovery possibility is improved, but the processor overhead increases

Engineering Contradiction:
Improvedata recovery capabilityVSAvoidprocessor overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The flash memory controller independently handles the entire read retry process, including error correction attempts and subsequent reads with different parameters. The controller designates next read options and executes retries without processor involvement, transferring the recovery burden from the processor to the controller itself and reducing processor overhead.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The read retry functionality is segmented into distinct components: the processor handles initial read commands, while the flash memory controller autonomously manages error correction and retry operations. This segmentation allows the processor to focus on high-level operations while the controller handles detailed error recovery tasks.

Inventive Principle:
Principle #1Segmentation

3Reliability

If data retrieved from a given page includes an uncorrectable error, then the page data is uncorrectable and data recovery is needed, but it takes more time for a RAID function to recover the data using data in other flash memory devices

Engineering Contradiction:
Improvedata recoveryVSAvoidhigh-speed performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs error correction using multiple read options from the read pattern before resorting to RAID recovery. By pre-configuring read patterns with various parameters and attempting correction locally first, the system avoids the time-consuming RAID recovery process in many cases, preserving high-speed performance while maintaining reliability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The read pattern provides a cushion of multiple predefined read options that can be attempted before data recovery becomes necessary. This beforehand preparation with multiple read parameters creates a buffer that may resolve errors without requiring external RAID intervention, thus cushioning against performance degradation.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Data Source

PatentUS10229742B2Flash memory device
Publication Date: 2019.03.12 HITACHI VANTARA LTD
  • US10229742B2 patent drawing
  • US10229742B2 patent drawing
  • US10229742B2 patent drawing

AI summary

A flash memory controller is configured to hold a read pattern defining an order of selection of read options specifying a parameter value for a read from the flash memory chip. The flash memory controller is configured to execute error correction on data read from the flash memory chip in accordance with the read command. The flash memory controller is configured to designate a next read option specified in the read pattern to read the data from the flash memory chip in a case where all errors in the read data are not corrected by the error correction.