DE3543976A1 - Arrangement for generating check words for data blocks - Google Patents

Arrangement for generating check words for data blocks

Info

Publication number
DE3543976A1
DE3543976A1 DE19853543976 DE3543976A DE3543976A1 DE 3543976 A1 DE3543976 A1 DE 3543976A1 DE 19853543976 DE19853543976 DE 19853543976 DE 3543976 A DE3543976 A DE 3543976A DE 3543976 A1 DE3543976 A1 DE 3543976A1
Authority
DE
Germany
Prior art keywords
word
data
words
memory
test
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
Application number
DE19853543976
Other languages
German (de)
Other versions
DE3543976C2 (en
Inventor
Hartmut Dipl Ing Flaemig
Detlev Dipl Ing Knauer
Werner Dipl Ing Pfatteicher
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 DE19853543976 priority Critical patent/DE3543976A1/en
Publication of DE3543976A1 publication Critical patent/DE3543976A1/en
Application granted granted Critical
Publication of DE3543976C2 publication Critical patent/DE3543976C2/de
Granted legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

For rapidly generating check words for data blocks, the latter are divided into words. The check words for each bit combination of each word are contained in a memory. The words of the data block to be safeguarded are fed as addresses to the memory. The check word read out with the first word is combined with that of the second word in an EXCLUSIVE-OR operation and the result of the latter is combined in the same way with the respectively following read-out check word. The result after the logic operation with the last check word is the check word for the data block. The invention is used in data transmission and storage. <IMAGE>

Description

Die Erfindung betrifft eine Anordnung zum Erzeugen von Prüfwörtern für Datenblöcke gemäß dem Oberbegriff des Anspruchs 1.The invention relates to an arrangement for generating Check words for data blocks according to the generic term of Claim 1.

Aus "Taschenbuch der Informatik" von Steinbuch/Weber, Band 2, Seiten 111 bis 115, Springer-Verlag, 1974 sind fehlererkennende und korrigierende Codes bekannt, bei denen Datenblöcken vor deren Weiterverarbeitung, wie Übertragung oder Speicherung, Prüfwörter hinzugefügt werden. Diese werden vor der Übertragung eines jeden Datenblockes durch eine je nach Art des Sicherungscodes mehr oder weniger aufwendige Rechenoperation gewonnen, z. B. wird die zu übertragende Information durch ein Polynom dividiert und der Divisionsrest zusammen mit der Information übertragen. Nach der Übertragung oder dem Auslesen aus dem Speicher werden die Datenblöcke nochmals derselben Rechenoperation unterworfen, und das dabei gebildete Prüfwort wird mit dem empfangenen verglichen. Im Falle einer Abweichung kann, falls der Sicherungscode dies zuläßt, der Fehler korrigiert oder die Übertragung wiederholt werden. Für diese Art der Datensicherung müssen, wenn mit hoher Datenrate übertragen oder gespeichert wird, die Prüfwörter ebenfalls mit hoher Geschwindigkeit berechnet werden, wozu ein sehr leistungsfähiger und damit aufwendiger Rechner erforderlich ist.From "Taschenbuch der Informatik" by Steinbuch / Weber, Volume 2, Pages 111 to 115, Springer-Verlag, 1974 are error-detecting and corrective codes in which data blocks are known before further processing, such as transfer or Storage, test words can be added. These will before the transmission of each data block by a depending on the type of security code, more or less complex Arithmetic operation won, e.g. B. will be the one to be transferred Information divided by a polynomial and the Division remainder transferred together with the information. After transferring or reading from memory the data blocks become the same arithmetic operation again subject, and the test word thus formed is with the received received. In the event of a discrepancy, if the security code permits, the error is corrected or the transmission can be repeated. For this type of Backup must be done when transferred at high data rate or saved, the test words also with high Speed are calculated, which is a very powerful and therefore a complex computer is required.

Der vorliegenden Erfindung liegt die Aufgabe zugrunde, eine Anordnung zu schaffen, mit der die Prüfwörter mit einfachen Mitteln schnell gewonnen werden können. The present invention has for its object a To create arrangement with which the test words with simple Funds can be obtained quickly.  

Diese Aufgabe wird mit den im kennzeichnenden Teil des Anspruchs 1 angegebenen Maßnahmen gelöst.This task is carried out in the characteristic part of the Claim 1 specified measures solved.

Für die gebräuchlichen Sicherungscodes ist die logische Verknpüfung, die bitweise Addition ohne Übertrag, also eine EXKLUSIV-ODER-Verknüpfung der einander entsprechenden Bits. Vorteilhaft haben die Wörter eine Länge von je 8 Bit, jedoch ist auch der eine Grenzfall von 1 Bit möglich. Es sind dann doppelt so viele Speicherzellen erforderlich, wie der Datenblock Bit hat, im anderen Grenzfall besteht der Block aus einem einzigen Wort. Bei einer Blocklänge von n Bit ist die Anzahl der Speicherzellen dann gleich 2 n , also im allgemeinen unbrauchbar groß. Vorteilhaft ist die Datenwortlänge gleich der Prüfwortlänge. Dies bedeutet, daß bei einer Blocklänge von 256 Bit und einer Prüfwortlänge von 8 Bit der Block in 32 Wörter von je 8 Bit unterteilt wird.For the common security codes, the logical combination, the bitwise addition without carry, is an EXCLUSIVE-OR combination of the corresponding bits. The words advantageously have a length of 8 bits each, but a limit case of 1 bit is also possible. Then twice as many memory cells are required as the data block has bits, in the other limit the block consists of a single word. With a block length of n bits, the number of memory cells is then equal to 2 n , that is to say generally unusable. The data word length is advantageously equal to the test word length. This means that with a block length of 256 bits and a test word length of 8 bits, the block is divided into 32 words of 8 bits each.

Anhand der Zeichnung, in der das Prinzipschaltbild eines Ausführungsbeispiels dargestellt ist, werden im folgenden die Erfindung und weitere Ausgestaltungen näher beschrieben und erläutert.Using the drawing, in which the block diagram of a Embodiment is shown below the invention and further embodiments described in more detail and explained.

Mit DBL ist ein Datenblock mit 16 Wörtern W 1, W 2 . . . W 16 zu je 8 Bit bezeichnet. Die Wörter werden, von einem Taktgeber TG gesteuert, parallel in ein Senderegister SRG eingetragen, aus dem sie seriell zur Übertragung ausgelesen werden. Um eine kontinuierliche Übertragung sicherzustellen, können zwei Senderegister vorhanden sein, in die wechselweise die Datenwörter eingetragen und seriell ausgelesen werden. Nach einem Startimpuls, der einem Eingang ST des Taktgebers TG zugeführt wird, gibt dieser über einen Ausgang T 1 einen Übernahmeimpuls auf das Senderegister SRG und ein Adressenregister ADR sowie einen Rücksetzimpuls auf die Rücksetzeingänge R eines Wortzählers WZ und eines Pufferregisters PRG. Das erste Wort W 1 wird daher in die beiden Register SRG und ADR eingetragen und der Wortzähler WZ sowie das Pufferregister PRG auf Null gestellt. Der Inhalt des Adressenregisters ADR und der Stand des Wortzählers WZ werden als Adresse dem Adresseneingang AE eines Speichers SP zugeführt, der 16 Speicherbereiche BR 1, BR 2 . . . BR 16 mit je 256 Zellen zu 8 Bit aufweist. Im Bereich BR 1 sind die 256 Prüfwörter für alle möglichen Datenwörter W 1 enthalten. Entsprechend sind die Prüfwörter für die Datenwörter W 2 im Bereich BR 2 enthalten und so fort. Die Basisadressen für die einzelnen Bereiche werden vom Wortzähler WZ geliefert, die Teiladressen für die einzelnen Prüfwörter sind die im Adressenregister ADR enthaltenen Datenwörter. Die Speicheradressen sind in hexadezimaler Schreibweise für einige ausgewählte Zellen angegeben.With DBL is a data block with 16 words W 1 , W 2 . . . W 16 with 8 bits each. The words, controlled by a clock generator TG , are entered in parallel in a transmission register SRG , from which they are read out serially for transmission. In order to ensure continuous transmission, there can be two transmit registers, into which the data words are alternately entered and read out serially. After a start pulse, which is fed to an input ST of the clock generator TG , this gives an takeover pulse to the transmit register SRG and an address register ADR via an output T 1 and a reset pulse to the reset inputs R of a word counter WZ and a buffer register PRG . The first word W 1 is therefore entered in the two registers SRG and ADR and the word counter WZ and the buffer register PRG are set to zero. The content of the address register ADR and the status of the word counter WZ are supplied as addresses to the address input AE of a memory SP , which has 16 memory areas BR 1 , BR 2 . . . BR 16 with 256 cells of 8 bits each. The BR 1 area contains the 256 test words for all possible data words W 1 . Correspondingly, the test words for the data words W 2 are contained in the area BR 2 and so on. The base addresses for the individual areas are supplied by the word counter WZ , the partial addresses for the individual test words are the data words contained in the address register ADR . The memory addresses are given in hexadecimal notation for some selected cells.

Mit der Übernahme des ersten Datenwortes W 1 in das Adressenregister ADR und dem Rückstellen des Zählers WZ wird über eine Verzögerungsstufe VZ 1 ein Lesebefehl an den Speicher SP gegeben, von dem über einen Datenausgang DA der Inhalt der Zelle 001(H) auf den Eingang einer EXKLUSIV- ODER-Anordnung EXO ausgegeben wird. Diese besteht aus acht EXKLUSIV-ODER-Gliedern, deren einen Eingängen das jeweils aus dem Speicher SP ausgelesene Prüfwort zugeführt ist. Ihre anderen Eingänge sind an die acht Ausgänge des Pufferregisters PRG angeschlossen. Da das Pufferregister PRG nach dem Rücksetzen nur Signale log. "0" enthält, gibt die EXKLUSIV- ODER-Anordnung EXO das vom Speicher SP abgegebene Prüfwort unverändert aus. Dieses Prüfwort wird mit einem Übernahmeimpuls, der mittels einer Verzögerungsstufe VZ 2 aus dem Leseimpuls für den Schreiber SP abgeleitet ist, in das Pufferregister PRG übernommen. Der Inhalt des Pufferregisters PRG ist daher zu diesem Zeitpunkt "01101100".With the transfer of the first data word W 1 into the address register ADR and the resetting of the counter WZ , a read command is given to the memory SP via a delay stage VZ 1 , from which the content of cell 001 (H) is input to a via a data output DA EXCLUSIVE OR arrangement EXO is output. This consists of eight EXCLUSIVE-OR gates, one input of which is supplied with the test word read from the memory SP . Your other inputs are connected to the eight outputs of the PRG buffer register. Since the buffer register PRG only logs signals after the reset. Contains "0", the EXCLUSIVE OR arrangement EXO outputs the test word emitted by the memory SP unchanged. This test word is transferred into the buffer register PRG with a takeover pulse, which is derived from the read pulse for the writer SP by means of a delay stage VZ 2 . The content of the buffer register PRG is therefore "01101100" at this time.

Während der Übertragung des ersten Datenwortes W 1 wird am Eingang des Senderegisters SRG das zweite Datenwort W 2 bereitgestellt. Nach der Übertragung gibt der Taktgeber TG einen Übernahmeimpuls auf das Senderegister SRG und das Adreßregister ADR sowie einen Zählimpuls auf den Wortzähler WZ und ferner über die Verzögerungsstufe VZ 1 einen Leseimpuls auf den Speicher SP. Es wird daher das Prüfwort "10011110" aus der Speicherzelle mit der Adresse 1FF(H) ausgelesen und mit dem im Pufferregister PRG enthaltenen Prüfwort EXKLUSIV-ODER-verknüpft. Das Ergebnis ist 11110010. Mit diesem wird das im Pufferregister PRG enthaltene Wort überschrieben. Entsprechend wird mit jedem Datenwort eine neue Speicheradresse und ein neues Prüfwort im Pufferregister PRG gebildet. Es ist ersichtlich, daß für einen Speicherzugriff und eine EXKLUSIV-ODER-Verknüpfung und Eintrag des Verknüpfungsergebnisses in das Pufferregister PRG die Zeit zur Verfügung steht, die für die Übertragung von 8 Bit erforderlich ist. Es kann daher auch bei einer hohen Datenübertragungsrate das Prüfwort während der Übertragung gebildet werden. Mit dem letzten Datenwort W 16 wird im Speicherbereich BR 16 die Zelle mit der Adresse FFC(H) aufgerufen und deren Inhalt mit dem des Pufferregisters PRG EXKLUSIV-ODER-verknüpft. Das so gebildete Ergebnis ist das Prüfwort für den Datenblock DBL und wird im Pufferregister PRG für die Übertragung bereitgestellt. Nach der Übertragung des Wortes W 16 gibt der Taktgeber TG über seinen Ausgang T 2 einen Übernahmeimpuls auf das Schieberegister SRG, so daß in dieses das Prüfwort zur Übertragung eingeschrieben wird. Unmittelbar anschließend kann ein weiterer Datenblock übertragen und gleichzeitig das Prüfwort gebildet werden.During the transmission of the first data word W 1 , the second data word W 2 is provided at the input of the transmission register SRG . After the transmission, the clock generator TG gives a take-over pulse to the transmission register SRG and the address register ADR and a counting pulse to the word counter WZ and furthermore a read pulse to the memory SP via the delay stage VZ 1 . The test word "10011110" is therefore read out of the memory cell with the address 1FF (H) and EXCLUSIVE-OR-linked with the test word contained in the buffer register PRG . The result is 11110010. This overwrites the word contained in the buffer register PRG . Accordingly, a new memory address and a new test word are formed in the buffer register PRG with each data word. It can be seen that the time required for the transfer of 8 bits is available for a memory access and an EXCLUSIVE-OR link and entry of the link result in the buffer register PRG . The test word can therefore be formed during the transmission even with a high data transmission rate. With the last data word W 16 , the cell with the address FFC (H) is called in the memory area BR 16 and its content is EXCLUSIVE-OR-linked with that of the buffer register PRG . The result thus formed is the test word for the data block DBL and is made available for transmission in the buffer register PRG . After the word W 16 has been transmitted, the clock generator TG outputs a takeover pulse to the shift register SRG via its output T 2 , so that the test word is written into it for transmission. Immediately afterwards, another data block can be transmitted and the test word can be formed at the same time.

Im beschriebenen Ausführungsbeispiel werden zwecks leichterem Verständnis für die einzelnen Funktionen gesonderte Baueinheiten, wie Zähler, Register, EXKLUSIV-ODER-Glied, angegeben. Zweckmäßig wird jedoch anstelle dieser Einheiten ein Mikroprozessor eingesetzt, der alle Funktionen, zumindest zum größten Teil, übernimmt. In the described embodiment, for the purpose of being easier Understanding the individual functions separately Units, such as counters, registers, EXCLUSIVE OR elements, specified. Instead of these units, however, it is useful a microprocessor is used that performs all functions, at least for the most part.  

Für den Empfang der Daten ist zunächst eine byteweise Serien-Parallel-Umsetzung erforderlich. Die empfangenen Daten werden zwischengespeichert und gleichzeitig wird, wie oben für den Sendevorgang beschrieben, ein Block- Prüfwort gebildet. Dieses wird mit dem empfangenen Prüfwort verglichen. Im Falle einer Differenz werden die üblichen Sicherungsmaßnahmen, wie Fehlerkorrektur, mit Hilfe des Prüfwortes oder Wiederholung der Datenübertragung, durchgeführt.There is first a byte for the reception of the data Series-parallel implementation required. The received Data is cached and at the same time, as described above for the sending process, a block Test word formed. This is with the received test word compared. In the event of a difference, the usual security measures, such as error correction, with Help of the test word or repetition of the data transmission, carried out.

Claims (4)

1. Anordnung zum Erzeugen von Prüfwörtern für Datenblöcke, gekennzeichnet durch
- die Datenblöcke sind in Wörter vorgegebener Länge unterteilt,
- Prüfwörter für sämtliche Bit-Kombinationen des ersten Datenwortes (W 1) sind in einem ersten Speicherbereich (BR 1), die des zweiten Wortes in einem zweiten Speicherbereich (BR 2) und so fort hinterlegt;
- das erste Datenwort (W 1) wird als Adresse dem ersten Speicherbereich (BR 1), das zweite Datenwort (W 2) dem zweiten Speicherbereich (BR 2) und so fort zugeführt, wobei das Prüfwort des ersten Datenwortes mit dem des zweiten Datenwortes logisch verknüpft wird und das Verknüpfungsergebnis mit dem jeweils nachfolgend ausgelesenen Prüfwort logisch verknüpft wird und das Ergebnis nach der Verknüpfung mit dem letzten Datenwort (W 16) das Prüfwort für den Datenblock ist.
1. Arrangement for generating test words for data blocks, characterized by
the data blocks are divided into words of a predetermined length,
- Check words for all bit combinations of the first data word ( W 1 ) are stored in a first memory area ( BR 1 ), those of the second word in a second memory area ( BR 2 ) and so on;
- The first data word ( W 1 ) is supplied as an address to the first memory area ( BR 1 ), the second data word ( W 2 ) to the second memory area ( BR 2 ) and so on, the test word of the first data word being logical with that of the second data word is linked and the link result is logically linked to the test word subsequently read out and the result after the link with the last data word ( W 16 ) is the check word for the data block.
2. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß die logische Verknüpfung eine EXKLUSIV-ODER-Verknüpfung ist.2. Arrangement according to claim 1, characterized in that the logical link is an EXCLUSIVE-OR operation. 3. Anordnung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß ein Datenwort eine Länge von 8 Bit hat.3. Arrangement according to claim 1 or 2, characterized characterized in that a data word Has a length of 8 bits. 4. Anordnung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß die den Datenwörtern zugeordneten Prüfwörter jeweils in einem Speicherbereich (BR 1, BR 2 . . . BR 16) enthalten sind, daß ein Wortzähler (WZ) vorhanden ist, dessen Stand die Basisadresse für die Speicherbereiche bildet, die mit dem jeweiligen Datenwort zur Speicheradresse ergänzt wird.4. Arrangement according to one of claims 1 to 3, characterized in that the test words assigned to the data words are each contained in a memory area ( BR 1 , BR 2 ... BR 16 ), that a word counter ( WZ ) is present, the status of which forms the base address for the memory areas, which is supplemented with the respective data word to form the memory address.
DE19853543976 1985-12-12 1985-12-12 Arrangement for generating check words for data blocks Granted DE3543976A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19853543976 DE3543976A1 (en) 1985-12-12 1985-12-12 Arrangement for generating check words for data blocks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19853543976 DE3543976A1 (en) 1985-12-12 1985-12-12 Arrangement for generating check words for data blocks

Publications (2)

Publication Number Publication Date
DE3543976A1 true DE3543976A1 (en) 1987-06-19
DE3543976C2 DE3543976C2 (en) 1988-12-22

Family

ID=6288297

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19853543976 Granted DE3543976A1 (en) 1985-12-12 1985-12-12 Arrangement for generating check words for data blocks

Country Status (1)

Country Link
DE (1) DE3543976A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3707143A1 (en) * 1987-03-06 1988-09-15 Blaupunkt Werke Gmbh DEVICE FOR RECEIVING DATA
EP0664626A1 (en) * 1993-12-08 1995-07-26 TEMIC TELEFUNKEN microelectronic GmbH Data transmission method

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
D.J.GAUSHELL "Error Control in Digital Trans- mission" Control Engineering, Vol.19, H.6, 1972, S.58-64 *
R.KLUTTIG, E.WELFONDER, "Universelles PDV-Bus- Interface", Elektronik 1979, H.25, S.73-81 *
STEINBUCH/WEBER, "Taschenbuch der Informatik", Bd.2, Springer Verlag 1974, S.111-115 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3707143A1 (en) * 1987-03-06 1988-09-15 Blaupunkt Werke Gmbh DEVICE FOR RECEIVING DATA
EP0664626A1 (en) * 1993-12-08 1995-07-26 TEMIC TELEFUNKEN microelectronic GmbH Data transmission method

Also Published As

Publication number Publication date
DE3543976C2 (en) 1988-12-22

Similar Documents

Publication Publication Date Title
DE2328869C2 (en) Method and circuit arrangement for operating a digital storage system
DE2806024C2 (en)
DE2916710C2 (en)
DE3513834C2 (en)
DE3111447C2 (en)
DE1250163B (en) Device for the parity check of memory words
DE2311503C2 (en) Data processing system with several central units
EP1222545B1 (en) Method and circuit configuration for storing data words in a ram module
DE2657118A1 (en) ARRANGEMENT FOR THE PROCESSING OF DATA
DE3543976C2 (en)
DE3000012A1 (en) CIRCUIT ARRANGEMENT FOR EXECUTING A TRANSMISSION COMMAND IN A DATA PROCESSING SYSTEM
EP0439649A1 (en) Device for generating error patterns with soft decision decoding of block codes
DE2004934B2 (en) MEMORY ARRANGEMENT WITH CIRCUITS FOR ERROR DETECTION AND ERROR CORRECTION
DE3433679A1 (en) Method and arrangement for securing important information in memory units with optional access, particularly for control bits in buffer memories acting as cache memories in a data processing system
EP0029216B1 (en) Data transmission device with a buffer memory and devices for data protection
DE2742881C2 (en)
DE3009317A1 (en) HYBRID ASSOCIATIVE MEMORY
DE3431770A1 (en) Method and arrangement for the error control of important information in memory units with random access, in particular such units comprising RAM modules
DE1424746A1 (en) Data processing system
DE2133323A1 (en) ERROR DETECTION AND CORRECTION CIRCUIT FOR BINARY DATA SIGNALS
DE2939412A1 (en) CIRCUIT ARRANGEMENT FOR ADDRESSING DATA FOR READING AND WRITING ACCESSES IN A DATA PROCESSING SYSTEM
DE2837709C2 (en) Circuit arrangement for handling partial words in computer systems
DE4030629C2 (en) Arrangement for securing control information coupled to the memory entries of a working memory in a multiprocessor system
DE1943859C3 (en) Method and device for checking and / or correcting data words and / or for generating check digits
DE4244275C1 (en) Verification of data integrity with buffered data transmission

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee