DE102005061394A1 - Fehlertolerantes Prozessorsystem - Google Patents

Fehlertolerantes Prozessorsystem Download PDF

Info

Publication number
DE102005061394A1
DE102005061394A1 DE102005061394A DE102005061394A DE102005061394A1 DE 102005061394 A1 DE102005061394 A1 DE 102005061394A1 DE 102005061394 A DE102005061394 A DE 102005061394A DE 102005061394 A DE102005061394 A DE 102005061394A DE 102005061394 A1 DE102005061394 A1 DE 102005061394A1
Authority
DE
Germany
Prior art keywords
error
processor system
error handling
variables
routines
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
DE102005061394A
Other languages
English (en)
Inventor
Werner Harter
Thomas Kottke
Yorck Collani
Christian El Salloum
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102005061394A priority Critical patent/DE102005061394A1/de
Priority to JP2008546379A priority patent/JP2009520290A/ja
Priority to PCT/EP2006/069610 priority patent/WO2007074056A2/de
Priority to EP06830558A priority patent/EP1966694A2/de
Priority to US12/158,771 priority patent/US20090204844A1/en
Publication of DE102005061394A1 publication Critical patent/DE102005061394A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
    • 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
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing

Abstract

Ein Prozessorsystem umfasst wenigstens eine Ausführungseinheit (1) zum Ausführen von Programmbefehlen einer Anwendung, einen Programmspeicher (3) zum Speichern von Programmbefehlen der Anwendung und wenigstens einer Fehlerbehandlungsroutine, einen Arbeitsspeicher (2) zum Speichern eines Satzes von Variablen der Anwendung und eine Überwachungseinheit (10) zum Erfassen von Fehlern der Ausführungseinheit (1) und/oder des Arbeitsspeichers (2, 7, 8) und Starten einer Fehlerbehandlungsroutine im Falle der Erfassung eines Fehlers. Die Fehlerbehandlungsroutinen sind ausgelegt, um jeweils unterschiedliche Teilmengen des Satzes von Variablen zu erneuern.

