控制器寄存器 - CAP - Controller Capabilities (控制器能力) 字段解析 - 继续 (第62页)
NVME2.0协议解读 1 min read

控制器寄存器 - CAP - Controller Capabilities (控制器能力) 字段解析 - 继续 (第62页)

Blog Author

CAP - Controller Capabilities (控制器能力) 字段解析 - 继续

NVM Express® Base Specification, revision 2.0b中,CAP字段不仅包含了与控制器相关的能力标识,还涵盖了控制器能支持的最大队列条目数等信息,帮助系统了解控制器的最大支持能力及其限制。以下是对CAP字段中更多内容的深入分析。

字段解析

类型 重置值 描述
15:00 RO 实现特定 最大队列条目数(MQES):此字段表示控制器支持的最大单个队列条目数。
8h RO 1h 版本号(VS):该属性指示控制器实现支持的NVM Express基础规范的主、次和次要版本号。

字段详解

  1. 最大队列条目数(MQES)
  2. MQES字段表示控制器能够支持的最大单个队列的条目数。这是一个基于0的值,最小值为1h,表示队列大小为2个条目。
  3. 对于NVMe over PCIe实现,该值适用于主机创建的I/O提交队列和I/O完成队列;而对于NVMe over Fabrics实现,该值仅适用于主机创建的I/O提交队列。

  4. 版本号(VS)

  5. VS(Version)字段用于指示控制器实现支持的NVM Express基础规范的版本号。有效的版本包括:1.0, 1.1, 1.2, 1.2.1, 1.3, 1.4和2.0。
  6. 该字段详细描述了主版本号(MJR)次版本号(MNR)三级版本号(TER)

版本号细节

  1. 1.0版本兼容控制器的VS值
  2. 主版本号(MJR): 1
  3. 次版本号(MNR): 0
  4. 三级版本号(TER): 保留为0

  5. 1.1版本兼容控制器的VS值

  6. 主版本号(MJR): 1
  7. 次版本号(MNR): 1
  8. 三级版本号(TER): 保留为0

  9. 1.2版本兼容控制器的VS值

  10. 主版本号(MJR): 1
  11. 次版本号(MNR): 2
  12. 三级版本号(TER): 保留为0

  13. 1.2.1版本兼容控制器的VS值

  14. 主版本号(MJR): 1
  15. 次版本号(MNR): 2
  16. 三级版本号(TER): 1

总结

这些字段帮助主机软件了解控制器支持的版本和最大队列条目数等基本配置。最大队列条目数确保了主机能够在合适的队列大小下进行高效的数据传输,而版本号字段则确保了系统能够识别和处理不同版本的控制器,保持与规范的兼容性。在版本号变化的过程中,三级版本号提供了更加细粒度的规范区分,帮助开发者识别细节变动并确保兼容。