
Theorie Datenintegrität
32
Fehlerkorrektur-Code (ECC)
Mit der Verwendung der periodischen Redundanzüberprüfung (CRC) und zweistufiger orthogonalen
Fehlerkorrektur-Kodierung (ECC) ist die Wahrscheinlichkeit des Auftretens eines Hardwarefehlers
sehr gering. Während des Lesevorgangs wird die ECC-Korrektur automatisch ausgeführt, ohne dass
das Band-Streaming beeinträchtigt wird.
Es gibt zwei Stufen der Fehlerkorrektur-Kodierung (ECC). Diese zwei Stufen sind orthogonal - d. h.
ein ECC-Code-Wort auf einer Stufe überschneidet ECC-Code-Wörter auf der anderen Stufe nur
einmal, wodurch nur ein gemeinsames Symbol zwischen ihnen existiert. Die zwei Stufen werden C1
und C2 genannt.
C1-ECC
Während Daten vom Datenverarbeitungsgerät zum Speicher geschrieben werden, generiert das
DMA / ECC-Interface C1-ECC-Bytes und schreibt sie zum Speicher.
Während Daten aufs Band geschrieben werden, wird der C1-ECC überprüft, und wenn ein Fehler
aufgetreten ist, wird ein Interrupt generiert. Der vom Speicher gelesene C1-ECC ist der ECC, der auf
das Band geschrieben wird.
Wenn Daten vom Band gelesen und im Speicher gelagert werden, wird der C1-ECC überprüft.
• Wenn der C1-ECC gültig ist, wird das "Gültig"-Bit des Code-Wortpaars gesetzt.
• Andernfalls wird ein Zeiger zum ungültigen Code-Wortpaar zur C1-ECC-Korrektur-Engine
weitergeleitet.
• Wenn die C1-ECC-Korrektur-Engine den Fehler beheben kann, werden die berichtigten
Bytes zum Speicher geschrieben und das Gültig-Bit wird gesetzt.
• Andernfalls bleibt das Gültig-Bit gelöscht.
Während Daten zur Dekomprimierung vom Speicher zum Datenprozessor gelesen werden, wird der
C1-ECC nochmals überprüft, und wenn er nicht korrekt ist, wird ein Interrupt generiert.
C2-ECC
C2-ECC umfasst drei eindeutige Vorgänge:
1. Kodierung: C2-ECC-Bytes werden von Datenbytes generiert (von ECC-Koprozessorhard-
ware durchgeführt)
2. Dekodierung: ECC-Syndrome werden von Daten- und ECC-Bytes generiert, wobei für
Ganz-Nullen getestet wird (von ECC-Koprozessorhardware durchgeführt)
3. Korrektur: Berichtigte Daten werden von Syndromen generiert.
Die Korrektur hängt von der Anzahl und vom Typ der entsprechenden Fehler ab:
• Für ein bekanntes fehlerhaftes C1-Code-Wortpaar in einem Unterdatensatz (C2-Code-Wort),
wird der Vorgang von der ECC-Koprozessorhardware durchgeführt.
• Für zwei oder mehrere bekannte fehlerhafte C1-Code-Wortpaare wird die Matrix von der
Firmware ausgerechnet und die Korrektur von der Hardware durchgeführt.
• Für ein oder mehrere unbekannte C1-Code-Wortpaar(e) werden Syndrome von der Hardware
generiert, die Fehlerposition wird von der Firmware ausgerechnet, die Matrix wird von der
Firmware ausgerechnet, und die Korrektur wird von der Hardware durchgeführt.
Komentarze do niniejszej Instrukcji