Brevet FR2650454A1 — publié le 19910201

On connait aujourd'hui de nombreux types de supports mémoires et parmi ceux les plus utilisés se trouvent les mémoires magnétiques et les mémoires à semiconducrellrs. Comme mémoires à semiconducteurs, on connait les mémoires volatiles et les mémoires non volatiles. Les mémoires vives à accès aléatoire RI, mémoires volatiles, présentent la caractéristique de perdre les informations lors d'une coupure de l'alimentation. Il nten est pas de même des mémoires non volatiles, les mémoires mortes à lecture senle, non programmables ROM, programmables PROM ou reprogrammables REPROM. Le contenu, non modifiable', des mémoires ROM et PROM y est inscrit, ou écrit, respectivement par le fabricant et l'utilisateur. Le contenu des mémoires REPROM est, certes, destiné à être lu mais il peut donc aussi être modifié au cours d'un certain nombre de cycles d'écriture. Comme REPROM, il existe les EPROM, effaçables par exemple par un faisceau d'FV, et les EAROM, ou EEPROM, effaçables électriquement par application d'un champ électrique. Les mémoires EEPROM sont souvent utilisées pour stocker des informations binaires de comptage, par exemple de comptage du temps de fonctionnement d'un équipement. La durée de vie de ces mémoires est limitée dans le temps. Elle est également limitée à un nombre maximal de cycles dteffacement-écriture par bit dont la cadence peut être telle que ce sont eux qui limitent la durée de vie. Ainsi, une mémoire de compteur, dont la durée de vie maximale serait de 100 ans mais qui ne peut supporter plus de 10 000 cycles d1effacement-écriture par bit, verrait sa durée de vie réduite à 10 000 minutes si le compteur était incrémenté toutes les minutes. Le problème de la durée de vie, en l'occurrence des mémoires de comptage, se pose du fait qu'à chaque changemen; d'état du compteur, état défini par une série de bits représentatifs de chiffres d'unités, de dizaines, de centaines,... dans le système décimal, le bit de poids le plus faible subit une transition, O à I ou 1 à O. En d'autres termes, à chaque changement d'état du compteur, il s'effectue systématiquement un cycle d'effacement-écriture au moins sur le bit de poids le plus faible, ce qui est naturellement préjudiciable à la durée de vie de la mémoire. Ceci est dû à la représentation des nombres décimaux dans le système binaire classique. La demanderesse a donc recherché un procéde de codage des nombres décimaux dans un système binaire minimisant les transitions sur les bits du système binaire au cours de l'évolution de ces nombres décimaux pour augmenter la durée de vie des mémoires qui, finalement, dépend du nombre de ces transitions. Naturellement, bien que le problème, que la demanderesse a cherché à résoudre, se soit posé à propos de mémoires EEPROM de comptage, elle n'entend pas limiter son invention à cette application particulière. La présente invention concerne un procédé de codage notamment de nombres décimaux dans un système binaire pour stockage sur un support mémoire, caractérisé par le fait que le chiffre des unités des nombres décimaux est codé sur une série d'au moins cinq bits d'unité dont aucun ne subit deux transitions successives lors de deux incrémentations successives d'une unité dudit chiffre des unités. De préférence, dans le procédé de l'invention, lors de l'incrémentation d'une unité du chiffre de-s unités un seul bit subit une transition. De préférence encore, lors de la suite de dix incrémentations successives d'une unité du chiffre des unités, chaque bit subit au plus deux transitions. Dans le système décimal, qui est un système à base 10, le chiffre des unités d'un nombre est donc codé sur au moins cinq bits d'unité. La demanderesse entend généraliser son invention au codage du chiffre des unités d'nn nombre écrit dans un système à base 2n et revendiquer ainsi un procédé de codage dans un système binaire de nombres écrit,, dans un système à base 2n pour stockage sur un support mémoire, avec les caractéristiques suivantes, considérées isolément ou en combinaison - on code le chiffre des unités des nombres sur une série d'au moins n bits d'unité dont aucun ne subit deux transitions successives lors de deux incrémentations successives d'une unité dudit chiffre des unités, - lors de l'incrémentation d'une unité du chiffre des unités, un seul bit subit une transition, - lors de la suite de 2n incrémentations successives d'une unité du chiffre des unités, chaque bit subit au plus deux transitions. Gracie au procéde de l'invention, les bits d'unité, considérés dans leur ensemble, subissent des transitions équilibrées, ce qui est tout-à-fait favorable à la longévité des supports mémoires. Conformément à une mise en oeuvre particulière du procédé de codage de l'invention, les 2n valeurs successives, incrémentées d'une unité l'une par rapport à la précé denses du chiffre des unités d'un nombre du système à base 2n, s'écrivent ! n ' n-l | n-2 i - - 2 1 I 0 o o o 'o o I i i ' l I i I I I, 1.1 I n-l | 1 1 1 -- 1 O n -l 1 1 -- 1 1 nsl O 1 1 -- 1 1 ; 1 I I I 2n-2 1 0 O O ~~ 1 10 I i t O O O -'- 1 1 2n-1 | O O O -- O 1 P représentant le rang des bits d'unité et R représentant le rang des valeurs du chiffre d'unité. Pour n = 5, les dix valeurs successives s'écrivent 0 0 0 0 0 0 1 1 0 0 0 0 2 1 1 0 0 0 3 1 1 1 0 0 4 1 1 1 1 0 5 1 1 1 1 1 6 0 1 1 1 1 7 0 0 1 1 1 8 0 0 0 1 1 9 0 0 0 0 1 Le procédé de l'invention 5?applique bien au codage de données de comptage de temps, par exemple des nombres de minutes évoluant de O à 59. Dans ce cas, codant le chiffre des unités sur cinq bits, au lieu de quatre bits dans le système binaire classique, et 5, dans le système binaire classique, pouvant ne s'écrire qe sur trois bits, on maintient le codage dn chiffre des dizaines sur les bits du système binaire classique, en l'occurrence les trois bits de rang les plus faibles. Il est remarquable qutayant, avec le procédé de l'invention, lisse le nombre des transitions sur ltensemble des bits d'unité, on peut multiplier la durée de vie d'un compteur, si l'invention s'applique au stockage de données de comptage, par un facteur égal au rapport entre la base d système des nombres mémorisés et le nombre de transitions que subit chacun des bits d'unité du système de codage. Revendications 1. Procédé de codage dans un système binaire de nombres écrits dans un système à base 2n pour stockage sur un support mémoire, caractérisé par le fait qu'on code le chiffre des unités des nombres sur une série d'an moins n bits d'unité dont aucun ne snoit deu transitions successives lors de den incrémentations successives d'une unité dudit chiffre des unités. 2. Procédé de codage selon la revendication 1, dans lequel, lors de l'incrementation d'une unité du chiffre des unités, un seul bit subit une transition. 3. Procédé de codage selon 'une des revendications 1 et 2, dans lequel, lors de la suite de 2n incrémentations successives d'une unité du chiffre des unités, chaque bit subit au plus deux transitions. 4. Procédé de codage selon l'une des revendications 1 à 3, dans lequel les 2n valeurs successives, incrémentées d'une unité l'une par rapport à la précédente, du chiffre des unités d'un nombre du système à base 2n, s'écrivent n n-l n-2li. 1 0 0 0 0 [ 0 0 1 1 0 0 0 0 2 1 I '0 0 0' 2 1 1 O ~~ O O 3 1 1 1 -- O O f f 1 e e. e f n-l 1 1 1 -- 1 O n 1 1 1 i 1 1 n+l O 1 1 11 1 1 e t t f e E e r f 211-2 O O 0 -- 1 1 ~ 2n-1 O .0 O -- O 1 P représentant le rang des bits d'unité et R représentant le rang des valeurs du chiffre d'unité. 5. Procédé de codage selon l'une des revendications 1 à X, dans lequel les npmbres à coder sont des nombres deci- mau et on code leur chiffre des dizaines sur les bits du système binaire classique. 6. Procédé de codage selon l'une des revendications 1 à g, dans lequel les nombres à coder sont des données de comptage. Procédé de codage selon l'une des revendications 1 à 6, dans lequel on code les nombres dans une mémoire à semiconducteurs non volatile,