Brevet FR2763738A1 — publié le 19981127

La présente invention concerne de façon générale un dispositif de mémoire de la catégorie générale destinée à 1' équipement électronique embarqué à bord d'un organiseur personnel, d'un téléphone, d'un dispositif de reconnaissance vocale, d'un dispositif à mémoire vocale, d'un ordinateur, etc., et plus précisément un système de mémoire composite d'un dispositif de mémoire à semi-conducteur de type semipermanent appelé "mémoire flash". I1 existe de nombreux types de dispositifs de mémoire, par exemple une mémoire morte à masque, une mémoire morte programmable et effaçable (EPROM), une mémoire flash, etc. La mémoire morte à masque contient des données d'informa- tions de commande, de contrôle, etc. incorporées sous forme grillée en fonction des spécifications des utilisateurs au cours d'un processus de production. En conséquence, la mémoire morte à masque ne permet pas la réécriture des données des informations ainsi formées par grillage, après la production. La mémoire EPROM permet l'effacement des données représentant les informations par irradiation par de la lumière ultraviolette. Cependant, la mémoire EPROM ne permet pas un effacement électrique et une réécriture des données formant les informations. En conséquence, le dispositif de mémoire flash est envisagé pour être utilisé comme dispositif de mémoire dans l'industrie électronique. En conséquence, le dispositif de mémoire flash devient très important pour remplacer les mémoires mortes à masque et les mémoires EPROM. I1 existe, comme dispositif de mémoire effaçable électriquement, une mémoire morte programmable et effaçable électriquement (EEPROM). L'opération d'effacement de cette mémoire classique EEPROM s'effectue en général sur la base du bit. D'autre part, l'opération d'effacement de la mémoire flash s'effectue de façon générale sur la base de bloc. En conséquence, par adoption d'un effacement par bloc ou par bit, le dispositif de mémoire flash est envisagé comme autre mémoire à accès direct dynamique (DRAM) de la prochaine génération parce que l'intégration de la mémoire flash est bien supérieure à celle des mémoires DRAM du marché. En outre, la mémoire flash a obtenu un soutien important des utilisateurs à cause des avantages de la mémoire flash qui permet une réécriture des données sous forme embarquée et qui permet un débogage jusqu'au dernier moment avant 1' expédition. On se réfère à la figure 1 ; une technique classique de système de mémoire comprend une mémoire flash comme matrice unique de mémoire 2. La matrice de mémoire 2 a 4 mégabits et est divisée en plusieurs secteurs. Lorsque les données de l'élément de mémoire sont distinguées sous la commande de l'unité centrale de traitement (non représentée), les données sont effacées successivement par secteur à partir du premier secteur de la matrice 2, ou par secteur à partir de secteurs choisis. Un signal d'adresse A0-A18 est appliqué à un décodeur X 6 et à un décodeur Y 8 par une bascule d'adresse 4. Le décodeur X 6 sélectionne une ligne de mot de la matrice 2 de mémoire. En outre, le décodeur Y 8 sélectionne une ligne de bit de la matrice de mémoire 2 par l'intermédiaire d'un amplificateur 10 d'arrêt et de détection Y. Un générateur 14 d'une tension de programmation crée une tension de programmation pour l'écriture de données dans le dispositif de mémoire 2. Le générateur 16 de tension d'effacement crée une tension d'effacement des données dans le dispositif de mémoire 2. Le générateur 14 de tension de programmation et le générateur 16 de tension d'effacement transmettent la tension de programmation et la tension d'effacement au décodeur X 6, au décodeur Y 8 et à la matrice de mémoire 2. Un circuit tampon d'entrée-sortie 20 et une bascule de données 18 sont utilisés pour l'entrée ou la sortie des données. Une minuterie 22 et un registre 24 de commande du système sont aussi utilisés dans ce système. Le registre 24 de commande du système transmet un signal de validation d'écriture (/WE), un signal de validation de sortie (/OE), un signal de validation de pastille (/CE) et une alimentation en tension Vcc, GND comme signaux de commande. Le signal /WE est un signal de début d'opération d'écriture dans la matrice de mémoire 2. Le signal /OE est un signal de début d'opération de lecture dans la matrice de mémoire 2. En outre, le signal /CE est un signal de sélection du dispositif 1 ou d'un autre dispositif. Comme dans le cas d'une mémoire flash, l'opération d'écriture et l'opération d'effacement nécessitent un long temps par rapport à l'opération de lecture. En conséquence, un dispositif de mémoire est idéal lorsque l'unité CPU ou les autres organes de commande peuvent effectuer l'opération de lecture des données dans la matrice de mémoire 2 lorsque le reste de la matrice de mémoire 2 est écrit ou effacé sur une carte de circuit. Cependant, le dispositif de mémoire 1 tel que représenté sur la figure 1 ne peut pas effectuer le traitement parallèle précité. Une mémoire flash 2 de 4 mégabits de capacité a été utilisée jusqu a présent. Par exemple, lorsque la mémoire flash 2 de capacité normale précitée est installée comme matrice de mémoire et le logiciel a une plus grande dimension, la matrice 2 manque de capacité. En conséquence, si le logiciel de grande dimension est utilisé, le dispositif de mémoire nécessite l'installation d'une mémoire flash de plus grande capacité. Cependant, cette opération augmente le coût d'installation du fait de la mémoire de capacité superflue. En conséquence, il est envisagé d'utiliser le dispositif multiple représenté sur la figure 1 pour la solution du problème précité. En outre, dans ce cas, des économies d'espace ne peuvent pas être réalisées, en plus du coût du montage d'un même dispositif de mémoire en plusieurs exemplaires. Un système concurrent de mémoire flash est décrit dans le document AT29C432 de ATMEL Company. La mémoire flash précitée utilise deux types différents de mémoire EEPROM et flash dans un seul dispositif. Ce système "ATMEL" permet la lecture de données de la mémoire EEPROM pendant l'opération d'écriture dans la mémoire flash du dispositif. Cependant, on s'est rendu compte que le système précité de "ATMEL" nécessitant un effacement de longue durée des données du dispositif de mémoire, car la mémoire EEPROM utilisée par le système "ATMEL" ne permet l'écriture et l'effacement que par bit. Ainsi, un secteur de la mémoire flash a 8 kilooctets et la mémoire EEPROM de "ATMEL" ne permet pas la mémorisation de données relativement grandes, telles que des données vocales, dans un secteur. La mémoire EEPROM nécessite un temps relativement long pour l'opération d'effacement lorsque des données de grande dimension, par exemple des données vocales, etc., sont mémorisées et conservées sur plusieurs secteurs de la mémoire flash. En outre, on s'est rendu compte que ltopération classique d'effacement des données d'une mémoire nécessitait un long temps pour l'effacement d'un secteur. L'opération d'effacement classique est un mode d'effacement d'un seul secteur et un mode d'effacement de plusieurs secteurs. Bien que le mode d'effacement de plusieurs secteurs permette l'effacement d'un certain nombre de secteurs de la mémoire flash, les secteurs choisis sont effacés tour à tour par secteur. Bien que la mémoire flash ait un mode d'effacement discontinu, ce mode d'effacement discontinu permet l'effa- cement des données qu'on ne veut pas effacer. L'invention concerne, pour la solution des problèmes précités, un dispositif de mémoire flash composite qui comprend une matrice de mémoire flash à plusieurs secteurs qui est divisée en plusieurs secteurs constituant une unité minimale d'effacement du dispositif de mémoire flash, et une matrice de mémoire flash conservant les commandes de contrôle de l'ensemble du système du dispositif de mémoire flash composite ou de la seule mémoire flash composite et partageant une ligne d'entrée-sortie de la matrice de mémoire flash à plusieurs secteurs, l'opération d'écriture de la matrice de mémoire flash étant validée lors de l'accès à la matrice de mémoire flash à plusieurs secteurs. Dans un autre aspect, l'invention concerne un tel dispositif à mémoire flash composite qui comporte en outre un sélecteur qui sélectionne un mode d'effacement d'un seul secteur dans lequel les secteurs du dispositif de mémoire flash sont effacés par secteur et un mode d'effacement simultané de plusieurs secteurs qui efface simultanément les secteurs de toute une plage du dispositif de mémoire flash à plusieurs secteurs. D'autres caractéristiques et avantages de l'invention seront mieux compris à la lecture de la description qui suit d'exemples de réalisation, faite en référence aux dessins annexés sur lesquels la figure 1 est un diagramme synoptique d'un système de mémoire classique qui comporte un seul dispositif de mémoire de la technique antérieure la figure 2 est un diagramme synoptique du dispositif de mémoire composite selon l'invention ; la figure 3 représente la structure de la mémoire flash selon l'invention ; la figure 4 est un diagramme synoptique permettant la sélection du mode d'effacement d'un seul secteur dans lequel un seul secteur est effacé ou du mode d'effacement de plusieurs secteurs dans lequel plusieurs secteurs sont effacés, avec le sélecteur du dispositif de mémoire composite selon l'invention ; les figures 5 5(A), 5 (B) et 5 (C) sont des diagrammes synoptiques de principe indiquant la relation entre le bloc du signal de commande et le bloc de données selon la présente invention ; et la figure 6 est un diagramme synoptique du principe de la relation entre le bloc du signal de commande et le bloc de données, les deux blocs se trouvant dans la même zone de mémoire selon la présente invention. On se réfère aux dessins sur lesquels les références numériques identiques désignent des structures correspondantes sur les diverses vues et en particulier à la figure 2 sur laquelle un mode de réalisation préféré de dispositif de mémoire flash composite 100 selon l'invention comprend deux matrices de mémoire flash 12A et 12B ayant des nombres de secteurs différents. La matrice 12A de mémoire flash est destinée à conserver des programmes de commande grâce auxquels une unité centrale de traitement CPU (non représentée) commande l'ensemble du système. La matrice 12A n' est pas divisée en plusieurs secteurs si bien qu'elle a un seul secteur de 4 mégabits. D'autre part, la matrice 12B est destinée à conserver des données, par exemple d'image, vocales, etc., et elle est divisée en 2 560 secteurs, chaque secteur comprenant 128 octets. Dans ce cas, chaque secteur représente l'unité minimale pour l'effacement des données. L'adresse à laquelle sont transmises les données depuis l'extérieur est indiquée à un décodeur X 6 et aussi à un décodeur Y 8 par une bascule d'adresse 4. Comme indiqué précédemment, le décodeur X 6 et le décodeur Y 8 sélectionnent la ligne de mot et la ligne de données entre la mémoire flash 12A et la mémoire flash 12B d'après l'adresse d'entrée. Un accès aux mémoires 12A et 12B peut être sélectionné par commutation entre un signal de validation de mémoire flash de programme (/PFE) et un signal de validation de mémoire flash de données (/DFE). Le signal /PFE permet l'accès à la mémoire flash 12A. Le signal /DFE permet l'accès à la mémoire flash 12B. L'amplificateur de porte et de détection Y 10A, 10B est destiné à détecter et sélectionner la ligne de bit dans les mémoires flash 12A, 12B. L'amplificateur 10A, 10B est connecté au même circuit tampon d'entrée-sortie 20 par une bascule de données 18A, 18B. Un générateur 14 de tension de programmation transmet les tensions de programmation au décodeur X 6, au décodeur Y 8 et aux mémoires flash 12A et 12B pendant l'opération de programmation. De même, un générateur 16 de tension d'effacement transmet les tensions d'effacement au décodeur X 6, au décodeur Y 8 et aux mémoires flash 12A et 12B pendant l'opération d'effacement. Dans ce mode de réalisation, une explication du signal /WE et du signal /OE est omise parce que ces signaux sont les mêmes que dans la technique connue. Cependant, dans le mode de réalisation concerné, on utilise le signal /PFE et le signal /DFE comme variante du signal de validation de pastille (/CE). Un circuit de commande de sortie 30 crée un signal de préparation RY ou un signal d'occupation BY et les transmet à un système hôte non représenté. Le signal RY et le signal BY indiquent si un algorithme automatique est exécuté ou non. Le décodeur X 6 et le décodeur Y 8 sont associés à chaque mémoire flash 12A, 12B pour assurer l'accès à celles-ci. Lorsque l'unité centrale CPU commande une opération d'écriture, l'algorithme d'écriture est exécuté automatiquement. Lorsque l'unité CPU demande une opération d'effacement, elle désigne le dispositif de mémoire flash composite 100 pour indiquer si un secteur ou une plage de secteurs de la matrice 12B est concerné. Le dispositif indiqué 100 effectue automatiquement l'opération d'efface ment d'après le mode d'effacement d'un secteur ou d'une plage de secteurs dans la matrice l2B. Lorsque le mode d'effacement de plusieurs secteurs est sélectionné, le premier secteur sélectionné de la plage est effacé en premier, puis le secteur suivant est effacé successivement jusqu'à ce que le secteur final choisi soit effacé par l'algorithme d' effacement automatique. La sélection entre le signal /DFE et le signal /PFE permet de donner accès à la mémoire 12A qui conserve le logiciel constituant le programme pendant l'opération d'écriture ou d'effacement lorsque la matrice 12B de mémoire est sélectionnée par le signal DFE. Ainsi, l'accès en lecture aux données de la matrice 12A est validé lorsque les données de la matrice 12B sont effacées ou écrites. On se réfère maintenant à la figure 3 ; la matrice 12B a une structure qui comporte plusieurs blocs formés de 64 secteurs chacun, chaque secteur ayant 128 octets. En conséquence, le premier bloc de la matrice 12B forme 8 kilooctets. Dans ce mode de réalisation, le dispositif 100 de mémoire flash composite peut effacer le seul secteur formé de 128 octets, et peut aussi effacer un bloc comprenant 8 kilooctets (64 secteurs) et peut en outre effacer une certaine plage comprenant plusieurs groupes de 8 kilooctets. Dans le cas où le dispositif de mémoire flash composite 100 efface la plage déterminée de secteurs ou de blocs, le premier secteur choisi de la plage est effacé en premier et le secteur suivant est effacé ensuite dans l'ordre des secteurs. On se réfère maintenant à la figure 4 ; un circuit sélecteur 39 est placé dans le dispositif 100 et peut sélectionner deux modes d'effacement. Un premier mode est le mode d'effacement unique qui ne sélectionne qu'un secteur de la mémoire 12B. L'autre mode est un mode d'effacement par bloc dans lequel le bloc unique choisi ou plusieurs blocs correspondant à une plage choisie de la mémoire 12B sont effacés. Un bloc 40 comprend au total 8 kilooctets comprenant 64 secteurs comme indiqué par les références 42-1 à 42-64. Chaque secteur 42-1 à 42-64 est connecté à un transistor MOS dans l'ordre d'application de la tension d'effacement Verase au dispositif de mémoire de chaque secteur. Une électrode de grille de chaque transistor MOS 44-1 à 44-64, est connectée à un circuit NON-OU et à un circuit OU 46-1 à 46-64. Un signal de sélection de secteur et un signal de sélection de bloc sont appliqués à l'électrode de grille de chaque transistor MOS 44-1 à 44-64 par le circuit NON-OU ou le circuit OU 46-1 à 46-64. Lorsque le mode d'effacement par bloc est sélectionné, la commande correspondante est appliquée à un automate programmable 52 par un registre de commande 50. La commande est appliquée successivement aux registres 54 qui correspondent au bloc unique et aux différents blocs de la plage choisie à partir du premier bloc jusqu'au bloc final, comme mémorisé dans les registres 54 de chaque bloc. Lorsque la commande est appliquée aux registres 54 qui correspondent à la plage choisie, un compteur 56 désigne successivement les blocs. Un signal de sélection de bloc est appliqué à chaque bloc par le circuit NON-OU ou le circuit OU 46-1 à 46-64. Enfin, lorsque les blocs sélectionnés reçoivent le signal de sélection de bloc, le bloc unité qui a reçu le signal à son tour effectue l'opération d'effacement. Si le bloc unique est sélectionné, l'opération d'effacement du bloc unique est aussi possible. Lorsque le mode d'effacement d'un secteur est sélectionné, la commande correspondante est appliquée à l'automate programmable 52 par le registre de commande 50. La commande est appliquée successivement aux registres 54 du bloc choisi et est conservée dans les registres 54. Lorsque la commande est appliquée aux registres 54, le compteur 56 désigne le bloc. Le signal du secteur est appliqué au bloc par le circuit NON-OU et le circuit OU 46-1 à 46-64. Enfin, lorsque le bloc choisi reçoit le signal de secteur, l'opéra- tion d'effacement est exécutée. Si plusieurs secteurs du bloc précité sont sélectionnés, l'opération d'effacement de plusieurs secteurs est aussi possible. On se réfère maintenant aux figures 5 5(A), 5 5(B) et 5 5(C), diverses combinaisons étant envisageables par l'utilisateur pour la capacité comprise entre celle de la mémoire flash 12A et celle de la mémoire flash l2B. L'invention permet l'utilisation de diverses combinaisons de capacité entre les mémoires flash précitées. On se réfère maintenant à la figure 5 5(A) ; la mémoire flash 12A qui est divisée en 5 secteurs correspond à 2,5 mégaoctets et la mémoire flash 12B est divisée en 3 secteurs correspondant à 1,5 mégaoctets. La capacité totale de la mémoire est de 4 mégaoctets. La mémoire flash 12A utilise une plage d'adresses allant de 00 à 4FFFF de l'espace d'adresse pour la mémorisation du logiciel de programmation. D'autre part, la mémoire flash 12B utilise une plage d'adresses allant de 00 à 2FFFF pour la mémorisation des données. On se réfère maintenant à la figure 5 5(B) ; la mémoire flash 12A qui est divisée en 8 secteurs comprend 4 mégaoctets et la mémoire flash 12B qui est divisée en 5 secteurs comprend 2,5 mégaoctets. La capacité totale de la mémoire est de 6,5 mégaoctets. La mémoire flash 12A utilise une plage d'adresses allant de 00 à 7FFFF de l'espace d'adresse pour la mémorisation du logiciel de programmation. D'autre part, la mémoire flash 12B utilise une plage d'adresses allant de 00 à 4FFFF pour la mémorisation des données. On se réfère à la figure 5(C) ; la mémoire flash 12A qui est divisée en 14 secteurs correspond à 7 mégaoctets et la mémoire flash 12B qui est divisée en 6 secteurs correspond à 3 mégaoctets. La capacité totale de la mémoire est de 10 mégaoctets. La mémoire flash 12A utilise une plage d'adresses allant de 00 à DFFFF de l'espace d'adresse pour la mémorisation des logiciels de programmation. D'autre part, la mémoire flash 12B utilise une plage d'adresses de 00 à 5FFFF pour la mémorisation des données. La présente invention permet l'utilisation de diverses combinaisons de capacité de mémoires flash 12A et 12B. Comme l'indique la figure 6, l'invention permet l'utilisation de régions à capacité divisée de mémoire flash à la place des mémoires flash 12A et 12B. La mémoire flash unique est divisée en une région de mémorisation de programme et une région de mémorisation de données. La région de mémorisation de programme et la région de mémorisation de données sont affectées à des plages différentes d'adresses dans la mémoire flash unique. L'échange entre la région de mémoire de programme et la région de mémoire de données est réalisé par le signal /PFE et le signal /DFE comme dans le mode de réalisation précédent. Bien entendu, diverses modifications peuvent être apportées par l'homme de l'art aux dispositifs qui viennent d'être décrits uniquement à titre d'exemple non limitatif sans sortir du cadre de l'invention. REVENDICATIONS 1. Dispositif de mémoire flash composite, caractérisé en ce qu'il comprend une matrice de mémoire flash (12B) à plusieurs secteurs qui est divisée en plusieurs secteurs constituant une unité minimale d'effacement du dispositif de mémoire flash, et une matrice de mémoire flash (12A) conservant les commandes de contrôle de l'ensemble d'un système du dispositif de mémoire flash composite et partageant une ligne d'entrée-sortie de la matrice de mémoire flash à plusieurs secteurs, l'opération de lecture de la matrice de mémoire flash étant validée lors de l'accès à la matrice de mémoire flash à plusieurs secteurs. 2. Dispositif de mémoire flash composite, caractérisé en ce qu'il comprend une matrice de mémoire flash (12B) à plusieurs secteurs qui est divisée en plusieurs secteurs constituant une unité minimale d'effacement du dispositif de mémoire flash, et une matrice de mémoire flash (12A) conservant les commandes de contrôle du dispositif de mémoire flash composite et partageant une ligne d'entrée-sortie de la matrice de mémoire flash à plusieurs secteurs, l'opération de lecture de la matrice de mémoire flash étant validée lors de l'accès à la matrice de mémoire flash à plusieurs secteurs. 3. Dispositif selon l'une des revendications 1 et 2, caractérisé en ce que le dispositif de mémoire flash possède un secteur. 4. Dispositif selon l'une des revendications 1 et 2, caractérisé en ce qu'il comporte en outre un sélecteur (39) qui sélectionne un mode d'effacement d'un seul secteur dans lequel les secteurs du dispositif de mémoire flash sont effacés par secteur et un mode d'effacement simultané de plusieurs secteurs qui efface simultanément les secteurs de toute une plage du dispositif de mémoire flash à plusieurs secteurs. 5. Dispositif de mémoire flash composite, caractérisé en ce qu'il comprend une mémoire flash (12B) à plusieurs secteurs destinée à conserver les données et divisée en plusieurs secteurs, un secteur étant une unité minimale d'effacement du dispositif de mémoire flash, et une mémoire flash (12A) destinée à conserver les commandes de contrôle de l'ensemble d'un système du dispositif de mémoire de configuration composite, l'opération de lecture de la mémoire flash étant validée lors de l'accès à la mémoire flash à plusieurs secteurs. 6. Dispositif de mémoire flash composite, caractérisé en ce qu'il comprend une mémoire flash (12B) à plusieurs secteurs destinée à conserver les données et divisée en plusieurs secteurs, un secteur étant une unité minimale d'effacement du dispositif de mémoire flash, et une mémoire flash (12A) destinée à conserver les commandes de contrôle du dispositif de mémoire de configuration composite, l'opération de lecture de la mémoire flash étant validée lors de l'accès à la mémoire flash à plusieurs secteurs. 7. Dispositif selon l'une des revendications 5 et 6, caractérisé en ce que la mémoire flash a un seul secteur. 8. Dispositif selon l'une des revendications 5 et 6, caractérisé en ce qu'il comprend un dispositif sélecteur (39) d'un mode d'effacement d'un seul secteur dans lequel les secteurs de la mémoire flash sont effacés par secteur et un mode d'effacement à plusieurs secteurs simultanés dans lequel les secteurs de la mémoire flash à plusieurs secteurs sont effacés simultanément.