WO2016076879A1 - Memory controllers - Google Patents

Memory controllers Download PDF

Info

Publication number
WO2016076879A1
WO2016076879A1 PCT/US2014/065606 US2014065606W WO2016076879A1 WO 2016076879 A1 WO2016076879 A1 WO 2016076879A1 US 2014065606 W US2014065606 W US 2014065606W WO 2016076879 A1 WO2016076879 A1 WO 2016076879A1
Authority
WO
WIPO (PCT)
Prior art keywords
voltage
current
memory cell
memory
measured
Prior art date
Application number
PCT/US2014/065606
Other languages
French (fr)
Inventor
Yoocharn Jeon
James S. Ignowski
Original Assignee
Hewlett Packard Enterprise Development Lp
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 Enterprise Development Lp filed Critical Hewlett Packard Enterprise Development Lp
Priority to US15/500,074 priority Critical patent/US9934854B2/en
Priority to PCT/US2014/065606 priority patent/WO2016076879A1/en
Publication of WO2016076879A1 publication Critical patent/WO2016076879A1/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/0021Auxiliary circuits
    • G11C13/004Reading or sensing circuits or methods
    • 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
    • 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/0023Address circuits or decoders
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • 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/0045Read using current through the cell
    • 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/0054Read is performed on a reference element, e.g. cell, and the reference sensed value is used to compare the sensed value of the selected cell
    • 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
    • G11C2213/00Indexing scheme relating to G11C13/00 for features not covered by this group
    • G11C2213/70Resistive array aspects
    • G11C2213/77Array wherein the memory element being directly connected to the bit lines and word lines without any access device being used
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C27/00Electric analogue stores, e.g. for storing instantaneous values
    • G11C27/02Sample-and-hold arrangements
    • G11C27/024Sample-and-hold arrangements using a capacitive memory element

Definitions

  • Memory controllers are devices that can operate a memory device, such as memristor-based memories.
  • Memristor-based memories may involve crossbar arrays of memristors.
  • Memristors are devices that can be programmed to different resistive states by applying a programming energy, such as a voltage. After programming, the state of the memristor can be read and remains stable over a specified time period. Thus, memristors can be used to store digital data.
  • a high resistance state can represent a digital "0" and a low resistance state can represent a digital "1 .”
  • Large crossbar arrays of memristive elements can be used in a variety of applications, including random access memory, non-volatile solid state memory, programmable logic, signal processing control systems, pattern recognition, and other applications.
  • FIG. 1 is a block diagram of an example memory controller to determine the state of a memory cell in a crossbar array and a schematic of an example crossbar array;
  • FIG. 2 is a block diagram of an example system having a memory controller to determine the state of a memory cell in a crossbar array and a schematic of an example crossbar array;
  • FIG. 3 is a flowchart of an example method for determining the state of a memory cell in a crossbar array
  • FIG. 4 on coordinates of current and voltage, is an example l-V plot showing the operation of the example system of FIG. 2;
  • FIG. 5 is an example circuit of an example memory controller. DETAILED DESCRIPTION
  • Memristors are devices that may be used as components in a wide range of electronic circuits, such as memories, switches, radio frequency circuits, and logic circuits and systems.
  • a crossbar array of memory cells with memristors or other memory devices may be used.
  • memristors When used as a basis for memories, memristors may be used to store bits of information, 1 or 0.
  • the resistance of a memristor may be changed by applying an electrical stimulus, such as a voltage or a current, through the memristor.
  • at least one channel may be formed that is capable of being switched between two states— one in which the channel forms an electrically conductive path ("ON") and one in which the channel forms a less conductive path ("OFF"). In some other cases, conductive paths represent "OFF” and less conductive paths represent "ON”.
  • Conducting channels may be formed by ions and/or vacancies.
  • selectors or nonlinear memristors, have been used to isolate each cell and overcome the sneak current.
  • a selector may be nonlinear or may have a threshold voltage, which may be the minimum voltage that may activate the selector. In other words, the application of a voltage that is equal or larger than a threshold voltage of a selector will switch the selector from an insulating state to a conducting state.
  • memory cells may have a write voltage, which is the voltage that need be applied in order to switch a memory cell from a first state to a second state.
  • the write voltage of a memory cell is the combination of the threshold voltage of a selector and a switching voltage of the memristor or other memory device to which it is coupled.
  • the voltage range between the threshold voltage of the selector and the write voltage of the memory cell may be the appropriate range for a read voltage, which may be applied to determine the state of the memory cell.
  • some variation in the threshold voltage of the selector and variation in the write voltage of the memory cell may result. When these variations are large, the ranges of the threshold voltage of the selectors in the array and the write voltages of the memory cells may overlap, leaving no suitable range for the read voltage.
  • Examples disclosed herein provide for memory controllers to determine the state of a memory cell in a crossbar array.
  • memory controllers have a voltage driver and a voltage comparator.
  • the voltage driver applies a variable voltage to a selected line of a crossbar array to determine a first measured voltage that drives a first read current through a selected memory cell of the crossbar array and to determine a second measured voltage that drives a second read current through the selected memory cell.
  • the voltage comparator determines a voltage difference between the first measured voltage and the second measured voltage and compares the voltage difference with a reference voltage difference.
  • the state of the memory cell may be determined by comparing the difference between the two measured voltages and the reference voltage difference.
  • the voltage difference may be larger than a reference voltage difference when the memory cell is in its high resistance state.
  • the voltage difference may be smaller than a reference voltage difference when the memory cell is in its low resistance state.
  • FIG. 1 depicts an example memory controller 100 having a voltage driver 1 10 and a voltage comparator 120.
  • Voltage driver 1 10 may have a first measured voltage function 1 12 for applying a variable voltage to a selected line of a crossbar array 130 to determine a first measured voltage that drive a first read current through a selected memory cell 137 of crossbar array 130 and a second measured voltage function 1 14 for applying the variable voltage to the selected line of crossbar array 130 to determine a second measured voltage that drives a second read current through selected memory cell 137.
  • Voltage comparator 120 may have a voltage difference function 122 for determining a voltage difference between the first measured voltage and the second measured voltage and a comparison function 124 for comparing the voltage difference with a reference voltage difference to determine a state of selected memory cell 137.
  • Mennory controller 100 may be an electrical device or component that, in addition to other functions, operates or controls a memory device.
  • the implementation of memory controller 100 may include hardware-based components, such as a microchip, chipset, or electronic circuit, and software-driven components, such as a processor, microprocessor, or some other programmable device.
  • memory controller may include a circuit, such as the example circuit shown in FIG. 5.
  • Voltage driver 1 10 may be a module, engine, or device that, in addition to other functions, operates first measured voltage function 1 12 and second measured voltage function 1 14.
  • the implementation of voltage driver 1 10 may include hardware-based components, such as a microchip, chipset, or electronic circuit, and software-driven components, such as a processor, microprocessor, or some other programmable device.
  • voltage comparator 120 may be a module, engine, or device that, in addition to other functions, operates voltage difference function 122 and comparison function 124.
  • the implementation of voltage comparator 120 may include hardware-based components, such as a microchip, chipset, or electronic circuit, and software-driven components, such as a processor, microprocessor, or some other programmable device.
  • voltage driver 1 10 and voltage comparator 120 may include circuits and components as part of the example circuit shown in FIG. 5.
  • Crossbar array 130 may be a configuration of parallel and perpendicular lines with memory cell and other components coupled between lines at cross-points. Such an architecture is generally referred to as a crossbar or cross-point array.
  • Crossbar array 130 may include a plurality of row lines 132, a plurality of column lines 134, and a plurality of memory cells 136. Each memory cell 136 may be coupled between a unique combination of one row line 132 and one column line 134. In other words, no memory cells share both a row line and a column line.
  • memory controller 100 may operate to determine the state of a selected memory cell 137 that is coupled between a selected row line 133 and a selected column line 135.
  • Row lines 132 may be electrically conducting lines that carry current throughout crossbar array 130. Row lines 132 may be in parallel to each other, generally with equal spacing. Row lines 132 may sometimes be referred to as bit lines. Depending on orientation, row lines 132 may alternatively be referred to as word lines. Similarly, column lines 134 may be conducting lines that run perpendicular to row lines 132. Column lines 134 may be referred to as word lines in some conventions. In other orientations, column lines 134 may refer to bit lines.
  • Row lines 132 and column lines 134 may be made of conducting materials, such as platinum (Pt), tantalum (Ta), hafnium (Hf), zirconium (Zr), aluminum (Al), cobalt (Co), nickel (Ni), iron (Fe), niobium (Nb), molybdenum (Mo), tungsten (W), copper (Cu), titanium (Ti), tantalum nitrides (TaNx), or titanium nitrides (TiNx).
  • conducting materials such as platinum (Pt), tantalum (Ta), hafnium (Hf), zirconium (Zr), aluminum (Al), cobalt (Co), nickel (Ni), iron (Fe), niobium (Nb), molybdenum (Mo), tungsten (W), copper (Cu), titanium (Ti), tantalum nitrides (TaNx), or titanium nitrides (TiNx).
  • Memory cell 136 may be coupled between row lines 132 and column lines 134, which may mean forming a continuous electrical connection between a row line 132, a memory cell 136, and a column line 134.
  • a memory cell 136 may be an electrical component that may change resistance when a voltage is applied across it or a current is driven through it.
  • a memory cell 136 may "memorize" its last resistance. In this manner, each memory cell 136 may be set to at least two states.
  • a memory cell 136 may switch from a first state to a second state when a write voltage is applied to the memory cell 136.
  • the write voltage is the minimum voltage that need be applied to drive a current above a switching current that switches the memory cell 136.
  • memory cell 136 may include one or more of a memristor, a phase change memory, spin-transfer torque memory, or other forms of memory.
  • each memory cell 136 may include a memristor, which may provide the switching and memorizing properties discussed above.
  • Memristors may be based on a variety of materials.
  • Each memristor may be oxide-based, meaning that at least a portion of the memristor is formed from an oxide-containing material.
  • Each memristor may also be nitride-based, meaning that at least a portion of the memristor is formed from a nitride-containing composition.
  • each memristor may be oxy-nitride based, meaning that a portion of the memristor is formed from an oxide-containing material and that a portion of the memristor is formed from a nitride-containing material.
  • a memristor may be formed based on tantalum oxide (TaOx) or hafnium oxide (HfOx) compositions.
  • Other example materials of memristors may include titanium oxide, yttrium oxide, niobium oxide, zirconium oxide, aluminum oxide, calcium oxide, magnesium oxide, dysprosium oxide, lanthanum oxide, silicon dioxide, or other like oxides.
  • Further examples include nitrides, such as aluminum nitride, gallium nitride, tantalum nitride, and silicon nitride.
  • other functioning memristors may be employed in the practice of the teachings herein.
  • a memristor may have be a non-linear memristor exhibiting current-voltage nonlinearity in a voltage range of interest.
  • a memristor may exhibit l-V in the typical voltage range for the operation of voltage driver 1 10.
  • the factor by which the memristor is nonlinear may be a function of voltage, where the factor may be different in different voltage ranges.
  • each memory cell 136 may include a selector coupled in series with a memristor.
  • a selector may be an electrical component placed in series with other components, such as a memristor, that controls the overall electrical properties of the resulting combination device.
  • a selector may be nonlinear, which may mean that a certain change in voltage applied across the selector may drive a disproportional change in the current passing through the selector.
  • a selector may exhibit insulator-to-conductor transition in certain voltage ranges. In other words, a selector may switch from behaving as an insulator to behaving as a conductor when a voltage greater than a threshold voltage is applied.
  • the selector may behave as an insulator when a voltage less than a threshold voltage is applied or if no voltage is applied.
  • selectors may be suitable for the implementations described herein.
  • selectors may be based on oxides, nitrides, oxy-nitrides, sulfides, selenides, tellurides, arsenides, and antimonides.
  • a row line is labeled 142
  • a memristor is labeled 144
  • a selector is labeled 146
  • a column line is labeled 148.
  • the magnified view illustrated the memristor 144 coupled in series with a selector 146.
  • Memristor 144 and selector 146 make up a memory cell coupled between row line 142 and column line 148.
  • voltage driver 1 10 may operate first measured voltage function 1 12 and second measured voltage function 1 14.
  • First measured voltage function 1 12 may apply a variable voltage to a selected line of crossbar array 130 to determine a first measured voltage that drives a first read current through selected memory cell 137.
  • first measured voltage function 1 12 may alter a voltage applied to selected row line 133 until a predetermined first read current is passing through selected memory cell 137. The voltage at which this occurs may be recorded as the first measured voltage.
  • the variable voltage may be applied to selected column line 135 depending on orientation of the crossbar array and surrounding circuitry.
  • second measured voltage function 1 14 may determine a second measured voltage.
  • the second read current may be either larger or smaller than the first read current, which may result in a second measured voltage that is different than the first measured voltage.
  • Voltage comparator 120 may operate voltage difference function 122 and comparison function 124.
  • Voltage difference function 122 may determine a voltage difference between a first measured voltage determined by first measured voltage function 1 12 and a second measured voltage determined by second measured voltage function 1 14. The voltage difference may be the change in the voltage associated with a resulting change in current through selected memory cell 137.
  • comparison function 124 may compare the voltage difference determined by voltage difference function 122 with a reference voltage difference to determine a state of selected memory cell 137, such as, for example, a relatively high resistance state or a relatively low resistance state. When the first read current is kept constant and the second read current is kept constant, the voltage difference between the first measured voltage and the second measured voltage varies depending on the resistance of selected memory cell 137.
  • the voltage difference may be large when the resistance of memory cell 137 is high, such as when the memory cell is in an insulating state, which may be referred to an "off state.
  • the voltage difference may be small when the resistance of selected memory cell 137 is low, such as when the memory cell is in a conducting, "on", state. Therefore, when the voltage difference is higher than a predetermined reference voltage difference, the selected memory cell 137 may be in its high resistance state, and selected memory cell 137 may be in its low resistance state when the voltage difference is lower than the reference voltage difference.
  • the reference voltage difference may be predetermined according to the type, geometry, and/or materials present in the memory cell being read.
  • voltage driver 1 10 may include a function for driving a current through all unselected memory cells 136 of crossbar array 130, where the current is lower than the current driven through the selected memory cell 136.
  • the current may be driven through the unselected memory cells to help neutralize currents from the voltages applied to the selected lines, such as selected row line 133 and selected column line 135.
  • the current through the unselected memory cells may reduce sneak currents through unselected lines, due to the equipotential effect, to levels below that needed to unintentionally read or write unselected memory cells 136.
  • memory controller 100 may determine a sneak current.
  • Sneak currents may be unwanted currents that creep through unselected memory cells 136 that share a line with a selected memory cell 137. For example, when a current is applied, or a voltage is applied to drive a current, to selected row line 133, current may sneak from selected row line 133 through memory cells 136 that are not selected memory cell 137. Sneak currents, among other effects, may complicate reading and writing of selected memristors.
  • Memory controller 100 may determine a sneak current before the operation of voltage driver 1 10 and voltage comparator 120. By doing so, memory controller 100 may account for the sneak currents, and voltage driver 1 10 may determine a more accurate first measured voltage and a more accurate second measured voltage. For example, the sneak current is subtracted from the first read current before the determination of the first measured voltage, and the sneak current is subtracted from the second read current before the determination of the second measured voltage.
  • sneak currents may be included in the first read current and the second read current.
  • the sneak currents are constant and small relative to the read currents, the inclusion of the sneak currents in the read currents may not significantly impact determination of the measured voltages. In other words, in such examples, the sneak currents may not consequentially affect the operation of memory controller 100 to determine the state of a selected memory cell 137.
  • FIG. 2 depicts an example system 200 having a memory controller 220 for determining the state of a selected memory cell in a memory crossbar array 210.
  • System 200 may be a set or combination of components that forms an integrated whole.
  • system 200 may be a computing device or parts of a computing device, such as a memory device or unit.
  • system 200 is a memory device having a memory crossbar array 210 and surrounding circuitry that make up memory controller 220.
  • Memory crossbar array 210 may have a plurality of row lines 212, a plurality of column lines 214, and a plurality of memory cells 216. Each memory cell 216 may be coupled between a unique combination of one row line 212 and one column line 214. As described in relation to FIG. 1 for crossbar array 130, memory crossbar array 210 may be a configuration of parallel and perpendicular lines with memory cells 216 coupled between lines at cross-points. Memory cells 216 may include a nonlinear memristor or a memristor coupled in series with a selector and may be coupled between a unique combination of a row line 213 of plurality of row lines 212 and a column line 215 of plurality of column lines 214. As described above, the components of crossbar array 210 may include a variety of materials and examples.
  • Memory controller 220 may have a voltage driver 230 and a voltage comparator 240. Similar to memory controller 100 of FIG. 1 , memory controller 220 may be an electrical device for component that, in addition to other functions, operate or controls a memory device, such as memory crossbar array 210. Like voltage driver 1 10 of FIG. 1 , voltage driver 230 may be a module, engine, or device that, in addition to other functions, operates first measured voltage function 232, second measured voltage function 234, and unselected lines function 236. In some examples, voltage driver 230 may include circuits and components as part of the example circuit of FIG. 5.
  • First measured voltage function 232 may apply a variable voltage to a selected line of memory crossbar array 210 to determine a first measured voltage that drives a first read current through selected memory cell 217.
  • second measured voltage function 234 may determine a second measured voltage.
  • the second read current may be either larger or smaller than the first read current, which may result in a second measured voltage that is different than a first measured voltage.
  • Unselected lines function 236 may drive a current through all unselected memory cells 216 of crossbar array 210, where the current is lower than the current driven through the selected memory cell 217.
  • the current may be driven through the unselected memory cells to help neutralize currents from the voltages applied to the selected lines, such as selected row line 213 and selected column line 215.
  • the current through the unselected memory cells may reduce sneak currents through unselected lines, due to the equipotential effect, to levels below that needed to unintentionally read or write unselected memory cells 216.
  • Voltage comparator 240 may be a module, engine, or device that, in addition to other functions, operates voltage difference function 242, comparison function 244, and sneak current function 246.
  • voltage comparator 240 may include circuits and components as part of the example circuit shown in FIG. 5.
  • Voltage difference function 242 may determine a voltage difference between a first measured voltage determined by first measured voltage function 232 and a second measured voltage determined by second measured voltage function 234.
  • comparison function 244 may compare the voltage difference determined by voltage difference function 242 with a reference voltage difference to determine a state of selected memory cell 217, such as, for example, a relatively high resistance state or a relatively low resistance state.
  • the voltage difference between the first measured voltage and the second measured voltage varies depending on the resistance of the memristor of selected memory cell 217.
  • the voltage difference may be large when the resistance is high, such as when the memristor is in an insulating state, which may be referred to an "off state.
  • the voltage difference may be small when the resistance is low, such as when the memristor is in a conducting, "on", state. Therefore, when the voltage difference is higher than a predetermined reference voltage difference, selected memory cell 217 may be in one state, and selected memory cell 217 may be in another state when the voltage difference is lower than the reference voltage difference.
  • Sneak current function 246 may determine sneak currents.
  • Sneak currents may be unwanted currents that creep through unselected memory cells 216 that share a line with a selected memory cell 217.
  • Memory controller 220 may determine a sneak current before the operation of voltage driver 230 and voltage comparator 240. By doing so, memory controller 220 may account for the sneak currents, and voltage driver 230 may determine a more accurate first measured voltage and a more accurate second measured voltage. For example, the sneak current is subtracted from the first read current before the determination of the first measured voltage, and the sneak current is subtracted from the second read current before the determination of the second measured voltage.
  • sneak currents may be included in the first read current and the second read current.
  • the sneak currents are constant and small relative to the read currents, the inclusion of the sneak currents in the read currents may not significantly impact determination of the measured voltages. In other words, in such examples, the sneak currents may not affect the operation of memory controller 220 to determine the state of a selected memory cell 217.
  • FIG. 3 is a flowchart depicting an example method 300 for determining the state of a memory cell in a crossbar array, which may include block 310 for applying a voltage to unselected lines of the crossbar array, block 320 for determining a sneak current, block 330 for determining a first measured voltage, block 340 for determining a second measured voltage, and block 350 for comparing the voltage difference with a reference voltage difference.
  • execution of method 300 is herein described in reference to determining the state of a selected memory cell 137 of crossbar array 134 of FIG. 1 , other suitable parties for implementation of method 300 should be apparent, including, but not limited to, system 200 of FIG. 2.
  • Method 300 may start in block 310, where a current, which is lower than the current to be driven through the selected memory cell 137, may be driven through all unselected memory cells of crossbar array 130.
  • the current may be driven through the unselected memory cells to help neutralize currents from the voltages applied to the selected lines, such as selected row line 133 and selected column line 135.
  • the current through the unselected memory cells may reduce sneak currents through unselected lines, due to the equipotential effect, to levels below that needed to unintentionally read or write unselected memory cells 136.
  • method 300 may proceed to block 320, where a sneak current is determined.
  • sneak currents may be unwanted currents that may affect the current levels through selected memory cell 137.
  • the operation of block 320 may allow memory controller 100 to account for the sneak currents, and a more accurate determination of the state of selected memory cell 137 may be made in subsequent blocks of method 300.
  • sneak currents may be included in the first read current and the second read current.
  • Method 300 may then proceed to block 330, where a first measured voltage is determined.
  • An example implementation of block 330 may include first measured voltage function 1 12 applying a variable voltage to a selected line of crossbar array 130 to determine a first measured voltage that drives a first read current through selected memory cell 137.
  • the variable voltage may be applied to selected column line 135 depending on orientation of the crossbar array and surrounding circuitry
  • Method 300 may then proceed to block 340, where a second measured voltage is determined.
  • An example implementation of block 340 may include second measured voltage function 1 14 applying a variable voltage to a selected line of crossbar array 130 to determine a second measured voltage that drives a second read current through selected memory cell 137.
  • second measured voltage function 1 14 may alter a voltage applied to selected row line 133 until a predetermined second read current is passing through selected memory cell 137. Similar to in block 330, the voltage at which this occurs may be recorded as the second measured voltage.
  • method 300 may proceed to block 350, where the voltage difference between the first measured voltage identified in block 330 and the second measured voltage identified in block 340 is compared with a reference voltage difference.
  • An example implementation of block 340 may include the operation of voltage difference function 122 and comparison function 124.
  • Voltage difference function 122 may determine a voltage difference between a first measured voltage identified in block 330 and a second measured voltage identified in block 340. The voltage difference may be the change in the voltage associated with a resulting change in current through selected memory cell 137.
  • comparison function 124 may compare the voltage difference identified by voltage difference function 122 with a reference voltage difference to deternnine a state of selected memory cell 137, such as, for example, a relatively high resistance state or a relatively low resistance state.
  • FIG. 4 is, on coordinates of current and voltage, is an example l-V plot 400 showing the operation of example system 200 of FIG. 2. It should be noted that FIG. 4 may alternatively, or in addition, illustrate the operation of memory controller 100 of FIG. 1 .
  • Plot 400 shows the l-V characteristics of two different memory cells during a read operation, such as by the implementation of example method 300.
  • the l-V characteristics of the first memory cell are depicted as 410 and 415, which respectively represent the behavior of the first memory cell in a low resistance state and in a high resistance state.
  • the l-V characteristics of the second memory cell are depicted as 420 and 425, which respectively represent the behavior of the second memory cell in a low resistance state and in a high resistance state.
  • a memory controller such as memory controller 220 may, via first measured voltage function 232, apply a variable voltage to determine a first measured voltage, which is 41 OA when the first memory cell is in the low resistance state and 415A when it is in the high resistance state.
  • Memory controller 220 may then, via second voltage function 234, apply the variable voltage to determine a second measured voltage, which is 410B when the first memory cell is in the low resistance state and 415B when it is in the high resistance state.
  • the voltage difference determined by voltage difference 242 may be the difference between the two measured voltages.
  • the voltage difference When the first memory cell is in the high resistance state, the voltage difference is large and is represented by AV-.HRS.
  • the voltage difference When the first memory cell is in the low resistance state, the voltage difference is small and is represented by AVr.LRs. Comparing these voltage differences with a reference voltage differences may provide indication the state of the first memory cell.
  • memory controllers such as memory controller 100 and memory controller 220 may determine the state of memory cells within a crossbar array in spite of variation in the threshold voltage of the selector and variation in the write voltage of the memory cell as discussed above.
  • Vw represents the largest write voltage of the memory cells of the crossbar array 210
  • Vsw shows the range of the write (switching) voltages of the memory cells of the array.
  • Vth meanwhile shows the range of the threshold voltages of the selectors of crossbar array 210.
  • FIG. 5 is an example circuit 500 of an example memory controller, such as memory controller 100 of FIG. 1 or memory controller 220 of FIG. 2.
  • a selected row line is labeled 510
  • a selected column line is 520.
  • the selected memory cell is shown as 530.
  • the accompanying lines and circuit components may operate to implement the functions of the memory controller, such as voltage driver 1 10 and voltage comparator 120 of memory controller 100 and such as voltage driver 230 and voltage comparator 240 of the memory controller 220 of system 200. It should be noted that various circuits, devices, and configurations may be utilized to implement memory controller 100 and that circuit 500 is an example implementation.
  • Circuit 500 may have first read current driver 542 and second read current driver 544 that drives a first read current and a second read current, respectively.
  • the first read current and the second read current are held stable by the accompanying circuitry so that a first measured voltage and a second measured voltage may be determined by applying a variable voltage to drive a current to match the first read current and the second read current, which may be the outputs of operational amplifier 560.
  • a voltage difference may be determined by first storing the first measured voltage on capacitor 570 and the finding the voltage difference against the second measured voltage.
  • Comparator 550 may then compare the voltage difference with a reference voltage difference to determine a state of the selected memory cell 530.
  • memory controllers described herein may include additional components and that some of the components described herein may be removed or modified without departing from the scope of the memristors or their applications. It should also be understood that the components depicted in the figures are not drawn to scale and thus, the components may have different relative sizes with respect to each other than as shown in the figures.

