Condividi tramite


enumerazione NVME_STATUS_COMMAND_SPECIFIC_CODES (nvme.h)

Contiene valori che indicano lo stato specifico di un comando specifico.

Questi codici di stato sono del NVME_STATUS_TYPE_COMMAND_SPECIFICtipo di codice di stato e vengono pubblicati dal controller in una voce della coda di completamento al termine di un comando.

Sintassi

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;

Costanti

 
NVME_STATUS_COMPLETION_QUEUE_INVALID
L'identificatore della coda di completamento specificato nel comando Crea coda di invio I/O non esiste.
NVME_STATUS_INVALID_QUEUE_IDENTIFIER
Indica lo stato seguente per questi comandi:

- Crea coda di invio di I/O: la creazione della coda di invio di I/O non è riuscita a causa di un identificatore di coda non valido specificato come parte del comando. Un identificatore di coda non valido è uno attualmente in uso o uno non compreso nell'intervallo supportato dal controller.
- Elimina coda di invio di I/O: l'identificatore della coda specificato nel comando non è valido. Questo errore viene indicato anche se è specificato l'identificatore della coda di completamento amministratore.
- Crea coda di completamento I/O: la creazione della coda di completamento I/O non è riuscita a causa di un identificatore di coda non valido specificato come parte del comando. Un identificatore di coda non valido è uno attualmente in uso o uno non compreso nell'intervallo supportato dal controller.
- Elimina coda di completamento I/O: l'identificatore della coda specificato nel comando non è valido. Questo errore viene indicato anche se è specificato l'identificatore della coda di completamento amministratore.
NVME_STATUS_MAX_QUEUE_SIZE_EXCEEDED
Indica lo stato seguente per i comandi Create I/O Submission Queue (Crea coda di invio I/O) e Create I/O Completion Queue (Crea coda di completamento I/O):

L'host ha tentato di creare una coda di completamento I/O con un numero di voci non valido. Ad esempio, un valore pari a zero o un valore che supera il valore massimo supportato dal controller specificato nel campo MQES della struttura NVME_CONTROLLER_CAPABILITIES.
NVME_STATUS_ABORT_COMMAND_LIMIT_EXCEEDED
Il numero di comandi di interruzione in sospeso simultanei ha superato il limite indicato nel campo ACL di del Identificare la struttura dei dati del controller.
NVME_STATUS_ASYNC_EVENT_REQUEST_LIMIT_EXCEEDED
È stato superato il numero di comandi di richiesta di evento asincrona in sospeso contemporaneamente.
NVME_STATUS_INVALID_FIRMWARE_SLOT
Lo slot del firmware indicato nel comando Firmware Commit non è valido o di sola lettura. Questo errore è indicato se lo slot del firmware supera il numero supportato.
NVME_STATUS_INVALID_FIRMWARE_IMAGE
L'immagine del firmware specificata per l'attivazione nel comando Firmware Commit non è valida e non è caricata dal controller.
NVME_STATUS_INVALID_INTERRUPT_VECTOR
La creazione della coda di completamento I/O non è riuscita a causa di un vettore di interrupt non valido specificato come parte del comando Crea coda di completamento I/O.
NVME_STATUS_INVALID_LOG_PAGE
La pagina del log indicata nel comando Recupera pagina log non è valida. Questa condizione di errore viene restituita anche se viene richiesta una pagina di log riservata.
NVME_STATUS_INVALID_FORMAT
Indica lo stato seguente per il comando Format NVM: il formato specificato non è valido.

Ciò può essere dovuto a varie condizioni, tra cui:

- Specifica di un numero di formato LBA (Logical Block Address) non valido.
- Abilitazione delle informazioni di protezione quando non sono presenti metadati sufficienti per LBA.
- Stato di sicurezza non valido. Per altre informazioni, vedere TCG Storage Interface Interactions Specification (SIIS).
NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_CONVENTIONAL_RESET
Indica lo stato seguente per il comando Firmware Commit:

Il commit del firmware ha avuto esito positivo, tuttavia, l'attivazione dell'immagine del firmware richiede una reimpostazione convenzionale. Se si verifica una reimpostazione del livello di funzione (FLR) o un controller prima di una reimpostazione convenzionale, il controller continuerà l'operazione con l'immagine del firmware attualmente in esecuzione.
NVME_STATUS_INVALID_QUEUE_DELETION
Indica lo stato seguente per il comando Elimina coda di completamento I/O:

Non è valido eliminare la coda di completamento I/O specificata. Il motivo tipico di questa condizione di errore è che esiste una coda di invio I/O associata che non è stata eliminata.
NVME_STATUS_FEATURE_ID_NOT_SAVEABLE
L'identificatore di funzionalità specificato nel comando Imposta funzionalità non supporta un valore salvabile.
NVME_STATUS_FEATURE_NOT_CHANGEABLE
L'identificatore di funzionalità specificato nel comando Imposta funzionalità potrebbe non essere modificato.
NVME_STATUS_FEATURE_NOT_NAMESPACE_SPECIFIC
L'identificatore di funzionalità specificato nel comando Imposta funzionalità non è specifico dello spazio dei nomi. Le impostazioni dell'identificatore di funzionalità si applicano a tutti gli spazi dei nomi.
NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_NVM_SUBSYSTEM_RESET
Indica lo stato per il comando Firmware Commit.
NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_RESET
Indica lo stato seguente per il comando Firmware Commit:

