Persistent Memory Documentation
HomePMDKNDCTLBlog
  • Persistent Memory Documentation
  • Getting Started Guide
    • Introduction
    • PMDK Introduction
    • NDCTL Introduction
    • System Requirements
    • Creating Development Environments
      • Linux Environments
        • Using the memmap Kernel Option
        • Advanced Topics
          • Partitioning Namespaces
          • I/O Alignment Considerations
      • Windows Environments
      • Virtualization
        • Windows Server Hyper-V
        • Using QEMU Virtualization
        • VMware VSphere/ESXi
      • Cloud Environments
        • Microsoft Azure Cloud
        • Google Cloud Platform (GCP)
    • Installing NDCTL
    • Installing PMDK
      • PMDK Directory Structure
      • Installing PMDK using Linux Packages
      • Installing PMDK from Source on Linux
      • Installing PMDK on Windows
  • IPMCTL User Guide
  • NDCTL User Guide
Powered by GitBook
On this page
  1. Getting Started Guide
  2. Creating Development Environments

Linux Environments

PreviousCreating Development EnvironmentsNextUsing the memmap Kernel Option

Last updated 6 years ago

Emulating Persistent Memory NVDIMMs on Linux

Support for physical and emulated persistent memory devices, commonly referred to as Non-Volatile DIMMs (NVDIMMs), is present in the Linux Kernel v4.0 or newer. It is recommended to use Kernel version 4.2 or later since NVDIMM support is enabled by default. Kernel versions 4.0 and 4.1 require manual configuration and re-compiling the Kernel to enable support.

Linux offers several options to emulate persistent memory for development. The features and functionality vary for each option. The following table describes which features are available for each development environment.

NVDIMM

Regions

Namespaces

FSDax

DevDax

Persistent Pools

No

Yes

Yes

Yes

No

Yes

Yes

Yes

Yes

Yes

Yes

Yes

Docker Containers

No

No

No

Yes*

Yes*

Yes

Yes

Yes

Yes

Yes

Yes

Yes

Because emulation of persistent memory uses Volatile DRAM, the performance of emulated NVDIMMs will not match the performance of physical NVDIMMs. It is not recommended to rely on performance data when using emulated NVDIMMs.

Data stored on emulated NVDIMMs will loose all the data when the system is power-cycled. Do not store critical data on emulated persistent memory.

(*) Devices are passed through to the guest from the host. The guest cannot directly manage the devices.

memmap Kernel Option
QEMU Virtualization
VMWare VSphere