- C’est quoi, un semi-conducteur ?
- C’est quoi un transistor ? Comment ça marche ?
- Comment fonctionne la mémoire flash d’un lecteur SSD ? (le présent article)
- Comprendre la frontière entre le matériel et le logiciel
- Comment compter en binaire ?
Les précédents articles parlaient de la nature d’un semi-conducteur et son fonctionnement et comment on les utilisait pour créer des transistors.
Désormais on va voir comment utiliser les transistors pour faire un composant essentiel à nos ordinateurs et nos appareils numériques : la mémoire.
Les disquettes et les disques durs à plateau stockent l’information de façon magnétique : les octets sont écrits sous la forme de minuscules aimants sur le disque. En lisant les intensités du champ magnétique sur le disque, on retrouve alors nos octets initiaux.
Pour la mémoire flash, présente les clé USB, les cartes mémoire ou les lecteurs SSD, l’information est stockée à l’aide de transistors.
Ce qui est intéressant ici c’est que l’information stockée persiste électriquement au sein du composant même en l’absence d’alimentation électrique. Ceci est le contraire de la mémoire utilisée dans les barrettes de mémoire vive (RAM) qui perdent leur contenu quand l’ordinateur est hors-tension.
MOSFET à grille flottante (ou FGMOS)
À vos souhait.
Le MOSFET (pour Metal Oxide Semiconductor Field Effect Transistor, ou transistor à effet de champ à oxyde métallique) est un type particulier de transistor. Le fonctionnement de ces transistors est un peu différent mais l’effet obtenu est le même que celui que l’on a vu dans l’article précédent.
On a vu que la base du transistor est une borne qui permet de contrôler le transistor en lui appliquant une tension électrique. Pour le transistor à effet de champ, ce n’est plus un courant électrique qui vient « aspirer » les électrons qui bloquaient le courant principal, mais un champ électrique distant qui vient les attirer. La borne elle-même est isolée du circuit principal :
Si la base n’est soumise à aucune tension, le transistor à effet de champ est bloquant.
Par contre, quand on applique une tension électrique sur la base, il va se créer un champ électrique assez puissant pour repousser les charges positives (les trous) et attirer toutes les charges négatives (les électrons). Il se forme donc une zone entièrement conductrice entre le collecteur et l’émetteur où le courant va pouvoir passer :
Ici on a simplement reproduit l’effet transistor mais avec un système différent. Il n’y a pas encore d’effet mémoire.
Pour obtenir un système de mémoire, il faut aller plus loin : il faut ajouter un conducteur entre deux couches d’isolants, comme ceci :
La partie en noir est un simple morceau de conducteur. On l’appelle « grille flottante » (floating gate) parce qu’elle est isolée du reste. C’est cette grille flottante qui va permettre l’effet mémoire.
La grille flottante : origine de l’effet mémoire
Si on ne considère que la grille flottante, elle peut être dans deux états :
- chargée électriquement, en électrons (comme un condensateur) ;
- non-chargée électriquement (neutre en charges).
Si cette grille est chargée en électrons, ces derniers vont repousser tous les électrons du semi-conducteur P. Si on applique une tension sur la base, la champ électrique produit ne suffira pas à attirer les électrons dans le bloc P, car la grille l’en empêche.
Au contraire, si la grille est neutre (déchargée) et qu’une tension est appliquée sur la base, le champ électrique pourra attirer les électrons de la partie P sans que ceux-ci soient repoussés : le transistor devient alors passant :
L’intérêt de tout ça, c’est que puisque la grille est isolée électriquement, son état va persister sur le long terme : c’est là que se joue l’effet mémoire.
Lecture et écriture
Lecture dans la mémoire
La phase de lecture est assez rapide et plutôt simple : il suffit de voir si le transistor est bloquant ou passant.
En effet, le simple fait de connaître l’état du transistor permet de déduire l’état de la charge sur la grille flottante.
- Le transistor est passant (bit = 1) : la grille est déchargée ;
- Le transistor est bloquant (bit = 0) : la grille est chargée en électrons.
Et c’est tout ce qu’il y a à faire pour lire le contenu d’un seul bit d’une mémoire de type FG-MOSFET.
Écriture dans la mémoire
Pour l’écriture, c’est une toute autre histoire. En effet, la fonction mémoire est assurée par un composant électrique isolé du reste du circuit. À priori, modifier cette charge n’est pas possible. Mais il y a une astuce, et pour ça il faut faire appel à la physique quantique et l’effet tunnel.
En physique quantique, comme l’a montré Schrödinger, les électrons comme toutes les particules peuvent être vues comme une onde. Onde et particule sont en fait différentes approches pour visualiser une seule et même entité (un électron).
Un électron est alors modélisé par une fonction d’onde dont l’amplitude, fixe, correspond à son énergie. L’électron peut se déplacer tant qu’il ne rencontre pas un champ d’énergie plus élevé, qui constitue alors ce qu’on appelle « une barrière de potentiel [énergétique] » :
Il se trouve que la couche d’isolant entre la grille flottante et la borne B constitue une barrière de potentiel de ce type : c’est la raison pour laquelle l’électron ne peut pas quitter la grille flottante en passant par la couche d’isolant.
Néanmoins, d’après l’équation de Schrödinger, la fonction d’onde ne s’arrête pas de façon nette devant la barrière de potentiel : en réalité, l’onde pénètre dans la barrière. Dans les fait, l’onde pénètre faiblement et son énergie décroît de façon exponentielle à l’intérieur de la barrière.
Ainsi, si la barrière de potentiel n’est pas épaisse, l’énergie de la fonction d’onde est non-nulle quand elle arrive de l’autre côté de la barrière de potentiel : l’électron arrive à s’échapper de l’autre côté :
Concrètement, dans la cas d’une barrière étroite, une partie de l’onde finit par s’échapper de l’autre côté de la barrière. De façon simplifiée, dans le cas de la grille flottante, c’est comme si des électrons traversent la couche d’isolant et finissent par décharger la grille flottante. Ce n’est pas ce qu’on veut.
Si on utilise une barrière plus large, alors l’onde s’affaiblit tellement face à la barrière de potentiel, que dans les faits, rien ne passe de l’autre côté : la grille peut alors rester chargée des années durant.
Ok, donc on sait qu’il faut utiliser une barrière large pour empêcher la mémoire de s’effacer avec le temps. On comprend qu’il faut donc utiliser une épaisseur suffisante d’isolant entre la borne de la base et de la grille. Mais comment on fait pour modifier la charge de la grille ?
Et bien on va réduire la barrière de potentiel lors de l’écriture et l’élargir pour le stockage à long terme, sans toucher à l’épaisseur physique de la couche d’isolant.
Pour parvenir à ça, on va appliquer une tension importante sur la base.
En simplifiant, ceci va élever le niveau d’énergie des électrons et déformer la barrière de potentiel pour qu’elle soit moins épaisse. Selon le signe de la tension (positive ou négative), les électrons passeront de la base vers la grille flottante (chargement de la grille) ou dans le sens inverse (déchargement), simplement par effet tunnel.
C’est donc un comportement issu purement de la physique quantique qui permet d’écrire dans la mémoire d’une clé USB.
Une autre solution (utilisé dans d’autres types de mémoire) est d’utiliser l’injection d’électrons chauds de la partie centrale P du transistor vers la grille flottante en leur donnant une vitesse (=énergie) suffisante pour leur permettre de traverser la couche isolante. Le qualificatif de « chaud » réfère l’énergie élevée des électrons.
Limites de ce type de mémoire
Si la lecture d’un bit de la mémoire est sans réelle contrainte technique, la phase d’écriture impliquent l’emploi de hautes tensions ou de conditions plutôt extrêmes pour le transistor. C’est là une des raisons qui fait que le nombre de cycles d’écriture des lecteurs SSD est limité.
Une autre limitation, c’est comme on a vu, le fait que la couche d’isolant doit être suffisamment épaisse pour éviter que les électrons ne s’échappent tout seuls de la grille. L’épaisseur de l’isolant constitue une des limites à la miniaturisation des composants.
Le même problème est d’ailleurs présent dans pratiquement tous les transistors, qu’ils soient dans un module mémoire ou pas : si l’architecture des transistors est trop petite, les électrons finissent par passer d’une borne à l’autre sans rien faire, simplement à cause de l’effet tunnel.
Mémoire NAND ou NOR ?
On a vu ce-dessus comment fonctionnent ou comment lire ou écrire un seul bit dans un seul transistor. Dans la réalité, la mémoire informatique vient sous la forme de modules avec plusieurs milliards de transistors. C’est la façon d’organiser ces transistors entre-eux qui varie selon le type de mémoire.
Si l’on utilise des transistors en série, on obtient de la mémoire NAND (nom donné à cause des portes NAND, où les deux transistors sont en série). Si on place les transistors en parallèle, on obtient de la mémoire NOR (dont le nom provient lui-aussi de l’analogie avec les portes NOR, où les deux transistors sont en parallèle).
Les deux types de mémoire ont chacun leurs avantages : la NOR est plus rapide mais la NAND permet une densité d’information plus importante.
Elles ont des applications différentes également : la mémoire NOR est utilisée quand la quantité d’information à stocker n’est pas grande ou bien si la vitesse est cruciale : mémoire cache des CPU (très rapide) ou mémoire des systèmes embarqués, par exemple. La mémoire NAND est utilisée dans les disques durs SSD, les clés USB et les cartes mémoire, là où la densité d’information est un facteur (commercial) important.
Pour aller plus loin
Maintenant que vous savez comment un semi-conducteur comme du silicium permet de former de transistors, et comment les transistors s’assemblent pour calculer et stocker de l’information, je vous invite à découvrir comment fonctionne la partie logicielle de l’informatique, c’est à dire le binaire, les programmes et la programmation. Vous trouverez tout ça dans l’excellente BD de Gee : Des zéros et des uns.