Est-il possible de savoir combien de blocs découpés sont sur un SDD?

3

J'ai remplacé le disque dur de mon ordinateur portable par un SDD de 480 Go.

J'ai laissé un espace de 20 Go à la fin du disque pour la surprovisionning (l'emplacement importe peu car c'est un SDD). Et la partition principale a beaucoup d'espace libre.
J'ai utilisé la fonctionnalité de découpe intégrée à Windows pour la partition principale. J'espère alors que ce SSD est correctement coupé. Mais je n'ai aucune preuve.

Est-ce que quelqu'un connaît un moyen de trouver combien de blocs / secteurs / pourcentages / peu de contenu sont sur un SSD?
Comme il n’existe pas de norme pour cela, j’ai peur que cela nécessite de communiquer avec le micrologiciel, qui implique une méthode différente pour différents SSD.
Ce n'est pas un problème si cela nécessite de démarrer à partir de Linux.

C’est un SanDisk SDSSDA-480G que j’utilisais déjà "SanDisk SSD Dashboard", mais les valeurs indiquées correspondent uniquement à celles que Windows indique (cela est écrit dans le programme).

Grégory MOUSSAT
la source

Réponses:

2

Les données que vous recherchez se trouvent uniquement dans une partie privée du disque SSD. Actuellement, aucun moyen standard d'accéder au contrôleur interne SSD et à ses structures de données. Donc, même si possible, ce sera spécifique à l'appareil.
Je soupçonne l'existence de tels programmes entre les mains des fabricants, mais je n'en ai jamais vu un. Cela dit, je ne les ai jamais recherchées.

Avec un SSD MX300 crucial, j'ai trouvé que les blocs découpés étaient lus plus rapidement que ceux non découpés. Je l’ai fait sur une grande surface découpée où j’ai surprovisionné et dans une cloison vide.
Je l'ai également testée sur une partition remplie de zéros, afin de vérifier si des données fortement compressées pouvaient aboutir au même résultat: les données compressées étaient un peu plus lentes et pouvaient être distinguées des zones réduites.
Je ne pense pas que ce sera facile pour les petites zones, donc difficile de connaître le nombre réel, mais assez facile pour s'assurer que les grandes zones sont correctes.
Chaque SSD répond probablement différemment. J'ai testé seulement l'un d'entre eux.

Dans ce cas, cela peut être correct de vérifier si la zone surprovisionnée est découpée et si votre partition de données insuffisantes semble supprimée.
Je pense que vous pouvez être confiant pour le rognage régulier opéré par Windows.

Bertrand SCHITS
la source
0

Votre question a peu de sens, la commande TRIM est très élémentaire. Votre système d’exploitation informe le microcode du SSD qu’un certain bloc ne contient plus de données et qu’il peut être effacé / utilisé pour le nivellement par usure ou autre.

Pour surveiller les données d'intégrité et d'usure, utilisez un outil fourni par le fournisseur (par exemple, le tableau de bord SanDisk SSD ou surveillez les données SMART standard de l'industrie rapportées par le lecteur.

HBruijn
la source
La fstrimcommande Linux indiquera explicitement ce qu'il veut, par exemple/: 36.3 GiB (38967480320 bytes) trimmed
Michael Hampton
@MichaelHampton Non, fstrimindique ce qu'il a dit au périphérique bloquant de faire, mais ne rend pas compte de l'état actuel du périphérique bloquant. Il n'y a aucun moyen d'utiliser fstrimpour savoir combien de blocs matériels sont considérés comme utilisés et, selon superuser.com/a/1164940/37154, il n'existe apparemment aucun autre moyen trivial de le savoir.
clacke
@ clacke en effet. Mais si vous ne pouvez pas faire confiance au périphérique de bloc pour (éventuellement) dé-cartographier les blocs, vous aurez probablement besoin d'un nouveau périphérique de bloc.
Michael Hampton
@ michaelhampton Le lecteur est probablement bon. Ce que je ne peux pas croire, c’est de savoir si je comprends suffisamment les couches et si je les configure correctement pour être sûr que l’une d’entre elles n’avait pas avalé la demande, lorsque j’exécute fstrim sur un système de fichiers sur un LV sur dm_crypt.
Clacke
@clacke Maintenant, cela ferait un Q & A intéressant.
Michael Hampton
0

Les utilisateurs de certains disques SSD signalent que cela smartctl -Aleur donne un Wear_Leveling_Count.

D'autres, comme moi, ne semblent pas avoir le moyen de le savoir. Mon modèle de lecteur est signalé comme TOSHIBA THNSNK128GVN8. J'en ai Unknown_SSD_Attributemais ils ne semblent pas avoir de valeurs qui semblent représenter mes blocs mis au rebut. smartctldit aussi Not in smartctl database, je ne sais pas si cela peut être un facteur.

claquer
la source