One of the problems with being engaged in our hobby or profession is that people assume if you can build a computer out of chips, you must know all the details of their latest laptop computer. Most of the memory we deal with is pretty simple compared to DDR4 memory and if you’ve ever tried tweaking your memory, you know a good BIOS has dozens of settings for memory. [Actually Hardcore Overclocking] has a great description of a typical DDR4 datasheet and you can watch it in the video below.
Of course, he points out that knowing all this really doesn’t help you much with memory overclocking because you can’t really predict the complex effects without trial and error. However, most of us like to understand the knobs we are randomly twisting. On top of that, one theme of the video is that DRAM is dumb and simple. If you’ve ever thought about using it in a project, this might be a good place to start.
After all, there are only 18 commands — way less than a typical microcontroller. If self-design appeals to you, you’ll be a little disappointed that he doesn’t cover the self-refresh and power saving modes, but the video will give you a good foundation to start learning more.
Even of the 18 commands, to just read and write, you only need a small number of commands. However, if you want to roll your own, you’ll need quite a few of them. If you are targeting an FPGA, there are a number of FPGA-based controllers like this one that can help you learn even more.
Don’t forget that DDR5 is going to make you buy new RAM soon enough and then you’ll have lots of spare DDR4. Of course, these days you might prefer designing around NVMe which is sort of memory and sort of a disk drive.