Алгоритм - Учебный центр

Версия сайта для слабовидящих
Заполните форму ниже! Мы вам перезвоним!

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


Особенности функционирования современных винчестеров (ликбез).

Особенности функционирования современных винчестеров (ликбез).

Электронные схемы диска - это только скелет. Без управляющих микропрограмм она работать не будет. Первые модели винчестеров хранили микропрограммы в ПЗУ, что вызывало естественные неудобства и накладывало определенные ограничения. Теперь же для этой цели используется сам жесткий диск. Разработчик резервирует некоторый объем и размещает в нем весь необходимый код и данные. Информация организована в виде модулей (слабое подобие файловой системы) и управляется специализированной операционной системой. В ПЗУ остается лишь базовый код, своеобразный "фундамент" винчестера. Некоторые производители пошли еще дальше, убрав из ПЗУ все, кроме первичного загрузчика. Само ПЗУ может быть расположено как внутри микроконтроллера, так и на отдельной микросхеме. Практически все винчестеры имеют FLASH-ROM, но не на всех моделях она распаяна. Если FLASH-ROM установлена, то микроконтроллер считывает прошивку из нее, если нет - обращается к своему внутреннему ПЗУ.

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

В частности, каждый жесткий диск имеет как минимум два списка дефектов - P-list (от Primary - первичный) и G-list (от Grow - растущий). В P-list заносятся номера дефектных секторов, обнаруженные еще на стадии заводского тестирования, а G-list формируется самим жестким диском в процессе его эксплуатации. Если запись в сектор происходит с ошибкой, сбойный сектор переназначается другим сектором, взятым из резервной области. Некоторые жесткие диски поддерживают список "подозрительных секторов": если сектор начинает читаться не с первого раза, он замещается, а информация о замещении сохраняется либо в отдельном списке, либо в G-list'е.

Все эти процессы протекают скрыто от пользователя. Специальный модуль, называемый транслятором, переводит физические адреса в номера логических блоков или виртуальные цилиндры-головки-сектора и внешне нумерация секторов не нарушается. Все работает нормально до тех пор, пока P/G-list'ы не оказываются разрушенными или на гермоблок винчестера устанавливается плата с чужими настройками. Если P/G-list'ы хранятся во FLASH-ROM (а часто так и бывает), файловая система оказывается полностью неработоспособной, ведь трансляция адресов нарушена. И хотя на секторном уровне все читается нормально, уже совершенно непонятно, какой сектор какому файлу принадлежит.

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

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

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

Адаптивы могут храниться как на самом диске в служебной зоне (и тогда смена плат проходит на ура, но не работает Hot Swap), либо в микросхеме FLASH-ROM, которую перед заменой плат следует перепаять. Диски без адаптивов встречаются все реже и реже, можно сказать, что практически вообще не встречаются.

 


Лицензия