Восстановление данных на 100% — страница 11 из 22

Ранее был рассмотрен долгий путь восстановления данных из RAID-массива: подключение дисков к обычному контроллеру по-одному, создание их образов, сборка виртуального массива и извлечение из него файлов. Это универсальная, наиболее безопасная, но не всегда самая эффективная тактика. На практике, если массив не несет на себе загрузочный и системный диск, можно использовать другие способы восстановления. Выбор зависит от решения вопроса: разрушен массив или только поврежден? Ответ можно найти в оснастке Управление дисками консоли MMC.

Восстановление данных из поврежденных массивов

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

В таком случае будет работать любая из программ для извлечения данных с обычных дисков. Эффективность целиком зависит от алгоритма поиска и воссоздания данных, используемых этой программой. В программах R-Studio, File Scavenger, Easy Recovery и других следует выбрать физический диск, которым массив представляется операционной системе. Дальнейшие действия в точности повторяют те, которые были рассмотрены в предыдущей главе.

Восстановление данных из разрушенных массивов

Когда массив разрушен, входившие в него диски показываются в оснастке Управление дисками каждый отдельно. Если при этом контроллер и сами диски аппаратно исправны, стоит обратиться к ним программами R-Studio или File Scavenger и построить из этих физических дисков виртуальный массив.

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

Извлечение данных из RAID-0

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

На уцелевшем винчестере наверняка сохранились все файлы, размер которых меньше или равен размеру блока (stripe), если в ходе чередования они попали на этот диск. Их обнаружит сканирование программами R-Studio или Easy Recovery. По умолчанию размер блока равен 64 Кбайт, поэтому на извлечение баз данных, картинок, фильмов и большинства документов Microsoft Office рассчитывать не стоит, хотя многие текстовые файлы в эту категорию попадут.

Резюме

Главная особенность RAID-массивов в том, что данные в них распределены между несколькими физическими носителями. Конкретный способ такого распределения называют уровнем RAID. Массивы RAID-0 заметно уступают в надежности любому из входящих в них дисков и не предназначены для хранения важных данных. В избыточных массивах при аварии одного из дисков информация почти всегда может быть восстановлена средствами самого контроллера. Для этого необходимо лишь заменить неисправный винчестер и запустить процедуру воссоздания его содержимого, заложенную в микропрограмму контроллера.

При появлении логических или физических ошибок на отдельных дисках массив оказывается поврежден. Данные из поврежденного, но неразрушенного массива почти всегда могут быть восстановлены так же, как и с одиночного жесткого диска, и теми же программами. Другой способ восстановления – подключение дисков из массива к обычному контроллеру и программное воссоздание RAID средствами программ, рассчитанных на такую эмуляцию (File Scavenger или R-Studio).

В редких случаях (при утрате контроллером текущих настроек набора дисков) RAID разрушается. Разрушенный массив перестает восприниматься системой как единый диск, и для извлечения информации из него необходимо подключить диски к обычному контроллеру и воссоздать массив средствами названных программ.

Для программного восстановления RAID подходят не только физические диски, входившие в массив, но и их образы. Работа с образом предпочтительна при возникновении проблем на аппаратном уровне одного из винчестеров массива, однако для размещения образов нескольких дисков нужен носитель достаточной емкости.

Глава 4Восстановление данных с flash-накопителей

• Принцип работы и устройство flash-памяти

• Причины потери данных

• Восстановление данных, потерянных из-за физических неисправностей

• Восстановление данных, потерянных из-за логических неисправностей

• Восстановление информации с SIM-карт

• Резюме


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

Самый типичный представитель полупроводниковых носителей информации – flash-диск. Сегодня эти носители информации полностью вытеснили дискеты и начинают постепенно теснить лазерные диски благодаря своим габаритам. Flash-память всерьез рассматривается и как альтернатива жестким дискам ноутбуков – первые образцы уже поступили в широкую продажу. Карты памяти разных типов – обязательный атрибут любой карманной техники: фотоаппаратов, видеокамер, плееров, мобильных телефонов. Особняком стоят SIM-карты мобильных телефонов. Несмотря на микроскопические размеры, это очень сложное устройство – целый микрокомпьютер, и лишь часть его памяти выделена для хранения пользовательских данных.

Восстановление данных с полупроводниковых носителей не столь актуально, как с винчестеров: они редко становятся основным и единственным местом хранения важной информации. Как правило, на flash-диски данные откуда-то переписываются и в исходном расположении обычно остается оригинал. Уникальными могут оказаться данные на картах памяти фотоаппаратов – действительно первая и единственная копия.

Принцип работы и устройство flash-памяти

В основе любой flash-памяти лежит кристалл кремния, на котором сформированы не совсем обычные полевые транзисторы. У такого транзистора есть два изолированных затвора: управляющий (control) и плавающий (floating). Последний способен удерживать электроны, то есть заряд. В ячейке, как и у любого полевого транзистора, есть сток и исток (рис. 4.1). В процессе записи на управляющий затвор подается положительное напряжение, и часть электронов, движущихся от стока к истоку, отклоняется к плавающему затвору. Некоторые из электронов преодолевают слой изолятора и проникают (диффундируют) в плавающий затвор. В нем они могут оставаться в течение многих лет.

Рис. 4.1. Ячейка flash-памяти


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

• Время хранения заряда очень велико и измеряется годами, но все же ограничено: законы термодинамики и обратной диффузии.

• По той же причине ограничено число циклов записи-перезаписи: от ста тысяч до нескольких миллионов. Со временем неизбежно происходит деградация самого материала и р-п-переходов. Например, карты Kingston Compact Flash рассчитаны на 300 000 циклов перезаписи, Transcend Compact Flash – на 1 000 000, а flash-диск Transcend 1Gb USB – всего на 100 000.

Существуют две архитектуры flash-памяти. Они отличаются способом обращения к ячейкам и, соответственно, организацией внутренних проводников.

• Память NOR (ИЛИ-НЕ) позволяет обращаться к ячейкам по одной. К каждой ячейке подходит отдельный проводник. Адресное пространство NOR-памяти позволяет работать с отдельными байтами или словами (2 байта). Такая архитектура накладывает серьезные ограничения на максимальный объем памяти на единице площади кристалла. Память NOR сегодня используется лишь в микросхемах BIOS и других ПЗУ малой емкости, например в сотовых телефонах.

• В памяти архитектуры NAND (И-НЕ) каждая ячейка оказывается на пересечении «линии бит» и «линии слов». Ячейки группируются в небольшие блоки по аналогии с кластером жесткого диска. И считывание, и запись осуществляются лишь целыми блоками или строками. Все современные съемные носители построены на памяти NAND.

Крупнейшими производителями NAND-чипов являются компании Intel, Micron Technology, Sony и Samsung. Ассортимент выпускаемых чипов довольно велик, а обновление его происходит несколько раз в год.

Контроллеры

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

Контроллеры разрабатываются и выпускаются под совершенно определенные микросхемы flash-памяти. Способ адресации ячеек конструктивно заложен в контроллере. Данные при записи в микросхему flash-памяти располагаются определенным способом, меняющимся от модели к модели. Производители эти тонкости не раскрывают и, по всей видимости, раскрывать не планируют. Очевидно, микропрограмм контроллеров создается значительно больше, чем самих моделей контроллеров. Микропрограмма контроллера (прошивка) и таблица трансляции адресов (транслятор) записываются в служебную область flash-памяти. Именно эту область контроллер начинает считывать сразу после подачи на него питания. Кроме собственно адресации ячеек, контроллер выполняет ряд других функций: функции контроля bad-секторов, коррекции ошибок (ECC – error check and correct) и равномерности износа ячеек (wear leveling).

Технологической нормой при изготовлении микросхем памяти считается наличие в них в среднем до 2 % нерабочих ячеек. Со временем их количество может еще увеличиваться, поэтому, как и в винчестерах, во flash-памяти предусмотрен резервный объем. Если появляется дефектный сектор, контроллер в процессе форматирования или записи подменяет его адрес в таблице размещения файлов адресом сектора из резервной области. Коррекция осуществляется контроллером, но реализуется на уровне файловой системы конкретного носителя.

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

Конструкция flash-диска USB

Несмотря на разнообразие корпусов, все flash-диски USB устроены одинаково. Половинки корпуса часто соединены защелками и обычно легко разбираются. Исключение составляют водонепроницаемые или ультрамодные корпуса – для их вскрытия иногда приходится разрезать склеенные или залитые герметиком детали.

На плате внутри flash-диска USB (рис. 4.2) обязательно присутствуют две микросхемы: чип памяти и контроллер. На обеих нанесена заводская маркировка. Иногда плата несет два чипа flash-памяти, которые работают в паре. Обвязка микросхем состоит из нескольких резисторов и диодов, стабилизатора питания и кварцевого резонатора. В последнее время стабилизатор все чаще встраивается непосредственно в контроллер, и число навесных элементов сокращается до минимума. Кроме того, на плате могут находиться светодиодный индикатор и миниатюрный переключатель для защиты от записи.

Рис. 4.2. Устройство flash-диска


Разъем USB припаян непосредственно к плате. Места пайки контактов во многих моделях являются довольно уязвимыми, поскольку на них приходится механическая нагрузка при подключении и отключении устройства.

Виды и конструкция карт памяти

Многие компании время от времени предлагали пользователям разные конструкции карт памяти. За редкими исключениями все они несовместимы между собой по числу и расположению контактов и электрическим характеристикам. Flash-карты бывают двух типов: с параллельным (parallel) и последовательным (serial) интерфейсом.

В табл. 4.1 перечислены 12 основных типов карт памяти, которые встречаются в настоящее время. Внутри каждого типа существуют свои дополнительные разновидности, с учетом которых можно говорить о существовании почти сорока видов карт.

Таблица 4.1. Типы карт памяти

Карты MMC могут работать в двух режимах: MMC (MultiMedia Card) и SPI (Serial Peripheral Interface). Режим SPI является частью протокола MMC и используется для коммуникации с каналом SPI в микроконтроллерах компании Motorola и некоторых других производителей.

В слот для карты 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.

Причины потери данных