Passer au contenu principal
Matériel

Mémoires d’un PC : RAM, cache, DRAM, DDR, ECC et stockage

Un PC ne possède pas une mémoire unique, mais toute une hiérarchie de mémoires et de stockages. Certaines sont minuscules et extrêmement rapides, d’autres beaucoup plus vastes mais lentes. Certaines disparaissent dès que l’alimentation est coupée, tandis que d’autres conservent les données pendant des années.

Cette hiérarchie existe pour une raison simple : la mémoire idéale serait gigantesque, instantanée, non volatile et presque gratuite. Comme ce composant n’existe malheureusement que dans les présentations PowerPoint, les ordinateurs combinent plusieurs technologies ayant chacune leurs compromis.

Plus une mémoire est proche du processeur, plus elle tend à être rapide, petite et coûteuse par bit. Plus on descend vers le stockage de masse, plus la capacité augmente et plus les temps d’accès deviennent importants.

La hiérarchie mémoire d’un PC

Niveau Technologie typique Capacité Volatile Rôle
Registres CPU Circuits internes Très faible Oui Données immédiatement manipulées par le processeur
Cache L1/L2/L3 Principalement SRAM Ko à dizaines/centaines de Mo Oui Réduire les accès à la RAM
Mémoire principale DRAM / DDR Go à To selon plateforme Oui Programmes et données en cours d’utilisation
VRAM GDDR, HBM selon GPU Plusieurs Go à dizaines de Go Oui Données exploitées directement par le GPU
SSD / HDD NAND flash / magnétique Centaines de Go à plusieurs To Non Stockage permanent
Firmware Flash SPI Quelques dizaines de Mo typiquement Non UEFI et firmware de plateforme

Lorsque vous lancez une application, son exécutable se trouve initialement sur un SSD ou HDD. Le système charge les données nécessaires en RAM, puis le processeur utilise ses caches et ses registres pour rapprocher les informations dont il a immédiatement besoin.

Si la RAM devient insuffisante, le système peut déplacer certaines pages mémoire vers le swap sous Linux ou le fichier d’échange sous Windows. Cela permet de continuer à fonctionner, mais un SSD reste beaucoup plus lent que la RAM en matière de latence. Transformer 32 Go de swap en « RAM supplémentaire » n’est donc pas une astuce permettant d’économiser sur les DIMM.

RAM, stockage et firmware : trois fonctions différentes

La RAM, ou Random Access Memory, est la mémoire de travail principale du système. « Random Access » signifie que les différentes positions peuvent être adressées directement sans devoir parcourir séquentiellement toutes celles qui les précèdent.

Elle est volatile : lorsque l’alimentation disparaît, son contenu finit par disparaître également. On y trouve notamment les programmes actifs, leurs variables, des caches, des bibliothèques chargées et une multitude de buffers utilisés par le système.

La mémoire de masse désigne au contraire le stockage persistant : SSD, HDD, clés USB et autres supports. Un HDD moderne peut fournir quelques centaines de MB/s en accès séquentiel dans de bonnes conditions, tandis qu’un SSD NVMe PCIe 4.0 performant peut dépasser 7 GB/s. Ces chiffres ne doivent cependant pas masquer l’énorme différence de latence entre stockage et DRAM.

Et la ROM ?

Historiquement, la ROM — Read-Only Memory — désignait une mémoire dont le contenu était fixe ou difficilement modifiable. Le terme reste associé au firmware des PC, mais les cartes mères modernes stockent généralement leur UEFI dans de la mémoire flash SPI reprogrammable.

C’est pourquoi une carte mère peut recevoir une mise à jour de firmware. La mémoire est non volatile, mais certainement pas « read-only » au sens strict.

Le firmware initialise le matériel, effectue les étapes de POST, configure la plateforme puis recherche un chargeur d’amorçage capable de poursuivre le démarrage du système d’exploitation.

SRAM et DRAM : rapides contre denses

La RAM d’un PC n’utilise pas partout la même technologie. Les caches processeur et la mémoire principale répondent à des contraintes différentes.

Caractéristique SRAM DRAM
Cellule classique Souvent 6 transistors Typiquement 1 transistor + 1 condensateur
Rafraîchissement Non Oui
Vitesse Très élevée Inférieure à la SRAM
Densité Faible Élevée
Coût par bit Élevé Plus faible
Usage courant Caches CPU RAM principale

Une cellule SRAM classique utilise des transistors organisés en circuit bistable afin de conserver son état tant qu’elle reste alimentée. Elle n’a pas besoin du rafraîchissement périodique caractéristique de la DRAM, ce qui contribue à ses performances.

