Sicherer Speicher für PC, Server und Workstations
Fehlertoleranter Speicher schützt vor Systemausfällen und Datenverlust
ECC-Verfahren
Neben der einfachen Fehlererkennung gibt es in der Elektronik eine Vielzahl von Fehlerkorrektur-Algorithmen. Einer, der sich speziell für das Überprüfen und Korrigieren von Ein-Bit-Soft-Errors in großen Speicherfeldern eignet, ist der Hamming-Code. Der Code kann zudem Zwei-Bit-Fehler erkennen, aber nicht korrigieren. Dieses ECC-Verfahren benötigt bei 32 Bit breiten Daten zusätzliche sieben Check-Bits. Bei 64 Bit breiten DIMMs sind für die Fehlerkorrektur acht Bit nötig. ECC-fähige DIMMs haben deshalb eine Datenbreite von insgesamt 72 Bit. Der Datenbus zwischen DIMM und Chipsatz ist ebenfalls 72 Bit breit.
Wenn der Prozessor eines 64-Bit-Rechnersystems seine Daten in das DRAM schreibt, berechnet der ECC-Controller der Speichersteuerung acht ECC-Bits und hängt diese an die Daten an. Das nunmehr 72 Bit breite Datenpaket wird im DIMM gespeichert. Während eines Lesevorgangs berechnet der Chipsatz die ECC-Bits von den eingelesenen 64 Datenbits neu. Der Controller vergleicht dann den neu berechneten Code mit dem ebenfalls eingelesenen Fehlercode, der beim Schreiben generiert wurde. Bei Übereinstimmung der Codes ist das 64-Bit-Datenwort korrekt. Unterscheiden sich die Codes, lässt sich die Stelle, an der ein Bit gekippt ist, genau lokalisieren. Die Speichersteuerung ändert dann wieder das Attribut des gekippten Bits zu seinem ursprünglichen Wert.
Das ECC-Verfahren eignet sich besonders gut für Bereiche, die eine hohe Datenintegrität erfordern. Daher findet das gegenüber normalem Speicher teurere ECC-DRAM hauptsächlich in Servern und Workstations seinen Einsatz. Nach einer internen IBM-Laborstudie erreicht der ECC-Speicher über einen Zeitraum von drei Jahren eine Zuverlässigkeit von 91 Prozent.