DE2320354C2 - Schaltungsanordnung zur Erkennung und Korrektur von Fehlern in Bitgruppen - Google Patents
Schaltungsanordnung zur Erkennung und Korrektur von Fehlern in BitgruppenInfo
- Publication number
- DE2320354C2 DE2320354C2 DE2320354A DE2320354A DE2320354C2 DE 2320354 C2 DE2320354 C2 DE 2320354C2 DE 2320354 A DE2320354 A DE 2320354A DE 2320354 A DE2320354 A DE 2320354A DE 2320354 C2 DE2320354 C2 DE 2320354C2
- Authority
- DE
- Germany
- Prior art keywords
- bits
- circuit
- group
- bit
- syndrome
- 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/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/1028—Adjacent errors, e.g. error in n-bit (n>1) wide storage units, i.e. package 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
/ eine 6X6 Einheitsmatrix ist, und
A eine b x b Matrix ist, die die multiplikative Gruppe des Galois-Feldes GF[2*] erzeugt,
wobei zur Bildung der r Prüfbitgruppen aus dieser Matrix eine Anzahl von rSpalten derart ausgewählt wird,
daß die /■ = 2 f + «/ausgewählten Spalten linear unabhängig sind, worin /die Anzahl der zu korrigierenden Bitgruppen,
und d die Anzahl der zusätzlich zu erkennenden Bitgruppen angibt, und für jeden der / Bitgruppenfehler
ein einzigartiges Syndrombitmuster erzeugt wird, daß ein an den Syndromgenerator (14) angeschlossener
Generator (16) für Gruppen-Hinweissignale vorgesehen ist, die anzeigen, weiche der Bitgruppen
fehlerhaft sind, und daß ferner ein ebenfalls an den Syndromgenerator angeschlossener Generator (18) für
Fehlermusteranzeigen vorgesehen ist, der eine Reihe von Fehlermustern entsprechend den verschiedenen
möglichen Fehlern in einer Bitgruppe liefert, wobei die Erzeugung der Gruppen-Hinweissignale und der
Fehlermusteranzeigen unter Verwendung der Syndrombits und der Gesetzmäßigkeiten der Matrix M
erfolgt,
und daß eine an den Generator (16) für Gruppen-Hinweissignale und den Generator (18) für Fehlermusteranzeigen
angeschlossene Korrekturschaltung (20) zur Korrektur der Datenbits und der Prüfbits vorgesehen
ist.
2. Schaltungsanordnung nach Anspruch 1, gekennzeichnet durch einen an die Korrekturschaltung (20)
angeschlossenen Regeneiator (24) fur Syndrompaare, dem die korrigierten Datenbits und die korrigierten
Prüfbits zugeleitet werden, und daß an den Regenerator eine Reduzierschaltung (26) für Prüfausgangssignale
angeschlossen ist, welche ein Ausgangssignalpaar R erzeugt, mit dem ein Doppelfehler in einer Bitgruppe
erkannt werden kann.
Die Erfindung bezieht sich auf eine Schaltungsanordnung gemäß dem Oberbegriff des Anspruchs 1.
Bei den heute gebräuchlichen Speichersystemen in Datenverarbeitungsanlagen erfolgt die Korrektur und
5(i Erkennung von Fehlern durch verschiedene Verfahren. Von diesen ist die Paritätsprüfung am weitesten verbreitet.
Bei diesem Verfahren wird wenigstens ein zusätzliches Bit den Datenbiis einer Informationseinheit hinzugefügt.
Diese zusätzlichen Paritätsprüfbits dienen dazu, die Richtigkeit der Daten einer Informationseinheit
anzuzeigen. So zeigt ein Paritätsbii an, ob die Informationseinheit eine ungerade oder gerade Anzahl von binären
Einsen enthält. Dabei sind Einrichtungen zur Erzeugung der richtigen Paritätsbits an verschiedenen Übertragungspunkten
innerhalb der Zentraleinheit und Einrichtungen zur Prüfung der Parität vorgesehen.
Außer der Fehlererkennung durch Paritätsprüfung werden bisher zahlreiche andere Codes zur Fehlerkorrektur
und -erkennung benutzt. Eine typische Klasse solcher Codes ist allgemein unter dem Namen Hamming-Codes
zur Korrektur von Einzelbitfehlern und Erkennung von Doppelbitfehlern bekannt. Bei diesen Codes können
Fehler korrigiert werden, die in Basisspeichermoduln, von denen jeder ein Bit einer Informationseinheit
M· speichert, auftreten und es können Fehler erkannt werden, die in zwei Basisspeichermoduln auftreten.
Zur Fehlerkorrektur und -erkennung wurden bisher sogenannte Syndrome erzeugt, die angeben, ob Fehler
aufgetreten sind und welches spezielle Bit im jeweiligen Wort korrigiert werden muß. Die oben erwähnten
Codes und die zugehörigen Umsetzer ermöglichen die Fehlererkennung und -korrektur von Datenfehlcrn, die
in einem Speichersystem auftreten, das so organisiert ist, daß jeder der den Speicher bildenden Basisspcichcr-
<>5 moduln ein Bit eines Wortes speichert. Diese Codes und Umsetzer sind jedoch nicht zur Erkennung und Korrektur
von Fehlern geeignet, die bei Basisspeichermoduln auftreten, von denen jeder b Bits eines Wortes speichert,
wenn b > 1 ist.
F.ssind zwar aus dem von I. S. Reed und G. Solomon im Juni 1960 in der Zeitschrift »Journal of the Soeictvof
Industrial and Applied Mathematics«, S.300-304, veröffentlichten Aufsatz »Polynomial Codes over Certain
.'; Finite Fields« Codes bekannt, die auch die Fehlererkennung und -korrektur in Speichern ermöglichen, die aus
*■ Basisspcichermoduln aufgebaut sind, von denen jeder b Bits eines Wortes speichert. Nachteilig bei den genann-
; len Codes ist jedoch, daß die für die Fehlererkennung und -korrektur erforderlichen Codeumsetzer nicht die
Parallelverarbeitung der aus dem Speicher ausgelesenen Bits eines Wortes ermöglichen.
1;-. In der älteren, nicht vorveröffentlichten Patentschrift DE-PS 22 60 850 ist eine Schaltungsanordnung zur
Erkennung von Einzel- und Mehrfcichfehlern beschrieben, welche im Zusammenhang mit einem Speicher verwendet
wird, der aus Basisspeichermoduln besteht, die jeweils zwei Bits speichern können. Sofern also die in
dieser Patentschrift beschriebene Einrichtung fehlerhafte Bitgruppen erkennen kann, handelt es sich jeweils nur
um aus zwei Bits bestehende Gruppen. Sofern weiterhin die in dieser Patentschrift beschriebenen Prinzipien
\ eine Erwiderung der Anzahl Bits pro Gruppe gestatten, wird dabei bei Vergrößerung der Anzahl Bits pro
' Gruppe sehr rasch ein extrem hoher Aufwand benötigt Dies ergibt sich daraus, daß in der beschriebenen Ein-
M richtung außer den bei der Fehlererkennung üblichen Einheiten, wie einen auf einer bestimmten Prüfmatrix
aufgebauten Syndromgenerator, einen Syndromdecodierer und einer Korrekturschaltung keine für die Korrektür
von Bitgruppenfehlern wirkungsvollen Einheiten vorgesehen sind.
■;■; Der Erfindung liegt daher die Aufgabe zugrunde, für die Fehlererkennung und -korrektur einen Codeumsetzer
anzugeben, der für die Parallelverarbeitung von Codewörtern geeignet ist, die einem wie oben angegeben
organisierten Speicher einer programmgesteuerten Datenverarbeitungsanlage entnommen wurden bzw. in ihm
:; zu speichern sind, und eine Korrektur, bzw. Erkennung mit hoher Wahrscheinlichkeit, von mehreren fehler-
JS haften £-Bit-Gruppen gestattet.
ψ Die genannte Aufgabe wird mit Hilfe der im Anspruch I gekennzeichneten Schaltungsanordnung gelöst.
-.3 Die Erfindung soll nun anhand eines Ausführungsbeispiels beschrieben werden.
ri Es zeigt
p Fig. 1 in einem Blockdiagramm ein Ausführungsbeispiel einer Schaltungsanordnung zur Erkennung und
|§ Korrektur von Fehlern,
Fig. 2 in einem Blockdiagramm ein anderes Ausfuhrungsbeispiel einer solchen Schaltungsanordnung.
Fig. 3 A-3Z-I zusammengefügt gemäß Fig. 3 eine genauere Darstellung der Schaltungsanordnung,
Fig. 4 A und 4B zusammengefügt nach Fig. 4 eine Liste logischer Gleichungen für die in der in Fig. 3 gezeigten
Schaltungsanordnung erzeugten Syndrome,
Fig. 5 eine Liste logischer Gleichungen für die in der in Fig. 3 gezeigten Schaltungsanordnung erzeugten .-o
Gruppenhinweissignale,
Fig. 6 A und 6 B zusammengefügt nach Fig. 6 eine Liste logischer Gleichungen für die in der in Fig. 3 gezeigten
Schaltungsanordnung erzeugten Fehlermusteranzeigen,
Fig. 7 A und 7 B zusammengefügt nach Fig. 7 eine Liste logischer Gleichungen für die regenerierten Syndrompaare,
die in der in Fig. 3 gezeigten Schaltungsanordnung erzeugt wurden,
Fig. 8 A und 8C zusammengefügt nach Fig. 8 eine Liste logischer Gleichungen für die korrigierten Daten
und Prüfbits, die in der in Fig. 3 gezeigten Schaltungsanordnung erzeugt wurden,
F i g. 9 ein Ausführungsbeispiel einer bei der Erzeugung der Gruppenhinweissignale in der Schaltungsanordnung benutzten Koinzidenzschaltung.
In der nachfolgenden Beschreibung der Erfindung wird mit dem Ausdruck »Basisspeichermodul« eine Speicherorganisation
gekennzeichnet, bei der eine Vielzahl von Basisspeichermoduln, im folgenden kurz BSM
genannt, für Parallelbetrieb eingerichtet sind, so daß ein Datenwort des Speichers aus Bitgruppen zu je b Bits
zusammengesetzt ist, wobei jeder BSM eine Bitgruppe aufnimmt bzw. abgibt. Eine derartige Organisation gibt
die Möglichkeit, daß jeder Ausfall in einem BSM als Fehler in einer Bitgruppe aus b Bits erscheint.
Um den Umfang der Adreßdecodiererschaltung zu reduzieren, verwendet man normalerweise eine Speicher-Organisation,
bei der mehrere Bits pro BSM aufgenommen oder abgegeben werden. Um Ausfälle in einem BSM
tolerieren zu können, (wodurch eine Gruppe benachbarter Bits im Codewort beeinflußt wird), sind gemäß der
Erfindung neuartige Schaltungsanordnungen zur Erkennung und Korrektur von Fehlern vorgesehen.
Der ersten Schaltungsanordnung liegt eine Codeklasse zugrunde, bei der die Korrektur einer fehlerhaften
Gruppe aus b Bits mittels eines Codes zur Korrektur zweier benachbarter Bitgruppen aus je b/2 Bits erfolgt unter
Verwendung derselben Anzahl von Prüfbits wie in einem Code zur Korrektur einer fehlerhaften Gruppe aus b
Bits vorgesehen sind. Dieser Code ist bei einer Speicherorganisation mit b Bits/BSM in der Lage, Fehler, die auf
den Ausfall eines BSM zurückzuführen sind., zu korrigieren und Fehler, die auf den Ausfall zweier BSMs zurückzuführen
sind, mit einer Wahrscheinlichkeit von mehr als 0,98 zu erkennen.
Der zweiten Schaltungsanordnung liegt eine Codeklasse zugrunde zur Korrektur einer und zur Erkennung
zweier fehlerhaften Gruppen aus b benachbarten Bits, die l,5mal so viele Prüfbits benötigen wie der Code zur
Erkennung einer fehlerhaften Gruppe aus b benachbarten Bits. Diese Codeart kann bei einer Speicherorganisation
von b Bits pro BSM Fehler korrigieren, die auf die Auslalle in einem einzelnen BSM zurückzuführen sind
und Fehler erkennen, die auf Ausfalle in je zwei BSM zurückzuführen sind und mit einer Wahrscheinlichkeit
von mehr als 0,95 Fehler erkennen, die auf Ausfälle in je drei BSMs zurückzuführen sind.
Wie anschließend gezeigt wird, ist die Fehlertoleranzkapazität dieser Schaltungsanordnungen dadurch
gekennzeichnet, daß jeder Einzelfehler in der Schaltung entweder erkannt wird oder kein fehlerhaftes Ausgangssignal
erzeugt und daß die wahrscheinliche Akkumulation nicht erkannter Fehler in der.Schaltung vor der
endgültigen Erkennung kein fehlerhaftes Ausgangssignal erzeugt, welches nicht erkannt wird.
Nachfolgend wird die erste Schaltungsanordnung und der ihr zugrundeliegende Code beschrieben.
Bei einer Speicherorganisation mit b Bits/BSM ist die Paritätsprüfmatrix für den Code folgende.
H =
A3 A"
Datenbits — | > | « / |
- Prüfbits - O O |
O | O |
AJ | Ak | O | / | / | O |
A2' | A | O | O | O | O |
A'1 | An I | O | O | / |
In dieser Matrix ist A' < 2ft/2-2, K gerade
/ = b/2 x b/2 Einheitsmatrix
A = b/2 X b/2 Matrix über Gf" [2] dessen charakteristisches Polynom ein primitives Polynom des
Grades b/2
Anzahl der verwendeten Prüfbits 2 b
Höchstzahl der Informationsbits = b/2 (24/2-2)
Höchstzahl der Informationsbits = b/2 (24/2-2)
Alle Spalten sind so gewählt, daß die zu korrigierenden Fehler eindeutige Syndrommuster ergeben.
Da gezeigt werden kann, daß durch passende Auswahl alle Fehler in zwei Gruppen aus je b/2 benachbarten
Bits (Doppelfehler) verschiedene Syndrome liefern, korrigiert der Code Fehler in zwei Gruppen aus je b/2
benachbarten Bits. Demzufolge kann auch eine fehlerhafte Gruppe aus b benachbarten Bits (Einzelfehler) korrigiert
werden. Für die Korrektur einer Gruppe aus b benachbarten Bits werden Kinweissignale auf zwei fehlerhafte
Bitgruppen aus b/2 Bits G11 und Anzeigesignale e„ e} für Fehlermuster in zwei Bitgruppen aus je b/2 Bits
erzeugt. Der Wert eines H inweissignales G(i ist 1, wenn die beiden Gruppen aus b/2 benachbarten Bits beide fehlerhaft
sind. Für jedes /gibt *>, das zu korrigierende Fehlermuster an, wenn die Gruppe /aus b/2 benachbarten
Bits fehlerhaft ist. Da nur eine Gruppe aus b benachbarten Bits korrigiert werden soll, brauchen nur die nachfolgenden
Gruppenhinweissignale erzeugt zu werden: Gu mit (i,j) f (1,2); (3,4); ... (A- + 3, k + 4).
In F i g. 1 ist ein Ausführungsbeispiel einer Schaltungsanordnung nach dem Erfindungsgedanken gezeigt, der
In F i g. 1 ist ein Ausführungsbeispiel einer Schaltungsanordnung nach dem Erfindungsgedanken gezeigt, der
3c der oben angegebene Code zugrundeliegt. Im Ausführungsbeispiel werden die Syndrome zuerst im Syndromgenerator
14 aus den Bits im Datenwortregister (DWR) 12 [darstellungsgemäß den Basisspeichermoduln
(BSM) 10 der Speicherorganisation zugeordnet] nach der oben für den Code gezeigten Paritätsprüfmatrix H
erzeugt. Wenn also das Wort wein Wort im Datenwortregister 12 ist, ist das zugehörige Syndrom Sgegeben durch
die Gleichung
5 = 1 Θ Hw
worin 1 eine 26X1 Matrix aus lauter l'sen ist und
worin 1 eine 26X1 Matrix aus lauter l'sen ist und
IV = Vd1 ι
- J. h/2
ist, worin alle Syndrombits gleich 1 sind, wenn wein Codewort ist. Die Gruppenhinweissignale werden dann aus
den Syndrombits im Generator für die Gruppenhinweissignale 16 erzeugt. Die Gruppenhinweissignale Gn, G34,
..., G1 . + 3 k + 4 geben an, welche Gruppe aus b benachbarten Bits fehlerhaft ist aufgrund eines Ausfalles in einem
Basisspeichermodul.
Wenn das Syndrom S in Form von vier Vektoren S,, S2-, S3, S4 aus je b/2 Bits wie nachfolgend dargestellt ausgedrückt
wird,
S =
Si | , S1 = | sh/2 | , Si = | sh/2 + 1 | , S3 = | Sh+ 1 | , S4 = | s3b/2 + I |
S2 | ||||||||
Si
S, |
J2h | |||||||
kann gezeigt werden, daß bei Fehlerhaftigkeit der Bitgruppen / undy aus je 6/2 benachbarten Bits (/,./<
A) des Wortes M' und den Fehlermustern e, und e, sich folgendes ergibt:
(D
51 = <-, © i'i
52 = A'e,® A'ej
S, = /42V, Φ ,42V,
S4 = /4-1V,- Θ A1Jej
worin S1 ein Vektor ist, dessen Elemente die Komplemente der Elemente von S1 sind. Bei der Auflösung nach
<··,, C1 unter Verwendung der beiden ersten Gleichungen in (1) ergibt sich
-(A1S1QS2)
A'®A
1
A'®AJ
A'®AJ
Setzt man (2) in die letzten beiden Gleichungen von (1) ein, so ergibt sich
S4 = Ai*J(Ai®A')Si®(Ali®A2i®Ai+i)S2
Somit sind die Gruppenhinweissignale G11 für i,jc(\, 2,..., k) gegeben durch
Somit sind die Gruppenhinweissignale G11 für i,jc(\, 2,..., k) gegeben durch
[G11=S) -(A' *^θ(^'Φ^)ϊ2] Λ [S4 =(Al+J(A'®AJ)S\®(All®Alj® A^)S
(2)
(3)
15
(4) JU
worin das Gleichheitszeichen in den eingeklammerten Ausdrücken die Koinzidenz angibt und das Λ-Zeichen
eine UND-Verknüpfung. Die Gleichung 4 gibt den Ausdruck fur die Gruppenhinweissignale G[2, G34..., <7<- ]Λ.
Die Gruppeiihinweissignale für die Prüfbitgruppen sind gegeben durch
Ab
ι. a + 2 = Λ j, = O und
2*
(S)
2b
-ι χ α + 4
= 0
J(I
Die Fehlermusteranzeigen für die Prüfbitgruppen werden in dem Generator für Fehlermusteranzeigen 18
erzeugt und sind gegeben durch
(6)
- S4
Die Schaltung für die Erzeugung der Gruppenhinweissignale und die Fehlermusteranzeigen läßt sich dadurch
sehr klein halten, daß man die Spalte der nachfolgend aufgeführten Paritätsprüfmatrix entsprechend auswählt.
Diese Paritätsprüfmatrix dient auch dazu, den Schaltungsaufwand in einer Speicherorganisation mit b Bits pro
BSM möglichst klein zu halten.
H =
/ | 1 | / | - Datenbits / |
9/ | / | I | ■ |
<—
/ |
- Prüfbits O O |
O | O |
A | AQ | A | A2G | ®D2 .. | . Ak | Ak | ®I | O | / | 1 | O |
A2 | (A | A4 | (A2 | £/)3 .. | . A2k | (A | k φ rf | O | O | O | O |
A2 | (Ai | A6 | (A2 | . A3k | (A | 1 φ rf | O | O | 1 | ||
U2 | |||||||||||
B/)2 |
5(1
55
60
65
WO
k < 2Λ/2-2
/ = b/2 x b/2 Einheitsmatrix
A = b/2 x b/2 Matrix über GF [2], dessen charakteristisches Polynom ein primitives Polynom des
Grades b/2 ist.
Anzahl der benutzten Prüfbits = 2 b. Höchstzahl der Informationsbits = b/2 (2"'2-2).
In der oben gezeigten Matrix haben je zwei benachbarte Spalten 1, 2; 3, 4; ...; A-I, k die Form
"/ | 1 |
A' | A'®! |
A2i | (A'®1)2 |
_A3'_ | (Α'® Γ? |
Es wurde sichergestellt, daß nicht zwei Saplten der gesamten //-Matrix identisch sind und alle Gruppen aus
vier Spalten, die ein Hinweissignal enthalten, linear unabhängig sind. Die Paritätsprüfmatrix für eine Speicherorganisation
mit 8 Bits/BSM bei einer Wortgröße von 32 Bits ist als Beispiel anschließend aufgeführt.
H =
ι«— / |
/ | 1 | O | / | 0~ | - Datenbits - / / |
A' | J | I | I | 4 / |
- Prüfbits - O O |
O | O |
A | A4 | O | 1 | A2 | O | A* | A" | A" | A' | Aw | O | / | / | O |
A2 | A* | O | O | AA | 1 | A | A9 | A" | A]0 | A' | O | O | O | O |
A}
\ |
An | O | O | Ab | O | A" | An | A | A | O | O | O | ||
~0 | ||||||||||||||
O | ||||||||||||||
1 | ||||||||||||||
1 |
A =
Die obige Matrix enthält 32 Informationsbits und 16 Prüfbits. Bei der Speicherorganisation mit 8 Bits/BSM
werden folgende Gruppenhinweissignale verwendet:
Gn
= l(S} = (S2 ® A5S1)) Λ [J4 = (S3 φ A5S2)]
C34 = [(S3 =(S2®A 10S",)] Λ [S4 = (S3 Φ A 10S2)]
G56 = [(S3 - (S2 Φ ^2S1)] Λ [S4 = (S3 Φ A2S2)]
G78 = [(S3 = (S2 © Si)] Λ [S4 = (S3 @ S2)]
16
= 0)
/=
Gn,J2 = Μί = 0)
/» ι
Daraus folgt, daß das allgemeine Hinweissignal Gy für den Fall, in welchem benachbarte Spalten gewählt werden,
nach der obigen Darstellung sich folgendermaßen ergibt:
G11 = [S3 = (S2 Φ AS1)] [S4 = (S3 Φ SS2]
mil R= A'(A'®1)
Die Anzeigesignale für Fehlermuster in einer Bitgruppe aus b/2 Bits i,j werden zu
e, = (A'®l)S{ ®S2
«•/ti'i+i = A'Si Φ S, (8)
«•/ti'i+i = A'Si Φ S, (8)
Die Gruppenhinweissignale haben folgende Eigenschaften:
a) Im Coderaum sind alle G0 = 1 und alle e, = 0.
b) In dem Fehlerraum einer fehlerhaften Gruppe aus b/2 benachbarten Bits ist genau ein Gruppenhinweissignal
Gv = 1 und entweder e, 4 0 oder e, 4 0, die andere Fehlermusteranzeige eh IΦ i,j ist von Null verschieden.
c) In dem Fehlerraum einer fehlerhaften Gruppe aus je b/2 benachbarten Bits ist genau ein Gruppenhinweissignal
Gu = 1 und alle e, von Null verschieden, 1
< / < k + 4.
d) In dem Fehlerraum zweier fehlerhafter Gruppen aus je b/2 benachbarten Bits bestehenden Gruppen sind
alle Gruppenhinweissignale C„ = 0. Tatsächlich sind alle Gruppenhinweissignale G11 = 0 für alle Syndrom- 2U
muster mit Ausnahme der Fälle a, b, c.
Da von den Gruppenhinweissignalen Gu bekannt ist, welche Gruppe einen Fehler enthält und da auch
b:!:innt ist, welches Fehlermuster zu korrigieren ist, führt die Korrekturschaltung 20 in Fig. 1 die Korrektur
einer Gruppe aus b benachbarten Bits nach folgenden Gleichungen aus:
Λ | d,,® G |
du = | |
Λ | 4-Μ./« |
d,r+ ι , = | |
10 ·,+ ,.,/= 1,3,5 A:+ 3
für die aus b nebeneinanderliegenden Bits bestehende Gruppe, die aus den Gruppen / und / + 1 aus je b/2
benachbarten Bits zusammengesetzt ist, wobei
<7. i/2
und dj ι das /-Bit der /-ten Gruppe aus b/2 benachbarten Bits ist.
Die Gruppenhinweissignale, die in der Stufe 16 erzeugt wurden, und die Anzeigesignale für Fehlermuster, die
in der Stufe 18 erzeugt wurden, werden vorteilhaft aus den in Stufe 14 erzeugten Syndromen als Eingangssignalcn
erzeugt und nicht mit den Komplementen der Syndrome, wie sie in den obigen Gleichungen erscheinen.
Demzufolge liefert jede Generatorschaltung für die Fehlermuster-Anzeigen und jede Generatorschaltung für
die Gruppenhinweissignale eine Regenerierung der Syndromkomplemente. Die erfindungsgemäße Schaltungsanordnung
kann daher eine größere Menge akkumulierter Fehler in der Generatorschaltung für die Gruppenhinweissignale
und die Fehlermusteranzeigen tolerieren.
Die einzelne Bits korrigierende Korrekturschaltung 20 empfängt Eingangssignale vom Datenwortregister 12,
vom Generator für Gruppenhinweissignale 16 und vom Generator für Fehlermusteranzeigen 18. Als Ausgangssignale
liefert die Korrekturschaltung 20 korrigierte Datenbits und korrigierte Prufbits.
Beim Betrieb der Korrekturschaltung 20 ist zu berücksichtigen, daß die Syndrome für ein Wort aus vier Gruppen
zu je aus b/2 benachbarten Bits niemals aus lauter Einsen bestehen, da Syndrome für zwei Gruppen aus je
b/2 benachbarten Bits verschieden sind. Mit dieser Eigenschaft kann man zwei fehlerhafte Gruppen im Eingabewort
folgendermaßen erkennen. Die korrigierten Datenbits im Speicherdatenregister 22 und die korrigierten
Prüfbits werden einer Stufe 24 zugeleitet, wo sie zur Regenerierung eines Satzes von selbstprüfbaren Syndrompaaren
benutzt werden. Die Syndrompaare wiederum werden an eine RSPS-Schaltung (Rechizierschaltung
für Prüfausgangssignale) geleitet, die ein %-Ausgangsmaterial erzeugen, wenn und nur wenn alle Syndrompaare
den Wert % angenommen haben. Der Regenerator für Syndrompaare 24 und die RSPS-Stufe 26 bilden zusammen
eine RSP-Prüfschaltung (regeneriertes Syndrompaar). Ein Doppelfehler in einer Gruppe aus * benachbarten
Bits im Eingangsdatenwort wird erkannt als ΐ? am Ausgang dieser selbstprüfenden Schaltung. Die RSP-Prüfschaltung
erkennt auch bis zu vier aus b/2 benachbarten Bits bestehende, falsch korrigierte Gruppen im korrigierten
Wort, die aus einem Schaltungsausfall im Umsetzer resultieren. Eine solche Regenerierung von Syndromen
zusammen mit der Fähigkeit, daß vier Gruppen aus b/2 benachbarten Bits kein Syndrom aus lauter Einsen
erzeugen, ist erforderlich, um die selbstprüfende Eigenschaft der Schaltungsanordnung zu garantieren. Ein Beispiel
für eine RSPS-Schaltung 26 ist ausführlich in der US-Patentschrift Nummer 35 59 167 beschrieben.
Die korrigierten Datenbits werden einem Byteparitätscodierer 28 zugeleitet, in dem die Byteparitätsbits
erzeugt werden, die mit den Datenbits im Speicherdatenregister 22 gespeichert werden. Um sicherzustellen, daß
die erzeugten Paritätsbits im Speicherdatenregister 22 richtig sind, werden jedes Byte und sein Paritätsbit den
selbstprüfenden Paritätsprüfschaltungen 30 und 32 zugeleitet, die geeignete Antivalenzschaltungen sind. Die
Signalpaare dieser Pi ufschaltungen werden zu einem Paar selbstprüfbarer Signale w durch eine RSPS-Schalrung
34 reduziert. Die RSPS-Schaltung 34 erkennt jeden Fehler zwischen der Fehlerkorrekturschaltung und em
die Anzeige w liefernden Leitungspaar.
Bei bestimmten Kombinationen von Wortlängen und Anzahl der Bits pro Basisspeichermodul erhält man die
Parität der Byten direkt aus der Teilmenge der korrigierten Prüfbits. Somit können der Byteparitätscodierer 28
und die selbstprüfenden Paritätsprüfschaltungen 30 und 32 weggelassen und die Richtigkeit der Byteparitätsbits
durch die RSP-Prüfschaltung garantiert werden. In einem solchen Fall enthält jedes Byte genau ein Bit eines
jeden BSM. Bei einer Speicherorganisation von z.B. 32 Informationsbits und 8 Bits/BSM ist das Prüfbit
<*9. ι = d\. , ©2. ι ® ■ ■ ■ ® d%. ι 1 ^ ''^ 4
worin dk, das /-te Bit der Af-Gruppe aus b/2 benachbarten Bits ist.
Wenn das /-te Bit des Speicherwortes aus </, ,-,... </, h besteht, ist die Parität Ar/ dieser Bytes direkt gegeben
durch dg, i. Jeder Paritätsfehler in einem Byte kann jetzt durch die RSP-Prüfschaltung erkannt werden. Eine ähnliche
Zuordnung von Byte und Paritätsbit kann bei einer Speicherorganisation von 48 Informationsbits und
12 Bits/BSM oder von 64 Informationsbits und 16 Bits/BSM vorgesehen werden. In diesen Fällen wurde festge-
2i) stelli, daß eine Ersparnis von über 16% in der Schaltungsanordnung erzielt werden kann.
In der in Fig. 2 gezeigten Schaltungsanordnung entsprechen die Stufen 10,12,14,16,18 und 20 mit den gleichen
Bezugszahlen bezeichneten Stufen der in Fig. 1 gezeigten Schaltungsanordnung.
Bei der übrigen in Fig. 2 gezeigten Anordnung werden die korrigierten Datenbits mit einem Paritätsbit für
jedes Byte von der Korrekturschaltung 20 geliefert. Der Abschnitt A des Regenerators für Syndrompaare 23
empfangt die korrigierten Datenbits und der Abschnitt B die korrigierten Pi fbits. Die Zwangsschaltung 25 gibt
allen Prüfbits 1 während eines Schreibzyklus den Wert 1, wodurch die Prüfbits zu dem Zeitpunkt durch einen
Prüfbitgenerator 27 erzeugt werden.
Die RSPS-Schaltung 353 hat zwei Ausgangsleitungen. Als Eingangssignale werden ihr die erzeugten Prüfbits
zugeführt, d. h. die aus den korrigierten Prüfbits regenerierten Syndrompaare. Die RSPS-Schaltung 355 besitzt
zwei Ausgangsleitungen. Als Eingangssignale werden ihr die regenerierten Syndrompaare zugeführt, die aus
den korrigierten Datenbits erzeugt wurden. Der Ausgang der RSPS-Schaltung 355 wird direkt mit einer RSPS-Schaltung
357 verbunden. Während des Lesezyklus kommen alle Syndrompaare von der RSPS-Schaltung 353.
Während des Schreibzyklus wird das Syndrompaar (H) im wesentlichen durch eine Byteparitätsprüfung der zu
codirerenden Daten erzeugt und bei gesperrtem Syndromgenerator (13) in den Speicher gesetzt.
Das Ausgangsleitungspaar von der RSPS-Schaltung 357 ist das Leitungspaar für das endgültige Prüfergebnis
und dient der Prüfung auf alle zwischen dem Datenwortregister und diesem Ausgang auftretenden Fehler. Während
des Lesezyklus ist das eine Prüfung der regenerierten Syndrompaare. Während des Schreibzyklus ist es eine
Prüfung der Byteparität der Daten im Speicherdatenregister.
Der der Schaltungsanordnung zugrundeliegende Code kann nicht nur Fehler in zwei Gruppen aus je b/2 benachbarte Bits korrigieren, was zur Korrektur einer fehlerhaften Gruppe aus b benachbarten Bits führt sondern auch einen großen Prozentsatz zweier fehlerhafter Gruppen aus je b benachbarten Bits erkennen.
Der der Schaltungsanordnung zugrundeliegende Code kann nicht nur Fehler in zwei Gruppen aus je b/2 benachbarte Bits korrigieren, was zur Korrektur einer fehlerhaften Gruppe aus b benachbarten Bits führt sondern auch einen großen Prozentsatz zweier fehlerhafter Gruppen aus je b benachbarten Bits erkennen.
T" diesem Zusammenhang ist zu beachten, daß zwei fehlerhafte Gruppen aus je b benachbarten Bits effektiv
vier fehlerhafte Gruppen /, / + IJJ + 1, aus je b/2 benachbarten Bits, sind. Die RSP-Prüfschaltung erkennt nach
der Darstellung in den F i g. 1 und 2 zwei fehlerhafte Gruppen aus je b benachbarten Bits mit Ausnahme solcher
fehlerhafter Gruppen, die dieselben Syndrome erzeugen wie eine fehlerhafte Gruppe aus b benachbarten Bits.
Es kann gezeigt werden, daß der Prozentsatz nicht als fehlerhaft erkannter Zweiergruppen aus je b benachbarten
Bits den Wert
n-4
5« 2(2*-1)
erreicht, worin η = k + 4 und k die Anzahl von Informationsbitgruppen aus b/2 benachbarten Bits ist. Der Prozentsatz
unerkannter fehlerhafter Dreiergruppen mit je b benachbarten Bits ist in ähnlicher Weise
fl-6 . 1
2(2*-l) (2"-1)2
Die folgende Tabelle zeigt diese Prozentsätze für verschiedene BSM-Größen und Wortlängen:
Speicherorganisation Prozentsatz erkannter fehlerhafter Prozentsatz erkannter fehlerhafter
Zweiergruppen aus Dreiergruppen aus
je Λ benachbarten 16 Bits je Λ benachharten Bits
8 Bits/BSM 98,43 99,82
12 Bit/BSM+ 99,93 9<),93
16 Bit/BSM 99,99695 99,9985
Annahme: Datenwort aus 32 Bit 1
+ Annahme: Datenwort aus 48 Bit 3
+ Annahme: Datenwort aus 48 Bit 3
Es folgt cine Ausfallanalyse der Schaltungsanordnung.
1. Syndromgenerator
Jede Syndromleitung ist die Ausgangsleitung einer unabhängigen Antivalenz-Schaltung, deren Eingangssignale
eine Untergruppe von Bits im Datenwortregister (DWR) bildet, die durch die Paritätsprüfmatrix
bestimmt ist. Zum Beispiel:
S1 = dui ©tfjj Θ,..., @dk !
Wenn angenommen wird, daß die Ausgangssignale des Syndromgenerators s, J2, · · ·■. s2k sind, dann pflanzt sich
ein einzelner Ausfall in der Antivalenz-Schaltung fort zur Ausgangsschnittstelle und zeigt sich dort als
s,s - a - 1 oder S1 s - a - 0
(a) s, s- a- I
Das, = 1 im Coderaum liegt, wird s, j - a - lim Coderaum nicht erkannt und sich demzufolge akkumulieren.
Die Akkumulation von mehreren jf s - a - 1 kann zu einer Fehlverbindung in höchstens zwei Gruppen aus je b
benachbarten Bits in dem Raum für eine fehlerhafte Gruppe führen (Eigenschaft d) der Gruppenhinweissignale.
(b) sts-a-0
Aus den Gleichungen 5 und 6 geht hervor, daß eines der Prüfbits falsch korrigiert wird im Coderaum und demzufolge
durch die RSP-Prüfschaltung erkannt wird. Das gilt auch bei der Akkumulation von Sj s - a - 1 - en.
2. Ausfälle des Fehlermustergenerators
a. Das Ausgangsmaterial e0 s - a - 1 wird im Coderaum erkannt, da es zu einer falschen Korrektur eines Bits
in der Gruppe / führt.
b. Da e,j = 0 im Coderaum ist, kann ev s - a - 0 im Coderaum nicht erkannt werden. Es wird im Einzelfehlerraum
erkannt beim Auslesen eines Datenwortes mit einem Fehler, der das Bits./ der Gruppe i betrifft.
c. Interne Ausfälle in der das Signal eti erzeugenden Schaltung können dazu führen, daß eu seinen Wert ändert
oder nicht. Die Akkumulation einer bestimmten Anzahl dieser internen Ausfälle kann jedoch nicht zu
einem fehlerhaften Ausgangssignal führen, welches nicht erkannt wird.
3. Generator für Gruppenhinweissignale
a. Gy s - a-0 wird bei Auslesen eines Wortes mit einem Fehler in den Gruppen / oder./ aus je b/2 benachharten
Bits erkannt. Die Wahrscheinlichkeit einer solchen Erkennung steigt mit der Akkumulation von
GyS - a-0. Somit erzeugt die Schaltung kein fehlerhaftes Ausgangssignal, welches nicht erkannt wird.
b. Da Gy = 1 im Coderaum ist, wird Gu s - a - 1 im Coderaum nicht erkannt. Der Fehler G0 s - a - 1 wird
beim Lesen eines Wortes mit einem Einzelfehlermuster aus b/2 benachbarten Bits erkannt, welches nicht
die Gruppen / oder/ aus je b/2 benachbarten Bits betrifft. Eine Akkumulation von bis zu zwei Signalen
GyS-&-l führt nicht zu einem fehlerhaften Ausgangssignal, welches unerkannt bleibt.
Da die Wahrscheinlichkeit für eine fehlerhafte Gruppe wesentlich größer ist als die für eine fehlerhafte Dreiergruppe
Gy s - a - 1, ist eine weitere Akkumulation von Gy unwahrscheinlich.
Jedei Ausfall der internen Leitungen des G^Generators, der aus unabhängigen Schaltungen für jedes Gy
besteht,, kann sich als ein Fehler auf einer bestimmten (/(,-Leitung ausbreiten und erzeugt demzufolge kein fehlerhaftes
Ausgangssignal, welches unerkannt bleibt.
4. Korrigierendes UND-Gliedj, in der Korrekturschaltung liefert nur noch einen Binärwert
a. Ausgangssignal des UND-GliedeSj, = 0 im Coderaum. Daher ist UND0 s - a - 0 im Coderaum nicht zu
erkennen. Im Einzelfehlerraum kann höchstens eine falsche Korrektur einer Gruppe im korrigierten Wort
vorhanden sein durch die Akkumulation einer Anzahl von UND, j - β - 0. Das wird durch die RSP-Prüfschaltung
erkannt. Die Schaltung erzeugt keine fehlerhaften Ergebnisse, die nicht erkannt werden.
b. Ausgangssignal des UNDtf s - a - 1 beim Vorhandensein einer Anzahl akkumulierter UNDW s - a -O to
wird im Coderaum erkannt, da dadurch eine fehlerhafte Einzelbitkorrektur für das Bit d0 erfolgt.
5. Die RSP-Prüfschaltung
Die RSP-Prüfschaitung besteht aus selbstprüfbaren Schaltungen für Syndrompaare aus den korrigierten 65 ff
Datenbits im Speicherdatenregister (MDR) und den korrigierten Prüfbits an dem Ausgang der Korrekturschaltung.
Die Syndrompaare werden dann auf ein selbstprüfendes Paar durch eine RSPS-Schaltung reduziert. Die
RSP-Prüfschaltung hat als Ausgänge auch 2 b Leitungen, auf denen die aus dem hereinkommenden Bytepari-
tätswort während des Schreibzyklus erzeugten Prüibits erscheinen. Da das ganze Prüfgerät selbstprüfend ist,
wird jeder Einzelausfall in der RSP-Prüfschaltung im Coderaum während des Normalbetriebes erkannt Da
außerdem jede Schaltung, die selbstprüfbare Ausgangssignale liefert, selbstprüfend ist, ist die RSP-Prüfschaltung
selbstprüfend. Jedes Versagen, daß zur fehlerhaften Prüfbiterzeugung während des Schreibzyklus fuhrt,
wird berichtigt, wenn das jeweilige Wort aus dem Speicher ausgelesen wird und während eines nachfolgenden
Lesezyklus als ein Fehler der RSP-Prüfschaltung erkannt wird.
6. Byteparitäts-Generator und -prüfschaltung
Hierbei handelt es sich um eine selbstprüfende Schaltung, in welcher jeder Einzelausfall zwischen der Fehlerkorrekturschaltung
und dem Prüfgerätausgang im Coderaum während des normalen Betriebes erkannt wird.
Die Paritätsprüfschaltungen prüfen die Richtigkeit der Byteparitätserzeugung während des Lesezyklus und die
Byteparität der hereinkommenden Daten während des Schreibzyklus. Für die in der in Fig. 2 gezeigten Schaltungsanordnung
verwendbaren Codes sind die Byteparitätsgenerator- und Paritätsprüfschaltung in der RSP-Prüfschaltung
mit nur wenigen Torschaltungen enthalten. Die Selbstprüfeigenschaften gelten auch fur diese
Fälle.
Die folgende Tabelle zeigt die prozentuale Zunahme der erforderlichen Schaltung für diese Schaltungsanordnung
gegenüber bekannten Schaitungsanordnungen ohne einfache Paritätsprüfung.
Anzahl der Schaltungen für selbstprüfenden Umsetzer
Anzahl der
Schaltungen für
konventionellen
Umsetzer mit
einfacher Paritätsprüfung
Jetzige Zunahme für
Selbstpriifiing
Anzahl der Schaltungen für konventionelle
Ausführung ohne Prüfung
Zunahme in Prozent für Selbstprüfung
8 Bits/BSM*) 2610 2019 29,2% 1893 38,4 %
16Bits/BSM 3242 2449 32,4% 2323 39,5%
*) Annahme: Datenwort mit 32 Bits.
Die oben beschriebene Ausfallanalyse zeigt, daß die Schaltungsanordnung folgende Eigenschaften hat:
Die oben beschriebene Ausfallanalyse zeigt, daß die Schaltungsanordnung folgende Eigenschaften hat:
1. Jeder aus einem Ausfall resultierende Fehler in einem einzelnen BSM wird korrigiert.
2. Mehr als 98 % aller Fehler, die aus dem Ausfall von zwei BSM, und mehr als 99 % aller Fehler, die aus dem
Ausfall von drei BSM resultieren, werden für übliche Wortlängen erkannt.
3. Jeder Ausfall und jede wahrscheinliche Akkumulation von Ausfallen in der Schaltungsanordnung erzeugt
kein fehlerhaftes Ausgangssignal, welches nicht erkannt wird.
Anschließend wird ein zweites Ausführungsbeispiel einer Schaltungsanordnung gemäß der Erfindung und
der ihm zugrunde liegende Code erläutert:
Datenbits
H =
Prüfbits
darin ist k < 2*-2, / eine bxb Einheitsmatrix, die Höchstzahl von Informationsbits = b(k + 1) und die Anzahl
der Prüfbits = 3 b. A ist eine b X b Matrix über dem GF[2], dessen charakteristisches Polynom ein primitives
Polynom des Grades b ist.
Die Schaltungsanordnung ist in der Lage eine fehlerhafte Gruppe aus b benachbarten Bits zu korrigieren, jede
Kombination von zwei fehlerhaften Gruppen ausje b benachbarten Bits zu erkennen und mit einer Wahrscheinlichkeit
von mehr als 0,95 drei fehlerhafte Gruppen ausje b benachbarten Bits zu erkennen. Der hohe Prozentsatz
der Erkennung dreier fehlerhafter Gruppen wird durch Verwendung der RSP-Prüfschaltung in der Schaltungsanordnung
ermöglicht, die eine Endprüfung der aus dem korrigierten Wort gebildeten regenerierten Syndrome
liefert.
Der nachfolgend beschriebenen Schaltungsanordnung liegt ein Code zugrunde, der eine fehlerhafte Gruppe
aus vier benachbarten Bits korrigieren und zwei fehlerhafte Gruppen ausje vier benachbarten Bits erkennen
kann. Ein solcher Code wäre bei einer Speicherorganisation von vier Bits pro BSM anzuwenden. Die den Datenbits
entsprechenden Spalten sind aus den Spalten des zweiten Codes, der früher angegeben wurde, so ausgewählt,
daß die Zahl von Einsen in der Paritätsprüfmatrix möglichst klein gehalten wird, wodurch ein geringerer
Schaltungsaufwand für den Umsetzer erforderlich ist.
/ | III | / | / | / | I | 1 | |
/ | A A2 A3 | A1 | A* | Au | I | 0 | |
H = | / i |
A2 A4 A6 | A14 | A | A" | 0 | |
Anzahl der | Infonnationsbits = | = 32 | A -= | 0 | 0 | ||
Anzahl der | Prüfbits = 12 | 0 | |||||
1 | |||||||
1 | |||||||
- Prüfbits -
A1A 0
Die Schaltungsanordnung ist wie in F i g. 1 und 2 gezeigt aufgebaut. Beim Betrieb dieser Schaltungsanordnung
werden zuerst Syndrome durch den Syndromgenerator 14 aus den Bits im Datenwortregister (DWR) 12 entsprechend
der oben angegebenen Paritätsprüfmatrix des zweiten Codes erzeugt. Wenn also w ein Wort im DWR12
ist, ist das entsprechende Syndrom gegeben durch die Gleichung
S=IQHw
worin 1 eine 3 6X1 Matrix aus lauter Einsen und
worin 1 eine 3 6X1 Matrix aus lauter Einsen und
do. ι
dk + 3. /
ist. Dadurch sind alle Syndrombits gleich 1, wenn w ein Codewort ist. Die Gruppenhinweissignale werden dann
aus den Syndrombits erzeugt. Die Gruppenhinweissignale G0, Gi,..., Gk+} üegen auf den Leitungen vor, die die
Gruppen aus b Bits bezeichnen, die fehlerhaft sind aufgrund von Ausfällen in einem BSM. Die Gruppenhinweissignale
werden erzeugt durch Implementation Iögiächer Verknüpfungen zwischen den Syndrombits.
Wenn das Syndrombit S gemäß nachfolgender Darstellung durch drei Vektoren S\, S2, S3 für b Bits ausgedrückt
wird
S =
, Sl- | il | , S2 = | ί* + 1 | , S3 = | *2*+ 1 | |
S2 | • | |||||
Jt | J2b | J3b | ||||
kann gezeigt werden, daß, wenn die Gruppe / (/ < k) des Wortes w ein Fehlermuster e enthält, sich ergibt:
51
=e
52
= A'e
(9)
53 = A*'e
Daher ist
52 = A1Sf
53
= A21Si
(10)
11
Demnach ist G, gegeben durch
G1 = [(S2 = (A%)] Λ Κ = (Λ2'S,)]
Die Gruppenhinweissignale für die Prüfbitgruppen Gk + ,, Gk + 2, Gk +} sind gegeben durch
Die Gruppenhinweissignale für die Prüfbitgruppen Gk + ,, Gk + 2, Gk +} sind gegeben durch
Gk+i = Λ (j,. = 0)
1 =b
10
Gk + 2 = Λ (J, = 0)Λ A(j,-0) dl
/+ 1 1-2*
:*
Gk + } = A (j,. = 0)
Die Gruppenhinweissignale haben die folgenden Eigenschaften:
a) Im Coderaum ist G1 = 1 für alle i
b) Im Raum für eine fehlerhafte Gruppe aus b Bits ist G, = 1 für genau ein i.
c) Im Raum für zwei fehlerhafte Gruppen aus b Bits ist G, = 0 für alle /. Tatsächlich ist G1 = 0 für alle / für all«
Syndrommuster mit Ausnahme der Muster in den Fällen a) und b).
Wenn die fehlerhafte Gruppe aus den Gruppenhinweissignalen bekannt ist und aus der obigen Gleichung (i;
Sj = e ebenfalls bekannt ist, kann die Korrekturschaltung eine fehlerhafte Gruppe nach den folgenden Gleichungen
korrigieren:
Korrigierte Datenbits
d,j = d0 Θ G^ 0
< / < k 1 <j < b
35 worin ( | Bit | - I. / = | = dk | + I. | der | / | /'-ten | Gruppe ist. |
I1J das /'-te | Korrigierte Prüfbits | + 2. / = | -dk | + 2, | J + | |||
Λ »ο dt |
+ 3, / | - dk | + | Gk+ ι | ■ s, | |||
Λ | Ga + 2 | ■Sj + b | ||||||
»5 Λ | Gk + I | ■ Si+ 2k |
Die Endprüfung des korrigierten Wortes an der Speicherdatenregister-Schnittstelle erfolgt wieder durch Verwendung
der selbstprüfenden RSP-Prüfschaltung und der selbstprüfenden Paritätsprüfschaltung. Die RSP-Prüfschaltung
kann bis zu drei falsch korrigierte Gruppen im korrigierten Wort erkennen, die aus einem Schaitungsausfall
in der Schaltungsanordnung resultieren. Durch die Anwendung der RSP-Prüfschaltungen an der Speicherdatenregister-Schnittstelle
ergibt sich die hohe Wahrscheinlichkeit der Erkennung mehrerer fehlerhafter
Gruppen (drei fehlerhafter Gruppen, vier fehlerhafter Gruppen) durch die Schaltungsanordnung. Außerdem
können zwei fehlerhafte Gruppen bei einem Ausfall in der Schaltungsanordnung kein fehlerhaftes Ausgangssignal
erzeugen, welches nicht als fehlerhaft erkannt wird.
Die RSP-Prüfschaltung erzeugt auch Ausgangssignale auf 3 b Leitungen, die die aus dem hereinkommenden
Byteparitäts-Datenwort während des Schreibzyklus erzeugten Prüfbits darstellen. Die Byteparitätsbits im Lesezyklus
kann man direkt aus der Teilmenge der korrigierten Prüfbits für verschiedene Kombinationen von Wortlängen
und BSM-Größen erhalten (Speicherorganisation mit 32-Bit-Wörtern und vier Bits/BSM, Speicherorganisation
mit 48-Bit-Wörtem und sechs Bits/BSM, Speicherorganisation mit 64-Bit-Wörtern und acht Bits/BSM
usw.). In diesen Fällen kann der Paritätsgenerator und die Paritätsprüfschaltung in die RSP-Prüfschaltung integriert
werden. Es wurde festgestellt, daß sich auf diese Weise eine Einsparung von mehr als 16 % in der Umsetzerschaltung
erreichen läßt.
Die nachfolgende Tabelle zeigt die prozentuale Zunahme der Schaltung, die für die Selbstprüfung in der
Schaltungsanordnung gegenüber konventionellen Schaltungsanordnungen mit und ohne einfache Paritätsprüfung
erforderlich ist. Die Tabelle basiert auf einem Datenwort von 32 Bits.
Anzahl der | Anzahl der | Prozentuale | Anzahl der | Prozentuale | |
Schaltungen für | Schaltungen für | Zunahme für | Schaltungen für | Zunahme für | |
Schaltungs | konventionelle | Selbstprüfung | konventionelle | Selbstprüfung | |
anordnung | Schaltungs | Ausführung | |||
anordnungen | ohne Prüfung | ||||
mit einfacher | |||||
Paritätsprüfung | |||||
4 Bits/BSM | 1613 | 1321 | 22,1% | 1195 | 36,7% |
8 Bits/BSM | 1967 | 1561 | 26% | 1435 | 37,1% |
Es folgt anschließend eine Beschreibung der Erkennung mehrerer fehlerhafter Gruppen mit diesem zweiten
Code.
In diesem Zusammenhang ist der Prozentsatz der unerkannten fehlerhaften Dreiergruppen am Eingang der 15
Schaltungsanordnung gegeben durch
fl-3
(2A-1)2
worin π die Gesamtzahl der Gruppen aus b benachbarten Bits und b die Bitgröße pro BSM ist. Der Prozentsatz
der unerkannten fehlerhaften Vierergruppen kann ähnlich wiedergegeben werden durch
/7-4 . 1
32-Bit-Wort | 48-Bit-Wort | Vierergruppen | 48-Bit-Wort | 64-Bit-Wort | |
4 Bits/BSM | 97,4% | 95,7% | _ | ||
6 Bits/BSM | - | 99,8% | - | ||
8 Bits/BSM | 99,99385% | 99,99% | 99,98% | ||
Prozentsatz der erkannten | fehlerhaften | ||||
32-Bit-Wort | 64-Bit-Wort |
(2*-l)2 (2*-l)3 2S
Die folgende Tabelle zeigt diese Prozentsätze für unterschiedliche BSM-Größen und Wbrtlängen.
Prozentsatz der erkannten fehlerhaften Dreiergruppen
4 Bits/BSM 96,86% 95,08%
6 Bits/BSM - 99,82% - 45
8 Bits/BSM 99,9954% 99,992% 99,989%
Die beschriebenen Codes haben zusammen mit ihrer Schaltungsanordnung die nachfolgend zusammengefaßten
Fähigkeiten:
1. Jeder aus Ausfällen innerhalb eines einzelnen BSM resultierende Fehler wird korrigiert.
2. Jeder aus Ausfällen in zwei BSM resultierende Fehler wird erkannt.
3. Aus Ausfallen in drei oder vier BSMs resultierende Fehler werden mit einer Wahrscheinlichkeit von mehr
als 95 % erkannt.
4. Jeder Ausfall und jede wahrscheinliche Akkumulation von Ausfällen in der Schaltungsanordnung erzeugt 55
kein fehlerhaftes Ausgangssignal, welches nicht erkannt wird.
In der obigen Beschreibung wird eine Speicherorganisation angenommen, die k BSM mit je b Bits für Daten
und r BSM mit b Bits für Prüfbits umfaßt, wodurch sich für das E>atenwortregister eine Bitmenge von kb + rb pro
Wort ergibt. Die Menge r ist so gewählt, daß sie den Wert von 2t +d hat, worin t die Menge von Fehlern zu je b 00
benachbarten Bits ist, die korrigiert werden sollen, und d die Menge von zusätzlichen Fehlern, die erkannt werden
sollen. Der Fehlererkennungs- und Korrekturcode kann zu einer Anordnung gehören, durch welche für
jedes Wort mk Gruppen der Größe b/m für Daten und mr Gruppen der Größe b/m für Prüfbits vorgesehen sind,
wobei m(k + r)< 2b/m + 1 und mr
< 2b/m - 1 ist. Der Code kann vorgegebene Kombinationen von Bits in der
Gruppe b/m korrigieren (bei Bedarf alle mt Fehler aus (b/m) benachbarten Bits) und unter allen Umständen alle 65
nicht korrigierten m(t + d) Fehler aus (b/m) benachbarten Bits erkennen sowie mit einer extrem hohen Wahrscheinlichkeit
von
max
(mk+mt-J\ 2ih/m-\ ]
V ml J (7h/m-\)m'\
m(t + d) +j Fehler aus (b/m) Bits mity
> 1 erkennen sowie alle m(t + d) +j Fehler aus (b/m) Bits mit (/ >
1) erkennen, die ein Codewort nicht in ein korrigierbares Wort umwandeln.
Als Beispiel für die obige Behauptung wird angenommen, daß eine Speicherorganisation verwendet wird,
worin b eine Gruppe von der Größe 16 Bit, k = 4 und r = 3 und t und d beide gleich 1 sind.
Wenn in diesem Beispiel m gleich 1 gewählt wird, korrigiert der Code alle fehlerhaften Bitgruppen aus
16 nebeneinanderliegenden Bits in jedem BSM (wobei 7 verschiedene derartige fehlerhafte Bitgruppen zu je
16 Bits möglich sind). Es gibt 1 + 7 (216-1) Syndrommuster, die korrigierbar sind. Es gibt 248 mögliche Syndrommuster.
Ausfälle, die eines der 248-7(2'6)-6 von den korrigierbaren Fehlermustern verschiedenen Fehlermuster
erzeugen, werden erkannt. Zu diesen Mustern gehören auch diejenigen, die durch irgendeinen der 16 benachbarten
Fehler in einem der zwei BSM gebildet werden.
Wenn in diesem Beispielfall m gleich 2 gewählt wird, korrigiert der Code alle von "_- 91 fehlerhafte Bitgruppen
aus 8 benachbarten Bits in jedem halben BSM. Eine mögliche Wahl ist die Wahl von sieben benachbarten
Gruppen, eine in jedem BSM. Wenn diese Wahl getroffen wird, hat der Code dieselben Eigenschaften wie in
dem Fall, in welchem m = 1 gewählt wurde, d.h. [2 · 7 < 28 + 1, 2 · 3
< 28 - I].
Grundsätzlich ist der der Schaltungsanordnung nach der Erfindung zugrunde liegende Code definiert durch
Auswahl bestimmter Spalten der Matrix M,
M =
0 0
A' A2'
Ah
A1
0 0
Ar-Ui
0 0
um die Spalten der Paritätsprüfmatrix fur den Code zu bilden, in der A eine bxb Matrix ist, die die multiplikative
Gruppe des Galois-Feldes GF[2b] [2] erzeugt. Eine gute Wahl für A ist die Begleitmatrix eines primitiven
Polynoms des Grades b mit den wenigsten Ausdrücken über GF[2] [2,3]. In M ist /eine b x b Einheitsmatrix,
2*-l >rund*<2*-l.
Die Fehlerkorrektur und -erkennung basiert auf den Eigenschaften von Kombinationen boolescher Funktionen,
die Gruppenhinweissignale genannt werden, welche auf fehlerhafte Gruppen hinweisen, und auf Fehlermusteranzeigen,
die bestimmte mögliche Korrekturen für Bits innerhalb einer Gruppe angeben. Die Gleichungen
zur Erzeugung der Gruppenhinweissignale und der Fehlermusteranzeigen kann aus der Paritätsprüfmatrix
M ähnlich abgeleitet werden, wie es für den Code 1 beschrieben wurde.
Die Fig. 3 A-3Z-1 zeigen zusammengelegt gemäß Fig. 3 ein in Fig. 2 in einem Blockdiagramm dargestelltes
Ausfuhrungsbeispiel der Erfindung im einzelnen.
Nach Darstellung in Fig. 3 wird ein Wort in das Datenwortregister 12 vom Speicher 10 eingegeben. Dieses
Wort enthält 48 Bits, von denen die ersten 36 Datenbits und die übrigen 12 Prüfbits sind. Wenn angenommen
wird, daß die BSM eine Größe von je vier Bits haben, dann sind entsprechend neun BSM bzw. die Moduln 1—9
für die neun Gruppen von je vier Informationsbits und drei BSM und die Moduln 10—12 für drei Gruppen von
vier Prüfbits erforderlich. An den Ausgangsleitungen der bistabilen Kippschaltungen des Datenwortregisters 12
ist zu erkennen, daß die Datenbits in der Reihenfolge (rfu - </M) bis (rf9-1 - d9A) auftreten. Das erste Bit jsder
Gruppe, d. h. die Bits d]A bis ^2., werden über eine Leitung 103 einer Antivalenzschaltung 135 zugeleitet und
erzeugen das Syndrom i,. Genauso wird das zweite Bit jeder Gruppe, d. h. die Bits di2 bis ^2-2, sowie das dritte
und vierte Bit einer jeden Gruppe über Leitungen 105,107 und 109 Antivalenzschaltungen 137,139 und 141 zur
Erzeugung der Syndrome s2, s3 und J4 zugeleitet.
In den F i g. 4 A und 4 B sind die fur die Syndromgeneratoren gültigen Gleichungen dargestellt. Das Daten wort
besteht nach dieser Darstellung aus den Bits rfu, I1 2, rf, 3, dx 4,..., dUA, rf,2-2, rf,2-3 bis ^12-4. Die Vektoren S,, S2, S1,
S4 sind in Fig. 4A gezeigt.
Die Gleichungen j, = du Θ d2 .,· θ dl2j i = 1,2,3,4 dienen der Erzeugung der Syndrome ί, - J4. Die übrigen
Gleichungen in Fig. 4 sind die booleschen Gleichungen zur Erzeugung der Syndrome s5 - s,6, die durch die
Antivalenzglieder 145—165 aufgrund von Signalen auf den Leitungen 111—133 erzeugt werden. Die Syndrome
^i ~ i)6 werden in den Invertern 167—197 alle invertiert zur Lieferung der entsprechenden Komplemente
§i - J|6. Diese Komplemente werden dem Generator für die Gruppenhinweissignale zugeleitet.
Die Gleichungen für die Erzeugung der Gruppenhinweissignale G^, G3-4, G5,6, G7-8, G9J0 und G1U2 sind in
F i g. 5 gezeigt. So wird z. B. das Gruppenhinweissignal G1-2 durch das Ausgangssignal der Koinzidenzschaltung
199 erzeugt, der das Syndrom S9 und das Ausgangssignal einer Antivalenzschaltung 201 zugeführt wird, der
über die Leitung 203 die Syndrome J2, J4 und J5 zugeleitet werden. Die Ausgänge der Koinzidenzschaltungcn
199,205,207,209,211,213,215 und 217 werden über die Leitung 219 mit dem UND-Glied 221 verbunden, dessen
Ausgangssignal das Gruppenhinweissignal G1-2 ist. Nach den Gleichungen in Fig. 5 wird das Gruppenhinweissignal
G34 vom UND-Glied 223, das Gruppenhinweissignal G5-6 vom UND-Glied 225, das Gruppenhinweissignal
G9J0 vom UND-Glied 229 und das Gruppenhinweissignal Gn-12 vom UND-Glied 231 erzeugt.
Die Ausgangssignale der Inverter 167—169, d.h. si - j,6 werden dem Fehlermustergenerator zugeführt. Im
20354
Fehlermustergenerator werden diese Signale antivalent nach den Gleichungen in F i g. 6 A und 6 B miteinander
verknüpft zur Ableitung der Fehlermusteranzeigen eitl bis e^.*. Bei der Ableitung dieser Gleichungen stellt e,-,
den Fehler im/-ten Bit der /-ten Gruppe dar. Die verschiedenen Fehlermusteranzeigen werden jetzt UND-verknüpft
mit den Gruppenhinweissignalen (Fig. 31,3 J, 3 K, 3 L und 3 M) zur Erzeugung von Ausgangssignalen
auf den 48 Leitungen 100—194 der entsprechenden UND-Glieder, worin die UND-Verknüpfung der Fehlermusteranzeigen
und der Gruppenhinweissignale in den gezeigten Kombinationen erfolgt. Die Ausgangssignale
auf den Leitungen 100—194 werden über ein Kabel 233 an die Korrekturschaltung übertragen.
In der Korrekturschaltung werden die auf den Leitungen 100—194 erscheinenden Signale antivalent verknüpft
mit den Bits dlti - di2j, die vom Datenwortregister geliefert werden, und es werden die korregierten Bits </M bis
rfi2,4 erzeugt. ίο
In der Korrekturschaltung wird angenommen, daß
das korrigierte /-te Bit der Men Gruppe bezeichnet,- Die Gleichungen zur Ableitung der korrigierten Bits
4,ι bis UA
20 sind in den Fig. 8 A bis 8C angegeben.
Das Register 235 entspricht dem Speicherdatenregister in den Fig. 1 und 2. Dieses Register empfängt das
36 Bit-Wort vom Prozessor über das Kabel 237 und überträgt das korrigierte 36 Bit-Wort zum Prozessor über das
Kabel 239. Das 36 Bit-Wort besteht aus vier Bytes mit Paritätsbit. Das korrigierte Wort wird durch Zuführen der
koirigierten Bits
Λ Λ
zu den entsprechenden bistabilen Kippschaltungen im Register 235 erzeugt. Die Ausgangssignale der bistabilen
Kippschaltungen im Register 235 werden über die £# Leitungen 196—266 zu einem Kabel 243 übertragen. Die
Ausgangssignale auf den Leitungen 196—266 werden dünn den ersten 36 bistabilen Kippschaltungen im Daten-Wortregister
zugeführt. So ist z. B. die Leitung 19$ for das korrigierte Bit
! mit der ersten bistabilen Kippschaltung im Datenwortregister verbunden. Das Ausgangssignal auf der Lei-
;) tung 198 stellt das korrigierte Bit
:■' -
dar und wird der fünften bistabilen Kippschaltung im Datenwortregister zugeleitet. Die Ausgangssignale auf
den Leitungen 196—266 werden dadurch den ersten 36 bistabilen Kippschaltungen im Datenwortregister zügeführt,
daß ein Schaltglied 359 zu dem Zeitpunkt betätigt wird, an welchem die Schreibleitung 261 erregt ist.
Wenn beim Betrieb des Systemes die korrigierten Prüfbits
A Λ
K\ - d9A s"
dem Register 235 zugeführt werden, werden auch die Prüfbits erzeugt, die in den zwölf am weitesten rechts angeordneten
bistabilen Kippschaltungen des Dätenwortregisters gesetzt werden. Um die Prüfbits
Λ Λ
zu erzeugen, werden die korrigierten Bits,
Λ Λ
4θ,1 ~ ^12,4
den zwölf ODER-Gliedern 245—267 zugeführt. Während des Lesezyklus sind die Ausgangssignale dieser
ODER-Gjieder im wesentlichen die korrigierten Prüfbits, aus denen bestimmte Syndrompaare erzeugt werden.
Bestimmte Antivalenzkombinationen dieser Syndrompaare resultieren in den Prüfbits. Anschließend wird der
Regenerator für die Syndrompaare beschrieben.
Im Regenerator für die Syndrompaare werden die Ausgangssignale der bistabilen Kippschaltungen des
Registers 235 auf den Leitungen 196—266 und die Ausgangssignale der ODER-Glieder 245—267 in verschiede-
nen Kombinationen einer Gruppe von Antivalenzschaltungen 263—325 zugeführt. In Fig. 3 ist dargestellt, dal
zur Erzeugung ües Syndrompaares J1-0 der Antivalenzschaltung die korrigierten Bits
Λ Λ Λ Λ
du, d2A, diA und dAA
zugeführt werden. Zur Erzeugung des Syndrompaares shi werden der Antivalenzschaltung 323 die korrigierte!
Bits
Λ Λ Λ Λ Λ
d5.], d6u d7A, dSA und d9A
zugeführt Zur Erzeugung des Syndrompaares J2-0 werden der Antivalenzschaltung 321 die korrigierten Bits
zugeführt Zur Erzeugung des Syndrompaares J2-0 werden der Antivalenzschaltung 321 die korrigierten Bits
Λ Λ
und zur Erzeugung des Syndrompaares J2-1 der Antivalenzschaltung 319 die korrigierten Bits
Λ Λ
^5.2 ~ rf9.2
zugeführt. Durch dieses abwechselnde Zuführen von vier und fünf aufeinanderfolgenden korrigierten Bits zi
einer Antivalenzschaltung werden in ähnlicher Weise durch die Antivalenzgliader 315,313 und 311 die Syn
drompaare siA, J40 und S41 erzeugt.
Die Syndrompaare j5 „ bis J6-) werden aus den auf den Leitungen 196—266 erscheinenden Ausgangssignalei
und den Ausgangssignalen der ODER-Glieder 245—267 erzeugt. Die logischen Gleichungen für die von dei
Antivalenzgliedern 309—269 erzeugten Syndrompaare sind in den F i g. 7 A und 7 B angegeben, wo die Gleichun
gen für die Syndrompaare J5 0 bis J16, zusammengestellt sind. In diesen Gleichungen wird angenommen, dal
(ij o» s<
i) selbstprüfende regenerierte Syndrompaare bezeichnet, wobei gilt: 1
< i < 16. Dann ist j, 0 = PCi1 i = 1
2,3 und j,,, = PCi2 i= 1,2, 3,4.
Während des Schreibzyklus können die Prüfbits dl0 1 - dn 4 aus den Syndrompaaren J5 0 bis i16, erzeugt wer
den. Weil
Λ Λ
^IO.l ~ ^12.4
d urch die ODER-Schaltung im Prüfbitgenerator auf 1 gezwungen werden, werden diese Syndrompaare nachein
ander paarweise zwölf Antivalenzgliedern 327—349 zugeleitet. Zur Erzeugung des Prüfbits rf10)1 werden dei
Antivalenzschaltung 327 die Syndrompaare J5-0 und j5i) zugeführt. Zur Erzeugung des Prüfbits d102 werden dei
Antivalenzschaltung 329 die Syndrompaare S6^0 und J6-1 zugeführt usw. Zur Erzeugung des Prüfbits dX2s4 werder
schließlich der Antivalenzschaltung 349 die Syndrompaare J160 und J161 zugeleitet. Die Prüfbits d]0] - dnA wer
den über ein Kabel dem Schaltglied 353 zugeleitet, welches durch Erregung einer Leitung 261 betätigt wird, die
die Schreibleitung ist, wodurch die Prüfbits während des Schreibzyklus erzeugt werden. Das Kabel 351 verteil
die Prüfbits dWA - (Z12-4 an die entsprechenden bistabilen Kippschaltungen im Datenwortregister.
In den F i g. 2 und 3 ist der Regenerator für die Syndrompaare mit einem Teil A und einem Teil B dargestellt
Der Teil A erzeugt die Syndrompaare J10 bis J41 und der Teil B die Syndrompaare J5-0 bis J161.
Die Blocks 353 und 355 mit der Bezeichnung RSPS (Reduktionsschaltung für Prüfsignale) bilden einen selbst
prüfenden Schaltkreis, wie er in der US-Patentschrift 35 59 167 angegeben ist, in der auch seine Funktion bei dei
Reduzierung verschiedener Leitungspaare zu einem Leitungspaar genauer beschrieben ist. Das einzelne Aus
gangspaar nimmt die Werte (0,1) oder (1,0) an, wenn und nur wenn alle Eingangspaare die Werte (0,1) oder (1,01
haben. Die boolesche Funktion einer solchen Reduktionsschaltung für zwei Leitungspaare (en, an) und (a2,
a22) ist gegeben durch
(απ i2 · α2|, 2j) = (aua2\ V a]2an, ana22 V
Die RSPS-Scha'tung 355 dient der Byteparitätsprüfung und weist vier Eingangspaare (PCI1, PCI2),
PCl2), (PCl2) und 2(PC4„ PC42) auf.
Somit sind die Paritätsprüfeingänge zur RSPS-Schaltung 355 die Syndrompaare j, 0 j,,, J20 j2)>
J30 J3, unc
«' sa.o *4,ι- D'e RSPS-Schaltung 353 ist für die regenerierten Syndrompaare J50 bis j16i1 vorgesehen und weist zwöl
Eingangspaare (j, 0, j, ,) auf, worin / gleich 5, 6,..., 16 ist.
Das einzige Ausgangsleitungspaar der RSPS-Schaltung 355 wird mit der RSPS-Schaltung 357 verbunden. Eir
Ausgangsleitungspaar der RSPS-Schaltung 353 wird mit dem ODER-Glied 365 verbunden, dessen anderem Eingang
das Lesesignal zugeleitet wird, das von dem Inverter 367 geliefert wird. Die andere Leitung des Ausgangs-
<i> paares von der RSPS-Schaltung 353 ist mit einem UND-Glied 369 verbunden, an welches als Eingangsleituni
auch die Leseleitung angeschlossen ist. Während des Lesezyklus sind somit die beiden Eingangsleitungen 371
und 373 zur RSPS-Schaltung 357 erregt. Außerhalb des Lesezyklus ist zwar die Leitung 371 erregt, die Leitung
373 jedoch nicht. Das Ausgangsleitungspaar der RSPS-Schaltung 357 bildet das letzte Prüfleitungspaar und
gestattet eine letzte Prüfung der gesamten Schaltung zwischen dem Datenwortregister und diesem Leitungspaar.
Wenn im Schreibzyklus die Schreibleitung erregt ist, werden die korrigierten Bits
Wenn im Schreibzyklus die Schreibleitung erregt ist, werden die korrigierten Bits
Λ Λ 5
ί/,ο,ι bis dXX4
alle auf den Binärwert 1 gezwungen, weil alle ODER-Glieder 245—267 1-Ausgangssignale erzeugen. Diese
Anordnung bildet die Zwangsschaltung.
Es folgen Gleichungen für die Erzeugung der Prüfbits während des Schreibzyklus füry = 1,2, 3, 4. ίο
Es folgen Gleichungen für die Erzeugung der Prüfbits während des Schreibzyklus füry = 1,2, 3, 4. ίο
Λ
i4 +j. ι mit dWj auf 1 gezwungen 15
Λ
d\\,j = Jg+j. ο®·**,;, ι mit rf,,,, auf 1 gezwungen
Λ 20
dn,j = sn +j,o®s\2 +j, ι mit dnj auf 1 gezwungen
darin sind pj die Paritätsbits des hereinkommenden Datenwortes in SDR und
Λ Λ Λ 25
^IO,y>
^11.;» ^12,y
die Ausgangssignale der Korrekturschaltung.
Wenn im Zusammenhang mit dem By teparitätscodierer angenommen wird, daß das /-te Byte aus den Bits dh ,,
di. i, d},,, </.,,,, dy h </6i,, rf7,, und rf8j, besteht und r = 1,2,3S 4 ist, dann ist die Parität des /'-ten Byte während des Lese- 30
zyklus gegeben durch p, = af9,,.
Bei den für die Byteparitätsprüfschaltung fültigeti Gleichungen wird angenommen, daß PCi} und PCZ2 die
Ausgänge der Paritätsprüfschaltung des Men Byte bezeichnen und dann ist
4 Λ 9 Λ 35
PCi1 = Σ dj. 1 und Kh = Σ dJ. ι
j - 1 ; - 5
In Fig. 9 ist ein Beispiel für eine Koinzidenzschaltung gezeigt, die sich fur die Erzeugung von Gruppenhinweissignalen
eignet. In dieser Schaltung wird das UND-Qlied 4OU durch die Eingangssignale A und B durchge- 40
schaltet und erzeugt ein Ausgangssignäl, das einem ODER-Glied 402 zugeführt wird. Die komplementären Eing»ngssignale
A und B schalten das UND-Glied 408 durch, dessen Ausgang auch mit dem ODER-Glied 402
verbunden ist.
Hierzu 39 Blatt Zeichnungen
Claims (1)
1. Schaltungsanordnung zur Erkennung und Korrektur von Fehlern in aus jeweils b Bits bestehenden Bitgruppen
fur einen aus A: Basisspeichermoduln bestehenden Datenbitspeicher und aus r Basisspeichermoduln
bestehenden Prüfbitspeicher, wobei jedes Modul öBits eines Wortes speichert, mit einem Syndromgenerator
und einer Korrekturschaltung zur Korrektur der fehlerhaften Bits, dadurchgekennzeichnet,
daß zur Erzeugung der Prüf- und Syndrombits im Syndromgenerator (14) die folgende Matrix zugrunde
gelegt wird:
M =
I 1
I A
I A2
I A'
j(r-I)(A-I)
I O
O /
O O
O O
worin
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US24707172A | 1972-04-24 | 1972-04-24 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2320354A1 DE2320354A1 (de) | 1973-11-15 |
DE2320354C2 true DE2320354C2 (de) | 1986-02-06 |
Family
ID=22933436
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2320354A Expired DE2320354C2 (de) | 1972-04-24 | 1973-04-21 | Schaltungsanordnung zur Erkennung und Korrektur von Fehlern in Bitgruppen |
Country Status (7)
Country | Link |
---|---|
US (1) | US3766521A (de) |
JP (1) | JPS5340310B2 (de) |
CA (1) | CA993999A (de) |
DE (1) | DE2320354C2 (de) |
FR (1) | FR2181840B1 (de) |
GB (1) | GB1417771A (de) |
IT (1) | IT985587B (de) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US4077565A (en) * | 1976-09-29 | 1978-03-07 | Honeywell Information Systems Inc. | Error detection and correction locator circuits |
GB2042228B (en) * | 1979-01-31 | 1983-09-14 | Tokyo Shibaura Electric Co | Data correcting system |
DE2912522C2 (de) * | 1979-03-29 | 1982-09-02 | Johannes Schultz | Heizkostenverteiler zur Montage auf der Oberfläche jedes Heizkörpers einer Heizanlage |
DE3816855A1 (de) * | 1988-05-18 | 1989-11-23 | Roehm Gmbh | Verfahren zur herstellung kratzfest beschichteter kunststoffbahnen |
EP0600137A1 (de) * | 1992-11-30 | 1994-06-08 | International Business Machines Corporation | Verfahren und Einrichtung zur Korrektur von Fehlern in einem Speicher |
US6003144A (en) * | 1997-06-30 | 1999-12-14 | Compaq Computer Corporation | Error detection and correction |
US6604222B1 (en) * | 1999-04-30 | 2003-08-05 | Rockwell Collins, Inc. | Block code to efficiently correct adjacent data and/or check bit errors |
US7080288B2 (en) * | 2003-04-28 | 2006-07-18 | International Business Machines Corporation | Method and apparatus for interface failure survivability using error correction |
US8365036B2 (en) * | 2009-09-16 | 2013-01-29 | Freescale Semiconductor, Inc. | Soft error correction in a memory array and method thereof |
US8984367B2 (en) * | 2011-02-25 | 2015-03-17 | Altera Corporation | Error detection and correction circuitry |
US10446251B2 (en) | 2017-04-12 | 2019-10-15 | Intel Corporation | Methods and apparatus for detecting defects in memory circuitry |
US11281195B2 (en) | 2017-09-29 | 2022-03-22 | Intel Corporation | Integrated circuits with in-field diagnostic and repair capabilities |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3278729A (en) * | 1962-12-14 | 1966-10-11 | Ibm | Apparatus for correcting error-bursts in binary code |
US3602886A (en) * | 1968-07-25 | 1971-08-31 | Ibm | Self-checking error checker for parity coded data |
US3559167A (en) * | 1968-07-25 | 1971-01-26 | Ibm | Self-checking error checker for two-rail coded data |
US3697949A (en) * | 1970-12-31 | 1972-10-10 | Ibm | Error correction system for use with a rotational single-error correction, double-error detection hamming code |
-
1972
- 1972-09-26 US US00247071A patent/US3766521A/en not_active Expired - Lifetime
-
1973
- 1973-02-15 GB GB740873A patent/GB1417771A/en not_active Expired
- 1973-03-13 FR FR7310216A patent/FR2181840B1/fr not_active Expired
- 1973-03-21 IT IT21894/73A patent/IT985587B/it active
- 1973-03-28 CA CA167,868A patent/CA993999A/en not_active Expired
- 1973-03-28 JP JP3476173A patent/JPS5340310B2/ja not_active Expired
- 1973-04-21 DE DE2320354A patent/DE2320354C2/de not_active Expired
Also Published As
Publication number | Publication date |
---|---|
IT985587B (it) | 1974-12-10 |
US3766521A (en) | 1973-10-16 |
CA993999A (en) | 1976-07-27 |
JPS4922057A (de) | 1974-02-27 |
JPS5340310B2 (de) | 1978-10-26 |
FR2181840B1 (de) | 1976-05-07 |
FR2181840A1 (de) | 1973-12-07 |
DE2320354A1 (de) | 1973-11-15 |
GB1417771A (en) | 1975-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2260850C2 (de) | Schaltungsanordnung zur Erkennung von Einzel- und Mehrfachfehlern und zur korrektur von Einzel- und bestimmten Mehrfachfehlern | |
DE2060643C3 (de) | Schaltungsanordnung zur Korrektur von Einzelfehlern | |
DE60117066T2 (de) | Verfahren und Vorrichtung zum Überprüfen von fehlerkorrigierenden Codes | |
DE3125048C2 (de) | ||
DE60015753T2 (de) | System und verfahren zum schutz von daten und zur korrektur von bitfehlern folgend aus komponentenfehlern | |
DE2724409C2 (de) | Schaltungsanordnung zur Erkennung und Korrektur von Fehlern bei der Übertragung von Datenwörtern | |
DE2554945C2 (de) | Verfahren und Schaltungsanordnung zur Erkennung und Korrektur von Fehlern in gespeicherten Datenwörtern | |
DE2320354C2 (de) | Schaltungsanordnung zur Erkennung und Korrektur von Fehlern in Bitgruppen | |
DE3853206T2 (de) | Verfahren und gerät zur byteschreibfehlerkodierung. | |
DE2132565C3 (de) | Umsetzer | |
DE3111447C2 (de) | ||
DE2421112A1 (de) | Speicheranordnung | |
DE3603926A1 (de) | Halbleiter-speicherelement | |
DE2425823A1 (de) | Einrichtung zur fehlererkennung und fehlerkorrektur | |
DE2622184A1 (de) | Fehlerkorrekturverfahren | |
DE2357168C2 (de) | Schaltungsanordnung für einen Speichermodul | |
DE3209679A1 (de) | Halbleiter-speichereinrichtung | |
DE2941868A1 (de) | Anordnung zur vornahme einer fehlerkorrektur und fehlerermittelung bei binaerwoertern | |
DE2157829C2 (de) | Anordnung zum Erkennen und Korrigieren von Fehlern in Binärdatenmustern | |
DE2554502C3 (de) | Verfahren und Anordnung zum Adressieren eines Speichers | |
DE2450468A1 (de) | Fehlerkorrekturanordnung fuer einen speicher | |
DE2752377A1 (de) | Fehlerpruefeinrichtung | |
DE60215687T2 (de) | Fehlerkorrektion von multibit-baueinheiten mit unbeschränkter erkennung von doppelfehlern | |
DE2816771A1 (de) | Verfahren und schaltungsanordnung zur feststellung und unterscheidung von fehlern, insbesondere in ladungsgekoppelten speichern und magnetischen einzelwanddomaenenspeichern | |
DE2549392C3 (de) | Verfahren zur Erhöhung der Zuverlässigkeit von integrierten Speicherbausteinen und zur Verbesserung der Ausbeute von nach außen hin fehlerfrei erscheinenden Speicherbausteinen bei ihrer Herstellung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OD | Request for examination | ||
8178 | Suspension cancelled | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |