第5章 管理接口命令集 - 页码92
NVMe-MI 1 min read

第5章 管理接口命令集 - 页码92

Blog Author

太好了!你现在已经进入了 Configuration Get 命令的详细说明阶段,下面我们来逐项深入分析 Configuration Identifier 的具体含义与字段解读


🔹 Figure 75:NVMe-MI Configuration Identifiers 概览

CID 名称 Out-of-Band In-Band 说明
00h Reserved - - 保留
01h SMBus/I2C Frequency Mandatory Prohibited 获取 SMBus 模式下的 2-Wire 端口频率
02h Health Status Change Mandatory Mandatory 获取健康状态变化的配置
03h MCTP Transmission Unit Size Mandatory Prohibited 获取 MCTP 传输单元大小
04h Asynchronous Event Optional Prohibited 获取异步事件相关的配置
05h - BFh Reserved - - 保留
C0h - FFh Vendor Specific Optional Optional 厂商自定义

🔹 CID = 01h:SMBus/I2C Frequency 配置项详解

✳️ 使用场景:

此配置用于查询特定 Management Endpoint 当前在 SMBus 模式下的频率设置。如果不是 SMBus 模式(例如 I3C 模式),那么返回值是未定义的。


🔧 请求格式 - NMD0 字段(Figure 76)

位段 字段名 说明
31:24 PORTID 指定你想要读取哪个端口的频率信息
23:08 Reserved 保留
07:00 CID = 01h 固定为该配置标识符

NMD1 全部保留,不使用


📥 响应格式 - NVMe Management Response 字段(Figure 77)

位段 字段名 说明
23:04 Reserved 保留
03:00 SFREQ 指示当前 2-Wire(SMBus 模式)下的工作频率

SFREQ 的值定义如下:

Value Frequency
0h Obsolete(废弃,不应使用)
1h 100 kHz
2h 400 kHz
3h 1 MHz
4h - Fh 保留

💡 在发生 Management Endpoint Reset 后,该值应被重置为 1h(即 100kHz)


✅ 总结记忆点:

  1. 这是 命令响应中使用 NVMe Management Response 字段直接返回结果 的一种方式。
  2. 只适用于 SMBus 模式,I3C 模式下该值不定义。
  3. 如果你是用多端口设备,可以通过设置 PORTID 来分别读取不同端口的频率。

如果你想继续解析 CID = 02hHealth Status Change 配置项(非常关键,涉及 AEM/健康轮询),我可以帮你一段段深入讲解。你想继续吗?