Brevet FR2827684A1 — publié le 20030124

L'invention concerne le domaine des contrôleurs de mémoire. Le rôle d'un contrôleur de mémoire est d'établir et d'exécuter des demandes d'accès en mémoire (par exemple des demandes de lecture de données à partir d'un certain nombre de modules de mémoire et d'écriture de données dans un certain nombre de modules de mémoire). Une demande d'accès en mémoire est déclenchée de façon typique par l'unité centrale de traitement (CPU), mais peut être également déclenchée par un dispositif d'entrée/sortie (dispositif I/O). Par le passé, la plupart des contrôleurs de mémoire étaient conçus de manière à accéder à des modules de mémoire, dans lesquels une lecture et une écriture sont exécutées par l'intermédiaire de transmissions communes de données d'horloge. C'est-à-dire que des bits de données sont transmis entre un contrôleur de mémoire et un certain nombre de modules de mémoire en synchronisme avec les flancs montants d'un signal d'horloge interne du contrôleur de mémoire. Cependant, il existe une tendance actuelle à agencer les contrôleurs de mémoire qui peuvent accéder à des modules de mémoire à double cadence de données (DDR). Un module de mémoire DDR est un module dans lequel la lecture et l'écriture sont effectuées par l'intermédiaire de transmission de données synchrone de source. C'est-à-dire que des bits de données sont transmis entre un contrôleur de mémoire et un certain nombre de modules de mémoire en synchronisme avec les flancs montants et les flancs retombants d'une impulsion d'échantillonnage, le signal d'échantillonnage étant produit par le composant qui délivre les données. Le signal d'échantillonnage est ensuite utilisé par le composant qui reçoit les données, pour capter les données. C'est pourquoi, le signal d'échantillonnage est transmis par le contrôleur de mémoire pendant l'opération d'écriture, et un signal d'échantillon- nage est transmis par un module de mémoire pendant une opération de lecture. Comme cela est connu des spécialistes de la technique, la complexité de contrôleurs de mémoire fait qu'il s'agit de composants dont la conception, le développement et la vérification sont très onéreux. C'est pourquoi les inventeurs vont donner ci-après une description d'un contrôleur de mémoire possédant un nombre plus important de modes de fonctionnement. En prévoyant un contrôleur de mémoire ayant un nombre supérieur de modes de fonctionnement, un fabricant de circuits intégrés spécifique à des applications (ASIC) peut satisfaire à un plus grand nombre d'applications de calcul avec un seul contrôleur de mémoire, et par conséquent réalise une économie de temps et de dépense grâce à la conception, au développement et à la vérification d'un nombre plus faible de contrôleur de mémoire. Du point de vue de la fabrication d'un ordinateur, l'utilisation d'un contrôleur de mémoire commun dans une variété de systèmes informatiques permet d'influer sur un code qui dépend de la machine, une conception d'un panneau de circuits imprimés, etc. d'un système d'ordinateur au suivant. Conformément à l'invention, on indique ici de nouveaux procédés et dispositifs concernant des contrôleurs de mémoire. Une partie des procédés et dispositifs concernent l'écriture de données par un contrôleur de mémoire dans un certain nombre de modules de mémoire. D'une manière générale, les procédés et dispositifs indiqués fournissent un contrôleur de mémoire comportant des moyens permettant d'écrire des données à des cadences différentes. Il peut être nécessaire d'écrire des données en mémoire à différentes cadences étant donné que par exemple le contrôleur de mémoire est utilisé dans des environnements, dans lesquels il est fixé directement à un certain nombre de modules de mémoire, et/ou dans des environnements, dans lesquels il est fixé à un certain nombre de modules de mémoire au moyen d'une plaquette intermédiaire. Par exemple la plaquette intermédiaire peut comporter des démultiplexeurs qui reçoivent des données à partir du contrôleur de mémoire, à une cadence égale au double de celle avec laquelle des données peuvent être écrites directement dans un module de mémoire. La plaquette intermédiaire peut ensuite transmettre simultanément les données d'écriture démultiplexées à des modules de mémoire dans deux ou plusieurs blocs de modules de mémoire. Bien que l'invention ne soit pas limitée à des environnements dits DDR, une forme de réalisation de l'invention fournit un contrôleur de mémoire à deux cadences des données, qui comprend des moyens pour écrire des données et produire des signaux d'échantillonnage avec une vitesse de mémorisation correspondant au double d'une cadence de données lx, et des moyens pour écrire des données et produire des signaux d'échantillonnage à une vitesse d'écriture en mémoire à une cadence de données double Mx (avec M#2 et x étant une cadence de base, à laquelle des données sont décrites dans un module de mémoire). Une autre forme de réalisation de l'invention comporte un circuit de commande de contrôleur de mémoire comportant un bloc de production/réception de données (lequel bloc fait partie d'une interface comprenant une pluralité de blocs de production/réception de données) et N circuits de propagation de données (avec N#2). Un étage de multiplexage envoie des données à au moins N-1 circuits de propagation des N circuits de propagation. L'étage de multiplexage permet le couplage d'un premier flux d'entrée de données à chacun des N circuits de propagation de données lorsque l'étage de multiplexage est configuré dans un mode lx, et permet le couplage de différents flux d'entrée de données à différents circuits parmi les N circuits de propagation de données lorsque l'étage de multiplexage est configuré dans un mode Mx (1 Un troisième mode de mise en oeuvre de l'invention fournit un procédé pour commander des données à partir du contrôleur de mémoire. Le procédé consiste à prévoir un circuit de commande du bloc de production/réception de données du contrôleur de mémoire, avec un premier flux de données lorsque le contrôleur de mémoire est configuré de manière à fonctionner dans un mode lx et à envoyer au circuit de commande du bloc de production/réception de données N-1 flux additionnels de données lorsque le contrôleur de mémoire est configuration de manière à fonctionner dans un mode Nx (N#2). Le circuit de commande du bloc de production/réception de données est alors commandé de façon cadencée à une cadence Nx de manière à 1) produire un flux de données lx dans un bloc de production/réception de données du contrôleur de mémoire lorsque le contrôleur de mémoire est configuré de manière à fonctionner dans le mode lx, et 2) produire un flux de données Nx dans le bloc de production/réception de données lorsque le contrôleur de mémoire est configuré pour l'obtention du mode Nx. D'une manière plus précise, l'invention concerne un circuit de commande d'un contrôleur de mémoire, caractérisé en ce qu'il comporte : a) un bloc de production/réception de données; b) N circuits de propagation de données, N#2, c) un étage de multiplexage qui délivre des données à au moins N-1 des N circuits de propagation de données, ledit étage de multiplexage permettant un couplage d'un premier flux d'entrée de données à chacun des N circuits de propagation de données lorsque l'étage de multiplexage est configuré dans un mode lx, et ledit étage de multiplexage permettant un couplage de différents flux d'entrée de données vers différents circuits faisant partie des N circuits de propagation de données lorsque l'étage de multiplexage est configuré dans un mode Mx (1 Selon une autre caractéristique de l'invention, ce circuit comporte en outre : a) un bloc de production/réception de signaux d'échantil- lonnage, et b) des moyens pour produire, dans ledit bloc de production/réception de signaux d'échantillonnage, un signal d'échantillonnage Mx qui correspond audit flux de données Mx. Selon une autre caractéristique de l'invention, ledit circuit de fusion de sortie comprend N trajets pouvant être réglés sur trois états, qui respectivement reçoivent et délivrent séquentiellement des données provenant des N circuits de propagation de données. Selon une autre caractéristique de l'invention, chacun desdits N trajets pouvant être réglés sur trois états comprend l'une de N bascules bistables commandées séquentiellement de façon cadencée. Selon une autre caractéristique de l'invention, le circuit comporte en outre : a) un circuit à retard de phase, b) un premier multiplexeur à retard de phase, qui permet le couplage dudit premier flux d'entrée de données au circuit à retard de phase lorsque le premier multiplexeur à retard de phase est configuré dans un mode lx, et qui permet le couplage d'un N-ème flux d'entrée de données au circuit à retard de phase, lorsque le premier multiplexeur à retard de phase est configuré dans un mode Nx, et c) un second multiplexeur à retard de phase qui couple une sortie d'un premier des N circuits de propagation de données, une sortie du circuit à retard de phase et une entrée du circuit de réunion de sortie, ledit second multiplexeur à retard de phase couplant ladite sortie des N circuits de propagation de données audit circuit de réunion de sortie lorsque ledit second multiplexeur à retard de phase est configuré pour une absence de retard de phase d'écriture, et ledit second multiplexeur à retard de phase couplant ladite sortie du circuit à retard de phase audit circuit de réunion de sortie lorsque ledit second multiplexeur à retard de phase est configuré pour un retard de phase d'écriture. Selon une autre caractéristique de l'invention, le circuit, dans lequel on a N=M=2, comporte en outre : a) un bloc de production/réception de signaux d'échantil- lonnage, et b) un circuit pour produire, dans ledit bloc de production/réception de signaux d'échantillonnage, un signal d'échantillonnage lx ou 2x qui correspond audit flux lx ou 2x de type de données produit au niveau du bloc de production/réception de données, le circuit comprenant : i) deux circuits de propagation d'échantillons, ii) une unité logique combinatoire pour envoyer des signaux d'entrée aux deux circuits de propagation d'échantillons à une cadence lx lors du fonctionnement dans le mode lx, et pour commander respectivement des signaux d'entrée aux deux circuits de propagation d'échantillon aux niveaux haut et bas lors du fonctionnement dans le mode 2x, et iii) un circuit de réunion d'échantillons, qui couple alternativement les deux circuits de propagation d'échantillons au bloc de production/réception de signaux d'échantillonnage pour produire ainsi un signal d'échantillonnage lx ou un signal d'échan- tillonnage 2x dans le bloc de production/réception de signaux d'échantillonnage. Selon une autre caractéristique de l'invention, le circuit comporte en outre : a) un circuit à retard de phase, b) un premier multiplexeur à retard de phase, qui permet le couplage dudit premier flux d'entrée de données au circuit à retard de phase lorsque le premier multiplexeur à retard de phase est configuré dans un mode lx, et qui permet le couplage d'un deuxième flux d'entrée de données au circuit à retard de phase, lorsque le premier multiplexeur à retard de phase est configuré dans un mode 2x, et c) un second multiplexeur à retard de phase qui couple une sortie d'un premier des deux circuits de propagation de données, une sortie du circuit à retard de phase et une entrée du circuit de réunion de sortie, ledit second multiplexeur à retard de phase couplant ladite sortie des N circuits de propagation de données audit circuit de réunion de sortie lorsque ledit second multiplexeur à retard de phase est configuré pour une absence de retard de phase d'écriture, et ledit second multiplexeur à retard de phase couplant ladite sortie du circuit à retard de phase audit circuit de réunion de sortie lorsque ledit second multiplexeur à retard de phase est configuré pour un retard de phase d'écriture. En outre l'invention concerne un procédé de commande de données à partir d'un contrôleur de mémoire, qui consiste à : a) prévoir un circuit de commande d'un bloc de production/réception de données dudit contrôleur de mémoire au moyen d'un premier flux de données lorsque ledit contrôleur de mémoire est configuré de manière à fonctionner dans un mode lx, b) fournir audit circuit de commande du bloc de production/réception de données N-1 flux supplémentaire de données lorsque ledit contrôleur de mémoire est configuré de manière à fonctionner dans un mode Nx (N#2), et c) commander de façon cadencée ledit circuit de commande du bloc de production/réception de données à une cadence Nx pour : i) produire un flux de données lx dans un bloc de production/réception de données dudit contrôleur de mémoire lorsque ledit contrôleur de mémoire est configuré de manière à fonctionner dans un mode lx, et ii) produire un flux de données Nx dans ledit bloc de production/réception de données lorsque ledit contrôleur de mémoire est configuré de manière à fonctionner dans un mode Nx. Selon une autre caractéristique, le procédé comporte en outre les opérations consistant à : a) prévoir un circuit de commande du bloc de production/réception de signaux d'échantillonnage dudit contrôleur de mémoire avec un ensemble de signaux qui commutent à une cadence lx lorsque ledit contrôleur de mémoire est configuré de manière à fonctionner selon un mode lx, b) délivrer audit circuit de commande du bloc de production/réception de signaux d'échantillonnage un ensemble de signaux statiques lorsque ledit contrôleur de mémoire est configuré de manière à fonctionner dans un mode Nx, et c) commander de façon cadencée ledit circuit de commande du bloc de production/réception de signaux d'échantillonna- ge à une cadence Nx pour ainsi : i) produire un signal d'échantillonnage lx dans un bloc de production/réception de signaux d'échantillonnage dudit contrôleur de mémoire lorsque ledit contrôleur de mémoire est configuré de manière à fonctionner dans le mode lx, et ii) produire un signal d'échantillonnage Nx dans ledit bloc de production/réception de signaux d'échantil- lonnage lorsque ledit contrôleur de mémoire est configuré de manière à fonctionner dans le mode Nx. Selon une autre caractéristique de l'invention, on a N = 2 et la commande cadencée dudit circuit de commande du bloc de production/réception de données à une cadence Nx comprend la commande cadencée de première et seconde bascules bistables, qui sont couplées audit bloc de production/réception de données par l'intermédiaire de leurs sorties, ladite première bascule bistable étant déclenchée au niveau des flancs positifs et ladite second bascule bistable étant déclenchée au niveau des flancs négatifs, chacune desdites première et seconde bascules bistables recevant un signal d'horloge Nx. Un avantage du contrôleur de mémoire et du circuit de commande décrits ici est qu'ils s'adaptent à la commande de données lx ou Mx (par exemple 2x) en utilisant un matériel relativement simple. En prévoyant un contrôleur de mémoire qui peut écrire des données dans les modes lx et Mx, on peut fabriquer un contrôleur de mémoire plus universel, en effectuant par conséquent un cadrage d'échelle pour accroître la gamme de segments de marché couverts par le contrôleur de mémoire, avec seulement un accroissement minimum des coûts de fabrication. Un autre avantage du circuit décrit est qu'il peut être adapté de manière à assister des systèmes informatiques ayant une largeur de bande plus grande et une capacité plus élevée. D'autres caractéristiques et avantages de la présente invention ressortiront de la description donnée ci-après prise en référence aux dessins annexés, sur lesquels : - la figure 1 représente un système d'ordinateur; - la figure 2 représente une première forme de réalisation donnée à titre d'exemple du contrôleur de mémoire de la figure 1, dans lequel le contrôleur de mémoire est directement fixé à une pluralité de modules de mémoire pour effectuer des transmissions de données dans un mode lx; - la figure 3 représente une seconde forme de réalisation donnée à titre d'exemple du contrôleur de mémoire de la figure 1, dans lequel le contrôleur de mémoire est fixé à une pluralité de modules de mémoire par l'intermédiaire d'une plaquette intermédiaire pour effectuer une transmission de données dans un mode 2x; - la figure 4 représente un circuit de commande de contrôleur de mémoire qui peut commander des données dans un mode lx ou dans un mode 2x; - la figure 5 représente une forme de réalisation préférée du circuit de réunion de sortie représenté sur la figure 4; - la figure 6 représente une variante du circuit de commande de contrôleur de mémoire de la figure 4, dans lequel le circuit est prévu pour déclencher un retard de phase à l'écriture; - la figure 7 représente une forme de réalisation préférée d'un circuit d'horloge qui produit un grand nombre des signaux d'horloge apparaissant sur les figures 8,12-19 et 21-26; - la figure 8 représente une forme de réalisation préférée du circuit de commande de contrôleur de mémoire, incluant un circuit de commande de données et un circuit de commande d'échantillonnage correspondant; - la figure 9 représente un sous-système de mémoire, incluant une troisième forme de réalisation prise à titre d'exemple du contrôleur de mémoire de la figure 1, et dans lequel le contrôleur de mémoire comprend une pluralité de blocs correspondants de signaux d'échantillonnage et de données; - la figure 10 représente un mode indiqué à titre d'exemple d'adaptation de blocs de production/réception de signaux d'échantillonnage et de blocs de production/réception de données pour assister une écriture, dans un contrôleur de mémoire, sur x4, x8 ou xl6 DIMM (DIMM module de mémoire à double rangée de connexions en ligne); - la figure 11 représente une carte de mémoire pour réaliser le suivi servant à déterminer si des DIMM x4, x8 ou xl6 sont fixés aux blocs de production/réception de données et de signaux d'échantillonnage d'un contrôleur de mémoire ; - la figure 12 représente une forme de réalisation préférée d'un circuit pour envoyer des signaux act~stb[0:l] (voir figure 8) à des blocs inférieurs de production/réception de signaux d'échantillonnage du contrôleur de mémoire de la figure 9; - la figure 13 représente une forme de réalisation préférée d'un circuit pour envoyer des signaux act~stb[0:1] (voir figure 8) à des blocs supérieurs de production/réception de signaux d'échantillonnage du contrôleur de mémoire de la figure 9; - la figure 14 représente des cadencements d'écriture du circuit de commande de la figure 8 dans le cas où il est configuré dans le mode lx avec des signaux d'échantillonnage d'écriture alignés wpd=0 et long~wpre=0; - la figure 15 représente des cadencements d'écriture du circuit de commande de la figure 8 dans le cas où il est configuré dans le mode lx avec des signaux d'échantillonnage d'écriture alignés wpd=0 et long~wpre=l; - la figure 16 représente des cadencements d'écriture du circuit de commande de la figure 8 dans le cas où il est configuré dans le mode 2x avec des signaux d'échantillonnage d'écriture alignés wpd=0 et long~wpre=0; - la figure 17 représente des cadencements d'écriture du circuit de commande de la figure 8 dans le cas où il est configuré dans le mode 2x avec des signaux d'échantillonnage d'écriture alignés wpd=0 et long~wpre=l; - la figure 18 illustre une forme de réalisation préférée d'un circuit de réception de données d'un contrôleur de mémoire; - la figure 19 représente une première forme de réalisation préférée d'un circuit de réception de signaux d'échantillonnage du contrôleur de mémoire; - la figure 20 représente une seconde forme de réalisation préférée d'un circuit de réception de signaux d'échantillonnage du contrôleur de mémoire; - la figure 21 illustre une boucle de trajet de lecture contrôleur-mémoire-contrôleur; - la figure 22 illustre les cadencements de lecture du circuit de réception représenté sur les figures 18-19 et 28 lorsqu'ils sont configurés dans le mode lx avec rpd=0; - la figure 23 illustre des détails plus importants du cas de lecture dans le mode lx "précoce" représenté sur la figure 22; - la figure 24 illustre des détails plus importants du cas de lecture dans le mode lx "tardif" représenté sur la figure 22; - la figure 25 représente le cadencement de lecture du circuit de réception représenté sur les figures 18,19 et 28 dans le cas de la configuration dans le mode 2x avec rpd=0; - la figure 26 représente un plus grand nombre de détails du cas de lecture dans le mode 2x "précoce" illustré sur la figure 25; - la figure 27 représente un plus grand nombre de détails du cas de lecture dans le mode 2x "tardif" illustré sur la figure 25; - la figure 28 illustre une forme de réalisation préférée d'un circuit pour délivrer le signal set~alt~n, qui apparaît dans le circuit du récepteur du contrôleur de mémoire de la figure 18 ; - la figure 29 illustre une relation entre le noyau et le circuit de bloc du contrôleur de mémoire de la figure 1. 1. Généralités : un contrôleur de mémoire possédant un nombre supérieur de modes de fonctionnement Un contrôleur de mémoire 100 comportant un nombre supérieur de modes de fonctionnement est représenté sur les figures 1 à 3. Le contrôleur de mémoire 100 est de préférence un contrôleur de mémoire à double cadence de données (DDR), mais cela n'est pas nécessaire. Un contrôleur de mémoire DDR 100 est un contrôleur de mémoire qui peut communiquer avec des mémoires dynamiques à accès direct synchrones DDR (SDRAM). On se référera par exemple à la norme JEDEC Standard N 79 publiée en Juin 2000, qui sera désigné ici comme étant la "spécification JEDEC DDR SDRAM". La figure 1 représente à titre d'exemple un système informatique 124, dans lequel on peut utiliser le contrôleur de mémoire 100. Le système informatique 124 comprend un nombre d'unités centrales de traitement 102 (unités centrales CPU) qui sont connectées au contrôleur de mémoire 100, par l'intermédiaire d'un bus 106 du système. Comme cela est représenté sur la figure 1, le contrôleur de mémoire 100 fait de préférence partie d'un contrôleur à mémoire intégrée et d'entrée/sortie (I/O) (MIOC) 100. Le contrôleur MIOC 100 reçoit des demandes d'accès par l'intermédiaire du bus 106 du système, puis adresse des modules de mémoire 104 et/ou des dispositifs d'entrée/sortie 112-122 de manière à traiter les demandes d'accès en mémoire. Des données extraites sont ensuite renvoyées comme cela s'avère nécessaire. Des demandes d'accès en mémoire liées, qui sont reçues de la part du dispositif I/O 112-122, peuvent être également traitées par le contrôleur MIOC 100. Comme cela est connu dans la technique, la mémoire et les demandes d'accès I/O comprennent de façon typique des demandes de lecture et des demandes d'écriture. Le contrôleur MIOC 100 est couplé à un certain nombre de modules de mémoire 104 par l'intermédiaire d'un bus de mémoire 108 et est couplé à des dispositifs I/O 112-122 par l'intermédiaire de bus locaux, d'interfaces, etc. 110 (par exemple un bus local d'interconnexion de composants périphériques (PCI) ou une interface de système électronique de dispositif intégré (IDE)). Les modules de mémoire peuvent comporter par exemple un certain nombre de modules de mémoire DDR à double rangée de connexions en ligne (DIMM). Un module DIMM est un ensemble à largeur de données fixe (habituellement 64 ou 72 bits) de dispositifs de mémoire RAM (par exemple des mémoires DDR SDRAM). Les dispositifs I/O peuvent comporter un ou plusieurs des dispositifs suivants ainsi que d'autres dispositifs : unités de commande 112 (par exemple unités de disque dur, unités de CD-ROM, et unités de disquettes), des ports 114 (par exemple USB (pour Universal Serial Bus ou bus série Universel), parallèle, série), un clavier 116, une souris 118 et/ou d'autres dispositifs de pointage, un dispositif d'affichage 120 et une imprimante 122. Il est important de noter à nouveau que la figure 1 indique uniquement un exemple de formes de réalisation d'un système informatique 124, dans lequel le contrôleur de mémoire 100 décrit ci-après peut être utilisé, et par conséquent le système informatique 124 de la figure 1 n'est pas censé limiter l'invention et/ou ses utilisations applicables. Il est également important de noter qu'une grande partie de la description qui va suivre se réfère uniquement à un "contrôleur de mémoire" 100. Cependant, un spécialiste ordinaire de la technique comprendra aisément que les caractéristiques du contrôleur de mémoire, qui sont décrites ci-après peuvent être aisément adaptées pour être utilisées dans un contrôleur de mémoire 100 faisant partie du circuit intégré "circuit de mémoire et contrôleur I/O" 100 représenté sur les figures 1 à 3. Sur la figure 2, le contrôleur MIOC 100 de la figure 1 est représenté de manière à être découplé directement à un nombre de modules de mémoire 104 par l'intermédiaire d'un bus lx 200 (par exemple un bus DDR lx). Tel qu'il est défini ici, un bus lx DDR 200 est un bus de mémoire qui fonctionne dans un mode DDR classique, dans lequel les données sont transmises en synchronisme avec les deux flancs d'un signal d'échantillonnage. A. Rattachement x4, x8, xl6 alterné ou simultané Une caractéristique du contrôleur de mémoire 100 ici décrit est qu'il peut lire et écrire des données dans des modules de mémoire non homogènes 104. Pour comprendre ce qui signifie l'expression "modules de mémoire non homogènes", il est nécessaire de donner quelques éléments de base. Les modules de mémoire 104 sont disponibles selon une variété de configuration, dont la plus répandue est la configuration du module de mémoire à double rangée de connexions en ligne (DIMM). D'autres configurations, qui existent en grand nombre, incluent la configuration de modules de mémoire à simple rangée de connexions (DIMM) et la configuration DIMM à petits contours (SO-DIMM). Une caractéristique commune des configurations de modules de mémoire mentionnées précédemment est qu'elles comportent toutes un panneau de circuits imprimés sur lequel sont montés une pluralité de dispositifs de mémoire à accès direct (RAM). De la même manière que pour les différentes configurations de modules de mémoire, des dispositifs RAM peuvent également prendre une variété de configurations, dont la plus répandue est la configuration SDRAM. Cependant il existe actuellement une tendance dans l'industrie à passer à des modules de mémoire équipés de dispositifs DDR SDRAM. A titre d'exemple, la figure 9 représente une pluralité de modules DIMM 104a, 104b, 104c, qui sont équipés de dispositifs DDR SDRAM 910,912, 914. Des dispositifs DDR SDRAM sont habituellement disponibles en trois largeurs de données, et les dispositifs ayant des largeurs de données supplémentaires sont proposées. Les largeurs de données disponibles actuellement sont 4,8 et 16 bits. Comme cela est décrit dans la spécification JEDEC DDR SDRAM, une mémoire DDR SDRAM d'une largeur de 4 bits est connue en tant que x4 DDR SDRAM et est caractérisée par le fait qu'elle produit/reçoit quatre signaux de données en réponse à un seul signal d'échantillonnage. De façon analogue, une mémoire DDR SDRAM d'une largeur de 8 bits est connue sous la désignation x8 DDR SDRAM et est caractérisée en ce qu'elle produit/reçoit huit signaux de données en réponse à un seul signal d'échantillonnage ; on connaît une mémoire DDR SDRAM à 16 octets sous la désignation xl6 DDR SDRAM qui est caractérisée en ce qu'elle produit/reçoit 16 signaux de données en réponse à une perte de signaux d'échantillonnage. Comme cela est connu des spécialistes de la technique, l'interface d'une mémoire xl6 DDR SDRAM est similaire à celle d'une mémoire x8 DDR SDRAM en ce que huit signaux de données sont produits/reçus en réponse à chacun des signaux d'échantillonnage d'une mémoire xl6 DDR SDRAM. Dans un système informatique typique, un contrôleur de mémoire 100 est capable d'accéder à un certain nombre de modules de mémoire identiques, qui sont insérés dans une pluralité de douilles 902-908 sur la carte-mère du système informatique. Fréquemment, un fabricant d'ordinateurs précharge un certain nombre de douilles 902-908 avec un certain nombre de modules de mémoire identiques, puis informe l'utilisateur final du système informatique que des modules de mémoire préchargés peuvent être ajoutés ou retirés ou permutés dans la mesure où tous les modules de mémoire de l'ordinateur possèdent une configuration spécifiée homogène de modules et de mémoires RAM (par exemple des modules DIMM constitués de mémoires SDRAM. Si le module de mémoire ne correspond pas à la configuration spécifiée de modules et de mémoires RAM, le contrôleur de mémoire du système informatique ne peut pas communiquer avec le module de mémoire, et dans certains cas, le module de mémoire non homogène et/ou le contrôleur de mémoire lui-même peuvent être endommagés. Des options de mise à jour de mémoire de l'utilisateur de l'ordinateur sont par conséquent limitées à une configuration particulière de module de mémoire. Cependant il serait souhaitable qu'un utilisateur d'ordinateur ait une plus grande souplesse pour la mise à jour de sa mémoire d'ordinateur. Il en résulte que l'on décrit ici un contrôleur de mémoire 100 qui peut lire et écrire des modules de mémoire non homogènes 104. Les modules de mémoire 104 sont non homogènes en ce qu'ils comportent des dispositifs RAM ayant des largeurs de données différentes. Par exemple deux modules de mémoire peuvent comporter des mémoires x8 DDR SDRAM, un troisième module de mémoire peut comporter des mémoires x4 DDR SDRAM et un quatrième module de mémoire peut comporter des mémoires xl6 DDR SDRAM. Le contrôleur de mémoire décrit 100 communique avec des modules de mémoire non homogènes 104 en mémorisant et en accédant à une carte de mémoire 1100 (figure 11) des largeurs de données et des dispositifs de mémoire, une largeur de données du dispositif de mémoire étant mémorisée pour chacun des modules de mémoire 104 du système informatique. Un accès à la carte de mémoire 1100 est effectué "à la volée" avant chaque cycle de lecture et d'écriture. Par conséquent, lorsqu'une écriture dans une mémoire x4 DDR SDRAM située dans un premier module de mémoire 104a est suivie par une écriture dans une mémoire x8 DDR SDRAM située dans un second module de mémoire 104b, le contrôleur de mémoire 100 peut exécuter les écritures successivement en 1) accédant à la carte de mémoire 1100 avant chaque opération d'écriture, puis 2) en reconfigurant le circuit de commande des données des signaux d'échantillonnage, comme cela s'avère nécessaire. Pour permettre une communication du contrôleur de mémoire avec une pluralité de modules de mémoire non homogènes 104, la seule chose à considérer au niveau de la carte est qu'un nombre suffisant de trajets d'acheminement de données et de signaux d'échantillonnage soient prévus pour permettre une connexion électrique de douilles d'expansion à des modules de mémoire 104 constitués par des données variables avec des dispositifs RAM. Par conséquent, lors de la conception avec le contrôleur de mémoire décrit 100 dans un environnement DDR SDRAM, un fabricant d'ordinateur peut 1) acheminer un moins grand nombre de signaux d'échantillonnage en direction/en provenance d'un contrôleur de mémoire 100 et fournir à un utilisateur d'ordinateur la possibilité d'utiliser simultanément des modules DIMM constitués de mémoire x8 et xl6 DDR SDRAM dans leur système d'ordinateur 124, ou 2) acheminer quelques signaux d'échantillonnage supplémentaires en direction/en provenance d'un contrôleur de mémoire 100 et de fournir à un utilisateur de l'ordinateur la possibilité d'utiliser simultanément des modules DIMM constitués de mémoires x4, x8 et xl6 DDR SDRAM 104 dans leur système d'ordinateur 124. Dans tous les cas, un utilisateur d'ordinateur dispose d'une plus grande souplesse pour mélanger et adapter des modules DIMM que cela n'est prévu actuellement. Un contrôleur de mémoire 100, qui peut effectuer une lecture et une écriture dans des modules de mémoire non homogènes 104 (c'est-à-dire des modules de mémoire constitués par des dispositifs RAM ayant des largeurs de données non homogènes) est avantageux en ce qu'il fournit à un utilisateur de l'ordinateur une variété d'options de mise à jour de mémoire, et par exemple des mémoires x4 DDR SDRAM possèdent une largeur deux fois moins grande, mais une profondeur double de mémoires x8 et xl6 DDR SDRAM. Par conséquent, on peut doubler leur capacité de mémoire d'ordinateur en utilisant des modules DIMM constitués de mémoires x4 DDR SDRAM à la place de modules DIMM constitués par des mémoires x8 ou xl6 DDR SDRAM. Cependant, étant donné que les modules DIMM constitués de mémoires x8 DDR SDRAM sont actuellement moins coûteux, on peut souhaiter sacrifier un certain niveau de performances en faveur du coût réduit. En outre, un utilisateur peut souhaiter ajouter des modules DIMM d'une capacité plus grande constitués par des mémoires X4 DDR SDRAM à son système d'ordinateur, tout en conservant et en utilisant les mémoires x8 ou xl6 DDR SDRAM, qui ont été préchargées par son système d'ordinateur. En l'absence du contrôleur de mémoire 100 ici décrit, la capacité de mémoire d'un système informatique qui accepte uniquement des modules DIMM constitués de mémoire x8 et/ou xl6 DDR SDRAM peut être accrue uniquement au moyen d'un accroissement du nombre de bits de charges par bit de données de mémoire (par exemple deux ou quatre fois le nombre de charges). De ce fait, on peut obtenir dans un système x8/xl6 la même capacité de mémoire que ce qu'on peut obtenir dans un système x4. Cependant un problème réside dans le fait qu'avec un plus grand nombre de charges par bit, la fréquence de fonctionnement maximale de chaque module DIMM est réduite. Par conséquent on obtient une capacité de mémoire plus importante avec une réduction de la performance. Les opérations de mémoire déclenchées par le contrôleur de mémoire 100 ici décrit ne sont pas soumises à de tels baisses de performance. B. Mode lx ou 2x Une autre caractéristique du contrôleur de mémoire 100, qui est décrit ici, est qu'il peut produire des signaux d'échantillonnage et des données (c'est-à-dire écrire) dans un mode lx ou dans un mode Mx (avec M#2 et x une cadence de base, à laquelle des données sont lues et écrites). De façon analogue, il peut recevoir des données des signaux d'échantillonnage (c'est-à-dire lire) dans un mode lx ou dans un mode Mx. Dans le mode lx, le contrôleur de mémoire 100 est connecté directement à une pluralité de modules de mémoire 104 comme représenté sur la figure 2. Mais dans le mode Mx, le contrôleur de mémoire 100 est connecté à une ou plusieurs plaquettes intermédiaires 302 par l'intermédiaire d'un bus 300, qui fonctionne à une vitesse Mx. Dans le mode Mx, les lectures et les écritures entre le contrôleur de mémoire 100 et des plaquettes intermédiaires 302 s'effectuent à une cadence Mx. Cependant, des lectures et des écritures entre les plaquettes intermédiaires 302 et les modules de mémoire 104 continuent à apparaître à une cadence lx. L'avantage qu'il y a d'utiliser les plaquettes intermédiaires 302 est qu'à nouveau on peut doubler une capacité de mémoire du système - cette fois 1) en utilisant les plaquettes intermédiaires 302 pour recevoir des données 2x, puis distribuer des données 2x selon un mode lx à deux banques de modules de mémoire 104, ou 2) en utilisant les plaquettes intermédiaires 302 pour recevoir des données lx en provenance des deux blocs des modules de mémoire 104, puis multiplexer les données pour les délivrer à un contrôleur de mémoire 100 à une cadence 2x. L'utilisation des plaquettes intermédiaires 302 permet également de doubler une largeur de bande du système de mémoire. C. Retards de phase de lecture et d'écriture Le contrôleur de mémoire 100, qui est décrit ici, fournit en outre une possibilité de retarder des cycles d'écriture et de lecture d'une simple phase du signal d'horloge interne du contrôleur de mémoire. En outre, en dehors du fait de permettre l'accord de cycles de lecture et d'écriture avec une résolution sur un cycle complet, des cycles de lecture et d'écriture peuvent être accordés avec une résolution sur un demi-cycle. C'est pourquoi les cycles de lecture et d'écriture peuvent commencer au niveau d'un flanc montant ou d'un flanc retombant du signal d'horloge interne du contrôleur de mémoire. Cette caractéristique fournit un degré de capacité d'accord pour le contrôleur de mémoire 100. D. Immunité au bruit trois-états Pendant un cycle de lecture en mémoire, il existe un besoin de tenir compte d'une variation du retard de boucle contrôleur-mémoire-contrôleur, c'est-à-dire un retard de boucle de lecture. Par exemple sur la figure 21, une pluralité de modules de mémoire 104 sont couplés à un contrôleur de mémoire 100 par l'intermédiaire de bus commun de transmission de données (DQ) et de signaux d'échantillonnage (DQS). Non seulement une pluralité de modules de mémoire 104 sont couplés aux bus de transmission de données et de signaux d'échantillonnage, mais chacun des modules de mémoire 104 peut présenter des variations de cadencement dans des gammes admissibles (par exemple dans les gammes fournies dans la spécification JEDEC DDR SDRAM) . En outre des copies d'un signal d'horloge, qui sont distribuées à chacun de la pluralité de modules de mémoire 104, peuvent présenter un biais entre elles. En raison des irrégularités indiquées précédemment, des demandes de lecture, qui sont envoyées à différents modules de mémoire (avec leurs caractéristiques de cadencement modifiées et leurs signaux d'horloge pourvus d'un biais) peuvent nécessiter des intervalles de temps variable pour revenir au contrôleur 100. Il en résulte qu'il se produit une variation du retard de la boucle de lecture, qui requiert d'être pris en compte dans le cas de la détermination du moment de la réception des données et de signaux d'échantillonnage dans un contrôleur de mémoire 100. On peut prendre en compte l'intervalle de temps uniquement en s'assurant qu'un contrôleur de mémoire 100 reçoit de façon appropriée des données des échantillons en réponse à un retard de boucle le plus court possible (c'est-à-dire un cas de réception précoce) et un retard de boucle le plus long possible (c'est-à-dire un cas de réception tardive). Le bus de transmission de données de signaux d'échantillonnage pour des modules de mémoire 104 dans le cadre de la spécification JEDEC DDR SDRAM présente une caractéristique notable. La tension de référence pour chaque ligne de bus est la même que la tension de terminaison de la ligne de bus. Cela signifie qu'en raison de la présence d'un bruit, les blocs de production/réception de signaux d'échantillonnage d'un contrôleur de mémoire 100 sont soumis à des transitions "0" à "1" et "1" à "0" erronées lorsque leurs lignes de bus correspondantes sont à trois états. Si on ne tient pas compte de ceci, ces transitions peuvent être interprétées de façon erronée comme des flancs d'échantillonnage actifs, ce qui conduit à une corruption potentielle des données. Le contrôleur de mémoire 100 décrit ici résout le problème indiqué précédemment au moyen du comptage de flancs de signaux d'échantillonnage, qui sont reçus dans un bloc de production/réception de signaux d'échantillonnage, puis en utilisant un compte des flancs d'échantillonnage pour commander une pluralité de circuits de verrouillage de données qui sont couplés à un bloc de production/réception de données. Lorsqu'un nombre compté représentant un nombre attendu arrivant de signaux d'échantillonnage est atteint, aucun comptage supplémentaire n'est exécuté et le bruit, qui est produit en tant que résultat d'un réglage sur trois états du bus de transmission de signaux d'échantillonnage ne peut pas verrouiller les données supplémentaires dans la pluralité de circuits de verrouillage de données. 2. Capacité d'écriture dans le mode lx ou 2x La figure 4 représente une première forme de réalisation préférée d'un circuit de commande 400 pour un contrôleur de mémoire 100. Le circuit de commande 400 comprend un bloc (DQ4) de production/réception de données, deux circuits de propagation de données 402, 404, un étage de multiplexage 406 et un circuit de réunion de sortie 408. Un premier flux de données 410 est envoyé à chacun des circuits de propagation de données 402, 404, et un second flux de données 412 est fourni facultativement au second des deux circuits de propagation de données 404. Le second circuit de propagation de données 404 reçoit soit le premier, soit le second flux de données 410 ou 412 par l'intermédiaire de l'étage de multiplexage 406, qui sur la figure 4 est constitué par un seul multiplexeur. Le multiplexeur 406 est commandé par un signal du mode 2x (donnée 2xnlx), qui permet le couplage du premier flux de données 410 à la sortie du multiplexeur dans un mode de fonctionnement lx, et permet le couplage du second flux de données 412 à la sortie du multiplexeur dans un mode de fonctionnement 2x. Dans un mode ou dans l'autre, les données se propagent dans chacun des circuits de propagation de données 402,404 jusqu'au circuit de fusion de sortie 408, point au niveau duquel les deux circuits de propagation de données 402,404 sont couplés alternativement au bloc de production/réception de données de manière à produire ainsi un flux lx ou 2x de bits de données. Des détails du circuit de fusion de sortie 408 seront décrits plus loin dans la présente description. Du point de vue fonctionnel, le circuit de commande 400 représenté sur la figure 4 fonctionne comme suit. Dans le mode lx, le même flux de données 410 est envoyé à chacun des circuits de propagation de données 402, 404. Il en résulte qu'un bit de données, qui se propage dans le premier circuit de propagation de données 402, apparaît au niveau du bloc de production/réception de données lorsque le circuit de réunion de sortie 408 accouple le premier circuit de propagation de données 402 au bloc de production/réception de données. Le même bit de données apparaît ensuite à nouveau dans le bloc de production/réception de données lorsque le circuit de réunion de sortie 408 accouple ultérieurement le second circuit de propagation de données 404 au bloc de production/réception de données. Il en résulte que les bits de données apparaissent dans le bloc de production/réception de données à la même cadence que celles avec lesquelles ils sont envoyés au circuit de commande 400 (c'est-à-dire dans un mode lx). Dans le mode de fonctionnement 2x du circuit d'attaque représenté sur la figure 4, un premier flux de données 410 est envoyé au premier circuit de propagation de données 402 et un second flux de données 412 est envoyé au second circuit de propagation de données 404. Le premier flux de données 410 peut comporter par exemple les bits 0, 2, 4, ... d'un flux de données, tandis que le second flux de données 412 peut comporter par exemple des bits 1, 3,5, ... d'un flux de données. Il en résulte que différents bits de données se propagent dans chacun des premier et second circuits de propagation de données 402,404 et que le circuit de réunion de sortie 408 produit un flux de données 2x de bits 0, 1, 2,... dans le bloc de production/réception de données. On notera que le flux de données de sortie est considéré comme étant un flux de données 2x étant donné qu'il produit des bits de données à une cadence double de celle de l'un ou l'autre des flux d'entrée de données 410,412 du circuit de commande. Une forme de réalisation prise à titre d'exemple du circuit de réunion de sortie 408 est décrite sur la figure 5. Le circuit 408 comprend deux bascules bistables de type D 500,502, dont chacune reçoit des données de la part de l'un de deux circuits de propagation de données 402,404, de la figure 4. Les bascules bistables 500,502 sont alternativement commandées de façon cadencée alternativement au niveau des flancs positifs et négatifs d'un signal d'horloge IOBCK. Le signal de sortie de chaque bascule bistable 500,502 est reçu respectivement par un tampon 504,506 pouvant être réglé sur dans trois états. Chaque tampon 504,506 reçoit également le signal d'horloge IOBCK et fonctionne en synchronisme avec la bascule bistable 500,502, qui lui correspond. Par conséquent, lorsque des données sont délivrées de façon cadencées par la bascule bistable 500, le tampon 504 permet le transfert des données en direction du bloc DQ4 de production/réception de données, et le tampon 506 est réglé sur le type trois états. De façon analogue, lorsque des données sont délivrées de façon cadencée par la bascule bistable 502, le tampon 506 permet le transfert des données vers le bloc DQ4 de production/réception de données, et le tampon 504 est réglé dans le type trois-états. Les deux bascules bistables 500,502 et le tampon 504,506 fournissent par conséquent alternativement des données au bloc DQ4 de production/réception de données. Chaque bascule bistable correspondante et chaque tampon correspondant sur la figure 5 sont un exemple d'un trajet pouvant être réglé sur trois états, comme cela est mentionné dans la revendication. On notera que le circuit de réunion de sortie 408 peut comporter un multiplexeur à la place des bascules bistables 500,502 et des tampons 504,506. Cependant, l'agencement indiqué sur la figure 5 est préférable étant donné que la durée C#Q est réduite. En réalité il est préférable de réduire la durée C#Q même en supplément au moyen de l'intégration de la fonctionnalité des tampons 504,506 dans les bascules bistables 500,502. La figure 6 représente une seconde forme de réalisation d'un circuit de commande 600 pour un contrôleur de mémoire 100. Comme le circuit d'attaque 400 représenté sur la figure 4, le circuit de commande 600 de la figure 6 comprend un bloc (DQ4) de production/réception de données, deux circuits de propagation de données 602,604, un étage de multiplexage 606 et un circuit 608 de réunion de sortie. Cependant, le circuit de commande 600 comprend en outre un circuit à retard de phase 614 et des premier et second multiplexeurs à retard de phase 616,618. Le rôle du circuit additionnel à retard de phase 614,618 est de retarder l'apparition de données dans le bloc de production/réception de données et d'introduire de ce fait un "retard de phase d'écriture", comme cela peut être requis pour accorder un système sur une marge maximale. La capacité de retarder une écriture en utilisant le circuit à retard de phase 614,618 fournit par conséquent une caractéristique de capacité d'accord au circuit de commande 600. Le premier multiplexeur à retard de phase 616 reçoit à la fois les premier et second flux de données 610, 612 et, en réponse au signal data2xnlx, sélectionne soit le premier flux de données 610, soit le second flux de données 612 pour sa délivrance au circuit à retard de phase 614. Le second multiplexeur à retard de phase 618 reçoit des données délivrées à la fois par le premier circuit de propagation de données 602 et le circuit à retard de phase 614 et détermine quelles données doivent être délivrées au circuit 608 de réunion de sortie en réponse à la combinaison OU-EXCLUSIF faite dans la porte 620 (XOR) du signal data2xnlx avec un signal de retard de phase d'écriture wpd. On notera que le signal data2xnlx est positionné dans le mode 2x et n'est pas positionné dans le mode lx. Cependant l'orientation du signal wpd est commuté en fonction de l'état du signal data2xnlx. Dans le mode lx, le signal wpd est positionné pendant un retard de phase d'écriture, et n'est pas positionné en l'absence d'un retard de phase d'écriture. Dans le mode 2x, le signal wpd est positionné en l'absence d'un retard de phase d'écriture, mais n'est pas positionné pour l'introduction d'un retard de phase d'écriture. On notera que sur la figure 6, le multiplexeur 606 de l'étage de multiplexage n'est plus commandé par le signal data2xnlx, mais au lieu de cela est commandé par la combinaison ET en 622 du signal data2xnlx et du signal wpd. Du point de vue fonctionnel, le circuit de commande 600 de la figure 6 fonctionne de la manière suivante. A la fois dans le mode lx et dans le mode 2x, en l'absence d'un retard de phase d'écriture (WPD=0 dans le mode lx; WPD=1 dans le mode 2x), des données se propagent dans les premier et second circuits de propagation de données 602,604, des données se propageant en premier circuit de propagation de données 602 et dans le circuit de réunion de sortie 608. A la fois dans le mode lx et dans le mode 2x avec un retard de phase d'écriture (WPD=1 dans le mode lx; WPD=0 dans le mode 2x) , des données se propagent dans le second circuit de propagation de données 604 et dans le circuit à retard de phase 614, les données se propageant tout d'abord dans le second circuit de propagation de données 604 et dans le circuit de réunion de sortie 608. On notera qu'avec un retard de phase d'écriture dans le mode lx ou dans le mode 2x, les données peuvent encore se propager dans le circuit à retard de phase 614. Cependant sauf si un retard d'écriture est indiqué, les données qui se propagent dans le circuit à retard de phase 614 ne se propagent pas dans le second multiplexeur à retard de phase 618 et dans le bloc DQ4 de production/réception de données. Un spécialiste ordinaire de la technique comprendra aisément comment chacun des circuits de commande 400,600 représentés sur les figures 4 et 6 peut être extrapolé pour la formation d'un circuit de commande pouvant fonctionner dans un mode lx ou dans un mode Nx. En rapport avec l'extrapolation du circuit de la figure N>2, on notera qu'un seul circuit à retard de phase 614 est nécessaire indépendamment du nombre de circuits de propagation de données 602,604, qui sont ajoutées au circuit de commande 600. Un spécialiste ordinaire de la technique comprendra également comment on peut utiliser un circuit de commande extrapolé (dans lequel N est un nombre pair #2) pour délivrer un flux de données Mx, avec 1>M#N Les figures 7 et 8 représentent une forme de réalisation améliorée 800 du circuit de commande de la figure 6, dans laquelle le bloc DQ4 de production/réception de données peut être réglé sur trois états, et dans lequel un signal d'échantillonnage, qui est produit dans un bloc DQS18 de production/réception de signaux d'échantillonnage, est synchronisé sur la sortie de données au niveau du bloc de production/réception de données. La figure 7 représente une forme de réalisation prédéterminée d'un circuit d'horloge 700 qui produit un grand nombre des signaux d'horloge qui apparaissent non seulement sur la figure 8, mais également sur les figures 12-20 et 22-27. Le circuit d'horloge 700 est commandé par un signal d'horloge de base MCK d'un contrôleur de mémoire. Le circuit d'horloge délivre à son tour des signaux d'horloge IOBCK, MUX-CLK et IOSCK. Le signal d'horloge IOBCK est simplement une version tamponnée du signal d'horloge MCK (tamponné au moyen d'un tampon 702). Le signal d'horloge MUX~CLK est tamponné au moyen d'un tampon 704, mais produit à la cadence du signal d'horloge MCK (c'est-à-dire lorsque le multiplexeur 706 est configuré pour fonctionner dans le mode lx) ou à 1/2 la cadence du signal d'horloge MCK (c'est-à-dire en tant que résultat du diviseur 708 que traverse le signal d'horloge MCK lorsque le multiplexeur 706 est configuré pour le fonctionnement dans le mode 2x). Le signal d'horloge MUX CLK peut être envoyé à une plaquette de multiplexeur 302 ou à un module de mémoire 104 (voir les figures 2 et 3). Si le multiplexeur 710 est configuré pour le fonctionnement dans le mode lx, le signal d'horloge IOSCK est équivalent au signal d'horloge MCK. Cependant, lorsque le multiplexeur 710 est configuré pour le mode de fonctionnement 2x, le signal d'horloge IOSCK représente une version du signal MCK, qui est retardé de 1/4 période (c'est-à-dire en tant que résultat du circuit à retard de 1/4 période 712). Le signal d'horloge IOSCK autorise le circuit de commande de la figure 8 de délivrer des signaux d'échantillonnage appropriés dans le mode 2x à une forme de réalisation préférée d'une plaquette intermédiaire 302 (figure 3). Le circuit de commande 800 représenté sur la figure 8 a de nombreuses similitudes avec le circuit de commande 600 représenté sur la figure 6. La correspondance des composants entre les figures 6 et 8 est la suivante. Le premier circuit de propagation de données 602 sur la figure 6 correspond à une voie d'acheminement à un seul fil 802 sur la figure 8. Le second circuit de propagation de données 604 correspond à une première bascule bistable de type D 804, et le circuit à retard de phase 604 correspond à une seconde bascule de type D 806. La correspondance d'autres composants de la figure 6 est indiquée sur la figure 8 au moyen de l'utilisation des mêmes chiffres de référence. Le circuit de réunion de sortie représenté sur la figure 8 est similaire à celui qui est représenté sur la figure 5 et comprend deux bascules bistables de type D 808, 810 et deux tampons 809,811 pouvant être placés dans trois états. Si les données peuvent être écrites et lues alternativement au moyen d'un bloc de production/réception de données (par exemple bloc DQ4 de production/réception de données), alors la capacité à régler suivant trois états le trajet d'écriture du bloc pendant des lectures peut être souhaitable. Par conséquent, la figure 8 incorpore un tampon trois-états 812 disposé entre le circuit de réunion de sortie 808-811 et le bloc de production/réception de données. L'état du tampon 812 est modifié pendant le commencement et l'achèvement d'écritures en utilisant deux signaux : trist~d et wpd. Le rôle du signal wpd a déjà été décrit plus haut. Le signal trist~d est envoyé à un multiplexeur 814 après l'apparition d'un retard dans l'une des deux bascules bistables de type D 816,818 ou dans ces deux bascules. Ces bascules bistables 816,818 sont constituées et commandées de façon cadencée de la même manière que les bascules bistables 804,810 que l'on trouve dans le circuit de réunion de sortie et dans le second trajet de propagation de données. L'étage du multiplexeur 814 est commandé par le signal wpd de telle sorte que le signal trist~d ouvre le tampon trois-états 812 en synchronisme avec le signal de sortie initial de données du circuit de réunion de sortie provenant soit du premier trajet de propagation de données 802, soit du second trajet de propagation de données 804 (c'est-à-dire lorsque le signal wpd est positionné (wpd = 1 dans le mode lx, wpd=0 dans le mode 2x), la sortie de données dans le bloc DQ4 est retardée de 1/2 la période du signal d'horloge IOBCK). La spécification JEDEC DDR SDRAM impose que des données doivent être transmis de façon synchrone avec un signal d'échantillonnage. Il en résulte que le circuit de commande de la figure 8 comporte un bloc (DQS18) de production/réception de signaux d'échantillonnage, et une unité logique 824-835 pour produire un signal d'échantillonnage qui est adapté de façon appropriée aux données lx ou 2x fournies dans le bloc DQS18 de production/réception de données. Le circuit 836,838, 840, qui est similaire à celui qui permet le couplage du tampon trois-états 812 au bloc DQS de production/réception de données, peut être utilisé pour faire fonctionner le tampon trois-états 822 couplé au bloc DQS18 de production/réception de signaux d'échantillonnage. Cependant, pour des considérations de cadencement qui seront décrites plus loin dans la présente description, le circuit est commandé par le signal wpd et par un signal trist~s qui agit séparément, mais d'une manière similaire au signal trist~d. Un signal d'échantillonnage est produit sous l'effet de l'envoi d'un couple de signaux act~stb[0] et act~stb[l] aux deux circuits de propagation de signaux d'échantillonnage 824/828,826 du circuit de commande de signaux d'échantillonnage 824-835. Dans le mode 2x, en l'absence d'un retard de phase d'écriture, act~stb[0] est imposé à force au niveau bas et act~stb[l] est fixé à force au niveau haut pendant la durée d'un cycle d'écriture. Les signaux act~stb[0:l] sont ensuite transférés de façon cadencée respectivement à travers les premiers et second couples de bascules bistables de type D 824/826,832/834. Les signaux act~stb[0:l] sont transférés de façon cadencée en parallèle dans le premier couple de bascules bistables 824,826, mais le signal act~stb[l] traverse d'une manière cadencée le second couple de bascules bistables 832,834 en premier. Par conséquent, en inversant les signaux act~stb[0:l] pendant une écriture dans le mode 2x avec le retard de phase d'écriture, le premier cadencement de la bascule bistable 834 maintient la sortie de DQS18 au niveau bas pendant 1/2 cycle d'horloge additionnel (c'est-à-dire une phase) et retarde l'apparition d'un signal d'échantillonnage sur la sortie de DQH18 pendant 1/2 signal d'horloge. On notera que, comme dans le circuit de commande de données, chaque bascule bistable 832,834 est suivie par des tampons 833,835 pouvant être réglé dans le mode trois- états. Ces tampons 833,835 forment, en combinaison avec les bascules bistables 832,834, un circuit de réunion de signaux d'échantillonnage, qui fonctionne de la même manière que le circuit de réunion de sortie 808-811 dans le trajet de données. Les états de act~stb[0] et act~stb[l] sont par conséquents statiques pendant une écriture 2x. Cependant ce n'est pas le cas dans le mode lx. Cependant, ce n'est pas le cas dans le mode lx. Dans le mode lx, chacun des signaux act~stb[l] commute à une cadence lx, et un retard de phase d'écriture est mis en oeuvre moyennant simplement le retardement du premier flanc montant de chacun des signaux act~stb[0:l]. Des circuits logiques combinatoires, qui peuvent être utilisés à la fois pour 1) produire les signaux act~stb[0] et act~stb[l], et 2) mettre en oeuvre une fonctionnalité additionnelle d'échantillonnage, qui sera décrite plus loin, vont être décrits dans la section suivante de la présente description. 3. Aptitude à commander des modules DIMM constitués de dispositifs de mémoire x4, x8 et xl6 RAM La spécification JEDEC DDR SDRAM spécifie que les mémoires DDR SDRAM peuvent être constituées sous la forme de dispositifs x4, x8 ou xl6. Des écritures réalisées dans les mémoires x4 DDR SDRAM requièrent un signal d'échantillonnage pour chaque ensemble de quatre signaux de données (c'est-à-dire un rapport données/signaux d'échantillonnage 4 :1), tandis que des écritures réalisées dans des mémoires x8 et xl6 DDR SDRAM requièrent un signal d'échantillonnage pour chaque ensemble de huit signaux de données (c'est-àdire un rapport données/signaux d'échantillonnage 8:1). Par le passé, les contrôleurs de mémoire DDR ont été conçus de manière à communiquer avec un type de module de mémoire DDR (c'est-à-dire un ensemble de modules de mémoire homogènes constitués uniquement de mémoires x4, x8 ou xl6 DDR SDRAM). Cependant un contrôleur de mémoire DDR fournirait une plus grande souplesse d'utilisation en particulier lorsqu'un utilisateur d'ordinateur désire augmenter la capacité de la mémoire de son ordinateur, si le contrôleur de mémoire était apte à communiquer avec des modules de mémoire constitués de dispositifs de mémoires RAM ayant des largeurs de données non homogènes. Pour satisfaire à cette exigence, le contrôleur de mémoire représenté sur les figures 7-13 peut réaliser une écriture dans des modules de mémoire constitués par des dispositifs de mémoires RAM ayant des largeurs de données non homogènes (par exemple des modules DIMM constitués par des mémoires x4 DDR SDRAM, des modules DIMM constitués par des mémoires x8 DDR SDRAM et des modules DIMM constitués par des mémoires xl6 DDR SDRAM). La figure 9 représente un environnement pris à titre d'exemple, dans lequel le contrôleur de mémoire 100 peut fonctionner. On notera que le contrôleur de mémoire 100 est couplé à une pluralité de douilles 902-908 par l'intermédiaire de lignes communes de transmission de données et de signaux d'échantillonnage. Une première des douilles 902 retient un module DIMM 104a constitué par des mémoires x4 DDR SDRAM; une seconde des douilles 904 retient un module DIMM 104b constitué par des mémoires x8 DDR SDRAM; et une troisième des douilles 906 retient un module DIMM 104b constitué par des mémoires xl6 DDR SDRAM 910-914. Sur la figure 9, le contrôleur de mémoire 100 est représenté comme comportant une pluralité de blocs de production/réception de signaux d'échantillonnage, dont chacun est associé à une pluralité de blocs de production/réception de données. A titre d'exemple et pour un fonctionnement direct avec des modules DDR DIMM existants, chaque bloc de signaux d'échantillonnage est représenté comme étant associé à 4 blocs de production/réception de données (par exemple un bloc DQSO de signaux d'échantillonnage correspond à des blocs DQO-DQ3 de production/réception de données, et le bloc DQS18 de signaux d'échantillonnage correspond à des blocs DQ4-DQ7 de production/réception de données). Bien que seuls deux blocs de production/réception de signaux d'échantillonnage et huit blocs de production/réception de données soient représentés sur la figure 9, le contrôleur de mémoire 100 pourrait comporter par exemple 36 blocs de production/réception de signaux d'échantillonnage et 144 blocs de production/réception de données. Comme cela sera décrit plus loin de façon plus détaillée, lors d'une communication avec les modules DIMM constitués de mémoire x4 DDR SDRAM, le contrôleur de mémoire 100 produit/reçoit des signaux au niveau de chacun de ces blocs de production/réception de données et blocs de production/réception de signaux d'échantillonnage. Il en résulte qu'il existe une correspondance 4 :1 les données et les signaux d'échantillonnage lorsque le contrôleur de mémoire 100 communique avec des modules DIMM constitués par des mémoires x4 DDR SDRAM. Cependant, lors de la communication avec des modules DIMM constitués de mémoires x8 ou xl6 DDR SDRAM, le contrôleur de mémoire 100 produit/reçoit des données au niveau de chacun de ses blocs de production/réception de données, mais produit/reçoit uniquement des signaux d'échantillonnage au niveau de ses blocs inférieurs de production/réception de signaux d'échantillonnage (c'est-à-dire les blocs DQSO-DQS17 de production/réception de signaux d'échantillonnage). Il en résulte qu'il existe une correspondance 8 :1 les données et les signaux d'échantillonnage lorsque le contrôleur de mémoire communique avec des modules DIMM constitués de mémoires x8 ou xl6 DDR SDRAM. La figure 10 représente un exemple de mappage de blocs de production/réception de signaux d'échantillonnage sur des blocs de production/réception de données pour le contrôleur de mémoire de la figure 9, en fonction du fait que le contrôleur de mémoire 100 transfère des données aux modules DIMM constitués de mémoire x4 ou x8/xl6 DDR SDRAM. On notera que les blocs supérieurs de signaux d'échantillonnage du contrôleur de mémoire sont maintenus au niveau bas pendant des écritures faites dans les modules DIMM constitués par des mémoires x8 ou xl6 DDR SDRAM. Une détermination du fait que les données sont écrites dans un module DIMM constitué de mémoires x4 ou x8/xl6 DDR SDRAM peut être réalisée grâce au maintien d'une carte de mémoire 1100 (figure 11) à l'intérieur du contrôleur de mémoire de la figure 9. Une telle carte 1100 peut comporter une table d'emplacements correspondants 1104 de module DIMM (par exemple des douilles) et des types de modules DIMM, les types spécifiant par exemple 1) des indications de largeur de données de dispositifs RAM 1106 pour un certain nombre de modules DIMM, ou 2) des indications de rapports données/signaux d'échantillonnage pour un certain nombre de modules DIMM. Les indications peuvent comprendre par exemple une valeur Ax pour chaque module de mémoire x qui est couplée au contrôleur de mémoire 100. Les valeurs Ax mémorisées dans la carte de mémoire peuvent être réalisées différemment. Cependant pour la communication avec des modules DIMM 104 constitués de mémoires x7, x8 et xl6 DDR SDRAM, chaque valeur Ax peut être constituée par un seul chiffre binaire, dont les deux valeurs représentent les rapports données/signaux d'échantillonnage qui sont requis pour lire et écrire respectivement dans des mémoires x7 et x8/xl6 DDR SDRAM. Par exemple, un "1" logique peut représenter un rapport de données/signaux d'échantillonnage 4 :1 cela est requis de la part de modules DIMM constitués de mémoire x4 DDR SDRAM, et un "0" logique peut représenter un rapport données/signaux d'échantillonnage égal à 8:1. Sinon, chaque valeur Ax pourrait être un équivalent binaire d'un rapport données/signaux d'échantillonnage actuel. Par exemple, un rapport données/signaux d'échantillonnage 4 :1 être mémorisé dans la carte de mémoire en tant que valeur "0100", tandis qu'un rapport données/signaux d'échantillonnage 8 :1 être mémorisé dans la carte de mémoire 1100 en tant que valeur "1000". En supposant que les rapports données/signaux d'échantillonnage sont fournis par des mémoires x4, x8, xl6 DDR SDRAM, la mémoire à quatre valeurs binaires dans une carte de mémoire 1100 est inutile. Cependant, l'application des principes indiqués ci-dessus à des environnements qui ne sont pas des environnements DDR et à des environnements DDR futurs pourrait rendre plus souhaitable la mémorisation d'équivalents binaires de rapports données/signaux d'échantillonnage. Chaque valeur Ax pourrait également être (ou représenter) la largeur de données des dispositifs de mémoires RAM 910-914 montés sur un module DIMM 104c. Cependant, si des dispositifs de mémoires RAM ayant des largeurs de données différentes possèdent les mêmes rapports données/signaux d'échantillonnage, comme dans le cas de mémoires x8 et xl6 DDR SDRAM, la taille des valeurs Ax peut être réduite si chaque valeur Ax représente simplement le rapport données/signaux d'échantillonnage de dispositifs RAM montés sur un module DIMM. La carte de mémoire 1100 peut être maintenue moyennant son initialisation lors de l'initialisation ou de la reconfiguration d'un système informatique 124. Dans une forme de réalisation préférée, la largeur de données d'un dispositif de mémoire RAM est lue à partir de chaque module de mémoire couplé au contrôleur de mémoire 100, et chaque largeur de données des dispositifs RAM est alors utilisée pour produire une valeur qui est mémorisée dans la carte de mémoire 1100. Sinon, bien que ceci ne soit pas préféré, les largeurs de données récupérées à partir des modules de mémoire 104 (ou des représentations de ces largeurs) peuvent être mémorisées directement dans la carte de mémoire 1100. Si les modules de mémoire 104 couplés au contrôleur de mémoire 100 sont des modules de mémoire DDR, alors chaque module de mémoire peut conserver une largeur de données de mémoire DDR SDRAM avec une mémoire ROM de détection de présence en série 916 située dans le module de mémoire. Si le contrôleur de mémoire 100 exécute une séquence de détection de présence en série à l'intérieur des modules de mémoire 104, alors une largeur de données de mémoire DDR SDRAM mémorisée dans une mémoire ROM de chaque module de mémoire peut être lue, convertie en une valeur Ax appropriée et mémorisée dans la carte de mémoire 1100. La carte de mémoire 1100 peut également être conservée par le fait qu'on lui envoie une valeur Ax pour chaque type de mémoire au moyen d'une interface d'utilisateur (par exemple le système d'utilité bios SETUP d'un système informatique). Pendant un cycle d'écriture, la carte de mémoire 1100 est adressée par l'ensemble ou une partie d'une adresse de mémoire, et une valeur d'adresse Ax est délivrée par la carte de mémoire 1100. La valeur de sortie est alors utilisée pour déterminer "à la volée" 1) combien de signaux d'échantillonnage doivent être produits par le contrôleur de mémoire 100, et 2) les endroits où les signaux d'échantillonnage doivent être produits (c'est-à-dire dans quels blocs de production/réception de signaux d'échantillonnage) . Pendant des cycles d'écriture du contrôleur de mémoire 100, des valeurs adressées Ax sont reçues par le circuit de commande d'échantillonnage comprenant deux ou plusieurs sous-ensembles de circuits de commande de signaux d'échantillonnage, chaque circuit de commande de signaux d'échantillonnage pouvant être configuré comme cela est représenté sur la figure 8. Les sous-ensembles de circuits de commande de signaux d'échantillonnage sont configurés de telle sorte qu'au moins l'un des sous-ensembles produit des signaux d'échantillonnage en réponse à seulement une partie desdites valeurs Ax. Par exemple, si chaque valeur Ax est constituée par un seul élément binaire ou bit, un sousensemble de circuits de commande de signaux d'échantillonnage peut seulement produire des signaux d'échantillonnage lorsque l'on a Ax = 1, tandis que l'autre sous-ensemble de circuits de commande de signaux d'échantillonnage peut produire des signaux d'échantillonnage pour les deux valeurs de Ax. En référence à la figure 10, les signaux d'échantillonnage sont toujours produits pour des blocs inférieurs de signaux d'échantillonnage, mais des signaux d'échantillonnage sont produits uniquement pour des blocs supérieurs de signaux d'échantillonnage lorsque la carte de mémoire délivre un "1" logique (c'est-à-dire lorsque Ax est un "1" logique). De cette manière, les signaux d'échantillonnage sont produits dans tous les blocs de production/réception de signaux d'échantillonnage lorsqu'une valeur adressée Ax est indicative d'un rapport de signaux d'échantillonnage 4:1, et des signaux d'échantillonnage sont produits dans seulement la moitié des blocs de production/réception de signaux d'échantillonnage (c'est-à-dire un sous-ensemble de blocs de production/réception de signaux d'échantillonnage constitué par les blocs inférieurs de signaux d'échantillonnage) lorsque Ax est indicatif d'un rapport de signaux d'échantillonnage 8:1. La carte de mémoire 1100 fait de préférence partie d'un dispositif d'acheminement d'adresses de mémoire (MAR) 1102 plus grand. Le dispositif MAR 1102 peut comporter une autre information concernant le type et l'organisation de modules de mémoire 104 couplés au contrôleur de mémoire 100, en dehors d'assister le circuit. Lorsque le dispositif MAR 1102 est pourvu d'une adresse de mémoire, un accès est réalisé à la carte de mémoire 1100 et à d'autres tables pour déterminer la douille de module DIMM et l'ensemble de modules DIMM, dans lequel l'adresse est située. Une adresse de ligne et une adresse de colonne dans le module DIMM adressé sont également déterminées. Simultanément, l'accès est réalisé à un rapport données/signaux d'échantillonnage de sorte que les blocs de production/réception de signaux d'échantillonnage du contrôleur de mémoire 100 illustré sur la figure 9 peuvent être configurés de façon appropriée pour l'écriture ou la réception de données à partir du type de module DIMM, qui est adressé. Le circuit de commande pour les différents blocs de production/réception de données et de production/réception de signaux d'échantillonnage représentés sur la figure 9 peut être réalisé comme cela est représenté sur la figure 8. Dans une telle forme de réalisation, ce sont les signaux act~stb[0] et act~stb [1] qui déterminent si, quand et comment un signal est produit dans un bloc de production/réception de signaux d'échantillonnage. Par conséquent le circuit est nécessaire pour produire deux ensembles des signaux act~stb[0] et act~stb[l]. Le circuit 1200 servant à produire les signaux act~stb[O] et act~stb[l], qui sont nécessaires pour configurer les blocs inférieurs de production/réception de signaux d'échantillonnage (c'est-à-dire les blocs DSQODSQ17) du contrôleur de mémoire de la figure 9 et représentés sur la figure 12, et le circuit 1300 pour la production des signaux act~stb[0] et act~stb[l], qui sont nécessaires pour la configuration des blocs supérieurs de production/réception de signaux d'échantillonnage (c'est-àdire les blocs DSQ18-DSQ35) dans le contrôleur de mémoire de la figure 9 est représenté sur la figure 13. Sur la figure 12, les signaux act~stb[0] et act~stb[l] de la figure 8 ont été redésignés respectivement par act~low[0] et act~low[l]. De façon analogue sur la figure 13, les signaux act~stb[0] et act~stb[l] de la figure 8 ont été redésignés respectivement par act~up[0] et act~up[l]. On notera que le circuit 1200,1300 représenté sur les figures 12 et 13 peut fonctionner dans différents modes, y compris le mode lx ou le mode 2x, et des modes avec ou sans retard de phase d'écriture. En outre on peut réaliser des modes d'écriture x4 et x8 avec ou sans long préambule d'écriture. Si on désire un contrôleur de mémoire 100 avec une moins grande fonctionnalité, un spécialiste ordinaire de la technique comprendra aisément comment il peut éliminer des portes sur les circuits des figures 12 et 13 afin d'éliminer de ce fait une fonctionnalité qui n'est pas nécessaire pour une application donnée. On va maintenant décrire le fonctionnement du circuit de la figure 12 dans le mode lx. Dans le mode lx, le signal data2xnlx est placé au niveau bas et l'activation du signal write~m~active commence à produire les signaux act~stb~low[0:1]. Lorsque le signal data2xnlx est placé au niveau bas, les multiplexeurs 1202,1204, 1226, qui sont commandés de ce fait, délivrent les données qui sont reçues sur leurs entrées "0". Lorsque le signal write~m~active est positionné, le signal act~stb~low[0] commence à commuter à la fréquence du signal d'horloge MCK, en fournissant un signal ayant une fréquence MCK/2, en raison de l'agencement de la porte 1206, du multiplexeur 1202, de la bascule bistable de type D 1208 et du trajet de réaction 1210. De façon analogue l'activation du signal write~m~active provoque la commutation du signal act~stb~low[l]. Pour des considérations de cadencement, une porte 1212 est insérée dans le trajet du signal act~stb~low[l]. La porte 1212 reçoit le signal de réaction 1210 et lorsque le signal write~m~active est au niveau haut, elle délivre le signal de réaction 1210 et une version de ce signal, qui est retardée par une bascule bistable 1214 aux entrées d'un multiplexeur additionnel 1216. Le multiplexeur 1216 est commandé par le signal wpd pour transmettre le signal de réaction 1210 jusqu'à la sortie du signal act~stb~low [1] avec ou sans retard. Dans le cas d'une absence de retard de phase d'écriture, le signal act~stb~low[l] traverse tout d'abord le bloc DQS18 de production/réception de signaux d'échantillonnage (voir figure 8). Sinon le signal act~stb-low[0] traverse tout d'abord le bloc de production/réception de signaux d'échantillonnage. Par conséquent l'activation du signal wpd provoque l'apparition d'un retard de phase d'écriture sur 1/2 cycle. Le circuit de la figure 12 fonctionne dans le mode 2x comme suit. Le signal data2xnlx est placé au niveau haut et les multiplexeurs 1202,1204 et 1226, qui sont commandés de ce fait, délivrent les données qui sont reçues au niveau de leurs entrées "1". Au moyen de la bascule bistable 1218 et de la porte 1220, le signal act~stb~low[0] est positionné lorsque le signal write~m~active~2x est au niveau haut et que le signal wpd est au niveau bas (c'est- à-dire lorsqu'il existe une écriture 2x avec un retard de phase d'écriture. Au moyen de la porte 1222 et de la bascule bistable 1224, le signal act~stb~low [1] est positionné lorsque le signal write~m~active~2x et le signal wpd sont tous deux au niveau haut (c'est-à-dire lorsqu'il existe une écriture 2x sans retard de phase d'écriture). On notera que le circuit de la figure 12 n'est pas à même de fournir un long préambule d'écriture. Cependant, un long préambule d'écriture peut être obtenu dans un bloc inférieur de production/réception de signaux d'échantillonnage, soit dans le mode lx, soit dans le mode 2x, par activation du signal trist~s avec un cycle d'avance (voir figure 8) . En résumé, le circuit de la figure 12 produit des signaux de sortie qui commutent dans le mode lx, et produit les signaux de sortie qui sont des signaux opposés statiques dans le mode 2x. Les signaux de sortie de commutation sont utilisés par le circuit de la figure 8 pour produire un signal d'échantillonnage lx, et les signaux de sortie statiques sont utilisés par le circuit de la figure 8 pour produire un signal d'échantillonnage 2x. On va maintenant décrire le fonctionnement de la figure 13 dans le mode lx. Dans le mode lx, le signal data2xnlx est placé au niveau bas et l'activation du signal write~m~active permet la production/réception de signaux act~stb~up[0;1]. Cependant les signaux act~stb~up[0;1] sont produits uniquement lorsqu'une écriture est exécutée dans un module DIMM constitué de mémoires x4 DDR SDRAM. Lors des modules DIMM constitués de mémoires x8 ou xl6 DDR SRAM, les signaux act~stb~up[0:1] sont placés au niveau bas de sorte qu'aucun signal d'échantillonnage n'est produit dans les blocs supérieurs de production/réception de signaux d'échantillonnage du contrôleur de mémoire de la figure 9. Par conséquent la figure 13 doit être analysée en rapport avec une écriture x4 dans le mode lx et une écriture x8/xl6 dans le mode lx. Pendant une écriture x4 dans le mode lx, le signal data2xnlx est placé au niveau bas et le multiplexeur 1302, qui est commandé de ce fait, délivre les données qui sont reçues à son entrée "0". Lorsque le signal write~m~active est positionné, la production/réception de signaux act~stb~up[0:1] est autorisée, mais uniquement si la seconde entrée de la porte ET 304 est positionnée. Pendant une écriture lx de n'importe quel type, le signal reset~L est maintenu au niveau haut. Par conséquent la seconde entrée de la porte ET 1304 est positionnée uniquement lorsque la sortie du multiplexeur 1306 est au niveau haut. La sortie du multiplexeur 1306 peut être positionnée uniquement lorsque le signal write~x4 est positionné (étant donné que le multiplexeur 1306 est commandé par le signal de sortie du multiplexeur 1334). Le signal write~x4 est par conséquent utilisé pour indiquer si une écriture est en cours d'exécution dans un module DIMM constitué de mémoires x4 ou x8/xl6 DDR SDRAM, et par conséquent le signal write~x4 est apte à répondre à des valeurs Ax délivrées par la carte de mémoire 1100. Si une écriture est réalisée dans un module DIMM constitué de mémoires x4 DDR SDRAM, le signal write~x4 est positionné, et il est possible au circuit de la figure 13 de produire des signaux act~stb~up[0:1]. D'autre part, lorsqu'une écriture est exécutée dans des modules DIMM constitués de mémoire x8 ou xl6 DDR SDRAM, le signal write~x4 est ramené à zéro et des signaux de sortie act-stb~up[0:1] sont maintenus au niveau bas. Le fonctionnement du circuit de la figure 13 pendant une écriture x4 dans le mode lx se déroule de la manière suivante. Lorsque le signal data2xnlx est au niveau bas, que le signal write~m~active est au niveau haut et que le signal write~x4, les signaux act~stb~up[0:1] restent au niveau bas jusqu'à ce que le signal d'écriture soit positionné. Après le positionnement du signal d'écriture, le signal d'écriture se propage selon un trajet comprenant des multiplexeurs 1308 et 1306, la porte OU 1310, la bascule bistable de type D 1312, les portes ET 1304 et 1314, le multiplexeur 1302, la bascule bistable de type D 1316 et la porte ET 1318 de manière à positionner ainsi le signal de sortie act~stb~up[0]. Le signal d'écriture traverse également le multiplexeur 1320 et la porte ET 1322 pour positionner de ce fait le signal de sortie act~stb~up[l]. Ensuite, et tant que les signaux d'entrée envoyés au circuit 1300 ne change pas d'état (sauf pour le signal d'horloge MCK), les signaux act~stb~up[0:1] sont commutés en raison de la présence du trajet de réaction 1324. Une écriture x4 dans le mode lx peut être retardée de 1/2 cycle MCK par positionnement du signal wpd. Le positionnement du signal wpd déclenche un retard du signal d'échantillonnage sur 1/2 cycle par le fait que le signal d'entrée 1326 envoyé au multiplexeur 1320 est retardé par la bascule bistable de type D 1328. Une écriture x4 dans le mode lx peut être également comporter un long préambule d'écriture. Un préambule d'écriture est un intervalle de temps avant la production d'un signal d'échantillonnage, pendant lequel un bloc de production/réception de signaux d'échantillonnage est maintenu à un niveau bas. Un tel préambule peut être allongé par positionnement du signal log~wpre, ce qui a pour effet que les signaux d'écriture write et write~x4 sont retardés respectivement par une paire de bascules bistables de type D 1330,1332. Contrairement au positionnement du signal wpd, qui sinon retarde un premier flanc montant du signal de sortie act~stb~up[l], le positionnement du signal long~wpre retarde les premiers flancs montants des deux signaux act~stb~up[0:1]. Comme cela a été mentionné précédemment dans cette description, une écriture x8/xl6 dans le mode lx conduit au fait que les signaux act~stb~up[0:1] sont maintenus au niveau bas, étant donné que des signaux d'échantillonnage supérieurs ne sont pas nécessaires pour une écriture x8/xl6. Les signaux d'échantillonnage supérieurs sont maintenus au niveau bas par maintien du signal write~x4 au niveau bas. Le circuit de la figure 13 fonctionne dans le mode 2x comme indiqué ci-après. Le signal data2xnlx est placé au niveau haut et les portes 1318 et 1322 sont bloquées. Il en résulte que les signaux act~stb~up [0] et act~stb~up[l] sont toujours maintenus au niveau bas dans le mode 2x. La raison pour laquelle les signaux act~stb~up[0:1] ne sont pas produits dans le mode 2x est qu'un choix a été fait pour rendre les plaquettes intermédiaires 302 (figure 3) plus simple grâce au fait que l'écriture utilisée dans ces plaquettes est toujours effectuée comme s'il s'agissait de modules x8 DIMM. Par conséquent un moins grand nombre de signaux sont acheminés vers les plaquettes intermédiaires 302 et, lorsque cela est nécessaire, les plaquettes intermédiaires 302 produisent les signaux d'échantillonnage additionnels, dont ils ont besoin pour écrire dans les modules x4 DIMM. 4. Cadencements d'écriture Les figures 14-17 représentent des cadencements d'écriture du circuit de commande de contrôleur de mémoire représenté sur les figures 7,8, 12 et 13. Sur la figure 14, le signal DQ4~PAD~ON est positionné pendant le même cycle que celui dans lequel le bloc DQ4 est commandé. Comme cela est représenté sur la figure 8, le signal DQ4~PAD~ON est le signal qui permet au tampon trois-états d'être couplé au bloc DQ4. De façon analogue le signal DQS18~PAD~ON est le signal qui permet au tampon trois-états d'être couplé au bloc DQS18. Wl, Wbl-1 et Wbl représentent des bits successifs d'un mot de données apparaissant dans le bloc DQ4. La figure 14 représente le cas où long wpre=0, et par conséquent spécifie un préambule d'écriture 1400 d'un cycle d'horloge MCK. Sur la figure 14 on suppose également que l'on a wpd=0. Si wpd est positionné, alors les signaux DQS18, DQS18~PAD~ON, DQ4 et DQ4~PAD~ON seraient tous décalés vers le 1/2 cycle MCK de droite (c'est-à-dire d'une phase). Les signaux appliqués à trk~pad~owd par des flèches sont tous commandés par le positionnement de trk~pad~owd, et par conséquent possèdent une position temporelle fixe entre eux. Le signal trk~pad~owd est un signal, qui amène un bloc de contrôleur de mémoire sur "sortie des données d'écriture". Le signal est produit dans le coeur d'un contrôleur de mémoire 100 et est envoyé à un automate fini 2900 de commande du bloc (figure 29) pour la production/réception de signaux trist~d et trist~s (figure 8). La figure 14 s'applique aux cadencements d'écriture d'un bloc inférieur de production/réception de signaux d'échantillonnage (c'est-àdire un bloc de production/réception de signaux d'échantillonnage qui est configuré de manière à écrire dans les modules DIMM constitués de mémoires x4 et x8/xl6 DDR SDRAM. Un bloc supérieur de signaux d'échantillonnage (c'est-àdire un bloc de production/réception de signaux d'échantillonnage, qui est configuré de manière à écrire dans des modules DIMM constitués de mémoires x4 et x8/xl6 DDR SDRAM). Un bloc de production/réception de signaux d'échantillonnage supérieurs (c'est-à-dire un bloc de production/réception de signaux d'échantillonnage qui est configuré uniquement pour écrire dans des modules DIMM constitués par des mémoires x4 DDR SDRAM) maintient la ligne DQS18 au niveau bas lorsque des écritures s'effectuent dans des mémoires x8/xl6 DDR SDRAM. La figure 15 est similaire à la figure 14, qui comporte un long préambule d'écriture (c'est-à-dire long~wpre=l). Par conséquent un préambule d'écriture 1500 formé de deux cycles d'horloge MCK est indiqué. Sur la figure 16, le signal DQ4~PAD~ON indique lors du même cycle que le bloc DQ4 est activé. wl, w2, ... w8 représentent des bits successifs d'un mot de données apparaissant dans le bloc DQ4. La figure 16 représente le cas où long~wpre=0, et par conséquent spécifie un préambule d'écriture 1600 de 0,75 cycle d'horloge MCK. Un synchroniseur final de 0,75 cycles MCK est également prévu. La figure 16 suppose également que l'on wpd=0. Si wpd était positionné, alors les signaux DQS18, DQS18~PAD~ON, DQ4 et DQ4~PAD~ON seraient tous décalés vers la droite de 1/2 cycle MCK (c'est-à-dire d'une phase). Les signaux liés à trk~pad~owd par des flèches sont tous commandés par le positionnement du signal trk~pad~owd, et par conséquent possèdent un cadencement fixe les uns par rapport aux autres. La figure 16 s'applique à l'enregistrement de cadencement d'un bloc inférieur de production/réception de signaux d'échantillonnage. Un bloc supérieur de production/réception de signaux d'échantillonnage maintiendrait la ligne DQS18 au niveau bas lorsque des écritures sont réalisées dans des modules DIMM constitués de mémoires x8 ou xl6 DDR SDRAM. La figure 17 est similaire à la figure 16, mais avec un long préambule d'écriture (c'est-à-dire long~pre=l) . Par conséquent, un synchroniseur final d'écriture 1700 de 1,75 cycle d'horloge MCK est indiqué. 5. Capacité à effectuer la lecture dans le mode lx ou 2x La figure illustre une forme de réalisation préférée d'un circuit de réception 1800 pour un contrôleur de mémoire 100 à double cadence de données (figure 9) . Le circuit formant récepteur 1800 comprend un bloc de production/réception de données (DQ4), quatre circuits transparents de verrouillage d'entrée de données 1802,1804, 1806,1808, un circuit de distribution de signaux d'échantillonnage 1810,1812 (pour distribuer des signaux d'échantillonnage aux circuits de verrouillage d'entrée de données 1802-1808 au moyen d'un comptage de flancs de signaux d'échantillonnage, ce qui fournit un moyen de lire des données à partir d'un module DIMM constitué de mémoires x4, x8 ou xl6 DDR SDRAM), une paire de multiplexeurs de suppression de défaut d'alignement 4 :1 1816 (c'est-à- dire un étage de multiplexage de suppression de défaut d'alignement), et une unité logique 1818-1846 de sélection de multiplexeurs pour envoyer aux multiplexeurs de suppression de défaut d'alignement 1814,1816 un ensemble approprié de signaux de commande (en fonction du fait que le circuit de réception 1800 est configuré pour lire dans un mode lx ou dans un mode Mx (par exemple 2x)). On notera que le bloc de production/réception de données représenté sur la figure 18 est de préférence identique au bloc de production/réception de données représenté sur la figure 8, et par conséquent est un bloc bidirectionnel de production/réception de données. Les quatre circuits de verrouillage d'entrée de données 1802-1808 chacun l'ensemble du flux de données apparaissant au niveau du bloc DQ4 de production/réception de données. Cependant les circuits de verrouillage d'entrée de données 1802-1808 sont rendus transparents à raison d'un circuit de verrouillage à la fois, successivement, et en réponse à un signal d'échantillonnage reçu dans un bloc DQS18 de production/réception de signaux d'échantillonnage (figure 19) de sorte que 1) un premier bit de données verrouillé dans le circuit de verrouillage 1802 en réponse à un premier flanc d'échantillonnage arrivant, reçu dans le bloc de production/réception de signaux d'échantillonnage DQS18,2) un second bit de données verrouillé dans le circuit de verrouillage 1804 en réponse à un second flanc d'échantillonnage arrivant reçu dans le bloc DQS18,3) un troisième bit de données verrouillé dans le circuit de verrouillage 1806 en réponse à un troisième flanc arrivant de signal d'échantillonnage reçu dans le bloc DQS18,4) un quatrième bit de données verrouillé dans le circuit de verrouillage 1808 en réponse à un quatrième flanc de signal d'échantillonnage arrivant reçu dans le bloc DQS18, puis 5) deux nouveaux bits de données sont à nouveau verrouillés séquentiellement dans des circuits de verrouillage 1802- 1808 en commençant par le circuit de verrouillage 1802, si des bits de données additionnels doivent être reçus dans le bloc DQ4. La production/réception de signaux S1-S4 (ou comme on peut le voir sur la figure 18, des signaux Sl~altS4~alt) sera décrite dans une section ultérieure de la présente description. Pour cette partie de la description, il suffit de comprendre qu'un ensemble d'impulsions de commande telles que des signaux S1-S4 sont prévues pour verrouiller des données dans les circuits respectifs de verrouillage d'entrée de données 1802-1808. Indépendamment du fait que le circuit de réception 1800 est configuré de manière à fonctionner dans le mode lx ou 2x et indépendamment des données qui sont reçues depuis un module DIMM constitué de mémoires x4 DDR SDRAM, x8/xl6 DDR SDRAM ou une plaquette intermédiaire 302, des signaux de commande Sl-S4 sont positionnés séquentiellement en réponse aux flancs d'impulsions d'échantillonnage arrivants, reçus au niveau d'un bloc de production/réception de signaux d'échantillonnage. Les impulsions d'horloge S1-S4 sont par conséquent produites à une cadence d'horloge lx ou 2x DDR, en fonction de la cadence à laquelle les flancs des signaux d'échantillonnage sont reçus dans un bloc correspondant de production/réception de signaux d'échantillonnage. Comme cela est représenté sur la figure 18, chacun des circuits transparents de verrouillage d'entrée de données 1802-1808 est couplé à des entrées de premier et second multiplexeurs de suppression de défauts d'alignement 4:1 1814, 1816. Cependant, dans le mode lx, le signal de sortie du second multiplexeur de suppression de défauts d'alignement 1816 est sans signification et est ignoré. Comme on peut le voir sur la figure, le positionnement à zéro ou la suppression du signal data2xnlx maintient les entrées de commande du second multiplexeur de suppression de défaut d'alignement 1816 constantes pendant une lecture dans le mode lx. Dans une salve dans le mode lx de quatre lectures, quatre bits de données sont transférés respectivement de façon cadencée dans les circuits de verrouillage d'entrée de données 1811-1808. En raison de la logique de sélection de multiplexeurs comprenant quatre bascules bistables de type D 1824,1830, 1844,1846, trois portes 1810,1820, 1826 et deux multiplexeurs 1822,1828, les entrées de données du premier multiplexeur de suppression de défaut d'alignement 1814 sont couplés séquentiellement à la sortie du multiplexeur dans l'ordre 0,2, 1, 3. Le premier multiplexeur de suppression de défaut d'alignement 1814 délivre par conséquent séquentiellement des bits de données, dans l'ordre où ils sont reçus dans le bloc de production/réception de données DQ4. Chaque sortie du premier multiplexeur de suppression de défaut d'alignement 1814 est commandé de façon cadencée dans le domaine de signal d'horloge du coeur du contrôleur de mémoire de la figure 9 lors de l'apparition d'un flanc montant du signal d'horloge IOBCK du contrôleur (c'est-àdire commandé de façon cadencée par la bascule bistable de type D 1848 à une cadence lx DDR). Les signaux de commande produits par l'unité logique 1824,1830, 1844,1846, 1818,1820, 1826,1822, 1828 de sélection de multiplexeurs dans le mode lx sont quelquefois désignés sous l'expression premier ensemble de signaux de commande. On notera que les signaux de verrouillage d'entrée de données 1802-1808 fonctionnent dans le domaine temporel d'un signal d'échantillonnage qui est reçu dans un bloc de production/réception de signaux d'échantillonnage correspondant au bloc DQ4 de production/réception de données (par exemple le bloc DQS18 de production/réception de signaux d'échantillonnage). Cependant les multiplexeurs de suppression de défauts d'alignement 1814,1816 fonctionnent dans le domaine des signaux d'horloge du contrôleur de mémoire 100. En raison du verrouillage des données dans quatre circuits de verrouillage d'entrée de données 1802-1808, le contrôleur de mémoire 100 (et en particulier l'unité logique de sélection de multiplexeurs 1818-1846 pour la commande des multiplexeurs de suppression de défauts d'alignement 1814,1816) est pourvu d'une fenêtre égale à 1,5 périodes d'un signal d'échantillonnage arrivant pour faire sortir de façon cadencée des données hors d'un circuit de verrouillage d'entrée de données et pour les introduire dans le coeur du contrôleur de mémoire 100. Un spécialiste ordinaire de la technique comprendra aisément que le nombre de circuits de verrouillage d'entrée de données 1802-1808 prévu dans le circuit de récepteur de la figure 18 peut être extrapolé à P circuits de verrouillage, avec P.2, de manière à fournir une période plus courte ou plus longue de transfert de données depuis le domaine d'un signal d'échantillonnage arrivant au domaine du signal d'horloge du contrôleur de mémoire 100. On comprendra également que l'on peut utiliser d'autres types d'éléments de mémoire à la place de circuits de verrouillage d'entrée de données transparents 1802-1808 (par exemple des bascules bistables de type D). Une salve dans le mode lx de huit signaux de lecture fonctionne de façon similaire à une salve dans le mode lx de quatre signaux de lecture, deux ensembles de quatre bits de données étant verrouillés dans des circuits de verrouillage d'entrée de données 1802-1808. Les entrées de données du premier multiplexeur de suppression de défaut d'alignement 1814 sont par conséquent couplées à sa sortie dans l'ordre 0,2, 1, 3,0, 2, 1, 3. Dans le mode 2x, toutes les lectures sont exécutées de préférence sous la forme de salves de huit lectures. Les circuits de verrouillage d'entrée de données 1802-1808 sont par conséquent rendus transparents de la même manière pour une salve dans le mode lx de huit lecture, mais à une cadence double. Cependant dans le mode 2x, les deux multiplexeurs de suppression de défaut d'alignement 1814,1816 sont actifs, leurs entrées étant actives dans l'ordre suivant : entrée 0, multiplexeur 1814 entrée 0, multiplexeur 1816 entrée 1, multiplexeur 1814 entrée 2, multiplexeur 1816 On notera que les signaux de commande pour les deux multiplexeurs 1814,1816 changent d'état d'une manière synchrone avec le signal d'horloge IOBCK du contrôleur de mémoire, mais que les signaux de commande du multiplexeur 1816 changent d'état avec un déphasage de 1/2 cycle d'horloge IOBCK par rapport aux signaux de commande pour le multiplexeur 1814. Dans le mode 2x, l'unité logique de sélection des multiplexeurs, qui commande les deux multiplexeurs de suppression de défauts d'alignement 1814,1816 comprend cinq bascules bistables de type D 1824,1830, 1836,1842, 1844, quatre portes 1832,1834, 1838,1840 et deux multiplexeurs 1822,1828. Les signaux de commande produits par l'unité logique 1824,1830, 1836,1842, 1844,1832, 1834,1838, 1840,1822, 1828 de sélection des multiplexeurs dans le mode 2x sont quelquefois désignés comme étant un second ensemble de signaux de commande. On notera que, indépendamment du fait que des bits de données sont reçus par le circuit 1800 de la figure 18 dans le mode lx ou 2x, chacun des signaux de commande, qui sont produits par l'unité logique 1818-1846 de sélection des multiplexeurs peut être produit à une cadence lx, même si ensemble les multiplexeurs de suppression de défauts d'alignement 1814, 1816 produisent effectivement des données à une cadence 2x. En raison de la présence des deux bascules bistables de type D 1850,1852, qui sont commandées de façon cadencée d'une manière alternée et sont couplées à la sortie du second multiplexeur de suppression de défaut d'alignement 1816, les bits de données pairs et impairs 2x sont envoyés en parallèle au coeur du contrôleur de mémoire 100. Il s'agit simplement d'un choix de conception et il est prévu pour compléter la description de la forme de réalisation préférée. Le circuit formant récepteur de la figure 18 peut être validé et invalidé par l'intermédiaire d'une porte ET 1854. La porte ET 1854 est validée et invalidée par l'intermédiaire de la sortie d'un multiplexeur 1856, qui délivre le signal DQ4~RCV~ON au bout de 1/2 ou 1 cycle d'horloge IOBCK (tel que déterminé par un couple de bascules bistables de type D 1858,1860 branchées en cascade et par l'état du signal de retardement de phase de lecture (rpd) ) . Le rôle de la porte ET 1854 et de l'unité logique 1856-1860, qui lui est associée, est de protéger le circuit formant récepteur 1802-1808,1814, 1816,1848-1852 installé en aval, vis-à-vis du bruit qui pourrait être présent lorsque le bus couplé au bloc de production/réception de données DQ4 est vide et réglé dans le régime trois-états. 6. Immunité au bruit trois-états lors de lectures Pendant un cycle de lecture de mémoire, il est nécessaire de tenir compte d'une variation du retard de la boucle contrôleur-mémoire-contrôleur (c'est-à-dire du retard de boucle de lecture). Par exemple, sur la figure 21, une pluralité de modules de mémoire 104 sont couplés à un contrôleur de mémoire 100 par l'intermédiaire de bus communs de transmission de données (DQ) et de transmission de signaux d'échantillonnage (DQS). Non seulement il est prévu une pluralité de modules de mémoires 104 couplés aux bus de transmission de données et de signaux d'échantillon- nage, mais chacun des modules de mémoires 104 peut présenter des variations de cadencement dans des gammes autorisées (par exemple dans les gammes prévues dans la spécification JEDEC DDR SDRAM). En outre des copies d'un signal d'horloge, qui sont distribuées à tous les modules de la pluralité de modules de mémoires 104 peuvent présenter un défaut d'alignement entre elles. En raison des irrégularités indiquées plus haut, des demandes de lecture, qui sont distribuées à différents modules de mémoire (avec leurs caractéristiques modifiées de cadencement et leurs signaux d'horloge présentant un défaut d'alignement) peuvent nécessiter différents intervalles de temps pour revenir au contrôleur, et il existe une variation du retard de boucle de lecture, qui doit être pris en compte lors de la détermination de l'instant où il faut valider et invalider la réception de données d'échantillonnage dans un contrôleur de mémoire 100. Un tel retard peut être pris en compte uniquement lorsqu'on s'assure qu'un contrôleur de mémoire 100 reçoit de façon appropriée des données et des signaux d'échantillonnage en réponse à un retard de boucle le plus bref possible (c'est-à-dire un cas de réception précoce) et un retard de boucle plus long possible (c'est-à-dire un cas de réception tardive). Les bus de transmission de données et de signaux d'échantillonnage pour les modules de mémoires 104 dans le cadre de la spécification JEDEC DDR SDRAM présente une caractéristique remarquable. La tension de référence pour chaque ligne des bus est la même que la tension de terminaison de la ligne du bus. Cela signifie que, sous l'action du bruit, des blocs de production/réception de signaux d'horloge d'un contrôleur de mémoire 100 sont soumis au développement de transitions erronées de "0" à "1" et de "1" à "0" lorsque leurs lignes correspondantes de bus sont à trois-états. Si on ne tient pas compte de cela, ces transitions peuvent être interprétées de façon erronée comme étant des flancs actifs de signaux d'échantillonnage, ce qui conduit à une altération potentielle des données. La spécification JEDEC DDR SDRAM essaie d'éliminer ce problème en prévoyant un "synchroniseur initial de lecture" et "synchroniseur final de lecture". Le synchroniseur initial de lecture fournit un intervalle de temps avant le premier flanc de signaux d'échantillonnage arrivants, pendant lequel un bloc de production/réception de signaux d'échantillonnage est maintenu au niveau bas. De façon analogue, le synchroniseur final de lecture fournit un intervalle de temps après le dernier flanc d'impulsions d'échantillonnage arrivant, pendant lequel un bloc de production/réception de signaux d'échantillonnage est maintenu au niveau bas. Il en résulte que les flancs des signaux d'échantillonnage peuvent arriver lors d'un bloc de production/réception de signaux d'échantillonnage un peu en avance ou un peu en retard et ils se situent encore pendant la période, pendant laquelle un contrôleur de mémoire 100 affecte le retour d'un cycle de lecture. Cependant, des problèmes peuvent se poser lorsque la variation entre des flancs d'impulsions d'échantillonnage et des flancs précoces et tardifs de signaux d'échantillonnage arrivants est importante. La figure 22 représente un cycle de lecture DDR dans le mode lx (data2xnlx=0) sans aucun retard de phase de lecture (rpd=0), comme cela est visible dans le circuit formant récepteur 1800,2000 des figures 18 et 20. On notera que la variation entre les signaux DQS18 (précoces) et DQS18 (tardifs), qui représentent respectivement l'arrivée la plus précoce et l'arrivée la plus tardive attendues de flancs de signaux d'échantillonnage dans le bloc DQS18 de production/réception de signaux d'échantillonnage (c'est-à-dire un "cas de réception précoce" et "cas de réception tardive"). On notera également que la transition de signaux d'échantillonnage "0" à trois-états dans le cas de réceptions précoces intervient avant que le dernier flanc de signal d'échantillonnage soit reçu dans le cas de réceptions tardives. Par conséquent, sauf si l'on peut prédire par avance exactement le moment où des signaux d'échantillonnage seront reçus dans un bloc de production/réception de signaux d'échantillonnage (c'est-àdire d'une manière précoce ou tardive), il est possible de réaliser une prédiction avec une précision parfaite, on ne peut pas, dans tous les cas, régler dans le mode trois- états un récepteur de blocs de production/réception de signaux d'échantillonnage à la fois 1) après la réception, par le récepteur, d'un dernier flanc arrivant de signaux d'échantillonnage, et 2) avant qu'un signal d'échantillonnage arrivant passe au mode trois-états. Comme le comprendra aisément un spécialiste ordinaire de la technique, une prédiction lors de la réception de signaux d'échantillonnage au niveau d'un bloc de production/réception de signaux d'échantillonnage est extrêmement difficile étant donné qu'une telle prédiction dépend non seulement des voies d'acheminement de fils entre un contrôleur 100 et une mémoire 104, ainsi que du temps nécessaire pour accéder à une adresse particulière de mémoire à l'intérieur d'un module de mémoire, mais également de la température, du défaut d'alignement du signal d'horloge, de vitesses d'accès en mémoire, etc. Un moyen d'empêcher que la mise dans le mode trois-états d'un signal d'échantillonnage ne produise un bruit qui soit interprété comme des flancs d'un signal d'échantillonnage, est de ce fait nécessaire. Les figures 18,19 & 20 illustrent de tels moyens. Sur la figure 18, quatre circuits de verrouillage d'entrée de données 1802-1808 sont couplés de manière à recevoir des données de la part du bloc DQ4 de production/réception de données. Les quatre circuits de verrouillage 1802-1808 sont commandés respectivement par des valeurs d'un nombre compté. Par exemple sur la figure 18, les quatre circuits de verrouillage 1802-1808 sont commandés par un comptage à quatre bits au niveau un élevé comprenant les bits SI, S2, S3 et S4. Cette valeur comptée peut être produite par un compteur 19, en réponse à des flancs tamponnés d'impulsions d'échantillonnage, délivré par un récepteur 2030, qui est couplé au bloc DQS18 de production/réception de signaux d'échantillonnage. Le compteur est commandé par une unité logique 1902 de commande du compteur, qui comprend un bloc d'une unité logique combinatoire 1904 et d'une partie de la logique 1908 du coeur du contrôleur de mémoire. L'unité logique combinatoire 1904 reçoit un signal de commande (DQS18~start), une réaction 1906 de la part du contrôleur 1900 et le signal de validation DQS18~RCV~ON. Le signal de validation DQS18~RCV~ON est envoyé à la fois à l'unité logique combinatoire 1904 de l'unité logique 1902 de commande du compteur, ainsi qu'au récepteur 2030 qui mémorise temporairement les flancs de signaux d'échantillonnage reçus au niveau du bloc DQS18 de production/réception de signaux d'échantillonnage, de sorte que le circuit de réception de signaux d'échantillonnage représenté sur la figure 19 peut être validé globalement de la même manière que le circuit formant récepteur de données de la figure 18 est validé. Les entrées de commande primaires de l'unité logique combinatoire sont le signal de commande DQS18~START et la réaction 1906 de compteur. En supposant que 1) le signal DQS18~RCV~ON est positionné et que 2) le compteur 1900 est ramené à l'état initial, alors le signal de commande DQS18~START détermine le moment où le compteur 1900 est validé. Dans une première forme de réalisation préférée, le signal de commande DQS18~start est simplement une impulsion de largeur fixe, qui est produite avant chaque cycle de lecture du contrôleur de mémoire 100. Dans la première forme de réalisation préférée, chaque signal d'échantillonnage reçu dans le bloc DQS18 est supposé posséder le même nombre de flancs. Dans une seconde forme de réalisation préférée, le signal de commande DQS18~START comprend un état de départ (par exemple un flanc retombant) et une condition d'arrêt (par exemple un flanc montant), le cadencement des étages de départ et d'arrêt variant en fonction du nombre de flancs de signaux d'échantillonnage, dont on s'attend à ce qu'il soit reçu pendant un cycle de lecture actuel. De cette manière, l'unité logique centrale 1908 peut commander de façon cadencée les états de départ et d'arrêt en fonction du fait qu'un cycle de lecture actuel est par exemple 1) une salve DDR formée de quatre cycles de lecture, une salve formée de huit cycles de lecture, ou 2) un cycle de lecture DDR dans le mode 2x ou dans le mode Mx (M.2) . La seconde forme de réalisation du signal de commande DQS18~start fournit par conséquent un contrôleur de mémoire 100 ayant une plus grande souplesse de lecture. La figure 20 représente une forme de réalisation préférée plus détaillée du circuit représenté sur la figure 19, dans laquelle des signaux S1-S4 sont produits par un compteur réversible 2002-2012 qui réalise une incrémentation de son comptage à quatre bits au niveau élevé 1 en réponse à chaque flanc d'échantillonnage de signal d'échantillonnage reçu au niveau du bloc DQS18 de production/réception de signaux d'échantillonnage. Le compteur réversible 2002-2012 est validé et est ramené à zéro par l'unité logique 2014-2028 de commande du compteur, qui est couplé aux entrées DQS18~tff~rise~rst et DQS18~tff~fall~rst du compteur 2002-2012. Pendant un cycle de lecture, l'unité logique 2014-2028 de commande du compteur produit un état de démarrage lors de l'apparition du signal DQS18-tff-start (un flanc retombant sur la figure 20), de manière à permettre ainsi le comptage des flancs de signaux d'échantillonnage du compteur. C'est-à-dire qu'on suppose que le compteur 2002-2012 est déjà ramené à zéro. L'unité logique 2014-2028 de commande du compteur facilite alors la remise à zéro du compteur 2002-2012 en produisant une condition d'arrêt (un flanc montant sur la figure 20) dans le signal DQS18~tff~start. Comme cela sera expliqué plus loin de façon plus détaillée, la condition de démarrage sert à valider le compteur 2002-2012 d'une manière asynchrone par rapport aux flancs des signaux d'échantillonnage, qui sont reçus dans le bloc DQS18 de production/réception de signaux d'échantillonnage. Le compteur 2002-2012 est également ramené à zéro d'une manière asynchrone par rapport aux flancs des signaux d'échantillonnage, reçus dans le bloc DQS18 de production/réception de signaux d'échantillonnage. Le compteur 2002-2012 est ramené à zéro en réponse à la condition d'arrêt et à la réaction du compteur. On notera que sur la figure 22, la condition d'arrêt est produite au milieu d'un cycle de lecture et pendant le comptage, effectué par le compteur, les quatre derniers flancs de signaux d'échantillonnage d'un cycle de lecture (c'est-àdire les derniers P flancs de signaux d'échantillonnage). Cependant étant donné que le signal de réaction du compteur est reçu au niveau d'entrée de portes logiques 2014 et 2018 de l'unité logique 2014-2028 de commande du compteur, le compteur 2002-2012 continue à compter les quatre derniers flancs d'un signal d'échantillonnage reçu avant de passer à l'état ramené à zéro - même si le compteur 2002-2012 a déjà reçu une condition d'arrêt. La condition d'arrêt n'arrête par conséquent pas immédiatement le compteur 2002-2012, mais empêche que le compteur 2002-2012 compte au-delà des quatre derniers flancs d'un signal d'échantillonnage reçu. Comme on le comprendra de façon résumée, le compteur 2002- 2012 compte les derniers flancs du signal d'échantillonnage indépendamment du niveau où se trouve son comptage lorsqu'une condition d'arrêt est produite. Par conséquent, indépendamment du fait que le compteur 2002-2012 a compté un, deux ou trois des quatre derniers flancs du signal d'échantillonnage lorsqu'une condition d'arrêt est produite, le compteur termine le comptage des quatre derniers flancs d'un signal d'échantillonnage, et ensuite s'arrête de compter. Il en résulte que tant que les quatre derniers flancs du signal d'échantillonnage du bloc DQS18 (précoce) chevauchent les quatre derniers flancs du signal d'échantillonnage DQS18 (tardif), on peut trouver un moment pour positionner DQS18~tff~start de telle sorte que 1) tous les flancs du signal d'échantillonnage soient comptés, et que 2) le compteur 2002-2012 soit ramené à l'état initial avant le moment où un bus de transmission de signaux d'échantillonnage est placé dans le mode trois-états. Sur la figure 20, le compteur réversible comprend deux éléments d'état 2002-2004. Les éléments d'état sont de préférence des bascules bistables 2002,2004, qui produisent un nombre binaire arithmétique (SA:SB). Le compteur comprend également une unité logique combinatoire 2006-2012 qui convertit le comptage binaire arithmétique mentionné précédemment en un comptage binaire à quatre bits au niveau élevé un. La première des deux bascules bistables 2002 produit des signaux de sortie SA et SA' et est commandée de façon cadencée par des flancs montants du signal d'échantillonnage. La seconde des deux bascules bistables 2004 produit des signaux SB et SB' et est commandée de façon cadencée par des flancs retombants du signal d'échantillonnage. En aval des deux bascules bistables 2002-2004 du compteur, l'unité logique combinatoire, qui convertit le comptage binaire arithmétique des bascules bistables en un comptage binaire au niveau élevé 1 comprend quatre portes ET 2006-2012. Les entrées des quatres portes ET 2006-2012 sont reliées à différentes sorties SA, SA', SB et SB' de sorte que les portes ET 2006-2012 positionnent leurs sorties S1-S4 d'une manière séquentielle et réversible. Si la bascule bistable 2002, qui produit un signal de sortie SA, est considérée comme étant la bascule bistable de rang faible du compteur 2002-2012, alors la valeur de comptage binaire, qui est produite par les bascules bistables 2002-2004 du compteur fournit la séquence suivante : 0, 1, 3,2, 0, 1, 3,2, 0,... Par conséquent l'ordre de la valeur de comptage du compteur n'est pas aussi importante que la nature uniforme et répétitive de la valeur de comptage du compteur. De même, bien que le compteur représenté sur la figure 20 soit un compteur réversible 2002-2012, le compteur peut se présenter sous d'autres formes. Par exemple le compteur pourrait comporter des éléments d'états additionnels 2002, 2004 ou une unité logique de sortie 2006-2012 pour compter tous les flancs d'un signal d'échantillonnage, sans nécessiter une inversion pendant un comptage donné. L'unité logique 2014-2028, qui valide et ramène à zéro le compteur, comprend une paire de portes ET 2014, 2018, qui sont couplées respectivement aux entrées de remise à l'état initial de deux bascules bistables 2002, 2004, par l'intermédiaire d'une paire optionnelle de portes OU 2016,2020. On va décrire brièvement le rôle des portes OU facultatives 2016,2020. Au moyen d'une première porte ET et d'une première porte OU 2014-2016, l'entrée de remise à l'état initial de la première bascule bistable est définie par l'équation : SA'#DQS18~tff~start (où "#" indique une opération ET logique) . Au moyen d'une seconde porte ET d'une seconde porte OU 2018,2020, l'entrée de remise à l'état initial de la seconde bascule bistable est déterminée par l'équation : SA'#SB'. Par conséquent chacune des portes ET 2014,2018 reçoit un signal de réaction de la part du compteur 2002- 2012 (c'est-à-dire une "réaction du compteur"). La première porte ET 2014 reçoit cependant également les conditions de départ et d'arrêt, qui sont produites avec DQS18~tff~start. Des conditions de départ et d'arrêt, qui facilitent respectivement la validation et la remise à zéro du compteur 2002~2012 sont produites dans la ligne unique de transmission de signaux désignée par DQS18~tff~start. Une condition de départ est désignée par un flanc retombant au niveau de DQS18 tff start, et une condition d'arrêt désignée par un flanc montant au niveau de DQS18~tff~start. Les conditions de départ et d'arrêt sont produites par une unité logique comprenant un multiplexeur 2028, une porte ET 2026, et deux bascules bistables de type D 2022,2024 commandées alternativement de façon cadencée. Les bascules bistables 2022-2024 de la porte ET 2026 sont couplées de telle sorte que le multiplexeur 2028 reçoit le signal stb~reset au niveau de chacune de ses entrées, mais reçoit des modifications du signal stb~reset au niveau de son entrée "0" 1/2 cycle IOBCK après qu'elle a reçu des modifications du signal stb~reset sur son entrée "1". L'état du multiplexeur 2028 est commandé par le signal de retardement de phase de lecture (rpd) et il en résulte qu'une modification du signal stb~reset soit produite au niveau de DQS18-tff-start 1/2 cycles d'horloge IOBCK plus tard lorsqu'il existe un retard de phase de lecture (c'est- à-dire lorsque l'on a rpd=l). Pendant un cycle de lecture, chacune des deux portes OU 2008-2012 de l'unité logique de commande du compteur reçoit un "0" logique dérivé de l'inverse du signal DQS18~RCV~ON. On notera que DQS18~RCV~ON est le signal qui commande le récepteur 2030 couplé au bloc DQS18 de production/réception de signaux d'échantillonnage. Par conséquent le signal DQS18~REV~ON est positionné pendant un cycle de lecture, et est supprimé entre des cycles de lecture. le fait de coupler sous l'effet de l'application du signal DQS18~RCV~ON aux deux portes ET 2008,20012 du compteur par l'intermédiaire d'un inverseur 2032 représente une mesure de sécurité supplémentaire garantissant qu'aucune des sorties (c'est-à-dire S1-S4) du compteur n'est positionnée d'une façon non intentionnelle. En outre le positionnement du signal DQS18~RC~ON peut être utilisé pour ramener à zéro le compteur 2002-2012 lors de la mise sous tension. L'état du signal DQS18~RCV~ON est commandé de la même manière que l'état du signal DQS18~tff~start. C'est-àdire que l'état du signal DQS18~RCV~ON est commandé par deux bascules bistables de type D 2034,2036 commandées alternativement de façon cadencée et qui sont couplées aux entrées d'un multiplexeur 2038, lequel multiplexeur est commandé par le signal rpd. Par conséquent un changement de l'état du signal DQS18~RCV~ON est retardé de 1/2 cycle IOBCK lorsqu'il existe un retard de phase de lecture. Un spécialiste de la technique comprendra aisément que le circuit des figures 18 & 20 peut être extrapolé de manière à recevoir des bits de données et des flancs de signaux d'échantillonnage constitués par un multiple de P bits de données et de flancs de signaux d'échantillonnage. Dans une telle extrapolation, le compteur 2002-2012 est étendu de manière à produire un comptage de P bits à un niveau élevé un. De façon analogue, le nombre de circuits de verrouillage d'entrée de données 1802-1808 peut être étendu à P circuits de verrouillage. Par conséquent sur les figures 18 & 20 on a P=4. On peut mieux comprendre le fonctionnement du circuit formant récepteur 2000 représenté sur la figure 20 en se référant aux figures 22-27. La figure 22 fournit une comparaison de différents cadencements de signaux pour des lectures dans le cas précoce et dans le cas tardif selon le mode lx, sans retard de phase de lecture (rpd=0). De façon similaire, la figure 25 permet une comparaison de différents cadencements de signaux pour des lectures dans le cas tardif et dans le cas précoce dans le mode 2x sans retard de phase de lecture (rpd=0). Les figures 23,24, 26 et 27 représentent ce qui suit : Figure 23 : cadencements de signaux dans le mode lx, cas précoce, rpd=0 Figure 24 : cadencements de signaux dans le mode lx, cas tardif, rpd=0 Figure 26 : cadencements de signaux dans le mode 2x, cas précoce, rpd=0 Figure 27 : cadencements de signaux dans le mode 2x, cas tardif, rpd=0 A. Cycles de lectures lx En se référant maintenant à la figure 22, on y voit représenté le signal d'horloge MCK du coeur du contrôleur de mémoire 100 représenté sur les figures 9,18 et 20. Les signaux trk~ird et trk~srd sont envoyés à un automate fini 2900 de commande de blocs (figure 29) qui produit respectivement le signal stb~reset envoyé à la bascule bistable 2022 ainsi que le signal rcv~on envoyé à la bascule bistable 2034. Les signaux trk~srd et trk~ird déterminent par conséquent la montée et la retombée de différents signaux du circuit formant récepteur de signaux d'échantillonnage. Bien que ceci ne soit pas représenté sur la figure 29, l'automate fini de commande des blocs reçoit également des signaux qui indiquent s'il faut supposer qu'un cycle de lecture actuel s'effectue selon un mode lx ou un mode 2x, et une salve du mode 4 ou une salve du mode 8. Ces signaux additionnels déterminent à leur tour le moment où les signaux stb~reset et rcv~on sont positionnés. Comme cela est représenté sur la figure 22, le positionnement du signal trk~ird détermine la montée du signal DQS18~RCV~ON et la retombée du signal DQS18~tff~start (la retombée du signal DQS18~tff~start représentant la condition de départ mentionnée précédemment). Si le compteur 2002-2012 est ramené à zéro (comme cela doit être le cas lorsque le signal trk~ird est validé), alors le positionnement du signal trk~ird détermine également la retombée du signal DQS18~tff~start et du signal DQS18~tff~rise~rst. On notera que la retombée du signal DQRS18~RCV~ON valide d'une manière générale le circuit 2000 de réception de signaux d'échantillonnage de la figure 20, mais ne valide pas le compteur 2002-2012 du circuit. Mais le cas de DQS18~tff~start et DQS18~tff~rise~rst un cycle après la montée du signal DSQ18~RC~ON, le compteur 2002-2012 est placé dans un état dans lequel il est prêt à commencer à compter les flancs du signal d'échantillonnage, qui sont reçus (c'est-à-dire que le compteur 2002-2012 est validé de façon synchrone en réponse à une condition de départ et à une réaction du compteur. De préférence le compteur 2002-2012 est validé à un instant de retombée entre i) un instant le plus récent, auquel l'unité logique 2014-2028 de commande du compteur s'attend à ce qu'un bus de transmission de signaux d'échantillonnage couplé au bloc DQS18 de production/réception de signaux d'échantillonnage, quitte le système trois-état, et ii) l'instant le plus précoce où l'unité logique 2014-2028 de commande du compteur s'attend à recevoir des flancs d'un signal d'échantillonnage devant être reçu dans le bloc DQS18 de production/réception de signaux d'échantillonnage. Par conséquent en rapport avec la réception, par le circuit formant récepteur de signaux d'échantillonnage conformément à la spécification JEDEC DDR SDRAM, le compteur 2002-2012 est de préférence validé à un instant où l'unité logique 2014-2028 de commande du compteur s'attend à ce qu'à la fois DQS18 (de façon précoce) et DQS18 (tardivement) soit dans leur état de synchroniseurs initial. De cette manière, des transitions erronées dans le bloc DQS18 de production/réception de signaux d'échantillonnage en tant que résultat du bruit trois-états n'est pas interprétée par le compteur 2002-2012 comme étant des flancs actifs du signal d'échantillonnage. Le positionnement du signal trk~srd détermine la montée du signal DQS18~tff~start ainsi que la retombée du signal DQS18~RCV~ON (laquelle retombée invalide dans sa totalité le circuit 2000 formant récepteur du signal d'échantillonnage de la figure 20) 7. Le cadencement de la montée du signal DQS18~tff~start et de la retombée du signal DQS18~RCV~ON varie en fonction du fait qu'un cycle de lecture est une salve de quatre cycles ou une salve de huit cycles, telle que commandée par l'automate fini 2900 de commande des blocs. Comme on le notera dans cette description d'un cycle de lecture dans le mode 2x, le cadencement de l'impulsion de commande trk~srd est fixé dans le mode 2x en tant que résultat d'une décision prise pour supporter uniquement une salve de huit lectures dans le mode 2x. On notera que pendant une salve de quatre cycles de lecture dans le mode lx, le signal DQS18~tff~start peut être commandé de façon cadencée pour augmenter chaque fois entre le premier flanc montant du signal DSQ18 (tardif) et la fin du synchroniseur final de DSQ18 (précoce). Tant que le signal DQS18~tff~start augmente pendant cette période, le compteur 2002-2012 compte chaque signal d'échantillonnage actif reçu dans le bloc DQS18, puis revient à zéro de façon asynchrone de lui-même en réponse à la montée du signal DSQS18 tff start (c'est-à-dire une condition d'arrêt) et en réponse au signal de réaction du compteur. Des flancs d'échantillonnage fantômes, qui sont produits en tant que résultat d'un bruit lorsque le bloc DQS18 (précoce) passe au mode trois-états, ne sont par conséquent pas comptés par le compteur 2002-2012. Par conséquent les quatre circuits de verrouillage d'entrée de données 1802- 1808, qui sont couplés au bloc DQ4 de transmission de données, ne sont pas commandés de façon cadencée par inadvertance. La retombée du signal DQS18~tff~start, la retombée du signal DQS18~tff~rise~rst et la montée du signal DQS18~RCV~ON sont toutes déclenchées au niveau de l'horloge du contrôleur de mémoire 100. Tous les autres flancs montants et retombants dans le circuit 2000 formant récepteur de signaux d'échantillonnage sont déclenchés à partir de flancs du signal d'échantillonnage reçus dans le bloc DQS18 de production/réception de signaux d'échantillonnage, et par conséquent sont déclenchés au niveau de l'échantillonnage des modules de mémoire 104 ou des plaquettes intermédiaires 302, auxquelles le bloc DQS18 de production/réception de signaux d'échantillonnage est rattaché. Comme cela est représenté sur la figure 22, le premier flanc retombant du signal DQS18~tff~fall~rst est déclenché à partir de la réception, par le compteur de la figure 20, d'un premier flanc de signal d'échantillonnage. Ensuite le compteur 2002-2012 continue à compter des flancs du signal d'échantillonnage jusqu'à l'instant où le signal DQS18~tff~start est positionné. A cet instant et jusqu'à ce que soit atteint le nombre de comptage "3" (c'est-à-dire le troisième des quatre derniers flancs du signal d'échantillonnage), la montée du signal DQS18~tff~rise~rst est déclenchée de façon synchrone en réponse à une réaction du compteur. De façon analogue et lorsque la valeur de comptage "2" est atteinte, la montée du signal DQS18 tff fall rst est déclenchée d'une manière asynchrone en tant que résultat de la réaction du compteur. Une fois que les signaux DQS18~tff~rise~rst et DQS18~tff~fall~rst remontent, ils ne peuvent pas retomber tant que le signal DQS18 tff start est maintenu au niveau haut (c'est-à-dire jusqu'à ce qu'un cycle de lecture suivant soit déclenché). * Pour être complets, la figure 22 illustre la réception de données en tant que bloc de production/réception de données DQ4 (figure 18) dans un "cas de réception précoce" et dans un "cas de réception tardive" (c'est-à-dire DQ4 (précoce) et DQ4 (tardif)). La figure 22 illustre également la période, pendant laquelle le bloc DQ4 de production/réception de données est validé pour recevoir des données (désignée par le positionnement du signal DQ4~RCV~ON). La figure 23 illustre des cadencements de signaux dans le cas de lectures précoces dans le mode lx sans aucun retard de phase de lecture (rpd=0). On notera que les positionnements et les suppressions en chevauchement de signaux de sortie SA et SB des bascules bistables conduisent à la production/réception de signaux Sl-S4 avec des impulsions successives. Chaque impulsion S1-S4 est produite à la fréquence d'un signal d'échantillonnage arrivant reçu au niveau du bloc DQS18 de production/réception de signaux d'échantillonnage. La figure 24 illustre des cadencements de signaux dans le cas d'une lecture tardive dans le mode lx, sans retard de phase de lecture rpd=0). B. Cycles de lecture 2x En se référant maintenant à la figure 25, on y voit représenté à nouveau l'horloge MCK du coeur du compteur de mémoire 100, représenté sur les figures 9,18 et 20. Comme cela est illustré sur la figure 25, le positionnement du signal trk~ird détermine la montée du signal DQS18~RCV~ON et la retombée du signal DQS18~tff~start (la retombée du signal DQS18-tff-start représentant la condition de départ mentionnée précédemment. Si le compteur est ramené à zéro (comme c'est le cas lorsque trk~ird est positionné), alors le positionnement du signal trk~ird détermine également la retombée du signal DQS18 tff rise rst. On notera que la retombée du signal DQS18~RCV~ON valide en général le circuit 2000 formant récepteur du signal d'échantillonnage de la figure 1, mais ne valide pas le compteur 2002-2012 du circuit. Cependant, avec la retombée du signal DQS18~tff~start et du signal DQS18~tff~rise~rst ainsi qu'après la montée du signal DQS18~RC~ON, le compteur 2002-2012 est placé dans un état dans lequel il est prêt à commencer le comptage de flancs du signal d'échantillonnage dès qu'ils sont reçus (c'est-àdire que le compteur 2002-2012 est validé d'une manière asynchrone en réponse à un état de départ et à un signal de réaction du compteur). De préférence le compteur 2002-2012 est validé à un instant de retombée entre i) un instant le plus récent où la logique 2014-2028 de commande du compteur s'attend à ce qu'un bus de transmission du signal d'échantillonnage couplé au bloc DQS18 de production/réception de signaux d'échantillonnage quitte le niveau trois-état, et ii) un instant plus précoce où l'unité logique 2014-2028 de commande du compteur s'attend à ce que des flancs d'un signal d'échantillonnage soient reçus dans le bloc DQS18 de production/réception de signaux d'échantillonnage. Par conséquent en rapport avec la réception, par le circuit formant récepteur de signaux d'échantillonnage, deux signaux d'échantillonnage correspondant à la spécification JEDEC DDR SDRAM, le compteur 2002-2012 est de préférence validé à un instant où l'unité 2014-2028 de commande du compteur s'attend à ce qu'à la fois le bloc DQS18 (de façon précoce) et le bloc DQS18 (de façon tardive) soit dans l'état de leur synchroniseur initial. De cette manière, des transistors erronés au niveau du bloc DQS18 de production/réception de signaux d'échantillonnage en tant que résultat d'un bruit trois états ne sont pas interprétés par le compteur 2002-2012 en tant que flancs du signal d'échantillonnage actif. Le positionnement du signal trk~srd détermine la montée du signal DQS18~tff~start ainsi que la retombée du signal DQS18~RCV~ON (laquelle retombée invalide dans sa totalité le circuit 2000 formant récepteur du signal d'échantillonnage de la figure 20). Etant donné que le contrôleur de mémoire 100 ne communique pas directement avec la mémoire 104 dans le mode 2x, 2x lectures prennent de préférence toujours la forme d'une salve de huit, et par conséquent la montée du signal DQS18~tff~start et la retombée du signal DQS18~RCV~ON prend des cadencements fixés dans le mode 2x. On notera que pendant un cycle de lecture dans le mode 2x, le signal DQS18~tff~start peut être commandé de façon cadencée de manière à monter toujours entre le troisième flanc montant de DQS18 (tardif) et la fin du synchroniseur final de DQS18 (précoce). Tant que le signal DQS18~tff~start monte pendant cette période, le compteur 2002-2012 compte chaque signal d'échantillonnage actif reçu dans DQS18, puis revient de lui-même à zéro d'une manière asynchrone en réponse à la montée du signal DQS18~tff~start (c'est-à-dire une condition d'arrêt) et à la réaction du compteur. Les flancs fantômes du signal d'échantillonnage, qui sont produits en tant que résultat du bruit lorsque DQS18 (précoce) passe au mode trois-états, ils ne sont par conséquent pas comptés par le compteur 2002-2012. Par conséquent les quatre circuits de verrouillage d'entrée de données 1802-1808, qui sont couplés au bloc DQ4 de production/réception de données ne sont pas bloqués par inadvertance. Comme dans le mode lx, la montée du signal DQS18~RCV~ON, la retombée du signal DQS18-tff-start et la retombée du signal DQS18~tff~rise~rst sont toutes déclenchées au niveau de l'horloge du contrôleur de mémoire 100. Tous les autres flancs montants et retombants dans le circuit 2000 formant récepteur du signal d'échantillonnage sont déclenchés à partir des flancs de signaux d'échantillonnage reçus dans le bloc QS18 de production/réception de signaux d'échantillonnage, et sont par conséquent déclenchés dans le domaine du signal d'échantillonnage des modules de mémoire 104 ou des plaquettes intermédiaires 302, auxquels est fixé le bloc DQS18 de production/réception de signaux d'échantillonnage. Comme représenté sur la figure 25, le premier flanc retombant du signal DQS18~tff~fall~rst est déclenché à partir de la réception, par le compteur de la figure 20, d'un premier flanc du signal d'échantillonnage. Ensuite, le compteur 2002-2012 continue à compter des flancs du signal d'échantillonnage jusqu'à l'instant où le signal DQS18~tff~start est positionné. A partir de cet instant et lorsque le comptage "3" est atteint (c'est-à-dire le troisième des au moins quatre flancs du signal d'échantillonnage), la montée du signal DQS18~tff~rise~rst est montée d'une manière asynchrone en réponse à la réaction du compteur. De façon analogue et lorsque la valeur de comptage "2" est atteinte, la montée du signal DQS18~tff~fall~rst est déclenchée d'une manière asynchrone en tant que résultat de la réaction du compteur. Une fois que les signaux DQS18~tff~rise~rst et DQS18~tff~fall~rst remontent, ils ne peuvent pas retomber tant que le signal DQS18~tff~start est maintenu au niveau haut (c'est-à-dire jusqu'à ce qu'un nouveau cycle de lecture soit déclenché). Pour être complet, la figure 25 illustre la réception de données au niveau du bloc DQ4 de production/réception de données (figure 18) dans un "cas de réception précoce" et dans un "cas de réception tardif" (c'est-à-dire DQ4 (précoce) et DQ4 (tardif) ). La figure 22 représente également la période pendant laquelle le bloc DQ4 de production/réception de données est validé pour recevoir des données (désignées par le positionnement du signal DQ4~RCV~ON). La figure 26 représente des cadencements de signaux dans le mode 2x dans le cas de lectures précoces dans le mode 2x sans aucun retard de phase de lecture (rpd=0). On notera que les positionnements et suppressions en chevauchement des signaux de sortie SA et SB des bascules bistables conduisent à la production/réception de signaux S1-S4 avec des impulsions répétitives et successives. Chaque impulsion est produite à une fréquence d'un signal d'échantillonnage reçu dans le bloc QS18 de production/réception de signaux d'échantillonnage, et chaque impulsion verrouille un nouveau bit de données (c'est-à-dire r1, r2, r3, r4, r5, r6, r7 ou r8) dans le circuit 1800 formant récepteur de DQ4 1800 (voir figure 18) . La figure 27 représente des cadencements de signaux dans le cas de lectures tardives dans le mode 2x sans aucun retard de phase (rpd=0). 7. Capacité à lire des modules DIMM constitués de dispositifs de mémoires x4, x8 et xl6 RAM Au moyen de la carte de mémoire 1100 représentée sur la figure 11, des appariements données/signaux d'échantillonnage représentés sur les figures 9 & 10 et du circuit de commande 1810,1812, 2800-2806 illustré sur les figures 18 & 28 (lequel circuit de commande doit encore être décrit), le contrôleur de mémoire 100 illustré sur la figure 9 est à même de lire des données à partir de modules de mémoire 104 constitués par des dispositifs ROM ayant des largeurs de données non homogènes (par exemple des modules DIMM constitués par des mémoires RAM x4 DDR SDRAM, des modules DIMM constitués par des mémoires x8 DDR SDRAM, et des modules DIMM constitués par des mémoires xl6 DDR SDRAM) . Comme cela a été décrit précédemment en réponse avec des écritures réalisées dans les modules DIMM 104 constitués par des dispositifs de mémoire RAM ayant des largeurs de données non homogènes, la carte de mémoire 1100 mémorise une indication d'un rapport données/signaux d'échantillonnage (par exemple une valeur Ax) pour chaque module de mémoire x qui est couplé au contrôleur de mémoire 100. Pendant un cycle de lecture du contrôleur de mémoire 100, une valeur adressée Ax est délivrée par la carte de mémoire 1100 et est envoyée à un circuit de commande 1810, 1812,2800-2806 qui commande la réception de données au niveau d'un sous-ensemble de bloc de production/réception de données du contrôleur de mémoire. Sur la figure 18, le circuit de commande est représenté comme comprenant un certain nombre de multiplexeurs 1812, dont chacun reçoit une valeur adressée Ax (sous la forme d'un signal set~alt~n) en tant que second signal d'entrée de commande. D'une manière générale, le circuit de commande 1810-1812,2800-2806 commande la réception de données au niveau d'un sous-ensemble de blocs de production/réception de données du contrôleur de mémoire comme cela a été décrit dans la section précédente de la présente description. C'est-à-dire qu'un nombre compté de flancs du signal d'échantillonnage reçus dans l'un des blocs de production/réception de signaux d'échantillonnage (par exemple DQS18) du contrôleur de mémoire est utilisé pour commander les éléments de mémoire de données (par exemple des circuits de verrouillage de données 1802-1808) couplés à un ou plusieurs des blocs de production/réception de données du contrôleur de mémoire (par exemple DQ4-DQ7; figures 9 & 10). Par exemple quatre circuits de verrouillage d'entrée de données 1802-1808 peuvent être couplés à chaque bloc de production/réception de données d'un contrôleur de mémoire 100, et les bits d'une valeur de comptage de flancs de signal d'échantillonnage à quatre bits et à un niveau élevé peuvent être utilisés pour commander des circuits de verrouillage respectifs faisant partie des circuits de verrouillage 1802-1808. De façon analogue, chaque bit d'une valeur comptée du flanc du signal d'échantillonnage à quatre bits et à un niveau élevé un peut commander des circuits de verrouillage d'entrée de données correspondantes 1802-1808 couplés à chaque bloc d'un nombre de blocs de production/réception de données (par exemple les blocs DQ4-DQ7). Bien que dans le paragraphe ci-dessus on a résumé un procédé préféré et décrit antérieurement de commande de la réception de données dans un certain nombre de blocs de production/réception de données, le procédé mentionné précédemment de commande de réception de données peut être réalisé sans le multiplexeur 1812 qui accouple les circuits formant récepteurs de données et de signaux d'échantillonnage, représentés sur les figures 18 & 20. La fonctionnalité additionnelle fournie par le multiplexeur 1812 couplant le circuit 1800 formant récepteur de données de la figure 8 et le circuit 2000 formant récepteur de signaux d'échantillonnage de la figure 20 est la possibilité d'associer un circuit 1800 de réception de données à deux ou plus de deux circuits 2000 formant récepteur de signaux d'échantillonnage. De cette manière, la réception des données dans certains des blocs de production/réception de données du contrôleur de mémoire peut être commandée par l'un d'une pluralité de signaux d'échantillonnage différents, et fonctionnellement il est prévu une telle possibilité de lire des modules DIMM constitués par x4, x8 et xl6 mémoires DDR SDRAM. Sur la figure 18, la réception des données dans le bloc DQ4 de production/réception de données peut être commandée en réponse à un signal d'échantillonnage reçu dans un bloc DQS18 de blocs de production/réception de signaux d'échantillonnage, ou un signal d'échantillonnage reçu dans un autre bloc de production/réception de signaux d'échantillonnage. En référence aux associations de blocs de données et de blocs de production/réception de signaux d'échantillonnage prévus sur la figure 10, on peut noter qu'une lecture à partir d'un module DIMM constitué de mémoires x4 DDR SDRAM requiert une association entre le bloc DQ4 de production/réception de données et le bloc DQS18 de production/réception de signaux d'échantillonnage, tandis qu'une lecture à partir d'un module DIMM constitué de mémoires x8 ou xl6 DDR SDRAM requiert une association entre le bloc DQ4 de production/réception de données et le bloc DQS18 de production/réception de signaux d'échantillonnage. Par conséquent la valeur de comptage de flancs d'échantillonnage constituée de bits Sl~alt-S4~alt sur la figure 18 est une valeur de comptage de flancs du signal d'échantillonnage produit dans le bloc DQS18 de production/réception de signaux d'échantillonnage. Lors de l'extrapolation du circuit 1800-2000 représenté sur les figures 18 & 20 à une plus grande échelle, un spécialiste de la technique notera que le contrôleur de mémoire 100 de la figure 9 est pourvu d'une possibilité de lire des modules DIMM 104 constitués de mémoires DDR SDRAM non homogènes et ce 1) en prévoyant une corrélation fixe entre une première moitié des blocs de production/réception de données DQO-DQ3, DQ8-DQ11 et DQ16- 19, ...) de production/réception de données du contrôleur de mémoire et les blocs (DQSO-DQS17) de production/réception de signaux d'échantillonnage du contrôleur de mémoire, et 2) en fournissant une corrélation programmable entre une seconde moitié des blocs de production/réception de données (DQ4-DQ7, DQ12-DQ15, DQ20- 23, ...) de production de blocs de données du contrôleur de mémoire et les blocs de production/réception de signaux d'échantillonnage supérieurs (DQS18-DQS35) et les blocs de production/réception de signaux d'échantillonnage inférieurs (DQSO-DQS17) du contrôleur de mémoire. Dans ce dernier cas, la corrélation programmable est déterminée par le circuit de commande comprenant par exemple une pluralité de multiplexeurs 1812 qui reçoivent des valeurs adressées de Ax (apparaissant sur la figure 18 en tant que signal set~alt~n), à partir de la carte de mémoire 1100. Si une valeur adressée Ax est un "1" logique, alors les blocs de production/réception de données et les blocs de production/réception de signaux d'échantillonnage sont associés d'une manière qui permet la lecture des données à partir de modules DIMM comprenant des mémoires x4 DDR SDRAM (c'est-à-dire une valeur de comptage (c'est-à-dire bits SlS4) qui est reçue au niveau de la première entrée de données du multiplexeur, et est transmise par le multiplexeur 1812). Si une valeur adressée Ax est un "0" logique, alors les données et les blocs de production/réception de signaux d'échantillonnage sont associés d'une manière qui permet la lecture de données à partir des modules DIMM constitués de mémoires x8 ou xl6 DDR SDRAM (c'est-à-dire une valeur de comptage (bits Sl~alt-S4~alt), qui sont reçues à l'entrée de données du multiplexeur, et sont transmises par le multiplexeur 1812). Dans une forme de réalisation préférée, le signal critique pour la commande du multiplexeur 1812 est le signal set~alt~n. Une obtention possible de ce signal est représentée sur la figure 18. Après que le signal reset~L ait été placé brièvement au niveau bas pendant la remise à l'état initial du système, le signal reset~L est placé au niveau haut. La sélection d'un nombre compté de flancs primaires ou alternés du signal d'échantillonnage pour la commande de circuits de verrouillage d'entrée de données 1802-1808 est par conséquent déterminée par des signaux read tri et read tri x4. Pendant une lecture d'un module DIMM constitué de mémoires x4 DDR SDRAM, les deux signaux read~tri et read~tri~x4 sont positionnés, et le multiplexeur 2800 et la porte OU 2802 et les bascules bistables de type D 2804 et 2806 positionnent le signal set~alt~n. Cependant, pendant une lecture d'un module DIMM constitué de mémoires x8 ou xl6 DDR SDRAM, le signal read~tri~x4 est supprimé de manière à supprimer ainsi le signal set~alt~n. De cette manière sur la figure 9, le contrôleur de mémoire peut être configuré de manière à lire les données à partir de modules DIMM constitués de mémoires x4, x8 ou xl6 DDR SDRAM. Le signal read~tri~x4 peut être par exemple une valeur Ax adressée ou une valeur dérivée de cette valeur. Bien que le contrôleur de mémoire 100, qui est décrit ci-dessus, puisse communiquer avec des modules DIMM 104 constitué par des mémoires DDR SDRAM ayant deux rapports données/signaux d'échantillonnage différents (c'est-à-dire le rapport 4:1 et 8:1), les enseignements fournis ici peuvent être adaptés de manière à fournir une plus grande souplesse de lecture à partir du module de mémoire 104 constitué de dispositifs de mémoires ROM ayant des largeurs de données non homogènes. Par exemple le circuit de commande 1810,1812, 2800-2806 pour l'association de circuits 1800,2000 de commande de données et de données d'échantillonnage peut comporter des multiplexeurs qui reçoivent des données sur la base de signaux d'échantillonnage reçus en plus de deux blocs de production/réception de signaux d'échantillonnage (par exemple des valeurs comptées des flancs de signaux d'échantillonnage sur la base de signaux d'échantillonnage reçus dans plus de deux blocs de production/réception de signaux d'échantillonnage). En outre le sous-ensemble de blocs de production/réception de données d'un contrôleur de mémoire, qui possèdent une corrélation fixe avec certains des blocs de production/réception de signaux d'échantillonnage du contrôleur de mémoire peuvent être supérieurs, inférieur ou même ne pas exister. Bien que l'on ait décrit ici de façon détaillée des formes de réalisation donnée à titre d'illustration actuellement préférée de l'invention, on comprendra que les concepts de la présente invention peuvent être mis en oeuvre et utilisés différemment d'une autre manière sans sortir pour autant du cadre de l'invention. REVENDICATIONS 1. Circuit (400) de commande d'un contrôleur de mémoire, caractérisé en ce qu'il comporte : a) un bloc de production/réception de données; b) N circuits de propagation de données, N#2(420,404), c) un étage de multiplexage (412) qui délivre des données à au moins N-1 des N circuits de propagation de données, ledit étage de multiplexage permettant un couplage d'un premier flux d'entrée de données à chacun des N circuits de propagation de données lorsque l'étage de multi- plexage est configuré dans un mode lx, et ledit étage de multiplexage permettant un couplage de différents flux d'entrée de données vers différents circuits faisant partie des N circuits de propagation de données lorsque l'étage de multiplexage est configuré dans un mode Mx(1 2. Circuit (8) de commande de contrôleur de mémoire selon la revendication 1, caractérisé en ce qu'il comporte en outre . a) un bloc de production/réception de signaux d'échantil- lonnage, et b) des moyens (824-835) pour produire, dans ledit bloc de production/réception de signaux d'échantillonnage, un signal d'échantillonnage Mx qui correspond audit flux de données Mx. 3. Circuit (400) de commande de contrôleur de mémoire selon la revendication 1, caractérisé en ce que ledit circuit de fusion de sortie (408) comprend N trajets (500-506) pouvant être réglés sur trois états, qui respectivement reçoivent et délivrent séquentiellement des don- nées provenant des N circuits de propagation de données (402,404) . 4. Circuit (400) de commande du contrôleur de mémoire selon la revendication 3, dans lequel chacun desdits N trajets (500-506) pouvant être réglés sur trois états comprend l'une de N bascules bistables (500,502) commandées séquentiellement de façon cadencée. 5. Circuit (600) de commande de contrôleur de mémoire selon la revendication 1, caractérisé en ce qu'il comporte en outre : a) un circuit (614) à retard de phase, b) un premier multiplexeur à retard de phase (616), qui permet le couplage dudit premier flux d'entrée de données au circuit à retard de phase lorsque le premier multiplexeur à retard de phase est configuré dans un mode lx, et qui permet le couplage d'un N-ème flux d'entrée de données au circuit à retard de phase, lorsque le premier multiplexeur à retard de phase est configuré dans un mode Nx, et c) un second multiplexeur à retard de phase (618) qui couple une sortie d'un premier des N circuits de propa- gation de données (602) , une sortie du circuit à retard de phase et une entrée du circuit de réunion de sortie (608), ledit second multiplexeur à retard de phase cou- plant ladite sortie des N circuits de propagation de données audit circuit de réunion de sortie lorsque ledit second multiplexeur à retard de phase est configuré pour une absence de retard de phase d'écriture, et ledit second multiplexeur à retard de phase couplant ladite sortie du circuit à retard de phase audit circuit de réunion de sortie lorsque ledit second multiplexeur à retard de phase est configuré pour un retard de phase d'écriture. 6. Circuit (800) de commande de contrôleur de mémoire selon la revendication 1, dans lequel on a N=M=2, caractérisé en ce qu'il comporte en outre : a) un bloc de production/réception de signaux d'échantil- lonnage, et b) un circuit pour produire, dans ledit bloc de production/réception de signaux d'échantillonnage, un signal d'échantillonnage lx ou 2x qui correspond audit flux lx ou 2x de type de données produit au niveau du bloc de production/réception de données, le circuit comprenant : i) deux circuits de propagation d'échantillons (824- 830) , ii) une unité logique combinatoire (1200,1300) pour envoyer des signaux d'entrée aux deux circuits de propagation d'échantillons à une cadence lx lors du fonctionnement dans le mode lx, et pour commander respectivement des signaux d'entrée aux deux cir- cuits de propagation d'échantillon aux niveaux haut et bas lors du fonctionnement dans le mode 2x, et iii) un circuit (832-835) de réunion d'échantillons, qui couple alternativement les deux circuits de propa- gation d'échantillons au bloc de production/réception de signaux d'échantillonnage pour produire ainsi un signal d'échantillonnage lx ou un signal d'échantillonnage 2x dans le bloc de production/réception de signaux d'échantillonnage. 7. Circuit (800) de commande de contrôleur de mémoire selon la revendication 6, caractérisé en ce qu'il comporte en outre : a) un circuit à retard de phase (806), b) un premier multiplexeur à retard de phase (616), qui permet le couplage dudit premier flux d'entrée de données au circuit à retard de phase lorsque le premier multiplexeur à retard de phase est configuré dans un mode lx, et qui permet le couplage d'un deuxième flux d'entrée de données au circuit à retard de phase, lorsque le premier multiplexeur à retard de phase est configuré dans un mode 2x, et c) un second multiplexeur à retard de phase (618) qui couple une sortie d'un premier des deux circuits de pro- pagation de données (802), une sortie du circuit à retard de phase et une entrée du circuit de réunion de sortie (808-811), ledit second multiplexeur à retard de phase couplant ladite sortie des N circuits de propaga- tion de données audit circuit de réunion de sortie lorsque ledit second multiplexeur à retard de phase est configuré pour une absence de retard de phase d'écriture, et ledit second multiplexeur à retard de phase couplant ladite sortie du circuit à retard de phase audit circuit de réunion de sortie lorsque ledit second multiplexeur à retard de phase est configuré pour un retard de phase d'écriture. 8. Procédé de commande de données à partir d'un contrôleur de mémoire (100), caractérisé en ce qu'il consiste à : a) prévoir un circuit (400) de commande d'un bloc de production/réception de données dudit contrôleur de mémoire au moyen d'un premier flux de données (410) lorsque ledit contrôleur de mémoire est configuré de manière à fonctionner dans un mode lx, b) fournir audit circuit de commande du bloc de production/réception de données N-1 flux supplémentaire de données (412) lorsque ledit contrôleur de mémoire est configuré de manière à fonctionner dans un mode Nx (N#2), et c) commander de façon cadencée ledit circuit de commande du bloc de production/réception de données à une cadence Nx pour : i) produire un flux de données lx dans un bloc de production/réception de données dudit contrôleur de mémoire lorsque ledit contrôleur de mémoire est configuré de manière à fonctionner dans un mode lx, et ii) produire un flux de données Nx dans ledit bloc de production/réception de données lorsque ledit contrôleur de mémoire est configuré de manière à fonctionner dans un mode Nx. 9. Procédé selon la revendication 8, caractérisé en ce qu'il consiste en outre à : a) prévoir un circuit (824-835) de commande du bloc de production/réception de signaux d'échantillonnage dudit contrôleur de mémoire (100) avec un ensemble de signaux qui commutent à une cadence lx lorsque ledit contrôleur de mémoire est configuré de manière à fonctionner selon un mode lx, b) délivrer audit circuit de commande du bloc de production/réception de signaux d'échantillonnage un ensemble de signaux statiques lorsque ledit contrôleur de mémoire est configuré de manière à fonctionner dans un mode Nx, et c) commander de façon cadencée ledit circuit de commande du bloc de production/réception de signaux d'échantillonna- ge à une cadence Nx pour ainsi : i) produire un signal d'échantillonnage lx dans un bloc de production/réception de signaux d'échantillonnage dudit contrôleur de mémoire lorsque ledit contrôleur de mémoire est configuré de manière à fonctionner dans le mode lx, et ii) produire un signal d'échantillonnage Nx dans ledit bloc de production/réception de signaux d'échantil- lonnage lorsque ledit contrôleur de mémoire est configuré de manière à fonctionner dans le mode Nx. 10. Procédé selon la revendication 8, caractérisé en ce que N = 2 et la commande cadencée dudit circuit (400) de commande du bloc de production/réception de données à une cadence Nx comprend la commande cadencée de première et seconde bascules bistables (500,502), qui sont couplées audit bloc de production/réception de données par l'intermédiaire de leurs sorties, ladite première bascule bistable étant déclenchée au niveau des flancs positifs et ladite second bascule bistable étant déclenchée au niveau des flancs négatifs, chacune desdites première et seconde bascules bistables recevant un signal d'horloge Nx.