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.

ECC-DIMM: Anders als ein herkömmliches Speichermodul benötigt das ECC-DIMM statt acht einen zusätzlichen neunten Speicherchip. In diesem Baustein werden Check-Bits zur Fehlerkorrektur abgelegt.
ECC-DIMM: Anders als ein herkömmliches Speichermodul benötigt das ECC-DIMM statt acht einen zusätzlichen neunten Speicherchip. In diesem Baustein werden Check-Bits zur Fehlerkorrektur abgelegt.

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.

ECC-Verfahren: Das Diagramm verdeutlicht, wie das ECC-Verfahren ein Single-Bit-Fehler korrigiert. (Quelle: HP)
ECC-Verfahren: Das Diagramm verdeutlicht, wie das ECC-Verfahren ein Single-Bit-Fehler korrigiert. (Quelle: HP)

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.