持久内存 - ✅ 第八章 · 8.6.1 短设备自检操作(Short Device Self-Test)详细解析 (第366页)
NVME2.0协议解读 1 min read

持久内存 - ✅ 第八章 · 8.6.1 短设备自检操作(Short Device Self-Test)详细解析 (第366页)

Blog Author

我们继续深入学习 NVM Express® Base Specification Revision 2.0b 第 355 页与 8.6.1 节内容:Short Device Self-Test Operation(短设备自检操作),并用中文系统剖析原文结构与机制。


✅ 第八章 · 8.6.1 短设备自检操作(Short Device Self-Test)详细解析


一、测试流程中的延续片段(Figure 414)

段号 测试名称 测试说明 失败标准
4 Metadata 校验 验证所有副本的元数据是否一致、可恢复 元数据损坏且不可恢复
5 NVM 介质一致性校验(仅扩展测试) 向每个 NVM 保留区域写入 / 读取 / 比较数据,测试所有控制器通道 数据不一致
6 数据完整性维护(扩展) 执行后台数据整理与维护操作,优先强化数据安全 元数据不可恢复
7 介质读取检查 随机读取每个可用物理块,确保存储介质可访问 无法访问物理块
8 寿命评估 检查 SSD 是否接近寿命终点,如写放大、P/E 次数等指标 SMART 日志中 Percentage Used 为 255,或内部分析显示继续写入存在风险
9 重复 SMART 检查 与段 2 相同,再次确认健康状态 任一 Critical Warning 位为 ‘1’

二、短设备自检操作的特性

⏱ 执行时间:

  • 应在 2 分钟内完成
  • 进度由 Device Self-test Log 页(§5.16.1.7)中 Current Percentage Complete 字段 显示。

三、短设备自检终止条件

条件 是否必须终止 说明
a) 控制器级重置(Controller Level Reset) 必须终止 如复位影响该控制器,自检需中断
b) Format NVM 命令 取决于参数,详见下表(图 415) 会根据 FNA 位与 NSID 组合判断是否终止
c) Sanitize 操作开始时 必须终止 清除操作会干扰数据结构
d) Device Self-Test 命令的 Self-Test Code 为 Fh(终止) 必须终止 明确指示中止自检
e) 命名空间被移除 可选终止 控制器可决定是否中断

四、Format NVM 指令触发终止的判定(Figure 415)

这是判断 Format NVM 命令是否中止自检的决策矩阵:

FNA 位 1 Format NVM 中 NSID 自检命令中 NSID 是否中止自检
0 指定命名空间 ID 同一命名空间 ID ✅ 是
0 FFFFFFFFh(所有) 任意活动命名空间 ID ✅ 是
0 任意命名空间 ID FFFFFFFFh(所有) 🟡 可选
0 FFFFFFFFh FFFFFFFFh ✅ 是
1 忽略 忽略 ✅ 是(始终终止)

🔑 解释说明:

  • FNA 位 1 = 1:表示 Format 操作会终止所有命名空间相关操作,因此一定中止自检。
  • NSID = FFFFFFFFh:表示操作适用于所有命名空间,因此也应中止自检。

✅ 总结重点:

维度 内容
自检类型 短设备自检(≤ 2 分钟)
流程阶段 包括 RAM、SMART、元数据、介质一致性等检查
执行方式 后台运行,可被关键命令中断
典型中断操作 Controller Reset、Format NVM、Sanitize、Device Self-Test with Code Fh
格外注意 Format NVM 的中断逻辑取决于 FNA 位和命名空间匹配情况

如果你希望我们继续分析 8.6.2 Extended Device Self-Test Operation(扩展设备自检)Device Self-Test 命令格式与日志结构定义,可以继续说一声,我来带你深入拆解命令字段与测试报告机制。需要继续吗?🧠📘