Курсовая работа: Физические основы восстановления информации жестких магнитных дисков
Курсовая работа по дисциплине: «Операционные системы»
Выполнил студент гр. 06-ИС Хахин М. Г.
Нижегородский государственный технический университет
2008 .г
1. Принцип работы жесткого диска
Накопитель на жестком диске относится к наиболее совершенным и сложным устройствам современного персонального компьютера. Его диски способны вместить многие мегабайты информации, передаваемой с огромной скоростью. В то время, как почти все элементы компьютера работают бесшумно, жесткий диск ворчит и поскрипывает, что позволяет отнести его к тем немногим компьютерным устройствам, которые содержат как механические, так и электронные компоненты.
Основные принципы работы жесткого диска мало изменились со дня его создания. Устройство винчестера очень похоже на обыкновенный проигрыватель грампластинок. Только под корпусом может быть несколько пластин, насаженных на общую ось, и головки могут считывать информацию сразу с обеих сторон каждой пластины. Скорость вращения пластин (у некоторых моделей она доходит до 15000 оборотов в минуту) постоянна и является одной из основных характеристик. Головка перемещается вдоль пластины на некотором фиксированном расстоянии от поверхности. Чем меньше это расстояние, тем больше точность считывания информации, и тем больше может быть плотность записи информации. Взглянув на накопитель на жестком диске, вы увидите только прочный металлический корпус. Он защищает дисковод от частичек пыли, которые при попадании в узкий зазор между головкой и поверхностью диска могут повредить чувствительный магнитный слой и вывести диск из строя. Кроме того, корпус экранирует накопитель от электромагнитных помех. Внутри корпуса находятся все механизмы и некоторые электронные узлы. Механизмы - это сами диски, на которых хранится информация, головки, которые записывают и считывают информацию с дисков, а также двигатели, приводящие все это в движение. Диск представляет собой круглую пластину с очень ровной поверхностью чаще из алюминия, реже - из керамики или стекла, покрытую тонким ферромагнитным слоем. Во многих накопителях используется слой оксида железа (которым покрывается обычная магнитная лента), но новейшие модели жестких дисков работают со слоем кобальта толщиной порядка десяти микрон. Такое покрытие более прочно и, кроме того, позволяет значительно увеличить плотность записи. Технология его нанесения близка к той, которая используется при производстве интегральных микросхем.
Количество дисков может быть различным - от одного до пяти, количество рабочих поверхностей, соответственно, вдвое больше (по две на каждом диске). Последнее (как и материал, использованный для магнитного покрытия) определяет емкость жесткого диска. Иногда наружные поверхности крайних дисков (или одного из них) не используются, что позволяет уменьшить высоту накопителя, но при этом количество рабочих поверхностей уменьшается и может оказаться нечетным.
Принцип магнитной записи электрических сигналов на движущийся магнитный носитель основан на явлении остаточного намагничивания магнитных материалов. Запись и хранение информации на магнитном носителе производится путем преобразования электрических сигналов в соответствующие им изменения магнитного поля, воздействия его на магнитный носитель и сохранения следов этих воздействий в магнитном материале длительное время, благодаря явлению остаточного магнетизма. Воспроизведение электрических сигналов производится путем обратного преобразования.
Система магнитной записи состоит из носителя записи и взаимодействующих с ним магнитных головок (Рис.1).
Рис. 1.1 Принцип записи и считывания информации с магнитного носителя
При цифровой магнитной записи в магнитную головку поступает ток, при котором поле записи через определенные промежутки времени изменяет свое направление на противоположное. В результате под действием поля рассеяния магнитной головки происходят намагничивание или перемагничивание отдельных участков движущегося магнитного носителя.
При периодическом изменении направления поля записи в рабочем слое носителя возникает цепочка участков с противоположным направлением намагниченности, которые соприкасаются друг с другом одноименными полюсами. Рассмотренный вид записи, когда участки рабочего слоя носителя перемагничиваются вдоль его движения, называется продольной записью (Рис.2).
Рис. 1.2. Принцип записи и считывания информации с магнитного носителя
Чередующиеся участки с различным направлением намагниченности, возникшие в магнитном покрытии, являются магнитными доменами (битовыми ячейками). Чем меньше размер ячейки, тем выше плотность записи информации. Однако с уменьшением размера ячейки возрастает взаимное влияние их размагничивающих полей (см. рисунок), направленных в сторону, противоположную намагниченности в ячейках, что при уменьшении битовой ячейки ниже критического значения приводит к самопроизвольному размагничиванию.
Для магнитной записи используются носители в виде магнитных пластин (дисков). Пластины изготавливаются процессом напыления множественных металлических пленок и защитного слоя покрытия на очень плоскую, бездефектную стеклянную или алюминиевую подложку. Информация размещается в виде концентрических окружностей, называемых дорожками (рис.3). В современных НЖМД плотность дорожек достигает значений 4,3*104 дорожек на один сантиметр радиуса пластины.
Рис. 1.3. Размещение дорожек на поверхности диска
2. Устройство диска
Типовой винчестер состоит из гермоблока и платы электроники. В гермоблоке размещены все механические части, на плате - вся управляющая электроника, за исключением предусилителя, размещенного внутри гермоблока в непосредственной близости от головок.
Под дисками расположен двигатель - плоский, как во floppy-дисководах, или встроенный в шпиндель дискового пакета. При вращении дисков создается сильный поток воздуха, который циркулирует по периметру гермоблока и постоянно очищается фильтром, установленным на одной из его сторон.
Ближе к разъемам, с левой или правой стороны от шпинделя, находится поворотный позиционер, несколько напоминающий по виду башенный кран: с одной стороны оси, находятся обращенные к дискам тонкие, длинные и легкие несущие магнитных головок, а с другой - короткий и более массивный хвостовик с обмоткой электромагнитного привода. При поворотах коромысла позиционера головки совершают движение по дуге между центром и периферией дисков. Угол между осями позиционера и шпинделя подобран вместе с расстоянием от оси позиционера до головок так, чтобы ось головки при поворотах как можно меньше отклонялась от касательной дорожки.
В более ранних моделях коромысло было закреплено на оси шагового двигателя, и расстояние между дорожками определялось величиной шага. В современных моделях используется так называемый линейный двигатель, который не имеет какой-либо дискретности, а установка на дорожку производится по сигналам, записанным на дисках, что дает значительное увеличение точности привода и плотности записи на дисках.
Обмотку позиционера окружает статор, представляющий собой постоянный магнит. При подаче в обмотку тока определенной величины и полярности коромысло начинает поворачиваться в соответствующую сторону с соответствующим ускорением; динамически изменяя ток в обмотке, можно устанавливать позиционер в любое положение. Такая система привода получила название Voice Coil (звуковая катушка) - по аналогии с диффузором громкоговорителя.
На хвостовике обычно расположена так называемая магнитная защелка - маленький постоянный магнит, который при крайнем внутреннем положении головок (landing zone - посадочная зона) притягивается к поверхности статора и фиксирует коромысло в этом положении. Это так называемое парковочное положение головок, которые при этом лежат на поверхности диска, соприкасаясь с нею. В ряде дорогих моделей (обычно SCSI) для фиксации позиционера предусмотрен специальный электромагнит, якорь которого в свободном положении блокирует движение коромысла. В посадочной зоне дисков информация не записывается.
В оставшемся свободном пространстве размещен предусилитель сигнала, снятого с головок, и их коммутатор. Позиционер соединен с платой предусилителя гибким ленточным кабелем, однако в отдельных винчестерах (в частности - некоторые модели Maxtor AV) питание обмотки подведено отдельными одножильными проводами, которые имеют тенденцию ломаться при активной работе. Гермоблок заполнен обычным обеспыленным воздухом под атмосферным давлением. В крышках гермоблоков некоторых винчестеров специально делаются небольшие окна, заклеенные тонкой пленкой, которые служат для выравнивания давления внутри и снаружи. В ряде моделей окно закрывается воздухопроницаемым фильтром. У одних моделей винчестеров оси шпинделя и позиционера закреплены только в одном месте - на корпусе винчестера, у других они дополнительно крепятся винтами к крышке гермоблока. Вторые модели более чувствительны к микродеформации при креплении - достаточно сильной затяжки крепежных винтов, чтобы возник недопустимый перекос осей. В ряде случаев такой перекос может стать труднообратимым или необратимым совсем. Плата электроники - съемная, подключается к гермоблоку через один - два разъема различной конструкции. На плате расположены основной процессор винчестера, ПЗУ с программой, рабочее ОЗУ, которое обычно используется и в качестве дискового буфера, цифровой сигнальный процессор (DSP) для подготовки записываемых и обработки считанных сигналов, и интерфейсная логика. На одних винчестерах программа процессора полностью хранится в ПЗУ, на других определенная ее часть записана в служебной области диска. На диске также могут быть записаны параметры накопителя (модель, серийный номер и т.п.). Некоторые винчестеры хранят эту информацию в электрически репрограммируемом ПЗУ (EEPROM).
Многие винчестеры имеют на плате электроники специальный технологический интерфейс с разъемом, через который при помощи стендового оборудования можно выполнять различные сервисные операции с накопителем - тестирование, форматирование, переназначение дефектных участков и т.п. У современных накопителей марки Conner технологический интерфейс выполнен в стандарте последовательного интерфейса, что позволяет подключать его через адаптер к алфавитно-цифровому терминалу или COM-порту компьютера. В ПЗУ записана так называемая тест-мониторная система (ТМОС), которая воспринимает команды, подаваемые с терминала, выполняет их и выводит результаты обратно на терминал. Ранние модели винчестеров, как и гибкие диски, изготовлялись с чистыми магнитными поверхностями; первоначальная разметка (форматирование) производилась потребителем по его усмотрению, и могла быть выполнена любое количество раз. Для современных моделей разметка производится в процессе изготовления; при этом на диски записывается сервоинформация - специальные метки, необходимые для стабилизации скорости вращения, поиска секторов и слежения за положением головок на поверхностях. Не так давно для записи сервоинформации использовалась отдельная поверхность (dedicated - выделенная), по которой настраивались головки всех остальных поверхностей. Такая система требовала высокой жесткости крепления головок, чтобы между ними не возникало расхождений после начальной разметки. Ныне сервоинформация записывается в промежутках меж- ду секторами (embedded - встроенная), что позволяет увеличить полезную емкость пакета и снять ограничение на жесткость подвижной системы. В некоторых современных моделях применяется комбинированная система слежения - встроенная сервоинформация в сочетании с выделенной поверхностью; при этом грубая настройка выполняется по выделенной поверхности, а точная - по встроенным меткам.
Поскольку сервоинформация представляет собой опорную разметку диска, контроллер винчестера не в состоянии самостоятельно восстановить ее в случае порчи. При программном форматировании такого винчестера возможна только перезапись заголовков и контрольных сумм секторов данных.
При начальной разметке и тестировании современного винчестера на заводе почти всегда обнаруживаются дефектные сектора, которые заносятся в специальную таблицу переназначения. При обычной работе контроллер винчестера подменяет эти сектора резервными, которые специально оставляются для этой цели на каждой дорожке, группе дорожек или выделенной зоне диска. Благодаря этому новый винчестер создает видимость полного отсутствия дефектов поверхности, хотя на самом деле они есть почти всегда.
При включении питания процессор винчестера выполняет тестирование электроники, после чего выдает команду включения шпиндельного двигателя. При достижении некоторой критической скорости вращения плотность увлекаемого поверхностями дисков воздуха становится достаточной для преодоления силы прижима головок к поверхности и поднятия их на высоту от долей до единиц микрон над поверхностями дисков - головки "всплывают". С этого момента и до снижения скорости ниже критической головки "висят" на воздушной подушке и совершенно не касаются поверхностей дисков.
После достижения дисками скорости вращения, близкой к номинальной (у IDE винчестеров обычно - 3600, 4500, 5400 или 7200 об/мин) головки выводятся из зоны парковки и начинается поиск сервометок для точной стабилизации скорости вращения. Затем выполняется считывание информации из служебной зоны - в частности, таблицы переназначения дефектных участков.
В завершение инициализации выполняется тестирование позиционера путем перебора заданной последовательности дорожек - если оно проходит успешно, процессор выставляет на интерфейс признак готовности и переходит в режим работы по интерфейсу.
Во время работы постоянно работает система слежения за положением головки на диске: из непрерывно считываемого сигнала выделяется сигнал рассогласования, который подается в схему обратной связи, управляющую током обмотки позиционера. В результате отклонения головки от центра дорожки в обмотке возникает сигнал, стремящийся вернуть ее на место.
Для согласования скоростей потоков данных - на уровне считывания/записи и внешнего интерфейса - винчестеры имеют промежуточный буфер, часто ошибочно называемый кэшем, объемом обычно в несколько десятков или сотен килобайт. В ряде моделей (например, Quantum) буфер размещается в общем рабочем ОЗУ, куда вначале загружается оверлейная часть микропрограммы управления, отчего действительный объем буфера получается меньшим, чем полный объем ОЗУ (80-90 кб при ОЗУ 128 кб у Quantum). У других моделей (Conner, Caviar) ОЗУ буфера и процессора сделаны раздельными.
При отключении питания процессор, используя энергию, оставшуюся в конденсаторах платы либо извлекая ее из обмоток двигателя, который при этом работает как генератор, выдает команду на установку позиционера в парковочное положение, которая успевает выполниться до снижения скорости вращения ниже критической. В некоторых винчестерах (Quantum) этому способствует помещенное между дисками подпружиненное коромысло, постоянно испытывающее давление воздуха. При ослаблении воздушного потока коромысло дополнительно толкает позиционер в парковочное положение, где тот фиксируется защелкой. Движению головок в сторону шпинделя способствует также центростремительная сила, возникающая из-за вращения дисков.
3. Работа жесткого диска
Теперь - собственно о процессе работы винчестера. После начальной настройки электроники и механики микрокомпьютер винчестера переходит в режим ожидания команд от контроллера, расположенного на системной плате или интерфейсной карте. Получив команду, он включает нужную головку, по сервоимпульсам отыскивает нужную дорожку, дожидается, пока до головки "доедет" нужный сектор, и выполняет считывание или запись информации. Если контроллер запросил чтение/запись не одного сектора, а нескольких - винчестер может работать в так называемом блочном режиме, используя ОЗУ в качестве буфера и совмещая чтение/запись с передачей информации к контроллеру или от него.
Для оптимального использования поверхности дисков применяется так называемая зоновая запись (Zoned Bit Recording - ZBR), принцип которой состоит в том, что на внешних дорожках, имеющих большую длину (а следовательно - и информационную емкость), информация записывается с большей плотностью, чем на внутренних. Таких зон с постоянной плотностью записи в пределах всей поверхности образуется до десятка и более; соответственно, скорость чтения и записи на внешних зонах выше, чем на внутренних. Благодаря этому файлы, расположенные ближе к "началу" винчестера, в целом будут обрабатываться быстрее файлов, расположенных ближе к его "концу".
Теперь о том, откуда берутся неправдоподобно большие количества головок, указанные в параметрах винчестеров. Когда-то эти числа - число цилиндров, головок и секторов на дороже - действительно обозначали реальные физические параметры (геометрию) винчестера. Однако при использовании ZBR количество секторов меняется от дорожки к дорожке, и для каждого винчестера эти числа различны - поэтому стала использоваться так называемая логическая геометрия, когда винчестер сообщает контроллеру некие условные параметры, а при получении команд сам преобразует логические адреса в физические. При этом в винчестере с логической геометрией, например, в 520 цилиндров, 128 головок и 63 сектора (общий объем - 2 Гб) находится, скорее всего, два диска - и четыре головки чтения/записи.
В винчестерах последнего поколения используются технологии PRML (Partial Response, Maximum Likelihood - максимальное правдоподобие при неполном отклике) и S.M.A.R.T. (Self Monitoring Analysis and Report Technology - технология самостоятельного следящего анализа и отчетности). Первая разработана по причине того, что при существующих плотностях записи уже невозможно четко и однозначно считывать сигнал с поверхности диска - уровень помех и искажений очень велик. Вместо прямого преобразования сигнала используется его сравнение с набором образцов, и на основании максимальной похожести делается заключение о приеме того или иного кодового слова - примерно так же мы читаем слова, в которых пропущены или искажены буквы.
Винчестер, в котором реализована технология S.M.A.R.T., ведет статистику своих рабочих параметров (количество старт/стопов и наработанных часов, время разгона шпинделя, обнаруженные/исправленные ошибки и т.п.), которая регулярно сохраняется в перепрограммируемом ПЗУ или в служебных зонах диска. Эта информация накапливается в течение всей жизни винчестера и может быть в любой момент затребована программами анализа; по ней можно судить о состоянии механики, условиях эксплуатации или примерной вероятности выхода из строя.
4. Объем, скорость и время доступа
Основными задачами производителей всегда было увеличение объема хранящейся на дисках информации и скорости работы с этой информацией. Как увеличить объем диска? Наиболее очевидным решением является увеличение количества пластин в корпусе жесткого диска. Подобным образом обычно различаются модели в пределах одного модельного ряда. Этот способ является наиболее простым и позволяет на одной и той же элементной базе получать диски различной емкости. Но у этого способа существуют естественные ограничения: количество дисков не может быть бесконечным. Увеличивается нагрузка на мотор, ухудшаются температурные и шумовые характеристики диска, вероятность брака растет пропорционально количеству пластин, а значит, труднее обеспечить надежность. Среди промышленно производимых дисков наибольшим количеством пластин обладает SCSI диск Seagate Barracuda 180 - у этого винчестера аж 12 пластин! Есть и рекордсмены в области упрощения устройства дисков - это, например, рассмотренный нами далее Maxtor 513DX и 541DX, у которого один диск, используемый только с одной стороны.
Технологически более сложный (и более перспективный) метод увеличения объема - увеличение плотности записи информации. Тут возникает целый ряд технологических проблем. Современные пластины изготовляются из алюминия или даже из стекла (некоторые модели IBM). Магнитное покрытие имеет сложную многослойную структуру и покрыто сверху специальным защитным слоем. Размеры частиц магнитного покрытия уменьшаются, а чувствительность их возрастает. Помимо улучшения параметров самих пластин, существенным усовершенствованиям должна подвергнуться система считывания информации. Необходимо уменьшить зазор между головкой и поверхностью пластины, повысить чувствительность головки. Но и тут законы физики накладывают свои естественные ограничения на предел применения подобных технологий. Ведь размеры магнитных частиц не могут уменьшаться бесконечно.
Самый простой способ увеличить скорость считывания - увеличить скорость вращения пластин. По этому пути и пошли конструкторы. Если пластины вращаются с большей скоростью, то за единицу времени под считывающей головкой проходит больше информации. На увеличение скорости считывания влияет также и рассмотренное выше увеличение плотности записи информации. Именно по этой причине SCSI диски, как правило, обладают большей скоростью вращения. Однако на такой скорости сложнее точно позиционировать головку считывания, поэтому плотность записи там меньше, чем на некоторых IDE дисках, а стоят такие диски больше.
Так как головка при поиске информации перемещается только поперек диска, она вынуждена "ждать", пока диск повернется и сектор с запрашиваемыми данными окажется доступным для чтения. Это время зависит только от скорости вращения диска и называется временем ожидания информации (latency). Но необходимо понимать, что общее время доступа к информации определяется временем поиска нужной дорожки на диске и временем позиционирования внутри этой дорожки. Увеличение скорости вращения диска уменьшает лишь последнее значение. Для уменьшения времени поиска нужной дорожки совершенствуют привод считывающей головки и… уменьшают диаметр пластин диска. Почти все современные винчестеры выпускаются с пластинами диаметром 2,5 дюйма.
Позиционирование головки вообще является отдельной весьма нетривиальной проблемой. Достаточно сказать, что при современной плотности записи приходится учитывать даже тепловое расширение! Таким образом, увеличение скорости вращения диска существенно затрудняет точное позиционирование головки. И в попытках увеличить быстродействие диска иногда приходится жертвовать объемом, используя пластины с меньшей плотностью записи. Неудивительно, что наиболее дорогие и быстрые винчестеры, отличающиеся более высокой скоростью вращения, не используют максимальной технологически доступной на данный момент плотности записи. За скорость приходится платить.
Так какому диску отдать предпочтение? При одинаковом объеме большего внимание заслуживают модели с большей плотностью записи, по сравнению с моделями с большим количеством дисков, хотя бы потому, что у них выше линейная скорость чтения/записи (большие файлы читаются быстрее). Скорость доступа к информации напрямую зависит от скорости вращения пластин (быстрее работа с большим количеством мелких файлов). Но увеличение скорости приводит к удорожанию изделий, а иногда приходится жертвовать и плотностью записи.
5. Интерфейсы жестких дисков
Развитие интерфейсов винчестеров шло двумя параллельными путями: дешевым и дорогим. Дорогое решение заключалось в создании на плате самого винчестера отдельного интеллектуального контроллера, который бы брал на себя значительную часть работы по взаимодействию с винчестером. Результатом этого подхода явился интерфейс SCSI, который быстро завоевал популярность на рынке серверов. Одним из преимуществ этого подхода являлась возможность подключения к компьютеру значительного для того времени количества устройств, требующих для своей работы широкого канала передачи данных.
Простое и дешевое решение - переложить значительную часть операций по вводу-выводу на центральный процессор. У этого решения вполне очевидный недостаток: снижение общей вычислительной мощности системы, особенно заметное при многозадачной работе. А в те времена, когда процессоры не были такими мощными, это сильно ограничивало возможности, в частности, файловых серверов. Результатом воплощения в жизнь этого подхода явился широко распространенный интерфейс IDE.
Этот интерфейс был сравнительно дешев и, хотя не был самым производительным, полностью вытеснил другие интерфейсы с рынка дешевых и недорогих систем. Он постепенно развивался, и со временем появились стандарты UDMA, существенно ускоряющие работу винчестеров, интерфейсы IDE стали более интеллектуальными. А так как производительность процессоров росла быстрее производительности винчестеров, то ограничения интерфейса IDE играли все меньшую роль.
Тем самым на сегодня мы имеем два типа винчестеров: высокопроизводительные SCSI и "ширпотреб" - IDE. Принципиальных различий в устройстве самих винчестеров SCSI и IDE нет, но исторически сложилось, что SCSI рассчитан на сегмент дорогих серверных решений, поэтому в среднем они быстрее и, как следствие, существенно дороже.
Пропускная скорость SCSI значительно выше IDE, целых 160 Мб/с. А IDE работает со скоростью 33, 66 и 133 Мб/с. Соответствующие стандарты называются ATA/33, ATA/66 и ATA/133.
В феврале 2000 года на официальном Форуме разработчиков Intel было объявлено о формировании рабочей группы по созданию стандарта последовательного ATA – SATA (Serial ATA). В течение последних восьми идет процесс постепенного вытеснения параллельного ATA его последовательным собратом SATA.
В SATA используется 7-жильный кабель для обмена данными; обмен происходит по 1 биту за такт (в кабеле 1 линия для приема и 1 – для передачи) и 15-жильный силовой кабель. Одним кабелем можно подключить только одно устройство, что отменяет необходимость устанавливать перемычки (джампера) для устройства Master/Slave. Узкий кабель в гораздо большей мере, чем шлейф параллельного ATA, способствует циркуляции воздуха внутри корпуса PC. Но самое главное – это скорость. Стандарт SATA-150 осуществляет передачу со скоростью 150 Мб/с, что в полтора раза выше, чем UDMA/100. Но SATA-300 и SATA-600 предполагают скорости 300 MBps и 600 MBps соответственно.
Технология SAS, преемница параллельного интерфейса SCSI, опирается на проверенную временем высокую функциональность своего предшественника и обещает значительно расширить возможности современных систем хранения данных масштаба предприятия. SAS обладает целым рядом преимуществ, не доступных традиционным решениям в области хранения данных. В частности, SAS позволяет подключать к одному порту до 16 256 устройств и обеспечивает надёжное последовательное соединение “точка-точка” со скоростью до 3 Гб/с.
6. Как работают программы восстановления данных
Каждый только что удаленный файл все еще находится на жестком диске, но Windows его больше не видит. Если программе восстановления данных необходимо восстановить этот файл, она просматривает загрузочный сектор раздела (Partition Boot Sector). В нем содержится вся информация о строении раздела, например размер секторов (как правило, 512 байт) и количество секторов в одном кластере.
В разделе NTFS размером более 2 Гбайт в одном кластере содержится четыре сектора. В нашем примере показан небольшой раздел размером 500 Мбайт, у которого каждому сектору соответствует один кластер.
Наряду с этой информацией программы восстановления данных сканируют главную таблицу файлов (Master File Table, MFT), которая тоже находится в Partition Boot Sector. Она представляет собой список всех файлов, находящихся в разделе, в ней содержатся все файловые атрибуты и информация о том, в каких секторах винчестера находятся сами файлы. Те из них, что по размерам менее 1500 байт, записываются прямо в MFT. Для файлов большего объема в MFT есть ссылки на адреса секторов, в которых лежат данные.
В начале MFT находятся другие записи, например так называемая битовая карта распределения кластеров (Cluster Bitmap), показывающая все используемые кластеры, а также файл плохих кластеров (Bad Cluster File), регистрирующий все кластеры с ошибками. Только с 17-й записи начинается собственно описание файлов. Обычно таблица MFT в Windows не видна. Но есть дисковые редакторы, например WinHex, которые показывают содержание MFT в шестнадцатеричных кодах.
На картинке (см.ниже) вы видите MFT-запись удаленного файла в HEX-коде. Для программы восстановления данных достаточно этой информации, чтобы восстановить файл.
Значения которые программа восстановления файлов находит в Master File Table:
1. Эти четыре байта (File Identifier) обозначают начало нового файла. Байты до следующего File Identifier содержат всю информацию о файле.
2. Эти два байта зарезервированы для флагов, которые дают справку о состоянии файла. Если их значение равно 0, как в нашем случае, это значит, что файл удален.
3. Из этих 16 байт программа восстановления данных узнает, когда файл был создан и в последний раз подвергался изменениям.
4. Эта ссылка на каталог, в котором находится файл (Parent Directory Record Number). С ее помощью программа-спасатель может включить файл в структуру каталогов.
5. Здесь появляется имя файла, в нашем случае Mу Prеsеntаtiоn.pрt.
6.Если эти два байта имеют значе ние 0, то файл не сжат.
7. Эти восемь байт сообщают размер файла,в нашем случае 56 320 байт.
8.Важнейшая часть записи MFT, называющаяся Data runs, показывает, где фактически находятся данные.
На рисунке 4 указано, где находятся данные.
a. Первый байт сообщает, сколько байт необходимо для адреса первого кластера (3 байта) и отображения длины файла во всех кластерах (1 байт).
b. Второй байт содержит длину файла, в нашем примере — 110 кластеров.
c. Следующие три байта означают, что файл начинается с кластера 312 555.
d. Последний байт имеет значение 0. Это означает, что файл не фрагментирован. Следовательно, нет никаких дополнительных записей Data runs.
Как программа восстанавливает данные.
Теперь у программы восстановления данных есть вся информация, необходимая для успешного восстановления удаленного файла. Она обращается к кластеру 312 555, прочитывает данные в следующих 110 кластерах и сохраняет их под именем Mу
Рис. 6.1. MFT-запись удаленного файла в HEX-коде
7. Программно-аппаратный комплекс для ремонта HDD ATA, SATA PC-3000 for Windows (UDMA)
7.1 Назначение PC-3000 for Windows (UDMA)
Программно-аппаратный комплекс PC-3000 for Windows (UDMA) (Рис.7.1) предназначен для диагностики и ремонта HDD (восстановления работоспособности) с интерфейсом ATA (IDE) и SATA (Serial ATA 1.0, 2.0), емкостью от 1 Гб до 750 Гб, производства: Seagate, Western Digital, Fujitsu, Samsung, Maxtor, Quantum, IBM (HGST), HITACHI, TOSHIBA c форм-фактором 3.5'' - настольные ПК; 2.5'' и 1.8'' - накопители для ноутбуков; 1.0'' - накопители для портативной техники, с интерфейсом Compact Flash., к каждому из которых можно, в свою очередь, подключить несколько HDD.
Рис. 7.1. Специализированная двух портовая плата – тестер PC – 3000 UDMA
7.2 Принципы функционирования
Диагностика HDD осуществляется в обычном (пользовательском) режиме и в специальном технологическом (заводском) режиме. Для этого в комплекс PC-3000 for Windows (UDMA) входит набор технологических переходников и адаптеров, которые используются для ремонта HDD и восстановления данных.
Для первоначальной диагностики HDD запускается универсальная утилита PC-3000, которая диагностирует HDD и указывает все его неисправности. Далее запускается специализированная (предназначенная только для этого семейства) технологическая утилита, которая и осуществляет ремонт HDD.
Непосредственно ремонт HDD заключается в обнаружении и устранении повреждений в служебной зоне, перезаписи Flash ПЗУ, восстановлении системы трансляции, обнаружении дефектных участков магнитных поверхностей и исключении их из рабочего пространства HDD. Весь процесс ремонта можно разделить по пунктам:
Диагностика платы электроники HDD, при которой проверяются ПЗУ, находящиеся на плате, проверяется целостность их содержимого и соответствие версии. В случае необходимости производится их перезапись. Данные для записи беруться из эталонных данных в базе PC-3000.
Диагностика служебной зоны HDD, которая находится в гермоблоке на минусовых цилиндрах, и выявление разрушенных служебных модулей. Если необходимо, то восстановление поврежденных модулей методом пересчета или их перезапись из эталонных данных базы PC-3000.
Поиск дефектных секторов на поверхностях HDD и их скрытие. Скрытие осуществляется за счет резервной зоны HDD, специально предназначенной для этого. Емкость HDD при этом не уменьшается.
Процесс программного ремонта HDD максимально информативен и требует от оператора наличия только базовых знаний о строении HDD. При этом он достаточно эффективен - позволяет ремонтировать до 80% всех неисправных HDD.
7.3 Состав PC-3000 for Windows (UDMA)
На рисунке 7.2 представлен комплект оборудования PC-3000 for Windows (UDMA), который включает в себя следующие элементы:
Плата-тестер PC-3000 UDMA
ПО комплекса PC-3000 for Windows (UDMA)
Двух портовый адаптер управления питанием PC-3K PWR2
Адаптер PC-USB-TERMINAL
Адаптер PC-2" (для 2.5" и 1.8" HDDs)
Адаптер PC-CF (для 1.0" HDDs Compact Flash)
Адаптер PC PATA-SATA
Адаптер PC-SEAGATE
Адаптер PC-SEAG.SATA
Адаптер PC-PATA-SATA mini
Адаптер PC-TOSHIBA
Переходник PC-QUANTUM
Переходник PC-MX-SAFE
Щуп ATMR, HTS548, HTS726
Щуп AVV2, VLAT
Интерфейсные кабели IDE 80 pin (80 см.)
Интерфейсный кабель IDE 80 pin (34 см.)
Кабели питания HDD
Кабель питания PC-MX-SAFE
Кабель USB
Кабель HDD-10 pin (30 см.)
Руководство пользователя
Рис. 7.2. Комплект оборудования PC-3000 for Windows (UDMA)
На рисунках 7.3 – 7.13 представлены отдельные элементы комплекта оборудования PC-3000 for Windows (UDMA).
Рис. 7.3. Адаптер PC-USB-TERMINAL
Рис. 7.4 Адаптеры PC-QUANTUM, PC-SEAGATE, PC-SEAG.SATA
Рис. 7.5. Адаптер PC-2" - предназначен для подключения 2.5" и 1.8" HDD
Рис. 7.6. Адаптер PC-CF - предназначен для подключения 1.0" HDD (Compact Flash)
Рис. 7.7. Адаптер PC PATA-SATA - предназначен для подключения SATA HDD
Рис. 7.8. Адаптер PC PATA-SATA mini - предназначен для прямого подключения к порту 2 платы "PC-3000 UDMA"
Рис. 7.9. Переходник PC-TOSHIBA - предназначен для подключения HDD Toshiba 1,8" (Micro ATA 3.3 V)
Рис. 7.10. Схема подключения адаптера PC-USB-TERMINAL
Рис. 7.11. Схема подключения адаптера PC-SEAG.SATA
Рис. 7.12. Переходник PC-MX-SAFE - предназначен для работы
с накопителями MAXTOR в safe mode
Рис. 7.13. Щупы Unlock - 2,3 - предназначены для разблокировки HITACHI/IBM HDD
7.4 Программное обеспечение PC-3000 for Windows (UDMA)
Программное обеспечение комплекса PC-3000 for Windows (UDMA) построено с использованием технологии MDI. Это позволяет работать с 2-мя портами платы PC-3000 UDMA одновременно и независимо друг от друга в одном приложении. Кроме того, в состав ПО комплекса входят специализированные окна: выбора утилиты, ATA commander, скрипт система, управления базой данных. Использование технологии MDI позволяет размещать на рабочем столе все окна одновременно в рамках одного приложения PC-3000 for Windows (UDMA).
В состав ПО комплекса PC-3000 for Windows (UDMA) входят как универсальные утилиты, так и специализированные. С помощью универсальных утилит Вы сможете достаточно быстро произвести диагностику любого неисправного HDD и определить дальнейшие пути ремонта HDD. Непосредственно же ремонт HDD осуществляется при помощи специализированных утилит, которые индивидуальны для каждого семейства HDD.
Все специализированные утилиты позволяют выполнить следующие действия:
тестировать HDD в технологическом режиме;
тестировать и восстанавливать служебную информацию HDD;
читать и записывать содержимое Flash ПЗУ HDD;
загружать программу доступа к служебной информации LRD;
просматривать таблицы скрытых дефектов P-лист, G-лист, T-лист;
скрывать найденные дефекты на поверхностях магнитных дисков;
пересчитывать транслятор;
изменять конфигурационные параметры.
Для простоты работы в комплексе PC-3000 for Windows (UDMA) реализована новая база данных ресурсов (образы Flash ROM, служебные модули, треки служебной зоны). Она позволяет систематизировать все ресурсы HDD и хранить их в сжатом виде.
Основные отличия новой базы данных комплекса PC-30000 for Windows (UDMA) следущие:
новый сервер базы данных, использующий FireBird database server (один из самых надежных SQL серверов);
новый механизм индексации хранящихся в базе данных ресурсов для ускорения процесса поиска;
возможность создания разделяемой базы ресурсов, используемой несколькими комплексами PC-3000 for Windows (UDMA) одновременно;
возможность управления политикой бэкапирования данных;
возможность создания базы данных объемом более 4 Гб.
Хочется отметить еще одну уникальную возможность - самостоятельное добавление пользователем новых ресурсов от новейших моделей HDD и осуществление их поиска в базе PC-3000.
7.5 Специализированные режимы для опытных пользователей
Специально для опытных пользователей, самостоятельно изучающих HDD, в состав программного обеспечения комплекса PC-3000 for Windows (UDMA) входят специализированные режимы: встроенная скрипт система и ATA commander.
Скрипт система - позволяющая самостоятельно силами пользователя реализовать на встроенном языке программирования Visual Basic Script алгоритмы подачи команд в HDD, включая подготовку данных и интерпретацию результатов. Для доступа к HDD предоставляется развитая объектная модель, которая используется утилитами комплекса. В качестве "теста пользователя" реализованный алгоритм может быть подключен к любой утилите комплекса PC-3000 for Windows (UDMA).
ATA commander - интерактивный режим, позволяющий пользователю без навыков программирования подавать команды в HDD, включая технологические. ATA commander позволяет установить значение регистров HDD (включая регистры режима LBA 48), подготовить и отобразить данные команд HDD с помощью редактора двоичных данных. Последовательность подаваемых команд в HDD может быть классифицирована по типам и сохранена в файл для дальнейшего использования или отправлена другому пользователю комплекса. На основании данных команды HDD, ATA commander может сгенерировать текст скрипта для использования из Script системы или в качестве "теста пользователя".
Заключение
Аппаратная часть винчестера очень сложно устроена, поэтому восстановление данных на физическом уровне является долговременным и не всегда результативным процессом, из – за сложности этой работы ее стоимость очень высока. Поэтому, для экономии времени и денег следует позаботиться о своевременном создании резервных копий информации.
Список литературы
Касперски К. «Восстановление данных. Практическое руководство». Издательство: "БХВ-Петербург" 2001г.
Принципы и структура хранения данных на жестком диске./http://www.pcmag.ru/index.php
Принцип работы жесткого диска./ http://kompinfo.com/category/
Принципы магнитной записи на жесткий диск. Сергей Коженевский / 2005-09-25, http://hdd.kulichki.com/index.php
Как работают программы восстановления данных. / 26.01.2007 http://www.winblog.ru/admin/
Программно-аппаратный комплекс для ремонта HDD ATA, SATAPC-3000 for Windows (UDMA)/ http://www.acelab.ru/dep.pc/pc3000udma.php#001