SSD : qu'est-ce que le TRIM et comment l'activer ?
Alors que certains SSD triment comme des brutes, d’autres ne triment pas du tout, et cela finit par se voir. Non, ce n’est pas une blague. La commande TRIM facilite la gestion des données enregistrées dans les puces de mémoire, et participe au maintien des performances dans le temps, un aspect d’autant plus important sur les modèles les plus rapides, qui sont rarement les moins chers. Comment fonctionne-t-elle ? Faut-il absolument l’utiliser ? Suivez le guide !

Pourquoi a-t-on besoin de la commande TRIM ?
Pour comprendre l’intérêt de la commande TRIM, il faut revenir aux bases de l’organisation des données. L’espace de stockage d’un SSD est composé de blocs, qui renferment des pages, elles-mêmes constituées de cellules de mémoire NAND formées de MOSFETs. Un bloc contient généralement de 256 Ko à 4 Mo de données, selon qu’il comprenne 128 ou 256 pages, dont la taille peut varier entre 2 et 16 Ko selon les modèles.

Vous pouvez voir un bloc comme un livre : vous pouvez lire en tournant les pages, et même écrire dans les marges restées vierges, mais vous ne pouvez pas retirer une page sans causer de dégâts. Alors que la surface d’un disque magnétique peut être (ré)écrite à l’envi, il faut trouver une page blanche pour écrire des données sur un SSD.

