À l'époque de disques durs mécaniques, les nouvelles données peuvent être directement enregistrées par-dessus celles qui se trouvent à l'emplacement d'origine. La quantité de données que votre ordinateur demande d'écrire correspond exactement à celle que le disque dur enregistre physiquement. Disques SSD (Solid-State Drives) fonctionnent de manière totalement différente, ce qui donne lieu à un phénomène unique appelé « amplification d'écriture ». L'amplification d'écriture est un phénomène propre aux disques SSD. En termes simples, lorsque votre ordinateur envoie une requête d'écriture à un SSD, la quantité totale de données physiques écrites sur les puces flash NAND est supérieure à la quantité de données logiques demandée par le système d'exploitation, en raison des limitations physiques de Flash NAND.
Imaginez que vous souhaitiez modifier un texte sur une page de votre cahier. Mais vous n’avez pas le droit de rayer directement les anciens mots. Vous devez écrire le nouveau contenu sur des pages vierges et marquer les anciennes pages comme inutiles. Lorsque vous n’avez plus de pages vierges, vous devez réorganiser l’ensemble du cahier : copier tout le texte encore utile sur des pages vierges d’un tout nouveau cahier, puis effacer entièrement l’ancien cahier afin qu’il puisse être réutilisé plus tard. Le nombre total de pages que vous finissez par écrire est bien supérieur à celui du court texte que vous souhaitiez modifier au départ. Ce surcroît de travail d'écriture est une métaphore simple de l'amplification d'écriture.
Indicateur clé de mesure
Le chiffre clé qui permet de mesurer l'intensité de l'amplification d'écriture s'appelle le Facteur d'amplification en écriture, abrégé en WAF. Il suit une formule fixe et claire :
WAF = Total des données physiques écrites sur la mémoire Flash / Total des données logiques demandées par l'hôte
Dans un scénario idéal, la mémoire flash écrit exactement la même quantité de données que celle demandée par l'hôte, ce qui donne une valeur WAF égale à 1. Cependant, les contraintes physiques de la mémoire flash NAND rendent cet état idéal pratiquement impossible en conditions réelles d'utilisation. Dans des conditions de fonctionnement normales, le WAF est toujours supérieur à 1. Un WAF élevé implique une surcharge d'écriture interne supplémentaire au sein du SSD, ce qui accélère l'usure de la mémoire flash et entraîne une baisse des performances.
Causes profondes de l'amplification en écriture
L'amplification des écritures n'est pas un défaut de conception des SSD. Il s'agit d'un phénomène inévitable résultant des limites physiques de la mémoire flash NAND, combinées à plusieurs processus de maintenance automatique s'exécutant au sein du disque.
Limites physiques de la mémoire flash NAND
C'est la condition préalable fondamentale à l'apparition de l'amplification d'écriture. Contrairement aux disques durs mécaniques qui prennent en charge la réécriture sur place, la mémoire flash NAND est soumise à des règles strictes en matière de lecture et d'écriture : il n'est pas possible de remplacer directement d'anciennes données à leur emplacement d'origine. Il faut effacer entièrement un bloc avant d'y écrire de nouvelles données. Ce qui aggrave encore la situation, c’est l’inadéquation entre la plus petite unité d’écriture et la plus petite unité d’effacement. La plus petite unité d’écriture de données est une page, comparable à une feuille de papier. La plus petite unité d’effacement de données est un bloc, qui contient des centaines de pages, comme un chapitre entier. Il n’est pas possible d’effacer une seule page ; il faut effacer le bloc entier en une seule fois.
En raison de cette contrainte, les SSD utilisent un modèle de mise à jour « hors emplacement ». Lorsque vous modifiez un fichier existant, le contrôleur du SSD ne modifie pas la page contenant les anciennes données. Il écrit plutôt les nouvelles données sur des pages libres vides et marque les anciennes pages comme invalides en vue d'un nettoyage ultérieur. Cette impossibilité de réécrire les données à leur emplacement d'origine est à l'origine de toutes les surcharges d'écriture supplémentaires.
Réécritures de données dues au ramasse-miettes
Collecte des ordures est la principale source d'amplification d'écriture. À mesure que les données sont enregistrées, le nombre de blocs libres au sein du SSD diminue. Le contrôleur lance automatiquement un processus de collecte des données inutiles afin de libérer de l'espace de stockage utilisable. Son fonctionnement complet est le suivant : le contrôleur sélectionne un ancien bloc présentant un pourcentage élevé de pages invalides, lit toutes les données encore valides contenues dans ce bloc, copie les données valides vers des blocs libres entièrement neufs, puis efface complètement l'ancien bloc pour le transformer à nouveau en espace utilisable. Au cours de ce processus de copie des données, ni l’utilisateur ni le système d’exploitation n’envoient de nouvelles commandes d’écriture. Cependant, le SSD doit réécrire automatiquement les données valides dans le seul but de libérer de l’espace de stockage. Ces écritures internes constituent la principale source d’amplification d’écriture.
Migration des données issue du nivellement de l'usure
Surcoût lié aux métadonnées pour la gestion interne
Outre les deux processus principaux mentionnés ci-dessus, la gestion interne du SSD génère des écritures supplémentaires, modestes mais continues. La table de mappage FTL, qui convertit les adresses logiques en emplacements physiques sur la mémoire flash, les journaux de blocs défectueux qui répertorient les zones de stockage endommagées, ainsi que les tables de comptage d’usure qui suivent les cycles d’effacement de chaque bloc, sont tous mis à jour en permanence lors de la lecture et de l’écriture de fichiers. Chaque mise à jour consomme des ressources d’écriture sur la mémoire flash. Des tâches supplémentaires, telles que l’écriture de codes de correction d’erreurs ECC parallèlement aux données utilisateur et le déplacement de données pour remplacer les blocs défectueux, viennent également s’ajouter au nombre total d’écritures physiques, contribuant ainsi de manière secondaire à l’amplification des écritures.
Facteurs clés influençant le WAF
La valeur du WAF n'est pas fixe. Elle varie considérablement en fonction des caractéristiques techniques du SSD, des habitudes de l'utilisateur et des paramètres système. Cinq facteurs principaux déterminent le niveau du WAF.
Surprovisionnement et espace de stockage libre
Le « surprovisionnement » (OP) désigne l'espace flash supplémentaire réservé par les fabricants de SSD, auquel les utilisateurs ne peuvent ni accéder ni accéder. Cet espace est exclusivement réservé à des tâches internes, notamment le ramassage des déchets, le nivellement de l'usure et le remplacement des blocs défectueux. Un taux de surprovisionnement plus élevé offre à la collecte des données inutiles un plus grand choix de blocs libres, réduit la quantité de données valides à copier par bloc recyclé et diminue le WAF.
Outre la surallocation définie en usine, l'espace libre dans les partitions utilisateur offre le même effet d'optimisation. Lorsque la commande TRIM est activée, un espace libre plus important au sein du SSD permet un fonctionnement plus efficace du processus de nettoyage. Si le SSD est presque plein, les blocs libres se font rares. Le contrôleur doit alors copier les données beaucoup plus souvent, ce qui entraîne une forte hausse du WAF.
Modèles de charge de travail en écriture
État de la commande TRIM
Types de mémoires flash NAND
Stratégie de mise en cache SLC
Conséquences de l'amplification d'écriture sur les SSD
L'amplification en écriture génère une surcharge cachée au sein des SSD, qui n'apparaît pas directement dans les indicateurs de vitesse de lecture/écriture du système. Elle affecte néanmoins négativement l'expérience d'utilisation du disque à long terme dans trois domaines clés : la durée de vie, les performances de fonctionnement, ainsi que la consommation d'énergie et la production de chaleur.
Réduction de la durée de vie du Flash. Il s'agit là de l'effet négatif le plus grave lié à l'amplification d'écriture. Chaque bloc de mémoire flash possède une limite maximale fixe de cycles d'effacement, appelée « cycles P/E », qui constitue la norme fondamentale permettant d'évaluer Durée de vie du SSD. L'amplification des écritures augmente inutilement la fréquence d'effacement de la mémoire flash et accélère la diminution de sa durée de vie.
Baisse des performances d'écriture en conditions réelles. Les copies massives de données en arrière-plan, dues à l'amplification d'écriture, accaparent la bande passante de lecture/écriture des canaux Flash et privent les tâches d'écriture courantes des utilisateurs des ressources matérielles nécessaires. Un WAF plus élevé signifie que le disque doit effectuer davantage d'opérations internes de lecture et d'écriture pour traiter une même requête d'écriture provenant de l'hôte. Cela augmente la latence en écriture et réduit nettement les vitesses d'écriture soutenues.
Risques liés à une consommation électrique plus élevée et à la chaleur. Chaque opération de lecture, d'écriture et d'effacement sur une mémoire flash consomme de l'électricité et génère de la chaleur. Un WAF élevé implique davantage d'opérations de copie internes inutiles au sein du SSD, ce qui augmente la consommation d'énergie globale. Or, sur les ordinateurs portables, les tablettes et autres appareils portables, une consommation d'énergie plus élevée réduit l'autonomie de la batterie.
Les consommateurs lambda doivent-ils s'intéresser au WAF ?
Seuls les utilisateurs effectuant un nombre important d'opérations d'écriture devront peut-être surveiller attentivement ce facteur. Ce groupe comprend les personnes qui effectuent du montage vidéo 4K/8K pendant de longues heures, qui transfèrent quotidiennement de grands volumes de fichiers, qui effectuent des téléchargements 24 heures sur 24 et qui stockent des bases de données en local. Le volume important de données qu'elles écrivent chaque jour fait que l'amplification d'écriture accélère nettement le vieillissement des mémoires flash.





