[go: up one dir, main page]

DE10129417A1 - Verfahren zum Bearbeiten eines Speicherplatzes in einem Speicher einer Chipkarte - Google Patents

Verfahren zum Bearbeiten eines Speicherplatzes in einem Speicher einer Chipkarte

Info

Publication number
DE10129417A1
DE10129417A1 DE2001129417 DE10129417A DE10129417A1 DE 10129417 A1 DE10129417 A1 DE 10129417A1 DE 2001129417 DE2001129417 DE 2001129417 DE 10129417 A DE10129417 A DE 10129417A DE 10129417 A1 DE10129417 A1 DE 10129417A1
Authority
DE
Germany
Prior art keywords
memory
buffer area
locations
storage space
area
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE2001129417
Other languages
English (en)
Inventor
Stefan Erdmenger
Juergen Noller
Stephan Ondrusch
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE2001129417 priority Critical patent/DE10129417A1/de
Priority to PCT/EP2002/004120 priority patent/WO2002103525A2/de
Priority to TW91111072A priority patent/TW557425B/zh
Publication of DE10129417A1 publication Critical patent/DE10129417A1/de
Withdrawn 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 OR CALCULATING; 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
    • G06COMPUTING OR CALCULATING; 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/357Cards having a plurality of specified features
    • G06Q20/3576Multiple memory zones on card
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Bei einem Verfahren zum Bearbeiten eines Speicherplatzes in einem Speicher einer Chipkarte, der eine Mehrzahl von Speicherplätzen (124-132) aufweist, wird zunächst ein Speicherplatz (124-132), der zu bearbeiten ist, in dem Speicher ausgewählt. Anschließend wird auf den ausgewählten Speicherplatz (124-132) zugegriffen, unabhängig von der Speicherseitenorganisation des Speichers, und abschließen wird der Inhalt des ausgewählten Speicherplatzes (124-132) bearbeitet.

