Область основной загрузочной записи FAT32, вероятно, наиболее подвержена злоупотреблениям, поскольку на логическом уровне она всегда должна находиться в одном и том же месте. (Возможно, это происходит с помощью мягкого переназначения плохих секторов, но я несколько скептически отношусь к тому, что это реализовано на всех аппаратных средствах.) Таким образом, вы можете запустить sfdisk
цикл и посмотреть, сможете ли вы разрушить его таким образом.
Но я попрошу вас сделать все возможное для повышения надежности оборудования, вместо того, чтобы пытаться работать с плохим оборудованием в программном обеспечении. Проблема в том, что SD-карты выходят из строя разными способами. Они становятся нечитаемыми, они перезаписываются, дают неверные данные, они истекают во время операций и т. Д. Попытка предсказать все возможные ошибки карты очень трудна.
Вот одна из моих любимых ошибок, «режим больших данных»:
SD-карты - это потребительские товары широкого потребления. Части быстро меняются, и данные трудно найти. Поддельный товар не случайно. Что касается дешевого хранилища, то его сложно превзойти, но, хотя твердотельные накопители делают надежность надежнее, приоритет для SD-карт - скорость, емкость и стоимость (вероятно, не в таком порядке).
Ваша первая линия защиты - использовать съемную деталь eMMC с реальной таблицей данных от известного производителя вместо съемной SD-карты. Да, они стоят больше за ГБ, но часть будет в производстве в течение более длительного периода времени, и, по крайней мере, вы знаете, что вы получаете. Припайка детали также позволяет избежать целого ряда потенциальных проблем (срыв карт во время записи, плохой электрический контакт и т. Д.) Со съемной картой.
Если вашему продукту требуется съемное хранилище или уже слишком поздно что-либо менять, подумайте о том, чтобы потратить дополнительные деньги на карты «промышленного» класса или относиться к ним как к одноразовым предметам. Что мы делаем (под linux) - fsck
это карта при загрузке и переформатируем ее, если сообщается о каких-либо ошибках, так как переформатирование приемлемо в этом случае использования. Тогда мы fsck
это снова. Если после переформатирования он все еще сообщает об ошибках, мы отправляем его в RMA и заменяем аппаратное обеспечение более новым вариантом, использующим eMMC.
Удачи!