DE2160412A1 - Binärdatenumsetzer - Google Patents
BinärdatenumsetzerInfo
- Publication number
- DE2160412A1 DE2160412A1 DE19712160412 DE2160412A DE2160412A1 DE 2160412 A1 DE2160412 A1 DE 2160412A1 DE 19712160412 DE19712160412 DE 19712160412 DE 2160412 A DE2160412 A DE 2160412A DE 2160412 A1 DE2160412 A1 DE 2160412A1
- Authority
- DE
- Germany
- Prior art keywords
- register
- bit
- parity
- byte
- bits
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- 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
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)
Description
Docket:YO 970
International Business Machines Corporation» Armonk» *J.Y, 10
Binärdatenumsetzer Zusatz zu Patent Nr- 21 32 565
Die Erfindung betrifft einen Binärdatenumsetzer für einen Speicher
der paritätsgesicherte zu speichernde Informationswörter in prüfbitgesicherte Informationswörter umwandelt und als solche speichert
und diese beim Auslesen prüft und korrigiert und in die paritätsgesicherten Informationswörter zurückumwandelt, wobei
die Informationswörter für jeden Byte (Bitgruppe) durch einen Paritätsbit beziehungsweise einen nach einem rotationsfähigen
zur Einzelfehlerkorrektur und Doppelfehlererkennung fähigen Kode gebildeten Prüfbit gesichert sind (nach Patent Kr· 21 32 565).
Datenumsetzer nach dem Stammpatent dienen dazu, paritätsgesicherte
Informationswörter so zu speichern, daß Fehler, die sich beim speichern, zum Beispiel bedingt durch- fehlerhaft© Magnetkerne
eines Magnetkernspeichers» einschleichen, korrigierbar sind· Das ist beim Paritätslcode deshalb nicht der Fall, weil ein solcher
Kode es nur gestattet, gewisse Dehler zu erkenneri« Aus diesem
Grunde werden nach dem Staimpatent die paritätsgesietert angelieferten
Informationswörter in prüfbitgesicherte umgewandelt, ehe sie
209831/0904
- 2 - P 15 969
gespeichert werden und können dann anhand dieser Prüfbits beim Auslesen geprüft und gegebenenfalls korrigiert werden»
Bei der Korrektur eines Informationswortes muß zunächst einmal
festgestellt werden, ob überhaupt ein Fehler vorliegt* Liegt ein
solcher vor, dann muß festgestellt werden, ob es ein korrigierbarer
Einzelfehler oder ein nicht korrigierbare!1 Doppelfehler
ist. Ist es ein korrigierbarer Sinzelfehler, dann muß festgestellt
werden, welches Byte von diesem Fehler betroffen ist, und dann muß festgestellt werden* welches Bit innerhalb des fehlerhaften Bytes fehlerhaft ist und zum Zwecke der Korrektur invertiert
werden muß.
Aufgabe der Erfindung ist es» einen Umsetzer nach dem Stammpatent
dahingehend zu verbessern, daß dieser Korrektur vor gang mit einem
möglichst geringen Aufwand an Maschinenausrüstung (Hardware) durchführbar ist.
Die Erfindung ist dadurch gekennzeichnet, daß sur Korrektur ein
Syndromregister vorgesehen ist, dae mit einem aus einem ausgelesenen
prUfbitgeeicherten Inforaationswort abgeleiteten Syndroabitmuster
mit einem Syndrombit für jedes Byte dea Informationswortes geladen und ie Takte eines Steuertaktgebers rotiert wird
und daß die Bytee des Inforeationewortes im gleichen Takt einzeln nacheinander bitweise parallel durch eine Korrekturschaltung
geschleift werden, die für jeden Bit eines Information^ wortbytes einen Korrekturkanal aufweist mit einer logischen
Schaltung, deren Steuerslagänge in Abhängigkeit vom jeweiligen
Syndroebiteuiter Ip Syndroaibitregieter getastet werden* Sie an dei*
Korrektur unmittelbar beteiligte Maschinenausrüstung braucht nicht die Breite eines Infornationswortes au haben, sondern es genügt,
sie in Bytebreite auszulegen* Der rotationsfähige Kode gestattet es in Verbindung mit dem vorgesehenen Syndromregister, das fehler-
209831/0904
P 15 969
hafte Byte im Zuge dar Rotatio&stalcfce hera.usaufi.nä®n und in dem
Moment, wo es durch die Korrekturschaltung geschleift wird» dort ein r^r'rekturmuster bereitzustellen, das gerade das fehlerhafte
Bit invertiert·
Weitere Merkmales Weiterbildungen und Einzelheiten der Erfindung
ergeben sich aus der nachfolgenden Beschreibung anhand der beigefügten Zeichnung·
209831/0904
P 15 969
In der Zeichnung zeigt! Figur 1
Figur 2
Figur 3 Figur 4 Figur 5 Figur 6
Figur 7 Figur 8 Figur 9 ein Blockschaltbild eines Umsetzers
nach der Erfindung t
die Korrekturschaltung und die damit unmittelbar zusammenwirkenden Schaltelemente
eines ersten Ausführungsbeispiels,
die Schaltungselemente, die den in Figur 2 dargestellten entsprechen*
für ein zweites Au3führungsbeispie.l*
die schaltungselemente, die den in Figur 2 dargestellten entsprechen ,fürein
drittes Ausführungsbeispiel,
die Schaltungselemente, die den in Figur 2 dargestellten entsprechen,
für ein viertes Äusführungsbeispiel*
die Schaltelemente für die Fehlererkennung in einer Ausgestaltung v/ie
sie £üt alle dargestellten Ausführungsbeispiele
verwendbar ist,
ein Flufldiagramm für einen Schreibzugriff,
im Blockschaltbild ein CV Taktgeber, der den Schreibzugriff steuert»
ein Flußdiagramm für einen Lesezugriff,.
209831/0904
- 5 - P 15 969
Figur 10 im Blockschaltbild ein Gl Taktgeber,
der den Leseaugriff steuert»
Figur 11 im Blockschaltbild einen A-Taktgeber
für das Ausfüferungsbeispiel nach
Figur 2,
Figur 12 im Blockschaltbild eiaeia B-Taktg@bap
für das AusfÜhrungsbeispiel nach
Figur 3,
Figur 13 im Blockschaltbild einen
Figur 14 ' iiffi Blockschaltbild
für das Ausfütoangsbeispiel
5, . ._. - ;
Figur 15 eine Ixclusiv-ODER-Tanaenbauia-
Schaltu&g aus Figur 6 im Detail,
Figur. 16 . einen Block einer
Figur M den Block aus Figur
verschiedenen
Figur 13 ' logische Blockschemata ·£Hr aine ab«
gelinderte Ausgestaltung,·' bai der
die Anzahl der Inforsßätio­tes
der Prüfbits voneinander abzeichen
In den Zeichnungen sind beseiolisiet forsobaltungen Mit
Invertereohaltungen ait «I«, Verzögerungeeobaltungen nit
Szklusiv-Oder-Sohaltungen mit '5EO^, Oder schaltungen mit K0"
und ündeohaltungen alt n&".
209831/0904
- 6 - P 15 969
Figur 1 ist ein allgemeines Blockschaltbild des vorliegenden Systemes, welches dessen Hauptfunktionseinheiten zusammen mit
dem allgemeinen Datenfluß zeigt. Die aus Figuren 1A und 1B zusammengesetzte
Figur zeigt, daß Daten aus dem Speicher über das
Kabel 116 dem Register MH zugeführt werden die sowohl die acht
Datenbytes als auch die acht Prüf bits des EFiVfcFE-Hamraing-?.od@s,
also ein Hamaiag-Xode der Einzelfehler zu korrigieren und Doppelfehler
zu erkennen gestattet, umfassen* Das Register MR wird auch
von der Zentraleinheit, im folgenden kurz als ZE bezeichnet,
geladen, erbSlt in diesen Fall jedoch acht Datenbytes und acht
Byte-Paritätsbits· Kabel 116 wird für einen Lesezugriff und
Kabel 118 für einen Sehreibzugriff zum Speicher verwendet.» Die
acht Datenbytes aus je acht Bits zuzüglich der acht Prüfbits
oder Paritätsbits sind nmr für das Ausführungsbeispiel gewählt.
Abhängig von ©r5Be und Anzahl der Datenbytes ist eine entsprechende
Anzahl von PrIfbits vorzusehen« Im Falle eines Lesezugriffs
werden bestimmte ausgewählte Datenbits und Prüfbits der Implementierung einer Paritäts-Prüfmatrix, nämlich der Verbindungsaatrix
2,zugeführt· Im Falle eines Schreibzugriffes werden dieselben
ausgewählten Datenbits und das Paritätsbit der Verbindungsmatrix zugeführt· Die Ausgänge der Verbindungsjaatrix führen über die
Bxclusivt-ODEä-Sciiältungen 3. zum Kabel 120» welches dann über <Iie
Torschaltung i24 an das Register MDE führt· Die Ausgangssignale
auf dem Kabel i2Q;..um£assea acht neue Prüfbits beziehungsweise
Paritätsbits· Die ursprünglichen Datenbits werden über das Kabel
122 zum Register MDR übertragen· Die Verbindungsmatrix und die
Exclusiv-ODER-Schaltungen setzen bei Lesezugriff Prüfbits in
Paritätsbits um» während im Falle eines Schreibzugriffes dieselbe Verbindungsmatrix und die Exclusiv-ODER-Schaltungen die Paritätsbits in Prüfbits umsetzen. Bei einem Schreibzyklus wird das
Register MDR direkt von der Zentraleinheit ZE geladen, und in diesem Fall besteht das in das Register MDS geladene Wort aus den
acht Datenbytes zuzüglich der acht Paritätsbits« Diese Information
209831/0904
- 7 - P 15 969
wird über das Kabel 128 zugeführt· Bei einem schreibzugriff
werden das. Register HR und das Register MDR direkt von der ZE über die Kabel 118 beziehungsweise 128 geladen, und zwar weil
zuerst einmal die von der ZE kommenden Daten auf richtige Parität überprüft werden müssen und dann die acht Paritätsbits in
acht Prüfbits umgewandelt werden müssen, um das Wort im richtigen
EFK/bFE-Hamming-Kode zu speichern· Dies erfolgt durch
Zuführen des Inhaltes des Registers MR über die Verbindungsmatrix zum Register MDR, wo das Wort über das Kabel 130 für
den Speicher im Hamming-Kode zur Verfügung steht·
In Figur 1 ist ein als Fehlererkennungsschaltung 5 bezeichneter Block gezeigt, der an den Ausgang äes Registers MDR angeschlossen
ist. Dieser Block enthält im wesentlichen eine Doppelfunktions-Exclusiv-ODER-Schaltung,
mit welcher einmal die Paritätsprüfung
bei einem schreibzugriff ausgeführt wird ima die zum
anderen schließlich die gesicherten Daten, die im E@gist@r MDR
erscheinen, bei einem Lesezugriff in ein<m Satss won
umsetzt, mit denen die Art des eventuell vorhäaäeaesa,
signalisiert und eine Einzelfehlerkorrektur vorgenommen wird*
Wie bereits gesagt wurde, muß der Ausgang der Fehlererkennungs~
schaltung bei der Paritätsprüfung die Byteparität in jedem Byteabschnitt des Registers HDR prüfen. Da mit ungerader Parität
gearbeitet wird, kann ein einfaches UND-Glied diese Prüfung
durchführen· Bei einem Lesezugriff ist die Erkennung insofern
etwas komplizierter, veil die Schaltung unterschiedlich reagieren
muß, erstens bei einem Prüf bitfehler, in welchem Fall die Daten als richtig erkannt werden, zweitens bei einem EinzelHDatenbitfehler,
in welchem Fall ein Korrekturalgorithmus eingeleitet werden nuß, drittens bei einem Doppelfehler, in welchem Fall der
Betrieb des Systems unterbrochen verden muß und diese Tatsache "bekannt gemacht werden muß» und schließlich viertens bei Fehler-
209831/0904
8 - P 15 969
freiheit» in welchem Pall die gegenwärtig im Register MDR
stehenden Daten an die Zentraleinheit ZS übertragen werden
Mit 7 ist allgemein ein Fehlerkorrigierer bezeichnet» der aufgrund
der in der Fehlererkennersclialtung 5 erzeugten Syndrombits die Fehlerkorrektur steuert und ein wesentliches Merkmal der
vorliegenden Erfindung verkörpert« Der Fehlerlcorrigierer 7 ist in drei Abteilungen unterteilt, nämlich eine Byteverknüpfungs-
schaltung 8, eine Korrekturs teuerschal tung 9» die Talctgeber enthält»
und eine Byteidentifizierungsschaltung 10.
Im folgenden wird zuerst ein Schreibzugriff im Zusammenhang mit dem Ablaufdiagramm nach Figur 7 und der als Taktgeber dienenden
monostabilen Kippschaltungen nach Figur 8 beschrieben. Die in Figur 8 gezeichnete Schaltung dient nur der Illustration, und
stellt eine mögliche Anordnung zur Taktgabe für das vorliegende
System dar· Statt dessen kann auch jeder geeignete andere Taktgeber verwendet werden* Während eines selireibsugriffes wird ein
Impuls auf die Startleitung gegeben« der die Ablauffolge startet *
Gemäß der Darstellung im Ablaufdiagramm in Figur 7 veranlaßt der
} Startimpuls die Eingabe in das Register S (vergleiche Figur 2)«
über jedem Block in Figur 7 ist angegeben» welcher schritt des
CV-Taktgebers den jeweiligen Operationsschritt ausführt, in Figur
8 weist eine Anzahl von Eingängen Bezugszahlen auf» Sie die
Quelle bestimmter Einschalt impulse bezeichnen« Diese Bezugs zahlen
sind ebenfalls in den Figuren 2 bis 6 verwendet worden* Zu Beginn
eines Schreibzugriffs werden die beiden Register MR und MDR
mit Daten und Paritätsbits von der Zentraleinheit ZB geladen· Die Eingabe ins Register S bewirkt eine Paritätsprüfung dea?.
gegenwärtig im Register MDR stehenden Daten, Hit dem nächsten
durch CW-2 veranlaßtenSchritt wird auf einen Fehler geprüft·
209831/0904
- 9 - P 15 969
Lautet die Antwort nein, verzweigt das Programm zum Schritt
CW~4 und erzeugt Prüfbits» Dadurch werden die im Register MR
gespeicherten Daten und Paritätsbits der Verbindungsmatrix und den Exclusiv-ODER-Schaltungen zugeleitet und automatisch Prüfbits
erzeugt und die Originaldatenbits zuzüglich der neu erzeugten Prüfbits in das Register MDR übertragen» Im Schritt CW-5 werden
gültige Daten zum Speicher übertragen und das Programm verzweigt
dann zum Ende· Venn nach dem Schritt CW-2 ein Fehler angezeigt
wurde* hätte der nächste Schritt den Taktschritt CW-3 eingeleitet
und eine Unterbrechung hervorgerufen« Dabei handelt es sich um eine konventionelle Unterbrechung}, die zu einer erneuten
Übertragung oder einer anderen Fehlersuche oder Korrekturroutine im System führt* Da es sich um einen Paritätsfehler handelt»
kann er nicht korrigiert werden und die Daten können in der offensichtlich falschen Form nicht im Speicher gespeichert werden· Damit sind die Grundschritte eines Schreibzugriffs beschrieben«
Im Zusammenhang mit den Figuren 9 und 10 wird jetzt ein Lesezugriff
beschrieben. Im Ablaufdiagramm der Figur 9 sind die einzelnen
Taktschritte des in Figur 10 gezeigten CR-Taktgebers, den verschiedenen einzelnen Operationen zugeordnet* die in
Figur 9 aufgezeichnet sind* Auch hier ist der als Ausführungsbeispiel gewählte Taktgeber nach Figur 10 insofern nicht der
allein mögliche, als die Taktfolgen durch andere Schaltungen als die dargestellten monostabilen Kippschaltungen erzeugt werden
können* Die Bezugszahlen bezeichnen das Einschalten der verschiedenen monostabilen Kippstufen und sind dieselben wie in
den Figuren 2 bis 6» Die Startleitung oben in Figur 9 führt zum ersten Block "Eingabe in MDR und Register S"» Da es sich um
einen Speicherlesezyklus handelt» wird das Register MDK mit Datenbits und von der Verbindungsmatrix erzeugten Paritätsbits
geladen· Anschließend wird der Inhalt des Registers MDR den
209831/0904
- 10 - P 15 959
Exclusiv-ODER-Schaltungen zugeleitet, welche diese Information
gemäß obiger Erklärung in Syndrombits, wie beschrieben» umwandeln
und sie im S-Register speichern·
Im Schritt CR-2 wird die Frage gestellt "Liegt ein Fehler vor?"
und durch Prüfen des Inhaltes des S-Registers beantwortet» wie vorher beschrieben« Bekanntlich können dabei vier Fälle auftreten. Im ersten liegt kein Fehler vor, im zweiten Fall ein Prüfbitfehler,
im dritten ein einzelner Datenfehler und im vierten Fall ein Doppelfehler· Liegt kein Fehler vor, verzweigt das System
zum Schritt CR-4 und liefert ein Signal "gültige Daten sur
Zentraleinheit ZE senden" und beendet diese Taktroutine· Wenn
ein Fehler vorliegt» verzweigt das System zum Taktschritt CR-3
und stellt mit einer Prüfung fest "Handelt es sich um einen Binzelfehler?"* Wird diese Frage verneint, liegt ein Doppelfehler
vor und das System verzweigt zum Schritt CR-5». und es wird eine
Unterbrechung erzeugt» womit diese Taktfolge beendet ist· Handelt es sich um einen Einzelfehler, verzweigt das System zum schritt
CR-6 und stellt mit einer Prüfung fest "Liegt ein Prüfbitfehler
vor?"· Wenn das der Fall ist» verzweigt das System zum schritt CR-7 und veranlaßt eine Korrektur der vorher erzeugten Paritäts"
bits· Liegt der Fehler nicht im Prüfbit, verzweigt das System
zu dem mit "Byte korrigieren11 bezeichneten Schritt. Die Leitung
404, welche au den Taktgeberstufen A~1, B~1, C«1, D-1 (der vier
zu beschreibenden Ausführungsbeispiele) führt, leitet den Korrekturschritt
für ein einzelnes Datenbit ein? Nachdem Paritätsbit und Datenbit korrigiert sind., verzweigt das System dann zum TaIc,;-schritt
CR-4 zurück, in welchem die jetzt gültigen Daten an die Zentraleinheit ZE oder eine andere Stelle im System übertragen
werden, und danach ist der Lesezugriff beendet· Die gerade erwähnten A-, B-, C- und D-Taktgeber sind in Figur 11 bis 14 gezeigt und sehr einfache mehrstufige Taktgeber* Die Ausgangssignale
der Stufen dieser Taktgeber sind die einsigen Taktsignale, die
209831/0904
- 11 - P 15 969
benötigt werdenj wenn» wie aus der nachfolgenden Beschreibung
der Figuren 2 bis 5 hervorgeht, bei einer notwendigen Korrektur das Datenwort mit jeweils einem Byte zur Zeit in die Korrekturschaltung
gelesen und wieder in das Register MR zurttckübertragen und von dort dem Register MDR mit korrigierten Paritätsbits
zugeführt wird·
Figur 15 ist ein genaueres Blockschaltbild einer der in den
Figuren 1A und 6D gezeigten Exclusiv-ODER-Schaltungen. Jede
dieser Exclusiv-ODER-Schaltungen verfügt über 19 Eingänge und
einen Ausgang. Die Arbeitsweise einer Exclusiv-ODER-Schaltung
wird als bekannt vorausgesetzt und bewirkt, daß bei einer ungeraden
Zahl von "1"Signalen auf den Eingangsleitungen diese
Schaltung eine ungerade Parität oder ein I!1 "Ausgangssignal auf
Ausgangsleitung erzeugt«
Figur 11 bis 14 zeigt die A-, B-, C- und D-Taktgeber* die die in
den Figuren 2 bis 5 gezeigten Korrekturschaltungen steuern. Diese Taktgeber sind im wesentlichen genauso aufgebaut wie die
CR-Taktgeber und die CW-Taktgeber, die aus mehreren monostabilen,
Kippschaltungen bestehen, deren Einschaltung einen bestimmten Taktimpuls erzeugt und deren Rückkehr in den stabilen Zustand
entweder die Prüfung eines Schaltungszustandes auslöst oder die nächste monostabile Kippschaltung einschaltet t abhängig von der
jeweils ablaufenden Routine» Die Arbeitsweise dieses Taktgebers
und der Korrekturschaltung wird im einzelnen im Zusammenhang mit den Figuren 2 bis 5 beschrieben»
Die Arbeitsweise des Umsetzers (so genannt, weil er Prüfbits
aus Paritätsbits oder umgekehrt Paritätsbits aus Prüfbits erzeugen kann in Abhängigkeit davon,, ob aus dem Speicher gelesen
oder in ihn geschrieben wird» wobei die Datenbits auch an der Umsetzung teilnehmen) beruht auf der Paritäts-Prüfraatrix«
209831/0904
- 12 - P 15 969
Zuerst wird ein einfaches Beispiel einer üblichen Verwendung einer Faritäts-Prüfraatrix behandelt» wie es sich bei der Anwendung
in einem elementaren Nachrichtensystem findet* Bs wird angenommen» daß das Nachrichtensystem aus einem Sender binärer
Signale» einem Empfänger für diese Signale und einem mit dem Buchstaben WKW bezeichneten Kanal besteht« Der Kanal ist zwangsläufig
wesentlich unzuverlässiger als der Sender oder der Empfänge? Somit unterliegt der Kanal Störungen, die ein gesendetes Bit
komplementieren» das heißt» eine gesendete 1 wird als O empfangen " oder eine gesendete O als 1. ■
Diese Situation ist direkt analog der Situation eines Speichers,
in welchem die Speicher-Schreibschaltung das Analogen zum Sender
und die Speicher-Leseschaltung das Analogon zum Empfänger ist*
In einer' solchen Situation wird der EFK/DFE-Kode (also ein
Hamming-Kode» mit dem Einzelfehler korrigiert und Doppelfehler'
erkannt werden können) wie folgt verwendet* Ein Wort (ein satz Bits) wird kodiert» gesendet, geprüft mit nachfolgender Korrektur
oder Erkennung eines Fehlers innerhalb der Möglichkeiten des BFK/DFB-Kodes und erscheint in dekodierter Form am Ausgang des
Empfängers·.Der Kode wird durch die folgende Paritäts-Prüfmatrix
H charakterisiertt
d1 | d2 | d3 | d4 | C1 | C2 | C3 | C4 |
O | 1 | 1 | 1 | 1 | O | O | O |
1 | O | 1 | 1 | O | 1 | O | O |
1 | 1 | O | 1 | O | O | 1 | O |
1 | 1 | 1 | O | O | O | O | 1 |
209831 /0904
- 13 - P 15 969
In dieser Matrix entspricht jede Spalte den Datenbits d-j^dgfdo
un<* d4 und den Prüfbits C19C2,C3,c4· Das Wort "entspricht" ist
in diesem Zusammenhang so zu verstehen» daß eine "1" in einer gegebenen Zeile das Erscheinen des Daten- oder Prüfbits in einer
Spalte in der Paritätsgleichung für diese Zeile angibt (und nicht etwa den Wert dieses Bits). Dadurch wird gezeigt, daß ein
Fehler lokalisiert (und korrigiert) werden kannf wenn wahlweise
die Parität verschiedener Untergruppen der Datenbits festgestellt wird und wenn man beobachtet, welche dieser Paritätsbits den entgegengesetzten
Wert zu den Werten aufweisen, die sie bei Fehlerfreiheit haben· Das ist deshalb möglich, weil die Muster dieser
Paritätsbits für jeden richtigen und falschen Wert eines jeden Datenbits bekannt sind.
Die Frage ist jetzt» wie die Paritäts-Prüfmatrix die Paritätssbit'k
bestimmt und eine Fehlerlokalisierung ermöglicht· Die Beantwortung
dieser Frage muß einer anderen "Entsprechung" entnommen
werden, nämlich der der Paritätsbits oder Syndrome, wie sie awch
genannt werden, zu den einzelnen Zeilen der Paritäts-Prttfmatri*.
Zur Beantwortung dieser Frage sollen jetzt die durch die Paritäts-Prüfmatrix
vorgeschriebenen Paritätsgleichungen aufgezeichnet werden»
1· | zeile: | O | 1 | 1 |
4 | ι | |||
1. | Gleichung: | CKd1S | 3 Ld2Q |
0»c2©
oder dgQ cL e d Φ, Q1 μ S-,, worin S1 das
ΒγΛύνοϊΛ für die 1* Zeile ist.
- 14 - . P 15 969
Das Prüfbit C1 wird so gewählt, daß S1 = 1 für den fehlerfreien
Pail bei ungerader Parität der ausgewählten Datenbits gilt.
Die anderen drei Gleichungen sind folgende:
2. Zeilet d, S d~ © dA © C9 * so
3· Zeilet d-^ © d2 © d^ © C3 » S3
4· zeile: U1 © d2 © d3 © C4 = S4
und S1 m S2 β So » S4 =B 1 bezeichnet die fehlerfreie Bedingung
für ungerade Parität· Somit läßt sich die Antwort auf die Frage,
wo der Fehler sich befindet, jetzt' durch die obigen Gleichungen
ausdrücken· Aus diesen Gleichungen ist zu ersehen» daß (I1 nur
in den Paritätsgleichungen für die Zeilen 2, 3 und 4 erscheint.
Somit ist U1 das einzige Bit» welches bei falschem Empfang nach
der Decodierung die Syndrome entsprechend folgender Tabelle verändert·
S1 S2 S3 S4
d1 richtig empfangen 1111
d-, fehlerhaft empfangen 10 0 0
Es ist zu beachten, daß sich S1 nicht verändert, da es in seiner
Bildung von d1 unabhängig ist» wie aus der obigen Gleichung
für die Zeile 1 zu ersehen ist.
Für ein Beispiel wird jetzt angenommen, daß auf der Senderseite
die Datenbits cL ~ 1, cU « O5. ar. « ο und. d- = 1 vorliegen.» Die
■X.
et
^i
**r
aus deu Bits d,, cU, d3* ü. best shin- ·« iiachricht hat also
folgendes Aussehen: 1 0 0 1» Es ist:
P 15 969
Sender -Kodierung^
© O © O
so daß für C1 zur Erfüllung dieser Gleichung
der Wert O angenommen wird.
Aus der Nachricht
wird
wird
Cg&l©O©l«>
C3 © 1 © O © 1 =7 ο.ΘΙΘΟΘΟ=^
«1
- O
dl d2 d3 d4 Cl C2 C3 C4
100 10 110
Wenn, jetzt angenommen wird, daß der Kanal einer Fehlerbedingung
unterliegt, so daß die störung ausschließlich O1 invertiert,
führt das zu folgender Daten- und Prüfbitreihe·
Empfang- J
Dekodie-
00010110 S1 β C1 © d2 Φ d3 Φ d4
© d,
ffi d, 9
© d^ θ dg © d4 β 0 wie oben vorhergesagt
© d^ © dg © d3 β 0
Dieses eindeutige Syndrommuster läßt sich nur unter der Bedingung erzielen, daß U1 fehlerhaft ist« Die Korrektur ist trivial. Sie
besteht darin, daß das Bit αχ lediglich logisch invertiert wird
(weil bekannt ist, daß die richtige Version von O1 nur das Gegenteil
des jetzigen Wertes sein kann)* Die Schaltung zur Korrektur
von U1 ist folgende:
209831/080 4
P 15 969
ϊ Γ
r c
UM)
ist das korrigierte Bit»
(BQ ist bisr und in der Zeichnung eine Abkürzung für Extelusiv-Oder-SeHaltungJ
Folgende klare Tatsache läßt sich jetzt feststellen: Bei ungerader Parität ist das Syndrommustery welches U1 korrigiert (invertiert),
einfach das Komplement (die logische Verneinung) der Spalte in der Faritäts-Prüfmatrix» welche d1 entspricht (die
erste spalte). Und grundsätzlich ist also-das-Syndrommuster»
welches d^t d«, do oder d- korrigiert das Komplement der Spalte
2, 3 oder 4· Die Korrekturen für die Prüfbits C1, cg, c« oder c^
finden sich in den spalten 5» 6, 7 oder 8 der Pari tat s-Prüfmatrl
wenn eine solche Korrektur gerechtfertigt ist·
Ein Doppelfehler wird durch ein Syndrommuster gekennzeichnet?
welches sich nicht als spalte in der Paritäts-Prüfmatrix und
auch nicht als Muster für "kein Fehler" findet» Somit sind die
Muster, welche einen Doppelfehler anzeigen» folgende:
(slr s2, S3, s4) β (ο,ο,ο,ο), (ο,ο,ι,ι), (0,0,0,1);
(0,1,1*0), (1,0,0,1), (1,0,1*0), (1*1,0,0),
Hierbei handelt es sich offensichtlich um Muster, in welchen zwei Syndroae sich gegenüber ihrem erwartetem Wert verändert
haben· Es ist jedoch nicht möglich, die Schuldigen anzugeben.:
Wenn (0,0,1,1) empfangen wurde, sind dann die Schuldigen A1 und
dg oder sind es C1 und C2? Somit kann bei Empfang eines Musters
wie des oben gezeigten nur ein Doppelfehler erkannt werden»
209831/0904
- 17 - P 15 969
außer der Abgabe eines Alarmsignals können jedoch keine weiteren Schritte unternommen werden*
Die Paritäts-Prüfmatrix für die dargestellte Minimalschaltung
bringt eine subtilere Beziehung zwischen der Parität eines gewählten Datenbyte und der Parität übsr einem ausgewählten
Teilsatz von Datenbits und gcsai» einem Prüfbit rait sich, welches
eindeutig zu dem gewählten Datenbyte gehört. Die Untersuchung
der in Figur 16 und 17 gezeigten Paritäts-Prüfmatrix legt eine
wichtige Beziehung klar.
Bei der verwendeten Kodierung und Dekodierung (die'durch die
Paritäts-Prüfmatrix spezifiziert ist) erscheint ein Satz von Einsen in jeder Zeile, betrachtet als eine Untergruppe aller
Binsen in dieser Zeile» in der Weise, daß die Parität über allen
Bits eines vollständigen Bytes (in dem Datenwort) in der Bildung der Syndrome eingeschlossen ist, die dieser Zeile entsprechen»
wenn die normale Schaltung zur Implementierung der. Parität der Zeile zu verwenden war· Eine Vorschrift der für eine grobe Auslegung
des vorliegenden Umsetzers zu Beginn benutzten Technologie besagte jedoch» daß ein Bytegrößenregister automatisch die Bytepa«
rität für jede in dieses Register geladene Information liefert»
Für den vorliegenden Fall wurde das nicht angenommen, es erklärt
jedoch teilweise, warum es möglich i3t, die Paritätserzeugung
als Teil des Dekfrdierprozesses in diesen einzuschließen und warum
dieselbe Schaltu&g für Lese- und Schreibprozesse verwendet werden
kann. Die hier angegebene Rotations-Paritäts-Prüfmatrix wird grundsätzlich abgeleitet durch Angabe von spalten mit nur
einer 1 als Prüfbitspalten und unter Verwendung von acht Spalten mit drei, fünf usw, Einsen, für den Teil der zum ersten Byte
gehörenden Paritäts-Prüfmatrix und anschließende vertikale Drehung in aufsteigender Reihenfolge für jedes der sieben aufeinanderfolgenden
Bytes. Bs muß besonders darauf geachtet werden, daß
209831/0904
- 18 - P 15 969
man eine Zeile aus lauter Einsen für das erste Byte vor den sieben Drehungen erhält und es muß insbesondere sichergestellt
werden, daß keine zwei Spalten ein identisches Muster aus Einsen und Sullen haben*. Damit sind die Grundlagen für die Bildung der
Rotations-Paritäts-Prüfmatrix erklärt ·
Anschließend wird die Implementierung und Anwendung der Rotations«
paritätskodes in einem Speicherumsetzer beschrieben, vie er hier
offenbart wird· Zuerst wird der Leseprozeß betrachtet. Die GruncL-schritte
sind folgendes
1. unter verwendung der Paritäts-Prüfmatrix sowie der Daten
und Prüfbits ist ein Paritätsbit für jedes Byte zu bilden.
2. Datenbyte und Paritätsbit sind aus dem Register MR in
das Register MDR für jedes Byte des Wortes zu laden·
3· Syndrome sind aufgrund der Prüfung der Byteparität und
ihres Paritätsbits (in Schritt 1 gebildet) für jedes Datenbyte zu bilden.
4. Bs ist festzustellen» ob eine Fehlerbedingung in den
ausgelesenen Daten vorliegt· Wenn die Daten keinen Fehler
enthalten« ist das Wort an die Zentraleinheit ZE weiterzuleiten; sonst ist jeder Einzelfehler zu korrigieren
oder der Zentraleinheit das Vorliegen von Doppelfehlern anzuzeigen.
Jeder der vier oben genannten Grundschritte wird anschließend genauer erklärt· Zuerst wird das Paritätsbit für jedes Byte erzeugt»
indem man die Parität eines ausgewählten Satzes von Datenbits zuzüglich genau eines Prüfbits bestimmt. Die erste zeile
der Rotationsprüfmatrix in Figur 17 enthält acht Einsen in einer
Zeile in den den Bits d1# d2 »·. d8 entsprechenden Spalten. In
der Spalte (erste Zeile) unter C1 (Spalte 65 in einer Rotations-
209831/0904
- 19 - P 15 969
Paritäts-Prtifmatrix mit acht Bytes und acht Bits pro Byte)
steht eine einzige Eins· Eine Gruppe von Einsen entsprechend anderen Datenbits (weder für c·, noch Datenbits im ersten Byte)
ist ebenfalls vorhanden und hiermit als Paritätsuntergruppe der ersten Zeile definiert· Ähnliche Erläuterungen können über
den Aufbau einer jeden derartigen Zeile einer Rotations-Paritäts-Prüfmatrix
gemacht werden. Es bleibt jedoch noch zu zeigen, wie das Paritätsbit zu erzeugen ist· Daher werden die folgenden Veränderlichen
definiert:
y^ - die Parität der Paritätsuntergruppe der ersten Zeile
X1 - die Parität des ersten Bytes
P1 - das Paritätsbit zur Aufrechterhaltung der ungeraden
Parität für das erste Byte·
Es ist der hier getroffene Unterschied zwischen der Parität
eines Byte und dem Paritätsbit für dasselbe Byte zu beachten« Wenn die Parität (die Anzahl von Einsen) für ein Byte gerade
ist (eine gerade Zahl von Einsen unter den Bits des Datenbytes),
ist das Paritätsbit eine 1» wenn für die Fehlerkorrektur eine ungerade Parität gefordert ist. Die folgenden Gleichungen leiten
sich aus obigen Betrachtungen für die verwendung der ungeraden Parität in einer Rotations-Paritäts-Prüfmatrix her.
X1 Θ y1 β C1 * 1,
X1 © P1 β 1
X1 © P1 β 1
Durch Addition dieser beiden Gleichungen zueinander (Addition Modulo 2) ergibt sich die Summe
X1 © V1 Ö C1 © X1 Q P1 « 1 Θ 1 » O
X1 © yx θ C1 © X1 Q P1 β X1 θ X1 © (yx © C1) © P1
- P1 © Cy1 © C1) s o.
209831/0904
- 20 - P 15 969
Dann ist, wenn ys © c, auf beiden Seiten der Gleichung addiert
wird:
P1 β Cy1 e C1) e Cy1 β C1) β 0 © (yx
Ύ
O
O
P1 - Y1 β C1
Die Bedeutung dieser Gleichung liegt darin, daß das Paritätsbit
für das erste Datenbyte aus der Parität der Paritätsuntergruppe der ersten 5;eile und dem Priifbit C1 zu erzeugen ist (und daß dazu nicht die» Bits des erst/an Datenbytes herangezogen werden müssen)·
Die Ausgangssignale dieser Paritätserzeugungsschaltung werden direkt in die Byteparitätsstellen des Registers HDR geladen*
Gleichzeitig damit werden die Datenbits aller Bytes vom Register MR zum Register MDR übertragen und damit der schritt 2 abgeschlossen·
Wenn die Paritätsbits einmal aus y-, © C3 erzeugt und gespeichert
sind, werden die acht Datenbits eines jeden Bytes (mit der Pari·» tat X1) und das zugehörige Paritätsbit als Eingangssignale für
eine Paritäts- (oder Exclusiv-ODER-)Schaltung benutzt· Da
Y1 β C1 β P1 und X1 © P1 β 1 sind, ist das Ausgangssignal si
dieser Parität-Schaltung eine 1,. w&m kein Fehler im Byte vorliegt·
Das Erzeugen eines Satzes von Syndrombits geschieht in
folgender Weise: Für das Ausftthrungsbeispiel ergibt sich ein Syndrom aus jedem Byte und seinem zugehörigen Paritätsbit» Wenn
jedoch im ersten Byte ein Fehler liegt,, ist X1 © P1 » O = S1
und eine Fehlerbedingung wird angezeigt· Damit ist Schritt 3
abgeschlossen und es folgt Schritt 4* Solange kein Fehler vorliegt»
ist S1 ss S2 s ·«. S8 β 1 (für ungerade Parität) und ein
mit KF bezeichnetes Signal kann gebildet werden als
209831/0904
- 21 - P 15 969
KF a S1 * S0 · s„ ···... S8* Wann KP a 1 ist, enthält das Datenwort keinen Fehler» Somit braucht die normale Ausgabe des
gegenwärtig im MDR gespeicherten Wortes zur Zentraleinheit nicht gestört zu werden* Wenn jedoch KF = ο ist* muß die Übertragung
des Wortes ausgesetzt werden, die Fehlerart bestimmt werden - Einzel- oder Doppelfehler - und entsprechende Schritte
unternommen werden· Bin Einzelfehler wird aus der Kenntnis erzeugt»
daß KF + 1 istj weil W « 1 das vorliegen einer Fehlerbedingung
im Datenwort anzeigt. Der Ausdruck Fehlerbedingung sagt jedoch nichtt ob es sich um einen Einzel- oder einen Doppelfehler
handelt· Die Klassifizierung der Fehlerbedingung erfordert die Ausnutzung einer Eigenschaft der Paritäts-Prüfmatritf· Wenn ein
einzelner Datenfehler vorliegt, ändert sich eine ungerade Zahl
von Syndromen· Wenn sich nur ein Syndrom ändert» liegt der Fehler
in einem Prüfbit» Bei diesem Umsetzer brauchen Fehler im Prüfbit nicht berichtigt zu werden, das durch die Verwendung des fehlerhaften
Prüf bits erzeugte Paritätsbit muß jedoch auf seinen richtigen Wert hin invertiert werden.» Somit liegt die Notwendigkeit
für diese Korrektur vor und $ie wird bei allen Paritätsbits im
Bedarfsfall durchgeführt, indem man sie mit dem Komplement der Syndrome antivalent verknüpft· Eine besondere Schaltung zeigt den
Bedarf für diese Korrektur an* ("KJF" ist die Afckürsung für
Wenn z· B· die acht Paritätsbits P1* pg» «** p« gegeben sind als
P1 β 1» P2 «β. O, P3 a 0, P4 = 1, P5 »1, P6 β 0» P7 « 1, P8 β-0
und die Syndrome als S1 ~ l? S2 » 0, S„ » S. ^ -s, = S^ «. S7 » Sg
« l, bedeutet das, daß das zweite Paritätsbit falsch ist, weil
S2 » 0 ist» Zur Korrektur der Paritäten werden diese dann ersetzt
durch ρ Φ 1Γ, wobei ρ s (plft p2 »„,, pß) und s"'» (TT,, "S2, --· "S*g)
ist. Für dieses obige Beispiel gilt dann ρβ?β(Η0,091,090,1·0, ΙίΟ,ΟίΟ,
1 β Ο, 0 Φ 0) a (1, lf 0» I1 1, 0* 1>
0)
209831/0904
- 22 - P 15 969
und das ist dann die ursprüngliche Paritätsbitgruppe mit Ausnahme
des zweiten Bit, welches aus dem oben gegebenen Wert pg durch
Invertieren gewonnen wurde» Im vorliegenden Ausführungsbeispiel ist aus Figur 2J zu ersehen, daß die Gruppe s" über die Kabel Τδδ,
T02% ··· 114 dem Register MDR zugeleitet wird»
Für jeden anderen Daten-Einzelfehler ändert sich eine ungerade
Anzahl von Syndromen» die größer als 1 ist (in jeder Spalte der Paritäts-Prüfmatrix steht eine ungerade Anzahl von Einsen)· Somit
kann ein Einzelfehlersignal gebildet werden» wennt
1» das Fehlersignal eine 1 ist (W si)
2« die Parität der Syndrome sich ändert.
Für den zweiten Fall ist für acht Syndrome (acht Bytes) die Parität der Syndrome normal, bei Fehlerfreiheit ist sie gerade,
das heißt, acht Syndrome sind alle identisch 1« Wenn sich jedoch eine ungerade Zahl ändert, ändert sich die Parität auch auf ungerade Parität* Somit gilt für das Einzelfehlersignal BF
BF ■ W ( S1 β S2 β ,.* © S8). Venn EF * 1 istr liegt ein Einzelfehler
in dem aus dem Speicher gelesenen Datenwort vor» \Jemi ein
Fehlersignal (ÜF~ « 1) vorliegt und es sich nicht um ein Einzelf
ehlersignal (BF el) handelt, ist es ein Doppelfehler t
DB a KF/\ BF~ » 1 und ein Alarmsignal kann an die Zentraleinheit ZE
gegeben werden»
Wenn die Dettenbite im Register MDiR (Einzeldatenfenler) korrigiert
werden können und nüssen, werden die Datenbifcs mit den laktimpulsen
A-1, B-1, C-1 oder D-1 der Korrekturschaltung augeleitet und
mit den nacbfolgenden Takt impulsen ftber aas Register MR und die
Korrekturmatrix dem Register MDR eugeleitot, wie dies später noch
erklärt wird. Das Datenwort kann dann mit nllen angefügten Paritätsbits
der Zentraleinheit ZE zugeführt werden- Zu diesem Zeitpunkt ist natürlich die vorher erklärte Korrektur bereits ausgeführt
worden·
209831/0904
- 23 - P 15 969
De? Schreibprozeß für den speicher besteht im Empfangen einer
Gruppe paritätskodierter Datenbytes von der Zentraleinheit (über eine Sammelleitung), in der Prüfung der Parität für jedes
Byte, dem Umkodieren der Datenbits unter Verwendung der Verbindungsschaltung und dem Speichern des umkodierten Wortes in einem
Register zur Eingabe in den Speicher»
Zur Erleichterung der beiden ersten Schritte eines Schreibzyklus
und zur Vermeidung komplizierter Kontrollen und überflüssiger
Datenbewegungen wird das ankommende Wort in das Register MDR und das Register MR geladen· Das Wort wird in beiden Registern
mit allen angefügten Paritätsbits gespeichert. Das in das Register MDR gebrachte Wort wird so dort gespeichert, daß die Paritätsbits
für jedes Byte mit den vorhandenen Exclusiv~Oder-Paritätsprüfschaltungen
geprüft werden können, die beim Leseprozeß zur Erzeugung der Syndrome aus den vorher erzeugten Paritätsbits
und den Datenbits benutzt werden. Beim Schreiben besteht die aus den Exclusiv-Oder-Schaltungen für jedes Byte kommende Information
(oder sie sollte es wenigstens) aus einem Satz von Einsen, die anzeigen, daß die Parität für jedes Byte stimmt oder aus Nullen
in den Paritätsstellen, an denen die Byteparität für das zugehörige Byte nicht stimmt. Wenn die Parität, nicht stimmt, wird
eine erneute Übertragung der Information angefordert· W&ai jedoch
kein Fehler angezeigt wird, ist das Wort für die Neukodierung
und die Rücksetzung in den Speicher bereit·
Das umzukodierende zu speichernde Wort steht im Register MR. (Andernfalls hätte das im Register MDR stehende Wort in das Register
MR übertragen werden müssen, da die Paritätsprüfung nicht so wirksam ist·) Wenn die im Register MDR stehende Version
des Wortes für die Speicherung bereit ist, können die Prüf bits für die umkodierte Form unter Verwendung der Schaltung erzeugt
werden, die zum Implementieren der Paritäts-Prüfmatrix für einen Lesezugriff vorgesehen ist» Die Datenbits imd die Paritätsbits
gehorchen folgenden Gleichungen
209831/0904
- 24 - P 15 969
X1 © Y1 © C1 κ 1
X1 © P1 = Ir
die bereits oben für die erste Zeile der Paritäts-Prüfmatrix
bei einem Lesevorgang angegeben wurden. PUr die übrigen Zeilen und Datenbytes gelten wieder ähnliche Überlegungen.
Die obigen Gleichungen können so umgeformt werdeny daß aus
ihnen die Erzeugung von Prüfbits aus Daten- und Paritätsbi hervorgeht. Die umgeformten Gleichungen lauten:
P1 Φ V1 © C1 = O
Für den Lesefall wurde diese Gleichung umgeordnet zu
C1 ©
Für den Schreibfall wird die Gleichung umgeordnet au
Für den Schreibfall wird die Gleichung umgeordnet au
P1 © V1 = C1.
Diese Gleichung zeigt, was mit dem Wort im Register ME geschieht.
Das Paritätsbit für jedes Byte und die durch Y1 in obiger Gleichung für das erste Byte bezeichnete Paritätsuntergruppe werden
antivalent miteinander verknüpft und ergeben die durch die
Datenbits jedes Bytes vor dem Speichern geforderten Prüfbits-
Die Prüfbits verden dann in den Paritätsbitstellen des Regi sters MDR gespeichert. Wenn die Prüfbits einmal erzeugt sind,
kann das Wort (Daten und Prüf bits) aus dem Register ME entfernt
werden, in welches es während der Umkodierung beim Schreibproaeß geladen und gespeichert wurde·
Die folgende Beschreibung der grundlegenden Paritätsmatrix 9
und der daraus entwickelten vollen Paritäts-Prüfmatrix der
Figur 10 zeigt insbesondere die Art, in welcher die in den
209831/0904
- 25 - P 15 969
Figuren 1 und 6 gezeigte Verbindungsmatrix gebildet wird» Die
theoretische Erörterung der Grundlagen einer solchen Prüfmatrix
muß herangezogen werden, vrenn man zu der gewünschten Doppelfunktionsschaltung
gelangen will* Die Artr in der sie gewonnen
wird» wurde soeben beschrieben» Die nachfolgende Beschreibung zeigt nur die besondere Anwendung einer bestimmten Matrix mit
den gewünschten Eigenschaften» die für das vorliegende Ausführungsbeispiel
geeignet ist«
Zur Bildung der in den Figuren 1A und 1B als Block und im einzelnen
in den Figuren 6A, 6B» 6G und 6D dargestellten Verbindungsmatrix,
wird folgendes Verfahren benutzt- In Figur 16 wird
zuerst eine Matrix mit acht Spalten und acht Zeilen gebildet, die dann in das in Figur 17 gezeigte Rechteck 410 kopiert wird·
Das bedeutet nicht, daß die obere Zeile mit lauter Einsen zum Verständnis der mathematischen Regeln, welche dieser Erfindung
zugrunde liegen, nicht wichtig ist. Für den Sonderzweck der Konstruktion der oben erwähnten Verbindungsmatrix wird die
obere Reihe von· Einsen nich£ berücksichtigt*
In Figur 17 gibt das untere rechte Rechteck 426 die Lage der
Prüfbits an. Zur Bildung der im Rechteck 412 der Figur 17 gezeigten
Matrix wird die Matrix, im Rechteck 410 nach oben gedreht, mit anderen Worten, die erste Zeile wird durch die zweite Zeile
ersetzt, die zweite durch die dritte usw. Die oberste oder erste Zeile geht nach unten oder in die»achte Zeile. Die im Rechteck
414 dargestellte Matrix ist die Matrix des Rechteckes 412, welche wieder gemäß obiger Beschreibung einmal vertikal nach
oben gedreht wurde. Das die Matrix 416 enthaltende Rechteck wird durch Drehen der Matrix 414 um eine Stelle nach oben gebildet
und auf diese Weise entstehen auch die Matrizen in den Rechtecken 418, 420» 422 und 424» Somit wird die Matrix das
Rechteckes 410 sr.ur Gewinnung des Rechtecks 412 einmal >
des
209831/0904
- 26 - P 15 969
Rechtecks 414 zweimal, des Rechtecks 416 dreimal, des Rechtecks
418 viermal, des Rechtecks 420 fünfmal, des Rechtecks 422 sechsmal
und des Rechtecks 424 siebenmal gedreht.
Faßt man die neun Rechtecke in der Figur 17 mit der Bezeichnung
410 bis 426 als eine Matrix aus acht Zeilen und 72 Spalten auf, so entspricht diese Matrix genau der Anordnung in den Figuren 6A,
6B, 6C und 6D· Die 72 spalten in Figur 17 entsprechen den 72 Bits
^ im Register MR· Die acht Zeilen der Figur 17 entsprechen den
* acht Leitungen 204 bis 218. Jede Zeile in Figur 17 enthält 19 Einsen. Jede Bins in einer Zeile der Matrix entspricht dem 1-Ausgangs·
signal des genauso numerierten Flipflops des Registers MR. So erscheint zum Beispiel die erste 1 in der Zeile 1 in Spalte 9»
Aus Figur 6A ist zu ersehen, daß der !-Ausgang des Flipflops 9
an das Kabel 204 angeschlossen ist· Die Verbindungen des Kabels
204 mit den übrigen Flipflops sind aus der Matrix zu ersehen, und so sind die Flipflops für die Bits 11* 13, 17, 18 usw. alle
mit dem Kabel 204 verbunden. Die Anschlüsse der anderen Kabel werden genau so durch Bezug auf die Zeilen der Matrix der Figur
17 ausgewählt.
L· Bs folgt eine allgemeine Erörterung des Aufbaus einer Paritäts-Prüfmatrix,
νβηη unterschiedliche Bytezahlen (Byte-Paritätsbits)
und Prüf bits vorhanden sind. Wenn m Bytes aus b Bits vorhanden
sind, ergibt das mb = K Datenbits« Venn K gegeben ist, errechnet
sich die Anzahl der Prüfbits r nach der bekannten Hamming-Beziehung·
Alle Paritäts-Prüfmatrizen haben K + r Spalten und r
Zeilen. Die letzten r Spalten enthalten eine 1 und (r~l) Nullen,
die so angeordnet sind, daß die r Spalten eine 1 in der ersten, zweiten ••«•rten Zeile haben. Jede Spalte entspricht einem
Prüfbit.
209831/0904
- 27 - P 15 969
Teile die m Bytes gleichmäßig in r Gruppen T^ Wenn ι s dr + e
O < e^r ist, setze d + 1 Bytes in die ersten e Gruppen T1, *..
Te und d Bytes in die letzten (r-e) T^11 *.. ΤΓ· Die Gruppe T1
soll dem i-ten Prüfbit und der i-ten Zeile entsprechen« Beginne durch Setzen von b (d+1) in die erste Zeile unter T1, b(d+l)
Einsen in die zveite Zeile unter T2 und fahre so fort für die
ersten e Gruppen· Jetzt setze bd Einsen in die (e+l)te Zeile unter die Gruppe Te+1 und fahre fort bis unter jeder Gruppe
b(d+l) oder bd Einsen jeveils in einer separaten Zeile stehen. (In Tabelle I Zeilen 1 bis 8 und in Tabelle IV» Zeilen 1 bis 7
mit acht Bits in Zeile 1, 4 in den restlichen.)
Es gibt (^) = r verschiedene Wege» um drei Einsen
in r Stellen zu setzen und (r-l) (r-2) Kombinationen von
drei Einsen mit einer Eins in einer besonderen Zeile- Es sind alle Kombinationen dieser drei Bits zu verwenden» da umso weniger
Verbindungen und Exclusiv-Oder-Schaltungen verwendet werden, je
weniger Einsen sich in einer Faritäts-Prüfmatrix finden·
Für r = 7 gibt es 35 derartige mögliche Kombinationen und 32
werden für Figur 4 benötigt. Eine mögliche Auswahl ist in Figur 4 gezeigt. Wenn mehr als (ξ) benötigt werden, gibt es
(r) . r(r-l) (r-2) (r-3) (r-4)
Möglichkeiten mit fünf Einsen, (*) mit sieben, (|) mit neun
Einsen usw.
Die Sinsen wählt man am besten so, daß ihre Anzahl in jeder Zeile gleich ist, so daß die durch die Schaltung hervorgerufene Verzögerung
ungefähr gleich sind« Eine Möglichkeit besteht zum Beispiel darin» die Spalte 1 in Tabelle I zu wählen, dann den Inhalt
der spalte in allen Bytes zu drehen, dann eine zweite Spalte
209831/0904
- 28 - P 15 969
zu wählen, ihren Inhalt wieder zu drehen usw« Dabei ist auf Verschiedenheit
zu achten. Die Bytes sind aus dem Rest zu wählen* indem man Spalten bei Bedarf verschiebt.
Beispiel 1: m < r
Das Beispiel mit zwei Bytes und sechs Prüfbits in Tabelle II
dient zur Erklärung folgender Feststellungen:
a) In Fällen, in welchen ein Prüfbit unter Verwendung
aller Datenbits in einem Byte (im Beispiel C1 und C4)
gebildet wird, sind Paritätsbit und Syndrombit wie vorher zu bilden*
b) Die anderen Syndrombits sind wie gewöhnlich zu bilden» z. B· durch Exclusiv-ODER-Schaltung der entsprechenden
Untergruppe von Datenbits für jedes Prüfbit (im Beispiel Sg, S3, S5, Sg).
c) Fehlersignale sind wie vorher zu bilden und, falls erforderlich,
ist die Korrektur unter Verwendung von Syndrom- und Paritätsbits wie vorher durchzuführen.
d) Die Anzahl von Bits in einem Byte ist willkürlich·
P Siehe hierzu das Beispiel in Tabelle III mit Bytes
aus vier Bits und sechs Prüfbits«
Beispiel 2: m> r
In diesem Fall entspricht jedes Prüfbit einer Gruppe Datenbits
und jede Gruppe von Datenbits enthält eines oder mehrere Bytes. Tabelle IV und Figur 18 zeigen ein Beispiel für diesen Fall einschließlich
der zur Bildung von Syndromen aus Untergruppen von Datenbits entsprechend der Paritäts-Prüfmatrix erforderlichen
Schaltung»
209831/0904
- 29 - P 15 969
a) Bin Paritätsbit für die ganze Gruppe wird unter Vervendung eines Prüfbits und des Umsetzers vie
vorher erzeugt·
b) Jede η Bytes (zwei oder mehr) enthaltende Gruppe ist
in η Teile aufzuteilen. Erzeuge n-1 Paritätsbits für
die ersten n-1 Bytes und benutze dieses Paritätsbit für die Byteparitätsprüfung. Das n-te Byte benutzt das
Original-Paritätsbit·
c) Die erzeugten Paritätsbits sind einer Exclusiv-ODER-Verknüpfung
zu unterwerfen, und es ist die n-te Paritätsprüfung durchzuführen (welche das aus der Umsetzung
gewonnene Paritätsbit benutzt)» um das dem Prüfbit entsprechende Syndrombit zu erhalten«
d) Alle Fehlersignale sind wie vorher zu erzeugen und Korrekturen sind unter Vervendung der Syndrombits und
Gleichungen wie vorher durchzuführen·
e) Jede Anzahl von Bits kann ein Byte bilden» wie es in
dem obigen Beispiel mit Bytes aus drei Bit gezeigt wird·
209831/0904
C? | O | . O | O | O | O | O | H | H | |
OO
cn |
O | O | O | O | O | H | O | ca | |
O | O | O | O | rl | O | O | TABELl | ||
VO
CO |
O | O | O | H | O | O | O | ||
P | O | O | rl | O | O | O | O | ||
CO | O | H | O | O | O | O | O | ||
CO
CO |
rl | O | O | O | O | O | O | ||
Ol
co |
O | rl | O | rl | O | O | H | ||
C | rl | O | rl | O | O | O | rl | ||
O
OO |
O | rl | rl | O | O | O | rl | ||
σι O |
rl | rl | O | O | O | O | H | ||
co Oi |
O | O | H | O | O | H | H | ||
η | ι S5 | O | H | O | O | O | H | rl | |
+ | VO ΛΙ |
rl | H | O | O | O | rl | O | |
7x1 |
in
Oi |
H | O | O | O | O | rl | rl | |
η | Ol | O | rl | O | O | rl | O | H | |
**+ | co Ol |
O | rl | O | O | H | H | O | |
Ol
Ol |
rl | O | O | O | rl | O | H | ||
C- Ot |
O | O | O | O | H | H | H | ||
Ol | rf | O | O | H | O | rl | O | ||
N | σι C- |
O | O | O | rl | H | O | rl | |
• | OO c~ |
O | O | O | H | O | H | rl | |
co Il |
c- | O | O | O | rl | rl | H | O | |
VO | O | O | H | O | rl | o, | rl | ||
co H |
in T- |
O | O | rl | H | O | H | O | |
M | O | O | rl | O | rl | H | O | ||
■st· | CO | O | O | rl | rl | rl | O | D | |
Ol | O | H | O | H | O | rl | O | ||
OO | τ- | O | rl | c-l | O | rl | O | O | |
H | Ο | O | rl | O | rl | rl | O | O | |
S | cn | O | rl | rl | rl | O | O | O | |
co | rl | O | O | O | rl | H | O | ||
r> | rl | O | O | rl | O | O | H | ||
vo | rl | O | O | H | H | O | O | ||
in | rH | H | O | O | rH | O | O | ||
<* | rl | O | rl | O | rl | O | O | ||
CO | rl | H | O | rl | O | O | O | ||
Ol | H | O | H | H | O | O | O | ||
r· | ,_( | H | rl | O | O | O | O | ||
vooiooOOOn
O Ol
in
U
U Ol
CO Cl
υ τ
ο ο ο ο η ο
ο ο ο η ο ο
O O H O O O
HC^HOOOOO
VO VO O rl
rl O O
inmoOHHOO
T- C-
tfr^t-OHOrlOO
COCOrIOOrIOO OIOIOOHrlHO
*r H
rlrlOrlOrtrlO
OOHOOHrlO
c- γ-ΟΟ O O H H H
f«. rl O rl O O Π
VO rl O r! O H O
inmrlOrlrlOO ■<fr5i-rlHOOOn
COCOHrIOOHO U) Ό
ti)
•Ρ OJCVHHOHOO >>
Ό
PQ
HHHHHOOO Oi Ό
ο»
H Ol CO
co co co
in vo co to
cn
cn
to
209831/0904
csi6, rfe6 | 3 | n*22 | 4 | 4 | Bytes | d5d6d7d8 | 5 | 6 7 | 8 | 12 | ¥ | TABELLE | 11 1 | 2 | 34 1 | 5 | JEII | S | IV | 16 | 3d1 | O | 5di6 | φ | 16 | 19 | 20 1 |
C | 21 r» |
1 | Q2 | C3 | C4 | C5 | C6 | 25 ι |
26 | 27 ti |
28 r\ |
29 | 31 | |
1 | dld2d3d4 | 1 | O | O O | O | 1 | 9 | 1 | k | O | O | 1 | O | 1 | 5 | O | O | X 1 |
1 | W 1 |
7 | 18 | 19 | 20 | 21 | 22 |
X
O |
1 | U O |
U O |
U C |
U O |
||||||||||
O | 12 3 | O | 1 | 1 1 | 1 | O | O | O | O | 1 | 1 | O | O | 1 | O | O | O | O | 1 | O | O | O | O | O | O | O | 1 | O | O | O | ||||||||||||
S1 | 1 | 111 | 1 | 1 | 1 O | 1 | 1 | O | Sodiidi | O | O | O | 1 | 1 | I4d1 | O | 1 | 1 | O | O | O | Ö. | 1 | O | O | O | O | O | O | O | 1 | O | O | |||||||||
S2 | O | 110 | O | 1 | O 1 | O | 1 | O | 10 | 1 | 1 | 1 | O | 1 | 3 14 1 | . | O | O | 1 | 1 | 1 | O | O | 1 | O | O | O | O | O | O | O | 1 | O | |||||||||
S3 | O | 10 1 | O | O | 1 1 | O | 1 | 1 | 1 | O | 1 | 1 | 1 | 1 | I | 1 | O | 1 | 1 | O | 1 | O | O | O | 1 | O | O | O | O | O | O | O | 1 | |||||||||
S4 | Oil | 1 | O | O O | 1 | 1 | O | 1 | O | O | 1 | 1 | O | O | O | O | 1 | O | ||||||||||||||||||||||||
S5 | 0 0 0 | ί | O | 1 | O | 18 η |
O | O | O | O | O | O | 1 | |||||||||||||||||||||||||||||
S6 | 0 0 0 | 9 Λ |
10 1 Λ |
!1 | 1 | TABELLE | O | X O |
||||||||||||||||||||||||||||||||||
8 r\ |
U 1 |
U 1 |
1 | 1 | 13 | 1 | O | 22 | 23 | 24 T |
||||||||||||||||||||||||||||||||
209( | 1 2 | 4 5 6 | 7 | U 1 |
1 | O | 1 | Ö | O | 1 | 1 | 1 | 1 | X O |
||||||||||||||||||||||||||||
1 O | 0 10 | 1 | O | O | 1 | 1 | 1 | 1 | O | 1 | 1 | |||||||||||||||||||||||||||||||
ο CD O |
1 1 | 111 | 1 | 1 | 1 | O | 1 | 1 | 17 -ι |
O | O | O | O | |||||||||||||||||||||||||||||
O 1 | Oil | 1 | 1 | O | I | 1 | 1 | X O |
O | O | O | |||||||||||||||||||||||||||||||
O O | 111 | O | O | " O | O | 1 | 1 | 1 | ||||||||||||||||||||||||||||||||||
O O | 0 0 1 | O | φ | |||||||||||||||||||||||||||||||||||||||
O | ||||||||||||||||||||||||||||||||||||||||||
1 | ||||||||||||||||||||||||||||||||||||||||||
- 32 - P 15 969
Im Folgenden werden der Datenfluß vom Eingangsregister MR durch
die Verbindungsmatrix zum Register MDR, der Datenfluß und die einzelnen Schaltungsteile für die Erzeugung der Syndrombits,
die Schaltung zur Unterscheidung der verschiedenen Fehlerbedingungen und schließlich die Schaltung für die Datenbitkorrek«-
türen beschrieben.
Das Register MR erscheint oben in Figur 6 und erstreckt sich über die Figuren 6A, 6Br 6C und 6D» Bs wird angenommen» daß Tor-
W schaltungen im Speicher und der Zentraleinheit ZE vorhanden sind*
um dieses Register zu laden, auch wenn diese nicht besonders dargestellt sind» In diesem Register werden die Bits mit der
Nummer 1 bis 64 für acht Datenbytes aus je acht Bits und die Bits 65 bis 72 für die acht Prüfbits benutzt· Die besonders in
Figur 1 dargestellte Verbindungsmatrix ist im Ausführungsbeispiel der Figur 6 durch die acht Kabel mit den Nummern 204» 206, 208*
210, 212, 214» 216 und 218 dargestellt· Jedes dieser Kabel ist
an 19 Stufen des Registers MR angeschlossen, wie bereits früher erwähnt« Achtzehn dieser 19 Stufen speichern Datenbits, eine ein
Prüfbit· Jedes dieser Kabel ist an die Exclusiv-ODER-Schaltung
angeschlossen* Es sind acht solcher schaltungen mit der Humerieru
172 bis 186 vorhanden« Wie bereits gesagt, sind Einzelheiten einer solchen Exclusiv-ODER-Schaltung mit 19 Eingängen in Figur
15 gezeigt· Die acht Datenbytes aus je acht Bits im Register MR
werden über die acht Torschaltungen 188 bis 202 geleitet. Diese
acht Torschal tungen entsprechen der Torschaltung 124 in Figur 1A
und werden alle durch Zuführen der signale GR-I, CW-I oder A-3
zum ODER-Glied 125 durchgeschallt f welches seinerseits einen
Ausgangs impuls auf der Leitung 126 erzeugt· Die Ausgangssignale
der Exclusiv-ODER-Schaltungen 172 bis 186 werden ebenfalls den
Torschaltungen 188 bis 202 zugeleitet· Im rechten Teil der
Figur 6D ist die Leitung 156 gezeigt* die das Paritätsbit für
das Byte 1 weiterleitet» Auf der Leitung 158 erscheint das
209831/0904
- 33 - P 15 969
Paritätsbit für das Byte 8- Auf der Leitung 160 erscheint das
Paritätsbit für das Byte 7. Auf. der Leitung 162 erscheint das
Paritätsbit für das Byte 6. Auf der Leitung 164 erscheint das
Paritätsbit für das Byte 5. Auf der Leitung 166 erscheint das Paritätsbit für das Byte 4. Auf der Leitung 168 erscheint das
Paritätsbit für das Byte 3, und auf der Leitung 170 erscheint das Paritätsbit für das Byte 2. Wie bereits gesagt wurde, sind
die Verbindungen der Verbindungsmatrix bezüglich der jeweiligen Daten- und Prüfbits direkt aus der Paritäts-Prüfmatrix, in Figur 1C
zu bestimmen» Während eines Lesezugriffs vird der CR-Taktgeber
gestartet, kurz nachdem das Register MR geladen ist« Der Impuls
CR-I wird über ein ODER-Glied 125 auf die Leitung 126 gegeben,
um das Register »DR zu laden und auch der Torschaltung 340 zugeführt,
um das in Figur 2J gezeigte S-Register zu laden» welches
zum speichern der Syndrombit benutzt wird. Das Register MDR besteht aus acht Abschnitten von je neun Bits. Jeder Abschnitt
enthält acht Datenbits und ein Paritätsbit· Jeder neun Bit große Abschnitt ist an eine der Bxclwsiv-ODBR-Schaltungen 222 bis
angeschlossen« Diese Bxclusiv-ODBR-Schaltungen unterscheiden
sich von der in Figur 15 gezeigten dadurch, daß sie anstelle der
in Figur 15 gezeigten 19 Eingänge nur neun Eingänge haben. Die
acht Ausgänge der eben erwähnten Exclusiv-ODBR-Schaltungen werden
zum Speichern&r acht Syndrombits in das in Figur 2C gezeigte
S-Register benutzt.
Nach dem Taktimpuls CR-I liefert der Taktgeber den Taktimpuls CR-2<
Dieser Impuls vird zum Prüfen auf das Vorliegen eines Fehlers benutzt· Bei ungerader Parität vird kein Fehler angezeigt, wenn
alle s Bits den Binärvert 1 aufveisen» Die in Figur 2B gezeigte
Leitung 238 vird also erregt, wenn kein Fehler vorliegt und die
Leitung 240, vma. ein Fehler vorhanden ist· Das UIiD-GIied 237
vird nämlich dadurch eingeschaltet, daß im s-Register lauter
208831/0904
- 34 - P 15 969
Binsen erscheinen· Der Impuls GR-2 wird der Torschaltung 242
zugeführt» um den Zustand dea? Leitungen 238 und 240 zu prüfen· Wenn kein Fehler vorliegt» erscheint ein Impuls auf der Leitung
396. Dadurch wird das System beauftragt, im Register MDR erscheinende
Paten zur Zentraleinheit ZB oder zu einer anderen stelle im System zu übertragen, da kein Fehler vorliegt.
Liegt jedoch ein Fehler "vor, erscheint ein Ausgangsimpuis auf
der Leitung 398» Die ebenfalls in der Figur 16 gezeigten Leitungen
396 und 3£3 bewirken dort die Erzeugung der Taktimpuls©
CR-4 beziehungsweise CR-3· Wenn die Leitung 240 erregt ist, zeigt sie notwendigerweise einen vorliegenden Fehler an, und
es muß dann geprüft werden» ob es sich um einen Einzelfahler handelt oder nicht· Diese Prüfung erfolgt durch den an die
Torschaltung 244 in Figur 2B angelegten Taktimpuls CS~3-» Liegt
ein Einzelfehler vor» liefert die Exclusiv-ODSR-Sqhaltung 246
ein l~Ausgangssignal, da eine ungerade Zahl von Einsen im Register
S steht» wenn ein Einzelfehler vorliegt» Das TJiiD-Glied
248 liefert ein Ausgangssignal» weil die Leitung 240 erregt ist· Wenn das UND-Glied 248 zu dem Zeitpunkt ein Ausgengssignal
hat» an welchem der Taktimpuls CR-3 der Torschaltung 244 zugeleitet wird» erscheint auf der Leitung 400 ein Impuls und zeigt
damit einen Einzelfehler an· Wenn das UND-Glied 248 keinen
Ausgangs impuls zu dem Zeitpunkt liefert« zu dem der Impuls CR-3
der Torschaltung 244 zugeführt wird» erscheint auf der Leitung 402 ein Impuls· Die Leitungen 400 und 402 sind auch in der CR-Taktgeb
er schaltung der Figur 6 gezeigt. Der Taktimpuls CR-5
führt zu einer Systemunterbrechung, weil ein Doppelfehler vorliegt»
welcher nicht korrigiert werden kann· Dementsprechend muß zu diesem Zeitpunkt vom Betriebssystem ein anderer Mechanismus
aufgerufen werden· Wenn angenommen wird» daß die Leitung
400 erregt war, so wird dann der Taktschrift CR-6 eingeleitet,
der das Korrekturverfahren beginnt«
209831/0904
-35 - p 15
Zuerst muß festgestellt werden» ob es sich bei dem Einzelfehler
um einen Prüf bitfehler handelt» welcher nur eine Korrektur des
betroffenen Prüf bits erfordert» die als eine Paritätsbitkorrektur im Register HDS vorzunehmen ist, oder ob es sich um einen
Einzeldatenfehler handelt· Diese Feststellung wird getroffen durch Anlegen des Impulses CR-6 an die in Figur 2C gezeigte
Torschaltung 250· Die Torschaltung 250 empfängt den wahren und den komplementären Eingang aus dem ODER-Block 251 - Der QDER-Block
251 wird korrigiert durch die acht mitBi bis B8 bezeich- ä
neten Leitungen aus Figur 2C und 2F- Diese Leitungen werden von dem Syndromregister S korrigiert und zwar ist immer nur eine
und auch nur eine dieser Leitungen auf "1" geschaltet, wenn in dem betreffenden Byte ein Fehler vorliegt- Wenn also eine der
Leitungen Bl bis B8 auf «1* steht, dann liefert die ODER-Schaltung
251 ein Ausgangssignal* das einen Datenfehler anzeigt, wenn die ODER-Schaltung 251 also ein Ausgangssignal erzeugt,
dann bedeutet dies» daß ein fehlerhafter Byte festgestellt wurde und daraufhin, wird die Leitung 354 aktiviert» die den Taktimpuls
CR-7 auslöst« Dieser Taktimpuls gelangt auf die Leitung 254 aus
Figur öS, 6F» 6G und 6H» Dieser Taktimpuls wird jeder der Torschaltungen zugeführt, welche wie die Torschaltung 255 unter
der Bitspeicherstelle des Registers MDR erscheint· Dieser Impuls ι
verknüpft den Xomplementinhalt des Registers S mit dem Inhalt
der Paritätsspeicherstelle des Registers M)R antivalent in Exclusiv-ODER-schaltungen, wie zum Beispiel der Exclusiv-ODER-Schaltung
257· Die Ausgänge dieser Schaltungen sind mit den Torschaltungen 255 verbunden,und jedes in einer Paritätsbit-Speicherstelle des Registers MDR gespeicherte Paritätsbit wird bei Zuführen
eines Taktimpulses CR-7 mittels der oben beschriebenen Schaltung unter der Voraussetzung geändert, daß das zugehörige
Syndrombit für diese spezielle Byteparität den Wert 0 besitzt· Als Beispiel wird £iir die im linken Teil der Figur €E erscheinende
Bytespeichei?stelle 1 des Registers MDR angenommen, daß das
209831/0904
- 36 - P 15 969
Paritätsbit den Wert 1 besitzt* Wenn weiterhin angenommen wird»
daß die Syndrombitstelle 1 einen Prüfbitfehler in dieser Stelle angezeigt und dadurch die Leitung 100 erregt hat, so liegt der
Fall vor, daß kein Ausgangsimpuls von der Exclusiv-ODER-bchaltung
257 kommt, wodurch wiederum der Inverter 259 einen Ausgangsimpuls erzeugt, welcher die Torschaltung 255 beim Auftreten des
Taktimpulses CR-7 durchläuft und die Bitstelle über das QDER-Glied
261 auf 0 zurückstellt. In all denjenigen Paritätsbitstellen» in denen das entsprechende Syndrombit im Register S
" den Wert 1 hat, wird das Paritätsbit durch die gerade beschriebene
Schaltung bei Anlegen des Taktimpulses CR-7 nicht verändert.
Es sei nun angenommen,, daß ein Einzelfehler festgestellt: wurde
und eine Korrektur vorzunehmen ist« Darm wird die Leitung 404
aktiviert durch den Taktimpuls CR-6 der Torschaltung 405· Die
Aktivierung der Leitung 404 löst die Einzeldatenfehlerkarrektursequenz
A, B, D gemäß den Figuren 17 bis 14 aus*
Im folgenden wird nun die Arbeitsweise der Korrekturschaltung
der vier Ausführungsbeispiele» gesteuert durch den A-Taktgeber, B-Taktgeber, C-Taktgeber beziehungsweise D-Taktgeber aus Figur
11 bis 14 im einzelnen beschrieben. Es sei nun angenommen, daß
die Korrektur des Datenbits ausgedehnt ist und daß das korrigierte Datenwort in das Register MR zurückgebracht wurde, von wo es
über die Verbindungs-Matrix wieder zurück in das Register MDR gelangt-
Mit dieser Korrekturoperation ist die Beschreibung eines Lesezugriffs beendet. Im folgenden wird ein Schreibzugriff beschrieben
unter besonderer Bezugnahme auf Figur 7 und 8. Wie bereits bemerkt, verden zu Beginn eines Schreibzugriffes beide Register,
nämlich die Register MR und MDR mit den Datenbits und.den Parität!
209831/0904
37 - P 15 969
bits aus der Zentraleinheit ZE geladen. Zunächst muß eine Paritätsprüfung vorgenommen werden, um festzustellen, ob die in das Register
MDR eingespeisten Daten korrekt sind- Dies wird ausgelöst durch den Taktimpuls CW-I auf der Leitung, der über die Exclusiv-QDER-Schaltungen
222 bis 236 gemäß. Figur .6E, 6P," 6G und 6H das Syndromregister
S schaltet* Dabei wird eine Paritätsprüfung ausgelöst am Ende derer,ungerade Parität vorausgesetzt* das Syndromregister
S nur Einsen enthalten sollte» Wenn der Taktimpuls CW-I
abfällt, wird der Taktimpuls CW-2 ausgelöst» der auf die Leitung 148 gemäß Figur 2B gelangt und den Inhalt des Byndromregisters S
hinsichtlich der korrekten Parität überprüft und zwar, durch Abfragen
des Ausganges der UtfD-Schaltung 237« Wenn die Leitung 238
aktiviert ist, ist dies ein Zeichen dafür, daß in dem Syndromregister
S nur Einsen vorliegen und daß kein Fehler vorliegt, woraufhin der Taktimpuls CW->4 ausgelöst wird. Wenn dagegen ein
Paritätsfehler festgestellt wird» verzweigt das System auf den
Taktimpuls CW-3» der diesen Paritätsfehler anzeigt und gleichzeitig
anzeigt, daß die Daten in die Register MR und MDR zurückgegeben werden müssen.
Es sei nun zunächst angenommen, daß kein Fehler vorliegt und daß
die Leitung 149 aus Figur 2B aktiviert ist. Daraufhin wird dann der Taktimpuls CW-4 ausgelöst, der über die Leitung 126 und die
ODER-Schaltung 125 den Inhalt des Registers MR durch die Verbindungs-Matrix leitet, wo die erforderlichen Prüfbits erzeugt
werden- Diese Prüfbits werden dann in den zugehörigen Prüfbitspeicherpositionen des Registers MDR gespeichert* Es sei darauf
hingewiesen, daß die Leitung 126 die Ausgangsleitung der ODER-Schaltung 125 aus Figur 6D ist. Mit dem Ende des Taktimpulses CW-4
wird die Taktstufe CW-5 eingeschaltet, die ein "Datengültigsignal"
erzeugt, woraufhin der gesamte Inhalt des Registers MDR, das nun die korrekten Datenbits und auch die erzeugten Prüfbits enthält,
in den Speicher gegeben wird«
209831/0904
- 38 - P 15 969
Damit ist die Beschreibung eines Schreibzugriffes beendet und
auch die Beschreibung des Ausführungsbeispiels aus den Figuren 6A bis 6H und 2B und 2C mit Ausnahme der Einzelheiten des Fehlerkorrigierers·
Wenn bei der vorliegenden Beschreibung von Datenwörtern* umfassend
64 Bits, die auf je acht Bytes unterteilt sind, autgeganr^ vir£
und jedem Byte ein Prüfbit nach dem Hamming-Iode zugeordnet ist, so daß Einzelfehl~ »korrektur und Doppelfehler erkennung möglich
ist, dann liegt darin eins Spezialisierung auf die die Erfindung
nicht beschränkt ist. Bs ist zum Beispiel durchaus möglich, daß die Zahl der Byteparitätsbits mit der Anzahl der Prüfibts und damit
auch der Syndrorabits nicht übereinstimmt. In einem solchen Fall kann man die einmal vorliegende Verbindungs-Matrix durchaus
verwenden, um die erforderlichen Paritätsbits und auch die Sysidrombits
zu erzeugen· Man vird aber zusätzliche Syndrombits benötigen, und dazu benötigt man dann zusätzliche Schaltungen· Vorzugsveise
vird die Erfindung jedoch angewendet in Verbindung mit
der gleichen Anzahl van Syndrombits und Byteparitätsbits, weil dann die mit der Erfindung erzielbaren Vorzüge optimal nutzbar
sind·
Aus der nachfolgenden Beschreibung der Fehlerkorrektur wird ersichtlich«
warum ein EFl/DFE Hamming-Kode verwendet wird, der rotierbar
ist und welche besonderen Vorzüge aufgrund dessen bei der Fehlerkorrektur erzielbar sind«
Bs wird darauf hingewiesen, daß die voraufgegangene Beschreibung
des Fehlererkennungssystems auf die Figuren 6A bis 6H und die Figuren 2B und 2C Bezug genommen hat. Es sei weiter darauf hingewiesen, daß das Syndrosregister S und die Torschaltungen und Taktschaltungen
aus den Figuren 2B, 3B, 4B und 5B im wesentlichen identisch sind und daß weiterhin die Betriebsweise und die
209831/0904
- 39 - P 15 969
Organisation des Syndromregisters S aus den Figuren 2C* 3C, 4C
und 5C identisch ist« per einzige wesentliche Unterschied besteht
darin, daß gemäß Figur 4C und dem betreffenden Ausführungs«·
beispielt bei den ein fehlerhafter Byte unverzüglich identifiziert
wird und das Korrekturbitmuster unverzüglich in die Korrekturschaltung gegeben wird, es nicht nötig ist, einen rotierenden
Eingang für das Syndroniregister S zu verwenden- Dies wird im einzelnen aber deutlich aus der nachfolgenden Beschreibung
der Figur 4· Um die Beschreibung der vier Ausfilhrungsbeispiele
zusammenzufassen, sind in den Figuren 2, 3* 4 und 5 die Steuerleitungen,
die im wesentlichen die gleiche Funktion haben» auch wenn sie zu verschiedenen Ausführungsbeispielen gehören» mit den
gleichen Bezugsziffern bezeichnet» und.die diesbezügliche Beschreibung
ist dann auf alle vier Figuren zu lesen.
Die Ausgestaltung der Schaltung zur Anzeige eines Bytefehlers ist ein wesentliches Merkmal der Erfindung» Bs hat sich gezeigt,
daß bei überprüfen der verschiedenen Einsen in dem Syndroniregister
s eine sofortige Anzeige des fehlerhaften Bytes erzielbar ist, sofern ein Einzelfehler in einem Datenwort vorliegt. Im
folgenden werden die Charakteristika des Kodemusters erläutert,
die eine solche Prüfung ermöglichen. Außerdem werden die.zugehörigen
Details der vier Ausführungsbeispiele aus den Figuren 2t
3,4 und 5 erläutert·
Weiterhin ist bemerkenswert, daß unter Verwendung eines rotierbaren
EFr/bFB Hamming-Kodes die Syndrombits, nachdem sie einmal
erzeugt und gespeichert sind« bitweise rotieren und verschoben werden können, woraus sich dann ein Korrekturmuster ergibt für
die einzelnen Bits des Datenwortes» Diese Rotationsbewegung kann man mit Hilfe einer fest geschalteten Schaltung, wie sie in
209831/0904
- 40 - P 15 969
Figur 2E, 3B und 4B dargestellt ist* durchführen·
Im folgenden wird eingehender erläutert, was unter einem solchen
rotationsfähigen Kode verstanden wird und wie er erzeugt werden kann«
Die Verbindungs-Matrixen zur Erzeugung der Bytefehlerindikatoren
. (Bl bis B8) und eines Bitkorrekturmusters ist in den dargestellten Ausfuhrungsbeispielen als einzelner Block der Verbindungs-
ψ Matrix aus Figur 16 und auseinander gezogen in den einzelnen
. Rotationsschaltstufen in Figur 17 dargestellt.
m—Bytes zu je' b*-Bits vorliegen, dann umfaßt ein Datenwort
mb 3 K Datenbits. Bei vorgegebenem K bestimmt die bekannte
Hammingbeziehung die Anzahl der Prüf bits r die erforderlich ist, um Einzelfehler zu korrigieren und Doppelfehler zu erkennen.
Die Paritäts-verbindungs-Matrixen weisen K+r Spalten und r Zeilen
auf· Die letzten r Spalten weisen nur eine einzige "1" und je (r-1) «ο®*1" auf, wobei die "1" aufeinanderfolgender Spalten in
der lsten, in der r^1, in der (r-l)ten f ..-., 2ten Zeile liegen.
Jede spalte des Blocks 426 aus Figur 17 entspricht dabei einem
Prüfbit.
Ein EFK/dfe Hamming-Kode ist dann rotierend» wenn er folgende
Bedingungen erfüllt:
(1) Die Spalten einer Paritätsverbindungs-Matrix, die dem j
Byte entsprechen, weisen I^ in der $1+ C (r+l-j) mod vj) &a
Zeile auf .(e&tsps'eefeänd den jt€!ö Prüfbit)*
(2) Wenn die Spalten einer Paritäts-Verbinüungs-Matrix die dem
ersten Byte zugeordet sind bestimmt sindr dann bestimmen
sich die spalten für die nachfolgenden Byte indem man die Spalten so rotiert♦ daß die Zeilen ihre gegenseitigen Nachbarn
behalten.
209831/0904
P 15 969
(3) Jede Spalte einer Paritäts-Verbindungs-Matrix weist eine
ungerade Anzahl von Binsen auf« Wenn ra=r gilt:» dann ist
der Maximalwert von b für einen rotierbaran Kode nach der folgenden. Tabelle gegeben:
r | 4 | Φ: | C7) | Φ | 1 | b = max b |
4 | max Ζ, r-1 iC=2-r |
4 | 2x5 | 1 | 10 | 4 | ||||
5 | 3x6+2 | ι ... | 2 | 24 | 11 | |||
6 | 5x7 | 6 | 4 | 56 | 26 | |||
7 | 7x8 | 3x7 | 1 | 8 | 120 | 57 | ||
8 | 9x9+3 | 7x8 | 8 | 15 | 243 | 120 | ||
9 | 22x10 | 14x9 | 4x9 | 1 | 27 | 500 | 247 | |
10 | 15X11 | 25x10+2 | 12x10 | 10 | 50 | 1012 | 502 | |
11 | 42x11 | 30x11 | 5x11 | 92 | 1013 | |||
Fall 1a
Die Anzahl der Bytes ist gleich der Anzahl der Prüfbits·
Die Breite der Bytes ist größer oder gleich der maximalen Bytebreite·
Unter Verwendung der beigefügten Liste L ergibt sich wie folgt
ein geeigneter Kode· Wenn vorgegeben ist 3^1Q* greift man soviel
Spalten mit drei Binsen vie nach Liste L möglich ist heraus für
die mindestens gilt r£r0· Wenn es sich dabei um weniger als b
Spalten handelt, wird der Vorgang für fünf Binsen» dann für sieben
Einsen, dann für neun Binsen, dann für il£ Einsen wiederholt. Dann werden, die Paritäts-Verbindungs-Matrixen für die anderen
Bytes durch Rotation aus der bereits gewonnenen gebildet.
209831/0904
- 42 - P 15 969
(zu fall 1)
1 1 1 10 1 110
0 1 1 0 0 0 0 0 0
für die gilt r£ 6 aus L. Dabei handelt es sich um alle Spalten
mit drei Binsen die ausgewählt werden können* Die gesuchte Paritätsverbindungs-Matrix für den ersten Byte wird vervollständigt durch
1 1 1 1 0
die fünf Binsen aufweist· Der vollständige Eode ist in Tabelle I
angegeben· Alle Spalten sind bestimmt wie notwendig*
du fall 1)
' Wähle die folgenden Spalten:
4 5 6 7 7 6 7
1111111
10 10 111
110 10 11
0 110 0 11
0 0 0 1110
0 0 0 0 0 0 1
0 0 0 0 0 0 0
und rotiere sie vie zuvor erwähnt«
Fall a Die Anzahl der Bytes ist größer als die Anzahl der
Prüfbits.
209831/0904
- 43 - P 15 969
In einem solchen Fall gilt m>r· Wenn 2bC maximale Bytebreite
lind 2r.>m gilt, dann werden die Techniken die in den vorausgehenden Beschreibungen erwähnt sind» angewendet. Das ist möglich,
wenn die maximale Bytebreite s»jb. In den Fällen !»=5*6,7,. 9 und
versucht man» die unbenutzten Spalten zu verwenden* Man kann von dem Fäll race» m»9# b=8 ausgehen.
Bin solcher Kode ist in Tabelle 2 angeben» Die Hegel lautet dann ι Verwende diese Spalten für maximal S3b im ersten Byte»
rotiere eine der Spalten die noch nicht rotiert ist um die Spalten für die Bytes 3 bis 9 in die richtige Position zu.
bringen· Die zweite Spalte ergibt sich durch eine vertikale Abwärtsrotation der ersten Spalte wie folgt:-
1 O
1 1
1 1
O 1
0 1
1 O O O
Grundsätzlich kann man sagen» wenn j Bytes mit größerer Bytebreite als bffl vorliegen» müssen die zusätzlich verwendeten
Spalten weniger als (r-j) mal rotiert werden gegenüber den
Spalten des ersten Byte· Man prüft dann die Bytes und sucht
diejenigen heraus mit denen man arbeiten kann»
Fall 3 Die Zahl der Bytes ist kleiner als die Zahl der Prüfbits.
Wenn die Bytebreite kleiner ist als die maximale Bytebreite bm,
dann wird die zuvor erwähnte Prozedur angewendet. Da n&r, wählt
man irgendein m aus von einer- der möglichen r Rotationen. Allgemein
gesprochen» wenn die Ansahl der Bytes £.£· ist und die Bytebreite ist ^1Jb1n* dann ist eine kleine Erweiterung der zuvor
209831/0904
- 44 - P 15 969
beschriebenen. Verfahrensweisen hinreichend« Die Regel lautet
dannjbilde P1 aus einem Prüfbit* P2 aus einem anderen Prüfbit,
bilde dann die Byteparität als Modulo~2~Summe aus P1 und P2 sofern
die Anzahl der Bytes ~ beträgt mit einer Beibreite ^2bm
und so weiter. Wenn die Bytebreite > b , dann wendet man einen
Satz unbenutzter Spalten wie zuvor an* Im allgemeinen ergibt
sich dabei keine mögliche Kombination*
1011 | 1101 | TABELLS V | 0001 | 0000 | 100000 | |
1111 | 1101 | 0111 | 0111 | 0000 | 1111 | 000001 |
1011 | 0111 | 0001 | 0001 | 1111 | 1011 | 000010 |
π οι | 0001 | 0000 | 0000 | 1011 | 1101 | 000100 |
0111 | 0000 | 1111. | 1111 | 1101 | 0111 | 001000 |
0001 | 1111 | 1011 | 1011 | 0111 | 0001 | 010000 |
0000 | 1101 | |||||
BAD ORTGINAL 209831/0904
8»
9» b *
- 45 -
P 15 969
lllillll 11111111
I 1 1 1 Ul Uli
II 1 1 11 1 11 111 1 111
111 1 111 1 11111
ι im
11 111 111 1
lllillll 1111
11 1 1
111
1111111
αιι ι
11 1 11 11
111 1 11 1 1
11 1 1 11 111
11 111 111 1
.111 1 1 1
lllillll
lllillll 1111
1 1
lllillll
min iiiii ι
111 1 U 1 1 11 1 1 U 11 Ul 1
π ι ι ι
lllillll 1111 11 1 1 11 Ul 111 1
1 1
1 1 209331/0904
- 46 - P 15 969
Liste dar Spalteniauster für die Faritäts-Prüfmatrix eines EFK/dfe
Hamming-Kode.
min» 123456789 IO 11 r
1) (1110 0 0 0 0 0
2) (101100000
3) (110100000
4) (101010000
5) (110010000
6) (100110000
7) (100101000
8) (101001000
9) (100011000
10) (110 0 0 10 0 0
11) (1 0 0 1 0 0 1 Ö O
12) (10 10 0 0 10 0
13) (10 0 0 10 10 0
14) (110 0 0 0 10 0
15) (10 0 10 0 0 10
1) (111111111
2) (1111111-IO
3) (111111101
4) (111111011
5) (1 1 1 1 1 0 1 1 1 1 0)
O | O) | 4 |
0 | O) | 5 |
O | 0) | 6 |
O | 0) | |
O | 0) | 7 |
0 | 0) | |
O | 0) | 8 |
O | 0) | |
0 | 0) | 9 |
O | O) | |
0 | 0) | |
O | 0) | 1 |
0 | 0) | |
O | 0) | |
O | 0) | 1 |
0 | 0) | 1 |
1 | 0) | |
1 | 0) | |
1 | 0) |
123456789 10
1) (1 1 1 1 1 1 1 00
2) (111111010
3) (111110110
4) (111101110
5) (111011110
6) (110111110
7) (10 1111110
8) (111110101
9) (111101101
10) (11110 10 11
11) (1110 1110 1
12) (1110 110 11
13) (1110 10 111
14) (110 11110 1
15) (110 1110 11
16) (110 110 111
17) (110 10 1111
18) (10 111110 1
19) (10 11110 11
20) (10 1110 111
21) (101101111
22) (1111110 0 1
23) (111110 0 11
24) (11110 0 111
25) (10 10 11111
26) (10 110 110 1
27) (1110 110 10
28) (11110 10 10
29) (1110 10 110
30) (1110 10 10 1
0 | 0) |
0 | 0) |
0 | 0) |
0 | 0) |
0 | 0) |
0 | 0) |
O | 0) |
0 | 0) |
0 | 0) |
0 | 0) |
0 | 0) |
0 | 0) |
0 | 0) |
0 | 0) |
O | 0) |
0 | 0) |
0 | 0) |
0 | 0) |
0 | 0) |
C | 0) |
0 | O) |
O | 0) |
0 | 0) |
0 | 0) |
0 | 0) |
1 | 0) |
1 | 0) |
1 | 0) |
1 | 0) |
1 | 0) |
mil·}...
r
209831/0904
TABELLE L (zweiter Teil)
P 15 969
1 2 3 4 5 6 7 8 9 10 11
2) (111101000 0 0)
3) (111011000 0 0)
4) (110111000 0 0)
5) (101111000 0 0)
6) (1 1 0 1 0 1 1 0 0 0 0)
7) (111010100 0 0)
8) (101011100 0 0)
9) (110011100 0 0)
10) (1 0 0 1 1 1 1 0 0 0 0)
11) (1 O 1 1 0 1 1 0 0 0 0)
12) (1 0 1 1 1 0 1 0 0 0 0)
13) (1 1 O 1 1 0 1 0 0 0 0)
14) (1 0 1 0 1 0 1 1 0 0 0)
15) (1 1 1 0 0 1 1 0 0 0 0)
16) (1 1 1 1 0 0 1 0 0 0 0)
17) (1 0 1 0 1 1 0 1 0 0 0)
18) (1 0 1 O 0 1 1 1 0 0 0)
19) (1 1 0 1 0 1 0 1 0 L 0)
20) (1 0 1 1 0 1 0 1 0 0 0)
21) (111010010 0 0)
mxn.
r
r
123456789 10
22) (110 110 0 10
23) (110 10 0 110
24) (110 0 10 110
25) (10 1110 0 10
26) (11110 0 0 10
27) (1110 0 10 10
28) (1110 0 0 110
29) (110 0 110 10
30) (10 110 0 110
31) (100111010
32) (10 0 110 110
33) (10 0 10 1110
34) (10 10 10 10 1
35) (101011001
36) (10 10 10 0 11
37) (10 10 0 110 1
38) (10 10 0 10 11
39) (1110 0 10 0 1
40) (110101001
41) (110 0 110 0 1
42) (110 0 10 0 11
0 | 0) |
0 | 0) |
0 | 0) |
0 | 0) 10 |
0 | 0) |
0 | 0) |
0 | 0) |
0 | 0) |
0 | 0) |
0 | 0) |
0 | 0) |
0 | 0) |
0 | 0) |
0 | 0) |
0 | 0) |
0 | 0) |
0 | 0) |
0 | 0) |
0 | 0) 11 |
0 | 0) |
0 | 0) 11 |
209831/0904
- 48 - P 15 969
Bin bestimmter Byte der ein fehlerhaftes Bit enthält» kann,durch
die Byteidentifizierergleichungen identifiziert werden, die ihrerseits erzeugt werden aufgrund der Paritäts-Korrektur-Matrix.«
In einem einfachen Fall eines zweiundsiebzig Bits umfassenden Wortes mit acht (r»8) Bytes zu je acht Datenbits werc'en nie
Byteidentifizierergieichungen für jeden Byte* jev/eila mit
nur einer Spalte der Paritäts-Korrektur-Matrix erzeugt» welche
Spalte dem Byte entspricht♦ Das heißt mit anderen Worten, eine
Zeile fester Binsen in der \l+l (r+1-j)modulo rj}ten zeile für
das jte Byte ist 1 für das erste Byte, 8 für das zweite Byte,
7 für das dritte Byte und so fort. Die Paritäts-Korrektur-Matrix,
Figur 16» wird zur Generierung der Byteidentifizierergleichungen.
des Byteidentifizierers b^ des ersten Bytes verwendet· Dies geschieht
auf sehr einfache Weise» indem nämlich die Spalten des
Blocks aus Figur 16 interpretiert werden als binäre Repräsentan«
ten der Booleanschen Syndromvariablen und ein vereinfachter .Ausdruck
für die Konjunktion dieser Glieder aus den Spalten geschrieben wird· Die erste Spalte lautet 11100000, und der Ausdruck
wird geschrieben als ^1 I* S3 S4 S5 S6 S7 S8 entsprechend
der angegebenen Regel für die i variable V^ des Ausdrucks:
VjeS^ wenn das i Zeilenelement der Spalte 0 ist·
vie^i wenn däs i Zeilenelement der Spalte 1 ist»
Die Ausdrücke nach Figur 16 lauten also:
^1^2S3S4S5S6S7S8* ^102^4δ586δ738' **** W3V5S6S7S8
für die Spalten 1, 2» ...» 8· Die Konjunktion (also die üiJDung)
all dieser Ausdrücke kann vereinfacht werden aufgrund bekannter Schemata nach Karnaugh,
Anhand eines einfachen Beispiels wird nun erläutert wie ein
fehlerhaftes Bit in einem als fehlerhaft identifizierten Byte korrigiert werden kann unter Zugrundelegung der bekannten
209831/0904
2160472
- 49 - P 15 969
Syndrome. Bs sei zunächst angenommen» daß die Paritäts-IOorrektur-Matrix
aus Figur 16 zugrunde gelegt wird und daß es sich um die Ausführungsbeispiele nach Figur 2B und 2C handelt» Es sei weiterhin
angenommen» daß der Datenbit d19 des Bytes 3 fehlerhaft
ist, also den zum richtigen Wert komplementierten Wert hat* Das
Syndromregister enthält dann die Bitfolge 10 11110 0·
Die Byteidentifizierergleichungen lauten:
b81 β ^l S7 S8 £S6 V ^4 V ^3 ^53 s °
b82 * h S6 S7 CS5 v *3 v *2 1V * °
b83 * T7 S5 S6 i?4 v ^2 v \ V * X
b84 * ^6 S4 S5 ^3 V 7I V 7S V β °
und so veiter·
Die Inhalte der X Register 00100000 zeigen an», daß b^
fehlerhaft ist· !Tun vird das Register X zweimal rotiert bis es
den Inhalt 100000 0 0 hat» also vorne eine 1 steht» die
unter Mitwirkung der UiiD-Schaltungen 258» 260» 262» ·*· 272 die
rorrekturfunktion bildet· Das Syndromregister S wird synchron mit der X Rotation rotiert» aber nicht ehe bgl, bQ2, .,, bQ8
gebildet wurden und in das X Register eingegeben wurden· Der ursprüngliche Inhalt des Registers S ist nun nach rechts verschoben
von der Bitfolge 10111100 zur Bitf olge 00 10ΠΠ
und das Ausgangssignal der Torschaltung 262 auf der Leitung Fa
hat den Wert 1 und invertiert beziehungsweise komplementiert den dritten Bit des dritten Byte» d19» über die Exclusiv-ODER-Schaltung
278·
209831/0904
- 50 - P 15 969
Die nachfolgende Beschreibung der vier Ausführungsbeispiele aus den Figuren 2» 3* 4 und 5 schließt an die zuvor gegebene
Beschreibung an« Bei der allgemeinen Beschreibung dieser vier
Ausführungsbeispiele wird angenommen, daß eine Fehlerprüfung durchgeführt vurde und daß ein Binzelfehler gefunden wurde,
der nicht in den Päritätsbits liegt« Wenn ein Einzelfehler in einem der Paritätsbits gefunden wird, dann wird, vie bereits
bemerkt, der Inhalt des Syndroaregisters S zurückgeleitet »in
den Exclusiv-ODER-Schaltungen mit den Paritätsbits verknüpft
und in die Paritätsbitpositionen des Registers MDR eingespeichert-
und dabei vird der fehlerhafte Paritätsbit automatisch korrigiert
Wenn ein Doppelfehler festgestellt vird» dann vird ein entspreche!
des Anzeigesignal angegeben und die Routine vird unterbrochen, veil ein Doppelfehler bei dem vervendeten Code nicht korrigierbar ist«
Gemäß Figur 2 sind die logischen Schaltungen aus den Figuren 2C
und 2F an das Syndromregister S angeschlossen, das die Syndrombits überprüft un festzustellen» velcher Byte einen Fehler enthält· Alle Leitungen Bl bis B8 sind dabei auf Null mit Ausnahme
derjenigen einen Leitung, die dem fehlerhaften Byte entspricht
und die auf 1 stehen vird· Diese logische Schaltung ist für alle vier Ausführungsbeispiele in dieser Form getroffen* Beim zweiten Ausführungsbeispiel ist sie in den Figuren 3C und 3F5, beim
dritten Auaführungsbeispiel in den Figuren 4C und 4F und beim
fünften Ausführungsbeispiel in den Figuren 5C und 5E dargestellt» Bei allen diesen Aueführungsbeispielen arbeitet die Schaltung
zur Erkennung des fehlerhaften Bytes in der gleichen Weise.
Bei den Ausführungsbeispielen nach den Figuren 2, 3 und 5 gelangen acht Ausgangssignale der Byteerkennungsschaltung in das
Register X in velchem alle Positionen auf 0 geschaltet sind mit Ausnahme der den fehlerhaften Byte zugeordneten* Durch die ver~
209831/0904
- 51 - P 15 969
schiedenen Taktgeber wird der Inhalt des Registers X so lange
verschoben, bis die 1 in der Position die dem fehlerhaften Byte zugeordnet ist» die am weitesten links gelegene Speicherposition
erreicht hat« Ist das der Fall* dann wird ein Bitfehlerkorrekturmuster, das durch Kombination des Syndrombits aus dem Syndromeregister
S fiiit dem Fehlerbit gewonnen wurde, durch die Korrekturschaltung hindurch geführt· Einen rotationsfähigen Paritäts-Kode
vorausgesetzt, ist dies möglich, nachdem die Syndrombits erzeugt
worden sind, aufgrund dessen die Prüf bits zu erzeugen* Die tatsächlichen
Prüfbitkorrekturauster können dann aus dem Inhalt des Registers X9 das die Syndrombits enthält, gewonnen werden, indem
man die entsprechenden Speicherpositionen des Syndromregisters S mit dem fehlerhaften Byte der Korrekturschaltung kombiniert·
Bei dem Ausführungsbeispiel nach Figur 2, 3 und 5 wird der Inhalt
des syndromregisters S kontinuierlich rotiert (l-*2, 2-?3»
··«, 8-»l) und zwar synchron ait dem Steuerzahler J und dem
Register X, so daß bei jedem Takt ein neuer Byte als neuer Korrekturkandidat in das System eingeführt wird. Das korrekte rotierbare
Syndrommuster wird in dem Syndromregister S aufbewahrt» so
daß sechs Sätze von Verbindungen, wie sie in den Figuren 2B} 3E,
4B dargestellt sind, und die Adressengeneratorschaltung aus Figur
5D zur Adressierung der lokalen speicher nun das korrekte Syndrombitkorrekturmuster
einzuspeisen gestatten» Es sei darauf hingewiesen, daß gemäß Figur 4E die Kreuz~Verbindun,;gs*Matrix nicht
an das Syndromregister S Bit angeschlossen ist* statt dessen wird
die tatsächliche Rotation mittels der vier Torschaltung en aus Figur 4G und 4H durchgeführt·
Gemäß Figur 5D wird statt das tatsächliche Korrekturmuster aus dem Syndromregister S zu gewinnen eine Adresse entwickelt aus
dem laufenden Satz des Syndromregisters S, die einen Zugriff in eine vorbezeichnete Bitposition eines Lokalspeichers liefert.
209831/0904
- 52 - P 15 969
«ο das richtige Korrekturmuster gespeichert ist» das dann mit
dem als fehlerhaft gefundenen Bit kombiniert werden kann.
Mit dem AusfUhrungsbeispiel nach Figur 2 ist die Taktsteuerung
so getroffen» daß alle Bytes als Korrekturkandidaten untersucht werden. Das spezifische ICorrekturmuster jedoch gelangt durch eine
Korrekturschaltung nur dann hindurch» venn ein fehlerhafter Byte
in die Korrekturschaltung eingespeist wird· Wenn ein korrekter Byte» das heißt also, ein fehlerfreier Byte passiert» dann wird
kein Korrekturmuster eingespeist« und der korrekte Byte passiert ungeändert die Korrekturschaltung· Das besondere bei diesem Ausführungsbeispiel ist die Tatsache» daß alle acht Bytes bei einer
Korrekturroutine durch die Korrekturschaltung hindurchlaufen, die» nachdem dies geschehen ist» beendet ist.
Bei dem nach Figur 3 dargestellten Ausführungsbeispiel ist ein anderes Taktsystem vorgesehen» aufgrund dessen jeder einzelne
Byte» beginnend mit dem Byte 1» überprüft wird» bis ein einzelner
fehlerhafter Byte lokalisiert wird. Nachdem dieser Byte korrigiert ist» wird die Korrekturroutine beendet und das korrekte wort an
die Zentraleinheit ZE abgegeben· Die Ausfuhrungsbeispiele nach Figur 2 und 3 sind im übrigen identisch«
Bei dem Ausführungsbeispiel nach Figur 4 liegt das Besondere darin» daß eine Anzeige des fehlerhaften Bits an eine Torsteuerung
gelangt und der fehlerhafte Byte dann in dem ersten Zyklus in die Korrekturschaltung eingegeben wird· Gleichzeitig verden die
entsprechenden Torschaltungen nach Figur 4G und 4H geschaltet» so daß das Korrektursyndrommuster in die Korrekturschaltung einlaufen kann» um das fehlerhafte Bit des fehlerhaften Bytes zu
korrigieren. Bei dem Ausfahrungsbeispiel nach Figur 4 ist eine
vollständige Korrekturoperation in einem einzigen Zyklus durchzuführen· Bin solcher Zyklus ist aber etvas umständlicher als
ein einfacher Zyklus bei den anderen Ausführungsbeispielen·
209831/0904
- 53 - P 15 969
Das Ausführungsbeispiel nach Figur 5 ist den Ausfühjrungsbeispielen
aus Figur 2 und 3 insoweit sehr ähnlich als für die Rotationsschemata ein Steuerzähler J, ein Register X und ein Syndromregister
S verwendet werden» wobei der Inhalt des Registers X so lange rotiert wird» bis der bestimmte fehlerhafte Byte in die
am weitesten links gelegene Position des Registers X gelangt ist· Ist dies der Fall, dann wird bei dein Ausführungsbeispiel
nach Figur 5 der Korrekturzyklus begonnen, wobei die arithmetische und logische Einheit der Zentraleinheit ZE dazu verwendet
wird, durch Anwendung von Exclusiv-Oder-Operationen den inkorrekten
Datenbyte zu korrigieren. In diesem Fall wird,anstelle des Inhalts des Syndromregisters S direkt durch die Verbindungsr
Matrix aus Figur 2E» 3E und 4E au verwenden, der Inhalt des
Syndromregisters S als Zugriff zu einem Satz von vierundsechszig in einer Sonderspeichereinheit des Hauptrechners vorgespeicherten
KorreKturmustern verwendet- Bei dieser Sonderepelcbereinheit
handelt es sich um einen schnell auslesbareu iiurlesespeicher.
Bei diesem Ausführungsbeispiel brauchen auch nur sechs Bitpositionen
des Syndromregisters S für die Entwicklung der Adresse
überprüft zu werden, bedingt durch die Rotationscharakteristika
des zugrunde liegenden Kodeschemas- Bei dem Ausführungsbeispiel nach Figur 5 wird, ebenso wie bei dem Ausführungsbeispiel nach
Figur 3f sobald der fehlerhafte Byte gefunden und korrigiert istt
die Korrekturroutine beendet·
Aus der ergänzenden Beschreibung der Figuren 2,3 »4 und 5 ergibt
sich, daß nach der vorliegenden Erfindung nur eine Korrekturschaltung nötig ist, mit der Kapazität einen fehlerhaften Byte
zu korrigieren statt eine Korrekturschaltung die Kapazität hat» das ganze Datenwort zu korrigieren· Darin liegt ein wesentlicher
Vorteil der vorliegenden Erfindung, die also mit einer nicht so umfangreichen Korrekturschaltung auskommt.
209831/0904
- 54 - P 15 969
Im folgenden vird auf die Figuren 10 bis 14 besonders Bezug genommen·
Der CR-Tcüctgeber aus Figur 10 enthält eine ODER-Schaltung
397» Bingangsseitig an diese ODER-Schaltung sind vier Takteingänge
angeschlossen neben den Leitungen 396 und 309· Diese vier
Eingänge entsprechen den Figuren 2,3,4 und 5 in denen die vier Taktgeber At B, C und D eingesetzt sind· Die Taktgeber sind in
den Figuren 11 bis 14 dargestellt, und sie bestehen in ihrer einfachsten Ausführungsform, vie dargestellt, aus hintereinander
geschalteten mono st ab ilen Kippschaltungen» wobei das Abschalten einer Kippschaltungsstufe das Einschalten der nächstfolgenden
Kippschaltungsstufe verursacht* Diese Prinzipien liegen auch dem CR-Taktgeber aus Figur 10 zugrunde» bei dem beispielsweise die
aonostabile Kippschaltungsstufe CR-I,wenn sie abschaltet, die
nachfolgende Kippschaltungsstufe CR-2 einschaltet. Die danach
geschaltete Kippschaltungsstufe CR-3 vird jedoch durch ein besonderes
Signal auf der Leitung 398,nicht etwa beim Abschalten
der Kippschaltungsstufe CR-2 eingeschaltet. Die entsprechenden Verknüpfungen der einzelnen Stufen ergeben sich aus den Figuren
10 bis 14.
Bei der nun erfolgenden Beschreibung der vier Ausführungsbeispiele
der Figuren 2 bis 5 vird davon ausgegangen» daß die Syndrombits
erzeugt worden sind und im Syndroaregister S vorliegen und daß der CR-Taktgeber bis zum Taktzyklus CR-6 fortgeschritten ist
und daß das System auf die Torschaltung 250 verzweigt ist, so daß
die Leitung 404 in den Figuren 20» 3C, 4C und 5C aktiviert ist,
wodurch eine Dateneinzelfehlerkorrekturaequenz eingeleitet wird·
Gemäß Figur 2 erfolgt die Taktsteuerung durch den Α-Taktgeber aus
Figur 11· Die tatsächliche Sequenzenfolge ist im folgenden angegeben:
A-I rückschalte die Steuerschaltung J.
Leite die Werte B in das Register X. Löse A-2 aus*
209831/0904
- 55 - P 15 969
Löse A-3 aus*
A-3 leite den Byte aus der Korrekturschaltung zurück
zum Register MDS.
Löse A-4 aus·
A-4 schalte die steuerschaltung J veiter· Kotiere das Syndromregister s·
Rotiere das Register X
Löse \-5 aus·
Venn sie auf O stellt» löse <JR-4 aus.
Wenn sie nicht auf O steht, löse A-2 aus·
Gemäß Figur 2A gelangt der Taktimpuls A-I an den Steuerzähler J
um diesen auf O zurückzuschalten· Gemäß Figur 2Ξ gelangt gleichzeitig der Taktimpuls A-I an die Torschaltung £56 um den Wert
B-I bis B-8 in das Register X aus Figur 2E gelangen su lassen«.
Durch diesen Vorgang wird einer-der Bitspeicherflipflops«
der acht Positionen des Registers X auf 1 geschaltet· Xn diesem Moment wird angenommen, daß es sich dabei um den fehlerhaften
Byte handelt, der jetzt korrigiert wird·
Die Verknüpfungs-Matrix aus den Figuren 2A, 3A» 4A und 5A weist
eine Byteverknüpfungsschaltung» die in Figur IB angegeben ist und dort mit 8 bezeichnet ist,, auf· Dies« Byteverknüpfungsschaltungf
von der zwei Glieder, / die Torschaltung«! 342 und 348 bezeichnet sind« arbeitet« gesteuert durch den Steuerzahler J und den
zugehörigen Dekoder» wobei abhängig von der Vonrartsschaltung
des Steuerzählers J jeweils eine dieser beiden Torschaltungen
zur zeit erregt ist» wodurch der betreffende Byte aus dem MDR Register gemäß Figur 6 über die Korrekturschaltung zurück in das
Register MDR bewegt wird«
209831/0904
- 56 - P 15 969
Bs wird nun die Beschreibung des ersten Ausführungsbeispiels mit dem Α-Taktgeber unter Bezugnahme auf Figur 2C fortgesetzt und
darauf hingewiesen, daß die Leitungen 102, Ϊδ2\ 104, ϊδ*4, 106,
108, WS, 110, ΤΪΟ" und 112 von dem Syndromregister S gemäß Figur
2C über ein Kabel 257 an die Verbindungs-Matrix 258 gemäß .Figur
2B führen· Acht UND-Schaltungen 258 bis 272 sind ausgangsseitig mit Fl bis F8 bezeichnet» Wenn die Eingänge dieser UiiD-Schaltuigeii
erfüllt sind, dann liegen 1en auf den Ausgangsleitungen Fl bis
F8, andernfalls 0er1 vor. Die Ausgänge Fl bis F8 stellen also
ein Bitkorrekturmuster der Korrekturschaltung aus Figur 2D? 3D
und 4D dar· Die Verbindungen des Syndromregiisters S über das
Kabel 257 r die Verbindungs-Matrix 258 und die UflD-ScnaXtungen
bis 272 bilden zusammen eine logische Matrix, die die Korrekturbits
erzeugt· Nur ein Korrekturbit Fl bis F8 ist zur Zeit auf 1- Da ein und nur ein Bit des fehlerhaften Datenbytes fehlerhaft sein
kann, erzeugt die binäre 1 auf der Ausgangsleitung Fl bis F8 an den Exclusiv-ODER-Schaltungen 274 bis 288 die Komplementierung
des fehlerhaften Bits· Insoweit ist die Betriebsweise der Korrekturschaltung
zur Erzeugung des Korrekturbitmusters bei den Ausführungsbeispielen nach Figur 2, 3 und 4 die gleiche*
Der am weitesten links gelegene 1-Ausgang des Registers X aus
Figur 2B ist der 1-Eingang einer jeden UND-Schaltung 258 bis 272,
Die Folge ist, daß das Korrekturbitmuster* das von diesen UIiD-Schaltungen
auf den Leitungen Fl bis F8 erzeugt wird, erst vorliegt, wenn die am weitesten links gelegene Bitposition des Registers
X auf 1 steht, oder mit anderen Worten, wenn ein bestimmter
fehlerhafter Byte bereit ist korrigiert zu werden. Der
Inhalt des Registers X wird rotiert, und der Steuerzähler J wird
weiter geschaltet mit dem Ergebnis, daß mit jedem Zählzyklus des Steuerzahlers J ein anderer Byte durch die Korrekturschaltung
aus den Exclusiv-ODER-Schaltungen 274 bis 288 hindurchgeleitet wird* Wenn die äußerst links gelegene Position des Registers X
209831/0904
BAD ORIGINAL
- 57 - P 15 969
auf O steht* wird kein Korrekturmuster auf den Leitungen Fl bis
P8 an diese Exclusiv-oder-Schaltungen geliefert» und der betreffende Byte passiert ungeändert und gelangt zum Register MDS.
Wenn jedoch die äußerst linke Bitposition des Registers X auf 1 ist» dann liegt ein Bitkorrekturmuster auf.den Leitungen Fl bis
F8 vor» das in die Korrekturschaltung einwirkt und dort den fehlerhaften
Bit des fehlerhaften Bytes korrigiert, welcher korrigierte Byte dann in das Register 318 aus Figur D eingespeichert
wird.
Die Datenbytes und Korrekturmuster werden wie folgt durch den
Α-Taktgeber gesteuert, Wenn der Steuerzahler J durch den Taktimpuls
A-I auf 0 zurückgeschaltet ist, wird die Leitung 303
aktiviert und die Torschaltung 310 geöffnet» Der 1-Ausgang aller acht Datenbits des am weitesten links im Register MDR gelegenen
Byte gelangt Über das Kabel 312 und die Torschaltung 310 an die
Torschaltung 316, die durch den Taktimpuls A-2 geöffnet ist und
von da über das Kabel 306 an die Exclusiv-QDER-Schaltungen 274 bis
288. Die Ausgänge der Exclusiv-ODER-Schaltungen gelangen in das Register 318· Der Inhalt des Registers 318 gelangt dann über
die Torschaltung 320» die durch den Taktimpuls A-3 geöffnet
ist» auf das Kabel 322 und von da durch die Torschaltung 310 und über das Kabel 314 zurück in das Register MDR und zwar in
die äußerst linke Byteposition· Auf diese Weise wird der Byte Hummer 1 im Register MDR, sofern er fehlerhaft war» mittels der
Exclusiv-ODER-Schaltungen korrigiert*
Der Taktimpuls A-4 schaltet den Steuerzähler J und das Syndromregister
S und das Register X weiter und schaltet auf den Taktimpuls A-5· Der Taktimpuls A-5 lädt das System auf den Taktimpuls
CR-4 verzweigen, sofern der Steuerzähler J immer noch auf 0
steht· Da jedoch der Taktimpuls A-4 den Steuerzähler J weitergeschaltet hat, ist die einzige zeit während der der Steuerzähler J
2Q9831/Q9Q4
- 58 - P 15 969
auf O stehen kann während des Taktimpulses A-5 gegeben» wenn
der siebte Byte in die Korrekturschaltung eingespeist wird und der Taktimpuls A-4 den Steuerzähler J auf O schaltet.
Die Rotierung des Syndroraregisters S erfolgt von der achten
Bitposition zurück in die erste Bitposition und dann wird der Inhalt der anderen stufen nach rechts in die jeweils nächst
höhere stufe verschoben. Die Kotierung des Registers X erfolgt wie angezeigt und die Fortschaltung des Steuerzählers J erfolgt
" so vie sie sich aus der Tatsache ergibt* daß dieser jeweils
bei Beginn eines Korrekturzyklus auf 0 zurückgeschaltet wird.
Aufeinanderfolgende Bytes eines Datenwortes werden dann durch die Korrekturschaltung geleitet und alle richtigen Bytes passieren die Korrekturschaltung ungeändert und nur das fehlerhafte
Byte wird mit einem Korrekturbitmuster über die Leitungen Fi bis
F8 unter der Steuerung des Registers X verknüpft. Das Besondere dieses AusfUhrungsbeispiels liegt darin» daß alle acht Bytes des
Datenwortes nacheinander durch die Korrekturschaltung hindurchgeleitet
verden, ehe der Steuerzähler J auf O zurückgeschaltet
wird und damit das System auf den Taktimpuls CR-4 verzweigen
fc kann, der dann das Zeichen dafür gibt, daß die erforderlichen
Korrekturen durchgeführt worden sind und der Lesevorgang vollendet
werden kann·
Die Rückführung des inhaltes des Registers 318 zurück in das
Register MDR erfolgt während des Taktimpulses A-3 unter Mitwirkung
der ODER-Schaltung 125, die den gesamten Inhalt des Registers
MR über die Verbindungs-Matrix in das Register MDR gelangen
läßt.Wenn keine Veränderung eines Bytes vorgenommen wird und der
fragliche Byte in das Register MR geleitet wird,, erfolgt keine
Veränderung des Inhaltes des Registers MDR. Venn jedoch ein Bit
in der Korrekturschaltung geändert wird, dann wird der fehlerhafte
209831/0904
- 59 - P 15 969
Byte ausgezählt und der fragliche Bit wird in dem Register geändert·
Damit ist die Beschreibung des ersten Ausfuhrungsbeispiels, das durch den Α-Taktgeber gesteuert wird, beendet. Zu dem zweiten
Ausführungsbeispiel, das in Figur 3 dargestellt ist, werden jetzt noch einige Punktionsbeschreibungen gegeben« Zunächst
wird daran erinnert» daß die beiden Ausführungsbeispiele weitgehend ähnlich sind* Der erste Unterschied liegt darin, daß
bei dem Ausführungsbeispiel nach Figur 3 Fortschritt nur stattfindet,
wenn ein fehlerhafter Bit korrigiert worden ist und daß das System dann zurückverzweigt t so daß die Taktfolge mit
dem Taktimpuls C-4 fortfahren kann« Dieses Ausführungsbeispiel
arbeitet« gesteuert durch den B-Taktgeber aus Figur 12» Die
Betriebsfolgen des B-Taktgebers sind folgende:
B-I Rückschalte den Steuerzähler J.
Leite den Vert B in das Register X. Löse B-2 aus.
B-2 Ist in der am weitesten links gelegenen Bitposition
des Registers X=I.
Wenn ja löse B-3.aus. Wenn nein löse B-4*aus
B-3 Schalte den Steuerzähler J weiter
Rotiere das Register S Rotiere das Register X
Löse B-2 aus.
B-4 Leite den Byte durch die Korrekturschaltung-Löse
B-5 aus.
209831/0904
- 60 - P 15 96S
B-5 Leite den Byte aus der Korrekturschaltung zurück in das Register MDR1.
Löse CR-4 aus.
Der Taktimpuls B-I vird durch die Leitung 404 ausgelöst, wenn
der Taktimpuls CR-6 an die Torschaltung 250 gelangt und dadurch festgestellt wird, daß ein Einzelfehler vorliegt* Der Taktimpuls
B-I gelangt an den Steuerzähler J aus Figur.3A, der diesen
Zähler auf 0 zurückschaltet. Der Taktimpuls B-I gelangt auch an die Torschaltung 256 aus Figur 3A und leitet den Inhalt
auf den Leitungen B-I bis B-8 an das Register X* Die Taktfolge
geht dann Über auf die Stufe B-2. Der Taktimpuls B-2 gelangt
an die Torschaltung 358, die entscheidet ob oder ob nicht die am weitesten links gelegene Bitposition des Registers X auf
1 ist. Wenn dies nicht der Fall ist, dann verzweigt die Taktfolge auf B-3. wodurch der Steuerzähler J veitergeschaltet
vird, das Register X weitergeschaltet vird und das Syndromregister s veitergeschaltet wird und die Rotine auf die Taktstufe
B-2 zurückkehrt. Wenn dagegen eine 1 in der am veitesten links
gelegenen Bitposition vorliegt, dann verzweigt die Sequenz über die Leitung 362 auf die Taktstufe B-4. Der Taktimpuls B-Sf 91^-an
die Torschaltung 316 aus Figur 3D, die den Inhalt des speziellen Datenbytes auf dem Kabel 306 über den Dekoder aus
Figur 3A in die Korrekturschaltung aus den Exclusiv-ODER-Schältungen
274 bis 288 einspeichert· Gleichzeitig wird der andere Eingang dieser Exclusiv-ODER-Schaltungen über die Leitungen Fl
bis F8 getastet* die erregt sind· wenn die UND-Schaltungen
bis 272 erfüllt sind. Das richtige Bitkorrekturmuster auf den Leitungen Fl bis F8 liegt dann als Ergebnis der Rotation des
Syndroraregisters S vor* Die Abschaltung^ des Takt impulses B-4
lust den Taktimpuls B-5 aus, 8er/8eT
l?tsdes Registers 318 in das Register NR und anschließend in das Register MDR verur
sacht. Die Abschaltung des Taktimpulses B-5 löst die Taktfolge CR-4
209831/0904
- 61 - P 15 969
aus Figur 10 aus, womit dieser Lesezugriff' beendet ist»
Das Ausführungsbeispiel nach Figur 4 unterscheidet sich von den
Ausführungsbeispielen nach'Figuren 2 und 3 im wesentlichen dadurch,
daß die Information über die £iir den fehlerhaften Byte
zuständige Schaltung auf den Leitungen Bl bis Bd direkt dazu :
verwendet wird, um den fehlerhaften Byte durch die Torschaltung aus der Figur 4A in die Korrekturschaltung aus Figur 4D zu leiten.
Gleichzeitig damit wird das richtige Bitkorrekturmuster auf den Leitungen Fl bis F3 in die Korrekturmatrix aus Figur 4B eingespeist, um dort auf den Leitungen Fl bis F4 das richtige Muster
zu erzeugen· Anstatt den Inhalt des Syndromregisters S zu.rotier
ren um das richtige Korrekturmuster auf den Leitungen Fl bis _F8
vorliegen zu haben, wird dieses Bitmuster direkt Über die Torschaltungen
aus Figur 4G und' 4H erzeugt« Diese besonderen Verbindungen sind nur für das vorliegende Ausführungsbeispiel von
xlutzen. Diese Verbindungen müssen andereseih, vemi die Datensätze
andere sind-
Die Taktsequenz für dieses Ausführungsbeispiel ergibt sich aus Figur 13 und umfaßt nur die zwei Stuf ei Cl und CS, die wie folgt
ablaufen:
C-I Leite den Byte in die Korrektur-Matrix·
Löse C-2 aus·
C-2 Leite den Byte aus der Korrektur-Matrix zurück
in das Register MDR*
Löse C-4 aus»
Sobald bei dem Ausführungsbeispiel nach, Figur 4 das Syndromregiater
s verknüpft ist, wird eine der Leitungen Bl bis BS erregt,
je nachdem mit welcher die logische Schaltung erfüllt ist, und
diese Leitung aktiviert eine der Torschaltungen aus Figur 4 und
209331/0904
- 62 - P 15 969
eine der Torschaltungen aus Figur 4G bis 4H. Der Taktimpuls Ol
an der Torschaltung 316 veranlaßt den fehlerhaften Byte über
das Kabel 306.in die Exclusiy-ODER-Korrektur-Schaltung einzulaufen. Gleichzeitig wird das richtige Korrekturbitnruster über,
die Torschaltungen 366 bis 380 und das Kabel 382 aus Figur 4D
und 4H in die Verbindungs-Matrix 258 eingespeist ,und die zugehörigen UUD-Schaltungen erzeugen das richtige 'Bitkorrekturmuster
auf den Leitungen Fl bis F8. Mit der Abschaltung, des Taktimpulses
C-I wird der Taktimpuls C-2 ausgelöst, der an die Torschaltung
P 320 gelangt und diese dffnet und unter Mitwirkung der ODER-Schaltung 125 den korrigierten Byte zurück in das Register MR
und dann zurück in das Register MDR geleitet· Mit Abschaltung des Taktimpulses C-2 wird der. Taktimpuls C-4 ausgelöst und damit der Lesevorgang fortgesetzt· Damit ist die Beschreibung des
Ausführungsbeispiels nach Figur 4 beendet·
Das Ausführungsbeispiel nach Figur 5 unterscheidet sich von
den Ausführungsbeispielen nach Figur 2 und 3 im wesentlichen dadurch, daß die Bitkorrektur in dem fehlerhaften Byte durch zusätzliche Hardware vorbereitet ist· Die Torschaltungen aus
Figur 5A arbeiten gesteuert durch den Steuerzahler J und den zugehörigen Dekoder, und die Syndronbite aus dem fcyndrooregister s
werden gesteuert durch den ^Taktgeber rotiert« Der Inhalt der
Byteidentifikationsschaltung wird in daa »effister X eingespeichert
und die tatsächliche Korrektur wird ausgelöst, venn die am weitesten links gelegene Bitposition des Registers X auf 1 steht«
Dieses Ausführungsbeispiel wird durch den D-Taktgeber aus Figur
14 gesteuert, der durch die Leitung 414 eingeschaltet wird. Die Taktfolge wickelt sich wie folgt ab*
Leite den B-Wert in das Register χ. Löse D-2 aus·
209831/0904 BAD original
- 63 - P 15 969
D-2 In dör am weitesten links gelegenen Position des
Registers X « 1.
D-3 Schalte den Steuerzähler J weiter.
Rotiere das Syndromregister S· Rotiere das Register X.
Löse D-2 aus·
Der Taktimpuls D-I schaltet den Steuerzahler J auf O und schaltet
die Leitungen Bl bis B8 über die Torschaltung 256 an das Register X» Hit der Abschaltung des Taktimpulses D-I vird der Taktimpuls
D-2 ausgelöst· Diese Taktstufe schältet die am weitesten links
gelegene Bitposition des Registers X vorwärts, indem sie einen Impuls an die Torschaltung 358 leitet« F!s «ei nun angenommen,
daß auf O vorwärtsgeschaltet ist, dann wird die Leitung 356 aktiviert und der Taktimpuls D-3 schaltet den Steuerzahler J weiter« rotiert das Syndromregister S und das Register X. Mit der
Abschaltung des Taktimpulses D-3 wird der Taktimpuls D-2 ausgelöst» worauf wieder der Inhalt der am weitesten links gelegenen
Registerposition des Registers X Überprüft wird« Venn dabei eine
1 festgestellt vird, verzweigt das System auf die Leitung 388, und es wird ein Softwareprogramm ausgelöst» das in einem schnell
auslesbaren lokalen Speicher untergebracht ist» bei dem es sich um einen xJurlesespeicher handeln kann, der die folgenden Operationen innerhalb der arithmetischen und logischen Einheit
steuert. Es gibt 64 mögliche Bitkorrekturmuster die in dem lokalen Speicher untergebracht sind und die nach Maßgabe der Bits
auf dem Kabel 390 gemäß Figur 5D adressiert werden. Diese Bits stammen aus dem SyndrOBregister S, das während der D-Taktgeberfolge rotiert wird um immer den richtigen Satz von Bits nach
209831/0904
- 64 - P 15 969
Maßgabe des fehlerhaft befundenen Bytes bereitzuhalten« Im
folgenden ist das betreffende Mikroprogramm angegeben.
1. Start
2· Sende die Adresse auf dem Kabel 3SO an das Adressenregister
des Lokalspeichers.
3· Lesezugriff am Lokalspeicher.
4. Sende das Datenwort aus dem Lokalspeicher an die arithmetische
und logische Einheit.
5. Sende den Byte auf dem Kabel 392 an die arithmetische und logische Einheit.
6. Vollführe eine Bxclusiv-ODBR-Verknüpfung in der arithmetischen und logischen Einheit.
7. Sende das Ergebnis der Exclusiv-ODER-Verknüpfung zurück auf
das label 394*
8. Verzweige auf den Taktimpuls CR-4·
Die durch das Mikroprogramm gesteuerte Arbeitsweise ist im wesentlichen die gleiche wie bei den anderen Ausführungsbeispielen.
Es vird nämlich ein fehlerhafter Bit über das Kabel 394 an
die arithmetische und logische Einheit gegeben und dort mit dem Datenbitkorrekturmuster aus dem lokalen Speicher in Exclusiv-ODER-Schaltungen
verknüpftfund das korrigierte Byte wird dann
in das System zurückgegeben und in das Register MR eingegeben. Am Ende des Mikroprogramms entsteht ein signal aufgrund dessen
das Register MDR aus dem Register MR neu geladen wird und der Taktimpuls CR-4 ausgelöst wird«
209831/0904
- 65 - P 15 969
Nach der Erfindung werden also die durch die Rotationsfäbigkeit
des zugrunde gelegten DFE/EFK-Hammingcodes bedingten Eigenschaften verwendet, die aus den Datenbits und Prüfbits erzeugten
Syndrombits in einem Sonderregister zu rotieren, wodurch es
wiederum möglich ist, die Korrektur mit einem außerordentlich geringen Aufwand an Korrekturdekodierscbaltkreisen durchzuführen. Hit diesen Korrekturdekodierscbaltkreisen sind die
erforderlichen logischen. Schaltkombinationen der verschiedenen Syndrombits gemeint, die nötig sind, um die gewünschte Fehlerkorrektur durchzuführen. Die Rotationscharakteristika erlauben
es, mit einem Dekodierer von der Größe eines einzigen Byte die nötigen Korrekturmuster herzustellen, sofern nur der Inhalt
des Syndromregisters in der richtigen Weise rotiert'wird.
Bedeutungsvoll ist auch die Tatsache, daß man bei entsprechender
Interogation und Kombination der ursprünglichen Syndrombits einen fehlerhaften Byte, der einen Einzelfehlerbit enthält, unverzüglich identifizieren kann. Dieser Umstand gestattet es,
unter Anwendung der Rotationscharakteristika des Codes die Korrektur des fehlerhaften Byte gleichzeitig durchzuführen, und
man spart es sich, zur Korrektur der Datenwörter eine Korrekturschaltung vorzusehen, die parallel ein ganzes Datenwort aufnehmen
kann, wie es bei gleicher Korrekturgesobwindigkeit nach dem
Stande der Technik erforderlich wäre.
Man kann die Byteidentifizierung auch ohne Ausnutzung der Rotationsoharakteristika vornehmen, wie dies bei dem Ausführungsbeispiel
nach Figur 4 der fall ist. Bei dieses Auefübrungsbeispiel spart
nan Zeit» da nur der fehlerhafte Byte durch die Korrekturschaltung hindurcbgeeohleift wird. Dies macht allerdings etwas zusätzlichen Schaltungeaufwand erforderlich, bedingt durch die !Tatsache,
daß auf die Rotationacharakteristika des Codes bei der Herstellung des Codemusters verzichtet wird.
209831/0904
- 66 - P 15 969
Die Erfindung löst auch ein Problem, das normalerweise bei allen
Fehlerkorrektureysthemen, die mit einem DFJS/EFK-Hainmingcode arbeiten, auftritt. Dabei bandelt es sieb um die große Menge an
Hardware, die für die Fehlererkennung und Korrektur erforderlich ist, was nach der Erfindung nicht der Fall ist. nach der
Erfindung wird vielmehr gegenüber dem Stand der Technik-die für
die Korrektur erforderliche Hardware etwa um den Faktor 1/m
reduziert, wobei m die Zahl der Bytes eines Datenwortes ist.
209831/0904
Claims (1)
- Docket: YO 970ANSPRUCHBinärdatenumsetzer fur einen speicher der paritätsgesicherte zu speichernde Informationsvörter in prüfbitgesicherte Informationswörter umwandelt und als solche speichert und diese beim Auslesen prüft und korrigiert und in die paritätsgesicherten Informationsvörter zurückuravandelt, wobei die Informationswörter für jeden Byte (Bitgruppe) durch einen Paritätsbit beziehungsweise einen nach einem rotationsfähigen zur Einzelfehlerkorrektur und Doppelfehlererkennung fähigen Kode gebildeten Prüfbit gesichert sind (nach Patent tfr» 2132 565), dadurch gekennzeichnet» daß zur Korrektur ein SyndroraregiBter (S) vorgesehen 1st» das mit einem aus einen ausgelesenen prttfbitgeeicherten Inforaationswort abgeleiteten Syndrombitmuster Bit eines Syndrombit für jedes Byte des Informationswortes geladen und im Takte (A - 4 ) eines Steuertaktgebers ( J ) rotiert wird und daß die Bytes des Informationswortes im gleichen Takt einsein nacheinander bitweise parallel durch eine Korrekturschaltung ( 274» 318 ) geschleift werden, die für jeden Bit eines Informationswortbytes einen Korrekturkanal aufweist mit einer logischen Schaltung ( 274 - 288 ), deren Steuereingange in Abhängigkeit rom jeweiligen Syndrombitmuster im Syndrombitregister (S) getastet werden.209831/0906Leerseite
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10326270A | 1970-12-31 | 1970-12-31 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE2160412A1 true DE2160412A1 (de) | 1972-07-27 |
Family
ID=22294249
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19712160412 Pending DE2160412A1 (de) | 1970-12-31 | 1971-12-06 | Binärdatenumsetzer |
Country Status (5)
Country | Link |
---|---|
US (1) | US3697949A (de) |
JP (1) | JPS542534B1 (de) |
DE (1) | DE2160412A1 (de) |
FR (1) | FR2119959B1 (de) |
GB (1) | GB1313488A (de) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3766521A (en) * | 1972-04-24 | 1973-10-16 | Ibm | Multiple b-adjacent group error correction and detection codes and self-checking translators therefor |
US3836957A (en) * | 1973-06-26 | 1974-09-17 | Ibm | Data storage system with deferred error detection |
US3917933A (en) * | 1974-12-17 | 1975-11-04 | Sperry Rand Corp | Error logging in LSI memory storage units using FIFO memory of LSI shift registers |
US4005405A (en) * | 1975-05-07 | 1977-01-25 | Data General Corporation | Error detection and correction in data processing systems |
GB2023895B (en) * | 1978-06-21 | 1982-10-13 | Data General Corp | Error detection circuit |
JPS55149551A (en) | 1979-05-10 | 1980-11-20 | Toshiba Corp | Data correcting circuit |
US4276647A (en) * | 1979-08-02 | 1981-06-30 | Xerox Corporation | High speed Hamming code circuit and method for the correction of error bursts |
US4562576A (en) * | 1982-08-14 | 1985-12-31 | International Computers Limited | Data storage apparatus |
JPS5949658U (ja) * | 1982-09-22 | 1984-04-02 | 凸版印刷株式会社 | 易開封性容器 |
JPS6231017U (de) * | 1985-08-08 | 1987-02-24 | ||
GB2190658B (en) * | 1986-03-24 | 1989-12-13 | Hans Rausing | Packing containers and blanks therefor |
SE456008B (sv) * | 1986-12-11 | 1988-08-29 | Tetra Pak Ab | Forpackningsbehallare med oppningsbar, forseglingsforsvagad toppforslutning |
US5140595A (en) * | 1987-09-21 | 1992-08-18 | Cirrus Logic, Inc. | Burst mode error detection and definition |
US4979173A (en) * | 1987-09-21 | 1990-12-18 | Cirrus Logic, Inc. | Burst mode error detection and definition |
US5058115A (en) * | 1989-03-10 | 1991-10-15 | International Business Machines Corp. | Fault tolerant computer memory systems and components employing dual level error correction and detection with lock-up feature |
US5608741A (en) * | 1993-11-23 | 1997-03-04 | Intel Corporation | Fast parity generator using complement pass-transistor logic |
US5481566A (en) * | 1993-12-29 | 1996-01-02 | At&T Corp. | Method and apparatus to increase efficiency of systematic codes |
SG76501A1 (en) * | 1996-02-28 | 2000-11-21 | Sun Microsystems Inc | Error detection and correction method and apparatus for computer memory |
US5822339A (en) * | 1996-05-30 | 1998-10-13 | Rockwell International | Data decoder and method to correct inversions or phase ambiguity for M-ary transmitted data |
GB9814608D0 (en) * | 1998-07-07 | 1998-09-02 | Lucas Ind Plc | Data integrity checking apparatus |
US20040019842A1 (en) * | 2002-07-24 | 2004-01-29 | Cenk Argon | Efficient decoding of product codes |
US7165205B2 (en) * | 2004-05-14 | 2007-01-16 | Motorola, Inc. | Method and apparatus for encoding and decoding data |
US8214390B2 (en) * | 2009-06-03 | 2012-07-03 | Yahoo! Inc. | Binary interest vector for better audience targeting |
US8972835B1 (en) * | 2012-06-06 | 2015-03-03 | Xilinx, Inc. | Encoding and decoding of information using a block code matrix |
US8972833B1 (en) * | 2012-06-06 | 2015-03-03 | Xilinx, Inc. | Encoding and decoding of information using a block code matrix |
CN110728115B (zh) * | 2018-07-17 | 2024-01-26 | 珠海金山办公软件有限公司 | 文档内容的乱码识别方法、装置及电子设备 |
US11611358B2 (en) * | 2019-12-24 | 2023-03-21 | Kioxia Corporation | Systems and methods for detecting or preventing false detection of three error bits by SEC |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3273119A (en) * | 1961-08-21 | 1966-09-13 | Bell Telephone Labor Inc | Digital error correcting systems |
US3243774A (en) * | 1962-07-12 | 1966-03-29 | Honeywell Inc | Digital data werror detection and correction apparatus |
NL130511C (de) * | 1963-10-15 | |||
US3562709A (en) * | 1968-09-12 | 1971-02-09 | Rca Corp | Correction of block errors in transmission of data |
US3568153A (en) * | 1968-09-16 | 1971-03-02 | Ibm | Memory with error correction |
US3573728A (en) * | 1969-01-09 | 1971-04-06 | Ibm | Memory with error correction for partial store operation |
-
1970
- 1970-12-31 US US103262A patent/US3697949A/en not_active Expired - Lifetime
-
1971
- 1971-09-20 GB GB4365171A patent/GB1313488A/en not_active Expired
- 1971-12-02 FR FR7144315A patent/FR2119959B1/fr not_active Expired
- 1971-12-06 DE DE19712160412 patent/DE2160412A1/de active Pending
- 1971-12-13 JP JP10030471A patent/JPS542534B1/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
FR2119959A1 (de) | 1972-08-11 |
GB1313488A (en) | 1973-04-11 |
US3697949A (en) | 1972-10-10 |
FR2119959B1 (de) | 1974-09-27 |
JPS542534B1 (de) | 1979-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2160412A1 (de) | Binärdatenumsetzer | |
DE2328869C2 (de) | Verfahren und Schaltungsanordnung zum Betreiben eines digitalen Speichersystems | |
DE2646162C3 (de) | Schaltungsanordnung zum Ersetzen fehlerhafter Informationen in Speicherplätzen eines nicht veränderbaren Speichers | |
DE2060643C3 (de) | Schaltungsanordnung zur Korrektur von Einzelfehlern | |
DE2132565C3 (de) | Umsetzer | |
DE2521436C3 (de) | Informationswiedergewinnungsanordnung | |
DE1524239A1 (de) | Verfahren zur Lokalisierung eines Fehlers in einer Anlage mit mindestens zwei parallel arbeitenden Rechengeraeten | |
DE2610411C2 (de) | Schaltungsanordnung zur Ermittlung derjenigen fehlerfreien Einheit aus einer Vielzahl von Einheiten einer Datenverarbeitungsanlage mit der geringsten Benutzungshäufigkeit | |
DE2430464A1 (de) | Einrichtung zur fehlergesicherten datenuebertragung | |
DE2554945A1 (de) | Verfahren und schaltungsanordnung zur fehler-erkennung und -korrektur | |
DE1901228A1 (de) | Datenverarbeitungsanlage mit Einrichtungen zur Wiederholung von Operationen bei Auftreten eines Fehlers | |
DE2131066A1 (de) | Anordnung zur Adressen-Umsetzung | |
DE2350146A1 (de) | Verfahren und netzwerk zur neuordnung eines rechnerspeichersystems | |
DE19921232B4 (de) | Verfahren zum gesicherten Schreiben eines Zeigers für einen Ringspeicher, zugehöriger Ringspeicher, Verwendung des Ringspeichers und Chipkarte mit Ringspeicher | |
DE2424820B2 (de) | Einrichtung zur Durchsuchung eines Datenspeichers | |
DE2622184A1 (de) | Fehlerkorrekturverfahren | |
DE2717658A1 (de) | Anordnung zur ansteuerung eines mikroprogrammspeichers | |
DE1474062B2 (de) | Datenverarbeitungsanlage mit einer anzahl von pufferspeichern | |
DE1474094B (de) | Programmgesteuerte Datenverarbeitungs anlage | |
DE3148099C2 (de) | Anordnung zum Erkennen einer Digitalfolge | |
DE2739607C3 (de) | Einrichtung zum Verbinden einer Vielzahl von Multiplexsystemen | |
DE2115198A1 (de) | Verfahren zum Wiederauffinden von Datensätzen | |
DE2456709A1 (de) | Schaltung zur fehlererkennung und -korrektur | |
DE3121742A1 (de) | Mikroprogrammsteuerverfahren und -einrichtung zu dessen durchfuehrung | |
DE2063195C2 (de) | Verfahren und Einrichtung zur Operationssteuerung einer Anzahl von externen Datenspeichern |