5.8 Device Self-test command

5.8 Device Self-test command

Device Self-test 命令是被用来执行了一个设备自检操作或者中断一个设备自检操作。通常是一下操作:
a) 开始一个简短的自检操作。
b) 开始一个扩展的自检操作。
c) 开始一个自定义的自检操作。
d) 中断一个正在进行的自检操作
自检操作在controller 提交一个了一个自检命令后被执行。命名空间标识符字段控制哪些命名空间包含在设备自检操作中,如图165所示。
Figure 165: Device Self-test Namespace Test Action
Value Description
00000000h 指定设备自检操作不应包括任何namespace,并且只有控制器作为设备自检操作的一部分
00000001h toFFFFFFFEh 自检操作指定该namespace,如果namespace ID无效,命令会被中断,并返回错误状态是“Invalid Namespace” or “Format”,如果namespace ID没有激活,命令会被中断,并返回错误状态是“Invalid Filed”
FFFFFFFFh 指定设备之间操作包括当前controller 可以访问的所有已激活的namespace
Device Self-test 命令需要使用Dword10字段,其他指定字段都是保留的。
Figure 166: Device Self-test – Command Dword 10
Bits Description
31:04 Reserved
03:00 Self-test Code (STC): 此字段指定设备自检命令所采取的操作。具体定义看 Figure 1.

Figure 1 Self-test Code

Value Definition
0h Reserved
1h 开始一个简短的自检操作
2h 开始一个扩展的自检操作
3h to Dh Reserved
Eh vendor 自定义
Fh 中断自检操作
设备自检命令的处理以及与已经进行的设备自检操作的交互如图167所示。

5.8.1 Command Completion

如图167所示,在采取适当的操作后,完成队列条目被发布到AdminCompletionQueue。设备自检命令特定状态值如图168所示
Figure 168: Device Self-test – Command Specific Status Values
Value Description
1Dh Device Self-test in Progress: controller 或者一个NVM子系统有一个自检操作正在进行中

你可能感兴趣的:(Nvme,Spec)