DE69717876T2 - Eingabe-/Ausgabesteuergerät mit Wiederanlaufkennzeichnungsfunktion - Google Patents
Eingabe-/Ausgabesteuergerät mit WiederanlaufkennzeichnungsfunktionInfo
- Publication number
- DE69717876T2 DE69717876T2 DE69717876T DE69717876T DE69717876T2 DE 69717876 T2 DE69717876 T2 DE 69717876T2 DE 69717876 T DE69717876 T DE 69717876T DE 69717876 T DE69717876 T DE 69717876T DE 69717876 T2 DE69717876 T2 DE 69717876T2
- Authority
- DE
- Germany
- Prior art keywords
- request
- state
- main memory
- checkpoint
- execution
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 operations
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1405—Saving, restoring, recovering or retrying at machine instruction level
- G06F11/1407—Checkpointing the instruction stream
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 operations
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)
Description
- Die Erfindung bezieht sich auf eine E/A-Steuervorrichtung, die für ein Computersystem mit einer Prüfpunkt-Wiederherstellungsfunktion angepasst ist.
- In den letzten Jahren haben sich Computersysteme erheblich entwickelt. Mit dieser Entwicklung wurde die Anforderung an die Zuverlässigkeit, beispielsweise wie die Handhabung eines Fehlers, streng. Als ein Verfahren zum Bilden eines fehlertoleranten Computersystems gibt es ein Prüfpunkt-Wiederherstellungsschema.
- Gemäß einem Verfahren zum Implementieren eines Prüfpunkt-Wiederherstellungsschemas werden der interne Zustand einer CPU, d. h. der Inhalt der Register und des Cache-Speichers einer CPU, periodisch in einem Hauptspeicher gespeichert, um einen Prüfpunkt an dem Hauptspeicher zu erfassen. Wenn eine Datenverarbeitung auf Grund eines Fehlers in dem Computersystem nicht fortgesetzt werden kann, wird der Hauptspeicher in den Zustand des allerletzten Prüfpunkts wieder hergestellt, und die Datenverarbeitung wird mit dem in dem Hauptspeicher gespeicherten internen Zustand der CPU neu gestartet.
- Ein Verfahren zum Wiederherstellen des Hauptspeichers in den Zustand des Prüfpunkts ist wie folgt. Bei einem Aktualisierungsvorgang eines Hauptspeichers werden die Adresse und die Daten, die zu aktualisieren sind, in einer Speicherzustands-Wiederherstellungseinheit gespeichert. Beim Auftreten eines Fehlers in dem Computersystem wird der Hauptspeicher mit den vorher in der Speicherzustands- Wiederherstellungseinheit gespeicherten Daten zurückgeschrieben.
- Obwohl bei diesem Prüfpunkt-Wiederherstellungsschema beim Auftreten eines Fehlers in dem Computersystem der interne Zustand des Hauptspeichers oder der CPU in den Zustand des allerletzten Prüfpunkts mittels der Speicherzustands-Wiederherstellungseinheit wieder hergestellt werden kann, kann eine mit dem Computersystem verbundene E/A-Vorrichtung nicht ohne weiteres in den Zustand des allerletzten Prüfpunkts wieder hergestellt werden.
- Dieses Problem wird nachstehend mit Bezug auf Fig. 1 und 2 beschrieben.
- Wie es in Fig. 1 gezeigt ist, fordert bei diesem Computersystem eine CPU 51 einen Platten-Controller 52 auf, auf eine Platte 53 zuzugreifen, um einen E/A-Vorgang durchzuführen. Fig. 2 zeigt ein Timing-Diagramm der E/A-Verarbeitung des Computersystems mit der obigen Anordnung.
- Wie es in Fig. 2 dargestellt ist, werden Register des Platten-Controllers 52 eingestellt, um Daten aus einer vorbestimmten Position der Platte 53 zu den Zeiten T0 bis T1 zu lesen ((1) in Fig. 2), und der Platten-Controller 52 wird zur Zeit T1 gestartet ((2) in Fig. 2). Auf diese Art und Weise führen der Platten-Controller 52 und die Platte 53 einen Lesevorgang zu Zeiten T1 bis T2 aus ((3) in Fig. 2). Die Lesedaten werden in den Hauptspeicher 54 durch eine DMA-Übertragung von dem Platten-Controller 52 übertragen.
- Die CPU 51 empfängt einen Abschluss-Interrupt von dem Platten-Controller 52 zur Zeit T2 ((4) in Fig. 2), wodurch eine Abschluss-Interrupt-Verarbeitung an dem Platten- Controller 52 zu Zeiten T2 bis T3 durchgeführt wird ((5) und (6) in Fig. 2). Eine weitere Nachverarbeitung mit Bezug auf den Lesevorgang wird zur Zeit T3 bis T4 durchgeführt ((7) in Fig. 2).
- Die erste Schwierigkeit in diesem Fall besteht darin, dass ein bei einem beliebigen Timing erfasster Prüfpunkt nicht immer gültig ist.
- Es sei beispielsweise angenommen, dass ein Prüfpunkt in der Mitte des Einstellens der Register des Platten- Controllers 52 erfasst wird (die Einrichtungs-Sequenz zwischen Zeiten T0 und T1).
- In diesem Fall wird beim Auftreten eines Fehlers des Computers danach ein letzter Teil der Einrichtungs-Sequenz für den allerletzten Prüfpunkt neu durchgeführt, d. h. nur ein Teil der Register des Platten-Controllers 52 werden erneut gesetzt. Aus diesem Grund arbeitet der Platten- Controller 52 nicht immer wie gewünscht.
- In Anbetracht der Eigenschaften des Platten- Controllers 52 arbeitet, nicht nur zu den oben beschriebenen Zeiten T0 bis T1 sondern ebenfalls zu Zeiten T0 bis T3, d. h. wenn die CPU 51 einen Prüfpunkt während einer Einrichtungs-Sequenz für einen E/A-Vorgang, wie beispielsweise einen Lese/Schreibvorgang erfasst, der Platten- Controller 52 nicht immer wie gewünscht, wenn ein späterer Teil der Einrichtungs-Sequenz erneut von dem Prüfpunkt durchgeführt wird, nachdem ein Fehler in dem System eintritt.
- Ein Verfahren, um die Schwierigkeit zu lösen, besteht darin, dass eine Prüfpunktbildung nicht während einer Einrichtungs-Sequenz einer E/A-Vorrichtung durchgeführt werden darf. Bei einem Computersystem, in dem viele E/A- Vorrichtungen aufgenommen sind, kann jedoch die CPU fast immer die Einrichtungs-Sequenz eines E/A-Vorgangs durchführen. Daher kann es zu einer beträchtlichen Leistungsverschlechterung führen, eine Prüfpunktbildung während einer Einrichtungs-Frequenz einer E/A-Vorrichtung zu verhindern.
- Die zweite Schwierigkeit ist wie folgt. Es sei angenommen, dass ein Fehler in dem System während einer DMA- Übertragung von dem Platten-Controller 52 zu dem Hauptspeicher 54 eintritt. In diesem Fall muss eine laufende DMA-Übertragung angehalten werden, bevor der Hauptspeicher 54 in den Zustand des allerletzten Prüfpunkts wieder hergestellt wird.
- Bei einem herkömmlichen Computersystem ist es notwendig, um eine laufende DMA-Übertragung anzuhalten, die E/A- Vorrichtung zu initialisieren (rückzusetzen). Da die E/A- Vorrichtung in einem Anfangszustand durch Initialisieren der E/A-Vorrichtung gesetzt wird, ist ein besonderes Verfahren erforderlich, um die E/A-Vorrichtung in den Zustand des allerletzten Prüfpunkts wieder herzustellen.
- Als ein Schema zum Lösen des Problems einer E/A- Verarbeitung bei dem obigen Prüfpunkt-Wiederherstellungsschema sind die folgenden zwei Schemata bekannt.
- Das erste Schema ist in der USP-4 740 969 "Method and Apparatus for Recovering From Hardware Faults" offenbart. Bei einer normalen Datenverarbeitung werden die Daten des Lesens/Schreibens der Register einer E/A-Vorrichtung und der Interrupt von der E/A-Vorrichtung in einem Protokollspeicher aufgezeichnet. Wenn eine Register-Einrichtungs- Sequenz von dem allerletzten Prüfpunkt neu gestartet wird, nachdem ein Fehler in dem Computersystem eintritt, werden die Lese/Schreibvorgänge, die an den Registern der E/A- Vorrichtung durchgeführt wurden, bevor der Fehler eintritt, wie folgt neu durchgeführt. Für einen Schreibvorgang werden die Daten verworfen und nicht in die Register der E/A- Vorrichtung geschrieben. Für einen Lesevorgang werden anstatt eines Auslesens aus dem Register der E/A-Einheit die Daten in dem Protokollspeicher an die CPU zurückgegeben. Für einen Interrupt von der E/A-Vorrichtung wird der Interrupt erzeugt und an die CPU mit dem gleichen Timing wie bei der vorhergehenden Ausführung gesendet.
- Diese Schema erfordert eine besondere Schnittstellenschaltung, die an einem gewöhnlichen Computersystem nicht vorgesehen ist. Außerdem ist es schwierig, diese Schema auf ein Mehrprozessorsystem anzuwenden.
- Das zweite Schema ist in Sequoia: A Fault-tolerant Tightly Coupled Multiprocessor for Transaction Processing, IEEE Computer, Februar 1988, offenbart. Bei diesem Schema wird die Datenverarbeitung in einem Computersystem in einen Datenverarbeitungsabschnitt, der mit CPUs und einem Hauptspeicher alleine durchgeführt werden kann, und in einen E/A-Verarbeitungsabschnitt aufgeteilt, der die E/A- Vorrichtungen handhabt. Diese Abschnitte werden von unterschiedlichen Computern ausgeführt.
- Fig. 3 zeigt die schematische Anordnung eines Computersystems, in dem eine Datenverarbeitung in dem Computer in einen Abschnitt, der durch Zugriff auf einen Hauptspeicher alleine durchgeführt wird, und einen Abschnitt mit Zugriff auf die E/A-Vorrichtung aufgeteilt wird, und der erstere wird von dem Computer 100 ausgeführt, dessen Zuverlässigkeit durch das Prüfpunkt-Wiederherstellungsschema verbessert wird, und der letztere wird von einem Computer 200 ausgeführt, der das Prüfpunkt-Wiederherstellungsschema nicht verwendet. Bei der logischen Schnittstelle zwischen diesen Abschnitten wird eine Anforderung, die "Lesen der gekennzeichneten Menge von Daten an der gekennzeichneten Position der gekennzeichneten Platte" darstellt, von dem Computer 100 an den Computer 200 gesendet. Wenn der Computer 200 tatsächlich Lesedaten aufweist, werden ein Abschluss-Code, der angibt, ob der Vorgang normal abgeschlossen ist oder nicht, und die von der Platte gelesenen Daten von dem Computer 200 an den Computer 100 zurückgegeben.
- Um die Zuverlässigkeit des Computers 200 zu verbessern, werden die Bestandselemente des Computers 200 dupliziert. Das heißt, dass der Computer 200 aus Computerhauptkörpern 210a und 210b und E/A-Vorrichtungen 220a und 220b aufgebaut ist. Bei einem normalen Zustand wird die Anforderung gleichzeitig an beiden Seiten verarbeitet, und die Ausführungsergebnisse werden miteinander verglichen, um zu prüfen, ob die Ausführungsergebnisse identisch sind. Wenn ein Fehler an einer Seite auftritt, wird der angeforderte Vorgang kontinuierlich auf der verbleibenden Seite durchgeführt.
- Diese Schema weist den folgenden Nachteil auf. Das heißt, da mindestens zwei Arten von Computern vorbereitet werden müssen, ist das Computersystem groß und teuer.
- Die folgende Idee kann als auf dem zweiten Schema basierend angenommen werden. Das heißt, dass der Computer 100 und der Computer 200 von einem Computer mittels einer virtuellen Computertechnologie implementiert werden können. Diese Idee arbeitet jedoch aus dem folgenden Grund nicht gut.
- Das in Sequoia offenbarte Schema basiert auf der folgenden Annahme. Da die unabhängigen Computer 100 und 200 auch dann verwendet werden, wenn die Datenverarbeitung des Computers 100 von einem Prüfpunkt auf Grund des Auftretens eines Fehlers innerhalb des Computers 100 neu gestartet wird, wird die E/A-Verarbeitung des Computers 200 nicht von dem Fehler beeinflusst.
- Wenn jedoch der Computer 100 und der Computer 200 auf einem Computer mittels der virtuellen Computertechnologie implementiert wären, würde der Computer 100 und der Computer 200 gleichzeitig durch einen in dem Basiscomputersystem auftretenden Fehler beeinflusst.
- Wie es oben beschrieben ist, benötigt ein Prüfpunkt- Wiederherstellungscomputersystem eine besondere Behandlung des E/A-Verarbeitungsabschnitts. Ein Verfahren zum Anordnen einer besonderen Schnittstelle zwischen der CPU und der E/A-Vorrichtung oder ein Verfahren, um einen Berechnungsabschnitt und einen E/A-Verarbeitungsabschnitt auf zwei unabhängigen Computern getrennt durchzuführen, werden verwendet. Daher werden die Kosten erheblich erhöht.
- Es ist eine Aufgabe der Erfindung, eine E/A-Steuervorrichtung bereitzustellen, die imstande ist, eine E/A- Vorrichtung an einem Computer mit einer Prüfpunkt-Wiederherstellungsfunktion zu steuern, ohne dass eine besondere Schnittstellenschaltung oder zwei unabhängige Computer erforderlich sind.
- Eine weitere Aufgabe ist es, eine Software-Schicht zwischen einem Betriebssystemkern und einem existierenden Vorrichtungstreiber bereitzustellen, die den Zustand der E/A-Vorrichtungen wieder herstellt, wenn das Computersystem bei einem Fehler zurückrollt.
- Gemäß der Erfindung umfasst eine E/A-Steuervorrichtung in einem Computersystem, das eine oder mehrere CPUs, einen Hauptspeicher und eine oder mehrere E/A-Vorrichtungen aufweist und in dem die CPUs periodisch den internen Zustand der CPUs und den Inhalt des Hauptspeichers als einen Prüfpunkt speichern, und in dem der interne Zustand der CPUs und des Inhalts des Hauptspeichers des allerletzten Prüfpunkts wieder hergestellt werden kann, wenn ein Fehler in dem Computersystem eintritt, um eine Datenverarbeitung neu zu starten: ein E/A-Vorrichtungszustands-Wiederherstellungsmittel zum Speichern von Protokolldaten von Zustandseinstellungen von E/A-Vorrichtungen, die von den CPUs ausgeführt wurden, einschließlich eines Betriebsmodus mit Bezug auf die E/A-Vorrichtungen; ein E/A-Vorrichtungszustands-Wiederherstellungsmittel zum Wiederherstellen des Zustands der E/A-Vorrichtungen in denjenigen des allerletzten Prüfpunkts, indem zuerst die E/A-Vorrichtungen und die Zustandseinstellungs-Sequenz gemäß den von dem E/A- Vorrichtungszustandsspeichermittel gespeicherten Protokolldaten initialisiert werden.
- Gemäß dieser Erfindung werden, wenn Zustandseinstellungen, wie beispielsweise eine Betriebsmodus-Einstellung, von der CPU an einer E/A-Vorrichtung durchgeführt werden, die Protokolldaten der Zustandseinstellungen in beispielsweise einem Hauptspeicher gespeichert. Bei Auftreten eines Fehlers in dem Computersystem wird eine E/A-Vorrichtung durch einen Initialisierungsbefehl oder eine Rücksetzsignalaktivierung initialisiert, und dann wird die Zustandseinstellungs-Sequenz für die E/A-Vorrichtung gemäß den Protokolldaten wiederholt, so dass der Zustand der E/A- Vorrichtung in den Zustand des allerletzten Prüfpunkts wieder hergestellt wird.
- Es ist häufig der Fall, dass ein Teil der Protokolldaten auf Grund einer neuen Zustandseinstellung unnötig wird, und daher kann der unnötige Teil eliminiert werden. Es sei beispielsweise angenommen, dass eine E/A-Vorrichtung, die einen Anfangszustand von "Zustand A" aufweist, in den "Zustand B" gesetzt wird, und als nächstes in den "Zustand C" gesetzt wird, und dann ein Prüfpunkt erfasst wird. In diesem Fall werden beim Einrichten des "Zustands C" die Protokolldaten für "Zustand B" unnötig und können eliminiert werden. Und beider Prüfpunkterfassung werden alle Protokolldaten mit Ausnahme von "Zustand C"-Einstellungen unnötig und können eliminiert werden. Daher wird ein Mittel zum Eliminieren des unnötigen Teils der Protokolldaten bereitgestellt, wodurch der für die Protokolldaten erforderliche Bereich eingespart werden kann. Außerdem kann die Zeit, die zum Wiederholen der Zustandseinstellungs- Sequenz nach der E/A-Vorrichtungsinitialisierung ist, verringert werden.
- Für eine E/A-Vorrichtung, an der keine neue Zustandseinstellung seit dem vorhergehenden Prüfpunkt durchgeführt wurde, muss das Initialisieren der E/A-Vorrichtung und ein Wiederholen der Zustandseinstellungs- beim Auftreten eines Fehlers nicht durchgeführt werden. Aus diesem Grund wird ein Mittel zum Überspringen der Initialisierung und der Zustandseinstellungs-Sequenz einer derartigen E/A- Vorrichtung angeordnet. Die für die Wiederherstellung erforderliche Zeit kann weiter verkürzt werden.
- Diese Erfindung umfasst ferner ein Anforderungsblockerzeugungsmittel zum Erzeugen eines Anforderungsblocks in dem Hauptspeicher, der Information enthält, die notwendig ist, um die E/A-Anforderung durchzuführen, wenn ein Anwendungsprozess in dem Computersystem eine E/A- Anforderung durchführt; E/A-Ausführungsprozesse zum Durchführen von E/A-Vorgängen durch Zugreifen auf die E/A- Vorrichtungen gemäß den Anforderungsblöcken; und ein E/A- Ausführungsprozessinitialisierungsmittel zum Initialisieren beim Neustarten, der einem Fehlerauftreten folgt, von dem allerletzten Prüfpunkt der laufenden E/A- Ausführungsprozesse und zum Veranlassen, dass E/A-Vorgänge durch die E/A-Ausführungsprozesse durchgeführt werden, um erneut von dem Anfang an durchgeführt zu werden.
- Gemäß der Erfindung wird, wenn ein Anwendungsprozess eine E/A-Anforderung durchführt, ein für den E/A-Vorgang notwendige Information enthaltender Anforderungsblock erzeugt und von einem E/A-Ausführungsprozess ausgeführt. Der Anwendungsprozess geht in einen Wartezustand bis zum Ende des E/A-Vorgangs.
- Es sei angenommen, dass ein Fehler in dem Computersystem während des E/A-Vorgangs eintritt. Während der Zustand des Computersystems zu dem allerletzten Prüfpunkt zurückgerollt wird, stellt das E/A-Vorrichtungszustands- Wiederherstellungsmittel den Zustand der E/A-Vorrichtung wieder her. Beim Neustarten von dem allerletzten Prüfpunkt initialisiert das E/A-Ausführungsprozess-Initialisierungsmittel den für den E/A-Vorgang verantwortlichen E/A-Ausführungsprozess und veranlasst, dass der halb-durchgeführte E/A-Vorgang erneut vom Anfang durchgeführt wird. In der Neustartphase führt ein E/A-Ausführungsprozess einfach den E/A-Vorgang gemäß dem Anforderungsblock durch.
- Die Tatsache, dass ein E/A-Vorgang von einem E/A-Ausführungsprozess und nicht von dem Anwendungsprozess selber durchgeführt wird, ermöglicht, dass der E/A-Vorgang vom Anfang neu gestartet werden kann. Wenn der Anwendungsprozess den E/A-Vorgang auf eine herkömmliche Art und Weise durchführen würde, würde es schwierig oder unmöglich sein, den E/A-Vorgang vom Anfang neu zu starten. Es sei bemerkt, dass am allerletzten Prüfpunkt der E/A-Vorgang halb durchgeführt ist.
- Von den im Speicher gespeicherten Anforderungsblöcke sollten Anforderungsblöcke, die vor dem allerletzten Prüfpunkt erzeugt wurden, von den E/A-Ausführungsprozessen verarbeitet werden, und die Ausführung von Anforderungsblöcken, die nach dem allerletzten Prüfpunkt erzeugt wurden, sollte bis zu dem nächsten Prüfpunkt aufgeschoben werden.
- Im Allgemeinen ist auf Grund des Echtzeittakts und asynchronen Ereignissen (d. h. externer Interrupt), wenn eine Rückkehr stattfindet, die Datenverarbeitung des zweiten Mals von dem allerletzten Prüfpunkt nicht immer gleich der Datenverarbeitung des ersten Mals. Daher kann eine E/A-Anforderung, die von der Datenverarbeitung vor einem Fehlerauftreten durchgeführt wurde, unterschiedlich oder gleich gegenüber der Datenverarbeitung des zweiten Mals nach der Fehlerwiederherstellung durchgeführt werden. Daher ist es notwendig, die Ausführung der nach dem allerletzten Prüfpunkt erzeugten Anforderungsblöcke aufzuschieben, bis ein neuer Prüfpunkt erfasst ist.
- Wenn ein Prüfpunkt erfasst wurde, werden viele Anforderungsblöcke ausführbar. Daher ist es wirksam, bei einer Prüfpunkterfassung den E/A-Ausführungsprozessen viele CPUs zuzuweisen, so dass die E/A-Vorgänge mit geringer Verzögerung durchgeführt werden.
- Die CPU, die den den E/A-Vorgang erfornden Anwendungsprozess ausgeführt hat, dazu zu bringen, auch einen E/A-Ausführungsprozess durchzuführen, der für den E/A-Vorgang verantwortlich ist, führt zu einem Anstieg in dem Cache-Speicher-Trefferverhältnis.
- Das geeignete Bestimmen der Anzahl von CPUs, die den E/A-Ausführungsprozessen zugewiesen werden, abhängig von der Anzahl der zu verarbeitenden Anforderungsblöcke verbessert die Systemleistung.
- Es sei angenommen, dass während ein E/A-Ausführungsprozesses eine Vorrichtungstreiberroutine ausführt, die eine Zeichenkette an eine Druckereinheit ausgibt, ein Fehler in dem Computersystem eintritt. Dann kann nur ein Teil der Zeichen auf dem Papier ausgedruckt und nicht gelöscht werden. In diesem Fall sollte der Anwendungsprozess, der die E/A-Anforderung durchführte, eine Fehlerantwort empfangen, so dass der Anwendungsprozess eine Fehlerwiederherstellung auf Anwendungsebene, wie beispielsweise einem Druckerstaufehler, durchführen kann.
- Es sei angenommen, dass ein E/A-Ausführungsprozess die Ausführung einer Vorrichtungstreiberroutine abschließt, die eine Zeichenkette an eine Druckereinheit ausgibt, und dass dann ein Fehler in dem Computersystem eintritt. In diesem Fall wurde die gesamte Zeichenkette ausgedruckt. Wenn der Anforderungsblock erneut nach der Fehlerwiederherstellung ausgeführt wurde, würde dies zu einem doppelten Ausdruck führen. Daher ist es wünschenswert, dass der Anwendungsprozess, der die E/A-Anforderung durchführte, sogar wenn ein Fehler in dem Computersystem eintritt, eine erfolgreiche E/A-Abschlussantwort ohne Neuausführen der E/A- Anforderung empfängt, in dem Fall, dass die E/A-Anforderung eine Ausgabeanforderung ist und abgeschlossen wurde, bevor der Fehler eintritt.
- Diese Aufgaben werden grundsätzlich auf eine vorteilhafte Art und Weise durch Anwenden der die in den unabhängigen Ansprüchen niedergelegten Merkmale gelöst. Weitere Verbesserungen werden von den abhängigen Ansprüchen bereitgestellt.
- Diese Erfindung kann vollständiger aus der folgenden ausführlichen Beschreibung in Verbindung mit den beigefügten Zeichnungen verstanden werden, in denen zeigen:
- Fig. 1 eine Ansicht, die die Anordnung eines Computersystems mit einem herkömmlichen Prüfpunktneustartsystem zeigt;
- Fig. 2 ein Timing-Diagramm in einem E/A-Prozess des in Fig. 1 gezeigten Computersystems;
- Fig. 3 eine Ansicht, die eine Anordnung zeigt, in der eine E/A-Steuerung von einem Computersystem mittels eines herkömmlichen Prüfpunktneustartschemas implementiert ist;
- Fig. 4 eine schematische Ansicht, die die Anordnung eines Computersystems gemäß der ersten Ausführungsform der Erfindung zeigt;
- Fig. 5 ein Ablaufdiagramm einer Konfigurationsroutine bei der ersten Ausführungsform;
- Fig. 6 ein Ablaufdiagramm einer Prüfpunkterfassung bei der ersten Ausführungsform;
- Fig. 7 ein Ablaufdiagramm einer Fehlerwiederherstellung bei der ersten Ausführungsform;
- Fig. 8 ein Ablaufdiagramm einer Konfigurationsroutine bei der ersten Ausführungsform;
- Fig. 9 ein Ablaufdiagramm einer Prüfpunkterfassung bei der ersten Ausführungsform;
- Fig. 10 ein Ablaufdiagramm bei der Fehlerwiederherstellung bei der ersten Ausführungsform;
- Fig. 11 ein Ablaufdiagramm eines Anwendungsprozesses, der eine E/A-Anforderung bei der zweiten Ausführungsform der Erfindung durchführt;
- Fig. 12 ein Ablaufdiagramm eines E/A-Ausführungsprozesses bei der zweiten Ausführungsform;
- Fig. 13A bis 13D wie E/A-Vorgänge von dem Anwendungsprozess und dem E/A-Ausführungsprozess bei der zweiten Ausführungsform durchgeführt werden;
- Fig. 14 ein Ablaufdiagramm einer Prüfpunkterfassung bei der zweiten Ausführungsform;
- Fig. 15 ein Ablaufdiagramm einer Fehlerwiederherstellung bei der zweiten Ausführungsform;
- Fig. 16 ein Ablaufdiagramm eines Anwendungsprozesses, der eine E/A-Anforderung bei der zweiten Ausführungsform durchführt;
- Fig. 17 ein Ablaufdiagramm eines E/A-Ausführungsprozesses bei der zweiten Ausführungsform;
- Fig. 18 ein Ablaufdiagramm einer Prüfpunkterfassung bei der zweiten Ausführungsform;
- Fig. 19A bis 19E wie E/A-Vorgänge mit einer Verzögerung von den Anwendungsprozessen und den E/A-Ausführungsprozessen beider zweiten Ausführungsform durchgeführt werden;
- Fig. 20 ein Ablaufdiagramm einer Fehlerwiederherstellung bei der zweiten Ausführungsform;
- Fig. 21 ein Ablaufdiagramm eines Anwendungsprozesses, der eine E/A-Anforderung bei der dritten Ausführungsform der Erfindung durchführt;
- Fig. 22 ein Ablaufdiagramm eines E/A-Ausführungsprozesses bei der dritten Ausführungsform;
- Fig. 23 ein Ablaufdiagramm einer Prüfpunkterfassung bei der dritten Ausführungsform;
- Fig. 24 ein Ablaufdiagramm einer Fehlerwiederherstellung bei der dritten Ausführungsform;
- Fig. 25 ein Ablaufdiagramm eines Anwendungsprozesses, der eine E/A-Anforderung bei der dritten Ausführungsform durchführt; und
- Fig. 26 ein Ablaufdiagramm eines E/A-Ausführungsprozesses bei der dritten Ausführungsform.
- Ausführungsformen der Erfindung werden nachstehend mit Bezug auf die beigefügten Zeichnungen beschrieben.
- Die erste Ausführungsform der Erfindung wird nachstehend mit Bezug auf Fig. 4 beschrieben. Fig. 4 ist eine schematische Ansicht, die ein Computersystem gemäß der ersten Ausführungsform zeigt.
- Wie es in Fig. 4 gezeigt ist, umfasst das Computersystem dieser Ausführungsform CPUs 1a und 1b eine Speicherzustands-Wiederherstellungseinheit 2, einen Hauptspeicher 3 und E/A-Vorrichtungen 4a und 4b, wie beispielsweise einen Drucker und einen RS232C-Controller.
- Wenn der Inhalt des Hauptspeichers 3 von den CPUs 1a oder 1b aktualisiert wird, hält die Speicherzustands- Wiederherstellungseinheit 2 das Vorabbild (before image), um den Inhalt des Hauptspeichers 3 wieder herzustellen. Einzelheiten einer Speicherzustands-Wiederherstellungseinheit 2 ist in C. Kubiak u. a., Penelope: A Recovery Mechanism for Transient Hardware Failures and Software Errors, FTCS, 1982, beschrieben. Der Kontext eines Anwendungsprozesses mit einem Stapelbereich und einem Datenbereich ist in dem Hauptspeicher 3 als Kontextinformation 31 gespeichert. Hier bedeutet ein Anwendungsprozess eine Prozess eines herkömmlichen Computersystems.
- Wenn das System initialisiert wird oder ein Anwendungsprozess es anfordert, stellt das Betriebssystem 33, genauer gesagt der Druckvorrichtungstreiber und der RS232C-Vorrichtungstreiber, einen Betriebsmodus ein, wie beispielsweise eine Baud-Rate, ein Stopp-Bit, eine Parität und dergleichen ein. Der Einstellungs-Betriebsmodus ist in einem Zustandseinstellspeicher 34 als Protokolldaten gespeichert.
- Beispielsweise wird bei einem typische UNIX-Betriebssystem eine Zustandseinstellungs-Sequenz einer E/A-Vorrichtung, wie beispielsweise eines RS232C-Controllers, von einer Vorrichtungstreiberroutine genannt "xxconfig" durchgeführt, wobei dessen Schnittstelle allen Vorrichtungstreibern gemeinsam ist. Daher werden die Parameter der Konfigurationsroutine vorzugsweise in dem Zustandseinstellspeicherbereich 34 des Hauptspeichers 3 am Eingang der Konfigurationsroutine gespeichert, und die Parameter der Konfigurationsroutine können auf die gleiche Art und Weise nicht abhängig von der Art der E/A-Vorrichtung aufgezeichnet werden.
- Fig. 5 zeigt ein Ablaufdiagramm einer Konfigurationsroutine für jede E/A-Vorrichtung.
- (1) Parameter der Konfigurationsroutine im Hauptspeicher als einen Zustandseinstellwert speichern (Schritt A1).
- (2) Einrichten des Zustands der E/A-Vorrichtung (Schritt S2).
- Fig. 6 zeigt ein Ablaufdiagramm einer Prüfpunkterfassung.
- (1) Sichern des internen Zustands der CPU, d. h. den Inhalt der Register und die zwischengespeicherten Daten, in dem Hauptspeicher (Schritt B1).
- (2) Löschen in der Hauptspeicher-Wiederherstellungseinheit gehaltene Daten.
- Fig. 7 zeigt ein Ablaufdiagramm, wenn die Einrichtungs-Sequenz von dem allerletzten Prüfpunkt beim Auftreten eines Fehlers wiederholt wird.
- (1) Initialisieren der E/A-Vorrichtung durch einen Rücksetzbefehl oder eine Rücksetzsignalaktivierung initialisieren.
- (2) Wiederherstellen des Zustands des Hauptspeichers in den Zustand des allerletzten Prüfpunkts mittels der Speicherzustands-Wiederherstellungseinheit (Schritt C2). Als Ergebnis wird das Protokoll des Zustands, der die E/A- Vorrichtung einrichtet, in den Zustand des allerletzten Prüfpunkts wieder hergestellt.
- (3) Erneutes Ausführen der Konfigurationsroutinen mittels der in dem Hauptspeicher gespeicherten Konfigurationsparameter (Schritt C3). Diese erneute Ausführung wird von dem Ältesten zu dem Neuesten durchgeführt. Als Ergebnis wird der Zustand der E/A- Vorrichtung in den Zustand des Prüfpunkts wieder hergestellt.
- (4) Neustarten der Datenverarbeitung, die an dem Prüfpunkt durchgeführt wurde (Schritt C4).
- Daher wird die Datenverarbeitung in einem Zustand neu gestartet, wobei der Zustand jeder E/A-Vorrichtung in den Zustand des Prüfpunkts wieder hergestellt wird. Dies bedeutet, dass der Prüfpunkt-Wiederherstellungsmechanismus und der E/A-Vorrichtungs-Wiederherstellungsmechanismus in einem einzigen Computer verwirklicht werden.
- Für einen RS232C-Controller werden, wenn Betriebsmodi, wie beispielsweise eine Baud-Rate, ein Stopp-Bit und eine Parität neu gesetzt werden, die alten Einstellwerte unnötig. Daher ist es ausreichend, dass nur die letzten Werte der Betriebsmodi des RS232C-Controllers 4b in dem Zustandseinstellspeicherbereich 34 des Hauptspeichers 3 gehalten werden (unnötige Protokolldaten werden verworfen). Damit wird die Fehlerwiederherstellungszeit verringert.
- Ein Zustandshaltebereich 36 ist wirksam in dem Hauptspeicher 3 angeordnet, um die Zustandseinstellungs-Flags der E/A-Vorrichtungen 4a und 4b zu verwalten. Die Zustandseinstellungs-Flags werden auf die folgende Art und Weise verwaltet. Das Zustandseinstellungs-Flag AN gibt an, dass eine Zustandseinstellsequenz an der E/A-Vorrichtung seit dem allerletzten Prüfpunkt durchgeführt wurde oder durchgeführt wird, und die Zustandseinstellungs-Flag AUS gibt an, dass keine Zustandseinstellung an der E/A-Vorrichtung seit dem allerletzten Prüfpunkt durchgeführt wurde.
- Fig. 8 zeigt ein Ablaufdiagramm einer Konfigurationsroutine in dem Fall, dass die obigen Zustandseinstellungs-Flags verwendet werden.
- (1) Speichern der Parameter der Konfigurationsroutine in dem Hauptspeicher (Schritt D1). Das Zustandseinstellungs-Flag der E/A-Vorrichtung anschalten.
- (2) Einstellen des Zustands der E/A-Vorrichtung (Schritt D2).
- Fig. 9 zeigt ein Ablaufdiagramm einer Prüfpunkterfassung in diesem Fall.
- (1) Speichern des internen Zustands der cPU in dem Hauptspeicher speichern (Schritt D1).
- (2) Abschalten des Zustandseinstellungs-Flag jeder E/A-Vorrichtung Schritt E2).
- (3) Löschen in der Speicherzustands- Wiederherstellungseinheit gehaltener Daten (Schritt E3).
- Fig. 10 zeigt ein Ablaufdiagramm für eine Fehlerwiederherstellung in diesem Fall.
- (1) Initialisieren der E/A-Vorrichtung, wenn das Zustandseinstellungs-Flag einer Bestimmten E/A-Vorrichtung AN ist, da dies impliziert, dass ein neuer Zustand seit dem allerletzten Prüfpunkt eingerichtet wurde (Schritt F1). Ansonsten muss eine E/A-Vorrichtung mit der Zustandseinstellungs-Flag AUS nicht initialisiert werden.
- (2) Wiederherstellen des Zustands des Hauptspeichers in den Zustand des letzten Prüfpunkts mittels der Speicherzustands-Wiederherstellungseinheit (Schritt F2). Als Ergebnis wird das Protokoll der Zustandseinstellung an der E/A-Vorrichtung in den Zustand des allerletzten Prüfpunkts wieder hergestellt.
- (3) Erneutes Ausführen der Konfigurationsroutinen mit den in dem Hauptspeicher gespeicherten Konfigurationsparametern nur in Bezug auf eine E/A-Vorrichtung, die bei Schritt F1 initialisiert wurde (Schritt F3). Diese Neuausführung wird von dem Ältesten zu dem Neuesten durchgeführt. Als Ergebnis wird der Zustand der E/A-Vorrichtung in den Zustand des allerletzten Prüfpunkts wieder hergestellt.
- (4) Neustarten der Datenverarbeitung, die an dem allerletzten Prüfpunkt durchgeführt wurde (Schritt F4).
- Auf diese Art und Weise kann die Fehlerwiederherstellung die Initialisierung einer E/A-Vorrichtung überspringen, wobei das Wiederherstellungseinrichtungs-Flag AUS ist, was zu einer schnelleren Fehlerwiederherstellung führt.
- Es sei angenommen, dass ein Computersystem gemäß dieser Ausführungsform zusätzlich zu der bei der ersten Ausführungsform beschriebenen Anordnung des Computersystems eine Anordnung umfasst, die einen Anforderungsblockspeicherbereich 35 und E/A-Ausführungsprozesse aufweist (Fig. 4).
- Bei dieser Ausführungsform ruft, wenn ein Anwendungsprozess einen Systemaufruf durchführt, um eine E/A-Vorgang einer E/A-Vorrichtung anzufordern, das Betriebsystem anstatt die Vorrichtungstreiberroutine in dem Kontext des Aufruferprozesses aufzurufen, eine Anforderungsblockerzeugungsroutine auf. Die Anforderungsblockerzeugungsroutine erzeugt einen Anforderungsblock mit einer Eingangsadresse der Vorrichtungstreiberroutine und den Parametern. Hier geht der Anwendungsprozess (Aufruf-Prozess) in einen Wartezustand. Der Anforderungsblock wird einfach in dem Hauptspeicher gehalten, bis ein neuer Prüfpunkt erfasst ist. Falls es eine Menge von Anwendungsprozessen in dem Computersystem gibt, würde daher die Anzahl der indem Hauptspeicher gehaltenen Anforderungsblöcke im Laufe der Zeit ansteigen.
- Es gibt eine bestimmte Anzahl von E/A-Ausführungsprozessen in dem System. Ein E/A-Ausführungsprozess ist ein besonderer Prozess, um Vorrichtungstreiberroutinen gemäß einem Anforderungsblock auszuführen.
- Wenn ein neuer Prüfpunkt erfasst wurde, werden die Anforderungsblöcke verarbeitungsbereit. Ein E/A-Ausführungsprozess mit Anfangszustand wird einem der Anforderungsblöcke zugewiesen. Der E/A-Ausführungsprozess führt die Vorrichtungstreiberroutine mit den geeigneten Parametern aus, wobei diese beiden von dem Anforderungsblock gekennzeichnet werden. Daher hängt die Anzahl gleichzeitig ausgeführter E/A-Vorgänge von der Anzahl der E/A-Ausführungsprozesse ab. Der E/A-Ausführungsprozess geht in einen Wartezustand, wenn er die E/A-Vorrichtung innerhalb der gekennzeichneten Vorrichtungstreiberroutine aufruft. Wenn die E/A-Vorrichtung einen Abschlussinterrupt zurückgibt, wird die Interrupthandhabungsroutine des Vorrichtungstreibers aufrufen und das Ergebnis an dem E/A-Ausführungskontext widerspiegelt. Dann wird der E/A-Ausführungsprozess fertig. Am Ende des E/A-Vorgangs meldet der E/A-Ausführungsprozess das Ergebnis an den Anwendungsprozess über den Anforderungsblock.
- Wenn ein Fehler in dem Computersystem während der DMA- Übertragung von einer E/A-Vorrichtung an den Hauptspeicher auftritt, ist es notwendig, die DMA-Übertragung durch Initialisieren der E/A-Vorrichtung anzuhalten, bevor der Hauptspeicher wiederhergestellt wird. Für diesen Zweck wird ein Inbetrieb-Flag für jede E/A-Einheit mit einer DMA- Fähigkeit verwendet, um zu bestimmen, ob jede E/A-Vorrichtung initialisiert werden muss oder nicht. Ein Inbetrieb- Flag wird gesteuert, um nur AN zu sein, während die entsprechende E/A-Vorrichtung die DMA-Übertragung durchführt.
- Fig. 11 zeigt ein E/A-Anforderungsablaufdiagramm, das von einem Anwendungsprozess bei dieser Ausführungsform ausgeführt wird.
- (1 Speichern der Parameter bezüglich eines E/A- Vorgangs im Hauptspeicher als einen Anforderungsblock (Schritt G1).
- (2) Durchführen des Übergangs in einen Wartezustand, bis der in dem Anforderungsblock beschriebene E/A-Vorgang abgeschlossen ist (Schritt G2).
- (3) Wenn der Anwendungsprozess seine Ausführung wieder aufnimmt, eine Abschlussschritt auf der Anwendungsprozessseite bezüglich der E/A-Anforderung mit Bezug auf ein Ergebniscodefeld des Anforderungsblocks durchführen und dann einen nachfolgenden Schritt ausführen (Schritt G3).
- Fig. 12 zeigt ein Ablaufdiagramm eines E/A-Ausführungsprozess. Hier sei angenommen, dass eine Mehrzahl E/A- Ausführungsprozesse gleichzeitig ausgeführt wird.
- (1) Warten auf einen ausführbaren Anforderungsblock (Anfangszustand, Schritt H1).
- (2) Einstellen des Registers der E/A-Vorrichtung und Anschalten des Inbetrieb-Flag in Übereinstimmung mit dem Anforderungsblock, wodurch die E/A-Vorrichtung gestartet wird (Schritt H2).
- (3) Abschalten des Inbetrieb-Flag bei Empfang des Abschlussinterrupt von der E/A-Vorrichtung, Schreiben des Ergebniscode in den Anforderungsblock und Bringen des Anwendungsprozess, der im Wartezustand gewesen ist, in einen Bereitzustand (Schritt H3).
- Fig. 13A bis 13D zeigen eine Mustersequenz von E/A- Vorgängen, die von zwei Anwendungsprozessen und zwei E/A- Ausführungsprozessen durchgeführt werden.
- Wenn eine E/A-Anforderung von einem Anwendungsprozess durchgeführt wird, wird ein entsprechender Anforderungsblock erzeugt und im Speicher gespeichert (Fig. 13A und 13B). Nachdem der Anforderungsblock erzeugt ist, wird ein E/A-Ausführungsprozess (Registereinrichtung, Starten und Abschluss-Interrupt-Verarbeitung der E/A-Vorrichtung) gemäss dem E/A-Ausführungsprozesskontext ausgeführt (Fig. 13C und 13D).
- Fig. 14 zeigt ein Ablaufdiagramm einer Prüfpunkterfassung bei dieser Ausführungsform.
- (1) Sichern des internen Zustands der CPU im Hauptspeicher (Schritt 11).
- (2) Abschalten des Zustandseinstellungs-Flag jeder E/A-Vorrichtung (Schritt 12).
- (3) Löschen der in der Speicherzustands-Wiederherstellungseinheit gehaltenen Daten (Schritt 13).
- Fig. 15 zeigt ein Ablaufdiagramm einer Fehlerwiederherstellung beim Auftreten eines Fehlers bei dieser Ausführungsform.
- (1) Initialisieren der E/A-Vorrichtung, falls das entsprechende Zustandseinstellungs-Flag einer bestimmten E/A-Vorrichtung AN oder das Inbetrieb-Flag AN ist. Abschalten des Zustandseinstellungs-Flags und das Inbetrieb-Flags (Schritt J1).
- (2) Wiederherstellen des Zustands des Hauptspeichers in den Zustand des allerletzten Prüfpunkts mit der Speicherzustand-Wiederherstellungseinheit (Schritt J2).
- (3) Nur für die E/A-Vorrichtungen, die bei Schritt J1 initialisiert wurden, Wiederholen der Zustandseinstellungs- Sequenz von dem Ältesten zu dem Neuesten mit Bezug auf das Protokoll der in dem Hauptspeicher gehaltenen Zustandseinstellungswerte (Schritt J3). Auf diese Art und Weise wird der Zustand der E/A-Vorrichtung in den Zustand des allerletzten Prüfpunkts wieder hergestellt.
- (4) Initialisieren der E/A-Ausführungsprozesse. Genauer gesagt werden die E/A-Ausführungsprozesse auf Schritt H1 ungeachtet des Zustands des E/A-Ausführungprozess am allerletzten Prüfpunkt gesetzt (Schritt J4).
- (5) Neustarten der Datenverarbeitung, die am allerletzten Prüfpunkt durchgeführt wurde (Schritt J5).
- Da es bedeutsam ist, dass die Steuerung einer E/A- Vorrichtung in dem Kontext eines E/A-Ausführungsprozesses durchgeführt wird, was sich von einem Anwendungsprozess unterscheidet, wobei die Initialisierung bei Schritt J4 ohne irgendeinen Einfluss auf den Anwendungsprozess, der den E/A-Vorgang angefordert hat, durchgeführt werden kann. Beim Stand der Technik würde, da ein E/A-Vorgang im Anwendungsprozesskontext durchgeführt wird, die obige Initialisierung einen sehr komplizierten oder ein Ad-Hoc-Prozess benötigen.
- Es ist effektive, jedem Anforderungsblock ein Ausführungserlaubnis-Flag hinzuzufügen. Dieses Ausführungserlaubnis-Flag wird derart gesteuert, dass das Ausführungserlaubnis-Flag AUS bleibt, bis ein neuer Prüfpunkt erfasst ist, und AN-geschaltet wird, wenn ein neuer Prüfpunkt erfasst wurde.
- Fig. 16 zeigt ein Ablaufdiagramm, das von einem Anwendungsprozess ausgeführt wird, wenn das Ausführungserlaubnis-Flag hinzugefügt wird.
- (1) Speichern der Parameter bezüglich einer E/A- Vorgangseinheit im Hauptspeicher als einen Anforderungsblock (Schritt K1). Das Ausführungserlaubnis-Flag des Anforderungsblocks abschalten.
- (2) Durchführen des Übergangs in einen Wartezustand, bis der in dem Anforderungsblock gekennzeichnete E/A- Vorgang abgeschlossen ist (Schritt K2).
- (3) Wenn der Anwendungsprozess seine Ausführung wiederaufnimmt, Durchführen eines Abschlussschritt auf der Anwendungsprozessseite bezüglich der E/A-Anforderung mit Bezug auf das Ergebniscodefeld des Anforderungsblocks und dann Ausführen eines nachfolgenden Schritts (Schritt K3).
- Fig. 17 zeigt ein Ablaufdiagramm eines E/A-Ausführungsprozess. In diesem Fall sei angenommen, dass eine Mehrzahl E/A-Ausführungsprozessen gleichzeitig ausgeführt wird.
- (1) Warten auf einen Anforderungsblock, dessen Ausführungserlaubnis-Flag AN ist (Schritt L1).
- (2) Einstellen des Registers der E/A-Vorrichtung und Anschalten das Inbetrieb-Flag in Übereinstimmung mit dem Anforderungsblock, wodurch die E/A-Vorrichtung gestartet wird (Schritt L2).
- (3) Abschalten das Inbetrieb-Flags bei Empfang eines Abschluss-Interrupt von der E/A-Vorrichtung, Durchführen eines Abschlussschritts der E/A-Anforderung, Schreiben des Ergebniscodes in den Anforderungsblock und Bringen des Anwendungsprozess, der im Wartezustand gewesen ist, in einen Bereitzustand (Schritt L3).
- Fig. 18 zeigt ein Ablaufdiagramm einer Prüfpunkterfassung.
- (1) Sichern des internen Zustands der CPU im Hauptspeicher (Schritt M1).
- (2) Abschalten des Zustandseinstellungs-Flags jeder E/A-Vorrichtung (Schritt M2). Anschalten des Ausführungserlaubnis-Flags jedes in dem Hauptspeicher gespeicherten Anforderungsblocks.
- (3) Löschen des in der Hauptspeicherzustands- Wiederherstellungseinheit gehaltenen Daten (Schritt M3).
- Fig. 19A bis 19E zeigen, wie die E/A-Anforderungen durchgeführt werden. Hier sind zwei Anwendungsprozesse, eine Prüfpunkterfassung und zwei E/A-Ausführungsprozess in Bezug gesetzt.
- Wenn eine E/A-Anforderung von einem Anwendungsprozess durchgeführt wird, wird ein entsprechender Anforderungsblock erzeugt und in dem Speicher gespeichert (Fig. 19A und 19B). Da das Ausführungserlaubnis-Flag des Anforderungsblocks AUS bleibt, bis ein Prüfpunkt erfasst ist, bleibt der E/A-Ausführungsprozess im Ruhezustand.
- Wenn ein Prüfpunkt erfasst wurde, wird das Ausführungserlaubnis-Flag des Anforderungsblocks angeschaltet (Fig. 19C). Ein E/A-Ausführungsprozess nimmt einen Anforderungsblock, dessen Ausführungserlaubnis-Flag AN ist, und führt den E/A-Vorgang aus (Einrichten der Register der E/A- Vorrichtung, Starten der E/A-Vorrichtung und Handhaben des Abschluss-Interrupts der E/A-Vorrichtung) (Fig. 19D und 19E).
- Fig. 20 zeigt ein Ablaufdiagramm einer Fehlerwiederherstellung und Neuausführung eines E/A-Vorgangs.
- (1) Initialisieren der E/A-Vorrichtung, falls das Zustandseinstellungs-Flag einer E/A-Vorrichtung AN ist (Schritt N1). Das Zustandseinstellungs-Flag und das Inbetrieb-Flag abschalten.
- (2) Wiederherstellen des Zustands des Hauptspeichers in den Zustand des allerletzten Prüfpunkts mittels der Speicherzustands-Wiederherstellungseinheit (Schritt N2).
- (3) Erneut Durchführen des Zustandseinstellens vom Ältesten zum Neuesten mit Bezug auf das Protokoll der in dem Hauptspeicher gespeicherten Zustandseinstellung nur mit Bezug auf E/A-Vorrichtungen, die bei Schritt N1 initialisiert wurden (Schritt N3). Der Zustand der E/A-Vorrichtung wird in den Zustand des allerletzten Prüfpunkts wieder hergestellt.
- (4) Initialisieren der laufenden E/A-Ausführungsprozesse (Schritt N4). Genauer gesagt werden die E/A- Ausführungsprozesse in den Zustand von Schritt L1 ungeachtet des Zustands des E/A-Ausführungsprozess an dem allerletzten Prüfpunkt gesetzt.
- (5) Neustarten der Datenverarbeitung, die am allerletzten Prüfpunkt durchgeführt wurde (Schritt N5).
- Es sei angenommen, dass ein Fehler in der Mitte eines E/A-Vorgangs auftritt. Wenn ein Fehler eintritt, ist das Inbetrieb-Flag an und daher die E/A-Vorrichtung initialisiert. Der Inhalt des Anforderungsblocks wird von der Speicherzustands-Wiederherstellungseinheit zu dem des allerletzten Prüfpunkts zurückgerollt. Dann wird der Zustand der E/A-Vorrichtung durch erneutes Durchführen der im Hauptspeicher gehaltenen Einrichtungssequenz wieder hergestellt (Schritt N3). Wenn der Fehlerwiederherstellungsschritt abgeschlossen wurde, nimmt ein E/A-Vorgang den Anforderungsblock und führt den E/A-Vorgang gemäß dem Anforderungsblock erneut vom Anfang durch.
- So wird ein auf halbem Wege unterbrochener E/A-Vorgang nach einer Fehlerwiederherstellung erneut durchgeführt.
- Wenn ein Prüfpunkt erfasst wurde, werden die seit dem vorhergehenden Prüfpunkt erzeugten Anforderungsblöcke ausführbar. Daher ist es angemessen, die Priorität der E/A- Ausführungsprozesse nach einer Prüfpunkterfassung höher einzustellen, so dass die verzögerten E/A-Anforderungen sofort ausgeführt werden.
- Um das Cache-Treffer-Verhältnis hoch zu halten, sollte die CPU, die einen Anwendungsprozess ausführte, dem E/A- Ausführungsprozess zugewiesen werden, der für den von der E/A-Anforderung erzeugten Anforderungsblock verantwortlich ist.
- Eine bevorzugte Ausführungsform ist wie folgt:
- Ein Anforderungsblock umfasst ein CPU-Identifiziererfeld. Wenn der Anforderungsblock erzeugt wird, wird der Identifizierer der den Anwendungsprozess ausführenden CPU in das CPU-Identifiziererfeld geschrieben. Ein E/A-Ausführungsprozess nimmt einen Anforderungsblock mit dem gleichen CPU-Identifizierer mit der den E/A-Ausführungsprozess ausführenden CPU.
- Die Anzahl von CPUs, die den E/A-Ausführungsprozessen zugewiesen sind, sollte gemäß der Anzahl der ausführbaren Anforderungsblöcke und der Anzahl von CPUs des Computers bestimmt werden. Wenn die Anzahl der ausführbaren Anforderungsblöcke ansteigt, sollten mehr CPUs den E/A-Ausführungsprozessen zugewiesen werden. Eine bevorzugte Ausführungsform besteht darin, dass die Ablaufsteuerung des Computers bestimmt, ob eine CPU im Ruhezustand einem Anwendungsprozess oder einem E/A-Ausführungsprozess abhängig von der Anzahl der ausführbaren Anforderungsblöcke zugewiesen ist.
- Ein Computersystem gemäß dieser Ausführungsform umfasst zusätzlich zu der Anordnung des bei der zweiten Ausführungsform beschriebenen Computers einen Zustandshaltebereich 36.
- Bei dieser Ausführungsform ist die Aufmerksamkeit auf eine E/A-Vorrichtung, wie beispielsweise einen Drucker, gerichtet. Für einen Drucker kann, wenn ein Fehler in dem Computer auftritt, während ein Papier gedruckt wird, das Papier in einem unvollständigen Zustand gelassen werden (d. h. der Drucker kann nicht in den Zustand des allerletzten Prüfpunkts wieder hergestellt werden oder das Drucken des Papiers vollständig abschließen.)
- Um einen derartigen Zustand zu erfassen, wird ein Ausführungsunterbrechungs-Flag einem Anforderungsblock bei dieser Ausführungsform hinzugefügt. Dieses Ausführungsunterbrechungsfehler-Flag wird verwendet, um zu bestimmen, ob der von einem E/A-Anforderungsblock gekennzeichnete E/A- Vorgang zu einem nicht wiederherstellbaren E/A-Fehler durch ein Fehlervorkommnis in dem Computersystem führt.
- Fig. 21 zeigt ein von einem Anwendungsprozess bei dieser Ausführungsform ausgeführtes Ablaufdiagramm.
- (1) Speichern der Parameter bezüglich eines E/A- Vorgangs im Hauptspeicher als einen Anforderungsblock (Schritt O1). Abschalten eines Ausführungserlaubnis-Flags des Anforderungsblocks und Abschalten des Ausführungsunterbrechungs-Flags des Anforderungsblocks.
- (2) Durchführen eines Übergangs in einen Wartezustand, bis der in dem Anforderungsblock gekennzeichnete E/A- Vorgang abgeschlossen ist (Schritt O2).
- (3) Wenn der Anwendungsprozess seine Ausführung wiederaufnimmt, Durchführen eines Abschlussschritts auf der Anwendungsprozessseite hinsichtlich der E/A-Anforderung mit Bezug auf das Ergebniscodefeld des Anforderungsblocks und dann Ausführen eines nachfolgenden Schritts (Schritt O3).
- Fig. 22 zeigt ein Ablaufdiagramm eines E/A-Ausführungsprozesses.
- (1) Warten auf einen Anforderungsblock, dessen Ausführungserlaubnis-Flag AN ist (Schritt P1).
- (2) Einstellen eines Fehlercodes in dem Ergebniscodefeld des Anforderungsblocks, falls das Ausführungsunterbrechungsfehler-Flag des Anforderungsblocks AN ist, und Einstellen des Anwendungsprozesses, der in einem Wartezustand gewesen ist, in den Bereitzustand (Schritte P2, P5).
- (3) Andernfalls Einstellen des Registers einer E/A- Vorrichtung und Anschalten des Inbetrieb-Flags in Übereinstimmung mit dem Anforderungsblock (Schritt P3). Das Ausführungsunterbrechungsfehler-Flag des Anforderungsblocks anschalten, wenn die E/A-Vorrichtung ein Drucker ist.
- (4) Abschalten des Inbetrieb-Flags bei Empfangen des Abschluss-Interrupts von der E/A-Vorrichtung, Durchführen eines Abschlussschritts der E/A-Anforderung, Schreiben des Ergebniscodes in den Anforderungsblock und Bringen des Anwendungsprozesses, der im Wartezustand gewesen ist, in den Bereitzustand (Schritt P4). Abschalten des Ausführungsunterbrechungsfehler-Flags des Anforderungsblocks, falls die E/A-Vorrichtung ein Drucker ist.
- Fig. 23 zeigt ein Ablaufdiagramm einer Prüfpunkterfassung bei dieser Ausführungsform.
- (1) Sichern des internen Zustands der CPU im Hauptspeicher (Schritt Q1)
- (2) Abschalten des Zustandseinstellungs-Flags jeder E/A-Vorrichtung (Schritt Q2). Anschalten des Ausführungserlaubnis-Flags jedes in dem Hauptspeicher gespeicherten Anforderungsblocks.
- (3) Löschen der in der Speicherzustands-wiederherstellungseinheit gehaltenen Daten (Schritt Q3).
- Fig. 24 zeigt ein Ablaufdiagramm einer Fehlerwiederherstellung bei Auftreten eines Fehlers bei dieser Ausführungsform.
- (1) Initialisieren der E/A-Vorrichtung, falls das Zustandseinstellungs-Flag einer E/A-Vorrichtung AN oder das Inbetrieb-Flag AN ist (Schritt R1). Abschalten des Zustandseinstellungs-Flags und des Inbetrieb-Flags (Schritt R1).
- (2) Wiederherstellen des Zustands des Hauptspeichers in den Zustand des allerletzten Prüfpunkts mittels der Speicherzustands-Wiederherstellungseinheit.
- Mit Bezug auf das Ausführungsunterbrechungsfehler-Flag des dem einem Drucker entsprechenden Anforderungsblocks muss der Wert des Flags beim Wiederherstellen des Hauptspeichers unverändert bleiben. Dieser Vorgang wird beispielsweise auf die folgende Art und Weise verwirklicht. Ein gewöhnliches Computersystem weist einen NVRAM (nichtflüchtigen Speicher) zum Halten von Systemparametern auf, und eine Datenaktualisierung in dem NVRAM kann derart gesteuert werden, dass der Zustand nicht von der Hauptspeicher-Wiederherstellungseinheit wieder hergestellt wird. Daher wird, wenn ein Fehler auftritt, der Wert des Ausführungsunterbrechungsfehler-Flag in dem NVRAM vor der Hauptspeicher-Wiederherstellung gesichert und der gesicherte Wert in das Flag nach der Hauptspeicher- Wiederherstellung zurückgeschrieben (Schritt R2).
- (3) Erneutes Durchführen der Zustandseinstellungssequenz von dem Ältesten zu dem Neuesten mit Bezug auf das Protokoll der Zustandseinstellung die in dem Hauptspeicher gehalten wird, mit Bezug nur auf eine bei Schritt R1 initialisierte E/A-Vorrichtung (Schritt R3). Auf diese Art und Weise wird der Zustand der E/A-Vorrichtung in den Zustand des allerletzten Prüfpunkts wieder hergestellt.
- (4) Initialisieren des laufenden E/A-Ausführungsprozessees (Schritt R4). Genauer gesagt werden die E/A- Ausführungsprozesse in den Zustand des Schritts P1 ungeachtet des Zustands des E/A-Ausführungsprozesses am allerletzten Prüfpunkt gesetzt.
- (5) Neustarten der Datenverarbeitung, die an dem allerletzten Prüfpunkt durchgeführt wurde (Schritt R5).
- Wenn ein Fehler mitten in einem Drucker-E/A-Vorgang gemäß einem Anforderungsblock auftritt, ist das Ausführungsunterbrechungsfehler-Flag AN und bleibt durch die Hauptspeicher-Wiederherstellung unverändert. Dann versucht ein E/A-Ausführungsprozess den Anforderungsblock erneut auszuführen und findet, dass das Ausführungsunterbrechungsfehler-Flag AN ist (bei Schritt P2). Der E/A-Ausführungsprozess setzt, anstatt den E/A-Vorgang neu auszuführen, einen Fehlercode in dem Ergebniscodefeld des Anforderungsblocks und setzt den Anwendungsprozess in einen Bereitzustand.
- Auf diese Art und Weise wird, wenn ein Drucker-E/A- Vorgang mittendrin auf Grund eines Fehlervorkommnisses unterbrochen wird, der Drucker-E/A-Vorgang nicht erneut wiederholt, sondern das Anwendungsprogramm handhabt den Fehler wie einen Druckerstaufehler.
- Im Fall eines Druckers ist es angemessener, das Ausführungsunterbrechungsfehler-Flag als ein ternäres Flag auszuweisen, d. h. Abschluss/In-Ausführung/Nicht-Ausführung.
- Fig. 25 zeigt ein Ablaufdiagramm, dass von einem Anwendungsprozess in diesem Fall ausgeführt wird.
- (1) Speichern der Parameter mit Bezug auf einen E/A- Vorgang in dem Hauptspeicher als einen Anforderungsblock (Schritt S1). Abschalten des Ausführungserlaubnis-Flags des Anforderungsblocks und Setzen des Ausführungsunterbrechungsfehler-Flags des Anforderungsblocks auf Nicht- Ausführung.
- (2) Durchführen eines Übergangs in einen Wartezustand, bis der in dem Anforderungsblock beschriebene E/A-Vorgang abgeschlossen ist (Schritt S2).
- (3) Wenn der Anwendungsprozess seine Ausführung wieder aufnimmt, Durchführen eines Abschlussschritt auf der Anwendungsprozessseite bezüglich der E/A-Anforderung mit Bezug auf das Ergebniscodefeld des Anforderungsblocks und dann Ausführen eines nachfolgenden Schritts (Schritt S3).
- Fig. 26 zeigt ein Ablaufdiagramm eines E/A-Ausführungsprozesses.
- (1) Auf einen Anforderungsblock warten, dessen Ausführungserlaubnis-Flag AN ist (Schritt T1).
- (2) Falls das Ausführungsunterbrechungsfehler-Flag des Anforderungsblocks In-Ausführung ist, einen Fehlercode in dem Ergebniscodefeld des Anforderungsblocks setzen und den Anwendungsprozess, der im Wartezustand gewesen ist, in einen Bereitzustand setzen (Schritte T2, T6).
- (3) Andernfalls, wenn das Ausführungsunterbrechungsfehler-Flag abgeschlossen ist, Einstellen eines Abschlusscodes in dem Ergebniscodefeld des Anforderungsblocks und den Anwendungsprozess, der im Wartezustand gewesen ist, in einen Bereitzustand (Schritte T3, T7).
- (4) Andernfalls Einstellen eines Registers einer E/A- Vorrichtung und des Inbetrieb-Flags in Übereinstimmung mit dem Anforderungsblock (Schritt T4).
- (5) Abschalten des Inbetrieb-Flags bei Empfangen des Abschlussinterrupt von der E/A-Vorrichtung, Einstellen des Ausführungsunterbrechungsfehler-Flags auf Abschluss und Einstellen des Anwendungsprozesses, der im Wartezustand gewesen ist, in den Bereitzustand (Schritt S5).
- Wenn ein Fehler nach dem Ende eines E/A-Vorgangs auftritt, ist das Ausführungsunterbrechungsfehler-Flag auf Abschluss und bleibt durch die Hauptspeicher-Wiederherstellung unverändert. Dann versucht ein E/A-Ausführungsprozess den Anforderungsblock erneut auszuführen und findet, dass das Ausführungsunterbrechungsfehler-Flag Abschluss zeigt (bei Schritt T3). Anstatt eines neuen Ausführens des E/A- Vorgangs setzt der E/A-Ausführungsprozess einen Abschlusscode in dem Ergebniscodefeld des Anforderungsblocks und setzt den Anwendungprozess in einen Bereitzustand.
- Auf diese Art und Weise wird, wenn ein Drucker-E/A- Vorgang vor dem Auftreten eines Fehlers in dem Computer abgeschlossen wurde, der Drücker E/A-Vorgang nicht erneut wiederholt, sondern der Anwendungsprozess empfängt einen Ergebniscode.
Claims (33)
1. E/A-Steuervorrichtung bei einem Computersystem, die eine
oder mehrere CPUs (1a, 1b), einen Hauptspeicher (3) und eine
oder mehrere E/A-Vorrichtungen (4a, 4b) aufweist, wobei die
CPUs periodisch den internen Zustand der CPUs und den Inhalt
des Hauptspeichers als einen Prüfpunkt speichern, und der
interne Zustand der CPUs und der Inhalt des Hauptspeichers
des allerletzten Prüfpunkts wieder hergestellt werden, wenn
ein Fehler in dem Computersystem auftritt, um die
Datenverarbeitung neu zu starten, gekennzeichnet durch:
ein E/A-Vorrichtungszustands-Speichermittel (34, A1, A2,
1a) in dem Hauptspeicher zum Speichern von Protokolldaten der
Zustandseinstellungen der E/A-Vorrichtung, die von den CPUs
durchgeführt wurden, einschließlich einer Betriebsart mit
Bezug auf die E/A-Vorrichtungen; und
ein E/A-Vorrichtungszustands-Wiederherstellungsmittel
(1a, C1, C2, C3) zum Wiederherstellen des Zustands der E/A-
Vorrichtungen auf denjenigen des allerletzten Prüfpunkts,
wobei zuerst die E/A-Vorrichtungen initialisiert und zweitens
die Zustandseinstellsequenz gemäß den durch das E/A-
Vorrichtungszustands-Speichermittel gespeicherten
Protokolldaten wiedergegeben wird.
2. Vorrichtung gemäß Anspruch 1, dadurch gekennzeichnet,
dass das Speichermittel ein Mittel (1a, C2) zum Löschen eines
Teils der existierenden Protokolldaten umfasst, die durch
Einstellen der neuen Zustände unnötig werden.
3. Vorrichtung gemäß Anspruch 1, dadurch gekennzeichnet,
dass das E/A-Vorrichtungszustands-Wiederherstellungsmittel
ein Mittel (1a, F1) zum Überspringen der Initialisierungs-
und Wiedergabe-Zustandseinstellsequenz der E/A-Vorrichtung
umfasst, wenn keine neuen Zustandseinstellungen seit dem
letzten Prüfpunkt durchgeführt wurden.
4. Vorrichtung gemäß Anspruch 1, ferner gekennzeichnet
durch:
ein Anforderungsblock-Erzeugungsmittel (35) zum
Erzeugen, wenn ein Anwendungsprozess in dem Computersystem
eine E/A-Anforderung durchführt, eines Anforderungsblocks in
dem Hauptspeicher, der Information enthält, die zum
Durchführen der E/A-Anforderung notwendig ist;
ein E/A-Ausführungsprozess (32, Fig. 4, H1, H2, H3 in
Fig. 12) zum Durchführen eines E/A-Vorgangs durch Ausführen
von E/A-Vorrichtungstreiberroutinen gemäß einem
Anforderungsblock;
ein E/A-Ausführungsprozess-Initialisierungsmittel (J4 in
Fig. 15) zum Initialisieren beim Neustarten von dem
allerletzten Prüfpunkt nach dem Auftreten eines Fehlers der
sich nicht im Anfangszustand befindlichen E/A-
Ausführungsprozesse und Veranlassen, dass E/A-Vorgänge, die
von den E/A-Ausführungsprozessen durchzuführen sind, erneut
vom Anfang durchgeführt werden.
5. Vorrichtung gemäß Anspruch 2, ferner gekennzeichnet
durch:
ein Anforderungsblock-Erzeugungsmittel (35) zum
Erzeugen, wenn ein Anwendungsprozess in dem Computersystem
eine E/A-Anforderung durchführt, eines Anforderungsblocks in
dem Hauptspeicher, der die Information enthält, die zum
Durchführen der E/A-Anforderung notwendig ist;
E/A-Ausführungsprozesse (32, Fig. 4, H1, H2, H3 in Fig.
12) zum Durchführen eines E/A-Vorgangs durch Ausführen von
E/A-Vorrichtungstreiberroutinen gemäß einem
Anforderungsblock;
ein E/A-Ausführungsprozess-Initialisierungsmittel (J4 in
Fig. 15) zum Initialisieren bei einem Neustart von dem
letzten Prüfpunkt nach dem Auftreten eines Fehlers der sich
nicht im Anfangszustand befindlichen E/A-Ausführungsprozesse
und Veranlassen, dass E/A-Vorgänge, die von den E/A-
Ausführungsprozessen durchzuführen sind, erneut vom Anfang
durchgeführt werden.
6. Vorrichtung gemäß Anspruch 3, ferner gekennzeichnet
durch:
ein Anforderungsblock-Erzeugungsmittel (35) zum
Erzeugen, wenn ein Anwendungsprozess in dem Computersystem
eine E/A-Anforderung durchführt, eines Anforderungsblocks in
dem Hauptspeicher, der Information enthält, die zum
Durchführen der E/A-Anforderung notwendig ist;
E/A-Ausführungsprozesse (32, Fig. 4, H1, H2, H3 in Fig.
12) zum Durchführen eines E/A-Vorgangs durch Ausführen von
E/A-Vorrichtungstreiberroutinen gemäß einem
Anforderungsblock;
E/A-Ausführungsprozess-Initialisierungsmittel (J4 in
Fig. 15) zum Initialisieren beim Neustarten von dem letzten
Prüfpunkt nach dem Auftreten eines Fehlers der sich nicht im
Anfangszustand befindlichen E/A-Ausführungsprozesse und
Veranlassen, dass E/A-Vorgänge, die von den E/A-
Ausführungsvorgängen durchzuführen sind, erneut vom Anfang
durchgeführt werden.
7. Vorrichtung gemäß Anspruch 4, dadurch gekennzeichnet,
dass von den in dem Hauptspeicher gehaltenen
Anforderungsblöcken die E/A-Ausführungsprozesse einen E/A-
Vorgang gemäß einem vor dem allerletzten Prüfpunkt erzeugten
Anforderungsblock beginnen durchzuführen, während die E/A-
Ausführungsprozesse einen E/A-Vorgang gemäß einem nach dem
letzten Prüfpunkt erzeugten Anforderungsblock bis zu einer
neuen Prüfpunkterfassung aufschieben.
8. Vorrichtung gemäß Anspruch 5, dadurch gekennzeichnet,
dass von den in dem Hauptspeicher gehaltenen
Anforderungsblöcken die E/A-Ausführungsprozesse einen E/A-
Vorgang gemäß einem vor dem allerletzten Prüfpunkt erzeugten
Anforderungsblock beginnen durchzuführen, während die E/A-
Ausführungsprozesse einen E/A-Vorgang gemäß einem nach dem
letzten Prüfpunkt erzeugten Anforderungsblock bis zu einer
neuen Prüfpunkterfassung verschieben.
9. Vorrichtung gemäß Anspruch 6, dadurch gekennzeichnet,
dass von den in dem Hauptspeicher gehaltenen
Anforderungsblöcken die E/A-Ausführungsprozesse einen E/A-
Vorgang gemäß einem vor dem allerletzten Prüfpunkt erzeugten
Anforderungsblock beginnen durchzuführen, während die E/A-
Ausführungsprozesse einen E/A-Vorgang gemäß einem nach dem
allerletzten Prüfpunkt erzeugten Anforderungsblock bis zu
einer neuen Prüfpunkterfassung verschieben.
10. Vorrichtung gemäß Anspruch 7, dadurch gekennzeichnet,
dass die CPUs den E/A-Ausführungsprozessen zugewiesen werden,
wenn eine neue Prüfpunkterfassung abgeschlossen wurde.
11. Vorrichtung gemäß Anspruch 8, dadurch gekennzeichnet,
dass die CPUs den E/A-Ausführungsprozessen zugewiesen werden,
wenn eine neue Prüfpunkterfassung abgeschlossen wurde.
12. Vorrichtung gemäß Anspruch 9, dadurch gekennzeichnet,
dass die CPUs den E/A-Ausführungsprozessen zugewiesen werden,
wenn eine neue Prüfpunkterfassung abgeschlossen wurde.
13. Vorrichtung gemäß Anspruch 4, dadurch gekennzeichnet,
dass die CPU, die einen Anwendungsprozess ausführt, der eine
E/A-Anforderung durchführte, ebenfalls einen E/A-
Ausführungsprozess, der für den erzeugten Anforderungsblock
verantwortlich ist, basierend auf der E/A-Anforderung
ausführt.
14. Vorrichtung gemäß Anspruch 5, dadurch gekennzeichnet,
dass die CPU, die einen Anwendungsprozess ausführt, der eine
E/A-Anforderung durchführte, ebenfalls einen E/A-
Ausführungsprozess, der für den erzeugten Anforderungsblock
verantwortlich ist, basierend auf der E/A-Anforderung
ausführt.
15. Vorrichtung gemäß Anspruch 6, dadurch gekennzeichnet,
dass die CPU, die einen Anwendungsprozess ausführt, der eine
E/A-Anforderung durchführte, ebenfalls einen E/A-
Ausführungsprozess, der für den erzeugten Anforderungsblock
verantwortlich ist, basierend auf der E/A-Anforderung
ausführt.
16. Vorrichtung gemäß Anspruch 4, dadurch gekennzeichnet,
dass die Anzahl von CPUs, die den E/A-Ausführungsprozessen
zugewiesen sind, abhängig von der Anzahl zu verarbeitender
Anforderungsblöcke bestimmt wird.
17. Vorrichtung gemäß Anspruch 5, dadurch gekennzeichnet,
dass die Anzahl von CPUs, die den E/A-Ausführungsprozessen
zugewiesen sind, abhängig von der Anzahl zu verarbeitender
Anforderungsblöcke bestimmt wird.
18. Vorrichtung gemäß Anspruch 6, dadurch gekennzeichnet,
dass die Anzahl von CPUs, die den E/A-Ausführungsprozessen
zugewiesen sind, abhängig von der Anzahl zu verarbeitender
Anforderungsblöcke bestimmt wird.
19. Vorrichtung gemäß Anspruch 4, ferner gekennzeichnet
durch ein Mittel (P2 in Fig. 22) zum Erzeugen einer
Fehlerantwort für den Anwendungsprozess ohne erneutes
Ausführen des angeforderten E/A-Vorgangs wenn ein Fehler
auftritt, im Fall, dass es dem E/A-Vorrichtungszustands-
Wiederherstellungsmittel nicht gelingt, den Zustand der E/A-
Vorrichtung wieder herzustellen, der sich auf die E/A-
Anforderung bezieht.
20. Vorrichtung gemäß Anspruch 5, ferner gekennzeichnet
durch ein Mittel zum Erzeugen einer Fehlerantwort auf den
Anwendungsprozess ohne erneutes Ausführen des angeforderten
E/A-Vorgangs wenn ein Fehler auftritt, im Fall, dass es dem
E/A-Vorrichtungszustands-Wiederherstellungsmittel nicht
gelingt, den Zustand der E/A-Vorrichtung wieder herzustellen,
der sich auf die E/A-Anforderung bezieht.
21. Vorrichtung gemäß Anspruch 6, ferner gekennzeichnet
durch ein Mittel zum Erzeugen einer Fehlerantwort für den
Anwendungsprozess ohne erneutes Ausführen des angeforderten
E/A-Vorgangs, wenn ein Fehler auftritt, im Fall, dass es dem
E/A-Vorrichtungszustands-Wiederherstellungsmittel nicht
gelingt, den Zustand der E/A-Vorrichtung wieder herzustellen,
der sich auf die E/A-Anforderung bezieht.
22. Vorrichtung gemäß Anspruch 7, ferner gekennzeichnet
durch ein Mittel zum Erzeugen einer Fehlerantwort für den
Anwendungsprozess ohne erneutes Ausführen des angeforderten
E/A-Vorgangs, wenn ein Fehler auftritt, im Fall, dass es dem
E/A-Vorrichtungszustands-Wiederherstellungsmittel nicht
gelingt, den Zustand der E/A-Vorrichtung wieder herzustellen,
der sich auf die E/A-Anforderung bezieht.
23. Vorrichtung gemäß Anspruch 8, ferner gekennzeichnet
durch eines Mittels zum Erzeugen einer Fehlerantwort für den
Anwendungsprozess ohne erneutes Ausführen des angeforderten
E/A-Vorgangs, wenn ein Fehler auftritt, im Fall, dass es dem
E/A-Vorrichtungszustands-Wiederherstellungsmittel nicht
gelingt, den Zustand der E/A-Vorrichtung wieder herzustellen,
der sich auf die E/A-Anforderung bezieht.
24. Vorrichtung gemäß Anspruch 9, ferner gekennzeichnet
durch Umfassen eines Mittels zum Erzeugen, wenn ein Fehler
auftritt, einer Fehlerantwort auf den Anwendungsprozess ohne
erneutes Ausführen des angeforderten E/A-Vorgangs im Fall,
dass es dem E/A-Vorrichtungszustands-Wiederherstellungsmittel
nicht gelingt, den Zustand der E/A-Vorrichtung wieder
herzustellen, der sich auf die E/A-Anforderung bezieht.
25. Vorrichtung gemäß Anspruch 4, ferner gekennzeichnet
durch ein Mittel zum Erzeugen einer erfolgreichen E/A-
Beendigungsantwort für den Anwendungsprozess ohne erneutes
Ausführen des angeforderten E/A-Vorgangs, wenn ein Fehler
auftritt, in dem Fall, dass die E/A-Anforderung eine
Ausgabeanforderung ist und die E/A-Anforderung vor dem
Auftreten des Fehlers abgeschlossen wurde.
26. Vorrichtung gemäß Anspruch 5, ferner gekennzeichnet
durch ein Mittel zum Erzeugen einer erfolgreichen E/A-
Beendigungsantwort für den Anwendungsprozess ohne erneutes
Ausführen des angeforderten E/A-Vorgangs, wenn ein Fehler
auftritt, indem Fall, dass die E/A-Anforderung eine
Ausgabeanforderung ist und die E/A-Anforderung vor dem
Auftreten des Fehlers abgeschlossen wurde.
27. Vorrichtung gemäß Anspruch 6, ferner gekennzeichnet
durch ein Mittel zum Erzeugen einer erfolgreichen E/A-
Beendigungsantwort für den Anwendungsprozess ohne erneutes
Ausführen des angeforderten E/A-Vorgangs, wenn ein Fehler
auftritt, in dem Fall, dass die E/A-Anforderung eine
Ausgabeanforderung ist und die E/A-Anforderung vor dem
Auftreten des Fehlers abgeschlossen wurde.
28. Vorrichtung gemäß Anspruch 7, ferner gekennzeichnet
durch ein Mittel zum Erzeugen einer erfolgreichen E/A-
Beendigungsantwort für den Anwendungsprozess ohne erneutes
Ausführen des angeforderten E/A-Vorgangs, wenn ein Fehler
auftritt, in dem Fall, dass die E/A-Anforderung eine
Ausgabeanforderung ist und die E/A-Anforderung vor dem
Auftreten des Fehlers abgeschlossen wurde.
29. Vorrichtung gemäß Anspruch 8, ferner gekennzeichnet
durch ein Mittel zum Erzeugen einer erfolgreichen E/A-
Beendigungsantwort an den E/A-Anforderungsprozess ohne
erneutes Ausführen des angeforderten E/A-Vorgangs, wenn ein
Fehler des Computersystems auftritt, in dem Fall, dass die
E/A-Anforderung eine Ausgabeanforderung ist und die E/A-
Anforderung vor dem Auftreten des Fehlers abgeschlossen
wurde.
30. Vorrichtung gemäß Anspruch 9, ferner gekennzeichnet
durch ein Mittel zum Erzeugen einer erfolgreichen E/A-
Beendigungsantwort auf den Anwendungsprozess ohne erneutes
Ausführen des angeforderten E/A-Vorgangs, wenn ein Fehler
auftritt, in dem Fall, dass die E/A-Anforderung eine
Ausgabeanforderung ist und die E/A-Anforderung vor dem
Auftreten des Fehlers abgeschlossen wurde.
31. E/A-Steuerverfahren bei einem Computersystem, das eine
oder mehrere CPUs, einen Hauptspeicher und eine oder mehrere
E/A-Vorrichtungen aufweist, wobei die CPUs periodisch den
internen Zustand der CPUs und den Inhalt des Hauptspeichers
als einen Prüfpunkt speichern, und der interne Zustand der
CPUs und der Inhalt des Hauptspeichers des letzten Prüfpunkts
wieder hergestellt wird, wenn ein Fehler in dem
Computersystem auftritt, um die Datenverarbeitung erneut zu
starten, gekennzeichnet durch:
Speichern (A1 in Fig. 5) in dem Hauptspeicher von
Protokolldaten von Zustandseinstellungen der E/A-
Vorrichtungen, die von den CPUs durchgeführt wurden
einschließlich einer Betriebsart mit Bezug auf die E/A-
Vorrichtungen; und
Wiederherstellen (B1 in Fig. 6) des Zustands der E/A-
Vorrichtungen auf denjenigen des letzten Prüfpunkts, wobei
zuerst die E/A-Vorrichtungen initialisiert werden und
zweitens die Zustandseinstellsequenz gemäß den durch das E/A-
Vorrichtungszustands-Speichermittel gespeicherten
Protokolldaten wiedergegeben werden.
32. Massenprodukt mit:
einem Computer-verwendbaren Medium mit Computer-lesbaren
Programm-Codemitteln, die darin aufgenommen sind, um zu
veranlassen, dass die Zustände von Eingabe- und Ausgabe-
Einheiten (E/A-Einheiten) auf jeweilige Prüfpunkte wieder
hergestellt werden, wenn ein Computersystem beim Auftreten
eines Fehlers neu gestartet wird, wobei das Computersystem
eine oder mehrere CPUs, einen Hauptspeicher und eine oder
mehrere E/A-Vorrichtungen aufweist und periodisch den
internen Zustand der CPUs und den Inhalt des Hauptspeichers
als einen Prüfpunkt speichert, und der interne Zustand der
CPUs und der Inhalt des Hauptspeichers des allerletzten
Prüfpunkts wieder hergestellt wird, wenn ein Fehler in dem
Computersystem auftritt, um die Datenverarbeitung neu zu
starten, wobei die Computer-lesbaren Programm-Codemittel in
dem Massenprodukt umfassen:
ein Computer-lesbares Programm-Codemittel, um einen
Computer zu veranlassen, Protokolldaten von
Zustandseinstellungen der E/A-Einheiten in dem Hauptspeicher
zu speichern, einschließlich einer Betriebsart mit Bezug auf
die E/A-Vorrichtungen, und
ein Computer-lesbares Programm-Codemittel, um einen
Computer zu veranlassen, die E/A-Vorrichtungen zu
initialisieren und Zustandseinstellungen der E/A-
Vorrichtungen in Übereinstimmung mit den gespeicherten
Protokolldaten bei Auftreten eines Fehlers in dem
Computersystem einzustellen.
33. Massenprodukt mit:
einem Computer-verwendbaren Medium mit Computer-lesbaren
Programm-Codemitteln, die darin aufgenommen sind, um zu
veranlassen, dass die Zustände von Eingabe- und Ausgabe-
Einheiten (E/A-Einheiten) auf jeweilige Prüfpunkte wieder
hergestellt wird, wenn ein Computersystem beim Auftreten
eines Fehlers neu gestartet wird, wobei das Computersystem
eine oder mehrere CPUs, einen Hauptspeicher und eine oder
mehrere E/A-Vorrichtungen aufweist und periodisch den
internen Zustand der CPUs und den Inhalt des Hauptspeichers
als einen Prüfpunkt speichert, und der interne Zustand der
CPUs und der Inhalt des Hauptspeichers des letzten Prüfpunkts
wiederhergestellt wird, wenn ein Fehler in dem Computersystem
auftritt, um die Datenverarbeitung neu zu starten, wobei die
Computer-lesbaren Programm-Codemittel in dem Massenprodukt
umfassen:
ein Computer-lesbares Programm-Codemittel, um einen
Computer zu veranlassen, Protokolldaten eines Zustands von
Einstellungen der E/A-Einheit einschließlich einer
Betriebsart mit Bezug auf die E/A-Vorrichtungen in dem
Hauptspeicher zu speichern;
ein Computer-lesbares Programm-Codemittel, um einen
Computer zu veranlassen, die E/A-Vorrichtungen zu
initialisieren und Zustandseinstellungen der E/A-
Vorrichtungen in Übereinstimmung mit den gleichen
Protokolldaten beim Auftreten eines Fehlers in dem
Computersystem einzustellen;
ein Computer-lesbares Programm-Codemittel, um einen
Computer zu veranlassen, wenn ein Prozess in dem
Computersystem eine E/A-Anforderung erzeugt, einen
Anforderungsblock in dem Hauptspeicher zu erzeugen, der
Information enthält, die zum Durchführen der E/A-Anforderung
notwendig ist;
ein Computer-lesbares Programm-Codemittel, um einen
Computer zu veranlassen, einen E/A-Vorgang durch Zugreifen
auf die E/A-Vorrichtungen gemäß einem Anforderungsblock
durchzuführen;
ein Computer-lesbares Programm-Codemittel, um einen
Computer zu veranlassen, beim Neustarten von dem letzten
Prüfpunkt, der dem Auftreten eines Fehlers folgt, die E/A-
Ausführungsprozesse im Ausführungszustand zu initialisieren,
und zu veranlassen, dass E/A-Vorgänge, die von dem E/A-
Ausführungsprozess durchgeführt werden, die erneut vom Anfang
durchzuführen sind.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1535296 | 1996-01-31 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE69717876D1 DE69717876D1 (de) | 2003-01-30 |
| DE69717876T2 true DE69717876T2 (de) | 2003-11-13 |
Family
ID=11886412
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE69717876T Expired - Fee Related DE69717876T2 (de) | 1996-01-31 | 1997-01-17 | Eingabe-/Ausgabesteuergerät mit Wiederanlaufkennzeichnungsfunktion |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US5931954A (de) |
| EP (1) | EP0788052B1 (de) |
| KR (1) | KR100262835B1 (de) |
| CN (1) | CN1098490C (de) |
| DE (1) | DE69717876T2 (de) |
Families Citing this family (46)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3253883B2 (ja) * | 1997-01-31 | 2002-02-04 | 株式会社東芝 | プロセスリスタート方法及びプロセス監視装置 |
| US6332199B1 (en) * | 1998-10-29 | 2001-12-18 | International Business Machines Corporation | Restoring checkpointed processes including adjusting environment variables of the processes |
| EP1185928A1 (de) | 1998-12-16 | 2002-03-13 | Kent Ridge Digital Labs | Prozess-orientierte rechner-umgebung |
| US6345331B1 (en) * | 1999-04-20 | 2002-02-05 | International Business Machines Corporation | Device adapter being reintegrated with plurality of device adapters of network, or reestablishing permissions and resubmitting I/O requests depending on determined device state after failure |
| US6490690B1 (en) * | 1999-07-22 | 2002-12-03 | International Business Machines Corporation | Method and apparatus for unix system catastrophic recovery aid |
| US7065779B1 (en) * | 1999-10-13 | 2006-06-20 | Cisco Technology, Inc. | Technique for synchronizing multiple access controllers at the head end of an access network |
| US7639617B2 (en) * | 2001-06-27 | 2009-12-29 | Cisco Technology, Inc. | Upstream physical interface for modular cable modem termination system |
| US7139923B1 (en) | 2001-06-27 | 2006-11-21 | Cisco Technology, Inc. | Technique for synchronizing network devices in an access data network |
| US7209442B1 (en) * | 2001-06-27 | 2007-04-24 | Cisco Technology, Inc. | Packet fiber node |
| US7688828B2 (en) * | 2001-06-27 | 2010-03-30 | Cisco Technology, Inc. | Downstream remote physical interface for modular cable modem termination system |
| US7085287B1 (en) | 2001-06-27 | 2006-08-01 | Cisco Technology, Inc. | Map routing technique implemented in access networks |
| US6883114B2 (en) * | 2001-11-08 | 2005-04-19 | M-Systems Flash Disk Pioneers Ltd. | Block device driver enabling a ruggedized file system |
| KR20030056540A (ko) * | 2001-12-28 | 2003-07-04 | 한국전자통신연구원 | 데이터베이스 관리 시스템에서 시스템 고장에 대비한 파일삭제 및 회복 방법 |
| US7583704B1 (en) | 2003-06-10 | 2009-09-01 | Carl Walker | Synchronizing separated upstream and downstream channels of cable modem termination systems |
| US20050094551A1 (en) * | 2003-09-25 | 2005-05-05 | Broadcom Corporation | Processor instruction for DMT encoding |
| US7305608B2 (en) * | 2003-09-25 | 2007-12-04 | Broadcom Corporation | DSL trellis encoding |
| US7756273B2 (en) * | 2003-09-26 | 2010-07-13 | Broadcom Corporation | System and method for bit-reversing and scrambling payload bytes in an asynchronous transfer mode cell |
| US7903810B2 (en) | 2003-09-26 | 2011-03-08 | Broadcom Corporation | Single instruction for data scrambling |
| US7751557B2 (en) * | 2003-09-26 | 2010-07-06 | Broadcom Corporation | Data de-scrambler |
| US7734041B2 (en) * | 2003-09-26 | 2010-06-08 | Broadcom Corporation | System and method for de-scrambling and bit-order-reversing payload bytes in an Asynchronous Transfer Mode cell |
| US7580412B2 (en) * | 2003-09-26 | 2009-08-25 | Broadcom Corporation | System and method for generating header error control byte for Asynchronous Transfer Mode cell |
| US7216255B2 (en) * | 2004-01-23 | 2007-05-08 | Microsoft Corporation | Adaptive recovery from system failure for application instances that govern message transactions |
| US7646786B2 (en) * | 2004-05-25 | 2010-01-12 | Cisco Technology, Inc. | Neighbor discovery in cable networks |
| US7817553B2 (en) * | 2004-05-25 | 2010-10-19 | Cisco Technology, Inc. | Local area network services in a cable modem network |
| US7539208B2 (en) * | 2004-05-25 | 2009-05-26 | Cisco Technology, Inc. | Timing system for modular cable modem termination system |
| US7864686B2 (en) * | 2004-05-25 | 2011-01-04 | Cisco Technology, Inc. | Tunneling scheme for transporting information over a cable network |
| US7532627B2 (en) * | 2004-05-25 | 2009-05-12 | Cisco Technology, Inc. | Wideband upstream protocol |
| US8102854B2 (en) * | 2004-05-25 | 2012-01-24 | Cisco Technology, Inc. | Neighbor discovery proxy with distributed packet inspection scheme |
| US8149833B2 (en) * | 2004-05-25 | 2012-04-03 | Cisco Technology, Inc. | Wideband cable downstream protocol |
| US7835274B2 (en) * | 2004-05-25 | 2010-11-16 | Cisco Technology, Inc. | Wideband provisioning |
| US7720101B2 (en) * | 2004-05-25 | 2010-05-18 | Cisco Technology, Inc. | Wideband cable modem with narrowband circuitry |
| US7447225B2 (en) * | 2004-07-23 | 2008-11-04 | Cisco Technology, Inc. | Multiple multicast forwarder prevention during NSF recovery of control failures in a router |
| US7340582B2 (en) * | 2004-09-30 | 2008-03-04 | Intel Corporation | Fault processing for direct memory access address translation |
| US20060129618A1 (en) * | 2004-12-10 | 2006-06-15 | Albert Maier | Method and a computer system for synchronising backups of objects and of meta data about the objects |
| JP4060322B2 (ja) * | 2005-03-28 | 2008-03-12 | 三菱電機株式会社 | アプリケーション管理装置およびそのソフトウェアを格納した記憶媒体 |
| US7630361B2 (en) * | 2005-05-20 | 2009-12-08 | Cisco Technology, Inc. | Method and apparatus for using data-over-cable applications and services in non-cable environments |
| KR100755706B1 (ko) * | 2006-01-17 | 2007-09-05 | 삼성전자주식회사 | 애드 혹 네트워크를 위한 분산 서비스 컴포지션 모델을제공하는 방법 및 장치 |
| US7701951B2 (en) * | 2006-03-06 | 2010-04-20 | Cisco Technology, Inc. | Resource reservation and admission control for IP network |
| US8352784B2 (en) * | 2007-12-17 | 2013-01-08 | Microsoft Corporation | Device settings restore point |
| US7979626B2 (en) * | 2008-05-13 | 2011-07-12 | Microsoft Corporation | Flash recovery employing transaction log |
| EP2283331B1 (de) * | 2008-05-23 | 2021-06-30 | Rosemount Inc. | Verbesserte konfiguration einer multivariablen prozessflüssigkeitsflussvorrichtung |
| CN103337113B (zh) * | 2013-07-17 | 2015-05-13 | 广州广电运通金融电子股份有限公司 | 电子流水日志智能分析方法、装置及处理器 |
| US9495242B2 (en) * | 2014-07-30 | 2016-11-15 | International Business Machines Corporation | Adaptive error correction in a memory system |
| US10642536B2 (en) * | 2018-03-06 | 2020-05-05 | Western Digital Technologies, Inc. | Non-volatile storage system with host side command injection |
| EP4100845A4 (de) * | 2020-02-03 | 2024-02-21 | Samsung Electronics Co., Ltd. | Datenverwaltungssystem und verfahren zur steuerung |
| US11636199B2 (en) * | 2021-04-12 | 2023-04-25 | Realtek Singapore Pte Ltd. | Real time clock with integrated anti-rollback protection |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3688274A (en) * | 1970-12-23 | 1972-08-29 | Ibm | Command retry control by peripheral devices |
| US3736566A (en) * | 1971-08-18 | 1973-05-29 | Ibm | Central processing unit with hardware controlled checkpoint and retry facilities |
| US4740969A (en) * | 1986-06-27 | 1988-04-26 | Hewlett-Packard Company | Method and apparatus for recovering from hardware faults |
| JPH02294753A (ja) * | 1989-05-09 | 1990-12-05 | Fujitsu Ltd | 入出力処理装置の初期化方式 |
| US5293613A (en) * | 1991-08-29 | 1994-03-08 | International Business Machines Corporation | Recovery control register |
| US5664090A (en) * | 1993-12-15 | 1997-09-02 | Kabushiki Kaisha Toshiba | Processor system and method for maintaining internal state consistency between active and stand-by modules |
| DE69635409T2 (de) * | 1995-03-06 | 2006-07-27 | Intel Corp., Santa Clara | Ein rechnersystem mit unbewachter auf-anfrage-verfügbarkeit |
| US5751939A (en) * | 1995-11-29 | 1998-05-12 | Texas Micro, Inc. | Main memory system and checkpointing protocol for fault-tolerant computer system using an exclusive-or memory |
| US5712971A (en) * | 1995-12-11 | 1998-01-27 | Ab Initio Software Corporation | Methods and systems for reconstructing the state of a computation |
-
1997
- 1997-01-13 US US08/782,077 patent/US5931954A/en not_active Expired - Fee Related
- 1997-01-17 DE DE69717876T patent/DE69717876T2/de not_active Expired - Fee Related
- 1997-01-17 EP EP97100684A patent/EP0788052B1/de not_active Expired - Lifetime
- 1997-01-28 CN CN97102091A patent/CN1098490C/zh not_active Expired - Fee Related
- 1997-01-31 KR KR1019970003176A patent/KR100262835B1/ko not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| EP0788052B1 (de) | 2002-12-18 |
| CN1165344A (zh) | 1997-11-19 |
| EP0788052A1 (de) | 1997-08-06 |
| CN1098490C (zh) | 2003-01-08 |
| KR100262835B1 (ko) | 2000-08-01 |
| KR970059930A (ko) | 1997-08-12 |
| DE69717876D1 (de) | 2003-01-30 |
| US5931954A (en) | 1999-08-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE69620952T2 (de) | Rechnersystem mit Zwei-Phasen-Kontrollpunkten | |
| DE69614003T2 (de) | Hauptspeichervorrichtung und wiederanlaufkennzeichnungsprotokoll für ein fehlertolerantes rechnersystem mit einem lese-pufferspeicher | |
| DE69621841T2 (de) | Rechnersicherungssystem mit offenen Dateien | |
| DE69712689T2 (de) | Prüfpunktrechnersystem | |
| DE69622647T2 (de) | Wiederherstellbares Plattensteuersystem mit nichtflüchtigem Speicher | |
| DE69311952T2 (de) | Verfahren und System zur inkrementalen Datensicherung | |
| DE69730449T2 (de) | Erzeugung einer spiegeldatenkopie (bild) unter verwendung von referenzetiketten | |
| EP0163096B1 (de) | Einrichtung zur Rettung eines Rechnerzustandes | |
| DE69614138T2 (de) | Prüfpunkt-fernspeichersystem und -verfahren für ein fehlertolerantes system | |
| DE3788444T2 (de) | Verfahren zum Wiederanlauf einer langlaufenden fehlertoleranten Operation in einem transaktionsorientierten Datenbasissystem. | |
| DE3786956T2 (de) | Verwaltung von registrierungsdaten in einem transaktionsorientierten System. | |
| DE4220198C2 (de) | Transaktionsverarbeitungsverfahren für einen digitalen Computer und Transaktionsverarbeitungssystem | |
| DE69420979T2 (de) | Dateisicherungssystem | |
| US5931954A (en) | I/O control apparatus having check recovery function | |
| DE69222169T2 (de) | Verfahren und vorrichtung zur datenerholung in mehrstufigen datenbanksystemen | |
| DE68927705T2 (de) | Verfahren zum Entfernen unbestätigter Änderungen an gespeicherten Daten durch ein Datenbankverwaltungssystem | |
| DE69126067T2 (de) | Verfahren und Gerät zur Verwaltung von Zustandsidentifizierern zur effizienten Wiederherstellung | |
| DE69703574T2 (de) | Vorrichtung zur Prüfpunkterfassungsbeschleunigung | |
| DE69219657T2 (de) | Fortsetzung der Aufgabe eines fehlerhaften Prozessors von einem alternativen Prozessor | |
| DE69130279T2 (de) | On-line Wiederherstellung eines fehlerhaften redundanten Gruppensystems | |
| DE3784190T2 (de) | Eintragung eines datenbasisindex in das journal zur verbesserten rueckstellung. | |
| DE60312746T2 (de) | Wiederherstellung nach fehlern in datenverarbeitungsanlagen | |
| DE112011100112B4 (de) | Pufferspeicher-platte in blitzkopie-kaskade | |
| DE69126050T2 (de) | Verfahren zur Aktualisierung oder Wiedergabe gespeicherter Datengruppen und System zu dessen Erzeugung | |
| DE227749T1 (de) | Fehlertolerantes datenverarbeitungssystem. |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 8364 | No opposition during term of opposition | ||
| 8320 | Willingness to grant licences declared (paragraph 23) | ||
| 8339 | Ceased/non-payment of the annual fee |