Suporte ao conjunto de comandos StorNVMe
As tabelas neste artigo listam:
- Comandos e opcodes definidos nas especificações do NVM Express para o NVMe Admin Command Set.
- Todos os comandos de E/S (especificação base), comandos de E/S para o conjunto de comandos NVM e comandos de E/S para o conjunto de comandos de namespace zoneado.
As tabelas incluem as seguintes informações:
- Definição de cabeçalho – Indica que uma enumeração para o comando está definida no arquivo de cabeçalho do Windows relevante.
- StorNVMe Suportado – Indica que o driver de dispositivo StorNVMe oferece suporte ao comando no Windows 10 versão 1903 e posterior.
- Driver Int Use (Driver Internal Use) – Indica que o driver StorNVMe pode gerar/emitir internamente o comando.
- Comentários – Qualquer outra informação relevante, por exemplo, se o comando pode ser emitido como parte de uma operação IOCTL. "Somente WinPE" indica que o comando é suportado somente em edições WinPE do Windows.
Comandos do administrador
Opcode | Comando de administração do NVMe | Definição de cabeçalho | StorNVMe suportado | Driver Int Uso | Comentários |
---|---|---|---|---|---|
0h | Excluir fila de envio de E/S | Sim | Sim | Sim | |
1 hora | Criar fila de envio de E/S | Sim | Sim | Sim | |
2h | Obter página de registro | Sim | Sim | Sim | IOCTL_STORAGE_QUERY_PROPERTY |
4h | Excluir fila de conclusão de E/S | Sim | Sim | Sim | |
5h | Criar fila de conclusão de E/S | Sim | Sim | Sim | |
6h | Identificar | Sim | Sim | Sim | IOCTL_STORAGE_QUERY_PROPERTY, IOCTL_STORAGE_FIRMWARE_GET_INFO |
8h | Anular | Sim | |||
9h | Definir características | Sim | Sim | Sim | IOCTL_STORAGE_SET_PROPERTY. No momento, oferece suporte apenas ao Gerenciamento Térmico Controlado por Host. |
Ah | Obter recursos | Sim | Sim | Sim | IOCTL_STORAGE_QUERY_PROPERTY |
Ch | Solicitação de evento assíncrono | Sim | Sim | Sim | |
Dh | Gerenciamento de namespace | Sim | Sim | Somente WinPE. IOCTL_STORAGE_PROTOCOL_COMMAND | |
10h | Firmware Commit (anteriormente Firmware Activate) | Sim | Sim | Sim | IOCTL_STORAGE_FIRMWARE_ACTIVATE |
11h | Download de imagem de firmware | Sim | Sim | Sim | IOCTL_STORAGE_FIRMWARE_DOWNLOAD |
14h | Autoteste do dispositivo | Sim | Sim | IOCTL_STORAGE_PROTOCOL_COMMAND | |
15h | Anexo de namespace | Sim | Sim | Somente WinPE. IOCTL_STORAGE_PROTOCOL_COMMAND | |
18h | Keep Alive | ||||
19h | Diretriz Enviar | Sim | Sim | Sim | |
1Ah | Diretriz Receber | Sim | Sim | Sim | |
1Ch | Gerenciamento de virtualização | Sim | |||
1Dh | Envio NVMe-MI | Sim | Sim | Somente WinPE. IOCTL_STORAGE_PROTOCOL_COMMAND | |
1Eh | Recebimento NVMe-MI | Sim | Sim | Somente WinPE. IOCTL_STORAGE_PROTOCOL_COMMAND | |
20h | Gerenciamento de capacidade | ||||
24h | Isolamento | ||||
7Ch | Configuração do buffer da campainha | Sim | |||
7Fh | Comandos de malha | ||||
80h | Formato: NVM | Sim | Sim | Sim | IOCTL_STORAGE_PROTOCOL_COMMAND apenas para WinPE. IOCTL_SCSI_PASS_THROUGH para SCSIOP_SANITIZE. IOCTL_STORAGE_REINITIALIZE_MEDIA apenas para apagar criptomoedas. |
81h | Envio de segurança | Sim | Sim | Sim | IOCTL_SCSI_PASS_THROUGH para SCSIOP_SECURITY_PROTOCOL_OUT |
82h | Segurança Receber | Sim | Sim | Sim | IOCTL_SCSI_PASS_THROUGH para SCSIOP_SECURITY_PROTOCOL_IN |
84h | Higienizar | Sim | Sim | Sim | IOCTL_STORAGE_PROTOCOL_COMMAND. A partir do Windows 10, Versão 2004 / Atualização de maio de 2020, Windows Server Versão 2004 (Server Core). WinPE somente antes do Windows 11, Windows Server 2022 e somente se o usuário usar IOCTL_STORAGE_PROTOCOL_COMMAND. |
86h | Obter status LBA | Sim | Do Windows 11, Windows Server 2022 | ||
C0h-FFh | Específicos do fornecedor | N/D | Sim | IOCTL_STORAGE_PROTOCOL_COMMAND. Os comandos de passagem específicos do fornecedor exigem CSUPP=1 na página correspondente de log de comandos com suporte e efeitos para cada opcode de comando específico do fornecedor. |
Comandos de E/S
A tabela a seguir inclui as seguintes informações para comandos de E/S do NVM Express:
- NVMe Spec: indica a especificação NVM Express que define o comando de E/S:
- A = Todos os conjuntos de comandos de E/S, NVM Express Base Specification 2.0a, 23 de julho de 2021
- N = Conjunto de Comandos NVM, Especificação 1.0a do Conjunto de Comandos NVM NVM NVM, 23 de julho de 2021
- Z = Comandos de E/S do Conjunto de Comandos do Namespace Zoneado, Especificação do Conjunto de Comandos do Namespace Zoneado 1.1a, 23 de julho de 2021
Opcode | Comando de E/S NVMe | Definição de cabeçalho | StorNVMe suportado | Driver Int Uso | Especificações do NVMe | Comentários |
---|---|---|---|---|---|---|
0h | Liberar | Sim | Sim | Sim | A,N,Z | SCSIOP_SYNCHRONIZE_CACHE para IOCTL_SCSI_PASS_THROUGH |
1 hora | Gravar | Sim | Sim | Sim | N,Z | SCSIOP_WRITE/SCSIOP_WRITE16 para IOCTL_SCSI_PASS_THROUGH |
2h | Ler | Sim | Sim | Sim | N,Z | SCSIOP_READ/SCSIOP_READ16 para IOCTL_SCSI_PASS_THROUGH |
4h | Escrever incorrigível | Sim | N,Z | |||
5h | Comparar | Sim | Sim | N,Z | Somente WinPE. IOCTL_STORAGE_PROTOCOL_COMMAND | |
8h | Escrever zeros | Sim | N,Z | |||
9h | Gerenciamento de Conjunto de Dados | Sim | Sim | N,Z | Apenas TRIM (Deallocate). SCSIOP_UNMAP para IOCTL_SCSI_PASS_THROUGH | |
Ch | Verificar | Sim | N,Z | |||
Dh | Cadastro de Reservas | Sim | A,N,Z | Do Windows 11, Windows Server 2022. | ||
Eh | Relatório de Reservas | Sim | A,N,Z | Do Windows 11, Windows Server 2022. | ||
11h | Aquisição de Reservas | Sim | A,N,Z | Do Windows 11, Windows Server 2022. | ||
15h | Liberação de Reservas | Sim | A,N,Z | Do Windows 11, Windows Server 2022. | ||
19h | Copiar | Sim | N,Z | Do Windows 11, Windows Server 2022. Reservado para uso interno da Microsoft. | ||
79h | Envio de gerenciamento de zona | Sim | Sim | Z | Do Windows 11, Windows Server 2022. Reservado para uso interno da Microsoft. | |
7Ah | Gerenciamento de Zona Receber | Sim | Sim | Z | Do Windows 11, Windows Server 2022. Reservado para uso interno da Microsoft. | |
7Dh | Acréscimo de zona | Sim | Sim | Z | Do Windows 11, Windows Server 2022. Reservado para uso interno da Microsoft. | |
80h-FFh | Específicos do fornecedor | N/D | Sim | A,N,Z | IOCTL_STORAGE_PROTOCOL_COMMAND. Os comandos de passagem específicos do fornecedor exigem CSUPP=1 na página correspondente de log de comandos com suporte e efeitos para cada opcode de comando específico do fornecedor. |
Sujeito a alterações. Para obter mais informações, consulte Trabalhando com unidades NVMe.