Fehlererkennung bei Embedded-Speichermodulen ECC-Support für sicherheitskritische Systeme
Da Speicher heute eine wichtige Rolle in industriellen Applikationen spielen, sind ECC-Module der richtige Weg, um Probleme zu vermeiden und Fehlerquellen auf ein Minimum zu reduzieren - auch in Embedded-Anwendungen.
Anbieter zum Thema
Anfangs nur in der Server-Hardware von Datencentern eingesetzt, eroberte ECC zunehmend auch konventionelle kleinere Server. Sie wird durch die JEDEC und die Unterstützung durch bedeutende DDR3 Memory Controller nun auch offiziell standardisiert und in den Embedded-Markt eingeführt.
ECC ist nicht unbedingt die treffendste Abkürzung, wenn es um ausfallsichere Speicher-Subsysteme geht. Korrekt wäre die Bezeichnung EDC (Error Detection and Correction) oder besser noch SECDED (Single Error Correction, Double Error Detection). Dennoch soll hier die gewohnte Bezeichnung verwendet werden.
Die Notwendigkeit der Fehlerkorrektur ergab sich, als in großen Servern einzelne Speicherzellen durch Alphateilchen gestört wurden. Ausgelöst wurde diese Strahlung durch den Zerfall kleinster Mengen radioaktiver Anteile im Gehäusematerial der DRAM-Bausteine. Aufgrund des sehr geringen Abstands der Emissionen zu den DRAM-Zellen konnten die Alphateilchen dazu führen, dass geladene Zellen ihre Dateninformation verloren.
Die Häufigkeit dieser Soft Errors war um Dezimalfaktoren höher als die der DRAM-Ausfälle durch Hard Errors. Sie ließ sich außerdem nicht durch irgendwelche Prüfmaßnahmen senken, da die Ausfälle vollkommen zufällig und damit nicht vorhersehbar eintraten.
Grundlegende Funktion der Fehlerkorrektur
Das Standard-Datenwort eines DRAM-Busses ist 64 Bit breit. Beim Schreiben von Daten in die Speichermodule generiert der Controller acht zusätzliche Prüf-Bits, deren Wert durch eine XOR-Verknüpfung verschiedener Teile des 64-Bit-Datenworts bestimmt wird. Beim Lesen werden diese Prüf-Bits erneut berechnet und mit den zuvor geschriebenen Werten verglichen.
Der bitweise Vergleich der acht gespeicherten mit den acht neu generierten Prüf-Bits wird als Syndrom bezeichnet. Er gibt Auskunft darüber, ob ein Bit verfälscht ist und um welches Bit es sich handelt. Die Korrektur wirft dann keine Probleme mehr auf, denn bereits das einfache Invertieren des fehlerhaften Bits stellt die korrekten Daten wieder her.
Für den ECC-Support muss das betreffende Speichermodul eine Datenbreite von 72 Bit aufweisen. Aus 8 Bit breiten DRAM-Bausteinen zusammengesetzt, sind für die ECC-Unterstützung folglich nicht mehr nur acht, sondern neun Bausteine pro Rank erforderlich, und der DIMM-Sockel muss Platz für elf zusätzliche Datensignale (8 DQ, DQS, DQS# und DM) bieten.
Artikelfiles und Artikellinks
(ID:24746020)