Comprendre les SSD
La mémoire flash, MLC/SLC
La mémoire flash
Toute la complexité du fonctionnement des SSD provient en fait des caractéristiques de la mémoire qu'ils embarquent : la mémoire flash est une mémoire de type EEPROM (Electronicaly Erasable Programmable Read Only Memory) qui, comme son nom l'indique, est une mémoire en lecture seule. Mais contrairement aux ROM de base qui sont écrites une bonne fois pour toute lors de leur fabrication, les EEPROM sont programmables, ce qui signifie qu'elles peuvent être écrites (programmées) en dehors du process de fabrication, mais aussi et surtout, elles sont effaçables, ce qui permet ensuite de les programmer à nouveau. A la place des deux opérations de base (lecture et écriture) qui pouvaient être effectuées sur les disques magnétiques, les mémoires flash fonctionnent donc avec trois opérations de base : la programmation, la lecture et l'effacement. L'équivalent de l'opération d'écriture est donc soit une programmation, si la mémoire est vierge, soit un effacement suivi d'une programmation si la mémoire est déjà programmée. L'effacement a heureusement l'avantage de se faire à très grande vitesse (plusieurs Go par secondes), donc ne devrait théoriquement quasiment pas impacter les performances. Mais comme souvent, la théorie et la pratique sont deux notions bien éloignées...
Les mémoires flash se divisent en deux catégories, distinguées par le type de portes logiques utilisées : les portes NOR ou les portes NAND. Les premières sont très fiables et très rapides en accès aléatoire, mais sont aussi très coûteuses, et ne sont de ce fait utilisées que pour des petites modules de ROM, alors que les SSD utilisent tous de la mémoire de type NAND. Dans la suite, nous ne parlerons donc que des mémoires de type NAND.
MLC, SLC
Au sein des NAND, on trouve deux familles de puces : les MLC (Multiple Level Cell) et les SLC (Single Level Cell). Dans les mémoires MLC, chaque cellule peut fonctionner à quatre niveaux de tensions, permettant donc de stocker quatre valeurs différentes, soit deux bits. Du côté des SLC par contre, seuls deux niveaux sont possibles, soit un bit. Ces mémoires sont donc deux fois moins denses, ce qui les rend bien plus coûteuses, mais en contrepartie, elles sont bien plus rapides en écriture, mais aussi beaucoup plus durable, en supportant environ dix fois plus de cycles d'effacement que les mémoires MLC.
Depuis quelques temps, on trouve également des mémoires MLC dites "X3" ou "3BPC". Comme leur nom l'indiquent, elles permettent de stocker 3 bits par cellule, soit une densité trois fois supérieure aux SLC et une fois et demi supérieure à celle des MLC classiques. Elles souffrent toutefois encore de problèmes de fiabilité, et leurs performances plus réduites devraient les écarter du marché du SSD. Elles pourraient par contre se répandre dans les clés USB et les cartes mémoires, ce qui pourrait aider à faire diminuer les prix des SSD, en réduisant la demande sur les mémoires MLC classiques.