DE2532915A1 - Data transmission error protection system - enables transmitter to produce data signals protected by parity signals - Google Patents
Data transmission error protection system - enables transmitter to produce data signals protected by parity signalsInfo
- Publication number
- DE2532915A1 DE2532915A1 DE19752532915 DE2532915A DE2532915A1 DE 2532915 A1 DE2532915 A1 DE 2532915A1 DE 19752532915 DE19752532915 DE 19752532915 DE 2532915 A DE2532915 A DE 2532915A DE 2532915 A1 DE2532915 A1 DE 2532915A1
- Authority
- DE
- Germany
- Prior art keywords
- data
- characters
- parity
- code
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
- G06F11/102—Error 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)
Abstract
Description
Schaltungsanordnung zur Fehlersicherung bei einer Ubertragung von Daten.Circuit arrangement for error protection when transmitting Data.
Die Erfindung bezieht sich auf eine Schaltungsanordnung zur Fehlersicherung bei einer Ubertragung von Daten, bei der durch Paritätszeichen gesicherte Datenzeichen von einem Datensender abgegeben werden, bei der mittels einer Codiereinrichtung aus den Datenzeichen Code zeichen erzeugt werden und bei der die Daten zeichen durch diese Codezeichen gesichert zu einem Datenempfänger abgegeben werden.The invention relates to a circuit arrangement for error protection in the case of a transmission of data in which data characters secured by parity characters are issued by a data transmitter, in the case of which by means of a coding device code characters are generated from the data characters and in which the data characters are through these code characters are securely transferred to a data receiver.
Um eine möglichst große Verfügbarkeit von Arbeitsspeichern in Datenverarbeitungsanlagen zu erzielen, ist es mit der Einführung von Haibleiterspeichern iblich geworden, die in den Arbeitsspeichern gespeicherten Datenzeichen mittels Codezeichen abzusichern, die das Korrigieren von Einzelfehlern ermöglichen. Datenzeichen werden von dem als Datensender zu betrachtenden Zentralprozessor der Datenverarbeitungsanlage durch Paritätszeichen gesichert abgegeben. Anschließend werden mittels der Datenzeichen Codezeichen erzeugt und diese werden zusammen mit den Datenzeichen an den als Datenempfänger zu betrachtenden Arbeitsspeicher abgegeben.To ensure the greatest possible availability of main memory in data processing systems to achieve, it has become possible with the introduction of semiconductor memories to secure the data characters stored in the main memory by means of code characters, which enable individual errors to be corrected. Data characters are saved as Data transmitter to be viewed through the central processor of the data processing system Parity characters delivered securely. Then the data characters Code characters are generated and these are sent together with the data characters to the as data recipient memory to be viewed.
Aus der DT-OS 23 44 019 ist beispielsweise eine Schaltungsanordnung bekannt, die durch Paritätszeichen gesicherte Daten in durch Codezeichen gesicherte Daten umsetzt. Auf dem Weg vom Zentralprozessor der Datenverarbeitungsanlage zum eigentlichen Speichermedium des Arbeitsspeichers werden diese Daten zeichen abgegriffen und einer Codiereinrichtung zugeführt, die die Codezeichen erzeugt und diese werden zusammen mit den Datenzeichen in dem Arbeitsspeicher gespeichert. An der Abgriffstelle wird die Parität der Daten letztmalig überprüft. Beim Lesen der gespeicherten Datenzeichen aus dem Arbeitsspeicher können mit Hilfe der Codezeichen jeweils einzelne fehlerhafte Datenzeichen korrigiert werden.From DT-OS 23 44 019, for example, there is a circuit arrangement known, the data secured by parity characters in secured by code characters Converts data. On the way from the central processor of the data processing system to the These data characters are tapped from the actual storage medium of the main memory and supplied to a coding device which generates the code characters and these are stored together with the data characters in the working memory. At the tapping point the parity of the data is checked for the last time. When reading the stored data characters With the help of the code characters, individual faulty Data characters are corrected.
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 dem Arbeitsspeicher gelesenen Daten, dazu zwingen, in die 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 tapping point and the coding device, incorrect to the coding device this error is not recognized by the parity check. In this Case, the line interruption could lead to the generation of code characters that a correction circuit lying on the further data path, for example a Correction circuit for the data read from the main memory, force to to correct a real error in the data characters that was wrongly would be registered as a corrected single error.
Der Erfindung liegt daher die Aufgabe zugrunde, eine Schaltungsanordnung anzugeben, mit deren Hilfe es ermöglicht wird, Fehler zu erkennen, die durch fehlerhaftes Zuführen der Datenzeichen zur Codiereinrichtung oder durch Fehler in der Codiereinrichtung entstehen. Erfindungsgemäß wird die Aufgabe bei der Schaltungsanordnung der eingangs genannten Art dadurch gelöst, daß die Codiereinrichtung einen Codierer, dem die Datenzeichen zugeführt werden und der die Code zeichen unter Berücksichtigung der Parität der Datenzeichen erzeugt und weiter einen Paritätsprüfer enthält, dem die Codezeichen und die Paritätszeichen der Daten zeichen zugeführt werden, der die Parität der Codezeichen mit der Parität der Paritätszeichen vergleicht und der an seinem Ausgang im Fehlerfall mindestens ein Fehlersignal abgibt.The invention is therefore based on the object of a circuit arrangement with the help of which it is possible to identify errors caused by incorrect Feeding of the data characters to the coding device or due to errors in the coding device develop. According to the invention, the problem with the circuit arrangement is the initially mentioned type solved in that the coding device has a coder to which the Data characters are supplied and the code characters taking into account the Generates parity of the data characters and further contains a parity checker to which the Code characters and the parity characters of the data characters are supplied to the Compares the parity of the code characters with the parity of the parity characters and the its output emits at least one error signal in the event of an error.
Die Schaltungsanordnung gemäß der Erfindung hat den Vorteil, daß die Fehlersicherheit bei der Ubertragung der Daten durch einen geringen Mehraufwand wesentlich erhöht wird. Außerdem kann auf die übliche Paritätsprüfung am Eingang der Codiereinrichtung, an den die Datenzeichen paritätsgesichert abgegeben werden, verzichtet werden.The circuit arrangement according to the invention has the advantage that the Failure safety in the transmission of the data due to a small additional effort is increased significantly. You can also use the usual parity check at the input the coding device to which the data characters are sent with parity protection, be waived.
Eine besonders einfache Ausgestaltung des Paritätsprüfers wird erreicht, wenn die Codiereinrichtung jedes Datenbit ungeradzahlig oft bei der Codezeichenerzeugung verknüpft und wenn als Paritätsprüfen eine Schaltstufe vorgesehen ist, die durch eine Modulo-2-Addition aus den Code zeichen und der invertierten Paritätsbits der Paritätszeichen das Fehlersignal erzeugt.A particularly simple design of the parity checker is achieved, when the encoder has an odd number of times each data bit when generating the code characters linked and if a switching stage is provided as a parity check, which is carried out by a modulo-2 addition of the code characters and the inverted parity bits of the Parity character generates the error signal.
Die Schaltungsanordnung bietet weitergehende Möglichkeiten zur Fehlerdiagnose, wenn der Paritätsprüfer aus weiteren Schaltstufen besteht, denen außer den Paritätszeichen und Codezeichen diejenigen Datenbits der Datenzeichen zugeführt werden, die bei der Erzeugung der entsprechenden Codebits nicht verwendet wurden und die jeweils Paritätsfehlersignale durch eine Modulo-2-Addition der entsprechenden Datenbits, der jeweiligen Codebits und der Paritätsbits, jeweils auf das Codebit bezogen, erzeugt und wenn er ein ODER-Glied enthält, dem die Paritätsfehlersignale zugeführt werden und das das Fehlersignal abgibt.The circuit arrangement offers further possibilities for error diagnosis, if the parity checker consists of additional switching stages, apart from the parity characters and code characters those data bits of the data characters are supplied which are the generation of the corresponding code bits were not used and the respective Parity error signals through modulo-2 addition of the corresponding data bits, of the respective code bits and the parity bits, each related to the code bit and if it contains an OR gate to which the parity error signals are applied and that emits the error signal.
Um beim Auftreten des Fehlersignals eine Verarbeitung der fehlerhaften Daten als Daten zu verhindern, werden die Datenzeichen und Codezeichen auf einfache Weise markiert, wenn dem Datenempfänger ein weiterer Codierer vorgeschaltet ist, dem die Datenzeichen, die Codezeichen und das Fehlersignal zugeführt werden, an dessen Ausgang die Datenzeichen und Codezeichen an den Datenempfänger abgegeben werden und der beim Auftreten eines Fehlersignals vereinbarte, den betreffenden Fehler charakterisierende Codezeichen oder vereinbarte Codezeichen mit Datenzeichen abgibt.In order to be able to process the faulty To prevent data as data, the data characters and code characters are simple Way marked if another encoder is connected upstream of the data receiver, to which the data characters, the code characters and the error signal are supplied the output of which sends the data characters and code characters to the data receiver and the one agreed upon when an error signal occurs, the relevant one Code characters characterizing errors or agreed code characters with data characters gives away.
Diese Markierung kann dabei so gewählt werden, daß in ihr nicht nur die Fehlerhaftigkeit der Daten, sondern auch die Art bzw. der Ort des erkannten Fehlers festgehalten wird. Vorteilhafterweise bietet dieser Codierer auch darüberhinaus die Möglichkeit, Fehler, die die betrachteten Daten betreffen, aber an anderer Stelle als in der Schaltungsanordnung erkannt wurden, durch entsprechende Markierung erkennbar zu machen.This marking can be chosen so that in it not only the inaccuracy of the data, but also the type or location of what is detected Error is recorded. Advantageously, this coder also offers more the possibility of errors that affect the data viewed, but elsewhere than were recognized in the circuit arrangement, recognizable by appropriate marking close.
Eine weitere Möglichkeit zum Verhindern der Verarbeitung fehlerhafter Datenzeichen im Datenempfänger wird dadurch erreicht, daß das Fehlersignal einer Fehlerauswerteeinrichtung zugeführt wird, die ein die Weitergabe der Datenzeichen an den Datenempfänger verhinderndes Signal erzeugt und daß das Fehlersignal dem Datensender zum Auslösen einer Fehlermeldung zugeführt wird.Another way to prevent incorrect processing Data characters in the data receiver is achieved in that the error signal is a Error evaluation device is supplied, which is a forwarding of the data characters generated to the data receiver preventing signal and that the error signal dem Data transmitter is fed to trigger an error message.
Die Schaltungsanordnung wird insbesondere dann in vorteilhafter Weise eingesetzt, wenn als Datensender ein Zentralprozessor und als Datenempfänger ein Arbeitsspeicher einer Datenverarbeitungsanlage vorgesehen sind.The circuit arrangement is then particularly advantageous used when a central processor and as a data recipient a working memory of a data processing system are provided.
Im folgenden wird ein Ausführungsbeispiel der Schaltungsanordnung anhand von Zeichnungen erläutert.The following is an embodiment of the circuit arrangement explained with reference to drawings.
Es zeigen: Zig. 1 ein Blockschaltbild einer bekannten Schaltungsanordnung zur Fehlererkennung und Fehlerortbestimmung, Fig. 2 ein Blockschaltbild einer Schaltunganordnung zur Fehlersicherung, Fig. 3 ein Schema zur Erzeugung von Codezeichen, Fig. 4 ein Schaltbild einer einfachen Anordnung zur Fehlersicherung, Fig. 5 ein Schaltbild eines Codebit bezogenen Paritätsprüfers.It shows: Zig. 1 is a block diagram of a known circuit arrangement for fault detection and fault location determination, FIG. 2 is a block diagram of a circuit arrangement for error protection, FIG. 3 shows a scheme for generating code characters, FIG. 4 a Circuit diagram of a simple arrangement for error protection, FIG. 5 is a circuit diagram of a code bit related parity checker.
Bei der in Fig. 1 dargestellten bekannten Schaltungsanordnung zur Fehlererkennung und Fehlerortsbestimmung innerhalb von Datenzeichen werden beispielsweise von einem Zentralprozessor einer Datenverarbeitungsanlage abgegebene n=64 Datenzeichen DA1 gleichzeitig einem Arbeitsspeicher SP der Datenverarbeitungsanlage, einem Paritätsprüfer PC und einer Codiereinrichtung CE1 zugeführt. Dem Paritätsprüfer PC werden außerdem m=8 Paritätszeichen PAl zugeführt.In the known circuit arrangement shown in Fig. 1 for Error detection and error location determination within data characters are for example n = 64 data characters issued by a central processor of a data processing system DA1 at the same time a working memory SP of the data processing system, a parity checker PC and an encoder CE1 supplied. The parity checker PC will also be m = 8 parity characters PAl supplied.
Der Paritätsprüfer PC prüft letztmalig vor dem Einspeichern der Datenzeichen in den Arbeitsspeicher deren Parität. Falls ein Paritätsfehler erkannt wird, gibt der Paritätsprüfer ein Fehlersignal F1 ab, das beispielsweise als Fehlermeldung dem Zentralprozessor zugeführt wird.The parity checker PC checks the last time before storing the data characters their parity in the main memory. If a parity error is detected, there are the parity checker outputs an error signal F1, for example as an error message is fed to the central processor.
Die Codiereinrichtung CE1 bildet aus den 64 Datenzeichen DA1 acht Codezeichen Kl und führt diese gleichzeitig mit den Datenzeichen DA1 dem Arbeitsspeicher SP zu. Der Arbeitsspeicher SP speichert die 64 Datenzeichen DA1 und die acht Code zeichen K1 und ist zu diesem Zweck für eine Wortbreite von 72 Bit ausgelegt.The coding device CE1 forms eight of the 64 data characters DA1 Code character Kl and carries this simultaneously with the data character DA1 in the working memory SP too. The main memory SP stores the 64 data characters DA1 and the eight codes character K1 and is designed for this purpose for a word length of 72 bits.
Beim Lesen des Inhalts des Arbeitsspeichers werden die gelesenen Datenzeichen DA2 einerseits einer mit einem Paritätsgenerator versehenen Codiereinrichtung CE2 zugeführt, die weitere Codezeichen K3 und acht Paritätszeichen PA2 erzeugt und andererseits einer Korrektureinrichtung KE zum Korrigieren von Einzelfehlern zugeführt.When reading the contents of the main memory, the read data characters DA2, on the one hand, a coding device CE2 provided with a parity generator supplied, which generates further code characters K3 and eight parity characters PA2 and on the other hand fed to a correction device KE for correcting individual errors.
Die aus dem Arbeitsspeicher SP gleichzeitig mit dem Datenzeichen DA2 gelesenen Codezeichen K2 werden einem Vergleicher VG zugeführt, der diese Codezeichen S2 mit den Codezeichen K3 vergleicht und an die Korrektureinrichtung KE acht Syndrombits SY abgibt, die beim Auftreten eines Einzelfehlers den Fehlerort angeben und mit denen die Einzelfehler korrigiert werden.The data from the main memory SP at the same time as the data character DA2 read code characters K2 are fed to a comparator VG, which these code characters S2 compares with the code characters K3 and sends eight syndrome bits to the correction device KE SY, which specify the location of the error when a single error occurs and with which the individual errors are corrected.
Am Ausgang der Korrektureinrichtung KE werden Datenzeichen DA3, die gegebenenfalls korrigiert wurden, und zugehörige Paritätszeichen PA3 zur weiteren Verarbeitung an den Zentralprozessor abgegeben.At the output of the correction device KE are data characters DA3, the have been corrected if necessary, and the associated parity characters PA3 for further information Processing given to the central processor.
Bei der in Fig. 2 dargestellten Anordnung sind dem Arbeitsspeicher SP ein Codierer CP für die Codierung eines Paritätsfehlers oder eines anderen, die einzuschreibenden Daten betreffenden Fehlers, sowie eine mit diesem verbundene Codiereinrichtung CE3 vorgeschaltet. slit Hilfe dieser Anordnung ist es möglich auch solche Einzelfehler zu erkennen, die dann entstehen, wenn die Datenzeichen DA1 der Codiereinrichtung CE1 in Fig. 1 fehlerhaft zugeführt werden oder die Codiereinrichtung einen Fehler enthalt. Bei dieser Anordnung wird bei dem Ubergang von der Sicherung durch Paritätszeichen in die Sicherung mit Codezeichen an der Ubergangsstelle die Paritätssicherung beibehalten und bei der Erzeugung der Code zeichen miteinbezogen. Die Codezeichen werden somit paritätsgesichert erzeugt. Weiterhin werden vor dem Einspeichern der Daten in den Arbeitsspeicher SP die Codezeichen auf richtige Parität überprüft.In the arrangement shown in FIG. 2, the main memory SP an encoder CP for encoding a parity error or another that errors relating to the data to be written in, as well as a coding device connected to this CE3 connected upstream. With the help of this arrangement, it is also possible for such individual errors to recognize that arise when the data characters DA1 of the coding device CE1 in Fig. 1 are supplied incorrectly or the encoder has an error contains. With this arrangement, the transition from the backup by parity characters Retain the parity protection in the protection with code characters at the transition point and included in the creation of the code characters. The code characters are thus generated parity-secured. Furthermore, before the data is saved in the RAM SP checks the code characters for correct parity.
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 FA eine Schreiboperation in den Arbeitsspeicher SP verhindert werden und eine Fehlermeldung abgegeben werden. Andererseits kann eine Schreiboperation ausgeführt werden, aber mit einer Codierung der Datenzeichen und Codezeichen, die beim Lesen des Eintrags die Fehlersituation vor der Schreiboperation erkennen läßt.If this results in a parity error, at the output of the coding device CE3 emitted an error signal F2. With this error signal, on the one hand, with the help an error evaluation device FA a write operation in the main memory SP can be prevented and an error message can be issued. On the other hand, can a write operation can be performed, but with an encoding of the data characters and code characters that indicate the error situation prior to the write operation when the entry is read reveals.
Die Erzeugung einer derartigen Codierung wird im folgenden anhand von allgemeinen Überlegungen zur Auswahl eines fehlerkorrigierenden Codes dargestellt.The generation of such a coding is based on the following of general considerations for selecting an error-correcting code.
Aus Aufwands gründen verlangt man von einem fehlerkorrigierenden Code nicht mehr, als daß Einzelfehler korrigiert und Doppelfehler mit Sicherheit erkannt werden. Ferner soll die Redundanz nicht größer als bei byteweiser Paritätssicherung 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 stelligen codierten Dualzahl zusammengefaßt, so muß der Abstand D zwischen zwei Zahlen des Ccdes, wenn Einzelfehler korrigiert werden sollen, D=3 sein. Dies bedeutet aber, daß alle num in der Umgebung einer n+m stelligen Dualzahl des Codes im Abstand D=1 befindlichen Zahlen, die nicht dem Code angehören, der betrachteten, codierten Dualzahl zugeordnet werden müssen, sonst würde sich ein Einzelfehler nicht korrigieren lassen. Von den 2n m möglichen Kombinationen einer n+m stelligen Dualzahl sind aber nur noch 2n+m/(n+m+1) = 2n.2m/(n+m+1) frei wählbar. Wünscht man sich 2 wählbar, von denen man ursprünglich ausgegangen ist, so muß der Faktor 2n/(n+m+1) = 1 sein, was zur Bestimmung von m bei vorgegebener Stellenzahl n benutzt werden kann.For reasons of effort, an error-correcting code is required no more than correcting single errors and recognizing double errors with certainty will. Furthermore, the redundancy should not be greater than with byte-by-byte parity protection be. This also creates a precondition, older, byte-wise to be able to continue using organized memory. If an n-digit binary number, with as yet unknown m-correction codes to an n + m-digit coded binary number summarized, the distance D between two numbers of the Ccdes must be, if there is a single error should be corrected, D = 3. But this means that all num in the area an n + m-digit binary number of the code at a distance of D = 1, numbers that are not belong to the code that must be assigned to the coded binary number under consideration, otherwise it would not be possible to correct a single error. Of the 2n m possible Combinations of an n + m digit binary number are only 2n + m / (n + m + 1) = 2n.2m / (n + m + 1) freely selectable. If you want 2 selectable, from which you originally assumed is, the factor must be 2n / (n + m + 1) = 1, which is used to determine m at given Number of digits n can be used.
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 von Wert m = 6 Mit in = 6 lassen sich bereits n=57 Datenbits, gegenüber Einzelfehlern korrigierend sichern. Da 7 keine Zweierpotenz ist, geht man, um die Spn cherorganisatlon zu vereinfacnen, zu Worten von 8 Bytes über Als Folge dieser Wahl stehen dann m=8 Codebits zur Verfügung, die nicht nur jeder codierten ahl eine Uingebung im Abstand D=1 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.(num)-1=143 ansteigt, die immer noch unter dem möglichen Wert von 255 liegt.Should with the same redundancy m / n = 1/8 as with byte-wise parity protection are worked, then after substitution of n = 8.m in the inequality results as a solution to the value m = 6 With in = 6, n = 57 data bits can already be found, compared to Secure individual errors by correcting them. Since 7 is not a power of two, you go to the Memory organization to simplify, to words of 8 bytes over As a result of this Choice are then m = 8 code bits available, which not only each coded ahl one Assignment allowed at a distance of D = 1, that is n + m = 72 numbers, but 28-1 = 255. This redundancy is already partially used to avoid double errors as to show such in error messages. To make double faults recognizable as such, every number in the distance D = 1 of a code number must have another, neither of the class of Code numbers are still assigned to the number belonging to their surroundings at a distance of D = 1, whereby the total environment of a code number then increases to 2. (num) -1 = 143, which is always 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 dann gezielt besetzt werden, wenn eine mit Paritätsfehlern behaftete oder von anderen Fehlern betroffene, n stellige Datenbitkombination verschlüsselt werden soll. Zu diesem Zweck wird in der Schaltungsanordnung die Parität konsequent miteinbezogen und bei Erkennung eines Paritätsfehlers innerhalb der Codiereinrichtung CE3 mit dem Codierer CP ein Code erzeugt, der den beobachteten Fehler charakterisiert. Dieser Code kann auch durch ein weiteres Fehlersignal F3 erzeugt werden, das beim Erkennen eines anderen datenbezogenen Fehlers abgegeben wird und dem Codierer CP zugeführt wird.After these findings, the consideration is now beginning, further, to annex previously unused numbers in the vicinity of a code number, which are then specifically occupied when the code is generated, if one with parity errors n-digit data bit combination encoded or affected by other errors shall be. For this purpose, the parity is consistent in the circuit arrangement included and upon detection of a parity error within the coding device CE3 generates a code with the encoder CP which characterizes the observed error. This code can also be generated by a further error signal F3 that is generated during Detection of another data-related error is issued and the encoder CP is fed.
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 erkennens ob kein Fehler, ein Einzelfehler, ein DoppelEeh-1er 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 DA2 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 running through a correction device at a later time, the error in question can be detected and reported. The correction facility then no longer only has the task of recognizing whether there is an error, as was previously the case Single error, a double Eeh-1 is present, but also whether there is a parity error or there is another data-related error. If there is a parity error, can either use the data characters DA2 read from the main memory SP in the event of an error are given the wrong parity in the right place, then you save yourself the incoming parity check, or the data characters are transmitted because they are incorrect and therefore worthless, not at all to the central processor, but instead sends an error message. Both options can also be combined.
Die Daten zeichen DA1 werden bei der Schaltungsanordnung dem Codierer CP und der Codiereinrichtung CE3 zugeführt. Die Codiereinrichtung CE3 besteht aus einem Codierer CD und einem Paritätsprüfer PP, denen die Datenzeichen DA1 zugeführt werden. Am Ausgang des Codierers CD werden Codezeichen K10 abgegeben, bei deren Erzeugung die Parität der Datenzeichen DA1 berücksichtigt wurde. Diese Codezeichen K10 werden dem Paritätsprüfer PP und dem Codierer CP zugeführt. Dem Paritätsprüfer PP werden außerdem die Paritätszeichen PAl zugeführt. Falls der Paritätsprüfer PP einen Paritätsfehler ermittelt, wird das Fehlersignal F2 erzeugt, das die Fehlermeldung veranlaßt und/oder die am Ausgang des Codierers CP abgegebenen Datenzeichen DAll und Codezeichen Kil, 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 P3 der Codierer CP veranlaßt, die an seinem Ausgang abgegebenen Codezeichen Kil und gegebenenfalls auch die Datenzeichen DA1 so zu verändern, daß dieser Fehler am Empfangsort erkannt wird.The data characters DA1 are the encoder in the circuit arrangement CP and the encoder CE3 supplied. The encoder CE3 consists of a coder CD and a parity checker PP, which are supplied with the data characters DA1 will. At the output of the coder CD code characters K10 are output Generation the parity of the data characters DA1 was taken into account. These code characters K10 are fed to the parity checker PP and the encoder CP. The parity checker The parity characters PA1 are also supplied to PP. If the parity checker PP detects a parity error, the error signal F2 is generated, which the error message caused and / or the output of the encoder CP Data characters DAll and code characters Kil, which are sent to the main memory SP, changed in such a way that that the parity error is recognized at the receiving location. If another recognized, data-related error is present, the error signal P3 of the encoder CP causes the code characters Kil and possibly also to change the data characters DA1 in such a way that this error is recognized at the receiving location will.
Die Fig. 3 zeigt drei Schemata zum Erzeugen von Codebits C~ bis C7 aus den Datenzeichen DA1. Die Datenzeichen sind in acht Datenbytes ~ bis 7 mit je acht Datenbits ~ bis 7 eingeteilt. Die senkrechten Striche im jeweiligen Schema zeigen an, welche Datenbits jeweils für die Erzeugung der Codebits C~ bis C7 verwendet werden.3 shows three schemes for generating code bits C ~ to C7 from the data characters DA1. The data characters are in eight data bytes ~ to 7 with each divided into eight data bits ~ to 7. The vertical lines in the respective scheme indicate which data bits are used in each case for generating the code bits C ~ to C7 will.
Die Codebits werden dabei durch eine Modulo-2-Addition der jeweiligen Datenbits erzeugt.The code bits are thereby determined by modulo-2 addition of the respective Data bits generated.
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 den Regeln der Kombinatorik damit jedoch nur (3) = 56 verschiedene Kombinationen bilden lassen, müssen die letzten acht Datenbits mehr als drei Codebits, z.B. 4 wie in Fig.Scheme A shows the generation of the correction bits at a distance D = 4. This distance is necessary to correct single and double errors to be able to recognize. The distance D = 4 is obtained by adding three digits of the eight-digit Codes each assigned a 1. Since, however, according to the rules of combinatorics only (3) = 56 different combinations have to be made, the last eight data bits must more than three code bits, e.g. 4 as 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.3, row A, byte 7 shown. Because of practical reasons, which concern the realization, it is annoying that the first 56 combinations from an odd number and the last eight combinations from an even number Number of data bits exist.
Man geht daher auch bei den letzten acht Datenbits zu einer ungeraden Anzahl von belegten Codebits über. Ein derartiger Code ist im Schema B dargestellt.You therefore go to an odd number for the last eight data bits as well Number of occupied code bits over. Such a code is shown in Scheme B.
Aber auch die Codierung nach Schema B in Fig. 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 der Schaltungsanordnung zur Fehlersicherung erläutert.But the coding according to scheme B in Fig. 3 is for the technical In terms of execution, there is still room for improvement, because by simply rearranging the code can be converted from scheme B into a byte-by-byte cyclic code, like the happened in scheme C. With the code assignment of scheme C, the following two exemplary embodiments of the circuit arrangement for error protection explained.
Die in Fig. 4 dargestellte Schaltungsanordnung enthält die aus dem Codierer CD und dem Paritätsprüfer PP1 bestehende Codiereinrichtung CE3 und den Codierer CP. Der Paritätsprüfer PP1 ist eine erste Ausführungsform des Paritätsprüfers PP. Die Codebits C~ bis C7 werden in Schaltstufen S~ bis S7 des Codierers CD durch eine Modulo-2-Addition der Datenbits ~~ bis 77 entsprechend dem Schema C in Fig. 3 erzeugt. Die Schaltstufen S~ bis 87 bestehen entweder aus Kaskaden von Antivalenzgliedern oder aus entsprechend hoch integrierten Paritätsprüfern. Der Schaltstufe S~ beispielsweise werden entsprechend der ersten Zeile im Schema C der Fig. 3 jeweils einzelne Datenbits ~~ bis 75 zugeführt. Die erste Ziffer gibt dabei jeweils die Nummer des Datenbytes und die zweite Ziffer gibt die Nummer des Datenbits innerhalb des Datenbytes an. An ihrem Ausgang gibt sie das Codebit C~ ab. Die aus den Codebits C~ bis C7 bestehenden Codezeichen K10 werden einerseits den Paritätsprüfer PP1 zugeführt, der sie mit den Paritätsbits P~ bis P7 der Paritätszeichen PAl vergleicht und andererseits dem Codierer CP zugeführt. Der Paritätsprüfer PP1 erzeugt beim Auftreten eines Paritätsfehlers in den Codebits C~ bis C7 ein Fehlersignal F2, das dem Codierer CP zugeführt wird. Da bei dem in Fig. 3, dargestellten Schema C jedes Datenbit ungeradzahlig oft zur Erzeugung der Korrekturbits C~ bis C7 herangezogen wird, kann ein Paritätsfehler bei den Korrekturbits C~ bis C7 wegen der Gültigkeit der Gleichung C~iC1tC2$...$C7*P~$P1* P7 auf einfache Weise ermittelt werden.The circuit arrangement shown in Fig. 4 contains that from the Encoder CD and the parity checker PP1 existing encoder CE3 and the Encoder CP. The parity checker PP1 is a first embodiment of the parity checker PP. The code bits C ~ to C7 are in switching stages S ~ to S7 of the encoder CD a modulo-2 addition of the data bits ~~ to 77 according to scheme C in Fig. 3 generated. The switching stages S ~ to 87 either consist of cascades of non-equivalence elements or from correspondingly highly integrated parity checkers. The switching stage S ~ for example are each individual data bits corresponding to the first line in scheme C of FIG ~~ fed to 75. The first digit indicates the number of the data byte and the second digit indicates the number of the data bit within the data byte. It emits the code bit C ~ at its output. Those consisting of the code bits C ~ to C7 Code characters K10 are fed to the parity checker PP1 on the one hand, which they with compares the parity bits P ~ to P7 of the parity characters PA1 and on the other hand the Encoder CP supplied. The parity checker PP1 generates when a parity error occurs in the code bits C ~ to C7 an error signal F2, which is fed to the encoder CP. Since in the scheme C shown in Fig. 3, each data bit is odd-numbered for Generating the correction bits C ~ to C7 is used, a parity error with the correction bits C ~ to C7 because of the validity of the equation C ~ iC1tC2 $ ... $ C7 * P ~ $ P1 * P7 can be determined in a simple manner.
Die Paritätsbits P~ bis P7 sind dabei die Paritätsbits der Datenbytes 0 bis 7. Der Paritätsprüfer PPI besteht aus einer Schaltstufe S8, 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, woei 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 datenbezogener Fehler vorliegt, zu einem Summenfehlersignal verknüpft werden. Der Codierer CP enthält sieben ODER-Glieder D~ bis D6 und 65 mit jeweils einem invertierenden Eingang versehene UND-Glieder U~ bis U64. Jeweils einem Eingang der ODER-Glieder D~ bis D6 wird das Fehlersignal F2 zugeführt, während dem jeweils zweiten Eingang die Codebits C~ bis C6 zugeführt werden. Den invertierenden Eingängen der UND-Glieder U~ bis U64 wird ebenfalls das Fehlersignal F2 zugeführt, während an den nichtinvertierenden Eingängen das Codebit C7 und die Datenbits ~~ bis 77 anliegen. Beim Auftreten des Fehlersignals F2 nehmen damit die Codebits C~ bis C6 an den Ausgängen der ODER-Glieder D~ bis D6 den Binärwert 1 an, während das Codebit C7 und die Datenbits ~~ bis 77 den Binärwert ~ 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 als Datenzeichen DAll bzw. K11 dem Arbeitsspeicher Sp zugeführt und in diesem gespeichert.The parity bits P ~ to P7 are the parity bits of the data bytes 0 to 7. The parity checker PPI consists of a switching stage S8, which this link carried out by a modulo-2 addition. If a single error occurs, the Equation is not fulfilled and the error signal F2 is output, where it is, for example takes the binary value 1. This error signal F2 can not in the encoder CP via a OR gate shown with the error signal F3, which assumes the binary value 1, if otherwise there is a data-related error, linked to a cumulative error signal will. The encoder CP includes seven OR gates D ~ to D6 and 65 each with AND gates U ~ to U64 with an inverting input. One entrance each the OR gates D ~ to D6, the error signal F2 is fed, during each the second input the code bits C ~ to C6 are fed. The inverting inputs the AND elements U ~ to U64 are also fed the error signal F2, while on Code bit C7 and data bits ~~ to 77 are applied to the non-inverting inputs. When the error signal F2 occurs, the code bits C ~ to C6 take place at the outputs the OR gates D ~ to D6 to the binary value 1, while the code bit C7 and the data bits ~~ to 77 assume the binary value ~. Otherwise the code bits and the data bits are correct with the code bits and data bits at the inputs of the OR elements or the AND elements match. The data bits and the code bits are denoted as data characters DAll or K11 dem Main memory Sp supplied and stored in this.
Die Fig. 5 zeigt eine etwas aufwendigere Ausführungsform des Paritätsprüfers PP. Dieser Paritätsprüfer PP2 bietet jedoch mehr Ansätze für eine Fehlerdiagnose. Der Paritätsprüfer PP2 enthält acht Schaltstufen 89 bis S16, die ebenso wie die Schaltstufen S~ bis S7 jeweils eine Modulo-2-Addition der Signale an ihren Eingängen durchführen. In den Schaltstufen S9 bis S16 werden auf einem komplementären Weg unter Verwendung derjenigen Datenbits, die jeweils für die Erzeugung der Codebits C~ bis C7 nicht verwendet werden und unter Verwendung der Paritätsbits P~ bis P7 und der Codebits C~ bis C7 Paritätsfehlersignale FS~ bis FS7 erzeugt. Diese Signale werden einerseits einem nicht näher ausgeführten Codierer CP und andererseits einem ODER-Glied D7 zugeführt, das an seinem Ausgang ebenfalls ein Fehlersignal F2 erzeugt. 5 shows a somewhat more complex embodiment of the parity checker PP. However, this parity checker PP2 offers more approaches for error diagnosis. The parity checker PP2 contains eight switching stages 89 to S16, which like the Switching stages S ~ to S7 each have a modulo-2 addition of the signals at their inputs carry out. In the switching stages S9 to S16 are on a complementary path using the data bits that are used in each case for the generation of the code bits C ~ to C7 cannot be used and the parity bits P ~ to P7 are used and the code bits C ~ to C7 generate parity error signals FS ~ to FS7. These signals are on the one hand an unspecified coder CP and on the other hand a OR gate D7 supplied, which also generates an error signal F2 at its output.
Bei einem Paritätsfehler, der z.B. durch eine Leitungsunterbrechung entstanden sein kann, erzeugt mindestens eine der Schaltstufen S~ bis S7 ein Paritätsfehlersignal, das beispielsweise in der Fehlercodiereinrichtung CP dazu benutzt werden kann, einen besonderen Code zu erzeugen, der angibt, welches Codebit C~ bis C7 von dem Fehler betroffen ist. In the event of a parity error, e.g. due to a line break can have arisen, at least one of the switching stages S ~ to S7 generates a parity error signal, which can be used, for example, in the error coding device CP, a to generate special code which indicates which code bit C ~ to C7 of the error is affected.
Daß die Datenzeichen DA1 durch Paritätszeichen PAl entweder mit gerader oder mit ungerader Parität gesichert sein können, wird bei den Schaltstufen 59 bis S16 über einen Steuereingang PU berücksichtigt.That the data characters DA1 by parity characters PAl either with even or can be secured with odd parity, is for the switching stages 59 to S16 is taken into account via a control input PU.
An diesem Steuereingang ist statisch ein Signal -vom Binärwert 1 anzulegen, wenn ungerade Parität verwendet wird.A static signal of binary value 1 is to be applied to this control input, when odd parity is used.
6 Patentansprüche 5 Figuren6 claims 5 figures
Claims (6)
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 true DE2532915A1 (en) | 1977-02-10 |
DE2532915C2 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1441359A1 (en) * | 2003-01-22 | 2004-07-28 | Micronas GmbH | Memory system for a multibus architecture |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2430464A1 (en) * | 1973-06-26 | 1975-01-16 | Ibm | DEVICE FOR ERROR-PROOF DATA TRANSMISSION |
DE2344019A1 (en) * | 1973-08-31 | 1975-03-13 | Siemens Ag | Method for finding position of false bit - determines position in data block of eight bytes |
-
1975
- 1975-07-23 DE DE19752532915 patent/DE2532915C2/en not_active Expired
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2430464A1 (en) * | 1973-06-26 | 1975-01-16 | Ibm | DEVICE FOR ERROR-PROOF DATA TRANSMISSION |
DE2344019A1 (en) * | 1973-08-31 | 1975-03-13 | Siemens Ag | Method for finding position of false bit - determines position in data block of eight bytes |
Non-Patent Citations (1)
Title |
---|
F.F. Sellers Jr. et al. "Error Detecting Logie for Digital Computers", McGraw-Hill Book Company 1968 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1441359A1 (en) * | 2003-01-22 | 2004-07-28 | Micronas GmbH | Memory system for a multibus architecture |
Also Published As
Publication number | Publication date |
---|---|
DE2532915C2 (en) | 1983-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2060643C3 (en) | Circuit arrangement for correcting individual errors | |
DE2132565C3 (en) | Converter | |
DE2421112A1 (en) | MEMORY ARRANGEMENT | |
DE2430464A1 (en) | DEVICE FOR ERROR-PROOF DATA TRANSMISSION | |
DE2942998A1 (en) | ERROR CORRECTION AND DETECTION ARRANGEMENT | |
DE2357116A1 (en) | MEMORY MODULE FOR A DATA PROCESSING UNIT | |
DE2260850A1 (en) | ERROR CORRECTION SYSTEM | |
DE2263488C2 (en) | Device for the detection and correction of errors in two faulty tracks of a multi-track data system | |
DE2914515A1 (en) | METHOD AND DEVICE FOR AN EFFECTIVE ERROR DETECTION AND CORRECTION SYSTEM | |
DE2359776A1 (en) | MEMORY MODULE FOR USE IN CONNECTION WITH A DATA PROCESSING UNIT | |
DE102006005817B4 (en) | An error detection device for an address decoder and an error detection device for an address decoder | |
EP0219917B1 (en) | Switching device with fault correction | |
DE1959231C3 (en) | Method and device for correcting up to three errors in a code word consisting of 23 bits | |
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) | |
DE2655653C2 (en) | Arrangement for determining the correct assignment of address and memory word in a word-organized data memory | |
DE2532915A1 (en) | Data transmission error protection system - enables transmitter to produce data signals protected by parity signals | |
DE2908373C2 (en) | ||
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 | |
DE1774225A1 (en) | Error correction circuit | |
DE1259124B (en) | Arrangement for error correction and display | |
DE19635240A1 (en) | Storage system | |
DE1937259B2 (en) | SELF-CHECKING FAULT DETECTION CIRCUIT | |
DE3433679C2 (en) | ||
DE3716594C2 (en) | Circuit arrangement for telecommunications systems, in particular telephone switching systems, with memory devices in which stored portions of information are checked for correctness | |
DE2946163C2 (en) | Data transmission device with buffer memory and devices for backing up data |
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 |