Non-Volatile Memory Programming Completion Detection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In non-volatile storage systems, particularly in flash memory devices, there is a challenge in accurately determining the completion of programming for multi-state memory cells, as existing methods may not effectively verify when all memory cells have reached their target threshold voltage ranges, leading to incomplete programming or unnecessary continued programming.
Innovation Solution
The solution involves a method where a series of programming voltage pulses are applied to control gates, followed by verification pulses to check if memory cells have reached their target threshold voltage ranges, and the programming process is terminated when the number of cells not yet verified is less than the number that can be corrected by error correction during a read operation, ensuring all cells are properly programmed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If programming voltage pulses are applied to program memory cells, then data is stored in the memory cells, but it is difficult to accurately determine when programming is complete for multi-state memory cells
Solution Approach 1:
The patent implements a feedback mechanism where verification pulses are applied between programming pulses to read back the state of memory cells. The read circuitry detects whether cells have reached their target threshold voltage ranges, and this information feeds back to control whether additional programming pulses are applied. This closed-loop feedback system enables accurate determination of programming completion while managing complexity through systematic verification.
Solution Approach 2:
The patent applies preliminary verification actions by checking the state of memory cells between programming pulses using verification pulses. This preliminary check determines whether cells have reached their target states before committing to additional programming cycles, allowing early termination when programming is complete and preventing unnecessary programming of already-programmed cells.
2Measurement precision
If verification pulses are applied to check memory cell states between programming pulses, then programming completion can be detected, but the number of programming pulses increases and programming time extends
Solution Approach 1:
The patent applies partial verification by checking only a subset of memory cells or using simplified verification criteria in early programming stages. This partial action approach provides sufficient information to determine programming completion without performing exhaustive verification on every cell, thereby reducing the time penalty associated with verification while maintaining adequate measurement precision.
3Reliability
If programming continues until all memory cells reach target threshold voltage ranges, then data storage reliability is improved, but programming efficiency decreases due to unnecessary continued programming
Solution Approach 1:
The feedback mechanism monitors the state of memory cells during programming and provides real-time information about programming completion. When verification indicates that all or sufficient numbers of cells have reached their target threshold voltage ranges, the feedback signal terminates further programming pulses. This prevents unnecessary continued programming of already-programmed cells, maintaining data storage reliability while improving programming throughput and efficiency.
4Productivity
If the number of programming pulses is reduced to improve efficiency, then programming speed increases, but the risk of incomplete programming increases
Solution Approach 1:
The preliminary verification action using detection pulses checks whether memory cells have reached their target states before terminating programming. This preliminary check ensures that programming completion is confirmed even when the number of programming pulses is reduced. The detection mechanism provides assurance of programming completion, maintaining reliability while allowing faster programming by avoiding excessive pulse application.
Applied Scientific Principles
This section explains which scientific principles are used to turn an abstract innovation direction into a practical engineering solution.
Function Achieved in This Case
This approach ensures that programming is complete and efficient, reducing the risk of incomplete data storage and minimizing the number of programming pulses required, thereby enhancing data reliability and storage efficiency.
Implementation Method 1
Electrons from the channel are injected into the floating gate. When electrons accumulate in the floating gate, the floating gate becomes negatively charged and the threshold voltage of the memory cell is raised
Implementation Method 2
the sense amplifier determines whether the memory cell being sensed is in a first state or a second state
Data Source
AI summary
A set of non-volatile storage elements are subjected to a programming process in order to store data. During the programming process, one or more verification operations are performed to determine whether the non-volatile storage elements have reached their target condition to store the appropriate data. Programming can be stopped when all non-volatile storage elements have reached their target level or when the number of non-volatile storage elements that have not reached their target level is less than a number or memory cells that can be corrected using an error correction process during a read operation (or other operation). The number of non-volatile storage elements that have not reached their target level can be estimated by counting the number of non-volatile storage elements that have not reached a condition that is different (e.g., lower) than the target level.


