Как я могу проверить целостность чтения / записи компактного флэш-устройства?

У меня есть куча компактных флэш-карт, которые я активно использовал в качестве профессионального фото и видео.

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

Проблема в том, что я не знаю, какая карта является проблемной, и проблема кажется неустойчивой, поэтому я не могу просто снять их полностью и найти плохой файл (а повреждение не всегда очевидно даже тогда - если плохие биты находятся в части данных файла, это может быть неочевидно). Проблема достаточно редкая, и я не могу надежно воспроизвести ее (кроме случаев, когда есть клиент с заданием, файлы которого абсолютно, безусловно, не могут быть потеряны - тогда он обязательно ударит).

Я мог бы получить их все по гарантии (все они Sandisk с пожизненной гарантией), но я бы предпочел этого не делать (как мне оправдать отправку партии из 5 карт? Что я буду использовать в течение месяца, в течение которого они пропали)?).

Я ищу инструмент, который исправит их. В частности, мне нужно что-то, что будет выполнять цикл записи / чтения / записи / чтения для всей карты и в идеале делать полный формат, чтобы удалить все плохие биты, а также сообщить мне статус (является ли одна карта особенно плохой? все остальные совершенно нормально? какой уровень ошибок я вижу на общих основаниях?).

Я знаю о badblocks инструмент, но надеялся найти что-то более приспособленное к CF (и которое, я надеюсь, позволило бы мне вычеркнуть плохие области из использования, если это всего лишь несколько бит). Я бы предпочел инструмент без окон, если это возможно.

Кто-нибудь еще решил эту проблему без простой замены ваших устройств? Некоторые из карт подозреваемых являются довольно новыми.

2 ответа

Вероятно, есть лучшие инструменты, но если вы хотите просто и бесплатно, то вам нужен dd.

Предполагая, что у вас не Windows, это что-то вроде Linux или Unix, и ваши карты не содержат никаких данных, которые вы хотите сохранить, тогда вы можете попробовать это:

Смонтируйте CF-карту в вашем ридере и получите имя ее устройства. Я собираюсь предположить, что это /dev/CF для целей этого ответа. Войдите в систему как root.

Написать карточку полной со случайными данными

dd if=/dev/random of=/dev/CF bs=1k

Вы можете сделать это пару раз (сколько зависит от вас), и если он получит сообщение об ошибке, прежде чем завершит всю карту, то это проблема с картой.

Вы можете проверить функцию чтения карты следующим образом:

dd if=/dev/CF of=/dev/null bs=1k

Следует читать всю карту без ошибок.

Когда вы закончите, вы захотите переформатировать карту. Сначала напишите карту, полную нулей, чтобы затем ее можно было отформатировать в вашей камере:

dd if=/dev/zero of=/dev/CF bs=1k   

Это должно написать всю карту без ошибок.

Мое личное мнение, что если вы получаете какие-либо ошибки, то RMA карту. Я бы не стал повторно использовать его, повторно сопоставив плохие блоки.

Имейте в виду, что даже если карты проходят тесты, это не означает, что они гарантированно хороши. Это МОЖЕТ означать периодическую ошибку, которая занимает немного больше времени, чем вы думали, чтобы показать себя. С другой стороны, в случае неудачи у вас есть некоторые данные, на которых можно основывать свое решение RMA, и некоторая подтверждающая документация, чтобы предоставить Sandisk для обоснования RMA.

Если у вас есть доступ к машине с Windows, вы можете попробовать Check Flash. Эта ссылка просто на обзор с красивым скриншотом (реальный сайт на русском)

Я не использовал его лично, но если предположить, что скриншоты / обзоры являются законными, это кажется разумным способом тестирования флэш-накопителей.

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