enumeración NVME_STATUS_COMMAND_SPECIFIC_CODES (nvme.h)

Contiene valores que indican el estado específico de un comando determinado.

Estos códigos de estado son del tipo de código de estado NVME_STATUS_TYPE_COMMAND_SPECIFICy el controlador publica en una entrada de cola de finalización cuando se completa un comando.

Syntax

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
El identificador de cola de finalización especificado en el comando Crear cola de envío de E/S no existe.
NVME_STATUS_INVALID_QUEUE_IDENTIFIER
Indica el siguiente estado para estos comandos:

- Crear cola de envío de E/S: se produjo un error en la creación de la cola de envío de E/S debido a un identificador de cola no válido especificado como parte del comando. Un identificador de cola no válido es uno que está actualmente en uso o uno que está fuera del intervalo admitido por el controlador.
- Eliminar cola de envío de E/S: el identificador de cola especificado en el comando no es válido. Este error también se indica si se especifica el identificador de cola de finalización de Administración.
- Crear cola de finalización de E/S: se produjo un error en la creación de la cola de finalización de E/S debido a un identificador de cola no válido especificado como parte del comando. Un identificador de cola no válido es uno que está actualmente en uso o uno que está fuera del intervalo admitido por el controlador.
- Eliminar cola de finalización de E/S: el identificador de cola especificado en el comando no es válido. Este error también se indica si se especifica el identificador de cola de finalización de Administración.
NVME_STATUS_MAX_QUEUE_SIZE_EXCEEDED
Indica el siguiente estado para los comandos Crear cola de envío de E/S y Crear cola de finalización de E/S:

El host intentó crear una cola de finalización de E/S con un número no válido de entradas. Por ejemplo, un valor de cero o un valor que supera el máximo admitido por el controlador especificado en el campo MQES de la estructura NVME_CONTROLLER_CAPABILITIES .
NVME_STATUS_ABORT_COMMAND_LIMIT_EXCEEDED
El número de comandos Abort pendientes simultáneamente ha superado el límite indicado en el campo ACL de la estructura de datos del controlador de identificación.
NVME_STATUS_ASYNC_EVENT_REQUEST_LIMIT_EXCEEDED
Se ha superado el número de comandos de solicitud de eventos asincrónicas pendientes simultáneamente.
NVME_STATUS_INVALID_FIRMWARE_SLOT
La ranura de firmware indicada en el comando Confirmación de firmware no es válida o solo lectura. Este error se indica si la ranura de firmware supera el número admitido.
NVME_STATUS_INVALID_FIRMWARE_IMAGE
La imagen de firmware especificada para la activación en el comando Confirmación de firmware no es válida y no la carga el controlador.
NVME_STATUS_INVALID_INTERRUPT_VECTOR
Error en la creación de la cola de finalización de E/S debido a un vector de interrupción no válido especificado como parte del comando Crear cola de finalización de E/S.
NVME_STATUS_INVALID_LOG_PAGE
La página de registro indicada en el comando Obtener página de registro no es válida. Esta condición de error también se devuelve si se solicita una página de registro reservada.
NVME_STATUS_INVALID_FORMAT
Indica el siguiente estado para el comando Format NVM: El formato especificado no es válido.

Esto puede deberse a varias condiciones, entre las que se incluyen:

- Especificar un número de formato de dirección de bloque lógico (LBA) no válido.
- Habilitar la información de protección cuando no hay suficientes metadatos por LBA.
- Estado de seguridad no válido. Para obtener más información, consulte especificación de interacciones de la interfaz de almacenamiento TCG (SIIS).
NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_CONVENTIONAL_RESET
Indica el siguiente estado para el comando Confirmación de firmware:

La confirmación del firmware se realizó correctamente; sin embargo, la activación de la imagen de firmware requiere un restablecimiento convencional. Si se produce un restablecimiento de nivel de función (FLR) o un restablecimiento del controlador antes de un restablecimiento convencional, el controlador seguirá funcionando con la imagen de firmware que se está ejecutando actualmente.
NVME_STATUS_INVALID_QUEUE_DELETION
Indica el siguiente estado para el comando Eliminar cola de finalización de E/S:

No es válido eliminar la cola de finalización de E/S especificada. El motivo típico de esta condición de error es que hay una cola de envío de E/S asociada que no se ha eliminado.
NVME_STATUS_FEATURE_ID_NOT_SAVEABLE
El identificador de características especificado en el comando Establecer características no admite un valor ahorrable.
NVME_STATUS_FEATURE_NOT_CHANGEABLE
Es posible que no se cambie el identificador de características especificado en el comando Establecer características.
NVME_STATUS_FEATURE_NOT_NAMESPACE_SPECIFIC
El identificador de características especificado en el comando Establecer características no es específico del espacio de nombres. La configuración del identificador de características se aplica en todos los espacios de nombres.
NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_NVM_SUBSYSTEM_RESET
Indica el estado del comando Confirmación de firmware.
NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_RESET
Indica el siguiente estado para el comando Confirmación de firmware:

La confirmación del firmware se realizó correctamente; sin embargo, la activación de la imagen de firmware requiere un restablecimiento del subsistema NVM. Si se produce cualquier otro tipo de restablecimiento antes de un restablecimiento del subsistema NVM, el controlador seguirá funcionando con la imagen de firmware que se está ejecutando actualmente.
NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_MAX_TIME_VIOLATION
Indica el siguiente estado para el comando Confirmación de firmware:

La imagen especificada si se activa inmediatamente superaría el valor de tiempo máximo para la activación de firmware (MFTA) notificado en El controlador de identificación. Para activar el firmware, el comando Confirmación de firmware debe volver a emitirse y la imagen se activa mediante un restablecimiento.
NVME_STATUS_FIRMWARE_ACTIVATION_PROHIBITED
Indica el siguiente estado para el comando Confirmación de firmware:

La imagen especificada está prohibida para la activación por parte del controlador por motivos específicos del proveedor. Por ejemplo, el controlador no admite el firmware de revisión.
NVME_STATUS_OVERLAPPING_RANGE
Indica el siguiente estado para estos comandos:

- Confirmación del firmware: este error se indica si la imagen de firmware tiene intervalos superpuestos.
- Establecer características: este error se indica si la estructura de datos del tipo de rango LBA tiene intervalos superpuestos.
- Descarga de imagen de firmware: este error se indica si la imagen de firmware tiene intervalos superpuestos.
NVME_STATUS_NAMESPACE_INSUFFICIENT_CAPACITY
Indica el siguiente estado para el comando Administración de espacios de nombres:

La creación del espacio de nombres requiere más espacio libre de lo que está disponible actualmente. El campo Información específica del comando del registro de información de errores especifica la cantidad total de capacidad de NVM necesaria para crear el espacio de nombres en bytes.
NVME_STATUS_NAMESPACE_IDENTIFIER_UNAVAILABLE
Indica el siguiente estado para el comando Administración de espacios de nombres:

Se ha superado el número de espacios de nombres admitidos.
NVME_STATUS_NAMESPACE_ALREADY_ATTACHED
Indica el siguiente estado para el comando Namespace Attachment:

El controlador ya está asociado al espacio de nombres especificado.
NVME_STATUS_NAMESPACE_IS_PRIVATE
Indica el siguiente estado para el comando Namespace Attachment:

El controlador no está asociado al espacio de nombres. No se pudo completar la solicitud para adjuntar el controlador porque el espacio de nombres es privado y ya está asociado a un controlador.
NVME_STATUS_NAMESPACE_NOT_ATTACHED
Indica el siguiente estado para el comando Namespace Attachment:

El controlador no está asociado al espacio de nombres. No se pudo completar la solicitud para desasociar el controlador.
NVME_STATUS_NAMESPACE_THIN_PROVISIONING_NOT_SUPPORTED
NVME_STATUS_CONTROLLER_LIST_INVALID
Indica el siguiente estado para el comando Namespace Attachment:

La lista de controladores proporcionada no es válida.
NVME_STATUS_DEVICE_SELF_TEST_IN_PROGRESS
Indica el estado del comando Device Self-test.
NVME_STATUS_BOOT_PARTITION_WRITE_PROHIBITED
Indica el estado del comando Confirmación de firmware.
NVME_STATUS_INVALID_CONTROLLER_IDENTIFIER
Indica el estado del comando Virtualization Management.
NVME_STATUS_INVALID_SECONDARY_CONTROLLER_STATE
Indica el estado del comando Virtualization Management.
NVME_STATUS_INVALID_NUMBER_OF_CONTROLLER_RESOURCES
Indica el estado del comando Virtualization Management.
NVME_STATUS_INVALID_RESOURCE_IDENTIFIER
Indica el estado del comando Virtualization Management.
NVME_STATUS_STREAM_RESOURCE_ALLOCATION_FAILED
Indica el estado del comando Directiva streams.
NVME_STATUS_NVM_CONFLICTING_ATTRIBUTES
Indica el siguiente estado para estos comandos: Administración de conjuntos de datos, Lectura, Escritura

Los atributos especificados en el comando están en conflicto.
NVME_STATUS_NVM_INVALID_PROTECTION_INFORMATION
Indica el estado siguiente para estos comandos: Compare, Read, Write, Write Zeroes

La configuración de información de protección especificada en el comando no es válida.
NVME_STATUS_NVM_ATTEMPTED_WRITE_TO_READ_ONLY_RANGE
Indica el siguiente estado para estos comandos: Administración de conjuntos de datos, Escritura, Escritura, Escritura nocorrectable, Escritura ceros

Opcionalmente, el controlador puede notificar este estado si se intenta desasignar un intervalo de solo lectura.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 10
Encabezado nvme.h