Кроме того, необходимо было определить побайтовую структуру адреса данных, размещенного в памяти. Изначально эти байты подразделялись на адреса цилиндров, головок и секторов (CHS), которые напрямую были связаны с физическим адресом на жестком диске. К сожалению, проектировщики интерфейса систем BIOS и ATA (Advanced Technology Attachment) не согласовали ни общего числа байтов, одинаковым образом используемых для адресации, ни числа байтов, необходимых для адресов цилиндра, головки и сектора. Из-за различий в конфигурациях CHS при передаче данных с использованием интерфейсов ATA и BIOS требуется преобразование адреса. В результате при работе с адресным пространством размером 528 Мбайт и 4,2 Гбайт возникали многочисленные проблемы, делающие невозможным дальнейшее увеличение размера диска.

Новое ограничение касается объема общего адресного пространства, который был определен для системы BIOS. В большинстве ПК сейчас устанавливаются дисководы, емкость которых не превышает 8,4 Гбайт (в некоторых системах - 7,9 Гбайт). Возможности адресации BIOS этих систем не позволяют работать с памятью размером более 8,4 Гбайт.

Решение этой проблемы требует замены существующей системной BIOS версией, которая поддерживает расширения 13 прерывания, или дополнения существующей BIOS поддержкой расширения. В будущем все системные BIOS персональных компьютеров должны поддерживать расширения 13 прерывания, что позволит системам обращаться к дисководам большей емкости.

Проблема

Существующий интерфейс ATA использует 28-разрядную адресацию, которая позволяет работать с дисководами объемом 228х512 байт или 137 Гбайт. К сожалению, большинство системных BIOS применяют 24-разрядную адресацию, которая позволяет обращаться только к 224х512 байт, то есть 8,4 Гбайт. (Это число на самом деле равно 8,6 Гбайт, но из-за способа обработки битов, который применяет BIOS, доступны только 8,4 Гбайт). Когда система хочет прочитать или записать данные на диск, BIOS должна оперировать с программным прерыванием. Основное прерывание, которое используется для доступа к жесткому диску, - это прерывание 13h. Прерывание обрабатывало только 24 разряда адреса, которые позволяли системе обращаться к 8,4 Гбайт на диске. Учитывая это ограничение, разработчики аппаратных систем определили расширение прерывания 13. Данное расширение дает возможность использовать для формирования адреса четырехбайтное (или 64-разрядное) слово, что эквивалентно 264x512 байт или 9,4x1021 байт. Это составляет 9,4 Тбайт, или в триллион раз больше диска объемом 8,4 Гбайт.

Решение

Существуют следующие способы установки в системах дисков большего объема:

  1. Получить у производителя ПК или BIOS новую версию последней, которая поддерживает расширения 13 прерывания.
  2. Установить в системе программное обеспечение, которое позволит добавить к BIOS поддержку 13 прерывания. Подобное ПО сейчас предлагают целый ряд производителей. IBM тестирует Ontrack Disk Manager (версия 9) и его можно бесплатно загрузить с узла Web, расположенного по адресу: http://www.storage.ibm.com/ techsup/ hddtech/welcome.html
  3. Использовать интеллектуальный адаптер хоста, чья BIOS поддерживает расширения 13 прерывания. Такой подход требует затрат на дополнительное аппаратное обеспечение, но для некоторых систем, возможно, это лучшее решение.

Где новый предел?

Следующее ограничение в системах с интерфейсом ATA проявится на уровне 137 Гбайт. (В некоторых аппаратных и операционных системах другие непредвиденные ограничения могут возникнуть намного раньше.) При объеме 137 Гбайт будут задействованы все 28 разрядов адреса на шине ATA. Возможны следующие варианты решения этой проблемы.

  1. С помощью Feature Register в ATA «нарастить» дополнительные 8 разрядов адреса. Таким образом, для адресации можно будет использовать 28+8=36, или 35,2 Тбайт адресного пространства.
  2. Увеличить размер каждого сектора. К примеру, если размер сектора будет равен в 4096 байт, то максимальный объем диска составит 2,2 Тбайт.
  3. Всю отрасль перевести на абсолютно новый интерфейс. Наиболее вероятным кандидатом является IEEE 1394, который может получить широкое распространение еще до того, как возникнет насущная необходимость реализовать одну из перечисленных выше возможностей.