Fiabilité du flash: attendue et inattendue. Partie 1. XIV conférence de l'association USENIX. Technologies de stockage de fichiers

Étant donné que les disques SSD basés sur flash deviennent le principal moyen de stockage permanent des informations dans les centres de données, il est important de réaliser à quel point ils sont fiables. À ce jour, un grand nombre d'études en laboratoire sur des puces de mémoire flash utilisant des tests synthétiques ont été menées, mais il n'y a pas suffisamment d'informations sur leur comportement sur le terrain. Cet article est consacré aux résultats d'une étude de terrain à grande échelle couvrant des millions de jours d'utilisation de disques durs, 10 modèles différents de disques SSD, diverses technologies de mémoire flash (MLC, eMLC, SLC) et plus de 6 ans d'utilisation opérationnelle dans les centres de données Google.



Nous avons examiné un large éventail de caractéristiques de fiabilité de ces appareils et sommes parvenus à un certain nombre de conclusions inattendues. Par exemple, lorsqu'un disque s'use, le taux d'erreur sur les bits (RBER) augmente à un rythme beaucoup plus lent que l'indique l'indicateur exponentiel et, plus important encore, il ne permet pas de prédire la survenue d'erreurs non corrigibles ou d'autres types d'erreurs.

La métrique UBER (Unrecoverable Bit Error Rate) largement utilisée n'est pas un indicateur significatif de fiabilité, car nous n'avons pas vu la relation entre le nombre de lectures et le nombre d'erreurs non corrigibles. Nous n'avons également trouvé aucune preuve que pendant la durée de vie normale du SSD, les disques basés sur l'architecture SLC à un niveau sont plus fiables que les disques MLC. Par rapport aux disques durs traditionnels, la fréquence de remplacement des SSD basés sur flash est beaucoup plus faible, mais ils ont un niveau de correction d'erreur plus élevé.

1. Introduction


La popularité de l'utilisation de lecteurs flash à semi-conducteurs basés sur la technologie NAND dans les centres de données ne cesse de croître. Plus il y a de données sur un tel disque, plus la sécurité et la disponibilité des informations dépendent de la fiabilité du lecteur flash lui-même. Bien que les avantages de performances des disques SSD par rapport aux disques durs soient bien connus, les caractéristiques de défaillance des lecteurs flash ne sont pas bien comprises.

Les données fournies par les fabricants de mémoires flash ne contiennent que de vagues garanties, telles que le nombre de cycles d'effacement jusqu'à ce que l'appareil soit complètement usé. Une compréhension typique du problème est basée sur des études qui étudient la fiabilité des lecteurs flash en menant des expériences de laboratoire contrôlées (par exemple, des tests de durabilité accélérés). Dans le même temps, un petit nombre d'appareils sélectionnés au hasard sont utilisés pour tester les effets des charges de travail synthétiques. Il y a un manque de recherche établissant un lien entre les résultats des tests de laboratoire et les caractéristiques de fiabilité des lecteurs flash qui fonctionnent en conditions réelles.

Cet article fournit les résultats détaillés d'une étude sur le terrain de la fiabilité des lecteurs flash, basée sur des données collectées sur 6 ans de leur fonctionnement dans les centres de données Google. Ces données couvrent des millions de jours de fonctionnement du disque (le nombre exact de disques et d'appareils qui les utilisent est confidentiel par Google, nous ne pouvons donc pas fournir de chiffres exacts. Cependant, nous avons pu vérifier la signification statistique des données qui nous sont fournies), dix modèles différents de lecteurs flash, divers flash -technologies (MLC, eMLC et SLC) avec technologie de puce de 24 à 50 nm.

Nous avons utilisé ces données pour mieux comprendre la fiabilité opérationnelle de la mémoire flash. En particulier, nous avons analysé ces aspects de la fiabilité des appareils:

  1. Différents types d'erreurs qui se produisent dans la mémoire flash et la fréquence de leur apparition sur le terrain (section 3).
  2. Taux d'erreur sur les bits (RBER), l'influence de facteurs tels que l'usure, l'âge du lecteur et la charge de travail, ainsi que la relation entre le RBER et d'autres types d'erreurs (section 4).
  3. Erreurs irrécupérables, leur fréquence et l'influence de divers facteurs sur celles-ci (section 5).
  4. Caractéristiques sur le terrain de divers types de pannes d'équipement, y compris les pannes complexes, les pannes de puces et la fréquence des réparations et des disques de remplacement (section 6).
  5. 5. Comparaison de fiabilité de diverses technologies flash (disques MLC, eMLC, SLC) (section 7) et comparaison de fiabilité SSD et HDD (section 8).

Nous nous sommes assurés que notre analyse révèle un certain nombre d'aspects de la fiabilité de la mémoire flash sur le terrain, qui diffèrent des conclusions tirées dans les travaux précédents. Nous espérons que nos travaux serviront d'incitation à de nouvelles recherches dans ce domaine.


Tab. 1. Caractéristiques des modules ayant participé aux tests sur le terrain.

2. Informations générales sur les données et les systèmes


2.1. Lecteurs flash


Nos recherches ont porté sur des disques SSD série hautes performances basés sur des puces flash produites industriellement, mais nous avons utilisé une interface PCIe personnalisée, un firmware personnalisé et un pilote. Nous nous sommes concentrés sur 2 générations de disques, où tous les disques de la même génération utilisent le même pilote de périphérique et le même firmware. Cela signifie qu'ils utilisent également les mêmes codes de correction d'erreur (ECC) pour détecter et réparer les bits endommagés et les mêmes algorithmes pour déterminer le degré d'usure. La principale différence entre les modèles de lecteurs de la même génération est le type de puce mémoire utilisé.

Notre étude s'est concentrée sur 10 modèles de disques, dont les principales caractéristiques sont présentées dans le tableau 1. Nous avons sélectionné des modèles de quatre fabricants, chacun fonctionnant pendant plusieurs millions de jours, en utilisant les trois types de mémoire flash les plus courants (MLC, SLC, eMLC).

2.2. Données utilisées


Nous avons utilisé les données de la surveillance quotidienne du fonctionnement des lecteurs flash sur le terrain sur une période de 6 ans de fonctionnement. De plus, divers types d'erreurs ont été comptés quotidiennement, des statistiques sur la charge de travail ont été compilées, y compris le nombre d'opérations d'écriture et d'effacement, et le nombre de blocs défectueux survenus pendant la journée a été calculé. Le nombre d'opérations de lecture, d'écriture et d'effacement comprenait à la fois le nombre d'opérations utilisateur et le nombre d'opérations internes de «récupération de place». Des enregistrements ont également été utilisés pour enregistrer des cas de défaillance de puce, ainsi que des cas de réparation ou de remplacement de SSD.

3. La prévalence de divers types d'erreurs


Commençons par quelques statistiques de base sur la fréquence d'occurrence de divers types d'erreurs sur le terrain. Nous mettons en évidence les erreurs transparentes invisibles pour l'utilisateur et les erreurs opaques qui conduisent à l'échec des opérations de l'utilisateur. Le pilote du lecteur flash signale les types d'erreurs transparentes suivants:

Erreur corrigible: pendant une opération de lecture, l'erreur détectée est corrigée par la fonction de correction d'erreur ECC intégrée.

  • Erreur de lecture Erreur de lecture: une erreur qui se produit pendant le processus de lecture (pour la mémoire sans correction d'erreur non ECC), corrigée lors d'une lecture répétée;
  • Erreur d'écriture Erreur d'écriture: opération d'écriture d'erreur qui réussit après une nouvelle tentative.
  • Erreur d'effacement Erreur d'effacement: l'opération d'effacement dans le bloc échoue.

Les appareils signalent également les types d'erreurs opaques suivants:

  • Erreur non corrigible: pendant l'opération, il se produit plus de bits endommagés que ECC ne peut en réparer.
  • Erreur de lecture finale Erreur de lecture finale: une erreur qui s'est produite lors de la lecture n'est pas corrigée lors de tentatives répétées;
  • Erreur d'écriture finale Erreur d'écriture finale: une erreur qui s'est produite lors de l'écriture n'est pas corrigée lors de tentatives répétées;
  • Méta-erreur Méta-erreur: erreur d'accès aux métadonnées internes du disque.
  • Erreur de temporisation: l'opération s'interrompt au bout de 3 secondes.

Les erreurs fatales incluent les erreurs qui ont été détectées lors des opérations initiées par l'utilisateur ou des opérations internes de récupération de place, tandis que les erreurs de lecture finales incluent les erreurs qui se sont produites pendant les opérations utilisateur.

Veuillez noter que les erreurs varient en termes de gravité de l'impact. Outre la différence entre les erreurs transparentes et opaques, la gravité des erreurs opaques elles-mêmes change. En particulier, certaines de ces erreurs (erreur de lecture finale, erreur fatale, méta-erreur) entraînent une perte de données si le système n'a pas de redondance à des niveaux supérieurs, car le disque ne peut pas fournir à l'utilisateur des données qui ont été acceptées pour le stockage.

Nous avons considéré uniquement les disques mis en production il y a au moins 4 ans (les disques eMLC sont sortis il y a 3 ans, car il s'agit d'un nouveau type de lecteurs flash) et les erreurs survenues au cours des 4 premières années de fonctionnement. Le tableau 2 montre le pourcentage de disques de chaque modèle qui sont soumis à différents types d'erreurs si ces erreurs se sont produites au moins 1 fois (moitié supérieure du tableau), et le pourcentage de jours de fonctionnement pendant lesquels les disques ont été soumis à des erreurs d'un certain type (moitié inférieure du tableau).


Tab. 2. La prévalence de divers types d'erreurs. La moitié supérieure du tableau indique le pourcentage de disques affectés par des erreurs et la moitié inférieure indique le pourcentage de jours d'utilisation du disque au cours desquels divers types d'erreurs se sont produits.

3.1. Erreurs opaques


Nous pensons que les erreurs opaques les plus courantes sont les erreurs de lecture finales, c'est-à-dire les erreurs qui ne peuvent pas être corrigées par une opération de lecture répétée. Selon le modèle du lecteur, au moins 20 à 63% des périphériques présentent une telle erreur dans les 2 à 6 jours sur 1 000 jours de fonctionnement du disque.

Nous concluons que le nombre d'erreurs de lecture finales est fortement corrélé avec le nombre d'erreurs non corrigibles et que ces erreurs de lecture finales se produisent uniquement parce que l'endommagement des bits ne peut pas être corrigé en utilisant ECC. Pour tous les modèles de disques, les erreurs de lecture finales se produisent 2 fois plus souvent (si vous vous concentrez sur le nombre de jours d'utilisation des disques au moment où ces erreurs se sont produites) que tout autre type d'erreurs opaques.

Contrairement aux erreurs de lecture, les erreurs d'écriture se transforment rarement en erreurs opaques. Selon le modèle, seulement 1,5 à 2,5% des disques ont subi une erreur d'écriture finale dans les 1 à 4 jours sur 10000 jours de fonctionnement, soit opération d'écriture infructueuse qui n'a pas été corrigée après des tentatives répétées. Cette différence de fréquence des erreurs finales de lecture et d'écriture est probablement due au fait que l'opération d'écriture a échoué a été simplement corrigée en écrivant à un autre endroit sur le disque dans la zone avec les bits intacts. Ainsi, si l'échec de l'opération de lecture ne peut être causé que par la présence de plusieurs bits corrompus, l'erreur d'écriture finale indique un problème matériel plus important.

Les méta-erreurs se produisent à une fréquence comparable au taux d'erreurs d'écriture, mais encore beaucoup moins fréquemment que les erreurs de lecture finales. Cela n'est pas surprenant, étant donné que le disque contient beaucoup moins de métadonnées que la quantité de données réelles, ce qui réduit la fréquence d'accès aux métadonnées. Les autres erreurs opaques (erreurs de temporisation et erreurs de réponse) sont assez rares et, en règle générale, affectent moins de 1% des disques pendant 1 jour sur 100 000 jours de fonctionnement du disque.

3.2. Erreurs transparentes


Sans surprise, les corrections de bugs sont le type d'erreur transparente le plus courant. Presque tous les lecteurs ont au moins quelques erreurs corrigibles qui se produisent pendant la plupart des jours de fonctionnement du disque (61 à 90%). Les erreurs qui peuvent être corrigées plus en détail, y compris l'analyse du taux d'erreur sur les bits (RBER), sont décrites dans la section 4 de cet article.

Les types d'erreur transparente les plus courants suivants sont des erreurs d'écriture et d'effacement. Ils se produisent généralement dans 6 à 10% des disques, mais pour certains modèles, les SSD atteignent jusqu'à 40 à 68%. Dans la plupart des cas, ces erreurs se produisent en moins de 5 jours sur 10 000 jours de fonctionnement. Selon nos recherches, les erreurs d'écriture et d'effacement indiquent des dommages à l'unité, ce problème est abordé en détail dans la section 6.

