NVME_LBA_FORMAT union (nvme.h)

包含的参数指定要应用于 NVM 媒体的 LBA 格式,作为格式化 NVM 命令的一部分。

此结构在 NVME_IDENTIFY_NAMESPACE_DATA 结构的 LBAF 字段中使用。

语法

typedef union {
  struct {
    USHORT MS;
    UCHAR  LBADS;
    UCHAR  RP : 2;
    UCHAR  Reserved0 : 6;
  } DUMMYSTRUCTNAME;
  ULONG  AsUlong;
} NVME_LBA_FORMAT, *PNVME_LBA_FORMAT;

成员

DUMMYSTRUCTNAME

DUMMYSTRUCTNAME.MS

根据 LBA 数据大小 (LBADS) 字段的值指示每个 LBA 提供的元数据字节数。

如果不支持元数据,则此字段将被清除为 00h

如果支持元数据,则命名空间可能支持作为扩展数据 LBA 的一部分或单独的连续缓冲区的一部分传输的元数据。 如果启用了端到端数据保护,则元数据的前 8 个字节或后 8 个字节是保护信息。

DUMMYSTRUCTNAME.LBADS

指示支持的 LBA 数据大小。 该值以 2 (2^n) 的幂来报告。 小于 9 的值 (例如,不支持 512 字节) 。 如果报告的值为 0h,则不支持或使用 LBA 格式。

DUMMYSTRUCTNAME.RP

指示 LBA 格式相对于控制器支持的其他 LBA 格式的相对性能。 根据 LBA 的大小和关联的元数据,可能会对性能产生影响。 性能分析基于队列深度为 32 且读取工作负荷为 4KB 的更好性能。

下表中列出了这些值的含义。

定义
00b 最佳性能
01b 性能更好
10b 良好的性能
11b 性能下降

DUMMYSTRUCTNAME.Reserved0

AsUlong

要求

要求
最低受支持的客户端 Windows 10
标头 nvme.h

另请参阅