Brevet FR3039922A1 — publié le 20170210

Procédé d'écriture dans une mémoire du type EEPROM et dispositif de mémoire correspondant Des modes de mises en oeuvre et de réalisation de l'invention concernent les mémoires mortes électriquement programmables et effaçables dites mémoires EEPROM, et plus particulièrement l'opération d'écriture d'un mot numérique dans un emplacement mémoire d'une telle mémoire. Actuellement on vise à réaliser des mémoires EEPROM ayant des densités de plus en plus élevées c'est-à-dire des capacités de mémoire de plus en plus importantes, par exemple plusieurs mégabits. Mais ceci conduit à une augmentation du temps de transfert des données. En lecture, le temps de transfert des données est déterminé par le transfert des données lues sur le bus. En écriture, le temps de transfert des données est déterminé par le transfert sur le bus des données à écrire ainsi que par la durée de l'opération d' écriture. Il existe par conséquent un besoin de réduction de ce temps de transfert des données. Une solution consiste à augmenter la fréquence du bus. Cependant, lorsque l'on utilise un bus du type I2C, c'est-à-dire à drain ouvert, la fréquence maximale est limitée par le compromis vitesse/consommation. En pratique, une valeur de 1 MHz est actuellement une valeur maximale pour ce type de bus. Pour un bus du type SPI, il n'y a pas vraiment de limite pour la valeur maximale de la fréquence, mais actuellement une fréquence de 20 MHz est la fréquence maximale utilisée dans les applications requérant des circuits intégrés alimentés avec une alimentation de 5 V. Généralement, une opération ou cycle d'écriture dans une mémoire EEPROM requiert deux étapes, à savoir une étape d'effacement suivie par une étape de programmation. 3039922 2 Dans l'étape d'effacement, une impulsion d'effacement efface globalement (met à zéro) toutes les cellules-mémoires des octets à écrire. Dans l'étape de programmation, une impulsion de 5 programmation programme sélectivement (met à 1) les cellules mémoire qui doivent stocker un 1 logique. Chacune de ces impulsions est de l'ordre d'une milliseconde et cette durée résulte d'un compromis entre les contraintes d'un procédé de fabrication capable de fournir de la haute tension (par exemple 15 10 ou 16 V), l'endurance de la mémoire (par exemple 4 millions de cycles) et le taux de claquage de l'oxyde de grille. Augmenter la tension de programmation de 16 V à 17 V pourrait permettre de gagner typiquement un rapport 10 sur la durée de l'opération d'écriture mais au prix de contraintes technologiques et 15 d'une endurance réduite éventuellement d'une décade et d'un taux de claquage d'oxydes de grilles accru de plusieurs décades. En outre, un tel mode d'écriture rapide doit être activé par une commande («opcode ») dédiée et pour un nombre limité de fois (en usine par exemple). 20 Lorsqu'une quantité importante de données doit être écrite sur N pages, une solution peut consister à effacer simultanément ces N pages en un seul cycle puis programmer séquentiellement toutes les N pages une par une. Cependant, un tel mode de programmation requiert là encore une commande dédiée et l'utilisateur doit s'assurer que les 25 pages concernées sont dans un statut « effacé » avant de recevoir une telle commande car sinon les nouvelles données seront combinées avec les anciennes données à travers une fonction logique OU. Selon un mode de mise en oeuvre de réalisation il est proposé une autre solution pour réduire la durée et par conséquent la 30 consommation d'un cycle ou opération d'écriture dans une mémoire EEPROM et/ou pour améliorer l'endurance de la mémoire. Selon un mode de mise en oeuvre de réalisation il est proposé d'accélérer automatiquement l'opération d'écriture et/ou d'améliorer l'endurance de la mémoire, en supprimant sur la base des valeurs des 3039922 3 données à écrire et/ou sur la base des valeurs des données présentes dans la mémoire, l'étape d'effacement et/ou l'étape de programmation, et ce, tout en utilisant éventuellement une commande classique d'écriture et en évitant toute sur-programmation, accidentelle ou 5 volontaire, des cellules-mémoires du plan mémoire. Une suppression d'une étape de programmation (ou une inhibition des moyens de programmation) s'entend ici et dans la suite du texte comme une absence de génération de l'impulsion de programmation (en d' autre termes il n'y a pas d' étape de 10 programmation) ce qui se traduit par une accélération du cycle d'écriture et une amélioration de l'endurance de la mémoire) ou bien comme une génération de l'impulsion de programmation mais sans sélection des cellules-mémoire concernées ce qui se traduit par une amélioration de l'endurance de la mémoire mais sans accélération du 15 cycle d'écriture si l'étape d'effacement a subsisté. Ainsi selon un aspect il est proposé un procédé d'écriture d'au moins un mot numérique dans au moins un emplacement mémoire d'un plan mémoire d'un dispositif de mémoire morte électriquement programmable et effaçable (EEPROM), le procédé comprenant un 20 mode particulier d'écriture mis en oeuvre au sein du dispositif de mémoire et comportant une suppression éventuelle de l'étape d'effacement et/ou de l'étape de programmation de l'opération ou cycle d'écriture en fonction du contenu antérieur de l'emplacement mémoire et/ou du nouveau contenu de l'emplacement mémoire incluant 25 le mot numérique à écrire. En effet dans certains cas l'opération d'écriture peut comporter uniquement une étape d'effacement ou uniquement une étape de programmation ou encore ni étape d'effacement ni étape de programmation, ce qui permet alors d'accélérer le cycle d'écriture et 30 réduire de ce fait sa consommation et/ou d'améliorer l'endurance de la mémoire. Ainsi, si par exemple le mot à écrire ne contient que des « 0 », alors seule une étape d'effacement est nécessaire. 3039922 4 Si en plus le contenu antérieur de l'emplacement mémoire dans lequel on ne souhaite écrire que des « 0 », contenait déjà uniquement des « 0 », alors l'étape d'effacement peut également être supprimée. De même, lorsque par exemple le mot OF (en notation 5 hexadécimale) doit être remplacé par le mot 1F, ou bien si le contenu antérieur de l'emplacement mémoire dans lequel on souhaite écrire un mot numérique contient déjà uniquement des « 0 », alors l'étape d'effacement est inutile. Plus généralement, selon un mode de mise en oeuvre, ce mode 10 particulier d' écriture comprend une suppression de l'étape d'effacement si ledit nouveau contenu de l'emplacement mémoire est bit à bit supérieur ou égal audit contenu antérieur de cet emplacement mémoire, le contenu antérieur étant supposé être sans erreur. Le contenu antérieur peut être supposé sans erreur (c'est-à-dire 15 aucun bit de ce contenu antérieur n'est considéré comme non fiable) par exemple compte tenu des conditions d'utilisations de la mémoire ou bien par ce que ce contenu antérieur a été vérifié et éventuellement corrigé par un mécanisme de code correcteur d'erreur si la mémoire en est équipée. 20 Si ledit nouveau contenu de l'emplacement mémoire est bit à bit égal audit contenu antérieur de cet emplacement mémoire, alors ce mode particulier d'écriture comprend également une suppression de l'étape de programmation. En outre si ledit nouveau contenu de l'emplacement mémoire 25 est bit à bit supérieur ou égal audit contenu antérieur et qu'au moins un bit du nouveau contenu est supérieur au bit correspondant du contenu antérieur supposé être sans erreur, alors le mode particulier comprend uniquement une programmation de chaque bit du nouveau contenu supérieur au bit correspondant du contenu antérieur. 30 On évite ainsi tout risque de sur-programmation accidentelle ou volontaire de ou des cellules-mémoire correspondantes. Une façon particulièrement simple de mettre en oeuvre une telle programmation sélective est de commander la programmation de chaque bit pour lequel le résultat d'une fonction logique ET appliquée 3039922 5 à la nouvelle valeur de ce bit et à l'opposée de l'ancienne valeur de ce bit, est égal à 1. Ce mode particulier d'écriture est mis en oeuvre de façon interne au dispositif de mémoire, c'est-à-dire que c'est le dispositif de 5 mémoire lui-même qui détecte les valeurs des données à écrire et/ou les valeurs des données présentes dans la mémoire, et qui décide pour le cycle d'écriture considéré, sur la base des valeurs des données à écrire et/ou sur la base des valeurs des données présentes dans la mémoire, de supprimer l'une au moins des étapes d'effacement ou de 10 programmation ou bien de conserver la succession classique étape d'effacement/étape de programmation. Cette décision peut être facilement mise en oeuvre par une simple logique combinatoire. En d'autres termes ce n'est pas un élément externe au dispositif 15 de mémoire, par exemple le microcontrôleur qui délivre la commande d'écriture, qui va décider de commander ces suppressions éventuelles d'étapes au vu par exemple d'une analyse, faite par cet élément externe, des valeurs des données à écrire et/ou des valeurs des données présentes dans la mémoire. 20 Ainsi lorsque ce mode particulier d'écriture est implémenté et activé dans la mémoire, l'utilisateur de la mémoire n'a pas la main sur une prise de décision d'accélérer un ou plusieurs cycles d'écriture, ce qui permet en particulier comme indiqué ci-avant d'éviter toute sur-programmation, accidentelle ou volontaire, des cellules-mémoires du 25 plan mémoire. Tout ceci est particulièrement intéressant en particulier pour les mémoires EEPROM de forte capacité. De telles mémoires utilisent généralement un mécanisme de code correcteur d'erreur (ECC : « Error Code Correction »). 30 Le mode particulier d'écriture mentionné ci-avant peut s'appliquer sur une mémoire équipée d'un mécanisme de code correcteur d'erreur, quel que soit ce code. Cela étant, lorsque le code correcteur d'erreur est basé sur un code de Hamming, une propriété de ce dernier permet aisément de 3039922 6 mettre en oeuvre une accélération éventuelle des cycles d'écritures et/ou une amélioration de l'endurance au sein du dispositif de mémoire. Cette propriété est celle selon laquelle lorsque tous les bits des 5 octets d'un mot numérique regroupant n octets sont égaux à zéro, les bits de contrôle (également appelés parfois « bits de parité » ou « bits de correction d'erreur ») associés à ces octets sont également tous égaux à zéro. L'homme du métier connaît les caractéristiques et les 10 propriétés des codes de Hamming. On rappelle néanmoins ici à toutes fins utiles qu'un code de Hamming est un code correcteur linéaire, dit « parfait » ( c'est-à-dire que pour une longueur de code donnée il n'existe pas d'autre code plus compact ayant la même capacité de correction) et de distance (distance de Hamming) minimale égale à 15 trois. Ainsi selon un autre aspect il est proposé un procédé d'écriture d'au moins un mot numérique dans au moins un emplacement mémoire d'un plan mémoire d'un dispositif de mémoire morte électriquement programmable et effaçable comportant un mécanisme de code 20 correcteur d'erreur du type code de Hamming, ledit mot numérique comportant au moins un octet de données et ledit emplacement mémoire étant destiné à contenir un nombre d'octets de données au moins égal au nombre d'octets de données du mot numérique ainsi que des bits de contrôle. 25 Classiquement le plan mémoire du dispositif de mémoire comporte des cellules-mémoires connectées à des lignes de sélection de rangées et à des lignes de bits. Les lignes de bits sont regroupées en colonnes comprenant par exemple M lignes de bits. 30 Les cellules mémoires connectées à une même ligne de sélection forment une ligne de mots et un emplacement mémoire ou mot-mémoire comprend par exemple les cellules mémoires d'une même ligne de mots connectées au M lignes de bits d'une colonne. Un tel 3039922 7 emplacement mémoire permet par exemple de stocker un mot numérique de 32 bits de données (4 octets) et 6 bits de contrôle. Le procédé selon une variante de cet aspect comprend un premier mode d'écriture mis en oeuvre au sein du dispositif de 5 mémoire et comportant en réponse à une commande d'écriture dudit mot numérique, une lecture du contenu courant de l'emplacement mémoire, un calcul de nouveaux bits de contrôle associés aux données du nouveau contenu dudit emplacement mémoire, et 10 une écriture du nouveau contenu de l'emplacement mémoire incluant ledit mot numérique et les nouveaux bits de contrôle par une étape de programmation sans étape d'effacement préalable si tous les bits dudit contenu courant lu sont à 0, ou par une succession classique d'une étape d'effacement et d'une étape de programmation si au moins 15 un bit dudit contenu courant lu est à 1. Ainsi la simple lecture des bits du contenu courant permet de détecter si le contenu courant de l'emplacement mémoire, c'est-à-dire les données présentes dans cet emplacement mémoire avant ladite écriture, est uniquement constitué de bits égaux à 0. 20 Et, si le contenu courant de l'emplacement mémoire est uniquement constitué de bits égaux à 0, la commande d'écriture du mot numérique va déclencher l'écriture du nouveau contenu incluant le mot numérique en utilisant seulement une étape de programmation sans étape d'effacement préalable ce qui permet de réduire la durée de 25 l'opération ou cycle d'écriture. Ceci n'aurait pas été aisément possible, voire impossible, si l'on avait utilisé un code correcteur d'erreur (différent du code de Hamming) pour lequel des bits de données tous égaux à 0 conduisent à des bits de contrôle non tous égaux à 0. En effet dans un tel cas il 30 faudrait que les nouveaux bits de contrôle du nouveau contenu de l'emplacement mémoire aient des « 1 » situés aux mêmes endroits que ceux des bits de contrôle du contenu antérieur, puisque une programmation n'est capable que de changer un « 0 » en « 1 ». 3039922 8 Il convient de noter ici que lorsque l'emplacement mémoire est capable de stocker plus d'un octet, cette étape de lecture du contenu courant de l'emplacement mémoire est déjà mise en oeuvre n'a donc pas besoin d'être rajoutée dans le procédé selon cet aspect. 5 Le procédé selon une autre variante de cet aspect comprend un deuxième mode d'écriture mis en oeuvre au sein du dispositif de mémoire et comportant en réponse à une commande d'écriture dudit mot numérique, un calcul de nouveaux bits de contrôle associés aux données du 10 nouveau contenu dudit emplacement mémoire, et une écriture du nouveau contenu de l'emplacement mémoire incluant ledit mot numérique et les nouveaux bits de contrôle par une étape d'effacement sans étape de programmation postérieure si tous les bits de données dudit nouveau contenu sont à 0, ou par une succession 15 classique d'une étape d'effacement et d'une étape de programmation si au moins un bit dudit nouveau contenu est à 1. Bien que cela soit possible notamment dans un but de simplification de la machine d'états de la mémoire, il n'est toutefois pas nécessaire de tester si les nouveaux bits de contrôle sont à 0, car 20 compte tenu de la particularité du code de Hamming, si tous les bits de données du nouveau contenu sont à 0, alors les nouveaux bits de contrôle calculés seront à 0. Ainsi, selon cette autre variante, si tous les bits du futur contenu de l'emplacement mémoire sont à 0, l'étape de programmation 25 est inutile et on peut donc là encore réduire la durée du cycle d'écriture et/ou améliorer l'endurance. Il convient de noter ici que le déclenchement de l'opération d'écriture sans étape de programmation n'est pas conditionné au contenu courant de l'emplacement mémoire, c'est-à-dire les données 30 précédentes présentes dans cet emplacement mémoire avant ladite écriture, car l'étape d'effacement est une étape globale pour tous les bits de cet emplacement mémoire. 3039922 9 La lecture du contenu courant de l'emplacement mémoire n'est pas nécessaire dans cette autre variante lorsque le mot numérique ne contient qu'un seul octet et est associé à 4 bits de contrôle. Par contre lorsque le mot numérique comporte plusieurs octets 5 de données, le deuxième mode d'écriture comprend en outre préalablement audit calcul des nouveaux bits de contrôle, une lecture du contenu courant de l'emplacement mémoire. Le premier mode d'écriture et le deuxième mode d'écriture peuvent bien entendu être tous les deux mis en oeuvre au sein du 10 dispositif de mémoire. Le procédé selon encore une autre variante de cet aspect comprend un troisième mode d'écriture mis en oeuvre au sein du dispositif de mémoire et comportant en réponse à une commande d'écriture dudit mot numérique, 15 une lecture du contenu courant de l'emplacement mémoire, et une absence d'étape d'effacement et d'étape de programmation si tous les bits dudit contenu courant lu sont à 0 et si tous les bits de données dudit nouveau contenu, incluant ledit mot numérique, sont à 0. 20 En d' autres termes, selon cette autre variante qui est optionnelle, si le contenu courant et le nouveau contenu de l'emplacement mémoire ne contiennent que des 0, le cycle d'écriture ne comporte ni étape d'effacement ni étape de programmation. Le premier mode d'écriture, le deuxième mode d'écriture et le 25 troisième mode d'écriture peuvent également être tous les trois mis en oeuvre au sein du dispositif de mémoire. Lorsque la mémoire est destinée à être écrite par page, il est proposé selon un autre aspect un procédé d'écriture de plusieurs mots numériques dans plusieurs emplacements mémoire d'un plan mémoire 30 d'un dispositif de mémoire morte électriquement programmable et effaçable comportant un mécanisme de code correcteur d'erreur du type code de Hamming, lesdits plusieurs emplacements mémoire formant au moins une page du plan mémoire, chaque mot numérique comportant au moins un octet de données et chaque emplacement 3039922 10 mémoire étant destiné à contenir un nombre d'octets de données au moins égal au nombre d'octets de données du mot numérique ainsi que des bits de contrôle. Selon une variante de cet autre aspect, le procédé comprend un 5 premier mode d'écriture page mis en oeuvre au sein du dispositif de mémoire et comportant en réponse à une commande d'écriture des mots numériques de ladite page, une lecture du contenu courant de chaque emplacement mémoire, 10 un calcul de nouveaux bits de contrôle associés aux données du nouveau contenu de chaque emplacement mémoire, et une écriture du nouveau contenu de chaque emplacement mémoire incluant ledit mot numérique correspondant et les nouveaux bits de contrôle correspondants par une étape de programmation sans 15 étape d'effacement préalable si tous les bits de chaque contenu courant lu sont à 0, ou par une succession classique d'une étape d'effacement et d'une étape de programmation si au moins un bit d'au moins un contenu courant lu est à 1. Selon une autre variante de cet autre aspect, également 20 applicable à une écriture en mode page, le procédé comprend un deuxième mode d'écriture page mis en oeuvre au sein du dispositif de mémoire et comportant en réponse à une commande d'écriture des mots numériques de ladite page, un calcul de nouveaux bits de contrôle associés aux données du 25 nouveau contenu de chaque emplacement mémoire, et une écriture du nouveau contenu de chaque emplacement mémoire incluant ledit mot numérique correspondant et les nouveaux bits de contrôle correspondants par une étape d'effacement sans étape de programmation postérieure si tous les bits de données de chaque 30 nouveau contenu sont à 0, ou par une succession classique d'une étape d'effacement et d'une étape de programmation si au moins un bit d'au moins un nouveau contenu est à 1. Là encore, lorsque chaque mot numérique comporte plusieurs octets de données le deuxième mode d'écriture page comprend en outre 3039922 11 préalablement à chaque calcul des nouveaux bits de contrôle, une lecture du contenu courant de chaque emplacement mémoire. Le premier mode d'écriture page et le deuxième mode d'écriture page peuvent être tous les deux mis en oeuvre, et dans ce cas 5 l'écriture des mots numériques de la page nécessite une succession classique d'une étape d'effacement et d'une étape de programmation si les écritures respectives d'au moins deux mots numériques nécessitent des types d'étapes différents (par exemple un mot numérique nécessite seulement une étape d'effacement tandis qu'un autre mot nécessite 10 seulement une étape de programmation) ou si l'écriture d'au moins un mot numérique nécessite une succession d'une étape d'effacement et d'une étape de programmation. Selon encore une autre variante de cet autre aspect, le procédé comprend un troisième mode d'écriture page mis en oeuvre au sein du 15 dispositif de mémoire et comportant en réponse à une commande d'écriture des mots numériques de ladite page, une lecture du contenu courant de chaque emplacement mémoire, et une absence d'étape d'effacement et d'étape de programmation si tous les bits de chaque contenu courant lu sont à 0 et 20 si tous les bits de données de chaque nouveau contenu incluant ledit mot numérique correspondant , sont à 0. Le premier mode d'écriture page, le deuxième mode d'écriture page et le troisième mode d'écriture page peuvent être combinés, et l'écriture des mots numériques de la page 25 nécessite uniquement une étape d'effacement si l'écriture d'au moins un mot numérique nécessite uniquement une étape d'effacement et si l'écriture d'aucun autre mot numérique ne nécessite d'étape de programmation, nécessite uniquement une étape de programmation si l'écriture 30 d'au moins un mot numérique nécessite uniquement une étape de programmation et si l'écriture d'aucun autre mot numérique ne nécessite d'étape d'effacement, nécessite une succession classique d'une étape d'effacement et d'une étape de programmation dans tous les autres cas. 3039922 12 Tout comme le mode particulier d'écriture mentionné ci-avant, chacun des trois modes d'écriture et chacun des trois modes d'écriture page qui viennent d'être évoqués pour des mémoires équipées de code correcteur d'erreur du type Hamming, est mis en oeuvre de façon 5 interne au dispositif de mémoire avec notamment les mêmes avantages que ceux mentionnés pour le mode particulier d'écriture. La commande d'écriture déclenchant le premier mode d'écriture et/ou le deuxième mode d'écriture et/ou le troisième mode d'écriture et/ou le premier mode d'écriture page et/ou le deuxième 10 mode d'écriture page et/ou le troisième mode d'écriture page peut être une commande classique d'écriture ou bien ou commande spécifique. Le premier mode d'écriture et/ou le deuxième mode d'écriture et/ou le troisième mode d'écriture et/ou le premier mode d'écriture page et/ou le deuxième mode d'écriture page et/ou le troisième mode 15 d'écriture page peuvent être implémentés par défaut au sein du dispositif de mémoire, ou bien être activables. Plusieurs possibilités non limitatives existent pour procéder à cette activation. On peut par exemple utiliser un bit volatil ou non, 20 programmable par l'utilisateur, par exemple un bit du mot de statut présent dans le registre de statut de la mémoire. On peut aussi utiliser une nouvelle commande d'écriture spécifique. Selon un autre aspect il est proposé un dispositif de mémoire 25 du type mémoire morte électriquement programmable et effaçable, comprenant un plan mémoire contenant des emplacements mémoire, des moyens d'effacement configurés pour effacer le contenu d'un emplacement mémoire, des moyens de programmation configurés pour programmer au moins un mot numérique dans un emplacement 30 mémoire et des moyens de contrôle configurés pour en réponse à une commande d'écriture dudit mot numérique inhiber éventuellement les moyens d'effacement et/ou les moyens de programmation en fonction du contenu antérieur de l'emplacement mémoire et/ou du nouveau contenu de l'emplacement mémoire incluant le mot numérique à écrire. 3039922 13 Selon un mode de réalisation, les moyens de contrôle sont configurés pour inhiber les moyens d'effacement si ledit nouveau contenu est bit à bit supérieur ou égal audit contenu antérieur, le contenu antérieur étant supposé être sans erreur. 5 Selon un mode de réalisation, si ledit nouveau contenu de l'emplacement mémoire est bit à bit égal audit contenu antérieur de cet emplacement mémoire, les moyens de contrôle sont également configurés pour inhiber les moyens de programmation. Selon un mode de réalisation, si ledit nouveau contenu de 10 l'emplacement mémoire est bit à bit supérieur ou égal audit contenu antérieur et qu'au moins un bit du nouveau contenu est supérieur au bit correspondant du contenu antérieur supposé être sans erreur, les moyens de contrôle sont configurés pour activer les moyens de programmation de façon à effectuer uniquement une programmation de 15 chaque bit du nouveau contenu supérieur au bit correspondant du contenu antérieur. Selon un mode de réalisation les moyens de contrôle sont configurés pour commander la programmation de chaque bit pour lequel le résultat d'une fonction logique ET appliquée à la nouvelle 20 valeur de ce bit et à l'opposée de l'ancienne valeur de ce bit, est égal à 1. Selon un autre aspect applicable notamment à des mémoires EEPROM équipées de codes correcteurs d'erreurs, il est proposé un dispositif de mémoire du type mémoire morte électriquement 25 programmable et effaçable, comprenant un plan mémoire contenant des emplacements mémoire, un mécanisme de code correcteur d'erreur du type code de Hamming, des moyens d'effacement configurés pour effacer le contenu 30 d'un emplacement mémoire, des moyens de programmation configurés pour programmer au moins un mot numérique comportant au moins un octet dans un emplacement mémoire, ledit emplacement mémoire étant destiné à 3039922 14 contenir un nombre d'octets de données au moins égal au nombre d'octets de données du mot numérique ainsi que des bits de contrôle, des moyens de lecture. Selon une variante de cet autre aspect, le dispositif comprend 5 en outre des premiers moyens de commande configurés pour en réponse à une commande d'écriture dudit mot numérique, activer les moyens de lecture pour lire le contenu courant dudit emplacement mémoire, activer le mécanisme de code correcteur d'erreur pour calculer 10 de nouveaux bits de contrôle associés aux données du nouveau contenu dudit emplacement mémoire, et activer uniquement les moyens de programmation (MPR) si tous les bits dudit contenu courant lu sont à 0 ou activer successivement les moyens d' effacement et les moyens de 15 programmation si au moins un bit dudit contenu courant lu est à 1, de façon à écrire le nouveau contenu de l'emplacement mémoire incluant ledit mot numérique et les nouveaux bits de contrôle. Selon une autre variante de cet autre aspect le dispositif de mémoire comprend des deuxièmes moyens de commande configurés 20 pour en réponse à une commande d'écriture dudit mot numérique, activer le mécanisme de code correcteur d'erreur pour calculer de nouveaux bits de contrôle associés aux données du nouveau contenu dudit emplacement mémoire et activer uniquement les moyens d'effacement si tous les bits de 25 données du nouveau contenu sont à 0 ou activer successivement les moyens d'effacement et les moyens de programmation si au moins un bit du nouveau contenu est à 1, de façon à écrire le nouveau contenu de l'emplacement mémoire incluant ledit mot numérique et les nouveaux bits de contrôle. 30 Selon un mode de réalisation, lorsque le mot numérique comporte plusieurs octets de données, les deuxièmes moyens de commande sont en outre configurés pour activer, préalablement à l'activation du mécanisme de code correcteur d'erreur, les moyens de lecture pour lire le contenu courant de l'emplacement mémoire. 3039922 15 Le dispositif peut comporter les premiers et deuxièmes moyens de commande. Selon encore une autre variante de cet autre aspect, le dispositif de mémoire comprend des troisièmes moyens de commande 5 configurés pour en réponse à une commande d'écriture dudit mot numérique, activer les moyens de lecture pour lire le contenu courant dudit emplacement mémoire, n'activer ni les moyens d'effacement ni les moyens de 10 programmation si tous les bits dudit contenu courant lu sont à 0 et si tous les bits de données dudit nouveau contenu incluant ledit mot numérique, sont à 0. Le dispositif peut comporter les premiers, deuxièmes et troisièmes moyens de commande. 15 Selon encore un autre aspect, applicable à une mémoire destinée à être écrite par page, il est proposé un dispositif de mémoire du type mémoire morte électriquement programmable et effaçable, comprenant un plan mémoire contenant au moins une page contenant 20 plusieurs emplacements mémoire, un mécanisme de code correcteur d'erreur du type code de Hamming, des moyens d'effacement configurés pour effacer le contenu d'une page, 25 des moyens de programmation configurés pour programmer plusieurs mots numériques dans les emplacements mémoire de ladite page, chaque mot numérique comportant au moins un octet, ledit emplacement mémoire correspondant étant destiné à contenir un nombre d'octets de données au moins égal au nombre d'octets de 30 données du mot numérique ainsi que des bits de contrôle, des moyens de lecture, et des quatrièmes moyens de commande configurés pour en réponse à une commande d'écriture des mots numériques, 3039922 16 activer les moyens de lecture pour lire le contenu courant de chaque emplacement mémoire, activer le mécanisme de code correcteur d'erreur pour calculer de nouveaux bits de contrôle associés aux données du nouveau contenu 5 de chaque emplacement mémoire et activer uniquement les moyens de programmation si tous les bits de chaque contenu courant lu sont à 0 ou activer successivement les moyens d'effacement et les moyens de programmation si au moins un bit d'au moins un contenu courant lu est à 1, de façon à écrire le 10 nouveau contenu de chaque emplacement mémoire incluant ledit mot numérique correspondant et les nouveaux bits de contrôle correspondants. Selon une variante de cet autre aspect, le dispositif comprend des cinquièmes moyens de commande configurés pour en réponse à une 15 commande d'écriture des mots numériques, activer le mécanisme de code correcteur d'erreur pour calculer de nouveaux bits de contrôle associés aux données de chaque nouveau contenu dudit emplacement mémoire et activer uniquement les moyens d'effacement si tous les bits de 20 données de chaque nouveau contenu sont à 0 ou activer successivement les moyens d'effacement et les moyens de programmation si au moins un bit de chaque nouveau contenu est à 1, de façon à écrire le nouveau contenu de chaque emplacement mémoire incluant ledit mot numérique correspondant et les nouveaux bits de contrôle correspondants. 25 Selon un mode de réalisation chaque mot numérique comporte plusieurs octets de données et les cinquièmes moyens de commande sont en outre configurés pour activer, préalablement à l'activation du mécanisme de code correcteur d'erreur, les moyens de lecture pour lire le contenu courant de chaque emplacement mémoire. 30 Selon un mode de réalisation le dispositif comportant des moyens de commande incorporant les quatrièmes et cinquièmes moyens de commande, et configurés commander l'écriture des mots numériques de la page par une succession classique d'une étape d'effacement et d'une étape de programmation si les écritures 3039922 17 respectives d'au moins deux mots numériques nécessitent des types d'étapes différents. Selon encore une autre variante de cet autre aspect, le dispositif comprend des sixièmes moyens de commande configurés 5 pour en réponse à une commande d'écriture des mots numériques, activer les moyens de lecture pour lire le contenu courant de chaque emplacement mémoire, n'activer ni les moyens d'effacement ni les moyens de programmation si tous les bits de chaque contenu courant lu sont à 0 et 10 si tous les bits de données de chaque nouveau contenu incluant ledit mot numérique correspondant, sont à 0. Des moyens de commande peuvent incorporer les quatrièmes, cinquièmes et sixièmes moyens de commande, et être configurés pour commander l'écriture des mots numériques de la page 15 uniquement par une étape d'effacement si l'écriture d'au moins un mot numérique nécessite uniquement une étape d'effacement et si l'écriture d'aucun autre mot numérique ne nécessite d'étape de programmation, uniquement par une étape de programmation si l'écriture d'au 20 moins un mot numérique nécessite uniquement une étape de programmation et si l'écriture d'aucun autre mot numérique ne nécessite d'étape d'effacement, et par une succession classique d'une étape d'effacement et d'une étape de programmation dans tous les autres cas. 25 Selon un mode de réalisation les moyens de contrôle et/ou les premiers moyens de commande et/ou les deuxièmes moyens de commande et/ou les troisièmes moyens de commande et/ou les quatrièmes moyens de commande et/ou les cinquièmes moyens de commande et/ou les sixièmes moyens de commande sont activables. 30 D' autres avantages et caractéristiques de l' invention apparaîtront à l'examen de la description détaillée de modes de mise en oeuvre et de réalisation, nullement limitatifs, et des dessins annexés sur lesquels : 3039922 18 les figures 1 à 11, essentiellement schématiques, ont trait à différents modes de mise en oeuvre et de réalisation de l'invention. Sur la figure 1, la référence DIS désigne un exemple de 5 dispositif de mémoire de type EEPROM selon l'invention. Ce dispositif DIS comporte un plan mémoire PM de cellules-mémoires CEL, ainsi que des moyens classiques de programmation MPR et d'effacement MEFF comportant notamment des moyens HV permettant d'appliquer une tension élevée de programmation ou 10 d'effacement, des décodeur lignes et colonnes DECX et DECY ainsi que des moyens de lecture comportant des amplificateurs de lecture AMPL reliés à un registre de données RDD. Le dispositif DIS comporte également dans cet exemple de réalisation des moyens MECC formant un mécanisme de code 15 correcteur d'erreur du type code de Hamming, de structure classique et connue en soi. Le dispositif DIS comprend également des moyens de commande MCM comportant par exemple des moyens logiques de structure classique capables d'activer les différents moyens de 20 programmation MPR, d'effacement MEFF, de lecture AMPL ainsi que le mécanisme de code correcteur d'erreurs MECC. Le dispositif de mémoire DIS comporte également ici un registre de statut SRG. Ce registre est toutefois optionnel, généralement présent pour une mémoire connectée sur un bus SPI et 25 notamment inexistant pour une mémoire connecté sur un bus I2C. D'autres moyens classiques présents dans le dispositif de mémoire DIS et non indispensables à la compréhension de l'invention, comme par exemple le registre d'adresses à décalage, n'ont volontairement pas été représentés sur la figure 1 à des fins de 30 simplification. On rappelle ici qu'une cellule-mémoire CEL du type EEPROM comporte un transistor possédant de façon classique une grille de commande, une grille flottante, une région de drain et une région de source. 3039922 19 Une telle cellule est effaçable et programmable par effet Fowler-Nordheim. Classiquement l'opération ou cycle d'écriture d'une donnée dans une telle cellule de type EEPROM comporte une étape 5 d'effacement précédant une étape de programmation. Dans l'étape d'effacement, les moyens d'effacement MEFF sont configurés pour coupler le drain et la source du transistor à la masse et pour appliquer sur la grille de commande une tension de commande ayant une valeur d'effacement, typiquement de l'ordre de 10 15 volts. Dans l'étape de programmation de la cellule, les moyens de programmation MPR sont configurés pour relier la grille de commande à la masse et appliquer une tension de programmation sur le drain, typiquement également de l'ordre de 15 volts. En ce qui concerne la 15 source, les moyens de programmation MPR sont configurés pour soit laisser la source flottante soit la précharger à une tension de précharge non nulle. Plus précisément les moyens d'effacement sont configurés pour appliquer la tension de commande sur la grille de commande sous la 20 forme d'une impulsion d'effacement IMP1 tandis que les moyens de programmation sont configurés pour appliquer la tension de programmation sur le drain sous la forme d'une impulsion de programmation IMP2 (figure 2). Chaque impulsion d' effacement ou de programmation 25 tension/temps présente une forme trapézoïdale ayant une rampe suivie d'un plateau PLT, typiquement au niveau nominal de 15 volts. La rampe de tension contrôle le courant tunnel de la cellule. La rampe et le plateau ont à peu près des durées identiques. Comme indiqué ci-avant, les moyens d'effacement MEFF et de 30 programmation MPR comportent les moyens HV de génération de la haute tension permettant la génération des impulsions correspondantes d'effacement et de programmation. 3039922 20 Ces moyens HV comportent par exemple classiquement un ou plusieurs étages de pompes de charge associés à une régulation de pompes de charge comportant par exemple un oscillateur. La régulation permet de contrôler la tension de sortie de la 5 pompe de charge. L'oscillateur est stoppé lorsque la sortie de la pompe de charge dépasse une référence haute. La tension de sortie de la pompe de charge commence alors à décroître en raison de la charge. Dès que la tension de sortie de la pompe de charge est inférieure à une référence basse, l'oscillateur redémarre. L'écart de tension entre les 10 références basse et haute (hystérésis) assure la stabilité. Cette différence de tension est par exemple de l'ordre de 100 millivolts. Le niveau de régulation de la pompe de charge est par exemple le niveau de tension du plateau PLT, par exemple 15 volts. La rampe de charge est par exemple générée par un intégrateur analogique qui 15 reçoit en entrée la tension de plateau. La durée de l'impulsion (rampe + plateau) peut être commandée par un chronomètre (« timer »), analogique ou numérique. A titre indicatif, un chronomètre numérique peut comporter un oscillateur de fréquence fixe connecté à un compteur. Le compteur 20 démarre lorsque la pompe de charge démarre et la fin du comptage marque la fin de l'impulsion. Comme indiqué ci-avant, dans l' étape d' effacement, l'impulsion d'effacement efface globalement (met à zéro) toutes les cellules-mémoires des octets à écrire. 25 Dans l'étape de programmation, l'impulsion de programmation programme sélectivement (met à 1) les cellules mémoire qui doivent stocker un 1 logique. Alors que l'opération d'écriture comprend généralement une étape d'effacement suivie d'une étape de programmation, il est 30 possible, dans certains cas, qu'une seule étape d'effacement ou de programmation soit nécessaire pour écrire un mot dans la mémoire. Ainsi, si le mot à écrire ne contient que des « 0 », alors seule une étape d'effacement est nécessaire. 3039922 21 Si en plus les cellules-mémoires dans lesquelles on ne souhaite écrire que des « 0 », contenaient déjà uniquement des « 0 », alors l'étape d'effacement peut également être supprimée. De même, à titre d'exemple non limitatif, lorsque le mot OF (en 5 notation hexadécimale) doit être remplacé par le mot 1F, l'étape d'effacement est inutile. Ainsi selon un aspect il est proposé un procédé d'écriture d'au moins un mot numérique dans au moins un emplacement mémoire d'un plan mémoire d'un dispositif de mémoire morte électriquement 10 programmable et effaçable (EEPROM), le procédé comprenant un mode particulier d'écriture mis en oeuvre au sein du dispositif de mémoire et comportant une suppression éventuelle de l'étape d'effacement et/ou de l'étape de programmation de l'opération ou cycle d'écriture en fonction du contenu antérieur de l'emplacement 15 mémoire et/ou du nouveau contenu de l'emplacement mémoire incluant le mot numérique à écrire. Et ce mode particulier d'écriture est mis en oeuvre de façon interne au dispositif de mémoire, c'est-à-dire que c'est le dispositif de mémoire lui-même qui détecte les valeurs des données à écrire et/ou 20 les valeurs des données présentes dans la mémoire, et qui décide pour le cycle d'écriture considéré, sur la base des valeurs des données à écrire et/ou sur la base des valeurs des données présentes dans la mémoire, de supprimer l'une au moins des étapes d'effacement ou de programmation ou bien de conserver la succession classique étape 25 d'effacement/étape de programmation. Cette décision peut être facilement mise en oeuvre par une simple logique combinatoire formant des moyens de contrôle au sein des moyens de commande MCM. Plus précisément, selon un mode de mise en oeuvre illustré sur 30 la figure 3, les moyens de contrôle testent dans l'étape 300 si ledit nouveau contenu de l'emplacement mémoire est bit à bit supérieur ou égal audit contenu antérieur de cet emplacement mémoire, le contenu antérieur étant supposé être sans erreur. 3039922 22 Dans la négative, les moyens de contrôle commandent l'écriture du nouveau contenu en activant successivement (étapes 310 et 320) les moyens d'effacement et les moyens de programmation. Dans l'affirmative, ce mode particulier d'écriture comprend 5 une suppression de l'étape d'effacement si ledit nouveau contenu de l'emplacement mémoire est bit à bit supérieur ou égal audit contenu antérieur de cet emplacement mémoire, le contenu antérieur étant supposé être sans erreur. Les moyens de contrôle testent également dans l'étape 301 si 10 ledit nouveau contenu de l'emplacement mémoire est bit à bit égal audit contenu antérieur de cet emplacement mémoire. Si tel est le cas ce mode particulier d'écriture comprend également une suppression de l'étape de programmation. En d'autres termes il n'y a alors ni effacement ni programmation (étape 302) étant 15 entendu qu'une inhibition de l'étape de programmation s'entend comme une non génération de l'impulsion de programmation ou bien comme une génération de cette impulsion de programmation mais sans sélection de cellules-mémoires (sans sélection de lignes de bits). En outre si ledit nouveau contenu de l'emplacement mémoire 20 est bit à bit supérieur ou égal audit contenu antérieur et qu'au moins un bit du nouveau contenu est supérieur au bit correspondant du contenu antérieur supposé être sans erreur, alors le mode particulier comprend uniquement une programmation de chaque bit du nouveau contenu supérieur au bit correspondant du contenu antérieur. 25 On évite ainsi tout risque de sur-programmation accidentelle ou volontaire de ou des cellules-mémoire correspondantes (étape 303). Une façon particulièrement simple de mettre en oeuvre le test de l'étape 300, est illustrée sur la partie gauche de la figure 4. Plus précisément, on applique (étape 3000) une fonction 30 logique ET sur la valeur de chaque bit du contenu antérieur CNT et sur la valeur opposée de chaque bit homologue du nouveau contenu NVC (matérialisée par les inverseurs INV1). Puis on applique (étape 3001) une fonction logique ET sur les sorties inversées par les inverseurs INV2 de la fonction ET. 3039922 23 On teste ensuite (étape 3002) si la sortie de la fonction ET est à 1 Dans l'affirmative ledit nouveau contenu de l'emplacement mémoire est bit à bit supérieur ou égal audit contenu antérieur. 5 Ce n'est pas le cas dans la négative. Une façon particulièrement simple de mettre en oeuvre une telle programmation sélective est, comme illustré sur la partie droite de la figure 4, de tester (étape 3031) pour chaque bit si le résultat d'une fonction logique ET 3030 appliquée à la nouvelle valeur de ce bit et à 10 l'opposée (matérialisé par l'inverseur INV3) de l'ancienne valeur de ce bit, est égal à 1. Dans l'affirmative ce bit sera à programmer car un 1 va remplacer un 0 (le nouveau bit sera supérieur au bit antérieur). Dans la négative ce bit ne sera pas à programmer. 15 Comme cela va maintenant être décrit plus en détails, l'invention est particulièrement intéressante pour les mémoires EEPROM équipées d'un mécanisme de code correcteur d'erreur MECC de type code de Hamming, en particulier les mémoires de forte capacité. 20 Les mémoires non volatiles, notamment de type EEPROM, sont sujettes à des corruptions de données dues à des emplacements mémoires ou cellules mémoires défectueux communément désignés par l'homme du métier sous la dénomination anglosaxonne de « single bit fails ». 25 Ces défauts peuvent être présents initialement sur des mémoires « neuves » ou bien être absents initialement mais générés au cours du temps durant la vie de la pièce. Ces défauts peuvent être dus par exemple à des défectivités dans le procédé de fabrication, à des claquages d'oxydes, à des 30 apparitions de pertes en rétention sur des cellules-mémoires isolées. Ces emplacements mémoires défectueux conduisent, lors de la lecture des bits contenus dans ces emplacements, à des valeurs logiques erronées. 3039922 24 Une solution classique consiste à utiliser un code correcteur d'erreur ou Ecc (« Error code correction ») pour corriger la valeur logique erronée d'un bit. Plus précisément, avec un code correcteur d'erreurs, si l'on ajoute s bits de contrôle (ou de parités) à b bits de 5 données on peut corriger r erreurs parmi les b+s bits. Généralement les codes correcteurs d'erreurs utilisés dans le domaine des mémoires permettent de corriger une seule erreur (r=1) dans le mot de b+s bits. Deux erreurs dans une mémoire peuvent être corrigées à condition que les deux emplacements défectueux 10 correspondent à deux bits non situés dans le même groupe de (b+s) bits. Plus précisément, comme il est classique et connu, les moyens formant code correcteur d'erreur MECC permettent, lors de la lecture d'un mot dans la mémoire, de déterminer un syndrome à partir des bits 15 de données b et de l'ensemble des bits de contrôle s. On rappelle ici qu'un syndrome est le résultat de calculs intermédiaires effectués lors de la correction d'erreur, permettant de détecter et de localiser l'erreur. A l'inverse, les moyens MECC sont également capables de 20 calculer un ensemble de bits de contrôle à partir d'un ensemble de bits de données. Classiquement le plan mémoire de la mémoire comporte des cellules-mémoires CEL connectées à des lignes de sélection de rangées et à des lignes de bits. 25 Les lignes de bits sont regroupées en colonnes comprenant par exemple M lignes de bits. M peut être par exemple égal à 38, correspondant ainsi à des mots de b bits utiles (b= 32 correspondant à n=4 octets) accompagnés de s (s=6) bits de code correcteur d'erreur ou bits de parité. 30 Les cellules mémoires connectées à une même ligne de sélection forment une ligne de mots et les cellules mémoires d'une même ligne de mots connectées au M lignes de bits d'une colonne forment un emplacement mémoire ou mot-mémoire permettant de stocker un mot numérique de 32 bits et 6 bits de parité. 3039922 25 Les mémoires EEPROM peuvent être organisées par pages (une page comportant tous les mots-mémoires d'une même ligne de mots). La quantité de données pouvant être écrites dans un cycle d'écriture peut varier d'un mot à une page complète. 5 Dans une architecture de mémoire EEPROM équipée d'un mécanisme de code correcteur d'erreur, à chaque fois que l'on souhaite écrire par exemple p nouveaux octets dans un emplacement mémoire contenant n octets (avec n supérieur à un et p supérieur ou égal à un et inférieur ou égal à n) et s bits de contrôle, on lit le contenu courant de 10 l'emplacement mémoire c'est-à-dire ici les 38 bits de cet emplacement mémoire. Une correction d'erreur est éventuellement effectuée par le mécanisme de code correcteur d'erreur MECC. De ce fait les valeurs des bits des 4 octets courants (initiaux) 15 sont connues. Par ailleurs de nouveaux bits de contrôle sont recalculés à partir des p nouveaux octets et des n-p autres octets initiaux. On utilise ici la propriété d'un code correcteur d'erreurs de type code de Hamming selon laquelle lorsque les bits des octets d'un 20 emplacement mémoire regroupant n octets sont tous égaux à 0, alors les bits de contrôle contenus dans cet emplacement mémoire sont tous égaux à 0. Ainsi dans l'exemple décrit ici, lorsque les 32 bits des 4 octets contenus dans l'emplacement mémoire de 38 bits sont tous égaux à 0, 25 les bits de contrôle et donc les 38 bits de l'emplacement mémoire sont tous égaux à 0. Les figures 5 à 8 s'appliquent à une écriture de la mémoire emplacement mémoire par emplacement mémoire, et non à une écriture par page. 30 On peut définir, comme illustré sur la figure 5, un premier mode d'écriture, dans lequel en réponse à une commande d'écriture d'un mot numérique dans un emplacement mémoire (étape 30), les moyens de lecture effectuent une lecture 31 du contenu courant de 3039922 26 l'emplacement mémoire correspondant (les 38 bits) incluant les 6 bits de contrôle. Les moyens de commande MCM testent alors, par exemple à l'aide d'une logique combinatoire et/ou d'un comparateur, si tous les 5 bits lus sont à 0 (étape 32). Si au moins un bit lu est à 1, les moyens de commande activent une première fois (étape 35) les moyens MECC pour corriger (le cas échéant) le contenu initial de l'emplacement mémoire, activent une seconde fois les moyens MECC pour calculer les nouveaux bits de 10 contrôle (étape 36) puis activent successivement les moyens d'effacement MEFF et les moyens de programmation MPR de façon à procéder à une écriture du nouveau contenu de l'emplacement mémoire incluant le mot numérique par une succession classique d'une étape d'effacement 37 et d'une étape de programmation 38. 15 Si la réponse au test 32 est positive, les moyens de commande peuvent ré-exécuter l'étape 35 de façon à activer une première fois les moyens MECC, activent une seconde fois les moyens MECC pour calculer les nouveaux bits de contrôle (étape 39) puis uniquement les moyens de programmation MPR de façon à procéder à une écriture du 20 nouveau contenu de l'emplacement mémoire incluant le mot numérique par une étape de programmation 40 sans étape d'effacement préalable car inutile puisque tous les bits de l'emplacement mémoire sont déjà à 0. Il convient de noter que l'étape 35 effectuée dans la branche de 25 gauche de la figure 5 est optionnelle car tous les bits lus à 0 correspondent dans le code de Hamming à aucune erreur dans les bits. Cela étant exécuter cette étape 35, permet de simplifier l'architecture de la machine d'états incorporée dans les moyens de commande. 30 Il serait également possible d'exécuter l'étape 35 entre les étapes 31 et 32. On peut également définir, comme illustré sur la figure 6, un deuxième mode d'écriture dans lequel en réponse à une commande d'écriture d'un mot numérique dans un emplacement mémoire (étape 3039922 27 40a), les moyens de lecture effectuent une lecture 41 du contenu courant de l'emplacement mémoire (les 38 bits de l'emplacement mémoire) incluant les 6 bits de contrôle. Puis le mécanisme de code correcteur d'erreurs MECC corrige 5 (le cas échéant) le contenu initial de l'emplacement mémoire. Les moyens de commande MCM testent alors, par exemple à l'aide d'un comparateur, si tous les bits de données du nouveau contenu de l'emplacement mémoire sont à 0 (étape 43). Compte tenu de la particularité du code de Hamming, si tous 10 les bits de données du nouveau contenu sont à 0, alors les nouveaux bits de contrôle calculés seront à 0. Si au moins un bit de données dudit nouveau contenu est à 1, les moyens de commande MCM activent le mécanisme de code correcteur d'erreurs MECC pour effectuer un calcul 44 des nouveaux 15 bits de contrôle associés au nouveau contenu envisagé dudit emplacement mémoire puis activent successivement les moyens d'effacement MEFF et les moyens de programmation MPR de façon à procéder à une écriture du nouveau contenu dans l'emplacement mémoire incluant ledit mot numérique par une succession classique 20 d'une étape d'effacement 45 et d'une étape de programmation 46. Si la réponse au test 43 est positive, les moyens de commande MCM peuvent ré-exécuter l'étape 44 de calcul des nouveaux bits de contrôle associés au nouveau contenu envisagé dudit emplacement mémoire. 25 Là encore cette ré-exécution, bien que préférable pour une simplification de la machine d'états, est optionnelle puisque dans ce cas les nouveaux bits de contrôle sont à 0. En variante l'étape 44 pourrait être effectuée entre les étapes 42 et 43. 30 Les moyens de commande activent ensuite uniquement les moyens d'effacement MEFF de façon à procéder à une écriture de ce nouveau contenu incluant le mot numérique par une étape d'effacement 47 sans étape de programmation postérieure car inutile puisque tous les bits à écrire sont à 0. 3039922 28 Alors que l'un seulement de ces deux modes d'écriture peut être disponible dans le dispositif de mémoire, ces deux modes peuvent être disponibles ensemble. Dans ce cas, comme illustré sur la figure 7, en réponse à une 5 commande d'écriture d'un mot numérique dans un emplacement mémoire (étape 50), on met en oeuvre des étapes analogues aux étapes 31 et 32 de la figure 5. Si la réponse à l'interrogation de l'étape 32 est « oui », on met en oeuvre des étapes analogues aux étapes 35, 39 et 40 de la figure 5 10 pour écrire le mot numérique. Si la réponse à l'interrogation de l'étape 32 est « non », on met en oeuvre des étapes analogues aux étapes 42 et 43 de la figure 6. Si la réponse à l'interrogation de l'étape 43 est « oui », on met en oeuvre des étapes analogues aux étapes 44 et 47 de la figure 6 pour 15 écrire le mot numérique. Si la réponse à l'interrogation de l'étape 43 est « non », on met en oeuvre des étapes analogues aux étapes 44, 45 et 46 de la figure 6 pour écrire le mot numérique. Avec les premier et deuxième modes d'écriture, on peut donc 20 réduire dans certains cas la durée du cycle d'écriture et par conséquent la consommation d'un tel cycle dans un facteur pouvant aller jusqu'à deux et/ou améliorer l'endurance du produit. On peut également définir, comme illustré sur la partie gauche de figure 8, un troisième mode d'écriture dans lequel en réponse à une 25 commande d'écriture d'un mot numérique dans un emplacement mémoire (étape 60), on met en oeuvre des étapes analogues aux étapes 31 et 32 de la figure 5. Si la réponse à l'interrogation de l'étape 32 est « oui », on met en oeuvre des étapes analogues aux étapes 35 de la figure 5 et 43 de la 30 figure 6. Si la réponse à l'interrogation de l'étape 43 est « oui », alors les moyens de commande MCM inhibent, après avoir optionnellement mis en oeuvre une étape analogue à l'étape 44 de la figure 6, les étapes 3039922 29 d'effacement et de programmation, et le mot numérique est considéré comme écrit. En effet dans ce troisième mode on voulait écrire des « 0 » dans un emplacement mémoire contenant déjà des « 0 ». 5 Dans ce cas, si effectivement on inhibe l'étape de programmation en s'affranchissant de la génération de l'impulsion de programmation, la durée et la consommation du cycle d'écriture sont nulles ou quasi nulles. Si par contre la réponse à l'interrogation de l'étape 43 est 10 « non », on met en oeuvre une étape analogue à l'étape 44 de la figure 6 puis une étape analogue à l'étape 46 de la figure 6 pour écrire le mot numérique. Ce troisième mode d'écriture peut également être combiné aux premier et deuxième modes d'écriture comme illustré sur la partie 15 droite de la figure 8. Plus précisément, si la réponse à l'interrogation de l'étape 32 est « non », on met en oeuvre des étapes analogues aux étapes 35 de la figure 5 et 43 de la figure 6. Si la réponse à l'interrogation de l'étape 43 est « oui », on met 20 en oeuvre des étapes analogues aux étapes 44 et 47 de la figure 6 pour écrire le mot numérique. Si la réponse à l'interrogation de l'étape 43 est « non », on met en oeuvre des étapes analogues aux étapes 44, 45 et 46 de la figure 6 pour écrire le mot numérique. 25 Bien entendu les premiers, deuxièmes et troisièmes moyens de commande respectivement fonctionnellement destinés à mettre en oeuvre les premiers, deuxièmes et troisièmes modes d'écriture peuvent être matériellement regroupés au sein des moyens de commande MCM. Lorsque la mémoire est destinée à être écrite par page, 30 l'impulsion d'effacement permet d'effacer globalement tout le contenu de la page. De même, l'impulsion de programmation permet de programmer sélectivement et simultanément toutes les cellules-mémoire de la page. 3039922 30 D'une façon générale, avant la génération d'une impulsion de d'effacement et/ou de programmation ou l'absence éventuelle de génération de telles impulsions pour l'écriture de la page, les moyens de commande vont pour chaque emplacement mémoire de la page, 5 détecter la ou les opérations nécessaires éventuelles pour écrire le nouveau contenu de l'emplacement mémoire considéré incluant le nouveau mot numérique et les nouveaux bits de contrôle, puis appliquer pour l'écriture de la page le pire cas. Ainsi comme illustré sur la figure 9 qui est le pendant de la 10 figure 5 il est proposé un premier mode d'écriture page mis en oeuvre au sein du dispositif de mémoire par des quatrièmes moyens de commande incorporés dans les moyens de commande MCM et prévoyant un test 90 pour déterminer si l'écriture de chaque emplacement mémoire de la page nécessite seulement une étape de 15 programmation. Dans l'affirmative l'écriture de la page est effectuée par une étape de programmation 91 seulement. Dans le cas contraire, l'écriture 92 de la page est effectuée classiquement par effacement puis programmation. 20 Comme illustré sur la figure 10 qui est le pendant de la figure 6 il est proposé un deuxième mode d'écriture page mis en oeuvre au sein du dispositif de mémoire par des cinquièmes moyens de commande incorporés dans les moyens de commande MCM et prévoyant un test 100 pour déterminer si l'écriture de chaque emplacement mémoire de 25 la page nécessite seulement une étape d'effacement. Dans l'affirmative l'écriture de la page est effectuée par une étape d'effacement 101 seulement. Dans le cas contraire, l'écriture 102 de la page est effectuée classiquement par effacement puis programmation. 30 La partie de la figure 11 comportant les étapes 110 et 111, est le pendant de la partie gauche de la figure 8, et illustre un troisième mode d'écriture page mis en oeuvre au sein du dispositif de mémoire par des sixièmes moyens de commande incorporés dans les moyens de commande MCM et prévoyant un test 110 pour déterminer si l'écriture 3039922 31 de chaque emplacement mémoire de la page ne nécessite ni étape d'effacement ni étape de programmation. Dans l'affirmative l'écriture 111 de la page est effectuée sans effacement ni programmation. 5 Le premier mode d'écriture page, le deuxième mode d'écriture page et le troisième mode d'écriture page peuvent être combinés, comme illustré sur le reste de la figure 11. Dans ce cas l'écriture des mots numériques de la page nécessite uniquement une étape d'effacement 113 si l'écriture 10 d'au moins un mot numérique nécessite uniquement une étape d'effacement et si l'écriture d'aucun autre mot numérique ne nécessite d'étape de programmation (test 112), nécessite uniquement une étape de programmation 116 si l'écriture d'au moins un mot numérique nécessite uniquement une 15 étape de programmation et si l'écriture d'aucun autre mot numérique ne nécessite d'étape d'effacement (test 115), nécessite (étape 114) une succession classique d'une étape d'effacement et d'une étape de programmation dans tous les autres cas. La commande d' écriture déclenchant le premier mode 20 d'écriture et/ou le deuxième mode d'écriture et/ou le troisième mode d'écriture et/ou le premier mode d'écriture page et/ou le deuxième mode d'écriture page et/ou le troisième mode d'écriture page peut être une commande classique d'écriture ou bien ou commande spécifique. Le premier mode d'écriture et/ou le deuxième mode d'écriture 25 et/ou le troisième mode d'écriture et/ou le premier mode d'écriture page et/ou le deuxième mode d'écriture page et/ou le troisième mode d'écriture page peuvent être implémentés par défaut au sein du dispositif de mémoire, ou bien être activables. Plusieurs possibilités non limitatives existent pour procéder à 30 cette activation. On peut par exemple utiliser un bit volatil ou non, programmable par l'utilisateur, par exemple un bit du mot de statut présent dans le registre de statut SRG de la mémoire et accessible par un bus de type SPI. 3039922 32 On peut aussi utiliser une nouvelle commande d'écriture spécifique. L'invention est particulièrement utile lors de l'écriture initiale de la totalité du plan mémoire, par exemple lorsque ce plan mémoire 5 doit être écrit totalement avec des 0. Cela étant l'invention s' applique également lorsque l'utilisateur souhaite que le plan mémoire soit, vu de l'utilisateur, considéré comme écrit initialement avec des 1. En effet dans ce cas il suffit de prévoir une inversion de données lors des étapes de lecture et 10 de programmation de sorte qu'une donnée vue de l'utilisateur est gérée en interne au dispositif de mémoire comme la donnée complémentaire. Et un plan mémoire vu par l'utilisateur comme initialisé avec des 1 (FF) sera en fait traité en interne comme devant être écrit avec des 0. 15 Dans le cas où seule une étape de programmation est effectuée sans étape d'effacement préalable, les bits déjà effacés ne peuvent pas être rafraîchis dans un état effacé. Cependant ce cas n'est pas un problème car cela implique que tous les bits sont proprement lus en interne comme étant des 0. Et si 20 un bit est en erreur et apparaît en interne comme étant un 1, le dispositif de mémoire exécuterait alors un cycle complet d'écriture (effacement et programmation) ce qui rafraîchirait alors le bit considéré dans son état effacé. Et si un utilisateur veut néanmoins forcer un rafraîchissement 25 de l'état effacé, il peut toujours le faire en entrant un 1 dans les données à écrire (ou un 0 si une inversion de donnée est prévue en interne), puis en écrivant à nouveau le même mot numérique ce qui va alors provoquer comme expliqué ci-avant un cycle complet d'écriture (effacement et programmation). 30 Par construction une sur-programmation (« over- programming ») des cellules mémoires EEPROM peut induire des problèmes fonctionnels et de fiabilité (fuite, endurance par exemple). Dans les mémoires EEPROM classiques, l'opération d'effacement est globale tandis que l'opération de programmation est 3039922 33 sélective et toujours consécutive à une opération d'effacement. De ce fait les cellules mémoire ne peuvent être que sur-effacées (« overerased ») mais jamais sur-programmées. L'invention évite également toute sur-programmation de 5 cellules-mémoires, car la présence d'une cellule-mémoire programmée (contenant un 1) interdira lors du prochain cycle d'écriture, comme expliqué ci-avant, une écriture effectuée uniquement avec une étape de programmation. Et ceci est particulièrement intéressant car le fait que le 10 dispositif de mémoire gère automatiquement en interne le ou les étapes mises en oeuvre lors du cycle d'écriture, évite toute sur-programmation accidentelle provoquée par l'utilisateur. Il n'est également pas possible avec l'invention d'avoir un mot mémoire contenant une seule erreur et qui ne serait pas rafraîchi avec 15 un contenu correct. En effet la mise en oeuvre d'une étape de programmation sans étape d'effacement préalable, implique que tous les bits du mot mémoire soient à 0, et pour un code de Hamming, le fait que tous les bits soient à 0 implique l'absence d'un seul bit en erreur. REVENDICATIONS1. Procédé d'écriture d'au moins un mot numérique dans au moins un emplacement mémoire d'un plan mémoire d'un dispositif de mémoire morte électriquement programmable et effaçable, comprenant un mode particulier d'écriture mis en oeuvre au sein du dispositif de mémoire (DIS) et comportant une suppression éventuelle de l'étape d'effacement (310) et/ou de l'étape de programmation (320) de l'opération d'écriture en fonction du contenu antérieur de l'emplacement mémoire et/ou du nouveau contenu de l'emplacement mémoire incluant le mot numérique à écrire. 2. Procédé selon la revendication 1, dans lequel le mode particulier d'écriture comprend une suppression de l'étape d'effacement (302, 303) si ledit nouveau contenu de l'emplacement mémoire est bit à bit supérieur ou égal audit contenu antérieur de cet emplacement mémoire, le contenu antérieur étant supposé être sans erreur. 3. Procédé selon la revendication 2, dans lequel si ledit nouveau contenu de l'emplacement mémoire est bit à bit égal audit contenu antérieur de cet emplacement mémoire, le mode particulier d'écriture comprend également une suppression de l'étape de programmation (302). 4. Procédé selon la revendication 2 ou 3, dans lequel si ledit nouveau contenu de l'emplacement mémoire est bit à bit supérieur ou égal audit contenu antérieur et qu'au moins un bit du nouveau contenu est supérieur au bit correspondant du contenu antérieur supposé être sans erreur, le mode particulier comprend uniquement une programmation sélective (303) de chaque bit du nouveau contenu supérieur au bit correspondant du contenu antérieur. 5. Procédé selon la revendication 3 ou 4, dans lequel ladite programmation sélective comprend une programmation de chaque bit pour lequel le résultat d'une fonction logique ET (3030) appliquée à la 3039922 nouvelle valeur de ce bit et à l'opposée de l'ancienne valeur de ce bit, est égal à 1. 6. Procédé d'écriture d'au moins un mot numérique dans au moins un emplacement mémoire d'un plan mémoire d'un dispositif de 5 mémoire morte électriquement programmable et effaçable comportant un mécanisme de code correcteur d'erreur du type code de Hamming, ledit mot numérique comportant au moins un octet de données et ledit emplacement mémoire étant destiné à contenir un nombre d'octets de données au moins égal au nombre d'octets de données du mot 10 numérique ainsi que des bits de contrôle, le procédé comprenant un premier mode d'écriture mis en oeuvre au sein du dispositif de mémoire et comportant en réponse à une commande d'écriture dudit mot numérique, une lecture (31) du contenu courant de l'emplacement mémoire, un calcul (36, 39) de nouveaux bits de contrôle associés aux 15 données du nouveau contenu dudit emplacement mémoire et une écriture du nouveau contenu de l'emplacement mémoire incluant ledit mot numérique et les nouveaux bits de contrôle par une étape de programmation (40) sans étape d'effacement préalable si tous les bits dudit contenu courant lu sont à 0, ou par une succession classique 20 d'une étape d'effacement (37) et d'une étape de programmation (38) si au moins un bit dudit contenu courant lu est à 1. 7. Procédé d'écriture d'au moins un mot numérique dans au moins un emplacement mémoire d'un plan mémoire d'un dispositif de mémoire morte électriquement programmable et effaçable équipée d'un 25 mécanisme de code correcteur d'erreur du type code de Hamming, ledit mot numérique comportant au moins un octet de données et ledit emplacement mémoire étant destiné à contenir un nombre d'octets de données au moins égal au nombre d'octets de données du mot numérique ainsi que des bits de contrôle, le procédé comprenant un 30 deuxième mode d'écriture mis en oeuvre au sein du dispositif de mémoire et comportant en réponse à une commande d'écriture dudit mot numérique, un calcul (44) de nouveaux bits de contrôle associés aux données du nouveau contenu dudit emplacement mémoire et une écriture du nouveau contenu de l'emplacement mémoire incluant ledit 3039922 36 mot numérique et les nouveaux bits de contrôle par une étape d'effacement (47) sans étape de programmation postérieure si tous les bits de données dudit nouveau contenu sont à 0, ou par une succession classique d'une étape d' effacement (45) et d'une étape de 5 programmation (46) si au moins un bit dudit nouveau contenu est à 1. 8. Procédé selon la revendication 7, dans lequel le mot numérique comporte plusieurs octets de données et le deuxième mode d'écriture comprend en outre préalablement audit calcul (44), une lecture (41) du contenu courant de l'emplacement mémoire. 10 9. Procédé selon la revendication 6 et l'une des revendications 7 ou 8, comportant le premier mode d'écriture et le deuxième mode d' écriture. 10. Procédé d'écriture d'au moins un mot numérique dans au moins un emplacement mémoire d'un plan mémoire d'un dispositif de 15 mémoire morte électriquement programmable et effaçable équipée d'un mécanisme de code correcteur d'erreur du type code de Hamming, ledit mot numérique comportant au moins un octet de données et ledit emplacement mémoire étant destiné à contenir un nombre d'octets de données au moins égal au nombre d'octets de données du mot 20 numérique ainsi que des bits de contrôle, le procédé comprenant un troisième mode d'écriture mis en oeuvre au sein du dispositif de mémoire et comportant en réponse à une commande d'écriture dudit mot numérique, une lecture (31) du contenu courant de l'emplacement mémoire, et une absence d' étape d' effacement et d' étape de 25 programmation si tous les bits dudit contenu courant lu sont à 0 et si tous les bits de données dudit nouveau contenu incluant ledit mot numérique, sont à 0. 11. Procédé selon les revendications 9 et 10, comportant le premier mode d'écriture, le deuxième mode d'écriture et le troisième 30 mode d'écriture. 12. Procédé d'écriture de plusieurs mots numériques dans plusieurs emplacements mémoire d'un plan mémoire d'un dispositif de mémoire morte électriquement programmable et effaçable comportant un mécanisme de code correcteur d'erreur du type code de Hamming, 3039922 37 lesdits plusieurs emplacements mémoire formant au moins une page du plan mémoire, chaque mot numérique comportant au moins un octet de données et chaque emplacement mémoire étant destiné à contenir un nombre d'octets de données au moins égal au nombre d'octets de 5 données du mot numérique ainsi que des bits de contrôle, le procédé comprenant un premier mode d'écriture page mis en oeuvre au sein du dispositif de mémoire et comportant en réponse à une commande d'écriture des mots numériques de ladite page, une lecture du contenu courant de chaque emplacement mémoire, un calcul de nouveaux bits 10 de contrôle associés aux données du nouveau contenu de chaque emplacement mémoire et une écriture du nouveau contenu de chaque emplacement mémoire incluant ledit mot numérique correspondant et les nouveaux bits de contrôle correspondants par une étape de programmation (91) sans étape d'effacement préalable si tous les bits 15 de chaque contenu courant lu sont à 0, ou par une succession classique (92) d'une étape d'effacement et d'une étape de programmation si au moins un bit d'au moins un contenu courant lu est à 1. 13. Procédé d'écriture de plusieurs mots numériques dans plusieurs emplacements mémoire d'un plan mémoire d'un dispositif de 20 mémoire morte électriquement programmable et effaçable comportant un mécanisme de code correcteur d'erreur du type code de Hamming, lesdits plusieurs emplacements mémoire formant au moins une page du plan mémoire, chaque mot numérique comportant au moins un octet de données et chaque emplacement mémoire étant destiné à contenir un 25 nombre d'octets de données au moins égal au nombre d'octets de données du mot numérique ainsi que des bits de contrôle, le procédé comprenant un deuxième mode d'écriture page mis en oeuvre au sein du dispositif de mémoire et comportant en réponse à une commande d'écriture des mots numériques de ladite page, un calcul de nouveaux 30 bits de contrôle associés aux données du nouveau contenu de chaque emplacement mémoire et une écriture du nouveau contenu de chaque emplacement mémoire incluant ledit mot numérique correspondant et les nouveaux bits de contrôle correspondants par une étape d'effacement (101) sans étape de programmation postérieure si tous les 3039922 38 bits de données de chaque nouveau contenu sont à 0, ou par une succession classique (102) d'une étape d'effacement et d'une étape de programmation si au moins un bit d'au moins un nouveau contenu est à 1. 5 14. Procédé selon la revendication 13, dans lequel chaque mot numérique comporte plusieurs octets de données et le deuxième mode d'écriture page comprend en outre préalablement à chaque calcul (42), une lecture (41) du contenu courant de chaque emplacement mémoire. 15. Procédé selon la revendication 12 et l'une des 10 revendications 13 ou 14, comportant le premier mode d'écriture page et le deuxième mode d'écriture page et dans lequel l'écriture des mots numériques de la page nécessite une succession classique d'une étape d'effacement et d'une étape de programmation si les écritures respectives d'au moins deux mots numériques nécessitent des types 15 d'étapes différents. 16. Procédé d'écriture de plusieurs mots numériques dans plusieurs emplacements mémoire d'un plan mémoire d'un dispositif de mémoire morte électriquement programmable et effaçable comportant un mécanisme de code correcteur d'erreur du type code de Hamming, 20 lesdits plusieurs emplacements mémoire formant au moins une page du plan mémoire, chaque mot numérique comportant au moins un octet de données et chaque emplacement mémoire étant destiné à contenir un nombre d'octets de données au moins égal au nombre d'octets de données du mot numérique ainsi que des bits de contrôle, le procédé 25 comprenant un troisième mode d'écriture page mis en oeuvre au sein du dispositif de mémoire et comportant en réponse à une commande d'écriture des mots numériques de ladite page, une lecture du contenu courant de chaque emplacement mémoire, et une absence (111) d'étape d'effacement et d'étape de programmation si tous les bits de chaque 30 contenu courant lu sont à 0 et si tous les bits de données de chaque nouveau contenu incluant ledit mot numérique correspondant, sont à 0. 17. Procédé selon les revendications 15 et 16, comportant le premier mode d'écriture page, le deuxième mode d'écriture page et le 3039922 39 troisième mode d'écriture page, et dans lequel l'écriture des mots numériques de la page nécessite uniquement une étape d'effacement (113) si l'écriture d'au moins un mot numérique nécessite uniquement une étape 5 d'effacement et si l'écriture d'aucun autre mot numérique ne nécessite d'étape de programmation, nécessite uniquement une étape de programmation (116) si l'écriture d'au moins un mot numérique nécessite uniquement une étape de programmation et si l'écriture d'aucun autre mot numérique 10 ne nécessite d'étape d'effacement, nécessite une succession classique (114) d'une étape d'effacement et d'une étape de programmation dans tous les autres cas. 18. Procédé selon l'une des revendications précédentes, dans lequel le mode particulier d'écriture, le premier mode d'écriture et/ou 15 le deuxième mode d'écriture et/ou le troisième mode d'écriture et/ou le premier mode d'écriture page et/ou le deuxième mode d'écriture page et/ou le troisième mode d'écriture page est et/ou sont activable (s). 19. Dispositif de mémoire du type mémoire morte 20 électriquement programmable et effaçable, comprenant un plan mémoire (PM) contenant des emplacements mémoire, des moyens d'effacement (MEFF) configurés pour effacer le contenu d'un emplacement mémoire, des moyens de programmation (MPR) configurés pour programmer au moins un mot numérique dans un 25 emplacement mémoire et des moyens de contrôle (MCM) configurés pour en réponse à une commande d'écriture dudit mot numérique inhiber éventuellement les moyens d'effacement et/ou les moyens de programmation en fonction du contenu antérieur de l'emplacement mémoire et/ou du nouveau contenu de l'emplacement mémoire incluant 30 le mot numérique à écrire. 20. Dispositif selon la revendication 19, dans lequel les moyens de contrôle sont configurés pour inhiber les moyens d'effacement si ledit nouveau contenu est bit à bit supérieur ou égal audit contenu antérieur, le contenu antérieur étant supposé être sans erreur. 3039922 21. Dispositif selon la revendication 20, dans lequel si ledit nouveau contenu de l'emplacement mémoire est bit à bit égal audit contenu antérieur de cet emplacement mémoire, les moyens de contrôle sont également configurés pour inhiber les moyens de programmation. 5 22. Dispositif selon la revendication 20 ou 21, dans lequel si ledit nouveau contenu de l'emplacement mémoire est bit à bit supérieur ou égal audit contenu antérieur et qu'au moins un bit du nouveau contenu est supérieur au bit correspondant du contenu antérieur supposé être sans erreur, les moyens de contrôle sont 10 configurés pour activer les moyens de programmation de façon à effectuer uniquement une programmation de chaque bit du nouveau contenu supérieur au bit correspondant du contenu antérieur. 23. Dispositif selon l'une des revendications 19 à 22, dans lequel les moyens de contrôle sont configurés pour commander la 15 programmation de chaque bit pour lequel le résultat d'une fonction logique ET (3030) appliquée à la nouvelle valeur de ce bit et à l'opposée de l'ancienne valeur de ce bit, est égal à 1. 24. Dispositif de mémoire du type mémoire morte électriquement programmable et effaçable, comprenant 20 un plan mémoire (PM) contenant des emplacements mémoire, un mécanisme (MECC) de code correcteur d'erreur du type code de Hamming, des moyens d'effacement (MEFF) configurés pour effacer le contenu d'un emplacement mémoire, 25 des moyens de programmation (MPR) configurés pour programmer au moins un mot numérique comportant au moins un octet dans un emplacement mémoire, ledit emplacement mémoire étant destiné à contenir un nombre d'octets de données au moins égal au nombre d'octets de données du mot numérique ainsi que des bits de 30 contrôle, des moyens de lecture (AMPL), et des premiers moyens de commande (MCM) configurés pour en réponse à une commande d'écriture dudit mot numérique, 3039922 41 activer les moyens de lecture (AMPL) pour lire le contenu courant dudit emplacement mémoire, activer le mécanisme (MECC) de code correcteur d'erreur pour calculer de nouveaux bits de contrôle associés aux données du nouveau 5 contenu dudit emplacement mémoire et activer uniquement les moyens de programmation (MPR) si tous les bits dudit contenu courant lu sont à 0 ou activer successivement les moyens d'effacement (MEFF) et les moyens de programmation (MPR) si au moins un bit dudit contenu courant lu est à 10 1, de façon à écrire le nouveau contenu de l'emplacement mémoire incluant ledit mot numérique et les nouveaux bits de contrôle. 25. Dispositif de mémoire du type mémoire morte électriquement programmable et effaçable, comprenant un plan mémoire (PM) contenant des emplacements mémoire, 15 un mécanisme (MECC) de code correcteur d'erreur du type code de Hamming, des moyens d'effacement (MEFF) configurés pour effacer le contenu d'un emplacement mémoire, des moyens de programmation (MPR) configurés pour 20 programmer au moins un mot numérique comportant au moins un octet dans un emplacement mémoire, ledit emplacement mémoire étant destiné à contenir un nombre d'octets de données au moins égal au nombre d'octets de données du mot numérique ainsi que des bits de contrôle, 25 des moyens de lecture (AMPL), et des deuxièmes moyens de commande (MCM) configurés pour en réponse à une commande d'écriture dudit mot numérique, activer le mécanisme (MECC) de code correcteur d'erreur pour calculer de nouveaux bits de contrôle associés aux données du nouveau 30 contenu dudit emplacement mémoire et activer uniquement les moyens d'effacement (MEFF) si tous les bits de données du nouveau contenu sont à 0 ou activer successivement les moyens d'effacement (MEFF) et les moyens de programmation (MPR) si au moins un bit du nouveau contenu est à 1, de façon à écrire 3039922 42 le nouveau contenu de l'emplacement mémoire incluant ledit mot numérique et les nouveaux bits de contrôle. 26. Dispositif selon la revendication 25, dans lequel le mot numérique comporte plusieurs octets de données et les deuxièmes 5 moyens de commande sont en outre configurés pour activer, préalablement à l'activation du mécanisme de code correcteur d'erreur, les moyens de lecture (AMPL) pour lire le contenu courant de l'emplacement mémoire. 27. Dispositif selon la revendication 24 et l'une des 10 revendications 25 ou 26, comportant les premiers et deuxièmes moyens de commande. 28. Dispositif de mémoire du type mémoire morte électriquement programmable et effaçable, comprenant un plan mémoire (PM) contenant des emplacements mémoire, 15 un mécanisme (MECC) de code correcteur d'erreur du type code de Hamming, des moyens d'effacement (MEFF) configurés pour effacer le contenu d'un emplacement mémoire, des moyens de programmation (MPR) configurés pour 20 programmer au moins un mot numérique comportant au moins un octet dans un emplacement mémoire, ledit emplacement mémoire étant destiné à contenir un nombre d'octets de données au moins égal au nombre d'octets de données du mot numérique ainsi que des bits de contrôle, 25 des moyens de lecture (AMPL), et des troisièmes moyens de commande (MCM) configurés pour en réponse à une commande d'écriture dudit mot numérique, activer les moyens de lecture (AMPL) pour lire le contenu courant dudit emplacement mémoire, 30 n'activer ni les moyens d'effacement (MEFF) ni les moyens de programmation (MPR) si tous les bits dudit contenu courant lu sont à 0 et si tous les bits de données dudit nouveau contenu incluant ledit mot numérique, sont à 0. 3039922 43 29. Dispositif selon les revendications 27 et 28, comportant les premiers, deuxièmes et troisièmes moyens de commande. 30. Dispositif de mémoire du type mémoire morte électriquement programmable et effaçable, comprenant 5 un plan mémoire (PM) contenant au moins une page contenant plusieurs emplacements mémoire, un mécanisme (MECC) de code correcteur d'erreur du type code de Hamming, des moyens d'effacement (MEFF) configurés pour effacer le 10 contenu d'une page, des moyens de programmation (MPR) configurés pour programmer plusieurs mots numériques dans les emplacements mémoire de ladite page, chaque mot numérique comportant au moins un octet, ledit emplacement mémoire correspondant étant destiné à 15 contenir un nombre d'octets de données au moins égal au nombre d'octets de données du mot numérique ainsi que des bits de contrôle, des moyens de lecture (AMPL), et des quatrièmes moyens de commande (MCM) configurés pour en réponse à une commande d'écriture des mots numériques, 20 activer les moyens de lecture (AMPL) pour lire le contenu courant de chaque emplacement mémoire, activer le mécanisme (MECC) de code correcteur d'erreur pour calculer de nouveaux bits de contrôle associés aux données du nouveau contenu de chaque emplacement mémoire et 25 activer uniquement les moyens de programmation (MPR) si tous les bits de chaque contenu courant lu sont à 0 ou activer successivement les moyens d'effacement (MEFF) et les moyens de programmation (MPR) si au moins un bit d'au moins un contenu courant lu est à 1, de façon à écrire le nouveau contenu de chaque 30 emplacement mémoire incluant ledit mot numérique correspondant et les nouveaux bits de contrôle correspondants. 31. Dispositif de mémoire du type mémoire morte électriquement programmable et effaçable, comprenant 3039922 44 un plan mémoire (PM) contenant au moins une page contenant plusieurs emplacements mémoire, un mécanisme (MECC) de code correcteur d'erreur du type code de Hamming, 5 des moyens d'effacement (MEFF) configurés pour effacer le contenu d'une page, des moyens de programmation (MPR) configurés pour programmer plusieurs mots numériques dans les emplacements mémoire de ladite page, chaque mot numérique comportant au moins 10 un octet, ledit emplacement mémoire correspondant étant destiné à contenir un nombre d'octets de données au moins égal au nombre d'octets de données du mot numérique ainsi que des bits de contrôle, des moyens de lecture (AMPL), et des cinquièmes moyens de commande (MCM) configurés pour 15 en réponse à une commande d'écriture des mots numériques, activer le mécanisme (MECC) de code correcteur d'erreur pour calculer de nouveaux bits de contrôle associés aux données de chaque nouveau contenu dudit emplacement mémoire et activer uniquement les moyens d'effacement (MEFF) si tous les 20 bits de données de chaque nouveau contenu sont à 0 ou activer successivement les moyens d'effacement (MEFF) et les moyens de programmation (MPR) si au moins un bit de chaque nouveau contenu est à 1, de façon à écrire le nouveau contenu de chaque emplacement mémoire incluant ledit mot numérique correspondant et les nouveaux 25 bits de contrôle correspondants. 32. Dispositif selon la revendication 31, dans lequel chaque mot numérique comporte plusieurs octets de données et les cinquièmes moyens de commande sont en outre configurés pour activer, préalablement à l'activation du mécanisme de code correcteur d'erreur, 30 les moyens de lecture (AMPL) pour lire le contenu courant de chaque emplacement mémoire. 33. Dispositif selon la revendication 30 et l'une des revendications 31 ou 32, comportant des moyens de commande incorporant les quatrièmes et cinquièmes moyens de commande, et 3039922 configurés commander l'écriture des mots numériques de la page par une succession classique d'une étape d'effacement et d'une étape de programmation si les écritures respectives d'au moins deux mots numériques nécessitent des types d'étapes différents. 5 34. Dispositif de mémoire du type mémoire morte électriquement programmable et effaçable, comprenant un plan mémoire (PM) contenant au moins une page contenant plusieurs emplacements mémoire, un mécanisme (MECC) de code correcteur d'erreur du type 10 code de Hamming, des moyens d'effacement (MEFF) configurés pour effacer le contenu d'une page, des moyens de programmation (MPR) configurés pour programmer plusieurs mots numériques dans les emplacements 15 mémoire de ladite page, chaque mot numérique comportant au moins un octet, ledit emplacement mémoire correspondant étant destiné à contenir un nombre d'octets de données au moins égal au nombre d'octets de données du mot numérique ainsi que des bits de contrôle, des moyens de lecture (AMPL), et 20 des sixièmes moyens de commande (MCM) configurés pour en réponse à une commande d'écriture des mots numériques, activer les moyens de lecture (AMPL) pour lire le contenu courant de chaque emplacement mémoire, n'activer ni les moyens d'effacement (MEFF) ni les moyens de 25 programmation (MPR) si tous les bits de chaque contenu courant lu sont à 0 et si tous les bits de données de chaque nouveau contenu incluant ledit mot numérique correspondant, sont à 0. 35. Dispositif selon les revendications 33 et 34, comportant des moyens de commande incorporant les quatrièmes, cinquièmes et 30 sixièmes moyens de commande, et configurés pour commander l'écriture des mots numériques de la page uniquement par une étape d'effacement si l'écriture d'au moins un mot numérique nécessite uniquement une étape d'effacement et si 3039922 46 l'écriture d'aucun autre mot numérique ne nécessite d'étape de programmation, uniquement par une étape de programmation si l'écriture d'au moins un mot numérique nécessite uniquement une étape de 5 programmation et si l'écriture d'aucun autre mot numérique ne nécessite d'étape d'effacement, et par une succession classique d'une étape d'effacement et d'une étape de programmation dans tous les autres cas. 36. Dispositif selon l'une des revendications 19 à 35, dans 10 lequel les moyens de contrôle et/ou les premiers moyens de commande et/ou les deuxièmes moyens de commande et/ou les troisièmes moyens de commande et/ou les quatrièmes moyens de commande et/ou les cinquièmes moyens de commande et/ou les sixièmes moyens de commande sont activables.