Deployment Guide

Managing persistent memory using Windows PowerShell
Windows Server 2019 provides a PersistentMemory PowerShell module that enables user management of the persistent storage
space.
PS C:\> Get-Command -Module PersistentMemory
CommandType Name Version Source
----------- ---- ------- ------
Cmdlet Get-PmemDisk 1.0.0.0 PersistentMemory
Cmdlet Get-PmemPhysicalDevice 1.0.0.0 PersistentMemory
Cmdlet Get-PmemUnusedRegion 1.0.0.0 PersistentMemory
Cmdlet Initialize-PmemPhysicalDevice 1.0.0.0 PersistentMemory
Cmdlet New-PmemDisk 1.0.0.0 PersistentMemory
Cmdlet Remove-PmemDisk 1.0.0.0 PersistentMemory
Get-PmemDisk—Returns one or more logical persistent memory disks that were created by New-PmemDisk. The returned object
includes information about size, health status, and the underlying physical NVDIMM devices.
Get-PmemPhysicalDevice—Returns one or more physical persistent memory NVDIMM devices. The returned object includes
information about size, firmware, physical location, and health status. In App Direct Interleaved mode, each INVDIMM device displays
its full capacity as Persistent memory size.
NOTE: The Intel Optane DC Persistent Memory firmware might have to be periodically updated. For the supported
firmware version, see the Support Matrix for Dell EMC Solutions for Microsoft Azure Stack HCI. After identifying the
required firmware version, download the Intel Optane DC Persistent Memory Firmware Package from https://
www.dell.com/support or use the Dell EMC Solutions for Azure Stack HCI Update Catalog.
Get-PmemUnusedRegion—Returns aggregate persistent memory (Pmem) regions that are available for provisioning a logical
device. The returned object has a unique region ID, total size, and list of physical devices that contribute to the unused region.
Initialize-PmemPhysicalDevice—Writes zeroes to the label storage area, writes new label index blocks, and then rebuilds
the storage class memory (SCM) stacks to reflect the changes. This cmdlet is intended as a recovery mechanism and is not
recommended for normal use.
New-PmemDisk—Creates a disk out of a given unused region. This cmdlet writes out the labels to create the namespace, and then
rebuilds the SCM stacks to expose the new logical device. The new logical persistent disk is added in Device Manager under
Persistent memory disks. Get-PhysicalDisk displays the storage device as MediaType SCM.
Remove-PmemDisk—Removes the given persistent memory disk. This cmdlet accepts the output of Get-PmemDisk. It deletes the
namespace labels and then rebuilds the SCM stacks to remove the logical device.
Configuring persistent memory as SCM logical devices
On each server node, verify unused persistent memory regions and configure them as new SCM logical devices:
1. Run Get-PmemPhysicalDevice to verify that 12 INVDIMM physical devices are available and healthy.
PS C:\> Get-PmemPhysicalDevice
DeviceId DeviceType HealthStatus OperationalStatus PhysicalLocation
FirmwareRevision Persistent memory size Volatile memory size
-------- ---------- ------------ ----------------- ----------------
---------------- ---------------------- --------------------
1 008906320000 INVDIMM device Healthy {Ok} A7 102005395 126 GB 0
GB
1001 008906320000 INVDIMM device Healthy {Ok} B7 102005395 126 GB
0 GB
101 008906320000 INVDIMM device Healthy {Ok} A10 102005395 126 GB
0 GB
1011 008906320000 INVDIMM device Healthy {Ok} B8 102005395 126 GB
0 GB
1021 008906320000 INVDIMM device Healthy {Ok} B9 102005395 126 GB
0 GB
11 008906320000 INVDIMM device Healthy {Ok} A8 102005395 126 GB 0
GB
1101 008906320000 INVDIMM device Healthy {Ok} B10 102005395 126
GB 0 GB
111 008906320000 INVDIMM device Healthy {Ok} A11 102005395 126 GB
0 GB
1111 008906320000 INVDIMM device Healthy {Ok} B11 102005395 126
GB 0 GB
1121 008906320000 INVDIMM device Healthy {Ok} B12 102005395 126
GB 0 GB
Persistent Memory for Azure Stack HCI
23