Precise Floating-Gate Charge Programming for Neural Memory

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 analog neuromorphic memory systems, particularly in vector-by-matrix multiplication arrays, due to the need for precise and efficient charge deposition on floating gates.

Innovation Solution

A precision programming algorithm and apparatus are developed to accurately and quickly 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 the programming process is simpler, but the precision and granularity of charge deposition on floating gates is insufficient for analog neuromorphic memory requirements

Engineering Contradiction:
Improveprecision of charge depositionVSAvoidcomplexity of programming algorithm
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The programming process is divided into multiple stages: a coarse programming phase that quickly establishes approximate weight values, followed by a fine-tuning phase that achieves precise analog values. This segmentation allows the system to balance speed and precision requirements without requiring a single complex programming mechanism.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The programming algorithm dynamically adjusts the programming voltage and pulse width based on the current state of the memory cell and the desired target weight. This dynamic control enables precise charge deposition by adapting the programming parameters in real-time during the tuning process.

Inventive Principle:
Principle #15Dynamics

2Manufacturing precision

If high precision programming is implemented for each memory cell, then the accuracy of synapse weights is improved, but the time and energy required for programming increases significantly

Engineering Contradiction:
Improveprecision of weight programmingVSAvoidprogramming time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The programming process is divided into multiple stages: a coarse programming phase that quickly establishes approximate weight values, followed by a fine-tuning phase that achieves precise analog values. This segmentation allows the system to balance speed and precision requirements without requiring a single complex programming mechanism.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The algorithm applies partial programming actions in iterative steps rather than attempting to achieve the final precise value in a single action. Each programming pulse deposits a controlled amount of charge, and the process is repeated with progressively smaller adjustments until the target precision is achieved, reducing total programming time.

Inventive Principle:
Principle #16Partial or excessive action

3Manufacturing precision

If high precision programming is implemented for each memory cell, then the accuracy of synapse weights is improved, but the energy consumption during programming increases

Engineering Contradiction:
Improveprecision of weight programmingVSAvoidenergy consumption during programming
Core Design Contradiction:
Manufacturing precisionVSUse of energy by moving object

Solution Approach 1:

The programming process is divided into multiple stages: a coarse programming phase that quickly establishes approximate weight values, followed by a fine-tuning phase that achieves precise analog values. This segmentation allows the system to balance speed and precision requirements without requiring a single complex programming mechanism.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The algorithm applies partial programming actions in iterative steps rather than attempting to achieve the final precise value in a single action. Each programming pulse deposits a controlled amount of charge, and the process is repeated with progressively smaller adjustments until the target precision is achieved, reducing total programming time.

Inventive Principle:
Principle #16Partial or excessive action

4Measurement precision

If the number of different weight values (N) that each memory cell can hold is increased, then the computational precision of the neural network is improved, but the difficulty of programming and tuning the cells increases

Engineering Contradiction:
Improvecomputational precisionVSAvoiddifficulty of programming and tuning
Core Design Contradiction:
Measurement precisionVSDifficulty of detecting and measuring

Solution Approach 1:

The algorithm applies partial programming actions in iterative steps rather than attempting to achieve the final precise value in a single action. Each programming pulse deposits a controlled amount of charge, and the process is repeated with progressively smaller adjustments until the target precision is achieved, reducing total programming time.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The tuning process uses feedback from read operations to verify the current weight value of each memory cell and compare it against the target value. Based on this feedback, the algorithm adjusts subsequent programming pulses to converge on the desired precision, making high-resolution programming manageable through iterative correction.

Inventive Principle:
Principle #23Feedback

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

The solution allows for precise and efficient programming of non-volatile memory cells, enhancing the performance and energy efficiency of artificial neural networks by enabling fine-tuning of synapse weights, reducing computational complexity, and minimizing energy consumption.

Implementation Method 1

Each of the plurality of memory cells is configured to store a weight value corresponding to a number of electrons on the floating gate

Methodology Applied
Scientific EffectCharge storage: Capacitance

Implementation Method 2

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

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