Принципы работы подсистем жестких дисков

Принципы работы подсистем жестких дисков

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

После включения электропитания персонального компьютера при появлении вторичных напряжений устройства, подключенные к шине ATA, могут осуществить переход в исходное начальное состояние по одному из трех вариантов «сброса»:

  • сброс по включению питания (power on reset) — выполняется самотестирование, запускается двигатель, проверяется механика, устанавливаются параметры умолчания, интерфейс и регистры сбрасываются в исходное состояние:
  • аппаратный сброс (hardware reset) по сигналу RESET — выполняется само тестирование, устанавливаются параметры умолчания, интерфейс сбрасывается в исходное состояние;
  • программный сброс (software reset) по установке бита SRST регистра DC — интерфейс сбрасывается в исходное состояние. После любого варианта сброса или выполнения команды диагностики устройство в блоке командных регистров содержит сигнатуру, определяющую тип данного устройства:
  • для устройств ATA (SC = 01h, SN = 01h, CL = 00h, CH = 00h, DH = 00h);
  • для устройств ATAPI (SC = 01h, SN = 01h, CL = 14h, CH = EBh, DH = 00h или 10h‚ значение DH = 10h будет после выполнения команды Device Reset устройством 1.

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

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

Часто у таких накопителей может совпадать и микропрограммное обеспечение записанное в ПЗУ или флэш-памяти. После успешного завершения конфигурирования, винчестер становится готовым к исполнению команд, поступающих по внешнему интерфейсу. Теперь винчестер способен предъявить паспорт диска (для ATA -диска это 512-байт набора данных, описывающий все внешне доступные возможности накопителя).

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

Команда идентификации IdentifyDevice позволяет считать из контроллера «паспорт диска» (блок из 256 слов, характеризующих устройство ATA). Этот блок параметров может храниться как в энергонезависимой памяти устройства, так и на самом носителе в месте, недоступном для обычных обращений.

Для устройств ATA существует несколько версий :

  • ATA, он же AT-BUS — 16-битный интерфейс подключения к шине компьютера AT (наиболее распространенный 40-проводный сигнальный и 4-проводный питающий интерфейс для подключения дисковых накопителей к компьютерам AT, а для миниатюрных (2,5″ и менее) накопителей используют 44-проводный кабель, по которому передается и питание);
  • ATA-2 — расширенная спецификация ATA, которая определяет 2 канала, 4 устройства, PIO Mode 3, Multiword DMA Mode 1, Block mode, объем диска до 8 Гбайт, поддержка LBA и CHS;
  • Fast ATA-2 разрешает использовать Multiword DMA Mode 2 (13.3 Мбайт /с), PIO Mode 4:
  • ATA-З — расширение ATA-2. которое включает средства парольной защиты, улучшенного управления питанием, самотестирования с предупреждением приближения отказа — SMART (Self Monitoring Analysis and Report Technology):
  • ATA/ATAPI-4 — расширение ATA-3, включающее режим UltraDMA со скоростью обмена до 33 Мбайт/с, пакетный интерфейс ATAPI и поддержку очередей с возможностью перекрытия команд;
  • ATA/ATAPI-5 — — результат ревизии ATA/ATAPI-4 в котором удаляются устаревшие команды и биты, добавляются новые возможности защиты и управления энергопотреблением, режим UltraDMA со скоростью обмена до 66 Мбайт /с:
  • ATA/ATAPI-6 — дополнения к ATA/ATAPI-5 с потоковым расширением для чтения/записи аудио- и видеоданных, управление акустическим шумом, режим UltraDMA со скоростью обмена до 100/133 Мбайт/с:
  • E-IDE (EchancedIDE) — расширенный интерфейс. введенный фирмой Western Digital, реализуется в адаптерах для шин PCI, позволяет подключать до 4 устройств (к двум каналам), включая CD-ROM и стриммеры (ATAPI), поддерживает PIO Mode 3, Multiword DMA Mode 1. Объем диска до 8 Гбайт, LBA и CHS (с аппаратной точки зрения практически полностью соответствует спецификации ATA-2).

Устройства ATA IDE, E-IDE, ATA-2, Fast ATA-2, ATA-3, ATA/ATAPI-4, ATA/ATAPI-5 и ATA/ATAPI-6 электрически совместимы. Степень логической совместимости достаточно высока (все базовые возможности ATA доступны). Однако для полного использования всех расширений необходимо соответствие спецификаций устройств, хост-адаптера и его программного обеспечения. Стандарт ATA/ATAPI-6 видимо будет последней версией параллельного интерфейса ATA.

Во всех современных накопителях на жестких магнитных дисках как правило применяют считывающие магниторезистивные головки MRH (Magneto Resistance Head), работа которых основана на эффекте AMR (Anisotropic Magnetoresistance) — анизотропии сопротивления полупроводников в магнитном поле.

По технологии изготовления головка MRH сложнее тонкопленочной индуктивной, поскольку в ней объединены две различного типа головки. Магниторезистивная часть головки используется для считывания, а индуктивная часть головки — для записи, что позволяет достигать высокой плотности записи информации на магнитный носитель.

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

В современных накопителях парковка осуществляется автоматически, когда напряжение питания или скорость вращения шпинделя падает ниже предельно допустимого значения. Для таких накопителей указанное в BIOS Setup значение параметра LZone игнорируется. Управляющие контроллеры современных дисков следят за скоростью вращения диска не выпустят головки из зоны парковки, пока диск не наберет номинальных оборотов.

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

Требования к точности позиционирования растут с повышением плотности хранения информации (количества цилиндров на диске), а быстродействие позиционирования определяет время доступа, которое, естественно. стремятся уменьшить. В современных накопителях применяют привод головок с подвижной катушкой (voice coil actuator), работающий по принципу звуковой катушки динамика. Этот тип привода называют еще и соленоидным. Управляя направлением и силой тока, можно быстро перевести блок головок в любое произвольное положение, а не по фиксированным шагам. В такой системе позиционирования головок используется обратная связь — информация о текущем положении головок, по которой контроллер может управлять приводом головок. Привод, обеспечивающий точное позиционирование по сигналу обратной связи, называется сервоприводом, (привод с замкнутой системой управления). На сервопривод, когда отклонение от заданного положения велико, можно подавать больший ток, вызывающий большое ускорение блока головок. Контроллер диска определяет, на сколько цилиндров требуется переместить блок головок, и формирует импульс тока требуемой полярности, ускоряющий блок в нужную сторону. После ускорения может следовать фаза свободного полета по инерции. По мере приближения головок к заданному цилиндру ток уменьшают, а для компенсации инерции в конце позиционирования меняют направление тока, вызывая этим активное торможение (то есть формируется тормозящий импульс обратной полярности). Амплитуда и длительность ускоряющего и тормозящего импульсов и время свободного полета определяются в зависимости от требуемого перемещения головки. Такая система привода позволяет сократить время доступа до единиц миллисекунд. На требуемом цилиндре головки удерживаются следящей системой точного позиционирования.

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

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

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

При выполнении операций записи и форматирования сигнал записи на время прохождения сервометок должен обязательно блокироваться. Если из-за неисправности устройства сервометки на какой-либо дорожке будут «накрыты» сигналом записи, эта дорожка (а возможно, и соседние с ней) навсегда станет сбойной. Головки и магнитные диски накопителей помещены в гермоблок.

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

Взаимодействие всех блоков, входящих в состав накопителя, и связь с внешним интерфейсом осуществляет управляющий микроконтроллер (однокристальный 8- или 16-разрядный микроконтроллер общего назначения). Его программное обеспечение (ПО) может храниться во внутреннем ПЗУ контроллера или в отдельной микросхеме памяти (EEPROM или флэш-памяти). Большая часть ПО может загружаться в доступное микроконтроллеру внутреннее ОЗУ из служебной области жесткого диска. Внутреннее ОЗУ является буферной памятью накопителя, используемой для считывания и записи секторов, и для локального кэширования. Ее объем может быть от десятков килобайт до нескольких мегабайт. Объем ОЗУ и эффективность используемых алгоритмов кэширования в значительной степени определяют производительность винчестера.

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

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

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

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

Контроллер накопителя на жестких магнитных дисках (HDC — Hard Disk Controller) является, как правило специализированной микросхемой, которая выполняет основные функции, связанные с записью и считыванием данных. Она декодирует приходящий поток считываемых данных, выделяет служебные области, находит требуемые секторы, проверяет целостность данных (по CRC или ECC), преобразует поток битов в байты и записывает их в буферную память. При записи HDC-микросхема в нужный момент времени, когда подошло поле данных требуемого сектора, формирует поток сигналов, необходимых для кодирования информации, преобразует байты данных в поток битов и вычисляет контрольные последовательности. При форматировании HDC формирует служебный формат трека, образующий массив адресуемых блоков данных.

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

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

Производительность винчестера сильно зависит и от объема его буферной памяти, который у современных винчестеров составляет 0,25-8 Мбайт. Часть этой памяти (до сотни Кбайт) может использоваться для хранения встроенного ПО (чем больше объем памяти, тем лучше). Часто винчестеры с одной и той же механической частью выпускаются с разными объемами памяти (обычно это отражается в элементах названия модели). Более дорогие модели имеют больший объем памяти и имеют поэтому заметный выигрыш в производительности. Современные контроллеры обычно используют двухпортовый буфер способный хранить информацию из множества секторов, допускающий одновременность операций доступа через эти порты. Контроллер современных дисков способен использовать буфер и для кэширования. Основной (общепринятой) технологией кэширования диска является упреждающее считывание. Если контроллер получает запрос на чтение сектора, то он автоматически считает в буфер и секторы, следующие за запрошенным. Поэтому вероятный запрос к следующему сектору будет обслужен из буфера без задержки, которая возникает из-за естественной асинхронности действий операционной системы и приложений с вращением диска. Более «интеллектуальные» контроллеры считывают в буфер весь трек, как только закончится выполнение команды позиционирования, а когда придет следующая за ней команда чтения, данные уже будут находится в буфере (нулевая задержка). Эти режимы поддерживает система команд интерфейсов ATA. Реже кэширование применяют и для записи, так как есть риск потери данных (например, при внезапном отключении питания). Эффективность работы встроенного кэша накопителя в значительной мере определяется алгоритмом выделения памяти и замещения старых записей. Обычно замене подлежат наиболее старые записи. Размер областей, выделяемых для упреждающего чтения, определяется исходя из текущей статистики обращений. Существуют контроллеры с адаптивным кэшированием, которые определив, что последние запросы чтения являются одиночными, перестают выделять большие области под упреждающее чтение. Но если характер запросов изменился, адаптивный контроллер сразу переключится в режим упреждающего чтения и выделит для этого необходимый объем буфера. На алгоритм кэширования влияет и многозадачный характер современных операционных систем и их дисковых запросов.

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

  • активный режим (Active Mode) — режим, обеспечивающий максимальную производительность работы (максимальную скорость реакции на поданные команды) за счет максимального энергопотребления;
  • режим ожидания (Idle Mode) — режим, в котором некоторая экономия энергии достигается за счет снижения скорости реакции на поступившие команды (отдельные узлы во время простоя устройства отключаются, и на их активизацию требуется небольшое время):
  • дежурный режим (Standby Mode) — режим, в котором отключена большая часть компонентов, в том числе и двигатель дисковода. При поступлении команды, требующей передачи данных, устройство переключается из дежурного режима в активный, но процесс активизации может занимать до 30 секунд;
  • режим «сна» (Sleep) — режим полного отключения устройства. Устройство на команды не реагирует и может быть приведено в рабочее состояние только сигналом сброса. Процесс активизации может занимать до 30 секунд.

С точки зрения программиста важным является значение времени выхода системы из режима экономии энергии в рабочий режим: для систем реального времени, например, задержка срабатывания, равная 30 секундам, обычно является совершенно недопустимой. Кроме того, программное обеспечение должно быть настроено таким образом, чтобы включение и выключение моторов дисководов не происходило слишком часто (в гарантийных обязательствах изготовителей дисков количество циклов «пуск-останов» ограничено и составляет от 30 до 50 тысяч).

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

Команда форматирования дорожки интерфейса ATA доступна лишь для старых дисков, которые не используют зонной записи при совпадении внешней геометрии с реальной. На современных дисках ATA низкоуровневое форматирование выполняют лишь в специальном технологическом режиме. Для этого, например, могут использоваться нестандартные команды, причем для разрешения их использования могут присутствовать специальные джамперы на устройстве. Общение с винчестером в технологическом режиме может производиться и через специальный последовательный интерфейс, в качестве которого иногда используется стандартный RS-232C, что позволяет вести диалог с винчестером, например, через COM-порт и эмулятор терминала на персональном компьютере. В случае, когда технологические команды доступны через обычный интерфейс ATA, производители накопителя обычно предлагают собственные утилиты низкоуровневого форматирования и обслуживания дисков. Низкоуровневое форматирование не затрагивает сервоинформацию, которая записывается на поверхности лишь в заводских условиях. Низкоуровневые утилиты предназначены для конкретных моделей или семейств устройств конкретных производителей. Использование их с «чужими» дисками, как правило, блокируется (или выдается предупреждение). Обход этой блокировки обычно ведет к отказу винчестера.

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

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

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

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

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

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

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

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


Подписаться
Уведомить о

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
Top