DE10141926A1 - Verfahren und Vorrichtung zur Verwaltung eines Datenspeichers - Google Patents

Verfahren und Vorrichtung zur Verwaltung eines Datenspeichers

Info

Publication number
DE10141926A1
DE10141926A1 DE10141926A DE10141926A DE10141926A1 DE 10141926 A1 DE10141926 A1 DE 10141926A1 DE 10141926 A DE10141926 A DE 10141926A DE 10141926 A DE10141926 A DE 10141926A DE 10141926 A1 DE10141926 A1 DE 10141926A1
Authority
DE
Germany
Prior art keywords
memory
page
atomic
data
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
DE10141926A
Other languages
English (en)
Other versions
DE10141926B4 (de
Inventor
Siegfried Vollmann
Curd Wallhaeuser
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.)
Giesecke and Devrient GmbH
Original Assignee
Giesecke and Devrient GmbH
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 Giesecke and Devrient GmbH filed Critical Giesecke and Devrient GmbH
Priority to DE10141926A priority Critical patent/DE10141926B4/de
Priority to EP02019027A priority patent/EP1308842B1/de
Priority to AT02019027T priority patent/ATE515737T1/de
Priority to ES02019027T priority patent/ES2368829T3/es
Publication of DE10141926A1 publication Critical patent/DE10141926A1/de
Application granted granted Critical
Publication of DE10141926B4 publication Critical patent/DE10141926B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • 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/1474Saving, restoring, recovering or retrying in transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/0806Details of the card
    • G07F7/0813Specific details related to card security
    • G07F7/082Features insuring the integrity of the data on or in the card
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/0806Details of the card
    • G07F7/0833Card having specific functional components
    • G07F7/084Additional components relating to data transfer and storing, e.g. error detection, self-diagnosis

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Accounting & Taxation (AREA)
  • Quality & Reliability (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Read Only Memory (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Ein Verfahren ist zur Verwaltung eines Datenspeichers vorgesehen, der Speicherseiten (30, 32) mit jeweils mehreren Speicherwörtern (24, 26, 28) aufweist, wobei zum Schreiben eines Speicherworts (24, 26, 28) ein Zugriff auf die gesamte Speicherseite (30, 32) erforderlich ist. Das Verfahren unterstützt Transaktionen mit atomaren Schreiboperationen, wobei Speicherabbilder (36) in einem Rückführpuffer (14) gespeichert werden, um bei einem Abbruch der Transaktion ein Rückführen des Speicherinhalts hinsichtlich der atomaren Schreiboperationen der Transaktion zu gestatten. Ferner unterstützt das Verfahren nicht-atomare Schreiboperationen während laufender Transaktionen. Zumindest dann, wenn ein Speicherabbild (36) einer von der nicht-atomaren Schreiboperation betroffenen Speicherseite (30, 32) im Rückführpuffer (14) vorliegt, wird auf Grundlage des vorliegenden Speicherabbilds (36) ein entsprechend der nicht-atomaren Schreiboperation modifiziertes Speicherabbild (44) erstellt, so daß bei einem Rückführen des Speicherinhalts die Auswirkungen erfolgreich abgeschlossener nicht-atomarer Schreiboperationen auf den Speicherinhalt erhalten bleiben. Ein Mikrocontroller und eine Chipkarte weisen entsprechende Merkmale auf. Durch die Erfindung wird eine Speicherverwaltung für einen nur seitenweise beschreibbaren Datenspeicher bereitgestellt, die neben atomaren auch nicht-atomare Schreiboperationen in Transaktionen unterstützt.

Description

  • Die Erfindung betrifft allgemein das Gebiet der Verwaltung eines Datenspeichers, der mehrere zu Speicherseiten gruppierte Speicherwörter aufweist und bei dem zum Schreiben oder Wiederbeschreiben eines Speicherworts ein Lese- und/oder Lösch- und/oder Schreibzugriff auf die gesamte Speicherseite, in der sich dieses Speicherwort befindet, erforderlich ist. Spezieller betrifft die Erfindung die Verarbeitung von Transaktionen mit jeweils mindestens einer atomaren Schreiboperation derart, daß bei einem Abbruch einer Transaktion der Speicherinhalt auf einen Zustand zurückgeführt wird, der bestehen würde, wenn die Transaktion zumindest hinsichtlich ihrer atomaren Schreiboperationen nie stattgefunden hätte. Noch genauer ist das Gebiet der Erfindung im Oberbegriff von Anspruch 1 definiert.
  • Ressourcenbeschränkte, kompakte Systeme, wie sie beispielsweise als Chipkarten oder als Steuerbaugruppen für diverse Geräte eingesetzt werden, sollen einerseits eine hohe Leistungsfähigkeit bei geringen Kosten und Abmessungen aufweisen und andererseits einen sicheren Betrieb auch bei ungünstigen Umgebungsbedingungen gewährleisten. Das zweitgenannte Erfordernis bedingt insbesondere, daß ein plötzlicher Stromausfall oder eine sonstige Betriebsstörung auf keinen Fall zu einer nicht vorgesehenen Datenkorrumpierung führen darf. Insbesondere im Zusammenhang mit Chipkarten ist dies eine wichtige Forderung, weil bei Chipkartensystemen oft erhebliche Sicherheitsinteressen auf dem Spiel stehen und weil das gezielte Abtrennen der Chipkarten-Versorgungsspannung ein gut bekanntes Angriffsverfahren darstellt.
  • Auf die genannten Sicherheitsüberlegungen wird beispielsweise in der Spezifikation der JavaCard™ der Firma Sun Microsystems Inc. eingegangen. Das Dokument "JavaCard™ 2.2.1 Runtime Environment (JCRE) Specification", Revision 1.0 vom 18. Mai 2000 (verfügbar unter http: / / java.sun.com/products/javacard) spezifiziert in Abschnitt 7 eine Reihe von Anforderungen betreffend die Verwaltung von Transaktionen und atomaren Schreibzugriffen. Ferner werden in dem Dokument "JavaCard™ 2.2.1 Application Programming Interface", Revision 1.0 vom 18. Mai 2000 (ebenfalls verfügbar unter der angegebenen Adresse) Methoden zum Beginnen, Bestätigen und Abbrechen einer Transaktion sowie zum atomaren und nicht-atomaren Kopieren und Füllen von Feldern spezifiziert.
  • Speicherverwaltungsverfahren und Chipkarten, die diesem JavaCard™- Standard entsprechen, sind bekannt. Bei einem zumindest firmeninternen Stand der Technik der Anmelderin werden Chipkarten eingesetzt, deren Datenspeicher durch ein byteweise beschreibbares EEPROM gebildet ist. Beim Ausführen einer atomaren Schreiboperation während einer Transaktion wird zunächst der ursprüngliche Inhalt der zu überschreibenden Speicherwörter in einem Rückführpuffer (engl.: commit buffer) gesichert. Die Speicherwörter des EEPROM-Datenspeichers werden dann byteweise überschrieben. Falls dieser Schreibvorgang nicht erfolgreich abgeschlossen werden kann - z. B. wegen einer plötzlichen Unterbrechung der Stromversorgung -, so werden beim nächsten Hochfahren der Chipkarte die Informationen im Rückführpuffer verwendet, um den ursprünglichen Zustand des Datenspeichers wiederherzustellen. Bei einem erfolgreichen Abschluß der Transaktion werden diese Informationen gelöscht.
  • Ferner stellt dieses System mit EEPROM-Datenspeicher die gemäß der Java- Card™-Spezifikation vorgegebenen nicht-atomaren Schreiboperationen während einer laufenden Transaktion zur Verfügung. Bei diesen Schreiboperationen werden die zu schreibenden Daten ohne Transaktionssicherung unmittelbar in die Speicherwörter des EEPROM-Datenspeichers geschrieben. Solche nicht-atomaren Schreibvorgänge sind besonders ressourcenschonend, weil kein zusätzlicher Platz im Rückführpuffer benötigt wird und auch die für die Transaktionssicherung erforderlichen Datentransfer-, Schreib- und Verwaltungsvorgänge entfallen. Eine erfolgreich abgeschlossene nicht- atomare Schreiboperation innerhalb einer Transaktion wird auch bei einem möglichen späteren Abbruch der Transaktion nicht rückgängig gemacht, weil sich die in dem Rückführpuffer gespeicherten Daten nur auf diejenigen Speicherwörter beziehen, die durch die atomaren Schreiboperationen der Transaktion geändert worden sind.
  • Diese Implementierung der JavaCard™-Anwendungsprogrammschnittstelle setzt jedoch einen byteweise beschreibbaren Datenspeicher voraus und ist nicht auf andere Speichertechniken übertragbar, bei denen die Bits eines Speicherworts zwar einzeln auf einen einzigen Binärwert - z. B. den Wert "1" - gesetzt, aber nur jeweils alle Bits einer ganzen Speicherseite auf den anderen Binärwert - z. B. den Wert "0"- gelöscht werden können. Diese Einschränkung findet sich beispielsweise bei Chipkarten, deren Datenspeicher als sogenannter FLASH-Speicher ausgestaltet ist.
  • Die Verwendung von FLASH-Speichern ist jedoch besonders für leistungsstarke Chipkarten, z. B. in 32-Bit-Technik arbeitende Chipkarten, wünschenswert weil FLASH-Speicher gegenüber herkömmlichen EEPROMs beträchtliche Vorteile hinsichtlich der Schreibzeit, der erforderlichen Programmierspannung und der erzielbaren Speicherdichte haben. Es besteht daher ein Bedürfnis, die oben beschriebene Funkionalität auch für Datenspeicher bereitzustellen, die die FLASH-Technologie oder andere Speichertechnologien mit vergleichbaren Eigenschaften einsetzen.
  • Aus dem Artikel "Implementation of Transactional Mechanisms for Open Smart- Card" von S. Lecomte, G. Grimaud und D. Donsez, veröffentlicht in Actes de GDC 1999 Gemplus Developer Conference, Paris, CNIT, Juni 1999 (gegenwärtig verfügbar unter http: / / www.univ-valenciennes.fr/limav/donsez/pub/publi/gdc99.pdf) ist ein Speicherverwaltungsverfahren mit den Merkmalen des Oberbegriffs von Anspruch 1 bekannt. Bei dem dort beschriebenen Verfahren wird vor jeder atomaren Schreiboperation ein Speicherabbild jeder von der Schreiboperation betroffenen Speicherseite in einem Rückführpuffer angelegt. Wenn ein Rückführen des Speicherinhalts erforderlich ist, werden die Einträge im Rückführpuffer der Reihe nach durchlaufen, um den ursprünglichen Speicherzustand wiederherzustellen.
  • Die Möglichkeit nicht-atomarer Schreiboperationen während einer laufenden Transaktion ist in diesem Dokument jedoch nicht erwähnt. Aus Gründen der Effizienzsteigerung besteht jedoch auch bei dem in dem genannten Artikel beschriebenen System das Bedürfnis, nicht-atomare Schreiboperationen mit der oben angegebenen Funktionalität zu unterstützen.
  • Die Erfindung hat demgemäß die Aufgabe, die genannten Probleme des Stands der Technik ganz oder zum Teil zu lösen. Insbesondere soll durch die Erfindung eine Speicherverwaltung für einen nur seitenweise beschreibbaren Datenspeicher bereitgestellt werden, die neben atomaren auch nicht- atomare Schreiboperationen in Transaktionen unterstützt. In bevorzugten Ausführungsformen soll durch die Erfindung das gemäß der JavaCard™- Spezifikation vorgegebene Verhalten auch in Chipkarten implementiert werden, die einen in FLASH-Technologie ausgestalteten Datenspeicher aufweisen.
  • Erfindungsgemäß wird diese Aufgabe durch ein Verfahren zur Verwaltung eines Datenspeichers mit den Merkmalen des Anspruchs 1 sowie durch einen Mikrocontroller mit den Merkmalen des Anspruchs 9 und eine Chipkarte mit den Merkmalen des Anspruchs 10 gelöst. Die abhängigen Ansprüche definieren bevorzugte Ausgestaltungen der Erfindung.
  • Die Erfindung geht von der Grundidee aus, bei einem nicht-atomaren Schreibvorgang während einer Transaktion nicht nur den Inhalt des Datenspeichers, sondern gegebenenfalls auch den Inhalt des Rückführpuffers zu ändern. Diese Grundidee ist schon deshalb überraschend, weil nach dem Stand der Technik der Rückführpuffer zur Sicherung des ursprünglichen Speicherzustands dient und gerade nicht geändert werden darf. Die Erfindung lehrt dagegen, daß bei einem nicht-atomaren Schreibzugriff auf eine Seite, deren Speicherabbild bereits im Rückführpuffer vorliegt, ein modifiziertes Speicherabbild erstellt wird, das sich aus dem bereits vorliegenden Speicherabbild durch Ausführen der nicht-atomaren Schreiboperation ergibt. Auf diese Weise bleiben die Auswirkungen erfolgreich abgeschlossener nicht-atomarer Schreiboperationen auch dann erhalten, wenn die Transaktion wegen eines Fehlers oder durch ein entsprechendes Kommano abgebrochen wird und somit ein Rückführvorgang hinsichtlich der atomaren Schreiberationen erfolgt.
  • Durch die Erfindung läßt sich die eingangs beschriebene Funktionalität von Transaktionen mit atomaren und nicht-atomaren Speicheroperationen auch in Zusammenhang mit Datenspeichern verwirklichen, die lediglich ein seitenweises Löschen und/oder ein seitenweises Beschreiben gestatten. Dies eröffnet neue Möglichkeiten für den Einsatz derartiger Speicher, insbesondere bei leistungsstarken Chipkarten, die beispielsweise der JavaCard™- Spezifikation entsprechen.
  • Erfindungsgemäß ist vorgesehen, bei einer nicht-atomaren Schreiboperation ein modifiziertes Speicherabbild zu erstellen. In unterschiedlichen Ausführungsformen wird dazu entweder ein bereits vorhandenes ursprüngliches Speicherabbild (before image) unmittelbar verändert, oder es wird eine Kopie des vorhandenen ursprünglichen Speicherabbildes erstellt, die die gewünschten Veränderungen aufweist. Die zweitgenannte Möglichkeit wird bevorzugt, weil sich dadurch undefinierte Speicherzustände ausschließen lassen, die sonst möglicherweise bei einem plötzlichen Abtrennen der Versorgungsspannung während des Überschreibens des Speicherabbilds auftreten könnten. In manchen Ausführungsformen der Erfindung wird das ursprüngliche Speicherabbild gelöscht, sobald das modifizierte Speicherabbild im Rückführpuffer erfolgreich angelegt worden ist. In Ausführungsalternativen können die Löschung und ebenso das Neubeschreiben von nicht mehr benötigten Speicherabbildern jedoch auch so lange aufgeschoben werden, bis der Rückführpuffer überzulaufen droht.
  • In einer besonders einfachen Ausführungsform der Erfindung enthält der Rückführpuffer zu jedem Zeitpunkt höchstens ein gültiges Speicherabbild jeder Speicherseite. Dies schließt nicht aus, daß, wie gerade erwähnt, temporär ungültige Speicherabbilder, d. h. Speicherabbilder, die gerade angelegt werden oder zur Löschung freigegeben sind, im Rückführpuffer enthalten sind. In komplexeren Ausgestaltungen sind potentiell mehrere Speicherabbilder einer Speicherseite vorgesehen, die während des Rückführprozesses der Reihe nach abgearbeitet werden.
  • Zusammen mit den eigentlichen Speicherabbildern werden zudem jeweils zugehörige Verwaltungsinformationen angelegt, die den Bezug zwischen den gesicherte Speicherabbildern und den zugrundeliegenden ursprünglichen Speicherabbildern herstellen.
  • Bei der Verarbeitung nicht-atomarer Schreiboperationen, die eine innerhalb der laufenden Transaktion - noch - nicht in atomarer Weise beschriebene Speicherseite betreffen, wird in bevorzugten Ausführungsformen zwischen Schreiboperationen auf eine gesamte Speicherseite und solchen auf einen Teil einer Speicherseite unterschieden. Im erstgenannten Fall kann direkt in den Datenspeicher geschrieben werden, während im zweitgenannten Fall vorzugsweise eine Absicherung gegen eine Korrumpierung der restlichen Daten der Speicherseite bei einem Fehlschlagen des Schreibvorgangs erfolgt.
  • Vorzugsweise stellt die Erfindung Verfahren bereit, die zumindest hinsichtlich der Verwaltung von Transaktionen sowie des Schreibens und Füllens von Speicherfeldern der Anwendungsprogrammschnittstelle (Application Programming Interface - API) der JavaCard™-Spezifikation entsprechen. In bevorzugten Ausführungsformen stimmt die bereitgestellte Funktionalität mit Version 2.2.1 dieser Spezifikation überein oder ist gemäß zukünftigen Versionen weiterentwickelt.
  • Die Erfindung eignet sich bevorzugt für tragbare Datenträger und wird insbesondere durch eine Chipkarte implementiert. Unter dem Begriff "Chipkarte" sollen im vorliegenden Text aber generell neben den üblichen Bauformen in Scheckkartengröße oder als kleine Kartenmodule, z. B. SIMs-(subscriber identity modules) bei Mobiltelefonen auch Chipkarten in anderen Bauformen, z. B. als Schlüsselanhänger oder Ringe verstanden werden. Die Chipkarte weist vorzugsweise einen Ein-Chip-Mikrocontroller auf, der mehrere voneinander abgrenzbare Funktionseinheiten enthält.
  • In bevorzugten Ausgestaltungen des erfindungsgemäßen Mikrocontrollers und der erfindungsgemäßen Chipkarte weisen diese Merkmale auf, die den oben beschriebenen oder den in den abhängigen Verfahrensansprüchen definierten Merkmalen entsprechen.
  • Die Aufzählungsreihenfolge der Schritte in den Verfahrensansprüchen soll nicht einschränkend aufgefaßt werden. Es sind vielmehr Ausführungsformen der Erfindung vorgesehen, bei denen diese Schritte in anderer Reihenfolge oder ganz oder teilweise parallel oder ganz oder teilweise quasiparallel bzw. ineinander verzahnt ausgeführt werden.
  • Weitere Merkmale, Aufgaben und Vorteile der Erfindung ergeben sich aus der folgenden Beschreibung eines Ausführungsbeispiels und mehrerer Ausführungsalternativen. In den schematischen Zeichnungen zeigen:
  • Fig. 1 eine Darstellung der aufeinander aufbauenden Funktionsschichten einer Chipkarte in einem Ausführungsbeispiel der Erfindung,
  • Fig. 2 eine schematische Darstellung des Inhalts des Datenspeichers und des Rückführpuffers beim Ausführen einer atomaren Schreiboperation, und
  • Fig. 3 eine schematische Darstellung des Inhalts des Datenspeichers und des Rückführpuffers bei einer nicht-atomaren Schreiboperation während einer laufenden Transaktion.
  • In Fig. 1 ist eine Chipkarte nach dem vorliegend beschriebenen Ausführungsbeispiel der Erfindung in ihren aufeinander aufbauenden funktionalen Schichten gezeigt, soweit die für die Erfindung relevante Funktionalität der Chipkarte betroffen ist.
  • Eine Hardwareschicht 10 weist primär einen Ein-Chip-Mikrocontroller auf, der als voneinander abgrenzbare Funktionsmodule eine Prozessoreinheit, einen Speicher und mehrere Hilfsmodule, wie (z. B. Treiber, Taktgeneratoren, oder ähnliche, enthält. Der Speicher ist physisch aus mehreren Speicherfeldern in unterschiedlichen Speichertechnologien, z. B. als flüchtiges RAM, als maskenprogrammiertes ROM, als FLASH-Speicher oder dgl. gebildet. Logisch stellt der Speicher eine Reihe von Speicherbereichen zur Verfügung, die auf die physisch vorgegebenen Speicherfelder verteilt sind. So ist beispielsweise der Programmspeicher teils im maskenprogrammierten ROM und teils im FLASH-Speicher angeordnet. Ein als Datenspeicher 12 dienender Bereich und ein als Rückführpuffer 14 (commit buffer) dienender Bereich befinden sich im FLASH-Speicher. Ein Cache-Speicher ist im RAM angeordnet, ein temporärer Arbeitsspeicher wird durch das RAM bereitgestellt.
  • Auf die Hardware-Schicht 10 setzt eine hardwarenahe Softwareschicht 16 auf, die Grundfunktionen zur Speicherzugriffssteuerung bereitstellt. Neben Funktionen zum Lesen und Schreiben von Speicherwörtern und Speicherseiten sind dies insbesondere die Funktionen "lese_alte_Seite", "schreibe_ alte_Seite" und "verwerfe_früheres_Speicherabbild". Die Funktion "lese_alte_ Seite" (readOldPage) gibt das im Rückführpuffer 14 gespeicherte Speicherabbild einer Seite zurück, die bereits während einer Transaktion geändert wurde. Durch die Funktion "schreibe_alte_Seite" (writeOldPage) wird in sicherer Weise ein modifiziertes Speicherabbild erstellt, nämlich so, daß auch bei einem plötzlichen Funktionsausfall keine korrumpierten Datenwerte im alten bzw. dem modifizierten Speicherabbild auftreten. Die Funktion "verwerfe_früheres_Speicherabbild" (discardBeforeImage) löscht schließlich das Speicherabbild einer Seite aus dem Rückführpuffer 14. Zweckmäßig wird dabei nur die zu der Seite gehörige Verwaltungsinformation geändert, so daß die Seite nicht mehr als zurückführbare Seite erscheint.
  • Als nächste Schicht setzt eine Speicherverwaltung 18 auf die hardwarenahe Schicht 16 auf. Die Speicherverwaltung 18 führt, unter Verwendung der durch die hardwarenahe Schicht 16 bereitgestellten Funktionen, die erfindungsgemäßen Verwaltungsvorgänge durch, um die von einer Anwendungsprogrammschnittstelle 20 bereitgestellten Methoden zu implementieren.
  • Die Anwendungsprogrammschnittstelle 20 (application program interface - API) stellt im vorliegenden Ausführungsbeispiel Methoden gemäß dem eingangs bereits zitierten Dokument "JavaCard™ 2.2.1 Application Programming Interface" zur Verfügung. Hinsichtlich einer Beschreibung der genauen Funktionalität dieser Methoden wird das genannte Dokument in die vorliegende Beschreibung aufgenommen. Die von der Anwendungsprogrammschnittstelle 20 bereitgestellten Methoden sind im vorliegenden Ausführungsbeispiel die Methoden "starte_Transaktion" (beginTransaction), "bestätige_ Transaktion" (commitTransaction), "Transaktionsabbruch" (abortTransaction), "kopiere_Feld_atomar" (arrayCopy), "kopiere_Feld_nicht-atomar" (arrayCopy NonAtomic) und "fülle_Feld_nicht-atomar" (arrayFillNonAtomic).
  • Kurz zusammengefaßt werden gemäß der JavaCard™-Spezifikation alle atomaren Schreiboperationen, die innerhalb einer Transaktion auftreten, als untrennbare Einheit aufgefaßt. Es wird sichergestellt, daß der Speicherzustand nach dem Ende einer Transaktion entweder die Wirkungen aller atomarer Schreiboperationen der Transaktion oder die Wirkung keiner dieser Schreiboperationen widerspiegelt.
  • Ein erfolgreicher Abschluß der Transaktion besteht in der Ausführung der Methode "bestätige_Transaktion". Die Transaktion schlägt fehl, wenn entweder die Methode "Transaktionsabbruch" aufgerufen wird, oder wenn während der Transaktion die Stromversorgung oder eine sonstige Verbindung zur Chipkarte abbricht (sogenanntes tear-Ereignis). In beiden Fällen erfolgt das Wiederherstellen des Speicherzustands durch einen Rückführvorgang (rollback). Bei einem softwaremäßig ausgelösten Transaktionsabbruch wird dieser Rückführvorgang sogleich durchgeführt, während bei einem z. B. durch einen Spannungsausfall ausgelösten tear-Ereignis der Transaktionsabbruch beim nächsten Hochfahren der Chipkarte erkannt wird und demgemäß erst dann der Rückführvorgang erfolgen kann.
  • Die nicht-atomaren Methoden "kopiere_Feld_nicht-atomar" und "fülle_Feld_ nicht-atomar" unterliegen nicht dieser Transaktionssicherung. Werden sie während der Programmausführung unterbrochen, so kann der betroffene Speicherbereich einen undefinierten Zustand aufweisen. Andererseits soll jedoch das Ergebnis einer erfolgreich abgeschlossenen nicht-atomaren Methode während einer laufenden Transaktion durch den auf einen Transaktionsabbruch oder ein tear-Ereignis folgenden Rückführvorgang nicht wieder rückgängig gemacht werden.
  • Die JavaCard™-Spezifikation legt ferner fest, daß Schreib- und Kopiervorgänge in der Regel auch außerhalb einer Transaktion atomar ausgeführt werden müssen. Solche Vorgänge laufen daher ebenfalls unter Verwendung der Transaktionssicherung ab; die der Erfindung zugrundeliegende Problematik tritt dabei jedoch nicht auf, weil diese "Mini-Transaktionen" keine nicht-atomaren Schreiboperationen enthalten können.
  • Die Anwendungsprogrammschnittstelle 20 wird von einem oder mehreren Anwendungsprogrammen 22 genutzt, um die von der Chipkarte bereitzustellenden Funktionen auszuführen. Insbesondere eignet sich die Chipkarte nach dem vorliegend beschriebenen Ausführungsbeispiel für Anwendungen, bei denen relativ große Datenmengen in die Chipkarte geladen werden. Dies können beispielsweise biometrische Daten sein, etwa ein Fingerabdruck mit einer typischen Größe von 2 kByte, oder Daten im Gesundheitswesen, etwa Rezepte bei einer Krankenkassenkarte, die für mehrere Personen einer Familie vorgesehen ist.
  • In Fig. 2 und Fig. 3 ist ein Ausschnitt aus dem Datenspeicher 12 in unterschiedlichen Zuständen dargestellt. Der Datenspeicher 12 ist in FLASH- Technologie implementiert. Er weist eine Vielzahl von Speicherwörtern auf, die im vorliegenden Ausführungsbeispiel jeweils 8 Bit, d. h. 1 Byte, breit sind; in den Fig. 2 und Fig. 3 sind beispielhaft lediglich drei Speicherwörter mit den Bezugzeichen 24, 26 und 28 versehen. Die Speicherwörter 24, 26, 28 sind zu Speicherseiten 30 und 32 gruppiert, die im vorliegenden Ausführungsbeispiel jeweils sechzehn Speicherwörter, d. h. sechzehn Bytes, umfassen.
  • Aufgrund der verwendeten FLASH-Technologie kann der Datenspeicher 12 nicht byteweise verändert werden. Es ist vielmehr im Prinzip erforderlich, zum Schreiben eines Speicherworts, z. B. das Speicherwort 24, zunächst die gesamte Speicherseite, in der sich das Speicherwort befindet - hier die Speicherseite 30 - auszulesen und zwischenzuspeichern, dann das Speicherwort 24 in den zwischengespeicherten Daten zu ändern, die Speicherseite 30 komplett zu löschen und schließlich die Speicherseite 30 mit den geänderten Daten neu zu beschreiben. Dieses Prinzip wird bei dem im folgenden genauer erläuterten Verfahren jedoch im Hinblick auf die Sicherheit und Effizienz mehrfach modifiziert.
  • Fig. 2 zeigt anhand eines Beispiels die wesentlichen Verfahrensschritte beim Ausführen einer atomaren Schreiboperation innerhalb einer Transaktion. Es sollen die, hier als ASCII-Zeichen dargestellten, Bytewerte "1" und "2" atomar in die Speicherwörter 24 und 26 geschrieben werden.
  • In einem ersten Schritt 34 wird dazu zunächst ein Speicherabbild 36 (before image) der Speicherseite 30, in der sich die zu beschreibenden Speicherwörter 24, 26 befinden, im Rückführpuffer 14 angelegt. Neben dem eigentlichen Speicherabbild 36 werden auch die erforderlichen Verwaltungsinformationen, im vorliegenden Beispiel die ursprüngliche Adresse des Speicherabbilds 36 im Datenspeicher 12 sowie die Länge des Speicherabbilds 36, in den Rückführpuffer 14 geschrieben. Da der Rückführpuffer 14 ebenfalls als FLASH- Speicher ausgestaltet ist, läuft auch dieser Schreibvorgang in mehreren Stufen ab. Es ist jedoch vorgesehen, das Speicherabbild 36 vollständig in eine einzige Seite des Rückführpuffer 14 zu schreiben, so daß hier auf ein vorheriges Auslesen und Zwischenspeichern dieser Seite verzichtet werden kann.
  • Nachdem der Eintrag im Rückführpuffer 14 erfolgreich angelegt wurde, kann in Schritt 38 die von der Schreiboperation betroffene Speicherseite gelöscht werden. Das Ergebnis dieses Löschvorgangs ist in Fig. 2 bei einem Ausführungsbeispiel mit eingeschalteter Speicherverschlüsselung gezeigt. Das physische Löschen der sechzehn Speicherwörter in der Speicherseite 30 bewirkt, daß sämtliche Bits dieser Speicherwörter einen einheitlichen Wert, d. h. entweder logisch "0" oder logisch "1", aufweisen. Würden diese Speicherwörter nach dem Löschen ausgelesen und "entschlüsselt" werden, so würde dies scheinbar zufällige Daten liefern, wie beispielhaft in Fig. 2 gezeigt. Da überdies fehlerhafte Prüfsummen auftreten, würde diese Situation von der Chipkarte erkannt werden und einen Rückführvorgang auslösen.
  • Nach dem Löschen wird in Schritt 40 die Speicherseite 30 neu beschrieben, wobei die Speicherwörter 24 und 26 entsprechend der ausgeführten Schreiboperation die Werte "1" beziehungsweise "2" erhalten.
  • Würde jetzt die Transaktion bestätigt, etwa durch Ausführung der Methode "bestätige_Transaktion", so müßte lediglich der Inhalt des Rückführpuffers 14 gelöscht werden. Bei einem angenommenen Abbruch der Transaktion oder bei einem tear-Ereignis während der Schritte 38 und 40 würde dagegen ein Rückführvorgang durchgeführt, bei dem das Speicherabbild 36 wieder in die Speicherseite 30 - also an die im Rückführpuffer angegebene Adresse - zurückgeschrieben wird, um den ursprünglichen Zustand des Datenspeichers 12 wiederherzustellen.
  • In Fig. 3 ist eine Fortsetzung der in Fig. 2 begonnenen Transaktion mit einer nicht-atomaren Schreiboperation dargestellt. Bei dieser Operation sollen die Bytewerte "5", "6", "7", "8" in die Speicherseite 30 an Stelle der dort vorhandenen Werte "K", "L", "M", "N" eingeschrieben werden. Da die nun zu beschreibende Speicherseite 30 bereits Ziel einer atomaren Schreiboperation während der laufenden Transaktion war - und demgemäß bereits das Speicherabbild 36 dieser Speicherseite 30 im Rückführpuffer 14 vorliegt -, wird zunächst in Schritt 42 ein gemäß der nicht-atomaren Schreiboperation modifiziertes Speicherabbild 44 im Rückführpuffer 14 angelegt. Dabei ist zu beachten, daß das vorhandene Speicherabbild 36 nicht ungesichert gelöscht und überschrieben werden darf, weil sonst ein mögliches tear-Ereignis während des Schreibvorgangs zu einem Verlust des Speicherabbilds 36 führen könnte, bevor das modifizierte Speicherabbild 44 angelegt ist. Ein Rückführen der laufenden Transaktion wäre dann unmöglich.
  • Es wird daher zunächst das modifizierte Speicherabbild 44 zusätzlich im Rückführpuffer 14 erstellt. Dieses modifizierte Speicherabbild 44 enthält die Informationen des ursprünglichen Speicherabbilds 36, wobei jedoch die von der nun durchzuführenden nicht-atomaren Schreiboperation beschriebenen Speicherwörter gemäß dieser Schreiboperation geändert wurden. Nachdem das modifizierte Speicherabbild 44 und die damit verbundenen Verwaltungsinformationen erfolgreich erstellt worden sind, kann in einem weiteren Schritt, der in Fig. 3 nicht gezeigt ist, das ursprüngliche Speicherabbild 36 gelöscht werden. Tritt ein tear-Ereignis auf, während mehrere Speicherabbilder im Rückführpuffer 14 vorliegen, so wird im hier beschriebenen Ausführungsbeispiel bei dem folgenden Rückführvorgang nur das letzte, d. h. das jüngste, Speicherabbild ausgewertet, während die früheren Speicherabbilder verworfen werden.
  • Schließlich wird in Schritt 46 die von der nicht-atomaren Schreiboperation betroffene Speicherseite 30 im Datenspeicher 12 geändert. Dies ist wiederum ein mehrstufiger Vorgang, wie er bereits oben in Zusammenhang mit Fig. 2 beschrieben wurde. Die nicht-atomare Schreiboperation ist damit erfolgreich abgeschlossen. Da sowohl das von der nicht-atomaren Schreiboperation betroffene Speicherwort 30 im Datenspeicher 12 als auch das entsprechende Speicherabbild 44 im Rückführpuffer 14 gemäß der nicht-atomaren Schreiboperation modifiziert wurden, bleiben die Auswirkungen der nicht- atomaren Schreiboperation sowohl bei einem erfolgreichen Abschluß der Transaktion als auch bei einem Transaktionsabbruch oder einem tear- Ereignis erhalten.
  • Es wird nun noch der Fall erläutert, daß - in einer Fortsetzung der Transaktion von Fig. 2 und Fig. 3 - eine nicht-atomare Schreiboperation auf eine Speicherseite, z. B. die Speicherseite 32, erfolgt, auf die bisher nicht von einer atomaren Schreiboperation zugegriffen wurde und von der deshalb noch kein Speicherabbild im Rückführpuffer 14 existiert.
  • Betrifft diese nicht-atomare Schreiboperation die gesamte Speicherseite 32, so kann der Vorgang des Löschens mit anschließendem Beschreiben ohne Sicherungsmaßnahmen und ohne Veränderung des Rückführpuffers 14 durchgeführt werden. Bei einem möglichen tear-Ereignis während dieses Vorgangs wäre der Inhalt der Speicherseite 32 undefiniert, was für nicht- atomare Schreiboperationen zulässig ist. Bei einem erfolgreichen Abschluß der Schreiboperation befindet sich der geänderte Speicherinhalt im Datenspeicher 12 und wird auch durch einen möglichen zukünftigen Rückführvorgang der Transaktion nicht beeinträchtigt.
  • Betrifft dagegen der nicht-atomare Schreibvorgang nur einzelne Speicherwörter der Speicherseite 32, z. B. nur das Speicherwort 28, so ist ein gesichertes Schreiben der Speicherseite 32 erforderlich, um bei einem tear-Ereignis während des Schreibvorgangs den sonstigen Inhalt der Speicherseite 32 nicht zu korrumpieren. Es wird dazu, ähnlich wie bei dem in Fig. 2 dargestellten Verfahrensabschnitt, zunächst ein Speicherabbild der ursprünglichen Speicherseite 32 im Rückführpuffer 14 angelegt. Die Speicherseite 32 wird nun gelöscht und neu beschrieben. Tritt dabei ein Fehler auf, kann der ursprüngliche Zustand der Speicherseite 32, insbesondere hinsichtlich der von der nicht-atomaren Schreiboperation nicht betroffenen Speicherwörter, anhand des Speicherabbildes im Rückführpuffer 14 wiederhergestellt werden. Sobald der Schreibvorgang der Speicherseite 32 erfolgreich abgeschlossen ist, wird das Speicherabbild im Rückführpuffer 14 verworfen und damit der Rückführpuffer 14 entlastet.
  • Insgesamt wird durch dieses Verfahren erreicht, daß bei einem Transaktionsabbruch oder einem tear-Ereignis die erfolgreich nicht-atomar geschriebenen Daten erhalten bleiben, während alle bisher atomar geschriebenen Daten innerhalb der Transaktion in den Ausgangszustand zurückgeführt werden. Speicherwörter, die Ziel einer fehlgeschlagenen nicht-atomaren Schreiboperation waren, befinden sich in einem undefinierten Zustand.
  • In einer optimierten Ausgestaltung des vorliegend beschriebenen Ausführungsbeispiels ist ein Cache-Speicher - siehe Hardware-Schicht 10 in Fig. 1 - vorgesehen, durch den die Anzahl der erforderlichen Schreibvorgänge reduziert werden kann. Nicht-atomare Schreiboperationen werden in dieser Ausführungsvariante, soweit die Größe des Cache-Speichers ausreicht, gegenüber atomaren Schreiboperationen vorgezogen. Das Überschreiben erfolgt dann im Cache-Speicher und nicht in dem im FLASH-Technologie realisierten Rückführpuffer 14.

Claims (10)

1. Verfahren zur Verwaltung eines Datenspeichers (12), wobei
der Datenspeicher (12) eine Vielzahl von Speicherwörtern (24, 26, 28) aufweist, die zu Speicherseiten (30, 32) gruppiert sind,
der Datenspeicher (12) zum Schreiben eines Speicherworts (24, 26, 28) einen Lese- und/oder Lösch- und/oder Schreibzugriff auf die gesamte Speicherseite (30, 32), in der sich das Speicherwort (24, 26, 28) befindet, erfordert,
das Verfahren Transaktionen mit je mindestens einer atomaren Schreiboperation unterstützt,
beim Durchführen einer Transaktion mindestens je ein Speicherabbild (36) jeder von einer atomaren Schreiboperation betroffenen Speicherseite (30, 32) in einem Rückführpuffer (14) gespeichert wird, wobei das Speicherabbild (36) den Inhalt der Speicherseite (30, 32) ohne die Wirkung der atomaren Schreiboperation zeigt, um bei einem Abbruch der Transaktion ein Rückführen des Speicherinhalts hinsichtlich der mindestens einen atomaren Schreiboperation der Transaktion zu gestatten, dadurch gekennzeichnet, daß
das Verfahren ferner nicht-atomare Schreiboperationen während laufender Transaktionen unterstützt, und daß
bei einer nicht-atomaren Schreiboperation zumindest dann, wenn ein Speicherabbild (36) einer von der nicht-atomaren Schreiboperation betroffenen Speicherseite (30, 32) im Rückführpuffer (14) vorliegt, auf Grundlage des vorliegenden Speicherabbilds (36) ein entsprechend der nicht-atomaren Schreiboperation modifiziertes Speicherabbild (44) erstellt wird, so daß bei einem Rückführen des Speicherinhalts die Auswirkungen erfolgreich abgechlossener nicht-atomarer Schreiboperationen auf den Speicherinhalt erhalten bleiben.
2. Verfahren nach Anspruch 1, bei dem das im Rückführpuffer (14) vorliegende Speicherabbild (36) zumindest so lange erhalten bleibt, bis das modifizierte Speicherabbild (44) erstellt ist und erfolgreich in den Rückführpuffer (14) eingeschrieben wurde.
3. Verfahren nach Anspruch 1 oder Anspruch 2, bei dem zu jedem Zeitpunkt höchstens ein gültiges Speicherabbild (36, 44) jeder Speicherseite (30, 32) im Rückführpuffer (14) enthalten ist.
4. Verfahren nach einem der Ansprüche 1 bis 3, bei dem bei einer nicht-atomaren Schreiboperation, die einen Teil einer Speicherseite (32) betrifft, von der kein Speicherabbild im Rückführpuffer (14) vorliegt, ein temporäres Speicherabbild der Speicherseite (32) im Rückführpuffer (14) gespeichert wird, um bei einem Fehlschlagen der nicht-atomaren Schreiboperation ein Rückführen zumindest desjenigen Teils der Speicherseite (32), der nicht von der nicht-atomaren Schreiboperation betroffen ist, zu gestatten.
5. Verfahren nach einem der Ansprüche 1 bis 4, bei dem bei einer nicht-atomaren Schreiboperation, die eine gesamte Speicherseite (32) betrifft, von der kein Speicherabbild im Rückführpuffer (14) vorliegt, die betroffene Speicherseite (32) ohne Sicherung überschrieben wird.
6. Verfahren nach einem der Ansprüche 1 bis 5, das hinsichtlich der Transaktionsverwaltung und hinsichtlich atomarer und nicht-atomarer Schreiboperationen für Felder Methoden gemäß der JavaCard™-API-Spezifikation bereitstellt.
7. Verfahren nach einem der Ansprüche 1 bis 6, bei dem zum Beschreiben eines Teils einer Speicherseite (30, 32) des Datenspeichers (12) die gesamte Speicherseite (30, 32) aus dem Datenspeicher (12) ausgelesen und zwischengespeichert wird, die gesamte Speicherseite (30, 32) gelöscht wird, der zu beschreibende Teil der zwischengespeicherten Daten modifiziert wird, und die gesamte Speicherseite (30, 32) mit den modifizierten Daten neu beschrieben wird.
8. Verfahren nach einem der Ansprüche 1 bis 7, das durch eine Prozessoreinheit eines Mikrocontrollers einer Chipkarte ausgeführt wird, wobei die Chipkarte ferner den Datenspeicher (12), den Rückführpuffer (14) und einen Programmspeicher aufweist, der Programmbefehle zur Steuerung des Mikrocontrollers enthält.
9. Mikrocontroller mit einer Prozessoreinheit und mehreren Speicherfeldern, wobei die Speicherfelder den Datenspeicher (12), den Rückführpuffer (14) und einen Programmspeicher bereitstellen, und wobei der Programmspeicher Programmbefehle enthält, die die Prozessoreinheit dazu veranlassen, ein Verfahren nach einem der Ansprüche 1 bis 8 auszuführen.
10. Tragbarer Datenträger, insbesondere Chipkarte, mit einem Mikrocontroller gemäß Anspruch 9.
DE10141926A 2001-08-28 2001-08-28 Verfahren zur Sicherung der Daten eines Datenspeichers Expired - Fee Related DE10141926B4 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE10141926A DE10141926B4 (de) 2001-08-28 2001-08-28 Verfahren zur Sicherung der Daten eines Datenspeichers
EP02019027A EP1308842B1 (de) 2001-08-28 2002-08-27 Verfahren und Vorrichtung zur Verwaltung eines Datenspeichers
AT02019027T ATE515737T1 (de) 2001-08-28 2002-08-27 Verfahren und vorrichtung zur verwaltung eines datenspeichers
ES02019027T ES2368829T3 (es) 2001-08-28 2002-08-27 Procedimiento y dispositivo para administrar un dispositivo de memoria.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10141926A DE10141926B4 (de) 2001-08-28 2001-08-28 Verfahren zur Sicherung der Daten eines Datenspeichers

Publications (2)

Publication Number Publication Date
DE10141926A1 true DE10141926A1 (de) 2003-04-03
DE10141926B4 DE10141926B4 (de) 2004-05-06

Family

ID=7696747

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10141926A Expired - Fee Related DE10141926B4 (de) 2001-08-28 2001-08-28 Verfahren zur Sicherung der Daten eines Datenspeichers

Country Status (4)

Country Link
EP (1) EP1308842B1 (de)
AT (1) ATE515737T1 (de)
DE (1) DE10141926B4 (de)
ES (1) ES2368829T3 (de)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008078207A3 (en) * 2006-12-22 2008-11-20 Ibm System and method for recovery of memory transactions
DE102008051575A1 (de) 2008-10-14 2010-04-15 Giesecke & Devrient Gmbh Verfahren und Vorrichtung zur Verwaltung eines Datenspeichers
WO2012079730A1 (de) * 2010-12-14 2012-06-21 Giesecke & Devrient Gmbh Portabler datenträger mit fehlbedienungszähler

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009048144A1 (de) 2009-10-02 2011-04-07 Giesecke & Devrient Gmbh Verfahren zum Schreiben von Datensätzen in einen nicht-flüchtigen Datenspeicher

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10059006A1 (de) * 1999-12-30 2001-07-19 Ibm Verfahren und System zur sicheren Verwaltung von Dateien in nichtflüchtigen Speichern

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6535997B1 (en) * 1999-05-19 2003-03-18 International Business Machines Corporation Data integrity in smartcard transactions

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10059006A1 (de) * 1999-12-30 2001-07-19 Ibm Verfahren und System zur sicheren Verwaltung von Dateien in nichtflüchtigen Speichern

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008078207A3 (en) * 2006-12-22 2008-11-20 Ibm System and method for recovery of memory transactions
US7861114B2 (en) 2006-12-22 2010-12-28 International Business Machines Corporation System and method for recovery of memory transactions
DE102008051575A1 (de) 2008-10-14 2010-04-15 Giesecke & Devrient Gmbh Verfahren und Vorrichtung zur Verwaltung eines Datenspeichers
EP2177988A2 (de) 2008-10-14 2010-04-21 Giesecke & Devrient GmbH Verfahren und Vorrichtung zur Verwaltung eines Datenspeichers
WO2012079730A1 (de) * 2010-12-14 2012-06-21 Giesecke & Devrient Gmbh Portabler datenträger mit fehlbedienungszähler
US9298533B2 (en) 2010-12-14 2016-03-29 Giesecke & Devrient Gmbh Portable data carrier having operating error counter

Also Published As

Publication number Publication date
EP1308842A3 (de) 2009-05-06
DE10141926B4 (de) 2004-05-06
EP1308842A2 (de) 2003-05-07
EP1308842B1 (de) 2011-07-06
ATE515737T1 (de) 2011-07-15
ES2368829T3 (es) 2011-11-22

Similar Documents

Publication Publication Date Title
DE69809527T2 (de) Externe Speichervorrichtung und Datenverarbeitungsverfahren
DE69030024T2 (de) Verfahren zur Herstellung einer Duplikation von einer Datenbank
DE69525732T2 (de) Kartenförmiges Speichermedium
DE60030872T2 (de) Verfahren und anordnung um atomische aktualisierungen durchzuführen durch verwendung eines logischen flaschspeichergerätes
DE3318123A1 (de) Schaltungsanordnung mit einem datenspeicher und einer ansteuereinheit zum auslesen, schreiben und loeschen des speichers
DE10020093A1 (de) Datenintegrität bei Smartcard-Transaktionen
WO2006120001A1 (de) Tragbarer datenträger mit sicherer datenverarbeitung
DE112010004185B4 (de) Synchronisieren einer Datenbank mit datenbankfremden Ressourcen
DE10141926B4 (de) Verfahren zur Sicherung der Daten eines Datenspeichers
DE10059006B4 (de) Verfahren und System zur sicheren Verwaltung von Dateien in nichtflüchtigen Speichern
EP1628223B1 (de) Schreiben von Daten in einen nichtflüchtigen Speicher eines tragbaren Datenträgers
DE102017124805A1 (de) Speicheranordnung und verfahren zum zwischenspeichern von speicherinhalten
WO2005104018A2 (de) Verwalten eines dateisystems in einem tragbaren datenträger
WO2006074869A1 (de) Datenspeichersystem und verfahren zu dessen betrieb
EP2312444B1 (de) Verfahren zum Schreiben von Datensätzen in einen nicht-flüchtigen Datenspeicher
DE4340069A1 (de) Verfahren zum Sichern von Daten auf dem Plattenspeicher eines Rechners
EP3271825B1 (de) Verfahren zum speichern von nutzerdaten in einem dokument
EP1588266A1 (de) Speicherdefragmentierung, insbesondere bei einem tragbaren datenträger
DE69200252T2 (de) Datenspeichereinrichtung.
EP0671690B1 (de) Verfahren zur Steuerung der Datenverfügbarkeit in Zwischenspeichern bei Computern
DE102017011957A1 (de) Verfahren und system für zuverlässige software-updates in eingebettetensystemen, die für stromunterbrechungen anfällig sind
EP1922618A1 (de) Verfahren zum ausführen einer folge von gleichartigen kommandos in einem tragbaren datenträger
DE10339203A1 (de) Organisation eines Dateibaums bei einem tragbaren Datenträger
DE10323033A1 (de) Laden eines ausführbaren Programms in einen tragbaren Datenträger
EP2177988B1 (de) Verfahren und vorrichtung zur verwaltung eines datenspeichers

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20130301