Les dispositifs de mémoire flash (ce qui est utilisé pour les SSD d'aujourd'hui) ne peuvent pas écrire de données arbitraires à tout moment; avant d'écrire sur une cellule (généralement 4Ko) doit être effacé en premier. Malheureusement, l'opération d'effacement est très lente; c'est pourquoi les appareils flash étaient beaucoup plus lents que les lecteurs magnétiques, malgré l'absence de pièces mobiles.
Les SSD modernes masquent le temps d'effacement en conservant un ensemble de cellules pré-effacées, ce qui signifie qu'une commande d'écriture n'écrasera pas immédiatement les données existantes, au lieu de cela, le contrôleur du lecteur sélectionne une cellule effacée, la remappe et écrit avec les nouvelles données. Cela (et plusieurs stratégies de cache en écriture) donne au disque une accélération énorme , surpassant considérablement les disques magnétiques.
Pour garantir qu'il y a toujours un ensemble de cellules pré-effacées, chaque fois qu'une cellule n'est pas nécessaire, le lecteur la planifie pour l'effacement en arrière-plan et ajoute à la liste des cellules payantes.
Malheureusement, les systèmes de fichiers existants n'ont pas pris la peine de dire au lecteur quand un secteur était libre. Le lecteur était censé être juste un référentiel stupide de bits, après tout. La suppression d'un fichier ou de toute autre opération qui marque un secteur comme libre du point de vue du système de fichiers n'était qu'une marque sur une structure de métadonnées. Le secteur lui-même n'a pas été touché. Même si le système de fichiers l'a effacé en écrivant des zéros dessus, le lecteur ne pouvait pas savoir si cela signifiait que le secteur était libre, ou si l'utilisateur voulait des zéros sur un fichier. Après un certain temps, le lecteur n'aurait plus de cellule libre à effacer avant d'écrire; et les performances se sont dégradées tragiquement.
L'instruction TRIM a été rapidement rédigée et adoptée par la plupart des systèmes de fichiers actuellement maintenus. C'est un simple signal que le système de fichiers utilise pour indiquer au lecteur que le contenu d'un secteur n'est plus important. Dès que tous les secteurs mappés sur une cellule sont libres, le contrôleur SSD démappe la cellule et planifie son effacement. Si l'hôte lit ces secteurs, le SSD ne prend pas la peine d'aller chercher dans Flash, il répond immédiatement par des zéros; mais l'effet le plus important est de maintenir la liste des cellules pré-effacées toujours reconstituée.
Pourtant, la plupart des SSD présentent une capacité inférieure à la taille physique de la mémoire Flash, parfois aussi faible que 75%. Cela lui permet de conserver certaines cellules inutilisées même sur un système 100% complet, de sorte que l'écriture (sur) des secteurs utilisés est toujours rapide.