Qu'est-ce que la garniture SSD?

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

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 également. Un tel concept est l'opération de finition.

Disposition d'un SSD

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

Pour comprendre les problèmes dont souffre le SSD et pourquoi nous avons besoin de l'opération de finition pour surmonter ces problèmes, regardons d'abord la structure du SSD. Les données sont stockées généralement en groupes de cellules 4KB, appelées pages. Les pages sont ensuite regroupées en grappes de 128 pages, appelées blocs et chaque bloc est de 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 4KB qui a déjà été écrite, sans écraser tous les 512 Ko.

Ceci est une conséquence du fait que les tensions nécessaires pour retourner un 0 à 1 sont souvent beaucoup plus élevées que l'inverse. L'excès de tension peut potentiellement retourner les bits sur les cellules adjacentes et les données corrompues.

Fonctionnement de délétion La dégradation des performances d'un SSD

Quand les données sont censées être '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. Ceci est assez similaire à ce qui se passe également à l'intérieur d'un disque dur, les secteurs sont marqué comme gratuit plutôt que de se mettre à zéro physique. Cela rend l'opération de suppression beaucoup plus rapidement.

En cas de 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 inquiétude 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 cela correspond à un changement d'une seule page de 4KB. Lorsque vous essayez de modifier une page de 4KB dans un SSD, le contenu entier de son bloc, l'ensemble de 512KB, doit lire dans un cache (le cache peut être intégré au SSD ou il peut être la mémoire principale du système) et Ensuite, le bloc doit être effacé, puis vous pouvez écrire les nouvelles données sur votre page cible 4KB. Vous devrez également réécrire les 508Kb non modifiés restants que vous avez copiés dans votre cache.

Ces résultats ajoutent au phénomène d'amplification d'écriture où chaque opération d'écriture est amplifiée à une opération de lecture-modification-écriture pour des morceaux de données beaucoup plus importants 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 sont remplis, le point inévitable est atteint où de plus en plus d'opérations d'écriture commencent à impliquer les opérations coûteuses de lecture-modification. L'utilisateur commence à remarquer que le SSD ne fonctionne pas aussi bien qu'il l'a fait.

Les contrôleurs SSD essaient également de s'assurer que les données sont réparties dans tout le disque. Afin que toutes les matrices obtiennent des niveaux d'usure égaux. Ceci est important car les cellules de la mémoire flash ont tendance à s'user rapidement, et donc si nous n'utilisons en continu que les premiers milliers de blocs ignorant le reste du SSD, ces quelques blocs seront usés bientôt. La diffusion de 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 réparties, augmentant les chances d'un bloc ayant une page. Cela accélère encore le processus de dégradation.

Commande et libération des blocs

La commande de garniture minimise la dégradation des performances en réduisant périodiquement les pages non valides. Par exemple, Windows 10 coupe votre SSD une fois par semaine. Toutes les données qui ont été marquées comme supprimées par le système d'exploitation sont effectivement nettoyées des cellules de mémoire par le contrôleur SSD lorsque cette opération est exécutée. Oui, il doit encore passer par le fonctionnement de lecture-modification-écriture, mais cela ne se produit qu'une fois par semaine et peut être programmé dans les heures où votre système est principalement idéal.

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

La fréquence réelle de la commande de garniture dépend du type de système que vous exécutez. Les bases de données ont tendance à faire beaucoup d'iOS et nécessiteraient donc une coupe plus fréquente. Cependant, si vous le faites trop fréquemment, les opérations de la base de données ralentiront pour la période où la garniture est en cours d'exécution. C'est le travail d'un architecte système pour trouver le bon horaire 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 le 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, éditez les choses et économisez pour ne pas perdre de progrès. Les pages stockant les données du document devront toujours passer par le cycle de lecture-modification atroce car la garniture n'est pas un service qui optimise constamment votre SSD. Même s'il s'est déroulé en tant que service, l'impact des performances sera toujours visible car il est intégré à la mécanique même de l'opération d'un SSD.

L'exécution également de la garniture SSD peut également réduire la longévité de votre stockage. Étant donné que toute cette suppression et ce cycle d'écriture épuiseront les cellules, ce qui rend les données stockées en leur lecture seule.

Conclusion

Malgré toutes les lacunes d'un SSD, il contient toujours des avantages de performance massifs 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 orientés vers l'amélioration de la technologie sous-jacente.

Les fournisseurs du système 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. La garniture n'est qu'une des nombreuses couches de complexité qui y sont emballées.

Les références

  1. Anandtech et leur recherche et revue des SSD.
  2. Article Wikipedia sur l'amplification d'écriture
  3. Rédigez sur Arstechnia sur les SSD et leur fonctionnement interne