Другие устройства

Жесткие диски. Принципы работы и восстановления данных. (Часть 1)

Целью написания данной статьи является краткий обзор принципов работы современных накопителей на жёстких магнитных дисках типа винчестер (далее НЖМД), и принципов восстановления данных с них.

Делаю я это в связи с появлением большого количества фирм занимающихся якобы восстановлением данных, но обладающих крайне низким техническим уровнем и неграмотным персоналом. Данные фирмы обычно вешают клиентам «лапшу на уши» и искусственно завышают цены на свои услуги за счёт того, что называют клиенту неверную причину неисправности его НЖМД.

Есть надежда, что прочитав данный текст, даже человек, не являющийся большим специалистом в области НЖМД, сможет снять со своих ушей хотя бы часть этой «лапши». Следует, однако, отметить, что в статье многие вещи объясняются в упрощённой форме т.к. я не ставил задачи писать научную статью или дипломный проект.

Итак:

Первые, серийно выпускаемые НЖМД, устанавливаемые в компьютеры IBM PC XT обладали форм фактором 5,25 дюйма, и имели интерфейс MFM (Модифицированная частотная модуляция).

Форм – фактором называется физический размер самого устройства. Например CD-ROM обычно имеет форм – фактор 5,25, а флоппи дисковод – 3,5 дюйма.

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

У них была крайне примитивная собственная микропрограмма и БМГ дискретно перемещающийся от одного цилиндра к другому. Учитывая низкую плотность записи, это было возможно. Вообще, можно сказать, что первые НЖМД были модифицированной версией флоппи дисководов. Особенно ярко это видно из того что интерфейс MFM до сих пор применяется для соединения флоппи дисководов с материнской платой компьютера. При изготовлении магнитных дисков для НЖМД не все пластины получались идеальными и обычно на них имелись дефектные сектора (далее BAD блоки). Для того времени это считалось нормальным, и на крышку дисков обычно лепили Defect Map – табличку с указанием местоположения дефектных секторов. Чтение и запись данных дисков производилась с помощью CHS (Cylinder, Head, Sector) адресации, т.е. указывался номер цилиндра на котором находится сектор, номер головки по которой он расположен и собственно номер сектора. На диск кроме Defect Map клеился его паспорт – бумажка с указанием его ёмкости, и количества цилиндров, головок и секторов. Данные параметры совпадали с реальными физическими параметрами диска, т. е. у диска физически было именно то количество цилиндров, головок и секторов которое было указано в паспорте. Профессиональным языком это звучит так: «У диска совпадали физическая и логическая геометрия.» После разметки и форматирования НЖМД пользователь должен был вручную занести адреса дефектных секторов в перечень дефектных секторов в файловой таблице.

Со временем стало выясняться, что интерфейс MFM обладает рядом недостатков. Он был медленный и не мог адресовать новые диски большого объёма. Сначала он был заменён на RLL а затем на привычный IDE (Integrated Drive Electronic). С интерфейсом IDE функциональные способности НЖМД были расширены. Во первых Шаговый привод БМГ был заменён на соленоидный. Он работал намного быстрее и с его применением можно было существенно увеличить плотность записи на диск.

Соленоидный привод БМГ представлял собой катушку, находящуюся в магнитном поле, которая изменяла своё положение в зависимости от силы тока пропускаемого через неё. Таким образом, положение головки на диске было функцией от силы пропускаемого через катушку тока. Однако точности попадания у соленоидного привода не хватало, т.к. он не был дискретным. По этому была введена сервосистема.

На диск на заводе с помощью специального устройства называемого servowriter наносились сервометки, наносились они более сильным магнитным полем, чем поле, используемое при записи на диск. Метки располагались на диске примерно как спицы в колесе. По ним головка позиционировалась на нужный цилиндр. Именно для этого у современных накопителей служат заклеенные технологические отверстия одно из которых расположено с боку, а другое сверху или снизу гермоблока.

Во вторых инженерам пришло в голову, что неудобно каждый раз вручную скрывать имеющиеся на диске дефекты средствами файловой системы, тем более что с увеличением плотности записи их становилось всё больше и больше. Для примера довольно старый НЖМД фирмы IBM IC35L040AVER07 мог иметь примерно 20000 скрытых на заводе дефектов. В результате была придумана технология скрытия дефектов средствами микропрограммы жёсткого диска.

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

Однако такой способ скрытия дефектов приводил к существенному снижению скорости работы накопителя, т.к. накопитель должен был периодически позиционировать БМГ в конец дискового пространства. Для того, чтобы избежать этого была придумана другая схема скрытия дефектов. Вместо обращения к дефектному сектору происходило обращение к следующему за ним нормальному сектору, а остальные сектора, следовавшие за дефектным, как бы сдвигались в сторону резервной зоны. Таким образом, не происходила потеря времени на рывки БМГ к резервной зоне НЖМД. Далее технология была усовершенствованна ещё больше.

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

Таким образом, НЖМД мог «сыпаться» незаметно для пользователя, а иногда даже незаметно для его данных. Понятно, что в процессе работы скрывать дефекты можно было только с помощью метода переназначения дефектов, т.к. в случае скрытия их методом пропуска, в результате образующегося смещения секторов после дефектного повреждались бы данные пользователя. Происходило бы это из-за того, что сектор после дефектного мог содержать в себе какую то пользовательскую информацию и запись в него другой информации приводило бы к потере первой. Таки образом появилось понятия P-list и G-List. P-List – это заводской дефект-лист, дефекты расположенные в нём обычно пропускаются. G-List это пользовательский дефект лист, дефекты находящиеся в нём скрываются методом замены.

В дальнейшем с увеличением плотности записи стало необходимо сделать возможным наличие разного количества секторов на разных цилиндрах.

Действительно т.к. длина внешней окружности магнитных дисков больше внутренней то на внешней окружности могло разместиться больше секторов чем на внутренней. Для этого была введена Zone Table (зонная таблица). Согласно зонной таблицы, магнитные диски были разделены на зоны. Обычно у современных накопителей 15 зон. Внутри каждой зоны на цилиндре было одинаковое количество секторов.

Долгое время зонная таблица была одинакова для одной и той же серии накопителей, однако последние накопители сделаны так, что у разных экземпляров одной и той же модели может быть разное SPT (Sector Per Track). Более того, у одних и тех же зон, расположенных по разным головкам, оно также может различаться. Зонная таблица является так же одним из средств для скрытия дефектов поверхности на накопителе. Таким образом, реальная физическая геометрия перестала совпадать с логической, а заодно подошёл и предел CHS адресации 528 мегабайт.

В результате чего был придуман другой способ адресации секторов на диске – LBA (Logical Block Addressing). Таким образом, диск стал адресоваться как одномерный массив у которого каждый сектор имеет свой порядковый номер. Однако проблема увеличения плотности записи всё равно оставалась, и было два пути ее решения. Первый - это введение понятия адаптивных настроек.

Адаптивные настройки – это настройки учитывающие отступления параметров материалов и деталей, из которых изготовлен накопитель от идеала. Конкретно они могут характеризовать разные вещи, но их назначение остаётся одинаковым. Например адаптивная настройка может отвечать за расстояние между головкой чтения и головкой записи. В результате не правильных адаптивных настроек накопитель например сможет читать но не сможет записывать информации. Или например отвечать за место положение служебной зоны на диске. Или отвечать за коэффициенты усиления для разных головок накопителя и т.п.

По сути, у современных НЖМД зонная таблица тоже является адаптивной настройкой. Однако, если у накопителей с невысокой плотность записи повреждение адаптивных настроек выражалось в небольшом падении скорости работы то для современных накопителей, а точнее для данных хранящихся на них, это может быть смертельно. Второй способ записи – это применение GMR (магнито-резистивных) головок. Ранее магнитная головка накопителя состояла из феррита в виде буквы I и катушки на ней. В результате явления индукции при пролёте над намагниченной поверхностью магнитного диска НЖМД в ней (в головке) появлялись токи. GMR - головка работает по другому, она изменяет своё электрическое сопротивление под воздействием изменяющегося магнитного поля. GMR головки впервые были применены фирмой IBM в дисках с плотность записи примерно 1,5 гигабайта на пластину, и они применяются до текущего момента в современных дисках всех производителей. Однако, данная технология подходит к своему технологическому пределу. Далее, видимо GMR головка будет дополнена лазером который будет прогревать записываемый сектор перед записью. Базироваться данная технология будет на Эффекте Кюри. Эффект Кюри заключается в том что некоторые вещества хорошо перемагничиваются в нагретом состоянии и практически не перемагничиваются в холодном.

Ещё одна интересная технология появилась чуть позже. Она называется S.M.A.R.T (Self monitoring and Analize Reporting Technology). Работает она следующим образом: при работе НЖМД есть ряд критических для его функционирования параметров при ухудшении которых можно прогнозировать его скорую поломку. При использовании этой технологии ведется журнал изменения данных показателей и результаты сообщаются операционной системе и BIOSу компьютера. Следующая добавленная технология называлась AAM (Advanced Acoustic Management). Заключается она в возможности изменения уровня шума за счёт изменения быстроты позиционирования БМГ накопителя, т.е. чем быстрее работает накопитель, тем больше шума он создаёт. Ещё одна технология даёт возможность установки аппаратного пароля на накопитель. Правда при этом она является ещё и слабым местом с точки зрения защиты от вирусов. На накопитель стало возможным устанавливать пароли. Их было два Master пароль и User пароль. Также защита делилась на два уровня, high и max. Работает данная система так. Накопитель можно открыть и Master и User, однако при уровне защиты max, при открывании накопителя Master паролём данные находящиеся на нём теряются. В закрытом паролём состоянии диск корректно определяется в BIOS компьютера, однако отвергает попытки чтения и записи секторов.

Насколько надёжна такая защита? С одной стороны достаточно надёжна, т.к. вскрыть её непосвящённому человеку довольно сложно. Однако у накопителей, кроме обычных команд чтения записи LBA секторов, есть команды чтения и записи служебной информации. Они разные у каждого НЖМД, но они есть. С помощью их можно посмотреть пароль, записанный в служебной зоне и при желании снять его. Производители однако стали предпринимать попытки сделать так что бы пароль нельзя было снять так просто. Однако, с моей точки зрения это довольно глупо. Причин тому несколько. Во первых если удастся сделать такого накопитель с которого невозможно снять пароль то его просто нельзя будет продавать т.к. он попадёт под понятие криптографических средств. Импорт криптографических средств запрещён во многих странах в том числе и в Америке где разрабатываются обычно современный НЖМД. Во вторых надо понимать что обычно пользователи ничего не знают про пароль и используют для решения данной проблемы другие средства, а наличие пароля только усложняет им жизнь. Например представьте себе эпидемию вируса устанавливающего пароль на накопитель.

На этом можно закончить обзор принципов работы НЖМД. В следующей статье я планирую рассмотреть наиболее частые поломки накопителей и принципы восстановления информации с них.

 

Головняк Сергей.
Ведущий специалист
Sergol Group.
http://www.hddfix.ru