SSD

Qu'est-ce que SSD TRIM?

Qu'est-ce que SSD TRIM?
Les SSD sont un support de stockage complètement différent de ceux qui existaient avant lui. Les supports magnétiques, en particulier les disques rotatifs, ont introduit de nombreux concepts tels que la taille du secteur, le partitionnement, la fragmentation, etc. Certaines de ces idées ont également été émulées dans le firmware des appareils à semi-conducteurs.

D'un autre côté, de nouveaux concepts ont été introduits afin d'optimiser les performances, la durée de vie et la fiabilité de ces nouveaux appareils ainsi. L'un de ces concepts est l'opération TRIM.

Disposition d'un SSD

Les SSD sont incroyablement rapides et deviennent de plus en plus rapides et moins chers chaque année. Leur fiabilité s'est également beaucoup améliorée depuis leur création. Cependant, les SSD ne sont toujours pas aussi fiables que les supports magnétiques, ni aussi durables qu'un disque dur. En fait, les mécanismes de lecture-écriture sous-jacents sont très différents de ce que l'on voit à l'intérieur d'un disque dur.

Pour comprendre les problèmes dont souffre un SSD et pourquoi nous avons besoin d'une opération TRIM pour surmonter ces problèmes, examinons d'abord la structure du SSD. Les données sont généralement stockées dans des groupes de cellules de 4 Ko, appelées pages. Les pages sont ensuite regroupées en clusters de 128 pages, appelés Blocks et chaque bloc fait 512 Ko, pour la plupart des SSD.

Vous pouvez lire des données à partir d'une page qui contient des informations ou vous pouvez écrire des données sur des pages propres (sans données préexistantes, juste une série de 1). Cependant, vous ne pouvez pas écraser les données sur une page de 4 Ko qui a déjà été écrite, sans écraser tous les autres 512 Ko.

Ceci est une conséquence du fait que les tensions nécessaires pour inverser un 0 à 1 sont souvent beaucoup plus élevées que l'inverse. La tension excessive peut potentiellement retourner des bits sur les cellules adjacentes et corrompre les données.

Opération de suppression la dégradation des performances d'un SSD

Lorsque les données sont dites 'supprimé' par le système d'exploitation, le SSD marque simplement toutes les pages correspondantes comme invalides, plutôt que de supprimer les données. C'est assez similaire à ce qui se passe à l'intérieur d'un disque dur, les secteurs sont marqué comme gratuit plutôt que d'être physiquement mis à zéro. Cela rend l'opération de suppression beaucoup plus rapide.

Dans le cas des disques durs, cela fonctionne très bien. Lorsque de nouvelles données doivent être écrites, vous pouvez écraser les anciennes données sur un libéré secteur sans aucun problème ni souci pour les secteurs environnants. Les disques durs peuvent modifier les données en place.

Dans le cas d'un SSD, ce n'est pas si simple. Disons que vous modifiez un fichier et que cela correspond à un changement d'une seule page de 4Ko. Lorsque vous essayez de modifier une page de 4 Ko dans un SSD, tout le contenu de son bloc, dont l'intégralité des 512 Ko, doit être lu dans un cache (le cache peut être intégré au SSD ou il peut s'agir de la mémoire principale du système) et Ensuite, le bloc doit être effacé et vous pouvez ensuite écrire les nouvelles données sur votre page cible de 4 Ko. Vous devrez également réécrire les 508 Ko restants de données non modifiées que vous avez copiées dans votre cache.

Ce résultat s'ajoute au phénomène d'amplification d'écriture où chaque opération d'écriture est amplifiée en une opération de lecture-modification-écriture pour des morceaux de données beaucoup plus volumineux que les données réelles qui doivent être mises en place.

Initialement, cette amplification n'apparaît pas. Votre SSD fonctionne très bien au début. Finalement, à mesure que les blocs se remplissent, le point inévitable est atteint où de plus en plus d'opérations d'écriture commencent, impliquant les opérations coûteuses de lecture-modification-écriture. L'utilisateur commence à remarquer que le SSD ne fonctionne pas aussi bien qu'au départ.

Les contrôleurs SSD essaient également de s'assurer que les données sont réparties sur tout le disque. Pour que toutes les matrices aient des niveaux d'usure égaux. Ceci est important car les cellules de mémoire flash ont tendance à s'user rapidement, et donc si nous n'utilisons en continu que les premiers milliers de blocs en ignorant le reste du SSD, ces quelques blocs s'useront bientôt. La répartition des données sur plusieurs matrices améliore également vos performances car vous pouvez lire ou écrire des données en parallèle.

Cependant, maintenant les écritures sont étalées, augmentant les chances qu'un bloc ait une page. Cela accélère encore le processus de dégradation.

Commande TRIM et libération des blocs

La commande TRIM minimise la dégradation des performances en rognant périodiquement les pages invalides. Par exemple, Windows 10 TRIMs votre SSD une fois par semaine. Toutes les données marquées comme supprimées par le système d'exploitation sont en fait nettoyées des cellules de mémoire par le contrôleur SSD lorsque cette opération est exécutée. Oui, il doit toujours passer par l'opération de lecture-modification-écriture, mais cela ne se produit qu'une fois par semaine et peut être programmé aux heures où votre système est généralement idéal.

La prochaine fois que vous voudrez écrire sur une page, elle est en fait vide et prête pour une opération d'écriture directe!

La fréquence réelle de la commande TRIM dépend du type de système que vous utilisez. Les bases de données ont tendance à faire beaucoup d'E/S et nécessiteraient donc un rognage plus fréquent. Cependant, si vous le faites trop fréquemment, les opérations de la base de données ralentiront pendant la période d'exécution de TRIM. C'est le travail d'un architecte système de trouver le bon calendrier et la bonne fréquence.

Limites

La commande TRIM est très utile pour retarder la dégradation des performances de votre appareil. Il aide à maintenir la moyenne performances de votre appareil. Mais ce n'est qu'en moyenne.

Supposons que si vous travaillez avec un document texte et que vous écrivez constamment dans le fichier, modifiez et enregistrez des éléments afin de ne perdre aucune progression. Les pages stockant les données du document devront toujours passer par le cycle de lecture-modification-écriture atroce car TRIM n'est pas un service qui optimise constamment votre SSD. Même s'il fonctionnait en tant que service, l'impact sur les performances sera toujours visible car il est intégré à la mécanique même du fonctionnement d'un SSD.

De plus, exécuter trop souvent SSD TRIM peut réduire la longévité de votre stockage. Étant donné que tous ces cycles de suppression et d'écriture useront les cellules, rendant les données stockées en lecture seule.

Conclusion

Malgré tous les défauts d'un SSD, il offre toujours d'énormes avantages en termes de performances par rapport à un disque dur traditionnel. À mesure que la part de marché de ces appareils magiques augmente, davantage d'efforts de recherche et d'ingénierie seront consacrés à l'amélioration de la technologie sous-jacente.

Les vendeurs de systèmes d'exploitation, les fabricants de puces SSD et les personnes qui écrivent toute la logique complexe du micrologiciel se réunissent pour nous donner cet appareil génial. TRIM n'est qu'une des nombreuses couches de complexité qui s'y trouvent.

Les références

  1. AnandTech et leurs recherches et revues étonnantes sur les SSD.
  2. Article Wikipédia sur l'amplification d'écriture
  3. Écrivez sur Arstechnia sur les SSD et leur fonctionnement interne
Bataille pour Wesnoth 1.13.6 Développement publié
Bataille pour Wesnoth 1.13.6 publiée le mois dernier, est la sixième version de développement de la 1.13.x series et il apporte un certain nombre d'am...
Comment installer League Of Legends sur Ubuntu 14.04
Si vous êtes fan de League of Legends, alors c'est l'occasion pour vous de tester League of Legends. Notez que LOL est pris en charge sur PlayOnLinux ...
Installez le dernier jeu de stratégie OpenRA sur Ubuntu Linux
OpenRA est un moteur de jeu de stratégie en temps réel libre/gratuit qui recrée les premiers jeux Westwood comme le classique Command & Conquer: Red A...