SSD: Wear Leveling, Dynamic Wear Leveling & Static Wear Leveling

SSD Drive

Les SSD sont composés de « blocs », des espaces de stockages de 128ko qui mis bout à bout, forment l’espace annoncé sur la boite. La mémoire MLC (multiple-level-cell, 3 bits par cellule) peut subir environ 10 000 écritures par bloc, la SLC (single-level-cell, 1 bit par cellule) peut en enregistrer près de 100 000 avant d’être inutilisable. Cela est dû à la réécriture des unités de stockage dont la tension d’alimentation fini par user et détruire totalement le composant. L’accès en lecture en revanche ne cause aucun dommage.

Vendus sous forme de boitiers au format des disques durs habituels, ils existent en Sata, Sata2 et même en PCI-e pour dépasser la barre du Go/s. Leur consommation est très faible comparée aux disques mécaniques et les temps d’accès sont très performants.

Alors que faire pour éviter que l’écriture fréquente de données par un Système d’Exploitation ne détruisent rapidement un SSD ? Voici la solution.

Un peu comme pour les écrans tactiles, différentes méthodes ont été mises au point. Ces techniques exploitent toutes un contrôleur chargé de distribuer les données de manière intelligente dans les blocs. Le prix des SSD les moins chers pourrait donc révéler le déstockage de disques « d’ancienne génération ».

SSD Intel x25 m 80 go# Le Wear Leveling :

Une partie de la mémoire est réservée, et inaccessible à l’utilisateur. Cette mémoire cachée peut être utilisée par le contrôleur pour remplacer des blocs défectueux sans altérer la capacité du support, et sans que l’utilisateur s’en rende compte. La quantité de mémoire réservée varie, entre 1 et 5 %.

# Le Dynamic Wear Leveling :

Schématiquement, le contrôleur va intercepter les écritures et les distribuer aléatoirement sur des blocs situés dans l’espace libre. Comme les écritures ne seront plus concentrées sur le même bloc physique, on ne risque pas de détruire un bloc en particulier si un programme écrit en permanence sur le même fichier. Le problème de cette technique est simple : si l’espace libre est trop faible, les écritures vont se faire fréquemment sur les mêmes blocs, qui vont s’user et donc devenir inutilisables.
En dessous de 25% d’espace libre le disque s’usera donc rapidement, et sous 10% très rapidement.

SSD OCZ Z-drive# Le Static Wear Leveling :

Le contrôleur enregistre le nombre d’écritures sur chaque bloc et sa dernière date d’utilisation. Il est donc capable de déterminer la fréquence d’utilisation d’un bloc et son usure. Lorsqu’une donnée doit être écrite, il va d’abord chercher le bloc qui a subi le moins de cycles. S’il est libre, le contrôleur l’utilise. Par contre, si le bloc contient des données, il va vérifier la dernière fois qu’il a été écrit et déterminer si c’est une donnée statique (pas d’écriture depuis x temps) ou bien dynamique (écrit récemment).

Si c’est une donnée statique, il va la déplacer vers un bloc usé et mettre la nouvelle donnée à sa place. Si c’est une donnée dynamique qui se trouve sur le bloc, il va en chercher un autre. L’intérêt de la technique consiste à placer les données qui ne sont pas souvent écrites sur des blocs usés et de placer les données souvent modifiées sur des blocs qui ont subi peu d’écriture. Cette technologie permet de garder une usure constante sur le support, et de ce fait d’augmenter la durée de vie globale.

La capacité du SSD augmente donc sa durée de vie, en contrepartie le débit en écriture ralentira sensiblement à la longue, dû aux réécritures des blocs.

Un avantage pour les constructeurs qui peuvent désormais estimer très précisément le nombre de cycles et les disques ne sont plus fragilisés par des chocs physiques accidentels (notamment dans les pc portables). En utilisation permanente, la durée de vie des boitiers actuels est estimée à plus de 4 ans, c’est à dire plus de 10 ans pour une utilisation à la maison.

