Controller Registers
-
-
- 3.1.3Controller Properties
-
- 3.1.3.1Offset 0h: CAP – Controller Capabilities
- 3.1.3.2Offset 8h: VS – Version
- 3.1.3.3Offset Ch: INTMS – Interrupt Mask Set
- 3.1.3.4Offset 10h: INTMC – Interrupt Mask Clear
- 3.1.3.5Offset 14h: CC – Controller Configuration
- 3.1.3.6Offset 1Ch: CSTS – Controller Status
- 3.1.3.7Offset 20h: NSSR – NVM Subsystem Reset
- 3.1.3.8Offset 24h: AQA – Admin Queue Attributes
- 3.1.3.9Offset 28h: ASQ – Admin Submission Queue Base Address
- 3.1.3.10Offset 30h: ACQ – Admin Completion Queue Base Address
- 3.1.3.11Offset 38h: CMBLOC – Controller Memory Buffer Location
- 3.1.3.12Offset 3Ch: CMBSZ – Controller Memory Buffer Size
- 3.1.3.13Offset 40h: BPINFO – Boot Partition Information
- 3.1.3.14Offset 44h: BPRSEL – Boot Partition Read Select
- 3.1.3.15Offset 48h: BPMBL – Boot Partition Memory Buffer Location (Optional)
- 3.1.3.16Offset 50h: CMBMSC – Controller Memory Buffer Memory Space Control
- 3.1.3.17Offset 58h: CMBSTS – Controller Memory Buffer Status
- 3.1.3.18Offset 5Ch: CMBEBS – Controller Memory Buffer Elasticity Buffer Size
- 3.1.3.19Offset 60h: CMBSWTP – Controller Memory Buffer Sustained Write Throughput
- 3.1.3.20Offset 64h: NSSD – NVM Subsystem Shutdown
- 3.1.3.21Offset 68h: CRTO – Controller Ready Timeouts
- 3.1.3.22Offset E00h: PMRCAP – Persistent Memory Region Capabilities
- 3.1.3.23Offset E04h: PMRCTL – Persistent Memory Region Control
- 3.1.3.24Offset E08h: PMRSTS – Persistent Memory Region Status
- 3.1.3.25Offset E0Ch: PMREBS – Persistent Memory Region Elasticity Buffer Size
- 3.1.3.26Offset E10h: PMRSWTP – Persistent Memory Region Sustained Write Throughput
- 3.1.3.27Offset E14h: PMRMSCL – Persistent Memory Region Memory Space Control Lower
- 3.1.3.28Offset E18h: PMRMSCU – Persistent Memory Region Memory Space Control Upper
-
3.1.3Controller Properties
Property(寄存器)是控制器的 dword 或 qword 属性。该属性可能具有读、写或读/写访问权限。除非在传输特定规范中另有说明,否则主机应使用为该寄存器指定的宽度和位于该寄存器开头的偏移量来访问该寄存器。所有reserved寄存器和寄存器中的所有reserved位都是只读的,读取时返回 0h。寄存器可以通过 Property Get 命令读取,使用基于消息传输模型的控制器通过 Property Set 命令写入。对于使用基于内存传输模型的控制器,请参阅适用的 NVMe Transport binding规范以了解访问方法和规则(例如,NVMe PCIe Transport Specification)。
Figure 35 描述了控制器的寄存器映射。
不支持以两个或多个寄存器的任何部分为目标的访问。
软件不应依赖于返回 0h。


以下约定用于描述所有传输模型的控制器寄存器。对于标记为reserved的所有位,硬件应返回“0”,主机软件应将所有reserved位和寄存器写入值 0h
使用以下术语和缩写:
RO Read Only
RW Read Write
RWC Read/Write ‘1’ to clear
RWS Read/Write ‘1’ to set
Impl Spec Implementation Specific – 控制器可以自由选择其实现。
HwInit 默认状态取决于 NVM Express 控制器和系统配置。
Reset 此列指示在第 3.7.2 节中定义的 Controller Level Reset 后的字段值。
对于某些字段,该字段是 RW、RWC 还是 RO 是特定实现的;通常显示为 RW/RO 或 RWC/RO,表示如果不支持该功能,则该字段是只读的。
当文档中引用字段时,使用的约定是“Property Symbol.Field Symbol”,即寄存器标签.字段标签。例如,PCI 命令寄存器 Parity Error Response Enable 位由名称 CMD.PEE 引用。如果该字段是位数组,则该字段被称为“Property Symbol.Field Symbol (数组到元素的偏移量)”。当文档中提到子字段时,使用的约定是“Property Symbol.Field Symbol.Sub Field Symbol”。例如,当 Controller Capability 属性内的 Controller Ready Modes Supported 字段的 Controller Ready With Media Support 子字段时,该子字段由名称 CAP.CRMS.CRWMS 引用。
3.1.3.1Offset 0h: CAP – Controller Capabilities
此寄存器指示controller向host软件展示的基本capabilities。





3.1.3.2Offset 8h: VS – Version
此寄存器指示控制器支持的 NVM Express 基本规范的主要、次要和第三版本。该规范的有效版本是:1.0、1.1、1.2、1.2.1、1.3、1.4 和 2.0。
3.1.3.2.1VS Value for 1.0 Compliant Controllers

3.1.3.2.2VS Value for 1.1 Compliant Controllers

3.1.3.2.3VS Value for 1.2 Compliant Controllers

3.1.3.2.5 VS Value for 1.3 Compliant Controllers

3.1.3.2.6VS Value for 1.4 Compliant Controllers


本文详细解读了NVMExpress控制器中的关键寄存器,包括ControllerCapabilities、Version、Interrupts、Configuration、Status等,介绍了不同版本的兼容性、中断管理、配置选项和状态指示。对于开发者来说,这是理解NVMe控制器操作和配置的基础指南。
9474

被折叠的 条评论
为什么被折叠?



