Как я могу проверить карту памяти на производительность и плохие сектора?

10

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

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

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

Ответы:

8

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

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

Леонидас
источник
6

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

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

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

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

Йриста
источник
1
Плохие блоки могут существовать с любым блочным устройством: если я записываю некоторые данные в определенный блок, но не могу их прочитать, это плохой блок. Контроллер может скрыть эту проблему для записи, записывая данные в другом месте, но не для чтения.
Ваддади Картик
3

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

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

Пожалуйста, прочитайте мой профиль
источник
1

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

Сэм Брайтман
источник
-1

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

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

user172681
источник
не могли бы вы уточнить свой ответ? На основании быстрого поиска, я думаю, "badblocks" - это программа для Linux? Это делает то, что требуется ОП?
MikeW