J'ai un SSD que je veux TRIM avant d'installer Ubuntu dessus. Il m'a été suggéré de laisser un espace non partitionné, de sorte que le nivellement d'usure laisse libre cours aux blocs. Cependant, je comprends que comme certains logiciels ont déjà été installés sur le lecteur, il est insuffisant de le repartitionner avec de l’espace non partitionné. Et mkfs ne TRIMER la zone non partitionnée.
En lisant la page de manuel hdparm
, je suis tombé sur --trim-sector-ranges
, qui sonne exactement ce que je dois utiliser. Il contient également un avertissement qui dit: EXCEPTIONNELLEMENT DANGEREUX. NE PAS UTILISER CETTE OPTION !! deux fois.
J'ai vu un recommandation suggérant d'utiliser la commande ATA secure erase à la place. Mais j’ai aussi lu que l’effacement sécurisé présente un risque de casser le dispositif .
Qu'est-ce que --trim-sector-ranges
fait qui le rend si dangereux qu'il est préférable de risquer de casser l'appareil?
Le rognage de secteurs indique en gros au SSD que les secteurs ne contiennent plus de données utiles et peuvent être récupérés (c'est-à-dire effacés) de manière à pouvoir être réutilisés pour de futures opérations d'écriture. Cela peut améliorer les performances d'écriture lorsque le disque est plein, car la couche de traduction du microprogramme du contrôleur SSD a plus de "marge de manœuvre" pour jouer avec des blocs/pages physiques.
Dans hdparm
, les secteurs à rogner sont fournis sous forme de LBA (blocs logiques). Si votre SSD a été formaté avec un système de fichiers, le découpage de LBA endommagera certainement le système de fichiers et le rend inutilisable (puisqu'un utilisateur n'a pas connaissance du mappage sous-jacent du système de fichiers au LBA). Pour les disques SSD formatés avec un système de fichiers, le rognage doit être effectué à un niveau supérieur, avec des outils tels que fstrim
.
Lorsqu'elle est prise en charge, la commande "ATA secure erase" doit effacer tous les blocs physiques du disque SSD. Cela pourrait être à peu près équivalent à couper tous les secteurs du SSD, mais probablement de manière plus optimisée et sécurisée.
Le lien référencé indique que la commande "secure erase" a échoué lorsqu'elle est utilisée avec un adaptateur USB vers SATA. Cela peut être dû à une implémentation médiocre ou erronée du contrôleur USB-à-SATA, ou à une implémentation non conforme aux spécifications SATA récentes.
Pour effacer le contenu d'un disque SSD, la commande SATA Secure Erase est la méthode à privilégier. L'option --trim-sector-ranges
d'un hdparm est à des fins expérimentales et de référence. Le découpage de secteurs avec hdparm
n’a de sens que pour des applications très spécifiques (certains systèmes de base de données) prenant en charge les disques SSD au niveau LBA.
Pour finir, il est intéressant de recommander de laisser un espace non partagé (appelé sur-approvisionnement) pour le nivellement par usure, à condition que cet espace ait déjà été réduit (un "effacement sécurisé ATA" conviendra également à cette fin). Si ce n'est pas le cas, et si des données précédentes existaient dans la plage LBA de l'espace non partitionné, le contrôleur SSD supposera qu'il s'agit toujours de données valides et s'efforcera de les conserver "en vie", en déplaçant éventuellement les blocs et les pages associés ( augmentant ainsi l'usure générale!)