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örtern

Info

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
Application number
DE2554945A
Other languages
English (en)
Other versions
DE2554945A1 (de
Inventor
William Caswell Woodbury Conn. Carter
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2554945A1 publication Critical patent/DE2554945A1/de
Application granted granted Critical
Publication of DE2554945C2 publication Critical patent/DE2554945C2/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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • G06F11/167Error detection by comparing the memory output
    • 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/1024Identification 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
16
S- = P- Φ V d, (Mod 2 Summe von P2 und d., bis dxu)
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
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-
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:
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.
= 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.
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)

  1. M Patentansprüche:
    Ei
    If 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 schadhafte
    H 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ührten
    fi Schritte zur versuchten Doppelfehlerkorrektur:
DE2554945A 1974-12-31 1975-12-06 Verfahren und Schaltungsanordnung zur Erkennung und Korrektur von Fehlern in gespeicherten Datenwörtern Expired DE2554945C2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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