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 Namespace-Bezeichner enthalten 0xFFFFFFFF.

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

Wenn der Controller die Namespaceverwaltung unterstützt und das Feld Namespacebezeichner (Namespace Identifier, 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 in allen 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;

Member

NSZE

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

Ein Namespace der Größe n besteht aus logischer Blockadresse (LBA) 0 bis (n - 1). Die Anzahl der logischen Blöcke basiert auf der formatierten LBA-Größe. Dieses Feld ist nicht definiert, bevor der Namespace formatiert wird.

NCAP

Gibt die maximale Anzahl logischer Blöcke an, die zu einem beliebigen Zeitpunkt im Namespace zugeordnet werden können.

Die Anzahl der logischen Blöcke basiert auf der formatierten LBA-Größe. Dieses Feld ist nicht definiert, bevor der Namespace formatiert wird.

Das Feld NCAP wird im Fall der Thin Provisioning verwendet und meldet einen Wert, der kleiner oder gleich der Namespacegröße (Namespace Size, NSZE) ist.

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

NUSE

Gibt die aktuelle Anzahl logischer Blöcke an, die im Namespace zugeordnet sind.

Der Wert dieses Felds ist kleiner oder gleich dem Wert des NCAP-Felds Namespacekapazität.

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

Ein Controller kann jederzeit einen NUSE-Wert in Höhe eines NCAP-Werts melden, wenn das Produkt nicht für Thin Provisioning-Umgebungen vorgesehen ist.

NSFEAT

Eine NSFEAT-Struktur (Namespace Features) mit Feldern, die Features des Namespace definieren.

NSFEAT.ThinProvisioning

Bit 0 der NSFEAT-Struktur gibt an, ob der Namespace thin provisioning unterstützt.

Wenn dieser Wert auf 1festgelegt ist, unterstützt der Namespace thin provisioning. Insbesondere kann die gemeldete Namespacekapazität (Namespace Capacity, NCAP) kleiner als die Namespacegröße (NSZE) sein. Wenn dieses Feature unterstützt und der Befehl Datasetverwaltung unterstützt wird, wird die Zuordnung von LBAs im Feld Namespaceauslastung (NUSE) angezeigt.

Wenn dieser Wert auf 0gelöscht wird, gibt dies an, dass thin provisioning nicht unterstützt wird und die Felder NSZE und NCAP den gleichen Wert melden.

NSFEAT.NameSpaceAtomicWriteUnit

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

Wenn dieser Wert auf 1festgelegt 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 Identifizieren des Controllers verwendet werden.

Wenn dieser Wert auf 0gelöscht wird, 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 "Controller 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 1festgelegt 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 auf 0gelöscht wird, 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 Wiederverwendung überspringen.

NSFEAT.NameSpaceIoOptimization

NSFEAT.Reserved

Bits 4:7 der NSFEAT-Struktur sind reserviert.

NLBAF

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

LBA-Formate werden in der Reihenfolge (ab 0) zugeordnet und sequenziell gepackt. Dies ist ein auf 0 basierender Wert. Die maximale Anzahl von LBA-Formaten, die als unterstützt angegeben werden können, ist 16.

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

Es wird empfohlen, dass Software und Controller auf eine LBA-Größe umstellen, die mindestens 4 KB beträgt, um die ECC-Effizienz des Controllers zu gewährleisten. Beim Bereitstellen von Metadaten wird empfohlen, dass mindestens 8 Bytes pro logischem Block bereitgestellt werden, um die Verwendung mit End-to-End-Datenschutz zu ermöglichen.

FLBAS

Eine FLBAS-Struktur (Formatted LBA Size) 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 16 unterstützten LBA-Formate an, die in dieser Datenstruktur angegeben sind.

FLBAS.MetadataInExtendedDataLBA

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

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

Bit 4 ist nicht anwendbar, wenn keine Metadaten vorhanden sind.

FLBAS.Reserved

Bits 5:7 der FLBAS-Struktur sind reserviert.

MC

Eine Metadatenfunktionsstruktur (Metadata Capabilities, MC), 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 eines erweiterten Daten-LBA übertragen werden.

Wenn dieser Wert auf 1festgelegt ist, unterstützt der Namespace die Metadaten, die als Teil eines erweiterten Daten-LBA übertragen werden. Wenn dieser Wert auf 0gelöscht wird, gibt dies an, dass der Namespace die Metadaten, die als Teil eines 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 1festgelegt ist, unterstützt der Namespace die Metadaten, die als Teil eines separaten Puffers übertragen werden, der im Feld Metadatenzeiger (MPTR) der Befehlsstruktur angegeben wird. Wenn dieser Wert auf 0gelöscht wird, unterstützt der Namespace die Metadaten nicht, die als Teil eines separaten Puffers übertragen werden.

MC.Reserved

Bits 7:2 der MC-Struktur sind reserviert.

DPC

Eine DPC-Struktur (End-to-End Data Protection Capabilities) 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 schutzinformationstyp 1 unterstützt.

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

DPC.ProtectionInfoType2

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

Wenn dieser Wert auf 1festgelegt ist, unterstützt der Namespace den Schutzinformationstyp 2. Wenn dieser Wert auf 0gelöscht wird, 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 1festgelegt ist, unterstützt der Namespace Schutzinformationstyp 3. Wenn dieser Wert auf 0gelöscht wird, 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 die ersten acht Bytes von Metadaten übertragen werden.

Wenn dieser Wert auf 1festgelegt ist, unterstützt der Namespace Schutzinformationen, die als die ersten acht Bytes von Metadaten übertragen werden. Wenn dieser Wert auf 0gelöscht wird, unterstützt der Namespace keine Schutzinformationen, die als die ersten 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 1festgelegt ist, unterstützt der Namespace Schutzinformationen, die als die letzten acht Bytes von Metadaten übertragen werden. Wenn dieser Wert auf 0gelöscht wird, 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-DpS-Struktur (Data Protection Type Settings) mit Feldern, die die Typeinstellungen für die End-to-End-Datenschutzfunktion 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 und der Typ der Schutzinformationen aktiviert ist.

DPS.InfoAtBeginningOfMetadata

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

Wenn dieser Wert auf 1festgelegt ist, werden die Schutzinformationen, sofern aktiviert, als die ersten acht Bytes der Metadaten übertragen. Wenn dieser Wert auf 0gelöscht wird, werden die Schutzinformationen, sofern aktiviert, als die letzten acht Bytes der Metadaten übertragen.

DPS.Reserved

Bits 7:4 der DPS-Struktur sind reserviert.

NMIC

Eine Namespace-Struktur mit mehreren Pfaden für E/A und NmIC (Namespace Sharing Capabilities) mit Feldern, die die E/A- und Namespacefreigabefunktionen für mehrere Pfade und Namespacefreigabefunktionen des Namespace angeben.

NMIC.SharedNameSpace

Bit 0 der NMIC-Struktur gibt an, ob es sich bei dem Namespace um einen freigegebenen Namespace handelt.

Wenn dieser Wert auf 1festgelegt ist, kann auf den Namespace von mindestens zwei Controllern im NVM-Subsystem zugegriffen werden. Wenn dieser Wert auf 0gelöscht wird, ist der Namespace ein privater Namespace und kann nur vom Controller zugegriffen werden, der diese Namespacedatenstruktur zurückgegeben hat.

NMIC.Reserved

Bits 7:1 der NMIC-Struktur sind reserviert.

RESCAP

Eine RESCAP-Struktur (Reservation Capabilities) mit Feldern, die die Reservierungsfunktionen des Namespace angeben.

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

FPI

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

FPI.PercentageRemained

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

Der Wert von 0 gibt an, dass der Namespace mit dem Format formatiert ist, das in den Feldern FLBAS und DPS in dieser Datenstruktur angegeben ist.

FPI.Supported

Bit 7 der FPI-Struktur gibt an, ob der Namespace den vom FPI definierten Statusindikator formatiert . PercentageRemained-Feld .

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

DLFEAT

DLFEAT.ReadBehavior

DLFEAT.WriteZeroes

DLFEAT.GuardFieldWithCRC

DLFEAT.Reserved

NAWUN

Gibt die namespacespezifische Größe des Schreibvorgangs an, der garantiert während des normalen Betriebs atomar in den NVM geschrieben wird.

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

NAWUPF

Gibt die namespacespezifische Größe des Schreibvorgangs an, der während eines Stromfehlers oder einer Fehlerbedingung garantiert atomar in den NVM geschrieben wird.

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

NACWU

Gibt die namespacespezifische Größe des Schreibvorgangs an, der garantiert atomar in den NVM geschrieben wird, für einen Vergleichs- und Schreibbefehl.

Der Wert von 0h gibt an, dass die Größe für diesen Namespace dieselbe Größe wie im ACWU-Feld der Datenstruktur "Controller identifizieren " aufweist. Alle anderen Werte geben eine Größe in Bezug auf logische Blöcke an, wobei dieselbe Codierung wie das ACWU-Feld verwendet wird.

NABSN

Gibt die Größe der atomischen Begrenzung für diesen Namespace für den NAWUN-Wert an.

Dieses Feld wird in logischen Blöcken angegeben. Schreibvorgänge in diesen Namespace, die atomische Grenzen überschreiten, sind nicht garantiert, dass sie für den NVM in Bezug auf andere Lese- oder Schreibbefehle atomar sind.

Der Wert von 0h gibt an, dass es keine atomaren Grenzen für normale Schreibvorgänge gibt. Alle anderen Werte geben eine Größe in Bezug auf logische Blöcke an, wobei dieselbe Codierung wie das AWUN-Feld verwendet wird.

NABO

Gibt die Logische Blockadresse (LBA) in diesem Namespace an, an der die erste atomische Grenze beginnt.

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

NABSPF

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

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

Der Wert gibt 0h an, dass es keine atomaren Grenzen für Leistungsfehler oder Fehlerbedingungen gibt. Alle anderen Werte geben eine Größe in Bezug auf logische Blöcke an, wobei dieselbe Codierung wie das AWUPF-Feld verwendet wird.

NOIOB

Gibt die namespaceoptimale E/A-Grenze (NOIOB) an.

NVMCAP[16]

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

Der Wert dieses Felds ist in Bytes. Dieses Feld wird unterstützt, wenn die Befehle Namespace management und Namespace Attachment unterstützt werden.

Hinweis: Dieses Feld entspricht möglicherweise nicht der logischen Blockgröße multipliziert mit dem Feld Namespacegröße (NSZE). Aufgrund der schlanken Bereitstellung oder anderer Einstellungen (z. B. Ausdauer) kann dieses Feld größer oder kleiner als das 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-Set-Bezeichner (NVMSETID) an.

ENDGID

Gibt den zugeordneten Ausdauergruppenbezeichner (ENDGID) an.

NGUID[16]

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

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

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

  • Bytes 114:112 enthalten den 24-Bit-company_id Wert, der von der IEEE-Registrierungsstelle zugewiesen wird.
  • Bytes 119:115 enthalten eine Erweiterungsidentifer, die vom entsprechenden organization zugewiesen wird.
  • Bytes 111:104 enthalten den herstellerspezifischen Erweiterungsbezeichner, der vom entsprechenden organization zugewiesen wird.

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 ist und dem Namespace zugewiesen ist, wenn der Namespace erstellt wird.

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

Die EUI-64 ist eine Verkettung eines 24-Bit- oder 36-Bit-company_id-Werts, der von der IEEE-Registrierungsbehörde zugewiesen wird, und eines Erweiterungsbezeichners, der von der entsprechenden organization 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 für 0hgelöscht.

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 es vom Controller unterstützt wird.

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

Reserved4[192]

VS[3712]

Dieser Bytebereich (384:4095) wird für die anbieterspezifische Nutzung (VS) zugeordnet.

Anforderungen

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