NVM子系统架构 - CAP - Controller Capabilities (控制器能力) 属性解析 (第59页)
CAP - Controller Capabilities (控制器能力) 属性解析
在《NVM Express® Base Specification, revision 2.0b》文档中,CAP(控制器能力)是一个非常重要的控制器属性。它用于描述控制器的基本能力和特性。具体地,CAP属性以64位字段的形式存在,通过该属性,主机可以了解控制器是否支持某些高级功能,比如内存页大小、持久存储区域支持、控制器内存缓冲区等。
字段解析
以下是CAP属性中的一些关键字段:
位 | 类型 | 重置值 | 描述 |
---|---|---|---|
60:59 | RO | 实现特定 | 控制器准备模式支持(CRMS): 表示控制器的准备模式是否支持。 |
0 | RO | ‘1’ | 媒体支持下的控制器就绪(CRWMS): 如果设置为‘1’,则表示控制器支持“媒体支持下的控制器就绪”模式。 |
1 | RO | ‘0’ | 独立于媒体的控制器就绪(CRIMS): 如果设置为‘1’,表示控制器支持“独立于媒体的控制器就绪”模式。 |
58 | RO | 实现特定 | NVM子系统关机支持(NSSS): 表示控制器是否支持NVM子系统关机功能。 |
57 | RO | 实现特定 | 控制器内存缓冲区支持(CMBS): 如果设置为‘1’,则表示控制器支持内存缓冲区,并且主机可以使用提供的地址引用该缓冲区。 |
56 | RO | 实现特定 | 持久内存区域支持(PMRS): 如果设置为‘1’,表示控制器支持持久内存区域。 |
55:52 | RO | 实现特定 | 最大内存页大小(MPSMAX): 表示控制器支持的最大主机内存页大小。 |
51:48 | RO | 实现特定 | 最小内存页大小(MPSMIN): 表示控制器支持的最小主机内存页大小。 |
47:46 | RO | 实现特定 | 控制器电源作用域(CPS): 指示控制器主电源的作用范围。 |
字段详解
- 控制器准备模式支持(CRMS):
- CRWMS(Controller Ready With Media Support):如果设置为‘1’,则表示控制器支持“控制器准备就绪且包含媒体支持”模式。如果设置为‘0’,则表示控制器不支持该模式。
-
CRIMS(Controller Ready Independent of Media Support):如果设置为‘1’,则表示控制器支持“独立于媒体的控制器准备就绪”模式。如果设置为‘0’,则表示控制器不支持该模式。
-
NVM子系统关机支持(NSSS):此位指示控制器是否支持NVM子系统的关机功能。如果设置为‘1’,表示支持NVM子系统的关机功能,反之则为‘0’。
-
控制器内存缓冲区支持(CMBS):如果设置为‘1’,表示控制器支持内存缓冲区,并且允许主机通过特定的地址来访问该缓冲区。
-
持久内存区域支持(PMRS):如果设置为‘1’,表示控制器支持持久内存区域功能。
-
最大内存页大小(MPSMAX)与最小内存页大小(MPSMIN):这些字段指示主机可配置的最大和最小内存页大小。在控制器的硬件限制下,主机不得配置超出这些范围的内存页大小。
-
控制器电源作用域(CPS):此字段表示控制器的电源控制范围。它有几个值来定义作用范围:
- 00b:未报告。
- 01b:控制器作用范围。
- 10b:域作用范围(表示NVM子系统支持多个域)。
- 11b:NVM子系统作用范围(表示NVM子系统不支持多个域)。
总结
- CAP属性是控制器能力的基础描述,帮助主机软件了解控制器是否具备某些功能,如内存缓冲区、持久存储、控制器准备就绪模式等。
- RO(只读)表示这些位只能由主机读取,不能写入;RW(读写)则表示这些字段可以进行读写。
- 各字段的配置对系统性能和操作模式有重要影响,主机可基于这些字段的设置进行优化和配置控制器的使用。