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

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

Blog Author

我们继续深入分析 图 97:Controller Health Data Structure (CHDS) 的下半部分,它是 NVMe-MI 规范中 Controller Health Status Poll 命令返回结构的核心组成部分。


🔍 CHDS 字节 04 ~ 10:状态与健康字段详解


✅ 字节 04 – NVM Subsystem Reset Occurred (NSSRO)

  • 作用: 指示控制器是否经历了 非断电引发的 NVM Subsystem Reset,但未触发固件激活。
  • 置位条件:
  • 复位发生的原因 ≠ 加电。
  • 且没有激活新固件镜像。
  • 特殊说明:
  • 如果复位源于加电或触发了新固件激活,这个位应被清除为 0
  • 此位在 HwInit 后被置位(即硬件初始化时的默认行为可能受影响)。

✅ 字节 03:02 – Shutdown Status (SHST)

  • 作用: 映射自 NVM Express Base 规范中的 CSTS.SHST 字段。
  • 含义: 表示控制器是否正在关闭、已经关闭,或尚未关闭:
  • 00b: 未关闭
  • 01b: 正在关闭
  • 10b: 已完成关闭
  • 11b: 保留

✅ 字节 01 – Controller Fatal Status (CFS)

  • 映射自: CSTS.CFS
  • 含义: 控制器出现严重错误。
  • 置位行为: 一旦置位,表示控制器无法继续正常操作,通常需复位或更换设备。

✅ 字节 00 – Ready (RDY)

  • 映射自: CSTS.RDY
  • 含义: 控制器是否就绪可接受命令。

🌡️ 温度与健康监测字段

✅ 字节 05:04 – Composite Temperature (CTEMP)

  • 单位: 开尔文(Kelvin)
  • 来源: 控制器的 SMART / Health Info 日志页。
  • 说明: 指示当前控制器及其关联命名空间的组合温度。

✅ 字节 06 – Percentage Used (PDLU)

  • 含义: 表示基于厂商预估寿命的剩余使用寿命百分比。
  • 来源: SMART 日志中的 Percent Used 字段。
  • 用途: 生命周期监控,100% 表示即将达到寿命极限。

✅ 字节 07 – Available Spare (SPARE)

  • 含义: 剩余备用块百分比(0%~100%)。
  • 来源: SMART 日志中的 Available Spare 字段。

✅ 字节 08 – Critical Warning (CWARN)

  • 定义: 映射自 SMART 中的 Critical Warning 字段。
  • 每一位含义:
名称 说明
7:6 Reserved 保留位
5 PMRE 持久内存区域错误(与 PMRRO 同义)
4 VMBF 易失性备份失败(如断电保护失败)
3 RO 所有介质只读(AMRO)
2 RD NVM 子系统可靠性下降(NDR)
1 TAUT 温度异常(过高或过低)
0 ST 备用空间不足(ASCBT)
  • 所有这些位的语义均来自 SMART / Health Information Log 页,反映设备健康临界问题。

🧩 字节 10:09 – Controller Health Status Changed (CHSC)

  • 含义: 指示哪些控制器健康相关位在轮询期间有变化。
  • 来源: Figure 98 中定义的 Controller Health Status Changed Flags 字段。
  • 用途: 精确报告变更位,而不是当前位值,便于区分 是否“新”发生了某种状态变化

📌 总结与建议

字段 作用 关键说明
NSSRO 非电源引发的子系统复位检测 排除电源恢复和固件激活
SHST 控制器关闭状态 分三种状态编码
CFS 致命错误检测 指示需强制恢复
CTEMP / PDLU / SPARE 实时温度与老化监控 来源于 SMART 日志页
CWARN 临界告警集合 位图精确表示各类风险
CHSC 状态变更追踪 与具体错误值不同,侧重“变化”监控

是否需要我们进一步分析 图 98:Controller Health Status Changed Flags 字段的结构与用途?那将帮助你理解 CHDS 中 CHSC 字段的来源及其轮询清零逻辑。是否继续?