Solid State Disk
Mise en réserve
Overprovisioning
Root » Serveurs » Electro-ménager » Ordinateurs » Disques durs » SSD » Overprovisioning
Certains fabricants permettent de mettre une partie de la mémoire du SSD "en réserve" (overprovisioning), ce qui permet d'accélérer les opérations d'écriture, le disque ayant toujours une réserve à sa disposition. L'écriture étant en effet le point faible des SSD.

Samsung a commencé par promouvoir cette fonctionalité, mais il est sûr que d'autres fabricants vont suivre. La question qu'on se pose: est-ce que cela vaut vraiment la peine, et combien de mémoire faut-il réserver...

-

-

SSD Overprovisioning


Il ne s'agit pas d'overprovisioning,
mais d'une partie de la capacité qui est utilisée par le système.
Chaque fabricant utilise une partie plus ou moins grande de la capacité du ssd.


“Stuttering” (brun),
“steady state” (violet) et
steady state avec overprovisioning (bleu)
Illustration pratique

Lisez tout d'abord la page sur le fonctionnement d'un ssd pour plus d'informations sur les blocs et les pages.

La capacité effective d'un disque SSD ne correspond pas à la capacité maximale. Les modules de mémoire sont fourni en capacités de 16, 32, 64,... GB, mais la capacité effectivement disponible est moindre. Une partie est utilisée par le système comme "zone technique":

  • Mémoire-tampon: quand il faut déplacer des pages de données (pour libérer un bloc), les données du bloc à effacer sont d'abord stockées dans un tampon. Il s'agit parfois de mémoire vive si le disque SSD dispose de condensateurs qui permettent de terminer l'opération en cours en cas de panne de courant.

  • Tableaux de translation: il s'agit d'un tableau qui assure la transformation d'une adresse utilisée par le système d'exploitation en adresse physique en mémoire SSD.

  • Réserve: les cellules de mémoire s'usent et le fabricant a réservé une partie de la capacité pour prendre le relais en cas de pages de mémoire défaillantes. Le système peut continuer à puiser dans la réserve, jusqu'à ce qu'elle est épuisée.

  • Provisioning: il s'agit de pages effacées d'avance pour permettre les opérations d'écriture (“en prévision”). Il faut en effet effacer les pages avant de pouvoir écrire.
En pratique la réserve et le provisioning sont une seule et même zone. Quand le disque s'use et que des cellules meurent, la zone de réserve décroit et le disque fonctionne moins rapidement en écriture. La zone technique ne sert pas uniquement à l'overprovisioning. Un disque de 64GB ne permet d'accéder que 60GB, la partie non-accessible est utilisée par le système.

Disque de 64GB = 68.719.476.736 octets
(64 × 1024 × 1024 × 1024)
Disponible SSD1 = 64.017.317.888 octets
Disponible SSD2 = 60.019.834.880 octets

Quand le disque est au repos, il va libérer des blocs: le système recherche les blocs qui contiennent le moins de pages utilisées. Les pages uitilisées sont déplacées et tout le bloc est effacé (l'effacement s'effectue toujours par bloc entier et est relativement lent). Cette fonction de "ramasse-miettes" permet d'avoir toujours des pages disponibles à l'écriture.

Quand il n'y a plus de pages de disponible en écriture, le système devient brusquement extrèmement lent. Il s'agit d'un phénomène qui se manifestait surtout sur la première génération de disques durs quand la technique n'était pas encore parfaitement maitrisée. Ce phénomène se retrouve dans la littérature technique sous le nom de stuttering. Les systèmes actuels peuvent aussi subir un ralentissement notable en cas d'opérations d'écriture très intensives (transformation d'un groupe de fichiers d'un format à un autre). Le disque reste lent jusqu'à ce qu'il ait pû libérer des pages.

On n'utilise plus la dénomination "stuttering" mais bien steady state pour indiquer le fonctionnement d'un SSD au maximum de ses capacités pendant un temps indéfini. Si on laisse au disque le temps de reprendre du souffle (de libérer des pages), il recommencera à travailler à une vitesse plus élevée.

Pour réduire le stuttering, on peut augmenter la zone réservée. De cette manière le système a plus d'espace où rechercher des blocs à libérer, ce qui augmente le débit en écriture avant et pendant le steady state.

Ce sont les disques SSD de Samsung qui proposent actuellement d'augmenter la zone de réserve (overprovisioning). L'espace disponible pour l'utilisateur devient évidemment moindre, chaque médaille a son revers. La réservation d'un espace supplémentaire s'effectue sur le disque vierge.

Combien dois-je prévoir comme overprovisioning? Le disque a déjà réservé une partie de la capacité comme réserve: sans cette réserve, le SSD ne pourrait pas fonctionner. On peut augmenter la réserve quand l'utilisateur a installé de nombreux programmes et que le système est lent à démarrer. Le SSD est fourni avec le logiciel pour réduire la partition active et attribuer l'espace libéré à la réserve.

Le système d'exploitation écrit facilement plus de 1GB lors du démarrage. Les différents programmes qui démarrent en même temps écrivent aussi toutes sortes de données (Adobe, office, tous les utilitaires, l'anti-virus,...). En tout cela fait plus de 1GB en écriture lors du démarrage du système: pas étonnant que certains systèmes sont aussi lents avec un SSD qu'avec un disque dur classique.

L'espace gardé en réserve correspond à environ 1GB pour les disques d'une capacité de 64GB et de 2GB pour ceux d'une capacité de 256GB, ce qui suffit dans les situations courantes. L'estimation de la réserve se fait en analysant les benchmarks (tests de rapidité): au bout de combien de GB d'écriture est-ce que le système passe en mode "steady state".

Si le disque dur te permet d'indiquer toi-même l'overprovisioning, prend la valeur la plus élevée possible. Cela va évidemment au détriment de la capacité disponible (qui n'est déjà pas énorme avec les SSD). Il est interessant de garder le disque d'origine et d'y déplacer tous les fichiers archivés (les photos des années précédentes, par exemple), le SSD étant utilisé pour le système d'exploitation et les fichiers récents.

L'overprovisioning est bon pour la durée de vie du SSD, car cela signifie que le disque peut libérer plus facilement des blocs sans trop opérations intermédiaires (write amplification). L'overprovisioning rend le disque aussi plus rapide, puisqu'il faut moins d'opérations intermédiaires en écriture. L'overprovisioning n'a aucun effet en lecture.

Notez que la réserve et l'overprovisioning ne sont pas des zones fixes sur le SSD, mais ce sont des fragments qui se déplacent au gré des opérations d'écriture.

Le dernier graphique nous montre un SSD de la première génération. La vitesse tombe parfois à 0 (graphique brun) quand il n'y a plus de réserve. Le graphique violet est celle d'un disque récent sans overprovisioning, tandis que le graphique bleu est celui du même disque avec overprovisioning. Ce graphique est illustratif et dépend des paramètres de fonctionnement: pourcentage d'utilisation du SSD, disponibilité de la commande TRIM, etc.

Il est évident que les disques de plus grande capacité sont plus rapides, car ils contiennent plus de modules de mémoire qui sont addressés simultanément. Les disques de plus grande capacité ont également plus de réserve: le goulot d'étranglement (steady state) est ainsi réduit de deux façons indépendantes.

Links to relevant pages - Liens vers d'autres pages au contenu similaire - Links naar gelijkaardige pagina's

-