Как я могу проверить карту памяти на производительность и плохие сектора? - Фотопедия
10 голосов
/ 27 ноября 2010

Я только что купил новую CF-карту для своей зеркальной фотокамеры. Я протестировал его с помощью Xbench (Mac OS X), и он работает как положено. Тем не менее, я хотел бы сделать «сканирование поверхности» (термин «подвижный диск»), чтобы проверить наличие «плохих секторов» (термин «подвижный диск»). Я мог бы написать сценарий процессов, используя dd, но у меня есть ощущение, что есть лучший выход. Моя цель - окончательно узнать, что карта памяти (CF, SD и т. Д.) Безопасна для использования во время фотосессии, и ее не нужно возвращать до истечения 30-дневного окна политики поставщика.

Я определенно хочу, чтобы решения для Mac давались здесь. Я также хотел бы получить несколько предложений по Linux. Давайте даже бросим кость пользователям Windows только для того, чтобы этот один вопрос мог удовлетворить потребности каждого.

Ответы [ 5 ]

8 голосов
/ 27 ноября 2010

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

И все же вы не поймете неисправные регионы, поскольку они также скрыты контроллером, пока у него есть запасные части.

6 голосов
/ 27 ноября 2010

Флэш-память не работает так же, как диски с пластинами. Понятие «плохой сектор» на самом деле не существует с флэш-памятью. В наши дни, благодаря флэш-памяти и твердотельным накопителям, встроенный контроллер заботится об идентификации и выделении неиспользуемых блоков памяти, динамическом перемещении данных, чтобы уменьшить ограничения на запись блоков и т. Д. Эти функции гораздо более распространены в твердотельных накопителях, но некоторые также существуют в качественных флеш-картах (таких как SanDisk).

Большинство инструментов проверки файловой системы либо делают конкретные предположения о физической структуре запоминающего устройства (т. Е. Основанные на пластинах, с физическими цилиндрами, секторами, кластерами и т. Д.), Либо работают на абстрактном уровне и производят ремонт "виртуально", используя таблицы файлов или каталогов. Вам понадобится инструмент, специально предназначенный для маркировки поврежденных блоков на устройстве флэш-памяти, поскольку все остальное либо вызовет больше проблем (если предположить, что оно может решить проблемы так же, как с устройством на основе диска), либо создаст виртуальный исправления, не учитывающие динамические аппаратные функции флэш-памяти. Даже если бы вы могли пометить определенный «сектор» или «кластер» как «плохой», это не обязательно принесет пользу, так как эти физические понятия фактически не существуют во флэш-памяти. Если устройство флэш-памяти является более продвинутым и динамически перемещает данные для автоматического обхода поврежденных блоков и уменьшения ограничений на запись, физическое расположение данных может находиться в плохом блоке в одно мгновение, а в хорошем - мгновение спустя. (Обратите внимание, что идея «плохого» блока во флэш-памяти гораздо более размыта, чем с дисководами… блок флэш-памяти имеет тенденцию умирать медленно, а не внезапно, и может «мерцать» между читаемым / не читаемым немного, прежде чем он станет совершенно непригодным для использования.)

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

Если вы хотите избежать плохих флеш-карт, я настоятельно рекомендую использовать авторитетные бренды. В прошлом я пробовал разные флеш-карты, однако SanDisk - это единственный бренд, который я использовал, и который, по крайней мере на сегодняшний день, никогда не подводил. У меня есть несколько SDHC-карт емкостью 4, 8 и 16 гигабайт, которые я использую довольно интенсивно, и регулярно вынимаю их из камеры и вставляю в ноутбук или компьютер, и они все еще работают отлично. (Некоторым несколько лет.)

3 голосов
/ 27 ноября 2010

В Linux вам нужна команда badblocks. Похоже, что это порт для Mac OS X как часть этого порта ext2-for-os-x - установите все это и игнорируйте все, кроме команды /usr/local/sbin/badblocks.

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

1 голос
/ 13 августа 2014

Читая ваш комментарий под вопросом, я считаю F3 делает именно то, что вы хотите. Он компилируется в Linux / Mac OS X и также доступен через Homebrew.

0 голосов
/ 27 октября 2013

Я нашел это в Google, я не использую SD-карты для хранения камер, но вместо этого я получил полностью поврежденный sdhc sandisk класса 10 32 гига после менее чем двухлетнего использования на моей Samsung Galaxy S2.

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

...