Description

  • Stand der Technik
  • Die vorliegende Erfindung betrifft ein Prozessorsystem mit wenigstens einer Ausführungseinheit zum Ausführen von Programmbefehlen einer Anwendung, einem Programmspeicher zum Speichern der Programmbefehle der Anwendung und wenigstens einer Fehlerbehandlungsroutine, einem Arbeitsspeicher zum Speichern eines Satzes von Variablen der Anwendung und einer Überwachungseinheit zum Erfassen von Fehlern der Ausführungseinheit und/oder des Arbeitsspeichers und Starten einer der Fehlerbehandlungsroutinen im Falle der Erfassung eines Fehlers.
  • Die Fehler, um deren Erfassung es dabei geht, sind „spontane" Fehler, die vereinzelt und unvorhersagbar in einem ansonsten ordnungsgemäß arbeitenden System auftreten. Solche Fehler gehen häufig zurück auf ionisierende Strahlung, die im Halbleitermaterial des Systems Ladungsträger freisetzt und so zu unkontrollierten Ladungsbewegungen führen kann. In der Zukunft ist mit einer Verschärfung der Probleme zu rechnen, die mit spontanen Fehlern in digitalen Schaltungsstrukturen zusammenhängen, da die fortschreitende Miniaturisierung der Schaltungsstrukturen zu einer erhöhten Empfindlichkeit gegenüber ionisierender Strahlung führt. Die Ladungsmengen, die den Unterschied zwischen zwei verschiedenen logischen Niveaus einer modernen hochintegrierten Schaltung ausmachen, sind mittlerweile so gering, dass ein einzelnes Quantum ionisierender Strahlung, das von einer Halbleiterstruktur absorbiert wird, genügen kann, um deren logischen Zustand zu invertieren. Je kleiner die Strukturen und damit die Ladungen werden, um so wahrscheinlicher werden derartige auch als Bit-Flip bezeichneten spontanen Zustandsübergänge.
  • Ein Prozessorsystem der oben angegebenen Art ist aus US 6 625 749 B1 bekannt. Es handelt sich hierbei um ein Prozessorsystem mit zwei Ausführungseinheiten und einer Prüfeinheit, wobei die eine Ausführungseinheit und die Prüfeinheit zusammen als eine Überwachungseinheit zum Überwachen der jeweils anderen Ausführungseinheit durch Vergleichen der von den Verarbeitungseinheiten bei Ausführung gleicher Programmbefehle erhaltenen Ergebnisse aufgefasst werden kann. Wenn unterschiedliche Verarbeitungsergebnisse der zwei Ausführungseinheiten erfasst werden, die auf einen Fehler in einer der Ausführungseinheiten hinweisen, wird eine Fehlerbehandlungsroutine gestartet, in deren Verlauf aus Zustandsdaten der zwei Ausführungseinheiten ein Satz von fehlerfreien Zustandsdaten in den Arbeitsspeicher gesichert und anschließend in beide Ausführungseinheiten zurückgeladen wird.
  • Dieses bekannte Prozessorsystem erreicht ein beträchtliches Maß an Fehlertoleranz unabhängig von der Art der darauf ausgeführten Anwendung, allerdings sind die Kosten des Systems aufgrund der Redundanz der Ausführungseinheiten erheblich.
  • Diese Kosten können zwar durch nichtredundante Prozessorsysteme vermieden werden, doch besteht bei diesen das Problem, dass eine Wiederherstellung von als verfälscht erkannten Daten nicht sicher möglich ist, weil nach Auftreten eines Fehlers kein Verlass darauf ist, dass die Ausführungseinheit eines solchen Systems noch korrekt arbeitet und in der Lage ist, einen als verfälscht erkannten Datenwert zu rekonstruieren, selbst wenn zu seiner Rekonstruktion benötigte redundante Information verfügbar ist. Herkömmliche einfache Prozessorsysteme sperren daher häufig bei Auftreten eines Fehlers die Ausführung einer Anwendung, in der der Fehler aufgetreten ist, oder sie lösen automatisch einen Neustart aus, durch den – unter Inkaufnahme des Verlustes sämtlicher aktueller Werte von Variablen der Anwendung – ein wohldefinierter Anfangszustand wieder hergestellt wird, von dem aus das System in der Lage ist, korrekt weiter zu arbeiten.
  • Ein solcher Neustart wird herkömmlicherweise ausgelöst durch Anlegen eines Reset-Signals an einen Reset-Eingang des Prozessors. Indem ein solches Reset-Signal auch beim Einschalten des System erzeugt wird, wird beim Einschalten wie beim Neustart die gleiche Initialisierungsprozedur ausgeführt.
  • Auch diese Lösungen sind nicht vollauf befriedigend, da insbesondere bei Echtzeitanwendungen eine plötzliche Sperrung der Anwendung oder ein Neustart, nach welchem das System eine längere Zeit, häufig mehrere hundert Millisekunden, benötigt, um wieder einsatzfähig zu sein, nicht hinnehmbar sind.
  • Es besteht daher Bedarf nach einem Prozessorsystem, das bei einfachem, preiswert realisierbarem Aufbau ein hohes Maß an Toleranz gegen spontane Bitfehler aufweist.
  • Offenbarung der Erfindung
  • Diesen Bedarf befriedigt die Erfindung durch ein Prozessorsystem mit wenigstens einer Ausführungseinheit zum Ausführen von Programmbefehlen einer Anwendung, einem Programmspeicher zum Speichern der Programmbefehle der Anwendung und wenigstens einer Fehlerbehandlungsroutine, einem Arbeitsspeicher zum Speichern eines Satzes von Variablen der Anwendung und einer Überwachungseinheit zum Erfassen von Fehlern der Ausführungseinheit und/oder des Arbeitsspeichers und Starten einer Fehlerbehandlungsroutine im Falle der Erfassung eines Fehlers, bei dem der Arbeitsspeicher mehrere Fehlerbehandlungsroutinen enthält, die ausgelegt sind, um jeweils unterschiedliche Teilmengen des Satzes von Variablen zu erneuern.
  • Die Mehrzahl von Fehlerbehandlungsroutinen ermöglicht es, auf einen auftretenden Fehler flexibel zu reagieren und, da anders als bei einem herkömmlichen Neustart nicht der gesamte Satz von Variablen erneuert werden muss, die Einsatzbereitschaft des Systems schnell wieder herzustellen.
  • Wenigstens einige der Fehlerbehandlungsroutinen stehen vorzugsweise in einem Vor- bzw. Nachrangigkeitsverhältnis zueinander, wobei von solchen Routinen bei Auftreten eines Fehlers jeweils zunächst die Fehlerbehandlungsroutine mit dem vordersten Rang gestartet wird. In einem solchen System ist die Überwachungseinheit vorzugsweise ausgelegt, um zu beurteilen, ob ein Fehler durch Ausführen einer vorrangigen Fehlerbehandlungsroutine erfolgreich behoben wurde, und, wenn er nicht erfolgreich behoben wurde, eine nachrangige Fehlerbehandlungsroutine zu starten.
  • Für die Beurteilung eines Fehlers als nicht erfolgreich behoben können unterschiedliche Kriterien eingesetzt werden. So kann insbesondere der Fehler dann als nicht erfolgreich behoben beurteilt werden, wenn innerhalb eines vorgegebenen Zeitraums ab dem Starten der vorrangigen Fehlerbehandlungsroutine der Fehler andauert. Ein anderes zweckmäßiges Kriterium ist, ob die Überwachungseinheit innerhalb eines vorgegebenen Zeitraums ab Durchführung der vorrangigen Fehlerbehandlungsroutine erneut einen Fehler erfasst.
  • Die Menge der durch eine gegebene Fehlerbehandlungsroutine erneuerten Variablen ist vorzugsweise eine echte Teilmenge der Menge der Variablen, die von einer der gegebenen Fehlerbehandlungsroutine nachrangigen Fehlerbehandlungsroutine erneuert werden. D.h. die Eingriffe der im Rangverhältnis zueinenander stehenden, bei erfolgloser Fehlerbehandlung nacheinander ausgeführten Fehlerbehandlungsroutinen in den Satz der Variablen werden von einer Routine zur nächsten immer tiefgreifender, bis schließlich als letztrangige Fehlerbehandlungsroutine in der Rangfolge ein Neustart vorgesehen sein kann, also ein Vorgang, bei dem sämtliche aktuellen Variablenwerte verworfen und anhand von Voreinstellungen erneuert werden.
  • Wenn das erfindungsgemäße Prozessorsystem zur Steuerung einer Maschine eingesetzt ist, ist es zweckmäßig, im Falle der Erfassung eines Fehlers die auszuführende Fehlerbehandlungsroutine anhand wenigstens eines Betriebsparameters der Maschine auszuwählen. Wenn beispielsweise das Prozessorsystem ein Kfz-Steuergerät und die Maschine ein Kraftfahrzeug ist, so kann es zweckmäßig sein, die Entscheidung über eine auszuführende Fehlerbehandlungsroutine davon abhängig zu machen, ob das Fahrzeug steht oder fährt bzw. wie schnell es fährt.
  • Um die Ausführungseinheit zum Starten einer Fehlerbehandlungsroutine zu veranlassen, kann die Überwachungseinheit an einen NMI-Eingang der Ausführungseinheit angeschlossen sein. Auch ein Anschluss der Überwachungseinheit an einen Reset-Eingang der Ausführungseinheit ist nützlich.
  • Des weiteren kann die Überwachungseinheit an einen E/A-Port der Ausführungseinheit angeschlossen sein. Es kann vorgesehen werden, dass die Ausführungseinheit diesen Port im Normalbetrieb regelmäßig abfragt, um festzustellen, ob ein Fehler vorliegt, der behoben werden muss; vorzugsweise ist er nutzbar, um im Laufe einer Fehlerbehandlungsroutine Hilfsinformation an die Ausführungseinheit zu übergeben.
  • Einer bevorzugten Ausgestaltung zufolge weist die Ausführungseinheit zwei Gruppen von internen Speicherzellen auf, wobei die Speicherzellen der ersten Gruppe durch ein an einen Warmstart-Eingang der Ausführungseinheit angelegtes Signal unmittelbar löschbar sind und diejenigen der zweiten Gruppe nicht. Während bei einem Reset üblicherweise sämtliche internen Speicherzellen einer Ausführungseinheit unmittelbar durch das Reset- Signal gelöscht werden, ohne dass es der Ausführung spezieller Löschbefehle durch die Ausführungseinheit bedürfte, liefert das Vorhandensein der zwei Gruppen von Speicherzellen dem Programmierer einer Anwendung die Möglichkeit, die Variablen der Anwendung auf Speicherzellen der ersten bzw. zweiten Gruppe so zu verteilen, dass aufwändig zu erneuernde Variablen sich in Speicherzellen der zweiten Gruppe befinden, und solche die problemlos erneuerbar sind, in der ersten.
  • Ein Signal, welches das Vorliegen oder Nichtvorliegen eines Fehlers in dem Prozessorsystem anzeigt, hat vorzugsweise bei Vorliegen eines Fehlers einen massenahen und bei Nichtvorliegen einen massefernen Pegel. So ist die Wahrscheinlichkeit groß, dass ein Versagen eines dieses Signal liefernden Schaltungsteils, beispielsweise aufgrund eines Versorgungsspannungsausfalls, die gleiche Reaktion wie ein von diesem Schaltungsteil zu erfassender Fehler hervorruft und dadurch bemerkt wird und behoben werden kann.
  • Eine noch höhere Zuverlässigkeit bei der Erfassung einer Störung in dem das Fehlersignal erzeugenden Schaltungsteil wird erreicht, wenn dieses Signal bei Vorliegen eines Fehlers einen konstanten und bei Nichtvorliegen einen veränderlichen Pegel annimmt.
  • Weitere Merkmale und Vorteile der Erfindung ergeben sich aus der nachfolgenden Beschreibung von Ausführungsbeispielen unter Bezugnahme auf die beigefügten Figuren.
  • Figuren Es zeigen:
  • 1-3 Blockdiagramme von Prozessorsystemen gemäß der vorliegenden Erfindung; und
  • 4 ein Flussdiagramm eines Arbeitsverfahrens einer Überwachungseinheit in einem erfindungsgemäßen Prozessorsystem.
  • Beschreibung der Ausführungsbeispiele
  • 1 zeigt schematisch ein Prozessorsystem mit einem Mikroprozessor 1, externem RAM 2 und ROM 3, die mit dem Mikroprozessor 1 über einen Datenbus 4 und einen nicht dargestellten Adressbus kommunizieren, sowie einer Überwachungseinheit 5. Der Mikroprozessor 1 enthält eine Mehrzahl von Registern 6 sowie interne Speicherbereiche 7, 8 mit wahlfreiem Zugriff wie etwa einen Cache, eine Arithmetik-Logik-Einheit (ALU) 9, die Rechenoperationen an den Inhalten der Register 6 und der Speicher 2, 7, 8 durchführt, einen Paritätsgenerator 10, Sensoren 13 zum Überwachen einer von dem Prozessorsystem gesteuerten Maschine und Aktoren, über die das System in der Lage ist, die Maschine zu beeinflussen,. Bestandteile des Mikroprozessors 1, die den Zugriff des Mikroprozessors 1 auf im ROM 3 gespeicherte Programmbefehle und deren Decodierung steuern, sind, da an sich bekannt, nicht dargestellt. Die Register 6 und die internen Speicher 7, 8, fakultativ auch das RAM 2, enthalten zu jeder ihrer Speicherzellen ein Paritätsbit, das den Paritätszustand des in dere Zelle gespeicherten Datenwortes angibt. Das Paritätsbit wird mit dem zugehörigen Datenwort auf den Datenbus 4 ausgegeben, von der ALU 9 aber nicht verarbeitet. Es wird von der Überwachungseinheit 5 empfangen und mit einem Paritätsbit verglichen, welches letztere aus dem gleichzeitig empfangenen zugehörigen Datenwort berechnet. Bei Nichtübereinstimmung der Paritätsbits gibt der Paritätsgenerator 10 ein Fehlersignal auf einer Leitung 11 an die Überwachungseinheit 5 aus.
  • Bei ordnungsgemäßer Funktion des Mikroprozessors 1 führt die Signalleitung 11 einen Pegel logisch 1, nahe dem Versorgungspotenzial des Mikroprozessors; bei Auftreten eines Paritätsfehlers fällt der Pegel auf logisch 0, nahe dem Massepotenzial. Infolgedessen wird nicht nur ein tatsächlicher Bitfehler im von der Überwachungseinheit 5 überwachten Speicher, sondern auch eine Störung der Überwachungseinheit selbst, bei der ihr Ausgangssignal auf 0 geht, als Fehler erkannt. Das Fehlersignal ist von der Überwachungseinheit 5 unmittelbar zurückgeführt an einen nicht maskierbaren Interrupt-Eingang (NMI-Eingang) 12 des Mikroprozessors 1. So ist der Mikroprozessor 1 im Fehlerfall gezwungen, die in Bearbeitung befindliche Anwendung zu unterbrechen und eine NMI-Fehlerbehandlungsroutine anzuspringen.
  • Einer Variante zufolge führt die Signalleitung 11 bei ordnungsgemäßer Funktion des Mikroprozessors 1 ein Signal, dessen Pegel zwischen logisch 0 und logisch 1 oszilliert und das im Fehlerfall einen konstanten Wert annimmt. So wird als ein Fehler auch der Fall erkannt, dass die Überwachungseinheit 5 aufgrund einer Störung konstant ein Ausgangssignal logisch 1 liefert.
  • Die Fehlerbehandlungsroutine kann z.B. darin bestehen, zu ermitteln, in welchem von mehreren Programmteilen der auf dem Prozessorsystem laufenden Anwendung der festgestellte Fehler aufgetreten ist, und anschließend eine für den jeweiligen Programmteil spezifische Fehlerbehandlungsroutine auszuführen, die darin bestehen kann, von diesem Programmteil benutzte Variablen zu erneuern und anschließend zu einer vorgegebenen Wiedereinstiegsstelle des betreffenden Programmteils zurückzukehren, von wo aus mit den erneuerten Variablen weitergearbeitet werden kann. Die Erneuerung der Variablen kann beispielsweise erfolgen, indem diese – in derselben Weise wie bei einem Kaltstart des Prozessorsystems – aus einem Permanentspeicher gelesen und an für sie vorgesehene Plätze der Speicher 7, 8 kopiert werden oder aus permanent gespeicherten Werten neu errechnet werden. Wenn das Prozessorsystem für eine Steuerungsanwendung eingesetzt ist, ist für viele Variablen, die Betriebsgrößen einer von dem Prozessorsystem gesteuerten Maschine entsprechen, der einfachste Weg zu ihrer Erneuerung, dass der Mikroprozessor 1 sie über die ihnen entsprechenden Sensoren 13 neu erfasst. Im einen wie im anderen Falle beschränkt sich die Menge der zu erneuernden Daten auf einen Teil der Variablen der Anwendung, so dass die Einsatzbereitschaft des Prozessorsystems in den meisten Fällen deutlich schneller wiederherstellbar ist, als wenn ein Reset des gesamten Prozessorsystems mit darauf folgender Neuinitialisierung sämtlicher Variablen erfolgt.
  • Unter einer Variablen wird hier im umfassenden Sinn jede Größe verstandenn, die in einem der beschreibbaren Speicher 2, 6, 7, 8 gespeichert sind, so dass der Mikroprozessor technisch in der Lage ist, sie zu verändern, unabhängig davon, ob die betreffende Anwendung eine Änderung einer solchen Variablen tatsächlich vorsieht oder nicht.
  • Eine weitere Möglichkeit der Fehlerbehandlung ist, nach Identifizierung des Programmteils, in welchem der Fehler aufgetreten ist, die Ausführung dieses Programmteils zu sperren und statt dessen einen vorgegebenen Ersatz-Programmteil zu aktivieren, der kurzfristig ein höheres Maß an Betriebssicherheit ermöglicht als der Programmteil, in welchem die Störung aufgetreten ist. Wenn z.B. die Anwendung ein Brake-by-Wire-System ist, so kann es zweckmäßig sein, bei Auftreten eines Fehlers in einem Programmteil, der zur Errechnung und zum Vergleich der Geschwindigkeiten der verschiedenen Räder eines Fahrzeugs dient, eine auf diesem Vergleich basierende Antiblockierfunktion zu sperren und statt dessen eine Notfunktion zu aktivieren, die den auf die Räder wirkenden Bremsdruck allein anhand der Bremspedalstellung ohne Berücksichtigung eines eventuellen Blockierens der Räder steuert, um auf diese Weise die Verfügbarkeit der Bremsen bei fahrendem Fahrzeug nicht durch einen zeitaufwändigen Kaltstart des Prozessorsystems zu beeinträchtigen.
  • Einer weiterentwickelten Ausgestaltung zufolge, die ebenfalls mit Bezug auf 1 beschrieben wird, ist der Eingang 12 des Mikroprozessors 1 kein NMI-Eingang, sondern ein E/A-Port. Ein an diesem von der Überwachungseinheit 5 her eintreffendes Signal verursacht keine automatische Reaktion des Mikroprozessors 1 verursacht, aber Mikroprozessor 1 ist programmgesteuert in der Lage, den Pegel des Eingangs 12 zu lesen. Der NMI-Eingang ist mit 16 bezeichnet; ansonsten werden gleiche Bezugszeichen für gleiche Elemente wie in der zuvor beschriebenen Ausgestaltung verwendet. Der NMI-Eingang 16 und ein Reset-Eingang 17 sind innerhalb der Überwachungseinheit 5 mit der Fehlersignalleitung 11 über einen Demultiplexer 18 verbunden. Der Demultiplexer 18 ist durch ein Zeitglied, hier ein Monoflop 14, gesteuert, welches durch Eintreffen eines Fehlersignals auf der Leitung 11 in seinen instabilen Zustand versetzt wird. In diesem Zustand steuert es den Demultiplexer 18 so an, dass dieser das Fehlersignal an den NMI-Eingang 16 des Mikroprozessors 1 weiterschaltet, was dort eine Fehlerbehandlungsroutine wie oben für die erste Ausgestaltung beschrieben auslöst.
  • Das Monoflop 14 ist durch ein zwischenzeitliches Verschwinden und Wiederauftreten des Fehlersignals nicht neu triggerbar, so dass es unabhängig davon, ob das Fehlersignal durch die Fehlerbehandlungsroutine beseitigt wird oder nicht, nach einer vorgegebenen Zeitspanne dt1 in den stabilen Zustand zurückkehrt. In diesem Zustand verbindet der Demultiplexer 18 den Reseteingang 17 des Mikroprozessors 1 mit der Fehlersignalleitung 11. Wenn das Fehlersignal zwischenzeitlich verschwunden ist, führt dies zu keiner Reaktion des Mikroprozessors 1; wenn es jedoch noch vorhanden ist, d.h. wenn die über den NMI-Eingang ausgelöste Fehlerbehebungsroutine innerhalb der Zeit dt1 keine Wirkung gezeigt hat, wird sie als fehlgeschlagen angesehen und das Fehlersignal an den Reseteingang angelegt.
  • Durch das Fehlersignal am Reseteingang 17, im folgenden auch als Reset-Signal bezeichnet, werden zumindest die Register 6 des Mikroprozessors 1 unmittelbar gelöscht. Je nach Bauart des Mikroprozessors 1 kann vorgesehen sein, dass auch der interne Speicher 7, 8 unmittelbar gelöscht wird.
  • Ferner wird der Mikroprozessor 1 durch das Reset-Signal veranlasst, eine weitere Fehlerbehandlungsroutine im ROM 3 anzuspringen. Zu Beginn dieser Routine überprüft er den Status des Ein-/Ausgabe-Anschlusses 12. Wenn dieser keinen Fehler anzeigt, handelt es sich um einen Kaltstart; in diesem Fall werden in derselben Weise wie bei einem Einschalten des Systems unter den Speichern 2, 6, 7, 8 alle diejenigen, die nicht automatisch durch das Reset-Signal gelöscht worden sind, programmgesteuert neu initialisiert, Selbsttestroutinen werden durchgeführt, etc.
  • Wenn jedoch ein Fehlersignal an dem E/A-Port 12 anliegt, erkennt der Mikroprozessor 1 daran, dass kein Kaltstart vorliegt, und die dann ausgeführte Fehlerbehandlungsroutine beschränkt sich darauf, die durch das Reset-Signal gelöschten Speoicherplätze, also die Register 6 und gegebenenfalls den Speicher 7, 8, zu erneuern.
  • Im Falle eines Mikroprozessors, bei dem nicht der gesamte interne Speicher 7, 8 durch das Reset-Signal automatisch gelöscht wird, kann auch in diesem Fall, analog zur oben beschriebenen ersten Ausgestaltung, ermittelt werden, in welchem Programmteil der Anwendung der Fehler aufgetreten ist, und anschließend eine für diesen Programmteil spezifische Fehlerbehebungsroutine ausgewählt und ausgeführt werden, die lediglich einen von diesem Programmteil benutzten Bereich, etwa den Bereich 7, des Speichers erneuert, nicht aber einen nur von anderen Programmteilen genutzten Bereich 8.
  • Das Mikroprozessorsystem der 2 unterscheidet sich von dem der zweiten Ausgestaltung durch ein zweites Monoflop 19, das parallel zum ersten Monoflop 14 mit der Fehlersignalleitung 11 verbunden ist, das aber eine deutlich längere Dauer dt2 des instabilen Zustandes aufweist als die Zeitdauer dt1 des Monoflop 14. Diese Zeitdauer ist größer als die zur Ausführung einer über den NMI-Eingang 16 ausgelösten Fehlerbehandlungsroutine benötigte, so dass der instabile Zustand noch eine Zeit lang anhält, wenn das Prozessorsystem nach der Fehlerbehandlungsroutine zu der Anwendung zurückkehrt. Ein Und-Gatter 20 hat mit dem Ausgang des Monoflops 19 und mit der Fehlersignalleitung 11 verbundene Eingänge und einen Ausgang, der parallel zum Monoflop 14 den Demultiplexer 18 ansteuert. Die Wirkung dieser Ausgestaltung liegt darin, dass wenn ein Fehler im Mikroprozessor 1 von dem Paritätsgenerator 10 erfasst worden ist, dieser Fehler noch eine gewisse Zeit im Monoflop 19 gespeichert bleibt, auch wenn er durch Auslösen einer Fehlerbehandlungsroutine über den NMI-Eingang 16 zunächst scheinbar erfolgreich behoben wurde. Wenn nach einem solchen Fehler innerhalb der Latenzzeit des Monoflop 19 ein zweiter Fehler erfasst wird, so ist die Wahrscheinlichkeit hoch, dass ein kausaler Zusammenhang zwischen beiden besteht und die über NMI ausgelöste Fehlerbehandlung nicht ausreichend war, so dass sofort eine tiefergreifende Fehlerbehandlung über den Reset-Eingang ausgelöst wird.
  • Anstatt an den prozessorinternen Teil des Datenbusses 4 kann der Paritätsgenerator 10 auch unmittelbar an die einzelnen Register 6 sowie evtl. auch an wenigstens einen Teil 7 der Zellen des internen Speichers des Mikroprozessors angeschlossen sein, um dort auftretende Paritätsfehler im Moment ihres Auftretens zu erfassen und nicht erst zu dem Zeitpunkt, wo sie im Laufe eines Lesezugriffs auf den Datenbus 4 ausgegeben werden.
  • 3 zeigt eine Weiterentwicklung eines solchen Mikroprozessorsystems mit zwei Paritätsgeneratoren 10a, 10b, von denen der eine 10a den Registern 6 und der andere 10b dem Speicherbereich 7 zugeordnet ist. Entsprechend den zwei Paritätsgeneratoren gibt es auch zwei zur Überwachungseinheit 5 führende Fehlersignalleitungen 11a, 11b. Nur die Leitung 11a ist in zur zweiten Ausgestaltung analoger Weise mit dem Monoflop 14 und dem Demultiplexer 18 verbunden, um im Fehlerfall den NMI-Eingang 16 des Prozessors anzusprechen. Daher genügt bei einer über NMI ausgelösten ersten Fehlerbehandlungsroutine eine Erneuerung der Register 6. Erst wenn diese den Fehler nicht während der Latenzzeit des Monoflops 14 zum Verschwinden bringt, wird eine weitergehende zweite Fehlerbehandlungsroutine über den Reset-Eingang 17 ausgelöst. Diese Fehlerbehandlungsroutine erneuert auch den Inhalt des Speicherbereichs 7. Im Falle eines Paritätsfehlers im Speicherbereich 7 wird sofort die zweite Fehlerbehandlungsroutine über den Reset-Eingang ausgelöst.
  • Wie man leicht sieht, eignet sich das oben an Beispielen beschriebene Konzept der gestuften Reaktion auf Fehler des Mikroprozessors zu diversen Verfeinerungen, die insbesondere mit einer ihrerseits programmgesteuerten Überwachungseinheit 5 leicht implementierbar sind. Eine solche programmgesteuerte Überwachungseinheit kann ein zweiter Prozessor im Rahmen eines Mehrprozessorsystems sein, wobei sich in einem solchen System die Prozessoren vorzugsweise reihum gegenseitig überwachen. Denkbar ist aber auch, in einem Einprozessorsystem die Überwachungseinheit 5 als eine vom Paritätsgenerator 10 aufgerufene Interrupt-Routine zu implementieren.
  • Die Arbeitsweise einer Software-Implementierung der Überwachungseinheit 5, sei es im Mikroprozessor 1 selbst oder in einem anderen Prozessor, wird anhand des Flussdiagramms der 4 dargelegt. Die Routine beginnt in Schritt S1 mit der Erfassung eines vom Paritätsgenerator gemeldeten Fehlers. In Schritt S2 wird der Zustand eines eventuell bei einer früheren Fehlerbehandlung gesetzten Zeitgebers abgefragt, um festzustellen, ob die Latenzzeit eines früher aufgetretenen Fehlers noch andauert, d.h., ob ein kausaler Zusammenhang zwischen diesem früheren Fehler und dem aktuell beobachteten Fehler anzunehmen ist.
  • Wenn dies nicht der Fall ist, wird in Schritt S3 der Ursprung des Fehlers ermittelt. Falls der Paritätsgenerator den Datenbus überwacht, kann anhand eines Programmzählerstandes, der zur Zeit des Interrupt auf den Stack gerettet wurde, ein Programmteil ermittelt werden, in dem der Fehler aufgetreten ist. Alternativ kann bei einem Aufbau der in 3 gezeigten Art, der die Register 6 und den internen Speicher 7, 8 oder gar einzelne Bereiche 7, 8 des Speichers getrennt überwacht, festgestellt werden, wo im Speicher der Fehler aufgetreten ist. Bei entsprechender Zuordnung der Speicherbereiche an Teilprogramme der Anwendung können beide Ansätze das gleiche Ergebnis liefern.
  • Anhand des ermittelten Fehlerursprungs wird eine geeignete Fehlerbehandlungsroutine in Schritt S4 ausgewählt. D.h., unter mehreren Fehlerbehandlungsroutinen, die geeignet ein könnten, um einen Fehler mit dem festgestellten Ursprung zu beheben, wird zunächst diejenige mit dem vordersten Rang gewählt. Es ist dies diejenige Fehlerbehandlungsroutine, die den geringsten Eingriff in das System darstellt, d.h. im allgemeinen diejenige, die die kleinste Zahl an Variablen erneuert und am schnellsten auszuführen ist.
  • Wenn in Schritt S2 festgestellt wird, dass die Latenzzeit noch andauert, wird in Schritt S5 eine Fehlerbehandlungsroutine ausgewählt, die im Rang auf die zuvor durchgeführte Fehlerbehandlungsroutine folgt. D.h. da anzunehmen ist, das die vorherige Fehlerbehandlungsroutine erfolglos geblieben ist, wird die nächstmächtigere versucht.
  • Die in Schritt S4 oder S5 ausgewählte Fehlerbehandlungsroutine wird in Schritt S6 auf Zulässigkeit geprüft. Dazu wird z.B. eine Betriebsgröße der gesteuerten Maschine, z.B. die Geschwindigkeit des von dem Prozessorsystem gesteuerten Fahrzeugs, erfasst und anhand einer vorab im ROM 3 gespeicherten Tabelle geprüft, ob die ausgewählte Fehlerbehandlungsroutine bei dem erfassten Wert der Betriebsgröße erlaubt oder verboten ist. Ist sie verboten, z.B. weil ihre Durchführung den Prozessor für eine bei der gemessenen Geschwindigkeit übermäßig lange Zeit in Anspruch nimmt, so wird sie nicht ausgeführt, und der Prozessor 1 wechselt in einen Notbetriebsmodus S7.
  • Wenn die Fehlerbehandlungsroutine in Schritt S6 für zulässig befunden wird, wird sie in Schritt S8 gestartet. Dann wird eine Zeitspanne dt1 lang abgewartet und anschließen in Schritt S9 geprüft, ob der Paritätsgenerator den Fehler weiterhin meldet oder nicht. Wenn der Fehler weiterhin vorliegt, kehrt das Verfahren zu Schritt S5 zurück, um die auf diese eben versuchte Fehlerbehandlungsroutine in der Rangfolge nachfolgende Routine auszuführen. Wenn in Schritt S9 der Fehler nicht mehr beobachtet wird, endet das Verfahren in Schritt S10 mit dem Setzen des Zeitgebers, der in Schritt S2 abgefragt wurde.
  • Es versteht sich, dass beim Übergang von Schritt S9 nach S5 eine in der Rangfolge nachfolgende Funktion nur so lange gewählt werden kann, wie eine vorhanden ist. Die letzte Routine in jeder Rangfolge der Fehlerbehandlungsroutinen ist zwangsläufig der Kaltstart.

