Адресация 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 Мб.