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
Links
- 238000000034 method Methods 0.000 title claims abstract description 19
- 230000015654 memory Effects 0.000 claims abstract description 112
- 230000000153 supplemental effect Effects 0.000 claims abstract description 22
- 230000001052 transient effect Effects 0.000 claims abstract description 14
- 238000012546 transfer Methods 0.000 claims abstract description 13
- 238000012545 processing Methods 0.000 claims description 19
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000012544 monitoring process Methods 0.000 claims description 2
- 238000011084 recovery Methods 0.000 abstract description 30
- 230000003111 delayed effect Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 13
- 230000007246 mechanism Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 6
- 230000002457 bidirectional effect Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003446 memory effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1405—Saving, restoring, recovering or retrying at machine instruction level
- G06F11/141—Saving, restoring, recovering or retrying at machine instruction level for bus or memory accesses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error 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
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
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)
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)
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 |
-
1988
- 1988-10-11 US US07/256,060 patent/US4996687A/en not_active Expired - Lifetime
-
1989
- 1989-09-26 CA CA000613339A patent/CA1322606C/en not_active Expired - Fee Related
- 1989-10-07 DE DE68924119T patent/DE68924119T2/de not_active Expired - Fee Related
- 1989-10-07 EP EP89118684A patent/EP0363863B1/de not_active Expired - Lifetime
- 1989-10-07 ES ES89118684T patent/ES2079367T3/es not_active Expired - Lifetime
- 1989-10-11 JP JP1270567A patent/JP2791697B2/ja not_active Expired - Fee Related
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 |