Description

  • Die vorliegende Erfindung bezieht sich auf eine leistungsfähige Speicherverwaltung für Mikroprozessorsysteme, und insbesondere auf ein Verfahren zum Bearbeiten eines Speicherplatzes in einem nicht-flüchtigen Speicher einer Chipkarte.
  • Bekannte nicht-flüchtige Speicher (NVM = Non Volatile Memory) moderner Prozessorsysteme sind in Einheiten organisiert, die Seiten genannt werden. Die Seiten haben alle eine gleiche Größe und umfassen eine gleiche Anzahl von Speicherplätzen, beispielsweise 8 Byte, 16 Byte oder 32 Byte große Seiten. Wird nun 1 Byte einer Seite bearbeitet, und kommt es während dieser Bearbeitung zu einer Unterbrechung, z. B. infolge eines Spannungsausfalls, so sind die Daten der gesamten Seite unbrauchbar, da während des Zugriffs zum Ändern des einen Bytes auf die gesamte Speicherseite zugegriffen wurde.
  • Neben dem Verlust von Daten in der Speicherseite, auf die zugegriffen wurde, führt dies zu den nachfolgend dargelegten weiteren Nachteilen.
  • Bei Anwendungen, welche sogenannte Transaktionen ausführen, also eine Mehrzahl von Zugriffen auf den Speicher, muss sichergestellt sein, dass auch über eine Mehrzahl von Schreibzugriffen an verschiedene Adressen keine unbrauchbaren Daten im Speicher stehen bleiben, dass also entweder die kompletten alten oder die kompletten neuen Daten geschrieben werden, eine Voraussetzung, die aufgrund der obigen Problematik nicht erfüllt ist.
  • Ferner existieren Transaktionen, die neben herkömmlichen Schreibzugriffen einen besonderen Schreibzugriff aufweisen, bei denen sichergestellt sein muss, dass die durch den besonderen Schreibzugriff geschriebenen Daten nach dem Schreiben auf jeden Fall in dem Speicher enthalten sind. Dies ist durch eine herkömmliche Speicherorganisation mit den oben beschriebenen Problemen nicht erreichbar.
  • Zwar gibt es im Stand der Technik Ansätze zur Lösung der oben beschriebenen Probleme, jedoch muss hier ein Anwender abhängig von den physikalischen Eigenschaften der erhältlichen Prozessoren/Speicher eine proprietäre Lösung selbst implementieren, gemäß der die Probleme beim Ändern eines Bytes einer Speicherseite dadurch umgangen werden, dass üblicherweise nur den Speicherseiten entsprechende Datenblöcke behandelt werden.
  • Ausgehend von diesem Stand der Technik liegt der vorliegenden Erfindung die Aufgabe zugrunde, ein verbessertes Verfahren zum Bearbeiten eines Speicherplatzes in einem Speicher einer Chipkarte zu schaffen, bei dem eine Korruption einer gesamten Speicherseite beim Unterbrechen einer Bearbeitung eines Speicherplatzes vermieden wird.
  • Diese Aufgabe wird durch ein Verfahren gemäß Anspruch 1 gelöst.
  • Die vorliegende Erfindung schafft ein Verfahren zum Bearbeiten eines Speicherplatzes in einem Speicher einer Chipkarte, wobei der Speicher eine Mehrzahl von Speicherplätzen aufweist, mit folgenden Schritten:
    • a) Auswählen eines Speicherplatzes in dem Speicher, der zu bearbeiten ist;
    • b) Zugreifen auf den ausgewählten Speicherplatz, unabhängig von der Speicherseitenorganisation des Speichers; und
    • c) Bearbeiten des Inhalts des ausgewählten Speicherplatzes.
  • Gemäß der vorliegenden Erfindung werden im Gegensatz zu den bekannten Lösungen zusätzlich zu der kompletten Speicherseite die tatsächlich zu schreibenden Daten verwaltet, wobei diese vorzugsweise je nach Art des Schreibzugriffes unterschiedlich behandelt werden.
  • Der Vorteil der vorliegenden Erfindung besteht darin, dass das erfindungsgemäße Verfahren die Seitenorganisation des nicht-flüchtigen Speichers nicht berücksichtigen und auch nicht kennen muss. Ein weiterer Vorteil besteht darin, dass eine beliebig komplexe Kombination verschiedenartiger Schreibzugriffe fehlerfrei abgearbeitet werden kann.
  • Wiederum ein weiterer Vorteil besteht darin, dass eine Mehrzahl von Transaktionen parallel laufen können, wobei einzelne der Transaktionen abgebrochen und/oder rückabgewickelt werden können.
  • Anders als die im Stand der Technik bekannten Ansätze lehrt die vorliegende Erfindung eine neuartige, intelligente Verwaltung der zu schreibenden bzw. zu sichernden Daten, wobei diese gemäß einem bevorzugten Ausführungsbeispiel in internen Puffern des Speichers verwaltet werden.
  • Im Gegensatz zum üblichen Speichern kompletter Seiten werden gemäß der vorliegenden Erfindung die zu bearbeitenden Daten auf das Byte genau festgehalten. Die Art der Schreibzugriffe (atomar, nicht-atomar, Transaktion) werden durch verschiedene Aufrufparameter unterschieden. Vorzugsweise wird die zeitliche Abfolge der Zugriffe festgehalten.
  • Ferner ermöglicht das erfindungsgemäße Verfahren ein gleichzeitiges Öffnen einer Mehrzahl von Instanzen, wobei die verschiedenen Instanzen in unterschiedlichen Modi auf dieselben Speicherseiten zugreifen können.
  • Gemäß einem ersten Ausführungsbeispiel umfasst der Speicher einen Hauptbereich mit den Speicherplätzen und einen Pufferbereich. Zunächst wird dann die ausgewählte Speicherseite in den Pufferbereich des Speichers kopiert. falls der Speicherplatz erfolgreich bearbeitet wird, wird der Speicherplatz in dem Pufferbereich gelöscht. Ansonsten, falls der Zugriff auf den Speicherplatz in dem Hauptbereich oder die Bearbeitung des Inhalts des Speicherplatzes in dem Hauptbereich unterbrochen wird, wird der Inhalt des Speicherplatzes aus dem Pufferbereich in den Hauptbereich kopiert. Gemäß einer Ausführungsform wird nach dem Kopieren des Speicherplatzes in den Pufferbereich und vor dem Zugriff auf den Speicherplatz in dem Hauptbereich der in dem Pufferbereich abgelegte Speicherplatz bearbeitet.
  • Gemäß einem weiteren bevorzugten Ausführungsbeispiel der vorliegenden Erfindung umfasst der Speicher eine Mehrzahl von Speicherseiten, einen Hauptbereich mit den zu ändernden Speicherplätzen sowie einen Pufferbereich, wobei nach dem Auswählen des Speicherplatzes bestimmt wird, welcher Speicherseite derselbe zugeordnet ist. Die so bestimmte Speicherseite wird in dem Pufferbereich des Speichers kopiert. Falls nun während der Bearbeitung des Speicherplatzes oder während des Zugriffs auf denselben ein Fehler auftritt, beispielsweise ein Spannungsausfall aufgrund des Herausziehens der Chipkarte aus einem Lesegerät, so wird nach der Behebung des Fehlers, also beispielsweise nach dem erneuten Einführen der Chipkarte in ein Lesegerät, so dass nun wieder eine Spannung bereitsteht, der in dem Pufferbereich abgelegte Speicher in den Hauptspeicher zurückkopiert, so dass zumindest die ursprünglichen Daten in dem Speicher enthalten sind, so dass keine unbrauchbaren Daten in dem Speicher abgelegt sind.
  • Gemäß wiederum einem weiteren Ausführungsbeispiel der vorliegenden Erfindung, wird zusätzlich zu dem Kopieren der dem ausgewählten Speicherplatz zugeordneten Speicherseite in den Pufferbereich vor dem Zugriff auf den Speicherplatz im Hauptbereich auf die Kopie des Speicherplatzes in dem Pufferbereich zugegriffen, so dass die zu schreibenden neuen Daten bereits in dem Pufferbereich abgelegt sind. Tritt in diesem Fall ein Fehler beim Schreiben im Hauptbereich auf, so ist sichergestellt, dass die bereits geschriebenen Daten in dem Pufferbereich beim nächsten Aktivieren des Speichers aus dem Pufferbereich in dem Hauptbereich kopiert werden.
  • Wenn bei den oben beschriebenen Ausführungsbeispielen der Speicherplatz erfolgreich im Hauptbereich bearbeitet wird, so wird die zugeordnete Speicherseite aus dem Pufferbereich gelöscht.
  • Gemäß einem anderen bevorzugten Ausführungsbeispiel werden eine oder mehrere Transaktionen durchgeführt, wobei eine Transaktion eine Bearbeitung einer Mehrzahl von Speicherplätzen oder eine Bearbeitung des gleichen Speicherplatzes mehrfach umfasst, wobei in diesem Fall die den Speicherplätzen zugeordneten Speicherseiten natürlich gleich sind. Ebenso können bei der Bearbeitung unterschiedlicher Speicherplätze diese einer gleichen Speicherseite oder unterschiedlichen Speicherseiten zugeordnet sein.
  • Beim Durchführen einer Transaktion wird, ähnlich den oben beschriebenen Beispielen, eine Kopie der Speicherseiten im Pufferbereich abgelegt, um so ein Wiedergewinnen im Fall eines fehlerhaften Schreibens zu ermöglichen.
  • Gemäß wiederum einem anderen Ausführungsbeispiel wird in dem Speicher eine zeitliche Abfolge der Bearbeitung der Speicherplätze abgelegt, um so die Bearbeitungsschritte zu einem späteren Zeitpunkt nachzuvollziehen.
  • Bei dem Speicher handelt es sich vorzugsweise um ein EEPROM, dessen Speicherplätze jeweils eine Größe von einem Byte haben, und bei dem eine Speicherseite eine Größe von 8 Byte, 16 Byte oder 32 Byte umfasst, wobei das Bearbeiten eines Speicherplatzes vorzugsweise das Einschreiben neuer Daten in denselben umfasst.
  • Nachfolgend werden anhand der beiliegenden Figuren bevorzugte Ausführungsbeispiele der vorliegenden Erfindung näher erläutert. Es zeigen:
  • Fig. 1A verschiedene Speicherzugriffsoperationen, die gemäß bevorzugten Ausführungsbeispielen der vorliegenden Erfindung initialisiert werden können;
  • Fig. 1B den Inhalt eines Hauptbereichs und eines Pufferbereichs eines EEPROM vor dem Ändern der Daten in dem Hauptbereich;
  • Fig. 1C den Inhalt des Hauptbereichs des EEPROM nachdem ein Fehler beim Zugriff/Ändern im Hauptbereich aufgetreten ist;
  • Fig. 1D den Inhalt des Hauptbereichs und des Pufferbereichs des EEPROM nach einem ersten Abschnitt einer Wiedergewinnung von Daten aus dem Pufferbereich; und
  • Fig. 1E den Inhalt des Hauptbereichs und des Pufferbereichs des EEPROM nach einem zweiten Abschnitt einer Wiedergewinnung von Daten.
  • Obwohl die nachfolgende detaillierte Beschreibung der vorliegenden Erfindung anhand eines Speichers erfolgt, der den Speicherinhalt teilweise seitenweise zwischenpuffert, sind die Prinzipien der vorliegenden Erfindung gleichermaßen auf einen Speicher anzuwenden, dir den Speicherinhalt teilweise speicherplatzweise zwischenpuffert.
  • Wenn nachfolgend das Kopieren, Bearbeiten, Löschen, etc. von Speicherseiten oder Speicherplätzen beschrieben wird, so meint dies das Kopieren, Bearbeiten, Löschen, etc. der Inhalte der Speicherseiten oder Speicherplätze.
  • Nachfolgend werden verschiedene, bevorzugte Speicherzugriffsoperationen gemäß der vorliegenden Erfindung beschrieben, wobei die Beschreibung anhand eines EEPROM erfolgt, auf das unterschiedliche Speicherzugriffsoperationen ausgeführt werden. Es sei darauf hingewiesen, dass die vorliegende Erfindung nicht auf die anhand der nachfolgenden Figuren beschriebene Kombination von Speicherzugriffsoperationen beschränkt ist, sondern dass die beschriebenen Operationen einzeln oder in beliebiger Kombination bezüglich des EEPROM ausgeführt werden können.
  • Anhand der Fig. 1A werden zunächst die einzelnen Speicherzugriffsoperationen näher erläutert, welche gemäß dem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung initialisiert werden können.
  • Eine erste Speicheroperation 100, die als "WRITE_BLOCK_SAVE" bezeichnet wird, ist vorgesehen, um neue Daten 102 unter dem Schutz eines Datensicherheitsmechanismus zu schreiben. Gemäß einem bevorzugten Ausführungsbeispiel ermöglicht diese erste Speicheroperation 100 das Schreiben von maximal 64 Bytes, beginnend an einer beliebigen Adresse in dem EEPROM, unabhängig von der Speicherseitenorganisation des EEPROM. Der Sicherheitsmechanismus erzeugt eine Sicherungskopie derjenigen Speicherseiten, die den Adressen, in denen geschrieben wird, zugeordnet sind, bevor diese durch die erste Speicheroperation 100 überschrieben werden. Die Sicherungskopie wird in einem Puffer gespeichert, der ebenfalls in dem EEPROM- Speicherbereich implementiert ist. Wenn die Übertragung der neuen Daten an die EEPROM-Zieladresse fehlschlägt, beispielsweise aufgrund eines unerwarteten Entfernens der Chipkarte aus einem Lesegerät, wird der alte Inhalt des Teils des EEPROM, auf den durch die Speicheroperation 100 zugegriffen wurde, wiedergewonnen, sobald wieder eine Leistung bereit steht, beispielsweise durch erneutes Einführen der Chipkarte in ein Lesegerät. Das Wiedergewinnen erfolgt durch Übertragen der in dem Pufferbereich gespeicherten Speicherseiten.
  • Gemäß einem weiteren Ausführungsbeispiel kann eine zweite Speicheroperation 104 initialisiert werden, die als "WRITE_BLOCK" bezeichnet wird, mittels der neue Daten 106 in das EEPROM eingelesen werden. Gemäß einem bevorzugten Ausführungsbeispiel kann die Länge der zu speichernden Datenkette (data string), die in dem EEPROM gespeichert werden soll, zwischen 1 Byte und 65535 Bytes variieren, wobei die Zieladresse, beginnend mit der das Schreiben der Daten in dem EEPROM zu erfolgen hat, unabhängig von der Speicherseitenorganisation des EEPROM ist. Die Größe der Speicherseiten beträgt gemäß einem Beispiel 64 Bytes.
  • Eine dritte Speicheroperation 108, die als "Transaktion" bezeichnet wird, umfasst eine oder mehrere Speicheroperationen. Bei dem dargestellten Ausführungsbeispiel beginnt die dritte Speicheroperation mit dem Befehl "Start Transaktion" 110 und endet mit dem Befehl "Ende Transaktion" 112. Die Transaktionsoperation 108 umfasst bei dem dargestellten Ausführungsbeispiel drei Speicheroperationen 114, 116 und 118, mittels denen neue Daten in den Speicher einzuschreiben sind.
  • Die Speicheroperationen 114 und 116 sind "WRITE_BLOCK" Befehle, ähnlich der zweiten Speicheroperation 104, wobei jedoch diese Operationen in Zusammenhang mit dem Aufruf einer Transaktion 108 zusammen mit dem oben beschriebenen internen Sicherheitsmechanismus ausgeführt werden, d. h., dass "WRITE_BLOCK" Operationen innerhalb einer Transaktion derart ausgeführt werden, dass zunächst eine Sicherungskopie der an den entsprechenden Stellen des Speichers enthaltenen Daten in einem Puffer abgelegt werden, und erst anschließend die neuen Daten in den Hauptbereich des Speichers geschrieben werden, so dass nach dem Auftreten eines Fehlers beim Schreiben im Hauptbereich die ursprünglichen Daten aus dem Pufferbereich wiedergewonnen werden können.
  • Die Speicheroperation 118 ist ähnlich zu der ersten Speicheroperation 100, wobei auch diese gegenüber der oben beschriebenen Operation dann leicht modifiziert wird, wenn diese innerhalb einer Transaktion durchgeführt wird. Diese zusätzliche Möglichkeit ist derart, dass der bei dieser Operation 118 ohnehin verwendete interne Sicherungsmechanismus wirksam ist, zusätzlich zu den alten Daten aus dem adressierten Hauptbereich des Speichers auch die zu schreibenden neuen Daten zunächst in dem Puffer abzulegen, so dass vor dem Beginn der eigentlichen Schreiboperation in dem Hauptbereich des Speichers die dort abzulegenden neuen Daten bereits in dem Puffer vorhanden sind, so dass im Fall eines Fehlers beim Schreiben im Hauptbereich sichergestellt wird, dass die neuen Daten beim nächsten Einschieben der Chipkarte in ein Lesegerät in den Hauptbereich kopiert werden, um so trotz des fehlerhaften Speicherzugriffs verfügbar sind.
  • Die Transaktion 108 ist vorgesehen, um entweder einen einzelnen Schreibbefehl mit einer Datengröße von beispielsweise mehr als 64 Bytes oder ein Bündel von bis zu 25 Schreibbefehlen mit einer beliebigen Größe an unterschiedliche Speicherorte in dem EEPROM zu schreiben, wobei die Speicherplätze auf eine konsistente Art und Weise aktualisiert werden müssen. Wie beschrieben, wird für die Funktionen 114 und 116 innerhalb einer Transaktion der interne Sicherheitsmechanismus automatisch aktiviert, so dass in dem Puffer eine Sicherungskopie des alten Inhaltes aller Speicherseiten des EEPROMs abgelegt ist, die den Adressen, auf die zugegriffen wird, zugeordnet sind, bevor diese Adressen überschrieben werden. Wird die Operation 118 innerhalb einer Transaktion aufgerufen, so speichert der Sicherungsmechanismus zusätzlich eine Kopie der zu schreibenden neuen Daten in dem Puffer, bevor der Zielbereich des EEPROM aktualisiert wird.
  • Anstelle der anhand der Fig. 1A beschriebenen Ausführungsbeispiele kann die erste Speicheroperation 100 ferner modifiziert sein, um während deren Ausführung zusätzlich eine Kopie der zu schreibenden neuen Daten in dem Puffer abzulegen, bevor im Hauptbereich des EEPROM die Aktualisierung stattfindet.
  • In Fig. 1B ist schematisch der Speicher dargestellt, auf den gemäß der vorliegenden Erfindung über die anhand der Fig. 1 beschriebenen Speicheroperationen zugegriffen wird. Bei diesem Speicher handelt es sich bei dem dargestellten Ausführungsbeispiel um ein EEPROM, und in Fig. 1B ist ein Hauptbereich 120 des EEPROM und ein Pufferbereich 122 des EEPROM gezeigt. Der Hauptbereich 120 umfasst eine Vielzahl von Speicherplätzen, wobei beispielhaft die Speicherplätze 124, 126, 128, 130 und 132 gezeigt sind, an denen bereits Daten gespeichert sind, die als "alte Daten" bezeichnet sind. Auf den Speicherplatz 124 wird mittels der ersten Speicheroperation zugegriffen, auf den Speicherplatz 126 wird mittels der zweiten Speicheroperation 104 zugegriffen, auf den Speicherplatz 128 wird mit der Speicheroperation 114 der Transaktion 108 zugegriffen, auf den Speicherplatz 130 wird mittels der Speicheroperation 116 der Transaktion 108 zugegriffen, und auf den Speicherplatz 132 wird mittels der Speicheroperation 118 der Transaktion 108 zugegriffen.
  • Abhängig von der initialisierten Speicheroperation werden vor einer tatsächlichen Änderung von Daten in dem Hauptbereich 122 Kopien der Speicherseiten erzeugt, die den Speicherplätzen, auf die durch die Speicheroperation zugegriffen wird, zugeordnet sind. Diese Kopien werden dann im Puffer 122 abgelegt. Im Puffer 122 sind bei dem in Fig. 1B gezeigten Ausführungsbeispiel die Speicherseiten 134, 136, 138 und 140 abgelegt, wobei die Speicherseite 134 den Speicherplatz 124 enthält. Die Speicherseite 136 enthält den Speicherplatz 128. Die Speicherseite 138 enthält den Speicherplatz 130. Die Speicherseite 140 enthält den Speicherplatz 132, wobei dieser Speicherplatz in der Sicherungskopie der Speicherseite 140 aufgrund der Operation 118 vor einer Aktualisierung des Hauptbereichs 120 bereits mit den neuen Daten beschrieben wurde.
  • Der Pufferbereich 122 dient dem oben erwähnten internen Sicherungsmechanismus dazu, die erforderlichen Daten zur Wiedergewinnung im Fall eines Fehlers beim Zugriff auf den Hauptbereich 120 wiederzugewinnen.
  • In Fig. 1C ist der Inhalt des Hauptbereichs 120 des EEPROM angezeigt, nachdem ein Fehler aufgetreten ist, also beispielsweise die Chipkarte aus einem Lesegerät entfernt wurde, so dass während des Zugriffs/Schreibens von Daten in den Hauptbereich 120 die Spannung ausgefallen ist, so dass der Zugriff/das Schreiben nicht beendet wurde. Wie in Fig. 1C angedeutet ist, enthalten die Speicherplätze 124 bis 132 nunmehr nicht mehr definierte Daten (neu/alt), so dass deren Inhalt unbrauchbar ist.
  • Wird nun die Chipkarte beispielsweise erneut in ein Lesegerät eingeführt, so wird ein Rücksetzimpuls 142 erzeugt, der eine Wiedergewinnungsroutine startet, mittels der Verfälschte/fehlerhafte Daten in dem EEPROM wiedergewonnen werden, unter Verwendung des Puffers 122. Fig. 1D zeigt den Inhalt des Hauptbereichs 120 und des Pufferbereichs 122 nachdem ein erster Abschnitt der Wiedergewinnungsroutine durchgeführt wurde. Wie aus Fig. 1D zu erkennen ist, werden die Speicherseiten 136, 138, welche die ursprünglichen Daten vor dem Fehler enthalten, sowie die Speicherseite 140, die die ursprünglichen Daten vor dem Fehler sowie die neuen Daten bezüglich des Speicherplatzes 132 enthält, in den Hauptbereich 120 zurückkopiert, so dass hier wieder brauchbare Daten zur Verfügung stehen.
  • Wie aus Fig. 1D zu erkennen ist, sind am Speicherplatz 132 die neuen Daten abgelegt, welche gemäß der Operation 118 zu schreiben waren, und bei denen sichergestellt sein musste, dass diese auch im Fall eines Fehlers des Schreibens im Hauptbereich 120 nicht verloren gehen.
  • Abhängig von der Anzahl von in dem Puffer 120 gespeicherten Daten kann die Wiedergewinnungsroutine zur Reparatur der fehlerhaften EEPROM Einträge eine erhebliche Zeitdauer beanspruchen, z. B. mehr als 500 Millisekunden. Bei Chipkarten kann dies zu einem Konflikt mit den Anforderungen gemäß dem ISO/IEC 7816-3 Standard führen, gemäß dem innerhalb vorbestimmter Zeitintervalle von weniger als 1 Sekunde die Bytes einer ATR-Zeichenkette an ein Lesegerät zu übertragen sind. Gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung berücksichtigt die Wiedergewinnungsroutine dieses Erfordernis, indem der Reparaturprozess angehalten wird, bevor diese kritische Zeitgrenze erreicht wird.
  • Nach dem Anhalten des Reparaturprozesses werden die erforderlichen ATR Daten gesendet, wie dies in Fig. 1E schematisch bei 144 gezeigt ist. Nachdem die ATR-Routine abgeschlossen ist, wird die Wiedergewinnungsfunktion erneut gestartet, um die noch nicht reparierten Bereiche des Hauptbereichs des EEPROM unter Verwendung der in dem Puffer 122 abgelegten Daten zu reparieren. Wie in Fig. 1E gezeigt ist, wird hier die Speicherseite 134, welche den Speicherplatz 124 enthält, aus dem Puffer 122 in den Hauptbereich 120 zurückkopiert.
  • Wie zu erkennen ist, erfolgt aufgrund der Operation 104 keine Ablage der dem Speicherplatz 126 zugeordneten Speicherseite in dem Puffer, so dass der Speicherplatz 126 als ungültig verbleibt, eine Situation die, anders als im Stand der Technik, tolerierbar ist, da hier nur ein einzelner Speicherplatz 126 ungültig ist, nicht jedoch die gesamte dem Speicherplatz zugeordnete Speicherseite.
  • Hinsichtlich des in Fig. 1 beschriebenen Ausführungsbeispiels wird darauf hingewiesen, dass zur Sicherstellung konsistenter Daten der Wiedergewinnungsprozess erst vollständig abgeschlossen sein muss, bevor neue Schreiboptionen akzeptiert werden, um den Inhalt des EEPROM-Hauptbereichs 120 zu modifizieren.
  • Anhand der Fig. 1 wurde beschrieben, welche Schritte zu unternehmen sind, falls während des Zugriffs auf den Hauptbereich 120 des Speichers ein Fehler auftritt. Werden alle Daten erfolgreich eingeschrieben, so ist selbstverständlich keine Wiedergewinnungsroutine erforderlich, und der Puffer 122 wird nach Abschluss der Schreiboperationen gelöscht. Bezugszeichen 100 erste Speicheroperation, "WRITE_BLOCK_SAVE"
    102 neue Daten
    104 zweite Speicheroperation, "WRITE_BLOCK"
    106 neue Daten
    108 dritte Speicheroperation, "Transaktion"
    110 Befehl "Start Transaktion"
    112 Befehl "Ende Transaktion"
    114 erste Speicheroperation der Transaktion
    116 erste Speicheroperation der Transaktion
    118 erste Speicheroperation der Transaktion
    120 Hauptbereich des EEPROM
    122 Pufferbereich des EEPROM
    124 Speicherplatz in dem EEPROM
    126 Speicherplatz in dem EEPROM
    128 Speicherplatz in dem EEPROM
    130 Speicherplatz in dem EEPROM
    132 Speicherplatz in dem EEPROM
    134 Speicherseiten in dem Puffer
    136 Speicherseiten in dem Puffer
    138 Speicherseiten in dem Puffer
    140 Speicherseiten in dem Puffer
    142 Rücksetzimpuls
    144 Senden der ATR Daten

Claims (20)

1. Verfahren zum Bearbeiten eines Speicherplatzes in einem Speicher einer Chipkarte, wobei der Speicher eine Mehrzahl von Speicherplätzen (124-132) aufweist, mit folgenden Schritten:
a) Auswählen eines Speicherplatzes (124-132) in dem Speicher, der zu bearbeiten ist;
b) Zugreifen auf den ausgewählten Speicherplatz (124-132), unabhängig von der Speicherseitenorganisation des Speichers; und
c) Bearbeiten des Inhalts des ausgewählten Speicherplatzes (124-132).
2. Verfahren nach Anspruch 1, bei dem der Speicher einen Hauptbereich (120) mit den Speicherplätzen (124-132) und einen Pufferbereich (122) aufweist, wobei das Verfahren vor dem Schritt (b) folgenden Schritt umfasst:
Kopieren der ausgewählten Speicherseite (134-142) in den Pufferbereich (122) des Speichers.
3. Verfahren nach Anspruch 2, bei dem nach dem Kopieren des Speicherplatzes (140) in den Pufferbereich (122) und vor dem Zugriff auf den Speicherplatz (132) in dem Hauptbereich (120) der in dem Pufferbereich (122) abgelegte Speicherplatz bearbeitet wird.
4. Verfahren nach Anspruch 2 oder 3, das folgende Schritte umfasst:
falls der Speicherplatz erfolgreich bearbeitet wird, Löschen des Speicherplatzes in dem Pufferbereich (122); und
falls der Zugriff auf den Speicherplatz in dem Hauptbereich (120) oder die Bearbeitung des Inhalts des Speicherplatzes in dem Hauptbereich (120) unterbrochen wird, Kopieren des Inhalts des Speicherplatzes aus dem Pufferbereich (122) in den Hauptbereich (120).
5. Verfahren nach Anspruch 1, bei dem der Speicher eine Mehrzahl von Speicherseiten, einen Hauptbereich (120) mit den Speicherplätzen (124-132) und einen Pufferbereich (122) aufweist, wobei das Verfahren vor dem Schritt (b) folgende Schritte umfasst:
Bestimmen der Speicherseite (134-140) in dem Speicher, die dem ausgewählten Speicherplatz (124-132) zugeordnet ist; und
Kopieren der dem ausgewählten Speicherplatz zugeordneten Speicherseite (134-142) in den Pufferbereich (122) des Speichers.
6. Verfahren nach Anspruch 5, bei dem nach dem Kopieren der Speicherseite (140) in dem Pufferbereich (122) und vor dem Zugriff auf den Speicherplatz (132) im Hauptbereich (120) der in dem Pufferbereich (122) abgelegte Speicherplatz bearbeitet wird.
7. Verfahren nach Anspruch 5 oder 6, das folgende Schritte umfasst:
falls der Speicherplatz erfolgreich bearbeitet wird, Löschen der Speicherseite in dem Pufferbereich (122); und
falls der Zugriff auf den Speicherplatz in dem Hauptbereich (120) oder die Bearbeitung des Inhalts des Speicherplatzes in dem Hauptbereich (120) unterbrochen wird, Kopieren der zugeordneten Speicherseite (132-140) aus dem Pufferbereich (122) in den Hauptbereich (120).
8. Verfahren nach Anspruch 1, bei dem der Speicher eine Mehrzahl von Speicherseiten, einen Hauptbereich (120) mit den Speicherplätzen (140-132) und einen Pufferbereich (122) aufweist, bei dem im Schritt (a) eine Mehrzahl von zu bearbeitenden Speicherplätzen (128-132) in dem Speicher ausgewählt werden, wobei die der Mehrzahl von Speicherplätzen (128-132) zugeordneten Speicherseiten (136-140) in den Pufferbereich (122) kopiert werden, bei dem im Schritt (b) auf die Mehrzahl von Speicherplätzen (128-132) zugegriffen wird, und bei dem im Schritt (c) der Inhalt der Mehrzahl von Speicherplätzen (128-132) bearbeitet wird.
9. Verfahren nach Anspruch 8, bei dem nach dem Kopieren der der Mehrzahl von Speicherplätzen zugeordneten Speicherseiten in dem Pufferbereich (122) und vor dem Zugriff auf einen oder mehrere der Mehrzahl von Speicherplätzen (132) eine in dem Pufferbereich (122) abgelegte Kopie des einen Speicherplatzes oder der mehreren Speicherplätze (132) bearbeitet wird.
10. Verfahren nach Anspruch 8 oder 9, das folgende Schritte umfasst:
falls die Mehrzahl von Speicherplätzen (128-132) erfolgreich bearbeitet wird, Löschen der zugeordneten Speicherseiten im Pufferbereich (122); und
falls der Zugriff auf oder die Bearbeitung des Inhalts der Speicherplätze (128-132) in dem Hauptbereich (120) unterbrochen wird, Kopieren der zugeordneten Speicherseiten (136-140) von dem Pufferbereich (122) in den Hauptbereich (120).
11. Verfahren nach einem der Ansprüche 8 bis 10, bei dem die Speicherplätze einer Speicherseite zugeordnet sind und/oder bei dem mehrere Speicherplätze mehrmals bearbeitet werden.
12. Verfahren nach einem der Ansprüche 1 bis 11, bei dem beginnend mit dem ausgewählten Speicherplatz (124-132) ein oder mehrere daran anschließende Speicherplätze zu bearbeiten sind.
13. Verfahren nach Anspruch 12, bei dem der ausgewählte Speicherplatz (124-132) und der eine oder die mehreren anschließenden Speicherplätze einer Mehrzahl von Speicherseiten zugeordnet sind, wobei die Mehrzahl von Speicherseiten in den Pufferbereich (122) kopiert werden.
14. Verfahren nach einem der Ansprüche 1 bis 13, bei dem die Schritte des Verfahrens wiederholt ausgeführt werden, um eine Mehrzahl von Speicherplätzen zu bearbeiten, wobei die zeitliche Abfolge der Bearbeitung der Mehrzahl von Speicherplätzen abgespeichert wird.
15. Verfahren nach einem der Ansprüche 1 bis 14, bei dem der Speicher ein EEPROM ist.
16. Verfahren nach einem der Ansprüche 2 bis 15, bei dem der Zugriff und die Bearbeitung unterbrochen wird, wenn die Chipkarte während des Zugriffs auf einen oder während der Bearbeitung eines Speicherplatzes aus einem Lesegerät entfernt wird.
17. Verfahren nach einem der Ansprüche 1 bis 16, bei dem ein Speicherplatz (124-132) eine Größe von 1 Byte hat, und bei dem die Speicherseite (134-140) eine Größe von 8 Byte, 16 Byte und 32 Byte hat.
18. Verfahren nach einem der Ansprüche 1 bis 17, bei dem das Bearbeiten eines Speicherplatzes (124-132) das Einschreiben neuer Daten in denselben umfasst.
19. Verfahren nach einem der Ansprüche 1 bis 18, bei dem die Speicherseiten jeweils die gleiche Anzahl von Speicherplätzen umfassen.
20. Verfahren nach einem der Ansprüche 1 bis 19, bei dem der Speicher ein nicht-flüchtiger Speicher ist.
DE2001129417 2001-06-19 2001-06-19 Verfahren zum Bearbeiten eines Speicherplatzes in einem Speicher einer Chipkarte Withdrawn DE10129417A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE2001129417 DE10129417A1 (de) 2001-06-19 2001-06-19 Verfahren zum Bearbeiten eines Speicherplatzes in einem Speicher einer Chipkarte
PCT/EP2002/004120 WO2002103525A2 (de) 2001-06-19 2002-04-12 Verfahren zum bearbeiten eines speicherplatzes in einem speicher einer chipkarte
TW91111072A TW557425B (en) 2001-06-19 2002-05-24 Method for processing a memory location in a chipcard memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2001129417 DE10129417A1 (de) 2001-06-19 2001-06-19 Verfahren zum Bearbeiten eines Speicherplatzes in einem Speicher einer Chipkarte

Publications (1)

Publication Number Publication Date
DE10129417A1 true DE10129417A1 (de) 2003-01-09

Family

ID=7688612

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2001129417 Withdrawn DE10129417A1 (de) 2001-06-19 2001-06-19 Verfahren zum Bearbeiten eines Speicherplatzes in einem Speicher einer Chipkarte

Country Status (3)

Country Link
DE (1) DE10129417A1 (de)
TW (1) TW557425B (de)
WO (1) WO2002103525A2 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19600081C2 (de) * 1996-01-03 1999-11-18 Ibm Sicherung der Datenintegrität bei Datenträgerkarten

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0528280B1 (de) * 1991-08-09 1997-11-12 Kabushiki Kaisha Toshiba Aufzeichnungsgerät für eine Speicherkarte
JPH05233464A (ja) * 1992-02-25 1993-09-10 Fuji Photo Film Co Ltd Eepromのデータ書換方法およびeepromカード
DE69719377D1 (de) * 1997-03-21 2003-04-03 Canal & Technologies Paris Speicherorganisation eines rechners und verfahren dafür
DE19718479C1 (de) * 1997-04-30 1998-09-24 Siemens Ag Chipkarte mit Speicherzugriffsmaximierung und Protokollierung
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
DE19600081C2 (de) * 1996-01-03 1999-11-18 Ibm Sicherung der Datenintegrität bei Datenträgerkarten

Also Published As

Publication number Publication date
WO2002103525A3 (de) 2004-09-10
TW557425B (en) 2003-10-11
WO2002103525A2 (de) 2002-12-27

Similar Documents

Publication Publication Date Title
DE19600081C2 (de) Sicherung der Datenintegrität bei Datenträgerkarten
DE60121697T2 (de) Verfahren zum ansteuern von remapping in einem flash-speicher und in einer dafür geeigneten flash-speicher-architektur
DE60030872T2 (de) Verfahren und anordnung um atomische aktualisierungen durchzuführen durch verwendung eines logischen flaschspeichergerätes
DE3784190T2 (de) Eintragung eines datenbasisindex in das journal zur verbesserten rueckstellung.
DE69030024T2 (de) Verfahren zur Herstellung einer Duplikation von einer Datenbank
DE60217883T2 (de) Verfahren zum schreiben von daten in einen nicht-flüchtigen speicher
DE3131341C2 (de)
DE69034191T2 (de) EEPROM-System mit aus mehreren Chips bestehender Blocklöschung
DE69809527T2 (de) Externe Speichervorrichtung und Datenverarbeitungsverfahren
DE69325741T2 (de) Speicherkartengerät
CH629901A5 (de) Verfahren zum steuern einer textverarbeitungseinrichtung beim speichern und lesen von text.
DE1499182A1 (de) Elektrische Datenverarbeitungsanlage
DE102004014227A1 (de) Steuervorrichtung für einen nicht flüchtigen Speicher
DE2801982A1 (de) Verfahren zum austausch von information zwischen einem externen speicher und einem arbeitsspeicher in einem textverarbeitungssystem
EP1352318B1 (de) Mikroprozessorschaltung für tragbare datenträger
DE69406138T2 (de) Verfahren zum datenschreiben in einem nicht flüchtigen speicher
EP1514171B1 (de) Verfahren zur wiederherstellung von verwaltungsdatensätzen eines blockweise löschbaren speichers
DE60019364T2 (de) Speicherdefragmentierung in Chipkarten
WO2006120001A1 (de) Tragbarer datenträger mit sicherer datenverarbeitung
DE10059006B4 (de) Verfahren und System zur sicheren Verwaltung von Dateien in nichtflüchtigen Speichern
DE69226605T2 (de) Verfahren zur Aktualisierung von Daten in Speicherplätzen eines Flash-EPROM-Speichers
DE2801989A1 (de) Verfahren zum steuern der abspeicherung eines textes in einem textverarbeitungssystem
DE10129417A1 (de) Verfahren zum Bearbeiten eines Speicherplatzes in einem Speicher einer Chipkarte
EP1559111B1 (de) Verfahren zum betreiben einer speicheranordnung
DE19837473A1 (de) Speichervorrichtung mit einem Datenpuffer

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8130 Withdrawal
8165 Unexamined publication of following application revoked