NVME_STATUS_GENERIC_COMMAND_CODES enumeração (nvme.h)
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ódigo de 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_COMPLETION O comando foi concluído com êxito. |
NVME_STATUS_INVALID_COMMAND_OPCODE O campo opcode de comando associado não é válido. |
NVME_STATUS_INVALID_FIELD_IN_COMMAND Um campo inválido ou sem suporte é especificado nos parâmetros de comando. |
NVME_STATUS_COMMAND_ID_CONFLICT O 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_ERROR Indica um erro ao transferir os dados ou metadados associados a um comando. |
NVME_STATUS_COMMAND_ABORTED_DUE_TO_POWER_LOSS_NOTIFICATION Indica que o comando foi anulado devido a uma notificação de perda de energia. |
NVME_STATUS_INTERNAL_DEVICE_ERROR O 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_REQUESTED O 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_DELETION O 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_COMMAND O comando foi anulado devido à falha do outro comando em uma operação fundida. |
NVME_STATUS_COMMAND_ABORTED_DUE_TO_FAILED_MISSING_COMMAND O 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_FORMAT O namespace ou o formato desse namespace é inválido. |
NVME_STATUS_COMMAND_SEQUENCE_ERROR O 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_DESCR O 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_DESCR Há 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_INVALID Isso 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 Suporte de SGL (SGLS) do Controlador de Identificação (NVME_IDENTIFY_CONTROLLER_DATA) estrutura de dados. |
NVME_STATUS_METADATA_SGL_LENGTH_INVALID Isso 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 Suporte de SGL (SGLS) do Controlador de Identificação (NVME_IDENTIFY_CONTROLLER_DATA) estrutura de dados. |
NVME_STATUS_SGL_DESCR_TYPE_INVALID O tipo de descritor SGL é um tipo que não tem suporte do controlador. |
NVME_STATUS_INVALID_USE_OF_CONTROLLER_MEMORY_BUFFER Não há suporte para a tentativa de uso do Buffer de Memória do Controlador pelo controlador. |
NVME_STATUS_PRP_OFFSET_INVALID O 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_EXCEEDED O comprimento especificado excede o tamanho da unidade de gravação atômica. |
NVME_STATUS_OPERATION_DENIED O comando foi negado devido à falta de direitos de acesso. |
NVME_STATUS_SGL_OFFSET_INVALID O deslocamento especificado em um descritor é inválido. |
NVME_STATUS_RESERVED Reservado. |
NVME_STATUS_HOST_IDENTIFIER_INCONSISTENT_FORMAT O 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_EXPIRED O Temporizador Keep Alive expirou. |
NVME_STATUS_KEEP_ALIVE_TIMEOUT_INVALID O valor keep alive timeout especificado é inválido. |
NVME_STATUS_COMMAND_ABORTED_DUE_TO_PREEMPT_ABORT O 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_FAILED A operação de limpeza mais recente falhou e nenhuma ação de recuperação foi concluída com êxito. |
NVME_STATUS_SANITIZE_IN_PROGRESS A função solicitada (por exemplo, comando) é proibida enquanto uma operação de limpeza está em andamento. |
NVME_STATUS_SGL_DATA_BLOCK_GRANULARITY_INVALID O alinhamento de endereço ou granularidade de comprimento para um descritor do Bloco SGLData é inválido. |
NVME_STATUS_NVM_LBA_OUT_OF_RANGE O comando faz referência a um LBA que excede o tamanho do namespace. |
NVME_STATUS_NVM_CAPACITY_EXCEEDED A 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_READY O 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_CONFLICT O comando foi anulado devido a um conflito com uma reserva mantida no namespace acessado. |
NVME_STATUS_FORMAT_IN_PROGRESS O 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 |
---|---|
de cliente com suporte mínimo | Windows 10 |
cabeçalho | nvme.h |