Analog Neural Memory Programming for Precise Floating-Gate Charge

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveprogramming precisionVSAvoidprogramming process complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If multiple memory cells are programmed simultaneously, then programming speed increases, but disturbance to other memory cells increases

Engineering Contradiction:
Improveprogramming speedVSAvoiddisturbance to other cells
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

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.

Inventive Principle:
Principle #3Local quality

3Manufacturing precision

If programming precision is increased for synapse weights, then neural network accuracy improves, but programming time increases

Engineering Contradiction:
Improveweight value precisionVSAvoidprogramming time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #16Partial or excessive action

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

Methodology Applied
Scientific EffectCharge deposition: Electrostatic Deposition

Data Source

PatentEP4354440B1Precise programming method for analog neural memory in an artificial neural network
Publication Date: 2025.10.15 SILICON STORAGE TECHNOLOGY INC
  • EP4354440B1 patent drawingFigure 1
  • EP4354440B1 patent drawingFigure 2~3
  • EP4354440B1 patent drawingFigure 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.