Abstract

A memory controller includes a voltage driver and a voltage comparator. The voltage driver applies a variable voltage to a selected line of a crossbar array to determine a first measured voltage that drives a first read current through a selected memory cell of the crossbar array. The voltage driver applies the variable voltage to the selected line to determine a second measured voltage that drives a second read current through the selected memory cell. The voltage comparator then determines a voltage difference between the first measured voltage and the second measured voltage and to compare the voltage difference with a reference voltage difference to determine a state of the selected memory cell. The crossbar array comprises a plurality of row lines, a plurality of column lines, and a plurality of memory cells. Each memory cell is coupled between a unique combination of one row line and one column line.

Description

MEMORY CONTROLLERS
BACKGROUND
[0001 ] Memory controllers are devices that can operate a memory device, such as memristor-based memories. Memristor-based memories may involve crossbar arrays of memristors. Memristors are devices that can be programmed to different resistive states by applying a programming energy, such as a voltage. After programming, the state of the memristor can be read and remains stable over a specified time period. Thus, memristors can be used to store digital data. For example, a high resistance state can represent a digital "0" and a low resistance state can represent a digital "1 ." Large crossbar arrays of memristive elements can be used in a variety of applications, including random access memory, non-volatile solid state memory, programmable logic, signal processing control systems, pattern recognition, and other applications.
BRIEF DESCRIPTION OF THE DRAWINGS
[0002] The following detailed description references the drawings, wherein:
[0003] FIG. 1 is a block diagram of an example memory controller to determine the state of a memory cell in a crossbar array and a schematic of an example crossbar array;
[0004] FIG. 2 is a block diagram of an example system having a memory controller to determine the state of a memory cell in a crossbar array and a schematic of an example crossbar array;
[0005] FIG. 3 is a flowchart of an example method for determining the state of a memory cell in a crossbar array;
[0006] FIG. 4, on coordinates of current and voltage, is an example l-V plot showing the operation of the example system of FIG. 2;
[0007] FIG. 5 is an example circuit of an example memory controller. DETAILED DESCRIPTION
[0008] Memristors are devices that may be used as components in a wide range of electronic circuits, such as memories, switches, radio frequency circuits, and logic circuits and systems. In a memory structure, a crossbar array of memory cells with memristors or other memory devices may be used. When used as a basis for memories, memristors may be used to store bits of information, 1 or 0. The resistance of a memristor may be changed by applying an electrical stimulus, such as a voltage or a current, through the memristor. Generally, at least one channel may be formed that is capable of being switched between two states— one in which the channel forms an electrically conductive path ("ON") and one in which the channel forms a less conductive path ("OFF"). In some other cases, conductive paths represent "OFF" and less conductive paths represent "ON". Conducting channels may be formed by ions and/or vacancies.
[0009] Using memristors or memory cells in crossbar arrays may lead to read and/or write failure due to sneak currents passing through the cells that are not selected— for example, cells on the same row or column as a targeted cell. Failure may arise when the variation of the total sneak current through untargeted neighboring cells from an applied voltage is larger than the difference in the current of the targeted memory cell between the high- and low-resistance states. Therefore, selectors, or nonlinear memristors, have been used to isolate each cell and overcome the sneak current. A selector may be nonlinear or may have a threshold voltage, which may be the minimum voltage that may activate the selector. In other words, the application of a voltage that is equal or larger than a threshold voltage of a selector will switch the selector from an insulating state to a conducting state.
[0010] Furthermore, memory cells may have a write voltage, which is the voltage that need be applied in order to switch a memory cell from a first state to a second state. In some examples, the write voltage of a memory cell is the combination of the threshold voltage of a selector and a switching voltage of the memristor or other memory device to which it is coupled. The voltage range between the threshold voltage of the selector and the write voltage of the memory cell may be the appropriate range for a read voltage, which may be applied to determine the state of the memory cell. However, due to variations in the geometry and variations in the composition of the components due to fabrication processes, some variation in the threshold voltage of the selector and variation in the write voltage of the memory cell may result. When these variations are large, the ranges of the threshold voltage of the selectors in the array and the write voltages of the memory cells may overlap, leaving no suitable range for the read voltage.
[001 1 ] Examples disclosed herein provide for memory controllers to determine the state of a memory cell in a crossbar array. In example implementations, memory controllers have a voltage driver and a voltage comparator. The voltage driver applies a variable voltage to a selected line of a crossbar array to determine a first measured voltage that drives a first read current through a selected memory cell of the crossbar array and to determine a second measured voltage that drives a second read current through the selected memory cell. The voltage comparator determines a voltage difference between the first measured voltage and the second measured voltage and compares the voltage difference with a reference voltage difference.
[0012] In this manner, the state of the memory cell may be determined by comparing the difference between the two measured voltages and the reference voltage difference. For example, the voltage difference may be larger than a reference voltage difference when the memory cell is in its high resistance state. The voltage difference may be smaller than a reference voltage difference when the memory cell is in its low resistance state.
[0013] Referring now to the drawings, FIG. 1 depicts an example memory controller 100 having a voltage driver 1 10 and a voltage comparator 120. Voltage driver 1 10 may have a first measured voltage function 1 12 for applying a variable voltage to a selected line of a crossbar array 130 to determine a first measured voltage that drive a first read current through a selected memory cell 137 of crossbar array 130 and a second measured voltage function 1 14 for applying the variable voltage to the selected line of crossbar array 130 to determine a second measured voltage that drives a second read current through selected memory cell 137. Voltage comparator 120 may have a voltage difference function 122 for determining a voltage difference between the first measured voltage and the second measured voltage and a comparison function 124 for comparing the voltage difference with a reference voltage difference to determine a state of selected memory cell 137. [0014] Mennory controller 100 may be an electrical device or component that, in addition to other functions, operates or controls a memory device. The implementation of memory controller 100 may include hardware-based components, such as a microchip, chipset, or electronic circuit, and software-driven components, such as a processor, microprocessor, or some other programmable device. For example, memory controller may include a circuit, such as the example circuit shown in FIG. 5.
[0015] Voltage driver 1 10 may be a module, engine, or device that, in addition to other functions, operates first measured voltage function 1 12 and second measured voltage function 1 14. The implementation of voltage driver 1 10 may include hardware-based components, such as a microchip, chipset, or electronic circuit, and software-driven components, such as a processor, microprocessor, or some other programmable device. Furthermore, voltage comparator 120 may be a module, engine, or device that, in addition to other functions, operates voltage difference function 122 and comparison function 124. The implementation of voltage comparator 120 may include hardware-based components, such as a microchip, chipset, or electronic circuit, and software-driven components, such as a processor, microprocessor, or some other programmable device. For example, voltage driver 1 10 and voltage comparator 120 may include circuits and components as part of the example circuit shown in FIG. 5.
[0016] Crossbar array 130 may be a configuration of parallel and perpendicular lines with memory cell and other components coupled between lines at cross-points. Such an architecture is generally referred to as a crossbar or cross-point array. Crossbar array 130 may include a plurality of row lines 132, a plurality of column lines 134, and a plurality of memory cells 136. Each memory cell 136 may be coupled between a unique combination of one row line 132 and one column line 134. In other words, no memory cells share both a row line and a column line. In examples herein, memory controller 100 may operate to determine the state of a selected memory cell 137 that is coupled between a selected row line 133 and a selected column line 135.
[0017] Row lines 132 may be electrically conducting lines that carry current throughout crossbar array 130. Row lines 132 may be in parallel to each other, generally with equal spacing. Row lines 132 may sometimes be referred to as bit lines. Depending on orientation, row lines 132 may alternatively be referred to as word lines. Similarly, column lines 134 may be conducting lines that run perpendicular to row lines 132. Column lines 134 may be referred to as word lines in some conventions. In other orientations, column lines 134 may refer to bit lines. Row lines 132 and column lines 134 may be made of conducting materials, such as platinum (Pt), tantalum (Ta), hafnium (Hf), zirconium (Zr), aluminum (Al), cobalt (Co), nickel (Ni), iron (Fe), niobium (Nb), molybdenum (Mo), tungsten (W), copper (Cu), titanium (Ti), tantalum nitrides (TaNx), or titanium nitrides (TiNx).
[0018] Memory cell 136 may be coupled between row lines 132 and column lines 134, which may mean forming a continuous electrical connection between a row line 132, a memory cell 136, and a column line 134. In some examples, a memory cell 136 may be an electrical component that may change resistance when a voltage is applied across it or a current is driven through it. Furthermore, a memory cell 136 may "memorize" its last resistance. In this manner, each memory cell 136 may be set to at least two states. A memory cell 136 may switch from a first state to a second state when a write voltage is applied to the memory cell 136. In some examples, the write voltage is the minimum voltage that need be applied to drive a current above a switching current that switches the memory cell 136. In some examples, memory cell 136 may include one or more of a memristor, a phase change memory, spin-transfer torque memory, or other forms of memory.
[0019] In some examples, each memory cell 136 may include a memristor, which may provide the switching and memorizing properties discussed above. Memristors may be based on a variety of materials. Each memristor may be oxide-based, meaning that at least a portion of the memristor is formed from an oxide-containing material. Each memristor may also be nitride-based, meaning that at least a portion of the memristor is formed from a nitride-containing composition. Furthermore, each memristor may be oxy-nitride based, meaning that a portion of the memristor is formed from an oxide-containing material and that a portion of the memristor is formed from a nitride-containing material. In some examples, a memristor may be formed based on tantalum oxide (TaOx) or hafnium oxide (HfOx) compositions. Other example materials of memristors may include titanium oxide, yttrium oxide, niobium oxide, zirconium oxide, aluminum oxide, calcium oxide, magnesium oxide, dysprosium oxide, lanthanum oxide, silicon dioxide, or other like oxides. Further examples include nitrides, such as aluminum nitride, gallium nitride, tantalum nitride, and silicon nitride. In addition, other functioning memristors may be employed in the practice of the teachings herein.
[0020] A memristor may have be a non-linear memristor exhibiting current-voltage nonlinearity in a voltage range of interest. In other words, when a voltage applied across memristor is changed, the current passing through the memristor changes disproportionately to the change in voltage. For example, a memristor may exhibit l-V in the typical voltage range for the operation of voltage driver 1 10. In some examples, the factor by which the memristor is nonlinear may be a function of voltage, where the factor may be different in different voltage ranges.
[0021] Alternatively or in addition, each memory cell 136 may include a selector coupled in series with a memristor. A selector may be an electrical component placed in series with other components, such as a memristor, that controls the overall electrical properties of the resulting combination device. In some examples, a selector may be nonlinear, which may mean that a certain change in voltage applied across the selector may drive a disproportional change in the current passing through the selector. Alternatively or in addition, a selector may exhibit insulator-to-conductor transition in certain voltage ranges. In other words, a selector may switch from behaving as an insulator to behaving as a conductor when a voltage greater than a threshold voltage is applied. Correspondingly, the selector may behave as an insulator when a voltage less than a threshold voltage is applied or if no voltage is applied. Various selectors may be suitable for the implementations described herein. For example, selectors may be based on oxides, nitrides, oxy-nitrides, sulfides, selenides, tellurides, arsenides, and antimonides.
[0022] In the magnified view of a memory cell 136, a row line is labeled 142, a memristor is labeled 144, a selector is labeled 146, and a column line is labeled 148. The magnified view illustrated the memristor 144 coupled in series with a selector 146. Memristor 144 and selector 146 make up a memory cell coupled between row line 142 and column line 148.
[0023] Continuing to refer to FIG. 1 , voltage driver 1 10 may operate first measured voltage function 1 12 and second measured voltage function 1 14. First measured voltage function 1 12 may apply a variable voltage to a selected line of crossbar array 130 to determine a first measured voltage that drives a first read current through selected memory cell 137. For example, first measured voltage function 1 12 may alter a voltage applied to selected row line 133 until a predetermined first read current is passing through selected memory cell 137. The voltage at which this occurs may be recorded as the first measured voltage. Alternatively, the variable voltage may be applied to selected column line 135 depending on orientation of the crossbar array and surrounding circuitry. Similarly, second measured voltage function 1 14 may determine a second measured voltage. The second read current may be either larger or smaller than the first read current, which may result in a second measured voltage that is different than the first measured voltage.
[0024] Voltage comparator 120 may operate voltage difference function 122 and comparison function 124. Voltage difference function 122 may determine a voltage difference between a first measured voltage determined by first measured voltage function 1 12 and a second measured voltage determined by second measured voltage function 1 14. The voltage difference may be the change in the voltage associated with a resulting change in current through selected memory cell 137. Subsequently, comparison function 124 may compare the voltage difference determined by voltage difference function 122 with a reference voltage difference to determine a state of selected memory cell 137, such as, for example, a relatively high resistance state or a relatively low resistance state. When the first read current is kept constant and the second read current is kept constant, the voltage difference between the first measured voltage and the second measured voltage varies depending on the resistance of selected memory cell 137. For example, the voltage difference may be large when the resistance of memory cell 137 is high, such as when the memory cell is in an insulating state, which may be referred to an "off state. Alternatively, the voltage difference may be small when the resistance of selected memory cell 137 is low, such as when the memory cell is in a conducting, "on", state. Therefore, when the voltage difference is higher than a predetermined reference voltage difference, the selected memory cell 137 may be in its high resistance state, and selected memory cell 137 may be in its low resistance state when the voltage difference is lower than the reference voltage difference. The reference voltage difference may be predetermined according to the type, geometry, and/or materials present in the memory cell being read. [0025] In some implementations, voltage driver 1 10 may include a function for driving a current through all unselected memory cells 136 of crossbar array 130, where the current is lower than the current driven through the selected memory cell 136. In some examples, the current may be driven through the unselected memory cells to help neutralize currents from the voltages applied to the selected lines, such as selected row line 133 and selected column line 135. The current through the unselected memory cells may reduce sneak currents through unselected lines, due to the equipotential effect, to levels below that needed to unintentionally read or write unselected memory cells 136.
[0026] Furthermore in some examples, memory controller 100 may determine a sneak current. Sneak currents may be unwanted currents that creep through unselected memory cells 136 that share a line with a selected memory cell 137. For example, when a current is applied, or a voltage is applied to drive a current, to selected row line 133, current may sneak from selected row line 133 through memory cells 136 that are not selected memory cell 137. Sneak currents, among other effects, may complicate reading and writing of selected memristors. Memory controller 100 may determine a sneak current before the operation of voltage driver 1 10 and voltage comparator 120. By doing so, memory controller 100 may account for the sneak currents, and voltage driver 1 10 may determine a more accurate first measured voltage and a more accurate second measured voltage. For example, the sneak current is subtracted from the first read current before the determination of the first measured voltage, and the sneak current is subtracted from the second read current before the determination of the second measured voltage.
[0027] Alternatively or in addition, sneak currents may be included in the first read current and the second read current. When the sneak currents are constant and small relative to the read currents, the inclusion of the sneak currents in the read currents may not significantly impact determination of the measured voltages. In other words, in such examples, the sneak currents may not consequentially affect the operation of memory controller 100 to determine the state of a selected memory cell 137.
[0028] FIG. 2 depicts an example system 200 having a memory controller 220 for determining the state of a selected memory cell in a memory crossbar array 210. System 200 may be a set or combination of components that forms an integrated whole. For example, system 200 may be a computing device or parts of a computing device, such as a memory device or unit. In an example implementation, system 200 is a memory device having a memory crossbar array 210 and surrounding circuitry that make up memory controller 220.
[0029] Memory crossbar array 210 may have a plurality of row lines 212, a plurality of column lines 214, and a plurality of memory cells 216. Each memory cell 216 may be coupled between a unique combination of one row line 212 and one column line 214. As described in relation to FIG. 1 for crossbar array 130, memory crossbar array 210 may be a configuration of parallel and perpendicular lines with memory cells 216 coupled between lines at cross-points. Memory cells 216 may include a nonlinear memristor or a memristor coupled in series with a selector and may be coupled between a unique combination of a row line 213 of plurality of row lines 212 and a column line 215 of plurality of column lines 214. As described above, the components of crossbar array 210 may include a variety of materials and examples.
[0030] Memory controller 220 may have a voltage driver 230 and a voltage comparator 240. Similar to memory controller 100 of FIG. 1 , memory controller 220 may be an electrical device for component that, in addition to other functions, operate or controls a memory device, such as memory crossbar array 210. Like voltage driver 1 10 of FIG. 1 , voltage driver 230 may be a module, engine, or device that, in addition to other functions, operates first measured voltage function 232, second measured voltage function 234, and unselected lines function 236. In some examples, voltage driver 230 may include circuits and components as part of the example circuit of FIG. 5.
[0031 ] First measured voltage function 232 may apply a variable voltage to a selected line of memory crossbar array 210 to determine a first measured voltage that drives a first read current through selected memory cell 217. Similarly, second measured voltage function 234 may determine a second measured voltage. The second read current may be either larger or smaller than the first read current, which may result in a second measured voltage that is different than a first measured voltage.
[0032] Unselected lines function 236 may drive a current through all unselected memory cells 216 of crossbar array 210, where the current is lower than the current driven through the selected memory cell 217. In some examples, the current may be driven through the unselected memory cells to help neutralize currents from the voltages applied to the selected lines, such as selected row line 213 and selected column line 215. The current through the unselected memory cells may reduce sneak currents through unselected lines, due to the equipotential effect, to levels below that needed to unintentionally read or write unselected memory cells 216.
[0033] Voltage comparator 240 may be a module, engine, or device that, in addition to other functions, operates voltage difference function 242, comparison function 244, and sneak current function 246. In some examples, voltage comparator 240 may include circuits and components as part of the example circuit shown in FIG. 5. Voltage difference function 242 may determine a voltage difference between a first measured voltage determined by first measured voltage function 232 and a second measured voltage determined by second measured voltage function 234. Subsequently, comparison function 244 may compare the voltage difference determined by voltage difference function 242 with a reference voltage difference to determine a state of selected memory cell 217, such as, for example, a relatively high resistance state or a relatively low resistance state. When the first read current is kept constant and the second read current is kept constant, the voltage difference between the first measured voltage and the second measured voltage varies depending on the resistance of the memristor of selected memory cell 217. For example, the voltage difference may be large when the resistance is high, such as when the memristor is in an insulating state, which may be referred to an "off state. Alternatively, the voltage difference may be small when the resistance is low, such as when the memristor is in a conducting, "on", state. Therefore, when the voltage difference is higher than a predetermined reference voltage difference, selected memory cell 217 may be in one state, and selected memory cell 217 may be in another state when the voltage difference is lower than the reference voltage difference.
[0034] Sneak current function 246 may determine sneak currents. Sneak currents may be unwanted currents that creep through unselected memory cells 216 that share a line with a selected memory cell 217. Memory controller 220 may determine a sneak current before the operation of voltage driver 230 and voltage comparator 240. By doing so, memory controller 220 may account for the sneak currents, and voltage driver 230 may determine a more accurate first measured voltage and a more accurate second measured voltage. For example, the sneak current is subtracted from the first read current before the determination of the first measured voltage, and the sneak current is subtracted from the second read current before the determination of the second measured voltage.
[0035] Alternatively or in addition, sneak currents may be included in the first read current and the second read current. When the sneak currents are constant and small relative to the read currents, the inclusion of the sneak currents in the read currents may not significantly impact determination of the measured voltages. In other words, in such examples, the sneak currents may not affect the operation of memory controller 220 to determine the state of a selected memory cell 217.
[0036] FIG. 3 is a flowchart depicting an example method 300 for determining the state of a memory cell in a crossbar array, which may include block 310 for applying a voltage to unselected lines of the crossbar array, block 320 for determining a sneak current, block 330 for determining a first measured voltage, block 340 for determining a second measured voltage, and block 350 for comparing the voltage difference with a reference voltage difference. Although execution of method 300 is herein described in reference to determining the state of a selected memory cell 137 of crossbar array 134 of FIG. 1 , other suitable parties for implementation of method 300 should be apparent, including, but not limited to, system 200 of FIG. 2.
[0037] Method 300 may start in block 310, where a current, which is lower than the current to be driven through the selected memory cell 137, may be driven through all unselected memory cells of crossbar array 130. In some examples, the current may be driven through the unselected memory cells to help neutralize currents from the voltages applied to the selected lines, such as selected row line 133 and selected column line 135. The current through the unselected memory cells may reduce sneak currents through unselected lines, due to the equipotential effect, to levels below that needed to unintentionally read or write unselected memory cells 136.
[0038] After driving a current through the unselected memory cells, method 300 may proceed to block 320, where a sneak current is determined. As descried above, sneak currents may be unwanted currents that may affect the current levels through selected memory cell 137. The operation of block 320 may allow memory controller 100 to account for the sneak currents, and a more accurate determination of the state of selected memory cell 137 may be made in subsequent blocks of method 300. Alternatively or in addition, sneak currents may be included in the first read current and the second read current.
[0039] Method 300 may then proceed to block 330, where a first measured voltage is determined. An example implementation of block 330 may include first measured voltage function 1 12 applying a variable voltage to a selected line of crossbar array 130 to determine a first measured voltage that drives a first read current through selected memory cell 137. Alternatively, the variable voltage may be applied to selected column line 135 depending on orientation of the crossbar array and surrounding circuitry
[0040] Method 300 may then proceed to block 340, where a second measured voltage is determined. An example implementation of block 340 may include second measured voltage function 1 14 applying a variable voltage to a selected line of crossbar array 130 to determine a second measured voltage that drives a second read current through selected memory cell 137. For example, second measured voltage function 1 14 may alter a voltage applied to selected row line 133 until a predetermined second read current is passing through selected memory cell 137. Similar to in block 330, the voltage at which this occurs may be recorded as the second measured voltage.
[0041 ] After determining the measured voltages, method 300 may proceed to block 350, where the voltage difference between the first measured voltage identified in block 330 and the second measured voltage identified in block 340 is compared with a reference voltage difference. An example implementation of block 340 may include the operation of voltage difference function 122 and comparison function 124. Voltage difference function 122 may determine a voltage difference between a first measured voltage identified in block 330 and a second measured voltage identified in block 340. The voltage difference may be the change in the voltage associated with a resulting change in current through selected memory cell 137. Subsequently, comparison function 124 may compare the voltage difference identified by voltage difference function 122 with a reference voltage difference to deternnine a state of selected memory cell 137, such as, for example, a relatively high resistance state or a relatively low resistance state.
[0042] FIG. 4 is, on coordinates of current and voltage, is an example l-V plot 400 showing the operation of example system 200 of FIG. 2. It should be noted that FIG. 4 may alternatively, or in addition, illustrate the operation of memory controller 100 of FIG. 1 . Plot 400 shows the l-V characteristics of two different memory cells during a read operation, such as by the implementation of example method 300. The l-V characteristics of the first memory cell are depicted as 410 and 415, which respectively represent the behavior of the first memory cell in a low resistance state and in a high resistance state. The l-V characteristics of the second memory cell are depicted as 420 and 425, which respectively represent the behavior of the second memory cell in a low resistance state and in a high resistance state.
[0043] To determine the state of the first memory cell, a memory controller such as memory controller 220 may, via first measured voltage function 232, apply a variable voltage to determine a first measured voltage, which is 41 OA when the first memory cell is in the low resistance state and 415A when it is in the high resistance state. Memory controller 220 may then, via second voltage function 234, apply the variable voltage to determine a second measured voltage, which is 410B when the first memory cell is in the low resistance state and 415B when it is in the high resistance state.
[0044] The voltage difference determined by voltage difference 242 may be the difference between the two measured voltages. When the first memory cell is in the high resistance state, the voltage difference is large and is represented by AV-.HRS. When the first memory cell is in the low resistance state, the voltage difference is small and is represented by AVr.LRs. Comparing these voltage differences with a reference voltage differences may provide indication the state of the first memory cell.
[0045] Because of the utilization of two measured voltages that are determined by matching a variable voltage to read currents, no current larger than a switching current level is applied to the memory cell, which prevents inadvertent writing of the memory cell. Furthermore, memory controllers such as memory controller 100 and memory controller 220 may determine the state of memory cells within a crossbar array in spite of variation in the threshold voltage of the selector and variation in the write voltage of the memory cell as discussed above.
[0046] Vw represents the largest write voltage of the memory cells of the crossbar array 210, while Vsw shows the range of the write (switching) voltages of the memory cells of the array. Vth meanwhile shows the range of the threshold voltages of the selectors of crossbar array 210. In some implementations, as explained above, a voltage less than the smallest of the threshold voltages of the selectors. As described above, that voltage may be Vw/2 in some examples, which is half of the write voltage.
[0047] FIG. 5 is an example circuit 500 of an example memory controller, such as memory controller 100 of FIG. 1 or memory controller 220 of FIG. 2. In circuit 500, a selected row line is labeled 510, and a selected column line is 520. The selected memory cell is shown as 530. In some implementations, the accompanying lines and circuit components may operate to implement the functions of the memory controller, such as voltage driver 1 10 and voltage comparator 120 of memory controller 100 and such as voltage driver 230 and voltage comparator 240 of the memory controller 220 of system 200. It should be noted that various circuits, devices, and configurations may be utilized to implement memory controller 100 and that circuit 500 is an example implementation.
[0048] Circuit 500 may have first read current driver 542 and second read current driver 544 that drives a first read current and a second read current, respectively. The first read current and the second read current are held stable by the accompanying circuitry so that a first measured voltage and a second measured voltage may be determined by applying a variable voltage to drive a current to match the first read current and the second read current, which may be the outputs of operational amplifier 560. A voltage difference may be determined by first storing the first measured voltage on capacitor 570 and the finding the voltage difference against the second measured voltage. Comparator 550 may then compare the voltage difference with a reference voltage difference to determine a state of the selected memory cell 530.
[0049] The foregoing describes a number of examples for memory controllers. It should be understood that the memory controllers described herein may include additional components and that some of the components described herein may be removed or modified without departing from the scope of the memristors or their applications. It should also be understood that the components depicted in the figures are not drawn to scale and thus, the components may have different relative sizes with respect to each other than as shown in the figures.

