Freigeben über


NVME_CONTROLLER_CAPABILITIES Union (nvme.h)

Enthält schreibgeschützte Werte, die die grundlegenden Funktionen des Controllers zum Hosten von Software angeben.

Diese Struktur wird im Feld Controllerfunktionen (CAP) der NVME_CONTROLLER_REGISTERS-Struktur verwendet.

Syntax

typedef union {
  struct {
    ULONGLONG MQES : 16;
    ULONGLONG CQR : 1;
    ULONGLONG AMS_WeightedRoundRobinWithUrgent : 1;
    ULONGLONG AMS_VendorSpecific : 1;
    ULONGLONG Reserved0 : 5;
    ULONGLONG TO : 8;
    ULONGLONG DSTRD : 4;
    ULONGLONG NSSRS : 1;
    ULONGLONG CSS_NVM : 1;
    ULONGLONG CSS_Reserved0 : 1;
    ULONGLONG CSS_Reserved1 : 1;
    ULONGLONG CSS_Reserved2 : 1;
    ULONGLONG CSS_Reserved3 : 1;
    ULONGLONG CSS_Reserved4 : 1;
    ULONGLONG CSS_MultipleIo : 1;
    ULONGLONG CSS_AdminOnly : 1;
    ULONGLONG Reserved2 : 3;
    ULONGLONG MPSMIN : 4;
    ULONGLONG MPSMAX : 4;
    ULONGLONG Reserved3 : 8;
  } DUMMYSTRUCTNAME;
  ULONGLONG AsUlonglong;
} NVME_CONTROLLER_CAPABILITIES, *PNVME_CONTROLLER_CAPABILITIES;

Member

DUMMYSTRUCTNAME

DUMMYSTRUCTNAME.MQES

Gibt die maximale individuelle Warteschlangengröße an, die der Controller unterstützt.

Dieser Wert gilt für alle E/A-Übermittlungswarteschlangen und E/A-Vervollständigungswarteschlangen, die von der Hostsoftware erstellt werden.

Dies ist ein auf 0 basierender Wert. Der Mindestwert ist 1h, der zwei Warteschlangeneinträge angibt.

DUMMYSTRUCTNAME.CQR

Gibt an, ob E/A-Übermittlungswarteschlangen und E/A-Vervollständigungswarteschlangen vom Controller physisch zusammenhängend sein müssen.

Wenn dieses Feld auf 1festgelegt ist, erfordert der Controller, dass E/A-Übermittlungswarteschlangen und E/A-Vervollständigungswarteschlangen physisch zusammenhängend sind. Wenn dieses Feld auf 0gelöscht wird, unterstützt der Controller E/A-Übermittlungswarteschlangen und E/A-Vervollständigungswarteschlangen, die nicht physisch zusammenhängend sind.

Wenn dieses Feld auf 1festgelegt ist, wird das Physisch zusammenhängende Bit (das FELD PC ) in den Befehlen E/A-Übermittlungswarteschlange erstellen und E/A-Vervollständigungswarteschlange erstellen auf 1festgelegt.

DUMMYSTRUCTNAME.AMS_WeightedRoundRobinWithUrgent

Gibt an, ob der Mechanismus "Weighted RoundRobin" mit dringender Prioritätsklasse vom Controller unterstützt wird.

Wenn dieses Feld auf 1festgelegt ist, wird der Schiedsmechanismus für gewichtetes Roundrobin mit dringender Prioritätsklasse unterstützt.

Diese AMS_WeightedRoundRobinWithUrgent und AMS_VendorSpecific Felder geben die optionalen Schiedsmechanismen an, die vom Verantwortlichen unterstützt werden. Der Roundrobin-Schiedsmechanismus ist nicht aufgeführt, da alle Controller diesen Schiedsmechanismus unterstützen müssen.

DUMMYSTRUCTNAME.AMS_VendorSpecific

Gibt an, ob der anbieterspezifische Schiedsmechanismus vom Controller unterstützt wird.

Wenn dieses Feld auf 1festgelegt ist, wird der anbieterspezifische Schiedsmechanismus unterstützt.

DUMMYSTRUCTNAME.Reserved0

Ein reserviertes Feld (Bits 19 bis 23).

DUMMYSTRUCTNAME.TO

Gibt die schlechteste Zeit an, zu der die Hostsoftware auf den Wert Bereit (RDY) im Controllerstatus wartet, um von zu wechseln:

Diese schlechteste Zeit kann nach Ereignissen wie einem abrupten Herunterfahren oder der Aktivierung eines neuen Firmwareimages auftreten. Typische Zeiten werden voraussichtlich viel kürzer sein.

Der Wert dieses Felds beträgt 500 Millisekundeneinheiten.

DUMMYSTRUCTNAME.DSTRD

Gibt den Schritt zwischen Klingelregistern an.

Jedes Doorbell-Register für Übermittlungswarteschlange und Vervollständigungswarteschlange hat eine Größe von 32 Bit. Der Stride wird als (2 ^ (2 + DSTRD)) in Bytes angegeben.

Der Wert von 0h gibt einen Schritt von 4 Bytes an, wobei die Klingelregister ohne reservierten Speicherplatz zwischen den einzelnen Registern gepackt werden.

DUMMYSTRUCTNAME.NSSRS

Gibt an, ob der Controller die funktion zum Zurücksetzen des NVM-Subsystems unterstützt, die in der NVME_NVM_SUBSYSTEM_RESET-Struktur definiert ist.

Wenn dieses Feld auf 1festgelegt ist, unterstützt der Controller die NvM-Subsystemzurücksetzungsfunktion. Hen dieses Feld ist auf 0deaktiviert, unterstützt der Controller die NVM-Subsystemzurücksetzungsfunktion nicht.

DUMMYSTRUCTNAME.CSS_NVM

Dieses Feld gibt an, ob der NVM-Befehlssatz vom Controller unterstützt wird. Mindestens ein Befehlssatz muss unterstützt werden.

Wenn dieses Feld auf 1festgelegt ist, wird der NVM-Befehlssatz unterstützt.

Die CSS_Reserved0 über CSS_Reserved6 Felder sind für andere E/A-Befehlssätze reserviert. Wenn der Wert eines dieser Felder auf 1festgelegt ist, wird der entsprechende E/A-Befehlssatz unterstützt.

DUMMYSTRUCTNAME.CSS_Reserved0

DUMMYSTRUCTNAME.CSS_Reserved1

DUMMYSTRUCTNAME.CSS_Reserved2

DUMMYSTRUCTNAME.CSS_Reserved3

DUMMYSTRUCTNAME.CSS_Reserved4

DUMMYSTRUCTNAME.CSS_MultipleIo

DUMMYSTRUCTNAME.CSS_AdminOnly

DUMMYSTRUCTNAME.Reserved2

DUMMYSTRUCTNAME.MPSMIN

Gibt die minimale Größe der Hostspeicherseite an, die der Controller unterstützt.

Die Mindestgröße der Speicherseite ist (2 ^ (12 + MPSMIN)).

Der Host konfiguriert keine Speicherseitengröße im MPS-Feldvon NVME_CONTROLLER_CONFIGURATION , die kleiner als dieser Wert ist.

DUMMYSTRUCTNAME.MPSMAX

Gibt die maximale Größe der Hostspeicherseiten an, die der Controller unterstützt.

Die maximale Größe der Speicherseite ist (2 ^ (12 + MPSMAX)).

Der Host konfiguriert keine Speicherseitengröße im MPS-Feldvon NVME_CONTROLLER_CONFIGURATION , die größer als dieser Wert ist.

DUMMYSTRUCTNAME.Reserved3

AsUlonglong

Anforderungen

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

Weitere Informationen