Adaptive Flash Memory Programming via Row-Specific Parameter Tuning
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional flash memory devices face inefficiencies in programming due to varying degradation states and cycle counts across different rows and sectors, leading to inconsistent programming quality and increased programming time.
Innovation Solution
The method involves adaptive programming techniques, including Incremental Step pulse Programming and row-based adaptive programming, where programming parameters are adjusted based on situational characteristics such as degradation state, cycle count, and row-specific characteristics to optimize programming efficiency and accuracy.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If conventional uniform programming is applied to all flash memory units, then the programming process is simple to implement, but programming quality becomes inconsistent across different rows and sectors
Solution Approach 1:
The patent applies local quality by dividing the flash memory into multiple rows and sectors, then applying different programming parameters (such as different pulse voltages, pulse widths, or number of pulses) to different rows or sectors based on their specific degradation states and cycle counts. This ensures each region is programmed with optimal parameters tailored to its condition, improving programming quality consistency across the entire device.
Solution Approach 2:
The patent implements dynamics by making the programming parameters adaptive and variable rather than fixed. The programming parameters are dynamically adjusted based on real-time or pre-characterized degradation states and cycle counts of different rows and sectors. This dynamic adaptation allows the programming process to respond to varying conditions across the flash memory device.
2Productivity
If adaptive programming parameters are adjusted for each row and sector, then programming efficiency is improved, but the complexity of controlling the programming process increases
Solution Approach 1:
The patent applies preliminary action by pre-characterizing the degradation states and cycle counts of different rows and sectors before the actual programming operation. This pre-characterization data is stored and used to determine the appropriate programming parameters in advance, so that when programming is needed, the optimal parameters are already selected, reducing the real-time control complexity while maintaining high efficiency.
Solution Approach 2:
The patent implements self-service by enabling the flash memory device to automatically select and apply appropriate programming parameters based on its own internal state (degradation and cycle count). The device uses its own stored characterization data to make programming decisions without requiring complex external control, thereby improving efficiency while managing complexity through self-autonomy.
3Manufacturing precision
If programming parameters are optimized for each flash memory unit, then programming accuracy is enhanced, but the time required for programming increases
Solution Approach 1:
The patent applies partial or excessive action by selectively applying detailed adaptive programming only to those rows or sectors that require it based on their degradation states and cycle counts. For regions with similar or mild characteristics, simplified or uniform programming parameters may be used, avoiding the full overhead of adaptive programming everywhere. This selective approach maintains accuracy where needed while reducing overall programming time.
Solution Approach 2:
The patent segments the flash memory device into multiple independent rows and sectors that can be programmed separately with different parameters. This segmentation allows parallel processing where multiple rows or sectors are programmed simultaneously with their respective optimized parameters, thereby maintaining high programming accuracy for each segment while reducing total programming time through parallel execution.
Data Source
AI summary
A method for programming data into a first plurality of rows within a second plurality of erase sectors of a flash memory device using a programming process having at least one selectable parameter, the method includes characterizing each of at least one row subsets, each row subset comprising at least one row from among said first plurality of rows, thereby to generate at least one row subset characteristic value; and programming data into at least a portion of at least one individual row belonging to at least one row subset, using a programming process having at least one selectable parameter, said at least one selectable parameter being set at least partly in accordance with the row subset characteristic value characterizing a row subset to which said individual row belongs; wherein at least two row subsets of an array of flash memory cells differ from each other by their row subset characteristic values.


