DE102013226407A1 - 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 Download PDF

Info

Publication number
DE102013226407A1
DE102013226407A1 DE102013226407.0A DE102013226407A DE102013226407A1 DE 102013226407 A1 DE102013226407 A1 DE 102013226407A1 DE 102013226407 A DE102013226407 A DE 102013226407A DE 102013226407 A1 DE102013226407 A1 DE 102013226407A1
Authority
DE
Germany
Prior art keywords
data
security
bits
memory element
bit
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.)
Pending
Application number
DE102013226407.0A
Other languages
English (en)
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 Automotive Technologies GmbH
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
Priority to DE102013226407.0A priority Critical patent/DE102013226407A1/de
Priority to PCT/EP2014/078088 priority patent/WO2015091570A1/de
Priority to EP14824426.2A priority patent/EP3084768A1/de
Priority to KR1020167016280A priority patent/KR20160100969A/ko
Priority to CN201480068859.4A priority patent/CN105830162B/zh
Priority to US15/103,401 priority patent/US10262752B2/en
Publication of DE102013226407A1 publication Critical patent/DE102013226407A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's

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

  • 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örung bzw. „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. Zweidrittel-Mehrheitsentscheid durchgeführt. Weiterhin sind strahlungsresistente Flipflops bekannt, die zwar weniger anfällig, aber dafür auch deutlich größer als standardmäßige Flipflops sind. Andere bekannte Verfahren nutzen periodisches Auslesen (programmgesteuert) und Wiederbeschreiben der kritischen 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 bereitgestellt 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 Unteransprü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 Mehrheitsentscheidern, 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 ressourcenschonende Entdeckung weicher Fehler möglich, indem bereits beim ursprünglichen Schreiben der Daten eine die Daten charakterisierende Anzahl von Sicherheitsbits erzeugt bzw. berechnet 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 Schreibsicherheitsbits 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, Fehlerbehandlungsmaßnahmen einzuleiten und durchzuführen.
  • So werden in einer bevorzugten Ausführungsform aufgrund fehlender Übereinstimmung der berechneten Sicherheitsbits bzw. Ausgangssicherheitsbits mit den erzeugten Schreibsicherheitsbits, 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 Speicherelement 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 derartigen 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, Überwachungsschwellen 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 Ausführungsbeispiel der Erfindung wird anhand einer Zeichnung näher erläutert. Darin zeigen in stark schematisierter Darstellung:
  • 1 eine bekannte Konfiguration von drei Flipflops mit einer Mehrheitsentscheider-Schaltung,
  • 2 eine integrierte Schaltung mit einer Vorrichtung zur Erkennung von fehlerhaften Daten in wenigstens einem Speicherelement, einem Datenspeicherelement und einem Sicherheitsspeicherelement in einer ersten bevorzugten Ausführung, und
  • 3 eine integrierte Schaltung in einer zweiten bevorzugten Ausführung.
  • Gleiche Teile sind in allen Figuren mit denselben Bezugszeichen versehen.
  • In 1 ist ein Register 2 für ein Bit dargestellt. Das Register 2 ist dabei als Mehrheitsentscheider ausgebildet und umfasst 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 („Clock“) 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 gewissermaß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 Mehrheitsentscheiderlogik 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 abweichenden 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 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 1 diskutierten Schaltung wird nun jedes Bit durch ein einziges Flipflop reprä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 Sicherheitsspeicherelement 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 Sicherheitsspeicherelement 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 Logikeinheit 54 auf die gleiche Weise, in der die Logikeinheit 50 die Sicherheitsbits berechnet hat, aus den im Datenspeicherelement 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 ähnliches.
  • Eine integrierte Schaltung 30 in einer zweiten bevorzugten Ausführungsform ist in 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 Ausfü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äß 2 oder 3 wird vorteilhafterweise beispielsweise eingesetzt zur Absicherung von Konfigurationsdaten in Mikrocontroller Peripheriemodulen, z. B. Frequenzteiler 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 (9)

  1. Verfahren zur Erkennung von fehlerhaften Daten in wenigstens einem, wenigstens eine bistabile Kippstufe umfassenden Speicherelement (38), insbesondere einem Register (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 Ausgangssicherheitsbit 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 Ausgangssicherheitsbit 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 Datenspeicherelement (38), wenigstens einem Sicherheitsspeicherelement (46) und einer Vorrichtung nach Anspruch 7.
  9. Integrierte Schaltung (30) nach Anspruch 8, dadurch gekennzeichnet, dass das Datenspeicherelement (38) wenigstens ein Flipflop umfasst.
DE102013226407.0A 2013-12-18 2013-12-18 Verfahren und Vorrichtung zur Erkennung von fehlerhaften Daten in wenigstens einem Speicherelement Pending DE102013226407A1 (de)

Priority Applications (6)

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
EP14824426.2A EP3084768A1 (de) 2013-12-18 2014-12-16 Verfahren und vorrichtung zur erkennung von fehlerhaften daten in wenigstens einem speicherelement
KR1020167016280A KR20160100969A (ko) 2013-12-18 2014-12-16 적어도 하나의 메모리 엘리먼트에서 에러 데이터를 식별하는 방법 및 장치
CN201480068859.4A CN105830162B (zh) 2013-12-18 2014-12-16 用于识别至少一个存储器元件中的错误数据的方法和装置
US15/103,401 US10262752B2 (en) 2013-12-18 2014-12-16 Method and apparatus for identifying erroneous data in at least one memory element

Applications Claiming Priority (1)

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

Publications (1)

Publication Number Publication Date
DE102013226407A1 true DE102013226407A1 (de) 2015-06-18

Family

ID=52292890

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102013226407.0A Pending DE102013226407A1 (de) 2013-12-18 2013-12-18 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 (4)

* 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
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

Family Cites Families (12)

* 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
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 (4)

* 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
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

Also Published As

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

Similar Documents

Publication Publication Date Title
DE2619159C2 (de) Fehlererkennungs- und Korrektureinrichtung
DE102007042353B4 (de) Verfahren zum Detektieren von Fehlern in einem Fahrzeugsystem einer aktiven Frontlenkung
DE102011112174B4 (de) Vorrichtung und Verfahren zum Schutz und zur zerstörungsfreien Prüfung sicherheitsrelevanter Register
DE102005016050A1 (de) Speicherfehlererkennungsvorrichtung und Verfahren zum Erkennen eines Speicherfehlers
EP2100308B1 (de) Verfahren und halbleiterspeicher mit einer einrichtung zur erkennung von adressierungsfehlern
DE2157829C2 (de) Anordnung zum Erkennen und Korrigieren von Fehlern in Binärdatenmustern
EP1913478B1 (de) Mikroprozessorsystem zur steuerung bzw. regelung von zumindest zum teil sicherheitskritischen prozessen
DE112012004323T5 (de) Elektronisches Steuergerät
DE102014002302A1 (de) System und Verfahren zum Bestimmen der operativen Robustheit eines Systems auf einem Chip
EP3378006B1 (de) Verfahren zum laden eines sicheren speicherabbilds eines mikrocontrollers und anordnung mit einem mikrocontroller
DE102007045509B4 (de) Fahrzeug-Steuereinheit mit einem Versorgungspannungsüberwachten Mikrocontroller sowie zugehöriges Verfahren
WO2007071590A1 (de) Verfahren zur erkennung einer versorgungsunterbrechung in einem datenspeicher und zur wiederherstellung des datenspeichers
DE102013226407A1 (de) Verfahren und Vorrichtung zur Erkennung von fehlerhaften Daten in wenigstens einem Speicherelement
DE102006036384A1 (de) Mikroprozessorsystem zur Steuerung bzw. Regelung von zumindest zum Teil sicherheitskritischen Prozessen
DE102005016051B4 (de) Speicherüberprüfungsvorrichtung und Verfahren zum Überprüfen eines Speichers
DE102010063773A1 (de) Feldgerät mit einem semi-permanenten elektronischen Speicher und Verfahren zum Betreiben eines solchen Feldgerätes
EP3311273A1 (de) Verfahren und vorrichtung zum absichern einer programmzählerstruktur eines prozessorsystems und zum überwachen der behandlung einer unterbrechungsanfrage
WO2016050857A1 (de) Verfahren zur datenverarbeitung zum ermitteln, ob bei einer ausführung eines programms ein fehler aufgetreten ist und datenverarbeitungsanordnungen zum erzeugen von programm-code
DE102009002786A1 (de) Verfahren zum Test eines Speichers sowie Steuervorrichtung mit Mitteln für einen Speichertest
DE10148157B4 (de) Programmgesteuerte Einheit
DE102020120335B3 (de) Testen eines speicherbereichs
DE102022111126A1 (de) Datenverarbeitungsvorrichtung und verfahren zum prüfen der integrität eines speichers
DE102022102412A1 (de) Störungsdetektion für einen elektronischen Verarbeitungsschaltkreis mit einer arithmetisch-logischen Einheit
DE102021209038A1 (de) Verfahren zum automatischen Erkennen und Korrigieren von Speicherfehlern in einem sicheren mehrkanaligen Rechner
DE102005022031A1 (de) Verfahren zur Verringerung der statistischen Ausfallwahrscheinlichkeit einer programmierbaren digitalen Schaltung

Legal Events

Date Code Title Description
R163 Identified publications notified
R012 Request for examination validly filed
R081 Change of applicant/patentee

Owner name: CONTINENTAL AUTOMOTIVE TECHNOLOGIES GMBH, DE

Free format text: FORMER OWNER: CONTINENTAL TEVES AG & CO. OHG, 60488 FRANKFURT, DE

R081 Change of applicant/patentee

Owner name: CONTINENTAL AUTOMOTIVE TECHNOLOGIES GMBH, DE

Free format text: FORMER OWNER: CONTINENTAL AUTOMOTIVE TECHNOLOGIES GMBH, 30165 HANNOVER, DE