DE102008001162A1 - Zurücksetzverfahren und Informationsverarbeitungsvorrichtung, die dieses ausführt - Google Patents

Zurücksetzverfahren und Informationsverarbeitungsvorrichtung, die dieses ausführt Download PDF

Info

Publication number
DE102008001162A1
DE102008001162A1 DE102008001162A DE102008001162A DE102008001162A1 DE 102008001162 A1 DE102008001162 A1 DE 102008001162A1 DE 102008001162 A DE102008001162 A DE 102008001162A DE 102008001162 A DE102008001162 A DE 102008001162A DE 102008001162 A1 DE102008001162 A1 DE 102008001162A1
Authority
DE
Germany
Prior art keywords
access
address
destination address
list
access destination
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE102008001162A
Other languages
English (en)
Inventor
Akimasa Kariya Niwa
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.)
Denso Corp
Original Assignee
Denso 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 Denso Corp filed Critical Denso Corp
Publication of DE102008001162A1 publication Critical patent/DE102008001162A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1405Saving, restoring, recovering or retrying at machine instruction level
    • G06F11/141Saving, restoring, recovering or retrying at machine instruction level for bus or memory accesses

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Es wird bestimmt, dass ein Schreibzugriff an einem Stapelbereich eines Hauptspeichers ausgeführt wird. Es wird dann unter Bezugnahme auf eine Zugriffsmerkertabelle bestimmt, ob ein anderer Schreibzugriff an einer entsprechenden Zugriffszieladresse in dem Stapelbereich in der Vergangenheit aufgetreten ist. Im Gegensatz dazu wird es bestimmt, dass ein Schreibzugriff an einem globalen Bereich des Hauptspeichers ausgeführt worden ist. Es wird dann unter Bezugnahme auf eine Adressenliste bestimmt, ob ein anderer Schreibzugriff an einer entsprechenden Zugriffszieladresse in dem globalen Bereich in der Vergangenheit aufgetreten ist. Eine derartige Ausgestaltung kann wirksam einzelne Vorteile der Bestimmungsverfahren vorsehen, die sowohl die Zugriffsmerkertabelle als auch die Adressenliste verwenden. Das Vorhandensein oder Nichtvorhandensein des vergangenen Ausführens eines Speicherns kann zu der Zeit eines Schreibzugriffs wirksam bestimmt werden.

