Embodiments relate to electronic architectures for computing systems. Embodiments also relate to memristors. Embodiments further relate to memristor computing architectures including crossbars.
As Moore's law ends, future computing system gains will come through changes in integrated electronic architecture, enabling nanotechnology and photonics integration. Memristors, for example, may offer a significant and enabling feature set that can transform memory, logic and artificial intelligence.
While modern transistor sizes are now smaller than many viruses and biological synapses, the great power discrepancy between modern methods of computing and biological brains indicate that upwards of six to nine orders of magnitudes of gains may be realized through integrations of memristors and CMOS arrangements in new computing architectures.
Memristors have been defined as devices that include two-terminal variable resistance changing elements. While much has been written about memristors regarding the theoretical definition, for our disclosure we use the word ‘memristor’ to indicate a two-terminal resistance changing element such that the application of voltage bias exceeding some threshold will increase the conductance of the element and a reverse voltage bias exceeding some threshold will decrease the conductance of the element.
Memristor crossbars have been heavily investigated for their use in memristor computing systems due to the high density of memristor elements obtainable. Memristive material located at the intersection of addressable rows and columns can be accessed by electrically driving selected rows and columns. Provided the memristors have a forward and reverse threshold above the thermal noise level, it may be possible to write and erase elements of a crossbar without disturbing other elements. This is because the voltage drop applied across the selected device will see the largest voltage drop, while un-selected devices will see a reduced voltage drop. If the reduced voltage drop is less than the threshold while the full voltage drop is above device threshold, selective programing can occur. However, there are still limitations to crossbars that limit how they can be used and how large they can grow before problem arise.
One limitation of crossbars is caused by the “sneak-path” problem. In this case, if it is desired to access only part of a crossbar, i.e. to apply voltage to only one or a few columns/rows and to leave others electrically floating, then currents can pass from one column or row to another through a floating row or column. One solution to the sneak-path problem is to include “selector devices” in series with each memristors. The most common and reliable solution is to use a single access transistor in series with the memristor, called a “1T1R” configuration. Selector transistors are not ideal as they consumes all of the active portion of an integrated chip under the memristor array before row/column access circuitry such as row and column decoders are even considered. Another problem with crossbars, in terms of using them to directly represent a matrix-multiply operation in a neural network is that the topology is fixed. That is, by a crossbars very nature every column is connected to every row.
While this topology can match a fully connected neural network layer, it unfortunately presents a significant problem. The sneak-path problem limits only relatively small crossbars from being used, while much larger matrix multiplies are needed in practice. For example, a typical neuromorphic “neuron” may contain upwards thousands of inputs, while a crossbar larger than about 64 rows or columns will experience degrading performance due to sneak paths. It is simply not possible to construct memristor crossbars with thousands of rows and/or columns without the use of selector devices. Furthermore, if even one junction of the matrix contains a “stuck-on” fault (for example, due to a memristor stuck in its low resistance state), this may cripple the whole crossbar.
The following summary is provided to facilitate an understanding of some of the innovative features unique to the disclosed embodiments and is not intended to be a full description. A full appreciation of the various aspects of the embodiments disclosed herein can be gained by taking the entire specification, claims, drawings, and abstract as a whole.
It is, therefore, one aspect of the embodiments to provide for a memristor crossbar for use in memristor computing systems.
It is another aspect of the embodiments to provide for an improved crossbar array and crossbar unit.
It is also an aspect of the embodiments to provide a meta array for use with crossbar arrays and crossbar units in memristor crossbars and memristor computing systems.
If is a further aspect of the embodiments to provide for a differential-pair meta array for use with crossbar arrays and crossbar units in memristor crossbars and memristor computing systems.
The aforementioned aspects and other objectives and advantages can now be achieved as described herein. In an embodiment, a memristor apparatus can include at least one crossbar array and a memory bit M cell; a plurality of select bits that are shared; and wherein an enable signal for each unit crossbar in the at least one crossbar array can be generated by the memory bit M cell.
In an embodiment of the memristor apparatus, the each unit crossbar can share select control lines and uses row/column enable lines.
In an embodiment of the memristor apparatus, the at least one crossbar array can comprise a meta array.
In an embodiment of the memristor apparatus, the at least one crossbar array can comprise a differential-pair meta array.
In an embodiment of the memristor apparatus, the at least one crossbar array can comprise a plurality of differential pairs of unit crossbars.
In an embodiment, a meta array, can comprise at least one crossbar array; a memory bit M cell; a plurality of select bits that are shared; and an enable signal for each unit crossbar among the at least one crossbar generated by the memory bit M cell.
In an embodiment, the each unit crossbar can share select control lines and use row/column enable lines.
The accompanying figures, in which like reference numerals refer to identical or functionally-similar elements throughout the separate views and which are incorporated in and form a part of the specification, further illustrate the present invention and, together with the detailed description of the invention, serve to explain the principles of the embodiments.
The particular values and configurations discussed in these non-limiting examples can be varied and are cited merely to illustrate one or more embodiments and are not intended to limit the scope thereof. Exemplary embodiments are intended to cover all alternatives, modifications, and equivalents as may be included within the spirit and scope of the composition, apparatus and systems as described herein.
A more complete understanding of the processes, systems and apparatuses disclosed herein can be obtained by reference to the accompanying drawings. These figures are merely schematic representations based on convenience and the ease of demonstrating the existing art and/or the present development, and are, therefore, not intended to indicate relative size and dimensions of the assemblies or components thereof. In the drawing, like reference numerals may be used throughout to designate similar or identical elements.
Subject matter will now be described more fully hereinafter with reference to the accompanying drawings, which form a part hereof, and which show, by way of illustration, specific example embodiments. Subject matter may, however, be embodied in a variety of different forms and, therefore, covered or claimed subject matter is intended to be construed as not being limited to any example embodiments set forth herein; example embodiments are provided merely to be illustrative. Likewise, a reasonably broad scope for claimed or covered subject matter is intended. Among other things, for example, subject matter may be embodied as methods, devices, components, or systems. Accordingly, embodiments may, for example, take the form of hardware, software, firmware, or any combination thereof (other than software per se). The following detailed description is, therefore, not intended to be interpreted in a limiting sense.
Throughout the specification and claims, terms may have nuanced meanings suggested or implied in context beyond an explicitly stated meaning. Likewise, phrases such as “in one embodiment” or “in an example embodiment” and variations thereof as utilized herein do not necessarily refer to the same embodiment and the phrase “in another embodiment” or “in another example embodiment” and variations thereof as utilized herein may or may not necessarily refer to a different embodiment. It is intended, for example, that claimed subject matter include combinations of example embodiments in whole or in part.
In general, terminology may be understood, at least in part, from usage in context. For example, terms such as “and,” “or,” or “and/or” as used herein may include a variety of meanings that may depend, at least in part, upon the context in which such terms are used. Typically, “or” if used to associate a list, such as A, B, or C, is intended to mean A, B, and C, here used in the inclusive sense, as well as A, B, or C, here used in the exclusive sense. In addition, the term “one or more” as used herein, depending at least in part upon context, may be used to describe any feature, structure, or characteristic in a singular sense or may be used to describe combinations of features, structures, or characteristics in a plural sense. Similarly, terms such as “a,” “an,” or “the”, again, may be understood to convey a singular usage or to convey a plural usage, depending at least in part upon context. In addition, the term “based on” may be understood as not necessarily intended to convey an exclusive set of factors and may, instead, allow for existence of additional factors not necessarily expressly described, again, depending at least in part on context.
Although specific terms are used in the following description for the sake of clarity, these terms are intended to refer only to the particular structure of the embodiments selected for illustration in the drawings, and are not intended to define or limit the scope of the disclosure. In the drawings and the following description below, it is to be understood that like numeric designations refer to components of like function.
The modifier “about” used in connection with a quantity may be inclusive of the stated value and can have a meaning dictated by the context (for example, it may include at least the degree of error associated with the measurement of the particular quantity). When used with a specific value, it should also be considered as disclosing that value. For example, the term “about 2” also discloses the value “2” and the range “from about 2 to about 4” also discloses the range “from 2 to 4.”
Although embodiments are not limited in this regard, the terms “plurality” and “a plurality” as used herein may include, for example, “multiple” or “two or more”. The terms “plurality” or “a plurality” may be used throughout the specification to describe two or more components, devices, elements, units, parameters, or the like. For example, “a plurality of stations” may include two or more stations. The terms “first,” “second,” and the like, herein do not denote any order, quantity, or importance, but rather can be used to distinguish one element from another. The terms “a” and “an” herein may not denote a limitation of quantity, but rather can denote the presence of at least one of the referenced item.
As utilized herein, the term ‘memristor’ can relate to a two-terminal resistance changing element, wherein the application of a voltage bias exceeding some threshold can increase the conductance of the element and a reverse voltage bias exceeding some threshold can decrease the conductance of the element. The term ‘memristor’ can also refer to a non-linear two-terminal electrical component relating electric charge and magnetic flux linkage. In addition, the term ‘memristor’ can relate to the memristor device (and improvements thereof) described and named in 1971 by Leon Chua, completing a theoretical quartet of fundamental electrical components, which also include the resistor, capacitor and inductor.
The disclosed embodiments relate to memristors and memristor computing architectures based on crossbars in novel configurations that overcome the limitations of previous approaches discussed in the background section of this disclosure. The disclosed embodiments also relate to methods, processes, and techniques of building memristor computing architectures from crossbars in novel configurations that overcome the limitations of the previous approaches.
The disclosed embodiments provide a solution to the problem of scaling crossbars by providing alternative architectures formed from arrays of smaller crossbars, for example 64×64, 32×32, or even smaller. Provided a memristor can be fabricated with forward and reverse thresholds, a small memristor crossbar may be perfectly functional.
A graphical representation of a node 30 is shown at the right hand side of
As discussed previously, one limitation of crossbars such as shown in
Another problem with crossbars as shown in the example illustration of
A solution to the problem of scaling crossbars can involve exploring alternative architectures formed from arrays of smaller crossbars, for example 64×64, 32×32, or even smaller. Provided a memristor can be fabricated with forward and reverse thresholds, a small memristor crossbar may be perfectly functional.
Consider a small “unit crossbar” formed of row and column bi-directional (pass-though) analog multiplexers and a small crossbar, as depicted in
The unit crossbar 60 shown in
When the crossbar unit is active, one column and one row can be selected, causing the electrical coupling of the selected memristor (e.g., see the memristor symbol shown in
While the unit crossbar of the embodiments can necessarily contain row and column access circuitry, it may not contain selector devices. A crossbar with selector devices, whether or not they are formed of transistors, diodes, etc, may still require row and column access circuitry. Because the number of memristors scales as the product of the number of rows and columns while the transistor count for a row or column access scales linearly, the effective number of transistors per memristor is reduced as the crossbar grows. While we are still limited to small crossbars, the effect is still substantial.
Details of the configuration shown in
Because a crossbar unit may act as a selector device, large crossbar arrays formed of unit crossbars can be used to perform desired computations without the issue of sneak-path currents. This can be seen in the crossbar unit 150 shown in
While each unit crossbar can be controlled with unique enable and select control lines (E00, E01, . . . E0N etc), doing so would be costly from a circuit resources perspective. Instead, unit crossbars can share select control lines and use row/column enable lines, as shown in
This can be seen in
While it may at first appear that using unit crossbars is overly costly, it is in fact an ideal strategy when considered in the context of larger accelerators, for example a deep neural network with dozens or even hundreds of layers. In this context, a single meta array could handle the whole network, or even multiple networks for multiple applications, each electrically isolated from each other and selectable via the selection bits (S).
One potential problem with the meta array of the crossbar unit shown in
If each unit crossbar enable signal is generated by a memory bit cell, which in turn is set with row and column enable lines and shared reset signal ‘r’, then any unit crossbar can be co-enabled with any other unit crossbar in the meta array. This is a much more ideal scenario for sparse matrix connectivity. Memory cell “M” could be, for example, an SRAM cell, a DRAM cell, a memristor or resistive-ram cell or other technology. To use the meta array, the reset signal would first clear all the memory units, causing all unit crossbars to be decoupled (disabled). Next, the row and column enable lines would be used to enable select memory cells in the meta array.
While individual row/column drivers may be used, a large non-topological array can be formed by joining the column to form one input (SS) and joining the rows to form one output (DD). When paired with a memory cell access as depicted
Differential representation is important in a number of contexts, and can easily be accomplished at the meta array level, as shown in the circuit diagram of meta array 190 in
In the case of a differential-pair meta array, the column and/or row decoders can be shared such that the same relative unit crossbar is accessed in each of the two meta arrays. In this specific case we have joined the rows and duplicated the columns. We can further join in the inputs (SS) but keep the outputs separate (DDa, DDb). Combined with a memory-cell enable scheme (as in
It will be appreciated that variations of the above-disclosed and other features and functions, or alternatives thereof, may be desirably combined into many other different systems or applications. It will also be appreciated that various presently unforeseen or unanticipated alternatives, modifications, variations or improvements therein may be subsequently made by those skilled in the art which are also intended to be encompassed by the following claims.
This patent application claims priority under 35 U.S.C. § 119(e) to U.S. Provisional Patent Application Ser. No. 63/072,184 entitled “Topologies of Unit Crossbars,” which was filed on Aug. 30, 2020, the disclosure of which is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
63072184 | Aug 2020 | US |