Brevet FR2719939A1 — publié le 19951117

MÉMOIRE NON VOLATILE MODIFIABLE ELECTRIQUEMENT A INTERFACE DE COMMANDE La présente invention concerne une mémoire non volatile modifiable électriquement à interface de commande. Elle s'applique tout particulièrement aux mémoires non volatiles de type flash EPROM. Chaque type de mémoire non volatile a ses caractéristiques propres, notamment en ce qui concerne le mode d'adressage et les possibilités d'écriture. Généralement, une mémoire non-volatile est organisée matriciellement en lignes de bit et lignes de mot, un mot mémoire étant constitué par n cellules mémoires chacune à l'intersection d'une ligne de mot (qui commande la grille de ces n cellules) et d'une ligne de bit (reliée au drain de l'une de ces n cellules mémoires). On distingue principalement les mémoires EPROM, EEPROM et Flash EPROM (ou Flash EEPROM). Les mémoires EPROM sont programmables électriquement (écriture d'un 0 logique). Elles sont adressables par mot, en lecture et en programmation. Elles s'effacent (écriture d'un 0 logique) sous exposition aux rayons W. Les mémoire EEPROM sont à la fois programmables et effaçables électriquement. Elles sont adressables par mot pour tous les types d'accès (lecture, écriture). Les mémoires FLASH EPROM sont à la fois programmables et effaçables électriquement. Mais si l'accès en lecture et programmation (écriture d'un 0) se font par mot, l'effacement porte sur la mémoire toute entière, d'où l'expression "flash" pour exprimer que la mémoire est entièrement effacée, en une seule fois. On ne détaillera pas les technologies correspondantes, sauf à rappeler que la mémoire Flash EPROM est telle que le phénomène physique de programmation utilisé est celui des mémoires EPROM (programmation par électrons chauds) et le phénomène physique d'effacement utilisé est celui des mémoires EEPROM (effet tunnel). Chaque type de mémoire à ses avantages et ses inconvénients, et pour chaque application, il faut déterminer celle qui répond aux besoins. Malheureusement, les besoins de sauvegarde de nombreuses données, de traitement de données en temps réels (qui demande des accès rapides) ou encore de stockage de paramètres déterminés entraîne en pratique la multiplication des circuits mémoire de types différents pour répondre à tous ces différents besoins. Prenons par exemple le cas des mémoires Flash EPROM. Leur accès en lecture est rapide, mais par contre, l'effacement est très long : par exemple, pour une mémoire de 16 mégabits organisée en mot de 16 bits, l'ordre de grandeur du temps nécessaire pour un effacement par rapport au temps nécessaire pour la programmation d'un mot en mémoire est de l'ordre de un (1) pour un million (106). Or, pendant le temps nécessaire pour exécuter une opération sur la mémoire, celle-ci est bloquée et ne peut prendre en compte aucune autre opération, ce qui est très pénalisant pour les utilisateurs, compte tenu des durées en jeu. De plus, l'effacement porte sur la mémoire toute entière. Comment faire pour des paramètres déterminés à conserver en mémoire ? Pour réduire le temps d'effacement et permettre à l'utilisateur de diviser le plan mémoire selon la nature des informations à mémoriser, en particulier selon la fréquence de rafraîchissement ou d'utilisation de ces informations, on a proposé une segmentation du plan mémoire. Cette segmentation qui ne joue que pour l'effacement, permet d'effacer un, ou plusieurs, ou tous les secteurs du plan mémoire. Non seulement la segmentation du plan mémoire permet à l'utilisateur de mieux l'adapter à son application, mais une gestion et une organisation judicieuses lui permettent de réduire le temps moyen consacré à l'effacement dans son application (l'effacement d'un seul secteur est plus rapide). La segmentation du plan mémoire en vue de l'effacement consiste à relier les sources des cellules d'un secteur à un noeud commun de source. L'effacement sélectif consiste à appliquer la tension d'effacement au noeud commun du secteur ou des secteurs que l'on veut effacer. Des moyens d'aiguillage pour x secteurs comportent des portes logiques et des transistors de sélection de secteurs qui permettent, lorsque plusieurs secteurs parmi x sont sélectionnés, de rendre conducteur le transistor de sélection de chacun de ces secteurs, pour appliquer la tension d'effacement au noeud commun de ces secteurs, et de bloquer les transistors de sélection des autres secteurs. Par ailleurs, l'utilisation des mémoires en général et celle des mémoires flash EPROM en particulier, peut se révéler fastidieuse : temps de programmation et d'effacement différents, temps de présentation pour l'adresse, pour la donnée, opérations à répéter en série, par exemple pour la programmation de toute la mémoire avec la même donnée, il faut faire une commande de programmation de cette donnée pour chaque adresse. Ceci est très pénalisant en terme de gestion de la mémoire et de temps d'occupation des bus externes. I1 a alors été proposé une interface de commande, pour limiter au maximum la gestion externe des mémoires. Cette interface de commande est prévue pour recevoir des codes instructions et en conséquence gérer les différentes étapes correspondantes, en interne les bus externes sont libérés. Cependant, tout le temps du traitement d'une instruction, la mémoire est occupée et ne peut traiter d'autres instructions. Or, un utilisateur pourrait avoir besoin d'effacer un secteur et de lire des données dans un autre secteur, par exemple, si une partie de la mémoire contient du code exécutable, et l'autre des données. En pratique, ce n'est pas possible et il est obligé d'utiliser plusieurs circuits mémoires. Prenons ainsi l'exemple d'une mémoire flash EPROM à interface de commande. Une architecture correspondante est représentée sur la figure 1. La mémoire reçoit un bus d'adresse AD et un bus de données DO-D7, une tension d'alimentation logique Vcc (= 5 volts), une haute tension Vpp (~ 12 volts) et la masse électrique (Vss), et des signaux de commande signal de sélection de la mémoire /CE, signal de validation d'écriture /WE et signal de validation de sortie /OE. D'une manière générale, le signal de sélection /CE est activé pour chaque accès au circuit, le signal de validation de sortie /OE est activé à chaque fois que l'on veut lire une donnée sur le bus de données externe DO-D7 et le signal de validation d'écriture /WE, à chaque fois que l'on veut écrire. Au bus de données externe DO-D7 correspondent un bus interne d'entrée de données DE et un bus interne de sortie de données DS. Au bus d'adresse externe AD correspond un bus d'adresse interne BA. La mémoire comporte principalement un plan mémoire 1, un circuit d'adressage, pour sélectionner les lignes de bit, les lignes de mot et les lignes de source du plan mémoire et leur appliquer des niveaux de tension appropriés, un circuit de commutation de tension 3, un registre d'adresse 11, un registre d'entrée de données 13 et un registre de sortie de données 12. Le circuit d'adressage comprend un décodeur d'adresse DEC, un circuit S de commande des lignes de source, un circuit de portes logiques 2 et un circuit d'amplification de lecture et d'écriture 10. Tous ces circuits sont contrôlés par l'interface de commande 4. L'interface de commande 4 comprend essentiellement un circuit de commande 5. Ce circuit de commande est une unité programmée, par exemple de type "PLA" ("programmed logic array", en littérature anglosaxonne). I1 reçoit les signaux de commande de la mémoire et il est connecté au bus interne d'entrée de données DE, pour recevoir des codes de commande. Selon les signaux de commande et le code de commande reçus, il gère les différents circuits de la mémoire pour effectuer une instruction correspondante : lecture, programmation ou effacement, au moyen de signaux de commande transmis aux différents circuits impliqués. L'interface de commande comprend aussi un compteur d'adresse 7, connecté en sortie sur le bus d'adresse interne BA, un compteur de cycles 8 et un compteur de durée 9. Le compteur d'adresse 7 et le compteur de cycles 8 sont initialisés et décrémentés (C7, C8) par le circuit de commande 5. Le compteur de durée 9 est initialisé (Cg) par le circuit de commande et décrémenté par un signal d'horloge (CLK). Le plan mémoire 1 comprend dans l'exemple deux secteurs Scl et Sc2. Mais on rappelle qu'un plan mémoire peut en outre être organisé en divers ensembles et sous-ensembles de manière à simplifier le décodage et à limiter le nombre d'amplificateurs de lecture et d'écriture nécessaires (circuit d'amplification de lecture et d'écriture). Un bus de données de la mémoire BM est connecté entre le circuit de portes logiques 2 qui commande les lignes de bit et un circuit d'amplification de lecture et d'écriture 10. Ce circuit d'amplification de lecture et d'écriture comprend un circuit de lecture R et un circuit d'écriture W. Le circuit de lecture R comprend des amplificateurs de lecture et au moins une cellule de référence de lecture, pour fournir sur le bus de sortie de données un niveau de tension correspondant au courant circulant sur chaque ligne de bit sélectionnée et comparé au courant circulant dans la cellule de référence. Par convention, pour une cellule mémoire programmée pour laquelle on a une tension de seuil de l'ordre de cinq volts, on lit un niveau logique "0" en sortie et pour une cellule mémoire effacée pour laquelle on a une tension de seuil de l'ordre de zéro volt, on lit un niveau logique "1". Le circuit d'écriture W comprend des amplificateurs d'écriture pour fournir une donnée à programmer sur le bus BM de données de la mémoire. Ce circuit d'amplification de lecture et d'écriture 10 est commandé par le circuit de commande 5 par un signal de commande Cm et reçoit par ailleurs un niveau de tension UY. Selon l'instruction du signal de commande Cm, il sélectionne le circuit de lecture ou le circuit d'écriture, et transmet sur le bus de données de la mémoire BM le niveau de tension UY à appliquer aux lignes de bit sélectionnées. Le circuit de portes logiques 2 applique le niveau de tension transmis UY aux lignes de bit sélectionnées et laisse les autres lignes de bit dans un état de haute impédance. En lecture, il transmet le courant véhiculé par les lignes de bit vers les amplificateurs du circuit de lecture R. Pour effectuer des accès en lecture ou écriture, le plan mémoire 1 est contrôlé par un circuit d'adressage qui comprend un décodeur d'adresse DEC, un circuit S de commande des lignes de source, le circuit de portes logiques 2 et le circuit d'amplification de lecture et d'écriture 10 (ces deux derniers circuits 2 et 10 ont déjà été décrits). Le décodeur DEC est connecté au bus d'adresse interne BA qui transmet une adresse issue soit du bus d'adresse externe AD, via un registre d'adresse 11, soit du compteur d'adresse 7 de l'interface de commande 4. I1 reçoit également un signal de commande Cm géré par le circuit de commande 5, la masse Vss et un niveau de tension UX à appliquer aux lignes de mot sélectionnées. Le décodeur DEC comprend un décodeur de lignes de mot DX qui fournit en sortie une sélection de lignes de mot SelX et un décodeur de lignes de bit DI qui fournit en sortie une sélection de lignes de bit SelY. Le cas échéant, le décodeur de lignes de bit DI fournit aussi une selection de secteurs SelS, pour une commande d'effacement. Le circuit S de commande des lignes de source reçoit le signal de commande Cm, un niveau de tension US et la masse Vss. I1 applique l'un ou l'autre niveau de tension sur les lignes de source selon l'instruction transmise par le signal de commande Cm. La sélection de lignes de mot SelX est appliquée directement sur les lignes de mot du plan mémoire 1. Les lignes de mot sélectionnées (en général une seule, sauf en effacement) se voient alors appliquer par la sélection, le niveau de tension UX correspondant à l'instruction transmise sur le signal de commande Cm. Toutes les autres lignes de mot (non sélectionnées) sont mises à la masse Vss. La sélection de secteurs SelS n'est utilisée que pour une instruction d'effacement, pour les mémoires comprenant des secteurs. Elle est transmise au circuit S de commande des lignes de source qui applique le niveau de tension US pour l'effacement aux noeuds de secteurs sélectionnés, et met les autres noeuds de source à la masse (Vss) . Pour les autres instructions (programmation, lecture), le circuit S de commande des lignes de source applique le niveau de tension US (à Vss) sur toutes les sources du plan mémoire. La sélection de lignes de bit SelY est appliquée au circuit de portes logiques 2, qui est connecté comme on l'a vu, au bus de données BM de la mémoire, pour appliquer le niveau de tension Ul aux lignes de bit sélectionnées. En écriture, la sélection des lignes de bit SelY se combine dans le circuit de portes logiques 2 avec la valeur de la donnée à programmer, le niveau de tension UY n'étant transmis par le circuit d'amplification de lecture et d'écriture 10 que sur les lignes de bit pour lesquelles on a un "0" dans la donnée. Enfin, la mémoire comprend un registre 12 de sortie de données et un registre 13 d'entrée de données connectés au bus externe de données D0-D7. Le registre 12 de sortie reçoit le bus interne de sortie de données DS fournit par le circuit d'amplification de lecture et d'écriture 10. Le registre d'entrée 13 contrôle le bus interne d'entrée de données DE, appliqué notamment au circuit d'amplification de lecture et d'écriture 10 et au circuit S de commande des lignes de source. Un circuit de comparaison 14 connecté entre le bus interne d'entrée de données DE et le bus interne de sortie de données DS est aussi prévu. Ce circuit de comparaison comprend deux circuits de maintien (non représentés), l'un comportant la donnée de vérification d'effacement de tous les bits d'un mot (chaque bit forcé à "1") et l'autre la donnée de vérification de programmation de tous les bits d'un mot (chaque bit forcé à "0"). Ce circuit de comparaison est commandé par le circuit de commande 5 qui lui envoie un signal d'ordre de commande Cc approprié et auquel, après chaque comparaison, il renvoie un signal de réponse Cr, qui indique le résultat de la comparaison effectuée. Pour la programmation d'une donnée fournie par le registre 13 d'entrée de données, la comparaison est effectuée entre la donnée lue à l'adresse mémoire programmée et la donnée à programmer lue sur le bus interne d'entrée de données DE. Pour l'effacement, il y a deux comparaisons à effectuer. I1 faut en effet commencer par programmer toute la mémoire (ou tout le secteur) avant de l'effacer ( car sinon, certaines cellules pourraient être déplétées (tension de seuil négative) et conduire même si elles ne sont pas adressées. Pendant l'étape de programmation, le circuit de commande 5 utilise le circuit de comparaison 14 pour comparer la donnée lue pour chaque mot programmé avec la donnée de vérification de programmation (tous les bits à 0). Après l'étape d'effacement proprement dit, le circuit de commande utilise le circuit de comparaison pour comparer la donnée lue pour chaque mot effacé avec la donnée de vérification d'effacement (tous les bits à 1). La mémoire comprend enfin un circuit de commutation de tension 3 qui reçoit dans l'exemple les références de tensions externes Vpp, Vcc et Vss. I1 fournit en sortie les niveaux de tension de source US, de ligne de mot UX et de ligne de bit UY correspondant à la commande de commutation C3 qu'il reçoit du circuit de commande 5. Ces niveaux de tension sont respectivement appliqués au circuit S de commande des lignes de source, au décodeur de ligne de mot DX et au circuit d'amplification de lecture et d'écriture 10. Le fonctionnement d'une telle mémoire va maintenant être expliqué. Pour faire un accès en lecture d'un mot en mémoire, il faut activer le signal de validation d'écriture /WE et présenter un code de commande de lecture sur le bus externe de données D0-D7. Ensuite on présente l'adresse du mot à lire sur le bus d'adresse externe AD, en activant le signal de validation d'écriture. Le circuit de commande 5 mémorise (C11) alors cette adresse dans le registre d'adresse 11 et envoie sur le circuit de commutation 3 une commande de commutation C3 des tensions de lecture, soit UX de l'ordre de cinq volts (Vcc) pour la ligne de mot adressée, UY de l'ordre de un volt pour les lignes de bit adressées et zéro volt pour US (toutes les lignes de source). Puis il envoie une instruction de lecture sur le signal de commande Cm au décodeur DEC, au circuit S de commande des lignes de source et au circuit d'amplification de lecture et d'écriture 10. Le résultat de la lecture est fourni par le registre 12 de sortie de données sur le bus externe de données DO-D7 du circuit, sur commande C12 du circuit de commande 5. Une fois le code de commande de lecture présenté une première fois, on peut faire des lectures successives en activant le signal de validation d'écriture pour chaque nouvelle adresse. La programmation d'une donnée à une adresse mémoire est obtenue en activant le signal de validation d'écriture /WE et en présentant le code de commande de programmation sur le bus externe de données D0-D7. Puis l'adresse du mot à programmer est présentée sur le bus d'adresse externe AD et la donnée à programmer est présentée sur le bus externe de données DO-D7, en activant le signal de validation d'écriture. Le circuit de commande 5 mémorise l'adresse dans le registre d'adresse 11 (commande C11) et mémorise la donnée dans le registre 13 d'entrée de données (commande C13) . La donnée est alors présente sur le bus interne d'entrée de données DE, et en particulier, en entrée du circuit d'amplification de lecture et d'écriture 10 et du circuit de comparaison, qui maintiennent cette donnée en interne dans un registre. Le circuit de commande initialise le compteur de cycles 8 avec le nombre de cycles de programmation autorisés (vingt cinq cycles par exemple) et le compteur de durée 9 avec la durée d'un cycle de programmation (dix microsecondes par exemple). Le circuit de commande envoie sur le circuit de commutation 3 une commande C3 de commutation des tensions de programmation, soit douze volts environ pour UX (ligne de mot sélectionnée), six volts pour UY (lignes de bit sélectionnées) et zéro volt (US) sur toutes les lignes de source. L'adresse est décodée et la donnée à programmer est présentée sur le circuit de portes logiques 10 en entrée de la mémoire. Les lignes de bit et les lignes de mot concernées sont sélectionnées et les niveaux de tension sont appliqués pour un premier cycle de programmation. Quand le compteur 9 de la durée du cycle est revenu à zéro, il envoie un signal d'interruption itl au circuit de commande 5 qui commande la vérification de l'adresse programmée : il fait appliquer les différentes tensions de lecture par le circuit de commutation de tension 3 (commande C3) et envoie une commande Cc de vérification de programmation sur le circuit de comparaison 14. La vérification est effectuée en comparant la donnée à programmer maintenue dans le circuit de comparaison à la donnée lue et fournie sur le bus interne de sortie de données DS. Si le résultat de la comparaison Cr montre une différence, le circuit de commande décrémente le compteur de cycles 8, ré-initialise le compteur de durée 9 et commande un nouveau cycle de programmation-vérification et ainsi de suite. Si le compteur de cycles 8 passe à zéro (it2) et que le résultat de la vérification n'est toujours pas bon, la mémoire est en erreur. Pour chaque nouvelle programmation, il faut présenter à chaque fois le code de commande, l'adresse et la donnée. L'effacement de la mémoire est obtenu en activant le signal de validation d'écriture /WE et en présentant le code de commande d'effacement sur le bus externe de données D0-D7. Le circuit de commande 5 initialise la première étape qui consiste en la programmationvérification de toute la mémoire selon le principe déjà vu. I1 initialise (C7) le compteur d'adresse 7 à zéro et fournit au circuit d'amplification de lecture et d'écriture 10 la donnée à programmer, égale ici à la donnée de vérification de programmation (tous les bits à zéro), et donnée par le circuit de comparaison 14 sur le bus d'entrée de données DE, puis incrémente le compteur d'adresse 7 après chaque programmationvérification. Quand la programmation-vérification est terminée, le circuit de commande 5 remet le compteur d'adresse 7 à zéro (C7) et initialise l'étape d'effacement de toute la mémoire en initialisant (C8) le compteur de cycles 8 avec le nombre de cycles d'effacement autorisés (trois mille cycles par exemple) et initialise (Cg) le compteur de durée 9 avec la durée d'un cycle d'effacement (dix millisecondes). Puis le circuit de commande fait appliquer les tensions d'effacement, soit zéro volt (UX) sur toutes les lignes de mot, dix volts environ (US) sur toutes les lignes de source, toutes les lignes de bit étant mises dans un état de haute impédance. Un premier cycle d'effacement est effectué. A expiration du premier cycle, le compteur de durée 9 envoie un signal d'interruption itl au circuit de commande. Ce dernier lance alors la vérification de l'effacement de la mémoire, en initialisant (C7) le compteur d'adresse 7 à zéro, en faisant appliquer les différentes tensions de lecture par le circuit de commutation de tension 3 (commande C3) et en envoyant ensuite une commande Cc de vérification d'effacement sur le circuit de comparaison 14. La vérification est effectuée en comparant pour chaque adresse mémoire, la donnée lue présente sur le bus interne de sortie de donnée DS à la donnée de vérification d'effacement (tous les bits à un). Si le résultat Cr de la comparaison montre une différence, le circuit de commande décrémente (C8) le compteur de cycles 8, réinitialise (C9) le compteur de durée 9 et commande un nouveau cycle d'effacement, sans modifier le compteur d'adresse 7 : la vérification recommence à partir de la dernière adresse vérifiée mal effacée et ainsi de suite. Si le compteur de cycles passe à zéro (it2) et si le résultat de la vérification n'est toujours pas bon, la mémoire est en erreur. Dans le cas où le plan mémoire est découpé en secteurs, la commande d'effacement d'un (de) secteur(s) comprend l'identification du (des) secteur(s). Le circuit de commande contrôle alors l'adresse de début et de fin de ces secteurs. Dans l'exemple de la figure 1, le plan mémoire comprend deux secteurs Scl et Sc2. On peut donc effacer soit seulement le secteur Scl, soit seulement le secteur Sc2, soit les deux. Les noeuds de sources sl et s2 de ces secteurs sont gérés par le circuit S de commande des lignes de source, qui, en effacement, applique la tension US aux noeuds de source désignés par la sélection SelS. Le fonctionnement décrit montre que la mémoire est bloqué tout le temps que dure un accès, même si le plan mémoire est découpé en secteurs et que l'accès ne porte que sur un secteur. Un objet de l'invention est de permettre des opérations de lecture sur une partie de la mémoire, tandis qu'une autre partie est en train d'être modifiée électriquement (programmée ou effacée). Plus généralement, un objet de l'invention est de permettre l'accès en parallèle à au moins deux parties de la mémoire, de manière à offrir une souplesse maximum aux utilisateurs. Telle qu'elle est caractérisée, l'invention concerne une mémoire à interface de commande comprenant un plan mémoire de cellules non volatiles modifiables électriquement, organisé en lignes de bit et en lignes de mot. Selon l'invention, le plan mémoire comprend au moins deux parties, chaque partie disposant d'un bus d'adresse, d'un circuit d'adressage et d'un bus mémoire de données respectifs pour permettre des accès en parallèle sur au moins deux parties du plan mémoire. Selon une caractéristique de l'invention, chaque partie dispose d'un bus interne d'entrée-sortie de données, le circuit d'adressage d'une partie comprenant un circuit d'amplification de lecture et d'écriture connecté d'une part au bus mémoire de données de ladite partie et d'autre part au bus interne d'entrée-sortie de données de ladite partie. De préférence, chaque partie dispose d'un circuit de comparaison pour l'écriture, connecté entre l'entrée et la sortie du bus interne d'entrée-sortie de données de ladite partie. Avantageusement, la mémoire comprend des circuits à partager entre toutes les parties du plan mémoire, dont un circuit de commutation de tension pour fournir des niveaux de tension appropriés aux différents circuits de chacune des parties du plan mémoire, un circuit de comptage d'adresse pour contrôler le bus d'adresse de chacune des parties du plan mémoire, un registre d'adresse connecté en entrée au bus d'adresse externe de la mémoire et en sortie au bus d'adresse de chacune des parties du plan mémoire et un registre d'entrée de données et un registre de sortie de données connectés entre un bus de données externe et le bus interne d'entrée-sortie de données de chacune des parties. Selon une caractéristique de l'invention, l'interface de commande comprend un registre d'état pour gérer les accès aux différentes parties de la mémoire. Selon une autre caractéristique de l'invention, les cellules mémoire sont des cellules flash Eprom. Chaque partie du plan mémoire selon l'invention peut être organisée en secteurs. L'invention concerne aussi un procédé d'accès à une telle mémoire. D'autres caractéristiques et avantages sont présentés à titre indicatif et non limitatif de l'invention dans la description jointe, faite en référence aux dessins annexés dans lesquels - la figure 1 représente une architecture générale d'une mémoire de l'art antérieur déjà décrite et - la figure 2 représente une architecture générale d'une mémoire selon l'invention. Une architecture de mémoire selon l'invention est représentée sur la figure 2, dans le cas d'une mémoire flash EPROM. Les circuits communs à l'architecture de l'art antérieur et décrits en référence à la figure 1 portent la même référence. Selon l'invention, et en référence à la figure 2, le plan mémoire est divisé en deux parties la et lb. A chaque partie correspond un circuit d'adressage propre comprenant un décodeur, un circuit de commande de lignes de source, un circuit de portes logiques et un circuit d'amplification de lecture et d'écriture comprenant un circuit de lecture et un circuit d'écriture. Dans l'exemple ce sont, dans l'ordre, les circuits référencés DECa, Sa, 2a, 10a, Ra et Wa pour la partie la et les circuits référencés DECb, Sb, 2b, 10b, Rb et Wb. L'interface de commande gère de manière indépendante chacune des parties la et lb et envoie une commande différenciée Cma, Cmb au circuit d'adressage de chaque partie la, lb. Ces circuits sont connectés à des bus internes propres à leur partie : - un bus mémoire de données, BMa (BMb), entre le circuit de portes logique 2a (2b) et le circuit d'amplification de lecture et d'écriture 10a (lOb); - Un bus interne de données d'entrée-sortie Da (Db) connecté au circuit d'amplification de lecture et d'écriture 10a (lOb); - un bus d'adresse interne BAa, (BAb) connecté en entrée du décodeur d'adresse DECa, (DECb). De préférence et comme représenté sur la figure 2, le bus interne d'entrée-sortie de chaque partie comprend un bus interne d'entrée de données DE' qui est commun à toutes les parties et un bus interne de sortie de données propre à chaque partie : DSa pour la partie la et DSb pour la partie lb. Un circuit de comparaison 14a (14b) est prévu pour chacune des parties la (lb), connecté entre le bus interne d'entrée et le bus interne de sortie de données. Chaque circuit de comparaison reçoit de l'interface de commande un signal de commande spécifique à sa partie : Cca ou Ccb et renvoie un signal de réponse Cra ou Crb correspondant à la comparaison effectuée. Le circuit de commutation de tension 3', qui, dans l'exemple est aussi un circuit générateur des niveaux de tension à partir des tensions de référence : haute tension Vpp, tension logique Vcc et masse électrique Vss, fournit les niveaux de tension nécessaires pour chacune des parties: soit UXa, UYa et USa pour la partie la et UXb, UYb, USb pour la partie lb, selon la commande de commutation C3a ou C3b qu'il reçoit de l'interface de commande pour chacune des parties la, lb. Le registre d'entrée d'adresse 11' est connecté au bus de données externe AD de la mémoire et pilote chacun des bus d'adresse des parties de la mémoire, soit dans l'exemple BAa et BAb, en fonction de la commande C1l, qu'il reçoit de l'interface de commande. Le registre de sortie de données 12' est connecté au bus externe de données DO-D7, pour commuter le contenu de l'un des bus internes de sortie de données des parties du plan mémoire, DSa et DSb d comporte plusieurs sorties pour commander une adresse sur l'une des parties la, lb du plan mémoire, c'est à dire sur l'un des bus d'adresse interne BAa ou BAb, sous contrôle du circuit de commande. L'interface de commande 4' peut prendre en compte un nouveau code de commande présenté sur le bus interne d'entrée de données DE' en relation avec les signaux de commande externe de la mémoire /OE, /WE, /CE, même si un accès est en cours. Notamment, en programmation, le circuit de comparaison et le circuit d'écriture de chaque partie mémorisent la donnée à programmer en début de cycle, pour libérer le bus interne de données DE'. Enfin, l'interface de commande selon l'invention comprend un registre d'état 15 géré par le circuit de commande 5' pour mémoriser une information correspondant à un accès sur une partie de la mémoire. Dans un exemple, ce registre d'état mémorise pour chaque partie si un accès est en cours et la nature (lecture ou écriture ) de cet accès. Dans un autre exemple, le registre d'état mémorise quelles parties sont accédées, et si on a un accès en écriture, pour mettre le cas échéant en attente (ou refuser) un nouvel accès en écriture ou un accès sur une partie en train d'être accédée. Une telle architecture permet d'accéder parallèlement aux différentes parties du plan mémoire en parallèle, sans gêner le déroulement de l'un ou l'autre accès. En pratique un code de commande est présenté sur le bus externe de données DO-D7, qui indique le type d'accès, lecture ou écriture et l'identification de la partie. Dans le cas présent d'une mémoire flash EPROM il faudra préciser en même temps ou ultérieurement s'il s'agit d'un effacement ou d'une programmation. Le circuit de commande 5' va alors écrire une information dans le registre d'état 15 indiquant le type d'accès : lecture ou écriture et l'identification de la partie accédée. On peut prévoir de mémoriser une information identifiant les parties accédées et une information indiquant qu'un accès en écriture est en cours. Ensuite, le déroulement de l'instruction se fait comme déjà décrit dans l'état de la technique, sauf en ce que le circuit de commande gère en parallèle le jeu de commandes et les circuits spécifiques des parties accédées, et les nouvelles demandes d'accès. Par exemple, pour une commande de lecture sur la partie la, il envoie une commande de commutation C3a de lecture pour cette partie, il commute l'adresse dans le registre d'adresse sur le bus dradresse interne BAa de cette partie, active le circuit de comparaison 14a (C14) de cette partie et commute (commande C12,) le résultat de la lecture véhiculé par le bus interne de sortie de données DSa de cette partie sur le bus externe de données DO-D7. Dans le cas d'un accès en écriture sur une partie, il gère outre les circuits et bus propres à la partie accédée, les compteurs de cycle 8, de durée 9, et le cas échéant le circuit de comptage d'adresse 7' (pour un effacement : écriture d'un "1"). Ces circuits sont mobilisés, tout le temps de l'accès. Supposons maintenant qu'un accès en écriture est en cours sur la partie lb, une information correspondante étant mémorisée dans le registre d'état 15. Une nouvelle demande d'accès se présente. Si c'est une autre demande d'accès en écriture sur une partie de la mémoire qui est demandée sur l'interface de commande, elle va être refusée ou mise en attente, jusqu'à ce que l'accès en écriture sur la partie lb soit terminé, c'est à dire jusqu'à ce que l'information correspondante dans le registre d'état 15 soit effacée par le circuit de commande 5', le circuit de comptage d'adresse 7', le compteur de cycle 8 et le compteur de durée 9 pouvant alors être réinitialisés pour un nouvel accès en écriture à une partie quelconque de la mémoire. Si c'est une demande d'accès en lecture sur une partie de la mémoire, elle est acceptée si cette partie n'est pas accédée. Si le plan mémoire comprend plus de deux parties, par exemple trois parties, on peut avoir, à un moment donné un accès en écriture (programmation ou effacement) sur une partie, et un accès en lecture sur une deuxième partie et un autre accès en lecture sur une troisième partie. En effet, l'accès en lecture ne met en jeu que des circuits spécifiques aux parties, excepté le registre de sortie de données 12. Pour ce registre, il n'y a pas de risque de collision entre deux accès en lecture successifs sur deux parties différentes, car le circuit de commande 5' gère ces accès au moment de la commutation du résultat de la lecture sur le bus externe de données DO-D7. On voit ainsi que l'on peut selon l'invention, classer les types d'accès en deux catégories l'écriture, qui ne peut être mise en oeuvre que sur une seule partie à un moment donné, et la lecture qui peut être mise en oeuvre sur plusieurs parties à un moment donné. D'autres options peuvent être retenues comme celle d'avoir un bus interne d'entrée par partie de la mémoire, ou un bus interne d'entrée pour l'interface de commande. On peut aussi choisir d'empêcher certains types d'accès sur certaines parties de la mémoire, selon les besoins des utilisateurs (par exemple, ne permettre que des accès en lecture sur la deuxième partie). I1 est à noter que l'interface de commande 4' avec son registre d'état 15 selon l'invention permet des configurations multiples, qui permettent aisément d'adapter le circuit mémoire à des applications particulières en mémorisant des informations de configuration des parties du plan mémoire dans le registre d'état, tout en gardant la même architecture mémoire : les mémoires sont fabriquées en série et la configuration logicielle de l'interface de commande selon l'invention permet de les adapter aux applications. Onpeut ainsi prévoir un code de commande pour indiquer dans le registre d'état les seuls accès autorisés sur certaines parties de la mémoire. On peut aussi prévoir qu'un même accès en écriture, programmation ou effacement puisse concerner plusieurs parties à la fois : effacement d'une ou plusieurs parties à la fois, avec gestion indépendante par l'interface de commande au sein de chaque partie, mais avec gestion d'adresse commune; écriture à une même adresse relative dans deux parties différentes d'une même donnée (en considérant qu'une adresse comprend une adresse de partie et une adresse relative dans cette partie). Toutes ces adaptations sont du domaine de l'invention, qui s'applique d'une manière générale aux mémoires non volatiles à interface de commande et aux circuits intégré contenant de telles mémoires. REVENDICATIONS 1. Mémoire à interface de commande comprenant un plan mémoire (1) de cellules non volatiles modifiables électriquement, organisé en lignes de bit et en lignes de mot, caractérisée en ce que ledit plan mémoire comprend au moins deux parties (la, lb), chaque partie (la) disposant d'un bus d'adresse (BAa), d'un circuit d'adressage (DECa, Sa, 2a, 10a) et d'un bus mémoire de données (BMa) gérés par l'interface de commande (4') pour permettre des accès en parallèle sur au moins deux parties du plan mémoire. 2. Mémoire selon la revendication 1, caractérisée en ce que l'interface de commande (4') comprend un registre d'état (15) pour indiquer, pour chacune des parties du plan mémoire, si un accès est en cours. 3. Mémoire selon la revendication 2, caractérisée en ce que l'interface de commande (4') comprend un registre d'état (15) pour indiquer si un accès en écriture est en cours. 4. Mémoire à interface de commande selon l'une quelconque des revendications précédentes, caractérisée en ce que chaque partie (la) dispose d'un bus interne d'entrée-sortie de données (Da), le circuit d'adressage d'une partie comprenant un circuit d'amplification de lecture et d'écriture (lOa) connecté d'une part au bus mémoire de données (BMa) de ladite partie et d'autre part au bus interne d'entrée-sortie de données (Da) de ladite partie. 5. Mémoire à interface de commande selon la revendication 4, caractérisée en ce que chaque partie (la) dispose d'un circuit de comparaison (14a) connecté entre l'entrée et la sortie du bus interne d'entrée-sortie de données (Da) de ladite partie. 6. Mémoire à interface de commande selon la revendication 4 ou 5, la mémoire étant connectée à un bus d'adresse externe (AD) et un bus externe de données (DO-D7), caractérisée en ce qu'elle comprend des circuits gérés par l'interface de commande (4') et partagés entre toutes les parties du plan mémoire, dont un circuit de commutation de tension (3') pour fournir des niveaux de tension appropriés au circuit d'adressage de chacune des parties du plan mémoire, un circuit de comptage d'adresse (7') pour contrôler le bus d'adresse interne (BAa, BAb) de chacune des parties (la, lb) du plan mémoire, un registre d'adresse (11') connecté en entrée au bus d'adresse externe (AD) de la mémoire et en sortie au bus d'adresse (BAa, BAb) de chacune des parties du plan mémoire et un registre d'entrée de données (13) et un registre de sortie de données (12') connectés entre le bus externe de données (DO-D7) et le bus interne d'entrée-sortie de données (Da, Db) de chacune des parties. 7. Mémoire à interface de commande selon la revendication 4, 5 ou 6, caractérisée en ce que le bus interne d'entrée-sortie (Da, Db) de chacune des parties se compose d'un bus interne d'entrée de données (DE') commun à toutes les parties du plan mémoire et d'un bus interne de sortie de données propre (DSa, DSb) à chacune des parties (la, lob), tous les bus internes de sortie de données étant connectés au registre de sortie de données (12') de la mémoire, ce registre de sortie de données étant commandé (C12,) par l'interface de commande (4') pour transmettre à un moment donné le contenu de l'un des bus de sortie de données (DSa, DSb) sur le bus externe de données (DO-D7) de la mémoire. 8. Mémoire à interface de commande selon la revendication 7, caractérisée en ce que l'interface de commande (4') comprend un circuit de commande (5') qui reçoit des signaux de commande externes (/WE, /OE, /CE) et qui est connecté au bus interne d'entrée de données (DE') commun à toutes les parties pour recevoir des codes de commande et pour gérer les différents circuits de la mémoire. 9. Mémoire à interface de commande selon l'une quelconque des revendications précédentes, caractérisée en ce que les cellules mémoire sont des cellules flash Eprom. 10. Mémoire à interface de commande selon l'une quelconque des revendications précédentes, caractérisée en ce que chaque partie (la) comprend un ou plusieurs secteurs (Scl, Sc2). 11. Circuit intégré caractérisé en ce qu'il contient une mémoire selon l'une quelconque des revendications 1 à 10. 12. Procédé d'accès dans une mémoire à interface de commande comportant un plan mémoire (1) de cellules mémoire non volatiles, modifiables électriquement, caractérisé en ce que le plan mémoire est divisé en au moins deux parties (la, lb) et en ce que le procédé consiste à chaque accès à une partie du plan mémoire, à mémoriser une information correspondante pour gérer l'accès en parallèle à d'autres parties. 13. Procédé selon la revendication 12, caractérisé en ce qu'il consiste, pour un accès en écriture, à mémoriser une information correspondante. 14. Procédé selon la revendication 13, caractérisé en ce qu'il consiste à n'autoriser à un momment donné qu'un seul accès en écriture.