Micron’s NVDIMM Delivers Persistent Memory

Micron’s NVDIMM Delivers Persistent Memory

Nov. 22, 2017
Targeted at persistent-memory applications in the enterprise, this new module, which merges DRAM and NAND flash, makes main memory non-volatile.

Persistent memory (PM) was once the norm when magnetic core memory was ubiquitous. These days, flash memory as main memory is common in microcontrollers, but volatile DRAM now dominates main memory for microprocessors. Non-volatile memory (NVM), in the form of hard-disk drives or solid-state drives (SSDs), is used to boot and store application code.

It would be nice to have NVM as main memory, and that’s becoming more common as modules like Micron’s 32-GB NVDIMM-N become available (Fig. 1). It combines DRAM and NAND flash on the same module. An external supercapacitor provides power to backup the DRAM contents to the NAND flash when power is lost. The supercap is recharged and the contents restored to DRAM when power is restored. This provides DRAM performance with NVM support.

The NVDIMM-N supports Micron’s PowerGEM external supercap as well as the Persistent DDR4 12-V pin. The latter is found on more server motherboards and allows for a common power source for all of the DIMM modules, simplifying installation and support.

1. Micron’s NVDIMM-N combines DRAM with NAND flash. A supercap provides power to save DRAM contents to flash if power is lost.

An FPGA manages system operation, such as power-down backups and power-up restores. It also monitors system health, including PowerGEM and the NAND flash. There’s automatic history tracking, including critical internal system parameters. The DIMM modules support data rates up to PC4-3200.

The Storage Networking Industry Association’s (SNIA) NVM programming model (NPM) defines a range of NVMs, such as the JEDEC Solid State Technology Association’s NVDIMM-F, NVDIMM-N, and NVDIMM-P standards. These DIMMs would plug into the same sockets as DRAM, but they’re NVM rather than volatile DRAM (which loses its contents if power is lost).

NVDIMM-F uses only flash memory and operates at flash-memory speeds that are significantly slower than DRAM. Higher capacity is the major benefit over and above NVM support. NVDIMM-P applies the same approach, but employs other memory technologies like MRAM or phase-change memory that perform better than flash memory, often with better write characteristics.

2. NVDIMM-N operating in direct mode provides the best performance. Block mode operates in the same fashion as DRAM backed by NVMe SSDs.

The Micron NVDIMM-N device plugs into a normal DRAM socket, but it can be used in a number of ways (Fig. 2). It can operate in block mode, like an NVMe SSD, or in direct mode. Though direct mode provides the best performance, it requires software that’s aware of NVDIMM support. In block mode, the driver knows about the NVM support, but hides this from the operating system presenting the usual block-mode device functionality. Direct mode can improve application performance by more than a factor of four.

Applications that frequently update their data, like journaling systems or transactional logging of metadata, will benefit from direct mode. Application services such as memcache or database applications fit into these categories. Creating applications will become easier as SNIA’s NPM is incorporated into operating systems and subsequently adopted by the programming community.

About the Author

William G. Wong | Senior Content Director - Electronic Design and Microwaves & RF

I am Editor of Electronic Design focusing on embedded, software, and systems. As Senior Content Director, I also manage Microwaves & RF and I work with a great team of editors to provide engineers, programmers, developers and technical managers with interesting and useful articles and videos on a regular basis. Check out our free newsletters to see the latest content.

You can send press releases for new products for possible coverage on the website. I am also interested in receiving contributed articles for publishing on our website. Use our template and send to me along with a signed release form. 

Check out my blog, AltEmbedded on Electronic Design, as well as his latest articles on this site that are listed below. 

You can visit my social media via these links:

I earned a Bachelor of Electrical Engineering at the Georgia Institute of Technology and a Masters in Computer Science from Rutgers University. I still do a bit of programming using everything from C and C++ to Rust and Ada/SPARK. I do a bit of PHP programming for Drupal websites. I have posted a few Drupal modules.  

I still get a hand on software and electronic hardware. Some of this can be found on our Kit Close-Up video series. You can also see me on many of our TechXchange Talk videos. I am interested in a range of projects from robotics to artificial intelligence. 

Sponsored Recommendations

Comments

To join the conversation, and become an exclusive member of Electronic Design, create an account today!