Interleaved Two-Pass Memory Programming Reduces Write Amplification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory systems face challenges in precisely programming threshold voltages of memory cells to store multiple bits per cell, leading to inaccurate data retrieval due to wide threshold voltage distributions and increased programming time, which affects speed and accuracy.
Innovation Solution
A two-pass programming technique is employed, where a coarse programming initially moves the threshold voltage to a wide region, followed by a fine tuning to a narrow region, using an indicator to reduce the number of bits per cell and eliminate overlap, allowing for accurate data retrieval without the need for additional buffering memory cells.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If a single-pass programming technique is used to store multiple bits per memory cell, then programming speed is improved, but threshold voltage distribution becomes wide causing inaccurate data retrieval
Solution Approach 1:
The programming process is divided into two distinct passes: a first pass that programs a first set of bits and a second pass that programs a second set of bits. This segmentation allows each pass to be optimized independently, with the first pass establishing a baseline threshold voltage distribution and the second pass refining it to achieve narrow distributions for accurate data retrieval.
Solution Approach 2:
The first pass performs preliminary programming to establish initial threshold voltage levels before the second pass refines them. By performing this preliminary action, the system creates a foundation that enables the second pass to achieve precise threshold voltage control with narrow distributions, thereby improving data retrieval accuracy.
2Measurement precision
If additional buffering memory cells are used to eliminate threshold overlap, then data retrieval accuracy is improved, but device complexity and buffer requirements increase
Solution Approach 1:
The patent extracts the threshold overlap problem from requiring additional buffering memory cells and instead addresses it through the two-pass programming methodology. By taking out the need for extra buffer cells and solving the problem through controlled programming sequences, the system reduces device complexity while maintaining data retrieval accuracy.
Solution Approach 2:
The memory cells themselves serve the dual purpose of data storage and threshold management through the two-pass programming process. The first pass programs certain bits to establish initial states, and the second pass programs additional bits to refine threshold distributions, allowing the cells to self-manage threshold overlap without external buffering assistance.
3Loss of time
If coarse programming is used to move threshold voltage to a wide region, then programming time is reduced, but data retrieval accuracy deteriorates
Solution Approach 1:
The programming process is segmented into a first pass that can use coarser programming methods to quickly establish initial threshold voltage regions, and a second pass that applies finer programming control to achieve narrow threshold distributions. This segmentation allows the system to benefit from both fast initial programming and accurate final programming.
Solution Approach 2:
The first pass performs preliminary coarse programming to quickly move threshold voltages to appropriate regions, accepting wider distributions temporarily. This preliminary action saves time, and the subsequent second pass refines the distributions to achieve the required accuracy for data retrieval.
Data Source
AI summary
In a coarse programming, the threshold voltage of the memory cell is programmed to a first level representative of N−1 bit values data according to a first mapping between combinations of values of N−1 possible bits and threshold levels. A group identification is representative of whether the first level is an odd or even numbered level in the first mapping. For a fine programming, the memory cell is read, based on the group identification, to obtain the N−1 bit values; and at least one additional bit is received to join the N−1 bit values to form at least N bit values. The threshold voltage of the memory cell is then finely programmed to a second level representative of the at least N bit values according to a second mapping between combinations of values of the at least N possible bits and threshold levels.


