DE2532915C2 - Circuit arrangement for error protection of byte-structured data characters to be transmitted between a data transmitter and a data receiver - Google Patents

Circuit arrangement for error protection of byte-structured data characters to be transmitted between a data transmitter and a data receiver

Info

Publication number
DE2532915C2
DE2532915C2 DE19752532915 DE2532915A DE2532915C2 DE 2532915 C2 DE2532915 C2 DE 2532915C2 DE 19752532915 DE19752532915 DE 19752532915 DE 2532915 A DE2532915 A DE 2532915A DE 2532915 C2 DE2532915 C2 DE 2532915C2
Authority
DE
Germany
Prior art keywords
data
code
error
parity
characters
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE19752532915
Other languages
German (de)
Other versions
DE2532915A1 (en
Inventor
Wolfgang Dipl.-Ing. 8000 München Ciemala
Wolfgang Dipl.-Phys. Feißel
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Priority to DE19752532915 priority Critical patent/DE2532915C2/en
Publication of DE2532915A1 publication Critical patent/DE2532915A1/en
Application granted granted Critical
Publication of DE2532915C2 publication Critical patent/DE2532915C2/en
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/102Error in check bits

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Description

eoeo

Die Erfindung bezieht sich auf eine Schaltungsanordnung zur Fchlersicherung gemäß den Merkmalen des Oberbegriffs des Patentanspruchs I.The invention relates to a circuit arrangement for securing subjects according to the features of Preamble of claim I.

Eine derartige Schallungsanordnung ist im Prinzip aus der DE-OS 24 30 464 bekannt. Prinzipschaluingen zur Fehlerkorrektur paritätsgcsichcrtcr Daten sindSuch a formwork arrangement is in principle from DE-OS 24 30 464 known. Principle circuits for error correction are parity-guaranteed data ferner aus der Uteratursteile: Frederick F. Seilers et al. »Error Detecting Logic for Digital Computers«, McGraw Hill Book Company 1968, Seite 207-211. vorbekannt.also from the Uteratursteile: Frederick F. Seilers et al. "Error Detecting Logic for Digital Computers," McGraw Hill Book Company 1968, pp. 207-211. previously known.

Um eine möglichst große Verfügbarkeit von Arbeitsspeichern in Datenverarbeitungsanlagen zu erzielen, ist es mit der Einführung von Halbleiterspeichern üblich geworden, die in den Arbeitsspeichern gespeicherten Datenzeichen mittels Codezeichen abzusichern, r*ie das Korrigieren von Einzelfehlern ermöglichen. Die Datenzeichen werden dabei von dem als Datensender zu betrachtenden Zentralprozessor der Datenverarbeitungsanlage durch Paritätszeichen gesichert abgegeben. Anschließend werden aus den Datenzeichen Codezeichen erzeugt, die zusammen mit den Datenzeichen an den als Datenempfänger zu betrachtenden Arbeitsspeicher abgegeben werden. Aus der bereits zitierten DE-OS 24 30 464 sowie aus der DE-OS 2344 019 sind entsprechende Schaltungen bekannt, bei denen durch Paritätszeichen gesicherte Daten in durch Codezeichen gesicherte Daten umgesetzt werden. Dabei werden die Datenzeichen auf dem Weg vom Zentralprozessor zum eigentlichen Speichermedium des Arbeitsspeichers einer Codiereinrichtung zugeführt und die dabei enstehenden Codezeichen zusammen mit den Datenzeichen im Arbeitsspeicher gespeichert wobei die Parität der Datenzeichen letztmalig an der Abgriffstelle, d. h. letztmalig vor der Codiereinrichtung, geprüft wird. Mit Hilfe der gespeicherten Codezeichen können dann einzelne fehlerhafte Datenzeichen korrigiert werden.In order to achieve the greatest possible availability of main memories in data processing systems, it has become common with the introduction of semiconductor memories that are stored in the main memories To secure data characters by means of code characters, r * ie that Enable correction of individual errors. The data characters are used as the data sender viewing central processor of the data processing system secured by parity characters. Then code characters are generated from the data characters, which together with the data characters an the main memory to be regarded as the data receiver is released. From the already quoted DE-OS 24 30 464 and DE-OS 2344 019 corresponding circuits are known in which by Data secured by parity characters are converted into data secured by code characters. The Data characters on the way from the central processor to the actual storage medium of the main memory a coding device and the resulting code characters are stored together with the data characters in the main memory, the parity the data characters for the last time at the tap point, d. H. is checked for the last time before the coding device. With Individual incorrect data characters can then be corrected with the aid of the stored code characters.

Falls jedoch die Datenzeichen, beispielsweise wegen einer Leitungsunterbrechung zwischen der Abgriffstelle und der Codiereinrichtung fehlerhaft zur Codiereinrichtung gelangen, wird dieser Fehler durch die Paritätsprüfung nicht erkannt In diesem Fall könnte die Leitungsunterbrechung zur Erzeugung von Codezeichen führen, die eine auf dem weiteren Datenweg liegende Korrekturschaltung, beispielsweise eine Korrekturschaltung für die aus Jem Arbeitsspeicher gelesenen Daten, dazu zwingen, in rfL' Datenzeichen einen echten Fehler hineinzukorrigieren. Der fälschlicherweise als korrigierter Einzelfehler registriert würde.If, however, the data characters, for example because of a line break between the tap and the coding device get to the coding device incorrectly, this error is not recognized by the parity check. In this case, the Line interruption lead to the generation of code characters, which one on the further data path lying correction circuit, for example a correction circuit for the Jem main memory read data, force to in rfL 'data characters correcting a real mistake into it. Which incorrectly registered as a corrected individual error would.

Der Erfindung liegt daher die Aufgabe zugrunde, eine Schaltungsanordnung anzugeben, die eine kombinierte Überprüfung sowohl der Datenleitungen als auch der Codiereinrichtung ermöglicht.The invention is therefore based on the object of a Specify circuit arrangement that a combined review of both the data lines and the Encoding device allows.

Die Lösung dieser Aufgabe ergibt sich erfindungsgemäß aus den kennzeichnenden Merkmalen des Patentanspruchs I. Die Schaltungsanordnung gemäß der Erfindung hat den Vorteil, daß die Fehlersicherheit bei der Übertragung der Daten durch einen geringen Mehraufwand wesentlich erhöht wird, weil sowohl Fehler, die durch fehlerhafte Zuführung der Datenzeichen zur Codiereinrichtung entstehen können, als auch Fehler in der Codiereinrichtung selbst erkannt werden können. Außerdem kann auf die übliche Paritätsprüfung am Eingang der Codiereinrichtung, an die die Datenzeichen paritätsgesichert abgegeben werden, verzichtet werden.This object is achieved according to the invention from the characterizing features of claim I. The circuit arrangement according to FIG The invention has the advantage that the security against errors in the transmission of the data by a low Overhead is significantly increased because both errors that can arise from incorrect feeding of the data characters to the coding device, as well Errors in the coding device itself can be detected. The usual parity check can also be used at the input of the coding device to which the data characters are sent with parity protection, be waived.

Vorteilhafte Weiterbildungen der Erfindung sind in den Unteransprüchen angegeben.Advantageous developments of the invention are in specified in the subclaims.

Im folgenden wird die Konstruktion der Schaltungsanordnung anhand von Zeichnungen erläutert. Es zeigtIn the following the construction of the circuit arrangement is explained with reference to drawings. It shows

F i g. I ein Blockschaltbild einer bekannten Schaltungsanordnung zur Fehlererkennung und Fehlerortbestimmung.F i g. I a block diagram of a known circuit arrangement for fault detection and fault location determination.

F i g. 2 ein Blockschaltbild einer SchaltungsanordnungF i g. 2 is a block diagram of a circuit arrangement

zur Fehlersichert'p.p:zur Fehlerichert'p.p:

Fig.3 ein Schema zur Erzeugung von Codezeichen, Fig.4 ein Schaltbild einer einfachen Anordnung zur Fehlersicheriing,3 shows a scheme for generating code characters, 4 is a circuit diagram of a simple arrangement for Failsafe,

Fig.5 ein Schaltbild eines codebitbezogenen Pan- > tätsprüfers.Fig. 5 is a circuit diagram of a code-bit related pan-> auditor.

Bei der in Fi g. I dargestellten bekannten SchaJti-ng anordnung zur Fehlererkennung und Fehlerortsbestimmung innerhalb von Datenzeichen werden beispielsweise von einem Zentralprozessor einer Datenverarbei- to tungsanlage abgegebene η=64 Datenbit DA 1 gleich-Zv-Cä eint-m Arbeitsspeicher SP der Datenverarbeitungsanlage, einem Paritätsprüfer PC und einer Codiereinrichtung CfI zugeführt. Dem Paritätsprüfer PC werden außerdem /n=8 Paritätsbit PA 1 zugeführt. Der Paritätsprüfer PC prüft letztmalig vor dem Einspeichern der Daten in den Arbeitsspeicher deren Parität Falls ein Paritätsfehler erkannt wird, gibt der Paritätsprüfer ein Fehlersignal Fl ab, das beispielsweise als Fehlermeldung dem Zentralprozessor zugeführt wird.In the case of the in Fi g. I shown known SchaJti-ng arrangement for error detection and error location determination within data characters, for example, from a central processor of a data processing system emitted η = 64 data bits DA 1 equal-Zv-Cä one-m working memory SP of the data processing system, a parity checker PC and a coding device CfI supplied. The parity checker PC is also supplied with / n = 8 parity bits PA 1. The parity checker PC checks the parity for the last time before the data is stored in the main memory. If a parity error is detected, the parity checker emits an error signal F1, which is fed to the central processor as an error message, for example.

Die Codiereinrichtung CEl bildet aus den 64 Datenbit DA 1 acht Codebit K1 und führt diese gleichzeitig mit den Daten DA 1 dem Arbeitsspeicher SPzu. Der Arbeitsspeicher SPspeichert die 54 Datenbit DA i und die acht Codebit K 1 und ist zu diesem Zweck für eine Wortbreite von 72 Bit ausgelegt.The coding device CE1 forms eight code bits K 1 from the 64 data bits DA 1 and supplies these to the main memory SP at the same time as the data DA 1. The main memory SP stores the 54 data bits DA i and the eight code bits K 1 and is designed for a word length of 72 bits for this purpose.

Beim Lesen des Inhalts des Arbeitsspeichers werden die gelesenen Daten DA 2 einerseits einer mit einem Paritätsgenerator versehenen Codiereinrichtung CE2 zugeführt, die die Codebit K 3 und acht Pariiätsbit PA 2 erzeugt und andererseits einer Korrektureinrichtung KEzum Korrigieren von Einzelfehlern zugeführt.When reading the contents of the main memory, the read data DA 2 are fed to a coding device CE2 provided with a parity generator, which generates the code bits K 3 and eight parity bits PA 2 and, on the other hand, to a correction device KE for correcting individual errors.

Die aus dem Arbeitsspeicher SPgleichzeitig mit dem Daienbit DA 2 gelesenen Codebit K 2 werden einem Vergleicher VG zugeführt, der diese Codebit K 2 mit den Codebit K 3 vergleicht und an die Korrektureinrichtung KE acht Syndrotrsbits SY abgibt, die beim Auftreten eines Einzelfehlers den Fehlerort angeben und mit denen die Einzelfehler korrigiert werden.The code bits K 2 read from the main memory SP at the same time as the data bit DA 2 are fed to a comparator VG , which compares this code bit K 2 with the code bit K 3 and sends eight syndrotr bits SY to the correction device KE , which indicate the location of the error when an individual error occurs and with which the individual errors are corrected.

Am Ausgang der Korrektureinrichtung KE werden Daten DA 3, die gegebenenfalls korrigiert wurden, und zugehörige Paritätsbit PA 3 zur weiteren Verarbeitung an den Zentralprozessor abgegeben.At the output of the correction device KE , data DA 3, which may have been corrected, and the associated parity bit PA 3 are sent to the central processor for further processing.

Bei der in F i g. 2 dargestellten Anordnung sind dem Arbeitsspeicher SPein Codierer C P zur Charakterisierung eines Paritätsfehlers oder eines anderen, die einzuschreibenden Daten betreffenden Fehlers, sow;e eine Codiereinrichtung Cf 3 vorgeschaltet. Mit Hilfe dieser Anordnung ist es möglich auch solche Einzelfehler zu erkennen. d;e dann entstehen, wenn die Datenzeichen DA 1 der Codiereinrichtung CEl in F i g. 1 fehlerhaft zugeführt werden oder die Codiereinrichtung CE3 fehlerhaft arbeitet. Bei dieser Anoidnung wird bei dem Übergang von der Sicherung durch Paritätszeichen i.i die Sicherung mit Codezeichen an der Übergangsstelle die Paritätssicherung beibehalten und bei der Erzeugung der Codezeichen miteinbezogen. Die Codezeichen werden somit paritätsgesichert erzeugt. Weiterhin werden vor dem Einspeichern der Daten in GO den Arbeitsspeicher SP die Codezeichen auf richtige Parität überprüft. Falls sich dabei ein Paritätsfehler ergibt, wird am Ausgang der Codiereinrichtung CE3 ein Fehlersignal F2 abgegeben. Mit diesem Fehlersignal kann einerseits mit Hilfe einer Fehlerauswerteeinrichtung eine Schreiboperation in den Arbeitsspeicher SP verhindert werdeii und eine Fehlermeldung abgegeben werden. Andererseits kann eine Schreiboperation ausgeführt werden, aber nut einer Codierung der Datenzeichen und Codezeich-.i, die beim Lesen des Eintrags die Fehlersituati. ·ίι vnr irr Schreiboperation erkennen iäßt.In the case of the in FIG. The arrangement shown in FIG. 2 includes the main memory SP, a coder CP for characterizing a parity error or another error relating to the data to be written, and so on ; e a coding device Cf 3 is connected upstream. With the help of this arrangement, it is also possible to identify such individual errors. d ; e arise when the data characters DA 1 of the coding device CEl in FIG. 1 are supplied incorrectly or the coding device CE 3 is operating incorrectly. With this anoid, the parity protection is retained during the transition from the protection by parity characters ii to the protection with code characters at the transition point and is included in the generation of the code characters. The code characters are thus generated with parity protection. Furthermore, the code characters are checked for correct parity in the main memory SP before the data are stored in GO. If a parity error occurs, an error signal F2 is output at the output of the coding device CE3. With this error signal, on the one hand, a write operation in the main memory SP can be prevented with the aid of an error evaluation device and an error message can be issued. On the other hand, a write operation can be carried out, but only with a coding of the data characters and code characters. · Ίι vnr irr write operation can be recognized.

Die Erzeugung einer derartigen Codierung wird im folgenden «nhand von allgemeinen Überlegungen zur Auswahl eines fehlerkorrigierenden Codes dargestellt. Aus Aufwandsgründen verlangt man von einem fehlerkorrigierenden Code nicht mehr, als daS Finzelfehler korrigiert und Doppelfehler mit Sicherheit erkannt werden. Ferner soll die Redundanz nicht größer als bei byteweiser PaniatsGichening sein. Hierdurch wird im übrigen eine Voraussetzung geschaffen, ältere, byteweise organisierte Arbeitsspeicher weiter verwenden zu können. Wird eine n-stellige Dualzahl, mit noch unbekannten m-Korrekturcodestellen zu einer n+m steliigen codierten Dualzahl zusammengefaßt, so muß der Abstand D zwischen zwei Zahlen des Codes, wenn Einzelfehler korrigiert werden so/Ien, D= 3 sein. Dies bedeutet aber, daß alle n+m in der Umgebung einer n + m steliigen Dualzahl des Codes im Abstand D=1. befindlichen Zahlen, die nicht den· .ode angehören, der betrachteten, codierten Dualzahl zugeordnet werden müssen, sonst würde sich ein Einzelfehler nicht korrigieren lassen. Von den 2ni-m möglichen Kombinationen einer n+m stelligen Dualzahl sind aber nur noch 2n*m [n + m+ \) = 2" ■ 2'"/{n+m+\) frei wählbar. Wünscht man sich 2" wählbar, von denen man ursprünglich ausgegangen ist, so muß der Faktor 2m/(n+m+\)= 1 sein, was zur Bestimmung von m bei vorgegebener Stellenzahl η benutzt v. erden kann.The generation of such a coding is illustrated below on the basis of general considerations for the selection of an error-correcting code. For reasons of expense, no more is required of an error-correcting code than that financial errors are corrected and double errors are detected with certainty. Furthermore, the redundancy should not be greater than with byte-wise PaniatsGichening. This also creates a prerequisite for being able to continue using older, byte-wise organized work memories. If an n-digit binary number with still unknown m- correction codes is combined to form an n + m- digit coded binary number, then the distance D between two numbers of the code, if individual errors are corrected, must be D = 3. However, this means that all n + m in the vicinity of an n + m digit binary number of the code at a distance of D = 1 . Numbers located that do not belong to the ode must be assigned to the coded binary number under consideration, otherwise an individual error would not be correctable. Of the 2 ni - m possible combinations of an n + m digit binary number, only 2 n * m [n + m + \) = 2 "■ 2 '" / {n + m + \) are freely selectable. If you want 2 "to be selected, from which you originally assumed, the factor 2 must be m / (n + m + \) = 1, which can be used to determine m for a given number of digits η .

Soll mit gleicher Redundanz m/n= 1/8 wie bei der byteweisen Paritätssicherung gearbeitet werden, so ergibt sich nach Substitution von n=8 ■ m in die Ungleichung als Lösung der Wert /n=6. Mit m=6 lassen sich bereits η= 57 Datenbits, gegenüber Einzelfehlern korrigierend sichern. Da 7 keine Zweierpotenz ist, geht man. um die Speicherorganisation zu vereinfachen, zu Worten von 8 Bytes über. Als Folge dieser Wahl stehen dann m = 8 Codebits zur Verfügung, die nicht nur jeder codierten Zahl eine Umgebung im Abstand D= I zuzuordnen gestattet, das sind n + m = 72 Zahlen, sondern 28-1=255. Von dieser Redundanz wird schon teilweise Gebrauch gemacht, um Doppelfehler als solche in Fehlermeldungen auszuweisen. Um Doppelfehler als solche erkennbar zu machen, muß jeder Zahl im Abstand D= 1 einer Codezahl eine weitere, weder der Klasse der Codezahlen noch der ihrer Umgebung im Abstand D= 1 angehörenden Zahl zugeordnet werden, wodurch die Gesamtumgebung einer Codezahl dann auf 2 ■ (n+m)- 1 = 143 ansteigt, die immer noch unter dem möglichen Wert von 255 liegt.If you want to work with the same redundancy m / n = 1/8 as with byte-wise parity protection, then after substituting n = 8 ■ m in the inequality, the solution is the value / n = 6. With m = 6, η = 57 data bits can be saved to correct individual errors. Since 7 is not a power of two, you leave. to simplify memory organization, to words 8 bytes across. As a result of this choice, m = 8 code bits are available, which not only allow each coded number to be assigned an area at a distance of D = I, that is, n + m = 72 numbers, but 2 8 -1 = 255. This redundancy is already partially used to identify double errors as such in error messages. In order to make double errors recognizable as such, each number at a distance D = 1 of a code number must be assigned a further number that belongs neither to the class of code numbers nor to the number belonging to its environment at a distance of D = 1, so that the overall environment of a code number is then 2 ■ ( n + m) - 1 = 143 increases, which is still below the possible value of 255.

Nach diesen Feststellungen setzt nun die Überlegung ein. weitere, bisher noch nicht belegte Zahlen in der Umgebung einer Codezahl zu annektieren, die bei der Codeerzeugung «Jann gezielt besetzt werden, wenn eine mit Paritätsfehlern behaftete oder von anderen Fehlten betroffene, η stellige Datenbitkombination verschlüsselt werden soll. 7.u diesem Zweck wird in der Schaltungsanordnung die Parität konsequent miteinbezoger. und bei Erkennung eines Paritätsfehlers innerhalb der Codiereinrichtung C£3 mit dem Codierer CP ein Code erzeugt, der den beobachteten Fehler charakterisiert. Dieser Code kann auch durch ein weiteres Fehlersignal F3 e-3.:ugf werden, das beim Erkennen einrs anderen datenbezogenen Fehlers abgegeben wird und dem Codierer CPzugeführt wird.After these determinations, the deliberation begins. to annex further, as yet unused numbers in the vicinity of a code number, which are specifically occupied during code generation, if an η-digit data bit combination with parity errors or other deficiencies is to be encrypted. 7. For this purpose, the parity is consistently included in the circuit arrangement. and when a parity error is detected within the coding device C £ 3, the encoder CP generates a code which characterizes the observed error. This code can also be generated by a further error signal F3 e-3.:ugf, which is emitted when another data-related error is detected and is fed to the encoder CP.

Bei einem späteren Durchlaufen einer Korrektureinrichtung kann dann der betreffende Fehler festgestellt und gemeldet werden. Die Korrektureinrichtung hat dann nicht mehr nur wie bisher die Aufgabe zu erkennen, ob kein Fehler, ein Einzelfehler, ein Doppelfehler vorliegt, sondern auch noch, ob ein Paritätsfehler oder ein anderer datenbezogener Fehler vorliegt. Falls ein Paritätsfehler vorliegt, können entweder die aus dem Arbeitsspeicher SP gelesenen Datenzeichen DA 2 im Fehlerfall an der richtigen Stelle mit falscher Parität versehen werden, dann spart man sich die Eingangsprüfung der Parität, oder man überträgt die Datenzeichen, weil fehlerhaft und daher wertlos, überhaupt nicht zum Zentralprozessor, sondern sendet statt dessen eine Fehlermeldung. Es lassen sich auch beide Möglichkeiten kombinieren.When a correction device is run through at a later time, the relevant error can then be determined and reported. The correction device then no longer only has the task of recognizing, as previously, whether there is no error, a single error, a double error, but also whether there is a parity error or some other data-related error. If there is a parity error, either the data characters DA 2 read from the main memory SP can be provided with the wrong parity in the correct place in the event of an error, in which case the incoming parity check is saved, or the data characters are transmitted at all because they are incorrect and therefore worthless not to the central processor, but instead sends an error message. Both options can also be combined.

Die Daten DA I werden bei der Schaltungsanordnung dem Codierer CPund der Codiereinrichtung CE3 zugeführt. Die Codiereinrichtung C£3 besteht aus einem Codierer CD und einem Paritätsprüfer PP, denen die Daten DA I zugeführt werden. Am Ausgang des Codierers CD werden Codebit K 10 abgegeben. Diese Codebit K 10 werden dem Paritätsprüfer PP und dem Codierer CP zugeführt. Dem Paritätsprüfer PP werden außerdem die Paritätsbit PA 1 zugeführt. Falls der Paritätsprüfer PP einen Paritätsfehler ermittelt, wird das Fehlersignal Fl erzeugt, das die Fehlermeldung veranlaßt und/oder die am Ausgang des Codierers CP abgegebenen Datenbit DAH und Codebit AfIl, die zum Arbeitsspeicher SP abgegeben werden, derart verändert, daß der Paritätsfehler am Empfangsort erkannt wird. Falls ein anderweitig erkannter, datenbezogener Fehler vorliegt, wird durch das Fehlersignal F3 der Codierer CP veranlaßt, die an seinem Ausgang abgegebenen Codebit K 11 und gegebenenfalls auch die Daten DA 1 so zu verändern, daß dieser Fehler am Empfangsort erkannt wird.In the circuit arrangement, the data DA I are fed to the encoder CP and the encoder CE3. The coding device C £ 3 consists of an encoder CD and a parity checker PP, to which the data DA I are fed. Code bits K 10 are output at the output of the encoder CD. These code bits K 10 are fed to the parity checker PP and the encoder CP . The parity bits PA 1 are also fed to the parity checker PP. If the parity checker PP detects a parity error, the error signal Fl is generated which causes the error message and / or emitted at the output of the encoder CP data bit DAH and code bit AFIL which are delivered to the main memory SP is changed such that the parity error is detected at the receiving will. If there is a data-related error detected in some other way, the error signal F3 causes the encoder CP to change the code bits K 11 output at its output and possibly also the data DA 1 so that this error is detected at the receiving location.

Die Fig.3 zeigt drei Schemata zum Erzeugen von Codebits CO bis Cl aus den Daten DA 1. Die Daten sind in acht Datenbytes 0 bis 7 mit je acht Datenbits 0 bis 7 eingeteilt. Die senkrechten Striche im jeweiligen Schema zeigen an, welche Datenbits jeweils für die Erzeugung der Codebits CO bis C7 verwendet werden. Die Codebits werden dabei durch eine Modulo-2-Addition der jeweiligen Datenbits erzeugt.3 shows three schemes for generating code bits CO to Cl from the data DA 1. The data are divided into eight data bytes 0 to 7, each with eight data bits 0 to 7. The vertical lines in the respective scheme indicate which data bits are used in each case for generating the code bits CO to C7. The code bits are generated by modulo-2 addition of the respective data bits.

Das Schema A zeigt die Erzeugung der Korrekturbits bei einem Abstand D= 4. Dieser Abstand ist notwendig, um Einzelfehler korrigieren und Doppelfehler erkennen zu können. Den Abstand D= 4 erhält man, indem man drei Stellen des achtstelligen Codes mit je einer 1 belegt. Da sich nach de" Regeln der Kombinatorik damit jedoch nur (|) = 56 verschiedene Kombinationen bilden lassen, müssen den letzten acht Datenbits mehr als drei Codebits, z. B. 4 wie in Fig.3, Zeile A, Byte 7 gezeigt zugeordnet werden. Aus praktischen Gründen, die die Realisierung betreffen, ist es aber störend, daß die ersten 56 Kombinationen aus einer ungeraden Anzahl und die letzten acht Kombinationen aus einer geraden Anzahl von Datenbits bestehen. Man gehl daher auch bei den letzten acht Datenbits zu einer ungeraden Anzahl von belegten Codebits über. Ein derartiger Code ist im Schema B dargestelltScheme A shows the generation of the correction bits at a distance D = 4. This distance is necessary, to correct single errors and to be able to recognize double errors. The distance D = 4 is obtained by three digits of the eight-digit code are each assigned a 1. Since according to de "rules of combinatorics but only form (|) = 56 different combinations leave, the last eight data bits must have more than three code bits, e.g. B. 4 as shown in Fig. 3, line A, byte 7 be assigned. For practical reasons relating to the implementation, however, it is annoying that the first 56 combinations of an odd number and the last eight combinations of an even number Number of data bits exist. The last eight data bits are therefore also given an odd number Number of occupied code bits over. Such a code is shown in Scheme B.

Aber auch die Codierung nach Schema Bin F i g. 3 ist für die technische Ausführung gesehen noch verbesserungsfähig, weil durch einfaches umordnen der Code von Schema B in einen byteweise zyklischen Code übergeführt werden kann, wie das im Schema C geschehen ist. Mit der Codebelegung von Schema C werden im folgenden zwei Ausführungsbeispiele einer Schaltungsanordnung zur Fehlersicherung erläutert.But also the coding according to the scheme Bin F i g. 3 is In terms of the technical implementation, there is still room for improvement, because simply rearranging the code can be converted from scheme B into a byte-by-byte cyclic code, like that in scheme C. happened. With the code assignment of scheme C, two exemplary embodiments are one in the following Circuit arrangement for error protection explained.

Die in F i g. 4 dargestellte Schaltungsanordnung enthält eine aus dem Codierer CDund dem Paritätsprüfer PP 1I bestehende Codiereinrichtung CE3 und den Codierer CP. Der Paritätsprüfer PPX ist eine einfache Ausführungsform des Paritätsprüfers PP. Die Codebits CO bis C7 werden in Schaltstufen 50 bis S7 des Codierers CD durch eine Modulo-2-Addition der Datenbits 00 bis 77 entsprechend dem Schema C in Fig. 3 erzeugt. Die Schaltstufen 50 bis 57 bestehen entweder aus Kaskaden von Antivalenzgliedern oder aus entsprechend hoch integrierten Paritätsprüfern. Der Schaltstufe 50 beispielsweise werden entsprechend der ersten Zeile im Schema C der Fig. 3 jeweils einzelne Datenbits 00 bis 75 zugeführt. Die erste Ziffer gibt dabei jeweils die Nummer des Datenbytes und die zweite Ziffer gibt die Nummer des Datenbits innerhalb desThe in F i g. 4 contains a coding device CE3 consisting of the encoder CD and the parity checker PP 1 I and the encoder CP. The parity checker PPX is a simple embodiment of the parity checker PP. The code bits CO to C7 are generated in switching stages 50 to S7 of the encoder CD by modulo-2 addition of the data bits 00 to 77 in accordance with scheme C in FIG. The switching stages 50 to 57 consist either of a cascade of non-equivalence elements or of correspondingly highly integrated parity checkers. The switching stage 50, for example, is supplied with individual data bits 00 to 75 in accordance with the first line in scheme C in FIG. 3. The first digit gives the number of the data byte and the second digit gives the number of the data bit within the

μ Datenbytes an. An ihrem Ausgang gibt sie das Codebit CO ab. Das aus den Codebits CO bis C7 bestehende Codezeichen K 10 wird einerseits dem Paritätsprüfer PPI zugeführt,der es mit den Paritätsbits PObis P7des Paritätszeichens PA 1 vergleicht und andererseits dem Codierer CP. Der Paritätsprüfer PPI erzeugt beim Auftreten eines Paritätsfehlers in den Codebits CO bis C7ein Fehlersignal F2. das dem Codierer CPzugeführt wird. D? bei dem in F i g. 3 dargestellten Schema C jedes Datenbit ungeradzahlig oft zur Erzeugung der Korrekturbits CO bis C7 herangezogen wird, kann ein Paritätsfehler bei den Korrekturbits CO bis C7 wegen der Gültigkeit der Gleichungμ data bytes. It emits the code bit CO at its output. The code character K 10, which consists of the code bits CO to C7, is fed to the parity checker PPI, which compares it with the parity bits PO to P7 of the parity character PA 1 and, on the other hand, to the coder CP. The parity checker PPI generates an error signal F2 when a parity error occurs in the code bits CO to C7. which is fed to the encoder CP. D? in the case of the one shown in FIG. 3, if each data bit is used an odd number of times to generate the correction bits CO to C7, a parity error can occur in the correction bits CO to C7 because of the validity of the equation

CO φ Cl φ Cl φ ... φ C7 φ PO φ Pl φ ... φ Π CO φ Cl φ Cl φ ... φ C7 φ PO φ Pl φ ... φ Π

auf einfache Weise ermittei? verden. Die Paritätsbits PO bis P7 sind dabei die Paritätsbits der Datenbytes 0 bis 7. Der Paritätsprüfer PPI besteht aus einer Schaltstufe 58, die diese Verknüpfung durch eine Modulo-2-Addition durchführt. Falls ein Einzelfehler auftritt, ist die Gleichung nicht erfüllt und das Fehlersignal F2 wird abgegeben, wobei es beispielsweise den Binärwert 1 annimmt. Dieses Fehlersignal F2 kann im Codierer CP über ein nicht dargestelltes ODER-Glied mit dem Fehlersignal F3, das den Binärwert 1 annimmt, falls anderweitig ein daienbezogener Fehler vorliegt, zu einem Summenfehlersignal verknüpft werden. Der Codierer CP enthält sieben ODER-Glieder DO bis D6 und 65 mit jeweils einem invertierenden Eingang versehene UND-Glieder UO bis U64. Jeweils einem Eingang der ODER-Gliedr DO bis D 6 wird das Fehlersignal FI zugeführt, während dem jeweils zweiten Eingang die Codebits CO bis C6 zugeführt werden. Den invertierenden Eingängen der UND-Glieder t/0 bis i/64 wird ebenfalls das Fehlersignal F2 zugeführt, während an den nichtinvertierenden Eingängen das Codebit C 7 und die Datenbits 00 bis 77 anliegen. Beim Auftreten des Fehlersignals F2 nehmen damit die Codebits CO bis C 6 an den Ausgängen der ODER-Glieder DO bis D 6 den Binärwert 1 an, während das Codebit C7 und die Datenbits 00 bis 77 den Binärwert 0 annehmen. Andernfalls stimmen die Codebits und die Datenbits mit den Codebits und Datenbits an den Eingängen der ODER-Glieder bzw. der UND-Glieder überein. Die Datenbits und die Codebits werden ais Datenzeichen DA 11 bzw. KU dem Arbeitsspeicher SPzugeführt und in diesem gespeichertin a simple way? verden. The parity bits PO to P7 are the parity bits of the data bytes 0 to 7. The parity checker PPI consists of a switching stage 58, which carries out this link by modulo-2 addition. If an individual error occurs, the equation is not fulfilled and the error signal F2 is output, whereby it assumes the binary value 1, for example. This error signal F2 can be linked in the encoder CP via an OR element (not shown) with the error signal F3, which assumes the binary value 1 if there is otherwise a file-related error, to form a cumulative error signal. The encoder CP includes seven OR gates DO through D6 and 65, each with an inverting input provided AND gates UO to U 64. In each case an input of the OR Gliedr DO to D 6 the error signal FI is supplied while the respective second input of the Code bits CO to C6 are supplied. Error signal F2 is also fed to the inverting inputs of AND gates t / 0 to i / 64, while code bit C 7 and data bits 00 to 77 are applied to the non-inverting inputs. When the error signal F2 occurs , the code bits CO to C 6 at the outputs of the OR gates DO to D 6 assume the binary value 1, while the code bit C7 and data bits 00 to 77 assume the binary value 0. Otherwise, the code bits and the data bits match the code bits and data bits at the inputs of the OR elements or the AND elements. The data bits and the code bits are fed to the main memory SP as data characters DA 11 or KU and stored in it

Die I ι g. 5 /cigt eine erfindungsgemäße Ausführungsform des Paritätspriifcrs PP. Dieser Paritätsprüfer PPI Dictci mehr Ansätze für eine Fehlerdiagnose. Der Paritätsprüfer Pl'2 enthalt acht Schaltstufen 59 bis S' 16. die ebenso wie die Schaltstufen 50 bis 5 7 jeweils eine Modulo-2-Addiiion der Signale an ihren Eingängen durchführen. In den Schaltstufen 59 bis 5 16 werden auf einem komplementären Weg unter Verwendung derjenigen Datenbits, die jeweils für die Erzeugung der Codebits CO bis Cl nicht verwendet werden und unter Verwendung der Paritätsbits PO bis Pl und der Codebits CO bis Cl Paritätsfehlersignalt F.SO bis FSl erzeugt. Diese Signale werden einerseits einem nicht näher ausgeführten Codierer CPuncl andererseits einem ODER-Glied Dl zugeführt, das an seinem AusgangThe I ι g. 5 / cigt an embodiment of the parity check PP according to the invention. This parity checker PPI Dictci more approaches for an error diagnosis. The parity checker P1'2 contains eight switching stages 59 to S'16 which, like the switching stages 50 to 57, each carry out a modulo-2 addition of the signals at their inputs. In the switching stages 59 to 5 16 are on a complementary path using those data bits that are not used for generating the code bits CO to Cl and using the parity bits PO to P1 and the code bits CO to Cl parity error signal F.SO to FSl generated. On the one hand, these signals are fed to an encoder CPuncl , which is not detailed, on the other hand, to an OR element Dl , which is at its output

ebenfalls ein Fehlersignal /'2 erzeugt.an error signal / '2 is also generated.

bei einem Paritätsfehler, der z. B. durch eine L.eitungsunterbrechung entstanden sein kann, erzeugt mindestens eine der Schallslufen 50 bis Sl ein f'iintätsfehlersignal. das beispielsweise in der Fehlercodiereinrichtung CP dazu benutzt werden kann, einen besonderen Code zu erzeugen, der angibt, welches Codebil CO bis Cl von dem Fehler betroffen ist.in the case of a parity error, the z. As may be caused by a L.eitungsunterbrechung, generates at least one of a Schallslufen 50 f'iintätsfehlersignal to Sl. which can be used, for example, in the error coding device CP to generate a special code which indicates which code group CO to Cl is affected by the error.

Daß die Datenzeichen DA I durch Paritätszeichen PA 1 entweder mit gerader oder mit ungerader Parität gesichert sein können, wird bei den Schaltstufen 59 bis S 16 über einen Steuercingang PUberücksichtigt.The fact that the data characters DA I can be secured by parity characters PA 1 with either even or odd parity is taken into account in the switching stages 59 to S 16 via a control input PU.

An diesem Steuereingang ist statisch ein Signal vom Binärwert I anzulegen, wenn ungerade Parität verwendet wird.A signal with the binary value I must be applied statically to this control input if odd parity is used will.

Hierzu 4 Blatt ZeichnungenFor this purpose 4 sheets of drawings

Claims (4)

Patentansprüche:Patent claims: 1. Schaltungsanordnung 3!ur Fehlersicherung von zwischen einem Datensender und einem Datenempfänger zu übertragenden byte-strukturierten Datenzeichen, denen pro Datenbyte jeweils ein Paritätszeichen zugeordnet ist, mit einem ersten Codierer, der aus den vom Datensender ankommenden Daten vermittels eines byteweis« zyklisch aufgebauten Codes ein Fehlerprüf- und Korrektur-Codebyte erzeugt, wobei die Anzahl der Bits im Codebyte mit der Anzahl der Datenzeichen-Bytes übereinstimmt und bei der Erzeugung jedes dieser Bits jeweils Bits aller Datenzeichen-Bytes weniger eines eingehen, sowie mit einem Paritätsprüfer, der das Fehlerprüf- und Korrektur-Codebyte bei auftretenden Paritätsfehlern modifiziert und am Ausgang ein entsprechendes Fehlersignal erzeugt, dadurch gekennzeichnet, daß dem Paritätsprüfer {PPI) neben den ersten Code-Bits CCO ... C7) des Fehlerprüf- und Korrektur-Codebyte und den Paritätszeichen (PO ... Pl) die Komplemente der Datenzeichen (DA 1) bezüglich der zur Erzeugung der Codebits (CO ... CT) verwendeten Bits «geführt werden, daß der Paritätsprüfer (PP2) mehrere, jeweils einem der Ct-debits (CO ... CT) zugeordnete Schaltstufen (S9 ... S16) enthält, die aus den komplementären Datenzeichen, den ersten Codebits (CO ... C7) und den Paritätszeichen (PO ..Pl)durch eine Modulo-2-Addition jeweils ein auf das jeweilige Codebit (CO ... Cl) bezogenes Paritätsfehlersignal (FSO... FS 7) erzeugen und daß die einzelnen Paritatsfeh'ersignale (FSO ... FSl) fiber ein ODER-Glied (D?) zu< Erzeugung eines Fehlersignals (F2) miteinander verknüpft sind.1. Circuit arrangement 3! For error protection of byte-structured data characters to be transmitted between a data transmitter and a data receiver, each of which is assigned a parity character for each data byte, with a first coder that converts the data arriving from the data transmitter by means of a byte-by-byte cyclically structured code Error checking and correction code bytes are generated, the number of bits in the code byte coinciding with the number of data character bytes and when each of these bits is generated, bits of all data character bytes less than one are received, as well as with a parity checker, the error checking and Correction code byte modified when parity errors occur and a corresponding error signal is generated at the output, characterized in that the parity checker {PPI) in addition to the first code bits CCO ... C7) of the error checking and correction code byte and the parity characters (PO .. . Pl) the complements of the data characters (DA 1) with respect to the generation of the Cod ebits (CO ... CT) used bits «so that the parity checker (PP2) contains several switching stages (S9 ... S16), each assigned to one of the Ct debits (CO ... CT) , which are derived from the complementary data symbols, the first code bits (CO ... C7) and the parity symbol (PO ..Pl) by a modulo-2 addition in each case one to the respective code bit (CO ... Cl) related parity error signal (FS FSO ... 7 ) and that the individual parity error signals (FSO ... FS1 ) are linked to one another via an OR element (D?) to generate an error signal (F2). 2.Schaltungsanordnung nach Anspruch !.dadurch gekennzeichnet, daß ein zweiter Codierer (CP) vorgesehen ist. dem die Datenzeichen (DA 1). die ersten Codezeichen (CO ... Cl) und das Fehlersignal (Fl) zugeführt werden und der am Ausgang beim Auftreten eines Fehlersignals (F2) vereinbarte, den betreffenden Fehler charakterisierende Codezeichen (K H) oder vereinbarte Codezeichen (K 11) und Datenzeichen (DA W) abgibt.2. Circuit arrangement according to claim!. Characterized in that a second encoder (CP) is provided. which the data characters (DA 1). the first code characters (CO ... Cl) and the error signal (Fl) are supplied and the code characters (KH) or agreed code characters ( K 11) and data characters (DA ) agreed upon at the output when an error signal (F2) occurs and characterizing the error in question W) delivers. 3. Schaltungsanordnung nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß das Fehlersignal (F2) einer Fehlerauswerteeinrichtung zugeführt wird, die ein die Weitergabe der Datenzeichen (DA 1) an den Datenempfänger (SP) verhinderndes Signal erzeugt und daß das Fehlersignal (F2) dem ßatensender zum Auslösen einer Fehlermeldung zugeführt wird.3. Circuit arrangement according to one of the preceding claims, characterized in that the error signal (F2) is fed to an error evaluation device which generates a signal preventing the transmission of the data characters (DA 1) to the data receiver (SP) and that the error signal (F2) dem ßatensender is fed to trigger an error message. 4. Schaltungsanordnung nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß als Dqtensender ein Zentralprozessor und als Datenempfänger ein Arbeitsspeicher (SP) einer Datenverarbeitungsanlage vorgesehen sind.4. Circuit arrangement according to one of the preceding claims, characterized in that a central processor is provided as the data transmitter and a main memory (SP) of a data processing system is provided as the data receiver.
DE19752532915 1975-07-23 1975-07-23 Circuit arrangement for error protection of byte-structured data characters to be transmitted between a data transmitter and a data receiver Expired DE2532915C2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19752532915 DE2532915C2 (en) 1975-07-23 1975-07-23 Circuit arrangement for error protection of byte-structured data characters to be transmitted between a data transmitter and a data receiver

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19752532915 DE2532915C2 (en) 1975-07-23 1975-07-23 Circuit arrangement for error protection of byte-structured data characters to be transmitted between a data transmitter and a data receiver

Publications (2)

Publication Number Publication Date
DE2532915A1 DE2532915A1 (en) 1977-02-10
DE2532915C2 true DE2532915C2 (en) 1983-01-05

Family

ID=5952252

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19752532915 Expired DE2532915C2 (en) 1975-07-23 1975-07-23 Circuit arrangement for error protection of byte-structured data characters to be transmitted between a data transmitter and a data receiver

Country Status (1)

Country Link
DE (1) DE2532915C2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10302287A1 (en) * 2003-01-22 2004-08-12 Micronas Gmbh Storage device for a multibus architecture

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3836957A (en) * 1973-06-26 1974-09-17 Ibm Data storage system with deferred error detection

Also Published As

Publication number Publication date
DE2532915A1 (en) 1977-02-10

Similar Documents

Publication Publication Date Title
DE2421112C2 (en) Storage arrangement
DE2942998C2 (en) Error correction and detection arrangement
DE2430464A1 (en) DEVICE FOR ERROR-PROOF DATA TRANSMISSION
DE69333913T2 (en) A method for identifying secret data messages in a unidirectional multipoint network using cyclic redundancy checks
DE2357116A1 (en) MEMORY MODULE FOR A DATA PROCESSING UNIT
DE2132565A1 (en) Converter
DE2914515A1 (en) METHOD AND DEVICE FOR AN EFFECTIVE ERROR DETECTION AND CORRECTION SYSTEM
DE2263488C2 (en) Device for the detection and correction of errors in two faulty tracks of a multi-track data system
EP0915435A2 (en) Method for securely storing variable data
DE3407389A1 (en) CONTROL DEVICE FOR RELEASING CONTROL PROCESSES
EP0219917B1 (en) Switching device with fault correction
DE2157829C2 (en) Arrangement for recognizing and correcting errors in binary data patterns
DE69317766T2 (en) Error correction device for digital data for correcting single errors (sec), double errors (ded) and multiple single-byte errors (sbd) and for correcting single-byte errors of an odd number (odd sbc)
DE3786853T2 (en) Device for the detection and classification of control word errors.
EP0145805B1 (en) Correction method for symbol errors in video/teletext signals
DE2655653C2 (en) Arrangement for determining the correct assignment of address and memory word in a word-organized data memory
DE2532915C2 (en) Circuit arrangement for error protection of byte-structured data characters to be transmitted between a data transmitter and a data receiver
DE2908373C2 (en)
DE1259124B (en) Arrangement for error correction and display
DE3500115A1 (en) METHOD FOR CODING A DATA BIT PATTERN, ARRANGEMENT FOR CARRYING OUT THE METHOD AND ARRANGEMENT FOR DECODING THE CHANNEL BIT FLOW OBTAINED BY THE METHOD
DE3780845T2 (en) METHOD AND DEVICE FOR TRANSMITTING SERIES TO A CHANNEL OF REDUNDANT, CODED, BINARY DATA.
DE3852569T2 (en) Method and device for decoding block coded data, impaired by replacement, insertions and loss of symbols.
DE1774225A1 (en) Error correction circuit
DE1937259B2 (en) SELF-CHECKING FAULT DETECTION CIRCUIT
EP0439649A1 (en) Device for generating error patterns with soft decision decoding of block codes

Legal Events

Date Code Title Description
OD Request for examination
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee