Persistent Memory & Linux
summary
Persistent memory is byte-addressable nonvolatile memory with DRAM-like latency and cost that forces the kernel to handle millions of IOPS, so Linux is adding block drivers, caching targets and user-space APIs rather than pretending it’s just a disk. Upstream pieces: dm-cache in 3.9 and bcache staged aim to speed adoption; testing uses battery‑backed DIMMs or RAM‑backed MTD to emulate devices. Execute‑in‑place exists but is limited (e.g. execute‑in‑place only on s390 dasd and NOR flash), and replication needs explicit app APIs (or the brute‑force “write it twice”) because there’s no interception point.
AI-written summary · about
chapters (49)
- 0:00Introduction
- 0:15Rick Wheeler
- 1:05What is Persistent Memory
- 2:26What does Persistent Memory mean
- 3:07A great picture
- 4:06SSD history
- 4:52Linux block stack
- 6:40Tuning
- 7:45Driver choices
- 8:47Fragmented community
- 9:47Where are we
- 11:35Crawl Phase
- 12:08Challenge
- 13:26Crawl Run
- 14:06Vendor Specific Parts
- 16:10Crawl Stage
- 17:04File Systems
- 19:57Block Caching
- 21:49Existing File Systems
- 23:14ButterFS
- 28:42Run Phase
- 33:04Executing Place
- 33:37How to get stuff into Linux
- 33:55Linux isnt just a kernel
- 35:22Break in user space
- 35:32How do these things come about
- 36:55Johns work
- 37:16People in the room
- 37:34Wrap up
- 38:23Nonvolatile storage
- 41:03Generic
- 41:15VRMs
- 42:38Block devices
- 43:51Memory systems
- 44:02Redundancy
- 46:14Page
- 46:43Transparent Replication
- 48:27Eventually Consistent Replication
- 49:53My First UNIX Machine
- 50:42NVME
- 51:10Persistent Memory
- 52:32Core Memory
- 53:05Power Drain
- 53:58Metadata Cash
- 54:13Application Programming Level
- 55:44Failure Characteristics
- 56:58ECC
- 57:36Addressability
- 59:18Longterm challenge