Description

  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft ein Zurücksetz- bzw. Rollback- bzw. Wiederholverfahren und eine Technologie eines Fortsetzens eines Betriebs eines Systems bei einem Fehlverhalten in einem Mikrocomputer durch erneutes Schreiben von gespeicherten Daten in einen Speicher.
  • Hintergrund der Erfindung
  • In einem herkömmlichen Zurücksetzvorgang oder -verfahren werden Daten eines Schreibzugriffsziels in einem Speicher normalerweise bei jedem Schreiben oder Schreibzugriff in den Speicher gespeichert. Bei dem Zurücksetzvorgang werden die gespeicherten Daten erneut auf eine LIFO- bzw. Last-In-First-Out-Weise in den Speicher geschrieben. Mehrere Male von Schreibzugriffen können bezüglich einer bestimmten Speicheradresse durchgeführt oder überlappt werden. In einem derartigen Fall werden Daten mehrere Male gespeichert in die bestimmte Adresse und werden die gespeicherten Daten die mehreren Male erneut geschrieben. Demgemäß verursacht ein derartiger Zurücksetzvorgang ein Problem, dass sich ein Übertragen von Daten, die nicht wesentlich ein erneutes Schreiben erfordern, eine Zeit erhöht, die zum Erneuern der Daten erforderlich ist.
  • Um ein derartiges Problem zu lösen, sind einige Verfahren zum Verringern der überlappten Daten in dem Sicherungsspeicher vorgeschlagen worden. Zum Beispiel wird es in der JP-H2-257228 A bestimmt, ob eine Datenbank bereits zu einer Protokolldatei in einer Blockeinheit oder einer Teileinheit der Blockeinheit ausgegeben worden ist. Lediglich dann, wenn es bestimmt wird, dass die Datenbankdatei nicht ausgegeben worden ist, wird die Datenbankdatei zu der Protokolldatei ausgegeben. Diese Ausgestaltung verringert überlappte gespeicherte Daten, die in dem Sicherungsspeicher erzeugt werden.
  • Zum Beispiel wird in der JP-H11-53239 A , wenn ein Aktualisierungsvorgang an einem bestimmten Datenelement in einer Datenbank ausgeführt wird, überprüft, ob es irgendeine Protokollinformation gibt, die einen weiteren Aktualisierungsvorgang aufzeichnet, der vorhergehend an Daten des bestimmten Datenelements ausgeführt worden ist. Wenn die Protokollinformation bereits vorhanden ist, wird ein Aufzeichnen einer Protokollinformation gestoppt. Daher kann ein Erzeugen der überlappten oder redundanten gespeicherten Daten verringert werden.
  • Die Technologien der JP-H2-257228 A und der JP-H11-53239 A , die zuvor erwähnt worden sind, können sicher überlappte Daten in dem Sicherungsspeicher oder ein Speichern von Daten verringern. Es gibt jedoch keine Offenbarung bezüglich eines detaillierten Bestimmungsverfahrens oder ob Daten bereits gespeichert worden sind. Das heißt, das Folgende ist nicht besonders offenbart: Wie Daten zu speichern und aufzuzeichnen sind; wie ein Bestimmen bezüglich dessen durchzuführen ist, ob Daten mit den bereits gespeicherten Daten bei einem nachfolgenden Speichern von Daten übereinstimmen. Wenn das Verfahren des Bestimmens kompliziert ist, kann das Bestimmen eine Zeit erfordern und eine Verzögerung des ursprünglichen Verfahrens verursachen. Weiterhin kann das Bestimmen eine bedeutsame Zeit erfordern, wenn ein Speichern bezüglich einer Speicheradresseneinheit ausgeführt wird. Die effektive Geschwindigkeit eines Anwendungsprogramms, das bezüglich eines derartigen Speicherns ausgeführt wird, ist verglichen mit der eines Systems ohne Berücksichtigung oder Einschließens eines Zurücksetzvorgangs bedeutsam verringert.
  • Kurzfassung der Erfindung
  • Die vorliegende Erfindung ist im Hinblick auf ein derartiges Problem geschaffen worden und es ist eine Aufgabe der vorliegenden Erfindung, ein wirksames Bestimmen eines Vorhandenseins oder Nichtvorhandenseins eines Ausführens eines Speicherns von vorhergehenden Daten zu der Zeit eines Ausführens eines Schreibzugriffs zu schaffen, um dadurch ein Erzeugen von überlappten Daten in einem Sicherungsspeicher zu verringern.
  • Diese Aufgabe wird mit den in Anspruch 1 und 15 angegebenen Maßnahmen gelöst.
  • Weitere vorteilhafte Ausgestaltungen der vorliegenden Erfindung sind Gegenstand der abhängigen Ansprüche.
  • Gemäß einem Beispiel der vorliegenden Erfindung wird ein Verfahren zum Ausführen eines Zurücksetzvorgangs geschaffen, um einen Laufzustand eines Mikrocomputers an einem vorhergehenden Zustand wiederherzustellen. Das Verfahren weist auf: Vorbereiten einer Zugriffsmerkertabelle und einer Adressenliste, wobei die Zugriffsmerkertabelle eine Information aufzeichnet, die anzeigt, ob bezüglich einer Zugriffszieladresse eines Hauptspeichers ein Schreibzugriff vorhergehend aufgetreten ist, die Adressenliste eine Adresse des Hauptspeichers auflistet und die Daten der Adresse in einen Sicherungsspeicher gespeichert worden sind; Bezug nehmen auf eine (i) der Zugriffsmerkertabelle und (ii) der Adressenliste vor einem Schreibzugriff auf eine Zugriffszieladresse des Hauptspeichers; Durchführen eines Bestimmens eines Auftretens bezüglich dessen, ob ein Schreibzugriff vorhergehend aufgetreten ist, bezüglich der Zugriffszieladresse; Speichern von Daten vor einem Aktualisieren, welche Daten vor einem Aktualisieren sind, der Zugriffszieladresse in dem Speicher, während die eine der Zugriffsmerkertabelle und der Adressenliste aktualisiert wird, auf die Bezug genommen wird, wenn das Bestimmen eines Auftretens verneint wird; und Verwenden der Daten vor einem Aktualisieren, die in den Sicherungsspeicher gespeichert sind, wenn ein Zurücksetzvorgang ausgeführt wird.
  • Gemäß einem derartigen Zurücksetzverfahren werden die Zugriffsmerkertabelle oder die Adressenliste zweckmäßig verwendet. Die Charakteristiken von jedem Bestimmungsverfahren könnend daher wirksam verwendet werden. Eine Notwendigkeit eines Datenspeicherverfahrens kann wirksam bestimmt werden.
  • Gemäß einem weiteren Beispiel der vorliegenden Erfindung wird eine Informations-Verarbeitungsvorrichtung geschaffen, die das zuvor erwähnte Verfahren ausführt.
  • Gemäß noch einem weiteren Beispiel der vorliegenden Erfindung wird eine Informations-Verarbeitungsvorrichtung zum Ausführen eines Zurücksetzvorgangs geschaffen, um einen Laufzustand eines Mikrocomputers an einem vorhergehenden Zustand wiederherzustellen. Die Vorrichtung weist auf: ein Speichermodul das dazu ausgelegt ist, eine Zugriffsmerkertabelle zu speichern, die eine Information aufzeichnet, die anzeigt, ob ein Schreibzugriff bezüglich einer Zugriffszieladresse eines Hauptspeichers zuvor aufgetreten ist; ein Speichermodul, das dazu ausgelegt ist, eine Adressenliste zu speichern, die eine Adresse des Hauptspeichers auflistet, wobei Daten der Adresse in einen Sicherungsspeicher gespeichert worden sind; eine Referenz-Steuereinheit, die dazu ausgelegt ist, auf (i) die Zugriffsmerkertabelle und (ii) die Adressenliste vor einem Schreibzugriff in eine Zugriffszieladresse des Hauptspeichers Bezug zu nehmen; eine Auftretensbestimmens-Steuereinheit, die dazu ausgelegt ist, bezüglich der Zugriffszieladresse ein Bestimmen eines Auftretens bezüglich dessen durchzuführen, ob ein Schreibzugriff zuvor aufgetreten ist; eine Datenspeicher-Steuereinheit, die dazu ausgelegt ist, Daten vor einem Aktualisieren, welche Daten vor einem Aktualisieren sind, der Zugriffszieladresse in den Speicher zu speichern, während die eine der Zugriffsmerkertabelle und der Adressenliste aktualisiert wird, auf die Bezug genommen wird, wenn das Bestimmen eines Auftretens verneint wird; und eine Zurücksetz-Steuereinheit, die dazu ausgelegt ist, die Daten vor einem Aktualisieren zu verwenden, die in den Sicherungsspeicher gespeichert sind, wenn ein Zurücksetzvorgang ausgeführt wird.
  • Kurze Beschreibung der Zeichnung
  • Die vorliegende Erfindung wird nachstehend anhand von Ausführungsbeispielen unter Bezugnahme auf die beiliegende Zeichnung näher erläutert.
  • Es zeigt:
  • 1 ein Blockschaltbild eines Aufbaus einer Informations-Verarbeitungsvorrichtung gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
  • 2 ein Flussdiagramm zum Erläutern eines Schreibzugriffsvorgangs;
  • 3 ein Flussdiagramm zum Erläutern eines ersten Speichervorgangs;
  • 4 ein Datenflussdiagramm zum Erläutern eines Beispiels des ersten Speichervorgangs;
  • 5 ein Flussdiagramm zum Erläutern eines zweiten Speichervorgangs;
  • 6 ein Datenflussdiagramm zum Erläutern eines Beispiels des zweiten Speichervorgangs;
  • 7 ein Flussdiagramm zum Erläutern eines Zurücksetzvorgangs;
  • 8 ein Flussdiagramm zum Erläutern eines dritten Speichervorgangs;
  • 9 ein Flussdiagramm zum Erläutern eines vierten Speichervorgangs;
  • 10A, 10B Diagramme zum Erläutern von Beispielen einer Zugriffsmerkertabelle;
  • 11 ein Flussdiagramm zum Erläutern eines zweiten Listenreferenzierungsvorgangs;
  • 12 ein Flussdiagramm zum Erläutern eines fünften Speichervorgangs; und
  • 13 ein Flussdiagramm zum Erläutern eines sechsten Speichervorgangs.
  • Detaillierte Beschreibung der bevorzugten Ausführungsbeispiele
  • Ein Ausführungsbeispiel der vorliegenden Erfindung wird unter Bezugnahme auf die Zeichnung erläutert. Weiterhin kann das Ausführungsbeispiel der vorliegenden Erfindung auf verschiedene Weisen innerhalb eines technischen Umfangs der vorliegenden Erfindung ausgestaltet werden, ohne auf das folgende Ausführungsbeispiel beschränkt zu sein.
  • Erläuterung eines Aufbaus
  • 1 zeigt ein Blockschaltbild eines Gesamtaufbaus einer Informations-Verarbeitungsvorrichtung 11, welche einen Zurücksetzvorgang des vorliegenden Ausführungsbeispiels realisieren kann. Die Informations-Verarbeitungsvorrichtung 11 beinhaltet eine CPU 12, einen Hauptspeicher 13, einen I/O- bzw. Eingabe/Ausgabeschnittstelle 14, einen Sicherungsspeicher 15, eine Zugriffsmerkertabelle 16, eine Adressenliste 17 und einen Bus 18, der die vorhergehenden Komponenten verbindet.
  • Die CPU 12 wirkt als eine Steuereinheit und ist ein bekannter Mikrocomputer und kann verschiedene Arten von Verfahren auf der Grundlage von vorab festgelegten Programmen ausführen. Die CPU 12 kann über den Bus 18 auf jede Komponente zugreifen.
  • Der Hauptspeicher 13 ist ein Speichermodul, das aus einem DRAM usw. besteht und Programmcodes, Daten usw. entwickeln kann. Die I/O 14 verwaltet eine Kommunikation mit Vorrichtungen außerhalb der Informations-Verarbeitungsvorrichtung 11. Die äußeren Vorrichtungen beinhalten zum Beispiel eine Anzeigevorrichtung, eine Audio-Ausgabevorrichtung und eine Bedienvorrichtung.
  • Der Sicherungsspeicher 15 ist ein Speichermodul, welcher aus einem DRAM usw. besteht und in dem vorliegenden Ausführungsbeispiel als ein Körper unabhängig ist, der zu dem Hauptspeicher 13 unterschiedlich ist. Der Sicherungsspeicher 15 wird zum Speichern von Daten verwendet, die in einem Zurücksetzvorgang erforderlich sind. Weiterhin kann der Sicherungsspeicher 15 in einem Teilbereich des Hauptspeichers 13 beinhaltet sein, anstatt als der unabhängige Körper vorgesehen zu sein, der zu dem Speichermodul des Hauptspeichers 13 unterschiedlich ist.
  • Die Zugriffsmerkertabelle 16 ist in einem Speichermodul beinhaltet, das aus einem DRAM oder dergleichen besteht. Sie ist eine Tabelle zum Speichern oder Aufzeichnen einer Information, die in einem Zurücksetzvorgang erforderlich ist. Alternativ kann die Zugriffsmerkertabelle in einem Teilbereich des Hauptspeichers 13 beinhaltet sein. Die Details der Zugriffsmerkertabelle 16 werden später erwähnt.
  • Die Adressenliste 17 ist in einem Speichermodul beinhaltet, das aus einem DRAM oder dergleichen besteht. Sie ist eine Liste zum Speichern oder Aufzeichnen einer Information, die in einem Zurücksetzvorgang erforderlich ist. Alternativ kann die Adressenliste 17 in einem Teilbereich des Hauptspeichers 13 beinhaltet sein. Die Details der Adressenliste 17 werden später erwähnt.
  • Erläuterung einer Funktionsweise
  • Grundlegendes Ausführungsbeispiel
  • Die folgenden Ausführungen erläutern ein Verfahren, das in einem grundlegenden Ausführungsbeispiel von einer CPU 12 ausgeführt wird. Hierbei wird lediglich ein Verfahren, das bezüglich des vorliegenden Ausführungsbeispiels relevant ist, aus den Verfahren erläutert, die von der CPU 12 ausgeführt werden. Die Erläuterung über Verfahren von Anwendungsprogrammen usw., die von der CPU 12 ausgeführt werden, wird weggelassen.
  • (1) Schreibzugriffsverfahren
  • Als Erstes wird ein Schreibzugriffsverfahren, das von der CPU 12 ausgeführt wird, unter Verwendung eines Flussdiagramms von 2 erläutert. Das Schreibzugriffsverfahren wird gestartet, wenn ein Schreibzugriff (eine Einschreibanweisung) in den Hauptspeicher 13 durch ein Anwendungsprogramm durchgeführt wird.
  • Mit dem Start des Verfahrens bestimmt die CPU 12 in S105, ob ein Zugriffsziel in einem Stapelbereich des Hauptspeichers 13 beinhaltet ist. Der Stapelbereich ist als ein Bereich zum Zuweisen einer lokalen Variablen in einem Programm definiert, das von der CPU 12 ausgeführt wird.
  • Wenn das Bestimmen in S105 bejahend ist oder wenn es bestimmt wird, dass das Zugriffsziel in einem Stapelbereich des Hauptspeichers 13 beinhaltet ist, schreitet die Verarbeitung zu S110 fort. Wenn es bestimmt wird, dass das Zugriffsziel nicht in einem Stapelbereich beinhaltet ist, was NEIN in S105 entspricht, schreitet die Verarbeitung zu S115 fort. Hierbei bedeutet, dass das Zugriffsziel nicht in einem Stapelbereich beinhaltet ist, dass das Zugriffsziel zum Beispiel in einem globalen Bereich beinhaltet ist. Der globale Bereich wird zum Zuweisen einer globalen Variablen in einem Programm verwendet, das zum Beispiel von der CPU 12 ausgeführt wird.
  • Ein erster Speichervorgang wird in S110 ausgeführt. Die Details des ersten Speichervorgangs werden später erwähnt. Nach einem Beenden des ersten Speichervorgangs schreitet die Verarbeitung zu S120 fort. Ein zweiter Speichervorgang wird in S115 ausgeführt. Die Details des zweiten Speichervorgangs werden später erwähnt. Nach einem Beenden des zweiten Speichervorgangs schreitet die Verarbeitung zu S120 fort.
  • Der Hauptspeicher 13 wird in S120 aktualisiert. Zum Beispiel wird ein bestimmtes Datenelement in eine Adresse geschrieben, die durch das Anwendungsprogramm bezeichnet wird. Der Hauptspeicher 13 wird aktualisiert und der vorliegende Schreibzugriffsvorgang endet dann.
  • (2) Erster Speichervorgang
  • Als Nächstes wird ein erster Speichervorgang, der von der CPU 12 ausgeführt wird, unter Verwendung eines Flussdiagramms in 3 erläutert. Der erste Speichervorgang startet durch Aufrufen des Schreibzugriffsvorgangs, der zuvor erwähnt worden ist, in S110.
  • Mit dem Start des Vorgangs lädt die CPU 12 in S205 einen Zugriffsmerker, der einer Zugriffszieladresse entspricht, aus der Zugriffsmerkertabelle 16. Das Beispiel wird später erwähnt.
  • Dann wird es in S210 bestimmt, ob der geladene Zugriffsmerker positiv oder negativ ist. Der positive Zugriffsmerker wird durch einen Merkerwert angezeigt, der in einem "1"-Zustand ist, um zu kennzeichnen, dass die entsprechende Zugriffszieladresse ein Ziel eines Schreibzugriffs in der Vergangenheit gewesen ist. Der negative Zugriffsmerker wird durch einen Merkerwert angezeigt, der in einem "0"-Zustand ist, um zu kennzeichnen, dass die entsprechende Zugriffszieladresse bisher kein Ziel eines Schreibzugriffs gewesen ist.
  • Wenn der geladene Zugriffsmerker als positiv bestimmt wird, was JA in S210 entspricht, endet der vorliegende erste Speichervorgang. Die CPU 12 führt die Verarbeitung aus, die S110 des Schreibzugriffsvorgangs der Quelle folgt, die den ersten Speichervorgang aufgerufen hat.
  • Wenn der geladene Zugriffsmerker in S210 als nicht positiv bestimmt wird oder wenn der geladene Zugriffsmerker negativ ist, was NEIN in S210 entspricht, schreitet die Verarbeitung zu S215 fort.
  • In S215 werden Daten vor einem Aktualisieren, welche Daten vor einem Aktualisieren sind und derzeit in der Zugriffszieladresse des Hauptspeichers 13 gespeichert sind, in den Sicherungsspeicher 15 gespeichert. Gleichzeitig wird ein Sicherungsspeicher-Stapelzeiger des Sicherungsspeichers 15 dekrementiert, das heißt der Zeiger wird derart bewegt, dass ein Punkt, der durch den Zeiger angezeigt wird, um eine einzelne Adresse dekrementiert wird. Im nachfolgenden S220 wird der Zugriffsmerker der Zugriffszieladresse als positiv bestimmt und in der Zugriffsmerkertabelle 16 gespeichert oder aufgezeichnet. Der vorliegende erste Speichervorgang endet. Die CPU 12 führt dann die Verarbeitung aus, die S110 des Speicherzugriffsvorgangs der Quelle folgt, die den ersten Speichervorgang aufgerufen hat.
  • Hierbei wird eine Funktionsweise des ersten Speichervorgangs unter Verwendung eines Diagramms von 4 erläutert. Wenn Daten "0310" in eine Adresse "8001" des Hauptspeichers 13 geschrieben werden, liest die CPU 12 einen Zugriffsmerker "0" der Adresse "8001" aus der Zugriffsmerkertabelle 16 aus.
  • Die CPU 12 nimmt auf den Zugriffsmerker "0" Bezug, um dadurch zu bestimmen, dass Daten, die in der Adresse "8001" des Hauptspeichers 13 vorhanden sind, gespeichert oder evakuiert werden müssen, und führt den Speichervorgang aus. Zum Beispiel liest die CPU 12 die Daten "0010" aus der Adresse "8001" des Hauptspeichers 13. Die Adresse "8001" und die Daten "0010" werden an einem Punkt in den Sicherungsspeicher 15 geschrieben oder gespeichert, der durch den Sicherungsspeicher-Stapelzeiger angezeigt wird. Der Sicherungsspeicher-Stapelzeiger wird dekrementiert, das heißt, ein Punkt, der durch den Zeiger angezeigt wird, wird bewegt, um um eine einzelne Adresse dekrementiert zu werden.
  • Dann schreibt die CPU 12 als ein Aktualisieren Daten "0310" als Aktualisierungsdaten in die Adresse "8001" des Hauptspeichers 13. Hierbei werden, wenn die CPU 12 auf den Zugriffsmerker "1" Bezug nimmt, die Aktualisierungsdaten ohne Speichern der vorliegenden Daten oder der Daten vor einem Aktualisieren in die entsprechende Adresse des Hauptspeichers 13 geschrieben.
  • (3) Zweiter Speichervorgang
  • Als Nächstes wird ein zweiter Speichervorgang, der von der CPU 12 ausgeführt wird, unter Verwendung eines Flussdiagramms von 5 erläutert. Der zweite Speichervorgang startet durch ein Aufrufen in S120 des Schreibzugriffsvorgangs, der zuvor erwähnt worden ist.
  • Mit dem Start des Verfahrens initialisiert die CPU 12 einen Referenzziellistenindex in S305. Dieser Referenzziellistenindex ist ein Zeiger, welcher ein Referenzziel in der Adressenliste 17 anzeigt. Das Listenelement, auf welches dieser Referenzziellistenindex zeigt, wird ein Ziel für die Referenz.
  • In S310 wird es bestimmt, ob alle der Adressen der Adressenliste 17 mit der Schreibzugriffszieladresse verglichen worden sind. Hierbei bedeutet "Vergleichen" einen Vergleich, der in dem später erwähnten S330 ausgeführt wird. Wenn es bestimmt wird, dass alle der Adressen in der Adressenliste 17 mit der Schreibzugriffszieladresse verglichen worden sind, was JA in S310 entspricht, schreitet die Verarbeitung zu S315 fort. Wenn es bestimmt wird, dass alle der Adressen in der Adressenliste 17 nicht mit der Schreibzugriffszieladresse verglichen worden sind, was NEIN in S310 entspricht, schreitet die Verarbeitung zu S330 fort.
  • In S315 werden nach JA in S310 Daten vor einem Aktualisieren, welche Daten vor einem Aktualisieren sind und derzeit in der Zugriffszieladresse des Hauptspeichers 13 gespeichert sind, in den Sicherungsspeicher 15 gespeichert. Der Stapelzeiger des Sicherungsspeichers 15 wird bewegt, um in S320 dekrementiert zu werden. Das hintere Ende der Adressenliste 17 wird zu der Adresse geändert, die den gespeicherten Daten entspricht, und die Adresse "FFFF", die das hintere Ende bedeutet, wird als ein neues Listenelement in S325 hinzugefügt. Der derzeitige zweite Speichervorgang endet. Die CPU 12 führt dann die folgende Verarbeitung aus, die S120 des Schreibzugriffsvorgangs der Quelle folgt, die den zweiten Speichervorgang aufgerufen hat.
  • In S330 wird nach NEIN in S310 die Zugriffszieladresse mit einem Listenelement (einer Adresse) in der Adressenliste 17 verglichen, die durch den Referenzziellistenindex angezeigt wird. Die Verarbeitung wird durch ein Ergebnis des Vergleichs in S335 verzweigt. Wenn die Adressen miteinander übereinstimmen, was JA in S335 entspricht, endet der derzeitige zweite Speichervorgang. Die CPU 12 führt dann die Verarbeitung aus, die S120 des Schreibzugriffsvorgangs der Quelle folgt, die den zweiten Speichervorgang aufgerufen hat. Im Gegensatz dazu schreitet, wenn die Adressen nicht miteinander übereinstimmen, was NEIN in S335 entspricht, die Verarbeitung zu S340 fort.
  • In S340 wird nach NEIN in S335 der Referenzziellistenindex inkrementiert und kehrt die Verarbeitung zu S310 zurück, wie es zuvor erwähnt worden ist. Hierbei wird eine Funktionsweise des zweiten Speichervorgangs unter Verwendung eines Diagramms von 6 erläutert. Die CPU 12 beabsichtigt, Daten "0310" in die Adresse "7001" des Hauptspeichers 13 zu schreiben. Zuerst wird die Adresse aus der Adressenliste 17 gelesen, während sie von "0" in dem Listenindex inkrementiert wird. Es wird bestimmt, ob die Adresse "7001" des Schriebziels in der Adressenliste 17 vorhanden ist. Es kann bestimmt werden, dass die beabsichtigte Adresse auch nach einem Zirkulieren oder Gehen um die Adressenliste 17 nicht in der Adressenliste 17 vorhanden ist. In einem derartigen Fall bestimmt die CPU 12, dass die derzeitigen Daten (Daten vor einem Aktualisieren) in der Adresse "7001" des Hauptspeichers 13 gespeichert werden müssen, um dadurch die derzeitigen Daten in dem Sicherungsspeicher 15 zu speichern. Zum Beispiel liest die CPU 12 die Daten "0010" aus der Adresse "7001" des Hauptspeichers 13. Die Adresse "7001" und die Daten "0010" werden an einem Punkt in den Sicherungsspeicher 15 geschrieben oder gespeichert, auf den durch den Speicherstapelzeiger gezeigt wird. Dann schreibt die CPU 12 Daten "0310" als Aktualisierungsdaten in die Adresse "7001" des Hauptspeichers 13. Die CPU 12 ändert die Adresse in der Adressenliste 17 entsprechend dem Listenindex "4" von "FFFF" zu "7001" und fügt neu eine Adresse "FFFF" als einen Listenindex "5" hinzu.
  • Es kann bestimmt werden, dass die beabsichtigte Adresse der Adressenliste 17 vorhanden ist, bevor der Referenzziellistenindex um die Adressenliste 17 gegangen ist oder zirkuliert ist. In einem derartigen Fall schreibt die CPU 12 Daten "0310" ohne Speichern der derzeitigen Daten vor einem Aktualisieren als Aktualisierungsdaten in die Adresse "7001" des Hauptspeichers 13.
  • (4) Zurücksetzvorgang
  • Als Nächstes wird ein Zurücksetzvorgang, der von der CPU 12 ausgeführt wird, unter Verwendung eines Flussdiagramms von 7 erläutert. Ein Ausführen eines Zurücksetzvorgangs wird gestartet, wenn ein bestimmtes Fehlverhalten in der Informations-Verarbeitungsvorrichtung 11 auftritt oder wenn eine Anweisung des Ausführens des Zurücksetzvorgangs über die I/O 14 von einer anderen Vorrichtung empfangen wird, die mit der Informations-Verarbeitungsvorrichtung 11 verbunden ist.
  • Mit dem Start eines Ausführens eines Zurücksetzvorgangs bestimmt die CPU 12, ob der Stapelzeiger des Sicherungsspeichers 15 inkrementiert werden kann, das heißt, ein Punkt, der durch den Stapelzeiger des Sicherungsspeichers 15 angezeigt wird, inkrementiert werden kann. Wenn es bestimmt wird, dass der Zeiger inkrementiert werden kann, was JA in S405 entspricht, schreitet die Verarbeitung zu S410 fort. Wenn es bestimmt wird, dass der Zeiger nicht inkrementiert werden kann, was NEIN in S405 entspricht, endet der derzeitige Zurücksetzvorgang.
  • In S410 wird nach JA in S405 der Stapelzeiger des Sicherungsspeichers 15 inkrementiert oder derart bewegt, dass der entsprechende Punkt, der durch den Zeiger angezeigt wird, inkrementiert wird. Die Daten in dem Sicherungsspeicher 15, auf welche der Stapelzeiger zeigt, werden in S415 zu der entsprechenden Adresse des Hauptspeichers 13 zurückgeführt und neu geschrieben. Die entsprechende Adresse ist äquivalent zu der Adresse in dem Sicherungsspeicher 15, auf welche der Stapelzeiger zeigt. Nach einem Beenden eines Zurückführens und neu Schreibens der Daten kehrt die Verarbeitung zu S405 zurück, der zuvor erwähnt worden ist.
  • Daher können die Dateninhalte des Hauptspeichers 13 durch Ausführen des Zurücksetzvorgangs zu dem vorhergehenden statischen Punkt oder Zustand zurückgeführt werden.
  • Wirkung des grundlegenden Ausführungsbeispiels
  • In der Informations-Verarbeitungsvorrichtung 11 des derzeitigen Ausführungsbeispiels wird es, wenn ein Schreibzugriff zu einem Stapelbereich des Hauptspeichers 13 ausgeführt wird, was JA in S105 entspricht, durch Bezug nehmen auf die Zugriffsmerkertabelle 16 in S110 bestimmt, ob ein weiterer Schreibzugriff in der Zugriffszieladresse in der Vergangenheit aufgetreten ist. Wenn ein Schreibzugriff an einem globalen Bereich ausgeführt wird, was NEIN in S105 entspricht, wird es in S115 durch Bezug nehmen auf die Adressenliste 17 bestimmt, ob ein Schreibzugriff in der Zugriffszieladresse in der Vergangenheit aufgetreten ist.
  • Eine derartige Ausgestaltung kann wirksam einzelne Vorteile der Bestimmungsverfahren unter Verwendung sowohl der Zugriffsmerkertabelle 16 als auch der Adressenliste 17 vorsehen. Das Vorhandensein oder Nichtvorhandensein des vergangenen Ausführens eines Speicherns kann zu der Zeit eines Schreibzugriffs wirksam bestimmt werden.
  • Hierbei speichert die Zugriffsmerkertabelle 16 einen Zugriffsmerker, der anzeigt, ob ein Schreibzugriff in der Vergangenheit für jede Adresse des Zugriffsziels aufgetreten ist. Die CPU 12 lädt den Zugriffsmerker, der der Zugriffszieladresse entspricht, aus der Zugriffsmerkertabelle 16 und führt ein Bestimmen eines Auftretens bezüglich dessen durch, ob ein weiterer Speicherzugriff in der Vergangenheit von dem Zugriffsmerker aufgetreten ist. Lediglich dann, wenn es keinen Schreibzugriff in der Vergangenheit gegeben hat, werden die derzeitigen Daten vor einem Aktualisieren der Zugriffszieladresse in den Sicherungsspeicher 15 gespeichert oder evakuiert. Gleichzeitig wird der Zugriffsmerker der Zugriffsmerkertabelle 16, der der Zugriffszieladresse entspricht, aktualisiert. Deshalb ist das Bestimmen eines Auftretens unter Verwendung der Zugriffsmerkertabelle 16 für Zugriffe auf den Stapelspeicher geeignet. Der Stapelspeicher belegt einen kleinen Teil des Speicherbereichs und die Lokalität von Zugriffen ist hoch.
  • Demgemäß kann die Abmessung der Tabelle, die zum Bestimmen erforderlich ist, ob ein Datenspeichervorgang erforderlich ist, unter Verwendung der Zugriffsmerkertabelle verringert werden. Weiterhin lässt ein einmaliges Bezug nehmen auf die Zugriffsmerkertabelle durch Bezeichnen einer Adresse das Bestimmen bezüglich dessen zu, ob ein Datenspeichervorgang bezüglich einer entsprechenden Zugriffszieladresse erforderlich ist.
  • Weiterhin listet die Adressenliste 17, um Zeitpunkte zu sparen, Adressen des Hauptspeichers 13 auf, die den Daten entsprechen, die in der Vergangenheit in dem Sicherungsspeicher 15 gespeichert worden sind. Die CPU 12 bestimmt aufeinanderfolgend in einer Reihenfolge von dem vorderen Ende oder der Spitze der Adressenliste 17, ob ein Listenelement der Liste mit der Zugriffszieladresse übereinstimmt. Das Bestimmen (hier im weiteren Verlauf ebenso als ein Bestimmen einer Übereinstimmung bezeichnet) wird einmal beendet, wenn ein Listenelement der Liste mit der Zugriffszieladresse übereinstimmt. Wenn alle der Listenelemente nicht mit der Zugriffszieladresse übereinstimmen, speichert die CPU 12 Daten vor einem Aktualisieren, welche Daten vor einem Aktualisieren sind, der Zugriffszieladresse des Sicherungsspeichers 15 und fügt die Zugriffszieladresse zu der Adressenliste 17 hinzu. Daher ist das Bestimmen einer Übereinstimmung unter Verwendung der Adressenliste 17 zum Zugreifen auf den globalen Bereich geeignet. Der globale Bereich oder Verwendungsbereich des globalen Bereichs belegt einen großen Teil des Speicherbereichs. Weiterhin ist die Lokalität von Zugriffen niedrig und sind eine Sequenzialität und Periodizität hoch.
  • Demgemäß stimmt ein Anwenden einer Listenform mit einer Charakteristik von Zugriffen überein und lässt das Bestimmen bezüglich dessen zu, ob ein Datenspeichervorgang lediglich für eine relativ kleine Anzahl von Malen von Referenzen erforderlich ist.
  • Ausgestaltungen
  • Als Nächstes werden Ausgestaltungen beschrieben. Hierbei erläutern die folgenden Ausführungen hauptsächlich Unterschiede zu dem grundlegenden Ausführungsbeispiel, das zuvor erwähnt worden ist.
  • (1) Dritter Speichervorgang
  • Ein dritter Speichervorgang kann den zuvor erwähnten ersten Speichervorgang ersetzen. Als Nächstes wird der dritte Speichervorgang, der von der CPU 12 ausgeführt wird, unter Verwendung eines Flussdiagramms von 8 erläutert. Weiterhin wird in dem dritten Speichervorgang eine Zugriffsmerkertabelle 16a, die in 10A gezeigt ist, anstelle der Zugriffsmerkertabelle 16 verwendet, die von dem ersten Speichervorgang verwendet wird. Details werden später erwähnt.
  • Mit dem Start des dritten Speichervorgangs bezeichnet die CPU 12 einen Tabellenindex von einer Zugriffszieladresse in S505. Der Tabellenindex wird zum bezeichnen eines Datensatzes der Zugriffsmerkertabelle 16a verwendet. Der Tabellenindex ist durch die oberen 12 Bits der Zugriffszieladresse dargestellt, die in dem vorliegenden Ausführungsbeispiel 16 Bits aufweist. Deshalb entsprechen 16 Zugriffszieladressen einem Tabellenindex. Weiterhin kann eine Tabelle, die die Beziehung zwischen Zugriffszieladressen und Tabellenindizes darstellt, getrennt vorbereitet werden und auf diese verwiesen werden.
  • Dann wird ein Zugriffsmerker, der dem Tabellenindex entspricht, von der Zugriffsmerkertabelle 16a in S510 geladen. Hierbei wird der Zugriffsmerkertabelle 16a unter Verwendung von 10A erläutert.
  • Jeder von Datensätzen, der in der Zugriffsmerkertabelle 16a beinhaltet ist, beinhaltet (i) einen Tabellenindex zum Bezeichnen jedes Datensatzes und (ii) einen Zugriffsmerker zum Anzeigen, ob ein Schreibzugriff in der Vergangenheit an einer Zugriffszieladressengruppe aufgetreten ist. Zum Beispiel entspricht ein Tabellenindex "800" einem Zugriffsmerker "0", wie es in 10A gezeigt ist. Der Tabellenindex "800" entspricht einer Zugriffszieladressengruppe "8000" bis "800F". Deshalb lädt die CPU 12 nach einem Bezeichnen eines Tabellenindex aus der Zugriffszieladresse einen Zugriffsmerker, der dem bezeichneten Tabellenindex entspricht, aus der Zugriffsmerkertabelle 16a. Daher versteht es sich, ob ein Schreibzugriff, der in der Vergangenheit an irgendeiner der Adressen aufgetreten ist, in der entsprechenden Zugriffszieladressengruppe beinhaltet ist.
  • In S515 in 8 wird es dann bestimmt, ob der geladene Zugriffsmerker positiv oder negativ ist. Der positive Zugriffsmerker wird durch einen Merkerwert angezeigt, der in einem "1"-Zustand ist, um zu kennzeichnen, dass die entsprechende Zugriffszieladressengruppe in der Vergangenheit ein Ziel eines Schreibzugriffs gewesen ist. Der negative Zugriffsmerker wird durch einen Merkerwert angezeigt, der in einem "0"-Zustand ist, um zu kennzeichnen, dass die entsprechende Zugriffszieladressengruppe bisher kein Ziel eines Schreibzugriffs gewesen ist.
  • Wenn der geladene Zugriffsmerker als positiv bestimmt wird, was JA in S515 entspricht, endet der derzeitige dritte Speichervorgang. Die CPU 12 führt dann die Verarbeitung aus, die S110 des Schreibzugriffsvorgangs der Quelle folgt, die den derzeitigen dritten Speichervorgang aufgerufen hat.
  • Im Gegensatz dazu schreitet, wenn der geladene Zugriffsmerker in S515 nicht als positiv bestimmt wird oder wenn der geladene Zugriffsmerker negativ ist, was NEIN in S515 entspricht, die Verarbeitung zu S520 fort.
  • In S520 werden Daten vor einem Aktualisieren, welche Daten vor einem Aktualisieren sind und derzeit in der Adressengruppe gespeichert sind, die der Zugriffszieladresse des Hauptspeichers 13 entspricht, in den Sicherungsspeicher 15 gespeichert. "Die Adressengruppe, die der Zugriffszieladressengruppe entspricht" zeigt alle der Adressen an, die dem gleichen Tabellenindex wie der Tabellenindex zugeordnet sind, der in S505 bezeichnet wird.
  • In S525 danach wird ein Sicherungsspeicher-Stapelzeiger des Sicherungsspeichers 15 dekrementiert, das heißt, er wird derart bewegt, dass der Punkt, der durch den Zeiger angezeigt wird, um die Anzahl von Adressen dekrementiert wird, deren Daten gespeichert worden sind. Im nachfolgenden S530 wird der Zugriffsmerker der Zugriffszieladressengruppe positiv festgelegt und in der Zugriffsmerkertabelle 18a gespeichert. Der derzeitige dritte Speichervorgang endet. Die CPU 12 führt dann die Verarbeitung aus, die S110 des Schreibzugriffsvorgangs der Quelle folgt, die den derzeitigen dritten Speichervorgang aufgerufen hat.
  • Wenn der dritte Speichervorgang anstelle des ersten Speichervorgangs ausgeführt wird, kann die Tabellenabmessung der Zugriffsmerkertabelle 16 kleiner ausgelegt werden.
  • (2) Vierter Speichervorgang
  • Ein vierter Speichervorgang kann den ersten Speichervorgang ersetzen, der zuvor erwähnt worden ist. Als Nächstes wird der vierte Speichervorgang, der von der CPU 12 ausgeführt wird, unter Verwendung eines Flussdiagramms von 9 erläutert. Weiterhin wird in dem vierten Speichervorgang eine Zugriffsmerkertabelle 16b, die in 10B gezeigt ist, anstelle der Zugriffsmerkertabelle 16 verwendet, die von dem ersten Speichervorgang verwendet wird. Details werden später erwähnt.
  • Mit dem Start des vierten Speichervorgangs bezeichnet die CPU 12 einen Tabellenindex aus einer Zugriffszieladresse in S605. Der Tabellenindex wird zum Bezeichnen eines Datensatzes einer Zugriffsmerkertabelle 16b verwendet. Der Tabellenindex ist durch die oberen 12 Bits der Zugriffszieladresse dargestellt, die in dem vorliegenden Ausführungsbeispiel 16 Bits aufweist. Deshalb entsprechen 16 Zugriffszieladressen einem Tabellenindex. Weiterhin kann eine Tabelle, die die Beziehung zwischen Zugriffszieladressen und Tabellenindizes darstellt, getrennt vorbereitet werden und auf diese verwiesen werden.
  • Dann wird es bestimmt, ob eine Zugriffsmerkerreihe, die dem Tabellenindex entspricht, der in S605 bezeichnet wird, in S610 bereits in die CPU 12 geladen worden ist. Die Zugriffsmerkerreihe ist ein Satz von 16 Zugriffsmerkern und jeder Merker ist einem Bit zugewiesen.
  • Das heißt, eine Zugriffsmerkerreihe besteht aus einem Wort von 16 Bits.
  • Wenn es bestimmt wird, dass die Zugriffsmerkerreihe bereits geladen worden ist, was JA in S610 entspricht, schreitet die Verarbeitung zu S630 fort. Wenn es bestimmt wird, dass die Zugriffsmerkerreihe, die dem Tabellenindex entspricht, der in S605 bezeichnet wird, noch nicht geladen worden ist, was NEIN in S610 entspricht, schreitet die Verarbeitung zu S615 fort.
  • In S615 wird bzw. werden nach einem NEIN in S610 eine andere Zugriffsmerkerreihe bzw. andere Zugriffsmerkerreihen, die bereits geladen worden sind, in der Zugriffsmerkertabelle 16b gespeichert. Dann wird die Zugriffsmerkerreihe, die dem Tabellenindex entspricht, der in S605 bezeichnet wird, von der Zugriffsmerkertabelle 16b in S620 geladen. Hierbei wird die Zugriffsmerkertabelle 16b unter Verwendung von 10B erläutert.
  • Jeder von Datensätzen, der in der Zugriffsmerkertabelle 16b beinhaltet ist, beinhaltet (i) einen Tabellenindex zum Bezeichnen von jedem Datensatz und (ii) eine Zugriffsmerkerreihe zum Anzeigen, ob ein Schreibzugriff in der Vergangenheit in der Zugriffszieladressengruppe aufgetreten ist. Die Zugriffsmerkerreihe beinhaltet Merker, die einzeln eine 1-zu-1-Entsprechung zu den Adressen aufweisen, die in der Zugriffszieladressengruppe beinhaltet sind. Die Reihenfolge der Adressen entspricht der der Merker. Zum Beispiel entspricht die Zugriffszieladressengruppe "8000" bis "800F" dem Tabellenindex "800". In der Zugriffsmerkerreihe, die "0011001000010000" aufweist, entspricht der oberste Merker der Adresse "800F", während der unterste Merker der Adresse "8000" entspricht. Deshalb lädt die CPU 12 nach einem Bezeichnen des Tabellenindex aus der Zugriffszieladresse eine Zugriffsmerkerreihe, die dem bezeichneten Tabellenindex entspricht, aus der Zugriffsmerkertabelle 16b. Weiterhin versteht es sich, wenn ein Zugriffsmerker, der der Zugriffszieladresse entspricht, aus der Zugriffsmerkerreihe ausgewählt wird, ob ein Schreibzugriff in der Vergangenheit in der entsprechenden Zugriffszieladresse aufgetreten ist.
  • In S625 in 9 wird die Zugriffsmerkerreihe geladen und wird ein Zugriffsmerker, der der Zugriffszieladresse entspricht, aus der geladenen Zugriffsmerkerreihe ausgewählt. Das Verfahren schreitet zu S630 fort.
  • In S630 wird es bestimmt, ob der Zugriffsmerker positiv ist. Wenn der Zugriffsmerker als positiv bestimmt wird, was JA in S630 entspricht, endet der derzeitige vierte Speichervorgang. Wenn es bestimmt wird, dass der Zugriffsmerker nicht positiv ist, was NEIN in S630 entspricht, schreitet die Verarbeitung zu S635 fort.
  • In S635 werden nach einem NEIN in S630 Daten vor einem Aktualisieren, welche Daten vor einem Aktualisieren sind und derzeit in der Zugriffszieladresse gespeichert sind, in den Sicherungsspeicher 15 evakuiert oder gespeichert. In S640 wird der Sicherungsspeicher-Stapelzeiger des Sicherungsspeichers 15 dekrementiert, das heißt., derart bewegt, dass ein Punkt, der durch den Zeiger angezeigt wird, um eine einzelne Adresse dekrementiert ist.
  • In einem nachfolgenden S645 wird der Zugriffsmerker der Zugriffszieladresse als positiv festgelegt und in der Zugriffsmerkertabelle 16b aufgezeichnet oder gespeichert. Der derzeitige vierte Speichervorgang endet.
  • Wenn der vierte Speichervorgang anstelle des ersten Speichervorgangs ausgeführt wird, können Zugriffe auf die Zugriffsmerkertabelle 16b zu der Zeit verringert werden, zu der Schreibzugriffe auftreten. Weiterhin können, wenn die CPU 12 ein Programm ausführt, das eine hohe Lokalität und eine hohe Kontinuität von Schreibzugriffen in dem Hauptspeicher 13 aufweist, die Zugriffe oder Zeiten der Zugriffe auf die Zugriffsmerkertabelle 16b verringert werden.
  • (3) Zweiter Listenreferenzvorgang
  • Ein zweiter Listenreferenzvorgang kann einen ersten Listenreferenzvorgang ersetzen. Es wird auf 5 verwiesen. Der erste Listenreferenzvorgang meint S305, S310, S330, S335 und S340 des zweiten Speichervorgangs. Als Nächstes wird der zweite Listenreferenzvorgang, der von der CPU 12 ausgeführt wird, unter Verwendung auf ein Flussdiagramm von 11 erläutert.
  • Mit dem Start des zweiten Listenreferenzvorgangs bestimmt die CPU 12 in S705, ob alle der Adressen in der Adressenliste 17 mit der Zugriffszieladresse verglichen worden sind. Hierbei meint "Vergleichen" einen Vergleich, der in S715 ausgeführt wird, der später erwähnt wird. Wenn es bestimmt wird, dass alle der Adressen der Adressenliste 17 verglichen worden sind, was JA in S705 entspricht, schreitet die Verarbeitung zu S7190 fort. Wenn es bestimmt wird, dass alle der Adressen in der Adressenliste 17 nicht verglichen worden sind, was NEIN in S705 entspricht, schreitet die Verarbeitung zu S715 fort.
  • In S710 wird nach einem JA in S705 der Listenindex der Adresse in der Adressenliste 17, welcher als letztes verglichen worden ist, als ein Listenindex aufgezeichnet oder gespeichert, auf den als Erstes Bezug genommen wird, wenn der nächste zweite Listenreferenzvorgang ausgeführt wird. Der zweite Listenreferenzvorgang endet und die Verarbeitung schreitet zu S315 des zweiten Speichervorgangs fort.
  • In S715 wird nach einem NEIN in S705 eine Adresse der Adressenliste mit der Zugriffszieladresse verglichen. Es wird in S720 bestimmt, ob die Adressen miteinander übereinstimmen. Wenn es bestimmt wird, dass die Adressen miteinander übereinstimmen, was JA in S720 entspricht, schreitet die Verarbeitung zu S725 fort. Wenn es bestimmt wird, dass die Adressen nicht miteinander übereinstimmen, was NEIN in S720 entspricht, schreitet die Verarbeitung zu S730 fort.
  • In S725 wird nach JA in S725 der Listenindex der entsprechenden Adresse in der Adressenliste 17, welcher dem entspricht, wenn die Adressen übereinstimmen, als ein Listenindex aufgezeichnet oder gespeichert, auf den als Erstes Bezug genommen wird, wenn der nächste zweite Listenreferenzvorgang ausgeführt wird. Der derzeitige zweite Listenreferenzvorgang endet und der zweite Speichervorgang ist beendet (siehe 5).
  • In S730 wird es nach NEIN in S720 bestimmt, ob der Listenindex an dem hinteren Ende der Liste ist. Wenn es bestimmt wird, dass der Listenindex an dem hinteren Ende der Liste ist, was JA in S730 entspricht, schreitet die Verarbeitung zu S735 fort. Wenn es bestimmt wird, dass der Listenindex nicht an dem hinteren Ende der Liste ist, was NEIN in S730 entspricht, schreitet die Verarbeitung zu S740 fort.
  • In S735 wird nach JA in S730 der Referenzziellistenindex initialisiert. Das heißt, es wird auf den Listenindex des vorderen Endes oder des oberen in der Adressenliste 17 Bezug genommen. Die Verarbeitung schreitet zu S705 fort.
  • In S740 wird nach NEIN in S730 der Referenzziellistenindex dekrementiert. Die Verarbeitung kehrt zu S705 zurück. Wenn der zweite Listenreferenzvorgang anstelle des ersten Listenreferenzvorgangs ausgeführt wird, kann die mittlere Anzahl von Malen von Referenzen bezüglich der Adressenliste 17 verringert werden.
  • Weiterhin wird das Bestimmen einer Übereinstimmung von Adressen von dem nächsten des gespeicherten Listenindex gestartet. Wenn der gespeicherte Listenindex an dem hinteren Ende der Adressenliste ist, kann das Bestimmen von dem vorderen Ende der Adressenliste gestartet werden. Die mittlere Anzahl von Malen von Referenzen bezüglich der Adressenliste 17 kann mehr verringert werden.
  • (4) Fünfter Speichervorgang
  • Ein fünfter Speichervorgang kann den zweiten Speichervorgang ersetzen, der zuvor erwähnt worden ist. Als Nächstes wird der fünfte Speichervorgang, der von der CPU 12 ausgeführt wird, unter Verwendung eines Flussdiagramms von 12 erläutert.
  • Die CPU 12 bestimmt, ob (i) ein Ausführungstriggersignal des fünften Speichervorgangs ein Schleifenvorgang in einem Anwendungsprogramm ist und weiterhin (ii) der derzeitige fünfte Speichervorgang in dem ersten oder Anfangsschleifenvorgang in S805 ausgeführt wird. Wenn es in S805 bejahend bestimmt wird, wird der gleiche Vorgang wie S315 in 5 des zweiten Speichervorgangs ausgeführt und führt die CPU 12 danach die gleiche Verarbeitung wie den zweiten Speichervorgang aus (siehe 5).
  • Im Gegensatz dazu wird, wenn es in S805 negativ bestimmt wird, der erste Listenreferenzvorgang oder der zweite Listenreferenzvorgang des zweiten Speichervorgangs, der zuvor erwähnt worden ist, ausgeführt (siehe 5 und 11).
  • Das heißt, der fünfte Speichervorgang führt S805 aus, um dem zweiten Speichervorgang vorherzugehen. Gemäß einem Bestimmungsergebnis in S805 startet der zweite Speichervorgang von einem bestimmten Schritt. Weiterhin muss, wenn ein Schleifenvorgang, welcher die gleiche Verarbeitung wiederholt, ausgeführt wird, die CPU 12 oder ein Mikrocomputer einen Speichervorgang für Daten des Hauptspeichers 13 in der ersten Schleife des Schleifenvorgangs mit einer hohen Möglichkeit ausführen. In dem fünften Speichervorgang des vorliegenden Ausführungsbeispiels werden Daten ohne Bezug nehmen auf die Adressenliste 17 bezüglich der ersten Schleife des Schleifenvorgangs gespeichert. Daher kann die Last eines Bezugnehmens auf die Adressenliste 17 verringert werden. Eine Geschwindigkeit eines Ausführungsvorgangs des Anwendungsprogramms durch die CPU 12 kann daher verbessert werden.
  • (5) Sechster Speichervorgang
  • Ein sechster Speichervorgang kann den zweiten Speichervorgang ersetzen, der zuvor unter Verwendung eines Flussdiagramms von 13 erwähnt worden ist.
  • Die CPU 12 bestimmt, ob die Anzahl von Malen von Datensicherungen weniger als die Anzahl von Malen von unbedingten Datensicherungen bei einem Ausführen eines Anwendungsprogramms ist, das das Ausführen des sechsten Speichervorgangs in S905 triggert. "Die Anzahl von Malen von Datensicherungen" meint die Anzahl von Malen von Ausführungen in S3015 in 5. Weiterhin meint "die Anzahl von Malen von unbedingten Datensicherungen" einen vorbestimmten Wert, welcher vorzugsweise mehrere Male ist.
  • Wenn es bestimmt wird, dass die Anzahl von Malen von Datensicherungen weniger als die Anzahl von Malen von unbedingten Datensicherungen in S905 ist, wird der gleiche Vorgang wie S315 des zweiten Speichervorgangs ausgeführt und führt die CPU 12 danach die gleiche Verarbeitung wie den zweiten Speichervorgang aus (siehe 5).
  • Im Gegensatz dazu wird, wenn es negativ in S905 bestimmt wird, der erste Listenreferenzvorgang oder der zweite Listenreferenzvorgang des zweiten Speichervorgangs, der zuvor erwähnt worden ist, ausgeführt (siehe 5 und 11).
  • Das heißt, der sechste Speichervorgang führt S905 aus, um dem zweiten Speichervorgang vorherzugehen. Gemäß einem Bestimmungsergebnis in S905 startet der zweite Speichervorgang von einem bestimmten Schritt. Weiterhin muss die CPU 12 oder ein Mikrocomputer nach einem Starten eines Ausführens eines Anwendungsprogramms einen Speichervorgang für Daten des Hauptspeichers mit einer hohen Möglichkeit durchführen, bis die Anzahl von Malen von Datensicherungen einen vorbestimmten Wert erreicht. Dies ist so, da eine Möglichkeit eines Verwendens eines neuen Speicherbereichs hoch ist. In dem sechsten Speichervorgang des vorliegenden Ausführungsbeispiels werden Daten ohne Bezug nehmen auf die Adressenliste 17 gespeichert, bis die Anzahl von Malen von Datensicherungen den vorbestimmten Wert erreicht. Daher kann die Last eines Bezugnehmens auf die Adressenliste 17 verringert werden. Eine Geschwindigkeit eines Ausführungsvorgangs eines Anwendungsprogramms durch die CPU 12 kann daher verbessert werden.
  • Jede oder irgendeine Kombination von Verfahren, Schritten oder Einrichtungen, die zuvor erläutert worden sind, kann als eine Softwareeinheit (zum Beispiel eine Unterroutine) und/oder eine Hardwareeinheit (zum Beispiel eine Schaltung oder integrierte Schaltung) erzielt werden, die eine Funktion einer betreffenden Vorrichtung beinhaltet oder nicht beinhaltet. Weiterhin kann die Hardwareeinheit innerhalb eines Mikrocomputers ausgestaltet sein.
  • Weiterhin können die Softwareeinheit oder irgendwelche Kombinationen von mehreren Softwareeinheiten in einem Softwareprogramm beinhaltet sein, welches in einem computerlesbaren Speichermedium enthalten sein kann oder über ein Kommunikationsnetz heruntergeladen und in einem Computer installiert sein kann.
  • Es versteht sich für Fachleute, dass verschiedene Änderungen in den zuvor beschriebenen Ausführungsbeispielen der vorliegenden Erfindung durchgeführt werden können. Jedoch sollte der Umfang der vorliegenden Erfindung durch die folgenden Ansprüche bestimmt werden.
  • Gemäß der vorliegenden Erfindung, wie sie zuvor beschrieben worden ist, wird es bestimmt, dass ein Schreibzugriff an einem Stapelbereich eines Hauptspeichers ausgeführt wird. Es wird dann unter Bezugnahme auf eine Zugriffsmerkertabelle bestimmt, ob ein anderer Schreibzugriff an einer entsprechenden Zugriffszieladresse in dem Stapelbereich in der Vergangenheit aufgetreten ist. Im Gegensatz dazu wird es bestimmt, dass ein Schreibzugriff an einem globalen Bereich des Hauptspeichers ausgeführt worden ist. Es wird dann unter Bezugnahme auf eine Adressenliste bestimmt, ob ein anderer Schreibzugriff an einer entsprechenden Zugriffszieladresse in dem globalen Bereich in der Vergangenheit aufgetreten ist. Eine derartige Ausgestaltung kann wirksam einzelne Vorteile der Bestimmungsverfahren vorsehen, die sowohl die Zugriffsmerkertabelle als auch die Adressenliste verwenden. Das Vorhandensein oder Nichtvorhandensein des vergangenen Ausführens eines Speicherns kann zu der Zeit eines Schreibzugriffs wirksam bestimmt werden.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • - JP 2-257228 A [0003, 0005]
    • - JP 11-53239 A [0004, 0005]

Claims (17)

  1. Verfahren zum Ausführen eines Zurücksetzvorgangs, um einen Laufzustand eines Mikrocomputers (12) an einem vergangenen Zustand wiederherzustellen, wobei das Verfahren aufweist. Vorbereiten einer Zugriffsmerkertabelle (16) und einer Adressenliste (17), wobei die Zugriffsmerkertabelle eine Information aufzeichnet, die anzeigt, ob ein Schreibzugriff zuvor bezüglich einer Zugriffszieladresse eines Hauptspeichers aufgetreten ist, die Adressenliste eine Adresse des Hauptspeichers auflistet und die Daten der Adresse in einem Sicherungsspeicher gespeichert worden sind; Bezug nehmen (S110, S115) auf eine (i) der Zugriffsmerkertabelle und (ii) der Adressenliste vor einem Schreibzugriff auf eine Zugriffszieladresse des Hauptspeichers; Durchführen eines Bestimmens eines Auftretens bezüglich dessen, ob zuvor ein Schreibzugriff aufgetreten ist oder nicht, bezüglich der Zugriffszieladresse; Speichern (S120) von Daten vor einem Aktualisieren, welche Daten vor einem Aktualisieren sind, der Zugriffszieladresse in dem Sicherungsspeicher, während die eine der Zugriffsmerkertabelle und der Adressenliste aktualisiert wird, auf die Bezug genommen wird, wenn das Bestimmen eines Auftretens verneint wird; und Verwenden (S415) der Daten vor einem Aktualisieren, die in dem Sicherungsspeicher gespeichert sind, wenn ein Zurücksetzvorgang ausgeführt wird.
  2. Verfahren nach Anspruch 1, wobei: die Zugriffsmerkertabelle einen Zugriffsmerker als die Information aufzeichnet, die anzeigt, ob zuvor ein Schreibzugriff für jede Zugriffszieladresse des Hauptspeichers aufgetreten ist; wenn das Bestimmen eines Auftretens durch Bezug nehmen auf die Zugriffsmerkertabelle ausgeführt wird, der Zugriffsmerker, der der Zugriffszieladresse entspricht, aus der Zugriffsmerkertabelle geladen wird (S205) und das Bestimmen eines Auftretens bezüglich der Zugriffszieladresse aus dem geladenen Zugriffsmerker durchgeführt wird (S210); und lediglich dann, wenn das Bestimmen eines Auftretens verneint wird, die Daten vor einem Aktualisieren der Zugriffszieladresse in dem Sicherungsspeicher gespeichert werden (S215), während der Zugriffsmerker der Zugriffsmerkertabelle aktualisiert wird (S220), der der Zugriffszieladresse entspricht.
  3. Verfahren nach Anspruch 1, wobei: die Zugriffsmerkertabelle (16a) einen Zugriffsmerker als eine Information aufzeichnet, die anzeigt, ob ein Schreibzugriff zuvor bezüglich einer Zugriffszieladressengruppe des Hauptspeichers aufgetreten ist, wobei die Zugriffszieladressengruppe mehrere Adressen beinhaltet; wenn das Bestimmen eines Auftretens durch Bezug nehmen auf die Zugriffsmerkertabelle durchgeführt wird, der Zugriffsmerker der Zugriffszieladressengruppe, die der Zugriffszieladresse entspricht, aus der Zugriffsmerkertabelle geladen wird (S510) und das Bestimmen eines Auftretens bezüglich der Zugriffszieladressengruppe aus dem Zugriffsmerker durchgeführt wird (S515); und lediglich dann, wenn das Bestimmen eines Auftretens verneint wird, die Daten vor einem Aktualisieren der Zugriffszieladressengruppe in den Sicherungsspeicher gespeichert werden (S520), während der Zugriffsmerker der Zugriffsmerkertabelle aktualisiert wird (S530), die der Zugriffszieladressengruppe entspricht.
  4. Verfahren nach Anspruch 1, wobei: die Zugriffsmerkertabelle (16b) eine Merkerreihe aufzeichnet, die einem Wort zugewiesen ist, das Merker beinhaltet, wobei jeder der Merker bezüglich jeder Adresse anzeigt, ob zuvor ein Schreibzugriff aufgetreten ist; wenn das Bestimmen eines Auftretens durch Bezug nehmen auf die Zugriffsmerkertabelle durchgeführt wird, die Merkerreihe, die dem einen Wort zugewiesen ist, einmal aus der Zugriffsmerkertabelle geladen wird (S620), wobei ein Zugriffsmerker, der der Zugriffszieladresse entspricht, aus der geladenen Zugriffsmerkerreihe ausgewählt wird (S625) und das Bestimmen eines Auftretens bezüglich der Zugriffszieladresse aus dem ausgewählten Zugriffsmerker durchgeführt wird (S630); und lediglich dann, wenn das Bestimmen eines Auftretens verneint wird, die Daten vor einem Aktualisieren der Zugriffszieladresse in den Sicherungsspeicher gespeichert werden (S635), während der Zugriffsmerker der Zugriffsmerkertabelle aktualisiert wird (S645), der der Zugriffszieladresse entspricht.
  5. Verfahren nach Anspruch 4, wobei die Merkerreihe dazu ausgelegt ist, einer von Einheiten von Zugriffszieladressengruppen zu entsprechen, wobei die Zugriffszieladressengruppen der Reihe nach in dem Hauptspeicher geordnet sind.
  6. Verfahren nach Anspruch 5, wobei die Merkerreihe die Zugriffsmerker beinhaltet, die eine Reihenfolge aufweisen, die gleich einer Reihenfolge von Adressen ist, die in der Zugriffszieladressengruppe beinhaltet sind.
  7. Verfahren nach einem der Ansprüche 1 bis 6, wobei: die Adressenliste der Adressen des Hauptspeichers, wobei Daten von jeder der Adressen in den Sicherungsspeicher gespeichert sind, in der Reihenfolge von Zeitpunkten auflistet, zu denen die Daten in den Sicherungsspeicher gespeichert worden sind; wenn das Bestimmen eines Auftretens durch sich Beziehen auf die Adressenliste durchgeführt wird, ein Bestimmen einer Übereinstimmung bezüglich dessen, ob ein Listenelement der Adressenliste mit der Zugriffszieladresse übereinstimmt, der Reihe nach von einem vorderen Ende der Reihenfolge von Zeitpunkten durchgeführt wird (S305, S335); wenn irgendein Listenelement der Adressenliste nicht mit der Zugriffszieladresse übereinstimmt, die Daten vor einem Aktualisieren in den Sicherungsspeicher gespeichert werden (S315), während die Zugriffszieladresse zu der Adressenliste hinzugefügt wird (S325); und wenn ein Listenelement mit der Zugriffszieladresse übereinstimmt, das Bestimmen der Übereinstimmung beendet ist.
  8. Verfahren nach einem der Ansprüche 1 bis 6, wobei: die Adressenliste Adressen des Hauptspeichers, wobei Daten von jeder der Adressen in den Sicherungsspeicher gespeichert sind, in einer Reihenfolge von Zeitpunkten auflistet, zu denen die Daten in den Sicherungsspeicher gespeichert worden sind; wenn das Bestimmen eines Auftretens durch Bezug nehmen auf die Adressenliste durchgeführt wird, ein Bestimmen einer Übereinstimmung bezüglich dessen, ob ein Listenelement mit der Zugriffszieladresse übereinstimmt, auf der Grundlage eines aufgezeichneten Listenelements der Reihe nach durchgeführt wird (S720), um um alle Listenelemente der Adressenliste zu gehen; wenn ein bestimmtes Listenelement übereinstimmt, das bestimmte Listenelement als das aufgezeichnete Listenelement aufgezeichnet wird (S725) und das Bestimmen der Übereinstimmung beendet wird; und wenn auch nach einem Beenden eines Gehens um alle der Listenelemente der Adressenliste irgendein Listenelement nicht mit der Zugriffszieladresse übereinstimmt, ein Listenelement eines beendeten Bestimmens der Adressenliste aufgezeichnet wird (S710) und die Daten vor einem Aktualisieren der Zugriffszieladresse in den Sicherungsspeicher gespeichert werden (S315), während die Zugriffszieladresse zu der Adressenliste hinzugefügt wird (S325).
  9. Verfahren nach Anspruch 8, wobei: das Bestimmen der Übereinstimmung von einem Listenelement gestartet wird, das sich am Nächsten zu dem aufgezeichneten Listenelement befindet; und wenn das aufgezeichnete Listenelement an einem hinteren Ende der Adressenliste ist, das Bestimmen der Übereinstimmung von einem Listenelement an einem vorderen Ende der Adressenliste gestartet wird.
  10. Verfahren nach einem der Ansprüche 7 bis 9, wobei, wenn der Mikrocomputer ein Schleifenverfahren, welches Schleifen einer gleichen Verarbeitung wiederholt, bezüglich eines Schreibzugriffsverfahrens an einer Anfangsschleife der wiederholten Schleifen ausführt (S805: JA), ohne das Bestimmen der Übereinstimmung durch Bezug nehmen auf die Adressenliste durchzuführen, die Daten vor einem Aktualisieren der Zugriffszieladresse in den Sicherungsspeicher gespeichert werden, während die Zugriffszieladresse zu der Adressenliste hinzugefügt wird.
  11. Verfahren nach einem der Ansprüche 7 bis 9, wobei: eine Anzahl von Malen von unbedingten Datensicherungsverfahren vorbereitet wird, wobei das unbedingte Datensicherungsverfahren unbedingt Daten vor einem Aktualisieren der Zugriffszieladresse in den Sicherungsspeicher ohne Durchführen des Bestimmens der Übereinstimmung speichert; und auch dann, wenn der Mikrocomputer das Bestimmen der Übereinstimmung durch Bezug nehmen auf die Adressenliste nach einem Starten eines bestimmten Verfahrens durchführt, die Daten vor einem Aktualisieren ohne Durchführen des Bestimmens der Übereinstimmung in den Sicherungsspeicher gespeichert werden, während die Zugriffszieladresse zu der Adressenliste hinzugefügt wird, bis eine Anzahl von Malen von Schreibzugriffen an dem Hauptspeicher die Anzahl von Malen von unbedingten Datensicherungsverfahren erreicht (S905: JA).
  12. Verfahren nach einem der Ansprüche 1 bis 11, wobei, wenn ein Schreibzugriff an einem Stapelbereich des Hauptspeichers ausgeführt wird, der Stapelbereich verwendet wird, um lokale Variablen in einem Programm zuzuweisen, das von einem Mikrocomputer ausgeführt wird, wobei das Bestimmen eines Auftretens durch Bezug nehmen auf die Zugriffsmerkertabelle durchgeführt wird (S110).
  13. Verfahren nach einem der Ansprüche 1 bis 12, wobei, wenn ein Schreibzugriff auf einen globalen Bereich des Hauptspeichers ausgeführt wird, der globale Bereich verwendet wird, um globale Variablen in einem Programm zuzuweisen, das von dem Mikrocomputer ausgeführt wird, wobei das Bestimmen eines Auftretens durch Bezug nehmen auf die Adressenliste durchgeführt wird (S115).
  14. Informations-Verarbeitungsvorrichtung, die ein Verfahren nach einem der Ansprüche 1 bis 13 ausführt.
  15. Informations-Verarbeitungsvorrichtung zum Ausführen eines Zurücksetzvorgangs, um einen Laufzustand eines Mikrocomputers (12) an einem vorhergehenden Zustand wiederherzustellen, wobei die Vorrichtung aufweist: ein Speichermodul (16), das dazu ausgelegt ist, eine Zugriffsmerkertabelle zu speichern, die eine Information aufzeichnet, die anzeigt, ob ein Schreibzugriff zuvor bezüglich einer Zugriffszieladresse eines Hauptspeichers aufgetreten ist; ein Speichermodul (17), das dazu ausgelegt ist, eine Adressenliste zu speichern, die eine Adresse des Hauptspeichers auflistet, wobei Daten der Adresse in einen Sicherungsspeicher gespeichert worden sind; eine Referenzsteuereinheit (12), die dazu ausgelegt ist, vor einem Schreibzugriff auf eine Zugriffszieladresse des Hauptspeichers auf eine (i) der Zugriffsmerkertabelle und (ii) der Adressenliste Bezug zu nehmen; eine Auftretensbestimmungs-Steuereinheit (12), die dazu ausgelegt ist, bezüglich der Zugriffszieladresse ein Bestimmen eines Auftretens bezüglich dessen durchzuführen, ob zuvor ein Schreibzugriff aufgetreten ist; eine Datenspeicher-Steuereinheit (12), die dazu ausgelegt ist, Daten vor einem Aktualisieren, welche Daten vor einem Aktualisieren sind, der Zugriffszieladresse in den Sicherungsspeicher zu speichern, während die eine der Zugriffsmerkertabelle und der Adressenliste aktualisiert wird, auf die Bezug genommen wird, wenn das Bestimmen eines Auftretens verneint wird; und eine Zurücksetz-Steuereinheit (12), die dazu ausgelegt ist, die Daten vor einem Aktualisieren zu verwenden, die in den Sicherungsspeicher gespeichert sind, wenn ein Zurücksetzvorgang ausgeführt wird.
  16. Informations-Verarbeitungsvorrichtung nach Anspruch 15, wobei, wenn ein Schreibzugriff an einem Stapelbereich des Hauptspeichers ausgeführt wird, der Stapelbereich verwendet wird, um lokale Variablen in einem Programm zuzuweisen, das von dem Mikrocomputer ausgeführt wird, wobei das Bestimmen eines Auftretens durch Bezug nehmen auf die Zugriffsmerkertabelle durchgeführt wird (S110).
  17. Informations-Verarbeitungsvorrichtung nach Anspruch 15, wobei, wenn ein Schreibzugriff an einem globalen Bereich des Hauptspeichers ausgeführt wird, der globale Bereich verwendet wird, um globale Variablen in einem Programm zuzuweisen, das von dem Mikrocomputer ausgeführt wird, wobei das Bestimmen eines Auftretens durch Bezug nehmen auf die Adressenliste durchgeführt wird (S115).
DE102008001162A 2007-04-24 2008-04-14 Zurücksetzverfahren und Informationsverarbeitungsvorrichtung, die dieses ausführt Withdrawn DE102008001162A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2007114447A JP4479743B2 (ja) 2007-04-24 2007-04-24 ロールバック方法及び情報処理装置
JP2007-114447 2007-04-24

Publications (1)

Publication Number Publication Date
DE102008001162A1 true DE102008001162A1 (de) 2008-10-30

Family

ID=39777663

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102008001162A Withdrawn DE102008001162A1 (de) 2007-04-24 2008-04-14 Zurücksetzverfahren und Informationsverarbeitungsvorrichtung, die dieses ausführt

Country Status (3)

Country Link
US (1) US7802135B2 (de)
JP (1) JP4479743B2 (de)
DE (1) DE102008001162A1 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8762661B2 (en) * 2008-09-18 2014-06-24 Seagate Technology Llc System and method of managing metadata
US8448022B1 (en) * 2010-10-26 2013-05-21 Vmware, Inc. Fault recovery to a call stack position stored in thread local storage
US8677189B2 (en) * 2011-11-16 2014-03-18 GM Global Technology Operations LLC Recovering from stack corruption faults in embedded software systems
US8949664B2 (en) * 2011-11-18 2015-02-03 Nokia Corporation Method and apparatus for providing information consistency in distributed computing environments
KR101619989B1 (ko) 2014-12-24 2016-05-13 주식회사 울프슨랩 메모리 관리 방법, 이를 위한 컴퓨터 프로그램, 그 기록매체
US10733173B2 (en) * 2017-10-09 2020-08-04 Citrix Systems, Inc. Detecting and reporting changes in data values

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02257228A (ja) 1989-03-29 1990-10-18 Nec Corp データベースシステムのファイル制御方式
JPH1153239A (ja) 1997-08-04 1999-02-26 Nec Corp データベースのロールバック処理方法及び前記ロールバック処理方法の手順を記録した記録媒体

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69126067T2 (de) * 1990-06-29 1997-10-02 Oracle Corp Verfahren und Gerät zur Verwaltung von Zustandsidentifizierern zur effizienten Wiederherstellung
US5414840A (en) * 1992-06-25 1995-05-09 Digital Equipment Corporation Method and system for decreasing recovery time for failed atomic transactions by keeping copies of altered control structures in main memory
JP2916420B2 (ja) * 1996-09-04 1999-07-05 株式会社東芝 チェックポイント処理加速装置およびデータ処理方法
TW379298B (en) * 1996-09-30 2000-01-11 Toshiba Corp Memory updating history saving device and memory updating history saving method
JPH11345137A (ja) 1998-05-29 1999-12-14 Toshiba Corp チェックポイントロールバック方式計算機システム、チェックポイントロールバック計算機システムに於けるメモリ管理制御方法、及び同方法を格納した記憶媒体
US6185577B1 (en) * 1998-06-23 2001-02-06 Oracle Corporation Method and apparatus for incremental undo
US6543006B1 (en) * 1999-08-31 2003-04-01 Autodesk, Inc. Method and apparatus for automatic undo support
US6567928B1 (en) * 2000-05-23 2003-05-20 International Business Machines Corporation Method and apparatus for efficiently recovering from a failure in a database that includes unlogged objects
US6961865B1 (en) * 2001-05-24 2005-11-01 Oracle International Corporation Techniques for resuming a transaction after an error
EP1496435A1 (de) * 2003-07-11 2005-01-12 Yogitech Spa Gesicherte Mikrokontroller, Verfahren zum Entwurf eines gesichertes Mikrokontrollers, und Computerprogrammprodukt dafür
JP2008502953A (ja) * 2003-11-17 2008-01-31 ヴァージニア テック インテレクチュアル プロパティーズ,インコーポレイテッド 分散システムにおけるトランスペアレントなチェックポインティング及びプロセス移行
JP4319017B2 (ja) * 2003-12-02 2009-08-26 株式会社日立製作所 ストレージシステムの制御方法、ストレージシステム、及び記憶装置
US7162662B1 (en) * 2003-12-23 2007-01-09 Network Appliance, Inc. System and method for fault-tolerant synchronization of replica updates for fixed persistent consistency point image consumption
US7519628B1 (en) * 2004-06-01 2009-04-14 Network Appliance, Inc. Technique for accelerating log replay with partial cache flush
EP1974296B8 (de) * 2005-12-19 2016-09-21 Commvault Systems, Inc. System und verfahren zur durchführung einer datenreplikation
US7802136B2 (en) * 2006-12-28 2010-09-21 Intel Corporation Compiler technique for efficient register checkpointing to support transaction roll-back
US9009452B2 (en) * 2007-05-14 2015-04-14 International Business Machines Corporation Computing system with transactional memory using millicode assists
US7849354B2 (en) * 2007-06-12 2010-12-07 Microsoft Corporation Gracefully degradable versioned storage systems

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02257228A (ja) 1989-03-29 1990-10-18 Nec Corp データベースシステムのファイル制御方式
JPH1153239A (ja) 1997-08-04 1999-02-26 Nec Corp データベースのロールバック処理方法及び前記ロールバック処理方法の手順を記録した記録媒体

Also Published As

Publication number Publication date
US7802135B2 (en) 2010-09-21
JP4479743B2 (ja) 2010-06-09
US20080270831A1 (en) 2008-10-30
JP2008269488A (ja) 2008-11-06

Similar Documents

Publication Publication Date Title
DE69802437T2 (de) Feinkörniger übereinstimmungsmechanismus für optimistische parallelsteuerung mit verriegelungsgruppen
DE112010004947B4 (de) Wiederherstellung einer vollständigen Systemsicherung und inkrementeller Sicherungen unter Verwendung von mehreren gleichzeitigen Datenströmen von Einheiten
DE19740525C1 (de) Verfahren zur Abspeicherung und Wiedergewinnung von Daten in einem Steuersystem, insbesondere in einem Kraftfahrzeug
DE3784190T2 (de) Eintragung eines datenbasisindex in das journal zur verbesserten rueckstellung.
DE69031491T2 (de) Hypertextdatenverarbeitungssystem und Verfahren
DE3854481T2 (de) Datenverarbeitungsverfahren in einem dezentralisierten Verarbeitungssystem.
DE4237417C2 (de) Datenverarbeitungssystem
DE69622647T2 (de) Wiederherstellbares Plattensteuersystem mit nichtflüchtigem Speicher
DE112009004503T5 (de) Optimierung der zugriffszeit von auf speichern gespeicherten dateien
DE102008001162A1 (de) Zurücksetzverfahren und Informationsverarbeitungsvorrichtung, die dieses ausführt
DE102020104652A1 (de) Programmupdatesystem, Steuerungssystem, mobiler Körper, Programmupdateverfahren und Programm
DE3855494T2 (de) Abfragevorrichtung und -methode
DE69616903T2 (de) Mehrprozessoranordnung und Verfahren zur Synchronisierung zwischen Prozessoren
DE69610785T2 (de) Verbesserter Wiederherstellungsprozess
DE102017001999A1 (de) RÜCKWÄRTSABBILDUNG MIT EFFIZIENTER UND DYNAMISCHER GRÖßE ZUR HANDHABUNG VON DATEN MIT VARIABLER GRÖßE
DE19849855C1 (de) Verfahren zur automatischen Generierung einer textlichen Äußerung aus einer Bedeutungsrepräsentation durch ein Computersystem
DE69119286T2 (de) Verfahren und Gerät zur Schattenprozessgenerierung
DE102014210192A1 (de) Die Erfindung betrifft ein Verfahren zur Überprüfung von Invarianten in parallelen Programmen
WO2022063566A1 (de) Verfahren und vorrichtung zur aufzeichnung von ereignisdaten in einem fahrzeug
DE102021131057A1 (de) System und Verfahren zur Ausführung einer Aufgabe eines Betriebssystems für ein Fahrzeug
WO2022063529A1 (de) Verfahren und vorrichtung zur aufzeichnung von ereignisdaten in einem fahrzeug
EP1675010A2 (de) Verfahren zur Aktualisierung von Einträgen von Adressumsetzpuffern in einem Mehrprozessor-Computersystem
DE112015002881B4 (de) Speichervorrichtung, Flash-Speicher-Steuervorrichtung und Programm
DE102023201497A1 (de) Verfahren zur Übermittlung von strukturierten Daten
DE102024110224A1 (de) Informationsverarbeitungsvorrichtung, informationsverarbeitungsverfahren und verwaltungsprogramm speicherndes speichermedium

Legal Events

Date Code Title Description
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20141101