命名空间管理与配置 - 第134页
NVME2.0协议解读 1 min read

命名空间管理与配置 - 第134页

Blog Author

以下是对 《NVM Express® Base Specification, revision 2.0b》第123页 中关于 水平组织的双 NAND NVM 子系统(Horizontally-Organized Dual NAND NVM Subsystem)容量报告(Capacity Reporting) 的详细中文解析与学习讲解。


🌟 水平组织的双 NAND NVM 子系统(Horizontally-Organized Dual NAND NVM Subsystem)

性能目标:分层存储与带宽优化

在该架构中,目标是通过优化带宽同时支持 SLCQLC 的 NAND 类型。具体实现方式为:

  1. NVM Set 和 Endurance Group 的分配
  2. Endurance Group 1 包含高性能的 SLC 媒体单元,提供较高的耐久性和更高的性能。
  3. Endurance Group 2 包含大容量的 QLC 媒体单元,提供较低的耐久性,但具有更高的存储密度。

  4. 容量调整系数(Capacity Adjustment Factor)

  5. 对于 SLC NVM Set,该调整系数为 1600,意味着该组的存储密度较低,但性能高。
  6. 对于 QLC NVM Set,该调整系数为 100,容量更大,但性能相对较低。

具体结构(参见 Figure 106)

组件 描述
NVM Set 1 含有高性能的 SLC 存储单元,容量较小,但性能较好。
NVM Set 2 含有大容量的 QLC 存储单元,性能较低,但存储密度较大。
Endurance Group 1 完全由 SLC 存储单元构成,适用于高性能场景。
Endurance Group 2 完全由 QLC 存储单元构成,适用于大容量存储需求。

容量配置描述符

  • 第一个 Endurance Group 配置描述符
  • 指示 SLC 媒体单元的容量调整系数为 1600
  • 包含 1 个 NVM Set 标识符4 个通道配置描述符,每个通道配置包含 1 个媒体单元配置描述符

  • 第二个 Endurance Group 配置描述符

  • 指示 QLC 媒体单元的容量调整系数为 100
  • 包含 1 个 NVM Set 标识符4 个通道配置描述符,每个通道配置包含 3 个媒体单元配置描述符

📊 容量报告(Capacity Reporting)

容量报告模型的变化:

NVM 子系统如何报告其容量依赖于是否支持多个域。根据不同的子系统结构和支持的功能,容量报告会有所不同。

1. 不支持多域的 NVM 子系统

  • 在这种情况下,容量报告由 Identify Controller 命令返回,其中包括:
  • TNVMCAP 字段:描述 NVM 子系统的总容量。
  • UNVMCAP 字段:描述子系统中的可用容量。
  • MEGCAP 字段(如果非零):表示最大支持的实体(如耐久组、NVM 集或命名空间)的大小。

2. 支持多域的 NVM 子系统

  • 当子系统支持多个域时,Identify Controller 命令返回的信息描述了由当前控制器所访问的容量。
  • 主机可以使用 Identify 命令来访问 Domain List 数据结构(参见 §5.17.2.17),以确定该控制器可访问的域及每个域的容量信息。

3. 支持耐久组的 NVM 子系统

  • 如果控制器支持耐久组(Endurance Groups),主机可以通过 Identify 命令访问 Endurance Group List 数据结构(参见 §5.17.2.18),确定控制器可访问的耐久组。
  • 主机还可以使用 Get Log Page 命令 来访问 Endurance Group Information log page(参见 §5.16.1.10)以获取耐久组的详细容量信息。

🧠 关键点总结

内容 重点
水平组织的双 NAND 子系统 通过 SLCQLC 的混合配置,分别优化高性能和大容量存储,采用分层存储管理。
容量配置描述符 通过 Endurance Group Configuration Descriptors 管理不同的 NVM SetChannel 配置,实现性能优化。
容量报告 根据是否支持多域或耐久组,容量报告的详细信息会有所不同,主机可以通过 Identify 命令来获取相关信息。

如果你希望继续深入分析 耐久组(Endurance Group) 相关数据结构,或想了解 如何通过命令来配置和管理这些容量信息,请随时告诉我!