Il commit del firmware ha avuto esito positivo, tuttavia, l'attivazione dell'immagine del firmware richiede una reimpostazione del sottosistema NVM. Se si verifica un altro tipo di reimpostazione prima di una reimpostazione del sottosistema NVM, il controller continuerà l'operazione con l'immagine del firmware attualmente in esecuzione.
NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_MAX_TIME_VIOLATION
Indica lo stato seguente per il comando Firmware Commit:

The image specified if activated immediately would exceed the Maximum Time for Firmware Activation (MFTA) value reported in Identify Controller. Per attivare il firmware, è necessario riemettere il comando Firmware Commit e attivare l'immagine usando una reimpostazione.
NVME_STATUS_FIRMWARE_ACTIVATION_PROHIBITED
Indica lo stato seguente per il comando Firmware Commit:

L'immagine specificata non è consentita dall'attivazione da parte del controller per motivi specifici del fornitore. Ad esempio, il controller non supporta il firmware di revisione inattivo.
NVME_STATUS_OVERLAPPING_RANGE
Indica lo stato seguente per questi comandi:

- Commit del firmware: questo errore è indicato se l'immagine del firmware presenta intervalli sovrapposti.
- Imposta funzionalità: questo errore viene indicato se la struttura dei dati Tipo di intervallo LBA ha intervalli sovrapposti.
- Download immagine firmware: questo errore è indicato se l'immagine del firmware ha intervalli sovrapposti.
NVME_STATUS_NAMESPACE_INSUFFICIENT_CAPACITY
Indica lo stato seguente per il comando Gestione spazio dei nomi:

La creazione dello spazio dei nomi richiede più spazio disponibile rispetto a quello attualmente disponibile. Il campo Informazioni specifiche del comando del log informazioni sugli errori specifica la quantità totale di capacità NVM necessaria per creare lo spazio dei nomi in byte.
NVME_STATUS_NAMESPACE_IDENTIFIER_UNAVAILABLE
Indica lo stato seguente per il comando Gestione spazio dei nomi:

È stato superato il numero di spazi dei nomi supportati.
NVME_STATUS_NAMESPACE_ALREADY_ATTACHED
Indica lo stato seguente per il comando Attachment dello spazio dei nomi:

Il controller è già collegato allo spazio dei nomi specificato.
NVME_STATUS_NAMESPACE_IS_PRIVATE
Indica lo stato seguente per il comando Attachment dello spazio dei nomi:

Il controller non è collegato allo spazio dei nomi . Impossibile completare la richiesta di collegare il controller perché lo spazio dei nomi è privato ed è già collegato a un controller.
NVME_STATUS_NAMESPACE_NOT_ATTACHED
Indica lo stato seguente per il comando Attachment dello spazio dei nomi:

Il controller non è collegato allo spazio dei nomi . Impossibile completare la richiesta di scollegamento del controller.
NVME_STATUS_NAMESPACE_THIN_PROVISIONING_NOT_SUPPORTED
NVME_STATUS_CONTROLLER_LIST_INVALID
Indica lo stato seguente per il comando Attachment dello spazio dei nomi:

L'elenco di controller specificato non è valido.
NVME_STATUS_DEVICE_SELF_TEST_IN_PROGRESS
Indica lo stato per il comando Device Self-test.
NVME_STATUS_BOOT_PARTITION_WRITE_PROHIBITED
Indica lo stato per il comando Firmware Commit.
NVME_STATUS_INVALID_CONTROLLER_IDENTIFIER
Indica lo stato per il comando Virtualization Management.
NVME_STATUS_INVALID_SECONDARY_CONTROLLER_STATE
Indica lo stato del comando Virtualization Management
NVME_STATUS_INVALID_NUMBER_OF_CONTROLLER_RESOURCES
Indica lo stato per il comando Virtualization Management.
NVME_STATUS_INVALID_RESOURCE_IDENTIFIER
Indica lo stato per il comando Virtualization Management.
NVME_STATUS_STREAM_RESOURCE_ALLOCATION_FAILED
Indica lo stato per il comando Streams Directive.
NVME_STATUS_NVM_CONFLICTING_ATTRIBUTES
Indica lo stato seguente per questi comandi: Gestione set di dati, Lettura, Scrittura

Gli attributi specificati nel comando sono in conflitto.
NVME_STATUS_NVM_INVALID_PROTECTION_INFORMATION
Indica lo stato seguente per questi comandi: Confronto, Lettura, Scrittura, Zeri di scrittura

Le impostazioni di Protection Information specificate nel comando non sono valide.
NVME_STATUS_NVM_ATTEMPTED_WRITE_TO_READ_ONLY_RANGE
Indica lo stato seguente per questi comandi: Gestione set di dati, Scrittura, Scrittura non correzione, Scrittura zero

Il controller può facoltativamente segnalare questo stato se si tenta di deallocare un intervallo di sola lettura.

Fabbisogno

Requisito Valore
client minimo supportato Windows 10
intestazione nvme.h