NVM子系统架构 - CAP - Controller Capabilities (控制器能力) 属性解析 (第60页)
CAP - Controller Capabilities (控制器能力) 属性解析
在《NVM Express® Base Specification, revision 2.0b》中,CAP(控制器能力)属性用于描述控制器的基本能力和特性。CAP属性以64位的字段形式存在,主机可以通过这些字段了解控制器支持的功能。
字段解析
以下是CAP属性中的一些关键字段:
位 | 类型 | 重置值 | 描述 |
---|---|---|---|
45 | RO | 实现特定 | 启动分区支持(BPS):表示控制器是否支持启动分区。 |
44:37 | RO | 实现特定 | 命令集支持(CSS):表示控制器支持的I/O命令集类型。 |
36 | RO | 实现特定 | NVM子系统复位支持(NSSRS):表示控制器是否支持NVM子系统复位功能。 |
35:32 | RO | 实现特定 | 门铃步幅(DSTRD):表示门铃属性之间的跨度,控制每个队列的门铃指示器之间的间隔大小。 |
字段详解
- 启动分区支持(BPS):
-
BPS位指示控制器是否支持启动分区(Boot Partitions)。如果设置为‘1’,则表示控制器支持启动分区功能;如果设置为‘0’,则表示不支持启动分区。启动分区可以在系统启动时加载特定的固件或操作系统。
-
命令集支持(CSS):
-
该字段指示控制器支持的I/O命令集类型。特别地,Bit 7表示是否没有支持I/O命令集。
- Bit 0:表示控制器是否支持NVM命令集。如果设置为‘1’,控制器支持NVM命令集(如NVM命令集)。
- Bit 6:指示控制器是否支持一个或多个I/O命令集,并支持Identify I/O Command Set数据结构。
- Bit 7:如果设置为‘1’,表示没有支持I/O命令集,即控制器只支持管理命令集。
-
NVM子系统复位支持(NSSRS):
-
NSSRS位指示控制器是否支持NVM子系统复位功能。设置为‘1’表示支持该功能,‘0’则表示不支持该功能。在某些情况下,控制器需要支持NVM子系统复位,以便于系统进行重置操作。
-
门铃步幅(DSTRD):
- DSTRD字段定义了门铃属性之间的间隔,即门铃的步幅。该字段是32位大小的,每个提交队列和完成队列都有一个相应的门铃属性。如果DSTRD设置为‘0’,表示门铃间隔为4字节;如果设置为其他值,则步幅会变大。此设置对于内存中的提交队列和完成队列非常重要,用来定义队列和门铃之间的布局。
总结
- CAP属性字段的设计是为了描述控制器的基本能力,允许主机了解控制器是否支持特定功能(如启动分区、命令集、复位等)。
- 通过这些字段,主机能够了解如何与控制器交互,以及如何配置相关的硬件资源。
- 不同的控制器类型(如I/O控制器、管理控制器、发现控制器)将根据其能力和需求提供不同的支持。