Multi-bit Flash Memory Programming Error Correction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Multi-bit flash memory devices face programming errors due to initial read errors caused by overlapping threshold voltage distributions and capacitive coupling effects, leading to unreliable data storage and retrieval.
Innovation Solution
A method for programming multi-bit flash memory devices that includes error detection and correction during the initial reading operation, using an error correction circuit to ensure memory cells are programmed within target threshold voltage states, and a page buffer block to manage data and error correction codes, preventing error propagation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If multi-bit data is stored in flash memory cells using threshold voltage distributions, then storage capacity per cell increases, but programming errors occur due to overlapping threshold voltage distributions and capacitive coupling effects
Solution Approach 1:
The patent performs an initial reading operation before programming the MSB page to determine the actual threshold voltage states of memory cells. This preliminary action allows the system to identify cells that may have overlapping threshold voltage distributions and adjust programming parameters accordingly, preventing programming errors caused by capacitive coupling effects.
Solution Approach 2:
The patent implements a verification operation after programming to check whether the programming was successful. The verification process uses verification voltages to read back the programmed data and compares it with the expected data. If errors are detected, the system can re-program affected cells, creating a feedback loop that ensures programming accuracy despite the presence of overlapping threshold voltage distributions.
2Measurement precision
If initial reading operation is performed to determine threshold voltage locations, then programming can proceed with reference to measured values, but read errors occur due to overlapping threshold voltage distributions
Solution Approach 1:
The patent applies different reading voltages (IRD1-IRD7) corresponding to different threshold voltage states during the initial reading operation. By using multiple discrete reading voltage levels, the system can locally distinguish between different threshold voltage states even when their distributions overlap, improving measurement precision while minimizing read errors.
Solution Approach 2:
The patent performs an initial reading operation that reads more data than strictly necessary for programming - specifically, it reads all pages including the MSB page before programming. This excessive reading allows the system to identify all threshold voltage states in advance, creating a more robust programming reference that compensates for potential read errors in overlapping regions.
3Productivity
If programming operation is performed without error correction, then programming speed is faster, but programming errors propagate and affect subsequent operations
Solution Approach 1:
The patent introduces an error correction code (ECC) as an intermediary element that is read and processed during the programming operation. The ECC serves as a mediator that detects and corrects errors in the initial reading operation, allowing the system to maintain high programming speed while ensuring data storage reliability through the verification and correction processes.
Data Source
AI summary
A method for programming a flash memory device including a plurality of memory cells, each storing multi-bit data, includes reading data from selected memory cells. An error of the read data is detected and corrected. Input program data is programmed into the selected memory cells based upon the error-corrected read data.