Claims

CLAIMS What is claimed is:
1 . A memory controller, comprising:
a voltage driver to:
apply a variable voltage to a selected line of a crossbar array to determine a first measured voltage that drives a first read current through a selected memory cell of the crossbar array, wherein the crossbar array comprises a plurality of row lines, a plurality of column lines, and a plurality of memory cells, wherein each memory cell is coupled between a unique combination of one row line and one column line; and
apply the variable voltage to the selected line to determine a second measured voltage that drives a second read current through the selected memory cell; and
a voltage comparator to determine a voltage difference between the first measured voltage and the second measured voltage and to compare the voltage difference with a reference voltage difference to determine a state of the selected memory cell.
2. The memory controller of claim 1 , wherein each memory cell comprises a nonlinear memristor, wherein each non-linear memristor exhibits non-linear current-voltage behavior in a voltage range of interest.
3. The memory controller of claim 1 , wherein each memory cell comprises a memristor coupled in series with a selector.
4. The memory controller of claim 3, wherein a selector of the plurality of selectors switches from an insulating state to a conducting state when a voltage larger than a threshold voltage is applied to the selector.
5. The memory controller of claim 3, wherein the selector exhibits non-linear current- voltage behavior in a voltage range of interest.
6. The memory controller of claim 1 , wherein the voltage driver is to drive a current through each of the unselected memory cells connected to the selected line, wherein the current is lower than the current driven through the selected memory cell during the operation of the voltage driver.
7. The memory controller of claim 6, wherein the memory controller is to determine a sneak current.
8. The memory controller of claim 6, wherein the sneak current is subtracted from the first read current before the determination of the first measured voltage and wherein the sneak current is subtracted from the second read current before the determination of the second measured voltage.
9. A system, comprising:
a memory crossbar array, wherein the memory crossbar array comprises a plurality of row lines, a plurality of column lines, and a plurality of memory cells, wherein each memory cell is coupled between a unique combination of one row line and one column line; and
a memory controller, wherein the memory controller comprises:
a voltage driver to apply a variable voltage to a selected line of the memory crossbar array to determine a first measured voltage that drives a first read current through a selected memory cell and to apply the variable voltage to the selected line to determine a second measured voltage that drives a second read current through the selected memory cell; and
a voltage comparator to determine a voltage difference between the first measured voltage and the second measured voltage and to compare the voltage difference with a reference voltage difference to determine the state of the selected memory cell.
10. The system of claim 9, wherein each memory cell comprises a non-linear memristor, wherein each non-linear memristor exhibits non-linear current-voltage behavior in a voltage range of interest.
1 1 . The system of claim 9, wherein each memory cell comprises a memristor coupled in series with a selector.
12. The system of claim 9, wherein:
the voltage driver is to drive a current through each of the unselected memory cells connected to the selected line, wherein the current is lower than the current driven through the selected memory cell during the operation of the voltage driver; and
the voltage comparator is to determine a sneak current.
13. The system of claim 12, wherein the sneak current is subtracted from the first read current before the determination of the first measured voltage and wherein the sneak current is subtracted from the second read current before the determination of the second measured voltage.
14. A method for determining a state of a memristor, comprising:
determining a first measured voltage that drives a first read current through a selected memory cell of a crossbar array by applying a variable voltage to a selected line of the crossbar array;
determining a second measured voltage that drives a second read current through the selected memory cell by applying the variable voltage to the selected line; and
comparing a voltage difference between the first measured voltage and the second measured voltage with a reference voltage difference,
wherein the crossbar array comprises a plurality of row lines, a plurality of column lines, and a plurality of memory cells coupled between a unique combination of one row line and one column line.
15. The method of claim 14, comprising:
driving a current through each of the unselected memory cells connected to the selected line, wherein the current is lower than the current driven through the selected memory cell during the operation of the voltage driver; and
determining a sneak current.
PCT/US2014/065606 2014-11-14 2014-11-14 Memory controllers WO2016076879A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US15/500,074 US9934854B2 (en) 2014-11-14 2014-11-14 Memory controllers comparing a difference between measured voltages with a reference voltage difference
PCT/US2014/065606 WO2016076879A1 (en) 2014-11-14 2014-11-14 Memory controllers

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2014/065606 WO2016076879A1 (en) 2014-11-14 2014-11-14 Memory controllers

