IPMCTL-SHOW-DIMM(1)
โจ NAME โจ
ipmctl-show-dimm โ bestie, this is the one that shows information about one or more PMem modules. That's it. That's the gig. (Also hi, this is straight out of section 1 of the ipmctl manual, just so you know where you are. ๐ซถ)
๐ SYNOPSIS ๐
ipmctl show [OPTIONS] -dimm [TARGETS]
๐ธ DESCRIPTION ๐ธ
Shows information about one or more PMem modules. No cap, that's genuinely the whole description. You point it at some DIMMs, it tells you what's up. Main character behaviour, honestly. ๐
๐ OPTIONS ๐
-a,-allโ Shows all the attributes. Like, every single one. She's thorough.
โ ๏ธ note bestie: theallanddisplayoptions are exclusive and may not be used together. Pick a lane, we can't do both. ๐
-d (attributes),-display (attributes)โ Filters the returned attributes by explicitly specifying a comma separated list of any of the attributes defined in the Return Data section. Choose-your-own-adventure energy.
โ ๏ธ same rule again: theallanddisplayoptions are exclusive and may not be used together. Yes, it's mentioned twice. It's that serious.
-h,-helpโ Displays help for the command. When in doubt, ask. ๐ซถ-ddrtโ Used to specify DDRT as the desired transport protocol for the current invocation ofipmctl.-smbusโ Used to specify SMBUS as the desired transport protocol for the current invocation ofipmctl.
โ ๏ธ The-ddrtand-smbusoptions are mutually exclusive and may not be used together. It's giving "choose your fighter". ๐ฅ
-o (text|nvmxml),-output (text|nvmxml)โ Changes the output format. One of:"text"(default) or"nvmxml".-u (B|MB|MiB|GB|GiB|TB| TiB),-units (B|MB|MiB|GB|GiB|TB| TiB)โ Changes the units that capacities are displayed in for this command. One of: bytes (B), megabytes (MB), mebibytes (MiB), gigabytes (GB), gibibytes (GiB), terabytes (TB) or tebibytes (TiB).
๐ฆ TARGETS ๐ฆ
-dimm [DimmIDs]โ Restricts output to specific PMem modules by supplying the PMem module target and one or more comma separated PMem module identifiers. The default is to display all PMem modules.-socket [SocketIDs]โ Restricts output to the PMem modules installed on specific sockets by supplying the socket target and one or more comma separated socket identifiers. The default is to display all sockets.
โ ๏ธ note: If ACPI PMTT table is not present, then DDR memory will not be displayed in the filtered socket list. Not a vibe, but forewarned is forearmed. ๐ซ
๐ EXAMPLES ๐
Lists a few key fields for each PMem module.
ipmctl show -dimm
Lists all properties for PMem module 0x0001.
ipmctl show -a -dimm 0x0001
Retrieves specific properties for each PMem module.
ipmctl show -d HealthState,LockState -dimm
๐ RETURN DATA ๐
The default behavior is to display a table with the default attributes listed below; applying options changes the output to a more detailed format. Limited information (noted in the table below) is applicable if the PMem module is not manageable by the software as indicated by the "ManageabilityState" property.
โ ๏ธ Note: Some data is endian swapped for human readability. That's just her little quirk. ๐
๐ DimmID
(Default) The PMem module identifier.
๐ Capacity
(Default) The usable capacity of the PMem module as reported by the firmware.
๐ HealthState
(Default) Overall PMem module health. One of:
HealthyNoncritical: Maintenance may be required.Critical: Features or performance are degraded due to failure.Fatal: Critical internal state failure (DPA Failure, Internal Buffer Failure, AIT Failure, etc.) is non-recoverable and data loss has occurred or is imminent. In this case, the firmware will disable the media and access to user data and operations that require use of the media will fail.Non-functional: The PMem module is detected and manageable, though some commands and capabilities may be limited. The PMem module has limited communication or another error preventing complete functionality. Common causes include:- DDRT memory interface training failure
- Expected region mapping to SPA range unable to be found
Unmanageable: The PMem module has an incompatible firmware API version or hardware revision or is unresponsive (possibly due to a communication interface failure or a firmware/hardware error).Unknown: Unable to determine the PMem module health state. Refer toHealthStateReasonforHealthStatedetails.
๐ HealthStateReason
Indicates why the PMem module is in the current Health State. One or more of:
NonePercentage Remaining less than 1%Package Sparing occurredCAP Self-Test warningPercentage Remaining is 0Die FailureAIT DRAM disabledCAP Self-Test failureCritical internal state failurePerformance degradedCAP Self-Test communication failure- See the Intelยฎ Optaneโข DC Persistent Memory Module Firmware Interface Specification, document number 556488, Section 4.8 SMART and Health.
๐ InterfaceFormatCode
A comma-delimited list of the JEDEC standard format interface codes for the PMem module where each code is formatted as: code (JEDEC Description or "Unknown").
๐ ManageabilityState
Ability of the PMem module host software to manage the PMem module. Manageability is determined by the interface format code, the vendor identifier, device identifier and the firmware API version. One of:
Manageable: The PMem module is manageable by the software.Unmanageable: The PMem module is not supported by this version of the software.
๐ PopulationViolation
Memory populations are evaluated based on the "Enforce Population POR" setup option in UEFI Firmware. If enforcement of POR populations is selected, then some PMem module memory may be in population violation. See [PMem modules in non-POR configuration] for details. One of:
Yes: The PMem module is in population violation.No: The PMem module is not in population violation.
๐ PhysicalID
The PMem module physical identifier (i.e., SMBIOS Type 17 handle).
๐ DimmHandle
The PMem module handle formatted as 0xABCD.
A= SocketB= Memory ControllerC= ChannelD= Slot
๐ DimmUID
The unique identifier of the PMem module formatted as VVVV-ML-MMYYSNSNSNSN or VVVV-SNSNSNSN (if the manufacturing information is not available) where:
VVVV= VendorIDML= ManufacturingLocationMMYY= ManufacturingDateSNSNSNSN= SerialNumber
๐ SocketID
The processor socket identifier (i.e., NUMA node) where the PMem module is installed.
๐ MemControllerID
The associated memory controller identifier.
๐ ChannelID
The associated channel.
๐ ChannelPos
The PMem module position in the channel.
๐ MemoryType
The memory type. One of:
UnknownLogical Non-Volatile Device
๐ Manufacturer
The manufacturer name of the PMem module.
๐ VendorID
The vendor identifier of the PMem module. This value is presented in big endian format.
๐ DeviceID
The device identifier of the PMem module. This value is presented in big endian format.
๐ RevisionID
The revision identifier of the PMem module.
๐ SubsystemVendorID
The vendor identifier of the non-volatile memory subsystem controller. This value is presented in big endian format.
๐ SubsystemDeviceID
The device identifier of the non-volatile memory subsystem controller.
๐ SubsystemRevisionID
The revision identifier of the non-volatile memory subsystem controller retrieved from NFIT. This field uses a different encoding than ControllerRevisionID.
๐ ManufacturingInfoValid
If the manufacturing location and date are valid. One of:
0: Not valid1: Valid
๐ ManufacturingLocation
The manufacturing location assigned by the vendor or "N/A" if ManufacturingInfoValid is 0.
๐ ManufacturingDate
The manufacturing date assigned by the vendor or "N/A" if ManufacturingInfoValid is 0.
๐ SerialNumber
The serial number assigned by the vendor. This value is presented in big endian format.
๐ PartNumber
The part number assigned by the vendor
๐ DeviceLocator
A string describing the physically labeled socket or board position where the memory device is located from the SMBIOS Type 17 Memory Device table.
๐ BankLabel
A string that identifies the physically labeled bank where the memory device is located from the SMBIOS Type 17 Memory Device table.
๐ DataWidth
The width in bits used to store user data from the SMBIOS Type 17 Memory Device table.
๐ TotalWidth
The width in bits for data and error correction and/or data redundancy from the SMBIOS Type 17 Memory Device table.
๐ Speed
The maximum capable speed of the device in megatransfers per second (MT/s) from the SMBIOS Type 17 Memory Device table.
๐ FormFactor
The PMem module form factor (i.e., SMBIOS Type 17 Memory Device Form Factor). One of:
UnknownDIMMSODIMM
๐ LockState
The current security state of the persistent memory on the PMem module. One or more of:
Unknown- The security state cannot be determined (e.g., when the PMem module is not manageable by the software).Disabled- Security is not enabled.Unlocked- Security is enabled and unlocked.Locked- Security is enabled and locked.Frozen- A reboot is required to change the security state.Exceeded- The passphrase limit has been reached. A power cycle is required to change the security state.MP Exceeded- The master passphrase limit has been reached. A power cycle is required to change the security state.Not Supported- Security is not supported on the PMem module.
๐ SVNDowngrade
The Opt-in value of Security Version Number (SVN) Downgrade security opt-in feature for PMem module. One of :
UnknownDisabledEnabled
๐ SecureErasePolicy
The Opt-in value of Secure erase policy opt-in feature for PMem module. One of :
UnknownNo Master PassphraseMaster Passphrase Enabled
๐ S3ResumeOptIn
The Opt-in value of S3 Resume security opt-in feature for PMem module. One of :
UnknownUnsecureS3SecureS3
๐ FwActivateOptIn
The Opt-in value of Fw Activate security opt-in feature for PMem module. One of :
Unknown- Disabled
- Enabled
FWVersionโ (this one's the default btw) the BCD-formatted revision of the firmware that's currently active, written likePN.RN.SV.bbbbwhere:PN= 2-digit product numberRN= 2-digit revision numberSN= 2-digit security revision numberbbbb= 4-digit build version
Value may be N/A if the PMem module is not manageable by the software. ๐ญ
FWAPIVersionโ the firmware's supported interface revision, in the formataa.bbwhere:aa= 2-digit major versionbb= 2-digit minor version
The firmware interface is intended to be backwards compatible, okay? So the host software allows management of PMem modules where this version is less than or equal to the version stored in the host software. Value may be N/A if the PMem module is not manageable by the software. ๐ซถ
The following info is only applicable when the PMem module is manageable by the software as indicated by the ManageabilityState. iykyk.
FWActiveAPIVersionโ the firmware interface revision that's locked in during the BIOS API handshake, in the formataa.bbwhere:aa= 2-digit major versionbb= 2-digit minor version
Value may be N/A if the PMem module is not manageable by the software.
ManufacturerIDโ the manufacturer identifier of the PMem module. This value is presented in big endian format. no cap.ControllerRevisionIDโ the controller stepping and revision ID, pulled straight from the controller FW. Heads up bestie: this field uses a different encoding thanSubsystemRevisionID. ๐IsNewโ whether or not the PMem module is incorporated with the rest of the PMem module in the system. One of:0: Configured1: The PMem module requires configuration.
MemoryCapacityโ usable PMem module Memory Mode capacity.AppDirectCapacityโ usable PMem module App Direct capacity.UnconfiguredCapacityโ PMem module capacity that's inaccessible because it's not mapped into the system physical address space. it's just... sitting there. ๐InaccessibleCapacityโ PMem module capacity that's inaccessible due to:- Licensing issue
- Platform configuration prevents accessing this capacity. For example,
MemoryCapacityis configured and available on a PMem module butMemoryModeis not enabled by BIOS. ๐
ReservedCapacityโ PMem module capacity reserved for proper alignment. (it's giving "for the plot", but it's actually for alignment.)AvgPowerLimitโ if the PMem module firmware power management policy is enabled, the power limit in mW used for average power. Refer to FIS for allowable range and default value. ๐MemoryBandwidthBoostFeatureโ returns whether the Intelยฎ Memory Bandwidth Boost Feature is currently enabled or not. One of:0x0: Disabled0x1: Enabled
MemoryBandwidthBoostMaxPowerLimitโ the power limit used for limiting the Intelยฎ Memory Bandwidth Boost Feature's power consumption [mW].MemoryBandwidthBoostAveragePowerTimeConstantโ the value used as a base time window for average power throttle [ms]. You can check this range in the Max Intelยฎ Memory Bandwidth Boost Average Time Constant and Average Power Time Constant Step from the[Show Dimm]command. lowkey handy.- Default:
15000 ms
- Default:
MaxAveragePowerLimitโ maximum average power limit [mW] supported by the PMem module.MaxMemoryBandwidthBoostMaxPowerLimitโ maximum Intelยฎ Memory Bandwidth Boost Power value [mW] that can be set for the PMem module. Will return0if unsupported by current FIS. not me getting a zero and panicking ๐ญMaxMemoryBandwidthBoostAveragePowerTimeConstantโ this field returns the maximum supported value of the Intelยฎ Memory Bandwidth Boost Average Power Time Constant [ms].MemoryBandwidthBoostAveragePowerTimeConstantStepโ this field returns the increments in milliseconds allowed by the firmware when setting the Intelยฎ Memory Bandwidth Boost Average Power Time Constant.MaxAveragePowerReportingTimeConstantโ this field returns the maximum supported value of the Reporting Average Power Time Constant in milliseconds that can be set in the[Set Dimm]command.AveragePowerReportingTimeConstantStepโ this field returns the increments in milliseconds allowed by the firmware when setting the Average Power Reporting Time Constant using the[Set Dimm]command.AveragePowerโ this field returns the average power in milliwatts that each PMem module consumes over the Average Power Reporting Time Constant.Average12vPowerโ this field returns the 12V average power in milliwatts that each PMem module consumes over the Average Power Reporting Time Constant. Available for FW API versions< 3.0. โกAverage1_2vPowerโ this field returns the 1.2V average power in milliwatts that each PMem module consumes over the Average Power Reporting Time Constant. Available for FW API versions< 3.0. โกPackageSparingCapableโ whether or not the PMem module supports package sparing. One of:0: False1: True
PackageSparingEnabledโ whether or not the PMem module package sparing policy is enabled. One of:0: Disabled1: Enabled
PackageSparesAvailableโ the number of spare devices available for package sparing. โจLatchedLastShutdownStatusโ the status of the last shutdown of the PMem module. One or more of:Unknown: The last shutdown status cannot be determined.PM ADR Command Received: Power management ADR command received.PM S3 Received: Power management S3 command received.PM S5 Received: Power management S5 command received.DDRT Power Fail Command Received: DDR power fail command received.PMIC 12V/DDRT 1.2V Power Loss (PLI)PM Warm Reset Received: Power management warm reset received.Thermal Shutdown Received: Thermal shutdown triggered.Controller's FW State Flush Complete: Flush Completed.Viral Interrupt Received: Viral interrupt received.Surprise Clock Stop Received: Surprise clock stop received.Write Data Flush Complete: Write data flush completed.PM S4 Received: Power management S4 command received.PM Idle Received: Power management idle received.SRE Clock Stop Received: Self-Refresh Entry clock stop received.DDRT Surprise Reset Received: Surprise reset received.Extended Flush Not Complete.Extended Flush Complete.Sx Extended Flush Not Complete.Sx Extended Flush Complete.
UnlatchedLastShutdownStatusโ the status of the last shutdown status of the PMem module. It contains the same fields as the Latched Last Shutdown Status, with the only difference that the LSS details on a dirty shutdown are logged, even if the Latch System Shutdown Status was not enabled. ๐ One or more of:Unknown: The last shutdown status cannot be determined.PM ADR Command Received: Power management ADR command received.PM S3 Received: Power management S3 command received.PM S5 Received: Power management S5 command received.DDRT Power Fail Command Received: DDR power fail command received.PMIC 12V/DDRT 1.2V Power Loss (PLI)PM Warm Reset Received: Power management warm reset received.Thermal Shutdown Received: Thermal shutdown triggered.Controller's FW State Flush Complete: Flush Completed.Viral Interrupt Received: Viral interrupt received.Surprise Clock Stop Received: Surprise clock stop received.Write Data Flush Complete: Write data flush completed.PM S4 Received: Power management S4 command received.PM Idle Received: Power management idle received.SRE Clock Stop Received: Self-Refresh Entry clock stop received.DDRT Surprise Reset Received: Surprise reset received.Extended Flush Not Complete.Extended Flush Complete.Sx Extended Flush Not Complete.Sx Extended Flush Complete.
ThermalThrottleLossPercentโ the average performance loss percentage due to thermal throttling in the current boot of the PMem module. ๐ฅตLastShutdownTimeโ the time the system was last shut down. ๐ฐ๏ธModesSupportedโ a list of the modes supported by the PMem module. Refer to the[Show System Capabilities]command to determine the modes supported by the platform. One or more of:Memory Mode: PMem modules act as system memory under the control of the operating system. In Memory Mode, any DDR in the platform will act as a cache working in conjunction with the PMem module.App Direct: PMem modules and DDR act as independent memory resources under direct load/store control of the application.
SecurityCapabilitiesโ the security features supported by the PMem module. Zero or more of:Encryption: The PMem module supports persistent memory encryption by setting a passphrase. ๐Erase: The PMem module is erasable.
MasterPassphraseEnabledโ this property indicates if master passphrase is enabled. If it is disabled, then it cannot be enabled. ๐จ One of:0: Disabled - Cannot be enabled.1: Enabled - Master passphrase can be changed. Cannot be disabled.
ConfigurationStatusโ the status of the PMem module memory configuration. One of:Valid: The configuration is valid.Not Configured: The PMem module has not been configured.Failed - Bad configuration: The configuration is corrupt.Failed - Broken interleave: This PMem module is part of an interleave set that is not complete.Failed - Reverted: The configuration failed and was reverted to the last known good configuration.Failed - Unsupported: The configuration is not compatible with the installed BIOS.Unknown: The configuration cannot be determined.
SKUViolationโ the configuration of the PMem module is unsupported due to a license issue. One of:0: False1: True
ARSStatusโ the address range scrub (ARS) operation status for the PMem module. The status is a reflection of the last requested ARS, but not necessarily within the current platform power cycle. One of:- Unknown โ bestie the ARS operation status is justโฆ undeterminable ๐ we do not know her.
- Not started โ an ARS operation hasn't kicked off yet.
- In progress โ an ARS operation is happening literally right now, hold please.
- Completed โ the last ARS operation finished, she ate.
- Aborted โ the last ARS operation got aborted, rip.
- Error โ an ARS operation failed because of some error ๐ญ.
OverwriteStatus
The overwrite PMem module operation status for the PMem module, one of:
- Unknown โ the overwrite PMem module operation status can't be determined. This can happen if the status gets overwritten because a different long operation is running on this PMem module.
- Not started โ an overwrite PMem module operation was not started on the last boot.
- In progress โ an overwrite PMem module operation is currently in progress.
- Completed โ an overwrite PMem module operation completed and a reboot is required to use the PMem module.
- Aborted โ the last overwrite PMem module operation was aborted.
- Error โ an overwrite PMem module operation failed due to some error.
AveragePowerReportingTimeConstant
The value, in milliseconds, used to determine the time constant for reporting the average power consumption measurements. You can set it to a value between 100 and 12000, by increments of 100. The default value is 1000. ๐
ViralPolicy
Whether viral policies are enabled on the PMem module. One of:
0: Disabled โ this is the default.1: Enabled โ the persistent memory on the PMem module will be put into read-only mode if the host operating system software detects an uncorrectable error situation and indicates a viral state, all in order to prevent the spread of damage. ๐ฆ
ViralState
Whether the PMem module is currently viral. One of:
0: Not Viral1: Viral โ the viral policies of the PMem module have switched the persistent memory to read-only mode because the host operating system software detected an uncorrectable error situation and indicated a viral state.
AitDramEnabled
If the PMem module AIT DRAM is enabled. One of:
0: Disabled โ heads up, the device will suffer performance degradation if the AIT DRAM becomes disabled. ๐1: Enabled
BootStatus
The initialization status of the PMem module as reported by the firmware in the boot status register. One or more of:
- DDRT/SMBUS Status Unknown โ PMem module DDRT and SMBUS interface status unknown.
- BSR Unknown โ the boot status register cannot be read.
- Success โ no errors were reported during initialization.
- Reboot Required โ PMem module's internal state requires a platform power cycle.
The following statuses indicate the status of DDRT and SMBUS interfaces. Access to PMem module will fail when both interfaces are not available.
- DDRT Not Ready โ DDRT interface not ready.
- SMBUS Not Ready โ SMBUS interface not ready.
The following statuses indicate that the media is not functional and, therefore, access to user data and operations that require use of the media will fail.
- Media Not Ready โ the firmware did not complete media training.
- Media Error โ the firmware detected an error during media training.
- Media Disabled โ the firmware disabled the media due to a critical issue.
The following statuses indicate that communication with the firmware is not functional.
- Mailbox Not Ready โ mailbox interface not ready.
BootStatusRegister
The raw hex value of the PMem module Boot Status Register of the PMem module.
LatchSystemShutdownState
Status of the latch. Specifies whether the PMem module will latch the SMART Last Shutdown Status and SMART Dirty Shutdown Count. ๐
0: Disabled โ this is the default.1: Enabled
PreviousPowerCycleLatchSystemShutdownState
The status of the latch during the previous power cycle.
0: Disabled โ this is the default.1: Enabled
ExtendedAdrEnabled
Specifies whether extended ADR flow is enabled in the FW.
0: Disabled1: Enabled
PpcExtendedAdrEnabled
Specifies whether extended ADR flow was enabled in the FW during the last power cycle.
0: Disabled1: Enabled
ErrorInjectionEnabled
Error injection status.
0: Disabled โ this is the default.1: Enabled
MediaTemperatureInjectionEnabled
Media temperature injection status.
0: Disabled โ this is the default.1: Enabled
SoftwareTriggersEnabled
Software trigger status.
0: Disabled โ this is the default.1โ at least one software trigger enabled.
SoftwareTriggersEnabledDetails
Comma separated list of software triggers currently enabled. One or more of:
- None
- Package Sparing
- Fatal Error
- Percentage Remaining
- Dirty Shutdown
PoisonErrorInjectionsCounter
This counter is incremented each time the set poison error is successfully executed.
PoisonErrorClearCounter
This counter is incremented each time the clear poison error is successfully executed.
MediaTemperatureInjectionsCounter
This counter is incremented each time the media temperature is injected.
SoftwareTriggersCounter
This counter is incremented each time a software trigger is enabled.
MaxMediaTemperature
The highest die temperature reported in degrees Celsius. This value is persistent through Power Loss as well as not effected by Overwrite PMem module or Media Temperature Error Injection. ๐ฅ
MaxControllerTemperature
The highest controller temperature reported in degrees Celsius. This value is persistent through Power Loss as well as not effected by Overwrite PMem module.
MixedSKU
One or more PMem modules in the system have different SKUs. One of:
0: False1: True โ in this case, the host software operates in a read-only mode and does not allow changes to the PMem modules and their associated capacity. ๐ซ
FIPSModeStatus
The FIPS mode status of the PMem module. One of:
- Non-FIPS mode โ the default mode from Intel manufacturing.
- Non-FIPS mode, but will transition to FIPS mode on next boot โ the PM regions will be inaccessible in this state. Some command restrictions apply.
- FIPS mode, one-time initialization not done โ the PM regions will be inaccessible in this state. Some command restrictions apply.
- FIPS mode, one-time initialization done โ after successful Initialize FIPS Mode firmware command invocation.
And that's the whole page, bestie!! ๐ซถ This lil' manual page ships as part of ipmctl, and this particular rendering is dated 2024-04-22 โ so if you're reading it in the future, hey from the past, hope your DIMMs are thriving. ๐ Go forth and show -dimm responsibly, iykyk. ๐โจ
๐ฆ where this page comes from
- ubuntu noble: ipmctl 03.00.00.0485-1build1 ยท BSD-2-Clause AND BSD-3-Clause
- ubuntu questing: ipmctl 03.00.00.0485-1build1
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms