Brevet FR2851843A1 — publié le 20040903

MEMOIRE FLASH COMPRENANT UN ALGORITHME DE VERIFICATION D'EFFACEMENT INTEGRE DANS UN ALGORITHME DE PROGRAMMATION La présente invention concerne les mémoires effaçables et programmables électriquement en circuits intégrés, et plus particulièrement le test de ces mémoires avant commercialisation. La présente invention concerne également la mise en oeuvre d'un test dit de "blank verify", ou test de vérification d'effacement, dans les mémoires Flash à entrée/sortie série. Le test d'une mémoire effaçable et programmable 10 électriquement intégrée sur une micro-plaquette de silicium est une étape essentielle permettant de détecter les circuits intégrés présentant des défauts de fabrication. Parmi les divers tests connus, le test de 15 vérification d'effacement permet de détecter des défauts de fabrication tels des courts-circuits dus à des filaments de métaux ou de silicium polycristallin résiduels déposés involontairement à la surface des circuits intégrés. Ce test est appliqué généralement à toutes les pages d'une mémoire et comprend, pour chaque page, les étapes suivantes: - effacement complet de la page, - programmation de la page mot par mot, et vérification 25 avant chaque programmation d'un mot que la programmation du mot adjacent n'a pas affecté les cellules mémoire à programmer, - rejet de la mémoire si une cellule mémoire présumée dans l'état effacé contient un bit dont la valeur logique 30 correspond à l'état programmé. Ce test est illustré sur les figures lA, lB, 1C. Sur la figure lA, une page d'une mémoire composée de mots de 8 bits ou octets, a été entièrement effacée et ne comprend ainsi que des mots égaux à 1 (le 1 logique étant considéré ici et dans ce qui suit comme la valeur logique d'effacement, soit la valeur logique contenue dans une cellule mémoire dans l'état effacé). Sur la figure lB, le 5 premier mot WO de la page a été mis à 0 ce qui correspond à une programmation de toutes les cellules mémoire contenant les bits du mot WO. Le mot adjacent Wl ou deuxième octet de la page ne comprend que des 1, ainsi que les octets suivants de la page, de sorte qu'aucun 10 défaut n'est constaté. La figure lC représente un cas d'échec du test de vérification d'effacement. Après avoir programmé le énième mot Wn de la page, le mot suivant Wn+l est lu et comprend l'octet "01111111" au lieu de l'octet "11111111". Cela signifie qu'un court-circuit a 15 entraîné la programmation involontaire de la première cellule mémoire du mot Wn+l pendant la programmation du mot Wn (ou d'un autre mot, bien que les courts-circuits apparaissent généralement entre cellules mémoire adjacentes). Une mémoire présentant ce type de 20 dysfonctionnement est ainsi rejetée. Sur une mémoire Flash PMEM à entrées/sorties parallèles, du type représenté en figure 2A, la mise en oeuvre de ce test ne présente aucune difficulté particulière. La mémoire PMEM comprend une entrée 25 d'adresse parallèle ADIN, des entrées/sorties de données parallèles DTIO, une entrée pour recevoir une commande d'écriture WRITE, une entrée pour recevoir une commande de lecture READ, et une entrée de sélection CHSEL. Après effacement d'une page, la séquence de test de 30 vérification d'effacement est faite mot à mot et comprend l'adressage du mot cible, la lecture du mot cible pour vérifier que ce mot ne comprend que des 1, puis la mise à 0 du mot (programmation de toutes les cellules mémoire correspondantes). Sur une mémoire Flash SMEM à entrée/sortie série, du type représenté en figure 2B, la mise en oeuvre d'un tel test présente par contre l'inconvénient de nécessiter un temps non négligeable. Une telle mémoire ne comporte qu'une entrée série pour recevoir des données DTIN, une sortie série pour émettre des données DTOUT, et une entrée de sélection CHSEL. L'application d'une commande 5 de lecture nécessite l'application bit à bit sur l'entrée série d'un code de l'opération à effectuer, de l'adresse du mot à lire, soit en général au moins 4 octets (1 octet de commande et 3 octets d'adresse), puis la lecture bit à bit du mot sur la sortie DTOUT. Il en est de même pour 10 l'écriture d'un mot, qui nécessite l'application bit à bit de la valeur du mot à écrire. Ainsi, un test de vérification d'effacement est long à mettre en oeuvre sur une mémoire Flash série et grève le prix de revient des mémoires série en 15 ralentissant les cadences de production, les étapes de test faisant partie du processus de fabrication. La présente invention vise à pallier cet inconvénient. La présente invention se fonde sur le fait qu'une 20 mémoire Flash du type précité comprend généralement un dispositif de programmation agencé pour enregistrer une donnée dans une cellule mémoire en exécutant un cycle de vérification-programmation comprenant les étapes suivantes: a) lire la cellule mémoire devant recevoir la donnée, b) comparer la donnée lue dans la cellule mémoire et la donnée à enregistrer, c) appliquer à la cellule mémoire une impulsion d'une tension de programmation, si la donnée à enregistrer 30 présente une valeur logique correspondant à une cellule mémoire programmée et si la donnée lue dans la cellule mémoire présente une valeur logique correspondant à une cellule mémoire effacée. Ce cycle de vérification-programmation est répété 35 jusqu'à ce que la donnée lue soit égale à la donnée à enregistrer, sans excéder N cycles. Dans une telle mémoire, l'opération de programmation comprend donc une lecture préalable de la cellule mémoire, puis l'application d'une impulsion de tension de programmation, puis une nouvelle lecture de la 5 cellule mémoire suivie de l'application d'une nouvelle impulsion de tension de programmation, et ainsi de suite jusqu'à ce que la cellule mémoire soit programmée. La présente invention se base sur le fait que la première lecture de la cellule mémoire est faite avant 10 application de la première impulsion de tension de programmation, et reflète donc l'état programmé ou effacé de la cellule mémoire. L'idée de la présente invention est ainsi d'intégrer une étape de vérification d'effacement dans une opération de programmation en 15 vérifiant que la valeur de la donnée lue avant l'application de la première impulsion de tension de programmation, correspond bien à une cellule mémoire effacée. Ainsi, si la donnée lue est égale à 1, alors la donnée est valable au sens du test de vérification 20 d'effacement. Plus particulièrement, la présente invention prévoit une mémoire effaçable et programmable électriquement, comprenant des cellules mémoire et un dispositif de vérification-programmation agencé pour 25 enregistrer une donnée dans une cellule mémoire en répétant un cycle de vérificationprogrammation jusqu'à ce que la donnée soit enregistrée dans la cellule mémoire, sans excéder N cycles, un cycle de vérificationprogrammation comprenant une étape de lecture de la 30 cellule mémoire puis l'application d'une impulsion d'une tension de programmation à la cellule mémoire si la donnée à enregistrer présente une valeur logique de programmation et si la donnée lue dans la cellule mémoire présente une valeur logique d'effacement, la mémoire 35 comprenant un dispositif de vérification d'effacement agencé pour: fournir un signal de vérification d'effacement ayant une valeur déterminée lorsque la donnée lue dans une cellule mémoire au cours du premier cycle de vérification-programmation d'une opération de programmation de la cellule mémoire, présente une valeur logique d'effacement, et verrouiller le signal de 5 vérification d'effacement avant application de la première impulsion de tension de programmation à la cellule mémoire. Selon un mode de réalisation, le dispositif de vérification d'effacement est agencé pour fournir un 10 signal de vérification d'effacement ayant la valeur déterminée lorsqu'une donnée à enregistrer présente ellemême une valeur logique d'effacement. Selon un mode de réalisation, la mémoire comprend un nombre déterminé d'amplificateurs de lecture pour lire 15 simultanément un nombre correspondant de cellules mémoire sélectionnées pendant une opération d'enregistrement de données dans les cellules mémoire sélectionnées, et dans laquelle le dispositif de vérification d'effacement comprend un nombre correspondant de circuits de 20 vérification d'effacement, chaque circuit de vérification d'effacement étant relié à un amplificateur de lecture et fournissant un signal individuel de vérification d'effacement d'une cellule mémoire ayant la valeur déterminée lorsque la donnée lue dans la cellule mémoire 25 au cours du premier cycle de vérificationprogrammation de la cellule mémoire présente la valeur logique d'effacement. Selon un mode de réalisation, un circuit de vérification d'effacement comprend une porte logique 30 recevant sur une entrée la donnée lue au cours du premier cycle de vérification-programmation de la cellule mémoire, et fournissant le signal individuel de vérification d'effacement. Selon un mode de réalisation, la porte logique est 35 agencée pour combiner la donnée lue dans la cellule mémoire au cours du premier cycle de vérificationprogrammation de la cellule mémoire et la donnée à enregistrer dans la cellule mémoire, le signal individuel de vérification d'effacement étant fonction du résultat de la combinaison. Selon un mode de réalisation, la porte logique est de type OU ou NON OU. Selon un mode de réalisation, le dispositif de vérification d'effacement comprend un circuit logique pour collecter l'ensemble des signaux individuels de vérification d'effacement fournis par les circuits de 10 vérification d'effacement, et fournir un signal collectif de vérification d'effacement d'une pluralité de cellules mémoire. Selon un mode de réalisation, la mémoire comprend des moyens de verrouillage de la valeur du signal 15 collectif de vérification avant application de la première impulsion de tension de programmation. Selon un mode de réalisation, la mémoire comprend des moyens pour fournir une suite d'impulsions de signaux de vérification appliqués au dispositif de vérification20 programmation, et pour fournir un signal de verrouillage de vérification d'effacement après émission de la première impulsion du signal de vérification. La présente invention concerne également un procédé de test d'une mémoire effaçable et programmable 25 électriquement, comprenant des cellules mémoire et un dispositif de vérification-programmation agencé pour effectuer une opération d'enregistrement d'une donnée dans une cellule mémoire en répétant un cycle de vérification-programmation jusqu'à ce que la donnée soit 30 enregistrée, sans excéder N cycles, un cycle de vérification-programmation comprenant une étape de lecture de la cellule mémoire devant recevoir la donnée puis l'application d'une impulsion d'une tension de programmation à la cellule mémoire si la donnée à 35 enregistrer dans la cellule mémoire présente une valeur logique de programmation et si la donnée lue dans la cellule mémoire présente une valeur logique d'effacement, procédé comprenant les étapes suivantes fournir un signal de vérification d'effacement ayant une valeur déterminée lorsque la donnée lue dans une cellule mémoire au cours du premier cycle de vérification-programmation 5 d'une opération de programmation de la cellule mémoire, présente une valeur logique d'effacement, et verrouiller le signal de vérification d'effacement avant application de la première impulsion de tension de programmation à la cellule mémoire. Selon un mode de réalisation, le procédé comprend la production d'un signal de vérification d'effacement ayant la valeur déterminée lorsqu'une donnée à enregistrer présente elle-même la valeur logique d'effacement. Selon un mode de réalisation, le procédé est appliqué à une mémoire comprenant un nombre déterminé d'amplificateurs de lecture permettant de lire simultanément un nombre correspondant de cellules mémoire sélectionnées pendant une opération d'enregistrement de 20 données dans ces cellules mémoire, et comprend la production d'un nombre correspondant de signaux individuels de vérification d'effacement pendant l'enregistrement de données dans un nombre correspondant de cellules mémoire. Selon un mode de réalisation, le procédé comprend la combinaison des signaux individuels de vérification d'effacement pour fournir un signal collectif de vérification d'effacement d'une pluralité de cellules mémoire. Selon un mode de réalisation, le procédé comprend le verrouillage du signal collectif de vérification d'effacement avant application de la première impulsion de tension de programmation. Ces objets, caractéristiques et avantages ainsi que 35 d'autres de la présente invention seront exposés plus en détail dans la description suivante du procédé de l'invention et d'une mémoire effaçable et programmable électriquement mettant en oeuvre ce procédé, faite à titre non limitatif en relation avec les figures jointes parmi lesquelles: - les figures lA, lB, lC précédemment décrites illustrent un test de vérification d'effacement, - les figures 2A, 2B précédemment décrites représentent schématiquement une mémoire à entrées/sorties parallèles et une mémoire à entrée/sortie série, - la figure 3 représente une mémoire série effaçable et 10 programmable électriquement comprenant un dispositif de vérification-programmation classique, - la figure 4 représente une mémoire série effaçable et programmable électriquement comprenant un dispositif de vérification-programmation classique et un dispositif de 15 vérification d'effacement selon l'invention, - la figure 5 est le schéma logique de certains éléments du dispositif de vérification-programmation et du dispositif de vérification d'effacement représentés en figure 4, et - les figures 6A à 6G sont des chronogrammes de signaux logiques intervenant dans une opération de programmation comprenant une étape de vérification d'effacement selon l'invention. Exemple de mémoire classique comprenant un 25 dispositif de vérificationprogrammation La figure 3 représente une mémoire Flash série MEMl de type classique, comprenant un dispositif de vérification-programmation de cellules mémoire. La mémoire comprend un plan mémoire MA piloté par 30 un décodeur de ligne de mot WLDEC et un décodeur de colonne COLDEC. La mémoire est ici de type série est comprend un tampon d'entrée BUFl à entrée série et sortie parallèle et un tampon de sortie BUF2 à entrée parallèle et sortie série. L'entrée série du tampon BUFi est reliée 35 à une entrée de données DTIN de la mémoire et la sortie parallèle du tampon BUFi est reliée à un bus de données DTB de la mémoire. L'entrée parallèle du tampon BUF2 est reliée au bus de données DTB et la sortie série du tampon BUF2 est reliée à une sortie de données DTOUT de la mémoire. Le bus de données DTB est relié à un séquenceur SEQ, au décodeur de ligne de mot WLDEC et au décodeur de 5 colonne COLDEC. Le séquenceur, à logique câblée ou à microprocesseur, exécute des instructions d'écriture ou de lecture de données reçues sous forme de codes instruction via l'entrée série DTIN. Le plan mémoire MA est ici de type Flash et 10 comprend des cellules mémoire formées par des transistors à grille flottante FGT. Le plan mémoire MA comprend des lignes de mot WLi et des lignes de bit BLk,j. Les lignes de bit sont regroupées en n colonnes électriques COLk (COLO, COL1, COL2, ...COLn-l) k étant un indice de colonne 15 allant de 0 à n-i. Chaque colonne électrique de rang k comprend J lignes de bit BLk,j, j étant un indice allant de 0 à J-i. Les lignes de bit BLk,j sont reliées aux drains de transistors à grille flottante FGT, tandis que les lignes de mot WLi sont reliées aux grilles de 20 commande des transistors FGT. Les cellules mémoire reliées aux lignes de bit BLk,j d'une colonne COLk contiennent des bits de même poids. Ainsi, un mot binaire de n bits est enregistré dans n cellules se trouvant chacune dans une colonne électrique déterminée, 25 conformément à une méthode classique d'entrelacement des mots binaires dans les mémoires Flash. Par ailleurs, une page de la mémoire est formée par l'ensemble des cellules mémoire reliées à la même ligne de mot WLi et comprend J mots binaires de n bits chacun, chaque bit d'un mot étant 30 enregistré dans une colonne électrique. Le décodeur COLDEC comprend n blocs de décodage CDk (CDO, CD1, ...CDn-1). Chaque bloc de décodage CDk est associé à une colonne électrique COLk, et comprend une sortie et n entrées reliées aux lignes de bit de la 35 colonne. Chaque bloc de décodage CDk sélectionne sur sa sortie une ligne de bit BLk,j de la colonne COLk, en fonction d'une adresse de colonne logique ADL appliquée au décodeur (une adresse de colonne logique étant l'adresse d'un mot de n bits dans une page du plan mémoire) . La sortie de chaque bloc de décodage CDk est reliée d'une part à un circuit de lecture RCTk (RCTO, RCT1, ...RCTn-1) et d'autre part à un circuit de vérification-programmation VPCTAk (VPCTAO, VPCTA1, ... Chaque circuit de lecture RCTk comprend un amplificateur de lecture SA ayant une entrée de lecture 10 reliée à une sortie du bloc de décodage correspondant, et une sortie reliée d'une part au bus de données DTB et d'autre part au circuit de vérification-programmation La structure d'un circuit de vérification15 programmation VPCTAk de rang k est représentée schématiquement en figure 3. Le circuit VPCTAk comprend un verrou de données DLT, un circuit logique de contrôle CONTCT et un verrou de programmation PLT. L'entrée du verrou DLT est reliée au bus de données DTB et reçoit un 20 bit Bpk à enregistrer dans une cellule mémoire de la colonne correspondante. Le circuit de contrôle CONTCT est relié à la sortie du verrou DLT, pour recevoir le bit Bpk, et à la sortie de l'amplificateur de lecture SA du circuit RCTk, pour recevoir un bit Brk lu par 25 l'amplificateur de lecture au cours d'un cycle de vérificationprogrammation décrit plus loin. Le circuit de contrôle CONTCT fournit au verrou de programmation PLT un signal DTOKk. Le verrou de programmation PLT présente une sortie reliée à la sortie du bloc de décodage CDk, 30 une entrée de commande recevant le signal DTOKk, une entrée de déclenchement recevant un signal de vérification VRFY commun à tous les verrous de programmation des autres circuits de vérificationprogrammation, et une entrée recevant des impulsions 35 d'une tension de programmation VPP fournies par un générateur VPGEN piloté par le séquenceur SEQ. L'enregistrement d'un mot binaire comprenant des bits BpO, Bpl, Bp2, ... Bpk... Bpn-1 comprend classiquement les étapes suivantes: - application d'une adresse de ligne de mot ADH au décodeur WLDEC (bits d'adresse de poids fort), - effacement de la page sélectionnée par le décodeur WLDEC (tous les bits sont mis à 1), - application au décodeur COLDEC d'une adresse de colonne logique ADL (bits d'adresse de poids faible) 10 correspondant au rang du mot binaire dans la page sélectionnée, chargement des bits BpO, Bpl, Bp2,...Bpk, Bpn-1 dans les verrous DLT des circuits de vérificationprogrammation VPCTAk, à raison d'un bit par verrou, - application aux cellules mémoire de cycles de vérificationprogrammation, jusqu'à ce que toutes les cellules mémoire à programmer soient programmées. Un cycle de vérification-programmation comprend l'application d'une impulsion VRFY et d'une impulsion 20 VPP. Sur front montant de l'impulsion VRFY, chaque amplificateur de lecture lit un bit Brk dans la cellule mémoire sélectionnée. Sur chaque front descendant de l'impulsion VRFY, le verrou de programmation PLT devient transparent si le signal DTOKk est à 0 ou se bloque si le 25 signal DTOKk est à 1. Si le verrou est transparent, il transmet l'impulsion de tension de programmation VPP à la ligne de bit lorsque cette impulsion est émise. Le circuit de contrôle CONTCI de chaque circuit de vérificationprogrammation VPCTAk exécute par exemple la 30 fonction logique suivante: DTOKk = Bpk + /Bpk*/Brk "+" étant la fonction OU et *" la fonction ET En d'autres termes, le signal DTOK passe à 1 dans les cas suivants: - si le bit à enregistrer Bpk est égal à 1, ce qui signifie qu'il n'y a pas de programmation à effectuer sur la cellule mémoire, et - si le bit à enregistrer Bpk est égal à 0 et le bit lu 5 Brk est égal à 0, ce qui signifie qu'il n'est plus nécessaire d'appliquer des impulsions de tension de programmation à la cellule mémoire car celle-ci est déjà programmée. Afin de contrôler l'opération de programmation dans 10 son ensemble, les signaux DTOKk (DTOKO à DTOKn-l) sont collectés par une porte logique Gl de type ET, dont la sortie délivre un signal collectif DTOK qui ne passe à 1 que lorsque tous les signaux individuels DTOKk sont à 1. Le signal DTOK est chargé en tant que drapeau dans un 15 registre d'état SREG de la mémoire, et est rafraîchi à chaque cycle de vérificationprogrammation. Le séquenceur SEQ arrête l'émission des impulsions de tension de programmation VPP (arrêt du générateur VPGEN) lorsque le signal collectif DTOK passe à 1. Le séquenceur arrête 20 également l'émission des impulsions de tension de programmation VPP lorsque le signal DTOK ne passe pas à 1 après application de N impulsions de tension de programmation. Cela signifie qu'au moins une cellule mémoire est défaillante et ne peut être programmée. Un 25 drapeau PFAIL (Program Fail) est alors mis à 1 dans le registre SREG, pour indiquer à l'utilisateur une erreur de programmation. Description du procédé de vérification d'effacement selon l'invention Comme cela est indiqué plus haut, la mise en oeuvre du test de vérification d'effacement est longue et fastidieuse dans une mémoire série comme celle qui vient d'être décrite, car les instructions d'écriture et de lecture sont appliquées bit à bit à la mémoire, sous 35 forme de données série comprenant le code instruction de l'opération à effectuer et l'adresse du mot à programmer ou à lire. La présente invention repose sur l'observation selon laquelle, au cours de l'opération de programmation qui vient d'être décrite, les cellules mémoire dans lesquelles des données doivent être enregistrées sont lues avant de recevoir la première impulsion de tension 5 de programmation (lecture sur premier front montant du signal VRFY) . La présente invention propose d'utiliser l'information de lecture fournie par chaque amplificateur de lecture au cours du premier cycle de vérificationprogrammation, pour produire un signal de vérification 10 d'effacement individuel, et de collecter l'ensemble des signaux d'effacement individuels pour former un signal collectif de vérification d'effacement. En d'autres termes, la présente invention propose d'intégrer un algorithme de vérification d'effacement au sein de 15 l'algorithme de vérification-programmation classique. Pour fixer les idées, supposons qu'une page du plan mémoire, après avoir été effacée, soit programmée mot par mot en mettant tous les mots binaires à 0. La séquence de programmation suivante est alors exécutée, en supposant 20 ici que les mots sont des octets (n=8) (ii) 000000001111111111111111111111111111... (iii) 000000000000000011111111111111111111.... 25 (iv) 000000000000000000000000111111111111.... En (i) la page est effacée. En (ii) le premier mot (mot souligné) est mis à 0, en (iii) le second mot est mis à 0, en (iv) le troisième mot est mis à 0, etc.. 30 Chaque mise à zéro d'un mot correspond à une programmation de toutes les cellules mémoire du mot, conformément au test de vérification d'effacement. Pour que le test de vérification d'effacement soit complet, il faut vérifier que chaque mot, avant d'être mis à 0, ne 35 comprend que des bits à 1. Ceci permet de vérifier qu'une cellule mémoire effacée n'a pas été accidentellement programmée pendant la programmation de cellules mémoire adjacentes. Dans la séquence de programmation décrite cidessus, le premier cycle de vérification-programmation 5 intervenant à chaque opération de programmation d'un mot (mots soulignés), comprend une lecture des cellules mémoire avant application de la première impulsion de tension de programmation. Ainsi, tous les signaux de vérification DTOKk émis par les circuits de contrôle 10 CONTCT doivent normalement être à 0 avant application de la première impulsion de tension de programmation, si les données lues sont effectivement à 1 et si toutes les données à enregistrer sont égales à 0. L'observation des signaux DTOKk lors de la première impulsion de 15 vérification précédant la première impulsion de tension de programmation peut ainsi permettre de savoir si les cellules sont bien dans l'état effacé. Ainsi, comme illustré sur la figure 3 en traits pointillés, le procédé selon l'invention peut être mis en 20 oeuvre de façon simple en prélevant les signaux de vérification DTOKk émis par chaque circuit de vérificationprogrammation et en les appliquant sur une deuxième porte logique G2, par exemple une porte de type NON OU, dont la sortie délivre un signal collectif BVOK 25 (Blank Verify OK). Le signal BVOK doit être verrouillé au terme de la première lecture du premier cycle de vérificationprogrammation, car il change de valeur lorsqu'une cellule mémoire bascule dans l'état programmé. Si le signal BVOK est à 1 au terme de la première lecture 30 du premier cycle de vérification-programmation, cela signifie que tous les signaux individuels BVOKk sont à 0, et par conséquent que les cellules mémoire sont toutes dans l'état effacé, le résultat du test de vérification d'effacement étant dans ce cas positif. On décrira dans ce qui suit un mode de réalisation préféré du procédé selon l'invention, dans lequel des signaux de vérification individuels BVOKk (Blank Verify OK) sont produits par comparaison de la donnée lue au cours du premier cycle de vérification-programmation et de la donnée à enregistrer, afin d'offrir des possibilités de test plus étendues que celles offertes par une simple observation des signaux DTOKk. Exemple de mémoire mettant en oeuvre le procédé selon l'invention La figure 4 représente une mémoire Flash série MEM2 comprenant un dispositif de vérification d'effacement 10 selon l'invention. La mémoire MEM2 comprend les éléments de la mémoire MEM2 déjà décrits, désignés par les mêmes références. On retrouve ainsi le plan mémoire Flash MA à entrelacement de données, le décodeur de ligne de mot WLDEC, le décodeur de colonne COLDEC comportant n blocs 15 de décodage CDk (CDO, CDl, ... CDn-1) associés aux colonnes électriques COLk du plan mémoire, les tampons d'entrée BUF1 et de sortie BUF2, le bus de données DTB, le séquenceur SEQ... La sortie de chaque bloc de décodage CDk est reliée 20 comme précédemment à un circuit de lecture RCTk (RCTO, RCT1, ... RCTn-1) et à un circuit de vérificationprogrammation VPCTBk (VPCTBO, VPCTB1,... VPCTBn-1). Chaque circuit de lecture RCTk comprend comme précédemment un amplificateur de lecture SA ayant une 25 entrée de lecture reliée à une sortie du bloc de décodage correspondant, et une sortie reliée au bus de données DTB ainsi qu'au circuit de vérification-programmation VPCTBk correspondant. Chaque circuit de vérificationprogrammation VPCTBk comprend, comme les circuits VPCTAk 30 précédemment décrits, un verrou de données DLT, un circuit logique de contrôle CONTCT et un verrou de programmation PLT, ces éléments étant de même structure que ceux précédemment décrits. Ainsi, le verrou DLT est relié en entrée au bus dedonnées DTB et reçoit un bit 35 Bpk à enregistrer dans une cellule mémoire. Le circuit de contrôle CONTCT est relié à la sortie du verrou DLT, pour recevoir le bit Bpk, et est également relié à la sortie de l'amplificateur de lecture SA du circuit RCTk, pour recevoir un bit Brk lu par l'amplificateur de lecture au cours d'un cycle de vérificationprogrammation. Le circuit de contrôle CONTCT fournit au verrou de 5 programmation PLT un signal DTOKk. Le verrou de programmation PLT présente une sortie reliée à la sortie du bloc de décodage CDk correspondant, une entrée de commande recevant le signal DTOKk, une entrée de déclenchement recevant le signal de vérification VRFY 10 commun à tous les verrous de programmation, et une entrée recevant les impulsions de tension de programmation VPP fournies par le générateur VPGEN. L'enregistrement d'un mot dans le plan mémoire comprend comme précédemment l'application d'une adresse 15 de ligne de mot ADH au décodeur WLDEC, l'effacement de la page sélectionnée, l'application au décodeur COLDEC d'une adresse de colonne logique ADL, le chargement des bits BpO, Bpl, Bp2,...Bpk, Bpn-1 du mot à enregistrer dans les verrous DLT, puis l'exécution de cycles de vérification20 programmation. Sur front montant de l'impulsion VRFY, chaque amplificateur de lecture lit un bit Brk (BrO, Brl, Br2...Brn-1) dans une cellule mémoire. Sur chaque front descendant de l'impulsion VRFY, le verrou de programmation PLT devient transparent si le signal DTOKk 25 est à 1 ou se bloque si le signal DTOKk est à 0. Si le verrou est transparent, il transmet l'impulsion de tension de programmation VPP à la ligne de bit correspondante. Comme précédemment toujours, le signal DTOK est mis à 1 par le circuit CONTCT si le bit à 30 enregistrer Bpk est égal à 1, ou si le bit à enregistrer Bpk est égal à 0 et le bit lu Brk est égal à 0. Selon l'invention, chaque circuit de vérificationprogrammation VPCTBk comprend en outre un circuit de vérification d'effacement EVCT qui reçoit en entrée le 35 bit Brk lu par l'amplificateur de lecture SA ainsi que le bit à enregistrer Bpk fourni par le verrou de données DTLT. Le circuit de vérification d'effacement ECVT fournit un signal BVOKk en exécutant ici la fonction logique suivante: BVOKk = Bpk + Brk soit une fonction OU entre le bit lu et le bit à enregistrer. Afin de contrôler l'opération de vérification dans son ensemble, les signaux BVOKk (BVOKO, BVOK1, 10 BVOK2.. .BVOKn-1) sont collectés par une porte logique G3 de type NON ET. La sortie de la porte G3 fournit un signal collectif /BVOK qui ne passe à 0 que lorsque tous les signaux individuels BVOKk sont à 1. Le signal /BVOK est par ailleurs appliqué sur l'entrée S ("Set") d'une 15 bascule synchrone DL1 de type RS, dont l'entrée R ("Reset") est contrôlée par un signal RSTD de remise à zéro fourni par le séquenceur. La bascule DL1 présente une sortie inverseuse /Q qui est reliée au registre d'état SREG et fournit un signal BVOKs enregistré en tant 20 que drapeau dans le registre d'état. La bascule DL1 présente une entrée de synchronisation H, active sur front descendant, recevant un signal VRFYO. Le signal VRFYO est fourni par le séquenceur SEQ pendant l'opération de programmation. Plus particulièrement, le 25 signal VRFYO présente une impulsion et une seule, qui est une copie de la première impulsion du signal de vérification VRFY émise lors d'une opération de programmation d'un mot. Le signal collectif /BVOK présente une valeur 30 significative après que le front montant de l'impulsion VRFY a déclenché la lecture des données dans une rangée de cellules mémoire sélectionnée pour la programmation. Chaque signal individuel BVOKk est ici à 1 si: A) le bit Brk lu dans la cellule mémoire sélectionnée est 35 égal à 1 et le bit Bpk à enregistrer dans la cellule mémoire est égal à O, B) le bit Bpk à enregistrer dans la cellule mémoire est égal à 1. Le cas A correspond au test de vérification d'effacement classique, lorsque tous les mots à 5 enregistrer sont égaux à 0. Le cas B permet d'inhiber la vérification d'effacement sur certains mots et créer des séquences de test complexes, comme cela sera décrit plus loin. La bascule DL1 est remise à 0 avant une opération 10 de programmation, de sorte que signal BVOKs est forcé à 1. La bascule DL1 est ensuite activée au premier front descendant du signal VRFYO, qui correspond au premier front descendant de la première impulsion du signal VRFY, soit avant l'application de la première impulsion de 15 tension de programmation. Si à cet instant le signal /BVOK est égal à 0, ce qui signifie que tous les signaux individuels BVOKk sont à 1, alors le signal BVOKs reste à 1. Dans un mode de réalisation préféré, la bascule DL1 20 n'est pas remise à 0 entre deux opérations de programmation de cellules mémoire, lorsque plusieurs rangées de cellules mémoire sont programmées en rafale. Dans ce cas, le signal BVOKs indique le résultat général des vérifications effectuées à chaque opération de 25 programmation d'une rangée *de cellules mémoire. Si le signal /BVOK est à 0 pendant la lecture intervenant sur le premier front montant du signal VRFY, le signal BVOKs est reste à 1 lors du front descendant du signal VRFYO, lorsque l'entrée H de la bascule DL1 est activée. Si 30 toutefois, au cours d'une programmation d'une rangée de cellules mémoire, l'une des cellules mémoire de la rangée ne présente pas la valeur d'effacement, alors l'entrée S de la bascule DL1 est activée et le signal BVOKs passe à 0 sur la sortie /Q. Si, par la suite, le signal /BVOK est 35 à 0 lors de la programmation des autres rangées de cellules mémoire, le signal BVOKs reste quand même à 0 car la bascule ne peut être remise à 0 qu'au moyen du signal externe RSTD, qui n'est délivré qu'une seule fois par le séquenceur, avant de déclencher les cycles de programmation en rafale. Ainsi, il suffit d'un échec dans l'un des tests de vérification de la valeur d'effacement 5 d'une rangée de cellules mémoire pour que le drapeau BVOKs passe à 0 et conserve cette valeur. La figure 5 représente un exemple de réalisation d'un circuit de vérification-programmation VPCTBk, comprenant un verrou de données DTLT, un circuit de 10 contrôle CONTCT, un circuit de vérification d'effacement EVCT selon l'invention, et un verrou de programmation PLT. Le verrou de programmation PLT comprend une porte inverseuse INV1, une bascule D synchrone DL2, un 15 adaptateur de tension VAD et un transistor NMOS TN1. La porte inverseuse reçoit le signal DTOKk fournit par le circuit de contrôle CONTCT et applique ce signal inversé sur l'entrée D de la bascule DL2, dont la sortie Q est appliquée sur l'entrée de l'adaptateur de tension VAD. 20 Celui-ci est alimenté par une tension VPP+ VTH, VTH étant la tension de seuil du transistor TN1, et sa sortie pilote la grille du transistor TN1. La sortie de l'adaptateur VAD transforme un signal logique égal à 1 fourni par la sortie Q de la bascule, en un signal de 25 tension VPP+VTH, tandis qu'un signal logique à 0 est recopié en un signal de tension nulle. L'entrée de déclenchement H de la bascule, active sur front descendant, reçoit les impulsions du signal VRFY. Le drain du transistor TN1 reçoit les impulsions de tension 30 de programmation VPP. La source du transistor TNI est reliée à une ligne de bit BLk,j via le décodeur de colonne (non représenté en figure 5). A chaque impulsion du signal VRFY, la sortie Q de la bascule DL2 est rafraîchie et recopie la valeur 35 présente sur l'entrée D. Si le signal DTOK est à 0 lors de la réception d'un front descendant du signal VRFY, la sortie Q passe à 1 et l'adaptateur fournit la tension VPP+VTH à la grille du transistor TN1, qui devient ou reste passant. Ainsi, lorsque l'impulsion VPP est émise, celle-ci est transmise par le transistor TN1 à la ligne de bit et une cellule mémoire sélectionnée reçoit une impulsion de tension de programmation VPP. Le circuit de contrôle CONTCT comprend une porte logique G4 de type OU recevant sur ses entrées le bit à enregistrer Bpk et le bit Brk (lu par l'amplificateur SA sur front montant du signal VRFY). La sortie de la porte 10 G4 est appliquée sur une entrée d'une porte G5 de type NON OU EXCLUSIF (NXOR) recevant sur une deuxième entrée le bit à enregistrer Bpk. La sortie de la porte G5 fournit le signal DTOKk, qui est égal à DTOKk = Bpk + /Bpk*/Brk + Bpk*Brk Cette équation logique est strictement identique à celle décrite plus haut, soit: DTOKk = Bpk + /Bpk*/Brk car le terme Bpk*Brk est sans effet sur la valeur de l'équation. Le circuit de vérification d'effacement EVCT 25 comprend une porte G6 de type OU, recevant en entrée les bits Bpk et Brk et fournissant le signal BVOKk, conformément à l'équation logique décrite plus haut (BVOKk = Bpk + Brk). Les figures 6A à 6G sont des chronogrammes 30 illustrant une opération de programmation selon l'invention, comprenant l'algorithme de vérification classique et incorporant également l'algorithme de vérification d'effacement selon l'invention. L'opération de programmation est appliquée ici à une cellule mémoire 35 que l'on suppose avoir été préalablement effacée. La figure 6A représente le bit Bpk chargé dans le verrou DLT, destiné à être enregistré dans la cellule mémoire. La figure 6B représente le bit Brk lu dans la cellule mémoire au cours de l'opération de programmation. La figure 6C représente les impulsions du signal VRFY. La figure 6D représente l'impulsion du signal VRFYO. La 5 figure 6E représente le signal BVOKk. La figure 6F représente les impulsions de la tension de programmation VPP et la figure 6G représente le signal DTOKk. A un instant TO, un bit Bpk, ici égal à 0, est chargé dans le registre DLT. A un instant tl apparaît un 10 front montant de la première impulsion du signal VRFY, ainsi qu'un font montant du signal VRFYO, qui recopie la première impulsion du signal VRFY. La cellule mémoire est lue par un amplificateur de lecture qui délivre un bit Brk égal à 1 (cellule mémoire effacée) à un instant tl', 15 l'écart entre tl' et tl correspondant au temps de lecture et de stabilisation de l'amplificateur de lecture. A l'instant tl', le signal BVOKk passe également à 1 car la donnée lue est égale à 1, ce qui confirme que la cellule mémoire lue est dans l'état effacé. A un instant t2, un 20 front descendant du signal VRFYO, correspondant à un front descendant de la première impulsion du signal VRFY, valide le signal BVOKs (verrouillage du signal collectif /BVOK par la bascule DLI, figure 4). Entre des instants t3 et t4, une impulsion VPPO de la tension de 25 programmation VPP est appliquée à la cellule mémoire, le signal DTOKk étant à 0. Entre des instants t5 et t6, une nouvelle impulsion du signal VRFY est émise. La donnée lue Brk ne change pas de valeur ce qui signifie que la cellule est toujours dans l'état effacé. Le signal DTOKk 30 reste ainsi égal à 0. Entre des instants t7 et t8, une deuxième impulsion VPP1 de la tension de programmation VPP est appliquée à la cellule mémoire. A un instant t9, une nouvelle impulsion VRFY est émise (front montant) . A un instant t9', après stabilisation de l'amplificateur de 35 lecture, le bit Brk lu dans la cellule mémoire passe à 0 ce qui signifie que la cellule mémoire est maintenant programmée, après deux impulsions de tension VPP. Ainsi, à l'instant t9', le signal DTOKk passe à 1, indiquant que la cellule est programmée. Le verrou de programmation PLT se bloque (Fig. 5) et empêche d'autres impulsions de tension de programmation d'être appliquées à la cellule mémoire. On a indiqué dans ce qui précède que les signaux individuels de vérification d'effacement BVOKk sont également à 1 quand le bit Bpk à enregistrer dans la cellule mémoire est égal à 1 (cas B), du fait que les 10 signaux BVOKk sont produits par combinaison des bits Brk et Bpk, cette combinaison étant faite ici au moyen de la fonction OU. Cette caractéristique du dispositif de vérification d'effacement selon l'invention permet d'inhiber la vérification d'effacement sur certains mots 15 binaires et créer des séquences de test complexes. Supposons à titre d'exemple qu'une page, après avoir été effacée, reçoive une alternance de mots à 0 et de mots à 1, par exemple la séquence suivante dans laquelle les mots sont des octets Dans ce cas, l'algorithme de vérification d'effacement est inhibé pour les cellules mémoire devant recevoir des 25 bits à 1, puisque ces bits forcent les signaux individuels BVOKk à être égaux à 1. Il apparaîtra clairement à l'homme de l'art que la présente invention est susceptible de diverses autres variantes, notamment en ce qui concerne la fonction 30 logique permettant de produire les signaux de vérification d'effacement, les moyens de verrouillage des signaux de vérification d'effacement, le séquencement des cycles de vérification-effacement, etc.. La présente invention est par ailleurs applicable à divers types de 35 mémoires dans lesquelles une opération de programmation comporte des cycles de vérification-programmation. Ainsi, bien que la présente invention ait été initialement conçue pour faciliter le test de vérification d'effacement dans les mémoires série, rien ne s'oppose à ce que l'invention soit également mise en oeuvre dans les mémoires à entrées/sorties parallèles. D'autre part, il appartient à l'homme de l'art de prévoir divers moyens périphériques d'activation et de désactivation de l'algorithme selon l'invention, par exemple un drapeau de mode enregistré dans le registre d'état SREG qui est mis à 1 pour activer l'algorithme de 10 vérification d'effacement ou mis à 0 pour le désactiver. La mise en oeuvre de la présente invention est particulièrement avantageuse dans une mémoire Flash série comprenant des moyens de simulation d'une programmation par page. Une telle mémoire comprend une mémoire tampon 15 interne de type SRAM pour recevoir et de mémoriser en une seule instruction tous les mots binaires d'une page. Le séquenceur assure ensuite la programmation de la page mot par mot, de façon transparente pour l'utilisateur, en lisant la mémoire tampon mot à mot et en enregistrant les 20 mots dans le plan mémoire. Au cours de l'enregistrement d'une page, l'algorithme de vérification selon l'invention peut être activé, en plaçant la mémoire en mode test. Après que l'ensemble de la page est enregistré, l'utilisateur peut consulter le drapeau BVOKs 25 dans le registre d'état pour savoir si au moins un test de vérification d'effacement s'est soldé par un échec ou non. REVENDICATIONS 1. Mémoire effaçable et programmable électriquement (MEM1, MEM2), comprenant des cellules mémoire (FGT) et un dispositif de vérification-programmation (VPCTAk, VPCTBk, G1) agencé pour enregistrer une donnée (Bpk) dans une 5 cellule mémoire en répétant un cycle de vérificationprogrammation jusqu'à ce que la donnée soit enregistrée dans la cellule mémoire, sans excéder N cycles, un cycle de vérificationprogrammation comprenant une étape de lecture (Brk) de la cellule mémoire puis l'application 10 d'une impulsion d'une tension de programmation (VPP) à la cellule mémoire si la donnée (Bpk) à enregistrer présente une valeur logique de programmation (0) et si la donnée lue (Brk) dans la cellule mémoire présente une valeur logique d'effacement (1), caractérisée en ce qu'elle comprend un dispositif de vérification d'effacement (VPCTBk, EVCT, G2, G3, D1) agencé pour: - fournir un signal de vérification d'effacement (DTOKk, BVOKk) ayant une valeur déterminée (1) lorsque la donnée 20 (Brk) lue dans une cellule mémoire au cours du premier cycle de vérification-programmation d'une opération de programmation de la cellule mémoire, présente une valeur logique d'effacement, et - verrouiller le signal de vérification d'effacement 25 avant application de la première impulsion de tension de programmation (VPP) à la cellule mémoire. 2. Mémoire (MEM2) selon la revendication 1, dans laquelle le dispositif de vérification d'effacement 30 (VPCTBk, EVCT, G2, G3, DL1) est agencé pour fournir un signal de vérification d'effacement (DTOKk, BVOKk) ayant ladite valeur déterminée (1) lorsqu'une donnée à enregistrer (Bpk) présente elle-même une valeur logique d'effacement (1). 3. Mémoire (MEM1, MEM2) selon l'une des revendications 1 et 2, comprenant un nombre déterminé (n1) d'amplificateurs de lecture (SA) pour lire simultanément un nombre correspondant de cellules mémoire 5 sélectionnées pendant une opération d'enregistrement de données dans les cellules mémoire sélectionnées, et dans laquelle le dispositif de vérification d'effacement comprend un nombre correspondant de circuits de vérification d'effacement (CONTCT, EVCT), chaque circuit 10 de vérification d'effacement étant relié à un amplificateur de lecture (SA) et fournissant un signal individuel (DTOKk, BVOKk) de vérification d'effacement d'une cellule mémoire ayant ladite valeur déterminée (1) lorsque la donnée lue dans la cellule mémoire au cours du 15 premier cycle de vérification-programmation de la cellule mémoire présente la valeur logique d'effacement (1). 4. Mémoire selon la revendication 3, dans laquelle un circuit (EVCT) de vérification d'effacement comprend 20 une porte logique (G6) recevant sur une entrée la donnée (Brk) lue au cours du premier cycle de vérificationprogrammation de la cellule mémoire, et fournissant le signal individuel de vérification d'effacement (DTOKk). 5. Mémoire selon la revendication 4, dans laquelle la porte logique est agencée pour combiner la donnée (Brk) lue dans la cellule mémoire au cours du premier cycle de vérification-programmation de la cellule mémoire et la donnée (Bpk) à enregistrer dans la cellule mémoire, 30 le signal individuel de vérification d'effacement (DTOKk) étant fonction du résultat de la combinaison. 6. Mémoire selon la revendication 5, dans laquelle la porte logique est de type OU ou NON OU. 35 7. Mémoire selon l'une des revendications 3 à 6, dans laquelle le dispositif de vérification d'effacement comprend un circuit logique (G2, G3) pour collecter l'ensemble des signaux individuels de vérification d'effacement (DTOKk) fournis par les circuits de vérification d'effacement(CONTCT, EVCT), et fournir un 5 signal collectif (BVOK) de vérification d'effacement d'une pluralité de cellules mémoire. 8. Mémoire selon la revendication 7, comprenant des moyens (DL1, VRFYO) de verrouillage de la valeur du 10 signal collectif de vérification avant application de la première impulsion de tension de programmation (VPP). 9. Mémoire selon la revendication 8, comprenant des moyens pour fournir une suite d'impulsions de signaux de 15 vérification (VRFY) appliqués au dispositif de vérification-programmation, et pour fournir un signal (VRFYO) de verrouillage de vérification d'effacement après émission de la première impulsion du signal de vérification. 10. Procédé de test d'une mémoire effaçable et programmable électriquement (MEM1, MEM2), comprenant des cellules mémoire (FGT) et un dispositif de vérificationprogrammation (VPCTAk, VPCTBk, Gl) agencé pour effectuer 25 une opération d'enregistrement d'une donnée (Bpk) dans une cellule mémoire en répétant un cycle de vérificationprogrammation jusqu'à ce que la donnée soit enregistrée, sans excéder N cycles, un cycle de vérificationprogrammation comprenant une étape de lecture (Brk) de la 30 cellule mémoire devant recevoir la donnée puis l'application d'une impulsion d'une tension de programmation (VPP) à la cellule mémoire si la donnée (Bpk) à enregistrer dans la cellule mémoire présente une valeur logique de programmation (0) et si la donnée lue 35 (Brk) dans la cellule mémoire présente une valeur logique d'effacement (1), procédé caractérisé en ce qu'il comprend les étapes suivantes: - fournir un signal de vérification d'effacement (DTOKk, BVOKk) ayant une valeur déterminée (1) lorsque la donnée 5 (Brk) lue dans une cellule mémoire au cours du premier cycle de vérification-programmation d'une opération de programmation de la cellule mémoire, présente une valeur logique d'effacement, et verrouiller le signal de vérification d'effacement 10 avant application de la première impulsion de tension de programmation (VPP) à la cellule mémoire. 11. Procédé selon la revendication 10, comprenant la production d'un signal de vérification d'effacement 15 (DTOKk, BVOKk) ayant ladite valeur déterminée (1) lorsqu'une donnée à enregistrer (Bpk) présente elle-même la valeur logique d'effacement (1). 12. Procédé selon l'une des revendications 10 et 20 11, appliqué à une mémoire comprenant un nombre déterminé (n-1) d'amplificateurs de lecture (SA) permettant de lire simultanément un nombre correspondant de cellules mémoire sélectionnées pendant une opération d'enregistrement de données dans ces cellules mémoire, et comprenant la 25 production d'un nombre correspondant de signaux individuels (DTOKk, BVOKk) de vérification d'effacement pendant l'enregistrement de données dans un nombre correspondant de cellules mémoire. 13. Procédé selon la revendication 12, comprenant la combinaison des signaux individuels de vérification d'effacement (DTOKk) pour fournir un signal collectif (BVOK) de vérification d'effacement d'une pluralité de cellules mémoire. 14. Procédé selon la revendication 13, comprenant le verrouillage du signal collectif de vérification d'effacement avant application de la première impulsion de tension de programmation (VPP).