DE68924119T2 - Verfahren und Vorrichtung zum Wiederanlauf nach einem Fehler in einem digitalen Rechnersystem. - Google Patents

Verfahren und Vorrichtung zum Wiederanlauf nach einem Fehler in einem digitalen Rechnersystem.

Info

Publication number
DE68924119T2
DE68924119T2 DE68924119T DE68924119T DE68924119T2 DE 68924119 T2 DE68924119 T2 DE 68924119T2 DE 68924119 T DE68924119 T DE 68924119T DE 68924119 T DE68924119 T DE 68924119T DE 68924119 T2 DE68924119 T2 DE 68924119T2
Authority
DE
Germany
Prior art keywords
ram
supplementary
words
rams
memory
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.)
Expired - Fee Related
Application number
DE68924119T
Other languages
English (en)
Other versions
DE68924119D1 (de
Inventor
Richard F Hess
Kurt A Liebel
Larry J Yount
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.)
Honeywell Inc
Original Assignee
Honeywell Inc
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 Honeywell Inc filed Critical Honeywell Inc
Publication of DE68924119D1 publication Critical patent/DE68924119D1/de
Application granted granted Critical
Publication of DE68924119T2 publication Critical patent/DE68924119T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1405Saving, restoring, recovering or retrying at machine instruction level
    • G06F11/141Saving, restoring, recovering or retrying at machine instruction level for bus or memory accesses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Retry When Errors Occur (AREA)
  • Hardware Redundancy (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

    Hintergrund der Erfindung I. Gebiet der Erfindung
  • Diese Erfindung bezieht sich allgemein auf ein Verfahren und eine Vorrichtung zur Erhöhung der Zuverlässigkeit von digitalen Computersystemen und insbesondere auf eine verbesserte Fehler-Wiederanlauftechnik in komplexen, auf digitalen Computern beruhenden Steuersystemen.
  • II. Erläuterung des Standes der Technik
  • In der Weise, wie die Zuverlässigkeit und Leistung von digitalen Computern stetig verbessert worden sind, sind sie zur vorherrschenden Technologie für Steuersysteme geworden. Beispielsweise werden in Flugzeugsystemen digitale Computer nunmehr für solche Konzepte herangezogen, wie die elektrische Steuerung (fly-by-wire) oder zur automatischen Landung, wobei ein digitaler Computer zwischen dem Piloten und den Steuerflächen des Flugzeuges angeordnet ist. In solchen Systemen hängt die Sicherheit des Flugzeuges von einer fortgesetzten fehlerfreien Arbeit des digitalen Steuersystems ab.
  • Um die erforderliche Zuverlässigkeit in solchen Anwendungsfällen zu erzielen, haben sich bekannte Systeme typischerweise auf eine Hardware-Redundanz mit Mehrheitsabstimmung verlassen. Typischerweise ist ein Minimum von drei identischen Verarbeitungselementen angeordnet, um identische Steuerberechnungen mit identischen Dateneingängen auszuführen. In dem Fall, wo ein Unterschied zwischen den mehreren Verarbeitungselementen auftritt, wird das Minoritätsergebnis unterdrückt und eines der Majoritätsergebnisse verwendet, um die Steuerfunktion zu bewirken. Eine Mehrheit aus drei Abstimmungen gestattet dem System, einen einzigen Fehler zu tolerieren, während eine Mehrheit von fünf Abstimmungen dem System die Tolerierung von zwei Fehlern gestattet. In ausgeklügelteren Systemen kann eine andauernd ausfallende Einheit aus dem System ausgeschieden werden und durch einen sogenannten "heißen Ersatz" ersetzt werden.
  • Verschiedene Formen der Redundanzsynchronisation, der Abstimmung und der Fehlerüberwachung sind in der Vergangenheit vorgeschlagen oder verwendet worden. Während es anerkannt ist, daß diese Mechanismen die Art der Wiederauffindungstechnik beeinflussen, die ein spezielles System verwenden mag, ist diese Erfindung jedoch nur auf eine Art des Wiederanlaufs gerichtet und nicht auf diese anderen Mechanismen.
  • Ein Fehlerzustand kann durch einen permanenten Ausfall des digitalen Schaltkreises hervorgerufen werden, in welchem Fall er als ein "Hardwarefehler" angesehen wird. Alternativ kann er durch ein Übergangsphänomen eingeführt werden, welches zu einem unkorrekten Ergebnis führt, aber den nachfolgenden Betrieb des Schaltkreises tatsächlich nicht beschädigt oder verändert. Dieser Zustand wird als ein "Softwareausfall" oder als ein "Softwarefehler" klassifiziert. Softwarefehler können durch verschiedene Übergangszustände eingeführt werden, wie beispielsweise eine elektromagnetische Störung (EMI), anhaftendes Rauschen, Blitze, elektromagnetische Impulse (EMP) oder hochenergetische Hochfrequenzen (HERF). In dieser Beschreibung soll der Ausdruck "externer Übergangs-Rauschzustand" alle vorgenannten Quellen umfassen.
  • Eine neuere digitale Technologie wird eingeführt, und der Trend scheint zu sein, daß der Betrag, der für die Änderung des Zustandes eines Speicherelementes oder eines Logikelementes erforderlich ist, an Energie vermindert wird, wodurch diese Elemente empfänglicher für eine Störung aufgrund von EMI, Blitzen, EMP oder HERF werden. Druch eine sorgfältige Auslegung kann die Empfänglichkeit des Steuersystemschaltkreises auf solche Übergangszustände beträchtlich vermindert werden. Es ist jedoch allgemein nicht praktisch, das gesamte Steuersystem im Hinblick auf Extreme irgendeiner oder aller Störungen zu härten, die in Luftfahrtanwendungen angetroffen werden können. Es ist daher wichtig, daß sicherheitskritische digitale Steuersysteme in der Lage sind, Übergangsstörungen zu tolerieren, ohne die Ausführung der kritischen Anwendung zu beeinflussen.
  • Erkennt man, daß Übergangsstörungen in bestimmten Anwendungsfällen auftreten können, so ist es höchst erwünscht, einen Fehler- Wiederanlaufmechanismus vorzugeben, durch den ein Verarbeitungselement in einen Funktionszustand nach einem Softwarefehler wieder gebracht werden kann. Mit einem Fehler-Wiederanlaufmechanismus kann die Hardware-Redundanz für die Abdeckung lediglich der Hardware-Fehlerzustände reserviert werden, wodurch die Gesamtzuverlässigkeit erhöht wird. Der Fehler- Wiederanlaufmechanismus gibt ferner eine klare diagnostische Unterscheidung zwischen Software- und Hardwarefehlern vor und eliminiert daher praktisch die Auftritte einer unbestätigten Entfernung, wodurch ein funktionsmäßig gut arbeitendes Element fälschlich verdächtigt wird, aufgrund von Störungen fehlerhaft zu sein.
  • Ein wohlbekanntes Verfahren zum Bewirken des Softwarefehler-Wiederanlaufs liegt in dem Entwurf des Steueralgorithmus um einen Rechenrahmen, wobei das Zeitintervall des Rechenrahmens allgemein dem Abtastintervall des Steuersystems entspricht. Wenn ein Softwarefehler festgestellt wird, so wird der Computer auf einen bekannten Zustand entsprechend dem Beginn des laufenden Rechenrahmens zurückgesetzt, und der Steueralgorithmus wird neu gestartet. Der Softwarefehler-Wiederanlauf in einem redundanten System mit Majoritätsabstimmung unterliegt jedoch noch einer anderen Einschränkung. Das fehlerhafte Rechenelement muß nicht nur auf den Beginn des Rechenrahmens zurückgebracht werden, sondern es muß auch synchron mit den anderen Rechenelementen neu gestartet werden. Während es anerkannt ist, daß die Beziehungen zwischen den redundanten Elementen innerhalb eines Systems den Betrieb des Systems beeinflussen, definiert diese Erfindung ein Verfahren des Fehler-Wiederanlaufs und ist nicht auf die Redundanzverwaltung gerichtet.
  • Bekannte redundante Digitalsysteme haben einen Wiederanlauf aus Übergangsstörungen des digitalen Schaltkreises mit einer "Transfusion" von Daten vorgesehen. Nach der Feststellung einer digitalen Schaltkreisstörung werden Transfusionsdaten von den unbeeinflußten redundanten digitalen Schaltkreisen zu den gestörten digitalen Schaltkreisen übertragen, um den gestörten Schaltkreis wieder in einen Zustand zu bringen, der identisch zu den unbeeinflußten Schaltkreisen ist. Beispielsweise wird in einem System, das drei digitale Verarbeitungsstrecken umfaßt, eine Strecke herausgetrennt, wenn sie durch die Abstimmungslogik als fehlerhaft festgestellt wird. Die verbleibenden zwei Strecken übertragen sodann die laufenden Zustandsvariablen, die für die Vervollständigung des Wiederanlaufs erforderlich sind. Die isolierte Strecke nimmt sodann die Verarbeitung synchron mit den aktiven Strecken wieder auf und wird für das System wieder zugelassen, nachdem sie eine vorgegebene Anzahl von Berechnungsschritten ausgeführt hat, ohne daß ein weiterer Fehler festgestellt worden ist. Es ist möglich, daß eine einzige Übergangsstörung eine Störung in jedem der redundanten Verarbeitungselemente hervorrufen kann. In diesem Fall ist die Redundanz gestört und das System fällt aus, da keine Quelle mit gültigen Daten für die Transfusion verfügbar ist.
  • Eine weitere Beschränkung der bekannten Lösungen liegt darin, daß die zur Ausführung der Datentransfusion erforderliche Software im Falle eines Fehlers spezifisch ist sowohl für die ausgeführte Anwendung und den Redundanzpegel, als auch für die in dem System verwendete redundante Architektur.
  • Es ist höchst erwünscht und in einigen Fällen vorgeschrieben, daß fehlertolerante Techniken, wie beispielsweise ein Softwarefehler-Wiederanlauf, für die Software total transparent ist und von dem Zusammenhang der Steueranwendung unabhängig ist.
  • Es ist daher die Aufgabe der vorliegenden Erfindung, ein verbessertes und zuverlässiges Fehler-Wiederanlaufsystem vorzugeben, welches für die Betriebssoftware transparent ist und in einem weiten Bereich von fehlertoleranten Architekturen anwendbar ist. Diese Aufgabe wird gelöst durch die kennzeichnenden Merkmale der unabhängigen Verfahrens- und Vorrichtungsansprüche. Weitere vorteilhafte Ausgestaltungen des erfindungsgemäßen Verfahrens und der Vorrichtung können den abhängigen Ansprüchen entnommen werden.
  • Zusammenfassung der Erfindung
  • Die vorliegende Erfindung gibt ein Echtzeit-Steuersystem vor mit einer zentralen Verarbeitungseinheit (CPU), die einen Adress/Datenbus aufweist, durch welchen sie an einen Hauptspeicher mit wahlfreiem Zugriff angeschlossen ist, wobei EIA- Einrichtungen ebenfalls an den Bus angeschlossen sind. Ferner ist dem Bus ein Softwarefehler-Wiederanlaufschaltkreis zugeordnet, der wirksam gegen Störungen aufgrund von externen Übergangs-Störquellen abgeschirmt und geschützt ist. Dieser letztgenannte Softwarefehler-Wiederanlaufschaltkreis umfaßt einen ersten "geraden" Ergänzungs-RAM, einen zweiten "ungeraden" Ergänzungs-RAM, einen Stütz-RAM und die Speicher-Steuerschaltkreise zum Betrieb derselben.
  • Während jedes Rechenblockes, in welchem Datenworte in den Haupt-RAM eingeschrieben werden, werden diese gleichzeitig von dem Adress/Datenbus in jeden ersten bzw. zweiten Ergänzungs-RAM abwechselnd eingeschrieben. Aufgrund der Art und Weise, in der die Speichersteuerung die ersten und zweiten Ergänzungs-RAM's hin und her schaltet, enthält ein Speicher Speicherelemente, die in dem laufenden Rechenblock fortgeschrieben worden sind, während der andere Speicher Speicherelemente enthält, die in dem unmittelbar vorangehenden Rechenblock fortgeschrieben worden sind. Während Hauptspeicher-Einträge in den einen oder anderen der ersten und zweiten Ergänzungs-RAM's eingegeben werden, wird der Inhalt des anderen Ergänzungs- RAM's, der in dem vorangegangenen Block fortgeschrieben worden ist, in den Stütz-RAM übertragen. Sollte eine externe Übergangsstörung auftreten, die den Adress/Datenbus, die CPU oder den Haupt-RAM beeinträchtigen kann, so wird ein Wiederanlauf bewerkstelligt durch Übertragung des Inhaltes des Stütz-RAM's in den Haupt-RAM, um somit das System wirksam in den gleichen Betriebsmodus zu setzen, wie er beim Beginn des Rechenblockes vorlag, in dem die Übergangsstörung aufgetreten ist.
  • Beschreibung der Zeichnungen
  • Die vorstehenden Ziele, Vorteile sowie die Prinzipien des Betriebes der vorliegenden Erfindung gehen dem Fachmann aus der folgenden detaillierten Beschreibung des bevorzugten Ausführungsbeispieles hervor, speziell wenn dieses im Zusammenhang mit den beiliegenden Zeichnungen betrachtet wird, in welchen:
  • Figur 1 ein allgemeines Blockdiagramm des Fehler- Wiederanlaufmechanismus gemäß der vorliegenden Erfindung ist;
  • Figur 2 ein allgemeines Blockdiagramm ist, das die Verbindungen des Fehler- Wiederanlaufschaltkreises während gerader Rechenblöcke zeigt;
  • Figur 3 ein allgemeines Blockdiagramm ist, das die Verbindungen des Fehler- Wiederanlaufschaltkreises während ungerader Rechenblöcke zeigt;
  • Figur 4 ein detaillierteres Diagramm der Verbindungen zwischen den verschiedenen Speichermodulen gemäß einem ersten Ausführungsbeispiel der Erfindung ist;
  • Figur 5 Teile des Blockdiagrammes von Figur 4 zeigt, das während gerader Rechenblöcke wirksam ist;
  • Figur 6 ein detailliertes Blockdiagramm ist, das die Systemkonfiguration während ungerader Rechenblöcke zeigt;
  • Figur 7 ein detailliertes Blockdiagramm eines Fehler-Wiederanlaufsystems ist, das ein alternatives Ausführungsbeispiel umfaßt, in welchem FIFO-Speicher verwendet werden;
  • Figur 8 ein Blockdiagramm ist, das die aktiven Teile des Ausführungsbeispieles gemäß Figur 6 während gerader Rechenblöcke zeigt; und
  • Figur 9 ein Blockdiagramm ähnlich demjenigen von Figur 8 ist, aber während ungerader Rechenblöcke.
  • Beschreibung des bevorzugten Ausführungsbeispieles
  • Figur 1 zeigt ein Blockdiagramm eines Verarbeitungselementes, das den neuen Softwarefehler-Wiederanlaufmechanismus verwendet. Dieses Verarbeitungselement kann als eine Prozessoreinheit oder als eines aus einer Anzahl von Verarbeitungselementen in einem redundanten System verwendet werden. Die zentrale Verarbeitungseinheit (CPU) 10 bearbeitet ein gespeichertes Programm, das in einem Programm-Festwertspeicher (ROM) 12 enthalten ist, um den Echtzeit-Steueralgorithmus auszuführen. Eingänge von Sensoren in dem Steuersystem (nicht dargestellt) werden auf Eingangsleitungen 14 über einen EIA-Schaltkreis 16 abgetastet, und Steueraktionen für das System werden über Ausgänge 18 und den E/A-Schaltkreis 16 bewirkt. Eine Operandensspeicherung ist durch den Zwischenspeicher mit wahlfreiem Zugriff (RAM) 20 vorgesehen, der als der Hauptspeicher der CPU betrachtet werden kann. Daten zwischen der CPU, dem ROM, dem RAM und E/A werden über den Adress/Datenbus 22 übertragen. Steuersignale, die erforderlich sind, um einen Lese- oder einen Schreibzyklus im Hauptspeicher RAM 20 auszuführen, werden durch den Speicher-Steuerschaltkreis 24 vorgegeben. Der bislang beschriebene Schaltkreis umfaßt ein herkömmliches digitales Verarbeitungssystem einschließlich solcher Systeme, wie sie beispielsweise bei Flugzeug-Steueranwendungen benutzt werden. Diese herkömmliche Anordnung ist dem Softwarefehler- Wiederanlaufschaltkreis hinzugefügt, der in dem gestrichelt umrahmten Kasten 26 eingeschlossen ist. Dieser Schaltkreis sollte gegen mögliche Störquellen, wie beispielsweise EMI, Blitz, EMP und HERF gehärtet sein, um im schlimmsten Fall sicherzustellen, daß keine Übergangsstörung in irgendeinem Teil dieses Schaltkreises eine Störung hervorruft. Während es im allgemeinen unpraktisch ist, das gesamte Steuersystem bis auf diesen Pegel zu hörten, ist es praktisch, den relativ kleinen Betrag an Schaltkreis zu härten, der die Softwarefehler- Wiederanlaufhardware 26 verwirklicht, da das Volumen und die für diesen Schaltkreis erforderliche Leistung einen relativ geringen Bruchteil des Gesamtvolumens und der Leistung darstellen, die für das Verarbeitungselement erforderlich ist. EMI-Härtetechniken sind im Stand der Technik wohl bekannt und umfassen wenigstens eine ausgedehnte Abschirmung und Behandlung aller Eingangs- und Ausgangsleitungen, zum Beispiel durch die Verwendung von Opto-Isolatoren 28 oder ähnliche Elemente, um mitgeführte Störungen zu eliminieren.
  • Die Softwarefehler-Wiederanlauflösung dieser Erfindung macht es erforderlich, daß alle Variablen, die den Zustand der digitalen Funktion definieren, im Zwischenspeicher RAM 20 gespeichert werden. Jede dieser Variablen muß in den Zwischenspeicher RAM 20 eingschrieben werden, während der gleiche Rechenblock fortgeschrieben wird. Der Softwarefehler-Wiederanlauf besteht daher in der Wiederherstellung des Inhaltes des Zwischenspeichers RAM 20 in den Zustand, der zu Beginn des Rechenblockes vorlag, in welchem ein Fehler oder eine Störung festgestellt wird. Der Softwarefehler-Wiederanlaufschaltkreis 26 stellt den Zustand des Zwischenspeichers RAM 20 im Falle eines Fehlers wieder her, indem er den Inhalt eines Stütz-RAM's 30 in den Zwischenspeicher RAM 20 kopiert. Der Stütz-RAM 30 arbeitet so, daß er eine gültige Kopie des Zwischenspeichers RAM 20 beibehält, aber um einen Block verzögert, um später auf den Beginn des vorliegenden Rechenblockes zurückzukommen. Er wird in diesem Zustand gehalten durch Abgabe der Daten durch den Ergänzungs-RAM auf dem Adress/Datenbus 22 und durch die Steuerleitungen 32, um die Adresse und die Daten einer jeden Einschreibung in den RAM 20 während eines vorgegebenen Rechenblockes festzuhalten. Datenübertragungen von dem Adress/Datenbus 22 zu einem ersten Ergänzungsspeicher, der als "gerader Speicher" 34 bezeichnet wird, und zu einem zweiten Ergänzungsspeicher, der als "ungerader Speicher" 36 bezeichnet wird, und zum Stütz-RAM 30 werden durch den Speichersteuerschaltkreis 38 verwaltet, um sicherzustellen, daß der Stütz- RAM 30 kontinuierlich in einer Weise fortgeschrieben wird, die sicherstellt, daß er immer für eine Rückübertragung bereit ist.
  • Um die Daten-Aufzeichnungstechniken die bei der Verwirklichung der vorliegenden Erfindung ausgeführt werden, besser zu verstehen, sei Bezug genommen auf die Figuren 2 und 3, die entsprechend die Art und Weise zeigen, in der die geraden und ungeraden RAM-Speicher 34 und 36 bei aufeinanderfolgenden Zeiten an den Adress/Datenbus 22 angeschlossen werden, wobei die Zeiten durch den Echtzeit-Takt der CPU vorgegeben werden. Unter Bezugnahme auf Figur 2 ist erkennbar, daß während gerader Rechenblöcke irgendwelche Schreibzyklen, die zu dem Hauptspeicher (Zwischenspeicher RAM 20) auftreten, gleichzeitig in den geraden Ergänzungs-RAM 34 eingegeben werden. Eine Fortschreibungsaufzeichnung 40 ist dem geraden RAM 34 zugeordnet und umfaßt einen Speicher für n-Worte mit einer Breite von 1 Bit. Sie ist daher in der Lage, ein Hinweis- oder Fortschreibungsbit in einer Bitposition (Adresse) entsprechend jenen Worten zu speichern, die in dem Hauptspeicher 20 durch eine Schreiboperation während der geraden Rechenblöcke verändert werden.
  • In gleicher Weise wird, wie in Figur 3 veranschaulicht, während ungerader Rechenblöcke in den ungeraden Ergänzungsspeicher 36 parallel Einträge eingeschrieben, die in dem Haupt-RAM 20 erfolgen, wobei der Schreibauftritt in einer ungeraden Fortschreibungsaufzeichnung 42 aufgezeichnet wird.
  • Unter fortgesetzter Bezugnahme auf Figur 2 liegt es ebenfalls auf der Hand, daß während eines geraden Blockes, wenn der gerade Ergänzungsspeicher 34 bei Schreibzyklen in den Hauptspeicher 20 fortgeschrieben wird, irgendwelche Daten in dem ungeraden Ergänzungsspeicher 36, welche während des vorangegangenen Rechenblockes, d.h. während eines ungeraden Blockes fortgeschrieben wurden, was durch den Inhalt der ungeraden Fortschreibungsaufzeichnung 42 angezeigt wird, in den Stütz-RAM 30 übertragen werden. In gleicher Weise wird, wie das in Figur 3 veranschaulicht ist, während eines ungeraden Rechenblockes, und während der ungerade Ergänzungsspeicher 36 bei Schreibzyklen in den Hauptspeicher 20 fortgeschrieben wird, irgendwelche Daten in dem geraden Ergänzungsspeicher 34, der während des vorangegangenen Rechenblockes fortgeschrieben wurde, d.h. bei einem geraden Block, wie dies durch den Inhalt der geraden Fortschreibungsaufzeichnung 40 angezeigt wird, in den Stütz-RAM 30 übertragen. Es ist sodann erkennbar, daß der Stütz-RAM 30 immer eine identische Kopie des Hauptspeichers 20 enthält, aber um einen Rechenblock verzögert, d.h. um ein Echtzeit-Takt-Blockintervall der CPU.
  • Während die allgemeinen Blockdiagramme der Figuren 1 bis 3 als hilfreich zum Verständnis der zugrundeliegenden Prinzipien des Softwarefehler- Wiederanlaufsystems der vorliegenden Erfindung angesehen werden, ergibt sich ein besseres Verständnis der Gesamtorganisation aus der Betrachtung der detaillierteren Blockdiagramme der Figuren 4 bis 6. Figur 4 veranschaulicht die Speicher- und Buskonfiguration, wenn das System mit RAM-Speichern verwirklicht wird. Dem herkömmlichen Mikroprozessor (nicht dargestellt) ist ein Adressbus 44 und ein Datenbus 46 zugeordnet, welche eine Breite von m-Bit aufweisen. Ein Haupt- oder Zwischenspeicher 20 empfängt seine Adresseingänge von dem Adressbus 44 und seine Dateneingänge von dem Datenbus 46. Ferner ist mit dem Adressbus und dem Datenbus der Stütz-RAM 30 verbunden, welcher ebenfalls ein Speicher für n-Worte mit einer Breite von m-Bit ist. Das Symbol 48 in Figur 4 soll anzeigen, daß der betreffende Bus bidirektional ist.
  • Damit der gerade RAM 34 und der ungerade RAM 36 verfolgen können, was in den Zwischenspeicher RAM 20 eingegeben wird, ist jeder mit seinen entsprechenden Adresseingängen an den Adressbus über die Leitungen in den Kabeln 50 und 52 angeschlossen. In gleicher Weise können Daten in die Ergänzungs-RAM's 34 und 36 über die bidirektionalen Busse 54 und 56 übertragen werden.
  • Um die Datenübertragungen von den geraden und ungeraden Ergänzungsspeichern in den Stütz-RAM 30 zu steuern, sind Verriegelungen 58 und 60 in den Datenleitungen enthalten, die den Ausgang der Ergänzungs-RAM's mit dem Eingang des Stütz-RAM verbinden.
  • Die Speichersteuerung 38 ist in der Lage, den Auftritt von Schreibzyklen in den Zwischenspeicher RAM 20 zu erfassen und gibt über Leitungen 62 und 64 ein Bit in die Fortschreibungsaufzeichnungen 40 und 42 unter der gleichen Adresse, die das eingeschriebene Wort besitzt bei geraden und ungeraden Rechenblöcken. Die Speichersteuerung 38 gibt ebenfalls Eingänge an den Stütz-RAM vor und an jeden der geraden und ungeraden Ergänzungs-RAM's sowie an ihre zugeordneten Fortschreibungsaufzeichnungen.
  • Die Datenaufzeichnung, die während eines "geraden" Rechenblockes stattfindet, ist in Figur 5 gezeigt. Um das Verständnis zu erleichtern, sind die Busse, die während des geraden Rechenblockes inaktiv sind, nicht dargestellt. Die Speichersteuerung 38 überwacht alle Zugriffe auf den Hauptspeicher 20, und während eines Schreibzugriffes veranlaßt die Speichersteuerung den Auftritt eines identischen Schreibzykluses parallel in den geraden RAM 34. Zu dieser gleichen Zeit schreibt die Speichersteuerung eine "1" in die gerade Fortschreibungsaufzeichnung 40 unter der gleichen Adresse, unter der der Schreibzyklus in ihrem zugeordneten Ergänzungs-RAM stattfand. Es sei vermerkt, daß die Fortschreibungsaufzeichnung beim Beginn eines jeden Rechenblockes nur Bits mit dem Wert "0" enthält. Auf diese Weise werden alle Worte, die in den Hauptspeicher 20 eingeschrieben werden, in dem geraden Ergänzungs-RAM 34 dupliziert, wobei die zugeordnete Speicheradresse in der geraden Fortschreibungsaufzeichnung 40 auf "1" umgeschaltet wird, was ein Hinweisbit ist, welches die Gegenwart von fortgechriebenen Daten in dem geraden Ergänzungs- RAM 34 an den entsprechenden Adressen anzeigt.
  • Während demselben "geraden" Rechenblock werden die Hauptspeicherdaten, die in dem vorangegangenen "ungeraden" Block fortgeschrieben worden sind, von dem ungeraden Ergänzungs-RAM 36 zu dem Stütz-RAM 30 unter Steuerung durch die Speichersteuerung 38 übertragen. Die Übertragungsoperation erfolgt automatisch und wird bis zu ihrer Beendigung fortgesetzt. Das heißt, sie wird nicht unterbrochen durch die Feststellung einer Unterbrechung des Verarbeitungssystems.
  • Während des "geraden" Rechenblockes, der durch die Umschaltung des Echtzeit- Taktes festgestellt wird, ruft die Speichersteuerung 38 jede Adresse der ungeraden Fortschreibungsaufzeichnung 42 auf. Während die Speichersteuerung eine vorgegebene Adresse (n) sicherstellt, liest sie das Bit der ungeraden Fortschreibungsaufzeichnung und verriegelt die Daten des ungeraden Ergänzungs-RAM's in der Verriegelung 60. Wenn das Bit der ungeraden Fortschreibungsaufzeichnung eine "1" ist, was duch die Speichersteuerung 38 überprüft wird, so werden die Daten von der Verriegelung in den Stütz-RAM 30 geschrieben, und die Speichersteuerung schreibt eine "0" in die ungerade Fortschreibungsaufzeichnung, um das Hinweisbit an der Adresse n zu löschen. Dieses Verfahren setzt sich fort, bis alle Adressen in der ungeraden Fortschreibungsaufzeichnung aufgerufen worden sind.
  • Figur 6 zeigt die Datenaufzeichnung, die während eines "ungeraden" Rechenblockes stattfindet. Erneut sind inaktive Busse nicht dargestellt. Die Speichersteuerung 38 zeichnet Daten des ungeraden Blockes auf und überträgt Daten des geraden Blockes, wie dies zuvor beschrieben wurde. Die Kombination der Speicher 34 und 36 stellt sicher, daß bei jedem Rechenblock der Stützspeicher 30 mit einer gültigen Gruppe von Fortschreibungsdaten versehen wird, um ihn in den korrekten Zustand entsprechend dem nächsten Rechenblock zu bringen. Dies ist deswegen so, weil die Übertragung zu dem Stützspeicher 30 nicht beginnt, bis ein vollständiger Satz von fehlerfreien Daten in den Ergänzungs-RAM's 34 oder 36 angesammelt worden ist, und wenn diese einmal angesammelt sind, werden die Daten gegen Störungen geschützt, bis die Übertragung zu dem Stützspeicher 30 vervollständigt ist.
  • Alternatives Ausführungsbeispiel
  • Dort, wo der Echtzeit-Takt der CPU relativ lange Blockzeiten von beispielsweise 100 ms oder länger bildet, kann das System der vorliegenden Erfindung insgesamt gut durch Verwendung von RAM-Speicher verwirklicht werden. Für Systeme mit relativ bescheidenen bis kurzen Echtzeittakt-Rechenblockzeiten von zum Beispiel weniger als 100 ms hat es sich als nützlich herausgestellt, FIFO- Speicher für die geraden und ungeraden Ergänzungsspeicher zu benutzen. Der Hauptspeicher und der Stützspeicher können als herkömmliche Speicher mit wahlfreiem Zugriff für n-Worte mit einer Breite von m-Bit beibehalten werden. Die geraden und ungeraden Fortschreibungsaufzeichnungen werden durch die Adressen-FIFO's verwirklicht.
  • In Figur 7 ist die Speicher- und Buskonfiguration des Fehler- Wiederanlaufsystems gemäß der vorliegenden Erfindung dargestellt, wobei aber solche FIFO-Speicher verwendet werden. Insbesondere sind die geraden und ungeraden Ergänzungsspeicher 62 und 64 und die Fortschreibungsaufzeichnungen 66 und 68 hier den FIFO-Speichern zugeordnet. Vier FIFO's sind erforderlich: zwei für "gerade" Blöcke und zwei für "ungerade" Blöcke. Ein FIFO wird benutzt, um die Adresse zu speichern, und einer wird benutzt, um die Daten zu speichern, wenn eine Fortschreibung des Hauptspeichers 20 auftritt.
  • Für einen Hauptspeicher mit einer Größe von n x m (n-Worte mit einer Breite von m-Bit) besitzen die geraden und ungeraden Daten-FIFO's 62 und 64 eine Breite von m; die Tiefe der FIFO's hängt von dem Betrag der Hauptspeicheraktivität ab, die während eines Rechenblockes erwartet wird. Die geraden und ungeraden Adress-FIFO's besitzen die gleiche Breite wie der Adressbus und die gleiche Tiefe wie die Daten-FIFO's. Der Stützspeicher 30 ist erneut ein RAM mit einer
  • Wie bei dem früheren Ausführungsbeispiel ist der Hauptspeicher 20 an den Adressbus 44 und den Datenbus 46 angeschlossen, wie dies auch für die geraden und ungeraden Daten-FIFO's 62 und 64 und die geraden und ungeraden Adress-FIFO's 66 und 68 der Fall ist. Der Stütz-RAM 30 empfängt ebenfalls Adresseingänge von dem Bus 44 und Dateneingänge von dem Bus 46, wie dies durch das Symbol 70 angezeigt ist, wobei der Datenbus, der den Stütz-RAM mit dem Systembus 46 verbindet, bidirektional ist.
  • Die Datenaufzeichnung, die während eines "geraden" Rechenblockes stattfindet, ist in dem Blockdiagramm von Figur 8 gezeigt. Erneut sind zur Erleichterung des Verständnisses die inaktiven Busse zweckmäßigerweise weggelassen. Wie zuvor überwacht die Speichersteuerung Zugriffe auf den Hauptspeicher 20. Während eines Schreibzugriffes auf den Hauptspeicher veranlaßt die Steuerung 38 Daten und Adressen, die auf den Bussen vorliegen, zur entsprechenden Einspeicherung in die geraden FIFO's 62 und 66.
  • Während des "geraden" Rechenblockes werden Daten des Hauptspeichers RAM, die in dem vorhergehenden "ungeraden" Block fortgeschrieben worden sind, von dem geraden FIFO 64 zu dem Stütz-RAM 30 unter Steuerung durch die Speichersteuerung 38 übertragen. Die Übertragungsoperation ist automatisch und setzt sich bis zur Beendigung fort, das heißt, sie wird nicht unterbrochen durch die Feststellung einer Unterbrechung des Verarbeitungssystems.
  • In ganz gleicher Weise führt während eines "geraden" Rechenblockes die Speichersteuerung 38 eine Folge von Leseoperationen bezüglich der ungeraden FIFO's durch. Während jeder Leseoperation geben die FIFO's die Adresse und Daten eines Hauptspeicher-Schreibzugriffs vor, der während des vorangegangenen "ungeraden" Rechenblockes aufgetreten ist. Die Speichersteuerung 38 schreibt diese Daten in den Stütz-RAM 30 unter der vorgegebenen Adresse, die durch den FIFO 68 geliefert wird. Dieser Prozeß setzt sich fort, bis die ungeraden FIFO's leer sind.
  • Die Datenaufzeichnung, die bei einem "ungernden" Rechenblock stattfindet, ist in Figur 9 gezeigt. Erneut sind inaktive Busse nicht dargestellt. Die Speichersteuerung 38 zeichnet hier ungerade Blockdaten auf und überträgt gerade Blockdaten, wie dies zuvor im Zusammenhang mit der Erläuterung von Figur 7 beschrieben wurde.
  • Unabhängig davon, welches Ausführungsbeispiel verwendet wird, muß, wenn eine Störung der digitalen Berechnung auftritt, dies durch die digitale Systemüberwachung 1 (Figur 1) festgestellt werden. Der Wiederanlaufmechanismus der vorliegenden Erfindung erfordert, daß der Fehler in dem gleichen Rechenblock festgestellt wird, in dem er auftritt. Während die Technik dieser Erfindung erfordert, daß irgendwelche Fehlerzustände in dem digitalen Schaltkreis unmittelbar festgestellt werden, ist es die Art und Weise des Wiederanlaufs, und nicht der Feststellungsmechanismus oder der EMI- Schutzmechanismus, der dabei beteiligt ist.
  • Die Systemüberwachung teilt der Speichersteuerung 38 den Auftritt einer Störung mit. Die Speicher-Steuerlogik unterbricht sodann die Operation der automatischen Datenaufzeichnung. Die Datenübertragungsfunktion zu dem Stütz-RAM muß jedoch bis zur Vervollständigung fortgesetzt werden. Die Bus-Schalter werden in ihrem momentanen Zustand beibehalten. Während der Störung werden der Hauptspeicher und der zugeordnete gerade oder ungerade Ergänzungsspeicher, in die momentan parallel eingeschrieben wird, als durch fehlerhafte Daten überschrieben angesehen. Die Speichersteuerung 38 verhindert den Auftritt von störenden Schreibzyklen an die verbleibenden geraden und ungeraden Ergänzungsspeicher, die momentan Daten in den Stütz-RAM abladen.
  • Da der Stütz-RAM 30 nicht von der externen Schnittstelle her beschrieben wird, ist dieser RAM robust gegen EMI-Zustände. Es ist jedoch zwingend erforderlich, daß die Störung festgestellt wird und dies der Speichersteuerung während des gleichen Rechenblockes mitgeteilt wird wie der Auftritt der Störung.
  • Nach der Störung des Digitalsystems sind die Daten in dem Hauptspeicher verfälscht. Sie sind jedoch noch in dem Stütz-RAM um einen Block verzögert intakt. Diese Daten können nunmehr in den Hauptspeicher 20 über eine reine Leseübertragung von dem Stützspeicher über den Adress/Datenbus 22 übertragen werden (Figur 1). Während dieser Zeit ist der Stützspeicher gegen falsche Schreiboperationen geschützt. Wenn eine zweite Störung während der Daten-Wiederanlauffolge auftreten sollte, so kann diese neu gestartet werden. Wenn einmal der Hauptspeicherzustand auf seinen fehlerfreien Inhalt zurückgebracht worden ist, kann die CPU, basierend auf diesen korrekten Variablen, ihre Berechnungen wieder aufnehmen.
  • Die Daten-Wiederherstellfunktion ist für die zwei zuvor beschriebenen Ausführungsbeispiele identisch. Nach der Störung des Systems und dem Neustart der CPU stellt die Software fest, daß eine Störung aufgetreten war, indem sie den Status des Stützspeichers aufruft. Nach dieser Feststellung führt die Software eine Datenübertragung des Inhalts des Stütz-RAM in den Hauptspeicher aus. Wenn diese Übertragung vervollständigt ist, startet sodann die Software des Systems erneut die Steuerfunktion des Digitalsystems und nimmt erneut die Verarbeitung auf, während die Datenaufzeichnungsfunktion des beschriebenen Wiederanlaufmechanismus ihren Betrieb fortsetzt.

Claims (6)

1. Verfahren zum erneuten Start eines digitalen Rechensystems des Typs, welcher eine zentrale Verarbeitungseinheit (10) mit einem Echtzeit-Takt, einen Haupt-RAM- Speicher (20) und einen Adressen/Datenbus (22), der die CPU und den Haupt-RAM miteinander verbindet, aufweist, in einem fehlerfreien Betriebszustand nach einer externen Übergangsstörung der CPU, des Haupt-RAM oder des Busses, gekennzeichnet durch dieschritte:
a) Speicherung einer Kopie der digitalen Worte, die gerade Rechenblöcke umfassen, in einem ersten Ergänzungs-RAM (34), wenn sie in den Haupt-RAM (20) geschrieben werden;
b) Speicherung einer Kopie der digitalen Worte, die ungerade Rechenblöcke umfassen, in einem zweiten Ergänzungs-RAM, wobei die geraden und ungeraden Rechenblöcke durch aufeinanderfolgende Zyklen des Echtzeit-Taktes festgelegt werden;
c) Übertragung des Inhalts der ersten und zweiten Ergänzungs-RAM's in einen Stütz- RAM (30) auf einer alternativen Grundlage, so daß, wenn die Digitalworte, die in einem laufenden Rechenblock erhalten werden, gleichzeitig in den Haupt-RAM und einen der ersten und zweiten Ergänzungs-RAM's geschrieben werden, die Digitalworte, die in dem vorangegangenen Rechenblock erhalten werden und in dem anderen von dem ersten und zweiten Ergänzungs-RAM gespeichert sind, zu dem Stütz-RAM übertragen werden;
d) Abschirmung der ersten und zweiten Ergänzungs-RAM's, des Stütz-RAM und der zugehörigen Speicher-Steuereinrichtung mit einer Umhüllung gegen externe Störungen;
e) Überwachung der CPU, des Hauptspeichers und des Adreß/Datenbusses auf den Auftritt eines externen Stör-Ereignisses; und
f) Ersatz des Inhalts des Haupt-RAM (20) durch den Inhalt des Stütz-RAM (30) nach dem Auftritt eines externen Stör-Ereignisses.
2. Verfahren nach Anspruch 1 undferner gekennzeichnet durch die Schritte:
a) Versehen eines jeden ersten und zweiten Ergänzungs-RAM mit einem Hinweisbit- Register, dessen Länge der Anzahl der Worte entspricht, die in einem Rechenblock erhalten werden;
b) Speicherung eines Hinweisbits in der Bitposition des Hinweisbit-Registers, das den ersten Rechenblöcken zugeordnet ist, die durch eine Schreiboperation in dem ersten Ergänzungs-RAM verändert werden;
c) Speicherung eines Hinweisbits in der Bitposition des Hinweisbit-Registers, das dem zweiten Ergänzungs-RAM zugeordnet ist, entsprechend Worten, die in ungeraden Rechenblöcken erhalten werden, welche durch eine Schreiboperation in dem zweiten Ergänzungs-RAM verändert werden; und
d) Übertragung nur jener Worte, die einem Hinweisbit von den ersten und zweiten Ergänzungs-RAM's zu dem Stütz-RAM während abwechselnder Rechenblöcke zugeordnet sind.
3. Verfahren nach Anspruch 1 oder 2, ferner gekennzeichnet durch:
a) Beibehaltung einer Aufzeichnung jener Worte in den ersten und zweiten Ergänzungs-RAM's, die während der geraden und ungeraden Rechenblöcke entsprechend fortgeschrieben werden; und
b) während der Zeit, in der Worte in den ersten oder zweiten Ergänzungs-RAM bezüglich eines laufenden Rechenblockes geschrieben werden, Übertragung jener Worte in dem ersten oder zweiten Ergänzungs-RAM zu dem Stütz-RAM, die durch die Aufzeichnung als fortgeschrieben in dem unmittelbar vorangehenden Rechenblock identifiziert werden.
4. Digitales Rechensystem des Typs, welcher aufweist: Eine zentrale Verarbeitungseinheit (10) mit einem daran angeschlossenen Adressen/Datenbus (22), einen Haupt-RAM (20), eine Einrichtung, die an den Adressen/Datenbus angeschlossen ist, um Digitalworte zu speichern, die in Rechenblöcken an adressierbaren Speicherplätzen erhalten werden, eine Speicher-Steuereinrichtung (24), um das Einschreiben von Digitalworten, die in den Rechenblöcken erhalten werden, in den Haupt-RAM zu bewirken und um Worte zu lesen, die in den Rechenblöcken von dem Haupt-RAM an oder von Adressen erhalten werden, die in der zentralen Verarbeitungseinheit ihren Ursprung haben, eine Vorrichtung (26) zur Beibehaltung der Integrität der Worte, die in diesen Rechenblöcken erhalten werden und in dem Haupt-RAM gespeichert sind, trotz Systemstörungen aufgrund externer Störzustände, die auf das System einwirken, gekennzeichnet durch:
a) erste und zweite Ergänzungs-RAM's (34, 36);
b) erste Schalteinrichtungen, die durch eine weitere Speicher-Steuereinrichtung (38) gesteuert werden, um alternativ die ersten und zweiten Ergänzungs-RAM's (34, 36) an den Adressen/Datenbus (22) bei aufeinanderfolgenden Rechenblöcken anzuschließen, so daß die gleichen Digitalworte, die einen vorgegebenen, in den Haupt-RAM (20) zu schreibenden Block umfassen, gleichzeitig in den einen oder anderen der ersten und zweiten Ergänzungs-RAM's kopiert werden;
c) einen Stütz-RAM (30), der an den Adressen/Datenbus (22) angeschlossen ist;
d) zweite Schalteinrichtungen, die durch die weitere Speicher-Steuereinrichtung (38) gesteuert werden, um den Stütz-RAM (30) an die ersten und zweiten Ergänzungs- RAM's (34, 36) anzuschließen, so daß während der Zeit, in der Worte in den ersten Ergänzungs-RAM (34) kopiert werden, ausgewählte Worte, die in dem zweiten Ergänzungs-RAM (36) während eines unmittelbar vorangehenden Rechenblockes gespeichert sind, in den Stütz-RAM (30) übertragen werden, und während der Zeit, in der Worte in den zweiten Ergänzungs-RAM (36) eingegeben werden, ausgewählte Worte, die in dem ersten Ergänzungs-RAM (34) während eines unmittelbar vorangehenden Rechenblockes gespeichert sind, in den Stütz- RAM (30) übertragen werden;
e) eine Abschirmeinrichtung (26) zur Isolierung der ersten und zweiten Ergänzungs- RAM's (34, 36), der weiteren Speicher-Steuereinrichtung (38) und des Stütz- RAM (30) gegen externe Störung;
f) eine an die Speicher-Steuereinrichtung (38) angeschlossene Einrichtung (11) zur Erfassung von Systemstörungen bei externen Störungen; und
g) eine durch die Speicher-Steuereinrichtung (38) gesteuerte Einrichtung (28), die nach der Erfassung einer Systemstörung den Inhalt des Stütz-RAM (30) in den Haupt-RAM (20) überträgt.
5. Vorrichtung nach Anspruch 4, gekennzeichnetdurch eine Fortschreibungs-Aufzeichnungseinrichtung (40, 42) zur Speicherung von Hinweisbits, welche Worte identifizieren, die in einem Rechenblock in dem Haupt-RAM (20) gespeichert und durch Schreiboperationen verändert worden sind; und
eine Einrichtung in der Speicher-Steuereinrichtung (38) zur Erfassung der Hinweisbits, wobei nur jene in den ersten und zweiten Ergänzungs-RAM's (34, 36) gespeicherten Worte in den Stütz-RAM (30) übertragen werden.
6. Vorrichtungnachanspruchs, dadurch gekennzeichnet, daß die ersten und zweiten Ergänzungs-RAM's (34, 36), die Speicher-Steuereinrichtung (38), der Stütz-RAM (30) und die Fortschreibungs-Aufzeichnungseinrichtungen (40, 42) gegen externe Störungen isoliert sind.
DE68924119T 1988-10-11 1989-10-07 Verfahren und Vorrichtung zum Wiederanlauf nach einem Fehler in einem digitalen Rechnersystem. Expired - Fee Related DE68924119T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/256,060 US4996687A (en) 1988-10-11 1988-10-11 Fault recovery mechanism, transparent to digital system function

