StorNVMe 命令集支持

本文列表中的表:

  • NVMe 管理员命令集的 NVM Express 规范中定义的命令和操作码。
  • NVM 命令集的所有 I/O 命令(基本规范)、NVM 命令集的 I/O 命令和分区命名空间命令集的 I/O 命令。

这些表包括以下信息:

  • 标头定义 – 指示命令的枚举在相关的 Windows 头文件中定义。
  • StorNVMe 受支持 – 指示 StorNVMe 设备驱动程序支持 Windows 10 版本 1903 及更高版本的命令。
  • 驱动程序 Int Use (驱动程序内部使用) - 指示 StorNVMe 驱动程序可以在内部生成/发出命令。
  • 注释 – 任何其他相关信息;例如,命令是否可以作为 IOCTL 操作的一部分发出。 “仅 WinPE”表示命令仅在 Windows 的 WinPE 版本上受支持。

管理员命令

操作码 NVMe 管理员命令 标头定义 StorNVMe 受支持 驱动程序 Int Use 评论
0h 删除 I/O 提交队列
1 小时 创建 I/O 提交队列
2 小时 获取日志页 IOCTL_STORAGE_QUERY_PROPERTY
4h 删除 I/O 完成队列
5 小时 创建 I/O 完成队列
6 小时 确定 IOCTL_STORAGE_QUERY_PROPERTYIOCTL_STORAGE_FIRMWARE_GET_INFO
8 小时 Abort
9 小时 设置功能 IOCTL_STORAGE_SET_PROPERTY。 目前仅支持主机控制的热管理。
获取功能 IOCTL_STORAGE_QUERY_PROPERTY
Ch 异步事件请求
Dh 命名空间管理 仅 WinPE。 IOCTL_STORAGE_PROTOCOL_COMMAND
10h 固件提交(以前是固件激活) IOCTL_STORAGE_FIRMWARE_ACTIVATE
11 小时 固件映像下载 IOCTL_STORAGE_FIRMWARE_DOWNLOAD
14h 设备自测试 IOCTL_STORAGE_PROTOCOL_COMMAND
15h 命名空间附件 仅 WinPE。 IOCTL_STORAGE_PROTOCOL_COMMAND
18h Keep Alive
19h 指令发送
1Ah 指令接收
1Ch 虚拟化管理
1Dh NVMe-MI 发送 仅 WinPE。 IOCTL_STORAGE_PROTOCOL_COMMAND
1Eh NVMe-MI 接收 仅 WinPE。 IOCTL_STORAGE_PROTOCOL_COMMAND
20h 容量管理
24h 锁定
7Ch Doorbell Buffer 配置
7Fh Fabric 命令
80 小时 格式化 NVM 仅限 WinPE 的IOCTL_STORAGE_PROTOCOL_COMMAND SCSIOP_SANITIZE的IOCTL_SCSI_PASS_THROUGH。 仅加密擦除IOCTL_STORAGE_REINITIALIZE_MEDIA
81 小时 安全发送 SCSIOP_SECURITY_PROTOCOL_OUT的IOCTL_SCSI_PASS_THROUGH
82 小时 安全接收 SCSIOP_SECURITY_PROTOCOL_IN的IOCTL_SCSI_PASS_THROUGH
84 小时 消毒 IOCTL_STORAGE_PROTOCOL_COMMAND。 从 Windows 10 版本 2004/2020 年 5 月更新,Windows Server 版本 2004(服务器核心版)。 仅在 Windows 11、Windows Server 2022 之前的 WinPE,并且仅当用户使用IOCTL_STORAGE_PROTOCOL_COMMAND时。
86h 获取 LBA 状态 从 Windows 11、Windows Server 2022
C0h-FFh 供应商特定 空值 IOCTL_STORAGE_PROTOCOL_COMMAND。 特定于供应商的直通命令要求每个特定于供应商的命令操作码的相应命令支持和效果日志页中的 CSUPP=1。

I/O 命令

下表包含 NVM Express I/O 命令的以下信息:

  • NVMe 规范:指示定义 I/O 命令的 NVM Express 规范:
    • A = 所有 I/O 命令集,NVM Express Base Specification 2.0a,2021 年 7 月 23 日
    • N = NVM 命令集,NVM Express NVM 命令集规范 1.0a,2021 年 7 月 23 日
    • Z = 区域命名空间命令集 I/O 命令,区域命名空间命令集规范 1.1a,2021 年 7 月 23 日
操作码 NVMe I/O 命令 标头定义 StorNVMe 受支持 驱动程序 Int Use NVMe 规范 评论
0h 刷新 A、N、Z IOCTL_SCSI_PASS_THROUGH SCSIOP_SYNCHRONIZE_CACHE
1 小时 N,Z IOCTL_SCSI_PASS_THROUGH 的 SCSIOP_WRITE/SCSIOP_WRITE16
2 小时 读取 N,Z IOCTL_SCSI_PASS_THROUGH 的SCSIOP_READ/SCSIOP_READ16
4h 写入不可更正 N,Z
5 小时 比较 N,Z 仅 WinPE。 IOCTL_STORAGE_PROTOCOL_COMMAND
8 小时 写入零 N,Z
9 小时 数据集管理 N,Z 仅 TRIM (解除分配)。 用于 IOCTL_SCSI_PASS_THROUGH的SCSIOP_UNMAP
Ch 验证 N,Z
Dh 预留注册 A、N、Z 从 Windows 11、Windows Server 2022。
预留报告 A、N、Z 从 Windows 11、Windows Server 2022。
11 小时 预留获取 A、N、Z 从 Windows 11、Windows Server 2022。
15h 预留版本 A、N、Z 从 Windows 11、Windows Server 2022。
19h 复制 N,Z 从 Windows 11、Windows Server 2022。 保留供内部使用Microsoft。
79 小时 区域管理发送 Z 从 Windows 11、Windows Server 2022。 保留供内部使用Microsoft。
7Ah 区域管理接收 Z 从 Windows 11、Windows Server 2022。 保留供内部使用Microsoft。
7Dh 区域追加 Z 从 Windows 11、Windows Server 2022。 保留供内部使用Microsoft。
80h-FFh 供应商特定 空值 A、N、Z IOCTL_STORAGE_PROTOCOL_COMMAND。 特定于供应商的直通命令要求每个特定于供应商的命令操作码的相应命令支持和效果日志页中的 CSUPP=1。

可能会更改。 有关详细信息,请参阅 使用 NVMe 驱动器