Le stockage Flash SSD plus rapide que le stockage sur disque dur : mythe ou réalité ?
Les performances du SSD sont-elles toujours supérieures à celles des traditionnels disques durs ? Cet article expert tente de répondre à cette question objectivement, en donnant la parole à Marc Staimer, analyste en chef et président de la société Dragon Slayer Consulting.
Batteries de stockage et mémoires Flash SSD rencontrent un succès croissant, qui tient en partie à un besoin de rapidité, ou du moins de sensation de rapidité. Selon la perception générale du marché, le stockage à technologie Flash – ou lecteurs SSD (Solid State Device) - est toujours plus rapide que le stockage sur disque dur mécanique. Mythe ou réalité
« Un lecteur Flash SSD est toujours plus rapide qu’un disque dur mécanique »
La majorité des informaticiens en est convaincue. En fait, dans cette phrase, c’est la nature catégorique du terme « toujours » qui pêche.
Une réalité : le stockage SSD n’est pas toujours plus rapide que le stockage sur disque dur mécanique.
Tout dépend de la charge de travail, de l’âge de la mémoire Flash et du nombre de réécritures qu’elle a subies. Les lecteurs SSD ont un accès aléatoire et une latence en lecture (moins de 100 µs) bien inférieurs à ceux des disques durs mécaniques – ou HDD (Hard Disk Drive) - pour lesquels la latence varie entre 2,9 et 12 ms. Les SSD sont donc les champions de l’accès intensif en lecture et aléatoire. La faible latence est le résultat direct de la capacité de la mémoire Flash SSD à lire les données directement et instantanément depuis une cellule Flash SSD spécifique. Résultat : outre la lecture accélérée des données, l’OS est significativement plus rapide et le démarrage des applications est accéléré.
En revanche, les performances de stockage de la mémoire Flash SSD se dégradent significativement à cause de l’amplification d’écriture. Et le rythme de la dégradation va se poursuivre tout au long de la vie du composant Flash SSD. Certes, la mise à niveau de l’usure ralentit cette dégradation, mais dans une moindre mesure. En fait, c’est le type de mémoire flash NAND utilisé qui affecte le plus fortement la dégradation des performances. Les cellules SLC, ou cellules à simple niveau, se dégradent beaucoup plus lentement que les cellules eMLC (MLC d’entreprise), MLC (cellule à niveaux multiples) ou encore TLC (cellules à triple niveau).
Quant aux performances de stockage des disques durs mécaniques, leur dégradation dans le temps provient de la fragmentation des disques. Comme il est nécessaire de retrouver chaque fragment pour lire l’intégralité d’un jeu de données, la latence augmente avec la fragmentation. Sur les disques durs, cette fragmentation est un processus assez simple ; on peut facilement la corriger pour restaurer leurs performances. Les choses ne sont malheureusement pas aussi simples pour les SSD avec l’amplification d’écriture, dont la dégradation est à ce jour un processus inexorable. Au bout d’un moment, le vieillissement de la mémoire SSD rend ses performances identiques à celles d’un disque dur mécanique, voire pires.
Sur le front de l’écriture, les performances de la mémoire Flash des lecteurs SSD sont moins séduisantes. En termes d’écriture, cette mémoire fonctionne assez différemment de celle des disques durs. En effet, les mémoires Flash SSD ne peuvent écrire que sur des blocs inutilisés ou préalablement effacés (des « pages » dans le jargon de flash NAND), alors que les HDD permettent d’écraser n’importe quelle donnée sans effacement préalable.. Il est impossible d’écraser l’écriture de blocs Flash SSD. Ces blocs doivent être d’abord effacés, ce qui signifie que les données ne sont pas aussi bien protégées contre l’effacement que sur un disque dur.
Les contrôleurs SSD tentent d’atténuer ces problèmes de performances en mettant en place un nettoyage en arrière-plan ; une sorte de « collecte de déchets ». Si la méthode varie, la technique la plus courante consiste à prévoir pour cet usage un surplus de mémoire flash, allant de 20 à 50 % selon les fournisseurs et le type de cellules (SLC, MLC ou eMLC).
Par exemple, une mémoire Flash SSD de 200 To utiles aura une capacité réelle de 256 To. L’utilisateur ne verra et ne pourra utiliser que 200 To. Cette capacité supplémentaire fournit au contrôleur l’espace nécessaire pour effectuer, en arrière-plan et de manière transparente, le travail de « collecte des déchets » qui vise à masquer l’incapacité des composants Flash SSD à réécrire sur un support qui n’aurait pas été préalablement effacé. Les pages d’écriture comportant des données obsolètes (par exemple, des blocs qui ont été modifiés ou écrits sur d’autres pages) sont « échangées » (une forme de swapping) avec les pages mises en réserve. Ces pages obsolètes sont effacées et intègrent la capacité de réserve.
Cette zone tampon de la mémoire Flash SSD se réduit avec le temps, du fait de l’usure des cellules des mémoires Flash NAND. Il arrive donc un moment où l’écriture doit être temporisée en attendant la fin du cycle d’effacement, ce qui obère grandement les performances d’écriture.
Sur les coûteuses mémoires Flash dotées de cellules SLC, les performances d’écriture sont généralement proches des performances de lecture. On en est loin avec les mémoires Flash SSD à technologie eMLC et MLC, et encore davantage avec la technologie TLC, solutions avec lesquelles les vitesses d’écriture sont très inférieures aux vitesses de lecture. Pour les disques durs mécaniques (HDD), en revanche, l’écart entre écriture et lecture est insignifiant.
Généralement, le stockage en mémoire Flash SSD est vraiment plus rapide que le stockage sur disque mécanique. Mais alors, quels sont les cas inverses ? Ce sont les cas où les charges de travail en écriture ou combinant écriture et lecture se produisent sur une mémoire Flash SSD vieillissante et/ou ayant subi de nombreux cycles d’écriture.
L’auteur
Marc Staimer est fondateur, analyste en chef et président de la société Dragon Slayer Consulting, située à Beaverton dans l’Oregon. Il peut être contacté à l’adresse suivante : [email protected].