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

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

Blog Author

我们继续深入分析 NVM Express® Base Specification Revision 2.0b 第 187 页的内容,特别是关于 Commands Supported and Effects Data Structure(命令支持与效果数据结构)Device Self-test Log Page(设备自检日志页) 的详细字段解析。


✅ 一、Commands Supported and Effects Data Structure(命令支持与效果数据结构)

📌 功能:

该数据结构描述了每个命令的详细影响,包括它是否会修改用户数据内容,并指示命令是否被控制器支持。

📌 字段解析:

  1. Logical Block Content Change(逻辑块内容变化,LBCC)
  2. 如果该位为 1,则表示该命令可能会修改一个或多个命名空间中的用户数据内容。如果该位为 0,则表示该命令不会修改任何命名空间的用户数据内容。
Bits 描述
01 Logical Block Content Change:如果为 1,表示命令可能会修改用户数据内容。用户数据内容变化包括对用户数据的写入。

注意:该字段适用于所有用户数据内容的变化,例如写入用户数据时。


  1. Command Supported(命令支持,CSUPP)
  2. 如果该位为 1,则表示该命令被控制器支持。如果该位为 0,则表示该命令不被控制器支持,且该结构中的所有其他字段将被清零。
Bits 描述
00 Command Supported:如果为 1,表示该命令被控制器支持。

✅ 二、Device Self-test Log Page(设备自检日志页,LID = 06h)

📌 功能:

该日志页用于指示设备自检操作的状态和完成百分比,并报告 过去 20 次自检操作的结果。它有助于检测和诊断设备在自检过程中可能存在的故障。

📌 字段解析:

  1. Current Device Self-Test Operation(当前设备自检操作)
  2. 该字段定义了当前进行的设备自检操作。字段的值表示自检操作的类型,范围从无自检到扩展自检。
Bits 描述
Bits 3:0 指示当前自检操作的状态:
0h 无自检操作正在进行
1h 正在进行短自检操作
2h 正在进行扩展自检操作
3h-Dh 保留
Eh 厂商特定
Fh 保留

注意:如果设备自检操作正在进行中(即状态为 1h2h),则控制器不能将该字段设置为 0h,直到创建新的自检结果数据结构。


  1. Current Device Self-Test Completion(当前设备自检完成度)
  2. 该字段定义当前设备自检操作的完成状态。它以百分比的形式表示已完成的自检操作的进度。
Bits 描述
Bits 6:0 指示设备自检操作完成的百分比。例如,25 表示设备自检完成了 25%,剩余 75% 未完成。如果当前没有自检操作(即 Current Device Self-Test Operation 字段为 0h),则该字段无效。

  1. Newest Self-test Result Data Structure(最新自检结果数据结构)
  2. 该字段包含最新一次自检操作(完成或中止)的结果数据结构。自检结果包括操作的状态、是否成功等信息。
字段 描述
Newest Self-test Result Data Structure 包含最新完成或中止的自检操作结果。
  1. 2nd newest Self-test Result Data Structure(第二次最新自检结果数据结构)
  2. 该字段包含第二次最新自检操作的结果数据结构。如果自检操作少于 20 次,该字段会被清零。
字段 描述
2nd newest Self-test Result Data Structure 包含第二次最新的自检操作结果。

  1. 过去 20 次自检结果数据结构(19th newest Self-test Result Data Structure)
  2. 自检结果数据结构会按照时间顺序存储,最多存储 20 次自检操作的结果。如果自检操作少于 20 次,未使用的自检结果数据结构字段会被设置为 Fh

✅ 三、总结与学习建议

模块 建议
命令支持与效果数据结构 通过 Logical Block Content Change(LBCC)Command Supported(CSUPP) 字段,了解命令对数据内容的修改情况及命令是否被控制器支持。
设备自检日志页 学习如何根据 Device Self-test Log 字段监控设备的自检状态,及时发现设备在自检过程中可能出现的故障或不稳定性。
特别关注自检进度和结果数据结构,帮助诊断系统问题。
自检操作的结果追踪 通过 Newest Self-test Result Data Structure 字段,了解设备的最新自检操作结果,并掌握如何跟踪过去的自检结果。

如果你需要:

  • 设备自检操作流程图,展示设备如何进行自检并报告结果
  • 命令支持与效果变化图,帮助你理解命令如何影响用户数据以及命令的支持情况

我可以为你绘制这些图表,帮助你更好地理解 NVM Express 存储设备的命令执行与自检机制。你需要从哪个部分开始呢?