Comprendre la durée de vie du stockage flash

Aperçu

Choisir le périphérique de stockage flash adapté à votre application nécessite souvent un compromis entre le coût, la capacité et la robustesse. Par exemple, bien que les disques basés sur une cellule à niveau unique (Single-level Cell ou SLC) offrent le plus de durabilité et de longévité, ils sont également plus chers par gigaoctet que les disques basés sur une cellule à plusieurs niveaux (Multi-level Cell ou MLC). Cependant, les disques MLC ont une durée de vie beaucoup plus courte que les disques SLC, une situation particulièrement problématique lorsqu’ils sont stockés à des températures élevées. Pour déterminer le type de mémoire flash à utiliser, nous devons comprendre la durée de vie de chaque type et la comparer aux exigences de l’application. Commençons par poser les questions suivantes : • Quelles sont les architectures flash disponibles ? • Dans quelle mesure flash sera-t-il utilisé efficacement ? • Quelle sera la température hors fonctionnement (stockage) ? • Quelle est la durée minimale non opérationnelle (stockage) acceptable ? Ce document décrit chacun de ces facteurs et leur incidence sur la formule d’endurance du disque lorsque cette dernière est utilisée pour calculer la quantité de données pouvant être écrites sur un disque avant que ces mêmes données deviennent non fiables.

Contenu

Terminologie

  • Disque dur (HDD) : un périphérique de stockage de masse qui utilise des supports magnétiques rotatifs pour stocker des données
  • Disque électronique (SSD) : un périphérique de stockage de masse qui utilise la mémoire flash pour stocker des données
  • Endurance du disque : la quantité de données écrites sur un disque avant qu’il devienne non fiable
  • Écritures du disque (DW) : le nombre de fois qu’un disque peut être rempli avant qu’il devienne non fiable
  • Nombre total d’octets écrits (TBW) : la quantité de données pouvant être écrites sur un disque avant qu’il devienne non fiable
  • Facteur d’amplification d’écriture (WAF) : une mesure de l’efficacité d’utilisation du flash.  Plus le WAF est élevé, moins le flash est utilisé efficacement.
  • Charge de travail : un profil du type de transactions de données attendues pour l’application.  La charge de travail est directement liée au WAF.
  • Cycle P/E : le cycle programme/effacement qui se produit chaque fois que les données sont stockées en flash
  • Cellule flash : un transistor qui stocke une charge représentant des données
  • Endurance de la cellule flash : le nombre de cycles P/E qu’une cellule individuelle peut écrire avant que la cellule devienne non fiable
  • Facteur d’accélération pour la température (AT) : un ajustement pour l’incidence de la température de stockage sur l’endurance du disque.  Cet ajustement est calculé en ayant recours à la loi d’Arrhenius.
  • Facteur de temps de stockage (STF) : ajustement de la durée de stockage souhaitée tout en maintenant l’intégrité des données.  Il est calculé comme (N/12) où N est le nombre de mois de stockage.
  • Conservation des données : la capacité du flash à maintenir l’intégrité des données stockées au fil du temps lorsqu’il n’est pas alimenté
  • SLC NAND : cellule flash à niveau unique qui stocke un seul bit de données par cellule en utilisant deux niveaux de tension possibles
  • MLC NAND : cellule flash à plusieurs niveaux qui stocke deux bits de données par cellule en utilisant quatre niveaux de tension possibles
  • eMLC NAND : Flash MLC Enterprise qui stocke un bit de données dans une architecture MLC, offrant un point milieu entre SLC et MLC en matière de coût, d’endurance et de capacité.  Peut également être appelé pSLC (Psuedo SLC) ou iMLC (MLC de qualité industrielle).
  • TLC NAND : cellule flash à trois niveaux qui stocke trois bits de données par cellule en utilisant huit niveaux de tension possibles
  • Planar NAND : les cellules sont structurées en une seule couche de silicone
  • Vertical NAND (V-NAND) : les cellules sont structurées en plusieurs couches créant des colonnes de cellules.  Peut également être appelé NAND 3D.

Relation entre l’endurance du disque, l’endurance des cellules flash, la température de stockage, la durée de stockage et l’amplification d’écriture

