DE10059006A1 - Verfahren und System zur sicheren Verwaltung von Dateien in nichtflüchtigen Speichern - Google Patents

Verfahren und System zur sicheren Verwaltung von Dateien in nichtflüchtigen Speichern

Info

Publication number
DE10059006A1
DE10059006A1 DE10059006A DE10059006A DE10059006A1 DE 10059006 A1 DE10059006 A1 DE 10059006A1 DE 10059006 A DE10059006 A DE 10059006A DE 10059006 A DE10059006 A DE 10059006A DE 10059006 A1 DE10059006 A1 DE 10059006A1
Authority
DE
Germany
Prior art keywords
data
file
files
active
write operation
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.)
Granted
Application number
DE10059006A
Other languages
English (en)
Other versions
DE10059006B4 (de
Inventor
Torsten Teich
Martin Witzel
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE10059006A1 publication Critical patent/DE10059006A1/de
Application granted granted Critical
Publication of DE10059006B4 publication Critical patent/DE10059006B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering

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)

Abstract

Ein Verfahren und ein System der sicheren Verwaltung von EEPROM-Dateien, um Daten nach dem Abbruch einer Schreiboperation wiederherzustellen, wobei die Daten in einer satzorientierten Datenstruktur gespeichert sind und jeder Satz zusätzlich zu den Dateninhalten ein Statusbyte enthält.

Description

BEREICH DER ERFINDUNG
Diese Erfindung bezieht sich im Allgemeinen auf Verbesserungen der Dateiverwaltung von Dateien in nichtflüchtigen Speichern und insbesondere auf die sichere Verwaltung von Dateien im nichtflüchtigen Speicherbereich von Chipkarten und anderen digitalen Geräten für den Fall unterbrochener Schreibzyklen.
HINTERGRUND DER ERFINDUNG
Chipkarten verbreiten sich immer mehr in unterschiedlichen Anwendungsbereichen, zum Beispiel als Telefonkarten, Bankkarten, Kreditkarten, ID-Karten, Versicherungskarten usw. Zusätzlich zu den ausgefeilten Identifikations- und Berechtigungs-Mechanismen, die sie enthalten, werden Chipkarten häufig als Datenspeichereinheiten benutzt. Bei typischen Prozessen und Operationen mit Chipkarten, zum Beispiel Zahlungsoperationen, Autorisierungsprozessen usw., müssen die auf der Chipkarte gespeicherten Daten geändert werden. Im Folgenden werden solche Prozesse und Operationen als "Transaktionen" bezeichnet.
Bei einer Vielzahl von Transaktionen, die mit einer Chipkarte ausgeführt werden, müssen Teile der in der Mikrosteuereinheit (microcontroller) der Chipkarte enthaltenen Software entweder vollständig oder gar nicht ausgeführt werden. Eine Folge von Operationen, die nicht geteilt werden kann (und die deshalb nur vollständig oder gar nicht ausgeführt werden kann), wird als atomare Operationsfolge bezeichnet. Atomare Operationsfolgen treten immer in EEPROM-Schreibroutinen auf. Atomare Folgen beruhen auf der Voraussetzung, dass in EEPROM-Schreibzyklen gewährleistet sein muss, dass die jeweiligen Daten nicht nur teilweise geschrieben werden. Das kann beispielsweise vorkommen, wenn der Nutzer der Chipkarte die Karte während des Schreibprozesses aus dem Endgerät (terminal) herausnimmt oder wenn der Strom ausfällt. Eine sichere Verwaltung der EEPROM- Schreibdaten ist besonders wichtig, wenn die Chipkarte als elektronisches Zahlungsmittel (e-cash) verwendet wird, da die Chipkarte eine zuverlässige Zahlungsvorrichtung für den Nutzer sein muss, und weil insbesondere bei Zahlungstransaktionen Daten, die in unterschiedlichen Dateien enthalten sind, gleichzeitig geändert werden müssen.
In diesen Fällen muss das Betriebssystem der Chipkarte sicherstellen, dass die Konsistenz aller Daten garantiert wird, wenn die Chipkarte nach einem unterbrochenen Schreibprozess wieder in Betrieb genommen wird.
Gegenwärtig enthalten Chipkarten in ihren EEPROMs Sicherungspuffer (backup buffer). Solche Puffer sind groß genug, um alle notwendigen und wichtigen Daten zu speichern, und enthalten ein Kennzeichen (flag), das den Status anzeigt. Das Kennzeichen kann entweder auf "Daten im Puffer gültig" oder auf "Daten im Puffer ungültig" gesetzt werden. Zusätzlich muss ein Zuordnungsspeicher für die Zieladresse und die tatsächliche Länge der Pufferdaten zur Verfügung stehen. Im Betriebsfall werden die Daten in der Zieladresse in den Puffer kopiert, zusammen mit ihrer physischen Adresse und Länge. Das Kennzeichen wird auf "Daten im Puffer gültig" gesetzt. In einem nächsten Schritt werden die neuen Daten an die gewünschte Adresse geschrieben, und das Kennzeichen wird auf "Daten im Puffer ungültig" gesetzt. Wenn das Betriebssystem vor ATR (Antwort zurückzusetzen) gestartet wird, wird das Kennzeichen geprüft. Falls es auf "Daten im Puffer gültig" gesetzt ist, werden die im Puffer enthaltenen Daten automatisch an die gleiche gespeicherte Adresse geschrieben.
Mit diesem Mechanismus wird gewährleistet, dass gültige Daten in der Datei enthalten sind, und im Fall einer Programmunterbrechung können die Daten im EEPROM der Chipkarte wiederhergestellt werden.
Die bekannte Methode der Verwendung eines Sicherungspuffers hat verschiedene Nachteile. Erstens muss der Puffer wenigstens so groß sein wie die zu puffernden Daten und auf der Chipkarte auf dem EEPROM reserviert werden. Da der Platz auf dem EEPROM teuer ist und auf der Karte in genügender Größe vorhanden sein muss, um alle für den Nutzer wichtigen Daten zu speichern, kann der Puffer nicht beliebig groß sein. Deshalb ist die Menge und die Größe der zu puffernden Daten beschränkt. Zweitens ist der Puffer einem ständigen Betrieb ausgesetzt und deshalb übermäßig beansprucht/belastet. Da die Zahl der Schreib-/Löschzyklen des EEPROM begrenzt ist, besteht das Risiko, dass Daten in diesem wichtigen Puffer höchstwahrscheinlich auf Grund des Verschleißes des Speichers verfälscht werden. Drittens wird auf Grund des obligatorischen Schreibzugriffs auf den Puffer die Ausführungszeit des Programms verlängert. Unter ungünstigen Bedingungen kann der Zugriff dreimal länger dauern als der direkte Schreibzugriff auf den EEPROM. Diese Erfindung überwindet auch diese Nachteile.
ZUSAMMENFASSUNG DER ERFINDUNG
Demzufolge ist es eine primäre Aufgabe der vorliegenden Erfindung, die oben erwähnten Nachteile zu überwinden und ein einzigartiges Verfahren und System für die sichere Verwaltung von Daten bei Chipkarten-Anwendungen zur Verfügung zu stellen.
Diese und andere Aufgaben der vorliegenden Erfindung werden erreicht durch Speichern der Daten in logischen Strukturen, d. h. in satzorientierten (record-oriented) Datenstrukturen. Jeder Satz enthält zusätzlich zum Dateninhalt ein Statusbyte. Das Statusbyte zeigt an, ob dieser Satz gegenwärtig gültig ist oder nicht (Primärattribut). Weiterhin enthält der Satz eine Folgenummer (Synchronisationsnummer), die verwendet wird, um die Verbindung zu den zu synchronisierenden Dateien herzustellen (Sekundärattribut). In der Menge der zu synchronisierenden Dateien wird eine Primärdatei definiert, deren aktueller Satz die gegenwärtig gültige Synchronisationsnummer enthält. Die andere(n) Datei(en) wird (werden) als Sekundärdatei(en) bezeichnet.
Entsprechend der vorliegenden Erfindung wird ein Verfahren und ein System zur Datenverwaltung in einem Chipkarten-EEPROM bereitgestellt, das die Daten selbst für den Fall der Unterbrechung oder des Abbruchs einer Folge (zum Beispiel durch Stromausfall) sichert, ohne dass ein Puffer benötigt wird. Die Erfindung ermöglicht, dass zwei oder mehr Dateien der Chipkarte konsistent bleiben, wenn eine Unterbrechung auftritt, während die Dateien aktualisiert werden, indem die Informationen, die die Herstellung der Konsistenz betreffen, zusammen mit den Daten gespeichert werden. Dadurch wird die Datensicherheit selbst über Kommandofolgen hinweg gewährleistet. Die Erfindung umfasst ein spezielles Datenformat und einen Suchalgorithmus, um die gültigen Dateiinhalte zu bestimmen und Daten zu korrigieren, die auf Grund von Unterbrechungen oder Speicherfehlern unvollständig geschrieben wurden. Der Satzsuchalgorithmus macht eine spezielle Wiederherstellungsroutine für Dateninhalte nach einer unnötigen Unterbrechung verfügbar.
KURZE BESCHREIBUNG DER ZEICHNUNGEN
Fig. 1 veranschaulicht die Struktur einer Datei entsprechend der vorliegenden Erfindung;
Fig. 2 ist eine Veranschaulichung der Struktur der logischen Sätze, die entsprechend der vorliegenden Erfindung in einer Datei, so wie sie in Fig. 1 gezeigt wird, enthalten sind.
Fig. 3a und 3b veranschaulichen einen sequentiellen Ablauf für eine beliebige Anzahl von Dateien 1 bis n entsprechend der vorliegenden Erfindung.
AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG - ZWEI DATEIEN
Zuerst wird die Erfindung für den Fall von zwei von einer Transaktion betroffenen Dateien dargestellt. Fig. 1 zeigt die Struktur jeder Datei - Primärdatei und Sekundärdatei - entsprechend der Erfindung. Fig. 2 veranschaulicht die Struktur jedes Satzes. Entsprechend Fig. 1 besteht jede Datei aus einer Angabe der Anzahl der logischen Sätze, der Größe der logischen Sätze und einer fortlaufend nummerierten Vielzahl von logischen Sätzen. Jeder Satz besteht aus einer Angabe des Satzstatus, einer Synchronisationsnummer und dem Dateninhalt, so wie in Fig. 2 dargestellt.
Wenn die an einer Transaktion beteiligten Dateien aktualisiert werden, wird der folgende Algorithmus benutzt:
  • 1. Bestimme den aktuellen aktiven logischen Satz und den (Arbeits-)Satz der zu schreibenden Schlüsseldatei.
  • 2. Setze die Synchronisationsnummer des Arbeitssatzes der Schlüsseldatei auf die Synchronisationsnummer des aktiven Satzes und erhöhe die Synchronisationsnummer des aktuellen Satzes um 1.
  • 3. Schreibe die neuen Daten der Schlüsseldatei in den Arbeitssatz.
  • 4. Ändere den Satzstatus des Arbeitssatzes der Schlüsseldatei auf "aktiv".
  • 5. . . .
  • 6. Führe eine vollständige Aktualisierung der Sekundärdatei durch, einschließlich der Definition neuer aktiver Sätze.
  • 7. . . .
  • 8. Ändere den Satzstatus des alten aktiven Satzes der Schlüsseldatei auf "nicht aktiv".
Durch Anwendung dieses Algorithmus kann für die Primär- und die Sekundärdatei gewährleistet werden, dass neue Dateninhalte durch eine einzige (atomare) Schreiboperation in der Primärdatei (Schritt 8 im obigen Algorithmus) gültig werden und dass keine inkonsistenten Zwischenstufen der Dateninhalte auftreten. Schritt 5 und 7 im obigen Algorithmus sind wahlweise Schritte, die für zusätzliche, auf der Chipkarte auszuführende Schritte reserviert werden können und die nicht Teil der vorliegenden Erfindung sind. Die einzige Anforderung hierfür besteht darin, dass die Bestimmung des aktiven logischen Satzes und des Arbeitssatzes entsprechend dem folgenden Satzsuchalgorithmus für die Schlüsseldatei ausgeführt wird:
  • 1. Beginne mit dem ersten physischen Satz und suche nach dem ersten Satz, dessen Status "aktiv" ist.
  • 2. Falls der erste physische Satz und der letzte physische Satz der Datei als "aktiv" gekennzeichnet sind, ist der letzte physische Satz der aktive Satz.
  • 3. Wenn kein Satz gefunden wird, der als aktiv gekennzeichnet ist, setze den ersten physischen Satz auf "aktiv".
  • 4. Definiere den physischen Satz, der nach dem aktiven Satz folgt, als Arbeitssatz.
  • 5. Falls der aktive Satz der letzte physische Satz der Datei ist, wird der erste physische Satz der Datei der Arbeitssatz.
Der Satzsuchalgorithmus für die Sekundärdatei arbeitet wie folgt:
  • 1. Beginne mit dem ersten physischen Satz und suche nach dem ersten Satz, dessen Status "aktiv" ist.
  • 2. Falls der erste physische Satz und der letzte physische Satz der Datei als "aktiv" gekennzeichnet sind, ist der letzte physische Satz der aktive Satz.
  • 3. Wenn kein Satz gefunden wird, der als aktiv gekennzeichnet ist, setze den ersten physischen Satz auf "aktiv".
  • 4. Vergleiche die Synchronisationsnummer des festgestellten aktiven Satzes mit der Synchronisationsnummer des aktiven Satzes der Primärdatei.
  • 5. Wenn der Versuch fehlschlägt, markiere den Satz als "aktiv", dessen Synchronisationsnummer der Synchronisationsnummer des aktiven Satzes der Primärdatei entspricht.
  • 6. Definiere den physischen Satz, der nach dem aktiven Satz folgt, als Arbeitssatz.
  • 7. Falls der aktive Satz der letzte physische Satz der Datei ist, wird der erste physische Satz der Datei der Arbeitssatz.
AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG - BELIEBIGE ANZAHL VON DATEIEN
Das oben beschriebene Verfahren kann ohne Änderungen der Algorithmen auf eine beliebige Anzahl von Dateien erweitert werden. In diesem Fall werden alle weiteren Dateien als Sekundärdateien klassifiziert. Nachfolgend wird das Verfahren entsprechend der vorliegenden Erfindung unter Bezugnahme auf Fig. 3a und 3b für eine beliebige Anzahl von Dateien erklärt, wobei ein Satz in einer Datei die folgende Struktur besitzt:
Das Kennzeichen gibt an, ob ein Satz aktiv ("A") oder inaktiv ("I") ist. Ein Satz kann das "A"-Kennzeichen gesetzt haben, aber wird noch nicht als gültig angesehen: wenn das Ptr2-Feld nicht auf den Beginn des Satzes zeigt, ist der Satz noch Teil einer Kette zu Sätzen in anderen Dateien und noch "im Aufbau begriffen". Nur wenn Ptr2 auf den Anfang seines eigenen Satzes zeigt, kann mit Sicherheit gesagt werden, dass die Kette aufgelöst wurde und alle Dateien synchronisiert sind. Ein Satz mit dieser Bedingung und mit einem auf "aktiv" gesetzten Kennzeichen könnte als "voll aktiv" bezeichnet werden.
Die Dateien sind wiederum zyklische Dateien, eine Anordnung, die oft als Ringpuffer beschrieben wird. Sie sind satzorientiert, mit anderen Worten, es gibt, vom Standpunkt des Betriebssystems aus gesehen, immer einen "aktuellen Satz". Der aktuelle Satz muss nicht der gleiche sein wie der "voll aktive" Satz.
Die nachstehende Folge von Ereignissen beschreibt, wie eine beliebige Anzahl von Dateien aktualisiert werden kann und gleichzeitig sichergestellt wird, dass entweder die aktuellen (alten) Informationen in allen Dateien zugänglich bleiben oder garantiert wird, dass die neuen Informationen in allen Dateien existieren. Die Anzahl von Dateien kann wahrscheinlich verringert und das Schema stark vereinfacht werden, wenn wir nur mit einer wohldefinierten Menge von Dateien arbeiten, die sich niemals ändert.
  • a) Anhängen oder Aktualisieren des Datenfeldes eines Satzes in der ersten Datei:
    • 1.  Anhängen eines neuen Satzes in Datei 1 (die Primärdatei) und Kopieren der Daten aus dem aktuellen Satz in diesen neuen Satz. Modifikation der Daten, so wie gefordert. Der angehängte Satz wird der aktuelle Satz (vom Standpunkt des Operationssystems aus gesehen). Der vorhergehende Satz bleibt "voll aktiv" (vom Standpunkt des sicheren Aktualisierungsmechanismus aus gesehen). [erstes Schreiben des Ptr2] Ein Stromausfall zu diesem Zeitpunkt lässt den vorhergehenden Satz noch "voll aktiv". Ptr2 im aktuellen Satz zeigt auf diesen Satz, weil er in Schritt (a1) aus dem vorhergehenden Satz in diese Datei kopiert wurde, wo er auf den Beginn des gleichen vorhergehenden Satzes zeigt.
    • 2.  Der neue (laufende) Satz wird als "inaktiv" gekennzeichnet [erstes Schreiben der Kennzeichnung]. Schritt a2 kann auch zusammen mit Schritt a1 in einer Schreiboperation erreicht werden.
    • 3.  Ptr1 wird auf einen Wert gesetzt, der das Ende einer verketteten Liste anzeigt (keine Verbindung zu einer nachfolgenden Datei) [erstes Schreiben des Ptr1].
    • 4.  Ptr3 wird auf einen Wert gesetzt, der das Ende einer verketteten Liste anzeigt (die erste Datei hat keine Verbindung zu einer vorhergehenden Datei) [erstes Schreiben des Ptr3].
    Ein Stromausfall während dieses Prozesses findet den vorhergehenden Satz noch wie zuvor: voll aktiv, keine Änderungen. Irgendwelche Veränderungen des neuen (aktuellen) Satzes in Datei 1 bleiben deshalb unsichtbar und werden ausgeschaltet.
  • b) Anhängen oder Aktualisieren des Datenfeldes in der zweiten und in nachfolgenden Dateien:
    • 1. Anhängen eines neuen Satzes in dieser zweiten, dritten, usw. Datei und Kopieren der Daten aus dem aktuellen Satz in diesen neuen Satz. Der angehängte Satz wird der aktuelle Satz. Modifikation der Daten, so wie gefordert. Der vorhergehende Satz bleibt "voll aktiv" [erstes Schreiben des Ptr2]. Ein Stromausfall zu diesem Zeitpunkt lässt den vorhergehenden Satz noch "voll aktiv". Ptr2 zeigt auf diesen Satz, weil er in Schritt (b1) aus dem vorhergehenden Satz in diese Datei kopiert wurde, wo er auch auf den Anfang dieses Satzes zeigt.
    • 2.  Der neue (laufende) Satz wird als "inaktiv" gekennzeichnet [erstes Schreiben der Kennzeichnung]. Schritt b2 kann auch zusammen mit Schritt b1 in einer Schreiboperation erreicht werden.
    • 3.  Ptr1 wird auf einen Wert gesetzt, der das Ende einer verketteten Liste anzeigt (keine Verbindung zu einer nachfolgenden Datei) [erstes Schreiben des Ptr1].
    • 4.  Ptr3 wird so gesetzt, dass er auf den neuen (laufenden) Satz in der vorhergehenden Datei zeigt. Dies stellt eine Rückwärtsverbindung zwischen den Dateien her [erstes Schreiben von Ptr3].
      Wir sind jetzt fertig mit dem neuen (laufenden) Satz in dieser Datei 2, 3, usw. Datei 1 und Datei 2 können noch auf ihre vorhergehenden Sätze zurückgehen, die "voll aktiv" sind. Ptr2 im laufenden Satz sollte ein automatisches internes Zurückgehen (backtracking) leicht möglich machen oder einfach die Optionen in dem Befehl "Lies Satz" (Read Record command) verwenden, um den vorhergehenden Satz zu adressieren.
    • 5.  Ptr1 in dem neuen (laufenden) Satz in der vorhergehenden Datei wird so gesetzt, dass er auf den neuen Satz in dieser Datei zeigt. Dies stellt eine Vorwärtsverbindung von der vorhergehenden Datei in der Kette zu dieser Datei her [zweites Schreiben des Ptr1].
    • 6.  Die Kennzeichnung in dem neuen Satz der vorhergehenden Datei wird auf "aktiv" gesetzt [zweites Schreiben der Kennzeichnung].
      Ptr2 des neuen Satzes in der vorhergehenden Datei zeigt jedoch noch auf den vorhergehenden Satz in der vorhergehenden Datei. Deshalb kann der neue Satz noch nicht "voll aktiv" werden.
Ein Stromausfall während dieses Prozesses findet die vorhergehenden Sätze noch wie zuvor in der (den) Datei(en): voll aktiv, keine Änderungen. Irgendwelche Änderungen der neuen Sätze in diesen Dateien 2, 3 usw. bleiben unsichtbar und werden verworfen.
  • 1.  . . . und so weiter mit beliebigen weiteren Dateien, bis wir alle Daten in allen Dateien, die in synchronisiertem Zustand gehalten werden müssen, angehängt oder aktualisiert haben. Es gibt einige abschließende Aktionen, die nur beim Anhängen oder Aktualisieren der (letzten) Datei auftreten.
    • 1.  Setze das Kennzeichenfeld des letzten angehängten (laufenden) Satzes auf "aktiv" [zweites Schreiben, das erste war "inaktiv" in Schritt a1 oder b1]. Wir können dieses zweite Schreiben einsparen, wenn wir bereits wissen, dass dies die letzte Datei ist, wenn wir den neuen Satz anhängen, und seinen Inhalt modifizieren, wenn wir ihn vom vorhergehenden Satz kopieren. Ein Stromausfall zu diesem Zeitpunkt lässt eine unvollständige Kette zurück. Eine unvollständige Kette (eine, in der der letzte Satz in der Kette nicht als "aktiv" markiert ist UND Ptr2 nicht auf den gleichen Satz zeigt) wird vollständig verworfen, und wir gehen zu den "voll aktiven" (vorhergehenden) Sätzen in allen Dateien zurück.
    • 2.  Setze Ptr2 des neuen (aktuellen) Satzes so, dass er auf den Anfang des aktuellen Satzes zeigt. Dieses einmalige Schreiben macht den neuen Satz in der letzten Datei "voll aktiv" und ermöglicht die Wiederherstellung. Jetzt haben wir den vorhergehenden Satz in der letzten Datei, er ist "voll aktiv", ebenso den aktuellen Satz, der auch "voll aktiv" ist.
      Ein Stromausfall nach dieser einfachen Schreiboperation hat keine nachteilige Auswirkung, weil wir jetzt alles wiederherstellen können.
Wiederherstellung
Wir können einen Stromausfall nach Schritt (c1) auf zwei Arten reparieren: wir können entweder wieder von vorn anfangen, alle Dateien zu aktualisieren; alle vorhergehenden Sätze enthalten noch die alten Informationen, und ein neuer Versuch, die Dateien synchron zu aktualisieren, kann jetzt ebensogut erfolgreich sein. Wenn wir neue Sätze an die Dateien anhängen, kopieren wir die Ptr2-Felder auch in die neuen Sätze, was uns zu einem "voll aktiven" Satz in jeder Datei zurückführt.
Alternativ hierzu ist es möglich, nach vorn zu gehen und jetzt alle neuen (laufenden) Sätze in der Kette voll aktiv zu machen, was viel bequemer ist:
Prüfe die Notwendigkeit der Wiederherstellung nach einem Stromausfall:
  • a) Prüfe die Primärdatei 1, ob es einen aktuellen Satz gibt, bei dem das Kennzeichen "aktiv" gesetzt ist UND Ptr2 nicht auf das Kennzeichenfeld des gleichen Satzes zeigt. Wenn wir einen solchen Satz in Datei 1 finden, muss er in Schritt (a) oben hinzugefügt worden sein. Wenn kein solcher Satz vorhanden ist, müssen wir nichts wiederherstellen nach einem Stromausfall.
Wiederherstellung, die verkettete Liste wurde erfolgreich aufgebaut
Wir starten am Ende der Kette, um die Sätze voll aktiv zu machen. Die Kette wird mit jeder erfolgreichen Aktivierung eines neuen Satzes kürzer, bis Ptr2 im neuen (laufenden) Satz in Datei 1 auf das Kennzeichenfeld des gleichen Satzes zeigt und dann auch "voll aktiv" ist.
Wir starten mit dem jetzt "voll aktiven" Satz, der in Datei 1 gefunden wurde, folgen der Kette längs der Ptr1- Verbindungen, bis Ptr1 das Ende der Kette anzeigt, wo das Kennzeichenfeld als "aktiv, letztes in der Kette" markiert ist.
  • 1.  Wenn der neue (laufende) Satz in der letzten Datei der verketteten Liste "voll aktiv" ist, durchsuche die Datei nach einem anderen voll aktiven Satz, und, falls einer gefunden wird, setze dort das Kennzeichen auf "inaktiv" [drittes Schreiben des Kennzeichens]. Fahre mit Schritt (d4) fort und löse die Verbindung mit der Datei.
    Dies war die letzte Datei in der ursprünglichen Kette, da sie zwei "voll aktive" Sätze enthält, oder wir müssen einen Ausfall während der Wiederherstellung zwischen den Schritten (d3) und (d4) gehabt haben, nachdem diese Datei vollständig verarbeitet wurde, aber noch mit der vorhergehenden Datei verkettet war.
  • 2.  Wenn der neue (aktuelle) Satz "aktiv" ist, aber Ptr2 nicht auf den Anfang seines eigenen Satzes zeigt, folge Ptr2 zum vorhergehenden Satz in der letzten Datei. Prüfe, ob der vorhergehende Satz "voll aktiv" ist; falls ja, setze das Kennzeichen dort auf inaktiv [drittes Schreiben des Kennzeichens].
    Wenn der Strom nach diesem Schritt ausfällt, erreichen wir wieder das Ende der Kette, bemerken aber, dass wir mit dem vorhergehenden Satz nichts weiter tun müssen.
  • 3.  Modifiziere Ptr2 in dem neuen (aktuellen) Satz in der letzten Datei in der Kette so, dass er auf den Anfang des gleichen Satzes zeigt [zweites Schreiben des Ptr2]. Dies macht den neuen (aktuellen) Satz "voll aktiv". Ein Stromausfall zu diesem Zeitpunkt lässt den neuen (aktuellen) Satz in der letzten Datei als "voll aktiv" gekennzeichnet. Wenn die Wiederherstellung erneut gestartet wird, läuft sie zum Schritt (d1) und überspringt (d2, d3, d4).
  • 4.  Löse die Verbindung zur gegenwärtig letzten Datei: setze Ptr1 in der vorhergehenden Datei (Ptr3 bringt uns dorthin) auf einen Wert, der das Ende der verketteten Liste anzeigt.
    Bei einem Stromausfall zu diesem Zeitpunkt wird die verkettete Liste um eine Datei verkürzt. Der Wiederherstellungsprozess kann einfach erneut beginnen, stellt fest, dass die vorhergehende Datei jetzt die letzte Datei ist und geht zum Schritt (d2).
  • 5.  Wenn der Strom nicht ausfällt und wir fortfahren können: gehe rückwärts längs der durch Ptr3 verketteten Liste zur vorhergehenden Datei und wiederhole die Schritte (d1, d2, d4, d5), bis Ptr3 signalisiert, dass wir uns am Anfang der Kette in Datei 1 befinden.
Wiederherstellung, die verkettete Liste wurde nicht erfolgreich aufgebaut
  • 1. Wenn der neue (letzte) Satz in der letzten Datei in der verketteten Liste aktiv ist, aber Ptr2 nicht auf den Anfang des Satzes zeigt, können wir nach (a1), (b1) oder (c1) unterbrochen worden sein. Setze die Kennzeichnung auf "inaktiv". Ein Stromausfall zu diesem Zeitpunkt lässt die Zeiger intakt (Ptr2 wird benötigt). Wir können wieder in die Wiederherstellungsroutine eintreten und zu (e2) gelangen.
  • 2. Wenn der neue (aktuelle) Satz in der letzten Datei in der verketteten Liste inaktiv ist und Ptr2 nicht auf den Anfang des Satzes zeigt, wurden wir nach den Schritten (a2), (b2) oder (e1) unterbrochen. Ansonsten gehe zu Schritt (e5). Folge jetzt Ptr2 zum vorhergehenden Satz in dieser Datei. Wir sind im alten (vorhergehenden) Satz und gehen zu seinen alten Daten zurück. Setze Ptr1 so, dass er auf den neuen (aktuellen) Satz zeigt. Wir müssen ihn jetzt finden können. Beachte: Ptr1 ist nicht länger Teil einer Kette im alten Satz und kann wieder verwendet werden. Ein Stromausfall zu diesem Zeitpunkt lässt uns erneut starten, und wir gehen wieder zu Schritt (e2) zurück.
  • 3. Setze die Kennzeichnung im alten Satz auf "aktiv, wiederhergestellt", um ihn vom voll aktiven letzten Satz in einer Kette zu unterscheiden, der in den Schritten d1 . . . d5 beschrieben wird.
    Ein Stromausfall zu diesem Zeitpunkt lässt uns die Wiederherstellung erneut starten, und wir kehren wieder zu (e2) zurück.
  • 4. Mache diesen alten (vorherigen) Satz in der letzten Datei zum aktuellen Satz, vom Standpunkt des Betriebssystems aus.
    Ein Stromausfall zu diesem Zeitpunkt lässt die verkettete Liste mit einem aktuellen Satz in der letzten Datei zurück, der "aktiv, wiederhergestellt" ist, und Ptr2 zeigt auf den Anfang des Satzes. Diese Datei wurde erfolgreich wiederhergestellt, aber wir haben diese letzte Datei noch nicht aus der Kette herausgelöst.
    Ein Stromausfall zu diesem Zeitpunkt bedeutet, dass wir wieder in (e2) eintreten und bis nach (e5) durchlaufen.
  • 5. Wenn der alte (aktuelle) Satz in der letzten Datei in der verketteten Liste "aktiv, wiederhergestellt" ist und Ptr2 auf den Anfang dieses Satzes zeigt, wird diese aktuell letzte Datei aus der Kette herausgelöst. Folge Ptr1 im aktuellen Satz der letzten Datei, um den jetzt ehemaligen "neuen" Satz zu finden, der einen gültigen Ptr3 mit einer rückwärts gerichteten Dateiverkettung enthält. Setze Ptr1 in der vorhergehenden Datei auf einen Wert, der das Ende der verketteten Liste anzeigt. Die vorhergehende Datei ist jetzt die "letzte Datei". Fahre mit Schritt (e1) fort, bis Ptr1 anzeigt, dass wir am Anfang der verketteten Liste, Datei 1, sind.
Dieses Verfahren arbeitet genauso wie das, das zwei Dateien einschließt, unabhängig von verschiedenen Kriterien:
  • - Es ist unwichtig, wieviele verschiedene Dateien betroffen sind und synchronisiert gehalten werden müssen.
  • - Es ist unwichtig, in welcher Folge der Programmierer die zweite, dritte usw. Datei verwendet, d. h., wie eine spezifizierte Ablauffolge die Ordnung definiert, in der die Parameter aktualisiert werden.
  • - Alles, was für die Wiederherstellung benötigt wird, ist das Wissen, welche Datei in einer atomaren Folge zuerst aktualisiert wird. Markiere eine Datei als Datei 1, wenn es eine Datei gibt, bei der die "aktive" Kennzeichnung gesetzt ist, wobei Ptr2 nicht auf den Anfang des gleichen Satzes zeigt. Wenn es keinen solchen Satz gibt, müssen wir keine Wiederherstellung durchführen.
  • - Das Verfahren schreibt höchstens dreimal an die gleichen Adressen (Kennzeichnung).
Das Folgende sind kommentierte Ausschnitte aus einem Beispiel eines Computerprogramms, das das Verfahren entsprechend der vorliegenden Erfindung für eine Kauffolge implementiert. Wenn es auf einem Computer läuft, führt ein solches Computerprogramm die Schritte eines Verfahrens entsprechend der vorliegenden Erfindung aus.
In dieser Ausführungsform der Erfindung werden die folgenden Abkürzungen verwendet: SAM (Modul für den sicheren Zugriff (Secure Access Module)), PSAM (Modul für den sicheren Zugriff beim Kauf (Purchase Secure Access Module), erteilt Berechtigungen für Chipkarte, wenn Geld abgebucht wird, speichert akkumulierte. Kaufbeträge), LSAM (Modul für sicheren Zugriff beim Aufbuchen von Geld (Load Secure Access Module), erteilt Berechtigung für eine Chipkarte, wenn Geld auf die Karte aufgebucht wird, speichert akkumulierte aufgebuchte Beträge), PSALM (Kombination von PSAM und LSAM), HDR (Kopfsatz (Header)).

Claims (21)

1. Verfahren zur sicheren Verwaltung einer Anzahl von Dateien in einem nichtflüchtigen Speicher, um die Daten nach dem Abbruch einer Schreiboperation zurückzuspeichern, wobei die Daten in einer satzorientierten Datenstruktur gespeichert werden und jeder Satz zusätzlich zum Dateninhalt ein Statusbyte enthält, bei dem zu jedem Zeitpunkt während der Schreiboperation alle von der Schreiboperation betroffenen Dateien entweder alle vor der Schreiboperation gespeicherten Daten oder alle Daten, so wie sie nach der Schreiboperation modifiziert sind, enthalten.
2. Verfahren nach Anspruch 1, in dem die oder jede von einer Schreiboperation betroffene Datei eine Vielzahl von Sätzen umfasst, wobei einer der Sätze in der oder den Dateien die Daten vor der Schreiboperation enthält und ein anderer Satz entsprechend der Schreiboperation modifiziert wird und jeder Satz auch ein Statusbyte umfasst, das den Status der dort enthaltenen Sätze anzeigt.
3. Verfahren nach Anspruch 2, in dem die Daten vor der Schreiboperation in jeder Datei im Falle eines Stromausfalls als aktive Daten zurückgehalten werden, bis alle Dateien entsprechend der Schreiboperation erfolgreich aktualisiert wurden.
4. Verfahren nach einem der vorhergehenden Ansprüche, in dem jeder Satz ein Synchronisationsbyte enthält, das eine Relation zu Sätzen in anderen Dateien anzeigt.
5. Verfahren nach Anspruch 4, in dem jeder Satz einen ersten Zeiger, der den aktuellen, die Daten enthaltenden Satz einer vorhergehenden Datei anzeigt, sowie einen weiteren Zeiger enthält, der den aktuellen, die Daten enthaltenden Satz einer nachfolgenden Datei anzeigt.
6. Verfahren nach Anspruch 5, das einen zweiten Zeiger (PTR 2) enthält, der den aktuellen, die Daten enthaltenden Satz dieser Datei anzeigt.
7. Verfahren zur sicheren Verwaltung von EEPROM-Dateien, um Daten nach dem Abbruch einer Schreiboperation zurückzuspeichern, wobei die Daten in den Dateien in einer satzorientierten Datenstruktur gespeichert werden, so dass die Daten in allen von der Schreiboperation betroffenen Dateien bezüglich des Abschlusses der Schreiboperation konsistent sind, und in dem die Informationen bezüglich des Status und des Ortes der konsistenten Daten in der satzorientierten Datenstruktur zusammen mit den Daten gespeichert werden.
8. Verfahren nach Anspruch 7, in dem zwei oder mehr Dateien von der Schreiboperation betroffen werden, und in dem neue oder modifizierte Daten zyklisch in die Dateien geschrieben werden, in dem jede Datei eine Anzeige der Anzahl von Sätzen umfasst, die in der Datei enthalten sind, sowie eine Vielzahl von Sätzen, und in dem jeder Satz eine Anzeige des Status der Daten in dem Satz umfasst, eine Synchronisationszahl, die die Synchronisation mit den Sätzen anderer Dateien und den Daten bewirkt.
9. Verfahren nach Anspruch 8, das die Bestimmung eines aktuellen aktiven Satzes einer ersten der Dateien und eines Arbeitssatzes der ersten Datei umfasst, das Setzen der Synchronisationszahl des Arbeitssatzes der Datei auf die Synchronisationszahl des aktuellen aktiven Satzes, das Kopieren der Daten, die in dem aktuellen aktiven Satz gespeichert sind, in den Arbeitssatz, und das Hinzufügen oder Modifizieren der Daten entsprechend der Schreiboperation in dem Arbeitssatz, das Verändern des Status des Arbeitssatzes der Datei in "aktiv", die Wiederholung der Schritte für jede weitere Datei und die Änderung des Satzstatus des ursprünglichen aktuellen aktiven Satzes der ersten Datei in "inaktiv" als Anzeige dafür, dass die Schreiboperation abgeschlossen ist.
10. Verfahren nach Anspruch 9, in dem der Schritt der Bestimmung des aktuellen aktiven Satzes und des Arbeitssatzes der Dateien die Suche nach dem ersten Satz in der Datei umfasst, dessen Statusbyte einen "aktiven" Status anzeigt und diesen Satz zum aktuellen aktiven Satz und den nachfolgenden Satz zum Arbeitssatz macht.
11. Verfahren nach Anspruch 1, das umfasst:
Hinzufügen oder Ändern der Daten eines Satzes in der ersten Datei durch:
Kennzeichnung des aktuellen aktiven Satzes der Datei und eines Arbeitssatzes und Kopieren der Daten, die hinzugefügt oder modifiziert werden sollen, aus dem aktuellen aktiven Satz in den Arbeitssatz;
Ändern der Daten in dem Arbeitssatz entsprechend der Schreiboperation, wobei das Statusbyte des aktuellen aktiven Satzes anzeigt, dass der Satz "voll aktiv" ist und der Status des Arbeitssatzes anzeigt, dass der Satz "inaktiv" ist;
Setzen der Zeiger für die Synchronisationsanzeige, um anzuzeigen, dass die Datei die erste Datei ist, und um anzuzeigen, dass keine weiteren Dateien geändert wurden;
Kennzeichnen eines aktuellen aktiven Satzes und eines Arbeitssatzes einer zweiten Datei und Kopieren der Daten aus dem aktuellen aktiven Satz in den Arbeitssatz; Ändern der Daten in dem Arbeitssatz entsprechend der Schreiboperation, wobei das Statusbyte des aktiven aktuellen Satzes anzeigt, dass die Daten in diesem Satz "voll aktiv" sind und das Statusbyte des Arbeitssatzes anzeigt, dass dieser Satz "inaktiv" ist;
Setzen der Zeiger für die Synchronisationsanzeige, um die Verbindung zwischen dieser Datei und der ersten Datei anzuzeigen und Ändern des Zeigers für die Synchronisationsanzeige der ersten Datei, um seine Verbindung zu der zweiten Datei anzuzeigen; und
Wiederholung dieser Schritte für die zweite Datei für beliebige nachfolgende Dateien, wobei für die letzte durch die Schreiboperation beeinflusste Datei nach dem Setzen der Zeiger für die Synchronisationsanzeige und der Feststellung, dass dies die letzte Datei ist, ein Anzeige-Zeiger gesetzt wird, um anzuzeigen, dass keine nachfolgenden Dateien von der Schreiboperation betroffen sind; und
Setzen des Statusbytes in jedem der Arbeitssätze der betroffenen Dateien auf einen "voll aktiven" Zustand, wonach die Schreiboperation abgeschlossen ist und die geänderten Daten in allen Dateien die aktiven Daten sind.
12. Verfahren nach Anspruch 11, wobei bei Unterbrechung der Schreiboperation in irgendeinem Stadium entweder alle aktuellen aktiven Sätze aller von der Operation betroffenen Dateien als "voll aktive" Sätze gekennzeichnet und die in den Dateien vor dem Start der Schreiboperation enthaltenen Daten die aktuellen aktiven Daten sind oder alle Arbeitssätze aller Dateien auf einen "voll aktiven" Zustand gesetzt sind und somit alle Dateien die auf Grund der Schreiboperation geänderten Daten als aktive Daten enthalten.
13. Verfahren nach Anspruch 12, in dem die Unterbrechung der Schreiboperation während oder unmittelbar nach dem Schritt der Änderung der Daten in dem Arbeitssatz der ersten Datei zu dem aktuellen aktiven Satz der ersten Datei führt, der der "voll aktive" Datensatz bleibt, zu einem Zeitpunkt, in dem keine weiteren Dateien geändert wurden und alle als "aktiv" ansprechbaren Dateien den Daten vor der Schreiboperation entsprechen.
14. Verfahren nach Anspruch 12, in dem eine Unterbrechung der Schreiboperation während oder nach dem Setzen der Zeiger für die Synchronisationsanzeige in der ersten Datei zu dem aktuellen aktiven Satz der ersten Datei führt, der ein "voll aktiver" Datensatz bleibt, zu einem Zeitpunkt, in dem keine weiteren Dateien geändert wurden und alle als "aktiv" ansprechbaren Dateien den Daten vor der Schreiboperation entsprechen.
15. Verfahren nach Anspruch 12, in dem eine Unterbrechung der Schreiboperation während oder unmittelbar nach dem Schritt der Änderung der Daten in der zweiten oder nachfolgenden Dateien zu dem aktuellen aktiven Satz der zweiten oder nachfolgender Dateien führt, der als "voll aktiver" Datensatz gesetzt bleibt, und, da der Synchronisationsanzeige-Zeiger der ersten Datei noch anzeigt, dass der aktuelle aktive Satz noch der "voll aktive" Satz der ersten Datei ist, die aktuell aktiven Daten beider oder aller Dateien so bleiben, wie sie vor dem Start der Schreiboperation waren.
16. Verfahren nach Anspruch 12, in dem eine Unterbrechung des Schreibprozesses während oder unmittelbar nach der Änderung der Daten in dem Arbeitssatz der letzten von der Schreiboperation betroffenen Datei dazu führt, dass alle aktuellen aktiven Sätze aller Dateien als voll aktive Sätze zurückbehalten werden, wobei die aktuell aktiven Daten den Daten vor der Schreiboperation entsprechen.
17. Verfahren nach Anspruch 12, in dem eine Unterbrechung des Schreibprozesses während oder unmittelbar nach der Änderung der Daten in dem Arbeitssatz der letzten von der Schreiboperation betroffenen Datei bewirkt, dass alle Arbeitssätze aller Dateien als "voll aktive" Sätze gekennzeichnet werden, so dass alle Dateien Daten, die infolge der Schreiboperation geändert wurden, als die aktuell aktiven Daten enthalten.
18. Verfahren nach Anspruch 11, in dem, wenn alle Schreibschritte ohne eine Unterbrechung erfolgreich abgeschlossen wurden, die Synchronisationsanzeige-Zeiger benutzt werden, um die Verbindungen zwischen den modifizierten Sätzen der betroffenen Dateien anzugeben, und alle Arbeitssätze werden auf den Status "voll aktiv" gesetzt, und die aktuellen aktiven Sätze werden auf den Status "inaktiv" gesetzt.
19. System für die sichere Verwaltung von EEPROM-Dateien, so dass die Daten nach dem Abbruch der Schreiboperation in die Dateien zurückgespeichert werden können, wobei das System einen EEPROM umfasst sowie Mittel zum Schreiben von Daten in den EEPROM, wobei der EEPROM eine Anzahl von Dateien und jede Datei eine Vielzahl von Sätzen in einer satzorientierten Datenstruktur umfasst.
20. Computerprogramm, das so eingerichtet ist, dass es, wenn es auf einem Computer läuft, eine sichere Verwaltung der EEPROM-Dateien ausführt, so dass Daten nach dem Abbruch einer Schreiboperation wiederhergestellt werden können, wobei das Programm so eingerichtet ist, dass es die Schritte eines beliebigen der Ansprüche 1 bis 18 ausführt.
21. Computerprogramm nach Anspruch 20, das auf einem Datenträgermedium gespeichert ist.
DE10059006A 1999-12-30 2000-11-28 Verfahren und System zur sicheren Verwaltung von Dateien in nichtflüchtigen Speichern Expired - Fee Related DE10059006B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US99-126169 1999-12-30
EP99126169 1999-12-30

Publications (2)

Publication Number Publication Date
DE10059006A1 true DE10059006A1 (de) 2001-07-19
DE10059006B4 DE10059006B4 (de) 2004-04-15

Family

ID=8239759

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10059006A Expired - Fee Related DE10059006B4 (de) 1999-12-30 2000-11-28 Verfahren und System zur sicheren Verwaltung von Dateien in nichtflüchtigen Speichern

Country Status (2)

Country Link
US (1) US20010007108A1 (de)
DE (1) DE10059006B4 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10141926A1 (de) * 2001-08-28 2003-04-03 Giesecke & Devrient Gmbh Verfahren und Vorrichtung zur Verwaltung eines Datenspeichers
US9319160B2 (en) 2006-05-12 2016-04-19 Siemens Aktiengesellschaft Method for updating and method for checking an update of at least one data element in a data carousel, and an associated first device, second device, and data flow

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7043493B2 (en) * 2001-09-17 2006-05-09 Fujitsu Limited Hierarchical file system and anti-tearing algorithm for a limited-resource computer such as a smart card
ATE521970T1 (de) * 2002-06-04 2011-09-15 Nxp Bv Zurückrollverfahren für eine chipkarte
GB2393273A (en) * 2002-09-20 2004-03-24 Sharp Kk Method and apparatus for detecting an error in writing to persistent memory
US20080101613A1 (en) * 2006-10-27 2008-05-01 Brunts Randall T Autonomous Field Reprogramming
US8321481B2 (en) 2010-05-13 2012-11-27 Assa Abloy Ab Method for incremental anti-tear garbage collection
US8667033B1 (en) 2011-05-14 2014-03-04 Gopivotal, Inc. Persistent file system objects for management of databases

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4949251A (en) * 1988-07-18 1990-08-14 Digital Equipment Corporation Exactly-once semantics in a TP queuing system
JPH0540682A (ja) * 1990-06-08 1993-02-19 Internatl Business Mach Corp <Ibm> アトミシテイを有する記憶装置の高可用性耐故障再配置
US5369757A (en) * 1991-06-18 1994-11-29 Digital Equipment Corporation Recovery logging in the presence of snapshot files by ordering of buffer pool flushing
US5469562A (en) * 1992-06-26 1995-11-21 Digital Equipment Corporation Durable atomic storage update manager
US5873097A (en) * 1993-05-12 1999-02-16 Apple Computer, Inc. Update mechanism for computer storage container manager
US5592432A (en) * 1995-09-05 1997-01-07 Emc Corp Cache management system using time stamping for replacement queue
US5751993A (en) * 1995-09-05 1998-05-12 Emc Corporation Cache management system
US5832526A (en) * 1996-01-24 1998-11-03 Symantec Corporation Method and apparatus using slack area of file storage structures for file reconstruction
US5754762A (en) * 1997-01-13 1998-05-19 Kuo; Chih-Cheng Secure multiple application IC card using interrupt instruction issued by operating system or application program to control operation flag that determines the operational mode of bi-modal CPU
US5974503A (en) * 1997-04-25 1999-10-26 Emc Corporation Storage and access of continuous media files indexed as lists of raid stripe sets associated with file names
US6487202B1 (en) * 1997-06-30 2002-11-26 Cisco Technology, Inc. Method and apparatus for maximizing memory throughput
US6122645A (en) * 1997-08-25 2000-09-19 Lucent Technologies, Inc. System and method for physically versioning data in a main memory database
US6230200B1 (en) * 1997-09-08 2001-05-08 Emc Corporation Dynamic modeling for resource allocation in a file server
US6023710A (en) * 1997-12-23 2000-02-08 Microsoft Corporation System and method for long-term administration of archival storage
US6298425B1 (en) * 1999-01-12 2001-10-02 Compaq Computer Corp. Computer disk management system using doublet A-B logging

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10141926A1 (de) * 2001-08-28 2003-04-03 Giesecke & Devrient Gmbh Verfahren und Vorrichtung zur Verwaltung eines Datenspeichers
DE10141926B4 (de) * 2001-08-28 2004-05-06 Giesecke & Devrient Gmbh Verfahren zur Sicherung der Daten eines Datenspeichers
US9319160B2 (en) 2006-05-12 2016-04-19 Siemens Aktiengesellschaft Method for updating and method for checking an update of at least one data element in a data carousel, and an associated first device, second device, and data flow

Also Published As

Publication number Publication date
US20010007108A1 (en) 2001-07-05
DE10059006B4 (de) 2004-04-15

Similar Documents

Publication Publication Date Title
DE19600081C2 (de) Sicherung der Datenintegrität bei Datenträgerkarten
DE3784190T2 (de) Eintragung eines datenbasisindex in das journal zur verbesserten rueckstellung.
DE69133302T2 (de) Registerabbildung in einem einzigen Taktzyklus
DE19740525C1 (de) Verfahren zur Abspeicherung und Wiedergewinnung von Daten in einem Steuersystem, insbesondere in einem Kraftfahrzeug
DE4220198C2 (de) Transaktionsverarbeitungsverfahren für einen digitalen Computer und Transaktionsverarbeitungssystem
DE68927142T2 (de) Verriegelungs- und Lese-Minimierung in einem segmentierten Speicherraum
DE4244266C2 (de) Verfahren und Schaltungseinrichtung zum dynamischen Konfigurieren von Gerätetreibern für Computersystem-Betriebsmittel
DE60030872T2 (de) Verfahren und anordnung um atomische aktualisierungen durchzuführen durch verwendung eines logischen flaschspeichergerätes
DE69030024T2 (de) Verfahren zur Herstellung einer Duplikation von einer Datenbank
DE69821426T2 (de) Speicheranordung, und Datenverarbeitungssystem und -Verfahren
DE2916658A1 (de) Selbstprogrammierbarer mikroprozessor
DE10297281T5 (de) Verfahren zum elementaren Aktualisieren einer Vielzahl von Dateien
DE3131341A1 (de) &#34;pufferspeicherorganisation&#34;
DE10059006A1 (de) Verfahren und System zur sicheren Verwaltung von Dateien in nichtflüchtigen Speichern
DE2720864A1 (de) Verfahren und anordnung zum lueckenfreien einspeichern einer anzahl von datenblocks unbestimmter laenge
DE69023770T2 (de) Verfahren zum betrieb eines datenverarbeitungssystems.
DE60317801T2 (de) Verfahren und vorrichtung zur erkennung von fehlern während des schreibens in einen nichtflüchtigen speicher
DE1499742A1 (de) Steuerbare Speicherzugriffsvorrichtung fuer Speichereinrichtungen von Datenverarbeitungsanlagen mit Multiprogrammverarbeitung
DE3852694T2 (de) Datenverarbeitungsvorrichtung.
DE2750126B2 (de)
DE10141926B4 (de) Verfahren zur Sicherung der Daten eines Datenspeichers
DE102004005290B3 (de) Verfahren und Vorrichtung zur Absicherung von Daten in einem nichtflüchtigen Datenspeicher
DE1774212B2 (de) En 20417 12.08.67 &#34; 37132 bez: datenverarbeitungsanlage
DE10260103A1 (de) Verfahren und Vorrichtung zur Änderung von Software in einem Steuergerät sowie entsprechendes Steuergerät
DE19930144C1 (de) Verfahren zum Erkennen von fehlerhaften Speicherzugriffen in prozessorgesteuerten Einrichtungen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee