Freigeben über


NVME_IDENTIFY_CONTROLLER_DATA-Struktur (nvme.h)

Enthält Werte, die Controllerfunktionen, Features, Befehlssatzattribute und Energiezustandsdeskriptoren angeben.

Syntax

typedef struct {
  USHORT                VID;
  USHORT                SSVID;
  UCHAR                 SN[20];
  UCHAR                 MN[40];
  UCHAR                 FR[8];
  UCHAR                 RAB;
  UCHAR                 IEEE[3];
  struct {
    UCHAR MultiPCIePorts : 1;
    UCHAR MultiControllers : 1;
    UCHAR SRIOV : 1;
    UCHAR ANAR : 1;
    UCHAR Reserved : 4;
  } CMIC;
  UCHAR                 MDTS;
  USHORT                CNTLID;
  ULONG                 VER;
  ULONG                 RTD3R;
  ULONG                 RTD3E;
  struct {
    ULONG Reserved0 : 8;
    ULONG NamespaceAttributeChanged : 1;
    ULONG FirmwareActivation : 1;
    ULONG Reserved1 : 1;
    ULONG AsymmetricAccessChanged : 1;
    ULONG PredictableLatencyAggregateLogChanged : 1;
    ULONG LbaStatusChanged : 1;
    ULONG EnduranceGroupAggregateLogChanged : 1;
    ULONG Reserved2 : 12;
    ULONG ZoneInformation : 1;
    ULONG Reserved3 : 4;
  } OAES;
  struct {
    ULONG HostIdentifier128Bit : 1;
    ULONG NOPSPMode : 1;
    ULONG NVMSets : 1;
    ULONG ReadRecoveryLevels : 1;
    ULONG EnduranceGroups : 1;
    ULONG PredictableLatencyMode : 1;
    ULONG TBKAS : 1;
    ULONG NamespaceGranularity : 1;
    ULONG SQAssociations : 1;
    ULONG UUIDList : 1;
    ULONG Reserved0 : 22;
  } CTRATT;
  struct {
    USHORT ReadRecoveryLevel0 : 1;
    USHORT ReadRecoveryLevel1 : 1;
    USHORT ReadRecoveryLevel2 : 1;
    USHORT ReadRecoveryLevel3 : 1;
    USHORT ReadRecoveryLevel4 : 1;
    USHORT ReadRecoveryLevel5 : 1;
    USHORT ReadRecoveryLevel6 : 1;
    USHORT ReadRecoveryLevel7 : 1;
    USHORT ReadRecoveryLevel8 : 1;
    USHORT ReadRecoveryLevel9 : 1;
    USHORT ReadRecoveryLevel10 : 1;
    USHORT ReadRecoveryLevel11 : 1;
    USHORT ReadRecoveryLevel12 : 1;
    USHORT ReadRecoveryLevel13 : 1;
    USHORT ReadRecoveryLevel14 : 1;
    USHORT ReadRecoveryLevel15 : 1;
  } RRLS;
  UCHAR                 Reserved0[9];
  UCHAR                 CNTRLTYPE;
  UCHAR                 FGUID[16];
  USHORT                CRDT1;
  USHORT                CRDT2;
  USHORT                CRDT3;
  UCHAR                 Reserved0_1[106];
  UCHAR                 ReservedForManagement[16];
  struct {
    USHORT SecurityCommands : 1;
    USHORT FormatNVM : 1;
    USHORT FirmwareCommands : 1;
    USHORT NamespaceCommands : 1;
    USHORT DeviceSelfTest : 1;
    USHORT Directives : 1;
    USHORT NVMeMICommands : 1;
    USHORT VirtualizationMgmt : 1;
    USHORT DoorBellBufferConfig : 1;
    USHORT GetLBAStatus : 1;
    USHORT Reserved : 6;
  } OACS;
  UCHAR                 ACL;
  UCHAR                 AERL;
  struct {
    UCHAR Slot1ReadOnly : 1;
    UCHAR SlotCount : 3;
    UCHAR ActivationWithoutReset : 1;
    UCHAR Reserved : 3;
  } FRMW;
  struct {
    UCHAR SmartPagePerNamespace : 1;
    UCHAR CommandEffectsLog : 1;
    UCHAR LogPageExtendedData : 1;
    UCHAR TelemetrySupport : 1;
    UCHAR PersistentEventLog : 1;
    UCHAR Reserved0 : 1;
    UCHAR TelemetryDataArea4 : 1;
    UCHAR Reserved1 : 1;
  } LPA;
  UCHAR                 ELPE;
  UCHAR                 NPSS;
  struct {
    UCHAR CommandFormatInSpec : 1;
    UCHAR Reserved : 7;
  } AVSCC;
  struct {
    UCHAR Supported : 1;
    UCHAR Reserved : 7;
  } APSTA;
  USHORT                WCTEMP;
  USHORT                CCTEMP;
  USHORT                MTFA;
  ULONG                 HMPRE;
  ULONG                 HMMIN;
  UCHAR                 TNVMCAP[16];
  UCHAR                 UNVMCAP[16];
  struct {
    ULONG RPMBUnitCount : 3;
    ULONG AuthenticationMethod : 3;
    ULONG Reserved0 : 10;
    ULONG TotalSize : 8;
    ULONG AccessSize : 8;
  } RPMBS;
  USHORT                EDSTT;
  UCHAR                 DSTO;
  UCHAR                 FWUG;
  USHORT                KAS;
  struct {
    USHORT Supported : 1;
    USHORT Reserved : 15;
  } HCTMA;
  USHORT                MNTMT;
  USHORT                MXTMT;
  struct {
    ULONG CryptoErase : 1;
    ULONG BlockErase : 1;
    ULONG Overwrite : 1;
    ULONG Reserved : 26;
    ULONG NDI : 1;
    ULONG NODMMAS : 2;
  } SANICAP;
  ULONG                 HMMINDS;
  USHORT                HMMAXD;
  USHORT                NSETIDMAX;
  USHORT                ENDGIDMAX;
  UCHAR                 ANATT;
  struct {
    UCHAR OptimizedState : 1;
    UCHAR NonOptimizedState : 1;
    UCHAR InaccessibleState : 1;
    UCHAR PersistentLossState : 1;
    UCHAR ChangeState : 1;
    UCHAR Reserved : 1;
    UCHAR StaticANAGRPID : 1;
    UCHAR SupportNonZeroANAGRPID : 1;
  } ANACAP;
  ULONG                 ANAGRPMAX;
  ULONG                 NANAGRPID;
  ULONG                 PELS;
  UCHAR                 Reserved1[156];
  struct {
    UCHAR RequiredEntrySize : 4;
    UCHAR MaxEntrySize : 4;
  } SQES;
  struct {
    UCHAR RequiredEntrySize : 4;
    UCHAR MaxEntrySize : 4;
  } CQES;
  USHORT                MAXCMD;
  ULONG                 NN;
  struct {
    USHORT Compare : 1;
    USHORT WriteUncorrectable : 1;
    USHORT DatasetManagement : 1;
    USHORT WriteZeroes : 1;
    USHORT FeatureField : 1;
    USHORT Reservations : 1;
    USHORT Timestamp : 1;
    USHORT Verify : 1;
    USHORT Reserved : 8;
  } ONCS;
  struct {
    USHORT CompareAndWrite : 1;
    USHORT Reserved : 15;
  } FUSES;
  struct {
    UCHAR FormatApplyToAll : 1;
    UCHAR SecureEraseApplyToAll : 1;
    UCHAR CryptographicEraseSupported : 1;
    UCHAR FormatSupportNSIDAllF : 1;
    UCHAR Reserved : 4;
  } FNA;
  struct {
    UCHAR Present : 1;
    UCHAR FlushBehavior : 2;
    UCHAR Reserved : 5;
  } VWC;
  USHORT                AWUN;
  USHORT                AWUPF;
  struct {
    UCHAR CommandFormatInSpec : 1;
    UCHAR Reserved : 7;
  } NVSCC;
  struct {
    UCHAR WriteProtect : 1;
    UCHAR UntilPowerCycle : 1;
    UCHAR Permanent : 1;
    UCHAR Reserved : 5;
  } NWPC;
  USHORT                ACWU;
  UCHAR                 Reserved4[2];
  struct {
    ULONG SGLSupported : 2;
    ULONG KeyedSGLData : 1;
    ULONG Reserved0 : 13;
    ULONG BitBucketDescrSupported : 1;
    ULONG ByteAlignedContiguousPhysicalBuffer : 1;
    ULONG SGLLengthLargerThanDataLength : 1;
    ULONG MPTRSGLDescriptor : 1;
    ULONG AddressFieldSGLDataBlock : 1;
    ULONG TransportSGLData : 1;
    ULONG Reserved1 : 10;
  } SGLS;
  ULONG                 MNAN;
  UCHAR                 Reserved6[224];
  UCHAR                 SUBNQN[256];
  UCHAR                 Reserved7[768];
  UCHAR                 Reserved8[256];
  NVME_POWER_STATE_DESC PDS[32];
  UCHAR                 VS[1024];
} NVME_IDENTIFY_CONTROLLER_DATA, *PNVME_IDENTIFY_CONTROLLER_DATA;

