管理命令集与操作 - 第192页
NVME2.0协议解读 1 min read

管理命令集与操作 - 第192页

Blog Author

我们继续深入分析 NVM Express® Base Specification Revision 2.0b 第 181 页的内容,重点关注 SMART / Health Information Log Page(LID = 02h) 的字段定义和相关数据。


✅ 一、SMART / Health Information Log Page 结构(LID = 02h)

这个日志页提供了关于 NVM 子系统的健康状态SMART 数据,通过以下字段对存储设备的健康情况进行监控。具体字段如下:

📌 Percentage Used(使用百分比) - 字段 05

字段 描述
Percentage Used 这个字段提供了 NVM 子系统的预估寿命使用百分比,它基于实际使用情况和制造商对 NVM 寿命的预测。
值为 100 时表示估算的 NVM 寿命已完全消耗,但并不一定表示 NVM 子系统发生故障。
该值可以超过 100,超过 254 的值应表示为 255。
该值每小时更新一次(当控制器不处于睡眠状态时)。

参考:该字段符合 JEDEC JESD218A 标准,用于 SSD 设备的寿命和耐久性测量。


📌 Endurance Group Critical Warning Summary(耐久组关键警告摘要) - 字段 06

该字段指示 耐久组(Endurance Group) 的关键警告。每一位代表一种警告类型,多个位可以同时设置为 1

字段 描述
Critical Warning 该字段表示与某些耐久组相关的关键警告。
当某个警告在一个或多个耐久组中被设置为 1 时,相应的警告位也会在此字段中设置为 1
Bits 定义 描述
7:4 Reserved 保留
3 Read-Only Mode 如果为 1,表示一个或多个耐久组中的命名空间被设置为只读模式,而不是由于命名空间的写保护状态变化(参见 8.12.1)。
2 Reliability Degradation 如果为 1,表示一个或多个耐久组的可靠性因介质相关错误或内部错误而下降。
1 Reserved 保留
0 Spare Capacity Below Threshold 如果为 1,表示一个或多个耐久组的可用备用容量已低于阈值。

关键警告:当这些警告出现时,它们可能触发 异步事件通知


📌 Data Units Read(读取的数据单元) - 字段 47:32

该字段表示主机从控制器读取的 512 字节数据单元数,不包括元数据。

字段 描述
Data Units Read 表示通过处理 SMART Data Units Read Command 时读取的 512 字节数据单元数。该值按千位计量(例如:值为 1 表示读取了 1,000 个 512 字节单元)。
如果该字段的值为 0h,则表示未报告 SMART 数据单元的读取数。

📌 Data Units Written(写入的数据单元) - 字段 63:48

该字段表示主机向控制器写入的 512 字节数据单元数,不包括元数据。

字段 描述
Data Units Written 表示通过处理 User Data Out Command 时写入的 512 字节数据单元数。
该值按千位计量(例如:值为 1 表示写入了 1,000 个 512 字节单元)。
如果该字段的值为 0h,则表示未报告 SMART 数据单元的写入数。

📌 Host Read Commands(主机读取命令) - 字段 79:64

该字段表示主机发起的 SMART Host Read Commands 数量。

字段 描述
Host Read Commands 表示已完成的主机读取命令的数量。

✅ 二、健康监控与性能计算

  1. SMART 数据:该字段为评估 NVM 子系统健康 提供关键信息,包括使用百分比、耐久性、读取/写入的数据单元、主机读取命令等。

  2. 健康警告Critical Warning 字段直接反映了 NVM 子系统的健康状况,尤其是存储介质是否出现问题,是否进入只读模式等。

  3. 性能计算:通过 Data Units ReadData Units Written 字段,能够计算出 I/O 的每秒操作数以及带宽。

  4. 温度监控:通过复合温度字段(Composite Temperature),可以监控设备的当前温度,若温度超过设定阈值,还可以触发异步事件进行温度过热或过冷的警告。


✅ 三、学习建议与应用

模块 建议
Percentage Used 字段分析 监控 NVM 子系统的健康状态,了解耐久性消耗的程度,并防范可能的失败风险。
Endurance Group 警告 关注耐久组的健康,特别是读写性能和剩余容量。
读取/写入数据单元监控 使用 Data Units Read/Write 字段监控存储系统的 I/O 活动和带宽表现。
主机读取命令 根据 Host Read Commands 字段了解主机与控制器之间的交互频率,为系统优化提供依据。

如果你需要:

  • SMART 数据解析图,帮助你快速理解各个字段的健康监控作用
  • 性能计算示例图,展示如何通过读取/写入数据单元计算带宽与 I/O 每秒操作数

我可以立即为你整理并绘制图解,帮助你理解 NVM Express 存储设备的健康监控与性能计算。你需要哪一部分?