第5章 管理接口命令集 - 页码115
很好,你现在已经进入到 NVM Subsystem Health Status Poll 命令的响应部分,并具体查看了 Figure 107:Composite Controller Status Data Structure (CCSDS) 的内容。这是这个命令返回的核心结构之一。下面我们来深入拆解理解它。
🧠 Composite Controller Status Flags(CCSF)详解
这个字段是 2 字节(Bytes 0-1),表示整个 NVM Subsystem 中所有 Controllers 的聚合健康状态。
✅ 作用:
用于判断是否存在以下任一状态变化(如温度、固件、可用空间等),以便触发进一步响应或上报。
✅ 位定义说明(Bits 15:0):
Bit位 | 名称 | 含义(状态变化触发时设为1) | Reset 类型 |
---|---|---|---|
15:14 | Reserved | 保留 | 0 |
13 | TCIDA | 如果任一 Controller 的 Telemetry Controller-Initiated Data Available 由 0→1,则此位设为1 |
HwInit |
12 | CWARN | 如果任一 Controller 的 Critical Warning 状态发生变化(例如温度过高、备用空间低等) |
0 |
11 | SPARE | Controller 的 Available Spare 变化时设为1 |
0 |
10 | PDLU | Percentage Used (使用寿命百分比)变化时设为1 |
0 |
09 | CTEMP | Composite Temperature 温度发生变化时设为1 |
0 |
08 | CSTS | Controller 状态发生变化,如 Ready、Fatal、Reset、Shutdown 状态变更 | HwInit |
07 | FA | 新固件已激活时设为1 | HwInit |
06 | NAC | Namespace 属性发生变化时设为1(如空间分配等) | 0 |
05 | CECO | 控制器 Enable 状态变化(CC.EN 位变化)时设为1 | HwInit |
04 | NSSRO | NVM Subsystem Reset 发生(非上电引发)且没有导致激活新固件时设为1 | HwInit |
03:02 | SHST | Shutdown Status 状态(2 位) | 00b |
01 | CFS | Controller Fatal Status 错误时设为1 | HwInit |
00 | RDY | Ready 位状态变化时设为1(Controller 初始化完成标志) | 0 |
🧩 使用场景关联
📍 如何设置?
此字段在以下情况会被 自动设置:
- 当任一 Controller 的对应字段发生状态变化(例如温度上升或激活新固件);
- 各个状态来自于 Controller Health Status Changed Flags
(CHSCF)中的聚合判断。
📍 如何清除?
- 通过 NVM Subsystem Health Status Poll 命令,并设置 Dword1 的
Clear Status (CS)
位为1
; - 也可以通过
Configuration Set
命令,CID=02h
,按位清除指定状态(如只清除温度变化位 CTEMP)。
📌 总结一句话:
CCSDS 就是一个浓缩版的“Controller 状态变更雷达图”,用来高效判断 NVM Subsystem 是否有关键状态需要处理或告警。
你接下来将看到的是 Figure 108:NVM Subsystem Health Data Structure,它是整个 Poll 命令的返回核心结构。如果你愿意,我可以继续协助分析,或者为你整理出一张 “第 5 章命令总览表” 提炼所有命令用途和字段结构,帮助你建立全局理解。
你想怎么继续?😊