What Is An NVDIMM?
An NVDIMM is a Non-Volatile Dual Inline Memory Module Comprised of:
- Standard volatile DRAM which are used during normal operation
- A built-in temporary power source
- A controller to move the volatile memory to…
- Persistent memory (NAND flash in this case) when host power is lost
NVDIMMs are fast, byte-addressable and never wear out.
A significant performance improvement over all other persistent memories: NAND Flash, 3DXpoint, PCM, ReRAM, MRAM, etc…
Greatly improves the latency and access times over all other non-volatile memories
Enables a Fundamental Change in Computing Architecture!
The Problems with Current Compute Architecture
Compute architecture has fundamentally remained unchanged for decades, layering upon historical inefficiencies while Moore’s Law continues to drive performance on the processing side. Memory and storage, due to their nature, have always been treated under separate hierarchies. Memory remains the workhorse in driving compute performance, but with one main flaw, it is volatile, meaning data is lost when the power goes out. Storage on the other hand is non-volatile, but performance and latency are lacking when compared to memory. On top of that is the added overhead of a file system burdening performance even further. There are of course cost implications as well, and improvements in “speeds & feeds” have been made over time, but the underlying architecture has remained the same. The gap between memory and storage is wide, and continues to widen with each generation.
Because of this gap, the market has continually attempted to chase the holy grail of memory and storage, some have referred to this as “Storage Class Memory”, which simply means being able to obtain the performance of memory, with the persistence of storage. Some have seen limited success, while many others have failed. There have been promises of a true DRAM replacement, but ultimately those technologies have fallen short in some aspect. Their “Achilles Heel” if you will. And it’s not like DRAM is standing still. DDR4 offers single-digit nanosecond latency while achieving speeds of 3200 Mega Transfers Per Second. DDR5 is just on the horizon to push the envelope further.
The Solution: NVDIMMs!
Here’s where NVDIMMs come into play. Building upon standard DRAM and NAND, the two most commoditized memory technologies in the world, you get a persistent memory solution with the performance, latency AND endurance of DRAM, with the non-volatility of flash. Here’s how NVDIMMs can help resolve some of the key performance issues:
- Significant performance gap between memory and storage (THIS IS AN ORDERS OF MAGNITUDE PROBLEM!) -> NVDIMMs eliminate this gap, performance @ DRAM speeds
- Storage Interface Speed << Memory Channel Speed -> NVDIMMs run on the memory channel, with the same latency as DRAM
- Storage = Block Access (INEFFICIENT), Memory = Byte Addressable -> NVDIMMs allow for direct access using memory semantics
- Storage is burdened with file system overhead -> NVDIMMs do not require file system access
- CPU performance continues to follow Moore’s Law (for now anyway) leaving storage performance further behind -> NVDIMMs stay on the DRAM roadmap