Freigeben über


NVME_IDENTIFY_NAMESPACE_DATA Struktur (nvme.h)

Enthält Werte, die Funktionen und Einstellungen angeben, die für einen bestimmten Namespace spezifisch sind.

Die Funktionen und Einstellungen, die allen Namespaces gemeinsam sind, sind in der NVME_IDENTIFY_NAMESPACE_DATA Datenstruktur für den Namespace mit dem Namespacebezeichner enthalten 0xFFFFFFFF.

Die Nvme.h-Headerdatei definiert die Konstante NVME_NAMESPACE_ALL mit einem Wert von 0xFFFFFFFF.

Wenn der Controller die Namespaceverwaltung und das Namespacebezeichnerfeld (NSID) der NVME_COMMAND Struktur auf NVME_NAMESPACE_ALL festgelegt ist, gibt der Controller eine NVME_IDENTIFY_NAMESPACE_DATA Datenstruktur zurück, die Funktionen angibt, die für alle Namespaces gemeinsam sind.

Syntax

typedef struct {
  ULONGLONG                    NSZE;
  ULONGLONG                    NCAP;
  ULONGLONG                    NUSE;
  struct {
    UCHAR ThinProvisioning : 1;
    UCHAR NameSpaceAtomicWriteUnit : 1;
    UCHAR DeallocatedOrUnwrittenError : 1;
    UCHAR SkipReuseUI : 1;
    UCHAR NameSpaceIoOptimization : 1;
    UCHAR Reserved : 3;
  } NSFEAT;
  UCHAR                        NLBAF;
  struct {
    UCHAR LbaFormatIndex : 4;
    UCHAR MetadataInExtendedDataLBA : 1;
    UCHAR Reserved : 3;
  } FLBAS;
  struct {
    UCHAR MetadataInExtendedDataLBA : 1;
    UCHAR MetadataInSeparateBuffer : 1;
    UCHAR Reserved : 6;
  } MC;
  struct {
    UCHAR ProtectionInfoType1 : 1;
    UCHAR ProtectionInfoType2 : 1;
    UCHAR ProtectionInfoType3 : 1;
    UCHAR InfoAtBeginningOfMetadata : 1;
    UCHAR InfoAtEndOfMetadata : 1;
    UCHAR Reserved : 3;
  } DPC;
  struct {
    UCHAR ProtectionInfoTypeEnabled : 3;
    UCHAR InfoAtBeginningOfMetadata : 1;
    UCHAR Reserved : 4;
  } DPS;
  struct {
    UCHAR SharedNameSpace : 1;
    UCHAR Reserved : 7;
  } NMIC;
  NVM_RESERVATION_CAPABILITIES RESCAP;
  struct {
    UCHAR PercentageRemained : 7;
    UCHAR Supported : 1;
  } FPI;
  struct {
    UCHAR ReadBehavior : 3;
    UCHAR WriteZeroes : 1;
    UCHAR GuardFieldWithCRC : 1;
    UCHAR Reserved : 3;
  } DLFEAT;
  USHORT                       NAWUN;
  USHORT                       NAWUPF;
  USHORT                       NACWU;
  USHORT                       NABSN;
  USHORT                       NABO;
  USHORT                       NABSPF;
  USHORT                       NOIOB;
  UCHAR                        NVMCAP[16];
  USHORT                       NPWG;
  USHORT                       NPWA;
  USHORT                       NPDG;
  USHORT                       NPDA;
  USHORT                       NOWS;
  USHORT                       MSSRL;
  ULONG                        MCL;
  UCHAR                        MSRC;
  UCHAR                        Reserved2[11];
  ULONG                        ANAGRPID;
  UCHAR                        Reserved3[3];
  struct {
    UCHAR WriteProtected : 1;
    UCHAR Reserved : 7;
  } NSATTR;
  USHORT                       NVMSETID;
  USHORT                       ENDGID;
  UCHAR                        NGUID[16];
  UCHAR                        EUI64[8];
  NVME_LBA_FORMAT              LBAF[16];
  UCHAR                        Reserved4[192];
  UCHAR                        VS[3712];
} NVME_IDENTIFY_NAMESPACE_DATA, *PNVME_IDENTIFY_NAMESPACE_DATA;

Elemente

NSZE

Gibt die Gesamtgröße des Namespaces in logischen Blöcken an.

Ein Namespace der Größe n besteht aus logischer Blockadresse (Logical Block Address, LBA) 0 bis (n - 1). Die Anzahl der logischen Blöcke basiert auf der formatierten LBA-Größe. Dieses Feld ist vor der Formatierung des Namespaces nicht definiert.

