Un
ordinateur sans mémoire est aussi utile qu’une bicyclette sans roues.
Même si on s’intéresse moins volontiers à elles qu’aux microprocesseurs,
les diverses technologies mémoire conditionnent intégralement la
structure et l’utilisation d’un ordinateur moderne. Je vous propose donc
un petit aperçu de l’avenir proche en la matière.
Vous utilisez couramment une demi-douzaine de mémoires très différentes. Prenons un ordinateur lambda, il renferme en général :
- Deux ou trois types de mémoire cache dans le processeur.
- De la mémoire vive : la RAM.
- De la mémoire Flash si vous avez un SSD ou un disque hybride.
- Un type d’EEPROM pour stocker le BIOS ou divers firmware.
- Un disque dur.
- Éventuellement un lecteur graveur de DVD, etc.
Chacun
de ces types de mémoire possède ses spécificités. Ici, il sont rangés
par vitesse décroissante en l’occurrence. Le stockage magnétique par
exemple est très peu cher (au Go), mais très lent, on peut y stocker
énormément de choses, mais mieux vaut y accéder le moins possible. La
RAM est bien plus rapide, mais plus chère et volatile, elle ne conserve
pas les informations qu’elle contient sans électricité. Elle est aussi
bien trop lente pour suivre la cadence du processeur. D’où l’utilité des
mémoires caches, ultra-rapide mais hors de prix, et tout aussi volatile
que la RAM.
Bientôt la fin ?
Quant
à la mémoire Flash, elle conserve les informations sans courant et elle
est aussi potentiellement plus rapide qu’un disque dur. Seulement, elle
est aussi bien plus chère et bien moins rapide que la RAM standard. En
plus, elle s’use. Au bout de 10 000 cycles de lecture – écriture en
moyenne, une cellule de mémoire flash devient inutilisable.
Vous l’aurez compris, le fait que l’on ne possède pas de «
Mémoire Universelle » nous complique bien la vie.
Imaginez
le rêve : des modules mémoire non-volatiles, ultra rapides et peu chers
qui pourraient remplacer à la fois la RAM, le disque dur ou le SSD et
qui rendraient caduque la notion même de mémoire cache. Nous aurions des
ordinateurs de conception bien plus simples : un processeur et un
espace mémoire immense complètement unifié.
À la clef, des
ordinateurs débarrassés des multiples goulets d’étranglement qui les
ralentissent aujourd’hui. Plus besoin de « booter » votre ordinateur, il
s’allume et s’éteint aussi vite qu’une ampoule électrique tout en
conservant exactement votre session de travail.
Un rêve ? Oui, en
l’état actuel de la technologie, cette mémoire miracle n’existe pas
encore. Pourtant, les choses pourraient changer dans un avenir pas si
lointain. Rappelons le cahier des charges :
- Basse consommation.
- Énorme bande passante, au moins autant que la S-RAM des mémoires cache.
- Compacité et robustesse (pas de mécanique, mais du « Solid State »).
- Très haute densité, on veut remplacer les disques durs quand même…
- Fabrication possible en très grande quantité (on évite d’utiliser du platine ou d’autres terres rares…).
- Longue durée de vie.
Ça fait beaucoup, voyons voir les candidats.
La Mémoire Flash
On
la connaît depuis longtemps et on l’aime bien. Elle est omniprésente
dans nos tablettes, nos Smartphones, nos clefs USB. Elle est non
volatile et suffisamment rapide pour surclasser les disques durs. Son
prix au Go ne cesse de baisser. Mais comment fonctionne-t-elle ?
Sommairement,
elle est basée sur un type particulier de transistor au silicium : le
transistor à porte flottante. Dans un transistor classique, le passage
du courant entre la source et le drain est piloté par la « porte de
contrôle », comme un simple interrupteur.
Pour stocker un bit (0
ou 1) dans une cellule de mémoire flash, c’est l’état de cet
interrupteur qui est « figé ». La porte flottante peut ainsi être
maintenue ouverte ou fermée. Une deuxième porte, dite « de contrôle »
est juxtaposée à la porte flottante. Les deux sont séparées par une
couche d’oxyde qui peut emmagasiner plus ou moins d’électrons.
Pour
écrire, on applique une charge à la porte de contrôle, les électrons
s’accumulent alors de l’autre côté de la couche d’oxyde. Cet excès de
charge « ferme » la porte flottante. La population électronique ainsi
modifiée, et donc l’état de porte (ouvert ou fermé) se conserve même
sans courant. Pour lire le bit, on mesure simplement le courant qui
passe par le transistor, s’il y en a suffisamment, c’est un 1, sinon, ce
sera un 0.
L’écriture
est une opération plus compliquée que la lecture, ce qui se vérifie
tous les jours avec les clefs USB où les vitesses de lectures et
d’écritures sont bien différentes. C’est que les mémoires flash ne
peuvent s’effacer que par blocs et demande pour ça de recourir à des
tensions relativement élevées qui sont souvent générées directement par
la puce.
Divers types de cellules existent. Principalement les SLC
(1 bit par cellule) et les MLC (plusieurs bits par cellule). Ces
dernières sont les plus courantes car les plus denses.
Les SSD montrent bien les avantages et les inconvénients des mémoire flash: rapide, mais cher !
Les
mémoires flash se dégradent néanmoins avec le temps. Ou plutôt, avec le
nombre d’utilisations. L’oxyde qui se situe entre la porte flottante et
la porte de contrôle peut, au fur et à mesure, faire de la rétention
d’électrons. Cela va fausser légèrement les mesures de tensions qui
déterminent l’état de la cellule. Dans le cas des MLC en particulier, où
on utilise plusieurs niveaux de tension seuil afin de stocker plusieurs
bits par cellule, ces imprécisions peuvent devenir très gênantes de
manière relativement rapide (quelques milliers de cycles).
La
mémoire flash manque ainsi de vitesse, de longévité et reste très
onéreuse face au stockage magnétique. L’avenir verra sans doute de
notables améliorations, mais les puces flash sont des circuits intégrés
assez proche des processeurs du point de vue de leurs processus de
fabrications, et ils sont soumis aux mêmes limitations. La finesse de
gravure des transistors est prépondérante pour la densité et la
consommation (et donc la chauffe) des puces. Or, on sait que graver des
circuits de plus en plus petits se révèle de plus en plus ardu. Si Intel
semble confiant jusqu’au 11nm pour les 5 ans à venir, aller au-delà
reste du domaine de la recherche fondamentale.
Or, d’ici là, les mémoires flash pourraient se faire doubler par d’autres technologies fort prometteuses.
Les RAM Magnetorésistive : MRAM
On considère l'électron comme un petit aimant.
Le
domaine de la RAM non volatile est en pleine ébullition. Les
technologies magnetorésistives sont de type « spintronique ». Elles sont
basées sur l’utilisation du « spin » des électrons. Le spin est un
phénomène quantique assez étrange relatif (entre autres) aux propriétés
magnétiques. Chaque particule possède un spin, comme elle possède une
masse ou une charge, sauf que le spin est quantifié, il ne peut pas
prendre n’importe quelle valeur. Quoi qu’il en soit, le spin donne un
moment magnétique qui fait qu’une particule peut aussi être vue comme un
petit aimant.
Un aimant ayant deux pôles, un électron va avoir
une orientation (comme un aimant a un « nord » et un « sud ») que l’on
peut modifier.
Pour simplifier, une mémoire MRAM est constituée
d’une grille de ces minuscules aimants dont on fait varier
l’orientation. La lecture se fait en envoyant un courant sur la grille,
il sera perturbé par les polarisations magnétiques des « bits » qui
pourront ainsi être retrouvés.
Diverses techniques raffinent le
processus, dont le STT pour « Spin Torque Transfer » qui permet
d’envisager de hautes densités en utilisant moins de courant pour
l’écriture, une opération normalement assez couteuse avec la MRAM.
Schéma simplifié d'une cellule de MRAM. L'orientation de la couche libre (en rouge) peut varier.
Des
recherches sur ces technologies sont menées depuis 1995 par les plus
gros acteurs du marché, IBM, Motorola, Infineon, puis Sony, Toshiba,
Hynix, Samsung etc.
La MRAM a des propriétés intéressantes :
- Non volatile.
- Faible consommation, inférieure à la mémoire flash car elle ne requiert pas de hauts voltages pour la réécriture.
- Temps
de lecture et écriture équivalents et bonnes performances (temps
d’accès de 1 ns, quasi comparables à celles de la SRAM, la mémoire cache
des processeurs !).
- Pas de durée de vie limitée.
- Résistance aux hautes températures et aux radiations.
Cette dernière qualité rend les MRAM particulièrement attrayantes pour les militaires et l’aérospatiale.
Alors,
la MRAM est-elle la mémoire idéale ? Presque, mis à part leur densité,
et donc leur prix, elles ont tout pour plaire. Les MRAM sont d’ailleurs
une réalité commerciale depuis 2006 grâce à Freescale. Ces mémoires sont
encore particulièrement chères (25$ les 4Mbits !) et se destinent à une
clientèle très spécifique.
Les choses évoluent vite néanmoins, la
STT-RAM est une réalité depuis 2009. En 2011, des Allemands ont annoncé
avoir atteint un temps d’accès de 0.5 ns ! Tout récemment, la MRAM
devrait faire son entrée comme cache dans des SSD de Buffalo.
En
réalité, l’effort de recherche dans ce domaine est considérable et il
est possible que la MRAM devienne la mémoire « quasi idéale » de la
prochaine décennie. Car c’est tout de même une technologie très nouvelle
qui fait face à des produits raffinés par une bonne trentaine d’années
de savoir-faire. Elle mettra donc inévitablement du temps à faire son
trou… si elle n’est pas supplantée par une autre concurrente novatrice :
la PRAM.
La Mémoire à Changement de Phase : la PRAM ou PCM
Le changement de phase est aussi à l'oeuvre dans les DVD-R.
PCM pour “Phase Change Memory”.
Autant
le côté magnétique de la MRAM pouvait rappeler la technique utilisée
dans les disques durs, autant la PRAM pourra faire penser à celle
employée dans les graveurs de DVD.
Le but est ici de stocker un
bit en codant l’état (la phase) d’une substance. Disons que 1
correspondra à un état cristallin (atomes organisés), et le 0 à un état
amorphe (atomes en bazar).
Une puce de PRAM est divisée en
cellules contenant une petite « poche » de verre « Chalcogène ». En
faisant varier sa température, on peut le faire passer de son état
cristallin, où il est plutôt bon conducteur à son état amorphe où il est
résistant. Encore une fois, l’opération de lecture est simple : si le
courant passe, on a un 1, sinon un 0.
Un graveur de DVD utilise un
laser pour faire fondre de petites portions du disque et ainsi changer
sa phase ce qui modifie son indice de réfraction. La substance utilisé
est d’ailleurs aussi un verre Chalcogène !
La PRAM est assez
rapide et on n’a pas de pénalité à l’écriture comme avec la flash. Elle
se dégrade également beaucoup moins vite que cette dernière (dans les
100 000 fois !). Elle est aussi très dense, mais globalement, elle reste
pour le moment plus lente que notre bonne vieille RAM.
Pour le moment, car la recherche va bon train. IBM, Samsung, Micron et de nombreuses universités sont sur le coup.
Trouver
la bonne substance est crucial pour faire une PRAM compétitive, il faut
qu’elle cristallise vite, mais pas à trop basse température.
Tout dernièrement,
des vitesses de cristallisation de 0.5 ns ont été atteintes à
Cambridge. Un module de PRAM aussi rapide pourrait sans problème
remplacer simultanément la RAM et les SSD de nos machines. On est quand
même encore loin d’une production industrielle, la stabilité du
processus doit encore être vérifiée.
Un prototype de PRAM en 90nm de 128 Mbit fait par Intel et ST en 2008.
C’est tout ?
Bien sûr que non. Vous vous rappelez des memristors ? J’en avais parlé il y a
quelques mois.
Ce sont des composants électroniques théorisés en 1971, mais qui n’ont
été réalisés que l’année dernière par HP. Grossièrement, ce sont des
résistances variables. On peut donc stocker des informations en fonction
de la valeur de cette résistance. C’est le principe de la ReRAM pour
« Resistive RAM ». Une découverte importante vient d’ailleurs d’être
réalisée par des
étudiants de UCL (University College London).
Intrigués
par le comportement instable d’un oxyde de silicium destiné à fabriquer
des LED, ils décident d’en étudier les propriétés électriques et
découvrent qu’on peut en faire un excellent memristor. La vitesse à
laquelle la résistance du composant change est bien entendu cruciale, et
celui découvert à UCL est très rapide (presque 100x les performance
d’une RAM traditionnelle) et très économe en énergie. Pour le moment, on
est à peine au stade du prototype. Lequel reste d’ailleurs très “gros”,
il devra être miniaturisé un bon million de fois avant de prétendre
éradiquer les mémoires flash, mais un grand pas vient d’être fait.
Le prototype de mémoire résistive réalisé à UCL.
Mieux
encore, le memristor ne se contente pas d’encoder un 0 ou un 1, il peut
avoir de multiples états. Une puce à base de memristor peut même être
programmée, comme un microprocesseur ou même… comme un cerveau, à
l’image du concept de puce «
neuromorphe » d’Intel.
Et c’est pour quand ??
Précisément…
difficile à dire. Mais il y a des chances que d’ici dix ans, les
ordinateurs soient bien différents de nos machines actuelles et pas
simplement au niveau de la puissance brute. L’objectif est clair : la
quête de la mémoire universelle est en cours, et des candidats
prometteurs sont d’ores et déjà mis à l’épreuve. Nous allons donc à
moyen terme vers une simplification des hiérarchies-mémoire, une
disparition possible des mémoires volatiles et avec elles de la notion
même de « boot ». Peut-être qu’à plus long terme, on assistera à une
convergence entre mémoire et processeur à l’image même du cerveau dans
lequel il n’y a pas à priori de « zones de stockage » et de « zones de
traitement » séparées. Mais la puce neuromorphe théorique d’Intel n’est
sans doute pas encore pour demain, le neurone spintronique proposé
n’existant pas encore.