NAND Flash Error Correction via Bit Error Indicators

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

NAND flash storage systems face data bit errors due to wear from program-erase cycles and read operations, leading to reduced write and read endurance, and increased probability of data corruption from read disturbance.

Innovation Solution

A data storage system that uses a bit error indicator to correct data bit errors, extending the error correction capacity of error correction codes and reducing the need for program-erase cycles by modifying data bits based on the indicator, thereby enhancing data integrity and storage block lifespan.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If program-erase cycles are performed to write data to memory pages, then data can be stored in the memory page, but wear to the storage block increases and write endurance decreases

Engineering Contradiction:
Improvedata storage capabilityVSAvoidwrite endurance
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The system performs preliminary error detection and correction actions by reading data, detecting errors, and correcting them before the next write operation. This preliminary maintenance reduces the accumulation of wear and extends the storage block's usable life, allowing more program-erase cycles before replacement is needed.

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If read operations are performed on memory pages, then data can be accessed randomly from any memory page, but wear to the memory page increases and read endurance decreases

Engineering Contradiction:
Improverandom access capabilityVSAvoidread endurance
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The memory system performs self-diagnosis and self-correction by continuously monitoring for read disturbances and automatically correcting errors detected during read operations. This self-maintenance service compensates for the wear caused by random access operations, extending the read endurance without limiting random access capability.

Inventive Principle:
Principle #25Self-service

3Productivity

If read operations are performed on memory pages, then data can be read, but read disturbance occurs and data bit errors increase temporarily

Engineering Contradiction:
Improvedata read operationVSAvoiddata accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system implements feedback by detecting read disturbance errors during read operations and using the error correction code to automatically correct the corrupted data bits. This closed-loop feedback mechanism maintains data accuracy even when read operations cause temporary disturbances, ensuring continuous reliable data access.

Inventive Principle:
Principle #23Feedback

4Reliability

If error correction codes are used to correct data bit errors, then data integrity is improved, but the error correction capacity is limited and cannot handle all types of errors

Engineering Contradiction:
Improvedata integrityVSAvoiderror correction capacity
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The error correction system is segmented into multiple functional stages: first-stage correction for single-bit read disturbance errors using bit error indicators, and second-stage correction for multiple-bit errors using error correction codes. This segmentation allows the system to handle a broader range of error types by dividing the correction task into specialized stages, effectively extending the overall error correction capacity.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8694855B1Error correction code technique for improving read stress endurance
Publication Date: 2014.04.08 IP GEM GRP LLC
  • US8694855B1 patent drawing
  • US8694855B1 patent drawing
  • US8694855B1 patent drawing

AI summary

A data storage device reads a data unit from a memory page, detects a number of data bit errors in the data unit, and generates a bit error indicator identifying bit indexes of the data bit errors in the data unit. The data storage device reads the data unit from the memory page once again and generates a corrected data unit by correcting data bit errors in the data unit based on the error correction code if the number of data bit errors in the data unit does not exceed an error correction capacity of the error correction code. Otherwise, the data storage device generates a modified data unit based on the data unit by negating at least one erroneous data bit the data unit based on the bit error indicator and corrects any remaining data bit errors in the modified data unit based on the error correction code.