Le prix à payer est la surface de silicium. Si l’on construisait 64 Go de mémoire principale avec la même SRAM que celle utilisée pour les caches CPU, le prix et la taille de la puce rendraient soudain les barrettes DDR5 très sympathiques.

Comment fonctionne une cellule DRAM ?

Une cellule DRAM conventionnelle utilise un condensateur pour représenter une charge et un transistor pour en contrôler l’accès. Les cellules sont organisées en lignes, colonnes et banques.

Lorsqu’une ligne est activée, les minuscules variations électriques sont détectées par des sense amplifiers. La lecture de DRAM classique est destructive au niveau de la cellule : l’information détectée doit donc être restaurée.

Les condensateurs perdent également progressivement leur charge, d’où la nécessité de rafraîchir périodiquement les cellules. Des périodes globales de l’ordre de 64 ms sont courantes dans certaines spécifications, mais les mécanismes modernes sont plus complexes et dépendent notamment du type de DRAM et de la température.

De FPM à DDR5 : l’évolution de la DRAM

Technologie Période approximative Évolution principale
FPM DRAM Années 1980–1990 Accès successifs plus efficaces dans une même page mémoire
EDO DRAM Années 1990 Chevauchement amélioré entre certains accès mémoire
SDRAM Fin des années 1990 Fonctionnement synchronisé avec une horloge
DDR SDRAM Années 2000 Transferts sur deux fronts d’horloge
DDR2 Années 2000 Débits supérieurs et préfetch 4n
DDR3 Fin des années 2000 Préfetch 8n, tension réduite et fréquences accrues
DDR4 Années 2010 Jusqu’à DDR4-3200 dans le standard courant, capacité et efficacité accrues
DDR5 Années 2020 Débits nettement supérieurs, PMIC, nouveaux sous-canaux, davantage de banques et On-Die ECC

DDR signifie Double Data Rate. Une DDR4-3200 réalise 3200 millions de transferts par seconde, soit 3200 MT/s, avec une horloge mémoire d’environ 1600 MHz.

DDR-400 fonctionnait ainsi à environ 200 MHz tout en fournissant 400 MT/s. L’appeler « RAM à 400 MHz » était déjà une simplification commerciale qui a survécu avec une remarquable santé jusqu’à DDR5.

Les générations DDR ne sont pas interchangeables. Tension, signalisation, brochage et encoche diffèrent : une barrette DDR4 ne s’installe pas dans un slot DDR5, ce qui évite heureusement qu’une mauvaise décision BIOS commence avec un marteau.

Les particularités de DDR5

Un DIMM DDR5 standard conserve une largeur totale de données de 64 bits, mais cette largeur est divisée en deux sous-canaux indépendants de 32 bits. Cette organisation améliore l’efficacité des accès par rapport au canal unique de 64 bits d’un DIMM DDR4 classique.

DDR5 déplace également une partie de la gestion de l’alimentation vers le module grâce au PMIC, augmente le nombre de banques et adopte un prefetch 16n. Les documentations actuelles répertorient des débits standardisés allant désormais jusqu’à DDR5-8800, même si les vitesses réellement prises en charge dépendent du processeur, de la carte mère et du type de module.

MT/s, bande passante et timings

Pour un canal de données de 64 bits, soit 8 octets, la bande passante théorique se calcule simplement à partir du débit de transfert : MT/s × 8 octets.

Mémoire Horloge approximative Débit Bande passante par canal
DDR-400 200 MHz 400 MT/s 3,2 GB/s
DDR2-800 400 MHz 800 MT/s 6,4 GB/s
DDR3-1600 800 MHz 1600 MT/s 12,8 GB/s
DDR4-3200 1600 MHz 3200 MT/s 25,6 GB/s
DDR5-5600 2800 MHz 5600 MT/s 44,8 GB/s
DDR5-6400 3200 MHz 6400 MT/s 51,2 GB/s

Les timings décrivent quant à eux différents délais internes exprimés en cycles. On rencontre notamment CL, tRCD, tRP et tRAS. Un CL inférieur n’est pas automatiquement plus rapide si la fréquence diffère.

La latence CAS théorique peut être approximée par CL × 2000 / MT/s. Ainsi, DDR4-3200 CL16 et DDR5-6000 CL30 donnent toutes deux environ 10 ns de CAS théorique, même si leur bande passante et leur architecture sont très différentes.

Cette valeur ne représente pas la latence mémoire complète vue par le CPU. État des banques, row hit ou miss, contrôleur mémoire, files d’attente, caches et charge du système interviennent également.

ECC, parité et On-Die ECC

Les erreurs mémoire peuvent provenir de défauts matériels, perturbations électriques, instabilité d’overclocking ou phénomènes physiques divers. Les systèmes nécessitant une forte intégrité utilisent donc des mécanismes de détection et de correction.

Un simple bit de parité peut permettre de détecter certaines erreurs, mais il ne permet pas à lui seul de savoir quel bit doit être réparé.

L’ECC utilise davantage d’informations redondantes. Un modèle classique SECDED permet de corriger une erreur d’un bit et de détecter une erreur de deux bits sur un mot protégé. Les systèmes serveur modernes peuvent cependant employer des mécanismes plus élaborés selon le contrôleur, la largeur des puces et l’architecture mémoire.

Mécanisme Fonction
Parité Détection simple de certaines erreurs
ECC système Détection et correction selon le code et la plateforme
DDR5 On-Die ECC Correction de certaines erreurs à l’intérieur de chaque puce DRAM

La dernière ligne est essentielle : toute DDR5 possède des mécanismes On-Die ECC, mais toute DDR5 n’est pas pour autant de la RAM ECC système.

L’On-Die ECC protège surtout l’intérieur de la puce. Il ne remplace pas la protection assurée par une plateforme ECC entre la mémoire et le contrôleur du processeur.

Pour bénéficier d’un véritable ECC système, il faut une combinaison compatible de processeur, contrôleur mémoire, carte mère, firmware et modules appropriés.

Dual-channel, quad-channel et au-delà

Les canaux mémoire permettent au contrôleur d’accéder à plusieurs chemins de données en parallèle. Sur un PC desktop classique, deux canaux restent courants. Avec DDR4-3200, deux canaux de 64 bits donnent théoriquement 25,6 × 2 = 51,2 GB/s.

Le triple-channel a notamment été utilisé sur la plateforme Intel X58. Les stations de travail et serveurs modernes peuvent aller beaucoup plus loin que le traditionnel quad-channel : certaines plateformes professionnelles disposent aujourd’hui de huit ou douze canaux mémoire par processeur.

Le nombre de barrettes ne correspond cependant pas automatiquement au nombre de canaux. Quatre DIMM installés sur une carte desktop dual-channel restent généralement organisés sur deux canaux, avec deux DIMM par canal.

Il faut donc respecter le manuel de la carte mère. Avec deux barrettes sur une carte à quatre slots, l’installation recommandée est fréquemment A2/B2, mais le schéma exact dépend de la carte.

Quelle mémoire choisir en pratique ?

La capacité doit venir avant la recherche obsessionnelle du dernier nanoseconde. Une machine qui manque de RAM et commence à paginer vers le stockage perdra bien davantage de performances qu’une machine utilisant une mémoire légèrement moins rapide.

Besoin Priorité
Bureautique générale Capacité suffisante et stabilité
Jeu Capacité, dual-channel, vitesse raisonnable et timings cohérents
Création / VM Capacité importante avant les derniers pourcents de fréquence
GPU intégré Bande passante mémoire particulièrement importante
Serveur ECC, capacité, nombre de canaux et fiabilité
Overclocking Compatibilité CPU/carte mère, timings, tension et validation de stabilité

Les profils XMP ou EXPO peuvent appliquer automatiquement des réglages plus rapides que les paramètres de base. Ils constituent néanmoins de l’overclocking mémoire : démarrer correctement ne prouve pas que la machine est parfaitement stable.

Après une modification importante des réglages mémoire, un test sérieux est particulièrement recommandé. Une RAM réellement défaillante est pénible ; une RAM qui ne produit qu’un bit incorrect tous les trois jours est souvent bien plus créative.

Conclusion : la mémoire est une hiérarchie, pas une barrette

Parler de « mémoire du PC » revient donc à regrouper des technologies extrêmement différentes. Les registres et caches permettent au processeur d’obtenir très rapidement ses données immédiates. La SRAM fournit une mémoire rapide mais coûteuse, la DRAM apporte la capacité nécessaire à la mémoire principale et les SSD ou HDD assurent la persistance.

Les générations DDR ont progressivement augmenté débit, capacité et efficacité, mais leurs performances ne peuvent pas être résumées à un unique nombre en MHz. Il faut distinguer MT/s, bande passante, timings, nombre de canaux et latence réelle.

ECC ajoute enfin une dimension essentielle dans les systèmes où une donnée silencieusement corrompue coûte beaucoup plus cher qu’une barrette supplémentaire. Et l’On-Die ECC de DDR5 améliore la fiabilité interne des puces sans transformer pour autant toutes les machines DDR5 en serveurs ECC.

Une bonne configuration mémoire est donc celle qui fournit assez de capacité, suffisamment de bande passante et une stabilité adaptée au travail demandé.

Après tout, la mémoire la plus rapide du monde reste assez peu utile si elle se souvient très vite de mauvaises données.