Non-Volatile Memory Cell Programming to Minimize Overshoot
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing split gate non-volatile memory cell programming techniques face inefficiencies in simultaneously programming multiple cells to different states, leading to issues such as overshoot and increased programming time, which affect accuracy and efficiency.
Innovation Solution
A method involving coarse (fast) and fine (slow) programming phases, where memory cells are initially programmed to a higher target current within specific cell groups, followed by a slower phase to achieve precise target read currents, reducing the risk of overshoot and increasing programming efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If conventional programming techniques are used to program multiple memory cells to different states, then programming can be performed, but programming time increases and accuracy decreases due to overshoot
Solution Approach 1:
The programming process is segmented into multiple phases: a first programming phase that programs memory cells to a first state, followed by a second programming phase that programs subset(s) of cells to different states. This segmentation allows different programming parameters to be applied at different stages, improving both accuracy and time efficiency.
Solution Approach 2:
The first programming phase performs preliminary programming of all memory cells to a common first state before the second phase applies specific programming parameters to subset(s) of cells to achieve their final states. This preliminary action establishes a baseline state that reduces overshoot in subsequent programming.
2Productivity
If programming pulses are applied to multiple memory cells simultaneously, then programming efficiency improves, but overshoot occurs reducing programming accuracy
Solution Approach 1:
Memory cells are divided into groups where a first group is programmed in the first phase, and subset(s) of remaining cells are programmed in the second phase. This segmentation enables simultaneous programming of multiple cells while controlling overshoot through phase-based parameter adjustment.
Solution Approach 2:
Different programming parameters (voltage, current, pulse duration) are applied in the first phase versus the second phase. The first phase uses parameters suitable for bulk programming, while the second phase uses adjusted parameters optimized for precision programming of specific subsets, thereby maintaining both efficiency and accuracy.
Data Source
AI summary
A method of programming non-volatile memory cells comprising determining a target read current for respective ones of the memory cells based upon incoming data, associating respective ones of the memory cells with a respective one of a plurality of cell groups based upon the determined target read current for the respective memory cell being within a target read current range associated with the respective cell group, fast programming respective ones of the memory cells to a coarse target read current associated with the cell group to which the respective memory cell is associated, wherein the coarse target read current for respective ones of the cell groups is greater than the target read current range for the respective cell group, and then slow programming respective ones of the memory cells until the target read current determined for the respective memory cell is achieved.


