【NVMe2.0b 14-3】Doorbell Buffer Config command、Device Self-test command

5.8Doorbell Buffer Config command

Doorbell Buffer Config 命令用于提供两个独立的内存缓冲区,这些缓冲区反映了第 3.1.3 节中定义的控制器的门铃属性。此命令适用于模拟控制器,通常不受物理 NVMe 控制器的支持。这两个缓冲区分别称为“Shadow Doorbell”和“EventIdx”。有关如何使用这些缓冲区的示例,请参阅附件中的“Updating Controller Doorbell Properties using a Shadow Doorbell Buffer”。

Doorbell Buffer Config 命令使用 PRP Entry 1 和 PRP Entry 2 字段。保留所有其他命令特定字段。该命令不是特定于命名空间的,不支持元数据,也不支持 SGL。这些设置不会在 Controller Level Reset 期间保留。

随 Doorbell Buffer Config 命令提供的每个缓冲区应是由 CC.MPS 字段定义的单个物理内存页。控制器应确保满足以下条件:

(4 << CAP.DSTRD) * (max(NSQA, NCQA)+1) <= (2^(12+CC.MPS))

Figure 167: Doorbell Buffer Config – Shadow Doorbell and EventIdx

在这里插入图片描述

Figure 168: Doorbell Buffer Config – PRP Entry 1

在这里插入图片描述

Figure 169: Doorbell Buffer Config – PRP Entry 2

在这里插入图片描述

5.8.1Command Completion

当命令完成时,控制器将完成队列条目发布到 Admin Completion Queue,指示命令的状态。如果 Shadow Doorbell buffer 或 EventIdx buffer内存地址无效,则返回 Invalid Field in Command 状态码。

5.9Device Self-test command

Device Self-test 命令用于启动设备自检操作或中止设备自检操作(请参阅第 8.6 节)。Device Self-test命令专门用于:

  1. 启动 short device self-test 操作;
  2. 启动 extended device self-test 操作;
  3. 启动 vendor specific device self-test 操作; 要么
  4. 中止已在进行的 device self-test 操作。

device self-test 操作由提交 Device Self-test 命令的控制器执行。Namespace Identifier 字段控制 device self-test 操作中包含哪些命名空间,如Figure 170 所示。

Figure 170: Device Self-test Namespace Test Action

在这里插入图片描述

Device Self-test 命令使用 Command Dword 10 字段。保留所有其他命令特定字段。

Figure 171: Device Self-test – Command Dword 10

在这里插入图片描述

Figure 172 定义了 Device Self-test 命令的处理以及与已在进行中的DST操作的交互。

Figure 172: Device Self-test – Command Processing

在这里插入图片描述

5.9.1Command Completion

如 Figure 172 中指定的那样,在采取适当的操作后,完成队列条目被发布到 Admin Completion Queue。Device Self-test 命令特定的状态值在Figure 173 中定义。

Figure 173: Device Self-test – Command Specific Status Values
ValueDescription
1DhDevice Self-test in Progress: 控制器或 NVM 子系统已经在进行dst操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值