ReRAM Revival
Captured source
source ↗ReRAM Revival Build • Antoine RADET and Fabien PIUZZI • 25/03/25 • 5 min read
ReRAM or Resistive Random-Access Memory (RRAM) is a new kind of computer memory that would allow for non-volatile RAM with size in the order of Solid State Drives (SSD) to be more energy efficient and faster. According to EU Horizon 2020 REMINDER project report , such memory can run 1000x faster, while using 1000x less energy per byte read than current drives technologies such as NAND Flash.
Today we will have a look at ReRAM history, how it works, why it almost came into existence a decade ago and why it’s coming back thanks to the AI boom.
Memory hierarchy
So far, most computers have relied on the Von-Neumann architecture where there is a split between RAM and storage. RAM is faster, smaller, closer to the CPU and volatile; storage on the other hand is an order of magnitude slower, but much bigger, can be accessed externally and non-volatile. For more details about storage vs. RAM see this nice post by Backblaze .
Type Size Access time (CPU cycles) CPU register 4 - 64B 0 L1 cache 16 - 64KB 1 - 4 L2 cache 128KB - 8MB 5 - 20 L3 cache 1 - 32MB 40 - 100 DRAM Tens of GBs 100 - 400 SSD Hundreds of GBs 10,000 - 1,000,000 HDD Terabytes 10,000,000+
Typical size and access time for the different types of memory. (source: https://homepages.cwi.nl/~boncz/msc/2018-BoudewijnBraams.pdf )
Those starkly different characteristics means that their usage requires totally different strategies and accordingly, operating systems and software have been built to work around this gap.
This is a fundamental tenet of how computers work and this hasn't been challenged in decades.
Let's consider two cases:
Say you need to search for a bit of data in a large file that is too big to fit in RAM. Then the operating system would have to fetch blocks of the file from storage and put them the memory so that the software can look through it. The OS sequentially fetches data and discards it from memory once it's no longer needed.
On the other hand, if the file is small enough to fit inside the memory, the software can look through it at once. But the back and forth between 1. reading the storage, 2. putting the content in RAM, and 3. discarding the no longer required data drastically reduces the speed of this simple operation.
To reduce the impact on performance, operating systems and software like database servers have been optimized to work around this. For example Oracle DB offered the possibility to use a raw block device to bypass the file system and do their own optimization for precise data layout on the disk.
Memristors
Memristors were considered to be the missing fundamental two-terminal passive electrical component. While the 3 well-known fundamental components (resistor, inductor and capacitor) have constant relationships between the physic values (current, voltage, magnetic flux…), the so-called memristor displays a memory effect: its resistance depends on the amount of charge that has already passed through it.
Memristor Symbol - With polarity Memristor Symbol - Non-polarized
That property of having the resistance change according to the current that has passed through makes memristor an ideal building block for making non-volatile random access memory ( NVRAM ). Typically for this use case, two resistance states are used: Low Resistance State (LRS) and High Resistance State (HRS) , each coding for logic 0 and logic 1 .
Usual RAM technologies require that power is applied to retain information. Power shall be supplied either permanently for Static RAM (SRAM) , or periodically to refresh the content in Dynamic RAM (DRAM) . Removing this power requirement for data retention makes the memory content persistent (non-volatile) and also reduces the energy consumption. Also, this technology makes the required circuitry smaller, thanks to the simpler design of the memory cells, leading to 10x higher density compared to current technologies .
The Memristor - CLICK to discover the 4th electronic component In electronic, there 3 fundamental linear passives two-terminal components:
Resistors relate voltage and current. The voltage across the conductor is proportional to the current passing through, with a constant of proportionality R called the resistance ( voltage = resistance x current ). A resistor dissipates energy in the form of heat.
Capacitors relate charge and voltage. The voltage across the terminals is proportional to the charge stored in the capacitor, through the inverse of the capacitance C ( charge = capacitance x voltage ). Also, in a capacitor the instantaneous current is equal to the rate of change of the charge (current = variation of charge / variation of time). An ideal capacitor is a simple lossless charge accumulator, and thus dissipates no power.
Inductors relate magnetic flux to current. The current through the inductor generates a magnetic field whose flux is proportional to the current and the inductance L ( flux = current x inductance ). An ideal inductor is lossless and dissipates no energy.
The theoretical component that could relate charge to magnetic flux was called a “memristor” , named for the first time in September 1971 by Leon O. Chua in his paper Memristor - The Missing Circuit Element . The name is a mix of the words memory and resistor because a memristor would have the special property of having its resistance change depending on the current (i.e. variation of charge) that previously passed through.
Relationship between the four fundamental circuit variables: voltage (v), current (i), charge (q) and flux (phi). (source: The missing memristor found, in Nature 2008, vol. 453)
It is worth noting that in contrast to the resistor, capacitor or inductor there is no single relationship for a memristor. More precisely the resistance (R), capacitance (C) and inductance (L) are constants, but the memristance (M) is variable and depends on the charge. If M is constant, it can be shown that the memristor simplifies to that of a resistor.
When it was theorized, there was no practical implementation of such a passive component. In its paper, Chua proposed active implementations (electronic circuits that require external power), but the first passive implementation of a memristor was only proposed in 2008 by a research team at HP Laboratories . More precisely they showed how results from past experiments showing hysteresis (thus memory) behavior can be used in the field…
Excerpt shown — open the source for the full document.
MASTER’S THESIS Predicate Pushdown in Parquet and Apache Spark Author: Boudewijn Braams VU: bbs820 (2527663) - UvA: 10401040 Supervisor: Peter Boncz Daily supervisor (Databricks): Michał Switakowski ´ Second reader: Alexandru Uta December, 2018 A thesis submitted in fulfillment…
Notability
notability 5.0/10Substantive tech blog post