Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Contém valores que indicam um status associado ao comando que é genérico em vários tipos diferentes de comandos.
Esses códigos de status são do tipo de códigode status NVME_STATUS_TYPE_GENERIC_COMMAND e são postados pelo controlador em uma entrada de Fila de Conclusão quando um comando é concluído. Os códigos indicam que o comando especificado pelos identificadores de Fila de Envio e Comando na entrada da fila de conclusão foi concluído.
Sintaxe
typedef enum {
NVME_STATUS_SUCCESS_COMPLETION,
NVME_STATUS_INVALID_COMMAND_OPCODE,
NVME_STATUS_INVALID_FIELD_IN_COMMAND,
NVME_STATUS_COMMAND_ID_CONFLICT,
NVME_STATUS_DATA_TRANSFER_ERROR,
NVME_STATUS_COMMAND_ABORTED_DUE_TO_POWER_LOSS_NOTIFICATION,
NVME_STATUS_INTERNAL_DEVICE_ERROR,
NVME_STATUS_COMMAND_ABORT_REQUESTED,
NVME_STATUS_COMMAND_ABORTED_DUE_TO_SQ_DELETION,
NVME_STATUS_COMMAND_ABORTED_DUE_TO_FAILED_FUSED_COMMAND,
NVME_STATUS_COMMAND_ABORTED_DUE_TO_FAILED_MISSING_COMMAND,
NVME_STATUS_INVALID_NAMESPACE_OR_FORMAT,
NVME_STATUS_COMMAND_SEQUENCE_ERROR,
NVME_STATUS_INVALID_SGL_LAST_SEGMENT_DESCR,
NVME_STATUS_INVALID_NUMBER_OF_SGL_DESCR,
NVME_STATUS_DATA_SGL_LENGTH_INVALID,
NVME_STATUS_METADATA_SGL_LENGTH_INVALID,
NVME_STATUS_SGL_DESCR_TYPE_INVALID,
NVME_STATUS_INVALID_USE_OF_CONTROLLER_MEMORY_BUFFER,
NVME_STATUS_PRP_OFFSET_INVALID,
NVME_STATUS_ATOMIC_WRITE_UNIT_EXCEEDED,
NVME_STATUS_OPERATION_DENIED,
NVME_STATUS_SGL_OFFSET_INVALID,
NVME_STATUS_RESERVED,
NVME_STATUS_HOST_IDENTIFIER_INCONSISTENT_FORMAT,
NVME_STATUS_KEEP_ALIVE_TIMEOUT_EXPIRED,
NVME_STATUS_KEEP_ALIVE_TIMEOUT_INVALID,
NVME_STATUS_COMMAND_ABORTED_DUE_TO_PREEMPT_ABORT,
NVME_STATUS_SANITIZE_FAILED,
NVME_STATUS_SANITIZE_IN_PROGRESS,
NVME_STATUS_SGL_DATA_BLOCK_GRANULARITY_INVALID,
NVME_STATUS_DIRECTIVE_TYPE_INVALID,
NVME_STATUS_DIRECTIVE_ID_INVALID,
NVME_STATUS_NVM_LBA_OUT_OF_RANGE,
NVME_STATUS_NVM_CAPACITY_EXCEEDED,
NVME_STATUS_NVM_NAMESPACE_NOT_READY,
NVME_STATUS_NVM_RESERVATION_CONFLICT,
NVME_STATUS_FORMAT_IN_PROGRESS
} NVME_STATUS_GENERIC_COMMAND_CODES;
Constantes
NVME_STATUS_SUCCESS_COMPLETIONO comando foi concluído com êxito. |
NVME_STATUS_INVALID_COMMAND_OPCODEO campo opcode de comando associado não é válido. |
NVME_STATUS_INVALID_FIELD_IN_COMMANDUm campo inválido ou sem suporte é especificado nos parâmetros de comando. |
NVME_STATUS_COMMAND_ID_CONFLICTO identificador de comando já está em uso. NOTA O número de comandos que são pesquisados para um conflito de ID é específico para a implementação. |
NVME_STATUS_DATA_TRANSFER_ERRORIndica um erro ao transferir os dados ou metadados associados a um comando. |
NVME_STATUS_COMMAND_ABORTED_DUE_TO_POWER_LOSS_NOTIFICATIONIndica que o comando foi anulado devido a uma notificação de perda de energia. |
NVME_STATUS_INTERNAL_DEVICE_ERRORO comando não foi concluído com êxito devido a um erro interno. Os detalhes sobre o erro interno do dispositivo são retornados como um evento assíncrono. |
NVME_STATUS_COMMAND_ABORT_REQUESTEDO comando foi anulado devido ao recebimento de um comando de Anulação de Comando que especificou o Identificador de Fila de Envio e o Identificador de Comando deste comando. |
NVME_STATUS_COMMAND_ABORTED_DUE_TO_SQ_DELETIONO comando foi anulado devido a uma solicitação de Fila de Envio de E/S de Exclusão recebida para a Fila de Envio à qual o comando foi enviado. |
NVME_STATUS_COMMAND_ABORTED_DUE_TO_FAILED_FUSED_COMMANDO comando foi anulado devido à falha do outro comando em uma operação fundida. |
NVME_STATUS_COMMAND_ABORTED_DUE_TO_FAILED_MISSING_COMMANDO comando foi anulado devido ao comando fusido complementar não ser encontrado como a entrada subsequente da Fila de Envio. |
NVME_STATUS_INVALID_NAMESPACE_OR_FORMATO namespace ou o formato desse namespace é inválido. |
NVME_STATUS_COMMAND_SEQUENCE_ERRORO comando foi anulado devido a uma violação de protocolo em uma sequência de vários comandos. Por exemplo, uma violação das regras de sequenciamento de Recebimento de Segurança e Envio de Segurança no protocolo TCG Storage Synchronous Interface Communications. |
NVME_STATUS_INVALID_SGL_LAST_SEGMENT_DESCRO comando inclui um descritor SGL Last Segment ou SGL Segment inválido. Isso pode ocorrer quando o segmento SGL apontado por um descritor SGL Last Segment contém um descritor de Segmento SGL ou um descritor SGL Last Segment ou um descritor de Segmento SGL. Isso pode ocorrer quando um descritor SGL Last Segment contém um comprimento inválido (por exemplo, um comprimento de zero ou um que não é um múltiplo de 16). |
NVME_STATUS_INVALID_NUMBER_OF_SGL_DESCRHá um descritor SGL Last Segment ou um descritor de Segmento SGL em um local diferente do último descritor de um segmento com base no comprimento indicado. |
NVME_STATUS_DATA_SGL_LENGTH_INVALIDIsso poderá ocorrer se o comprimento de um SGL de Dados for muito curto. Isso poderá ocorrer se o comprimento de um SGL de Dados for muito longo e o controlador não oferecer suporte a transferências SGL por mais tempo do que a quantidade de dados a serem transferidos, conforme indicado no campo SGLS (Suporte a SGL) da estrutura de dados do Controlador de Identificação (NVME_IDENTIFY_CONTROLLER_DATA ). |
NVME_STATUS_METADATA_SGL_LENGTH_INVALIDIsso poderá ocorrer se o comprimento de um SGL de Metadados for muito curto. Isso poderá ocorrer se o comprimento de um SGL de Metadados for muito longo e o controlador não oferecer suporte a transferências SGL por mais tempo do que a quantidade de dados a serem transferidos, conforme indicado no campo SGLS (Suporte a SGL) da estrutura de dados do Controlador de Identificação (NVME_IDENTIFY_CONTROLLER_DATA ). |
NVME_STATUS_SGL_DESCR_TYPE_INVALIDO tipo de descritor SGL é um tipo que não tem suporte do controlador. |
NVME_STATUS_INVALID_USE_OF_CONTROLLER_MEMORY_BUFFERNão há suporte para a tentativa de uso do Buffer de Memória do Controlador pelo controlador. |
NVME_STATUS_PRP_OFFSET_INVALIDO campo Deslocamento para uma entrada PRP é inválido. Isso pode ocorrer quando há uma entrada PRP com um deslocamento diferente de zero após a primeira entrada. |
NVME_STATUS_ATOMIC_WRITE_UNIT_EXCEEDEDO comprimento especificado excede o tamanho da unidade de gravação atômica. |
NVME_STATUS_OPERATION_DENIEDO comando foi negado devido à falta de direitos de acesso. |
NVME_STATUS_SGL_OFFSET_INVALIDO deslocamento especificado em um descritor é inválido. |
NVME_STATUS_RESERVEDReservado. |
NVME_STATUS_HOST_IDENTIFIER_INCONSISTENT_FORMATO subsistema NVM detectou o uso simultâneo de valores de Identificador de Host de 64 bits e 128 bits em controladores diferentes. |
NVME_STATUS_KEEP_ALIVE_TIMEOUT_EXPIREDO Temporizador Keep Alive expirou. |
NVME_STATUS_KEEP_ALIVE_TIMEOUT_INVALIDO valor keep alive timeout especificado é inválido. |
NVME_STATUS_COMMAND_ABORTED_DUE_TO_PREEMPT_ABORTO comando foi anulado devido a um comando Reserve Acquire com a RACQA (Ação de Aquisição de Reserva) definida como 010b (Preempt e Abort). |
NVME_STATUS_SANITIZE_FAILEDA operação de limpeza mais recente falhou e nenhuma ação de recuperação foi concluída com êxito. |
NVME_STATUS_SANITIZE_IN_PROGRESSA função solicitada (por exemplo, comando) é proibida enquanto uma operação de limpeza está em andamento. |
NVME_STATUS_SGL_DATA_BLOCK_GRANULARITY_INVALIDO alinhamento de endereço ou granularidade de comprimento para um descritor do Bloco SGLData é inválido. |
NVME_STATUS_NVM_LBA_OUT_OF_RANGEO comando faz referência a um LBA que excede o tamanho do namespace. |
NVME_STATUS_NVM_CAPACITY_EXCEEDEDA execução do comando fez com que a capacidade do namespace fosse excedida. Esse erro ocorre quando a Utilização do Namespace excede a Capacidade do Namespace. |
NVME_STATUS_NVM_NAMESPACE_NOT_READYO namespace não está pronto para ser acessado. O bit Não Repetir indica se a nova emissão do comando em um momento posterior pode ser bem-sucedida. |
NVME_STATUS_NVM_RESERVATION_CONFLICTO comando foi anulado devido a um conflito com uma reserva mantida no namespace acessado. |
NVME_STATUS_FORMAT_IN_PROGRESSO namespace está sendo formatado no momento. O bit Não Repetir será liberado para '0' para indicar que o comando pode ter êxito se for reenviado. |
Requisitos
| Requisito | Valor |
|---|---|
| Cliente mínimo suportado | Windows 10 |
| Header | nvme.h |