Опубликовано 06 декабря 2001, 00:33

Обзор контроллера Promise Ultra133 TX2

Новый протокол UltraATA/133 — это новые горизонты скорости дисков. Но так ли все хорошо на практике, как нам рисует теория? И не лучше ли довести до ума «старенькое»?
Ultra133_1-250

Ultra133_1-250

Недавно мы познакомили вас с новым контроллером Ultra100 TX2 компании Promise Technology, Inc (см. эту статью) и поместили на нашем сайте подробный сравнительный обзор наиболее популярных на данный момент контроллеров UltraATA/100 (см. наш обзор). И вот на смену протоколу UltraATA/100 спешит следующая, последняя модификация «параллельного» интерфейса IDE — UltraATA/133, разработанная и запатентованная корпорацией Maxtor (под именем Fast Drives) и имеющая пиковую пропускную способность до 133 Мбайт/с. Контроллеры нового интерфейса уже стали потихоньку появляться в продаже, и одним из первых как всегда оказалась Promise c PCI-платой Ultra133 TX2, официально объявленной 25 октября. Благодаря московской фирме Теле-Сервис МС эта плата оказалась в нашей лаборатории, и мы спешим вас с ней познакомить.

Внешне плата Ultra133 TX2 практически идентична своей предшественнице Ultra100 TX2. Изменилась только одна цифра в микросхеме контроллера — PDC20269 (взамен PDC20268).

PDC20269

PDC20269

Как мы помним по Ultra100 TX2, теперь Flash BIOS включен в сам чип контроллера и отдельная микросхема BIOS отсутствует. Осталась прежней и функциональность BIOS — нельзя вручную выбрать диск для загрузки или изменить через настройки BIOS протокол работы подключенных к контроллеру дисков или дисководов (он определяется автоматически при включении системы как максимально возможный). Зато добавилась поддержка моды UDMA 6, что и означает заветные UltraATA/133. Как видно из названия («TX2»), плата умеет работать с профессиональной шиной PCI 2.2 на тактовой частоте 66,7 МГц (и, разумеется, обратно совместима с «бытовой» шиной PCI 2.1 с частотой 33,3 МГц и всеми предыдущими протоколами шины IDE). Причем диски с различным протоколом шины IDE (например, UATA/66 и UATA/133) могут быть подключены к этой карте (даже на одном шлейфе) без ухудшения производительности каждого из них благодаря независимо программируемым регистрам тайминга в контроллере. Поддерживаются и приводы ATAPI (CD/DVD). Для соединения с дисками используется все тот же 80-жильный шлейф, известный еще со времен UltraATA/66 (см. здесь).

Ultra133_2

Контроллер Promise Ultra133 TX2.

Ultra133_2

Контроллер Promise Ultra133 TX2.

Интереснее обстоит дело с поддержкой дисков большого объема. Контроллер Ultra133 TX2 оптимизирован для поддержки двух новых технологий компании Maxtor (подробности — на www.maxtor.com) — спецификации интерфейса Fast Drives UltraATA/133 и 48-битной адресации данных Big Drives (уже реализованной, например, в диске Maxtor DiamondMax D540X объемом 160 Гбайт). Как известно, пределом прежней 28-битной системы LBA-адресации через Int 13 является объем 128 Гбайт (точнее — 137 миллиардов байт). И современные винчестеры к этому пределу уже подошли вплотную. Однако новый BIOS с 48-битной LBA-трансляцией и расширенным Int 13 может понимать диски объемом (затаите дыхание) аж до 144 000 000 Гбайт (то есть 144 петабайт). Несмотря на очень бурный рост плотности записи на дисках в последние несколько лет, я могу вас заверить, что мы никогда не увидим винчестеров даже близкого к этому объема с интерфейсом UltraATA/133. Что ж, запас карман не утянет. Можно не сомневаться, что вслед за Ultra133 появятся аналогичные RAID-контроллеры от Promise для нового интерфейса и с поддержкой «больших» дисков.

Поскольку контроллер Ultra133 TX2 очень похож на описанный ранее Ultra100 TX2, я не стану далее расписывать его возможности, а заострю внимание на тестах производительности в частности и некоторых вопросах необходимости нового протокола вообще. О методике тестирования контроллеров было подробно написано на www.compuferra.ru/online/storage/13953, однако здесь она несколько расширилась. Дело в том, что на данный момент из имеющихся в широкой продаже только винчестеры Maxtor серии D740X умеют работать по этому новому протоколу. Соответственно, ими я и воспользуюсь для оценки контроллера Ultra133 (а подробный обзор самих дисков Maxtor D740X, любезно предоставленных компанией ASBIS Moscow и дистрибьютерским центром «Дилайн» вы можете найти на нашем сайте).

WinBench 99, UltraATA/133

Производительность контроллеров UltraATA в тестах под Windows XP и 98, млн. байт/с (Pentium III 800 МГц, ABIT BX-133, 256 МБ SDRAM, диск Maxtor 6L040J2).

WinBench 99, UltraATA/133

Производительность контроллеров UltraATA в тестах под Windows XP и 98, млн. байт/с (Pentium III 800 МГц, ABIT BX-133, 256 МБ SDRAM, диск Maxtor 6L040J2).

Прежде всего, сравним скорость работы диска Maxtor D740X-6L объемом 40 Гбайт под разными протоколами, точнее — контроллерами Ultra133 TX2 (UATA/133), HPT370 (UATA/100) и i440BX (UATA/33). Для карты от Promise использовался BIOS версии 2.20.012 и драйверы версии 2.00.0.29, взятые с сайта www.promise.com (на дискете были более старые). На двух диаграммах показаны результаты тестов WinBench 99 версии 2.0, копирования файлов и Intel IOMeter под Windows 98 и XP Professional. Преимущество контроллера Ultra133 TX2 есть, хотя и не всегда ощутимо. Все-таки при данных скоростях одиночных дисков необходимость в новом протоколе еще не столь сильна (и вряд ли будет остро ощущаться в ближайшие пару лет). Скорее играет роль оптимизация чипа, BIOS и драйверов контроллера, поскольку HPT370 иногда обгоняет Ultra133, невзирая на более медленную шину.

Со скоростью Ultra133 TX2 под Windows 98 связан один курьез. Дело в том, что его драйверы ни на комплектной дискете, ни более свежие на сайте не содержали специальный кэширующий драйвер pticache.vxd (обычно присутствовавший в комплектах драйверов предыдущих «Ультр»). И без него контроллер показывал драматически низкую скорость в WinBench 99 (см. диаграмму выше). На сайте Promise этого драйвера отдельно уже нет, но оказалось, что отличие драйверов для Windows 98/Me у всех контроллеров серии «Ultra», начиная с «66-й», заключается только в двух файлах — ultra.inf и ultra.mpd, а все остальные файлы одинаковы. Пришлось просто извлечь файл pticache.vxd из драйверов более старых «Ультр» и легким движение руки скопировать его в папочку Win98/System/Iosubsys/, после чего новенькая «ультра», наконец, заработала «на полную катушку». И помянуть тихим словом «забывчивость» работников Promise.

IOmeter, UltraATA/133

Скорость контроллеров в тесте Intel IOMeter под Windows XP, Мбайт/с.

IOmeter, UltraATA/133

Скорость контроллеров в тесте Intel IOMeter под Windows XP, Мбайт/с.

Кстати, интересную картину качества работы драйверов и контроллеров под Windows XP и Windows 98 с драйвером pticache.vxd и без него можно наблюдать по результатам теста ATTO Disk Benchmark. Подробно об этом тесте я уже писал в прошлом обзоре контроллеров (см. наш обзор), поэтому сейчас просто приведу диаграмму его работы с краткими пояснениями. Видно, что pticache слегка ухудшает скорость работы с блоками данных всех размеров (это плата за эффективное кэширование под Windows), зато работа контроллера под Windows XP близка к идеалу и в целом получше, чем под 98-ми. На втором анимированном рисунке сравнивается работа контроллеров Promise Ultra133 TX2 и Ultra100 TX2 под Windows XP по протоколу UATA/100 (диск IBM IC35L040AVER07). Видно, что для Ultra133 улучшилась работа с малыми блоками 0,5-4 кбайт. Хотя в любом случае, оптимизация контроллеров и драйверов для работы именно с дисками IBM все еще оставляет желать много лучшего.

Animation1bb.gif

Результаты теста ATTO Disk Benchmark для контроллера Promise Ultra133 TX2 под Windows XP и Windows 98 с драйвером pticache.vxd и без него. Диск — Maxtor 6L040J2 (UltraATA/133).

Animation1bb.gif

Результаты теста ATTO Disk Benchmark для контроллера Promise Ultra133 TX2 под Windows XP и Windows 98 с драйвером pticache.vxd и без него. Диск — Maxtor 6L040J2 (UltraATA/133).

Animation2a.gif

Результаты теста ATTO Disk Benchmark для контроллеров Promise Ultra133 TX2 и Ultra100 TX2 под Windows XP. Диск — IBM IC35L040AVER07 (UltraATA/100).

Animation2a.gif

Результаты теста ATTO Disk Benchmark для контроллеров Promise Ultra133 TX2 и Ultra100 TX2 под Windows XP. Диск — IBM IC35L040AVER07 (UltraATA/100).

