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

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

Blog Author

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

NVM集合与相关命名空间

  • NVM集合(NVM Sets) 是在NVM子系统中对NVM设备进行逻辑分组的一种方式。每个NVM集合包含一组命名空间,这些命名空间的属性和行为受其所属NVM集合的管理。

NVM集合的相关命令

在协议中,有一部分管理命令是NVM集合感知的(NVM Set Aware),这些命令与NVM集合的操作密切相关。具体来说,这些命令包括:

  1. Identify命令
  2. 在“Identify Namespace”数据结构中,包含与命名空间相关联的NVM集合标识符(NVM Set Identifier)。
  3. “NVM Set List”数据结构包括每个NVM集合的属性。

  4. 容量管理命令

  5. 创建NVM集合(Create NVM Set)操作返回新创建的NVM集合标识符。
  6. 删除NVM集合(Delete NVM Set)操作需要提供要删除的NVM集合标识符。

  7. 命名空间管理命令

  8. 创建命名空间时,包括一个由主机指定的NVM集合标识符字段。

  9. 获取特性与设置特性命令

  10. Read Recovery Level特性指定了关联的NVM集合标识符。
  11. Predictable Latency Mode Config特性也指定了关联的NVM集合标识符。
  12. Predictable Latency Mode Window特性同样指定了关联的NVM集合标识符。

如何使用 Identify 命令查询NVM集合

主机可以通过以下方式查询NVM集合及其属性:

  • 发出 Identify 命令并设置 CNS = 04h 来检索 NVM 集合列表。
  • 每个NVM集合包含以下属性:
  • NVM集合标识符:与NVM集合相关联的标识符。
  • NVM集合的最佳写入大小:推荐的写入大小,用于优化写入操作。
  • NVM集合的总容量:NVM集合的总存储空间。
  • NVM集合的未分配容量:尚未分配给命名空间的容量。

NVM集合标识符

  • NVM集合标识符(NVM Set Identifier)是一个16位的值,用来标识与某个操作相关的NVM集合。NVM集合标识符在与NVM集合相关的管理命令中指定。
  • 标识符的值为 0h 是保留的,并且不是有效的NVM集合标识符。

总结:

  1. NVM集合感知命令:特定的管理命令(例如Identify、Capacity Management、Namespace Management等)与NVM集合相关联,支持NVM集合标识符。
  2. 命名空间和NVM集合的关系:每个命名空间都属于一个NVM集合,而NVM集合定义了命名空间的容量和属性。多个命名空间可以共享一个NVM集合。
  3. NVM集合标识符:每个NVM集合都有一个唯一的标识符,主机和控制器通过该标识符进行管理和操作。

这些操作和命令对于在NVM子系统中管理命名空间、NVM集合以及它们的属性至关重要,确保数据的有效管理和存储。