IPMCTL User Guide
HomePMDKNDCTLBlog
Version 1.x
Version 1.x
  • IPMCTL User Guide
  • Installing IPMCTL
    • Installing IPMCTL packages on Linux
    • Building and Installing IPMCTL from Source on Linux
    • Installing IPMCTL on Microsoft Windows using the MSI Installer
    • Building and Installing IPMCTL on Microsoft Windows from Source
  • Basic Usage
  • Module Discovery
    • Show System Capabilities
    • Show Socket
    • Show Topology
    • Show Memory Resources
    • Show Device
  • Provisioning
    • Concepts
    • Create Memory Allocation Goal
    • Provision App Direct
    • Provision Memory Mode
    • Provision Mixed Mode
    • Show Memory Allocation Goal
    • Dump Memory Allocation Settings
    • Load Memory Allocation Goal
    • Delete Memory Allocation Goal
  • Security
    • Enable Device Security
    • Change Device Passphrase
    • Change Device Security
    • Erase Device Data
  • Instrumentation
    • Show Sensor
    • Change Sensor Settings
    • Show Device Performance
  • Debug
    • Run Diagnostic
    • Show Error Log
    • Dump Debug Log
    • Show ACPI Tables
    • Show Device Platform Configuration Data
    • Delete Device Platform Configuration Data
    • Inject Error
  • Support and Maintenance
    • Show Events
    • Version and Firmware
Powered by GitBook
On this page

Was this helpful?

  1. Provisioning

Concepts

PreviousProvisioningNextCreate Memory Allocation Goal

Last updated 5 years ago

Was this helpful?

To provision, or change modes, create a goal configuration which will take effect after a system reboot. Goals specify which operating mode the modules are to be used in. The goal is stored on the persistent memory modules for the BIOS to read on the next reboot.

A region, or interleaved set, is a grouping of one or more persistent memory modules. Regions can be created as either non-interleaved, meaning one region per persistent memory module, or interleaved, which creates one large region over all modules in a CPU socket.

Many users choose to have one fully-interleaved set across their memory modules because this allows for increased bandwidth performance. Regions can be created or modified using the ipmctl-create-goal command, or via an option in the BIOS.

Regions can be divided up into one or more namespaces. A namespace defines a contiguously addressed range of non-volatile memory conceptually similar to a hard disk partition SCSI Logical Unit, or an NVM Express namespace. A namespace is the unit of persistent memory storage that appears in the /dev directory as a device which can be used for input and output or partitioned further. Intel recommends using the for creating namespaces.

Namespaces

Namespaces are conceptually similar to a partition, and a label is similar to a partition table. Intel persistent memory modules support labels which allow regions to be further divided into namespaces. A label contains metadata stored on an NVDIMM.

ndctl utility
Non-interleaved
Fully interleaved