What is an NVDIMM (non-volatile dual in-line memory module)?
An NVDIMM (non-volatile dual in-line memory module) is hybrid computer memory that retains data during a service outage. NVDIMMs integrate non-volatile NAND flash memory with dynamic random access memory (DRAM) and dedicated backup power on a single memory subsystem.
Non-volatile DIMM cards are used to extend system memory and supply high-performance storage. The NVDIMM form factor plugs into a standard DIMM connector on a memory bus. The on-module flash memory is used exclusively to back up and restore storage in DRAM.
NVDIMMs operate at or near the speed of the memory bus, but they aren't native plug-and-play devices. Manufacturers must modify server motherboards, as well as BIOS and Unified Extensible Firmware Interface (UEFI) drivers, to recognize the discrete memory types presented by an NVDIMM.
There is debate whether the NVDIMM term is misleading, since the devices primarily use volatile memory to process normal procedures and only invoke the flash element via a backup battery or capacitor to preserve data.
DIMMs and NVDIMMs
An NVDIMM is one of several types of hybrid DIMMs on the market. Server manufacturers historically have designed system memory with either registered DIMMs (RDIMMs) or unregistered DIMMs (UDIMMs).
RDIMMs use an onboard register to electrically isolate the server's memory module from other circuitry on the motherboard. Conversely, a UDIMM is an RDIMM that lacks an onboard buffer. UDIMMs normally are used in servers that require only modest amounts of memory with minimal latency.
Load-reduced DIMMs refer to a newer form factor that also uses a buffer to reduce the electricity load but without risking power and memory performance.
Adding non-volatile memory (NVM) to a DIMM makes DRAM persistent. DRAM provides high performance and low latency; the flash and backup power handle data protection.
Advantages of NVDIMMs in servers
NVDIMM technology is considered an alternative to DRAM because it's an order of magnitude faster than writing data to 4K block storage. NVDIMMs can be useful for accelerating workloads on next-generation server and data storage platforms.
NVDIMMs provide high-speed DRAM performance coupled with flash-backed persistent storage. Aside from providing an additional memory tier in servers, NVDIMM persistence allows applications to continue processing input/output (I/O) traffic during planned outages and unexpected system failures such as power loss.
The onboard DRAM controller triggers a backup process if it senses a power failure is imminent. Data is immediately written to the onboard flash. Once the system power supply is restored, the NVDIMM controller reverses the process, copying data from flash back to DRAM without data loss to support a resumption of normal operations.
NVDIMMs provide an additional enterprise option for server-side flash storage. They can be an addition or an alternative to traditional solid-state drives in servers; add-in Peripheral Component Interconnect Express, also known as PCIe; SSDs; internally mounted M.2 SSDs; or Mini Serial Advanced Technology Attachment storage devices.
Disadvantages of using NVDIMMs
NVDIMMs aren't always a direct replacement for DRAM technology; the application architecture must be adapted to NVDIMM features. In some cases, it might be necessary to modify software programming and hardware BIOS or UEFI to support NVDIMMs.
Workloads for NVDIMMs
As enterprise data sets become increasingly complex, NVDIMMs have emerged as a way to bridge the gap in existing scale-out storage architectures in the data center. Their speed and performance advantages gear NVDIMMs toward hot data, warm storage, cache acceleration and in-memory database processing associated with real-time big data analytics.
NVDIMMs have the potential to boost application performance, data security and disaster recovery. They also serve to enhance the write endurance and performance of SSDs.
NVDIMM-N vs. NVDIMM-F
Access to an NVDIMM-N device occurs at or near the speed of DRAM, with the goal of fast data transfer. DRAM is mapped to the system memory technology. Applications typically see an NVDIMM-N as a block device. Each NVDIMM-N uses approximately 16 gigabytes of DRAM, matched with an equal share of NAND capacity, to create devices that currently have a top capacity of 192 GB.
DRAM handles routine data transfers. For persistent storage, NVDIMM-N saves data to the onboard NAND flash element during an interruption and then restores it to DRAM when power is resumed. Offloading data protection functionality to flash cuts I/O latency to nanoseconds, although current DRAM power and packaging limitations restrict NVDIMM capacities to the gigabyte range.
NVDIMM-F is an all-flash DIMM of memory-mapped NAND that can operate in two modes:
- Storage mode. NVDIMM-F behaves in a similar fashion to a disk drive with block I/O. The NVDIMM-F flash element is accessed in native block format via a shared command buffer, such as a mounted drive.
- Memory mode. NVDIMM-F operates alongside DRAM DIMMs for byte-addressable storage, scaling to terabytes of application memory in a single system.
An NVDIMM-F device has slower performance than a NVDIMM-N device.
Newer NVDIMM standards
Newer NVDIMM hardware and software standards, such as NVDIMM-P, have narrowed the gap between memory and storage.
NVDIMM evolution is tied to advances in double data rate synchronous DRAM memory chips. As the name implies, DDR SDRAM memory captures data at twice the frequency of the clock speed of a computer processor. Data is transferred in DDR SDRAM twice per clock cycle: once at the falling edge of the clock and once at the rising edge.
Updates to DDR include DDR2, DDR3 and DDR4, which was unveiled in 2014. JEDEC, a standards body for the microelectronics industry, published specifications for DDR4-compliant hybrid NVDIMMs in 2015.
DDR5 is the latest generation of memory modules, announced in 2023 along with Intel's 12th Generation Core central processing unit (CPU), such as the Core i9-12900K, and associated motherboards. DDR5 is supported in Intel and AMD Epyc CPUs, offering increased performance, better energy management and improved error correction.
The JEDEC standards encompass support for both NVDIMM-F and NVDIMM-N. JEDEC and the Storage Networking Industry Association released standards for the NVDIMM-P protocol in 2021 that combine the access speeds of DDR with the reliability and capacity of NVM, providing efficient data management. NVDIMM-P supports both byte- and block-oriented drive access.