EP0700554B1 - Verfahren zum datenschreiben in einem nicht flüchtigen speicher - Google Patents

Verfahren zum datenschreiben in einem nicht flüchtigen speicher Download PDF

Info

Publication number
EP0700554B1
EP0700554B1 EP94917057A EP94917057A EP0700554B1 EP 0700554 B1 EP0700554 B1 EP 0700554B1 EP 94917057 A EP94917057 A EP 94917057A EP 94917057 A EP94917057 A EP 94917057A EP 0700554 B1 EP0700554 B1 EP 0700554B1
Authority
EP
European Patent Office
Prior art keywords
transactions
space
transaction
memory
record
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.)
Expired - Lifetime
Application number
EP94917057A
Other languages
English (en)
French (fr)
Other versions
EP0700554A1 (de
Inventor
Edouard Gordons
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.)
Gemplus SA
Original Assignee
Gemplus Card International SA
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 Gemplus Card International SA filed Critical Gemplus Card International SA
Publication of EP0700554A1 publication Critical patent/EP0700554A1/de
Application granted granted Critical
Publication of EP0700554B1 publication Critical patent/EP0700554B1/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

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

Definitions

  • the invention relates to memory cards, and more particularly cards comprising a non-volatile memory the content of which is managed (writing, erasing, updating of records) by a microprocessor.
  • One of the aims of the present invention is to ensure better integrity and better consistency of the data recorded in the non-volatile memory of the card.
  • the data recorded in the non-volatile memory of the card are arranged in files according to known methods.
  • the file contains records, the records are placed at determined physical positions of the memory; a file allocation table determines the occupied memory locations.
  • the records can be chained, that is to say that each record has two parts: a datum and an address of the next record in the file.
  • the data is in principle consistent between them, and in any case we can check their consistency by examining the content of the file.
  • An object of the invention is to improve the operating security of smart cards, from the point of view of the integrity and consistency of the data written in the non-volatile memory of these cards.
  • the invention is particularly applicable in the case of records organized in chained files, each record containing both a data item and a following record address; record chaining information is placed in the transaction space during the operations of adding, updating, and deleting these records.
  • each record addition operation preferably comprises on the one hand the writing in the non-volatile memory file of a new datum with a new chaining, and on the other hand the writing in the transaction space with information on the addition and on the old chaining.
  • the recording erase operation comprises on the one hand the writing of a new chaining in the non-volatile memory and on the other hand the writing of deletion information and of information of old chaining in the transaction space. Updating a record involves adding a record and freeing up the space previously occupied by the recording, with corresponding modification of the chaining so that the new recording replaces the previous one in the chain.
  • the update then includes writing in the transaction space information on the old chaining, as well as update information.
  • the writing in the transaction space is preferably a writing of the type protected against untimely power interruptions, that is to say that it is preferably carried out with a preliminary step of saving what must be written, then the placement of a lock, the actual writing, and the removal of the lock.
  • the mechanisms for writing data in the card include means of protection against an abnormal interruption of supply during a write operation.
  • the general principle of such protection consists in placing a lock in the non-volatile memory, this lock being positioned in a determined logical state ("locked state") at the start of the execution of a write operation and being reset. in the initial state ("unlocked") at the end of the operation; on the other hand, information for saving the data being written is placed in the non-volatile memory before the lock is put in place.
  • the state of the lock is systematically examined; if it is found that it is in the locked state, it means that there has been an abnormal interruption and the backup information is used to complete the writing procedure. For example, before lock, the information to be written and the address to which it must be written have been written in a non-volatile memory area. It is only after the installation of the lock that the information is definitively written.
  • the microprocessor of the card which executes the sequences of adding, updating, and deleting file recordings when it receives corresponding instructions from its program memory, can receive an instruction for control of grouping of writing operations. In the absence of this grouping command, the instructions cannot be invalidated globally.
  • the instruction is designed so that its launch requires that a validation command or an invalidation command be subsequently launched after the execution of the N operations.
  • the grouping command can be a command launched before each group of operations which must be validated or invalidated overall; or it can be a systematic resident command, that is to say that any write, erase or update operation is executed only by group of N successive operations.
  • Execution of the grouping instruction begins by designating a non-volatile memory space which will be called the TS transaction space; in this space of the transactions will be saved necessary data in the event of invalidation of the operations, or possibly in the event of abnormal interruption of the feeding of the card during the succession of N operations. Then, the execution of the grouping command modifies the writing, updating, or erasing sequences with respect to the sequences executed in the absence of a grouping command. In other words, the launching of the grouping command causes the use of specific writing, erasing, or updating subroutines for the writing, updating or erasing operations which are launched subsequently.
  • the memory space can be a fixed area of non-volatile memory, but it is however preferable to provide that this area varies from one group of N operations to the next, to avoid too frequent use of the same memory area. nonvolatile. It can for example be provided that the transaction space is a space designated randomly or pseudo-randomly among the free spaces of the memory; or else this space varies according to a pre-established rule.
  • the mechanism for writing data in the transaction space is a mechanism protected against abnormal power interruptions during a write operation.
  • the mechanism can be a latch mechanism as described above.
  • the writing sequence executed is as follows: storage in the transaction space of the chaining corresponding to the state of the memory before the execution of the sequence adding record; then proper writing of the new record (data and chaining). Information about adding a record to a given address is also stored in the transaction space.
  • the update sequence executed is as follows: storage in the space of the transactions of the data and of the chaining corresponding to the state of the memory before updating; storing information on a record addition and information on a record deletion; then execution of the update (data and chaining).
  • the erasing sequence executed is as follows: the old chaining is stored in the transaction space and information on the location of the modified record; then we modify the chaining.
  • the transaction space can then be released.
  • the transaction space stores the old chaining, but the new records and chaining are already written to memory before validation. This is why it is necessary to prohibit any read operation in the memory until the validation command is not carried out, under penalty of risking reading information which is not yet valid.
  • validation takes place in two stages.
  • the first step consists in making the desired chaining and keeping the previous values (address / data pair).
  • the second step executed later, is the final validation of all operations; the memory locations that have become unused are then freed.
  • the commands for writing data in non-volatile memory would have performed substantially the same number of operations, that is to say: establishment of chaining then release of spaces memory occupied by records to be erased or updated. The time taken to write in the transaction space is therefore to be added to the order execution time (in the case of validation) to obtain the total execution time per order.
  • the state of the file is represented before the operation, after the operation, after validation, and after invalidation.
  • records have been represented with their numbers (example E10 for the tenth record), their address (example A10 for the address of the tenth record), their content comprising on the one hand a chaining value which is the address of the next recording and on the other hand a data (D10 for the tenth recording).
  • the content of the file allocation table (FAT) has also been shown at the location corresponding to each recording address; content "1" means that the location is occupied, content "0" on the contrary means that the location is free.
  • the initial state of the file is therefore restored by the invalidation action.

Landscapes

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

Claims (8)

  1. Verfahren zum Schreiben, Aktualisieren und Löschen von Informationen in einer Karte mit nichtflüchtigem Speicher, dadurch gekennzeichnet, daß es enthält:
    - Ausführen eines Blockbildungsbefehls für die Zuweisung eines Transaktionsraum genannten Speicherraums, der dazu vorgesehen ist, temporäre Sicherungsdaten von N aufeinanderfolgenden Hinzufügungs-, Aktualisierungs- und/oder Löschungsoperationen zu speichern, wobei N eine endliche Zahl größer als 1 ist,
    - dann Ausführen dieser aufeinanderfolgenden Operationen und gleichzeitiges Speichern der jeder Operation entsprechenden Sicherungsdaten im Transaktionsraum,
    - dann Ausführen entweder einer Operation zur globalen Freigabe der N Operationen oder einer Operation der globalen Sperrung der N Operationen, wobei der Freigabebefehl eine Leerung der Speicherräume enthält, die vorher durch die Datensätze belegt waren, welche während der N Operationen gelöscht oder aktualisiert wurden, und wobei der Sperrbefehl hauptsächlich die Verwendung der Sicherungsdaten umfaßt, um den Zustand des Speichers vor den N Operationen wiederherzustellen.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Datensätze des Speichers in verknüpften Dateien organisiert sind, wobei die früheren Verknüpfungen im Raum der Transaktionen gespeichert sind und die Aktualisierungen und Hinzufügungen von Datensätzen während der Ausführung der N Operationen ausgeführt werden.
  3. Verfahren nach einem der Ansprüchen 1 bis 2, dadurch gekennzeichnet, daß die Datensätze im Speicher in verknüpften Dateien organisiert sind.
  4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß jede Operation einer Hinzufügung eines Datensatzes das Schreiben einer neuen Dateneinheit und einer neuen Verknüpfung in den nichtflüchtigen Speicher und das Schreiben einer Information bezüglich der früheren Verknüpfung in den Raum der Transaktionen umfaßt.
  5. Verfahren nach einem der Ansprüche 3 und 4, dadurch gekennzeichnet, daß die Operation des Löschens des Datensatzes das Schreiben einer neuen Verknüpfung in den nichtflüchtigen Speicher und das Schreiben der früheren Verknüpfung in den Raum der Transaktionen umfaßt.
  6. Verfahren nach einem der Ansprüche 3, 4 und 5, dadurch gekennzeichnet, daß die Aktualisierung eines Datensatzes die Hinzufügung eines Datensatzes und die Freigabe des vorher von dem Datensatz belegten Raums mit entsprechender Modifikation der Verknüpfungen, damit der neue Datensatz in der Verknüpfung den vorhergehenden ersetzt, umfaßt, wobei die Aktualisierung dann die Speicherung der früheren Verknüpfung in den Raum der Transaktionen enthält.
  7. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, daß das Schreiben in den Raum der Transaktionen ein Schreiben des Typs ist, der gegen fehlerhafte Unterbrechungen der Stromversorgung geschützt ist.
  8. Karte mit nichtflüchtigem Speicher mit Mikroprozessor, die enthält:
    - Mittel, damit der Mikroprozessor einen Blockbildungsbefehl empfängt und ausführt, um einen Transaktionsraum genannten Speicherraum zuzuweisen, der dazu vorgesehen ist, temporäre Sicherungsdaten von N aufeinanderfolgenden Datensatzhinzufügungs-, Datensatzaktualisierungs- und/oder Datensatzlöschungsoperationen zu speichern, wobei N eine endliche Zahl größer als 1 ist,
    - Mittel zum Ausführen der N aufeinanderfolgenden Operationen und zum gleichzeitigen Speichern von jeder Operation entsprechenden Sicherungsdaten im Transaktionsraum,
    - Mittel zum globalen Freigeben der N Operationen und Mittel zum globalen Sperren der N Operationen, wobei die Freigabemittel eine Leerung von Speicherräumen ermöglichen, die vorher durch die Datensätze belegt waren, die während der N Operationen gelöscht oder aktualisiert werden, und wobei die Sperrmittel hauptsächlich die Verwendung der Sicherungsdaten ermöglichen, um den Zustand des Speichers vor den N Operationen wiederherzustellen, wobei die Freigabe- und Sperrmittel aktiviert werden, wenn der Blockbildungsbefehl vor der Ausführung der N Operationen empfangen worden ist.
EP94917057A 1993-05-26 1994-05-25 Verfahren zum datenschreiben in einem nicht flüchtigen speicher Expired - Lifetime EP0700554B1 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR9306323 1993-05-26
FR9306323A FR2705803B1 (fr) 1993-05-26 1993-05-26 Procédé d'écriture d'informations dans une mémoire non-volatile.
PCT/FR1994/000618 WO1994028521A1 (fr) 1993-05-26 1994-05-25 Procede d'ecriture d'informations dans une memoire non-volatile

Publications (2)

Publication Number Publication Date
EP0700554A1 EP0700554A1 (de) 1996-03-13
EP0700554B1 true EP0700554B1 (de) 1997-10-08

Family

ID=9447483

Family Applications (1)

Application Number Title Priority Date Filing Date
EP94917057A Expired - Lifetime EP0700554B1 (de) 1993-05-26 1994-05-25 Verfahren zum datenschreiben in einem nicht flüchtigen speicher

Country Status (6)

Country Link
US (1) US5850506A (de)
EP (1) EP0700554B1 (de)
DE (1) DE69406138T2 (de)
ES (1) ES2108459T3 (de)
FR (1) FR2705803B1 (de)
WO (1) WO1994028521A1 (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020048203A1 (en) * 2000-10-19 2002-04-25 Findling Patrick M. Extending total write cycles of non-volatile memory for rolling codes
US7363540B2 (en) 2002-10-22 2008-04-22 Microsoft Corporation Transaction-safe FAT file system improvements
US7174420B2 (en) * 2002-10-22 2007-02-06 Microsoft Corporation Transaction-safe FAT file system
US9639554B2 (en) 2004-12-17 2017-05-02 Microsoft Technology Licensing, Llc Extensible file system
US8321439B2 (en) 2004-12-17 2012-11-27 Microsoft Corporation Quick filename lookup using name hash
US8606830B2 (en) 2004-12-17 2013-12-10 Microsoft Corporation Contiguous file allocation in an extensible file system
US7873596B2 (en) 2006-05-23 2011-01-18 Microsoft Corporation Extending cluster allocations in an extensible file system
US7613738B2 (en) 2007-01-16 2009-11-03 Microsoft Corporation FAT directory structure for use in transaction safe file system
US7747664B2 (en) * 2007-01-16 2010-06-29 Microsoft Corporation Storage system format for transaction safe file system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4459658A (en) * 1982-02-26 1984-07-10 Bell Telephone Laboratories Incorporated Technique for enabling operation of a computer system with a consistent state of a linked list data structure after a main memory failure
US4839792A (en) * 1986-06-20 1989-06-13 Kabushiki Kaisha Toshiba Portable electronic apparatus with a device for determining data validity
JP2514954B2 (ja) * 1987-03-13 1996-07-10 三菱電機株式会社 Icカ−ド
US4959836A (en) * 1987-12-09 1990-09-25 Siemens Transmission Systems, Inc. Register robustness improvement circuit and method
JP2837288B2 (ja) * 1990-09-17 1998-12-14 インターナショナル・ビジネス・マシーンズ・コーポレイション 連鎖分散データトランザクションシステムにおけるワーク単位識別子の管理方法

Also Published As

Publication number Publication date
DE69406138D1 (de) 1997-11-13
DE69406138T2 (de) 1998-02-12
US5850506A (en) 1998-12-15
ES2108459T3 (es) 1997-12-16
FR2705803B1 (fr) 1995-07-07
EP0700554A1 (de) 1996-03-13
FR2705803A1 (fr) 1994-12-02
WO1994028521A1 (fr) 1994-12-08

Similar Documents

Publication Publication Date Title
EP1161725B1 (de) Verfahren zur überwachung des programmablaufs
CA2337144C (fr) Procede de reception de fichiers lors d'un telechargement
FR2977694A1 (fr) Microprocesseur protege contre un debordement de pile
EP0700554B1 (de) Verfahren zum datenschreiben in einem nicht flüchtigen speicher
FR2612316A1 (fr) Carte a circuits integres ayant une capacite de verification d'erreur interne
EP0565389A1 (de) Verfahren zur Speicheranpassung für eine IC-Karte
EP0630027B1 (de) Verfahren zum Abspeichern und Sichern von empfindlicher Daten in eine EEPROM Speicherkarte und entsprechende Speicherkarte.
FR3055992A1 (fr) Gestion d'index dans une memoire flash
EP2453356A1 (de) Verfahren, Computerprogramm und Vorrichtung zur Sicherung des Programmierungs-Verbindungscodes für seine Ausführung durch eine virtuelle Maschine
EP0769742B1 (de) Elektronisches Bauelement mit einem elektrisch löschbaren und nichtflüchtigen Speicher
FR2880963A1 (fr) Points d'arrets logiciels destines a etre utilises avec des dispositifs a memoire
EP2834741B1 (de) Verfahren zur speicherinternen modifikation eines datensatzes
FR2746526A1 (fr) Procede pour conserver une base de donnees a organisation temporelle et spatiale
EP0838053B1 (de) Verfahren und gerät zur evolution eines programmes in rom
FR2689662A1 (fr) Procédé de protection d'une carte à puce contre la perte d'information.
EP2229648B1 (de) Verfahren zur sicheren datenübertragung
FR2701578A1 (fr) Procédé d'écriture dans une mémoire non volatile, notamment dans une carte à mémoire.
EP3246819B1 (de) Zähler in einem flash-speicher
FR2757978A1 (fr) Procede de securisation d'une donnee dans une memoire reinscriptible
EP4055485B1 (de) Verfahren zum ausführen einer transaktion
FR2503900A1 (fr) Dispositif de reprise pour installation de traitement de donnees
WO2019102159A1 (fr) Système informatique, procédé d'accès à un fichier informatique et programme d'ordinateur correspondant
EP1573690B1 (de) Sicheres verfahren zum modifizieren von ineiner speicherkarte aufgezeichneten daten
FR3151923A1 (fr) Microprocesseur équipé d'un module matériel de sécurisation
EP1828938B1 (de) Verfahren und system zur optimierung der verwaltung von aufzeichnungsdateien

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 19951123

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): DE ES GB IT

17Q First examination report despatched

Effective date: 19960305

GRAG Despatch of communication of intention to grant

Free format text: ORIGINAL CODE: EPIDOS AGRA

GRAH Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOS IGRA

GRAH Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOS IGRA

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): DE ES GB IT

ITF It: translation for a ep patent filed
GBT Gb: translation of ep patent filed (gb section 77(6)(a)/1977)

Effective date: 19971010

REF Corresponds to:

Ref document number: 69406138

Country of ref document: DE

Date of ref document: 19971113

REG Reference to a national code

Ref country code: ES

Ref legal event code: FG2A

Ref document number: 2108459

Country of ref document: ES

Kind code of ref document: T3

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

26N No opposition filed
REG Reference to a national code

Ref country code: GB

Ref legal event code: IF02

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: ES

Payment date: 20120508

Year of fee payment: 19

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: GB

Payment date: 20130424

Year of fee payment: 20

Ref country code: DE

Payment date: 20130423

Year of fee payment: 20

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: IT

Payment date: 20130423

Year of fee payment: 20

REG Reference to a national code

Ref country code: DE

Ref legal event code: R071

Ref document number: 69406138

Country of ref document: DE

REG Reference to a national code

Ref country code: DE

Ref legal event code: R071

Ref document number: 69406138

Country of ref document: DE

REG Reference to a national code

Ref country code: GB

Ref legal event code: PE20

Expiry date: 20140524

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GB

Free format text: LAPSE BECAUSE OF EXPIRATION OF PROTECTION

Effective date: 20140524

REG Reference to a national code

Ref country code: ES

Ref legal event code: FD2A

Effective date: 20140807

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: DE

Free format text: LAPSE BECAUSE OF EXPIRATION OF PROTECTION

Effective date: 20140527

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: ES

Free format text: LAPSE BECAUSE OF EXPIRATION OF PROTECTION

Effective date: 20140526