ECC Arbeitsspeicher

Sinn und Zweck von ECC ( Error-Correcting-Code ) RAM-Modulen ist das Vermeiden und Erkennen von Datenfehlern im Arbeitsspeicher. Auf den Rechnern von Privatanwendern kommen diese Speichertechnik so gut wie nicht zum Einsatz. Man findet ECC Speicher vor allem bei Servern oder in Workstations.

ECC-DIMM
ECC-SDRAM 240-Pin

Mit der Größe des Arbeitsspeichers, dessen Betriebsdauer und Auslastung wächst die Wahrscheinlichkeit, dass im Arbeitsspeicher Datenfehler produziert werden, die zu Datenverfälschungen führen können. So kann bei einem Speicherfehlern aus einer 0 eine 1 – und somit ganze Ergebnisse verfälscht oder ein ganzes Betriebssystem zum Absturz gebracht werden.

Ein ECC Speichermodul hat in der Regel 72 anstatt 64 Datenleitungen und benötigt bei gleicher Kapazität 12,5 Prozent mehr Speicherplatz. Pro 8-Byte Datenwort werden bei ECC Speicherchips jeweils ein zusätzliches Byte mit redundanten Informationen angehängt. Neben den ECC Speichermodulen werden für den ECC Modus geeignete Speichercontroller benötigt, die den ECC-Algorithmus beherrschen. So kann beim Lesen schon direkt im Speichercontroller überprüft werden, ob sich etwas an dem Datensatz verändert hat – und einzelne Bit-Fehler (Single Error Correction) können so zuverlässig erkannt und korrigiert werden. Zwei-Bit Fehler (Double Error Detection) werden auf diese Weise zumindest erkannt und vom System protokolliert.

Um 3-Bit Speicherfehler und mehr zu erkennen und zu korrigieren braucht es schon erweiterte oder andere Techniken bzw. Algorithmen, wie z.B. die Chipkill Technologie von IBM, welche mit handelsüblichen ECC Speichermodulen funktioniert, aber mindestens zwei parallel zu einander arbeitende Speicherkanäle voraussetzt.

Die Speicherbusse eines ECC fähigen Motherboards benötigen jeweils 72 Datenleitungen pro Speicherkanal. Im BIOS kann der ECC Modus des Speichercontrollers meistens konfiguriert werden und als Beispiel so, ein kontrolliertes Herunterfahren des Systems bei nicht korrigierbaren Speicherfehlern veranlasst werden. Zudem wird bei ECC jeder Fehler im Speicher vom System protokolliert, was eine spätere Diagnose der Fehlerursache vereinfacht.

ECC Speicher kommen vor allem bei Servern im Dauerbetrieb, aber auch bei Arbeitsplätzen zum Einsatz, wo Datenfehler nicht tolerierbar sind, z.B. bei aufwendig technischen Konstruktionsprogrammen oder aber auch bei der Finanzanalyse, eben überall wo Fehler im Hauptspeicher teuer werden können. So kam die oben kurz angerissene Chipkill Technik erstmals in der Raumfahrt (Marsmission „Pathfinder“) zum Einsatz.