Non-Volatile Memory Cell Programming with Read-Current Grouping
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Manufacturing process variations cause cell-to-cell variations in program efficiency of split-gate non-volatile memory cells, leading to inefficiencies in programming accuracy and speed.
Innovation Solution
A method of programming memory cells by assigning them to groups based on read current characteristics and adjusting program currents accordingly to ensure uniform program speed and accuracy, using control circuitry to manage the programming process.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If uniform program current is applied to all memory cells, then programming process is simple, but programming accuracy deteriorates due to cell-to-cell variations
Solution Approach 1:
The patent applies different program currents to different memory cells based on their individual read current characteristics. Memory cells are divided into multiple groups, each receiving a customized program current level that compensates for manufacturing variations, thereby achieving uniform programming accuracy across all cells without requiring complex per-cell analysis
Solution Approach 2:
The patent changes the program current parameter based on read current measurements. By measuring the read current of each memory cell and assigning it to a group with an appropriate program current level, the system dynamically adjusts programming parameters to compensate for cell-to-cell variations, resolving the contradiction between simplicity and accuracy
2Manufacturing precision
If individual program currents are applied to each memory cell, then programming accuracy is improved, but device complexity increases
Solution Approach 1:
The patent implements local quality by tailoring program currents to specific memory cell groups based on their electrical characteristics. Instead of uniform treatment, each group receives a customized program current that matches its performance level, improving accuracy while maintaining manageable complexity through group-based classification
Solution Approach 2:
The patent segments memory cells into multiple groups based on read current characteristics. This segmentation allows the system to apply different program currents to different groups, achieving high programming accuracy while reducing complexity compared to individual cell customization by grouping cells with similar characteristics together
3Productivity
If standard programming pulses are used for all cells, then programming speed is maintained, but programming precision deteriorates due to variations in program efficiency
Solution Approach 1:
The patent changes the program current parameter based on measured read current characteristics of each memory cell group. By adjusting the program current level according to cell performance, the system achieves both high speed and high precision programming, as cells with lower efficiency receive higher currents to compensate without requiring excessive pulses
4Manufacturing precision
If program current is increased to compensate for slow cells, then programming precision is improved, but energy consumption increases
Solution Approach 1:
The patent applies higher program currents only to specific memory cell groups that require additional current to achieve target programming levels. Fast cells receive standard or lower currents, while slower cells receive elevated currents, optimizing energy consumption by avoiding unnecessary high-current application to all cells
Solution Approach 2:
The patent applies excessive program current only partially to specific cell groups that need it, rather than to all cells. This partial application of excessive action ensures that only the necessary subset of cells receives additional current, improving precision for those cells while minimizing overall energy consumption
Data Source
AI summary
A method of programming memory cells that includes reading the memory cells to determine respective read currents for the memory cells. Respective ones of the memory cells are assigned to one of a plurality of groups of the memory cells, wherein respective ones of the plurality of groups of the memory cells are associated with a different range of read currents, such that the determined read current for a respective one of the memory cells is within the range of read currents for the group of the memory cells to which the memory cell is assigned. The memory cells are programmed using program currents that vary for respective ones of the memory cells depending upon the group of the memory cells to which the memory cell is assigned.