Le calcul de l’endurance précise d’un SSD dans diverses conditions de fonctionnement et de stockage est extrêmement compliqué et implique de nombreux facteurs ayant à la fois des propriétés mesurées et statistiques.  
Cependant, un bon modèle d’endurance attendue du disque peut être donné comme suit :


     Endurance du disque = quantité totale de données pouvant être écrites, dans Écritures du disque
    Endurance de la cellule flash = nombre maximum de cycles de programme/effacement (P/E) pour l’architecture flash donnée
     STF = facteur de temps de stockage qui ajuste la durée de stockage
     AT = facteur d’accélération pour la température qui s’adapte à la température de stockage
    WAF = facteur d’amplification d’écriture qui ajuste l’efficacité de l’utilisation du flash

Différences dans les architectures flash

Les disques SSD utilisent généralement un flash NAND pour stocker des données dans des cellules composées de transistors à grille flottante.  La quantité des charges stockées dans chaque cellule détermine la valeur des données.  Tant que la charge est suffisante pour déterminer l’état de la cellule ou peut être corrigée grâce à l’utilisation de codes de correction d’erreur (ECC), l’intégrité des données est maintenue.  Le nombre de bits de données stockés dans chaque cellule ainsi que le nombre de fois où cette cellule peut être écrite est déterminé par la structure utilisée par le périphérique de mémoire flash.

 

Architecture flash Couches de cellules Bits par cellule Nombre d’états de tension de cellule Endurance des cellules1 (cycles P/E)
Planar SLC 1 1 2 ~100 000
Planar MLC 1 2 4 ~3 000
Planar eMLC/iMLC/pSLC 1 1 2 ~20 000
Planar TLC 1 3 8 <1 000
Vertical SLC Varie, 64 typique 1 2 TBD2
Vertical MLC Varie, 64 typique 2 4 TBD2

1L’endurance suppose plus de 1 an de conservation des données à 40 °C de stockage à la fin de la vie de la cellule.

2 Les flashs Vertical SLC et MLC devraient être similaires au planar flash en matière d’endurance. 

Endurance de la cellule flash 

L’endurance des cellules est décrite comme le nombre de cycles de programme/effacement (P/E) qu’une cellule flash peut subir avant que les données ne soient plus suffisamment conservées et que la cellule devienne non fiable.  Chaque fois qu’une cellule flash est écrite (un cycle P/E), la couche d’oxyde de la cellule est légèrement dégradée.  Au fur et à mesure que cette couche s’affaiblit sous la contrainte des cycles P/E, il devient plus facile pour la charge stockée de fuir et la capacité de la cellule à conserver les données est réduite.

Conservation des données flash

Le niveau de charge dans chaque cellule doit être maintenu dans certains seuils pour maintenir l’intégrité des données.  Malheureusement, les charges fuient des cellules flash au fil du temps et si trop de charges sont perdues, les données stockées seront également perdues.  


En fonctionnement normal, le firmware du disque flash actualise régulièrement les cellules pour restaurer la charge perdue.  Cependant, lorsque le flash n’est pas alimenté, l’état de charge se dégrade naturellement avec le temps.  Le taux de perte de charge et la sensibilité du flash à cette perte sont influencés par la structure du flash, le degré d’usure du flash (nombre de cycles P/E effectués sur la cellule) et la température de stockage.  Les spécifications d’endurance des cellules flash supposent généralement une durée de conservation des données minimale de 12 mois à la fin de la durée de vie du disque.  


Pour d’autres durées, un facteur du temps de stockage (STF) peut être utilisé pour ajuster l’équation de l’endurance du disque.   Le STF est mesuré en tant que rapport du temps par rapport aux 12 mois standard.  Par exemple, si une durée de stockage de 36 mois est souhaitée, le STF serait de 3 (36 mois/12 mois).  Les valeurs STF pour diverses durées de stockage sont répertoriées ci-dessous :

Durée de stockage STF
1 mois 0,08
3 mois 0,25
6 mois 0,5
1 an 1
3 ans 3
5 ans 5
10 ans 10

 

Conservation des données et température de stockage

Alors que la température de fonctionnement et les températures hors fonctionnement (stockage) ont une incidence sur la conservation des données, la température hors fonctionnement a des répercussions beaucoup plus importantes lors du calcul de l’endurance du disque.  


Des températures de stockage plus basses augmentent la durée de conservation des données tandis que des températures de stockage plus élevées la réduisent considérablement.  Par exemple, l’augmentation de la température de stockage de 40 °C à 70 °C peut réduire l’endurance du disque de plus d’un ordre de grandeur, ce qui se traduit par une conservation des données pour un disque en fin de vie de quelques semaines au lieu d’une année complète.


Le facteur d’accélération de la température (AT) peut être employé pour ajuster la température de stockage.  Il s’agit d’un dérivé de la loi d’Arrhenius et peut être résumé par le tableau suivant :

Température de stockage (°C) AT
25 0,13
30 0,26
40 1
55 6,4
70 35
85 168

Pour plus d’informations sur l’incidence de la température sur l’endurance flash et la durée de conservation des données, et sur la façon dont l’AT est calculé, consultez Effets de la température sur l’endurance du disque SSD. 

Facteur d’amplification d’écriture et charges de travail des données

La mémoire flash est rarement parfaitement utilisée et il existe généralement une certaine inefficacité entraînant une accélération de l’usure du disque.  Le facteur d’amplification d’écriture (WAF) est une représentation de l’efficacité avec laquelle le flash est utilisé, où plus le WAF est élevé, plus l’efficacité est faible.  Plusieurs facteurs entrent en jeu pour déterminer le WAF, dont certains sont déterminés par l’application :

  • Taille des données écrites (alignement avec la taille de bloc flash)
  • Comment les données sont écrites (écritures aléatoires ou séquentielles)
  • Type d’algorithme de nivellement d’usure utilisé (contrôlé par le firmware du disque)

En général, les écritures séquentielles plus grandes sont plus efficaces que les écritures aléatoires plus petites.  Bien qu’il n’y ait pas de formule définie pour définir un WAF pour les applications industrielles ou intégrées, les normes de charge de travail des applications JEDEC peuvent être utilisées comme proxy (voir JEDEC JESD218 et JESD219 pour plus de détails).  Enterprise représente une variété de tailles de fichiers avec des données aléatoires, contrairement à Client

En outre, le WAF sera affecté par la façon dont le firmware du disque gère l’utilisation du flash grâce à un nivellement de l’usure et une gestion intelligente des blocs.  Étant donné que le WAF dépend fortement de la charge de travail de l’application et du firmware du disque, une « règle générale » de WAF = 4 est également parfois utilisée.  

Charge de travail Type d’accès WAF typique
Enterprise (JESD219) Données aléatoires stockées sur le disque SSD ~15
« Règle générale » Mélange de données aléatoires et séquentielles utilisées comme approximation du WAF quand aucun autre modèle n’est disponible 4
Client (JESD219) Typique des ordinateurs portables grand public, principalement composés des écritures séquentielles volumineuses (par exemple, photos, musique) avec quelques accès aléatoires plus petits ~2
« Écritures entièrement séquentielles » Toutes les écritures sont effectuées en séquence avec des fichiers volumineux ~1

Une détermination plus précise du WAF peut être effectuée par une mesure directe des performances du disque. Un WAF pour un flash donné et un cas d’utilisation d’application peut être calculé en exécutant une application pendant quelques heures et en mesurant la quantité réelle de données écrites sur le disque et le nombre de cycles P/E effectués.  Étant donné l’incidence du WAF sur l’endurance du disque, il est fortement recommandé que les applications soient profilées pour déterminer leur WAF. 

 

Calcul de l’endurance du disque 

L’endurance du disque peut être déterminée une fois que l’endurance de la cellule flash, le facteur de temps de stockage, le facteur d’amplification de la température et les facteurs d’amplification d’écriture sont connus.  


Retenez la formule d’endurance du disque :

Exemple 1

Disque SSD SLC de 64 Go avec une température hors fonctionnement (stockage) de 40 °C avec enregistrement des données en continu (écritures séquentielles) avec 1 an de conservation des données souhaitée.  L’endurance de la cellule flash SLC est de 100 000 cycles P/E, le STF et l’AT sont tous deux de 1 (puisque nous sommes à une référence de 1 an à 40 °C), et le WAF est de 1 pour le modèle « Écritures entièrement séquentielles ».

Nombre total d’octets écrits avant la fin de la vie = 64 Go x 100 000 écritures de disque = 6 400 Tb

Exemple 2

Disque SSD SLC de 64 Go avec une température hors fonctionnement (stockage) de 55 °C avec enregistrement des données en continu (écritures séquentielles) avec 1 an de conservation des données souhaitée.  L’endurance de la cellule flash SLC est de 100 000 cycles P/E, le STF est de 1, l’AT est de 6,4 pour 55 °C et le WAF est de 1 pour le modèle « Écritures entièrement séquentielles ».

Nombre total d’octets écrits avant la fin de la vie = 64 Go x 15 614 écritures de disque = 1 000 Tb

Exemple 3

Disque SSD eMLC de 128 Go avec une température hors fonctionnement (stockage) de 55 °C avec un profil d’écriture inconnu avec 24 mois de conservation des données souhaitée. L’endurance des cellules flash eMLC est de 20 000 cycles P/E, le STF est de 2 (24/12 mois), l’AT est de 6,4 pour une température de stockage de 55°C et le WAF est de 4 en utilisant le modèle « règle générale ».

Nombre total d’octets écrits avant la fin de la vie = 128 Go x 390 écritures de disque = 50 Tb

Exemple 4 

Disque SSD MLC de 480 Go doté d’une température hors fonctionnement (stockage) de 70 °C avec enregistrement des données en continu (écritures séquentielles) et ayant trois mois de conservation des données souhaitée.  L’endurance de la cellule flash MLC est de 3 000 cycles P/E, STF est de 0,25 (3/12 mois), AT est de 35 pour une température de stockage de 70 °C et WAF est de 1 pour le modèle « Écritures entièrement séquentielles ».

Nombre total d’octets écrits avant la fin de la vie = 480 Go x 342 écritures de disque = 164 Tb

Utilisation des spécifications d’endurance de la fiche technique 

La formule d’endurance du disque peut être utilisée pour ajuster les spécifications du disque en fonction des facteurs environnementaux et de performance de votre application.  


Malheureusement, il n’existe pas de méthode cohérente pour spécifier l’endurance du disque.  Certaines fiches techniques énumèrent simplement la capacité du disque et la technologie flash, tandis que d’autres fiches techniques répertorient les spécifications particulières à l’endurance du disque dans des conditions de test spécifiques. Ces spécifications peuvent compter la température de stockage et la durée de conservation des données utilisées pour le calcul. Souvent ces informations ne sont pas explicitement indiquées.  Si non spécifié, un stockage à 40 °C et un an de conservation des données peuvent être supposés.  


Exemple

La fiche technique du disque répertorie les spécifications comme suit :

Type de flash SLC
Capacité du disque 64 Go
Endurance : nombre total d’octets écrits (Enterprise) 500 Tb
Endurance : nombre total d’octets écrits (Client) 3 855 Tb

L’application cible a une température de stockage de 55 °C, avec 1 an de stockage prévu. Elle est utilisée de manière similaire à celle d’un périphérique de stockage grand public.  


Nous pouvons analyser la fiche technique et déterminer qu’avec le SLC (100 000 cycles P/E), le WAF effectif pour Enterprise et Client est respectivement de 12,8 et 1,7.   Étant donné que l’application cible est similaire à un périphérique grand public, nous pouvons utiliser le client WAF de 1,7 et la spécification d’endurance correspondante de 3 855 Tb (ou 60 000 écritures du disque).  


Ensuite, nous devons ajuster la température et la durée de stockage.  Cet ajustement peut être fait au moyen de l’équation suivante :

L’endurance spécifiée est de 3 855 Tb avec un stockage supposé à 40 °C (ATSPEC = 1), une durée d’un an (STFSPEC = 1) et un WAF SPEC de 1,7.  L’application cible est un stockage à 55 °C (ATADJ = 6,4), une durée d’un an (STFADJ = 1) et un WAFADJ de 1,7.  Les résultats nous donnent notre spécification d’endurance de disque ajustée de :