Claims (13)

  1. Prozessorsystem mit wenigstens einer Ausführungseinheit (1) zum Ausführen von Programmbefehlen einer Anwendung, einem Programmspeicher (3) zum Speichern von Programmbefehlen der Anwendung und wenigstens einer Fehlerbehandlungsroutine, einem Arbeitsspeicher (2) zum Speichern eines Satzes von Variablen der Anwendung und einer Überwachungseinheit (10) zum Erfassen von Fehlern der Ausführungseinheit (1) und/oder des Arbeitsspeichers (2, 7, 8) und Starten einer Fehlerbehandlungsroutine im Falle der Erfassung eines Fehlers, dadurch gekennzeichnet, dass die Fehlerbehandlungsroutinen ausgelegt sind, um jeweils unterschiedliche Teilmengen des Satzes von Variablen zu erneuern.
  2. Prozessorsystem nach Anspruch 1, dadurch gekennzeichnet, dass die Überwachungseinheit (10) ausgelegt ist, um Bitfehler von Registern (6) der Ausführungseinheit (1) und/oder von Speicherzellen des Arbeitsspeichers (2, 7, 8) zu erfassen.
  3. Prozessorsystem nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass eine Rangfolge der Fehlerbehandlungsroutinen vorgegeben ist und dass die Überwachungseinheit (10) ausgelegt ist, um zu beurteilen, ob ein Fehler durch Ausführen einer vorrangigen Fehlerbehandlungsroutine erfolgreich behoben wurde und, wenn er nicht erfolgreich behoben wurde, eine nachrangige Fehlerbehandlungsroutine zu starten.
  4. Prozessorsystem nach Anspruch 3, dadurch gekennzeichnet, dass der Fehler unter anderem dann als nicht erfolgreich behoben beurteilt wird, wenn innerhalb eines vorgegebenen Zeitraums (dt1) ab dem Starten der vorrangigen Fehlerbehandlungsroutine der Fehler andauert.
  5. Prozessorsystem nach Anspruch 3 oder 4, dadurch gekennzeichnet, dass der Fehler unter anderem dann als nicht erfolgreich behoben beurteilt wird, wenn die Überwachungseinheit (10) innerhalb eines vorgegebenen Zeitraums (dt2) ab Durchführung der vorrangigen Fehlerbehandlungsroutine erneut einen Fehler erfasst.
  6. Prozessorsystem nach Anspruch 3, 4 oder 5, dadurch gekennzeichnet, dass die Menge der durch eine gegebene Fehlerbehandlungsroutine erneuerten Variablen eine echte Teilmenge der Menge der von einer der gegebenen Fehlerbehandlungsroutine nachrangigen Fehlerbehandlungsroutine erneuerten Variablen ist.
  7. Prozessorsystem nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass es zur Steuerung einer Maschine eingesetzt ist und eingerichtet ist, im Falle der Erfassung eines Fehlers die auszuführende Fehlerbehandlungsroutine anhand wenigstens eines Betriebsparameters der Maschine auszuwählen.
  8. Prozessorsystem nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Überwachungseinheit (10) an einen NMI-Eingang (12; 16) der Ausführungseinheit (1) angeschlossen ist.
  9. Prozessorsystem nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Überwachungseinheit (1) an einen Reset-Eingang (17) der Ausführungseinheit (1) angeschlossen ist.
  10. Prozessorsystem nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Überwachungseinheit (10) an einen E/A-Port (12) der Ausführungseinheit (1) angeschlossen ist.
  11. Prozessorsystem nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Ausführungseinheit zwei Gruppen von internen Speicherzellen (7, 8) aufweist, wobei diejenigen der ersten Gruppe (7) durch ein an einen Eingang der Ausführungseinheit (1) angelegtes Signal unmittelbar löschbar sind und diejenigen der zweiten Gruppe (8) nicht.
  12. Prozessorsystem nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass ein das Vorliegen oder Nichtvorliegen eines Fehlers anzeigendes Signal bei Vorliegen eines Fehlers einen massenahen und bei Nichtvorliegen einen massefernen Pegel annimmt.
  13. Prozessorsystem nach einem der Ansprüche 1 bis 11, dadurch gekennzeichnet, dass ein das Vorliegen oder Nichtvorliegen eines Fehlers anzeigendes Signal bei Vorliegen eines Fehlers einen konstanten und bei Nichtvorliegen einen veränderlichen Pegel annimmt.
