Микросхемы флэш-памяти NAND имеют некоторые встроенные механизмы для обнаружения сбоев при операциях записи и стирания и будут предупреждать контроллер в случае сбоя. В этом случае контроллер может либо повторить попытку, либо обработать этот блок как плохой и отобразить его в своем алгоритме выравнивания износа. Каждая страница в устройстве NAND также имеет запасную область рядом с основной областью данных, которая предназначена для метаданных, таких как ECC и других форм обнаружения ошибок и допусков. Контроллер может выбрать свою собственную схему отказоустойчивости, используя запасную область. Коды Хэмминга - одна общая схема, хотя их несколько, включая простые биты четности и коды Рида-Соломона., Если что-то не совпадает с операцией чтения, опять же, контроллер может делать все, что пожелает. В идеале это также отобразило бы эти блоки из алгоритма выравнивания износа, и вы просто понемногу теряли бы емкость, пока не вышло бы из строя «слишком много» блоков, где «слишком много» зависит от алгоритмов и размеров аппаратной структуры в контроллере. Многие первоклассные контроллеры просто сообщают об ошибке операционной системе.
Обратите внимание, что это не специфичная для MLC проблема; хотя ячейки MLC могут быть более склонны к ошибке чтения, поскольку для ошибки обязательно есть меньший запас, ячейки SLC в большинстве случаев терпят неудачу с использованием тех же механизмов и могут обрабатываться контроллером таким же образом.
В твердотельных накопителях используется так называемое «выравнивание износа», когда накопитель хранит статистику об использовании сектора и в какой-то момент или при обнаружении проблем перемещает сектор в резервный, как это происходит с обычными жесткими дисками.
источник