Mémoire ROM / RAM / Flash 1

Proposé par Bastien Gares, mis à jour le 3 septembre 2019.

En informatique, la mémoire est un support électronique qui sert à stocker l’information, c’est l’un des composants fondamentaux des ordinateurs et que l’on retrouve dans absolument tous les appareils électroniques. Elle est disponible sous plusieurs formes que ce soit intégrée ou externe et utilise comme base les semi conducteurs (fabrication CMOS), tout comme les autres puces CMOS, elle évolue en fonction des avancées scientifiques dans ce domaine avec par exemple des gravures plus fines ou des nouveaux substrats. Il existe aujourd’hui trois grands types de mémoire : ROM / RAM / Flash que nous allons détailler avec aussi les futurs mémoires.

 

Mémoire ROM / RAM / Flash 2

 Mémoire ROM

La mémoire volatile conserve les données en absence d’alimentation. C’est un type de stockage très utile pour l’utilisateur.

ROM (Read Only Memory)

Mémoire à lecture seule, lors de la fabrication de cette mémoire on lui incorpore le programme. Très souvent utilisée pour stocker le programme d’amorçage du système, on peut la retrouver sur les cartes mères pour stocker le BIOS

PROM (Programmable Read Only Memory)

Mémoire à lecture seule programmable, comparé à la ROM on ne lui incorpore pas le programme lors de la fabrication mais lorsque l’utilisateur veut stocker son programme. Pour ce faire, la puce détruit des fusibles pour stocker l’information mais ceci est irréversible et on ne peut stocker qu’une seule fois.

EPROM (Erasable Programmable Read Only Memory)

Version améliorée du PROM qui permet cette fois ci de supprimer les données afin d’en mettre d’autres mais la phase de suppression est assez complexe car il faut enlever la puce et utiliser des UV, il y avait aussi le problème de l’exposition involontaire de la puce au soleil qui pouvait alors supprimer des données

EEPROM (Electrically Erasable Programmable Read Only Memory)

Version améliorée de l’EPROM, on peut toujours effacer le contenu pour en mettre un nouveau mais cette fois-ci grâce au courant électrique. Ce genre de puce est donc plus facile à re-programmer car plus besoin d’enlever la puce du support. Par exemple, sur les ordinateurs, le BIOS est stocké sur des puces EEPROM qui se situent sur la carte mère.

 

Mémoire ROM / RAM / Flash 3

Mémoire grande capacité avec des attributs ROM

Lorsqu’on parle de mémoire non volatile, on fait rarement allusion à la ROM car le consommateur utilise d’autres supports plus faciles d’utilisation et surtout beaucoup plus grands en espace de données. On a par exemple les HDD (Hard Disk Drive) qui sont des gros disques avec des plateaux rotatifs où l’on stocke l’information. Cette solution a l’avantage d’avoir beaucoup d’espace pouvant aller de 250Go à plus de 10To par disque. On peut trouver aujourd’hui une version améliorée appelée SSHD qui rajoute en plus du côté mécanique une petite mémoire qui sert de cache ultra rapide pour diminuer la latence et le temps d’accès aux données en cours. L’utilisation de pièces mécaniques a de nombreux inconvénients comme comme la fragilité aux vibrations ou encore la place que requiert cette mémoire.

 

 

Mémoire RAM

 

Définition mémoire volatile et RAM

Une mémoire volatile perd toute ses données lorsque l’on coupe l’alimentation, elle ne sert donc pas à stocker nos fichiers vacances mais des données qui sont en cours de traitement comme par exemple votre navigateur internet, votre jeu en cours etc…

Par opposition à la mémoire morte on appelle ce genre de mémoire, la mémoire vive ou Random Access Memory (RAM). On peut lire, écrire et effacer les données, son avantage comparé à la ROM c’est sa rapidité d’accès que ce soit sur la latence ou le débit. On peut la retrouver sous plusieurs formes :

 

Mémoire vive statique

 

 

SRAM (Static Random Access Memory)

La Static RAM est une mémoire vive qui utilise le principe des bascules électroniques, elle est extrêmement rapide(entre 500Go/s à plus de 2To/s), le temps d’accès est très bas (entre 6 à 25ns) et n’a pas besoin de rafraîchissement périodique comparé à la mémoire vive dynamique que nous verrons par la suite. Elle coûte très cher à produire, elle est volumineuse et assez énergivore. On la retrouve dans beaucoup de nos produits car c’est elle qui sert de mémoire cache dans nos processeurs (cache L1, L2, L3)

-> Le cache L1 se situe à l’intérieur du processeur, c’est donc le plus rapide car il est le plus proche du composant qui traite les données.

-> Le cache L2 se situe à la sortie du processeur (à sa périphérie), cette mémoire est logiquement moins rapide que le cache L1 car elle est plus éloignée.

-> Le cache L3 est quand à lui commun à tous les core du processeur, cela désigne le fait que c’est une mémoire encore plus superficielle par sa localisation qui est encore plus éloignée.

 

Mémoire ROM / RAM / Flash 4

 

 

Chaque type de cache est utilisé pour stocker des parties de programme bien particulier en fonction de la vitesse qu’ils requièrent.

La mémoire qui est le plus susceptible d’obtenir des modifications est la mémoire de cache L3.

La mémoire vive statique ne dépend de la fréquence du processeur (CPU, GPU, NPU…) contrairement au fonctionnement de la mémoire vive dynamique qui elle, dépend de ce facteur.

Le temps d’accès à la mémoire est l’étape qui précède le temps de lecture ou d’écriture.

 

 

Mémoire vive dynamique

 

 

DRAM (Dynamic Random Access Memory)

La mémoire vive dynamique par opposition à la mémoire vive statique a besoin d’un référentiel qui est la fréquence du processeur.

La mémoire DRAM est constituée d’un condensateur et d’un transistor, elle est généralement organisée de manière rectangulaire. Les avantages de cette mémoire réside dans sa conception qui est simpliste. Sa vitesse reste très rapide et son coût de fabrication est modéré comparé aux autres types de mémoires.

 

 

 

 

Mémoire ROM / RAM / Flash 5

 

 

 

eDRAM (embedded Dynamic Random Access Memory)

Cette mémoire reprend exactement le même principe que la DRAM à la seule particularité qu’elle est directement intégrée à côté du processeur. Quand on parle de cache L4, ce cache utilise en fait la eDRAM. Cette RAM a la particularité de pouvoir stocker plus d’information que les autres cache (plusieurs GO). Elle est plus proche du processeur donc plus rapide que la DRAM mais moins rapide que la SRAM qui elle, est est encore plus près du processeur.

 

Mémoire ROM / RAM / Flash 6

 

SDRAM (Synchronous Dynamic RAM)

Cette ancienne mémoire fut utilisée à partir de 1997, sa particularité est d’avoir une interface synchrone. Cette interface sert à faire la liaison entre la carte mère du pc et le système de données. Elle a sa propre fréquence d’horloge interne et accuse une dépendance amoindri avec le processeur.

La lecture de la sDRAM est une lecture en mode rafale, cela correspond à une modification de la fréquence de la RAM pour s’adapter à celle du processeur. Autrement dit, la RAM va segmenter la fréquence en plusieurs cycle pour avoir accès à toute l’information demandée par le processeur.

La mémoire RAM utilise ces cycles pour “égaler” la fréquence du processeur. Il existe une latence entre les différents cycles qui est spécifiée en fonction de la mémoire et qui correspond à la latence entre les cycles. Cette spécification est marquée sur les barrettes de mémoire à l’aide d’une suite de nombres qui correspond à la latence (spécifié sous la forme d’une durée).

 

DDR SDRAM “DDR, DDR2, DDR3, DDR4 et déclinaison low power LPDDR” (Double Data Rate Synchronous Dynamic RAM)

La DDR SDRAM est une déclinaison plus évoluée de la sDRAM qui permet de doubler les débits, diviser par deux la latence. Son principe est de dédoubler les tâches de manière indépendante pour plus de performance en traitant plus de donnés simultanément.

Il existe un autre moyen répartir les tâches. Le dual channel. Le principe est le même sauf qu’on dédouble physiquement la mémoire pour répartir les donnés.

La DDR peut très facilement évoluer car on peut doubler la fréquence des mémoires grâce au même principe que les processeurs avec une gravure plus fine.

L’autre avantage est que l’on peut doubler les fréquences juste en doublant la finesse de gravure sans changer la taille physique de la RAM.

La LPDDR (Low Power) est une variante basse consommation de la DDR qui offre une meilleure autonomie tout en ayant de bonnes performances. Elle est utilisée sur les smartphones et les appareils très portable type Macbook Air ou Pro 13”.

 

DPRAM (Dual Ported Random Access Memory) / VRAM “GDDR et HBM” (Video Random Acces Memory) :

La VRAM est une adaptation pour les processeurs qui ont beaucoup de cœur. Cette adaptation permet à chaque cœur d’accéder à la mémoire sans dépendre de la situation des autres cœurs.

Il est possible de détenir plusieurs puces VRAM pour augmenter les performances.

 

 

Mémoire ROM / RAM / Flash 7

 

 

La VRAM GDDR est la plus répandue, elle se situe sous forme de plusieurs composants tout autour du processeur graphique, son principal défaut est la place qu’elle requiert et ses performances.

Alors que la VRAM HBM est directement intégré au (GPU / NPU) ce qui permet d’être plus compact, plus performant tout en consommant moins d’énergie (voir les photos ci-dessous). La VRAM HBM a clairement de grandes ambitions pour le futur et va voir progressivement sa démocratisation pour le grand public. Pour l’ors, elle n’est pas encore très répandue car elle reste actuellement onéreuse comparée à la GDDR et son exploitation ne reste pas assez conséquente. Certains appareils comme les derniers MacBook Pro 15 pouces l’utilisent ainsi que certain ordinateur très spécifique pour les professionnels.

 

 

Mémoire ROM / RAM / Flash 8

 

Mémoire ROM / RAM / Flash 9

 

 

Mémoire Flash

 

 

La mémoire FLASH est une mémoire non volatile, elle ne perd pas ses données après avoir coupé l’alimentation. Le principe de la mémoire flash repose sur les portes logiques. C’est en quelque sorte la mémoire qui remplace les HDD et tous les autres supports de stockages de type non volatile. On gagne donc en compacité, en vitesse de lecture / transfert, en consommation, en coût de production, en durée de vie et en robustesse.

NOR

La mémoire flash NOR date de 1988, elle a été pensé par Toshiba et produit par Intel.

Cette mémoire était considérée comme très rapide et avait un accès aléatoire à l’information. Cela correspond au fait que le NOR est toujours positionné sur un emplacement disponible pour l’écriture sans suivre un ordre logique. De ce fait, on limite les déplacements inutiles entre les cellules de stockage ce qui optimise le temps d’écriture. Quand une cellule est pleine, elle inscrit sur un registre la localisation de l’information.

Le débit mémoire reste rapide mais le traitement qui est nécessaire pour accéder aux cellules de mémoire est, lui, lent.

NAND “empilage, mlc, tlc, qlc, slc”

En 1989, Toshiba annonce la NAND, elle coûte encore moins chère, on peut stocker beaucoup plus d’information, elle est beaucoup plus rapide pour faire les tâches qu’on lui demande car la gestion des cellules se voit améliorée. En contrepartie, elle n’a pas d’accès aléatoire aux cellules de mémoire, elle doit suivre absolument une logique de stockage.

Aujourd’hui, l’informatique ne tient plus compte de l’accès aléatoire, le temps que met la mémoire pour stocker une information est moins important.

Il existe une notion de finesse de gravure et de version pour les mémoires NAND en fonction des débits et de la durée de vie des mémoires.

 

Mémoire ROM / RAM / Flash 10

 

 

Mémoire de demain

 

3D XPOINT “nommé Optane chez Intel et QuantX chez Micron”

Cette technologie non volatile annoncée par Intel et Micron en 2015 est l’une de nos mémoires de demain. Elle se base sur le principe de PRAM c’est à dire une mémoire à changement de phase. Elle peut être jusqu’à 1000 fois plus performante que la NAND même si pour l’heure on est plus à 10x au maximum. Elle est aussi bien plus polyvalente que la NAND car on peut l’utiliser comme mémoire pour stocker (SSD) mais on peut aussi l’utiliser comme mémoire RAM (Remplace la DDR), contrairement à la NAND, elle a une latence pratiquement nulle au niveau de la DDR et une bien meilleure longévité, ce qui en fait une mémoire très pratique dans les data center car elle permet d’avoir beaucoup plus de RAM (plusieurs centaine de Go). Elle est aussi non volatile donc si le data center a un problème les applications en cours ne sont pas perdues. Pour l’instant, cette technologie reste chère pour le grand public et nous pouvons en acheter sous le nom de mémoire optane chez Intel.

 

 

Mémoire ROM / RAM / Flash 11

 

 

 

FeRAM (Ferroelectric RAM)

 

Le FeRAM est toujours en cours de développement, elle se base sur la mémoire DRAM où l’on ajoute une couche ferroélectrique ce qui lui permet d’être non volatile.

On retrouve les mêmes avantages que le 3DXPoint à savoir une latence pratiquement nul au niveau de la DRAM, des débits très élevés et une très longue résistance dans le temps. Elle est moins énergivore, ce qui est une bonne nouvelle dans nos appareils mobiles et pour le remplacement de la NAND qui consomme bien plus. Mais pour l’instant ses capacités de stockage et son coût en font une mémoire qui n’est pas abouti pour une commercialisation.

 

 

 

MRAM (Magnetic Random Access Memory)

 

La mémoire MRAM souvent appelé la mémoire parfaite, elle est en développement depuis les années 90, elle se repose sur un système magnétique qui lui permet d’être non volatile. Aujourd’hui deux grands groupes se battent pour arriver à finaliser la MRAM : Samsung et Intel.

Cette mémoire est dite parfaite car elle combine tous les points positifs des mémoires.

Samsung a montré qu’elle consomme 400 fois moins que la NAND pour des débits 1000 fois plus rapide, le tout avec une meilleure endurance dans le temps en comparaison des autres mémoires. Samsung voudrait remplacer à terme la SRAM qui reste légèrement plus performante mais volatile. Intel se focalisent sur la STT-MRAM, c’est à dire qu’au lieu d’utiliser un champ magnétique pour inverser un bit, ils utilisent un courant électrique polarisé. Cela permet d’abaisser encore plus la consommation. En 2018 Intel et Samsung ont produit des premiers échantillons de plusieurs mégaoctets.

 

Mémoire ROM / RAM / Flash 12

 

 

NRAM (Nano-RAM)

 

La nano-RAM se base sur des matériaux modernes à savoir des nanotubes de carbone. Ce coté très compact et dense des nanotubes permet d’avoir une très grande densité d’octets et donc de produire des puces comportant plusieurs centaines voir milliers de gigaoctet. Elle est aussi non volatile et ne chauffe pratiquement pas et oppose très peu de résistance électrique ce qui en fait une mémoire intéressante pour les produits mobiles. Elle est encore à l’étude mais avec les avancés dans le graphène et les nanotubes de carbone, nous pourrions la voir arriver prochainement.

 

Mémoire ROM / RAM / Flash 13

 

 

RRAM/ReRAM (Resistive RAM)

 

Pour terminer, la ReRAM tout comme la MRAM attirent les entreprises du monde entier pour leurs énormes avantages. On les retrouve notamment chez Samsung, Micron ou encore Sharp. L’un des avantages de la ReRAM face à la MRAM réside dans le fait que l’on peut stocker énormément de données (1to pour l’instant) sur une toute petite surface.

Elle est également 20 fois plus performante que la NAND tout en consommant moins. C’est une des mémoires les plus prometteuses avec la MRAM.

 

Mémoire ROM / RAM / Flash 14

Mémoire ROM / RAM / Flash 15

Mémoire ROM / RAM / Flash 16

 

Précisions : tous les appareils utilisent de la mémoire. Nos appareils modernes du type smartphones, montres connectées, ordinateurs embarqués sur divers appareils comme les drones, les appareils photos, les baladeurs, des appareils de mesure scientifique ont tous cette notion de cache L1, L2 et L3 (sur les core ARM A76 et A65 mais également chez les core ARM modifiés par Apple).

Il y a aussi la mémoire RAM volatile et il est souvent question de la LPPDR 3 ou 4 ou 4x. En fin de compte, ces appareils sont des miniaturisations plus ou moins importantes des ordinateurs et l’importance de la mémoire est aussi grande que celle du processeur.

Partage

Nous retrouver.