WO1999053450A1 - Method for writing and reading the contents of a microcircuit card non volatile memory - Google Patents

Method for writing and reading the contents of a microcircuit card non volatile memory Download PDF

Info

Publication number
WO1999053450A1
WO1999053450A1 PCT/FR1999/000836 FR9900836W WO9953450A1 WO 1999053450 A1 WO1999053450 A1 WO 1999053450A1 FR 9900836 W FR9900836 W FR 9900836W WO 9953450 A1 WO9953450 A1 WO 9953450A1
Authority
WO
WIPO (PCT)
Prior art keywords
sector
sectors
data
identifier
input
Prior art date
Application number
PCT/FR1999/000836
Other languages
French (fr)
Inventor
François Grieu
Stéphane DIDIER
Original Assignee
Innovatron Electronique, Societe Anonyme
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 Innovatron Electronique, Societe Anonyme filed Critical Innovatron Electronique, Societe Anonyme
Priority to AU31522/99A priority Critical patent/AU3152299A/en
Publication of WO1999053450A1 publication Critical patent/WO1999053450A1/en

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • 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/0806Details of the card
    • G07F7/0813Specific details related to card security
    • G07F7/082Features insuring the integrity of the data on or in the card
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism

Definitions

  • the invention relates to microcircuit cards, and more particularly to microprocessor cards, which themselves make various modifications to their non-volatile memory.
  • a first solution consists in reserving a fixed area of the non-volatile memory for the temporary writing of the data to be modified.
  • this zone includes a location field (indication of the address of this data in the memory) and a control field (for example a parity type control or the like) which ensures the integrity of the data field and of the location field.
  • the map ignores this temporary area and the data is read in its actual location.
  • the card first writes the data to be modified in the temporary zone (supposed to be erased), erases the real location of the data, writes the data from the contents of the temporary zone and ends the operation. by erasing the temporary area. Before the first access to the data since the last interruption
  • the card writes the data from the content of the temporary area and ends the operation by erasing the temporary area;
  • a second solution consists in splitting the memory into two "flip-flop" zones capable of containing the data to be protected. Each 3
  • zone includes in addition to the data a control field which indicates which zone contains the actual data ("relevant" zone) and which ensures the integrity of the data and its relevance.
  • the map determines the relevant area and reads it.
  • the map determines the relevant zone and writes new data and the new control field to the other zone (supposed to be erased), which indicates that it is now this other zone which becomes the zone. relevant, then erases the initially relevant area, which has become obsolete.
  • the card When accessing an area, the card checks its integrity and erases it if it is not intact.
  • This second solution does not slow down processing (a single write operation on each modification), and doubles the wear limit of the non-volatile memory.
  • One of the aims of the invention is to propose a method which overcomes these various drawbacks and perfectly guarantees the integrity of the data without significantly encumbering the memory space, the processing time or the lifetime of the non-volatile memory.
  • the memory being organized into sectors each comprising a data field, preserving an informative content, an identifier field, forming an access key to the sector, and a field of relevance, forming a sub-field of the identifier field to discriminate among several sectors of the same identifier that whose data field is to be taken into account.
  • Writing data in a sector consists of: a) applying as input the data to be written and the identifier of the corresponding sector; b) scan the memory for possible sectors whose identifier is the same as that applied as input; c) scan the memory for an available sector; and d) write in this available sector: the data applied as input; the identifier applied as input; and a relevance value greater than that possibly found 4
  • step b
  • step b) if the search for step b) is unsuccessful, provision is made before step d) for the recording of a witness, and its erasure after step d), this witness indicating a possible incomplete completion of step d).
  • step d when a sector whose identifier is the same as that applied as input is found in step b), then it is deleted at a step consecutive to step d).
  • Each sector can also include a control field, containing information for verifying the joint integrity of the three data fields, identifier and relevance; in step b), the non-integral sectors are then ignored, which can also be deleted.
  • the choice of the memory location which will be written is made so as to distribute the wear of the memory, in particular by random choice of a sector among those available.
  • this consists of: A) applying as input the identifier of the sector to be read; B) scan the memory for sectors whose identifier is the same as that applied as input; and C) output the data field of a sector chosen by comparison of the fields of relevance among the sectors found in step B).
  • step B when one finds in step B) a plurality of sectors whose identifier is the same as that applied at the input, these sectors are subsequently or concomitantly deleted with the exception of the one whose data is output. in step C).
  • each sector also includes a field of. control
  • step B) when we find in step B) a plurality of sectors whose identifier is the same as that applied at input, we reiterate the writing of the sector whose data is output at step C) . It is also possible to retain in step C) only the integral sectors and to delete the non-integral sectors.
  • the data in the memory is organized into sectors, each comprising four fields: 1. data;
  • identifier access key for selecting a sector
  • control allows you to verify the integrity of the three preceding fields (for example a parity type control).
  • a sector will be designated by its identifier, a concept which replaces that of address.
  • the procedure for writing a sector has as parameter an identifier and data to be associated with this identifier.
  • the procedure for reading a sector has as parameter an identifier, and returns the data associated with this identifier during the last write operation performed with this same identifier (or an appropriate indication if this identifier has never been used). In other words, an associative type access is performed instead of an indexed access.
  • the card searches for the sectors whose identifier has the requested value, and which (based on the control field) are intact. If several sectors meet these two criteria, it selects one based on the field of relevance.
  • the card When writing a sector, the card writes, in an available sector, the data and identifier fields requested, the relevance field as this sector will be, for the reading procedure, the most relevant of the integral sectors having this identifier , and the control field in accordance with the three preceding fields (in other words, the writing is managed so that the subsequent reading can be correctly carried out).
  • the writing procedure continues by erasing the sector rendered irrelevant by writing the new sector, thus creating a new available sector.
  • An (additional) garbage collection system is advantageously provided, that is to say recovery of unnecessary sectors, 6
  • a system which distributes the wear resulting from writing while avoiding always using the same sectors, for example by randomly choosing a sector from the available sectors.
  • a generally advantageous variant of the sector search procedure consists in taking advantage of this search step to erase the sectors which are determined to be non-honest, and / or those which are not the most relevant, thus recreating sectors free (this loses time during this reading, in favor of the speed of subsequent reads and writes).
  • the relevant sector will again be written, the writing of which may be imperfect.
  • the useful size of the memory is equal to the number of sectors available, minus one sector which must remain erased. All sectors (including the deleted one) are dynamically distributed in the memory.
  • the sector identifier is broken down into two sub-fields, a file identifier and a sector identifier in this file.
  • the control field contains, binary coded, the number of bits at zero in the other three fields; it is shown that if a problem such as an interrupted writing or erasing modifies any number of bits of the sector all in the same direction, the control of the value of the control field always allows the detection of the problem.
  • the relevance field is an integer from 0 to 3, coded on 2 bits.
  • the reading procedure searches sequentially all the sectors until finding a first sector with the sought identifier, and integrates. If this search does not find any sector, we 7
  • the number n of free sectors found is initialized to zero.
  • the card doubles the theoretical endurance compared to a known reading process; if one chooses judiciously, for example at random, the sector where one is going to write among N erased sectors, the wear is statistically reduced by a factor of the order of N + l.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

