【NVMe2.0b 14-6】Format NVM、Keep Alive、Lockdown command

5.14Format NVM command

Format NVM 命令用于 low level format NVM media。主机使用此命令更改 NVM media 的属性(例如,NVM Command Set 的 LBA 数据大小和/或元数据大小)。low level format 可能会破坏与所有命名空间关联的所有数据和元数据,或者仅破坏与命令关联的特定命名空间(请参阅 Identify Controller data structure 中的 Format NVM Attributes 字段,Figure 275)。在 Format NVM 命令成功完成后,控制器不应返回任何先前包含在受影响命名空间中的 user data。

作为 Format NVM 命令的一部分,主机请求格式化操作,并可能请求 secure erase NVM 的内容(参见Figure 189 中的 SES 字段)。有两种类型的 secure erase。User Data Erase 会擦除 NVM 子系统中存在的所有user data。Cryptographic Erase通过删除先前加密用户数据的加密密钥来擦除 NVM 子系统中存在的所有user data。

格式化操作的范围和带secure erase的格式化范围取决于控制器支持的 Format NVM 命令的属性和命令中指定的 Namespace Identifier,如Figure 188 所述。secure erase 的类型(如果适用) , 基于Command Dword 10 中 Secure Erase Settings 字段的设置,如 Figure 189 中定义。

Figure 188: Format NVM – Operation Scope

在这里插入图片描述

如果 NVM 子系统支持多个domains,并且由于 NVM 子系统被划分(参见第 3.2.4 节)而导致 Format NVM 命令无法格式化指定的命名空间,则 Format NVM 命令应以状态码Asymmetric Access Inaccessible or Asymmetric Access Persistent Loss中止。

在security规范定义的情况下(例如,TCG Storage Interface Interactions 规范中指定的无效 security state),可以使用本规范中定义的状态代码中止 Format NVM 命令。如果有正在为命名空间处理的 I/O 命令,则提交的影响该命名空间的 Format NVM 命令可能会被中止;如果中止,则应返回 Command Sequence Error 的状态码。如果 Format NVM 命令正在进行,则为受该 Format NVM 命令影响的任何命名空间提交的 I/O 命令可能会被中止;如果中止,则应返回 Format in Progress 的状态码。有关 Format NVM 期间对Admin命令的限制的更多信息,请参阅第 5 节。

对于NSID 字段设置为 FFFFFFFFh 并指定secure erase 的Format NVM 命令:

  a) 如果 FNA 字段中的第 1 位设置为“1”(参见Figure 275)并且 NVM 子系统中没有命名空间,则该 Format NVM 命令应无错误地完成;
  b) 如果 FNA 字段中的第 1 位被清除为“0”并且没有attached的命名空间,则该 Format NVM 命令应无错误地完成。

对于 NSID 字段设置为 FFFFFFFFh 但未指定secure erase的 Format NVM 命令:

  a) 如果 FNA 字段中的第 0 位设置为“1”,并且 NVM 子系统中没有命名空间,则该 Format NVM 命令应完成且不会出错; 和
  b) 如果 FNA 字段中的bit 0 被清除为“0”并且没有attached的命名空间,则该 Format NVM 命令应完成且不会出错。

如果主机未在Host Behavior Support feature中将 LBA Format Extension Enable (LBAFEE) 字段设置为 1h(请参阅第 5.27.1.18 节),那么控制器中止 Format NVM 命令,指定 I/O Command Set 的特定格式,如适用的 I/O Command Set 规范中指定的,要求将 LBAFEE 字段设置为 1h,status code 为 Invalid Namespace or Format。

如果 FNA 字段中的第 3 位设置为“1”,并且 Format NVM 命令的 NSID 字段设置为 FFFFFFFFh,则控制器将中止命令,状态码为 Invalid Field In Command。

成功完成 Format NVM 命令后,Format NVM 命令中指定的设置(例如 PI、MSET、LBAF)将作为Identify Namespace data structures 的一部分报告。

Format NVM 命令使用 Command Dword 10 字段。保留所有其他命令特定字段。

Figure 189: Format NVM – Command Dword 10

在这里插入图片描述

在这里插入图片描述

5.14.1Command Completion

当 NVM media 格式完成时,完成队列条目将发布到 Admin Completion Queue。Format NVM 命令特定状态值在Figure 190 中定义。

Figure 190: Format NVM – Command Specific Status Values

在这里插入图片描述

5.18Keep Alive command

Keep Alive命令(参考第5.27.1.12节)和相关功能被主机用来确定控制器是否在运行,并被控制器用来确定主机是否在运行。当主机和控制器都可以访问并能够发出或处理命令时,它们就可以运行。控制器在Identify Controller data structure 中的KAS字段中指出Keep Alive Timer的粒度(参考Figure 275)。

如果在 Admin Queue 中enable了 Keep Alive Timeout,Keep Alive Timer 在以下情况下重新 enable:

  • 处理了一个 Keep Alive command (refer to section 3.9.1) ,或
  • 当TBKAS设置为 "1 "且在 Keep Alive Timeout Interval 内处理了一条管理命令或一条I/O命令时,Keep Alive Timeout结束时(refer to section 3.9.2)。

所有命令的特定字段都是reserved。

5.18.1Command Completion

在完成 Keep Alive 命令后,控制器应将 completion queue entry 发布到 Admin Completion Queue 中,表明该命令的状态。

5.19Lockdown command

Lockdown 命令用于 Command and Feature Lockdown capability(参考第8.4节),它配置了禁止或允许执行针对特定 Feature Identifier 的指定命令或 Set Features 命令。

在成功完成禁止命令或 Feature Identifier 的 Lockdown 命令后,NVM子系统中的所有控制器(如果适用)和所有 management endpoints(如果适用)的行为如8.4所述。

Lockdown 命令使用 Command Dword 10(参考 Figure 291)和 Command Dword(参考Figure 292)。所有其他命令的特定字段都是reserved。

Figure 291: Lockdown – Command Dword 10

在这里插入图片描述

在这里插入图片描述

如果控制器支持选择UUID:

  a)通过 Lockdown 命令;以及
  b)如果Scope字段被设置为2h,通过 Set Features 命令(参考 Figure 316 和第8.24节),为 Opcode or Feature Identifier 字段指定 vendor specific Feature Identifier。

那么 Command Dword 14(参考Figure 292)被用来指定一个 UUID Index 值。

如果控制器不支持选择UUID:

  a)通过 Lockdown 命令。
  b)通过Set Features 命令;或
  c)如果Scope字段被设置为2h,由 Opcode or Feature Identifier 字段指定的 vendor specific feature identifier。

则 Command Dword 14 不指定 UUID Index 值。如果 Scope 字段没有设置为2h,那么 UUID Index 字段将被忽略。

Figure 292: Lockdown – Command Dword 14

在这里插入图片描述

如果控制器在处理此命令时指定了不支持的 command opcode 或 Feature Identifier 为prohibitable,那么该命令应以 Prohibition of Command Execution Not Supported 的状态码中止。

如果控制器处理此命令时,Interface 字段设置为01b或10b,并且NVM子系统不包含 Management Endpoint,那么该命令应以 Invalid Field in Command 状态码中止。

如果控制器在 Interface 字段设置为 00b 或 01b,且 Scope 字段设置为 4h 的情况下处理此命令,则应以 Invalid Field in Command 状态码中止。

试图禁止已经被禁止执行的命令或 Feature Identifier,或允许执行已经被允许的命令或 Feature Identifie,都不是错误。

5.19.1Command Completion

Lockdown 命令完成后,控制器将一个 completion queue entry 发布到 Admin Completion Queue 中。

Lockdown 命令的具体态值定义在Figure 293中。

Figure 293: Lockdown – Command Specific Status Values

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值