В слот для карты SD (Secure Digital) можно вставить карту MMC (MultiMedia Card), но не наоборот. В контроллер карты SD заложено аппаратное шифрование данных, а сама память снабжена специальной областью, в которой хранится ключ шифрования. Сделано это для того, чтобы препятствовать нелегальному копированию музыкальных записей, для хранения и продажи которых и задумывался такой носитель. На карте сделан переключатель защиты от записи (write protection switch).
Карты CompactFlash (CF) можно легко вставить в разьем PCMCIA Type II. Несмотря на то что у PCMCIA 68 контактов, а у CF – только 50, конструкция карт CompactFlash обеспечивает полную совместимость и обладает всеми функциональными возможностями формата PCMCIA-ATA.
Все карты памяти Memory Stick (стандарт корпорации Sony) относительно совместимы между собой. Стандартом теоретически предусмотрен объем карты памяти до 2 Тбайт, хотя в реальности емкость достигает единиц гигабайт.
Карты SmartMedia практически не используются, но их можно встретить в очень старых фотоаппаратах, хотя это был единственный стандарт, в котором контроллер находился не внутри карты, а в устройстве считывания.
Конструкция карт памяти неразборная – это непригодное для ремонта устройство. Бескорпусные микросхемы вместе с выводами залиты в компаунд и все вместе спрессованы в пластиковую оболочку. Добраться до кристалла можно лишь путем вскрытия устройства, но при этом почти неизбежно повреждение проводников.
Устройства считывания
Для считывания flash-диска USB достаточно обычного порта USB: подобные устройства благодаря своему контроллеру видятся компьютером как стандартный съемный диск. Контроллеры всех карт памяти обращены вовне последовательными или параллельными интерфейсами – контактами на карте. Для каждого из этих интерфейсов нужен соответствующий переходник – дополнительный контроллер, согласующий этот интерфейс со стандартным портом USB.
Кард-ридер – устройство, состоящее из одного или нескольких подобных контроллеров, преобразователя питания и разъемов для разных карт памяти (рис. 4.3). Питание осуществляется от источника +5 В через кабель USB.
Чаще всего встречаются «комбайны», рассчитанные на несколько типов карт: от 6 до 40. Слотов в кард-ридере гораздо меньше, так как каждый слот используется для нескольких типов карт, близких по размерам и расположению контактов. По своим характеристикам они практически равноценны, а отличаются, главным образом, числом поддерживаемых типов карт и конструкцией.
Логическая организация
Прежде чем перейти к файловым системам flash-накопителей, нужно вспомнить об архитектуре NAND. В этой часто используемой памяти и чтение, и запись, и удаление информации происходит лишь блоками.
На жестких и гибких дисках величина блока составляет 512 байтов, не считая 95 служебных байтов, которые видны только контроллеру винчестера. Все файловые системы создавались именно с учетом этих значений. Проблема в том, что во flash-памяти величина блока стирания, за редким исключением, не совпадает с величиной стандартного дискового сектора в 512 байтов и обычно составляет 4, 8 и даже 64 Кбайт. С другой стороны, для обеспечения совместимости блок чтения/записи должен совпадать с величиной дискового сектора.
Для этого блок стирания разбивается на несколько блоков чтения/записи с размером 512 байтов. На практике блок чуть больше: кроме 512 байтов для данных, в нем еще есть хвост (Tail) длиной 16 байтов для служебной информации о самом блоке. Физически расположение и количество блоков чтения/записи ничем не ограничены. Единственное ограничение – блок чтения/записи не должен пересекать границу блока стирания, так как он не может принадлежать двум разным блокам стирания.
Блоки чтения/записи делятся на три типа: действительные, недействительные и дефектные. Блоки, которые содержат записанные данные и принадлежат какому-либо файлу, являются действительными. Использованные блоки с устаревшей информацией считаются недействительными и подлежат очистке. Категорию дефектных составляют блоки, не поддающиеся записи и стиранию.
Еще одна особенность flash-памяти состоит в том, что запись информации возможна только на предварительно очищенное от предыдущей информации пространство. Когда необходимо записать информацию, микропрограмма контроллера должна решить, какие недействительные блоки нужно перед этим стереть. В большей части микропрограмм вопрос удаления недействительных блоков решается простейшим способом: как только определенная часть емкости flash-диска оказывается заполнена информацией, автоматически запускается механизм очистки недействительных блоков.
Для увеличения срока службы памяти используется технология управления износом (Wear-leveling Control), которая продлевает жизненный цикл кристалла памяти за счет равномерного распределения циклов записи/стирания блоков памяти. Побочный эффект – выход из строя одного блока памяти – не сказывается на работе остальных блоков памяти того же кристалла. Неподвижные блоки принадлежат файлам, которые долго или вообще никогда не изменялись и не перемещались. Наличие неподвижных блоков данных приводит к тому, что оставшаяся часть ячеек подвергается усиленному износу и быстрее расходует свой ресурс. Микропрограмма учитывает такие блоки и по мере необходимости перемещает их содержимое в другие ячейки.
Файловые системы flash-дисков и карт памяти, на первый взгляд, хорошо знакомы пользователям по жестким и гибким дискам. Это FAT16, реже FAT32: именно так предлагает отформатировать диск операционная система Windows. Стандартными средствами Windows XP и Windows Vista диск можно отформатировать даже в систему NTFS! Для этого нужно предварительно зайти в Диспетчер устройств и в окне свойств подключенного flash-диска на вкладке Политика выбрать значение Оптимизация для быстрого выполнения. Специальные программы от производителей, например HP USB Disk Storage Format Tool, позволяют форматировать flash-диски в NTFS и без таких усилий.
Однако это впечатление обманчиво. Файловая система flash-памяти (Flash File System, FFS) лишь эмулирует обычный дисковый накопитель и состоит из блоков управления и блока инициализации. На самом деле об истинном расположении и адресации блоков памяти знает только контроллер flash-диска или карты памяти.
Это очень существенно при разных способах восстановления содержимого микросхемы flash-памяти. При считывании микросхемы памяти через ее «родной» контроллер в файле образа оказывается последовательность блоков в порядке их номеров или смещений. В начале находится заголовок и таблица файловой системы. Если же считывание производится на программаторе, в начальных блоках дампа расположена служебная информация, а блоки с данными перемешаны почти беспорядочно. При этом служебная информация вряд ли будет полезна, поскольку она всецело зависит от модели контроллера и его прошивки – правильную последовательность блоков приходится составлять с большим трудом.
Некоторые фотоаппараты работают только с файловой системой RAW. Способ записи фотографий на носитель с такой файловой системой, а также особенности форматирования самой карты зависят от модели аппарата и даже прошивки той или иной модели. Этот формат не стандартизирован и имеет много разновидностей. Обычно данные с таких карт могут восстановить лишь сервисные программы от изготовителя фотокамеры, а в качестве кард-ридера желательно использовать сам фотоаппарат.
Нововведением является файловая система exFAT (Extended FAT – расширенная FAT). Поддержка этой специально разработанной для flash-дисков файловой системы впервые появилась в Windows Embedded CE 6.0. С exFAT работает и Windows Vista Service Pack 1 (рис. 4.4).
Рис. 4.4. Окно форматирования flash-диска в Windows Vista SP1
Назначение новой файловой системы – постепенная замена FAT и FAT32 на flash-накопителях. В ней заложены некоторые черты, ранее присущие файловой системе NTFS:
• преодолено ограничение в размере файла в 4 Гбайт: теоретически лимит составляет 264 байтов (16 эксабайтов);
• улучшено распределение свободного места за счет введения битовой карты свободного места, что уменьшает фрагментацию диска;
• снят лимит на количество файлов в одной директории;
• введена поддержка списка прав доступа. flash-диска в Windows Vista SP1
Насколько скоро эта файловая система станет нормой для «флэшек», покажет время. Видимо, это произойдет не раньше, чем все перейдут на ОС Windows Vista.
Причины потери данных
Твердотельная память, по своей сути, в пределах срока службы должна быть надежнее любых носителей с подвижными частями, однако данные на ней теряются очень часто. Связано это, в первую очередь, с характером эксплуатации. Статистика показывает, что среди причин потери или недоступности данных на первое место по частоте выходит «человеческий фактор».
• Логические ошибки – в основном результат некорректного извлечения устройства.
• Механические поломки и воздействие жидкости.
• Электрические повреждения – результат некорректного подключения устройства. Неправильно подключенные колодки кабеля от дополнительных гнезд USB на передней панели превращают компьютер в настоящего «убийцу» flash-дисков, а для неопытного пользователя причина сгорания flash-дисков одного за другим долго остается непонятной.
• Сбои контроллера – результат воздействия статического электричества.
• Сбои и деградация flash-памяти – единственная технически оправданная причина.
Физические нарушения
Как и в случае с жесткими дисками, дефект ячеек хранения ведет к полной утрате информации, а все остальные случаи – просто к ее недоступности. Между интерфейсом компьютера и ячейками памяти последовательно лежат контакты разъема, контроллер, миниатюрные проводники печатной платы. Питаются обе микросхемы через общий стабилизатор напряжения.
• Последствия повреждения контактов USB очевидны. При повреждении, коррозии или сильном загрязнении контактов карт памяти карта, скорее всего, тоже не распознается кард-ридером. Для карт памяти с многочисленными контактами параллельного интерфейса возможна и ситуация, когда загрязнение контактной площадки приводит к сбоям при обращении к карте, хотя как устройство она распознается.
• Перегорание элементов обвязки flash-диска USB проявляется тем, что брелок перестает как-либо распознаваться компьютером: обе микросхемы остаются без питания. Это тоже достаточно простой случай. Если стабилизатор встроен внутрь контроллера, ситуация усугубляется: случайное изменение полюсов питания почти всегда приводит к перегоранию стабилизатора, но в данном случае это означает и поломку контроллера в целом.
• Неисправность контроллера почти неизбежно приводит к недоступности карты или flash-диска. В отдельных случаях, особенно при повреждении микропрограммы, карта теряет лишь отдельные функции, например запись.
• Порча микросхемы flash-памяти чаще всего проявляется недоступностью определенных блоков, хотя остальные блоки читаются и записываются нормально. Информация из этих блоков восстановлению уже не подлежит.
Логические нарушения
Если накопитель исправен физически, но представляется как пустой или неформатированный, а находящиеся на нем данные не видны операционной системе, то в данном случае повреждены служебные таблицы файловой системы.
Данные почти всегда остаются на месте, и их можно попытаться восстановить с помощью программ, находящих файлы по их сигнатурам. Наряду с известными и универсальными пакетами R-Studio и EasyRecovery, описанными в главе 2, существует множество программ, специально предназначенных для работы с картами памяти и извлечению из них, в первую очередь, фотографий.
Восстановление данных, потерянных из-за физических неисправностей
Диагностика физических причин потери данных на flash-накопителях довольно проста. Некоторые шаги в процессе диагностики являются и началом восстановления данных.
1. Если карта памяти не распознается или не читается, прежде всего, вставьте ее в другой кард-ридер. Таким образом сразу исключаются причины сбоя, связанные с устройством чтения.
2. Осмотрите карту на наличие механических повреждений. Внимательно с лупой изучите контактные площадки. Протрите их этиловым или изопропиловым спиртом. Напряжения и токи в интерфейсе очень малы, и для возникновения ошибки достаточно небольшого загрязнения.
Если используется flash-диск USB, целесообразно сразу разобрать его и осмотреть разъем с контактами и плату. Здесь будут видны и дефекты пайки, и подгоревшие элементы обвязки.
3. При попадании flash-диска в воду следует как можно скорее разобрать его, промыть под струей водопроводной воды, а затем тщательно ополоснуть в дистиллированной воде. Для промывки очень полезна ультразвуковая ванночка. Сушить подобные устройства нужно при температуре не выше 60 °C в течение нескольких часов. Если электрохимическая коррозия не слишком велика, такого «ремонта» окажется достаточно. Без промывки и до полного высыхания карту или flash-диск, побывавшие в жидкости, категорически нельзя подключать даже кратковременно!
4. Подключив flash-диск в порт USB, проследите за определением устройства операционной системой:
• если вообще ничего не происходит, значит, причина сбоя кроется в контактах, схеме питания или контроллере, что менее вероятно;
• если началось определение устройства, значит, контакты и схема питания, скорее всего, исправны. Если операционная система в результате определяет «неизвестное устройство USB», то, возможно, вышел из строя контроллер flash-памяти (рис. 4.5);
Рис. 4.5. Определение flash-диска с неисправным контроллером
• если определение устройства прошло удачно, но вместо названия flash-диска появляется что-то нечитаемое типа K-а.◊~~nл_-_#e, проблема, скорее всего, связана с микропрограммой контроллера;
• если диск определился правильно, значит, контроллер исправен, хотя может быть и наоборот.
5. Попробуйте открыть диск Проводником Windows. Обратите внимание на определяемый операционной системой объем диска, наличие файлов и папок.
6. Запустите одну из программ восстановлении данных и попытайтесь с ее помощью создать образ подключенного flash-диска. В случае неудачи попробуйте применить другую программу, например Flashnul-0.991. Если одной из программ удалось восстановить образ диска, проблема, скорее всего, чисто логическая.
7. Отключите диск: как и в случае с винчестерами, лишнее время работы может повредить и без того неисправный носитель.
Если карта памяти в кард-ридере не распознается программами восстановления данных, а контакты ее целы, самой вероятной причиной могут быть электрические повреждения чипа, находящегося внутри карты. Повреждения контактов карт памяти можно попытаться исправить подручными средствами. Например, можно попробовать восстановить контактную площадку очень тонкой медной фольгой с помощью пайки или токопроводящего клея. Можно даже продублировать все контакты карты припаянными к ним проводами, разобрать кард-ридер и подключить эти провода к соответствующим контактам слота.
Если повреждены электронные компоненты карты памяти фотоаппарата, единственное, что остается сделать, – купить новую карту, вставить ее в фотоаппарат и постараться вновь отснять те сюжеты, которые были на испорченной карте. К сожалению, устройство карты нельзя отремонтировать. Впрочем, встречаются сообщения о том, как в лабораториях спецслужб восстанавливают данные с SIM-карт сотовых телефонов, использованных террористами в качестве радиовзрывателей, но технические подробности и сведения о затратах на такое восстановление остаются секретом.
Далее речь пойдет лишь о flash-дисках USB, которые можно диагностировать и ремонтировать даже в домашних условиях.
Неисправности разъема и обвязки
Выломанный разъем USB – типичная механическая поломка flash-диска. Механизм ее появления очевиден – торчащий из корпуса брелок случайно зацепить очень легко. В этом случае обычно страдают дорожки на печатной плате (самое уязвимое место диска). Для восстановления информации вместо реконструкции проводников и поиска подходящего разъема проще припаять к плате конец с разъемом, отрезанный от любого кабеля USB (рис. 4.6). Конечно, это не совсем эстетично, но быстро и удобно.
Рис. 4.6. Замена сломанного разъема
Из всех навесных элементов на плате flash-диска чаще всего выходит из строя параметрический стабилизатор питания, а иногда и подключенный последовательно с ним гасящий резистор. Причиной сбоя чаще всего является случайная переполюсовка кабеля, идущего от материнской платы к дополнительному разъему USB на корпусе. Хотя об этом знают все, ошибки при сборке компьютеров регулярно повторяются. По этой же причине рекомендуют, особенно на чужом компьютере, подключать flash-диски только в разъемы, смонтированные непосредственно на материнской плате (в современных компьютерах их обычно шесть).
Сгоревший стабилизатор легко определить визуально. За считанные секунды из-за неправильного подключения он успевает полностью выгореть, задев плату вокруг себя (рис. 4.7), что подтверждает и запах.
Рис. 4.7. Выгоревший стабилизатор
Выходя из строя, стабилизатор тем самым защищает контроллер. Не исключено, что на flash-диске со сгоревшим стабилизатором все же успела пострадать и микросхема контроллера. Тем не менее всегда целесообразно начать с ремонта питания. После этого судьба контроллера выяснится автоматически.
При отсутствии подходящего стабилизатора на 3,3 В, например LM317, можно заменить его двумя последовательно включенными диодами (рис. 4.8). Падение напряжения в прямом направлении на одном диоде составляет примерно 0,8–0,9 В, поэтому после двух таких диодов от 5 В останется 3,2–3,4 В – напряжение, необходимое для питания контроллера и микросхемы памяти. Полярность включения диодов удается определить, рассмотрев ход дорожек печатной платы. При миниатюрных диодах и достаточной аккуратности можно полноценно отремонтировать накопитель (рис. 4.9). У такой замены есть еще один плюс: flash-диск с таким стабилизатором не сгорит, даже если на него будет подано питание в обратной полярности. Диоды не пропустят ток в обратном направлении.