Programmable Electronics using Memristor Crossbars

Typically electronics has been defined in terms of fundamental elements such as resistors, capacitors, and transistors. However, a new fundamental circuit element called a memristor was recently announced by researchers at Hewlett Packard having properties of both a memory element and a resistor (hence memristor). This article explores applications of memristor devices in creating programmable electronics systems.


Youtube has a video of a memristor symposium held at UC Berkeley in 2008 in which several of the main innovators in memristor electronics (including myself) provided information on the theoretical development and the state of the art in memristor electronics. The video can be found here (my portion starts at 1:25:25). 
 
For companies interested in developing memristor electronics in the areas of signal processing, control systems, or robotics, the following patents are available for license. For further info: e-mail bmouttet@gmu.edu
 
US Patent 7,302,513 - "Programmable Crossbar Signal Processor"
This patent covers a programmable crossbar switching architecture formed with memristive materials at the junctions of the crossbar. Specific applications include waveform generation, signal filtering, communications, and pattern recognition. 
 
US Patent 7,342,413 - "Programmable Crossbar Signal Processor with Input/Output Tip Interconnection"
This patent covers a system to interconnect nanoscale crossbar structures with microelectronic circuitry by using arrays of scanning probe tips.
 
US Patent 7,378,870 - "Programmable Crossbar Signal Processor with Rectification Layer"
This patent covers a symmetrical memristive crossbar structure designed to avoid problems of electrical crosstalk while allowing bipolar switching behavior.
 
US Patent 7,391,235 - "Programmable Crossbar Signal Processor with Op-Amp Outputs"
This patent covers the integration of memristive crossbar circuitry with operational amplifier circuitry to achieve analog circuit functions used in control systems and signal processing. 
 
US Patent 7,447,828 - "Programmable Crossbar Signal Processor used as Morphware"
This patent covers methods of reprogramming or tuning memristive junctions of crossbar circuits based on environmental effects or to achieve signal processing functions.
 
US Patent 7,459,933 - "Programmable Crossbar Signal Processor used in Image Processing"
This patent covers methods of using memristive crossbar circuitry to achieve image and pattern comparison functions.
 
US Patent 7,564,262 - "Crossbar Comparator"
This patent covers a memristive crossbar circuit architecture for achieving an analog comparison function based on the similarity between stored resistance states and detected voltage states.
 
US Patent 7,576,565 - "Crossbar Waveform Driver Circuit"
This patent covers memristive crossbar circuitry used to generate programmable waveforms to drive actuators. Areas of application include inkjet printer drivers, micromirror drivers for displays, robotic systems, and computer systems. 
 
US Patent 7,609,086 - "Crossbar Control Circuit"
This patent covers a memristive crossbar circuit configured to produce an adaptive transfer function.  
 
 
 

INTRODUCTION TO MEMRISTORS

 
    Typically when most people think about electronics they may initially think of products such as cell phones, radios, laptop computers, etc. Others, having some engineering background, may think of resistors, capacitors, transistors, etc. which are the basic components necessary for electronics to function. Such basic components are fairly limited in number and each have their own characteristic function. For example, resistors perform the function of electrical energy dissipation, capacitors perform the function of electrical energy storage, and transistors perform the functions of electrical energy amplification and switching. The arrangement of these few fundamental circuit components form the basis of almost all of the electronic devices we use in our everyday life. Thus the discovery of a brand new fundamental circuit element is something not to be taken lightly and has the potential to open the door to a brand new type of electronics. Based on research by Hewlett-Packard scientists lead by Stan Williams (dependent on a theory originally proposed by Prof. Leon Chua in 1971) such a new fundamental circuit element called a memristor has recently been identified.
 
    This new circuit element shares many of the properties of resistors and shares the same unit of measurement (ohms). However, in contrast to ordinary resistors, in which the resistance is permanently fixed, memristance may be programmed or switched to different resistance states based on the history of the voltage applied to the memristance material. This phenomena can be understood graphically in terms of the relationship between the current flowing through a memristor and the voltage applied across the memristor. In ordinary resistors there is a linear relationship between current and voltage so that a graph comparing current and voltage results in a straight line. However, for memristors a similar graph is a little more complicated. Fig. 1 illustrates the current vs. voltage behavior of memristance similar to that discussed in the paper by Stan Williams or in this earlier study conducted in 2001 by researchers of NASA on manganite based hysteretic resistance materials.
 
 
    In contrast to the straight line expected from most resistors the behavior of a memristor appear closer to that found in hysteresis curves associated with magnetic materials. It is notable from Fig. 1 that two straight line segments are formed within the curve. These two straight line curves may be interpreted as two distinct resistance states with the remainder of the curve as transition regions between these two states. Fig. 2 illustrates an idealized resistance behavior demonstrated in accordance with Fig. 1 wherein the linear regions correspond to a relatively high resistance (RH) and low resistance (RL) and the transition regions are represented by straight lines. Thus for voltages within a threshold region (-VL2<V<VL1 in Fig. 2) either a high or low resistance exists for the memristor. For a voltage above threshold VL1 the resistance switches from a high to a low level and for a voltage of opposite polarity above threshold VL2 the resistance switches back to a high resistance.     
 
   
    While the above described behavior is not entirely unique in that several materials such as chalcogenide materials and perovskite materials have previously been found to have similar properties, the research by Hewlett-Packard provides a clearer understanding of the mechanism behind memristance. With an understanding of the basic mechanisms it will be easier to create new devices and HP already has plans to implement memristors in a new type of non-volatile memory which could eventually replace flash and other memory systems. In the following sections some possible future applications of memristor technology are described.
 
 

SIGNAL PROCESSING WITH MEMRISTORS

 
    One advantage of memristors to electronics is their ease of configurability. Since memristors can be switched between high and low resistances they may be used in a similar manner as fuses used to selectively open and close connections between electronic circuit components. However, in contrast to many conventional fuses the switching may be repeatedly  reconfigured. In addition, when combined with nanowire crossbar interconnect technology previously developed by Hewlett Packard millions of memristor interconnects may be formed in a microscopic amount of space. One powerful application of such reconfigurability is in signal processing which may offer the potential to create electronic devices more capable of adapting to different situations and exhibiting a form of learning which may advance efforts in artificial intelligence. 
 
    However, in order to use memristors in signal processors a suitable architecture needs to be created. One circuit element which may be very useful to the construction of memristor based signal processors is the operational amplifier, or op-amp for short. In one configuration, as illustrated in Fig. 3, an op-amp is provided with negative feedback which produces an inverting amplifier. Such a configuration results in the inverting and non-inverting input terminals to be forced to a common potential and the input current flowing through R1 is balanced by the current flowing through R2 . Combined with Ohm's Law this results in an amplication factor between the output and input voltages set to the ratio between resistances R2 and R1.  
 
 
     Since memristors have the capacity to switch between high and low resistance states an array of memristors may be provided in a crossbar configuration to enhance the operability and configurability of op-amps. Crossbars are basically formed from a first array of vertical conductive wires and a second array of horizontal conductive wires. Between the two arrays is formed the memristance material so that any particular wire in the vertical array can be connected to a wire in the horizontal array by switching the resistance of a particular intersection (i.e. crosspoint) to a low state (essentially a short circuit) with the remainder of the crosspoints remaining in a high resistance state (essentially an open circuit). By separating adjacent vertical wires of the crossbar array with time delay elements and connecting different resistance values between the horizontal wires and the inverting terminal of the op-amp both the amplitude and time delay of the output signal Vout(t) relative to the input signal Vin(t) can be determined by the crosspoints configured to be in the low resistance state. Fig 4 illustrates such a configuration in which the upperleftmost crosspoint is at a low resistance state and all of the other crosspoints are in the high resistance state. Fig. 5 illustrates a reconfiguration of the crossbar array so that a different crosspoint is in the low resistance state. This configuration results in a doubling of the amplification factor compared to the configuration of Fig. 4 (i.e. R/(R/2) = 2) and a relative delay of the signal.
  
     By configuring a single crosspoint to a low resistance state 16 different possible signal outputs are possible, however by allowing for the configuration of multiple crosspoints a maximum of 216 = 65,536 possible signal transformations are possible (note: in order to prevent unwanted feedback paths within the crossbar a rectification layer may be provided or p-type and n-type doping may be performed creating diode junctions at each crosspoint). By using a periodic pulse as the input signal and providing a larger crossbar array with finer time delay between adjacent columns of the crossbar and a larger range of resistances for the different rows there is potential to create a universal waveform generator capable of adapting the amplitude and timing of signals in accordance with a variety of desired applications. An alternative example of a memristor signal processor could include applying signal harmonics (i.e. sin wt, sin 2wt, sin 3wt, ..) instead of time delays to establish a programmable waveform based on Fourier series.
 
 

ARITHMETIC PROCESSING WITH MEMRISTORS

 
    Modern computational systems are based on logic gates which perform elementary operation on bit values (0 or 1) in order to perform operations of addition, subtraction, multiplication, etc. This has been a highly successful methodology for computation, however it has some drawbacks. One disadvantage of logic based computation is that for many operations data has to be repeatedly transferred between memory and the arithmetic logic unit which can be very time consuming for some complex computational problems. For example, multiplication is actually performed by repeated retrieval and storage step for accumulating sums. Another disadvantage is that logic gates are formed from transistors and are subject to the ultimate limits of miniaturization which could eventually end Moore's law. Memristors could offer some solutions which may expand the capabilities of computation beyond tranditional logic gates.
 
    One approach to using memristors in computational processes has already been suggested by Hewlett-Packard researcher Greg Snider in his patent US 7,203,789. The approach is based on programmable logic architectures which are similar to the designs found in reconfigurable computing. However, ultimately his approach may have some drawbacks in that multiple crossbar tiles need to be configured and interconnected for a full arithmetic logic unit design and the problem of segmentation between memory and computation components is not solved. An alternative approach may be based on a hybrid analog/digital computational system approach.
 
    Figs. 6a-6c below show examples of a memristor crossbar array inclusing a horizontal wire intersected by eight vertical wires in which memristor material is sandwiched between the horizontal wire and the vertical wires. An input voltage below the threshold necessary for altering the resistance of the memristance material is applied to the vertical wires. Assuming that the memristor material may be approximated as a fuse (i.e. high resistance is approximately an open circuit and low resistance is a low resistance), the total output current in the horizontal wire may be calculated based on the ratio of the input voltage and the parallel combination of the number of number of low resistances. Thus if one low resistance state produces a current of I, two low resistance states will produce a current of 2I, three low resistance states will produce a current of 3I, etc. This system is essentially a unary analog computer and by providing the output current to and analog-to-digital converter (ADC) a binary output can be produced.
 
    Fig. 7 illustrates an example of how such an analog computational system can be made more practical and provide integration between memory and computational systems.  In the illustrated system each column of the crossbar is configured to store the equivalent of a binary numerical value where low resistance states are indicated as a closed connection and high resistance states are open connections. Thus the first column stores the binary value 0001 (=1), the second column stores the binary value 0010 (=2), the third column stores binary value 0011 (=3), etc. Each row wire includes a weighting resistor set to be sufficiently larger than the low resistance state of the memristance material so that each row has an associated bit significance ranging from a least significant bit row (uppermost row) to a most significant bit row (lowermost row). By selecting particular columns (i.e. applying a positive voltage Vin less than the threshold necessary to alter the resistance of the memristor material) the binary numerical values of these columns may be added together. In the example of Fig. 7, the first, fifth, and sixth column values are summed. In the first column only the upper row crosspoint is in a low resistance state so this contributes a current of approximately (Vin/R). In the fifth column, the first and third row crosspoints are in the low resistance states which contribute (Vin/R + Vin/(R/4)=5Vin/R) to the current. In the sixth column the second and third row crosspoints are in the low resistance states which contribute (Vin/(R/2)+Vin/(R/4)=6Vin/R) to the current. The overall current is thus (Vin/R+5Vin/R+6Vin/R=12Vin/R). Using an analog-to-digital convertor with a resolution set to Vin/R the output is converted to 1100 which is the expected sum (0001+0101+0110).
 
Note: the above description is simplified for ease of explanation. It is noted that for proper operation a pn junction layer or rectification material would preferably be provided between the column and row wiring to prevent feedback paths in the crossbar wiring. Also the low resistance values of the memristor material should be compensated for by tuning of the fixed weighting resistors (e.g. the fixed resistor R in the first row should be changed to R-r, in the second row R/2 should be R/2 - r, etc. where r is the value of the low resistance state). 
     While the above configuration has some deficiencies of its own, such as the reliance on analog circuitry which can be more sensitive than purely digital electronics to noise and environmental effects, it has the advantage of integrating memory with computation. If three, four, or more numbers need to be summed the sum can be performed directly based on binary numbers stored as resistance states in a memristor crossbar array rather than based on a repeated storage and retrieval from a separate memory. In some applications where the relative magnitude of a large number of possible numerical sum is of interest this approach may be even more advantage without the necessity of analog to digital conversion. For example, in the Travelling Salesman Problem it is desirable to optimize the traveling path for visiting a group of cities so that each city is visited exactly once. By defining all the possible distances between the cities and setting the binary resistance states of each column of the memristor crossbar in accordance with these distances, the optimum sums may be compared in accordance with the selection of the input columns. By looking for the lowest possible output current for a set of inputs the optimum travel path can be sought with a less reliance on processor speed.  
   
  
 

PATTERN COMPARISON WITH MEMRISTORS

    In conventional digital electronics comparisons between stored bit patterns and sensed bit patterns is required for a variety of applications in information processing such as image recognition and memory addressing. Often logic gates called Exclusive NOR (XNOR) are used to perform individual bit comparisons to identify matching bits in a pattern. However, such logic gates can be inefficient when dealing with large array bit patterns associated with visual images, digitalized voice data, or other complex patterns since each bit comparison requires its own logic circuit. A variety of computer software tricks exist to make data comparisons more efficient but these tricks can have a detrimental effect on the overall speed of the pattern comparison. Memristor crossbar arrays offer the potential to bridge the gap between hardware solutions based on logic gates and software solutions based on computing power offering faster and more efficient pattern comparison operations. Fig. 8 below illustrates one possible configuration for such a memristor crossbar array used for pattern comparison in which two 4x4 crossbar arrays are included with logic inverters connected to the right crossbar array and voltage converters provided for selective amplification of the input voltage levels. The crossbar arrays initially includes memristance material configured to be at a high resistance state between the column and row wiring (a rectification layer may also be provided to avoid feedback between the crossbars). 
 
 
     
    Figs. 9-12 illustrate the programming (writing) of the resistance states in the memristor crossbar in which each row is selected via a correponding output transistor. For programming the resistance states the voltage convertor circuitry is used to amplify a binary input logic voltage into a range sufficient for switching the memristance material from the high resistance state to the low resistance state. For simplicity of explanation the low resistance state is approximated as a short circuit.
 
    In Fig. 9 below the first crossbar rows are written with resistance states corresponding to a 1010 in the left crossbar array and a 0101 in the right crossbar array (1=low resistance state, 0=high resistance state).  
 
 
    In Fig. 10 below the second crossbar rows are written with resistance states corresponding to a 0111 in the left crossbar array and a 1000 in the right crossbar array (1=low resistance state, 0=high resistance state).  
 
 
    In Fig. 11 below the third crossbar rows are written with resistance states corresponding to a 1100 in the left crossbar array and a 0011 in the right crossbar array (1=low resistance state, 0=high resistance state).
 
  
    In Fig. 12 below the fourth crossbar rows are written with resistance states corresponding to a 0010 in the left crossbar array and a 1101 in the right crossbar array (1=low resistance state, 0=high resistance state).  
 
 
    After storing the resistance states in the crossbar rows the voltage converter can be swiched to a comparison mode by reducing the amplification factor so as to be below the threshold which alters the memristance material. By selecting all of the rows an input binary pattern van be compared to all of the rows simultaneously. In Fig. 13 the bit pattern 0111 is input to the crossbar array producing relative current outputs for each row in accordance with the number of matching resistance states. For example, the first row stores 1010/0101 which only matches a single bit with the input pattern 0111 and transmits a single unit of current from the left crossbar array. In contrast row 2 stores 0111/1000 and thus transmits three units of current from the left crossbar array and one unit of current from the right crossbar array providing a total of four units of current. Thus the magnitude of the output currents between the input bit pattern and the stored bit pattern for each row provide an indication which is somewhat related to the Hamming distance used in information theory (i.e. a higher current magnitude corresponds to a lower Hamming distance).  
 
 
 
    The output currents of Fig. 13 may be transmitted to a comparison circuit with a threshold set in accordance with the degree of precision desired between the input and stored bit pattern. A reduced threshold allowing for a certain percentage of bit errors could be useful to a variety of applications such as voice recognition and image sensing in which the closest match rather than exact match between bit patterns is important. In other applications, such as robotics, a motor or actuator may be connected to each row output and the input pattern may correspond to a control word used to generate a response for the motor or actuator of a corresponding row. Artificial intelligence is another potential application in which the digitial input patterns may correspond to visual or audio cues used to "train" the memristor crossbar arrays as indicated in Figs.8-12. At a subsequent time these same visual or audio cues can then be used to solicit the trained responses in the comparison mode.  
 
    This type of crossbar architecture could of course be scaled up to crossbar arrays having hundreds or even thousands of rows and columns allowing for comparison of more lengthy bit patterns and a higher degree of parallel processing.
 
 
    
 

PROGRAMMABLE SIGNAL FILTERS WITH MEMRISTORS

    As discussed in the above section on signal processing with memristors, operational amplifiers combined with memristors can produce some useful applications in reconfigurable signal processing. These capacities may be extending by including capacitors in the circuit construction. Capacitors are electrical elements that have the property that the current flow through the capacitor is based on both the magnitude of the voltage signal applied across the capacitor as well as the frequency of the voltage signal. For low frequency signals, capacitors act as high impedance elements which means that very little current is transmitted and the capacitors act like an open circuit. For high frequency signals, capacitors act as low impedance elements which means that the capacitors act as a short circuit allowing for a lot of current flow. At intermediate frequencies capacitors act to tune the magnitude of the transferred current. These capabilites provide capacitors with the ability to selectively transmit signals which is very useful to applications in communications and control systems. 
 
    The combination of capacitors with operational amplifiers is already known to produce some very useful circuit designs. For example, the circuit of Fig. 14 illustrated below utilizes a resistor R1 as a negative feedback element of the operational amplifier and a capacitor C1 as an input element. In this case the magnitude of the ratio between the output voltage    Vout(t) and input voltage Vin(t) is equal to the ratio of the impedance of the resistor R1 and capacitor C1. For capacitors this impedance is expressable in terms of the input frequency f and capacitance C1 as 1/(2pf x C1). Thus the magnitude of the ratio Vout(t)/Vin(t) =  2pf x R1 x C1 and the transmission ratio is proportional to the frequency. This type of behavior is used to create a high pass filter useful for communication applications. In control systems applications this same circuit is used as a differentiator in which case the output signal is related to the mathematical derivative of the input signal.
 
 
 
    Fig. 15 provides another example of the use of capacitors with operational amplifiers in which the positions of the capacitor and resistor of Fig. 14 is reversed. In this case the magnitude of the ratio of the voltage output to input is equal to the ratio of the impedances of C1 to R1 which is expressed as 1/(2pf x R1 x C1). In this case the circuit acts to transmit low frequency signals and attenuate high frequency signals and is thus referred to as a low pass filter. In control systems applications this same circuit acts as an integrator in which case the output signal is related to the mathematical integral of the input signal.  
 
        While the above circuits are useful to communication and control systems there are a variety of circumstances where variations in temperature or other conditions can change the characteristics of the resistors and capacitors. In addition selective tuning of the resistors and capacitors is desirable for communication applications. While variable resistors and capacitors may be used to serve this function the analog behavior of these devices can be difficult to regulate with digital precision. This is where memristance crossbars can offer an advantage. Fig. 16 below illustrates an operational amplifier connected to an array of fixed capacitors having values set in multiples of 2. Memristor crossbar arrays are connected between the capacitor arrays and the inverting input of the operational amplifier which may provide for programmable interconnections for selected capacitors. This configuration allow for reconfiguration of the circuit to act as an amplifier (Fig. 17), a high pass filter (Fig. 18), or a low pass filter (Fig. 19) by applying the appropriate voltages via memristance programming circuitry. In addition, different capacitors or combinations of capacitors can be included in the circuit via a reconfiguration of the memristance states to tune the cutoff frequency of the circuit. Assumming that the low resistance state of the memristance material is suitably low so as to approximated by a short circuit, the capacitors may be treated as being in parallel when multiple crosspoints are set to a low resistance state. Since the capacitors are set in multiples of two this results in the possibility of creating a wide range of cutoff frequency for a low or high pass circuit according to the digital pattern stored in the crossbars. For example, Fig. 17 would correspond to the state (10000 10000), Fig. 18 would correspond to the state (01000 10000), and Fig. 19 would correspond to the state (10000 01000). The resolution of such a system would be set by the minimum capacitor values (C/8 in the examples of Fig. 16-18) but could be increased by adding more columns to the crossbar arrays with associated capacitors. Connecting two of the circuits of Fig. 16 in series can provide for a programmable bandpass filter in which case one of the filters can set the lowpass cutoff frequency and the other can set the highpass cutoff frequency.  In another application a reconfigurable PID controller may be implemented by connecting three circuits such as Fig. 16 in parallel. This can provide for a tunable control system that can adjust itself to different conditions or applications and may be particularly useful in adaptive robotic systems.   
 
 
 
 

MEMRISTORS AND ARTIFICIAL INTELLIGENCE

   
    In the last sentence of the Nature article “The Missing Memristor Found” a mention is made of the synapse-like function of memristors. This capability of memristors may open the door to physical implementations of neural networks. One possible construction of such a neural network in the form of crossbar arrays has already been worked out by Greg Snider, a co-author of the Nature article, who has patented the basic design (US Patent 7,359,888). While neural networks themselves are nothing new, the implementation is typically in the form of software to simulate the behavior of synapse networks. However, software solutions to Artificial Intelligence have a fundamental drawback in that the data needs to be transferred between a memory, which stores the software data, and a processor, which computes based on the data. This requirement of data transfer generates an intrinsic delay and inefficiency which limits all software based A.I. A physical neural network can overcome this deficiency be merging data storage and processing into a single electronic device.
    More general ways are also conceivable to implement A.I. using memristor crossbars in the form of morphware. Conventionally electronic systems may broadly be defined into two distinct classes - hardware systems and software systems. Hardware-based electronic systems are formed using specialized circuitry and are typically faster than software-based electronics but lack adaptability. In contrast, software-based systems, which are based on programs run on a general purpose microprocessor, are more adaptable but lack the speed of specialized hardware. Morphware bridges the gap between hardware and software by using the 0’s and 1’s, which typically defines the software instructions, to instead define the interconnections between basic circuit elements forming the hardware. Programmable logic systems such as FPGAs already take advantage of this approach and memristor crossbar arrays can improve the adaptability of such systems.
    Fig. 20 illustrates one possible implementation of a memristor crossbar array as morphware. The crossbar array is formed from a vertical array of p-doped wiring and a horizontal array of n-doped wiring. Memristance material is formed between the two wiring arrays. The p-type and n-type doping generates a diode structure at each junction of the crossbar array which prevents feedback  paths within the crossbar and the memristance material may be configured to a high or low resistance using programming circuitry. By representing the high resistance state of a memristor material as a logic value 0 and a low resistance state of a memristor material as a logic value 1 the crossbar effectively acts as a binary matrix transformation on a set of input signals A, B, C, and D. The input signals A, B, C, and D may correspond to sensory signals based on vision, hearing, touch, etc. received from arrays of detection devices. The output signals may correspond to signals used to actuate motors or visual/audio output devices. The particular state of the binary crossbar matrix thus defines a particular action such as a robotic movement based on sensory signals.

The implementation of Fig. 20 may be especially useful for A.I. when combined with software techniques such as hill climbing or genetic algorithms. In a hill climbing approach the resistance state of each crosspoint can be switched one at a time and the signal outputs of the crossbars can be tested against a threshold to determine if the behavior is improved over the previous iteration. By maintaining alterations which improve the quality of the output and reversing alterations that diminish the quality of the output, repeated iterations can gradually improve the behavior of the system. However, for large crossbar arrays this method can be time consuming. For example, a moderately small 100x100 binary crossbar array having 100 input wires and 100 output wires a total of 210000 possible states (approx. equivalent to a number represented by 103000 which is 1 followed by 3000 zeros). Programming based on genetic algorithms may be used to more quickly optimize the binary states of the crossbar array. Genetic algorithms use steps of selection, crossbreeding, and mutation on binary strings of data to “evolve” better solutions to computational problems. When applied to the two dimensional binary resistance states of a crossbar memristor array, signal transformations may be optimized to perform particular tasks. The use of genetic algorithms in memristor crossbars may be further optimized by providing communication between large numbers of memristor crossbar arrays each of which may be representative of a “species” competing to best perform a particular task.

