Multi-bit Non-volatile Memory Cell Programming via Threshold Voltage Distribution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional flash memory devices face challenges in efficiently programming and verifying multi-bit data in non-volatile memory cells, particularly in accurately setting and verifying threshold voltage distributions for storing multiple bits of data.
Innovation Solution
A method for programming non-volatile memory cells that uses a series of operations to set and verify threshold voltages within specific distributions, allowing for the programming of multi-bit data using an m-bit process, where m is less than n, by mapping multi-bit codes to corresponding threshold voltage distributions and using verifying voltages to ensure accurate programming.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If conventional flash memory programming methods are used to store multiple bits in one cell, then data storage capacity increases, but programming complexity and operation time increase significantly
Solution Approach 1:
The programming operation is divided into multiple stages, where each stage programs one bit of the multi-bit data. For a 3-bit data storage, three separate programming operations are performed, with each operation targeting a specific bit position and using predefined voltage pulse sequences. This segmentation reduces the complexity of each individual operation while achieving the overall goal of storing multiple bits.
Solution Approach 2:
Before the actual programming operation, the system performs preliminary actions including selecting the appropriate programming sequence based on the data value, preparing control signals, and positioning the memory cell in the correct state. This preliminary preparation streamlines the subsequent programming operations and reduces overall complexity.
2Measurement precision
If multiple programming operations are performed to set threshold voltage distributions, then data storage accuracy improves, but programming time increases
Solution Approach 1:
The programming process uses periodic voltage pulse sequences applied in a systematic order. Each programming operation uses a standardized pulse pattern that can be repeated efficiently. By using periodic actions with optimized pulse widths and intervals, the system achieves accurate threshold voltage setting without excessive delays between operations.
Solution Approach 2:
The system changes programming parameters such as voltage levels, pulse widths, and timing intervals based on the specific bit position and desired threshold voltage distribution. This parameter optimization allows each programming operation to be as fast as possible while maintaining the required accuracy for the specific data value being stored.
3Ease of operation
If conventional single-bit programming processes are used, then operation simplicity is maintained, but storage efficiency decreases
Solution Approach 1:
The programming system is designed to handle both single-bit and multi-bit data storage using the same fundamental mechanism. The control logic is universal and can accommodate different data sizes by simply changing the number of operations performed. This multi-functionality maintains operational simplicity for single-bit cases while enabling efficient multi-bit storage when needed.
Solution Approach 2:
The programming operation is dynamic rather than static - the system automatically adjusts the number of programming operations performed based on the data value and storage requirements. For single-bit data, only one operation is executed, while for multi-bit data, multiple operations are performed in sequence. This dynamic adaptation maintains simplicity for simple cases while achieving high storage efficiency for complex cases.
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 method enables efficient programming and verification of multi-bit data in non-volatile memory cells, reducing the complexity of operations required to program data of n bits, and ensures accurate data storage by utilizing a 2-bit programming process to achieve 3-bit data storage without the need for complex programming processes.
Implementation Method 1
The cell transistor of the flash memory may be programmed or erased by an F-N tunneling mechanism
Implementation Method 2
As a result, electrons in the floating gate may be emitted to the bulk by an F-N tunneling effect
Implementation Method 3
Electrons may be supplied to the floating gate of the cell transistor, thereby increasing a threshold voltage of the programmed cell transistor
Data Source
Figure 1A~1B
Figure 2
Figure 3
AI summary
A method of programming a non-volatile memory cell includes programming a first bit of multi-bit data by setting a threshold voltage of the non-volatile memory cell to a first voltage level within a first of a plurality of threshold voltage distributions. A second bit of the multi-bit data is programmed by setting the threshold voltage to a second voltage level based on a value of the second bit. The second voltage level is the same as the first voltage level if the second bit is a first value and the second voltage level is within a second of the plurality of threshold voltage distributions if the second bit is a second value. A third bit of the multi-bit data is programmed by setting the threshold voltage to a third voltage level based on a value of the third bit.