Cours sur la mémoire |
| Par Frédéric Heissler |
Pour de la mémoire DRAM tout court, l'accès à une donnée se fait en modifiant le signal RAS et CAS pour chaque lecture/écriture et ceci même si la donnée suivante se trouve sur la même ligne ou colonne.

Pour la mémoire FPM DRAM, lorsque la donnée se trouve sur la même ligne, la descente du signal
RAS mémorise l'adresse de la ligne durant tout l'accès. Donc pour accéder à plusieurs colonnes
de cette ligne ( dans un ordre quelconque ), il est juste nécessaire de présenter l'adresse de
la colonne désirée dans la ligne sélectionnée par le RAS. Cela permet d'accélérer l'accès aux
données se trouvant sur la même ligne. On économise ainsi le Timing du RAS. Pour accéder à la
donnée, le signal CAS doit rester à l'état bas.
La notion de Fast Page vient du fait que la sélection de la ligne correspond à la sélection
d'une page dans une livre et la lecture dans cette page correspond à la lecture des
différentes colonnes.

La mémoire FPM ( Fast Page Mode ) existe en 70 et 60 ns. L'accès le plus rapide de la FPM est 5-3-3-3 ( à 66MHz ) contrairement à la RAM classique qui est de 5-5-5-5. En fait cela correspond au cycle CPU nécessaire à la lecture ou à l'écriture. Cela signifie qu'il faut 5 cycles d'horloge pour lire/écrire la première donnée, puis 3 cycles pour les 3 autres. La bande passante maximale est de 174 Mo/s.
Cette abréviation, signifie Extended Data Out. Les composants de cette mémoire permettent de conserver plus longtemps l'information, on peut donc ainsi espacer les cycles de rafraîchissement. D'autre part, par rapport à la FPM, le signal CAS n'a pas besoin d'être maintenu pour lire la donné, on peut donc anticiper sur le prochain Precharge Time de la mémoire, c'est à dire le prochain cycle mémoire.
La RAM EDO, qui n'existe qu'en modules SIMM, nécessite une logique de rafraîchissement
particulière. Elle ne peut donc pas être utilisée sur les anciennes cartes mères de 486
ou de Pentium car les contrôleurs de mémoire de ces cartes ne sont pas conçus à cet effet.
Si le CACHE secondaire constitue le remède le plus courant pour pallier la lenteur de
la RAM par rapport à la vitesse des processeurs, la mémoire EDO ( Extended Data Out
ou HPM pour Hyper Page Mode) entend parvenir au même résultat ( pour certaines cartes mères
non équipées de cache L2 ).
L'ajout d'un verrou de type D (D-Latch) permet de charger une nouvelle adresse en entrée sans attendre la validation d'une donnée en sortie. Les cycles de latence entre deux lectures sont minimisés, d'où un fonctionnement de l'ordre de 50 MHz , contre 25 MHz pour de la DRAM à 70 ns en FPM. Non contente de s'adapter à la fréquence externe d'un processeur comme le Pentium/100, voire le Pentium/133 en mode burst, la mémoire EDO n'engendre qu'un surcoût limité à 5 %. Compatible avec la DRAM classique, elle exige toutefois une carte mère spécifique pour tourner à pleine vitesse.

