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.
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.
la source