Comprendre l'over-provisioning (OP) des SSD

Pourcentage pour l'over-provisioning =

Capacité physique – Capacité utilisateur


Capacité utilisateur

Formule du pourcentage d'over-provisioning.

Si les disques à semi-conducteurs (SSD) ressemblent souvent aux disques durs par leurs dimensions physiques (par ex. hauteur, largeur et longueur) et leur interface externe (par ex. SATA ou SAS), leur fonctionnement et leurs composants internes ne ressemblent en rien à ceux des disques magnétiques rotatifs qui sont les principaux éléments d'un disque dur.

Après l'assemblage de chaque disque SSD et pendant la programmation du firmware, le fabricant peut réserver un pourcentage de sa capacité totale à l'over-provisioning. L'over-provisioning améliore la performance et prolonge souvent l'endurance des SSD. L'OP lui permet de fonctionner plus longtemps parce que son contrôleur SSD bénéficie d'un stockage plus important pour compenser l'usure des composants NAND Flash pendant toute sa durée de vie.

Capacité physiqueCapacité disponible% d'over-provisioningClasse d'application
64Go 60Go 7% Lecture intensive
96Go 90Go 7% Lecture intensive
128Go 120Go 7% Lecture intensive
128Go 100Go 28% Écriture plus intensive
256Go 240Go 7% Lecture intensive
256Go 200Go 28% Écriture plus intensive
512Go 480Go 7% Lecture intensive
512Go 400Go 28% Écriture plus intensive
1024Go 960Go 7% Lecture intensive
1024Go 800Go 28% Écriture plus intensive
2048Go 1800Go 14% Lecture intensive
2048Go 1600Go 28% Écriture plus intensive
Over-provisioning basé sur la capacité et la classe d'application

Des applications peuvent être intensives en lecture, par exemple lorsque l'utilisateur génère des charges de travail représentant 20% d'écritures pour 80% de lectures. Les applications d'entreprise qui utilisent un dispositif de stockage dédié au cache des lectures appartiennent à la catégorie Lecture intensive. Si ces applications écrivent un plus grand volume de données sur un dispositif de stockage, elles seront définies comme appartenant à la catégorie Écriture intensive.

La capacité d'OP définie par le fabricant peut varier selon la classe d'application du disque SSD et la capacité mémoire Flash NAND totale.

Les disques ayant une capacité supérieure et appartenant à une classe d'application différente sont normalement configurés avec un over-provisioning proportionnellement plus important. Une telle configuration est nécessaire pour supporter un plus grand nombre de composants Flash NAND avec les fonctions de nettoyage de la mémoire (Garbage Collection), blocs libres et protection avancée des données.

Avantages de l'over-provisioning (OP)

Comment l'OP améliore la performance des SSD

Chaque matrice Flash NAND est composée d'un grand nombre de blocs qui contiennent chacun une multitude de pages.

Les matrices Flash NAND peuvent être lues et écrites au niveau des pages, mais peuvent uniquement être effacées au niveau des blocs.

Si une seule page déjà écrite doit être modifiée ou effacée dans une page déjà programmée dans un bloc, le contenu total de ce bloc, constitué de pages multiples, doit d'abord être lu dans une mémoire temporaire, puis effacé, avant que le nouveau contenu du bloc puisse être programmé à cette même adresse de bloc

Le seul scénario où une page peut être écrite directement dans un bloc Flash NAND sans ce cycle fastidieux de lecture-modification-écriture est celui où la page est déjà vide.

Conserver une grande quantité de blocs vides réservés via l'over-provisioning aide à préserver un niveau de performance constant, en particulier pour les scénarios d'écriture aléatoire qui nécessitent les plus hauts facteurs d'amplification d'écriture (FAE).{{Footnote.N52105}}

Comment l'OP améliore l'endurance des SSD

Pour comprendre pourquoi un disque SSD est configuré avec de l'over-provisioning et les avantages apportés au contrôleur SSD, il est nécessaire de comprendre le fonctionnement interne d'un disque SSD et les limitations d'une mémoire Flash NAND rémanente.

Chaque cellule Flash NAND a une durée de vie limitée. Celle-ci est déterminée par son endurance, qui est mesurée en cycles d'écriture/effacement (E/E). L'endurance E/E est spécifiée par le fabricant des composants Flash NAND pendant le processus de fabrication. En effet, chaque opération d'écriture/effacement exécutée sur une cellule Flash NAND use sa capacité à stocker une charge électrique en tout fiabilité. Ceci peut présenter un risque croissant pour l'intégrité des données.

Cependant, comme la géométrie NAND migre de 2D à 3D, l'endurance NAND s'améliorera, les densités des matrices augmenteront et les coûts de production diminueront, améliorant l'accessibilité économique des SSD.

En résumé, les trois principaux facteurs qui déterminent l'endurance d'un disque SSD sont :
  • Endurance (nombre de cycles d'écriture/effacement Flash NAND), complexité des opérations de lecture/écriture/effacement, liée à la géométrie (dans ce cas la géométrie inclut la technologie de fabrication en deux et trois dimensions).
  • Capacité SSD
  • Capacité et efficacité du contrôleur SSD (nettoyage de la mémoire, amplification d'écriture, gestion des blocs, répartition d'usure, code de correction d'erreur).

Maintenir les niveaux de performance et d'endurance avec l'over-provisioning (OP)

Pour éviter que la capacité totale du SSD soit mobilisée par des pages invalides, la fonction d'élimination des données inutilisée (nettoyage de la mémoire) opérée par le contrôleur SSD utilise l'over-provisioning comme espace temporaire pour gérer les fusions programmées des pages valides et récupérer les blocs contenant des pages invalides (ou supprimées).

Les pages/blocs récupérés sont ajoutés à la capacité d'over-provisioning pour faciliter les écritures du contrôleur SSD et optimiser la performance pendant les pics de trafic. En effet, la lecture, l'effacement, la modification et l'écriture de toutes les pages valides dans un bloc partiellement rempli de pages invalides peuvent devenir une procédure lente, et avoir un impact indésirable sur les performances.

L'élimination des données inutilisées est indépendante du système d'exploitation. Elle est automatiquement déclenchée pendant les périodes de faible activité, périodiquement ou par la commande TRIM de la gestion des données ATA pour programmer le nettoyage des composants mémoire.

L'over-provisioning est donc une réserve de blocs vides toujours disponibles. Il supporte une répartition d'usure efficace des composants Flash NAND. Il permet au contrôleur SSD de redistribuer de manière uniforme et intelligente les écritures sur toutes les cellules Flash NAND, sans affecter la performance générale du disque SSD pendant les périodes de trafic intensif.

En outre, la commande TRIM de la gestion des données ATA peut augmenter l'espace disponible du SSD en récupérant des pages invalides et des cellules utilisateurs disponibles.

Capacité formatée du disqueTaille de l'over-provisioningLecture séquentielle/ Bande passante d'écritureIOPS Régime permanent 4k en lecture/ Écriture aléatoireTOE / TBW (JEDEC Enterprise{{Footnote.N52105}})ECDJ{{Footnote.N37134}}
480GB (DC500R) 7% 550/500Mo/s 98,000/12,000 IOPS 438 0.5
480GB (DC500M) 32% 555/520Mo/s 98,000/58,000 IOPS 1139 1.3
960GB (DC500R) 7% 555/520Mo/s 98,000/20,000 IOPS 876 0.5
960GB (DC500M) 32% 555/520Mo/s 98,000/70,000 IOPS 2278 1.3
1920GB (DC500R) 7% 555/520Mo/s 98,000/24,000 IOPS 1752 0.5
1920GB (DC500M) 32% 555/520Mo/s 98,000/75,000 IOPS 4555 1.3
3840GB (DC500R) 7% 555/520Mo/s 98,000/28,000 IOPS 3504 0.5
3840GB (DC500R) 32% 555/520Mo/s 98,000/75,000 IOPS 9110 1.3
Over-provisioning based on capacity and application class

Pour comprendre les effets de l'OP, nous examinerons les SSD Enterprise de Kingston, et en particulier le SSD DC500R, comme exemple. Les disques SSD sont fournis en diverses capacités allant jusqu'à 3,84To. Ils mettent à la disposition des utilisateurs le Kingston SSD Manager qui permet d'ajuster l'over-provisioning. En modifiant le niveau de l'OP à partir de 7%, nous constatons divers effets sur la performance et l'endurance.

Lorsque nous comparons chacune des capacités associées, nous constatons :
  1. Dans chaque paire, les disques à haute capacité (OP inférieur) peuvent maintenir les mêmes débits de transfert (bande passante), mais les entrées/sorties par seconde (IOPS) en écriture aléatoire sont considérablement réduites. Par conséquent, les disques avant un niveau d'OP inférieur bénéficieront d'une meilleure performance pour les applications intensives en lecture, mais peuvent être plus lents pour supporter des applications intensives en écriture, par rapport à des disques ayant un OP de 32%.
  2. Un niveau d'over-provisioning inférieur implique aussi que le Nombre total d'octets écrits (TOE) en Téra-octets (To) sera plus bas sur chaque disque. Plus le pourcentage d'OP est élevé, plus la longévité du SSD sera longue. Un disque DC500R 960Go peut contenir jusqu'à 876To de données écrites, alors que le DC500R 800Go peut en contenir 876To. Le Total d'octets écrits (TOE) est dérivé par Kingston qui utilise les charges de travail JEDEC comme référence{{Footnote.N52105}}.
  3. Lorsque les valeurs TOE sont converties en Écritures complètes de disque par jour (ECDJ) pendant la période de garantie, nous voyons que les disques ayant un OP de 32% ont presque doublé le nombre d'écritures par jour. C'est pourquoi un OP de 32% est recommandé pour les applications intensives en écriture.