Tout d'abord, commençons par comprendre ce qui cause la dégradation des performances. Sans le savoir, beaucoup de gens suggéreront des solutions inadéquates (comme je le vois déjà). Le nœud de toute cette situation se résume essentiellement au fait suivant, cité dans Wikipedia . Rappelez-vous, c'est important:
Avec la mémoire flash NAND, les opérations de lecture et de programmation doivent être effectuées page par page, tandis que le déverrouillage et l'effacement doivent s'effectuer par blocs.
Les disques SSD sont constitués d'un flash NAND, et le flash est constitué de "blocs". Chaque bloc contient de nombreuses "pages". Par souci de simplicité, imaginons que nous venons d’acheter un nouveau disque SSD brillant contenant un seul bloc de mémoire, composé de 4 pages vides.
Par souci de clarté, je différencie les pages vides, les pages utilisées et les pages supprimées avec, 1 et X. L'important est qu'il existe une différence entre chacune d'elles du point de vue des contrôleurs! Ce n'est pas aussi simple que 1 et 0. Donc, pour commencer, les pages de notre nouveau disque ressemblent à ceci:
, ∅, ∅, ∅ (tous vides)
Maintenant, nous allons écrire des données sur le lecteur, qui sera finalement stocké dans cette première page, ainsi:
1,, ∅, ∅
Ensuite, nous écrivons un peu plus de données, mais cette fois-ci, il faut deux pages et finit par être stockées dans les 2ème et 3ème pages:
1, 1, 1,
Nous sommes à court d'espace! Nous décidons que nous n’avons pas vraiment besoin des données initiales que nous avons écrites, alors supprimons-les pour faire de la place.
X, 1, 1,
Enfin, nous devons stocker un autre grand ensemble de données qui consommera les deux pages restantes. C’est là que la performance se produit dans des entraînements sans ajustement !! Passant de notre dernier état à ceci:
1, 1, 1, 1
... nécessite plus de travail que la plupart des gens ne le réalisent. Encore une fois, cela est dû au fait que le flash ne peut être effacé que par blocs, et non par pages, ce que demande précisément la transition finale ci-dessus. Le différenciateur entre les disques SSD TRIM et non basés sur TRIM est le moment où le travail suivant est effectué!
Étant donné que nous devons utiliser une page vide et une page supprimée, le SSD doit d'abord lire le contenu du bloc entier dans un emplacement de stockage / mémoire externe, effacer le bloc d'origine, modifier le contenu, puis réécrire ce contenu dans le bloc. Ce n'est pas aussi simple qu'une "écriture", mais c'est maintenant devenu une "lecture-effacement-écriture". Il s’agit d’un grand changement, et le moment où nous écrivons beaucoup de données est probablement le moment le plus inopportun. Tout pourrait être évité si cette page "supprimée" était récupérée à l'avance, ce qui est précisément ce que TRIM est censé faire. Avec TRIM, le disque SSD récupère nos pages supprimées immédiatement après la suppression ou à un autre moment opportun, selon ce que les algorithmes TRIM jugent appropriés. L’important, c’est que avec TRIM, cela n’arrive pas lorsque nous sommes en train d’écrire!
Sans TRIM, nous ne pouvons finalement pas éviter le scénario ci-dessus car nous remplissons nos lecteurs avec des données. Heureusement, certains SSD plus récents vont au-delà de TRIM et font la même chose que TRIM en arrière-plan au niveau matériel sans les commandes ATA nécessaires (certains appellent ce garbage collection). Mais pour ceux d'entre nous qui ont la malchance de ne pas en avoir non plus, il est important de savoir que l' écriture de zéros sur l'intégralité du lecteur n'est pas suffisante pour récupérer les performances d'origine !!!!! Écrire tous les zéros sur le lecteur n'indique pas au contrôleur que la page flash est libre d'écrire. La seule façon de faire cela sur un lecteur qui ne prend pas en charge TRIM consiste à appeler la commande ATA secure erase sur votre lecteur à l'aide d'un outil tel que HDDErase (via Wayback Machine) .
Je pense que certains disques SSD antérieurs ne prenaient en charge TRIM que lors de la suppression de partitions ou de choses telles que "diskpart clean all" de Windows 7, et non lors de la suppression de fichiers individuels. Cela peut être la raison pour laquelle un lecteur plus ancien a semblé retrouver des performances lors de l'exécution de cette commande. Cela me semble un peu flou ...
Une grande partie de ma connaissance des disques SSD et du matériel / gadgets en général vient de anandtech.com . Je pensais qu'il avait beaucoup écrit pour expliquer tout cela, mais je ne le trouve pas pour la vie!