Freigeben über


NVME_STATUS_COMMAND_SPECIFIC_CODES-Aufzählung (nvme.h)

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

Diese Statuscodes sind der NVME_STATUS_TYPE_COMMAND_SPECIFICStatuscodetyp und werden vom Controller in einem Eintrag der Abschlusswarteschlange, wenn ein Befehl abgeschlossen ist, bereitgestellt.

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 beim Erstellen der E/A-Übermittlungswarteschlange aufgrund eines ungültigen Warteschlangenbezeichners, der als Teil des Befehls angegeben wurde. Ein ungültiger Warteschlangenbezeichner ist ein Bezeichner, der 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 angegeben, wenn der Bezeichner der Administratorabschlusswarteschlange angegeben ist.
- E/A-Vervollständigungswarteschlange erstellen: Fehler beim Erstellen der E/A-Vervollständigungswarteschlange aufgrund eines ungültigen Warteschlangenbezeichners, der als Teil des Befehls angegeben wurde. Ein ungültiger Warteschlangenbezeichner ist ein Bezeichner, der 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 angegeben, wenn der Bezeichner der Administratorabschlusswarteschlange 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. Beispiel: ein Wert von Null oder ein Wert, der die maximale Unterstützung durch den Controller überschreitet, der im MQES Feld der NVME_CONTROLLER_CAPABILITIES Struktur angegeben ist.
NVME_STATUS_ABORT_COMMAND_LIMIT_EXCEEDED
Die Anzahl gleichzeitig ausstehender Abort-Befehle hat den grenzwert überschritten, der im feld ACL- feld der Identifizieren der Datenstruktur des Controllersangegeben ist.
NVME_STATUS_ASYNC_EVENT_REQUEST_LIMIT_EXCEEDED
Die Anzahl der gleichzeitig ausstehenden Befehle für asynchrone Ereignisanforderung wurde überschritten.
NVME_STATUS_INVALID_FIRMWARE_SLOT
Der im Befehl "Firmware Commit" angegebene Firmwaresteckplatz ist ungültig oder schreibgeschützt. Dieser Fehler wird angegeben, wenn der Firmwareplatz die unterstützte Anzahl überschreitet.
NVME_STATUS_INVALID_FIRMWARE_IMAGE
Das für die Aktivierung im Firmware Commit-Befehl angegebene Firmwareimage ist ungültig und nicht vom Controller geladen.
NVME_STATUS_INVALID_INTERRUPT_VECTOR
Fehler beim Erstellen der E/A-Vervollständigungswarteschlange aufgrund eines ungültigen Unterbrechungsvektors, der im Rahmen des Befehls "E/A-Vervollständigungswarteschlange erstellen" angegeben wurde.
NVME_STATUS_INVALID_LOG_PAGE
Die im Befehl "Protokollseite abrufen" angegebene Protokollseite 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 formatieren" an: Das angegebene Format ist ungültig.

Dies kann auf verschiedene Bedingungen zurückzuführen sein, darunter:

- Angeben einer ungültigen LBA-Formatnummer (Logical Block Address).
– Aktivieren von Schutzinformationen, wenn keine ausreichenden 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 Firmware Commit-Befehl an:

Der Firmware-Commit war jedoch erfolgreich, die Aktivierung des Firmwareimages erfordert eine herkömmliche Zurücksetzung. Wenn ein Zurücksetzen auf Funktionsebene (Function Level Reset, FLR) oder Controllerzurücksetzung vor einem herkömmlichen Zurücksetzen auftritt, muss der Controller den Betrieb mit dem derzeit 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 wird möglicherweise nicht geändert.
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 Firmware Commit-Befehl an.
NVME_STATUS_FIRMWARE_ACTIVATION_REQUIRES_RESET
Gibt den folgenden Status für den Firmware Commit-Befehl an:

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

Das angegebene Bild, wenn die Aktivierung sofort aktiviert wird, überschreitet den im Identify Controller angegebenen MFTA-Wert (Maximum Time for Firmware Activation). Um die Firmware zu aktivieren, muss der Befehl "Firmware Commit" neu erstellt werden und das Image mit einem Zurücksetzen aktiviert werden.
NVME_STATUS_FIRMWARE_ACTIVATION_PROHIBITED
Gibt den folgenden Status für den Firmware Commit-Befehl an:

Das angegebene Bild ist aus bestimmten Gründen nicht vom Controller aktiviert. Der Controller unterstützt z. B. die Firmware der Überarbeitung nicht.
NVME_STATUS_OVERLAPPING_RANGE
Gibt den folgenden Status für diese Befehle an:

- Firmware Commit: Dieser Fehler wird angegeben, wenn das Firmwareimage überlappende Bereiche aufweist.
- Festlegen von Features: Dieser Fehler wird angegeben, wenn die Datenstruktur des LBA-Bereichstyps überlappende Bereiche aufweist.
- Firmware image download: This error is indicated if the firmware image has overlapping ranges.
NVME_STATUS_NAMESPACE_INSUFFICIENT_CAPACITY
Gibt den folgenden Status für den Befehl "Namespace Verwaltung" an:

Zum Erstellen des Namespaces ist mehr freier Speicherplatz erforderlich, 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 "Namespace Verwaltung" an:

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

Der Controller ist bereits an den angegebenen Namespace angefügt.
NVME_STATUS_NAMESPACE_IS_PRIVATE
Gibt den folgenden Status für den Befehl "Namespace Anlage" 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 "Namespace Anlage" 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 "Namespace Anlage" an:

Die angegebene Controllerliste ist ungültig.
NVME_STATUS_DEVICE_SELF_TEST_IN_PROGRESS
Gibt den Status des Geräte-Selbsttestbefehls an.
NVME_STATUS_BOOT_PARTITION_WRITE_PROHIBITED
Gibt den Status für den Firmware Commit-Befehl 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 des Streams-Direktivenbefehls 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: Compare, Read, Write Zeroes

Die im Befehl angegebenen Schutzinformationseinstellungen sind ungültig.
NVME_STATUS_NVM_ATTEMPTED_WRITE_TO_READ_ONLY_RANGE
Gibt den folgenden Status für diese Befehle an: Datasetverwaltung, Write, Write Uncorrectable, Write Zeroes

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

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 10
Header- nvme.h