Il y a quelques années, la prise en charge de la commande TRIM dans les SSD était un problème très courant, surtout si vous aviez un Mac. Pendant de longues années, Apple a en effet réservé la commande à ses propres SSD, et même actuellement elle n'est pas active dans tous les cas. En 2024, c'est un sujet qui a parfois disparu des radars, alors que le TRIM a de l'importance. Mais est-ce réellement un souci ?
Qu’est-ce que le TRIM ?
Pour commencer, il faut expliquer ce qu'est le TRIM, donc voici un résumé. Dans une puce mémoire flash NAND classique comme celle qu’on trouve dans les SSD, il n'est pas possible d'aller lire ou écrire un bit particulier. Les puces sont agencées en blocs qui sont divisés en pages. Quand votre OS doit écrire un fichier, il envoie la demande au contrôleur du SSD, qui doit travailler toujours avec un bloc d’une capacité de l'ordre du mégaoctet sur un SSD moderne. Il va écrire l’information dans un bloc libre, ou plus exactement un bloc dont les données ne sont plus utiles. Dans le cas d'une modification de fichiers, l'idée est la même avec une lecture supplémentaire : le SSD va récupérer le bloc à modifier, appliquer le changement et écrire un nouveau bloc, généralement à un autre endroit. L'ancien bloc « disparaît » pour le système de fichiers qui le considère alors comme effacé. Ce n’est toutefois pas le cas pour le contrôleur du SSD, puisqu’il contient toujours des informations.
Cette étape est importante, car elle permet d'uniformiser l'usure du SSD. Chaque cellule d'une mémoire flash NAND a une durée de vie définie et il est préférable d’écrire en priorité sur les cellules libres les moins usées pour ne pas réduire la durée de vie de quelques éléments. Vous pourriez évidemment vous demander pourquoi les blocs ne sont pas systématiquement mis à zéro, et la réponse est simple : pour éviter des écritures inutiles. Il est plus efficace d'ajouter un bit qui indique que la zone est vide et la commande TRIM se charge du reste.
La commande TRIM permet au système d’exploitation d’indiquer au SSD quels blocs sont inutiles. Sans cette commande, nous l'avions expliqué dans un ancien article, un problème se pose rapidement : du point de vue du contrôleur du SSD, toutes les cellules contiennent des données. En effet, il n'y a pas de correspondance « physique » entre l'organisation des informations choisie par le système d'exploitation (le système de fichiers) et celle gérée par le contrôleur. Il ne comprend pas l'APFS, le HFS+, le NTFS (etc.) et ne peut pas deviner qu'un bloc ne comporte plus d'informations utiles.
SSD : qu'est-ce que le TRIM et comment l'activer ?