Le trim c’est comme un métru mais dans la rue
@Furious Angel
+1
@Furious Angel
Très drôle!!!!
@Furious Angel
J’ai toujours pas pigé 😶
@abalem
Tram
Article vraiment très intéressant.
@Furious Angel : je ne sais pas si c’est la fatigue mais je n’avais rien compris au départ. Et puis finalement, j’adore ! 😂
Du coup je ne comprends pas… « mieux vaut l’utiliser si vous le pouvez » mais plus haut il est dit :
« Vous allez maintenant être confronté à un deuxième problème, le protocole UAS de la norme USB 3.0, qui permet d’accélérer les transferts de données en utilisant des commandes SCSI. TRIM est une commande ATA, mais la spécification SCSI dispose d’un équivalent direct, Unmap. »
Du coup TRIM est plus important que de conserver UAS (c’est quoi, quel intérêt?)
Cet article tombe au poil mais…
"Sans la commande TRIM, le ramasse-miette est susceptible de recopier des pages contenant des données inutiles."
Pourquoi déplace-t-il des pages ? Qui lui a demandé de le faire ? L'OS ? De lui même pour défragmenter ? Dois-je comprendre qu'il ne peux pas vérifier l'obsolescence des données dans le catalogue ?
Bon d'accord mais dans ce cas-là, ça veut dire que sans TRIM le SSD se remplit, se remplit, se remplit sans pouvoir libérer quoi que ce soit car il n'a pas moyen de se rendre compte que quelque chose est obsolète ? Ce n'est pas logique !? Alors pas compris 😤
@dandu
"[sans le TRIM] il va chercher le bloc le moins usé pour mettre les nouvelles données (et déplacer des données)."
Pour les nouvelles donner OK mais déplacer les données heu… le mieux serait encore de ne rien déplacer du tout (1 écriture de moins). Mais bref, c'est sûrement bien géré.
Merci de ta réponse.
@Lightman
Oui mais en pratique tu ne peux pas modifier quoi que ce soit sans le déplacer.
Donc si une page est libre (Grace a trim) : copie de la page en zone tampon - modif - collage de la page modifiée en zone libre - liberation de la page initiale (- et de temps en temps effacements de blocs, si possible très libres, et mettant ailleurs ce qui était encore utile)
Si plus rien n’est libre (et rien ne l’est plus jamais officiellement sans trim au bout d’un certain temps) : copie d’un bloc entier en zone tampon - effacement total de ce bloc - modification de la page à modifier en zone tampon - écriture du bloc modifié en totalité à l’endroit qu’on vient d’effacer.
Imagine une mémoire flash d’un seul bloc (comme sur un Psion il y a longtemps si tu as connu), sans trim, dès qu’elle est pleine, tu passes ton temps à copier la mémoire flash entièrement en mémoire vive, à la flasher, puis à la charger à nouveau. Avec trim, quand elle est pleine, tu ne copie en mémoire vive que les pages occupées, tu flashe tout, et tu ne recharges que les quelques pages utiles. Tu repars donc pour un cycle pendant lequel tu ne vas pas flasher pendant presque aussi longtemps que quand tu as mis ta mémoire neuve en service.
@dandu
sans TRIM : à partir d'un certain point, pour le contrôleur du SSD, il y a des données sur toutes les cellules. Donc il doit déplacer.
Ben, il ne peut pas déplacer puisque pour lui le SSD est plein. Les déplacer où ? Il remonte une erreur "disque plein" et c'est terminé.
Plus le fait que le but est d'avoir une usure uniforme.
Uniforme oui mais le but est d'utiliser le moins possible les cellules, pas d'user les voisines dans le seul but de les faire vieillir. Déplacer uniquement pour user plus est stupide !
Après il y a peut-être un rafraichissement à faire de temps en temps mais c'est une autre histoire.
@Lightman
« Ben, il ne peut pas déplacer puisque pour lui le SSD est plein. Les déplacer où ? Il remonte une erreur "disque plein" et c'est terminé. »
Ce n’est pas le support (SSD ou HDD) qui remonte une erreur disque plein, c’est le système de fichiers, avant même tout écriture sur le support.
Quand on dit que tous les blocs du ssd sont pleins, c’est du point de vue du ssd. Le système de fichiers sait, lui, quelles sont les pages (note la différence avec les blocs) libérées (même si physiquement il y a des données, elles ne sont plus utiles pour le système de fichiers).
Donc quand le système de fichiers demande au ssd de mettre à jour la page x, le ssd va recopier toutes les pages du bloc contenant la page x, les recopier en même temps que le nouveau contenu de la page x dans un autre bloc, et libérer l’ancien bloc entier.
En théorie, il suffit d’un bloc tampon dans le contrôleur pour que ça marche. Dans la pratique, les SSD ont plus d’espace qu’affiché, pour augmenter performances et longévité.
@Lightman
« Uniforme oui mais le but est d'utiliser le moins possible les cellules, pas d'user les voisines dans le seul but de les faire vieillir. Déplacer uniquement pour user plus est stupide ! »
Pas dans le _seul_ but de les faire vieillir, évidemment :) mais dès que le système de fichiers doit mettre à jour une page, le SSD doit ré-écrire tout le bloc ailleurs (c’est comme ça, il ne peut pas faire autrement). Il faut donc choisir le « ailleurs » au mieux pour répartir l’usure. Un algo simple est « choisis le moins usé ».
Une autre interrogation que cet article me donne l'occasion d'aborder car jusqu'à présent je n'est pas franchi le pas du SSD. La confidentialité des données.
L'article nous indique que les pages ne sont pas vraiment effacées mais juste marqués comme obsolètes. Rien de surprenant, c'est comme les DD. Oui mais sur les DD on peut faire un effacement sécurisé sélectif, effacement de l'espace libre ou bien un formatage bas niveau pour cela. Quid des SSD ?
On va me dire que les données sont cryptées/chiffrées donc illisibles. Alors je ne vous parle pas d'yeux indiscrets en cas de vol du SSD, non, je parle de cacher de manière définitive toute donnée sensible pour… moi-même, une personne qui viendrait à avoir le code d'une session suite à une faille, une intrusion ou une perquisition numérique par ex.
Comment fait-on sur un SSD ? Est-ce seulement possible ???
@Lightman
En tous cas l'effacement sécurisé est bien dispo avec les ssd sous macos
@raoolito
Merci de confirmer que ça existe toujours même si Apple l'a désactivé comme fonctionnalité (ligne de commande obligatoire).
Mais j'ai vu des trucs contradictoires là-dessus :
– à ne pas utiliser car use le SSD prématurément (OK),
– rendu inutile avec un SSD (pourquoi ? ),
– commande ignorée par l'OS.
Je ne sais même pas si cette commande déclenche une action véritable sur un SSD, et laquelle ?
@macomaniac es-tu là ? A l'aide 😱
@dandu
Merci de ton éclairage.
@dandu
"Sur un SSD chiffré matériellement, la majorité des modèles modernes, ça n'a aucun intérêt : on peut essayer de lire les données de la mémoire, mais elles sont chiffrées, donc inutilisables (sauf à avoir la clé, forcément)."
Et où est la clé dans le cas d'un chiffrement par le disque lui-même ?
Merci anthony !
Les commentaires en ont parlé, macG l'a fait :)
Choses promises, choses dues !
Bravo, et merci.
L'article m'a rassuré sur l'usage de SSD sans trim avec un formatage APFS.
Bonjour à tous,
Et sur une partition NTFS on a besoin du TRIM aussi du coup non? On l’active comment dans ce cas sous Bootcamp/Windows ? C’est pour un de mes disques SSD externes, ça m’intéresse :)
Merci à vous :)
@N01R
trim = os
donc l'os doit etre capable de lire et ecrire sur la partoche donc ya que windows qui le peut avec le ntfs
Merci pour l’article !
Quid de l’utilisation d’un SSD (exclusivement) sur iPadOS ?
La fonction TRIM est-elle activée/activable?
@YetiJS93
ah oui tiens ?
ios gere-t-il le trim ?
Un article commencé sous la douche Anthony?
Donc avec un gros SSD (j'ai un 2TO sur mon MacBook Pro 16'' M1) il sera moins vite usé qu'un petite capacité de 512 GB par exemple ?
@dandu
Merci de l'information !
Super article en tout cas !
Merci pour l’article très claire et complet.
Dès ce soir, je vais vérifier si le SanDisk Extreme Pro acquis hier trime déjà ou si je dois le motiver.
@Mac1978
Alors est ce que cela a fonctionné de ton côté sur ce ssd ?:) 🙏