NVME_STATUS_COMMAND_SPECIFIC_CODES-Enumeration (nvme.h)

Enthält Werte, die den Status angeben, der für einen bestimmten Befehl spezifisch ist.

Diese Statuscodes sind vom NVME_STATUS_TYPE_COMMAND_SPECIFICStatuscodetyp und werden vom Controller in einem Vervollständigungswarteschlangeneintrag bereitgestellt, wenn ein Befehl abgeschlossen ist.

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;

Konstanten

 
NVME_STATUS_COMPLETION_QUEUE_INVALID
Der im Befehl E/A-Übermittlungswarteschlange erstellen angegebene Bezeichner der Vervollständigungswarteschlange ist nicht vorhanden.
NVME_STATUS_INVALID_QUEUE_IDENTIFIER
Gibt den folgenden Status für diese Befehle an:

- E/A-Übermittlungswarteschlange erstellen: Fehler bei der Erstellung der E/A-Übermittlungswarteschlange aufgrund eines ungültigen Warteschlangenbezeichners, der im Rahmen des Befehls angegeben wurde. Ein ungültiger Warteschlangenbezeichner ist eine, die derzeit verwendet wird, oder eine, die sich außerhalb des vom Controller unterstützten Bereichs befindet.
- E/A-Übermittlungswarteschlange löschen: Der im Befehl angegebene Warteschlangenbezeichner ist ungültig. Dieser Fehler wird auch angezeigt, wenn der Admin Vervollständigungswarteschlangenbezeichner angegeben ist.
- E/A-Vervollständigungswarteschlange erstellen: Fehler bei der Erstellung der E/A-Vervollständigungswarteschlange aufgrund eines ungültigen Warteschlangenbezeichners, der im Rahmen des Befehls angegeben wurde. Ein ungültiger Warteschlangenbezeichner ist eine, die derzeit verwendet wird, oder eine, die sich außerhalb des vom Controller unterstützten Bereichs befindet.
- E/A-Vervollständigungswarteschlange löschen: Der im Befehl angegebene Warteschlangenbezeichner ist ungültig. Dieser Fehler wird auch angezeigt, wenn der Admin Vervollständigungswarteschlangenbezeichner angegeben ist.
NVME_STATUS_MAX_QUEUE_SIZE_EXCEEDED
Gibt den folgenden Status für die Befehle E/A-Übermittlungswarteschlange erstellen und E/A-Vervollständigungswarteschlange erstellen an:

Der Host hat versucht, eine E/A-Vervollständigungswarteschlange mit einer ungültigen Anzahl von Einträgen zu erstellen. Beispielsweise ein Wert von null oder ein Wert, der das vom Controller im Feld MQES der NVME_CONTROLLER_CAPABILITIES-Struktur angegebene Maximalwert überschreitet.
NVME_STATUS_ABORT_COMMAND_LIMIT_EXCEEDED
Die Anzahl gleichzeitig ausstehender Abbruchbefehle hat den grenzwert überschritten, der im Feld ACL der Datenstruktur Identifizieren des Controllers angegeben ist.
NVME_STATUS_ASYNC_EVENT_REQUEST_LIMIT_EXCEEDED
Die Anzahl gleichzeitig ausstehender Asynchroner Ereignisanforderungsbefehle wurde überschritten.
NVME_STATUS_INVALID_FIRMWARE_SLOT
Der im Befehl Firmware Commit angegebene Firmwareslot ist ungültig oder schreibgeschützt. Dieser Fehler wird angezeigt, wenn der Firmwareslot die unterstützte Anzahl überschreitet.
NVME_STATUS_INVALID_FIRMWARE_IMAGE
Das für die Aktivierung im Befehl Firmware Commit angegebene Firmwareimage ist ungültig und wird nicht vom Controller geladen.
NVME_STATUS_INVALID_INTERRUPT_VECTOR
Fehler bei der Erstellung der E/A-Vervollständigungswarteschlange aufgrund eines ungültigen Interruptvektors, der im Rahmen des Befehls E/A-Vervollständigungswarteschlange erstellen angegeben wurde.
NVME_STATUS_INVALID_LOG_PAGE
Die protokollseitige Angabe im Befehl Protokollseite abrufen ist ungültig. Diese Fehlerbedingung wird auch zurückgegeben, wenn eine reservierte Protokollseite angefordert wird.
NVME_STATUS_INVALID_FORMAT
Gibt den folgenden Status für den Befehl NVM format an: Das angegebene Format ist ungültig.

Dies kann auf verschiedene Bedingungen zurückzuführen sein, einschließlich:

– Angeben einer ungültigen LBA-Formatnummer (Logical Block Address).
- Aktivieren von Schutzinformationen, wenn nicht genügend Metadaten pro LBA vorhanden sind.
– Ungültiger Sicherheitsstatus. Weitere Informationen finden Sie in der TCG Storage Interface Interactions Specification (SIIS).
NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_CONVENTIONAL_RESET
Gibt den folgenden Status für den Befehl Firmware Commit an:

Der Firmwarecommit war erfolgreich, die Aktivierung des Firmwareimages erfordert jedoch ein herkömmliches Zurücksetzen. Wenn vor einem herkömmlichen Zurücksetzen eine FlR-Zurücksetzung (Function Level Reset) oder eine Controllerzurücksetzung erfolgt, muss der Controller den Betrieb mit dem aktuell ausgeführten Firmwareimage fortsetzen.
NVME_STATUS_INVALID_QUEUE_DELETION
Gibt den folgenden Status für den Befehl E/A-Vervollständigungswarteschlange löschen an:

Es ist ungültig, die angegebene E/A-Vervollständigungswarteschlange zu löschen. Der typische Grund für diese Fehlerbedingung ist, dass eine zugeordnete E/A-Übermittlungswarteschlange vorhanden ist, die nicht gelöscht wurde.
NVME_STATUS_FEATURE_ID_NOT_SAVEABLE
Der im Befehl Features festlegen angegebene Featurebezeichner unterstützt keinen speicherbaren Wert.
NVME_STATUS_FEATURE_NOT_CHANGEABLE
Der im Befehl Features festlegen angegebene Featurebezeichner kann nicht geändert werden.
NVME_STATUS_FEATURE_NOT_NAMESPACE_SPECIFIC
Der im Befehl Features festlegen angegebene Featurebezeichner ist nicht namespacespezifisch. Die Featurebezeichnereinstellungen gelten für alle Namespaces.
NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_NVM_SUBSYSTEM_RESET
Gibt den Status für den Befehl Firmware Commit an.
NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_RESET
Gibt den folgenden Status für den Befehl Firmware Commit an:

Der Firmwarecommit war erfolgreich, die Aktivierung des Firmwareimages erfordert jedoch eine NVM-Subsystemzurücksetzung. Wenn vor einer NVM-Subsystemzurücksetzung eine andere Art des Zurücksetzens erfolgt, muss der Controller den Betrieb mit dem aktuell ausgeführten Firmwareimage fortsetzen.
NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_MAX_TIME_VIOLATION
Gibt den folgenden Status für den Befehl Firmware Commit an:

Das angegebene Bild, wenn es sofort aktiviert wird, überschreitet den mfTA-Wert (Maximum Time for Firmware Activation, maximale Zeit für die Firmwareaktivierung), der in "Controller identifizieren" gemeldet wurde. Um die Firmware zu aktivieren, muss der Firmware Commit-Befehl erneut ausgegeben und das Image mithilfe eines Zurücksetzens aktiviert werden.
NVME_STATUS_FIRMWARE_ACTIVATION_PROHIBITED
Gibt den folgenden Status für den Befehl Firmware Commit an:

Die Aktivierung des angegebenen Images durch den Controller ist aus herstellerspezifischen Gründen untersagt. Der Controller unterstützt z. B. keine Downrevisionsfirmware.
NVME_STATUS_OVERLAPPING_RANGE
Gibt den folgenden Status für diese Befehle an:

- Firmwarecommit: Dieser Fehler wird angezeigt, wenn das Firmwareimage überlappende Bereiche aufweist.
- Features festlegen: Dieser Fehler wird angezeigt, wenn die LBA-Bereichstyp-Datenstruktur überlappende Bereiche aufweist.
- Firmware Image Download: Dieser Fehler wird angezeigt, wenn das Firmwareimage überlappende Bereiche aufweist.
NVME_STATUS_NAMESPACE_INSUFFICIENT_CAPACITY
Gibt den folgenden Status für den Befehl Namespaceverwaltung an:

Das Erstellen des Namespace erfordert mehr freien Speicherplatz als derzeit verfügbar ist. Das Feld Befehlsspezifische Informationen des Fehlerinformationsprotokolls gibt die Gesamtmenge der NVM-Kapazität an, die zum Erstellen des Namespaces in Bytes erforderlich ist.
NVME_STATUS_NAMESPACE_IDENTIFIER_UNAVAILABLE
Gibt den folgenden Status für den Befehl Namespaceverwaltung an:

Die Anzahl der unterstützten Namespaces wurde überschritten.
NVME_STATUS_NAMESPACE_ALREADY_ATTACHED
Gibt den folgenden Status für den Befehl Namespaceanlage an:

Der Controller ist bereits an den angegebenen Namespace angefügt.
NVME_STATUS_NAMESPACE_IS_PRIVATE
Gibt den folgenden Status für den Befehl Namespaceanlage an:

Der Controller ist nicht an den Namespace angefügt. Die Anforderung zum Anfügen des Controllers konnte nicht abgeschlossen werden, da der Namespace privat ist und bereits an einen Controller angefügt ist.
NVME_STATUS_NAMESPACE_NOT_ATTACHED
Gibt den folgenden Status für den Befehl Namespaceanlage an:

Der Controller ist nicht an den Namespace angefügt. Die Anforderung zum Trennen des Controllers konnte nicht abgeschlossen werden.
NVME_STATUS_NAMESPACE_THIN_PROVISIONING_NOT_SUPPORTED
NVME_STATUS_CONTROLLER_LIST_INVALID
Gibt den folgenden Status für den Befehl Namespaceanlage an:

Die angegebene Controllerliste ist ungültig.
NVME_STATUS_DEVICE_SELF_TEST_IN_PROGRESS
Gibt den Status für den Befehl Device Self-test an.
NVME_STATUS_BOOT_PARTITION_WRITE_PROHIBITED
Gibt den Status für den Befehl Firmware Commit an.
NVME_STATUS_INVALID_CONTROLLER_IDENTIFIER
Gibt den Status für den Befehl Virtualisierungsverwaltung an.
NVME_STATUS_INVALID_SECONDARY_CONTROLLER_STATE
Gibt den Status für den Befehl Virtualisierungsverwaltung an.
NVME_STATUS_INVALID_NUMBER_OF_CONTROLLER_RESOURCES
Gibt den Status für den Befehl Virtualisierungsverwaltung an.
NVME_STATUS_INVALID_RESOURCE_IDENTIFIER
Gibt den Status für den Befehl Virtualisierungsverwaltung an.
NVME_STATUS_STREAM_RESOURCE_ALLOCATION_FAILED
Gibt den Status für den Befehl Streams-Direktive an.
NVME_STATUS_NVM_CONFLICTING_ATTRIBUTES
Gibt den folgenden Status für diese Befehle an: Datasetverwaltung, Lesen, Schreiben

Die im Befehl angegebenen Attribute stehen in Konflikt.
NVME_STATUS_NVM_INVALID_PROTECTION_INFORMATION
Gibt den folgenden Status für diese Befehle an: Vergleichen, Lesen, Schreiben, Nullen schreiben

Die im Befehl angegebenen Einstellungen für Schutzinformationen sind ungültig.
NVME_STATUS_NVM_ATTEMPTED_WRITE_TO_READ_ONLY_RANGE
Gibt den folgenden Status für diese Befehle an: Datasetverwaltung, Schreiben, Nicht korrigierbar schreiben, Nullen schreiben

Der Controller kann diesen Status optional melden, wenn ein Deallocate für einen schreibgeschützten Bereich versucht wird.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 10
Kopfzeile nvme.h