MEMRISTORS AND ROBOTICS

 
   Most robotic systems include three basic elements - sensors, actuators, and processors. The sensors detect the surrounding environment and, depending on the complexity of the robots design, can include simple sensors such as photodiodes, microphones, thermistors to detect the basic light, sound, and temperature or more complex sensors such as imaging sensors, voice recognition devices, and tactile interfaces. Actuators are a generic term for motion inducing devices and, when applied to robotics, often take the form of motors used for translational and/or rotary motion of the robotic system. A key problem of robotics is to find a way to map a set of sensor signals commonly detected by the robot to appropriate responses by the actuators. For example, if one were to design a robotic arm simulating a human arm one could use motors to rotate a plurality of joints with one joint representing the elbow, one joint representing the wrist, three joints representing each finger, and two joints representing the thumb. Assuming an independent motor is used for each joint a total of 16 motors would be required for this particular design. If one wanted to provide this robotic hand with the ability to pick up an object it would be useful to include an imaging sensor for the robotic system. However, in order for the robotic arm to properly respond to the detection of an object by the imaging sensor an additional component is necessary to process the information and generate the appropriate control signals to the motors. Conventionally this additional component is either a microprocessor performing under software or application specific hardware designed for a specific function. However, software based control can have reduced reaction times due to the delay required to transfer instructions between a memory storing the instructions and the processor. Hardware based solutions may be faster but are less adaptable to different situations. However, memristor based robotics may be able to bridge the gap allowing for both adaptability and quick response times. One example of such an implementation is described below.
 
 
    Fig. 21 above illustrates the basic components for a robotic system. The sensors may be provided to detect images, sounds, temperatures, or any other desirable environmental condition. If necessary analog-to-digital conversion may be used to digitalize these signals and the digitalized signals may be combined in an overall bit pattern identifying the state of the environment. This bit pattern may then be input to a sensor/memory decoder configured as described in the prior section on pattern comparison with memristors. As previously described, this bit pattern can be directly stored in a dual crossbar array structure having complementary high/low resistance states. Thus during a programming or learning stage a robotic system can "learn" different environmental condition states and map them into the resistance states of the crossbar junctions. At a later time during a non-programming stage (i.e. input voltage<threshold voltage for memristance switching) a similar environmental pattern will produce maximum current output for the row having resistance bit values that match the input binary pattern (for example in Fig. 22 row 2 is the best match to an environmental input state of "0111"). One key benefit of this system is that there is a certain degree of tolerance to bit errors when a large number of columns are used to construct the crossbar and the associated environmental bit state. For example, if 10 bits are unmatched in a 100 column crossbar this would still provide 90% of maximum current output. This flexibility which focuses on a closest rather than exact match may be very useful to pattern recognition.  
 
 
 
    In order to properly control the movement of a robotic system the actuation timing of the motors used to drive movement should be sequenced in a particular fashion. In the robotic arm example in order for the arm to pick up an object detected by a visual sensor it may need to actuate the elbow motor first for a specific amount of time followed by the wrist motor followed by certain finger joints, etc. In order to achieve proper sequencing matched to the environmental input state a memristor crossbar may be configured as described in the previous section on Artificial Intelligence applications. In this case time delay elements may be provided between each column of the crossbar to generate an actuation sequence for an array of motors. In the example of Fig. 23 at time t=0, motor 3 is activated, at time t=T, motors 2 and 3 are activated, at time t=2T motors 1, 3, and 4 are activated, and at time t=3T motor 2 is activated. The states for an appropriate sequencing may be programmed by a user if it is easy to identify a correct pattern. However, it may be preferable to simply configure a resistance bit pattern into the crossbar that is only an approximately good sequence and use automated techniques such as hill climbing and genetic algorithms, as described in the previous section, to optimize the sequencing. Once discovered, the optimized crossbar resistance bit sequencing patterns corresponding to particular environmental input bit patterns could be shared between robotic systems having the same design type.   
 
 
 
 
 
 