Если же говорить о скорости работы контроллера Ultra133 TX2 на протоколе UltraATA/100, то она по сравнению с Ultra100 TX2 практически не изменилась, и диск IBM IC35L040AVER07 показывает на нем почти те же значения, что и ранее на Ultra100 TX2 (см. диаграммы ниже), хотя под Windows XP скорость все же чуть возросла и Ultra133 TX2 почти догнала контроллер HPT370 в WinBench 99 и немного обогнала при копировании файлов.

Winbench 99, UltraATA/100

Скорость контроллеров на протоколе UltraATA/100 в тесте Winbench 99 под Windows XP и 98, млн. байт/с (диск IBM IC35L040AVER07).

Winbench 99, UltraATA/100

Скорость контроллеров на протоколе UltraATA/100 в тесте Winbench 99 под Windows XP и 98, млн. байт/с (диск IBM IC35L040AVER07).

Копирование файлов под ULtraATA/100

Скорость копирования 500 Мбайт файлов контроллерами UltraATA с диском IBM IC35L040AVER07 под Windows XP, Мбайт/с.

Копирование файлов под ULtraATA/100

Скорость копирования 500 Мбайт файлов контроллерами UltraATA с диском IBM IC35L040AVER07 под Windows XP, Мбайт/с.

Теперь поговорим о максимальной скорости передачи данных по шине IDE. Как известно, средняя скорость передачи большого массива данных может значительно отличаться от максимальной пиковой скорости протокола. И это наглядно подтверждается в тестах (например, Read Burst Speed из HD Tach 2.61, HDDSpeed 2.1 или «пресловутой» SiSoft Sandra 2001) — для протокола UltraATA/33 «потоковая» скорость не превышает 30–31 Мбайт/с, для UATA/66 и /100 это 58-60 и 86-90 Мбайт/с соответственно, а для UATA/133 те же измерения дают всего 94-97 Мбайт/с, то есть значение даже не перевалило за заветную сотню, что может показаться сомнительным. Тем не менее, UltraATA/100 не может (в силу своего устройства) обеспечить среднюю потоковую скорость 97 Мбайт/с, то есть мы действительно имеем работу по UATA/133. Другое дело, что разработчикам стоило бы подумать над доведением этой цифры хотя бы до 110–120 Мбайт/с.

И это будут не бесполезные усилия. Дело в том, что новый протокол появился очень вовремя — пара современных IDE-винчестеров со скоростью чтения данных с поверхности пластины в 42–43 Мбайт/с при сосуществовании на одном IDE-шлейфе (например, в RAID-массиве) могут обеспечить поток данных со скоростью около 85 Мбайт/с, что уже с трудом вписывается в возможности протокола UATA/100. А ведь не за горами более быстрые диски, где, скорее всего, предел в 90 Мбайт/с для пары дисков будет превзойден. Вот тут и понадобится UATA/133 (а затем и Serial ATA с еще большей скоростью).

Теперь посмотрим, как эта теория воплощается на практике, то есть в тестах нескольких дисков одновременно -  все ли так, как доктор прописал, и есть ли реальный выигрыш от применения UATA/133 вместо UATA/100? Для проверки этого я использовал один из своих любимых дисковых тестов — Nbench 2.4, позволяющий, в частности, задавать несколько одновременных потоков чтения или записи на диск, причем в данном случае я использовал два потока — каждый на свой отдельный диск Maxtor D740X (то есть каждый диск работал в режиме единичного потока чтения или записи — аналогично простейшим измерениям скорости чтения или записи диска большими блоками).

Сначала мы рассмотрим ситуацию, когда два диска расположены на одном шлейфе (Master и Slave). К удивлению оказалось, что суммарный трафик шины IDE в этом случае весьма далек от максимальных возможностей протоколов! Причем при записи ситуация немного получше, а при чтении она посто ужасающа — суммарный трафик более чем вдвое ниже полной скорости протокола для всех случаев, кроме UltraATA/33 на легендарном чипсете i440BX, который и здесь оказался лучший (в относительном исчислении), демонстрируя для двух дисков полную возможную потоковую скорость протокола (около 31 Мбайт/с). Более того, для UATA/66 и 100 трафик шины для двух одновременно читаемых дисков оказался даже хуже, чем для одиночного (замечу - это несмотря на то, что чип HPT370 спроектирован для использования несложных IDE RAID-массивах)! Promise Ultra133 оказался не лучше - при записи двух одновременных потоков заметно проиграл UltraATA/100 от HPT370 (про недобор скорости до 97 Мбайт/с я уже молчу — видать задержки (латентность) при блоковых операциях между двумя потоками на шине IDE плохо оптимизированы, и инженерам нужно еще сильно потрудиться).

