FR 2663147 A1 19911213 FR 9007294 A 19900612 MEMOIRE PROGRAMMABLE A DOUBLE TRANSISTOR A GRILLE FLOTTANTE L'invention concerne les mémoires non volatiles, programmables et effaçables électriquement, connues sous l'appellation usuelle EEPROM. Ces dernières années, ces mémoires ont connu un essor important grâce à leur facilité d'effacement, comparativement aux mémoires de type EPROM qui ne sont effaçables que par illumination ultraviolette. Mais cet avantage pour l'utilisateur a pour contrepartie, pour le fabricant, le fait que la circuiterie nécessaire à l'effacement et à la reprogrammation est complexe. En effet, ces mémoires utilisent des transistors à grille flottante dans lesquels la programmation d'un bit consiste à stocker sur la grille flottante des charges électriques. La programmation et l'effacement font passer les charges à travers des couches isolantes qui séparent la grille flottante du reste du circuit. Des tensions relativement élevées (de l'ordre de 20 volts aujourd'hui) doivent être appliquées pour effectuer la programmation ou l'effacement. D'une part, il faut aiguiller correctement ces tensions soit vers la grille soit vers le drain des transistors à grille flottante constituant les points mémoire, ceci en fonction de l'opération souhaitée sur un point déterminé. Les circuits de décodage et d'aiguillage sont complexes. D'autre part ces tensions sont supérieures à celles que peuvent supporter normalement les transistors usuels des circuits intégrés. Pour appliquer les tensions de 20 volts aux endroits désirés, soit en programmation soit en effacement, il faut donc des circuits d'aiguillage qui doivent être spécialement conçus pour permettre d'aiguiller des tensions de 20 volts et non pas des tensions de 5 volts qu'on rencontre habituellement dans les circuits intégrés. Ces circuits d'aiguillage sont plus encombrants et complexes que les circuits fonctionnant avec des tensions de 5 volts. C'est pourquoi les mémoires EEPROM comportent une circuiterie de commande de programmation et d'effacement qui est encombrante. A la base de la présente invention, il y a d'abord la remarque que cet encombrement est d'autant plus gênant que la mémoire comporte un plus petit nombre de points mémoire. Pour une mémoire à très grand nombre de points (par exemple 256 kbits) la surface des points mémoire occupe par exemple 50% de la surface totale du circuit, et les circuits de commande 50% également. Mais pour une mémoire à petit nombre de points, par exemple 64 bits, la proportion est de 10t pour les points mémoire et 90% pour la circuiterie de commande. Il est donc important de faire très attention à la conception de cette circuiterie si on veut que des mémoires à petite capacité restent intéressantes. L'invention propose un moyen pour réduire la complexité de la circuiterie de commande des mémoires EEPROM. On propose de modifier le point mémoire en utilisant pour chaque point mémoire deux transistors à grille flottante ayant leurs sources connectées ensemble et aptes à mémoriser des états complémentaires, la grille de chacun des deux transistors étant connectée au drain de l'autre transistor par l'intermédiaire d'un transistor de connexion respectif, un moyen de commande étant prévu pour rendre conducteurs les deux transistors de connexion en mode d'écriture (programmation ou effacement du point mémoire), et pour les bloquer en mode de lecture. Chaque transistor à grille flottante est de préférence en série avec un transistor de sélection respectif permettant de connecter, pour un point mémoire appartenant à un mot sélectionné, le drain de chacun des transistors à grille flottante à une ligne de bit respective. De préférence encore, les sources des transistors à grille flottante sont reliées au drain d'un transistor de polarisation dont la source est à la masse. Ce transistor est individuel pour le point mémoire, ou bien il est collectif pour plusieurs points, voire pour une ligne entière ou une colonne entière ou même pour l'ensemble des points de la mémoire. Il est rendu conducteur ou bloqué par une ligne de commande définissant si on est en mode de lecture ou au contraire en mode de programmation ou d'effacement. Cette ligne de commande de mode définit le mode pour l'ensemble des points de la mémoire; en mode de lecture, elle commande la mise à la masse des sources des transistors à grille flottante pour l'ensemble des points mémoire. En mode de programmation ou d'effacement, elle place en haute impédance les sources des transistors à grille flottante. De préférence encore, la mémoire comporte des moyens pour appliquer aux grilles des transistors à grille flottante, en mode de lecture, une tension de lecture. Ces moyens peuvent consister en un transistor individuel connecté entre d'une part une ligne fournissant la tension de lecture et d'autre part la grille de commande d'un transistor à grille flottante. Toutefois, ce transistor peut être commun à plusieurs transistors à grille flottante reliés à la même ligne de bit (ou commun à toute cette ligne). Sous forme d'un procédé de - mémorisation d'informations, l'invention se résume de la manière suivante : le procédé est un procédé de mémorisation non volatile d'une information électriquement effaçable et programmable dans un réseau de points mémoire, et il est caractérisé en ce que l'information est mémorisée dans chaque point mémoire sous forme de deux états complémentaires dans deux transistors à grille flottante respectifs, chaque transistor à grille flottante ayant, en mode de programmation et d'effacement, sa grille reliée au drain de l'autre par un transistor de connexion respectif qui peut être bloqué en mode de lecture. D'autres caractéristiques et avantages de 11 invention apparaîtront à la lecture de la description détaillée qui suit et qui est faite en référence aux dessins annexés dans lesquels - la figure 1 représente la structure d'un point mémoire classique de mémoire EEPROM à grille flottante; - la figure 2 représente la structure d'un point mémoire et des moyens de commande correspondants dans une mémoire selon l'invention. - la figure 3 représente une variante de réalisation du point mémoire selon l'invention. A la figure 1, on a représenté un point mémoire classique comportant un transistor à grille flottante TGF et un transistor de sélection TS. C'est le point mémoire typique des mémoires EEPROM. Les deux transistors sont en série. Le drain du transistor TS est relié à une ligne de bit BL servant à lire ou à écrire une information dans le point mémoire. La ligne de bit est reliée à tous les points mémoire d'une même colonne. La source du transistor TS est reliée au drain du transistor TGF. La grille du transistor TS est reliée à une ligne de mot WL permettant de sélectionner un mot ou une rangée entière de points mémoire. Pour programmer, effacer et lire un tel point mémoire, il est nécessaire d'appliquer des combinaisons de tensions bien définies sur les grilles des deux transistors, ainsi d'ailleurs que sur le drain du transistor de sélection. D'autres combinaisons sont nécessaires pour protéger l'état de mémorisation d'un point mémoire déterminé pendant qu'on est en train de programmer ou d'effacer d'autres points mémoire appartenant à la même ligne ou à la même colonne. A titre indicatif, on peut établir le tableau suivant, représentant les tensions à appliquer à un point mémoire déterminé pour l'effacer (mémorisation d'un état 0 par évacuation des charges contenues dans la grille flottante) ou pour le programmer (injection de charges dans la grille flottante : mémorisation d'un état 1). Vd est la tension sur le drain de TS, appliquée par la ligne de bit BL; Vw est la tension sur la grille de TS, appliquée par la ligne de mot WL; Vgf est la tension sur la grille de commande du transistor à grille flottante, appliquée par l'intermédiaire d'un transistor TP qui ne fait pas partie du point mémoire mais qui est commun à toute une colonne de points; Vs est la tension sur la source du transistor TGF, appliquée à travers un transistor TM qui est commun à plusieurs points mémoire. Vgf Vd Vw Vs Effacement : 20v 0 20v 0 Programmation: 0 20v 20v haute impédance Lecture : 1,5v 1,5v 5v 0 De ce tableau il résulte que l'écriture d'une information dans les points d'une ligne, sélectionnée par la ligne de mot WL, nécessite à la fois le choix d'une tension appropriée sur la ligne de bit BL (20 volts ou 0 volt selon qu'il s'agit d'un effacement ou d'une programmation) et le choix d'une tension complémentaire correspondante sur le drain du transistor TP (0 volt ou 20 volts). Et de plus, la commande du transistor TM n'est pas la même selon qu'on efface ou qu'on programme. Par conséquent, la commande d'écriture est complexe puisque chaque information inscrite nécessite un double aiguillage de tensions : vers le drain du transistor TP d'une colonne, vers la ligne de bit BL. D'autre part, on est obligé en pratique de faire l'écriture en deux fois : on efface tout, puis on effectue uniquement des programmations pour les points qui doivent être programmés, les autres restant effacés. Cette double étape est une perte de temps gênante. Par ailleurs, les aiguillages nécessaires dans la circuiterie de commande de lecture, de programmation et d'effacement, sont spécialement encombrants à cause du fait que des tensions de 20 volts doivent pouvoir être aiguillées. Pour réduire la complexité et l'encombrement de la circuiterie de commande, on propose selon l'invention un point mémoire double, c'est-à-dire comportant deux transistors à grille flottante connectés ensemble; une partie des circuits d'aiguillage est alors localisée dans le point mémoire lui-même, mais ce qui est important c'est que ces aiguillages ne sont plus commandés en fonction de l'information à inscrire. Ils sont seulement commandés en fonction du mode de fonctionnement : lecture ou écriture. Les deux transistors à grille flottante mémorisent des états logiques complémentaires : lorsque l'un est effacé, l'autre est programmé. Et, en mode d'écriture (programmation ou effacement), le drain de l'un des transistors est relié à la grille de l'autre, ce qui permet d'appliquer à l'un des transistors des tensions de drain et grille qui sont complémentaires des tensions correspondantes de l'autre transistor. C'est ce qui permet de faire simultanément une programmation et un effacement en aiguillant vers le point mémoire une seule tension (ou plus exactement deux tensions systématiquement complémentaires) et non plusieurs tensions différentes indépendantes. Un exemple de réalisation du point mémoire selon l'invention est donné à la figure 2. Il y a un premier transistor à grille flottante TGF1 en série avec un premier transistor de sélection TS1; et un deuxième transistor à grille flottante TGF2 en série avec un transistor de sélection TS2. Les transistors de sélection sont commandés par la même ligne de mot WL. Mais au lieu d'avoir leurs drains connectés à une seule ligne de bit, le premier (TSl) a son drain connecté à une ligne de bit BL1 et le deuxième a son drain connecté à une ligne de bit auxiliaire BL2. En mode de programmation ou d'effacement, on verra que le niveau logique présent sur la ligne BL1 est toujours complémentaire du niveau présent sur la ligne BL2, de sorte qu'il n'y a pas à prévoir d'aiguillage commandé mais seulement un inverseur pour alimenter la ligne BL2. En mode de lecture, c'est le déséquilibre entre les lignes BL1 et BL2 qui est lu pour détecter l'information stockée dans le point mémoire. Deux transistors de connexion T3 et T4, commandés simultanément par une ligne CS, sont prévus dans le point mémoire. Le transistor T3 permet de connecter le drain du premier transistor à grille flottante TGF1 à la grille du deuxième TGF2; réciproquement, le transistor T4 permet de connecter, sous la commande de la même ligne CS, le drain du transistor TGF2 à la grille du transistor TGF1. La ligne de commande CS est active (transistors T3 et T4 rendus conducteurs) en mode d'écriture, c'est-à-dire de programmation et d'effacement. Elle est inactive (transistors T3 et T4 bloqués) en mode de lecture. Les sources des transistors à grille flottante sont connectées ensemble et reliées au drain d'un transistor T5 dont la source est reliée à la masse (Vss). Le transistor T5 a pour fonction classique la mise à la masse ou la mise en haute impédance de la source des transistors à grille flottante. Il est commandé par une ligne CS* dont l'état est en permanence complémentaire de celui de la ligne CS, c'est-à-dire que le transistor T5 est conducteur en mode de lecture (sources de TGF1 et TGF2 mises à la masse) et qu'il est bloqué (sources de TGF1 et TGF2 en haute impédance) en mode d'écriture. Le transistor T5 n'est pas nécessairement individuel pour le point mémoire considéré : il peut très bien être commun à tout un groupe de points, par exemple une ligne ou une colonne ou même tout le plan mémoire.Il a cependant été représenté dans le point mémoire lui-même puisque sa présence est indispensable à la compréhension du circuit. Enfin, deux transistors supplémentaires T6 et T7 sont prévus pour aiguiller vers les grilles des transistors à grille flottante, en mode de lecture, une tension de lecture VL. Ces transistors sont tous deux rendus conducteurs par la ligne CS* qui commande leurs grilles. Le transistor T6 relie la grille de TGF1 à la tension VL; le transistor T7 relie la grille de TGF2 à la tension VL. Là encore, les transistors T6 et T7 ne font pas nécessairement partie d'un point mémoire spécifique : ils peuvent être communs à plusieurs transistors à grille flottante raccordés à une même ligne de bit (ou communs à toute cette ligne). Mais un transistor T6 ou T7 ne peut pas être commun à deux lignes de bit différentes, et en particulier pas commun aux lignes BL1 et BL2. Le point mémoire comporte donc en général six transistors : les deux transistors à grille flottante TGF1, TGF2, les deux transistors de sélection TS1 et TS2, et les transistors de connexion auxiliaires T3 et T4. Et la mémoire comporte des lignes de commande ou d'amenée de potentiel - la ligne de mot WL (classique) qui commande la sélection d'un mot ou de toute une rangée de points et qui est reliée à un décodeur d'adresse permettant de sélectionner le mot ou la rangée désirée; - une ligne de bit BL1 (classique) reliée à toute une colonne de points mémoire; - une ligne de bit auxiliaire BL2 qui transporte, en mode de programmation et d'effacement, des niveaux logiques complémentaires de ceux qui sont transmis par la ligne BL1 (0 volt s'il y a 20 volts sur BL1 et 20 volts s'il y a 0 volts sur Bol);; - une ligne CS de commande de programmation et effacement, qui n'est pas liée à une rangée ou une colonne de points mémoire mais qui peut servir pour tout le plan mémoire (ce qui veut dire qu'on peut l'amener indifféremment par une rangée ou une colonne physique, sans lien avec l'adressage d'une rangée ou d'une colonne de points mémoire); - une ligne de commande de lecture CS* qui transporte un niveau complémentaire de celui de la ligne CS et qui peut aussi servir pour tout le plan mémoire; - et enfin, une ligne d'application de la tension de lecture VL, et une ligne pour amener la tension Vss de masse; ces deux lignes ne sont pas liées non plus à l'adressage d'un point mémoire et peuvent donc aussi être amenées indifféremment par une rangée ou une colonne. Il suffit maintenant, pour appliquer les tensions d'effacement et de programmation, d'amener la tension désirée sur la ligne de bit BL1 (et un niveau complémentaire systématiquement sur la ligne auxiliaire BL2). De plus, on va voir que l'écriture d'un mot sélectionné peut se faire en une seule étape; il n'est pas nécessaire d'effacer d'abord tout le mot avant de programmer les points du mot qui doivent être programmes. Le fonctionnement détaillé de la mémoire est le suivant A. En effacement. La ligne de commande de mode CS est portée à un niveau de potentiel Vpp, Vpp étant la tension de programmation, par exemple de 20 volts. La ligne CS* est portée à la masse (0 volt). La ligne de mot WL est portée à Vpp pour les mots à effacer. Elle reste à 0 pour les autres. La ligne de bit BL1 est portée à 0 (Vss) pour les mots à effacer; la ligne de bit auxiliaire BL2 est portée au contraire à la tension de programmation Vpp. Il en résulte que les sources des transistors à grille flottante sont en haute impédance (transistor T5 bloqué). Les transistors T3 et T4 sont tous deux conducteurs. Le transistor TGF1 reçoit sur son drain, par la ligne BL1, une tension nulle, et il reçoit sur sa grille de commande la tension Vpp, par la ligne BL2 et le transistor T4. Par ailleurs, le transistor TGF2 est bloqué car sa grille de commande est portée à Vss (à travers BL1 et le transistor T3). La source des transistors TGF1 et TGF2 reste donc bien en haute impédance. Le transistor TGF1 se trouve alors dans des conditions d'effacement puisque son drain est à Vss et sa grille de commande à Vpp. Pendant ce temps, le transistor TGF2 a au contraire son drain à Vpp et sa grille à Vss,sa source étant en haute impédance. Il est dans des conditions de programmation et sa grille flottante se charge en conséquence. On aboutit à l'état suivant : le transistor TGF1 est effacé et le transistor TGF2 programmé. Les transistors des mots non sélectionnés par la ligne de mot WL ne sont pas affectés puisque leurs drains, leurs grilles et leurs sources restent en haute impédance (blocage par les transistors de sélection TS1 et TS2). L'état "effacé" du point mémoire sera donc caractérisé par un état effacé du transistor TGF1 et un état programmé du transistor TGF2. B. En programmation. En programmation, on a toujours l'application de la commande CS à Vpp et de la commande CS* à 0; la sélection d'un mot à écrire se fait par la ligne de mot WL portée à Vpp pour le mot à écrire, à Vss=0 pour les autres. Ce mode est symétrique du précédent, en ce sens qu'on applique maintenant une tension Vpp sur la ligne de bit BLI et une tension complémentaire Vss sur la ligne auxiliaire BL2. Le transistor TGF1 est alors programmé en même temps que le transistor TGF2 est effacé. Les transistors des mots non sélectionnés sont protégés : ils ne reçoivent pas de tension Vpp, ni sur leur grille ni sur leur drain. L'état "programmé" du point mémoire est donc caractérisé par un état programmé du transistor TGF1 et un état effacé du transistor TGF2; c'est l'état complémentaire du précédent. C. En mode de lecture. En mode de lecture, on inverse la ligne de commande CS qui passe à Vss tandis que CS* passe à un niveau logique complémentaire. On notera que le niveau de tension physique sur CS* n'a pas besoin d'être de 20 volts. Il peut être égal à un niveau classique Vcc de 5 volts ou moins. En effet, en mode de lecture on n'utilise plus la tension de programmation Vpp et on travaille uniquement avec des tensions inférieures à 5 volts en général. Il suffit donc de tensions de 5 volts pour commander les transmissions de tensions sur les lignes. Les transistors T3 et T4 sont bloqués et déconnectent donc les liaisons grille-drain entre les transistors à grille flottante. Le transistor T5 est rendu conducteur et met à la masse les sources des transistors à grille flottante TGF1 et TGF2. Enfin, les transistors T6 et T7 sont rendus conducteurs et appliquent la tension de lecture VL aux grilles de commande des transistors à grille flottante. Les lignes de bit BL1 et BL2 ne sont plus alimentées par des niveaux logiques complémentaires elles sont initialement préchargées à une tension Vpch commune aux deux lignes. La tension de lecture VL peut être de l'ordre de 1,5 volts. La tension de précharge Vpch peut être du même ordre. Une tension de commande (par exemple Vcc) est appliquée sur la ligne de mot WL correspondant à un mot à lire, pour rendre conducteur les transistors TS1 et TS2 du mot sélectionné. Selon l'état de programmation du point mémoire (état "programmé" dans lequel la grille flottante de TGF1 a été programmée et celle de TGF2 effacée, ou état "effacé" dans lequel la grille de TGF1 est effacée et celle de TGF2 programmée), un amplificateur différentiel connecté aux lignes de bit BL1 et BL2 basculera dans un sens ou dans un autre et permettra de détecter l'information mémorisée. On peut remarquer que l'effacement et la programmation peuvent s'effectuer simultanément. En effet, les sources des transistors TGF1 et TGF2 restent en haute impédance; et on a obligatoirement Vpp sur une grille de transistor et Vss sur l'autre, ainsi que Vss sur un drain et Vpp sur l'autre, ceci en choisissant seulement une valeur de tension (celle de la ligne BL1, et par déduction celle de la ligne BL2). La structure de mémoire selon l'invention est particulièrement intéressante pour les mémoires de faible capacité dans lesquelles la surface des circuits d'aiguillage des tensions Vpp est largement supérieure à la surface des points mémoire proprement dits : le point mémoire selon l'invention est plus encombrant qu'un point classique puisqu'il comporte deux transistors à grille flottante, mais il permet de réduire considérablement la surface des circuits de commande puisque la seule tension à aiguiller bit par bit en mode d'écriture est la tension Vpp ou 0 sur la ligne BL1. Une variante de réalisation de l'invention, représentée à la figure 3, consiste à connecter le transistor T3 entre le drain du transistor de sélection TS1 et la grille de TGF2; et le transistor T4 entre le drain de TS2 et la grille de TGF1. La seule différence en mode d'écriture est alors que, pour les mots non sélectionnés, les transistors à grille flottante ont une tension de 20 volts ou 0 volts sur leur grille de commande. Mais comme ils ont leur source et leur drain en haute impédance (isolée par TS1, TS2, T5), ils ne risquent pas d'être programmés ou effacés. REVENDICATIONS 1. Mémoire non volatile programmable et effaçable électriquement, caractérisée en ce que chaque point mémoire comprend deux transistors à grille flottante (TGF1, TGF2) ayant leurs sources connectées ensemble et aptes à mémoriser des états complémentaires, la grille de chacun des deux transistors étant connectée au drain de l'autre transistor par l'intermédiaire d'un transistor de connexion respectif (T3, T4), un moyen de commande (CS) étant prévu pour rendre conducteurs les deux transistors de connexion en mode d'écriture, et pour les bloquer en mode de lecture. 2. Mémoire selon la revendication 1, caractérisée en ce que chaque transistor à grille flottante est en série avec un transistor de sélection respectif (TS1, TS2) permettant de connecter, pour un point mémoire appartenant à un mot sélectionné, le drain de chacun des transistors à grille flottante à une ligne de bit respective (BL1, BL2). 3. Mémoire selon la revendication 2, caractérisée en ce que les sources des transistors à grille flottante sont reliées au drain d'un transistor de polarisation (T5) dont la source est à la masse. 4. Mémoire selon la revendication 3, caractérisée en ce que le transistor de polarisation est collectif pour plusieurs points mémoire. 5. Mémoire selon l'une des revendications 3 et 4, caractérisée en ce que le transistor de polarisation est rendu conducteur ou bloqué par une ligne de commande (CS*) définissant si on est en mode de lecture ou au contraire en mode d'écriture. 6. Mémoire selon l'une des revendications précédentes, caractérisée en ce qu'elle comporte des moyens (T6, T7) pour appliquer aux grilles des transistors à grille flottante, en mode de lecture, une tension de lecture (VL). 7. Mémoire selon la revendication 6, caractérisée en ce que les moyens pour appliquer une tension comportent un transistor connecté entre d'une part une ligne fournissant la tension de lecture et d'autre part la grille de commande d'un transistor à grille flottante. 8. Mémoire selon la revendication 8, caractérisée en ce que le transistor servant à appliquer la tension de lecture est commun à plusieurs transistors à grille flottante reliés à une même ligne de bit. 9. Procédé de mémorisation non volatile d'une information électriquement effaçable et programmable dans un réseau de points mémoire, caractérisé en ce que l'information est mémorisée dans chaque point mémoire sous forme de deux états complémentaires dans deux transistors à grille flottante respectifs (TGF1, TGF2), chaque transistor à grille flottante ayant, en mode de programmation et d'effacement, sa grille reliée au drain de l'autre par un transistor de connexion respectif (T3, T4) qui peut être bloqué en mode de lecture.