持久内存与安全机制 - 第381页
NVME2.0协议解读 1 min read

持久内存与安全机制 - 第381页

Blog Author

我们继续对 NVMe 2.0b 第 370 页 的内容进行中文深入分析,聚焦于 Namespace Write Protection(命名空间写保护) 功能的配置、状态流转和控制机制。


🔐 8.12 命名空间写保护(Namespace Write Protection)详解

命名空间写保护是控制器支持的一个可选能力,允许主机根据需要控制某个命名空间是否允许写入。


✅ 一、支持能力判断依据:NWPC 字段

  • Identify Controller Data Structure 中的 NWPC 字段(Namespace Write Protection Capabilities)
  • 用于报告控制器是否支持命名空间写保护

✅ 二、命名空间的四种写保护状态(Figure 429)

状态 描述 断电后是否保留 控制器重置后是否保留
No Write Protect 默认状态,不写保护 ✅ 是 ✅ 是
Write Protect 启用写保护 ✅ 是 ✅ 是
Write Protect Until Power Cycle 写保护,断电失效 ❌ 否 ✅ 是
Permanent Write Protect 永久写保护,不可恢复 ✅ 是 ✅ 是
  • 初始状态:每个新创建的命名空间,默认处于 No Write Protect 状态。

🔄 三、状态转换规则(Figure 430)

所有状态转换都基于 Set Features 命令 发起,除非特别说明。

🚦 状态流转图(简要图解)

                 +-----------------------------+
                 |                             |
        +--------v----------+         +--------+----------+
        |  No Write Protect | ------> |  Write Protect     |
        +--------+----------+         +--------^----------+
                 |                             |
                 v                             v
        +--------+----------+         +--------+----------+
        |  Write Protect    | <-----> |  Write Protect Until Power Cycle |
        +--------+----------+         +--------+----------+
                 |
                 v
        +--------+----------+
        | Permanent Write Protect |
        +------------------------+
  • 一旦进入 Permanent Write Protect 状态,无法再转回任何其他状态。
  • “Write Protect Until Power Cycle” 断电后会回到 “No Write Protect”。

🔒 四、状态更改的权限控制:NWPA(Authentication Control)

某些状态转换(特别是进入更强写保护状态)需要认证机制:

  • 涉及状态:
  • Write Protect Until Power Cycle
  • Permanent Write Protect

  • 控制机制:

  • 是否允许进入这些状态是由 Namespace Write Protection Authentication Control(NWPA)机制控制。
  • 定义详见 第 8.18 节(后续内容将解读)

⚠️ 五、注意事项与限制

  • 命名空间写保护 不与外部写保护系统(如 TCG)强绑定,混合使用时的行为在 NVMe 规范中未定义。
  • 写保护是 控制器级别实现,某些行为可能受厂商自定义逻辑影响。

🧪 总结知识点表格

项目 内容
写保护能力支持 通过 Identify ControllerNWPC 字段确认
初始状态 所有新建命名空间默认处于 No Write Protect 状态
状态转移 使用 Set Features 命令控制
永久写保护 一旦启用,无法取消
写保护验证控制 某些状态(如永久保护)受 NWPA 限制
兼容性建议 不建议混合使用 NVMe 写保护与外部系统(如 TCG)

如果你需要我:

  1. 进一步讲解 Set Features 命令如何设定这些写保护状态
  2. 展示状态转换的 实际命令示例(带字段);
  3. 或者深入分析 8.18 节中的认证机制(NWPA)

请告诉我,我们可以逐步拆解。是否继续?或者你需要一张汇总表/流程图?