La RAM EDO permet la réduction de la durée des cycles de mémoire en condensant la
temporisation des CAS pour obtenir plus de données en sortie d'une séquence d'accès.
En cycle d'horloge cela se représente par 5-2-2-2. Des augmentations de performances
des ordinateurs de l'ordre de 15% sont possibles par rapport à la mémoire FPM DRAM.
Le débit maximum de la mémoire EDO DRAM se situe aux alentours de 264 Mo/s.
Toutefois, face à la popularité grandissante de la mémoire SDRAM ce type de mémoire
devrait débuter son cycle de désuétude vers la fin 1998.
La RAM BEDO (Burst Extended Data Out) est une évolution de la RAM EDO il s'agit d'une variante de l'EDO ou les lectures et les écritures sont effectuées en mode rafale.
Le secret réside dans le mode Burst que l'on arrive à faire supporter à ces composants. On n'adresse plus chaque unité de mémoire individuellement lorsqu'il faut y lire ou y écrire des données. On se contente de transmettre l'adresse de départ du processus de lecture/écriture et la longueur du bloc de données ( Burst ). Ce procédé permet de gagner beaucoup de temps, notamment avec les grands paquets de données tels qu'on en manipule avec les applications modernes.
La RAM BEDO permet d'accélérer les accès en mémoire de 50 % à 100 % pour atteindre 66 MHz. Cela suffit pour obtenir un accès sans Wait States sur tous les systèmes Pentium existant à l'heure actuelle et ceci pour des frais de fabrication à peine plus élevés que pour la classique DRAM.
Comme pour la "simple" RAM EDO, il faut aussi, pour la RAM BEDO, que la carte mère soit adaptée à la technologie en question, c'est-à-dire qu'elle comporte un jeu de puces et un BIOS qui soient capables de supporter ce type de mémoire. La RAM BEDO ne fonctionne pas sur les anciennes cartes mères, pas même sur celles qui comportent un support pour la RAM EDO !
Malheureusement cette mémoire n'était supportée que par peu de chipsets, et posait des problèmes avec les bus cadencés à plus de 66 MHz, d'ou une disparition très rapide du marché. L'accès le plus rapide de la BEDO est 5-1-1-1 à 66MHz.
La SDRAM se compose en interne de deux bancs de mémoire et des données peuvent être lues alternativement sur l'un puis sur l'autre de ces bancs grâce à un procédé d'entrelacement spécial. Le protocole d'attente devient donc tout à fait inutile.
La SDRAM peut être cadencée à la même vitesse que le processeur, la deuxième génération de ces composants pouvant atteindre des fréquences jusqu'à 160 MHz. On peut ainsi synchroniser les entrées/sorties avec l'horloge système, ce qui accélère considérablement les échanges. La SDRAM maîtrise en outre le mode Pipelined Burst qui apporte un gain de vitesse supplémentaire, comme pour la RAM BEDO.
La SDRAM n'est disponible qu'en modules DIMM. Il faut donc des emplacements spéciaux sur la carte mère et, comme pour la RAM EDO et BEDO, un jeu de puces et un BIOS adaptés.
C'est la seule RAM actuelle a supporter un bus de 100 MHz ! Enfin du moins théoriquement, c'est ce qui était prévu. En fait les SDRAM 10 ns étaient prévues pour passer à cette fréquence, mais dans la pratique cela ne sera vrai que pour les SDRAM 10 ns de très bonne qualité. Logiquement les SDRAM supportant cette fréquence a coup sur ont des temps d'accès de 8ns ...
La vitesse de la SDRAM se mesure normalement en MHz, alors que l'EDO se mesure en ns ( nano seconde ). Si les SDRAM sont spécifiées à 10 ou 12 ns, ces vitesses ne sont pas comparables aux 60ns de l'EDO. Les 10 ns de la SDRAM correspondent seulement à une partie du cycle entrées/sorties mémoire, alors que les 60 ns de l'EDO correspondent à un cycle différent.
Sachez enfin que le changement de mémoire de l'EDO à la SDRAM n'apporte qu'un gain minime sur les performances générales de la machine (1 à 2%).
L'accès le plus rapide de la SDRAM est 5-1-1-1 à 66MHz. Elle est donc synchrone avec l'horloge système pour la lecture/écriture des 3 dernières données. La bande passante maximale est de 524 Mo/s à 66 Mhz puis à 800 Mo/s à 100 Mhz et à 1064 Mo/s en 133 Mhz.
La DDR RAM peut être cadencée entre 100 Mhz et 200 Mhz. C'est une autre variante de la mémoire SDRAM. On utilise souvent pour la dénomer le terme de PCxxxx ou xxxx correspond, en million d'octect, à la valeur arrondie du taux de transfert théorique.
| Type | Appellation | Fréquence du bus mémoire | Taux de transfert en Mo |
| PC1600 | DDR200 | 100 Mhz | 1600 |
| PC2100 | DDR266 | 133 Mhz | 2133 |
| PC2700 | DDR333 | 166 Mhz | 2666 |
| PC3000 | DDR360 | 180 Mhz | 2880 |
| PC3200 | DDR400 | 200 Mhz | 3200 |
| PC3500 | DDR433 | 216 Mhz | 3500 |
| PC3700 | DDR466 | 233 Mhz | 3700 |
| PC4000 | DDR500 | 250 Mhz | 4000 |
La différence principale entre la SDRAM et la DDR SDRAM est que la DDR SDRAM a la capacité d'utiliser le front montant et descendant du signal (horloge) pour transférer les données ce qui a pour conséquence de doubler ses performances de transfert de données. Cela veux dire que pour 1 cycle d'horloge on peut transférer 2 groupes de mots. C'est à dire que cette mémoire fonctionne comme une mémoire de type SDRAM qui serait cadencée entre 200 Mhz et 500 Mhz. Alors que le FSB (fréquence du bus processeur) à une fréquence qui varie de 100 à 250 Mhz. Le taux de transfert maximum de la DDR SDRAM est de 4 Go/s avec un FSB de 250 Mhz.

