Compartilhar via


NVME_STATUS_COMMAND_SPECIFIC_CODES enumeração (nvme.h)

Contém valores que indicam o status específico de um comando específico.

Esses códigos de status são do tipo de código de status NVME_STATUS_TYPE_COMMAND_SPECIFIC e são postados pelo controlador em uma entrada de Fila de Conclusão quando um comando é concluído.

Sintaxe

typedef enum {
  NVME_STATUS_COMPLETION_QUEUE_INVALID,
  NVME_STATUS_INVALID_QUEUE_IDENTIFIER,
  NVME_STATUS_MAX_QUEUE_SIZE_EXCEEDED,
  NVME_STATUS_ABORT_COMMAND_LIMIT_EXCEEDED,
  NVME_STATUS_ASYNC_EVENT_REQUEST_LIMIT_EXCEEDED,
  NVME_STATUS_INVALID_FIRMWARE_SLOT,
  NVME_STATUS_INVALID_FIRMWARE_IMAGE,
  NVME_STATUS_INVALID_INTERRUPT_VECTOR,
  NVME_STATUS_INVALID_LOG_PAGE,
  NVME_STATUS_INVALID_FORMAT,
  NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_CONVENTIONAL_RESET,
  NVME_STATUS_INVALID_QUEUE_DELETION,
  NVME_STATUS_FEATURE_ID_NOT_SAVEABLE,
  NVME_STATUS_FEATURE_NOT_CHANGEABLE,
  NVME_STATUS_FEATURE_NOT_NAMESPACE_SPECIFIC,
  NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_NVM_SUBSYSTEM_RESET,
  NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_RESET,
  NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_MAX_TIME_VIOLATION,
  NVME_STATUS_FIRMWARE_ACTIVATION_PROHIBITED,
  NVME_STATUS_OVERLAPPING_RANGE,
  NVME_STATUS_NAMESPACE_INSUFFICIENT_CAPACITY,
  NVME_STATUS_NAMESPACE_IDENTIFIER_UNAVAILABLE,
  NVME_STATUS_NAMESPACE_ALREADY_ATTACHED,
  NVME_STATUS_NAMESPACE_IS_PRIVATE,
  NVME_STATUS_NAMESPACE_NOT_ATTACHED,
  NVME_STATUS_NAMESPACE_THIN_PROVISIONING_NOT_SUPPORTED,
  NVME_STATUS_CONTROLLER_LIST_INVALID,
  NVME_STATUS_DEVICE_SELF_TEST_IN_PROGRESS,
  NVME_STATUS_BOOT_PARTITION_WRITE_PROHIBITED,
  NVME_STATUS_INVALID_CONTROLLER_IDENTIFIER,
  NVME_STATUS_INVALID_SECONDARY_CONTROLLER_STATE,
  NVME_STATUS_INVALID_NUMBER_OF_CONTROLLER_RESOURCES,
  NVME_STATUS_INVALID_RESOURCE_IDENTIFIER,
  NVME_STATUS_SANITIZE_PROHIBITED_ON_PERSISTENT_MEMORY,
  NVME_STATUS_INVALID_ANA_GROUP_IDENTIFIER,
  NVME_STATUS_ANA_ATTACH_FAILED,
  NVME_IO_COMMAND_SET_NOT_SUPPORTED,
  NVME_IO_COMMAND_SET_NOT_ENABLED,
  NVME_IO_COMMAND_SET_COMBINATION_REJECTED,
  NVME_IO_COMMAND_SET_INVALID,
  NVME_STATUS_STREAM_RESOURCE_ALLOCATION_FAILED,
  NVME_STATUS_ZONE_INVALID_FORMAT,
  NVME_STATUS_NVM_CONFLICTING_ATTRIBUTES,
  NVME_STATUS_NVM_INVALID_PROTECTION_INFORMATION,
  NVME_STATUS_NVM_ATTEMPTED_WRITE_TO_READ_ONLY_RANGE,
  NVME_STATUS_NVM_COMMAND_SIZE_LIMIT_EXCEEDED,
  NVME_STATUS_ZONE_BOUNDARY_ERROR,
  NVME_STATUS_ZONE_FULL,
  NVME_STATUS_ZONE_READ_ONLY,
  NVME_STATUS_ZONE_OFFLINE,
  NVME_STATUS_ZONE_INVALID_WRITE,
  NVME_STATUS_ZONE_TOO_MANY_ACTIVE,
  NVME_STATUS_ZONE_TOO_MANY_OPEN,
  NVME_STATUS_ZONE_INVALID_STATE_TRANSITION
} NVME_STATUS_COMMAND_SPECIFIC_CODES;