On comprend mieux pourquoi les clés USB, qui ne sont équipées d’aucun dispositif (et même parfois défragmentées par Windows), sont bien plus fragiles. L’usage quotidient des Live USB Linux est d’ailleurs déconseillé à moins d’utiliser des versions modifiées comme en propose Mandriva.

Source

LDLC n’a peur de rien, c’est en me rendant par curiosité sur leur site que j’ai déniché ce prestigieux SSD de marque OCZ de 1To (1.3 Go /s) proposé à près de 4700€ -sans les frais de ports- ! Oui madame, lavez bien vos lunettes vous avez bien lu 4700€ pour un disque de 3.5″ et pour un malheureux tera de stockage. A ce prix là, on peux se trouver 50 exemplaires du Western Digital Caviar, 1To à 7200rpm 64mo pour 95€ et j’ai pris l’un des plus chers.

Et OCZ ne pratique pas les tarifs dégressifs puisque pour le double de mémoire (2 To) il faudra débourser plus de 9480€ ! Monde de fou…

6 commentaires sur “SSD: Wear Leveling, Dynamic Wear Leveling & Static Wear Leveling

  1. 😀
    On en apprend plus sur le fonctionnement des SSD. Je trouve cette technologie encore jeune pour une application quotidienne. Même avec les efforts qu’ils ont fait ces dernières année, les SSD restent relativement cher aujourd’hui.

    Si j’ai bien compris la meilleur technologie serait la dernière, le Static Wear Leveling couplé avec une mémoire SLC.

    Article très intéressant 😉

  2. La mémoire MLC est la plus courante aujourd’hui. Elle supporte moins de cycles mais contient 3 bits au lieu d’un seul.

    J’ai un peu de mal à comprendre l’intérêt d’un SSD de plus de 60Go, dans la mesure où d’après l’idée reçue, une fois l’OS chargé les données sont quand même plus en sécurité sur un disque à plateaux.

    Cependant un SSD ne crash pas, il meure lentement. La durée de vie est donc parfaitement estimable (bientôt dans des logiciels du genre Hardware Monitor) et calculée à l’avance. J’hésite encore, j’aimerais voir des gens autour de moi en tester un, l’éprouver, me dire « va y ca craint rien ».

    Mais vu le prix je préfère attendre, car seuls les disques haut de gamme (et souvent haute capacité donc chers) disposent d’une puce Static Wear Leveling.

    Les constructeurs sont eux même encore frileux à les proposer (à l’exception de Dell où on peut choisir les composants).

  3. Humm à mon avis ce sont des disques dur que tu utilise en priorité pour ton systèmes d’exploitation grâce à leur vitesse (un peu comme nos raptor…)

    après un bon vieux disque a plateau pour le stockage, le rapport qualité / prix est imbattu pour le moment … Tu fais un bon raid pour faire une sauvegarde complète puis c’est bon je trouve

  4. A mon avis, ce n’est pas encore assez mature pour les portables. Néanmoins, sur un fix en raid, ça pourrait être intéressant. Du raid 1+0 ou 1, si on est un peu plus modeste. 😀

  5. Comme vous le savez peut-être, les clés USB ont des segments effaçables individuellement, chacun pouvant être écrit un nombre défini de fois (100 000 par exemple) avant de perdre sa fiabilité. Les systèmes de fichiers conventionnels comme FAT ou ext2 ont été conçus à l’origine pour des disques magnétiques et en tant que tels ré-écrivent beaucoup de leurs structures de données à la même place répétitivement. Le segment endommagé ne peut être récupéré. Ce type de corruption est permanent.

    Pour éviter les dommages au système de fichiers, assurez-vous toujours d’arrêter et de redémarrer correctement. Si vous démarrez Slax depuis un autre périphérique et utilisez la clé USB comme un support de stockage, assurez-vous toujours de le démonter (unmount) proprement avant de le retirer. Si vous le pouvez, utilisez un système de fichiers journalisé (comme XFS) plutôt que FAT ou ext2. Et n’utilisez toujours que des périphériques qui supportent le ‘wear levelling’, conçus pour distribuer les ré-écritures sur le médium, afin de prolonger sa durée de vie.

    Source sur Slax.org

L'espace de discussion de cet article est désormais fermé.