WO2003042827A2 - Comparaison de donnees repliques - Google Patents

Comparaison de donnees repliques Download PDF

Info

Publication number
WO2003042827A2
WO2003042827A2 PCT/FR2002/003135 FR0203135W WO03042827A2 WO 2003042827 A2 WO2003042827 A2 WO 2003042827A2 FR 0203135 W FR0203135 W FR 0203135W WO 03042827 A2 WO03042827 A2 WO 03042827A2
Authority
WO
WIPO (PCT)
Prior art keywords
information
memory
value
writing direction
values
Prior art date
Application number
PCT/FR2002/003135
Other languages
English (en)
Other versions
WO2003042827A3 (fr
Inventor
Jean-Philippe Millard
Henri Ohanian
Original Assignee
Gemplus
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 filed Critical Gemplus
Priority to AU2002347237A priority Critical patent/AU2002347237A1/en
Publication of WO2003042827A2 publication Critical patent/WO2003042827A2/fr
Publication of WO2003042827A3 publication Critical patent/WO2003042827A3/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • 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

Definitions

  • the invention relates to a method for writing information in a memory, an associated reading method, and an associated memory management device.
  • the invention is particularly interesting in the case of information which can be updated.
  • the invention can be advantageously used in the field of memory cards, also called smart cards.
  • a recurring problem in smart card applications is the reliability of saving information to memory. It is indeed essential to be able to guarantee the content of certain areas of the memory. This is particularly the case for the memory areas used to store secret and / or essential information in sensitive applications. For example, for a banking type application, it is necessary to guarantee the value of a number stored in the card and identifying its owner. In other applications, it is necessary to guarantee the value of a pointer which indicates for example where, in the memory, a given item of information is stored. This reliability problem also arises for card locks, which are memory areas programmed over the life of the card to block certain functions of the card.
  • OTP One Time Programmable Memory
  • an OTP memory does not allow the information it contains to be updated. However, it is more and more often necessary to be able to memorize reliably information to be updated, regularly or not, frequently or not.
  • EPROM and EEPROM memories know that whatever the technology used, there is a maximum number of writes and / or reads for each zone (cells, cell blocks, etc.) of the memory. . Beyond this maximum number, a zone no longer correctly stores information even if the writing takes place in good conditions, or else the reading of a zone gives an incorrect value of the information that it contains. Furthermore, the manufacturers of non-volatile memories also know that a stored value is only reliable if the writing of this value has taken place correctly and completely, which is not always the case. Writing a memory, to be complete and efficient, requires a determined amount of energy for a determined long enough time (of the order of a few milliseconds). Since a memory card does not have an internal energy source, the energy necessary for writing is supplied from the outside, by a card reader into which the card is inserted, for example.
  • a typical and frequent example of interrupting the power supply of a card is the tearing of the card from the card reader during writing.
  • its DA content if it exists, is possibly gradually erased then replaced by the programming of a DB information (which is a new information or an update of the DA information) previously contained in the memory area.
  • the programming (or possibly the erasure which precedes it) is abruptly interrupted. If the interruption takes place at the very start of writing, then it is very likely that the DA value previously stored in the zone is still saved, in which case a future reading of the zone will give this old DA value. Conversely, if the interruption takes place at the very end of programming, then it is very likely that the new DB value is already stored in the zone, so that a future reading of this zone will give the new DB value. In between, intermediate situations occur. If approximately 50% of the programming has been carried out, then the content of the zone is such that the DA value or the DB value can be read with the same probability during a future reading.
  • the content of the zone is such that during a future reading of the zone, the DA value will be read most often, sometimes with the reading of the DB value .
  • the content of the zone is such that during a future reading of the zone, the value DB will be read most often, sometimes with the reading of the value DA.
  • An object of the invention is to propose a solution for saving information in a memory in a reliable manner, in order to subsequently guarantee the stored value of the information.
  • Another object of the invention is to provide a solution for backing up information which can be updated, in a reliable manner. Another object is to propose a method of memorizing information in a memory.
  • Another object of the invention is to propose a method for reading the stored data, guaranteeing the value of the stored information. Another object finally is to provide a device for managing a memory, guaranteeing the value of the information stored.
  • the invention relates to a method of writing information into a memory, during which X images of the information are stored in a set of X zones as a function of a previously written direction. stored in memory.
  • the number X is preferably greater than or equal to three.
  • Memorizing information in X separate zones guarantees the value of the information during a future reading. Indeed, insofar as a value is written in one of the X zones only after correct and complete writing of the previous zone, there exists at least one zone containing a certain value of the information.
  • an update of the information (by implementing the writing method of the invention) can only start after the correct and complete completion of the previous update.
  • the writing direction defines the order in which the X image values of the information are stored in the X zones. It also allows you to define the first written area and the last written area (which vary according to the writing direction).
  • the writing direction takes two values corresponding to two different classification orders of the set of X zones.
  • these two values are opposite: for example, a positive direction is defined corresponding to a journey of all the X zones from a first zone to a last zone, and a negative writing direction, corresponding to a route of all X zones from the last zone to the first zone.
  • the writing direction is stored in the memory, and it can be updated, for example each time the information is read.
  • the X stored images of the information may be identical or not.
  • the X images can be equal to the real value of the information.
  • One or more of the X images can also be derived from the information by applying a mathematical function. For example, one of the images can be equal to the inverse (in the sense l / DB) of the real value the information.
  • the writing method also comprises an initialization step, carried out before writing the information of the X zones or before the first writing of the information in the X areas.
  • an initialization step carried out before writing the information of the X zones or before the first writing of the information in the X areas.
  • a predetermined and stable value is stored in all of the X zones.
  • stable value is meant a value that is correctly and completely programmed.
  • the stable initialization value can be a zero value or any other value, such as for example an initial value of the information to be written.
  • the invention also relates to a reading method associated with the above writing method.
  • the reading process makes it possible to read information, previously written successively in X areas of a memory in a previous writing direction.
  • the reading process is characterized in that it comprises the following steps:
  • E4 determination of the information from the result of the comparison and the previous writing direction, then storage of an updated writing direction.
  • the information to be read can be information stored only once or an updated value of information previously stored.
  • the information to be read is stored in X areas of the memory, the size of which (in terms of bytes) depends in particular on the size of the information and on the technology used for making the memory.
  • the size and geographic distribution of the X zones in the memory is indifferent.
  • the information to be read is stored in the form of X image values of the information.
  • the information to be read was previously stored in the previous writing direction, which can take two values corresponding to two different classification orders (preferably complementary to each other) from all of the X zones.
  • the writing direction is said to be positive or negative. In an example, if the writing direction corresponds to a classification of 1 to X of the zones, then the negative writing direction corresponds to the reverse order of the zones, from X to 1.
  • the writing direction is stored in an area of the memory reserved for this purpose, with a view to being used during the next implementation of the writing process.
  • the writing direction is updated at the end of each implementation of the reading process.
  • the writing direction is read from the memory during step E1.
  • the values contained in the X zones are also read from the memory during step E2.
  • steps E1, E2 can be carried out one after the other, successively, etc.
  • the direction of realization of steps E1, E2 is indifferent.
  • the direction of reading of the X areas of the memory during step E2 is indifferent and may vary between two implementations of the method.
  • the X zones can be read in the writing direction, in the reverse direction, or even in any order. The main thing is to read all the values contained in the X zones and to classify them in the order in which they were written, according to the writing direction read. This allows to define, for each writing direction, the first written value and the last written value.
  • the comparison step E3 makes it possible to determine whether the writing of the information in the X zones has been correctly and completely carried out, or whether on the contrary the writing has been interrupted, and if necessary when it has been interrupted. , as will be seen better in the examples below. For this, we check in particular if all the X values are equal or not. Step E4 then makes it possible to decide what is the value of the information among the X stored values of this information. This value is certain, as we will see better later. The writing direction is finally updated at the end of step E4. It should be noted that if the X written image values are different from the real value of the information,
  • step E3 preferably comprises the following sub-steps: E31: reading of X image values of the information stored in the X zones ,
  • Step E32 calculation of X information values. Step E4 will then of course be carried out on the basis of the X recalculated values.
  • step E4 comprises the sub-steps described below, carried out if the X values (possibly the X calculated values) are identical:
  • ET11 the information is equal to the first value associated with the previous writing direction
  • the updated writing direction is the complementary direction of the previous writing direction. If all the values are identical, then it is estimated that the previous writing of the information was correctly and completely performed, or at least the first (Xl) zones have been correctly and completely written. In this case, the information to be read is equal to the first written value associated with the previous writing direction: this value is indeed the most reliable zone in the sense that it is certain that it has been written correctly and completely.
  • the writing direction is finally updated with a view to updating information D.
  • the updated writing direction is the complementary direction to the previous writing direction, it is stored in the memory.
  • step E4 comprises the following sub-steps, carried out if the X values are not identical and if there is a majority sequence.
  • ET21 the information is equal to the first value previously written if the majority sequence includes the first value previously written and the information is equal to the last value previously written if the majority sequence includes the last value previously written, and
  • ET22 the updated writing direction is equal to the previous writing direction. If all the values read are not identical, then this means that the previous update of the information was not carried out correctly and completely. This will be the case, for example, if the reader card is torn off while the X zones are being written.
  • a sequence is said to be majority if it includes a number of elements strictly greater than the number of elements of the other sequences from the same set of written values.
  • step ET21 the information is equal to the extreme value (first or last) of the majority sequence and which is also an extreme value (first or last) of the set of X values read.
  • the updated writing direction is then stored in the memory: the updated value of the writing direction is equal to its previous value (ET22).
  • step E4 comprises the following sub-steps, carried out if the X values are not identical and if there is no majority sequence:
  • the invention finally relates to a device for managing a data memory, comprising an automaton for implementing a writing method and / or a reading method as described above.
  • the data memory is an electrically erasable programmable memory, for example an EEPROM memory.
  • the device comprises a processing unit and an associated program memory, the automaton being produced in software form and implemented by a microprocessor of the processing unit.
  • the automaton is a circuit coupled to the control inputs of the data memory.
  • the management device according to the invention is either integrated on the same support as the data memory or else is deported in an associated device.
  • the management device and the memory can be integrated together in a smart card.
  • the memory is integrated into a smart card and the management device is integrated into an associated reader.
  • the invention can be used regardless of the size of the information to be stored and regardless of the respective position of the X zones used in the memory.
  • the memory management device comprises in particular means for geographically locating the X zones in the memory.
  • the invention can be used for the management of a lock in a memory card, or else for the realization of a storage system guaranteeing the content of the data memory that it manages.
  • FIG. 1 is a functional diagram of a card that can be used for implementing the invention.
  • FIGS. 1, 2 are diagrams of an algorithm for implementing the method for reading data in a memory, according to the invention. The invention is described below in relation to FIGS. 1, 2, in the context of a particular application where a non-volatile memory contains at least one item of information D capable of being updated.
  • FIG. 1 illustrates a smart card, which includes a memory MD of data capable of being updated and a device CG for managing the memory MD.
  • the chip card only includes a data memory MD
  • the memory management device CG is in turn deported to a chip card reader.
  • the management device MG notably comprises a processing unit UT, which is for example a microprocessor, and an associated program memory MP, for example of the ROM or EPROM type.
  • the program memory notably includes an application program, specific to the intended use of the smart card.
  • the memory MP also includes a program PR for managing the data memory MD, allowing the implementation of a mechanism for writing and reading the memory MD.
  • the PR program comprises in particular a memory write subroutine, and a memory read subroutine, according to the invention.
  • the data memory MD is here of the EERPOM type, it comprises a memory plan comprising in particular X memory zones PI, P2, ... PX, intended for memorizing and saving the information D capable of being updated.
  • the X zones PI, P2, ... PX are here X pages identical from the MD memory (each page possibly comprising several bytes), located side by side. It is recalled that the size and the position of the X zones on the memory plane are indifferent.
  • the memory map also includes an additional area for storing the value of the writing direction S. This area is in the example a one-bit area in which the value 1 is stored if the writing direction is positive and in which stores the value 0 if the writing direction is negative.
  • the X zones PI, P2, PX of the memory contain data Dl, D2, ..., DX, all equal to an initial value DA of the information to be read.
  • the content of the X zones is therefore stable, in the sense that the X zones have been correctly and completely written.
  • the updating of the information D is carried out in the following manner: reading of the direction of writing in the memory MD then writing of updated value DB of the information D successively in the X zones PI, P2 , ... PX of the memory if the writing direction is positive or in the X zones PX, ..., P2, PI if the writing direction is negative.
  • the reading method we consider in a first example the case of a memory MD comprising six zones PI to P6 reserved for writing information D. It is furthermore assumed that the writing direction is initially positive. Information D is read in the following manner. During a first step E1, the previous writing direction is read from the memory (here positive direction). During step E2, the six values D1 to D6 are read from the six corresponding zones PI to P6. It is recalled that the reading direction of the six zones is indifferent. The main thing is to read all the fields, then classify the values read in the writing direction if necessary. In this example, the reading gives the following set of values:
  • step ET1 is carried out:
  • Dl DB (ET11) because, the writing direction being positive, the first value previously written was the value Dl,
  • a memory MD comprising six zones PI to P6 reserved for writing information D. It is also assumed that the writing direction is initially positive. Information D is read in the following manner. During a first step E1, the previous writing direction is read from the memory (here positive direction). During step E2, the six values D1 to D6 are read from the six corresponding zones PI to P6. In this example, the reading gives the following set of values:
  • (Dl, ..., D6) (DB, DB, Dl, DA, DA, DA) Dl is any value, possibly undetermined.
  • Such a set of values is obtained in particular when the previous update was interrupted during the writing of the area P3 or P4.
  • the set of values here comprises two sequences of identical values and comprising one of the extreme values (Dl or D6) of the data: the sequence (Dl, D2) and the sequence (D4, D5, D6).
  • the second sequence is in the majority because it includes a number of elements strictly greater than that of the first sequence.
  • the updated value of the writing direction is equal to its previous value (ET22), so it remains positive.
  • step E1 the previous writing direction is read from the memory (here positive direction).
  • step E2 the three values
  • Dl to D3 are read in the three zones PI to P3.
  • Such a set of values is obtained in particular when the previous update was interrupted during the writing of the area P2 or P3.
  • the set of values here comprises two sequences of identical values and comprising one of the values extremes (Dl or D3) of the data: the sequence (Dl, D2) and the sequence (D3).
  • the first sequence is in the majority because it includes a number of elements strictly greater than that of the second sequence.
  • the updated value of the writing direction is equal to its previous value (ET22), so it remains positive.
  • step E1 the previous writing direction is read from the memory (here positive direction).
  • step E2 the three values
  • Dl to D3 are read in the three zones PI to P3.
  • Such a set of values is obtained in particular when the previous update was interrupted during the writing of the area P2 or P3.
  • the set of values here comprises two sequences of identical values and comprising one of the extreme values (Dl or D3) of the data: the sequence (Dl) and the sequence (D3).
  • the two sequences each include a unique value here and therefore neither is in the majority.
  • the updated value of the writing direction is equal to its previous value (ET32), so it remains positive.
  • a first application of the invention is the production of a removable lock in a memory card.
  • a lock is a memory area used by an upstream user to prevent a downstream user from accessing certain functionalities of the card.
  • the state of the lock, open or closed, must of course be guaranteed.
  • the invention makes it possible to produce a non-permanent lock (unlike a lock produced using an OTP memory), that is to say a lock which can be opened or closed by the upstream user.
  • a lock could be advantageous for a card used as an electronic purse.
  • the upstream user for example a banker, thus reserves the possibility of recharging the card with a sum of money, and prohibits the downstream user, his client, from recharging the wallet alone.
  • a second application of the invention is the production of an anti-stress mechanism for a data memory in which is stored at least one current information capable of being updated.
  • a mechanism is for example achieved by using two or more memory zones to program the same information: the different zones are used successively in a predefined order as the information is updated.
  • a pointer is also updated, indicating which memory area is in use. The value of this pointer must of course be certain, in order to always be able to guarantee access to the last updated value of the information in the memory.
  • the invention can be advantageously used to memorize the pointer, which will guarantee its value.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Character Input (AREA)

Abstract

L'invention concerne un procédé d'écriture d'une information (DB) dans une mémoire (MD), au cours duquel on mémorise X images de l'information dans un ensemble de X zones (P1, à PX) en fonction d'un sens d'écriture précédemment mémorisé dans la mémoire (MD). L'invention concerne également un procédé de lecture associé comprenant les étapes suivantes : E1 : lecture d'un sens d'écriture (S-) précédent,E2 : lecture des X valeurs (D1 à DX) images, E3 : comparaison des X valeurs (D1 à DX) images, puis E4 : détermination de l'information (DB) à partir du résultat de la comparaison et du sens d'écriture précédent, puis mémorisation d'un sens d'écriture (S) actualisé. Application aux cartes à mémoire.

Description

PROCEDE D'ECRITURE D'UNE INFORMATION
DANS UNE MEMOIRE. PROCEDE DE LECTURE ASSOCIE ET
DISPOSITIF DE GESTION D'UNE MEMOIRE ASSOCIE.
L'invention concerne un procédé d'écriture d'une information dans une mémoire, un procédé de lecture associé, et un dispositif de gestion de la mémoire associé. L'invention est notamment intéressante dans le cas d'une information susceptible d'être mise à jour. L'invention peut être avantageusement utilisée dans le domaine des cartes à mémoire, encore appelées cartes à puce .
Un problème récurrent dans les applications pour cartes à mémoire est la fiabilité de la sauvegarde d'informations dans la mémoire. Il est en effet indispensable de pouvoir garantir le contenu de certaines zones de la mémoire . C ' est le cas notamment des zones de mémoire utilisées pour mémoriser des informations secrètes et/ou essentielles dans des applications sensibles. Par exemple, pour une application de type bancaire, il est nécessaire de garantir la valeur d'un numéro mémorisé dans la carte et identifiant son possesseur. Dans d'autres applications, il est nécessaire de garantir la valeur d'un pointeur qui indique par exemple où, dans la mémoire, est mémorisée une information donnée. Ce problème de fiabilité se pose également pour des verrous de la carte, qui sont des zones de mémoire programmées au fur et à mesure de la vie de la carte pour bloquer certaines fonctionnalités de la carte .
Une solution à ce problème est l'utilisation de mémoire de type OTP (de l'anglais One Time Programmable Memory) . Une telle mémoire est par définition programmable une seule fois et son contenu ne peut pas être efface électriquement. Aussi, après s'être assuré que l'information a été correctement mémorisée, la lecture de 1 ' information fournit dans tous les cas une valeur fiable et garantie. Une telle mémoire est très souvent utilisée pour la réalisation des verrous de la carte.
En contrepartie de sa fiabilité, une mémoire OTP ne permet pas la mise à jour des informations qu'elle contient. Or il est de plus en plus souvent nécessaire de pouvoir mémoriser de manière fiable une information devant être mise à jour, régulièrement ou non, fréquemment ou non.
Lorsque des informations doivent être mises à jour dans une carte, ces informations sont classiquement mémorisées dans une mémoire non volatile programmable et effaçable électriquement, par exemple de type EEPROM, etc. Cependant, une information mémorisée dans une telle mémoire n'est pas fiable, en ce sens qu'il n'est pas possible de garantir la valeur de 1 ' information mémorisée.
En effet, les fabricants de mémoires de type EPROM, EEPROM savent que quelle que soit la technologie utilisée, il existe un nombre maximum d'écritures et / ou de lectures pour chaque zone (cellules, blocs de cellules, etc.) de la mémoire. Au delà de ce nombre maximum, une zone ne mémorise plus correctement une information même si l'écriture se déroule dans de bonnes conditions, ou bien la lecture d'une zone donne une valeur incorrecte de l'information qu'elle contient. Par ailleurs, les fabricants de mémoires non volatiles savent également qu'une valeur mémorisée n'est fiable que si l'écriture de cette valeur a eu lieu correctement et complètement, ce qui n'est pas toujours le cas. L'écriture d'une mémoire, pour être complète et efficace, demande une quantité d'énergie déterminée pendant un temps déterminé assez long (de l'ordre de quelques millisecondes) . Une carte à mémoire ne disposant pas de source d'énergie interne, l'énergie nécessaire à la réalisation d'une écriture est fournie par l'extérieur, par un lecteur de carte dans lequel est insérée la carte par exemple.
Un exemple typique et fréquent d'interruption de l'alimentation en énergie d'une carte est l'arrachement de la carte du lecteur de cartes pendant une écriture. Au cours de l'écriture d'une zone mémoire, son contenu DA, s'il existe, est éventuellement effacé progressivement puis remplacé par la programmation d'une information DB (qui est une nouvelle information ou bien une mise à jour de l'information DA) précédemment contenue dans la zone mémoire.
Si l'alimentation en énergie de la carte est interrompue pendant la programmation de l'information DB, la programmation (ou éventuellement l'effacement qui la précède) est interrompue brusquement. Si l'interruption a lieu au tout début de l'écriture, alors il est fort probable que la valeur DA précédemment mémorisée dans la zone le soit encore, auquel cas une lecture future de la zone donnera cette ancienne valeur DA. Inversement, si l'interruption a lieu tout à la fin de la programmation, alors il est fort probable que la nouvelle valeur DB soit déjà mémorisée dans la zone, de sorte qu'une lecture future de cette zone donnera la nouvelle valeur DB. Entre les deux, des situations intermédiaires se produisent . Si environ 50% de la programmation a été réalisée, alors le contenu de la zone est tel que la valeur DA ou la valeur DB pourra être lue avec la même probabilité au cours d'une lecture future. Si environ 20-30% de l'écriture a été réalisée, alors le contenu de la zone est tel que lors d'une lecture future de la zone, la valeur DA sera lue le plus souvent, avec parfois la lecture de la valeur DB . Inversement, si environ 70-80% de l'écriture a été réalisée, alors le contenu de la zone est tel que lors d'une lecture future de la zone, la valeur DB sera lue le plus souvent, avec parfois la lecture de la valeur DA.
Dans ces conditions, il n'est évidemment pas possible de savoir si la zone mémoire concernée contient effectivement l'ancienne valeur DA ou la nouvelle valeur DB, ou si une lecture future de la zone donnera soit la valeur DA, soit la valeur DB, avec une probabilité variable. Dans ces conditions, il n'est évidemment pas possible de garantir la valeur de 1 ' information qui pourrait être lue par la suite dans la zone mémoire.
Un objet de l'invention est de proposer une solution pour sauvegarder une information dans une mémoire de manière fiable, pour garantir par la suite la valeur mémorisée de l'information.
Un autre objet de l'invention est de proposer une solution pour sauvegarder une information susceptible d'être mise à jour, de manière fiable. Un objet également est de proposer un procédé de mémorisation d'une information dans une mémoire.
Un autre objet de l'invention est de proposer un procédé de lecture de la donnée mémorisée, garantissant la valeur de l'information mémorisée. Un autre objet enfin est de réaliser un dispositif de gestion d'une mémoire, garantissant la valeur de l'information mémorisée.
Avec ces objectifs en vue, l'invention concerne un procédé d'écriture d'une information dans une mémoire, au cours duquel on mémorise X images de 1 ' information dans un ensemble de X zones en fonction d'un sens d'écriture précédemment mémorisé dans la mémoire. Le nombre X est de préférence supérieur ou égal à trois . La mémorisation de l'information dans X zones distinctes permet de garantir la valeur de l'information lors d'une lecture future. En effet, dans la mesure où une valeur n'est écrite dans une des X zones qu'après écriture correcte et complète de la précédente zone, il existe au moins une zone contenant une valeur certaine de l'information. Dans le même esprit, une mise à jour de l'information (par mise en œuvre du procédé d'écriture de l'invention) ne peut commencer qu'après la réalisation correcte et complète de la mise à jour précédente.
Le sens d'écriture définit l'ordre dans lequel les X valeurs images de 1 ' information sont mémorisées dans les X zones. Il permet aussi de définir la première zone écrite et la dernière zone écrite (qui varient en fonction du sens d'écriture) .
De préférence, le sens d'écriture prend deux valeurs correspondant à deux ordres de classement différents de l'ensemble de X zones. De préférence également, ces deux valeurs sont contraire : on définit par exemple un sens positif correspondant à un parcours de l'ensemble des X zones depuis une première zone jusqu'à une dernière zone, et un sens d'écriture négatif, correspondant à un parcours de 1 ' ensemble des X zones depuis la dernière zone jusqu'à la première zone.
Le sens d'écriture est mémorisé dans la mémoire, et il est susceptible d'être actualisé, par exemple à chaque lecture de l'information.
Les X images mémorisées de 1 ' information peuvent être identiques ou non. Les X images peuvent être égales à la valeur réelle de l'information. Une ou plusieurs des X images peuvent également être dérivée de l'information par application d'une fonction mathématique. A titre d'exemple, une des images peut être égale à l'inverse (au sens l/DB) de la valeur réelle le l'information.
Selon un mode préféré de mise en œuvre, le procédé d'écriture comprend également une étape d'initialisation, réalisée avant l'écriture de l'information des X zones ou avant la première écriture de 1 ' information dans les X zones. Au cours de l'étape d'initialisation une valeur prédéterminée et stable est mémorisée dans l'ensemble des X zones .
Par valeur stable, il faut comprendre une valeur qui est correctement et complètement programmée. La valeur stable d'initialisation peut être une valeur nulle ou tout autre valeur, telle que par exemple une valeur initiale de l'information à écrire.
L'invention concerne également un procédé de lecture associé au procédé d'écriture ci-dessus.
Le procédé de lecture permet de lire une information, précédemment écrite successivement dans X zones d'une mémoire dans un sens d'écriture précédent. Le procédé de lecture est caractérisé en ce que en ce qu'il comprend les étapes suivantes :
El : lecture du sens d'écriture précédent, E2 : lecture de X valeurs images de l'information mémorisée, respectivement dans les X zones, E3 : comparaison des X valeurs, puis
E4 : détermination de 1 ' information à partir du résultat de la comparaison et du sens d'écriture précédent, puis mémorisation d'un sens d'écriture actualisé . L'information à lire peut être une information mémorisée une seule fois ou bien une valeur mise à jour d'une information précédemment mémorisée.
L'information à lire est mémorisée dans X zones de la mémoire dont la taille (en termes d'octets) est fonction notamment de la taille de l'information et de la technologie utilisée pour la réalisation de la mémoire. La taille et répartition géographique des X zones dans la mémoire est indifférente.
L'information à lire est mémorisée sous la forme de X valeurs images de l'information. Par valeur image de l'information, il faut comprendre, de même que précédemment, une valeur obtenue à partir de la valeur réelle de l'information par une application mathématique, telle que par exemple l'application identique (valeur image = valeur réelle), l'application inverse (valeur image = valeur inverse de la valeur réelle) ou toute autre application mathématique.
L'information à lire a été précédemment mémorisée selon le sens d'écriture précédent, qui peut prendre deux valeurs correspondant à deux ordres de classement différents (de préférence complémentaires l'un de l'autre) de l'ensemble des X zones. Arbitrairement, le sens d'écriture est dit positif ou négatif. Dans un exemple, si le sens d'écriture correspond à un classement de 1 à X des zones, alors le sens d'écriture négatif correspond à l'ordre inverse des zones, de X à 1.
Le sens d'écriture est mémorisé dans une zone de la mémoire réservé à cet effet, en vue d'être utilisé lors d'une prochaine mise en œuvre du procédé d'écriture. Le sens d'écriture est actualisé à la fin de chaque mise en œuvre du procédé de lecture .
Lors de la mise en œuvre du procédé de lecture, le sens d'écriture est lu dans la mémoire au cours de l'étape El. Les valeurs contenues dans les X zones sont également lues dans la mémoire au cours de l'étape E2. Il est à noter que les étapes El, E2 peut être réalisées l'une après l'autre, successivement, etc. Le sens de réalisation des étapes El, E2 est indifférent. De la même façon, le sens de lecture des X zones de la mémoire au cours de l'étape E2 est indifférent et peut varier entre deux mises en œuvre du procédé. Les X zones peuvent être lues dans le sens d'écriture, dans le sens inverse, ou même dans un ordre quelconque. L'essentiel est de lire toutes les valeurs contenues dans les X zones et de les classer dans l'ordre où elles ont été écrites, en fonction du sens d'écriture lu. Ceci permet de définir, pour chaque sens d'écriture, la première valeur écrite et la dernière valeur écrite.
L'étape de comparaison E3 permet de déterminer si l'écriture de l'information dans les X zones a été correctement et complètement réalisée, ou si au contraire l'écriture a été interrompue, et le cas échéant à quel moment elle a été interrompue, comme on le verra mieux par la suite dans des exemples. Pour cela, on vérifie notamment si toutes les X valeurs sont égales ou pas. L'étape E4 permet ensuite de décider quelle est la valeur de 1 ' information parmi les X valeurs mémorisées de cette information. Cette valeur est certaine, comme on le verra mieux par la suite. Le sens d'écriture est finalement actualisé à la fin de l'étape E4. II est à noter que si les X valeurs images écrites sont différentes de la valeur réelle de l'information,
(par exemple si une des valeurs écrite est égale à l'inverse de l'information), alors l'étape E3 comprend de préférence les sous-étapes suivantes : E31 : lecture de X valeurs images de l'information mémorisée dans les X zones,
E32 : calcul de X valeurs de l'information. L'étape E4 sera ensuite bien sûr réalisée sur la base des X valeurs recalculées .
Selon un mode de réalisation du procédé de lecture de l'invention, l'étape E4 comprend les sous étapes décrites ci-dessous, réalisées si les X valeurs (éventuellement les X valeurs calculées) sont identiques :
ET11 : l'information est égale à la première valeur associée au sens d'écriture précédent, et
ET12 : le sens d'écriture actualisé est le sens complémentaire du sens d'écriture précédent. Si toutes les valeurs sont identiques, alors on estime que la précédente écriture de 1 ' information a été correctement et complètement réalisée, ou qu'au moins les (X-l) premières zones ont été correctement et complètement écrites. Dans ce cas, l'information à lire est égale à la première valeur écrite associée au sens d'écriture précédent : cette valeur est en effet la zone la plus fiable au sens où il est certain qu'elle a été écrite correctement et complètement .
Le sens d'écriture est finalement mis à jour en vue d'une prochaine actualisation de l'information D. Le sens d'écriture actualisé est le sens complémentaire du sens d'écriture précédent, il est mémorisé dans la mémoire.
Selon un autre mode de réalisation, l'étape E4 comprend les sous-étapes suivantes, réalisées si les X valeurs ne sont pas identiques et si il existe une séquence majoritaire.
ET21 : l'information est égale à la première valeur précédemment écrite si la séquence majoritaire comprend la première valeur précédemment écrite et 1 ' information est égale à la dernière valeur précédemment écrite si la séquence majoritaire comprend la dernière valeur précédemment écrite, et
ET22 : le sens d'écriture actualisé est égal au sens d'écriture précédent. Si toutes les valeurs lues ne sont pas identiques, alors cela signifie que la précédente mise à jour de l'information n'a pas été effectuée correctement et complètement. Ce sera le cas par exemple en cas d'arrachement de la carte du lecteur pendant l'écriture des X zones.
Par séquence, il faut comprendre un ensemble de valeurs identiques écrites successivement, et comprenant au moins la première valeur écrite ou la dernière valeur écrite, selon le sens d'écriture précédent. Ainsi, pour chaque sens d'écriture, il est possible de définir deux séquences : l'une comprenant au moins la première valeur écrite et 1 ' autre comprenant au moins la dernière valeur écrite. Des exemples numériques décrits plus loin faciliteront la compréhension de cette notion.
Une séquence est dite majoritaire si elle comprend un nombre d'éléments strictement supérieur au nombre d'éléments des autres séquences issues du même ensemble de valeurs écrites.
Dans le cas où il existe une séquence majoritaire
(étape ET21) , alors l'information est égale à la valeur extrême (première ou dernière) de la séquence majoritaire et qui est aussi une valeur extrême (première ou dernière) de l'ensemble des X valeurs lues.
Le sens d'écriture actualisé est ensuite mémorisé dans la mémoire : la valeur actualisée du sens d'écriture est égale à sa valeur précédente (ET22) .
Selon un autre mode de réalisation, l'étape E4 comprend les sous-étapes suivantes, réalisées si les X valeurs ne sont pas identiques et si il n'existe pas de séquence majoritaire :
ET31 : l'information est égale à la dernière valeur précédemment écrite, et
ET32 : le sens d'écriture actualisé est égal au sens d'écriture précédent.
L'invention a enfin pour objet un dispositif de gestion d'une mémoire de données, comprenant un automate pour la mise en œuvre d'un procédé d'écriture et / ou d'un procédé de lecture tels que décrits ci-dessus. La mémoire de données est une mémoire programmable et effaçable électriquement, par exemple une mémoire EEPROM.
Selon un mode de réalisation, le dispositif comprend une unité de traitement et une mémoire de programme associée, l'automate étant réalisé sous forme logiciel et mis en œuvre par un microprocesseur de l'unité de traitement. Selon un autre mode de réalisation, l'automate est un circuit couplé aux entrées de commande de la mémoire de données.
Le dispositif de gestion selon l'invention est soit intégré sur le même support que la mémoire de données ou bien soit déporté dans un dispositif associé.
Par exemple, le dispositif de gestion et la mémoire peuvent être intégrés ensemble dans une carte à puce.
Dans un autre exemple, la mémoire est intégrée dans une carte à puce et le dispositif de gestion est intégré dans un lecteur associé.
Il est à noter que l'invention peut être utilisée quelle que soit la taille de l'information à mémoriser et quelle que soit la position respective des X zones utilisées dans la mémoire. Si nécessaire, le dispositif de gestion de la mémoire comprend notamment des moyens pour localiser geographiquement les X zones dans la mémoire .
A titre indicatif, l'invention peut être utilisée pour la gestion d'un verrou dans une carte à mémoire, ou bien pour la réalisation d'un système de mémorisation garantissant le contenu de la mémoire de données qu'il gère .
L'invention sera mieux comprise et d'autres caractéristiques et avantages apparaîtront à la lecture de la description qui va suivre, d'un exemple de mise en œuvre d'un procédé de mémorisation et d'un procédé de lecture selon l'invention. La description est à lire en relation au dessin annexé dans lequel :
- la figure 1 est un schéma fonctionnel d'une carte pouvant être utilisée pour la mise en œuvre de l'invention, et
- la figure 2 est un diagramme d'un algorithme de mise en œuvre du procédé de lecture d'une donnée dans une mémoire, selon l'invention. L'invention est décrite ci-dessous en relation avec les figures 1, 2, dans le cadre d'une application particulière où une mémoire non volatile contient au moins une information D susceptible d'être mise à jour.
La figure 1 illustre une carte à puce, qui comprend une mémoire MD de données susceptibles d'être mises à jour et un dispositif CG de gestion de la mémoire MD. Dans un autre exemple (non représenté) , la carte à puce comprend seulement une mémoire MD de données, le dispositif CG de gestion de la mémoire est quant à lui déporté dans un lecteur de carte à puce . Ces deux modes de réalisation de cartes à puce sont classiques : il existe dans le commerce des cartes à puce qui ne comportent que la mémoire MD de données et des cartes à puce qui comportent la mémoire MD de données et un dispositif de gestion associé.
Dans l'exemple de la figure 1, le dispositif MG de gestion comprend notamment une unité UT de traitement, qui est par exemple un microprocesseur, et une mémoire MP de programme associée, par exemple de type ROM ou EPROM. La mémoire de programme comprend notamment un programme d'application, spécifique à l'utilisation prévue de la carte à puce. Selon 1 ' invention, la mémoire MP comprend également un programme PR de gestion de la mémoire MD de données, permettant la mise en œuvre d'un mécanisme d'écriture et de lecture de la mémoire MD. Le programme PR comprend notamment un sous-programme d'écriture de la mémoire, et un sous-programme de lecture de la mémoire, selon 1 ' invention.
La mémoire MD de données est ici de type EERPOM, elle comprend un plan mémoire comprenant notamment X zones mémoires PI, P2 , ... PX, destinées à la mémorisation et la sauvegarde de l'information D susceptible d'être mise à jour. Les X zones PI, P2 , ... PX sont ici X pages identiques de la mémoire MD (chaque page comprenant éventuellement plusieurs octets), situées côte-à-côte. On rappelle que la taille et la position des X zones sur le plan mémoire sont indifférentes . Le plan mémoire comprend également une zone supplémentaire pour mémoriser la valeur du sens d'écriture S. Cette zone est dans l'exemple une zone de un bit dans laquelle on mémorise la valeur 1 si le sens d'écriture est positif et dans laquelle on mémorise la valeur 0 si le sens d'écriture est négatif.
Des exemples de mise en œuvre du procédé d'écriture et des exemples de mise en œuvre du procédé de lecture d'une information D dans mémoire MD, selon l'invention, vont maintenant être décrits en relation avec la figure 2.
Dans tous les exemples qui vont suivre, on suppose qu'initialement, les X zones PI, P2 , PX de la mémoire contiennent des données Dl, D2 , ..., DX, toutes égales à une valeur initiale DA de l'information à lire. Le contenu des X zones est donc stable, au sens où les X zones ont été correctement et complètement écrites.
Selon l'invention, la mise à jour de l'information D est réalisée de la manière suivante : lecture du sens d'écriture dans la mémoire MD puis écriture de valeur actualisée DB de l'information D successivement dans les X zones PI, P2 , ... PX de la mémoire si le sens d'écriture est positif ou dans les X zones PX, ..., P2 , PI si le sens d'écriture est négatif.
En ce qui concerne le procédé de lecture, on considère dans un premier exemple le cas d'une mémoire MD comprenant six zones PI à P6 réservées à l'écriture de l'information D. On suppose par ailleurs que le sens d'écriture est initialement positif. La lecture de 1 ' information D est effectuée de la manière suivante. Au cours d'une première étape El, le sens d'écriture précédent est lu dans la mémoire (ici sens positif) . Au cours de l'étape E2 , les six valeurs Dl à D6 sont lues dans les six zones PI à P6 correspondantes. On rappelle que le sens de lecture des six zones est indifférent. L'essentiel est de lire toutes les zones, puis de classer les valeurs lues dans le sens d'écriture si nécessaire. La lecture donne dans cet exemple l'ensemble de valeurs suivants :
(Dl, ..., D6) = (DB, ..., DB) . Un tel ensemble de valeurs est obtenu notamment lorsque la mise à jour précédente a été correctement et complètement réalisée.
Toutes les valeurs Dl à D6 étant égales, l'étape ET1 est réalisée :
- l'information D est égale à Dl = DB (ET11) car, le sens d'écriture étant positif, la première valeur écrite précédemment était la valeur Dl,
- le sens d'écriture est actualisé : S+ = - S- (ET11) , il devient ainsi négatif et sa nouvelle valeur est mémorisé dans la zone de la mémoire MD réservée à cet effet.
Dans un deuxième exemple, on considère le cas d'une mémoire MD comprenant six zones PI à P6 réservées à l'écriture de l'information D. On suppose par ailleurs que le sens d'écriture est initialement positif. La lecture de 1 ' information D est effectuée de la manière suivante. Au cours d'une première étape El, le sens d'écriture précédent est lu dans la mémoire (ici sens positif). Au cours de l'étape E2 , les six valeurs Dl à D6 sont lues dans les six zones PI à P6 correspondantes . La lecture donne dans cet exemple l'ensemble de valeurs suivants :
(Dl, ..., D6) = (DB, DB, Dl , DA, DA, DA) Dl est une valeur quelconque, éventuellement indéterminée .
Un tel ensemble de valeurs est obtenu notamment lorsque la mise à jour précédente a été interrompue en cours d'écriture de la zone P3 ou P4.
L'ensemble de valeurs comprend ici deux séquences de valeurs identiques et comprenant une des valeurs extrêmes (Dl ou D6) des données : la séquence (Dl, D2) et la séquence (D4, D5 , D6) . La deuxième séquence est majoritaire car elle comprend un nombre d'éléments strictement supérieur à celui de la première séquence. Aussi, dans ce deuxième exemple, la valeur de l'information lue (ET21) est égale à D6 = DA. La valeur actualisée du sens d'écriture est égale à sa valeur précédente (ET22) , elle reste donc positive.
Dans un troisième exemple, on considère le cas d'une mémoire MD comprenant trois zones PI à P3 réservées à l'écriture de l'information D. On suppose par ailleurs que le sens d'écriture est initialement positif.
La lecture de l'information D est effectuée de la manière suivante. Au cours d'une première étape El, le sens d'écriture précédent est lu dans la mémoire (ici sens positif) . Au cours de l'étape E2 , les trois valeurs
Dl à D3 sont lues dans les trois zones PI à P3.
La lecture donne dans cet exemple l'ensemble de valeurs suivants :
(Dl, D2, D3) = (DB, DB, DA)
Un tel ensemble de valeurs est obtenu notamment lorsque la mise à jour précédente a été interrompue en cours d'écriture de la zone P2 ou P3. L'ensemble de valeurs comprend ici deux séquences de valeurs identiques et comprenant une des valeurs extrêmes (Dl ou D3) des données : la séquence (Dl, D2) et la séquence (D3) . La première séquence est majoritaire car elle comprend un nombre d'éléments strictement supérieur à celui de la deuxième séquence . Aussi, dans ce troisième exemple, la valeur de l'information lue (ET21) est égale à Dl = DB. La valeur actualisée du sens d'écriture est égale à sa valeur précédente (ET22) , elle reste donc positive.
Dans un quatrième exemple, on considère le cas d'une mémoire MD comprenant trois zones PI à P3 réservées à l'écriture de l'information D. On suppose par ailleurs que le sens d'écriture est initialement positif.
La lecture de 1 ' information D est effectuée de la manière suivante. Au cours d'une première étape El, le sens d'écriture précédent est lu dans la mémoire (ici sens positif) . Au cours de l'étape E2 , les trois valeurs
Dl à D3 sont lues dans les trois zones PI à P3.
La lecture donne dans cet exemple l'ensemble de valeurs suivants :
(Dl, D2, D3) = (DB, Dl, DA) Dl est une valeur quelconque, éventuellement indéterminée .
Un tel ensemble de valeurs est obtenu notamment lorsque la mise à jour précédente a été interrompue en cours d'écriture de la zone P2 ou P3.
L'ensemble de valeurs comprend ici deux séquences de valeurs identiques et comprenant une des valeurs extrêmes (Dl ou D3) des données : la séquence (Dl) et la séquence (D3) . Les deux séquences comprennent ici chacune une unique valeur et donc aucune n'est majoritaire.
Aussi, dans ce quatrième exemple, la valeur de l'information lue (ET31) est égale à D3 = DA, dernière valeur écrite lors de la dernière écriture complète. La valeur actualisée du sens d'écriture est égale à sa valeur précédente (ET32) , elle reste donc positive. Des applications diverses et variées de l'invention peuvent être envisagées.
Une première application de 1 ' invention est la réalisation d'un verrou amovible dans une carte à mémoire. On rappelle qu'un verrou est une zone de mémoire utilisée par un utilisateur amont pour empêcher un utilisateur aval d'accéder à certaines fonctionnalités de la carte. L'état du verrou, ouvert ou fermé, doit bien entendu être garanti. L'invention permet de réaliser un verrou non définitif (contrairement à un verrou réalisé à l'aide d'une mémoire OTP) , c'est-à-dire un verrou pouvant être ouvert ou fermé par l'utilisateur amont. Dans un exemple pratique, un tel verrou pourra être intéressant pour une carte utilisée comme porte monnaie électronique. L'utilisateur amont, par exemple un banquier, se réserve ainsi la possibilité de recharger la carte par une somme d'argent, et interdit à l'utilisateur aval, son client, de recharger seul le porte monnaie. Une deuxième application de l'invention est la réalisation d'un mécanisme anti-stress pour une mémoire de données dans laquelle est mémorisée au moins une information courante susceptible d'être mise à jour. Un tel mécanisme est par exemple réalisé en utilisant deux ou plusieurs zones mémoires pour programmer une même information : les différentes zones sont utilisées successivement dans un ordre prédéfini au fur et à mesure des mises à jour de l'information. Au cours de chaque mise à jour, un pointeur est également mis à jour, indiquant quelle est la zone mémoire en cours d'utilisation. La valeur de ce pointeur doit bien entendu être certaine, afin de pouvoir toujours garantir l'accès à la dernière valeur mise à jour de l'information dans la mémoire. L'invention pourra être avantageusement utilisée pour mémoriser le pointeur, ce qui permettra de garantir sa valeur.

Claims

REVENDICATIONS
1. Procédé d'écriture d'une information (DB) dans une mémoire (MD) , au cours duquel on mémorise X images de l'information dans un ensemble de X zones (PI, à PX) en fonction d'un sens d'écriture précédemment mémorisé dans la mémoire (MD) .
2. Procédé selon la revendication 1, caractérisé en ce que le sens d'écriture prend deux valeurs (positive / négative) définissant deux sens de parcours de l'ensemble des X zones .
3. Procédé selon l'une des revendications 1 ou 2 , caractérisé en ce que le sens d'écriture est actualisé à chaque lecture de l'information.
4. Procédé selon l'une des revendications 1 à 3, caractérisé en ce que les X images sont identiques.
5. Procédé selon l'une des revendications 1 à 4, caractérisé en ce que les X images sont égales à la valeur réelle de l'information.
6. Procédé selon l'une des revendications 1 à 5, caractérisé en ce que au moins une des X images est obtenue par application d'une fonction mathématique à la valeur réelle de l'information.
7. Procédé selon la revendication 6, caractérisé en ce que ladite fonction mathématique est la fonction inverse (l/DB) .
8. Procédé selon l'une des revendications 1 à 7, caractérisé en ce qu'il comprend également une étape d'initialisation réalisée avant la mémorisation de l'information, au cours de laquelle une valeur initiale stable est mémorisée dans les X zones.
9. Procédé de lecture d'une information (DB) , dont
X valeurs images (Dl à DX) sont mémorisées dans X zones
(PI à PX) d'une mémoire (MD) en fonction d'un sens d'écriture (S), le procédé comprenant les étapes suivantes : El : lecture d'un sens d'écriture (S-) précédent,
E2 lecture des X valeurs (Dl à DX) images,
E3 comparaison des X valeurs (Dl à DX) images, puis
E4 : détermination de l'information (DB) à partir du résultat de la comparaison et du sens d'écriture précédent, puis mémorisation d'un sens d'écriture (S) actualisé .
10. Procédé selon la revendication 9, caractérisé en ce que l'étape E4 de détermination de l'information (DB) comprend les sous étapes suivantes, réalisées si les X valeurs (Dl à DX) sont identiques :
ET11 : l'information (DB) est égale à la première valeur (Dl ou DX) précédemment écrite, et ET12 : le sens d'écriture actualisé est contraire au sens d'écriture précédent.
11. Procédé selon l'une des revendications 9 à 10, caractérisé en ce que l'étape E4 comprend les sous étapes suivantes, réalisées si les X valeurs (Dl à DX) ne sont pas identiques et si il existe une séquence majoritaire :
ET21 : l'information (DB) est égale à la première valeur (Dl ou DX) précédemment écrite si la séquence majoritaire comprend la première valeur précédemment écrite et 1 ' information est égale à la dernière valeur (DX ou Dl) précédemment écrite si la séquence majoritaire comprend la dernière valeur précédemment écrite, et
ET22 : le sens d'écriture actualisé est égal au sens d'écriture précédent.
12. Procédé selon l'une des revendications 9 à 11, caractérisé en ce que l'étape E4 comprend les sous-étapes suivantes, réalisées si les X valeurs (Dl à DX) ne sont pas identiques et si il n'existe pas de séquence majoritaire :
ET31 : l'information est égale à la dernière valeur précédemment écrite, et
ET32 : le sens d'écriture actualisé est égal au sens d'écriture précédent.
13. Dispositif de gestion (MG) d'une mémoire de données (MD) , comprenant un automate pour la mise en œuvre d'un procédé selon l'une des revendications 1 à 8.
14. Dispositif selon la revendication 13, caractérisé en ce qu'il comprend une unité de traitement
(UT) et une mémoire de programme (MP) associée, l'automate étant réalisé sous forme logiciel et mis en œuvre par un microprocesseur de l'unité de traitement (UT) .
15. Dispositif selon la revendication 13, caractérisé en ce que l'automate est un circuit couplé aux entrées de commande de la mémoire de données (MD) .
16. Dispositif de gestion (MG) selon l'une des revendications 13 à 15, caractérisé en ce qu'il est soit intégré sur le même support que la mémoire de données (MD) ou bien soit déporté dans un dispositif associé.
17. Carte à mémoire, caractérisée en ce qu'elle comprend un dispositif selon l'une des revendications 13 à 16.
18. Utilisation du procédé selon l'une des revendications 9 à 12 pour la gestion d'un verrou dans une carte à mémoire .
19. Utilisation du procédé selon l'une des revendications 9 à 12 dans un système de mémorisation garantissant l'auti-usure d'une mémoire du système de mémorisation.
PCT/FR2002/003135 2001-10-05 2002-09-13 Comparaison de donnees repliques WO2003042827A2 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2002347237A AU2002347237A1 (en) 2001-10-05 2002-09-13 Comparison of replicated data

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0112812A FR2830667A1 (fr) 2001-10-05 2001-10-05 Procede de determination d'une zone stable dans une memoire et dispositif de gestion d'une memoire associe
FR01/12812 2001-10-05

Publications (2)

Publication Number Publication Date
WO2003042827A2 true WO2003042827A2 (fr) 2003-05-22
WO2003042827A3 WO2003042827A3 (fr) 2006-09-14

Family

ID=8867950

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2002/003135 WO2003042827A2 (fr) 2001-10-05 2002-09-13 Comparaison de donnees repliques

Country Status (3)

Country Link
AU (1) AU2002347237A1 (fr)
FR (1) FR2830667A1 (fr)
WO (1) WO2003042827A2 (fr)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102012206600A1 (de) * 2012-04-20 2013-10-24 Wöhner GmbH & Co. KG Elektrotechnische Systeme Tragschienenadapter
FR3006768B1 (fr) * 2013-06-06 2017-05-26 Continental Automotive France Procede de surveillance d'un organe fonctionnel d'un vehicule automobile

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5682031A (en) * 1991-05-06 1997-10-28 Gemplus Card International Smart card and smart card locking process therefor
EP0803813A1 (fr) * 1996-04-26 1997-10-29 Toyota Jidosha Kabushiki Kaisha Appareil de restitution de données de mémoire à semi-conducteurs
US5748638A (en) * 1993-03-11 1998-05-05 Francotyp-Postalia Aktiengesellschaft & Co. Method for storing security relevant data
US5869823A (en) * 1996-01-03 1999-02-09 International Business Machines Corporation Method and system for improving the integrity of data on a smartcard
WO2000026783A1 (fr) * 1998-10-30 2000-05-11 Infineon Technologies Ag Dispositif de memorisation pour stocker des donnees et procede pour faire fonctionner des dispositifs de memorisation pour stocker des donnees

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5682031A (en) * 1991-05-06 1997-10-28 Gemplus Card International Smart card and smart card locking process therefor
US5748638A (en) * 1993-03-11 1998-05-05 Francotyp-Postalia Aktiengesellschaft & Co. Method for storing security relevant data
US5869823A (en) * 1996-01-03 1999-02-09 International Business Machines Corporation Method and system for improving the integrity of data on a smartcard
EP0803813A1 (fr) * 1996-04-26 1997-10-29 Toyota Jidosha Kabushiki Kaisha Appareil de restitution de données de mémoire à semi-conducteurs
WO2000026783A1 (fr) * 1998-10-30 2000-05-11 Infineon Technologies Ag Dispositif de memorisation pour stocker des donnees et procede pour faire fonctionner des dispositifs de memorisation pour stocker des donnees

Also Published As

Publication number Publication date
AU2002347237A1 (en) 2003-05-26
WO2003042827A3 (fr) 2006-09-14
FR2830667A1 (fr) 2003-04-11
AU2002347237A8 (en) 2006-11-09

Similar Documents

Publication Publication Date Title
CA2027344C (fr) Systeme de paiement ou de transfert d'information par carte a memoire electronique porte monnaie
EP0756746B1 (fr) Procede de mise a jour securisee de memoire eeprom
EP1988550B1 (fr) Mémoire non volatile à secteurs auxiliaires tournants
EP0606029B1 (fr) Carte à puce avec données et programmes protégés contre le vieillissement
EP2786317B1 (fr) Ecriture de données dans une mémoire non volatile de carte à puce
FR2606909A1 (fr) Systeme de traitement pour un appareil electronique portatif, tel qu'une carte a circuit integre
EP1151384A1 (fr) Systeme de memorisation comprenant des moyens de gestion d'une memoire avec anti-usure et procede de gestion anti- usure d'une memoire
FR2685520A1 (fr) Carte a memoire rechargeable, procede de securisation et terminal d'utilisation.
EP3293637A1 (fr) Gestion d'index dans une mémoire flash
EP0378454B1 (fr) Carte à mémoire prépayée rechargeable
EP3246820A1 (fr) Gestion du stockage dans une mémoire flash
WO2003042827A2 (fr) Comparaison de donnees repliques
FR2748134A1 (fr) Procede et dispositif permettant a un programme fige de pouvoir evoluer
FR2742893A1 (fr) Procede d'inscription d'une donnee dans une memoire reinscriptible
EP3246819B1 (fr) Compteur en mémoire flash
WO2007090857A1 (fr) Procede de mise a jour securisee de memoire non volatile
EP0900429A1 (fr) Systeme securise de controle d'acces permettant le transfert d'habilitation a produire des cles
EP0956540A1 (fr) Systeme securise de controle d'acces permettant l'invalidation automatique de cles electroniques volees ou perdues et/ou le transfert d'habilitation a produire des cles
FR2997208A1 (fr) Procede de gestion d'une memoire flash
EP1498841A1 (fr) Circuit transpondeur multi-applications et procédé de gestion de la mémoire d'un tel circuit transpondeur
WO1998029844A1 (fr) Procede de securisation d'une donnee dans une memoire reinscriptible
FR3051575A1 (fr) Gestion de l'effacement dans une memoire flash
FR2700864A1 (fr) Système détecteur de falsification d'informations mémorisées.
FR2749413A1 (fr) Procede de stockage des unites de valeur dans une carte a puce de facon securisee et systeme de transaction monetaire avec de telles cartes
FR3067831A1 (fr) Gestion d'atomicite dans une memoire eeprom

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SI SK SL TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR IE IT LU MC NL PT SE SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP