FR 2659166 A1 19910906 FR 9002736 A 19900305 \ 2659166 CIRCUIT MEMOIRE AVEC ELEMENT DE MEMORISATION DE SELECTION DE LIGNES DE MOT POUR UN EFFACEMENT D'UN BLOC D'INFORMATIONS L'invention concerne une mémoire effaçable et programmable électriquement (EEPROM, flash EPROM) avec un mode d'effacement par bloc Elle trouve son application dans les circuits mémoire et plus généralement dans tout circuit intégré comprenant de la mémoire. On définit un tel mode d'effacement par bloc comme l'effacement simultané des cellules mémoire de plusieurs lignes de mot préalablement sélectionnées. Ces lignes de mot sélectionnées définissent un "bloc" d'informations mémorisées. On rappelle que dans les mémoires effaçables et programmables, on trouve essentiellement trois technologies: -les EPROM (erasable programmable memory) avec un effacement global de la mémoire par exposition aux rayons ultra-violets; on ne peut donc pas effacer une zone ou un bloc particulier de la mémoire. -les EEPROM (electrically erasable programmable memory) avec effacement électrique séquentiel Suivant l'organisation de la mémoire, par exemple en mots de 8 bits, on peut effacer un bloc d'information, séquentiellement, par effacement du mot d'une ligne de mot sélectionnée Ainsi, pour effacer un bloc de 4 mots il faut sélectionner la lère ligne de mot: effacement de ses 8 cellules mémoire, puis la 2 ème ligne de mot, puis la 4 ème. -les flash EPROM avec effacement électrique séquentiel global (de toute la mémoire) Elles existent aussi avec effacement électrique séquentiel par ligne de mot, comme les EEPROM. Les EEPROM et flash EPROM permettent donc un effacement par bloc, mais séquentiellement: on efface successivement chaque ligne de mot Ce mécanisme est donc très lent puisque pour un bloc de N lignes de mot, on a N sélections de ligne et N effacements, sachant par ailleurs que c'est l'opération d'effacement qui est déterminante dans le temps total nécessaire à l'effacement d'un bloc; par exemple la sélection d'une ligne demande 250 ns et l'effacement de cette ligne demande is. Le but de l'invention est de permettre l'effacement simultané de toutes les lignes d'un bloc à effacer: on a ainsi une seule opération d'effacement, d'o une réduction radicale du temps d'effacement d'un bloc de la mémoire, par rapport aux techniques jusque-là utilisées pour les mémoires effaçables et programmables électriquement (EEPROM, flash EPROM). De manière connue, les lignes de mot sont sélectionnées par décodage des lignes'd'adresse de la mémoire Supposons pour simplifier, que la mémoire ait une capacité de 4 octets (c'est à dire 4 mots de 8 bits) Il y a 4 lignes de mots à adresser LMO à LM 3, ce qui nécessite deux lignes d'adresse a O, al Un circuit de décodage des deux lignes d'adresse, a donc en sortie les 4 lignes de mots LM O à LM 3. Si une sélection d'une ligne de mot se caractérise par un état bas sur cette ligne, on aura par exemple les équations logiques de décodage suivantes: /LM O = /a O /al /L Ml = ao /al /LM 2 = /a O al /LM 3 = a O al Le tableau de fonctionnement correspondant est ai a O sélection O O LMO O 1 L Ml 1 O LM 2 1 1 LM 3 (le symbole "/" signifie le complément logique). Ces équations sont aisées à mettre en oeuvre, par exemple à l'aide d'inverseurs et de portes NAND. L'invention a pour objet de mémoriser la sélection des lignes de mot en introduisant entre les lignes d'adresse et les lignes de mot, un élément de mémorisation Avantageusement, cette mémorisation. pourra n'être validée que si la mémoire est dans un mode d'effacement par bloc. L'invention a donc pour objet un circuit mémoire pour mémoire électriquement programmable et effaçable comportant un décodeur de lignes de mot, le décodeur étant composé d'une première logique d'obtention des bits d'adresse des lignes de mot et de leurs compléments logiques et d'une deuxième logique de décodage des bits d'adresse et de leurs compléments logiques pour sélectionner une ligne de mot et délivrant des signaux de sélection, caractérisé en ce qu'il comporte en outre une logique de mémorisation d'adressage des lignes de mot, permettant une mémorisation de l'adressage de lignes de mot préalable à un effacement simultané des lignes de mot dont l'adressage a été mémorisé. D'autres caractéristiques et avantages de la présente invention seront mieux compris à la lecture de la description faite en référence aux figures annexées. Cette description n'est qu'indicative et nullement limitative de l'invention. Dans les figures annexées: la figure 1 est un schéma électrique d'un décodeur de ligne de mot avec un élément de mémorisation selon un premier mode de réalisation de l'invention; la figure 2 est un schéma électrique d'un décodeur de ligne de mot avec un élément de mémorisation selon un second mode de réalisation de l'invention; la figure 3 est un diagramme des temps des signaux mis en oeuvre pour un effacement par bloc selon le premier mode de l'invention. la figure 4 est un diagramme des temps des signaux mise en oeuvre pour un effacement par bloc selon le second mode de réalisation de l'invention. La figure i montre un décodeur selon un premier mode de réalisation de l'invention Pour simplifier la description, on utilise, dans cet exemple, une mémoire à 4 lignes de mots LMO à LM 3, et donc, à 2 bits d'adresse a O et al. Une première logique A du décodeur permet d'obtenir les compléments nao, nal des bits d'adresse a O et al, en utilisant un inverseur INVO, INV 1 pour chaque bit d'adresse a O, al. Une seconde logique B du décodeur utilise les bits d'adresse a O, al et leurs compléments nao, nal, pour décoder l'adresse et sélectionner la ligne de mot correspondante Dans l'exemple, elle se compose de 4 portes NAND: BO à B 3, qui mettent en oeuvre les 4 équations suivantes: -décodage de l'adresse O (a O = 0, na O = 1, al = O, nal=l): sel O = NAND(na O, nal) -décodage de l'adresse 1 (a O = 1, na O = O; al = O, nal= 1): sell = NAND(a O, nal) -décodage de l'adresse 2 (a O = O, na O = 1; al = 1, nal= O): se 12 = NAND(na O, ai) -décodage de l'adresse 3 (a O = 1, na O = O; al = 1, nal= 0): se 13 = NAND(a O, al) sel O, sell, se 12 et se 13 sont les sorties respectivement des portes BO, B 1, B 2, B 3 qui correspondent respectivement à la sélection des lignes de mot LMO, LM 1, LM 2, et LM 3 Ce sont des signaux actifs bas: c'est quand le niveau de sel O est à O que la ligne de mot LM O est dite sélectionnée. Dans un premier mode de réalisation de l'invention, une logique de mémorisation M est placée après la logique B: un élément de mémorisation est placé en série, à la suite de chacune-des sorties des portes NAND de la logique B Ainsi, les signaux sel O, sell, se 12 et se 13 sont respectivement une entrée EMA, EMB, EMC et EMD des éléments mémoire MEMA, MEMB, MEXC et MEMD Chaque élément de mémorisation reçoit par ailleurs une entrée horloge H, fournie dans l'exemple par un signal de validation de sélection VS commun à tous les éléments mémoire MEMA à MEMD et une entrée reset R, fournie dans l'exemple par un signal de reset de bloc RB, commun à tous les éléments mémoire MEMA à MEMD Chaque élément -de mémorisation délivre une sortie, SMA à SMD. Chaque élément de mémorisation, prenons par exemple MEMA, fonctionne de la manière suivante: sur une activation du signal reset R, la sortie SMA passe à l'état 1, quels que soient les états de l'horloge H et de l'entrée EMA; quand la sortie SMA est à l'état 1, à chaque signal d'horloge, l'état de la sortie SMA change si l'état de l'entrée EMA est 0, ne change pas si l'état de l'entrée EMA est 1; si la sortie SMA est passée à 0, elle reste dans cet état tant qu'il n'y a pas d'activation du signal reset R. On peut représenter ce fonctionnement par le tableau logique suivant: H R EMA SMA SMA X 1 X X 1 1 O 1 1 1 1 O 0/i 1 O 1 0 0/1 0 0 Un tel fonctionnement est facilement réalisable avec une bascule, comme on le verra dans le deuxième exemple de réalisation de l'invention. Dans l'invention, les signaux d'horloge H et de reset R sont par exemple fournis par un signal de validation de sélection V Set un signal de reset de bloc RB Les signaux VS et RB sont par exemple actifs à l'état haut (fig 3) Le signal de validation de sélection VS est activé après chaque positionnement d'une nouvelle adresse pour qu'elle soit mémorisée En effet (fig 3), quand une adresse a été positionnée, par exemple l'adresse 0, le signal de sélection correspondant, sel O, passe à l'état 0 Si l'élément de mémorisation a été préalablement initialisé (activation de reset), et qu'une activation du signal de validation de sélection est faite (VS passe à l'état actif haut dans l'exemple), alors la sélection sel O est mémorisée, conformément au fonctionnement ci-dessus décrit (selo arrive sur l'entrée EMA) On peut alors positionner une adresse, puis activer le signal de validation de sélection VS, puis positionner une autre adresse etc A chaque fois, la sélection est mémorisée Quand on a positionné toutes les adresses, on peut alors activer un signal de commande d'effacement EF (fig 3) qui va déclencher l'effacement de toutes les lignes de mot dont la sélection a été ainsi mémorisée. Avantageusement, la mémorisation n'est utilisée que dans un mode particulier d'effacement par bloc: il n'est en effet guère besoin d'utiliser l'élément de mémorisation en lecture par exemple Aussi un signal de mode d'effacement par bloc EB est-il disponible C'est par exemple l'activation de ce signal EB qui provoque l'activation du signal de reset de bloc RB (figure 3) pour réinitialiser tous les éléments de mémorisation les sorties SMA à SMD passent toutes à*l'état 1. Quand le signal de mode d'effacement par bloc est actif, c'est la sortie de l'élément de mémorisation qui est utilisée; si non, c'est l'entrée de l'élément de mémorisation Sur la figure 2, des lignes 112, 122, 132 et 142 sont en effet connectées respectivement aux sorties sel 3, sel 2, sell et sel O des portes NAND Une logique C de commutation sélectionne alors, en fonction de l'état du signal de mode d'effacement par bloc EB, soit la sortie de l'élément de mémorisation (SKA, SMB, SMC, SMD), soit son entrée (EMA, EMB, EMC, EMD). Cette logique C est en quelque sorte un interrupteur qui connecte une ligne de mot, par exemple LM 3, soit au signal de sélection correspondant, sel 3, hors mode d'effacement par bloc, soit au signal de sélection mémorisé, SMD, en mode d'effacement par bloc. Cette logique C se compose, dans l'exemple de la figure 1, pour chaque ligne de mot, de 3 portes logiques: si on prend la ligne de mot LM 3, on a ainsi les portes logiques CI, C 2 et C 3 La porte Cl est une porte AND qui a en entrées le signal inversé NEB de mode d'effacement par bloc EB, inversé par l'inverseur INV 2 et la sortie de sélection mémorisée SMD La porte C 2 est une porte AND qui a en entrées le signal de mode d'effacement par bloc EB et la sortie de sélection sel 3 Les sorties C 10 et C 20 des portes AND CI et C 2 sont les entrées de la porte C 3 La porte C 3 est une porte OR, et sa sortie C 30 est connectée à la ligne de mot LM 3. Le fonctionnement est alors le suivant: l'état de la sortie C 30 de la porte C 3 est donnée par l'équation logique suivante: C 30 = sel 3 EB + SMD NEB avec EB actif à l'état bas Ainsi: en mode d'effacement par bloc, EB=O et NEB= 1: C 30 est la recopie de SMD; hors du mode d'effacement par bloc, EB= 1 et NEB=O: C 30 est la recopie de sel 3. Dans le premier mode de réalisation de l'invention décrit, en positionnant successivement les adresses des lignes de mot à effacer, on peut préalablement à l'effacement sélectionner un bloc d'informations constitué de toutes les lignes de mot dont la sélection a été mémorisée, puis effacer simultanément toutes ces lignes de mot, tout ce bloc d'informations On a une seule opération d'effacement et on gagne donc beaucoup de temps par rapport aux techniques antérieures. La figure 3 montre le diagramme des temps correspondant à l'effacement par bloc des deux lignes de mot LMO et LM 3: l'adresse O est positionnée (a O=al=O), le signal de validation de sélection est émis et la mémorisation de la sélection correspondante est effectuée: sel O qui était au niveau 1 (après le reset de bloc activé par RB= 1) passe au niveau 0. Puis l'adresse 3 est positionnée (a O=al=l), le signal de validation VS est émis et la mémorisation de la sélection correspondante est effectuée: se 13 qui était au niveau 1 passe au niveau o. Un signal d'effacement EF peut être émis (fig 3): les lignes LMO et LM 3 seront effacées simultanément. Dans l'exemple de la figure 3, le signal EF redevient passif (niveau 0) à la fin de l'effacement et il fait alors remonter le signal de mode d'effacement par bloc EB Ce fonctionnement n'est qu'un exemple non limitatif de l'invention. Dans un second mode de réalisation de l'invention, représenté sur la figure 2, on mémorise non plus la sélection d'une ligne de mot, mais les bits d'adresse positionnés et leurs compléments logiques: la logique de la mémorisation est donc ici située entre une logique A d'obtention des compléments des bits d'adresse et une logique B de décodage. Ce second mode de réalisation trouve son avantage, comme on va le montrer dans la suite, dans la possibilité qu'il offre alors à l'utilisateur de diminuer le nombre d'adresses à positionner pour définir un bloc d'information. Mais décrivons tout d'abord la figure 2 Une première logique A du décodeur représenté comporte un inverseur INVO, INV 1 pour chaque bit d'adresse a O, al. Ces inverseurs permettent d'obtenir les compléments logiques na O, nal des bits d'adresse ao, ai. A la suite de la première logique A, on trouve la logique de mémorisation M déjà décrite, avec un élément de mémoire MEMA, MEMB, MEMC, MEMD pour chaque bit d'adresse et complément, respectivement, na O, a O, nal, al Les éléments mémoire fonctionnent comme ceux du premier mode de réalisation; ce fonctionnement ne sera donc pas rappelé ici Cependant, on a ici précisé une constitution possible d'un tel élément de mémorisation. Prenons par exemple l'élément MEMD: son entrée EMD et sa sortie SMD sont les deux entrées d'une porte AND, Pi, dont la sortie P 10 est l'entrée D d'une bascule BD. Cette combinaison permet d'obtenir le fonctionnement voulu de l'élément de mémorisation avec une sortie SMD, à 1 après reset et une sortie SMD qui change d'état (une seule fois) sur activation du signal d'horloge, si l'entrée EMD vaut 0, ou encore si l'entrée D de la bascule vaut 1. Ainsi SEMA égal à O correspond à la mémorisation de na O=O, SEMB égal O correspond à la mémorisation de a O=O, SEMC égal à O correspond à la mémorisation de nal=O et SEMD égal à O correspond à la mémorisation de al=O. Une logique C' de commutation placée à la suite de la logique de mémorisation permet, de manière analogue à la logique C de commutation du premier mode de réalisation, de ne pas utiliser les sorties mémorisées en dehors du mode d'effacement par bloc La seule différence avec la logique C, c'est que la porte OR C 3 dans la logique C (fig 1) est une porte NOR C 3 ' dans la logique C' (fig 2) Ainsi: les sorties des portes NOR de la logique C', SO, NSO, Si, N 51 sont: en mode d'effacement par bloc: les recopies il inversées des sorties mémoire SMA, SMB, SMC, SMD Elles valent donc 1 respectivement si na O= 0, a O=O, nal= O et al= O ont été mémorisés. en dehors du mode d'effacement par bloc: les recopies inversées respectivement de na O, a O, nal, al. Elles valent donc 1 respectivement si na O= 0, a O= 0, nal= 0, et al= O ont été positionnées. SO, NSO, 51, N Sl sont les entrées de la logique de décodage B identique à celle du premier mode de réalisation, à base de portes NAND BO, B 1, B 2, B 3 Les équations logiques correspondantes sont donc: sel O = NAND(NSO N 51) sell = NAND(SO N 51) se 12 = NAND(NSO Sl) se 13 = NAND(SO Sl) sel O, sell, se 12, se 13 sont les sorties respectives des portes BO, B 1, B 2, B 3. Comme dire que a O=O est équivalent à na O =l, et sachant comme on l'a vu que: SO= 1 correspond à na O = 0, on a SO= 1 qui correspond à a O=l NSO= 1 " " a O= 0, " NSO=i " " na O =l Sl=l " " nal= 0, " Sl=l " " al=l N Si=i " " al= O " N Sl=i " " nal=l Les équations logiques s'écrivent donc aussi: sel O=NAND(na O nal) sell=NAND(a O nal) se 12 =NAND(na O al) se 13 =NAND(a O al) qui sont les équations logiques déjà vues dans le premier mode de réalisation. Si on positionne l'adresse O (a O= O; al= 0) et l'adresse 3 (a O=l; al=l), en mode d'effacement par bloc, on va donc mémoriser: a O=O al= O na O=O nal=O ce qui est équivalent pour le décodage à: na O=l nal=l a O=l al=l Ainsi en positionnant deux adresses, on en sélectionne 4: non seulement LMO (a O=O;al= 0) et LM 3 (a O=l;al=l) sont sélectionnées, mais aussi LM 1 (a O=l;al= 0) et LM 2 (a O= O O;al=l). Plus généralement, si on a 4 bits d'adresse, pour sélectionner toutes les adresses ayant le bit de poids 2 égal à 0, il suffit de positionner 2 adresses pour que pour tous les autres bits, à la fois le bit et son complément soient mémorisés Dans l'exemple, pour sélectionner toutes les adresses de type: X O XX il suffit de positionner: 0000 et 1011 ou 1010 et 0001 ou 0011 et 1000 Il y a plusieurs choix possibles De cette manière, et en répartissant judicieusement les données dans la mémoire, il est possible de sélectionner un bloc d'information en ne positionnant que 2 adresses au lieu de toutes les adresses des lignes de mot du bloc d'information, comme dans le premier mode de réalisation. Dans le cas d'un circuit mémoire les signaux de mode d'effacement par bloc EB, de validation de sélection VS, de reset de bloc RB et d'effacement EF pourront être disponibles sur des bornes terminales du bottier. Si la mémoire est associée dans un même circuit intégré à un processeur ou un séquenceur d'instructions, ces signaux pourront être pilotés directement par le séquenceur ou le processeur. REVENDICATIONS 1 Circuit mémoire pour mémoire électriquement programmable et effaçable comportant un décodeur de lignes de mot (LMO, LM 1, LM 2, LM 3), le décodeur étant composé d'une première logique (A) d'obtention des bits d'adresse (a O,al) des lignes de mot et de leurs compléments logiques (na O, nal) et d'une deuxième logique (B) de décodage des bits d'adresse et de leurs compléments logiques pour sélectionner une ligne de mot et délivrant des signaux de sélection (sel O, sell, se 12, se 13), caractérisé en ce qu'il comporte en outre une logique de mémorisation (M) d'adressage des lignes- de mot, permettant une mémorisation de l'adressage de lignes de mot préalable à un effacement simultané des lignes de mot dont l'adressage a été mémorisé. 2 Circuit mémoire selon la revendication 1, caractérisé en ce que la logique de Mémorisation (M) est placée entre la première logique (A) et la seconde logique (B), et qu'elle comporte un élément de mémorisation (MEMA, MEMB, MEMC, MEMD) pour chacun des bits d'adresse et leurs compléments logiques (a O, al, na O, nal), chaque bit d'adresse et chaque complément étant une entrée (EMA, EMB, EMC, EMD) d'un élément de mémorisation. 3 Circuit mémoire selon la revendication 1, caractérisé en ce que la logique de mémorisation (M) est placée après la deuxième logique (B) et qu'elle comporte un élément de mémorisation (MEMA, MEMB, MEMC, MEMD) pour chacun des signaux de sélection (sel O, sell, sel 2, sel 3) des lignes de mot, chaque signal de sélection étant une entrée (EMA, EMB, EMC, EMD) de l'élément de mémorisation correspondant. 4 Circuit mémoire selon la revendication 2 ou 3, caractérisé en ce que l'élément de mémorisation comporte une entrée horloge (H) et une entrée reset (R) et qu'il fonctionne de la manière suivante: sur une activation du signal reset (R), la sortie de l'élément de mémorisation passe à 1, quels que soient les états de l'horloge (H) et de l'entrée de l'élément de mémorisation, quand la sortie de l'élément de mémorisation est à l'état 1, à chaque activation du signal d'horloge (H), l'état de la sortie de l'élément de mémorisation passe à O si l'état de l'entrée de l'élément de mémorisation est à O et reste à 1 si l'état de l'entrée de l'élément de mémorisation est à 1, si la sortie de l'élément de mémorisation est à l'état 0, elle reste dans cet état tant qu'il n'y a pas d'activation du signal reset (R) 4 Circuit de mémoire selon la revendication 4, caractérisé en ce que les entrées horloge (H) et reset (R) sont commandées respectivement par un signal de validation (VS) et un signal de reset de bloc (RB) communs à tous les éléments de mémorisation. 6 Circuit mémoire selon la revendication 2 ou 3, caractérisé en ce qu'une logique de commutation (C, C') et un signal de mode d'effacement par bloc (EB) permet de sélectionner, soit l'entrée de l'élément de mémorisation en dehors du mode d'effacement par bloc, soit la sortie de l'élément de mémorisation en mode d'effacement par bloc. 7 Circuit mémoire selon la revendication 5, caractérisé en ce que le signal de reset de bloc (RB) est activé dès l'activation du signal de mode d'effacement par bloc (EB). 8 Circuit mémoire selon la revendication 4, caractérisé en ce que chaque élément de mémorisation comporte une bascule dont l'entrée (D) est la sortie (Plo) d'une porte NAND (Pl) ayant en entrées, la sortie (S) de la bascule (D) et l'entrée (EMA, EMB, EMC, EMD) de l'élément de mémorisation, et la sortie (S) de la bascule étant aussi la sortie de l'élément de mémorisation.