Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Жесткие диски и их интерфейсы.doc
Скачиваний:
63
Добавлен:
29.03.2015
Размер:
2.23 Mб
Скачать

Геометрия магнитного диска

С целью адресации пространства поверхности пластин диска делятся на дорожки (треки) — концентрические кольцевые области. Каждая дорожка делится на равные отрезки — сектора. Сектор является минимальной адресуемой областью данных. Стандартный размер сектора – 512 байт. (Некоторые производители дисков планируют переход на размер сектора 4096 байт). Количество секторов может быть разным в зависимости от плотности дорожек и типа накопителя. Например, дорожка жесткого диска может содержать от 63 до 700 секторов. Сектора имеют сквозную нумерацию, начиная с 1.

Современные накопители со встроенными быстродействующими контроллерами, способны за один оборот диска записать или считать все секторы дорожки.

Рисунок 2 Геометрия HDD

Цилиндр — совокупность дорожек, равноотстоящих от центра, на всех рабочих поверхностях пластин жесткого диска. Все головки накопителя перемещаются одновременно, осуществляя доступ к одноименным цилиндрам с одинаковыми номерами.

Данные на чистый диск начинают записываться с внешнего цилиндра.

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

Адресация CHS

В простейшем случае для указания конкретного сектора диска используется система адресации по физическим адресам накопителей, т.е. сектор адресуется по его физическому положению на диске тремя координатами — номером цилиндра, номером головки и номером сектора. Название CHS это сокращение от английского Cylinder, Head, Sector. Адресация CHS предполагает, что все дорожки в заданной зоне диска имеют одинаковое число секторов. В современных дисках координаты CHS уже не соответствуют физическому положению сектора на диске и являются «логическими координатами» (см. Логическая геометрия ниже)

Для стандартного размера сектора емкость диска находится по следующей формуле:

V = CYL*HDS*SPT*512 байт,

где CYL – количество цилиндров на диске; HDS — количество головок; SPT — количество секторов на дорожке.

Адресация LBA

Используемая в современных жестких дисках линейная адресация получила название LBA (Logical Block Addressing). При этом способе адресации сектор задается единственным числом — своим абсолютным номером на диске (номером логического блока).

Изначально применялся стандарт LBA28, что позволяло использовать 28-битный адрес сектора, то есть максимальный объём диска мог достигать примерно 128ГБ. Однако, в последнее время объём данных на жёстких дисках превысил эту величину, вследствие чего появился стандарт LBA48 (с 48-битной адресацией секторов).

В режиме LBA параметры стандартных вызовов (CHS) транслируются в линейный адрес, который вычисляется однозначно в «естественном» порядке счета секторов. Сектору с нулевым логическим адресом соответствует первый сектор нулевой головки нулевого цилиндра. Общая формула вычисления логического адреса выглядит так:

LBA = (C * HDS+H)*SPT+S - 1,

где C, H и S — номера цилиндра, головки и сектора в пространстве CHS; HDS — количество головок; SPT — количество секторов на треке.

Современные версии BIOS имеют встроенный механизм трансляции в режим CHS, который включается для дисков объемом более 504 Мб.

Зонирование (зонно-секционная запись)

Для компенсации различной плотности записи на внешних и внутренних дорожках практически во всех накопителях используется так называемая зонная запись (она же зонно-секционная – Zone Bit Recording) с переменным количеством секторов на дорожке. Дорожки, более удаленные от центра, а значит, и более длинные содержат большее число секторов, чем близкие к центру. Один из способов повышения емкости жесткого диска — разделение внешних цилиндров на большее количество секторов по сравнению с внутренними цилиндрами.

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

Рисунок 3 Зонирование поверхности диска.

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

Резервные секторы

Для увеличения срока службы диска на каждой дорожке могут присутствовать дополнительные резервные секторы. Если в каком либо секторе возникает неисправимая ошибка, то этот сектор может быть подменён резервным (англ. remapping). Данные, хранившиеся в нём, при этом могут быть перенаправлены на резервный сектор при помощи таблицы переназначения секторов. Существует две таблицы переназначения: одна заполняется на заводе, другая в процессе эксплуатации. Границы зон, количество секторов на дорожку для каждой зоны и таблицы переназначения секторов хранятся в памяти блока электроники.

Логическая геометрия

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

Контроллер диска пересчитывает заданные логические адреса секторов (задаваемые тремя координатами — номером цилиндра, номером головки и номером сектора) в физические, при этом учитывается логическая геометрия диска, зонная запись и резервные секторы. Сама же физическая геометрия диска системе неизвестна.