Interleaved Two-Pass Memory Cell Programming for Threshold Precision
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory systems face challenges in precisely programming threshold voltages of memory cells to store multiple bits of data, leading to inaccurate data retrieval due to wide regions of threshold distribution and increased programming time.
Innovation Solution
A two-pass programming technique is employed, where a memory cell is initially coarsely programmed to a wide region and then finely tuned to a narrow region, using a group indicator to reduce the number of possible threshold levels and eliminate overlaps, allowing for accurate data retrieval with reduced resources and increased storage capacity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If a single-pass programming technique is used to program memory cells, then programming time is reduced, but threshold voltage precision deteriorates leading to wide threshold distribution regions
Solution Approach 1:
The programming operation is divided into two distinct passes: a first pass that performs coarse programming to establish initial threshold voltage regions, and a second pass that performs fine programming to precisely adjust threshold voltages within those regions. This segmentation allows each pass to be optimized independently, with the first pass prioritizing speed and the second pass prioritizing precision, thereby resolving the contradiction between programming time and threshold voltage precision.
Solution Approach 2:
The first pass of programming performs a preliminary coarse programming operation that establishes initial threshold voltage regions before the second pass refines these regions. This preliminary action creates a foundation that reduces the complexity of the second pass, allowing for precise threshold voltage adjustment without requiring the entire programming operation to be performed at high precision from the beginning, thus reducing overall programming time while maintaining precision.
2Quantity of substance
If multiple bits are stored per memory cell using coarse programming, then storage capacity increases, but data retrieval accuracy deteriorates due to overlapping threshold regions
Solution Approach 1:
The threshold voltage range is segmented into multiple discrete levels, with each level representing a specific bit value. The first pass programs memory cells to these discrete levels, and the second pass refines the threshold voltages within each level to eliminate overlaps. This segmentation allows multiple bits to be stored per cell while maintaining distinct, non-overlapping threshold regions for accurate data retrieval.
Solution Approach 2:
The second pass of programming uses feedback from the first pass to adjust and refine threshold voltages. By measuring the actual threshold voltage distribution after coarse programming and using this feedback to guide the fine programming adjustments, the system eliminates overlapping regions and ensures accurate data retrieval while maintaining high storage capacity through multi-bit per cell operation.
3Speed
If threshold voltage regions are widened to accommodate coarse programming, then programming speed increases, but read errors increase due to insufficient distinction between adjacent levels
Solution Approach 1:
The programming process is segmented into two stages: coarse programming that rapidly establishes broad threshold voltage regions for high speed, and fine programming that narrows these regions to eliminate overlaps and ensure accurate reading. This segmentation allows the system to achieve both high programming speed in the first pass and high read accuracy in the second pass by optimizing each stage for its specific requirement.
Solution Approach 2:
The first pass performs a preliminary coarse programming operation that quickly establishes initial threshold voltage regions, prioritizing speed. The second pass then uses this preliminary structure to perform targeted fine programming adjustments that narrow the regions and eliminate overlaps, ensuring read accuracy. This preliminary action allows the system to achieve high speed without sacrificing accuracy, as the fine programming refines the coarse structure.
Data Source
AI summary
A memory system to store multiple bits of data in a memory cell. After receiving the data bits, a memory device coarsely programs a threshold voltage of the memory cell to a first level representative of a combination of values of the data bits according to a mapping between combinations of values of bits and threshold levels. The threshold levels are partitioned into a plurality of groups, each containing a subset of the threshold levels. XOR (or XNOR) is used to combine the data bits into bits of a group identification of a first group, among the plurality of groups, that contains the first level. The memory device reads, using the group identification, the data bits back from the first memory cell to finely program the threshold voltage of the memory cell to represent the data bits.


