Saw-tooth Programming Waveform for NAND Flash Noise Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
As memory devices continue to be scaled down in size, accurate programming becomes increasingly difficult due to the challenges of controlling program noise and maintaining precise threshold voltage distributions in non-volatile semiconductor memories like NAND flash memory.
Innovation Solution
A programming waveform using sets of sub-pulses with a saw-tooth shape is applied, where multiple adjacent sub-pulses are used without intermediate verify operations, followed by a final verify operation, and the number of sub-pulses per set is gradually reduced towards the end of the programming operation to minimize program noise and maintain performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If traditional programming pulses with intermediate verify operations are used, then programming accuracy can be maintained, but program noise increases and manufacturing precision deteriorates
Solution Approach 1:
The programming waveform is segmented into multiple adjacent sub-pulses within each programming pulse. Instead of using a single programming pulse, the patent divides it into several sub-pulses that are applied in sequence without intermediate verify operations. This segmentation allows the programming process to accumulate charge more precisely while reducing the noise generated by each individual pulse, thereby resolving the contradiction between programming accuracy and program noise.
2Reliability
If the number of sub-pulses per set is kept constant throughout programming, then programming consistency is maintained, but programming time increases and productivity decreases
Solution Approach 1:
The patent dynamically adjusts the number of sub-pulses per set during the programming operation. Initially, more sub-pulses are used to ensure precise programming when the threshold voltage distribution is still broad. As programming progresses and the distribution tightens, fewer sub-pulses are used per set, reducing the total programming time. This dynamic adjustment maintains programming consistency while improving productivity.
3Measurement precision
If intermediate verify operations are performed between each sub-pulse, then programming precision is improved, but programming time increases and productivity decreases
Solution Approach 1:
The patent implements verify operations periodically rather than after every sub-pulse. Multiple adjacent sub-pulses are applied in sequence without intermediate verification, and a single verify operation is performed after the complete set of sub-pulses. This periodic verification approach maintains programming precision by checking the cumulative effect of multiple sub-pulses while significantly reducing the time lost to verify operations compared to verifying after each individual sub-pulse.
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 approach effectively reduces program noise while minimizing performance impact by using time-saving intermediate level stepping and adaptively adjusting the number of sub-pulses, ensuring accurate programming and maintaining tight threshold voltage distributions even in smaller scale memory devices.
Implementation Method 1
Vpgm is applied to the control gate and the bit line is grounded, causing electrons from the channel of a storage element to be injected into the floating gate
Implementation Method 2
The threshold voltage (Vth) of the transistor thus formed is controlled by the amount of charge that is retained on the floating gate
Data Source
AI summary
In a memory system, a programming waveform reduces program noise by using sets of multiple adjacent sub-pulses which have a saw-tooth shape. In a set, an initial sub-pulse steps up from an initial level such as 0 V to a peak level, then steps down to an intermediate level, which is above the initial level. One or more subsequent sub-pulses of the set can step up from an intermediate level to a peak level, and then step back down to an intermediate level. A last sub-pulse of the set can step up from an intermediate level to a peak level, and then step back down to the initial level. A verify operation is performed after the set of sub-pulses. The number of sub-pulses per set can decrease in successive sets until a solitary pulse is applied toward the end of a programming operation.