Member

VID

Enthält den Anbieterbezeichner des Unternehmens, der von der Peripheral Component Interconnect - Special Interest Group (PCI-SIG) zugewiesen wird.

SSVID

Enthält den Anbieterbezeichner des Unternehmens, der von der PCI-SIG für das Subsystem zugewiesen wird.

SN[20]

Enthält die Seriennummer für das NVM-Subsystem, das vom Anbieter als ASCII-Zeichenfolge zugewiesen wird.

MN[40]

Enthält die Modellnummer für das NVM-Subsystem, das vom Anbieter als ASCII-Zeichenfolge zugewiesen wird.

FR[8]

Enthält die derzeit aktive Firmwarerevision für das NVM-Subsystem.

Dies sind die gleichen Firmwarerevisionsinformationen im NVME_FIRMWARE_SLOT_INFO_LOG , die mit dem Befehl Protokollseite abrufen abgerufen werden können.

RAB

Enthält die empfohlene Größe des Schieds bursts.

IEEE[3]

Enthält den eindeutigen Organisationsbezeichner (Organization Unique Identifier, OUI) für den Controlleranbieter.

Die OUI ist ein gültiger IEEE/RAC-zugewiesener Bezeichner, der unter http://standards.ieee.org/develop/regauth/oui/public.htmlregistriert werden kann.

CMIC

Eine Controller-Struktur mit Mehreren Pfad-E/A- und Namespacefreigabefunktionen (CMIC), die die Multipfad-E/A- und Namespacefreigabefunktionen des Controller- und NVM-Subsystems angibt.

CMIC.MultiPCIePorts

Bit 0 der CMIC-Struktur .

Wenn dieser Wert auf 1festgelegt ist, kann das NVM-Subsystem zwei oder mehr physische PCI Express-Ports enthalten. Wenn der Wert auf 0gelöscht wird, enthält das NVM-Subsystem einen einzelnen PCI Express-Port.

CMIC.MultiControllers

Bit 1 der CMIC-Struktur .

Wenn dieser Wert auf 1festgelegt ist, kann das NVM-Subsystem zwei oder mehr Controller enthalten. Wenn der Wert in 0gelöscht wird, enthält das NVM-Subsystem einen einzelnen Controller.

CMIC.SRIOV

Bit 2 der CMIC-Struktur .

Wenn dieser Wert auf 1festgelegt ist, wird der Controller einer virtuellen S/A-Virtualisierungsfunktion (SINGLE-Root E/A Virtualization, SR-IOV) zugeordnet. Wenn der Wert für 0gelöscht wird, wird der Controller einer PCI-Funktion zugeordnet.

CMIC.ANAR

CMIC.Reserved

Bits 3:7 der CMIC-Struktur sind reserviert.

MDTS

Gibt die maximale Datenübertragungsgröße zwischen dem Host und dem Controller an.

Der Host sollte keinen Befehl übermitteln, der diese Übertragungsgröße überschreitet. Wenn ein Befehl übermittelt wird, der die Übertragungsgröße überschreitet, wird der Befehl mit einer status NVME_STATUS_INVALID_FIELD_IN_COMMAND abgebrochen.

Der Wert dieses Felds ist in Einheiten der minimalen Speicherseitengröße angegeben, die im MPSMIN-Feld der Controllerfunktionen-Struktur angegeben ist, und wird als Leistung von zwei (2^n) gemeldet. Der Wert gibt 0h keine Einschränkungen für die Übertragungsgröße an. Die Einschränkung umfasst Metadaten, wenn sie mit den logischen Blockdaten überlappen.

