As demand on high performance computation continuously increases, the traditional Von Neumann computer architecture becomes less efficient. In recent years, neuromorphic hardware systems have gained great attentions. Such systems can potentially provide the capabilities of biological perception and information processing within a compact and energy-efficient platform. Systems such as these can be used in different computing platforms for high performance computing under size, weight and power (SWaP) constraints. Potential Air Force applications, for example, include autonomy and autonomous systems, communication and networking, intelligence data analytics and cyber situational awareness.
To this end, a resistive crossbar array based computing system has the potential to enable high-efficient, large-scale signal processing. Such systems, for example, can dramatically improve the capabilities in pattern recognition used in modern artificial intelligence systems. In such systems, a crossbar array of resistive memory devices is used to carry out signal processing computations.
The present invention relates generally to methods and apparatuses for sensing the current that represents the computation results from a resistive memory device (i.e., “memristor”) crossbar array and converting it to a digital word using low-power circuit with small form factor.
It is an object of the present invention to design an apparatus and method that transforms an input digital word into a distinct output digital word as a function of the current and voltage the input digital word generates across an array of resistive memory devices.
In an embodiment of the present invention, an apparatus for a resistive memory array signal processor, comprises a first converter for converting a real number vector input into a temporal sequence of voltage waveform outputs; at least one resistive memory array, having the sequence of voltage waveforms as inputs, for converting the sequence of voltage waveforms into current waveform outputs; an integrator for accumulating the current waveform outputs; a second converter, having the accumulated current waveforms as inputs, for converting the accumulated current waveforms into voltage waveform outputs; and a third converter, having the voltage waveforms as inputs, for converting the voltage waveforms into a real number output.
In another embodiment of the present invention, a method for performing signal processing using a crossbar array of resistive memory devices, comprises the steps of a first mapping of a real number input to a voltage waveform; applying the voltage waveform to a plurality of wordline inputs of the crossbar array of resistive memory devices; accumulating current waveforms through each of a plurality of bitline outputs of the crossbar array of resistive memory devices; integrating the accumulated current waveforms: converting the integrated current waveforms to voltage waveforms; and a second mapping of the voltage waveforms to a real number output.
Briefly stated, the present invention provides an apparatus and method for performing signal processing on a crossbar array of resistive memory devices. The invention is implemented using one or multiple crossbar arrays of resistive memory devices in conjunction with devices for converting input real number representations to voltage waveforms, devices for converting current waveforms into voltage waveforms, and devices for converting voltage waveforms to real numbers outputs.
The above and other objects, features and advantages of the present invention will become apparent from the following description read in conjunction with the accompanying drawings, in which like reference numerals designate the same elements.
The present invention provides an apparatus and method for performing signal processing on a crossbar array of resistive memory devices, using pulse-based representations of input and output values. The invention is implemented using one or multiple crossbar arrays of resistive memory devices in conjunction with devices for converting real number representations to voltage waveforms, devices for converting current waveforms into voltage waveforms, and devices for converting voltage waveforms to real numbers, all of which may be implemented in electronic hardware or electronic hardware augmented by firmware or computer software.
Relying on a one-to-one mapping between a mathematical value and a pulse-based voltage waveform, each individual input value can be represented by a temporal sequence of voltage pulses applied to a wordline (row) of the crossbar array. The resistive crossbar design converts the input voltage pulse waveforms into output current waveforms at the bitlines (column) of the crossbar array. An integrator block is used to convert the output current waveform to a total accumulated current value. The accumulated current of each output of the crossbar is then converted back into pulse-based voltage waveform, using the reverse of the same (with a different scale factor) one-to-one mapping function for the input conversion.
This describes the apparatus and method for performing signal processing using pulse-based representations of the inputs and outputs, through a crossbar array of resistive memory devices.
The basic circuit of the invention's crossbar array with N rows and M columns of resistive memory devices 30 is shown in the
When voltage waveforms vij(t) (j=1, 2, . . . , N) are applied to the wordlines 20 (inputs), also assuming that the bitlines 10 are all held at 0 Volt, the current waveforms ioi(t) at the end (bottom) of each of the bitlines 10 can be calculated by:
ioi(t)=Σj=1N(vij(t)·gi,j), i=1,2, . . . ,M (1)
The integration of the current waveforms and the output current waveforms over a period of time T, resulting from all the bitlines, is represented by:
∫0Tioi(t)dt=Σj=1N(gi,j·∫0Tvij(t)dt), i=1,2, . . . ,M (2)
Referring to
Referring to
vij(t)MA(aj,t),tε[0,T],j=1,2, . . . ,N (3)
Where vij(t) is a pulse-based voltage waveform, which means that vij(t) can only be one of the two predefined voltage levels: V1 and V2. An example of the pulse-based voltage waveform in time period [0, T] is shown in
voi(t)=CF(ioi(t)), tε[0,T], i=1,2, . . . , M (4)
Note that with more than one input voltage waveforms applied, the output current may not follow a pulse-based waveform. Finally the invention applies another one-to-one conversion (mapping) function that converts 80 output pulse-base voltage waveforms (in the time period of [0, T]) into real numbers. The conversion (mapping) process 80 can be written as:
biMB(voi(t)), tε[0,T], i=1,2, . . . ,M (5)
Please also note that the first and last conversion/mapping steps can be omitted if the system is already using pulse-based representations.
For the embodiment of the present invention described in the previous section, there can be many choices of the conversion/mapping functions MA, MB and CF. Specific implementations of the conversion/mapping functions are possible.
If the input voltage waveforms of vij(t) are restricted to periodical pulse functions with fixed pulse width of Tp, function MA can be implemented by mapping the real number aj to a unique frequency value of the pulse waveform such that:
aj=α∫0Tvij(t)dt, j=1,2, . . . ,N (6)
where α is a positive constant scalar number.
For converting function CF from ioi(t) to voi(t), the accumulated total current by integrating ioi(t) over time period [0, T] can be first calculated according to:
Iitotal=∫0Tioi(t)dt, i=1,2, . . . ,M (7)
Again, restricting the waveforms of voj(t) to periodical pulse functions with fixed pulse width of Tp, the invention maps the accumulated total current to a unique frequency value of the voi(t) pulse waveform such that:
β·∫T2Tvoi(t)dt=Iitotal,i=1,2, . . . ,M (8)
where β is a positive constant scalar number.
After obtaining the voi(t) waveforms, the mapping function MB is implemented by mapping the frequency value of voi(t) to the real number bi such that:
bi=γ·∫0Tvoi(t)dt, i=1,2, . . . ,M (9)
where γ is a constant scalar number.
If Equations 2, 6, 7, 8 and 9 are combined, the complete process performed by the present invention from inputs aj (1=1, 2, . . . , N) to outputs bi (i=1, 2, . . . , M) can be captured as:
The invention described herein may be manufactured and used by or for the Government for governmental purposes without the payment of any royalty thereon.
Number | Name | Date | Kind |
---|---|---|---|
6181159 | Rangasayee | Jan 2001 | B1 |
9152827 | Linderman | Oct 2015 | B2 |
20140293678 | Orlowski | Oct 2014 | A1 |
20150170025 | Wu | Jun 2015 | A1 |