Brevet FR2830667A1 — publié le 20030411

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