The non volatile memory is organised into sectors each comprising: a data field, preserving an informative content; an identifying field, forming an access key to the sector; and a relevance field, forming a subfield of the identifying field to discriminate among several sectors of a common user identification the one whereof the data field is to be considered. Writing data in a sector consists in: a) applying in input the data to be written and the corresponding sector user identification; b) scanning the memory to search for possible sectors whereof the user identification is the same as the one applied in input; c) scanning the memory to search for an available sector; and d) writing in said available sector: the data applied in input; the user identification applied in input; and a relevance value higher than that possibly found in step b). Advantageously, if the search in step b) is fruitless, prior to step d) an indicator is posted, and is erased subsequently to step d), said indicator signalling that possibly step d) is incomplete.

Description

1 1
Procédé d'écriture et de lecture du contenu de la mémoire non volatile d'une carte à microcircuitMethod for writing and reading the content of the non-volatile memory of a microcircuit card
L'invention concerne les cartes à microcircuit, et plus particulière- ment les cartes à microprocesseur, qui réalisent elles-mêmes diverses modifications de leur mémoire non volatile.The invention relates to microcircuit cards, and more particularly to microprocessor cards, which themselves make various modifications to their non-volatile memory.
Lorsque de telles modifications sont opérées, il est bien entendu nécessaire de s'assurer qu'elles ont été correctement effectuées avant de pouvoir exploiter l'information nouvellement écrite. Dans le cas con- traire, l'information nouvellement écrite devra être ignorée ou effacée et l'information à considérer devra être celle qui était écrite dans la carte avec l'exécution de l'opération incorrecte.When such modifications are made, it is of course necessary to ensure that they have been correctly carried out before being able to use the newly written information. In the opposite case, the newly written information must be ignored or deleted and the information to be considered must be that which was written in the card with the execution of the incorrect operation.
La cause habituelle d'une telle opération imparfaite est la rupture inattendue de l'alimentation due à un "arrachement" de la carte, c'est- à-dire un retrait de celle-ci avant la fin du traitement, entraînant une interruption prématurée du couplage avec le terminal. Ce risque est particulièrement élevé avec les cartes du type "sans contact", où les limites du volume dans lequel la carte peut fonctionner correctement autour du terminal ne sont pas perceptibles. Il existe dans ce cas un ris- que non négligeable de rupture inattendue de la communication entre carte et terminal, dû à la sortie de la carte du rayon d'action du terminal avant la fin du traitement, ou du fait d'une perturbation passagère, par exemple le passage d'une masse métallique à proximité.The usual cause of such an imperfect operation is the unexpected rupture of the supply due to a "tearing" of the card, that is to say a withdrawal of the latter before the end of the treatment, leading to a premature interruption coupling with the terminal. This risk is particularly high with cards of the "contactless" type, where the limits of the volume in which the card can function correctly around the terminal are not perceptible. In this case, there is a non-negligible risk of an unexpected break in communication between the card and the terminal, due to the card leaving the operating range of the terminal before the end of processing, or due to a temporary disturbance. , for example the passage of a metallic mass nearby.
Une difficulté supplémentaire se présente dans le cas des mémoires non volatiles de type E2PROM avec lesquelles, si l'on interrompt une opération d'écriture avant sa fin normale, il peut se faire que les données soient néanmoins écrites, et puissent donc être correctement lues peu après l'écriture. Toutefois, si l'on réitère cette lecture plus tard, il n'est pas certain que l'on puisse l'effectuer correctement, car la réten- tion de l'information dans la cellule mémoire aura été insuffisante du fait de l'écriture interrompue avant terme.An additional difficulty arises in the case of non-volatile memories of type E 2 PROM with which, if a writing operation is interrupted before its normal end, it may happen that the data is nevertheless written, and can therefore be read correctly shortly after writing. However, if we repeat this reading later, it is not certain that we can do it correctly, because the retention of information in the memory cell will have been insufficient due to writing. interrupted before term.
Pour assurer l'intégrité des données, il est donc souhaitable que, par leur gestion interne de la mémoire, les cartes se protègent à rencontre de tels risques, en garantissant que les données sont soit dans l'état modifié, soit dans l'état avant demande de modification, mais ja- 2To ensure the integrity of the data, it is therefore desirable that, by their internal memory management, the cards protect themselves against such risks, by guaranteeing that the data are either in the modified state, or in the state before request for modification, but never 2
mais dans un état intermédiaire indéterminé résultant d'un "arrachement".but in an indeterminate intermediate state resulting from a "tearing".
Une première solution consiste à réserver une zone, fixe, de la mémoire non volatile pour l'écriture temporaire des données à modifier. Outre les données, cette zone comporte un champ de localisation (indication de l'adresse de ces données dans la mémoire) et un champ de contrôle (par exemple un contrôle de type parité ou analogue) qui assure l'intégrité du champ de données et du champ de localisation.A first solution consists in reserving a fixed area of the non-volatile memory for the temporary writing of the data to be modified. In addition to the data, this zone includes a location field (indication of the address of this data in the memory) and a control field (for example a parity type control or the like) which ensures the integrity of the data field and of the location field.
Lors d'une lecture, la carte ignore cette zone temporaire et les don- nées sont lues à leur emplacement réel.When reading, the map ignores this temporary area and the data is read in its actual location.
Lors d'une modification, la carte écrit tout d'abord les données à modifier dans la zone temporaire (supposée effacée), efface l'emplacement réel des données, écrit les données à partir du contenu de la zone temporaire et termine l'opération en effaçant la zone temporaire. Avant le premier accès aux données depuis la dernière interruptionDuring a modification, the card first writes the data to be modified in the temporary zone (supposed to be erased), erases the real location of the data, writes the data from the contents of the temporary zone and ends the operation. by erasing the temporary area. Before the first access to the data since the last interruption
(normale ou anormale) du fonctionnement de la carte, par exemple à la remise à zéro ("reset"), la carte contrôle la zone temporaire et :(normal or abnormal) operation of the card, for example when resetting ("reset"), the card controls the temporary area and:
— si elle est effacée, la carte ne fait rien ;- if it is deleted, the card does nothing;
— si elle n'est pas effacée mais que les données et leur localisation sont intègres, la carte écrit les données à partir du contenu de la zone temporaire et termine l'opération en effaçant la zone temporaire ;- if it is not erased but the data and their location are intact, the card writes the data from the content of the temporary area and ends the operation by erasing the temporary area;
— si la zone temporaire n'est pas effacée et que les données et ou leur localisation ne sont pas intègres, la carte efface la zone temporaire. Cette première solution, la plus courante, présente l'avantage de n'impliquer qu'un surcoût très faible en espace mémoire (seulement pour la zone temporaire).- if the temporary area is not deleted and the data and / or their location are not intact, the card deletes the temporary area. This first solution, the most common, has the advantage of involving only a very small additional cost in memory space (only for the temporary area).
En revanche, elle présente deux inconvénients sérieux, à savoir (i) d'user rapidement la mémoire non volatile car la zone temporaire est utilisée à chaque opération, ce qui limite la durée de vie de la carte (avec les technologies actuelles une cellule mémoire E PROM supporte au plus 10 à 10 écritures) et (ii) de prendre beaucoup de temps, ce qui est un inconvénient majeur dans les applications sans contact.On the other hand, it has two serious drawbacks, namely (i) rapidly using non-volatile memory because the temporary area is used for each operation, which limits the life of the card (with current technologies a memory cell E PROM supports at most 10 to 10 writes) and (ii) take a long time, which is a major drawback in contactless applications.
Une deuxième solution consiste à dédoubler la mémoire en deux zo- nés "flip-flop" susceptibles de contenir les données à protéger. Chaque 3A second solution consists in splitting the memory into two "flip-flop" zones capable of containing the data to be protected. Each 3
zone comporte en plus des données un champ de contrôle qui indique quelle est la zone qui contient les données réelles (zone "pertinente") et qui assure l'intégrité des données et de leur pertinence.zone includes in addition to the data a control field which indicates which zone contains the actual data ("relevant" zone) and which ensures the integrity of the data and its relevance.
Lors d'une lecture, la carte détermine la zone pertinente et opère la lecture dans cette dernière.When reading, the map determines the relevant area and reads it.
Lors d'une modification, la carte détermine la zone pertinente et opère l'écriture dans l'autre zone (supposée effacée) des nouvelles données et du nouveau champ de contrôle, qui indique que c'est désormais cette autre zone qui devient la zone pertinente, puis efface la zone initi- alement pertinente, devenue obsolète.During a modification, the map determines the relevant zone and writes new data and the new control field to the other zone (supposed to be erased), which indicates that it is now this other zone which becomes the zone. relevant, then erases the initially relevant area, which has become obsolete.
Lors de tout accès à une zone, la carte en contrôle l'intégrité et l'efface si elle n'est pas intègre.When accessing an area, the card checks its integrity and erases it if it is not intact.
Cette deuxième solution ne ralentit pas les traitements (une seule opération d'écriture à chaque modification), et double la limite d'usure de la mémoire non volatile.This second solution does not slow down processing (a single write operation on each modification), and doubles the wear limit of the non-volatile memory.
En revanche, elle fait plus que doubler l'espace mémoire nécessaire au stockage des données, ce qui grève significativement le coût de la carte.On the other hand, it does more than double the memory space necessary for data storage, which significantly increases the cost of the card.
L'un des buts de l'invention est de proposer un procédé qui pallie ces divers inconvénients et garantisse parfaitement l'intégrité des données sans grever significativement l'espace mémoire, le temps de traitement ni la durée de vie de la mémoire non volatile.One of the aims of the invention is to propose a method which overcomes these various drawbacks and perfectly guarantees the integrity of the data without significantly encumbering the memory space, the processing time or the lifetime of the non-volatile memory.
Pour la mise en œuvre du procédé de l'invention, la mémoire étant organisée en secteurs comportant chacun un champ de données, conser- vant un contenu informatif, un champ d'identifiant, formant clef d'accès au secteur, et un champ de pertinence, formant sous-champ du champ d'identifiant pour discriminer parmi plusieurs secteurs de même identifiant celui dont le champ de données est à prendre en compte. L'écriture de données dans un secteur consiste à : a) appliquer en entrée les données à écrire et l'identifiant du secteur correspondant ; b) scruter la mémoire à la recherche d'éventuels secteurs dont l'identifiant est le même que celui appliqué en entrée ; c) scruter la mémoire à la recherche d'un secteur disponible ; et d) écrire dans ce secteur disponible : les données appliquées en entrée ; l'identifiant appliqué en entrée ; et une valeur de pertinence plus grande que celle éventuellement trouvée 4For the implementation of the method of the invention, the memory being organized into sectors each comprising a data field, preserving an informative content, an identifier field, forming an access key to the sector, and a field of relevance, forming a sub-field of the identifier field to discriminate among several sectors of the same identifier that whose data field is to be taken into account. Writing data in a sector consists of: a) applying as input the data to be written and the identifier of the corresponding sector; b) scan the memory for possible sectors whose identifier is the same as that applied as input; c) scan the memory for an available sector; and d) write in this available sector: the data applied as input; the identifier applied as input; and a relevance value greater than that possibly found 4
à l'étape b).in step b).
Dans une forme de mise en œuvre avantageuse, si la recherche de l'étape b) est infructueuse, on prévoit préalablement à l'étape d) l'inscription d'un témoin, et son effacement postérieurement à l'étape d), ce témoin indiquant une possible réalisation incomplète de l'étape d).In an advantageous form of implementation, if the search for step b) is unsuccessful, provision is made before step d) for the recording of a witness, and its erasure after step d), this witness indicating a possible incomplete completion of step d).
De préférence, lorsque l'on trouve à l'étape b) un secteur dont l'identifiant est le même que celui appliqué en entrée, alors on l'efface à une étape consécutive à l'étape d).Preferably, when a sector whose identifier is the same as that applied as input is found in step b), then it is deleted at a step consecutive to step d).
Chaque secteur peut également comprendre un champ de contrôle, contenant une information de vérification de l'intégrité conjointe des trois champs de données, d'identifiant et de pertinence ; à l'étape b), on ignore alors les secteurs non intègres, que l'on peut également effacer.Each sector can also include a control field, containing information for verifying the joint integrity of the three data fields, identifier and relevance; in step b), the non-integral sectors are then ignored, which can also be deleted.
De préférence, le choix de l'emplacement mémoire qui sera écrit est opéré de manière à répartir l'usure de la mémoire, notamment par choix aléatoire d'un secteur parmi ceux disponibles.Preferably, the choice of the memory location which will be written is made so as to distribute the wear of the memory, in particular by random choice of a sector among those available.
En ce qui concerne la lecture de données dans un secteur, celle-ci consiste à : A) appliquer en entrée l'identifiant du secteur à lire ; B) scruter la mémoire à la recherche de secteurs dont l'identifiant est le même que celui appliqué en entrée ; et C) délivrer en sortie le champ de données d'un secteur choisi par comparaison des champs de pertinence parmi les secteurs trouvés à l'étape B).With regard to the reading of data in a sector, this consists of: A) applying as input the identifier of the sector to be read; B) scan the memory for sectors whose identifier is the same as that applied as input; and C) output the data field of a sector chosen by comparison of the fields of relevance among the sectors found in step B).
Avantageusement, lorsque l'on trouve à l'étape B) une pluralité de secteurs dont l'identifiant est le même que celui appliqué en entrée, on efface ultérieurement ou concomitamment ces secteurs à l'exception de celui dont les données sont délivrées en sortie à l'étape C).Advantageously, when one finds in step B) a plurality of sectors whose identifier is the same as that applied at the input, these sectors are subsequently or concomitantly deleted with the exception of the one whose data is output. in step C).
Dans le cas où chaque secteur comprend également un champ de . contrôle, lorsque l'on trouve à l'étape B) une pluralité de secteurs dont l'identifiant est le même que celui appliqué en entrée, on réitère l'écriture du secteur dont les données sont délivrées en sortie à l'étape C). On peut également ne retenir à l'étape C) que les secteurs intègres et effacer les secteurs non intègres.In the case where each sector also includes a field of. control, when we find in step B) a plurality of sectors whose identifier is the same as that applied at input, we reiterate the writing of the sector whose data is output at step C) . It is also possible to retain in step C) only the integral sectors and to delete the non-integral sectors.
D'autres caractéristiques et avantages ressortiront de la description ci-dessous d'un exemple de mise en œuvre de l'invention. 5Other characteristics and advantages will emerge from the description below of an exemplary implementation of the invention. 5
ExempleExample
Dans cet exemple les données de la mémoire sont organisées en secteurs comportant chacun quatre champs : 1. données ;In this example, the data in the memory is organized into sectors, each comprising four fields: 1. data;
2. identifiant (clé d'accès permettant de sélectionner un secteur) ;2. identifier (access key for selecting a sector);
3. pertinence : permet de déterminer le secteur pertinent si deux secteurs ont le même identifiant ;3. relevance: used to determine the relevant sector if two sectors have the same identifier;
4. contrôle : permet de vérifier l'intégrité des trois champs précédents (par exemple un contrôle de type parité).4. control: allows you to verify the integrity of the three preceding fields (for example a parity type control).
Un secteur sera désigné par son identifiant, notion qui se substitue à celle d'adresse. La procédure d'écriture d'un secteur a comme paramètre un identifiant et des données à associer à cet identifiant. La procédure de lecture d'un secteur a comme paramètre un identifiant, et retourne les données associées à cet identifiant lors de la dernière écriture effectuée avec ce même identifiant (ou une indication appropriée si cet identifiant n'a jamais été utilisé). En d'autres termes, on réalise un accès de type associatif au lieu d'un accès indexé.A sector will be designated by its identifier, a concept which replaces that of address. The procedure for writing a sector has as parameter an identifier and data to be associated with this identifier. The procedure for reading a sector has as parameter an identifier, and returns the data associated with this identifier during the last write operation performed with this same identifier (or an appropriate indication if this identifier has never been used). In other words, an associative type access is performed instead of an indexed access.
Lors de la procédure de lecture d'un secteur, la carte recherche les secteurs dont l'identifiant a la valeur demandée, et qui (sur la base du champ de contrôle) sont intègres. Au cas où plusieurs secteurs répondent à ces deux critères, elle en retient un sur la base du champ de pertinence.During the procedure for reading a sector, the card searches for the sectors whose identifier has the requested value, and which (based on the control field) are intact. If several sectors meet these two criteria, it selects one based on the field of relevance.
Lors d'une écriture de secteur, la carte écrit, dans un secteur dispo- nible, les champs données et identifiant demandés, le champ pertinence tel que ce secteur sera, pour la procédure de lecture, le plus pertinent des secteurs intègres possédant cet identifiant, et le champ contrôle en accord avec les trois champs précédents (en d'autres termes, l'écriture est gérée de manière que la lecture ultérieure puisse être correctement opérée).When writing a sector, the card writes, in an available sector, the data and identifier fields requested, the relevance field as this sector will be, for the reading procedure, the most relevant of the integral sectors having this identifier , and the control field in accordance with the three preceding fields (in other words, the writing is managed so that the subsequent reading can be correctly carried out).
Avantageusement, la procédure d'écriture se poursuit par l'effacement du secteur rendu non pertinent par l'écriture du nouveau secteur, créant ainsi un nouveau secteur disponible.Advantageously, the writing procedure continues by erasing the sector rendered irrelevant by writing the new sector, thus creating a new available sector.
On prévoit avantageusement un système (complémentaire) de type garbage collection , c'est-à-dire de récupération des secteurs inutiles, 6An (additional) garbage collection system is advantageously provided, that is to say recovery of unnecessary sectors, 6
qu'ils soient non intègres ou non pertinents.whether they are not honest or irrelevant.
On prévoit avantageusement un système qui répartit l'usure résultant de l'écriture en évitant d'utiliser toujours les mêmes secteurs, par exemple en choisissant aléatoirement un secteur parmi les secteurs disponibles.Advantageously, a system is provided which distributes the wear resulting from writing while avoiding always using the same sectors, for example by randomly choosing a sector from the available sectors.
Une variante généralement avantageuse de la procédure de recherche de secteur consiste à profiter de cette étape de recherche pour effacer les secteurs dont il est déterminé qu'ils sont non intègres, et/ou ceux qui ne sont pas les plus pertinents, recréant ainsi des secteurs libres (cela perd du temps lors de cette lecture, en faveur de la vitesse des lectures et écritures ultérieures). Avantageusement, avant l'effacement d'un secteur dont on a déterminé qu'il est intègre mais non pertinent, on écrira à nouveau le secteur pertinent, dont l'écriture peut être imparfaite. La taille utile de la mémoire est égale au nombre de secteurs disponibles, moins un secteur qui doit rester effacé. Tous les secteurs (y compris celui effacé) sont répartis dynamiquement dans la mémoire.A generally advantageous variant of the sector search procedure consists in taking advantage of this search step to erase the sectors which are determined to be non-honest, and / or those which are not the most relevant, thus recreating sectors free (this loses time during this reading, in favor of the speed of subsequent reads and writes). Advantageously, before erasing a sector which has been determined to be integral but not relevant, the relevant sector will again be written, the writing of which may be imperfect. The useful size of the memory is equal to the number of sectors available, minus one sector which must remain erased. All sectors (including the deleted one) are dynamically distributed in the memory.
Si les données doivent être structurées en fichiers, par exemple selon la norme ISO/IEC 7816-4, l'identifiant de secteur se décompose en deux sous-champs, un identifiant de fichier et un identifiant du secteur dans ce fichier.If the data must be structured in files, for example according to ISO / IEC 7816-4, the sector identifier is broken down into two sub-fields, a file identifier and a sector identifier in this file.
On va donner ci- dessous une implémentation (non limitative) des opérations de lecture/écriture utilisant cette structuration particulière en secteurs :We will give below an implementation (not limiting) of the read / write operations using this particular structuring in sectors:
— Le champ de contrôle contient, codé en binaire, le nombre de bits à zéro dans les trois autres champs ; on montre que si un problème tel qu'une écriture ou un effacement interrompu modifie un nombre quelconque de bits du secteur tous dans le même sens, le contrôle de la valeur du champ de contrôle permet toujours la détection du problème.- The control field contains, binary coded, the number of bits at zero in the other three fields; it is shown that if a problem such as an interrupted writing or erasing modifies any number of bits of the sector all in the same direction, the control of the value of the control field always allows the detection of the problem.
— Le champ pertinence est un entier de 0 à 3, codé sur 2 bits.- The relevance field is an integer from 0 to 3, coded on 2 bits.
— La procédure de lecture parcourt séquentiellement tous les secteurs jusqu'à trouver un premier secteur possédant l'identifiant re- cherché, et intègre. Si cette recherche ne trouve aucun secteur, on 7- The reading procedure searches sequentially all the sectors until finding a first sector with the sought identifier, and integrates. If this search does not find any sector, we 7
termine la procédure avec un compte-rendu "secteur non trouvé". Si on trouve un tel premier secteur, on mémorise sa position, ses données, et sa pertinence p. La recherche se poursuit. Si l'on détecte un second secteur possédant l'identifiant recherché, et intè- gre, on teste si sa pertinence q est le reste de la division entière de p+1 par 3 ; si oui, on écrit à nouveau le second secteur, on efface le premier et on retourne les données du second ; sinon, on écrit à nouveau le premier secteur, on efface le second et on retourne les données du premier. Si un second secteur n'est pas trouvé et si la pertinence du premier secteur est p=3, on efface ce secteur et on donne le compte-rendu "secteur non trouvé" ; dans les autres cas, on retourne les données du premier secteur trouvé.ends the procedure with a report "sector not found". If we find such a first sector, we memorize its position, its data, and its relevance p. The research continues. If we detect a second sector with the sought identifier, and integrate it, we test if its relevance q is the rest of the integer division of p + 1 by 3; if so, write the second sector again, delete the first and return the data of the second; otherwise, the first sector is written again, the second is deleted and the data from the first is returned. If a second sector is not found and if the relevance of the first sector is p = 3, we delete this sector and give the report "sector not found"; in the other cases, the data of the first sector found is returned.
— La procédure d'écriture commence comme la procédure de lecture ci-dessus. Si l'on a trouvé le secteur que retournerait la procédure de lecture pour l'identifiant fourni, on mémorise la position de ce secteur et sa pertinence p (qui vaut 0, 1 ou 2) ; si on ne l'a pas trouvé, on sélectionne un secteur libre (par la procédure ci-après) et on écrit dans ce secteur les champs identifiant, données, pertinence p=3 et contrôle, et l'on mémorise la position et la pertinence de ce secteur. Dans les deux cas, on poursuit en sélectionnant un secteur libre (par la procédure ci-après). On écrit dans ce secteur les champs identifiant, données, pertinence q (calculée comme le reste de la division entière de p+1 par 3) et contrôle. Puis on efface le secteur mémorisé. — Pour la recherche de secteur libre, on initialise à zéro le nombre n de secteurs libres trouvés. On examine séquentiellement les secteurs. Pour chaque secteur, s'il est non vierge et non intègre, on l'efface et il devient vierge (contribuant ainsi à la garbage collection mentionnée plus haut) ; s'il est intègre et si sa pertinence est p=3, on l'efface (idem) ; s'il est intègre et si sa pertinence n'est pas p=3, alors on recherche dans la zone non encore parcourue un autre secteur intègre de même identifiant, et si l'on en trouve un on efface celui qui n'est pas pertinent, en procédant comme pour la lecture ; si à l'issue de ce processus le secteur est vierge, on incrémen- te le nombre n de secteurs libres trouvés, et l'on effectue le tirage 8 aléatoire d'un entier de 0 à n-1 ; si cet entier est 0, on mémorise la position du secteur vierge. Quand tous les secteurs ont été parcourus, tous les secteurs non vierges sont intègres, il n'existe pas deux secteurs de même identifiant, on connaît le nombre n de secteurs vierges, et l'on a mémorisé l'un d'eux choisi aléatoirement de manière équiprobable. Si aucun secteur libre n'est trouvé, la procédure d'écriture est interrompue.- The writing procedure starts like the reading procedure above. If we have found the sector that the reading procedure would return for the identifier provided, we memorize the position of this sector and its relevance p (which is 0, 1 or 2); if it has not been found, we select a free sector (by the procedure below) and we write in this sector the fields identifying, data, relevance p = 3 and control, and we memorize the position and the relevance of this sector. In both cases, we continue by selecting a free sector (using the procedure below). We write in this sector the fields identifier, data, relevance q (calculated like the rest of the whole division of p + 1 by 3) and control. Then we erase the memorized sector. - For the search for free sectors, the number n of free sectors found is initialized to zero. The sectors are examined sequentially. For each sector, if it is not blank and not integrated, it is deleted and it becomes blank (thus contributing to the garbage collection mentioned above); if it is integral and if its relevance is p = 3, it is deleted (idem); if it is integral and if its relevance is not p = 3, then we search in the area not yet visited for another integral sector with the same identifier, and if we find one we delete the one which is not relevant, as for reading; if at the end of this process the sector is blank, we increment the number n of free sectors found, and we draw 8 random of an integer from 0 to n-1; if this integer is 0, the position of the blank sector is memorized. When all the sectors have been traversed, all the non-virgin sectors are integral, there are no two sectors with the same identifier, we know the number n of virgin sectors, and we have memorized one of them chosen at random equally likely. If no free sector is found, the writing procedure is interrupted.
Le procédé selon l'invention que l'on vient d'exposer présente, com- me on peut le comprendre, de nombreux avantages :The process according to the invention which has just been described has, as can be understood, numerous advantages:
— en cas d'interruption du fonctionnement pendant une écriture ou un effacement, une lecture ultérieure restituera toujours fiable- ment les données, soit les données avant l'écriture (dans le cas d'une interruption tôt dans le processus d'écriture), soit les données nouvellement écrites (dans le cas d'une interruption tardive en fin de processus d'écriture) ;- in the event of interruption of the operation during a writing or an erasure, a subsequent reading will always reliably restore the data, ie the data before writing (in the case of an interruption early in the writing process), either the newly written data (in the event of a late interruption at the end of the writing process);
— le nombre d'opérations qui modifient l'état de la mémoire non volatile est minimisé (une écriture puis un effacement de secteur par utilisation de la procédure d'écriture, dans le cas le plus fréquent où il n'y a pas de traitement d'exception), d'où un gain de temps ;- the number of operations which modify the state of the non-volatile memory is minimized (a writing then a sector erasure by using the writing procedure, in the most frequent case where there is no processing exception), saving time;
— les modifications de secteurs qui provoquent une usure de la mémoire non volatile sont réparties ; dans le pire des cas (où tous les secteurs sont utilisés sauf un, et où l'écriture est répétée avec le même identifiant), la carte double l'endurance théorique par rap- port à un processus de lecture connu ; si l'on choisit judicieusement, par exemple au hasard, le secteur où l'on va écrire parmi N secteurs effacés, l'usure est diminuée statistiquement d'un facteur de l'ordre de N+l.- the sector modifications which cause non-volatile memory wear are distributed; in the worst case (where all the sectors are used except one, and where the writing is repeated with the same identifier), the card doubles the theoretical endurance compared to a known reading process; if one chooses judiciously, for example at random, the sector where one is going to write among N erased sectors, the wear is statistically reduced by a factor of the order of N + l.
— ces avantages sont obtenus avec un surcoût très faible en espace mémoire ;- These advantages are obtained with a very low additional cost in memory space;
— on peut sans difficulté implémenter dans la carte une structure de fichiers et prévoir une allocation dynamique de la mémoire : lorsque l'on crée des fichiers, il n'est en effet pas nécessaire de prédéfinir et figer leur taille. - we can easily implement a file structure in the map and plan a dynamic memory allocation: when creating files, it is indeed not necessary to predefine and freeze their size.

Claims

9REVENDICATIONS 9 CLAIMS
1. Un procédé d'écriture du contenu de la mémoire non volatile d'une carte à microcircuit, caractérisé en ce que, cette mémoire étant organisée en secteurs comportant chacun :1. A method of writing the content of the non-volatile memory of a microcircuit card, characterized in that, this memory being organized into sectors each comprising:
- un champ de données, conservant un contenu informatif,- a data field, retaining informative content,
- un champ d'identifiant, formant clef d'accès au secteur, et- an identifier field, forming an access key to the sector, and
- un champ de pertinence, formant sous-champ du champ d'identifiant pour discriminer parmi plusieurs secteurs de même iden- tifiant celui dont le champ de données est à prendre en compte, l'écriture de données dans un secteur consiste à : a) appliquer en entrée les données à écrire et l'identifiant du secteur correspondant ; b) scruter la mémoire à la recherche d'éventuels secteurs dont l'iden- tifiant est le même que celui appliqué en entrée ; c) scruter la mémoire à la recherche d'un secteur disponible ; et d) écrire dans ce secteur disponible : les données appliquées en entrée ; l'identifiant appliqué en entrée ; et une valeur de pertinence plus grande que celle éventuellement trouvée à l'étape b).- a relevance field, forming a sub-field of the identifier field to discriminate among several sectors of the same identifier identifying the one whose data field is to be taken into account, writing data in a sector consists of: a) apply as input the data to be written and the identifier of the corresponding sector; b) scan the memory for possible sectors whose identifier is the same as that applied as input; c) scan the memory for an available sector; and d) write in this available sector: the data applied as input; the identifier applied as input; and a relevance value greater than that possibly found in step b).
2. Le procédé d'écriture de la revendication 1, dans lequel, si la recherche de l'étape b) est infructueuse, on prévoit préalablement à l'étape d) l'inscription d'un témoin, et son effacement postérieurement à l'étape d), ce témoin indiquant une possible réalisation incomplète de l'é- tape d).2. The writing method of claim 1, in which, if the search for step b) is unsuccessful, provision is made before step d) for the recording of a witness and its erasure after step d), this indicator indicating a possible incomplete completion of step d).
3. Le procédé d'écriture de l'une des revendications 1 ou 2, dans lequel, lorsque l'on trouve à l'étape b) un secteur dont l'identifiant est le même que celui appliqué en entrée, alors on l'efface à une étape consé- cutive à l'étape d).3. The writing method of one of claims 1 or 2, wherein, when we find in step b) a sector whose identifier is the same as that applied as input, then we erases at a step subsequent to step d).
4. Le procédé d'écriture de l'une des revendications 1 ou 2, dans lequel chaque secteur comprend également :4. The writing method of claim 1 or 2, in which each sector also comprises:
- un champ de contrôle, contenant une information de vérification de l'intégrité conjointe des trois champs de données, d'identifi- 10- a control field, containing information verifying the joint integrity of the three data fields, identifying 10
ant et de pertinence, et dans lequel, à l'étape b), on ignore les secteurs non intègres.ant and relevance, and in which, in step b), the non-integral sectors are ignored.
5. Le procédé d'écriture de la revendication 4, dans lequel on efface les secteurs non intègres.5. The writing method of claim 4, in which the non-integral sectors are erased.
6. Le procédé d'écriture de la revendication 1, dans lequel le choix de l'emplacement mémoire qui sera écrit est opéré de manière à répartir l'usure de la mémoire, notamment par choix aléatoire d'un secteur parmi ceux disponibles.6. The writing method of claim 1, in which the choice of the memory location which will be written is operated so as to distribute the wear of the memory, in particular by random choice of a sector among those available.
7. Un procédé de lecture du contenu de la mémoire non volatile d'une carte à microcircuit apte à faire l'objet d'une écriture par le procédé de l'une des revendications 1 à 6, caractérisé en ce que la lecture de données dans un secteur consiste à :7. A method for reading the content of the non-volatile memory of a microcircuit card capable of being written by the method of one of claims 1 to 6, characterized in that the reading of data in a sector consists of:
A) appliquer en entrée l'identifiant du secteur à lire ;A) apply as input the sector identifier to be read;
B) scruter la mémoire à la recherche de secteurs dont l'identifiant est le même que celui appliqué en entrée ; etB) scan the memory for sectors whose identifier is the same as that applied as input; and
C) délivrer en sortie le champ de données d'un secteur choisi par com- paraison des champs de pertinence parmi les secteurs trouvés à l'étape B).C) output the data field of a sector chosen by comparison of the fields of relevance among the sectors found in step B).
8. Le procédé de lecture de la revendication 7, dans lequel, lorsque l'on trouve à l'étape B) une pluralité de secteurs dont l'identifiant est le même que celui appliqué en entrée, on efface ultérieurement ou conco- mitamment ces secteurs à l'exception de celui dont les données sont délivrées en sortie à l'étape C).8. The reading method of claim 7, in which, when a step (B) is found in a plurality of sectors, the identifier of which is the same as that applied as input, these or subsequent erasures are sectors with the exception of the one whose data is output at step C).
9. Le procédé de lecture de l'une des revendications 7 et 8, dans le- quel, lorsque l'on trouve à l'étape B) une pluralité de secteurs dont l'identifiant est le même que celui appliqué en entrée, on réitère récriture du secteur dont les données sont délivrées en sortie à l'étape C).9. The reading method of one of claims 7 and 8, in which, when we find in step B) a plurality of sectors whose identifier is the same as that applied as input, we reiterates rewriting of the sector whose data are output at step C).
10. Le procédé de lecture de l'une des revendications 7 à 9 prises en dépendance de la revendication 4, dans lequel on ne retient à l'étape C) 1110. The method of reading one of claims 7 to 9 taken in dependence on claim 4, in which it is not retained in step C) 11
que les secteurs intègres.than the integrated sectors.
11. Le procédé de lecture de la revendication 10, dans lequel on efface les secteurs non intègres. 11. The reading method of claim 10, in which the non-integral sectors are deleted.
PCT/FR1999/000836 1998-04-09 1999-04-09 Method for writing and reading the contents of a microcircuit card non volatile memory WO1999053450A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU31522/99A AU3152299A (en) 1998-04-09 1999-04-09 Method for writing and reading the contents of a microcircuit card non volatile memory

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR9804454A FR2777372B1 (en) 1998-04-09 1998-04-09 METHOD FOR WRITING AND READING THE CONTENT OF THE NON-VOLATILE MEMORY OF A MICROCIRCUIT CARD
FR98/04454 1998-04-09

