В группе Size (Размер) задается объем диска, который программа будет сканировать. Он может быть меньше или равен, но не больше истинного размера массива.
Составив таким образом виртуальный массив, нажмите кнопку OK. Появится третье, завершающее окно.
6. В этом окне, Stripping Block Size (Размер блока чередования), задайте величину блока (по умолчанию 64 Кбайт). Дополнительно можно задать число блоков, для которого одновременно вычисляется четность. По умолчанию для подавляющего большинства контроллеров за одно действие обсчитывается один блок. Некоторые контроллеры, например HP/Compaq, обрабатывали группы из 16 блоков, но такие контроллеры сейчас редкость.
Задав названные параметры (или оставив их значения по умолчанию), нажмите кнопку OK. Новый виртуальный массив добавится в раскрывающийся список дисков Look in (Искать в).
7. Выберите этот созданный массив в раскрывающемся списке Look in (Искать в). Установите переключатель Mode (Режим) в одно из положений:
• Quick (Быстрый) – быстрый поиск по записям файловой системы;
• Long (Долгий) – долгий поиск по сигнатурам файлов по всему диску.
8. Нажмите кнопку Search (Искать). Появится окно Determining the Boot Sector (Указание загрузочного сектора), в котором можно указать номер загрузочного сектора. С этого сектора начнется поиск, и, если неизвестен реальный номер, оставьте значение по умолчанию (0). Нажмите в окне кнопку OK. Еще в одном окне программа предлагает игнорировать корректно удаленные файлы (Yes, Skip deleted files) или показывать их (No, Display deleted files). Нажмите кнопку OK и ждите, пока программа просканирует виртуальный RAID-массив в поисках существующих и потерянных файлов.
9. По окончании поиска в окне программы на вкладке появится список найденных объектов. Чтобы просмотреть этот список в виде дерева файлов и папок, нажмите на панели инструментов кнопку
Tree View (Просмотр в виде дерева).
Напротив каждого файла в колонке Status (Состояние) показывается прогноз на восстановление: Good (Хороший) или Poor (Плохой).
10. Перейдите на вкладку Step 2: Recover (Шаг 2: Восстановить) (рис. 3.10). Укажите в поле Destination folder (Папка назначения) директорию, в которую следует сохранить восстановленные файлы. Чтобы сохранить всю структуру файлов и папок, установите флажок Use folder names (Использовать имена папок).
Рис. 3.10. Вкладка Step 2: Recover (Шаг 2: Восстановить)
11. Установите в рабочей области окна флажки напротив тех файлов, которые следует извлечь. Нажмите большую кнопку Recover (Восстановить). Выбранные файлы будут извлечены из виртуального массива в папку, указанную в поле Destination folder (Папка назначения).
Поскольку сканирование больших массивов может продолжаться очень долго, в программе предусмотрено сохранение промежуточных результатов. Команда меню File → Session → Save (Файл → Сессия → Сохранить) позволяет сохранить текущее состояние сканирования в файл, а команда File → Session → Load (Файл → Сессия → Загрузить) загружает сохраненную сессию, чтобы продолжить сканирование дальше.
Благодаря небольшому объему, портативности и универсальности эта программа может занять достойное место на flash-диске любого пользователя. Конечно, полностью заменить мощный пакет R-Studio она не сможет, но для экстренного восстановления данных очень удобна.
Отдельные случаи восстановления
Ранее был рассмотрен долгий путь восстановления данных из 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-память всерьез рассматривается и как альтернатива жестким дискам ноутбуков – первые образцы уже поступили в широкую продажу. Карты памяти разных типов – обязательный атрибут любой карманной техники: фотоаппаратов, видеокамер, плееров, мобильных телефонов. Особняком стоят 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 и некоторых других производителей.