Adaptive Programming for Nonvolatile Memory Cells
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Flash memory cells face challenges in programming multiple bits due to variations in programming characteristics and performance, leading to inefficiencies in programming time and accuracy, especially when storing four or more bits, as well as difficulties in achieving high data I/O rates and accurate read operations.
Innovation Solution
Adaptive programming methods that adjust programming voltages and pulse widths based on the performance of individual memory cells, using segmented word lines for independent control and variable verify operations to ensure accurate and efficient programming and reading of multi-bit data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If programming operations use higher applied programming voltages to program slow memory cells, then programming speed of slow cells improves, but programming accuracy of fast memory cells deteriorates due to rapid threshold voltage changes
Solution Approach 1:
The patent applies dynamics by making the programming voltage adaptive rather than fixed. The control circuit dynamically adjusts the programming voltage based on the measured programming characteristics of each memory cell, allowing the voltage to change in real-time during the programming process. This resolves the contradiction by enabling high voltage for slow cells only when needed, while maintaining appropriate voltage levels for fast cells to ensure accuracy.
Solution Approach 2:
The patent changes the programming voltage parameter adaptively based on measured cell characteristics. By measuring the threshold voltage change rate and adjusting the programming voltage accordingly, the system optimizes both speed and accuracy. Fast cells receive lower voltages to prevent overshooting, while slow cells receive higher voltages to accelerate programming, resolving the speed-accuracy tradeoff.
2Manufacturing precision
If programming operations are designed for fast memory cells to achieve required threshold voltage accuracy, then programming accuracy improves, but programming time for slow memory cells becomes unacceptably long
Solution Approach 1:
The system changes the programming voltage parameter based on measured cell characteristics. Fast cells are programmed with lower voltages and shorter times to achieve accurate threshold voltage levels, while slow cells receive higher voltages and extended programming durations. This adaptive parameter adjustment ensures both accuracy and acceptable programming time across all cell types.
Solution Approach 2:
The programming operation becomes dynamic rather than static, with the control circuit adjusting voltage and time parameters in real-time based on measured cell performance. This allows the system to optimize programming time for fast cells while providing sufficient time and voltage for slow cells, eliminating the need to design for the worst-case scenario only.
3Device complexity
If the same programming operation is applied to all memory cells, then device complexity is reduced, but programming performance varies significantly between fast and slow cells
Solution Approach 1:
The patent implements feedback by measuring the programming characteristics of each memory cell and using this information to adjust subsequent programming operations. The control circuit measures threshold voltage changes during programming and uses this feedback to adapt the programming voltage and timing, ensuring consistent performance across fast and slow cells while adding only moderate complexity through automated measurement and adjustment.
Solution Approach 2:
The system performs self-characterization by automatically measuring the programming characteristics of each cell during manufacturing or initialization. This self-service approach allows the memory array to program itself optimally without external intervention, achieving consistent performance across varying cell speeds while keeping the programming methodology relatively simple.
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
The adaptive programming approach allows for efficient and accurate programming of both fast and slow memory cells, improving data I/O rates and manufacturing yield by optimizing programming voltages and read operations, thereby addressing the limitations of existing technologies.
Implementation Method 1
known programming mechanisms including Channel Hot Electron (CHE) injection
Implementation Method 2
known programming mechanisms including Channel Hot Electron (CHE) injection and Fowler-Nordheim (FN) tunneling
Data Source
AI summary
Adaptive write operations for non-volatile memories select programming parameters according to monitored programming performance of individual memory cells. In one embodiment of the invention, programming voltage for a memory cell increases by an amount that depends on the time required to reach a predetermined voltage and then a jump in the programming voltage is added to the programming voltage required to reach the next predetermined voltage. The adaptive programming method is applied to the gate voltage of memory cells; alternatively, it can be applied to the drain voltage of memory cells along a common word line. A circuit combines the function of a program switch and drain voltage regulator, allowing independent control of drain voltage of selected memory cells for parallel and adaptive programming. Verify and adaptive read operations use variable word line voltages to provide optimal biasing of memory and reference cells during sensing.


