5.14 Set Feature Command
Set Feature Command 规定了Feature的属性。
Set Feature Command使用 data pointer ,Command Dword10, Command Dword11, Command Dword12, Command Dword13, Command Dword14和Command Dword15字段。其他命令指定字段是保留的,
Figure 268: Set Features – Data Pointer
Bits | Description |
---|---|
127:00 | Data Pointer (DPTR): This field specifies the start of the data buffer. Refer to Figure 105 for the definition of this field. If using PRPs, this field shall not be a pointer to a PRP List as the data buffer may not cross more than one page boundary. If no data structure is used as part of the specified feature, then this field is not used. |
下面会针对每个Command Dword做一个详细的解释。
Set Features – Command Dword 10
Bits | Description |
---|---|
31 | Save (SV): 该位指定控制器应保存该属性,以便该属性在所有电源状态和reset期间保持不变。控制器在图247中识别控制器数据结构的可选NVM命令支持字段的第4位指示是否支持该位。如果控制器不可保存Set Features(设置特征)命令中指定的特征标识符,并且控制器接收到Save(保存)位设置为1的Set Features命令,则该命令应中止,状态为Feature Identifier not saveable(特征标识符不可保存)。 |
30:08 | Reserved |
07:00 | Feature Identifier (FID): 这个字段指定feature的标识符 |
如果控制器支持通过Set Features(设置特征)命令选择UUID(参见图271和第8.24节),并且控制器支持为指定的供应商特定特征标识符选择UUID,则 Command Dword 14用于指定UUID索引值(参见图270)。如果控制器不支持通过设置特征命令来选择UUID,或者控制器不支持为指定的供应商特定特征标识符选择UUID的话,那么 Command Dword 14不指定UUID索引值。
Figure 270: Set Features – Command Dword 14
Bits | Description |
---|---|
31:07 | Reserved |
06:00 | UUID Index: Refer to Figure 498, Figure 498 |
5.21.1 Feature Specific Information
图271定义了可以使用Set Features命令配置和使用Get Features命令检索的Features。图272定义了NVM命令集特有的功能。有关各种控制器类型的强制、可选和禁止功能,请参阅第7.1节。一些功能使用内存缓冲区来配置或返回功能的属性,而另一些功能仅使用命令或完成队列条目中的dword。跨电源不持久的功能值作为控制器重置操作的一部分,循环和重置被恢复到它们的默认值。有关功能的更多信息包括默认值定义、可保存值定义和当前值定义,请参阅第7.8节。
当功能发生更改时,可能会执行一些命令。当功能更改时,新设置可能适用于也可能不适用于已提交执行的命令。成功完成“设置功能”命令后提交给提交队列的任何命令都应使用相关功能的新设置。为确保Features值适用于所有后续命令,主机应允许在发出Set Features命令之前完成正在处理的命令。如果控制器不支持某个特征的可更改值(例如,该特征不可更改),并且处理了该特征的“设置特征”命令,则如果该命令指定的特征值:
Figure 271: Set Features – Feature Identifiers
Feature Identifier | Current Setting PersistsAcross Power Cycle and Reset 2 | Uses Memory Buffer for Attributes | Feature Name |
---|---|---|---|
00h | Reserved | ||
01h | No | No | Arbitration |
02h | No | No | Power Management |
03h | Yes | No | LBA Range Type |
04h | No | No | Temperature Threshold |
05h | No | No | Error Recovery |
06h | No | No | Volatile Write Cache |
07h | No | No | Number of Queues |
08h | No | No | Interrupt Coalescing |
09h | No | No | Interrupt Vector Configuration |
0Ah | No | No | Write Atomicity Normal |
0Bh | No | No | Asynchronous Event Configuration |
0Ch | No | Yes | Autonomous Power State Transition |
0Dh | No 3 | No 4 | Host Memory Buffer |
0Eh | No | Yes | Timestamp |
0Fh | No | No | Keep Alive Timer |
10h | Yes | No | Host Controlled Thermal Management |
11h | No | No | Non-Operational Power State Config |
12h | Yes | No | Read Recovery Level Config |
13h | No | Yes | Predictable Latency Mode Config |
14h | No | No | Predictable Latency Mode Window |
15h | No | No | LBA Status Information Report Interva |
16h | No | Yes | Host Behavior Support |
17h | Yes | No | Sanitize Config |
18h | No | No | Endurance Group Event Configuration |
19h to 77h | Reserved | ||
78h to 7Fh | Refer to the NVMe Management Interface Specification for definition | ||
80h to BFh | Command Set Specific (Reserved) | ||
C0h to FFh | Vendor Specific1, 5 |
Figure 272: Set Features, NVM Command Set Specific – Feature Identifiers
Feature Identifier | Current Setting PersistsAcross Power Cycle and Reset 1 | UsesMemory Buffer for Attributes | Feature Name |
---|---|---|---|
80h | Yes | No | Software Progress Marker |
81h | No | Yes | Host Identifier |
82h | No | No | Reservation Notification Mask |
83h | Yes | No | Reservation Persistence |
84h | No | No | Namespace Write Protection Config |
85h to BFh | No | Yes | Reserved |