Speichermodule: Parity und ECC

Parity

Unterstützt die Speichersteuerung (Chipsatz) und das Speichermodul die Paritäts-Technik, dann erfolgt bei jedem Speichervorgang eine zusätzliche Prüfsummenbildung. Jedem Datenbyte (8 Bit) wird beim Schreiben ein eigenes Paritätsbit zugeordnet und im DRAM mit abgespeichert. Beim Lesen eines Datenbytes erfolgt durch die Speichersteuerung über ein Protokoll dann der Vergleich mit dem zugehörigem Paritätsbit. Damit lässt sich ein umgekipptes Bit beim Lesen sofort erkennen. Es gibt zwei Arten von Paritätsprotokollen: ungerade und gerade Parität. Beide Verfahren funktionieren nach dem selben Prinzip und unterscheiden sich nur in ihren Attributen. In der folgenden Tabelle sehen Sie den Ablauf der Protokolle beim Schreiben und Lesen von Daten:

Tabelle 1: Protokoll-Ablauf beim Lese/Schreibvorgang mit Paritätsprüfung

Ablauf

Ungerade Parität

Gerade Parität

Ermittlung der Parität

Besteht Datenbyte aus gerader Anzahl von Einsen, ist das zugehörige Paritätsbit 1. Bei ungerader Anzahl erhält es den Wert 0. Der Vorgang erfolgt über die Speichersteuerung.

Besteht Datenbyte aus gerader Anzahl von Einsen, ist das zugehörige Paritätsbit 0. Bei ungerader Anzahl erhält es den Wert 1. Der Vorgang erfolgt über die Speichersteuerung.

Schreibvorgang

Speicherung der acht Datenbits und des korrespondierenden Paritätsbit im DRAM.

siehe links

Lesevorgang

Erneute Prüfsummenbildung beim Lesen und Vergleich mit dem abgespeicherten Paritätsbit. Daten gültig bei Übereinstimmung. Bei ungleicher Prüfsumme erfolgt Fehlermeldung durch die Speichersteuerung.

siehe links

Der Nachteil der Paritätsprüfung ist, dass sie zwar Fehler erkennen, aber nicht korrigieren kann. Das Verfahren arbeitet zudem nur zuverlässig, wenn ein einzelnes Bit umkippt. Kippen dagegen mehrere Bits in einem Datenbyte um, so können die Fehler eventuell verdeckt bleiben. Beispiel mit gerader Paritätsprüfung: Enthält ein Datenbyte vier Einsen (gerade Anzahl), so ist das zugehörige Paritätsbit Null. Nach dem Schreiben von Datenbyte und Paritätsbit in das DRAM kippen zwei von den acht Bit um. Beim späteren Lesen ermittelt die Speichersteuerung aber wieder eine gerade Anzahl von Einsen und erkennt das Datenbyte beim Vergleich mit dem Paritätsbit als gültig an. Die Wahrscheinlichkeit, dass ein Zwei- oder Mehr-Bit-Fehler passiert, ist allerdings sehr gering.