Neuromorphic Weight Transfer Using Capacitor Voltage Comparison
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Non-volatile memory-based crossbar arrays in neuromorphic computing face challenges in accurately transferring synaptic weight information due to non-ideal non-volatile memory devices, which exhibit non-linearity, asymmetry, and variability in conductance response, particularly when larger changes or weight overrides are required.
Innovation Solution
A method involving a system with two capacitors and a comparator to represent synaptic weights as a weighted current flow from multiple conductance-pairs, where the programming pulse duration is proportional to the difference in voltages between the capacitors, ensuring accurate weight transfer primarily using higher significance conductance elements, and an offset operation to avoid unnecessary weight transfers when weights are well-matched.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If programming pulses are applied to non-volatile memory devices to transfer synaptic weight information, then weight transfer capability is improved, but accuracy deteriorates due to non-linearity, asymmetry, and variability in conductance response
Solution Approach 1:
The system performs preliminary actions by iteratively reading the non-ideal conductance values, comparing them against ideal target weights, calculating differential weights, and applying corrective programming pulses before the weight transfer is complete. This preliminary iterative adjustment compensates for the non-ideal characteristics of the memory devices and improves final accuracy.
Solution Approach 2:
The system implements feedback by continuously reading the actual conductance values from non-volatile memory devices, comparing them with ideal target weights, and using the difference to generate corrective programming pulses. This closed-loop feedback mechanism compensates for non-linearity, asymmetry, and variability in the memory devices, transforming the harmful factors into beneficial corrections.
2Adaptability or versatility
If larger changes to synaptic weights are made during training, then adaptability is improved, but accuracy deteriorates due to non-ideal device response
Solution Approach 1:
Before applying large weight changes during training scenarios like weight overrides, the system performs preliminary iterative adjustments using the same read-compare-program cycle. This preliminary action ensures that even large weight changes are applied with high accuracy by compensating for device non-idealities at each step.
Solution Approach 2:
The system changes parameters by dynamically adjusting programming pulse characteristics (width, amplitude) based on the calculated differential weights and device response. This allows the system to adapt the programming parameters to achieve both large weight changes and high accuracy, resolving the contradiction between adaptability and precision.
3Measurement precision
If iterative tuning of voltage levels on capacitors is performed, then weight transfer accuracy is improved, but time consumption increases
Solution Approach 1:
The iterative tuning process uses feedback to progressively reduce the error between actual and target weights. Each iteration reads the current state, calculates the error, and applies a corrective pulse. The process terminates when the error falls below a threshold, ensuring high accuracy while limiting time consumption through a well-defined stopping criterion.
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 approach ensures reasonably accurate weight transfer by iteratively tuning the voltage levels on capacitors, effectively representing synaptic weights on non-ideal non-volatile memory devices, even in scenarios with non-linearity and variability, and supports efficient weight overrides by using a graduated programming procedure.
Implementation Method 1
a first, reference, capacitor, the first capacitor storing a voltage level corresponding to a net synaptic weight that needs to be achieved, the first capacitor charged up by a parallel read operation across conductances of higher significance G+ and G− and conductances of lower significance g+ and g−
Implementation Method 2
a comparator with inputs connected to the first capacitor and the second capacitor for comparing the first voltage level associated with the first capacitor and the second voltage level associated with the second capacitor
Implementation Method 3
the weight transfer operation being done by applying a programming pulse to one of the conductances of higher significance G+ or G− depending on the output of the comparator, a width of the programming pulse being proportional to the difference in voltages between the first and second capacitors
Data Source
AI summary
A system and method are shown for transferring weight information to analog non-volatile memory elements wherein the programming pulse duration is directly proportional to the difference in weights. Furthermore, the system and method avoid weight transfers when the weights are already well-matched.


