RAM : comprendre son fonctionnement

Première partie : Historique, éléments de langage, définitions

La RAM tout le monde l’utilise. Les ordinateurs de bureau, les serveurs, les portables, les tablettes, les téléphones mobiles, tous sont dotés de mémoire. Pour autant peu nombreux sont ceux qui sont en mesure d’expliquer son fonctionnement. Parce qu’expliquer et comprendre c’est aussi vous aider à choisir le type de mémoire qui vous conviendra. Toutes les mémoires n’ont ni les mêmes fonctionnalités ni les mêmes usages.

Dans cet article on va se focaliser essentiellement sur la RAM PC et portable bien sûr. Tout commence là où vous ne l’attendiez pas. On ne peut pas mettre n’importe quelle type de mémoire sur n’importe quelle carte mère. Tout simplement parce que ladite carte mère soit être capable de gérer les fonctionnalités de la mémoire que vous utilisez.

Inutile donc d’essayer de faire fonctionner une barrette de 16Go si la carte mère de votre PC ne peut en adresser que 4. Au pire votre ordinateur ne fonctionnera même pas! Si je vous donne cet exemple c’est que l’an passé un client m’a commandé une barrette de RAM de 4Go pour un EeePC.

Le problème est que on se dit souvent que le mieux est obligatoirement le meilleur. Eh bien c’est faux quand on ne connait pas l’environnement dans laquelle va fonctionner cette barrette de RAM.

Et là en l’espèce avec cette barrette l’ordinateur ne démarrait tout simplement pas. La carte mère ne reconnaissait pas cette barrette dont les performances étaient supérieures.

Je comprends que cela puisse décevoir parce que l’on voudrait tirer le meilleur parti de toutes les ressources. Il va donc falloir vous résoudre à lire les quelques parties techniques qui suivent pour comprendre et surtout savoir quelle RAM va correspondre à Votre PC et pourquoi.

Les Pré requis

Avant toute chose il serait bon que vous installiez les outils suivants : – la dernière version de CPU-Z et Memtest86. Ces deux outils doivent vous permettre  de comprendre et surtout d’installer ce qui convient à votre propre matériel.

Mais aussi de dépanner et de définir les défaillances qui pourraient advenir.

Maintenant il va falloir commencer par expliciter les différents termes que l’on retrouve fréquemment. Expliciter, parce que les termes, comme vous ne l’ignorez pas, sont des acronymes en anglais. Si on peut les utiliser dans le langage courant en français, il faut comprendre ce qu’ils recouvrent. Voici donc un mini lexique des termes utilisés dans la RAM.

Mini lexique des termes utilisés

Tout d’abord RAM évidemment

Ce qui signifie : Random Access Memory.  Que veut dire le mot Random? Il signifiait en ancien français une idée de hasard et s’écrivait « randon ». On peut retenir l’idée d’aléatoire même si l’ordinateur agit plutôt de manière pseudo aléatoire.

Pins

Au départ les jambes des premières mémoires que l’on soudait sur la carte mère. Aujourd’hui ce terme désigne le nombre de contacts d’une barrette. Vous pouvez voir une description comme 184 pins. Les premiers contacts qui étaient argentés sont aujourd’hui dorés à l’or 22 carats sur une épaisseur de l’ordre de 1 micron.

BUS

C’est tout simplement un moyen de transport. Dans notre cas le « bus mémoire » qui relie le contrôleur de mémoire et la RAM contient un bus d’adresse, un bus de données et un bus de commande.

DRAM

RAM dynamique. C’est le type de mémoire qui s’oppose à SRAM. La DRAM est moins chère et est surtout utilisée dans les PC produits en grande quantité. Son désavantage est qu’elle nécessite une actualisation constante des données. En revanche la SRAM le S signifiant statique, les données sont conservées sans qu’il nécessaire de les actualiser constamment.

Le CACHE

Permet de stocker des informations fréquemment utilisées par l’ordinateur. L’utilisation de cet autre vecteur de mémoire permet d’augmenter la vitesse d’exécution. Le niveau de cache (L1, L2, L3) détermine la distance les séparant du processeur. Le CACHE est plus rapide en temps d’accès que la RAM.

FP RAM (Fast Page)

Est un type de mémoire DRAM qui permet de multiples accès à un emplacement de mémoire sans qu’il soit nécessaire de spécifier à nouveau l’adresse.

EDO Extended Data Output RAM

Est un type de mémoire DRAM qui utilise des hypothèses sur le prochain accès en mémoire aux données pré-lues.

Parité

La parité fait partie d’un processus de vérification d’erreur qui peut être utilisé pour vérifier l’intégrité des données stockées dans la mémoire. Les données sont stockées en binaire – une séquence de huit uns et zéros qui constituent l’octet de données.

La parité de cet octet de données est trouvée en déterminant s’il y a un nombre impair ou pair de 1 dans les données. La parité de chaque octet de données peut ensuite être stockée en ajoutant un bit de données supplémentaire, qui peut être 1 ou 0.

