Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
32
Добавлен:
30.03.2015
Размер:
1.75 Mб
Скачать

1.4.Перпендикулярная запись

Рис.1. Схема технологии перпендикулярной записи

Впервые метод перпендикулярной записи на магнитный носитель был применен еще в конце 19 века датским ученым Вольдемаром Поульсеном для магнитной записи звука. Однако в дальнейшем исследования на эту тему носили больше теоретический характер из-за недостаточного развития технологий, не позволявших использовать разработки. Отцом технологии перпендикулярной записи считается доктор Shun-ichi Iwasaki – президент и директор престижного японского Tohoku Institute of Technology [3,4]. Именно этот ученый в 1976 году теоретически обосновал преимущества нового типа записи, исследователей всего мира к углубленным разработкам.

При перпендикулярной записи на диск магнитные частицы располагаются под углом 90° к плоскости магнитного диска. Благодаря этому домены, хранящие разные значения, не отталкиваются друг от друга, потому что намагниченные частицы повернуты друг к другу разными полюсами. Увеличение плотности, означающее уменьшение размера частиц, при этом не будет требовать уменьшения толщины слоя, что обеспечит стабильность магнитного материала.

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

Рис.2. Состав магнитного слоя при перпендикулярной записи

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

Рис.3. Процесс перпендикулярной записи на диск

Важное отличие перпендикулярной записи от продольной заключается в характере и расположении сигнала чтения. Продольный магнитный слой без подслоя испускает магнитный сигнал только с границы перехода бит (с границы между одной магнитной частицы и другой) под прямым углом к плоскости диска. Перпендикулярный магнитный слой испускает сигнал по всей площади частицы, а благодаря подслою вектор этого сигнала направлен параллельно плоскости диска. Для считывания требуются принципиально новые головки чтения, которые позволяют значительно увеличить соотношение сигнал/шум и мощность самого сигнала. Поэтому некоторые компании уже начинают применять новое поколение головок, использующее туннельный магниторезистивный эффект (TMR Heads). Следует отметить, что в этом (2007) году Нобелевскую премию по физике получили Albert Fert и Peter Gruenberg именно за открытие гигантского магниторезистивного эффекта на основе которого и создаются головки для современных винчестеров.

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

УСТРОЙСТВО ЖЕСТКИХ ДИСКОВ

Конструкция современных жестких дисков представляет собой сложнейшую систему, содержащую как электронные, так и механические компоненты. Структурная блок-схема типичного НЖМД представлена на рис. 1.

Рис. 1. Структурная схема жесткого диска

Конструктивно он состоит из герметичной камеры и платы контроллера. К основным функциональным подсистемам жестких дисков относятся:

МАГНИТНЫЙ ДИСК

Этот элемент в конструкции жесткого диска является той самой «ахиллесовой пятой», повреждение которой неминуемо приводит к потере информации. Под повреждением здесь необходимо понимать не только механические царапины и запилы (см. Рис.4), но и отпечатки пальцев, после неквалифицированного вскрытия гермозоны жесткого диска, гарь от сгорания предусилителя-коммутатора, появление сбойных секторов и т.д. Сохранение целостности поверхности магнитного диска необходимое условия для проведения работ по восстановлению данных.

Магнитный диск представляет собой алюминиевую пластину (иногда стеклянную, как у винчестеров фирмы IBM) круглой формы размером примерно как компакт-диск.

Рис.8 Магнитный диск

На поверхности диска находиться магнитный слой, который и служит основой для записи информации. Изначально поверхность «блина» абсолютно «лысая», то есть магнитные домены ни как не ориентированны.

Рис.9 Поверхность чистого (слева) и записанного (справа) магнитного диска

Для ориентирования блока магнитных головок на магнитный диск наносятся специальные метки - серво-метки. Это осуществляется «родным» блоком магнитных головок, который управляется в свою очередь внешним устройством, называемым серво-врайтером. После того как поверхность размечена, винчестер уже может сам писать и читать поверхность. Тот момент, что серво-метки записаны «родными» головками после сборки, делает конструкцию достаточно уникальной, в том смысле, что если требуется замена головок, то новые головки необходимо подбирать от аналогичного винчестера, но при этом они могут немного не подходить и не попадать по старым серво-меткам. Поэтому иногда для восстановления данных приходиться менять блок магнитных головок несколько раз. И еще. При больших объемах винчестера в него устанавливается несколько магнитных дисков, которые закрепляются на шпиндельном двигателе, и образуют пакет «блинов». Соответственно и роспись серво-меток происходит по всем «блинам» одновременно, и смещение их (магнитных дисков) относительно друг друга после этого недопустимо. А если приходиться переставлять диски из-за заклинивания шпиндельного двигателя, то только целым пакетом.

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

УСТРОЙСТВО НАКОПИТЕЛЕЙ

Конструктивно НЖМД (или «винчестер») состоит из механической части — герметизированного бло­ка (HDA) и платы электроники (РСВ). В гермоблоке размещена вся механика винчестера, а также мик­росхема предварительного усилителя/коммутатора. На плате электроники установлены микросхемы, управляющие механическими узлами, кодировани­ем/декодированием данных с магнитного носителя и приемом/передачей информации через внешний интерфейс. Плата электроники размещается за пре­делами гермоблока, - как правило, в нижней его ча­сти. В некоторых моделях винчестеров, например известной серии Barracuda фирмы Seagate, кон­троллер закрыт металлической крышкой, защищаю­щей электронику от наводок и повреждений.

Механическая часть

Основу всей конструкции составляет литой ме­таллический корпус, предохраняющий точную меха­нику от воздействия окружающей среды. Внутрен­ний объем корпуса заполнен очищенным от пыли воздухом. Сборка механики осуществляется в цехе, где на один кубический метр воздуха приходится менее ста пылинок (т.н. чистой зоне класса 100).

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

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

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

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

Вращение дисков осуществляет специальный 3-фазный электродвигатель. Статор двигателя содер­жит три обмотки, включенные звездой с отводом по­середине, а ротор — постоянный секционный магнит из редкоземельных металлов. Для обеспечения ма­лого биения на высоких оборотах в двигателе исполь­зуются специальные подшипники, которые могут быть как шариковыми, так и более совершенными — жид­костными (вместо шариков в них используется спе­циальное масло, поглощающее ударные нагрузки, что увеличивает долговечность двигателя). Жидкостные подшипники имеют более низкий уровень шума и по­чти не выделяют тепло во время работы. Скорость вра­щения двигателя в современных накопителях с ин­терфейсом IDE составляет 5400 или 7200 об./мин, с интерфейсом SCSI - 10 000 или 15 000 об./мин.

Магнитная головка представляет собой сложную конструкцию, состоящую из множества деталей. Эти детали настолько малы, что изготавливаются мето­дом фотолитографии (как микросхемы). Рабочая по­верхность керамического корпуса головки отполи­рована с такой же высокой степенью точности, что и диск. Привод головок представляет собой плоскую катушку, помещенную между полюсами постоянного магнита и закрепленную на конце рычага, вращаю­щегося на подшипнике. На другом конце рычага на­ходится подвес с магнитными головками. Сам под­вес подпружинен с определенным усилием, что по­зволяет головкам «лететь» на высоте в десятые доли микрометра над поверхностью диска.

Привод, перемещающий блок головок, получил на­звание Voice Coil («звуковая катушка») — из-за прямой аналогии с устройством электродинамического гром­коговорителя. Обмотку позиционера окружает постоян­ный магнит. При подаче на катушку тока определенной величины и полярности рычаг поворачивается в соот­ветствующую сторону с определенным ускорением. Изменяя ток в обмотке, можно устанавливать головки в любое положение на траектории в плоскости диска.

Для фиксации головок в нерабочем состоянии (в зоне парковки) используются специальные защел­ки. Наибольшее распространение получили два типа защелок - магнитные и воздушные. Магнитная за­щелка представляет собой маленький постоянный магнит, который в положении парковки головок при­тягивает железную пластинку — флажок, установлен­ный на корпусе обмотки. Воздушная защелка (или воздушный замок) также фиксирует позиционер в парковочной зоне, не давая ему перемещаться. С началом вращения дисков создаваемый ими воз­душный поток отклоняет «парус» воздушной защел­ки и освобождает систему позиционирования.

В гермоблоке находится предусилитель/комму­татор сигналов с магнитных головок. Это необходи­мо, чтобы уменьшить наводки на гибкий шлейф (плоский кабель), идущий от головок к основной пла­те. К этому же шлейфу подключена «звуковая катуш­ка», а иногда и шпиндельный двигатель. Однако в большинстве накопителей питание на двигатель по­дается через отдельный шлейф, поэтому подключе­ние гермоблока к плате управления, как правило, осуществляется двумя разъемами.

Плата электроники

Схемотехника современных накопителей отлича­ется применением небольшого числа микросхем разной степени интеграции. Структурная схема элек­тронной части приведена на рис. 1.

Электрическая схема современных накопителей, как правило, реализована на 6 интегральных микро­схемах. Однако в последних моделях появились БИС контроллеров системы, совмещающие канал чтения/ записи, микроконтроллер на основе RISC-процес­сора и контроллер ввода/вывода. Таким образом, количество ИМС на плате электроники НЖМД со­кратилось до четырех:

контроллер системы, включающий канал чте­ния/записи, контроллер ввода/вывода и микрокон­троллер;

микросхема ЭППЗУ, содержащая микропро­грамму;

микросхема управления двигателем и приво­дом головок;

микросхема ОЗУ.

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

Первым совмещенным контроллером системы, использованным в накопителях, была БИС, разра­ботанная фирмой Cirrus Logic. К сожалению, недо­статочно отработанная методика применения этой БИС привела к частым отказам накопителей серий MPF3xxxAT и MPG фирмы Fujitsu.

Микроконтроллер содержит процессорное ядро, реализованное на основе RISC-архитектуры. После подачи питающего напряжения или активизации сиг­налом внешнего интерфейса, схема сброса подает сигнал RESET на микроконтроллер, который, отраба­тывая микропрограмму, записанную в ПЗУ, выпол­няет самодиагностику, очищает рабочую область памяти данных, программирует дисковый контрол­лер и другие микросхемы, находящиеся на внутрен­ней шине НЖМД.

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

Канал чтения/записи состоит из предусилителя/ коммутатора (расположенного в гермоблоке), схе­мы чтения, схемы записи и генератора опорных вре­менных последовательностей.

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

Интегрированный канал записи/чтения в режи­ме записи осуществляет прием данных с дискового контроллера синхронно с тактовой частотой записи, производит их кодирование, осуществляет предкор-рекцию и передает в усилитель записи. В режиме чтения сигнал с выхода предусилителя/коммутато­ра поступает на схему АРУ, затем, проходя через программируемый фильтр, схему адаптивной ком­пенсации и импульсный детектор, преобразовыва­ется в последовательность данных, которые посту­пают на контроллер диска для дальнейшей обработ­ки и передачи через внешний интерфейс.

Контроллер диска — наиболее сложный элемент накопителя - определяет скорость обмена данными между накопителем и центральным процессором компьютера.

Контроллер диска имеет четыре порта, с помощью которых он подключается к ЦП, микроконтроллеру, буферному ОЗУ и каналу ввода/вывода (интерфей­су). Дисковый контроллер представляет собой авто­мат, управляемый микроконтроллером. Со стороны ЦП доступны только стандартные регистры контроллера. Программирование дискового контроллера произво­дится на этапе инициализации при помощи микро­контроллера, при этом выполняется настройка мето­дов кодирования данных, выбирается полином ис­правления ошибок чтения, устанавливается режим гибкого или жесткого разбиения на сектора и т.д.

Менеджер буфера данных является функцио­нальной частью дискового контроллера и управляет буферным ОЗУ, объем которого в современных на­копителях составляет от 512 Кбайт до 8 Мбайт. Ме­неджер разбивает все пространство буферного ОЗУ на секторы. Специальные регистры, доступные со стороны микроконтроллера, содержат начальные адреса этих секторов. Когда ЦП осуществляет об­мен данными с одним из них, со стороны канала чтения/записи возможен обмен данными с другим сектором буферного ОЗУ. Таким образом распа­раллеливаются процессы чтения/записи данных и обмена с ЦП.

Контроллер двигателя управляет 3-фазным дви­гателем, его программирование осуществляется при помощи микроконтроллера. Существуют три режима управления двигателем: запуск, ускорение и стабиль­ное вращение. Рассмотрим режим запуска. При включении питания подается сигнал сброса на мик­роконтроллер, который, выполняя инициализацию, записывает в регистр контроллера двигателя команду на запуск. Контроллер формирует сигналы пере­ключения фаз, при этом шпиндельный двигатель вра­щается с небольшой скоростью и генерирует э.д.с. самоиндукции при переключении обмоток. Контрол­лер двигателя обнаруживает этот сигнал и передает микроконтроллеру, который использует его для из­мерения частоты вращения шпинделя. В режиме ускорения микроконтроллер увеличивает частоту пе­реключения фазных обмоток, постоянно измеряя ско­рость вращения двигателя. Когда номинальная ско­рость достигнута, контроллер переводит двигатель в режим стабильного вращения.

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

Контроллер привода головок формирует управ­ляющий ток перемещения и стабилизации позицио­нера на заданном треке. Значение тока вычисляется микроконтроллером на основе оцифрованного сиг­нала рассогласования положения головки относи­тельно трека (Position Error Signal, PES). Значение тока в цифровом виде подается на ЦАП. Аналоговый сигнал с выхода ЦАП усиливается и подается на «зву­ковую катушку» позиционера головок.

Служебная информация

Служебная информация необходима для функци­онирования самого НЖМД и, как правило, скрыта от пользователя. Служебную информацию можно раз­делить на четыре основных типа:

серво-информацию, или серворазметку;

• формат нижнего уровня;

резидентные микропрограммы (рабочие про­граммы);

таблицы конфигурации и настройки.

Серворазметка необходима для работы сервоси­стемы привода магнитных головок НЖМД. Именно по серворазметке осуществляется их позициониро­вание и удержание на дорожке. Сервисная разметка записывается на диск в процессе производства че­рез специальные технологические окна в корпусе собранного гермоблока. Затем окна заклеиваются шильдиками, на которых написано «DO NOT OPEN». Запись осуществляется собственными головками накопителя при помощи специального высокоточного прибора - серворайтера. Перемещение позиционе­ра головок осуществляется специальным толкателем серворайтера по калиброванным шагам, которые намного меньше межтрековых интервалов.

Рабочие программы (микрокод) управляющего микроконтроллера представляют собой набор про­грамм, необходимых для работы НЖМД. К ним отно­сятся программы первоначальной диагностики, управления вращением двигателя, позиционирова­ния головок, обмена информацией с дисковым кон­троллером, буферным ОЗУ и т.д. В большинстве мо­делей накопителей рабочие программы размещаются во внутреннем ПЗУ («прошивке») микроконтролле­ра, в других моделях используется внешнее ЭППЗУ. В некоторых моделях НЖМД часть рабочих программ хранится в служебной зоне магнитного диска, а в ПЗУ микроконтроллера записаны программы инициали­зации, позиционирования и начальный загрузчик для считывания рабочих программ с магнитного диска в ОЗУ. Вследствие того, что программные модули пе­регружаются в ОЗУ при запуске накопителя, они по­лучили название «резидентных».

Производители жестких дисков размещают часть микропрограмм на магнитном носителе не только для экономии объема ПЗУ, но и для возможной оператив­ной коррекции кода, если в процессе производства или эксплуатации обнаруживаются ошибки. На Интернет-сайтах почти всех производителей НЖМД можно найти утилиты, выполняющие такую модернизацию. Перепи­сать микропрограмму на диске значительно проще, чем перепаивать «прошитые» микроконтроллеры. (По этой причине фирма Western Digital несколько лет назад отозвала большую партию накопителей.)

Формат нижнего уровня. Начало дорожки опре­деляется индексным импульсом. Каждая дорожка разделена на секторы данных и сервометки. Формат каждого сектора содержит поле идентификации, поле данных, синхрозоны и пробелы. В начале каждого сектора расположена синхрозона, которая служит для фазирования и синхронизации строб-импульса вы­деления данных. Поле идентификации содержит ад­ресный маркер, физический адрес сектора, байт флагов и байты циклического контрольного кода.

В последнее время получил распространение формат без использования идентификаторов. При таком способе расположения информации на дорож­ке поля идентификации вообще отсутствуют, что уве­личивает полезную емкость дисков. Вместо них ис­пользуется система сервоуправления, располагаю­щая физические секторы на дорожке. Чтение/ запись всех секторов производится за один оборот диска, при этом в ОЗУ хранятся образы считанной и записываемой дорожек. Таким образом, для чтения одного сектора в ОЗУ «помещается» вся дорожка целиком, и чтение последующих секторов выполня­ется не с диска, а из ОЗУ накопителя. Для записи одного сектора происходит чтение дорожки, ее мо­дификация в ОЗУ и запись целой дорожки на диск.

Таблицы конфигурации и настройки накопителей содержат информацию о логической и физической организации дискового пространства. Они необхо­димы для самонастройки электронной части диска, которая одинакова для всех моделей семейства. На­пример, в процессе «проектирования» модели с ем­костью 80 Гбайт на четырех поверхностях двух пла­стин автоматически получается «половинная» модель (40 Гбайт на одной пластине или двух поверхностях) или «четвертинка» (20 Гбайт на одной поверхности).

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

Таблицы дефектов. Современная технология из­готовления магнитных дисков не позволяет изгото­вить диски без дефектов. Неоднородность материа­ла носителя, огрехи шлифовки, посторонние примеси при нанесении магнитного слоя и т.д. порождают об­ласти поверхности диска, на которых невозможна безошибочная запись и чтение данных.

В накопителях 15-летней давности, например типа ST506/412, таблица дефектных дорожек была напе­чатана на наклейке, размещенной на корпусе гермо-блока, а сам «винчестер» имел запас по емкости. На­пример, НЖМД типа ST225 (20 Мбайт) на самом деле имел емкость 21,5 Мбайт, т.е. 1,5 Мбайта отводилось под сбойные сектора и дорожки. В современных НЖМД также имеется избыточность, но она доступ­на только микроконтроллеру. Одна часть избыточной емкости отводится под рабочие программы, таблицы конфигурации, счетчики S.M.A.R.T., заводскую инфор­мацию, таблицы дефектов и т.п. Другая часть резер­вируется для замены сбойных секторов, возникаю­щих в процессе работы «винчестера».

Заполнение таблиц дефектов производится во вре­мя внутризаводских испытаний. Номера сбойных бло­ков помещаются в таблицу. Такая процедура называ­ется скрытием или подгрузкой дефектов (UPDATE DEFECT). Если при работе НЖМД произойдет обра­щение к скрытому дефектному сектору, оно будет пе­реадресовано резервному сектору. Поэтому все со­временные накопители, вышедшие с завода-изгото­вителя, не имеют ни одного дефектного сектора.

Большинство моделей НЖМД имеют две таблицы дефектов: начальную (Primary, или P-List) и растущую (Grown, или G—List]. Начальная таблица заполняется на заводе-изготовителе при выполнении внутризаводс­кого тестирования — SELFSCAN (intelligent burn-in). Вторая таблица предназначена для размещения де­фектов, возникающих во время эксплуатации. Для этого в списке пользовательских команд практически всех НЖМД существует команда «assign», по которой про­исходит переназначение сбойного сектора на ре­зервный. Эту команду используют многие тестовые программы, в том числе рекомендованные фирмой-производителем для «лечения» накопителей.

В накопителях фирмы Western Digital реализо­вана система Data Lifeguard, выполняющая перена­значение сбойных секторов автоматически, когда к накопителю нет обращений со стороны ЦП. Для этого накопитель тестирует свои поверхности и переносит данные пользователя в резервный сектор, а де­фектный сектор помечается соответствующим об­разом. Такой механизм скрытия дефектов по сути аналогичен процедуре «assign».

В накопителях Fujitsu, Quantum, Maxtor, IBM реа­лизован механизм автоматического скрытия дефек­тов во время операции записи. Так, если запись дан­ных производится в дефектный сектор, накопитель самостоятельно переадресует обращение в резервную зону, а дефектный сектор помечается как сбойный и его номер заносится в таблицу (G-List). Из специализированных программ, служащих для скры­тия дефектных секторов, можно отметить FUJFMT.EXE для накопителей Fujitsu, WDDIAG.EXE для накопите­лей Western Digital, ShDiag.exe от Samsung и т.п.

Два механизма скрытия дефектов

При использовании механизма переназначения (assign) накопитель прописывает в поле идентифи­кации дефектного сектора флаг перемещенного сек­тора и далее в поле данных этого сектора - номер резервного сектора, к которому необходимо обра­титься для записи или чтения данных. Как правило, резервным сектором является первый сектор после рабочей области данных пользователя (см. рис. 2).

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

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

Второй механизм скрытия дефектных секторов, ре­ализуемый на заводе-изготовителе, заключается в пропуске дефектного сектора. При использовании та­кого метода дефектный сектор игнорируется, а следующему за резервным сектором присваивается номер дефектного (и так далее, по цепочке); самый последний сектор сдвигается в резервную зону (см. рис. 3).

Такой метод скрытия нарушает целостность по­следовательности форматирования нижнего уровня, т.е. система трансляции логической структуры диска LBA (logical block addressing - логическая адреса­ция блоков) в физическую структуру PCHS (physical cylinder, head, sector — физические цилиндр, голов­ка, сектор) должна учитывать дефектные сектора, чтобы избежать обращения к ним. Метод пропуска требует пересчета таблиц транслятора и выполнения команды низкоуровневого форматирования, что де­лает невозможным его использование без потери данных пользователя. Именно по этой причине дан­ный метод скрытия дефектов выполняется только в специальном (технологическом) режиме работы на­копителя при помощи упомянутой выше утилиты FUJFMT.EXE, которая предназначена для скрытия дефектов в накопителях фирмы Fujitsu.

Логическая организация дискового пространства

В современных накопителях значительная часть дискового пространства скрыта от пользователя. Она содержит служебную информацию и резервную об­ласть для замены сбойных секторов НЖМД. В нор­мальном режиме работы скрытая часть доступна толь­ко микроконтроллеру. Пользователю отведена рабо­чая область, называемая логическим дисковым пространством. Именно ее объем указан в характе­ристиках НЖМД. Обращение к рабочей области, пред­ставляющей собой неразрывную цепочку логических секторов, происходит с номера О по N (в структуре LBA). Связь между логическим дисковым пространством и физическим форматом осуществляется по­средством специальной программы-транслятора, ко­торая учитывает физический формат, зонное распре­деление и исключенные дефектные сектора и треки. Доступ к служебной зоне возможен только в тех­нологическом режиме работы накопителя. Для входа в этот режим подается команда-ключ, после чего открывается доступ к дополнительному, технологи­ческому набору команд. При помощи этих команд осуществляются такие операции, как запись/чтение сектора служебной зоны, получение карты располо­жения модулей и таблиц в служебной зоне, получе­ние таблицы зонного распределения, перевод LBA в PCHS и обратно, запуск формата нижнего уровня, запись/чтение ЭППЗУ и др.

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

2. Устройство жесткого диска

Жесткий диск (НDD - Hard Disk Drive) устроен следующим образом: на шпинделе, соединенным с электромотором, расположен блок из нескольких дисков (блинов), над поверхностью которых находятся головки для чтения/записи информации. Форма головкам придается в виде крыла и крепятся они на серпообразный поводок. При работе они "летят" над поверхностью дисков в воздушном потоке, который создается при вращении этих же дисков. Очевидно, что подъемная сила зависит от давления воздуха на головки. Оно же, в свою очередь, зависит от внешнего атмосферного давления. Поэтому некоторые производители указывают в спецификации на свои устройства предельный потолок эксплуатации (например, 3000 м). Ну чем не самолет? Диск разбит на дорожки (или треки), которые в свою очередь поделены на сектора. Две дорожки, равноудаленные от центра, но расположенные по разные стороны диска, называются цилиндрами.

3. Хранение информации

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

К сожалению, достаточно часто происходит путаница между такими понятиями как "сектор", "кластер" и "блок". Фактически, между "блоком" и "сектором" разницы нет. Правда, одно понятие логическое, а второе топологическое. "Кластер" - это несколько секторов, рассматриваемых операционной системой как одно целое. Почему не отказались от простой работы с секторами? Отвечу. Переход к кластерам произошел потому, что размер таблицы FAT был ограничен, а размер диска увеличивался. В случае FAT16 для диска объемом 512 Мб кластер будет составлять 8 Кб, до 1 Гб - 16 Кб, до 2 Гб - 32 Кб и так далее.

Для того чтобы однозначно адресовать блок данных, необходимо указать все три числа (номер цилиндра, номер сектора на дорожке, номер головки). Такой способ адресации диска был широко распространен и получил впоследствии обозначение аббревиатурой CHS (cylinder, head, sector). Именно этот способ был первоначально реализован в BIOS, поэтому впоследствии возникли ограничения, связанные с ним. Дело в том, что BIOS определил разрядную сетку адресов на 63 сектора, 1024 цилиндра и 255 головок. Однако развитие жестких дисков в то время ограничилось использованием лишь 16 головок в связи со сложностью изготовления. Отсюда появилось первое ограничение на максимально допустимую для адресации емкость жесткого диска: 1024*16*63*512 = 504Mb.

Со временем, производители стали делать HDD большего размера. Соответственно число цилиндров на них превысило 1024, максимально допустимое число цилиндров (с точки зрения старых BIOS). Однако, адресуемая часть диска продолжала равняться 504 Мбайтам, при условии, что обращение к диску велось средствами BIOS. Это ограничение со временем было снято введением так называемого механизма трансляции адресов, о котором чуть ниже.

Проблемы, возникшие с ограниченностью BIOS по части физической геометрии дисков, привели в конце концов к появлению нового способа адресации блоков на диске. Этот способ довольно прост. Блоки на диске описываются одним параметром - линейным адресом блока. Адресация диска линейно получила аббревиатуру LBA (logical block addressing). Линейный адрес блока однозначно связан с его CHS адресом:

lba = (cyl*HEADS + head)*SECTORS + (sector-1);

Введение поддержки линейной адресации в контроллеры жестких дисков дало возможность BIOS'aм заняться трансляцией адресов. Суть этого метода состоит в том, что если в приведенной выше формуле увеличить параметр HEADS, то потребуется меньше цилиндров, чтобы адресовать то же самое количество блоков диска. Но зато потребуется больше головок. Однако головок-то как раз использовалось всего 16 из 255. Поэтому BIOS'ы стали переводить избыточные цилиндры в головки, уменьшая число одних и увеличивая число других. Это позволило им использовать разрядную сетку головок целиком. Это отодвинуло границу адресуемого BIOS'ом дискового пространства до 8Gb.

Нельзя не сказать несколько слов и о Large Mode. Этот режим работы предназначен для работы жестких дисков объемом до 1 Гб. В Large Mode количество логических головок увеличивается до 32, а количество логических цилиндров уменьшается вдвое. При этом обращения к логическим головкам 0..F транслируются в четные физические цилиндры, а обращения к головкам 10..1F - в нечетные. Винчестер, размеченный в режиме LBA, несовместим с режимом Large, и наоборот.

Дальнейшее увеличение адресуемых объемов диска с использованием прежних сервисов BIOS стало принципиально невозможным. Действительно, все параметры задействованы по максимальной "планке" (63 сектора, 1024 цилиндра и 255 головок). Тогда был разработан новый расширенный интерфейс BIOS, учитывающий возможность очень больших адресов блоков. Однако этот интерфейс уже не совместим с прежним, вследствие чего старые операционные системы, такие как DOS, которые пользуются старыми интерфейсами BIOS, не смогли и не смогут переступить границы в 8GB. Практически все современные системы уже не пользуются BIOS'ом, а используют собственные драйвера для работы с дисками. Поэтому данное ограничение на них не распространяется. Но следует понимать, что прежде чем система сможет использовать собственный драйвер, она должна как минимум его загрузить. Поэтому на этапе начальной загрузки любая система вынуждена пользоваться BIOS'ом. Это и вызывает ограничения на размещение многих систем за пределами 8GB, они не могут оттуда загружаться, но могут читать и писать информацию (например, DOS который работает с диском через BIOS).

4. Разделы, или Partitions

Обратимся теперь к размещению операционных систем на жестких дисках. Для организации систем дисковое адресное пространство блоков разделяется на части, называемые разделами (partitions). Разделы полностью подобны целому диску в том, что они состоят из смежных блоков. Благодаря такой организации для описания раздела достаточно указания начала раздела и его длины в блоках. Жесткий диск может содержать четыре первичных раздела.

Во время загрузки компьютера, BIOS загружает первый сектор головного раздела (загрузочный сектор) по адресу 0000h:7C00h и передает ему управление. В начале этого сектора расположен загрузчик (загрузочный код), который прочитывает таблицу разделов и определяет загружаемый раздел (активный). А дальше все повторяется. То есть он загружает загрузочный сектор этого раздела на этот же адрес и снова передает ему управление.

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

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

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

Диск разбивается на разделы программным путем. То есть, Вы можете создать произвольную конфигурацию разделов. Информация о разбиении диска хранится в самом первом блоке жесткого диска, называемым главной загрузочной записью (Master Boot Record (MBR)).

5. MBR

MBR является основным средством загрузки с жесткого диска, поддерживаемым BIOS. Для наглядности представим содержимое загрузочной области в виде схемы:

Все то что находится по смещению 01BEh-01FDh называется таблицей разделов. Вы видите, что в ней четыре раздела. Только один из четырех разделов имеет право быть помеченным как активный, что будет означать, что программа загрузки должна загрузить в память первый сектор именно этого раздела и передать туда управление. Последние два байта MBR должны содержать число 0xAA55. По наличию этой сигнатуры BIOS проверяет, что первый блок был загружен успешно. Сигнатура эта выбрана не случайно. Ее успешная проверка позволяет установить, что все линии данных могут передавать и нули, и единицы.

Программа загрузки просматривает таблицу разделов, выбирает из них активный, загружает первый блок этого раздела и передает туда управление.

Давайте посмотрим как устроен дескриптор раздела:

Смещение Описание

0000h маркер начальной загрузки

0001h головка

0002h cектор и цилиндр

0003h цилиндр

0004h системное описание

0005h головка

0006h cектор и цилиндр

0007h цилиндр

0008h-000Bh смещение секторов

000Ch-000Fh количество секторов в разделе

* 0001h-0003h начало раздела

** 0005h-0007h конец раздела

С точки зрения разделов диска наиболее популярной до недавнего времени была и остается MS-DOS. Она забирает в свое пользование два из четырех разделов: Primary DOS partition, Extended DOS partition. Первый из них, (primary) это обычный досовый диск C:. Второй - это контейнер логических дисков. Они все болтаются там в виде цепочки подразделов, которые так и именуются: D:, E:, ... Логические диски могут иметь и инородные файловые системы, отличные от файловой системы DOS. Однако, как правило, инородность файловой системы связана присутствием еще одной операционной системы, которую, вообще говоря, следовало бы поместить в свой собственный раздел (не extended DOS), но для таких выходок часто оказывается слишком маленькой таблица разделов.

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