5.3 Create I/O Completion Queue command
5.3 Create I/O Completion Queue command
The Create I/O Completion Queue command is used to create all I/O Completion Queues with the exception of the Admin Completion Queue. The Admin Completion Queue is created by specifying its base address in the ACQ register. If a PRP List is provided to describe the CQ, then the PRP List shall be maintained by host software at the same location in host physical memory and the values in the PRP List shall not be modified until the corresponding Delete I/O Completion Queue command for this CQ is completed successfully or the controller is reset. If the PRP List values are modified, the behavior is undefined.
The Create I/O Completion Queue command uses the PRP Entry 1, Command Dword 10, and Command Dword 11 fields. All other command specific fields are reserved.
5.3创建I / O完成队列命令
“创建I / O完成队列”命令用于创建所有“ I / O完成队列”,但“管理完成队列”除外。 通过在ACQ寄存器中指定其基本地址来创建Admin完成队列。 如果提供了一个PRP列表来描述CQ,则该PRP列表应由主机软件在主机物理内存中的同一位置维护,并且在相应的Delete I / O Completion Queue命令之前,不得修改PRP List中的值。 为此CQ成功完成或重置控制器。 如果修改了PRP列表值,则行为是不确定的。
“创建I / O完成队列”命令使用PRP条目1,命令双字10和命令双字11字段。 保留所有其他命令特定字段。
5.3.1 Command Completion
If the command is completed, then the controller shall post a completion queue entry to the Admin Completion Queue indicating the status for the command.
Create I/O Completion Queue command specific status values are defined in Figure 54.
5.3.1命令完成
如果命令已完成,则控制器应将完成队列条目发布到“管理完成队列”中,以指示命令的状态。
图54中定义了“创建I / O完成队列”命令的特定状态值。
5.4 Create I/O Submission Queue command
The Create I/O Submission Queue command is used to create I/O Submission Queues. The Admin Submission Queue is created by specifying its base address in the ASQ register. If a PRP List is provided to describe the SQ, then the PRP List shall be maintained by host software at the same location in host physical memory and the values in the PRP List shall not be modified until the corresponding Delete I/O Submission Queue command for this SQ is completed or the controller is reset. If the PRP List values are modified, the behavior is undefined.
The Create I/O Submission Queue command uses the PRP Entry 1, Command Dword 10, and Command Dword 11 fields. All other command specific fields are reserved.
5.4创建I / O提交队列命令
“创建I / O提交队列”命令用于创建I / O提交队列。 管理员提交队列是通过在ASQ寄存器中指定其基本地址来创建的。 如果提供了一个描述SQ的PRP列表,则该PRP列表应由主机软件在主机物理内存中的同一位置维护,并且在相应的Delete I / O Submission Queue命令之前,不得修改PRP List中的值。 此SQ已完成或控制器已重置。 如果修改了PRP列表值,则行为是不确定的。
“创建I / O提交队列”命令使用PRP条目1,命令双字10和命令双字11字段。 保留所有其他命令特定字段。
5.4.1 Command Completion
When the command is completed, the controller posts a completion queue entry to the Admin Completion Queue indicating the status for the command.
Create I/O Submission Queue command specific status values are defined in Figure 58.
5.4.1命令完成
命令完成后,控制器会将完成队列条目发布到“管理完成队列”中,以指示命令的状态。
图58中定义了“创建I / O提交队列”命令的特定状态值。
5.5 Delete I/O Completion Queue command
The Delete I/O Completion Queue command is used to delete an I/O Completion Queue. The Delete I/O Completion Queue command uses the Command Dword 10 field. All other command specific fields are reserved. After this command has completed, the PRP List that describes the Completion Queue may be deallocated by host software.
Host software shall ensure that any associated I/O Submission Queue is deleted prior to deleting a Completion Queue. If there are any associated I/O Submission Queues present, then the Delete I/O Completion Queue command shall fail with a status value of Invalid Queue Deletion.
Note: It is not possible to delete the Admin Completion Queue.
5.5删除I / O完成队列命令
删除I / O完成队列命令用于删除I / O完成队列。 Delete I / O Completion Queue命令使用Command Dword 10字段。 保留所有其他命令特定字段。 完成此命令后,主机软件可能会重新分配描述完成队列的PRP列表。
主机软件应确保在删除完成队列之前删除所有关联的I / O提交队列。 如果存在任何关联的I / O提交队列,那么Delete I / O Completion Queue命令将失败,并且状态值为Invalid Queue Deletion。
注意:无法删除“管理员完成队列”。
5.5.1 Command Completion
A completion queue entry is posted to the Admin Completion Queue when the indicated I/O Completion Queue has been deleted. Delete I/O Completion Queue command specific status values are defined in Figure 60.
5.5.1命令完成
当指示的I / O完成队列已被删除时,完成队列条目将发布到“管理完成队列”中。 删除I / O完成队列命令的特定状态值在图60中定义。
5.6 Delete I/O Submission Queue command
The Delete I/O Submission Queue command is used to delete an I/O Submission Queue. The Delete I/O Submission Queue command uses the Command Dword 10 field. All other command specific fields are reserved. After this command has completed, the PRP List that describes the Submission Queue may be deallocated by host software.
Upon successful completion of the Delete I/O Submission Queue command, all I/O commands previously submitted to the indicated Submission Queue shall be either explicitly completed or implicitly completed. Prior to returning a completion queue entry for the Delete I/O Submission Queue command, other commands previously submitted to the I/O Submission Queue to be deleted may be completed with appropriate status (e.g., Successful Completion, Command Aborted due to SQ Deletion). After successful completion of the Delete I/O Submission Queue command, the controller shall not post completion status for any I/O commands that were submitted to the deleted I/O Submission Queue. The successful completion of the Delete I/O Submission Queue command indicates an implicit completion status of Command Aborted due to SQ Deletion for any previously submitted I/O commands that did not have a completion queue entry posted by the controller.
Note: It is not possible to delete the Admin Submission Queue.
5.6删除I / O提交队列命令
删除I / O提交队列命令用于删除I / O提交队列。 Delete I / O Submission Queue命令使用Command Dword 10字段。保留所有其他命令特定字段。完成此命令后,主机软件可能会重新分配描述提交队列的PRP列表。
成功完成“删除I / O提交队列”命令后,先前提交给指示的“提交队列”的所有I / O命令都应显式完成或隐式完成。在返回“删除I / O提交队列”命令的完成队列条目之前,先前已提交到要删除的“ I / O提交队列”的其他命令可能会以适当的状态完成(例如,“成功完成”,“由于SQ删除而中止的命令”) 。成功完成“删除I / O提交队列”命令后,对于发布到已删除I / O提交队列的任何I / O命令,控制器均不得发布完成状态。成功完成“删除I / O提交队列”命令后,对于以前没有控制器提交的完成队列条目的所有I / O命令,由于SQ删除,命令的隐式完成状态由于SQ删除而中止。
注意:无法删除管理提交队列。
5.6.1 Command Completion
After all commands submitted to the indicated I/O Submission Queue are either completed or aborted, a completion queue entry is posted to the Admin Completion Queue when the queue has been deleted. Delete I/O Submission Queue command specific status values are defined in Figure 62.
5.6.1命令完成
提交到指示的I / O提交队列的所有命令都完成或中止后,删除队列后,完成队列条目将发布到管理完成队列中。 删除I / O提交队列命令的特定状态值在图62中定义。