Publications (1)

Publication Number Publication Date
WO2016076879A1 true WO2016076879A1 (en) 2016-05-19

Family

ID=55954792

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2014/065606 WO2016076879A1 (en) 2014-11-14 2014-11-14 Memory controllers

Country Status (2)

Country Link
US (1) US9934854B2 (en)
WO (1) WO2016076879A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3324412A1 (en) * 2016-11-21 2018-05-23 NXP USA, Inc. Resistive non-volatile memory and a method for sensing a memory cell in a resistive non-volatile memory
EP3457403A1 (en) * 2017-09-18 2019-03-20 NXP USA, Inc. Resistive non-volatile memory and a method for sensing a memory cell in a resistive non-volatile memory

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9570167B2 (en) * 2015-02-23 2017-02-14 Micron Technology, Inc. Apparatuses and methods of reading memory cells
JP6968941B1 (en) * 2020-07-08 2021-11-24 ウィンボンド エレクトロニクス コーポレーション Resistance change type crossbar array device
DE102022125340A1 (en) 2022-09-30 2024-04-04 TechIFab GmbH DEVICES AND METHODS FOR READING A MEMRISTIVE COMPONENT

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040090852A1 (en) * 2002-11-13 2004-05-13 Smith Kenneth Kay Power-saving reading of magnetic memory devices
US20110182104A1 (en) * 2010-01-26 2011-07-28 Kim Hyongsuk Method of implementing memristor-based multilevel memory using reference resistor array
US20130010521A1 (en) * 2010-03-25 2013-01-10 Richard Carter Systems and methods for row-wire voltage-loss compensation in crossbar arrays
WO2014018063A1 (en) * 2012-07-27 2014-01-30 Hewlett-Packard Development Company, L.P. Dynamic sense circuitry
US20140198559A1 (en) * 2011-08-26 2014-07-17 Frederick Perner Circuit and method for reading a resistive switching device in an array

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6590807B2 (en) 2001-08-02 2003-07-08 Intel Corporation Method for reading a structural phase-change memory
US7302513B2 (en) 2006-04-03 2007-11-27 Blaise Laurent Mouttet Programmable crossbar signal processor
US7848138B2 (en) 2007-06-01 2010-12-07 Intel Corporation Biasing a phase change memory device
US7826260B2 (en) * 2008-10-27 2010-11-02 Seagate Technology Llc Spin-transfer torque memory self-reference read and write assist methods
US8467253B2 (en) * 2010-05-24 2013-06-18 Hewlett-Packard Development Company, L.P. Reading memory elements within a crossbar array
US8724369B2 (en) * 2010-06-18 2014-05-13 Sandisk 3D Llc Composition of memory cell with resistance-switching layers
US20120230081A1 (en) * 2011-03-10 2012-09-13 International Business Machines Corporation Cell-state measurement in resistive memory
FR2973554B1 (en) 2011-04-04 2013-04-12 Commissariat Energie Atomique "SELECTOR-TYPE ELECTRONIC DEVICE"
US9543507B2 (en) 2012-04-12 2017-01-10 Intel Corporation Selector for low voltage embedded memory
WO2014111481A2 (en) * 2013-01-16 2014-07-24 Helmholtz-Zentrum Dresden-Rossendorf E.V. Complementary resistance switch, contact-connected polycrystalline piezo- or ferroelectric thin-film layer, method for encrypting a bit sequence
US9123430B2 (en) * 2013-06-14 2015-09-01 Sandisk 3D Llc Differential current sense amplifier and method for non-volatile memory
KR102140787B1 (en) * 2014-07-07 2020-08-03 삼성전자주식회사 Resistive Memory Device and Operating Method thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040090852A1 (en) * 2002-11-13 2004-05-13 Smith Kenneth Kay Power-saving reading of magnetic memory devices
US20110182104A1 (en) * 2010-01-26 2011-07-28 Kim Hyongsuk Method of implementing memristor-based multilevel memory using reference resistor array
US20130010521A1 (en) * 2010-03-25 2013-01-10 Richard Carter Systems and methods for row-wire voltage-loss compensation in crossbar arrays
US20140198559A1 (en) * 2011-08-26 2014-07-17 Frederick Perner Circuit and method for reading a resistive switching device in an array
WO2014018063A1 (en) * 2012-07-27 2014-01-30 Hewlett-Packard Development Company, L.P. Dynamic sense circuitry

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3324412A1 (en) * 2016-11-21 2018-05-23 NXP USA, Inc. Resistive non-volatile memory and a method for sensing a memory cell in a resistive non-volatile memory
EP3457403A1 (en) * 2017-09-18 2019-03-20 NXP USA, Inc. Resistive non-volatile memory and a method for sensing a memory cell in a resistive non-volatile memory
US10403357B2 (en) 2017-09-18 2019-09-03 Nxp Usa, Inc. Resistive non-volatile memory and a method for sensing a memory cell in a resistive non-volatile memory

Also Published As

Publication number Publication date
US20170249987A1 (en) 2017-08-31
US9934854B2 (en) 2018-04-03

Similar Documents

Publication Publication Date Title
US9997244B1 (en) RRAM-based authentication circuit
US9911490B2 (en) Memory controllers
US9934854B2 (en) Memory controllers comparing a difference between measured voltages with a reference voltage difference
US7936585B2 (en) Non-volatile memory cell with non-ohmic selection layer
KR101744757B1 (en) Variable resistance element, semiconductor device including the variable resistance element, and method of operation the semiconductor device
US10783961B2 (en) Memory cells, memory systems, and memory programming methods
US8514607B2 (en) Semiconductor memory device
CN109147844B (en) Resistive memory and resistive memory cell recovery resistance window method thereof
US9911789B2 (en) 1-Selector n-Resistor memristive devices
WO2015072958A1 (en) Nonlinear memristor devices with three-layer selectors
WO2016130134A1 (en) Multilayered memristors
US20170271406A1 (en) Superlinear selectors
US9716224B2 (en) Memristor devices with a thermally-insulating cladding
US10090049B2 (en) Semiconductor integrated circuit with resistive change elements intersect with first and second plurality wiring lines, control circuit and plurality of current limiter circuits corresponding to the first and second wiring lines
JP2006351061A (en) Memory circuit
US11062772B2 (en) Variable resistance non-volatile memory device
WO2016167785A1 (en) Determining resistive state of memristors
US10049730B2 (en) Crossbar arrays with shared drivers
US20220336012A1 (en) Semiconductor memory devices with differential threshold voltages
WO2016209232A1 (en) Memory cells with volatile conducting bridge selectors
CN115527582A (en) Resistive memory device and method of programming the same
WO2016153513A1 (en) Code comparators
EP4345818A1 (en) Devices and methods for operating a memristive element
US20240120005A1 (en) Devices and methods for operating a memristive element
WO2016190838A1 (en) Hybrid selectors

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: 14906140

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 15500074

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14906140

Country of ref document: EP

Kind code of ref document: A1