■ Увеличение максимальной емкости жестких дисков.
■ Повышение скорости обмена данными.
■ Появление вторичного канала для подключения двух устройств.
■ Использование интерфейса ATAPI.
Ограничения CHS (преодоление ограничения в 528 Мбайт)
BIOS обращается к драйверу жесткого диска с помощью прерывания INT13h, которое предоставляет функции чтения и записи на диск на уровне секторов. Прерывание INT13h требует указания определенного сектора, при этом каждый сектор адресуется его цилиндром, головкой и расположением сектора. Этот интерфейс обращения к диску называется CHS-адресацией и используется операционной системой и дисковыми утилитами низкого уровня. Изначально интерфейс прерывания 13h был реализован IBM в BIOS для контроллера жесткого диска компьютера PC XT. Этот интерфейс был создан в 1983 году, а в 1984 был включен в BIOS системной платы PC AT. Интерфейс использует числа для адресации отдельного сектора, цилиндра и головки. В следующей таблице приведены ограничения CHS параметров прерывания INT13h для стандартной BIOS.
Ограничения CHS параметров для прерывания BIOS INT13h
Поле |
Размер поля, бит |
Максимальное значение |
Диапазон |
Число используемых значений |
Цилиндры |
1 024 |
0-1 023 |
1 024 |
|
Головки |
0-255 |
|||
Секторы |
0-63 |
Идея проста: если у вас есть отель, в котором номера комнат ограничены двумя разрядами, вы сможете пронумеровать только 100 комнат — от 0 до 99. Номера CHS, используемые интерфейсом INT13h, записаны в битовом формате. Поскольку цилиндры адресуются 10 битами, то можно использовать максимум 1 024 цилиндра (от 0 до 1 023). Максимальное количество головок, с которыми можно работать через BIOS, равно 256; они нумеруются от 0 до 255. И наконец, секторы, с которыми еще больше проблем. Секторы на дорожке адресуются 6 битами, значит, можно адресовать максимум 64 сектора. Однако, поскольку нумерация начинается не с 0 а с 1, суммарное количество секторов на дорожку, с которым может работать BIOS, не должно превышать 63.
Эти ограничения распространяются на все версии BIOS и на все программы, которые используют стандартную адресацию CHS и интерфейс INT13h. Подставив максимальные значения для адресации CHS, мы получим диск с 1 024 цилиндрами, 256 головками и 63 секторами на дорожку. Поскольку размер каждого сектора равен 512 байт, получаются такие результаты:
Максимальные значения
Цилиндров 1 02 4
Головок 256 Секторов на дорожку 6 3
Итого секторов 16 515 072
Итого байт 8 455 716 864
Мегабайт 8 456
Mebibytes (MiB) 8 064
Гигабайт 8,4
Gibibytes (GiB) 7,8
Из этих расчетов видно, что максимальный размер диска, который можно адресовать через интерфейс BIOS INT13h, равен приблизительно 8,4 Гбайт (где гигабайт равен 1 миллиарду байт) или же 7,8 GiB (gigabinarybytes).
К несчастью для ATA, не только BIOS накладывает ограничения. Существуют еще и ограничения самого интерфейса ATA.
Ограничения параметров стандартного интерфейса ATA
Поле |
Размер поля, бит |
Максимальное значение |
Диапазон |
Число используемых значений |
Цилиндры |
65 536 |
0-65 535 |
65 536 |
|
Головки |
0-15 |
|||
Секторы |
1-255 |
Как видите, в интерфейсе ATA для хранения значений адресов CHS используются поля разного размера. Обратите внимание, что ограничения ATA, относящиеся к количеству цилиндров и секторов, выше, чем соответствующие ограничения BIOS, но ниже, чем ограничения базовой системы ввода-вывода по количеству головок. Ограничения CHS по емкости жестких дисков в соответствии со спецификациями ATA имеют следующий вид: