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

9

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

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

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

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

Pyrolistical
источник

Ответы:

8

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

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

Мэтт Дж
источник
2

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

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

Милан Бабушков
источник
Ну, это отстой. Не очень хорошая абстракция тогда ...
Пиролистический
1
И неправильно. В первую очередь это происходит в самом SSD, а не в драйвере устройства. Потому что это нормальные операции. При выравнивании износа сектор будет записан как неисправный и переназначен сектор.
TomTom
1

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

Свен
источник
Да, но я вижу, что механический HD механически выходит из строя, прежде чем они исчерпают зарезервированные сектора. SSD, однако, не может. Что происходит, когда на диске заканчивается зарезервированный сектор?
Пиролистический
Пишите ошибки. Что еще вы ожидаете?
TomTom