Brevet FR2802012A1 — publié le 20010608

MÉMOIRE DRAM RAPIDE La présente invention concerne le domaine des mémoires, et plus particulièrement les mémoires dynamiques (DRAM) à struc ture rapide. Les mémoires dynamiques (DRAM) sont largement utilisées. En effet, elles présentent le gros avantage 'avoir une densité de stockage importante. Cependant, elles présentent l'inconvénient 'être lentes en temps d'accès. Aussi, cherche- on à minimiser ce temps d'accès ou, ce qui revient au même, d'utiliser la mémoire façon à masquer ce temps d'accès. Dans la demande de brevet français intitulée "DRAM à structure rapide" déposée le 26.03.98 sous le numéro 98/04008, la demanderesse s'est attachée à trouver une solution à ce problème elle propose une mémoire dynamique DRAM associée à deux registres de cache situés entre le plan mémoire de la et un système utilisateur. Dans une autre demande de brevet français, intitulée "Procédé de commande de mémoire DRAM rapide et contrôleur adapté" et déposée le 19.11.99 sous le numéro 99/146 demanderesse décrit un procédé et un contrôleur pour commander la DRAM précé dente. La figure 1 représente une mémoire DRAM ce type. En figure 1, une mémoire dynamique DRAM 1 comprend un plan mémoire 2, un décodeur ligne 3 commandé par des signaux de commande (RAS -Row Address Strobe-, RAD -Row ADddress-, RWB -Row Write Back-) et un décodeur colonne 4 commandé par des signaux (CAS -Column Address Strobe-, -Column ADdress-, R/W - Read/Write-). La mémoire 1 comporte également une entrée DIN et une sortie DOUT permettant l'écriture et la lecture de données. La mémoire 1 comporte en outre deux registres de cache A et B, situés entre le plan mémoire et le décodeur colonne. La présence de ces registres de cache A et B permet, lorsqu'un des registres de cache est en communication avec le plan mémoire, d'inscrire ou de lire des données dans l'autre registre. I1 en résulte un masquage du temps d'accès au plan mémoire. Si les salves de requêtes concernant une même page sont assez longues, on pourra obtenir en sortie un débit continu de données. Aussi, si les salves (on désigne par "salve" une suite de requêtes concernant la même page -burst en anglais-) sont assez longues, on pourra effectuer un rafraîchissement de la mémoire de façon entièrement masquée. Un inconvénient de la structure de la figure 1 est que, si la durée moyenne des salves est faible, le débit de sortie n'est pas continu. Un autre inconvénient de structure de la figure 1 est que deux accès au plan mémoire sont nécessaires lors d'une écriture. En effet, il est d'abord nécessaire de charger la page à modifier dans un registre de cache à partir du plan mémoire. Ensuite, après modification de la page contenue dans le registre de cache, il faut réécrire la page modifiée dans le plan mémoire, ce qui nécessite un nouvel accès au plan mémoire. Dans ce cas, pour que le débit de sortie reste ininterrompu, les salves doi vent avoir une durée au moins égale à celle de deux cycles d'accès au plan mémoire, et, si une commande de rafraîchissement est en outre introduite, une durée d'au moins trois cycles d'accès au plan mémoire. La présente invention vise à surmonter ces inconvé nients. Un objet de la présente invention est de prévoir circuit de mémoire dynamique DRAM présentant un temps d'acces amelioré. Un autre objet de la présente invention est de prévoir un circuit de mémoire dynamique DRAM et un procédé de commande du circuit permettant d'obtenir un gain de temps important pour toutes les salves, qu'elles soient longues (par exemple une page entière de mots) ou courtes. Un autre objet de la présente invention est de prévoir un circuit de mémoire dynamique DRAM et un procédé de commande du circuit permettant l'obtention en sortie d'un débit continu données, comme dans le cas d'une SRAM. Un autre objet de la présente invention est de prévoir un circuit de mémoire dynamique DRAM et un procédé de commande du circuit permettant l'écriture d'une mémoire DRAM avec un seul accès au plan mémoire. Un autre objet de la présente invention est de prévoir un circuit de mémoire dynamique DRAM et un procédé de commande du circuit permettant de diminuer la durée minimum des salves per mettant la délivrance ininterrompue de données par une mémoire Pour atteindre ces objets ainsi que d'autres, la sente invention prévoit un circuit de mémoire dynamique à accès aléatoire (DRAM) comprenant un plan mémoire constitué d'un réseau de cellules mémoire organisées en lignes et en colonnes, un décodeur ligne et un décodeur colonne, chaque ligne du plan mémoire correspondant à une page de mots. Le circuit de mémoire comporte au moins deux registres de cache couplés au plan mémoire permettant la lecture de mots d'une page de la mémoire et/ou l'écriture de mots nouveaux dans une page de la mémoire, et plusieurs moyens de repérage, chacun des moyens de repérage étant couplé à un des registres de cache propre à assurer une écriture dans la mémoire, et indiquant la position, dans la page, des mots nouveaux à écrire de la mémoire. Selon un mode de réalisation de la présente invention, chacun des registres de cache est adapté à stocker une page de mots complète. Selon un mode de réalisation de la présente invention, les registres de cache sont situés entre le plan mémoire et le décodeur de colonne. Selon un mode de réalisation de la présente invention, chacun des moyens de repérage est un registre comportant autant de bits qu'il y a de mots dans une page. Selon un mode de réalisation de la présente invention, le nombre de registres de cache est égal à quatre, deux registres de cache servant à la lecture, les deux autres registres de cache servant à l'écriture, et dans lequel le nombre de moyens de repérage est égal à deux, chacun des moyens repérage étant couplé un des deux registres de cache utilisés pour l'écriture. Selon un mode de réalisation de la présente invention, le nombre de registres de cache est égal à trois, lesdits registres de cache étant utilisables indifféremment pour la lecture ou l'écriture et dans lequel le nombre de moyens de repérage est égal à trois, chacun des moyens de repérage étant couplé un des registres de cache. Selon un mode de réalisation de la présente invention, le nombre de registres de cache est égal à deux, lesdits registres de cache étant utilisables indifféremment pour la lecture ou l'écriture et dans lequel le nombre de moyens de repérage est égal à deux, chacun des moyens de repérage étant couplé à un des registres de cache. L'invention prévoit aussi un procédé de commande de circuit de mémoire dynamique à accès aléatoire (DRAM) comprenant un plan mémoire constitué d'un réseau de cellules mémoire orga nisées en lignes et en colonnes, chaque ligne correspondant à une page de mots, un décodeur ligne, un décodeur colonne et au moins deux registres de cache couplés au plan mémoire en lecture et/ou écriture. Le procédé comprend, en écriture, les étapes suivantes a) recevoir une requête pour écrire un nouveau mot dans la mémoire, comportant une adresse de ligne correspondant à la page du nouveau mot, une adresse de colonne correspondant à la place dans la page du nouveau mot, et ledit nouveau mot, la requête faisant partie d'une suite de requêtes, b) stocker le nouveau mot à écrire dans un des registres de cache propre à assurer une écriture, c) repérer la place du nouveau mot à l'aide d'un moyen de repérage couplé audit registre de cache, d) répéter les étapes b), c) tant que la requête sui vante reçue est une requête d'écriture concernant la même page, et e) lorsque la requête suivante reçue cesse d'être une requête d'écriture concernant la même page, transférer dans le plan mémoire lesdits nouveaux mots stockés dans ledit registre de cache à l'aide dudit moyen de repérage, le transfert ayant lieu dès que possible si ladite requête suivante reçue est une requête d'écriture concernant une page différente, et le transfert étant différé si ladite requête suivante reçue est une requête de lecture. Selon un mode de réalisation de la présente invention, dans le cas d'une lecture portant sur une page comportant des mots nouveaux en attente d'écriture stockés dans un premier registre de cache, le procédé comprend les étapes suivantes charger, à partir du plan mémoire, la page considérée dans un second registre de cache propre à assurer une lecture, fournir pour lecture un ou plusieurs mots souhaités, le ou lesdits mots provenant dudit premier registre de cache si ce sont des mots nouveaux se trouvant en attente d'écriture, et le ou lesdits mots provenant dudit second registre de cache dans le cas contraire. Selon un mode de réalisation de la présente invention, dans le cas d'une lecture portant sur une page comportant des mots nouveaux en attente d'écriture stockés dans un premier registre de cache, le procédé comprend l'étape suivante charger un second registre de cache propre à assurer une lecture avec les mots de la page considérée, ces mots prove nant dudit premier registre de cache si ce sont des mots nouveaux se trouvant en attente d'écriture, et provenant du plan mémoire dans le cas contraire. Ces objets, caractéristiques et avantages, ainsi que d'autres de la présente invention seront exposés en détail description suivante de modes de réalisation particuliers faite à titre non-limitatif en relation avec les figures jointes ' lesquelles la figure 1, déjà décrite, représente une structure l'art antérieur ; les figures 2A et 2B représentent des structures sche- matiques de mémoires DRAM selon la présente invention ; la figure 3 représente un mode de réalisation détaillé présente invention, correspondant à la DRAM de la figure la figure 4 représente un chronogramme illustrant le fonctionnement du mode de réalisation de la figure 3 ; la figure 5 représente une variante du mode de réalisa tion de la figure 3 ; la figure 6 représente un autre mode de réalisation detaillé de la présente invention, correspondant à la DRAM de la figure 2B ; et la figure 7 représente une variante du mode de réalisa tion de la figure 6. On notera que, dans toutes les figures, les mêmes signes de référence sont utilisés pour désigner des éléments correspondants. Les figures 2A et 2B illustrent des mémoires DRAM, res pectivement 10 et 20 selon la présente invention. L'architecture des mémoires 10 et 20 reprend l'architecture de la mémoire 1 de la figure 1 et les éléments correspondants sont désignés par les mêmes signes de référence. En figure 2A, la ire DRAM 10 caTporte quatre registres de cache A, B, C, D. Ces registres de cache, comme on le verra plus tard, peuvent tous être en communication avec le plan mémoire et sont reliés à au moins une des bornes d'entrée DIN ou de sortie DOUT de la mémoire 10. Ils sont situés entre le plan mémoire 2 et le décodeur colonne 4. En figure 2B, la mémoire 20 présente la même architec ture que la mémoire 10 de la figure 2A, mais elle ne comporte que trois registres de cache A, B, C. Ces registres de cache peuvent aussi être tous en communication avec le plan mémoire, et sont reliés à au moins une des bornes d'entrée DIN ou de sortie DOUT de la mémoire 20, et sont situés entre le plan mémoire 2 et le décodeur colonne 4. L'avantage de placer les registres de cache entre le plan mémoire et le décodeur de colonne permet de stocker dans ceux-ci une ligne de mots complète, c'est-à-dire une page complète. On notera néanmoins que cette caractéristique n'est pas essentielle. Les registres de cache peuvent très bien être placés après le décodeur de colonne sans sortir du domaine de la pré sente invention. Cela présente l'inconvénient que le nombre maximal de bits pouvant être stockés dans chacun des registres de cache ne peut pas être supérieur au nombre de bits présents à la sortie du décodeur de colonne et une page complète ne peut alors pas être stockée dans un registre de cache. On va maintenant décrire des modes de réalisation par ticuliers de la présente invention. On notera que ceux-ci sont donnés à titre d'exemple seulement, et que toute modification à la portée de l'homme du métier fait partie du domaine de l'inven tion. La figure 3 illustre de façon détaillée l'architecture à quatre registres de cache de la figure 2A. Deux registres de cache A et B servent à la lecture exclusivement. Le registre de cache A est couplé au bus 45 d'accès au plan mémoire par une porte de transfert 52 commandée par un signal de commande d'entrée de registre A. La sortie du registre de cache de lecture A reliée à une porte de transfert 54 qui couple le registre de cache A à la sortie de données DOUT, permettant la lecture des mots souhaités. De même, le registre de cache B de lecture est couplé au bus 45 d'accès au plan mémoire par une porte de trans fert 56 commandée par un signal de commande d'entrée de registre B et sa sortie est couplée à la sortie de données par l'intermédiaire d'une porte de transfert 58. Les portes de transfert 54 et 58 sont commandées respectivement par des circuits logiques 59 et 59' permettant la lecture des registres de cache A et B. Les deux registres de cache C et D servent l'écri ture. Une borne de sortie du registre de cache d'écriture C est couplée d'une part au bus 45 d'accès au plan mémoire par une porte de transfert 60 et d'autre part à la sortie DOUT par une porte de transfert 62. Une borne d'entrée du registre C est couplée à l'entrée DIN par une porte de transfert 64, l'entrée DIN permettant l'entrée des mots nouveaux à écrire dans la mémoire. La porte de transfert 60 est commandée par une porte ET 66 recevant en entrée une commande de réécriture du registre C. La porte de transfert 64 est commandée par un signal commande d'entrée de registre C et la porte de transfert 62 est commandée par une porte ET 68, recevant en entrée un signal de lecture du registre C. De façon similaire, une borne de sortie du registre de cache d'écriture D est reliée à une porte de transfert 70 pour la communication avec le bus 45 d'accès au plan mémoire et à une porte de transfert 72 pour la communication avec la sortie DOUT de données. Une borne d'entrée du registre de cache D est reliée à une porte de transfert 74 pour la communication avec l'entrée de données DIN. La porte de transfert 70 est commandée par une porte ET 76 et la porte de transfert 72 est comnnandée par une porte ET 78, les portes 76 et 78 recevant respectivement en entrée un signal de commande de réécriture de registre D et un signal de lecture de registre D. La porte de transfert 74, quant à elle, est commandée par un signal de commande d'entrée de registre D. La structure de la figure 3 comprend aussi deux registres 80 et 82 pour repérer la place, dans la page, des mots nouveaux à écrire dans la mémoire. La sortie du registre 80 commande les portes ET 76 et 78, et la sortie du registre 82 commande les portes ET 66 et 68. Chacun des registres 80 et 82 comporte autant de bits qu'il y a de mots. On notera que, dans la présente inven tion, le terme "mot" n'est pas utilisé dans un sens limitatif, et désigne simplement un ensemble de bits traités ensemble. Ainsi, si la mémoire utilise un découpage en octets, le terme "mot" désignera un ensemble de huit bits, c'est-à-dire un octet. Les registres indicateurs 80 et 82 peuvent être remis à zéro globalement par un contrôleur mémoire (non représenté) au moyen d'une commande (non représentée également) pour chacun des registres indicateurs. Chaque fois qu'un nouveau mot est chargé dans l'un des registres de cache en vue de son écriture, le bit correspondant à ce mot est mis à "1" dans le registre 80 ou 82 correspondant au registre de cache en cours d'écriture. Ainsi, contrairement à l'art antérieur, le registre de cache ne contient que les mots nouveaux d'une page, et non la page complète. Le fonctionnement du mode de réalisation suivant la figure 3 va maintenant être expliqué. Dans le cas d'une écriture, il est tout d'abord néces saire de charger un registre de cache d'écriture (de préférence, celui qui n'a pas été utilisé la fois précédente) avec les nou veaux mots de la page. Comme on l'a vu, le registre correspondant indicateur de la place des nouveaux mots repère, par la place des bits mis à "1", la place des mots à écrire dans la page. Lors d'un accès au plan mémoire en vue de la réécriture de la page, la porte de transfert 60 ou 70 est validée pour les seuls mots nouveaux (sortie du registre indicateur égale à "1") et seul le contenu des mots nouveaux dans la page est transféré dans le plan mémoire. En ce qui concerne les autres mots de la même page, l'amplificateur de lecture faisant partie des amplificateurs 44 de lignes de bits (SENSE AMP) n'est forcé par aucun signal venant de l'un des registres de cache (porte de transfert 60 ou 70 bloquée) et l'équilibre des tensions fait le mot subit un rafraîchissement, ce qui constitue un avantage qui sera rappelé par la suite. Lorsque tout le contenu du registre de cache a été transfére dans le plan mémoire, le contrôleur mémoire remet à zéro le contenu du registre indicateur de place des mots nouveaux correspondant. Ainsi, dans le cas d'une écriture 'avantage de la structure de la figure 3 est double : d'une , seul un accès au plan mémoire est nécessaire et, d'autre part un rafraîchis sement mots non modifiés de la page est effectué automatiquement. des requêtes d'écriture concernant des pages dif férentes se suivent, le contrôleur inscrit les données concernant une nouvelle page dans le registre de cache d'ecriture qui est libre commande, pendant ce temps, la réécriture de l'autre registre de cache d'écriture dans le plan mémoire. Dans le cas d'une lecture, si la page à lire, la page X par exemple, n'est pas déjà présente dans un registre de cache de lecture ou B, il faut d'abord un accès au plan mémoire pour charger cette page dans un des deux registres de lecture, de préférence le registre de lecture qui n'a pas été utilisé la dernière fois, par exemple le registre de cache A. Une fois le registre chargé, le plan mémoire est à nouveau disponible pour une autre opération et il reste isolé du registre de cache de lecture on peut alors lire toutes les données souhaitées de la page X considérée, et, tant que les requêtes du système utilisa teur concerneront des mots à lire dans la page X, les données à lire seront directement disponibles en sortie du registre de lecture Cet accès est rapide, les registres cache étant des mémoires à accès rapide. Dans le cas où survient une requête lecture concer nant une autre page, la page Y par exemple, cette page va être chargée du plan mémoire dans le registre de cache de lecture qui n'a pas été utilisé la fois précédente, à savoir le registre B. Le contrôleur mémoire permettra ensuite l'accès aux données de la page Y, stockée dans le registre de lecture B. Dans le fonction nement tel que décrit jusqu'à présent en cas de requête de lecture, le système se comporte de la même manière que dans le cas de la figure 1. On va maintenant décrire le cas où une salve de lecture (formée d'une ou de plusieurs requêtes) suit une salve d'écriture (formée également d'une ou de plusieurs requêtes). Si la salve de lecture qui suit la salve d'ecriture concerne une page différente, le contrôleur mémoire, qui détecte une transition écriture-lecture associée à un changement d'adresse de page, commande un accès au plan mémoire pour charger la page à lire dans le registre de cache de lecture qui ' a pas été utilisé par la précédente salve de lecture. Le transfert du registre de cache d'écriture dans le plan mémoire est alors retardé jusqu'à ce que la mémoire ne soit plus occupée par l'accès en lecture. Bien entendu, tant que le transfert vers le plan mémoire n'est pas fait, le registre de cache d'écriture conserve les mots nouveaux, le registre indicateur de la place des mots nouveaux correspondant à ce registre d'écriture n'est pas remis à zéro et le contrôleur mémoire garde la trace que ce registre d'écriture n'a pas été transféré, ainsi que l'adresse de la page concernée. On va maintenant envisager le cas où une salve de lec ture (formée d'une ou de plusieurs requêtes) suit une salve d'écriture (formée également d'une ou de plusieurs requêtes), la salve de lecture concernant la même page que la salve d'écriture. Ce cas est traité grâce à la structure de la présente invention de manière originale sans nécessiter de temps supplémentaire. En effet dans ce cas, le contrôleur commande le transfert de la page considérée dans un des caches de lecture à partir du plan mémoire. Supposons que ce soit le cache A. La page transférée dans le registre de cache A est la page non encore modifiée. En effet, un des deux registres de cache d'écriture (supposons que ce soit le registre C) contient les mots nouveaux et le registre 82 associé C contient le repère de la place des mots nouveaux, le contenu du registre C n'ayant pas encore été transféré dans le plan mémoire. Pour traiter ce cas sans perte de temps, le contrô leur fournit un signal, lorsque la page est disponible en lecture, indiquant que le registre d'écriture concerné C contient des mots nouveaux de la même page que celle du registre de lec ture A, et il commandera les portes de transfert 54 et 62 de sorte que, si le mot à lire ne correspond pas à un mot nouveau fourni par la précédente salve d'écriture, le mot est lu dans le registre de cache de lecture, et, si le mot à lire correspond à un mot nouveau de la précédente salve d'écriture, il est lu dans le registre de cache d'écriture. On voit ainsi que, même lorsque la requête de lecture concerne une page dont certains mots, nouveaux, se trouvent dans un registre de cache et n'ont pas été encore transférés dans le plan mémoire, le procédé selon la présente invention évite un accès supplémentaire au plan mémoire, d'où il résulte un gain de temps. Par ailleurs, comme précédem ment, le contenu du registre d'écriture sera transféré dans le plan mémoire, et son registre indicateur de la place des mots nouveaux sera remis à zéro lorsque le plan mémoire sera à nouveau accessible. La figure 4 représente un chronogramme illustrant un exemple de fonctionnement du circuit de mémoire de la figure 3. Cet exemple n'est en rien limitatif et a seulement pour but, par la présentation concrète de quelques cas, de rendre moins abstrait le fonctionnement du circuit de la figure 3. En figure 4, une ligne CK illustre 24 périodes, allant des instants 1 à 25, d'une horloge pilotant le circuit de la figure 3. La ligne suivante illustre un signal CAS-En (Column Address Strobe - Enable) qui, en combinaison avec l'horloge CK produit le signal CAS d'adresse de colonne, qui échantillonne les adresses présentées par les requêtes. Ces adresses sont représen tées à la ligne suivante, ADD, où le symbole "@A0" signifie "adresse du mot 0 de la page A, "@B1" signifie "adresse du mot 1 de la page B, etc ... La ligne suivante illustre le signal R/W porté par la requête, indiquant si le mot de l'adresse indiquée est lire (dans l'exemple fourni, si R/W est 1) ou à écrire (ici, si R/W est à 0) . L'examen des lignes ADD et R/W nous indique que, dans l'exemple donné, les requêtes comportent d'abord trois salves comportant chacune quatre adresses de mots à écrire, suivies de deux salves de mots à lire de quatre adresses chacune, puis une salve de quatre adresses de mots à écrire. Le fait que, dans l'exemple présent, il n'y ait que des salves de quatre mots n'est pas limitatif, chaque salve pouvant avoir, comme on l'a vu, un nombre quelconque de mots, sans relation aucune avec le nombre de mots des salves voisines. De plus, les termes "mot 011, "mot 1", etc... sont utilisés pour repérer l'ordre des requêtes, et ne correspondent pas, sauf cas dû au hasard, à la position des mots dans la page ou à un ordre croissant de ces mots, les requêtes successives d'une salve pouvant porter sur des mots dont l'ordre dans la page est quelconque. Lorsque des mots nouveaux doivent être écrits, l'entrée DIN du circuit mémoire comporte les données DAO, DA1, ..., DC2, DC3, et DFO, ..., DF3 correspondant à des mots à écrire aux adresses respectives CAO, @A1, ..., @C2, @C3 et @DFO, ..., @DF3. Le signal RAS indique les accès au plan mémoire. Lorsque le plan mémoire n'est pas accédé, le signal RAS se trouve à un niveau haut, correspondant à un niveau de précharge indiqué par PR en figure 4. Lorsque le plan mémoire est accédé, le signal RAS passe à un niveau bas et un échange de données peut avoir lieu entre le plan mémoire et un des registres de cache. Dès que le transfert a eu lieu, le plan mémoire est isolé des registres de cache et le signal RAS retourne à son niveau de précharge. Les quatre lignes suivantes, D, C, B et A illustrent le fonctionnement des registres de cache, les registres de cache C et D serrant, rappelons le, uniquement à l'écriture, et les registres de cache A et B uniquement à la lecture. Au temps t1, compris entre les instants 1 et 5, les données DAO à DA3 sont inscrites dans l'un des deux registres de cache d'écriture, libre à cet instant, ici le registre D. Aucun accès au plan mémoire n'a lieu pendant cet intervalle de temps. Au temps t2, compris entre les instants 5 et 9, on a d'une part les données DBO DB3 de la salve courante qui sont inscrites dans le registre de cache d'écriture C, qui n'a pas été utilisé la fois précédente, et, d'autre part, le transfert dans le plan mémoire des données de la page A qui sont stockées dans le registre de cache D. Cela est illustré par le symbole WAD, sur la ligne du signal RAS, qui signifie "réécriture dans le plan mémoire de la page A en provenance du registre D". Au temps t3 (entre les instants 9 et 13), on a d'une part l'écriture dans le registre de cache D qui vient de se libérer de la page C de la salve courante, et, d'autre part, la réécriture dans le plan mémoire de la page B en provenance du registre de cache C, ce qui est illustré par le symbole WBC. Si les requêtes suivantes étaient des requêtes d'écriture, le pro cessus précédent continuerait sans interruption, un des registres de cache recevant les mots nouveaux des requêtes courantes, l'autre des registres de cache transférant pendant ce temps, dans le plan mémoire, les données précédemment reçues. A l'instant 13, la requête courante est une requête de lecture, suivie d'autres requêtes de lecture jusqu'à l'instant 20. Ces requêtes de lecture forment, dans l'exemple non limitatif représenté, deux salves de lecture, comprenant chacune quatre requêtes et concernant respectivement les pages D et E. Dans le procédé de la présente invention, l'accès au plan mémoire qui commence à l'instant 13 ne sert pas à réécrire dans le plan mémoire les mots nouveaux stockés en attente de réécriture, ce qui provoquerait une perte de temps, mais est utilisé pour charger la page à lire, D, dans un des registres de cache de lecture, ici le registre B. Cela est représenté sur la ligne RAS par le symbole CDB, signifiant chargement, à partir du plan mémoire, de la page D dans le registre B. Le chargement du registre B est terminé à l'instant 15, et la lecture du registre B va être effectuée pendant la durée t'4, allant des instants 15 à 19. La sortie DOUT du circuit de la figure 3 présente, avec un cycle d'horloge de retard, les mots 0 à 3 à lire de la page D, représentés par les symboles QDO, QD1, QD2 et QD3 sur la ligne DOUT de la figure 4. A l'instant 17, un accès au plan mémoire est possible, et la page E est chargée du plan mémoire dans le registre de cache de lecture disponible, c'est- -dire le registre A. Cela est représenté par le symbole CEA sur la ligne RAS. Le contenu de la page E est disponible à l'instant 19, et la lecture des mots à lire E0, ..., E3 est effectuée pendant la durée t'5, allant des instants 19 à 22, les mots à lire n'étant effectivement présents sur la sortie DOUT qu'aux instants 20 à 22 (symboles QEO, QE1, QE2 et QE3). Par ailleurs, pendant la durée t'5, le registre de cache de lecture B est libre et si d'autres salves de lecture s'étaient présentées, on aurait eu le chargement du registre de cache B pendant la lecture du registre C, et ainsi de suite. A l'instant 21, cependant, dans l'exemple représenté, apparaît une salve d'écriture concernant la page F. Un accès au plan mémoire va avoir lieu à l'instant 21 et, lors de la durée t6, allant des instants 21 à 25, les mots nouveaux à écrire dans la page F vont être inscrits dans le registre de cache d'écriture qui est libre, à savoir le registre C, ce qui est représenté par le symbole wCD au niveau du signal RAS. En effet, le registre D contient toujours les nouveaux mots à écrire de la page C et, depuis la fin de la durée t3, c'est-à-dire pendant les durées t4 et t5 allant des instants 13 à 21, le plan mémoire a toujours été occupé dans l'exemple représenté et cette page n'a pas pu être réécrite dans le plan mémoire. C'est ainsi pendant la durée t6 que les mots nouveaux de la page C, en attente de réécriture dans le registre de cache D, vont être transférés dans le plan mémoire. on voit ainsi que, dans le procédé de la présente invention, si une requête de lecture suit une requête d'écriture, on traite d'abord la requête de lecture, la réécriture dans le plan mémoire ayant lieu par la suite, et, dans l'exemple repré senté, lors de la requête d'écriture suivante. On notera à nouveau que la figure 4 n'illustre que quelques exemples d'utilisation du circuit de la figure 3 et que tous les cas possibles n'ont pas été illustrés. En particulier, en figure 3, toutes les salves sont de même longueur et leur durée correspond à un temps d'accès (plus précharge) du plan mémoire, alors que, bien entendu, aucun de ces aspects n'est essentiel et a même peu de chances de se produire en pratique. Egalement, le cas où une requête d'écriture est suivie d'une requête de lecture concernant la même page, les mots nouveaux de ladite page n'ayant pas encore été transférés dans le plan mémoire, n'est pas envisagé en figure 4, ce cas ayant été largement envisagé précédemment. La figure 5 illustre une variante du mode de réalisa tion de la figure 3, permettant justement un traitement différent du cas où une salve d'écriture (formée d'une ou de plusieurs requêtes) est suivie d'une salve de lecture (formée également d'une ou de plusieurs requêtes) portant sur la même page. Dans cette variante, plus simple à mettre en oeuvre, au moment du chargement de la page de lecture dans le registre de cache de lecture, le contrôleur fait en sorte que, si les mots à lire ne correspondent pas à des mots nouveaux de la précédente salve d'écriture, les mots écrits dans le registre de cache de lecture proviennent du plan mémoire et, dans le cas contraire, le mot écrit dans le registre de cache de lecture provient du registre de cache d'écriture considéré. De cette manière, les lectures par un système utilisateur se font toujours dans un des registres de cache de lecture A et B et sont de ce fait simplifiées. On voit ainsi qu'en figure 5, à la différence de la figure 3, les registres de cache d'écriture C et D ne sont pas reliés à la sortie de données DOUE. Cette variante de réalisation simplifie aussi la structure, les portes de transfert 62 et 72 et leur gestion étant devenues inutiles, mais des circuits logiques supplémentaires (porte de transfert 94, porte OU 90 et porte NON OU 92) sont requis pour bloquer, par l'intermédiaire de la porte de transfert 94, le bus d'accès 45 au plan mémoire. Ainsi, lors- que les données a inscrire dans le registre de cache de lecture proviennent d'un registre de cache d'écriture, la porte de trans fert 94 est bloquée et le bus d'ampli 45, isolé du plan mémoire, reçoit les données dudit registre de cache d'écriture, qui sont transmises au registre de cache de lecture correspondant. La figure 6 illustre un autre mode de réalisation de la présente invention. Dans ce mode de réalisation, il y a trois registres de cache A, B, C, chaque registre serrant indifférem ment à la lecture ou à l'écriture. Ces registres comportent chacun une entree couplée d'une part au bus 45 d'accès à la mémoire, et d'autre part à l'entrée de données DIN. La sortie de chacun des registres de cache est couplée à la sortie DOUT de données et au bus d'accès 45. Le chargement des données du plan mémoire, via le bus d'accès 45, dans chacun des registres de cache A, B, C est effectué par l'intermédiaire d'une porte de transfert, respectivement 100, 101 et 102. Le chargement du contenu de chacun des registres de cache A, B, C dans le plan mémoire via le bus d'accès 45 est effectué par l'intermédiaire d'une porte de transfert, respecti vement 105, 106 et 107. Egalement, une porte de transfert, respectivement 110, 111 et 112 couple l'entrée de chacun des registres de cache A, B, C à l'entrée DIN de données et une porte de transfert, respectivement 115, 116 et 117, couple la sortie de chacun des registres de cache A, B, C à la sortie de données DOUT. Chacun des registres de cache A, B, C étant susceptible d'être utilisé en écriture, chacun des registres de cache est relié à un registre, respectivement 120, 121 et 122, indicateur de la place des mots nouveaux à écrire. La fonction des registres 120, 121 et 122 est semblable à celle des registres 80 et 82 de la figure 3. Enfin, divers circuits logiques 130, 133 non décrits dans le détail servent à la commande des portes de transfert et permettent le cheminement adéquat des données. Le fonctionnement de la structure de la figure 6 est en grande partie identique à celui de la figure 3. Cependant, les registres de cache sont ici interchangeables et il est possible de transférer le contenu d'une page du plan mémoire dans l'un quelconque des registres de cache. I1 est également possible de transférer le contenu de l'un quelconque de ces registres de cache vers le plan mémoire. On peut également écrire depuis l'entrée Dl--N de la DRAM dans l'un quelconque des registres de cache et on peut lire à la sortie DOUT de la DRAM à partir de l'un quelconque de ces registres. Les registres de cache étant interchangeables, il est avantageux d'établir un ordre de priorité d'utilisation des registres de cache. Ainsi, on pourra établir que, si le registre A est libre, le contrôleur choisira le registre A. Si A est occupé, le contrôleur choisira B si ce dernier est libre, et si aucun des registres A et B n'est libre, il choisira le registre C. En figure 6 comme en figure 3, les registres 120, 121, 122, indicateurs de la place des mots nouveaux, contiennent un nombre de bits correspondant au nombre de mots pouvant être inscrits dans chacun des registres de cache, leur bit étant mis à un lorsque le cache correspondant fonctionne en écriture et qu'il s'agit d'un mot nouveau à écrire. On a vu en relation avec la figure 3, qu'il pouvait y avoir un problème dans le cas où une page se trouve dans un des registres de cache avec des mots nouveaux en attente de transfert vers le plan mémoire, et que se présente une requête de lecture de cette même page. En figure 6, ce problème est résolu d'une façon simi laire à celle de la figure 3, à savoir que, lors de la lecture, le mot fourni à la sortie DOUT est lu dans le registre de cache chargé à partir du plan mémoire par la page non encore modifiée si le mot n'est pas un mot nouveau, et, si le mot est un mot nouveau, présent dans un autre registre de cache en attente de réinscription, il est lu dans cet autre registre de cache. Comme en figure 3, l'inscription ultérieure du registre de cache conte nant les mots nouveaux se fait lors d'un prochain accès au plan mémoire. La figure 7 illustre une variante du mode de réalisa tion de figure 6. Cette variante de réalisation correspond la variante de réalisation de la figure 5 et illustre une autre façon de résoudre le problème de lecture d'une page, lorsque cette même page comporte des mots nouveaux présents dans un premier registre de cache et se trouvant en attente d'écriture dans le plan mémoire. La solution retenue est la même qu'en figure 5. Une porte de transfert 140 bloque l'accès du bus 45 d'accès au plan mémoire. La porte de transfert 140 est commandée par un ensemble de circuits logiques 142, 144. Ainsi, si une requête de lecture survient qui concerne une page se trouvant dans un premier registre de cache en attente d'écriture dans le plan mémoire, un second registre de cache utilisé en lecture est chargé par des mots du plan mémoire si ces mots ne correspondent pas à des mots nouveaux en attente d'écriture et par des mots du premier registre de cache dans le cas contraire. L'avantage de disposer de quatre registres de cache différenciés comme dans le cas des figures 3 et 5, ou de trois registres de cache indifférenciés comme dans le cas des figures 6 et 7 est permettre une grande souplesse d'utilisation et un débit de sortie ininterrompu pour des salves de durée plus faible que dans l'art antérieur. Néanmoins, une structure où deux registres de cache seulement sont présents, comme en figure 1, coopérant avec deux registres indicateurs de la place des mots nouveaux est aussi avantageuse et permet de supprimer un accès au plan mémoire dans le cas d'une écriture. Une telle structure fait partie du domaine de l'invention. Deux modes de réalisation d'une telle structure sont facilement dérivables respectivement des figures 6 et 7, en supprimant tout ce qui concerne le registre C, et ne sont pas illustrés. Le fonctionnement de ces modes de réalisation est similaire à celui des figures 6 et 7, respectivement, et ne sera pas décrit plus en détails. Bien que moins performants en termes de souplesse et de gain de temps que les modes de réalisation des figures 3, 5, 6 et 7, ces modes de réalisation présentent des avantages par rapport à l'art antérieur de la figure 1. Ainsi, la présence des registres indicateurs de la place des mots nouveaux permet un gain de temps en écriture, car un chargement préalable de la page à écrire n'est plus nécessaire. En fait, un circuit selon la présente invention à deux caches seulement offre les mêmes avantages que les circuits des figures 3, 5, 6 et 7 dans le cas d'une suite de salves d'écriture (concernant donc des pages différentes), ou dans le cas d'une suite de salves de lecture (concernant donc également des pages différentes). Par contre, le circuit à deux registres de cache selon l'invention est moins performant en termes de temps par rapport aux circuits à trois ou quatre registres de cache selon l'invention, lorsque l'on passe d'une salve d'écriture à une salve de lecture, sauf si la salve de lecture est assez longue, ce qui n'est pas le cas général. En pratique, si des salves de lecture suivent une requête d'écri ture, on chargera à partir du plan mémoire la page concernée par la première salve de lecture dans le registre de cache qui est libre et ne contient pas les mots nouveaux à réécrire dans le plan mémoire. Le transfert dans le plan mémoire des mots nouveaux stockés dans le registre de cache utilisé pour l'écriture aura lieu dès que le plan mémoire sera à nouveau accessible, donc juste après le chargement de la première salve de lecture, pour libérer le registre de cache utilisé lors de l'écriture, afin de pouvoir utiliser ce registre pour le chargement de la page concernée par la deuxième salve de lecture. Dans tous les modes de réalisation, on aura intérêt à grouper les requêtes de lecture et les requêtes d'écriture, pour obtenir des salves suffisamment longues afin de masquer les temps d'accès à la mémoire. Par ailleurs, dans tous les modes de réalisation, le transfert dans le plan mémoire de mots nouveaux contenus dans un registre de cache assure de manière automatique le rafraÎchis- sement des mots non modifiés de la page considérée. En effet, comme cela est décrit en relation avec la figure 3, lorsque la commande de réécriture est activée, seul le contenu des mots dont le bit correspondant du registre indicateur de la place des mots nouveaux est à "1" est transféré vers les amplificateurs de ligne de bit 44 (SENSE AMP) connectés au bus d'accès 45, les amplifica teur 44 forçant l'information sur la ligne de bits du plan mémoire. Dans le cas d'un mot non modifié, le bus d'accès 45 reste en haute impédance, et, l'équilibre des tensions au niveau des amplificateurs 44 rafraîchit automatiquement l'information présente sur la ligne de bits (donc de la cellule mémoire sélec tionnée). On notera en outre que, dans la présente invention, les adresses d'une salve sont des adresses quelconques de mots d'une page donnée, l'ordre de ces adresses important peu. En effet, le contrôleur permettant d'accéder de manière rapide et indépendante à chaque mot de la page stockée, les adresses de ces mots n'ont nul besoin d'être consécutives ou de suivre un ordre quelconque pour être traitées efficacement. Bien entendu, la présente invention est susceptible de diverses variantes et modifications qui apparaîtront à l'homme de l'art. En particulier, il est possible de modifier les modes de réalisation des figures 6 et 7 (et leur équivalent dans le cas de deux registres de cache seulement) en remplaçant chacun des couples de portes unidirectionnelles de transfert, respectivement 100/105, 101/106 et 102/107 par une porte de transfert bidirec tionnelle unique reliée à une borne de chacun des registres de cache et au bus d'accès 45, l'homme du métier adaptant sans peine les circuits logiques de commande des portes unidirectionnelles pour commander cette porte bidirectionnelle unique, ainsi que la structure des registres de cache, qui devront avoir au moins une borne permettant l'entrée et la sortie de données. REVENDICATIONS Circuit de mémoire dynamique à accès aleatoire (DRAM) comprenant un plan mémoire (2) constitué d'un réseau de cellules memoire organisées en lignes et en colonnes, un decodeur ligne (3) et un décodeur colonne (4), chaque ligne du plan mémoire correspondant à une page de mots, caractérisé en qu'il comporte au moins deux registres de cache (A, B, C, D) couplés au plan mémoire permettant la lecture de mots d'une page de la mémoire et/ou l'écriture de mots nouveaux dans une page de la mémoire, plusieurs moyens de repérage (80, 82, 120, 122), chacun moyens de repérage étant couplé à un des registres de cache propre à assurer une écriture dans la mémoire, indiquant la position, dans la page, des mots nouveaux à écrire de la mémoire. Circuit de mémoire selon la revendication , dans lequel chacun des registres de cache (A, B, C, D) adapté à stocker page de mots complète. 3. Circuit de mémoire selon la revendication 1, dans lequel registres de cache (A, B, C, D) sont situés entre le plan mémoire et le décodeur de colonne. Circuit de mémoire selon la revendication 1, dans lequel chacun des moyens de repérage (80, 82, 120, 121, 122) est un registre comportant autant de bits qu'il y a de mots une page. Circuit de mémoire selon la revendication , dans lequel le nombre de registres de cache est égal à quatre, deux registres cache (A, B) servant à la lecture, les deux autres registres de cache (C, D) servant à l'écriture, et dans lequel le nombre de moyens de repérage est égal à deux, chacun moyens de repérage (80, 82) étant couplé à un des deux registres de cache (C, D) utilisés pour l'écriture. 6. Circuit de mémoire selon la revendication 1, dans lequel le nombre de registres de cache est égal à trois, lesdits registres de cache (A, B, C) étant utilisables indifferemment pour la lecture ou l'écriture et dans lequel le nombre de moyens de repérage est égal à trois, chacun des moyens de repérage (120, 121 122) étant couplé à un des registres de cache (A, B, C). 7. Circuit de mémoire selon la revendication 1, dans lequel le nombre de registres de cache est égal à deux, lesdits registres de cache (A, B) étant utilisables indifféremment pour la lecture ou l'écriture et dans lequel le nombre de moyens de reperage est égal à deux, chacun des moyens de repérage étant couplé à un des registres de cache (A, B). 8. Procédé de commande de circuit de mémoire dynamique à accès aléatoire (DRAM) comprenant un plan mémoire (2) constitué d'un réseau de cellules mémoire organisées en lignes et en colonnes, chaque ligne correspondant à une page de mots, un décodeur ligne (3), un décodeur colonne (4) et au moins deux registres de cache (A, B, C, D) couplés au plan mémoire en lec ture et/ou écriture comprenant, en écriture, les étapes suivantes a) recevoir une requête pour écrire un nouveau dans la mémoire, comportant une adresse de ligne correspondant à la page du nouveau mot, une adresse de colonne correspondant à la place dans la page du nouveau mot, et ledit nouveau mot, la requête faisant partie d'une suite de requêtes, b) stocker le nouveau mot à écrire dans un des registres de cache propre à assurer une écriture (A, B, C, D), c) repérer la place du nouveau mot à l'aide d'un moyen de repérage (80, 82, 120, 121, 122) couplé audit registre de cache, d) répéter les étapes b), c) tant que la requête suivante reçue est une requête d'écriture concernant la même page, et e) lorsque la requête suivante reçue cesse d'être une requête d'écriture concernant la même page, transférer dans le plan mémoire lesdits nouveaux mots stockés dans ledit registre de cache à l'aide dudit moyen de repérage (80, 82, 120, 121, 122), le transfert ayant lieu dès que possible si ladite requête suivante reçue est une requête d'écriture concernant une page différente, et le transfert étant différé si ladite requête suivante reçue est une requête de lecture. 9. Procédé selon la revendication 8, dans lequel, dans le cas d'une lecture portant sur une page comportant des mots nouveaux en attente d'écriture stockés dans un premier registre de cache, le procédé comprend les étapes suivantes charger, à partir du plan mémoire, la page considérée dans un second registre de cache propre à assurer une lecture, fournir pour lecture un ou plusieurs mots souhaités, le ou lesdits mots provenant dudit premier registre de cache si ce sont des mots nouveaux se trouvant en attente d'écriture, et le ou lesdits mots provenant dudit second registre de cache dans le cas contraire. 10. Procédé selon la revendication 8, dans lequel, dans le cas d'une lecture portant sur une page comportant des mots nouveaux en attente d'écriture stockés dans un premier registre de cache, le procédé comprend l'étape suivante charger un second registre de cache propre à assurer une lecture avec les mots de la page considérée, ces mots prove nant dudit premier registre de cache si ce sont des mots nouveaux se trouvant en attente d'écriture, et provenant du plan mémoire dans le cas contraire.