Добавить в цитаты Настройки чтения

Страница 183 из 299



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

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

Каждая дорожка с помощью магнитных меток еще во время изготовления винчестера[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 головками одна над другой сложно), то для того, чтобы с диском можно было работать через BIOS, контроллер винчестера представляет BIOS'у, скажем, диск с 20480 цилиндрами и 4 дорожками как диск из 1024 цилиндров и 80 дорожек.

К сожалению, даже при использовании конвертации "физической геометрии" диска в "логическую" максимальный объем винчестера, с которым можно работать средствами BIOS, составляет 1024*256*63*512 = 8455716864 байт = около 8 гигабайт. С дисками большего объема работать посредством 13-го прерывания BIOS невозможно[19]. Поэтому на новых материнских платах BIOS особым образом усовершенствован ("прерывание 13" сделано "расширенным"), и это ограничение емкости дисков в нем отсутствует.

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

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

В жестких дисках последних 7–8 лет выпуска имеется так называемая система S.M.A.R.T. (то есть "Self Monitoring Analysis and Reporting Technology") особые компоненты устройства, предназначение которых заключается в отслеживании возможных неисправностей и устранении их по мере возникновения. Так, в то время как в старых дисках таблица переназначения дефектных секторов формировалась на заводе, выпускающем винчестеры, а впоследствии уже не могла изменяться, то в новых винчестерах система S.M.A.R.T. во время работы диска отслеживает качество записи и чтения с каждого сектора и при его снижении заранее переназначает сектор на резервный, не дожидаясь момента отказа. Изначально же область резервных секторов делается больше, чем нужно в момент изготовления диска, — с расчетом на будущее.