✨1. 什么是NPEM?
Native PCIe Enclosure Management,简写为NPEM,PCIe 4.0正式引入,是一种机柜(Enclosure)状态管理机制,用于管理PCIe SSD盒的状态LED灯驱动。简单点说:NPEM机制是控制PCIe SSD硬盘盒的LED灯的,这些LED灯能够显示PCIe SSD的工作状态。
✨2. NPEM机制
2.1 两种NPEM驱动方案
NPEM提供了两种LED驱动管理方案:
1️⃣ NPEM位于PR或Switch下行端口,如图1所示,其接收PCIe SSD发来的相关状态,然后反馈相关命令给PCIe SSD盒的LED控制器进行状态显示或其他。
2️⃣ NPEM位于EP(PCIe SSD)上行端口,如图2所示,PCIe SSD function直接通过其NPEM对SSD盒的LED控制器。
图1 NPEM位于RP/Switch
图2 NPEM位于PCIe SSD
2.2 NPEM机制工作流程
NPEM机制的工作流程如下图所(图3)示:
软件获取到PCIe SSD的状态,例如OK, Locate, Rebuild, Fail等,详见PCIe Spec;
软件发送相关命令给NPEM能力(写NPEM能力控制寄存器);
NPEM能力状态寄存器Completed位置1,告知软件命令完毕;同时硬件控制SSD盒的LED控制器,通过显示不同的LED pattern来标记不同SSD允许状态。
图3 NPEM机制工作流程
⚠️注意:除了常规的LED命令,还要一组LED Control的reset命令,该reset独立于PCIe链路。
✨3. NPEM能力结构
具备NPEM能力结构的组件才能实现NPEM机制。NPEM能力结构如图4所示,包括NPEM能力头标、NPEM能力寄存器、NPEM控制寄存器即NPEM状态寄存器。相关字段较为简单,不做详细介绍。
图4 NPEM能力结构
📚 参考
PCI Express Base Specification Revision 5.0 Version 1.0 (22 May 2019)
Native PCIe Enclosure Management如何兼容PCIE3.0或2.0的设备?