Brevet FR2758645A1 — publié le 19980724

Dispositif et procédé de programmation d'une mémoire La présente invention concerne un dispositif et un procédé de programmation pour une mémoire de type EPROM-Flash. Dans ce type de mémoire, chaque élément de stockage d'information, ou cellule mémoire, est constitué par un transistor MOS à grille flottante qui peut se trouver dans deux états. Ainsi, dans le cas d'un transistor MOS à canal N, dans un premier état dit effacé, aucune charge négative, ou bien même une charge positive, est piégée sur la grille flottante. Un canal de conduction peut alors exister entre source et drain de ce transistor. Dans un deuxième état dit programmé, des électrons sont piégés sur la grille flottante. Ils empêchent donc la création d'un canal de conduction dans le substrat entre source et drain. Dans ce cas, le transistor est bloqué et se comporte comme un circuit ouvert. Dans une mémoire de type EPROM-Flash, le passage d'un électron du canal de conduction vers la grille flottante se fait par un procédé dit d'électrons chauds. Dans ce but, des tensions élevées sont appliquées entre la grille de commande et le drain de ce même transistor à grille flottante alors que la source est connectée à la masse. Ces tensions permettent le passage d'électrons de très haute énergie (électrons chauds), provenant du canal ainsi créé, vers la grille flottante. Les électrons sont alors piégés dans la grille flottante et constituent une information. L'enlèvement des charges, ou effacement, est provoqué par un effet tunnel. Un plan mémoire est composé de mots comportant, dans un exemple, au moins huit cellules pouvant contenir chacune une information (à savoir l'un des deux états précédents). La figure 1 représente en partie une telle architecture. Ces cellules peuvent être sélectionnées individuellement. Elles sont arrangées en rangées et en colonnes. Dans une architecture classique, tous les transistors à grille flottante des cellules mémoires d'un même mot, ou d'un même octet dans l'exemple, ont leur grille de commande reliée à une même source de tension par une ligne de mots et leur source reliée à une même borne d'un transistor de sélection par une connexion. Ce transistor de sélection autorise ou non la polarisation de la source des transistors à grille flottante du mot. Une telle architecture avec un tel transistor de sélection est décrite dans la demande de brevet EP-A-0 704 851. L'intérêt du transistor de sélection est d'éviter la déplétion du transistor à grille flottante d'une cellule, et d'assurer ainsi une uniformité parfaite de la tension de seuil des cellules qui ont fait l'objet d'un effacement. Ce même transistor de sélection a son autre électrode, drain ou source, reliée à une connexion verticale de source de mots qui sont adjacents verticalement. Les mots adjacents verticalement se trouvent donc sur des rangées différentes. Ce transistor de sélection permet de polariser ou non les sources communes des transistors à grille flottante d'un même mot. Ces mots ont Q octets. Si Q = 1, le mot a un octet. Les grilles de commande des transistors à grille flottante des cellules des mots dans une même rangée sont connectées à une même ligne de mot. De plus, les grilles de commande des transistors de sélection des mots d'une même rangée sont reliées à une même ligne de sélection de mots recevant un signal de sélection associé, souvent identique, au signal appliqué sur la ligne de mots. Avec une telle architecture, il existe des contraintes qui limitent la programmation de plusieurs cellules mémoires d'un même mot au cours d'un même cycle de programmation. En effet, lors de la programmation, la grille de commande de chaque cellule d'une même rangée est soumise à une tension élevée. Le drain du transistor à grille flottante d'une cellule sélectionnée pour être programmée est porté à une tension suffisamment élevée pour accélérer les charges dans un canal. La source de ce transistor à grille flottante est portée à la masse. Cette tension élevée permet aux charges d'acquérir une énergie élevée, et produit un courant important à travers ce canal (500 ssA/cellule). Ainsi, pour un octet, le courant produit lors de cette programmation peut être de l'ordre de 4 mA. Ce courant est beaucoup trop élevé car la connexion verticale de la source est limitée en taille et ne peut supporter un courant si important. Par exemple, si beaucoup de cellules étaient programmées dans le même mot, le courant produit provoquerait un arrachement du film de métal de la connexion verticale de source par un phénomene d'électromigration. En outre, ce courant qui provoque par la même occasion une élévation de la tension de source réduit l'efficacité de la programmation. La présente invention a pour but de remédier à cet inconvénient en proposant un circuit de programmation permettant de programmer M cellules en même temps, et, de préférence, de programmer parallèlement au cours d'un même cycle M bits dans N mots différents, de préférence adjacents. M est inférieur au nombre de cellules d'un mot. De ce fait, le courant sur les connexions verticales de source sollicitées est proportionnel à M. De préférence M égale 1. Bien entendu, on pourrait envisager une autre répartition: une programmation de deux ou quatre bits en même temps au lieu du seul bit prévu. Cette solution permet de réduire considérablement le courant dans chaque mot, et permet donc une chute de tension moindre. De plus, dans l'invention, en même temps qu'on programme une cellule d'un mot, on programme une cellule d'un autre mot. La programmation de N mots de P bits se fait alors par exemple en P/M cycles. L'invention concerne en conséquence un procédé de programmation des cellules mémoires de type EPROM Flash d'un premier mot mémoire d'une mémoire organisée en mots, dans lequel - on soumet des électrodes de transistors à grille flottante de ce premier mot, qui servent chacun d'élément de mémorisation pour une cellule de ce premier mot, à des tensions de polarisation de façon à provoquer le passage de courants de saturation dans ces transistors à grille flottante, ces courants de saturation étant de nature à provoquer l'injection de charges dans les grilles flottantes respectives de ces transistors à grille flottante, caractérisé en ce que - on programme successivement, aux cours de cycles de programmation différents, les différentes cellules de ce premier mot. Pour arriver à ce résultat, l'architecture de la mémoire a été adaptée de façon à ce que des lignes de bit de cellules de mêmes rang, et qui sont à programmer dans des cellules voisines, soient reliées ensemble. L'invention a donc également pour objet un dispositif de programmation de cellules mémoires de type EPROM Flash de mots memoires d'une mémoire, comportant - une organisation en mots des cellules, - des transistors à grille flottante agissant comme organes de mémorisation dans les cellules, - des électrodes de drain de transistors à grille flottante de cellules d'un premier mot étant reliées à des connexions de ligne de bit différenciées de ce mot; - des électrodes de drain de transistors à grille flottante de cellules de mots adjacents verticalement à ce premier mot étant reliées aux connexions de lignes de bit du premier mot, caractérisé en ce que - une ligne de bits d'une cellule mémoire d'un rang donné du premier mot et au moins une ligne de bits d'une cellule mémoire d'un même rang dans un mot adjacent horizontalement à ce premier mot sont reliées à deux connexions communes de programmation par l'intermédiaire de circuits de polarisation, et en ce que - les circuits de polarisation comportent deux entrées de tension de polarisation et une sortie de tension de polarisation. Par ailleurs, une programmation des cellules d'un mot est normalement précédée d'un effacement des cellules de ce mot. Or lors d'un effacement d'un mot sélectionné, une forte tension négative, de l'ordre de -6V est appliquée par la ligne de mot sur les grilles de commande des transistors à grille flottante de ce mot. La tension appliquée aux sources des transistors à grille flottante de ce même mot est de l'ordre de 10V. Un problème se présente alors pour un transistor à grille flottante d'une cellule se situant sur une même rangée mais qui n'a pas été sélectionné. Il reçoit en effet sur sa grille de commande la même tension négative de ce premier mot. Même s'il ne reçoit pas la haute tension sur sa source, cette situation provoque parfois un effacement partiel de cette cellule dans ce mot non sélectionné pour la programmation. C'est-à dire, la tension négative élimine des charges sur sa grille flottante. Ceci provoque à terme une lecture erronée de ce mot. La présente invention propose de résoudre ce deuxième problème par une séquence d'opérations à effectuer. On commence par programmer toutes les cellules de la mémoire d'une même rangée. Ensuite, on les efface toutes. On vérifie à ce moment là si des cellules n'ont pas subi une déplétion en raison des tensions négatives appliquées lors des effacements. Si c'est le cas, on les reprogramme et on les efface une nouvelle fois afin de mettre leur tension de seuil à un niveau identique aux autres cellules mémoires. On commence ensuite a programmer conformément à l'invention à savoir un bit sur huit dans huit mots adjacents. Après avoir effectué toutes ces opérations, une dernière opération est réalisée dite de rafraîchissement. Elle consiste à vérifier si certaines cellules, non sélectionnée appartenant à la même rangée que la cellule programmée, ont subi du fait de la tension négative appliquée pendant la phase d'effacement un léger effacement ou plus précisément vérifier si ces cellules programmées ont perdu des charges sur leur grille flottante. Si c'est le cas, on reprogramme ou rafraîchit ces cellules par une nouvelle étape de programmation. D'autres caractéristiques et avantages de la présente invention apparaîtront à la lecture de la description de divers modes de réalisation. Cette description est faite ci-apres avec référence aux dessins ci-annexés dans lesquels: - la figure 1 représente schématiquement le circuit d'une mémoire du type EPROM-Flash organisée en mots de 8 cellules de l'état de la technique; - la figure 2 représente schématiquement une rangée de mots de la mémoire EPROM-Flash de la figure 1 munie d'un circuit de polarisation associé à un multiplexeur conforme à la présente invention; - la figure 3 représente schématiquement une vue d'ensemble des circuits périphériques de la mémoire EPROM-Flash comportant notamment le circuit de polarisation de son multiplexeur associé. Dans la description et les dessins les mêmes éléments portent les mêmes références. Sur la figure 1 on a représenté une mémoire 1 de type EPROM-Flash comportant des cellules 2 à 9 organisées en mots, tel que le premier mot 10. Les cellules mémoires, par exemple la cellule 7, comportent un transistor à grille flottante agissant comme organe de mémorisation dans les cellules (les cellules et les transistors à grille flottante respectifs porteront les mêmes indices tout le long de la description). Ce transistor 7 comporte une grille flottante 11, une grille de commande 12 et deux électrodes principales respectivement 13 et 14. Les électrodes de grille de commande 12 du premier mot 10 sont connectés à une même connexion de ligne de mot 30. Les électrodes de drain 14 des transistors 2 à 9 des cellules du premier mot 10 sont reliées à des connexions de lignes de bits différenciées 15 à 22 de ce mot. L'autre électrode principale 13, à savoir l'électrode de source, des transistors 2 à 9 d'un premier mot 10 est reliée à une connexion 24 de source de ce mot. Cette connexion 24 est elle-même reliée à une connexion verticale 25 de source par l'intermédiaire d'un transistor de sélection 26. Ce transistor de sélection 26 comporte une grille de commande 27 et deux électrodes principales respectivement 28 et 29. L'électrode principale 28 est reliée à la connexion verticale 25 de source. L'électrode 29 est reliée à la connexion 24 de source du mot 10. Le transistor 26 reçoit sur sa grille de commande des signaux de sélection de mot acheminés par une connexion 30b. La mémoire 1 est constituée d'ensembles verticaux 31 de mots tels que 10 disposés verticalement, adjacents verticalement, à ce mot 10. Les mots adjacents verticalement sont de constitution identique au mot 10. Les électrodes de drain de transistors à grille flottante de cellules des mots adjacents verticalement à ce premier mot 10 sont reliées aux lignes de bit 15 à 22 du premier mot. Deux mots adjacents verticalement sont deux mots situés côte à côte, avec aucun autre mot entre eux, sur une même verticale V montrée sur la figure. La mémoire 1 est constituée de rangée 23 de mots tels que 10, adjacents horizontalement à ce premier mot. Les électrodes de grille de commande de transistors à grille flottante de cellules des mots de la rangée 23 sont reliées à la connexion de ligne de mots 30 de ce premier mot 10. Deux mots adjacents horizontalement sont deux mots situés côte à côte, avec aucun autre mot entre eux, sur une même ligne horizontale H montrée sur la figure. L'ensemble de ces mots disposés verticalement et horizontalement détermine une matrice. Lors d'une programmation d'une cellule mémoire, on fait monter la tension de la ligne de mots 30, et de la connexion 30b, à 12V. Au moyen d'un circuit de polarisation, conformément à l'invention, on porte une ligne de bits, telle que 15 à 22, sélectionnée à une tension de 6V. La connexion 25 est reliée alors à la masse, ce qui met toutes les sources des transistors du mot sélectionné à la masse par conduction à travers le transistor de sélection 26. Ceci provoquerait lors d'une programmation de plusieurs cellules la création d'un courant trop fort endommageant la connexion 25 et limitant l'efficacité de la programmation. On décrit maintenant en référence à la figure 2 un mode de réalisation de l'invention. La figure 2 montre une rangée de la matrice de la mémoire 1. Un circuit de polarisation 32, ici associé dans un mode particulier à un multiplexeur 33, relie conformément à l'invention une ligne de bits, la ligne de bits 15, à deux connexions communes de programmation 38, 39 par deux connexions de liaison respectivement 36 et 37. Le principe est qu'une ligne de bits, telle que 15 d'une cellule 2, d'un rang donné d'un premier mot 10, et au moins une ligne de bits telle que 15b d'une cellule mémoire 2b, d'un même rang dans un autre mot, de préférence adjacent horizontalement à ce premier mot 10, sont reliées aux deux mêmes connexions communes de programmation, 36 et 37 respectivement, par l'intermédiaire de circuits de polarisation différents 32 et 32b. Le circuit 32b est relié aux connexions 38, 39 par les connexions de liaison 36b et 37b. Le circuit de polarisation 32 comporte deux entrées de tension de polarisation et une sortie de tension de polarisation 40 correspondant à une ligne de bits. Cette sortie 40 est reliée à l'entrée du multiplexeur 33. Le multiplexeur 33 comporte deux transistors 73, 74 dont l'un 73 est de type P, l'autre 74 est de type N. La sortie 40 est connecté d'une part à une électrode principale 75 du transistor 73 et d'autre part à l'électrode principale 76 du transistor 74. Les deux autres électrodes principales de ces deux transistors 73 et 74 sont reliées respectivement à une connexion de ligne de bits 15 et 34. On expliquera le fonctionnement de ce multiplexeur optionnel plus loin. Le circuit 32 comporte deux transistors de polarisation 41 et 42 et, en outre, une connexion 43 de distribution reliée à des premières électrodes principales 44 et 45 de ces deux transistors 41 et 42. Les autres électrodes principales 46 et 47 de ces deux transistors 41 et 42 sont reliées respectivement aux deux connexions de liaison 37 et 36. Des électrodes 48, 49 de grilles de commande de ces transistors 41 et 42 sont connectés à un circuit 50 de délivrance de la donnée à programmer. Ce circuit 50 de délivrance est un circuit de mémorisation pour mémoriser une valeur et une valeur complémentaire d'une donnée binaire à programmer. Ce circuit de mémorisation 50 comporte, dans un exemple, quatre transistors dont deux de type N respectivement 51 et 52 et deux de type P respectivement 53 et 54 montés ensemble en trigger de SCHMITT. Les deux transistors 53 et 54 ont leur électrode principale 55 et 56 reliée à une connexion 57, elle-même reliée à une alimentation Vcc. Ces transistors respectivement 53 et 54 sont en série par leur autre électrode principale avec les deux autres transistors respectivement 51 et 52. Les points milieux des couples de transistors 51, 53 et 52, 54 sont dénommés A et B. Les autres électrodes principales 57 et 58 des deux transistors 51 et 52 sont reliées à une connexion 59 reliée à la masse. Les électrodes de grille de commande des deux transistors 53 et 54 sont reliées respectivement aux électrodes de grille de commande des deux transistor 51 et 52. Ces liaisons sont elles-mêmes reliées aux deux bornes respectivement B et A. On relie la borne B à l'électrode de grille de commande 49 du transistor 42 par la connexion 61. De même, on relie la borne A à l'électrode de grille de commande 48 du transistor de polarisation 41 par la connexion 62. Les deux connexions 61 et 62 constituent deux sorties du circuit 50 de délivrance permettant de commander en opposition les transistors 41 et 42. Pour conduire la donnée à l'intérieur du circuit 50, on force le noeud A à un potentiel désiré par une chaîne de transistors 65 et 67 en série. La connexion 62 est reliée à l'électrode principale 64 du transistor 65. Le transistor 65 est relié en série par son autre électrode principale au transistor 67. Le transistor 67 comporte une grille de commande 68 et une autre électrode principale 69. La grille 68 commande le passage ou non de la donnée à programmer. Le transfert des données dans les circuits 50 se produit au moment de l'application d'un signal de cadencement sur la connexion 68. Toutes les connexions 68 des différents circuits 32 sont reliées entre elles. La donnée à programmer est appliquée sur l'électrode principale 69 du transistor 67. L'électrode 66 du transistor 65 est reliée à une sortie d'un décodeur de ligne de bits. Préalablement à la programmation on impose par les connexions 66 et 68 des tensions utiles à conditionner tous les circuits 50 de la mémoire. Les circuits 50 qui sont sélectionnés reçoivent une haute tension sur la connexion 66. Pour ceux qui sont sélectionnés, la connexion 69 est portée à la haute tension ou à zéro selon la valeur du bit à programmer. Le circuit 50 délivre la donnée à programmer. Le circuit 50 délivre sur ses deux sorties 61 et 62 deux états logiques complémentaires. Ce circuit 32 transmet en conséquence à sa sortie 40 une des deux tensions admises sur ses deux entrées 36 et 37. On programme la donnée à programmer dans la cellule 2 en appliquant sur les deux connexions communes de programmation 38 et 39 un couple de tensions traduisant une préparation à la programmation. Dans un exemple, ce couple de tension est de 6 volts portés sur la connexion 38 et de 2 volts portés sur la connexion 39. Les circuits 32 qui sont reliés à des cellules à ne pas programmer (pour l'instant) reçoivent un couple de tensions traduisant une inhibition à la programmation. Dans un exemple, ce couple de tensions d'inhibition est de 2 volts et 2 volts, portés sur les autres connexions communes telles que 83 et 84. Ainsi, les entrées des circuits de polarisation 32, 77, 79 ou 32b sont connectées à des couples de connexions communes 38 et 39 ou 83 et 84, etc.... Dans un exemple il y a huit couples de connexions communes tels que 38, 39. Les deux entrées du circuit 32 sont reliées au premier couple de connexions communes 38, 39, les deux entrées du circuit 77 sont connectées au deuxième couple de connexions communes 83 et 84. Les deux entrées d'un huitième circuit de polarisation 79 sont reliées aux huitième couple de connexions communes 83b, 84b. Ces huit circuits appartiennent à un premier groupe 75 de circuits de polarisation. Un autre groupe 82 de huit circuits de polarisation est connecté dans les mêmes conditions aux connexions 38, 39, 83, 84 jusqu'à 83b, 84b. Chaque circuit de polarisation de même rang, dans le groupe 82, qu'un circuit de polarisation du groupe 75 a ses deux entrées telles que 36 et 37 connectées à un couple de connexions communes de même rang. Un seul couple de connexions communes est porté aux tensions de programmation (6 volts, 2 volts). Tous les autres sont portés au couple de tension d'inhibition (2V, 2v). il y a autant (N) de groupes reliés en même temps aux mêmes connexions communes 38, 39 qu'il y a de cellules qu'on veut programmer en même temps. Dans un exemple N égale 8. Pour programmer toutes les cellules d'un mot 10 on porte successivement les connexions communes respectivement 38 et 39 puis 83, 84, 83b, 84b à 6V, 2V, toutes les autres connexions étant à 2V, 2V. Ainsi de suite jusqu'à 83b, 84b. On programme un mot de huit bits en huit cycles. Avec l'invention, dans un mode particulier de réalisation, on veut que le plan mémoire de la mémoire de type EPROM Flash réalisée, comporte un nombre de ligne de bits deux fois supérieur au nombre de lignes de bits d'une mémoire EEPROM classique (1024 lignes de bits sur une ligne de mot au lieu de 512). Dans une mémoire EEPROM classique, il existe un nombre de circuits de polarisation égal au nombre de ligne de bits. Dans le cas présent, le nombre de lignes de bits est double. Par ailleurs des spécifications quant aux mémoires EEPROM imposent de ne pas programmer plus de 64 lignes de bits à la fois. Dans l'invention on prévoit alors un circuit de multiplexage pouvant commander deux lignes de bits de même rang successivement, correspondant à deux mots adjacents horizontalement en entrelacement. Selon un mode de réalisation spécifique, la ligne de bits 15 d'une cellule mémoire (d'un rang donné) du mot 10 est jumelée avec une ligne de bits 34 d'une cellule mémoire (d'un même rang) d'un mot 81 directement adjacent horizontalement à ce premier mot 10. Le jumelage est réalisé par le circuit de multiplexage 33. Le circuit 33 aiguille la sortie 40 du circuit 32 sur l'une ou l'autre de ces lignes de bits 15 ou 34 en fonction d'une commande appliquée sur une connexion 71. La commande autorise la transmission du potentiel de programmation (ou d'inhibition) sur une seule de ces deux lignes de bits à la fois. En d'autres termes, on polarise soit la ligne de bits 15, soit la ligne de bits 34, et on programme donc soit la cellule 2, soit la cellule 35 appartenant au mot 81. Le plan mémoire de la mémoire 1 est ainsi organisé en deux pages distinctes entrelacées. Une première page comporte les mots 10 et une deuxième page comporte les mots 81. Les deux pages comportant ainsi des groupes 72 et 83 de mots adjacents verticalement (figure 1). Le principe est qu'on programme successivement toutes les cellules d'un mot dans la première page puis toutes les cellules d'un mot dans la deuxième page. La commande appliquée sur la connexion 71 est donc changée une fois tous les huit cycles. La raison de la présence du multiplexeur 33 est que les circuits 32 sont encombrants. Comme il en faut huit pour huit lignes de bits (pour programmer les cellules d'un mot), cela reviendrait à devoir espacer les lignes de bits 15 à 23. En introduisant les multiplexeurs 33, on peut loger le double de lignes de bits, celles du mot 10 et celles du mot 81 dans l'encombrement total des huit circuits de polarisation 32 et 77 à 79. On a décrit un entrelacement de mots (72, 83). Il est cependant possible d'entrelacer directement les cellules. Dans ce cas, la cellule 35 serait placée à côté de la cellule 2 (à la place de la cellule 3 qui serait repoussée). Cette dernière manière de faire aurait l'avantage de réduire l'occupation de surface il n'y aurait plus de connexion horizontale 120, 121 qui passent au dessus du mot 10 ou du mot 81. En pratique on réduirait la hauteur de quatorze épaisseurs de ces connexions 120, 121. Sur la figure 2, on a représenté un autre circuit de polarisation 77 et son multiplexeur associé 76, identiques au circuit de polarisation 32 et au multiplexeur 33. Le circuit 77 comporte comme le circuit 32 deux entrées 123, 124 de tension de polarisation et une sortie de tension de polarisation 40b. Le circuit 77 permet de polariser au choix deux lignes de bits 16 ou 78 suivant la valeur de la commande reçue par le multiplexeur 76. Les multiplexeurs sont tous commandés par le signal transmis sur la connexion 71. La ligne de bits 16 est adjacente horizontalement à la ligne de bits 15, tout comme la ligne de bits 78 est adjacente horizontalement à la ligne de bits 34. Le huitième circuit 79 représenté constitue le huitième circuit de polarisation du mot 10. Son multiplexeur associé 80 permet de polariser au choix une cellule du mot 10 ou, suivant l'état de la commande 71, une cellule du mot 81 adjacent horizontalement. Le groupe 75 de ces huit circuits de polarisation permet de polariser deux mots (10, 81) de la mémoire sur une même ligne de la matrice. De la même manière, on a représenté un autre groupe 82 représentant huit circuits de polarisation auxquels correspondent aussi deux mots, et fonctionnant de la même manière que les circuits de polarisation 32 et 77 à 79 associés aux multiplexeur 33, 76 et 80. Ce groupe 82 comporte seize sorties représentant les sorties des huit multiplexeurs et seize entrées connectées aux huit connexions communes de programmation. Sur la figure 3, on a représenté une mémoire 1 du type EPROM-Flash entourée de ses périphériques comportant symboliquement un circuit de polarisation 32 associé à un multiplexeur 33. La figure montre un microcontrôleur 85 permettant de commander le fonctionnement d'un compteur d'adresse 86 Ce compteur 86 permet d'adresser un décodeur de rangée 87. Ce compteur 86 comporte 8 entrées et 256 sorties correspondant au nombre de lignes de mots existant dans la mémoire 1. Une pompe de charge de tension négative 88, commandée par le microcontrôleur 85, alimente un commutateur de tension 89 relié à la mémoire 1. Le commutateur 89 permet d'obtenir aussi bien une tension négative pour l'effacement, qu'une tension positive pour la programmation sur des lignes de mots sélectionnées par le décodeur 87. Une pompe de charge 90, contrôlée par le microcontrôleur 85, permet d'alimenter le décodeur de ligne de mots 87, le commutateur de tension 89 et un commutateur de ligne de source 96. Un décodeur de ligne de bits 97 et le décodeur de ligne de mots 87 permettent d'appliquer sur les connexions de la mémoire 1 des potentiels représentatifs d'informations à enregistrer dans les cellules-mémoire ou représentatifs de commande d'écriture ou de lecture des informations dans les cellules. Le circuit de polarisation 32 est relié par ailleurs à un circuit de données à programmer 93 contrôlé par le microcontrôleur 85. Le circuit 93 fournit les données à programmer aux circuits 50 de délivrance. Le circuit 32 comporte à son entrée et à sa sortie des bus de données pour transporter des données lues et à écrire respectivement 92 et 91. Le bus 92 est relié à un circuit de lecture 94 contrôlé par le microcontrôleur 85. Le circuit 93 et le circuit 94 permettent de polariser les deux entrées respectivement 38 et 39 du circuit de polarisation 32, tant en écriture (programmation ou effacement) qu'en lecture. Pour des raisons pratiques, le circuit 93 est relié à une pompe de charge de drain 95 contrôlée par le microcontrôleur 85. La pompe 95 permet de fournir un courant élevé de l'ordre de 4mA (une cellule consommant un courant de l'ordre de 500ssA) sur la connexion commune 38. Le circuit 95, 93, 91 permet de polariser la deuxième entrée 39 du circuit de polarisation 32. Le circuit 32 est connecté à un bus de commande 99 provenant du décodeur de lignes de bits 97 et délivrant un signal correspondant à l'une ou l'autre des deux pages à programmer. L'entrée de ce décodeur 97 de lignes de bits est aussi relié au compteur d'adresse 86 par un bus d'adresse 100. La sortie du circuit de polarisation 32 comporte un bus de données 101 avec un nombre de connexions correspondant au nombre total de circuits de polarisation 32 permettant la programmation de toute la mémoire, à savoir 512 circuits de polarisation. Dans un exemple cette mémoire 1 comporte 1024 lignes de bits. Enfin le multiplexeur (33) est relié à la mémoire 1 par un bus d'adresse 102 dont le nombre de fils correspond au nombre de lignes de bits existant dans la mémoire 1. Deux bus 103 et 104 permettent la sélection des lignes de source par envoi de signaux commande aux transistors 26. La nouveauté de l'invention se trouve en particulier dans la présence du microcontrôleur 85 et dans les circuits 32, 33, 89, 93, 95 et 96. Le microcontrôleur 85 exécute un programme de programmation des cellules d'un même mot, les unes à la suite des autres, au cours de cycles de programmation successifs et différents. La programmation du plan mémoire de la mémoire 1 se réalise par une séquence d'opérations. Au cours d'une première opération, on sélectionne des cellules telles que 2 à 9 d'une première page par l'intermédiaire de la commande 71 du circuit de multiplexage 33. Ensuite, de préférence, lors d'une deuxième opération on programme toutes les cellules 2 à 9 d'une même page à un même niveau permettant d'obtenir une tension de seuil uniforme pour chaque cellule de la page sélectionnée. Lors d'une troisième opération, on efface toutes les cellules sélectionnées 2 à 9. Lors de l'effacement, la tension de polarisation appliquée sur l'électrode de grille de commande d'un mot 10 est de l'ordre de - 6v. Toutes les cellules d'une même ligne de mots telle que 30 reçoivent cette tension, que la page soit sélectionnée ou non. D'autre part, l'électrode de source est portée à une tension de l'ordre de 10v. L'électrode de drain est portée à haute impédance. L'effacement nécessite une série de plusieurs impulsions de durées très brèves de l'ordre de 100Ms. Ces tensions, lors de l'effacement, peuvent provoquer d'une part une déplétion dans les cellules telles que 2 à 9 d'une page sélectionnée. Les cellules telle que 35 d'une page non sélectionnée reçoivent d'autre part sur leur électrode de grille de commande cette même tension - 6v. Cette tension négative cause des pertes de charges sur leur grille flottante et a tendance à les effacer quelque peu. Pour des cellules sélectionnées telles que 2 à 9 d'une page sélectionnée on vérifie avant toute programmation, conformément à l'invention, si les cellules ont subi une déplétion. Si c'est le cas on reprogramme celles-ci légèrement de façon à ce qu'elles retrouvent une tension de seuil devenue trop faible après l'effacement. De même on va reprogrammer, ou rafraîchir, les cellules non sélectionnées telles que 35 d'une page non sélectionnée qui peuvent avoir subi un effacement parasite, ou une perte de charges, lors de l'effacement précédant la programmation en raison de la forte tension appliquée sur la ligne de mots telle que 30. REVENDICATIONS 1 - Dispositif de programmation des cellules mémoires de type EPROM - Flash de mots mémoires d'une mémoire (1), comportant - une organisation en mots des cellules, - des transistors à grille flottante agissant comme organes de mémorisation dans les cellules, - des électrodes de drain de transistors à grille flottante de cellules d'un premier mot (10) étant reliées à des connexions de ligne de bit différenciées (15-22) de ce premier mot (10); - des électrodes de drain de transistors à grille flottante de cellules de mots (72) adjacents verticalement à ce premier mot (10) étant reliées aux connexions (15-22) de lignes de bit du premier mot, caractérisé en ce que - une ligne de bits (15) d'une cellule mémoire (2) d'un rang donné du premier mot (10) et au moins une ligne de bits (15b) d'une cellule mémoire (2b) d'un même rang dans un mot (82) adjacent horizontalement à ce premier mot (10) sont reliées ensemble à deux connexions communes de programmation (38,39) par l'intermédiaire de circuits (32, 32b) de polarisation, et en ce que - les circuits de polarisation (32, 32b) comportent deux entrées (36, 37, 36b, 37b) de tension de polarisation et une sortie de tension de polarisation (40). 2 - Dispositif selon la revendication 1, caractérisé en ce que - un circuit de polarisation (32) comporte deux transistors de polarisation (41-42) et, en sortie, une connexion de distribution (43) reliée à des premières électrodes principales (45,44) de ces deux transistors de polarisation (41,42)), les autres électrodes principales (46,47) de ces deux transistors de polarisation (41,42) étant reliées respectivement aux deux connexions communes de programmation (39,38), des grilles de commande (48,49) de ces transistors de polarisation (41,42) étant connectées à un circuit de délivrance (50)de la donné à programmer. 3 - Dispositif selon la revendication 2, caractérisé en ce que le circuit de délivrance (50) est - un circuit de mémorisation pour mémoriser une valeur et une valeur complémentaire d'une donnée binaire à programmer, - ce circuit de mémorisation comportant deux sorties (61,63) reliées respectivement aux deux grilles de commande (49,48) des transistors de polarisation (42,41) pour les commander en opposition. 4 - Dispositif selon l'une des revendications 1 à 3, caractérisé en ce que - une ligne (15) de bits de cellules (2) mémoires d'un rang donné au premier mot (10) est jumelée avec une ligne (34) de bits d'une cellule (35) mémoire d'un même rang dans un mot directement adjacent horizontalement à ce premier mot par un circuit de multiplexage (33) qui aiguille la sortie (40) du circuit de polarisation (32) sur l'une ou J'autre d'entre elles en fonction d'une commande (71). 5 - Dispositif selon l'une des revendications 1 à 4, caractérisé en ce que - des électrodes de grille de commande de transistors à grille flottante de mots adjacents horizontalement dans un plan mémoire de la mémoire (1) sont reliées à une même connexion de ligne de mots, - des électrodes de drain de transistors à grille flottante de cellules d'un rang donné de mots adjacents verticalement dans un plan mémoire de la mémoire sont reliées à une même connexion de ligne de bits, - une ligne de bit d'une cellule de rang donné du premier mot (10) étant reliée à une ligne de bits d'une cellule de même rang du mot adjacent horizontalement de la mémoire, toutes les deux étant reliées à deux mêmes connexions communes de programmation (38, 39) par l'intermédiaire d'un même circuit de polarisation (32), - des électrodes sources de transistors à grille flottante des cellules d'un mot sont reliées ensemble à une connexion de source de ce mot, - pour des mots adjacents verticalement au premier mot, les connexions de source de ces mots sont reliées à une connexion (25) verticale de sources par l'intermédiaire de transistors (26) de sélection de ces mots adjacents verticalement, ces transistors de sélection recevant sur leur grille de commande des signaux de sélection de mot, - pour programmer une cellule d'un mot différent adjacent horizontalement (70) à ce premier mot (10), la grille de commande du transistor de sélection de ce mot différent adjacent horizontalement (81) reçoit (30b) le signal de sélection de ce premier mot (10). 6 - Procédé de programmation des cellules mémoires de type EPROM - Flash d'un premier mot mémoire (10) d'une mémoire (1) organisée en mots, dans lequel - on soumet des électrodes de transistors à grille flottante (2-9) de ce premier mot (10), qui servent chacun d'élément de mémorisation pour une cellule de ce premier mot (10), à des tensions de polarisation de façon à provoquer le passage de courants de saturation dans ces transistors à grille flottante (2-9) , ces courants de saturation étant de nature à provoquer l'injection de charges dans les grilles flottantes respectives de ces transistors à grille flottante (2-9), caractérisé en ce que - on programme successivement, aux cours de cycles de programmation différents, les différentes cellules (2-9) de ce premier mot. 7 - Procédé selon la revendication 6, caractérisée en ce que - on programme au cours d'un même cycle de programmation une cellule (2) d'un rang donné du premier mot (10) et une cellule (2b) différente, de préférence une cellule de même rang, dans au moins un mot (82) qui est différent de ce premier mot (10). 8 - Procédé selon l'une des revendications 6 ou 7, caractérisée en ce que - on organise le plan mémoire de la mémoire (1) en deux pages distinctes, une première page et une deuxième page, toutes deux constituées de groupes (10, 81) de mots adjacents verticalement, les deux pages ensemble comportant de tels mots entrelacés horizontalement. - on programme successivement une première page et une deuxième page du plan mémoire de la mémoire, la première page lors d'une première instruction, la deuxième page lors d'une deuxième instruction. 9 - Procédé selon l'une des revendications 6 à 8, caractérisé en ce que - on relie deux entrées d'un circuit de polarisation (36,37) de la mémoire à deux connexions communes de programmation (38,39), - on connecte la sortie de ce circuit de polarisation (40) à une électrode des transistors à grille flottante (2-9) du premier mot (10), - on connecte deux électrodes de commande (48,49) de ce circuit de polarisation (32) à un circuit de délivrance (50) de la donnée à programmer délivrant sur deux sorties (61, 62) deux états logiques complémentaires, ce circuit de polarisation transmettant à sa sortie (40) une des deux tensions admises sur ses deux entrées (36,37), et - on programme ou ne programme pas la donnée à programmer en appliquant sur les deux entrées (36,37) du circuit de polarisation (32) un couple de tensions traduisant soit une préparation à la programmation (6v,2v) soit une inhibition de la programmation (2v,2v). 10 - Procédé selon l'une des revendications 6 à 9, caractérisé en ce que la programmation est suivie d'un cycle de rafraîchissement consistant à reprogrammer des cellules d'une page non sélectionnée. 11 - Procédé selon l'une des revendications 6 à 10, caractérisé en ce que la programmation comporte en sequence les instructions suivantes - on programme toutes les cellules mémoires d'une page sélectionnée, - on efface toutes les cellules mémoires de la page sélectionnée, - on vérifie si quelques cellules mémoires de cette page sélectionnée ont subi une déplétion, et, si c'est le cas - on corrige, - on programme des cellules sélectionnées - la programmation est suivie d'un cycle de rafraîchissement consistant à reprogrammer des cellules non sélectionnées appartenant à une page non sélectionnée.