Comprendre les SSD
SartMatt dévoile tout sur le fonctionnement des SSD, et partage des conseils pour optimiser les performances
Depuis quelques années, les SSD font beaucoup parler d'eux. En effet, ces supports de stockage a base de mémoire flash sont très prometteurs, car ils permettent en théorie de se débarrasser de l'un des plus gros défauts des disques durs : les latences induites par le déplacement des têtes de lecture et la rotation du disque, qui sont de l'ordre de la dizaine de ms. A notre échelle, cela peut paraitre peu, mais à l'échelle d'un ordinateur dont le processeur fonctionne à plusieurs GHz, une attente de 10ms représente plusieurs millions de cycles d'horloge.
Malheureusement, les premiers SSD vraiment grand public en ont fait déchanter plus d'un, avec de très bonnes performances en lecture, mais des résultats très mitigés, voire carrément catastrophiques en écriture, en particulier lors de petits accès aléatoires, accès qui sont les plus courants avec les systèmes d'exploitation actuels.
Dans cet article, nous allons vous expliquer comment fonctionne un SSD, et pourquoi quasiment tous sont bien plus lents en écriture aléatoire qu'en lecture aléatoire, alors que les disques durs traditionnels offraient des performances beaucoup plus symétriques.
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 toutes 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. À 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...
- Page précédente
- Page suivante