包含用于低级别格式 NVM 媒体的格式 NVM 命令的参数。
当主机想要更改逻辑块地址(LBA)数据大小和/或元数据大小时,将使用此命令。 低级别格式可能会销毁与所有命名空间关联的所有数据和元数据,或者仅销毁与命令关联的特定命名空间(请参阅标识控制器数据结构的“可选管理命令支持”(OACS)字段中的“格式化 NVM 属性”)。 格式 NVM 命令成功完成后,控制器不会返回以前包含在受影响命名空间中的任何用户数据。
Format NVM 命令使用 Command 结构FORMATNVM 参数中的 Command Dword 10 CDW10 字段。 所有其他命令特定字段都保留。
Syntax
typedef union {
struct {
ULONG LBAF : 4;
ULONG MS : 1;
ULONG PI : 3;
ULONG PIL : 1;
ULONG SES : 3;
ULONG ZF : 2;
ULONG Reserved : 18;
} DUMMYSTRUCTNAME;
ULONG AsUlong;
} NVME_CDW10_FORMAT_NVM, *PNVME_CDW10_FORMAT_NVM;
Members
DUMMYSTRUCTNAME
DUMMYSTRUCTNAME.LBAF
一个NVME_LBA_FORMAT值,该值指定要应用于 NVM 媒体的 LBA 格式。 只能选择支持的 LBA 格式。 此值对应于标识命令NVME_IDENTIFY_NAMESPACE_DATA结构中的 LBAF 字段。
DUMMYSTRUCTNAME.MS
指定元数据设置。
如果元数据作为扩展数据 LBA 的一部分传输,则此字段设置为 1 此字段。 如果元数据作为单独缓冲区的一部分传输,则会清除 0 此字段。 元数据可能包括基于保护信息(PI)字段的保护信息。 如果选择的 LBA 格式0h的元数据大小 MS 字段,则此字段不适用。
DUMMYSTRUCTNAME.PI
一个NVME_PROTECTION_INFORMATION_TYPES枚举值,该值指定是否启用端到端数据保护以及保护信息的类型。
DUMMYSTRUCTNAME.PIL
指定保护信息位置。
如果此值设置为 1 并启用保护信息,则会将保护信息作为元数据的前 8 个字节传输。 如果清除 0 保护信息并启用保护信息,则会将保护信息作为元数据的最后 8 个字节传输。 此设置在“标识命名空间数据结构的格式化 LBA 大小 LBAF”字段中报告。
DUMMYSTRUCTNAME.SES
一个NVME_SECURE_ERASE_SETTINGS枚举值,该值指定是否应将安全擦除作为格式的一部分执行,以及安全擦除作的类型。 擦除适用于所有用户数据,而不考虑位置。 例如,在公开的 LBA、缓存或解除分配的 LBA 内。
DUMMYSTRUCTNAME.ZF
DUMMYSTRUCTNAME.Reserved
AsUlong
要求
| Requirement | 价值 |
|---|---|
| 最低支持的客户端 | Windows 10操作系统 |
| Header | nvme.h |