FR 2752324 A1 19980213 FR 9610176 A 19960808 MEMOIRE NON VOLATILE EN CIRCUIT INTEGRE A LECTURE RAPIDE L'invention concerne l'architecture des mémoires en circuit intégré. L'invention trouve plus particulièrement son application dans le domaine des mémoires non volatiles programmables électriquement, de type EPROM ou EEPROM. Les mémoires sont organisées en réseaux de cellules, les cellules d'une même colonne étant reliées à une ligne de bit et les cellules d'une même rangée étant reliées à une ligne de mot. La ligne de bit permet de transmettre une information sur l'état d'une cellule mémoire située au croisement de cette ligne de bit et d'une ligne de mot sélectionnée. Les circuits de lecture sont reliés aux lignes de bit, éventuellement par l'intermédiaire d'un multiplexeur s'il y a plusieurs lignes de bit pour un seul circuit de lecture. On considérera dans la suite une mémoire organisée en mots de 8 bits t comprenant par conséquent huit circuits de lecture. On connaît l'architecture de mémoire constituée d'un plan mémoire associé à des circuits de lecture et des cellules mémoires de référence. Les cellules de référence sont vierges et peuvent être placées en dehors du plan mémoire ou être intégrées au plan mémoire sous forme d'une rangée supplémentaire. Chaque cellule de référence est reliée à une ligne de bit, appelée ligne de référence. Un schéma de principe d'une telle mémoire est représenté à la figure 1. La mémoire comprend huit circuits de lecture CL0... CL7, chaque circuit de lecture CLk (k étant compris entre 0 et 7) étant associé d'une part à une pluralité de lignes de référence LRi, LRi+8, LRi+161... et d'autre part à une pluralité de lignes de bit LBi, LBi+8, LBi+16, etc... Des transistors Ti et Ti' permettent de sélectionner respectivement huit lignes de bits LBi et huit lignes de référence LRi correspondantes lors d'une opération de lecture des cellules mémoire. Pendant cette opération de lecture, un signal de commande COLp provenant d'un décodeur de colonnes est appliqué simultanément sur la grille de commande des transistors Ti et Ti' pour les rendre passants. Pour une mémoire 8 bits, le signal de commande COLp est appliqué simultanément sur la grille de huit transistors Ti et huit transistors Ti' (i = p * 8). Une cellule mémoire Ci est reliée à chaque ligne de bit LBi. La cellule mémoire Ci est constituée d'un transistor de sélection TSi et d'un transistor à grille flottante TGFi montés en série. Le drain du transistor de sélection Tsi est reliée à la ligne de bit LBi et sa grille de commande est connectée à une ligne de mot LMj. La source du transistor TGFi est reliée à la masse et sa grille de commande reçoit une tension de lecture VL par l'intermédiaire de deux transistors TGCp et TCp montés en série. Le transistor TGCp est un transistor d'accès à la grille de commande du transistor TGFi. Sa source est reliée à la grille de commande du transistor TGFi, sa grille de commande est reliée à la ligne de mot LM; et son drain est connecté à la source du transistor de commande TCp. Le transistor de commande TCp reçoit sur sa source la tension de lecture VL alors que le signal COLT est appliqué sur sa grille de commande. La cellule C. peut avoir deux états: un état effacé, dans lequel une charge positive est piégée dans la grille flottante du transistor à grille flottante, et un état programmé dans lequel une charge négative est piégée dans la grille flottante du transistor à grille flottante. Le seuil de conduction est d'environ -1V pour la cellule effacée et 4V pour la cellule programmée. Par ailleurs, les lignes de référence LRi comportent, en plus du transistor Tri', un transistor à grille flottante, dit de référence, TRi qui constitue la cellule de référence. La cellule de référence est vierge, ce qui signifie que la grille flottante du transistor TRi n'est ni chargée, ni déplétée en charges électriques. La source du transistor TRi est reliée à une borne de masse et son drain est relié à la source du transistor Ti'. Le transistor TRi reçoit sur sa grille de commande la tension de lecture VL par l'intermédiaire d'un transistor de commande TCp' commandé par le signal COLp La source du transistor TCp' est reliée à la grille de commande du transistor TRi et son drain reçoit la tension de lecture VL. La valeur de la tension de lecture VL est habituellement égale à 1.5 volts afin de détecter aussi bien l'état programmé ou effacé des cellules Ci que l'état vierge des cellules de référence. Sur cette figure 1 ont été représentées les cellules mémoires C0, C7, Ci et ci+7 situées respectivement au croisement de la ligne de mot LMj et des lignes de bits LBo, LB7, LBi et LBi+7 Il n'y a qu'une seule paire de transistors TGCp et T Cp pour huit cellules mémoire adjacentes car huit d'entre elles sont lues simultanément. Sont également représentées les lignes de référence correspondantes LRo, LR7, LRi et LRi+7 De même que pour les transistors TCp et TGCp, seul un transistor TCp' est prévu pour huit cellules référence. Lors d'une opération de lecture, on détecte la présence ou non d'un courant dans la ligne de bit reliée à la cellule sélectionnée. Un tel courant existe si la cellule est effacée ou vierge, alors qu'il n'existe pas si la cellule est programmée. Pour détecter la présence ou non d'un courant, on compare le courant circulant dans la ligne de bit avec le courant circulant dans la ligne de référence correspondante. Un exemple de circuit de lecture CLk connu est représenté à la figure 2. La cellule mémoire Ci sélectionnée par la ligne de mot LMj délivre une information sur la ligne de bit LBi. La ligne de bit LBi est préchargée en tension, dans une phase de précharge, par un transistor de précharge TN1 qui a pour fonction de fournir un courant de précharge à la ligne de bit, tout en limitant le potentiel de précharge à une valeur déterminée, de préférence aux alentours d'un volt. La ligne de référence correspondante LRi est également préchargée à une valeur de tension identique par un second transistor de précharge TN2. Lors de la phase de lecture, la ligne de référence consomme un courant équivalent à celui consommé par une cellule mémoire vierge. Les transistors TN1 et TN2 sont de préférence à canal N, leur source étant reliée à la ligne de bit LBi et à la ligne de référence LRi respectivement. Pour simplifier, les grilles des transistors TN1 et TN2 sont représentées comme étant reliées à une source de polarisation Vpol. La valeur de la tension Vpol définit la limite supérieure de la tension de précharge des lignes LBi et LRi. Pour lire l'état de la cellule Ci, on effectue une comparaison entre le courant consommé par la ligne de bit LBi et un courant de référence. Plus précisément, on compare le courant consommé par la ligne de bit à une fraction du courant normalement consommé par une cellule vierge. A cet effet, les drains des transistors TN1 et TN2 sont alimentés par les deux branches d'un miroir de courant de rapport de recopie k plus petit que 1. La première branche du miroir comprend un transistor de recopie TP1 et la seconde branche comporte un transistor de référence TP2. Le transistor TP1 recopie avec un rapport k le courant circulant dans le transistor de référence TP2. Ce rapport k est le rapport des géométries des transistors. Le transistor de recopie TP1 est un transistor à canal P ayant sa source reliée à une borne d'alimentation Vcc et son drain relié au drain du transistor TN1. De la même façon, le transistor de référence TP2 est un transistor à canal P ayant sa source reliée à la borne d'alimentation Vcc et son drain relié au drain du transistor TN2. Les grilles des transistors TP1 et TP2 sont réunies et la grille du transistor de référence TP2 est reliée à son drain. On a donc un schéma classique de recopie de courant. Un amplificateur différentiel AD a ses entrées reliées aux drains des transistors TP1 et TP2 pour mesurer l'écart entre les potentiels sur ces deux drains. Cet écart est nul si les courants dans les transistors TP1 et TP2 sont dans le rapport des géométries k. La sortie de l'amplificateur AD fournit un signal qui indique si le rapport des courants est supérieur ou inférieur à k. Enfin, un transistor d'équilibrage TN3 est prévu pour mettre à zéro la tension d'entrée différentielle aux bornes de l'amplificateur différentiel, dans une phase d'équilibrage qui suit la phase de précharge et qui précède la phase de lecture proprement dite. Cette phase d'équilibrage permet de ramener l'écart de tension différentielle à l'entrée de l'amplificateur AD à une valeur aussi proche que possible de zéro quel que soit l'état logique lu dans une cellule mémoire à la phase de lecture précédente. Le transistor TN3 est par exemple un transistor à canal N rendu conducteur pendant une phase d'équilibrage EQ. La phase de lecture d'une cellule mémoire de ce type de mémoire comprend donc une phase de précharge de la ligne de bit associée à la cellule mémoire, une phase d'équilibrage entre la ligne de bit associée et la ligne de référence correspondante, et une phase de lecture proprement dite de la cellule mémoire. Le temps de lecture d'une cellule mémoire d'une mémoire non volatile de ce type est d'environ 30 nanosecondes. Un but de l'invention est de diminuer le temps de lecture des cellules d'une mémoire non volatile. Aussi l'invention propose une structure de mémoire permettant de supprimer les phases de précharge et d'équilibrage des lignes de bits du plan mémoire. Pour améliorer le temps de lecture des cellules, la présente invention propose de mémoriser les informations en utilisant deux cellules mémoire, l'une étant programmée et l'autre effacée. Pour mettre en oeuvre cette solution, il est nécessaire de modifier la structure du plan mémoire ainsi que celle des circuits de lecture associés. Aussi, l'invention a pour objet une mémoire non volatile en circuit intégré destinée à contenir des données de n bits comprenant un plan mémoire avec des lignes de bit auxquelles sont raccordées des cellules mémoire et des lignes de mot servant à sélectionner lesdites cellules mémoire, ainsi que n circuits de lecture connectés chacun pour toute opération de lecture par des première et seconde bornes à une première et une seconde ligne de bit, une première et une seconde cellule mémoire étant reliées respectivement auxdites première et seconde lignes de bit, caractérisée en ce que, pour toute opération de lecture, chaque circuit de lecture est connecté d'une part à une cellule programmée et d'autre part à une cellule effacée, le bit lu par le circuit de lecture étant 1 ou 0 selon que chacune des cellules programmée et effacée est connectée à l'une ou à l'autre desdites première et seconde bornes. La position de la cellule programmée et de la cellule effacée par rapport aux bornes du circuit de lecture détermine la valeur du bit lu par le circuit de lecture. De préférence, le plan mémoire comporte deux parties symétriques par rapport à chacun desdits circuits de lecture, du fait que les cellules mémoire de l'une de ces parties sont connectables exclusivement à l'une desdites première et seconde bornes desdits circuits de lecture tandis que les cellules mémoire de l'autre partie sont connectables exclusivement à l'autre desdites première et seconde bornes desdits circuits de lecture. Ainsi, pour chaque bit, la cellule programmée appartiendra à une partie du plan mémoire tandis que la cellule effacée appartiendra à la partie symétrique. Par ailleurs, selon l'invention, chaque circuit de lecture comporte un premier et un second inverseur, l'entrée d'un inverseur étant reliée à la sortie de l'autre et réciproquement, l'entrée du premier inverseur et l'entrée du second inverseur étant reliées respectivement auxdites première et seconde bornes dudit circuit de lecture, les inverseurs étant constitués d'un transistor de type P et d'un transistor de type N montés en série entre une borne d'alimentation et une borne de masse, les grilles de commande desdits transistors étant reliées entre elles pour constituer l'entrée de l'inverseur et les drains reliés entre eux pour constituer la sortie de l'inverseur. Afin d'optimiser le temps de lecture de la mémoire, chaque inverseur de circuit de lecture comporte en outre un transistor supplémentaire servant à interrompre la connexion entre les transistors dudit inverseur et la borne de masse. D'autres caractéristiques et avantages de l'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 qui représentent: - la figure 1, déjà décrite, une structure de mémoire non volatile connue; - la figure 2, déjà décrite, un schéma d'un circuit de lecture connu; - la figure 3, une structure d'une mémoire non volatile selon l'invention; - la figure 4, un schéma d'un circuit de lecture selon l'invention; et - la figure 5, un schéma simplifié d'une mémoire non volatile avec circuit de lecture central. La figure 3 se différencie principalement de la figure 1 en ce que le plan mémoire ne comporte plus de cellules de référence. Selon l'invention, le plan mémoire comporte uniquement des cellules mémoire programmées ou effacées de part et d'autre d'une pluralité de circuits de lecture CL0,.. CL7,. Par conséquent, pendant la phase de lecture, seule la cellule effacée consomme du courant. Un circuit de lecture est décrit ci-après à la figure 4. Afin d'obtenir une structure de plan mémoire parfaitement symétrique, le plan mémoire est coupé en deux demi-plans identiques: un demi-plan supérieur et un demi-plan inférieur. Chaque demi-plan est identique à la partie du plan mémoire relative aux cellules Ci décrite à la figure 1. Chaque circuit de lecture CL0,.. CL7, est associé d'une part à une pluralité de ligne de bits LBi', LBi+8',... appartenant au demi-plan supérieur et d'autre part à une pluralité de ligne de bits LBi, LBi+8,... appartenant au demi-plan inférieur. Des cellules mémoire Ci et Ci' sont respectivement reliées aux lignes de bit LBi et LBi'. La parfaite symétrie du plan mémoire assure une sélection simultanée des cellules mémoire Ci et Ci' dans les deux demi-plans. On désigne par Bk et Bk' les bornes des circuits de lecture CLk' permettant la connexion avec les lignes de bit LBi et LBi'. De même que pour la figure 1, chaque cellule mémoire Ci est composé d'un transistor de sélection TSi et d'un transistor à grille flottante. Pour appliquer la tension de lecture VL sur la grille de commande du transistor à grille flottante TGFi, le demi-plan mémoire inférieur comporte également un transistor d'accès TGCi et un transistor de commande TC1. Ces transistors sont agencés comme montré à la figure 1. Cette description s'applique également au demi-plan supérieur relatif aux cellules mémoires Ci'. Pour mémoriser une information dans la mémoire de l'invention, on vient écrire dans deux cellules: une cellule est programmée alors que l'autre est effacée. Suivant que l'on veut obtenir un "1" ou un "0" à la sortie du circuit de lecture, la cellule programmée appartiendra au demi-plan supérieur ou au demi-plan inférieur et la cellule effacée appartiendra alors au plan symétrique. Etant donné que toutes les cellules du plan mémoire sont programmées ou effacées mais ne sont pas vierges, une tension de lecture VL très réduite suffit pour déterminer l'état d'une cellule, à l'extrême cette tension pourrait être nulle. Ceci est un avantage important surtout dans le cas des mémoires parallèles pour lesquelles la conception des générateurs produisant la tension de lecture VL peut poser problème. En effet, typiquement, la tension de lecture VL a pour valeur 1.5 volts, et bien souvent, les générateurs doivent donc présenter une sortance élevée pour appliquer rapidement une telle tension sur un grand nombre de cellules mémoire. Il est même parfois nécessaire de dupliquer les générateurs. L'invention permet d'évacuer ce problème. Ce type de mémoire non volatile utilisant deux cellules mémoire pour mémoriser une information sera particulièrement avantageux dans le cas de mémoires non volatiles de petite taille nécessitant un temps d'accès très rapide. La figure 4 représente un circuit de lecture CLk' de la mémoire non volatile selon l'invention. Ce circuit de lecture est relié d'une part à la ligne de bit LBi et d'autre part à la ligne de bit LBi'. Conformément à la figure 3, des cellules mémoire Ci et C.' sont reliées respectivement aux lignes de bit LBi et LBi'et sont sélectionnés par la ligne de mot LMj. La structure des circuits de lecture CLk' reprend la structure des points mémoire des mémoires statiques classiques de type SRAM. Le circuit de lecture CLk' est constitué de deux inverseurs I1 et I2 montés en boucle, la sortie de l'un étant reliée à la sortie de l'autre et inversement. La ligne de bit LBi est reliée à l'entrée de l'inverseur I2 et la ligne de bit LBi' est reliée à l'entrée de l'inverseur I1. Dans l'exemple de la figure 4, la sortie S du circuit de lecture CLk' correspond à la sortie de l'inverseur I1. De préférence, les inverseurs I1 et I2 sont munis d'un transistor supplémentaire, respectivement TI1 et TI2. Chaque transistor supplémentaire est monté en série avec le transistor à canal N de l'inverseur et reçoit sur sa grille un signal de commande READ-. Ce signal est actif en dehors des phases de lecture. Ces transistors supplémentaires permettent de déconnecter la masse des inverseurs I1 et I2 pendant les phases de lecture pour éviter tout conflit avec la masse de la cellule effacée, ce qui pourrait pénaliser le temps de lecture d'une information. Selon deux configurations différentes, le transistor supplémentaire est placé soit entre le transistor à canal N de l'inverseur et la borne de masse, soit entre la sortie de l'inverseur et le transistor à canal N de l'inverseur. Le fonctionnement d'un tel circuit est celui d'un circuit de mémorisation classique de type "latch" dont les états en entrée et en sortie sont imposés par deux cellules mémoire distinctes. Si la cellule mémoire Ci est programmée et la cellule mémoire C.' effacée, la sortie délivrera un "1 " logique. A l'inverse, si la cellule mémoire Ci est effacée et la cellule mémoire Ci' programmée, la sortie délivrera un "0" logique. La figure 5 représente un schéma simplifié d'une mémoire non volatile comportant deux demi-plans mémoire P1 et P2 et un circuit de lecture central CLk'. - Le circuit de lecture CLk' est relié d'une part à une cellule mémoire Ci par l'intermédiaire d'une ligne de bit LBi et d'autre part à une cellule mémoire Ci' par l'intermédiaire d'une ligne de bit LBi'. Les cellules mémoire Ci et Ci' appartiennent respectivement au demiplan mémoire P1 et P2. Ce schéma permet de visualiser simplement une disposition possible de la mémoire non volatile selon l'invention. On peut estimer le temps de lecture d'une cellule d'une telle mémoire à environ 10 nanosecondes contre 30 nanosecondes avec les techniques antérieures. REVENDICATIONS 1) Mémoire non volatile en circuit intégré destinée à contenir des données de n bits comprenant un plan mémoire avec des lignes de bit (LBi, LBi') auxquelles sont raccordées des cellules mémoire (Ci, Ci') et des lignes de mot (LMj) servant à sélectionner lesdites cellules mémoire, ainsi que n circuits de lecture (CLk') connectés chacun pour toute opération de lecture par des première et seconde bornes (Bk, Bk') à une première et une seconde ligne de bit (LBi, LBi'), une première et une seconde cellule mémoire (Ci, Ci') étant reliées respectivement auxdites première et seconde lignes de bit (LBi, LBi'), caractérisée en ce que, pour toute opération de lecture, chaque circuit de lecture (CLk') est connecté d'une part à une cellule programmée et d'autre part à une cellule effacée, le bit lu par le circuit de lecture (CLk') étant 1 ou 0 selon que chacune des cellules programmée et effacée est connectée à l'une ou à l'autre desdites première et seconde bornes (Bk, Bk') 2) Mémoire selon la revendication 1, caractérisée en ce que le plan mémoire comporte deux parties symétriques (P1, P2) par rapport à chacun desdits circuits de lecture (CLk' > , du fait que les cellules mémoire de l'une de ces parties sont connectables exclusivement à l'une desdites première et seconde bornes (Bk, Bk') desdits circuits de lecture tandis que les cellules mémoire de l'autre partie sont connectables exclusivement à l'autre desdites première et seconde bornes (Bk, Bk') desdits circuits de lecture. 3) Mémoire selon la revendication 1 ou 2, caractérisée en ce que chaque circuit de lecture (CLk') comporte un premier et un second inverseur (I1, I2), l'entrée d'un inverseur étant reliée à la sortie de l'autre et réciproquement, l'entrée du premier inverseur (I1) et l'entrée du second inverseur (I2) étant reliées respectivement auxdites première (Bk) et seconde (Bk') bornes dudit circuit de lecture, les inverseurs (I1, I2) étant constitués d'un transistor de type P et d'un transistor de type N montés en série entre une borne d'alimentation (Vcc) et une borne de masse (Gnd), les grilles de commande desdits transistors étant reliées entre elles pour constituer l'entrée de l'inverseur et les drains reliés entre eux pour constituer la sortie de l'inverseur. 4) Mémoire selon la revendication 3, caractérisée en ce que chaque inverseur (I1, I2) de circuit de lecture comporte en outre un transistor supplémentaire (TI1, TI2) servant à interrompre la connexion entre les transistors dudit inverseur (Il, I2) et la borne de masse (Gnd). 5) Mémoire selon la revendication 4, caractérisée en ce que le transistor supplémentaire (TI1, TI2) est placé entre le transistor de type N de l'inverseur et la borne de masse (Gnd). 6) Mémoire selon la revendication 4, caractérisée en ce que le transistor supplémentaire (TI1, TI2) est placé entre la sortie de l'inverseur et le transistor de type N de l'inverseur.