Introduction
In this blog post, I’ll provide you with a quick intro to NVDIMM-N. NVDIMM-N is a form of persistent memory (PMEM). It is actually, at the time of writing, the most readily available PMEM type. You can get it from you favorite OEM right now online. Other PMEM offerings are not there yet or only got there recently with some limitations.
So now we need to explain PMEM. PMEM is a solid-state high-performance byte-addressable memory device that resides on the memory bus (today at least, new buses are coming). In other words, PMEM has DRAM-like access to data at almost the same speed & latency of DRAM but is persistent like NAND flash
A quick intro to NVDIMM-N.
NVDIMM-N Combines DRAM & NAND to deliver persistent storage in a DIMM slot.
NVDIMM-N also happens to be the fasted at the moment as works at the speed of DRAM. The flash in NVDIMM-N is only used to persist the data when the power goes down or is lost, It is also used to retrieve the data from at boot time. Nothing else, it literally is only used to persist the data when powered down and to reload it into RAM at boot time.
NVDIMM-N requires an external battery pack (supercapacitors) to deliver the power to persist all the data from DRAM to Flash when power is lost.
You can see the reloading of the data at boot time in the BIOS startup menu. It adds to the start-up time and is needed to make sure the data is in the NVDIMM-N DRAM ready for use by the time the OS is running
The actual data is only created, read, updated, deleted and consumed or used in the DRAM part. Hence it is very fast.
It also means it is rather small as the biggest DRAM modules you’ll find are 128 GB and those are very rare. Normally you’ll find 16 GB, 32 GB, and 64 GB. In NVDIMM-N the most common ones seem 16 GB.
Strong points
- It is very fast, the closest to pure RAM as you’ll find.
- Latency is at 10s of ns
- Allows for block mode or byte access to the memory-mapped DRAM
- It is readily available.
- As the flash is only written to when the device shuts down or boots, the flash is not in danger of wearing out fast.
Weak points
- It requires an external battery pack.
- The capacity is rather small and DRAM sizes are not growing significantly.
- It is expensive per GB as the capacity is delivered by NAND.
Note that both BIOS and OS support is required. Ideally, the applications also support DAX to leverage PMEM optimally. And, depending on the type of PMEM, the same goes for some of the related hardware (CPU, memory bus).
Use cases
Any workload that can benefit from extreme speeds but doesn’t require too much capacity. Database logging is one such example as is journaling.
So if you have a need for the fastest possible PMEM you could be using or looking at NVDIMM-N today. But due to the size limitations, you’ll be addressing any ultra-high-speed storage needs that require more capacity with different variants of PMEM in the very near future. NVDIMM-P or Storage Class Memory are two solutions that deliver similar characteristics in a somewhat different manner but at higher capacity and a better price point. I’ll discuss these in later posts.
Note: I present on the topic of PMEM and target IT professionals and developers that want to understand persistent memory a bit better. Help put it into context and learn about the benefits. Reach out via my contact page if this interests you.
What a great product, and such a simple idea! I’ve been trying to find products combining DDR with capacitor/batteries for years (yes, they exist, but they’re expensive and pretty rubbish). I think there could be a lot of potential for a 16x PCIe 3 or 4 DDR3 RDIMM product that combines caps or batteries and an M.2 slot. Why DDR3? Because it is so cheap – 16GB DDR3 RDIMMs are available for less than $40. Obviously any new device would be DDR4 or DDR5 as DDR3 is long dead, but hey a guy can dream…
What is arming here ? what it does after restoring the data?