命名空间管理与配置 - 第128页
以下是对 《NVM Express® Base Specification, revision 2.0b》第117页 中 NVM 子系统关机与域级关机 相关内容的中文深入分析与教学讲解:
🌟 NVM 子系统关机流程(NVM Subsystem Shutdown)
✅ 正常与突发 NVM 子系统关机
正常 NVM 子系统关机:
- 发起方式:
- 主机将值
41627074h(十六进制"Abpt")写入 NSSD.NSSC 字段(当CAP.CPS设置为11b)。 -
向管理端点(Management Endpoint)发送 NVMe-MI Shutdown 命令,指明是正常关机。
-
正常关机时的处理:
- 如果有一个未完成的 Asynchronous Event Request(AER) 命令,控制器必须先发出 正常 NVM 子系统关机事件,然后再进行关机。
突发 NVM 子系统关机:
- 发起方式:
- 主机将值
41627074h(十六进制"Abpt")写入 NSSD.NSSC 字段,指示突发关机。 - 向管理端点发送 NVMe-MI Shutdown 命令,指明是突发关机。
🧠 安全断电条件:
- 在所有控制器完成关机处理后,任何控制器的
CSTS.SHST字段 设置为10b(表示关机处理完成)时,可以安全断电整个 NVM 子系统。 - 控制器关机完成后,即可安全断电,直到发生 NVM 子系统重置(Subsystem Reset)。
🔄 NVM 子系统重置与控制器行为
- NVM 子系统重置:
- 当 NVM 子系统重置发生时,
CSTS.SHST字段会被清零(00b)。 - 任何类型的控制器重置(如 Controller Level Reset)都不会影响正在进行的 NVM 子系统关机操作。
🌍 多域 NVM 子系统的关机流程(Domain Shutdown in a Multiple Domain NVM Subsystem)
✅ 多域 NVM 子系统中的关机
在支持多个域(Multiple Domain)NVM 子系统的情况下,每个域都可以单独进行关机操作。以下是多域子系统的关机流程:
正常关机:
- 发起方式:
- 主机将值
41627074h(十六进制"Abpt")写入 NSSD.NSSC 字段(当CAP.CPS设置为10b)。 -
向管理端点发送 NVMe-MI Shutdown 命令,指明是正常关机。
-
关机处理:
- 如果有未完成的 Asynchronous Event Request(AER) 命令,控制器必须发出正常的 NVM 子系统关机事件。
突发关机:
- 发起方式:
- 主机将值
41627074h(十六进制"Abpt")写入 NSSD.NSSC 字段,指示突发关机。 - 向管理端点发送 NVMe-MI Shutdown 命令,指明是突发关机。
🧠 安全断电条件:
- 在所有控制器关机处理完成后,任何控制器的
CSTS.SHST字段 设置为10b时,可以安全断电整个 NVM 域。 - 控制器关机完成后,直到发生 NVM 子系统重置,域内控制器可以安全断电。
🚨 NVM 子系统关机的特殊处理与重置机制
✅ NVM 子系统关机中的特殊行为:
-
NVM 子系统重置(NVM Subsystem Reset):
当 NVM 子系统重置发生时,CSTS.SHST字段被清零(00b),并且会清除所有控制器的关机状态。 -
控制器重置与关机:
- 控制器级重置(Controller Level Reset) 不会影响 NVM 子系统关机的进行,但会清空控制器的关机状态。
📘 总结与关键点:
| 内容板块 | 要点总结 |
|---|---|
| 正常关机与突发关机 | 正常关机:主机通过写入 41627074h(Abpt)或发出 NVMe-MI 命令发起关机。突发关机:相同的操作,但指示控制器立即关机。 |
| NVM 子系统安全断电 | 只有在所有控制器的 CSTS.SHST 为 10b 且关机完成时,才能安全断电。 |
| 子系统与控制器重置 | 子系统重置会清除关机状态;控制器级重置不会影响关机流程。 |
| 多域子系统关机 | 多个域内的控制器关机操作类似,关机完毕后可以安全断电,直到子系统重置发生。 |
如果你希望继续分析 Asynchronous Event Request 命令的具体作用,或更深入理解 NVM Subsystem Reset 的处理机制,欢迎告诉我!我可以帮助你更细致地理解每个部分的交互与流程。