Glossary
Persistent memory
Persistent memory is non-volatile memory that a processor reads and writes with ordinary load and store instructions, a few bytes at a time, and that keeps its contents when power is lost.
Also called storage class memory, it fills the gap between DRAM, which is fast but forgets everything without power, and flash, which persists but is accessed in blocks through a storage driver.
Why persistent memory matters to storage architects
Every storage system has to make a write durable before it tells the application the write succeeded. For large writes, the time to reach flash or disk is small next to the transfer itself. For small writes, such as metadata updates, journal entries and database commits, that durability step dominates. Persistent memory lets a system make a small write durable at memory speed and move it to flash or disk later in larger, more efficient batches. The idea has outlived several products, so it is worth understanding the function separately from any one device.
Where persistent memory sits
| Tier | Access unit | Access path | Typical access time | Survives power loss |
|---|---|---|---|---|
| DRAM | Bytes (64-byte cache lines) | Memory bus | ~100 ns | No |
| Persistent memory | Bytes (64-byte cache lines) | Memory bus or CXL | Tens to hundreds of ns | Yes |
| NVMe flash | Blocks (commonly 4 KiB) | PCIe and a storage driver | Tens of µs | Yes |
| Hard drive | Blocks | SATA or SAS | Milliseconds | Yes |
Granularity matters as much as speed. Updating an 8-byte counter on a block device means writing at least a 4,096-byte block, 512 times the data that changed. On persistent memory the same update touches one cache line.
How software uses persistent memory
Persistent memory can be presented in two ways. As a block device, it behaves like a very fast disk and needs no application changes. As memory-mapped files, an application maps a region into its address space and reads and writes it directly, skipping the storage stack entirely.
Direct use brings a complication. A store instruction lands in the processor's caches, which are volatile, and only becomes durable once it is flushed to a protected part of the system. The processor may also flush cache lines in any order. Software built on persistent memory therefore uses explicit flush instructions plus logs or transactions, so that after a crash every structure is found in either its old state or its new one.
Hardware forms
- NVDIMM-N modules pair DRAM with on-module flash and a power source. The system runs from DRAM; on power loss the module copies its contents to flash and restores them at the next boot.
- Intel Optane persistent memory used a dedicated media in DIMM form. It was the most widely deployed product of its kind, and Intel ended the Optane line in 2022.
- CXL-attached memory uses the Compute Express Link interconnect. CXL 2.0 added support for persistent memory, following the NVDIMM-N pattern of fast media backed by non-volatile media and stored energy.
- Battery- or capacitor-backed DRAM on storage controllers (often called NVRAM), and power-loss protection on data-centre SSDs, deliver the same durability function in smaller amounts.
What persistent memory means for storage design today
With Optane gone, few new designs depend on persistent memory DIMMs. Most get the same effect from two cheaper places: NVMe SSDs with power-loss protection, which can acknowledge a write once it reaches their protected cache, and battery-backed write caches in controllers. Platforms built around Optane face a migration, and the effort depends on whether the software used persistent memory as a fast disk, which ports easily, or through direct memory mapping, which does not.
In a distributed system the benefit is also smaller than on a single array. A write to a scale-out object store is protected by copies or erasure-coded fragments on several servers, so a network round trip sits in the durability path whatever the local media. Local persistent memory shortens the part of each write that happens inside one server; it leaves the network part untouched. The gain is largest where small, frequent updates hit one node, such as metadata journals and indexes, and smallest for large object writes whose time is spent moving data.
CXL is the likely route for persistent memory to return at scale, attached through a standard interconnect and shareable across servers. For now it is an emerging option, and the durable small-write problem is mostly solved with flash plus protected caches.
Persistent memory and Scality RING
RING uses the same principle in hard-drive-based configurations. A Solved by Scality article describes typical write latency "on the order of 3 milliseconds, which is attributable to the use of flash for indexes and safe write caching to non-volatile memory in the storage servers", with the data payloads stored on hard drives (Solved by Scality).
Durable caching on the write path, combined with flash for metadata, is how such clusters give acknowledged writes faster response times than the underlying disks could on their own.














