DE2357971A1 - Verfahren zum codieren und decodieren von daten zur korrektur von dreifachfehlern - Google Patents
Verfahren zum codieren und decodieren von daten zur korrektur von dreifachfehlernInfo
- Publication number
- DE2357971A1 DE2357971A1 DE2357971A DE2357971A DE2357971A1 DE 2357971 A1 DE2357971 A1 DE 2357971A1 DE 2357971 A DE2357971 A DE 2357971A DE 2357971 A DE2357971 A DE 2357971A DE 2357971 A1 DE2357971 A1 DE 2357971A1
- Authority
- DE
- Germany
- Prior art keywords
- byte
- bytes
- sri
- error
- equations
- 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.)
- Pending
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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
Verfahren zum Codieren und Decodieren von Daten zur Korrektur von Dreifachfehlern
Es ist bekannt,- in Datenverarbeitungssystenen Daten so zu
codieren, daß Fehler erkannt werden können, wenn die Daten innerhalb des Systems übertragen und vielleicht auf einem
Speicherir.edium, wie z.B. einem Magnetband aufgezeichnet v/erden.
Bei Magnetbändern besteht jedoch ein zunehmendes Risiko für mehr als zwei fehlerhafte oder gar gelöschte Spuren, je
geringer der Spurabstand und je größer die Aufzeichnungsdichte wird. Die vorliegende Erfindung befaßt sich mit einem Fehlerkorrektursystem,
das in der Lage ist, bis zu drei Spuren zu korrigieren, in denen Fehler oder gelöschte Stellen auftreten.
Fehler, die in weniger als drei Spuren auftreten, können ebenfalls
korrigiert werden.
Dazu v/erden in bekannter Weise Prüf bytes erzeugt, die voneinander
unabhängig aber von der Information abgeleitet sind. Die charakteristischen Eigenschaften der Prüfbytes haben eine
andere mathematische Struktur als die der Informationsbytes. Wenn Fehler in verschiedenen Kombinationen aus der Prüfbytespur
und einer Informationsspur auftreten, wird daher eine Anzahl
von Sonderfällen geschaffen, die separat behandelt werden müssen. Wenn man dieses Grundkonzept von zwei auf drei Spuren
40S822/1063
ausdehnt, wird die Anzahl der bei der Decodierung erhaltenen und separat zu behandelnden Sonderfälle für die Prüfbytes und Informationsbytes
stark erhöht und daher v/erden entweder der zur Decodierung und Korrektur notwendige Schaltungsaufwand und die
Zeit stark erhöht oder es sind Sonderprograipjnroutinen für die
Analyse und schließliche Korrektur erforderlich.
Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren zum Codieren und Decodieren von Daten durch ein Datenverarbeitungssystem zwecks Korrektur von Dreifachfehlern anzugeben, das Prüf-bytes
liefert, die, derart mit Inforoationsbytes kombiniert werden,
daß beim Decodieren die beiden Bytearten sich nicht voneinander unterscheiden und keine Sonderfälle aufgrund einer unterschiedlichen
liatur von Prüf- und Inforraationsbytes geschaffen werden.
Die Aufgabe der Erfindung wird gelöst durch ein Verfahren der
vorher genannten Art, das durch folgende Verfahrensschritte bein. Codieren gekennzeichnet ist:
a) Serielles Verarbeiten der zu codierenden Eytes, beginnend
rait aera Byte Z(K-I);
b) Erzeugung von Prüfbytes ZO, Sl und Z2 in den folgenden
Teilschritten.
1. Anfängliche Hatrixmultiplikation des ersten aus den im
Schritt a)empfangenen Bytes mit den Matrizen
Τ3λ, ϊλ(ΙΦΤλΦΤ2λ) und (ΙΘΤλΘΤ2λ) zur Bildung des
ersten einer Reihe von Produkten Pl, P2 und P3;
2. Anschließende Modulo--2 -Addition eines jeden Byte zu
jedem Produkt P3, das vor einer solchen Addition existierte, zur Bildung einer Reihe von Sunraen S;
3. Matrixinultiplikation einer jeden Summe S mit den im
Teilschritt bl erhaltenen ?!atrizen zur Eildung von drei Ergebnissen, von denen das erste Ergebnis ein
neues Produkt Pl bildet;
4. Modulo-2-Addition des zweiten Ergebnisses zum
alten ?rodu3ct Pl zur Bildung eines neuen Produktes P2,
po 972 005 409822/ 108 3
BAD ORiGWAL
5. Modulo--2~Addition des dritten Ergebnisses zum alten
Produkt P2 zur Bildung eines neuen Produktes P3; wodurch bei Verarbeitung des Byte Z3 gemäß den Teilschritten
(2-5) die Produkte Pl, P2 und P3 entsprechend die Prüf bytes SO7 Σ1 und S 2 bilden,·
c) Korabination der PrüfLytes r.it den Informationsbytes zur
3ildung eines Codewortes, wobei die Matrizen und Bytes zueinander in Beziehung stehen und jedes Byte f Bits enthält, wo f=bmf fr'h und m ganze Zahlen, K eine ganze Zahl
3 < K < 2h r T eine Begleitmatrix vom Grade f,
A=r (2"""--I)/(2 --1) , r eine positive ganze Primzahl zu 2 -1
und I eine Einheitsraatrix sind»
Ein Ausführungsbeispiel der Erfindung wird in Verbindung mit den Zeichnungen anschließend näher beschrieben, von denen zeigen;
Fig. 1 schematisch die allgemeine Datenanordnung auf
einem Magnetband,
Fig. 2 schematisch eine Datenverarbeitung zur Er
läuterung des allgemeinen Verfahrens der Erfindung und Erklärung bestimmter in der
Beschreibung benutzter Zeichen,
Fig. 3 in einem Ablaufdiagramm die allgemeinen Schritte
des die Erfindung enthaltenen Prozesses,
Fig. 4 das Blockschaltbild eines Gerätes zur Erzeugung
von Prüfbytes und zur Bildung eines Codewortes,
Fig. 5 das Blockschaltbild des Prüfbytegenerator,
Fig. 6 ein detaillierteres Blockschaltbild des in
Fig. 5 gezeigten Prüfbytegenerators,
Fig. 7 drei Matrizen zum besseren Verständnis der
po 972 005 409822/1063
BAD ORfGfNAL
in Fig. 6 gezeigten Spezialverdrahtung,
Fig. 3 das Blockschaltbild eines Gerätes für die
Syndromerzeugung,
Fign. 9-11 detailliertere Blockschaltbilder der in Fig. 3
gezeigten Schieberegister und
Fig. 12 zwei Matrizen zum Verständnis der in den
Schaltungen nach den Pign. IO und 11 vorgenommenen
Verdrahtungen.
Fig. 1 zeigt allgemein die Datenanordnung von auf einem Band
aufgezeichneter Information. Ein Magnetband 10 hat K parallele Spuren, in denen Information aufgezeichnet wird. Information
in einer Spur ist in ein Codevzort gruppiert, welches aus K Bytes Z besteht. Jedes Byte hat dieselbe Nummer wie die Spur,
in der es steht. Außerdem besteht jedes Byte Z aus f Bits Z (0) bis Z (f-1). Ein Codewort umfaßt also K Bytes Z aus je f Bits.
Nach der Erfindung sind mindestens vier Spuren vorhanden, davon drei Prüf spuren und eine Inforiuationsspur, wodurch die Erfindung
die Möglichkeit schafft, ausgelöschte Stellen zu korrigieren, die in bis zu drei Spuren auftreten können. Für die meisten praktischen
Anwendungen wird jedoch mehr als eine Informationsspur benötigt und somit gibt es im anschließend beschriebenen spezifischen
Ausführungsbeispiel 12 Informationsspuren 3-14, die für die Aufnahme von Inforrnationsbyt.es Z3 -Z14 vorgesehen sind. In die sem
Ausführungsbeispiel, welches auf dem Band 10a gezeigt ist, hat jedes Byte Z acht Bits und somit stellt das spezifische Ausführungsbeispiel
einen aligemeinen Fall dar, in dem f=8 und K=I5 sind.
Fig. 2 zeigt ein allgemeines Ablaufdiagramm für den Datenfluß.
Am Anfang des Prozesses werden Informationsbytes Z3--Z14 als
Eingabedaten für den Codierprozeß geliefert, Während der Codierung
PO 972 005 409322/106 3
BAD ORKaIMAL
ir
v/erden die Prüf bytes ZO-Z 2 erzeugt und den Informationsbytes
Z3-Z14 zur Bildung der codierten Daten oder des Codewortes zugefügt.
Danach werden diese Daten einer bestimmten Form der Umsetzung unterworfen. Sie können z.B. erst auf ein Band geschrieben
und dann von dort gelesen werden, oder sie können nur in eine andere Form eines Datenspeichers gesetzt werden oder sie können
von einer Datenverarbeitungseinheit zu einer anderen übertragen v/erden. In jedem Fall besteht die Ausgabe des Datenumsetzungsschrittes
aus den Eingabedatenbytes Z0'-Z14' für die Decodierung.
In dieser Form können die Daten bereits Fehler enthalten. Es folgt
der Decodierprozeß und die Fehler werden zur Bildung der korrigierten
Datenbytes ZOir-Zl4" korrigert. An diesem Punkt der Verarbeitung
können die korrigierten Daten die Prüfbytes Z0"--Z2" beibehalten oder die Originaleingabeinformationsbytes Z3"-Z14'*
können zur Benutzung herausgezogen werden.
Das Ablaufdiagramm in Fig. 3 zeigt allgemein das Verfahren nach
der Erfindung. Im ersten Schritt 12 werden die Informationsbytes Z3-Z14 als Eingabe für die nachfolgenden Codierschritte
zugeführt. Aus den Informationsbytes werden im Schritt 13 die Prüfbytes ZO-Z2 erzeugt und dann im Schritt 14 zur Bildung
des Codewortes Z0-Z14 kombiniert. Dieses Codewort wird dann im Schritt 15 irgendwie umgesetzt, z.B. auf einem Ilagnetband
in parallelen Spuren aufgezeichnet und später von diesem Band gelesen. Die umgesetzten Daten dienen im Schritt 16 als Eingabedaten
für die Decodierschritte. Während der Umsetzung werden im Schritt 17 die Hinweissignale i, j und k erzeugt., die auf
die fehlerhaften Spuren oder Bytes hinweisen. Aus den Decodiereingabedaten werden dann im Schritt 18 die Syndrome S0-S2 erzeugt. Die kombinierten Ausgangssignale der Schritte 16 f 17 und
18 dienen dann als Eingabe für eine Fehleranalyse 20, die abhängig von den verschiedenen Einzelbedingungen einen Fehlerkorrekturschritt
21 bei einer von drei verschiedenen Fehlerbedingungen beginnt, die etwas unterschiedliche Korrekturverfahren
erfordern. Die Ausgangssignale des FehlerkorrekturSchrittes
21 bestehen entweder aus den korrigierten Daten ZQ"-Zl4" oder
po 972 0O5 409822/106 3
aus einem Signal E, welches das Vorliegen eines nicht korrigierbaren
Fehlers anzeigt.
Zunächst werden allgemeine mathematische Beziehungen für die
Erzeugung von Codiersyndromen und für die Fehlerkorrekturverfahren
erklärt.
Das Codewort für den allgemeinen Fall wird aufgebaut aus Z3-Z (K-I), wo 2O-Z2 erzeugt v/erden und die folgenden Beziehungen
erfüllen;
ZO Θ Zl Φ Z2 Θ Z(E-I) =0 (1)
ZO ® Ζ1Τλ Θ Ζ2(Τλ)2 —- Φ Z(K-I) (Τλ)Κ 1 = O (2)
ZO Φ ZlT Λ φ Ζ2(Τ ) Φ Z(K-I) (T ) =0 (3)
Die Syndrome S0-S2 werden nach folgenden Beziehungen erzeugt:
SO=ZO1 Φ Zl1 Φ Ζ21 Φ Φ Z(K-I)1 (4)
Sl=ZO1 θ Zl1T* θ Ζ2' (Τλ)2 θ Φ Z(K-I) ' (Τλ)Κ~1 (5)
S2=Z0' Φ Ζ1'Τ2λ Φ Ζ2'(ϊ2λ) Φ — θ Z(K-I)' (Τ2λ)Κ'λ (6)
In diesen Ausdrücken sind
Φ = rIodulo-2~Summe der entsprechenden Binärziffern
T = Begleitmatrix des binären primitiven Polynoms
g(x) des Grades f
λ = r (2f-l)/(2b-l) (7)
λ = r (2f-l)/(2b-l) (7)
r ist jede positive ganze Primzahl zu 2 -1 K ist eine ganze Zahl 3
< K < 2Ω
f = bm, worin m, b und f ganze Zahlen sind (8)
f = bm, worin m, b und f ganze Zahlen sind (8)
Aus diesem allgemeinen Fall gehen die Ausdrücke für das spezifische
Ausführungsbeispiel wie folgt hervor, ΐίβηη f=3 ist und
somit einem binären Vektor aus 8 benachbarten Bits entspricht und b=4 ist, dann kann K von 4 bis 15 reichen, vienn K=I5 ist,
ergibt sich dadurch eine Röchstzaal der Spuren für das acht Bit
PO 972 005 4 (Ϊ 8 8 2 2 / 1 Ö ß 3
große Eyte. Nach Gleichung (7) ist dann λ = 17r. Der Wert r kann
willkürlich gewählt werden, solange es sich um eine positive ganze Primzahl zu 2 -1 oder 15 handelt, wenn man für r jedoch
den Wert 4 wählt, ergeben sich daraus gemäß späterer Beschreibung gewisse Vorteile. Wenn r=4 ist, ist λ=68. Diese Zahlen von K=15
und λ=68 können dann in die Gleichungen 1-6 eingesetzt v/erden
und ergeben die spezifischen Ausdrücke, die sich auf ZO-Z2 und
SO--S2 für das spezifische Ausführungsbeispiel von 15 Bytes oder
Spuren von acht Bits beziehen. Das spezifische primitive Polynom des Grades f=3 ist
ι \ -ι· ■ 3 . 5 .
g(x) =l + x-hx +x +x
und die entsprechende Begleitmatrix ist
j~0 1 0 O O O 0 0~
0O1OOOO0
OOOIO-OOO T= 0 OO O 1 O O O
OOOOOIOO
OOOOOOIO jOOOOOOOl IllOlOlOO
Die Fign. 4-6 zeigen allgemein einen Codierer. Gemäß Darstellung in Fig. 4 enthält die Schaltung eine Eingangssammelleitung 30,
über die Datenbytes Z3-Z14 in einen Datenverteilungspuffer
gesetzt werden. Das System enthält einen Prüfbytegenerator 34, der
unter Benutzung der Bytes Z3-Z14 die Prüfbytes Z0-Z2 erzeugt. Die Prüfbytes werden in den Puffer 32 gesetzt und eine Äusgangssammelleitung
31 stellt die Codewortbytes ZO-Z14 für die Benutzung
oder die Umsetzung in der oben gezeigten Art zur Verfügung. Der Puffer 32 kann von bekannter Bauart sein und hat im speziellen
Ausführungsbeispiel eine Kapazität zur Speicherung von 15 acht Bit großen Bytes. Außerdem enthält das System die Torschaltungen 33 und 35 zur Steuerung des Byteflusses zum und
po 972 005 4098 22/ 1 OS
vom Generator 34. Kenn die Taktsteuerung 36 ein Startsignal
empfängt, erzeugt sie Taktiuipulse tO-tl5. Beim Impuls to wird
der Generator 34 auf I>iull gesetzt. Bein Impuls ti wird das
Byte Z14 in den Prüfbytegenerator gesetzt, wo es in der später
genauer beschriebenen Art verarbeitet wird. Bei den dann folgenden Taktimpulses t2-tl2 werden die Prüfbytes Z13-Z3 in den
Generator gesetzt, so daß zur Zeit ti2 die Prüfbytes ZO-Z2 .
im Generator 34 stehen. Danach v/erden bei den Taktimpulses tl3~tl5 die Prüfbytes Z2 -ZO in den Puffer 3 2 gesetzt, um dort
das Codewort zu bilden.
Fig. 5 zeigt schematisch die vom Prüfbytegenerator, der im
einzelnen in Fig. 6 gezeigt ist/ ausgeführten Funktionen. Der Generator 5 enthält ein Schieberegister mit den drei Stufen 40,
41 und 42, die die in den Additions- und 1-Jultiplikationsoperationen
erzeugten Produkte festhalten. Jede Stufe besteht aus konventionellen Speicherelementen zur Darstellung eines Byte
oder acht Informationsbits. Die Modulo-2-Addierer (Antivalenz glieder)
43-45 sind mit den Eingängen der Schieberegisterstufen und mit den Matrixmultiplikatoren 48-49 und 50 verbunden, die
auch mit MM1-MM3 bezeichnet sind. Ein weiterer Modulo -2--Addierer
46 ist mit dem Ausgang der Stufe 42 verbunden. Er empfängt als Eingabe die Bytes Z14-Z3 in dieser Reihenfolge bei den Taktsignalen
tl~tl2. Jedes hereinkommende Byte wird dann zum Z^usgangssignal
der Stufe 42 addiert und die Serie von Summen durch eine Torschaltung 47 während der Taktsignale tl-tl2 so geleitet,
daß sie an die Eingänge der Matrixmultiplikatoren gelangen und eine Reihe von drei Produkten erzeugen, die als Eingangssignale
an die Addierer 43-45 geleitet werden. Die Ausgangssignale der Stufen 40 und 41 bilden die Eingangssignale für die Addierer 44
und 45. Zum Zeitpunkt tl2 sind die Prüfbytes Z0-Z2 in den Stufen 40, 41 und 42 enthalten. V7ährend der nachfolgenden Zeitintervalle
tl3-tl5 werden diese Prüfbytes Z2--ZO dann aus den Schieberegister
stufen ausgelesen und in den Datenverteilungspuffer 32 gesetzt.
In Fig. 6 ist jede der Stufen 4O bis 42 und jeder Addierer 43
po 972 005 A09822/1063
— Q —
bis 46 für jeweils eines der Bits O bis 7 dargestellt. Die entsprechenden
Bits können durch einen Zusatz bezeichnet v/erden, wie z.B. 41-Ό für das Bit O der Stufe 41. Die entsprechenden Bits
eines hereinkommenden Byte Z werden an die Eingänge des Addierers
46 geleitet, wobei das Bit 0 an den Eingang 46 Ό gelangt, das Bit 1 an den Eingang 46-1 usw. Vom Ausgang des Addierers 46 führen
acht Bitleitungen zum Eingang der Torschaltung 47, und diese hat
wiederum eine AusgangsSammelleitung 52, deren Leitungen mit 0 bis 7 entsprechend den Bitbezeichnungen des Bytes bezeichnet werden.
Die Verbindungen der entsprechenden Adern der Sammelleitung mit den Eingängen der Addierer 43-45 bewirken die Matrixmultiplikation,
die schließlich die notwendigen Prüfbytes erzeugt.
Fig. 7 zeigt die drei Matrizen 54, 55 und 56 zum besseren Verständnis
der Multiplikation. Hit diesen Matrizen werden die Prüfbytes erzeugt, die die Gleichungen 1 bis 3 erfüllen. Diese
Matrizen sind in Übereinstimmung mit den folgenden Beziehungen
Matrix 54 ist Τ3λ
Matrix 55 ist ΐλ(ΙΘΤλΦΤ2λ)
λ ?λ Matrix 56 ist (ΙΘΤ ΦΤ ),
worin I die Identitätsmatrix (T(2 ~1)λ=Ι) ist.
Die Matrizen 54-56 entsprechen dem spezifischen Ausführungsbeispiel für λ=68 undb=4. I für f=8 ist
10 000000 01000000 00100000 00010 000 OOOOIOOO
0000 0100 ■00000010 |_0 0 0 0 0 0 0
Jede Matrix unifaßt 8x8 Bits. Wenn ein Zeilenvektor, wie z.B.
PO 972 005
40982 2/1063
ein Byte Z mit einer Matrix multipliziert werden soll, wird das erste Bit des resultierenden Seilenvektors gebildet durch
die :Iodulo--2-Sumine der an den mit Einsen in der Matrix bezeichneten
Positionen erscheinenden hereinkommenden Bits. In der Addiererposition 43 Ό werden für eine solche Multiplikation
z.B. die Bits der Positionen 1, 2, 3 und 7 aus der ersten Spalte der Matrix 54 durch 43-0 antivalent verknüpft. Bezeichnet
man in der Matrix 54 der Fig. 7 die oberste Zeile als die Zeile 0 und die unterste als die Seile 7, dann erscheinen die
Einsen in den Positionen 1,2,3 und 7. Bei der speziellen Verdrahtung nach Fig. 6 werden die auf den Ädern 1, 2, 3 und
der Sammelleitung 52 erscheinenden Bits an die Eingänge 43-0
angelegt. Die anderen Eingänge sind ähnlich angeschlossen- die Addierer 44 und 45 empfangen jedoch die Ausgaben der vorhergehenden
Schieberegisterstufen 40 und 41. Der Hauptzweck der
Fig. 6 besteht in der Illustration der speziellen Verbindungen, durch die Multiplikation und Modulo 2--Addition erfolgen. Konventionelle
Schieberegister und Modulo-2 Addierer können verwendet werden und werden normalerweise in Verbindung mit Taktsignalen
betrieben, deren Übertragungsleitungen in Fig. 6 zur Vereinfachung nicht dargestellt sind. Die Taktimpulse und die
exakte Logik der Schieberegister sind konventionell.
Fig. 8 zeigt eine Schaltungsanordnung zur Erzeugung von Syndromen
gemäß Schritt 18 der Fig. 3. Das Codewort ZO'-Z141 in Fig. 8 stellt
die Daten oder das Codewort nach der Umsetzung dar, in der Fehler auftreten können. Dieses Codewort wird in einen Datenverteilungspuffer
60 gesetzt. Die Ausgangsseite des Puffers 6O ist mit dem Eingang dreier separater Schieberegister SRO, SRI und SR2 verbunden.
Die einzelnen Eytes Z141, 213' usw. v/erden aus dem Puffer
6O in aufeinanderfolgenden Taktzyklen ausgelesen und in die Schieberegister
gesetzt, so daß der Inhalt der Schieberegister die Syndrome SO, Sl und S2 darstellt, wenn alle Bytes ZOf-Zl4' in
den Puffer gesetzt wurden. Bei der Erzeugung werden die Syr-vc1
durch die Torschaltungen 61, 62 und 63 in die Puffer 64 bis 66
geleitet. Eine Taktsteuerung 67 liefert Taktsignale to-tl6.
PO 972 005 / Π ;';■!/ 7 / i Π ft 3
Beim Taktsignal to werden die Register SRO, SRI und SR2 auf
Hull zurückgestellt. Bei den.Taktsignalimpulses tl--tl5 werden
die entsprechenden Bytes Z0'-Z14' in die Schieberegister gesetzt
und beim Taktimpuls ti6 wird der Inhalt der Schieberegister
in den Puffer 64-66 geleitet.
Das Schieberegister SRO ist in Fig. 9 gezeigt und umfaßt acht
Modulo-2-Addierer 70-0 bis 70-7, die die entsprechenden Bits
0-7 eines Byte Zi1 empfangen. Der Ausgang des Addierers 70 ist
mit den entsprechenden Eingängen mehrerer Schieberegisterstufen 71-0 bis 71-7 verbunden. Der Ausgang einer jeden derartigen
Stufe ist über Leitungen 72 mit dein dein Eingang zugeordneten
Addierer 70 verbunden. Die Schieberegisterstufen 71 sind konventionelle
Speicherelemente r bei denen das Äusgangssignal eines
Speicherelementes dessen Eingang wieder zugeführt v/erden kann
durch konventionelle Taktsignale, die zur Erzeugung eines neuen Ausgangssignales angelegt werden. iJenn alle Bytes ZO'-214' in das
SRO gesetzt wurden, bildet dessen Ausgangssignal das Syndroin SO.
In Fig. 10 ist gezeigt, wie das Syndrom Sl im SEI erzeugt wird7
das allgemein aus mehreren Ilodulo-2--Addierern 73-0 bis 73-7 und
mehreren Schieberegisterstufen 74-0 bis 74-7 besteht. Gemäß
Darstellung in Fig. 11 umfaßt das SR2 in ähnlicher Weise mehrere Addierer 76-0 bis 76-7 und mehrere Schieberegister 77-0
bis 77-7. Die Ausgangssignale der Schieberegister 74 und 77 werden
auf besondere Weise als Eingangssignale den Addierern jeder Stufe zurückgeführt, um das Syndrom gemäß der gewünschten Funktion zu
erzeugen. Wie in ähnlicher Weise im Zusammenhang mit der in Fig.
dargestellten Verdrahtung erklärt wurde, sind die speziellen Rückkopplungsverbindungen nach den in den Matrizen 78 und 79 in
Fig. 12 gezeigten Funktionen vorgenommen worden, die die Matrix T in die 68te bzw. 136te Potenz erhoben zeigen. Die Auswahl von
λ=68 hält die Anzahl der für die Matrix 7 8 vorzunehmenden Verbindungen möglichst klein.
Dieser allgemeine Schritt erzeugt die Syndrome S0--S2 nach den
po 972 005 40 9 8 22/1063
folgenden Gleichungen.
SO=ZO1 Θ Sl' Θ Z2' © Θ Ζ141 (9)
Sl=ZO1 Θ Zl1 [T68] Θ- Ζ21 [(T68)2] Θ Ζ14 ' [ (T68) 14 ] (10)
ΰ3=Ζϋ' Φ Ζ1'[Τ13δ] Φ Z2'[(13C)2] Φ —- Θ 314' [(ϊ136)14] (11)
Ein von .'.iull verschiedener ivert in einer Stelle oder Bitposition
von SO, Sl oder S2 zeigt einen Fehler in den Daten 2O'-Z14'" an.
Hinweissignale werden während der Datenumsetzung durch konven ·
tionelle bekannte Schaltungen erzeugt, deren Einzelheiten nicht zur Erfindung gehören. Für die vorliegende lürfin-iung besteht
die Ausgabe des Hinweissignalgenerators aus drei Vierten i, j und
k, von denen i kleiner als j und dieses kleiner als k ist. ',Jenn
einer dieser Werte gleich 15 gesetzt v/ird oder im allgemeinen Fall gleich 2 -1, und dieser viert größer ist als die größte Spur zahl,
dann wird dieser i-Iert als Anzeige dafür genommen, daß keina
entsprechende Spur fehlerhaft ist. Bei einem vorhandenen Fehler gibt i die Spurzahl an und j und k besitzen den "Jert 15. Eei zwei
Fehlern geben i und j die entsprechenden Spurzahlen an und
k=15. Bei drei Fehlern geben alle drei Hinweissignale die entsprechenden
Spurzahlen an. Da die Erzeugung der Hinweissignale in Schaltungen erfolgt und diese Schaltungen im Betrieb bestimmten
Schwellwerten unterliegen, bietet das Vorhandensein eines Hinweissignales keine Sicherheit dafür, daß ein Fehler in der
bezeichneten Spur aufgetreten ist. Entsprechendes gilt für das Gegenteil. Aus diesem Grunde wird bei der Decodierung und Fehlerkorrektur
versucht, Hinweissignale darauf zu erzeugen, ob kein Hinweissignal oder nur ein Hinweissignal auf eine fehlerhafte
Spur geliefert wird. i-Jenn ein Hinweissignal vorhanden ist und
auf eine fehlerhafte Spur hinweist und das Syndrom jedoch keinen Fehler anzeigt, überwiegt der Syndromzustand das Hinweissignal.
Bei der Verarbeitung wird ebenfalls geprüft, ob nicht korrigierbare FehlerSituationen vorliegen, die außerhalb der Korrekturfähigkeit
des Coc-3 liegen.
PO 972 005
409822/1063
Bei der Analyse der Fehlersituationen'werden einfach die Hinweissignale
beachtet und abhängig von ihrem Zustand das Fehlerkarrekturverfahren
an einexa von drei verschiedenen Punkten begonnen. In den Fällen A und B sind zwei oder drei Ilinweissignale vorhanden.
Im Fall C ist ein Hinweissignal vorhanden und im Fall D keines.
Fall A - drei Hinweissignale vorhanden.
Wenn die drei Einweissignale i,.j. und k gegeben sind
(O<i<j<k<2-1) für drei ausgelöschte Spuren, kann der
Code die Fehlerrauster, el, e2 und e3 bestimmen, wobei si'=Zi®el,
Zj'=Zj®e2 und Zk'=Zk©e3. Der Einfachheit halber soll t=TX sein.
Wenn diese 77erte in die Gleichungen 1 bis 6 eingesetzt werden, ergeben sich folgende Beziehungen:
50 = el θ e2 θ e3 (12)
51 = el[tX] © ε2[^] Φ e3[tk] (13)
52 = el[t21] © e2[t2:i] Φ e3[t2k] (14)
Das heißt mit anderen Worten, wenn am Anfang der Fehlerkorrektur die Variablen SO, Sl und S2 zusammen mit den Hinweissignalen
i, j und k gegeben sind, enthalten die obigen drei Gleichungen drei Unbekannte el, e2 und e3.
Diese drei Unbekannten lassen sich durch gleichzeitige Lösung der Gleichungen bestimmen und die korrigierten Daten erhält
man durch Modulo-2-Addition von
Zi!I=Zi' Φ el, ZiP=Zj1 Φ e2 und Zk"=Zk' Φ e3.
Fall B - zv/ei Hinweissignale vorhanden.
Wenn die beiden Hinweissignale i und j gegeben sind, wird angenommen,
daß höchstens zwei Spuren fehlerhaft sind. Das Fehlerrauster el und e2 erhält man durch Lösung der drei Gleichungen
po 972 OO5 409822/106 3
bis 14. Die Ergebnisse liefert el und e2 sowie e3=O. Der Fall mit
zwei Fehlern v/ird also als Sonderfall des Falles mit drei Hinweissignalen behandelt, in dem e3=O ist. Kenn sich bei den
Ergebnissen für e3 ein von Null verschiedener Wert ergibt, liegen Fehler in mehr als zwei Spuren vor, die ohne ein zusätzliches I-Iinweissignal nicht korrigierbar sind.
Ergebnissen für e3 ein von Null verschiedener Wert ergibt, liegen Fehler in mehr als zwei Spuren vor, die ohne ein zusätzliches I-Iinweissignal nicht korrigierbar sind.
FalJL_C - ein Iiinweissignal vorhanden.
!fenn ein Hinweissignal i gegeben ist. wird angenommen, daß eine
andere Spur oder ein Byte j ebenfalls fehlerhaft ist. Der Code kann nicht nur das Fehlermuster el, sondern auch j und e2 erzeugen.
Ähnlich der Ableitung der Gleichungen 12 bis 14 können die Syndrome folgendermaßen ausgedrückt v/erden:
50 = el θ e2 (15)
51 = eltt1] Θ e2[t^] (16)
52 = el[t21] Θ e2[t2j] (17)
Wieder handelt es sich um drei Gleichungen mit drei Unbekannten
el, e2 und j, die gelöst werden können zur Bestimmung der Unbekannten
und Erzeugung der korrigierten Daten durch Addition der Fehlermuster gemäß
Zi"=Zi' θ el und Zj!=Zj' © e2.
Fall D ·- kein Hinweissignal vorhanden.
Fall D ·- kein Hinweissignal vorhanden.
Wenn kein Hinweissignal vorhanden ist, v/ird angenommen, daß
der Hinv/eissignalgenerator den Fehler nicht erkannt hat. Der
Code kann einen Fehler in einer Spur verarbeiten unter der
Voraussetzung, daß alle anderen Spurenfehler frei sind. Dann
gelten die folgenden Beziehungen:
der Hinv/eissignalgenerator den Fehler nicht erkannt hat. Der
Code kann einen Fehler in einer Spur verarbeiten unter der
Voraussetzung, daß alle anderen Spurenfehler frei sind. Dann
gelten die folgenden Beziehungen:
PO 972 005
403822/1063
50 = el (18)
51 = elLt1] (19)
52 = el[t21] (20)
Hier liegen drei Gleichungen mit den beiden unbekannten i und el
vor. Die Gleichung 18 liefert das Fehlerrnuster. Die Gleichung
19 kann für die fehlerhafte Spur gelöst werden. Mit der Gleichung 2O kann man die Ergebnisse der ersten beiden Gleichungen
prüfen.
Die Fehlerkorrektur kann nach der Erfindung durch einen Allzweck-Rechner
mit entsprechender Frograminierung ausgeführt werden,
wodurch der Prozeß automatisch im Computer abläuft.· Die Eingabe
für das Fehlerkorrekturverfahren sind die umgesetzten Codewortbytes
ZO'~S14', die Syndrome S0-S2 und die Hinweissignale i, j
und k. Alle diese Informationen können in den Hauptspeicher des Datenverarbextungssystems gespeichert werden zur entsprechend
einem Programm erfolgenden Analyse. In der anschließenden
detaillierten Beschreibung werden die in höheren Programmiersprachen bekannten Ausdrücke für Verzweigungs-, Berechnungsoder Zuordnungsanweisungen benutzt. Eine übersetzung dieser
Anweisungen in eine spezifische höhere Programmiersprache
wie APL, die sich besonders für die Vektor- und Matrixbearbeitung eignet, kann erfolgen.
detaillierten Beschreibung werden die in höheren Programmiersprachen bekannten Ausdrücke für Verzweigungs-, Berechnungsoder Zuordnungsanweisungen benutzt. Eine übersetzung dieser
Anweisungen in eine spezifische höhere Programmiersprache
wie APL, die sich besonders für die Vektor- und Matrixbearbeitung eignet, kann erfolgen.
Die vorliegende Erfindung arbeitet mit einer Parametertabelle zur
Unterstützung verschiedener nachfolgend aufgeführter Funktionen:
fl(a) = -a Modulo 2b-l; worin b-4, 2b-l=15 (21)
f2(a) = .J Modulo 2b-l (22)
tf3(a) = (!o^)-1 {23)
tf4<a>
= (l®tar1/2 (24)
f5(a) = -2a Modulo 2b-l (25)
PO972005 .409822/1063
8 | 9 | 10 | 11 | 12 | 13 | 14 |
7 | 6 | 5 | 4 | 3 | 2 | 1 |
11 | 3 | 10 | 2 | 9 | 1 | 3 |
9 | 13 | 10 | 1 | 14 | 8 | 4 |
12 | 14 | 5 | . 8 | 7 | 4 | 2 |
14 | 12 | 10 | 8 | 6 | 4 | 2 |
Parametertabelle für b=4
a 01234567
fx(a) 0 14 13 12 11 10 9 ό
f2(a) 0 7 14 6 13 5 12 4
f3(a) 0 3 6 11 12 5 7 2
f4(a) 0 9 3 13 6 10 11 1
£5(a) 0 13 11 9 7 5 3 1
Die spezifische Verwendung der Tabelle dient dazu, ein Argument "a'! zu erhalten, das mit einer bestiramten Funktion benutzt
wird, um so einen Tabellenwert für Verwendung in einem folgenden Schritt zu bekoramen. Die Anweisung (f2 (6) führt beispielsweise
zu einer Zidressierung der Tabelle, um den Wert "12'' zu
erhalten.
In der anschließenden Beschreibung in tabellarischer Form beginnen
die Anweisungen der allgemeinen Schritte oder Funktionen mit Großbuchstaben (z.B. A) in der linken Spalte, einzelne
Prozeßschritte oder Anweisungen beginnen in der Mitte und enthalten eine Eezugszahl zum ersten Teil und der Inhalt wichtiger
Variabler, die in dem Schritt verändert wurden, beginnen mit kleinen Buchstaben in der rechten Spalte (z.B. "a"). Es
folgen Einzelheiten für die verschiedenen Situationen.
PO 972- .00.5...
409822/1063
Fall A und B Verarbeitung (i ^ 15, j f 15)
Funktion
Prozeß
Inhalt der veränderten Variablen/Bemerkungen
Λ - Variable auf Syndroir. setzen l: SRO -f- SO, SR «-SI,- 3R2 ■*- S2
a) SRO = el Θ e2 Φ e3
SRI = eltt1] Θ e2[t^] Φ e3[tk]
SR2 = el[t21] Φ e2[t2j]® e3[t2k]
B - SRI und SR2 15-i rial verschieben
2.R-e-Fl(i)
2.1 Wenn R = O weiter mit 3 SRI -e- SRl[t]
SR2 «- SR2[t2]
RfR -1
weiter mit 2.1
SR2 «- SR2[t2]
RfR -1
weiter mit 2.1
b) SRI = el Θ e2[t^ '1J θ e3'[tk~1]
SR2 = el Φ e2[t2(j 15I Φ e3[t2(k'x)]
C ·· SRI und SR addieren und in S.R2 eingeben. SRO und SRI
addieren und in SRI eingeben. 3. SR2 «· Sill Φ SR2
SRI -*- SRO Φ SRI
SRI -*- SRO Φ SRI
c) SR2 = ε2[^""χ][ΙΦ^"χ] Φ
e3[tJX ] [I®t
SRI = e
D · SR πι mal schieben, wobei m = -(J i)/2 , lodulo
4. Rf f2(j-i)
4.1 I;enn R = O weiter mit 5 SR2 f SR2[t2]
RfR-I
weiter mit 4.1
4.1 I;enn R = O weiter mit 5 SR2 f SR2[t2]
RfR-I
weiter mit 4.1
d) SR2 = e2[I®t:l":L]
PO 972 OO5
409822/1 QS 3
E -- 3Rl und 3R2 addieren und in SR eingeben
5. GR2 -*- SRI Φ 3112
e) SR2 = e3[I®tk"j] [Ιθ^"1]
F - SR2 f4(k j) ,aal schieben
6. R-*- f4(k-j)
6.1 Wenn R = O weiter mit
SR2 t- SR2[t2] R ■«- R -1
weiter mit 6.1
f) SR2 = e3[ietk"'X]
G - SRI und SR2 addieren und in SRI eingeben
7. SRI ■*- SRI Θ SR2
g) SRI = e2[I©tD '1J
II - SR2 f 4 (k--i) r.ial schieben
S. R -e- f4(k-i)
3.1 wenn R = O weiter mit SR2 = 3R2[t2] R -*- -R -1
v;eiter mit 8.1
h) SR2 = e3 = Fehlemuster für Spur k
SRO und SR2 addieren und in SRO eingeben
9. SRO ♦· 3R0 Φ SR2
i) SRO = el Θ e2 J - SRI f 3 (j--i) mal schieben
10. R = f3(j i)
1O.1 Wenn R = O v/eiter rait Il 3Rl «- SRl[t]
R ■«- R --1 weiter mit 10.1
j) SRI = e2 = Fehlerrauster für Spur j K - SRO und SRI addieren und in SRO eingeben
11. SRO *- SRO Θ SRI
k) 3RO = el = Fehlermuster für Spur i
FO" 972 005
BAD ORfOiMAL
L - Auf ein und zwei Fehler prüfen
12. V7enn k=15 und SR2 ^ O weiter mit
Wenn j=15 und SRI £ O weiter mit
1} Beide Fehlerbedingungen unkorrigierbar :1 ■- Fehler korrigieren
13. Zi" -C- Zi1 Φ SRO
Zj" -c- Zj1 Θ SRI
Zk" -C- Zk' Θ 3r2 AUS
Ii - Anzeige ''AuS nicht korrigierbarer Fehler"
Fall C (i ?*15, j=15)
A · Variable auf Syndrome setzen
1. SRO -c- SO, SRI + Sl, SR2 ■*- S2
a) SRO = el Φ e2
SRI = el[tX] Θ e2[tJ]
B · SRI und SR2 15- i liial schieben
2. R-c- fl(i)
2.1 Wenn R = 0, weiter mit
SRI ■«- SRl[t], SR2 = 3R2[t2]
R-c-R-1 weiter mit 2.1
b) SRI = el θ e2[t:]~i]
SR2 = el Φ e2[t2(^ "x) ]
C - SR2 und SRI addieren und in SR2 eingeben. SRO und SRI
addieren und in SRI eingeben.
3. SR2 <- SRI Φ SR2
SRI "-C- SRO φ SRI
c) SRI = e2[l©tD"X]
SR2 = e2[t^"X ^"1
po 972 005 409822/106 3 BAO
D - SR2 schieben und mit 5Rl vergleichen bis zur Gleichheit. Verschiebung erfolgt R mal wobei 0
< R <
4. R +- 0
4.1 Wenn R = 15 weiter mit Schritt 14 Fall A Wenn SRI = 3R2 weiter mit 5
SR2 = SR2[t2]
R «- R +1
weiter mit 4.1
R «- R +1
weiter mit 4.1
d) SR2 = e2[I®t^~X3
R = -(j-i)/2 Modulo 15. Wenn R=I5,
mindestens drei fehlerhafte Spuren ohne unabhängige Hinweise nicht korrigierbar.
E - Hinweiswert j wie bei f5(R)+i Modulo 15 erhalten. SRI und
SR2 addieren und in SRI eingeben.
5. Rl = f5(R)
j = (Rl+i) Modulo 15 SR2 «- SRI © SR2
weiter mit Schritt 10 Fall A
e) SR2 = 0
j = Spurnummer der zweiten fehlerhaften Spur,
Fall D (i=l5)
A - Variable auf Syndrome setzen
1. SRO ■*· SO, SRI «- Sl, SR2 <- S2
a) SRO = el ■ SRI = eltt1]
SR2 = el[t21]
B -- SRI und SR2 schieben und mit SRO bis zur Übereinstimmung
von SRO und SRI vergleichen, die Schiebung erfolgt R mal, wobei R
< 15.
2. R *■ 0
2.1 Wenn R = 15, weiter mit 14 Fall A Wenn SRO. = SRI v/eiter mit 3
SRI = SRl[t]
SR2 = SR2[t2]
R ■*■ R +1
weiter mit 2.1
SR2 = SR2[t2]
R ■*■ R +1
weiter mit 2.1
409822/1063
PO- 972 OO5-BAD 0W3INAL
b) SRI = el, SR2 = el R = -i Modulo 15
Wenn R =15, sind mindestens zwei Spuren fehlerhaft und ohne unabhängige Hinweise
nicht korrigierbar.
C - Hinweiswert i erhält man als f 1 (R) . SRI und SR2 addieren und
in SR2 eingeben. SRO und SRI addieren und in SRI eingeben.
3. i = fl(R)
SR2 = SRI Φ SR2
SRI = SRO Θ SRI
weiter mit Schritt 12 Fall Ä
SRI = SRO Θ SRI
weiter mit Schritt 12 Fall Ä
c) SRO = el
SRI =0
SR2 = 0
SRI =0
SR2 = 0
PO 972 005 i-nqR?9/1flß3
409822/ 106 J BAD0RK31NÄL
Claims (7)
1. Anfängliche Matrixmultiplikation des ersten aus dem
im Schritt a) empfangenen Bytes mit den Matrizen Τ3λ, Τλ(ΙΘΤλΘΤ2λ) und (ΙΦΤλΘΤ2λ) zur Bildung des
ersten einer Reihe von Produkten Pl, P2 und P3;
2. Anschließende .Modulo -2--Addition eines jeden Byte zu
jedem Produkt P3, das vor einer solchen Addition existierte, zur Bildung einer Reihe von Summen S;
3. Matrixmultiplikation einer jeden Summe S mit den im
Teilschritt bl erhaltenen Matrizen zur Bildung von drei Ergebnissen, von denen das erste Ergebnis ein
neues Produkt Pl bildet;
4. Modulo -2-Addition des zweiten Ergebnisses zum
alten Produkt Pl zur Bildung eines neuen Produktes P2;
5. Modulo-2-Addition des dritten Ergebnisses zum alten
Produkt P2 zur Bildung eines neuen Produktes P3; wodurch bei Verarbeitung des Byte Z3 gemäß den Teilschritten
(2-5) die Produkte Pl, P2 und P3 entsprechend die Prüfbytes ZO, Zl und Z2 bilden;
c) Kombination der Prüfbytes mit den Infonnationsbytes zur
.Bildung eines Codewortes, wobei die Matrizen und Bytes zueinander in Beziehung stehen und jedes Byte f Bits
enthält, wo f=bru, f, b und m ganze Zahlen, K eine ganze Zahl 3 <
K < 2 ,T eine Begleitmatrix vom Grade f, X=r(2 "l)/(2 -I),- r eine positive ganze Primzahl zu 2 --1
und I eine Einheitsmatrix sind.
PO 972 005
. ■ ■:-/_ ?,=.-, - 403822/1083
BAD ORfGENAL
2. ' Verfahren nach Anspruch 1, gekennzeichnet durch folgende
Verfahrensschritte beim Decodieren eines empfangenen
Codewortes:
Bilden von Syndromen SO, Sl und S2 aus einem empfangenen Codewort ZO '--Z (K-I) ' nach den Gleichungen
50 = ZO1 Φ Zl1 - - Φ Z(K-I)'
51 = ZO1 Φ Zl1 [Τλ] Φ 22' [ΤΛ2] Φ S(K-I) ' [T**"1]
π O 17.—» I α» 71 I Γ Τ· 1 Oi <Τ~) \ ΓΤ 1 CSi "7 /τ" 1 \
> Γ'Ρ Λ 1 ·
UJ — ZiU U7 ZiX ^X JtD. iiZ [J. j φ Zi \v.v X J [^X JJ
Erzeugen eines Fehlermusters e unter Verwendung der Syndrome und
Korabinieren des Fehlermusters mit dem zugehörigen fehlerhaften
Byte zur Erzeugung des korrigierten Datenbytes.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß das
Fehlermuster e nach folgenden Gleichungen aus den Syndromen erhalten wird
50 = e
51 = e[TXl]
32 = e[TX2i]
32 = e[TX2i]
und daß in einem Teilschritt ein Hinweissignal i aus den Gleichungen erzeugt wird, das auf das fehlerhafte
Byte hinweist.
4. Verfahren nach Anspruch 2, gekennzeichnet durch
das Erzeugen eines Hinweissignales i, das auf ein möglicherweise fehlerhaftes Byte hinweist,
das Erzeugen eines Fehlermusters el durch Lösen der folgenden Gleichungen für el, e2 und j:
50 = el..Φ e2
51 = el[TXi] Φ e2[TX^]
52 = el[T2Xi] Φ e2[T2'X3]
PO 972 005. 40 9822/1063
BAD ORIGINAL
wobei j ein Hinweissignal ist, das auf ein anderes möglicherweise fehlerhaftes Byte hinweist, und e2 das
Fehlermuster zur Korrektur des anderen Bytes ist.
5. Verfahren nach Anspruch 2, gekennzeichnet durch
das Erzeugen von drei Einweissignalen i, j und k, die auf
möglicherweise fehlerhafte Bytes hinweisen, wobei gilt O£i<j<k<
2b-l,
das Erzeugen von drei Fehlermustern el, e2 und e3 durch gleichzeitiges Lösen der Gleichungen
50 = el Φ e2 θ e3
51 = el[TXl] Θ e2[TXj] Φ e3[TXk]
52 = el[T2Xl] θ e2[T2Xj3 Φ e3[T2Xk]
und durch Addieren von el, e2 und e3 zu den Bytes Zi1, Zj1 und Zk1.
6. Verfahren nach den Ansprüchen 1 und 2, dadurch gekennzeichnet,
daß das erhaltene Codewort in parallele Spuren eines magnetisierbaren Aufzeichnungsträgers aufgezeichnet
und von diesem zur Gewinnung des empfangenen Codewortes abgelesen wird.
7. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß eine Anzeige erfolgt, wenn festgestellt wird, daß ein
unkorrigierbarer Fehler vorliegt.
PO 972 005
409822/ 1063
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US00309388A US3851306A (en) | 1972-11-24 | 1972-11-24 | Triple track error correction |
Publications (1)
Publication Number | Publication Date |
---|---|
DE2357971A1 true DE2357971A1 (de) | 1974-05-30 |
Family
ID=23198031
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2357971A Pending DE2357971A1 (de) | 1972-11-24 | 1973-11-21 | Verfahren zum codieren und decodieren von daten zur korrektur von dreifachfehlern |
Country Status (5)
Country | Link |
---|---|
US (1) | US3851306A (de) |
JP (1) | JPS5327101B2 (de) |
DE (1) | DE2357971A1 (de) |
FR (1) | FR2208556A5 (de) |
GB (1) | GB1437115A (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2948126A1 (de) * | 1978-11-28 | 1980-06-26 | Matsushita Electric Ind Co Ltd | Digitaler signalprozessor |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
USRE30187E (en) * | 1972-11-15 | 1980-01-08 | International Business Machines Corporation | Plural channel error correcting apparatus and methods |
US3913068A (en) * | 1974-07-30 | 1975-10-14 | Ibm | Error correction of serial data using a subfield code |
US4052698A (en) * | 1975-03-17 | 1977-10-04 | Burroughs Corporation | Multi-parallel-channel error checking |
US3982226A (en) * | 1975-04-03 | 1976-09-21 | Storage Technology Corporation | Means and method for error detection and correction of digital data |
US4005405A (en) * | 1975-05-07 | 1977-01-25 | Data General Corporation | Error detection and correction in data processing systems |
US3958220A (en) * | 1975-05-30 | 1976-05-18 | International Business Machines Corporation | Enhanced error correction |
US4107650A (en) * | 1976-08-13 | 1978-08-15 | The Johns Hopkins University | Error correction encoder and decoder |
US4117458A (en) * | 1977-03-04 | 1978-09-26 | Grumman Aerospace Corporation | High speed double error correction plus triple error detection system |
US4145683A (en) * | 1977-11-02 | 1979-03-20 | Minnesota Mining And Manufacturing Company | Single track audio-digital recorder and circuit for use therein having error correction |
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 |
US4205324A (en) * | 1977-12-23 | 1980-05-27 | International Business Machines Corporation | 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 |
NL7804674A (nl) * | 1978-05-02 | 1979-11-06 | Philips Nv | Geheugen met detektie en korrektie van fouten. |
US4292684A (en) * | 1978-11-01 | 1981-09-29 | Minnesota Mining And Manufacturing Company | Format for digital tape recorder |
US4254500A (en) * | 1979-03-16 | 1981-03-03 | Minnesota Mining And Manufacturing Company | Single track digital recorder and circuit for use therein having error correction |
US4276647A (en) * | 1979-08-02 | 1981-06-30 | Xerox Corporation | High speed Hamming code circuit and method for the correction of error bursts |
CA1170776A (en) * | 1980-07-18 | 1984-07-10 | Yoichiro Sako | Method of error correction of blocks of data |
JP2583547B2 (ja) * | 1988-01-13 | 1997-02-19 | 株式会社日立製作所 | 半導体メモリ |
JP2722647B2 (ja) * | 1989-04-11 | 1998-03-04 | 富士通株式会社 | 磁気テープ制御装置 |
JPH04184634A (ja) * | 1990-11-20 | 1992-07-01 | Matsushita Electric Ind Co Ltd | マイクロコンピュータ |
JPH07235149A (ja) * | 1991-02-20 | 1995-09-05 | Internatl Business Mach Corp <Ibm> | 情報記録方法 |
JP3292323B2 (ja) * | 1993-03-02 | 2002-06-17 | ソニー株式会社 | 情報再生装置 |
US5432801A (en) * | 1993-07-23 | 1995-07-11 | Commodore Electronics Limited | Method and apparatus for performing multiple simultaneous error detection on data having unknown format |
US5588010A (en) * | 1994-07-29 | 1996-12-24 | International Business Machines Corporation | Parallel architecture error correction and conversion system |
US5592498A (en) * | 1994-09-16 | 1997-01-07 | Cirrus Logic, Inc. | CRC/EDC checker system |
US6460157B1 (en) * | 1999-11-30 | 2002-10-01 | International Business Machines Corporation | Method system and program products for error correction code conversion |
KR100632952B1 (ko) * | 2004-09-30 | 2006-10-11 | 삼성전자주식회사 | 정전으로 인한 프로그램 페일의 유무를 판별할 수 있는방법 및 장치 |
US9086992B1 (en) | 2012-06-08 | 2015-07-21 | Digital Ordnance Storage, Inc. | System and method for interconnecting storage elements |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3504340A (en) * | 1967-05-08 | 1970-03-31 | Ibm | Triple error correction circuit |
US3629824A (en) * | 1970-02-12 | 1971-12-21 | Ibm | Apparatus for multiple-error correcting codes |
US3685014A (en) * | 1970-10-09 | 1972-08-15 | Ibm | Automatic double error detection and correction device |
US3656107A (en) * | 1970-10-23 | 1972-04-11 | Ibm | Automatic double error detection and correction apparatus |
US3675200A (en) * | 1970-11-23 | 1972-07-04 | Ibm | System for expanded detection and correction of errors in parallel binary data produced by data tracks |
US3697948A (en) * | 1970-12-18 | 1972-10-10 | Ibm | Apparatus for correcting two groups of multiple errors |
-
1972
- 1972-11-24 US US00309388A patent/US3851306A/en not_active Expired - Lifetime
-
1973
- 1973-10-04 GB GB4630673A patent/GB1437115A/en not_active Expired
- 1973-10-15 FR FR7338167A patent/FR2208556A5/fr not_active Expired
- 1973-10-18 JP JP11645773A patent/JPS5327101B2/ja not_active Expired
- 1973-11-21 DE DE2357971A patent/DE2357971A1/de active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2948126A1 (de) * | 1978-11-28 | 1980-06-26 | Matsushita Electric Ind Co Ltd | Digitaler signalprozessor |
Also Published As
Publication number | Publication date |
---|---|
GB1437115A (en) | 1976-05-26 |
FR2208556A5 (de) | 1974-06-21 |
JPS4984334A (de) | 1974-08-13 |
JPS5327101B2 (de) | 1978-08-05 |
US3851306A (en) | 1974-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2357971A1 (de) | Verfahren zum codieren und decodieren von daten zur korrektur von dreifachfehlern | |
DE2159108A1 (de) | Anordnung zur Erzeugung zyklischer Redundanzprüfzeichen | |
DE2357004A1 (de) | Verfahren und einrichtung zur fehlerkorrektur fuer daten | |
DE2727876B2 (de) | Steuereinrichtung mit einem Mikroprozessor | |
DE2227148A1 (de) | Verfahren zur verarbeitung digitaler daten | |
DE2508706A1 (de) | Codieren und decodieren mit einem code variierbarer wortlaenge und gegebenem bitzahlverhaeltnis | |
DE2132565A1 (de) | Umsetzer | |
DE1223414B (de) | Schaltungsanordnung fuer Codeuebersetzer in Empfangseinrichtungen fuer Nachrichten in fehlerkorrigierendem Code | |
DE69427399T2 (de) | Datenübertragungseinrichtung | |
DE2622184A1 (de) | Fehlerkorrekturverfahren | |
DE2805294C2 (de) | Codierende Übertragungsanlage für Faksimile-Signale | |
DE2357168A1 (de) | Speichermodul fuer eine datenverarbeitungseinheit | |
DE2053836C3 (de) | Anordnung zur Korrektur von Fehlerbündeln in binär codierten Datengruppen | |
DE2324538A1 (de) | Digitale nachrichtenuebertragungsanordnung | |
DE2047868A1 (de) | Schaltung zur Korrektur von Einzel fehlern in den Wortern eines zyklischen (n, k) Codes | |
DE2816771A1 (de) | Verfahren und schaltungsanordnung zur feststellung und unterscheidung von fehlern, insbesondere in ladungsgekoppelten speichern und magnetischen einzelwanddomaenenspeichern | |
DE2403651B2 (de) | Schaltungsanordnung für die nichtlineare Umwandlung von digitalen Binärziffern in digitale Signale | |
DE3003502A1 (de) | Datenfehler-korrektursystem | |
DE3752367T2 (de) | Fehlerkorrekturgerät | |
DE2933830C2 (de) | Programmierbarer Polynomgenerator | |
DE2757164C2 (de) | Verfahren zum Übertragen oder Aufzeichnen von digitalen Signalen | |
DE1934675A1 (de) | Fehlererkennungsverfahren fuer Datenuebertragungssysteme | |
DE2057256A1 (de) | Verfahren und Schaltungsanordnung zur Datensicherung bei der UEbertragung binaerer Daten | |
DE1250489B (de) | I Schaltungsanordnung zur Einspei cherung von Leerstellen-Kennworten in einen assoziativen Speicher | |
DE1937259B2 (de) | Selbstpruefende fehlererkennungsschaltung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OHJ | Non-payment of the annual fee |