Ce bit supplémentaire de données s’appelle le «bit de parité». Dans le système de «parité paire», si le nombre total de 1 dans l’octet est un nombre impair, le bit de parité est défini sur 1, ce qui augmente le nombre d’unités. Lorsque les données sont relues dans le système, l’ordinateur calcule à nouveau la parité de l’octet de données et le compare au bit de parité qui a été stocké avec celui-ci.

Si les parités calculées et stockées concordent, tout va bien, mais si elles diffèrent, une erreur s’est produite et l’octet de données est suspect. Pour utiliser la vérification d’erreur de parité, la mémoire doit pouvoir stocker neuf bits par octet d’informations.

ECC

Code de correction d’erreur – RAM dotée d’un stockage de données supplémentaire pour les bits de somme de contrôle afin de permettre la correction des erreurs «à la volée». Le contrôleur de mémoire de la carte mère doit prendre en charge cette fonction. La plupart des mémoires sont non-ECC.

SDRAM

Mémoire à accès aléatoire dynamique synchrone à débit de données unique. L’accès à la mémoire est synchronisé sur l’horloge du bus et le bus a une largeur de 64 bits. Modules de 168 broches.

RAMBUS

Une technologie de mémoire révolutionnaire développée par Rambus Inc., basée sur un type de mémoire vidéo et conçue pour être utilisée sur des PC équipés de processeurs Intel.

RIMM

Rambus Inline Memory Module – la clé USB utilisée dans les systèmes utilisant la RAM Rambus. Modules de 184 broches.

C-RIMM

Module de continuité requis pour remplir les emplacements de mémoire vides dans le système Rambus.

RDRAM

Rambus DRAM – conçu à l’origine pour fonctionner à des vitesses de bus allant jusqu’à 800 MHz mais avec une largeur de 16 bits seulement.

DDR

Mémoire à double débit de données – type de mémoire DRAM basée sur la technologie SDRAM qui fonctionne à une fréquence d’horloge deux fois supérieure à celle du bus. Il utilise 184 broches. Technologie de mémoire principale jusqu’à la fin de 2005.

SODIMM et SORIMM

Versions réduites des clés DIMM et RIMM. Ce sont des modules de mémoire plus petits et plus minces, généralement utilisés dans les ordinateurs portables. Les modules ont 144 ou 200 broches.

SPD

Détection de présence série – circuits (une EEPROM) intégrés à un module de mémoire vive qui enverra des informations au BIOS et au contrôleur de mémoire pour lui indiquer le type et la quantité de mémoire présente, l’emplacement actuel et la configuration de paramètres complexes .

Dissipateur de chaleur

Une feuille de métal mince souvent aluminium ou en cuivre, établissant un contact thermique avec les puces de mémoire et facilitant le refroidissement.

DDR2

Double Data Rate2 memory – type de mémoire DRAM basée sur la technologie DDR fonctionnant à une fréquence deux fois supérieure. Cette technologie devrait être la technologie de mémoire grand public jusqu’à la fin de 2007. Non compatible avec les cartes mères DDR. Les modules ont 240 broches.

Mémoire Dual Channel

Il n’y a pas de différence entre la mémoire DDR Dual Channel et la mémoire DDR ordinaire, c’est la carte mère qui est différente. Les systèmes dotés de capacités à double canal peuvent effectivement doubler la bande passante du bus mémoire en accédant aux modules de RAM par paires. Pour utiliser le Dual Channeling, vous devez acheter la mémoire vive par paires et l’installer de manière symétrique sur les canaux de mémoire.

Mémoire virtuelle

Il s’agit de la RAM simulée par le système lorsque l’espace disponible dans les modules de mémoire réels est insuffisant. Il s’agit en réalité d’un espace sur le disque dur. L’accès y est donc beaucoup plus lent que la RAM réelle. Une dégradation significative des performances du système se produit si plus d’un certain pourcentage de données actuelles réside dans la mémoire virtuelle.

Bank

Un groupe de puces de mémoire (pas de modules) qui, ensemble, peuvent fournir suffisamment de bits de données pour égaler le bus de données du processeur. À l’époque des modules à 30 broches, les puces de mémoire ne contenaient qu’un bit par adresse et vous ne pouviez installer que 8 puces sur un module. Pour « remplir » le bus de données du processeur 486 (largeur de 32 bits), il vous fallait quatre modules pour constituer une banque.

L’introduction des barrettes SIMM à 72 broches permet à l’ensemble des 32 bits de données d’être alimenté par un seul module. Cependant lorsque le Processeur Pentium est arrivé avec un bus de données 64 bits, il fallait alors 2 barrettes SIMM pour constituer une banque. L’introduction du module DIMM à 168 broches, a résolu le problème précédent et il peut désormais y avoir de nombreuses banques de RAM sur un même module de mémoire.

Rank

