NVM子系统架构 - 控制器能力(CAP)属性分析 (第58页)
控制器能力(CAP)属性分析
《NVM Express® Base Specification, revision 2.0b》中,CAP(Controller Capabilities)属性位于偏移量0h,表示控制器的基本功能。该属性主要向主机软件报告控制器的能力和状态,帮助主机管理和配置控制器。
以下是对CAP属性的详细分析:
CAP 属性详细描述
属性CAP通过一个64位字段来表示,具体结构如下:
位 | 类型 | 重置值 | 描述 |
---|---|---|---|
63:61 | RO | 0h | 保留字段 |
60 | RO | 0h | 保留字段 |
59:56 | RW | 0h | 最大命令队列数 |
55:50 | RW | 0h | 支持的控制器类型 |
49 | RW | 0h | 支持的特性 |
48 | RW | 0h | 支持的命令集 |
47:0 | RO | 0h | 保留字段 |
字段描述:
-
保留字段(63:61 和 47:0):这些位是保留字段,控制器实现不需要特别关注它们。它们会返回0h,主机软件应该忽略这些位。
-
最大命令队列数(59:56):此字段用于表示控制器支持的最大命令队列数。命令队列是一个关键的控制器资源,多个命令队列可以让主机更高效地执行并行任务。
-
支持的控制器类型(55:50):此字段指示控制器支持的类型。例如,支持的控制器类型可以是I/O控制器、管理控制器、发现控制器等。每种控制器类型有不同的功能和支持的命令集。
-
支持的特性(49):该字段指示控制器是否支持特定的功能,如电源管理、命令队列配置等。
-
支持的命令集(48):此字段指示控制器支持的命令集类型。常见的命令集包括I/O命令集、管理命令集等,控制器可以支持多个命令集。
访问方法
- 类型:
RO
(只读)表示这些字段只能由主机读取,不能修改。RW
(读写)表示主机可以对这些字段进行读取和写入。 - 重置值:字段在控制器复位后返回的默认值。对这些字段进行读写时,主机应参考该字段的重置值。
属性访问方式:
这些属性通常通过Property Get(获取属性)和Property Set(设置属性)命令进行访问。具体访问方法根据控制器类型和传输模型(如基于内存的传输模型或基于消息的传输模型)可能有所不同。
控制器属性示例:
- 最大命令队列数:例如,某些控制器可能支持多达64K个命令队列,这使得系统在高负载情况下仍能保持良好的性能。
- 支持的控制器类型:I/O控制器通常支持访问存储数据并执行命令,行政控制器则不支持I/O命令,只支持管理命令。
总结
CAP
属性是描述控制器基本功能的核心字段,能够帮助主机软件了解控制器的能力,特别是在命令队列、控制器类型、支持的特性和命令集等方面。主机可以根据这些信息来配置和优化控制器的使用。