DE2554945C2 - Verfahren und Schaltungsanordnung zur Erkennung und Korrektur von Fehlern in gespeicherten Datenwörtern - Google Patents
Verfahren und Schaltungsanordnung zur Erkennung und Korrektur von Fehlern in gespeicherten DatenwörternInfo
- Publication number
- DE2554945C2 DE2554945C2 DE2554945A DE2554945A DE2554945C2 DE 2554945 C2 DE2554945 C2 DE 2554945C2 DE 2554945 A DE2554945 A DE 2554945A DE 2554945 A DE2554945 A DE 2554945A DE 2554945 C2 DE2554945 C2 DE 2554945C2
- Authority
- DE
- Germany
- Prior art keywords
- errors
- pulse
- word
- register
- gate
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1666—Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
- G06F11/167—Error detection by comparing the memory output
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1012—Adding 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/1024—Identification of the type of error
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Detection And Correction Of Errors (AREA)
- Error Detection And Correction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
iw IO a) Zwischenspeicherung des vom Speicher ausgelesenen, fehlerhaften Datenwortes,
s? b) Rückschreiben des invertierten Datenwortes in den Speicher und Wiederauslesen dieses Datenwortes,
:| c) bitweiser Vergleich der zwischengespeicherten mit dem wiederausgelesenen Datenwort,
':;i d) Korrektur des fehlerhaften Datenwortes durch Verknüpfen des in Schritt c) entstandenen Vergleichs-
;| wortes (»Gleichheitswort«) mit dem zwischengespeicherten Datenwort mittels einer Exklusiv-ODER
ΪΙ is Operation, wenn das »Gleichheitswort« eine gerade Anzahl von von Null verschiedenen Bitpositionen
;J aufweist,
:"; e) erneute Überprüfung dieses Verknüpfungswortes auf Fehler,
;S f) Weiterleitung eines fehlerfreien Verknüpfungswortes als fehlerfreies Datenwort, und
f¥ g) Erzeugung eines Alarmsignales bei fehlerbehaftetem Verknüpfungswort.
JP 2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß, wenn bei der Überprüfung im Schritt ε) eine
■Jj gerade Anzahl von Fehlern festgestellt wird, ein weiterer Doppelfehlerkorrekturversuch durch Ausführung
ίί der Schritte a) bis g) erfolgt.
£: 3. Verfahren nach Anspruch 1, wobei die Datenwörter N Bits enthalten, wovon K Bits Prüfbits sind und
ff 25 die Paritätsprüfmatrix N Spalten und K Reihen hat, dadurch gekennzeichnet, daß zur Durchführung des
if Schrittes e) in der Paritätsprüfmatrix eine ungerade Anzahl von Einsen in jeder Spalte vorhanden sind und
K jede Reihe die gleiche Anzahl von Einsen modulo 2 inklusive des Prüfbits aufweist.
ίΐΐ 4. Schaltungsanordnung zur Durchführung des Verfahrens nach den Ansprüchen 1 bis 3, gekennzeichnet
£ji durch ein erstes Register (A) zur Aufnahme der vom Speicher (10) ausgelesenen Datenwörter, durch ein
tjj 30 zweites Register [MDR) zur Zwischenspeicherung der Datenwörter vom ersten Register, durch Einrichtun-
jg gen zum Komplementieren der Datenwörter im ersten Register und zum Wiedereinschreiben in den
'M Speicher sowie zum Wiederai?«lesen aus dem Speicher dieser komplementierten Datenwörter in das erste
[$ Register, durch einen Vergleicher (18) zum Vergleich des wiederausgelesenen, komplementierten Datenwor-
j£v tes mit dem im zweiten Kegisfsr (MDR) zwischengespeicherten Datenwort und zum Erzeugen eines
|ä 35 »Gleichheitswortes«, dessen einzelne Bits die schadhaften Speichersteüen im Speicher angeben und das
Il über ein drittes Register (C) in das erste Register eingeschrieben wird, und durch Exklusiv-ODER-Schaltun-
•ff gen (17) zur fall weisen Korrektur der vom Speicher ausgelesenen und im zweiten Register zwischengespei-
ff-i cherten Datenwörter mit Hilfe des Gleichheitswortes.
Die Erfindung betrifft ein Verfahren zur Erkennung und Korrektur von Fehlern in gespeicherten Datenwörtern
gemäß dem Oberbegriff des Anspruchs 1, sowie eine Schaltungsanordnung zur Durchführung des
Verfahrens.
45 In einen Datenprozessor eintretende Daten, mögen sie nun aus einem Arbeitsspeicher stammen oder von
einer entfernten Datenquelle über eine Datenverbindung empfangen sein, müssen richtig sein. Daher entwickelten
sich im Laufe der Zeit zahlreiche Fehlererkennungs- und Korrektlircodes, um die Integrität der zu verarbeitenden
Information zu sichern. All diesen Codes gemeinsam ist die Redundanz, worin zusätzliche Bits den
Informationsbits als deren Funktion zugefügt werden, um es zu ermöglichen, den Algorithmus zur Bestimmung
50 der Prüfbits am Bestimmungsort zur Fehlererkennung und möglichen Korrektur neu zu berechnen.
Eine Codeklasse, als Einzclfehlerkorrektur und Doppelfehlererkennung bekannt, ist beschrieben in »Error
Detecting and Error Correcting Codes«, Bell Systems Technical Journal, 29,1950, Seiten 147-160. Der bei der
Erfindung verwendete Code ist eine entsprechend ausgewählte Variation dieses Code.
Die US-PS 36 88 265 zeigt ein selbstprüfendes Speicher-Übersetzungssystem, das den Hamming-Code
55 verwendet.
Eine andere Codeklasse ist der Code nach Böse Chaudhuri und seine Variationen durch Golay und
Hocquenghem. Beispiele dieser Codes und ein Gerät zur Nutzung ihrer Fehlerkorrekturmöglichkeilen sind
gezeigt in den US-Patentschriften Nr. 36 22 982, Nr. 34 18 629 und Nr. 36 85 014.
Theorie und Anwendungen des Fehlerkorrekturcode werden behandelt in »Error Correcting Codes« von
60 W, W, Peterson, herausgegeben von M. I. T. Press und John Wiley und Sons Inc., 1961.
Die Korrekturmöglichkeiten eines jeden Code hängen von der Redundanz ab. Im einfachsten Falle eines einzigen
Paritätsbits gibt es keine Korrekturmöglichkeiten. Zwei sich kompensierende Fehler werden sogar nicht
einmal entdeckt, da die Parität unverändert bleibt. In dem oben erwähnten US-Patent Nr. 36 22 982 verwendet
derGolay-Code 12 Datenbits und 11 Prüfbits fur die Korrektur von drei Fehlern, was eine sehrgroße Redundanz
65 ist.
Ein Fehler in einem binären Datenbit ist die Umkehrung des Zustandes desjenigen Bits von dem beabsichtigten
oder richtigen Zustand. Ein Fehler ist das Versagen eines Speicherelementes oder eines Schaltungsteiles bei
der richtigen Ausführung seiner vorgesehenen Funktion.
Nicht jedes Versagen erzeugt einen Fehler. Wenn z. B. ein Speicherelement auf O hängt, d. h. nicht auf 1
geschaltet werden kann, und das in dieser Position zu speichernde Datenbit eine 0 sein soll, dann liegt kein
Datenfehlcr in dieser Position vor. Das wäre ein datenverträglicher Fehler für dieses Wort und jedes andere
Wort, das in dieser Bitposition eine 0 hat.
Indem IBMTDB Februar 1964, S. 34 und 35 ist ein Verfahren zur Korrektur eines einzelnen hängenden Fehlcrs
beschrieben. Der Fehler wird durch ein Paritätsbit im ausgelesenen Daten wort angezeigt und dieses Wort
wird sodann invertiert in den Speicher rückgeschrieben und wieder ausgelesen sowie mit dem ursprünglich ausgelesenen
Wort verglichen. Eine Null in einer Bitposition zeigt ein hängendes Bit im Speicher an, welches hiernach
kontiert werden kann.
Die beiden Patentschriften US 36 68 631 und 36 78 469 beziehen sich auf Fehlerkorrektureinrichtungen die
mit zyklischer Redundanz arbeiten. Dabei werden Daten in serieller Form verarbeitet und die Syndrombits
ebenfalls in serieller Form erzeugt. In bestimmten Fällen (Bündelfehler) können Mehrfach-Fehler korrigiert
werden. Ein invertiertes Rückschreiben und Wiederauslesen wird in diesen beiden Patentschriften nicht
verwendet.
In der Patentschrift US 38 36 957 ist eine typische Einrichtung zur Einzelfehlerkorrektur und Mehrfachfehler- is
erkennung beschrieben, weiche mit nach einem Hamming-Code erzeugten redundanten Prüfbits arbeitet. Beim
Wiederauslesen eines Datenwortes aus dem Speicher werden nochmals Prüfbits zu dem Wort erzeugt und mit
dem gespeicherten verglichen. Als Resultat dieses Vergleichs werden Syndrombits erhalten, welche im fehlerfreien
Falle alle Null sind.
Der vorliegenden Erfindung Hegt die Aufgabe zugrunde, die Erkennung und Korrektur ' :n Doppelfehlern
unter Berücksichtigung von datenverträgiichcn Fehlern zu verbessern.
Diese Aufgabe wird durch die kennzeichnenden Merkmale des Haupt- und Nebenanspruchs gelöst.
Die Erfindung verschafft eine vorteilhafte Möglichkeit zum Prüfen eines codierten Datenwortes, das in einem
fehleranfälligen Speicher gespeichert ist, Ausfalle im Speicher zu erkennen, Fehler im Datenwort zu erkennen,
die durch diese Ausfälle im Speicher verursacht werden, bestimmte Fehler zu korrigieren und Mißkorrekturen
von Fehlern zu verhindern.
Nach einer vorteilhaften Weiterbildung der Erfindung gemäß Anspruch 3 ist der in der vorliegenden Erfindung
gewählte Code eine Variation des Hamming-Code SEC/DED, der definiert ist mit einer Paritätsprüfmatrix
(PCM), in derjede Spalte eine ungerade Zahl von Einsen und jede Zeile dieselbe Anzahl von Finsen modulo 2
enthält. Eine solche Matrix kann immer für ein byteorientiertes Computerwort entwickelt werden. In einem
derartigen Code haben die Prüfbits für die Informationsbits und ihre Komplemente eine wohldefinierte Beziehung.
Wenn die Anzahl von Einsen in jeder Zeile der PCM ungerade ist (eine große Anzahl von Einsen für die
Datenbits und eine Eins für die Prüfbits), dann sind die Prüfbits für die wahren und komplementierten Datenbits
dieselben.
Ein Ausführungsbeispiel der Erfindung ist in den Zeichnungen dargestellt und wird anschließend näher
beschrieben. Es zeigt
Fig. 1 ein Funktionsblockdiagramm zur Illustration des Verarbeitungsweges,
Fig. 2 die Anordnung, wie die separaten Blätter mit den Fig. 2 A bis 2 P verbunden werden sollten und
Fig. 2A-2P die detaillierten logischen und Operationselemente der Erfindung.
Bauteilfehler in einem Wort werden behandelt mit dem nachfolgend beschriebenen Speichercodier- und
Wiedergewinnungsprozeß. Fehlerfreie Situationen sind kei· Problem. Einzelfehler resultieren in 0 oder einem
Fehler und werden automatisch korrigiert. Zwei Ausfälle können null oder einen Fehler erzeugen, der automatisch
korrigiert wird oder Doppelfehler, die immer mit diesem Wiedergewinnungsverfahren korrigiert werden
können. Drei Ausfälle können null oder einen Fehler ohne Problem erzeugen. Wenn Doppel- oder Dreifachfehler
auftreten, werden A% bzw. 5% falsch korrigiert und (\-A)% und (1-5)% ais Dreifachfehler ioentifiziert, die
ein Rüekspeichern erfordern. A und B können für spezifische Situationen errechnet werden, in jedem Fall ist
jedoch A < B (für Dreifachfehler ist die Wahrscheinlichkeit, daß sie Doppelfehler verursachen, dreimal größer
als Tür die Verursachung von Dreifachfehlern.
Der spezifische verwendete Code
Der >m Ausführungsbeispiel verwendete Code ist ein entsprechend ausgewählter Hamming-Code SEC/DED,
der mit einer Paritätsprüfmatrix definiert ist, in derjede Spalte e.ine ungerade Anzahl von Einsen hat und jede
/eile dieselbe Anzahl von Einsen modulo 2 und jedes Prüfbit eine einzelne 1 in jeder entsprechenden Spalte
aufweist.
Derallgcmeine Ausdruck für den vorliegenden Code, der die Anzahl von PrüfbitsA" undlnlbrmationsbitA/ in
Beziehung setzt, ist folgender"
wenn K = ungerade M = 2A l-K-\
wenn K = 2 x eine ungerade Zahl M = 2*~'-/f-2
wenn A' = 4 χ jede Zahl Λ/= 2A'"'-X-2
A dk: Anzahl der L^rülbits und
/V/ die Anzahl der Informationsbits ist.
Im für dieses Ausfuhrungsbeispiel gewählten Code ist K = 7 und Λ/ = 32. Während in den obigen Bc/iehungen
die 7 Prüfbits maximal 56 Informationsbits unterstützen, wurden 32 Int'ormationsbits gewählt wegen dci
Verträglichkeit mit einem standardbyteorientierten Speicherwort.
Das zu beschreibende Fehlererkennungs- und Korrekturgerät erzeugt die folgenden l-'ehlcrsymbolc und wcrtel
sie logisch aus:
P = ein Byteparitätsbit
R = die logische ODER-Verknüpfung der Byteparitätsprüfungen
S = ein Syndrom, die Parität vorgegebener Kombinationen von Informations- und Prüfbits
ίο E = die logische ODER-Verknüpfung der Syndrome
G = die Parität der Syndrome.
Die obigen abgeleiteten Ausdrücke sind entweder binäre Nullen oder binäre Einsen. Mit ihnen wird die Gültigkeit
des aus dem Speicher gelesenen Wortes geprüft, der Fehlercharakter im Datenwort analysiert, die Ausfälle
im Speicher und die Arbeitsweise der Erkennungs- und Korrekturschaltung überprüft.
In dem für dieses Ausführungsbeispiel gewählten Code sind R, E und G Nullen für ein fehlerfreies Wort. Bei
einem oder mehreren Fehlern ist EvonO verschieden. Eine ungerade Zahl von Fehlern erzeugt, abgesehen von
sich kompensierenden Fehlern, eine ungerade Byteparität (R) und ungerade Syndromparität (G).
P-, = i/,„ θ Cl1, Φ dr © d]y Φ d:<
© dn © C,
Λ = 5 θ 6 θ 26 θ 27 Θ 28 Θ 32 Θ C3
P, = 5 Θ 8 θ 9 φ 1 2 ® 13 θ 26 © C,
:; P, = 1 Φ 2 Θ 14® 19 Θ 22 Φ 23 Φ α
S = P1 Φ V(/, (Mod 2 Summe von P1 und el ι bis d$)
1
1
16
S- = P- Φ V d, (Mod 2 Summe von P2 und d., bis dxu)
9
9
24
S. = P-, © V (I1 (Mod 2 Summe von P-, und dr bis d2i)
17
S1 = V 3.4, 6. 9, 14. 15. 16. 17, 19, 20. 21, 25, 29, 30. C4
32
5. = Pi ® V d (Mod 2 Summe von Λ und </,<
bis d·,-)
25
25
J5 S, = V 2. 4 7. 8. 10. 12. 15. 20, 22. 24, 27. 29. 31.3. C,
S- = V 1.3. 7. 11. 13. 16. 18, 21.23. 24, 28, 30, 31,32. C-
S- = V 1.3. 7. 11. 13. 16. 18, 21.23. 24, 28, 30, 31,32. C-
Während eine oberflächliche Untersuchung das nicht zeigt, erscheint jedes Informationsbit mit Ausnahme
von dy dreimal in der Paritätsprüfmatrix und di: erscheint sogar fünfmal, um die Forderung einer ungeraden
Zahl von Einsen .'n der PCM zu erfüllen. Jede Zeile enthält dieselbe Anzahl von Einsen, nämlich 15. Mit diesv:
Beziehung sind die Prüfbits für die Informationsbits und ihr Komplement identisch. Dasselbe erhält man für
gerade und ungerade Fehler bei mehr als einem und zwei Fehlern.
Für die Korrektur von Einzelfehlern liefert das logische UND der durch die fehlerhafte Stelle betroffenen
Syndrome und das NICHT der nichtbetroffenen Syndrome eine »1 «-Ausgabe, die bei Antivalenzverknüpfung
mit der fehlerhaften Stelle diese durch ihr Komplement korrigiert.
Für andere Korrekturen zeigt ein Vergleich des Originaldatenwortes mit einem Komplement in einer Gleichschaltung
eine Gleichheit in denjenigen Bitpositionen, die permanent betroffen sind, weil diese Positionen verweigern,
komplementiert und somit gleichgemacht zu werden.
Systemkonfiguration
Die Systemkonfiguration ist in Form eines Blockdiagrammes in Fig. 1 gezeigt. Die die verschiedenen Blöcke
miteinander verbindenden Doppellinien mit ihren Pfeilen bezeichnen die Richtung des Datenflusses und die
λ> Tatsache, daß mehrere Leitungen (im allgemeinen 39) in die Verbindung eingeschlossen sind.
Die vier Register A. B. C und MDR sind konventionelle binäre Einheiten mit einer Hauptrückstellung und
binären Einer-Eingangs- und -ausgangsleitungen mit Ausnahme des Registers A, das Einer- und Nullausgängc
zur Komplementierung des Inhaltes hat. In dem vereinfachten Schema sind die Taktimpulsgeneratoren zur
Ordnung der sequentiellen Operation der verschiedenen Funktion, die dadurch gesteuerten Tore zur Steuerung
des Datenflusses und die Logikschaltglieder zum Prüfen und Kontrollieren der Systemoperation nicht gezeigt.
Zu den Spczialschaltungsteilen gehört der Syndromgenerator 11 (PCM), der die sieben Syndrome entsprechend
den oben aufgestellten logischen Gleichungen erzeugt. Im wesentlichen besteht jeder aus einem Baum
von 14 Antivalcnzglicdcrn, die eine Einer-Ausgabe erzeugen, wenn eine ungerade Zahl von Einsen in den
15 Zahl Eingängen steht oder eine 0, wenn eine gerade Zahl von Eingängen anliegt. Die Eingänge sind so verdrahtet,
daß sie mit den oben aufgeführten logischen Gleichungen übereinstimmen.
i-las Antivalcnzglied 15 besteht aus einem Baum aus 6 einzelnen Antivalenzgliedern zur Bestimmung der %
Parität der Syndrombits, Erzeugung einer Ausgabe von G oder G für ungerade bzw. gerade Parität. Das ODER-Glied
16 hat eine Ausgabe, wenn eines oder mehr Sydrome auf 1 stehen und einen Fehler anzeigen.
Der Signalspeicher 12 umfaßt 7 binäi'e Elemente, die die Syndrome zur künftigen Benutzung durch die Syndrommutrix
13 speichern. Die Syndrommatrix ist eine verdrahtete 7 X 39-Matrix mit 39 Sieben-Eingangs-UND-Gliedern,
von denen jedes eine Kombination des Vorhandenseins und Fehlens der Syndrome empfangt,
so daß für jede Datenstelle und Prüfstelle eine eindeutige Kombination von Syndromen in Übereinstimmung
mit den oben genannten logischen Gleichungen geprüft wird. Im wesentlichen nimmt jede Kombination einen
Fehler in der entsprechenden Stelle an und verdrahtet die Einerausgabe von den durch den Fehler betroffenen
Syndromen und die Nullausgaben von den durch den Fehler nicht betroffenen Syndromen. Da alle Datenstellen
mit Ausnahme von di2 dreimal in der PCM erscheinen, gibt es in den Kombinationen drei Anwesenheiten und
'.'!Cr *\b VVS*" S Π "£!*£" DiC SteüC d' ' ha' Y'*^ Γ Einepn '^^^ Hrpi Miillpn Flip Priifctp jjpn Hip nur pi nmal in Hpr \Λ·3ΐ riv
erscheinen, haben vier Nullen und eine Eins. ;u
Die Korrekturschaltung 14 besteht aus 39 Zwei-Eingangs-Antivalenzgliedern, die die Ausgabe der Syndrommatrix
13 empfangen und die entsprechende Stelle vom Speicherdatenregister (MDR).
Der Byteparitätsgenerator erzeugt die Ausgaben P1, P2, P1 und P4 in den obigen logischen Gleichungen, die in
Beziehung gesetzt werden zu Si, S;, S1 b/w. S5. Während jedes dieser Syndrome die Parität eines 8 Bit großen
Byte enthält, nutzen die Byteparitätsbits die übrigen 7 Bits des entsprechenden Syndroms.
Die Byteparitätsprüfung 21 prüft den Inhalt des MDR unter Verwendung der vom Register A erzeugten Byteparitätsbits
und der Datenbits im MDR. Sie besteht aus vier Antivalenzbäumen mit je einem 8 Bit großen Byte
und dem entsprechenden Byteparitätsprüfbit als Eingabe. Die vier Ausgaben werden ODER-verknüpft im
Schaltglied 22 zu einer Ausgabe auf Λ oder R, abhängig von der Paritätsprüfung.
Das Antivalenzglied 17 umfaßt 39 Antivalenzglieder mit zwei Eingängen vom Register A und dem MDR zu 3d
Kjrrekturzwecken. In Korrekturzyklen wird auch die Gleichheitsschaltung benutzt, die das Wortkomplement
im Register A mit dem echten Wort im MDR vergleicht und eine Nullausgabe an den nicht übereinstimmenden
Stellen erzeugt und umgekehrt. Bei vollständiger Fehlerfreiheit besteht die Ausgabe natürlich aus lauter Nullen.
Das letzte Bauteil in dieser Kette ist der Vergleicher 19. Dieses Gerät kann verschiedene Formen annehmen,
besteht jedoch vorzugsweise aus 39 Antivalenzgliedern und einem mit deren Ausgang verbundenen ODER-Glied.
Wenn alle entsprechenden Positionen dieselben sind, hat jedes Antivalenzglied einen Nullausgang, der
hei ODHR-Verknüpfung einen Gesamtnullausgang ergibt. Jede Diskrepanz führt zu einer Einerausgabe im entsprechenden
Antivalenzglied und zu einer Eins vom ODER-Glied.
Die obigen Bauteile und ihr sequentieller Betrieb werden im einzelnen in Verbindungen mit Fig. 2 beschrieben.
4ü
Im nachfolgend beschriebenen Verfahren wird angenommen, daß ein Ausfall in einem Speicherelement oder
in einem Korrekturschaltungselement zu einem Hängenbleiben im binären Nullzustand oder im binären Einer-/ustand
führt und daß alle Fehler im Datenwort das Ergebnis eines Ausfalles in einer Bitkomponente sind. Alle
Ausfälle erzeugen jedoch nicht notwendigerweise einen Fehler. So kann beispielsweise ein gegebenes Bitspeichcrelement
auf 0 hängenbleiben. Wenn das dort gespeicherte Datenbit auch eine binäre 0 sein soll,
erscheint im Datenbit kein Fehler. Dieser Fehler wird nachfolgend als datenverträglicher Ausfall bezeichnet.
Das Verfahren kann einen Fehler im Datenwort erkennen und korrigieren unabhängig von der Anzahl von
Ausfällen im Speicher. Es folgt notwendigerweise, daß die die Zahl 1 überschreitenden Ausfälle datenverträgliche
Ausfälle sind. Das Verfahren korrigiert und erkennt auch zwei Fehler, die durch nur zwei Ausfälle hervorgerufen
werden.
Mehr als zwei Fehler werden ebenso erkannt und angezeigt wie zwei Fehler, die von drei oder mehr Ausfällen '
begleitet sind.
Beschreibung des Blockdiagramms .. |(
Bei dem in F i g. 1 gezeigten Verfahren wird das Datenwort in das Register A und das MDR gelesen. Aus dem Sj
Register A werden die Syndrome im Syndromgenerator 11 erzeugt, der die oben aufgestellte Paritätsprüfmatrix S
implementiert. Die Byteparitätsbits werden im Byteparitätsgenerator 20 ebenfalls nach den oben aufgestellten jij
Beziehungen erzeugt und in das MDR zusammen mit dem Speicherwort eingegeben. Jedes Byteparitätsbit wird y
antivalent mit den entsprechenden Informationsbits in der Byteparitätsprüfschaltung 21 verknüpft und ihre 60 $
Ausgaben im ODER-Glied 22 zu »Λ« verknüpft. Die Syndrome, von denen im vorliegenden Code sieben existie- ti
ren, werden im ODER-Glied 16 zu »£« verknüpft. %
Die Kombinationen von E und R werden wie folgt geprüft: Ij
ER = Wort ist OK; alle Syndrome rind null (E) und die Byteparität ist gerade (R). Das Wort wird aus dem 65 I;
MDR ausgelesen. Ώ
ER = stop; alle Syndrome sind null und die Byteparität ist ungerade. Diese Situation ist nicht korrigierbar. |
E = Fehler; »Λ« wird als vorhanden angenommen. Korrekturversuch. '§
Die durch den Syndromgenerator 11 erzeugten sieben Syndrome werden in sieben Signalspeichcrn 12 gespeichert
und in die Syncirommatrix 13 eingegeben, die aus 39 UND-Gliedern besteht, von denen jedes sieben Eingänge
hat, die das Vorhandensein und Fehlen der Syndrome umfassen, die durch jedes der 39 Bits des Datenwortes
betroffen sind. Diese werden von den oben aufgestellten Gleichungen abgeleitet. Das Dalcnbit 15 ist /.. IJ. in
S der Ableitung der Syndrome S^S1 und S6 enthalten. DieSyndrommatrix 13 wird daher eine logische UND-Verknüpfung
für d2? Datenbit 15 vornehmen für die Syndrome S2, S4, S6, S\, 5}, S5 und S7. Andere eindeutige
Kombinationen werden Pur alle anderen Bits einschließlich der Prüfbits vorgenommen. Alle Informationsbiis
mit Ausnahm«, von d}2 sind ein Bestandteil von drei verschiedenen Syndromen. Für jedes dieser Informationsbits sind daher in der Syndrommatrix 13 drei Syndrome vorhanden und vier fehlen. Für das Bit r/!2 sind fünf Syndrome
vorhanden und zwei fehlen. Für jedes Prüfbit ist in der Matrixkombination ein Syndrom vorhanden und
vier fehlen.
Ein Einzelfehler erzeugt nur eine eindeutige Syndromkombination. die die Forderungen der UND-Kombinntion
erfüllt. Mehrfachfehler zerstören die Beziehung.
Die Ausgaben (es gibt 39) von der Syndrommatrix 13 werden in die Korrekturschaltung 14 mit den 39 Bits vom
MDR eingegeben. Jedes Datenbit ist antivalent mit einem entsprechenden UND-Ausgang von der Syndrommatrix
13 verknüpft. Wenn ein Einzelfehler vorliegt, ergibt eine UND-Verknüpfungeine Ausgabe, die bei AnIivalenzverknüpfung
mit dem entsprechenden Datenbit dieses komplementiert und es wieder in das Register A
und in das MDR über das Register A eingibt.
r^oc \\lf\rt florran IS r\rrc*l>
11 xr worpn^ht ,i>iirr!>>
ar-rattnt iölit t-rtin« ζνη<") rr\mt>
iinri clip U \'tf» ηί» ΓΙ t iitch i te VVpnn Pin
L^U.» Uli, UUJJbH IVUIIWniul rblJUblll truiuw, WIJ-t<U^tJut£.l.f*<lltb'i_*Ji>u*vtll«'Ui.uu.«.*'>. ·—(-".. ... ...u . .... ....... .....
Einzelfehler vorgelegen hatte, ist die Korrektur erfolgt. Für Mehrfachfehler erfolgt keine Korrektur.
Das »korrigierte« Wort wird jetzt wie folgt geprüft:
Das »korrigierte« Wort wird jetzt wie folgt geprüft:
ER = Wort OK; aus dem MDR auslesen. Der Einzelfehler wurde korrigiert.
GE = stop; es liegt noch ein Fehler vor und die Syndromparitüt ist ungerade und zeigt eine ungerade Anzahl
von Fehlern größer als 1 an.
ER = stop; alle Syndrome sind null und die Byteparität ist ungerade.
Eü = Fortfahren mit Doppelfehlerkorrektur; es liegt ein Fehler vor (E = einige Syndrome sind nicht-null)
und die Anzahl der von null verschiedenen Bitpositionen ist gerade (C).
Als nächstes komplementiert das Gerät den Inhalt des Registers A und versucht dieses Komplement in den
Speicher einzugeben. Wenn ausgefallene Bitpositionen im Speicher vorhanden sind, verweigern sie die Komplcmentierung
und behalten den Zustand des ursprünglichen Datenwortes bei. Das »komplementierte« Wort wird
in das Register A zurückgelesen und im Vergleicher 18 mit dem Inhalt des MDR verglichen, daß das Originaldatenwort
enthält, wobei keine Fehlfunktion der Schaltung angenommen werden.
Der Vergleicher 18 vergleicht jedes Bit im Register A mit dem entsprechenden Bit im MDR und erzeugt eine
Eins-Ausgabe, wenn sie übereinstimmen und eine Null-Ausgabe, wenn sie nicht übereinstimmen. Dadurch
werden sowohl Ausfälle als auch Fehler erkannt, auch wenn die Ausfälle nicht zu entsprechenden Fehlern
führen.
Bei der Doppelfehlerkorrektur wird das Gleichheitswort mit jedem Bit im MDR antivalent verknüpft und in
das Register A über das Register C und von dort in das MDR eingegeben. Der Inhalt des Registers A und das
MDR werden wieder mit Kombinationen von E und R wie folgt geprüft.
ER = das Wort benutzen wie es ist; es wurde korrigiert.
ER = stop; Wort wurde nicht korrigiert.
E = stop; Wort wurde nicht korrigiert.
ER = stop; Wort wurde nicht korrigiert.
E = stop; Wort wurde nicht korrigiert.
Wenn man eine Situation wählt, in der vier Ausfälle und zwei Fehler aufgetreten sind, läßt sich die obige Situation
leicht verstehen. Die beiden Fehler schließen die Einzelfehlerkorrektur aus, so daß das Originalwort nach
diesem Versuch unverändert bleibt. Die versuchte Komplementierung erzeugt keine Änderung in den vier
hängengebliebenen Bitpositionen. Der Vergleich in der Gleichheitsschaltung ergibt vier Einsen in den hängengebliebenen
Positionen. Diese vier Einsen erzeugen eine gerade Zahl von Syndromen im Einerzustand. Somit
ist G = 0 und E = 1 und es ergibt sich EO.
Wenn diese vier Einsen antivalent mit ihren entsprechenden Bits verknüpft werden, werden zwei dieser Bits
richtig komplementiert und zwei Bits in den datenverträglichen hängengebliebenen Bitpositionen werden
falsch komplementiert. Das resultierende Wort hat zwei neue Fehler. Die Prüfung dieses Wortes ergibt einen
Fehlerstop.
Genaue Beschreibung der Zeichnungen
F i g. 2 B zeigt in ihrem oberen Teil einen Speicher, der entweder durch ein Lese- oder ein Schreibsignal adressiert
werden kann. Es wird ein Speicheradreßregister verwendet, das aber in F i g. 2 B nicht gezeigt ist. Wenn der
Speicher eine Leseoperation ausführt, erzeugt er zuerst ein Signal auf der Leitung 166, das durch das ODER-Glied
168 läuft und das Register A auf lauter Nullen zurückstellt. Der Speicher erzeugt dann das Muster von Einsen,
das in dem Speicherwort auf dem Kabel 170 enthalten is*, und lädt dieses Muster von Einsen in das
Register Λ.
Wenn in einer Schreiboperation das im Register A enthaltene Wahlwort in den Speicher geschrieben werden
soll, wird das Flipflop 106 in Fig. 2 B auf 0 gesetzt und dadurch das Tor 178 eingeschaltet. Das wahre Wort auf
dem Kabel 176 läuft dann durch das Tor 178 in den Speicher. Wenn das Komplement des im Register A befind-
lichen Wortes geschrieben !"erden soll, wird das Flipflop 106 auf 1 geschaltet, um das Tor 174 einzuschalten. In
diesem Fall ist das Komplement der Zahl im Register A im Kabel 172 enthalten, das durch das Tor 168 läuft und
in den Speicher geht.
Der Impulsgenerator für die Reihenfolgcschaliung der betroffenen Verfahren ist in den Fig. 2 O und 2 P
gezeigt. Monostabile Kippschaltungen sird mit MK bezeiciinet und werden nach ihren Ausgangssignalen
benannt. Die verschiedenen von diesem Impulsgenerator erzeugten Impulse werden auf ein Kaoel geleitet,
welches in zwei Kabel verzweigt und an der unteren linken Ecke der F i g. 2 O nach oben verläuft. Viele dieser
Impulse werden an ODER-Glieder auf der linken Seite der Fig. 2 O angelegt. Die Ausgänge dieser ODER-Glieder
laufen wieder auf den Fig. 2 O und 2 M nach oben und in das Hauptsteuerkabel zurück, das an der
linken Seite der F i g. 2 N nach oben läuft. Wie auf dem Diagramm zu sehen ist, verläuft dieses Steuerkabel nach
links unten in den F i g. 2 1,2 H und G nach oben an der linken Seite der F i g. 2 G, weiter nach oben an der linken
Seite der F ig. 2 A und horizontal oben in Fig. 2 A. Dasselbe Steuerkabel verläuftauch horizontal an der Unterseite
der F ig. 2 I und 2 J, nach oben an der linken Seite der F ig. 2 K und dann horizontal durch die Fig. 2 L, wo
es endet. Auf diese Weise werden alle Steuerimpulse an die richtigen Tore und Flipllops im Schaltdiagramm
geleitet.
Um das Verfahren durchzuführen, lädt der Computer das Speicheradreßregister für den Speicher und legt ein
externes Signal an die Leitung 180 der Fig. 2 A an, das durch das ODER-Glied 182 läuft und einen Lesezugriff
/um Speicher durchfuhrt. Wie oben erklärt wurde, wird das gewünschte Wort in das Register A über das Kabel
170gel;ulen(Fig 2 B). Cileichzeilig legt der Computer ein ext ;rnes:Signal an rl is I eiti.ing 1X4 in. Fig. ~>
O an, das an die Verzögerungsschaltung 186 läuft. Wenn das Wort in das Register A der F i g. 2 A und 2 B geladen wird, hat
die Ver; igerungsschaltung 186 in Fig. 2 O einen Ausgang, d. h. sie gibt ein Ausgangssignal, um die monostabile
Kippschaltung /, einzuschalten. Wenn der Impuls r, in F i g. 2 O durch das ODER-Glied 188 zur Leitung 140
läuft, die zu den Fig. 2 G und 2 H führt, stellt er das Register MDR zurück. In Fig. 2 M wird der Impuls r, zum
Rückstellen des F-Flipflop auf 0 benutzt.
In Fig. 2 P wird ein Impuls durch das ODER-Glied 190 zum Einschalten der monostabilen Kippschaltung /:
übertragen, wenn die monostabile Kippschaltung I1 kippt. In F i g. 2 O läuft dann der Impuls t: durch das ODER-Glied
192 zur Leitung 142, die zur Fig. 2 G läuft, und wird an das ODER-Glied 194 angelegt" Das ODER-Glied
194 hat dann einen Ausgang, der an das Tor Z in Fig. 2 H angelegt wird, um das Register MDR in den Fig. 2 G
und 2 11 zu laden. In F i g. 2 G verzweigt die Leitung 142 und läuft über F i g. 2 I zur F i g. 2 G, wo sie an das Tor X
angelegt wird, um die S-Bits in den Verriegelungen 196 zu verriegeln.
Wenn die monostabile Kippschaltung t, in Fig. 2 O ausgeht, wird ein Impuls zum Einschalten der monostabilcn
Kippschaltung /, erzeugt. Mit dem Impuls /3 wird das Tor 100 in F i g. 2 M geprüft. Wenn der Eingang mit der
Beschriftung ER aktiv ist. läuft ein Impuls durch das ODER-Glied 198 (F i g. 2 N) durch das ODER-Glied 200 in
F_i_g. 2 J zum Tor 202 in F i g. 2 I, um das MDR zum Prozessor zu leiten. Wenn der Eingang mit der Beschriftung
ER aktiv ist, läuft ein Impuls zur Leitung mit der Beschrif'ung ER in F i g. 2 N mit der Anzeige »Fehler, stop«.
Wenn der Eingang mit der Beschriftung FE (F = 0 zu dieser Zeit) aktiv ist, läuft ein Signal zur Leitung mit der
Beschriftung FEin der Fig. 2 N und zeigt an, »stop, Speicherfehlersignal senden«. Wenn der Eingang mit der
Beschriftung TE aktiv ist, läuft ein Impuls zum Einschalten der monostabilen Kippschaltung /a. Der Impuls η
läuft in F i g. 2 O durch das ODER-Glied 204 zur Leitung 154, die zur F i g. 2 B führt und durch das ODER-Glied
168 zum Rückstellen vom Register A. ^1
Wenn die monostabile Kippschaltung/, in den Fig. 2 O und 2 P abschaltet, wird ein Impuls zum Einschalten
der monostabilen Kippschaltung /< erzeugt, der durch das ODER-Glied 204 zur Leitung 144 ;n F ig. 2 O läuft, die
/ur Fig. 2 L führt, wo der Impuls an das Tor Yangelegt wird, um die Ausgabe der Korrekturschaltung zum
Register A zu leiten.
Wenn die monostabile Kippschaltung/- in Fig. 2 B ausschaltet, wird ein Impuls zum Einschalten der monostabilen
Kippschaltung /„ erzeugt, der durch das ODER-Glied 188 in F i g. 2 O zur Leitung 140 läuft, die zu den
I"ig. 2 G und 2 H führt, wo der Impuls das Register MDR zurückstellt.
Wenn die monostabile Kippschaltung /, in F i g. 2 P ausschaltet, wird ein Impuls zum Einschalten der monostiibilen
Kippschaltung/- erze'ugt, der zur Fig. 2 G läuft, wo er das ODER-Glied 194 passiert und zum Tor Z in
1; i g. 2 II führt, um das Register MDR zu laden. 5υ
In Fig. Ί P wird ein Impuls zum Einschalten der monostabilen Kippschaltung /s erzeugt, wenn die monostabile
Kippschaltung /7 abschaltet. In_Fig. 2 M wird der Impuls /s zum Prüfen des Tores 104 verwendet. Wenn
der Eingang mit der Beschriftung ER anliegt, wird ein Impuls durch das ODER-Glied 198 (Fig. 2N), das
ODER-Glied 200 der Fig. 2 J an das Tor 202 (Fig. 2 I) übertragen, um den Inhalt des MDR in den Prozessor zu
leiten. Wenn der Eingang mit der Beschrifti ng GEanliegt, wird ein Impuls an die Leitung mit der Beschriftung
G£in_F_ig. 2 N übertragen der anzeigt »Speicherfehlersignal Halt senden«. Wenn der Eingang mit der Beschriftung
ER anliegt, wird ein Impuls über die Leitung mit der Beschriftung ER mit der Fig. 2 N übertragen, der
anzeigt »Fehler, stop«. Wenn der Eingang mit der Beschriftung FEG anliegt, wird ein Impuls zum Einschalten
der monostabilen Kippschaltung /, (Fig. 2 O) gesendet.
Der Impuls //, läuft durch das ODER-Glied206 (Fig. 2 O) zur Leitung 160, die zur Fi g. 2 B führt, wo mit dem
Impuls das Flipflop 106 auf 1 geschaltet wird. In Fig. 2 O wird ein Impuls erzeugt, der die monostabile Kippschaltung
U1 einschaltet, wenn die monostabile Kippschaltung //, ausschaltet.
Der Impuls /z: läuft durch das ODER-Glied 208 (F i g. 2 O) zur Leitung 146, die zur F i g. 2 B führt wo mit dem
I mpuls ein Schreibzugrifl"zum Speicher erfolgt. Weil das Flipflop 106 aui 1 steht, wird das Korn plernent der Zahl
■m Register A in den Speicher geschrieben. 6^
Als nächstes wird in F i g. 2 O der Impuls //3 erzeugt, der über das ODER-Glied 210 zur Leitung 248 läuft, die
/ur Fig. 2 A führt, wo der Impuls durch das ODER-Glied 182 läuft und einen Lesezugriff zum Speicher vornimmt.
Der Impuls U3 läuft in Fig. 2 O auch durch das ODER-Glied 212 zur Leitung 150, die zu den Fig 2 K
und 2 L führt, und stellt das Register C zurück.
In F ig. 2 P wird als nächstes der Impuls ίί4 erzeugt, der durch das ODER-Güed 214 (Fig. 2 O) zur Leitung 152
läuft, die zur Fig. 2 I führt, wo der Impuls an das Tor 108 angelegt wird, um das Register A auf eine Seite der
Gleichheitsschaltui'g zu leiten, die in den Fig. 2 1,2 J und 2 K dargestellt ist. In F i g. 2 1 wird der Impuls auf der
Leitung 152 außerdem an das Tor 110 angelegt, um das MDR auf die andere Seite derselben Gleichheilsschaltung
zu leiten. In F i g. 2 L wird der verzögerte Impuls auf der Leitung 152 an das Tor 112 angelegt, um die Ausgaben
dieser Gleichheitsschaltungen auf das Register C zu leiten.
Als nächstes wird in F ig. 2 P der Impuls rr5 erzeugt, der durch das ODER-Glied 204 (F i g. 2 O) zur Leitung 154
läuft, die zur Fig. 2 P führt, wo der Impuls durch das ODER-Glied 168 läuft und das Register A zurückstellt.
iö In F i g. 2 P wird als nächstes der Impuls ttb erzeugt, der durch das ODER-Glied 216 (F i g. 2 O) zur Leitung 156
läuft, die zur Fig. 2 L führt, wo der Impuls an das Tor 115 angelegt wird, um den Inhalt des Registers C in das
Register A zu leiten.
Ais nächstes wird in F i g. 2 P der Impuls H1 erzeugt, der durch das ODER-Glied 212 (F i g. 2 O) zur Leitung 150
läuft, die zur Fig. 2 K führt, wo mit dem Impuls das Register C zurückgestellt wird. In Fig. 2 M wird mit dem
Impuls «7 auch das Tor 116 geprüft. Wenn der Eingang UE anliegt, läuft ein Impuls zu der Leitung mit der
Beschriftung OE in F i g. 2 N, wo er anzeigt »Speicherausfall, stop«. Wenn der Eingang mit der Beschriftung GE
aktiv ist, läuft ein Impuls zur Leitung mit der Beschriftung GE in F i g. 2 N, der anzeigt »Speicherfehlersignal
Halt senden«. Wenn der Eingang mit der Beschriftung GE anliegt, läuft ein Impuls zur Leitung mit der Beschriftung
GE in Fig. 2 N, der anzeigt »Schaltungsausfall, stop«. Wenn der Eingang mit der Beschriftung EC anliegt,
2G läuft ein Impuls und schaltet die monostabile Kippschaltung tt% ein.
In F i g. 2 M wird der Impuls r/8 dazu benutzt, das Flipfiop F in den Zustand 1 zu schalten. In F i g. 2 O läuft der
Impuls K8 durch das ODER-Glied 218 zur Leitung 158. In F i g. 2 I wird der Impuls auf der Leitung 158 an das Tor
118 angelegt, um Register A auf eine Seite der im unteren Teil der F i g. 2 1,2 J und 2 Kgezeigten Antivalenzglieder
zu leiten. In F i g. 2 I wird außerdem der Impuls auf der Leitung 158 an das Tor 120 angelegt, um das MDR auf
die andere Seite derselben Antivalenzglieder zu leiten. In Fig. 2 L wird der verzögerte Impuls auf der Leitung
158 an das Tor 122 angelegt, um die Ausgaben dieser Antivalenzglieder an das Register C zu leiten.
Ii" F i g. 2 P wird als nächstes der Impuls «9 erzeugt, der durch das ODER-Glieii 188 (F i g. 2 O) zur Leitung 140
läuft, die zur F i g. 2 G führt, wo mit dem Impuls das MDR zurückgestellt wird. In F ig. 2 O läuft der Impuls 559
durch das ODER-Glied 204 zur Leitung 154, die zur Fig. 2 B führt, wo der Impuls durch das ODER-Glied 168
läuft und das Register A zurückstellt.
In Fig. 2 P wird als nächstes der Impuls ttw erzeugt, der durch das ODER-Glied 216 (Fig. 2 O) zur Leitung
156 läuft, die zur F i g. 2 L führt, wo der Impuls an das Tor 114 angelegt wird, um das Register Czum Register A zu
leiten.
In Fig. 2 P wird ein Impuls erzeugt, wenn die monostabile Kippschaltung Itn, abschaltet, der durch das
ODER-Giied 190 iäufi und die monosiabiie Kippschaltung λ>
einschaltet. Die Reihenfolge der impulse von i> bis
/8 wurde oben beschrieben.
Hierzu 17 Blatt Zeichnungen
Claims (1)
- M Patentansprüche:
EiIf 1. Verfahren zur Erkennung und Korrektur von Fehlern in gespeicherten Datenwörtern mit Införmations-'% bits und nach einem Hammingeode erzeugten redundanten Prüfbits, wobei die Fehler durch schadhafteH 5 Speicherstellen verursacht werden, unter Verwendung einer Einrichtung zur Einzelfehlerkorrektur und-sg Doppelfehlererkennung und zur Anzeige einer geraden oder ungeraden Anzahl von Fehlern, ge-ft kennzeichnet durch die folgenden, bei Anzeige einer geraden Anzahl von Fehlern durchgeführtenfi Schritte zur versuchten Doppelfehlerkorrektur:
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/537,806 US3949208A (en) | 1974-12-31 | 1974-12-31 | Apparatus for detecting and correcting errors in an encoded memory word |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2554945A1 DE2554945A1 (de) | 1976-07-08 |
DE2554945C2 true DE2554945C2 (de) | 1986-04-17 |
Family
ID=24144179
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2554945A Expired DE2554945C2 (de) | 1974-12-31 | 1975-12-06 | Verfahren und Schaltungsanordnung zur Erkennung und Korrektur von Fehlern in gespeicherten Datenwörtern |
Country Status (7)
Country | Link |
---|---|
US (1) | US3949208A (de) |
JP (1) | JPS5413339B2 (de) |
CA (1) | CA1059237A (de) |
DE (1) | DE2554945C2 (de) |
FR (1) | FR2296916A1 (de) |
GB (1) | GB1513831A (de) |
IT (1) | IT1051408B (de) |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4074066A (en) * | 1976-04-26 | 1978-02-14 | International Business Machines Corporation | Message verification and transmission error detection by block chaining |
US4077565A (en) * | 1976-09-29 | 1978-03-07 | Honeywell Information Systems Inc. | Error detection and correction locator circuits |
US4072853A (en) * | 1976-09-29 | 1978-02-07 | Honeywell Information Systems Inc. | Apparatus and method for storing parity encoded data from a plurality of input/output sources |
JPS5381036A (en) * | 1976-12-27 | 1978-07-18 | Hitachi Ltd | Error correction-detection system |
US4139148A (en) * | 1977-08-25 | 1979-02-13 | Sperry Rand Corporation | Double bit error correction using single bit error correction, double bit error detection logic and syndrome bit memory |
JPS5848939B2 (ja) * | 1977-12-23 | 1983-11-01 | 富士通株式会社 | エラ−訂正処理装置 |
IT1089225B (it) * | 1977-12-23 | 1985-06-18 | Honeywell Inf Systems | Memoria con dispositivo rivelatore e correttore a intervento selettivo |
US4163147A (en) * | 1978-01-20 | 1979-07-31 | Sperry Rand Corporation | Double bit error correction using double bit complementing |
US4201337A (en) * | 1978-09-01 | 1980-05-06 | Ncr Corporation | Data processing system having error detection and correction circuits |
US4241446A (en) * | 1978-10-16 | 1980-12-23 | Honeywell Information Systems Inc. | Apparatus for performing single error correction and double error detection |
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 |
US4234955A (en) * | 1979-01-26 | 1980-11-18 | International Business Machines Corporation | Parity for computer system having an array of external registers |
JPS592057B2 (ja) * | 1979-02-07 | 1984-01-17 | 株式会社日立製作所 | エラ−訂正・検出方式 |
JPS6051749B2 (ja) * | 1979-08-31 | 1985-11-15 | 富士通株式会社 | エラ−訂正方式 |
US4335459A (en) * | 1980-05-20 | 1982-06-15 | Miller Richard L | Single chip random access memory with increased yield and reliability |
JPS6241355Y2 (de) * | 1981-01-24 | 1987-10-22 | ||
NL8105799A (nl) * | 1981-12-23 | 1983-07-18 | Philips Nv | Stelsel voor het overdragen van een televisiebeeldinformatie middels een beeldbloksgewijze tegen fouten beschermende kode, beeldvormer met inrichting voor het genereren van zo een bloksgewijs beschermende kode, en weergeeftoestel voor het onder dekodering van de kode weergeven van het televisiebeeld. |
US4503514A (en) * | 1981-12-29 | 1985-03-05 | International Business Machines Corporation | Compact high speed hashed array for dictionary storage and lookup |
US4538270A (en) * | 1983-04-04 | 1985-08-27 | Motorola, Inc. | Method and apparatus for translating a predetermined Hamming code to an expanded class of Hamming codes |
DE3437994A1 (de) * | 1984-10-17 | 1986-04-24 | FAG Kugelfischer Georg Schäfer KGaA, 8720 Schweinfurt | Stellglied fuer eine druckmodulation bei hydraulischen fahrzeugbremsen |
JPS61102841A (ja) * | 1984-10-24 | 1986-05-21 | Nec Corp | 回線品質監視装置 |
US4661955A (en) * | 1985-01-18 | 1987-04-28 | Ibm Corporation | Extended error correction for package error correction codes |
GB9213818D0 (en) * | 1992-06-30 | 1992-08-12 | Inmos Ltd | Digital signal comparison circuitry |
US6745363B2 (en) * | 1999-07-30 | 2004-06-01 | Hewlett-Packard Development Company, Lp | Early error detection using ECC |
US7421642B2 (en) * | 2002-04-05 | 2008-09-02 | Seagate Technology Llc | Method and apparatus for error detection |
US7069494B2 (en) * | 2003-04-17 | 2006-06-27 | International Business Machines Corporation | Application of special ECC matrix for solving stuck bit faults in an ECC protected mechanism |
US7080288B2 (en) * | 2003-04-28 | 2006-07-18 | International Business Machines Corporation | Method and apparatus for interface failure survivability using error correction |
JP4364012B2 (ja) * | 2003-05-14 | 2009-11-11 | 株式会社東芝 | 紙葉類の重送検知装置、および重送検知方法 |
US7533325B2 (en) * | 2003-07-14 | 2009-05-12 | International Business Machines Corporation | Anamorphic codes |
TWI259356B (en) * | 2004-03-26 | 2006-08-01 | Infortrend Technology Inc | Apparatus for checking data coherence, controller and storage system having the same and method therefore is disclosed |
US7904789B1 (en) * | 2006-03-31 | 2011-03-08 | Guillermo Rozas | Techniques for detecting and correcting errors in a memory device |
CN101527171B (zh) * | 2009-04-17 | 2012-05-23 | 成都市华为赛门铁克科技有限公司 | 一种多通道并行纠错的闪存控制方法和装置 |
US8996955B2 (en) | 2011-11-16 | 2015-03-31 | HGST Netherlands B.V. | Techniques for storing data in stuck and unstable memory cells |
US9070483B2 (en) | 2012-10-10 | 2015-06-30 | HGST Netherlands B.V. | Encoding and decoding redundant bits to accommodate memory cells having stuck-at faults |
US9274884B2 (en) | 2012-10-10 | 2016-03-01 | HGST Netherlands B.V. | Encoding and decoding data to accommodate memory cells having stuck-at faults |
US8812934B2 (en) | 2012-12-12 | 2014-08-19 | HGST Netherlands B.V. | Techniques for storing bits in memory cells having stuck-at faults |
US8943388B2 (en) | 2012-12-12 | 2015-01-27 | HGST Netherlands B.V. | Techniques for encoding and decoding using a combinatorial number system |
US10735199B2 (en) | 2018-01-02 | 2020-08-04 | Bank Of America Corporation | File based transmission validation and failure location identification system |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3568153A (en) * | 1968-09-16 | 1971-03-02 | Ibm | Memory with error correction |
US3668631A (en) * | 1969-02-13 | 1972-06-06 | Ibm | Error detection and correction system with statistically optimized data recovery |
US3622982A (en) * | 1969-02-28 | 1971-11-23 | Ibm | Method and apparatus for triple error correction |
US3648239A (en) * | 1970-06-30 | 1972-03-07 | Ibm | System for translating to and from single error correction-double error detection hamming code and byte parity code |
US3678469A (en) * | 1970-12-01 | 1972-07-18 | Ibm | Universal cyclic division circuit |
US3688265A (en) * | 1971-03-18 | 1972-08-29 | Ibm | Error-free decoding for failure-tolerant memories |
US3714629A (en) * | 1971-06-01 | 1973-01-30 | Ibm | Double error correcting method and system |
US3755779A (en) * | 1971-12-14 | 1973-08-28 | Ibm | Error correction system for single-error correction, related-double-error correction and unrelated-double-error detection |
US3836957A (en) * | 1973-06-26 | 1974-09-17 | Ibm | Data storage system with deferred error detection |
-
1974
- 1974-12-31 US US05/537,806 patent/US3949208A/en not_active Expired - Lifetime
-
1975
- 1975-09-05 GB GB36572/75A patent/GB1513831A/en not_active Expired
- 1975-11-12 CA CA239,392A patent/CA1059237A/en not_active Expired
- 1975-11-19 JP JP13829175A patent/JPS5413339B2/ja not_active Expired
- 1975-11-28 FR FR7537206A patent/FR2296916A1/fr active Granted
- 1975-12-06 DE DE2554945A patent/DE2554945C2/de not_active Expired
- 1975-12-19 IT IT30505/75A patent/IT1051408B/it active
Also Published As
Publication number | Publication date |
---|---|
DE2554945A1 (de) | 1976-07-08 |
FR2296916B1 (de) | 1981-05-22 |
JPS5413339B2 (de) | 1979-05-30 |
CA1059237A (en) | 1979-07-24 |
JPS5180728A (de) | 1976-07-14 |
US3949208A (en) | 1976-04-06 |
IT1051408B (it) | 1981-04-21 |
GB1513831A (en) | 1978-06-14 |
FR2296916A1 (fr) | 1976-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2554945C2 (de) | Verfahren und Schaltungsanordnung zur Erkennung und Korrektur von Fehlern in gespeicherten Datenwörtern | |
DE2060643C3 (de) | Schaltungsanordnung zur Korrektur von Einzelfehlern | |
DE2260850C2 (de) | Schaltungsanordnung zur Erkennung von Einzel- und Mehrfachfehlern und zur korrektur von Einzel- und bestimmten Mehrfachfehlern | |
DE2132565C3 (de) | Umsetzer | |
DE68920523T2 (de) | Verfahren zur Korrektur von Mehr-Byte-Fehlern. | |
DE2622184A1 (de) | Fehlerkorrekturverfahren | |
DE3882223T2 (de) | Ausgebreitete Fehlerkorrekturvorrichtung mit Einzel-Paket-Fehlerkorrektur und Doppel-Paket-Fehlerdetektionscoden. | |
DE2421112A1 (de) | Speicheranordnung | |
DE102005048255A1 (de) | Integriertes Schaltungsbauelement und Betriebsverfahren | |
EP0922254A1 (de) | Fehlererkennung in einem speichersystem | |
DE2160412A1 (de) | Binärdatenumsetzer | |
DE2357168C2 (de) | Schaltungsanordnung für einen Speichermodul | |
DE2106314B2 (de) | Anordnung zur Fehlererkennung und -korrektur in einem aus b Bits bestehenden Byte eines K Datenbytes enthaltenden Datenblocks | |
DE2659031B2 (de) | Fehlerkorrektur- und -Steuersystem | |
DE2157829C2 (de) | Anordnung zum Erkennen und Korrigieren von Fehlern in Binärdatenmustern | |
DE102007007546A1 (de) | Fehlerkorrekturcode-Striping | |
DE3537451A1 (de) | Vermittlungsanlage mit fehlerkorrektur | |
DE60215687T2 (de) | Fehlerkorrektion von multibit-baueinheiten mit unbeschränkter erkennung von doppelfehlern | |
DE2608435A1 (de) | Vorrichtung zur fehlererkennung und fehlerkorrektur in digitalen datenverarbeitungsanlagen | |
DE2320354C2 (de) | Schaltungsanordnung zur Erkennung und Korrektur von Fehlern in Bitgruppen | |
DE2053836C3 (de) | Anordnung zur Korrektur von Fehlerbündeln in binär codierten Datengruppen | |
DE2047868A1 (de) | Schaltung zur Korrektur von Einzel fehlern in den Wortern eines zyklischen (n, k) Codes | |
DE69021413T2 (de) | Fehlertolerantes Rechnerspeichersystem mit Entvalidierungsmerkmal. | |
EP0922253B1 (de) | Fehlererkennung in einem speichersystem | |
DE2655653C2 (de) | Anordnung zur Feststellung der richtigen Zuordnung von Adresse und Speicherwort in einem wortorganisierten Datenspeicher |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OD | Request for examination | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |