Brevet FR2609831A1 — publié le 19880722

! CIRCUIT DE LECTURE POUR MEMOIRE La présente invention concerne un circuit de lecture pour une mémoire telle qu'une mémoire non volatile, programmable électriquement, de type EPROM ou EEPROM, ou toute autre mémoire comportant des cellules-mémoire dont la lecture est réalisée par détection d'une variation de courant ou de tension sur la ligne de bit. Dans le cas, par exemple, des mémoires de type EPROM ou EEPROM, chaque élément de stockage d'informations ou cellules- mémoire est constitué par un transistor MOS à grille flottante qui peut être principalement de type FAMOS (pour floating gate avalanche injection MOS) ou de type SAMOS (pour stacked gate avalanche injection MOS). Ce type de transistor peut avoir deux états. Ainsi, dans le cas d'un transistor MOS à canal n, dans un premier état aucune charge ou une charge positive est piégée sur la grille flottante. Un canal de conduction peut exister entre source et drain. Le transistor conduit alors et se comporte comme un interrupteur fermé. Dans un deuxième état, 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 interrupteur ouvert. Pour programmer un transistor MOS à grille flottante, des tensions plus élevées que la tension de fonctionnement normale doivent être convenablement appliquées sur la grille de commande et l'une des électrodes de sorte que la grille flottante puisse absorber et garder une charge d'électrons. Cette charge d'électrons sur la grille flottante augmente le seuil de conduction sur la grille de commande du transistor. D'autre part, pour lire une mémoire ainsi programmée, une tension inférieure à la tension de seuil des transistors MOS à grille flottante programmés mais supérieure à la tension minimale des transistors non programmés, doit être appliquée sur la grille de commande. Cette tension de lecture permet de détecter l'état passant ou bloqué du transistor. En général, le transistor MOS à grille flottante est relié par une de ses électrodes à une ligne de bit polarisée en tension par un générateur. Son autre électrode est reliée à la masse ou à une tension basse. La ligne de bit est également connectée à un senseur de courant ou de tension. Ce senseur mesure le courant débité dans la ligne par le générateur. Ainsi, si la cellule mémoire n'a pas été programmée, le transistor MOS à grille flottante est passant et lors de l'application d'une tension de lecture qui est supérieure à la tension de seuil des transistors non programmés, le transistor est mis en conduction. On détecte alors sur le senseur une variation du courant ou une chute de la tension. Dans le deuxième cas, lorsque la cellule-mémoire a été programmée, des charges sont piégées sur la grille flottante du transistor. La tension de lecture appliquée sur la grille de commande est, dans ce cas, de sens opposé à la barrière de potentiel créée dans le canal de conduction par les charges stockées dans la grille flottante. Mais elle est alors insuffisante pour modifier la conduction du canal et le transistor reste bloqué. En conséquence, le senseur en bout de la ligne de bit ne perçoit pas de variation de courant ou de la tension. Ainsi, avec une mémoire de type EPROM telle que décrite ci- dessus, il est possible de lire le contenu d'une cellule-mémoire d'après la consommation du circuit, en particulier lorsque la mémoire est lue bit par bit. Ceci est particulièrement gênant dans le cas des mémoires utilisées pour recevoir des informations confidentielles, car il est alors facile de détecter lors de la lecture la teneur de ces informations. La présente invention a pour but de remédier à cet inconvénient en proposant un circuit de lecture qui présente toujours une consommation de courant quel que soit l'état programmé ou non programmé de la cellule-mémoire lue. La présente invention a en conséquence pour objet un circuit de lecture pour circuit intégré du type circuit logique comportant une mémoire constituée par une matrice de cellules-mémoire dont la lecture est réalisée par détection d'une variation de courant ou de tension, les cellules-mémoire étant adressables chacune par des lignes et des colonnes sélectionnées par des décodeurs de ligne et de colonne, le circuit de lecture étant relié aux cellules-mémoire par une ligne appelée ligne de bit et comprenant un circuit de précharge de la ligne de bit et un circuit de détection détectant la conduction ou la non conduction de la cellule-mémoire adressée, caractérisé en ce qu'il comporte en parallèle un deuxième circuit de détection identique, les deux circuits de détection étant connectés à un noeud commun de la ligne de bit par des moyens permettant de réaliser simultanément à chaque lecture la détection d'un "1" et d'un "O" quel que soit l'état de la cellule-mémoire adressée et d'obtenir en sortie d'au moins un circuit de détection la donnée lue. Différents modes de réalisation peuvent être utilisés pour ce circuit de lecture. Selon un premier mode de réalisation, le circuit de lecture comporte un premier circuit de précharge de la ligne de bit, un premier moyen formant interrupteur connecté entre le premier circuit de précharge et le premier circuit de détection, un deuxième moyen formant interrupteur connecté par l'intermédiaire d'un inverseur entre le premier circuit de précharge et le deuxième circuit de détection, les moyens formant interrupteur étant commandés par un signal de validation de lecture et des deuxième et troisième circuits de précharge réalisant une précharge de même niveau logique que le premier circuit de précharge étant connectés respectivement entre chaque moyen formant interrupteur et le circuit de détection correspondant. Selon un autre mode de réalisation, le circuit de lecture comporte un premier circuit de précharge de la ligne de bit, un premier moyen formant interrupteur connecté entre le premier circuit de précharge et le premier circuit de détection, un deuxième moyen formant interrupteur connecté entre le premier circuit de précharge et le deuxième circuit de détection, les moyens formant interrupteur étant commandés respectivement par un signal de validation de lecture et par ce signal inversé, un deuxième circuit de précharge réalisant une précharge au même niveau logique que le premier circuit de précharge étant connecté entre le premier moyen formant interrupteur et le premier circuit de détection et un troisième circuit de précharge réalisant une précharge au niveau logique inverse étant connecté entre le deuxième moyen formant interrupteur et le deuxième circuit de détection. D'autres caractéristiques et avantages de la présente invention apparaîtront à la lecture de la description de divers modes de réalisation faite ci-après avec référence aux dessins ci-annexés dans lesquels: - la figure I représente schématiquement une mémoire EPROM comportant un circuit de lecture, - les figures 2A et 2B représentent schématiquement un premier mode de réalisation d'un circuit de lecture conforme à la présente invention, ainsi qu'un diagramme des temps des principaux signaux de commande de ce circuit, - les figures 3A et 3B représentent schématiquement un autre mode de réalisation d'un circuit de lecture conforme à la présente invention, ainsi qu'un diagramme des temps des principaux signaux de commande de ce circuit, et - les figures 4A et 4B représentent respectivement un mode de réalisation des circuits de détection et la courbe tension-courant de ce circuit. Pour simplifier la description, dans les dessins les mêmes éléments portent les mêmes références. D'autre part, la description a été faite en se référant à des circuits MOS réalisés en technologie CMOS, il est évident pour l'homme de l'art que la présente invention peut s'adapter à d'autres technologies, notamment à la technologie N MOS. Sur la figure 1, on a représenté une mémoire I non volatile programmable électriquement de type EPROM. Cette mémoire est du type à cellule mémoire constituée d'un transistor MOS 2 à grille flottante 5. De manière plus spécifique, le transistor 2 comporte deux électrodes principales respectivement 3 et 4, une grille flottante 5 et une grille de commande 6. Une première électrode principale, à savoir la source dans le mode de réalisation représenté, est reliée à la masse tandis que l'autre électrode 4, à savoir le drain, est reliée à une ligne 7 appelée ligne de bit. La grille de commande 6 est reliée à une autre connection 8 appelée ligne de mot. Les lignes de bit et lignes de mot sont disposées en lignes et en colonnes pour déterminer une matrice incluant les cellules-mémoire comme représenté sur la figure 1. Cette mémoire comporte des moyens constitués essentiellement par un décodeur de ligne 9 et un décodeur de colonne 10, pour appliquer sur les lignes et les colonnes des potentiels représentatifs d'informations à enregistrer dans les cellules-mémoire ou représentatifs de commande de lecture des informations enregistrées dans les cellules-mémoire. Ainsi, pour la lecture d'une cellule-mémoire, on fait monter la ilgne de mot correspondante 8 à une tension produite par une sortie du décodeur de ligne 9. Au moyen du décodeur de colonne 10, on envoie sur la ligne de bit 7 correspondante une impulsion de commande. Le transistor MOS 2 devient passant ou reste bloqué selon que les charges n'ont pas ou ont été au préalable piégées sur sa grille flottante 5. Un circuit de lecture 11 connecté par ailleurs à une extrémité de la ligne de bit 7 par l'intermédiaire du décodeur de colonne 10 formant multiplexeur, détecte la variation ou l'absence de variation de courant. I1 en déduit que la cellule-mémoire est programmée à "1" ou à "0!' respectivement. On décrira maintenant, avec référence à la figure 2A, un premier mode de réalisation d'un circuit de lecture conforme à la présente invention. Ce circuit de lecture 11 comporte tout d'abord un circuit de précharge de la ligne de bit 7. Ce circuit de précharge est constitué par un transistor MOS 12 de type N dans le mode de réalisation représenté, dont une des électrodes 13 est reliée à la tension d'alimentation Vcc et dont l'autre électrode principale 14 est connectée à un noeud N sur la ligne de bit 7. D'autre part, la grille du transistor MOS 12 est reliée à l'horloge CLK de la mémoire EPROM. De plus, le circuit de lecture conforme à la présente invention est constitué de deux branches parallèles. La première branche comporte un premier moyen formant interrupteur constitué par un transistor MOS 16 de type N dont une des électrodes principales 17 est connectée au noeud N de la ligne de bit 7 et dont l'autre électrode principale 18 est reliée à l'entrée d'un premier circuit de détection 21 dont la sortie donne la donnée lue. La grille 19 du transistor MOS 16 est connectée à un signal de validation de lecture L qui peut être par exemple le signal de commande de lecture WL appliqué sur la grille de la cellule-mémoire retardé. D'autre part, la deuxième branche du circuit de lecture est constituée essentiellement d'un deuxième moyen formant interrupteur constitué par un transistor MOS 16' identique au transistor MOS 16 dont une des électrodes principales 17' est connectée par l'intermédiaire d'un inverseur 20 au noeud N de la ligne de bit 7 et dont l'autre électrode 18' est reliée en entrée d'un deuxième circuit de détection 21' identique au circuit 21. Les circuits de détection 21 et 21' peuvent être constitués par deux inverseurs en série. La grille 19' du transistor MOS 16' est connectée au signal de validation de lecture L. Cette seconde branche simule une détection inverse de la détection obtenue sur la première branche de manière à obtenir simultanément à chaque lecture la détection d'un "1" et d'un "0" quel que soit l'état de la cellule- mémoire adressée, comme cela sera expliqué de manière plus détaillée ciaprès. D'autre part, au noeud A entre le transistor MOS 16 et le circuit de détection 21 est connecté un deuxième circuit de précharge constitué d'un transistor MOS 40 de type N dont une des électrodes est reliée au noeud A, l'autre électrode à la tension Vcc et la grille au signal horloge CLK. Ce circuit de précharge réalise une précharge au même niveau logique que le premier circuit de précharge constitué par le transistor MOS 12. De plus, au noeud B entre le transistor MOS 16' et le circuit de détection 21' est connecté un troisième circuit de précharge constitué d'un transistor MOS 40' de type N dont une des électrodes est connectée au noeud A, l'autre électrode à la tension Vcc et la grille au signal horloge CLK. Selon un autre mode de réalisation, les circuits de précharge 12, 40, 40' peuvent être réalisés par des transistors MOS de type P, dans ce cas les grilles sont connectées à un signal CLK. Selon un mode de réalisation spécifique à une mémoire en logique câblée, les données obtenues en sortie des circuits de détection 21 et 21' sont envoyées sur des comparateurs constitués par des OU exclusif 22, 22' qui reçoivent en entrée une donnée Din à comparer avec la donnée lue, notamment dans le cadre de la comparaison d'un code confidentiel. Le résultat obtenu en sortie du OU exclusif 22 donne le résultat recherché. On peut également remplacer les portes logiques OU exclusif par d'autres portes bloquées par une horloge qui sera activée à la fin de la lecture. On expliquera maintenant le fonctionnement du circuit décrit ci-dessus à l'aide du diagramme des temps de la figure 2B. Avec le circuit ci-dessus, lorsque le signal CLK est au niveau logique "1", c'est-à-dire pendant le temps I du diagramme, les transistors MOS 12, 40 et 40' sont conducteurs et l'on réalise une précharge des noeuds N, A et B à Vcc-VT, c'est-à-dire à un niveau logique "1". Lorsque le signal CLK repasse au niveau logique "0", on active la grille de commande 6 du transistor MOS 2 à grille flottante en lui appliquant le signal WL et suivant l'état de la cellule mémoire, on décharge ou non la ligne de bit 7 comme représenté par le signal BL. Ainsi, si la cellule-mémoire constituée par le transistor MOS 2 à grille flottante n'a pas été programmée (pas d'électrons sur la grille flottante), le transistor est passant et lors de l'application de la tension de lecture WL correspondant à la tension d'alimentation, le transistor est mis en conduction. Dans ce cas il y a décharge de la ligne de bit 7 et l'électrode 17 se trouve être à un niveau logique "O" tandis que l'électrode 17' se trouve être à un niveau logique "1" du fait de l'inverseur 20. Lorsque le signal L passe au niveau logique "1" comme représenté par 3 sur le diagramme de la figure 3A, le noeud A se positionne au niveau logique "O" entraînant le basculement du circuit de détection 21 tandis que le noeud B reste positionné au niveau "1". Si, par contre le transistor à grille flottante a été programmé, il n'y a pas décharge de la ligne de bit 7. Le noeud N reste au niveau logique "1" tandis que l'électrode 17' en sortie de l'inverseur 20 se trouve être à un niveau logique "O". Lorsque le signal L passe à "1", le noeud A reste inchangé à "1" tandis que le noeud B passe à "0". Dans ce cas, seul le circuit de détection 21' bascule. Les deux circuits étant identiques, la consommation est donc identique dans le cas de la lecture d'un "O" ou d'un "1". On décrira maintenant, avec référence à la figure 3A, un autre mode de réalisation d'un circuit de lecture conforme à la présente invention. Ce circuit de lecture comporte un premier circuit de précharge constitué d'un transistor MOS 41 de type P dont une électrode 42 est connectée au noeud N' de la ligne de bit 7, la deuxième électrode à la tension Vcc et la grille au signal horloge inversé CLK. D'autre part, le circuit de lecture comporte une première branche avec un premier moyen formant interrupteur constitué d'un transistor MOS 23 de type N dont une des électrodes principales 24 est reliée au niveau du noeud N' à la ligne de bit 7, et dont l'autre électrode principale 25 est connectée à un premier circuit de détection 35. La grille 26 du transistor MOS 23 est reliée à un signal de validation de lecture L. Un circuit de précharge est connecté au noeud A' en sortie du transistor MOS 23. De manière plus spécifique, ce circuit de précharge est constitué, dans le mode de réalisation représenté, d'un transistor MOS de type P 27 dont une des électrodes principales 28 est reliée à la tension d'alimentation Vcc et dont l'autre électrode 29 est connectée au noeud A' entre l'électrode 25 du transistor MOS 23 et le circuit 35. La grille 30 du transistor MOS 27 est reliée au signal horloge inverséeLK. D'autre part, le circuit de lecture 11 comporte une deuxième branche avec un deuxième moyen formant interrupteur constitué d'un transistor MOS 23' de type P dont une des électrodes principales 24' est reliée au niveau du noeud N' à la ligne de bit 7 et dont l'autre électrode principale 25' est connectée à un deuxième circuit de détection 35'. La grille 26' du transistor MOS 23' est reliée par l'intermédiaire d'un inverseur 50 au signal de validation de lecture L. D'autre part, un circuit de précharge est connecté au noeud B' entre l'électrode 25' et le circuit 35'. Ce circuit de précharge est constitué d'un transistor MOS 31 de type N dont une des électrodes principales 32 est connectée à la masse Vss tandis que son autre électrode principale 33 est reliée au noeud B'. La grille 34 du transistor MOS 31 est connectée au signal horloge CLK. On expliquera ci-après le fonctionnement de ce circuit de lecture en se référant au diagramme des temps de la figure 3B. Pendant le temps a, les signaux horloge CLK et CLK sont respectivement aux niveaux logiques "1" et "O". De ce fait, les noeuds N' et A' sont préchargés à la tension d'alimentation Vcc tandis que le noeud B' est préchargé à la masse Vss. Pendant le temps b, l'ordre de lecture WL appliqué sur la grille du transistor MOS à grille flottante constituant la cellule-mémoire passe à '. Pendant cette période on lit le contenu de la cellule- mémoire noeud N' soit reste à Vcc soit se décharge à Vss suivant le conte la cellule-mémoire, comme représenté par le signal BL. Pendant le temps c, le signal de validation de lecture L est positionné à "1". Si le noeud N' n'a pas été déchargé, le noeud A' reste positionné à la tension Vcc, tandis que le noeud B' bascule à la tension Vcc. Au contraire, si le noeud N' a été déchargé, le noeud A' bascule à la masse Vss, tandis que le noeud B' reste positionné à la masse Vss. Les circuits de détection 35, 35' sont, dans ce mode de réalisation, composés d'inverseurs en technologie C MOS du type de celui représenté sur la figure 4 A. Cet inverseur est constitué, de manière connue, d'un transistor MOS 51 de type P dont une des électrodes est connectée à Vcc et dont l'autre électrode est connectée à une des électrodes d'un transistor MOS 52 de type N dont l'autre électrode est connectée à la masse Vss. Les deux grilles sont reliées ensemble et connectées à la tension d'entrée VIN et la sortie S est obtenue sur le noeud entre les deux transistors. La courbe de consommation d'un inverseur C MOS est représentée sur la figure 4B. D'après cette courbe on voit que la consommation est la même lorsque VIN passe de Vcc à Vss ou lorsque VIN passe de Vss à Vcc. Cette propriété est utilisée dans le circuit de la figure 3A pour obtenir le résultat recherché, c'est-à- dire une consommation de courant identique quel que soit l'état d'une cellule-mémoire. Les modes de réalisation décrits ci-dessus ont été donnés à titre d'exemple. Il est évident pour l'homme de l'art qu'ils peuvent être modifiés notamment au niveau du type de transistors MOS utilisés pour les circuits de précharge ou les circuits formant interrupteur. D'autre part, la présente invention a été décrite en se référant à une mémoire EPROM, il est évident qu'elle peut s'appliquer à une mémoire EEPROM ou à toute mémoire dont les cellules-mémoire sont lues en détectant une variation de courant ou de tension sur la ligne de bit. ]0 REVENDICATIONS 1. Circuit de lecture pour circuit intégré du type circuit logique comportant une mémoire (1) constituée par une matrice de cellules-mémoire dont la lecture est réalisée par détection d'une variation de courant ou de tension, les cellules-mémoire étant adressables chacune par des lignes et des colonnes sélectionnées par des décodeurs de ligne (9) et de colonne (10), le circuit de lecture (11) étant relié aux cellules-mémoire par une ligne appelée ligne de bit (7) et comprenant un circuit de précharge (12, 41) de la ligne de bit et un circuit de détection (21, 35) détectant la conduction ou la non-conduction de la cellule-mémoire adressée, caractérisé en ce qu'il comporte en parallèle un deuxième circuit de détection identique (21', 35'), les deux circuits de détection étant connectés à un noeud commun (N, N') de la ligne de bit par des moyens (20, 16, 16', 40, 40', 23, 23', 27, 31, 50) permettant de réaliser simultanément à chaque lecture la détection d'un "1" ou d'un "0" quel que soit l'état de la cellule-mémoire adressée et d'obtenir en sortie d'au moins un circuit de détection la donnée lue. 2. Circuit de lecture selon la revendication 1, caractérisé en ce qu'il comporte un premier circuit de précharge (12) de la ligne de bit (7), un premier moyen formant interrupteur (16) connecté entre le premier circuit de précharge et le premier circuit de détection (21), un deuxième moyen formant interrupteur (16') connecté par l'intermédiaire d'un inverseur (20) entre le premier circuit de précharge et le deuxième circuit de détection (21'), les moyens formant interrupteur étant commandés par un signal de validation de lecture (L), des deuxième et troisième circuits de précharge (40, ') réalisant une précharge de même niveau logique que le premier circuit de précharge étant connectés respectivement entre chaque moyen formant interrupteur et le circuit de détection correspondant. 3. Circuit de lecture selon la revendication 1, caractérisé en ce qu'il comporte un premier circuit de précharge (41) de la ligne de bit, un premier moyen formant interrupteur (23) connecté entre le premier circuit de précharge et le premier circuit de détection (35), u deuxièrri.,J formant interrupteur (23') connecté entre le prnier c-.r:précharge et le deuxième circuit de détection (35'), fl:---'u s formant interrupteur étant commandés respective-::'i un signal de validation de lecture (L) et par ce signal in: -J-.deuxième circuit de précharge (27) réalisant une préchargc -me niveau logique que le premier circuit de précharge connecté entre le premier moyen formant interr g:f ". dt le premier circuit de détection (35) et un troisième t.* précharge réalisant une précharge au niveau logique ivâ:t connecté entre le deuxième moyen formant interrupteur 0 le deuxième circuit de détection (35'). 4. Cirui, lecture selon l'une quelconque des revendications 2 et 3, carate"_en ce que les moyens formant interrupteurs (16, 16', 23, 23t-):s>.estitués par des transistors MOS. 5. Circ^^*-4 Iecture selon l'une quelconque des revendications 2 et 3, cag *sée en ce que les circuits de détection sont constitués 4-a'.l' inverseurs MOS. 6. Chr- lecture selon la revendication 2, caractérisé en ce que les.:se de précharge (12, 40, 40') sont identiques et constitués bah par un transistor MOS de type N dont une des électrodes p6ls est connectée à la tension d'alimentation Vcc, l'autre électrf,incipale au noeud à charger et la grille au signal horloge CLK. 7. Circe:W' lecture selon la revendication 2, caractérisé en ce que les Cbs de précharge (12, 40, 40') sont identiques et constitués chap: par un transistor MOS de type P dont une des électrodes priîWx&es est connectée à la tension d'alimentation Vcc, l'autre électroeprincipale au noeud à charger et la grille au signal horloge inversi-ix. 8. Circuitat lecture selon la revendication 3, caractérisé en ce que le prtr et le deuxième circuit de précharge sont constitués chacî r un transistor MOS (27, 41) de type P dont une (28, 43) des BItrodes principale est connectée à la tension d'alimentation Y4 l'autre électrode principale (29, 42) au noeud à charger et la gte (30, 44) au signal horloge inversé CLK et le troisième circu de précharge est constitué par un transistor MOS (31) de type N dont une (32) des électrodes principales est connectée à la masse Vss, l'autre électrode principale (33) au noeud à charger et la grille (34) au signal d'horloge CLK. 9. Circuit de lecture selon l'une quelconque des revendications 2 à 8, caractérisé en ce que le signal de validation de lecture (L) est constitué par l'ordre de lecture (WL) appliqué sur la cellule- mémoire retardé.