控制器寄存器与属性配置 - 第80页
NVME2.0协议解读 1 min read

控制器寄存器与属性配置 - 第80页

Blog Author

深入分析 NVM Express® Base Specification, revision 2.0b

3.1.3.28 PMRMSCU – Persistent Memory Region Memory Space Control Upper

这个可选属性与 PMRMSCL 属性一起,指定控制器如何使用主机提供的地址来引用持久内存区域(Persistent Memory Region,PMR)。如果控制器支持持久内存区域的控制器内存空间(PMRCAP.CMSS),则此属性是必需的。如果不支持该功能,则此属性为保留。

字段解析: - CBA (Controller Base Address):这个字段指定持久内存区域的控制器地址范围的64位基地址的高32位部分。持久内存区域的控制器基地址和其大小决定了其控制器地址范围。此地址必须满足以下条件: 1. 控制器地址范围不能大于 2^64 - 1。 2. 如果控制器内存缓冲区(Controller Memory Buffer)的控制器内存空间已启用,则持久内存区域的控制器地址范围与其不重叠。


3.2 NVM Subsystem Entities: Namespaces

在 NVM Express® 规范中,"命名空间"(Namespace)是一个格式化的非易失性存储区域,可以被主机直接访问。每个命名空间都有一个唯一的标识符(NSID),用于控制器提供对该命名空间的访问。

3.2.1.1 Namespace Overview

命名空间是一个被格式化的非易失性内存区域,允许主机访问。每个命名空间由一个唯一的 Namespace ID (NSID) 标识,控制器通过这个 NSID 提供对命名空间的访问。

3.2.1.2 Valid and Invalid NSIDs

有效的 NSID 是一个有效的标识符,用来引用存在的命名空间。除了 NSID 为 0h 或者大于命名空间总数的情况外,任何 NSID 都是有效的。

总结

  • PMRMSCUPMRMSCL 属性配合使用,控制持久内存区域的内存地址空间的启用和引用。
  • 命名空间(Namespace) 是主机可以直接访问的非易失性存储区域,提供数据存储和访问的基本单元。每个命名空间都由一个唯一的 NSID 标识。
  • NSID 有效性: NSID 为 0h 是无效的,其他大于有效命名空间数量的值也会被视为无效。

这些特性帮助 NVM Express 控制器更精细地管理内存区域和存储设备的访问权限。