Aller au contenu

SSD sur USB, TRIM, overprovisionning...


pehache

Messages recommandés

Bonjour,

On a souvent évoqué ici le fait qu'utiliser un SSD en USB n'était pas une super idée, du fait que la commande TRIM n'était en général pas transmise par l'USB (bien que ça reste très flou, mais en général il ne faut pas compter dessus). Sans le TRIM le contrôleur du SSD n'est pas informé des secteurs libérés quand un fichier est effacé, donc au bout d'un moment de son point de vue tous les secteurs sont occupés, et à partir de ce moment-là le Garbage Collector ne peut plus faire son office, avec pour conséquence une chute des performances en écriture et une usure plus rapide des cellules.

Sauf qu'il y a un mécanisme que je n'avais pas bien compris, qui est l'overprovisionning. En plus de sa capacité affichée, le SSD contient :

  • une réserve de blocs supplémentaires pour remplacer les blocs défectueux au cours du temps. Je croyais que l'overprovisionning c'était ça, mais en fait non, c'est plutôt ça :
  • une (autre) réserve de blocs supplémentaires pour permettre au Garbage Collector de continuer à fonctionner même quand le contrôleur pense que tous les blocs accédés par l'OS sont occupés.

Apparemment tous les SSD ont un overprovisionning. Il peut atteindre 28% de la capacité affichée sur certains SSD haut de gamme, mais sur les SSD grand-public c'est au mieux quelques %. On va dire de toutes façons que ça reste un peu idiot d'utiliser un SSD haut de gamme en USB (goulet pour la bande passante). Reste donc le cas des SSD grand-public, pour lequels un peu plus d'overprovisionning pourrait compenser l'absence de TRIM.

Certains fabricants fournissent des utilitaires avec leurs SSD, permettant entre autre de modifier la quantité d'overprovisionning, mais sinon il existe un moyen simple : sur un SSD de 256Go par exemple, n'utiliser que 200Go (1 ou plusieurs partitions, mais pas plus de 200Go au total). Les 56Go restants seront de fait utilisés comme de l'overprovisionning. Cela suppose néanmoins de le faire dès la mise en service du SSD, sinon on n'a aucune assurance que les blocs au-delà de 200Go n'ont pas déjà été écrits au moins une fois.

 

 

 

 

Lien vers le commentaire
Partager sur d’autres sites

Il y a 1 heure, pehache a dit :

Certains fabricants fournissent des utilitaires avec leurs SSD, permettant entre autre de modifier la quantité d'overprovisionning, mais sinon il existe un moyen simple : sur un SSD de 256Go par exemple, n'utiliser que 200Go (1 ou plusieurs partitions, mais pas plus de 200Go au total). Les 56Go restants seront de fait utilisés comme de l'overprovisionning. Cela suppose néanmoins de le faire dès la mise en service du SSD, sinon on n'a aucune assurance que les blocs au-delà de 200Go n'ont pas déjà été écrits au moins une fois.

Merci de partager l'info. C'est vrai qu'à force on oublie ou on s'y perd un peu.

Par contre, ici, "a priori", j'aurais plutôt imaginer une distribution des cellules d'overprovisionning sur toute la surface (mais bon, ce sont des "vieux" réflexes de disques à plateaux).

Es-tu sûr que laisser un espace non partitionné aide ou est-ce une hypothèse (plausible, j'en conviens) de ta part ?

Modifié par Sethenès
Lien vers le commentaire
Partager sur d’autres sites

il y a 41 minutes, Sethenès a dit :

Par contre, ici, "a priori", j'aurais plutôt imaginer une distribution des cellules d'overprovisionning sur toute la surface (mais bon, ce sont des "vieux" réflexes de disques à plateaux).

Oui, sur les SSD il y a un niveau supplémentaire d'indirection entre l'adresse LBA et l'adresse physique sur le SSD. Avec le temps les adresses LBA consécutives ne correspondent plus à des blocs consécutifs sur le SSD.

 

il y a 41 minutes, Sethenès a dit :

Es-tu sûr que laisser un espace non partitionné aide ou est-ce une hypothèse (plausible, j'en conviens) de ta part ?

On le lit un peu partout quand on cherche sur ce sujet. Parfois ça ne prouve rien, mais là c'est souvent bien expliqué. Et surtout même Seagate le dit :

" Actually, even without special software, any user can set aside a portion of the SSD when first setting it up in the system by creating a partition that does not use the drive’s full capacity. This unclaimed space will automatically be used by the controller as dynamic over-provisioning. "

--> "Même sans logiciel spécifique, l'utilisateur peut mettre de côté une partie du SSD quand il l'installe pour la première fois, en créant une partition qui n'occupe pas toute la place. L'espace non réclamé sera automatiquement utilisé par le contrôleur comme de l'over-provisioning".

https://www.seagate.com/fr/fr/tech-insights/ssd-over-provisioning-benefits-master-ti/

Modifié par pehache
Lien vers le commentaire
Partager sur d’autres sites

L'info corrolaire intéressante de l'article c'est que l'overprovisioning d'usine "se cache" habituellement dans la différence classique entre les Go (=10^9 octets) et les Gio (=1024^3 octets, soit ~1,07*10^9 octets).

On sait classiquement qu'un HDD vendu pour 256Go apparait dans l'OS comme 239Go : les OS donnent en fait la capacité en Gio, donc 239Gio=256Go

C'est vrai aussi pour les SSD, sauf que physiquement les SDD sont fabriqués à partir de modules en Gio : un SSD vendu pour 256Go est toujours vu par l'OS comme 239Gio, mais il fait physiquement 256Gio : la différence 256-239=17Gio est classiquement utilisée comme overprovisioning.

Lien vers le commentaire
Partager sur d’autres sites

Citation

les OS donnent en fait la capacité en Gio, donc 239Gio=256Go

Il y a plusieurs années je t'avais dit ça et tu m'avais dis que ce n'était pas la seule raison de la différence de capacité affichée entre WIndows et macOS (il me semble que c'était toi).

macOS donne bien la capacité en Go et pas en Gio. Il suffit de connecter un disque dur en USB pour s'en apercevoir. ;)

Lien vers le commentaire
Partager sur d’autres sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

Chargement
×
×
  • Créer...