Brevet FR2856186A1 — publié le 20041217

MEMOIRE FLASH COMPRENANT DES MOYENS DE CONTROLE ET DE RAFRAICHISSEMENT DE CELLULES MEMOIRE DANS L'ETAT EFFACE La présente invention concerne les mémoires Flash, et plus particulièrement une mémoire Flash effaçable par page du type décrit par la demande internationale WO 02/41322, comprenant des moyens de contrôle et de 5 rafraîchissement de cellules mémoire dans l'état programmé. Les cellules mémoire de mémoire Flash se distinguent des cellules mémoire de mémoire EEPROM par le fait qu'elles ne comprennent pas de transistors d'accès. 10 De ce fait, dans un plan mémoire Flash, les transistors à grille flottante des cellules mémoire sont directement reliés aux lignes de bit du plan mémoire. Une autre particularité des mémoires Flash est que les cellules mémoire sont dépourvues de transistor de 15 contrôle de grille. De ce fait, lorsqu'une tension d'effacement est appliquée sur une ligne de mot, les grilles de contrôle de tous les transistors à grille flottante reçoivent cette tension. Ainsi, l'opération d'effacement dans une mémoire Flash est une opération 20 collective qui concerne au moins toutes les cellules mémoire d'une même ligne de mot (page). Dans le cas d'un effacement par le canal, l'effacement concerne toutes les cellules mémoire d'un même secteur (cellules mémoire ayant un substrat commun, formé dans un caisson de type 25 P) à moins de mettre en oeuvre un procédé d'effacement sélectif par page décrit dans la demande internationale précitée. Leurs cellules mémoire étant ainsi dépourvues de transistor d'accès et de transistor de contrôle de grille, les mémoires Flash offrent une grande densité d'intégration en terme de nombre de cellules mémoire par unité de surface de silicium. Cette simplification de la structure des cellules mémoire entraîne toutefois divers inconvénients, notamment un phénomène de stress de programmation. En effet la programmation d'une cellule mémoire est 10 une opération qui comprend l'application, sur une ligne de bit à laquelle la cellule mémoire est reliée, d'une tension de programmation Vpp (tension de drain du transistor à grille flottante). Or, tous les transistors à grille flottante reliés à la ligne de bit concernée 15 reçoivent la tension Vpp puisqu'ils sont dépourvus de transistor d'accès. Ceci entraîne un stress électrique appelé stress de programmation ou stress de drain. Ce stress de drain est particulièrement gênant dans une mémoire Flash effaçable par page du type décrit par 20 la demande internationale précitée. En effet la prévision d'une mémoire Flash effaçable par page n'a d'intérêt que si l'on offre à l'utilisateur la possibilité d'effacer et de reprogrammer une même page un grand nombre de fois, sans se préoccuper des autres pages de la mémoire. Or, 25 lorsque l'utilisateur applique des cycles d'effacement et de programmation successifs aux cellules mémoire d'une même page, les cellules mémoire des autres pages reçoivent répétitivement sur leurs drains la tension de programmation, ce qui entraîne une altération progressive 30 des charges électriques piégées dans leurs grilles flottantes et peut conduire à une corruption de données. Pour pallier cet inconvénient, la demande internationale précitée propose un procédé de rafraîchissement en programmation ("program refresh") 35 comprenant une étape de contrôle cyclique des pages de la mémoire, et une étape de rafraîchissement des cellules mémoire programmées ayant perdu des charges électriques. Ce rafraîchissement consiste en une reprogrammation des cellules mémoire et permet d'éviter que ces cellules mémoire ne basculent progressivement dans l'état effacé. La présente invention se fonde sur la constatation selon laquelle le phénomène de stress électrique a non seulement pour effet de déprogrammer des cellules mémoire dans l'état programmé (leur faire perdre des charges 10 électriques) mais affecte également les cellules mémoire dans l'état effacé. On constate en effet que des charges électriques sont lentement piégées dans les grilles flottantes des cellules mémoire effacées, qui tendent progressivement vers l'état programmé. Ce phénomène est 15 plus lent que le phénomène de "déprogrammation" de cellules mémoire programmées, mais peut entraîner une corruption de données après des milliers de cycles de stress électrique. La présente invention vise à pallier cet 20 inconvénient. A cet effet, une première idée de la présente invention est de prévoir des cycles de rafraîchissement de cellules mémoire effacées, par analogie avec les cycles de rafraîchissement de cellules mémoire 25 programmées décrits dans la demande internationale précitée. Toutefois, s'il est techniquement possible de reprogrammer individuellement des cellules mémoire programmées ayant perdu des charges électriques, il 30 semble au premier abord impossible de rafraîchir (réeffacer) des cellules mémoire effacées ayant reçu une injection parasite de charges électriques. En effet, la programmation est une opération sélective, qui comprend l'application d'une tension de programmation aux lignes 35 de bit des cellules mémoire à programmer, grâce à des verrous de programmation sélectionnables individuellement, tandis que l'effacement est une opération collective, comme rappelé cidessus, qui concerne au moins toutes les cellules mémoire d'une même 5 ligne de mot sinon toutes les cellules mémoire d'un même secteur. De ce fait, un rafraîchissement sélectif en effacement n'est pas envisageable avec un procédé d'effacement classique de cellules mémoire Flash. Si une 10 page comprend des transistors programmés devant être rafraîchis en programmation et des transistors effacés devant être rafraîchis en effacement, les transistors programmés peuvent être rafraîchis individuellement mais les transistors effacés ne peuvent être rafraîchis 15 individuellement au risque d'effacer les transistors programmés de la page. C'est pourquoi la demande internationale précitée ne propose qu'un rafraîchissement en programmation. Ainsi, un autre objectif de la présente invention 20 est de prévoir, dans une mémoire o toutes les cellules mémoire d'une page sont effacées collectivement, un procédé d'effacement sélectif permettant de rafraîchir individuellement des cellules mémoire dans l'état effacé sans effacer des cellules mémoire se trouvant dans l'état 25 programmé. Cet objectif est atteint par la prévision d'un procédé de contrôle et de rafraîchissement d'un transistor à grille flottante dans l'état efface, comprenant les étapes consistant à appliquer une tension 30 d'effacement positive sur une grille de contrôle du transistor à grille flottante, et appliquer une tension d'effacement positive au drain du transistor à grille flottante. Selon un mode de réalisation, la tension d'effacement positive est fournie par un verrou de programmation du transistor à grille flottante. Selon un mode de réalisation, la tension 5 d'effacement positive est égale à une tension de programmation fournie par le verrou lors d'une programmation du transistor à grille flottante. Selon un mode de réalisation, le procédé comprend une étape de contrôle de la tension de seuil du 10 transistor à grille flottante, l'étape de contrôle comprenant la lecture du transistor avec une première tension de lecture et la lecture du transistor avec une seconde tension de lecture. La présente invention concerne également un procédé 15 de contrôle et de rafraîchissement d'une page de mémoire Flash comprenant une pluralité de transistors à grille flottante reliés par leurs grilles de contrôle à une ligne de mot commune, et reliés par leurs drains à des lignes de bit différentes, la mémoire Flash comprenant 20 des verrous de programmation reliés aux lignes de bit pour appliquer sélectivement aux drains des transistors à grille flottante une tension de programmation, comprenant une étape de rafraîchissement de transistors à grille flottante de la page se trouvant dans l'état effacé, 25 l'étape de rafraîchissement comprenant les étapes consistant à appliquer une tension d'effacement positive à la ligne de mot, et appliquer une tension d'effacement positive aux lignes de bit reliées aux drains de transistors à grille flottante devant être rafraîchis. Selon un mode de réalisation, la tension d'effacement positive est fournie par des verrous de programmation. Selon un mode de réalisation, la tension d'effacement positive est égale à la tension de 35 programmation. Selon un mode de réalisation, le procédé comprend une étape de contrôle de la tension de seuil des transistors à grille flottante de la page, l'étape de contrôle comprend une étape de lecture des transistors 5 avec une première tension de lecture appliquée à la ligne de mot, et une étape de lecture des transistors avec une seconde tension de lecture appliquée à la ligne de mot, un transistor n'étant rafraîchi que si deux bits lus dans le transistor avec les deux tensions de lecture, 10 présentent des valeurs différentes. Selon un mode de réalisation, le contrôle et le rafraîchissement d'une page comprend les étapes suivantes: i) lecture de tous les transistors de la page avec une première tension de lecture, par groupe de M 15 transistors, et chargement dans une mémoire tampon de groupes de M bits lus avec la première tension de lecture, ii) lecture d'un groupe de M transistors de la page avec une seconde tension de lecture, iii) combinaison logique bit à bit des M bits lus avec la 20 seconde tension de lecture et des M bits lus avec la première tension de lecture chargés dans la mémoire tampon, iv) chargement dans la mémoire tampon de M bits formant le résultat de la combinaison logique, vi) répétition des étapes ii), iii) et iv) pour chaque groupe 25 suivant de M transistors, jusqu'à ce que la page soit entièrement contrôlée, vii) chargement successif dans des verrous de programmation des groupes de M bits présents dans la mémoire tampon, chaque chargement étant accompagné d'une application de la tension d'effacement 30 positive sur la ligne de mot et de l'activation des verrous de programmation. Selon un mode de réalisation, la combinaison logique bit à bit est faite au moyen de portes logiques de type OU EXCLUSIF. Selon un mode de réalisation, l'adresse de la page à contrôler est fournie par un compteur non volatile comprenant des cellules mémoire reliées à une ligne de mot spéciale de la mémoire Flash. Selon un mode de réalisation, l'adresse de la page à contrôler est fonction de l'adresse de colonne du premier groupe de M cellules mémoire non programmées trouvé dans le compteur. Selon un mode de réalisation, le procédé comprend 10 également une étape de contrôle et de rafraîchissement de transistors à grille flottante dans l'état programme. La présente invention concerne également une mémoire Flash comprenant un plan mémoire comprenant une pluralité de transistors à grille flottante reliés par 15 leurs grilles de contrôle à des lignes de mot, et par leurs drains à des lignes de bit, les transistors reliés à une même ligne de mot formant une page du plan mémoire, des verrous de programmation reliés aux lignes de bit pour appliquer sélectivement aux drains des transistors à 20 grille flottante une tension de programmation, un compteur pour désigner l'adresse d'au moins une page à contrôler, des moyens de contrôle de la tension de seuil de transistors à grille flottante dans l'état programmé d'une page désignée par le compteur, et de 25 reprogrammation de transistors programmés ayant une tension de seuil inférieure à un premier seuil déterminé, et des moyens de contrôle de la tension de seuil de transistors à grille flottante dans l'état effacé de la page désignée par le compteur, et de rafraîchissement de 30 transistors effacés ayant une tension de seuil supérieure à un second seuil déterminé. Selon un mode de réalisation, les moyens de rafraîchissement de transistors effacés sont agencés pour appliquer une tension d'effacement positive à la 35 ligne de mot à laquelle les transistors effacés sont reliés, et appliquer une tension d'effacement positive aux lignes de bit reliées aux drains de transistors à grille flottante devant être rafraîchis. Selon un mode de réalisation, la tension 5 d'effacement positive est fournie par des verrous de programmation. Selon un mode de réalisation, la tension d'effacement positive est égale à la tension de programmation. Selon un mode de réalisation, les moyens de contrôle de la tension de seuil de transistors à grille flottante dans l'état effacé comprennent des moyens de lecture des transistors avec une première tension de lecture, des moyens de lecture des transistors avec une 15 seconde tension de lecture, et des moyens de comparaison des données lues dans les transistors avec les deux tensions de lecture. Selon un mode de réalisation, les moyens de contrôle de la tension de seuil de transistors à grille 20 flottante dans l'état effacé comprennent une mémoire tampon et un circuit de combinaison logique et sont agencés pour: i) lire tous les transistors de la page avec une première tension de lecture par groupe de M transistors, et charger dans la mémoire tampon des 25 groupes de M bits lus avec la première tension de lecture, ii) lire un groupe de M transistors de la page avec une seconde tension de lecture, iii) combiner bit à bit les M bits lus avec la seconde tension de lecture et les M bits correspondants lus avec la première tension de 30 lecture et chargés dans la mémoire tampon, iv) charger dans la mémoire tampon les M bits formant le résultat de la combinaison logique, vi) répéter les étapes ii), iii) et iv) pour chaque groupe suivant de M transistors, jusqu'à ce que la page soit entièrement contrôlée, vii) 35 charger successivement dans des verrous de programmation des groupes de M bits présents dans la mémoire tampon, chaque chargement étant accompagné d'une application de la tension d'effacement positive sur la ligne de mot et d'une activation des verrous de programmation. Selon un mode de réalisation, le circuit de combinaison logique comprend des portes logiques de type OU EXCLUSIF. Selon un mode de réalisation, le compteur est un compteur non volatile comprenant des cellules mémoire 10 reliées à une ligne de mot spéciale de la mémoire Flash. Ces objets, caractéristiques et avantages ainsi que d'autres de la présente invention seront exposés plus en détail dans la description suivante du procédé de rafraîchissement en effacement selon l'invention et d'un 15 exemple de mise en oeuvre de ce procédé dans une mémoire Flash effaçable par page, faite à titre non limitatif en relation avec les figures jointes parmi lesquelles: - la figure 1 est une vue en coupe schématique de deux transistors à grille flottante de mémoire Flash, - la figure 2 illustre schématiquement la mise en oeuvre d'un procédé d'effacement de page dans une mémoire Flash, - la figure 3 illustre schématiquement la mise en oeuvre d'un procédé de programmation sélective de transistor à grille flottante dans une mémoire Flash, - la figure 4 illustre l'effet du stress électrique de programmation dans des courbes de distribution statistique de tensions de seuil de transistors à grille flottante dans l'état programme, - la figure 5 illustre l'effet du stress électrique de 30 programmation dans des courbes de distribution statistique de tensions de seuil de transistors à grille flottante dans l'état efface, - les figures 6A, 6B illustrent un procédé de rafraîchissement selon l'invention de transistors à 35 grille flottante se trouvant dans l'état efface, - la figure 7 représente sous forme de blocs l'architecture d'une mémoire Flash mettant en oeuvre le procédé de rafraîchissement selon l'invention, - la figure 8 représente l'architecture d'un circuit de contrôle représenté sous forme de bloc en figure 7, et - la figure 9 représente l'architecture d'un compteur de contrôle et de rafraîchissement présent dans la mémoire de la figure 7 On décrira dans ce qui suit un procédé de 10 rafraîchissement de cellules mémoire dans l'état effacé (rafraîchissement en effacement ou "erase refresh"). Ce procédé est destiné à être préférentiellement mis en oeuvre dans une mémoire Flash dans laquelle les cellules mémoire d'une même page sont effacées collectivement et 15 programmées individuellement, et sont rafraîchies en programmation. A titre de rappel et pour une bonne compréhension du contexte dans lequel s'inscrit la présente invention, on décrira tout d'abord un procédé classique d'effacement 20 collectif des cellules mémoire d'une page, un procédé classique de programmation sélective de cellules mémoire, et un procédé classique de rafraîchissement de cellules mémoire dans l'état programmé (rafraîchissement en programmation ou "program refresh"). Effacement collectif de cellules mémoire La figure 1 est une vue en coupe de deux transistors à grille flottante FGTi, FGTi+l de type NMOS formant deux cellules mémoire Flash. Les transistors FGT sont réalisés dans un caisson 1 de type P implanté dans 30 un caisson 2 de type N lui-même implanté dans un substrat 3 de type P. Chaque transistor comprend une grille flottante FG déposée sur le caisson 1 par l'intermédiaire d'une couche d'oxyde tunnel OXl, et une grille de contrôle G déposée sur la grille flottante FG par 35 l'intermédiaire d'une autre couche d'oxyde OX2. La région l1 de canal CHN de chaque transistor s'étend sous l'oxyde de grille OX1 et est délimitée par des régions de source et de drain de type N+ implantées dans le caisson 1. La grille de contrôle du transistor FGTi est reliée à une 5 ligne de mot WLi et la grille de contrôle du transistor FGTi+1 est reliée à une ligne de mot WLi+1. L'effacement d'un transistor à grille flottante consiste en une extraction de charges électriques piégées dans la grille flottantes, par effet tunnel (effet Fowler 10 Nordheim). Pour effacer l'un des transistors, par exemple le transistor FGTi, le caisson 1 (soit le canal du transistor) est porté à une tension VB égale à une tension d'effacement positive VERpos, par exemple 9 V. Les sources sont portées à une tension VS qui est aussi 15 égale à VERpos. Les régions de drain sont portées à haute impédance par un décodeur de colonne (non représenté) de sorte qu'une tension VD égale à [VERpos - 0,6V] apparaît sur ces régions, en raison de l'existence de jonctions canal/drain représentées schématiquement sous forme de diodes dans le sens passant. Une tension d'effacement négative VG = VERneg, par exemple -9 V, est appliquée à la grille de contrôle du transistor FGTi, tandis que la grille de contrôle du transistor FGTi+l reçoit une tension d'inhibition VINHIB. La tension VIHNIB est 25 comprise entre 0V et 9 V mais est de préférence de 0 V pour simplifier l'architecture d'un décodeur de ligne de mot fournissant les tensions VINHIB et VERneg. La tension VINHIB compense tout ou partie du champ électrique créé par la tension VERpos et s'oppose à l'effacement du 30 transistor FGTi+l. La figure 2 illustre la mise en oeuvre de ce procédé d'effacement dans un plan mémoire Flash comprenant deux secteurs Sl, S2, chaque secteur étant formé par un caisson P implanté dans un caisson N. Les drains des 35 transistors à grille flottante de chaque secteur sont reliés à des lignes de bit BLj, BLj' qui sont elles-mêmes reliées à des verrous de programmation PGRLTj, PGRLTj'. Les grilles de contrôle des transistors à grille flottante sont reliées à des lignes de mot WLi, WLi' 5 contrôlées par un décodeur de ligne de mot XDEC. L'isolement électrique des lignes de bit de même rang de chaque secteur, par exemple la ligne BLj du secteur Sl et la ligne BLj du secteur S2, est assuré par un décodage local au niveau des secteurs (non représenté). Supposons que la page Pi du secteur Sl (ligne de mot WLi) doive être effacée sans effacer les autres pages du secteur Sl ni celles du secteur S2. Le caisson du secteur Sl et les sources des transistors du secteur sont portés à des tensions VS, VB égales à VERpos. 15 Simultanément le décodeur XDEC fournit la tension d'effacement négative VERneg à la ligne de mot à effacer WLi et fournit la tension d'inhibition VINHIB aux autres lignes de mot WLi' du secteur Sl. Ainsi, seuls les transistors de la page Pi sont effacés. Dans le secteur 20 S2, toutes les lignes de bit BLj, BLj' sont portées à haute impédance, toutes les lignes de mot WL reçoivent une tension nulle (GND) et le caisson du secteur S2 est relié à la masse (GND). Les transistors du secteur S2 sont donc isolés des tensions d'effacement apparaissant 25 dans le secteur Sl. Si l'on souhaite effacer collectivement tous les transistors du même secteur (transistors réalisés dans le même caisson), la tension d'effacement négative VERneg est simultanément appliquée sur toutes les lignes de mot 30 du même secteur. En définitive, l'effacement d'un transistor à grille flottante est une opération collective qui ne concerne que les transistors d'une même ligne de mot, dans le cas d'un effacement sélectif par page, ou 35 concerne tous les transistors du caisson concerné dans le cas d'un effacement par secteur (application de la tension VERneg au lieu de la tension VINHIB sur toutes les lignes de mot du secteur). Il n'est donc pas envisageable d'effacer 5 individuellement un transistor à grille flottante en utilisant le processus d'effacement classique qui vient d'être décrit. Il est au contraire possible de programmer individuellement un tel transistor, comme rappelé ciaprès, grâce aux verrous de programmation. Programmation sélective de cellules mémoire Dans une mémoire Flash, le processus de programmation s'effectue par injection d'électrons chauds et est applicable sélectivement à un ou plusieurs transistors. La figure 3 représente le même plan mémoire Flash que celui représenté en figure 2. Supposons qu'un transistor déterminé doive être programmé, par exemple le transistor relié à la ligne de bit BLj et la ligne de mot WLi du secteur S1. Le décodeur XDEC applique à la grille de contrôle du transistor, par l'intermédiaire de la ligne de mot WLi, une tension de grille VG égale à une tension de programmation Vprogl positive, par exemple 7,5 V. Le verrou de programmation PGRLTj applique au drain du 25 transistor à programmer, par l'intermédiaire de la ligne de bit BLj, une tension de drain VD égale à une tension de programmation Vprog2, par exemple 4,5 V. La source du transistor est portée à une tension de source VS nulle et le caisson correspondant au secteur considéré est porté à 30 la masse (VB = GND) ou à une tension sensiblement négative pour améliorer l'injection d'électrons chauds, par exemple -1,2 V. Le transistor recevant les tensions Vprogl et Vprog2 est dans l'état passant et fortement polarisé, ce qui conduit à l'injection de charges 35 électriques dans les grilles flottantes (état programmé). Les transistors de la même ligne de mot qui ne sont pas à programmer, reçoivent la tension Vprogl sur leurs grilles de contrôle mais ne reçoivent pas la tension Vprog2 sur leurs drains, car les lignes de bit BLj' 5 correspondantes sont portées à haute impédance HZ par les autres verrous. La programmation est donc une opération sélective, car les tensions de programmation sont appliquées aux lignes de bit par des verrous de programmation qui sont sélectionnables individuellement. O10 La ligne de mot WLi' ne correspondant pas à la page o se trouvent les transistors à programmer reçoit une tension de grille VG nulle. De même, dans le secteur S2, toutes les lignes de bit sont portées à haute impédance (HZ) et toutes les lignes de mot sont à la masse. Dans le secteur Sl, les cellules mémoire de la ligne de mot WLi' qui sont reliées à la ligne de bit BLj reçoivent toutefois la tension de programmation Vprog2 et subissent un stress de programmation. Ces effets sont corrigés par le procédé de rafraîchissement en 20 programmation décrit ci-après. Contr8le et rafraîchissement de cellules mémoire programmées La figure 4 représente la répartition statistique DS des tensions de seuil Vt de transistors programmés 25 (courbe CA, lecture d'un 0) Sous l'effet du stress électrique, la courbe CA a tendance à se déplacer lentement vers la gauche, pour former une courbe CA' Les transistors relevant de la courbe CA' ont perdu des charges électriques et présentent des tensions de seuil 30 plus faibles que la normale. Une tension de lecture VREAD appliquée à la grille de contrôle de ces transistors, de l'ordre de 4,5V, se trouve à gauche des courbes CA, CA' et ne permet pas de distinguer un transistor relevant de la courbe CA ou un transistor relevant de la courbe CA' Selon l'enseignement divulgué par la demande internationale précitée, la tension de seuil de transistors programmés est contrôlée en appliquant aux grilles de contrôle des transistors, en tant que tension 5 de lecture, une tension de contrôle VPR se trouvant entre les deux courbes CA, CA', par exemple 6,75 V. Cette tension permet de distinguer un transistor correctement programmé d'un transistor dont la grille flottante a perdu des charges électriques, car dans le premier cas le 10 transistor est bloqué (lecture d'un 0, soit la valeur logique de programmation) et dans le second cas le transistor est passant (lecture d'un 1, soit la valeur logique d'effacement). La comparaison de données lues dans un groupe de transistors à grille flottante au moyen 15 des deux tensions VREAD, VPR permet de détecter l'existence de transistors programmés dont les tensions de seuil sont devenues plus faibles que la tension VPR. Si la comparaison montre que les données ne sont pas identiques, les données de référence lues avec la 20 tension VREAD sont réenregistrées dans les transistors à grille flottante, au cours d'un cycle de programmation en soi classique formant un cycle de rafraîchissement. Au terme de ce cycle de rafraîchissement, la distribution statistique CA' se décale vers la droite et devient 25 identique à la distribution statistique CA. Procédé de contrôle de cellules mémoire dans l'état effacé Les observations exposées ci-après font partie intégrante de la présente invention. La figure 5 représente la répartition statistique DS des tensions de seuil Vt de transistors effacés (courbe CB, lecture d'un 1). Sous l'effet du stress électrique, la courbe CB a tendance à se déplacer lentement vers la droite, pour former une courbe CB'. Les 35 transistors relevant de la courbe CB' ont subi une injection parasite de charges électriques et présentent des tensions de seuil plus élevées que la normale. La tension de lecture VREAD se trouve à droite des courbes CB, CB' et ne permet pas de distinguer un transistor 5 relevant de la courbe CB ou un transistor relevant de la courbe CB' On prévoit ainsi, selon l'invention, un contrôle de la tension de seuil des transistors effacés. Ce contrôle est effectué en appliquant aux grilles de contrôle de ces 10 transistors, en tant que tension de lecture, une tension de contrôle VNR se trouvant entre les deux courbes CB, CB', par exemple 4,25 V. Cette tension permet de distinguer un transistor correctement effacé d'un transistor effacé dont la grille flottante a subi une 15 injection parasite de charges électriques, car dans le premier cas le transistor est passant (lecture d'un 1) et dans le second cas le transistor est bloqué (lecture d'un 0). Selon l'invention, des transistors à grille 20 flottante sont lus par groupe de M transistors, par exemple 8, au moyen des deux tensions VREAD,VNR, et les données lues avec les deux tensions de lecture sont ensuite comparées. Si des transistors effacés présentent une tension de seuil plus élevée que la tension VNR, les 25 données lues avec la tension VNR sont différentes des données de référence lues avec la tension VREAD. Cellesci sont alors réenregistrées dans les transistors à grille flottante, au cours d'un cycle d'effacement sélectif selon l'invention, décrit ci-après. Ce cycle 30 d'effacement sélectif forme un cycle de rafraîchissement de transistors à grille flottante endommagés. Au terme de ce cycle de rafraîchissement, la distribution statistique CB' se décale vers la gauche et devient identique à la distribution statistique CB. Procédé de rafraîchissement sélectif de cellules mémoire dans l'état effacé La figure 6A illustre les tensions appliquées aux bornes d'un transistor à grille flottante devant être 5 rafraîchi conformément au procédé de l'invention. La tension de grille VG du transistor est classiquement portée à la valeur d'effacement négative VERneg. L'idée de l'invention est d'appliquer une tension positive VD au drain du transistor au lieu d'appliquer la 10 tension positive VERpos au canal et à la source du transistor. Il se produit alors, par effet tunnel, une extraction de charges depuis la grille flottante du transistor, portée à la tension VERneg, vers la source de tension positive à laquelle le drain est relié. L'avantage de ce procédé d'effacement est que la tension de drain positive VD peut être fournie sélectivement par un verrou de programmation. La tension de drain positive VD est par exemple la tension de programmation Vprog2, ce qui évite de polariser les 20 verrous de programmation avec une tension différente de celle utilisée pendant les cycles de programmation. Simultanément, la source et le canal sont portés à des potentiels électriques n'interférant pas avec le mécanisme d'effet tunnel intervenant entre la grille de 25 contrôle et le drain du transistor, par exemple les potentiels VS = VB = 0 V ou VS = 0 V et VB = -l,2 V. La figure 6B représente le même plan mémoire Flash que celui représenté en figures 2 et 3. Supposons qu'un transistor déterminé doive être rafraîchi en effacement, 30 par exemple le transistor relié à la ligne de bit BLj et la ligne de mot WLi du secteur S1. Le décodeur de ligne de mot XDEC applique à la grille de contrôle du transistor, par l'intermédiaire de la ligne de mot WLi, la tension d'effacement VG = VERneg. 35 Le verrou de programmation PGRLTj applique au drain du transistor à rafraîchir, par l'intermédiaire de la ligne de bit BLj, la tension de drain VD = Vprog2. La source du transistor est portée à une tension de source VS nulle et le caisson du secteur Si est porté à la masse (VB = GND) 5 ou à une tension sensiblement négative, par exemple -1,2 V. La grille flottante du transistor perd des charges électriques par effet tunnel, comme expliqué cidessus. Les transistors de la ligne de mot WLi ne devant 10 pas être rafraîchis reçoivent la tension VERneg sur leurs grilles de contrôle mais ne reçoivent pas la tension Vprog2 sur leurs drains, car les lignes de bit BLj' correspondantes sont portées à haute impédance HZ par les verrous de programmation. Si ces transistors sont dans 15 l'état effacé, ils ne sont pas rafraîchis, et s'ils sont dans l'état programmé, ils ne sont pas effacés. En résumé le rafraîchissement selon l'invention est donc un processus d'effacement sélectif comparable au processus de programmation, car une tension d'effacement 20 positive, par exemple la tension de programmation Vprog2 utilisée en tant que tension d'effacement, est appliquée par des verrous de programmation qui sont sélectionnables individuellement, ou par tout autre moyen équivalent permettant d'appliquer sélectivement aux lignes de bit 25 une tension positive. La ligne de mot WLi' ne correspondant pas à la page o se trouve le transistor à rafraîchir reçoit une tension de grille VG nulle. De même, dans le secteur voisin S2, toutes les lignes de bit sont portées à haute 30 impédance (HZ) et toutes les lignes de mot sont à la masse. Exemple de mise en oeuvre du procédé de contrôle et de rafraîchissement selon l'invention La figure 7 représente l'architecture générale 35 d'une mémoire MEM1 comprenant des moyens de mise en oeuvre du procédé de contrôle et de rafraîchissement selon l'invention. La figure 8 représente plus en détail un élément de la mémoire. Architecture générale de la mémoire La mémoire comprend un plan mémoire MA de type Flash comprenant au moins un secteur ST1 de 256 lignes de mot WLi et 2048 lignes de bit BLj (256x8), chaque ligne de mot comportant 256 mots de huit bits, ou octets. Le secteur ST1 comprend en outre une ligne de mot spéciale 10 WLx dont les cellules mémoire forment un compteur CMPT1 permettant de gérer une adresse de page à contrôler et à rafraîchir. Bien que cela ne soit pas représenté, la mémoire peut comprendre divers autres secteurs identiques, 15 comprenant chacun une ligne de mot spéciale formant compteur. La mémoire comprend un décodeur de ligne de mot XDEC pour piloter les lignes de mot WLi du secteur, et un décodeur spécifique CDEC pour piloter la ligne de mot WLx 20 formant le compteur CMPT1. Le décodeur CDEC est activé par un signal de sélection SELC qui inhibe le décodeur XDEC. En mode lecture de cellules mémoire, le décodeur XDEC peut recevoir l'une des trois tensions de lecture 25 décrites plus haut, respectivement la tension de lecture VREAD, la tension de contrôle en programmation VPR et la tension de contrôle en effacement VNR. En mode effacement, le décodeur reçoit la tension d'effacement positive VERpos et en mode programmation le décodeur reçoit la tension de programmation Vprogl. La mémoire comprend également un décodeur de colonne YDEC, un registre de programmation LT comprenant des verrous de programmation ("program latches"), un circuit de lecture SA comprenant des amplificateurs de 35 lecture (sense amplifiers), un compteur d'adresse de ligne RAC, un compteur d'adresse de colonne CAC, un bus d'adresse ADB véhiculant une adresse de seize bits a[15:0] et un bus de données DTB véhiculant ici huit bits de données d[7:0] (M=8). Le décodeur de colonne YDEC comprend 256 entrées/sorties de 8 bits reliées aux 256x8 lignes de bit du plan mémoire MA et huit entrées/sorties reliées au registre de programmation LT et au circuit de lecture SA. Le registre LT comprend huit verrous haute tension 10 (non représentés) permettant la programmation d'un octet dans le plan mémoire. Les verrous de programmation ont des sorties reliées aux lignes de bit du plan mémoire par l'intermédiaire des huit entrées/sorties du décodeur de colonne YDEC, et des entrées reliés au bus de données 15 DTB, pour enregistrer des bits de données d[7:0] sur réception d'un signal DLOAD. Sur réception d'un signal de programmation PROG, la sortie de chaque verrou fournit la tension de programmation Vprog2 sur une ligne de bit sélectionnée par le décodeur YDEC, lorsque le bit qui a 20 été chargé dans le verrou est égal à 0 (valeur logique de programmation). Dans le cas contraire, la sortie du verrou reste dans l'état haute impédance. Le circuit de lecture SA comprend ici huit amplificateurs de lecture (non représentés) reliés en 25 entrée aux huit entrées/sorties du décodeur de colonne YDEC, reliés en sortie au bus de données DTB, et activés par un signal READ. Le compteur RAC (Row Address Counter) comporte des entrées in[15:8] pour recevoir huit bits d'adresse de 30 poids fort a[15:8] présents sur le bus d'adresse ADB, formant une adresse de ligne de mot ADWL. La sortie du compteur RAC fournit l'adresse ADWL au décodeur de colonne XDEC. Le compteur RAC est piloté par un signal LOAD1 de chargement des bits d'adresse, peut être incrémenté par un signal INC1 et fournit un signal OVFl en cas de débordement d'adresse. Les bits d'adresse a[15:8] sont fournis au compteur RAC par l'intermédiaire d'un multiplexeur 8 bits MUX1 5 piloté par un signal MODE, ayant une entrée de 8 bits reliée au bus d'adresse ADB et une sortie de 8 bits reliée aux entrées in[15:8] du compteur RAC. Le compteur CAC (Column Address Counter) comporte des entrées in[7:0] reliées au bus d'adresse ADB, pour 10 recevoir 8 bits d'adresse de poids faible a[7:0] formant une adresse de colonne ADCOL. La sortie du compteur CAC fournit l'adresse de colonne ADCOL à une entrée d'adresse du décodeur YDEC. Le compteur CAC est piloté par un signal de chargement LOAD2, par un signal 15 d'incrémentation INC2, et fournit un signal OVF2 égal à 1 lorsqu'il atteint la dernière adresse de colonne. La mémoire comprend également un registre à décalage SREG de 8 bits à entrée/sortie parallèle, un détecteur logique DETF, un tampon BUFl de 8 bits, une 20 mémoire tampon BMEM, un circuit de contrôle CONTCT et un séquenceur SEQ. Le registre SREG comporte une entrée et une sortie parallèle reliées au bus de données DTB, et est piloté par un signal de décalage SHIFT. Il fournit un signal Z 25 égal à 1 lorsqu'il ne contient que des bits à 0. Le détecteur DETF est relié en entrée au bus de données DTB pour recevoir les bits de données d[7:0]. Il fournit un signal DTF égal à 1 lorsque l'octet présent sur le bus de données est égal à FF (soit 11111111). Le 30 signal DTF est de préférence à 1 lorsque le nombre de bits à 1 est majoritaire dans un octet analysé, afin de tolérer l'existence de cellules mémoire défaillantes dans le compteur. Le tampon BUFl présente une entrée recevant les 35 bits d'adresse a[7:0] présents à la sortie du compteur CAC, formant l'adresse de colonne ADCOL, et une sortie reliée à une seconde entrée du multiplexeur MUXl. La seconde entrée du multiplexeur est reliée à la sortie du multiplexeur MUXl quand le signal MODE est à 1. La mémoire tampon BMEM et le circuit de contrôle CONTCT sont représentés plus en détail sur la figure 8. La mémoire tampon comporte une entrée d'adresse recevant les bits a[7:0] de l'adresse de colonne ADCOL fournie par le compteur CAC. Elle comporte une entrée de données 10 reliée au bus DTB et enregistre un octet d[7:0] présent sur le bus sur réception d'un signal de chargement SWRITE. La mémoire tampon comporte également une sortie de données reliée au bus de données DTB par l'intermédiaire d'un tampon BUF2, dont l'état passant ou 15 non passant est déterminé par un signal SREAD. Le circuit CONTC comprend un comparateur 8 bits NXORCOMP comportant 8 portes logiques NON OU EXCLUSIF (NXOR, non représentées). Chaque porte logique comporte une première entrée reliée à la sortie de données de la 20 mémoire tampon, et une seconde entrée reliée au bus de données DTB. Les sorties des portes logiques sont reliées au bus de données DTB par l'intermédiaire d'un tampon BUF3 dont l'état passant ou non passant est déterminé par un signal COMP. Enfin, le séquenceur SEQ, à logique câblée ou à microprocesseur, fournit l'ensemble des signaux de commande des éléments de la mémoire MEMl et reçoit les signaux émis par ces éléments. Architecture du compteur CMPT1 La figure 9 est une vue partielle du secteur STl. Les cellules mémoire du compteur CMPTl sont formées par des transistors à grille flottante FGT qui sont reliés par leurs grilles de contrôle à la ligne de mot spéciale WLx, et sont reliés par leurs drains aux lignes de bit 35 BLj du secteur. On distingue, sous la ligne de mot WLx, une ligne de mot normale WLi du secteur, à laquelle sont reliées les grilles de contrôle des transistors à grille flottante d'une page du secteur (une page correspondant à une ligne de mot). Le compteur CMPT1 comporte ainsi ici 2048 bits, soit 256 colonnes de huit bits chacune, et est dédié à la gestion des adresses de lignes de mot à contrôler. Le secteur comprenant ici 256 lignes de mot et le compteur comprenant 2048 cellules mémoire, le nombre de 10 cellules mémoire pour former un jeton du compteur, tout en utilisant l'ensemble des cellules mémoire du compteur, est égal ici à 2048:256 soit 8 cellules mémoire, soit 256 jetons disponibles dans le compteur, affectés chacun à la désignation d'une page, le compteur étant effacé après 15 contrôle et rafraîchissement de toutes les pages du secteur. Tableau 1 Etat du compteur Adresse de la ligne de mot WLi à contrôler FFFFFFFFFFFFF. FFFFFFFFFFF WL0 OOFFFFFFFFFFF...FFFFFFFFFFF WL1 OOOOFFFFFFFFF... FFFFFFFFFFF WL2 0000000000000...O000000000FF WL255 Le remplissage du compteur CMPT1 s'effectue de la façon décrite par le tableau 1. Les données sont exprimées en notation hexadécimale (un caractère de 0 à F représentant 4 bits), la lecture d'une cellule mémoire dans l'état programmé correspond à la lecture d'un bit à 25 0, et la lecture d'une cellule mémoire effacée correspond à la lecture d'un bit à 1. Le compteur est programmé octet par octet, à commencer par les octets de poids faible, un octet représentant un jeton et l'adresse de l'octet dans le compteur représentant l'adresse d'une ligne de mot à contrôler...DTD: Fonctionnement général de la mémoire La mémoire fonctionne de façon classique pendant 5 des opérations de lecture ou d'écriture de pages du plan mémoire. Les opérations à effectuer sont communiquées au séquenceur sous forme de codes opération CODE[OP] . Le signal MODE est à 0 et le multiplexeur MUX1 relie le bus d'adresse ADB aux entrées in[15:8] du compteur RAC. 10 Lorsque des données doivent être écrites dans une page du secteur ST1, l'adresse de la page est fournie au compteur RAC via le bus d'adresse. Les données à enregistrer sont chargées tout d'abord dans la mémoire tampon BMEM (signal SWRITE) afin de simuler un mode de programmation par page 15 (enregistrement en rafale d'une suite de mots). Ensuite, la page est effacée et les données sont lues octet par octet dans la mémoire tampon (signal SREAD) et enregistrées octet, par octet dans le plan mémoire Flash, grâce aux verrous de programmation du registre LT. Le 20 compteur de colonne CAC est incrémenté après chaque programmation d'un octet, jusqu'à ce que toutes les cellules mémoire de la page soient programmées (seules étant programmées les cellules mémoire devant recevoir la valeur logique de programmation, ici 0). Lecture dans le compteur de l'adresse d'une page à contrôler Lorsque des données ont été enregistrées dans une page du secteur ST1, le séquenceur SEQ déclenche une étape de lecture du compteur CMPT1 visant à déterminer 30 l'adresse de la page devant être contrôlée. Le séquenceur met le signal MODE à 1, active le décodeur CDEC au moyen du signal SELC, met à zéro le compteur CAC et active le circuit de lecture SA (signal READ, tension de lecture VREAD). Le premier octet du 35 compteur CMPT1 est fourni sur le bus de données DTB par le circuit de lecture SA. Si le signal DTF à la sortie du circuit de détection DETF reste à 0, cela signifie que l'octet lu dans le compteur CMPT1 est nul. Le séquenceur incrémente alors le compteur CAC d'une unité, ce qui 5 correspond à un saut d'un octet puisqu'une colonne électrique comprend ici huit lignes de bit. Le séquenceur lit l'octet suivant du compteur sur le bus de données, et ainsi de suite jusqu'à ce que le signal DTF passe à 1. Lorsque le signal DTF passe à 1, le séquenceur sait que 10 l'octet lu est égal à FF. Il s'agit du premier octet non nul du compteur CMPTl. L'adresse de colonne ADCOL (bits a[7:0]) présente à la sortie du compteur CAC représente l'adresse du premier octet non nul et correspond à la position du premier 15 jeton non utilisé trouvé dans le compteur. Un jeton correspondant ici à huit bits de donnée, l'adresse de colonne ADCOL forme une adresse de ligne de mot ADWL (bits a[15:8]) qui désigne la page à rafraîchir. Il n'est pas nécessaire ici de convertir cette adresse de colonne 20 en adresse de ligne de mot, puisqu'il existe une correspondance exacte entre les adresses colonne et les adresses de ligne de mot (chaque secteur comprenant 256 lignes de mot comportant chacune 256 octets, soit 256 colonnes électriques de huit lignes de bit chacune). Ainsi, l'adresse ADCOL formant une adresse de ligne de mot ADWL désignant la page à contrôler est chargée dans le tampon BUFl pour être ultérieurement fournie au compteur RAC, afin de contrôler la page désignée. Incrémentation du compteur L'incrémentation du compteur peut être faite immédiatement après la lecture du compteur et chargement de l'adresse ADWL dans le tampon BUF1. Avant d'incrémenter le compteur, le séquenceur contrôle la valeur du signal OVF2. Si ce signal est à 1, cela 35 signifie que l'octet lu dans le compteur était le dernier octet du compteur CMPT1. Dans ce cas, le séquenceur sait que le compteur CMPT1 doit être effacé avant le prochain contrôle de page. Cet effacement peut être fait simultanément à l'effacement de la prochaine page à 5 programmer (une programmation d'une page étant toujours précédée d'un effacement de la page). Dans le cas contraire, le séquenceur incrémente le compteur CMPT1 d'une unité. Cette incrémentation consiste à mettre à 0 le premier octet non nul qui a été trouvé à 10 l'étape de recherche de l'adresse de la page à contrôler. A cet effet, l'octet non nul présent dans le registre SREG est décrémenté par décalage à droite du registre et insertion de 0. Un jeton étant ici formé par 8 bits, un octet égal à FF correspondant à un jeton non utilisé est 15 transformé en un octet égal à 0 correspondant à un jeton utilisé (soit 00 en notation hexadécimale). La valeur incrémentée de l'octet est ensuite chargée dans le registre LT via le bus de données DTB, et est enregistrée dans le compteur. Contrôle et rafraîchissement d'une page L'adresse ADWL conservée dans le tampon BUF1 est appliquée sur les entrées in[15:8] du compteur RAC, par l'intermédiaire du multiplexeur MUX1, et le processus de contrôle de la page désignée par cette adresse est 25 déclenché. Le compteur CAC est remis à zéro et les octets de la page sont lus un par un pour être contrôlés et, si nécessaire, rafraîchis. Ce contrôle comprend, selon l'invention, un 30 contrôle de programmation et un contrôle d'effacement, pour respectivement rafraîchir les cellules mémoire programmées ayant perdu des charges électriques et tendant vers l'état effacé, et rafraîchir les cellules mémoire effacées ayant perdu des charges électriques et tendant vers un état programmé, comme cela a été décrit plus haut. Contrôle et rafraîchissement de cellules mémoire programmées Après remise à zéro du compteur CAC, chaque octet de la page à contrôler est lu au moyen de deux tensions de lecture différentes, la première étant la tension de lecture VREAD et la seconde étant la tension de contrôle VPR supérieure à VREAD (Cf. Figure 4). La comparaison des 10 octets lus au moyen des deux tensions VREAD, VPR permet de détecter les transistors à grille flottante dans l'état programmé dont la tension de seuil est devenue plus faible que la tension VPR. Avantageusement, tous les octets de la page sont 15 tout d'abord lus les uns après les autres avec la tension VREAD, et sont stockés dans la mémoire tampon. Ensuite, tous les octets de la page sont lus de nouveau les uns après les autres avec la tension de contrôle VPR et sont comparés avec les octets enregistrés dans la mémoire 20 tampon BMEM. L'entrée d'adresse de la mémoire tampon étant ici pilotée par l'adresse de colonne ADCOL, il existe une correspondance exacte entre l'adresse de colonne d'un octet lu avec la tension de contrôle VPR et l'adresse dans la mémoire tampon de l'octet de référence 25 lu avec la tension VREAD. Un octet lu avec la tension de contrôle VPR est désigné VWj et un octet de référence enregistré dans la mémoire tampon est désigné Wj. L'octet VWj est présent sur le bus de données et est appliqué sur une entrée du 30 comparateur NXORCOMP. L'octet de référence Wj lu dans la mémoire tampon est appliqué sur l'autre entrée du comparateur. La sortie du comparateur fournit, via le tampon BUF3 (signal COMP), un octet de rafraîchissement RWj qui est enregistré dans la mémoire tampon à la même 35 adresse que l'octet de référence Wj initial. Au terme du processus de comparaison octet par octet, la mémoire tampon BMEM ne comprend ainsi que des octets de rafraîchissement en programmation RWj. Chaque bit d'un octet de rafraîchissement est égal à 0 lorsque 5 le bit lu avec la tension VPR n'a pas présenté la même valeur que le bit lu avec la tension VREAD, comme cela est décrit par le tableau 2. Une fois l'ensemble des octets de rafraîchissement chargés dans la mémoire tampon BMEM, celle-ci est lue octet par octet et chaque octet 10 est enregistré dans la page à rafraîchir, par l'intermédiaire des verrous de programmation. La tension de programmation Vprogl est fournie à la ligne de mot concernée par le décodeur XDEC et les verrous de programmation fournissent la tension de 15 programmation Vprog2 aux lignes de bit lorsqu'ils reçoivent un bit à 0, sinon ils restent dans l'état haute impédance (HZ). Le O est ainsi la valeur logique de rafraîchissement et le 1 la valeur logique de nonrafraîchissement. En d'autres termes, seuls sont 20 reprogrammés les transistors à grille flottante dans lesquels des bits de valeurs différentes ont été lus au cours du processus de double lecture. Tableau 2 bit de bit lu bit de Sortie du verrou référence lu avec rafraîchissement de programmation avec VREAD VPR 0 1 O (valeur Vprog2 active) O 0 1 HZ 1 1 1 HZ 1 0 cas impossible Dans le tableau 2, le cas "10" est impossible car les deux tensions VREAD, VPR sont supérieures aux limites des deux courbes de distribution CB, CB' de la figure 5. Ainsi, même si une cellule mémoire présente un état effacé dégradé nécessitant un rafraîchissement, cela n'affecte pas la lecture de la cellule mémoire avec 5 chacune des deux tensions VREAD, VPR. L'état effacé dégradé d'une telle cellule mémoire sera détecté au cours d'une étape de contrôle et de rafraîchissement en effacement selon l'invention, qui sera maintenant décrite. Contrôle et rafraîchissement de cellules mémoire effacées On a vu dans ce qui précède que le procédé de rafraîchissement sélectif en effacement selon l'invention est identique à un procédé de rafraîchissement sélectif 15 en programmation classique, en ce qui concerne la tension de drain appliquée aux cellules mémoire à rafraîchir, celle-ci étant dans les deux cas fournie par un verrou de programmation. Dans ces conditions, la gestion du rafraîchissement 20 en effacement de transistors à grille flottante est sensiblement identique à la gestion du rafraîchissement en programmation. Ainsi, après remise à zéro du compteur CAC, chaque octet de la page à contrôler est lu au moyen de deux 25 tensions de lecture différentes, la première étant la tension de lecture VREAD et la seconde étant la tension de contrôle VNR inférieure à VREAD (Cf. Figure 5). La comparaison des octets lus au moyen des deux tensions VREAD, VNR permet de détecter les transistors à grille 30 flottante dans l'état effacé dont la tension de seuil est devenue plus élevée que la tension VNR. Comme précédemment, tous les octets de la page sont lus les uns après les autres au moyen de la tension VREAD et sont stockés dans la mémoire tampon. Ensuite, les 35 octets de la page sont lus de nouveau les uns après les autres au moyen de la tension VNR et sont comparés avec les octets enregistrés dans la mémoire tampon BMEM. Un octet lu avec la tension de contrôle VNR est de nouveau désigné VWj et un octet de référence enregistré 5 dans la mémoire tampon est désigné Wj. L'octet VWj est présent sur le bus de données et est appliqué sur une entrée du comparateur NXORCOMP. L'octet de référence Wj lu dans la mémoire tampon est appliqué sur l'autre entrée du comparateur. La sortie du comparateur fournit, via le 10 tampon BUF3, un octet de rafraîchissement RWj qui est enregistré dans la mémoire tampon à la même adresse que l'octet de référence Wj initial. Au terme du processus de comparaison octet par octet, la mémoire tampon BMEM ne comprend que des octets 15 de rafraîchissement en effacement. Chaque bit d'un octet de rafraîchissement est égal à 0 lorsque le bit lu avec la tension VNR n'a pas présenté la même valeur que le bit lu avec la tension VREAD, comme cela est décrit par le tableau 3 ci-après. Une fois l'ensemble des octets de 20 rafraîchissement chargés dans la mémoire tampon BMEM, celle-ci est lue octet par octet et est enregistrée dans la page à rafraîchir, par l'intermédiaire des verrous de programmation. La tension d'effacement VERneg est fournie à la ligne de mot concernée par le décodeur XDEC et les 25 verrous de programmation fournissent la tension de programmation Vprog2 (ici à des fins d'effacement) lorsqu'ils reçoivent un bit à 0, sinon les verrous restent dans l'état haute impédance. Ainsi, ici également, le 0 est la valeur logique de 30 rafraîchissement et le 1 la valeur logique de nonrafraîchissement. En d'autres termes, seuls sont rafraîchis en effacement les transistors à grille flottante ayant fourni des bits différents lors du processus de double lecture. Dans le tableau 3, le cas "01" est impossible car les deux tensions VREAD, VNR sont supérieures aux limites des deux courbes de distribution CA, CA' de la figure 4. Ainsi, même si une cellule mémoire présente un état 5 programmé dégradé nécessitant un rafraîchissement, cela n'affecte pas la lecture de la cellule mémoire avec chacune des deux tensions VREAD, VNR. En tout état de cause, l'état programmé dégradé d'une telle cellule mémoire est présumé avoir été corrigé au cours de l'étape 10 de contrôle et de rafraîchissement en programmation décrite plus haut, si celle-ci est exécutée avant l'étape de rafraîchissement en effacement. Tableau 3 bit de bit lu bit de Sortie du verrou référence lu avec rafraîchissement de programmation avec VREAD VPR 1 0 0 (valeur Vprog2 active) 1 1 1 HZ 0 0 1 HZ 0 1 cas impossible Combinaison des étapes de programmation de pages et de contrôle de pages On a décrit dans ce qui précède un exemple de mise en oeuvre du procédé de rafraîchissement selon 20 l'invention, comprenant une étape de lecture du compteur, une étape d'incrémentation du compteur, une étape de contrôle des cellules mémoire programmées de la page désignée par le compteur, une étape de rafraîchissement en programmation des cellules mémoire nécessitant un tel 25 rafraîchissement, une étape de contrôle des cellules mémoire effacées de la page et une étape de rafraîchissement des cellules mémoire effacées nécessitant un tel rafraîchissement. En pratique, ce procédé permet de contrôler au moins une page désignée par le compteur après S programmation d'au moins une page utilisateur, c'est-àdire une page désignée par l'utilisateur et non par le compteur. De façon générale le procédé permet de contrôler N pages désignées par le compteur (en incrémentant N fois le compteur après chaque contrôle) 10 après programmation de M plusieurs pages du secteur, N et M étant des entiers supérieurs ou égaux à 1. Diverses combinaisons d'étapes sont alors envisageables: 1) l'incrémentation du compteur intervient avant la 15 programmation d'une page utilisateur mais le contrôle et le rafraîchissement d'une page intervient après la programmation de la page utilisateur. Dans ce cas, l'effacement du compteur, si nécessaire, est de préférence réalisésimultanément à l'effacement de la 20 page utilisateur à programmer. De ce fait, l'effacement du compteur est une opération transparente pour l'utilisateur et n'entraîne aucun retard dans une succession d'étapes de programmation de pages, 2) l'incrémentation du compteur intervient après le 25 contrôle et le rafraîchissement d'une page, et le contrôle et le rafraîchissement d'une page intervient après la programmation d'une page utilisateur, 3) l'incrémentation du compteur intervient avant le contrôle et le rafraîchissement d'une page, et le 30 contrôle et le rafraîchissement d'une page interviennent avant la programmation d'une page utilisateur. Il apparaîtra clairement à l'homme de l'art que le procédé selon l'invention est susceptible de diverses autres variantes de réalisation, notamment en fonction de l'architecture de la mémoire dans laquelle il est mis en oeuvre. La mémoire peut notamment comprendre un bus de données de Nx8 bits avec lecture des octets par groupe de 5 N dans les pages sélectionnées, notamment dans la page formant compteur. Dans ce cas, les adresses de colonne sont formées par des bits d'adresse de poids fort (par exemple a[7:1] si N=2) et les bits d'adresse de poids faible (par exemple a[0] si N=2) sont utilisés pour 10 sélectionner en sortie de la mémoire, par exemple avec un multiplexeur, l'un des N octets lus. Un convertisseur d'adresse est alors nécessaire entre la sortie du compteur CAC et la seconde entrée du circuit MUX1, pour convertir l'adresse de colonne du groupe de N octets lus 15 simultanément en une adresse de ligne de bit. Ce convertisseur recherche l'octet non nul dans le groupe de N octets et, si l'octet non nul est l'octet de rang n dans le groupe de N octets, ajoute la valeur n à l'adresse de colonne du groupe d'octets pour former 20 l'adresse de la page à rafraîchir. De façon générale, la valeur maximale de comptage (CMAX) d'un compteur selon l'invention peut être supérieure au nombre de lignes de mot dans un secteur. Si l'on considère, pour fixer les idées, l'exemple simplifié 25 d'un secteur de 8 pages (X1 = 8) dans lequel deux pages à la fois (K = 2) sont contrôlées tous les quatre cycles (R = 4) de programmation de pages du secteur, il vient: CMAX = Xl*R/K = 16 Ainsi, un tel compteur peut compter jusqu'à seize, soit seize jetons utilisables, si un jeton correspond à une page et une seule, sans supporter un nombre de cycles de stress électrique supérieur à celui que peuvent 35 supporter les autres pages du secteur. Si par contre un jeton est utilisé pour désigner simultanément P pages à contrôler, par exemple deux pages, en faisant intervenir une table de correspondance ou un convertisseur d'adresse, alors la valeur maximale de comptage ne doit pas être supérieure à CMAX/P soit 8 si P = 2. Selon l'architecture de la mémoire utilisée, on peut également prévoir une gestion de compteur telle que, lorsque la valeur de comptage maximale est atteinte et que le compteur est effacé, le nombre maximal de cycles 10 de stress électrique supporté par les cellules mémoire d'un compteur soit inférieur au nombre maximal de cycles de stress que peuvent subir les autres cellules mémoire d'un secteur. Enfin, le terme verrou de programmation désigne de 15 façon générale tout moyen permettant d'appliquer sélectivement une tension positive sur une ligne de bit. Ainsi, dans certaines mémoires, la fonction de verrouillage (soit la sélection d'une ligne de bit à partir d'une adresse déterminée) est intégrée dans le 20 décodeur de colonne et les verrous de programmation ne sont que des adaptateurs de tension pour convertir une tension d'alimentation Vcc en tension de programmation Vprog2. Dans d'autres mémoires, la fonction de verrouillage et la fonction de conversion en tension sont 25 entièrement intégrées dans le décodeur de colonne, de sorte que l'existence des verrous de programmation ne se déduit que par l'existence de la fonction de verrouillage et la fourniture de la tension Vprog2 à la sortie du décodeur. Le procédé de contrôle et de rafraîchissement de cellules mémoire qui vient d'être décrit est particulièrement simple à mettre en oeuvre et nécessite peu de moyens matériels. Il est en outre quasiment transparent pour l'utilisateur car le temps de contrôle 35 et de rafraîchissement d'une page est de l'ordre de 200 is, à comparer avec le temps nécessaire à l'effacement préalable d'une page, de l'ordre de 5 ms, auquel s'ajoute un temps de l'ordre de 1 300 ts (256x5ps) pour la programmation des 256 octets d'une page. REVENDICATIONS 1. Procédé de contrôle et de rafraîchissement d'un transistor à grille flottante (FGTi) dans l'état effacé, comprenant les étapes consistant à : - appliquer une tension d'effacement positive (VERpos) 5 sur une grille de contrôle du transistor à grille flottante, et - appliquer une tension d'effacement positive (VD, Vprog2) au drain du transistor à grille flottante. 2. Procédé selon la revendication 1, dans lequel la tension d'effacement positive (VD, Vprog2) est fournie par un verrou de programmation (PGRLTj, PGRLTj') du transistor à grille flottante. 3. Procédé selon la revendication 2, dans lequel la tension d'effacement positive est égale à une tension de programmation (Vprog2) fournie par le verrou lors d'une programmation du transistor à grille flottante. 4. Procédé selon l'une des revendications 1 à 3, comprenant une étape de contrôle de la tension de seuil du transistor à grille flottante, l'étape de contrôle comprenant la lecture du transistor avec une première tension de lecture (VREAD) et la lecture du transistor 25 avec une seconde tension de lecture (VNR). 5. Procédé de contrôle et de rafraîchissement d'une page de mémoire Flash comprenant une pluralité de transistors à grille flottante (FGTi) reliés par leurs 30 grilles de contrôle à une ligne de mot (WLi) commune, et reliés par leurs drains à des lignes de bit (BLj) différentes, la mémoire Flash comprenant des verrous de programmation (PGRLTj, PGRLTj') reliés aux lignes de bit pour appliquer sélectivement aux drains des transistors à grille flottante une tension de programmation (Vprog2), caractérisé en ce qu'il comprend une étape de rafraîchissement de transistors à grille flottante de la 5 page se trouvant dans l'état effacé, l'étape de rafraîchissement comprenant les étapes consistant à : - appliquer une tension d'effacement positive (VERpos) à la ligne de mot (WLi), et appliquer une tension d'effacement positive (VD, 10 Vprog2) aux lignes de bit reliées aux drains de transistors à grille flottante devant être rafraîchis. 6. Procédé selon la revendication 5, dans lequel la tension d'effacement positive (VD, Vprog2) est fournie 15 par des verrous de programmation (PGRLTj, PGRLTj'). 7. Procédé selon la revendication 6, dans lequel la tension d'effacement positive est égale à la tension de programmation (Vprog2). 8. Procédé selon l'une des revendications 5 à 7, comprenant une étape de contrôle de la tension de seuil des transistors à grille flottante de la page, l'étape de contrôle comprenant une étape de lecture des transistors 25 avec une première tension de lecture (VREAD) appliquée à la ligne de mot, et une étape de lecture des transistors avec une seconde tension de lecture (VNR) appliquée à la ligne de mot, un transistor n'étant rafraîchi que si deux bits lus dans le transistor avec les deux tensions de 30 lecture, présentent des valeurs différentes. 9. Procédé selon l'une des revendications 5 à 8, dans lequel le contrôle et le rafraîchissement d'une page comprend les étapes suivantes: i) lecture de tous les transistors de la page avec une première tension de lecture (VREAD), par groupe de M transistors, et chargement dans une mémoire tampon (BMEM) de groupes de M bits lus avec la première tension de lecture, ii) lecture d'un groupe de M transistors de la page avec une seconde tension de lecture (VNR), iii) combinaison logique bit à bit des M bits lus avec la seconde tension de lecture (VNR) et des M bits lus avec 10 la première tension de lecture (VREAD) chargés dans la mémoire tampon, iv) chargement dans la mémoire tampon de M bits formant le résultat de la combinaison logique, vi) répétition des étapes ii), iii) et iv) pour chaque 15 groupe suivant de M transistors, jusqu'à ce que la page soit entièrement contrôlée, vii) chargement successif dans des verrous de programmation des groupes de M bits présents dans la mémoire tampon, chaque chargement étant accompagné d'une 20 application de la tension d'effacement positive (VERpos) sur la ligne de mot et de l'activation des verrous de programmation. 10. Procédé selon la revendication 9, dans lequel 25 la combinaison logique bit à bit est faite au moyen de portes logiques de type OU EXCLUSIF. 11. Procédé selon l'un des revendications 5 à 10, dans lequel l'adresse de la page à contrôler est fournie 30 par un compteur non volatile (CMPT1) comprenant des cellules mémoire reliées à une ligne de mot spéciale (WLx) de la mémoire Flash. 12. Procédé selon l'un des revendications 5 à 10, 35 dans lequel l'adresse de la page à contrôler est fonction de l'adresse de colonne du premier groupe de M cellules mémoire non programmées trouvé dans le compteur. 13. Procédé selon l'une des revendications 5 à 12, 5 comprenant également une étape de contrôle et de rafraîchissement de transistors à grille flottante dans l'état programmé. 14. Mémoire Flash comprenant - un plan mémoire comprenant une pluralité de transistors à grille flottante (FGTi) reliés par leurs grilles de contrôle à des lignes de mot (WLi), et par leurs drains à des lignes de bit (BLj), les transistors reliés à une même ligne de mot formant une page du plan mémoire, - des verrous de programmation (PGRLTj, PGRLTj') reliés aux lignes de bit pour appliquer sélectivement aux drains des transistors à grille flottante une tension de programmation (Vprog2), - un compteur pour désigner l'adresse d'au moins une page 20 à contrôler, et - des moyens de contrôle de la tension de seuil de transistors à grille flottante dans l'état programmé d'une page désignée par le compteur, et de reprogrammation de transistors programmés ayant une 25 tension de seuil inférieure à un premier seuil déterminé (VPR), caractérisée en ce qu'elle comprend des moyens (BMEM, CONTCT, XDEC, SA) de contrôle de la tension de seuil de transistors à grille flottante dans l'état 30 effacé de la page désignée par le compteur, et de rafraîchissement de transistors effacés ayant une tension de seuil supérieure à un second seuil déterminé (VNR). 15. Mémoire Flash selon la revendication 14, dans laquelle les moyens de rafraîchissement de transistors effacés sont agencés pour: - appliquer une tension d'effacement positive (VERpos) à 5 la ligne de mot (WLi) à laquelle les transistors effacés sont reliés, et - appliquer une tension d'effacement positive (VD, Vprog2) aux lignes de bit reliées aux drains de transistors à grille flottante devant être rafraîchis. 10 16. Mémoire selon la revendication 15, dans laquelle la tension d'effacement positive (VD, Vprog2) est fournie par des verrous de programmation (PGRLTj, PGRLTj').o 17. Mémoire selon la revendication 16, dans laquelle la tension d'effacement positive est égale à la tension de programmation (Vprog2). 18. Mémoire selon l'une des revendications 14 à 17, dans laquelle les moyens de contrôle de la tension de seuil de transistors à grille flottante dans l'état effacé comprennent: - des moyens (XDEC, SA) de lecture des transistors avec 25 une première tension de lecture (VREAD), des moyens (XDEC, SA) de lecture des transistors avec une seconde tension de lecture (VNR), et - des moyens (CONCT) de comparaison des données lues dans les transistors avec les deux tensions de lecture. 30 19. Mémoire selon l'une des revendications 14 à 18, dans laquelle les moyens de contrôle de la tension de seuil de transistors à grille flottante dans l'état effacé comprennent une mémoire tampon (BMEM) et un circuit de combinaison logique (CONTCT) et sont agencés pour: i) lire tous les transistors de la page avec une première tension de lecture (VREAD) par groupe de M transistors, 5 et charger dans la mémoire tampon (BMEM) des groupes de M bits lus avec la première tension de lecture (VREAD), ii) lire un groupe de M transistors de la page avec une seconde tension de lecture (VNR), iii) combiner bit à bit les M bits lus avec la seconde 10 tension de lecture (VNR) et les M bits correspondants lus avec la première tension de lecture (VREAD) et chargés dans la mémoire tampon, iv) charger dans la mémoire tampon les M bits formant le résultat de la combinaison logique, vi) répéter les étapes ii), iii) et iv) pour chaque groupe suivant de M transistors, jusqu'à ce que la page soit entièrement contrôlée, vii) charger successivement dans des verrous de programmation des groupes de M bits présents dans la 20 mémoire tampon, chaque chargement étant accompagné d'une application de la tension d'effacement positive (VERpos) sur la ligne de mot et d'une activation des verrous de programmation. 20. Mémoire selon la revendication 19, dans laquelle le circuit de combinaison logique (CONTCT) comprend des portes logiques de type OU EXCLUSIF. 21. Mémoire selon l'une des revendications 14 à 20, 30 dans laquelle le compteur est un compteur non volatile (CMPTl) comprenant des cellules mémoire reliées à une ligne de mot spéciale (WLx) de la mémoire Flash.