This site is dedicated to persistent memory programming. If you’re just getting started, head to the Documentation Area for links to background information, a Getting Started Guide, and lots of additional information.
Here are some of the top links to related information:
- Persistent Memory Development Kit
- Work-in-Progress Programming Persistent Memory book
- Persistent Memory Summit
- Intel Developer Zone for persistent memory
- PIRL Conference (Persistent Programming In Real Life)
What Is Persistent Memory?
The term persistent memory is used to describe technologies which allow programs to access data as memory, directly byte-addressable, while the contents are non-volatile, preserved across power cycles. It has aspects that are like memory, and aspects that are like storage, but it doesn’t typically replace either memory or storage. Instead, persistent memory is a third tier, used in conjunction with memory and storage.
With this new ingredient, systems containing persistent memory can outperform legacy configurations, providing faster start-up times, faster access to large in-memory datasets, and often improved total cost of ownership.
The Persistent Memory Development Kit, PMDK, is a growing collection of libraries which have been developed for various use cases, tuned, validated to production quality, and thoroughly documented. These libraries build on the Direct Access (DAX) feature available in both Linux and Windows, which allows applications direct load/store access to persistent memory by memory-mapping files on a persistent memory aware file system. PMDK also includes a collection of tools, examples, and tutorials on persistent memory programming.
PMDK is vendor-neutral, started by Intel, motivated by the introduction of Optane DC persistent memory. PMDK will work with any persistent memory that provides the SNIA NVM Programming Model. It is open source and welcomes community contributions.
The Documents page contains links to additional reading material.