| CPC G11C 7/1063 (2013.01) [G11C 7/1069 (2013.01); G11C 11/54 (2013.01)] | 20 Claims |

|
1. A method comprising:
inputting, at a first point in time, a set of input activation vectors to a crossbar array, the crossbar array including at least a plurality of input lines, a plurality of output lines, and at least one memory device at each cross point of the plurality of input lines and the plurality of output lines, the at least one memory device at each cross point storing a synaptic weight;
reading out a first set of output activation vectors at the plurality of output lines of the crossbar array, the first set of output activation vectors representing outputs of operations performed on the crossbar array based on the set of input activation vectors input at the first point in time and the synaptic weight stored on the at least one memory device at each cross point;
inputting, at a second point in time, the input set of activation vectors to the crossbar array, the second point in time being a later time than the first point in time;
reading out a second set of output activation vectors at the plurality of output lines of the crossbar array, the second set of output activation vectors representing outputs of the operations performed on the crossbar array based on the set of input activation vectors input at the second point in time and the synaptic weight stored on the at least one memory device at each cross point, wherein the set of input activation vectors applied to the input lines of the crossbar array and used by the crossbar array in computing the first set of output activation vectors, are used by the crossbar array in computing the second set of output activation vectors;
determining a function that maps the second set of output activation vectors which has been read out, to the first set of output activation vectors which has been read out; and
compensating conductance drift exhibited in the crossbar array by applying the function to subsequent output activation vectors output by the crossbar array.
|