NCAP

Gibt die maximale Anzahl logischer Blöcke an, die jederzeit im Namespace zugeordnet werden können.

Die Anzahl der logischen Blöcke basiert auf der formatierten LBA-Größe. Dieses Feld ist vor der Formatierung des Namespaces nicht definiert.

Das NCAP-Feld wird bei der dünnen Bereitstellung verwendet und meldet einen Wert, der kleiner oder gleich der Namespacegröße (NSZE) ist.

Ersatz-LBAs werden nicht als Teil dieses Felds gemeldet. Ein Wert für 0h die Namespacekapazität (NCAP) gibt an, dass die Namespace-ID eine inaktive Namespace-ID ist. Ein logischer Block wird zugewiesen, wenn er mit einem Befehl "Write" oder "Write Uncorrectable" geschrieben wird. Ein logischer Block kann mithilfe des Befehls "Datasetverwaltung " abgeglichen werden.

NUSE

Gibt die aktuelle Anzahl der im Namespace zugewiesenen logischen Blöcke an.

Der Wert dieses Felds ist kleiner oder gleich dem Wert des Namespace Capacity NCAP-Felds .

Die Anzahl der logischen Blöcke basiert auf der formatierten LBA-Größe. Bei Verwendung des NVM-Befehlssatzes wird ein logischer Block zugewiesen, wenn er mit einem Befehl "Write" oder "Write Uncorrectable" geschrieben wird. Ein logischer Block kann mithilfe des Befehls "Datasetverwaltung " abgeglichen werden.

Ein Controller kann jederzeit einen NUSE-Wert melden, der einem NCAP-Wert entspricht, wenn das Produkt nicht für Thin Provisioning-Umgebungen vorgesehen ist.

NSFEAT

Eine Namespacefeatures-Struktur (NSFEAT), die Felder enthält, die Features des Namespace definieren.

NSFEAT.ThinProvisioning

Bit 0 der NSFEAT-Struktur gibt an, ob der Namespace die dünne Bereitstellung unterstützt.

Wenn dieser Wert auf 1 festgelegt ist, unterstützt der Namespace die dünne Bereitstellung. Insbesondere kann die gemeldete Namespacekapazität (NCAP) kleiner als die Namespacegröße (NSZE) sein. Wenn dieses Feature unterstützt wird und der Befehl "Datasetverwaltung" unterstützt wird, wird das Deallocating LBAs im Feld Namespace Utilization (NUSE) angezeigt.

Wenn dieser Wert gelöscht 0wird, gibt er an, dass die dünne Bereitstellung nicht unterstützt wird, und die Felder NSZE und NCAP melden denselben Wert.

NSFEAT.NameSpaceAtomicWriteUnit

Bit 1 der NSFEAT-Struktur gibt an, ob Namespace Atomic Boundary Parameters für diesen Namespace definiert sind.

Wenn dieser Wert auf 1 festgelegt ist, werden die Felder NAWUN, NAWUPF und NACWU für diesen Namespace definiert und sollten vom Host für diesen Namespace anstelle der Felder AWUN, AWUPF und ACWU in der Datenstruktur "Datenverantwortlicher identifizieren" verwendet werden.

Wenn dieser Wert gelöscht 0wird, unterstützt der Controller die Felder NAWUN, NAWUPF und NACWU für diesen Namespace nicht. In diesem Fall sollte der Host die Felder AWUN, AWUPF und ACWU verwenden, die in der Datenstruktur " Datenverantwortlicher identifizieren " definiert sind.

NSFEAT.DeallocatedOrUnwrittenError

Bit 2 der NSFEAT-Struktur gibt an, ob der Controller den Fehler "Deallocated" oder "Unwritten Logical Block" für diesen Namespace unterstützt.

Wenn dieser Wert auf 1 festgelegt ist, unterstützt der Controller den Fehler "Deallocated" oder "Unwritten Logical Block" (NVME_STATUS_NVM_DEALLOCATED_OR_UNWRITTEN_LOGICAL_BLOCK) für diesen Namespace. Wenn dieser Wert gelöscht 0wird, unterstützt der Controller den NVME_STATUS_NVM_DEALLOCATED_OR_UNWRITTEN_LOGICAL_BLOCK Fehler für diesen Namespace nicht.

NSFEAT.SkipReuseUI

Bit 3 der NSFEAT-Struktur ist eine Einstellung für das Feature "Benutzeroberfläche überspringen".

NSFEAT.NameSpaceIoOptimization

NSFEAT.Reserved

Bits 4:7 der NSFEAT-Struktur sind reserviert.

NLBAF

Definiert die Anzahl der unterstützten LBA-Datengrößen- und Metadatengrößenkombinationen, die vom Namespace unterstützt werden.

LBA-Formate werden in der Reihenfolge (beginnend mit 0) zugewiesen und sequenziell gepackt. Dies ist ein 0-basierter Wert. Die maximale Anzahl von LBA-Formaten, die als unterstützt angegeben werden können, beträgt 16.

Die unterstützten LBA-Formate werden im LBAF-Feld (Bytes 128 – 191 dieser Datenstruktur) angegeben. Die Metadaten können entweder als Teil der LBA übertragen werden (Erstellen einer erweiterten LBA, die eine größere LBA-Größe ist, die für die Anwendung verfügbar gemacht wird) oder als separater zusammenhängender Datenpuffer übertragen werden. Die Metadaten können nicht zwischen der LBA und einem separaten Metadatenpuffer aufgeteilt werden.

Es wird empfohlen, dass Software und Controller auf eine LBA-Größe umsteigen, die 4 KB oder größer für die ECC-Effizienz am Controller ist. Wenn Metadaten bereitgestellt werden, wird empfohlen, dass mindestens 8 Bytes pro logischem Block bereitgestellt werden, um die Verwendung mit End-to-End-Datenschutz zu ermöglichen.

FLBAS

Eine formatierte LBA Size (FLBAS)-Struktur mit Feldern, die die Kombination aus LBA-Datengröße und Metadatengröße angeben, mit der der Namespace formatiert wurde.

FLBAS.LbaFormatIndex

Bits 0:3 der FLBAS-Struktur geben eines der in dieser Datenstruktur angegebenen 16 unterstützten LBA-Formate an.

FLBAS.MetadataInExtendedDataLBA

Bit 4 der FLBAS-Struktur gibt an, ob Metadaten am Ende der Daten-LBA übertragen werden, wodurch eine erweiterte Daten-LBA erstellt wird.

Wenn dieser Wert auf 1 festgelegt ist, werden die Metadaten am Ende der Daten-LBA übertragen, wodurch eine erweiterte Daten-LBA erstellt wird. Wenn dieser Wert gelöscht 0wird, gibt er an, dass alle Metadaten für einen Befehl als separater zusammenhängender Datenpuffer übertragen werden.

Bit 4 gilt nicht, wenn keine Metadaten vorhanden sind.

FLBAS.Reserved

Bits 5:7 der FLBAS-Struktur sind reserviert.

MC

Eine Mc-Struktur (Metadata Capabilities), die Felder enthält, die die Funktionen für Metadaten angeben.

MC.MetadataInExtendedDataLBA

Bit 0 der MC-Struktur gibt an, ob der Namespace die Metadaten unterstützt, die als Teil einer erweiterten Daten-LBA übertragen werden.

Wenn dieser Wert auf 1 festgelegt ist, unterstützt der Namespace die Metadaten, die als Teil einer erweiterten Daten-LBA übertragen werden. Wenn dieser Wert gelöscht 0wird, gibt er an, dass der Namespace die Metadaten, die als Teil einer erweiterten Daten-LBA übertragen werden, nicht unterstützt.

MC.MetadataInSeparateBuffer

Bit 1 der MC-Struktur gibt an, ob der Namespace die Metadaten unterstützt, die als Teil eines separaten Puffers übertragen werden.

Wenn dieser Wert auf 1 festgelegt ist, unterstützt der Namespace die Metadaten, die als Teil eines separaten Puffers übertragen werden, der im MPTR-Feld (Metadata Pointer) der Befehlsstruktur angegeben ist. Wenn dieser Wert gelöscht 0wird, unterstützt der Namespace die Metadaten, die als Teil eines separaten Puffers übertragen werden, nicht.

MC.Reserved

Bits 7:2 der MC-Struktur sind reserviert.

DPC

Eine End-to-End Data Protection Capabilities (DPC)-Struktur mit Feldern, die die Funktionen für das End-to-End-Datenschutzfeature angeben.

In diesem Feld können mehrere Bits festgelegt werden.

DPC.ProtectionInfoType1

Bit 0 der DPC-Struktur gibt an, ob der Namespace den Schutzinformationstyp 1 unterstützt.

