Как сбой SSD в конце жизни?

Допустим, MLC SSD прослужил очень долго, и первая ячейка достигла последнего цикла стирания и отказывается стирать.

Что происходит после этого? Контроллер обнаруживает, что это плохой блок, переходит к следующему и пытается вместо этого стереть его? Общая емкость накопителя будет постепенно уменьшаться со временем?

РЕДАКТИРОВАТЬ

И конечно мы можем забыть о выравнивании износа. Да, это продлевает срок службы диска, но я не говорю об этом. В конце концов, ячейка достигнет своего последнего цикла стирания.

3 ответа

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

Обратите внимание, что это не специфичная для MLC проблема; хотя ячейки MLC могут быть более склонны к ошибке чтения, поскольку для ошибки обязательно есть меньший запас, ячейки SLC в большинстве случаев терпят неудачу с помощью тех же механизмов и могут обрабатываться контроллером таким же образом.

Как и в случае с жесткими дисками, все зависит от реализации в операционной системе. Контроллер просто сообщит, что запись (стирание на самом деле является операцией записи) не удалась, и это зависит от драйвера devide в ядре операционной системы, чтобы решить, что делать. Из того, что я видел до сих пор, реализации Microsoft и Linux просто возвращают код ошибки вызывающему приложению, поэтому он выдает ошибку ввода-вывода.

Короче говоря: вы просто получаете "сломанное" устройство в какой-то момент.

В твердотельных накопителях используется так называемое "выравнивание износа", когда накопитель хранит статистику об использовании сектора, а в какой-то момент или при обнаружении проблем он перемещает сектор в резервный, как это происходит с обычными жесткими дисками.

Другие вопросы по тегам