Publications (2)

Publication Number Publication Date
DE68924119D1 DE68924119D1 (de) 1995-10-12
DE68924119T2 true DE68924119T2 (de) 1996-07-04

Family

ID=22970958

Family Applications (1)

Application Number Title Priority Date Filing Date
DE68924119T Expired - Fee Related DE68924119T2 (de) 1988-10-11 1989-10-07 Verfahren und Vorrichtung zum Wiederanlauf nach einem Fehler in einem digitalen Rechnersystem.

Country Status (6)

Country Link
US (1) US4996687A (de)
EP (1) EP0363863B1 (de)
JP (1) JP2791697B2 (de)
CA (1) CA1322606C (de)
DE (1) DE68924119T2 (de)
ES (1) ES2079367T3 (de)

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0235551A (ja) * 1988-07-26 1990-02-06 Toshiba Corp チャネル装置におけるアドレス変換方式
JP3222125B2 (ja) * 1990-01-29 2001-10-22 株式会社日立製作所 システム間データベース共用方式
US5335234A (en) * 1990-06-19 1994-08-02 Dell Usa, L.P. Error correction code pipeline for interleaved memory system
US5584044A (en) * 1990-09-28 1996-12-10 Fuji Photo Film Co., Ltd. Integrated circuit memory card for write in/read out capability having plurality of latching means for expandable addressing using counting means for enabling latches thereof
US5381538A (en) * 1991-10-15 1995-01-10 International Business Machines Corp. DMA controller including a FIFO register and a residual register for data buffering and having different operating modes
US5325519A (en) * 1991-10-18 1994-06-28 Texas Microsystems, Inc. Fault tolerant computer with archival rollback capabilities
US5550736A (en) * 1993-04-27 1996-08-27 Honeywell Inc. Fail-operational fault tolerant flight critical computer architecture and monitoring method
US5600786A (en) * 1993-07-30 1997-02-04 Honeywell Inc. FIFO fail-safe bus
US5568380A (en) * 1993-08-30 1996-10-22 International Business Machines Corporation Shadow register file for instruction rollback
JPH07319747A (ja) * 1994-05-24 1995-12-08 Nec Telecom Syst Ltd データ更新システム
WO1995034860A1 (en) * 1994-06-10 1995-12-21 Sequoia Systems, Inc. Main memory system and checkpointing protocol for fault-tolerant computer system
JP3281211B2 (ja) * 1995-01-31 2002-05-13 富士通株式会社 同期式メモリを有する情報処理装置および同期式メモリ
JPH0950405A (ja) * 1995-08-04 1997-02-18 Fujitsu Ltd バックアップ機能付き記憶装置および同記憶装置を有する情報処理システム
US5864657A (en) * 1995-11-29 1999-01-26 Texas Micro, Inc. Main memory system and checkpointing protocol for fault-tolerant computer system
US5829047A (en) * 1996-08-29 1998-10-27 Lucent Technologies Inc. Backup memory for reliable operation
US6163480A (en) * 1997-12-29 2000-12-19 Honeywell International Inc. Memory with high integrity memory cells
US6804819B1 (en) 2000-09-18 2004-10-12 Hewlett-Packard Development Company, L.P. Method, system, and computer program product for a data propagation platform and applications of same
US7386610B1 (en) 2000-09-18 2008-06-10 Hewlett-Packard Development Company, L.P. Internet protocol data mirroring
US6977927B1 (en) 2000-09-18 2005-12-20 Hewlett-Packard Development Company, L.P. Method and system of allocating storage resources in a storage area network
US6606690B2 (en) 2001-02-20 2003-08-12 Hewlett-Packard Development Company, L.P. System and method for accessing a storage area network as network attached storage
US6813527B2 (en) 2002-11-20 2004-11-02 Honeywell International Inc. High integrity control system architecture using digital computing platforms with rapid recovery
KR100532413B1 (ko) * 2002-12-02 2005-12-02 삼성전자주식회사 플래시 메모리 보호 장치 및 방법
US7971095B2 (en) * 2005-02-16 2011-06-28 Honeywell International Inc. Fault recovery for real-time, multi-tasking computer system
US7698511B2 (en) * 2005-05-19 2010-04-13 Honeywell International Inc. Interface for writing to memories having different write times
US8260492B2 (en) * 2005-08-05 2012-09-04 Honeywell International Inc. Method and system for redundancy management of distributed and recoverable digital control system
US7725215B2 (en) * 2005-08-05 2010-05-25 Honeywell International Inc. Distributed and recoverable digital control system
WO2007094808A1 (en) * 2005-08-05 2007-08-23 Honeywell International Inc. Monitoring system and methods for a distributed and recoverable digital control system
US7793147B2 (en) * 2006-07-18 2010-09-07 Honeywell International Inc. Methods and systems for providing reconfigurable and recoverable computing resources
US7979420B2 (en) * 2007-10-16 2011-07-12 Oracle International Corporation Handling silent relations in a data stream management system
US8296316B2 (en) * 2007-10-17 2012-10-23 Oracle International Corporation Dynamically sharing a subtree of operators in a data stream management system operating on existing queries
US7996388B2 (en) * 2007-10-17 2011-08-09 Oracle International Corporation Adding new continuous queries to a data stream management system operating on existing queries
US8676841B2 (en) 2008-08-29 2014-03-18 Oracle International Corporation Detection of recurring non-occurrences of events using pattern matching
US8145859B2 (en) 2009-03-02 2012-03-27 Oracle International Corporation Method and system for spilling from a queue to a persistent store
US8352517B2 (en) * 2009-03-02 2013-01-08 Oracle International Corporation Infrastructure for spilling pages to a persistent store
US8935293B2 (en) * 2009-03-02 2015-01-13 Oracle International Corporation Framework for dynamically generating tuple and page classes
US8387076B2 (en) * 2009-07-21 2013-02-26 Oracle International Corporation Standardized database connectivity support for an event processing server
US8321450B2 (en) * 2009-07-21 2012-11-27 Oracle International Corporation Standardized database connectivity support for an event processing server in an embedded context
US8527458B2 (en) * 2009-08-03 2013-09-03 Oracle International Corporation Logging framework for a data stream processing server
US8386466B2 (en) * 2009-08-03 2013-02-26 Oracle International Corporation Log visualization tool for a data stream processing server
US9305057B2 (en) * 2009-12-28 2016-04-05 Oracle International Corporation Extensible indexing framework using data cartridges
US9430494B2 (en) * 2009-12-28 2016-08-30 Oracle International Corporation Spatial data cartridge for event processing systems
US8959106B2 (en) 2009-12-28 2015-02-17 Oracle International Corporation Class loading using java data cartridges
US8549378B2 (en) 2010-06-24 2013-10-01 International Business Machines Corporation RAIM system using decoding of virtual ECC
US8631271B2 (en) 2010-06-24 2014-01-14 International Business Machines Corporation Heterogeneous recovery in a redundant memory system
US8898511B2 (en) * 2010-06-24 2014-11-25 International Business Machines Corporation Homogeneous recovery in a redundant memory system
US8713049B2 (en) 2010-09-17 2014-04-29 Oracle International Corporation Support for a parameterized query/view in complex event processing
US9189280B2 (en) 2010-11-18 2015-11-17 Oracle International Corporation Tracking large numbers of moving objects in an event processing system
US8990416B2 (en) 2011-05-06 2015-03-24 Oracle International Corporation Support for a new insert stream (ISTREAM) operation in complex event processing (CEP)
US9329975B2 (en) 2011-07-07 2016-05-03 Oracle International Corporation Continuous query language (CQL) debugger in complex event processing (CEP)
US9563663B2 (en) 2012-09-28 2017-02-07 Oracle International Corporation Fast path evaluation of Boolean predicates
US9953059B2 (en) 2012-09-28 2018-04-24 Oracle International Corporation Generation of archiver queries for continuous queries over archived relations
US10956422B2 (en) 2012-12-05 2021-03-23 Oracle International Corporation Integrating event processing with map-reduce
US9098587B2 (en) 2013-01-15 2015-08-04 Oracle International Corporation Variable duration non-event pattern matching
US10298444B2 (en) 2013-01-15 2019-05-21 Oracle International Corporation Variable duration windows on continuous data streams
US9047249B2 (en) 2013-02-19 2015-06-02 Oracle International Corporation Handling faults in a continuous event processing (CEP) system
US9390135B2 (en) 2013-02-19 2016-07-12 Oracle International Corporation Executing continuous event processing (CEP) queries in parallel
US9418113B2 (en) 2013-05-30 2016-08-16 Oracle International Corporation Value based windows on relations in continuous data streams
US9934279B2 (en) 2013-12-05 2018-04-03 Oracle International Corporation Pattern matching across multiple input data streams
US9244978B2 (en) 2014-06-11 2016-01-26 Oracle International Corporation Custom partitioning of a data stream
US9712645B2 (en) 2014-06-26 2017-07-18 Oracle International Corporation Embedded event processing
US10120907B2 (en) 2014-09-24 2018-11-06 Oracle International Corporation Scaling event processing using distributed flows and map-reduce operations
US9886486B2 (en) 2014-09-24 2018-02-06 Oracle International Corporation Enriching events with dynamically typed big data for event processing
WO2017018901A1 (en) 2015-07-24 2017-02-02 Oracle International Corporation Visually exploring and analyzing event streams
US20180032457A1 (en) * 2016-07-26 2018-02-01 Qualcomm Incorporated Slave initiated interrupts for a communication bus
US10922203B1 (en) * 2018-09-21 2021-02-16 Nvidia Corporation Fault injection architecture for resilient GPU computing
DE102020103280A1 (de) 2020-02-10 2021-08-12 Olympus Winter & Ibe Gmbh Elektrochirurgisches System, elektrochirurgisches Instrument, Verfahren zum Auslesen von Konfigurationsdaten, und elektrochirurgisches Versorgungsgerät
DE102020103278A1 (de) * 2020-02-10 2021-08-12 Olympus Winter & Ibe Gmbh Elektrochirurgisches System, elektrochirurgisches Instrument, Verfahren zum Schreiben von Betriebsdarten, und elektrochirurgisches Versorgungsgerät

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4413327A (en) * 1970-06-09 1983-11-01 The United States Of America As Represented By The Secretary Of The Navy Radiation circumvention technique
US3736566A (en) * 1971-08-18 1973-05-29 Ibm Central processing unit with hardware controlled checkpoint and retry facilities
US4199810A (en) * 1977-01-07 1980-04-22 Rockwell International Corporation Radiation hardened register file
US4442501A (en) * 1981-02-26 1984-04-10 Pitney Bowes Inc. Electronic postage meter with weak memory indication

