System and method for transfer of analog synaptic weight information onto neuromorphic arrays with non-ideal non-volatile memory device
AssigneeInternational Business Machines Corporation
InventorsPRITISH NARAYANAN, GEOFFREY W. BURR
Life of this patent
Estimating the term…
Abstract
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.
Claims32
A system for transfer of analog synaptic weight information onto neuromorphic arrays with non-ideal non-volatile memory devices in an artificial neural network (ANN), wherein a synaptic weight of each synapse in the ANN is represented by a weighted current flow from multiple conductance-pairs, the system comprising:
- 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− (capacitive cells), with a first voltage level accumulated on the first capacitor representative of a net synaptic weight given by F(G+−G−)+g+−g−, where F is a scale factor for higher significance;
- a second capacitor, wherein when (i) the conductances of lower significance g+ and g− are zeroed out and (ii) a read operation is performed, a second voltage level is accumulated on the second capacitor representing a synaptic weight contribution from just the conductances of higher significance F(G+−G−),
- 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, and
- a weight transfer operation transferring synaptic weights such that the net synaptic weight is represented using primarily the conductances of higher significance G+ and G−, 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.
A system for transfer of analog synaptic weight information onto neuromorphic arrays with non-ideal non-volatile memory devices in an artificial neural network (ANN), wherein a synaptic weight of each synapse in the ANN is represented by a weighted current flow from multiple conductance-pairs, the system comprising:
- 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−, with a first voltage level accumulated on the first capacitor representative of a net synaptic weight given by F(G+−G−)+g+−g−, where F is a scale factor for higher significance;
- a second capacitor, wherein when (i) the conductances of lower significance g+ and g− are zeroed out, and (ii) a read operation is performed, a second voltage level is accumulated on the second capacitor representing a synaptic weight contribution from just the conductances of higher significance F(G+−G−),
- 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,
- a pull-up or pull-down circuitry, the pull-up or pull down circuitry, depending on the output of the comparator, used as part of an offset operation to bleed a small amount of charge into or out of the second capacitor, wherein when the first and second voltage levels are within a predetermined value of each other, the output of the comparator is flipped, ensuring that no programming pulse is fired in the subsequent weight transfer operation;
- and
- a weight transfer operation transferring synaptic weights such that the net synaptic weight is represented using primarily the conductances of higher significance G+ and G−, 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.
A method for transfer of analog synaptic weight information onto neuromorphic arrays with non-ideal non-volatile memory devices in an artificial neural network (ANN), wherein a synaptic weight of each synapse in the ANN is represented by a weighted current flow from multiple conductance-pairs, the method comprising:
- storing a voltage level in a first, reference, capacitor 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−, with a first voltage level accumulated on the first capacitor representative of a net synaptic weight given by F(G+−G−)+g+−g−, where F is a scale factor for higher significance;
- zeroing the conductances of lower significance g+ and g−, and performing a read operation, and accumulating a second voltage level in the second capacitor representing a synaptic weight contribution from just the conductances of higher significance F(G+−G−),
- comparing the first voltage level associated with the first capacitor and the second voltage level associated with the second capacitor using a comparator with inputs connected to the first capacitor and the second capacitor for, and
- transferring synaptic weights using a weight transfer operation such that the net synaptic weight is represented using primarily the conductances of higher significance G+ and G−, 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.
Dependencies are inferred from the claim text.