DE2132565C3 - Umsetzer - Google Patents
UmsetzerInfo
- Publication number
- DE2132565C3 DE2132565C3 DE2132565A DE2132565A DE2132565C3 DE 2132565 C3 DE2132565 C3 DE 2132565C3 DE 2132565 A DE2132565 A DE 2132565A DE 2132565 A DE2132565 A DE 2132565A DE 2132565 C3 DE2132565 C3 DE 2132565C3
- Authority
- DE
- Germany
- Prior art keywords
- bits
- parity
- data
- check
- error
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
- 230000015654 memory Effects 0.000 claims abstract description 65
- 208000011580 syndromic disease Diseases 0.000 claims abstract description 53
- 238000012937 correction Methods 0.000 claims abstract description 52
- 238000001514 detection method Methods 0.000 claims abstract description 22
- 239000011159 matrix material Substances 0.000 claims description 80
- 238000000034 method Methods 0.000 claims description 16
- 238000012360 testing method Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 7
- 230000008859 change Effects 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 abstract description 6
- 230000006870 function Effects 0.000 abstract description 6
- 230000007246 mechanism Effects 0.000 abstract description 2
- 238000013519 translation Methods 0.000 abstract description 2
- 230000000644 propagated effect Effects 0.000 abstract 1
- 238000000638 solvent extraction Methods 0.000 abstract 1
- 230000000295 complement effect Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000015572 biosynthetic process Effects 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- XEEYBQQBJWHFJM-UHFFFAOYSA-N Iron Chemical compound [Fe] XEEYBQQBJWHFJM-UHFFFAOYSA-N 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 241000196324 Embryophyta Species 0.000 description 1
- 235000010678 Paulownia tomentosa Nutrition 0.000 description 1
- 240000002834 Paulownia tomentosa Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 235000000396 iron Nutrition 0.000 description 1
- 229910052742 iron Inorganic materials 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- CJBPIZBHRWDBGQ-COSFPPCYSA-N rfa-1 Chemical compound C1([C@H]2N[C@H](CC3(N=C4C=5C6=C7O[C@](C6=O)(C)O/C=C/[C@@H]([C@H]([C@@H](OC(C)=O)[C@@H](C)[C@@H](O)[C@H](C)[C@@H](O)[C@@H](C)\C=C\C=C(C)/C(=O)NC(=C4N3)C(=O)C=5C(O)=C7C)C)OC)C2)C=2C=CC=CC=2)=CC=CC=C1 CJBPIZBHRWDBGQ-COSFPPCYSA-N 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
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
-
- 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
Description
Die Erfindung betrifft einen Umsetzzer nach dem Oberbegriff des PA 1.
Während vieler Jahre ist in der Computerindustrie der dreidimensionale Magnetkernspeicher als schneller
Arbeitsspeicher verwendet worden. Den Magnetkernspeichern und ihren Herstellungsverfahren ist ein hoher
Grad von Zuverlässigkeit eigen. Dies bedeutet, daß es äußerst selten vorkam, daß ein Magnetkernspeicher
nach der Herstellung nicht hundertprozentig benutzbar war. Dies liegt an einer Reihe von Faktoren. Der
wichtigste ist der, daß jede einzelne Bitspeicherstelle oder jeder Kern vor dem Einbau in den Speicher
getrennt prüfbar ist.
Daher sind einzelne fehlerhafte Bitstellen in Magnetkenispeichern
ungewöhnlich. Die in ihnen normalerweise auftretenden Fehlerarten beziehen sich auf eine
vollständige Zeile oder Spalte des Speichers aufgrund von Fehlern in den Treiberschaltungen oder der
Verdrahtung.
Seit dem Aufkommen neuerer, äußerst kurze Zugriffszeiten aufweisender Halbleiterspeicher, die
gewöhnlich als integrierte Speicher bezeichnet werden, ist es normalerweise nicht möglich, die einzelnen
Bitspeicherstellen zu prüfen, da gewöhnlich eine ganze Ebene mit Speicherelementen gleichzeitig hergestellt
wird. Aufgrund des Herstellungsprozesses eines derartigen integrierten Halbleiterspeichers kann ein derartiger
Speicher normalerweise nicht eher geprüft werden, als er vollständig hergestellt ist Es ist daher nicht möglich,
einzelne fehlerhafte Bitspeicherelemente durch fehlerfreie zu ersetzen. Es ist daher ersichtlich, daß es
erwünscht ist, in integrierten Halbleiterspeichern einen bestimmten Prozentsatz fehlerhafter Bitspeicherelemente
zu tolerieren. Um die Benützung fehlerhafter Bitspeicherelemente zu verhindern, ist nach dem Stand
der Technik ein großer Aufwand an Bauteilen und Programmierung für die Speicherzuteilung erforderlich.
Zu diesem Verfahren mußte man jedoch im Falle vieler Fehler in einem solchen Halbleiterspeicher, in dem ein
größerer Teil unbrauchbar ist, greifen. Eine andere Möglichkeit besteht in der Verwendung fehlerkorrigierender
Codes, wie z. B. der Hamming-Codes, wobei einem Datenwort Redundanzbits beigegeben werden,
und durch Kombination der Datenbits mit den Redundanzbits festgestellt werden kann, ob ein
ausgelesenes Datenwort fehlerfrei ist und ob erkannte Fehler aufgrund der Codeeigenschaften korrigiert
werden können. Das Codierverfahren nach Hamming
hat in der Nachrichtentechnik vielfache Anwendung gefunden. Auf dem Feld der Datenverarbeitung hat die
Fehlererkennung und -korrektur nur begrenzte Anwendung gefunden, weil zusätzliche Bitspeicherstellen
erforderlich sind und umfangreiche zusätzliche Verknüpfungsschaltungen, um die Fehlererkennung und
-korrektur durchzuführen.
Es sei bemerkt, daß in einem Datenverarbeitungssystem Paritätsprüfungen erforderlich sind, um die
Fehlerfreiheit der zu den verschiedenen Teilen der Anlage, wie den Registern und Rechenschaltungen,
übertragenen Daten zu prüfen. Wenn ein Paritätsfehler erkannt wird, wird ein Signal erzeugt und eine neue
Übertragung der Daten gefordert. In der Mehrheit aller Fälle erhält man dadurch die richtige Information. Bei
Speichern jedoch, bei denen ein Fehler normalerweise nicht durch Störimpulse, wie in dem eben genannten
Fall, verursacht ist, liefert eine Paritätsprüfung zwar eine Fehleranzeige, aber da die meisten Fehler durch
fehlerhafte Schaltungsteile verursacht werden, gibt es keine Möglichkeit, mit Hilfe der Paritätsprüfung das
fehlerhafte Speicherelement zu lokalisieren. Auj diesem Grunde muß ein fehlerkorrigierender Code, wie
beispielsweise ein Hamming-Code benutzt werden, wenn eine Fehlerkorrektur erfolgen soll. Wie bereits
erwähnt, erfordert die Mehrheit der in der Datenverarbeitungsindustrie angewandten Fehlerkorrekturverfahren
umfangreiche und teure Verknüpfungsschaltungen. Außerdem mußten in den -:■■'·:■ ι-r. Fehlererkennungsund
-korrekturschaltungen besondere Paritätsgeneratoren zusätzlich zu der Fehlererkennungs- und -korrekturschaltung
verwendet werden, um aus einem Speicher stammende Daten, die zu einer anderen Stelle der
Datenverarbeitungsanlage übertragen werden sollten, mit einem Paritätsbit zu versehen. Ferner mußte eine
Schaltung vorgesehen werden, die die erforderlichen Prüfbits für jedes in den Speicher einzuEchreibende
Worte erzeugte. Daher ist ersichtlich, daß für die Fehlererkennungs- und -korrekturschaltung sowie die
verschiedenen Schaltungen zur Partitätsbiterzeugung und Daritätsprüfung eine große Anzahl logischer
Schaltungen erforderlich war, da bisher die genannten Schaltungen alle als besondere Einheiten ausgeführt
wurden.
Aus den genannten Gründen wurden Fehlererkennungs- und -korrekturschaltungen bisher nur in sehr
teuren und hochgradig zuverlässigen Datenverarbeitungsanlagen eingebaut, bei denen der Benutzer den
notwendigen hohen Preis zu zahlen gewillt war.
Der Erfindung liegt die Aufgabe zugrunde, den für eine Fehlererkennungs- und -korrekturschaltung erforderlichen
Aufwand zu verringern. Die genannte Aufgabe wird durch einen Umsetzer der eingangs
genannten Art gelöst, der durch folgende Merkmale gekennzeichnet ist:
a) ein erstes Register zum wahlweisen Speichern entweder von aus dem Speicher gelesenen Daten-
und Prüfbits oder von in den Speicher einzuschreibenden Daten- und Byteparitätsbits,
b) mehrere erste mehrstufige EXKLUSIV ODER-Schaltungen zur Erzeugung von Redundanzbits
(Prüfbits bzw. Paritätsbits), deren Eingänge jeweils über eine Verbindungsmatrix an ausgewählte
Stufen des ersten Registers angeschlossen sind,
c) ein zweites Register zur Speicherung der ursprüngliehen
Datenbits und der von den ersten mehrstufigen EXKLUSIV ODER-Schaltungen erzeugten
Redundanzbits,
d) mehrere zweite mehrstufige EXKLUSIV ODER-Schaltungen zur Prüfung der Parität der Datenby-
J5 tes und der zugehörigen Redundanzbits,
c) ein drittes Register zur Speicherung der Ausgangssignale der zweiten mehrstufigen EXKLUSIV
ODER-Schaltungen, dessen Stufen bei erfüllter Paritätsbedingung der Datenbytes und ihrer Paritätsbits
einen vorgegebenen Binärwert speichern,
f) eine Prüfschaltung zur Prüfung der von den zweiten mehrstufigen EXKLUSIV ODER-Schaltungen
gelieferten Ergebnisse und eine Anzeigeschaltung zur Anzeige eines Datenbit- oder eines
j Prüfbitfehlers, wenn die Fehlerursache im Speicher
liegt.
Ein Ausführungsbeispiel der Erfindung ist in den Zeichnungen dargestellt und wird nachfolgend näher
beschrieben. Es zeigt
w F i g. 1 einen Lageplan für die F i g. 1A und 1B,
w F i g. 1 einen Lageplan für die F i g. 1A und 1B,
Fi g. IA und IB ein Blockschaltbild der vorliegenden
Fehlererkennungs- und Datenumsetzschaltung mit den wichtigsten Funktionsblocks und dem Datenfluß des
Systems,
ji F i g. 2 einen Lageplan der F i g. 2A bis 2J,
ji F i g. 2 einen Lageplan der F i g. 2A bis 2J,
Fig. 2A bis 2J ein genaueres Blockschaltbild, das die
wesentlichen Merkmale der erfindungsgemäßen Schaltungzeigt,
Fig. 3 ein Operations-Ablaufdiagramm für einen M) Speicher-Schreibzugriff,
Fig.4 den CW'-Taktgeber, der im wesentlichen die
Systemoperation bei einem Speicher-Schreibzyklus steuert,
Fig. 5 ein Operations-Ablaufdiagramm für einen
h5 Speicher-Lesezugriff,
F i g. 6 den Cfl-Taktgeber, der das System bei einem
Speicher-Lesezyklus steuert,
Fig. 7 ein genaueres Blockschaltbild einer der
EXKLUSIV ODER-Schaltungen mit 19 Eingängen, die in Fig. 2D dargestellt sind und von denen jede 19
Eingänge aufweist,
Fig.8 ein genaueres Blockschaltbild des ^-Taktgebers,
der das Übertragen der Daten und Syndrombits durch die Korrekturschaltung steuert,
F i g. 9 eine Pdritäts-Prüfmatrix,
Fig. 10 die Paritäts-Prüfmatrix der Fig.9 in ihren
einzelnen Phasen, die dazu dient, die tatsächliche Verbindung der in Fig. IA dargestellten Paritätsmatrix
anzugeben,
Fig. 11 ein Blockschaltbild der Syndrom-Erzeugungsschaltung, die benötigt wird, wenn die Anzahl der
Bytes und der Prüfbits verschieden ist.
Der Aufgabenlösung nach der vorliegenden Erfindung liegt allgemein ein System zugrunde, bei dem in
einen und aus einem Hamming-Code zur Einzelfehlerkorrektur- und Doppelfehlererkennung, im folgenden
kurz als EFK/DFE-Hamming-Code bezeichnet, und Byteparitätscode umgesetzt wird und bei den im
Hamming-Code vorliegenden Daten Einzelfehler korrigiert und Doppelfehler erkannt werden. Das System
umfaßt Speichereinrichtungen zur vorübergehenden Speicherung von Daten und Sonderbits, die aus einem
zugehörigen Speicher gelesen oder in diesen geschrieben werden. Die Codeumsetzschaltung ist an besagten
Speicher angeschlossen zur Umsetzung in den EFK/ DFE-Hamming-Code und Byteparitätscode und zur
Erzeugung eines anderen Satzes von Sonderbits und zum Speichern dieser Bits in besagtem Speicher. Im
vorliegenden Ausführungsbeispiel verfügt der Speicher darstellungsgemäß über zwei Sätze von Registern. Mit
entsprechenden Taktgebereinrichtungen und Torschallungen kommt man jedoch mit einem Satz aus.
Zusätzliche Einrichtungen zur Paritätserzeugung aus den Originaldatenbits und einem ausgewählten Satz von
Sonderbits sind vorgesehen. Die Ergebnisse der genannten Einrichtungen werden einem Speicher
zugeführt. Schließlich spricht eine Erkennungsschaltung auf besagte Erzeugungseinrichtung an und zeigt einen
Fehler an, wenn eine vorgegebene Paritätsbedingung bei den Datenbits und den ausgewählten Sonderbits
nicht erfüllt ist.
Die Ausgangssignale besagter Erzeugungseinrichtung umfassen eine Gruppe zusätzlicher Bits, die in
einem Speicher-Schreibzyklus einfache Paritätsanzeigen sind und im Fall eines Speicher-Lesezyklus
Syndrombits für die nachfolgende Fehlererkennung und -Korrektur. Eine zusätzliche Schaltung ist vorgesehen,
um zwischen einem Prüfbitfehler, einem einzelnen Datenbitfehler, einem doppelten Datenbitfehler oder
einem Paritätsfehler ir. Abhängigkeit vom jeweils ausgeführten Speicherzyklus zu unterscheiden.
Das wichtige Merkmal der vorliegenden Erfindung ist das Vorsehen der Codeumsetzschaltung, die mit einer
einzigartigen Paritäts-Prüfmatrix und einem entsprechenden Hamming-Code versehen ist, wodurch der
Codeumsetzschaltung die Erzeugung von Prüfbits aus Paritätsbits und Datenbits und von Syndrom- und
Paritätsbits aus Prüfbits und Datenbits ermöglicht wird. Außerdem gestattet der Aufbau des vorliegenden
Systems die Erzeugung einer Anzahl dieser Bits im wesentlichen auf parallelem Wege und spart dadurch
beträchtliche Zeit unH Ausführungsschritte, während die Doppelfunktionssch^itung offensichtlich eine große
Menge an Bauteilen einspart, da der überwiegende Teil
der Logikschaltungen sowohl in der Übertragungsrichtung von der Zentraleinheit ZE(Fig. 1) zum Speicher,
als auch vom Speicher zur Zentraleinheit verwendet wird.
Die folgende allgemeine Beschreibung der Theorie der Hamming-Codes und dann die Weiterführung dieser
Theorie zur Konstruktion einer Doppelfunktions-Codeumsetzschaltung
zeigt klar die Grundprinzipien der vorliegenden Erfindung. Anschließend wird der allgemeine
technische Aufbau des Ausführungsbeispieles im Zusammenhang mit der F i g. 1 in den F i g. 3 bis 8
ίο erklärt. Die Erklärung der Arbeitsweise des in den
Fig.2A bis 2J gezeigten Ausführungsbeispieles erläutert
die genaue Arbeitsweise des vorliegenden Systems beim Lesen und Schreiben des Speichers und beschreibt
die Art, in welcher die Korrektur durch eine typische
ι r> Hamming-Code-Korrekturschaltung ausgeführt wird.
F i g. i ist ein allgemeines Blockschaltbild des vorliegenden Systems, welches dessen Hauptfunktionseinheiten
zusammen mit dem allgemeinen Datenfluß zeigt. Die aus den Fig. IA und IB zusammengesetzte
2(i Figur zeigt, daß Daten aus dem Speicher über das
Register MR dem Kabel 116 zugeführt werden und sowohl die acht Datenbytes als auch die acht Prüfbits
des EFK/DFE-Hamming-Codes umfassen. Das Register MR kann auch von der Zentraleinheit, im folgenden
2=· kurz als ZE bezeichnet, geladen werden, enthält in
diesem Fall jedoch acht Datenbytes und acht Byte-Paritätsbits. Kabel 116 wird für einen Lesezugriff und Kabel
118 für einen Schreibzugriff zum Speicher verwendet. Die acht Datenbytes aus je acht Bits zuzüglich der acht
jo Prüfbits oder Paritätsbits sind nur für das Ausführungsbeispiel gewählt. Abhängig von Größe und Anzahl der
Datenbytes ist eine entsprechende Anzahl von Prüfbits vorzusehen. Im Falle eines Lesezugriffs werden
bestimmte ausgewählte Datenbils und Prüfbits der
r> Implementierung einer Paritäts-Prüfmatrix. nämlich der Verbindungsmatrix zugeführt. Im Falle eines Schreibzugriffes
werden dieselben ausgewählten Datenbits und das Paritätsbit auf der Verbindungsmatrix zugeführt.
Die Ausgänge der Verbindungsmatrix führen über die EXKLUSIV ODER-Schaltungen zum Kabel 120,
welches dann über die Torschaltung 124 an das Register MDR führt. Die Ausgangssignale auf dem Kabel 120
umfassen acht neue Bits und die Datenbits werden über das Kabel 122 zum Register MDR übertragen. Wie
bereits oben im Zusammenhang mit dem Lesezugriff gesagt wurde, setzen die Verbindungsmatrix und die
EXKLUSIV ODER-Schaltungen Prüfbits in Paritätsbits um, während im Falle eines Schreibzugriffes dieselbe
Verbindungsmatrix und die EXKLUSIV ODER-Schal-
>o tungen die Paritätsbits in Prüfbits umsetzen. Bei einem
Schreibzyklus wird das Register MDR direkt von der ZE geladen und in diesem Fall besteht das in das
Register MDR geladene Wort aus den acht Datenbytes zuzüglich der acht Paritätsbits. Diese Information wird
über das Kabel 128 geführt Bei einem Schreibzugriff werden das Register MR und das Register MDR direkt
von der ZE über die Kabel 118 bzw. 128 geladen, und zwar weil zuerst einmal die von der ZE kommenden
Daten auf richtige Parität überprüft werden müssen und
bo dann die acht Paritätsbits in acht Prüfbits umgewandelt
werden müssen, um das Wort im richtigen EFK/DFE-Hamming-Code zu speichern. Wie bereits gesagt,
erfolgt dies 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-Code zur Verfügung steht
In F i g. 1 ist ein mit Fehlererkennungsschaltung bezeichneter Block gezeigt, der an den Ausgang des
Registers MDR angeschlossen ist. Dieser Block enthält im wesentlichen eine Doppelfunktions-EXKLUSIV
ODER-Schaltung, mit welcher einmal die Paritätsprüfung bei einem Schreibzugriff ausgeführt wird und die
zum anderen schließlich die paritätscodierten Daten, die im Register MDR erscheinen, bei einem Lesezugriff in
einen Satz von Syndrombits umsetzt, mit denen die Art des evtl. vorhandenen Fehlers signalisiert und eine
Einzelfehlerkorrektur vorgenommen wird.
Wie bereits gesagt wurde, muß der Ausgang der ι ο Fehlererkennungsschaltung bei der Paritätsprüfung die
Byteparität in jedem Byteabschnitt des Registers MDR 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, als die Schaltung zwischen einem Prüfbitfehler unterscheiden muß, dann werden die
Daten als richtig erkannt, einem Einzel-Datenbitfehler, dann muß ein Korrekturalgorithmus eingeleitet werden
und einem Doppelfehler, in welchem Fall der Betrieb des Systems unterbrochen werden muß, und diese
Tatsache bekannt gemacht werden muß. Schließlich muß die Schaltung noch feststellen können, daß kein
Fehler erkannt wurde und daß die gegenwärtig im Register MDR stehenden Daten an die ZE übertragen r>
werden können.
Der mit Einzelfehler-Erkennungsschaltung bezeichnete Block benutzt die von der Fehlererkennungsschaltung
auf im wesentlichen konventineller Weise, die nachfolgend im Zusammenhang mit F i g. 2 näher 3»
beschrieben wird, erzeugten Syndrombits schließlich zur Korrektur.
Aus der obigen allgemeinen Beschreibung der Fi g. 1 ist zu ersehen, daß bei Lese- und Schreibzugriffen zum
Speicher im wesentlichen dieselbe Schaltung verwendet ¥■>
wird für Codeübersetzung, Paritätsprüfung, Syndrombiterzeugung usw., was im Gegensatz zu bisher
gebräuchlichen Anlagen und Verfahren große Ersparnisse bei der Schaltung mit sich bringt.
Im folgenden wird zuerst ein Schreibzugriff im Zusammenhang mit dem Ablaufdiagramm nach F i g. 3
und der als Taktgeber dienenden monostabilen Kippschaltung
nach F i g. 4 beschrieben. Die in F i g. 4 gezeigte 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 Schreibzugriffes wird ein Impuls auf die
Startleitung gegeben, der die Ablauffolge startet. Gemäß der Darstellung im Ablaufdiagramm in F i g. 3
veranlaßt der Startimpuls die Eingabe in das Register S. Ober jedem Block in F i g. 3 ist angegeben, welcher
Schritt des CW-Taktgebers den jeweiligen Operationsschritt ausführt In Fig.4 weist eine Anzahl von
Eingängen Bezugszahlen auf, die die Quelle bestimmter Einschaltimpulse bezeichnen. Diese Bezugszahlen sind
ebenfalls in den F i g. 2A bis 2J verwendet worden. Zu Beginn eines Schreibzugriffs werden die beiden
Register MR und MDR mit Daten und Paritätsbits von der ZE geladen. Die Eingabe ins Register S bewirkt eine bo
Paritätsprüfung der gegenwärtig im Register MDR stehenden Daten durch. Der nächste durch CW-2
veranlaßte Schritt wird auf einen Fehler geprüft. Lautet die Antwort nein, verzweigt das Programm zum Schritt
CW-A und erzeugt Prüfbits. Dadurch werden die im Register MR gespeicherten Daten und Paritätsbits der
Verbindungsmatrix und den EXKLUSIV 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. Wenn
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 Fehlersuch- 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
offensichtlichen falschen Form nicht im Speicher gespeichert werden. Damit sind die Grundschritte eines
Schreibzugriffs beschrieben.
Im Zusammenhang mit den F i g. 5 und 6 wird jetzt ein Lesezugriff beschrieben. Im Ablaufdiagramm der F i g. 5
sind die einzelnen Taktschritte des in F i g. 6 gezeigten Cß-Taktgebers, den verschiedenen einzelnen Operationen
zugeordnet, die in F i g. 5 aufgezeichnet sind. Auch hier ist der als Ausführungsbeispiel gewählte Taktgeber
nach Fig.6 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 Fig.2A bis 2J. Die Startleitung oben in F i g. 5 führt zum ersten Block »Eingabe in MDR
und Register S«. Da es sich um einen Speicherlesezyklus handelt, wird das Register MDR mit Datenbits und von
der Verbindungsmatrix erzeugten Paritätsbits geladen. Anschließend wird der Inhalt des Registers MDR den
EXKLUSIV ODER-Schaltungen zugleitet, welche diese Information gemäß obiger Erklärung in Syndrombits
umwandeln und sie im 5-Register speichern.
Im Schritt CR-2 wird die Frage gestellt »Liegt ein Fehler vor?« und durch Prüfen des Inhaltes des
5-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 einzelener 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 zur 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 Einzelfehler?«. Wird diese
Frage verneint, liegt ein Doppelfehler vor und das System verzweigt zum Schritt CR-S 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ätsbits. Liegt
der Fehler nicht im Prüfbit, verzweigt das System zu dem mit »Byte korrigieren« bezeichneten Schritt Die
Leitung 404, welche zur Taktgeberstufe A-\ führt, leitet den Korrekturschritt für ein einzelnes Datenbit ein.
Nachdem Paritätsbit und Datenbit korrigiert sind, verzweigt das System dann zum Taktschritt CRA
zurück, in welchem die jetzt gültigen Daten an die ZE oder eine andere Stelle im System übertragen werden
und danach ist der Lesezugriff beendet. Der gerade erwähnte Λ-Taktgeber ist in F i g. 8 gezeigt und ist ein
sehr einfacher dreistufiger Taktgeber. Die Ausgangssignale der drei Stufen sind die einzigen, die benötigt
werden, wie aus der nachfolgenden Beschreibung der
Fig.2A bis 2 J hervorgeht, da bei einer notwendigen
Korrektur das ganze Datenwort zusammen mit den zugehörigen Syndrombits parallel in die Korrekturschaltung
gelesen und parallel wieder in das Register MR zurückübertragen und von dort dem Register MDR
mit korrigierten Paritätsbits zugeführt wird.
F i g. 7 ist ein genaueres Blockschaltbild eines der in den Fig.2D und IA gezeigten EXKLUSIV ODER-Schaltungen,
wie im einzelnen im Zusammenhang mit Fig.2A bis 2J erklärt wurde, verfügt jede dieser
EXKLUSIV ODER-Schaltungen über 19 Eingänge und einen Ausgang. Die Arbeitsweise einer EXKLUSIV
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 »1 «-Ausgangssigna! auf der
Ausgangsleitung erzeugt.
F i g. 8 zeigt den Λ-Taktgeber, der die im Prinzip in
F i g. 2J gezeigte Korrekturschaltung steuert. Dieser Taktgeber ist im wesentlichen genauso aufgebaut wie
der C/?-Taktgeber und der CW-Taktgeber, die aus
mehreren (3) monostabilen Kippschaltungen bestehen, deren Einschaltung einen bestimmten Taktimpuls
erzeugt und deren Rückkehr in den stabilen Zustand entweder zum Ende des Schrittes führt oder die nächste
monostabile Kippschaltung einschaltet, abhängig von der jeweils ablaufenden Routine. Die Arbeitsweise
dieses Taktgebers und der Korrekturschaltung wird im einzelnen im Zusammenhang mit den F i g. 2A bis 2J
beschrieben. m
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üfmatrix. Die Paritäts-Prüfmatrix
ist aus der Literatur bekannt.
Zuerst wird ein einfaches Beispiel einer üblichen Verwendung einer Paritäts-Prüfmatrix behandelt, wie es
sich bei der Anwendung in einem elementaren Nachrichtensystem findet. Es wird angenommen, daß
das Nachrichtensystem aus einem Sender binärer Signale, einem Empfänger für diese Signale und einen
mit dem Buchstaben »K« bezeichneten Kanal besteht Der Kanal ist zwangsläufig wesentlich unzuverlässiger
als der Sender oder der Empfänger. Somit unterliegt der Kanal Störungen, die ein gesendetes Bit komplementieren,
d. h. eine gesendete 1 wird als 0 empfangen oder eine gesendete 0 als 1.
Diese Situation ist direkt analog der Situation eines Speichers, in welchem die Speicher-Schreibschaltung
das Analogon zum Sender und die Speicher-Leseschaltung das Analogon zum Empfänger ist.
In einer solchen Situation wird der EFK/DFE-Code wie folgt verwendet. Ein Wort (ein Satz Bits) wird
codiert, gesendet, geprüft mit nachfolgender Korrektur oder Erkennung eines Fehlers innerhalb der Möglichkeiten
des EFK/DFE-Codes und erscheint in decodierter Form am Ausgang des Empfängers. Der Code wird
durch die folgende Paritäts-Prüfmatrix H charakterisiert:
0 0 0
10 1 1 0 I 0 0
110 10 0 10
1110 0 0 0 1
110 10 0 10
1110 0 0 0 1
In dieser Matrix entspricht jede Spalte den Datenbits du Gfe, di und dt und den Prüfbits c\, Cz, C3, α- Das Wort
»entspricht« ist in diesem Zusammenhang so zu verstehen, daß die Entsprechung darin besteht, daß eine
»1« in einer gegebenen Zeile dem Erscheinen des Daten- oder Prüfbits einer Spalte in der Paritätsgleichung
für diese Zeile erscheint. Dadurch wird gezeigt, daß ein Fehler lokalisiert (und korrigiert) werden kann,
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 den richtigen und falschen
Wert eines jeden Datenbits bekannt sind.
Die Frage ist jetzt, wie Paritäts-Prüfmatrix die Paritätsbits 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 auch genannt werden, zu den einzelnen Zeilen der Paritäts-Prüfmatrix.
Zur Beantwortung dieser Frage sollen jetzt die durch die Paritäts-Prüfmatrix vorgeschriebenen
Paritätsgleichungen aufgezeichnet werden.
1. Zeile: 0 1 1 1
i i i i
1. Gleichung: 0 · (I1 @ 1 · d2 ® 1 · d3 ® 1 ■
oder
0 0 0
1
i i
1 · C1 Θ0 · C1 ® 0 · c3 Θ0 · C4 =
dz ©d3 ®dt ® Cj = Su worin S1 dasSyndrom für die !.Zeile ist.
Das Prüfbit c\ ist so gewählt, daß Si = 1 für den 60 und Si = S2 = S3 = S4 = 1 bezeichnet die fehlerfreie
fehlerfreien Fall bei ungerader Parität gilt Die anderen 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 ausdrucken. Aus diesen
Gleichungen ist zu ersehen, daß dt nur in den
Paritätsgleichungen für die Zeilen 2, 3 und 4 erscheint Somit ist d\ das einzige Bit welches bei falschem
Empfang nach der Decodierung die Syndrome entsprechend folgender Tabelle verändert
drei Gleichungen sind folgende:
2. Zeile: dj ®d3 ®dA.@c2 = S2
3. Zeile: dx ©d2 ®dA@c3 = S3
4. Zeile: dx © d2
= S4
S1
S2
1
O
O
S3
1
O
rf, richtig empfangen
rf, fehlerhaft empfangen 10 0
Es ist zu beachten, daß sich S1 nicht verändert, da es in
seiner Bildung von d\ 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 d\ = I1 d2 — 0, d3 = 0 und dt ι ο
= 1 vorliegen. Die aus den Bits du cfe. dz, dt bestehende
Nachricht hat also folgendes Aussehen: 1 0 0 1. Es ist somit:
S1 = 1 = c, © d2 ® rf3 © rf4 = c, Φ 0 © 0 © I
Sender & Codierung S2 = 1 + C2 ® 1 θ 0
53 = 1 = C3 © 1 θ 0 ® 1 =
> C3= \
54 = 1 = c4 © 1 ® 0 ® 0 =
> c4 = 0
Aus der Nachricht wird
rf, d2 d} rf4 c, c, c3 c4
10 0 10 110
Wenn jetzt angenommen wird, daß der Kanal einer 15 Fehlerbedingung unterliegt, so daß die Störung
so daß für C\ zur Erfüllung dieser Gleichung der Wert 0 ausschließlich d\ invertiert, führt das zu folgender
angenommen wird. Daten- und Prüfbitrcihe.
dx d2 d3 rf4 C1 c2 c, c4
0 0 0 10 1
S1 = C1 ® d2 © d3 © rf4 =
Empfang S2 = c2 © rf, © d3 © J4 =
& Decodierung S3 = c3 © rf, ® d2 © <f4 = 0 wie oben vorhergesagt
S4 = C4 ® rf, © d2 © rf, =
Dieses eindeutige Syndrommuster läßt sich nur unter der Bedingung erzielen, daß d\ fehlerhaft ist. Die
Korrektur ist trivial. Sie besteht darin, daß das Bit d\
lediglich logisch invertiert wird (weil bekannt ist, daß die
UND
11
EO richtige Version von d\ nur das Gegenteil des jetzigen
Wertes sein kann) Die Schaltung zur Korrektur von d\ ist folgende:
O1 IJ2 iJ, IJ4
111!
4- J. i
i
dln ist das korrigierte Bit
Folgende klare Tatsache läßt sich jetzt feststellen: Bei ungerader Parität ist das Syndrommuster, welches d\
korrigiert (invertiert), einfach das Komplement (die logische Verneinung) der Spalte in der Paritäts-Prüfmatrix,
welche d\ entspricht (die erste Spalte). Und grundsätzlich ist also das Syndrommuster, welches d\, d2,
di oder dt korrigiert das Komplement der Spalte 1, 2, 3
oder 4. Die Korrekturen für die Prüfbits C\, C2, C3 oder α
finden sich einfach in den Spalten 5, 6, 7 oder 8 der Paritäts-Prüfmatrix, wenn eine solche Korrektur gerechtfertigt
ist Bei gerader Parität erscheint das ijyndrom nicht als Komplement (als Komplement),
wenn die Matrixeintragung eine 1 (0) 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:
(S1, S2, S3, S4) = (0, 0, 0, 0), (0, 0. 1, 1). (OJ. 0, I).
(0,1,1,0), (1,0.0.1). (1.0.1.0). (1.1.0.0).
Hierbei handelt es sich offensichtlich um Muster, in b5 wurde, sind dann die Schuldigen d\ und cfc oder sind es <?,
welchen zwei Syndrome sich gegenüber ihrem erwarte- und C2? Somit kann bei Empfang eines Musters wie des
tem Wert verändert haben. Es ist jedoch nicht möglich, oben gezeigten nur ein Doppelfehler erkannt werden,
die Schuldigen anzugeben: Wenn (0,0,1,1) empfangen außer der Abgabe eines Alarmsignals können jedoch
keine weiteren Schritte unternommen werden.
Die Paritäts-Prüfmatrix für die Minimalschaltung bringt eine subtilere Beziehung zwischen der Parität
eines gewählten Dattnbyte und der Parität über einem
ausgewählten Teilsatz von Datenbits und genau einem Prüfbit mit sich, welches eindeutig zu dem gewählten
Datenbyte gehört Die Untersuchung der in F i g. 9 und 10 gezeigten Paritäts-Prüfmatrix legt eine wichtige
Beziehung klar.
Bei der verwendeten Codiepjng und Decodierung
(die durch die Paritäts-Prüfmatrix spezifiziert ist) erscheint ein Satz von Einsen in jeder Zeile, betrachtet
als eine Untergruppe aller Einsen 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 Byteparitä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 ist, die
Paritätserzeugung als Teil des Decodierprozesses in diesen einzuschließen und warum dieselbe Schaltung für
Lese- und Schreibprozesses 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. Die später zu gebende Beschreibung der Paritäts-Prüfmatrix zeigt, warum diese Rotationseigenschaft
nützlich, aber nicht notwendig ist für den allgemeinen Fall der Bildung der Paritäts-Prüfmatrix. Es
muß besonders darauf geachtet werden, daß 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 Nullen haben. Damit sind die Grundlagen für die Bildung der Rotations-Paritäts-Prüfmatrix
erklärt. Normale Korrektur kann durch Interpretation dieser Rotationsmatrix als übliche Paritäts-Prüfmatrix
erfolgen.
Anschließend wird die Implementierung und Anwendung der Rotationsparitätscodes in einem Speicherumsetzer
beschrieben, wie er hier offenbart wird. Zuers: wird der Leseprozeß betrachtet. Die Grundschritte sind
folgende:
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. Es ist festzustellen, ob eine Fehlerbedingung in den ausgelesenen Diten vorliegt. Wenn die Daten
keinen Fehler enthalten, ist das Wort an die ZE
weiterzuleiten; sonst ist jeder Einzelfehler zu korrigieren oder der ZE das Vorliegen von
Doppelfehlern anzuzeigen.
Jeder der vier obengenannten 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 F i g. 10 enthält acht Einsen in einer Zeile in den den Bits d\, ck · ■ ■ dg entsprechenden Spalten. In
der Spalte (erste Zeile) unter C1 (Spalte 65 in einer Rotations-Paritäts-Prüfmatrix 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,
Xi — die Parität des ersten Bytes,
Pi — das Paritätsbit zur Aufrechterhaltung der ungeraden
Parität füV 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
in 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.
Γι χ, Θ.ν, ®c, = 1,
x, ®p, = I
Durch Addition dieser beiden Gleichungen zueinander (Addition Modulo 2) ergibt sich die Summe
χ, Θ .ν, Θ c, Θ χ, θ ρ, = 1 Θ 1 = 0
und
und
.C1 θ.ν, Θ ι·, θ.ν, ©ρ, = χ, θ.ν, θ (.ν, Θ C1) θ ρ,
= ρ, ®0>, ©c.) = 0.
= ρ, ®0>, ©c.) = 0.
Dann ist. wenn y, ©c, auf beiden Seilen der Glcir,o
chung addiert wird:
ρ, θ (J-, 0C1) θ(3Ί θ c,) = 0 φ (ν, Φ C1)
Pi
= Vl © I
Die Bedeutung dieser Gleichung liegt darin, daß das
bo Paritätsbit für das erste Datenbyte aus der Parität der
Paritätsuntergruppe der ersten Zeile und dem Prüfbit c\
zu erzeugen ist (und daß dazu nicht die Bits des ersten Datenbytes herangezogen werden müssen).
Die Ausgangssignale dieser Paritätserzeugungsschal-
<,r, tung werden direkt in die Byteparitätsstellen des
Registers MDR 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\ ® Cj erzeugt und
gespeichert sind, werden die acht Datenbits eines jeden Bytes (mit der Parität x\) und das zugehörige Paritätsbit
als Eingangssignale für eine Paritäts- (oder EXKLUSIV ODER-)Schaltungbenutzt Pay\©c\ = p\ undx\®p\
= 1 sind, ist das Ausgangssignal 51 dieser Parität-Schaltung
eine 1, wenn kein Fehler im Byte vorliegt Das Erzeugen eines Satzes von Syndrombits geschieht in
folgender Weise: Für das Ausführungsbeispiel ergibt sich ein Syndrom aus jedem Byte und seinem
zughörigen Paritätsbit Wenn jedoch im ersten Byte ein Fehler liegt, ist xx ® p\ = 0 = Si und eine
Fehlerbedingung wird angezeigt Damit ist Schritt 3 abgeschlossen und es folgt Schritt 4. Solange kein Fehler
vorliegt, ist Si = S2 = ... S8 = 1 (für ungerade Parität)
und ein mit KF bezeichnetes Signal kann gebildet werden als KF = S3 · S2 ■ S3 ·... · S8. Wenn KF = 1
ist enthält das Datenwort keinen Fehler. Somit braucht die normale Ausgabe des gegenwärtig im MDR
gespeicherten Wortes zur ZE nicht gestört zu werden. Wenn jedoch KF — 0 ist, muß die Übertragung des
Wortes ausgesetzt werden, die Fehlerart bestimmt werden — Einzel- oder Doppelfehler — und entsprechende
Schritte unternommen werden. Ein Einzelfehler wird aus der Kenntnis erzeugt daß KF Φ 1 ist, weil KF
= 1 das Vorliegen einer Fehlerbedingung im Datenwort anzeigt Der Ausdruck Fehlerbedingung sagt jedoch
nicht, ob es sich um einen Einzel- oder einen Doppelfehler handelt Die Klassifizierung der Fehlerbedingung
erfordert die Ausnutzung einer Eigenschaft der Paritäts-Prüfmatrix. 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 berüchtigt zu werden, das durch die
ίο Verwendung des fehlerhaften Prüfbits erzeugte Paritätsbit
muß jedoch auf seinen richtigen Wert hin invertiert werden. Somit liegt die Notwendigkeit für
diese Korrektur vor und sie wird bei allen Paritätsbiti im Befarfsfall durchgeführt, indem man sie mit dem
Komplement der Syndrome antivalent verknüpft Eine besondere Schaltung zeigt den Bedarf für diese
Korrektur an.
Wenn z. B. die acht Paritätsbits pi, P2,... pe gegeben
sind als pi = \,pi = O.ps = O.p« = l,ps = l.ps = Ο,ρι —
ι, pg = 0 und die Syndrome als Si = 1, S2 = 0, S3 = S4 =
S5 = S6 = S7 = Sb= 1, bedeutet das, daß das zweite
Paritätsbit falsch ist, weil Sz = 0 ist Zur Korrektur der
Paritäten werden diese_dann_ersetzt durch p@S, wobei
P = (Pu Pi ■ ■ ■ Pi) und S = (Si, S2,... S8) ist. Für dieses
obige Beispiel gilt dann
ρ ©S = (1 ®0, 0 ® 1, 0 Θ0, 1 ®0, 1 ®0, 0 ®0, 1 ΦΟ,ΟθΟ) = (1,1,0,1,1,0,1,0)
und das ist dann die ursprüngliche Paritätsbitgruppe mit Ausnahme des zweiten Bit, welches aus dem oben
gegebenen Wert pi durch Invertieren gewonnen wurde.
Im vorliegenden Ausführungsbeispiel ist aus_F_i g. 2] zu
ersetzen, daß die Gruppe S über die Kabel 100,102,...
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, wenn:
1. das Fehlersignal eine 1 IsI(KF= 1),
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, d.h., 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 EF
EF= KF(Si 0S2O...® S8).
Wenn EF = 1 ist, liegt ein Einzelfehler in dem aus dem Speichger gelesenen Datenwort vor. Wenn ein Fehlersignal
(KF = 1) vorliegt und es sich nicht um ein
Einzelfehlersignal (ΕΓ = 1) handelt, ist es ein
Doppelfehler, DE = KF λ EF = 1 und ein Alarmsignal
kann an die Zugegeben werden.
Wenn die Datenbits im Register MDR (Einzeldatenfehler) korrigiert werden können und müssen, werden
die Datenbits der Korrekturschaltung zugeleitet beim Taktimpuls AA und über das Register MR und die
Korrekturmatrix dem Register MDR bei den Taktimpulsen 4-2 und den Taktimpulsen A-3 zugeleitet, wie
später noch erklärt wird. Das Datenwort kann dann mit allen angefügten Paritätsbits der ZE zugeführt werden.
Zu diesem Zeitpunkt ist natürlich die vorher erklärte Korrektur bereits ausgeführt worden.
Der Schreibprozeß für den Speicher besteht im Empfangen einer Gruppe paritätscodierter Datenbytes
von der ZE (über eine Sammelleitung), in der Prüfung der Parität für jedes Byte, dem Umcodieren der
Datenbits unter Verwendung der Verbindungsschaltung
J5 und dem Speichern des umcodierten 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 Won 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 EXKLUSIV 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 EXKLUSIV 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 Wenn
jedoch keine Fehler angezeigt wird, ist das Wort für die Neucodierung und die Rücksetzung in den Speicher
bereit.
bo Das umzucodierende 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
b5 Wortes für die Speicherung bereit ist, können die
Prüfbits für die umcodierte Form unter Verwendung der Schaltung erzeugt werden, die zum Implementieren der
Paritäts-Prüfmatrix für einen Lesezugriff vorgesehen
ist Die Datenbits und die Paritätsbits gehorchen folgenden Gleichungen
X1 Θ Λ ©Cj = 1
X1 ©Pi = 1,
die bereits oben für die erste Zeile der Paritäts-Prüfmatrix bei einem Lesevorgang angegeben wurden. Für die
übrigen Zeilen und Datenbytes gelten wieder ähnliche Überlegungen.
Die obigen Gleichungen können so umgeformt werden, daß aus ihnen die Erzeugung von Prüfbits ai 3
Daten- und Paritätsbits hervorgeht Die umgeformten Gleichungen lauten:
15
P1 Θ>·3 ©ct = 0
Für den Lesefall wurde diese Gleichung umgeordnet zu
Für den Lesefall wurde diese Gleichung umgeordnet zu
Ci θ 3Ί = ft .
Für den Schreibfall wird die Gleichung umgeordnet zu
P1 Qy1 = C1.
Diese Gleichung zeigt, daß mit dem Wort im Register MR geschieht Das Paritätsbit für jedes Byte und die
durch _vi 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 werden dann in den Paritätsbitstellen
des Registers MDR gespeichert. Wenn die Prüfbits einmal erzeugt sind, kann das Wort (Daten und
Prüfbits) aus dem Register MR entfernt werden, in welches es während der Umcodierung beim Schreibprozeß
geladen und gespeichert wurde.
Die folgende Beschreibung der grundlegenden Paritätsmatrix 9 und der daraus entwickelten vollen
Paritäts-Prüfmatrix der Fig. 10 zeigt insbesondere die Art, in welcher die in den F i g. 1 und 2 gezeigte
Verbindungsmatrix gebildet wird. Die theoretische Erörterung der Grundlagen einer solchen Prüfmatrix
muß herangezogen werden, wenn man zu der gewünschten Doppelfunktionsschaltung gelangen will.
Die Art, 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 Fig. IA und IB als Block und
im einzelnen in den Fig. 2A, 2B, 2C und 2D dargestellten Verbindungsmatrix, wird folgendes Verfahren
benutzt. In Fig.9 wird zuerst eine Matrix mit acht Spalten und acht Zeilen gebildet, die dann in das in
F i g. 10 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
obenerwähnten Verbindungsmatrix wird die obere Reihe von Einsen nicht berücksichtigt.
In Fig. 10 gibt das untere rechte Rechteck 426 die
Lage der Prüfbits an. Zur Bildung der im Rechteck 412 der Fig. 10 gezeigten Matrix wird die Matrix im b5
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 dipse Weise entstehen auch die Matrizen in den Rechtecken
418, 420, 422 und 424. Somit wird die Matrix des Rechteckes 410 zur Gewinnung des Rechtecks 412
einmal, des 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 Fi g. 10 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 Fig.2A, 2B, 2C und 2D. Die 72 Spalten in Fig. 10 entsprechen den 72 Bits im Register
MR. Die acht Zeilen der Fig. 10 entsprechen den acht Leitungen 204 bis 218. Jede Zeile in Fig. 10 enthält 19
Einsen. Jede Eins in einer Zeile der Matrix entspricht dem 1-Ausgangssignal des genauso numerierten Flipflops des Registers MR. So erscheint z. B. die erste 1 in
der Zeile 1 in Spalte 9. Aus F i g. 2A ist zu ersehen, daß der 1-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 genauso durch Bezug auf die Zeilen der
Matrix der F i g. 10 ausgewählt
Es folgt eine allgemeine Erörterung des Aufbaus einer Paritäts-Prüfmatrix, wenn unterschiedliche Bytezahlen
(Byte-Paritätsbits) und Prüfbits vorhanden sind. Wenn m Bytes aus b Bits vorhanden sind, ergibt das mb = K
Datenbits. Wenn K gegeben ist, errechnet sich die Anzahl der Prüfbits mach 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-1) Nullen, die so angeordnet sind, daß die r Spalten eine 1 in der ersten, zweiten ... /-ten Zeile
haben. Jede Spalte entspricht einem Prüfbit.
Teile die m Bytes gleichmäßig in r Gruppen 7i Wenn
m = dr+e0<e<r ist, setze d + 1 Bytes in die
ersten e Gruppen Ti,... Te und d Bytes in die letzten
(r= e) Te+], ...Tr. Die Gruppe 7/soll dem /-ten Prüfbit
und der Aten Zeile entsprechen. Beginne durch Setzen von b(d + 1) in die erste Zeile unter 7Ί, b(d + 1) Einsen
in die zweite Zeile unter Ti und fahre so fort für die
ersten e Gruppen. Jetzt setze öd Einsen in die (e + l)-te
Zeile unter die Gruppe Te+\ und fahrt fort bis unter
jeder Gruppe b(d + 1) oder bd Einsen jeweils in einer separaten Zeile stehen. (In Fig. 1, Zeilen 1 bis 8 und in
F i g. 4, Zeilen 1 bis 7 mit acht Bits in Zeile 1, vier in den restlichen.)
Es gibt
G)-
verschiedene Wege, um drei Einsen in r Stellen zu setzen und
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 EXKLUSIV ODER-Schaltungen verwendet werden, je weniger Einsen sich in einer Paritäts-Prüfmatrix
finden.
Für r = 7 gibt es 35 derartige mögliche Kombinationen und 32 werden für F i g. 4 benötigt Eine mögliche
Auswahl ist in Fig.4 gezeigt Wenn mehr als ijjbenötigt werden, gibt es
/r\ r(,r- l)(r-2)(r-3)(r-4)
\5J 120
\5J 120
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.
Siehe hierzu das Beispiel in Tabelle 111 mit Bytes aus vier Bits und sechs Prüfbits.
Beispiel 2
m > r
m > r
In diesem Fall entspricht jedes Prüfbit einer Gruppe itenbits und jede Gruppe von Datenbits enthält eines
oder mehrere Bytes. Tabelle IV und F i g. 11 zeigen ein
neun Eisen usw. 15 Beispiel für diesen Fall einschließlich der zur Bildung
Die Einsen wählt man am besten so, daß ihre Anzahl von Syndromen aus Uniergnippen von Datenbiis
Möglichkeiten mit fünf Eisen, (? r) mit sieben, g) mit Datenbits und jede Gruppe von Datenbits enthält eines
in jeder Zeile gleich ist so daß die durch die Schaltung hervorgerufene Verzögerungen ungefähr gleich sind.
Eine Möglichkeit besteht z. B. darin, die Spalte 1 in
Tabelle I zu wählen, dann den Inhalt der Spalte in allen
Bytes zu drehen, dann eine zweite Spalte 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.
23
Beispiel 1
m < r
m < r
Das Beispiel mit zwei Bytes und sechs Prüfbits in Tabelle II dient zur Erklärung folgender Feststellungen: jo
a) In Fällen, in welchen ein Prüfbit unter Verwendung aller Datenbits in einem Byte (im Beispiel c<
und o·) gebildet wird, sind Paritätsbit und Syndrombit wie
vorher zu bilden.
b) Die anderen Syndrombits sind wie gewöhnlich zu j5
bilden, z.B. durch EXKLUSIV ODER-Schaltung der entsprechenden Untergruppe von Datenbits
für jedes Prüfbit (im Beispiel .S2, S3, Ss, *).
m = 8, b = 4, k =
entsprechend der Paritäts-Prüfmatrix erforderlichen Schaltung.
a) Ein Paritätsbit für die ganze Gruppe wird unter Verwendung eines Prüfbits und des Umsetzers wie
vorher erzeugt
b) Jede π 3ytes (zwei oder mehr) entnaltende Gruppe
ist in η Teile aufzuteilen. Erzeuge n- 1 Paritätsbits für die ersten n—l Bytes und benutze dieses
Paritätsbit für die Byteparitätsprüfung. Das /j-te Byte benutzt das Original-Paritätsbit
c) Die erzeugten Paritätsbits sind einer EXKLUSIV 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 Verwendung 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.
12 3 4 5 6 7 8
11111111
10 10 10 0 0
110 10 0 0 0
0 110 0 110
0 0 0 1 1 10 1
0 0 0 0 0 0 0 1
0 0 0 0 0 0 10
k = 16, r = 6, /1 = 22, 2 Bytes
dt ,I2 ·..
I 2 3
x 4 = 32, r = 7
9 1011 1213 1415 16
00000000
11110 0 0 0
10 10 1111
110 110 10
0 110 110 1
0 0 0 10 110
0 0 0 0 0 0 0 1
=7x1+1
17 18 19 20 21 22 23
0 0 0 10 10
0 0 0 0 0 0 1 00000000
1 1 1 1 0 0 0 I 0 1 0 I I 1 110 110
0 110 110
25 26 27 28 29 30 31 32
1 10 0 10 10
0 1 10 1 10 1
0 0 0 10 1 10
0 0 0 0 0 0 0 I
00000000
11110 0 0 0
10 111111
33 34 35 36 37 38 39
10 0 0 0 0 0
0 10 0 0 0 0
0 0 10 0 0 0
0 0 0 10 0 0
0 0 0 0 10 0
0 0 0 0 0 10
0 0 0 0 0 0 1
(ti, ll-r
6 7
J1I, du diz du d\4 dis du,
11 IZ 13 14 15 16
17 IS 19 20 21 22
Pari täts-Verbindungs-Matrix
S, 111
S, 111
I 0 0 0 0
10 0 10 0 0
0 10 0 10 1
1 0 0 0 0 0 O 1 0 0 0 0
21 22
rortsetzung | rf, | '/2 | 3 | 0 | 0 | dt | ds | rf,, | 7 | d» | rf. | rf,,, | du | 12 | I | du | rf,4 | rf,5 | rf,,. | 17 | IX | (J | 1 | C4 | 21 | C1, |
ι | udungs-Matrix | 1 | 0 | 4 | 5 | ft | X | 9 | IO | Il | 1 | 13 | 14 | 15 | 16 | 19 | 0 | 20 | 22 | |||||||
1 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | ||||||||||||||||||
Paritäts-Verbi | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | ||||
S3 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | I | 1 | 1 | 1 | 0 | 0 | 1 | I | 0 | ||||||||
S4 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||
S5 | I | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | |||||||||||||
S6 | ||||||||||||||||||||||||||
k = 16, r = 6, Μ = 22, 4 Bytes
2 3 4 | 5 | I | 6 | ti, | 1 | rf: | rf.< | 1 | rfa | 1 | 9 | IO | Il | ds | rf,, | d-, | rf» | 15 | dv | dw | d,, | rf,2 | 19 | du | 21 | 14 | rf,5 | rf,,, | 0 | 1 | t'l | C2 | Cj | C4 | C5 | C1, | 0 | 0 0 | 0 | |
1 1 1 | 1 | 1 | 1 | 1 | 3 | 0 | 4 | 0 | 0 | 0 | 0 | 5 | 6 | 7 | X | 0 | 9 | 10 | Il | 12 | 1 | 13 | 0 | 0 | 15 | Ift | 1 | 0 | 17 | IX | 19 | 20 | 21 | 22 | 0 | 0 0 | 0 | |||
0 1 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | I | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | I | 1 | I | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 0 | 0 | |||||
1 0 1 | 1 | 1 | 0 | 1 | 1 | 0 | I | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | I | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 0 | 0 | |||||
1 I 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | I | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | I | 0 | 0 | 0 | 0 | 0 1 | 0 | |||||
0 0 1 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | I | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 0 | 1 | |||||
0 0 0 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | I | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | |||||||||||||
0 | 7 | X | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | |||||||||||||||||||||
0 | 0 | |||||||||||||||||||||||||||||||||||||||
1 | 1 | 12 | 13 14 | Ift | 17 IX | 20 | 25 26 27 28 29 31 | |||||||||||||||||||||||||||||||||
S1 | 1 | 0 | 1 | 0 0 | 0 | 1 1 | 1 | 1 0 | ||||||||||||||||||||||||||||||||
S2 | 1 | 1 | 1 | 0 0 | 0 | 0 0 | 1 | 0 1 | ||||||||||||||||||||||||||||||||
s., | 0 | 1 | 0 | 1 1 | 0 | 0 0 | 0 | 0 0 | ||||||||||||||||||||||||||||||||
S4 | 0 | 0 | 1 | 1 0 | 1 | 1 I | 0 | 0 0 | ||||||||||||||||||||||||||||||||
S5 | 1 | 1 1 | 1 | 0 1 | 1 | 0 0 | ||||||||||||||||||||||||||||||||||
S6 | 1 | 0 1 | 1 | I 0 | 0 | 0 0 | ||||||||||||||||||||||||||||||||||
Tabelle IV | ||||||||||||||||||||||||||||||||||||||||
1 | ||||||||||||||||||||||||||||||||||||||||
1 | ||||||||||||||||||||||||||||||||||||||||
1 | 22 23 24 | |||||||||||||||||||||||||||||||||||||||
1 | 1 | |||||||||||||||||||||||||||||||||||||||
0 | 1 | |||||||||||||||||||||||||||||||||||||||
0 | 0 | |||||||||||||||||||||||||||||||||||||||
0 | 0 | |||||||||||||||||||||||||||||||||||||||
0 | ||||||||||||||||||||||||||||||||||||||||
1 |
Im folgenden werden der Datenfluß vom Eingangsre- acht Datenbytes aus je acht Bits und die Bits 65 bis 72 füi
gister MR durch die Verbindungsmatrix zum Register die acht Prüfbits benutzt Die besonders in Fig. 1
MDR, der Datenfluß und die einzelnen Schaltungsteile 55 dargestellte Verbindungsmatrix ist im Ausführungsbei
für die Erzeugung der Syndrombits, die Schaltung zur spiel der F i g. 2 durch die acht Kabel mit den Nummerr
Unterscheidung der verschiedenen Fehlerbedingungen 204, 206, 208, 210, 212, 214, 216 und 218 dargestellt
und schließlich die Schaltung für die Datenbitkorrektu- Jedes dieser Kabel ist an 19 Stufen des Registers Ml·
ren beschrieben. Bei allgemeiner Bezugnahme werden angeschlossen, wie bereits früher erwähnt Achtzehr
der Einfachheil halber die Fig.2A bis 2] als Fig.2 t>o dieser 19 Stufen speichern Datenbits, eine ein Prüfbit
bezeichnet bei Bezugsnahme auf bestimmte Schaltun- Jedes dieser Kabel ist an die EXKLUSIV ODER-Schal
gen wird die jeweils zutreffende Figur erwähnt. tung angeschlossen. Es sind acht solcher Schaltung«
Das Register MR erscheint oben in Fig.2 und mit der Nummerierung 172 bis 186 vorhanden. Wie
erstreckt sich über d;e F i g. 2A, 2B, 2C und 2D. Es wird bereits gesagt sind Einzelheiten einer solchen EXKLU
angenommen, daß Torschaltungen im Speicher und der b5 SIV ODER-Schaltung mit 19 Eingängen in Fig.;
ZE vorhanden sind, um dieses Register zu laden, auch gezeigt. Die acht Datenbytes aus je acht Bits im Registe
wenn diese nicht besonders dargestellt sind. In diesem MR werden über die acht Torschaltungen 188 bis 20:
Register werden die Bits mit der Nummer 1 bis 64 für geleitet Diese acht Torschaltungen entsprechen de
Torschaltung 124 in Fig. IA und werden alle durch
Zuführen der Signale CRA, CW-X oder A-3 zum
ODER-Glied 125 durchgeschaltet, welches seinerseits einen Ausgangsimpuls auf der Leitung 126 erzeugt. Die
Ausgangssignale der EXKLUSIV ODER-Schaltungen 172 bis 186 werden ebenfalls den Torschaltungen 188 bis
202 zugeleitet Im rechten Teil der Fig.2D ist die Leitung 156 gezeigt, die das Paritätsbit für das Byte 1
weiterleitet Auf der Leitung 158 erscheint das 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 F i g. 10 zu bestimmen. Während eines Lesezugriffs mit
der C7?-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 MDR zu laden und auch der Torschaltung 340 zugeführt, um das in Fig. 2) gezeigte 5-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 EXKLUSIV ODER-Schaltungen 222 bis 236 angeschlossen. Diese EXKLUSIV ODER-Schaltungen
unterscheiden sich von der in F i g. 7 gezeigten dadurch, daß sie anstelle der in F i g. 7 gezeigten 19 Eingänge nur
neun Eingänge haben. Die acht Ausgänge der eben erwähnten EXKLUSIV ODER-Schaltungen werden
zum Speichern der acht Syndrombits in das in Fig.2J
gezeigte S-Register benutzt.
Nach dem Taktimpuls CV?-1 liefert der Taktgeber den
Taktimpuls CR-2. Dieser Impuls wird zum Prüfen auf das Vorliegen eines Fehlers benutzt. Bei ungerader
Parität wird kein Fehler angezeigt, wenn alle S Bits den Binärwert 1 aufweisen. Die in Fig.2J gezeigte Leitung
238 wird also erregt, wenn kein Fehler vorliegt und die Leitung 240, wenn ein Fehler vorhanden ist. Das
UND-Glied 237 wird nämlich dadurch eingeschaltet, daß im S-Register lauter Einsen erscheinen. Der Impuls
CR-2 wird der Torschaltung 242 zugeführt, um den Zustand der Leitungen 238 und 240 zu prüfen. Wenn
kein Fehler vorliegt erscheint ein Impuls auf der Leitung 3%. Dadurch wird das System beauftragt, im
Register MDR erscheinende Daten zur Zfoder zu einer anderen Stelle im System zu übertragen, da kein Fehler
vorliegt. Liegt jedoch ein Fehler vor, erscheint ein Ausgangsimpuls auf der Leitung 398. Die ebenfalls in
der F i g. 6 gezeigten Leitungen' 396 und 398 bewirken dort die Erzeugung der Taktimpulse CRA bzw. 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 Einzelfehler handelt oder nicht Diese Prüfung erfolgt durch den an die
Torschaltung 244 in Fig.21 angelegten Taktimpulse CR-3. Liegt ein Einzelfehler vor, liefert die EXKLUSIV
ODER-Schaltung 246 ein 1-Ausgangssignal, da eine ungerade Zahl von Einsen im Register S steht wenn ein
Einzelfehler vorliegt Das UND-Glied 248 liefert ein AusgangssignaL weil die Leitung 240 erregt ist Wenn
das UND-Glied 248 zu dem Zeitpunkt ein Ausgangssignal 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 Ausgangsimpuls 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 C7?-Taktgeberschaltung der Fig.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 Taktschritt CR-6 eingeleitet der das
is Korrekturverfahren beginnt.
Zuerst muß festgestellt werden, ob es sich bei dem Einzelfehler um einen Prüfbitfehler handelt welcher nur
eine Korrektur des betroffenen Prüfbits erfordert, die als eine Paritätsbitkorrektur im Register MDR vorzunehmen
ist, oder ob es sich um einen Einzeldatenfehler handelt Diese Feststellung wird getroffen durch
Anlegen des Impulses CR-6 an die in Fig.2] gezeigte
Torschaltung 405. Die in Fig. 2J gezeigte Verknüpfungsschaltung 407 ist mit den Null-Ausgängen des
Registers 5 verbunden. Bekanntlich zeigt ein einzelner Syndrombitfehler ein falsches Prüfbit an und 3,5 oder 7
Syndrombitfehler einen einzelnen Datenbitfehler. Wenn die Schaltung 407 also ein Ausgangssignal erzeugt,
bedeutet das, daß ein Prüfbitfehler festgestellt und die Leitung 354 erregt wurde, welche den Taktimpuls CR-7
einleitet. Dieser Taktimpuls wird auf die Leitung 254 in den Fig. 2E, 2F, 2G und 2H gegeben. Dieser
Taktimpuls wird jede der Torschaltungen zugeführt, welche wie die Torschaltung 255 unter der Bitspeicherstelle
des Registers MDR erscheint. Dieser Impuls verknüpft den Komplementinhalt des Registers S mit
dem Inhalt der Paritätsspeicherstelle des Registers MDR antivalent in EXKLUSIV ODER-Schaltungen,
wie z. B. der EXKLUSIV 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 für die im linken Teil der Fig.2E erscheinende Bytespeicherstelle 1 des Registers MDR
angenommen, daß das Paritätsbit den Wert 1 besitzt
so 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 EXKLUSIV
ODER-Schaltung 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 ODER-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
Wenn jetzt angenommen wird, daß ein Einzelfehler festgestellt wurde und die Korrektur vorzunehmen ist
dann wird die Leitung 404 durch Anlegen des Taktimpulses CR-6 an die Torschaltung 405 erregt Die
Erregung der Leitung 404 startet einen in Fig.8
gezeigten .Α-Taktgeber. Wie bereits gesagt, handelt es
sich hierbei um einen einfachen dreistufigen Taktgeber, der die gegenwärtig im Register MDR gespeicherten.
Datenbits direkt im Taktschritt A-I über das Kabel 312 in die im unteren Teil der Fig.2J dargestellte
Korrekturschaltung leitet. Der Taktimpuls A-2 veranlaßt dann die Übertragung der im Register 500
gespeicherten, korrigierten Daten in das Register MR. Das ist erforderlich, da eine Anzahl von während des
vorhergehenden Zyklus erzeugten Paritätsbits falsch ist. Auf den Taktimpuls A-2 folgt der Taktimpuls A-3, der an
die ODER-Schaltung 125 angelegt wird, um den Inhalt des Registers MR über die Verbindungsmatrix den
EXKLUSIV ODER-Schaltungen zuzuführen und neue richtige Paritätsbits zu erzeugen. Auf den Taktimpuls
A-3 folgt der Taktimpuls CRA, welcher signalisiert, daß die gegenwärtig im Register MDR stehenden Daten für
die Übertragung an die ZEjetzt bereit sind.
Die Korrekturschaltung umfaßt ein UND-Glied 502 für jedes Datenbit und auch ein EXKLUSIV ODER-Glied
504 zum Empfang des Orignal-Datenbits aus dem Register MDR und zur EXKLUSIV ODER-Verknüpfung
dieses Bits mit dem Ausgangssignal des UND-Gliedes 502. Diese Art der Korrektur ist allgemein bekannt
Die Eingangssignale für die verschiedenen UND-Glieder stellen die im Register S gespeicherten und
entweder in regulärer oder in komplementärer Form zugeführten Syndrombits dar. In der dargestellten
Korrekturschaltung werden alle Datenbits, d. h. d\ bis du, parallel der Korrekturschaltung zugeführt und über
den Α-Taktgeber auch im wesentlichen parallel korrigiert
Wenn die Korrektur beendet ist, wird das Register 500 mit den korrekten Daten geladen und danach wird
beim Taktimpuls A-2 dieser korrigierte Datensatz in das Register MR und beim Taktimpuls A-3 über die
Verbindungsmatrix dem Register MDR zugeführt.
Nach Beschreibung eines Lesezugriffs wird jetzt ein Schreibzugriff beschrieben, wobei der Vorgang im
Zusammenhang mit den F i g. 3 und 4 bereits beschrieben wurde ebenso wie der das System bei einem
Schreibzugriff steuernde CW-Taktgeber. Vor einem Schreibzyklus werden bekanntlich das Register MDR
und das Register MR mit den von der ZE gelieferten Daten- und Paritätsbits geladen. Zuerst muß jedoch mit
einer Prüfung festgestellt werden, ob die Parität der ins Register MDR übertragenen Daten stimmt. Zu diesem
Zweck erscheint der Taktimpuls ClV-I auf der Leitung
145, um das Register S über die EXKLUSIV ODER-Schaltungen 222 bis 236 zu laden. Wie bereits
ίο beschrieben wurde, wird damit nur eine Paritätsprüfung
durchgeführt, und wenn man die Anwendung der ungeraden Parität voraussetzt, ist das Register S jetzt
mit lauter Einsen geladen. Nach dem Taktimpuls CW-I erscheint der Taktimpuls CW-2 auf der Leitung 148 in
F i g. 21. Dieser Impuls bewirkt das Prüfen des Inhaltes des Registers S auf richtige Parität (nur Einsen) durch
Überprüfen des Ausgangssignales des UND-Gliedes 237. Wenn die Leitung 238 erregt ist, bedeutet das, daß
das Register S richtig lauter Einsen enthält und kein Fehler vorliegt, wodurch der Taktimpuls CW-4
eingeleitet wird. Wenn andererseits ein Paritätsfehler festgestellt wird, wird der Taktimpuls CW-3 erzeugt, der
dem Datenverarbeitungssystem anzeigt daß ein Paritätsfehler festgestellt wurde und die Daten erneut in die
Register MR und MDR übertragen werden müssen.
Wenn angenommen wird, daß kein Fehler auftrat, ist
die Leitung 149 in der Fig.21 erregt Das Signal auf
dieser Leitung betätigt dann die Taktstufe CW-4, deren Taktimpuls über die Leitung 126 dem ODER-Glied 125
JO zugeführt wird und den Inhalt des Registers MR der
Verbindungsmatrix zuleitet, um die erforderlichen Prüfbits zu erzeugen und sie an den entsprechenden
Prüfbitstellen im Register MDR zu speichern. Die Leitung 126 kommt vom ODER-Glied 125 in F i g. 2D.
Nach dem Taktimpuls CW-4 erscheint der Taktimpuls CW-5, der eiti Schreibsignal »gültige Daten« an den
Speicher sendet, wodurch der ganze Inhalt des Registers MDR, das jetzt die richtigen Datenbits und
auch die erzeugten Prüfbits enthält, zum Speicher übertragen wird.
Hierzu 17 Blatt Zeichnungen
Claims (1)
- Patentansprüche:1. Umsetzer für zwischen dem Speicher und der Zentraleinheit einer Datenverarbeitungsanlage zu übertragende, aus einzelnen Bytes bestehende Datenwörter, wobei in der Richtung zum Speicher (Schreibvorgang) aus den Datenbits und den zu den Bytes gehörigen Paritätsbits Prüfbits nach einem Einzelfehler-Korrektur- und Doppelfehler-Erkennungs-Hamming-Code erzeugt und mit den Datenbits gespeichert werden, und in der Richtung voi.i Speicher (Lesevorgang) aus den Daten- und Prüfbits Syndrombits und zu den Bytes gehörige Paritätsbits erzeugt werden, gekennzeichnet durch folgende Einrichtungen:a) ein erstes Register (MR, F i g. la) zum wahlweisen Speichern entweder von aus dem Speicher gelesenen Daten- und Prüfbits oder von in den Speicher einzuschreibenden Daten- und Byteparitätsbits,b) mehrere erste EXKLUSIV ODER-Schaltungen zur Erzeugung von Redundanzbits (Prüfbits bzw. Paritätsbits), deren Eingänge jeweils über eine Verbindungsmatrix (Fig. IA) an ausgewählte Stufen des ersten Registers angeschlossen sind,c) ein zweites Register (MDR, F i g. 1 B) zur Speicherung der ursprünglichen Datenbits und der von den ersten mehrstufigen EXKLUSIV ODER-Schaltungen erzeugten Redundanzbits,d) mehrere zweite mehrstufige EXCLUSIV ODER-Schaltungen zur Prüfung der Parität der Datenbytes und der zugehörigen Redundanzbits, J5e) ein drittes Register (S, F i g. 2J) zur Speicherung der Ausgangssignale der zweiten mehrstufigen EXKLUSIV ODER-Schaltungen, dessen Stufen bei erfüllter Paritätsbedingung der Datenbytes und ihrer Paritätsbits einen vorgegebenen Binärwert speichern,f) eine Prüfschaltung zur Prüfung der von den zweiten mehrstufigen EXCLUSIV ODER-Schaltungen gelieferten Ergebnisse und eine Anzeigeschaltung zur Anzeige eines Datenbit- oder eines Prüfbitfehlers, wenn die Fehlerursache im Speicher liegt.2. Umsetzer nach Anspruch 1, dadurch gekennzeichnet, daß die Prüfschaltung eine Schaltung zur Anzeige eines bei einem Schreibzugriff zum Speicher festgestellten Paritätsfehlers und eine Schaltung zur Anzeige eines bei einem Lesezugriff erkannten Datenbit-Einzelfehler, eines Prüfbit-Einzelfehlers oder eines Doppelfehlers enthält.3. Umsetzer nach den Ansprüchen 1 und 2, dadurch gekennzeichnet, daß die ersten mehrstufigen EXKLUSIV ODER-Schaltungen wahlweise entweder aus den Datenbits gewonnene Paritätsbits und Prüfbits im Falle eines Lesezugriffs oder aus den Datenbits und Byteparitätsbits gewonnene Prüfbits bo im Falle eines Schreibzugriffs liefern.4. Umsetzer nach den Ansprüchen 1 bis 3, dadurch gekennzeichnet, daß erste Torschaltungen zur direkten Eingabe der Bytes und ihrer Paritätsbits in das erste und zweite Register bei einem Schreibzu- tv> griff und zweite Torschaltungen zur Ausgabe von Daten- und Paritätsbits über die zweiten EXKLUSIV ODER-Schaltungen zur Prüfung der Byteparitätder empfangenen Daten vorgesehen sind.Umsetzer nach den Ansprüchen 1 bis 4, dadurch gekennzeichnet, daß weitere Torschaltungen vorgesehen sind, um nach einer erfolgreichen Payritätsprüfung die empfangenen Daten- und Paritätsbits aus dem ersten Register den ersten mehrstufigen EXKLUSIV ODER-Schaltungen zur Erzeugung von Prüfbits zuzuleiten und diese mit den Datenbits dem Speicher.6. Umsetzer nach den Ansprüchen 1 bis 5, dadurch gekennzeichnet, daß den ersten mehrstufigen EXKLUSIV ODER-Schaltungen bei einem Lesezugriff die Daten- und Prüfbits zugeführt werden, daß Mittel vorgesehen sind, um den Wert eines erzeugten Paritätsbits zu ändern, wenn die Prüfschaltung einen Prüfbit-Einzelfehler aufgrund der Ausgangssignale der zweiten mehrstufigen EXKLUSIV ODER-Schaltungen feststellt, wobei das geänderte Paritätsbit von derjenigen der zweiten mehrstufigen EXKLUSIV ODER-Schaltungen erzeugt wird, die das Fehlersignal lieferte.7. Umsetzer nach Ansprüchen 1 bis 6, dadurch gekennzeichnet, daß eine Prüfeinrichtung zum Feststellen der Anzahl der fehlerhaften unter den von den zweiten mehrstufigen EXKLUSIV ODER-Schaltungen erzeugten Syndrombits vorgesehen ist und daß an die Prüfeinrichtung eine Anzeigeeinrichtung zur Anzeige eines Prüfbit-Einzelfehlers, wenn nur ein Syndrombit fehlerhaft ist, zur Anzeige eines Datenbit-Einzelfehlers, wenn eine ungerade Anzahl größer als Eins von Syndrombits fehlerhaft ist und zur Anzeige eines Doppelfehlers, wenn eine Gerade Anzahl von Syndrombits fehlerhaft ist.8. Umsetzer nach den Ansprüchen 1 bis 7, dadurch gekennzeichnet, daß an die Anzeigeeinrichtung Torschaltungen angeschlossen sind, die bei der Anzeige eines Datenbit-Einzelfehlers die Datenbits und Syndrombits der Fehlerkorrekturschaltung zuführen und die korrigierten Datenbits wieder speichern, ohne daß die gespeicherten Prüfbits geändert werden.9. Umsetzer nach den Ansprüchen 1 bis 8, dadurch gekennzeichnet, daß eine Einrichtung zur Erzeugung neuer Byteparitätsbits aus den korrigierten Daten vorgesehen ist, die Torschaltungen enthält zum Zuführen der korrigierten Datenbits und der unveränderten Prüfbits zu den ersten mehrstufigen EXKLUSIV ODER-Schaltungen.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US5130270A | 1970-06-30 | 1970-06-30 |
Publications (3)
Publication Number | Publication Date |
---|---|
DE2132565A1 DE2132565A1 (de) | 1972-01-13 |
DE2132565B2 DE2132565B2 (de) | 1980-07-03 |
DE2132565C3 true DE2132565C3 (de) | 1981-04-02 |
Family
ID=21970451
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2132565A Expired DE2132565C3 (de) | 1970-06-30 | 1971-06-30 | Umsetzer |
Country Status (6)
Country | Link |
---|---|
US (1) | US3648239A (de) |
JP (1) | JPS5226104B1 (de) |
CA (1) | CA934061A (de) |
DE (1) | DE2132565C3 (de) |
FR (1) | FR2109584A5 (de) |
GB (1) | GB1293488A (de) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3755779A (en) * | 1971-12-14 | 1973-08-28 | Ibm | Error correction system for single-error correction, related-double-error correction and unrelated-double-error detection |
US3825893A (en) * | 1973-05-29 | 1974-07-23 | Ibm | Modular distributed error detection and correction apparatus and method |
US3800294A (en) * | 1973-06-13 | 1974-03-26 | Ibm | System for improving the reliability of systems using dirty memories |
JPS5440187B2 (de) * | 1973-07-25 | 1979-12-01 | ||
US3949208A (en) * | 1974-12-31 | 1976-04-06 | International Business Machines Corporation | Apparatus for detecting and correcting errors in an encoded memory word |
US4005405A (en) * | 1975-05-07 | 1977-01-25 | Data General Corporation | Error detection and correction in data processing systems |
US4646312A (en) * | 1984-12-13 | 1987-02-24 | Ncr Corporation | Error detection and correction system |
IT1202527B (it) * | 1987-02-12 | 1989-02-09 | Honeywell Inf Systems | Sistema di memoria e relativo apparato di rivelazione-correzione di errore |
US4979173A (en) * | 1987-09-21 | 1990-12-18 | Cirrus Logic, Inc. | Burst mode error detection and definition |
US5140595A (en) * | 1987-09-21 | 1992-08-18 | Cirrus Logic, Inc. | Burst mode error detection and definition |
US4868829A (en) * | 1987-09-29 | 1989-09-19 | Hewlett-Packard Company | Apparatus useful for correction of single bit errors in the transmission of data |
JPH04342459A (ja) * | 1991-05-16 | 1992-11-27 | Toyota Motor Corp | チタン酸鉛系圧電セラミックス材料 |
US5313475A (en) * | 1991-10-31 | 1994-05-17 | International Business Machines Corporation | ECC function with self-contained high performance partial write or read/modify/write and parity look-ahead interface scheme |
US5539754A (en) * | 1992-10-05 | 1996-07-23 | Hewlett-Packard Company | Method and circuitry for generating syndrome bits within an error correction and detection circuit |
ATE216096T1 (de) * | 1994-02-22 | 2002-04-15 | Siemens Ag | Flexible fehlerkorrekturcode/paritätsbit- architektur |
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 |
US6003144A (en) * | 1997-06-30 | 1999-12-14 | Compaq Computer Corporation | Error detection and correction |
US6301680B1 (en) * | 1998-09-24 | 2001-10-09 | Sun Microsystems, Inc. | Technique for correcting single-bit errors and detecting paired double-bit errors |
CA2437927A1 (en) * | 2003-08-14 | 2005-02-14 | Ramesh Mantha | Adaptive coding for a shared data communication channel |
US8832523B2 (en) * | 2006-03-03 | 2014-09-09 | Ternarylogic Llc | Multi-state symbol error correction in matrix based codes |
US7243293B2 (en) * | 2003-12-23 | 2007-07-10 | International Business Machines Corporation | (18, 9) Error correction code for double error correction and triple error detection |
US9203436B2 (en) * | 2006-07-12 | 2015-12-01 | Ternarylogic Llc | Error correction in multi-valued (p,k) codes |
US8365048B2 (en) * | 2006-09-26 | 2013-01-29 | GM Global Technology Operations LLC | Vehicle communication system diagnostic using hamming code |
US8069392B1 (en) | 2007-10-16 | 2011-11-29 | Integrated Device Technology, Inc. | Error correction code system and method |
JP2010026896A (ja) * | 2008-07-23 | 2010-02-04 | Nec Electronics Corp | メモリシステム、及び、メモリエラー要因特定方法 |
JP5353655B2 (ja) * | 2009-11-18 | 2013-11-27 | 富士通株式会社 | エラー検出・訂正符号生成回路及びその制御方法 |
US10176040B2 (en) | 2016-04-05 | 2019-01-08 | Micron Technology, Inc. | Error correction code (ECC) operations in memory |
US10735199B2 (en) | 2018-01-02 | 2020-08-04 | Bank Of America Corporation | File based transmission validation and failure location identification system |
CN111858129B (zh) * | 2019-04-28 | 2024-02-23 | 深信服科技股份有限公司 | 一种纠删码读请求处理方法、系统、设备及计算机介质 |
US11886295B2 (en) | 2022-01-31 | 2024-01-30 | Pure Storage, Inc. | Intra-block error correction |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL79872C (de) * | 1950-01-11 | |||
US3163848A (en) * | 1959-12-22 | 1964-12-29 | Ibm | Double error correcting system |
US3478313A (en) * | 1966-01-20 | 1969-11-11 | Rca Corp | System for automatic correction of burst-errors |
US3492641A (en) * | 1967-01-11 | 1970-01-27 | Datamax Corp | Error correcting digital communication system |
-
1970
- 1970-06-30 US US51302A patent/US3648239A/en not_active Expired - Lifetime
-
1971
- 1971-04-29 FR FR7116472A patent/FR2109584A5/fr not_active Expired
- 1971-05-21 CA CA113588A patent/CA934061A/en not_active Expired
- 1971-05-28 JP JP46036416A patent/JPS5226104B1/ja active Pending
- 1971-05-28 GB GB07810/71A patent/GB1293488A/en not_active Expired
- 1971-06-30 DE DE2132565A patent/DE2132565C3/de not_active Expired
Also Published As
Publication number | Publication date |
---|---|
JPS5226104B1 (de) | 1977-07-12 |
CA934061A (en) | 1973-09-18 |
DE2132565A1 (de) | 1972-01-13 |
FR2109584A5 (de) | 1972-05-26 |
DE2132565B2 (de) | 1980-07-03 |
GB1293488A (en) | 1972-10-18 |
US3648239A (en) | 1972-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2132565C3 (de) | Umsetzer | |
DE2060643C3 (de) | Schaltungsanordnung zur Korrektur von Einzelfehlern | |
DE3125048C2 (de) | ||
DE2328869C2 (de) | Verfahren und Schaltungsanordnung zum Betreiben eines digitalen Speichersystems | |
EP0038947B1 (de) | Programmierbare logische Anordnung | |
DE2430464A1 (de) | Einrichtung zur fehlergesicherten datenuebertragung | |
DE2646163B2 (de) | Schaltungsanordnung zum Ersetzen fehlerhafter Informationen in Speicherplätzen eines nicht veränderbaren Speichers | |
DE2554945A1 (de) | Verfahren und schaltungsanordnung zur fehler-erkennung und -korrektur | |
DE3126721A1 (de) | "datenverarbeitungsgeraet mit einem programmierbaren festspeicher" | |
DE1549468A1 (de) | Speicheranordnung fuer ein programmgesteuertes Datenverarbeitungssystem | |
DE2659031B2 (de) | Fehlerkorrektur- und -Steuersystem | |
DE2610411A1 (de) | Datenverarbeitungsanlage | |
DE2361512C2 (de) | Schaltungsanordnung zur Prüfung eines Additionsresultates | |
DE2513262C3 (de) | Digitale Codeumwandlungsanordnung | |
DE1250163B (de) | Einrichtung zur Paritätsprüfung von Speicherworten | |
DE4416171C2 (de) | EEPROM-Vorrichtung | |
EP0443377A2 (de) | Einrichtung zur signaltechnisch sicheren Darstellung eines Meldebildes | |
DE2441351A1 (de) | Schaltungsanordnung zur selbstpruefenden paritaetspruefung fuer zwei oder mehr voneinander unabhaengige datenkanaele | |
DE2628847A1 (de) | Selbstpruefende lese- und schreibschaltung | |
EP0031025B1 (de) | Fehlererkennungs- und -korrektureinrichtung für eine logische Anordnung | |
DE2104132A1 (de) | Anordnung zur Fehlererkennung und Fehlerkorrektur | |
DE69534316T2 (de) | Telekommunikationsanlage mit einem prozessorsystem und ein prozessorsystem | |
DE1937259C3 (de) | Selbstprüf ende Fehlererkennungsschaltung | |
DE2424828A1 (de) | Wiederaufbaueinrichtung | |
DE3433679C2 (de) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C3 | Grant after two publication steps (3rd publication) | ||
8339 | Ceased/non-payment of the annual fee |