Memristive Logic in Crossbar Memory Arrays: Variability-Aware Design for Higher Reliability Manuel Escudero, Ioannis Vourkas,, Antonio Rubio, , and Francesc Moll
Abstract— The advent of the first TiO2-based memristor in 2008 revived the scientific interest both from academia and industry for this device technology and has so far led to several emerging applications including logic and in-memory computing. Several memristive logic families have been proposed in the current quest for energy-efficient future computing systems. However, the limited device endurance and variability (both cycle- to-cycle and device-to-device) are important parameters to be considered in the assessment of logic operations. In this work we used an accurate physics-based model of a bipolar memristor (supporting parasitics of the device structure and variability of switching voltages and resistance states) and demonstrate that performance of memristor-based in-memory computations can de degraded owing to both variability and state drift impact, if such features are not properly considered in the design flow. Inspired on pseudo-NMOS ratioed logic and based upon a CMOS-like logic scheme, we propose a crossbar-compatible memristive ratioed logic style which is tolerant to device variability and does not affect device endurance as computations do not involve conditional switching of memristors. Using the Cadence Virtuoso suite, we compare this logic scheme with MAGIC and CNIMP approaches, focusing on the universal NOR gate and complex logic functions.
Index Terms—memristor, MAGIC, CNIMP, IMPLY, ratioed logic, in-memory computing, resistive switching, crossbar array
I. INTRODUCTION HE existence of the memristor as the fourth fundamental circuit element was postulated by Leon Chua Tin 1971 [1]. However, this emerging device technology drew unprecedented attention quite later, after 2008, when a group at Hewlett-Packard Laboratories (HP Labs) demonstrated the first TiO2-based memristor [2], connecting the nature of such devices with Chua’s previous theory. Owing to their analog nature, potential nonvolatility, high integration density and CMOS BEOL compatibility, memristors constitute an important trend in modern electronics [3], representing a very promising technology which has extended its influence beyond memory [4] to logic [5], neuromorphic and in-memory computing [6], [7]. The 2008 HP Labs invention also concerned the development of a simplistic device model, which has been ever since the basis for several more models published later [8-10]. The majority of such models capture the very basic behavioral device characteristics (e.g. threshold-based switching and nonlinearities near the resistive boundaries applying window functions [11], to name a few), and thus contributed to the progress of this emerging research field, being adequate to demonstrate the impact and usefulness of memristors in a variety of applications [12], [13]. However, recent advanced physics-based device models [14] go deeper into the device dynamics and take into account parasitics (owing to the device structure), variability of voltage thresholds and resistance states, temperature dependencies, cycle-to-cycle stochaticity, features normally observed in real device implementations, enabling consequently more realistic circuit simulations. Among several potential applications, the memristive logic design, i.e. the methodology of designing logic circuits using memristors, is an emerging concept in the constant quest for energy efficient post- CMOS computing systems. Many such memristive logic families have been proposed: IMPLY [15], MAGIC [16], CNIMP [17], MRL [18], MAD [19], to name a few, in which resistance is normally used to represent data, thus all are suitable for resistive computing, most of them also being compatible with the crossbar geometry. The latter is considered a requirement for real in-/near-memory computing, since the topology of the logic circuits to implement should fit in the crossbar memory array, which is most likely the prevailing topology for memristive memory. What is more, the metrics proposed so far for the comparison of such logic families naturally focus on latency, energy, and area efficiency [20]. However, most such relevant works omit crucial factors such as variability (both cycle-to-cycle and device-to-device) and endurance of memristors; being the latter a major limitation to be considered if frequent switching is necessary during computations. For instance, recently Papandroulidakis et al. [21] suggested using different memristor technology for memory and computing tasks to address endurance issues. Likewise, another logic scheme called Scouting Logic [22] was proposed to alleviate the endurance requirement while executing logic operations by just sensing the memristor state, even though this scheme eventually suffers from device variability. Moreover, MAD gates [19] were proposed based on the same principle (using Memristors As Drivers) but the target topology was not compatible with the crossbar geometry. Performing logic computations without switching the states of the involved memristors was first seen in the so called CMOS-like memristive logic [26], revisited recently in [27], which was unfortunately not crossbar- compatible either. In this work, we build upon ideas commented in [24], [25] and present a crossbar-compatible ratioed logic scheme which is completely variation-tolerant; i.e. it does not suffer from device variability or state drift, and also it does not impact the device endurance as logic operations are performed by just reading the state of memristors acting as inputs. We performed circuit simulations of the proposed scheme using the Cadence Virtuoso suite and compared its performance with the two most popular memristive logic families of the literature (MAGIC and CNIMP), focusing on the universal NOR gate and on more complex logic functions such as AND-OR-Invert (AOI). We based our simulations on an advanced physics-based model of a bipolar metal-oxide resistive RAM (ReRAM) device [14], [23] derived by Stanford and our results underline the importance of taking into account device variability in circuit simulations as both read and write errors can emerge due to variability and state drift impact. Such features are rarely considered so far in other relevant publications in this field and the presented results highlight that variability can be critical for proper device selection and circuit design quality/viability assessment. Finally, we proved that the new proposed logic scheme outperforms the rest in terms of robustness, viability and also scalability (fan-in), getting us to the simple conclusion that “rethinking of memristive logic design from a practical point of view” is necessary if we aspire to enable in-memory computing.
II. TARGET MEMRISTIVE LOGIC GATE DESIGN STYLES This section briefly describes the three different crossbar-compatible logic gate design schemes whose in-crossbar operation is later studied and compared in the presence of device variability (MAGIC, CNIMP, Ratioed Logic). The same logic function is always performed (NORn; i.e. a NOR gate with n inputs) and in all cases it is assumed that a memristor stores a logic ‘0’ when it is at a high resistive state (HRS) and logic ‘1’ when it is at a low resistive state (LRS). Hereinafter we will refer to a memristor being forward/reverse-biased when the voltage at the top/bottom terminal is higher than that on its bottom/top terminal; the bottom terminal is denoted by the thick black line in the circuit schematic (See Fig. 1a). So, a SET process (HRS à LRS) occurs when the device is forward biased with a voltage of amplitude higher than VSET threshold, whereas a RESET process (LRS à HRS) occurs when it is reverse-biased with a voltage amplitude higher than |VRESET| threshold. A. Memristor-Aided loGIC (MAGIC) According to Memristor-Aided loGIC (MAGIC) proposed in [16], different logic gates are built using networks of memristors and computation takes place by applying voltage pulses to the whole network. Each logic gate is composed of one or more input memristors, holding the input logic values in their resistive states, and a single output memristor to store the result of the logic operation. It is worth mentioning that only NOR MAGIC gates are crossbar-compatible, thus any logic function shall be computed using sequential NOR operations. More specifically, Fig. 1b shows a generalized topology for a NORn gate implemented in a row of a crossbar array. The input data participating in the operation (x1 … xn) is stored in the resistive state of a set of input memristors, whereas an additional output memristor eventually stores the result of the logic computation. Assuming that the input data is initially stored in the memory array, MAGIC NORn is evaluated in two steps, regardless of the number of inputs: first, the memristor storing y (output data) is SET to LRS. Next, input voltage pulses of amplitude V0 > 0 are applied to the top terminal of every input memristor and the top electrode of the output memristor is connected to ground. Note that at the same time the row line must show high impedance (floating) in both ends. Thus, the gate consists of a pull-up network of input memristors and a single pull-down output memristor. The latter is conditionally RESET to HRS only if at least one input memristor is at LRS. V0 value is selected such that guarantees the switching of the output memristor while being non-destructive for the input memristor states. So its value depends both on the memristor parameters as well as on fan in. For example, according to [16], for a 2-input NOR while assuming a very high RHRS/RLRS ratio where RHRS and RLRS are the memristor resistances in HRS and LRS respectively, the input voltage requirements are as follows: 2×|VRESET| < V0 < VSET. In other words, MAGIC NOR gates could not be implemented unless 2×|VRESET| < VSET is true in a particular device technology. B. Converse NonIMPlication (CNIMP) Converse NonIMPlication (CNIMP) was proposed in [17] and concerns a logic gate design style that improves the well-known IMPLY logic [15] by solving the important issue of incomplete switching of the memristors; the latter was originally stated in [28] and was also observed experimentally [29]. The CNIMP and the SET programming operations together form a universal logic gate set. CNIMP was named after the binary operation it reproduces using a circuit consisting of memristors and an auxiliary resistor RG, able to fit in a row of a crossbar array as shown in Fig. 1c. CNIMP operation is performed by applying voltage pulses of amplitude VCOND+ > 0 and VCOND- < 0 to the memristors containing the first and second operand, respectively. Figure 1c shows how to realize a NOR2 operation in 3 steps: first the device to finally hold the output data is programmed to LRS. Next, the operation x1 CNIMP y is performed (intermediate result stored in y) and finally the x2 CNIMP y to store the result of NOR2 (x1, x2) in y. The values VCOND+, VCOND- and RG are selected to guarantee: (i) no state change in the memristor corresponding to the first operand, and (ii) conditional change in the state of the second operand to hold the output data. Similar to the MAGIC case, CNIMP involves conditional switching, which is why the requirements for the applied voltage pulse amplitudes are very similar: 2×|VRESET| < (VCOND+ - VCOND-) < VSET when RHRS << RG << RLRS [17]. Therefore, unless 2×|VRESET| < VSET is true in a particular device technology, CNIMP gates cannot be implemented. C. Ratioed Logic with Memristors This target logic style concerns a newly proposed memristor-ratioed logic scheme, inspired on the pseudo-NMOS logic gate design, that it is the key style investigated in this paper. It works very similar to the CMOS-like logic style [26] but it involves much less circuit complexity, making it compatible with crossbar arrays. Two different schemes are shown in Fig. 1c, which include a PMOS (NMOS) transistor connected to a pull-down (pull-up) memristor network representing a logic function. These memristors substitute the conventional NMOS pull-down block or PMOS pull-up block of a CMOS gate, e.g. a block of NMOS transistors in parallel represents a NORn. Memristors hold input data; a memristor in LRS substitutes a turned ON transistor, whereas a memristor in HRS substitutes a turned OFF transistor. As we decided by convention in which HRS represents a ‘0’ and LRS represents a ‘1’, this is equivalent to a NMOS transistor states when a ‘0’ or a ‘1’ is applied. However, PMOS will be substituted with complemented inputs, i.e. a PMOS with applied ‘0’ (‘1’) is equivalent to a LRS (HRS) but this state represents a ‘1’ (‘0’) when stored in a memristor. For instance, a block of PMOS transistors in parallel represents a NANDn but using complemented inputs it turns an ORn. Anyway, the operation is executed by applying a voltage through all the circuit equal to Vread, making sure that the voltage across the whole memristor network is appropriate for just “sensing” the input memristor states without disturbing them. Contrary to MAGIC and CNIMP, the logic output corresponds to a voltage level Vout whose value falls between VREF = VDD - Vread and VDD. The overall circuit in the computing operation works as a resistive divider, delivering the output voltage described in (1), where Req is the whole memristor network equivalent resistance and RL is the PMOS channel resistance. Finally, Vout is compared to a threshold value VCOMP, properly selected so that the output voltage levels are distinguished between ‘0’ and ‘1’.