DE2724409A1 - Datenverarbeitungssystem - Google Patents

Datenverarbeitungssystem

Info

Publication number
DE2724409A1
DE2724409A1 DE19772724409 DE2724409A DE2724409A1 DE 2724409 A1 DE2724409 A1 DE 2724409A1 DE 19772724409 DE19772724409 DE 19772724409 DE 2724409 A DE2724409 A DE 2724409A DE 2724409 A1 DE2724409 A1 DE 2724409A1
Authority
DE
Germany
Prior art keywords
error
bit
bits
word
signal
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.)
Granted
Application number
DE19772724409
Other languages
English (en)
Other versions
DE2724409C2 (de
Inventor
Majid Arbab
Albert Sik-Keung Lui
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NCR Voyix Corp
Original Assignee
NCR Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NCR Corp filed Critical NCR Corp
Publication of DE2724409A1 publication Critical patent/DE2724409A1/de
Application granted granted Critical
Publication of DE2724409C2 publication Critical patent/DE2724409C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/1028Adjacent errors, e.g. error in n-bit (n>1) wide storage units, i.e. package error

Description

Die Erfindung betrifft ein Datenverarbeitungssystem mit einer übertragungsvorrichtung zum Obertragen von Wörtern, von denen jedes eine Vielzahl von Datenbits und eine Vielzahl von Prüfbits enthält, mit einem Bitgenerator, der mit der übertragungsvorrichtung verbunden ist und der für ein übertragenes Wort eine Vielzahl von Bitsignalen erzeugt, die erkannte Fehlerzustände in einem übertragenen Wort anzeigen.
Ein bekanntes Datenverarbeitungssystem der vorangehend spezifizierten Art ist in der Lage, Einzelfehler zu korrigieren, die in einem übertragenen Wort auftreten und wobei das Auftreten eines doppelten Fehlers in dem übertragenen Wort erkannt werden kann.
In derartigen Datenverarbeitungssystemen können die übertragenen Bits in Gruppen angeordnet sein, d. h. daß die von einem Speicher abgeleiteten Wörter von einer Vielzahl von Modulen kommen, die jeweils Kanäle für die Bits aufweisen, die mit einer Gruppe korrespondieren. In solchen Datenverarbeitungssystemen ist es wahrscheinlich, daß in einem Wort mehrere Fehler auftreten können. Solche Fehler können innerhalb einer einzigen Gruppe auftreten, wenn beispielsweise das zugeordnete Speichermodul fehlerhaft ist. Die bekannten Datenverarbeitungssysteme weisen den Nachteil auf, daß beim Auftreten von mehr als zwei Fehlern innerhalb einer einzigen Gruppe generell die Feststellung derselben nicht mehr erfolgen kann.
Der vorliegenden Erfindung liegt somit die Aufgabe zugrunde, ein Datenverarbeitungssystem der eingangs genannten Art zu schaffen, in dem die vorangehend erwähnten Nachteile vermieden werden.
26. Mai 1977
709851/0811
Diese Aufgabe wird gemäß der Erfindung dadurch gelbst, daß die Bits eines übertragenen Wortes in Gruppen angeordnet sind und daß erste, zweite und dritte Kreise vorgesehen sind, die mit dem Bitgenerator verbunden sind und daß der erste Kreis ein erstes Fehlersignal erzeugt, falls die genannten Bitsignale anzeigen, daß mindestens ein Fehler in dem übertragenen Wort erkannt wurde und daß der zweite Kreis ein zweites Fehlersignal erzeugt, falls die genannten Bitsignale anzeigen, daß in dem übertragenen Wort zwei Zufallsfehler oder eine geradzahlige Anzahl von Fehlern in der gleichen Gruppe erkannt wurden und daß der dritte Kreis ein drittes Fehlersignal erzeugt, falls die Bitsignale anzeigen, daß drei Fehler in der gleichen Gruppe des Wortes festgestellt wurden und daß eine Fehlersteuervorrichtung vorgesehen ist, die mit den ersten, zv/eiten und dritten Kreisen verbunden ist und die ein viertes Fehlersignal erzeugt, falls die Erkennung von nur einem Fehler in dem übertragenen Wort erfolgt und daß sie ein fünftes Fehlersignal erzeugt, wenn das erste Fehlersignal vorhanden und das vierte Fehlersignal nicht vorhanden ist und daß das fünfte Fehlersignal die Erkennung eines unkorrigierbaren Fehlers in dem genannten Wort anzeigt und daß eine Fehlerlokalisierungsvorrichtung mit dem Bitsignalgenerator und der Fehlersteuervorrichtung verbunden ist und als Reaktion auf das vierte Fehlersignal ein Korrektursignal zur Korrektur des übertragenen Wortes erzeugt.
Es ist somit von Vorteil, daß ein Datenverarbeitungssystem gemäß der Erfindung einfache und billige Schaltungen aufweisen kann, mit denen Vielfachfehler in einer Gruppe von Bits innerhalb eines übertragenen Wortes festgestellt werden können.
26. Mai 1977
709851 /081 1
272U09
Im nachfolgenden wird die Erfindung anhand eines Beispiels im einzelnen beschrieben, wobei auf die beiliegenden Zeichnungen Bezug genommen wird. In diesen zeigen
Fig. 1 ein Blockschaltbild einer Fehlerprüf- und Korrekturschaltung;
Fig. 2 ein Blockschaltbild eines Prüfbitgenerators, der in der Anordnung gemäß Fig. 1 enthalten ist;
Fig. 3 ein Blockschaltbild eines Syndrombitgenerators, der in dem System gemäß Fig. 1 enthalten sein kann;
Fig. 4 ein Blockschaltbild einer Fehlerdetektorschaltung, die in dem System nach Fig. 1 enthalten sein kann und
Fig. 5 ein Blockschaltbild einer Fehlerlokalisierungsschaltung, die in dem System gemäß Fig. 1 enthalten sein kann.
In Fig. 1 ist eine Fehlerprüf- und Korrekturschaltung gezeigt, die in dem Datenverarbeitungssystem gemäß der Erfindung angeordnet ist und die eine Einzelfehlerkorrektur, eine Doppelfehlererkennung und eine Gruppenfehlererkennung in einem Codewort ermöglicht, das durch einen modularen Obertragungskanal übertragen wurde.
In einer Übertragungsanordnung wird ein Codewort erzeugt, das aus Gruppen von Bits gebildet wird. Sie enthält ein Datenregister 10 und einen Prüfbitgenerator 12. Das Datenregister 10 der hier beschriebenen bevorzugten Ausführungsform liefert 32 Datenbits B0-B31. Der Prüfbitgenerator 12 liefert 8 Prüfbits Cq-C,, die gemäß der nachfolgenden Tabelle I, in der eine Η-Matrix gezeigt ist, berechnet werden:
26. Mai 1977 709851 /081 1
cT X X X X X H X X
c? cf*"
■ ΡΛ
X X
cP X X X
c? r-l
IO
X X
O X X X
CJV
CVJ
X X X X X
ω
CVJ
X
X
X
C-
CVI
X X X
25 26 X X X
VO ■«j-
CVl
X X X X X
X
IO
CVJ
X X X
CVJ
cvj
X X X
CVJ X X
O
CVJ
X X
σ» X X X
ω
H
X X X X
^. Γ
Η
X X X
cH VO
r-t
X X X X
X
in
H
X X X X X
«a-
H
X
X
X
IO
rit
IO
H
X X
CVJ
H
X X X X
H X X X X
O
i-l
X X
ω X X X X
X
C- X X X X
vo X
X
X X X
H
e*s
in X X X X VO
co
X
IO O
co
I-l
co
X
CVJ
i-l
CVJ
co
c? O IA
co
CL' Bit in
co
Gruf cT
272U09
709851/G81 1
272U09
Die Datenbits und die Prüfbits werden kombiniert, um ein Codewort zu bilden, das in der bevorzugten Ausführungsform in Gruppen zu vier Bits angeordnet sind, wie aus der Tabelle I hervorgeht. Die Gruppen Gq bis G, sind Datenbitgruppen und die Gruppen Gfi bis G„ sind Prüfbitgruppen.
Ein modularer Speicherkanal 11 ist zur Obertragung des Codeworts in Gruppen von Bits vorgesehen. Der modulare Speicherkanal 11 kann speicherorganisiert sein in Form von vier Bits pro integriertem modularen Schaltkreis (integrated circuit module package). Der modulare Speicherkanal 11 überträgt jede der Gruppen aus vier Bits parallel zu einem Empfangsterminal. Bei der übertragung der Bits können Fehler in dem Codewort entstehen. Beispielsweise kann die Gruppe Gq des Codewortes, die in der Η-Matrix der Tabelle I gezeigt ist, fehlerbehaftet sein, so daß die zu dem Empfänger übertragenen Datenbits BqBjB2B3 stets auf dem logischen Zustand "0" verharren, da ein Modul des modularen Speichers 11 fehlerhaft arbeitet. Wenn angenommen wird, daß alle anderen Module in entsprechender Weise arbeiten, zeigt die Tabelle II die Zahl der Fehler in dem empfangenen Codewort für verschiedene Eingangskombinationen der Gruppe Gq am Sender.
26. Mai 1977
709851/081 1
Tabelle II
G0Eingang (B0 I 3I B2 V Bitfehlerzahl Hi acinose
am Sender am Empfänger 0 kein Fehler
0000 0000 1 korrigierbarer Fehler
0001 0000 1 korrigierbarer Fehler
0010 0000 1 korrigierbarer Fehler
0100 0000 1 korrigierbarer Fehler
1000 0000 2 nichtkorrigierbarer Fehler
0011 0000 2 nichtkorrigierbarer Fehler
0110 0000 2 nichtkorrigierbarer Fehler
0101 0000 2 nichtkorrigierbarer Fehler
1100 0000 2 nichtkorrifjierbarer Fehler
1010 0000 CVJ nichtkorrigierbarer Fehler
1001 0000 3 nichtkorrigierbarer Fehler
0111 0000 3 nichtkorrigierbarer Fehler
1011 0000 3 nichtkorrigierbarer Fehler
1101 0000 3 nichtkorrigierbarer Fehler
1110 0000 4 nichtkorrigierbarer Feiiler
1111 0000
CD (JD
272U09
Es wird anerkannt, daß in Abhängigkeit von der ursprünglich übertragenen Information und der Fehlerart des Moduls kein Fehler, ein Einzelbitfehler oder eine Vielzahl von Bitfehlern in der gleichen Gruppe eines Codewortes erscheinen können. Die vorliegende Fehlerprüfschaltung ist in der Lage zu differenzieren zwischen brauchbarer und unbrauchbarer Information.
Die Η-Matrix in der Tabelle I ist in zehn h-Submatrizen unterteilt, die mit den Gruppenverbindungen des modularen Speichers übereinstimmen. Die Zuordnung der Eingänge von χ in der h-Submatrix ist wesentlich. Zum Zwecke der Gruppenfehlererkennung können die folgenden Regeln angewendet werden:
1. Jede Spalte in der Η-Matrix ist unterschiedlich.
2. Die h-Submatrizen korrespondieren mit den Datenbitgruppen (GQ bis G7) und besitzen nur drei Eingänge pro Spalte.
3. Die h-Submatrizen korrespondieren mit den Prüfbitgruppen (Gq bis Gg) und haben nur einen Eingang pro Spalte.
4. In jeder Submatrix korrespondieren die Datenbitgruppen, z. B. GQ bis G7, und es ist ein gemeinsamer Zeileneingang in den ersten vier Zeilen vorhanden und es ist ein anderer gemeinsamer Zelleneingang
für die letzten vier Zeilen vorhanden.
Ein Code mit einer Η-Matrix, der den oben genannten Vorschriften genügt, weist eine gesamte Hamming-Distanz von vier auf und ist deshalb in der Lage, Einzelfehler zu korrigieren und zufällige Doppelfehler sowie zusätzliche Gruppenfehler zu erkennen. An dem Empfänger werden Syndrombits erzeugt, was im nachfolgenden im einzelnen beschrieben wird. Die vorangehenden Vorschriften stellen sicher, daß durch
26. Mai 1977 709851 /081 1
eine Diagnose der empfangenen Daten Syndromuntergruppen erzeugt werden, durch die eine Unterscheidung von brauchbaren und unbrauchbaren Daten möglich wird. An dem Empfänger wird die Diagnose anhand des nachfolgenden Algorithmus durchgeführt:
1. Wenn alle Syndrombits "unwahr"sind, liegt kein Fehler vor.
2. Wenn ein Syndrombit "wahr" ist, liegt ein korriqierbarer Fehler in einer gegenwärtigen Prüfbitgruppe vor,
3. Wenn eine geradzahlige Anzahl von Syndrombits "wahr" sind, liegt ein unkorrigierbarer Fehler vor. Der unkorrigierbare Fehler kann entweder ein zufälliger Doppelfehler oder ein Doppelfehler in einer Gruppe oder ein Vierfachfehler in einer Gruppe sein.
4. Wenn drei Syndrombits "wahr" sind und alle diese
an einer der Stellen sqsiS2S3 oder S4S5S6S7 angeordnet sind, so liegt ein unkorrigierbarer Dreifachfehler in der Prüfbitgruppe vor.
5. Wenn drei Syndrombits "wahr" sind und nicht alle in den Positionen SQ S1 S2 S3 oder S4 S5 Sß S7 liegen, so liegt ein einfacher korrigierbarer Fehler in der Datenbitgruppe vor.
6. Wenn fünf Syndrombits "wahr" sind, so liegt ein unkorrigierbarer Dreifachfehler in der Datenbitgruppe vor.
Die Prüfbits (CQ bis C7) werden durch die ungeradzahlige Parität von jenen Datenbits bestimmt, die einen Eingang von "X" in der zugeordneten Zeile der Η-Matrix aufweisen und die durch ein EXKLUSIV-ODER-Glied (EXCLUSIVE OR circuitry) erzeugt werden. Beispielsweise ist das Prüfbit CQ ein Ergebnis der ungeradzahligen Parität der Datenbits BQ, Bj, B2, B3, B4. B5, B6, B7, B12, B16, B20 und B24 (die ungeradzahlige Parität ist das binäre Summenbit). Es ist
709851 /081 1 26. Mai 1977
272U09
somit ersichtlich, daß acht Prüfbits (Cq bis C7) gemäß den logischen Gleichungen der Tabelle III erzeugt werden können, wobei die Bezeichnung 0 jeweils EXKLUSIV-ODER (EXCLUSIVE OR) bedeutet.
Tabelle III
Das Codewort ist während der übertragung Gegenstand von auftretenden Fehlern. Die Syndrombits (Sq bis S7) werden in dem Syndrombitgenerator 13 erzeugt, der sich im Empfänger befindet, wobei diese von dem empfangenen Codewort unter Bezugnahme auf die Bedingungen der Η-Matrix gemäß Tabelle I in ähnlicher Weise abgeleitet werden. Die Syndrombits S
26. Mai 1977
70985 1 /081 1
bis S7 werden durch die ungeradzahlige Parität jener Datenbits und Prüfbits erzeugt, die einen Eingang "X" in der zugeordneten Zeile der Η-Matrix aufweisen. Die logische Gleichung für die Erzeugung der Syndrombits von dem empfangenen Codewort ist in Tabelle IV angegeben, wobei das Zeichen 0 jeweils eine EXKLUSIV-ODER-(EXCLUSIVE OR) Bedingung bedeutet.
Tabelle IV
= bl®to8©b16^,170b18©b19©b2o©b21®b220b23©b250
- bb50b60bblO0bl4©bl70b2o©b21©b220b23©b26©oV
= b3©b6©b110b15©b16©b17©b18©b19©b28©b29©b3o©b31©c5
S7 = b7©bl2©b13©bu©b15©b19©b230b24©b25©b26©b27©b3^>7
Die Vorrichtung zum Empfang des Codewortes von dem modularen Speicherkanal 11 enthält einen Syndrombitgenerator 13, eine Fehlererkennungsschaltung 14 und eine Fehlerlokalisierungsschaltung 15. Die Vorrichtung zum Empfang des Codewortes enthält ebenfalls ein Datenregister 17 zur Registrierung der empfangenen Daten.
26. Mai 1977
709851 /0811
Das empfangene Codewort in der bevorzugten Ausführungsform weist 32 Datenbits und 8 Prüfbits auf und wird an den Syndrombitgenerator 13 und an das Datenregister 17 angelegt.
Der Syndrombitgenerator liefert Syndrombits zur Verwendung in der Fehlererkennungsschaltung 14 und der Fehlerlokalisierungsschaltung 15, so daß dort die Funktionen für die Einfachfehlerkorrektur (SEC), die Doppelfehlererkennung (DED) und die Gruppenfehlererkennung (GED) gebildet werden können.
Der Fehlererkennungskreis 14 enthält
entsprechende Mittel zur Erzeugung von Fehlersignalen, die Fehlermarkierungen 18 enthalten. Diese zeigen die Erkennung von einem Einfachfehler oder zufälligen Doppelfehler oder einer Vielzahl von Fehlern in irgendeiner der Bitgruppen in dem Codewort an.
Die Fehlerlokalisierungsschaltung 15 ist mit dem Ausgang des Syndrombitgenerators 13 verbunden und empfängt die Syndrombits. Die Fehlerlokalisierungsschaltung 15 ist mit dem Ausgang der Fehlererkennungsschaltung 14 verbunden und empfängt die Fehlerkennzeichnungssignale von dem Fehlerkennzeichnungsausgang der Fehlerdetektorschaltung 14. Die Fehlerlokalisierungsschaltung 15 ist mit dem Datenregister 17 verbunden und ist in der Lage, einen Einzelfehler in dem Codewort zu korrigieren. Wenn die Fehlererkennungsschaltung 14 ein Fehlerkennzeichen liefert, so wird damit angezeigt, daß ein zufälliger Doppelfehler oder eine Vielzahl von Fehlern in einer der Gruppen vorhanden ist, so daß das gesamte Codewort nicht berücksichtigt oder aus dem Datenregister 17 eliminiert wird und ein anderes Codewort kann in das Datenregister 17 eingegeben werden.
26. Mai 1977
709851 /0811
272U09
Der Prüfbitgenerator 12 ist in Fig. 2 im einzelnen dargestellt. In der bevorzugten hier beschriebenen Ausführungsform sind die acht Prüfbits in Gruppen von vier Bits unterteilt, die jeweils in Tabelle I angegeben sind. Die 32 Datenbits BQ bis B_. werden an die EXKLUSIV-ODER-Glieder 20 bis 27 angelegt, um die Prüfbits CQ bis C7 gemäß dem in Tabelle III gezeigten Algorithmus zu erzeugen, der auf der Η-Matrix gemäß Tabelle I basiert. Die EXKLUSIV-ODER-Glieder erzeugen eine ungeradzahlige Parität (das Prüfbit ist die binäre Summe der Eingangsbits). Beispielsweise stellt das Prüfbit C1 die ungeradzahlige Parität der Datenbits BQ, B4, Bg, B9, B1Q, B11, B12, B13, B14, B15, B21 und B2g dar.
Der Syndrombitgenerator 13 ist in Fig. 3 im einzelnen gezeigt. In dem bevorzugten Ausführungsbeispiel werden die 32 Datenbits und die 8 Prüfbits über den modularen Speicherkanal 11 übertragen und an die 40 Eingänge des Syndrombitgenerators 13 angelegt, wie aus Fig. 3 hervorgeht. Der Syndrombitgenerator enthält EXKLUSIV-ODER-Glieder 30 bis 37 zur Erzeugung der Syndrombits SQ bis S7 entsprechend dem in Tabelle IV gezeigten Algorithmus, der auf der Η-Matrix der Tabelle I basiert. Die EXKLUSIV-ODER-Glieder 30 bis 37 erzeugen eine ungeradzahlige Parität von den Eingangsdatenbits und Prüfbits entsprechend dem Eingang "X" der zugeordneten Zeile und Spalte der Η-Matrix in der Tabelle I. Beispielsweise ist das Syndrombit S1 die ungeradzahlige Parität der Datenbits BQ, B4, Bg, Bg, B1Q, Bn, B12, B13, B14, B15, B21, B28 und C1. Mit Hilfe der Glieder 30 bis 37 werden tatsächlich die übertragenen Prüfbits mit korrespondierenden örtlich erzeugten Prüfbits verglichen.
709851/0811 26. Mai 1977
272U09
Die Fehlererkennungsschaltung 14 enthält erste Schaltungsteile, die mit dem Ausgang des Syndrombitgenerators 13 zur Erzeugung eines Fehlersignals verbunden sind. Dies ist der Fall, wenn der Informationsgehalt der Syndrombits anzeigt, daß irgendein Fehler in dem übertragenen Codewort erkannt wurde. Gemäß dem hier beschriebenen bevorzugten Ausführungsbeispiel ist dies an den ODER-Gliedern 40 zu sehen, an denen die Syndrombits SQ bis S, angelegt werden, wie aus Fig. 4 hervorgeht. Das Auftreten von korrigierbaren oder unkorrigierbaren Fehlern in dem Codewort bewirkt die Erzeugung eines Nicht-Nul1-Syndrombits unter den Syndrombits SQ bis S7, das in dem ODER-Glied 40 erkannt wird, so daß am Ausgang 18a ein Signal entsteht.
In der Fehlererkennungsschaltung 14 sind zweite Schaltungsteile vorgesehen, die mit dem Ausgang des Syndrombitgenerators 13 verbunden sind und die ein Fehlersignal erzeugen, wenn der Informationsinhalt der Syndrombits anzeigt, daß ein zufälliger Doppelfehler oder eine geradzahlige Anzahl von Fehlern in einer Gruppe des Codewortes vorhanden ist. In dem hier beschriebenen bevorzugten Ausführungsbeispiel ist dies an dem EXKLUSIV-ODER-Glied 41 gezeigt, das die Eingänge S0-S7 aufweist. Der Ausgang des EXKLUSIV-ODER-Gliedes ist mit dem Eingang eines Inverters 42 verbunden, der wiederum mit dem Eingang eines UND-Gliedes 43 verbunden ist. Der zweite Eingang des UND-Gliedes 43 liegt an dem Ausgang des ODER-Gliedes 40. Die zweiten Schaltungsteile enthalten das EXKLUSIV-ODER-Glied 41, den Inverter 42 sowie das UND-Glied 43 zusammen mit dem ODER-Glied 40. Damit wird eine Prüfung für unkorrigierbare Fehler ermöglicht, die entweder zufällige Doppelfehler, Doppelfehler in einer Gruppe oder Vierfachfehler in einer Gruppe sein können. Diese werden alle durch eine geradzahlige Anzahl von "wahren" Syndrombits in dem Muster
709851 /081 1
26. Mai 1977
272U09
aus den Syndrombits S0-S7 gekennzeichnet. Diese Art von Fehlern wird am Ausgang des UND-Gliedes 43 angezeigt, der mit dem Eingang des ODER-Gliedes 48 verbunden ist und somit am Ausgang 18b die Erzeugung eines Fehlersignals bewirkt, das anzeigt, daß die empfangenen Daten unbrauchbar sind.
Die dritten Schaltungsteile sind mit dem Ausgang des Syndrombitgenerators 13 verbunden, um ein Signal zu erzeugen, wenn der Informationsinhalt der Syndrombits anzeigt, daß eine Vielzahl von Fehlern in der gleichen Gruppe des Codewortes erkannt wurde. In dem hier beschriebenen bevorzugten Ausführungsbeispiel ermöglichen die dritten Schaltungsteile die Erkennung von drei Fehlern. Es liegt jedoch im Rahmen der Erfindung, daß die dritten Schaltungsteile so modifiziert werden, daß die Erkennung einer ungeradzahligen Anzahl von mehr als einem Fehler in der gleichen Bitgruppe eines Codewortes, das Gruppen mit einer gewünschten Anzahl von Bits in jeder Gruppe aufweist, ermöglicht.
In dem bevorzugten Ausführungsbeispiel enthalten die dritten Schaltungsteile die UND-Glieder 44a, 44b, 44c und 44d. Mit den Ausgängen der UND-Glieder 44a bis 44d ist der Eingang des ODER-Gliedes verbunden. Die dritten Schaltungsteile enthalten ebenfalls die UND-Glieder 46a, 46b, 46c und 46d, deren Ausgänge mit dem Eingang des ODER-Gliedes 47 verbunden sind. Der Ausgang des ODER-Gliedes 47 ist mit dem Eingang des ODER-Gliedes 48 gekoppelt.
Die dritten Schaltungsteile mit den UND-Gliedern 44a bis 44d und dem ODER-Glied 45 erkennen drei Fehler in einer Gruppe von Datenbits oder einer Gruppe von Prüfbits. Dies wird angezeigt durch drei
26. Mai 1977
7098 5 1/0811
272U09
oder fünf "wahre" Syndrombits mit drei "wahren" Syndrombits, die in den ersten vier Syndrombitpositionen (SQ, S,, S2, S3) angeordnet sind. In ähnlicher Weise liefern die UND-Glieder 46a bis 46d zusammen mit dem ODER-Glied 47 die Erkennung von drei Fehlern in einer Datengruppe oder in irgendeiner Prüfbitgruppe. Dies wird angezeigt durch drei oder fünf "wahre" Syndrombits, wobei drei "wahre" Syndrombits in den letzten vier Syndrombi tposi tionen (S-, S,-, Sß und Sy) angeordnet sind. Drei Fehler in einer Gruppe sind nicht korrigierbar in dem hier beschriebenen System und ein Ausgang des ODER-Gliedes 45 oder des ODER-Gliedes 47 sowie ein Ausgang des UND-Gliedes 43 überträgt über das ODER-Glied 48 zum Anschluß 18b ein Signal, das anzeigt, daß die empfangenen Daten unbrauchbar sind. Wenn ein Fehler durch ein Ausgangssignal am Fehlerkennzeichnungssignalanschluß 18a, aber nicht am Fehlerkennzeichnungssignalanschluß 18b angezeigt wird, bedeutet dies, daß ein korrigierbarer Fehler vorhanden ist. Der Inverter 49 liefert dann ein Steuersignal zur Wirksammachung der Fehlerlokalisierungsschaltung 15, die in Fig. 5 im Detail dargestellt ist.
Die Fehlerlokalisierungsschaltung 15 enthält eine Vielzahl von UND-Gliedern 50Q bis SO31, von denen jedes mit einem der 32 Datenbits BQ bis B31 korrespondiert und eine zweite Anordnung von UND-Gliedern 52a bis 52h, von denen jedes mit einem der Prüfbits CQ bis C7 korrespondiert. Zusätzlich sind zwei UND-Glieder 51a und 51b vorgesehen, deren Eingänge mit den Negativ-Syndrombits gekoppelt sind. Die Ausgangsklemme 18c liegt jeweils an einem Eingang der UND-Glieder 50 und 52. Wenn ein unkorrigierbarer Zufallsdoppelfehler oder eine Vielzahl von Fehlern in irgendeiner Gruppe der Bits im Codewort festgestellt wird, so können dqe UND-Glieder 50 und 52 nicht wirksam sein und die Daten in dem Codewort
709851 /081 1 26. Mai 1977
272U09
werden als unbrauchbar betrachtet.
Wenn ein Fehlersignal am Ausgang eines Anschlusses 18a angezeigt wird, aber nicht am Anschluß 18b, so handelt es sich um einen Einzelfehler. Der Inverter 49 erzeugt ein Ausgangssignal, um die UND-Glieder 50 und 52 der Fehlerlokalisierungsschaltunq wirksam zu machen.
Eine Einfachfehlerkorrektur ist möglich, da sich der Fehler bei einem Bit aus der Koinzidenz des Syndrommusters mit einer speziellen Spalte der Η-Matrix ergibt. Wenn bei den Datenbits ein Einzelfehler auftritt, sind drei Syndrombits "wahr". Beispielsweise würde ein Fehler am Bit Bq durch folgendes Syndrommuster angezeigt: S0 S1 S2 S3 S4 S5 S6 S7 = 11000010. In Fig. 5 ist die Fehlerlokalisierungsschaltung dargestellt, die ein erstes UND-Glied 50Q aufweist, das zu der Vielzahl von UND-Gliedern 50 gehört. Dieses formt das Syndrommuster, z. B. Sq = S, = Sc = 1. Dies würde die Erzeugung eines Korrektursignals RBQ für das Datenregister bewirken, so daß das Bit Bq umgekehrt wird, was durch den Fehler angezeigt wurde. Die Signale RB, bis RB3, steuern die Umkehrung der Bits B, bis B3,.
In entsprechender Weise gilt dies, wenn ein Einzelfehler in einem der Prüfbits CQ bis C7 auftritt. In diesem Fall ist nur ein Syndrombit "wahr". Zwei der UND-Glieder 51 und eine Vielzahl der UND-Glieder 52 liefern eine logische Funktion zur Anzeige des nicht korrekten Prüfbits und zum zweiten wird ein Korrektursignal RC0 bis RC7 an das Datenregister 17 gegeben, wodurch die Polarität des fehlerbehafteten Prüfbits umgekehrt wird. Die Ausgänge der Fehlerlokalisierungsschaltung 15 korrigieren dadurch einen Einzelfehler in dem Codewort, das in dem Datenregister 17 vorhanden ist.
709851 /0811 26. Mai 1977
lntsprechend dem Syndrommuster ermöglicht der Fehlererkennungskreis dadurch die Verwendung der empfangenen Daten, wenn kein Fehler erkannt wurde oder es erfolgt eine wirksammachung der Fehlerlokalisierungsschaltung 15 zur Durchführung einer Einzel fehlerkorrektur in dem Datenregister falls nur ein Fehler festgestellt wurde. Des weiteren wird ein Fehlerfeststellungssignal am Fehlerfeststellungsausgang 18b erzeugt, wodurch die Verwendung des empfangenen Codewortes verhindert wird, wenn es einen zufälligen Doppelfehler oder eine Vielzahl von Fehlern in der gleichen Bitgruppe aufweist.
26. Mai 1977
709851/0811
Leerseit

Claims (1)

  1. Patentansprüche:
    [Iy Datenverarbeitungssystem mit einer übertragungsvorrichtung zum Obertragen von Wörtern, von denen jedes eine Vielzahl von Datenbits und eine Vielzahl von Prüfbits enthält, mit einem Bitgenerator, der mit der übertragungsvorrichtung verbunden ist und der für ein übertragenes Wort eine Vielzahl von Bitsignalen erzeugt, die erkannte Fehlerzustände in einem übertragenen Wort anzeigen, dadurch gekennzeichnet, daß die Bits eines übertragenen Wortes in Gruppen angeordnet sind und daß erste, zweite und dritte Kreise vorgesehen sind, die mit dem Bitgenerator (13) verbunden sind und daß der erste Kreis (40) ein erstes Fehlersignal erzeugt, falls die genannten Bitsignale anzeigen, daß mindestens ein Fehler in dem übertragenen Wort erkannt wurde und daß der zweite Kreis (41-43) ein zweites Fehlersignal erzeugt, falls die genannten Bitsignale anzeigen, daß in dem übertragenen Wort zwei Zufallsfehler oder eine geradzahlige Anzahl von Fehlern in der gleichen Gruppe erkannt wurden und daß der dritte Kreis (44-47) ein drittes Fehlersignal erzeugt, falls die Bitsignale anzeigen, daß drei Fehler in der gleichen Gruppe des Wortes festgestellt wurden und daß eine Fehlersteuervorrichtung (48, 49) vorgesehen ist, die mit den ersten, zweiten und dritten Kreisen verbunden ist und die ein viertes Fehlersignal erzeugt, falls die Erkennung von nur einem Fehler in dem übertragenen Wort erfolgt und daß sie ein fünftes Fehlersignal
    709851/0811 26. Mai 1977 ORIGINAL IN6PECTED
    272U09
    erzeugt, wenn das erste Fehlersignal vorhanden und das vierte Fehlersignal nicht vorhanden ist und daß das fünfte Fehlersignal die Erkennung eines unkorrigierbaren Fehlers in dem genannten Wort anzeigt und daß eine Fehlerlokalisierungsvorrichtung (15) mit dem Bitsignalgenerator (13) und der Fehlersteuervorrichtung (48, 49) verbunden ist und als Reaktion auf das vierte Fehlersignal ein Korrektursignal zur Korrektur des übertragenen Wortes erzeugt.
    2. Datenverarbeitungssystem nach Anspruch 1, dadurch gekennzeichnet, daß die Bitsignale jeweils einen ersten oder einen zweiten Signalpegel aufweisen, wobei der erste Kreis erste Torschaltungen (40) enthält, an die die Bitsignale während des Betriebes angelegt werden und die das erste Fehlersignal erzeugen, falls eines der Bitsignale sich auf dem genannten ersten Signalpegel befindet.
    3. Datenverarbeitungssystem nach Anspruch 2, dadurch gekennzeichnet, daß der zweite Kreis zweite Torschaltungen (41-43) aufweist, an die die Bitsignale angelegt werden und die das zweite Fehlersignal erzeugen, falls eine geradzahlige Anzahl von den genannten Bitsignalen sich auf dem ersten Signalpegel befinden.
    4. Datenverarbeitungssystem nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß der Bitgenerator dritte Torschaltungen (30-37) enthält, durch die ein Vergleich der übertragenen Prüfbits, die in dem übertragenen Wort enthalten sind, in bezug auf korrespondierende erzeugte Prüfbits vorgenommen wird.
    26. Mai 1977 7Q9851 /081 1
    272U09
    ™ j ™
    5. Datenverarbeitungssystem nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß die übertragungsvorrichtung einen Speicher (11) enthält, der 1n eine Vielzahl von Speichermodulen aufgeteilt ist, wobei während des Betriebs die Gruppen eines Wortes jeweils in einem entsprechenden Speichermodul gespeichert sind.
    6. Datenverarbeitungssystem nach einem der vorangehenden Ansprüche, gekennzeichnet durch ein Datenregister (17), in dem das übertragene Wort gespeichert ist und das mit der Fehlerlokalisierungsvorrichtung (15) verbunden 1st und aufgrund des genannten Korrektursignals die Korrektur eines fehlerhaften Bits des übertragenen Wortes, das in dem Datenregister (17) gespeichert ist, erlaubt.
    26. Mai 1977
    709851/081 1
DE2724409A 1976-06-14 1977-05-28 Schaltungsanordnung zur Erkennung und Korrektur von Fehlern bei der Übertragung von Datenwörtern Expired DE2724409C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/695,494 US4077028A (en) 1976-06-14 1976-06-14 Error checking and correcting device

Publications (2)

Publication Number Publication Date
DE2724409A1 true DE2724409A1 (de) 1977-12-22
DE2724409C2 DE2724409C2 (de) 1986-07-03

Family

ID=24793230

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2724409A Expired DE2724409C2 (de) 1976-06-14 1977-05-28 Schaltungsanordnung zur Erkennung und Korrektur von Fehlern bei der Übertragung von Datenwörtern

Country Status (6)

Country Link
US (1) US4077028A (de)
JP (1) JPS6041770B2 (de)
CA (1) CA1074919A (de)
DE (1) DE2724409C2 (de)
FR (1) FR2375658A1 (de)
GB (1) GB1576627A (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0107038A2 (de) * 1982-09-28 1984-05-02 International Business Machines Corporation Kode für Speicher mit Zweifachfehlerkorrektur und Dreifachfehlerdetektion

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS53142105A (en) * 1977-05-18 1978-12-11 Sony Corp Code transmission system
JPS5848939B2 (ja) * 1977-12-23 1983-11-01 富士通株式会社 エラ−訂正処理装置
US4163147A (en) * 1978-01-20 1979-07-31 Sperry Rand Corporation Double bit error correction using double bit complementing
US4191970A (en) * 1978-05-15 1980-03-04 Bell Telephone Laboratories, Incorporated Interframe coder for video signals
US4236247A (en) * 1979-01-15 1980-11-25 Organisation Europeene De Recherches Spatiales Apparatus for correcting multiple errors in data words read from a memory
US4277844A (en) * 1979-07-26 1981-07-07 Storage Technology Corporation Method of detecting and correcting errors in digital data storage systems
US4355391A (en) * 1980-03-31 1982-10-19 Texas Instruments Incorporated Apparatus and method of error detection and/or correction in a data set
US4335459A (en) * 1980-05-20 1982-06-15 Miller Richard L Single chip random access memory with increased yield and reliability
US4345328A (en) * 1980-06-30 1982-08-17 Sperry Corporation ECC Check bit generation using through checking parity bits
US4384353A (en) * 1981-02-19 1983-05-17 Fairchild Camera And Instrument Corp. Method and means for internal error check in a digital memory
US4417339A (en) * 1981-06-22 1983-11-22 Burroughs Corporation Fault tolerant error correction circuit
NL8104342A (nl) * 1981-09-21 1983-04-18 Philips Nv Rekenmachinesysteem, gebaseerd op een symboolkorrigerende kode met twee werkmodes.
JPS5878241A (ja) * 1981-11-04 1983-05-11 Nippon Telegr & Teleph Corp <Ntt> 符号化デ−タの誤り検出訂正方式
US4464753A (en) * 1981-12-30 1984-08-07 International Business Machines Corporation Two bit symbol SEC/DED code
WO1983002345A1 (en) * 1981-12-30 1983-07-07 Chen, Chin-Long Two bit per symbol sec/ded code
US4531213A (en) * 1982-03-03 1985-07-23 Sperry Corporation Memory through checking system with comparison of data word parity before and after ECC processing
FR2528613B1 (fr) * 1982-06-09 1991-09-20 Hitachi Ltd Memoire a semi-conducteurs
NL8403147A (nl) * 1984-10-16 1986-05-16 Philips Nv Dataverwerkingssysteem dat is opgebouwd uit drie dataverwerkingsmodules.
JPH0760394B2 (ja) * 1986-12-18 1995-06-28 株式会社日立製作所 誤り訂正・検出方式
JPH0821238B2 (ja) * 1987-11-12 1996-03-04 三菱電機株式会社 半導体記憶装置
US4918695A (en) * 1988-08-30 1990-04-17 Unisys Corporation Failure detection for partial write operations for memories
US5014273A (en) * 1989-01-27 1991-05-07 Digital Equipment Corporation Bad data algorithm
US5291498A (en) * 1991-01-29 1994-03-01 Convex Computer Corporation Error detecting method and apparatus for computer memory having multi-bit output memory circuits
DE4300025C1 (de) * 1993-01-02 1994-01-27 Macrotek Ges Fuer Integrierte Verfahren und Einrichtung zur fehlercodierenden Datenübertragung
US5592404A (en) * 1993-11-04 1997-01-07 Cirrus Logic, Inc. Versatile error correction system
US5481566A (en) * 1993-12-29 1996-01-02 At&T Corp. Method and apparatus to increase efficiency of systematic codes
US5754563A (en) * 1995-09-11 1998-05-19 Ecc Technologies, Inc. Byte-parallel system for implementing reed-solomon error-correcting codes
SG76501A1 (en) * 1996-02-28 2000-11-21 Sun Microsystems Inc Error detection and correction method and apparatus for computer memory
US6308295B1 (en) 1996-10-08 2001-10-23 Arizona Board Of Regents Parallel spectral reed-solomon encoder and decoder
US6119248A (en) * 1998-01-26 2000-09-12 Dell Usa L.P. Operating system notification of correctable error in computer information
US6134684A (en) * 1998-02-25 2000-10-17 International Business Machines Corporation Method and system for error detection in test units utilizing pseudo-random data
US6694476B1 (en) 2000-06-02 2004-02-17 Vitesse Semiconductor Corporation Reed-solomon encoder and decoder
US6738942B1 (en) 2000-06-02 2004-05-18 Vitesse Semiconductor Corporation Product code based forward error correction system
JP2006179131A (ja) * 2004-12-22 2006-07-06 Fujitsu Ltd メモリシステム及び半導体記憶装置
US7653862B2 (en) * 2005-06-15 2010-01-26 Hitachi Global Storage Technologies Netherlands B.V. Error detection and correction for encoded data
US20070050668A1 (en) * 2005-09-01 2007-03-01 Micron Technology, Inc. Test mode to force generation of all possible correction codes in an ECC memory
US7702988B2 (en) * 2005-10-24 2010-04-20 Platform Computing Corporation Systems and methods for message encoding and decoding
US7751486B2 (en) * 2006-05-19 2010-07-06 Platform Computing Corporation Systems and methods for transmitting data
US7949931B2 (en) * 2007-01-02 2011-05-24 International Business Machines Corporation Systems and methods for error detection in a memory system
CN101442319B (zh) * 2008-11-25 2011-04-06 西安电子科技大学 基于双对角准循环移位ldpc码校验矩阵的编码器
US8255773B2 (en) * 2009-06-29 2012-08-28 Sandisk Technologies Inc. System and method of tracking error data within a storage device
JP5581969B2 (ja) * 2010-10-27 2014-09-03 ソニー株式会社 復号装置および方法、並びにプログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3745525A (en) * 1971-12-15 1973-07-10 Ibm Error correcting system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3562709A (en) * 1968-09-12 1971-02-09 Rca Corp Correction of block errors in transmission of data
US3697948A (en) * 1970-12-18 1972-10-10 Ibm Apparatus for correcting two groups of multiple errors
US3745526A (en) * 1971-12-20 1973-07-10 Ibm Shift register error correcting system
US3893071A (en) * 1974-08-19 1975-07-01 Ibm Multi level error correction system for high density memory

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3745525A (en) * 1971-12-15 1973-07-10 Ibm Error correcting system

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
E.R.Berlekamp,Algebraic Coding Theory,McGraw-Hill Book Company 1968, S.8.9 *
IBM J.Res.Develop., Juli 1970, S.395-401,402-408 *
IEEE Trans.,Vol.C-21,No.12,Dez.1972,S.1322-1331 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0107038A2 (de) * 1982-09-28 1984-05-02 International Business Machines Corporation Kode für Speicher mit Zweifachfehlerkorrektur und Dreifachfehlerdetektion
EP0107038A3 (en) * 1982-09-28 1987-03-25 International Business Machines Corporation Double error correction - triple error detection code for a memory

Also Published As

Publication number Publication date
CA1074919A (en) 1980-04-01
JPS5325330A (en) 1978-03-09
DE2724409C2 (de) 1986-07-03
US4077028A (en) 1978-02-28
GB1576627A (en) 1980-10-08
FR2375658A1 (fr) 1978-07-21
FR2375658B1 (de) 1982-10-22
JPS6041770B2 (ja) 1985-09-18

Similar Documents

Publication Publication Date Title
DE2724409A1 (de) Datenverarbeitungssystem
DE2060643C3 (de) Schaltungsanordnung zur Korrektur von Einzelfehlern
DE2260850C2 (de) Schaltungsanordnung zur Erkennung von Einzel- und Mehrfachfehlern und zur korrektur von Einzel- und bestimmten Mehrfachfehlern
DE2914515A1 (de) Verfahren und vorrichtung fuer ein wirksames fehlerentdeckungs- und korrektursystem
DE2157829C2 (de) Anordnung zum Erkennen und Korrigieren von Fehlern in Binärdatenmustern
DE102017103347A1 (de) Verarbeitung von daten in speicherzellen eines speichers
EP0400179A1 (de) Verfahren und Vorrichtung zum internen Paralleltest von Halbleiterspeichern
DE2053836C3 (de) Anordnung zur Korrektur von Fehlerbündeln in binär codierten Datengruppen
DE1937249A1 (de) Selbstpruefende Fehlererkennungsschaltung
DE2441351A1 (de) Schaltungsanordnung zur selbstpruefenden paritaetspruefung fuer zwei oder mehr voneinander unabhaengige datenkanaele
DE1168677B (de) System zur Fehlerermittlung und Fehlerkorrektur
DE69924012T2 (de) Verfahren und vorrichtung für speicherdata-fehlerdetektion und speichermodul-fehlerdetektion
DE102019113970B4 (de) Erkennung von adressfehlern
DE69637427T2 (de) Verfahren und Gerät zur Erkennung doppelter Eintragungen in einer Nachschlagtabelle
DE1259124B (de) Anordnung zur Fehlerkorrektur und -anzeige
DE4300025C1 (de) Verfahren und Einrichtung zur fehlercodierenden Datenübertragung
DE3443272A1 (de) Verfahren und anordnung zur fehlererkennung in datenverarbeitungsanlagen
DE69907622T2 (de) Verfahren zur Fehlerkorrektur in einem in einer Mehrpegelspeicherzelle gespeicherten Binärwort, mit einer Minimumanzahl von Korrekturbits
DE1205738B (de) Schaltungsanordnung zur Fehlerkorrektur binaer verschluesselter Datenwoerter
DE3150927C2 (de)
CH674689A5 (de)
DE1148593B (de) Verfahren und Einrichtung zur Wiedergewinnung der Information aus einem mit Pruefzeichen versehenen Codezeichen
DE3843564A1 (de) Verfahren zur ueberpruefung von verbindungs- und/oder schalteinrichtungen und/oder -leitungen
EP1861974B1 (de) Korrektur von einzelbitfehlern in dpsk-codierten codewörtern anhand der empfangenen kummulativen digitalen summe
DE2018001C3 (de) Einrichtung und Verfahren zur Fehlerpriifung in elektronischen Datenverarbeitungsanlagen

Legal Events

Date Code Title Description
OD Request for examination
D2 Grant after examination
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)
8339 Ceased/non-payment of the annual fee