Outils pour utilisateurs

Outils du site


hardware:ssd

SSD

Notes à propos de la technologie SSD 1)

Pour le système hôte, communiquer avec un disque dur ou un SSD revient au même. C'est un espace de stockage adressable dont l'unité d'allocation par défaut est un bloc de 512 Octets. Le firmware gère la complexité en interne.

La technologie Flash supporte 3 opérations de base sur 2 types d'unités d'allocation:

  • Lecture: Opération de lecture sur une unité d'allocation de type page.
  • Effacement: Force à 1 tous les bits de l'unité d'allocation (le bloc d’effacement).
  • Programmation: Écriture sur une unité de type page (passe les bits nécessaires de 1 à 0)

Les page sont des unités d'allocation variant généralement entre 1Ko et 8Ko. Un bloc d'effacement contient plusieurs pages.

Lecture et programmation ne provoquent pas d'usure sur la cellule Flash, c'est l'opération d'effacement. La faible endurance à l'effacement des mémoires flash est compensée par des techniques mises en œuvres dans les firmwares.

wear-leveling

Permet de répartir l'usure sur l'ensemble des cellules. Lors des périodes d'inactivités du SSD, le firmware peut déplacer des fichiers invariants sur des blocs d'effacement déjà usés afin de mettre au repos les blocs ayant subit le plus d'opérations d'effacement.

over-provisionning

Réserve de blocs utilisables par le firmware. Double intérêt:

  • Augmente la durée de vie en réduisant les cycles d'effacement grâce aux blocs de réserve.
  • Augmente l’efficacité du wear-leveling. Lorsqu'une page doit être mise à jour, les blocs a modifiés sont écrits dans la réserve. Les anciens blocs ne sont pas effacés mais marqués dirty.

Garbage collector

Le wear-leveling et l'over-provisionning engendre de la fragmentation (pages dirty, utilisation des blocs de reserve)qui ne se ressent pas en lecture)

Références

1)
Solid State Disk
hardware/ssd.txt · Dernière modification : 2021/02/01 21:51 de 127.0.0.1