数据结构读取与响应格式 - 页码122
NVMe-MI 1 min read

数据结构读取与响应格式 - 页码122

Blog Author

深入分析 《NVM Express® Management Interface Specification, Revision 2.0》 中的 Port Information Data StructurePCIe Port Specific Data


🔹 Figure 114: Port Information Data Structure

1. Port Type (PRTTYP)

此字段指示端口类型,值的定义如下:

定义 参考
0h 非活动端口
1h PCIe端口 Figure 115
2h 2-Wire端口 Figure 116
3h to FFh 保留

分析:端口类型的定义帮助识别 NVM 子系统中各个端口的通信类型,PCIe端口与2-Wire端口是常见的配置,确保设备能够正确识别并应用适当的配置和命令。

2. Port Capabilities (PRTCAP)

此字段包含端口能力的信息。各个位的功能定义如下:

描述
7:2 保留
1 Asynchronous Event Messages Supported (AEMS): 如果设置为 1,则该端口的所有管理端点支持 AEM(Asynchronous Event Messages)和相关的配置。如果设置为 0,则不支持。
0 Command Initiated Auto Pause Supported (CIAPS): 如果设置为 1,则该端口支持命令启动自动暂停(CIAP)位。如果设置为 0,则不支持。

3. Maximum MCTP Transmission Unit Size (MMTUS)

此字段指示该端口支持的最大 MCTP 传输单元(MCTP Transmission Unit)。MCTP 是一个常用于管理消息的协议,值的范围如下:

  • PCIe端口: 如果支持 MCTP,则该字段的值介于 64 字节和 PCIe 最大负载大小之间(参见 PCIe 基本规范)。
  • 2-Wire端口: 如果支持 MCTP,通过 SMBus 传输,则值介于 64 字节和 250 字节之间。

4. Management Endpoint Buffer Size (MEBS)

此字段指示管理端点缓冲区的大小(以字节为单位)。如果该字段值为 0h,则表示管理端点不支持缓冲区。

5. Port Type Specific (PTSP)

对于不同的端口类型,具体信息将在后续章节(如 Figure 115Figure 116)中详细描述。


🔹 Figure 115: PCIe Port Specific Data

1. PCIe Maximum Payload Size (PCIEMPS)

此字段指示特定 PCIe 端口的最大有效负载大小(Max_Payload_Size)。它的值根据 PCIe 规范的定义,指示 PCIe 链路的最大负载。该字段的具体值如下:

定义
0h 128 字节
1h 256 字节
2h 512 字节
3h 1 KiB
4h 2 KiB
5h 4 KiB
6h to FFh 保留

分析:此字段提供有关 PCIe 端口的最大负载大小的信息,这是确保数据传输正确的关键参数。如果链路未激活,则此字段为 0h


总结

  • 端口类型与能力:通过 PRTTYPPRTCAP 字段,管理接口能够清楚识别端口的类型以及它们支持的功能,如异步事件消息和命令启动自动暂停。
  • MCTP 支持:不同端口支持不同的 MCTP 传输单元,PCIe 和 2-Wire 端口的支持范围有所不同,适配不同的通信需求。
  • PCIe 端口:通过 PCIEMPS 字段,管理接口提供了关于 PCIe 最大负载大小的信息,这对于确保高效的数据传输至关重要。

这些字段对实现设备之间的高效管理至关重要,帮助在不同端口和设备之间传输状态信息、配置数据及执行命令。