Intel Preps Native PCIe Enclosure Management "NPEM" For Standardized Storage LEDs
Intel engineers have been working on enabling NPEM for Linux: Native PCIe Enclosure Management as a means of standardized storage LED indicators.
Native PCIe Enclosure Management (NPEM) is a PCI Express standard for managing LED blinking patterns within storage enclosures. It's explained in the Linux kernel patches as:
The LEDs with NPEM can be used for indicating the storage drive is okay, a special state to be used for locating a particular drive, a drive failure, a status for indicating the drive is part of a RAID array that is rebuilding, another state can be used to indicate a failure is predicted soon of that drive, a hot spare drive, a degraded drive as part of an array, a failed drive as part of an array, a drive that is not the right type for the connector, the drive is disabled and safe for removal, and any other enclosure-specific indications.
More details on this new Native PCIe Enclosure Management standard via this commit laying out the NPEM infrastructure within the kernel.
There is also a follow-on patch for adding _DSM PCIe SSD status LED management via ACPI along with some special handling for Dell server platforms.
The code is currently living within PCI.git's "npem" Git branch. It's not yet queued into PCI's "next" branch and thus at this point in time isn't part of the code queued for v6.12 but we'll see when this new NPEM functionality ends up being mainlined.
Native PCIe Enclosure Management (NPEM) is a PCI Express standard for managing LED blinking patterns within storage enclosures. It's explained in the Linux kernel patches as:
"Native PCIe Enclosure Management (NPEM, PCIe r6.1 sec 6.28) allows managing LEDs in storage enclosures. NPEM is indication oriented and it does not give direct access to LEDs. Although each indication *could* represent an individual LED, multiple indications could also be represented as a single, multi-color LED or a single LED blinking in a specific interval. The specification leaves that open.
Each enabled indication (capability register bit on) is represented as a ledclass_dev which can be controlled through sysfs. For every ledclass device only 2 brightness states are allowed: LED_ON (1) or LED_OFF (0). This corresponds to the NPEM control register (Indication bit on/off)."
The LEDs with NPEM can be used for indicating the storage drive is okay, a special state to be used for locating a particular drive, a drive failure, a status for indicating the drive is part of a RAID array that is rebuilding, another state can be used to indicate a failure is predicted soon of that drive, a hot spare drive, a degraded drive as part of an array, a failed drive as part of an array, a drive that is not the right type for the connector, the drive is disabled and safe for removal, and any other enclosure-specific indications.
More details on this new Native PCIe Enclosure Management standard via this commit laying out the NPEM infrastructure within the kernel.
There is also a follow-on patch for adding _DSM PCIe SSD status LED management via ACPI along with some special handling for Dell server platforms.
The code is currently living within PCI.git's "npem" Git branch. It's not yet queued into PCI's "next" branch and thus at this point in time isn't part of the code queued for v6.12 but we'll see when this new NPEM functionality ends up being mainlined.
4 Comments