DE2853892C2 - - Google Patents

Info

Publication number
DE2853892C2
DE2853892C2 DE2853892A DE2853892A DE2853892C2 DE 2853892 C2 DE2853892 C2 DE 2853892C2 DE 2853892 A DE2853892 A DE 2853892A DE 2853892 A DE2853892 A DE 2853892A DE 2853892 C2 DE2853892 C2 DE 2853892C2
Authority
DE
Germany
Prior art keywords
group
syndrome
error
track
channels
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE2853892A
Other languages
English (en)
Other versions
DE2853892A1 (de
Inventor
Arvind Motibhai San Jose Calif. Us Patel
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2853892A1 publication Critical patent/DE2853892A1/de
Application granted granted Critical
Publication of DE2853892C2 publication Critical patent/DE2853892C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information

Description

Die Erfindung betrifft eine Einrichtung zur Fehlerkorrektur gemäß dem Oberbegriff des Anspruchs 1.
In Magnetbandspeichersystemen haben Industrienormen die Bandgröße, das Datenformat und die Aufzeichnungsdichte bestimmt. Herkömmlicherweise werden 1/2 Zoll (12,7 mm) breite Bänder für die Aufzeichnung von 9 Spuren verwendet. 8 Bit große Daten-Bytes werden mit einem Paritätsbit üblicherweise auf 9 parallelen Kanälen auf dem Band aufgezeichnet.
Ein Magnetband ist weich und biegsam. Im Gegensatz zu anderen Formen beweglicher magnetischer Speichermedien, wie etwa starrer Magnetplatten, ist in Magnetbandspeichersystemen die Bewegung des Bandes in eine ungleichmäßige Kontaktbeziehung zwischen einem oder mehreren festen Köpfen und dem Magnetband gegeben. Lose Staubteilchen zwischen Kopf und Band oder Flecken auf dem Band mit fehlendem Eisenoxid führen zum Verlust von Signalen. Unter solchen Umständen kann der Lesetaktgeber im fehlerhaften Kanal außer Synchronisation mit den Daten in anderen Kanälen kommen, und demzufolge kann die Aufzeichnung und Wiedergabe von Daten vom Band über sehr lange Strecken fehlerhaft sein. Insofern stellt die gestörte Länge des Bandes ein Datenkorrekturproblem dar, das sich von der Einzelstörung oder einem auf eine kurze Strecke beschränkten Störungsbündel unterscheidet. Charakteristischerweise sind durch Einzelstörungen oder Störungsbündel ausgelöste Fehler im allgemeinen von begrenzter Dauer. Die Rekonstruktion der betroffenen Daten ist durch Fehlerprüfcodes mit zyklischen Eigenschaften möglich.
Diese Codes sind sowohl in ihrer Theorie als auch in der Praxis komplex. Illustrativ hierfür ist die US-Patentschrift 38 68 632.
Die übliche Praxis besteht darin, 2 von 9 Kanälen zur Aufzeichnung redundanter Information über die übrigen 7 Kanäle zu reservieren. Dadurch können bis zu zwei fehlerhafte Kanäle nachträglich korrigiert werden. Wenn die Aufzeichnung von zwei oder mehr Gruppen paralleler Kanäle auf einem Band betrachtet wird, dann müßten weiterhin 2 redundante Kanäle pro Gruppe reserviert werden. Nimmt man bei diesem Format einmal an, daß eine Gruppe von Kanälen 3 fehlerhafte Kanäle umfaßt und die Nachbargruppe keinen fehlerhaften Kanal, dann gibt es bei den heutigen Fehlerprüftechniken effektiv keine Möglichkeit, die Korrektur mehrerer fehlerhafter Kanäle in einer Gruppe durch Ausnutzung der unbenutzten Redundanz in einer anderen Gruppe zu unterstützen.
Zum Stand der Technik wurden die Patentschrift Re 28 923, die US-Patentschrift 38 68 632 und IBM Technical Disclosure Bulletin, Band 14, Seite 3846, vom Mai 1972 angeführt. Die beiden erwähnten Patente befassen sich mit der Fehlerkorrektur in einem 9-Spur-Band, wo Daten und redundanter Kanal Teil derselben logischen Gruppe von Kanälen sind. Im erwähnten IBM Technical Disclosure Bulletin wird die Aufzeichnungskorrektur von mehreren Bändern durch Berechnung eines Datenwertes beschrieben, der nicht verfügbare Daten ersetzt aus einer einfachen Parität, die modulo 2 zu den übrigen verfügbaren Daten addiert wird.
Die Begrenzung in der Fehlerkorrektur unter mehreren und logisch unabhängigen Gruppen von Kanälen ist zu unterscheiden von Korrekturverfahren für bis zu 3 fehlerhafte bekannte Kanäle in einer einzigen Gruppe. Die letztgenannten Korrekturverfahren benutzen Codes, die ein Äquivalent von 3 redundanten Kanälen brauchen, wie es beschrieben ist in der US-Patentschrift 38 51 306. Zur Verwendung solcher Methoden und der ihnen zugrundeliegenden Codes werden 3 redundante Kanäle in jeder von 2 verschachtelten 9-Kanal-Gruppen eines 18-Kanal-Bandsystems gebraucht, um in jeder Gruppe bis zu 3 als fehlerhaft bekannte Kanäle korrigieren zu können. Die Redundanz der 3 Kanäle pro Gruppe von 9 Kanälen ist jedoch verschwenderisch, insbesondere in Anbetracht der Erwartung, daß mit hoher Unwahrscheinlichkeit 3 fehlerhafte Kanäle in beiden Gruppen gleichzeitig auftreten.
Eine Einrichtung gemäß dem Oberbegriff des Anspruchs 1 ist in der US-PS 40 52 698 beschrieben. In dieser Patentschrift wird die Verwendung von externen Zeigern auf fehlerhafte Kanäle beschrieben. Derartige Zeiger werden meist von analog arbeitenden Schaltungen erhalten, die z. B. die Bandgeschwindigkeit, die Mindestamplitude der abgelesenen Impulse, die Phasenlage der abgelesenen Impulse und eine eventuelle Schräglage der aufgezeichneten Bytes überwachen. In dieser bekannten Einrichtung wird ein vertikales Paritätsbit erzeugt sowie ein Prüfbyte, das am Ende eines Datenblocks abgespeichert wird. Das vertikale Paritätsbit wird in einer neunten Spur gespeichert, wobei in den übrigen 8 Spuren das Datenbyte abgespeichert wird. Ein Datenblock besteht im vorliegenden Falle aus 7 Datenbytes und einem Prüfbyte. Ferner ist in dieser Patentschrift die Erzeugung des Paritätsbits zu den auf einer Diagonalen liegenden Datenbits beschrieben.
Es ist daher die Aufgabe der vorliegenden Erfindung, eine möglichst umfassende Korrektur von fehlerhaften Kanälen in einem parallelen Vielkanal-Speichersystem mit einer möglichst kleinen Anzahl von redundanten Kanälen zu ermöglichen.
Die Lösung dieser Aufgabe ist im Kennzeichen des Hauptanspruchs angegeben. Die erfindungsgemäße Fehlerkorrektureinrichtung hat gegenüber den bekannten Einrichtungen den Vorteil, daß bei gleichgebliebener Anzahl von redundanten Kanälen mehr fehlerhafte Kanäle als bisher korrigiert werden können. Dabei kann die Anzahl der fehlerhaften Kanäle in einer zusammengehörigen Gruppe die Anzahl der redundanten Kanäle übersteigen. Mehrere fehlerhafte Kanäle in einer ersten Gruppe können unter Verwendung von Information, die in redundanten Kanälen einer zweiten Gruppe aufgezeichnet ist, korrigiert werden. Die vorstehend genannte Kanalkorrektur kann unabhängig von der Richtung der Datenaufzeichnung, d. h. in Richtung der Kanäle oder quer zu den Kanälen, erhalten werden.
Vorteilhafte Weiterbildungen der Erfindung sind in den Unteransprüchen gekennzeichnet.
Ein Ausführungsbeispiel der Erfindung ist in den beigefügten Zeichnungen dargestellt und wird anschließend näher beschrieben. Es zeigt
Fig. 1 in einem Blockschema ein paralleles Vielkanal- Speichersystem mit einem Paritätscodierer für das Schreiben von Daten und einem Paritätsdecodierer für die Datenfehlerprüfung beim Lesen von Daten;
Fig. 2 einen Querspur-Paritätscodierer in Beziehung zu den Spur- und Bitpositionen, wie sie bei einem vertikalen Datenbyte-Bandformat verwendet werden;
Fig. 3 einen Querspur-Paritätscodierer in Beziehung zu einem parallel zur Spur liegenden Datenbyte- Bandformat;
Fig. 4 einen Querspur-Paritätscodierer, in dem Querspur-Parität und Datenbyte in vertikalem Byte-Bandformat aufgezeichnet werden;
Fig. 5 eine allgemeine Schaltlogik für einen Querspur-Paritätsdecodierer für die Errechung der notwendigen Paritätssyndrome, die Erkennung von Fehlern und die Erzeugung von Korrekturen fehlerhafter Kanäle aus zwei Gruppen;
Fig. 6 das Auftreten von 3 fehlerhaften Kanälen oder Spuren in einer ersten Gruppe zusammen mit einer fehlerhaften Spur in einer zweiten Gruppe;
Fig. 7 eine Darstellung des Syndromgenerators für die Gruppe A;
Fig. 8 eine Darstellung des Syndromprozessors für die Gruppe A;
Fig. 9 eine Darstellung des Syndromprozessors für die Gruppe B;
Fig. 10 den Fehlermustergenerator für die Gruppe A;
Fig. 11 den Fehlerkorrigierer für die Gruppe A;
Fig. 12a-b die Erzeugung eines ersten Fehlerkanalzeigers in der Gruppe A;
Fig. 12c-f die Erzeugung eines zweiten Fehlerkanalzeigers zusätzlich zu dem ersten Zeiger in wenigstens einer Gruppe durch Benutzung der Querspur-Paritätsprüfungen;
Fig. 13a im einzelnen einen ersten Fehlerzeigergenerator;
Fig. 13b-c im einzelnen einen zweiten Fehlerzeigergenerator;
Fig. 14 die vertikale und diagonale Paritätsprüfung mit 3 Kanalgruppen.
Beschreibung des Ausführungsbeispieles
Fig. 1 zeigt in Form eines allgemeinen Blockdiagrammes ein paralleles Vielkanal-Speichersystem. Information von der Informationsquelle 1 wird an die Puffersteuerung 3 gegeben. Die Puffersteuerung koordiniert die Formatierung der Daten, sichert die notwendige Paritätscodierung und sorgt dafür, daß besagte formatierte und nach Parität codierte Daten in zwei Gruppen von logisch unabhängigen, parallelen Kanälen in der Vielspurspeichereinheit 5 aufgezeichnet werden. Entsprechend liest die Puffersteuerung 7 im betätigten Zustand vorher auf besagten parallelen Kanälen aufgezeichnete Daten, formatiert sie neu und decodiert besagte Daten, um sie an einen Informationsempfänger 11 weiterzugeben.
Im Betrieb wird Information in der Puffersteuerung 3 parallel über Leitungen 2 und 4 an einen Codierer 9 gegeben, wo Prüf- und Paritätsbits der Reihe nach für Informationssignalgruppen erzeugt werden. Da diese Paritäts- und Prüfbitsignale zusammen mit den Informationssignalen aufgezeichnet werden, kann man beim Lesen aus der Vielspurspeichereinheit 5 mit den zusätzlichen redundanten Signalen Fehler in den Informationssignalen korrigieren. Der Decodierer 19 ermöglicht die Berechnung von Syndromen, die in der vertikalen Richtung gruppierte Signale und in einer positiv oder negativ quer zur Spur geneigten Richtung (diagonal) gruppierte Signale benutzen.
In Fig. 2 ist das Format zur Aufzeichnung 18 paralleler Spuren auf einem Band dargestellt. Dieses Format gleicht dem 9-Spur-Format, in dem eine der Spuren (Spur 8) zur Aufzeichnung der Parität über den 8 Spuren reserviert ist. Dieses Paritätsbit ist als vertikales Redundanzprüfbit bekannt (VRC) und genau beschrieben in den US-Patentschriften 35 08 194, 35 08 195 und 35 08 196. Jedes Byte A m besteht aus 8 Bits und das VRC-Bit wird in jeder Gruppe gleichzeitig mit aufgezeichnet. In Fig. 2 ist die Spur 0 in jeder Gruppe ebenfalls für die Paritätscodierung reserviert. Jede der Querspur-Paritätsprüfungen (diagonal) d und d stellen die einfache Parität von Bits dar, die in einer positiv oder negativ quer zum Kanal geneigten Richtung aufgezeichnet sind. Im Gegensatz dazu erfaßt das VRC-Bit für die m-te Bitposition für die Kanäle der Gruppe A nur diejenigen Bits in der vertikalen Richtung, die auf die Gruppe A begrenzt sind, während dasselbe für das entsprechende VRC-Bit für die m-te Position für die Gruppe B gilt.
Wenn 18 parallele Spuren auf dem Band aufgezeichnet sind, dann können sie in zwei Gruppen - wie dargestellt - zusammengefaßt werden. Die Gruppe A besteht aus 9 parallelen Spuren und die Gruppe B aus den übrigen 9 parallelen Spuren. In den Fig. 2, 3 und 4 sind die beiden Gruppen nebeneinander mit einer bestimmten Anordnung der Spuren dargestellt. In der Praxis können die beiden Gruppen verschachtelt und in jeder beliebigen anderen Reihenfolge angeordnet sein.
Wenn A m (t) und B m (t) das m-te Bit in dert-ten Spur der Gruppe A bzw. B bezeichnen, die Spurnummer t Werte zwischen 0 und 8 in jeder Gruppe annimmt und die Bitposition m Werte von 0 bis M annimmt und die nullte und achte Spur in jeder Gruppe Prüfspuren sind, dann liefert jedes Prüfbit in der nullten Spur der Gruppe A eine Paritätsprüfung entlang der positiv geneigten Diagonalen, wovon, wie bereits gesagt, Bits aus beiden Gruppen betroffen sind, wie aus den Fig. 2 bis 4 zu ersehen ist. Als Beispiel sei die m-te Diagonalprüfung der Gruppe A, genannt d, gegeben durch die Codiergleichung:
Σ 0= modulo 2 Summe ⊕= exklusiv ODER
Jedes Prüfbit in der nullten Spur der Gruppe B liefert eine Paritätsprüfung in der Diagonalen mit negativer Neigung, wovon Bits beider Gruppen betroffen sind, wie aus den Fig. 2 bis 4 zu ersehen ist. Die m-te Diagonalprüfung der Gruppe B, genannt d, ist gegeben durch die Codiergleichung:
In der Beschreibung der vorliegenden Erfindung versteht man unter Parität eine gerade Parität, d. h. die Zuordnung eines Bitwertes in der Paritätsposition derart, daß die Anzahl von Einsen einschließlich des Paritätsbits über dem interessanten Bereich gerade ist (eine Summe modulo 2).
Die obigen Gleichungen (1) und (2) können in symmetrischer Form, wie folgt, umgeschrieben werden:
Gemäß Darstellung in Fig. 2 betreffen die Berechnung der diagonalen Prüfbits für die Positionen 0 bis 15 zu Beginn der Aufzeichnung Datenbitwerte von leeren Positionen (negative Positionsnummern).
Diese Datenbitwerte werden willkürlich mit dem binären Wert 0 angenommen. In gleicher Weise wird am Ende des Datensatzes für die Diagonalprüfung aller Bits in jeder Spur die nullte Prüfspur in jeder Gruppe auf 15 Positionen erweitert. Die Prüfbits auf den erweiterten Positionen betreffen auch einige Datenbitwerte von leeren Positionen. Das wird ebenfalls mit dem binären Wert 0 angenommen.
Jedes Prüfbit in der achten Spur der Gruppe A ist eine vertikale Parität über denselben Bits derselben Position m in der Gruppe A. Die m-te vertikale Paritätsprüfung der Gruppe A, bezeichnet mit V, ist beschrieben durch die Gleichung:
In ähnlicher Weise ist die m-te vertikale Paritätsprüfung der Gruppe B, bezeichnet mit V, gebildet durch die Gleichung:
Ein weiterer allgemeiner Aspekt der in den Fig. 2 bis 4 gezeigten Formate sollte erwähnt werden, und dieser betrifft die Beziehung der Informationsaufzeichnung und der Richtung der Spur. In Fig. 2 werden die Datenbytes für jede Spurgruppe in vertikaler Richtung aufgezeichnet. Dazu gehört auch das Querspur-Paritätsbit. Für das Byte A₀ wird jedes der 7 Informationsbits, also in der 0-Bit-Position, über den Spuren 1 bis 7 aufgezeichnet, während das Querspur-Paritätsbit in der Bitposition 0 für die Spur 0 aufgezeichnet wird. Dasselbe gilt beispielsweise für das Byte B₄ zur Aufzeichnung von Information in der anderen Spurgruppe (Gruppe B).
In dem in Fig. 3 gezeigten Format ist die Spur 0 in jeder Gruppe noch für die Aufzeichnung der Querparitätsbits reserviert. Datenbytes werden jedoch in Spurrichtung geschrieben. In diesem Format ist der 9spurige Datensatz in Blöcke unterteilt, und jeder Block enthält 7 Datenbytes und 2 Prüfbytes. Hier werden also die herkömmlichen 8 Bit großen Bytes verwendet und als Bytes entlang der Spuren aufgezeichnet. Das unterscheidet sich von der Verwendung der Zeichen quer zu den Spuren, die aus 7 Datenbits und 2 Prüfbits in dem in Fig. 2 gezeigten Format bestehen.
Bei dem in Fig. 4 gezeigten Format muß man sich auch das in Fig. 2 gezeigte Format in Erinnerung rufen, wo die diagonale Parität der Prüfbits in 2 Prüfspuren erscheinen. In diesem Format bestehen die vertikalen Zeichen A m und B m aus 7 Datenbits und 2 Prüfbits. Das ist verschieden gegenüber der herkömmlichen 9-Spur-Aufzeichnung auf dem 1/2-Zoll-Magnetband mit einem vertikalen Zeichen oder Byte aus 8 Datenbits und einem vertikalen Paritätsprüfbit. In dem Format der Fig. 4 bilden A₀, A₈, A₁₆, A₂₄, . . . die diagonale Paritätsprüfung mit positiver Neigung, während B₀, B₈, B₁₆, B₂₄, . . . die diagonale Paritätsprüfung mit negativer Neigung bilden. Alle anderen Bytes sind Datenbytes, die aus den herkömmlichen 8 Datenbits mit einem vertikalen Paritätsprüfbit bestehen.
Neben jedem der Vielspur-Bandformate ist in den Fig. 2 bis 4 ein Codierer 9 vom Schieberegister gezeigt, der die Querspur-Paritätsbits erzeugen kann, die hinterher durch die Puffersteuerung 3 auf der Spur 0 in der Vielspurspeichereinheit 5 der entsprechenden Gruppen für die Formate der Fig. 2 und 3 aufzuzeichnen sind. Im Falle des Vertikalformates der Fig. 4 muß vertikal ein volles Byte von Querspur-Prüfparitätsbits aufgezeichnet werden.
Der in Fig. 2 gezeigte Codierer 9 besteht aus einem 7stufigen Flip-Flop-Schieberegister FF 1, FF 2, . . ., FF 6 und FF 7. Zwischen jede Schieberegisterstufe ist eine Antivalenzschaltung mit mehreren Eingängen und einem Ausgang gelegt. Die Antivalenzschaltungen 195, 197, . . ., 205 koppeln nicht nur eine Schieberegisterstufe mit einer anderen (FF 2 mit FF 1), sondern haben auch zugeordnete Eingänge zu Bits, die diagonal über den Spuren beider Gruppen liegen. In diesem Zusammenhang schließt die Antivalenzschaltung 193 B m-8(7) an, während die anderen Antivalenzschaltungen je zwei Eingänge aufweisen. Die Antivalenzschaltung 195 schließt A m (1) und B m-8(6) an bis hinab einschließlich zur Antivalenzschaltung 207, die A m (7) und B m-8(0) anschließt.
Der Codierer 9 in Fig. 2 implementiert die Gleichung (1) für die Berechnung von A m (0). A m ist ein 7 Bit großes Datenzeichen, während B m-8 ein 8 Bit großes Zeichen ist, da es das vorher berechnete Prüfbit enthält. Die Prüfbits A₀(0), A₁(0), A₂(0), . . ., A m (0) werden in einer kontinuierlichen Verschiebung am Ausgang der Antivalenzschaltung 193 des Schieberegisters 9 als siebtes bzw. achtes Bit A m bzw. B m-8 erzeugt. Das m-te Prüfbit A m (0) wird erzeugt, wenn A m (7) und B m-8(0) eingegeben werden. A m oder B m mit negativem Wert von m ist ein Zeichen aus lauter Nullen. Ein Codierer zur Erzeugung der Querbyte-Paritätsbits für B m (0), definiert durch die Gleichung (2), läßt sich leicht konstruieren, obwohl er nicht dargestellt ist.
In dem Format gemäß Fig. 3 findet sich die Notierung G und H für die in der Spur liegenden Bytes und demnach eine Variation in der Bitzuordnung für die Antivalenzglieder des Codierers 9, um die Forderungen des Formates zu erfüllen. Wie dargestellt, ist ein aus lauter Nullen bestehendes Byte, während H 8n-8 ein vorher errechnetes Prüfbyte ist. Die anderen G 8n+p und H 8n-p-1 sind 8 Bit große Datenbytes (wobei p zwischen 0 und 7 wechselt). Prüfbytes G₀, G₈, G₁₆, . . ., G 8n werden in einer kontinuierlichen Schiebung und Eingabe erzeugt und treten bitweise am Ausgang des Schieberegisters aus, während das -Byte und Datenbytes einschließlich der Prüfbytes von der Gruppe B in der gezeigten Reihenfolge eingegeben werden. Wieder ist G m oder H m mit negativem Wert für m ein Byte aus lauter Nullen. In diesem Ausführungsbeispiel schließt das Antivalenzglied 193 zwei Eingänge an, nämlich G 8n+p (0) und H 8n-p-1(0). Die Logik zur Definition der Berechnung des Paritätsbits ist in diesem Diagramm entsprechend der Beziehung A m (t), B m (t) der Gleichung (3) und für den Codierer für die Gruppe B gemäß Gleichung (4) dargestellt.
Bei dem Codierer in Fig. 4, der zum vertikalen Querspur- und Datenbyteformat gehört, ist ein Byte aus lauter Nullen, während A 8n+p und B 8(n-1)+p Datenbytes von 8 Bit Größe sind, wobei p zwischen 0 und 7 liegt.
Die Prüfbytes A₀, A₈, A₁₆, . . ., A 8n werden zwischen die Datenbytes gestreut, wie es in Fig. 4 dargestellt ist. Diese Prüfbytes werden in einem kontinuierlichen Schiebe- und Eingabeprozeß erzeugt. Es ist auch zu beachten, daß A m oder B m mit negativem Wert für m ein Byte aus lauter Nullen ist. Wieder definieren die Gleichungen (3) und (4) die notwendige Logik für die Organisation eines Schieberegisters zur Erzeugung des Prüfbits. Das Antivalenzglied 193 schließt auch in diesem Ausführungsbeispiel zwei Eingänge an wie das Antivalenzglied im Ausführungsbeispiel der Fig. 3. Es ist besonders zu beachten, daß die Bitreihenfolge für B 8(n-1)+p umgekehrt ist. Nebenbei bemerkt ist die vertikale Paritätsprüferzeugung möglich durch eine einfache Modulo-2-Addition aller in vertikaler Spurrichtung genommener Bits.
In der nachfolgenden Beschreibung wird die Korrektur von fehlerhaften Kanälen unter zwei oder mehr logisch voneinander unabhängigen Gruppen von Kanälen unter Benutzung der unbenutzten Redundanz von Kanälen in einer benachbarten Gruppe behandelt. Es wird zuerst auf Fehlersyndrome und dann auf den Decodierprozeß eingegangen. Die Beschreibung des Decodierprozesses enthält zuerst separate Beschreibungen der Korrektur von drei, zwei und einer Spur in einer Gruppe A mit Zeiger. Als zweites wird im Rahmen des Decodierprozesses die Erzeugung des ersten Spurzeigers in der Gruppe A und dann die Erzeugung des zweiten Spurzeigers in der Gruppe A beschrieben, wenn die erste fehlerhafte Spur bekannt ist. Wenn die Zeiger einmal erzeugt sind, können die Fehler so korrigiert werden, wie es im ersten Verfahren beschrieben wurde. Schließlich werden die Fehlerkorrektur- und die Zeigererzeugung in der Gruppe B beschrieben.
Nach Darstellung in Fig. 1 steht der Decodierer 19 insofern mit der Puffersteuerung 7 in Wechselwirkung, als er Daten über die Leitungen 21 und 35 empfängt und decodierte Daten über die Leitungen 33 und 47 zurückgibt. Fig. 5 zeigt den Aufbau des Querparitätsdecodierers im einzelnen. Über die Eingangsleitungen 21 und 35 angelegte Daten werden an entsprechende unabhängige Verarbeitungswege weitergegeben. Die Verarbeitungsleitungen mit den Elementen 23, 25, 27, 29 und 31 ist auf die Erzeugung der Fehlerkorrektur für die Kanäle in der Gruppe A gerichtet, während die Elemente 37, 39, 41, 43 und 45 die Fehlerkorrektur für die Kanäle in der Gruppe B erzeugen.
Daten mit einem Fehler auf den parallelen Spuren der Gruppe A werden auf die Leitungen 21 und zum Datenverteiler 23 geleitet. Entsprechend werden Daten auf den 9 Spuren der Gruppe B über die Leitungen 35 an den Datenverteiler 37 geleitet. Korrekturinformation für die Daten aus der Gruppe A wird an den Decodierer über die Leitungen 33 und Korrekturinformation für die Gruppe B an den Decodierer über die Leitungen 47 zurückgegeben. Jede der Verarbeitungsleitungen besteht aus derselben Funktionslogik, wie dem Datenverteiler 23, dem Syndromgenerator 25, einem Syndromprozessor 27, einem Fehlermustergenerator 29 und einem Fehlerkorrigierer 31. Die entsprechenden Elemente in den Verarbeitungsleitungen für die Gruppe B sind 37, 39, 41, 43 und 45. Zuerst sollten die Fehlersyndrome betrachtet werden.
Syndrombestimmung
Die Bitwerte, wie sie vom Band für die Gruppen gelesen werden, sollen bezeichnet sein A m (t) und B m (t). Diese gelesenen Bits können durch Fehler verfälscht sein. Das Ergebnis der Paritätsprüfungen der Gleichungen (3), (4), (5) und (6) an den gelesenen Daten wird Fehlersyndrom genannt. Ein von 0 verschiedenes Syndrom ist eine klare Anzeige für das Vorhandensein eines Fehlers.
Die m-te Quer- bzw. Diagonalparitätsprüfung einer Gruppe A ergibt das Syndrom:
Die m-te Diagonalparitätsprüfung der Gruppe B ergibt das Syndrom:
Die m-te vertikale Prüfung für die Gruppe A ergibt das Syndrom:
Die m-te vertikale Prüfung für die Gruppe B ergibt das Syndrom:
Die Modulo-2-Differenz zwischen dem gelesenen  m (t) und dem geschriebenen A m (t) wird Fehlermuster e (t) in der m-ten Position der t-ten Spur in der Gruppe A genannt, wobei
ist.
Ähnliches gilt für die Gruppe B:
Kombiniert man die Gleichungen (3) und (7), (4) und (8), (5) und (9) und (6) und (10) miteinander und ersetzt e (t) und e (t) in den Gleichungen (11) und (12), dann ergeben sich folgende Ausdrücke:
Durch Verarbeitung dieser Syndrome lassen sich Fehler korrigieren. Die vorherrschenden Fehler auf Bändern sind Spurfehler, die durch großflächige Fehler im magnetischen Material ausgelöst werden. Die fehlerhafte Spur kann gekennzeichnet sein durch den Verlust des Signales, einen übermäßigen Phasenfehler, ein unzulässiges Aufzeichnungsmuster oder andere ähnliche externe Hinweise. Wenn solche externe Hinweise oder Zeiger fehlen, kann die fehlerhafte Spur immer noch durch Verarbeitung der Syndrome identifiziert werden. Jede der folgenden Kombinationen von Spurfehlern kann durch Verarbeitung der Syndrome unter Einbeziehung der externen Zeiger korrigiert werden.
  • 1. Bis zu drei erkannte Spuren mit Fehlern in einer Gruppe und eine erkannte Spur mit Fehlern in der anderen Gruppe.
  • 2. Bis zu zwei erkannte Spuren oder eine unerkannte Spur mit Fehlern in jeder der beiden Gruppen.
  • 3. Bis zu zwei fehlerhafte Spuren (von denen eine durch einen externen Zeiger erkannt ist) in einer Gruppe und eine bekannte fehlerhafte Spur in einer anderen Gruppe.
Prozeß und Einrichtungen zum Decodieren
Zum Decodierprozeß gehört die Ansteuerung von Daten und ihre Übertragung von den parallelen Mehrfachkanälen der Vielspurspeichereinheit 5 in die Puffersteuerung 7. Die Puffersteuerung 7 stellt zusammen mit dem Decodierer 19 fest, ob Kanäle fehlerhaft sind und erzeugt Korrektursignale. Die Korrektur des Fehlers ist die Berechnung eines Datenwertes zum Ersetzen eines entsprechenden Fehlers. Im vorliegenden System wird das erreicht durch Kombination der logischen Werte von sogenannten sich überschneidenden Syndromen einschließlich des Fehlers. In diesem Sinne verlangt jedes Paar von sich überschneidenden Syndromen ein Syndrom, das in diagonaler Richtung berechnet wird.
Bisher wurde gelegentlich auf die Benutzung von Zeigern zur Bezeichnung eines fehlerhaften Kanales oder einer Spur Bezug genommen. Anschließend wird weiter auf diese Zeiger, ihre Erzeugung und Benutzung verwiesen. Zeiger können extern abgeleitet oder intern erzeugt sein. In diesem Zusammenhang verlangt die externe Erzeugung von Zeigern im allgemeinen eine Form der analogen Abfühlung der Wiedergabebedingungen von auf einem von mehreren Kanälen aufgezeichneten Daten. Art und Mittel der Erzeugung externer Zeiger sind nicht Gegenstand der Erfindung. Hier genügt die Feststellung, daß die vorliegende Erfindung Einrichtungen zum Erzeugen von einem oder mehreren internen Zeigern für die Fehlerkorrektur beim Fehlen oder Vorhandensein von externen Zeigern enthält. Die anschließende Beschreibung befaßt sich mit der Erzeugung dieser Zeiger und der Wechselbeziehung zwischen internen und externen Zeigern. Damit sollte eine Basis für die detaillierte Betrachtung der Korrektur mehrerer Kanäle oder Spuren in jeder der logischen voneinander unabhängigen Gruppen mit Hilfe von Zeigern gegeben sein.
Ein Datensatz wird auf ein Band mit dem Ziel geschrieben, ihn fehlerfrei wiederzugeben. Wenn ein Band gestartet wird und ein Datensatz bei m = 0 steht, kann man annehmen, daß keine Fehler vorliegen und alle Zeiger "aus" sind. Wenn nach einer bestimmten Zeit ein Fehler auf einem der Kanäle auftritt, z. B. in der Gruppe A, und weiter keine externen Zeiger aktiviert wurden, um den Kanalfehler anzuzeigen, muß ein erster interner Fehlerzeiger zur Identifizierung des Kanales erzeugt werden. Im Ausführungsbeispiel der Erfindung kann das innerhalb von 7stelligen Positionen entlang dem Kanal geschehen, bevor der Fehler aufgetreten ist.
Wenn einmal der erste interne Zeiger in der Gruppe A erzeugt wurde, würde er für die Korrektur von Fehlern in dem angegebenen Kanal für die Dauer der Wiedergabe erhalten werden.
Eine solche Zuordnung eines Zeigers kann natürlich die Korrekturkapazität des Systems übermäßig einschränken. Das gilt besonders, wenn in dem angegebenen Kanal kein Dauerfehler auftrat. Bei einigen Systemen ist daher die Löschung eines Zeigers vorgesehen, wenn innerhalb eines vorgegebenen Zeitraumes nach Erkennen des ersten Fehlers kein weiterer Fehler auftritt.
In diesem hypothetischen Beispiel wird angenommen, daß ein Fehler in einem Kanal der Gruppe B auftritt. Die Kanalidentität wird entweder durch einen externen oder durch einen internen ersten Zeiger in dieser Gruppe erzeugt. Weil jede Gruppe zwei redundante Kanaläquivalente enthält, folgt daraus, daß das Erkennen eines ersten fehlerhaften Kanales in der Gruppe B innerhalb der Korrekturmöglichkeiten des Systems liegt. Weiterhin wird der erste Zeiger in der Gruppe B für die Korrektur von Fehlern in dem angegebenen Kanal eingeschaltet gehalten. Was passiert aber, wenn in der Gruppe B ein weiterer Fehler auftritt? Dieser kann ebenso durch einen zweiten Zeiger bezeichnet werden. Der Zeiger für einen dritten fehlerhaften Kanal in der Gruppe B kann jedoch nur extern erzeugt werden.
Die Situation ist also folgende: Der erste interne Zeiger in einer gegebenen Gruppe wird eingeschaltet, wenn andere Zeiger für diese Gruppe fehlen. Das bedeutet auch, daß ein erster interner Zeiger in der Gruppe A eingeschaltet wird, wenn keine weiteren Zeiger in der Gruppe A und nur bis zu zwei Zeiger in der Gruppe B eingeschaltet sind. Ein zweiter interner Zeiger in der Gruppe A kann intern also nur aktiviert werden, wenn bereits ein erster Zeiger für die Gruppe A und höchstens ein Zeiger für die Gruppe B vorhanden sind. Der zweite interne Zeiger wird ohne Rücksicht darauf gesetzt, ob der erste Zeiger in dieser Gruppe intern oder extern erzeugt wird.
Während interne Zeiger für sehr zuverlässig gehalten werden, können maximal drei der im System des vorgezogenen Ausführungsbeispieles verfügbaren vier Zeiger intern erzeugt werden. Zwei interne Zeiger können nicht gleichzeitig in derselben Gruppe erzeugt werden, weil der zweite interne Zeiger die Existenz eines ersten bekannten Zeigers als Vorbedingung verlangt.
Wie schon gesagt, wird nachfolgend das Verfahren und die Einrichtungen zur Korrektur mehrerer Spuren und die Zeigererzeugung beschrieben. In diesem Sinne nutzt die Erzeugung interner Zeiger vorteilhaft die diagonalen Paritätsprüfungen, die alle Kanäle in beiden Gruppen erfassen, sowie die vertikalen Paritätsprüfungen, die auf die Kanäle der betreffenden Gruppen beschränkt sind. Dazu gehört auch die dynamische Neuzuordnung der in einer Kanalgruppe ungenutzten Redundanz zur Kanalfehlerkorrektur in der anderen Kanalgruppe.
Korrektur von drei Spuren in Gruppe A mit Zeigern
In Fig. 6 sind drei fehlerhafte Spuren in der Gruppe A gezeigt. Die auf drei erkannten Spuren in der Gruppe A begrenzten Fehler sind korrigierbar, wenn die Gruppe B entweder fehlerfrei ist oder nur eine erkannte fehlerhafte Spur hat. Die fehlerhaften Spuren werden dann durch die Fehlerspurzeiger i, j, k in der Gruppe A und den Zeiger y in der Gruppe B bezeichnet. Wenn der Zeiger y nicht definiert ist, wird angenommen, daß die Gruppe B fehlerfrei ist.
Der einfacheren Decodierung halber ist Zeiger i der niedrigste Zeiger und der Zeiger k der höchste Zeiger der Spurindizes unter den fehlerhaften Spuren von Spur 0 bis 7. Spur j ist die übrige fehlerhafte Spur, so daß entweder (i < j < k) oder (j = 8 und i < k) ist.
Da die Gruppe B in Fig. 6 nur eine erkannte fehlerhafte Spur hat, ergeben die vertikalen Paritätsprüfsyndrome Sv
die Fehlermuster für diese Spur. Bei Elimination des den fehlerfreien Spuren entsprechenden Fehlermusters (0-Wert) läßt sich die obige Gleichung (16) umschreiben als
Unter der Annahme, daß alle Fehler bis zum Byte (m-1) korrigiert und die Syndromgleichungen für alle Fehlermuster angeglichen werden, können die Fehlermuster, wie aus Fig. 6 zu ersehen ist, für die m-te Position der Spuren i, j und k der Gruppe A bestimmt werden aus den diagonalen Syndromen
und dem vertikalen Syndrom Sv. Die Gleichungen für diese Syndrome erhält man aus den Gleichungen (13), (14) und (15) bei Elimination der 0-Fehlermuster entsprechend den fehlerfreien Spuren und den korrigierten Fehlermustern bis zur Position (m-1) in jeder Spur. Daraus folgt:
Aus Gleichung (17) folgt:
Dann ergeben die Gleichungen (18), (19), (20) und (21) folgende Fehlermuster:
Die m-ten Bits und die Spuren i, j und k sind dann korrigiert unter Verwendung dieser Fehlermuster nach den folgenden Relationen (25), (26), (27):
Die Werte A m (i) bezeichnen ja bekanntlich die Bitwerte, die  m (i) entsprechen, wie sie vom Band gelesen werden.
Vor der Korrektur der nächsten Position müssen die durch diese Korrekturen betroffenen Syndrome verändert werden. Die Veränderung ist durch einen Pfeil vom vorher errechneten Wert eines Syndroms mit seiner Änderung zu seinem neuen Wert bezeichnet:
Das obige Korrekturverfahren kann auf die nächste Bitposition dadurch angewandt werden, daß man den Wert von m um +1 erhöht.
Korrektur von zwei Kanälen in der Gruppe A mit Zeigern
Fehler in zwei erkannten Spuren in der Gruppe A können korrigiert werden, wenn in der Gruppe B höchstens eine unerkannte Spur oder zwei erkannte Spuren fehlerhaft sind. Die fehlerhaften Spuren in der Gruppe A werden durch die Kanalfehlerzeiger i und j bezeichnet, wobei i < j ist.
Wenn angenommen wird, daß Fehler bis zur Bitposition (m-1) in jeder Spur korrigiert und die Syndromgleichungen für alle korrigierten Fehlermuster eingestellt sind, dann kann gezeigt werden, daß die Fehlermuster für die m-te Bitposition der Spuren i und j der Gruppe A bestimmt werden kann aus den Syndromen
Die Gleichungen für diese Syndrome erhält man aus den Gleichungen (13) bzw. (15). Bei Elimination der 0-Fehlermuster entsprechend den fehlerfreien Kanälen und den korrigierten Fehlermustern bis zur Position (m-1) können die Syndrome, wie folgt, ausgedrückt werden:
Die Gleichungen (34-1) und (34-2) ergeben folgende Fehlermuster:
Die m-te Bitposition in den Spuren i und j wird dann mit folgenden Fehlermustern korrigiert:
Bevor die nächste Position korrigiert wird, müssen die durch diese Korrekturen betroffenen Syndrome genauso verändert werden wie bei drei fehlerhaften Kanälen. Wie vorher, wird die Modifikation durch einen Pfeil bezeichnet, der von dem vorher errechneten Syndromwert zum neuen Wert führt:
Die obige Korrektur läßt sich auf die nächste Position anwenden, indem man den Wert von m um +1 erhöht.
Das Korrekturverfahren für zwei erkannte fehlerhafte Spuren ist dasselbe wie für drei erkannte Spuren, aber für die Tatsache, daß nur zwei Fehlermuster aus den beiden lokalen Syndromen berechnet werden. Der Fall für zwei Spuren kann somit als Sonderfall des Korrekturverfahrens für drei Spuren angesiedelt werden.
Korrektur von einem Kanal in der Gruppe A mit Zeiger
Auf nur einen erkannten Kanal in der Gruppe A beschränkte Fehler können allein durch das Syndrom für die vertikale Paritätsprüfung der Gruppe A korrigiert werden. Unter diesen Umständen kann die Gruppe B bis zu drei erkannte fehlerhafte Kanäle enthalten.
Ein Fehlermuster für die m-te Position in nur einer erkannten Spur wird bezeichnet durch das vertikale Paritätsprüfsyndrom Sv. Wenn dieser Fehler in der j-ten Spur aufgetreten ist und die anderen Spuren oder Kanäle fehlerfrei sind, dann erhält man aus der Gleichung (15) wieder folgende Relation:
Das Fehlermuster ist somit gegeben durch das Syndrom Sv. Spur j wird dann mit dem Fehlermuster korrigiert als
A m (j) = Â m (j)e m (j) (44)
Bevor die nächste Position dann korrigiert wird, muß das diagonale Prüfsyndrom Sd noch einmal verändert werden, da es von dieser Korrektur betroffen ist. Die Modifikation ist gegeben durch
Die nächste Position kann korrigiert werden, indem man m um den Wert 1 erhöht und das obige Verfahren wiederholt.
Es wird noch einmal darauf hingewiesen, daß das Korrekturverfahren für einen erkannten fehlerhaften Kanal auch als Sonderfall des Korrekturverfahrens für drei erkannte fehlerhafte Kanäle implementiert werden kann.
Erzeugung des Zeigers für den ersten fehlerhaften Kanal und Korrektur eines Kanales in der Gruppe A, wenn keine Zeiger gegeben sind
Auf nur einen unerkannten Kanal in der Gruppe A beschränkte Fehler können korrigiert werden, wenn die Gruppe B höchstens einen unerkannten oder zwei erkannte fehlerhafte Kanäle hat. Es wird angenommen, daß Fehler in allen Kanälen in der Gruppe B bis zur Bitposition (m-1) korrigiert wurden und die Syndromwerte für alle korrigierten Fehlermuster angepaßt wurden. Wenn alle Kanäle in der Gruppe A fehlerfrei sind, sind die Paritätsprüfsyndrome
gleich 0 für 0 < i < 7. Wenn eines dieser Syndrome von 0 verschieden gefunden wird, zeigt es, daß ein Fehler in wenigstens einem der Kanäle in der Nachbarschaft innerhalb der nächsten 7 Bitpositionen liegt. Angenommen, daß nur ein fehlerhafter Kanal die Syndrome beeinflußt, so läßt sich der Index der fehlerhaften Spur bestimmen durch Untersuchung der Syndrome
mit fortschreitendem m-Wert der Bitposition. Folgende Anweisungen charakterisieren die Erzeugung des ersten Zeigers für einen fehlerhaften Kanal und die Einzelkanalkorrektur in der Gruppe A, wenn keine Zeiger gegeben sind.
In Fig. 12a ist die Erzeugung eines ersten Fehlerspurzeigers gezeigt, abgeleitet vom "Schnitt" eines vertikalen und eines diagonalen Syndroms.
Behauptung 1
Unter erneutem Bezug auf Fig. 12a wird angenommen, daß m und n die niedrigsten Werte der Bitpositionen sind, so daß m < n ist und
und
Dann ist die Spur j fehlerhaft, beginnend bei Bitposition n und
j = 7 - (n-m). (48)
Der Wert j < 0 ist eine Anzeige für einen nicht korrigierbaren Fehler, der zwei oder mehr Spuren betrifft.
In Fig. 12b ist die Erzeugung eines ersten Fehlerspurzeigers ebenfalls aus dem "Schnitt" eines vertikalen und eines diagonalen Syndroms gezeigt, wo die unerkannte fehlerhafte Spur die Spur 8 ist, die der Aufzeichnung vertikaler Paritätsprüfungen zugeordnet ist.
Behauptung 2
In Fig. 12b ist angenommen, daß n der niedrigste Wert der Bitpositionen ist, so daß
und
für alle m < n ist.
Dann ist Spur 8 fehlerhaft, beginnend bei der Bitposition n.
Die Implementierung der obigen beiden Behauptungen paßt in das allgemeine wiederholte Decodierverfahren, da der Wert m der Bitposition iterativ erhöht wird. Ein Zähler wird auf 7 gesetzt, wenn
das erste Mal abgefühlt wird. Wenn die Bitposition m vorwärts erhöht wird, wird der Zähler jedesmal um eins herabgezählt, bis die Bitposition n erreicht ist, wo
ist. Der resultierende Zahlenwert ist der Index der fehlerhaften Spur. Wenn die Zahl unter den Wert 0 heruntergeht, ist der Fehler über mehr als eine Spur verteilt und nicht korrigierbar. Wenn
das erste Mal abgefühlt wird und
ist, auch wenn m = n ist, dann ist die Spur 8 fehlerhaft. Das Fehlermuster für die fehlerhafte Spur erhält man wie gewöhnlich. Die Syndrome werden immer für die korrigierten Fehlermuster eingestellt, bevor der Wert von m erhöht wird.
Erzeugung eines zweiten Zeigers für einen fehlerhaften Kanal und Korrektur von zwei Spuren in der Gruppe A, wenn ein Zeiger gegeben ist
Betrachtet wird der Fall, in dem in der Gruppe A Fehler in einer erkannten fehlerhaften Spur korrigiert werden und eine andere unerkannte Spur ebenfalls in der Gruppe A beginnt, Fehler aufzuweisen. Diese zweite unerkannte Spur kann abgefühlt und beide fehlerhafte Spuren der Gruppe A können korrigiert werden, unter der Voraussetzung, daß sich in der Gruppe B höchstens eine erkannte fehlerhafte Spur findet.
Der Einfachheit halber soll zuerst das Verfahren für den Fall erklärt werden, in dem die Spuren 0 bis 7 in der Gruppe B fehlerfrei sind. Später ist leicht zu sehen, wie die Gleichungen modifiziert werden können, um den Einfluß einer erkannten fehlerhaften Spur in der Gruppe B einzuschließen.
Der Buchstabe j soll die erkannte fehlerhafte Spur in der Gruppe A bezeichnen, und alle übrigen Spuren in der Gruppe A werden als fehlerfrei angenommen. Außerdem wird angenommen, daß alle Fehler bis zur Bitposition (m-1) korrigiert sind und die Syndromwerte auf alle korrigierten Fehlermuster eingestellt sind.
Die Fehlermuster der Position m der Spur j betreffen die Syndrome
Wenn Fehler in anderen Spuren fehlen, folgt daraus, daß
und daß Fehlermuster für die Position m der Spur j gegeben ist durch
Wenn ein Teil der Syndrombeziehung der Gleichung (A-1) verletzt wird, ist das eine Anzeige dafür, daß in einer anderen Spur in der Nähe innerhalb der nächsten 15 Bitpositionen ein Fehler liegt. Wenn angenommen wird, daß nur eine weitere fehlerhafte Spur die Syndrome zu beeinflussen beginnt, gelten folgende Aussagen:
Behauptung 3
In Fig. 12c soll j (j < 8) die erkannte fehlerhafte Spur sein und m und n die niedrigsten Bitwertpositionen, so daß m < n ist und
und
dann ist die Spur i fehlerhaft an der Bitposition n und
i = j - (n-m). (A-5)
Es ist zu beachten, daß Werte i < 0 bedeuten, daß mehr als zwei unerkannte fehlerhafte Spuren vorliegen. Außerdem sind die Fehlermuster gegeben durch
und
Behauptung 4
In Fig. 12d soll j (j < 8) die erkannte fehlerhafte Spur und m und n die niedrigsten Bitwertpositionen sein, so daß m < n ist und
und
ist.
Dann ist die Spur k fehlerhaft an der Bitposition n und
k = j + (n-m). (A-10)
Außerdem sind die Fehlermuster gegeben durch
und
Der Wert k < 7 zeigt an, daß die unbekannte fehlerhafte Spur in der Gruppe B liegt.
Die nachfolgenden Behauptungen 5 und 6 erfassen den Fall, in dem eine von zwei fehlerhaften Spuren die Paritätsprüfspur 8 ist. Die Spur 8 kann auch in die Berechnungen der diagonalen Paritätsprüfungen und Syndrome eingeschlossen werden und wird dann automatisch durch die Behauptungen 3 und 4 erfaßt.
Behauptung 5
In Fig. 12e soll j (j < 8) die erkannte fehlerhafte Spur und m der niedrigste Wert der Bitposition sein, so daß
und
ist; dann ist die Spur 8 fehlerhaft an der Bitposition m. Außerdem sind die Fehlermuster gegeben durch
Behauptung 6
In Fig. 12f soll j (j = 8) die erkannte fehlerhafte Spur und m und n die niedrigsten Werte der Bitpositionen sein, so daß n = m + k ist und
ist; dann ist Spur k fehlerhaft an der Bitposition n. Außerdem sind die Fehlermuster gegeben durch
Wenn k < 7 ist, liegt die unerkannte fehlerhafte Spur in der Gruppe B. Jetzt zeigen wir die Modifikation für den allgemeineren Fall, in dem die Gruppe B höchstens eine fehlerhafte Spur hat. Wenn y (y < 8) die fehlerhafte Spur in der Gruppe B ist, dann sind die Fehlermuster für diese Spur alle aus dem vertikalen Paritätsprüfsyndrom Sv der Gruppe B bekannt. Diese Fehlermuster beeinflussen auch die Werte der diagonalen Paritätsprüfsyndrome Sd. Um den Einfluß dieser Fehlermuster auf die Behauptungen 3, 4, 5 und 6 zu berücksichtigen, benutzen wir die eingestellten Werte Sd, Sv anstelle von Sd für einen verlangten Wert von m. Insbesondere die Behauptungen 3, 4 und 5 ersetzen Sd durch
und in der Behauptung 6 wird Sd ersetzt durch
Die Beweise der Behauptungen 3, 4, 5 und 6 folgen aus der geometrischen Struktur des Codes (Fig. 12c bis 12f). Die Implementierung paßt in das allgemeine iterative Decodierverfahren, da der Wert der Bitposition m interativ erhöht wird. Ein weiterer Zähler zum Zählen von 0 bis 7 ist erforderlich, um den Wert von (n-m) zu zählen und so den Index der fehlerhaften Spur zu bestimmen. Die zweite Gleichung jeder Behauptung wird für Werte von n, die größer sind als m + 7, nicht benötigt. Die Syndrome werden immer auf die korrigierten Fehlermuster eingestellt, bevor der Wert von m erhöht wird.
Die Auswirkungen der zweiten fehlerhaften Spur in der Gruppe B können auf ähnliche Weise erkannt werden. Wegen der adaptiven Benutzung der Paritätsprüfspur zeigt sich der Einfluß einer unerkannten fehlerhaften Spur in einer Gruppe eher als in der anderen Gruppe durch einen Fehlerspur-Zeigerwert größer als 7. (Siehe Behauptung 4.)
Ausführungsbeispiel des Decodierers
Gemäß Darstellung in Fig. 5 werden von den Spuren der Gruppe A bzw. Gruppe B gelesenen Daten über die Leitungen 21 bzw. 35 an die Datenverteiler 23 und 37 geleitet. Jeder Datenverteiler gibt an seinen Fehlerkorrigierer die Bitwerte, wie sie vom Band gelesen werden. Der Datenverteiler 23 gibt also  m (t) über die Leitungen 49 an den Fehlerkorrigierer 31. Gleichzeitig gibt der Datenverteiler 37 m (t) über die Leitungen 101 an den Fehlerkorrigierer 45. Die Fehlerkorrekturen e vom Fehlermustergenerator werden über die Leitungen 77 an den Fehlerkorrigierer 31 gegeben. In gleicher Weise wird das Fehlerkorrekturmuster e vom Fehlermustergenerator 43 über die Leitungen 99 an den Fehlerkorrigierer 45 gegeben.
In Fig. 11 ist ein typischer Fehlerkorrigierer 31 dargestellt. Der Korrigierer enthält mehrere Antivalenzschaltglieder 331, 333, . . . 338. Jedem Antivalenzschaltglied wird eine Zahl von  m (t) und e zugeführt. Die gleichzeitige parallele Ausgabe von den Antivalenzschaltgliedern ist dargestellt als A m (0), A m (i), . . ., A m (6), A m (7) auf den Bitleitungen der Leitungen 33. Die Korrektur stellt das logische Äquivalent der Gleichungen (25), (26) und (27) dar.
Die folgende Beschreibung betrifft die Erzeugung der Fehlerkorrekturmuster e und e durch den Syndromgenerator 25, den Syndromprozessor 27 und den Fehlermustergenerator 29 für die Gruppe A sowie den Syndromgenerator 39, den Syndromprozessor 41 und den Fehlermustergenerator 43 für die Gruppe B.
In Fig. 7 ist der Syndromgenerator 25 für die Gruppe A gezeigt. Der Syndromgenerator 25 liefert auf der Leitung 63 eines vertikalen Paritätssyndrom Sv für die Gruppe A, ein versetztes vertikales Paritätssyndrom Sv für die Gruppe A auf der Leitung 61 und ein versetztes Querspur- oder Diagonalparitätssyndrom Sd von den Kanälen der Gruppe A über einschließlich den Kanälen der Gruppe B auf der Leitung 59. Die vertikalen Paritätssyndrome werden erzeugt durch die antivalente Verknüpfung der Bitpositionen m und m+15-j-z der Gruppe A. Die Eingabe-/Ausgabebeziehung für die Antivalenzglieder 217 und 215 entsprechen der Gleichung (9).
Das diagonale Paritätsprüfsyndrom (m+15) auf der Leitung 59 erhält man aus der Schieberegistercodierung von  m+15 (t) und m+7(7-t) gemäß der Relation
entsprechend der Gleichung (7). Hier werden im Augenblick der Decodierer-Zeitposition m 8 vertikale Bits aus der Gruppe A in der Bitposition (m+15) zusammen mit 8 vertikalen Bits aus der Gruppe B in der Bitposition (m+7) in umgekehrter Reihenfolge über die Leitungen 51 und 57 als Eingänge zu den entsprechenden Antivalenzschaltungen 209, . . ., 211 und 213 genommen.
Die Leitungen 59 und 61 vom Syndromgenerator 25 werden wiederum an den Syndromprozessor 27 angelegt. Das vertikale Paritätssyndrom Sv wird über die Leitung 63 zum Fehlermustergenerator 29 übertragen. Für die Gruppe Bwird das Signal Sv über die Leitung 87 von dem Syndromgenerator 39 auf den Fehlermustergenerator 43 gegeben.
In Fig. 8 ist in einem Logikschaltbild der Syndromprozessor 27 dargestellt. Die Eingaben zum Syndromprozessor sind die Fehlerkorrekturmuster e und e, die auf den Leitungen 99 und 77 erscheinen. Das positiv geneigte Diagonalsyndrom Sd und das versetzte Vertikalsyndrom für die Gruppe A Sv werden entsprechend als Eingabe an die Schieberegister FF 15 bzw. das Antivalenzschaltglied 253 angelegt, dessen Ausgabe eine mit S A bezeichnete "Schnittstelle" eines diagonalen Syndroms Sd mit einem Vertikalsyndrom Sv darstellt, die eine der Spuren in der Gruppe A markiert. Das die "Schnittstelle" auf der Leitung 69 darstellende Signal wird an den Fehlermustergenerator 43 der Gruppe B angelegt. Ein Signal S B vom Syndromprozessor 41 bezeichnet eine "Syndromschnittstelle", die auf einer der Spuren in der Gruppe B liegt, und wird über die Leitung 71 an den Fehlermustergenerator 29 der Gruppe A angelegt.
Die Schieberegisterstufen FF 15, FF 14, FF 8, . . ., FF 0 speichern alle versetzten Werte von 1 bis 15 des Syndroms Sd. Die Antivalenzglieder 219, 221, . . ., 223, 225, 227, . . ., 229, 231 modifizieren die gespeicherten Syndromwerte entsprechend den Gleichungen (28) bis (33) für die korrigierten Fehlermuster e und e des vorhergehenden Zyklusses, wenn die Syndromwerte in ihre neuen Positionen versetzt werden, und der neue Zyklus beginnt für die nächste Position.
Die Eingabe in die Schieberegisterstufen FF 15, FF 14, . . ., FF 8 in alle Stufen mit Ausnahme der ersten ist die Modulo-2-Ausgabe des Inhaltes der Schieberegisterstufe und des Fehlerkorrekturmusters e. Da die UND-Glieder 247, 245, . . ., 243 eine Zeigeranzeige (z) auf der Leitung 67 für die Stelle eines fehlerhaften Kanales in der Gruppe B haben, stellt das Syndrom Sd vom ODER-Glied 251 ein positiv geneigtes Diagonalsyndrom dar, das den fehlerhaften Kanal in der Gruppe B schneidet und seinen errechneten Wert ergibt.
Alle versetzten Werte von 1 bis 15 des diagonalen Syndroms Sd werden über die Schieberegisterschaltung der Stufen FF 7, FF 6, . . ., FF 1, FF 0 zur Verfügung gestellt. Die zugehörigen UND-Glieder 241, 239, 111, 237, 235 und das ODER-Glied 249 wählen den i-ten verschobenen Wert Sd nach Bedarf für die Gleichungen (18) und (22) aus. Die Antivalenzglieder 225, 227, . . ., 229, 231 modifizieren die gespeicherten Syndromwerte mit den korrigierten Fehlermustern e aus dem vorhergehenden Zyklus, wenn die Syndromwerte in die entsprechenden neuen Positionen versetzt werden. Wenn der Inhalt einer Registerposition FF 0 und e (0), die ja beide in die Antivalenzschaltung 231 eingegeben werden, nicht übereinstimmt, wird dadurch ein nicht korrigierbarer Fehler auf der Leitung 233 angezeigt.
In Fig. 10 ist ein Fehlermustergenerator 29 für die Gruppe A dargestellt. Das ausgegebene Korrekturfehlermuster für die Gruppe A erscheint auf den entsprechenden Leitungen 77 als
Jedes der ODER-Glieder 291, 293, . . ., 295 und 297 ist an entsprechende UND-Glieder angeschlossen. Das ODER-Glied 291 ist beispielsweise an die UND-Glieder 299, 301 und 303 angeschlossen. Das UND-Glied 299 stammt aus der Reihe der UND- Glieder 299, 305, . . ., 311 und 317; das UND-Glied 301 stammt aus der Reihe 301, 307, . . ., 313 und 319; das UND-Glied 303 stammt aus der Reihe 303, 309, . . ., 315 und 321. Wenn einer oder mehrere Zeiger i, j oder k aktiv sind, erscheint eine entsprechende "1" auf den Leitungen 65, 81 oder 79. Wenn Spur 1 in der Gruppe A fehlerhaft und i der zugehörige Zeiger ist, dann würde die Leitung 65 aktiviert, die am UND-Glied 305 angeschlossen ist. Wenn "mehr als eine Spur fehlerhaft" aktiviert wird, wird das Diagonalfehlersyndrom Sd auf der Leitung 75 mittels des UND-Gliedes 323 durchgeschaltet. Das ist der Wert des Fehlermusters e (i) entsprechend der Gleichung (22). Das Signal e (i) auf der Leitung 329 wird als einer der Eingänge zu allen UND-Gliedern der Reihe 299, 305, . . ., 311 und 317 verteilt. Wenn nur der Leiter i = 1 auf der Leitung 65 aktiviert ist, wird das Signal e (i) durch das UND-Glied 305 und das ODER-Glied 293 auf eine Leitung der Leitungen 77 mit der Bezeichnung e (1) durchgeschaltet.
Wenn drei Spuren in der Gruppe A fehlerhaft sind, wird das UND-Glied 327 aktiviert und das zusammengesetzte Syndrom S B auf der Leitung 71 wird durchgeschaltet. Das ist der Wert des Fehlermusters e (k) gemäß Gleichung (23). Das Signal auf der Leitung 333 wird an alle UND-Glieder der Reihe 303, 309, 315, 321 verteilt. Das Signal e (k) "läuft" durch eines der UND-Glieder, abhängig vom Wert von k. Wenn beispielsweise k = 7 ist, wird das UND-Glied 321 aktiviert, und das Signal e (k) "läuft" durch das UND-Glied 321 und das ODER-Glied 297 und erscheint als e (7) auf der entsprechenden Leitung.
Das vertikale Paritätssyndrom Sv vom Syndromgenerator 25 auf der Leitung 63 wird mit den Fehlermustersignalen e (i) und e (k) über das Antivalenzglied 325 gemäß Gleichung (24) verknüpft. Die Ausgabe des Antivalenzgliedes 325 ist dann der Wert des Fehlermusters e (j) auf der Leitung 331. Das Signal auf der Leitung 331 wird verteilt auf alle UND-Glieder der Serie 301, 307, 313, 319, 325. Das Signal e (j) "läuft" durch eines der UND-Glieder, abhängig von dem j-Wert. Wenn beispielsweise j = 6 ist, wird das UND-Glied 313 aktiviert, und das Signal e (j) "läuft" durch das UND-Glied 313 und das ODER-Glied 295 und erscheint als e (6) auf der entsprechenden Leitung. Die Werte der Zeiger i, j und k genügen der Relation (i < j < k) oder (j = 8 und i < k).
In Fig. 6 sind drei fehlerhafte Kanäle i, j und k, die die Spuren 2, 4 und 5 in der Gruppe A darstellen, und ein die Fehlerspur 3 in der Gruppe B bezeichnender Zeiger y dargestellt. Es ist klar, daß der Fehlerwert für das vertikale Paritätssyndrom Sv insofern zweideutig ist, als das fehlerhafte Bit auf einer der Spuren 2, 4 oder 5 liegen kann. Diese Zweideutigkeit wird gelöst, wenn auf das diagonale Paritätsfehlersyndrom zurückgegriffen wird, das die kleinste Zahl von fehlerhaften Spuren kreuzt. Ein negativ geneigtes Diagonalsyndrom wie das Syndrom Sd endet in der Spur 0 der Gruppe B in der dritten Position rechts, während es die m-te fehlerhafte Bitposition in Spur 2 der Gruppe A schneidet und trotzdem über drei andere fehlerhafte Spuren läuft. Diese Spuren sind nämlich die Spur 3 in der Gruppe B und die Spuren 4 und 5 in der Gruppe A. Das die geringste Anzahl von Spuren kreuzende diagonale Paritätssyndrom wäre ein Syndrom, das in der Spur 0 der Gruppe A mit positiver Neigung an der Bitposition (m+2) endet und die Bezeichnung Sd trägt.
Das diagonale Paritätssyndrom zur Identifizierung des Fehlers in Spur 5 der Gruppe A auf der m-ten Bitposition ist negativ geneigt und endet in der Spur 0 der Gruppe B und hat die Bezeichnung Sd. Im Gegensatz dazu würde ein positiv geneigtes, diagonales Fehlersyndrom, endend in der Spur 0 der Gruppe A, eine fehlerhafte Spur mehr schneiden als das negativ geneigte Diagonalsyndrom. Da diese letztere Diagonale auch eine fehlerhafte Spur in der Gruppe B schneiden kann, muß die vertikale Parität Sv genutzt werden, die in der Spur 8 der Gruppe B endet. Diese Parität liefert den Unterscheidungswert. Erst nachdem die Werte für die Spuren i und k gesichert sind, kann die Zwischenspur j behandelt werden.
Zuerst wurde also der Fehlerwert der Spur i ermittelt und dann der Wert der Spur k. Jetzt kann man durch das vertikale Syndrom Sv unterscheiden, ob ein Fehler in Spur 4 liegt oder nicht.
Ausführungsbeispiel für die Erzeugung eines ersten und zweiten Fehlerzeigers
In Fig. 13a ist ein erster Fehlerzeigergenerator gezeigt, mit dem man einen Index des ersten fehlerhaften Kanales in der Gruppe A erhält, wenn ein externer Zeiger fehlt. Dabei soll die Gruppe B höchstens zwei fehlerhafte erkannte Spuren haben. Der Generator besteht aus Verriegelungen 401 und 407, die einen Abwärts-Ringzähler 405 starten bzw. stoppen. Die Ausgabe des Ringzählers 405 stellt den Zeiger j dar. Die Verriegelungen 401 und 407 sprechen auf die Syndrome Sd bzw. Sv an. Wenn Sd = 1 ist, dann wird die Verriegelung 401 verriegelt und dann der Zähler 405 auf 7 gestellt. Für jede Änderung der Bitposition m auf der Spur wird der Zähler um 1 heruntergesetzt. Wenn im Gegensatz dazu Sv = 1 ist, wird die Verriegelung 407 verriegelt und der Zähler 405 gestoppt. Der Wert des Zählers zu diesem Zeitpunkt bildet den Zeiger j. Für den Sonderfall, in dem die Verriegelung 407 vor der Verriegelung 401 verriegelt wird, ist der Zeigerindex j gleich 8.
In Fig. 13b ist ein zweiter Fehlerzeigergenerator für die Gruppe A gezeigt, wenn der erste Zeiger auf eine andere Spur als die Spur 8 gerichtet ist. Ein Generator enthält Ringzähler 405 und 406, die an den Ausgängen 415 bzw. 417 die Zeiger i und j ausgeben. Die Verriegelung stellt den Abwärts-Ringzähler auf den Wert j, während die Verriegelung 407 den Aufwärts-Ringzähler 406 ebenfalls auf den Wert j stellt. Stop- und Startsignale werden über gemeinsame Leitungen an beide Ringzähler gegeben, wenn die UND-Schaltung 413 durch das Verriegeln beider Verriegelungen betätigt wird. Der Ausgang 427 der UND-Schaltung 411 zeigt die Einstellung des zweiten Zeigers auf den Wert j = 8 nur an, wenn die Eingänge zu den Antivalenzgliedern 423 und 425 gleichzeitig verschieden sind. In diesem Sinne schalten verschiedene Eingänge von Sd und Sv auf den Leitungen 75 und 63 zur Antivalenzschaltung 423 die Verriegelung 401 ein, während verschiedene Eingänge Sv und S B auf den Leitungen 63 und 71 zur Antivalenzschaltung 425 die Verriegelung 407 verriegeln.
Aus der gemeinsamen Betrachtung des in Fig. 13b gezeigten Ausführungsbeispieles und des in den Fig. 12c, d und e gezeigten Formates ist die Operation zu ersehen, die abläuft, wenn einmal ein Zeiger j < 8 in der Gruppe A gegeben ist. Am Anfang werden die Werte i, j und k einander gleichgesetzt, um einen zweiten Zeiger zu erhalten und die Werte neu zuzuordnen, so daß i < j ist, wobei die Gruppe B höchstens eine erkannte fehlerhafte Spur haben soll. Mit anderen Worten: Ein Zeiger j < 8 in der Gruppe A und höchstens ein Zeiger in der Gruppe B sind die Vorbedingungen zur Betätigung dieses Generators.
Jetzt stellt der Eingang S B auf der Leitung 71
für k = j dar. Unter der Bedingung, daß
für i = j ist, verriegelt das Antivalenzschaltglied 423 die Verriegelung 401. Dadurch wiederum wird der Zähler 405 auf den Wert j gestellt. In gleicher Weise verriegelt eine "1" durch das Antivalenzschaltglied 425 die Verriegelung 407 und stellt den Zähler 406 auf den Wert j, wenn
ist. Wenn m um 1 erhöht wird, wird der Inhalt des Zählers 405 um 1 erniedrigt und der des Zählers 406 um 1 erhöht. Wenn jedoch beide Verriegelungen 401 und 407 verriegelt sind, stoppen die Zähler das durch das UND-Glied 413 laufende Signal. An diesem Punkt ist der Zeiger i gleich der Zahl im Zähler 405 und der Zeiger j gleich der Zahl im Zähler 406. Der Sonderfall, in dem die Verriegelungen 401 und 407 gleichzeitig auf denselben Wert von m gestellt werden, stellt dann der zweite Zeigerindex auf den Wert j = 8.
In Fig. 13c ist ein zweiter Fehlerzeigergenerator für die Gruppe A dargestellt, wenn der erste Fehlerzeiger auf der Spur 8 steht. Dadurch soll ein zweiter Zeiger i erhalten werden, wenn der erste Zeiger j = 8 gegeben ist. Am Anfang wird i = k = 0 gesetzt. Die Gruppe B hat höchstens eine erkannte fehlerhafte Spur. Der Generator besteht aus einem Aufwärts-Ringzähler 460, der durch die Verriegelung 423 auf 0 gesetzt und mit dem durch das Syndrom Sd auf der Leitung 75 ausgeleiteten Inhalt gestoppt wird. Die Verriegelung 423 wird verriegelt, wenn S B = 1 ist, während der Zähler gestoppt wird, wenn die Leitung 75 auf 1 steht.
Am Anfang werden i und k auf 0 gesetzt. S B stellt
dar, worin k = 0 ist. S B = 1 stellt den Zähler 460 auf 0. Der Zähler wird um 1 erhöht, wenn m um 1 erhöht wird. In diesem Fall bleibt k = 0, wogegen i dem Wert des Zählers folgt. Sd gleich "1" stoppt den Zähler und die Zahl ist gleich dem Zeigerindex. Nach Darstellung in Fig. 12f sind ein auf den Wert j = 8 in der Gruppe A gestellter Zeiger und höchstens ein Zeiger in der Gruppe B die Vorbedingungen zur Aktivierung dieses Generators.
Fehlerkorrektur in Gruppe B
Die oben beschriebenen Schritte der Fehlerkorrekturverfahren und der Zeigererzeugung für die Gruppe A gelten spiegelbildlich ebenfalls für die Gruppe B. Insbesondere die Gleichungen zur Codierung und Decodierung für die Gruppe B lassen sich aus denen der Gruppe A ableiten, indem man die entsprechenden Variablen ersetzt, nämlich:
So sind in der Gruppe B durch Anwendung des Decoderprozesses, wie er für die Gruppe A beschrieben wurde, folgende Fehlertypen korrigierbar:
  • 1. Bis zu drei erkannte fehlerhafte Spuren in der Gruppe B, wenn die Gruppe A fehlerfrei ist oder nur eine erkannte fehlerhafte Spur enthält.
  • 2. Bis zu zwei erkannte fehlerhafte Spuren in der Gruppe B, wenn die Gruppe A höchstens eine unerkannte oder zwei erkannte fehlerhafte Spuren enthält.
  • 3. Eine erkannte fehlerhafte Spur in der Gruppe B, unabhängig von der Gruppe A.
  • 4. Eine erkannte fehlerhafte Spur in der Gruppe B, wenn die Gruppe A höchstens eine unerkannte Spur oder zwei erkannte fehlerhafte Spuren hat.
  • 5. Bis zu zwei fehlerhafte Spuren in der Gruppe B, von denen eine erkannt ist, wenn die Gruppe A nur eine erkannte fehlerhafte Spur hat.
Der allgemeine Fall
Bisher konzentrierte sich das Interesse auf den Fall von zwei Gruppen 9 Spuren in einem 18-Spur-System. Das Ergebnis läßt sich jedoch für ein System mit einer Anzahl von Spuren verallgemeinern, in dem die beiden Gruppen eine unterschiedliche Anzahl von Spuren enthalten. Nachfolgend sind die Codiergleichungen für ein derartiges System aufgestellt.
Wenn die Gruppe A (T₁+2) Spuren und die Gruppe B (T₂+2) Spuren hat, dann können die Codiergleichungen (3), (4), (5) und (6) für diesen allgemeinen Fall wie folgt neu geschrieben werden:
Die Decodiergleichungen können für den allgemeinen Fall ähnlich formuliert werden. Wenn T₂ von T₁ verschieden ist, bleiben die Decodiergleichungen im wesentlichen noch ähnlich wie die für die Gruppe A und die Gruppe B, so daß dieselbe Decodierschaltung für die beiden Gruppen durch Zeitmultiplexschaltung des Decodierprozesses verwendet werden kann. Eine Auswirkung der höheren Spurzahl ist, daß der Codier- und der Decodierprozeß eine entsprechende Anzahl von Bitpositionen auf den Spuren betreffen. Dadurch wiederum ist die Größe der Codier- und Decodierspeicher und der Verzögerung in der Verarbeitungszeit bestimmt. Eine andere Auswirkung der höheren Spurzahl ist die entsprechende Zunahme der am Ende des Datensatzes erforderlichen Anzahl zusätzlicher Prüfbits, um die beiden Diagonalparitätsprüfungen zu vervollständigen. Im allgemeinen werden die beiden Diagonalprüfspuren erweitert um T₁ + T₂ zusätzliche Positionen.
Anwendung der Querspur-Paritätsprüfungen in einem System mit drei oder mehr Kanalgruppen
Bisher wurde ein Datenverarbeitungssystem mit mehreren parallelen Kanälen beschrieben, die in voneinander unabhängigen Gruppen unterteilt waren. Die fehlerhaften Kanäle in diesen Gruppen wurden durch Quer-Paritätsprüfungen und vertikale Paritätsprüfungen korrigiert. Es wurde gezeigt, daß durch Anwendung dieser Paritätsprüfungen bis zu drei erkannte fehlerhafte Kanäle in einer Gruppe unter der Voraussetzung korrigiert werden können, daß in beiden Gruppen zusammen nicht mehr als vier fehlerhafte Kanäle existieren.
In Fig. 14 ist jetzt ein Format gezeigt, das die vertikale und die diagonale Paritätsprüfung in drei Kanalgruppen anwendet. Dabei soll die Anzahl der Datenkanäle in der Gruppe A, Gruppe B und Gruppe C entsprechend mit T₁, T₂, T₃ bezeichnet sein. Jede Gruppe hat ihren eigenen vertikalen Paritätsprüfkanal. Zwei zusätzliche Prüfkanäle oder Spuren liefern Gesamtparitätsprüfungen mit positiv und negativ geneigten diagonalen Prüfungen, die beide alle Datenspuren umfassen. Die Gesamtzahl der Kanäle im System ist 2 + (T₁+1) + (T₂+1) + (T₃+1).
Die Paritätsprüfung in der Diagonalen mit positiver Neigung in Fig. 14 ist bezeichnet mit d und wird in der Spur 0 auf der Seite der ersten Gruppe aufgezeichnet. Die entsprechende Codiergleichung ist gegeben durch
Die Paritätsprüfung auf der Diagonalen mit negativer Neigung ist bezeichnen mit d und wird ebenfalls in der Spur 0, aber in der letzten Gruppe (Gruppe C) aufgezeichnet. Ihre entsprechende Codiergleichung ist gegeben durch
Die vertikale Paritätsprüfung wird in einer separaten Prüfspur für jede Gruppe aufgezeichnet. Ihre entsprechenden Codiergleichungen sind:
Diese Paritätsprüfungen bieten folgende Fehlerkorrekturmöglichkeiten:
  • 1. Die vertikale Paritätsprüfung in jeder Gruppe liefert die Korrektur einer erkannten fehlerhaften Spur in dieser Gruppe.
  • 2. Die vertikale Paritätsprüfung einer Gruppe in Verbindung mit einer der beiden Diagonalparitätsprüfungen liefert die Korrektur von zwei erkannten fehlerhaften Spuren in dieser Gruppe.
  • 3. Die vertikale Paritätsprüfung einer Gruppe liefert in Verbindung mit einer der beiden diagonalen Paritätsprüfungen die Erkennung und Korrektur einer unerkannten fehlerhaften Spur in dieser Gruppe.
  • 4. Die vertikale Paritätsprüfung einer Gruppe liefert in Verbindung mit beiden diagonalen Paritätsprüfungen die Korrektur von bis zu drei unerkannten fehlerhaften Spuren in dieser Gruppe.
  • 5. Die vertikale Paritätsprüfung einer Gruppe liefert in Verbindung mit beiden diagonalen Paritätsprüfungen die Korrektur einer erkannten und einer unerkannten fehlerhaften Spur in dieser Gruppe.
Beide Diagonalprüfungen können die Fehlererkennung und/oder Korrektur in nur einer Gruppe unterstützen. Die oben unter den Punkten 4. und 5. beschriebene Fehlerkorrekturmöglichkeit steht also nur einer Gruppe zur Verfügung. Ähnlich steht die unter 2. und 3. oben beschriebene Korrekturmöglichkeit nur jeweils zwei Gruppen zur Verfügung.
Die Decodiergleichungen und ihre Implementierung lassen sich aus den verschiedenen Fehlerkanalkombinationen ableiten, die für die beiden logisch voneinander unabhängigen Kanalgruppen gezeigt wurden.

Claims (4)

1. Fehlerkorrektureinrichtung in einem parallelen Vielkanal-Speichersystem (z. B. Magnetbandspeichersystem) mit Datenkanälen, mit einem weiteren Kanal (Spur) zur Aufzeichnung von jeweils einem Paritätsbit zu einem aufgezeichneten Zeichen, sowie mit einem Decodierer, bestehend aus hintereinander geschaltetem Syndromgenerator, Syndromprozessor, Fehlermustergenerator und Fehlerkorrigierer, dadurch gekennzeichnet,
daß zwei Gruppen von Aufzeichnungskanälen mit dem je in dem Decodierer (19) dazugehörigen Syndromgenerator (25; 39), Syndromprozessor (27; 41), Fehlermustergenerator (29; 43) und Fehlerkorrigierer (31; 45) vorgesehen sind,
daß jeder Syndromgenerator (25; 39) die aus einer Gruppe (A; B) abgelesenen Daten von einem Datenverteiler (23; 37) empfängt, welcher die Daten auch an den Syndromgenerator (39; 25) der anderen Gruppe (B; A) über Leitungen (55; 57) liefert,
daß jeder Syndromgenerator (25; 39) sowohl ein vertikales Syndrombit (Sv) zu jedem Zeichen aus seiner Gruppe als auch ein diagonales Syndrombit (Sd) zu den auf einer Diagonale liegenden Datenbits über beide Gruppen (A; B) errechnet, wobei der eine Syndromgenerator (25) der positiv geneigten Diagonale und der andere Syndromgenerator (39) der negativ geneigten Diagonale zugeordnet ist,
daß der Syndromprozessor (27; 41) der einen Gruppe (A; B) über Leitungen (69; 71) auch mit dem Fehlermustergenerator (43; 29) der anderen Gruppe (B; A) verbunden ist, und
daß der Ausgang des Fehlermustergenerators (29; 43) der einen Gruppe (A; B) über Leitungen (77; 99) auch mit dem Eingang des Syndromprozessors (41; 27) der anderen Gruppe (B; A) verbunden ist, derart, daß die Syndrombits der einen Gruppe (A; B) zur Fehlererkennung in der anderen Gruppe (B; A) mitbenutzt werden.
2. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß auch externe Zeiger (i, z; x, k) auf fehlerhafte Kanäle den Syndromprozessoren (27; 41) zugeführt werden.
3. Einrichtung nach Anspruch 2, dadurch gekennzeichnet, daß der Fehlermustergenerator (29; 43) einen Fehlerzeigergenerator (Fig. 13) mit einem Zähler (405; 417; 460) aufweist, der auf die Nummer eines durch einen externen Zeiger erkannten, fehlerhaften Kanal voreingestellt wird und dessen Zählerstand als Folge der Feststellung von Übereinstimmung oder Nichtübereinstimmung von Syndromfunktionen erhöht oder erniedrigt wird.
4. Einrichtung nach Anspruch 1, worin die Kanäle den Spuren eines Magnetbandes entsprechen, dadurch gekennzeichnet, daß die Datenbytes quer zur Richtung der Kanäle und die diagonalen Prüfbits in einem bestimmten Kanal aufgezeichnet sind.
DE19782853892 1977-12-23 1978-12-14 Verfahren und schaltungsanordnung zur codierung und decodierung von pruefbits Granted DE2853892A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/863,653 US4201976A (en) 1977-12-23 1977-12-23 Plural channel error correcting methods and means using adaptive reallocation of redundant channels among groups of channels

Publications (2)

Publication Number Publication Date
DE2853892A1 DE2853892A1 (de) 1979-06-28
DE2853892C2 true DE2853892C2 (de) 1988-02-04

Family

ID=25341502

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19782853892 Granted DE2853892A1 (de) 1977-12-23 1978-12-14 Verfahren und schaltungsanordnung zur codierung und decodierung von pruefbits

Country Status (7)

Country Link
US (1) US4201976A (de)
JP (1) JPS5488109A (de)
CA (1) CA1103360A (de)
DE (1) DE2853892A1 (de)
FR (1) FR2412913A1 (de)
GB (1) GB2011138B (de)
IT (1) IT1160349B (de)

Families Citing this family (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS54118748A (en) * 1978-03-07 1979-09-14 Ibm Error channel correcting device
NL7804673A (nl) * 1978-05-02 1979-11-06 Philips Nv Systeem voor het overdragen van binaire informatie over een aantal kanalen.
DE3040004A1 (de) * 1979-10-24 1981-05-07 Matsushita Electric Industrial Co., Ltd., Kadoma, Osaka Verfahren und vorrichtung zum codieren von pruefworten geringer redundanz aus ursprungsdaten
US4371963A (en) * 1980-12-24 1983-02-01 Ncr Corporation Method and apparatus for detecting and correcting errors in a memory
JPS57183609A (en) * 1981-05-07 1982-11-12 Victor Co Of Japan Ltd Magnetic recording system of digital signal
JPS5829237A (ja) * 1981-08-14 1983-02-21 Sony Corp エラ−訂正方法
JPS58123253A (ja) * 1982-01-19 1983-07-22 Sony Corp エラ−訂正装置
US4547882A (en) * 1983-03-01 1985-10-15 The Board Of Trustees Of The Leland Stanford Jr. University Error detecting and correcting memories
US4633470A (en) * 1983-09-27 1986-12-30 Cyclotomics, Inc. Error correction for algebraic block codes
US4637021A (en) * 1983-09-28 1987-01-13 Pioneer Electronic Corporation Multiple pass error correction
GB2149156B (en) * 1983-11-04 1987-10-21 Gen Electric Co Plc A method of encoding and decoding
US4849974A (en) * 1987-08-03 1989-07-18 Scs Telecom, Inc. PASM and TASM forward error correction and detection code method and apparatus
US4849976A (en) * 1987-08-03 1989-07-18 Scs Telecom, Inc. PASM and TASM forward error correction and detection code method and apparatus
JPH0831257B2 (ja) * 1987-09-18 1996-03-27 株式会社日立製作所 誤り位置検出回路
US4847842A (en) * 1987-11-19 1989-07-11 Scs Telecom, Inc. SM codec method and apparatus
US4908826A (en) * 1988-01-05 1990-03-13 Digital Equipment Corporation Stored data error correction system
US4884274A (en) * 1988-04-19 1989-11-28 Aspen Peripherals Corp. Detection of non-zero errors in the prefix and completion frames of high density magnetic tapes and apparatus therefor
US4870645A (en) * 1988-04-20 1989-09-26 Aspen Peripherals Corp. Single syndrome generator for forward and reverse read of high density magnetic tape and method therefor
US5283791A (en) * 1988-08-02 1994-02-01 Cray Research Systems, Inc. Error recovery method and apparatus for high performance disk drives
US5218689A (en) * 1988-08-16 1993-06-08 Cray Research, Inc. Single disk emulation interface for an array of asynchronously operating disk drives
US5111463A (en) * 1989-11-09 1992-05-05 Exabyte Corporation Error correction method and apparatus
US5579475A (en) * 1991-02-11 1996-11-26 International Business Machines Corporation Method and means for encoding and rebuilding the data contents of up to two unavailable DASDS in a DASD array using simple non-recursive diagonal and row parity
US5271012A (en) * 1991-02-11 1993-12-14 International Business Machines Corporation Method and means for encoding and rebuilding data contents of up to two unavailable DASDs in an array of DASDs
US5255272A (en) * 1991-02-25 1993-10-19 Storage Technology Corporation Predictive tape drive error correction apparatus
US5515383A (en) * 1991-05-28 1996-05-07 The Boeing Company Built-in self-test system and method for self test of an integrated circuit
EP0519669A3 (en) * 1991-06-21 1994-07-06 Ibm Encoding and rebuilding data for a dasd array
US5469566A (en) * 1992-03-12 1995-11-21 Emc Corporation Flexible parity generation circuit for intermittently generating a parity for a plurality of data channels in a redundant array of storage units
US5513192A (en) * 1992-08-28 1996-04-30 Sun Microsystems, Inc. Fault tolerant disk drive system with error detection and correction
US5517508A (en) * 1994-01-26 1996-05-14 Sony Corporation Method and apparatus for detection and error correction of packetized digital data
KR19990036347A (ko) * 1996-06-13 1999-05-25 엠. 제이. 엠. 반캄 멀티트랙 저장 포맷에 있어서 트랙방향의 버스트 오류정정 방법및 장치
US6336194B1 (en) 1998-10-29 2002-01-01 International Business Machines Corporation Program products for repositioning an input/output device without knowledge of current positioning of the device
US6343335B1 (en) 1998-10-29 2002-01-29 International Business Machines Corporation System for repositioning an I/O device to a predetermined position to retry a program without knowledge of which part of the program caused the retry
US6339799B1 (en) 1998-10-29 2002-01-15 International Business Machines Corporation Method of repositioning an I/O device to a predetermined position to retry a program without knowledge of which part of the program caused the retry
US6651214B1 (en) * 2000-01-06 2003-11-18 Maxtor Corporation Bi-directional decodable Reed-Solomon codes
US6581185B1 (en) 2000-01-24 2003-06-17 Storage Technology Corporation Apparatus and method for reconstructing data using cross-parity stripes on storage media
US8082483B2 (en) * 2001-01-02 2011-12-20 Icomm Technologies Inc. High speed turbo codes decoder for 3G using pipelined SISO Log-MAP decoders architecture
TW494516B (en) * 2001-03-14 2002-07-11 Winbond Electronics Corp Semiconductor multi-die testing system with automatic identification functions
US6851082B1 (en) 2001-11-13 2005-02-01 Network Appliance, Inc. Concentrated parity technique for handling double failures and enabling storage of more than one parity block per stripe on a storage device of a storage array
US7346831B1 (en) 2001-11-13 2008-03-18 Network Appliance, Inc. Parity assignment technique for parity declustering in a parity array of a storage system
US7073115B2 (en) * 2001-12-28 2006-07-04 Network Appliance, Inc. Correcting multiple block data loss in a storage array using a combination of a single diagonal parity group and multiple row parity groups
US7640484B2 (en) 2001-12-28 2009-12-29 Netapp, Inc. Triple parity technique for enabling efficient recovery from triple failures in a storage array
US6993701B2 (en) 2001-12-28 2006-01-31 Network Appliance, Inc. Row-diagonal parity technique for enabling efficient recovery from double failures in a storage array
US8402346B2 (en) * 2001-12-28 2013-03-19 Netapp, Inc. N-way parity technique for enabling recovery from up to N storage device failures
US7613984B2 (en) 2001-12-28 2009-11-03 Netapp, Inc. System and method for symmetric triple parity for failing storage devices
US7007220B2 (en) * 2002-03-01 2006-02-28 Broadlogic Network Technologies, Inc. Error correction coding across multiple channels in content distribution systems
US7080278B1 (en) 2002-03-08 2006-07-18 Network Appliance, Inc. Technique for correcting multiple storage device failures in a storage array
US7437727B2 (en) * 2002-03-21 2008-10-14 Network Appliance, Inc. Method and apparatus for runtime resource deadlock avoidance in a raid system
US7254813B2 (en) * 2002-03-21 2007-08-07 Network Appliance, Inc. Method and apparatus for resource allocation in a raid system
US7539991B2 (en) * 2002-03-21 2009-05-26 Netapp, Inc. Method and apparatus for decomposing I/O tasks in a raid system
US7200715B2 (en) * 2002-03-21 2007-04-03 Network Appliance, Inc. Method for writing contiguous arrays of stripes in a RAID storage system using mapped block writes
US6976146B1 (en) 2002-05-21 2005-12-13 Network Appliance, Inc. System and method for emulating block appended checksums on storage devices by sector stealing
JP2003317400A (ja) * 2003-02-14 2003-11-07 Fujitsu Ltd 磁気テープ装置の制御装置
US7185144B2 (en) * 2003-11-24 2007-02-27 Network Appliance, Inc. Semi-static distribution technique
US7143235B1 (en) 2003-03-21 2006-11-28 Network Appliance, Inc. Proposed configuration management behaviors in a raid subsystem
US7424637B1 (en) 2003-03-21 2008-09-09 Networks Appliance, Inc. Technique for managing addition of disks to a volume of a storage system
US7328364B1 (en) 2003-03-21 2008-02-05 Network Appliance, Inc. Technique for coherent suspension of I/O operations in a RAID subsystem
US7664913B2 (en) * 2003-03-21 2010-02-16 Netapp, Inc. Query-based spares management technique
US7111147B1 (en) * 2003-03-21 2006-09-19 Network Appliance, Inc. Location-independent RAID group virtual block management
US7275179B1 (en) 2003-04-24 2007-09-25 Network Appliance, Inc. System and method for reducing unrecoverable media errors in a disk subsystem
US7328305B2 (en) 2003-11-03 2008-02-05 Network Appliance, Inc. Dynamic parity distribution technique
US7366837B2 (en) * 2003-11-24 2008-04-29 Network Appliance, Inc. Data placement technique for striping data containers across volumes of a storage system cluster
US7263629B2 (en) * 2003-11-24 2007-08-28 Network Appliance, Inc. Uniform and symmetric double failure correcting technique for protecting against two disk failures in a disk array
US7647451B1 (en) 2003-11-24 2010-01-12 Netapp, Inc. Data placement technique for striping data containers across volumes of a storage system cluster
US20060075281A1 (en) * 2004-09-27 2006-04-06 Kimmel Jeffrey S Use of application-level context information to detect corrupted data in a storage system
US7398460B1 (en) 2005-01-31 2008-07-08 Network Appliance, Inc. Technique for efficiently organizing and distributing parity blocks among storage devices of a storage array
US20070033507A1 (en) * 2005-08-03 2007-02-08 Xueping Jiang Efficient error code correction
US8560503B1 (en) 2006-01-26 2013-10-15 Netapp, Inc. Content addressable storage system
US7743311B2 (en) * 2006-01-26 2010-06-22 Hitachi Global Storage Technologies Netherlands, B.V. Combined encoder/syndrome generator with reduced delay
US8136013B2 (en) * 2006-08-25 2012-03-13 Broadcom Corporation Burst error correction based on fire code
US20080082896A1 (en) * 2006-08-25 2008-04-03 Broadcom Corporation Burst error correction with offset for correction vector based on fire code
US7822921B2 (en) 2006-10-31 2010-10-26 Netapp, Inc. System and method for optimizing write operations in storage systems
US7613947B1 (en) 2006-11-30 2009-11-03 Netapp, Inc. System and method for storage takeover
US7647526B1 (en) 2006-12-06 2010-01-12 Netapp, Inc. Reducing reconstruct input/output operations in storage systems
US8209587B1 (en) 2007-04-12 2012-06-26 Netapp, Inc. System and method for eliminating zeroing of disk drives in RAID arrays
US7840837B2 (en) * 2007-04-27 2010-11-23 Netapp, Inc. System and method for protecting memory during system initialization
US8898536B2 (en) * 2007-04-27 2014-11-25 Netapp, Inc. Multi-core engine for detecting bit errors
US7836331B1 (en) 2007-05-15 2010-11-16 Netapp, Inc. System and method for protecting the contents of memory during error conditions
US7975102B1 (en) 2007-08-06 2011-07-05 Netapp, Inc. Technique to avoid cascaded hot spotting
US9158579B1 (en) 2008-11-10 2015-10-13 Netapp, Inc. System having operation queues corresponding to operation execution time
US8495417B2 (en) * 2009-01-09 2013-07-23 Netapp, Inc. System and method for redundancy-protected aggregates
CN101814922B (zh) * 2009-02-23 2013-06-19 国际商业机器公司 基于bch码的多位错纠错方法和装置以及存储系统
JP2012248110A (ja) 2011-05-30 2012-12-13 Toshiba Corp マルチチャネルを有するメモリ装置及び同装置における誤り訂正チャネル決定を含む書き込み制御方法
US8719626B2 (en) 2011-09-28 2014-05-06 International Business Machines Corporation Proactively removing channel paths in error from a variable scope of I/O devices
US11016848B2 (en) 2017-11-02 2021-05-25 Seagate Technology Llc Distributed data storage system with initialization-less parity
KR20210156985A (ko) 2020-06-19 2021-12-28 삼성전자주식회사 일 함수 층들을 갖는 반도체 소자들
KR20210158615A (ko) 2020-06-24 2021-12-31 삼성전자주식회사 게이트 라인을 포함하는 집적회로 소자
KR20210158607A (ko) 2020-06-24 2021-12-31 삼성전자주식회사 캡핑층을 포함하는 반도체 소자
US20230216526A1 (en) * 2022-01-05 2023-07-06 Kioxia Corporation Systems and methods of decoding error correction code of a memory device with dynamic bit error estimation

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US28923A (en) 1860-06-26 Henry o
US3639900A (en) * 1970-05-27 1972-02-01 Ibm Enhanced error detection and correction for data systems
US3745526A (en) * 1971-12-20 1973-07-10 Ibm Shift register error correcting system
US3745528A (en) * 1971-12-27 1973-07-10 Ibm Error correction for two tracks in a multitrack system
US3868632A (en) * 1972-11-15 1975-02-25 Ibm Plural channel error correcting apparatus and methods
US3851306A (en) * 1972-11-24 1974-11-26 Ibm Triple track error correction
US3800281A (en) * 1972-12-26 1974-03-26 Ibm Error detection and correction systems
US3893070A (en) * 1974-01-07 1975-07-01 Ibm Error correction and detection circuit with modular coding unit
US4052698A (en) * 1975-03-17 1977-10-04 Burroughs Corporation Multi-parallel-channel error checking
US3982226A (en) * 1975-04-03 1976-09-21 Storage Technology Corporation Means and method for error detection and correction of digital data
US3958220A (en) * 1975-05-30 1976-05-18 International Business Machines Corporation Enhanced error correction

Also Published As

Publication number Publication date
CA1103360A (en) 1981-06-16
JPH0219549B2 (de) 1990-05-02
IT7830877A0 (it) 1978-12-15
GB2011138A (en) 1979-07-04
DE2853892A1 (de) 1979-06-28
JPS5488109A (en) 1979-07-13
GB2011138B (en) 1982-02-24
IT1160349B (it) 1987-03-11
FR2412913A1 (fr) 1979-07-20
US4201976A (en) 1980-05-06
FR2412913B1 (de) 1985-01-18

Similar Documents

Publication Publication Date Title
DE2853892C2 (de)
DE2421112C2 (de) Speicheranordnung
DE2357004C3 (de) Verfahren und Einrichtung zur Fehlerkorrektur für Daten
DE3125048C2 (de)
DE3040004C2 (de)
DE2921387A1 (de) Vorrichtung zur ermittlung von fehlerhaften sektoren und zuweisung von ersatzsektoren in einem plattenspeicher
DE69831790T2 (de) Verfahren zum Lesen während des Schreibens in einer Datenspeichervorrichtung
DE2427463C3 (de)
DE1086924B (de) Vorrichtung zur Pruefung von magnetischen Aufzeichnungstraegern
DE1295246B (de) Schaltungsanordnung zur fehlergesicherten Wiedergabe von parallel dargestellten digitalen Signalen
DE2622184A1 (de) Fehlerkorrekturverfahren
DE2263488C2 (de) Einrichtung zur Erkennung und Korrektur von Fehlern in zwei fehlerbehafteten Spuren eines Vielspur-Datensystems
DE2157829C2 (de) Anordnung zum Erkennen und Korrigieren von Fehlern in Binärdatenmustern
DE2364788A1 (de) Verfahren und vorrichtung zur fehlerkorrigierenden datenuebertragung oder -speicherung
DE2536625C2 (de) Paritätsprüfschaltung für ein binär zählendes Register
DE2718490A1 (de) Decodierung von signalwellenzuegen
DE2908373C2 (de)
DE2053836A1 (de) Verfahren und Vorrichtung zur Korrek Datengruppen
DE1499708A1 (de) Verfahren und Anordnung zur Wiedergabe magnetisch gespeicherter digitaler Informationen
DE3131062C2 (de)
DE2655653C2 (de) Anordnung zur Feststellung der richtigen Zuordnung von Adresse und Speicherwort in einem wortorganisierten Datenspeicher
DE2625365C3 (de) Vergleichseinrichtung fur eingegebene Daten
DE3719406C2 (de)
DE2718691C3 (de) Umsetzereinrichtung zum Aufzeichnen und Auslesen von binären Zahlen
DE2729705A1 (de) Verfahren zur reduzierung unauffindbarer fehler beim lesen magnetischer baender sowie detektor zur durchfuehrung des verfahrens

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee