Brevet FR2828758A1 — publié le 20030221

La présente invention concerne d'une manière générale les circuits intégrés et plus particulièrement des techniques et des circuits pour mémoriser des données dans une mémoire statique à accès direct. Une mémoire statique à accès direct (SRAM) est utilisée dans de nombreux systèmes électroniques pour mémoriser des données numériques sans qu'il soit nécessaire d'effectuer une régénération périodique. Par exemple, l'antémémoire de nombreux systèmes d'ordinateurs est formée d'une mémoire SRAM. Une cellule de mémoire SRAM typique fabriquée en utilisant un processus métal-oxyde-semiconducteur (MOS) avec un seul port de lecture/d'écriture est souvent constituée de six transistors - quatre transistors pour maintenir les données et deux transistors pour chaque port de lecture/d'écriture, utilisés en tant que dispositifs d'accès. Les dispositifs d'accès sont commandés de façon typique par des "lignes de mots" qui s'étendent dans une première direction (par exemple en travers d'une rangée ou dans la direction horizontale lorsqu'on regarde avec une orientation d'une certaine manière) et évacuent/prélèvent des données à partir de "lignes de bits" qui s'étendent dans une direction (par exemple le long d'une colonne ou dans la direction verticale lorsqu'on regarde selon une vue comme décrit précédemment). C'est pourquoi, une cellule SRAM typique requiert une ligne de mots s'étendant dans la direction horizontale pour chaque rangée de cellules de mémoire SRAM, et deux lignes de bits s'étendant dans la direction verticale pour chaque colonne de cellules de mémoire SRAM. Cependant certaines applications spécialisées requièrent qu'une cellule SRAM possède une fonctionnalité en plus d'un seul port de lecture/d'écriture. Une telle application spécialisée implique la mémorisation de "vecteurs de succès physiques" comme cela est décrit dans le brevet U.S. numéro 6 014 732 attribué à Naffziger, qui est incorporé ici par référence. Cette application requiert deux ports de lecture/d'écriture et la possibilité d'effacer l'ensemble d'une colonne de cellules de mémoire SRAM. L'addition d'un autre port d'écriture/de lecture et l'aptitude à effacer une autre colonne augmente le nombre de lignes de mots s'étendant horizontalement et le nombre de lignes de bits s'étendant verticalement. En particulier deux lignes de bits supplémentaires s'étendant verticalement pour le second port de lecture/d'écriture et une ligne "d'effacement" qui s'étend également verticalement est nécessaire pour chaque colonne de cellules de mémoire SRAM. De façon analogue une ligne de mots additionnelle doit s'étendre horizontalement en travers de chaque rangée de cellules de mémoire SRAM. Ceci conduit à ce que le nombre total de lignes s'étendant verticalement sur une cellule de mémoire SRAM donnée est de cinq et que le nombre total de lignes s'étendant horizontalement est égal à deux pour un total de sept lignes s'étendant en travers de chaque cellule de mémoire SRAM. Ce nombre de lignes, en particulier des lignes s'étendant dans la direction verticale, tend à faire augmenter de façon importante la taille de la cellule de mémoire SRAM et de réduire sa fréquence de fonctionnement. C'est pourquoi, il est nécessaire dans la technique d'utiliser une cellule de mémoire SRAM à deux ports comportant une fonction d'effacement de colonnes, qui comporte moins de cinq lignes verticales et moins de sept lignes au total en travers de la cellule. La présente invention fournit une cellule de mémoire SRAM et un réseau qui possède une fonction d'effacement de colonnes, comportant seulement trois lignes verticales et un total de six lignes en travers des cellules, et un procédé pour faire fonctionner cette cellule et ce réseau de cellules. A la place de deux lignes de bits par port et de deux dispositifs d'accès par port provenant d'une cellule de mémoire SRAM traditionnelle, on utilise une ligne de bits et un dispositif d'accès par port. En outre, une ligne additionnelle de bits, une ligne additionnelle de mots et deux dispositifs en série sont utilisés pour exécuter l'opération d'effacement de colonnes et exécuter une opération d'écriture. La cellule fonctionne en exécutant différentes opérations d'écriture moyennant l'utilisation d'un procédé en deux étapes. Pour exécuter une écriture, chaque cellule d'une rangée, dans laquelle doit être effectuée une écriture, est préréglée pendant un premier pas. Ensuite chaque cellule, dans laquelle un zéro doit être écrit, est effacée moyennant l'utilisation de la ligne de bits additionnelle et la ligne de mots additionnelle pour adresser les cellules devant être effacées. On peut effacer une colonne de cellules en autorisant toutes les rangées d'effacement, puis en activant les signaux de commande d'effacement de colonnes pour chacune des colonnes devant être effacées dans le réseau. De façon plus précise, l'invention concerne un procédé d'écriture dans un réseau de mémoire RAM avec des unités d'effacement de colonnes, caractérisé en ce qu'il consiste à : écrire une première valeur logique dans une première rangée d'une pluralité de cellules de mémoire RAM, et activer au moins l'un d'une pluralité de signaux d'effacement de colonnes alors qu'un premier signal d'autorisation d'effacement est actif pour ladite première rangée d'une pluralité de cellules de mémoire. Selon une autre caractéristique de l'invention, le procédé comprend en outre l'activation d'un second signal d'autorisation d'effacement pour une seconde rangée d'une pluralité de cellules de mémoire RAM. Selon une autre caractéristique de l'invention, l'activation dudit au moins un signal parmi ladite pluralité de signaux d'effacement de colonnes alors que ledit premier signal d'autorisation d'effacement est actif, provoque la mémorisation d'une seconde valeur logique dans chaque cellule de ladite rangée de ladite pluralité de cellules de mémoire RAM, qui comporte un signal activé d'effacement de colonne. L'invention concerne en outre un procédé pour écrire dans une pluralité d'éléments de mémoire, caractérisé en ce qu'il consiste à : placer tous les éléments d'une rangée d'un réseau d'éléments de mémoire dans un premier état logique, ledit réseau d'éléments de mémoire étant agencé suivant des rangées et des colonnes, autoriser ladite rangée à répondre à des signaux d'effacement de colonnes, et effacer un sous-ensemble de ladite rangée d'un réseau d'éléments de mémoire dans un second état logique par activation d'une pluralité de signaux d'effacement de colonnes. Selon une autre caractéristique de l'invention, le procédé comprend en outre le fait d'autoriser une pluralité de rangées à répondre auxdits signaux d'effacement de colonnes. Selon une autre caractéristique de l'invention, le procédé comprend en outre l'effacement d'un sousensemble de colonnes de ladite pluralité de rangées pour les amener dans ledit second état logique par activation d'une pluralité de signaux d'effacement de colonnes. L'invention comprend en outre un procédé pour écrire dans un réseau de cellules de mémoire disposé suivant des rangées et des colonnes, caractérisé en ce qu'il consiste à : commander des lignes de données pour chaque colonne dudit réseau de cellules de mémoire pour les placer à une première valeur logique, activer une première ligne d'autorisation pour une rangée dudit réseau de cellules de mémoire, de manière à mémoriser ladite première valeur logique dans chaque cellule d'une pluralité de cellules de mémoire dans ladite rangée dudit réseau de cellules de mémoire, activer une seconde ligne d'autorisation pour ladite rangée dudit réseau de cellules de mémoire, et activer au moins une ligne d'effacement de colonnes pour une colonne dudit réseau de cellules de mémoire, ce qui permet de mémoriser une seconde valeur logique dans au moins l'une de ladite pluralité de cellules de mémoire dans ladite ligne dudit réseau de cellules de mémoire. Selon une autre caractéristique de l'invention, le procédé comprend en outre : l'activation d'une troisième ligne d'autorisation pour une seconde rangée dudit réseau de cellules de mémoire, qui permet de mémoriser lesdites premières valeurs logiques dans chacune d'une seconde pluralité de cellules de mémoire dans ladite seconde rangée desdites cellules de mémoire, et activer une quatrième ligne d'autorisation pour ladite seconde rangée dudit réseau de cellules de mémoire. Selon une autre caractéristique de l'invention, ladite étape d'activation d'au moins une ligne d'effacement de colonne pour une colonne dudit réseau de cellules de mémoire mémorise de ce fait ladite seconde valeur logique dans au moins l'une de ladite seconde pluralité de cellules de mémoire dans ladite seconde rangée dudit réseau de cellules de mémoire. L'invention concerne en outre un procédé pour écrire dans un réseau de cellules de mémoire, qui est agencé suivant des rangées et des colonnes de mémoire, caractérisé en ce qu'il consiste à écrire un premier état logique dans l'ensemble des cellules d'une rangée sélectionnée; et effacer au moins lesdites cellules de ladite rangée sélectionnée en l'amenant dans un second état logique. D'autres caractéristiques et avantages de la présente invention ressortiront de la description donnée ciaprès prise en référence aux dessins annexés, sur lesquels : - la figure 1 est une illustration schématique d'une mémoire SRAM comportant une fonctionnalité d'effacement de colonnes comportant au total six lignes en travers de cette mémoire; - la figure 2 représente un organigramme illustrant un procédé d'écriture de données dans une rangée des cellules de mémoire SRAM représentées sur la figure 1 ; - la figure 3 est un organigramme illustrant un procédé pour effacer au moins une colonne de cellules de mémoire SRAM représentée sur la figure 1. La figure 1 est une illustration schématique d'une mémoire SRAM comportant une fonctionnalité d'effacement de colonnes comprenant un total de six lignes en travers de cette mémoire. Sur la figure 1, des première, seconde et troisième lignes de mots WL1 102, WL2 104, WL3 106 respectivement s'étendent en travers de la cellule dans une première direction. Pour l'illustration, la première direction sera considérée ci-après comme étant la direction horizontale. Les deuxième et troisième lignes de bits BL1 112, BL2 114, BL3 116 respectivement s'étendent en travers de la cellule dans une seconde direction. A des fins d'illustration, on considérera cette direction ci-après comme étant la direction verticale. De même, lorsque les cellules de mémoire SRAM de la f igure 1 sont placées dans un réseau bidimensionnel, les cellules adjacentes entre elles dans la direction horizontale sont désignées comme étant situées dans une ligne et les cellules adjacentes à chaque autre cellule dans la direction verticale seront désignées comme étant situées dans une colonne. Enfin on notera que le nombre total de lignes croisant la cellule est égal à six et que le nombre total dans la direction verticale est égal à trois. Ceci est à comparer avantageusement au nombre total de sept lignes et de cinq lignes verticales dont a besoin une cellule usuelle à deux ports avec effacement des colonnes. Des transistors à effet de champ à canal P (PFET) 120 et 122 et des transistors FET à canal N (NFET) 124 et 126 forment une paire d'inverseurs CMOS couplés selon le couplage croisé, qui agissent en tant qu'élément de mémoire de la cellule SRAM représentée sur la figure 1. Ceci est indiqué uniquement à titre d'illustration. On peut utiliser tout aussi bien un autre type d'élément de mémoire. Par exemple, l'invention peut être utilisée avec des inverseurs NMOS couplés selon un couplage croisé, une bascule bistable formée de portes NON-ET ou de portes NON-OU ou d'autres types d'éléments de mémoire utilisant différentes technologies comme par exemple des cellules de mémoire magnétique et à accès direct (cellules MRAM). Un premier des inverseurs couplés selon un couplage croisé est formé par un transistor PFET 120 et un transistor NFET 124. L'entrée de cet inverseur est le noeud BL et la sortie est le noeud BH. La source du transistor PFET 120 est connectée à la tension d'alimentation positive. Le drain du transistor PFET 120 est connecté au noeud BH, qui est connecté à la grille du transistor PFET 122, la grille du transistor NFET 126, le drain du transistor NFET 124 et le drain du transistor NFET 140. La source du transistor NFET 124 est connectée à la tension d'alimentation négative. Les grilles à la fois du transistor PFET 120 et du transistor NFET 124 sont toutes deux connectées aux drains du transistor PFET 122 et du transistor NFET 126. Un second des inverseurs couplés selon un couplage croisé est formé par le transistor PFET 122 et le transistor NFET 126. L'entrée de cet inverseur est le noeud BH et la sortie est le noeud BL. La sortie du transistor PFET 122 est connectée à la tension d'alimentation positive. Le drain du transistor PFET 122 est connecté au noeud BL, qui est connecté à la grille du transistor PFET 120, à la grille du transistor NFET 124, au drain du transistor NFET 126 et aux drains des transistors NFET 130 et 132. La source du transistor NFET 126 est connectée à la tension d'alimentation négative. Les grilles des deux transistors PFET 122 et NFET 126, sont toutes deux connectées aux drains du transistor PFET 120 et du transistor NFET 124. Le transistor NFET 130 est un premier dispositif d'accès. La porte du transistor NFET 130est connectée à la ligne de mots WL1 102. Le drain du transistor NFET 130 est connecté à la ligne de bits BL1 112. Le transistor NFET 132 est un second dispositif d'accès. La grille du transistor NFET 132 est connectée à la ligne de transmission de mots 104. Le drain du transistor NFET 132 est connecté à la ligne de bits 114. Les transistors NFET 140 et 142 forment une logique d'effacement de colonnes qui fournit la capacité d'effacer la cellule dans le cas d'un adressage correct du point de vue rangée et colonne. La grille du transistor NFET 140 est connectée à la ligne de bits BL3 116. La source du transistor NFET 140 est connectée au drain du transistor NFET 142. La grille du transistor NFET 142 est connectée à la ligne de mots WL3 106. La source du transistor NFET 142 est connectée à la tension d'alimentation négative. Pour lire la cellule représentée sur la figure 1, l'une ou l'autre des lignes de bits 112 et 114 ou ces deux lignes de bits sont préchargées, et le dispositif de précharge est désactivé de telle sorte que des lignes de bits 112 ou 114 sont flottantes à un niveau de précharge. Ensuite, lorsque la ligne de mots 102 et/ou la ligne de mots 104 sont placées au niveau haut, l'un des dispositifs d'accès 130 et 132 ou ces deux dispositifs d'accès sont respectivement placés à l'état passant. Ceci permet à la valeur stockée par l'élément de mémoire en tant que signal de sortie sur le noeud BL de charger et de décharger des lignes de bits 112 ou 114. Les lignes de bits 112 et 114 sont chargées ou déchargées en fonction du niveau de précharge et de la valeur présente sur le noeud BL. Par exemple, si la ligne de bits 112 a été préchargée sur la tension d'alimentation positive et si l'élément de mémoire a commandé BL au niveau bas (c'est-à-dire au niveau de tension d'alimentation négative ou à proximité de ce niveau), alors la ligne de bits 112 est déchargée au moyen du dispositif d'accès 132 et de l'élément de mémoire. Le niveau de tension réduit de la ligne de bits 112 pourrait être lu par l'amplificateur de détection placé dans la ligne de bits. Un autre exemple est celui dans lequel la ligne de bits 112 a été préchargée à une valeur intermédiaire (c'est-à-dire non proche des niveaux positifs ou négatifs de la tension d'alimentation) et l'élément de mémoire a commandé BL à un niveau haut (c'est-à-dire égal ou proche du niveau positif de la tension d'alimentation). Dans ce cas, la ligne de bits 112 est chargée au moyen d'un dispositif d'accès 132 et de l'élément de mémoire. Ce niveau de tension accru dans la ligne de bits 112 est alors lu par un amplificateur de détection dans la ligne de bits 112. On notera que, étant donné qu'il existe deux dispositifs d'accès 130,132 et deux lignes de bits 112, 114, on peut réaliser simultanément deux lectures à partir de la même rangée ou à partir de rangées différentes. Un procédé d'écriture dans une rangée de cellules de mémoire SRAM représentée sur la figure 1 est illustré par un organigramme représenté sur la figure 2. Lors d' un pas 202, des "1" logiques sont écrits dans l'ensemble de la rangée de cellules dans lesquelles une écriture est alors réalisée. Ceci est exécuté par commande au niveau bas de toutes les lignes BL1 112 pour la rangée, alors que la ligne de mots WL1 102 est active. Ceci a pour effet que l'élément de mémoire maintient un zéro logique dans BL et un signal "1" logique dans BH. On notera que pour la cellule représentée sur la figure 1, des lignes de mots WL1 102, WL2 104, WL3 106 et la ligne de lignes BL3 116 sont actives étant donné qu'elles sont commandées au niveau haut (c'est-à-dire commandées vers la tension d'alimentation positive). Lors d'un pas 204, la rangée est validée pour l'effacement. Ceci est exécuté par l'activation de WL3 106. Pour empêcher une contention lors de la commande, lorsque la ligne WL3 106 est activée, les lignes WL1 102 et WL2 104 doivent être désactivées. Lors d'un pas 206, le signal d'effacement de colonnes pour toutes les cellules de la rangée, qui doivent mémoriser des 0 logiques, sont activés. Ceci est exécuté par l'activation de BL3 116 pour les colonnes correspondant à chaque cellule dans la rangée qui doit mémoriser un 0 logique. Par conséquent ceci a pour effet que l'élément de mémoire pour ces cellules amène l'élément de mémoire pour ces cellules à conserver un 1 logique dans BL et un 0 logique dans BH. Un procédé pour l'effacement d'une colonne de cellules de mémoire SRAM représentée sur la figure 1 est illustré par un organigramme représenté sur la figure 3. Lors d'un pas 302, toutes les rangées dans la mémoire SRAM devant être effacée sont validées pour l'effacement. Ceci est exécuté par activation de WL3 pour l'ensemble des rangées devant être effacées. Pour l'effacement de l'ensemble des colonnes, la ligne WL3 pour l'ensemble des rangées doit être activée. Pour effacer des colonnes dans seulement un sous-ensemble de rangées, alors un sous-ensemble de lignes WL3 dans le réseau est activé. Lors d'un pas 304, le signal d'effacement de colonnes est activé pour les colonnes qui doivent être effacées. Ceci est effectué par activation de BL3 116 pour une ou plusieurs colonnes devant être effacées. Bien que l'on ait décrit et représenté une forme de réalisation spécifique de l'invention, cette dernière n'est pas limitée à la forme ou à l'agencement spécifique des éléments, ainsi décrits et représentés. LEGENDES DES FIGURES Figure 1 : Pas de légendes Figure 2 : 202. Ecriture de "1" logiques dans l'ensemble d'une rangée de cellules 204. Validation d'une rangée pour effacement 206. Activation d'un signal d'effacement de colonnes pour toutes les cellules dans la rangée pour mémoriser des "0" logiques Figure 3 : 302. Validation de rangées pour l'effacement 304. Activation du signal d'effacement de colonnes pour toutes les colonnes devant être effacées pour la mémorisation de "0" logiques. REVENDICATIONS 1. Procédé d'écriture dans un réseau de mémoire RAM avec des unités d'effacement de colonnes, caractérisé en ce qu'il comprend les étapes consistant à : écrire une première valeur logique dans une première rangée d'une pluralité de cellules de mémoire RAM (202) , et activer au moins l'un d'une pluralité de signaux (206) d'effacement de colonnes alors qu'un premier signal d'autorisation d'effacement est actif pour ladite première rangée d'une pluralité de cellules de mémoire (RAM). 2. Procédé selon la revendication 1, caractérisé en ce qu'il comprend en outre l'activation d'un second signal d'autorisation d'effacement pour une seconde rangée d'une pluralité de cellules de mémoire RAM. 3. Procédé selon la revendication 1, caractérisé en ce que l'activation dudit au moins un signal parmi ladite pluralité de signaux d'effacement de colonnes alors que ledit premier signal d'autorisation d'effacement est actif, provoque la mémorisation d'une seconde valeur logique dans chaque cellule de ladite rangée de ladite pluralité de cellules de mémoire RAM, qui comporte un signal activé d'effacement de colonne. 4. Procédé pour écrire dans une pluralité d'éléments de mémoire, caractérisé en ce qu'il consiste à : placer tous les éléments d'une rangée d'un réseau d'éléments de mémoire dans un premier état logique (202), ledit réseau d'éléments de mémoire étant agencé suivant des rangées et des colonnes, autoriser ladite rangée à répondre à des signaux (204) d'effacement de colonnes, et effacer un sous-ensemble de ladite rangée d'un réseau d'éléments de mémoire dans un second état logique par activation d'une pluralité de signaux (206) d'effacement de colonnes. 5. Procédé selon la revendication 4, caractérisé en ce qu'il comprend en outre le fait d'autoriser une pluralité de rangées (302) à répondre auxdits signaux d'effacement de colonnes. 6. Procédé selon la revendication 5, caractérisé en ce qu'il comprend en outre l'effacement d'un sousensemble de colonnes de ladite pluralité de rangées pour les amener dans ledit second état logique par activation d'une pluralité de signaux (304) d'effacement de colonnes. 7. Procédé pour écrire dans un réseau de cellules de mémoire disposé suivant des rangées et des colonnes, caractérisé en ce qu'il consiste à : commander des lignes de données pour chaque colonne dudit réseau de cellules de mémoire pour les placer à une première valeur logique, activer une première ligne d'autorisation pour une rangée dudit réseau de cellules de mémoire, de manière à mémoriser ladite première valeur logique dans chaque cellule d'une pluralité de cellules de mémoire dans ladite rangée dudit réseau de cellules de mémoire (202), activer une seconde ligne d'autorisation pour ladite rangée dudit réseau de cellules de mémoire (204), et activer au moins une ligne d'effacement de colonnes pour une colonne dudit réseau de cellules de mémoire, ce qui permet de mémoriser une seconde valeur logique dans au moins l'une de ladite pluralité de cellules de mémoire dans ladite ligne dudit réseau de cellules de mémoire (206) . 8. Procédé selon la revendication 7, caractérisé en ce qu'il comprend en outre : l'activation d'une troisième ligne d'autorisation pour une seconde rangée dudit réseau de cellules de mémoire, qui permet de mémoriser lesdites premières valeurs logiques dans chacune d'une seconde pluralité de cellules de mémoire dans ladite seconde rangée desdites cellules de mémoire, et activer une quatrième ligne d'autorisation pour ladite seconde rangée dudit réseau de cellules de mémoire. 9. Procédé selon la revendication 7, caractérisé en ce que ladite étape d'activation d'au moins une ligne d'effacement de colonne pour une colonne dudit réseau de cellules de mémoire mémorise de ce fait ladite seconde valeur logique dans au moins l'une de ladite seconde pluralité de cellules de mémoire dans ladite seconde rangée dudit réseau de cellules de mémoire. 10. Procédé pour écrire dans un réseau de cellules de mémoire, qui est agencé suivant des rangées et des colonnes de mémoire, caractérisé en ce qu'il consiste à écrire un premier état logique dans l'ensemble des cellules d'une rangée sélectionnée (202); et effacer au moins lesdites cellules de ladite rangée sélectionnée en l'amenant dans un second état logique (206) .