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


9

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

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

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

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

Ответы:


8

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

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


2

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

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


Ну, это отстой. Не очень хорошая абстракция тогда ...
— Пиролистический

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

1

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


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

Пишите ошибки. Что еще вы ожидаете?
— TomTom
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.