数据结构读取与响应格式 - 页码122
深入分析 《NVM Express® Management Interface Specification, Revision 2.0》 中的 Port Information Data Structure 和 PCIe 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 115 和 Figure 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
。
总结
- 端口类型与能力:通过
PRTTYP
和PRTCAP
字段,管理接口能够清楚识别端口的类型以及它们支持的功能,如异步事件消息和命令启动自动暂停。 - MCTP 支持:不同端口支持不同的 MCTP 传输单元,PCIe 和 2-Wire 端口的支持范围有所不同,适配不同的通信需求。
- PCIe 端口:通过
PCIEMPS
字段,管理接口提供了关于 PCIe 最大负载大小的信息,这对于确保高效的数据传输至关重要。
这些字段对实现设备之间的高效管理至关重要,帮助在不同端口和设备之间传输状态信息、配置数据及执行命令。