Nbench, 2 disk

Результаты двухпотокового теста Nbench 2.4 при одновременной работе двух дисков Maxtor D740X, подключенных к контроллеррам UltraATA на одном или на разных шлейфах. По горизонтали отложен трафик шины IDE для одного шлейфа (Master + Slave) или суммарный для двух шин IDE на одном контроллере (Master + Master). Для сравнения другим цветом показан трафик при работе только одного диска.

Nbench, 2 disk

Результаты двухпотокового теста Nbench 2.4 при одновременной работе двух дисков Maxtor D740X, подключенных к контроллеррам UltraATA на одном или на разных шлейфах. По горизонтали отложен трафик шины IDE для одного шлейфа (Master + Slave) или суммарный для двух шин IDE на одном контроллере (Master + Master). Для сравнения другим цветом показан трафик при работе только одного диска.

Но это все еще цветочки. Разочарованный такими неважными результатами, я решил провести аналогичные измерения для случая, когда два диска сидят мастерами по-одиночке на РАЗНЫХ шлейфах (портах) одного контроллера. Уж тут то, думал я, ничто не должно мешать полной реализации скорости шин и достижению заветных 84 Мбайт/с (скорость чтения двух дисков в сумме). Однако каково было мое удивление, когда оказалось, что такой вариант еще хуже! Взгляните на нижнюю половину этой диаграммы — проигрыш «одному шлейфу» почти по всем позициям! Теория просто отдыхает! Вывод один - будьте крайне внимательны, используя одновременно работающие на одном контроллере винчестеры, и не следует заблуждаться, что при этом они не теряют в скорости, находясь на разных IDE-каналах. Замечу, что при использовании RAID-массивов на этих же чипах конитоллеров алгоритмы работы (например, арбитража) шины IDE могут быть несколько другими — более оптимальными, но это еще требует проверки.

Эти интереснейшие результаты я не поленился проверить и на профессиональном тесте IOMeter. Если Nbench 2.4 измеряет скорость при работе с дисками на файловой системе (в нашем случае — FAT32), то синтетический тест Intel IOMeter оперирует с неразмеченными дисками (вне зависимости от файловой системы) и тоже может создавать многопотоковую нагрузку нескольким дискам одновременно. Здесь я использовал 100-процентно последовательные чтение или запись крупными (по 64 кбайт) блоками, а также свой традиционный (годичной давности) паттерн, где одновременно происходит последовательная запись и чтение (50/50%) крупными блоками по 64 кбайт, что имитирует нагрузку цифрового магнитофона с включенной функцией TimeShifting, копирование больших файлов или другие похожие задачи (монтаж аудио-видео и т.п.). Результаты этих тестов показаны на последней диаграмме очень похожи на предыдущие (порой с точностью до мегабайта!) и в целом подтверждают выводы, сделанные ранее (трафик распределялся между двумя дисками строго поровну). Надо ли говорить, что посредственная реализация новейшего интерфейса UltraATA/133 способна на корню загубить неплохую и перспективную идею.

IOMeter для двух дисков

Результаты многопотокового теста Intel IOMeter при одновременной работе двух дисков Maxtor D740X, подключенных к контроллеррам UltraATA на одном шлейфе. По горизонтали отложен трафик шины IDE (диски на общем шлейфе — Master + Slave). Для сравнения показан трафик при работе двух дисков на разных каналах одного контроллера Ultra133 TX2.

IOMeter для двух дисков

Результаты многопотокового теста Intel IOMeter при одновременной работе двух дисков Maxtor D740X, подключенных к контроллеррам UltraATA на одном шлейфе. По горизонтали отложен трафик шины IDE (диски на общем шлейфе — Master + Slave). Для сравнения показан трафик при работе двух дисков на разных каналах одного контроллера Ultra133 TX2.

Таким образом, новейший интерфейс UltraATA/133 при нынешних скоростях винчестеров практически не дает преимуществ по сравнению с предшественниками при работе одиночных дисков (и вряд ли даст в ближайший год-два, а там, глядишь, уже и SerialATA нагрянет). Зато он может оказаться полезным при одновременной работе нескольких дисков на одном контроллере или даже одном шлейфе. Правда, разработчикам еще нужно как следует постараться над оптмизацией его реализаций в железе и драйверах (в частности, уменьшить латентность при переключении потоков данных), а также постараться увеличить потоковую скорость работы хотя бы до 110–120 Мбайт/с. Несмотря на все это, новейший контроллер Promise Ultra133 TX2 сейчас является одним из наиболее быстрых среди ATA-контроллеров и хорошим кандидатом для апгрейда устаревающих систем с UATA/33 и UATA/66.