ECC
Steht für „Error Correction Code“.
ECC ist eine Methode, um die Integrität von Daten zu überprüfen, die in den Speicher eines Systems geschrieben oder daraus gelesen werden. Spezielle RAM-Module, sogenannte ECC-RAM-Module, verwenden ECC, um Daten vor Beschädigung zu schützen, und werden häufig in Systemen eingesetzt, bei denen Zuverlässigkeit und unterbrechungsfreier Betrieb entscheidend sind. Workstations, Server, medizinische und wissenschaftliche Geräte sowie Computer zur Flugzeugsteuerung verwenden typischerweise ECC-RAM.
Die meisten Speicherfehler in Computern sind Einzelbitfehler, die dadurch entstehen, dass sich der Wert eines einzelnen Bits aufgrund irgendeiner elektromagnetischen Störung von 0 zu 1 (oder umgekehrt) ändert. Diese Fehler führen häufig zu instabilen Systemen oder beschädigten Daten — zum Beispiel zur Änderung eines einzelnen Zeichens in einem Text oder des Farbwerts eines Pixels. ECC-Speicher kann Einzelbitfehler erkennen und korrigieren, indem er das betroffene Bit wieder auf seinen ursprünglichen Wert setzt.
Wenn ein System Daten in ein ECC-Speichermodul schreibt, führt es zwei Aktionen aus, die dabei helfen, Fehler zu verfolgen. Zunächst fügt es jedem Wort (oder jeder Bitgruppe) ein zusätzliches Datenbit hinzu, das als Paritätsbit bezeichnet wird und festhält, wie viele Bits in einem bestimmten Wort den Wert 1 haben. Außerdem erzeugt es mithilfe eines integrierten Algorithmus einen Fehlerkorrekturcode, der auf den Positionen der 0en und 1en im Wort basiert. Wenn sich die Anzahl der 1en aufgrund eines Einzelbitfehlers ändert, stimmt das Paritätsbit nicht mehr überein. Die ECC-Schaltung im Speichermodul greift auf den von ihr erzeugten Fehlerkorrekturcode zurück, um zu ermitteln, welches Bit umgekippt ist, und setzt es dann wieder in seinen ursprünglichen Zustand zurück.
ECC-Speichermodule sind aufgrund der zusätzlichen Schaltungen komplexer, wodurch sie teurer als Nicht-ECC-Speicher sind. Sie benötigen mehr Speicher-Chips als Nicht-ECC-Speichermodule, um die Paritätsbits zu speichern. ECC-Speicher ist aufgrund der zusätzlichen Schritte zum Erzeugen von Fehlerkorrekturcodes und Überprüfen des Paritätsbits außerdem langsamer als Nicht-ECC-Speicher. Wegen der höheren Kosten und der geringeren Leistung verwendet ein typischer Desktop- oder Laptopcomputer Nicht-ECC-RAM, während ECC-RAM Server und Workstations mit hoher Betriebszeit vorbehalten bleibt.
Testen Sie Ihr Wissen