Wenn SGL Bit Bucket-Deskriptoren unterstützt werden, werden ihre Längen in die Bestimmung einbezogen, ob ein Befehl die maximale Datenübertragungsgröße für Zieldatenpuffer überschreitet. Ihre Länge in einem Quelldatenpuffer ist für eine Berechnung der maximalen Datenübertragungsgröße nicht enthalten.

CNTLID

Enthält den eindeutigen Controllerbezeichner des NVM-Subsystems, der dem Controller zugeordnet ist.

VER

Enthält den im Versionsregister gemeldeten Wert, der im Vs-Feld der NVME_CONTROLLER_REGISTERS-Struktur definiert ist.

Implementierungen, die mit der NVMe-Spezifikation Version 1.2 oder höher kompatibel sind, melden einen Wert ungleich 0 in diesem Feld.

RTD3R

Gibt die typische Latenz in Mikrosekunden an, wenn die Fortsetzung von Runtime D3 (RTD3) fortgesetzt wird.

Implementierungen, die mit der NVMe-Spezifikation Version 1.2 oder höher kompatibel sind, melden einen Wert ungleich 0 in diesem Feld.

RTD3E

Gibt die typische Latenz in Mikrosekunden für die Eingabe von Runtime D3 (RTD3) an.

Implementierungen, die mit der NVMe-Spezifikation Version 1.2 oder höher kompatibel sind, melden einen Wert ungleich 0 in diesem Feld.

OAES

Eine OAES-Struktur (Optional Asynchronous Events Supported) mit Feldern, die angeben, ob optionale asynchrone Ereignisse vom Controller unterstützt werden.

Ein Controller sollte keine optionalen asynchronen Ereignisse senden, bevor sie von der Hostsoftware aktiviert werden.

OAES.Reserved0

Bits 10:31 der OAES-Struktur sind reserviert.

OAES.NamespaceAttributeChanged

Bit 8 der OAES-Struktur .

Wenn dieser Wert auf 1festgelegt ist, unterstützt der Controller das Senden des Namespace Attribute Changed-Ereignisses. Wenn dieser Wert für 0gelöscht wird, unterstützt der Controller das Namespace Attribute Changed-Ereignis nicht.

OAES.FirmwareActivation

Bit 9 der OAES-Struktur .

Wenn dieser Wert auf 1festgelegt ist, unterstützt der Controller das Senden des Firmwareaktivierungsereignisses. Wenn dieser Wert für 0gelöscht wird, unterstützt der Controller das Firmwareaktivierungsereignis nicht.

OAES.Reserved1

Bits 0:7 der OAES-Struktur sind reserviert.

OAES.AsymmetricAccessChanged

OAES.PredictableLatencyAggregateLogChanged

OAES.LbaStatusChanged

OAES.EnduranceGroupAggregateLogChanged

OAES.Reserved2

OAES.ZoneInformation

OAES.Reserved3

CTRATT

Eine Controllerattribute-Struktur (CTRATT), die Informationen zum Controller-Attribut enthält.

CTRATT.HostIdentifier128Bit

Bit 32 der CTRATT-Struktur , die einen 128-Bit-Hostbezeichner enthält.

CTRATT.NOPSPMode

Bit 31 der CTRATT-Struktur , die Informationen über den nicht betriebsbereiten Energiezustand (NOPS) enthält.

CTRATT.NVMSets

Bit 30 der CTRATT-Struktur , die Informationen zu NVM-Befehlssätzen enthält.

CTRATT.ReadRecoveryLevels

Bit 29 der CTRATT-Struktur mit Informationen zu Read-Wiederherstellungsebenen.

CTRATT.EnduranceGroups

Bit 28 der CTRATT-Struktur mit Informationen zu Ausdauergruppenstufen.

CTRATT.PredictableLatencyMode

CTRATT.TBKAS

CTRATT.NamespaceGranularity

CTRATT.SQAssociations

CTRATT.UUIDList

CTRATT.Reserved0

Bits 0:27 der CTRATT-Struktur sind reserviert.

RRLS

RRLS.ReadRecoveryLevel0

RRLS.ReadRecoveryLevel1

RRLS.ReadRecoveryLevel2

RRLS.ReadRecoveryLevel3

RRLS.ReadRecoveryLevel4

RRLS.ReadRecoveryLevel5

RRLS.ReadRecoveryLevel6

RRLS.ReadRecoveryLevel7

RRLS.ReadRecoveryLevel8

RRLS.ReadRecoveryLevel9

RRLS.ReadRecoveryLevel10

RRLS.ReadRecoveryLevel11

RRLS.ReadRecoveryLevel12

RRLS.ReadRecoveryLevel13

RRLS.ReadRecoveryLevel14

RRLS.ReadRecoveryLevel15

Reserved0[9]

Ein reserviertes Feld von 140 Bytes.

CNTRLTYPE

FGUID[16]

CRDT1

CRDT2

CRDT3

Reserved0_1[106]

ReservedForManagement[16]

Reserviert für die NVMe-Verwaltung.

OACS

Eine optionale Admin-Befehlsunterstützungsstruktur (OACS), die Felder enthält, die die optionalen Admin Befehle angeben, die vom Controller unterstützt werden.

OACS.SecurityCommands

Bit 0 der OACS-Struktur gibt an, ob der Controller die Befehle "Security Send" und "Security Receive" unterstützt.

Wenn dieser Wert auf 1festgelegt ist, unterstützt der Controller die Befehle "Security Send" und "Security Receive". Wenn dieser Wert für 0gelöscht wird, unterstützt der Controller die Befehle "Security Send" und "Security Receive" nicht.

OACS.FormatNVM

Bit 1 der OACS-Struktur gibt an, ob der Controller den Befehl Format NVM unterstützt.

Wenn dieser Wert auf 1festgelegt ist, unterstützt der Controller den Befehl Format NVM. Wenn dieser Wert für 0gelöscht wird, unterstützt der Controller den Befehl Format NVM nicht.

OACS.FirmwareCommands

Bit 2 der OACS-Struktur gibt an, ob der Controller die Befehle Firmware Commit und Firmware Image Download unterstützt.

Wenn dieser Wert auf 1festgelegt ist, unterstützt der Controller die Befehle Firmware Commit und Firmware Image Download. Wenn dieser Wert für 0gelöscht wird, unterstützt der Controller die Befehle Firmware Commit und Firmware Image Download nicht.

