Компьютеры
6 декабря 2001, 00:33

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

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

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

Как мы помним по 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 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 для нового интерфейса и с поддержкой «больших» дисков.

Arrows-left
Arrows-right
Reload
1 / 2

Fast Drives

Поскольку контроллер 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).

Прежде всего, сравним скорость работы диска 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, Мбайт/с.

Кстати, интересную картину качества работы драйверов и контроллеров под 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).

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).

Копирование файлов под 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). Для сравнения другим цветом показан трафик при работе только одного диска.

Но это все еще цветочки. Разочарованный такими неважными результатами, я решил провести аналогичные измерения для случая, когда два диска сидят мастерами по-одиночке на РАЗНЫХ шлейфах (портах) одного контроллера. Уж тут то, думал я, ничто не должно мешать полной реализации скорости шин и достижению заветных 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.

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