Also Published As

Publication number Publication date
DE68924119D1 (de) 1995-10-12
EP0363863A2 (de) 1990-04-18
US4996687A (en) 1991-02-26
JP2791697B2 (ja) 1998-08-27
EP0363863A3 (de) 1991-07-03
JPH02253344A (ja) 1990-10-12
EP0363863B1 (de) 1995-09-06
ES2079367T3 (es) 1996-01-16
CA1322606C (en) 1993-09-28

Similar Documents

Publication Publication Date Title
DE68924119T2 (de) Verfahren und Vorrichtung zum Wiederanlauf nach einem Fehler in einem digitalen Rechnersystem.
DE68924223T2 (de) Mechanismus zum Prüfpunktwiederversuch.
DE69126498T2 (de) Wiederherstellungsverfahren und Gerät für eine Pipeline-Verarbeitungseinheit eines Multiprozessor-systems
DE3650651T2 (de) Fehlertolerantes Datenverarbeitungssystem
DE69316755T2 (de) Fehlertolerantes rechnersystem.
DE3781873T2 (de) Rekonfigurierbare rechenanordnung.
DE69718247T2 (de) Speicherverwaltung in fehlertoleranten Computersystemen
DE3751600T2 (de) Dreifachredundantes fehlererkennungssystem und entsprechendes anwendungsverfahren.
DE69221045T2 (de) Verfahren und Gerät zur programmierbaren Speicherssteuerung mit Fehlerregelung und Prüffunktionen
EP0228559A1 (de) Fehlertolerante Mehrrechneranordnung
DE2428348C2 (de) Verfahren zur Weiterbenutzung eines fehlerhaften Datenspeichers und Einrichtung zur Durchführung dieses Verfahrens
DE102005055067A1 (de) Vorrichtung und Verfahren zum Beheben von Fehlern bei einem wenigstens zwei Ausführungseinheiten mit Registern aufweisenden System
DE4317729A1 (de) Programmierbare Steuereinheit
DE2741886A1 (de) Datenuebertragungseinrichtung
WO2006045802A2 (de) Verfahren und vorrichtung zur taktumschaltung bei einem mehrprozessorsystem
DE3735828C2 (de) Verfahren zur Wiederaufnahme der Ausführung von Anweisungen nach einer Unterbrechung in einer mikroprogrammgesteuerten Datenverarbeitungsvorrichtung
DE68922440T2 (de) Gerät und Verfahren zur gleichzeitigen Einreichung von Fehlerunterbrechung und Fehlerdaten zu einem Unterstützungsprozessor.
DE2747633A1 (de) Dv-system mit einer unterbrechungseinrichtung
DE2336020C3 (de) Adressen-Berechnungsschaltung für Paritätsfehler-Korrekturprogramme
EP1537482B1 (de) Verfahren und schaltungsanordnung zur synchronisation synchron oder asynchron getakteter verarbeitungseinheiten
DE3814875C2 (de)
DE68921334T2 (de) Gerät zur programmierten vorübergehenden Aufhebung des Prozessorbetriebs zum Wiederversuch, zur Rückgewinnung und zum Austesten.
DE102005054587A1 (de) Programmgesteuerte Einheit und Verfahren zum Betreiben derselbigen
DE69029164T2 (de) Vorrichtung und Verfahren zum Ersetzen der Parität
DE69212284T2 (de) Vorrichtung zur Benutzung von Fehlerinformationen eines Einzel- oder Mehrrechnersystems eines Flugzeuges

Legal Events

Date Code Title Description
8332 No legal effect for de
8370 Indication related to discontinuation of the patent is to be deleted
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee