EP0700554B1 - Verfahren zum datenschreiben in einem nicht flüchtigen speicher - Google Patents
Verfahren zum datenschreiben in einem nicht flüchtigen speicher Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000010200 validation analysis Methods 0.000 claims abstract description 44
- 230000008569 process Effects 0.000 claims abstract description 7
- 230000001960 triggered effect Effects 0.000 claims 1
- 230000002159 abnormal effect Effects 0.000 description 8
- 238000012217 deletion Methods 0.000 description 8
- 230000037430 deletion Effects 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 8
- 238000007792 addition Methods 0.000 description 7
- 230000009471 action Effects 0.000 description 6
- 230000001629 suppression Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 229940082150 encore Drugs 0.000 description 2
- 240000008042 Zea mays Species 0.000 description 1
- 238000010719 annulation reaction Methods 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
Images
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
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)
- 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.
- 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.
- Verfahren nach einem der Ansprüchen 1 bis 2, dadurch gekennzeichnet, daß die Datensätze im Speicher in verknüpften Dateien organisiert sind.
- 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.
- 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.
- 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.
- 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.
- 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.
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)
| 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)
| 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 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 連鎖分散データトランザクションシステムにおけるワーク単位識別子の管理方法 |
-
1993
- 1993-05-26 FR FR9306323A patent/FR2705803B1/fr not_active Expired - Lifetime
-
1994
- 1994-05-25 ES ES94917057T patent/ES2108459T3/es not_active Expired - Lifetime
- 1994-05-25 EP EP94917057A patent/EP0700554B1/de not_active Expired - Lifetime
- 1994-05-25 DE DE69406138T patent/DE69406138T2/de not_active Expired - Lifetime
- 1994-05-25 WO PCT/FR1994/000618 patent/WO1994028521A1/fr not_active Ceased
- 1994-05-25 US US08/556,986 patent/US5850506A/en not_active Expired - Lifetime
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 |