Dell EMC NVDIMM-N Persistent Memory: User Guide
Dell EMC NVDIMM-N Persistent Memory: User Guide
User Guide
February 2021
Rev. A11
Notes, cautions, and warnings
NOTE: A NOTE indicates important information that helps you make better use of your product.
CAUTION: A CAUTION indicates either potential damage to hardware or loss of data and tells you how to avoid
the problem.
WARNING: A WARNING indicates a potential for property damage, personal injury, or death.
© 2017 - 2021 Dell Inc. or its subsidiaries. All rights reserved. Dell, EMC, and other trademarks are trademarks of Dell Inc. or its subsidiaries.
Other trademarks may be trademarks of their respective owners.
Contents
Chapter 1: Introduction................................................................................................................. 5
Chapter 4: Hardware....................................................................................................................10
Server Hardware Configuration......................................................................................................................................10
Modular Chassis Hardware Configuration....................................................................................................................14
NVDIMM-N Module Details............................................................................................................................................. 14
Battery..................................................................................................................................................................................15
Minimum Platform Firmware Versions.......................................................................................................................... 17
Chapter 5: BIOS...........................................................................................................................18
BIOS Configuration Settings for NVDIMM-N............................................................................................................. 18
BIOS Error Messages....................................................................................................................................................... 22
Chapter 9: Windows.................................................................................................................... 32
BIOS Requirements...........................................................................................................................................................32
Set Up.................................................................................................................................................................................. 32
Windows Drivers................................................................................................................................................................32
Storage Class Memory in Windows Server 2016.......................................................................................................33
Device manager........................................................................................................................................................... 33
Identifying the right NVDIMM-N disks...................................................................................................................33
NVDIMM-N health status and properties..............................................................................................................36
Contents 3
Block Mode................................................................................................................................................................... 36
DAX Mode..................................................................................................................................................................... 36
Storage Spaces Support ...........................................................................................................................................37
Operational and Diagnostics Logging information............................................................................................... 37
Storage Class Memory in Windows Server 2019....................................................................................................... 37
NVDIMM-N FW Requirement................................................................................................................................... 37
Driver Architecture Overview...................................................................................................................................37
New features in Windows Server 2019 Label support and Namespace management............................... 38
PowerShell Cmdlets....................................................................................................................................................40
NVDIMM-N Interleaving............................................................................................................................................ 40
Configuring NVDIMM-N for Hyper-V Virtual Machines..................................................................................... 41
NVDIMM-N RO Behavior........................................................................................................................................... 41
Windows Errata.................................................................................................................................................................. 41
4 Contents
1
Introduction
DellEMC’s NVDIMM-N Persistent Memory is a disruptive Storage Class Memory technology that enables unprecedented
performance improvement over legacy storage technologies. Each NVDIMM-N provides 16GB of nonvolatile memory and has
the same form factor as a standard 288-Pin DDR4 DIMM. The NVDIMM-N resides in a standard CPU memory slot, placing
data close the processor. With its ability to operate at 2666MT/s DDR4 data rates, the NVDIMM-N takes full advantage of the
high bandwidth and extremely low latency that is characteristic of the memory bus. For comparison, the table below provides
approximate data access times for DDR4 relative to other server storage media.
This document provides an overview of the DellEMC NVDIMM-N Persistent Memory solution. It is intended to help the user
with initial set-up and configuration, providing information on system behavior when NVDIMM-Ns are installed. This document
will also help the user to become familiar with NVDIMM-N manageability and error handling. And lastly, it introduces the user to
NVDIMM-N basic setup and configuration in a variety of supported operating systems.
Introduction 5
2
Change list
Table 2. Change list
Version Changes
A00 Original Version
A01 Added ESXi 6.7 support information. Removed Linux errata that is no longer
applicable. Edits to remainder of document for clarity.
A02 Added Modular Server specific information, support for R840, R940xa, changes to the
BBU LED behavior and edits to the remainder of document for clarity.
NVDIMM-N supported on RHEL 7.5
6 Change list
3
NVDIMM-N Overview
The Figure below is an overview of the NVDIMM-N showing its main components and system interfaces. Core to the NVDIMM-
N are the DDR4 DRAM devices that allow the NVDIMM-N to operate as an RDIMM. The components that allow the NVDIMM-N
to persist data are the Controller, Flash, and Power Voltage Regulators that are also integrated on the DIMM.
Topics:
• Normal Operation
• Backup to Flash
• Restore from Flash
Normal Operation
NVDIMM-Ns are installed in server memory slots. From a hardware perspective, the NVDIMM-Ns appear to the processor as
standard DDR4 RDIMMs. They are initialized during BIOS POST, and the CPU can access DRAM data on the NVDIMM-N using
standard DDR4 memory load/store transactions.
NVDIMM-N Overview 7
Figure 2. NVDIMM-N Normal Operation
Backup to Flash
In the event of a server shutdown, cold reboot, or power loss, a Save signal is sent to the NVDIMM-N Controller which then
triggers the NVDIMM-N Controller to backup all its DRAM contents to its onboard flash storage. The NVDIMM-N Save event
is triggered anytime the server is about to power down and power loss to NVDIMM-Ns is imminent. The backup process
takes approximately one minute to complete. This duration is independent of the number of NVDIMM-Ns installed in the server
because Saves occur in parallel across all NVDIMM-Ns.
A Battery provides backup power to the NVDIMM-N so that it can complete the backup operation even after an power
loss. When the Save operation is complete, the Battery is deactivated to allow the server and NVDIMM-Ns to power down
completely.
8 NVDIMM-N Overview
Restore from Flash
On server power-up, BIOS re-initializes the DRAM on the NVDIMM-N. BIOS commands the NVDIMM-N Controller using the
SMBus Management Interface to restore its DRAM contents from Flash. The restore process takes approximately one minute to
complete. This duration is independent of the number of NVDIMM-Ns installed in the server because Restores occur in parallel
across all NVDIMM-Ns. BIOS then exposes the NVDIMM-N to the Server OS as Persistent Memory. Note that Persistent
Memory is distinct from System Memory which is required for normal OS operation. Please refer to the respective OS Sections
for more details on OS support of Persistent Memory.
NVDIMM-N Overview 9
4
Hardware
Topics:
• Server Hardware Configuration
• Modular Chassis Hardware Configuration
• NVDIMM-N Module Details
• Battery
• Minimum Platform Firmware Versions
10 Hardware
Table 3. Supported NVDIMM-N Configurations, 2-Socket (continued)
NVDIMM-N NVDIMM-N Capacity RDIMMs RDIMM DIMM Population
Locations
Capacity
Note: While other configurations may work, they have not been fully validated and are not currently supported by DellEMC.
Hardware 11
Figure 6. MX740c Memory Layout
12 Hardware
Table 4. Supported NVDIMM-N Configurations, R940, MX840c 4-Socket 4-Socket (continued)
NVDIMM-N NVDIMM-N Capacity RDIMMs RDIMM DIMM Population
Locations
Capacity
NOTE:
1. NVDIMM-Ns are not supported in CPU Sockets 3 and 4 memory slots
Hardware 13
2. While other configurations may work, they have not been fully validated and are not currently supported by DellEMC.
Figure 7. NVDIMM-N
14 Hardware
Battery
A battery is required to provide backup power to copy contents from DRAM to flash. Although JEDEC based NVDIMM-Ns can
utilize Super Caps as backup power, DellEMC’s battery is a centralized power solution that provides a more compact, reliable,
and integrated power source. Power delivery is integrated into the system board, and does not require individual cables to each
NVDIMM-N that is typical of Super Cap based solutions.
On first detection of an power loss, the server activates the battery and triggers the NVDIMM-N to save its DRAM contents to
flash. The Save process takes approximately a minute to complete in the T640, R640, R740/R740XD, R840, R940 and R940xa
servers and 140 seconds to complete in the MX740c and MX840c servers. During this time the battery is required to provide
power for backup. The battery supplies power only to server sub-systems that must be powered for the save to complete. All
other subsystems are powered down or placed into a low power state to conserve battery life. After the save completes, the
battery is deactivated, and the server is allowed to power down completely. In modular chassis, the batteries also provide power
to the system fans to provide cooling during the NVDIMM save after an power loss event.
Idle (not charging and not enabled while the server is on) Off
Maintenance Charging On
Critical Charging (battery capacity is below minimum required for NVDIMM-N Save, server is Blinking
powered on)
Battery Enabled and Discharging (Power loss detected, Battery supplying power for NVDIMM- Blinking
N Save operation)
If a battery is not installed or not fully charged, BIOS will restore the NVDIMM-N DRAM contents from its onboard flash, but
BIOS will keep the NVDIMM-N in Read-Only mode. This allows OS and applications to have access to NVDIMM-N data, and at
the same time protect the NVDIMM-N from potential data loss due to power loss.
The NVDIMM-N battery is not hot swappable. To prevent data loss and potential damage to your system, ensure that the
system, LEDs on the system, LEDs on NVDIMM-N, and LEDs on NVDIMM-N battery are turned off before installing or removing
the NVDIMM-N Battery.
Figure 7 below shows the system board connections for the NVDIMM-N Battery cables in the R740/R740XD (Items 36 and 38).
Figure 8 shows how to install and mount the battery in the R740/R740XD. Please refer to each server’s Installation and Service
Manual for detailed instructions on how to install or remove the battery.
Hardware 15
Figure 8. R740/R740XD System Board Connections
NOTE: Connector locations will be different for each server. Please refer to your particular server’s Installation and Service
Manual for more information.
NOTE: Battery installation locations will be different for each server. Please refer to your particular Server’s Installation and
Service Manual for instructions.
16 Hardware
Minimum Platform Firmware Versions
For NVDIMM-N modules to be functional on PowerEdge servers, the minimum platform firmware versions are required to be as
follows:
● BIOS: 1.1.7
● iDRAC: 3.00.00.00
NOTE: Certain operating systems require specific minimum versions of BIOS, NVDIMM-N and/or iDRAC firmware. Please
refer to the individual sections of the operating systems for more details.
Hardware 17
5
BIOS
Topics:
• BIOS Configuration Settings for NVDIMM-N
• BIOS Error Messages
Select System BIOS > Memory Settings to see the following options:
18 BIOS
Figure 11. Memory Settings
Node Interleaving Specifies if Non-Uniform Memory Architecture (NUMA) is supported. If this field is set to Enabled,
memory interleaving is supported if a symmetric memory configuration is installed. If the field is set to
Disabled, the system supports NUMA (asymmetric) memory configurations. This option is set to Disabled
by default. Node interleaving is not supported when NVDMM-N is present in the system.
WARNING: When Persistent Memory Interleaving is enabled in the Persistent Memory
System Setup page, Node Interleaving setting also applies to Persistent Memory
Interleaving.
BIOS 19
Figure 12. Persistent Memory screen
The following table describes each option that is available in the BIOS setup screen.
Node Interleaving Specifies if Non-Uniform Memory Architecture (NUMA) is supported. If this field is set to
Enabled, memory interleaving is supported if a symmetric memory configuration is installed. If
the field is set to Disabled, the system supports NUMA (asymmetric) memory configurations.
This option is set to Disabled by default. Node Interleaving is not supported when NVDIMM-N
is present in the system.
WARNING: When Persistent Memory Interleaving is enabled in the Persistent
Memory System Setup page, Node Interleaving setting also applies to Persistent
Memory Interleaving.
This option is set to Disabled by default.
Persistent Memory Enables or disables NVDIMM-N operation. If this option is set to Off, NVDIMM-Ns are not
mapped to System Physical Address (SPA) and are not presented to the OS. Data that has
already persisted to NVDIMM flash are unaffected and are available for OS utilization when this
option is returned to Non-Volatile DIMM.
This option is set to Non-Volatile DIMM by default.
NVDIMM-N Read-Only When set to Enable, this forces NVDIMMs to be read-only. NVDIMM-N data is accessible to
the OS but locked from any modifications. Read-only is intended for debug or maintenance
operations.
This option is set to Disable by default.
NVDIMM-N Enables resetting the NVDIMM-N to factory defaults and clearing data on the NVDIMM-N. If set
to Enable, all data on all NVDIMM-N will be erased. This option does not clear the NVDIMM’s
Factory Reset and
health information, and should be used to remove data and/or repurpose the NVDIMM-N. The
Secure Erase All reset and data erasure will occur when BIOS confirms that Setting Changes should be saved.
20 BIOS
Table 7. BIOS setup screen (continued)
Option Description
NVDIMM-N Enables or disables interleaving on NVDIMM-N. When Enabled, NVDIMM-N interleaving will
follow the same interleaving policy that applies to RDIMMs. Volatile RDIMM interleaving policy
Interleave
is not affected by this option. RDIMM system memory and NVDIMM-N persistent memory will
remain as two distinct memory regions.
This option is set to Disable by default.
Battery Status Indicates if the NVDIMM-N battery is ready. Battery Status can display one of the following
states:
● Present-Ready
● Present-Offline
● Not-Present
The following settings are applicable to each NVDIMM-N present in the server
Table 8. NVDIMM-N
Option Description
NVDIMM-N Memory Specifies information on the current firmware version on the NVDIMM-N.
Firmware version
Remaining Rated Write Specifies information on the remaining NVDIMM-N flash life-time in terms of percentage.
Endurance [%]
NVDIMM-N Factory Reset Enables resetting and clearing data on the specific NVDIMM-N, and results in loss of data on that
and Secure Erase specific NVDIMM-N.
Please note that if any option was changed by mistake, press ESC to exit each setup screen, and select No when prompted at
the screen below to discard all changes. Alternatively, options can be restored to the correct settings before responding Yes to
the prompt below.
BIOS 21
Figure 13. System BIOS Settings screen
22 BIOS
This NVDIMM-N module will be set to read only mode. Remove input power to the system, reseat the NVDIMM-N module, and
restart the server. If the issue persists, replace the faulty memory module identified in the message.
UEFI0302 Set Energy Source Policy Error on NVDIMM-N located at [Location].
This NVDIMM-N module will be set to read only mode. Remove input power to the system, reseat the NVDIMM-N module, and
restart the server. If the issue persists, replace the faulty memory module identified in the message.
UEFI0302 Firmware Operation Error on NVDIMM-N located at [Location].
This NVDIMM-N module will be set to read only mode. Remove input power to the system, reseat the NVDIMM-N module, and
restart the server. If the issue persists, replace the faulty memory module identified in the message.
UEFI0302* Persistency Lost Error on NVDIMM-N located at [Location].
This NVDIMM-N module will be set to read only mode. Remove input power to the system, reseat the NVDIMM-N module, and
restart the server. If the issue persists, replace the faulty memory module identified in the message.
UEFI0303 Lifetime Percentage <= 5% on NVDIMM-N located at [Location]. The identified NVDIMM-N module is approaching
the end of its functional life.
Please plan to replace the NVDIMM-N module during the next scheduled maintenance. For more information, please refer to the
server Installation and Service Manual.
UEFI0304 Unable to enable the NVDIMM-N Save operation because Server is not Armed. All NVDIMM-N modules will be set
to write-protect mode. Please verify that the battery is operational, and that the server has sufficient power to support this
configuration.
UEFI0304 Unable to enable the NVDIMM-N Save operation because Battery is not present. All NVDIMM-N modules will be set
to write-protect mode. Please verify that the battery is operational, and that the server has sufficient power to support this
configuration.
UEFI0304 Unable to enable the NVDIMM-N Save operation because Battery is not ready. All NVDIMM-N modules will be set
to write-protect mode. Please verify that the battery is operational, and that the server has sufficient power to support this
configuration.
UEFI0304 Unable to enable the NVDIMM-N Save operation because Server is not Armed. All NVDIMM-N modules will be set
to write-protect mode. Please verify that the battery is operational, and that the server has sufficient power to support this
configuration, and that NVDIMM Write-Protect mode has not be enabled in BIOS Setup.
UEFI0340 NVDIMM-N Running from Backup Firmware Image at [Location].
Update the NVDIMM-N to the latest firmware. If the issue persists, replace the faulty memory module identified in the message.
UEFI0341* NVDIMM-N Lifetime Percentage <= 1% on NVDIMM-N located at [Location].
This NVDIMM-N module will be set to read only mode. Replace the NVDIMM-N module.
The following two BIOS messages are modular specific and will only be seen on an NVIDMM equipped server in the event that
there are no management modules installed in the modular chassis or the installed management modules are not capable of
detecting an power loss event.
Table 9. BIOS Error messages with event ID's and event messages
ID Event Message
UEFI0364 Unable to detect chassis power loss, Ensure there are two functional chassis management modules. If there
* memory may not be persistent. is only a single chassis management module, only perform a firmware
update on it when server modules with persistent memory are powered
off.
UEFI0365 Chassis is able to detect power loss, No response action required.
memory is persistent.
BIOS 23
6
iDRAC NVDIMM-N Management
Topics:
• iDRAC Graphical User Interface
• Remote Management
• NVDIMM-N Error Reporting
NVDIMM-N Status
Select the Memory link on the Dashboard to get more information for memory health.
NOTE:
1. All NVDIMM-N errors will be reported to the OS and logged in the server System Event Log. NVDIMM-N Health Status
currently only reflects Correctable Error Threshold Exceeded and Uncorrectable Error status on the NVDIMM-N. Other
errors are reported to OS and logged, but are not be reflected in the iDRAC/OM NVDIMM-N Health Status.
2. NVDIMM-N DIMMs are currently reported as DDR4 16GB Single-Rank 2666 DIMMs in the Memory Details page.
DellEMC standard DDR4 16GB RDIMMs are reported as DDR4 16GB Dual-Rank 2666 DIMMs.
BBU Status
Select the Batteries link on the Dashboard to get more information for the NVDIMM-N Battery health. iDRAC will display the
NVDIMM-N Battery status only after BIOS has completed the system inventory (at end of POST), and it has detected that
NVDIMM-Ns are installed in the server. The Battery status will not be reported if NVDIMM-Ns are not installed.
Remote Management
When a server with NVDIMM-Ns installed is powered down, the server will initiate a Save to backup NVDIMM-N DRAM data
to its onboard flash. The Save process takes approximately 1 minute to complete with 16GB NVDIMM-Ns. During this time the
server will be in a reset state, and any remote power on requests from iDRAC will be queued to proceed after the Save is
complete. Remote power on requests may appear to be unresponsive while an NVDIMM-N Save is in progress.
MEM9020 The Non-Volatile Dual In-line Memory During the next scheduled maintenance,
Module (NVDIMM) device in the slot replace the Non-Volatile Dual In-line
[location] is about to reach the end of Memory Module (NVDIMM) device. For
supported life duration. more information about the usage of
NVDIMMs, see the system Owner's
Manual on the support site.
MEM9030 The Non-Volatile Dual In-line Memory Remove and reinstall the Non-Volatile
Module (NVDIMM) device in the slot Dual In-line Memory Module (NVDIMM)
[location] is not responding and is device. If the issue persists, contact your
disabled. service provider. For information about
removing and reinstalling the NVDIMM,
see the system Owner's Manual on the
support site.
MEM9031 The Non-Volatile Dual In-line Memory Remove and reinstall the Non-Volatile
Module (NVDIMM) device in the slot Dual In-line Memory Module (NVDIMM)
[location] is unable to save the data device. If the issue persists, contact your
during the previous system shutdown service provider. For information about
operation or power loss. removing and reinstalling the NVDIMM,
see the system Owner's Manual on the
support site.
MEM9032 The Non-Volatile Dual In-line Memory Remove and reinstall the Non-Volatile
Module (NVDIMM) device in the slot Dual In-line Memory Module (NVDIMM)
[location] is unable to restore the data device. If the issue persists, contact your
that was saved in the previous 'save' service provider. For information about
operation. removing and reinstalling the NVDIMM,
see the system Owner's Manual on the
support site.
MEM9033 An unsupported Non-Volatile Dual In-line Review the memory configuration and
Memory Module (NVDIMM) device is of ensure the configuration is as per
unsupported configuration and unable to memory rules that are defined in the
operate as currently configured. system Owner's Manual on the support
site.
MEM9034 The Non-Volatile Dual In-line Memory Remove and reinstall the Non-Volatile
Module (NVDIMM) device in the slot Dual In-line Memory Module (NVDIMM)
[location] is not responding. device. If the issue persists, contact your
service provider. For information about
removing and reinstalling the NVDIMM,
see the system Owner's Manual on the
support site.
MEM9035 The Non-Volatile Dual In-line Memory Remove and reinstall the Non-Volatile
Module (NVDIMM) device in the slot Dual In-line Memory Module (NVDIMM)
[location] cannot be configured to save device. If the issue persists, contact your
data during a power loss because of an service provider. For information about
issue in the NVDIMM. removing and reinstalling the NVDIMM,
see the system Owner's Manual on the
support site.
MEM9036 The Non-Volatile Dual In-line Memory Review any preceding power or battery
Module (NVDIMM) devices are placed in entries in the log and resolve the issues.
write-protect mode because the system See your documentation for details on
may not provide sufficient power to save how to view the log.
data if there is power loss.
MEM9037 The Non-Volatile Dual In-line Memory Replace the Non-Volatile Dual In-line
Module (NVDIMM) device in the slot Memory Module (NVDIMM) device.
[location] has reached the end of For information about removing and
supported life duration and is placed in reinstalling the NVDIMM, see the system
write-protect mode. Owner's Manual on the support site.
MEM9038 The Non-Volatile Dual In-line Memory Remove and reinstall the Non-Volatile
Module (NVDIMM) device in the slot Dual In-line Memory Module (NVDIMM)
[location] has lost persistency and is device. If the issue persists, contact the
placed in write-protect mode. service provider. For information about
removing and reinstalling the NVDIMM,
see the system Owner's Manual on the
support site.
MEM9072 The system memory has faced an If the issue persists, contact your service
uncorrectable multi-bit memory error in provider. To select a convenient contact
the nonexecution path of a memory method, see the product documentation
device at the location <location>. available on the support site.
BAT0015 The NVDIMM battery is low. Leave the server powered on to allow
the NVDIMM-N Battery to charge. If
the issue persists, contact your service
provider. For information about removing
and reinstalling the NVDIMM, see the
system Owner's Manual on the support
site.
BAT0017 The NVDIMM battery has failed. Remove and reinstall the NVDIMM-N
Battery. If the issue persists, contact
your service provider. For information
about removing and reinstalling the
NVDIMM, see the system Owner's
Manual on the support site.
BAT0019 The NVDIMM battery is absent. Remove and reinstall the NVDIMM-N
Battery. If the issue persists, contact
your service provider. For information
about removing and reinstalling the
NVDIMM, see the system Owner's
Manual on the support site.
Shutdown
In order for NVDIMM-N data to persist across server power cycles, the NVDIMM-N must save its DRAM data to on boardflash.
The Save is triggered by events that would result in power loss to the NVDIMM-N. In MX7000, the entire chassis is shutdown
when there is a loss of power and at least one NVDIMM-N equipped server is powered on and armed when power loss occurs.
During the Save, the server maintains power to the NVDIMM-Ns, and a battery is used to provide back-up power in case of
an power loss. The server remains in a low-power reset state, and the power button on the server's front control panel blinks
green once per second to indicate that a save is in progress. The Save takes approximately 1 minute to complete with the 16GB
NVDIMM-N DIMMs (140 seconds for MX740c and MX840c servers).
Once the Save completes, the server continues its normal power down sequencing. If the Power Button is pressed (to request
server power on) while a SAVE in progress, the server will queue the power-on to occur after the Save.
NOTE: When NVDIMMs are installed, verify that the Server is completely powered down before attempting to perform any
service actions. This includes removing a server from a modular chassis after initiating a shutdown procedure. If a server
equipped with NVDIMMs is removed from a modular chassis prior to the save completing, the save will be interrupted and
data loss will occur. The server is completely powered down when all LEDs including NVDIMM-N and NVDIMM-N Battery
LEDs are off.
NOTE: If a Modular server supporting NVDIMM-N is powered on, the entire chassis will be shutdown when there is a full
loss of power or partial loss below minimum chassis power budget requirements.
Users cannot see these LEDs without removing the cover which they should not do during operation. User action is to wait until
the LED on front of the system stops blinking.
BIOS Requirements
Both Windows 2016 and 2019 require the minimum BIOS version to be at 1.6.13 so that NVDIMM-N modules can be used
without any issues.
Set Up
Windows Server 2016 and 2019 natively supports NVDIMM-N devices allowing application and service access to extremely high
performance and low latency NVDIMM-N devices on memory bus.
From BIOS Setup, enable the Persistence Memory setting, which is also the default BIOS settings when NVDIMM-N devices are
plugged in. Windows Server 2016 and Windows 10 Anniversary Edition currently do not support interleaved sets of NVDIMM-Ns
and the NVDIMM-N Interleave setting should be set to Disable, which is the default setting.
Windows Server 2019 supports NVDIMM-N interleaving and this option can be set to Enable.
2017-07 Cumulative Update for Windows Server 2016 for x64-based Systems (KB4025334) is required for NVDIMM-N to
function correctly in Windows Server 2016.
Windows Drivers
Windows refers “Storage Class Memory (SCM) “as persistent storage that is directly installed on the memory bus. NVDIMM-N
is a form of Storage class memory.
DellEMC PowerEdge platforms implement NVDIMM-N root device using PNP ID “ACPI0012”, this root device contains individual
NVDIMM-N devices. During boot process windows loads “Storage Class memory bus driver (Scmbus.sys) for this root device.
Scmbus.sys driver enumerates each NVDIMM-N device in the system and loads scmdisk0101.sys as functional driver for each
NVDIMM-N device.
DellEMC NVDIMM-N in Windows Server 2016 and 2019 environment can support both block mode and direct access mode
(DAX) mode. The following two videos describe the difference between these two modes and how use each mode.
● Using Non-volatile Memory (NVDIMM-N) as Block Storage
https://channel9.msdn.com/Events/Build/2016/P466
● Using Non-volatile Memory (NVDIMM-N) as Byte-Addressable Storage
https://channel9.msdn.com/Events/Build/2016/P470
32 Windows
Storage Class Memory in Windows Server 2016
Device manager
Below picture describes the windows device manager view of NVDIMM-N root device and NVDIMM-N disk instances in
Windows Server 2016.
Figure 18. Windows device manager view of NVDIMM-N root device and NVDIMM-N disk instances
Windows 33
The Serial Number for every NVDIMM-N is unique, and physical location values in PowerShell can be mapped to silk screen using
the following table
34 Windows
Figure 20. Using device manager GUI
Location information in the above can translated to Physical silk screen using following table
1 A7
17 A8
33 A9
49 A10
65 A11
81 A12
257 B7
273 B8
289 B9
305 B10
321 B11
Windows 35
Table 12. DIMM Slot Location (continued)
Location DIMM Slot Location
337 B12
Windows native driver can handle different health events. For more details on the various health conditions, see the windows
documentation ( https://docs.microsoft.com/en-us/windows-server/storage/storage-spaces/storage-class-memory-health )
Block Mode
Applications may access NVDIMM-Ns using standard ReadFile/WriteFile Block Interface APIs provided by the Windows SCM
Disk Driver. This allows existing applications to immediately take advantage of the NVDIMM-N’s high performance and low
latency without requiring any modifications. Please note that since the SCM Disk Driver uses Load/Store commands to directly
access DRAM on the NVDIMM-N, Disk Filter Drivers may not work. Please refer to the Microsoft video below for more
information.
● Using Non-volatile Memory (NVDIMM-N) as Block Storage in Windows Server 2016
https://channel9.msdn.com/Events/Build/2016/P466
DAX Mode
Windows server 2016 allows NVDIMM-N Disk to be formatted in direct access mode. Following PowerShell command initialize
NVDIMM-N disk, create volume and format volume in DAX mode. Fsutil.exe can be used to verify if volume in in DAX mode
36 Windows
Storage Spaces Support
Windows Server 2016 supports NVDIMM-N devices that allow for extremely fast input/output (I/O) operations. One attractive
way of using such devices is as a write-back cache to achieve low write latencies. Microsoft blog discusses how to set up a
mirrored storage space with a mirrored NVDIMM-N write-back cache as a virtual drive. To setup storage spaces configuration
on NVDIMM-N, see Configuring Storage Spaces with a NVDIMM-N write-back cache.
By using the UniqueId or serial number one can identify the NVDIMM-N physical location
NVDIMM-N FW Requirement
Windows Server 2019 requires NVDIMM-N devices to support labels in order for the OS to configure namespaces. NVDIMM-N
Firmware 8860 doesn’t have label space functionality and devices with this firmware cannot be configured by Windows Server
2019.
The NVDIMM-N firmware must be updated to FW 9324 or above so that the devices can be successfully configured and used in
Windows Server 2019.
It is also recommended to update BIOS, iDRAC and the Operating System as part of the scheduled update.
Windows 37
Figure 25. Device Manager
All NVDIMM-N devices are controlled by the nvdimm.sys driver, while the logical disks are controlled by the pmem.sys driver.
Both types of device objects are created by scmbus.sys, the bus driver for persistent memory. This bus driver object can be
found in Device Manager under "System Devices"
Examples:
38 Windows
Figure 27. List PMEM Unused regions, PMEM Physical Devices and PMEM Disks
Windows 39
PowerShell Cmdlets
#Get-PmemDisk
● Returns one or more logical persistent memory disks.
● The returned object has information about size, atomicity type, health status, and underlying physical devices.
#Get-PmemPhysicalDevice
● Returns one or more physical persistent memory devices (NVDIMMs).
● The returned object has information about size(s), RFIC, device location, and health/operational status.
#New-PmemDisk
● Creates a new disk out of a given unused region.
● Writes out the labels to create the namespace then rebuilds the SCM stacks to expose the new logical device.
● Optional parameters:
○ FriendlyName gives the persistent memory disk a friendly name. Default is "PmemDisk<N>"
○ AtomicityType lets you set BTT. Default is "none"
#Remove-PmemDisk
● Removes the given persistent memory disk. It accepts the output of Get-PmemDisk.
● Deletes the namespace’s labels and then rebuilds the SCM stacks to remove the logical device.
● Requires user confirmation, which can be overridden with -Force.
#Get-PmemUnusedRegion
● Returns aggregate pmem regions available for provisioning a logical device.
● 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 SCM [Storage class memory]
stacks to reflect the changes.
● Requires user confirmation, which can be overridden with -Force.
● This cmdlet is intended as a "big hammer" recovery mechanism. It is not recommended for normal use.
NVDIMM-N Interleaving
Windows Server 2019 supports NVDIMM-N interleaving which can further enhance system performance across various
applications. This option can be configured through the BIOS Setup Menu.
In the OS, this is visible as a single logical device across several physical devices on that socket. Two interleaved persistent
memory disks should be visible, one for each socket in the Device Manager, if there are NVDIMM-N modules plugged in on both
the sockets.
40 Windows
Figure 30. Visibility in PowerShell
NVDIMM-N RO Behavior
Windows Errata
The following errata affects Windows OSes and are expected to be fixed in a future OS patch.
● In Windows Server 2016, the Storage Spaces GUI shows NVDIMM-N bus type as UNKNOWN. It doesn't have any
functionality loss or inability in creation of Pool, Storage VD
● Windows Server 2016 and Windows 10 Anniversary Edition do not support interleaved sets of NVDIMM-Ns
● Hyper-V role in Windows Server 2016 and Windows 10 Anniversary Edition do not support NVDIMM-Ns, i.e., NVDIMM-N
cannot be directly exposed to VMs.
● When a namespace is created in Windows Server 2019 (WS2019), the logged message appears as "The driver for
persistent memory disk encounters internal error". The error is expected and it may occur during testing
of Storage Class Memory (SCM) device. This means the namespace is created, and is considered as WAD for WS2019.
Windows 41
Workaround: None.
42 Windows
10
Linux
NVDIMM-N hardware is supported on versions 7.3, 7.4 , 7.5 and 7.6 versions of RHEL.
Topics:
• Identify and Configure PMEM —Persistent Memory Device
• Installation
• Verify Existing Filesystem
• Read-Only Mode NVDIMM-N
• Interleave
• Management Utility
• RHEL 7.6 features
• Linux Errata
$ su
Identify whether NVDIMM-Ns appear as /dev/pmem0, /dev/pmem1, .. /dev/pmemN, where N is a natural number.
# ls /dev/pmem*
# lsblk
# mkfs.xfs /dev/pmem0
# mkdir –p /mnt/nvdimm0
Save the mount point and option so that devices are mounted on next reboot.
# shutdown
Linux 43
Installation
Dump the RHEL ISO onto the USB stick via dd command.
$ su
# cat /mnt/nvdimm0
# shutdown
$ su
# touch /mnt/nvdimm0/write.txt
# shutdown
Interleave
For R740/R640, insert NVDIMM-Ns in memory slots of both CPU Sockets. For this example 6 NVDIMM-Ns are installed on
CPU0, and 6 are installed on CPU1.
Interleave Setup
Press PowerOn button on the server
Follow the guidance in Section 4 to setup BIOS.
Enable the Persistence Memory, enable “NVDIMM Interleave”, disable “NVDIMM Read-Only”.
Install RHEL or start OS if it is already installed
44 Linux
When OS is up running,
$ su
# ls /dev/pmem*
View the size of /dev/pmem0 and /dev/pmem1, each should be around 6*16 GB = 96GB because each NVDIMM-N is 16 GB.
# lsblk
# mkfs.xfs /dev/pmem0
# mkdir –p /mnt/nvdimm0
Save the mount point and option so that devices will be mounted on next reboot.
Interleave Verification
Press Power On button on the server
When the OS is up running,
$ su
# cat /mnt/nvdimm0
# shutdown
Two mounted devices, /mnt/nvdimm0 and /mnt/nvdimm1 will appear, each size is approximately 96GB, or 6x NVDIMM-Ns.
The files stored on /mnt/nvdimm0 and /mnt/nvdimm1 will persist across reboots.
$ su
Linux 45
Mount /dev/pmem0 and /dev/pmem1
# touch /mnt/nvdimm0/write.txt
# shutdown
Management Utility
Management Utility ‘ndctl’ && mdadm
1. Press PowerOn button on the server.
2. Follow the guidance in Section 4 to setup BIOS.
3. Enable the Persistence Memory, disable “NVDIMM Interleave”, disable “NVDIMM Read-Only”.
4. Install RHEL or start OS if it is already installed.
ndctl
$ ifconfig –a
$ git clone https://github.com/pmem/ndctl.git
$ cd ndctl
$ ./autogen.sh
$ ./configure CFLAGS='-g -O0' --prefix=/usr --sysconfdir=/etc --libdir=/usr/lib64
$ make
# make install
ndctl rpm packages can be installed from the RHEL 7.4 releases via
46 Linux
mdadm
Create software RAID on NVDIMM-Ns.
Say there are 6 devices, /dev/pmem0.. /dev/pmem5.
Create directory /mnt/md0 /mnt/md1 /mnt/md2 /mnt/md5 /mnt/md6.
$ mkdir -p /mnt/md0
Create RAID 0
$ umount /dev/md0
$ mdadm --stop /dev/md0
$ mdadm --zero-superblock /dev/pmem0 /dev/pmem1 /dev/pmem2 /dev/pmem3 /dev/pmem4 /dev/
pmem5
$ lsblk
$ umount /dev/md1
$ mdadm --stop /dev/md1
$ mdadm --zero-superblock /dev/pmem0 /dev/pmem1 /dev/pmem2 /dev/pmem3 /dev/pmem4 /dev/
pmem5
$ lsblk
Linux 47
Run command below to create namespaces. This command if used as is by default creates /dev/pmem devices. In order to
create namespaces in other modes, refer to the link https://www.mankier.com/1/ndctl-create-namespace
This command should be run as many times as the number of NVDIMM-N modules plugged into the system.
● $ ndctl create-namespace
For more information on how to use ndctl utility refer to the users guide here https://docs.pmem.io/ndctl-users-guide
Linux Errata
Following errata effects RHEL 7.6:
● Patch to make ndctl utility work can be downloaded from here https://access.redhat.com/solutions/3920221
● Red Hat Enterprise Linux 7.6 or later might lose access to the data on NVDIMM-N memory module after updating
from NVDIMM-N firmware version 8860 to 9234 or later. To restore access to the data, in Red Hat Enterprise Linux 7.6
Command-Line Interface, login to root user and run the following commands:
NOTE: Ensure that the RHEL 7.6 create-namespace patch above is installed.
48 Linux
11
ESXi
Topics:
• Set up
• Storage
• Supported Guest OSes with NVDIMM support
• Overall Health Status
• Operational and Diagnostics Logging information
• NVDIMM-N Errors
• ESXi Errata
Set up
Beginning with ESXi version 6.7 NVDIMM-N hardware is supported. The NVDIMM-N devices will be detected on startup with
auto-generated namespaces. All NVDIMM-N devices will have capacity pooled into a single logical memory array for access by
ESXi virtual machines.
NVDIMM-N Hardware is now supported on ESXi 6.7U1. Features and functionality should be identical to ESXi 6.7
Firmware requirements:
Please locate your product on support.dell.com to locate update packages for any of these firmware bundles.
Hardware requirements:
ESXi currently only supports NVDIMM-N hardware when the host system has an Intel Xeon™ Gold (51xx, 61xx) or Platinum
(81xx) processor SKUs. Silver and Bronze SKUs are not sufficient for ESXi solution support at this time, but may be added in the
future.
For BIOS Setup, default Persistent Memory settings can be used. However, both Non-Interleaved and Interleaved settings are
supported by ESXi.
When adding a new VM to the ESXi host, follow these steps:
1. Click on “Add other device” and select “NVDIMM” from the menu.
2. Select the total capacity in MB of persistent memory you wish to expose to the VM.
● Size should not exceed total NVDIMM-N capacity in the host system.
Storage
Modules
Below picture shows how the NVDIMM-N devices will appear in the Persistent Memory tab under the Storage heading in
the left menu bar. The first column is an ID to uniquely identify the NVDIMM-N in the event the information is needed for
ESXi 49
troubleshooting. The next column indicates free space and it is expected to be “0 B” for all NVDIMM-N devices that are fully
mapped and operated correctly. Health should be Normal. Detailed explanation of Health section is provided in “Overall health
Status” below.
Translation of ID to physical NVDIMM-N in host system can be seen below.
Namespaces
All Namespace names are automatically generated by ESXi when the NVDIMM-N modules are detected on startup. These
Namespaces will persist over warm reset and cold boot of the system after first detection/creation.
Interleave sets
If Interleaving is Disabled in BIOS F2 Setup, then each NVDIMM-N will be in an individual Interleave Set as seen in the GUI
below.
50 ESXi
Figure 32. Interleave sets while Interleaving is Disabled
If Interleaving is Enabled in BIOS F2 setup, then the total NVDIMM-N capacity will be split into pools based on CPU socket. A
total of two interleave sets will display with the aggregate capacity for the CPU socket displaying as one Interleave Set.
Datastore
This is the Datastore area which includes information about the traditional storage accessible to ESXi and the persistent memory
Datastore.
NOTE: The PMEM Datastore is created on the first system boot after NVDIMM-Ns are detected in a system by ESXi. This
datastore is fixed at that time and will not expand if additional NVDIMM-N modules are added after the fact.
To expand the datastore:
1. Migrate your data.
2. Boot into BIOS F2 Setup.
3. Select Persistent Memory as indicated in section 5 of this guide.
4. Select Factory Default and Secure Erase for all NVDIMM-N modules in the system.
5. Follow prompts to reboot and continue on into ESXi. The additional NVDIMM-N modules will now be detected.
ESXi 51
Figure 34. Datastores
52 ESXi
Outdated firmware
ESXi requires NVDIMM-N modules to have a minimum 9324 firmware image. If they have older firmware they will not behave
correctly.
In the event of out dated firmware on the memory (lower than 9324), the system will boot into the ESX hypervisor and the
DIMMs will be visible in the UI. No namespaces will be populated and the DIMMs cannot be mounted to a VM guest OS.
Since this lower firmware is unsupported, other error behaviors such as Overall Health Status, Address Range Scrub, and UI
error reporting are not tested and may not function properly until DIMM firmware is up to a current version.
Though unsupported, Storage->Modules and Storage->Interleave Sets appear to display the correct information.
When NVDIMMs with 9324 and 8860 FW revisions are mixed, the ones with 9324 rev can be used and will be indicated as
“Normal” in the Web GUI whereas the others will be indicated as “Maintenance Needed”.
When an NVDIMM-N firmware update fails, the DIMM will operate off of backup firmware. For NVDIMM-N modules shipped in
2017 and 2018 this backup firmware is expected to be at revision 8860. Unless the NVDIMMs are re-updated to revision 9324,
they cannot be used in ESXi.
NVDIMM Namespaces do not get created when the NVDIMM-N devices are running of firmware revision 8860.
NVDIMM-N Errors
In the majority of cases where NVDIMM-N modules have an error, the system level behavior will be for the bad NVDIMM-N
module to be put into a read-only state. This will cause any VMs mapped to ANY NVDIMM-N modules in the system to fail to
power-on including VMs which are not mapped to the bad NVDIMM-N module. If an NVDIMM-N is flagged as having an error,
resolve the issue with that NVDIMM-N then attempt to access VMs connected to the PMEM datastore again. Please see ESXi
documentation for more information about migrating data and restoring access to impacted VMs.
ESXi 53
Figure 37. NVDIMM-N Errors
Refer to table below for the Overall Health Status message shown on ESXi Web Client in the event of the following errors:
Table 16. Overall Health Status message shown on ESXi Web Client
Status Errors
Save Error – pre OS boot Maintenance Needed
Restore Error – pre OS boot Maintenance Needed
Erase Error – pre OS boot Maintenance Needed
Arm Error – pre OS boot Maintenance Needed
Controller Error – pre OS boot Maintenance Needed
Controller Error at OS run time No OHS error until next boot, logged in SEL real time
Invalid Firmware or Firmware running from Backup Slot Maintenance Needed
NVDIMM-N Battery Failure at OS run-time All Data Loss
NVDIMM-N Battery Failure – pre OS boot Maintenance Needed
All the above error messages are also accompanied by equivalent messages in the System Event Log and Lifecycle Controller
Log as described in the Sections 5 and 6 of this User Guide.
ESXi Errata
None at this time
54 ESXi
12
General Errata
NVDIMM-N does not support PPR on 14G products, and correctable error logging code does not differentiate RDIMM and
NVDIMM-N. As a result, the error message "MEM0802 -The memory health monitor feature has detected a
degradation in the DIMM installed in DIMM<slot number>. Reboot system to initiate self-heal
process" appears and on the next boot, MRC PPR will skip NVDIMM-N.
Workaround: None.
General Errata 55