DE102005061394A 2005-12-22 2005-12-22 Fehlertolerantes Prozessorsystem Withdrawn DE102005061394A1 (de)

Priority Applications (5)

Application Number Priority Date Filing Date Title
DE102005061394A DE102005061394A1 (de) 2005-12-22 2005-12-22 Fehlertolerantes Prozessorsystem
JP2008546379A JP2009520290A (ja) 2005-12-22 2006-12-12 耐故障性があるプロセッサシステム
PCT/EP2006/069610 WO2007074056A2 (de) 2005-12-22 2006-12-12 Fehlertolerantes prozessorsystem
EP06830558A EP1966694A2 (de) 2005-12-22 2006-12-12 Fehlertolerantes prozessorsystem
US12/158,771 US20090204844A1 (en) 2005-12-22 2006-12-12 Error-tolerant processor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102005061394A DE102005061394A1 (de) 2005-12-22 2005-12-22 Fehlertolerantes Prozessorsystem

Publications (1)

Publication Number Publication Date
DE102005061394A1 true DE102005061394A1 (de) 2007-06-28

Family

ID=37913713

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102005061394A Withdrawn DE102005061394A1 (de) 2005-12-22 2005-12-22 Fehlertolerantes Prozessorsystem

Country Status (5)

Country Link
US (1) US20090204844A1 (de)
EP (1) EP1966694A2 (de)
JP (1) JP2009520290A (de)
DE (1) DE102005061394A1 (de)
WO (1) WO2007074056A2 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7958436B2 (en) 2005-12-23 2011-06-07 Intel Corporation Performing a cyclic redundancy checksum operation responsive to a user-level instruction
CN110007738B (zh) * 2019-03-26 2023-04-21 中国工程物理研究院电子工程研究所 适用于敏感电路的抗瞬时电离辐射复位后运行状态重构方法
US11175979B2 (en) * 2019-08-06 2021-11-16 Micron Technology, Inc. Prioritization of error control operations at a memory sub-system

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3997879A (en) * 1975-12-24 1976-12-14 Allen-Bradley Company Fault processor for programmable controller with remote I/O interface racks
US4118792A (en) * 1977-04-25 1978-10-03 Allen-Bradley Company Malfunction detection system for a microprocessor based programmable controller
JP2571576B2 (ja) * 1987-05-19 1997-01-16 富士通株式会社 マシンチェックホルト処理方式
JPH02234241A (ja) * 1989-03-08 1990-09-17 Hitachi Ltd リセット・リトライ回路
US5159597A (en) * 1990-05-21 1992-10-27 International Business Machines Corporation Generic error recovery
JPH04309137A (ja) * 1991-04-08 1992-10-30 Hitachi Ltd メモリシステム
JPH05257726A (ja) * 1992-03-13 1993-10-08 Toshiba Corp パリティチェック診断装置
US5241668A (en) * 1992-04-20 1993-08-31 International Business Machines Corporation Method and system for automated termination and resumption in a time zero backup copy process
JPH05324132A (ja) * 1992-05-19 1993-12-07 Sharp Corp データ処理装置
US5426324A (en) * 1994-08-11 1995-06-20 International Business Machines Corporation High capacitance multi-level storage node for high density TFT load SRAMs with low soft error rates
US5491787A (en) * 1994-08-25 1996-02-13 Unisys Corporation Fault tolerant digital computer system having two processors which periodically alternate as master and slave
NL9401923A (nl) * 1994-11-17 1996-07-01 Gti Holding Nv Werkwijze en inrichting voor het in een veiligheidssysteem verwerken van signalen.
JPH11203254A (ja) * 1998-01-14 1999-07-30 Nec Corp 共有プロセス制御装置及びプログラムを記録した機械読み取り可能な記録媒体
US6490550B1 (en) * 1998-11-30 2002-12-03 Ericsson Inc. System and method for IP-based communication transmitting speech and speech-generated text
JP2000200199A (ja) * 1999-01-07 2000-07-18 Nec Kofu Ltd 情報処理装置および情報処理装置における初期化方法と再試行方法
JP2000222232A (ja) * 1999-01-28 2000-08-11 Toshiba Corp 電子計算機及び電子計算機のメモリ障害回避方法
DE19959330A1 (de) * 1999-12-09 2001-06-13 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Steuern eines Roboters
US6625749B1 (en) * 1999-12-21 2003-09-23 Intel Corporation Firmware mechanism for correcting soft errors
US6708291B1 (en) * 2000-05-20 2004-03-16 Equipe Communications Corporation Hierarchical fault descriptors in computer systems
US7051098B2 (en) * 2000-05-25 2006-05-23 United States Of America As Represented By The Secretary Of The Navy System for monitoring and reporting performance of hosts and applications and selectively configuring applications in a resource managed system
JP2002091494A (ja) * 2000-09-13 2002-03-27 Tdk Corp ディジタル式記録再生装置
US20020095615A1 (en) * 2000-10-15 2002-07-18 Hastings Jeffrey S. Fail safe recovery
JP2003114811A (ja) * 2001-10-05 2003-04-18 Nec Corp 自動障害復旧方法及びシステム並びに装置とプログラム
JP3905763B2 (ja) * 2002-01-22 2007-04-18 ジェコー株式会社 標準電波デコード回路及びそれを用いた電波時計
US7240277B2 (en) * 2003-09-26 2007-07-03 Texas Instruments Incorporated Memory error detection reporting
JP3866708B2 (ja) * 2003-11-10 2007-01-10 株式会社東芝 リモート入出力装置
JP2005242403A (ja) * 2004-02-24 2005-09-08 Hitachi Ltd 計算機システム
JP3826940B2 (ja) * 2004-06-02 2006-09-27 日本電気株式会社 障害復旧装置および障害復旧方法、マネージャ装置並びにプログラム
JP5053854B2 (ja) * 2004-10-25 2012-10-24 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング 少なくとも2つの実施ユニットを有する計算機システムにおける切替え方法および装置
US7624305B2 (en) * 2004-11-18 2009-11-24 International Business Machines Corporation Failure isolation in a communication system
US7409586B1 (en) * 2004-12-09 2008-08-05 Symantec Operating Corporation System and method for handling a storage resource error condition based on priority information
US7451344B1 (en) * 2005-04-08 2008-11-11 Western Digital Technologies, Inc. Optimizing order of error recovery steps in a disk drive
US20070094270A1 (en) * 2005-10-21 2007-04-26 Callminer, Inc. Method and apparatus for the processing of heterogeneous units of work
US7779308B2 (en) * 2007-06-21 2010-08-17 International Business Machines Corporation Error processing across multiple initiator network
JP4659062B2 (ja) * 2008-04-23 2011-03-30 株式会社日立製作所 フェイルオーバ方法、プログラム、管理サーバおよびフェイルオーバシステム
CN101847148B (zh) * 2009-03-23 2013-03-20 国际商业机器公司 实现应用高可用性的方法和装置
US8285952B2 (en) * 2009-09-17 2012-10-09 Hitachi, Ltd. Method and apparatus to utilize large capacity disk drives
US8122282B2 (en) * 2010-03-12 2012-02-21 International Business Machines Corporation Starting virtual instances within a cloud computing environment

