WO2012102734A1 - Methods, systems and apparatus for resistive memory - Google Patents

Methods, systems and apparatus for resistive memory Download PDF

Info

Publication number
WO2012102734A1
WO2012102734A1 PCT/US2011/023041 US2011023041W WO2012102734A1 WO 2012102734 A1 WO2012102734 A1 WO 2012102734A1 US 2011023041 W US2011023041 W US 2011023041W WO 2012102734 A1 WO2012102734 A1 WO 2012102734A1
Authority
WO
WIPO (PCT)
Prior art keywords
resistive memory
memristor
read
read signals
memory element
Prior art date
Application number
PCT/US2011/023041
Other languages
French (fr)
Inventor
Janice H. Nickel
Gilberto Medeiros Ribeiro
Philip J. Kuekes
Original Assignee
Hewlett-Packard Development Company, L.P.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett-Packard Development Company, L.P. filed Critical Hewlett-Packard Development Company, L.P.
Priority to PCT/US2011/023041 priority Critical patent/WO2012102734A1/en
Publication of WO2012102734A1 publication Critical patent/WO2012102734A1/en

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0007Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising metal oxide memory material, e.g. perovskites
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/004Reading or sensing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/004Reading or sensing circuits or methods
    • G11C2013/0057Read done in two steps, e.g. wherein the cell is read twice and one of the two read values serving as a reference value
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0069Writing or programming circuits or methods
    • G11C2013/0073Write using bi-directional cell biasing

Definitions

  • Resistive memory elements such as resistive random-access memory (“RRAM”) are susceptible to alteration of information stored at these memory elements as a result of changes in their resistance over time. Such change in resistance over time is often referred to as resistance creep. Resistance creep can be caused by voltages and/or currents applied to resistive memory elements, temperature, time passage since the resistance was set, and/or other internal or external stimuli to such resistive memory elements.
  • a memristor can be used as memory element at which information can be stored based on the variable resistance of the memristor. Because the resistance of a memristor varies according to the voltage applied to or charge passing through the memristor, reading the information at the memristor can change the resistance of the memristor as a result of a voltage applied to the memristor to read that information. Such changes in resistance can alter the information stored at the memristor, resulting in corruption of that information. Similarly, information stored at phase-change memories can be altered as a result of resistance creep. BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a system including a controller and a resistive memory element array, according to an embodiment.
  • FIG. 2 is an illustration of read disturbances at a memristor, according to an embodiment.
  • FIG. 3 is a flowchart of a process to mitigate read disturbance at a memristor, according to an embodiment.
  • FIGS. 4A, 4B, and 4C are illustrations of read disturbances and reverse signals at a memristor, according to one or more embodiments.
  • FIG. 5 is a flowchart of a process to mitigate read disturbance at a memristor, according to another embodiment.
  • FIG. 6 is a flowchart of a process to mitigate read disturbance at a memristor, according to another embodiment.
  • FIG. 7 is a schematic block diagram of a resistive memory system, according to an embodiment.
  • FIG. 8 is a schematic block diagram of a resistive memory system, according to another embodiment.
  • FIG. 9 is a schematic block diagram of a resistive memory module, according to an embodiment.
  • Resistive memory elements are devices that store information as a variable resistance value of those devices. That is, two or more resistance states (or states) such as ranges of resistance or specific resistance values can be defined for resistive memory elements, and information can be stored at these resistive memory elements by altering their resistance (e.g., by applying a voltage, a current, a temperature, and/or other stimulus or combination of stimuli) to be in a particular state (e.g., within a particular defined range).
  • Resistive random access memories include, for example, phase-change random access memory (“PCRAM”), conductive bride random access memory (“CBRAM”), memristor memory, and metal oxide random access memory (“OxRAM”).
  • a memristor is an electronic element that has a resistance that is dependent upon the charge (or current) that passes through that electronic element over time.
  • the resistance of a memristor varies based on the current or voltage applied to the memristor.
  • memristors exhibit an information storage or memory property based on the relationship between the resistance of a memristor and the amount of charge (i.e., a current) that has passed through that memristor.
  • a memristor can be set to a high-resistance on state by applying a positive voltage to the memristor until a sufficient charge has passed forward through the memristor to cause the memristor to have a high resistance.
  • the memristor can be reset to a low-resistance off state by applying a negative (relative to the positive voltage) voltage to the memristor until a sufficient charge has passed reverse (relative to forward above) through the memristor to cause the memristor to have a low resistance.
  • the state of the memristor can be later read by, for example, applying a read voltage signal to the memristor, measuring the amount of current flowing through the memristor, and applying Ohm's law to the read voltage and current to determine the resistance of the memristor. Because the state of the memristor is defined by the resistance, a high resistance indicates the on state and a low resistance indicates the low state. Thus, information can be stored at a memristor as a resistance value.
  • a memristor can have more than two states where each state is characterized or defined by a range of resistance values.
  • memristors can be binary (i.e., have two - on and off - states) or be n-ary where n is the number of states of the memristor.
  • the read voltage signal typically has a smaller magnitude than the magnitude of a write voltage signal
  • the application of a read voltage signal to the memristor necessarily causes a current to flow the through memristor, and this current alters the resistance of the memristor because the resistance of the memristor is dependent upon the history of current through the memristor.
  • one read voltage signal or a group of read voltage signals can sufficiently alter the resistance of the memristor to cause a state change at the memristor.
  • a group of read voltage signals can cause the resistance value of the memristor to change from a range of resistance values associated with the off state to a range of resistance values associated with the on state (or from the off state to the on state depending on the state convention of the memristor or system in which the memristor is included).
  • alternating current or voltage
  • the averaged current through the memristor during a read voltage signal in such systems does not typically cause a state change.
  • use of alternating current (or voltage) in some systems such as digital systems can be undesirable.
  • Embodiments discussed herein can mitigate or prevent unintended state changes in resistive memory elements (or resistive memories) such as memristor memories using reverse read voltage signals with polarities different from polarities of read voltage signals used to determine the state of a memristor.
  • a reverse read voltage signal (or reverse read signal) can be applied to a memristor to counteract the effect of read voltage signals (or read signals) provided to the memristor.
  • Such reverse read signals can be applied or provided to one or a group of memristors probabilistically, at a set interval, or after a predetermined number of read signals to compensate for read signals applied to the one or group of memristors and thereby mitigate or prevent state changes due to these read signals.
  • the singular forms “a,” “an,” and “the” include plural referents unless the context clearly dictates otherwise.
  • the term “memristor” is intended to mean one or more memristors or a combination of memristors.
  • the term “module” refers to circuitry and/or software, firmware, programming, machine- or processor-readable instructions, commands, or code that are stored at a memory and executed or interpreted at a processor.
  • FIG. 1 is a system including a controller and a resistive memory element array, according to an embodiment.
  • Memory system 100 includes controller 170 and resistive memory element array 180. Controller 170 is coupled to (or in communication with) resistive memory element array 180 via bit lines B1 , B2, and BM and word lines W1 , W2, and WN. Although three word lines W1 , W2, and WN and three bit lines B1 , B2, and BM are illustrated in FIG. 1 , memory system 100 can include more or fewer bit lines and/or word lines. That is, memory system 100 can include N word lines and M bit lines.
  • Resistive memory element array 180 includes a group of resistive memory element including resistive memory element 1 1 1 , 1 12, 1 1 M, 121 , 122, 12M, 1 N1 , 1 N2, and 1 NM.
  • resistive memory elements 1 1 1 , 1 12, 1 1 M, 121 , 122, 12M, 1 N1 , 1 N2, and 1 NM can be memristors implemented at, for example, nanowire intersections of nanowire crossbar arrays. That is, resistive memory element array 180 can be a nanowire crossbar array with memristors implemented at the nanowire intersections of that nanowire crossbar array.
  • a nanowire crossbar array can be composed of a first layer of approximately parallel nanowires that are overlain by a second layer of approximately parallel nanowires.
  • the nanowires of the second layer are typically approximately
  • Nanowires in a nanowire crossbar array can have various forms or shapes of cross sections. For example, nanowires can have rectangular, square, circular, elliptical, or more complex cross sections. The nanowires may also have many different widths or diameters and aspect ratios or eccentricities.
  • nanowire crossbar may refer to crossbars having one or more layers of sub-microscale wires, microscale wires, or wires with larger dimensions, in addition to nanowires.
  • Such layers can be connected one to another by vias, for example, as in a dual damascene process.
  • the layers can be fabricated by mechanical nanoimprinting techniques, photolithography, and electron beam lithography.
  • nanowires can be chemically synthesized and can be deposited as layers of approximately parallel nanowires in one or more processing steps, including Langmuir-Blodgett processes. Other alternative techniques for fabricating nanowires may also be employed.
  • a two-layer nanowire crossbar comprising first and second layers can be manufactured by any of numerous processes.
  • nanowire crossbar may be connected to microscale address-wire leads or other electronic leads, through a variety of different methods in order to incorporate the nanowires into electrical circuits.
  • nanoscale electronic components such as resistors, and other familiar basic electronic components, can be fabricated to interconnect two overlapping nanowires. Any two nanowires connected by a device is called a "crossbar junction".
  • a nanowire crossbar can include an intermediate layer disposed between a first layer of approximately parallel nanowires and a second layer of approximately parallel nanowires.
  • the nanowires of the second layer typically being substantially perpendicular to the nanowires of the first layer.
  • the intermediate layer can include first and second sub-layers.
  • the first sub-layer can be composed of an undoped primary active material
  • the second sub-layer can be composed of a doped secondary active material, respectively.
  • the intermediate layer and dopants of the second sub-layer are selected to form memristors at each nanowire intersection.
  • the intermediate layer can be composed of titanium dioxide and the dopants can result in a lack of (or missing) oxygen atoms within the titanium dioxide.
  • the nanowires of the first layer and the second layer can be composed of suitable metals or semiconductor materials and serve as electrodes to the memristors at the nanowire intersections. Other materials can be used in different resistive memories.
  • the first sub-layer can be an amorphous material and the second sub-layer can be a crystalline material.
  • Controller 170 includes logic, circuitry, and/or software hosted at such logic or circuitry to write (or store) data at resistive memory element array 180 and read data at resistive memory element array 180. More specifically, controller 170 provides write signals and read signals at bit lines B1 , B2, and BM and W1 , W2, and WN to write and read, respectively, data at the resistive memory elements of resistive memory element array 180. For example, controller 170 can write a binary value of '1 ' to resistive memory element 11 1 by setting resistive memory element 1 1 1 to a high-resistance or on state. As a specific example, controller 170 provides a ground voltage reference signal at word line W1 and a positive voltage signal such as 1 V at bit line B1.
  • a negative 0.5V voltage signal can be applied to word line W1 and a positive 0.5V voltage signal can be applied to bit line B1.
  • These signals can be collectively referred to as a write signal or a set signal. That is, these signals are used to write a value to resistive memory element 1 1 1.
  • the remaining word lines and bit lines are floating or in a high impedance state. Because resistive memory element 1 1 1 is uniquely accessed at resistive memory element array 180 by the combination of word line W1 and bit line B1 , electrical charge flows (in the conventional current model) through resistive memory element 1 1 1 from bit line B1 to word line W1 and resistive memory element 1 1 1 is set to its high-impedance or on state.
  • controller 170 can write a binary value of ⁇ ' to resistive memory element 1 1 1 by resetting resistive memory element 1 1 1 to a low-resistance or off state.
  • controller 170 provides a ground voltage reference signal at word line W1 and a negative voltage signal such as -1 V at bit line B1 .
  • a positive 0.5V voltage signal can be applied to word line W1 and a negative 0.5V voltage signal can be applied to bit line B1.
  • These signals can be collectively referred to as a write signal or a reset signal. That is, these signals are used to write a value to resistive memory element 1 1 1.
  • the remaining word lines and bit lines are floating or in a high impedance state.
  • resistive memory element 1 1 1 is uniquely accessed at resistive memory element array 180 by the combination of word line W1 and bit line B1 , electrical charge flows (in the conventional current model) through resistive memory element 1 1 1 from word line W1 to bit line B1 and resistive memory element 11 1 is reset to its low-impedance or off state.
  • writing data to resistive memory element array 180 is discussed above as writing data to one resistive memory element at a time, data can also be written in parallel to, for example, all the resistive memory elements operatively coupled to a common word line by providing a ground voltage reference signal at that word line and positive or negative voltage signals at the bit lines to write (in the example discussed above) a binary '1 ' or ⁇ ', respectively, to those resistive memory elements.
  • each resistive memory element of resistive memory element array 180 can be uniquely addressed by a combination of a word line and bit line (e.g., 1 1 1 is uniquely addressed by word line W1 and bit line B1 ), portions of the write signal applied to a word line and a bit line to write a value to a resistive memory element also affect other resistive memory elements.
  • the ground voltage reference signal applied to word line W1 is also provided to resistive memory elements 1 12 and 1 1 M because they are also in electrical communication with word line W1.
  • the positive voltage signal applied to bit line B1 is also provided to resistive memory elements 121 and 1 N1.
  • half write signals or half write voltage signals
  • half write signals can result in state changes at a resistive memory element (i.e., from a low-resistance state to a high- resistance state or from a high-resistance state to a low-resistance state), which will be discussed in more detail below together with state changes resulting from read signals.
  • Controller 170 reads data at resistive memory element array 180 by providing a read signal at a word line and bit line combination and determining the state (or resistance) of the resistive memory element addressed at that word line and bit line. More specifically, for example, to read a data value (e.g., a binary value) from resistive memory element 11 1 , word line W1 is coupled within controller 170 to logic or circuitry to detect a current at word line W1. A read voltage signal (or read signal) such as 0.5V pulse can be applied to bit line B1 and the state of resistive memory element 1 1 1 determined based on a current value detected at word line W1 within controller 170.
  • a read voltage signal such as 0.5V pulse
  • controller 170 can include logic or circuitry to detect a voltage across the resistor to determine the resistance (and, therefore, state) of resistive memory element 1 1 1.
  • FIG. 2 is an illustration of read disturbances at a memristor, according to an embodiment.
  • Graphs 210 and 220 are aligned along a time dimension to illustrate relationships between the voltage (and, therefore, current) applied to the memristor and the resistance of the memristor.
  • the resistance of the memristor over a period of time is illustrated at plot line 215 of graph 210.
  • Line 21 1 of graph 210 illustrates a transition point from a low-resistance state of the memristor and a high-resistance state of the memristor. That is, when the resistance of the memristor is less than (or below) the resistance represented by line 21 1 , the memristor is in the low-resistance state. When the resistance of the memristor is greater than (or above) the resistance represented by line 21 1 , the memristor is in the high-resistance state.
  • the voltage applied to the memristor is illustrated at plot line 225 of graph 220.
  • the voltage pulses during time periods P1 , P2, and P3 at graph 220 illustrate read signals provided to the memristor.
  • the resistance of the memristor increases while a read signal (i.e., a voltage) is applied to the memristor.
  • a read signal i.e., a voltage
  • the resistance of the memristor changes. In other words, the resistance of the memristor is disturbed or moved closer to the high- resistance state with the application of each read signal.
  • the resistance of the memristor can become greater than the resistance represented by line 21 1 and the memristor can be set to the high-resistance state.
  • the amount of change (e.g., magnitude and rate) in resistance depends on, for example, the magnitude of the read signal, the polarity of the read signal, and the duration of the read signal.
  • the change in the resistance of the memristor is illustrated as a linear change over time, but the change in resistance can also be non-linear depending on various physical, chemical, or electrical properties of the memristor.
  • Half write signals affect the resistance of the memristor similar to read signals. That is, half write signals with a voltage (and, therefore, current) polarity that is the same as the read signals illustrated in FIG. 2 also result in an increase in the resistance of the memristor, and half write signals with a voltage polarity that is opposite from the read signals illustrated in FIG. 2 result in a decrease rather than an increase in the resistance of the memristor.
  • FIG. 3 is a flowchart of a process to mitigate read disturbance at a memristor, according to an embodiment.
  • Process 300 can be implemented as a hardware module, as a software module, and/or as a combination of a hardware module and a software module.
  • process 300 can be implemented as application-specific circuitry or as a software module including instructions stored at a memory and executed at a processor in communication with the memory. More specifically, for example, process 300 can be implemented within a memory controller coupled to a memristor array.
  • a read signal is provided to a memristor array at block 310 and the state of a memristor from the memristor array is determined at block 320.
  • read signals typically disturb the resistance (or state) of a memristor.
  • the memory controller can determine whether a reverse read signal should be provided to prevent an unintended state change at the memristor that was read at block 320.
  • the memory controller can determine whether the memristor is nearing a state change (i.e., the value of the current resistance of the memristor is approaching a resistance value associated with a state different from the current state of the memristor) based on a voltage, current, or resistance determined or measured at block 320. If the memristor is not nearing a state change, process 300 returns to block 310 to read (i.e., provide a read signal and determine the state of) another memristor in the memristor array.
  • a state change i.e., the value of the current resistance of the memristor is approaching a resistance value associated with a state different from the current state of the memristor
  • a reverse read signal is a voltage or current signal that has a polarity that has a reverse effect on the resistance of a memristor relative to a read signal.
  • a reverse read signal can have a voltage or current that has a polarity opposite the polarity of a read signal.
  • Process 300 can include more or fewer blocks than illustrated in FIG. 3.
  • block 340 can be excluded and a reverse read signal can be provided for each read signal.
  • blocks of process 300 can be rearranged.
  • process 300 can proceed to block 310 after a reverse read signal is provided at block 340.
  • process 300 is also applicable to half write signals. That is, blocks 330 and 340 can be executed for memristors in the memristor array that experience a half write signal after a write signal is provided to one or more memristors in the memristor array.
  • FIGS. 4A, 4B, and 4C are illustrations of read disturbances and reverse signals at a memristor, according to one or more embodiments.
  • Graphs 410 and 420 are aligned along a time dimension to illustrate relationships between the voltage (and, therefore, current) applied to the memristor and the resistance of the memristor.
  • the resistance of the memristor over a period of time is illustrated at plot line 415 of graph
  • Line 41 1 of graph 410 illustrates a transition point from a low-resistance state of the memristor and a high-resistance state of the memristor. That is, when the resistance of the memristor is less than (or below) the resistance represented by line
  • the memristor is in the low-resistance state.
  • the resistance of the memristor is greater than (or above) the resistance represented by line 41 1 , the memristor is in the high-resistance state.
  • the voltage applied to the memristor is illustrated at plot line 425 of graph 420.
  • the voltage pulses during time periods P1 , P2, P3, and P5 at graph 220 illustrate read signals provided to the memristor.
  • the resistance of the memristor increases while a read signal (i.e., a voltage) is applied to the memristor.
  • a read signal i.e., a voltage
  • the resistance of the memristor changes. In other words, the resistance of the memristor is disturbed or moved closer to the high-resistance state with the application of each read signal.
  • the resistance of the memristor can become greater than the resistance represented by line 41 1 and the memristor can be set to the high- resistance state.
  • a reverse read signal is provided (or applied) to the memristor during time period P4.
  • the reverse read signal provided during time period P4 has a polarity opposite that of the read signals provided during time periods P1 , P2, P3, and P5, a magnitude (actual or nominal) similar to that of the read signals provided during time periods P1 , P2, P3, and P5, and a duration (actual or nominal) similar to that of the read signals provided during time periods P1 , P2, P3, and P5. Accordingly, the resistance of the memristor decreases during time period P4 approximately the same amount as the resistance of the memristor increases during each of time periods P1 , P2, P3, and P5.
  • a memristor can respond differently to different polarities of voltage or current applied to the memristor.
  • the memristor can have a more significant change in resistance in response to a voltage signal of one polarity than to a voltage signal of the opposite or a different polarity.
  • the resistance of the memristor can change more or less in response to the reverse read signal illustrated at time period P4 than in response to the read signals illustrated at time periods P1 , P2, P3, and P5.
  • FIG. 4B is an example of a reverse read signal that has a magnitude (or amplitude) that is different from a magnitude of a group of read signals. Similar to the example illustrated in FIG. 4A, read signals are provided to the memristor at time periods P1 , P2, P3, and P5, and a reverse read signal is provided to the memristor at time period P4.
  • the magnitude of the reverse read signal is greater than the magnitudes of the read signals.
  • the effect of the reverse read signal is illustrated at graph 410 of FIG. 4B.
  • the magnitude of the change in the resistance of the memristor is greater over the reverse read signal (during time period P4) than the magnitudes of the changes in resistance of the memristor over each of the read signals (i.e., during each of time periods P1 , P2, P3, and P5).
  • the magnitude of the reverse read signal is approximately double the magnitude of each of the read signals and the magnitude of the change in the resistance of the memristor in response to the reverse read signal is approximately double the change in the resistance of the memristor in response to each of the read signals.
  • the relationship of the effects of read signals and reverse read signals on the resistance of a memristor can be non-linear.
  • the reverse read signal illustrated at FIG. 4B during time period P4 can have a magnitude approximately double the magnitude of each of the read signals and the change in the resistance of the memristor in response to the reverse read signal can be greater or less than approximately double the change in the resistance of the memristor in response to each of the read signals.
  • the change in the resistance of the memristor in response to the reverse read signal can be approximately equal to, half of, or quadruple the change in the resistance of the memristor in response to each of the read signals depending on various physical, chemical, and/or electrical properties of the memristor.
  • FIG. 4C is an example of a reverse read signal that has a duration (or pulse width) that is different from a duration of each of a group of read signals. Similar to the example illustrated in FIG. 4A, read signals are provided to the memristor at time periods P1 , P2, P3, and P5, and a reverse read signal is provided to the memristor at time period P4.
  • the duration of the reverse read signal is greater than the durations of the read signals.
  • the effect of the reverse read signal is illustrated at graph 410 of FIG. 4C.
  • the magnitude of change in the resistance of the memristor is greater over the reverse read signal (during time period P4) than the magnitudes of the changes in resistance of the memristor over each of the read signals (during each of time periods P1 , P2, P3, and P5).
  • P4 the magnitude of change in the resistance of the memristor
  • the duration of the reverse read signal is approximately double the duration of each of the read signals and the magnitude of the change in the resistance of the memristor in response to the reverse read signal is approximately double the change in the resistance of the memristor in response to each of the read signals.
  • the relationship of the effects of read signals and reverse read signals on the resistance of a memristor can be non-linear.
  • the reverse read signal illustrated at FIG. 4C during time period P4 can have a duration approximately double the duration of each of the read signals and the change in the resistance of the memristor in response to the reverse read signal can be greater or less than approximately double the change in the resistance of the memristor in response to each of the read signals.
  • the change in the resistance of the memristor in response to the reverse read signal can be approximately equal to, half of, or quadruple the change in the resistance of the memristor in response to each of the read signals depending on various physical, chemical, and/or electrical properties of the memristor.
  • FIG. 5 is a flowchart of a process to mitigate read disturbance at a memristor, according to another embodiment.
  • Process 500 can be implemented as a hardware module, as a software module, and/or as a combination of a hardware module and a software module.
  • process 500 can be implemented as application- specific circuitry or as a software module including instructions stored at a memory and executed at a processor in communication with the memory. More specifically, for example, process 500 can be implemented within a memory controller coupled to a memristor array.
  • a read signal is provided to a memristor array at block 510 and the state of a memristor from the memristor array is determined at block 520.
  • the memory controller can determine whether a read count indicating that a reverse read signal should be provided to prevent an unintended state change at the memristor that was read at block 520. For example, a read count can be maintained at a counter or memory of the memory controller. The memory controller can increment the read count each time a read signal is provided to the memristor array. When the read count reaches a predetermined value at block 530, process 500 proceeds to block 540 and a reverse read signal is provided to the memristor array.
  • the predetermined value represents a number (or quantity) of read signals that can be provided to the memristor without the memristor changing states due to those read signals.
  • the read count can be reset (e.g., to a zero value) before or after the reverse read signal is provided.
  • the read count can be a countdown count that is reset to a predetermined value and decremented each time a read signal is provided to the memristor array.
  • process 500 can proceed to block 540, a reverse read signal can be provided to the memristor array, and the read count can again be reset. If the read count has not reached the predetermined value at block 530, process 500 returns to block 510 to read another memristor in the memristor array.
  • the read count can be maintained (e.g., stored and incremented or
  • a read count can be associated with an entire memristor array (i.e., a global read count), a unique read count can be associated with each word line of a memristor array (i.e., a word line read count), a unique read count can be associated with each bit line of a memristor array (i.e., a bit line read count), and/or a unique read count can be associated with each memristor of a memristor array. More specifically, for example, a word line read count can be updated each time a read signal is provided to a memristor at the word line associated with the word line read count.
  • a memory controller can include a read count for each word line and/or bit line in the memristor array.
  • reverse read signals can be provided to a memristor array at various granularities.
  • a reverse read signal can be provided globally to a memristor array such that the reverse read signal is provided to each memristor in the memristor array. That is, the reverse read signal can be applied at each word line and bit line of the memristor array.
  • the reverse read signal can be provided to each memristor operatively coupled to a bit line. Said differently, the reverse read signal can be applied to that bit line and each word line.
  • the reverse read signal can be provided to each memristor operatively coupled to a word line. In other words, the reverse read signal can be applied to that word line and each bit line.
  • the reverse read signal can be provided to an individual memristor. More specifically, the reverse read signal can be applied to the bit line and word line at which that memristor can be addressed.
  • the predetermined value compared with the read count to determine whether the reverse read signal should be provided (or to which the read count is reset after a reverse read signal is provided) can be identified, selected, or determined using a number of methodologies.
  • the predetermined value can be determined empirically by characterizing a memristor or class of memristors. That is, a memristor of the class of memristors can be subject to a number of read signals and the resistance of the memristor measured or calculated (e.g., based on a voltage or current
  • the predetermined value can be set to be lower than that number of read signals.
  • the predetermined value can be calculated based on the properties of the memristor or memristor class, magnitude and duration of the read signal, and/or other parameters of a memory system. That is, the predetermined value can be determined theoretically.
  • the predetermined value is determined statistically or probabilistically. That is, the number of read signals each memristor can experience before changing states can vary due to variations in the physical, chemical, and/or electrical properties of the memristors in a memristor array.
  • the predetermined value can be determined by empirically or theoretically characterizing a group of memristors in a memristor array and selecting or calculating the predetermined value such that a statistically insignificant number, if any, memristors could change states if exposed to a number of read signals equal to the predetermined value.
  • process 500 returns to block 510 to read another memristor (or group of memristors) at the memristor array.
  • Process 500 can include more or fewer blocks than illustrated in FIG. 5.
  • process 500 can include an additional block at which the read count is incremented, decremented, and/or reset.
  • blocks of process 500 can be rearranged.
  • FIG. 6 is a flowchart of a process to mitigate read disturbance at a memristor, according to another embodiment.
  • Process 600 can be implemented as a hardware module, as a software module, and/or as a combination of a hardware module and a software module.
  • process 600 can be implemented as application- specific circuitry or as a software module including instructions stored at a memory and executed at a processor in communication with the memory. More specifically, for example, process 600 can be implemented within a memory controller coupled to a memristor array.
  • a read signal is provided to a memristor array at block 610 and the state of a memristor from the memristor array is determined at block 620.
  • the memory controller can determine whether a read timer indicating that reverse read signal should be provided to prevent an unintended state change at the memristor that was read at block 620.
  • a read timer can be maintained at a counter or clock of the memory controller. The read timer can be incremented at each tick or cycle of a clock signal at the memory controller.
  • process 600 proceeds to block 640 and a reverse read signal is provided to the memristor array.
  • the predetermined value represents a time period over which the memristor can receive read signals (e.g., at a maximum or nominal read signal frequency within a memory system) without the memristor changing states due to those read signals. Additionally, the read time can be reset (e.g., to a zero value) before or after the reverse read signal is provided. In other words, a reverse read signal is provided at a frequency defined by the predetermined value.
  • the read timer can countdown. That is, the read time can be reset to a predetermined value and decremented at each tick or cycle of the clock signal.
  • process 600 proceeds to block 640, a reverse read signal can be provided to the memristor array, and the read timer is again reset. If the read timer has not reached the predetermined value at block 630, process 600 can return to block 610 to read another memristor in the memristor array.
  • the read timer can be maintained (e.g., stored and incremented or decremented) at various granularities with respect to the memristor array.
  • a read timer can be associated with an entire memristor array (i.e., a global read timer)
  • a unique read timer can be associated with each word line of a memristor array (i.e., a word line read timer)
  • a unique read timer can be associated with each bit line of a memristor array (i.e., a bit line read timer)
  • a unique read timer can be associated with each memristor of a memristor array.
  • the predetermined value compared with the read timer to determine whether the reverse read signal should be provided (or to which the read timer is reset after a reverse read signal is provided) can be identified, selected, or determined using a number of methodologies.
  • the predetermined value can be determined empirically by characterizing a memristor or class of memristors. That is, a memristor of the class of memristors can be subjected to read signals at a maximum or nominal frequency for a particular memory system and the resistance of the memristor measured or calculated (e.g., based on a voltage or current measurement) after each read signal to determine after what time period the memristor transitions to a different state.
  • the predetermined value can be set to be lower than that time period.
  • the predetermined value can be calculated based on the properties of the memristor or memristor class, magnitude and duration of the read signal, and/or other parameters of a memory system. That is, the predetermined value can be determined theoretically.
  • the predetermined value is determined statistically or probabilistically. That is, the time period over which each memristor can experience read signals at a maximum or nominal frequency before changing states can vary due to variations in the physical, chemical, and/or electrical properties of the memristors in a memristor array and/or variations in the actual frequency of read signals.
  • the predetermined value can be determined by empirically or theoretically characterizing the memristors in a memristor array and selecting or calculating the predetermined value such that a statistically insignificant number, if any, memristors could change states if exposed to a read signals for a time period equal to the predetermined value.
  • the state of the memristor can again be determined at block 650.
  • the state of the memristor can be determined similar to a methodology used at block 620 (and discussed above) in which the reversed polarity of the reverse read signal relative to the read signals is considered.
  • process 600 returns to block 610 to read another memristor (or group of memristors) at the memristor array.
  • Process 600 can include more or fewer blocks than illustrated in FIG. 6.
  • process 600 can include an additional block at which the read timer is incremented, decremented, and/or reset.
  • block 650 can be removed and process 600 can proceed from block 640 to block 610.
  • blocks of process 600 can be rearranged.
  • FIG. 7 is a schematic block diagram of a resistive memory system, according to an embodiment.
  • Memory system 700 includes circuit board 710, processor 720, controller 730, and resistive memory element array 740.
  • Processor 720 is operatively coupled to controller 730 via link L71.
  • Controller 730 is operatively coupled to resistive memory element array 740 via link L72.
  • Links L71 and L72 can be any of a variety of links such as optical links or electrical links via which symbols representing data can be exchanged between processor 720 and controller 730 and controller 730 and resistive memory element array 740, respectively.
  • each of links L71 and L72 can be a group of electrically conductive traces at circuit board 710. More specifically, for example, link L72 can include word lines and bit lines.
  • Processor 720 communicates with controller 730 via link L71 to store data at and retrieve data from (collectively referred to as access data) resistive memory elements such as, for example, memristors included at resistive memory element array 740.
  • processor 720 does not directly communicate with resistive memory element array 740. Rather, as illustrated in the example of FIG. 7, processor 720 accesses resistive memory element array 740 via controller 730.
  • controller 730 provides reverse read signals (or related commands or instructions) to resistive memory element array 740, for example, as discussed above.
  • circuit board 710 can be a motherboard or main logic board of a computing device such as a personal computer or notebook (or laptop) computer.
  • Processor 720 can be a central processing unit ("CPU") of that computing device and controller 730 can be a memory controller of that computing device.
  • controller 730 can be, a memory controller module such as an application- specific integrated circuit ("ASIC"), a field-programmable gate array (“FPGA”), and/or a processor such as a microprocessor or microcontroller hosting a software module (i.e., including instructions stored at a memory that are executed and/or interpreted at a controller 730).
  • ASIC application- specific integrated circuit
  • FPGA field-programmable gate array
  • processor such as a microprocessor or microcontroller hosting a software module (i.e., including instructions stored at a memory that are executed and/or interpreted at a controller 730).
  • Resistive memory element array 740 can be included at a resistive memory module removably coupled to circuit board 710 at a resistive memory module receiver (e.g., socket). In other words, resistive memory element array 740 can function as the system (or main) memory of a computing device.
  • FIG. 8 is a schematic block diagram of a resistive memory system similar to memory system 700, according to another embodiment.
  • Memory system 800 includes circuit board 810, processor 820, controller 830, and resistive memory element array 840.
  • Controller 830 is integrated within processor 820.
  • controller 830 can be a memory controller module implemented as logic or circuitry at a substrate of processor 820.
  • controller 830 can be a memory controller module such as a software module hosted at processor 820 (i.e., a software module including instructions stored at a memory that are executed or interpreted at a controller 830).
  • Processor 820 is operatively coupled to resistive memory element array 840 via link L81.
  • controller 830 of processor 820 communicates with resistive memory element array 840 via link L81. That is, processor 820 accesses data stored at resistive memory element array 840 using logic or circuitry included within controller 830. Additionally, controller 830 provides reverse read signals (or related commands or instructions) to resistive memory element array 840, for example, as discussed above.
  • resistive memory element array 840 can be integrated with or included within process 820.
  • resistive memory element array 840 can operate as a cache memory of process 820.
  • FIG. 9 is a schematic block diagram of a resistive memory module, according to an embodiment.
  • Resistive memory module 900 includes substrate (e.g., a circuit board) 910, resistive memory element array 920, controller 930, and contacts 940. Resistive memory element array 920, controller 930, and contacts 940 are coupled to substrate 910. Additionally, contacts 940 are in communication (e.g., electrical communication) with controller 930 and controller 930 is in communication with resistive memory element array 920.
  • substrate e.g., a circuit board
  • Resistive memory element array 920, controller 930, and contacts 940 are coupled to substrate 910. Additionally, contacts 940 are in communication (e.g., electrical communication) with controller 930 and controller 930 is in communication with resistive memory element array 920.
  • resistive memory module 900 can be included in, for example, a computing device as a system, main, or other memory and a processor, for example, of that computing device can be operatively coupled to resistive memory module 900. That processor can access data at resistive memory element array 920 by applying address and/or command signals such as electrical signals to contacts 940. Controller 930 interprets those signals, accesses the requested data based on those signals, and provides the requested access to the data (e.g., reads or writes data).
  • controller 930 provides the read signals, write signals, and reverse read signals to resistive memory element array 920 as discussed above.
  • the computing device within which resistive memory module 900 is included can be agnostic to the characteristics of resistive memory element array 920.
  • the computing device need not provide reverse read signals to resistive memory element array 920. Rather, controller 930 provides appropriate reverse read signals to resistive memory element array 920.
  • resistive memory module 900 can be a replacement for other types or classes of memory modules.

Landscapes

  • Chemical & Material Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Materials Engineering (AREA)
  • Semiconductor Memories (AREA)

Abstract

In one embodiment, a resistive memory system includes a resistive memory element array and a controller operatively coupled to the resistive memory element array. The resistive memory element array includes a plurality of word lines, a plurality of bit lines, and a plurality of resistive memory elements. Each resistive memory element from the plurality of resistive memory elements coupled to a word line from the plurality of word lines and a bit line from the plurality of bit lines. The controller is operatively coupled to the resistive memory element array at the plurality of word lines and the plurality of bit lines and provides read signals and reverse read signals to the resistive memory element array.

Description

METHODS, SYSTEMS AND APPARATUS FOR RESISTIVE MEMORY
BACKGROUND
[1001] Resistive memory elements such as resistive random-access memory ("RRAM") are susceptible to alteration of information stored at these memory elements as a result of changes in their resistance over time. Such change in resistance over time is often referred to as resistance creep. Resistance creep can be caused by voltages and/or currents applied to resistive memory elements, temperature, time passage since the resistance was set, and/or other internal or external stimuli to such resistive memory elements.
[1002] As an example, a memristor can be used as memory element at which information can be stored based on the variable resistance of the memristor. Because the resistance of a memristor varies according to the voltage applied to or charge passing through the memristor, reading the information at the memristor can change the resistance of the memristor as a result of a voltage applied to the memristor to read that information. Such changes in resistance can alter the information stored at the memristor, resulting in corruption of that information. Similarly, information stored at phase-change memories can be altered as a result of resistance creep. BRIEF DESCRIPTION OF THE DRAWINGS
[1003] FIG. 1 is a system including a controller and a resistive memory element array, according to an embodiment.
[1004] FIG. 2 is an illustration of read disturbances at a memristor, according to an embodiment.
[1005] FIG. 3 is a flowchart of a process to mitigate read disturbance at a memristor, according to an embodiment.
[1006] FIGS. 4A, 4B, and 4C are illustrations of read disturbances and reverse signals at a memristor, according to one or more embodiments.
[1007] FIG. 5 is a flowchart of a process to mitigate read disturbance at a memristor, according to another embodiment.
[1008] FIG. 6 is a flowchart of a process to mitigate read disturbance at a memristor, according to another embodiment.
[1009] FIG. 7 is a schematic block diagram of a resistive memory system, according to an embodiment.
[1010] FIG. 8 is a schematic block diagram of a resistive memory system, according to another embodiment.
[1011] FIG. 9 is a schematic block diagram of a resistive memory module, according to an embodiment.
DETAILED DESCRIPTION
[1012] Resistive memory elements (or resistive memories) are devices that store information as a variable resistance value of those devices. That is, two or more resistance states (or states) such as ranges of resistance or specific resistance values can be defined for resistive memory elements, and information can be stored at these resistive memory elements by altering their resistance (e.g., by applying a voltage, a current, a temperature, and/or other stimulus or combination of stimuli) to be in a particular state (e.g., within a particular defined range). Resistive random access memories include, for example, phase-change random access memory ("PCRAM"), conductive bride random access memory ("CBRAM"), memristor memory, and metal oxide random access memory ("OxRAM").
[1013] As a specific example of a resistive memory element, a memristor is an electronic element that has a resistance that is dependent upon the charge (or current) that passes through that electronic element over time. In other words, the resistance of a memristor varies based on the current or voltage applied to the memristor. Thus, memristors exhibit an information storage or memory property based on the relationship between the resistance of a memristor and the amount of charge (i.e., a current) that has passed through that memristor.
[1014] For example, a memristor can be set to a high-resistance on state by applying a positive voltage to the memristor until a sufficient charge has passed forward through the memristor to cause the memristor to have a high resistance. Similarly, the memristor can be reset to a low-resistance off state by applying a negative (relative to the positive voltage) voltage to the memristor until a sufficient charge has passed reverse (relative to forward above) through the memristor to cause the memristor to have a low resistance. The state of the memristor can be later read by, for example, applying a read voltage signal to the memristor, measuring the amount of current flowing through the memristor, and applying Ohm's law to the read voltage and current to determine the resistance of the memristor. Because the state of the memristor is defined by the resistance, a high resistance indicates the on state and a low resistance indicates the low state. Thus, information can be stored at a memristor as a resistance value.
[1015] Although the on state is discussed as a high-resistance state and the off state is discussed as a low-resistance state, these polarity conventions can be reversed such that the on state is a low-resistance state and the off state is a high-resistance state. Alternatively, a memristor can have more than two states where each state is characterized or defined by a range of resistance values. Thus, memristors can be binary (i.e., have two - on and off - states) or be n-ary where n is the number of states of the memristor. [1016] Applying the read voltage signal to the memristor, however, affects the resistance of the memristor. That is, although the read voltage signal typically has a smaller magnitude than the magnitude of a write voltage signal, the application of a read voltage signal to the memristor necessarily causes a current to flow the through memristor, and this current alters the resistance of the memristor because the resistance of the memristor is dependent upon the history of current through the memristor. Thus, one read voltage signal or a group of read voltage signals can sufficiently alter the resistance of the memristor to cause a state change at the memristor. Said differently, a group of read voltage signals can cause the resistance value of the memristor to change from a range of resistance values associated with the off state to a range of resistance values associated with the on state (or from the off state to the on state depending on the state convention of the memristor or system in which the memristor is included).
[1017] To prevent such unintended state changes, alternating current (or voltage) has been used to generate read voltage signals. Because the read voltage signal varies with time, the averaged current through the memristor during a read voltage signal in such systems does not typically cause a state change. Although such a methodology can be effective to mitigate unintended state changes in a memristor, use of alternating current (or voltage) in some systems such as digital systems can be undesirable.
[1018] Embodiments discussed herein can mitigate or prevent unintended state changes in resistive memory elements (or resistive memories) such as memristor memories using reverse read voltage signals with polarities different from polarities of read voltage signals used to determine the state of a memristor. For example, a reverse read voltage signal (or reverse read signal) can be applied to a memristor to counteract the effect of read voltage signals (or read signals) provided to the memristor. Such reverse read signals can be applied or provided to one or a group of memristors probabilistically, at a set interval, or after a predetermined number of read signals to compensate for read signals applied to the one or group of memristors and thereby mitigate or prevent state changes due to these read signals. [1019] As used in this specification, the singular forms "a," "an," and "the" include plural referents unless the context clearly dictates otherwise. Thus, for example, the term "memristor" is intended to mean one or more memristors or a combination of memristors. Furthermore, as used herein, the term "module" refers to circuitry and/or software, firmware, programming, machine- or processor-readable instructions, commands, or code that are stored at a memory and executed or interpreted at a processor.
[1020] FIG. 1 is a system including a controller and a resistive memory element array, according to an embodiment. Memory system 100 includes controller 170 and resistive memory element array 180. Controller 170 is coupled to (or in communication with) resistive memory element array 180 via bit lines B1 , B2, and BM and word lines W1 , W2, and WN. Although three word lines W1 , W2, and WN and three bit lines B1 , B2, and BM are illustrated in FIG. 1 , memory system 100 can include more or fewer bit lines and/or word lines. That is, memory system 100 can include N word lines and M bit lines.
[1021] Resistive memory element array 180 includes a group of resistive memory element including resistive memory element 1 1 1 , 1 12, 1 1 M, 121 , 122, 12M, 1 N1 , 1 N2, and 1 NM. As a specific example, resistive memory elements 1 1 1 , 1 12, 1 1 M, 121 , 122, 12M, 1 N1 , 1 N2, and 1 NM can be memristors implemented at, for example, nanowire intersections of nanowire crossbar arrays. That is, resistive memory element array 180 can be a nanowire crossbar array with memristors implemented at the nanowire intersections of that nanowire crossbar array.
[1022] A nanowire crossbar array can be composed of a first layer of approximately parallel nanowires that are overlain by a second layer of approximately parallel nanowires. The nanowires of the second layer are typically approximately
perpendicular, in orientation, to the nanowires of the first layer. The orientation angle between the layers may, however, vary. The two layers of nanowires form a lattice, or crossbar, with each nanowire of the second layer overlying the nanowires of the first layer and coming into close contact with each nanowire of the first layer at nanowire intersections that are the closest contact between two nanowires. [1023] Nanowires in a nanowire crossbar array can have various forms or shapes of cross sections. For example, nanowires can have rectangular, square, circular, elliptical, or more complex cross sections. The nanowires may also have many different widths or diameters and aspect ratios or eccentricities.
[1024] The term "nanowire crossbar" may refer to crossbars having one or more layers of sub-microscale wires, microscale wires, or wires with larger dimensions, in addition to nanowires. Such layers can be connected one to another by vias, for example, as in a dual damascene process. The layers can be fabricated by mechanical nanoimprinting techniques, photolithography, and electron beam lithography. Alternatively, nanowires can be chemically synthesized and can be deposited as layers of approximately parallel nanowires in one or more processing steps, including Langmuir-Blodgett processes. Other alternative techniques for fabricating nanowires may also be employed. Thus, a two-layer nanowire crossbar comprising first and second layers can be manufactured by any of numerous processes. Many different types of conductive and semi-conductive nanowires can be chemically synthesized from metallic and semiconductor substances, from combinations of these types of substances, and from other types of substances. A nanowire crossbar may be connected to microscale address-wire leads or other electronic leads, through a variety of different methods in order to incorporate the nanowires into electrical circuits. At nanowire intersections, nanoscale electronic components, such as resistors, and other familiar basic electronic components, can be fabricated to interconnect two overlapping nanowires. Any two nanowires connected by a device is called a "crossbar junction".
[1025] As a specific example, a nanowire crossbar can include an intermediate layer disposed between a first layer of approximately parallel nanowires and a second layer of approximately parallel nanowires. The nanowires of the second layer typically being substantially perpendicular to the nanowires of the first layer. The intermediate layer can include first and second sub-layers. The first sub-layer can be composed of an undoped primary active material, and the second sub-layer can be composed of a doped secondary active material, respectively. The material comprising the
intermediate layer and dopants of the second sub-layer are selected to form memristors at each nanowire intersection. For example, the intermediate layer can be composed of titanium dioxide and the dopants can result in a lack of (or missing) oxygen atoms within the titanium dioxide. The nanowires of the first layer and the second layer can be composed of suitable metals or semiconductor materials and serve as electrodes to the memristors at the nanowire intersections. Other materials can be used in different resistive memories. As an example, for a phase-change memory, the first sub-layer can be an amorphous material and the second sub-layer can be a crystalline material.
[1026] Controller 170 includes logic, circuitry, and/or software hosted at such logic or circuitry to write (or store) data at resistive memory element array 180 and read data at resistive memory element array 180. More specifically, controller 170 provides write signals and read signals at bit lines B1 , B2, and BM and W1 , W2, and WN to write and read, respectively, data at the resistive memory elements of resistive memory element array 180. For example, controller 170 can write a binary value of '1 ' to resistive memory element 11 1 by setting resistive memory element 1 1 1 to a high-resistance or on state. As a specific example, controller 170 provides a ground voltage reference signal at word line W1 and a positive voltage signal such as 1 V at bit line B1.
Alternatively, for example, a negative 0.5V voltage signal can be applied to word line W1 and a positive 0.5V voltage signal can be applied to bit line B1. These signals can be collectively referred to as a write signal or a set signal. That is, these signals are used to write a value to resistive memory element 1 1 1. The remaining word lines and bit lines are floating or in a high impedance state. Because resistive memory element 1 1 1 is uniquely accessed at resistive memory element array 180 by the combination of word line W1 and bit line B1 , electrical charge flows (in the conventional current model) through resistive memory element 1 1 1 from bit line B1 to word line W1 and resistive memory element 1 1 1 is set to its high-impedance or on state.
[1027] Similarly, controller 170 can write a binary value of Ό' to resistive memory element 1 1 1 by resetting resistive memory element 1 1 1 to a low-resistance or off state. As a specific example, controller 170 provides a ground voltage reference signal at word line W1 and a negative voltage signal such as -1 V at bit line B1 . Alternatively, for example, a positive 0.5V voltage signal can be applied to word line W1 and a negative 0.5V voltage signal can be applied to bit line B1. These signals can be collectively referred to as a write signal or a reset signal. That is, these signals are used to write a value to resistive memory element 1 1 1. The remaining word lines and bit lines are floating or in a high impedance state. Because resistive memory element 1 1 1 is uniquely accessed at resistive memory element array 180 by the combination of word line W1 and bit line B1 , electrical charge flows (in the conventional current model) through resistive memory element 1 1 1 from word line W1 to bit line B1 and resistive memory element 11 1 is reset to its low-impedance or off state. Although writing data to resistive memory element array 180 is discussed above as writing data to one resistive memory element at a time, data can also be written in parallel to, for example, all the resistive memory elements operatively coupled to a common word line by providing a ground voltage reference signal at that word line and positive or negative voltage signals at the bit lines to write (in the example discussed above) a binary '1 ' or Ό', respectively, to those resistive memory elements.
[1028] Although each resistive memory element of resistive memory element array 180 can be uniquely addressed by a combination of a word line and bit line (e.g., 1 1 1 is uniquely addressed by word line W1 and bit line B1 ), portions of the write signal applied to a word line and a bit line to write a value to a resistive memory element also affect other resistive memory elements. For example, when resistive memory element 1 1 1 is set to its high-impedance state as discussed above, the ground voltage reference signal applied to word line W1 is also provided to resistive memory elements 1 12 and 1 1 M because they are also in electrical communication with word line W1. Similarly, the positive voltage signal applied to bit line B1 is also provided to resistive memory elements 121 and 1 N1. The portions of the write signal provided to resistive memory elements other than the resistive memory element addressed by the word line and bit line to which the write signal is applied are referred to herein as half write signals (or half write voltage signals) because only half (i.e., in the example above the ground reference or the positive or negative voltage) of the write signal is provided to resistive memory elements other than the resistive memory element addressed by that word line and bit line combination. Similar to read signals, half write signals can result in state changes at a resistive memory element (i.e., from a low-resistance state to a high- resistance state or from a high-resistance state to a low-resistance state), which will be discussed in more detail below together with state changes resulting from read signals. [1029] Controller 170 reads data at resistive memory element array 180 by providing a read signal at a word line and bit line combination and determining the state (or resistance) of the resistive memory element addressed at that word line and bit line. More specifically, for example, to read a data value (e.g., a binary value) from resistive memory element 11 1 , word line W1 is coupled within controller 170 to logic or circuitry to detect a current at word line W1. A read voltage signal (or read signal) such as 0.5V pulse can be applied to bit line B1 and the state of resistive memory element 1 1 1 determined based on a current value detected at word line W1 within controller 170. That is, because the characteristics (e.g., voltage) of the read signal is known and the current passing through resistive memory element 1 1 1 is detected (or measured), the resistance and, therefore, state of resistive memory element 1 1 1 can be determined. Alternatively, for example, word line W1 is coupled to a ground reference through a resistor within controller 170. Thus, this resistor and resistive memory element 1 1 1 form a voltage divider. Controller 170 can include logic or circuitry to detect a voltage across the resistor to determine the resistance (and, therefore, state) of resistive memory element 1 1 1.
[1030] Referring to an implementation of a resistive memory element as a memristor, because the resistance of a memristor depends on the charge that flows through that memristor, half write signals and read signals can disturb or alter the resistance and, therefore, state of memristors. FIG. 2 is an illustration of read disturbances at a memristor, according to an embodiment. Graphs 210 and 220 are aligned along a time dimension to illustrate relationships between the voltage (and, therefore, current) applied to the memristor and the resistance of the memristor. The resistance of the memristor over a period of time is illustrated at plot line 215 of graph 210. Line 21 1 of graph 210 illustrates a transition point from a low-resistance state of the memristor and a high-resistance state of the memristor. That is, when the resistance of the memristor is less than (or below) the resistance represented by line 21 1 , the memristor is in the low-resistance state. When the resistance of the memristor is greater than (or above) the resistance represented by line 21 1 , the memristor is in the high-resistance state.
[1031] The voltage applied to the memristor is illustrated at plot line 225 of graph 220. The voltage pulses during time periods P1 , P2, and P3 at graph 220 illustrate read signals provided to the memristor. As illustrated in FIG. 2, the resistance of the memristor increases while a read signal (i.e., a voltage) is applied to the memristor. Thus, as the state of the memristor is read during time periods P1 , P2, and P3 at the application of each read signal, the resistance of the memristor changes. In other words, the resistance of the memristor is disturbed or moved closer to the high- resistance state with the application of each read signal. After multiple applications of read signals, the resistance of the memristor can become greater than the resistance represented by line 21 1 and the memristor can be set to the high-resistance state.
[1032] The amount of change (e.g., magnitude and rate) in resistance depends on, for example, the magnitude of the read signal, the polarity of the read signal, and the duration of the read signal. The change in the resistance of the memristor is illustrated as a linear change over time, but the change in resistance can also be non-linear depending on various physical, chemical, or electrical properties of the memristor.
[1033] Half write signals, although not shown in FIG. 2, affect the resistance of the memristor similar to read signals. That is, half write signals with a voltage (and, therefore, current) polarity that is the same as the read signals illustrated in FIG. 2 also result in an increase in the resistance of the memristor, and half write signals with a voltage polarity that is opposite from the read signals illustrated in FIG. 2 result in a decrease rather than an increase in the resistance of the memristor.
[1034] FIG. 3 is a flowchart of a process to mitigate read disturbance at a memristor, according to an embodiment. Process 300 can be implemented as a hardware module, as a software module, and/or as a combination of a hardware module and a software module. For example, process 300 can be implemented as application-specific circuitry or as a software module including instructions stored at a memory and executed at a processor in communication with the memory. More specifically, for example, process 300 can be implemented within a memory controller coupled to a memristor array.
[1035] As illustrated in FIG. 3, a read signal is provided to a memristor array at block 310 and the state of a memristor from the memristor array is determined at block 320. As discussed above, read signals typically disturb the resistance (or state) of a memristor. At block 330, the memory controller can determine whether a reverse read signal should be provided to prevent an unintended state change at the memristor that was read at block 320. For example, the memory controller can determine whether the memristor is nearing a state change (i.e., the value of the current resistance of the memristor is approaching a resistance value associated with a state different from the current state of the memristor) based on a voltage, current, or resistance determined or measured at block 320. If the memristor is not nearing a state change, process 300 returns to block 310 to read (i.e., provide a read signal and determine the state of) another memristor in the memristor array.
[1036] If the memristor is nearing a state change, process 300 proceeds to block 340 and a reverse read signal is provided to the memristor array. A reverse read signal is a voltage or current signal that has a polarity that has a reverse effect on the resistance of a memristor relative to a read signal. For example, a reverse read signal can have a voltage or current that has a polarity opposite the polarity of a read signal.
[1037] Process 300 can include more or fewer blocks than illustrated in FIG. 3. For example, block 340 can be excluded and a reverse read signal can be provided for each read signal. Moreover, blocks of process 300 can be rearranged. As a specific example, process 300 can proceed to block 310 after a reverse read signal is provided at block 340. Furthermore, process 300 is also applicable to half write signals. That is, blocks 330 and 340 can be executed for memristors in the memristor array that experience a half write signal after a write signal is provided to one or more memristors in the memristor array.
[1038] FIGS. 4A, 4B, and 4C are illustrations of read disturbances and reverse signals at a memristor, according to one or more embodiments. Graphs 410 and 420 are aligned along a time dimension to illustrate relationships between the voltage (and, therefore, current) applied to the memristor and the resistance of the memristor. The resistance of the memristor over a period of time is illustrated at plot line 415 of graph
410. Line 41 1 of graph 410 illustrates a transition point from a low-resistance state of the memristor and a high-resistance state of the memristor. That is, when the resistance of the memristor is less than (or below) the resistance represented by line
41 1 , the memristor is in the low-resistance state. When the resistance of the memristor is greater than (or above) the resistance represented by line 41 1 , the memristor is in the high-resistance state.
[1039] The voltage applied to the memristor is illustrated at plot line 425 of graph 420. The voltage pulses during time periods P1 , P2, P3, and P5 at graph 220 illustrate read signals provided to the memristor. As illustrated in FIGS. 4A, 4B, and 4C, the resistance of the memristor increases while a read signal (i.e., a voltage) is applied to the memristor. Thus, as the state of the memristor is read during time periods P1 , P2, P3, and P5 at the application of each read signal, the resistance of the memristor changes. In other words, the resistance of the memristor is disturbed or moved closer to the high-resistance state with the application of each read signal. After multiple applications of read signals, the resistance of the memristor can become greater than the resistance represented by line 41 1 and the memristor can be set to the high- resistance state.
[1040] To prevent the resistance of the memristor from becoming greater than the resistance represented by line 41 1 , a reverse read signal is provided (or applied) to the memristor during time period P4. As illustrated in FIG. 4A, the reverse read signal provided during time period P4 has a polarity opposite that of the read signals provided during time periods P1 , P2, P3, and P5, a magnitude (actual or nominal) similar to that of the read signals provided during time periods P1 , P2, P3, and P5, and a duration (actual or nominal) similar to that of the read signals provided during time periods P1 , P2, P3, and P5. Accordingly, the resistance of the memristor decreases during time period P4 approximately the same amount as the resistance of the memristor increases during each of time periods P1 , P2, P3, and P5.
[1041] In some embodiments, a memristor can respond differently to different polarities of voltage or current applied to the memristor. For example, the memristor can have a more significant change in resistance in response to a voltage signal of one polarity than to a voltage signal of the opposite or a different polarity. Thus, the resistance of the memristor can change more or less in response to the reverse read signal illustrated at time period P4 than in response to the read signals illustrated at time periods P1 , P2, P3, and P5. [1042] FIG. 4B is an example of a reverse read signal that has a magnitude (or amplitude) that is different from a magnitude of a group of read signals. Similar to the example illustrated in FIG. 4A, read signals are provided to the memristor at time periods P1 , P2, P3, and P5, and a reverse read signal is provided to the memristor at time period P4.
[1043] As illustrated at graph 420 of FIG. 4B, the magnitude of the reverse read signal is greater than the magnitudes of the read signals. The effect of the reverse read signal is illustrated at graph 410 of FIG. 4B. The magnitude of the change in the resistance of the memristor is greater over the reverse read signal (during time period P4) than the magnitudes of the changes in resistance of the memristor over each of the read signals (i.e., during each of time periods P1 , P2, P3, and P5). As a specific example, as shown in FIG. 4B, the magnitude of the reverse read signal is approximately double the magnitude of each of the read signals and the magnitude of the change in the resistance of the memristor in response to the reverse read signal is approximately double the change in the resistance of the memristor in response to each of the read signals.
[1044] As discussed above in relation to FIG. 4A, the relationship of the effects of read signals and reverse read signals on the resistance of a memristor can be non-linear. For example, the reverse read signal illustrated at FIG. 4B during time period P4 can have a magnitude approximately double the magnitude of each of the read signals and the change in the resistance of the memristor in response to the reverse read signal can be greater or less than approximately double the change in the resistance of the memristor in response to each of the read signals. That is, the change in the resistance of the memristor in response to the reverse read signal can be approximately equal to, half of, or quadruple the change in the resistance of the memristor in response to each of the read signals depending on various physical, chemical, and/or electrical properties of the memristor.
[1045] FIG. 4C is an example of a reverse read signal that has a duration (or pulse width) that is different from a duration of each of a group of read signals. Similar to the example illustrated in FIG. 4A, read signals are provided to the memristor at time periods P1 , P2, P3, and P5, and a reverse read signal is provided to the memristor at time period P4.
[1046] As illustrated at graph 420 of FIG. 4C, the duration of the reverse read signal is greater than the durations of the read signals. The effect of the reverse read signal is illustrated at graph 410 of FIG. 4C. The magnitude of change in the resistance of the memristor is greater over the reverse read signal (during time period P4) than the magnitudes of the changes in resistance of the memristor over each of the read signals (during each of time periods P1 , P2, P3, and P5). In the example shown in FIG. 4C, the duration of the reverse read signal is approximately double the duration of each of the read signals and the magnitude of the change in the resistance of the memristor in response to the reverse read signal is approximately double the change in the resistance of the memristor in response to each of the read signals.
[1047] As discussed above in relation to FIG. 4A, the relationship of the effects of read signals and reverse read signals on the resistance of a memristor can be non-linear. For example, the reverse read signal illustrated at FIG. 4C during time period P4 can have a duration approximately double the duration of each of the read signals and the change in the resistance of the memristor in response to the reverse read signal can be greater or less than approximately double the change in the resistance of the memristor in response to each of the read signals. That is, the change in the resistance of the memristor in response to the reverse read signal can be approximately equal to, half of, or quadruple the change in the resistance of the memristor in response to each of the read signals depending on various physical, chemical, and/or electrical properties of the memristor.
[1048] FIG. 5 is a flowchart of a process to mitigate read disturbance at a memristor, according to another embodiment. Process 500 can be implemented as a hardware module, as a software module, and/or as a combination of a hardware module and a software module. For example, process 500 can be implemented as application- specific circuitry or as a software module including instructions stored at a memory and executed at a processor in communication with the memory. More specifically, for example, process 500 can be implemented within a memory controller coupled to a memristor array.
[1049] As illustrated in FIG. 5, a read signal is provided to a memristor array at block 510 and the state of a memristor from the memristor array is determined at block 520. At block 530, the memory controller can determine whether a read count indicating that a reverse read signal should be provided to prevent an unintended state change at the memristor that was read at block 520. For example, a read count can be maintained at a counter or memory of the memory controller. The memory controller can increment the read count each time a read signal is provided to the memristor array. When the read count reaches a predetermined value at block 530, process 500 proceeds to block 540 and a reverse read signal is provided to the memristor array. The predetermined value represents a number (or quantity) of read signals that can be provided to the memristor without the memristor changing states due to those read signals.
Additionally, the read count can be reset (e.g., to a zero value) before or after the reverse read signal is provided.
[1050] Alternatively, the read count can be a countdown count that is reset to a predetermined value and decremented each time a read signal is provided to the memristor array. When the read count reaches zero (or some other predetermined value), process 500 can proceed to block 540, a reverse read signal can be provided to the memristor array, and the read count can again be reset. If the read count has not reached the predetermined value at block 530, process 500 returns to block 510 to read another memristor in the memristor array.
[1051] The read count can be maintained (e.g., stored and incremented or
decremented) at various granularities with respect to the memristor array. For example, a read count can be associated with an entire memristor array (i.e., a global read count), a unique read count can be associated with each word line of a memristor array (i.e., a word line read count), a unique read count can be associated with each bit line of a memristor array (i.e., a bit line read count), and/or a unique read count can be associated with each memristor of a memristor array. More specifically, for example, a word line read count can be updated each time a read signal is provided to a memristor at the word line associated with the word line read count. In some embodiments, a memory controller can include a read count for each word line and/or bit line in the memristor array.
[1052] Similarly, reverse read signals can be provided to a memristor array at various granularities. For example, a reverse read signal can be provided globally to a memristor array such that the reverse read signal is provided to each memristor in the memristor array. That is, the reverse read signal can be applied at each word line and bit line of the memristor array. Alternatively, for example, the reverse read signal can be provided to each memristor operatively coupled to a bit line. Said differently, the reverse read signal can be applied to that bit line and each word line. In another embodiment, the reverse read signal can be provided to each memristor operatively coupled to a word line. In other words, the reverse read signal can be applied to that word line and each bit line. In other embodiments, the reverse read signal can be provided to an individual memristor. More specifically, the reverse read signal can be applied to the bit line and word line at which that memristor can be addressed.
[1053] The predetermined value compared with the read count to determine whether the reverse read signal should be provided (or to which the read count is reset after a reverse read signal is provided) can be identified, selected, or determined using a number of methodologies. For example, the predetermined value can be determined empirically by characterizing a memristor or class of memristors. That is, a memristor of the class of memristors can be subject to a number of read signals and the resistance of the memristor measured or calculated (e.g., based on a voltage or current
measurement) after each read signal to determine after which number of read signals the memristor transitions to a different state. The predetermined value can be set to be lower than that number of read signals. Alternatively, for example, the predetermined value can be calculated based on the properties of the memristor or memristor class, magnitude and duration of the read signal, and/or other parameters of a memory system. That is, the predetermined value can be determined theoretically.
[1054] In some embodiments, the predetermined value is determined statistically or probabilistically. That is, the number of read signals each memristor can experience before changing states can vary due to variations in the physical, chemical, and/or electrical properties of the memristors in a memristor array. The predetermined value can be determined by empirically or theoretically characterizing a group of memristors in a memristor array and selecting or calculating the predetermined value such that a statistically insignificant number, if any, memristors could change states if exposed to a number of read signals equal to the predetermined value.
[1055] Referring to FIG. 5, after the reverse read signal is provided to the memristor array at block 540, process 500 returns to block 510 to read another memristor (or group of memristors) at the memristor array. Process 500 can include more or fewer blocks than illustrated in FIG. 5. For example, process 500 can include an additional block at which the read count is incremented, decremented, and/or reset. Moreover, blocks of process 500 can be rearranged.
[1056] FIG. 6 is a flowchart of a process to mitigate read disturbance at a memristor, according to another embodiment. Process 600 can be implemented as a hardware module, as a software module, and/or as a combination of a hardware module and a software module. For example, process 600 can be implemented as application- specific circuitry or as a software module including instructions stored at a memory and executed at a processor in communication with the memory. More specifically, for example, process 600 can be implemented within a memory controller coupled to a memristor array.
[1057] As illustrated in FIG. 6, a read signal is provided to a memristor array at block 610 and the state of a memristor from the memristor array is determined at block 620. At block 630, the memory controller can determine whether a read timer indicating that reverse read signal should be provided to prevent an unintended state change at the memristor that was read at block 620. For example, a read timer can be maintained at a counter or clock of the memory controller. The read timer can be incremented at each tick or cycle of a clock signal at the memory controller. When the read timer reaches a predetermined value or expires at block 630, process 600 proceeds to block 640 and a reverse read signal is provided to the memristor array. The predetermined value represents a time period over which the memristor can receive read signals (e.g., at a maximum or nominal read signal frequency within a memory system) without the memristor changing states due to those read signals. Additionally, the read time can be reset (e.g., to a zero value) before or after the reverse read signal is provided. In other words, a reverse read signal is provided at a frequency defined by the predetermined value.
[1058] Alternatively, the read timer can countdown. That is, the read time can be reset to a predetermined value and decremented at each tick or cycle of the clock signal. When the read timer reaches zero or expires (or some other predetermined value), process 600 proceeds to block 640, a reverse read signal can be provided to the memristor array, and the read timer is again reset. If the read timer has not reached the predetermined value at block 630, process 600 can return to block 610 to read another memristor in the memristor array.
[1059] The read timer can be maintained (e.g., stored and incremented or decremented) at various granularities with respect to the memristor array. For example, a read timer can be associated with an entire memristor array (i.e., a global read timer), a unique read timer can be associated with each word line of a memristor array (i.e., a word line read timer), a unique read timer can be associated with each bit line of a memristor array (i.e., a bit line read timer), and/or a unique read timer can be associated with each memristor of a memristor array.
[1060] The predetermined value compared with the read timer to determine whether the reverse read signal should be provided (or to which the read timer is reset after a reverse read signal is provided) can be identified, selected, or determined using a number of methodologies. For example, the predetermined value can be determined empirically by characterizing a memristor or class of memristors. That is, a memristor of the class of memristors can be subjected to read signals at a maximum or nominal frequency for a particular memory system and the resistance of the memristor measured or calculated (e.g., based on a voltage or current measurement) after each read signal to determine after what time period the memristor transitions to a different state. The predetermined value can be set to be lower than that time period.
Alternatively, for example, the predetermined value can be calculated based on the properties of the memristor or memristor class, magnitude and duration of the read signal, and/or other parameters of a memory system. That is, the predetermined value can be determined theoretically.
[1061] In some embodiments, the predetermined value is determined statistically or probabilistically. That is, the time period over which each memristor can experience read signals at a maximum or nominal frequency before changing states can vary due to variations in the physical, chemical, and/or electrical properties of the memristors in a memristor array and/or variations in the actual frequency of read signals. The predetermined value can be determined by empirically or theoretically characterizing the memristors in a memristor array and selecting or calculating the predetermined value such that a statistically insignificant number, if any, memristors could change states if exposed to a read signals for a time period equal to the predetermined value.
[1062] Referring to FIG. 6, after the reverse read signal is provided to the memristor array at block 640, the state of the memristor can again be determined at block 650. For example, the state of the memristor can be determined similar to a methodology used at block 620 (and discussed above) in which the reversed polarity of the reverse read signal relative to the read signals is considered. Following block 650, process 600 returns to block 610 to read another memristor (or group of memristors) at the memristor array.
[1063] Process 600 can include more or fewer blocks than illustrated in FIG. 6. For example, process 600 can include an additional block at which the read timer is incremented, decremented, and/or reset. Additionally, block 650 can be removed and process 600 can proceed from block 640 to block 610. Moreover, blocks of process 600 can be rearranged.
[1064] FIG. 7 is a schematic block diagram of a resistive memory system, according to an embodiment. Memory system 700 includes circuit board 710, processor 720, controller 730, and resistive memory element array 740. Processor 720 is operatively coupled to controller 730 via link L71. Controller 730 is operatively coupled to resistive memory element array 740 via link L72. Links L71 and L72 can be any of a variety of links such as optical links or electrical links via which symbols representing data can be exchanged between processor 720 and controller 730 and controller 730 and resistive memory element array 740, respectively. As a specific example, each of links L71 and L72 can be a group of electrically conductive traces at circuit board 710. More specifically, for example, link L72 can include word lines and bit lines.
[1065] Processor 720 communicates with controller 730 via link L71 to store data at and retrieve data from (collectively referred to as access data) resistive memory elements such as, for example, memristors included at resistive memory element array 740. In other words, processor 720 does not directly communicate with resistive memory element array 740. Rather, as illustrated in the example of FIG. 7, processor 720 accesses resistive memory element array 740 via controller 730. Furthermore, controller 730 provides reverse read signals (or related commands or instructions) to resistive memory element array 740, for example, as discussed above.
[1066] As a specific example, circuit board 710 can be a motherboard or main logic board of a computing device such as a personal computer or notebook (or laptop) computer. Processor 720 can be a central processing unit ("CPU") of that computing device and controller 730 can be a memory controller of that computing device. For example, controller 730 can be, a memory controller module such as an application- specific integrated circuit ("ASIC"), a field-programmable gate array ("FPGA"), and/or a processor such as a microprocessor or microcontroller hosting a software module (i.e., including instructions stored at a memory that are executed and/or interpreted at a controller 730). Resistive memory element array 740 can be included at a resistive memory module removably coupled to circuit board 710 at a resistive memory module receiver (e.g., socket). In other words, resistive memory element array 740 can function as the system (or main) memory of a computing device.
[1067] FIG. 8 is a schematic block diagram of a resistive memory system similar to memory system 700, according to another embodiment. Memory system 800 includes circuit board 810, processor 820, controller 830, and resistive memory element array 840. Controller 830 is integrated within processor 820. For example, controller 830 can be a memory controller module implemented as logic or circuitry at a substrate of processor 820. Alternatively, for example, controller 830 can be a memory controller module such as a software module hosted at processor 820 (i.e., a software module including instructions stored at a memory that are executed or interpreted at a controller 830). Processor 820 is operatively coupled to resistive memory element array 840 via link L81. More specifically, controller 830 of processor 820 communicates with resistive memory element array 840 via link L81. That is, processor 820 accesses data stored at resistive memory element array 840 using logic or circuitry included within controller 830. Additionally, controller 830 provides reverse read signals (or related commands or instructions) to resistive memory element array 840, for example, as discussed above.
[1068] In some embodiments, resistive memory element array 840 can be integrated with or included within process 820. For example, resistive memory element array 840 can operate as a cache memory of process 820.
[1069] FIG. 9 is a schematic block diagram of a resistive memory module, according to an embodiment. Resistive memory module 900 includes substrate (e.g., a circuit board) 910, resistive memory element array 920, controller 930, and contacts 940. Resistive memory element array 920, controller 930, and contacts 940 are coupled to substrate 910. Additionally, contacts 940 are in communication (e.g., electrical communication) with controller 930 and controller 930 is in communication with resistive memory element array 920.
[1070] Data or information stored at resistive memory elements, such as memristors, of resistive memory element array 920 can be accessed (e.g., read, updated or written) via contacts 940. In other words, resistive memory module 900 can be included in, for example, a computing device as a system, main, or other memory and a processor, for example, of that computing device can be operatively coupled to resistive memory module 900. That processor can access data at resistive memory element array 920 by applying address and/or command signals such as electrical signals to contacts 940. Controller 930 interprets those signals, accesses the requested data based on those signals, and provides the requested access to the data (e.g., reads or writes data).
[1071] Additionally, controller 930 provides the read signals, write signals, and reverse read signals to resistive memory element array 920 as discussed above. Thus, the computing device within which resistive memory module 900 is included can be agnostic to the characteristics of resistive memory element array 920. For example, the computing device need not provide reverse read signals to resistive memory element array 920. Rather, controller 930 provides appropriate reverse read signals to resistive memory element array 920. Moreover, because the computing device can be agnostic to the characteristics of resistive memory element array 920, resistive memory module 900 can be a replacement for other types or classes of memory modules.
[1072] While certain embodiments have been shown and described above, various changes in form and details may be made. Moreover, some features of embodiments that have been described in relation to one embodiment and/or process can be useful to other embodiments. As a specific example, although various embodiments including memristors are discussed above, such embodiments can also be applicable to other resistive memories at which a state can be reversed by changing a polarity of a stimulus such as a voltage or current signal that is applied to those resistive memories. In other words, features and/or properties of various embodiments described in relation to one embodiment can be related to other embodiments. Furthermore, it should be understood that the systems and apparatus described herein can include various combinations and/or sub-combinations of the components and/or features of the different embodiments described. Thus, features described with reference to one or more embodiments can be combined with other embodiments described herein.

Claims

What is claimed is:
1. A resistive memory system, comprising:
a resistive memory element array including a plurality of word lines, a plurality of bit lines, and a plurality of resistive memory elements, each resistive memory element from the plurality of resistive memory elements coupled to a word line from the plurality of word lines and a bit line from the plurality of bit lines; and
a controller operatively coupled to the plurality of word lines and the plurality of bit lines to provide a plurality of read signals and a plurality of reverse read signals to the resistive memory element array.
2. The resistive memory system of claim 1 , wherein the controller is configured to periodically provide a reverse read signal from the plurality of reverse read signals to the resistive memory element array at a predetermined frequency.
3. The resistive memory system of claim 1 , wherein:
the controller is configured to determine when a predetermined quantity of read signals from the plurality of read signals have been provided to the resistive memory element array; and
the controller is configured to provide a reverse read signal from the plurality of reverse read signals after the predetermined quantity of read signals from the plurality of read signals have been provided to the resistive memory element array.
4. The resistive memory system of claim 1 , wherein:
the controller is configured to determine when a predetermined quantity of read signals from the plurality of read signals have been provided at a word line from the plurality of word lines of the resistive memory element array; and
the controller is configured to provide a reverse read signal from the plurality of reverse read signals after the predetermined quantity of read signals from the plurality of read signals have been provided at that word line from the plurality of word lines of the resistive memory element array.
5. The resistive memory system of claim 1 , wherein:
the controller is configured to determine when a predetermined quantity of read signals from the plurality of read signals have been provided at a word line from the plurality of word lines of the resistive memory element array; and
the controller is configured to provide at that word line from the plurality of word lines a reverse read signal from the plurality of reverse read signals after the
predetermined quantity of read signals from the plurality of read signals have been provided at that word line from the plurality of word lines of the resistive memory element array.
6. The resistive memory system of claim 1 , wherein:
each resistive memory element from the plurality of resistive memory elements is a memristor; and
the resistive memory element array is a memristor array.
7. A resistive memory access method, comprising:
providing a plurality of read signals to a resistive memory element, the plurality of read signals having a polarity;
determining a state of the resistive memory element for each read signal from the plurality of read signals, and
providing a reverse read signal to the resistive memory element, the reverse read signal having a polarity different from the polarity of the plurality of read signals.
8. The resistive memory access method of claim 7, wherein:
the plurality of read signals includes a first plurality of read signals and a second plurality of read signals; and
the providing the reverse read signal being after the providing the first plurality of read signals and before the providing the second plurality of read signals.
9. The resistive memory access method of claim 7, wherein the reverse read signal is a first reverse read signal provided at a first time, the method further comprising: providing a second reverse read signal at a second time separated from the first time by a predetermined time period.
10. The resistive memory access method of claim 7, further comprising:
incrementing a count value in response to providing each read signal from the plurality of read signals,
the providing the reverse read signal being in response to the count value reaching a predetermined value.
1 1. The resistive memory access method of claim 7, wherein:
the plurality of read signals has a first nominal magnitude; and
the reverse read signal has a second nominal magnitude different from the first nominal magnitude.
12. The resistive memory access method of claim 7, wherein:
the plurality of read signals has a first nominal pulse width; and
the reverse read signal has a second nominal pulse width different from the first nominal pulse width.
13. The method of claim 7, wherein the resistive memory element is a memristor.
14. A resistive memory module, comprising:
a plurality of contacts;
a resistive memory element array including a plurality of word lines, a plurality of bit lines, and a plurality of resistive memory elements, each resistive memory element from the plurality of resistive memory elements coupled to a word line from the plurality of word lines and a bit line from the plurality of bit lines; and a controller operatively coupled to the contacts and the resistive memory element array to provide a plurality of read signals and a plurality of reverse read signals to the resistive memory element array.
15. The resistive memory module of claim 14, wherein the controller is configured to periodically provide a reverse read signal from the plurality of reverse read signals to the resistive memory element array at a predetermined frequency.
16. The resistive memory module of claim 14, wherein:
the controller is configured to determine when a predetermined quantity of read signals from the plurality of read signals have been provided at a word line from the plurality of word lines of the resistive memory element array; and
the controller is configured to provide at that word line from the plurality of word lines a reverse read signal from the plurality of reverse read signals after the
predetermined quantity of read signals from the plurality of read signals have been provided at that word line from the plurality of word lines of the resistive memory element array.
17. The resistive memory module of claim 14, wherein:
the controller is configured to determine when a predetermined quantity of read signals from the plurality of read signals have been provided to the resistive memory element array; and
the controller is configured to provide a reverse read signal from the plurality of reverse read signals after the predetermined quantity of read signals from the plurality of read signals have been provided to the resistive memory element array.
18. The resistive memory module of claim 14, wherein:
each resistive memory element from the plurality of resistive memory elements is a memristor; and
the resistive memory element array is a memristor array.
PCT/US2011/023041 2011-01-28 2011-01-28 Methods, systems and apparatus for resistive memory WO2012102734A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/US2011/023041 WO2012102734A1 (en) 2011-01-28 2011-01-28 Methods, systems and apparatus for resistive memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2011/023041 WO2012102734A1 (en) 2011-01-28 2011-01-28 Methods, systems and apparatus for resistive memory

Publications (1)

Publication Number Publication Date
WO2012102734A1 true WO2012102734A1 (en) 2012-08-02

Family

ID=46581095

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2011/023041 WO2012102734A1 (en) 2011-01-28 2011-01-28 Methods, systems and apparatus for resistive memory

Country Status (1)

Country Link
WO (1) WO2012102734A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014031617A1 (en) * 2012-08-21 2014-02-27 Micron Technology, Inc. Unipolar memory devices
US9224945B2 (en) 2012-08-30 2015-12-29 Micron Technology, Inc. Resistive memory devices
US9576652B1 (en) 2016-01-11 2017-02-21 Winbond Electronics Corp. Resistive random access memory apparatus with forward and reverse reading modes

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060023497A1 (en) * 2004-07-28 2006-02-02 Sharp Kabushiki Kaisha Nonvolatile semiconductor memory device and read method
US20090163826A1 (en) * 2006-04-03 2009-06-25 Blaise Laurent Mouttet Memristor crossbar neural interface
US20090168504A1 (en) * 2007-12-28 2009-07-02 Korea Institute Of Science And Technology Phase change memory apparatus having an improved cycling endurance and programing method therefor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060023497A1 (en) * 2004-07-28 2006-02-02 Sharp Kabushiki Kaisha Nonvolatile semiconductor memory device and read method
US20090163826A1 (en) * 2006-04-03 2009-06-25 Blaise Laurent Mouttet Memristor crossbar neural interface
US20090168504A1 (en) * 2007-12-28 2009-07-02 Korea Institute Of Science And Technology Phase change memory apparatus having an improved cycling endurance and programing method therefor

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014031617A1 (en) * 2012-08-21 2014-02-27 Micron Technology, Inc. Unipolar memory devices
US8817522B2 (en) 2012-08-21 2014-08-26 Micron Technology, Inc. Unipolar memory devices
US9224945B2 (en) 2012-08-30 2015-12-29 Micron Technology, Inc. Resistive memory devices
US10090462B2 (en) 2012-08-30 2018-10-02 Micron Technology, Inc. Resistive memory devices
US9576652B1 (en) 2016-01-11 2017-02-21 Winbond Electronics Corp. Resistive random access memory apparatus with forward and reverse reading modes

Similar Documents

Publication Publication Date Title
JP6585845B2 (en) Apparatus and method including memory and operation thereof
US9275730B2 (en) Apparatuses and methods of reading memory cells based on response to a test pulse
JP6946594B2 (en) Access scheme for section-based data protection in memory devices
US9036395B2 (en) Programmed-state detection in memristor stacks
US20160240249A1 (en) Resistance memory cell
US11087840B2 (en) Method of operating resistive memory device to increase read margin
KR20150013090A (en) Three-dimensional two-terminal memory with enhanced electric field
KR20150137109A (en) Rram, and methods of storing and retrieving information for rram
Merkel et al. Reconfigurable N-level memristor memory design
JP2012023271A (en) Semiconductor memory
CN109147844B (en) Resistive memory and resistive memory cell recovery resistance window method thereof
US10489700B1 (en) Neuromorphic logic for an array of high on/off ratio non-volatile memory cells
US8842462B2 (en) Resistive random access memory device and operating method thereof
EP3799050A1 (en) Techniques to generate & adjust program current pulses for cross-point nonvolatile memory
WO2012102734A1 (en) Methods, systems and apparatus for resistive memory
US9202564B2 (en) Semiconductor memory device and method of controlling data thereof
JP5262402B2 (en) Storage device and data holding method
US11139026B2 (en) Variable reference based sensing scheme
US9373410B1 (en) MLC OTP operation in A-Si RRAM
TWI626654B (en) Resistive memory and recovery resistance window method of resistive memory cell thereof
US10957387B1 (en) Multi-level cell (MLC) techniques and circuits for cross-point memory
US8773886B2 (en) Memory array with co-planar waveguide based memory element selection
JP2017037698A (en) Resistive memory device and reading method thereof
US20230176747A1 (en) Memory device with data scrubbing capability and methods
US11107523B1 (en) Multi-level cell (MLC) cross-point memory

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11856934

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11856934

Country of ref document: EP

Kind code of ref document: A1