admin管理员组

文章数量:1650789

1.get feature

1.1字段参数

Get Features命令检索指定feature的属性,get feature 用data pointer,cdword10, cdword11和cdword14字段,如下表:

表1 data pointer
bits描述
127:00data pointer(DPTR):这个字段指示起始data buffer,

如果feature中没有数据结构,则此字段无效,可忽略。

表2 cdword 10
bits描述
31:11reserved
10:08

select(SEL):此字段指定要在提供的数据中返回的属性值.

000b: current,返回当前feature的当前操作属性值

001b:default返回当前feature的默认操作属性值

010b:saved,返回上次保存的值

011b:supported capabillities, 返回的cdw0的bit0为1,指示可saved;bit1置1表示namespace独有的feature;bit2置1,指示该feature支持changeable

100b-111b:reserved

如果接收到Get Features命令,选择字段设置为010b(即saved),并且控制器当前feature不支持saved值或当前没有任何已保存的值,则控制器应像选择字段设置为001b(即default)一样操作

07:00feature identifier(FID):指示返回值的feature

如果控制器支持Get Features命令选择UUID,并且控制器支持为指定的vendor特定功能标识符选择UUID,则使用命令Dword 14指定UUID索引值。如果控制器不支持通过Get Features命令选择UUID,或者控制器不支持为指定的供应商特定feature id选择UUID,则命令Dword 14不指定UUID索引值。

表3 cdword14
bits描述
31:07reserved
06:00UUID Index

1.2测试点

2.set feature

2.1 参数字段

set feature 用data pointer,cdword10, cdword11,cdword12,cdword13,cdword14和cdword15字段,如下:

表4 set feature-data pointer
bits描述
127:00data pointer(DPTR):这个字段指示起始data buffer,因为数据缓冲区不能跨越多个页面边界,所以使用PRP,此字段不是指向PRP列表的指针。如果feature中没有数据结构,则此字段无效,可忽略。
表5 set feature-cdword10
bits描述
31save(SV)该位指定控制器应保存该属性,以便该属性在所有电源状态下保持并重置。
控制器在图247中标识控制器数据结构的可选NVM命令支持字段的第4位指示是否支持该位。
如果控制器无法保存设置特性命令中指定的feature id,并且控制器收到一个set feature命令,且save位置为1,则该命令应以feature id不可保存的状态中止。
30:08reserved
07:00feature identifier(FID):指示feature

如果控制器支持Set Features命令选择UUID,并且控制器支持为指定的vendor特定功能标识符选择UUID,则使用命令Dword 14指定UUID索引值。如果控制器不支持通过Set Features命令选择UUID,或者控制器不支持为指定的供应商特定feature id选择UUID,则命令Dword 14不指定UUID索引值。

表6 set feature-cdword14
bitsdescription
31:07reserved
06:00UUID Index

当一个特征被改变时,可能有命令在执行中。Set feature时,新设置可能应用于也可能未应用于已提交执行的命令。在set feature命令成功完成后,提交到提交队列的任何命令都应使用新的设置功能。为确保特征值应用于所有后续命令,主机
应允许正在处理的命令在发出“set feature”命令之前完成。

如果控制器不支持命令可修改,若提交一个set feature命令,若set的值和目前的值不同,则控制器中断该命令并返回Feature Not Changeable;若set的值和目前的值相同,则控制器成功执行set feature命令或返回Feature Not Changeable。下表是所有支持的feature ID。

2.2 set feature (feature identifier)

(1)aribitration(feature identifier 01h)

该命令控制命令仲裁。如果使用get feature查询此命令,则下表内容将会返回在cq的dword0中。

(2)Volatile Write Cache(feature identifier 06h)

此功能控制控制器上的易失性写缓存。如果存在,则应支持此功能。这些属性在命令Dword 11中指明。

注意:如果控制器能够保证写缓存中的数据在断电时写入非易失性介质,则该写缓存被认为是非易失性的,并且该功能不适用于该写缓存

如果不存在易失性写缓存,则指定易失性写缓存特征标识符的Set Features和Get Features命令将失败,并返回Invalid Field in Command

(3)number of queue (feature identifier 07h)

该特性是指示主机像控制器请求的queue的数量。此功能只能在创建任何I/O提交和/或完成队列之前的初始化期间发布。如果在创建任何I/O提交和/或I/O完成队列后为该功能发出Set Features命令,则Set Features命令将失败,状态代码为Command Sequence Error。在reset时,控制器不得改变queue分配的值。对于Set Features命令,属性在命令Dword 11中表示(下表)。Get Features命令中忽略Dword 11。

使用get feature和set feature获取该功能的状态时,下表的内容将返回在dword0中。

(4)Interrupt Coalescing(feature identifier 08h)

(5)Interrupt Vector Configuration(feature identifier 09h)

(6)Asynchronous Event Configuration(feature identifier 0Bh)

此功能控制触发到主机的异步事件通知的事件。此功能可用于在持续情况下禁用报告事件(请参阅nvme协议的第5.2节)。如果在启用相应通知时事件的条件为true,则会将事件发送到主机。命令Dword 11中指示了这些属性。

使用get feature和set feature获取该功能的状态时,下表的内容将返回在dword0中。

Asynchronous Event Configuration – Command Dword 11
bitsdescription
31:28Refer to the NVMe over Fabrics specification
27:15reserved
14Endurance Group Event Aggregate Log Change Notices:
13LBA Status Information Notices:
12Predictable Latency Event Aggregate Log Change Notices:
11Asymmetric Namespace Access Change Notices:
10Telemetry Log Notices:此位决定当Telemetry Controller-Initiated的数据可用字段从0h转换到1h时,是否向主机发送异步事件通知。置为1时则发送,置为0则不发送。
09Firmware Activation Notices:此位决定当固件激活启动事件发生时,是否向主机发送异步事件通知。置为1时则发送,置为0则不发送
08Namespace Attribute Notices:此位决定当命名空间属性更改事件发生时,是否向主机发送异步事件通知。置为1时则发送,置为0则不发送
07:00SMART / Health Critical Warnings:此位决定SMART /Health Information log中定义的事件发生时,是否向主机发送异步事件通知。置为1时则发送,置为0则不发送

2.3 测试点

本文标签: commandadminsetampfeature