Une rangée de puces de mémoire. Habituellement, un rang occupe un côté d’un module de mémoire. Par conséquent, si votre module a deux rangs, cela signifie qu’il y a des puces des deux côtés

Évolution des tailles mémoire


Les barrettes SIMM d’origine étaient livrées en paquets de 256 Ko, 512 Ko et 1 Mo et coûtaient un bras voire les deux.

À l’époque de Windows 95, un ordinateur était généralement doté de plusieurs modules de mémoire de 4 ou 8 Mo.

A la sortie de Windows 98, ces modules étaient passés à 16 ou 32 Mo pour constituer environ 64 Mo dans un bon système.

Pour les ordinateurs Windows XP, un minimum de 128 Mo est réalisable en fonction des applications que vous souhaitez exécuter, les modules ont tendance à être de 128 Mo, 256 Mo ou 512 Mo.

Actuellement, les systèmes sont livrés régulièrement avec des modules de 4Go et les clés de 32 Go deviennent de plus en plus courantes.
La taille des modules de RAM double toujours: 4 Mo, 8 Mo, 16 Mo, 32 Mo, 64 Mo, 128 Mo, 256 Mo, 512 Mo, 1 Go, 2 Go, etc.

Cependant vous ne trouverez aucun module de mémoire RAM de 3Go par exemple qui serait une sorte d’équivalent de la voie 9 3/4 du Poudlard Express,.

Pour autant votre système peut avoir une quantité « inhabituelle » de RAM totale pour deux raisons.
D’abord le système contient des modules de RAM de différentes tailles.
Par exemple, votre système affiche 3 Go de RAM. Très probablement, il s’agissait d’un système qui a démarré avec 1Go DDR2 et qui a été mis à niveau en ajoutant un module de 2 Go.

Ensuite quand la carte vidéo est intégrée à la carte mère, le système réserve une partie de la mémoire vive du système pour qu’elle serve de mémoire vidéo. La quantité de mémoire réservée dépend des paramètres du BIOS.

La quantité «totale» de mémoire RAM visible par Windows correspond alors à la taille du module de mémoire RAM, moins la quantité réservée à la vidéo.

Cela peut entraîner des montants très étranges pour la mémoire RAM totale du système. dans l’exemple précédent des 3 Go on pourrait avoir une mémoire de 2.936 Go soit les 3 Go de départ moins les 64 Mo de la carte vidéo.

Vitesse de la RAM

Si votre ordinateur utilise un processeur Intel , la RAM est accessible via le bus frontal (FSB) et le bus de mémoire. Peu à peu des améliorations technologiques ont considérablement modifié la vitesse du FSB.

La RAM quant à elle, possède également une vitesse maximale à laquelle elle peut fonctionner de manière fiable. Cette vitesse doit être au moins aussi élevée que la vitesse du bus mémoire. Ainsi, il existe une «zone grise» dans laquelle le fonctionnement fiable est permis.

Cependant vous noterez des différences entre une RAM de «qualité médiocre» et une mémoire «de haute qualité», cette dernière étant susceptible de fonctionner avec une fiabilité proche de 100% bien supérieure à la vitesse de bus pour laquelle il est évalué.

Les RAM de haute qualité sont généralement garanties plus longtemps (jusqu’à 10 ans) que celles de qualité moindre.

La question qui se pose maintenant, est celle du transfert de données par seconde. A l’aide de de données constructeur, on peut présenter des comparaisons de performance, dans un tableau

Type de RAMType PCVitesse RAM en MHzDébit Mo/s
SDRAMPC100100800
SDRAMPC1331331100
RIMMPC8004001600
RIMMPC10665332100
DDRPC16002001600
DDRPC21002662100
DDRPC27003662700
DDRPC32004003200
Dual Channel DDR2PC2-32004006400
Dual Channel DDR2PC2-42005338400
Dual Channel DDR2PC2-530066710600
Dual Channel DDR2PC2-640080012800

La latence

Voyons la partie plus technique évoquée plus haut. La latence désigne le temps d’attente, un délai en somme. C’est donc le temps qui s’écoule entre le moment où vous faites une requête pour demander des données. Par exemple le calcul de la somme dans un tableau Excel, et le moment où vous obtenez le résultat.

Il vous semble que c’est quasi instantané. Mais en réalité cela dépend aussi de la RAM que vous possédez. Sur la plupart d’entre elles figurent différents chiffres qui auraient dû vous interroger. Avez vous déjà vu la séquence 2-3-3-8 ou 2-3-2-6 par exemple sur une barrette ?

Si l’évocation de mathématique et de logique vous incite à cliquer immédiatement sur un autre blog, retenez juste que si toutes les autres données sont égales, plus la séquence de chiffre sera basse, meilleures seront les performances de la mémoire. C’est à dire que dans notre exemple la séquence 2-3-2-6 sera plus rapide que la 2-3-3-8.

La latence clôture la première partie. Dans la seconde nous entrerons dans un domaine plus technique, avec d’autres définitions mais surtout des explications plus poussées.

RAM