DRAM vs SRAM : les principales différences
La DRAM stocke chaque bit sous forme de charge sur un minuscule condensateur : elle est donc dense et bon marché, mais doit être rafraîchie. La SRAM stocke chaque bit dans un verrou (latch) formé de transistors : elle est donc plus rapide et ne nécessite aucun rafraîchissement, mais occupe beaucoup plus de surface par bit. C'est pourquoi les ordinateurs utilisent la DRAM pour la mémoire principale de grande capacité et la SRAM pour les caches petits et rapides.
| Critère | DRAM | SRAM |
|---|---|---|
| Élément de mémorisation | Un transistor et un condensateur (1T1C). Le bit correspond à la présence ou à l'absence de charge sur le condensateur | Généralement six transistors (6T) : deux inverseurs croisés formant un latch, plus deux transistors d'accès |
| Rafraîchissement | Nécessaire. La charge fuit, si bien que chaque ligne doit être lue et réécrite périodiquement (typiquement en moins de 64 ms) | Inutile. Le latch conserve ses données tant que l'alimentation est présente |
| Sans alimentation | Les données sont perdues (volatile) | Les données sont perdues (volatile) |
| Surface par bit | Faible (une cellule occupe environ 6F², F étant la taille minimale de motif) | Grande (au moins un ordre de grandeur de plus que la DRAM) |
| Vitesse | Plus lente. Une ligne doit être activée puis préchargée, de sorte qu'un accès prend plusieurs dizaines de nanosecondes | Rapide. La SRAM intégrée sur la puce est accessible en environ une nanoseconde, soit quelques cycles d'horloge |
| Coût par bit | Faible | Élevé (en raison de la surface plus grande) |
| Consommation en veille | Rafraîchissement nécessaire même au repos (réduit par les modes d'auto-rafraîchissement) | Pas de rafraîchissement, mais les fuites des transistors s'additionnent dans une grande matrice |
| Fabrication | Utilise des structures de condensateur profondes et des diélectriques high-k, et est fabriquée dans des usines dédiées aux mémoires | Réalisée dans un procédé CMOS logique standard, elle peut donc se trouver sur la même puce que le processeur |
| Capacité typique | De quelques à plusieurs dizaines de gigabits par puce | De quelques kilooctets à plusieurs dizaines de mégaoctets par niveau de cache dans un processeur typique |
| Usages typiques | Mémoire principale (DDR, LPDDR) et mémoire graphique (GDDR, HBM) | Caches de CPU et de GPU, bancs de registres et petits tampons sur puce |
Les valeurs indiquées sont des ordres de grandeur typiques et varient selon la génération de procédé et le produit.