Garbage Collection & TRIM: SSD Dirty Little Secret
Les grondements en ligne et dans certains cercles informatiques se sont avérés vrais: Les vitesses des SSD peuvent ralentir avec le temps. Heureusement, il y a des choses que vous pouvez faire qui peuvent empêcher cela de se produire et vous aider à maintenir la rapidité de vos disques SSD.
Qu’est-ce que la collecte des ordures SSD
Tout comme sortir la corbeille est une tâche nécessaire à l’entretien de votre maison, la collecte des ordures est également un type de maintenance SSD. C’est un peu impropre puisque la collecte des ordures n’a rien à voir avec la suppression de fichiers qui ne sont plus nécessaires. C’est plus comme se débarrasser des boîtes vides de choses que vous avez déjà jetées. À la base, la collecte des ordures SSD est un processus automatisé conçu pour améliorer les performances.
Nous savons tous que les SSD sont initialement très rapides, mais nous découvrons qu’ils deviennent plus lents avec le temps, d’autant plus que le disque commence à se remplir. C’est exactement ce que la collecte des ordures SSD est conçue pour empêcher. Avec un entretien approprié, la vitesse d’un SSD peut être préservée.
Le grand ralentissement des SSD
Afin de comprendre pourquoi les SSD ralentissent avec le temps, il est important de savoir comment fonctionnent les systèmes de fichiers. Chaque système de fichiers a sa propre façon de faire, mais en général, lorsque vous supprimez un fichier, ce fichier n’a pas vraiment disparu. Le système d’exploitation n’efface généralement pas les blocs de stockage précédemment habités par le fichier. Au lieu de cela, le système d’exploitation marque simplement les blocs comme étant disponibles et stocke ces informations dans un fichier de répertoire. C’est pourquoi un logiciel de récupération comme Hard Disk Warrior est capable de récupérer des fichiers qui ont été « effacés ». Le fichier existe toujours dans ces blocs sur le disque, mais le fichier de répertoire les répertorie comme vides afin qu’ils soient invisibles pour votre ordinateur.
Avec les disques durs, cette méthode de suppression d’un fichier n’était pas un problème. Le système d’exploitation marquerait simplement les blocs comme étant disponibles, et le disque dur pourrait écrire de nouvelles données par-dessus les anciennes données. Les SSD ne peuvent pas faire ça. Pour les SSD, les blocs de stockage doivent être effacés avant de pouvoir être écrasés. C’est cette exigence d’effacement des blocs précédemment utilisés qui ralentit les SSD au fil du temps.
Retirer la poubelle SSD
Pour éviter que cette situation indésirable ne se produise, les SSD modernes exécutent des routines complexes appelées garbage collection afin de toujours garder une réserve aussi grande que possible de blocs vides vierges prêts à l’écriture. Le Garbage collection implique que le contrôleur recherche dans son inventaire de pages écrites des pages qui ont été marquées comme « périmées » — c’est-à-dire qu’elles ont été écrites et que les données qu’elles contenaient ont ensuite dû être modifiées par le système d’exploitation; parce que changer l’état de la page est impossible sans l’effacer au préalable, les modifications sont toujours écrites sur de nouvelles pages et les anciennes pages marquées comme périmées. Garbage collection recherche les blocs contenant un mélange de bonnes et de pages périmées, puis duplique toutes les bonnes pages dans de nouveaux blocs et ne laisse que des pages périmées dans l’ancien bloc. Ensuite, il efface l’ancien bloc et le marque prêt à l’emploi.
Il y a cependant un détail de plus à noter sur la collecte des ordures SSD. Les SSD peuvent lire et écrire au niveau de la page — ce qui est généralement de 8 Ko pour les lecteurs modernes — mais ils ont un défaut particulier en ce sens qu’ils ne peuvent pas effacer au niveau de la page. Les SSD ne peuvent effacer que des blocs entiers, qui sont généralement composés de centaines de pages. La raison en est que l’effacement du contenu d’une page nécessite de zapper cette page avec une quantité non négligeable de tension, et la disposition de style NAND de tous les SSD modernes rend extrêmement difficile l’isolation de cette tension uniquement aux pages qui doivent être effacées.
Et voici où le terme impropre de « collecte des ordures » entre en jeu, car ce sont en fait de bonnes pages qui sont « collectées », les ordures étant laissées. L’objectif derrière ce processus est d’essayer d’optimiser les performances en faisant en sorte que les blocs soient complètement vides (puis en effaçant le bloc) ou complètement pleins.
Qu’En est-il De La GARNITURE?
Sur un disque dur, il existe généralement une corrélation fixe entre les clusters du système de fichiers et les secteurs du disque. Mais sur un SSD, où il n’y a pas de corrélation fixe et où les pages en cours d’utilisation doivent être suivies et récupérées par garbage collection, cela peut être un gros problème. Les pages contenant des fichiers supprimés ressemblent à des pages valides, et elles continuent d’être collectées avec de bonnes pages.
C’est la situation que TRIM a été introduit pour remédier. TRIM (qui est correctement capitalisé mais n’est pas un acronyme) est une commande ATA que le système d’exploitation peut envoyer lorsqu’il supprime un fichier. La commande TRIM fournit ce pont du niveau du fichier au niveau du bloc, donnant au système d’exploitation un moyen d’indiquer au SSD qu’il supprime des fichiers et de marquer les pages de ces fichiers comme périmées.
Avec TRIM, un SSD n’est plus obligé d’enregistrer des pages appartenant à des fichiers supprimés. TRIM n’est pas une alternative à la collecte des ordures — il fonctionne avec la collecte des ordures pour marquer plus correctement les pages comme périmées. Et vous n’avez pas besoin de TRIM pour que la collecte des ordures fonctionne, mais TRIM rend la collecte des ordures d’un SSD plus efficace.
Cela étant dit, si vous utilisez un Mac, Apple ne prend pas en charge TRIM sur les disques SSD tiers. Il était possible de contourner cette limitation dans les versions précédentes d’OS X, mais vous ne pouvez pas le faire dans Yosemite sans ouvrir une faille de sécurité — ne le faites pas, car bien que TRIM fasse une différence en réduisant l’amplification de l’écriture et en prolongeant la durée de vie et les performances d’un SSD, cela ne vaut pas les failles de sécurité de la taille d’une grange que vous devez ouvrir pour l’obtenir.
Donc, utilisez toujours TRIM si vous le pouvez. Cela améliorera considérablement le fonctionnement de la collecte des ordures de votre SSD. Mais si vous vous trouvez dans une situation où la GARNITURE n’est pas disponible, ne paniquez pas — c’est agréable à avoir, mais ce n’est pas une exigence.