DE2908373C2 - - Google Patents

Info

Publication number
DE2908373C2
DE2908373C2 DE19792908373 DE2908373A DE2908373C2 DE 2908373 C2 DE2908373 C2 DE 2908373C2 DE 19792908373 DE19792908373 DE 19792908373 DE 2908373 A DE2908373 A DE 2908373A DE 2908373 C2 DE2908373 C2 DE 2908373C2
Authority
DE
Germany
Prior art keywords
channel
channels
error
syndrome
data
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
DE19792908373
Other languages
English (en)
Other versions
DE2908373A1 (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
Priority claimed from US05/884,463 external-priority patent/US4205324A/en
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2908373A1 publication Critical patent/DE2908373A1/de
Application granted granted Critical
Publication of DE2908373C2 publication Critical patent/DE2908373C2/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Description

In Magnetbandspeichersystemen haben Industrienormen die Band­ größe, das Datenformat und die Aufzeichnungsdichte bestimmt. Herkömmlicherweise werden 1/2 Zoll breite Bänder für die Auf­ zeichnung von neun Spuren verwendet. Dabei werden die Daten üblicherweise bit-parallel und byte-seriell auf dem Band auf­ gezeichnet. Dies gestattet die Verwendung der gleichen Neun­ spurköpfe sowohl für die Auszeichnung als auch das Auslesen der Daten von Bändern mit verschiedenen Aufzeichnungsdichten.
Ein Magnetband ist weich und biegsam. Im Gegensatz zu anderen Formen beweglicher magnetischer Speichermedien, wie etwa star­ rer Magnetplatten, verlangen Magnetbandspeichersysteme die Bewegung des Bandes in nicht einheitlichen Kontakt mit einem oder mehreren festen Köpfen, während die Daten aufgezeichnet oder abgelesen werden. Lose Staubteilchen zwischen Kopf und Band oder Flecken auf dem Band mit fehlendem Eisenoxid führen zur Abschwächung der Signalamplituden und zu Datenfehlern in einem oder mehreren Kanälen. 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 über sehr lange Strecken fehlerhaft sein. Insofern stellt die gestörte Länge des Bandes ein Datenkorrekturproblem dar, daß sich von der Einzelstörung und dem Störungsbündel unterscheidet. Solche durch Einzelstö­ rungen oder Störungsbündel ausgelöste Fehler sind im allgemei­ nen von begrenzter Dauer. Die Rekonstruktion der betroffenen Daten ist durch zyklische Fehlerprüfcode möglich. Diese Code sind jedoch sowohl in der Theorie als auch in ihrer Verwendung sehr kompliziert (siehe z. B. US-PS 38 68 632).
Die übliche Praxis besteht darin, zwei von neun Kanälen zur Aufzeichnung redundanter Information über die übrigen sieben Kanäle des Satzes zu reservieren. Dadurch können bis zu zwei fehlerhafte Kanäle nachträglich korrigiert werden. Neben der bereits oben genannten US-Patentschrift kann hierzu auch auf die US-Patentschrift Re 28 923 verwiesen werden. In diesen be­ kannten Einrichtungen muß jedoch die aufgezeichnete Informa­ tion in aufeinanderfolgende Blöcke unterteilt und müssen zu je­ dem dieser Blöcke mit Hilfe der komplizierten zyklischen Codes Prüfbits errechnet werden. Die Prüfbits werden nach den Daten aufgezeichnet. Beim Auslesen der Daten werden die Prüfbits nochmals errechnet und verglichen. Dies resultiert in einem hohen Aufwand sowohl an Einrichtungen als auch an Zeit. Da die Prüfbits jeweils nur aus einem begrenzten Datenblock errechnet wurden, können sie nur hinsichtlich dieses Blockes und nicht auch zur Fehlererkennung und -Korrektur hinsichtlich anderer Blöcke verwendet werden.
Das IBM Technical Disclosure Bulletin Band 14, Mai 1972, Seite 3846 bezieht sich auf eine Einrichtung zum Schutz von Datenblöcken in einer Vielzahl von Magnetbändern. Für einen bestimmten Datenblock auf jeweils einem Magnetband wird ein Paritätsbit-Prüfblock erzeugt und auf einem zu­ sätzlichen Magnetband gespeichert. Wird daher ein ganzes Magnetband zerstört, so können die auf diesem Magnetband gespeicherten Datenblöcke mit Hilfe des Paritätsbit- Prüfblocks und den zugeordneten Datenblöcken in den anderen Mangetbändern rekonstruiert werden.
Die britische Patentschrift 13 18 250 bezieht sich auf eine Einrichtung zur Korrektur von Fehlern in Daten­ feldern. Mit Hilfe von diagonalen Paritätsbits in zwei Richtungen kann ein fehlerhaftes Datensegment im Daten­ feld eingegrenzt werden.
Der Artikel "A Double Track Error-Correction Code for Magnetic Tape" von P. Prusinkiewicz und S. Budkowski in IEEE Transactions on Computers, Juni 1976, Seiten 642 bis 645, beschreibt die Korrektur von zwei fehlerhaften Kanälen eines Magnetband-Speichersystems mit Hilfe eines diagonalen Prüfbits und eines vertikalen Prüfbits, und externen Hinweissignalen auf zwei fehlerhafte Kanäle. Eine Einrichtung zur Durchführung der beschriebenen Methode ist dem Artikel jedoch nur fragmentarisch zu entnehmen.
Der Erfindung liegt daher die Aufgabe zugrunde, Fehler großer Länge und in mehreren Kanälen mit einfachen Paritätsprüfbits und mit fallweiser Verwendung von Hinweissignalen auf fehlerhafte Kanäle erkennen und korrigieren zu können.
Diese Aufgabe wird erfindungsgemäß durch die im Kennzeichen des Anspruchs beschriebene Einrichtung gelöst.
Dadurch, daß die Erfindung im Gegensatz zu den bekannten Ein­ richtungen nicht die komplizierten zyklischen Codes verwendet, wird eine einfache Einrichtung und eine rasche Arbeitsweise erzielt. Beim Auslesen der Daten werden die Prüfbits zugleich mit den Daten ausgelesen und nicht erst am Ende eines Blockes, wie in vielen bekannten Einrichtungen. Dadurch kann die Arbeitsweise direkter und rascher gestaltet werden. Obwohl die Erfindung speziell für Fehler größerer Länge geeignet ist, können mit der erfindungsgemäßen Einrichtung auch kürzere Fehler korrigiert werden. Die Erfindung gestattet außerdem zum Auffinden eines Fehlers die Verwendung äußerer oder innerer Zeigerinformationen, d. h. anderweitig erhaltenen Hinweisen auf einen fehlerhaften Kanal. Die Verwendung solcher Zeiger ist jedoch nur zum Korrigieren von zwei fehlerhaften Kanälen in einem Datenbyte notwendig.
Die Erfindung soll nun anhand eines in den Figuren gezeigten Ausführungsbeispieles näher beschrieben werden. Es zeigt:
Fig. 1 in einem Blockschema ein paralleles Vielkanal-Spei­ chersystem mit einem Paritätscodierer für das Schrei­ ben von Daten und einem Paritätsdecodierer für die Datenfehlerprüfung beim Lesen von Daten;
Fig. 2a bis 2d Aufzeichnungsformate der Daten und der Prüfbits in einzelnen Kanälen;
Fig. 3 einen diagonalen Paritätcodierer;
Fig. 4 eine Logikeinrichtung des Decodierer zur Syndromer­ zeugung, zur Syndrommodifikation und zur Erzeugung der Korrektursignale;
Fig. 5 einen Fehlerkorrigierer des in Fig. 4 gezeigten De­ codierers;
Fig. 6a eine Logikeinrichtung für den ersten internen Zeige­ generator und
Fig. 6b und 6c einen zweiten Zeigergenerator für einen Stand des ersten Zeigergenerators ungleich 8 und gleich 8.
Beschreibung des Ausführungsbeispieles
Fig. 1 zeigt in Form eines allgemeinen Blockdiagrammes ein paralleles Vielkanalspeichersystem, das die vorliegende Erfin­ dung enthält. Information von der Informationsquelle 1 wird an die Puffersteuerung 3 gegeben. Die Steuerung koordiniert die Formatierung der Daten, sichert die notwendige Paritäts­ codierung und sorgt dafür, daß besagte, formatierte und nach Parität codierte Daten in parallelen Kanälen im Speicher 5 auf­ gezeichnet werden. Entsprechend liest die Puffersteuerung 7 im betätigten Zustand vorher auf den parallelen Kanälen aufgezeich­ nete Daten, formatiert sie neu und decodiert die Daten, um sie an einen Informationsempfänger (11) weiterzugeben.
Im Betrieb wird Information vom Puffer 3 über die Bahn 2 einem Paritätsprüfcodierer 9 zugeführt, wo Paritätsprüfbit sequen­ tiell für Informationssignalsätze, sogenannte Bytes, erzeugt werden. Nachdem die Paritätsprüfbits zusammen mit den Informa­ tionssignalen aufgezeichnet sind und beide vom Speicher 5 zu­ rückgelegt wurden, kann jeder per Parität in der Information erkannte Fehler durch Ableitung von Korrektursignalen unter Ausnutzung von Syndromen und Zeigern und Kombination der Kor­ rektursignale mit der gelesenen Information korrigiert werden. Die Ableitung der Syndrome und Korrektursignale erfolgt im Decodierer 19. Der Decodierer leitet die Syndrome anhand von Prübits ab. Die Prüfbits erfassen aufgezeichnete Informations- oder Datensignale in sogenannter vertikaler Richtung und in der Richtung einer dazu positiv oder negativ quer geneigten Diagonale.
Nach Darstellung in Fig. 1 steht der Decodierer 19 in Wechsel­ wirkung mit dem Puffer 7 beim Empfang von Daten über die Bahn 21 und bei der Rückgabe decodierter Daten über die Bahn 33. In diesem Zusammenhang wird auf das logische Diagramm in Fig. 4 verwiesen, das die Syndromerzeugung, - Modifikation und die Erzeugung von Korrektursignalen im Decodierer darstellt. Über die Decodierereingangsbahn 21 angelegte Daten werden von den Elementen 23, 24 und 27 verarbeitet. Grundsätzlich werden Da­ ten mit eventuellen Fehlern auf den parallelen Spuren auf parallele Lei­ tungen der Bahn 21 gegeben und an den Syndromgenerator 23 ge­ leitet. Dieser wiederum gibt die Daten weiter an den Syndrom­ prozessor 25. Korrektursignale e m(i) vom Syndromprozessor 25 für einen einzigen Kanal (i = j) auf der Bahn 29 werden an den Fehler­ korrigierer 27 gegeben. Für die Korrektur von zwei Kanälen wer­ den Signale e m(i) und e m(J) über die Bahnen 29 und 35 geleitet. Die kontinuierliche Syndrommodifikation erfolgt durch Rück­ koppelung des Korrekturelementes auf den Syndrommodifizierer 22 über die Bahn 601, so daß eine Wechselwirkung mit der neuen Syn­ drominformation entsteht, die an den Eingang des Syndrompro­ zessors 25 vom Syndromgenerator 23 angelegt wird.
Aufzeichnungsformate und Prüfbits für Zwei-Kanal-Korrektur
In den Fig. 2a bis 2c sind verschiedene Formate zur Aufzeich­ nung neun paralleler Kanäle auf einem Band dargestellt. Der Kanal 8 ist laut Fig. 2a reserviert zur Aufzeichnung der Pari­ tät P über den anderen 8 Kanälen. Ein solches Paritätsbit ist bekannt als vertikales Redundanzprüfbit. Jedes Byte B m besteht aus 8 Bits und dem vertikalen Redundanzprüfbit (VRC-Bit), und dieser 9 Bits werden gleichzeitig in jedem der 9 Kanäle aufgezeichnet.
Wenn in Fig. 2a mit B m(k) das m-te Bit im k-ten Kanal von links nach rechts bezeichnet wird und B m ein auf einem Speichermedium, wie etwa einem Magnetband auf den parallelen Kanälen 0 bis 7 aufgezeichnetes Byte aus 8 Bits darstellt, dann kann man B m ausdrücken wie folgt:
B m = [B m(0), B m(1), B m(2), . . . . . . B m(7)] (1)
worin m = 0 bis M und M = 8 × N.
B m(8) ist die Byteparität von B m, aufgezeichneten auf dem Ka­ nal P.
d. h.
(Ein Kreis über dem Summenzeichen bezeichnet eine Summe Modu­ lo-2.)
B₀, B₈, B₁₆, B₂₄ . . . B 8N sind Prüfbytes, von denen jedes eine diagonale Paritätsprüfung für sieben Datenbytes auf seinen bei­ den Seiten liefert, so daß für jedes m gilt
An den beiden Enden des Datensatzes existieren die Bytes B -1, B -2, . . . B -7 und die Bytes B 8m+1, B 8m+2, . . . B 8m+7 nicht und werden bei der Berechnung der Gleichung (3) als lauter Nullen angesehen. Die Paritätsprüfgleichungen (2) und (3) können so­ mit neu geschrieben werden.
Die gelesenen Bytes können durch Fehler gestört sein. Wenn die Paritätsgleichungen (4) und (5) nicht erfüllt sind, nennt man das Ergebnis das Fehlersyndrom.
In dem in Fig. 2b und 2c dargestellten Format ist der Kanal 0 ebenfalls für die Paritätscodierung reserviert, und zwar für die Aufzeichnung der diagonalen Paritätsprüfung in der positiv geneigten Richtung. In Fig. 2d sind diagonale Paritätsprüfun­ gen in positiv und negativ geneigter Richtung dargestellt. Die Formate der Fig. 2b und 2c sind auf die Korrektur von zwei Spuren ausgerichtet, während die Fig. 2d die Korrektur von drei Spuren betrifft.
Codierer für die Erzeugung diagonaler Prüfbits
In Fig. 3 ist der Codierer 9 zur Erzeugung der erforderlichen Paritätsprüfungen für das in Fig. 2a dargestellte Format ge­ zeigt. Alle vertikalen Paritätsprüfungen werden durch eine ein­ fache Modulo-2-Addition der Kanalbitwerte in vertikaler Rich­ tung (quer zum Kanal) implementiert. Da besagte vertikale Pari­ tätsprüfungen ausführlich in der erwähnten US-Patentschrift be­ schrieben sind, werden die hier nicht weiter behandelt, sondern nur der Teil des Codierers 9 dargestellt, der die diagonale Paritätsprüfung vornimmt. Er besteht aus einem Schieberegister­ codierer, der die diagonale Paritätsprüfungen zur nachträgli­ chen Aufzeichnung in der Puffer-Steuerung in den quer über die Spur liegenden Bytepositionen B₀, B₈, B₁₆, . . . B 8N erzeugen kann, um das Format der Fig. 2a zu erfüllen. Die vertikalen Paritätsprüfungen werden auf Kanal 8 aufgezeichnet (Spur P). Der diagonale Paritätsprüfteil des Codierers 9 besteht aus ei­ nem siebenstufigen Flip-Flop-Schieberegister FF 1, FF 2, . . . FF 6 und FF 7. Zwischen jede Schieberegisterstufe ist ein Antivalenz­ glied (EXCLUSIV-ODER Glied) mit zwei Eingängen und einem Ausgang geschaltet. Jedes der Antivalenzglieder 195, 197, 199, 201, 203 und 205 koppelt nicht nur eine Registerstufe mit einer anderen (FF 2 mit FF 3), sondern ist auch mit einem Eingang an ein Bit angeschlossen, das diagonal über den Kanälen des Satzes liegt. Das Antivalenzglied 193 empfängt beispielsweise B m+i(0), während das Antivalenzglied 205 das Bit von der Position B m+i(6) empfängt. Der Bitwert von der Position B m+i(7) treibt die Stufe FF 7 direkt. Dieser diagonale Schieberegister-Paritäts­ codierer implementiert die Gleichungen (3) und (5). In der Dar­ stellung ist ϕ ein Byte aus lauter Nullen.
Die Prüfbytes B₀, B₈, B₁₆ usw. werden in einem kontinuierli­ chen Schiebe- und Eingabeprozeß bitweise am Ausgang des Schie­ beregisters 6 erzeugt, während das ϕ Byte und das Datenbyte in der dargestellten Reihenfolge eingegeben werden. Das Prüfbyte B₀ wird zuerst erzeugt, als nächstes B₈ usw. Das bedeutet, daß zur Erzeugung von B m, wobei m=0, 8, 16, 24 usw. ist, die Bytes in der Reihenfolge ϕ, B m+1, B m+2, . . . B m+7, In das Schieberegi­ ster geschoben und eingegeben werden müssen. Wenn B m+i, einge­ geben wird, wird das i-te Bit von B m am Ausgang 6 des Registers 9 erzeugt. Soweit kann die Codierung mit der Kombination einer vertikalen Paritäsprüfung und einer diagonalen Paritätsprü­ fung an die Korrektur von bis zu zwei fehlerhaften Kanälen an­ gepaßt werden.
Aufzeichnungsformat und Prüfung für Korrektur von drei fehler­ haften Kanälen
In Fig. 2d ist ein Format gezeigt, in dem bis zu drei fehler­ hafte bekannte Kanäle von T Kanälen korrigiert werden können. Wie noch erklärt wird, braucht man dazu nur 2(T-1) Prüfbits zusätzlich zu den drei Prüfkanälen.
Bei dem in Fig. 2d dargestellten Format soll Z m(t) das m-te Bit im t-ten Kanal bezeichnen. Es gibt T+2 Spuren mit der Numerierung von 0 bis T+1. Der Bitpositionswert m läuft von 1 bis M. Die Kanäle 0, T und T+1 sind für die Aufzeichnung von Paritätsprüfungen reserviert. Jedes Prüfbit im Kanal T+1 stellt die Modulo-2-Summe der Bits mit derselben Positionsnum­ mer m in jedem der übrigen T+1 Kanäle dar. Diese Prüfung wird vertikale Paritätsprüfung genannt, die entsprechend Codier­ gleichung lautet:
Jedes Prüfbit im Kanal 0 liefert eine diagonale Paritätsprüfung mit positiver Richtung gemäß Darstellung in Fig. 2d. Ähnlich liefert jedes Prüfbit im Kanal T eine diagonale Paritätsprüfung mit negativer Neigung. Die m-te Diagonalprüfung mit positiver Neigung, genannt Prüfung d m⁺ ist gegeben durch die Codierglei­ chung:
Die m-te Diagonalprüfung mit negativer Neigung, genannt d - m ist gegeben durch die Codiergleichung:
Es ist zu beachten, daß am Anfang des Datensatzes die Berech­ nungen der diagonalen Prüfbits für die Positionen 0 bis T-1 Datenbitwerte von leeren Positionen betreffen (mit negativen Positionszahlen). Diese Datenbitwerte werden der Einfachheit halber als binäre Nullwerte angesehen. Am Ende des Daten­ satzes werden die Prüfkanäle 0 bis T um T-1 Bits erweitert, um Diagonalprüfungen aller Bits in jedem Kanal zu bekommen. Die Prüfbits in diesen erweiterten Positionen betreffen auch einige Datenbitwerte von leeren Positionen, die ebenfalls als binäre Nullwerte angenommen werden.
Die Korrektur codierter Daten
Nachfolgend beschrieben ist die Erkennung und Korrektur von bis zu drei bekannten fehlerhaften Kanälen in einer gegebe­ nen Gruppe. Anschließend werden zuerst die Fehlersyndrome und dann der Decodierprozeß beschrieben. Zur Beschreibung des De­ codierprozesses gehören separate Beschreibungen der Korrektur von zwei fehlerhaften Kanälen mit Zeigern und einem fehlerhaf­ ten Kanal ohne Zeiger im Zusammenhang mit den in den Fig. 2a bis 2c gezeigten Formaten. Daran anschließend wird die Korrek­ tur von drei Kanälen mit Zeigern und die Korrektur eines Kanals ohne Zeiger unter der Verwendung des in Fig. 2d gezeigten For­ mates beschrieben. Schließlich wird noch Bezug genommen auf die Rückwärts-Lesesymmetrie, die Fehlerkorrekturen beim Lesen in beiden Richtungen, nämlich vorwärts und rückwärts, gestattet.
Syndrombestimmung für die Korrektur von zwei Kanälen
Gelesene Bytes können Fehler enthalten. Wenn die in den Glei­ chungen (4) und (5) aufgezeichneten Paritätsprüfbedingungen nicht erfüllt sind, wird das Ergebnis Fehlersyndrom genannt. Ein von Null verschiedenes Syndrom ist also eine klare Anzeige für das Vorhandensein eines Fehlers. Wenn m das m-te Byte aus acht Bits ist, das vom Speicher gelesen wird und m(8) die Byteparität, wie sie vom Medium gelesen ist, dann wird das m-te vertikale Paritätsprüfsyndrom Sv m dargestellt nach der Relation
Das m-te diagonale Paritätsfehlersyndrom Sd m ist dann
Die Modulo-2-Differenz zwischen dem gelesenen m(k) und dem geschriebenen B m(k) ist das Fehlermuster e m(k) in der k-ten Position des m-ten Byte.
B m(k) = m(k) ⊕ e m(k) (8)
Wenn die Gleichungen (4) und (6) und die Gleichungen (5) und (7) kombiniert werden und e m(k) für B m(k) ⊕ m(k) eingesetzt wird, dann ergibt sich
Durch Verarbeiten der Syndrome Sv und Sd können jetzt Fehler in einer unbekannten Spur oder in bis zu zwei als fehlerhaft bekannten Spuren korrigiert werden.
Syndrombestimmung für die Korrektur von drei Kanälen
Die Syndromverarbeitung für das in Fig. 2d gezeigte Format folgt ähnlichen Linien, wie die Verarbeitung für das in Fig. 2a gezeigte Format. Zur Unterscheidung zwischen aufgezeichneten und gelesenen Daten, Syndromen und Korrektursignalen im Falle der Korrektur von drei Spuren (Fig. 2d), wird für den Rest die­ ser Beschreibung eine andere Bezeichnung gewählt. Danach be­ zeichnet m(t) den Bitwert, der dem aufgezeichneten Z m(t) ent­ spricht. Diese gelesenen Bits können Fehler enthalten. Das Er­ gebnis der Paritätsprüfung der Gleichung (A-1), (A-2) oder (A-3), angewandt auf die gelesenen Daten, nennt man Fehler­ syndrom.
Die m-te vertikale Paritätsprüfung ergibt das Syndrom
Die m-te diagonale Paritätsprüfung mit positiver Neigung er­ gibt das Syndrom
Die m-te diagonale Paritätsprüfung mit negativer Neigung er­ gibt das Syndrom
Kombiniert man die Gleichungen (A-1) und (A-4), die Gleichung­ gen (A-2) und (A-5) und die Gleichungen (A-3) und (A-6), so ergibt sich
e m(t) = m(t) ⊕ Z m(t) (A-10)
Setzt man die Gleichungen (A-10) in die Gleichungen (A-7), (A-8) und (A-9) ein, so ergibt sich
Durch Verarbeitung dieser Syndrome lassen sich viele verschie­ dene Fehlertypen korrigieren. Die vorherrschenden Fehler bei Magnetbändern sind Kanalfehler, die durch großflächige Defekte im magnetischen Medium verursacht werden. Der fehlerhafte Ka­ nal kann durch Erkennen des Signalverlustes, einen übermäßigen Phasenfehler, ein unzulässiges Aufzeichnungsmuster oder ähnli­ che externe Hinweise identifiziert werden. Wenn solche exter­ ne Hinweise fehlen, kann der fehlerhafte Kanal immer noch durch Verarbeitung der Syndrome intern identifiziert werden. Anschließend wird gezeigt, daß bis zu drei bekannte fehlerhafte Kanäle durch Verarbeitung der obigen Syndrome korrigiert werden können. Beim Fehlen eines externen Hinweises kann immer noch ein feh­ lerhafter Kanal identifiziert und korrigiert werden. Wenn ein Hinweis auf einen fehlerhaften Kanal vorliegt, kann ein zweiter fehlerhafter Kanal identifiziert und beide Kanäle können korri­ giert werden.
Einrichtung und Verfahren zur Decodierung
Zum Decodierprozeß gehört die Adressierung und ihre Übertra­ gung aus mehreren parallelen Kanälen des Speichers 5 in die Puffer-Steuerung 7. Die Puffer-Steuerung 7 stellt hier zusam­ men mit dem Decodierer 19 fest, ob einer der Kanäle fehlerhaft ist und sie erzeugt entsprechende Korrektursignale. Bei der Fehlerkorrektur mehrerer Kanäle sei an den Kompromiß zwischen der Verwendung der Redundanz zur Feststellung der Tatsache, daß die Bits in einem gegebenen Kanal fehlerhaft sind und/oder der Benutzung der Redundanz zur Korrektur des Fehlers erinnert. In diesem Sinne ist die Korrektur des Fehlers die Errechnung eines Datenwertes als Ersatz für einen entsprechenden fehler­ haften Wert.
Korrektur von zwei Kanälen mit Zeigern
Wenn Fehler auf höchstens zwei bekannte Kanäle begrenzt werden können, die durch die Kanalfehlerzeiger i und j bezeichnet sind, wobei i kleiner j ist, dann können alle Fehler korrigiert werden. Die Gleichung (9) kann in diesem Zusammenhang neu ge­ schrieben werden für Fehler im m-ten Byte als
Sv m = e m(i) ⊕ e m(j) (u)
Ähnlich ist auch jede diagonale Paritätsprüfung durch höch­ stens zwei Fehlermuster beeinflußt. Wenn angenommen wird, daß alle Fehler bis zur Bitposition (m-1) in jedem Kanal korrigiert wurden und die Syndromgleichungen für alle korrigierten Fehler­ muster angepaßt wurden, dann kann gezeigt werden, daß die Fehler im m-ten Byte die Diagonalprüfungen (m+i) und (m+j) be­ einflussen (wenn j ≠ 8) und dann kann die Gleichung (10) neu geschrieben werden als
Sd m+i = e m(i) (12)
Sd m+j = e m(j) ⊕ e m+j-i(i), wenn j ≠ 8 (13)
Die Gleichungen (11) und (12) ergeben die Fehlermuster:
e m(i) = Sd m+i (14)
e m(j) = Sd m+iSv m (15)
Das Byte B m wird dann wie folgt korrigiert unter Benutzung der Gleichungen (8), (14) und (15):
B m(i) = m(i) ⊕ e m(i) (16)
B m(j) = m(j) ⊕ e m(j) (17)
Wenn j ≠ 8, dann wird das diagonale Syndrom (m+j) zur Berück­ sichtigung der Korrektur von B m(j) modifiziert, wie folgt:
Sd m+jSd m+je m(j) wenn j ≠ 8 (18)
Das obige Korrekturverfahren wird dann auf das nächste Byte an­ gewandt, wo m um +1 erhöht wird. Die Indices des Kanal­ fehlerzeigers i und j können an jeder Byteposition m unter der Voraussetzung geändert werden, daß die neuen Werte von i und j nicht kleiner sind als die vorhergehenden entsprechenden Wer­ te. i und j können jeden Wert bekommen, wobei i kleiner sein muß als j, wenn alle Kanäle für mindestens sieben aufeinander folgende Bytes vor der Zeigerwertezuordnung fehlerfrei sind.
Erzeugung eines internen Zeigers für einen fehlerhaften Kanal und Korrektur eines fehlerhaften Kanales
In diesem Fall ist der j-te Kanal fehlerhaft und j ist nicht bekannt. Ein Fehler im m-ten Byte beeinflußt die m-te vertika­ le Paritätsprüfung und die diagonale Paritätsprüfung (m+j), für welche die Gleichungen (9) und (10) neu geschrieben werden können als
Sv m = e m(j) (19)
Sd m+j = e m(j), wenn j ≠ 8 (20)
Der Wert Sv m = 1 zeigt das Vorliegen eines Fehlers an. Der In­ dexzeiger j ist die kleinste ganze Zahl von 0 bis 7, so daß:
Sv m = 1 = Sd m+j (21)
Wenn Sv m = 1 und Sd m+j für alle j zwischen 0 und 7 den Wert 0 hat, dann ist j = 8. Das Byte B m wird dann korrigiert als
B m(j) = m(j) ⊕ e m(j) (22)
Wenn j ≠ 8, dann wird das (später benutzte) Diagonalsyndrom (m+1) modifiziert zur Berücksichtigung der Korrektur von m(j) wie folgt:
Sd m+jSd m+je m(j) (23)
Wenn sich herausstellt, daß der Index j von einem Byte zum an­ deren wechselt, dann sind die Fehler nicht auf eine Spur be­ schränkt. Solche Fehler sind ohne das Risiko einer Fehlkorrek­ tur nicht korrigierbar. Ein neuer Wert für j kann nach minde­ stens sieben aufeinander folgenden fehlerfreien Positionen be­ nutzt werden.
Ausführungsbeispiel des Decodierers
Fig. 4 zeigt im einzelnen ein logisches Diagramm des Decodie­ rers 19. Er besteht aus einem Syndromgenerator 23 und einem Syndromprozessor, Modifizierer und Fehlermustergenerator 25 und einem Fehlerkorrektor 27. Daten m+i(0), m+i(1), . . ., m+i(6), m+i(7), werden byte-seriell und bit-parallel an den Syndromgenerator 23 geleitet, der aus einem siebenstufigen Schieberegister (FF 1 bis FF 7) besteht, in dem das Eingangssi­ gnal zu allen Stufen (mit Ausnahme von FF 7) die Modulo-2-Addi­ tion des Inhaltes der Schieberegisterstufe mit den angelegten Datenbits ist.
Zur selben Zeit zu der das Datenbyte m+8 an den Syndromgene­ rator 23 angelegt wird, wird auch das Datenbyte m über die Leitung 21 an den Fehlerkorrektor 27 gegeben. Die Einzelhei­ ten des in Fig. 5 gezeigten Fehlerkorrektors 27 weisen die lo­ gische Kombination (Modulo-2-Addition) der Fehlerkorrektur­ signale e m(i) und/oder e m(j) über die entsprechenden Bahnen 29 und 35 und von Komplementärelementen der Datenbyts auf, die die Datenkorrektur bewirken, die über die Datenbahn 33 ausge­ geben wird.
Der Fehlermustergenerator 25 enthält einen Syndromprozessor 24 und Leiteinrichtungen 22 und 26 zur Modifikation der im Syndrom­ prozessor 24 enthaltenen Syndrome und zur Erzeugung der Signa­ le e m(i) und/oder e m(j) aus diesen Syndromen. Nach diesem Aus­ führungsbeispiel können bis zu zwei fehlerhafte Kanäle korri­ giert werden.
Der Syndromprozessor 24 besteht aus einem achtstufigen Schie­ beregister (FF 7 bis FF 0), in dem die Eingabe in alle Stufen mit Ausnahme der ersten die Modulo-2-Addition des Inhaltes der Schieberegisterstufe und des Syndrommodifikationssignales ist, das aus der Leiteinrichtung 22 (Syndrommodifizierer) abgeleitet wird. Dieses Leiteinrichtung gibt ein Fehlerkorrektursignal e m(j), das über die Bahn 601 erhalten wird, weiter an die Antivalenzglieder des Schieberegisters 24 verteilt nach den entsprechend be­ tätigten Fehlerzeigern (Hinweissignalen) J₁ bis J₇. In ähnlicher Weise wird der Inhalt der Schieberegisterstufen FF 1 bis FF 0 des Syndromprozessors 24 durch die Leitein­ richtung 26 verteilt, gesteuert durch den anderen Feh­ lerzeiger I₀ bis I₇.
Alle verschobenen Werte von 0 bis 7 des diagonalen Syn­ droms Sd m+1 werden durch die Schieberegisterstufen FF 7 bis FF 0 und die zugehörigen UND-Glieder der Leiteinrich­ tung 26 ausgegeben. Ein jeweils zwei benachbarte Stufen des Schieberegisters im Prozessor 24 koppelndes Antiva­ lenzglied modifiziert die gespeicherten Syndromwerte mit dem Fehlersignal vom vorhergehenden Zyklus, wenn die Syn­ dromwerte in ihre neunen Positionen verschoben werden. Während jedes Zyklus wird für jedes in das Register 23 eingesetzt Byte ein Bit aus diesem Register ausge­ schoben und geht in die erste Stufe FF 7 im Register 24. Wie in der Leiteinrichtung 26 gezeigt, überträgt das UND-Glied 605 den Wert Sd m+i als Korrektursignal nur, wenn zwei fehlerhafte Kanäle korrigiert werden, und zwar durch Betätigung des UND-Gliedes 605. Dieses Signal Sd m+i wiederum wird antivalent mit dem Syndrom Sv m am Eingang 63 verknüpft, das aus der vertikalen Parität abgeleitet ist, und wird auf die Bahn 601 angelegt. Wenn nur ein einziger Kanal korrigiert wird, braucht natürlich die Modifikation über die Bahn 601 und die Leiteinrichtung 22 nicht durchgeführt zu werden, um das im Syndrompro­ zessor 24 enthaltene Syndrom zu modifizieren. Die Korrek­ tur eines einzigen Kanales benötigt nur das Korrektur­ signal e m(i) über die Bahn 29 zum Fehlerkorrektor 27.
I und J stellen Zeiger zur Bezeichnung von höchstens zwei fehlerhaften Kanälen dar. Diese Zeiger sind entweder extern abgeleitet oder werden intern erzeugt. Die interne Er­ zeugung von Zeigern wird anschließend beschrieben.
KANALFEHLERZEIGERLOGIK
i-te Kanal
j-te Kanal
I₀ = P
J₈ = P
I₁ = P J₇ = P
I₂ = P J₆ = P
I₃ = P J₅ = P
I₄ = P J₄ = P
I₅ = P J₃ = P
I₆ = P J₂ = P
I₇ = P J₁ = P
In Tabelle 1 ist die Beziehung zwischen den Zeigern I und J und den Bool′schen Variablen P₀, P₁, P₂, . . ., P₈ gezeigt worin:
P k = 1 heißt k-ter Kanal fehlerhaft
P k = 0 heißt k-ter Kanal nicht fehlerhaft
0 k 8
Sowohl Syndromerzeugung als auch Fehlerkorrektur sind kontinu­ ierliche Prozesse. Bytes B₀, B₁, . . ., B m, B m+1 . . . werden nacheinander in den Syndrom­ generator 23 eingeschoben. e(i) und e₀(j) erscheinen, wenn B₈ eingegeben wird. Im allgemeinen werden e(i) und e(J) an den Fehlerkorrektor 27 angelegt, wenn B m+8 in den Syndromgenerator 23 eingegeben wird.
Erzeugung des ersten Kanalfehlerzeigers durch logische Einrich­ tungen
Der Index j des ersten fehlerhaften Kanals kann durch Aufsu­ chen des niedrigsten Wertes von m und j bestimmt werden, für die die Gleichung 21 gilt. Diesen Wert kann man durch logische Einrichtungen oder Zähler finden. In Tabelle 2 ist die Bezie­ hung zwischen den vertikalen und diagonalen Syndromen in her­ kömmlicher Boll′scher Relation gezeigt, die den kleinsten Wert j so findet, daß
Sv m = 1 und Sd m+j = 1
Ein mit Zählern arbeitendes Verfahren wird später in Verbin­ dung mit den allgemeineren Fall von T+1 Spuren beschrieben.
TABELLE 2
FEHLERZEIGER UND SYNDROMBEZIEHUNGEN
Sv m ist in Tabelle 2 und an anderer Stelle das m-te verti­ kale Paritätsprüfsyndrom und Sd m+i des (m+1)te diagonale Pari­ tätsprüfsyndrom.
Korrektur von drei Kanälen mit Kanalfehlerzeiger
Zur Decodierung wurde angenommen, daß Fehler auf höchstens drei als fehlerhaft bekannte Kanäle beschränkt sind, die durch die Ka­ nalfehlerzeiger i, j und k identifiziert sind, wobei i die kleinste und k die höchste Kanalnummer unter den fehlerhaften Ka­ nälen zwischen 0 und T ist. Kanal j ist der verbleibende feh­ lerhafte Kanal, so daß entweder i<j<k oder j = T+1 ist.
Wenn angenommen wird, daß alle Fehler bis zur Bitposition (m-1) in jedem Kanal korrigiert und die Syndromgleichungen an alle korrigierten Muster angepaßt wurden, dann kann gezeigt werden, daß das Fehlermuster der fehlerhaften Kanäle in der Position m bestimmt werden kann aus den Syndromen Sd m+i , Sd - m+T-k und Sv m. Die Gleichungen für diese Syndrome können abgeleitet werden aus den Gleichungen (A11), (A12) und (A13). Bei Elimination der den fehlerfreien Kanälen und den korrigierten Mustern bis zu den Positionen (m-1) entsprechenden bekannten Nullfehlermustern, lassen sich die Syndromgleichungen neu schreiben als:
Sd m+i = e m(i) (A14)
Sd - m+T-k = e m(k) (A15)
Sv m = e m(i) ⊕ e m(j) ⊕ e m(k) (A16)
Die Gleichungen (A14), (A15) und (A16) ergeben die Fehlermu­ ster:
e m(i) = Sd m+i (A17)
e m(k) = Sd - m+T-k (A18)
e m(j) = Sv mSd m+i Sd - m+T-k (A19)
Die Fehler in den m-ten Positionen können wie folgt korrigiert werden:
Z m(i) = m(i) ⊕ e m(i) (A20)
Z m(j) = m(j) ⊕ e m(j) (A21)
Z m(k) = m(k) ⊕ e m(k) (A22)
Wenn nur zwei Kanäle fehlerhaft sind, dann kann jedem fehler­ freien Kanal ein Kanalfehlerzeiger zur Verarbeitung nach obi­ gem Algorithmus zugeordnet werden. Das resultierende Fehler­ muster für diesen fehlerfreien Kanal muß Null sein. Damit hat man eine weitere Prüfung von Fehlkorrekturen.
Bevor mit der Korrektur in der nächsten Position fortgefahren wird, müssen die durch diese Korrekturen betroffenen Syndrome modifiziert werden (insbesondere diejenigen, die später noch benutzt werden). Die Modifikation ist durch einen Pfeil vom vorher errechneten Wert eines Syndroms (mit seiner Modifika­ tion) zu seinem neuen Wert dargestellt:
Sd - m+T-i Sd - m+T-i e m(i) (A23)
Sd m+k Sd m+k e m(k) (A24)
Sd m+j Sd m+j e m(j), wenn j<T+1 (A25)
Sd - m+T-j Sd - m+T-j e m(j), wenn j<T+1 (A26)
Jetzt kann das obige Korrekturverfahren auf die nächste Bitpo­ sition angewandt werden, indem man den Wert von m um 1 erhöht.
Auftreten und Benutzung von Zeigern
Zeiger können extern abgeleitet oder intern erzeugt werden. Zur Ableitung externer Zeiger ist im allgemeinen eine Form der analogen Abfüllung der Wiedergabebedingung der auf einem Ka­ nal aufgezeichneten Daten erforderlich. Einzelheiten dieser Art gehen über den Rahmen der vorliegenden Erfindung hinaus. Wenn externe Zeiger nicht vorhanden sind, sind nach der Erfin­ dung auch Einrichtung zur Erzeugung eines oder mehrerer in­ terner Zeiger für die Fehlerkorrektur, ebenso wie beim Vorhan­ densein von externen Zeigern vorgesehen.
Es sei angenommen, daß ein Datensatz zur späteren fehlerfreien Wiedergabe auf ein Magnetband geschrieben wird. Wenn das Band gestartet ist und der Datensatz bei m=0 liegt, kann man an­ nehmen, daß keine Fehler vorliegen und alle Zeiger aus sind. Wenn nach einer bestimmten Zeit in einem der Kanäle ein Fehler auftritt und kein externer Zeiger zur Bezeichnung des fehler­ haften Kanales gesetzt wurde, muß ein erster interner Fehler­ zeiger zur Identifizierung des Kanales erzeugt werden.
Wenn der erste interne Zeiger einmal erzeugt ist, müßte er zur Korrektur von Fehlern in dem bezeichneten Kanal solange fest­ gehalten werden, wie die Wiedergabe dauert. Eine solche Zuord­ nung eines Zeigers kann natürlich die Korrekturkapazität des Systems über Gebühr einschränken. Das gilt besonders, wenn in dem bezeichneten Kanal kein Dauerfehler vorliegt. In einigen Systemen ist es daher vorgesehen, einen Zeiger zu löschen, wenn in einem vorgegebenen Intervall nach dem ersten Erkennen eines Fehlers kein weiterer Fehler auftritt.
In diesem hypothetischen Beispiel ist das Auftreten eines Feh­ lers in einem Kanal angenommen worden. Die Kanalidentität wird entweder durch einen externen oder einen internen ersten Zei­ ger festgehalten. Daraus folgt, daß das Erkennen eines ersten fehlerhaften Kanales innerhalb der Korrekturmöglichkeit des Systems liegt. Weiterhin wird der erste Zeiger für die Korrek­ tur von Fehlern in dem bezeichneten Kanal eingeschaltet gehal­ ten. Wenn in einem anderen Kanal ein weiterer Fehler auftritt, kann dies ebenfalls durch einen zweiten Zeiger angezeigt werden, der Zeiger zu einem dritten fehlerhaften Kanal kann jedoch nur extern erzeugt werden.
Der erste interne Zeiger wird also eingeschaltet, wenn andere Zeiger fehlen. Ein zweiter interner Zeiger kann intern nur ak­ tiviert werden, wenn ein erster Zeiger existiert. Der zweite interne Zeiger wird ohne Rücksicht darauf erzeugt, ob der erste Zeiger intern oder extern generiert wird.
Obwohl die internen Zeiger für die zuverlässigsten gehalten werden, können höchstens zwei der drei im System des vorgezo­ genen Ausführungsbeispieles verfügbaren Zeiger intern erzeugt werden. Auch können zwei interne Zeiger nicht gleichzeitig er­ zeugt werden, weil der zweite interne Zeiger die Existenz ei­ nes ersten bekannten Zeigers als Vorbedingung voraussetzt. Die Erzeugung interner Zeiger nutzt hierin den Vorteil der den Kanal erfassenden diagonalen und der vertikalen Paritätsprüfungen.
Erzeugung der Zeiger für den ersten und zweiten fehlerhaften Kanal
Wenn Zeiger auf fehlerhafte Spuren fehlen, wird angenommen, daß Fehler auf nur eine Spur beschränkt sind. Diese fehlerhaf­ te Spur kann identifiziert und die Fehler können korrigiert werden.
Ein von Null verschiedenes Muster in der m-ten Position einer Spur wird durch ein von Null verschiedenes Syndrom Sv m für die vertikale Paritätsprüfung bezeichnet. Wenn angenommen wird, daß dieser Fehler in der Spur mit dem unbekannten Index j liegt und andere Spuren fehlerfrei sind, dann ergibt sich aus den Gleichungen (A11) und (A12).
Sv m = e m(j) = 1 (A27)
Sd m+j = e m(j) = 1, wenn jT+1 (A28)
Der Index j ist die kleinste ganze Zahl zwischen 0 und T, so daß
Sd m+j = Sv m = 1 (A29)
Wenn Sv m=1 und Sd m+j=0 für alle j von 0 bis T, dann ist j=T+1.
In Fig. 6a ist ein erster Fehlerzeigergenerator gezeigt, von dem man einen Index eines ersten fehlerhaften Kanales beim Feh­ len von anderen Zeigern erhält. Der Generator besteht aus ei­ nem Paar Verriegelungen 401 und 407, die einen Abwärts- Ring­ zä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 m+T und Sv m an. Wenn Sd m+T = 1, wird die Verriegelung 401 verriegelt und die Zahl im Zähler 405 = T gesetzt. Für jeden Wechsel in der Bitposition m im Kanal wird der Zählerinhalt um 1 erhöht. Wenn aber im Gegen­ satz dazu Sv m = 1 ist, wird die Verriegerlung 407 verriegelt und der Zähler 405 gestoppt. Der Wert im Zähler an dieser Ver­ bindung stellt den Zeiger j dar. Für den Sonderfall, in dem die Verriegelung 407 vor der Verriegelung 401 verriegelt wird, ist der Zählerindex j = T+1.
Das vorgezogene Ausführungsbeispiel des Generators für den zwei­ ten Fehlerzeiger besteht aus Zählern, die von verschiedenen Syndromen gespeist werden.
In Fig. 6b ist ein zweiter Fehlerzeigergenerator gezeigt, der zum Einsatz kommt, wenn der erste Zeiger auf einen anderen Ka­ nal gerichtet, als auf den Kanal T+1. Der Generator besteht aus ein Paar Ringzählern 405 und 406, die entsprechend an den Ausgängen 415 und 417 die Zeiger i und j ausgeben. Die Verrie­ gelung 401 verriegelt den Abwärts-Ringzähler 405 auf den Wert j, während die Verriegelung 407 den Aufwärts-Ringszähler 406 ebenfalls auf dem Wert j verriegelt. Stopf- und Ausgabesignale wer­ den über eine gemeinsame Bahn an beide Ringzähler gegeben, wenn das UND-Glied 413 durch die Verriegelung beider Verrie­ gelungen betätigt wird. Der Ausgang 427 des UND-Gliedes 411 zeigt das Verriegeln des zweiten Zeigers auf den Wert j = T+1 nur an, wenn gleichzeitig die Ausgänge der Antivalenzglieder 423 und 425 nicht übereinstimmen. In diesem Fall wird durch die Diskrepanz der Eingänge Sv m und Sd m+j auf den Bahnen 75 und 63 zum Antivalenzglied 423 die Verriegelung 401 verriegelt, während bei einer Diskrepanz der Eingänge Sv m und Sd m+T-j auf der Bahn 71 und 63 zum Antivalenzglied 425 die Verriegelung 407 verriegelt, wird.
In Fig. 6c ist ein zweiter Fehlerzeigergenerator gezeigt, der zum Einsatz kommt, wenn der erste Fehlergenerator auf den Kanal T+1 gerichtet ist. Dadurch soll ein zweiter Zeiger i geschaffen werden, wenn der erste Zeiger j = T+1 gegeben ist. Der Generator besteht aus einem Aufwärts-Ringzähler, der durch die Verriegelung 427 auf 0 gesetzt wird, wenn der Eingang Sd - m+T 1 erhöht wird. Am Anfang wird i auf 0 gesetzt und folgt dann dem Wert des Zählers. Durch Sd m+i = 1 wird der Zähler gestoppt, wobei die Zahl gleich dem Zeigerindex ist.

Claims (3)

1. Einrichtung zur Fehlerkorrektur in einem Vielkanal- Speichersystem (z. B. Magnetband-Speichersystem) mit vertikal zu den Kanälen abgespeicherten Daten­ bytes Bm, welche in Richtung der Kanäle abgetastet werden,
mit einem vertikal zu den Kanälen, und mit minde­ stens einem diagonal zu den Kanälen bei der Abspei­ cherung der Datenbyts erzeugtem und in einem zuge­ ordneten Kanal abgespeicherten Paritätsbit und mit Erzeugung eines vertikalen (Sv) und eines diagonalen (Sd) Syndrombits durch Erzeugung entsprechender Paritätsbits beim Auslesen der Datenbytes und Ver­ gleich mit den abgespeicherten Paritätsbits, zur Korrektur eines Einzelfehlers und zur Korrektur von zwei Fehlern pro Datenbyte, sofern Hinweise auf zwei fehlerhafte Kanäle (i, j) vorliegen,
mit einem aus bistabilen Stufen und jeweils zwischen zwei Stufen angeordneten und den Kanälen zugeordne­ ten Exklusiv-ODER-Gliedern zur schrittweisen Er­ zeugung der diagonalen Syndrombits, dadurch gekenn­ zeichnet,
daß ein Syndromprozessor (24) vorgesehen ist, welcher ein Schieberegister enthält, dessen bistabile Stufen (FF 7 bis FF 0) den Kanälen zugeordnet und jeweils über ein Exklusiv-ODER-Glied miteinander verbunden sind,
daß der Ausgang der bistabilen Stufen (FF 7 bis FF 0) auch mit jeweils dem ersten Eingang eines zugeordne­ ten UND-Gliedes einer Leiteinrichtung (26) verbun­ den ist, und die Ausgänge all dieser UND-Glieder über ein ODER-Glied, das diagonale Syndromsignal Sd m+i (Leitung 75) und ein Fehlersignal (e m(i)) (Leitung 29) erzeugen, das die Korrektur des Datenbits im Byte m und im Kanal i gestattet und ein weiterer Eingang der Exklusiv-ODER-Glieder mit dem Ausgang jeweils eines einem entsprechenden Kanal zugeordneten UND-Gliedes eines Syndrom­ modifizierers (22) verbunden ist,
daß der zweite Eingang der UND-Glieder der Leit­ einrichtung (26) mit einem zu dem entsprechenden Kanal gehörenden ersten Hinweissignal (I 1 - I 7), das ein Fehler in diesem Kanal anzeigt, verbun­ den ist,
daß das Fehlersignals (e m(i)) über ein UND-Glied (605) zu einem Exklusiv-ODER-Glied weitergeleitet wird, wenn bereits vorher mit Hilfe von Syndrom- und/oder Hinweissignalen zwei fehlerhafte Spuren festgestellt worden waren,
daß ein weiterer Eingang dieses Exklusiv-ODER- Gliedes das zum Byte m gehörende vertikale Syn­ drombit Sv m empfängt und der Ausgang dieses Exklu­ siv-ODER-Gliedes ein zweites Fehlerkorrektursignal (e m(j)) zu einem zweiten Kanal (j) erzeugt, das dem ersten Eingang der UND-Glieder des Syndrommodifi­ zierers (22) zugeführt wird, wobei der zweite Ein­ gang dieser UND-Glieder mit je einem zweiten Hin­ weissignal (J 1 - J 7) verbunden ist, das einen Feh­ ler in dem zugeordneten Kanal anzeigt,
daß schließlich das jeweils in einem Schritt er­ zeugte diagonale Syndrombit (Sd) der Eingangsstufe (FF 7) des Schieberegisters zugeführt und das Schieberegister um eine Stufe verschoben wird,
derart, daß das zweite Fehlerkorrektursignal (e m(j)) zusammen mit dem entsprechenden zweiten Hinweissig­ nal (J 1 - J 7) eine Umkehr des betreffenden diagonalen Syndrombits (Sd) gestattet, so daß die Prüfung weiterer Datenbyts (Bm+1, Bm+2, etc.) und die Korrektur von Fehlern in zwei Kanälen (i, j) dieses Bytes ermöglicht wird.
2. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Hinweissignale auf fehlerhafte Kanäle extern durch Feststellung von analogen Fehlern der Daten­ signale (Phase, Amplitude, etc.) und/oder intern aus den Syndrombits erzeugt werden.
3. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß Syndrombits für beide Diagonalen (positive und negative Neigung, Fig. 2D) erzeugt werden.
DE19792908373 1978-03-07 1979-03-03 Einrichtung zur codierung und decodierung von pruefbits Granted DE2908373A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/884,463 US4205324A (en) 1977-12-23 1978-03-07 Methods and means for simultaneously correcting several channels in error in a parallel multi channel data system using continuously modifiable syndromes and selective generation of internal channel pointers

Publications (2)

Publication Number Publication Date
DE2908373A1 DE2908373A1 (de) 1979-09-20
DE2908373C2 true DE2908373C2 (de) 1989-05-11

Family

ID=25384679

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19792908373 Granted DE2908373A1 (de) 1978-03-07 1979-03-03 Einrichtung zur codierung und decodierung von pruefbits

Country Status (4)

Country Link
JP (1) JPS54118748A (de)
DE (1) DE2908373A1 (de)
FR (1) FR2419543B1 (de)
GB (1) GB2016178B (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2061575B (en) * 1979-10-24 1984-09-19 Matsushita Electric Ind Co Ltd Method and apparatus for encoding low redundancy check words from source data
JPS57183609A (en) * 1981-05-07 1982-11-12 Victor Co Of Japan Ltd Magnetic recording system of digital signal
CA1212437A (en) * 1983-03-04 1986-10-07 Radyne Corporation Data transmission system with error correcting data encoding
GB2149156B (en) * 1983-11-04 1987-10-21 Gen Electric Co Plc A method of encoding and decoding
JPH07107781B2 (ja) * 1986-02-24 1995-11-15 松下電器産業株式会社 Ramのアドレス信号発生回路
US4908826A (en) * 1988-01-05 1990-03-13 Digital Equipment Corporation Stored data error correction system
JP2003317400A (ja) * 2003-02-14 2003-11-07 Fujitsu Ltd 磁気テープ装置の制御装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3387261A (en) * 1965-02-05 1968-06-04 Honeywell Inc Circuit arrangement for detection and correction of errors occurring in the transmission of digital data
FR1580315A (de) * 1968-05-27 1969-09-05
BE757116A (fr) * 1969-10-29 1971-03-16 Honeywell Inc Procede et dispositif de codage de segments de codes de controle
US3958220A (en) * 1975-05-30 1976-05-18 International Business Machines Corporation Enhanced error correction
US4044328A (en) * 1976-06-22 1977-08-23 Bell & Howell Company Data coding and error correcting methods and apparatus
US4201976A (en) * 1977-12-23 1980-05-06 International Business Machines Corporation Plural channel error correcting methods and means using adaptive reallocation of redundant channels among groups of channels

Also Published As

Publication number Publication date
GB2016178B (en) 1982-05-06
JPS6343833B2 (de) 1988-09-01
JPS54118748A (en) 1979-09-14
GB2016178A (en) 1979-09-19
DE2908373A1 (de) 1979-09-20
FR2419543B1 (fr) 1986-08-22
FR2419543A1 (fr) 1979-10-05

Similar Documents

Publication Publication Date Title
DE2853892C2 (de)
DE3125048C2 (de)
DE112011100371B4 (de) Verfahren, Vorrichtung und Computerprogrammprodukt zum Decodieren eines Codeworts
DE2421112C2 (de) Speicheranordnung
DE68920523T2 (de) Verfahren zur Korrektur von Mehr-Byte-Fehlern.
DE2357004C3 (de) Verfahren und Einrichtung zur Fehlerkorrektur für Daten
DE3853206T2 (de) Verfahren und gerät zur byteschreibfehlerkodierung.
DE3124425C2 (de) Verfahren und Vorrichtung zu Fehlererkennung und Fehlerkorrektur
DE2060643C3 (de) Schaltungsanordnung zur Korrektur von Einzelfehlern
DE3854393T2 (de) Verfahren und gerät zur fehlerkorrektur mit mehrfachdurchlauf für produktkode.
DE2427463C3 (de)
DE2430464A1 (de) Einrichtung zur fehlergesicherten datenuebertragung
DE2260850A1 (de) Fehlerkorrektursystem
DE3040004A1 (de) Verfahren und vorrichtung zum codieren von pruefworten geringer redundanz aus ursprungsdaten
DE3787034T2 (de) Digitale Signalfehlerkorrektur.
DE2622184A1 (de) Fehlerkorrekturverfahren
DE112016003638B4 (de) Auf eine Decodierung folgende Fehlerprüfung mit Diagnose für Produktcodes
DE2914515A1 (de) Verfahren und vorrichtung fuer ein wirksames fehlerentdeckungs- und korrektursystem
DE69814465T2 (de) Verfahren und gerät zur datenspeicherung auf magnetischen medien, die fehlerkorrekturkodes enthalten
DE2263488C2 (de) Einrichtung zur Erkennung und Korrektur von Fehlern in zwei fehlerbehafteten Spuren eines Vielspur-Datensystems
DE2364788A1 (de) Verfahren und vorrichtung zur fehlerkorrigierenden datenuebertragung oder -speicherung
DE2157829C2 (de) Anordnung zum Erkennen und Korrigieren von Fehlern in Binärdatenmustern
DE2341952A1 (de) Verfahren und vorrichtung zur datenpruefung
DE2123769A1 (de) Verfahren zur Verbesserung von Fehlerkorrektion in einem signalverarbeitenden System
DE2320354C2 (de) Schaltungsanordnung zur Erkennung und Korrektur von Fehlern in Bitgruppen

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8128 New person/name/address of the agent

Representative=s name: KINDERMANN, M., PAT.-ASS., 7030 BOEBLINGEN

D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee