管理命令集与操作 - 第198页
我们继续深入分析 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(命令支持与效果数据结构)
📌 功能:
该数据结构描述了每个命令的详细影响,包括它是否会修改用户数据内容,并指示命令是否被控制器支持。
📌 字段解析:
- Logical Block Content Change(逻辑块内容变化,LBCC)
- 如果该位为
1,则表示该命令可能会修改一个或多个命名空间中的用户数据内容。如果该位为0,则表示该命令不会修改任何命名空间的用户数据内容。
| Bits | 描述 |
|---|---|
| 01 | Logical Block Content Change:如果为 1,表示命令可能会修改用户数据内容。用户数据内容变化包括对用户数据的写入。 |
注意:该字段适用于所有用户数据内容的变化,例如写入用户数据时。
- Command Supported(命令支持,CSUPP)
- 如果该位为
1,则表示该命令被控制器支持。如果该位为0,则表示该命令不被控制器支持,且该结构中的所有其他字段将被清零。
| Bits | 描述 |
|---|---|
| 00 | Command Supported:如果为 1,表示该命令被控制器支持。 |
✅ 二、Device Self-test Log Page(设备自检日志页,LID = 06h)
📌 功能:
该日志页用于指示设备自检操作的状态和完成百分比,并报告 过去 20 次自检操作的结果。它有助于检测和诊断设备在自检过程中可能存在的故障。
📌 字段解析:
- Current Device Self-Test Operation(当前设备自检操作)
- 该字段定义了当前进行的设备自检操作。字段的值表示自检操作的类型,范围从无自检到扩展自检。
| Bits | 描述 |
|---|---|
| Bits 3:0 | 指示当前自检操作的状态: |
0h |
无自检操作正在进行 |
1h |
正在进行短自检操作 |
2h |
正在进行扩展自检操作 |
3h-Dh |
保留 |
Eh |
厂商特定 |
Fh |
保留 |
注意:如果设备自检操作正在进行中(即状态为
1h或2h),则控制器不能将该字段设置为0h,直到创建新的自检结果数据结构。
- Current Device Self-Test Completion(当前设备自检完成度)
- 该字段定义当前设备自检操作的完成状态。它以百分比的形式表示已完成的自检操作的进度。
| Bits | 描述 |
|---|---|
| Bits 6:0 | 指示设备自检操作完成的百分比。例如,25 表示设备自检完成了 25%,剩余 75% 未完成。如果当前没有自检操作(即 Current Device Self-Test Operation 字段为 0h),则该字段无效。 |
- Newest Self-test Result Data Structure(最新自检结果数据结构)
- 该字段包含最新一次自检操作(完成或中止)的结果数据结构。自检结果包括操作的状态、是否成功等信息。
| 字段 | 描述 |
|---|---|
| Newest Self-test Result Data Structure | 包含最新完成或中止的自检操作结果。 |
- 2nd newest Self-test Result Data Structure(第二次最新自检结果数据结构)
- 该字段包含第二次最新自检操作的结果数据结构。如果自检操作少于 20 次,该字段会被清零。
| 字段 | 描述 |
|---|---|
| 2nd newest Self-test Result Data Structure | 包含第二次最新的自检操作结果。 |
- 过去 20 次自检结果数据结构(19th newest Self-test Result Data Structure)
- 自检结果数据结构会按照时间顺序存储,最多存储 20 次自检操作的结果。如果自检操作少于 20 次,未使用的自检结果数据结构字段会被设置为
Fh。
✅ 三、总结与学习建议
| 模块 | 建议 |
|---|---|
| 命令支持与效果数据结构 | 通过 Logical Block Content Change(LBCC) 和 Command Supported(CSUPP) 字段,了解命令对数据内容的修改情况及命令是否被控制器支持。 |
| 设备自检日志页 | 学习如何根据 Device Self-test Log 字段监控设备的自检状态,及时发现设备在自检过程中可能出现的故障或不稳定性。 特别关注自检进度和结果数据结构,帮助诊断系统问题。 |
| 自检操作的结果追踪 | 通过 Newest Self-test Result Data Structure 字段,了解设备的最新自检操作结果,并掌握如何跟踪过去的自检结果。 |
如果你需要:
- 设备自检操作流程图,展示设备如何进行自检并报告结果
- 命令支持与效果变化图,帮助你理解命令如何影响用户数据以及命令的支持情况
我可以为你绘制这些图表,帮助你更好地理解 NVM Express 存储设备的命令执行与自检机制。你需要从哪个部分开始呢?