Multi-Level Cell Programming Method Using Incremental Step Pulses
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing incremental step pulse programming (ISPP) schemes for multi-level cells (MLCs) face challenges in precisely programming MLCs to target levels due to intrinsic variability, leading to over-programming and improper control of resistance level spreads.
Innovation Solution
A programming method that applies a sequence of incremental step set and reset pulses to precisely set the resistance of MLCs within a target range, using a lookup table to adjust pulse parameters based on previous programming conditions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If incremental step pulse programming (ISPP) scheme is used to program MLC to target level, then programming speed is improved, but over-programming beyond target level occurs due to intrinsic variability
Solution Approach 1:
The programming process is segmented into multiple incremental steps with different pulse amplitudes and durations. Instead of applying a single programming pulse, the system applies a sequence of smaller pulses (first, second, third programming pulses) with progressively adjusted parameters, allowing precise control over the resistance change and preventing over-programming while maintaining reasonable programming speed.
Solution Approach 2:
The programming scheme dynamically adjusts pulse parameters (amplitude, duration) based on the current resistance state and target level. The system adapts the programming pulse characteristics in real-time during the programming process, allowing the same programming operation to achieve precise results across MLCs with different intrinsic variabilities.
2Device complexity
If ISPP scheme is used with fixed pulse parameters, then programming process is simple, but spread of each resistance level cannot be controlled properly
Solution Approach 1:
The system changes multiple programming parameters including pulse amplitude, pulse duration, and pulse sequence based on the target resistance level and current state. By adjusting these parameters dynamically, the system achieves precise control over resistance level spread while maintaining a systematic programming approach that is not excessively complex.
3Quantity of substance
If middle range of memory window is used for programming, then data storage density is improved, but control in middle range is limited resulting in low number of storable levels
Solution Approach 1:
The programming process for middle-range levels is segmented into multiple incremental steps with different pulse characteristics. This segmentation enables fine-grained control of resistance changes in the middle memory window range, allowing multiple discrete levels to be stored with sufficient separation for reliable reading, thereby increasing data storage density without sacrificing control capability.
Data Source
AI summary
A programming method of a memory device is introduced. The programming method includes determining that a resistance of a multi-level cell is greater than an upper limit of a target range; sequentially applying incremental step set pulses to the multi-level cell until the resistance of the multi-level cell is in the target range or until the resistance of the multi-level cell passes a lower limit of the target range; recording a last set pulse applied to the multi-level cell in a look- up table, when the resistance passes the lower limit of the target range; determining an incremental step reset pulses based on a last reset pulse in the look-up table; and sequentially applying incremental step reset pulses to the multi-level cell until the resistance of the multi-level cell is in the target range or until the resistance of the multi-level cell is beyond the upper limit of the target range.


