DE10129417A1 - Verfahren zum Bearbeiten eines Speicherplatzes in einem Speicher einer Chipkarte - Google Patents
Verfahren zum Bearbeiten eines Speicherplatzes in einem Speicher einer ChipkarteInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms 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/10—Mechanisms 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/1008—Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment 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/341—Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment 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/357—Cards having a plurality of specified features
- G06Q20/3576—Multiple memory zones on card
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/102—External 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.
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).
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.
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).
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).
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.
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)
| 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)
| 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 |
-
2001
- 2001-06-19 DE DE2001129417 patent/DE10129417A1/de not_active Withdrawn
-
2002
- 2002-04-12 WO PCT/EP2002/004120 patent/WO2002103525A2/de not_active Ceased
- 2002-05-24 TW TW91111072A patent/TW557425B/zh active
Patent Citations (1)
| 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 |