We all are using RAM, probably DDR4 is just sitting there in your PC and serving memory with an outstanding speed, even while you are reading this sentence. But have you ever wondered how DRAM is working internally?
If so, please find my new poster about DRAM anatomy. It provides a little oversimplified view, for illustrative purposes. But it explains DRAM internals “good enough” for any regular, mortal developer like you and me. This is a great basis to understand while linear memory access is so much preferred over random one, cryptic mamory access timings like 8-8-8-24, and for explaining bugs like Rowhammer bug. Or just to hang it on the wall as a nerdy decoration 🙂
The poster is available for free in a printable version from https://goodies.dotnetos.org.
Here are some additional materials that you can follow while interpreting/digging in this poster:
- What Every Programmer Should Know About Memory, absolute must-read article by Ulrich Drepper
- How the physical address is displayed in rows and banks DRAM, great article motivited by the Rowhammer bug
- Computer Architecture Lecture 25: Main Memory, great lectures from Carnegie Mellon University