Freigeben über


Fehler injizieren (Funktionsindex 17)

Diese _DSM-Schnittstelle für Byte Addressable Energy Backed Function Class (Function Interface 1) -Funktion fügt Fehler in die NVDIMM-N-Modulfirmware ein. Der Zweck dieser Funktion besteht darin, die Softwarevalidierung zu aktivieren. Die Plattform kann die Fehlerinjektion nur in bestimmten Szenarien aktivieren. Beispielsweise, nachdem der Benutzer eine BIOS-Einstellung konfiguriert hat. Der Host kann Abfragefehlerinjektionsstatus (Funktionsindex 16) aufrufen, um zu erfahren, ob die Fehlereinschleusungsfunktionen aktiviert sind.

Register sind in der Byte Addressable Energy Backed Interface-Spezifikation definiert.

Eingabe

Arg3

Feld Bytelänge Byteoffset Registrieren BESCHREIBUNG
Fehler beim Einschleusvorgang 2 0 Byte 0: INJECT_OPS_FAILURES (2, 0x60); Byte 1: Wenn INJECT_BAD_BLOCKS 1 (Bit 7 von Byte 0) ist, wird dieses Feld INJECT_BAD_BLOCK_CAP (2, 0x67). Andernfalls ist es 0. Gibt an, welcher Vorgang oder nicht flüchtige Speicherfehler eingefügt werden.
Energiequellenausfälle injizieren 1 2 Byte 0: INJECT_ES_FAILURES (2, 0x64) Gibt an, welche Es-Fehler (Energy Source) eingefügt werden.
Einschleusung von Firmwareupdatefehlern 1 3 Byte 0: INJECT_FW_FAILURES (2, 0x65) Gibt an, welche Firmwarevorgangsfehler eingefügt werden.

Ausgabe

Feld Bytelänge Byteoffset BESCHREIBUNG
Status 4 0 Diese Funktion kann die folgenden Function-Specific Fehlercodes zurückgeben: 1: Fehlerinjektion ist deaktiviert. 2: Mindestens ein Fehler konnte nicht eingefügt werden, da sie nicht unterstützt werden. Weitere Informationen finden Sie unter _DSM Methodenausgabe.

Hinweis

Alle Fehler, die erfolgreich eingefügt wurden, bleiben beim Zurückgeben von Function-Specific Fehlercode 2 eingefügt. Wenn diese Funktion den Function-Specific Fehlercode 2 zurückgibt, rufen Sie Get Injected Errors (Funktionsindex 18) auf, um abzurufen, welche Fehler nicht eingefügt werden konnten.

Hinweise

Einige Features zur Fehlereinschleusung sind optional und werden vom Gerät möglicherweise nicht unterstützt. Die Liste der optionalen Fehlerinjektionen finden Sie in der entsprechenden JEDEC-Spezifikation für byte Addressable Energy Backed Interface.

Die Plattform muss erkennen, ob der Host versucht hat, einen Fehler einzuschleusen, der nicht unterstützt wird. Dies geschieht, indem in das Fehlereinschleusungsregister geschrieben und dann dasselbe Register gelesen wird, & überprüft wird, ob alle beabsichtigten Bits festgelegt sind. Die Plattform führt z. B. folgendes aus, um Betriebsfehler einzuschleusen:

  1. Schreibt den Wert von Byte 0 des Felds Fehler beim Einschleusvorgang in das INJECT_OPS_FAILURES Register.

  2. Liest das INJECT_OPS_FAILURES-Register .

  3. Wenn der neue Wert von INJECT_OPS_FAILURES mit Byte 0 des Felds Einschleusvorgangsfehler übereinstimmt, geben Sie erfolgreich zurück. Andernfalls geben Sie den Function-Specific Fehlercode 2 zurück.