Comment les disques SSD tombent-ils en fin de vie?

9

Disons qu'un SSD MLC a duré très longtemps et que la première cellule a atteint son dernier cycle d'effacement et refuse de l'effacer.

Que se passe-t-il après cela? Le contrôleur détecte-t-il cela comme un mauvais bloc et passe au suivant et essaie de l'effacer à la place? La capacité totale du lecteur diminuerait-elle lentement au fil du temps?

ÉDITER

Et bien sûr, nous pouvons oublier le nivellement de l'usure. Oui, cela prolonge la durée de vie d'un lecteur, mais je ne parle pas de cela. Finalement, une cellule atteindra son dernier cycle d'effacement.

Pyrolistique
la source

Réponses:

8

Les puces flash NAND ont des mécanismes intégrés pour détecter les échecs lors des opérations d'écriture et d'effacement et alertent le contrôleur en cas de défaillance. Dans ce cas, le contrôleur peut soit réessayer, soit traiter ce bloc comme mauvais et le mapper hors de son algorithme de niveau d'usure. Chaque page du périphérique NAND possède également une zone de réserve à côté de la zone de données principale, qui est destinée aux métadonnées telles que l'ECC et d'autres formes de détection et de tolérance aux pannes. Le contrôleur peut décider de son propre schéma de tolérance aux pannes à l'aide de la zone de réserve. Les codes de Hamming sont un schéma commun, bien qu'il en existe plusieurs, y compris les bits de parité simples et les codes Reed-Solomon. Si les choses ne correspondent pas à une opération de lecture, encore une fois, le contrôleur est libre de faire ce qu'il veut. Idéalement, il faudrait également mapper ces blocs hors de l'algorithme de nivellement de l'usure, et vous perdriez simplement la capacité petit à petit jusqu'à ce que «trop» de blocs échouent, où «trop» dépend des algorithmes et des tailles de structure matérielle dans le contrôleur. De nombreux modèles de contrôleurs de première génération déclarent simplement une erreur au système d'exploitation.

Notez que ce n'est pas un problème spécifique au MLC; bien que les cellules MLC puissent être plus sujettes à une erreur de lecture, car la marge d'erreur est nécessairement plus petite, les cellules SLC échouent avec principalement les mêmes mécanismes et peuvent être traitées par le contrôleur de la même manière.

Matt J
la source
2

Tout comme avec les disques durs, c'est à la mise en œuvre dans le système d'exploitation. Le contrôleur signale simplement que l'écriture (l'effacement est en fait une opération d'écriture) a échoué et c'est au pilote devide du noyau du système d'exploitation de décider quoi faire. D'après ce que j'ai vu jusqu'à présent, les implémentations Microsoft et Linux renvoient simplement le code d'erreur à l'application appelante - ce qui génère une erreur d'E / S.

En bref: vous obtenez simplement un appareil "cassé" à un moment donné.

Milan Babuškov
la source
Eh bien, ça craint. Pas une très bonne abstraction alors ...
Pyrolistical
1
Et mal. Cela est principalement géré dans le SSD lui-même - pas dans le pilote de périphérique. Parce que ce sont des opérations normales. Le nivellement d'usure enregistrera le secteur comme ayant échoué et remappera le secteur.
TomTom
1

Les disques SSD utilisent ce que l'on appelle le «nivellement de l'usure», où le disque conserve une statistique sur l'utilisation du secteur et à un moment donné ou lorsqu'il détecte des problèmes, il déplacera le secteur vers un secteur de réserve, tout comme cela arrive avec les disques durs ordinaires.

Sven
la source
Oui, mais je vois que la HD mécanique échoue mécaniquement avant de manquer de secteurs réservés. Cependant, le SSD pourrait ne pas l'être. Que se passe-t-il lorsqu'un lecteur manque de secteurs réservés?
Pyrolistical
Écrivez des erreurs. À quoi d'autre vous attendez-vous?
TomTom