Как я могу проверить целостность чтения / записи компактного флэш-устройства?
У меня есть куча компактных флэш-карт, которые я активно использовал в качестве профессионального фото и видео.
Я обеспокоен тем, что один из них работает плохо, так как я вижу, что файлы (чаще всего видео, но иногда фото) становятся поврежденными по причине, которую трудно предсказать. Я абсолютно уверен, что это не связано с размонтированием карты перед ее извлечением - повреждение видно сразу после правильного извлечения карты из камеры.
Проблема в том, что я не знаю, какая карта является проблемной, и проблема кажется неустойчивой, поэтому я не могу просто снять их полностью и найти плохой файл (а повреждение не всегда очевидно даже тогда - если плохие биты находятся в части данных файла, это может быть неочевидно). Проблема достаточно редкая, и я не могу надежно воспроизвести ее (кроме случаев, когда есть клиент с заданием, файлы которого абсолютно, безусловно, не могут быть потеряны - тогда он обязательно ударит).
Я мог бы получить их все по гарантии (все они 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. Эта ссылка просто на обзор с красивым скриншотом (реальный сайт на русском)
Я не использовал его лично, но если предположить, что скриншоты / обзоры являются законными, это кажется разумным способом тестирования флэш-накопителей.