EMZETT.
Login

ECC-Arbeitsspeicher: Fehler im RAM erkennen und korrigieren

Kurz: Spezieller Arbeitsspeicher mit zusätzlichen Prüfbits, der einzelne gekippte Bits automatisch korrigiert und größere Fehler meldet.

Genauer: ECC steht für Error-Correcting Code. Normaler Arbeitsspeicher merkt nicht, wenn ein Bit von 0 auf 1 kippt, etwa durch Strahlung oder elektrische Störungen. Das Ergebnis kann eine falsche Berechnung, beschädigte Daten oder ein Absturz sein. ECC-RAM speichert zu jedem Datenwort zusätzliche Prüfbits und erkennt und behebt solche Fehler im laufenden Betrieb.

Im Detail

Wie es funktioniert

Üblich ist ein SECDED-Code (Single-Error Correction, Double-Error Detection) mit 8 Prüfbits je 64 Datenbits (72 Bit pro Wort). Beim Lesen wird aus den Daten der Code neu berechnet und mit dem gespeicherten verglichen. Ein einzelnes falsches Bit wird erkannt, seine Position bestimmt und korrigiert. Zwei falsche Bits im selben Wort werden zumindest erkannt, aber nicht korrigiert, und das System meldet einen Fehler, statt mit falschen Daten weiterzuarbeiten.

Wo ECC eingesetzt wird

Server, Workstations und Speicher-Systeme verwenden ECC, weil Fehler dort teuer sind und große Speichermengen die Fehlerwahrscheinlichkeit erhöhen. Bei Heimrechnern ist es selten. Studien großer Rechenzentren zeigen, dass korrigierbare Fehler häufiger vorkommen, als man erwartet. Auch DDR5 besitzt ein internes „On-Die-ECC“, das aber nur Fehler innerhalb des Chips behandelt und nicht die Übertragung zum Prozessor schützt. Vollwertiges ECC erkennt man an 72-Bit-Modulen und an der Unterstützung durch Prozessor und Mainboard.

Voraussetzungen

Nötig sind ECC-Module (oft als „ECC UDIMM“ oder „Registered/RDIMM“), ein Prozessor mit ECC-Unterstützung und ein passendes Mainboard. AMD-Ryzen-Prozessoren unterstützen ECC oft inoffiziell, bei Intel-Desktop-Chips gibt es ECC nur bei bestimmten Modellen und Chipsätzen. Unter Linux zeigt edac-util oder journalctl korrigierte Fehler an.

Kosten und Nutzen

ECC kostet etwas mehr (zusätzlicher Chip, minimal geringere Leistung) und ist bei Spielen oder Büroarbeit selten spürbar. Wer wichtige Daten verarbeitet, etwa ein Heimserver mit Dateisystem wie ZFS, profitiert von der zusätzlichen Sicherheit. ECC ersetzt keine Sicherungen.

Siehe auch: CPU-Aufbau, Speicherhierarchie, Linux-Dateisysteme