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:
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.