OACS.NamespaceCommands

Bit 3 der OACS-Struktur gibt an, ob der Controller die Befehle Namespace management und Namespace Attachment unterstützt.

Wenn dieser Wert auf 1festgelegt ist, unterstützt der Controller die Befehle Namespace management und Namespace Attachment. Wenn dieser Wert für 0gelöscht wird, unterstützt der Controller die Befehle Namespace management und Namespace Attachment nicht.

OACS.DeviceSelfTest

Bit 4 der OACS-Struktur gibt an, ob der Controller den Befehl Device Self Test unterstützt.

OACS.Directives

Bit 5 der OACS-Struktur gibt an, ob der Controller die Befehle "Direktive senden" und "Direktivener empfangen" unterstützt.

OACS.NVMeMICommands

OACS.VirtualizationMgmt

OACS.DoorBellBufferConfig

OACS.GetLBAStatus

OACS.Reserved

Bits 6:15: sind reserviert.

ACL

Gibt die maximale Anzahl gleichzeitig ausstehender Abbruchbefehle an, die vom Controller unterstützt werden.

Dies ist ein 0er-Wert. Implementierungen sollten mindestens vier ausstehende Abortbefehle gleichzeitig unterstützen.

AERL

Gibt die maximale Anzahl gleichzeitig ausstehender asynchroner Ereignisanforderungsbefehle an, die vom Controller unterstützt werden.

Dies ist ein 0er-Wert. Implementierungen sollten mindestens vier ausstehende Befehle für die asynchrone Ereignisanforderung gleichzeitig unterstützen.

FRMW

Eine FrMW-Struktur (Firmware Updates), die Felder enthält, die Funktionen für Firmwareupdates angeben.

FRMW.Slot1ReadOnly

Bit 0 der FRMW-Struktur gibt an, ob der erste Firmwareslot (Slot 1) schreibgeschützter Ist.

Wenn dieser Wert auf 1festgelegt ist, ist der erste Firmwareslot (Slot 1) schreibgeschützter Wert. Wenn dieser Wert für 0gelöscht wird, wird der erste Firmwareslot (Steckplatz 1) mit Lese-/Schreibzugriff ausgeführt. Implementierungen können sich für ein schreibgeschütztes Baseline-Firmwareimage entscheiden.

FRMW.SlotCount

Bits 1:3 der FRMW-Struktur geben die Anzahl der Firmwareslots an, die der Controller unterstützt.

Dieses Feld gibt einen Wert zwischen 1 und sieben an, der angibt, dass mindestens ein Firmwareslot und maximal sieben unterstützt werden. Dies entspricht den Firmwareslots 1 bis 7.

FRMW.ActivationWithoutReset

Bit 4 der FRMW-Struktur gibt an, ob der Controller die Firmwareaktivierung ohne Zurücksetzung unterstützt.

Wenn dieser Wert auf 1festgelegt ist, unterstützt der Controller die Firmwareaktivierung ohne Zurücksetzung. Wenn dieser Wert auf 0gelöscht wird, erfordert der Controller eine Zurücksetzung, damit die Firmware aktiviert wird.

FRMW.Reserved

Bits 5:7 der FRMW-Struktur sind reserviert.

LPA

Eine LPA-Struktur (Log Page Attributes), die Felder enthält, die optionale Attribute für Protokollseiten angeben, auf die mit dem Befehl Protokollseite abrufen zugegriffen wird.

LPA.SmartPagePerNamespace

Bit 0 der LPA-Struktur gibt an, ob der Controller die Smart/Health-Informationsprotokollseite pro Namespace unterstützt.

Wenn dieser Wert auf 1festgelegt ist, unterstützt der Controller die Smart/Health-Informationsprotokollseite pro Namespace. Wenn dieser Wert für 0gelöscht wird, unterstützt der Controller die Smart-/Integritätsinformationsprotokollseite nicht pro Namespace.

LPA.CommandEffectsLog

Bit 1 der LPA-Struktur gibt an, ob der Controller die Protokollseite für Befehlseffekte unterstützt.

Wenn dieser Wert auf 1festgelegt ist, unterstützt der Controller die Protokollseite Befehlseffekte. Wenn dieser Wert auf 0gelöscht wird, unterstützt der Controller die Protokollseite für Befehlseffekte nicht.

LPA.LogPageExtendedData

Bit 2 der LPA-Struktur gibt an, ob der Controller erweiterte Protokollseitendaten unterstützt.

LPA.TelemetrySupport

Bit 3 der LPA-Struktur gibt an, ob der Controller Telemetrieunterstützung unterstützt.

LPA.PersistentEventLog

LPA.Reserved0

LPA.TelemetryDataArea4

LPA.Reserved1

ELPE

Gibt die Anzahl der Fehlerinformationsprotokolleinträge an, die vom Controller gespeichert werden. Dieses Feld ist ein auf 0 basierender Wert.

NPSS

Gibt die Anzahl der NVM Express-Leistungszustände an, die vom Controller unterstützt werden. Dies ist ein auf 0 basierender Wert.

Energiezustände werden sequenziell nummeriert, beginnend beim Energiezustand 0. Ein Controller muss mindestens einen Energiezustand (z. B. Energiezustand 0) unterstützen und kann bis zu 31 zusätzliche Energiezustände unterstützen, insgesamt 32.

AVSCC

Eine Admin AvSCC-Struktur (Vendor Specific Command Configuration) mit Feldern, die die Konfigurationseinstellungen für Admin herstellerspezifische Befehlsverarbeitung angeben.

AVSCC.CommandFormatInSpec

Bit 0 der AVSCC-Struktur gibt an, ob alle Admin anbieterspezifischen Befehle das in der NVME_COMMAND-Struktur definierte Befehlsformat verwenden.

Wenn dieser Wert auf 0gelöscht wird, gibt er an, dass das Format aller Admin anbieterspezifischen Befehle herstellerspezifisch ist. Wenn dieser Wert auf 1festgelegt ist, gibt dies an, dass alle Admin anbieterspezifischen Befehle die NVME_COMMAND Struktur verwenden.

AVSCC.Reserved

Bits 1:7 der AVSCC-Struktur sind reserviert.

APSTA

Eine APSTA-Struktur (Autonomous Power State Transition Attributes) mit Feldern, die die Attribute des Übergangsfeatures für autonome Energiezustände angeben.

APSTA.Supported

Bit 0 der APSTA-Struktur gibt an, ob der Controller autonome Energiezustandsübergänge unterstützt.

Wenn dieser Wert auf 1festgelegt ist, unterstützt der Controller autonome Energiezustandsübergänge. Wenn dieser Wert auf 0gelöscht wird, unterstützt der Controller keine autonomen Energiezustandsübergänge.

APSTA.Reserved

Bits 1:7 der APSTA-Struktur sind reserviert.

WCTEMP

Gibt den minimalen Wert des Zusammengesetzten Temperaturfelds an (im SMART/Integritätsinformationsprotokoll gemeldet, das eine Überhitzungsbedingung angibt, während der der Controllervorgang fortgesetzt wird.

Eine sofortige Korrektur wird empfohlen (z. B. zusätzliche Kühlung oder Reduzierung der Arbeitsauslastung). Die Plattform sollte versuchen, eine zusammengesetzte Temperatur unter diesem Wert zu halten.

Der Wert von 0h in diesem Feld gibt an, dass vom Controller kein Warntemperaturschwellenwert gemeldet wird. Implementierungen, die mit NVMe Spec Version 1.2 oder höher kompatibel sind, sollten in diesem Feld einen Wert ungleich 0 melden. Es wird empfohlen, dass Implementierungen den Wert von 0157h in diesem Feld melden.

CCTEMP

Gibt den minimalen Wert des Zusammengesetzten Temperaturfelds an (in der [SMART /Health Information](ns-nvme-nvme_health_info_log.md log) gemeldet, der auf eine kritische Überhitzungsbedingung hinweist. Zum Beispiel eine Bedingung, die einen fortgesetzten normalen Betrieb, die Möglichkeit eines Datenverlusts, automatisches Herunterfahren des Geräts, extreme Leistungsdrosselung oder dauerhafte Schäden verhindern kann.

Der Wert von 0h in diesem Feld gibt an, dass vom Controller kein kritischer Temperaturschwellenwert gemeldet wird. Implementierungen, die mit NVMe Spec Version 1.2 oder höher kompatibel sind, sollten in diesem Feld einen Wert ungleich 0 melden.

MTFA

Gibt an, wie lange der Controller die Verarbeitung von Befehlen vorübergehend beendet, um das Firmwareimage zu aktivieren.

Dieses Feld ist gültig, wenn der Controller die Firmwareaktivierung ohne Reset unterstützt. Der MFTA-Wert wird in 100 Millisekundeneinheiten angegeben. Der Wert von 0h gibt an, dass die maximale Zeit nicht definiert ist.

HMPRE

Gibt die bevorzugte Größe an, die der Host für das Feature Hostspeicherpuffer in Einheiten mit 4 KB zuweisen soll.

Dieser Wert muss größer oder gleich der Mindestgröße des Hostspeicherpuffers (HMMIN) sein.

Wenn dieses Feld ungleich 0 ist, wird das Feature Hostspeicherpuffer unterstützt. Wenn dieser Wert auf 0hgelöscht wird, wird das Feature Hostspeicherpuffer nicht unterstützt.

HMMIN

Gibt die Mindestgröße an, die der Host für die Hostspeicherpufferfunktion in Einheiten von 4 KB zuweisen soll.

Wenn dieser Wert auf 0gelöscht wird, wird der Host aufgefordert, eine beliebige Menge an Hostspeicher zuzuweisen, die bis zum HMPRE-Wert möglich ist.

TNVMCAP[16]

Gibt die gesamt NVM-Kapazität des NVM-Subsystems in Bytes an.

Dieses Feld wird unterstützt, wenn die Befehle Namespaceverwaltung und Namespaceanlage unterstützt werden.

UNVMCAP[16]

Gibt die nicht zugeordnete NVM-Kapazität des NVM-Subsystems in Bytes an.

Dieses Feld wird unterstützt, wenn die Befehle Namespaceverwaltung und Namespaceanlage unterstützt werden.

RPMBS

Eine RPMBS-Struktur (Replay Protected Memory Block Support) mit Feldern, die angeben, ob der Controller einen oder mehrere RPMBs (Replay Protected Memory Blocks) und die zugehörigen Funktionen unterstützt.

RPMBS.RPMBUnitCount

Gibt die Anzahl der vom Controller unterstützten RPMB-Ziele an.

Alle unterstützten PMB-Ziele (Geschützter Speicherblock) verfügen über die gleichen Funktionen wie im RPMBS-Feld definiert. Der Wert von 0h gibt an, dass der Controller RPMBs nicht unterstützt. Wenn dieser Wert ungleich 0 ist, unterstützt der Controller die Befehle "Security Send" und "Security Receive".

RPMBS.AuthenticationMethod

Gibt die Authentifizierungsmethode an, die für den Zugriff auf alle replay Protected Memory Blocks (RPMBs) im Controller verwendet wird. Die Werte für dieses Feld sind:

Wert Definition
000b HMAC SHA-256
001b-111b Reserviert

RPMBS.Reserved0

Ein reserviertes Feld.

RPMBS.TotalSize

Gibt die Gesamtgröße der einzelnen RPMB an, die im Controller in Einheiten mit 128 KB unterstützt werden. Dies ist ein auf 0 basierender Wert. Der Wert von 0h gibt eine Größe von 128 KB an.

RPMBS.AccessSize

Gibt die Größe an, die pro RPMB-Zugriff von den Befehlen "Security Send" oder "Security Receive" für diesen Controller in 512B-Einheiten gelesen oder geschrieben werden kann.

Dies ist ein auf 0 basierender Wert. Der Wert von 0h gibt eine Größe von 512B an.

EDSTT

Gibt die Erweiterte Geräte-Selbsttestzeit (EDSTT) an.

DSTO

Gibt die Geräte-Selbsttestoptionen (DSTO) an.

FWUG

Gibt die Firmware Update Granularity (FWUG) an.

KAS

Gibt die Keep Alive-Unterstützung (KAS) an.

HCTMA

Eine HCTMA-Struktur (Host Controlled Thermal Management Attributes).

HCTMA.Supported

Gibt an, ob Host Controlled Thermal Management-Attribute unterstützt werden.

HCTMA.Reserved

Dieses HCTMA-Strukturfeld ist reserviert.

MNTMT

Minimale Temperatur des Wärmemanagements (MNTMT)

MXTMT

Maximale Temperatur des Wärmemanagements (MXTMT)

SANICAP

Funktionen desinfizieren (SANICAP)

SANICAP.CryptoErase

Controller unterstützt Crypto Erase Sanitize

SANICAP.BlockErase

Controller unterstützt Block Erase Desitize

SANICAP.Overwrite

Controller unterstützt Überschreiben von Santize

SANICAP.Reserved

SANICAP.NDI

SANICAP.NODMMAS

HMMINDS

HMMAXD

NSETIDMAX

NVM Set Identifier Maximum

ENDGIDMAX

ANATT

ANACAP

ANACAP.OptimizedState

ANACAP.NonOptimizedState

ANACAP.InaccessibleState

ANACAP.PersistentLossState

ANACAP.ChangeState

ANACAP.Reserved

ANACAP.StaticANAGRPID

ANACAP.SupportNonZeroANAGRPID

ANAGRPMAX

NANAGRPID

PELS

Reserved1[156]

Ein reserviertes Feld.

SQES

Eine SQES-Struktur (Submission Queue Entry Size) mit Feldern, die die erforderliche und maximale Eingangsgröße der Übermittlungswarteschlange angeben, wenn sie den NVM-Befehlssatz verwenden.

SQES.RequiredEntrySize

Bits 0:3 der SQES-Struktur geben die erforderliche Eingangsgröße der Übermittlungswarteschlange an, wenn sie den NVM-Befehlssatz verwenden.

Dies ist die Mindesteintragsgröße, die verwendet werden kann. Der Wert ist in Bytes und wird als Leistung von zwei (2^n) gemeldet. Der erforderliche Wert ist 6, was 64 Bytes entspricht.

SQES.MaxEntrySize

Bits 4:7 der SQES-Struktur geben die maximale Eingangsgröße der Übermittlungswarteschlange an, wenn sie den NVM-Befehlssatz verwenden.

Dieser Wert ist größer oder gleich dem SQES. RequiredEntrySize-Wert . Der Wert ist in Bytes und wird als Leistung von zwei (2^n) gemeldet. Der empfohlene Wert ist 6, was einer Standardmäßigen NVM-Befehlssatz-SQ-Eintragsgröße von 64 Bytes entspricht. Controller, die proprietäre Erweiterungen implementieren, unterstützen möglicherweise einen größeren Wert.

CQES

Eine CQES-Struktur (Completion Queue Entry Size) mit Feldern, die die erforderliche und maximale Eintragsgröße der Vervollständigungswarteschlange angeben, wenn sie den NVM-Befehlssatz verwenden.

CQES.RequiredEntrySize

Bits 0:3 der CQES-Struktur geben die erforderliche Eintragsgröße der Vervollständigungswarteschlange an, wenn sie den NVM-Befehlssatz verwenden.

Dies ist die Mindesteintragsgröße, die verwendet werden kann. Der Wert ist in Bytes und wird als Leistung von zwei (2^n) gemeldet. Der erforderliche Wert ist 4, was 16 Bytes entspricht.

CQES.MaxEntrySize

Bits 4:7 der CQES-Struktur geben die maximale Eingangsgröße der Vervollständigungswarteschlange an, wenn sie den NVM-Befehlssatz verwenden.

Dieser Wert ist größer oder gleich der erforderlichen CQ-Eintragsgröße. Der Wert ist in Bytes und wird als Leistung von zwei (2^n) gemeldet. Der empfohlene Wert ist 4, was einer Standardmäßigen NVM-Befehlssatz-CQ-Eintragsgröße von 16 Bytes entspricht. Controller, die proprietäre Erweiterungen implementieren, unterstützen möglicherweise einen größeren Wert.

MAXCMD

NN

Gibt die Anzahl der gültigen Namespaces an, die für den Controller vorhanden sind.

ONCS

Eine ONCS-Struktur (Optional NVM Command Support), die Felder enthält, die die optionalen NVM-Befehle und -Features angeben, die vom Controller unterstützt werden.

ONCS.Compare

Bit 0 der ONCS-Struktur gibt an, ob der Controller den Vergleichsbefehl unterstützt.

Wenn dieser Wert auf 1festgelegt ist, unterstützt der Controller den Befehl Compare. Wenn dieser Wert für 0gelöscht wird, unterstützt der Controller den Befehl Compare nicht.

ONCS.WriteUncorrectable

Bit 1 der ONCS-Struktur gibt an, ob der Controller den Befehl Write Uncorrectable unterstützt.

Wenn dieser Wert auf 1festgelegt ist, unterstützt der Controller den Befehl Write Uncorrectable. Wenn dieser Wert für 0gelöscht wird, unterstützt der Controller den Befehl Write Uncorrectable nicht.

ONCS.DatasetManagement

Bit 2 der ONCS-Struktur gibt an, ob der Controller den Befehl Datasetverwaltung unterstützt.

Wenn dieser Wert auf 1festgelegt ist, unterstützt der Controller den Befehl Datasetverwaltung. Wenn dieser Wert für 0gelöscht wird, unterstützt der Controller den Befehl Datasetverwaltung nicht.

ONCS.WriteZeroes

Bit 3 der ONCS-Struktur gibt an, ob der Controller den Befehl Null schreiben unterstützt.

Wenn dieser Wert auf 1festgelegt ist, unterstützt der Controller den Befehl Nullen schreiben. Wenn dieser Wert für 0gelöscht wird, unterstützt der Controller den Befehl Nullen schreiben nicht.

ONCS.FeatureField

Bit 4 der ONCS-Struktur gibt an, ob der Controller das Feld Speichern im Befehl Features festlegen und das Feld Auswählen im Befehl Features abrufen unterstützt.

Wenn dieser Wert auf 1festgelegt ist, unterstützt der Controller das Feld Speichern im Befehl Features festlegen und das Feld Auswählen im Befehl Features abrufen. Wenn dieser Wert auf 0deaktiviert ist, unterstützt der Controller das Feld Speichern im Befehl Features festlegen und das Feld Auswählen im Befehl Features abrufen nicht.

ONCS.Reservations

Bit 5 der ONCS-Struktur gibt an, ob der Controller Reservierungen unterstützt.

Wenn dieser Wert auf 1festgelegt ist, unterstützt der Controller Reservierungen und unterstützt auch die folgenden Befehle, die Reservierungen zugeordnet sind:

  • Reservierungsbericht
  • Reservierungsregistrierung
  • Reservierungserwerb
  • Reservierungsversion

Wenn dieser Wert für 0gelöscht wird, unterstützt der Controller keine Reservierungen.

ONCS.Timestamp

Bit 6 der ONCS-Struktur gibt an, ob der Controller das Feature Timestamp (NVME_FEATURE_TIMESTAMP) unterstützt.

ONCS.Verify

ONCS.Reserved

Bits 7:15 der ONCS-Struktur sind reserviert.

FUSES

Eine FUSES-Struktur (Fused Operation Support), die Felder enthält, die die vom Controller unterstützten Fusionsvorgänge angeben.

FUSES.CompareAndWrite

Bit 0 der FUSES-Struktur gibt an, ob der Controller den Fusionsvorgang Vergleichen und Schreiben unterstützt.

Wenn dieser Wert für 0gelöscht wird, unterstützt der Controller den Fusionsvorgang "Vergleichen und Schreiben" nicht. Compare ist der erste Befehl in der Sequenz.

FUSES.Reserved

Bits 15:1 der FUSES-Struktur sind reserviert.

FNA

Eine Format NVM Attributes (FNA)-Struktur, die Felder enthält, die Attribute für den Befehl Format NVM angeben.

FNA.FormatApplyToAll

Bit 0 der FNA-Struktur gibt an, ob der Formatvorgang für alle Namespaces gilt oder für einen bestimmten Namespace spezifisch ist.

Wenn dieser Wert auf 1festgelegt ist, werden alle Namespaces mit den gleichen Attributen konfiguriert, und ein Format eines beliebigen Namespaces führt zu einem Format aller Namespaces. Wenn dieser Wert für 0gelöscht wird, unterstützt der Controller das Format pro Namespace.

FNA.SecureEraseApplyToAll

Bit 1 der FNA-Struktur gibt an, ob kryptografische Lösch- und Benutzerdatenlöschfunktionen für alle Namespaces gelten oder für einen bestimmten Namespace spezifisch sind.

Wenn dieser Wert auf 1festgelegt ist, führt eine kryptografische Löschung eines bestimmten Namespace als Teil eines Formats zu einer kryptografischen Löschung aller Namespaces, und eine Benutzerdatenlöschung eines bestimmten Namespaces als Teil eines Formats führt zu einer Benutzerdatenlöschung aller Namespaces. Wenn dieser Wert für 0gelöscht wird, wird eine kryptografische Löschung oder die Löschung von Benutzerdaten als Teil eines Formats pro Namespace ausgeführt.

FNA.CryptographicEraseSupported

Bit 2 der FNA-Struktur gibt an, ob das kryptografische Löschen als Teil der Sicheren Löschfunktion unterstützt wird.

Wenn dieser Wert auf 1festgelegt ist, wird das kryptografische Löschen unterstützt. Wenn dieser Wert für 0gelöscht wird, wird das kryptografische Löschen nicht unterstützt.

FNA.FormatSupportNSIDAllF

FNA.Reserved

Bits 7:3 der FNA-Struktur sind reserviert.

VWC

Eine VWC-Struktur (Volatile Write Cache), die Felder enthält, die Attribute im Zusammenhang mit dem Vorhandensein eines flüchtigen Schreibcaches in der Implementierung angeben.

VWC.Present

Bit 0 der VWC-Struktur gibt an, dass ein flüchtiger Schreibcache vorhanden ist.

Wenn dieser Wert auf 1festgelegt ist, ist ein flüchtiger Schreibcache vorhanden, und der Host gibt möglicherweise Leerungsbefehle aus und steuert, ob der flüchtige Schreibcache aktiviert ist, indem der Befehl Features festlegen den NVME_FEATURE_VOLATILE_WRITE_CACHE Featurebezeichner angibt.

Wenn dieser Wert in 0gelöscht wird, ist kein flüchtiger Schreibcache vorhanden.

Wenn kein flüchtiger Schreibcache vorhanden ist, werden die Leerungsbefehle erfolgreich abgeschlossen und haben keine Auswirkung, und der Befehl Features festlegen mit dem NVME_FEATURE_VOLATILE_WRITE_CACHE Bezeichnersatz schlägt mit einer status von NVME_STATUS_INVALID_FIELD_IN_COMMAND fehl, und Features mit dem NVME_FEATURE_VOLATILE_WRITE_CACHE Bezeichnersatz abrufen schlägt mit einer status von NVME_STATUS_INVALID_FIELD_IN_COMMAND fehl.

VWC.FlushBehavior

VWC.Reserved

Bits 1:7 der VWC-Struktur sind reserviert.

AWUN

Gibt die Größe des Schreibvorgangs an, der während des normalen Betriebs in allen Namespaces mit jedem unterstützten Namespaceformat atomar in den NVM geschrieben wird. Dieses Feld wird in logischen Blöcken angegeben und ist ein wert von 0.

Wenn ein bestimmter Namespace eine größere Größe garantiert, als in diesem Feld gemeldet wird, wird diese namespacespezifische Größe im Feld NAWUN der Datenstruktur Namespace identifizieren gemeldet.

Wenn ein Schreibbefehl mit einer Größe übermittelt wird, die kleiner oder gleich dem AWUN-Wert ist, wird dem Host garantiert, dass der Schreibbefehl für den NVM in Bezug auf andere Lese- oder Schreibbefehle atomar ist. Wenn ein Schreibbefehl mit einer Größe übermittelt wird, die größer als der AWUN-Wert ist, gibt es keine Garantie für die Atomarität von Befehlen.

Der AWUN-Wert ist nicht auf Schreibfehler anwendbar, die durch Einen Stromausfall verursacht werden. Weitere Informationen finden Sie im Feld Atomic Write Unit Power Fail (AWUPF).

Der Wert gibt FFFFh an, dass alle Befehle atomar sind, da dies die größte Befehlsgröße ist. Implementierungen sollten mindestens 128 KB unterstützen, die entsprechend der Größe des logischen Blockzugriffs (Logical Block Access, LBA) skaliert werden.

AWUPF

Gibt die Größe des Schreibvorgangs an, der garantiert atomar in den NVM über alle Namespaces mit einem beliebigen unterstützten Namespaceformat geschrieben wird, während ein Stromfehler oder eine Fehlerbedingung auftritt. Dieses Feld wird in logischen Blöcken angegeben und ist ein wert von 0.

Wenn ein bestimmter Namespace eine größere Größe garantiert, als in diesem Feld gemeldet wird, wird diese namespacespezifische Größe im Feld NAWUPF in der Datenstruktur Namespace identifizieren gemeldet. Der AWUPF-Wert muss kleiner oder gleich dem AWUN-Wert sein.

Wenn ein Schreibbefehl mit einer Größe übermittelt wird, die kleiner oder gleich dem AWUPF-Wert ist, wird dem Host garantiert, dass der Schreibvorgang für den NVM in Bezug auf andere Lese- oder Schreibbefehle atomar ist. Wenn ein Schreibbefehl übermittelt wird, der größer als diese Größe ist, gibt es keine Garantie für die Atomarität von Befehlen. Wenn die Schreibgröße kleiner oder gleich dem AWUPF-Wert ist und der Schreibbefehl fehlschlägt, geben nachfolgende Lesebefehle für die zugeordneten logischen Blöcke Daten aus dem vorherigen erfolgreichen Schreibbefehl zurück.

Wenn ein Schreibbefehl mit einer Größe übermittelt wird, die größer als der AWUPF-Wert ist, gibt es keine Garantie für Daten, die bei nachfolgenden Lesevorgängen der zugeordneten logischen Blöcke zurückgegeben werden.

NVSCC

Eine NVM Vendor Specific Command Configuration (NVSCC)-Struktur, die Felder enthält, die die Konfigurationseinstellungen für die nvm vendor specific command handling angeben.

NVSCC.CommandFormatInSpec

Bit 0 der NVSCC-Struktur gibt an, ob alle NVM-anbieterspezifischen Befehle das in Abbildung 13 definierte Format verwenden.

Wenn dieser Wert auf 1festgelegt ist, verwenden alle NVM-anbieterspezifischen Befehle das in Abbildung 13 definierte Format. Wenn dieser Wert für 0gelöscht wird, gibt dies an, dass das Format aller NVM-anbieterspezifischen Befehle herstellerspezifisch ist.

NVSCC.Reserved

Bits 1:7 der NVSCC-Struktur sind reserviert.

NWPC

NWPC.WriteProtect

NWPC.UntilPowerCycle

NWPC.Permanent

NWPC.Reserved

ACWU

Gibt die Größe des Schreibvorgangs an, der garantiert atomar in den NVM über alle Namespaces mit einem beliebigen unterstützten Namespaceformat für einen fusionierten Vergleichs- und Schreibvorgang geschrieben wird.

Wenn ein bestimmter Namespace eine größere Größe garantiert, als in diesem Feld gemeldet wird, wird diese namespacespezifische Größe im FELD NACWU in der Datenstruktur Namespace identifizieren gemeldet.

Dieses Feld wird unterstützt, wenn der Befehl "Vergleichen und Schreiben" unterstützt wird. Dieses Feld wird in logischen Blöcken angegeben und ist ein wert von 0. Wenn ein Vergleichs- und Schreibvorgang gesendet wird, der eine Übertragungsgröße anfordert, die größer als dieser Wert ist, schlägt der Controller möglicherweise den Befehl mit einem status NVME_STATUS_INVALID_FIELD_IN_COMMAND fehl.

Wenn Vergleichen und Schreiben kein unterstützter Fusionsbefehl ist, lautet 0hder Wert dieses Felds .

Reserved4[2]

Ein reserviertes Feld.

SGLS

Eine SGLS-Struktur (SGLS), die Felder enthält, die angeben, ob Scatter Gather Listen (SGL) für den NVM-Befehlssatz und die unterstützten SGL-Typen unterstützt werden.

SGLS.SGLSupported

Wenn dieser Wert auf 1festgelegt ist, unterstützt der Controller SGLs für den NVM-Befehlssatz, einschließlich der Deskriptortypen SGL-Datenblock, SGL-Segment und SGL Last Segment. Wenn dieser Wert für 0gelöscht wird, unterstützt der Controller keine SGLs für den NVM-Befehlssatz, und alle anderen Bits in diesem Feld werden in 0gelöscht.

SGLS.KeyedSGLData

SGLS.Reserved0

Ein reserviertes Feld.

SGLS.BitBucketDescrSupported

Wenn dieser Wert auf 1festgelegt ist, wird der SGL Bit Bucket-Deskriptor unterstützt. Wenn dieser Wert in 0gelöscht wird, wird der SGL Bit Bucket-Deskriptor nicht unterstützt.

SGLS.ByteAlignedContiguousPhysicalBuffer

Wenn dieser Wert auf 1festgelegt ist, wird die Verwendung eines bytebündigen zusammenhängenden physischen Metadatenpuffers (das Feld Metadatenzeiger in Abbildung 12) unterstützt. Wenn dieser Wert für 0gelöscht wird, wird die Verwendung eines bytebündigen zusammenhängenden physischen Puffers von Metadaten nicht unterstützt.

SGLS.SGLLengthLargerThanDataLength

Wenn dieser Wert auf 1festgelegt ist, unterstützt der Controller Befehle, die eine Daten- oder Metadaten-SGL-Länge enthalten, die größer als die zu übertragende Datenmenge ist. Wenn dieser Wert für 0gelöscht wird, entspricht die SGL-Länge der zu übertragenden Datenmenge.

SGLS.MPTRSGLDescriptor

SGLS.AddressFieldSGLDataBlock

SGLS.TransportSGLData

SGLS.Reserved1

Ein reserviertes Feld.

MNAN

Reserved6[224]

Bytes 704:2047 sind für E/A-Befehlssatzattribute reserviert.

SUBNQN[256]

Reserved7[768]

Reserved8[256]

PDS[32]

Enthält ein Array von 32 Power State-Deskriptoren. Jeder Member des Arrays ist ein 32-Bit-Feld, das die Merkmale eines Power State Descriptors angibt. Das Format dieses Felds wird in der NVME_POWER_STATE_DESC-Struktur definiert.

Die nullbasierte Position einer Struktur im Array entspricht dem Namen des Power State Descriptors, sodass sich Power State 0 Descriptor (PSD0) an Position 0 befindet, Power State 1 Descriptor (PSD1) an Position 1 und so weiter, bis Power State 31 Descriptor (PSD31) an Position 31.

VS[1024]

Bytes 3072:4095 werden für die anbieterspezifische Nutzung zugeordnet.

Hinweise

Die Werte der Felder VID, SN und MN können kombiniert werden, um einen global eindeutigen Wert zu bilden, der das NVM-Subsystem identifiziert.

Anforderungen

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