Wenn dieser Wert auf 1"" festgelegt ist, unterstützt der Namespace den Schutzinformationstyp 1. Wenn dieser Wert gelöscht 0wird, unterstützt der Namespace den Schutzinformationstyp 1 nicht.

DPC.ProtectionInfoType2

Bit 1 der DPC-Struktur gibt an, ob der Namespace den Schutzinformationstyp 2 unterstützt.

Wenn dieser Wert auf 1"" festgelegt ist, unterstützt der Namespace den Schutzinformationstyp 2. Wenn dieser Wert gelöscht 0wird, unterstützt der Namespace den Schutzinformationstyp 2 nicht.

DPC.ProtectionInfoType3

Bit 2 der DPC-Struktur gibt an, ob der Namespace den Schutzinformationstyp 3 unterstützt.

Wenn dieser Wert auf 1"" festgelegt ist, unterstützt der Namespace den Schutzinformationstyp 3. Wenn dieser Wert gelöscht 0wird, unterstützt der Namespace den Schutzinformationstyp 3 nicht.

DPC.InfoAtBeginningOfMetadata

Bit 3 der DPC-Struktur gibt an, ob der Namespace Schutzinformationen unterstützt, die als erste acht Bytes von Metadaten übertragen werden.

Wenn dieser Wert auf 1"" festgelegt ist, unterstützt der Namespace Schutzinformationen, die als erste acht Bytes von Metadaten übertragen werden. Wenn dieser Wert gelöscht 0wird, unterstützt der Namespace keine Schutzinformationen, die als erste acht Bytes von Metadaten übertragen werden.

DPC.InfoAtEndOfMetadata

Bit 4 der DPC-Struktur gibt an, ob der Namespace Schutzinformationen unterstützt, die als die letzten acht Bytes von Metadaten übertragen werden.

Wenn dieser Wert auf 1 festgelegt ist, unterstützt der Namespace Schutzinformationen, die als die letzten acht Bytes von Metadaten übertragen werden. Wenn dieser Wert gelöscht 0wird, unterstützt der Namespace keine Schutzinformationen, die als die letzten acht Bytes von Metadaten übertragen werden.

DPC.Reserved

Bits 7:5 der DPC-Struktur sind reserviert.

DPS

Eine End-to-End Data Protection Type Settings (DPS)-Struktur mit Feldern, die die Typeinstellungen für das End-to-End-Datenschutzfeature angeben.

NVME_PROTECTION_INFORMATION_TYPES

DPS.ProtectionInfoTypeEnabled

Bits 2:0 der DPS-Struktur ist ein NVME_PROTECTION_INFORMATION_TYPES Wert, der angibt, ob Schutzinformationen aktiviert sind, und der Typ der aktivierten Schutzinformationen.

DPS.InfoAtBeginningOfMetadata

Bit 3 der DPS-Struktur gibt an, ob die Schutzinformationen( sofern aktiviert) als die ersten acht Bytes von Metadaten übertragen werden.

Wenn dieser Wert auf <a0/> festgelegt ist, werden die Schutzinformationen( sofern aktiviert) als die ersten acht Bytes von Metadaten übertragen. Wenn dieser Wert gelöscht 0wird, werden die Schutzinformationen, sofern aktiviert, als die letzten acht Bytes von Metadaten übertragen.

DPS.Reserved

Bits 7:4 der DPS-Struktur sind reserviert.

NMIC

Eine Namespace-I/O- und Namespace Sharing Capabilities (NMIC)-Struktur mit Feldern, die die E/A-Funktionen für den Multipfad und die Namespacefreigabefunktionen des Namespaces angeben.

NMIC.SharedNameSpace

Bit 0 der NMIC-Struktur gibt an, ob der Namespace ein freigegebener Namespace sein kann.

Wenn dieser Wert auf 0wird, ist der Namespace ein privater Namespace und kann nur vom Controller aufgerufen werden, der diese Namespacedatenstruktur zurückgegeben hat.

NMIC.Reserved

Bits 7:1 der NMIC-Struktur sind reserviert.

RESCAP

Eine ResCAP-Struktur (Reservierungsfunktionen), die Felder enthält, die die Reservierungsfunktionen des Namespaces angeben.

Ein Wert 00h in diesem Feld gibt an, dass Reservierungen von diesem Namespace nicht unterstützt werden.

FPI

Eine Formatstatusanzeige (Format Progress Indicator, FPI)-Struktur mit Feldern, die den Prozentsatz des Namespaces angeben, der weiterhin formatiert werden soll, wenn ein Formatvorgang ausgeführt wird.

