Lesson 13: Persistent Memory

On readings: Recommended background readings are marked with (^) above. Optional historical or fun readings are marked with (*). If you feel comfortable with the topic already, you may skip these readings.

Notes

The slides from lecture can be found on Canvas.

PM basics

Usually, your RAM is volatile, meaning that if the power goes off, your data is gone. We’ve had persistent storage for a long time (magnetic core, tape, spinning drives, SSDs, and so on). Persistent memory is especially interesting, because we’re essentially exposing storage via a memory interface. When we say that a PM device is byte-addressable, we are really talking about how we interact with it using loads and stores. This is in contrast to the typical storage interface, which is block-oriented.

Differences

Of course, we cannot simply replace all of DRAM with PMEM. This is because their performance characteristics are different. PM devices tend to be a bit slower, but much more dense than DRAM. You can think of PM as on the spectrum between DRAM and SSD. This suggests an intermediate storage layer, essentially deepening the memory hierarchy. How this interacts with the system is something we’ll discuss over the next two sessions.

Other topics we’ll discuss