Speichermodule: Parity und ECC

Schon ein falsch ausgelesenes Bit unter Millionen kann verheerende Folgen haben. Rechnerabsturz, Datenverlust und falsche Werte sind nicht nur ärgerlich sondern verursachen eventuell auch Kosten. Verfahren zur Erkennung und Korrektur von Fehlern sorgen für Sicherheit.

Die Stabilität von DRAMs ist durch die ausgereifte Technik sehr hoch. Findet der Betrieb innerhalb der vom Speicherhersteller spezifizierten Bedingungen statt, ist die Wahrscheinlichkeit für ein Kippen von einzelnen Datenbits eigentlich gering. Trotzdem kann es durch äußere Einflüsse vorkommen, dass aus einer logischen Eins eine Null wird und umgekehrt. Im Fachjargon nennt man ein ungewolltes Bit-Kippen einen Soft Error. Zu diesen reparablen Fehlern können noch Defekte auf physikalischer Ebene hinzu kommen. Neben Alterungserscheinungen durch Diffusion führen meist Spannungsspitzen oder elektrostatische Aufladungen bei unsachgemäßer Handhabung zu irreparablen Defekten bei Speicherbausteinen.

Nach einer technischen Studie des amerikanischen Speicherherstellers Micron entsteht bei einem 16 MByte Speichermodul nur alle 16 Jahre ein Soft Error. Hochgerechnet auf ein 256-Mbyte-Modul entspricht das einem Fehler pro Jahr.

Auslöser für diese Datenverfälschung sind neben Defekt, Spannungsschwankungen und elektromagnetischen Feldern auch radioaktive Strahlung. Spuren von natürlichen radioaktiven Isotopen wie Uran und Thorium sind in den Kunststoffen der IC-Gehäuse enthalten. Beim Zerfall der Isotope über die Zeit senden sie Alpha-Partikel aus - den Kern des Helium-Atoms. Diese Alpha-Strahlung kann durch ihre kinetische Energie die Ladung von Speicherzellen verändern oder die Leseverstärkerschaltkreise des DRAMs bei einem Zugriff stören. Fehlerhaft ausgelesene Daten sind die Folge. Neben Alpha-Strahlung kann auch hoch energiereiche kosmische Strahlung - ausgelöst durch Supernovas - die Ladung einer Speicherzelle beeinflussen.

Um falsch ausgelesene und damit fehlerhaft geschriebene Daten durch einen Fehler im Speicher zu verhindern, gibt es verschiedene Verfahren. Eine einfache Technik zum Erkennen von Bitfehlern bei Speichermodulen ist die Paritätsprüfung. Mehr Sicherheit bei der Fehlererkennung bietet das ECC-Verfahren, das zusätzlich eine Fehlerkorrektur ermöglicht. Speichermodule unterscheidet man nach Non-Parity-, Parity- und ECC-Modulen. Obwohl Non-Parity-Module keine Fehlererkennung bieten, sind sie weit verbreitet. Der Grund sind die geringeren Kosten, weil im Gegensatz zu Parity- und ECC-Lösungen kein zusätzlicher Speicher benötigt wird.