【NVMe2.0b 14-2】Create/Delete Queue

5.4Create I/O Completion Queue command

Create I/O Completion Queue 命令用于创建除 Admin Completion Queue 之外的所有 I/O Completion Queue。Admin Completion Queue 是通过在 ACQ 寄存器中指定其 base address 来创建的。如果提供 PRP List 来描述 CQ,则 PRP List 应由主机软件维护在主机物理内存中的相同位置,在此 CQ 的相应 Delete I/O Completion Queue 命令成功完成或控制器reset之前,不得修改 PRP List 中的值。如果修改 PRP List 值,则行为未定义。

Create I/O Completion Queue 命令使用 PRP Entry 1、Command Dword 10 和 Command Dword 11 字段。保留所有其他命令特定字段。

Figure 154: Create I/O Completion Queue – PRP Entry 1

在这里插入图片描述

Figure 155: Create I/O Completion Queue – Command Dword 10

在这里插入图片描述

Figure 156: Create I/O Completion Queue – Command Dword 11

在这里插入图片描述

5.4.1Command Completion

如果命令已完成,则控制器应将完成队列条目发布到 Admin Completion Queue,指示命令的状态。
Create I/O Completion Queue 命令的特定状态值在Figure 157 中定义。

Figure 157: Create I/O Completion Queue – Command Specific Status Values

在这里插入图片描述

5.5Create I/O Submission Queue command

Create I/O Submission Queue 命令用于创建 I/O Submission Queues。Admin Submission Queue 是通过在 ASQ 寄存器中指定其基地址来创建的。如果提供了 PRP List 来描述要创建的 SQ,则 PRP List 应由主机软件维护在主机物理内存中的相同位置,在该 SQ 的相应 Delete I/O Submission Queue 命令完成或控制器 reset 之前,不得修改 PRP List 中的值。如果修改 PRP List 值,则行为未定义。

Create I/O Submission Queue 命令使用 PRP Entry 1、Command Dword 10、Command Dword 11 和 Command Dword 12 字段。保留所有其他命令特定字段。

Figure 158: Create I/O Submission Queue – PRP Entry 1

在这里插入图片描述

Figure 159: Create I/O Submission Queue – Command Dword 10

在这里插入图片描述

Figure 160: Create I/O Submission Queue – Command Dword 11

在这里插入图片描述

在这里插入图片描述

Figure 161: Create I/O Submission Queue – Command Dword 12

在这里插入图片描述

5.5.1Command Completion

Create I/O Submission Queue 命令完成后,控制器将完成队列条目发布到 Admin Completion Queue。

Create I/O Submission Queue 命令特定状态值在Figure 162 中定义。

Figure 162: Create I/O Submission Queue – Command Specific Status Values

在这里插入图片描述

5.6Delete I/O Completion Queue command

Delete I/O Completion Queue 命令用于删除 I/O Completion Queue。Delete I/O Completion Queue 命令使用 Command Dword 10 字段。保留所有其他命令特定字段。在此命令完成后,描述Completion Queue 的 PRP List 可能会被主机软件释放。

主机软件应确保在删除Completion Queue之前删除任何相关的 I/O Submission Queue。如果存在任何关联的 I/O Submission Queues,则 Delete I/O Completion Queue 命令将中止并返回 Invalid Queue Deletion 状态代码。

注意:无法删除 Admin Completion Queue。

Figure 163: Delete I/O Completion Queue – Command Dword 10

在这里插入图片描述

5.6.1Command Completion

Delete I/O 命令完成后,控制器将完成队列条目发布到 Admin Completion Queue。Delete I/O Completion Queue 命令特定状态值在Figure 164 中定义。

Figure 164: Delete I/O Completion Queue – Command Specific Status Values

在这里插入图片描述

5.7Delete I/O Submission Queue command

Delete I/O Submission Queue 命令用于删除 I/O Submission Queue。Delete I/O Submission Queue 命令使用 Command Dword 10 字段。保留所有其他命令特定字段。此命令完成后,描述Submission Queue的 PRP List 可能会被主机软件释放。

成功完成 Delete I/O Submission Queue 命令后,所有先前提交到指定 Submission Queue 的 I/O 命令应显式完成或隐式完成。在为 Delete I/O Submission Queue 命令返回完成队列条目之前,先前提交到要删除的 I/O Submission Queue 的其他命令可能以适当的状态完成(例如,Successful Completion、Command Aborted due to SQ Deletion) .成功完成 Delete I/O Submission Queue 命令后,控制器不应发布已提交到已删除 I/O Submission Queue 的任何 I/O 命令的完成状态。Delete I/O Submission Queue 命令的成功完成表明对于任何先前提交的没有控制器发布完成队列条目的 I/O 命令,会返回Command Aborted due to SQ Deletion 的隐式完成状态。

注意:无法删除 Admin Submission Queue。

Figure 165: Delete I/O Submission Queue – Command Dword 10

在这里插入图片描述

5.7.1Command Completion

在提交到指定 I/O Submission Queue 的所有命令完成或中止后,当队列被删除时,完成队列条目将发布到 Admin Completion Queue。Delete I/O Submission Queue 命令特定状态值在Figure 166 中定义。

Figure 166: Delete I/O Submission Queue – Command Specific Status Values

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值