Структурная схема HDD

  Структурная схема физического устройства
     
  Иерархия уровней абстракции представления информации
     
  Back to beginning Назад к оглавлению

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

Структурная схема физического устройства

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


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

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

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

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

Иерархия уровней абстракции представления информации

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

Схема уровней HDD:


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

Уровень 2 (выделен голубым цветом) представляет собой адресуемое пространство блоков данных. На этом уровне емкость диска соответствует заявляемой в паспорте устройства емкости носителя. Адресуемое пространство блоков уже не содержит неисправных блоков, поэтому блоки имеют уникальные линейные номера. Эти номера указываются контроллеру жесткого диска для операций чтения-записи. Обычно адресуемая емкость диска составляет 70-90% его сырой емкости, посчитанной по площади пластины и плотности хранения информации.

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

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

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

Первые два уровня - аппаратные, они недоступны пользователю для изменения. Остальные уровни допускают программную настройку.

наверх