NVMe架构与操作原理 - ✅ 一、命名空间共享与控制方式 (第22页)
NVME2.0协议解读 1 min read

NVMe架构与操作原理 - ✅ 一、命名空间共享与控制方式 (第22页)

Blog Author

你现在阅读的是 NVMe Base Specification 2.0b 的术语定义(Definitions)第 11 页,这一页主要聚焦在命名空间访问控制、控制器类型(虚拟化与持久化)、电源状态、数据擦除安全、机械介质特性(旋转存储)等关键术语上。这些术语在 第 3 章控制器与命名空间结构第 8 章扩展能力 中将频繁出现,尤其在企业级虚拟化环境、安全场景与机械混合设备支持方面尤为关键。

我来逐条带你进行中文深入讲解,并补充实战场景与规范位置索引:


✅ 一、命名空间共享与控制方式

🔹 private namespace(私有命名空间)

此类命名空间只能被一个控制器挂载(attach),即“私有控制器视图”。

📘 应用场景: - 多控制器系统中,每个虚拟机有独立磁盘; - 强隔离的数据访问需求。

📖 参考字段:Figure 280 – Identify Namespace 中的 NMIC(Namespace Multipath I/O and Sharing Capabilities)


🔹 shared namespace(共享命名空间)

命名空间可以被多个控制器同时 attach,实现多主机、多路径并发访问。

📘 应用场景: - 多路径 I/O(Multipath I/O) - 高可用性方案中,一个 namespace 被多个控制器同时访问

📖 依然由 Figure 280 中 NMIC 位域定义


✅ 二、控制器属性机制与电源状态

🔹 property(属性)

指 PCIe 环境下的 控制器寄存器映射区域,用于读写控制器的低层状态或配置。

📘 举例: - CAP 控制器能力(Controller Capabilities) - CC 控制器配置(Controller Configuration) - CSTS 控制器状态(Controller Status)

📖 定义详见 第 2.3 节 控制器寄存器


🔹 Runtime D3(RTD3,运行时 D3 电源移除)

在运行时进入 PCIe 的 D3cold 状态:主电源断开,辅助电源可能保留或移除

📘 应用场景: - 移动设备省电; - 控制器掉电安全处理(如进入省电状态后断电)

📖 详见 8.15.4 Power States 和 8.15 节电源管理


✅ 三、安全与虚拟化控制器

🔹 sanitize operation(擦除操作)

对用户数据进行不可恢复性的清除操作,包括 cache 与介质。符合安全标准(ISO/IEC 27040)。

📘 三种机制: - Overwrite(覆写) - Block Erase(块擦除) - Crypto Erase(加密擦除)

📖 详见:第 5.24 Sanitize Command + 第 8.21 扩展能力


🔹 secondary controller(二级控制器)

依赖于 primary controller 进行资源管理的虚拟控制器。

📘 常见于: - PCIe SR-IOV 虚拟化结构中,VF(Virtual Function)作为 secondary controller; - 控制器资源如队列数、命名空间分配由主控管理。

📖 详见 8.26 Virtualization Enhancements


🔹 static controller(静态控制器)

dynamic controller 相对,其特性为:

特性 内容
预先存在 控制器 ID 是固定的
保持状态 连接断开后仍保留特性设置(如 Feature 设置)

📘 应用于持久资源映射,例如物理功能(PF)控制器的长期管理配置。


✅ 四、旋转存储支持与状态切换

🔹 rotational media(旋转介质)

指机械式磁盘介质(如 HDD),以旋转盘片存储数据。

📖 详见 第 8.20 节 Rotational Media


🔹 spindown(减速)

将机械磁盘从活跃状态降为非活跃状态(关闭旋转)。

🔹 spinup(加速)

机械磁盘从非活跃状态重新启动旋转。

📘 在支持混合介质的系统中,控制器可以管理“某个 Endurance Group”中的磁盘是否旋转。

📖 场景位置:8.20.2 节 - Spin Control for Endurance Groups


✅ 五、数据定义

🔹 user data(用户数据)

储存在命名空间中、主机可以写入和读取的全部内容(可能包含元数据)。

📘 在 NVM 命令集中(如 WriteRead)所传输的数据都属于 user data。

🧩 补充: - 若使用 Metadata,控制器也可以将元数据作为用户数据一部分管理; - FLBAS 字段定义了数据格式(Data+Metadata组合方式)


✅ 总结表:术语概览

术语 中文释义 适用场景
private namespace 只能挂载到一个控制器的命名空间 虚拟机磁盘隔离
shared namespace 可同时由多个控制器挂载 多路径/多主机共享
property 控制器配置与状态寄存器 CAP、CC、CSTS
RTD3 控制器掉电状态(D3cold) 移动设备、省电模式
sanitize operation 不可恢复性清除用户数据 安全要求场景(如金融、军事)
secondary controller 依赖主控管理的虚拟控制器 SR-IOV VF
static controller 预设控制器 ID,状态持久 持久资源分配
rotational media 旋转式磁盘介质 混合存储(SSD+HDD)
spindown/spinup 旋转状态切换 节能控制、启动控制
user data 主机可操作的数据区域 命名空间存储内容

🔍 后续推荐学习方向:

你已掌握虚拟化结构、命名空间共享机制、电源状态、数据安全控制的关键术语,建议下一步进入:

  1. 第 3.2 节 – 命名空间、NVM Set、Endurance Group 的结构细节
  2. 第 8.21 节 – Sanitize 擦除机制的三种方式与状态流程
  3. 第 8.26 节 – Virtualization Enhancements:Primary / Secondary 控制器行为图解

📌 如果你需要,我可以帮你画出: - 命名空间共享与多控制器映射图 - Sanitize 操作状态机图 - Primary ↔ Secondary 控制器资源分配流程图

你对哪个结构或机制最感兴趣?我可以为你下一步定制讲解图示。