Error Checking and Correcting: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
(13 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
''' | '''Error Checking and Correcting''' | ||
== Fehlererkennung (ECC) == | == Fehlererkennung (ECC) == | ||
[[Datei:Micron MTC40F204681RC48BA1R 20240407 076.jpg|mini|RAM-RDIMMs für Server wie dieser haben meist ECC integriert]] | [[Datei:Micron MTC40F204681RC48BA1R 20240407 076.jpg|mini|RAM-RDIMMs für Server wie dieser haben meist ECC integriert]] | ||
Zeile 7: | Zeile 8: | ||
* mit Fehlerkorrektur ([[Fehlerkorrekturverfahren#ECC- und Paritätsprüfung|ECC]]) | * mit Fehlerkorrektur ([[Fehlerkorrekturverfahren#ECC- und Paritätsprüfung|ECC]]) | ||
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 | ; 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 | |||
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 | ; 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 | |||
Zur Erkennung von Hauptspeicherfehlern gibt es mehrere Verfahren | ; Erkennungsverfahren | ||
Zur Erkennung von Hauptspeicherfehlern gibt es mehrere Verfahren | |||
ECC | ; 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 == | |||
<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 45: | 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