LA MEMOIRE 1. Les différents types de supports physiques 1.1 Format d'une barrette SIMM 8 bits 1.2 Format d'une barrette SIMM 32 bits 1.3 Format d'une barrette DIMM 64 bits 1.4 Format de la barrette RDRAM 2. Bancs de mémoire 2.1 Mémoire avec Parité et sans Parité 3. Structure physique de la mémoire 3.1 Architectures interne de la SRAM 3.2 Chronogramme des cycles d'accès 3.3 Cycle de lecture 3.4 Cycle d'écriture 3.5 Cycle de rafraîchissement 4. Description des différents types de mémoires 4.1 La mémoire FPM 4.2 La mémoire EDO 4.3 La mémoire BEDO 4.4 La mémoire SDRAM 4.5 La mémoire DDR SDRAM, QBM et DDR-II SDRAM 4.6 La mémoire QDR SDRAM et QDR-II SDRAM 4.7 La mémoire Rambus DRAM (RDRAM) et SLDRAM 4.8 La mémoire Auto-correctrice ECC et AECC 5. Taux de transfert des différents types de mémoires 6. Liens utiles 1. Les différents types de supports physiques Il y a plusieurs manières d'intégrer physiquement des puces RAM à la carte mère ou à la carte d'extension. Les systèmes anciens utilisent des puces mémoire séparées, appelées des puces DIP (à doubles rangées de broches), qui étaient raccordées par des connecteurs ou soudées directement à une carte. La plupart des systèmes modernes utilisent des barrettes mémoires appelées SIMM ( Single In-line Memory Module = module mémoire à simple rangée de broches de connexion ). Ce type de module combine plusieurs puces sur une petite plaquette enclenchée dans un socle de maintien. Le module SIPP est semblable à un SIMM, mais utilise des broches à la place du connecteur plat pour se connecter à la carte mère. Il est possible de transformer une barrette SIPP en SIMM en supprimant les broches, ou de transformer une SIMM en SIPP en soudant les broches. Certaines sociétés fabriquent des convertisseurs de SIPP en SIMM qui permettent au SIPP de se brancher sur des connecteurs SIMM 30 broches conventionnels. Il existe donc actuellement 4 types de support de mémoire. Les puce DIP, les barrettes SIPP, SIMM et DIMM. Viens ensuite la génération de mémoires, RDRAM. Fig. 1: Des barrettes SIP, avec leurs fines pattes soudées sont presque aussi délicates à installer que les puces traditionnelles 1.1 Format d'une barrette SIMM 8 bits Fig. 2: Les barrettes SIMM 30 broches sont plus pratiques. L'échancrure à gauche évite qu'elles soient montées à l'envers. Ce sont des barrettes 8 bits. 1.2 Format d'uns barrette SIMM 32 bits Barrette SIMM 72 broches 32 bits Montage d'une barrette SIMM 72 broches L'échancrure au milieu et à gauche évite qu'elle soit montée à l'envers. 1.3 Format d'uns barrette DIMM 64 bits Barrette DIMM 168 broches en 64 bits. Montage d'une barrette DIMM 168 broches Les deux échancrures au milieu évitent de monter la barrette à l'envers. Ces barrettes existent en 3,3 v et en 5 v. La positions des échancrures varie en fonction de la tension de la barrette. Barrette DIMM 184 broches en 64 bits. On voit qu'ici il n'y a qu'une seul échancrure. Ces barrettes existent en 2,5 v. Barrette DIMM 208 broches en 64 bits (QBM). On voit ici la serie de petit composants situés en dessous des blocs mémoires. Le format DIMM est utilisé, entre autre, par des mémoires de type SDRAM en 168 broches puis par des mémoires DDR SDRAM et QDR SDRAM en 184 broches et le 208 broches pour les mémoires QBM. 1.4 Format de la barrette RDRAM Ce sont des barrettes mémoires séries constituées de composants 16 bits ( ou 18 bits ) avec un connecteur de 184 broches. On a donc une largeur de bus de 16 bits ( Oui j'ai bien dit 16 bits ). Ce type de mémoire a fait son apparition début 1999 et aurait dut se généraliser en 2002 malheureusement sont prix était trop excessif par rapport à la DDR Ram. Ce qui a eu pour conséquence de faire disparaître petit à petit ce type de mémoire. 2. Bancs de mémoire Les barrettes mémoire ( SIPP, SIMM et DIMM ) sont organisées en bancs sur les cartes mères et les cartes mémoires. Vous devez connaître l'agencement du banc de mémoire et sa position sur les cartes mères et les cartes mémoires quand vous ajoutez de la mémoire au système. En outre, les diagnostics mémoire indiquent les emplacements des erreurs par octet et par adresse et vous devez utiliser ces chiffres pour savoir où se trouve le banc défectueux. Les bancs de mémoire correspondent, en général, à la capacité du bus de données du microprocesseur. Le Tableau suivant montre la taille de chaque banc selon le type de PC : Processeur 8088 8086 286 386SX, SL, SLC 386DX 486SLC,SLC2 486SX, DX, DX2, DX4 Pentium Bus de données 8 bits 16 bits 16 bits 16 bits 32 bits 16 bits Taille du banc ( Parité ) 9 bits 18 bits 18 bits 18 bits 36 bits 18 bits SIMM 30 broches par banc 1 2 2 2 4 2 SIMM 72 broches par banc 1 (4bancs) 1 (2bancs) 1 (2bancs) 1 (2bancs) 1 1 (2bancs) 32 bits 36 bits 4 1 64 bits 72 bits 8 2 Le nombre de bits de chaque banc peut être fait de simples puces ou de SIMM. Par exemple, dans un système 286 utilisant un banc 18 bits, vous pourriez faire un bloc de 18 puces d'une capacité de 1 bit, ou utiliser quatre puces d'une capacité de 4 bits, pour les bits de données, et deux puces d'une capacité de 1 bit comme bits de parité. La plupart des systèmes modernes n’utilisent pas de puces mais des SIMM. Si le système dispose d'un banc 18 bits, il utilisera plutôt des SIMM 30 broches, deux par banc. Toutes les barrettes SIMM d'un même banc doivent être de la même taille et du même type. Comme vous pouvez le constater, les SIMM 30 broches sont moins intéressants pour les systèmes 32 bits parce que vous devez en utiliser quatre par banc ! Ces SIMM n’étant disponibles qu’en 1 Mo ou 4 Mo, cela signifie qu'un banc doit faire 4 Mo ou 16 Mo de mémoire. II n'y a pas de capacité intermédiaire. L'utilisation de SIMM 30 broches dans un système 32 bits limite artificiellement la configuration de la mémoire et n'est pas conseillé. Sur les systèmes 32 bits qui utilisent des SIMM 72 broches, chaque SIMM représente un banc séparé et peut être ajouté ou enlevé individuellement, et non forcément par groupe de quatre. La configuration de la mémoire est ainsi plus facile et plus souple. Par contre sur des systèmes 64 bits comme les Pentium II, les barrettes SIMM doivent être utilisées par paires. Seules les barrettes DIMM de 64 bits peuvent être montées par unité. La disposition physique sur les cartes mères ou les cartes mémoire est arbitraire, elle est déterminée par les constructeurs. Vous pouvez choisir la disposition de votre carte mère ou de vos cartes d'extension en faisant des tests, mais cela prend du temps et ce n'est pas toujours facile, surtout si vous avez des problèmes avec votre système. La documentation de votre système ou de votre carte vous y aidera. 2.1 Mémoire avec Parité et sans Parité Les mémoires avec parité sont des mémoires qui utilisent 1 bit supplémentaire pour stocker la parité d'un octet ( 8 bits ). C'est à dire que lorsque le système écrit un octet, par exemple 0000 0010, il compte le nombre de bit qui sont à 1. Si ce nombre est pair alors le bit de parité est mis à 0 sinon il est mis à 1. De même, à chaque lecture, le système recalcule le nombre de bit à 1 et vérifie que le résultat correspond bien à la valeur stockée. Pour que le contrôle de parité soit effectué, il faut au préalable qu'il soit activé dans le bios. Lorsqu'une erreur de parité est détectée, le système est toujours arrêté brutalement avec un message du type : 'PARITY ERROR AT 0AB5:00BE. SYSTEM HALTED.' Et cela pour les systèmes d'exploitation DOS, Windows v3.11 et Windows 95, car c'est une erreur matérielle classifiée de 'FATALE' et que l'on ne peut pas ignorer. Par contre certains systèmes comme Linux ou SCO-Unix, gèrent eux même cette erreur soit en détournant l'interruption 02h soit en mettant à zéro le bit 7 du port 70h. Certain type de mémoire stocke le nombre de bit impair au lieu du nombre de bit pair. Le tableau suivant fournit la valeur du bit de parité en fonction du type de mémoire Type Parité pair Parité impaire Bits de données 0000 0000 1000 1001 Nombre de 1 pair impair Bit de parité 0 1 1000 1000 pair 1 0111 0000 impair 0 3. Structure physique de la mémoire La mémoire est organisée sous la forme d'une grille dont chaque nœud correspond à un transistor. On utilise la capacité résiduelle du transistor pour stoker l'information. Le processeur envoie l'adresse complète au multiplexeur / démultiplexeur de la mémoire, le MUX, et spécifie s'il s'agit d'une lecture ou d'une écriture. Le circuit de multiplexage divise l'adresse en deux parties. Les bits de poids fort contiennent l'adresse de la ligne et les bits de poids faibles l'adresse de la colonne. Le signal Row Adress Strob ( RAS ) est généré pour indiquer à la DRAM qu'il s'agit d'une adresse ligne. Puis le signal Column Adress Strob ( CAS ) est généré pour indiquer à la DRAM qu'il s'agit d'une adresse colonne. Si une lecture est effectuée alors le bit, situé à l'intersection de la ligne et de la colonne, est envoyé sur la ligne de donnée. Dans le cas contraire la donnée est écrite à la même intersection. La mémoire est composée de transistors que l'on utilise comme des condensateurs. Afin de compenser les pertes de charge de ces condensateurs la mémoire doit être régulièrement rafraîchie. Pendant le rafraîchissement, il n'y a pas d'accès possible à la mémoire, ni en lecture ni en écriture. Le processeur doit attendre quelques cycles pour que le rafraîchissement soit terminé. Ces temps d'attente, appelé en anglais Waitstates ou Temps de Latence, font chuter les performances du système. On s'efforce donc de les réduire autant que faire se peut. Ils ne sont pas les mêmes pour tous les composants, de sorte qu'il existe des composants de mémoire plus ou moins rapides. Les temps d'accès s'évaluent en nano secondes et sont compris entre 40 ns et 120 ns. Une nano seconde vaut un milliardième de seconde = 10-9 s ! ). Plus ce temps est long, plus le composant de mémoire est lent. La vitesse de rafraîchissement ne peut pas s'adapter à la vitesse d'accès des composants de mémoire. Elle est tenue de respecter des limites bien précises imposées par la construction de la carte mère. Pour les cartes mères modernes, on exige en général un temps d'accès de 60 ns , 70 ns ou 80 ns. L'utilisation de composants de mémoire plus lents provoque en général de graves erreurs de lecture alors que des composants plus rapides n'apportent aucun gain de vitesse supplémentaire. Au contraire, les mémoires très rapides, par exemple avec 40 ns de temps d'accès nécessitent éventuellement aussi un rafraîchissement plus rapide et si la carte mère ne le fournit pas en temps voulu, il y a de fortes chances pour que la mémoire ait déjà tout oublié. La perte de performance due aux temps d'attente est très sensible sur les cartes mères modernes cadencées à 100 MHz et davantage. Pour remédier à ce problème, on utilise deux procédés fondamentalement différents, seuls ou combiné: Un cache externe de mémoire statique, généralement de 256 Ko. De nouvelles technologies des mémoires, les RAM EDO, BEDO, SDRAM, DDR SDRAM, QDR SDRAM et RDRAM 3.1 Architectures interne de la SRAM Il existe plusieurs type d'architecture interne des composants mémoires SRAM. SyncBurst en Flow-throught, Pipelined SCD (Single cycle deselect), Pipelined DCD (Double cycle deselect). ZBT (Zero Bus Turnaround ) Flow-throught et ZBT Pipelined. QDR 2-word burst et QDR 4-word burst. DDR 2-word burst et DDR 4-word burst avec des entrées/sorties communes ou séparées.. La composant mémoire SRAM de base ne change pas. Par contre ce qui change c'est la façon de gérer les entrées/sorties. Par exemple le SyncBurst permet à 2 bus de gérer le composant. 4-word burst signifie que l'on peut lire en 1 seul cycle une donné sur 64 bits. D'une façon générale, on vas surtout essayer avec le ZBT, DDR et QDR de diminuer les cycles d'horloge utilisés entre les lectures/écritures et d'optimiser la gestion du décodage des adresses. Exemple d'architecture DDR 3.2 Chronogramme des cycles d'accès Les boîtiers de mémoire dynamique n'ont pas de commande de validation. Ce rôle est remplit par la conjonction des signaux RAS et CAS. Il y a trois cycles de base pour une mémoire dynamique, le cycle de lecture, le cycle d'écriture et le cycle de rafraîchissement 3.3 Cycle de lecture TaccèsRAS : C'est le temps d'accès à partir de l'activation du signal RAS. Il s'agit du temps d'accès effectif en lecture. TaccèsCAS :C'est le temps d'accès à partir de l'activation du signal CAS. TpréchargeCAS :C'est le temps de préchargement du signal RAS. Après chaque accès il faut garantir une certaine durée d'inactivité ( RAS désactivé ) avant de pouvoir commencer un nouveau cycle ( par exemple de 60 ns ). Le temps de cycle est l'intervalle de temps minimum séparant deux demandes d'accès successives en lecture ou en écriture 3.4 Cycle d'écriture Le mode le plus fréquent est le mode "contrôlé par CAS". Le signal d'écriture RW est positionné avant le CAS ce qui provoque l'écriture. Dans le mode 'late write cycle" on génère le signal RW après le CAS. Dans ce cas c'est le signal RW qui provoque l'écriture. Cela permet de lire et d'écrire un mot en un seul cycle. Twrite est la durée du signal RAS en écriture, il est souvent égale à TaccèsRAS. 3.5 Cycle de rafraîchissement A l'intérieur du boîtier, le rafraîchissement se fait par ligne entière. Chaque accès provoque le rafraîchissement de toute la ligne adressée. Un mécanisme de rafraîchissement doit garantir l'accès périodique à chaque ligne, en fournissant son adresse accompagné du signal RAS. Ceci dit, à ces caractéristiques temporelles s'ajoutent de nombreuses contraintes secondaires comme le temps de prépositionnement des adresses avant le RAS et le CAS, la durée minimale du signal CAS, le temps de prépositionnement de la donnée en écriture avant le RAS etc… Chaque modèle a ses contraintes particulières. Il peut y avoir plus de 40 paramètres temporels… 4. Description des différents types de mémoires 4.1 Mémoire FPM DRAM. 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. Cycle de lecture de la mémoire FPM 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. Cas de plusieurs accès consécutif : 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. 4.2 Mémoire EDO. 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. Cycle de lecture de la mémoire EDO 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. 4.3 Mémoire BEDO 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. 4.4 Mémoire SDRAM La Synchronuous Dynamic Random Access Memory est également une évolution de la classique DRAM. Contrairement à la RAM BEDO, on a choisi ici un procédé très complexe pour accéder plus rapidement aux contenus de la mémoire. 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. 4.5 Mémoire DDR SDRAM, QBM et DDR-II SDRAM 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énommer le terme de PCxxxx ou xxxx correspond, en million d'octets, à la valeur arrondie du taux de transfert théorique. Type PC1600 PC2100 PC2700 PC3000 PC3200 PC3500 PC3700 PC4000 Appellation DDR200 DDR266 DDR333 DDR360 DDR400 DDR433 DDR466 DDR500 Fréquence du bus mémoire 100 Mhz 133 Mhz 166 Mhz 180 Mhz 200 Mhz 216 Mhz 233 Mhz 250 Mhz Taux de transfert en Mo 1600 2133 2666 2880 3200 3500 3700 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. Mémoire DDR RAM Un nouvelle version de la DDR RAM sortira début 2003. Il s'agit de la DDR-II RAM 400 conforme aux spécifications 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 contrôleur logique 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 contrôle 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 PC4300 PC5400 Appellation DDR II 533 DDR II 667 Fréquence du bus mémoire 266 Mhz 333 Mhz Taux de transfert en Mo 4300 5400 Kentron Technology est un des 1er fabricant de barrettes QBM = Quad Band Memory. Il s'agit d'une autre façon de gérer de la mémoire DDR. Le module mémoire fonctionne en 128-bit. Pour cela il utilise, de façon alternative, deux canaux de 64-bit. On peut ainsi et avec une seule et unique barrette doubler la bande passante mémoire disponible. Contrairement au système d'IBM qui prévois d'utiliser 2 barttes de DDR Ram. Le taux de transfert des barrettes QBM533, basées sur des modules DDR266, sera de 4.2Go/sec. Alors que celui des barrettes QBM800, basées sur des modules DDR400, sera de 6.4Go/sec en mode simple canal et de 12,8Go/s en mode "dual canal". Mémoire QBM RAM 4.6 Mémoire QDR SDRAM et QDR-II SDRAM 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 transférer 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. Mémoire QDR RAM 4.7 Mémoire Rambus DRAM (RDRAM) et SLDRAM. 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é supplanté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 : une vitesse très élevée de 400 Mhz, 800 Mhz et 1066 Mhz. une architecture synchrone l'utilisation de la montée et de la descente des cycles d'horloge ( 800 Mhz ou 1066 Mhz pour les données ). 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érieures 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 Contrôleur avec un canal = 1,6 Go/s Il s'agit d'une barrette 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 Il s'agit d'une barrette de 64 bits constituée de 16 composants mémoires de 4 bits montées en parallèle. Les barrettes RDRAM peuvent être chaînés sur une bus. 4.8 Mémoire Auto-correctrice ECC et AECC. 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. 5. Taux de transfert théorique des différents types de mémoires en mode synchrone En ce qui concerne le bus mémoire il fonctionne à la même fréquence que le bus processeur sauf pour la RAMBUS. Largeur du bus de données en bit Fréquence du bus en Mhz Taux de transfert en Mo/s Taux de transfert en MB/s SD EDO RA M SD RA M PC 100 SD RAM PC 133 DDR SD RAM PC 1600 DDR SD RAM PC 2100 DDR SD RAM PC 2700 DDR SD RAM PC 4000 QD Ram RamBus R Bus 4 1 canal SDR canaux PC800 AM PC800 Ram Bus 4 canaux PC1066 32 64 64 64 64 64 64 64 2x64 16 16 16 66 66 100 133 100 133 166 250 1500 800 800 1066 267 533 800 1064 1600 2133 2666 4000 2400 1600 0* 6400 8528 254 508 763 1017 1526 2034 2543 3815 2288 1526 8* 6104 8133 = Il s'agit d'une valeur maximal théorique basé sur l'utilisation simultané de lecture et d'écriture. Le taux en lecture seule donnerais 11,444 Go/s. 1 MB = Mega Byte = Mega Octects = Mo ( Informatique ). Taux de transfert maximal du bus mémoire synchrone Taux = (Largeur du bus de données en bit X Fréquence du bus en Hertz ) / ( 8 * 1024 * 1024 ) Il s'agit d'un taux de transfert théorique basé sur des lectures/écritures de données contiguës. Si vous avez un bus asynchrone du genre 5.2.2.2 il faudra diviser ce taux par 2. Idem, pour un bus à 5.x.x.x il faudra le diviser par x. 1 Mo (Marketing ) = 1 Million d'octects. Taux = (Largeur du bus de données en bit X Fréquence du bus en Mhz ) / 8 Exemple pour l'EDO : Taux = (32 X 66 666 666)/( 8 * 1024 * 1024 )= 254,31 MB/s. Attention, quand on dit 66Mhz la valeur exacte est en fait 66,666666Mhz même chose pour 133Mhz => 133,333333 Mz. Pour les mémoires DDR quand on parle de DDR333=PC2700 cela signifie que l'on utilise une fréquence de bus à 166 Mhz. Comme la DDR utilise le front montant et descendant du signal, cela signifie qu'elle fonctionne comme une mémoire SDRAM cadencée à 333 Mhz. Même chose pour la DDR500=PC4000. 6. Liens utiles Il existe des utilitaires permettant de tester la mémoire. Vous avez par exemple : Utilitaires Adresse L'utilitaire C't CM v1.7 L'utilitaire c't-Ramtest v5.1 DataSheet des mémoire DDR-II SDRAM Spécification de la QDR-II RAM et DDR-II RAM Spécification de la QBM RAM Cypress IDT Micron NEC Hitachi ctcm1.7a.zip ctramtst.zip samsungelectronics.com Kingston Le JEDEC - Organisme de normalisation des composants mémoires Kentron Technology http://www.qdrsram.com/ http://www.quadbandmemory.com/ http://www.cypress.com/ http://www.idt.com/ http://www.micron.com/ http://www.nec-global.com/ global.hitachi.com http://www.kingston.com/tools/umg/de fault.asp http://www.jedex.org/ http://www.kentrontech.com/Kentron_ Products/QBM.htm http://worldserver.oleane.com/heissler/ memoire/