Constantes

 
NVME_STATUS_COMPLETION_QUEUE_INVALID
O identificador fila de conclusão especificado no comando Criar Fila de Envio de E/S não existe.
NVME_STATUS_INVALID_QUEUE_IDENTIFIER
Indica o seguinte status para estes comandos:

- Criar fila de envio de E/S: falha na criação da Fila de Envio de E/S devido a um identificador de fila inválido especificado como parte do comando. Um identificador de fila inválido é aquele que está em uso no momento ou outro fora do intervalo com suporte do controlador.
– Excluir Fila de Envio de E/S: o identificador de fila especificado no comando é inválido. Esse erro também é indicado se o identificador da Fila de Conclusão do Administrador for especificado.
- Criar Fila de Conclusão de E/S: falha na criação da Fila de Conclusão de E/S devido a um identificador de fila inválido especificado como parte do comando. Um identificador de fila inválido é aquele que está em uso no momento ou outro fora do intervalo com suporte do controlador.
– Excluir Fila de Conclusão de E/S: o identificador de fila especificado no comando é inválido. Esse erro também é indicado se o identificador da Fila de Conclusão do Administrador for especificado.
NVME_STATUS_MAX_QUEUE_SIZE_EXCEEDED
Indica o seguinte status para os comandos Criar Fila de Envio de E/S e Criar Fila de Conclusão de E/S:

O host tentou criar uma Fila de Conclusão de E/S com um número inválido de entradas. Por exemplo, um valor igual a zero ou um valor que excede o máximo suportado pelo controlador especificado no campo MQES da estrutura NVME_CONTROLLER_CAPABILITIES.
NVME_STATUS_ABORT_COMMAND_LIMIT_EXCEEDED
O número de comandos abortados simultaneamente pendentes excedeu o limite indicado no campo acl da estrutura de dados Identifique o Controlador.
NVME_STATUS_ASYNC_EVENT_REQUEST_LIMIT_EXCEEDED
O número de comandos de Solicitação de Evento Assíncrona simultâneos pendentes foi excedido.
NVME_STATUS_INVALID_FIRMWARE_SLOT
O slot de firmware indicado no comando Firmware Commit é inválido ou somente leitura. Esse erro será indicado se o slot de firmware exceder o número com suporte.
NVME_STATUS_INVALID_FIRMWARE_IMAGE
A imagem de firmware especificada para ativação no comando Firmware Commit é inválida e não é carregada pelo controlador.
NVME_STATUS_INVALID_INTERRUPT_VECTOR
Falha na criação da Fila de Conclusão de E/S devido a um vetor de interrupção inválido especificado como parte do comando Criar Fila de Conclusão de E/S.
NVME_STATUS_INVALID_LOG_PAGE
A página de log indicada no comando Obter Página de Log é inválida. Essa condição de erro também será retornada se uma página de log reservada for solicitada.
NVME_STATUS_INVALID_FORMAT
Indica o seguinte status para o comando Formatar NVM: o formato especificado é inválido.

Isso pode ocorrer devido a várias condições, incluindo:

- Especificando um número de formato lba (endereço de bloco lógico) inválido.
- Habilitar informações de proteção quando não houver metadados suficientes por LBA.
- Estado de segurança inválido. Para obter mais informações, consulte osiis (especificação de interações da interface de armazenamento do TCG) .
NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_CONVENTIONAL_RESET
Indica o seguinte status para o comando Firmware Commit:

A confirmação de firmware foi bem-sucedida, no entanto, a ativação da imagem de firmware requer uma redefinição convencional. Se uma REDEFINIÇÃO de Nível de Função (FLR) ou redefinição do controlador ocorrer antes de uma redefinição convencional, o controlador continuará a operação com a imagem de firmware em execução no momento.
NVME_STATUS_INVALID_QUEUE_DELETION
Indica o seguinte status para o comando Excluir Fila de Conclusão de E/S:

É inválido excluir a Fila de Conclusão de E/S especificada. O motivo típico para essa condição de erro é que há uma Fila de Envio de E/S associada que não foi excluída.
NVME_STATUS_FEATURE_ID_NOT_SAVEABLE
O Identificador de Recurso especificado no comando Definir Recursos não dá suporte a um valor salvável.
NVME_STATUS_FEATURE_NOT_CHANGEABLE
O Identificador de Recurso especificado no comando Definir Recursos pode não ser alterado.
NVME_STATUS_FEATURE_NOT_NAMESPACE_SPECIFIC
O Identificador de Recurso especificado no comando Definir Recursos não é específico do namespace. As configurações do Identificador de Recurso se aplicam a todos os namespaces.
NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_NVM_SUBSYSTEM_RESET
Indica o status do comando Firmware Commit.
NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_RESET
Indica o seguinte status para o comando Firmware Commit:

A confirmação de firmware foi bem-sucedida, no entanto, a ativação da imagem de firmware requer uma Redefinição de Subsistema NVM. Se qualquer outro tipo de redefinição ocorrer antes de uma Redefinição de Subsistema NVM, o controlador continuará a operação com a imagem de firmware em execução no momento.
NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_MAX_TIME_VIOLATION
Indica o seguinte status para o comando Firmware Commit:

A imagem especificada se ativada imediatamente excederia o valor de Tempo Máximo para Ativação de Firmware (MFTA) relatado no Controlador de Identificação. Para ativar o firmware, o comando Firmware Commit precisa ser relançado e a imagem ativada usando uma redefinição.
NVME_STATUS_FIRMWARE_ACTIVATION_PROHIBITED
Indica o seguinte status para o comando Firmware Commit:

A imagem especificada está sendo proibida de ser ativada pelo controlador por motivos específicos do fornecedor. Por exemplo, o controlador não dá suporte ao firmware de revisão para baixo.
NVME_STATUS_OVERLAPPING_RANGE
Indica o seguinte status para estes comandos:

- Confirmação de firmware: esse erro será indicado se a imagem de firmware tiver intervalos sobrepostos.
- Definir Recursos: esse erro será indicado se a estrutura de dados tipo de intervalo LBA tiver intervalos sobrepostos.
– Download de Imagem do Firmware: esse erro será indicado se a imagem de firmware tiver intervalos sobrepostos.
NVME_STATUS_NAMESPACE_INSUFFICIENT_CAPACITY
Indica o seguinte status para o comando Gerenciamento de Namespace:

A criação do namespace requer mais espaço livre do que está disponível no momento. O campo Informações Específicas do Comando do Log de Informações de Erro especifica a quantidade total de capacidade de NVM necessária para criar o namespace em bytes.
NVME_STATUS_NAMESPACE_IDENTIFIER_UNAVAILABLE
Indica o seguinte status para o comando Gerenciamento de Namespace:

O número de namespaces com suporte foi excedido.
NVME_STATUS_NAMESPACE_ALREADY_ATTACHED
Indica o seguinte status para o comando Anexo do Namespace:

O controlador já está anexado ao namespace especificado.
NVME_STATUS_NAMESPACE_IS_PRIVATE
Indica o seguinte status para o comando Anexo do Namespace:

O controlador não está anexado ao namespace. A solicitação para anexar o controlador não pôde ser concluída porque o namespace é privado e já está anexado a um controlador.
NVME_STATUS_NAMESPACE_NOT_ATTACHED
Indica o seguinte status para o comando Anexo do Namespace:

O controlador não está anexado ao namespace. A solicitação para desanexar o controlador não pôde ser concluída.
NVME_STATUS_NAMESPACE_THIN_PROVISIONING_NOT_SUPPORTED
NVME_STATUS_CONTROLLER_LIST_INVALID
Indica o seguinte status para o comando Anexo do Namespace:

A lista de controladores fornecida é inválida.
NVME_STATUS_DEVICE_SELF_TEST_IN_PROGRESS
Indica o status do comando de auto-teste do dispositivo.
NVME_STATUS_BOOT_PARTITION_WRITE_PROHIBITED
Indica o status do comando Firmware Commit.
NVME_STATUS_INVALID_CONTROLLER_IDENTIFIER
Indica o status do comando Gerenciamento de Virtualização.
NVME_STATUS_INVALID_SECONDARY_CONTROLLER_STATE
Indica o status do comando Gerenciamento de Virtualização
NVME_STATUS_INVALID_NUMBER_OF_CONTROLLER_RESOURCES
Indica o status do comando Gerenciamento de Virtualização.
NVME_STATUS_INVALID_RESOURCE_IDENTIFIER
Indica o status do comando Gerenciamento de Virtualização.
NVME_STATUS_STREAM_RESOURCE_ALLOCATION_FAILED
Indica o status do comando diretiva Streams.
NVME_STATUS_NVM_CONFLICTING_ATTRIBUTES
Indica o seguinte status para estes comandos: Gerenciamento de conjunto de dados, leitura, gravação

Os atributos especificados no comando são conflitantes.
NVME_STATUS_NVM_INVALID_PROTECTION_INFORMATION
Indica o seguinte status para estes comandos: Comparar, Ler, Gravar, Gravar Zeros

As configurações de Informações de Proteção especificadas no comando são inválidas.
NVME_STATUS_NVM_ATTEMPTED_WRITE_TO_READ_ONLY_RANGE
Indica o seguinte status para estes comandos: Gerenciamento de conjunto de dados, gravação, gravação não executável, zeros de gravação

Opcionalmente, o controlador poderá relatar esse status se uma desalocação for tentada para um intervalo somente leitura.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 10
cabeçalho nvme.h