ESXi 6.7 and later provides support for the latest computer memory technology, which is called non-volatile memory (NVM) or persistent memory (PMem).

PMem combines the high data transfer rate of volatile computer memory with the persistence and resiliency of traditional storage. PMem devices have low access latency and can retain stored data through reboots or power outages.

Modes of Consumption of the Persistent Memory Resources of the Host

When you add a physical PMem device to a host, ESXi detects the PMem resource and exposes it as a host-local PMem datastore to the virtual machines that run on the host. Depending on the guest operating system, virtual machines can have direct access to the PMem resources.

Each host can have only one local PMem datastore that pools and represents all PMem resources of the host.

Persistent memory combines the properties of both memory and storage. So, virtual machines can consume the PMem resources of the ESXi host as memory (through virtual NVDIMM devices) or as storage (through virtual PMem hard disks).

The host-local PMem datastore stores all direct-accessed NVDIMM devices and virtual PMem hard disks.

Virtual PMem (vPMem)

In this mode, if the guest operating system is PMem-aware, the virtual machine can have direct access to the physical PMem resources of the host and use them as standard, byte-addressable memory.

Virtual machines use virtual non-volatile dual in-line memory modules (NVDIMMs) for direct access to PMem. The NVDIMM is a memory device that sits on an ordinary memory channel, but contains non-volatile memory. In vSphere 6.7, the virtual NVDIMM is a new type of device that represents the physical PMem regions of the host. A single virtual machine can have up to 64 virtual NVDIMM devices. Each NVDIMM device is stored on the host-local PMem datastore.

Note: To add an NVDIMM device to a virtual machine, the virtual machine must be of hardware version 14 and the guest operating system must support persistent memory. If the guest operating system is not PMem-aware, you can still use PMem, but you cannot add an NVDIMM device to the virtual machine.

Virtual PMem Disks (vPMemDisk)

In this mode, the virtual machine does not have direct access to the PMem resources of the host.

You must add a virtual PMem hard disk to the virtual machine. A virtual PMem hard disk is a traditional SCSI disk to which the PMem Storage Policy is applied. The policy automatically places the hard disk on the host-local PMem datastore.

In this mode of usage, there are no requirements for the hardware version of the virtual machine and the guest operating system.

Note: If the guest operating system is not PMem-aware, virtual machines can use PMem only through vPMemDisks.

The following diagram illustrates how the persistent memory components interact.

Interaction between persistent memory components

For information about how to configure and manage VMs with NVDIMMs or virtual persistent memory disks, see the vSphere Resource Management documentation.

Structure of the PMem Datastore

The VMware Host Client user interface provides information about the complex structure of the host-local PMem datastore. To analyze this information and use it for troubleshooting and management purposes, you must be familiar with the concepts related to that complex structure.

Modules
In the VMware Host Client user interface, modules represent the physical NVDIMMs that are connected to the motherboard of the host.
In the VMware Host Client, you can check the health status of each module and identify unhealthy NVDIMM modules.
Interleave Sets
Interleave sets are logical groupings of one or multiple modules. Interleave sets reveal how information is spread across the physical DIMMs and how ESXi reads the information from the modules. Because ESXi reads from each interleave set in turns, interleave sets ensure higher memory throughput.

For example, if an interleave set consists of two modules, ESXi reads the information from the two physical DIMMs in parallel and then proceeds with the next interleave set.

The VMware Host Client user interface provides information about the way NVDIMMs are grouped into interleave sets.
Namespaces
Namespaces are regions of contiguously addressed memory ranges in the NVDIMM. Namespaces can go across interleave sets. The PMem datastore is built on top of the namespaces.
In the VMware Host Client, you can view the capacity, health status, and the location ID of every namespace.

View Information About Modules, Interleave Sets, and Namespaces in the VMware Host Client

In the VMware Host Client you can view information about the modules, interleave sets, and namespace of the host-local PMem datastore. As a result, you can easily identify an unhealthy module and perform troubleshooting.

You cannot perform most of the traditional datastore management tasks on the host-local PMem datastore. However, you can use the information about modules, interleave sets, and namespaces for troubleshooting purposes.

Prerequisites

Verify that the host has at least one physical NVDIMM device.

Procedure

  1. In the Navigator pane, click Storage.
  2. On the Persistent Memory tab, view information about the host-local PMem datastore.
    • Click Modules to view information about the NVDIMMs that make up the PMem datastore.
    • Click Namespaces to view information about namespaces on the NVDIMMs.
    • Click Interleave sets to see how the modules, or physical NVDIMMs, are grouped into interleave sets.

Delete a Namespace in the VMware Host Client

In the VMware Host Client, you can delete namespaces that were not created by ESXi, but by an OS that was previously installed on the host machine.

Prerequisites

  • Put the host in maintenance mode.
  • Back up the content of the namespace if you might need that content at a later time.

Procedure

  1. In the VMware Host Client, click Storage.
  2. Under the Persistent Memory tab, click Namespaces.
  3. (Optional) In the list of namespaces, check the State column to determine which namespaces ESXi currently uses.
    To free up space, you must delete namespaces whose state is In Use.
  4. Select a namespace and click the Delete icon.
    Important: Deleting a namespace frees up space on the datastore, but you can use the free space only after you reboot the host.
  5. Click the Reboot host icon to reboot the host.

Results

The selected namespace is deleted from the PMem datastore. ESXi automatically creates a new namespace that the PMem datastore can use. The new namespace has the same capacity, type, and location ID as the deleted one.