Error Checking and Correcting: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
(10 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 8: | Zeile 8: | ||
* mit Fehlerkorrektur ([[Fehlerkorrekturverfahren#ECC- und Paritätsprüfung|ECC]]) | * mit Fehlerkorrektur ([[Fehlerkorrekturverfahren#ECC- und Paritätsprüfung|ECC]]) | ||
; Paritäts-Bit | |||
Für die einfache Fehlererkennung mittels Paritätsbit wird je 8 bit Wortbreite ein weiteres Bit benötigt, die Module sind folglich 9 bit (einfaches SIMM), 36 bit (PS/2-SIMM) oder 72 bit breit (übliche DIMMs) organisiert | Für die einfache Fehlererkennung mittels Paritätsbit wird je 8 bit Wortbreite ein weiteres Bit benötigt, die Module sind folglich 9 bit (einfaches SIMM), 36 bit (PS/2-SIMM) oder 72 bit breit (übliche DIMMs) organisiert | ||
* Ein einzelnes DIMM bietet damit auch genügend Bit-Breite für die Nutzung der Fehlerkorrektur (siehe unten), während hierzu mehrere gleichartige PS/2-Module parallel geschaltet werden müssen | * Ein einzelnes DIMM bietet damit auch genügend Bit-Breite für die Nutzung der Fehlerkorrektur (siehe unten), während hierzu mehrere gleichartige PS/2-Module parallel geschaltet werden müssen | ||
; Chipsatz und BIOS | |||
Die Fehlerkorrektur muss außerdem von der Hauptplatine (Chipsatz und BIOS) unterstützt werden, die zusätzlichen Bits auf den Modulen schaffen nur die Möglichkeit zur Ablage der benötigten Information | Die Fehlerkorrektur muss außerdem von der Hauptplatine (Chipsatz und BIOS) unterstützt werden, die zusätzlichen Bits auf den Modulen schaffen nur die Möglichkeit zur Ablage der benötigten Information | ||
; Erkennungsverfahren | |||
Zur Erkennung von Hauptspeicherfehlern gibt es mehrere Verfahren | Zur Erkennung von Hauptspeicherfehlern gibt es mehrere Verfahren | ||
; Error Correction Code (ECC) | |||
* ist eine Art Hashwert über die 64 Bits jeder Speicherzeile | |||
* Diese redundanten Informationen werden vom Speichercontroller berechnet und in acht weiteren Bits abgelegt (bei 32-bit-Speicherzeilen sind es sieben weitere Bits), weshalb ECC-Speicher 72 Bits pro Zeile hat | * Diese redundanten Informationen werden vom Speichercontroller berechnet und in acht weiteren Bits abgelegt (bei 32-bit-Speicherzeilen sind es sieben weitere Bits), weshalb ECC-Speicher 72 Bits pro Zeile hat | ||
Das Verfahren selbst heißt Error Checking and Correcting | Das Verfahren selbst heißt Error Checking and Correcting | ||
* ECC kann alle 1-bit-Fehler korrigieren und alle 2-bit-Fehler sowie manche Mehr-bit-Fehler erkennen | |||
ECC kann alle 1-bit-Fehler korrigieren und alle 2-bit-Fehler sowie manche Mehr-bit-Fehler erkennen | |||
* ECC-Speicher kommt in Desktop-PCs kaum zum Einsatz | * ECC-Speicher kommt in Desktop-PCs kaum zum Einsatz | ||
Weitere Techniken zur Fehlererkennung | ; Weitere Techniken zur Fehlererkennung | ||
* Chipkill | |||
* Active Memory | |||
* Memory Resiliency | |||
* Memory RAID | |||
; Ursache von Speicherfehlern | ; Ursache von Speicherfehlern | ||
Die Hauptursache von Speicherfehlern ist nicht [[ionisierende Strahlung]] (wie früher vermutet), sondern eher Probleme einzelner Speicherzellen (zum Beispiel durch Alterung oder Fertigungsprobleme) | Die Hauptursache von Speicherfehlern ist nicht [[ionisierende Strahlung]] (wie früher vermutet), sondern eher Probleme einzelner Speicherzellen (zum Beispiel durch Alterung oder Fertigungsprobleme) | ||
== Anwendung == | |||
<syntaxhighlight lang="bash" line> | |||
Message from syslogd@mx10 at Nov 20 21:01:33 ... | |||
kernel:[376047.608409] [Hardware Error]: Corrected error, no action required. | |||
Message from syslogd@mx10 at Nov 20 21:01:33 ... | |||
kernel:[376047.608537] [Hardware Error]: CPU:0 (17:71:0) MC17_STATUS[-|CE|MiscV|AddrV|-|-|SyndV|CECC|-|-|Scrub]: 0x9c2041000000011b | |||
Message from syslogd@mx10 at Nov 20 21:01:33 ... | |||
kernel:[376047.608722] [Hardware Error]: Error Addr: 0x000000045d982340 | |||
Message from syslogd@mx10 at Nov 20 21:01:33 ... | |||
kernel:[376047.608846] [Hardware Error]: IPID: 0x0000009600050f00, Syndrome: 0xcf8600040a800a01 | |||
Message from syslogd@mx10 at Nov 20 21:01:33 ... | |||
kernel:[376047.609009] [Hardware Error]: Unified Memory Controller Ext. Error Code: 0, DRAM ECC error. | |||
Message from syslogd@mx10 at Nov 20 21:01:33 ... | |||
kernel:[376047.609366] [Hardware Error]: cache level: L3/GEN, tx: GEN, mem-tx: RD | |||
</syntaxhighlight> | </syntaxhighlight> | ||
== Konfiguration == | == Konfiguration == | ||
=== Dateien === | === Dateien === | ||
Zeile 51: | Zeile 67: | ||
===== Info-Pages ===== | ===== Info-Pages ===== | ||
==== Links ==== | ==== Links ==== | ||
===== Weblinks ===== | ===== Weblinks ===== | ||
# https://de.wikipedia.org/wiki/Speichermodul#Fehlererkennung_(ECC) | # https://de.wikipedia.org/wiki/Speichermodul#Fehlererkennung_(ECC) | ||
</noinclude> | </noinclude> |
Aktuelle Version vom 23. November 2024, 11:09 Uhr
Error Checking and Correcting
Fehlererkennung (ECC)
Speichermodule können je nach Bestückung verwendet werden
- ohne Fehlererkennung
- mit Fehlererkennung (Parität)
- mit Fehlerkorrektur (ECC)
- Paritäts-Bit
Für die einfache Fehlererkennung mittels Paritätsbit wird je 8 bit Wortbreite ein weiteres Bit benötigt, die Module sind folglich 9 bit (einfaches SIMM), 36 bit (PS/2-SIMM) oder 72 bit breit (übliche DIMMs) organisiert
- Ein einzelnes DIMM bietet damit auch genügend Bit-Breite für die Nutzung der Fehlerkorrektur (siehe unten), während hierzu mehrere gleichartige PS/2-Module parallel geschaltet werden müssen
- Chipsatz und BIOS
Die Fehlerkorrektur muss außerdem von der Hauptplatine (Chipsatz und BIOS) unterstützt werden, die zusätzlichen Bits auf den Modulen schaffen nur die Möglichkeit zur Ablage der benötigten Information
- Erkennungsverfahren
Zur Erkennung von Hauptspeicherfehlern gibt es mehrere Verfahren
- Error Correction Code (ECC)
- ist eine Art Hashwert über die 64 Bits jeder Speicherzeile
- Diese redundanten Informationen werden vom Speichercontroller berechnet und in acht weiteren Bits abgelegt (bei 32-bit-Speicherzeilen sind es sieben weitere Bits), weshalb ECC-Speicher 72 Bits pro Zeile hat
Das Verfahren selbst heißt Error Checking and Correcting
- ECC kann alle 1-bit-Fehler korrigieren und alle 2-bit-Fehler sowie manche Mehr-bit-Fehler erkennen
- ECC-Speicher kommt in Desktop-PCs kaum zum Einsatz
- Weitere Techniken zur Fehlererkennung
- Chipkill
- Active Memory
- Memory Resiliency
- Memory RAID
- Ursache von Speicherfehlern
Die Hauptursache von Speicherfehlern ist nicht ionisierende Strahlung (wie früher vermutet), sondern eher Probleme einzelner Speicherzellen (zum Beispiel durch Alterung oder Fertigungsprobleme)
Anwendung
Message from syslogd@mx10 at Nov 20 21:01:33 ...
kernel:[376047.608409] [Hardware Error]: Corrected error, no action required.
Message from syslogd@mx10 at Nov 20 21:01:33 ...
kernel:[376047.608537] [Hardware Error]: CPU:0 (17:71:0) MC17_STATUS[-|CE|MiscV|AddrV|-|-|SyndV|CECC|-|-|Scrub]: 0x9c2041000000011b
Message from syslogd@mx10 at Nov 20 21:01:33 ...
kernel:[376047.608722] [Hardware Error]: Error Addr: 0x000000045d982340
Message from syslogd@mx10 at Nov 20 21:01:33 ...
kernel:[376047.608846] [Hardware Error]: IPID: 0x0000009600050f00, Syndrome: 0xcf8600040a800a01
Message from syslogd@mx10 at Nov 20 21:01:33 ...
kernel:[376047.609009] [Hardware Error]: Unified Memory Controller Ext. Error Code: 0, DRAM ECC error.
Message from syslogd@mx10 at Nov 20 21:01:33 ...
kernel:[376047.609366] [Hardware Error]: cache level: L3/GEN, tx: GEN, mem-tx: RD