Publications (1)

Publication Number Publication Date
WO1999053450A1 true WO1999053450A1 (en) 1999-10-21

Family

ID=9525064

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR1999/000836 WO1999053450A1 (en) 1998-04-09 1999-04-09 Method for writing and reading the contents of a microcircuit card non volatile memory

Country Status (3)

Country Link
AU (1) AU3152299A (en)
FR (1) FR2777372B1 (en)
WO (1) WO1999053450A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0159651A2 (en) * 1984-04-16 1985-10-30 Omron Tateisi Electronics Co. IC card and financial transaction processing system using IC card
EP0398545A1 (en) * 1989-05-19 1990-11-22 Delco Electronics Corporation Method and apparatus for storing data in a non-volatile memory
FR2667192A1 (en) * 1990-09-20 1992-03-27 Gemplus Card Int Process for counting in EEPROM memory and its use for the construction of a backed-up counter
FR2699704A1 (en) * 1992-12-23 1994-06-24 Gemplus Card Int Data updating procedure on EEPROM data storage
FR2701578A1 (en) * 1993-02-16 1994-08-19 Gemplus Card Int Process for writing to a non-volatile memory, especially to a memory card
EP0831433A1 (en) * 1996-09-24 1998-03-25 Koninklijke KPN N.V. Method of making recoverable smart card transactions, a method of recovering such a transaction, as well as a smart card allowing recoverable transactions

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0159651A2 (en) * 1984-04-16 1985-10-30 Omron Tateisi Electronics Co. IC card and financial transaction processing system using IC card
EP0398545A1 (en) * 1989-05-19 1990-11-22 Delco Electronics Corporation Method and apparatus for storing data in a non-volatile memory
FR2667192A1 (en) * 1990-09-20 1992-03-27 Gemplus Card Int Process for counting in EEPROM memory and its use for the construction of a backed-up counter
FR2699704A1 (en) * 1992-12-23 1994-06-24 Gemplus Card Int Data updating procedure on EEPROM data storage
FR2701578A1 (en) * 1993-02-16 1994-08-19 Gemplus Card Int Process for writing to a non-volatile memory, especially to a memory card
EP0831433A1 (en) * 1996-09-24 1998-03-25 Koninklijke KPN N.V. Method of making recoverable smart card transactions, a method of recovering such a transaction, as well as a smart card allowing recoverable transactions

Also Published As

Publication number Publication date
AU3152299A (en) 1999-11-01
FR2777372A1 (en) 1999-10-15
FR2777372B1 (en) 2000-06-09

Similar Documents

Publication Publication Date Title
EP1151384B1 (en) Storage system comprising means managing a storage unit with anti-wear and anti-wear management of a storage unit
FR2687811A1 (en) Process and apparatus for controlling a flash memory
EP0756746A1 (en) Method for the secure updating of an eeprom memory
EP0769742B1 (en) Electronic component with electrically erasable non-volatile memory
WO2004111953A1 (en) Method for carrying out update writing and allocating a memory used for file writing on a memory carrier in the form of a chip card
EP3293637A1 (en) Index management in a flash memory
FR3051574A1 (en) MANAGING STORAGE IN A FLASH MEMORY
WO1999053450A1 (en) Method for writing and reading the contents of a microcircuit card non volatile memory
FR2689662A1 (en) Protection against information loss from telephone cards - uses memory zones and releases modified information from first to second zones with control bit
FR2667192A1 (en) Process for counting in EEPROM memory and its use for the construction of a backed-up counter
EP2901291B1 (en) Method for managing the memory resources of a security device, such as a smart card, and security device implementing said method
EP1902369B1 (en) Method for managing a non-volatile memory in a smart card
EP1070303B1 (en) Method for indivisibly modifying a plurality of sites in a microcircuit card non volatile memory, in particular a contactless card
EP3246819B1 (en) Flash memory counter
FR2701578A1 (en) Process for writing to a non-volatile memory, especially to a memory card
WO2007090857A1 (en) Method of secure updating of a nonvolatile memory
EP2383746B1 (en) Method for writing and reading in an atomicity memory
WO2014060096A1 (en) Method for managing a flash memory
FR2699704A1 (en) Data updating procedure on EEPROM data storage
CA2452672A1 (en) Method for modification of data on a memory card on a transaction
EP0687999B1 (en) Memory card and method for successive input management
EP0609156A1 (en) System to detect falsified stored information
FR2812116A1 (en) Method and device for secured writing of data in rewritable memory, for use in microelectronics and chip cards
EP3416087A1 (en) Atomicity management in an eeprom memory
FR3051575A1 (en) ERASING MANAGEMENT IN A FLASH MEMORY

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AL AU BA BB BG BR CA CN CU CZ EE GE GH HR HU ID IL IN IS JP KP KR LC LK LR LT LV MG MK MN MX NO NZ PL RO SG SI SK SL TR TT UA UG US UZ VN YU ZA

AL Designated countries for regional patents

Kind code of ref document: A1

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

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
NENP Non-entry into the national phase

Ref country code: KR

122 Ep: pct application non-entry in european phase