Интернет-журнал 'Домашняя лаборатория', 2007 №3 - Живцов
Шрифт:
Интервал:
Закладка:
Сбоку от стопки дисков находится блок головок, состоящий из расположенных один над другим держателей с головками, скрепленных в единое целое. Блок головок может поворачиваться, причем так, что держатели головок заходят в промежутки между дисками. Данные хранятся на обоих поверхностях каждого из дисков, поэтому вокруг каждого диска находится по две головки — сверху и снизу. В процессе работы стопка дисков вращается вокруг своей оси, поэтому блок головок в принципе может получить доступ к любому участку любого из дисков.
Поворотом блока головок управляет специальный электромагнитный двигатель, вмонтированный в его основание. Также внутри корпуса жесткого диска находится небольшая микросхема — усилитель сигналов, соединенная шлейфом из проводов с блоком головок. Магнитные диски, блок головок и микросхема заключены в герметичный корпус, заполненный обеспыленным воздухом. В целом содержимое корпуса напоминает проигрыватель грампластинок, отличающийся тем, что одновременно на ось насажены несколько дисков, для каждого из них с обоих его сторон имеется по звукоснимающей головке, и все головки для всех дисков связаны в единый блок. В выключенном состоянии блок головок повернут так, что головки находятся у оси стопки дисков, в так называемой "зоне парковки".
Снаружи герметичного корпуса располагаются различные микросхемы, управляющие жестким диском, в частности, микросхема с нестираемой служебной информацией, кэш диска — как бы его "оперативная память", куда помещаются передаваемые на диск данные перед тем, как стать записанными на винчестер и некоторые другие блоки.
Блок головок может перемещаться поперек стопки дисков с определенным шагом. При своем перемещении он ориентируется на специальные магнитные метки, нанесенные на диски при их изготовлении. Тот фрагмент поверхности диска, который доступен одной головке при неподвижном блоке и полном обороте стопки дисков, называется дорожкой, совокупность всех фрагментов поверхностей всех дисков, доступных при одном обороте стопки дисков и неподвижном блоке, именуется цилиндром. Количество цилиндров зависит от радиуса дисков и возможного шага перемещения блока головок.
Каждая дорожка с помощью магнитных меток еще во время изготовления винчестера[18] разбивается на секторы — непосредственные единицы хранения информации на жестком диске. Согласно существующим стандартам, в каждом секторе может быть записано 512 байт информации, метка начала сектора и число, рассчитываемое на основе информации в секторе для отслеживания возможных ее изменений (так называемая "контрольная сумма сектора"). Начало каждой дорожки и сектора также особо помечается, причем начала всех дорожек, как нетрудно понять, расположены в плоскости одного радиуса стопки дисков.
Кроме того, на поверхности дисков, обычно между секторами, размещаются служебные магнитные метки, использующиеся для определения и стабилизации скорости вращения стопки дисков, а также более быстрого поиска нужных секторов и дорожек.
Управляет работой жесткого диска особая микросхема, именуемая контроллером винчестера.
Для чтения или записи какого-либо сектора контроллеру следует указать номер цилиндра, номер дорожки и номер сектора на этой дорожке. (Номера дорожек еще называют "номерами головок" — так как на каждую дорожку, входящую в цилиндр, приходится как раз одна головка.) Получив эту информацию, контроллер прикажет блоку головок расположиться над дорожками цилиндра, а затем начнет работать с той головкой, которая находится над нужной дорожкой, приказав ей дождаться того момента, когда вследствие вращения стопки дисков под ней пройдет нужный сектор, а затем считать из него информацию или, наоборот, записать туда данные.
Несмотря на то, что в каждый отдельный момент контроллер винчестера может работать максимум лишь с одним сектором на одном из дисков стопки, блок головок перемещается целиком — со всеми головками. Это может показаться нерациональным, но иначе конструкция винчестера очень бы усложнилась.
После окончания сборки жесткого диска на заводе проводится его тестирование с помощью специальной аппаратуры. К сожалению, на существующем уровне развития технологий добиться идеально качественной поверхности магнитных дисков невозможно, поэтому на них обязательно будут дефектные участки — места, куда невозможно полноценно осуществить запись данных. Чтобы этот факт не приводил к невозможностью работать со всем жестким диском, во время тестирования составляется так называемая "таблица переназначения дефектных секторов". При этом контроллер жесткого диска программируется так, что при поступлении обращения операционной системы к дефектному сектору в действительности работа осуществляется с резервными сектором, находящимся в специальной области диска (располагающейся, в зависимости от модели винчестера, на каждой дорожке или, чаще, в отдельных цилиндрах). Данные о соответствии дефектных секторов диска резервным также находятся в специально выделенной области и загружаются в память контроллера жесткого диска при начале работы винчестера.
При запуске компьютера и подаче напряжения на жесткий диск после краткого самотестирования микросхем винчестера начинает работать электродвигатель и раскручивает стопку дисков. Когда скорость вращения двигателя достигает определенной величины, за счет давления воздуха, увлекаемого дисками при вращении, держатели головок чуть-чуть приподнимают их над дисками, и под ними возникает воздушная подушка. Головки получают возможность перемещаться поперек стопки дисков, не касаясь их поверхности. Как только это происходит, контроллер винчестера дает им команду считать информацию стабилизации скорости вращения, всегда находящуюся в одних и тех же местах, а также таблицу переназначения дефектных секторов.
После этого производится самотестирование жесткого диска путем считывания определенной последовательности дорожек, и, если все прошло нормально, сообщение BIOS'у об успешном запуске винчестера.
BIOS, или базовая система ввода-вывода: Base Input-Output System, — это программа, записанная в микрочипе на материнской плате. Она содержит в себе функции управления ресурсами материнской платы и некоторых периферийных устройств, а также программу работы с жестким диском — считывания и записи данных, перемещения головок. Операционная система MS-DOS использует именно BIOS для работы с ресурсами компьютера — когда MS-DOS посылает команду считать данные с винчестера, то выполняет ее BIOS. Системы Windows9x/Me, Windows NT/2000/XP, Linux используют свои программы-драйвера для работы с винчестерами.
BIOS'у компьютера и операционной системе не обязательно поставляются точные данные о физическом строении ("физической геометрии") жесткого диска — о количестве цилиндров, головок, секторов. Электроника винчестера способна "на лету" пересчитывать данные "физической геометрии" в так называемую "логическую геометрию" диска и уже именно ее параметры сообщать BIOS'у. Например, старые модели BIOS не могут работать больше, чем с 1024 цилиндрами, 256 дорожками в цилиндре и 63 секторами на дорожке. Это связано с возможностями его так называемого "прерывания 13", способа работы с жестким диском, изначально в BIOS запрограммированного и используемого MS-DOS, а также операционными системами Windows во время загрузки. Поскольку развитие жестких дисков шло именно по пути увеличения количества цилиндров (в самом деле, представить себе жесткий диск с 256 головками одна над другой сложно), то для