Source: https://patents.google.com/patent/EP1376608A1/en
Timestamp: 2019-01-19 23:46:48+00:00
Document Index: 193106186

Matched Legal Cases: ['art 1', 'art 2', 'art 3', 'art 1', 'art 2', 'art 3']

EP1376608A1 - Programming method in a nonvolatile memory and system for realisation of such a method - Google Patents
Programming method in a nonvolatile memory and system for realisation of such a method Download PDF
EP1376608A1
EP1376608A1 EP20020291626 EP02291626A EP1376608A1 EP 1376608 A1 EP1376608 A1 EP 1376608A1 EP 20020291626 EP20020291626 EP 20020291626 EP 02291626 A EP02291626 A EP 02291626A EP 1376608 A1 EP1376608 A1 EP 1376608A1
EP20020291626
Christoph Siegelin
The method for writing in a memory store of type FLASH of an electronic module consists of associating at least two physical zones (ZP1,ZP2,...,ZPn) of the memory store denoted as mirror zones to the same logic zone (ZL), and at the time of writing that is when performing the write operations (E1), (E2),...,(En) in the logic zone, to program the contents in one of blank mirror zones; and of erasing the contents of the set of utilized mirror zones in only one operation at an opportune time. The erasing of the first physical zone (ZP1) is avoided by programming the second physical zone (ZP2) at the time of the next writing (E2), and the procedure can be repeated until the saturation of the mirror memory. The erasing is carried out in a period of inactivity, or when all physical zones are utilized, in a manner not to block the operations of erasing and programming/reading in parallel. One of the physical zones is indicated as active by means of a counter which is incremented at each change of active zone. A set of bits is associated with a logic zone representing the state of utilization of the mirror zones of the logic zone. The writing is effected in the active physical zone if the content of the logic zone is identical with respect to teh content of the active physical zone, or when the writing does not require any erasing, and in a blank physical zone in other cases. A part of the logic zone is programmed only in the blank physical zone. An electronic module (claimed) comprises means for information processing, a read-only memory store of type FLASH, and a mirror memory constituted of physical zones associated with the same logic zone. A chip card (claimed) comprises the electronic module.
La présente invention concerne un procédé d'écriture dans une mémoire non volatile d'un ensemble électronique tel que par exemple un système embarqué. The present invention relates to a writing method in a nonvolatile memory of an electronic assembly such as for example an embedded system. Plus précisément, la présente invention vise à proposer un procédé permettant d'optimiser le temps d'écriture à ce type de mémoire. More specifically, the present invention aims to provide a method for optimizing the writing time for this type of memory.
L'invention concerne encore un système embarqué pour la mise en oeuvre d'un tel procédé. The invention also relates to an embedded system for implementing such a method.
L'invention s'applique plus particulièrement à une carte à puce. The invention applies particularly to a smart card.
Dans le cadre de l'invention, le terme "système embarqué" doit être compris dans son sens le plus général. In the context of the invention, the term "embedded system" must be understood in its broadest sense. Il concerne notamment toutes sortes de terminaux légers munis d'une puce électronique, et plus particulièrement les cartes à puce proprement dites. It concerns in particular all kinds of light terminals equipped with an electronic chip, particularly the smart cards themselves. La puce électronique est munie elle-même de moyens de traitement d'informations (par exemple un microprocesseur) et de moyens de mémorisation d'informations. The electronic chip is provided with its own means for processing information (e.g., a microprocessor) and information storage means.
L'écriture de données persistantes dans une mémoire non volatile d'un système embarqué consiste généralement en une succession d'effacement/programmation de ladite mémoire. The writing of persistent data in a nonvolatile memory of an embedded system usually consists of a series of erase / programming said memory. L'effacement est un passage à un état « bas » (noté ultérieurement '0') de toutes les cellules mémoires d'une région spécifique (appelée « bloc » ou « page »). Clearing is a shift to a "low" state (later noted '0') of all the memory cells of a specific region (called "block" or "page"). La programmation est un passage à un état « haut » (noté '1') d'une portion seulement de la dite région spécifique. Programming is a transition to a "high" state (denoted by '1') of only one of said specific area portion. L'écriture consiste en l'effacement d'une région et la programmation de bits adéquats de ladite région. Writing involves the deletion of a region and programming appropriate bits of said region.
Sur les cartes actuelles, la mémoire non volatile est réalisée en technologie EEPROM. On current maps, the non-volatile memory EEPROM technology is made. Or les écritures en mémoire EEPROM sont très lentes, de l'ordre de 4 ms. Or the EEPROM memory writes are very slow, of the order of 4 ms. Les temps d'effacement et de programmation sont similaires, de l'ordre de la moitié du temps d'écriture soit de l'ordre de 2 ms. The erasing time and programming are similar, in the order of half the write time is of the order of 2 ms. De ce fait, les latences induites par les écritures en mémoire masquent les performances réelles du processeur. Therefore, the latencies caused by memory writes mask the actual performance of the processor.
Actuellement, une nouvelle technologie de mémoire non volatile est en cours d'introduction dans les cartes à puces : la technologie Flash. Currently, a new non-volatile memory technology is being introduced in smart cards: Flash technology. La technologie Flash se distingue de la technologie EEPROM notamment par des caractéristiques très différentes au niveau de la programmation et de l'effacement. Flash technology is distinguished from the EEPROM technology in particular by very different characteristics in terms of programming and erasing. Ainsi, dans une mémoire Flash, il existe une forte dissymétrie entre le temps nécessaire pour la programmation, relativement rapide, et le temps nécessaire pour l'effacement d'une cellule précédemment programmée, identique au temps nécessaire pour l'effacement dans une mémoire EEPROM. Thus, in a flash memory, there is a strong asymmetry between the time required for programming, relatively fast, and the time required for erasing a cell previously programmed identical to the time required for clearing in an EEPROM . A titre d'exemple, le temps nécessaire pour la programmation peut atteindre 10 µs (pour une petite quantité de mémoire). For example, the time required for programming up to 10 microseconds (for a small amount of memory).
Un but de la présente invention est d'optimiser les temps d'écriture dans une mémoire non volatile d'un ensemble électronique pourvu d'une mémoire de type Flash. An object of the present invention is to optimize the write time in a nonvolatile memory of an electronic assembly with a Flash type memory.
Un autre but de la présente invention est de proposer une solution susceptible d'être implémentée dans un système embarqué. Another object of the present invention is to propose a solution that can be implemented in an embedded system.
La présente invention concerne un procédé d'écriture dans une mémoire de type Flash d'un module électronique caractérisé en ce qu'il consiste à associer au moins deux zones physiques de ladite mémoire dites zones miroir à une même zone logique et lors d'une écriture dans ladite zone logique, à programmer le contenu de ladite zone logique dans une desdites zones miroir vierge. The present invention relates to a writing method in a Flash-type memory of an electronic module characterized in that it consists in associating at least two physical areas of said memory said mirror regions to the same logical zone and at a writing in said logic area, programming the contents of said logical area in one of said mirror blank areas.
La présente invention concerne également le module électronique comportant des moyens de traitement de l'information, une mémoire non volatile de type FLASH caractérisé en ce qu'il comporte une mémoire miroir constituée d'au moins deux zones physiques et associée à une même zone logique, chaque nouvelle opération de programmation dans ladite zone logique s'effectuant dans une zone de la mémoire miroir vierge ainsi que la carte dans laquelle ledit module est intégré. The present invention also relates to the electronic module comprising processing information means, a non-volatile memory type FLASH characterized in that it comprises a mirror memory consists of at least two physical areas and associated with the same logical zone , each new programming operation in said logic area is effected in a zone of the blank and mirror memory map wherein said module is integrated.
D'autres buts, avantages et caractéristiques de l'invention apparaítront à la lecture de la description qui va suivre de la mise en oeuvre du procédé selon l'invention et d'un mode de réalisation d'un système électronique adapté pour cette mise en oeuvre, donnés à titre d'exemple non limitatif en référence aux dessins ci-annexés dans lesquels : Other objects, advantages and features of the invention appear on reading the following description of the implementation of the method according to the invention and an embodiment of an electronic system suitable for this upload work, given by way of nonlimiting example with reference to the accompanying drawings in which:
la figure 1 montre une représentation schématique des étapes du procédé selon la présente invention ; Figure 1 shows a schematic representation of the process steps according to the present invention;
la figure 2 représente de manière schématique un premier mode de réalisation d'association entre zones logiques et physiques dans le procédé selon la présente invention ; schematically Figure 2 shows a first embodiment of association between logical and physical areas in the method according to the present invention;
la figure 3 représente de manière schématique un deuxième mode de réalisation d'association entre zones logiques et physiques dans le procédé selon la présente invention ; 3 shows schematically a second embodiment of association between logical and physical areas in the method according to the present invention;
les figures 4a à 4c représentent de manière schématique les différents types d'écriture dans la mémoire de type Flash ; Figures 4a to 4c schematically illustrate the different types of writing in the flash memory type;
la figure 5 représente de manière schématique un premier mode de réalisation d'effacement et régénération de zones physiques dans le procédé selon la présente invention ; 5 shows schematically a first embodiment of erasure and regeneration of physical areas in the method according to the present invention;
la figure 6 représente de manière schématique un second mode de réalisation d'effacement et régénération de zones physiques dans le procédé selon la présente invention. Figure 6 schematically shows a second embodiment of erasure and regeneration of physical areas in the method according to the present invention.
Le procédé selon l'invention vise à optimiser le temps d'écriture dans une mémoire d'un ensemble électronique, et par exemple un système embarqué tel qu'une carte à puce. The method of the invention aims at optimizing the write time in a memory of an electronic assembly, for example an embedded system such as a smart card. L'ensemble électronique comprend au moins un processeur et une mémoire non-volatile de type Flash. The electronic assembly comprises at least a processor and a nonvolatile memory Flash memory. Par mémoire de type FLASH, on entend dans la description qui suit toute mémoire non volatile qui présente une dissymétrie entre le temps nécessaire pour la programmation et l'effacement. For FLASH memory type is defined in the description that follows any nonvolatile memory that has an asymmetry between the time required for programming and erasing.
Sans que cela limite en quoi que ce soit sa portée, on se placera ci-après dans le cas de l'application préférée de l'invention, à savoir les applications à base de cartes à puce. Without limiting anything in his reach, one place below in the case of the preferred application of the invention, ie based smart card applications.
La présente invention consiste en un procédé logiciel permettant de tirer profit de la dissymétrie des temps de programmation/effacement d'une mémoire non-volatile, notamment FLASH, pour optimiser les temps d'écriture en mémoire non-volatile d'une carte à puce. The present invention is a software method to take advantage of the asymmetry programming times / erasing a non-volatile memory, including FLASH, to optimize the write time in non-volatile memory of a smart card . A cette fin, on définit une mémoire « miroir » qui est découpée en n zones physiques destinées à contenir une même zone logique du programme. To this end, we define a "mirror" memory that is divided into n physical areas for containing the same logical zone of the program.
La figure 1 présente un exemple de mécanisme de mémoire miroir. Figure 1 shows an example of mirror memory mechanism.
A l'état initial du système, toutes les zones de la mémoire miroir sont vierges, à savoir de contenu vide, prêtes à recevoir et mémoriser des données. In the initial state of the system, all the areas of the mirror memory are blank, i.e. empty content, ready to receive and store data. Lorsque le programme souhaite effectuer une écriture E1 dans la zone logique ZL, celle-ci se fait par programmation (rapide) de la première zone physique ZP1. When the program wants to make E1 writing in the logical area ZL, it is through programming (fast) the first ZP1 physical area. Lors de l'écriture suivante E2 sur cette zone logique ZL, on évite l'effacement (lent) de la première zone physique ZP1 par une programmation dans la deuxième zone physique ZP2 (encore vierge). When the next write E2 on this logical area ZL is avoided erasing (slow) of the first physical zone ZP1 by programming in the second physical zone ZP2 (virgin). Ce procédé peut être répété jusqu'à saturation de la mémoire miroir (ou jusqu'à ce que le système saisisse un moment opportun pour effacer les zones physiques utilisées comme il sera vu par la suite). This process can be repeated until saturation of the mirror memory (or until the system seizes an opportune time to erase the physical areas used as will be seen later).
Pour pouvoir réutiliser l'ensemble des zones physiques, la mémoire miroir doit être effacée périodiquement. To be able to reuse all of the physical areas, the reflective memory must be cleared periodically. L'effacement peut se faire à n'importe quel moment opportun au système, et cet effacement peut profiter du « mode bloc » des mémoires FLASH. Erasing can be done at any convenient time in the system, and this deletion may take advantage of the "block mode" FLASH memories. En effet, l'optimisation de l'effacement de ces zones physiques se fait, d'une part en effaçant toutes les zones en une seule opération, d'autre part en réalisant l'effacement de façon non bloquante pour le système. Indeed, optimizing erasing these physical areas is, first erasing of all the regions in a single operation, on the other hand by performing the deletion of non-blocking manner for the system.
Une première méthode, dite « multiplexage temporel », est une réalisation purement logicielle. A first method, called "time division multiplexing" is a purely software implementation. L'effacement est effectué par le système de la carte lorsqu'il est en attente, notamment d'un événement extérieur comme une commande du terminal. The erasure is performed by the card system when it is in the queue, including an external event such as a command from the terminal. Une deuxième méthode, dite « multiplexage spatial », nécessite un support matériel pour l'exécution de tâches concurrentes. A second method, called "spatial multiplexing" requires hardware support for performing concurrent tasks. En effet, la tâche d'effacement est lancée par le système de la carte et s'exécute en parallèle avec le déroulement normal du programme. Indeed, the clear task is started by the card system and runs in parallel with the normal program. Cette deuxième implémentation sera réalisée de préférence, soit grâce à une mémoire FLASH bi-port, soit grâce à une mémoire FLASH bi-banque. This second implementation is preferably performed either through a two-port FLASH memory or through a bi-bank FLASH.
En résumé, la séparation du cycle programmation/effacement décrite par l'invention permet de tirer partie des programmations rapides en FLASH, et d'optimiser les effacements de la mémoire. In summary, separation of cycle programming / erasure described by the invention allows to take advantage of fast programming in FLASH, and optimize the erase memory. L'invention réalise ainsi un compromis entre utilisation de la mémoire et performances. The invention thus achieves a compromise between memory usage and performance.
Plusieurs modes de réalisation de l'invention sont décrits dans ce qui suit en trois parties : Several of the invention embodiments are described in the following three parts:
1 ère partie: Réalisation de l'association zone logique/zones physiques. Part 1: Construction of the association logical area / physical areas.
2 ème partie : Algorithme d'écriture d'une zone. Part 2: Write Algorithm zone.
3 ème partie : Effacement et régénération des zones physiques. Part 3: Erasing and regeneration of physical areas.
Il est décrit dans ce qui suit des modes de réalisation de l'association zone logique/zones physiques (1 ère partie). It is described in the following embodiments of the association logical area / physical areas (Part 1). L'association zone logique/zones physiques nécessite la connaissance de la zone physique active (la zone « miroir » actuelle dans laquelle le contenu de la zone logique doit être lu). The association between logical area / physical areas requires knowledge of the active physical area (the area "mirror" current in which the contents of the logical area to be read). Cette donnée doit être modifiable rapidement lors du changement de zone physique, pour ne pas pénaliser les programmations. This data needs to be changed quickly when changing physical area, not to penalize programming. Elle doit donc être contenue, soit en RAM, soit dans une zone FLASH préalablement vierge. It must be contained either in RAM or in a previously blank FLASH area.
Une première réalisation consiste en un simple compteur en RAM, associé à la zone logique, contenant le numéro de la zone active. A first embodiment consists of a simple counter in RAM associated with the logic region, containing the number of the active area. Le changement de zone se fait par incrémentation du compteur. The zone change is done by incrementing the counter. A l'initialisation de la carte ou en cas d'arrachement, les zones physiques sont parcourues pour déterminer le nombre de zones « utilisées » Zpu, à savoir de zones dans lesquelles le contenu de la zone logique associée à un instant donné a été programmé et pas encore effacé. At initialization of the card or in the case of tearing, physical areas are traversed to determine the number of zones "used" ZPÜ, i.e. areas in which the contents of the logical area associated with a given time has been programmed and not yet cleared. Le compteur est initialisé avec cette valeur. The counter is initialized with this value.
La figure 2 illustre une écriture nécessitant un changement de zone physique active pour cette première réalisation. 2 illustrates a write requiring a change of active physical area for this first embodiment.
Une seconde réalisation consiste en un champ de bit en FLASH, associé à la zone logique. A second embodiment consists of a bit field in FLASH, associated with the logic region. Chaque bit représente l'état d'utilisation d'une zone physique ('1' → utilisée; '0' → vierge). Each bit represents the usage status of a physical area ( "1" → used; '0' → blank). Le changement de zone physique se fait par programmation du bit correspondant à la zone vierge nouvellement active. The physical zone change is made by programming the bit corresponding to the newly active blank area. Le champ de bit complet est effacé lorsque toutes les zones physiques sont régénérées. Full bit field is cleared when all physical zones are regenerated. A titre d'exemple, la zone active peut être déterminée comme étant la zone utilisée de poids le plus faible dans le champ de bit. For example, the active area can be determined as the used area of ​​the least significant bit in the field.
La figure 3 illustre une écriture nécessitant un changement de zone physique active pour cette seconde réalisation. Figure 3 illustrates a write requiring a change of active physical area for this second embodiment.
Il est décrit dans ce qui suit des modes de réalisation de l'algorithme d'écriture d'une zone (2 ème partie) en se référant aux figures 4a à 4c illustrant les différentes opérations de comparaison. It is described in the following embodiments of the write algorithm zone (Part 2) with reference to Figures 4a to 4c illustrate the various comparison operations. La zone physique active à gauche contient en gras les bits à modifier. The active physical area on the left contains the fatty bits to change. A droite se trouve la nouvelle zone physique active (identique à l'ancienne dans la figure 4a) et les bits effectivement programmés en gras. To the right is the new active physical area (identical to the former in Figure 4a) and the actual programmed fatty bits.
Dans l'approche la plus simple, une écriture de la zone logique entière nécessite l'usage d'une nouvelle zone physique, tandis qu'une écriture partielle de la zone logique nécessite la lecture de la zone physique courante, le remplacement de la portion adéquate puis la réécriture dans une nouvelle zone physique. In the simplest approach, writing the entire logical area requires the use of a new physical area, while a partial write logic area requires reading the current physical area, the replacement of the portion adequate and rewriting in a new physical area. Cette opération peut être optimisée en déterminant s'il est possible de réutiliser la zone physique courante. This can be optimized by determining whether it is possible to reuse the current physical area.
Le procédé consiste en la lecture préalable de la zone courante et la comparaison avec la portion à écrire : The method includes the prefetch the current area and the comparison with the portion to be written:
Si les deux contenus sont identiques, rien n'est écrit et la zone physique active reste la même (figure 4a). If the two contents are identical, nothing is written and the active physical area remains the same (Figure 4a).
Si les seules opérations nécessaires sont des programmations de bit (ie des passages de '0' à '1'), la zone active n'est pas changée et les bits correspondant sont programmés dans la zone courante (figure 4b). If the only operations required are bit programming (ie passages from '0' to '1') the active area is not changed and the corresponding bits are programmed in the current zone (Figure 4b).
Sinon, la zone courante est lue et masquée par la portion à écrire, puis le tout est programmé dans une nouvelle zone active (figure 4c). Otherwise, the current zone is read and masked by the portion to be written, then the whole is programmed to a new active region (Figure 4c).
Il convient de noter que la lecture préalable de la zone courante n'affecte pas les performances du procédé de façon significative, car les lectures en mémoire non-volatile sont rapides, de l'ordre de quelques cycles processeur. It should be noted that the prior reading of the current zone does not affect the performance of the process significantly, since the readings in non-volatile memory are fast, on the order of a few CPU cycles. Par ailleurs, il est possible de préserver le contenu de la zone courante temporairement en mémoire vive (qui joue alors le rôle d'une antémémoire). Moreover, it is possible to preserve the contents of the current area temporarily in RAM (which then acts as a cache).
Dans une variante du procédé (figure 4c) décrit ci-dessus, on ne programmera pas l'ensemble de la zone, mais uniquement la partie effectivement différente (grisée dans la figure). In a variant of the process (Figure 4c) described above, it will not program the entire area, but only the actually different part (shaded in the figure). Cette variante nécessite une gestion plus complexe, mais elle peut être judicieuse, soit parce que le grain de programmation de la mémoire non-volatile est très grand, soit parce que le temps de programmation par bit est très élevé. This variant requires more complex management, but it may be useful, either because the grain programming of non-volatile memory is very large, or because the bit by programming time is very high.
Il est décrit dans ce qui suit des modes de réalisation de la régénération des zones physiques (3 ème partie) en se référant à la figure 5. It is described in the following embodiments of the regeneration of physical areas (Part 3) with reference to Figure 5.
Le « multiplexage temporel » consiste en la séparation des programmations/effacements dans le temps. The "time multiplexing" consists in the separation of programming / erase time. En régime normal, le système ne procède qu'à des programmations. In normal operation, the system only makes the programming. Lorsqu'il devient inactif (ou lorsque toutes les zones sont pleines), il effectue leur effacement et se retrouve bloqué pendant cette période. When it becomes inactive (or when all areas are full), it performs erasure and gets stuck during this period. A titre d'exemple, la réception d'une commande sur la ligne l/O d'une carte à puce peut être longue (plusieurs centaines de ms), le système peut en profiter pour déclencher un effacement. For example, reception of a command on the line l / O of a smart card can be long (several hundreds of ms), the system can take the opportunity to initiate an erasure.
Un mécanisme pour effacer les zones de façon purement logiciel (figure 5) consiste à recopier la zone physique active (le « miroir ») dans une zone tampon, puis à effacer l'ensemble des zones physiques miroirs et enfin à recopier le tampon dans la première zone physique disponible. A mechanism to remove the areas of purely software manner (Figure 5) consists in copying the active physical area (the "mirror") in a buffer and then erase all physical zones mirrors and finally fill the buffer in the first available physical area. Ce mécanisme est illustré dans le schéma suivant. This mechanism is illustrated in the following diagram.
Le « multiplexage spatial » consiste à effectuer en parallèle l'opération d'effacement et les programmations/lectures de la zone logique. The "space division multiplexing" is to perform in parallel the erasing operation and the programming / reading of the logic area. La FLASH bi-banque permet une réalisation de ce multiplexage. The bi-bank FLASH enables realization of this multiplexing. Les opérations de lecture/programmation/effacement sont en général exclusives sur une FLASH, en particulier il n'est pas possible d'effacer une zone de la mémoire pendant qu'on en programme ou lit une autre. Read operations / programming / erasing are generally exclusive to a FLASH, in particular it is not possible to erase a memory area for one program or another bed. La FLASH bi-banque possède deux banques sur lesquelles il est possible d'effectuer des opérations en parallèle (même si chaque banque a les même contraintes que la FLASH traditionnelle). The bi-bank FLASH has two banks on which it is possible to perform operations in parallel (although each bank has the same constraints than traditional FLASH).
La réalisation sur cette mémoire suppose que la zone logique possède au moins une zone « miroir » dans chaque banque. The realization of this memory assumes that the logical area has at least a "mirror" area in each bank. La banque contenant la zone active est utilisée pour la programmation et la lecture tandis qu'en parallèle, les zones miroirs de l'autre banque sont effacées en bloc (si possible). The library containing the active area is used for programming and reading, while in parallel, areas mirrors of the other bank are erased block (if possible). Le système change de banque active lorsque toutes les zones miroirs de la banque sont épuisées. The system exchange active bank when all the bank's mirrors areas are exhausted. Les figures 6a à 6c illustrent cette réalisation. Figures 6a to 6c illustrate this embodiment.
Sur la figure 6a, les programmations/lecture se font sur la banque A pendant que la banque B est effacée. In Figure 6a, the programming / reading are done on the bank A while the bank B is erased.
Dans la figure 6b, B effacée le système continue à travailler sur A jusqu'à saturation des zones physiques. In Figure 6b, B cleared the system continues to work on A until saturation of physical areas.
Dans la figure 6c, lorsque A arrive à saturation, B devient la banque active et le système efface A en parallèle. In Figure 6c, when A becomes full, B becomes the active bank and the system erases A in parallel.
Procédé d'écriture dans une mémoire de type Flash d'un module électronique caractérisé en ce qu' il consiste à associer au moins deux zones physiques de ladite mémoire dites zones miroir à une même zone logique et lors d'une écriture dans ladite zone logique, à programmer le contenu de ladite zone logique dans une desdites zones miroir vierge. Writing method in a Flash-type memory of an electronic module characterized in that it consists in associating at least two physical areas of said memory said mirror regions to the same logical zone and when writing in said logic area , programming the contents of said logical area in one of said mirror blank areas.
Procédé selon la revendication 1, caractérisé en ce qu' il consiste à effacer le contenu de l'ensemble des zones miroir utilisées en une seule opération à un moment opportun. A method according to claim 1, characterized in that it consists in erasing the contents of all mirror areas used in a single operation at an appropriate time.
Procédé selon la revendication 2, caractérisé en ce qu' il consiste à effectuer l'effacement lors d'une période d'inactivité ou lorsque toutes les zones physiques miroir sont utilisées. A method according to claim 2, characterized in that it consists in performing the erasure during an idle period or when all mirror physical areas are used.
Procédé selon la revendication 2, caractérisé en ce qu' il consiste à effectuer de façon non bloquante les opérations d'effacement et de programmation/lecture en parallèle. A method according to claim 2, characterized in that it consists in performing non-blocking way the erasing and programming / read in parallel.
Procédé selon l'une des revendications 1 à 4, caractérisé en ce qu' il consiste à désigner une des zones physiques comme active à l'aide d'un compteur incrémenté à chaque changement de zone active. A method according to one of claims 1 to 4, characterized in that it is to designate one of the physical areas as active using a counter incremented at each change of active area.
Procédé selon l'une des revendications 1 à 4, caractérisé en ce qu' il consiste à associer un ensemble de bits à une zone logique représentant l'état d'utilisation des zones physiques miroir de ladite zone logique. A method according to one of claims 1 to 4, characterized in that it consists in associating a set of bits in a logical zone representing the status of use of the physical areas of said mirror logical area.
Procédé selon l'une des revendications 1 à 6, caractérisé en ce que l'écriture est effectuée dans la zone physique active si le contenu de la zone logique est identique par rapport au contenu de la zone physique active ou lorsque ladite écriture ne requiert aucun effacement, et dans une zone physique vierge dans les autres cas. Method according to one of claims 1 to 6, characterized in that the writing is performed in the active physical area if the content of the logic area is identical to the content of the active physical area or when said write requires no erasure, and in a pristine natural area in other cases.
Procédé selon la revendication 7, caractérisée en ce qu' il consiste à programmer une partie de la zone logique seulement dans la zone physique vierge. The method of claim 7, characterized in that it consists of programming of the logic area only in the virgin physical area.
Module électronique comportant des moyens de traitement de l'information, une mémoire non volatile de type FLASH caractérisé en ce qu' il comporte une mémoire miroir constituée d'au moins deux zones physiques et associée à une même zone logique, chaque nouvelle opération de programmation dans ladite zone logique s'effectuant dans une zone de la mémoire miroir vierge. Electronic module comprising of information processing means, a non-volatile memory type FLASH characterized in that it comprises a mirror memory consists of at least two physical areas and associated with a same logical area, each new programming operation in said logical zone is effected in a zone of the mirror blank memory.
Carte caractérisée en ce qu' elle comprend le module électronique selon la revendication 9. Card characterized in that it comprises an electronic module according to claim 9.
EP20020291626 2002-06-28 2002-06-28 Programming method in a nonvolatile memory and system for realisation of such a method Withdrawn EP1376608A1 (en)
EP20020291626 EP1376608A1 (en) 2002-06-28 2002-06-28 Programming method in a nonvolatile memory and system for realisation of such a method
KR20047021465A KR20050040120A (en) 2002-06-28 2003-06-27 Method to write in a non volatile memory and system to implement such method
CN 03815106 CN100538904C (en) 2002-06-28 2003-06-27 Programming method in a nonvolatile memory and system for realisation of such a method
AU2003279978A AU2003279978A1 (en) 2002-06-28 2003-06-27 Method to write in a non volatile memory and system to implement such method
EP20030740861 EP1520278A1 (en) 2002-06-28 2003-06-27 Method to write in a non volatile memory and system to implement such method
JP2004517061A JP2005531842A (en) 2002-06-28 2003-06-27 System for implementing the writing method and the method of the nonvolatile memory
US10519394 US20050262291A1 (en) 2002-06-28 2003-06-27 Method to write in a non-volatile memory and system to implement such method
PCT/IB2003/002509 WO2004003927A1 (en) 2002-06-28 2003-06-27 Method to write in a non volatile memory and system to implement such method
EP1376608A1 true true EP1376608A1 (en) 2004-01-02
ID=29716960
EP20020291626 Withdrawn EP1376608A1 (en) 2002-06-28 2002-06-28 Programming method in a nonvolatile memory and system for realisation of such a method
EP20030740861 Withdrawn EP1520278A1 (en) 2002-06-28 2003-06-27 Method to write in a non volatile memory and system to implement such method
US (1) US20050262291A1 (en)
EP (2) EP1376608A1 (en)
JP (1) JP2005531842A (en)
KR (1) KR20050040120A (en)
CN (1) CN100538904C (en)
WO (1) WO2004003927A1 (en)
US5761702A (en) * 1993-06-30 1998-06-02 Sharp Kabushiki Kaisha Recording apparatus including a plurality of EEPROMS where parallel accessing is used
JPH09259046A (en) * 1996-03-22 1997-10-03 Kokusai Electric Co Ltd Method for storing data in flash memory and method for reading data out of flash memory
JPH11144478A (en) * 1997-11-10 1999-05-28 Hitachi Device Eng Co Ltd Information storage method of nonvolatile semiconductor memory and electronic apparatus
JPH11328982A (en) * 1998-03-19 1999-11-30 Fuji Electric Co Ltd Data management system for flash memory
JP2000035916A (en) * 1998-07-21 2000-02-02 Nec Corp Memory operation management method
JP2000215098A (en) * 1999-01-22 2000-08-04 Mitsubishi Electric Corp Memory writing method
JP2000339212A (en) * 1999-05-31 2000-12-08 Sony Corp Data changing method for nonvolatile memory
JP2005531842A (en) 2005-10-20 application
WO2004003927A1 (en) 2004-01-08 application
KR20050040120A (en) 2005-05-03 application
CN1666296A (en) 2005-09-07 application
CN100538904C (en) 2009-09-09 grant
EP1520278A1 (en) 2005-04-06 application
US20050262291A1 (en) 2005-11-24 application
US7142477B1 (en) 2006-11-28 Memory interface system and method for reducing cycle time of sequential read and write accesses using separate address and data buses
US20090193189A1 (en) 2009-07-30 Block-based Storage System Having Recovery Memory to Prevent Loss of Data from Volatile Write Cache
US6289438B1 (en) 2001-09-11 Microprocessor cache redundancy scheme using store buffer
JP2001006374A (en) 2001-01-12 Semiconductor memory and system
FR2793048A1 (en) 2000-11-03 Order Management Method in several application files and smart card for implementing PROCESS
US6412041B1 (en) 2002-06-25 Real time processing method of a flash memory
JP2008033788A (en) 2008-02-14 Nonvolatile storage device, data storage system, and data storage method
JP2005115857A (en) 2005-04-28 File storage device
FR2742893A1 (en) 1997-06-27 Writing to re-writable memory e.g. memory card, smart card or non-contact card
FR2611289A1 (en) 1988-08-26 portable electronic device
2004-01-02 AX Extension or validation of the european patent to
2004-10-28 REG Reference to a national code