Un nouvelle version de la DDR RAM sortira début 2003. Il s'agit de la DDR-II RAM 400 conforme aux spécififications JTAG 1149.1. Des version à 533Mhz et 667 Mhz sont prévus pour 2004. Cependant des versions à 700 Mbits/s et 1 Gb/s étaient déjà sorties en 2002 pour les cartes graphique de NVdia au format 165 FBGA (11*15). La principale amélioration par rapport à la DDR Ram est l'optimisation du controleur logic qui permet de gérer le flux des entrée/sorties. Cela permet, entre autre, d'augmenter la fréquence. La tension passe de 2,5V pour la DDR-RAM à 1,8V pour la DDR-II RAM. Le circuit de control des opération d'entrées/sorties ( Burst Logic ) passe de 4 bits à 2 bits, ce qui permet d'augmenter la bande passante ( Voir les DataSheets du K7H163654A et K7I323682M de Samsung).
| Type | Appellation | Fréquence du bus mémoire | Taux de transfert en Mo |
| PC4300 | DDR II 533 | 266 Mhz | 4300 |
| PC5400 | DDR II 667 | 333 Mhz | 5400 |

La mémoire QDR RAM - Quad Data Rate RAM permettra d'avoir des débits dépassant
les 10 Gb/s. Cette mémoire est très similaire à la DDR SDRAM. Mais sa particularité est de
permettre de lire et d'écrire simultanément dans le composant mémoire. Suivant les modèles,
on peut lire ou écrire 2 mots en un cycle d'horloge (2-word burst) ou 4 mots en 2 cycles
d'horloge (4-word burst). Attention, en temps normal, entre chaque lecture/écriture il y
a plusieurs cycles qui sont utilisés, entre autre, pour la synchronisation. C'est pour cela que 4 mots
en 2 cycles ne fait pas 2 fois 2 mots en un cycle d'horloge. On peut donc avec la QDR
transferer aux maximum 8 mots ( 4 lectures + 4 écritures ).
En mode 2-word burst les fréquences sont de 167 et 200 Mhz.
En mode 4-word burst les fréquences sont de 200 et 233 Mhz.
La différence entre QDR SDRAM et la QDR-II SDRAM, prévus pour 2004, est essentiellement due à
une modification du circuit permettant de gérer la fréquence, qui devrait aller de 400 Mhz à 1,5 Ghz.

La SLDRAM ( Synchronous-Link DRAM ) correspond au premier concept de mémoire série. Elle est cadencée entre 200 Mhz et 800 Mhz. Cette mémoire est en fait une version équivalente de la RamBus. Initialement définit par le Consortium Synclink, cette version a totalement été supplentée par la RamBus.
La RDRAM est un concept entièrement nouveau qui utilise une nouvelle architecture de module de mémoire possédant beaucoup moins de broches. Ses principales caractéristiques sont :
Puisque chacun des aspects de sa structure interne comme la longueur des conducteurs, la capacité (µF) des inter-broches, l'oscillation de la tension ont été rigoureusement redéfinis, ce type de mémoire peut offrir des rendements très élevés. Une simple barrette de mémoire RAMBUS fourni des performances environ 3 fois supérieurse aux modules de mémoire de SDRAM de 64-bits à 100mhz. En fait il s'agit de bloc mémoire de 16 ou 18 bits montés en séries avec une fréquence de 800 Mhz ce qui donne un taux de transfert de 1,6 Go/s et de 2,132 Go/s avec une fréquence de 1066 Mhz.
Par exemple un système à un seul canal de cette mémoire peut atteindre jusqu'à 1,6 Go/s de taux de transfert. L'avantage principal avec la Rambus est que des contrôleurs peuvent être conçus pour utiliser 2 ou même 4 canaux en parallèle. Un système à 2 canaux atteindra 3,2 Go/s tandis qu'un système à 4 canaux pourra aller aussi haut que 6,4 Go/s !
| Bus mémoire conventionnel | Bus série RamBus |
![]() Il s'agit d'une barette de 64 bits constituée de 16 composants mémoires de 4 bits montées en parrallèles. |
|
| Contrôleur avec un canal = 1,6 Go/s | |
![]() Il s'agit d'une barette de 64 bits constituée de 4 composants mémoires de 16 bits montées en série. On a donc un bus de 16 bits cadencé à 800 Mhz. ( ( 800 000 000 * 16 ) / 8 bits ) / ( 1024 * 1024 ) = 1,6 Go/s |
|
| Contrôleur avec deux canaux = 3,2 Go/s | |
![]() |
|
| Contrôleur avec quatre canaux = 6,4 Go/s | |
![]() |
|

La mémoire ECC ( Error Correcting Code ) est une mémoire qui peut détecter 4 erreurs et corriger une erreur sans arrêter le système.
Alors que la mémoire AECC ( Advanced Error Correcting Code ) est une mémoire qui peut détecter 4 erreurs et corriger 4 erreurs sans arrêter le système.
On à donc une augmentation du niveau de sécurité, la contre partie de ce gain de sécurité est une consommation plus importante des ressources système pour enregistrer les données. Ce qui dégrade légèrement les performances du système.
En ce qui concerne le bus mémoire il fonctionne à la même fréquence que le bus processeur sauf pour la RAMBUS.
| Mem EDO | Mem SDRAM | Mem SDRAM PC100 | Mem SDRAM PC133 | Mem DDR SDRAM PC1600 | Mem DDR SDRAM PC2100 | Mem DDR SDRAM PC2700 | Mem DDR SDRAM PC4000 | Mem QDR SDRAM | Mem RamBus 1 canal PC800 | Mem RamBus 4 canaux PC800 | Mem RamBus 4 canaux PC1066 | |
| Largeur du bus de données en bit | 32 | 64 | 64 | 64 | 64 | 64 | 64 | 64 | 2x64 | 16 | 16 | 16 |
| Fréquence du bus en Mhz | 66 | 66 | 100 | 133 | 100 | 133 | 166 | 250 | 1500 | 800 | 800 | 1066 |
| Taux de transfert en Mo/s | 266,66 | 533,33 | 800 | 1064 | 1600 | 2133 | 2666 | 4000 | 24000* | 1600 | 6400 | 8528 |
| Taux de transfert en MB/s | 254,31 | 508,62 | 762.93 | 1017.25 | 1525.87 | 2034.50 | 2543.13 | 3814.69 | 22888* | 1525.87 | 6103.51 | 8132.93 |
| Taux = (Largeur du bus de données en bit X Fréquence du bus en Hertz ) / ( 8 * 1024 * 1024 ) |
|
|
|
| L'utilitaire C't CM v1.7 | ctcm1.7a.zip |
| L'utilitaire c't-Ramtest v5.1 | ctramtst.zip |
| DataSheet des mémoire DDR-II SDRAM | samsungelectronics.com |
| Spécification de la QDR-II RAM et DDR-II RAM | http://www.qdrsram.com/ |
| Spécification de la QBM RAM | http://www.quadbandmemory.com/ |
| Cypress | www.cypress.com |
| IDT | www.idt.com |
| Micron | www.micron.com |
| NEC | www.nec-global.com |
| Hitachi | global.hitachi.com |
| Kingston | http://www.kingston.com/tools/umg/default.asp |
| Le JEDEC - Organisme de normalisation des composants mémoires | http://www.jedex.org/ |
| Kentron Technology | http://www.kentrontech.com/Kentron_Products/QBM.htm |