Skip to content

Niveau 9 · Chapitre 9.4

Stocker un bit : charge, magnétisme et lumière

Ce qu’est physiquement un bit stocké : la SRAM comme boucle de rétroaction, la DRAM comme condensateur de quelques dizaines de milliers d’électrons (et pourquoi il faut la rafraîchir toutes les 64 ms), la flash comme charge piégée derrière un isolant avec 2 à 16 niveaux par cellule, les grains magnétiques d’un disque et les alvéoles d’un disque optique — chiffres à l’appui.

Pour stocker un bit, il faut un système physique qui a au moins deux états faciles à distinguer, qui restent en place quand on les laisse tranquilles, et qu’on peut changer à la demande. « Rester en place » est la partie difficile. Chaque état est secoué en permanence par la chaleur, avec une énergie typique de kT = 25,9 meV à température ambiante, comme l’a calculé le premier chapitre. Un bit dure tant que la barrière entre ses deux états reste haute devant kT — ou tant que quelque chose le restaure.

Les ordinateurs utilisent quatre familles de réponses : une boucle de rétroaction qui se restaure elle-même (SRAM), une charge sur un condensateur ou piégée dans un isolant (DRAM, flash), l’aimantation de grains minuscules (disques durs, bandes), et la forme d’une surface lue par la lumière (disques optiques). Ce chapitre regarde ce que chacune contient physiquement, et pourquoi elle oublie. L’organisation de ces cellules en puces et en disques relève des niveaux supérieurs : les registres et matrices mémoire au niveau de la logique numérique, et Disques durs, SSD et RAID et Disques optiques et bandes au niveau des composants.

La SRAM : un bit qui se tient tout seul

La mémoire la plus simple ne garde aucune charge en réserve. C’est une boucle de deux inverseurs, chacun alimentant l’autre : si le premier sort 1, le second sort 0, ce qui maintient le premier à 1. La boucle a deux états stables et y revient activement après toute petite perturbation. C’est le verrou du chapitre sur les verrous et bascules, ici avec des portes NOR :

Logic · Un bit tenu par rétroaction

À essayer : Cliquez sur un interrupteur d’entrée du circuit (ou sur son bouton au-dessus) pour le basculer — les portes et la table de vérité suivent.

auto
0
gate delays
stable after 0
stable
state
loop
critical path
feedback: sequential
2
gates
RSNOR gate: output 0NOR gate: output 10Q1Q̄
1 0 inputs changed, output switches next delayclick a switch to toggle it
SRQ
00Qhold
010reset
101set
110forbidden: Q = Q̄ = 0

Two cross-coupled NOR gates: the feedback loop stores one bit. S sets Q to 1, R resets it to 0, and with both at 0 the loop holds its value. To see why S = R = 1 is forbidden: turn auto off, set both to 1 and settle, then lower both before pressing step. Released in the same instant, the two gates race and oscillate forever.

Unit-delay model: every gate takes one step to react. With auto off, toggle switches and press step to watch the change travel gate by gate.

Envoyez une impulsion sur S et Q passe à 1 ; relâchez, et Q reste à 1 : la boucle se souvient. Une impulsion sur R l’efface. Une cellule de SRAM applique la même idée sous sa forme la plus compacte : deux inverseurs CMOS croisés plus deux transistors d’accès qui relient la cellule aux lignes de bit pour la lecture et l’écriture — six transistors en tout.

Comme la boucle se restaure en continu, la SRAM n’a pas besoin de rafraîchissement et se lit sans perturber la valeur. Mais cette restauration est alimentée : dès que l’alimentation tombe, le bit tombe avec. Et chacun de ces transistors laisse passer en permanence le courant sous le seuil décrit dans le chapitre sur le MOSFET, ce qui rend les grandes SRAM coûteuses en consommation au repos autant qu’en surface. C’est pourquoi la SRAM sert aux registres et aux caches, et la mémoire principale est faite de quelque chose de plus dense.

La DRAM : un seau d’électrons

Une cellule de DRAM, c’est un transistor et un condensateur (1T1C). Le condensateur est chargé pour un 1 et vide pour un 0 ; le transistor le relie à une ligne de bit quand sa rangée est sélectionnée. C’est tout — et c’est pourquoi la DRAM est plusieurs fois plus dense que la SRAM.

Quelle quantité de charge ? La capacité des cellules de DRAM est citée depuis longtemps dans une fourchette de 10 à 30 fF, et les concepteurs se donnent beaucoup de mal — des cellules en forme de cylindres hauts et étroits — pour qu’elle ne diminue pas avec la taille de la cellule. Supposons la cellule chargée à environ 1 V :

e = 1.602176634e-19
for C in (10e-15, 20e-15, 30e-15):
    print(C * 1e15, "fF:", C * 1.0 / e, "electrons")
# 10 fF: 62,415   20 fF: 124,830   30 fF: 187,245 electrons

Un bit de DRAM, c’est de l’ordre de 10⁵ électrons. C’est la quantité que la lecture doit détecter.

La lecture détruit le bit

La ligne de bit est longue et relie des milliers de cellules, donc sa propre capacité vaut plusieurs fois celle d’une cellule. Avant une lecture, la ligne de bit est préchargée à la moitié de la tension d’alimentation. Quand la rangée s’ouvre, la cellule et la ligne de bit se partagent leur charge, et la tension de la ligne ne monte ou ne descend que d’un peu. Supposons que la ligne de bit ait cinq fois la capacité de la cellule :

Cs, Cb, V = 20e-15, 100e-15, 1.0
print((V / 2) * Cs / (Cs + Cb) * 1000, "mV")   # 83 mV

Le signal est une variation de moins d’un dixième de volt. Un amplificateur de lecture (sense amplifier) — encore une paire d’inverseurs croisés, la boucle de la SRAM utilisée comme comparateur — amplifie cette petite différence en un 0 ou un 1 franc. Mais la charge de la cellule a été diluée dans la ligne de bit : la lecture l’a détruite. L’amplificateur réécrit donc la valeur dans la cellule avant que la rangée ne se referme. Toute lecture de DRAM est une lecture suivie d’une réécriture.

Pourquoi il faut rafraîchir la DRAM

Même si l’on n’y touche pas, la charge de la cellule s’échappe : par le courant sous le seuil du transistor d’accès, par la jonction où le condensateur rejoint le silicium, et à travers l’isolant du condensateur. Quelle doit être la faiblesse de cette fuite pour garder le bit 64 ms ? Autorisons la cellule à perdre la moitié de la charge d’une cellule de 20 fF à 1 V :

Q = 20e-15 * 1.0 / 2
print(Q / 0.064, "A")          # 1.6e-13 A: 0.16 pA

La fuite totale doit rester sous un sixième de picoampère environ — à peu près un million d’électrons par seconde. Il est remarquable qu’on y parvienne, sur des milliards de cellules. Mais on ne peut pas faire durer le bit : le contrôleur mémoire rafraîchit donc chaque rangée périodiquement, en la lisant (et donc en la réécrivant).

Les normes JEDEC fixent le calendrier. La DDR4 garantit la rétention pendant 64 ms aux températures normales ; le contrôleur envoie 8 192 commandes de rafraîchissement dans cette fenêtre, une toutes les 64 ms / 8 192 = 7,8 µs, chacune rafraîchissant une tranche des rangées. La DDR5 réduit la fenêtre de moitié, à 32 ms, avec une commande toutes les 3,9 µs. La fuite double à peu près tous les dix degrés environ, et les deux normes rafraîchissent deux fois plus souvent au-dessus de 85 °C. Tanenbaum écrit que chaque bit doit être rafraîchi « toutes les quelques millisecondes » ; la fenêtre normalisée est de quelques dizaines de millisecondes, et l’écart compte, puisque le rafraîchissement vole de la bande passante au processeur.

Des cellules minuscules très serrées ont un effet secondaire en sécurité. En 2014, des chercheurs ont montré qu’ouvrir et fermer très rapidement une rangée de DRAM perturbe assez la charge des rangées voisines pour inverser des bits avant leur prochain rafraîchissement. Rowhammer, comme on l’a appelé, a vite été transformé en véritables exploits d’élévation de privilèges, et les fabricants de DRAM livrent désormais des contre-mesures qui rafraîchissent les voisines des rangées très sollicitées.

La flash : une charge derrière un isolant

La DRAM fuit parce que sa charge est au contact du silicium conducteur. La mémoire flash isole complètement la charge, à l’intérieur de la grille d’un MOSFET.

Une cellule flash est un MOSFET doté d’une couche supplémentaire entre la grille de commande et le canal : une couche de stockage, entourée d’isolant de tous côtés. Elle existe en deux versions :

  • une grille flottante (floating gate) : un petit conducteur (du polysilicium dopé) entièrement enveloppé d’oxyde — la conception d’origine ;
  • un piège à charges (charge trap) : une couche de nitrure de silicium, un isolant plein de défauts qui retiennent chacun un électron. Comme la charge ne peut pas se déplacer dans la couche, un défaut dans l’oxyde environnant ne laisse fuir que la charge proche de lui. La plupart des mémoires NAND 3D actuelles utilisent des pièges à charges.

Les électrons stockés dans cette couche sont une charge négative placée entre la grille et le canal. Ils annulent une partie de la tension de grille, donc la tension de seuil de la cellule monte. Pour lire, la puce applique une tension de référence sur la grille de commande et regarde si le transistor conduit : en dessous du seuil relevé, il ne conduit pas, donc la cellule contient de la charge. Aucune charge n’est consommée ; la lecture n’est pas destructive.

Pour faire passer des électrons à travers un isolant censé les retenir pendant des années, la flash NAND applique une tension élevée — autour de 20 V, produite sur la puce — entre la grille de commande et le canal. Le champ devient assez fort pour que les électrons traversent l’oxyde tunnel mince par effet tunnel (effet tunnel Fowler–Nordheim, l’effet quantique du dernier chapitre). L’effacement inverse le champ et les ressort, pour tout un bloc de cellules à la fois.

Tanenbaum décrit une programmation par injection de porteurs chauds sous 12 V : accélérer les électrons le long du canal jusqu’à ce que quelques-uns aient assez d’énergie pour sauter dans la grille flottante. C’est ainsi que se programme la flash NOR, celle des micrologiciels. La flash NAND des SSD et des téléphones programme et efface par effet tunnel.

Plusieurs bits par cellule

La tension de seuil n’est pas obligée d’être simplement haute ou basse. En ajoutant de la charge par petites étapes soigneusement vérifiées, la puce peut la placer à l’un de plusieurs niveaux, et une cellule à 2ⁿ niveaux distinguables stocke n bits :

Type de celluleBits par celluleNiveaux de seuilÉcart entre niveaux (relatif au SLC)
SLC121
MLC241/3
TLC381/7
QLC4161/15
PLC (proposé)5321/31

Dans la même fenêtre de tension, n bits demandent 2ⁿ − 1 intervalles, donc chaque bit supplémentaire divise à peu près par deux la marge entre niveaux voisins. Le même nombre d’électrons perdus décale alors une cellule d’une plus grande fraction d’intervalle : chaque bit en plus coûte en rétention, en endurance et en vitesse d’écriture, ce que compensent des codes correcteurs plus puissants. Le livre décrit les cellules multiniveaux comme contenant typiquement deux bits ; les SSD actuels sont surtout en TLC et QLC.

Usure et rétention

Chaque cycle de programmation/effacement fait traverser l’oxyde tunnel à des électrons sous champ intense et l’abîme lentement, en créant des défauts qui piègent la charge et la laissent fuir. Les quelque 100 000 cycles cités par le livre sont justes pour le SLC ; la NAND TLC et QLC d’aujourd’hui est spécifiée pour bien moins — quelques milliers de cycles en TLC, et typiquement un millier ou moins en QLC —, d’où l’importance de la répartition de l’usure (wear leveling) et de la capacité de réserve.

La rétention est spécifiée elle aussi : la norme JEDEC des SSD grand public exige que les données survivent un an hors tension à 30 °C une fois l’endurance nominale épuisée, et trois mois à 40 °C pour les SSD d’entreprise. Un disque neuf garde ses données bien plus longtemps. Mais c’est toujours une charge dans un isolant, et elle finit toujours par fuir.

Pour continuer à gagner en densité après que les cellules planaires ont atteint leurs limites au milieu des années 2010 — aux plus petites tailles, chaque niveau ne tenait plus qu’à un petit nombre d’électrons —, la NAND est passée à la verticale : la NAND 3D empile les cellules en colonnes de plus de deux cents couches, avec des cellules plus grandes et plus de charge par niveau.

Le magnétisme : disques et bandes

Un disque dur stocke les bits sous forme de direction d’aimantation dans une couche mince d’un alliage à base de cobalt. La couche est faite de grains de moins de dix nanomètres ; dans chaque grain, les moments magnétiques des atomes sont verrouillés ensemble et pointent dans un sens ou dans l’autre le long d’un axe facile. Un bit est une plage de quelques grains à quelques dizaines de grains aimantés dans le même sens ; les données sont en fait codées par les transitions entre plages.

L’aimantation d’un grain est tenue par une barrière d’énergie proportionnelle à son volume (le produit KuV de l’anisotropie du matériau et du volume du grain). Si la barrière devient trop faible devant kT, la chaleur retourne des grains au hasard : c’est la limite superparamagnétique. La règle empirique habituelle, pour que les données durent dix ans, est KuV ≥ environ 60 kT :

k = 1.380649e-23
print(60 * k * 300 / e, "eV")   # 1.55 eV

Réduire les grains pour gagner en densité réduit cette barrière, ce qui impose des matériaux à plus forte anisotropie — plus difficiles à écrire. Les fabricants de disques ont trouvé trois réponses successives :

  • L’enregistrement perpendiculaire. Aimanter les grains vers le haut ou vers le bas, dans l’épaisseur du disque, plutôt que le long de la piste. Les bits peuvent être plus serrés et les grains plus hauts pour la même surface, ce qui augmente V. Tanenbaum le présente comme susceptible de devenir la technologie dominante ; c’est chose faite, et tous les disques durs l’utilisent depuis la fin des années 2000.
  • L’enregistrement en bardeaux (shingled) fait se chevaucher les pistes comme des tuiles, puisque la tête de lecture est plus étroite que la tête d’écriture.
  • L’enregistrement assisté par la chaleur (HAMR) chauffe chaque point au laser pendant une nanoseconde lors de l’écriture, abaissant la barrière juste le temps de le retourner. Seagate a commencé à livrer des disques HAMR de 30 To et plus en 2024.

La description de la tête dans le livre doit aussi être mise à jour. Il dit qu’une bobine dans la tête sert à la fois à écrire et à lire, la lecture reposant sur le courant induit au passage des zones aimantées. L’écriture se fait toujours avec une bobine. Mais depuis les années 1990, les disques lisent avec des capteurs magnétorésistifs, dont la résistance électrique dépend de la direction du champ en dessous : d’abord la magnétorésistance géante (dont la découverte a valu à Fert et Grünberg le prix Nobel de physique 2007), puis la magnétorésistance tunnel, utilisée dans les têtes actuelles. Le livre parle aussi d’« oxyde de fer » : c’était le revêtement des premiers disques et bandes, remplacé depuis longtemps par des couches minces d’alliages métalliques.

La lumière : alvéoles et plats

Un disque optique stocke les bits dans la forme d’une surface réfléchissante. Un CD, un DVD ou un Blu-ray pressé porte une piste en spirale d’alvéoles (pits), lues par-dessous par un laser. L’astuce est l’interférence : la profondeur d’une alvéole vaut environ un quart de la longueur d’onde du laser dans le plastique, donc la lumière réfléchie par le fond d’une alvéole parcourt une demi-longueur d’onde de plus que celle réfléchie par le plat (land) voisin, et les deux s’annulent en partie. Le détecteur voit moins de lumière sur les alvéoles que sur les plats, et, comme l’explique le livre, un 1 est une transition entre les deux.

for lam in (780, 650, 405):          # CD, DVD, Blu-ray lasers, nm
    print(lam, lam / (4 * 1.55))     # quarter wave in polycarbonate (n ≈ 1.55)
# 780: 126 nm   650: 105 nm   405: 65 nm

Le plus petit spot qu’une lentille peut focaliser est proportionnel à λ / ON, la longueur d’onde divisée par l’ouverture numérique de la lentille. Chaque génération optique a raccourci la longueur d’onde et augmenté l’ouverture :

FormatLaserONλ / ONPas de pisteCapacité (une couche)
CD780 nm, infrarouge0,451,73 µm1,6 µm700 Mo
DVD650 nm, rouge0,601,08 µm0,74 µm4,7 Go
Blu-ray405 nm, bleu-violet0,850,48 µm0,32 µm25 Go

La surface du spot diminue comme (λ/ON)² : d’un facteur 2,6 du CD au DVD et de 13 du CD au Blu-ray. La capacité a augmenté davantage — 6,7 et 36 fois —, grâce à des tolérances plus serrées et à des codes correcteurs plus efficaces. Le livre présente les Blu-ray de 50 Go comme « double face » ; ce sont des disques double couche, avec deux couches d’enregistrement lues du même côté.

Les disques enregistrables remplacent les alvéoles par des points d’un colorant noirci par un laser plus puissant. Les réinscriptibles utilisent un alliage à changement de phase qu’on peut faire passer d’un état cristallin à un état amorphe, de réflectivités différentes — la même physique que celle des mémoires à changement de phase, où les deux états diffèrent plutôt par leur résistance électrique.

Côte à côte

TechnologieCe qui distingue 0 et 1Ce qui la fait oublierFaut-il de l’énergie pour garder le bit ?
SRAMl’état d’une boucle de rétroactionla coupure d’alimentationoui, en continu
DRAM~10⁵ électrons sur un condensateurla fuite : rafraîchissement toutes les 32–64 msoui, plus le rafraîchissement
flashcharge piégée dans une couche isolée, lue comme un décalage de seuilfuite lente, aggravée par l’usure et la chaleurnon
disque dursens d’aimantation de groupes de grainsretournement thermique si les grains sont trop petitsnon
disque optiqueprofondeur ou réflectivité de la surfacedégradation physique du disquenon

Le même compromis traverse tout le tableau. Plus un état est facile à changer, plus la barrière qui le retient est basse, et plus vite la chaleur ou la fuite l’effacent. SRAM et DRAM changent en quelques nanosecondes et oublient en quelques millisecondes ou à la coupure ; la flash et les disques mettent des microsecondes à des millisecondes à écrire et gardent les données des années. Le dernier chapitre montre qu’effacer un bit coûte toujours une énergie minimale, fixée par le même kT.

À retenir

  • Un bit stocké est un état physique séparé de l’autre par une barrière qui doit rester haute devant l’énergie thermique kT — ou être restauré activement.
  • La SRAM est une boucle de deux inverseurs (6 transistors) qui se restaure elle-même : rapide, sans rafraîchissement, mais elle oublie à la coupure et fuit en permanence.
  • La DRAM stocke ~10⁵ électrons dans un condensateur de 10 à 30 fF. La lecture partage cette charge avec une ligne de bit (une variation de quelques dizaines de millivolts) et la détruit, d’où une réécriture à chaque lecture. La fuite doit rester sous ~0,16 pA, et les rangées sont rafraîchies toutes les 64 ms (DDR4) ou 32 ms (DDR5).
  • La flash piège une charge dans une grille flottante isolée ou une couche de pièges à charges, ce qui décale le seuil du transistor. La NAND écrit et efface par effet tunnel sous ~20 V. Le TLC et le QLC stockent 3 à 4 bits sur 8 à 16 niveaux, au prix de l’endurance et de la rétention.
  • Les disques durs stockent les bits dans l’aimantation de grains de moins de 10 nm, limités par leur stabilité thermique (KuV ≳ 60 kT). L’enregistrement perpendiculaire est universel, et les têtes lisent avec des capteurs magnétorésistifs, pas des bobines.
  • Les disques optiques utilisent des alvéoles profondes d’un quart d’onde ; la capacité suit (λ/ON)², de 780 nm (CD) à 405 nm (Blu-ray).

Dans ce niveau

  1. 9.1Électrons, conducteurs et isolants
  2. 9.2Semi-conducteurs, dopage et jonction p-n
  3. 9.3Comment un MOSFET commute : l’effet de champ
  4. 9.4Stocker un bit : charge, magnétisme et lumière
  5. 9.5Signaux dans les fils et les fibres
  6. 9.6Les limites : chaleur, effet tunnel, Landauer et calcul quantique