【NVMe2.0d 17 - 1】Reservation 核心命令

Reservation Register

Reservation Register命令用于注册、取消注册或替换reservation key。

该命令使用Command Dword 10和内存中的Reservation Register data structure

如果该命令使用PRP进行数据传输,则使用PRP Entry 1和PRP Entry 2字段。如果命令使用 SGL 进行数据传输,则使用 SGL Entry 1 字段。所有其他命令的特定字段都被保留。

Figure 395: Reservation Register – Data Pointer
BitsDescription
127:00Data Pointer (DPTR):该字段指定数据传输的 data buffer 的位置。

Figure 396: Reservation Register – Command Dword 10

在这里插入图片描述

Figure 397: Reservation Register Data Structure
BytesDescription
07:00

Current Reservation Key (CRKEY): 如果Reservation Register Action是001b(即Unregister Reservation Key)或010b(即Replace Reservation Key),那么这个字段就包含与主机相关的当前reservation key。对于所有其他的Reservation Register Action值,这个字段被保留。
当Ignore Existing Key(IEKEY)位被设置为’1’时,控制器会忽略这个字段的值。

15:08

New Reservation Key (NRKEY):如果Reservation Register Action字段被清除为000b(即,Register Reservation Key)或010b(即,Replace Reservation Key),那么这个字段包含与主机相关的新 reservation key。对于所有其他的Reservation Register Action值,这个字段被保留。

当命令完成后,控制器应向相关的I/O Completion Queue 发布一个 completion queue entry,表明该命令的状态。

Reservation Acquire

Reservation Acquire命令用于获取命名空间上的 reservation,抢占命名空间上的 reservation,以及中止命名空间上的reservation。

该命令使用 Command Dword 10 和内存中的 Reservation Acquire数据结构。如果命令使用PRP进行数据传输,那么就会使用PRP Entry 1和PRP Entry 2字段。如果该命令使用 SGL 进行数据传输,则使用 SGL Entry 1 字段。所有其他命令的特定字段都是 reserved

Figure 391: Reservation Acquire – Data Pointer
BitsDescription
127:00Data Pointer (DPTR):该字段指定数据传输的 data buffer 的位置。

Figure 392: Reservation Acquire – Command Dword 10

在这里插入图片描述

Figure 393: Reservation Acquire Data Structure

在这里插入图片描述

Figure 394: Reservation Type Encoding
ValueDescription
0hReserved
1hWrite Exclusive Reservation
2hExclusive Access Reservation
3hWrite Exclusive - Registrants Only Reservation
4hExclusive Access - Registrants Only Reservation
5hWrite Exclusive - All Registrants Reservation
6hExclusive Access - All Registrants Reservation
7h to FFhReserved

当命令完成后,控制器应向相关的 I/O Completion Queue 发布一个 completion queue entry,表明该命令的状态。

Reservation Report

Reservation Report命令向内存返回一个Reservation Status data structure,描述命名空间的registration和reservation状态。

Reservation Status data structure的大小是NVM子系统中与作为命名空间registrants的主机相关联的控制器数量的函数(即,每个这样的控制器都有一个Registered Controller data structure和/或Registered Controller extended data structure)。如果主机选择了 64-bit Host Identifier,控制器会返回Figure 404中的数据结构;如果主机选择了128-bit Host Identifier,控制器会返回Figure 405中的数据结构。

如果指定了64-bit Host Identifier,并且Extended Data Structure位在Command Dword 11中被设置为 "1",那么控制器应以Host Identifier Inconsistent Format的状态码中止命令。如果指定了 128-bit Host Identifier,并且Extended Data Structure位在Command Dword 11 中被清除为 "0",则控制器应以Host Identifier Inconsistent Format的状态码中止命令。

该命令使用Command Dword 10和Command Dword 11。如果该命令使用 PRP 进行数据传输,则使用 PRP Entry 1 和 PRP Entry 2 字段。如果该命令使用 SGL 进行数据传输,则使用 SGL Entry 1 字段。所有其他命令的特定字段都是reserved。

Figure 401: Reservation Report – Data Pointer
BitsDescription
127:00Data Pointer (DPTR):该字段指定数据传输的 data buffer 的位置。
Figure 402: Reservation Report – Command Dword 10

在这里插入图片描述

Figure 403: Reservation Report – Command Dword 11

在这里插入图片描述

Figure 404: Reservation Status Data Structure

在这里插入图片描述

Figure 405: Reservation Status Extended Data Structure
BytesDescription
23:00参考Figure 404定义。
63:24Reserved
127:64Registered Controller Extended Data Structure 0
64*(n+1)+63:64*(n+1)Registered Controller Extended Data Structure n

Figure 406: Registered Controller Data Structure

在这里插入图片描述

Figure 407: Registered Controller Extended Data Structure

在这里插入图片描述

当命令完成后,控制器应向相关的I/O Completion Queue 发布一个 completion queue entry,表明该命令的状态。

Reservation Release

Reservation Release命令用于释放或清除对命名空间的reservation。

该命令使用Command Dword 10和内存中的 Reservation Release data structure。如果该命令使用PRP进行数据传输,则使用PRP Entry 1和PRP Entry 2字段。如果该命令使用 SGL 进行数据传输,则使用 SGL Entry 1 字段。所有其他命令的特定字段都被保留。

Figure 398: Reservation Release – Data Pointer
BitsDescription
127:00Data Pointer (DPTR):该字段指定数据传输的 data buffer 的位置。

Figure 399: Reservation Release – Command Dword 10

在这里插入图片描述

Figure 400: Reservation Release Data Structure

在这里插入图片描述

当命令完成后,控制器应向相关的 I/O Completion Queue 发布一个 completion queue entry,表明该命令的状态。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值