Les erreurs qui se produisent pendant les opérations de lecture sont moins courantes que les erreurs transparentes, probablement parce que, outre la correction des erreurs à la volée à l'aide d'ECC, ce problème n'est pas résolu par des opérations répétées. Les erreurs de lecture incomplètes, c'est-à-dire les erreurs de lecture qui peuvent être corrigées par des tentatives répétées, se produisent dans moins de 2% des lecteurs et durent moins de 2 à 8 jours sur 100 000 jours de fonctionnement du disque.

Par conséquent, en plus des erreurs corrigibles qui se produisent dans un grand nombre de jours de fonctionnement du disque, les erreurs transparentes se produisent moins fréquemment que tous les types d'erreurs opaques. Les erreurs opaques les plus courantes sont les erreurs non corrigibles qui se produisent sur 2 à 6 jours sur 1 000 jours de fonctionnement du disque.

4. Taux d'erreur sur les bits (RBER)


La mesure standard pour évaluer la fiabilité des lecteurs flash est le taux d'erreur sur les bits (RBER) d'un disque, qui est défini comme le rapport entre le nombre de bits endommagés et le nombre de bits lus (y compris les cas d'erreurs corrigibles et non corrigibles).

La deuxième génération de variateurs (modèles eMLC-A et eMLC-B) fournit le nombre exact de bits endommagés et de bits de lecture, ce qui nous permet de déterminer le RBER avec une grande précision.
La première génération de lecteurs indique le nombre exact de bits lus, mais pour chaque page composée de 16 blocs de données, un rapport est fourni sur le nombre de bits endommagés uniquement du bloc de données qui avait le plus grand nombre de bits endommagés. Par conséquent, dans le pire des cas statistiques, lorsque tous les blocs contiennent des erreurs et que le nombre de ces erreurs est le même, le coefficient RBER peut être 16 fois plus élevé que le coefficient obtenu sur la base du rapport d'état du disque.

Ce problème n'a pas beaucoup d'importance lors de la comparaison entre les lecteurs de la même génération, mais il doit être pris en compte lors de la comparaison des lecteurs de différentes générations.


Tab. 3. Taux d'erreur binaire agrégé RBER pour divers modèles SSD.

4.1. Revue RBER de haut niveau


Le tableau 3 montre la valeur RBER médiane pour chaque modèle de lecteur pour tous les lecteurs de ce modèle, ainsi que les 95e et 99e centiles. Nous avons décidé de travailler avec des médianes et des centiles, car nous trouvons que les indicateurs moyens sont fortement biaisés en raison de plusieurs valeurs très distinctes, ce qui rend difficile l'identification de tendances.

Nous observons de grandes différences de RBER pour différents modèles de variateurs, allant de 5,8e-10 à plus de 3e-08 pour les variateurs de première génération. Ces différences sont encore plus importantes si l'on considère non pas la valeur RBER médiane, mais le 95e ou 99e centile. Par exemple, le 99e centile RBER varie de 2,2e-08 pour le modèle SLC-B à 2,7e-05 pour le modèle MLC-D. Il existe de grandes différences, même au sein de la ligne d'entraînement du même modèle: le lecteur RBER dans le 99e centile a tendance à être au moins un ordre de grandeur plus grand que le lecteur RBER médian du même modèle.

La différence RBER entre les modèles peut s'expliquer en partie par des différences dans la technologie flash sous-jacente. La valeur RBER pour les modèles MLC est plus élevée que pour les modèles SLC, donc le prix plus élevé des modèles SLC prend en compte la valeur RBER inférieure. Dans la section 5 de cet article, nous verrons comment ces différences se traduisent par des différences d'erreurs opaques visibles pour l'utilisateur.
Les modèles EMLC rapportent le RBER, qui est de plusieurs ordres de grandeur supérieur à celui des autres modèles d'entraînement. Même en tenant compte du fait que les entraînements RBER de première génération peuvent être 16 fois plus élevés dans le pire des cas, la différence existante dans les valeurs de coefficient est d'un ordre de grandeur plus grande. Nous supposons qu'il existe un facteur de taille, car les deux modèles eMLC ont des puces avec la lithographie microélectronique la plus faible par rapport à tous les autres modèles de lecteur.

Enfin, il n'y a pas de fabricants dont les produits présentent des avantages par rapport aux produits d'autres fabricants. Au sein du groupe de disques SLC et eMLC, le même fournisseur produit à la fois l'un des pires et l'un des meilleurs modèles du groupe.
En général, le RBER varie considérablement selon les modèles de disque, ainsi qu'entre les SDD du même modèle. Cela nous motive à poursuivre l'étude des facteurs qui influencent le RBER.

4.2. Quels facteurs influencent la valeur RBER


Dans cette section, nous examinerons l'effet sur le RBER d'un certain nombre de facteurs:

  • l'usure causée par les cycles de programme / effacement (PE);
  • l'âge physique, c'est-à-dire le nombre de mois pendant lesquels l'appareil a été utilisé sur le terrain, quels que soient les cycles d'EP;
  • la charge de travail, mesurée par le nombre d'opérations de lecture, d'écriture et d'effacement, ainsi que le nombre d'opérations sur la page qui pourraient potentiellement endommager les cellules de mémoire environnantes;
  • la présence d'autres types d'erreurs.

Nous avons étudié l'effet de chaque facteur sur le RBER de deux manières différentes. Nous avons utilisé des données visuelles visuelles en traçant l'influence des facteurs sur le RBER et étudié les indicateurs quantitatifs de l'influence en utilisant le coefficient de corrélation. Nous avons utilisé le coefficient de corrélation de rang de Spearman, car il peut couvrir des relations non linéaires monotones dans des méthodes non paramétriques, contrairement, par exemple, au coefficient de corrélation de Pearson.

Avant d'analyser les facteurs individuels en détail, nous avons compilé un graphique récapitulatif, comme le montre la figure 1.


Fig. 1. La dépendance du coefficient de corrélation de rang de Spearman entre la valeur RBER pendant le mois de fonctionnement du disque et d'autres facteurs.

Cela montre la relation entre le coefficient de corrélation de rang Spearman entre la valeur RBER pendant le mois de fonctionnement des disques et des facteurs tels que le nombre de cycles PE précédents, le nombre de lectures, écritures ou effacements ce mois-ci, la valeur RBER le mois précédent et le nombre d'erreurs non corrigibles (UE) dans mois précédent. Le coefficient de corrélation de rang de Spearman peut varier de -1 (forte corrélation négative) à +1 (forte corrélation positive).

Chaque groupe d'étiquettes montre les coefficients de corrélation entre RBER et un facteur particulier (voir interprétation sur l'axe X), et les différentes étiquettes de chaque groupe correspondent à différents modèles d'entraînement. Tous les coefficients de corrélation méritent une confiance supérieure à 95%.

Nous nous sommes assurés que tous les facteurs, à l'exception de la survenue d'erreurs fatales au cours du mois précédent, montrent une relation claire avec RBER, au moins pour certains modèles. Nous avons également attiré l'attention sur le fait que certaines de ces dépendances peuvent être fausses, car certains facteurs peuvent être en corrélation les uns avec les autres, nous avons donc examiné chaque facteur plus en détail dans la sous-section suivante.

4.2.1. RBER et usure

Étant donné que l'endurance de la cellule de mémoire flash est limitée, le coefficient RBER augmente avec l'augmentation des cycles de programme / effacement (PE). Les coefficients de corrélation élevés entre les cycles RBER et PE sur la figure 2 prouvent leur relation.


Fig. 2. La dépendance de la médiane et 95 pour cent de RBER sur le nombre de cycles d'EP.

2 95- RBER . , PE, 95- RBER .

, , RBER PE , 95- RBER. , , . : , , .

, RBER , , RBER PE. , MLC RBER PE, , PE (3,000 MLC), 4- RBER.

, , RBER , (., , MLC-D PE = 3000). , RBER 3- PE, , , PE.



, . ? ? Soutenez-nous en passant une commande ou en le recommandant à vos amis, une réduction de 30% pour les utilisateurs Habr sur un analogue unique de serveurs d'entrée de gamme que nous avons inventés pour vous: Toute la vérité sur VPS (KVM) E5-2650 v4 (6 cœurs) 10 Go DDR4 240 Go SSD 1 Gbps à partir de 20 $ ou comment diviser le serveur? ( RAID1 RAID10, 24 40GB DDR4).

Dell R730xd 2 ? 2 Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 $199 ! Dell R420 — 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB — $99! . c Dell R730xd 5-2650 v4 9000 ?

Source: https://habr.com/ru/post/fr470019/


All Articles