DE102013112020A1 - Method and device for detecting bit errors - Google Patents
Method and device for detecting bit errors Download PDFInfo
- Publication number
- DE102013112020A1 DE102013112020A1 DE201310112020 DE102013112020A DE102013112020A1 DE 102013112020 A1 DE102013112020 A1 DE 102013112020A1 DE 201310112020 DE201310112020 DE 201310112020 DE 102013112020 A DE102013112020 A DE 102013112020A DE 102013112020 A1 DE102013112020 A1 DE 102013112020A1
- Authority
- DE
- Germany
- Prior art keywords
- bit
- parity
- input
- code
- bits
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
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
Abstract
Die Erfindung betrifft ein Verfahren und eine Vorrichtung zum Erkennen von Bitfehlern in einem Ergebnis einer auf einer Rechenmaschine ausgeführten arithmetischen Inkrement- oder Dekrementoperation einer Bitsequenz, wobei für die Bitsequenz ein Paritätscode berechnet wird, der eine Mehrzahl von Paritätsbits enthält, wobei jedes Paritätsbit des Paritätscodes bezüglich der arithmetischen Inkrement- oder Dekrementoperation vorausberechnet wird und durch Vergleich der tatsächlichen Ergebnis-Paritäten ein Bitfehler erkennbar ist.The present invention relates to a method and apparatus for detecting bit errors in a result of a arithmetic increment or decrement operation of a bit sequence performed on a calculator, wherein a parity code containing a plurality of parity bits is calculated for the bit sequence, each parity bit of parity code the arithmetic increment or decrement operation is precalculated and a bit error can be detected by comparing the actual result parities.
Description
Die Erfindung betrifft ein Verfahren zum Erkennen von Bitfehlern in einem Ergebnis einer auf einer Rechenmaschine ausgeführten, arithmetischen Inkrement- oder Dekrementoperation einer Bitsequenz. Die Erfindung betrifft ebenso ein Computerprogramm, eine Halbleiterschaltung sowie ein Computersystem hierzu.The invention relates to a method for detecting bit errors in a result of an arithmetic increment or decrement operation of a bit sequence performed on a computing machine. The invention also relates to a computer program, a semiconductor circuit and a computer system for this purpose.
Es ist allgemein bekannt, dass auch bei Computerprogrammen, die hinsichtlich ihrer semantischen Vorgabe mathematisch korrekt sind, Fehler auftreten können, deren Ursprünge meist nicht mehr feststellbar sind. Derartige Fehler bei der Ausführung von Computerprogrammen in Rechenmaschinen können beispielsweise durch äußere Einflüsse, Erwärmungen oder auch Hardwaredefekte entstehen und können temporär oder von dauerhafter Natur sein. Insbesondere in sicherheitskritischen Anwendungen ist es daher notwendig, derartige Fehler sicher und schnell erkennen zu können.It is well known that even with computer programs that are mathematically correct in terms of their semantic specification, errors may occur whose origins are usually no longer detectable. Such errors in the execution of computer programs in computing machines, for example, by external influences, warming or hardware defects may arise and may be temporary or permanent nature. Especially in safety-critical applications, it is therefore necessary to be able to recognize such errors safely and quickly.
So ist es beispielsweise bekannt, dass sicherheitskritische Systeme redundant ausgelegt werden, so dass jedes der Systeme einzeln für sich die Berechnung durchführt und anschließend durch Vergleich der Ergebnisse festgestellt werden kann, ob ein Fehler in einer der Berechnungen aufgetreten ist. Sind beide Ergebnisse identisch, so wird von keinem Fehler ausgegangen.For example, it is known that safety-critical systems are designed to be redundant, so that each of the systems individually performs the calculation individually and then, by comparing the results, it can be determined whether an error has occurred in one of the calculations. If both results are identical, then no error is assumed.
Bei der Übertragung von Daten werden beispielsweise sogenannte CRC-Summen (Cyclic Redundancy Check) eingesetzt, die durch erzeugende Polyname gebildet werden. Hierdurch lassen sich bestimmte Arten von Fehlern zuverlässig erkennen.In the transmission of data, for example, so-called CRC sums (Cyclic Redundancy Check) are used, which are formed by generating the Polyname. This makes it possible to reliably detect certain types of errors.
Bei dem Fehlererkennungsverfahren durch redundante Ausführung ist ein Nachteil jedoch darin zu sehen, dass aufgrund der Mehrfachausführung der Systeme auch entsprechend mehr Hardware bereitgestellt werden muss. Darüber hinaus benötigen derartige Systeme auch signifikant mehr elektrische Energie für den Betrieb, so dass diese Art der Fehlererkennung hinsichtlich des Einsatzgebietes Beschränkungen unterliegt. Wird die Redundanz der Berechnung auf ein und demselben Mikroprozessor untergebracht, so ist hierfür meist eine wesentlich höhere Siliziumfläche notwendig, was sich in einigen Einsatzgebieten ebenfalls als nachteilig erwiesen hat. Demgegenüber steht jedoch der unübersehbare Vorteil, dass mit Hilfe der redundanten Ausführung (auch mehrfach redundant) Rechenfehler innerhalb des Mikroprozessors zuverlässig erkannt werden können.In the case of the redundancy-based error detection method, however, a disadvantage is that because of the multiple execution of the systems, correspondingly more hardware has to be provided. In addition, such systems also require significantly more electrical energy for operation, so that this type of error detection is subject to restrictions with regard to the field of use. If the redundancy of the calculation is accommodated on one and the same microprocessor, a much higher silicon area is usually necessary for this, which has likewise proven disadvantageous in some fields of application. In contrast, however, there is the obvious advantage that with the help of the redundant design (even multiple redundant) arithmetic errors can be reliably detected within the microprocessor.
Ein Standardfall bei der Ausführung eines Computerprogramms durch einen Mikroprozessor stellt dabei die arithmetische Inkrement- oder Dekrementoperation des Programm Counters dar. In dem Programm Counter ist die Speicheradresse hinterlegt, in der der nächste abzuarbeitende Befehl für den Mikroprozessor hinterlegt ist. Die Erhöhung des Programm Counters um eine Befehlsbreite (Inkrementoperation) führt zum Verweis auf die nächstfolgende Speicherstelle und somit zur Abarbeitung des nächstfolgenden Maschinenbefehls. Einmal abgesehen von relativen Adressierungen sowie absoluten Sprungbefehlen stellt das einfache Inkrement um eine Befehlsbreite ca. 80% aller Instruktionen im Programmablauf dar.A standard case in the execution of a computer program by a microprocessor in this case represents the arithmetic increment or decrement operation of the program counter. In the program Counter, the memory address is stored, in which the next processed command for the microprocessor is stored. The increase of the program counter by one command width (increment operation) leads to the reference to the next following memory location and thus to the execution of the next following machine command. Apart from relative addressing and absolute jump instructions, the simple increment by a command width represents approx. 80% of all instructions in the program sequence.
Unter der arithmetischen Inkrement- oder Dekrementoperation im Sinne der vorliegenden Erfindung wird dabei eine arithmetische Operation verstanden, bei der zu einer Mehrbitsequenz eine Ganzzahl ≧ 1 addiert bzw. subtrahiert wird. Den einfachsten Fall stellt dabei das Inkrement bzw. Dekrement um 1 an der Bitstelle 2° dar. Denkbar sind aber auch das Inkrement bzw. Dekrement um Werte, die einer ganzzahligen Potenz von 2 entsprechen bzw. um Werte, die einer nicht ganzzahligen Potenz von 2 entsprechen. Insbesondere das Inkrement bzw. Dekrement um einen Wert, der einer ganzzahligen Potenz von 2 entspricht, wird häufig bei der Erhöhung bzw. Verringerung des Programm Counters um eine ganze Befehlsbreite verwendet, wenn die Befehlsbreite beispielsweise 16 oder 32 Bit entspricht.The arithmetic increment or decrement operation in the sense of the present invention is an arithmetic operation in which an integer ≧ 1 is added to or subtracted from a multibit sequence. The simplest case is represented by the increment or decrement by 1 at the
Aus der
Für eine 8 Bit Sequenz, deren Wert um 1 inkrementiert werden soll, ergibt sich somit folgende Formel zur Bestimmung der Parität: wobei p die Parität der 8 bit Eingangs-Bitsequenz darstellt, b[0] das niederwertigste Bit der Bitsequenz und b[7] das höchstwertigste Bit darstellen. Das Symbol O ist dabei die XOR Operation.For an 8-bit sequence whose value is to be incremented by 1, the following formula thus results for determining the parity: where p represents the parity of the 8 bit input bit sequence, b [0] represents the least significant bit of the bit sequence, and b [7] represents the most significant bit. The symbol O is the XOR operation.
Demnach kann die Parität einer Bitsequenz dadurch ermittelt werden, dass sämtliche Bits der Bitsequenz XOR verknüpft werden. Die booleschen Operation XOR ist dabei immer dann 0 (false), wenn die beiden Operanden gleich sind, sonst 1 (true). Die ermittelte Parität p ist in diesem Beispiel 0 (false), wenn eine gerade Anzahl von Bits der Bitsequenz 1 sind, sonst ist die Parität 1 (true). Im o. g. Beispiel entspricht dies der even-Parität.Accordingly, the parity of a bit sequence can be determined by combining all the bits of the bit sequence XOR. The Boolean operation XOR is always 0 (false) if the two operands are the same, otherwise 1 (true). The determined parity p is 0 (false) in this example if an even number of bits of the bit sequence are 1, otherwise the parity is 1 (true). In o. G. For example, this corresponds to even parity.
Mittels der nachstehenden Formel bei der p die vorhergesagte Parität des Ergebnisses darstellt, not die Invertierung des Bits, + das logische OR und * das logische AND ist, lässt sich die Parität des Ergebnisses der Inkrementoperation um 1 vorhersagen, indem festgestellt wird, ob eine ungerade Anzahl von Bits aufgrund des Übertrags der arithmetischen Operation ihren Bitwert ändern. Sind b[0] und b[1] gleich 1 und ist b[2] gleich 0, so ergibt sich bei einem Inkrement um 1, das sich die Bits 0, 1, und 2 in ihrem Bitwert ändern, was einer ungeraden Anzahl von Bits entspricht und was somit zu einem Wechsel der Parität der Eingangs-Bitsequenz führt.By means of the formula below where p represents the predicted parity of the result, not the inversion of the bit, + the logical OR, and * the logical AND, the parity of the result of the increment operation can be predicted by 1 by determining whether an odd number of bits are due the carry of the arithmetic operation change its bit value. If b [0] and b [1] are equal to 1 and b [2] is equal to 0, an increment of 1 results in
Der große Nachteil dieses Verfahrens besteht jedoch darin, dass hiermit keine 2 Bit-Fehler erkannt werden können, da durch den doppelten Wechsel der Fehlerbits sich die Parität in der Ergebnis-Bitsequenz gegenüber der Eingangs-Bitsequenz nicht ändert. Letztlich lassen sich alle geraden Mehrbitfehler nicht erkennen, so dass mit diesem System nicht hinreichend sicher jegliche Formen von Bitfehlern erkannt werden können, so dass sich dieses Verfahren nicht als Ersatz für die redundante Ausführung zur Erkennung von Bitfehlern eignet.The big disadvantage of this method, however, is that no 2-bit errors can be detected here because the double change of the error bits does not change the parity in the result bit sequence compared to the input bit sequence. Ultimately, all even multi-bit errors can not be detected, so that this system can not be detected with sufficient certainty any forms of bit errors, so that this method is not suitable as a replacement for the redundant design for detecting bit errors.
Vor diesem Hintergrund ist es Aufgabe der vorliegenden Erfindung, ein verbessertes Verfahren und eine verbesserte Vorrichtung anzugeben, mit denen neben 1 Bit Fehlern und ungeraden Mehrbitfehlern insbesondere auch 2 Bit Fehler sicher erkannt werden können.Against this background, it is an object of the present invention to provide an improved method and an improved device, with which in addition to 1-bit errors and odd multi-bit errors, in particular 2-bit errors can be detected reliably.
Die Aufgabe wird mit dem Verfahren gemäß Anspruch 1 erfindungsgemäß gelöst. Die Aufgabe wird auch mit dem Computerprogramm gemäß Anspruch 10 sowie der Halbleiterschaltung gemäß Anspruch 11 erfindungsgemäß gelöst. Die Aufgabe wird im übrigen auch mit dem Computersystem gemäß Anspruch 13 erfindungsgemäß gelöst.The object is achieved by the method according to
Gemäß Anspruch 1 wird ein Verfahren zum Erkennen von Bitfehlern in einem Ergebnis einer auf einer Rechenmaschine mittels eines Mikroprozessors ausgeführten, arithmetischen Inkrement- oder Dekrementoperation einer Bitsequenz vorgeschlagen, bei dem ein Paritätscode des Ergebnisses aus der Eingangs-Bitsequenz zu einem vorhergesagt und zum anderen aus der Ergebnis-Bitsequenz berechnet wird. Durch Vergleich der vorhergesagten und berechneten Paritätscodes kann dann auf einen entsprechenden Bitfehler geschlossen werden.According to
Bei der Eingangs-Bitsequenz im Sinne der vorliegenden Erfindung handelt es sich um diejenige Bitsequenz, auf der die arithmetische Inkrement- oder Dekrementoperation angewendet werden soll, um die Ergebnis-Bitsequenz zu erhalten. Die Eingangs-Bitsequenz stellt somit die Bitsequenz dar, die dem System als Eingang zur Durchführung der Operation zugeführt und bereitgestellt wird und stellt somit einen Teil der Operanden dar. Die Rechenoperation erfolgt dabei in der Regel bitweise. The input bit sequence in the sense of the present invention is the bit sequence on which the arithmetic increment or decrement operation is to be applied in order to obtain the result bit sequence. The input bit sequence thus represents the bit sequence which is supplied to the system as an input for carrying out the operation and is thus a part of the operands. The arithmetic operation is generally carried out bit by bit.
Erfindungsgemäß wird vorgeschlagen, dass aus der Eingangs-Bitsequenz, auf der die arithmetische Inkrement- oder Dekrementoperation durchgeführt werden soll, ein Eingangs-Paritätscode berechnet wird. Ein derartiger Paritätscode enthält eine Mehrzahl von Paritätsbits, wobei jedes Paritätsbit in Abhängigkeit von den Bitwerten eines Teils der Bits der Eingangs-Bitsequenz berechnet wird. Ein derartiger Paritätscode kann beispielsweise ein Hamming-Code sein, bei dem die einzelnen Paritätsbits jeweils aus einer Kombination verschiedener Bits der Eingangs-Bitsequenz berechnet werden. Bei dem Paritätscode handelt es sich somit um eine Folge von mehreren Bits, die jeweils für sich ein Paritätsbit darstellen, das sich aus einem Teil der Bits der Eingangs-Bitsequenz berechnen lässt. Die Anwendung des Schemas zur Berechnung des Paritätscodes auf die Eingangs-Bitsequenz erzeugt somit dann im Ergebnis den sogenannten Eingangs-Paritätscode.According to the invention, it is proposed that an input parity code be calculated from the input bit sequence on which the arithmetic increment or decrement operation is to be performed. Such a parity code includes a plurality of parity bits, each parity bit being calculated in response to the bit values of a portion of the bits of the input bit sequence. Such a parity code may, for example, be a Hamming code in which the individual parity bits are each calculated from a combination of different bits of the input bit sequence. The parity code is thus a series of several bits, each of which represents a parity bit that can be calculated from a portion of the bits of the input bit sequence. The application of the scheme for calculating the parity code to the input bit sequence thus generates the so-called input parity code as a result.
Im nächsten Schritt wird nun basierend auf dem Eingangs-Paritätscode ein Vorausberechnungs-Paritätscode berechnet, der eine Vorausberechnung der einzelnen Paritätsbits des Eingangs-Paritätscodes darstellt, so als ob die Inkrement- oder Dekrementoperation auf der Eingangs-Bitsequenz angewendet und der Paritätscode aus dem Ergebnis berechnet werden würde. Der Vorausberechnungs-Paritätscode stellt somit eine Vorausschau der Paritätsbits des Paritätscodes dar, so als ob die Paritätsbits entsprechend des Schemas des Paritätscodes aus der Ergebnis-Bitsequenz berechnet würden, ohne dass tatsächlich das Ergebnis berechnet und der Paritätscode dann ermittelt wird.In the next step, based on the input parity code, a preprocessing parity code is calculated which represents a prediction of the individual parity bits of the input parity code, as if the increment or decrement operation were applied to the input bit sequence and the parity code is calculated from the result would become. The pre-calculation parity code thus provides a look-ahead of the parity bits of the parity code as if the parity bits were calculated according to the parity code scheme from the result bit sequence without actually computing the result and then determining the parity code.
Der Vorausberechnungs-Paritätscode enthält somit jene Paritätsbits, die sich ergeben, wenn man den Paritätscode des Ergebnisses der Inkrement- oder Dekrementoperation berechnet.The pre-calculation parity code thus contains those parity bits which result when calculating the parity code of the result of the increment or decrement operation.
Dabei wird für jedes Paritätsbit des Eingangs-Paritätscodes festgestellt, ob eine ungerade Anzahl von des jeweilige Paritätsbit betreffenden Bits der Eingangs-Bitsequenz einen Bitwert aufweisen, welcher aufgrund einer arithmetischen Rechenregel der Inkrement- oder Dekrementoperation zu einer Umkehrung führen wird. Eine solche Rechenregel ist beispielsweise der Übertrag, wenn die beiden Operanden der Addition eins sind. Die Feststellung, ob eine ungerade Anzahl von des jeweiligen Paritätsbit betreffenden Bits der Eingangs-Bitsequenz ihren Bitwert ändern wird, lässt sich mit Hilfe einer Booleschen Algebra der in der Eingangs-Bitsequenz enthaltenen Bitwerte ermitteln.In this case, it is determined for each parity bit of the input parity code whether an odd number of bits of the input bit sequence relating to each parity bit have a bit value which will result in an inversion due to an arithmetic operation rule of the increment or decrement operation. Such a calculation rule is, for example, the carry if the two operands of the addition are one. The determination as to whether an odd number of bits of the input bit sequence concerning the respective parity bit will change their bit value can be determined with the aid of a Boolean algebra of the bit values contained in the input bit sequence.
Dabei wird für jedes Paritätsbit des Eingangs-Paritätscodes untersucht, ob eine ungerade Anzahl von Bits, die zur Berechnung des jeweiligen Paritätsbits des Paritätscodes aus der Eingangs-Bitsequenz benötigt werden, ihren Bitwert aufgrund der anzuwendenden arithmetischen Inkrement- oder Dekrementoperation ihren Bitwert ändern. Wurde eine solche Feststellung, beispielsweise mit Hilfe einer Booleschen Algebra, festgestellt, so wird das entsprechende Paritätsbit des Vorausberechnungs-Paritätscodes durch Umkehr des Paritätsbits des Eingangs-Paritätscodes ermittelt. Denn ändert sich eine ungerade Anzahl von denjenigen Bits, die zur Berechnung des entsprechenden Paritätsbits des Paritätscodes notwendig sind, ihren Bitwert, so hat dies bei der Berechnung des Paritätsbits eine Umkehr der Parität zur Folge. Mit anderen Worten, die Paritätsbits des Vorausberechnungs-Paritätscodes entsprechen der umgekehrten Parität der Paritätsbits des Eingangs-Paritätscodes, wenn für das jeweilige Paritätsbit eine solche ungerade Anzahl von das jeweilige Paritätsbit betreffenden Bits, die einen Bitwert ändern werden, festgestellt wurde. Andernfalls entspricht das jeweilige Paritätsbit des Vorausberechnungs-Paritätscodes den entsprechenden Paritätsbit des Eingangs-Paritätscodes.In doing so, for each parity bit of the input parity code, it is examined whether an odd number of bits needed to calculate the parity bit of the parity bit from the input bit sequence will change their bit value to their bit value due to the arithmetic increment or decrement operation to be applied. If such a determination has been made, for example by means of a Boolean algebra, the corresponding parity bit of the precomputation parity code is determined by reversing the parity bit of the input parity code. For if an odd number of those bits necessary to calculate the corresponding parity bit of the parity code changes its bit value, this will result in parity reversal in the calculation of the parity bit. In other words, the parity bits of the preprocessing parity code correspond to the inverse parity of the parity bits of the input parity code when an odd number of bits corresponding to each parity bit that will change one bit value has been detected for each parity bit. Otherwise, the respective parity bit of the precomputation parity code corresponds to the corresponding parity bit of the input parity code.
In einem zweiten Weg, der vorher parallel oder im Nachgang zu dem oben Genannten durchgeführt werden kann, wird eine Ergebnis-Bitsequenz berechnet, indem die Inkrement- oder Dekrementoperation auf die Eingangs-Bitsequenz angewendet wird. Anschließend wird ein Ergebnis-Paritätscode aus der Ergebnis-Bitsequenz entsprechend dem Berechnungsschema für den Eingangs-Paritätscode in Abhängigkeit von den jeweiligen Bitwerten der Ergebnis-Bitsequenz berechnet, so dass aus der Ergebnis-Bitsequenz ebenfalls die entsprechenden Paritätsbits des anzuwendenden Paritätscodes vorliegen. Das Berechnungsschema, d. h. die Art und Weise, wie die Paritätsbits des Paritätscodes berechnet werden, muss sowohl für den Eingangs-Paritätscode als auch den Ergebnis-Paritätscode identisch sein.In a second way, which may be performed previously in parallel with or subsequent to the above, a result bit sequence is calculated by applying the increment or decrement operation to the input bit sequence. Subsequently, a result parity code is calculated from the result bit sequence according to the input parity code calculation scheme in response to the respective bit values of the result bit sequence, so that the corresponding parity bits of the parity code to be applied are also available from the result bit sequence. The calculation scheme, d. H. the manner in which the parity bits of the parity code are computed must be identical for both the input parity code and the result parity code.
Nunmehr liegen die Ergebnisparitäten der Ergebnis-Bitsequenz sowie die Vorausberechnungs-Paritäten der Eingangs-Bitsequenz vor, so dass durch einen Vergleich der jeweiligen Vorausberechnungs-Paritäten mit den entsprechenden Ergebnis-Paritäten mögliche Bitfehler erkannt werden können. Sind sämtliche Paritätsbits des Vorausberechnungs-Paritätscodes mit den entsprechenden Paritätsbits des Ergebnis-Paritätscodes identisch, so liegt kein Fehler vor. Weist jedoch mindestens ein Paritätsbit des Vorausberechnungs-Paritätscodes einen anderen Wert auf als das entsprechende Paritätsbit des Ergebnis-Paritätscodes, so liegt ein Bitfehler vor. Dabei ist es unter Umständen sogar möglich, entsprechende Bitfehler zu korrigieren, wenn anhand des verwendeten Paritätscodes und eines erkannten Fehlers auf das entsprechende fehlerhafte Bit in der Bitsequenz geschlossen werden kann, was beispielsweise bei der Verwendung eines Hamming-Codes als Paritätscode möglich ist.The result parities of the result bit sequence and the preprocessing parities of the input bit sequence are now present, so that possible bit errors can be detected by comparing the respective preprocessing parities with the corresponding result parities. Are all Parity bits of the precomputation parity code are identical to the corresponding parity bits of the result parity code, so there is no error. However, if at least one parity bit of the prediction parity code has a value other than the corresponding parity bit of the result parity code, then there is a bit error. Under certain circumstances, it is even possible to correct corresponding bit errors if, based on the parity code used and a detected error, it is possible to conclude the corresponding erroneous bit in the bit sequence, which is possible, for example, when using a Hamming code as parity code.
Die vorliegende Erfindung hat dabei den wesentlichen Vorteil, dass bei der Durchführung von arithmetischen Inkrement- oder Dekrementoperationen neben den klassischen Einbit-Fehlern auch Zweibit-Fehler und Dreibit-Fehler sicher erkannt werden können, ohne dass es hierfür den Aufbau einer redundanten Ausführung bedarf. Dabei wurde erkannt, dass durch die Verwendung eines entsprechenden Paritätscodes auch Zweibit-Fehler und einige Mehrbit-Fehler sicher erkannt werden können. Dabei wird angenommen, dass die Vorausberechnung immer korrekt arbeitet. Bei einem erkannten Fehler kann dann das Gesamtsystem in einen sicheren Zustand überführt werden.The present invention has the significant advantage that when performing arithmetic increment or decrement operations in addition to the classic single-bit errors and two-bit error and Dreibit error can be reliably detected without this requires the construction of a redundant design. It was recognized that the use of a corresponding parity code also two-bit error and some multi-bit error can be reliably detected. It is assumed that the precalculation always works correctly. If a fault is detected, then the entire system can be transferred to a safe state.
Durch die Reduzierung der Abfrage für die Feststellung der prognostizierten Bitwertänderung, beispielsweise mittels Minimierung anhand einer Common Path Expression, kann der Kostenaufwand der Vorausberechnung unter den Kostenaufwand für eine redundante Ausführung gedrückt werden, so dass das vorliegende Verfahren beispielsweise deutlich weniger Siliziumfläche benötigt als eine redundante Ausführung der Berechnung.By reducing the query to determine the predicted bit value change, for example, by minimizing by common path expression, the cost of the prediction can be pushed below the cost of redundant execution so that the present method, for example, requires significantly less silicon area than a redundant implementation the calculation.
Zweckmäßigerweise wird für jedes Paritätsbit des Vorausberechnungs-Paritätscodes ein Fehlersyndrom in Abhängigkeit von dem jeweiligen Paritätsbit des Vorausberechnungs-Paritätscodes und dem entsprechenden Paritätscode des Ergebnis-Paritätscodes berechnet, wobei ein Bitfehler dann erkannt wird, wenn zumindest eines der Fehlersyndrome eine Fehlererkennung enthält. Hierzu weist das jeweilige Fehlersyndrom eine Fehlererkennung auf, die angibt, ob ein Fehler vorliegt oder nicht und gegebenenfalls was für ein Fehler vorliegt. Wird für die Ermittlung der Syndrome die XOR-Operation verwendet, so liegt ein Bitfehler immer dann vor, wenn zumindest eines der Syndrome der Paritäten des Paritätscodes ≠ 0 ist. Bei einem linearen Code ist ein Syndrom definiert als eine Operation eines empfangenen, gegebenenfalls ungültigen Codeworts am Empfänger mit einer Kontrollmatrix. Der einfachste Fall einer Syndrom-Operation ist die XOR-Operation.Conveniently, for each parity bit of the precomputation parity code, an error syndrome is calculated in response to the respective parity bit of the precomputation parity code and the corresponding parity code of the result parity code, wherein a bit error is detected when at least one of the error syndromes includes error detection. For this purpose, the respective error syndrome has an error detection which indicates whether or not there is an error and, if appropriate, what kind of error exists. If the XOR operation is used to determine the syndromes, then a bit error is always present if at least one of the parity code parity syndromes ≠ 0. In a linear code, a syndrome is defined as an operation of a received, possibly invalid code word at the receiver with a control matrix. The simplest case of a syndrome operation is the XOR operation.
In einer vorteilhaften Ausführungsform wird vorgeschlagen, dass die Eingangs-Bitsequenz, auf der die arithmetische Inkrement- oder Dekrementoperation angewendet werden soll und welche den arithmetischen Wert in binärer Form enthält, in einer Eingangs-Matrix so angeordnet wird, dass die Bits der Eingangs-Bitsequenz nacheinander zeilenweise in die Eingangs-Matrix eingeschrieben werden. So kann eine 32 Bit Eingangs-Bitsequenz in vier Zeilen à 8 Bit angeordnet werden, wobei die unterste Zeile die Bits 0 bis 7, die nächstfolgende Zeile die Bits 8 bis 15, die dritte Zeile die Bits 16 bis 23 und die vierte Zeile die Bits 24 bis 31 enthält.In an advantageous embodiment, it is proposed that the input bit sequence on which the arithmetic increment or decrement operation is to be applied and which contains the arithmetic value in binary form be arranged in an input matrix such that the bits of the input bit sequence are written successively line by line in the input matrix. Thus, a 32-bit input bit sequence may be arranged in four 8-bit lines, with the lowermost line being bits 0 through 7, the next line being bits 8 through 15, the third line being bits 16 through 23, and the fourth line being the bits 24 to 31 contains.
Die Bits werden dabei in der Matrix so angeordnet, dass sie zeilenweise angeordnet werden, d. h. die Bits werden jeweils ihrer Reihenfolge nacheinander in eine Zeile geschrieben, bis diese Zeile keine weiteren Bits mehr aufnehmen kann, so dass die nächsten Bits am Anfang der nächsten Zeile wieder der Reihenfolge nach folgend eingeordnet werden.The bits are arranged in the matrix so that they are arranged line by line, d. H. the bits are written one after another in a row in their order until this row can no longer receive more bits, so that the next bits at the beginning of the next row are again arranged sequentially.
Die Bits einer 32 Bit Sequenz können beispielsweise wie folgt angeordnet werden: The bits of a 32-bit sequence can be arranged, for example, as follows:
Im nächsten Schritt wird der Eingangs-Paritätscode berechnet, indem für jede Zeile und jede Spalte der Eingangs-Matrix ein Paritätsbit, das Bestandteil des Eingangs-Paritätscodes ist, in Abhängigkeit von den Bitwerten der die jeweilige Zeile oder Spalte betreffenden Bits der Eingangs-Bitsequenz berechnet wird. Somit ergeben sich für die jeweils vier Zeilen und die jeweils acht Spalten des oben genannten Beispiels insgesamt 12 Paritätsbits, die zusammen den Eingangs-Paritätscode bilden. Die Paritätsbits des Eingangs-Paritätscodes in dieser Form werden somit zeilen- und spaltenweise aus der Matrixanordnung berechnet.In the next step, the input parity code is calculated by calculating, for each row and each column of the input matrix, a parity bit which is part of the input parity code, in response to the bit values of the bits of the input bit sequence relating to that row or column becomes. Thus, the four lines and the eight columns of the above-mentioned example result in total 12 parity bits, which together form the input parity code. The parity bits of the input parity code in this form are thus calculated line by line and column by column from the matrix array.
Für das o. g. Beispiel einer 32 Bit Eingangs-Bitsequenz ergibt sich somit folgendes Schema: For the above example of a 32-bit input bit sequence, the following scheme thus results:
Dabei sind pr[0] bis pr[3] die Paritätsbits für die jeweiligen Zeilen und pc[0] bis pc[7] die Paritätsbits der jeweiligen Spalten der Eingangs-Matrix. Die Parität der jeweiligen Zeile oder Spalte lässt sich dabei anhand der bekannten Verfahren ermitteln, beispielsweise mittels der XOR-Operation. Für das o. g. Beispiel ergibt sich somit für die erste Zeile folgende Eingangs-Paritätsberechnung: Here, pr [0] to pr [3] are the parity bits for the respective rows, and pc [0] to pc [7] are the parity bits of the respective columns of the input matrix. The parity of the respective row or column can be determined using the known methods, for example by means of the XOR operation. For the example above, the following input parity calculation results for the first line:
Im nächsten Schritt wird nun ein Vorausberechnungs-Paritätscode berechnet, indem für jede Zeile und jede Spalte ein Vorausberechnungs-Paritätsbit auf Basis des Eingangs-Paritätscodes der Eingangs-Matrix berechnet wird, wobei die Vorausberechnungs-Paritätsbits diejenige Parität der jeweiligen Zeile oder Spalte darstellt, die nach der arithmetischen Inkrement- oder Dekrementoperation aus der Matrix berechnet werden würde. Die Vorausberechnungs-Paritäten für jede Zeile und jede Spalte stellen somit jene Paritäten dar, die sich ergeben, wenn man die Paritäten der Zeilen und Spalten des Ergebnisses der Inkrement- oder Dekrementoperation berechnet.In the next step, a precalculation parity code is now calculated by calculating, for each row and each column, a precomputation parity bit based on the input parity code of the input matrix, the preprocessing parity bits representing that parity of the particular row or column which after the arithmetic increment or decrement operation would be calculated from the matrix. The pre-calculation parities for each row and each column thus represent those parities that result when calculating the parities of the rows and columns of the result of the increment or decrement operation.
Bei der Berechnung der Vorausberechnungs-Paritätsbits wird dabei für jede Zeile und jede Spalte festgestellt, ob eine ungerade Anzahl von die jeweilige Zeile oder Spalte betreffenden Bits einen Bitwert aufweisen, welcher aufgrund einer arithmetischen Rechenregel der Inkrement- oder Dekrement-Operation zu einer Umkehrung führen wird. Die Feststellung, ob eine ungerade Anzahl von Bits ihren Bitwert ändern wird, lässt sich mit Hilfe einer boolesche Algebra der in der Eingangs-Bitsequenz enthaltenen Bitwerte ermitteln.In the calculation of the preprocessing parity bits, it is determined for each row and each column whether an odd number of bits concerning the respective row or column has a bit value which will result in an inversion due to an arithmetic operation rule of the increment or decrement operation , The determination of whether an odd number of bits will change their bit value can be determined by means of a Boolean algebra of the bit values contained in the input bit sequence.
Wird für die betreffende Zeile oder Spalte eine solche ungerade Anzahl von Bits festgestellt, so wird das Vorausberechnungs-Paritätsbit durch Umkehr des Eingangs-Paritätsbits der jeweiligen Zeile oder Spalte ermittelt, und sonst durch Nicht-Umkehr des entsprechenden Eingangs-Paritätsbit. Mit anderen Worten, die Vorausberechnungs-Parität einer Spalte oder Zeile entspricht der umgekehrten Eingangs-Parität der entsprechenden Zeile oder Spalte, wenn eine ungerade Anzahl von Bits ihren Bitwert ändern werden. Die Vorausberechnungs-Parität der jeweiligen Zeile oder Spalte entspricht der Eingangs-Parität der entsprechenden Zeile oder Spalte dann, wenn eine solche ungerade Anzahl von Bits, deren Bitwert sich ändern soll, nicht festgestellt wurde.If such an odd number of bits is detected for the particular row or column, the preprocessing parity bit is determined by reversing the input parity bit of the particular row or column, and otherwise by not reversing the corresponding input parity bit. In other words, the preprocessing parity of a column or row corresponds to the inverse input parity of the corresponding row or column when an odd number of bits will change their bit value. The preprocessing parity of the respective row or column corresponds to the input parity of the corresponding row or column when such an odd number of bits whose bit value is to change has not been detected.
Für das oben angesprochene Beispiel der 32 Eingangs-Bitsequenz lässt sich für die erste Zeile folgende Formel zur Berechnung der Vorausberechnungs-Parität bei einer Inkrement um 1 angeben: For the example of the 32 input bit sequence discussed above, the following formula can be used to calculate the preprocessing parity for an increment by 1 for the first row:
pr'[0] ist dabei die Vorausberechnungs-Parität der ersten Zeile der Eingangs-Matrix. Die o. g. Formel ermittelt dabei, ob gerade Anzahlen von Bits mit einem Bitwert = 1 existieren, so dass durch die Addition von 1 aufgrund des Übertrags sich sämtliche dieser Bits auf 0 ändern und dass sich an diese einer Folge anschließende abschließende Bit aufgrund des letzten Übertrages auf 1 ändert, so dass eine ungerade Anzahl von Bitwertänderungen feststellbar ist.pr '[0] is the preprocessing parity of the first row of the input matrix. The o. G. Formula determines whether there are even numbers of bits with a bit value = 1, so that by adding 1 due to the carry all of these bits change to 0 and that subsequent final bit following that one sequence changes to 1 due to the last carry , so that an odd number of bit value changes can be detected.
Nach Berechnung der Ergebnis-Bitsequenz wird nun gemäß dem Schema der Eingangs-Matrix die Ergebnis-Bitsequenz in einer Ergebnis-Matrix angeordnet, wobei auch hier die entsprechenden Paritäten der Zeilen und Spalten, beispielsweise mittels der XOR-Operation berechnet werden. Demnach liegen nunmehr der Ergebnis-Paritätscode vor, der die Ergebnis-Paritäten der Ergebnis-Bitsequenz enthält, sowie der Vorausberechnungs-Paritätscode, der die Vorausberechnungs-Paritäten der Eingangs-Bitsequenz enthält, so dass durch einen entsprechenden Vergleich der jeweiligen Vorausberechnungs-Paritäten mit den entsprechenden Ergebnis-Paritäten Bitfehler erkannt werden können.After calculating the result bit sequence, the result bit sequence is now arranged in a result matrix in accordance with the scheme of the input matrix, whereby the corresponding parities of the rows and columns, for example by means of the XOR operation, are also calculated here. Thus, there now exists the result parity code containing the result parities of the result bit sequence, and the pre-calculation parity code containing the pre-calculation parities of the input bit sequence, so that by comparing the respective pre-calculation parities with the corresponding one corresponding result parity bit errors can be detected.
Sind sämtliche Vorausberechnungs-Paritäten mit den entsprechenden Ergebnis-Paritäten identisch, so liegt kein Fehler vor. Weist jedoch mindestens eine Vorausberechnungs-Parität einer Zeile oder Spalte einen anderen Wert auf als die entsprechende Ergebnis-Parität, so liegt ein Bitfehler vor.If all the preprocessing parities are identical to the corresponding result parities, then there is no error. However, if at least one precalculation parity of a row or column has a different value than the corresponding result parity, then there is a bit error.
Hierdurch wird es möglich, dass bei der Durchführung von arithmetischen Inkrement- oder Dekrementoperationen neben den klassischen Einbit-Fehlern auch Zweibit- und Dreibit-Fehler sicher erkannt werden können, ohne dass es hierfür den Aufbau einer redundanten Ausführung bedarf. Dabei wurde erkannt, dass durch die spalten- und zeilenweise Berechnung der Paritäten Zweibit-Fehler und einige Mehrbit-Fehler sicher erkannt werden können, da sich die Paritäten nicht gegenseitig aufheben können. Werden beispielsweise zwei Bit in einer Spalte ungewollt verändert, so schlägt sich dies zwar nicht in der Parität der betreffenden Spalte nieder, so dass an dieser Stelle noch nicht sicher ein Fehler erkannt werden könnte. Allerdings sind dann zumindest zwei Zeilen-Paritäten derart betroffen, dass deren Wert von den entsprechenden Ergebnis-Paritäten abweicht.This makes it possible that when performing arithmetic increment or decrement operations in addition to the classic one-bit errors and two-bit and three-bit errors can be reliably detected without this requires the construction of a redundant design. It was recognized that the two-bit errors and some multi-bit errors can be reliably detected by calculating the parities by column and line, since the parities can not cancel each other out. If, for example, two bits in a column are changed inadvertently, this does not result in the parity of the relevant column, so that an error could not yet be reliably detected at this point. However, then at least two line parities are affected so that their value deviates from the corresponding result parities.
Hierbei ist es vorteilhaft, wenn festgestellt wird, ob genau ein Spalten-Syndrom aus den Syndromen der Spalten eine Fehlerkennung aufweist und genau ein Zeilen-Syndrom der Syndrome der Zeilen eine Fehlerkennung aufweist, was auf einen 1 Bit-Fehler schließen lässt, und wobei in Abhängigkeit der Zeile und der Spalte der Syndrome, die eine Fehlerkennung aufweisen, das entsprechende Fehlerbit in der Ergebnis-Bitsequenz lokalisiert wird.In this case, it is advantageous if it is determined whether exactly one column syndrome from the syndromes of the columns has a misrecognition and exactly one row syndrome of the syndromes of the rows has a misrecognition, which implies a 1-bit error, and wherein Dependence of the line and the column of the syndromes having an error detection, the corresponding error bit is located in the result bit sequence.
In diesem Fall ist es möglich, den 1 Bit-Fehler aufgrund der Lokalisierung der Fehlerquelle innerhalb der Bitsequenz zu korrigieren.In this case, it is possible to correct the 1-bit error due to the location of the error source within the bit sequence.
Hiermit lassen sich auch ungerade Mehrbitfehler korrigieren, die in einer gemeinsamen Zeile oder einer gemeinsamen Spalte liegen. Hierfür wird ermittelt, ob genau ein Spalten-Syndrom und eine ungerade Anzahl von Zeilen-Syndromen eine Fehlerkennung aufweisen oder ob genau ein Zeilen-Syndrom und eine ungerade Anzahl von Spalten-Syndromen eine Fehlerkennung aufweisen.It can also be used to correct odd multibit errors that are in a common row or column. For this purpose, it is determined whether exactly one column syndrome and one odd number of row syndromes have an error detection or if exactly one row syndrome and an odd number of column syndromes have an error detection.
Vorteilhafterweise wird für die Berechnung der Vorausberechnungs-Paritäten festgestellt, ob ausgehend von einem Pivot-Bit (das mit dem geringsten Wert), an dem die arithmetische Inkrement- oder Dekrement-Operation durchgeführt wird oder beginnt, in der Eingangs-Bitsequenz eine zusammenhängende Teil-Bitsequenz existiert, bei der sich aufgrund der arithmetischen Rechenregel alle Bitwerte ändern und ob eine ungerade Anzahl von Bits der zusammenhängenden Teil-Bitsequenz der entsprechenden Zeile zugeordnet ist. Hierdurch lassen sich auch ungerade Anzahlen von Bitwertänderungen innerhalb einer Zeile feststellen, die in der Reihenfolge nach den Zeilen kommt, in der das Pivot-Bit liegt. Denn aufgrund der arithmetischen Rechenregel kann sich eine Bitwertänderung in einer Zeile bis in eine andere Zeile und darüber hinaus aufsummieren.Advantageously, for the calculation of the preprocessing parities, it is determined whether, starting from a pivot bit (the one with the lowest value) at which the arithmetic increment or decrement operation is performed or begins, in the input bit sequence a coherent partial Bit sequence exists in which all bit values change due to the arithmetic calculation rule and whether an odd number of bits of the contiguous sub-bit sequence is assigned to the corresponding line. This also allows odd numbers of bit value changes within a line to be determined, which comes in the order of the lines in which the pivot bit is located. Because of the arithmetic calculation rule, a bit value change in a line can add up to another line and beyond.
Entsprechendes gilt auch für die jeweiligen Spalten, wobei auch hier festgestellt wird, ob ausgehend von einem Pivot-Bit, an dem die arithmetische Inkrement- oder Dekrementoperation durchgeführt wird, in der Eingangs-Bitsequenz eine zusammenhängende Teil-Bitsequenz existiert, bei der sich alle Bitwerte ändern und bei der zumindest eine ungerade Anzahl von Bits der entsprechenden Spalte zugeordnet ist.The same applies to the respective columns, it also being determined here whether, starting from a pivot bit on which the arithmetic increment or decrement operation is carried out, a contiguous partial bit sequence exists in the input bit sequence in which all bit values and at least an odd number of bits are assigned to the corresponding column.
Mit Hilfe dieser Grundsätze lassen sich somit für jede Zeile und jede Spalte die Paritäten des Ergebnisses der Inkrement- oder Dekrementoperation vorausberechnen, ohne dass die arithmetische Inkrement- oder Dekrementoperation tatsächlich durchgeführt werden muss.Using these principles, the parities of the result of the increment or decrement operation can thus be predicted for each row and each column without actually having to perform the arithmetic increment or decrement operation.
In einer alternativen Ausführungsform wird als Eingangs-Paritätscode ein linearer Block-Code, beispielsweise ein Hamming-Code, aus der Eingangs-Bitsequenz berechnet, indem jedes Paritätsbit des linearen Block-Codes in Abhängigkeit von den Bitwerten der für das jeweilige Paritätsbit des linearen Block-Codes vorgegebenen Bits der Eingangs-Bitsequenz berechnet wird. Anschließend wird der so aus der Eingangs-Bitsequenz berechnete lineare Block-Code als Vorausberechnungs-Paritätscode vorausberechnet, indem, entsprechend dem bereits Vorhergesagten, festgestellt wird, ob eine ungerade Anzahl von das jeweilige Paritätsbit des linearen Block-Codes betreffenden Bits der Eingangs-Bitsequenz einen Bitwert aufweisen, welcher aufgrund der arithmetischen Rechenregel der Inkrement- oder Dekrementoperation zu einer Umkehrung führen wird, wobei das vorausberechnete Paritätsbit des linearen Block-Codes durch Umkehrung des entsprechenden Paritätsbits des linearen Bock-Codes als Eingangs-Paritätscode berechnet wird.In an alternative embodiment, as input parity code, a linear block code, for example a Hamming code, is calculated from the input bit sequence by dividing each parity bit of the linear block code in response to the bit values of the respective parity bit of the linear block code. Codes predetermined bits of the input bit sequence is calculated. Then, the linear block code thus calculated from the input bit sequence is precomputed as the preprocessing parity code by judging whether or not an odd number of bits of the input bit sequence concerning the respective parity bit of the linear block code is determined Bit value, which will result in an inverse due to the arithmetic operation rule of the increment or decrement operation, where the pre-calculated parity bit of the linear block code is calculated by inverting the corresponding parity bit of the linear buck code as the input parity code.
Mit anderen Worten, es wird für ein Paritätsbit des linearen Block-Codes überprüft, ob sich eine ungerade Anzahl derjenigen Bits, aus denen das Paritätsbit entsprechend des Berechnungsschemas des linearen Block-Codes berechnet wird, aufgrund der arithmetischen Rechenregel ihren Bitwert ändern oder nicht. Wird eine solche ungerade Anzahl festgestellt, so wird das aus der Ergebnis-Bitsequenz ermittelte Paritätsbit des linearen Block-Codes umgekehrt, um das Paritätsbit vorauszuberechnen. Andernfalls verbleibt es unverändert. Eine derartige Abfrage kann beispielsweise mit Hilfe einer Booleschen Algebra über die betreffenden Bits der jeweiligen Paritätsbits des linearen Block-Codes durchgeführt werden.In other words, it is checked for a parity bit of the linear block code whether or not an odd number of those bits from which the parity bit is calculated according to the linear block code calculation scheme change its bit value based on the arithmetic operation rule. If such an odd number is detected, the parity bit of the linear block code determined from the result bit sequence is reversed to precompute the parity bit. Otherwise it remains unchanged. Such a query may be performed, for example, by means of a Boolean algebra over the respective bits of the respective parity bits of the linear block code.
Nach Berechnung der Ergebnis-Bitsequenz wird ein linearer Block-Code als Ergebnis-Paritätscode berechnet, und zwar aus der Ergebnis-Bitsequenz, und mit den vorausberechneten Paritäten des linearen Block-Codes verglichen, wobei hierbei nicht nur Fehler erkannt werden können, sondern gegebenenfalls auch korrigiert werden können, wenn der lineare Block-Code auch Bitfehler korrigieren kann. Je nach Paritätsbit, das einen entsprechenden Fehler zeigt, kann dann auf einen entsprechenden Fehler geschlossen werden.After calculating the result bit sequence, a linear block code is calculated as the result parity code from the result bit sequence and compared with the precalculated parities of the linear block code, whereby not only errors but also possibly errors can be detected can be corrected if the linear block code can also correct bit errors. Depending on the parity bit, which shows a corresponding error, it can then be concluded that a corresponding error.
Grundsätzlich schließt das Korrigieren eines Bitfehlers per Definition auch das Erkennen eines Bitfehlers mit ein.Basically, correcting a bit error by definition also includes detecting a bit error.
In dieser Ausführungsform ist es besonders vorteilhaft, wenn der lineare Block-Code ein Hamming-Code ist, der vielfältig Anwendung findet und teilweise auch als Hardware-Implementation vorliegt. Beim Hamming-Code wird je nach Länge der Eingangs-Bitsequenz eine vorgegebene Anzahl von Paritätsbits aus der Eingangs-Bitsequenz erzeugt, wobei für jedes Paritätsbit eine unterschiedliche Kombination von Bits aus der Eingangs-Bitsequenz verwendet wird. Bei einer 32-Bit-Eingangs-Bitsequenz ergibt sich dabei das erste Paritätsbit p1 des Hamming-Codes wie folgt: In this embodiment, it is particularly advantageous if the linear block code is a Hamming code that has many applications and is also partially implemented as a hardware implementation. The Hamming code generates a predetermined number of parity bits from the input bit sequence, depending on the length of the input bit sequence, using a different combination of bits from the input bit sequence for each parity bit. In the case of a 32-bit input bit sequence, the first parity bit p 1 of the Hamming code results as follows:
Um nun dieses Paritätsbit p1 des Hamming-Codes für ein 32-Bit-Eingang-Bitsequenz vorauszuberechnen, wird festgestellt, ob aus der Menge der zur Berechnung von p1 notwendigen Bits der Eingangs-Bitsequenz eine ungerade Anzahl von Bits aufgrund der arithmetischen Rechenoperation ihren Bitwert ändern. So kann das Paritätsbit p1 des Hamming-Codes mit Hilfe der nachstehenden Formel vorausberechnet werden: To precede this parity bit p 1 of the Hamming code for a 32-bit input bit sequence, it is determined whether out of the set of bits of the input bit sequence necessary to calculate p 1 an odd number of bits due to the arithmetic operation Change bit value. Thus, the parity bit p 1 of the Hamming code can be precalculated using the formula below:
Gemäß dieser Formel führt die Parität p1 zu einer Umkehr, wenn eine ungerade Anzahl von Bits, die für die Berechnung des ersten Paritätsbit des Hamming-Paritätscodes notwendig sind, entsprechend festgestellt wurde. Dann wird der Ausdruck hinter dem XOR logisch 1, was zu einer Umkehrung von p1 führt.According to this formula, the parity p 1 leads to a reversal when an odd number of bits necessary for the calculation of the first parity bit of the Hamming parity code has been detected accordingly. Then the expression behind the XOR becomes
Gemäß diesem Prinzip lassen sich somit alle weiteren Paritätsbits des Hamming-Codes vorausberechnen, indem jedes Mal festgestellt wird, ob eine ungerade Anzahl von die jeweiligen Paritätsbits betreffenden Bits der Eingangs-Bitsequenz ihren Bitwert ändern.According to this principle, all further parity bits of the Hamming code can thus be precalculated by determining each time whether an odd number of bits of the input bit sequence concerning the respective parity bits change their bit value.
In einer weiteren vorteilhaften Ausführungsform, die zusätzlich zu den beiden vorherigen Ausführungsformen oder auch alternativ dazu gesehen werden kann, wird zusätzlich ein erweitertes Eingangs-Paritätsbit berechnet, welches in Abhängigkeit von den Bitwerten aller Bits der Eingangs-Bitsequenz und aller Paritätsbits des Eingangs-Paritätscodes berechnet wird. Dieses erweiterte Eingangs-Paritätsbit kann dann als Erweiterung des Eingangs-Paritätscodes betrachtet werden. So kann beispielsweise bei einem Hamming-Code über eine 32-Bit-Eingangs-Bitsequenz dieses zusätzliche erweiterte Eingangs-Paritätsbit durch die nachstehende Formel ermittelt werden: wobei sich die zugrunde gelegten Bits der Eingangs-Bitsequenz auf die angegebenen Bits aufgrund der Redundanz des Paritätscodes reduzieren lassen.In a further advantageous embodiment, which can be seen in addition to the two previous embodiments or also alternatively, an extended input parity bit is calculated, which is calculated in dependence on the bit values of all bits of the input bit sequence and all parity bits of the input parity code becomes. This extended input parity bit may then be considered an extension of the input parity code. For example, for a Hamming code via a 32-bit input bit sequence, this additional extended input parity bit can be determined by the following formula: wherein the underlying bits of the input bit sequence can be reduced to the specified bits due to the redundancy of the parity code.
Dieses erweiterte Eingangs-Paritätsbit lässt sich dann ebenso wie die übrigen Paritätsbits vorausberechnen, indem ebenfalls festgestellt wird, ob die betreffenden Bits zur Berechnung des erweiterten Paritätsbits eine ungerade Anzahl von Bits aufweisen, die aufgrund der arithmetischen Rechenoperation zu einer Umkehrung führen würden. Durch Vergleich dieses vorausberechneten erweiterten Paritätsbits mit dem berechneten erweiterten Ergebnis-Paritätsbits lässt sich dann sicher Zweibit-Fehler detektieren und gegebenenfalls korrigieren.This extended input parity bit can then be precalculated as well as the remaining parity bits by also determining whether the respective bits for computing the extended parity bit have an odd number of bits which would result in a reversal due to the arithmetic operation. By comparing this precalculated extended parity bit with the calculated extended result parity bits, two-bit errors can then be safely detected and, if necessary, corrected.
Um den Aufwand bei der Erkennung von Bitfehlern gemäß der vorliegenden Erfindung zu reduzieren, wird des Weiteren vorteilhafterweise vorgeschlagen, dass ein derartiges Verfahren nicht jedes Mal durchgeführt wird, sondern lediglich in Situationen, in denen die Vorausberechnung des Paritätscodes relativ einfach realisiert werden kann. So führt bei einer einfachen Inkrementoperation die Tatsache, dass das Pivot-Bit eine logische „0” aufweist, in der Regel lediglich dazu, dass sämtliche Paritätsbits des Paritätscodes, die sich auf das Pivot-Bit beziehen, ihre Parität umkehren, während die übrigen Paritätsbits des Paritätscodes unverändert verbleiben. Ein solcher Fall liegt in 50% der Fälle vor. Das Gleiche gilt beispielsweise bei der Konstellation, bei dem das Pivot-Bit eine logische „1” aufweist und das nachfolgende Bit eine logische „0” aufweist, so dass auch hier nur diejenigen Paritätsbits des Paritätscodes vorausberechnet werden müssen, die sich auf diese beiden Bits beziehen. Bei der Verwendung eines Hamming-Codes als Paritätscode wären dies immerhin lediglich nur die ersten beiden Paritätsbits des Hamming-Codes.Further, in order to reduce the burden of detecting bit errors according to the present invention, it is advantageously suggested that such a method is not performed every time, but only in situations where the parity code precursors are relatively simple can be realized. Thus, in a simple increment operation, the fact that the pivot bit has a logic "0" usually only results in all parity bits of the parity code relating to the pivot bit reversing their parity, while the remaining parity bits of the parity code remain unchanged. Such a case is present in 50% of the cases. The same applies, for example, to the constellation in which the pivot bit has a logic "1" and the following bit has a logical "0", so that only those parity bits of the parity code which are based on these two bits must be calculated in advance Respectively. When using a Hamming code as a parity code, these would only be the first two parity bits of the Hamming code.
Es ist daher ganz besonders vorteilhaft, wenn zunächst festgestellt wird, ob sich innerhalb einer zusammenhängenden Teil-Bitsequenz der Eingangs-Bitsequenz, die eine vorgegebene Bitlänge aufweist, die Umkehrung der arithmetischen Rechenwege der Inkrement- oder Dekrementoperation erschöpft, d. h. dass aufgrund der arithmetischen Rechenregel ein Übertrag außerhalb der Teil-Bitsequenz mit vorgegebener Bitlänge nicht erfolgt. Wurde eine derartige Feststellung getroffen, d. h. dass eine Umkehrung nur innerhalb einer vorgegebenen Teil-Bitsequenz erfolgt, so werden letztendlich für die Vorausberechnung der einzelnen Paritätsbits zur Ermittlung des Vorausberechnungs-Paritätscodes nur diejenigen Paritätsbits vorausberechnet, bei denen mindestens ein Bit der Eingangs-Bitsequenz zur Berechnung des jeweiligen Paritätsbits in der Teil-Bitsequenz liegt. Die übrigen Paritätsbits müssen demnach dann nicht vorausberechnet werden, da diese Paritätsbits ohne die Bits der Teil-Bitsequenz berechnet werden und es somit unabhängig von dem Ergebnis nie zu einem Paritätswechsel bei diesen Paritätsbits kommen kann.It is therefore particularly advantageous to first determine whether, within a contiguous sub-bit sequence of the input bit sequence having a predetermined bit length, the inverse of the arithmetic arithmetic paths of the increment or decrement operation is exhausted, i. H. that due to the arithmetic calculation rule, a carry outside the sub-bit sequence with a predetermined bit length does not occur. If such a finding has been made, i. H. that an inversion takes place only within a predetermined sub-bit sequence, only the parity bits for which the precomputation parity code is precalculated are precalculated in which at least one bit of the input bit sequence is used to calculate the respective parity bit in the partial parity bit. Bit sequence is. Accordingly, the remaining parity bits need not be calculated in advance since these parity bits are calculated without the bits of the sub-bit sequence and thus, irrespective of the result, there can never be a parity change in these parity bits.
Dies hat den entscheidenden Vorteil, dass eine Überprüfung des Ergebnisses und somit ein Erkennen der Bitfehler relativ schnell und ohne viel Aufwand durchgeführt werden kann, was sich jedoch mit der Tatsache erkauft wird, dass eine derartige Bitfehlererkennung nicht immer durchgeführt werden kann.This has the decisive advantage that a check of the result and thus a recognition of the bit errors can be carried out relatively quickly and without much effort, which is, however, provided by the fact that such a bit error detection can not always be carried out.
Die Aufgabe wird im übrigen auch mit einem Computerprogramm mit Programmcodemitteln, insbesondere auch einem maschinenlesbaren Träger gespeichert, eingerichtet zur Durchführung des Verfahrens gelöst, wenn das Computerprogramm auf einer Datenverarbeitungsanlage abläuft.The task is also stored with a computer program with program code means, in particular also a machine-readable carrier, set up for carrying out the method when the computer program runs on a data processing system.
Die Erfindung wird im Übrigen auch mit einer Halbleiterschaltung gemäß Anspruch 7, eingerichtet zur Durchführung des Verfahrens, gelöst. Vorteilhafte Ausgestaltungen der Halbleiterschaltung befinden sich in den entsprechenden Unteransprüchen.Incidentally, the invention is also achieved with a semiconductor circuit according to claim 7, set up for carrying out the method. Advantageous embodiments of the semiconductor circuit are located in the corresponding subclaims.
Die Aufgabe wird im übrigen auch mit einem Computersystem gemäß Anspruch 9 gelöst, wobei das Computersystem eingerichtet ist, mittels eines Mikroprozessors das vorstehend beschriebene Verfahren durchzuführen.Incidentally, the object is also achieved with a computer system according to claim 9, wherein the computer system is set up to carry out the method described above by means of a microprocessor.
Die Erfindung wird anhand der beigefügten Zeichnung beispielhaft näher erläutert. Es zeigt:The invention will be described by way of example with reference to the accompanying drawings. It shows:
Als Ergebnis liefert die ALU eine Ergebnis-Bitsequenz r[0...n], die das Resultat der arithmetischen Inkrement- oder Dekrementoperation enthält.As a result, the ALU provides a result bit sequence r [0 ... n] containing the result of the arithmetic increment or decrement operation.
Um nun bei einer derartigen arithmetischen Rechenoperation Bitfehler bei der Berechnung in der ALU feststellen zu können, wird parallel zu der ALU eine Paritäts-Vorausberechnungsbaugruppe
Die Bitfehler-Erkennungsbaugruppe
Die Bitfehler-Erkennungsbaugruppe
Eine solche Einbettung ist beispielsweise im Bereich des Programm Counters vorteilhaft, der in
1. Ausführungsbeispiel1st embodiment
Das nachfolgende Beispiel zeigt die Berechnung der Vorausberechnungs-Paritäten eines matrixartigen Paritätscodes bei einer 32 Bit Eingangs-Bitsequenz.The following example shows the calculation of the preprocessing parities of a matrix parity code in a 32 bit input bit sequence.
Zunächst wird die Eingangs-Bitsequenz b[0...31] in einer Matrix zeilenweise und aufeinander folgend angeordnet, so wie nachfolgend gezeigt.First, the input bit sequence b [0 ... 31] is arranged in a matrix line by line and consecutively, as shown below.
Anschließend wird für jede Zeile und jede Spalte die Parität berechnet. Die Eingangs-Paritäten der Zeilen ergeben sich dabei wie folgt: Then parity is calculated for each row and each column. The input parities of the rows are as follows:
Die Eingangs-Paritäten für die Spalten ergeben sich dabei aus den folgenden Gleichungen: The input parities for the columns result from the following equations:
Die Eingangs-Paritäten für die Spalten und die Zeilen ergeben zusammen den Eingangs-Paritätscode.The input parities for the columns and rows together form the input parity code.
Die Vorausberechnungs-Paritäten dieses Paritätscodes werden nun derart berechnet, dass zunächst festgestellt wird, ob in der entsprechenden Zeile oder Spalte eine ungerade Anzahl von Bits vorhanden ist, deren Bitwerte sich aufgrund der Rechenwege ändern werden, wobei dann die Vorausberechnungs-Parität aus der Umkehr der entsprechenden Eingangs-Parität berechnet wird, und ansonsten aus der Nicht-Umkehr der Eingangs-Paritäten.The precomputation parities of this parity code are then computed to first determine if there is an odd number of bits in the corresponding row or column whose bit values will change due to the computation paths, then the preprocessing parity will result from the inverse of the corresponding input parity, and otherwise from the non-inversion of the input parities.
Für die Vorausberechnungs-Paritäten der Zeilen ergeben sich demnach folgende Gleichungen: The following equations thus result for the preprocessing parities of the rows:
Für die Vorausberechnungs-Paritäten der Spalten ergeben sich die folgenden Gleichungen: For the pre-calculation parities of the columns, the following equations result:
Anschließend werden aus der Ergebnis-Bitsequenz, die sich durch Anwendung der Inkrement- oder Dekrementoperation auf die Eingangs-Bitsequenz ergibt, ebenfalls der Paritätscode gemäß dem Eingangs-Paritätscode berechnet, indem die Ergebnis-Bitsequenz zeilenweise in einer Matrix angeordnet wird und dann die Zeilen- und Spaltenparitäten entsprechend des Eingangs-Paritätscodes berechnet werden.Then, from the result bit sequence obtained by applying the increment or decrement operation to the input bit sequence, the parity code is also calculated according to the input parity code by arranging the result bit sequence line by line in a matrix, and then dividing the line bit sequence. and column parities are calculated according to the input parity code.
Durch Vergleich der Vorausberechnungs-Paritäten pc' und pr' mit den Ergebnis-Paritäten pc'' und pr'' der Ergebnis-Bitsequenz lässt sich sodann feststellen, ob ein Bitfehler vorhanden ist oder nicht. Dabei lassen sich auch Zweibit-Fehler, Dreibit-Fehler und einige Mehrbit-Fehler mit Sicherheit erkennen.By comparing the precomputation parities pc 'and pr' with the result parities pc "and pr" of the result bit sequence, it can then be determined whether or not there is a bit error. It also detects two-bit errors, three-bit errors and some multi-bit errors with certainty.
Eine derartige Erkennung kann beispielsweise mit Hilfe von Fehlersyndromen gemäß den folgenden Gleichungen ermittelt werden: Such recognition can be determined, for example, by means of error syndromes according to the following equations:
Jedes Syndrom (XOR-Operation) liefert somit 1 als Fehlerkennung, wenn ein Fehler vorliegt oder 0, wenn kein Fehler vorliegt. Durch Aufsummierung (OR-Operation) lässt sich somit eine gesamte Fehlerkennung ermitteln.Each syndrome (XOR operation) thus returns 1 as an error code if there is an error or 0 if there is no error. By adding up (OR operation) an entire error detection can thus be determined.
Für die Vorausberechnungs-Paritäten der Zeilen ergeben sich für eine Dekrementoperation um 1 in Bezug auf eine 32 Bit Eingangs-Bitsequenz folgende Gleichungen: For the preprocessing parities of the rows, for a decrement operation of one with respect to a 32 bit input bit sequence, the equations are as follows:
Für die Vorausberechnungs-Paritäten der Spalten bei einer Dekrement-Operation um 1 ergeben sich demnach die folgenden Gleichungen: The precomputation parities of the columns for a decrement operation of 1 result in the following equations:
2. Ausführungsbeispiel2nd embodiment
Gemäß der zweiten Alternative kann der zugrunde gelegte Paritätscode ein linearer Block-Code sein. Nachfolgend wird die vorliegende Erfindung anhand des Hamming-Codes als Paritätscode beispielhaft näher erläutert.According to the second alternative, the underlying parity code may be a linear block code. Hereinafter, the present invention will be described by way of example with reference to the Hamming code as a parity code.
Bei der Berechnung des Hamming-Codes für eine 32-Bit-Bitsequenz werden zunächst insgesamt sechs Paritätsbits benötigt, die sich jeweils aus unterschiedlichen Bits der 32-Bit-Bitsequenz berechnen. Wie in der nachstehenden Tabelle gezeigt, wird die 32-Bit-Bitsequenz d0 bis d31 um zusätzliche sechs Paritätsbits an entsprechenden Stellen erweitert: When calculating the Hamming code for a 32-bit bit sequence, a total of six parity bits are first required, each calculated from different bits of the 32-bit bit sequence. As shown in the table below, the 32-bit bit sequence d 0 to d 31 is extended by an additional six parity bits at corresponding locations:
Die Paritätsbits p1 bis p6 des Hamming-Codes werden dann wie folgt berechnet: The parity bits p 1 to p 6 of the Hamming code are then calculated as follows:
Somit wurde im ersten Schritt aus der 32-Bit-Eingangs-Bitsequenz b0 bis b31 der Hamming-Code als Eingangs-Paritätscode mit den Paritätsbits p1 bis p6 entsprechend den vorgegebenen Formeln berechnet.Thus, in the first step, from the 32-bit input bit sequence b 0 to b 31, the Hamming code was calculated as the input parity code having the parity bits p 1 to p 6 according to the predetermined formulas.
Im anschließenden Schritt wird dieser Eingangs-Paritätscode mit seinen Paritätsbits vorausberechnet, indem für jedes Paritätsbit des Hamming-Codes der Wert des Paritätsbits entsprechend vorausberechnet wird. Hierbei liegt die Idee zugrunde, dass diejenigen Bits der einzelnen Paritätsbits, die für die Berechnung des jeweiligen Paritätsbits notwendig sind, entsprechend so untersucht werden, dass festgestellt wird, ob sich eine ungerade Anzahl von Bits der für die Berechnung des jeweiligen Paritätsbits notwendigen Bits zu einer Umkehrung führen wird, so dass im Ergebnis auch das jeweilige Paritätsbit eine Umkehrung in seinem Wert erfährt.In the subsequent step, this input parity code is precalculated with its parity bits by precomputing the value of the parity bit for each parity bit of the Hamming code. This is based on the idea that those bits of the individual parity bits, which are necessary for the calculation of the respective parity bit, are examined in such a way that it is determined whether an odd number of bits of the bits necessary for the calculation of the respective parity bit become one Inversion will result, so that in the result also the respective parity bit undergoes a reversal in its value.
Für die Vorausberechnungs-Paritäten des Vorausberechnungs-Paritätscodes in Form eines Hamming-Codes ergeben sich demnach folgende Gleichungen: The precomputation parities of the precomputation parity code in the form of a Hamming code result in the following equations:
Demgegenüber wird nun aus der Ergebnis-Bitsequenz ebenfalls der Hamming-Code mit seinen Paritätsbits p1'' bis p6'' ermittelt, sodass nunmehr die Vorausberechnungs-Paritäten des Hamming-Codes sowie die Ergebnis-Paritäten des Hamming-Codes vorliegen. Durch Vergleich der Paritäten lässt sich dann feststellen, ob ein Bitfehler vorliegt oder nicht. Darüber hinaus kann ein solcher Bitfehler aufgrund des Hamming-Codes auch gegebenenfalls korrigiert werden.In contrast, the Hamming code with its parity bits p 1 "to p 6 " is now also determined from the result bit sequence, so that now the precalculation parities of the Hamming code and the result parities of the Hamming code are present. By comparing the parities can then be determined whether a bit error is present or not. In addition, such a bit error may also be corrected due to the Hamming code.
Um aus dem Hamming-Code, der einen Hamming-Abstand von 3 besitzt, einen Code zu generieren, der einen Hamming-Abstand von 4 besitzt und die Detektierung von Zweibit-Fehlern erlaubt, wird im erweiterten Hamming-Code noch ein weiteres gerades Paritätsbit p7 über alle Daten und bisherigen Paritätsbits des jeweiligen Hamming-Codes hinzugefügt. Dieses zusätzliche Paritätsbit kann auf die XOR-Verknüpfung aller Bits, die in ungerader Anzahl vorkommen, reduziert werden. Für die Auswertung zur Erkennung der Bitfehler folgt nun: In order to generate from the Hamming code, which has a Hamming distance of 3, a code that has a Hamming distance of 4 and allows the detection of two-bit errors, in the extended Hamming code, another even parity bit p 7 is added over all data and past parity bits of the respective Hamming code. This extra parity bit may point to the XOR of all Bits that occur in odd number can be reduced. For the evaluation to detect the bit errors follows:
ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.
Zitierte PatentliteraturCited patent literature
- US 6990507 B2 [0008] US 6990507 B2 [0008]
Claims (13)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102013112020.2A DE102013112020B4 (en) | 2013-10-31 | 2013-10-31 | Method and device for detecting bit errors |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102013112020.2A DE102013112020B4 (en) | 2013-10-31 | 2013-10-31 | Method and device for detecting bit errors |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102013112020A1 true DE102013112020A1 (en) | 2015-04-30 |
DE102013112020B4 DE102013112020B4 (en) | 2016-04-07 |
Family
ID=52811532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102013112020.2A Expired - Fee Related DE102013112020B4 (en) | 2013-10-31 | 2013-10-31 | Method and device for detecting bit errors |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102013112020B4 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220245023A1 (en) * | 2018-07-16 | 2022-08-04 | Taiwan Semiconductor Manufacturing Co., Ltd. | Detection and correction of data bit errors using error correction codes |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6990507B2 (en) | 2002-05-21 | 2006-01-24 | Hewlett-Packard Development Company, L.P. | Parity prediction for arithmetic increment function |
-
2013
- 2013-10-31 DE DE102013112020.2A patent/DE102013112020B4/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6990507B2 (en) | 2002-05-21 | 2006-01-24 | Hewlett-Packard Development Company, L.P. | Parity prediction for arithmetic increment function |
Non-Patent Citations (2)
Title |
---|
Poolakkaparambil, M. u.a: BCH code based multiple bit error correction in finite field multiplier circuits. Quality Electronic Design (ISQED), 2011 12th International Symposium on, März 2011 * |
Russell, Gordon; Sayers, Ian L. : Advanced simulation and test methodologies for VLSI design. 1. publ. . London : van Nostrand Reinhold, 1989. ISBN: 0-7476-0001-5, S. 287 - 298 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220245023A1 (en) * | 2018-07-16 | 2022-08-04 | Taiwan Semiconductor Manufacturing Co., Ltd. | Detection and correction of data bit errors using error correction codes |
US11740960B2 (en) * | 2018-07-16 | 2023-08-29 | Taiwan Semiconductor Manufacturing Co., Ltd. | Detection and correction of data bit errors using error correction codes |
Also Published As
Publication number | Publication date |
---|---|
DE102013112020B4 (en) | 2016-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102011085602B4 (en) | Apparatus and method for correcting at least one bit error in a coded bit sequence | |
DE2262070A1 (en) | ERROR CORRECTION SYSTEM WORKING WITH SLIDING REGISTERS | |
DE2060643A1 (en) | Circuit arrangement for correcting individual errors | |
DE102017103347B4 (en) | PROCESSING OF DATA IN MEMORY CELLS OF A MEMORY | |
DE2456709C2 (en) | Circuit arrangement for error detection and correction | |
DE102005022107B9 (en) | Apparatus and method for determining a position of a bit error in a bit string | |
DE102018131613A1 (en) | Error detection by group error | |
DE102006005817A1 (en) | Error detection device for e.g. address decoder, has comparing unit to output signal based on comparison of input and regenerated addresses, where signal displays error during conversion, when input and regenerated addresses do not coincide | |
DE102011087634B9 (en) | DEVICE AND METHOD FOR DETECTING AN ERROR IN A CODED BINARY WORD | |
EP3614268B1 (en) | Method and device for processing of data using coded operations | |
DE102020110787B3 (en) | CIRCUIT AND PROCEDURE FOR ENCODING OR DECODING A DATA WORD | |
DE102010041680B4 (en) | Apparatus and method for determining a position of a 1-bit error in a coded bit sequence, apparatus and method for correcting a 1-bit error in a coded bit sequence, and a decoder and method for decoding a defective coded bit sequence | |
DE102013219088B9 (en) | Circuit arrangement and method for realizing check bit compaction for cross-parity codes | |
DE102013112020B4 (en) | Method and device for detecting bit errors | |
DE102021109391B3 (en) | Multibyte error detection | |
DE102014114157B4 (en) | A method of data processing for determining whether an error has occurred during execution of a program and data processing arrangements for generating program code | |
DE102019113970B4 (en) | DETECTION OF ADDRESSING ERRORS | |
DE102015118668B4 (en) | ERROR CORRECTION | |
DE102015121646B4 (en) | ERROR CORRECTION | |
DE102015112554B4 (en) | Method and device for generating a code bit sequence and for detecting bit errors | |
EP1579230B1 (en) | Device and method for creating a signature | |
EP0046963B1 (en) | Circuit configuration for the recognition and correction of error bursts | |
DE102021123727B4 (en) | byte error correction | |
DE102013112021B4 (en) | Method and device for detecting bit errors | |
DE19937456C2 (en) | Computer for data processing and method for data processing in a computer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R081 | Change of applicant/patentee |
Owner name: TECHNISCHE UNIVERSITAET CLAUSTHAL, DE Free format text: FORMER OWNER: FACHHOCHSCHULE NORDHAUSEN, TECHNISCHE UNIVERSITAET CLAUSTHA, , DE Owner name: HOCHSCHULE NORDHAUSEN, DE Free format text: FORMER OWNER: FACHHOCHSCHULE NORDHAUSEN, TECHNISCHE UNIVERSITAET CLAUSTHA, , DE Owner name: TECHNISCHE UNIVERSITAET CLAUSTHAL, DE Free format text: FORMER OWNERS: FACHHOCHSCHULE NORDHAUSEN, 99734 NORDHAUSEN, DE; TECHNISCHE UNIVERSITAET CLAUSTHAL, 38678 CLAUSTHAL-ZELLERFELD, DE Owner name: HOCHSCHULE NORDHAUSEN, DE Free format text: FORMER OWNERS: FACHHOCHSCHULE NORDHAUSEN, 99734 NORDHAUSEN, DE; TECHNISCHE UNIVERSITAET CLAUSTHAL, 38678 CLAUSTHAL-ZELLERFELD, DE |
|
R082 | Change of representative |
Representative=s name: GRAMM, LINS & PARTNER GBR, DE Representative=s name: GRAMM, LINS & PARTNER PATENT- UND RECHTSANWAEL, DE |
|
R082 | Change of representative |
Representative=s name: GRAMM, LINS & PARTNER PATENT- UND RECHTSANWAEL, DE |
|
R016 | Response to examination communication | ||
R018 | Grant decision by examination section/examining division | ||
R020 | Patent grant now final | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |