EP3084768A1 - Verfahren und vorrichtung zur erkennung von fehlerhaften daten in wenigstens einem speicherelement - Google Patents

Verfahren und vorrichtung zur erkennung von fehlerhaften daten in wenigstens einem speicherelement

Info

Publication number
EP3084768A1
EP3084768A1 EP14824426.2A EP14824426A EP3084768A1 EP 3084768 A1 EP3084768 A1 EP 3084768A1 EP 14824426 A EP14824426 A EP 14824426A EP 3084768 A1 EP3084768 A1 EP 3084768A1
Authority
EP
European Patent Office
Prior art keywords
data
bits
security
memory element
flip
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.)
Withdrawn
Application number
EP14824426.2A
Other languages
English (en)
French (fr)
Inventor
Adrian Traskov
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.)
Continental Teves AG and Co OHG
Original Assignee
Continental Teves AG and Co OHG
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 Continental Teves AG and Co OHG filed Critical Continental Teves AG and Co OHG
Publication of EP3084768A1 publication Critical patent/EP3084768A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/412Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger using field-effect transistors only
    • G11C11/4125Cells incorporating circuit means for protecting against loss of information
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents

Definitions

  • the invention relates to a device and a method for detecting erroneous data in at least one, at least one bistable flip-flop (FF) comprising memory element, in particular a register. It further relates to a device for carrying out such a method and an integrated circuit with such a device.
  • FF bistable flip-flop
  • the peculiarity of a register is that its data outputs always (and not, for example, in the case of a RAM only after addressing) show the stored date and are often not only used for storage, but determine a hardware function, such as the baud rate of a Timers, the protocol of a communication etc.
  • Soft Errors are errors that are not caused by physical damage but by changing the state of a bistable component due to external influences.
  • Bistable components are, for example, flip-flops or flip-flops, which can assume and also hold two different states.
  • Soft errors are usually caused by high-energy particles, for example, as part of the cosmic radiation or radioactive inclusions in the housing material, which penetrate into a semiconductor and strike there, what as a Einzelereignörung corner.
  • Both RAM and flip-flops are affected.
  • Known countermeasures are fault-detecting and / or error correcting encodings of the data in the RAM, for example by Error Correcting Code (ECC).
  • ECC Error Correcting Code
  • flip-flops In the case of flip-flops it is known to carry out a majority decision as a safeguarding measure. In this case, the flip-flop is implemented in triplicate, and in the event that not all the flip-flops have the same state, a "2 out of 3" or two-third majority decision is made, and radiation-resistant flip-flops are known which are less susceptible , but are significantly larger than standard flip-flops as well. Other known methods make use of periodic download (programmatically) and rewriting the kriti ⁇ specific data. known is also the periodic check with CRC by each bit is serially interrogated periodically by z. B. a state machine and included in the calculation of a CRC sum.
  • Flip-flops are commonly used as building blocks for many types of registers that are used to store data, particularly in microcontrollers, but also in most other types of ICs.
  • An application is z. Example, the storage of calibration data for an analog circuit or configuration data to adapt to a specific task.
  • the occurrence of the above errors in registers storing variable data means a temporary deviation in the calculation or control flow that can often be ignored in the system.
  • Significantly more critical is a change in the data in a configuration or trimming register, since in such registers the stored data are usually written only once after switching on the system.
  • An SEU error will eventually persist until it is turned off and can lead to serious malfunctions. It is therefore an object of the invention to provide a method for detecting and controlling soft errors in a register. Further, a corresponding apparatus and a corresponding integrated circuit are to be be ⁇ riding provided.
  • the above-mentioned object is achieved according to the invention by writing at least one write-security bit from this data and writing it into the at least one data-storage element and storing it continuously in the same way as in the case of Write at least one output safety bit is calculated and compared with the corresponding write-security bit.
  • the invention is based on the consideration that the detection of soft errors is particularly important when data is not written regularly but rather, especially at the beginning of operation, are deposited only once. Although this data is written only once, it can contain important information, such as configuration settings that are important to continued operation. Errors in the data should be detected immediately after occurrence or with a short latency.
  • An implementation of majority resolutions, in which the data is to some extent written redundantly into several memory components, requires large chip areas and high power consumption.
  • the periodic verification procedures consume computation time. This calculation time is the higher, the more critical the requirement for the latency of the error detection.
  • the writing of the data is advantageously initiated by a processor (CPU) or by a state machine or by a signal.
  • a processor CPU
  • a state machine or by a signal.
  • a missing match of the respective write-security bit with the corresponding read-out security bit is preferably signaled to the processor.
  • the signaling is preferably carried out by setting at least one flag and / or interrupt. This is advantageously done z. In a status register with or without interrupt capability and allows the system or the processor to initiate Error Handling ⁇ development measures and perform.
  • the data is rewritten to the data storage element. That is, the process by which the data was initially written to the memory element is repeated by the processor or state machine. In contrast to known methods, however, this is not done periodically, but only when needed, ie. H. if an error has occurred, performed. In this way, the data is then available for further processes - at least initially - in error-free form.
  • the security bits are preferably parity bits and / or ECC bits. Parity bits characterize whether and how many "1" or "0" states are present in the data bits. For even parity bits, the value "1" of the parity bit corresponds to an odd number of "1" states of the data; a "0” represents an even number of "1" bits of the data. This assignment is reversed for odd parity bits.
  • ECC Error Correcting Code
  • bits are understood here bits or the method of their generation, which allow - at least to a limited extent - not only the detection of errors but also their correction with the help of ECC bits. Typically, 1-bit errors can be corrected immediately and 2-bit errors can be detected, but not corrected. Multi-bit errors can be partially detected.
  • the security bits may also be generated and written based on other memory protection techniques.
  • the above object is achieved according to the invention, with at least one logic unit in which a method described above is carried out.
  • the method is preferably implemented in hardware and / or software in the at least one logic unit. It may be the same logic unit for generating the security bits when writing and reading the data, or one logic unit for each of the two operations.
  • the logic units can also be part of or combined with the processor.
  • the above-mentioned object is achieved with at least one data storage element, at least one security storage element and a device derar ⁇ term.
  • Such an integrated circuit is preferably used in ICs with trimming of the parameters. (The component tolerances are often too large to achieve the required precision of a circuit, in which case components are balanced - for example, one of several taps is selected for a voltage divider.)
  • a trimming is used in all measurement circuits, eg. B. used for sensor signals, valve current, but also power supply and comparators.
  • Another possible use is the configuration for adapting the IC to an environment, eg. As vehicle type, Radsensortyp, Moni ⁇ monitoring thresholds of the on-board voltage etc.
  • the data storage element comprises in a preferred embodiment at least one flip-flop.
  • the advantages of the invention are in particular that a resource-saving possibility is created by the parallel writing of security bits when writing the data and a continuous monitoring of the data outputs to detect the occurrence of soft errors.
  • a continuous calculation of the safety bits and a comparison the security bits originally written may be warned of further use of the - erroneous - data upon detection of a discrepancy by a notification to the processor, which may prevent malfunction of the system.
  • FIG. 1 shows a known configuration of three flip-flops with a majority switch circuit.
  • FIG. 2 an integrated circuit with a device for detection of erroneous data in at least one storage element, a data storage element and a secure ⁇ standardized storage element in a first preferred embodiment
  • FIG. 3 shows an integrated circuit in a second preferred embodiment.
  • FIG. 1 shows a register 2 for one bit.
  • the register 2 is designed as a majority decision maker and includes three flip-flops 6, 10, 14, which are designed as D flip-flops.
  • the respective flip-flop 6, 10, 14 each comprise a data input D, a clock input Ck ("dock") and a data output Q.
  • Via a data line 20 is by a processor (not shown) in the three flip-flops 6, 10, 14th in each case one of two stable states (for example denoted as "0" and "1"), the same state being set in each case in all three flip-flops 6, 10, 14.
  • the data bit is therefore saved with triple redundancy or in triplicate.
  • the date or bit stored in the register 2 realized by the three flip-flops 6, 10, 14 outputs a majority decision logic 24 in each case the state or the bit from the flip-flops 6, 10, 14 and provides a value at an output A. ready.
  • two cases can be distinguished. In the case that the state of all three flip-flops 6, 10, 14 is identical, this state is provided at the output A.
  • the state which the two flip-flops 6, 10, 14 have is provided to the output A.
  • a 2/3 majority decision is made and the individual flip-flop 6, 10, 14 overruled to some extent with the value deviating from ⁇ .
  • a disadvantage of the execution of such a register are due to the redundancy, the high number of components and the associated space and power consumption.
  • FIG. 2 is an integrated circuit 30 according to the invention with a main processor (CPU) or a state machine o. ⁇ . 34 and a data storage element 38, which is designed as a register 42 shown.
  • the register 42 is formed as a 32-bit register and includes a plurality of flip-flops. In contrast to the in connection with FIG. 1, each bit is now re ⁇ presented by a single flip-flop.
  • the register 42 may alternatively be formed with a plurality of writable and readable memory locations.
  • the integrated circuit 30 is adapted to "soft errors” or “soft errors”, for example, by the impact of high-energy radiation on the corresponding data storage element 38 come to recognize. Due to the ionizing effect of the radiation, for example, a bit changeover takes place in the register, ie the state of a bit is inverted. In contrast to hard errors, soft defects do not damage the components, but cause a change in their internal state. Depending on which digit or number represents the switched bit, for example, a numerical value represented in the register 2 may drastically change or even change its sign if it is appropriately represented, which can lead to drastic malfunctions in systems in which the numerical value is an important or negative value Signifies relevant size.
  • the integrated circuit 30 has a Si ⁇ cherheits Grandeelement 46 for detecting soft errors in addition to the data storage element 38th If data is written into the data storage element by the main processor 34 or a state machine via a data line 36, safety bits are written into the safety memory element 46 by a logic unit 50.
  • the security bits can be one or more parity bits or ECC bits.
  • the stored in the register 42 data are compared by a logic unit 54 in the same manner in which the logic unit 50 calculates the security bit, calculated from the stored in spei ⁇ storage element 38 data, security bits, by which stored in the secure memory element 46 security bits.
  • the logic units 50 and 54 may also be combined into a common logic unit and / or with the main processor 34 / a state machine. It realizes a device 56 for detecting soft errors.
  • the logic unit 54 transmits a signal to the main processor 34 via a data line 58. This signal can be used to set a flag or an interrupt.
  • the data is again generated or determined by the main processor 34 and rewritten to the register 42 to repair the error.
  • the data eg calibration data
  • the main processor 34 also output a warning that reliable operation of the system can not be guaranteed and / or initiate emergency measures, such as a system reset, an emergency shutdown or similarity ⁇ pending.
  • FIG. 3 An integrated circuit 30 in a second preferred embodiment is shown in FIG. 3 shown.
  • the logic unit 50 when writing data to the register 42, the logic unit 50 generates ECC bits, ie, bits corresponding to an error correcting algorithm.
  • the ECC bits not only allow the detection of errors but also their correction.
  • This correction is performed in the present exemplary embodiment by the logic unit 54, which then provides the corrected data on the data line 58.
  • it can be provided that when an error is detected, the data is rewritten to the register.
  • this configuration can tolerate "hard" errors to some extent.
  • the integrated circuit 30 according to FIG. 2 or 3 be before ⁇ geous enough, for example, used for the protection of configuration data in microcontroller peripheral modules, for example.

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)
  • Storage Device Security (AREA)

Abstract

Ein Verfahren zur Erkennung von fehlerhaften Daten in wenigstens einem, wenigstens eine bistabilen Kippstufe umfassenden Speicherelement (38), insbesondere einem Register (2, 42), soll eine zuverlässige Entdeckung von weichen Fehlern erlauben. Dazu wird bei einem Schreiben von Daten in das wenigstens eine Speicherelement (38) wenigstens ein Schreibsicherheitsbit aus diesen Daten erzeugt und in einem zugeordneten Sicherheitsspeicherelement (46) gespeichert, wobei aus den Daten kontinuierlich auf die gleiche Weise wie beim Schreiben wenigstens ein Ausgangssicherheitsbit berechnet und mit dem korrespondierenden Schreibsicherheitsbit verglichen wird.

Description

Beschreibung
Verfahren und Vorrichtung zur Erkennung von fehlerhaften Daten in wenigstens einem Speicherelement
Die Erfindung betrifft eine Vorrichtung und ein Verfahren zur Erkennung von fehlerhaften Daten in wenigstens einem, wenigstens eine bistabilen Kippstufe (Flipflops) umfassenden Speicherelement, insbesondere einem Register. Sie betrifft weiterhin eine Vorrichtung zur Durchführung eines derartigen Verfahrens sowie eine Integrierte Schaltung mit einer derartigen Vorrichtung .
Die Besonderheit eines Registers ist, dass seine Datenausgänge immer (und nicht wie z. B. bei einem RAM nur nach Adressierung) das gespeicherte Datum zeigen und oft nicht nur zur Speicherung verwendet werden, sondern eine Hardware-Funktion bestimmen, beispielsweise die Baud Rate eines Timers, das Protokoll einer Kommunikation etc.
Als „Soft Errors" oder„weiche Fehler" werden Fehler bezeichnet, die nicht durch physikalische Beschädigung verursacht werden, sondern durch Veränderung des Zustandes einer bistabilen Komponente durch externe Einflüsse. Bistabile Komponenten sind beispielsweise Flipflops bzw. Kippstufen, die zwei verschiedene Zustände annehmen und auch halten können.
Soft Errors werden gewöhnlich verursacht durch hochenergetische Teilchen, beispielsweise auch als Teil der kosmischen Strahlung oder radioaktive Einschlüsse im Gehäusematerial, die in einen Halbleiter eindringen und dort aufschlagen, was als Einzelereignisstörungbzw. „Single Event Upset" (SEU) bezeichnet wird. Typischerweise sind dabei RAM-Bausteine aber auch Flipflops betroffen. Bekannte Gegenmaßnahmen sind fehlererkennende und/oder fehlerkorrigierende Codierungen der Daten im RAM, beispielsweise durch Error Correcting Code (ECC) .
Bei Flipflops ist bekannt, als absichernde Maßnahme eine Mehrheitsentscheidung durchzuführen. Dabei wird der Flipflop dreifach ausgeführt und in dem Fall, dass nicht alle Flip-Flops den gleichen Zustand haben, wird ein „2 aus 3" bzw. Zwei- drittel-Mehrheitsentscheid durchgeführt. Weiterhin sind strahlungsresistente Flipflops bekannt, die zwar weniger an- fällig, aber dafür auch deutlich größer als standardmäßige Flipflops sind. Andere bekannte Verfahren nutzen periodisches Auslesen (programmgesteuert ) und Wiederbeschreiben der kriti¬ schen Daten. Bekannt ist ebenfalls die periodische Überprüfung mit CRC indem durch z. B. einen Zustandsautomaten periodisch jedes Bit seriell abgefragt wird und in der Berechnung einer CRC Summe einbezogen wird.
Flipflops werden gewöhnlich als Grundbausteine für viele Arten von Registern verwendet, die insbesondere in MikroControllern aber auch in den meisten anderen IC-Typen zur Speicherung von Daten verwendet werden. Eine Anwendung ist z. B. die Speicherung von Kalibrierdaten für eine analoge Schaltung oder von Konfigurationsdaten zur Anpassung an eine spezifische Aufgabe. Das Auftreten der oben genannten Fehler bedeutet bei Registern, die veränderliche Daten speichern, eine temporäre Abweichung im Berechnungs- oder Kontrollfluss , die oft im System ignoriert werden kann. Deutlich kritischer ist eine Veränderung der Daten in einem Konfigurations- oder Trimmregister, da in derartigen Registern die abgelegten Daten in der Regel nur einmal nach dem Einschalten des Systems geschrieben werden. Ein Fehler durch SEU bleibt dann gegebenenfalls bis zum Ausschalten bestehen und kann zu gravierenden Fehlfunktionen führen. Der Erfindung liegt daher die Aufgabe zugrunde, ein Verfahren zur Entdeckung und Beherrschung von weichen Fehlern in einem Register bereitzustellen. Weiterhin sollen eine entsprechende Vorrichtung und eine entsprechende integrierte Schaltung be¬ reitgestellt werden.
In Bezug auf das Verfahren wird die oben genannte Aufgabe erfindungsgemäß gelöst, indem bei einem Schreiben von Daten in das wenigstens eine Datenspeicherelement wenigstens ein Schreibsicherheitsbit aus diesen Daten erzeugt und in einem zugeordneten Sicherheitsspeicherelement gespeichert wird und wobei aus den Daten kontinuierlich auf die gleiche Weise wie beim Schreiben wenigstens ein Ausgangssicherheitsbit berechnet und mit dem korrespondierenden Schreibsicherheitsbit verglichen wird .
Vorteilhafte Ausgestaltungen sind Gegenstand der Unter¬ ansprüche .
Die Erfindung geht von der Überlegung aus, dass die Entdeckung von weichen Fehlern insbesondere dann wichtig ist, wenn Daten nicht regelmäßig geschrieben werden sondern vielmehr, insbesondere am Betriebsanfang, nur einmal hinterlegt werden. Obwohl diese Daten nur einmal geschrieben werden, können Sie wichtige Informationen enthalten, beispielsweise Konfigurationseinstellungen, die für den weiteren Betrieb wichtig sind. Fehler in den Daten sollten unmittelbar nach dem Auftreten oder mit kurzer Latenz erkannt werden. Eine Implementierung von Mehrheits- ent scheidern, bei denen die Daten gewissermaßen in redundanter Weise in mehrere Speicherbausteine geschrieben werden, benötigt große Chipflächen und hohen Stromverbrauch. Die Verfahren mit periodischer Überprüfung verbrauchen Rechenzeit. Diese Rechenzeit ist umso höher, je kritischer die Anforderung an die Latenz der Fehlerentdeckung ist. Wie nunmehr erkannt wurde, ist eine zuverlässige und ressour¬ censchonende Entdeckung weicher Fehler möglich, indem bereits beim ursprünglichen Schreiben der Daten eine die Daten charakterisierende Anzahl von Sicherheitsbits erzeugt bzw. be- rechnet werden. Diese (Ausgangs-) Sicherheitsbits können aus den Ausgangsdaten mittels kombinatorischer Logik auf die gleiche Weise, also nach den gleichen Rechenvorschriften, erneut erzeugt werden, wobei ein Vergleich mit dem beim Schreiben dieser Bits dann bei Fehlen einer Übereinstimmung zuverlässig auf das Auftreten von weichen Fehlern hindeutet . Das Auftreten von Fehlern kann also sofort entdeckt werden. Dies ermöglicht dann vor der Verwendung dieser Daten zu warnen und/oder diese direkt zu korrigieren. Erfindungsgemäß wird aus den Daten aus dem Datenspeicherelement auf die gleiche Weise wie beim Schreiben wenigstens ein Sicherheitsbit bzw. Ausgangssicherheitsbit berechnet und mit dem korrespondierenden Schreibsicherheitsbit verglichen. Eine fehlende Übereinstimmung weist auf das zwischenzeitliche Eintreten eines weichen Fehlers hin, der sich beispielsweise in einem oder mehreren Bitumschaltungen äußert .
Das Schreiben der Daten wird vorteilhafterweise von einem Prozessor (CPU) oder von einem Zustandsautomaten oder von einem Signal eingeleitet.
Eine fehlende Übereinstimmung des jeweiligen Schreibsicher- heitsbits mit dem korrespondierenden Auslesesicherheitsbit wird bevorzugt dem Prozessor signalisiert.
Die Signalisierung erfolgt vorzugsweise durch Setzen wenigstens eines Flags und/oder Interrupts. Dies erfolgt vorteilhafterweise z. B. in einem Statusregister mit oder ohne Interruptfähigkeit und ermöglicht dem System bzw. dem Prozessor, Fehlerbehand¬ lungsmaßnahmen einzuleiten und durchzuführen.
So werden in einer bevorzugten Ausführungsform aufgrund feh- lender Übereinstimmung der berechneten Sicherheitsbits bzw. Ausgangssicherheitsbits mit den erzeugten Schreibsicher- heitsbits, d. h. bei Erkennen eines aufgetretenen Fehlers, die Daten erneut in das Datenspeicherelement geschrieben. Das heißt, der Vorgang, mit dem ursprünglich die Daten in den das Spei- cherelement geschrieben wurden, wird von dem Prozessor oder Zustandsautomaten wiederholt. Im Gegensatz zu bekannten Verfahren wird dies jedoch nicht periodisch, sondern nur im Bedarfsfall, d. h. wenn ein Fehler aufgetreten ist, durchgeführt. Auf diese Weise stehen die Daten dann für weitere Vorgänge - zumindest zunächst - wieder in fehlerloser Form zur Verfügung.
Die Sicherheitsbits sind vorzugsweise Paritätsbits und/oder ECC-Bits. Paritätsbits charakterisieren dabei, ob und wie viele „1" oder „0" Zustände in den Datenbits vorliegen. Bei geraden Paritätsbits entspricht dem Wert „1" des Paritätsbits eine ungerade Anzahl von „1" Zuständen der Daten; eine „0" repräsentiert eine gerade Anzahl von „1" Bits der Daten. Diese Zuordnung wird bei ungeraden Paritätsbits umgekehrt gewählt. Mit ECC (Error Correcting Code) Bits werden hier Bits bzw. die Methode ihrer Erzeugung verstanden, die - zumindest in eingeschränktem Maße - nicht nur die Entdeckung von Fehlern sondern auch ihre Korrektur mit Hilfe der ECC Bits erlauben. Üblicherweise können 1-Bit-Fehler sofort korrigiert und 2-Bit-Fehler erkannt, aber nicht korrigiert werden. Mehr-Bit-Fehler können teilweise erkannt werden. Die Sicherheitsbits können auch auf Grundlage von anderen Speicherschutzverfahren erzeugt und geschrieben werden. In Bezug auf die Vorrichtung wird die oben genannte Aufgabe erfindungsgemäß gelöst, mit wenigstens einer Logikeinheit, in der ein oben beschriebenes Verfahren ausgeführt wird. Das Verfahren ist in der wenigstens einen Logikeinheit bevorzugt hardware- und/oder softwaremäßig implementiert . Es kann dieselbe Logikeinheit zum Erzeugen der Sicherheitsbits beim Schreiben und Auslesen der Daten vorgesehen sein, oder je eine Logikeinheit für jeden der beiden Vorgänge. Die Logikeinheiten können auch Teil des Prozessors bzw. mit diesem kombiniert sein.
In Bezug auf die integrierte Schaltung wird die oben genannte Aufgabe gelöst mit wenigstens einem Datenspeicherelement, wenigstens einem Sicherheitsspeicherelement und einer derar¬ tigen Vorrichtung. Eine derartige integrierte Schaltung wird vorzugsweise eingesetzt in ICs mit Trimmung der Parameter. (Die Bauteiltoleranzen sind oft zu groß um die geforderte Präzision einer Schaltung zu erreichen. In solchen Fällen werden Komponenten abgeglichen- z. B. bei einem Spannungsteiler eine aus mehreren Anzapfungen gewählt.) Eine Trimmung wird in allen Messschaltungen z. B. für Sensorsignale, Ventilstrom, aber auch Stromversorgung und Komparatoren verwendet . Eine weitere Einsatzmöglichkeit ist die Konfiguration zur Anpassung des ICs an eine Umgebung, z. B. Fahrzeugtyp, Radsensortyp, Überwa¬ chungsschwellen der Bordspannung etc.
Das Datenspeicherelement umfasst in einer bevorzugten Ausführung wenigstens ein Flipflop.
Die Vorteile der Erfindung liegen insbesondere darin, dass durch das parallele Schreiben von Sicherheitsbits beim Schreiben der Daten und eine kontinuierliche Überwachung der Datenausgänge eine ressourcenschonende Möglichkeit geschaffen wird, das Auftreten von weichen Fehlern zu erkennen. Durch eine kontinuierliche Berechnung der Sicherheitsbits und einem Vergleich mit den ursprünglich geschriebenen Sicherheitsbits kann bei Entdeckung einer Diskrepanz durch ein Benachrichtigung an den Prozessor vor einer weiteren Verwendung der - fehlerhaften - Daten gewarnt werden, wodurch Fehlfunktionen des Systems verhindert werden können.
Ein Aus führungsbeispiel der Erfindung wird anhand einer Zeichnung näher erläutert. Darin zeigen in stark schematisierter Darstellung :
FIG. 1 eine bekannte Konfiguration von drei Flipflops mit einer Mehrheit sent scheider-Schaltung,
FIG. 2 eine integrierte Schaltung mit einer Vorrichtung zur Erkennung von fehlerhaften Daten in wenigstens einem Speicherelement, einem Datenspeicherelement und einem Sicher¬ heitsspeicherelement in einer ersten bevorzugten Ausführung, und
FIG. 3 eine integrierte Schaltung in einer zweiten bevor- zugten Ausführung.
Gleiche Teile sind in allen Figuren mit denselben Bezugszeichen versehen . In FIG. 1 ist ein Register 2 für ein Bit dargestellt . Das Register 2 ist dabei als Mehrheitsentscheider ausgebildet undumfasst drei Flipflops 6, 10, 14, welche als D-Flipflops ausgebildet sind. Das jeweilige Flipflop 6, 10, 14 umfasst jeweils einen Dateneingang D, einen Takt-Eingang Ck („dock") sowie einen Datenausgang Q. Über eine Datenleitung 20 wird durch einen Prozessor (nicht dargestellt) in den drei Flipflops 6, 10, 14 jeweils einer von zwei stabilen Zuständen (beispielsweise gekennzeichnet als „0" und„1") gesetzt, wobei in allen drei Flipflops 6, 10, 14 jeweils der gleiche Zustand gesetzt wird. Das Datenbit wird also gewis- sermaßen mit dreifacher Redundanz bzw. in dreifacher Ausführung gespeichert .
Das in dem durch die drei Flipflops 6, 10, 14 realisierten Register 2 gespeicherte Datum bzw. Bit gibt eine Mehrheits- entscheiderlogik 24 jeweils den Zustand bzw. das Bit aus den Flipflops 6, 10, 14 aus und stellt an einem Ausgang A einen Wert bereit. Hierbei können nun zwei Fälle unterschieden werden. In dem Fall, dass der Zustand aller drei Flipflops 6, 10, 14 identisch ist, wird dieser Zustand an dem Ausgang A bereitgestellt. Haben zwei der Flipflops 6, 10, 14 einen Zustand, der von dem Zustand des dritten Flipflops 6, 10, 14 abweicht, wird der Zustand, den die zwei Flipflops 6, 10, 14 haben, an dem Ausgang A bereitgestellt. Dadurch wird eine 2/3 Mehrheitsentscheidung durchgeführt und das einzelne Flipflop 6, 10, 14 mit dem ab¬ weichenden Wert gewissermaßen überstimmt.
Nachteilig bei der Ausführung eines derartigen Registers sind aufgrund der Redundanz die hohe Anzahl an Komponenten und der damit einhergehende Platz- und Stromverbrauch.
In FIG. 2 ist eine erfindungsgemäße integrierte Schaltung 30 mit einem Hauptprozessor (CPU) oder einem Zustandsautomaten o . Ä. 34 und einem Datenspeicherelement 38, welches als Register 42 ausgebildet ist, dargestellt. Das Register 42 ist als 32-Bit Register ausgebildet und umfasst eine Mehrzahl von Flipflops. Im Gegensatz zu der im Zusammenhang mit FIG. 1 diskutierten Schaltung wird nun jedes Bit durch ein einziges Flipflop re¬ präsentiert. Das Register 42 kann alternativ auch mit einer Mehrzahl an schreib- und lesbaren Speicherstellen ausgebildet sein .
Die integrierte Schaltung 30 ist dazu ertüchtigt, „Soft Errors" bzw. „weiche Fehler", die beispielsweise durch das Auftreffen von hochenergetischer Strahlung auf dem entsprechenden Datenspeicherelement 38 herrühren, zu erkennen. Durch die ionisierende Wirkung der Strahlung erfolgt in dem Register beispielsweise eine Bitumschaltung, d. h. der Zustand eines Bits wird invertiert. Im Gegensatz zu harten Fehlern verursachen weiche Fehler keine Schäden an den Bauelementen, sondern sorgen für eine Veränderung ihres inneren Zustandes. Je nachdem, welche Stelle bzw. Zahl das umgeschaltete Bit repräsentiert, kann sich beispielsweise ein in dem Register 2 repräsentierter Zahlenwert drastisch ändern oder sogar bei entsprechender Repräsentation sein Vorzeichen ändern, was zu drastischen Fehlfunktionen in Systemen führen kann, bei denen der Zahlenwert eine wichtige bzw. relevante Größe kennzeichnet . Die integrierte Schaltung 30 weist daher zur Erkennung von weichen Fehlern neben dem Datenspeicherelement 38 ein Si¬ cherheitsspeicherelement 46 auf. Werden von dem Hauptprozessor 34 oder einem Zustandsautomaten Daten über eine Datenleitung 36 in das Datenspeicherelement geschrieben, werden von einer Logikeinheit 50 Sicherheitsbits in das Sicherheitsspeicher¬ element 46 geschrieben. Die Sicherheitsbits können dabei ein oder mehrere Paritätsbits oder ECC-Bits sein.
Die im Register 42 hinterlegten Daten werden von einer Lo- gikeinheit 54 auf die gleiche Weise, in der die Logikeinheit 50 die Sicherheitsbits berechnet hat, aus den im Datenspei¬ cherelement 38 hinterlegten Daten, Sicherheitsbits berechnet und mit denen im Sicherheitsspeicherelement 46 hinterlegten Sicherheitsbits verglichen. Die Logikeinheiten 50 und 54 können auch zu einer gemeinsamen Logikeinheit und/oder mit dem Hauptprozessor 34 / einem Zustandsautomaten kombiniert sein. Durch sie wird eine Vorrichtung 56 zum Erkennen von weichen Fehlern realisiert. In dem Fall, dass eine fehlende Übereinstimmung zwischen den beim Schreiben der Daten erzeugten bzw. generierten Sicherheitsbits und von den aktuellen Registerdaten berechneten festgestellt wird, übermittelt die Logikeinheit 54 über eine Datenleitung 58 ein Signal an den Hauptprozessor 34. Dieses Signal kann das Setzen eines Flags oder eines Interrupts umfassen. Auf diese Weise kann in der integrierten Schaltung 30 auf die fehlerhaften Daten reagiert werden. Bevorzugt werden die Daten erneut von dem Hauptprozessor 34 erzeugt oder ermittelt und erneut in das Register 42 geschrieben und damit der Fehler repariert. In einer anderen Realisierung können die Daten (z. B. Kalibrierdaten) von einem Festwertspeicher neu geladen werden. Alternativ dazu kann der Hauptprozessor 34 auch eine Warnung ausgeben, dass ein zuverlässiges Funktionieren des Systems nicht gewährleistet werden kann und/oder Notfallmaßnahmen einleiten wie beispielsweise einen Systemreset, eine Notabschaltung oder ähn¬ liches .
Eine integrierte Schaltung 30 in einer zweiten bevorzugten Ausführungsform ist in FIG. 3 dargestellt. Hierbei erzeugt die Logikeinheit 50 beim Schreiben von Daten in das Register 42 ECC-Bits, d. h. Bits, die zu einem fehlerkorrigierenden Algorithmus korrespondieren. Die ECC-Bits erlauben nicht nur das Erkennen von Fehlern sondern auch ihre Korrektur. Diese Korrektur wird im vorliegenden Aus führungsbeispiel von der Logikeinheit 54 durchgeführt, welche dann an der Datenleitung 58 die korrigierten Daten bereitstellt. Das heißt, es findet neben der Erkennung von Fehlern auch eine Korrektur der Daten statt. Auch in diesem Fall kann vorgesehen sein, dass bei Erkennen eines Fehlers die Daten erneut in das Register geschrieben werden. Darüber hinaus kann diese Konfiguration in gewissem Maße auch „harte" Fehler tolerieren . Die integrierte Schaltung 30 gemäß FIG. 2 oder 3 wird vor¬ teilhafterweise beispielsweise eingesetzt zur Absicherung von Konfigurationsdaten in Mikrocontroller Peripheriemodulen, z. B. Freguenzteiler für Taktgeber, Erfassungswerte, SPI Baudrate, CAN zeitliche Bit-Taktung etc.
Sie kann weiterhin vorteilhafterweise eingesetzt werden zur Absicherung von Kalibrierdaten in Analog-ICs. Hier können z. B. 500 bis 1000 Bit zur Trimmung der Parameter verwendet werden. Diese Daten werden bei der Produktion in einem Festwertspeicher geschrieben und dann nach Einschalten der Spannung oder eines Resets in Flipflops übernommen. Diese können dann mit wenigen Bits auf Abweichungen permanent geprüft werden. Ähnliches ist möglich mit Konfigurationsdaten im IC. Im Gegensatz zur Kalibrierung wird die Konfiguration in der Anwendung festgelegt . Beispiele dafür sind Schwellen von Komparatoren, Protokolle für Radsensoren etc.
Bezugszeichenliste
2 Register
6 Flipflop
10 Flipflop
14 Flipflop
20 Datenleitung
24 Mehrheitsentscheiderlogik
30 Integrierte Schaltung 34 Hauptprozessor
36 Datenleitung
38 Datenspeicherelement
42 Register
46 Sicherheitsspeicherelement 50 Logikeinheit
54 Logikeinheit
56 Vorrichtung
58 Datenleitung
62 Datenleitung
D Dateneingang
Ck Takt-Eingang
Q Datenausgang
A Ausgang

Claims

Patentansprüche
1. Verfahren zur Erkennung von fehlerhaften Daten in wenigstens einem, wenigstens eine bistabile Kippstufe um- fassenden Speicherelement (38), insbesondere einem Re¬ gister (2, 42), wobei bei einem Schreiben von Daten in das wenigstens eine Speicherelement (38) wenigstens ein Schreibsicherheitsbit aus diesen Daten erzeugt und in einem zugeordneten Sicherheitsspeicherelement (46) gespeichert wird und wobei aus den Daten kontinuierlich auf die gleiche
Weise wie beim Schreiben wenigstens ein Ausgangs¬ sicherheitsbit berechnet und mit dem korrespondierenden Schreibsicherheitsbit verglichen wird.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass das
Schreiben der Daten von einem Prozessor (CPU) oder von einem Zustandsautomaten oder von einem Signal eingeleitet wird.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass eine fehlende Übereinstimmung des jeweiligen
Schreibsicherheitsbits mit dem korrespondierenden Aus¬ gangssicherheitsbit dem Prozessor (36) signalisiert wird.
4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass die Signalisierung durch Setzen wenigstens eines Flags und/oder
Interrupts erfolgt.
5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass bei fehlender Übereinstimmung der Ausgangssicherheitsbits mit den Schreibsicherheitsbits die
Daten erneut in das Datenspeicherelement (38) geschrieben werden .
6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass die Sicherheitsbits Paritätsbits und/oder ECC-Bits sind.
7. Vorrichtung (56) zur Erkennung und/oder Korrektur von fehlerhaften Daten in wenigstens einem Speicherelement, umfassend wenigstens eine Logikeinheit (50, 54), in der ein Verfahren nach einem der Ansprüche 1 bis 6 durchgeführt wird .
8. Integrierte Schaltung (30) mit wenigstens einem Daten¬ speicherelement (38), wenigstens einem Sicherheitsspei¬ cherelement (46) und einer Vorrichtung nach Anspruch 7.
9. Integrierte Schaltung (30) nach Anspruch 8, dadurch gekennzeichnet, dass das Datenspeicherelement (38) we¬ nigstens ein Flipflop umfasst.
EP14824426.2A 2013-12-18 2014-12-16 Verfahren und vorrichtung zur erkennung von fehlerhaften daten in wenigstens einem speicherelement Withdrawn EP3084768A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102013226407.0A DE102013226407A1 (de) 2013-12-18 2013-12-18 Verfahren und Vorrichtung zur Erkennung von fehlerhaften Daten in wenigstens einem Speicherelement
PCT/EP2014/078088 WO2015091570A1 (de) 2013-12-18 2014-12-16 Verfahren und vorrichtung zur erkennung von fehlerhaften daten in wenigstens einem speicherelement

Publications (1)

Publication Number Publication Date
EP3084768A1 true EP3084768A1 (de) 2016-10-26

Family

ID=52292890

Family Applications (1)

Application Number Title Priority Date Filing Date
EP14824426.2A Withdrawn EP3084768A1 (de) 2013-12-18 2014-12-16 Verfahren und vorrichtung zur erkennung von fehlerhaften daten in wenigstens einem speicherelement

Country Status (6)

Country Link
US (1) US10262752B2 (de)
EP (1) EP3084768A1 (de)
KR (1) KR20160100969A (de)
CN (1) CN105830162B (de)
DE (1) DE102013226407A1 (de)
WO (1) WO2015091570A1 (de)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030110349A1 (en) * 2001-12-06 2003-06-12 Ulrich Zimmerman System and method for storing parity information in fuses
WO2005041410A1 (en) * 2003-10-01 2005-05-06 Infineon Technologies Ag System and method for automatically-detecting soft errors in latches of an integrated circuit

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000269826A (ja) * 1999-03-15 2000-09-29 Fujitsu Ltd 誤り検出装置及び方法
US6378979B1 (en) * 2000-11-30 2002-04-30 Hewlett-Packard Company Power short circuit detection and protection in a print system
US6718494B1 (en) * 2000-12-22 2004-04-06 Intel Corporation Method and apparatus for preventing and recovering from TLB corruption by soft error
US7171594B2 (en) * 2002-03-06 2007-01-30 Hewlett-Packard Development Company, L.P. Pausing a transfer of data
US6876572B2 (en) * 2003-05-21 2005-04-05 Altera Corporation Programmable logic devices with stabilized configuration cells for reduced soft error rates
DE102006019908A1 (de) * 2006-04-28 2007-10-31 Infineon Technologies Ag Integrierter Halbleiterspeicher zur Programmierung eines Programmierzustands
US7482831B2 (en) * 2006-05-10 2009-01-27 Alcatel-Lucent Usa Inc. Soft error tolerant flip flops
TWI329995B (en) * 2006-09-29 2010-09-01 Via Tech Inc Lock detecting circuit and method for phase lock loop systems
US8656263B2 (en) * 2010-05-28 2014-02-18 Stec, Inc. Trellis-coded modulation in a multi-level cell flash memory device
US8984367B2 (en) 2011-02-25 2015-03-17 Altera Corporation Error detection and correction circuitry
JP5346354B2 (ja) * 2011-05-17 2013-11-20 シャープ株式会社 不揮発性半導体記憶装置
US8717829B2 (en) * 2012-06-26 2014-05-06 Freescale Semiconductor, Inc. System and method for soft error detection in memory devices
US9728235B2 (en) * 2012-07-17 2017-08-08 SK Hynix Inc. Semiconductor device and semiconductor memory device
CN103187104B (zh) 2013-03-19 2016-11-23 西安紫光国芯半导体有限公司 Dram存储器的纠错方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030110349A1 (en) * 2001-12-06 2003-06-12 Ulrich Zimmerman System and method for storing parity information in fuses
WO2005041410A1 (en) * 2003-10-01 2005-05-06 Infineon Technologies Ag System and method for automatically-detecting soft errors in latches of an integrated circuit

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of WO2015091570A1 *

Also Published As

Publication number Publication date
DE102013226407A1 (de) 2015-06-18
CN105830162B (zh) 2020-05-12
KR20160100969A (ko) 2016-08-24
WO2015091570A1 (de) 2015-06-25
CN105830162A (zh) 2016-08-03
US10262752B2 (en) 2019-04-16
US20160314853A1 (en) 2016-10-27

Similar Documents

Publication Publication Date Title
DE102007042353B4 (de) Verfahren zum Detektieren von Fehlern in einem Fahrzeugsystem einer aktiven Frontlenkung
EP2447843B1 (de) Verfahren zur Verifizierung eines Anwendungsprogramms einer fehlersicheren Speicherprogrammierbaren Steuerung, und Speicherprogrammierbare Steuerung zur Ausführung des Verfahrens
EP3289726A1 (de) Verfahren zur absicherung von konfigurationsdaten eines datenbus-transceivers, datenbus-transceiver und datenbussystem
DE102018112584A1 (de) Konfigurierbare Sensorvorrichtung und Verfahren zur Überwachung ihrer Konfiguration
DE2157829C2 (de) Anordnung zum Erkennen und Korrigieren von Fehlern in Binärdatenmustern
DE102007045509B4 (de) Fahrzeug-Steuereinheit mit einem Versorgungspannungsüberwachten Mikrocontroller sowie zugehöriges Verfahren
DE112012004323T5 (de) Elektronisches Steuergerät
DE102005016050A1 (de) Speicherfehlererkennungsvorrichtung und Verfahren zum Erkennen eines Speicherfehlers
EP3378006B1 (de) Verfahren zum laden eines sicheren speicherabbilds eines mikrocontrollers und anordnung mit einem mikrocontroller
DE102020120335B3 (de) Testen eines speicherbereichs
WO2015091570A1 (de) Verfahren und vorrichtung zur erkennung von fehlerhaften daten in wenigstens einem speicherelement
WO2016206847A1 (de) Verfahren und vorrichtung zum absichern einer programmzählerstruktur eines prozessorsystems und zum überwachen der behandlung einer unterbrechungsanfrage
EP1913478B1 (de) Mikroprozessorsystem zur steuerung bzw. regelung von zumindest zum teil sicherheitskritischen prozessen
EP1924914B1 (de) Datenverarbeitungssystem und betriebsverfahren dafür
EP1966696A1 (de) Verfahren zur erkennung einer versorgungsunterbrechung in einem datenspeicher und zur wiederherstellung des datenspeichers
DE102009002786A1 (de) Verfahren zum Test eines Speichers sowie Steuervorrichtung mit Mitteln für einen Speichertest
DE10148157B4 (de) Programmgesteuerte Einheit
DE102005016051B4 (de) Speicherüberprüfungsvorrichtung und Verfahren zum Überprüfen eines Speichers
DE102006036384A1 (de) Mikroprozessorsystem zur Steuerung bzw. Regelung von zumindest zum Teil sicherheitskritischen Prozessen
EP4355633A1 (de) Automatisches erkennen und korrigieren von speicherfehlern in einem sicheren mehrkanaligen rechner
DE102022102412A1 (de) Störungsdetektion für einen elektronischen Verarbeitungsschaltkreis mit einer arithmetisch-logischen Einheit
DE102005022031A1 (de) Verfahren zur Verringerung der statistischen Ausfallwahrscheinlichkeit einer programmierbaren digitalen Schaltung
DE102019220156A1 (de) Verfahren zum Betreiben einer Speichereinheit einer Recheneinheit
WO2020001824A1 (de) Verfahren, vorrichtung, computerprogramm und computerprogrammprodukt zum codieren eines steuergerätes eines fahrzeuges und zum überprüfen eines steuergerätes eines fahrzeuges
DE102016115272A1 (de) Speicher mit unterschiedlichen zuverlässigkeiten

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20160718

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

DAX Request for extension of the european patent (deleted)
17Q First examination report despatched

Effective date: 20180405

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: CONTINENTAL TEVES AG & CO. OHG

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN WITHDRAWN

18W Application withdrawn

Effective date: 20190206