Native PCIe Enclosure Management (NPEM)介绍

简介: Native PCIe Enclosure Management (NPEM)介绍

✨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控制器。


2688d177a0264fa18193b38c4c714125.png


图1 NPEM位于RP/Switch  


662db68ba670482486b444ab9d3e5936.png




图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允许状态。


d71bec851ff346269bf4116aaa4be225.png



图3 NPEM机制工作流程

  ⚠️注意除了常规的LED命令,还要一组LED Control的reset命令,该reset独立于PCIe链路。




✨3. NPEM能力结构


  具备NPEM能力结构的组件才能实现NPEM机制。NPEM能力结构如图4所示,包括NPEM能力头标、NPEM能力寄存器、NPEM控制寄存器即NPEM状态寄存器。相关字段较为简单,不做详细介绍。


7fbbfb85c3024bdfa47a29aa811953ad.png


图4 NPEM能力结构




📚 参考


   PCI Express Base Specification Revision 5.0 Version 1.0 (22 May 2019)


   Native PCIe Enclosure Management如何兼容PCIE3.0或2.0的设备?



目录
相关文章
|
3月前
|
Linux
L1 Cache architecture in ARM
L1 Cache architecture in ARM
74 0
【VCS】PCIe Native Protocol Analyzer 使用方法
【VCS】PCIe Native Protocol Analyzer 使用方法
349 0
【VCS】PCIe Native Protocol Analyzer 使用方法
|
Linux
【PCIe 6.0】PCIe 6.0 新特性 - DMWr (Deferrable Memory Write) 详解
【PCIe 6.0】PCIe 6.0 新特性 - DMWr (Deferrable Memory Write) 详解
1098 0
【PCIe 6.0】PCIe 6.0 新特性 - DMWr (Deferrable Memory Write) 详解
|
存储 内存技术
.Net Micro Framework - USB Mass Storage功能实现
由于.Net Micro Framework的USB驱动架构中,没有为Mass Storage功能提供原生支持,所以除了要编写Mass Storage主体代码外,还需要在原有的USB驱动中添加部分枚举代码
879 0
|
网络协议 大数据 Go
高性能服务器架构 的几个注意点 (High-Performance Server Architecture)
High-Performance Server Architecture 高性能服务器架构 来源:http://pl.atyp.us/content/tech/servers.html译文来源:http://www.lupaworld.com/home/space-341888-do-blog-id-136718.html (map注:本人看了一遍,“于我心有戚戚焉”,翻译得也很好,于是整理了一下,重新发布,备忘) 引言本文将与你分享我多年来在服务器开发方面的一些经验。
1107 0
|
Android开发 C++ 虚拟化