Error Repair Location Cache for NAND Flash Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

As memory systems scale geometrically and use multi-level bit storage, error correction codes (ECC) face challenges in increasing memory area and system latency due to decreased signal margins and non-random memory errors caused by physical coupling issues and defects, particularly in NAND Flash memories.

Innovation Solution

The system detects error-prone locations, stores failure data, and flips the state of the most likely failure-prone bit when ECC saturates, allowing for repeated ECC execution to improve correction probability without increasing memory area or latency, using an error repair location cache to guide the process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If Error Correction Code (ECC) is used to correct memory errors, then memory reliability is improved, but memory area and READ latency increase

Engineering Contradiction:
Improvememory reliabilityVSAvoidmemory area
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs preliminary action by detecting and recording error-prone locations during initial memory operations. The error-prone location cache stores information about bits that are likely to fail, allowing the system to proactively flip these bits before they cause actual errors. This preliminary identification and correction approach improves memory reliability without requiring additional ECC overhead during normal operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The error-prone location cache acts as an intermediary between the memory array and the ECC system. Instead of directly increasing ECC capacity, the cache provides intermediate information about which locations are prone to errors. This intermediary structure allows the system to target corrections efficiently, improving reliability without proportionally increasing the memory area dedicated to error correction.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If Error Correction Code (ECC) is used to correct memory errors, then memory reliability is improved, but READ latency increases

Engineering Contradiction:
Improvememory reliabilityVSAvoidREAD latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary action by detecting and recording error-prone locations during initial memory operations. The error-prone location cache stores information about bits that are likely to fail, allowing the system to proactively flip these bits before they cause actual errors. This preliminary identification and correction approach improves memory reliability without requiring additional ECC overhead during normal operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The error-prone location cache enables the memory system to self-service by automatically identifying and correcting its own errors without external intervention. When the cache detects an error-prone location, it automatically flips the corresponding bit, allowing the memory to correct its own errors without requiring additional ECC processing time during reads, thus maintaining low latency while improving reliability.

Inventive Principle:
Principle #25Self-service

3Quantity of substance

If multi-level bit storage is used to increase storage capacity, then memory density is improved, but signal margins decrease leading to more errors

Engineering Contradiction:
Improvestorage capacityVSAvoidsignal margins
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The system performs preliminary action by detecting and recording error-prone locations during initial memory operations. The error-prone location cache stores information about bits that are likely to fail, allowing the system to proactively flip these bits before they cause actual errors. This preliminary identification and correction approach improves memory reliability without requiring additional ECC overhead during normal operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The error-prone location cache implements a feedback mechanism where information about failed or error-prone bits is captured and used to improve future operations. When errors occur in multi-level bit storage, the cache records these locations and uses this feedback to proactively correct similar errors in the future, compensating for the reduced signal margins inherent in high-density storage.

Inventive Principle:
Principle #23Feedback

4Reliability

If ECC capacity is increased to correct more errors, then error correction capability is improved, but memory area and system complexity increase

Engineering Contradiction:
Improveerror correction capabilityVSAvoidECC overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The error-prone location cache applies local quality by focusing error correction resources on specific locations that are proven to be error-prone, rather than uniformly increasing ECC capacity across the entire memory. The cache identifies and targets only the problematic bits, allowing standard ECC to handle the majority of cases while the cache provides specialized correction for difficult cases, thus improving capability without proportionally increasing overall complexity.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system uses partial action by implementing error correction only where needed through the error-prone location cache, rather than applying full-strength ECC to all memory operations. The cache provides additional correction capability selectively for identified error-prone locations, avoiding the overhead of universally increasing ECC capacity while still improving overall error correction capability where it matters most.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9477548B2Error repair location cache
Publication Date: 2016.10.25 NXP USA INC
  • US9477548B2 patent drawing
  • US9477548B2 patent drawing
  • US9477548B2 patent drawing

AI summary

A method for repairing a memory includes executing an Error Correction Code (ECC) for a page of the memory. The page includes a plurality of bits having an inherent number of failed bits equal to or greater than zero. The ECC is configured to correct a correctable number of failed bits from the plurality of bits. A location of a failure prone bit in the page is determined from a cache in response to the correctable number of failed bits being less than the inherent number of failed bits. A state of the failure prone bit is changed to a new state in response to determining the location of the failure prone bit. The ECC is executed in response to the state of the failure prone bit being changed to the new state.