Step 1 of 3  ·  ReRAM basics  ·  Next: how a weight gets written into a cell →  ·  Reference  ·  ReRAM home  ·  Compare with PCM

ReRAM vs an ordinary resistor

An ordinary resistor has a fixed value. A ReRAM cell is a resistor whose value you can change with electrical pulses, and which then keeps that value with the power off. Everything in the crossbar simulator follows from that one difference. This page lets you poke at it before you meet the array.

What a ReRAM cell is

A thin metal-oxide layer, for example hafnium oxide (HfOx), sits between two electrodes. A SET pulse builds a conductive filament of oxygen vacancies through the oxide, which lowers the resistance. A RESET pulse of opposite polarity or different amplitude breaks the filament, which raises it. A read at low voltage does not disturb the state, so within that read range the cell behaves like a resistor with whatever value was last written. That is the assumption behind the crossbar math in the simulator.

Think of a water pipe

A resistor is a pipe of fixed width: it passes a fixed amount of water for a given pressure. A ReRAM cell is a pipe whose width you can change with a strong push, and which stays at the new width after you let go.

Think of a lamp

A resistor is a fixed bulb. A ReRAM cell is a dimmer whose knob you turn with write pulses. It stays where you left it, even when the house power is cut.

Why computing cares

Conductance is the weight. Voltage is the input. Ohm's law (I = V·G) does the multiply, and the wire does the add. The weight is the physical state of the device, so it never has to be fetched.

Why it is called ReRAM, and two ways to use the cell

Why “ReRAM”?

ReRAM means resistive random-access memory, also written RRAM. Resistive: the value is stored as a resistance, set by the filament, not as charge on a capacitor or a floating gate. Random access: any cell can be reached by its address in about the same time, like RAM and unlike tape or disk.

It is also non-volatile: the resistance stays when the power is off.

As a memory cell (RAM)

Use two states. The high-resistance state (HRS) stands for one bit value and the low-resistance state (LRS) for the other. Which is 0 and which is 1 is a convention.

Write: a SET or RESET pulse. Read: apply a small voltage below the switching threshold and compare the current with a reference. More current than the reference means LRS.

A row decoder picks one word line, and the bit lines read the cells on it. Only the gap between the two states matters, so a fair amount of variation is tolerable.

As a neural-network cell

A neural-network layer is a set of weighted sums: each output adds up the inputs multiplied by weights (numbers the network has learned), then applies a simple nonlinear step.

Here the cell stores a weight, not a bit, and its conductance can be set to many levels. Drive the rows with input voltages. Each cell gives I = V·G and each bit line adds the currents, so the whole sum is one read. The nonlinear step happens outside the array. This is the crossbar of Steps 2 and 3.

Same device, different demands. As memory, one row is read at a time and only the gap between two states matters. As weights, every row is driven at once and the accuracy of every conductance matters, so variation, drift and write precision become the main problems. That is why Step 2 is about writing a weight precisely.

ReRAM and the memristor

The idea. “Memristor” means memory plus resistor. In 1971 Leon Chua argued that circuit theory was missing a fourth basic two-terminal element. The resistor relates voltage and current, the capacitor relates charge and voltage, and the inductor relates flux and current. The missing one would relate flux and charge, which in practice means a resistance that depends on the history of the current that has flowed through it: a resistor with memory.

The link to ReRAM. In 2008 a team at HP Labs reported a titanium-oxide device that behaves like this, and interest in resistive switching grew from there (see Chua and Strukov et al. under Further reading). ReRAM cells are usually called memristive devices. The memristor is an ideal circuit element, a model. A ReRAM cell is a physical stack of oxide and electrodes that matches the model in some ways and not in others, and whether a given device is a “true” memristor is still argued about.

What they share. The resistance depends on the past, and it stays put when the current stops. Sweep a cell in section 3 and the I-V curve is a loop that crosses at the origin, which is the usual signature of a memristive device.

Ideal memristorReal ReRAM cell
What it isA circuit element in a modelA physical device: oxide between two electrodes
Changing the stateAny current that flows moves the stateNothing happens below a switching threshold (0.8 V in the simulator), then SET or RESET
ReadingAny read moves the state a littleA low-voltage read leaves the state alone, so the cell can be treated as a resistor
BehaviourSmooth and repeatableAbrupt switching, with variation, drift, wear and often a forming step
Why it matters hereGives the picture: conductance is a programmable weightGives the limits: precision, write cost and lifetime

About the material: hafnium oxide (HfOx)

Why hafnium? Hafnium oxide is one of the most studied ReRAM materials. Hafnium dioxide (HfO₂) is already used as a thin insulator in advanced CMOS transistors, so chip makers know how to deposit it in very thin, uniform films. HfOx cells are reported to switch fast and at low voltage, with good endurance, and to shrink to very small sizes (see Wong et al. and Govoreanu et al. under Further reading).

What the “x” means. The film is not exactly HfO₂: its oxygen content is not fixed. Switching works by moving oxygen ions, which leaves oxygen vacancies behind. A chain of vacancies is the conductive filament.

What a real cell adds. A fresh film is an insulator, so a one-time, higher-voltage forming step creates the first filament. Real stacks also usually include a metal electrode or cap layer, for example titanium, hafnium or titanium nitride, that takes up and gives back oxygen during SET and RESET. The simulator leaves out both.

Other oxides. Titanium oxide and tantalum oxide switch by a similar oxygen-vacancy mechanism, so the picture in this lesson carries over. The simulator is generic: its numbers, such as the 5–100 µS range and the 0.8 V switching threshold, are illustrative and not measured on HfOx.

1. Write a cell

Both cells below start at about the same value. Send the same pulses to both. The resistor ignores them. The ReRAM cell changes, one step per pulse, and then holds the new value. Try cutting the power.

Is a SET pulse the same as a RESET pulse? No. In the usual (bipolar) oxide ReRAM they have opposite polarity: a SET pulse makes the top electrode positive compared with the bottom one, and a RESET pulse makes it negative. The pulse generator on the left is wired across the cell, between its two electrodes. The filament is not drawn or erased by a tool: the electric field pushes oxygen ions through the oxide, and that rearranges the conducting path. The dashed outline shows the filament before the last pulse.

ReRAM cell

Ordinary resistor

1.60 V
0.20 V

SET and RESET side by side

SETRESET
Voltage across the cell (top − bottom)PositiveNegative (opposite polarity)
What movesO²⁻ ions drift toward the top electrode, leaving oxygen vacancies that line upO²⁻ ions drift back into the oxide and refill vacancies at the filament tip
FilamentGrows and bridges the oxidePartly dissolves, a gap opens next to the top electrode
ResistanceFalls (G rises)Rises (G falls)
Current limitNeeded (the “compliance”)Not needed
What sets the levelCompliance current, amplitude, width, number of pulsesAmplitude, width, number of pulses

Pulses below about 0.8 V do nothing (below the switching threshold). Stronger pulses move the filament further. Reading above about 0.8 V starts to behave like a weak SET pulse, which is called read disturb. The step size model is the same illustrative one the write panel in the simulator uses. This is the usual bipolar picture (for example hafnium oxide, HfOx). Which electrode is positive for SET depends on the material stack, and some cell types (unipolar) use the same polarity for both and tell them apart by amplitude and length. The simulator uses the bipolar picture, and its numbers are illustrative. The next section shows how single pulses add up to a weight and where the pulse is applied in an array.

2. Pulse by pulse, and where the pulse goes

A. Pulse by pulse: how a weight gets dialled in

One pulse moves the filament only a little, so the conductance climbs or falls in steps. Each SET pulse thickens the filament and raises G, each RESET pulse widens the gap and lowers G. Writing a weight means stopping on the right rung. That is why the simulator’s write loop sends a pulse, reads the cell back and decides whether to send another SET or RESET pulse.

B. Where the pulse is injected

The pulse always goes between the top and bottom electrode of the one cell you want to change. In an array you reach that cell through the wires and, in many designs, a transistor. Choose the pulse type and how the cell is wired:

1.60 V

3. The I-V loop

A resistor draws a straight line: double the voltage, double the current, in both directions. A ReRAM cell draws a loop. Start in the high-resistance state, sweep the voltage up past the SET threshold, and the cell jumps to a low-resistance state and stays there on the way back. A negative sweep past the RESET threshold flips it back. The shaded band is the read range, where the cell is close to an ordinary resistor.

0.00 V

Drag the slider yourself and notice the order matters: the same voltage gives a different current depending on where you came from. That path dependence is the memory. Current is I = G(V)·V, with a small non-linearity added at higher voltage, so the cell is only roughly a resistor at low voltage.

4. Why it is not perfect

Sixteen cells were written to the same target. A resistor array would land within about 1% of the target. ReRAM cells scatter (variation), relax towards the middle as time passes (drift), and lose their separation after many write cycles (endurance). Move the sliders.

10.0%
0 s
1

Illustrative numbers, not measurements of a specific device. Drift pulls both states towards the middle (up to about a third of the way over the time range shown), and wear above about a million cycles shrinks the gap between the states. The point is the shape of each effect, not the exact values.

5. Side by side

Ordinary resistorReRAM cell
ValueSet once by layout or manufactureRewritable with SET and RESET pulses
MemoryNone, it is just fixedNon-volatile, keeps its state without power
I-V curveLinear at all voltagesRoughly linear only at small read voltages, and switches or disturbs at higher ones
AccuracyVery predictable, around 1% matchingNoticeable device-to-device and pulse-to-pulse variation
StabilityStableState can drift or relax over time
WearNoneLimited write endurance
SizeLarge for kΩ to hundreds of kΩVery small cell, which is the density advantage
Extra stepsNoneNeeds an initial forming step, write circuitry and verify reads
AvailabilityAny CMOS processNeeds a foundry with an RRAM layer in the back-end

6. What you will meet in the simulator

Step 2 shows how a weight is written into a cell, and Step 3 is the crossbar simulator. Each difference above explains one of their controls, so here is a preview of what to look for.

The write panel

Erase, SET and RESET pulses, program-and-verify and the pulse-count map exist only because ReRAM must be programmed. A resistor array would skip all of it. Step 2 walks through it. The array-level write panel comes later in Step 3.

The variation σ slider

The σ slider and the write-noise model represent ReRAM's imprecision (section 4 above). A resistor array would mainly have small, static mismatch. See it in the write map.

Gmin and Gmax

They represent the high-resistance and low-resistance states. A real resistor has one value, not two states, so a resistor array has no such range.

Weight levels

A ReRAM cell has to be written to one of several conductance levels in between its two extremes. A resistor array would need a different resistor value for every weight, fixed at manufacture.

Read voltage

The read voltage is kept small (0.2 V by default) so that the cell stays inside the band where it acts like a plain resistor and the crossbar math holds (section 3).

Efficiency panel

The weights never move: they are the devices. That is where the energy saving over a digital multiply-accumulate comes from. You will see it in the efficiency panel at the end of Step 3.

7. Check yourself

Why can the simulator treat each cell as an ordinary resistor when computing?

Because the read voltage is small. In that range the read does not change the state and the I-V curve is close to linear, so each cell passes I = V·G with the G that was last written.

You power the chip off for a week and back on. What happens to the stored weights?

They are still there, because the filament state is physical and non-volatile. They may have drifted slightly (section 4), so a long-lived system may need to refresh or re-verify its weights.

Why does the simulator read back after every write pulse?

Pulse-to-pulse and device-to-device variation mean the same pulse moves different cells by different amounts. Reading the value back and adjusting is how the controller gets each cell within tolerance of its target.

A designer wants 6 bits per weight in one cell. Which slider in section 4 is the problem, and why?

Variation σ. Sixty-four levels packed between the two extremes are very close together, so cell-to-cell scatter makes neighbouring levels overlap. Fewer levels per cell tolerate more variation.

A bipolar cell was SET with a positive pulse. Can another positive pulse, just bigger or longer, RESET it?

No. In the usual bipolar picture RESET needs the opposite polarity, because the field has to push the oxygen ions back into the oxide. More positive pulses only make the filament thicker. (Unipolar cells are different: they use one polarity and tell SET from RESET by amplitude and length.)

In a passive crossbar one cell is written with V. Why do the other cells on its row and column not change?

They only see V/2, which is below the switching threshold, and every other cell sees 0 V. This only works while V/2 stays below the threshold, so the write amplitude is limited. Try raising the amplitude in section 2 and watch the half-selected cells turn red.

Step 2 of 3

Ready to write a weight?

Now that a cell is a resistor you can program, follow one weight from a number to a conductance: pick the cell, round to a level, erase, then pulse and read back until it is close enough. After that, the crossbar puts thousands of these cells in a grid.

Further reading

Everything on this page is a teaching model, so its numbers are illustrative and not fitted to a real device. Start with the review by Wong et al. These sources are for the real physics and data.

  1. Wong, H.-S. P. et al. Metal–oxide RRAM. Proceedings of the IEEE 100, 1951–1970 (2012). doi:10.1109/JPROC.2012.2190369 A review of metal-oxide ReRAM: the switching mechanism, the materials and the electrical behaviour, with a focus on memory use.
  2. Govoreanu, B. et al. 10×10 nm² Hf/HfOx crossbar resistive RAM with excellent performance, reliability and low-energy operation. IEEE International Electron Devices Meeting (IEDM), 31.6.1–31.6.4 (2011). imec repository A hafnium-oxide ReRAM cell smaller than 10 nm × 10 nm in a crossbar, reported with fast low-voltage switching and high endurance.
  3. Waser, R. & Aono, M. Nanoionics-based resistive switching memories. Nature Materials 6, 833–840 (2007). doi:10.1038/nmat2023 A review of the physics behind resistive switching, where the movement of ions inside the material changes the cell’s resistance.
  4. Strukov, D. B., Snider, G. S., Stewart, D. R. & Williams, R. S. The missing memristor found. Nature 453, 80–83 (2008). doi:10.1038/nature06932 Reports a nanoscale titanium-oxide device that behaves like a memristor. Widely cited as the paper that renewed interest in the idea.
  5. Chua, L. O. Memristor — the missing circuit element. IEEE Transactions on Circuit Theory 18, 507–519 (1971). Proposes the memristor as a fourth basic circuit element, in effect a resistor with memory.

Want to see how a different device does the same job? PCM vs ReRAM puts a phase-change cell next to the ReRAM cell on this page. The full, grouped list is at the end of the crossbar simulator. Links can change, so searching the title and DOI always works.