Analog Neural Memory Programming for Precise Floating-Gate Charge
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing artificial neural networks face challenges in programming non-volatile memory cells with the required precision and granularity for high-performance information processing, particularly in analog neuromorphic memory systems, due to the need for precise and accurate charge deposition on floating gates.
Innovation Solution
A precision programming algorithm and apparatus are developed to accurately and efficiently deposit the correct amount of charge on the floating gate of non-volatile memory cells within a vector-by-matrix multiplication array, enabling precise programming of memory cells to hold one of N different values.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If conventional programming methods are used for non-volatile memory cells, then programming can be performed with standard processes, but programming precision and granularity are insufficient for high-performance neural network applications
Solution Approach 1:
The programming process is divided into multiple sequential stages: coarse programming to establish initial weight values, followed by fine programming to achieve precise tuning. This segmentation allows the system to achieve high programming precision by breaking down the complex task into manageable steps, where each stage addresses specific precision requirements without overwhelming the programming apparatus.
Solution Approach 2:
The coarse programming stage performs preliminary action by establishing initial weight values before fine programming occurs. This preliminary programming sets a foundation that reduces the burden on subsequent fine programming operations, enabling more efficient achievement of final precision targets while managing overall process complexity.
2Productivity
If multiple memory cells are programmed simultaneously, then programming speed increases, but disturbance to other memory cells increases
Solution Approach 1:
The programming apparatus applies different programming conditions to different spatial regions of the memory array. By controlling which specific memory cells receive programming signals at any given time, the system can program multiple cells simultaneously in targeted regions while leaving other regions undisturbed. This localised approach maintains high programming speed while minimising cross-cell interference.
3Manufacturing precision
If programming precision is increased for synapse weights, then neural network accuracy improves, but programming time increases
Solution Approach 1:
The multi-stage programming process segments the precision achievement into phases: coarse programming quickly establishes weight values with moderate precision, then fine programming progressively refines these values to high precision. This segmentation prevents the system from attempting to achieve full precision in a single time-consuming operation, thereby reducing total programming time while still achieving the required accuracy.
Solution Approach 2:
The coarse programming stage performs partial action by establishing weight values that are sufficiently accurate for initial network functionality. This partial programming allows the neural network to operate with acceptable performance while fine programming continues in the background or in subsequent iterations, reducing the perceived programming time for achieving usable precision.
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 solution allows for precise and rapid programming of non-volatile memory cells, enhancing the performance and efficiency of artificial neural networks by enabling precise tuning of synapse weights, reducing energy consumption, and minimizing disturbance to other memory cells.
Implementation Method 1
precisely and quickly depositing the correct amount of charge on the floating gate of a non-volatile memory cell
Data Source
Figure 1
Figure 2~3
Figure 4~5
AI summary
Numerous embodiments of a precision programming algorithm and apparatus are disclosed for precisely and quickly depositing the correct amount of charge on the floating gate of a non-volatile memory cell within a vector-by-matrix multiplication (VMM) array in an artificial neural network. Selected cells thereby can be programmed with extreme precision to hold one of N different values.