FPI.PercentageRemained

Bits 0:6 der FPI-Struktur geben den Prozentsatz des Namespaces an, der noch formatiert werden soll. Beispielsweise gibt ein Wert an 25 , dass 75% des Namespace formatiert wurden und 25% weiterhin formatiert werden müssen.

Ein Wert, der 0 angibt, dass der Namespace mit dem formatiert wird, das durch die Felder FLBAS und DPS in dieser Datenstruktur angegeben ist.

FPI.Supported

Bit 7 der FPI-Struktur gibt an, ob der Namespace die vom FPI definierte Formatstatusanzeige unterstützt . PercentageRemained-Feld .

Wenn dieser Wert auf 1 festgelegt ist, unterstützt der Namespace den vom FPI definierten Statusindikator "Format" . PercentageRemained-Feld . Wenn dieser Wert gelöscht 0wird, unterstützt der Namespace nicht die Statusanzeige "Format" und den FPI. Das Feld "PercentageRemained" wird gelöscht.0h

DLFEAT

DLFEAT.ReadBehavior

DLFEAT.WriteZeroes

DLFEAT.GuardFieldWithCRC

DLFEAT.Reserved

NAWUN

Gibt die namespacespezifische Größe des Schreibvorgangs an, der während des normalen Vorgangs atomisch in den NVM geschrieben werden soll.

Ein Wert von 0h gibt an, dass die Größe für diesen Namespace die gleiche Größe wie im Feld "AWUN " der Datenstruktur " Controller identifizieren " aufweist. Alle anderen Werte geben eine Größe in Bezug auf logische Blöcke mit der gleichen Codierung wie das AWUN-Feld an.

NAWUPF

Gibt die namespacespezifische Größe des Schreibvorgangs an, der während eines Stromfehlers oder eines Fehlerzustands atomisch in den NVM geschrieben werden soll.

Ein Wert von 0h gibt an, dass die Größe für diesen Namespace die gleiche Größe wie im Feld "AWUPF " der Datenstruktur " Controller identifizieren " aufweist. Alle anderen Werte geben eine Größe in Bezug auf logische Blöcke mit der gleichen Codierung wie das AWUPF-Feld an.

NACWU

Gibt die namespacespezifische Größe des Schreibvorgangs an, der garantiert atomisch in den NVM für einen Befehl zum Vergleichen und Schreiben von Fused geschrieben wird.

Ein Wert von 0h gibt an, dass die Größe für diesen Namespace die gleiche Größe wie im FELD ACWU der Datenstruktur " Controller identifizieren " ist. Alle anderen Werte geben eine Größe in Bezug auf logische Blöcke mit der gleichen Codierung wie das ACWU-Feld an.

NABSN

Gibt die atomische Begrenzungsgröße für diesen Namespace für den NAWUN-Wert an.

Dieses Feld wird in logischen Blöcken angegeben. Schreibt in diesen Namespace, der atomübergreifende Grenzen überschreitet, ist nicht garantiert atomierend für das NVM im Hinblick auf andere Lese- oder Schreibbefehle.Writes to this namespace that cross atomic boundaries are not garantiert to be atomic to the NVM with other read or write commands.

Ein Wert von 0h gibt an, dass keine atomalen Grenzen für normale Schreibvorgänge vorhanden sind. Alle anderen Werte geben eine Größe in Bezug auf logische Blöcke mit der gleichen Codierung wie das AWUN-Feld an.

NABO

Gibt die logische Blockadresse (Logical Block Address, LBA) für diesen Namespace an, in dem die erste Atomgrenze beginnt.

Wenn die Felder NABSN und NABSPF gelöscht 0hwerden, wird das NABO-Feld auf 0h gelöscht. Der Wert von NABO sollte kleiner oder gleich NABSN und NABSPF sein.

NABSPF

Gibt die atombezogene Begrenzungsgröße für diesen Namespace an, der für den Namespace Atomic Write Unit Power Fail-Wert spezifisch ist.

Dieses Feld wird in logischen Blöcken angegeben. Schreibvorgänge in diesen Namespace, die über atomübergreifende Grenzen hinweg nicht garantiert sind, in Bezug auf andere Lese- oder Schreibbefehle atomar zu sein, und es gibt keine Garantie für Daten, die bei nachfolgenden Lesevorgängen der zugeordneten logischen Blöcke zurückgegeben werden.

