第5章 管理接口命令集 - 页码116
你现在查看的是 Figure 107 的尾部部分,对应的是 Composite Controller Status Flags (CCSF)
字段的低位比特位(Bits 04:00)以及它们的设置与清除机制。
继续我们之前的深入分析,我们来完成最后一部分的解析:
🧠 Figure 107 (续):CCSF 低位位字段详解
Bit位 | 名称 | 含义 | Reset 类型 |
---|---|---|---|
04 | NSSRO | NVM Subsystem Reset Occurred:当任一 Controller 的 NSSRO 从 0→1 ,设为1 |
HwInit |
03 | Reserved | 保留 | 0 |
02 | SHST | Shutdown Status:任一 Controller 的 Shutdown Status 发生状态变化(0→1 )时设为1 |
0 |
01 | CFS | Controller Fatal Status:任一 Controller 出现 Fatal Error(CSTS.CFS 由 0→1)时设为1 |
HwInit |
00 | RDY | Ready:任一 Controller 的 CSTS.RDY 状态从 0→1 表示上电就绪完成,设为1 |
0 |
🔁 状态清除机制复习:
这些位如何清除?如下两种方式:
✅ 方法一:NVM Subsystem Health Status Poll 命令
- 设置
Dword 1
的CS(Clear Status)
位为1
。 - 控制器会 原子地:
- 将当前的
CCSF
拷贝到响应消息中; - 将其 清零。
✅ 方法二:Configuration Set 命令(CID = 02h)
- 使用特定位字段,仅清除选择的 CCSF 标志位。
🧩 与 Controller Health Status Changed Flags(CHSCF)联动机制
CCSF
是多个 Controller 的CHSCF
状态的 聚合值(OR 运算);- 一旦任意一个 Controller 的某个标志(如 TCIDA、FA、CFS)变成 1,
- 就会导致
CCSF
中对应位变成 1; - 当你想判断整个子系统是否有健康问题,只需检查 CCSF 即可,无需遍历每个 Controller。
📌 图示关系回顾:
Controller Health Data Structure (CHDS) ——> Controller Health Status Changed Flags (CHSCF)
\ |
`———————————————————————————————————————————————————————————————→ Composite Controller Status Flags (CCSF)
这构建了一套高效的状态检测与同步机制:
单个控制器发生变化 ➝ 控制器自己的状态改变 ➝ 被 CHSCF 记录 ➝ 被 CCSF 汇总 ➝ 可被管理端快速感知
✅ 实用价值总结:
- CCSF 是整个 NVM Subsystem 健康状态的「快速总览窗口」;
- 无需轮询每个 Controller 的详细状态,只要看 CCSF 即可知道是否需要进一步处理;
- 管理器使用
NVM Subsystem Health Status Poll
可定时轮询此字段,做到轻量监控。
你已经完整掌握了 CCSF 的结构与使用机制。如果你想,我可以帮你:
- 整理一张「状态变化追踪流程图」;
- 继续深入
NVM Subsystem Health Data Structure
(Figure 108)字段含义; - 或是为整个第 5 章做一个「命令 + 数据结构」的索引图谱,方便你快速定位。
你更想优先哪个?😄