FR2935501A1 - Reinscribable non-volatile memory e.g. FLASH memory, access operation management method for e.g. subscriber identity module card, involves storing usage table in RAM or quick access storage - Google Patents
Reinscribable non-volatile memory e.g. FLASH memory, access operation management method for e.g. subscriber identity module card, involves storing usage table in RAM or quick access storage Download PDFInfo
- Publication number
- FR2935501A1 FR2935501A1 FR0855868A FR0855868A FR2935501A1 FR 2935501 A1 FR2935501 A1 FR 2935501A1 FR 0855868 A FR0855868 A FR 0855868A FR 0855868 A FR0855868 A FR 0855868A FR 2935501 A1 FR2935501 A1 FR 2935501A1
- Authority
- FR
- France
- Prior art keywords
- memory
- volatile memory
- backup
- usage table
- management method
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000015654 memory Effects 0.000 title claims abstract description 83
- 238000007726 management method Methods 0.000 title claims description 17
- 230000032683 aging Effects 0.000 claims abstract description 27
- 238000000034 method Methods 0.000 claims abstract description 16
- 230000007246 mechanism Effects 0.000 claims abstract description 11
- 238000004590 computer program Methods 0.000 claims abstract description 7
- 239000004255 Butylated hydroxyanisole Substances 0.000 claims description 4
- 239000004261 Ascorbyl stearate Substances 0.000 claims description 3
- 230000000694 effects Effects 0.000 claims description 3
- 230000003936 working memory Effects 0.000 description 15
- 230000008569 process Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 239000000473 propyl gallate Substances 0.000 description 2
- 239000011668 ascorbic acid Substances 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 239000004318 erythorbic acid Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000001540 sodium lactate Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
- G06F2212/1036—Life time enhancement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7211—Wear leveling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
Arrière-plan de l'invention L'invention se situe dans l'optimisation des opérations de lecture/écriture dans une mémoire non volatile réinscriptible. On rappelle en premier lieu qu'une mémoire non volatile est une mémoire adaptée à conserver ses données en l'absence d'alimentation électrique. De façon connue, les mémoires non volatiles réinscriptibles sont partitionnées en une pluralité de zones, chacune de ces zones pouvant être effacée/écrite individuellement un nombre limité de fois, typiquement de l'ordre d'un million pour les mémoires les plus performantes. Afin de prolonger au maximum la durée de vie d'une telle mémoire, il est connu de chercher à répartir les opérations d'écriture sur l'ensemble de ses zones (technique dite de wear leveling , répartition d'usage). Le document US 2006/0155917 décrit une telle méthode dans laquelle on enregistre dans une table d'une mémoire FLASH, pour chacun des blocs de cette mémoire, un compteur du nombre d'effacements effectués sur ce bloc, et on sélectionne, pour une écriture, le bloc disponible associé au plus petit compteur. Pour une mémoire FLASH de 4096 blocs, la taille de cette table est de l'ordre de 8 Ko. Cette méthode impose en outre de copier régulièrement la table dans la mémoire vive, ce qui, du fait de la taille de cette table est un inconvénient majeur. BACKGROUND OF THE INVENTION The invention lies in the optimization of read / write operations in a rewritable non-volatile memory. First of all, a non-volatile memory is a memory adapted to keep its data in the absence of power supply. In a known manner, the non-volatile rewritable memories are partitioned into a plurality of zones, each of these zones being able to be erased / written individually a limited number of times, typically of the order of one million for the most efficient memories. In order to extend the life of such a memory as much as possible, it is known to seek to distribute the writing operations over all of its areas (so-called wear leveling technique, usage distribution). The document US 2006/0155917 describes such a method in which a counter of the number of erasures effected on this block is recorded in a table of a FLASH memory, for each block of this memory, and one selects, for a writing , the available block associated with the smallest counter. For a FLASH memory of 4096 blocks, the size of this table is of the order of 8 KB. This method also requires regularly copying the table in the RAM, which, because of the size of this table is a major disadvantage.
Objet et résumé de l'invention La présente invention propose un procédé de gestion des opérations d'accès à une mémoire non volatile réinscriptible d'un dispositif qui ne présente pas les inconvénients de ceux de l'art antérieur. OBJECT AND SUMMARY OF THE INVENTION The present invention proposes a method for managing access operations to a rewritable non-volatile memory of a device that does not have the drawbacks of those of the prior art.
Ce procédé comporte: - une étape de détermination, à partir d'une table d'usage, d'au moins un point chaud de ladite mémoire non volatile ; - une étape de détection d'au moins une opération visant à accéder à ce point chaud ainsi déterminé ; et - une étape de réalisation de l'opération précitée dans une zone d'une mémoire non volatile réinscriptible dite de vieillissement déterminée par un mécanisme de répartition d'usage. Conformément à l'invention, la table d'usage est mémorisée dans une mémoire vive ou dans une mémoire à accès rapide, par exemple une mémoire de type RAM (en anglais Random Access Memory). D'une façon générale, l'invention propose, contrairement à l'art antérieur précité, de détecter les points chauds de la mémoire non volatile réinscriptible, à savoir les zones de cette mémoire les plus sollicitées en lecture, écriture, effacement, et de mettre en place un mécanisme de répartition d'usage que pour ces seuls points chauds. Cette politique permet très avantageusement l'utilisation d'une table d'usage de taille très faible, typiquement de l'ordre de quelques dizaines d'octets pour une mémoire non volatile réinscriptible de 4096 blocs, en comparaison des 8 Ko de la table utilisée dans l'art antérieur précité. Et c'est grâce à cette caractéristique avantageuse que la table d'usage selon l'invention peut être stockée en RAM, ou dans une mémoire à accès rapide, par nature coûteuse, chose inenvisageable dans l'art antérieur. Il en découle que le procédé de gestion d'accès selon l'invention est d'exécution beaucoup plus rapide que celui de l'art antérieur. Corrélativement, l'invention concerne un dispositif comportant : - une mémoire non volatile réinscriptible ; - des moyens de détermination, à partir d'une table d'usage mémorisée dans une mémoire vive ou dans une mémoire à accès rapide, d'au moins un point chaud de la mémoire non volatile ; - des moyens de détection d'au moins une opération visant à accéder au point chaud ainsi déterminé ; et - des moyens de réalisation de l'opération précitée dans une zone d'une mémoire non volatile réinscriptible dite de vieillissement déterminée par des moyens de mise en oeuvre d'un mécanisme de répartition d'usage. Le dispositif selon l'invention peut notamment être constitué par une carte à microcircuit, telle une carte SIM ou par une clef USB. This method comprises: a step of determining, from a usage table, at least one hot point of said non-volatile memory; a step of detecting at least one operation aimed at accessing this hot spot thus determined; and a step of performing the aforementioned operation in a zone of a non-volatile rewritable so-called aging memory determined by a usage distribution mechanism. According to the invention, the usage table is stored in a random access memory or in a fast access memory, for example a RAM (Random Access Memory) type memory. In general, the invention proposes, unlike the aforementioned prior art, detecting the hot spots of the non-volatile memory rewritable, namely the areas of this memory most solicited reading, writing, erasure, and put in place a distribution mechanism of use only for these hot spots. This policy very advantageously allows the use of a very small usage table, typically of the order of a few tens of bytes for a rewritable non-volatile memory of 4096 blocks, in comparison with the 8 KB of the table used. in the aforementioned prior art. And it is thanks to this advantageous feature that the use table according to the invention can be stored in RAM, or in a fast access memory, by nature expensive, something unthinkable in the prior art. It follows that the access management method according to the invention is much faster execution than that of the prior art. Correlatively, the invention relates to a device comprising: a rewritable non-volatile memory; means for determining, from a usage table stored in a random access memory or in a fast access memory, at least one hot point of the non-volatile memory; means for detecting at least one operation aimed at accessing the hot spot thus determined; and means for carrying out the aforesaid operation in a zone of a non-volatile rewritable so-called aging memory determined by means for implementing a usage distribution mechanism. The device according to the invention may in particular be constituted by a microcircuit card, such as a SIM card or by a USB key.
Dans un mode préféré de réalisation de l'invention, au moins une partie de la table d'usage est sauvegardée dans une table de sauvegarde mémorisée dans d'une mémoire non volatile réinscriptible du dispositif. Cette caractéristique est importante, lorsque l'invention est mise en oeuvre dans un dispositif susceptible d'être éteint fréquemment car elle permet de sauvegarder les informations sur les points chauds. Dans un mode particulier de réalisation de l'invention, la table de sauvegarde est de taille inférieure à la table d'usage et au cours de l'étape de sauvegarde, on sauvegarde dans la table de sauvegarde, les enregistrements de la table d'usage correspondants aux points les plus chauds. Cette caractéristique permet très avantageusement de continuer la recherche et la détection de nouveaux points chauds lorsque la table de sauvegarde est pleine. Dans un mode particulier de réalisation, le dispositif selon 15 l'invention comporte des moyens pour transmettre au moins une partie de ladite table de sauvegarde sur réception d'une requête. Cette caractéristique permet avantageusement d'obtenir à distance des informations sur la position et les degrés d'usure de ses points chauds. Du fait de la mise en oeuvre d'un mécanisme de répartition 20 d'usage, l'information recueillie sur ces seuls points chauds permet d'en déduire, avec une excellente probabilité, le degré d'usure de la mémoire dans son ensemble. Dans un mode de réalisation du procédé de gestion selon l'invention, les sauvegardes peuvent être effectuées à des instants choisis 25 aléatoirement. Dans une variante préférée, la sauvegarde est effectuée lorsqu'un nombre d'accès à l'un des points chauds déterminés dépasse un seuil ajusté dynamiquement en fonction d'une fréquence de mises sous tension du dispositif. 30 Cette caractéristique permet avantageusement d'optimiser le rythme des sauvegardes en fonction de la fréquence des mises sous tension du dispositif. En particulier, elle permet d'augmenter le rythme des sauvegardes lorsque la fréquence des mises sous tension augmente. Dans un mode particulier du procédé de gestion selon 35 l'invention, la zone de la mémoire de vieillissement dans laquelle on effectue effectivement l'opération d'accès, est choisie cycliquement dans un buffer réservé à cet effet. Cette caractéristique simplifie fortement les opérations de lecture des données qui étaient destinées à un point chaud déterminé, puisqu'il suffit, pour retrouver la dernière écriture destinée à ce point chaud, de repérer, dans la mémoire de vieillissement, la dernière zone comportant l'adresse de ce point chaud. Dans un mode particulier de réalisation, les différentes étapes du procédé de gestion sont déterminées par des instructions de 10 programmes d'ordinateurs. En conséquence, l'invention vise aussi un programme d'ordinateur sur un support d'informations, ce programme étant susceptible d'être mis en oeuvre dans un dispositif tel que mentionné ci-dessus ou plus généralement dans un ordinateur, ce programme 15 comportant des instructions adaptées à la mise en oeuvre des étapes d'un procédé de gestion tel que décrit ci-dessus. Ce programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une 20 forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable. L'invention vise aussi un support d'informations lisible par un ordinateur, et comportant des instructions d'un programme d'ordinateur tel que mentionné ci-dessus. 25 Le support d'informations peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple une disquette (floppy disc) ou 30 un disque dur. D'autre part, le support d'informations peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier 35 téléchargé sur un réseau de type Internet. In a preferred embodiment of the invention, at least part of the usage table is saved in a backup table stored in a rewritable non-volatile memory of the device. This feature is important when the invention is implemented in a device that can be turned off frequently because it can save information on hot spots. In a particular embodiment of the invention, the backup table is smaller than the usage table and during the backup step, the records of the table are saved in the backup table. corresponding use at the hottest points. This feature makes it very advantageous to continue searching and detecting new hot spots when the backup table is full. In a particular embodiment, the device according to the invention comprises means for transmitting at least a portion of said backup table upon receipt of a request. This characteristic advantageously makes it possible to obtain information remotely on the position and the degree of wear of its hot spots. Due to the use of a distribution mechanism of use, the information collected on these hot spots alone makes it possible to deduce, with an excellent probability, the degree of wear of the memory as a whole. In one embodiment of the management method of the invention, the backups may be performed at randomly selected times. In a preferred variant, the backup is performed when a number of accesses to one of the determined hot spots exceeds a dynamically adjusted threshold according to a frequency of powering up the device. This characteristic advantageously makes it possible to optimize the timing of the backups as a function of the frequency of power-up of the device. In particular, it increases the rate of backups when the frequency of power up increases. In a particular mode of the management method according to the invention, the zone of the aging memory in which the access operation is actually performed is cyclically selected in a buffer reserved for this purpose. This characteristic greatly simplifies the data reading operations that were intended for a given hot spot, since it is sufficient, in order to find the last writing intended for this hot spot, to locate, in the aging memory, the last zone comprising the address of this hot spot. In a particular embodiment, the various steps of the management method are determined by instructions of 10 computer programs. Consequently, the invention also relates to a computer program on an information carrier, this program being capable of being implemented in a device as mentioned above or more generally in a computer, this program comprising instructions adapted to the implementation of the steps of a management method as described above. This program can use any programming language, and be in the form of source code, object code, or intermediate code between source code and object code, such as in a partially compiled form, or in any another desirable form. The invention also relates to a computer-readable information medium, comprising instructions of a computer program as mentioned above. The information carrier may be any entity or device capable of storing the program. For example, the medium may comprise storage means, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or a magnetic recording means, for example a floppy disk or a floppy disc. Hard disk. On the other hand, the information medium may be a transmissible medium such as an electrical or optical signal, which may be conveyed via an electrical or optical cable, by radio or by other means. The program according to the invention can in particular be downloaded to an Internet type network.
Alternativement, le support d'informations peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question. Alternatively, the information carrier may be an integrated circuit in which the program is incorporated, the circuit being adapted to execute or to be used in the execution of the method in question.
Brève description des dessins D'autres caractéristiques et avantages de la présente invention ressortiront de la description faite ci-dessous, en référence aux dessins annexés qui en illustrent un exemple de réalisation dépourvu de tout caractère limitatif. Sur les figures : - la figure 1 représente un dispositif conforme à l'invention, dans un mode préféré de réalisation ; et - les figures 2 et 3 représentent, sous forme d'organigramme, les principales étapes d'un procédé de gestion conforme à un mode 15 particulier de réalisation de l'invention. BRIEF DESCRIPTION OF THE DRAWINGS Other features and advantages of the present invention will emerge from the description given below, with reference to the accompanying drawings which illustrate an embodiment having no limiting character. In the figures: - Figure 1 shows a device according to the invention, in a preferred embodiment; and - Figures 2 and 3 show, in flowchart form, the main steps of a management method according to a particular embodiment of the invention.
Description détaillée d'un mode de réalisation La figure 1 représente un dispositif 1000 conforme à l'invention. Ce dispositif peut notamment être constitué par une carte à 20 microcircuit, telle une carte SIM ou par une clef USB. Ce dispositif 1000 comporte un processeur 200, une mémoire réinscriptible non volatile 100 (ci-après dénommée mémoire non volatile 100 ), une mémoire morte de type ROM 300 et une mémoire vive de type RAM 400. 25 La mémoire morte 300 constitue un support d'enregistrement conforme à l'invention, lisible par le processeur 200, sur lequel est enregistré un programme d'ordinateur conforme à l'invention, ce programme comportant des instructions pour l'exécution des étapes d'un procédé de gestion selon l'invention, les principales étapes de ce procédé 30 étant représentées sous forme d'organigramme aux figures 2 et 3. De façon connue, le processeur 200 comporte un bus 500 d'entrée/sortie sur lequel il peut recevoir des ordres de lecture ou d'écriture dans la mémoire non volatile 100. La mémoire non volatile 100 peut notamment être une mémoire 35 de type FLASH ou une mémoire EEPROM. DETAILED DESCRIPTION OF AN EMBODIMENT FIG. 1 represents a device 1000 according to the invention. This device can in particular be constituted by a microcircuit card, such as a SIM card or by a USB key. This device 1000 comprises a processor 200, a non-volatile rewritable memory 100 (hereinafter referred to as nonvolatile memory 100), a ROM-type ROM 300 and a random-access memory of the RAM type 400. The read-only memory 300 constitutes a storage medium. recording according to the invention, readable by the processor 200, on which is recorded a computer program according to the invention, this program comprising instructions for executing the steps of a management method according to the invention , the main steps of this method being represented in flow chart form in FIGS. 2 and 3. In a known manner, the processor 200 comprises an input / output bus 500 on which it can receive read or write commands in the non-volatile memory 100. The non-volatile memory 100 can in particular be a FLASH memory or an EEPROM memory.
La mémoire ROM 300 comporte un système d'exploitation 310 comprenant un programme 311, pour gérer la mémoire non volatile 100 et la mémoire vive 400, ci-après dénommé gestionnaire de mémoire 311. The ROM 300 includes an operating system 310 comprising a program 311 for managing the non-volatile memory 100 and the random access memory 400, hereinafter referred to as the memory manager 311.
Dans l'exemple de réalisation décrit ici, la mémoire non volatile 100 est divisée en deux et comporte une première partie 120 constituée par une mémoire de travail standard et une deuxième partie 110, appelée buffer de vieillissement , pour la mise en oeuvre de l'invention. A titre d'exemple, on a référencé 121 une zone de la mémoire de travail 120, démarrant à l'adresse X. Dans l'exemple de réalisation décrit ici, la frontière 113 entre les deux parties de la mémoire non volatile 100 est configurable lors de la personnalisation du dispositif 1000. Conformément à l'invention, le dispositif 1000 comporte dans une mémoire à accès rapide, une table d'usage 410 destinée à mémoriser des informations représentatives des zones de la mémoire de travail 120 fréquemment accédées en lecture ou en écriture, de telles zones étant qualifiées de points chauds . Dans le mode de réalisation décrit ici, la table d'usage 410 est 20 mémorisée dans la mémoire vive 400. Dans le mode de réalisation décrit ici, la table 410 est organisée en lignes, chaque ligne comportant un enregistrement associé à un point chaud avec les champs suivants : • champ d'adresse 411 : adresse du début du point chaud ; • champ longueur 412 : taille du point chaud en octets ; • champ compteur 415 : compteur représentatif de l'activité du point chaud. In the embodiment described here, the non-volatile memory 100 is divided in two and comprises a first portion 120 constituted by a standard working memory and a second part 110, called the aging buffer, for the implementation of the invention. By way of example, reference 121 is made to an area of the working memory 120, starting at the X address. In the embodiment described here, the boundary 113 between the two parts of the non-volatile memory 100 is configurable. during the personalization of the device 1000. In accordance with the invention, the device 1000 comprises in a fast access memory, a usage table 410 for storing information representative of the areas of the working memory 120 frequently accessed for reading or in writing, such areas being called hot spots. In the embodiment described here, the usage table 410 is stored in the random access memory 400. In the embodiment described here, the table 410 is organized in lines, each line having a record associated with a hot point with the following fields: • address field 411: start address of the hotspot; • field length 412: size of the hot spot in bytes; • counter field 415: counter representative of hot spot activity.
25 Dans le mode de réalisation décrit ici, au moins une partie de la table d'usage 410 est recopiée régulièrement dans une table de sauvegarde 410' de la mémoire non volatile 100, de sorte que l'information sur l'activité des points chauds n'est pas perdue lorsque le dispositif 1000 est éteint. 30 Dans l'exemple de réalisation décrit ici, la table de sauvegarde 410' est mémorisée dans une sous-partie 111 du buffer de vieillissement 110 réservée à des informations système. In the embodiment described here, at least a portion of the usage table 410 is copied regularly to a backup table 410 'of the nonvolatile memory 100, so that the information on the activity of the hot spots is not lost when the device 1000 is turned off. In the exemplary embodiment described here, the backup table 410 'is stored in a sub-part 111 of the aging buffer 110 reserved for system information.
Dans le mode de réalisation décrit ici, la table de sauvegarde 410' est de taille inférieure à la table d'usage 410. On appelle Y le nombre d'enregistrements qui peuvent être mémorisés dans la table de sauvegarde 410', ce nombre Y étant, dans le mode de réalisation décrit ici, mémorisé dans un registre 330 de la mémoire morte 300. Dans un autre mode de réalisation, le nombre Y pourrait être mémorisé dans la sous-partie 111 réservée du buffer de vieillissement 110 par exemple. Conformément à l'invention, le buffer de vieillissement 110 vise à préserver les points chauds de la mémoire de travail 120. A cet effet, les accès à ces points chauds sont détournés vers des zones du buffer de vieillissement, ces zones étant déterminées par un mécanisme de répartition d'usage. Dans le mode de réalisation décrit ici, le buffer de vieillissement est constitué, hormis en ce qui concerne la sous-partie 111 réservée aux informations système, par un buffer tournant dans lequel les zones sont choisies cycliquement. Tout autre mécanisme de répartition d'usage peut être utilisé, et notamment celui décrit dans le document US2006/0155917 introduit dans 20 le préambule de la présente demande. A la figure 1, on a représenté 3 enregistrements successifs 112a, 112b, 112c, comportant des données M1, M2, M3 qui auraient été écrites, sans la mise en oeuvre de l'invention, dans la zone 121 de la mémoire de travail 120 démarrant à l'adresse X. 25 Dans le mode de réalisation décrit ici, chaque enregistrement 112a, 112b, 112c comporte : • un champ TLi comportant la taille de l'enregistrement en octets ; • un champ d'adresse, comportant l'adresse X dans la mémoire de travail 120 à partir de laquelle les données Mi auraient dû être 30 enregistrées ; et • un champ comportant ces données Mi proprement dites. Dans le mode de réalisation décrit ici, le processeur 200 est adapté à transmettre au moins une partie de la table de sauvegarde 140' sur réception d'une requête à cet effet, par exemple sur le bus 500. In the embodiment described here, the backup table 410 'is smaller than the usage table 410. Y is the number of records that can be stored in the backup table 410', this number Y being , in the embodiment described here, stored in a register 330 of the read-only memory 300. In another embodiment, the number Y could be stored in the reserved sub-part 111 of the aging buffer 110 for example. According to the invention, the aging buffer 110 aims at preserving the hot spots of the working memory 120. For this purpose, the accesses to these hot spots are diverted to zones of the aging buffer, these zones being determined by a distribution mechanism of use. In the embodiment described here, the aging buffer is constituted, except for subpart 111 reserved for the system information, by a rotating buffer in which the zones are chosen cyclically. Any other usage division mechanism may be used, and in particular that described in document US2006 / 0155917 introduced in the preamble of the present application. FIG. 1 shows 3 successive records 112a, 112b, 112c, including data M1, M2, M3 that would have been written, without the implementation of the invention, in the area 121 of the working memory 120 Starting at the X address. In the embodiment described here, each record 112a, 112b, 112c includes: a field TLi having the size of the record in bytes; An address field, comprising the address X in the working memory 120 from which the data M should have been recorded; and a field containing these data Mi themselves. In the embodiment described here, the processor 200 is adapted to transmit at least a portion of the backup table 140 'on receipt of a request for this purpose, for example on the bus 500.
En référence à la figure 2, nous allons maintenant décrire un procédé de gestion conforme à l'invention dans un mode préféré de réalisation. Nous supposerons que ce procédé est mis en oeuvre par le dispositif 1000 de la figure 1. On suppose que l'on se place à la fin de la personnalisation (étape [10) de ce dispositif, la personnalisation ayant notamment fixé : - la frontière configurable 113 entre la mémoire de travail 120 et le buffer de vieillissement 110 de la mémoire non volatile 100 ; et - la taille des tables d'usage 410 et de sauvegarde 410'. Dans l'exemple décrit ici, la table de sauvegarde 410' de la zone des informations système 111 du buffer de vieillissement 110 est initialisée à vide pendant la personnalisation (c'est-à-dire avec la valeur 0 dans chacun de ses registres). Referring to Figure 2, we will now describe a management method according to the invention in a preferred embodiment. We will assume that this method is implemented by the device 1000 of FIG. 1. It is assumed that one is at the end of the customization (step [10) of this device, the customization having in particular fixed: configurable 113 between the working memory 120 and the aging buffer 110 of the non-volatile memory 100; and the size of the use tables 410 and 410 '. In the example described here, the backup table 410 'of the system information area 111 of the aging buffer 110 is initialized empty during the personalization (that is to say with the value 0 in each of its registers) .
Nous supposerons que le dispositif 1000 est ensuite mis sous tension au cours d'une étape [15. Au cours d'une étape [20, le gestionnaire de mémoire 311, recopie le contenu de la table de sauvegarde 410' dans la table d'usage 410 de la mémoire vive 400. Cette opération ne génère pas de débordement, la table 410 étant de taille supérieure à la table 410'. Nous supposerons que le dispositif 1000 reçoit à l'étape E25 une commande conduisant ce dispositif 1000 à effectuer des opérations de lecture/écriture dans la mémoire non volatile 100. Cette commande peut par exemple être reçue sur le bus 500 d'entrée/sortie du processeur 200. We will assume that device 1000 is then powered on during a step [15. During a step [20, the memory manager 311 copies the contents of the backup table 410 'into the usage table 410 of the random access memory 400. This operation does not generate an overflow, the table 410 being larger than table 410 '. We will assume that the device 1000 receives in step E25 a command leading this device 1000 to perform read / write operations in the nonvolatile memory 100. This command can for example be received on the bus 500 input / output of processor 200.
L'opération de lecture/écriture peut aussi être effectuée à l'initiative du dispositif 1000. Dans le mode de réalisation décrit ici, le programme de gestion selon l'invention comporte une boucle constituée par les étapes E35 à [105 qui va maintenant être décrite, pour traiter chacune des opérations de lecture ou d'écriture dans la mémoire non volatile 100, suite à la commande reçue à l'étape [25. Dans le mode de réalisation décrit ici, cette boucle est mise en oeuvre conjointement par le gestionnaire de mémoire 311 et par le processeur 200. The read / write operation can also be performed on the initiative of the device 1000. In the embodiment described here, the management program according to the invention comprises a loop consisting of the steps E35 to [105 which will now be described, for processing each of the read or write operations in the nonvolatile memory 100, following the command received in step [25. In the embodiment described here, this loop is implemented jointly by the memory manager 311 and the processor 200.
Nous supposerons que cette opération de lecture ou d'écriture est destinée à une zone 121 de la mémoire de travail 120, démarrant à l'adresse X. Au cours d'un test [40, le processeur 200 vérifie si la table d'usage 410 comporte au moins un enregistrement démarrant à cette adresse X, à savoir un enregistrement comportant l'adresse X dans son champ 411. Lorsque le résultat du test E40 est négatif, ce test est suivi par une étape E42 au cours de laquelle on initialise un compteur C avec la valeur 0, pour représenter le fait que la table 410 ne comporte pas encore d'enregistrement couvrant l'adresse X. Puis, au cours d'une étape [45, le gestionnaire de mémoire 311 réalise l'opération de lecture ou d'écriture à l'adresse X de la mémoire de travail 120. We will assume that this read or write operation is for an area 121 of the working memory 120, starting at the X address. During a test [40, the processor 200 checks whether the usage table 410 comprises at least one record starting at this address X, namely a record including the address X in its field 411. When the result of the test E40 is negative, this test is followed by a step E42 in which a user initializes a counter C with the value 0, to represent the fact that the table 410 does not yet include a record covering the address X. Then, during a step [45, the memory manager 311 performs the read operation or write to the X address of the working memory 120.
L'étape E45 est alors suivie par un test E50 au cours de laquelle le gestionnaire de mémoire 311 détermine si l'opération en cours de traitement est une opération de lecture ou une opération d'écriture. S'il s'agit d'une opération de lecture, le test E50 est suivi par une étape de réponse E55 au cours de laquelle le gestionnaire de mémoire 311 retourne les données lues et informe l'entité à l'origine de la commande reçue à l'étape E25 que l'opération de lecture a bien été effectuée. S'il s'agit d'une opération d'écriture, le test E50 est suivi par un test E58 au cours duquel le processeur 200 vérifie si le compteur C égale 0, ce qui signifie qu'un enregistrement doit être créé dans la table X. Si tel est le cas, le test E58 est suivi par un test E60 au cours duquel le processeur 200 détermine s'il existe au moins une ligne libre dans la table 410 de la mémoire vive 400. Si tel est le cas, le résultat du test E60 est positif, sinon il est négatif. Step E45 is then followed by an E50 test in which the memory manager 311 determines whether the operation being processed is a read operation or a write operation. If it is a read operation, the test E50 is followed by a response step E55 during which the memory manager 311 returns the read data and informs the entity at the origin of the command received in step E25 that the read operation has been performed. If it is a write operation, the test E50 is followed by a test E58 during which the processor 200 checks whether the counter C equals 0, which means that a record must be created in the table X. If this is the case, the test E58 is followed by an E60 test during which the processor 200 determines whether there is at least one free line in the table 410 of the RAM 400. If this is the case, the E60 test result is positive, otherwise it is negative.
Lorsque le résultat du test E60 est positif, ce test est suivi par une étape E65 au cours de laquelle le processeur 200 crée un enregistrement dans la table 410, avec les informations suivantes : • champ d'adresse 411 : adresse X de début de la zone 121 ; • champ longueur 412 : taille de la zone 121 ; • champ compteur 415 : 1 L'étape E65 de création d'enregistrement, ou le test E58 lorsque son résultat est négatif, ou le test E60 lorsque son résultat est négatif, est suivi par l'étape E55 de réponse déjà décrite au cours de laquelle le gestionnaire de mémoire 311 informe l'entité à l'origine de la commande reçue à l'étape E25 que l'opération d'écriture a bien été effectuée. Lorsque le résultat du test E40 est positif, ce test est suivi par une étape E67 au cours de laquelle le processeur 200 incrémente d'une unité le champ compteur 415 de l'enregistrement démarrant à l'adresse X. Nous supposerons que l'enregistrement concerné est celui de la L1ème ligne de la table d'usage 410, autrement dit qu'il porte le numéro L. L'étape E67 est suivie par un test E70 au cours duquel le gestionnaire de mémoire 311 vérifie si le numéro L de cet enregistrement est inférieur au nombre Y d'enregistrements qui peuvent être mémorisés dans la table de sauvegarde 410'. When the result of the test E60 is positive, this test is followed by a step E65 during which the processor 200 creates a record in the table 410, with the following information: • address field 411: address X of the beginning of the area 121; • field length 412: size of the area 121; • counter field 415: 1 The step E65 creation of recording, or the test E58 when its result is negative, or the test E60 when its result is negative, is followed by the step E55 of answer already described during the which the memory manager 311 informs the entity causing the command received in step E25 that the write operation has been performed. When the result of the test E40 is positive, this test is followed by a step E67 during which the processor 200 increments by one unit the counter field 415 of the recording starting at the address X. We will assume that the recording concerned is that of the L1th line of the usage table 410, in other words that it bears the number L. The step E67 is followed by a test E70 during which the memory manager 311 checks whether the number L of this recording is less than the number Y of records that can be stored in the backup table 410 '.
Si tel est le cas, le résultat du test E70 est positif, sinon il est négatif. Lorsque le résultat du test E70 est négatif, il est suivi par l'ensemble des étapes E45 à E65 déjà décrites. Lorsque le résultat du test E70 est positif, on considère que l'on est en train de traiter une opération de lecture/écriture sur un point chaud de la mémoire de travail 120 et on met en oeuvre un mécanisme de protection de ce point chaud en épargnant la zone 121 de la mémoire de travail 120 et en allant écrire/lire dans le buffer de vieillissement 110. Si l'opération concernée est une opération d'écriture, le test E70 est suivi, quand son résultat est positif, par un test [85, au cours de laquelle le gestionnaire de mémoire 311 détermine si le buffer de vieillissement 110 est plein. Si tel est le cas, le résultat du test E85 est positif, sinon il est négatif. Si le résultat du test E85 est négatif, le gestionnaire de mémoire 311 effectue, au cours d'une étape E90, l'opération d'écriture qui était destinée à la zone 121 d'adresse X de la mémoire de travail 120, dans le buffer de vieillissement 110, avec un mécanisme de gestion d'usure. Dans le mode de réalisation décrit ici, il crée pour cela un enregistrement 112i au début de la zone libre du buffer de vieillissement 110 avec : • un champ TL comportant la longueur de l'enregistrement ; • un champ d'adresse comportant l'adresse X de la zone 121 ; et • un champ comportant ces données proprement dites. L'étape E90 est suivie par l'étape E55 de réponse déjà décrite au cours de laquelle le gestionnaire de mémoire 311 informe l'entité à l'origine de la commande reçue à l'étape E25 que l'opération d'écriture a bien été effectuée. Dans le mode de réalisation décrit ici, lorsque le buffer de vieillissement 110 est plein (résultat du test E85 positif), on vide ce buffer 110, après avoir pris soin de recopier dans la mémoire de travail 120 (ou en RAM), le dernier des contenus M1, M2, M3 associé à chacun des enregistrements de la table 410. A cet effet, au cours d'une étape [100, le gestionnaire de mémoire 311 parcourt la table 410, et recopie, pour chaque enregistrement de cette table, le dernier contenu associé à cet enregistrement dans la mémoire de travail 120. Ainsi, dans l'exemple de la figure 1, lorsqu'en parcourant la table 410, le gestionnaire de mémoire 311 identifie l'enregistrement {X, 2, C}, il recherche dans le buffer de vieillissement 110 le dernier contenu correspondant à l'adresse X, obtient M3, et recopie ce contenu M3, d'une longueur de TL3 octets, à l'adresse X de la mémoire de travail 120, c'est- à-dire dans la zone 121 à laquelle ce contenu était destiné. Le gestionnaire de mémoire efface ensuite le contenu du buffer de vieillissement, au cours d'une étape [105, à l'exception de la zone 111 réservée aux informations système. If this is the case, the result of the E70 test is positive, otherwise it is negative. When the result of the test E70 is negative, it is followed by all the steps E45 to E65 already described. When the result of the test E70 is positive, it is considered that a read / write operation is being processed on a hot point of the working memory 120 and a mechanism for protecting this hot point is implemented. saving the area 121 of the working memory 120 and going to write / read in the aging buffer 110. If the operation concerned is a write operation, the test E70 is followed, when its result is positive, by a test [85, in which the memory manager 311 determines whether the aging buffer 110 is full. If this is the case, the result of the E85 test is positive, otherwise it is negative. If the result of the test E85 is negative, the memory manager 311 performs, during a step E90, the write operation that was intended for the zone 121 of address X of the working memory 120, in the aging buffer 110, with a wear management mechanism. In the embodiment described here, it creates for this a record 112i at the beginning of the free zone of the aging buffer 110 with: a field TL including the length of the record; An address field comprising the address X of the zone 121; and • a field containing these data themselves. Step E90 is followed by the already described step E55 of the response during which the memory manager 311 informs the entity causing the command received in step E25 that the write operation has been successful. been carried out. In the embodiment described here, when the aging buffer 110 is full (result of the positive test E85), this buffer 110 is empty, after having taken care of copying into the working memory 120 (or in RAM), the last one. contents M1, M2, M3 associated with each of the records of the table 410. For this purpose, during a step [100, the memory manager 311 traverses the table 410, and copies, for each record of this table, the last content associated with this record in the working memory 120. Thus, in the example of FIG. 1, when browsing the table 410, the memory manager 311 identifies the record {X, 2, C}, it looks in the aging buffer 110 for the last content corresponding to the address X, gets M3, and copies this content M3, of a length of TL3 bytes, to the address X of the working memory 120, that is ie in the area 121 to which this content was intended. The memory manager then erases the contents of the aging buffer during a step [105, with the exception of the area 111 reserved for the system information.
Cette étape [105 est suivie par l'étape E90 déjà décrite dans laquelle le gestionnaire de mémoire créé un enregistrement 112 au début de la zone libre du buffer de vieillissement pour l'opération d'écriture X associée à la commande reçue à l'étape [25, puis rend compte de cette opération (étape E55) à l'entité à l'origine de cette commande. This step [105 is followed by the step E90 already described in which the memory manager creates a record 112 at the beginning of the free zone of the aging buffer for the write operation X associated with the command received at the step [25, then reports this operation (step E55) to the entity at the origin of this command.
Si au cours du test E70 le gestionnaire de mémoire détermine que l'opération concernée est une opération de lecture, ce test E70 est suivi, quand son résultat est positif, par une étape [75, au cours de laquelle le gestionnaire de mémoire 311 lit, dans le buffer de vieillissement 110, le dernier contenu Mi associé à cette adresse X. If during the test E70 the memory manager determines that the operation concerned is a read operation, this test E70 is followed, when its result is positive, by a step [75, during which the memory manager 311 reads in the aging buffer 110, the last content Mi associated with this address X.
Dans l'exemple de la figure 1, le dernier contenu correspondant à l'adresse X, est le contenu M3. In the example of FIG. 1, the last content corresponding to the address X, is the content M3.
Ce contenu est retourné à l'entité à l'origine de la commande reçue à l'étape [25, au cours de l'étape E55 de réponse déjà décrite. Dans tous les cas, l'étape E55 de réponse est suivie par l'étape E25 d'attente d'une nouvelle commande à traiter. This content is returned to the entity at the origin of the command received in step [25, during the step E55 already described. In any case, the response step E55 is followed by the waiting step E25 of a new command to be processed.
Dans le mode de réalisation décrit ici, le procédé de gestion selon l'invention sauvegarde régulièrement les points chauds, à savoir les Y premiers enregistrements de la table d'usage 410, dans la table de sauvegarde 410'. Dans l'exemple de réalisation décrit, cette sauvegarde est réalisée au cours d'un processus de sauvegarde PS, mis en oeuvre à chaque fois qu'une commande d'écriture est reçue à l'étape E25 et qui va maintenant être décrit en référence à la figure 3. Dans cet exemple de réalisation, la zone 111 des informations systèmes comporte quatre registres, CPT_PWON, CPT_MAJ, CPT_W, 15 SEUIL_W, qui mémorisent respectivement : • le nombre de mises sous tension du dispositif 1000 ; • le nombre de sauvegarde déjà effectuées' ; • le nombre d'opérations d'écritures depuis la dernière sauvegarde ; • et le nombre d'opérations d'écritures devant être effectuées entre 20 deux sauvegardes consécutives. Lors de la personnalisation, les trois premiers compteurs CPT_PWON, CPT_MAJ, et CPT_W sont initialisés à 0 et le registre SEUIL_W est initialisé avec une constante, par exemple choisie entre 1000 et 100.000. 25 Le compteur CPT_PWON de mises sous tension est incrémenté à chaque mise sous tension (étape [15). Le processus de sauvegarde PS comporte une première étape E300 au cours de laquelle le processeur 200 incrémente le compteur CPT W d'écritures. 30 Dans le mode de réalisation décrit ici, le processus de sauvegarde comporte une étape E305 au cours de laquelle, le processeur 200 ajuste éventuellement le nombre SEUIL_W d'opérations d'écritures devant être effectuées entre deux sauvegardes consécutives, en fonction de la fréquence d'écritures dans la mémoire non volatile 100 et de la 35 fréquence de mises sous tension du dispositif 1000. In the embodiment described here, the management method according to the invention regularly saves hot spots, namely the first Y records of the usage table 410, in the backup table 410 '. In the embodiment described, this backup is performed during a PS backup process, implemented each time a write command is received in step E25 and will now be described with reference In this exemplary embodiment, the area 111 of the system information comprises four registers, CPT_PWON, CPT_MAJ, CPT_W, 15 SEUIL_W, which store respectively: • the number of power-ups of the device 1000; • the number of backups already performed '; • the number of writes since the last backup; And the number of write operations to be performed between two consecutive backups. During the personalization, the first three counters CPT_PWON, CPT_MAJ, and CPT_W are initialized to 0 and the register SEUIL_W is initialized with a constant, for example chosen between 1000 and 100,000. The power-up counter CPT_PWON is incremented each time power is turned on (step [15]). The PS backup process includes a first step E300 in which the processor 200 increments the write counter CPT W. In the embodiment described here, the backup process comprises a step E305 in which, the processor 200 optionally adjusts the number SEUIL_W of write operations to be performed between two consecutive backups, depending on the frequency of writes to the non-volatile memory 100 and the power-on frequency of the device 1000.
L'homme du métier comprendra que ces fréquences peuvent être obtenues à partir du compteur de mises sous tension CPT_PWON, du nombre total d'écritures (cumul des compteurs CPT_W depuis la personnalisation) et du temps écoulé depuis la fin de cette personnalisation. Par exemple, si le dispositif 1000 est très fréquemment mis sous tension, il peut être préférable de diminuer le nombre SEUIL_W. Puis, au cours d'un test E310, le processeur 200 vérifie si le nombre d'écritures CPT_W depuis la dernière sauvegarde est supérieur à ce seuil SEUIL_W. Si tel est le cas le résultat du test E310 est positif et ce test est suivi par une étape E315, au cours de laquelle le processeur 200 tri la table d'usage 410 par ordre décroissant des compteurs. Cette étape permet de mettre à jour les points les plus chauds 15 dans les Y premiers enregistrements de la table d'usage 410. Puis au cours d'une étape E320, ces Y premiers enregistrements, sont sauvegardés dans la table de sauvegarde 410'. Le compteur CPT_W est ensuite réinitialisé au cours d'une étape E325. Those skilled in the art will understand that these frequencies can be obtained from the power-up counter CPT_PWON, the total number of writes (cumulative counters CPT_W since customization) and the time elapsed since the end of this personalization. For example, if the device 1000 is very frequently turned on, it may be preferable to reduce the number SEUIL_W. Then, during an E310 test, the processor 200 checks whether the number of writes CPT_W since the last backup is greater than this threshold SEUIL_W. If this is the case the result of the test E310 is positive and this test is followed by a step E315, during which the processor 200 sorts the usage table 410 in descending order of the counters. This step makes it possible to update the hottest points 15 in the first Y records of the usage table 410. Then, during a step E320, these first Y records are saved in the backup table 410 '. The counter CPT_W is then reset during a step E325.
Claims (14)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0855868A FR2935501B1 (en) | 2008-09-02 | 2008-09-02 | METHOD AND DEVICE FOR MANAGING ACCESS TO A REINSCRIPTIBLE NONVOLATILE MEMORY. |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0855868A FR2935501B1 (en) | 2008-09-02 | 2008-09-02 | METHOD AND DEVICE FOR MANAGING ACCESS TO A REINSCRIPTIBLE NONVOLATILE MEMORY. |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2935501A1 true FR2935501A1 (en) | 2010-03-05 |
FR2935501B1 FR2935501B1 (en) | 2010-12-10 |
Family
ID=40404232
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR0855868A Expired - Fee Related FR2935501B1 (en) | 2008-09-02 | 2008-09-02 | METHOD AND DEVICE FOR MANAGING ACCESS TO A REINSCRIPTIBLE NONVOLATILE MEMORY. |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR2935501B1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5485595A (en) * | 1993-03-26 | 1996-01-16 | Cirrus Logic, Inc. | Flash memory mass storage architecture incorporating wear leveling technique without using cam cells |
US20060155917A1 (en) * | 2005-01-13 | 2006-07-13 | Stmicroelectronics S.R.L. | Optimizing write/erase operations in memory devices |
US7139863B1 (en) * | 2003-09-26 | 2006-11-21 | Storage Technology Corporation | Method and system for improving usable life of memory devices using vector processing |
EP1936632A1 (en) * | 2006-12-18 | 2008-06-25 | Samsung Electronics Co., Ltd | Method and apparatus for detecting static data area, wear-leveling, and merging data units in nonvolatile data storage device |
-
2008
- 2008-09-02 FR FR0855868A patent/FR2935501B1/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5485595A (en) * | 1993-03-26 | 1996-01-16 | Cirrus Logic, Inc. | Flash memory mass storage architecture incorporating wear leveling technique without using cam cells |
US7139863B1 (en) * | 2003-09-26 | 2006-11-21 | Storage Technology Corporation | Method and system for improving usable life of memory devices using vector processing |
US20060155917A1 (en) * | 2005-01-13 | 2006-07-13 | Stmicroelectronics S.R.L. | Optimizing write/erase operations in memory devices |
EP1936632A1 (en) * | 2006-12-18 | 2008-06-25 | Samsung Electronics Co., Ltd | Method and apparatus for detecting static data area, wear-leveling, and merging data units in nonvolatile data storage device |
Non-Patent Citations (1)
Title |
---|
YUAN-HAO CHANG ET AL: "Endurance Enhancement of Flash-Memory Storage, Systems: An Efficient Static Wear Leveling Design", 1 June 2007, DESIGN AUTOMATION CONFERENCE, 2007. DAC '07. 44TH ACM/IEEE, IEEE, PI, PAGE(S) 212 - 217, ISBN: 978-1-59593-627-1, XP031183334 * |
Also Published As
Publication number | Publication date |
---|---|
FR2935501B1 (en) | 2010-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2786317B1 (en) | Writing data in a non-volatile memory of a smart card | |
CN103218224B (en) | A kind of method improving memory space utilization rate and terminal | |
FR2844613A1 (en) | Rapid data transfer system to memory includes data compression and decompression engine controlling access to memory bank | |
FR3026512A1 (en) | ||
EP3293637A1 (en) | Index management in a flash memory | |
FR2807532A1 (en) | DEVICE AND METHOD FOR STORING LOG DATA IN A COMMUNICATION NETWORK | |
EP2724237A1 (en) | Method of managing the endurance of non-volatile memories | |
FR2880444A1 (en) | DATA STORAGE DEVICE | |
FR2820874A1 (en) | METHOD FOR THE RANDOM AND QUICK ACCESS MANAGEMENT OF A DRAM MEMORY | |
FR2935501A1 (en) | Reinscribable non-volatile memory e.g. FLASH memory, access operation management method for e.g. subscriber identity module card, involves storing usage table in RAM or quick access storage | |
EP2413233B1 (en) | Android phone with an application for content display | |
EP1902369B1 (en) | Method for managing a non-volatile memory in a smart card | |
WO2019115929A1 (en) | Method for managing the file system of a computer terminal | |
WO2016156702A1 (en) | Improvement in sending of multimedia streams | |
EP4435615B1 (en) | Method for managing a cache memory | |
EP4113297A1 (en) | Method for managing work in a computer system and associated system | |
FR3074317B1 (en) | METHOD FOR ACCESSING A FLASH TYPE NON-VOLATILE MEMORY ZONE OF A SECURE ELEMENT, SUCH AS A CHIP CARD | |
FR2799046A1 (en) | Methods for random writing of sector of size blow that of erasable block in memory | |
WO2007104649A1 (en) | Method of operating and managing unrestricted memory in a rewritable non-volatile memory, and associated memory | |
FR3145627A1 (en) | Process for managing data affected by conflicting retention and updating obligations | |
FR2853742A1 (en) | CENTRALIZED INFORMATION BACKUP SYSTEM | |
FR3125897A1 (en) | Method for optimizing operation of a secure element | |
FR2935502A1 (en) | Life duration optimizing method for e.g. electrically EPROM, in banking transaction, involves writing updated value of data in one pair of two register pairs in cells of memory addressable independently | |
FR2803471A1 (en) | Television receiver with interactive service application, correlates usage criteria of service data and storage criteria to determine condition of storage of service data | |
EP2383746A1 (en) | Method for writing and reading in an atomicity memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GC | Lien (pledge) constituted |
Effective date: 20140115 |
|
PLFP | Fee payment |
Year of fee payment: 9 |
|
PLFP | Fee payment |
Year of fee payment: 10 |
|
PLFP | Fee payment |
Year of fee payment: 11 |
|
PLFP | Fee payment |
Year of fee payment: 12 |
|
ST | Notification of lapse |
Effective date: 20210506 |