Also Published As

Publication number Publication date
JP2009520290A (ja) 2009-05-21
US20090204844A1 (en) 2009-08-13
WO2007074056A2 (de) 2007-07-05
EP1966694A2 (de) 2008-09-10
WO2007074056A3 (de) 2007-12-06

Similar Documents

Publication Publication Date Title
DE102012109614B4 (de) Verfahren zum Wiederherstellen von Stapelüberlauf- oder Stapelunterlauffehlern in einer Softwareanwendung
DE102010031282B4 (de) Verfahren zum Überwachen eines Datenspeichers
EP1952239A1 (de) Vorrichtung und verfahren zum beheben von fehlern bei einem wenigstens zwei ausführungseinheiten mit registern aufweisenden system
DE102011086530A1 (de) Mikroprozessorsystem mit fehlertoleranter Architektur
WO2006015945A2 (de) Verfahren, betriebssystem und rechengerät zum abarbeiten eines computerprogramms
EP1810139B1 (de) Verfahren, betriebssystem und rechengerät zum abarbeiten eines computerprogramms
EP1588380B1 (de) Verfahren zur erkennung und/oder korrektur von speicherzugriffsfehlern und elektronische schaltungsanordnung zur durchführung des verfahrens
DE102005061394A1 (de) Fehlertolerantes Prozessorsystem
DE102013021231A1 (de) Verfahren zum Betrieb eines Assistenzsystems eines Fahrzeugs und Fahrzeugsteuergerät
DE10312553B3 (de) Kraftfahrzeug
DE102008004206A1 (de) Anordnung und Verfahren zur Fehlererkennung und -behandlung in einem Steuergerät in einem Kraftfahrzeug
DE102015218898A1 (de) Verfahren zur redundanten Verarbeitung von Daten
WO2006045733A2 (de) Verfahren, betriebssystem und rechengerät zum abarbeiten eines computerprogramms
DE60312859T2 (de) Verfahren und basis-schaltkreis zur überwachung des betriebs eines mikrokontrollers
DE102005040917A1 (de) Datenverarbeitungssystem und Betriebsverfahren dafür
WO2004043737A2 (de) Steuereinheit zur auslösung eines insassenschutzmittels in einem kraftfahrzeug und verfahren zur überwachung der ordnungsgemässen funktion einer vorzugsweise solchen steuereinheit
DE10029141A1 (de) Verfahren zur Fehlerüberwachung eines Speicherinhalts mittels Prüfsummen sowie Mikrocontroller mit einem prüfsummengesicherten Speicherbereich
DE10229817B4 (de) Verfahren und Vorrichtung zum Ablegen eines Computerprogramms in einen Programmspeicher eines Steuergeräts
DE102017212918A1 (de) Verfahren zum Betreiben eines Steuergerätes und Vorrichtung mit zugehörigem Steuergerät
EP1461701B1 (de) Programmgesteuerte einheit mit überwachungseinrichtung
DE102023004853A1 (de) Verfahren zur Fehlerbehebung von sicherheitsrelevanten mikrocontrollergesteuerten Anwendungen in einem Kraftfahrzeug, sicherheitsrelevanten Computerprogrammprodukt, sicherheitsrelevanten Mikrocontroller, sowie Kraftfahrzeug
EP1433061A2 (de) Verfahren zum überprüfen eines rechnerkerns eines mikroprozessors oder eines mikrocontrollers
DE19757290C1 (de) Verfahren zum Betreiben eines Steuerrrechners, insbesondere eines Insassenschutzsystem-Steuergeräts in einem Kraftfahrzeug und entsprechend arbeitendes Steuergerät
DE102013202865A1 (de) Verfahren zum Überwachen eines Datenspeichers
DE102004047363A1 (de) Prozessor bzw. Verfahren zum Betreiben eines Prozessors und/oder Betriebssystems im Fall einer Störung

Legal Events

Date Code Title Description
R005 Application deemed withdrawn due to failure to request examination

Effective date: 20121225