KM.RU
27 марта 2002 г.

Дисковые интерфейсы современных компьютеров

Одним из важнейших устройств, входящих в состав современного компьютера, являются дисковые накопители: жесткие диски (винчестеры) и CD-ROM и их производные (СD-R/RW, DVD и пр.). Подавляющее большинство таких накопителей для обмена информацией с процессором и памятью используют различные варианты интерфейса IDE (Integrated Device Electronics - устройство с интегрированным контроллером). Конечно, существует еще один вариант дискового интерфейса - SCSI, но он, по причине высокой стоимости и определенной трудоемкости конфигурации отдельных устройств, больше ориентирован на рынок серверов и рабочих станций, поэтому этот интерфейс в данной статье рассматриваться не будет.

Разъемы IDE Практически любая современная системная плата имеет два канала IDE-контроллера, интегрированных в чипсет - первичный (Primary) и вторичный (Secondary), каждый из которых представляет собой, по сути, отдельный контроллер, имеющий собственный разъем на плате и отдельный шлейф с двумя оконечными разъемами, к которому можно подключить один или два накопителя. Причем для обеспечения взаимной совместимости устройств, работающих на одном шлейфе, одно из них должно работать в режиме Master (ведущий), а другое - в режиме Slave (ведомый), и эти режимы устанавливаются перемычками непосредственно на самом устройстве.

Интерфейсы АТА

Параллельный 16-разрядный интерфейс АТА (Advanced Technology Attachment), называемый также IDE, появился на свет в далеком 1989 году совместными усилиями компаний Western Digital и Compaq. Сама идея нового интерфейса была проста и изящна: было предложено интегрировать хорошо отработанную к тому времени 16-разрядную шину ISA, непосредственно в электронику жесткого диска, в результате чего при незначительном увеличении стоимости самого жесткого диска существенно снижалась стоимость всей дисковой подсистемы компьютера. Кроме этого, благодаря использованию стандартной шины, достигалась взаимная совместимость жестких дисков различных производителей. Для подключения жесткого диска к контроллеру использовался ленточный 40-жильный кабель с тремя плоскими разъемами, один из которых подключается к соответствующему разъему на системной плате, а два других - к дисководам.

Первоначальные варианты интерфейса АТА предназначались исключительно для подключения жестких дисков и имели следующие возможности, сохранившиеся вплоть до наших дней: поддержка двух отдельных устройств в каждом канале и использование двух способов передачи данных: РIO (Processor Input Output) - через центральный процессор и DMA (Direct Memory Access) - путем прямого доступа к памяти. Причем первый способ, наряду с таким неоспоримым достоинством, как отсутствие необходимости использовать специальные драйверы, имел и существенный недостаток, выражающийся в большой загрузке процессора в моменты доступа к данным на диске, вследствие чего в настоящее время он практически не используется. Пропускная способность шины ATA составляла менее 3 Мбайт/с, что не всегда позволяло использовать все возможности жестких дисков, но очень скоро стал очевиден второй главный минус этого интерфейса: ограничение величиной 504 Мбайт предельной емкости винчестеров.

Достаточно существенные недостатки интерфейса АТА привели к созданию в 1996 году нового варианта интерфейса АТА-2, который был, впрочем, как и все последующие реинкарнации стандарта АТА, полностью обратно совместим с предшественником. Новый интерфейс получил более скоростные режимы программного ввода/вывода (PIO Mode 3 и 4) и MultiWord DMA Mode 1 и 2. Повышение производительности достигалось в основном введением механизмов блочной передачи данных (режим, позволяющий передавать несколько команд чтения/записи за одно прерывание) и логической адресации блоков (LBA - Logical Block Address), что позволило расширить максимальный объем поддерживаемых дисков до 8,4 Гбайт, плюс увеличить скорости обмена вплоть до 16,7 Мбайт/с.

В 1997 году появился еще один, неофициальный вариант интерфейса АТА-3, который, правда, не добавил новых, более быстрых режимов передачи данных, но, благодаря новой технологии самоконтроля и предотвращении сбоев в дисковой подсистеме S.M.A.R.T. (Self-Monitoring Analysis and Reporting Technology), в значительной мере позволил повысить надежность хранения данных на жестком диске.

А тем временем значительно возросла популярность лазерных носителей информации CD-ROM, дисководы которых, хотя и имели разъемы идентичные разъемам винчестеров, не могли быть подключены к контролерам АТА. Для разрешения этой проблемы на основе интерфейса ATA был создан новый стандарт ATAPI (ATA Packet Interface). В результате появления ATAPI, появилась возможность подключать дисководы CD-ROM непосредственно к тому же шлейфу, к которому подключен и винчестер - пакетный режим передачи данных, реализованный в протоколе ATAPI, позволяет всей цепочке устройств работать в режиме, слегка напоминающем SCSI. Еще одним важным достоинством использования ATAPI-устройств является возможность назначать их в качестве загрузочных, что даже сегодня трудно переоценить.

Ultra ATA/33

Бурный рост скорости передачи интерфейса АТА начался с введения нового режима, разом удвоившего пропускную способность - она возросла с 16,7 Мб/с до 33,3 Мб/с. Такой скачок скорости стал возможен в результате использования для передачи информации обоих фронтов тактового сигнала. Новая версия интерфейса стала известна как Ultra ATA/33 (он же Ultra DMA, он же ATA-33, он же DMA-33, а официальное название - ATA/ATAPI-4). Ultra ATA/33 использует режима DMA Mode 3, обеспечивающего скорость передачи данных 33,3 МВ/сек. Для обеспечения надежной передачи данных по все тому же старому доброму 40-жильному кабелю используются специальные схемы контроля целостности данных и коррекции ошибок по циклически избыточному коду (CRC), при этом сохраняется обратная совместимость с предыдущими стандартами - АТА и АТА-2. Полная поддержка режима Ultra ATA/33 стандартными драйверами от Microsoft, входящими в комплект поставки операционной системы, появилась, только начиная с версии Windows 98.

Ultra ATA/66

Следующим шагом в развитии семейства интерфейсов АТА стал интерфейс Ultra ATA/66 (АТА66, ATA/ATAPI-5), разработанный компанией Quantum в 1999 году и позволяющий осуществлять передачу данных уже со скоростью 66 Мбайт/с. Такое увеличение скорости передачи данных превысило возможности старого 40-жильного кабеля, создававшегося в свое время еще для первых версий интерфейса АТА, и разработчики были вынуждены добавить в шлейф еще 40 дополнительных жил, соединенных с общим проводом и исполняющим роль экрана между основными жилами, что в значительной мере позволило снизить взаимные наводки информационных линий.

Ultra ATA/100

Летом 2000 года по инициативе фирмы Quantum появился очередной стандарт Ultra ATA/100 (АТА100, ATA/ATAPI-6), обеспечивающий стабильную передачу данных по 80-жильному кабелю со скоростью 100 Мбайт/с и призванный заменить прежний Ultra ATA/66, не просуществовавший и года. В новом протоколе уменьшены времена задержки сигналов, увеличена рабочая частота. Ultra ATA/100 обладает полной обратной совместимостью и автоматически переключается на менее скоростные режимы (Ultra ATA/33 или Ultra ATA/66), если одно из устройств его не поддерживает. Размер блока LBA был увеличен с 28 до 64 бит. Также система команд АТА была дополнена новыми, рассчитанными на передачу аудио/видео потоков. Чипсеты с поддержкой Ultra ATA/100 сегодня являются наиболее распространенными.

Ultra ATA/133

В конце лета прошлого, 2001 года, известный производитель жестких дисков, фирма Maxtor, представила спецификацию на новый интерфейс Ultra ATA/133, позиционируемый ею как переходное решение между постепенно устаревающим Ultra ATA/100 и перспективным, но пока еще не готовым к массовому использованию Serial ATA. Планка пропускной способности при этом возросла на треть и достигла 133 Мбайт/с.

Сам разработчик гордо называет новинку Fast Drives, однако появление Ultra ATA/133 все же кажется чисто маркетинговой акцией, так как не привело к реальному увеличению скорости работы современных жестких дисков по сравнению со старым добрым Ultra ATA/100, так как рост реальной скорости работы современных винчестеров ограничивается уже не пропускной способностью интерфейса, а малым размером дискового кэша и узкой пропускной способностью шины PCI.

Наибольший же интерес представляет еще одна инновация Maxtor - BigDrive, за счет увеличения разрядности адресной шины до 48 бит позволяющий преодолеть барьер емкости IDE-дисков в 137 Гбайт (уже выпущен HDD DiamondMax Plus D540X-4G объемом 160 Гбайт). Производители винчестеров и системных чипсетов, сосредоточившиеся на подготовке к переходу на Serial ATA и не пожелавшие распылять свои силы, не очень активно откликнулись на инициативу Maxtor, разве что VIA и Ali в своих новых южных мостах VT8233A и M1535D+ соответственно поддержали Ultra ATA/133, да компании Promise и HighPoint выпустили новые контроллеры, поддерживающие новый стандарт. Основные параметры различных вариантов интерфейса АТА приведены в таблице в конце статьи.

Serial ATA

Несмотря на то, что последние версии параллельного интерфейса АТА вполне удовлетворяют требованиям современных жестких дисков, все возможности по своему дальнейшему совершенствованию они уже полностью исчерпали и в скором времени параллельный интерфейс АТА должен быть заменен на новый. В качестве его замены всей компьютерной индустрией безоговорочно принят новый стандарт Serial ATA. Он будет поддерживать все накопители, включая винчестеры, CD, DVD, флоппи-дисководы и другие подобные устройства при подключении их к системным платам. Как следует из названия, в Serial ATA вместо передачи данных в параллельном режиме по многожильному кабелю используется принцип последовательной передачи данных. В самом начале 2002 года была анонсирована первая спецификация Serial ATA, но его широкое применение начнется только в конце текущего года, когда начнут выпускаться чипсеты со встроенными Serial ATA контроллерами. Первое поколение Serial ATA будет иметь пропускную способность 1,5 Гбит/с, затем скорости возрастут до 3 Гбит/с во второй спецификации и позднее до 6 Гбит/с, при этом сохранится обратная совместимость с Serial ATA первой версии.

Интерфейс предназначен для подключения внутренних устройств, поэтому максимальная длина кабеля относительно невелика - 1 метр, тем не менее, это в 2 раза больше, чем у параллельного АТА интерфейса (45 см). Всего кабель состоит из 7 жил: две дифференциальные пары для передачи и для приема и три общих (заземляющих) провода. Контроллер Serial ATA рассчитан на подключение 2 устройств по схеме point-to-point, то есть каждое из них подключается отдельным кабелем и обмен информацией происходит параллельно. Кроме этого, Serial ATA позволяет осуществлять замену накопителей в "горячем" режиме. Не менее важно и снижение питающих напряжения с нынешних 5 В до 3,3 В. Кроме того, Serial ATA будет обладать средствами исправления ошибок (по ECC), что гарантирует целостность передаваемых по кабелю данных. Изменения архитектуры Serial ATA лежат только в области физического интерфейса, а по регистрам и программному обеспечению он будет полностью совместим с нынешним параллельным ATA. Поэтому не будет необходимости менять драйверы, да и архитектура Serial ATA будет полностью прозрачной для ныне существующих BIOS-ов и операционных систем. Для совместимости с ныне существующим оборудованием (системные платы и жесткие диски) будут выпускаться специальные адаптеры-переходники с интерфейса IDE на интерфейс Serial ATA и наоборот. В целом последовательный интерфейс Serial ATA рассчитан на те же сферы применения, что и параллельный АТА - персональные компьютеры любого уровня и ноутбуки, а так же в серверах начального уровня.

Конфигурирование ATA устройств

И в заключение остановимся на нескольких чисто практических моментах, связанных с конфигурацией АТА устройств. Как было сказано выше, каждый канал AТА - интерфейса поддерживает подключение двух устройств - Master и Slave. Причем оба эти устройства абсолютно равноправны друг перед другом и ни одно из них не имеет никаких преимуществ. Конфигурация обычно задается перемычкой, размещенной на задней стенке устройства. Кроме этих двух позиций там обычно присутствует и третья - Cable Select. Эта позиция представляет чисто теоретический интерес, так как для работы устройств в режиме Cable Select требуется специальный Y-образный шлейф, центральный разъем которого подключается к системной плате, а крайние разъемы - к устройствам, причем, по аналогии с флоппи-дисководами А и В, одно из них автоматически становится Master, а другое - Slave. Я думаю, мало кто может похвастаться, что видел такой экзотический шлейф.

Возвращаясь к нашим реалиям, не стоит забывать, что не стоит подключать два активно используемых устройства (например, два жестких диска) к одному IDE-каналу, потому что каждый канал в каждый момент времени может обрабатывать только один запрос к одному устройству. А это, учитывая, что и винчестеры, и СD-ROM-ы являются довольно неторопливыми электромеханическими устройствами, существенно замедляет их одновременную работу, даже если пропускная способность интерфейса, на первый взгляд, соответствует суммарной скорости считывания данных с диска. В идеале каждое АТА - устройство стоит подключать к отдельному каналу.

В качестве второй рекомендации хочется посоветовать не подключать к одному каналу жесткий диск и ATAPI-устройство (например, CD-ROM). Как было отмечено выше, протокол ATAPI использует систему команд, немного отличающуюся от системы команд АТА.

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

Виктор Куц