DE69717876T2 - Eingabe-/Ausgabesteuergerät mit Wiederanlaufkennzeichnungsfunktion - Google Patents

Eingabe-/Ausgabesteuergerät mit Wiederanlaufkennzeichnungsfunktion

Info

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
Application number
DE69717876T
Other languages
English (en)
Other versions
DE69717876D1 (de
Inventor
Satoshi Hoshina
Hiroshi Sakai
Takeshi Sakuma
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Application granted granted Critical
Publication of DE69717876D1 publication Critical patent/DE69717876D1/de
Publication of DE69717876T2 publication Critical patent/DE69717876T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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.
  • (Erste Ausführungsform)
  • 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.
  • (Zweite Ausführungsform)
  • 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.
  • (Dritte Ausführungsform)
  • 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.
DE69717876T 1996-01-31 1997-01-17 Eingabe-/Ausgabesteuergerät mit Wiederanlaufkennzeichnungsfunktion Expired - Fee Related DE69717876T2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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