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
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1833—Error 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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)
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+i ⊕ Sv m (15)
e m(j) = Sd m+i ⊕ Sv 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)
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+j ← Sd m+j ⊕ e 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.
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)
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+j ← Sd m+j ⊕ e 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.
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
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.
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.
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.
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)
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 m ⊕ Sd⁺ m+i ⊕ Sd - m+T-k (A19)
e m(k) = Sd - m+T-k (A18)
e m(j) = Sv m ⊕ Sd⁺ 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)
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)
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.
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.
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 j ≠ T+1 (A28)
Sd⁺ m+j = e m(j) = 1, wenn j ≠ T+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.
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.
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)
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)
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 |
-
1978
- 1978-12-14 JP JP15378378A patent/JPS54118748A/ja active Granted
-
1979
- 1979-01-25 FR FR7902411A patent/FR2419543B1/fr not_active Expired
- 1979-03-03 DE DE19792908373 patent/DE2908373A1/de active Granted
- 1979-03-05 GB GB7907745A patent/GB2016178B/en not_active Expired
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 |