控制器寄存器与属性配置 - 第66页
继续深入分析协议:NVM Express® Base Specification, revision 2.0b
3.1.3.5 CC – Controller Configuration(控制器配置) (续)
位 | 类型 | 重置值 | 描述 |
---|---|---|---|
10:07 | RW | 0h | Memory Page Size (MPS):此字段指示主机内存页的大小。内存页大小是 (2 ^ (12 + MPS)),因此最小内存页大小为4KiB,最大内存页大小为128MiB。该值由主机软件设置,并应为 CAP.MPSMAX 和 CAP.MPSMIN 字段指示的支持值。此字段只能在 CC.EN 设置为‘0’时修改。 |
06:04 | RW | 000b | I/O Command Set Selected (CSS):此字段指定选定的I/O命令集或命令集。此字段只能在控制器禁用时(即 CC.EN 为‘0’时)修改。 |
03:01 | RO | 000b | Reserved:保留字段。 |
字段解析
- Memory Page Size (MPS):
- 描述:此字段表示主机内存页的大小,单位为字节。通过设置该字段,主机可以定义内存页的大小,范围从4KiB到128MiB。该值的计算方式为
2 ^ (12 + MPS)
。 -
注意:这个值必须在
CAP.MPSMAX
(最大内存页大小)和CAP.MPSMIN
(最小内存页大小)字段定义的范围内。此字段仅在CC.EN
被清除(即控制器被禁用)时才能修改,对于 Discovery 控制器,此字段被清除为0。 -
I/O Command Set Selected (CSS):
- 描述:此字段选择已启用的I/O命令集。必须在控制器禁用(即
CC.EN
为‘0’)时修改。所选的I/O命令集将用于所有I/O提交队列。 - 值定义:
- 000b:选择NVM命令集。
- 001b 到 101b:保留。
- 110b:选择所有受支持的I/O命令集。支持的命令集会在
Identify I/O Command Set
数据结构中报告。 - 111b:仅支持Admin命令集,不支持任何I/O命令集。如果仅支持Admin命令集,则在I/O提交队列上提交的命令和在Admin提交队列上提交的I/O命令集特定的Admin命令会以“Invalid Command Opcode”状态完成。
- 注意:对于 Discovery 控制器,此属性应被清除为
000b
。
总结:
- Memory Page Size (MPS) 允许控制器设置内存页大小,它影响主机内存管理的效率,并且设置时必须符合控制器的最大和最小支持范围。
- I/O Command Set Selected (CSS) 让控制器选择其支持的I/O命令集,这对整个存储系统的操作和性能有很大影响。通过选择不同的命令集,系统可以支持不同类型的数据操作,增强灵活性。
这些配置参数在控制器初始化和管理中起到了重要作用,保证了在不同硬件和系统配置下的兼容性与优化。