MEMRISTORS AND VIRTUAL REALITY

 

    Virtual reality is a common theme in numerous science fiction novels and movies and usually is associated with an immersive interactive simulated environment providing at least audio and visual stimulation. To some degree many technologies developed over the past century can be classified as virtual reality to some extent. Radio for example can provide a “virtual” presentation of live musical performances while television and movies present the “virtual” presentation of dramas and comedies which were limited to live theatrical performances in previous centuries. However, radio and television provide only a one-sided virtual performance and do not provide for the interactivity usually associated with virtual reality. In the past decade this has begun to rapidly change with the growth of the internet and improvements in interactive video and video gaming technologies. But all of these technologies are still indirect forms of virtual reality clearly distinguishable from real world interaction. In order to generate a truly immersive virtual reality a more direct interface between computers and the human brain would be desirable. Steps in this direction have already begun and are starting to appear in commercial products such as produced by the company Emotiv which has designed a video gaming interface system which can directly sense a user’s emotional state to control game characters. However, this type of interface system is still at a crude stage of development and in order to improve this type of system, and generate a more immersive virtual reality, memristor crossbars may offer some advantages.

    Fig. 24 above illustrates a basic system diagram for a virtual reality system including a neural input interface connecting computer inputs to the human brain via a plurality of microelectrodes or nanoelectrodes and a neural output interface connecting the human brain via a plurality of microelectrodes or nanoelectrodes to computer outputs. One key problem to this type of system (besides physically establishing the electrode connections to the brain) is that the waveforms defining brain activity can be very complex and the virtual production of signal waveforms capable of producing the same effect as the actual signals received from sense organs (i.e. eyes, ears, nerve endings, etc.) may be very difficult to accomplish. Brain waveforms have typically been defined by electroencephalography in terms of Delta, Theta, Alpha, Beta, and Gamma wave patterns which are all relatively low frequency (<100 Hz) signals but can include complex wave shapes. In order to manufacture the complex brain wave pattern which accurately corresponds to real experiences or sensations one strategy is to start with a set of primitive simple waveforms. This same type of strategy is often employed in communication systems which employ a technique called Fourier series to decompose any complex periodic waveform into a weighted sum of simple sinusoidal functions and their harmonics. Based on the weighted sum of these simple basis waveforms more complex waveforms can be constructed. Figs. 25 and 26 provide examples of how memristor crossbars may be used to accomplish such a construction.

     In Fig. 25 a crossbar arrangement is illustrated as an input neural interface in which simple input voltage signals from a computer are transmitted to the column wires of the crossbar and currents are received from the row wires of the crossbar. Memristor material is deposited between the column and row wires which may be programmed to have one of a plurality of possible resistance states based on the application of voltages or currents above a minimum threshold necessary for change in the memristance states. To avoid feedback with the crossbar structure the column wires may be formed from p-doped semiconductor material while the row wires may be formed from n-doped semiconductor material which establishes in each crossbar junction a diode junction allowing signal current flow only in the direction from the column wires to the row wires. The net effect of this type of configuration produces output current signals (I1, I2, I3, I4) based on both the input voltage signals (V1, V2, V3, V4) and the particular conductivity states of the memristance material at the crossbar junctions. Assuming that losses due to parasitic and rectification effects are minimal the overall transfer function between the input voltages and output currents may be compactly expressed as (using Kirchhoff's current law):

Ij(t) = ∑ Gij x Vi(t)

where ∑ is a summation operator with respect to index i, i and j represent the column and row indices (each ranging from 1 to 4 in the illustrated example) and Gij is a matrix representing the programmed conductances of the crossbar at the intersection of the ith column and jth row. The benefit of this approach is that a large range of complex wave signals can be generated based on a relatively small set of simpler signals serving as basis functions. Using a programming circuit to periodically change the states of the memristors in the crossbar junctions can effectively alter visual, audio, or other stimulated experiences which a particular combination of brain waves may represent.   

    Fig. 26 illustrates a similar configuration as that of Fig. 25 except that the memristor crossbar is configured as an output device to detect brain waves and translate the brain waves into signals suitable for a computer or microcontroller. In this case the row wires may be formed from p-doped semiconductor material and the column wires may be formed from n-doped semiconductor material to avoid feedback paths within the crossbar. The output currents may similarly be expressed (again assuming that losses due to parasitic and rectification effects are minimal) as

Ii(t) = ∑ Gji x Vj(t)

where ∑ is a summation operator with respect to index j, i and j represent the column and row indices (each ranging from 1 to 4 in the illustrated example) and Gji is a matrix representing the programmed conductances of the crossbar at the intersection of the ith column and jth row.  In this case instead of attempting to generate a complex waveform replicating the function of a brain wave from simple waveforms the memristor crossbar could be used to filter complex waveforms generated by the human brain and produce simpler waveform patterns which may be easier for a computer to interpret.

 

INTERCONNECTING NANOSCALE MEMRISTOR CROSSBARS WITH MICROELECTRONICS

 
    One key difficulty in implementing nanoscale memristor crossbars is interfacing the crossbars with more conventional electronics systems. Since the interconnect wiring in most electronic designs may have widths on the order of microns some type of addressing system will be necessay to encode and decode data between the microscale wires of the conventional electronics and the nanoscale wires of the crossbars. A demultiplexer system was invented by researchers at Hewlett-Packard in 1999 to deal with this problem. While this type of addressing system has been improved over the past several years by various reseachers at HP and elsewhere, the addition of the demultiplexing circuitry make the crossbar design more complex. 
 
    Another difficulty in the integration of nanoscale memristor crossbars and conventional electronics systems is that different manufacturing techniques are used for making conventional electronics such as CMOS and the nanoscale crossbars. CMOS fabrication typically involves steps of film deposition, lithography, etching, doping, etc. which usually occur at specific temperatures and pressures in a clean room environment. Meanwhile nanoscale crossbar fabrication steps often employ techniques such as nanoimprint lithography and self-assembly which usually occur under very different environmental conditions. Researchers have considered fabricating crossbars on top of CMOS circuitry in a system called "CMOL" however this may not be a promising approach since CMOS structures often have a top protective layer which is non-planer leading to an increase in defects if the nanowires were to be patterned on the surface.
 
    A better solution to the problem of interconnecting nanoscale crossbars to microelectronics may emerge from a tool well known for use in inspecting nanoscale structures - the atomic force microscope. While originally invented to inspect matter on the nanoscale, the uses of this tool have been expanded in recent years to include fabrication on the nanoscale and massive arrays of microfabricated AFMs have been developed by a company called Nanoink as a way to coat nanoscale line width patterns on a substrate. By forming the AFM tips of an electrically conductive material this same type of technology may be used to address individual input and output nanowires of nanoscale crossbar arrays. This implementation of AFM tips to nanowire crossbar arrays is covered by my patent US 7,342,413 which teaches selectively forming connections between microcircuitry and particlular row and column wires of the crossbar using the micropositioning elements associated with the AFM. Taking this concept a step further an arrangement of nanoscale interconnect tips formed of a resilient material (such as high density arrays of vertical multiwall carbon nanotubes) may be fabricated to extend from a second substrate separately from a first substrate on which nanoscale crossbars are formed. This first and second substrate may then be affixed relative to one another in an opposing fashion aligned via piezo based nanopositioning techniques. Such a technique may be used to interconnect plural crossbar arrays without using complex demultiplexing or multiplexing circuits as discussed in this pending patent application.
 
 
            
 

MANUFACTURING TECHNIQUES

 
     One of the key fabrication advantages of the crossbar architecture is that the structure is a well ordered, periodic and simple structure. However, to achieve nanoscale resolutions the standard lithography approaches are insufficient. The manufacturing techniques for the nanoscale crossbar devices developed by Hewlett-Packard include nanoimprint lithography, which uses a stamp-like structure with nanometer resolution to transfer a pattern of nanoscale resolution to a substrate. Additional nanoscale fabrication approaches can include self-assembly techniques in which a mixture of polymers or other materials can form periodic structures on a surface based on processes of energy minimalization. These self-assembly techniques can be used to form a periodic mask structure over a metal film which can act as a resist to control removal of metal layers in regions not covered by the mask resulting in the desired metal nanowires required for the crossbar structure. 
 
     But while the nanoscale fabrication approches may be critical to high density memory design, the problem of defects become more pronounced. In addition, compatibility with conventional fabrication approaches will likely be necessary for mass production of memristor based electronics. Several applications in pattern recognition and signal processing, as detailed above, may in fact not yet require nanometer scale resolution to provide competitive solutions and applications in robotics and artificial intelligence since in these areas it is the reconfigurability of the memristor material rather than the scalability that can provide the key benefits. Figs. 27 and 28 below illustrate a basic outline for one possible fabrication procedure using the typical processes of film deposition, lithography, and etching from semiconductor manufacture. In Fig. 27, a metal film, a p-doped polysilicon layer, and an n-doped polysilicon layer are deposited on an oxidized Si wafer and a resist film is coated and lithographically patterned followed by etching to form electrically isolated input wiring columns of the crossbar. The p-type and n-type polysilicon layers are included to establish a rectification layer which help to avoid feedback within the crossbar structure. As illustrated in Fig. 28 a dielectric filler is deposited in the etched region followed by planarization and a thin film deposition of TiO2/TiO2-x or other resistance switching material. Output metal wiring perpendicular to the input wiring is then deposited and patterned above the memristor material to complete the crossbar structure. 
 
 
 
 

Comments

Fundamental problem

From my understanding, the different architectures that you present would need to add a rectification element (i.e. a diode) in series with the memristor devices in order to prevent unwanted feedback paths. There is however a fundamental problem which is that the memristor is by definition a bipolar device with a hysterisis loop that goes through zero (cf Leon Chua aritcle). The fact of adding a diode would prevent the programming of the device as it would not allow to travel along the hysterisis loop anymore.
Thanks in advance for commenting on this point and saying if you have thought of a solution to this issue.

Last edited Jul 5, 2009 9:13 AM
Report abusive comment

good article

hi Blaise,
thanks for your article and for your comment on my blog - can i post a link to your article from my blog?thx, Jamie
jamie.beckett@hp.com

Last edited Aug 15, 2008 1:44 PM
Report abusive comment

signal processing?

Nice article. Clear explanation.

I guess I'd call section 2 "programmable waveform generation with memristors." The term "signal processing" in the title suggests transforming input signals. It would be interesting to learn about circuit architectures to do that, too.

Last edited Aug 3, 2008 12:39 PM
Report abusive comment