Ein Wert, der 0h angibt, dass keine atomen Grenzen für Energiefehler oder Fehlerbedingungen vorhanden sind. Alle anderen Werte geben eine Größe in Bezug auf logische Blöcke mit der gleichen Codierung wie das AWUPF-Feld an.

NOIOB

Gibt die optimale IO-Grenze (NAMESPACE Optimal IO Boundary, NOIOB) an.

NVMCAP[16]

Gibt die Gesamtgröße des NVM an, das diesem Namespace zugeordnet ist.

Der Wert dieses Felds ist in Byte. Dieses Feld wird unterstützt, wenn die Befehle "Namespaceverwaltung" und "Namespaceanlagen" unterstützt werden.

Hinweis: Dieses Feld entspricht möglicherweise nicht der logischen Blockgröße, die mit dem Feld Namespacegröße (NSZE) multipliziert wird. Aufgrund der dünnen Bereitstellung oder anderer Einstellungen (z. B. Ausdauer) kann dieses Feld größer oder kleiner als die gemeldete NSZE sein.

NPWG

NPWA

NPDG

NPDA

NOWS

MSSRL

MCL

MSRC

Reserved2[11]

Ein reserviertes Feld.

ANAGRPID

Reserved3[3]

Bytes 192:383A sind reserviert.

NSATTR

NSATTR.WriteProtected

NSATTR.Reserved

NVMSETID

Gibt den zugeordneten NVM-Satzbezeichner (NVMSETID) an.

ENDGID

Gibt den Associated Endurance Group Identifier (ENDGID) an.

NGUID[16]

Enthält einen 128-Bit-Wert, der global eindeutig und dem Namespace zugewiesen ist, wenn der Namespace erstellt wird.

Das Namespace Globally Unique Identifier (NGUID)-Feld bleibt während der gesamten Lebensdauer des Namespaces fixiert und wird über Namespace- und Controllervorgänge hinweg beibehalten (z. B. Controllerzurücksetzung und Namespaceformat).

Dieses Feld verwendet das EUI-64-basierte 16-Byte-Designatorformat.

  • Byte 114:112 enthalten den 24-Bit-company_id Wert, der von der IEEE-Registrierungsbehörde zugewiesen wurde.
  • Byte 119:115 enthalten eine Erweiterungsidentifer, die der entsprechenden Organisation zugewiesen wurde.
  • Byte 111:104 enthalten den anbieterspezifischen Erweiterungsbezeichner, der von der entsprechenden Organisation zugewiesen wurde.

Weitere Informationen finden Sie in den IEEE EUI-64-Richtlinien. Der Controller sollte einen global eindeutigen Namespacebezeichner in diesem Feld oder das EUI64-Feld angeben, wenn der Namespace erstellt wird.

EUI64[8]

Enthält einen 64-Bit-IEEE Extended Unique Identifier (EUI-64), der global eindeutig und dem Namespace zugewiesen ist, wenn der Namespace erstellt wird.

Das EUI64-Feld bleibt während der gesamten Lebensdauer des Namespaces festgelegt und wird über Namespace- und Controllervorgänge hinweg beibehalten (z. B. Controllerzurücksetzung und Namespaceformat).

Die EUI-64 ist eine Verkettung eines 24-Bit- oder 36-Bit-company_id Werts, der von der IEEE-Registrierungsstelle zugewiesen wurde, und einer Erweiterungs-ID, die von der entsprechenden Organisation zugewiesen wird. Weitere Informationen finden Sie in den IEEE EUI-64-Richtlinien.

Der Controller sollte einen global eindeutigen Namespacebezeichner in diesem Feld oder das NGUID-Feld angeben, wenn der Namespace erstellt wird. Wenn der Controller keinen global eindeutigen 64-Bit-Bezeichner zuordnen kann, wird dieses Feld gelöscht 0h.

LBAF[16]

Enthält ein Array von 16 NVME_LBA_FORMAT Strukturen. Jede Struktur im Array gibt ein LBA-Format an und gibt an, dass sie vom Controller unterstützt wird.

Die nullbasierte Position einer Struktur im Array entspricht dem Namen des LBA-Formats, sodass LBA Format 0 (LBAF0) in Position 0 liegt, LBA Format 1 (LBAF1) in Position 1 usw. bis zum LBA-Format 15 (LBAF15) in Position 15.

Reserved4[192]

VS[3712]

Dieser Bytebereich (384:4095) wird für die Anbieterspezifische Verwendung (VS) zugewiesen.

Anforderungen

Anforderung Wert
Mindestens unterstützter Client Windows 10
Header nvme.h