Error Checking and Correcting
Error Checking and Correcting
Fehlererkennung (ECC)
Speichermodule können je nach Bestückung verwendet werden
- ohne Fehlererkennung
- mit Fehlererkennung (Parität)
- mit Fehlerkorrektur (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
- 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
Zur Erkennung von Hauptspeicherfehlern gibt es mehrere Verfahren
- Eines dieser Verfahren stammt vom US-Mathematiker Richard Hamming: Der 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 sind unter den Namen Chipkill, Active Memory, Memory Resiliency oder Memory RAID bekannt
- 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).[1][2]
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
Konfiguration
Dateien
Anhang
Siehe auch
Dokumentation
Man-Page
Info-Pages
Links
Weblinks
- ↑ heise.de Hauptspeicherfehler sehr viel häufiger als bisher angenommen (2009)
- ↑ cs.toronto.edu (PDF; 284 kB) DRAM Errors in the Wild: A Large-Scale Field Study, Mai 2009.