Adaptive Flash Memory Programming Voltage Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional Incremental Step Pulse Programming (ISPP) in NAND flash memory devices uses a fixed starting program voltage throughout the life cycle, leading to inefficient programming due to a cycling guard band, resulting in longer program times at the beginning of life and potential over-programming at the end of life, especially in technologies with more than four levels.
Innovation Solution
An adaptive programming method that adjusts the starting program voltage based on detected cell programming speed using a trial program voltage, incrementally increasing the voltage until the target state is reached, allowing for varying voltage settings throughout the life cycle to optimize programming time.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a fixed starting program voltage is used throughout the life cycle, then programming reliability is maintained (avoiding over-programming at EOL), but programming time increases (especially at BOL)
Solution Approach 1:
The patent applies dynamics by transitioning from a fixed starting program voltage to a dynamic voltage selection mechanism. The system determines the appropriate starting voltage based on the current PE cycle count, allowing the voltage to adapt as the memory device ages. This resolves the contradiction by enabling high voltage at BOL for fast programming while using lower voltage at EOL for reliable programming.
Solution Approach 2:
The patent changes the parameter of starting program voltage based on the PE cycle count. By monitoring the cycle count and selecting different voltage levels (e.g., first starting voltage for low cycle counts, second starting voltage for high cycle counts), the system optimizes programming time at different stages of the device lifecycle while maintaining reliability.
2Reliability
If a low starting program voltage is selected to avoid over-programming at EOL, then programming reliability is maintained, but programming speed decreases at BOL and MOL
Solution Approach 1:
The patent changes the starting voltage parameter based on the PE cycle count. At low cycle counts (BOL), a higher first starting voltage is used for fast programming. At high cycle counts (EOL), a lower second starting voltage is used to prevent over-programming. This dynamic parameter adjustment resolves the speed-reliability contradiction.
Solution Approach 2:
The system dynamically adjusts the starting voltage based on the current operational state (PE cycle count). This dynamic approach allows the system to optimize for speed when the device is new and for reliability when the device is aged, eliminating the need to consistently use a conservative low voltage.
3Speed
If a high starting program voltage is used to reduce programming time at BOL, then programming speed increases, but over-programming occurs at EOL
Solution Approach 1:
The patent implements parameter changes by selecting different starting voltages based on the PE cycle count. A higher first starting voltage is applied when the cycle count is below a threshold (BOL conditions) to achieve fast programming. When the cycle count exceeds the threshold (EOL conditions), a lower second starting voltage is used to prevent over-programming. This resolves the speed-reliability contradiction.
Solution Approach 2:
The patent segments the programming operation into two distinct modes based on the PE cycle count threshold. The first mode uses a high starting voltage for fast programming when cycles are low. The second mode uses a low starting voltage for reliable programming when cycles are high. This segmentation allows optimization for different operational phases without compromise.
Data Source
AI summary
According to an adaptive programming method for flash memories, the cell programming speed is detected by programming a number of cells using a fixed trial program voltage. A starting program voltage Vstart is then adjusted based on the detected cell programming speed. The ISPP is then carried out using the adjusted value for Vstart.


