Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Enthält Lese-/Schreibkonfigurationseinstellungen für den Controller.
Die Hostsoftware legt die folgenden Felder auf gültige Werte fest, bevor der Controller aktiviert wird, indem sie den Feldwert "EN aktivieren" auf 1:
Diese Struktur wird im Feld "Controller Capabilities (CC)" der NVME_CONTROLLER_REGISTERS-Struktur verwendet.
Syntax
typedef union {
struct {
ULONG EN : 1;
ULONG Reserved0 : 3;
ULONG CSS : 3;
ULONG MPS : 4;
ULONG AMS : 3;
ULONG SHN : 2;
ULONG IOSQES : 4;
ULONG IOCQES : 4;
ULONG Reserved1 : 8;
} DUMMYSTRUCTNAME;
ULONG AsUlong;
} NVME_CONTROLLER_CONFIGURATION, *PNVME_CONTROLLER_CONFIGURATION;
Elemente
DUMMYSTRUCTNAME
DUMMYSTRUCTNAME.EN
Gibt an, ob der Controller zum Verarbeiten von Befehlen aktiviert ist.
Wenn dieser Wert auf 1 festgelegt ist, verarbeitet der Controller Befehle basierend auf Schreibvorgängen der Übermittlungswarteschlange Tail Doorbell .
Wenn dieser Wert gelöscht 0wird, verarbeitet der Controller weder Befehle noch Post-Warteschlange-Einträge für abschlusswarteschlangen .
Wenn dieses Feld von 1 zu 0"Zurücksetzung" wechselt, wird der Controller zurückgesetzt (als Controllerzurücksetzung bezeichnet). Durch die Zurücksetzung werden alle E/A-Übermittlungswarteschlangen und E/A-Vervollständigungswarteschlangen gelöscht, die Administratorübermittlungswarteschlange und die Abschlusswarteschlange zurückgesetzt und die Hardware in den Leerlaufzustand versetzt. Die Zurücksetzung wirkt sich nicht auf PCI Express-Register aus, oder die Administratorwarteschlange registriert (AQA, ASQ oder ACQ). Alle anderen Controllerregister und interne Controllerzustände (z. B. Featurewerte, die nicht beständige Zustände sind) werden auf ihre Standardwerte zurückgesetzt. Der Controller stellt sicher, dass es keinen Datenverlust für Befehle gibt, die entsprechende Vervollständigungswarteschlangeneinträge vor dem Rücksetzungsvorgang in eine E/A-Vervollständigungswarteschlange gepostet haben.
Wenn dieses Feld gelöscht 0wird, wird der Wert des Felds "Ready" (RDY) im Controllerstatus vom Controller gelöscht 0 , sobald der Controller wieder aktiviert werden kann. Wenn dieses Feld auf 1 festgelegt ist, legt der Controller den Wert des RDY-Felds im Controllerstatus so 1 fest, dass er für die Verarbeitung von Befehlen bereit ist.
RDY kann festgelegt werden, 1 bevor auf Namespaces zugegriffen werden kann.
Das Festlegen dieses Felds von einem 0 auf ein 1RdY-Datum oder das Festlegen dieses Felds von einem "1" auf ein "0", wenn RDY ein "0" ist1, hat nicht definierte Ergebnisse. Die Administratorwarteschlange registriert (AQA, ASQ und ACQ) wird nur geändert, wenn EN gelöscht 0wird.
DUMMYSTRUCTNAME.Reserved0
DUMMYSTRUCTNAME.CSS
Gibt den E/A-Befehlssatz an, der für die E/A-Übermittlungswarteschlangen ausgewählt ist.
Hostsoftware wählt nur einen unterstützten E/A-Befehlssatz aus, wie im CSS-Feld der Controllerfunktionen angegeben.
Dieser Wert dieses Felds kann nur geändert werden, wenn der Controller deaktiviert ist ( das EN-Feld wird gelöscht).0 Der ausgewählte E/A-Befehlssatz wird für alle E/A-Übermittlungswarteschlangen verwendet.
DUMMYSTRUCTNAME.MPS
Gibt die Größe der Hostspeicherseite an. Die Größe der Speicherseite ist (2 ^ (12 + MPS)). Daher beträgt die minimale Größe der Hostspeicherseite 4 KB und die maximale Größe der Hostspeicherseite beträgt 128 MB.
Der von der Hostsoftware festgelegte Wert muss ein unterstützter Wert sein, wie in den Feldern MPSMAX und MPSMIN der Controllerfunktionen angegeben. In diesem Feld wird der Wert beschrieben, der für die PRP-Eintragsgröße verwendet wird.
Dieses Feld kann nur geändert werden, wenn EN gelöscht 0wird.
DUMMYSTRUCTNAME.AMS
Gibt den zu verwendenden Vermittlungsmechanismus an.
Dieses Feld kann nur geändert werden, wenn EN gelöscht 0wird.
Hostsoftware kann dieses Feld nur auf unterstützte Vermittlungsmechanismen festlegen, wie im AMS-Feld der Controllerfunktionen angegeben. Wenn dieses Feld auf einen nicht unterstützten Wert festgelegt ist, ist das Verhalten nicht definiert.
DUMMYSTRUCTNAME.SHN
Gibt einen NVME_CC_SHN_SHUTDOWN_NOTIFICATIONS Wert an, der verwendet wird, um die Verarbeitung des Herunterfahrens zu initiieren, wenn ein Herunterfahren auftritt. Wenn z. B. eine Stromabschaltbedingung erwartet wird.
Bei einer normalen Benachrichtigung zum Herunterfahren wird erwartet, dass der Controller Zeit zum Verarbeiten der Benachrichtigung zum Herunterfahren erhält. Bei einer Benachrichtigung über das abrupte Herunterfahren wartet der Host möglicherweise nicht, bis die Verarbeitung des Herunterfahrens abgeschlossen ist, bevor der Strom verloren geht. Dieses Feld sollte vor jedem Stromdownzustand und vor jeder Änderung des PCI-Energieverwaltungszustands von Hostsoftware an die Hostsoftware geschrieben werden. Es wird empfohlen, dass dieses Feld auch vor einem warmen Neustart in das Feld geschrieben wird.
Informationen dazu, wann die Verarbeitung des Herunterfahrens abgeschlossen ist, finden Sie im SHST-Wert im Controllerstatus.
DUMMYSTRUCTNAME.IOSQES
Gibt die Eingabegröße der E/A-Übermittlungswarteschlange an, die für den ausgewählten E/A-Befehlssatz verwendet wird.
Die erforderlichen und maximalen Werte für dieses Feld werden im SQES angegeben. RequiredEntrySize und SQES. MaxEntrySize fields of the Identify Controller data structure for each I/O Command Set. Der Wert ist in Byte und wird als Potenz von zwei (2^n) angegeben.
DUMMYSTRUCTNAME.IOCQES
Gibt die Eingabegröße der E/A-Vervollständigungswarteschlange an, die für den ausgewählten E/A-Befehlssatz verwendet wird.
Die erforderlichen und maximalen Werte für dieses Feld werden im CQES angegeben. RequiredEntrySize und CQES. MaxEntrySize fields of the Identify Controller data structure for each I/O Command Set. Der Wert ist in Byte und wird als Potenz von zwei (2^n) angegeben.
DUMMYSTRUCTNAME.Reserved1
AsUlong
Anforderungen
| Anforderung | Wert |
|---|---|
| Mindestens unterstützter Client | Windows 10 |
| Header | nvme.h |