第5章 管理接口命令集 - 页码115
NVMe-MI 1 min read

第5章 管理接口命令集 - 页码115

Blog Author

很好,你现在已经进入到 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 章命令总览表” 提炼所有命令用途和字段结构,帮助你建立全局理解。

你想怎么继续?😊