Поддержка набора команд StorNVMe

Таблицы в этой статье:

  • Команды и опкоды, определенные в спецификациях NVM Express для административного набора команд NVMe.
  • Все команды ввода-вывода (базовая спецификация), команды ввода-вывода для набора команд NVM и команды ввода-вывода для набора команд зонного пространства имен.

В таблицах приведены следующие сведения:

  • Header Definition – Indicates that an enumeration for the command is defined in the relevant Windows header file.
  • StorNVMe Supported – Indicates that the StorNVMe device driver supports the command on Windows 10 version 1903 and later.
  • Driver Int Use (внутреннее использование драйвера) — обозначает, что драйвер StorNVMe способен генерировать или выдавать команду для внутреннего применения.
  • Comments – Any other relevant information; for example, whether the command can be issued as part of an IOCTL operation. Значение "Только WinPE" указывает, что команда поддерживается только в выпусках WinPE Windows.

Admin commands

Opcode Команда администратора NVMe Header Definition StorNVMe Supported Использование драйвера Int Comments
0h Delete I/O Submission Queue Yes Yes Yes
1h Create I/O Submission Queue Yes Yes Yes
2h Get Log Page Yes Yes Yes IOCTL_STORAGE_QUERY_PROPERTY
4h Delete I/O Completion Queue Yes Yes Yes
5h Create I/O Completion Queue Yes Yes Yes
6h Identify Yes Yes Yes IOCTL_STORAGE_QUERY_PROPERTY, IOCTL_STORAGE_FIRMWARE_GET_INFO
8h Abort Yes
9h Set Features Yes Yes Yes IOCTL_STORAGE_SET_PROPERTY. В настоящее время поддерживается только терморегулирование, управляемое хостом.
Ah Get Features Yes Yes Yes IOCTL_STORAGE_QUERY_PROPERTY
Ch Asynchronous Event Request Yes Yes Yes
Dh Namespace Management Yes Yes WinPE only. IOCTL_STORAGE_PROTOCOL_COMMAND
10h Firmware Commit (ранее Firmware Activate) Yes Yes Yes IOCTL_STORAGE_FIRMWARE_ACTIVATE
11h Firmware Image Download Yes Yes Yes IOCTL_STORAGE_FIRMWARE_DOWNLOAD
14h Device Self-Test Yes Yes IOCTL_STORAGE_PROTOCOL_COMMAND
15h Namespace Attachment Yes Yes WinPE only. IOCTL_STORAGE_PROTOCOL_COMMAND
18h Keep Alive
19h Directive Send Yes Yes Yes
1Ah Directive Receive Yes Yes Yes
1Ch Virtualization Management Yes
1Dh NVMe-MI Send Yes Yes WinPE only. IOCTL_STORAGE_PROTOCOL_COMMAND
1Eh NVMe-MI Receive Yes Yes WinPE only. IOCTL_STORAGE_PROTOCOL_COMMAND
20h Capacity Management
24h Lockdown
7Ch Doorbell Buffer Config Yes
7Fh Fabric Commands
80h Format NVM Yes Yes Yes IOCTL_STORAGE_PROTOCOL_COMMAND for WinPE only. IOCTL_SCSI_PASS_THROUGH for SCSIOP_SANITIZE. IOCTL_STORAGE_REINITIALIZE_MEDIA for crypto erase only.
81h Security Send Yes Yes Yes IOCTL_SCSI_PASS_THROUGH for SCSIOP_SECURITY_PROTOCOL_OUT
82h Security Receive Yes Yes Yes IOCTL_SCSI_PASS_THROUGH for SCSIOP_SECURITY_PROTOCOL_IN
84h Sanitize Yes Yes Yes IOCTL_STORAGE_PROTOCOL_COMMAND. В Windows 10 версии 2004 (обновление за май 2020 г.) и Windows Server версии 2004 (Server Core). WinPE только до Windows 11, Windows Server 2022 и только если пользователь использует IOCTL_STORAGE_PROTOCOL_COMMAND.
86h Get LBA Status Yes Начиная с Windows 11, Windows Server 2022
C0h-FFh Vendor Specific N/A Yes IOCTL_STORAGE_PROTOCOL_COMMAND. Для специфичных для поставщика команд требуется CSUPP=1 на соответствующей странице поддерживаемой команды и журналов эффектов для каждого кода операции, зависящего от поставщика.

I/O commands

Следующая таблица содержит следующие сведения для команд NVM Express I/O:

  • NVMe Spec: indicates the NVM Express specification that defines the I/O command:
    • A = все наборы команд ввода-вывода, спецификация NVM Express Base 2.0a, 23 июля 2021 г.
    • N = набор команд NVM, набор команд NVM Express NVM спецификации 1.0a, 23 июля 2021 г.
    • Z = набор команд зонированного пространства имен, команды ввода-вывода, спецификации набора команд зонированного пространства имен 1.1a, 23 июля 2021 г.
Opcode Команда ввода-вывода NVMe Header Definition StorNVMe Supported Использование драйвера Int NVMe Spec Comments
0h Flush Yes Yes Yes A,N,Z SCSIOP_SYNCHRONIZE_CACHE for IOCTL_SCSI_PASS_THROUGH
1h Write Yes Yes Yes N,Z SCSIOP_WRITE/SCSIOP_WRITE16 for IOCTL_SCSI_PASS_THROUGH
2h Read Yes Yes Yes N,Z SCSIOP_READ/SCSIOP_READ16 for IOCTL_SCSI_PASS_THROUGH
4h Write Uncorrectable Yes N,Z
5h Compare Yes Yes N,Z WinPE only. IOCTL_STORAGE_PROTOCOL_COMMAND
8h Write Zeroes Yes N,Z
9h Dataset Management Yes Yes N,Z Только TRIM (Deallocate). SCSIOP_UNMAP for IOCTL_SCSI_PASS_THROUGH
Ch Verify Yes N,Z
Dh Reservation Register Yes A,N,Z C Windows 11 на Windows Server 2022.
Eh Reservation Report Yes A,N,Z C Windows 11 на Windows Server 2022.
11h Reservation Acquire Yes A,N,Z C Windows 11 на Windows Server 2022.
15h Reservation Release Yes A,N,Z C Windows 11 на Windows Server 2022.
19h Copy Yes N,Z C Windows 11 на Windows Server 2022. Зарезервировано для внутреннего использования Майкрософт.
79h Zone Management Send Yes Yes Z C Windows 11 на Windows Server 2022. Зарезервировано для внутреннего использования Майкрософт.
7Ah Zone Management Receive Yes Yes Z C Windows 11 на Windows Server 2022. Зарезервировано для внутреннего использования Майкрософт.
7Dh Zone Append Yes Yes Z C Windows 11 на Windows Server 2022. Зарезервировано для внутреннего использования Майкрософт.
80h-FFh Vendor Specific N/A Yes A,N,Z IOCTL_STORAGE_PROTOCOL_COMMAND. Для специфичных для поставщика команд требуется CSUPP=1 на соответствующей странице поддерживаемой команды и журналов эффектов для каждого кода операции, зависящего от поставщика.

Подлежит изменению. Дополнительные сведения см. в разделе Работа с дисками NVMe.