Двухканальные SATA RAID-контроллеры: RAID0

Автор: Wulf, niknik
Дата: 09.01.2004
Все фото статьи

Участники тестирования


После некоторой паузы мы возвращаемся к теме скоростных характеристик двухканальных SATA RAID-контроллеров. Необходимость такого "камбека" была вызвана, во-первых, тем, что в наши руки попали три новых, ранее не рассмотренных, контроллера, и, во-вторых, тем, что первые тесты мы проводили зачастую на предрелизных версиях BIOS и драйверов. С тех пор все компании-производители контроллеров успели выпустить официальные версии драйверов, а сами контроллеры уже широко представлены в продаже.

В этом тестировании приняли участие восемь двухканальных SATA RAID-контроллеров. Для удобства разделим их на три группы.

В первую группу вошли два контроллера, интегрированные в материнскую плату.
Начнем обзор с контроллера производства фирмы INTEL ICH5-R, это первый «революционный» контроллер, интегрированный в южный мост чипсета.


Тестировался на версии BIOS 3.5.0.2568 и, как можно видеть на фото, с соответствующим драйвером 3.5.0.2568.

Фирма VIA последовала примеру конкурента и также создала SATA RAID-контроллер V8237.


Тестировался VIA V8237 на BIOS версии 2.01 и драйвере 5.0.2195.210.
Оба «чипсетных» контроллера имеют преимущества перед остальными, поскольку подключаются напрямую к южному мосту, а не к шине PCI. Тем самым, RAID-контроллеры по максимальному трансферу не зависят от шины PCI 32/33 МГц, максимальная теоретическая пропускная способность которой – 133 МБ/сек. Северный и южный мосты чипсета VIA PT800 соединяются шиной 8X V-Link с пропускной способностью 533 МБ/сек. (Hub-Link и 266 МБ/сек. для чипсета Intel i875), и, несмотря на то, что на эту пропускную способность кроме RAID-контроллера претендуют остальные устройства, реализованные в южном мосту, RAID-контроллеры "теоретически" должны чувствовать себя лучше, нежели если бы их подключили на шину PCI... Собственно, к PCI мы и будем подключать остальные RAID-контроллеры.

Во вторую группу вошли RAID-контроллеры, выполненные на чипе SiliconImage 3112. Так как чип Sil3112 является контроллером PCI-to-SATA, то RAID-контроллер на этом чипе является типичным firmware-RAID, то есть реализуется программно.


Контроллер SiliconImage Sil3112 тестировался на версии BIOS 42/2 и драйвера 1.0.032.


В контроллере Adaptec 1210SA я могу отметить очень удобный BIOS - редко когда встретишь в столь недорогом контроллере полноценный BIOS хорошего SCSI RAID-контроллера. Тестировался на версии BIOS 1.0-OB1016 и драйвера 1.00.07.


И контроллер LSI SATA150-2. Как и контроллер Adaptec, контроллер LSI основан на чипе SiliconImage Sil3112. Из "особенностей" контроллера отметим неприемлимо большое время, потребное для создания массива RAID1. Оно составило примерно 100 часов! Ускорить процесс создания массива настройками BIOS не представлялось возможным...
Тестировался на версии BIOS 5.0.11011038R и драйвера 4.0.115.2003.

В третью группу вошли Promise FT S150 TX2 plus, HighPoint RocketRAID1520, Acard 6890S.
Promise FT S150 TX2 plus – один из самых узнаваемых контроллеров, плюс только он имеет драйвер, который может менять режим кэширования запросов - WriteBack/WriteThrough.


Тестировался на версии BIOS 1.00.0.37 и драйвера 1.00.0.37.
Контроллер HighPoint RocketRAID1520 не является нативным SATA-контроллером. Как отлично видно на приведённой ниже фотографии, он основан на хорошо знакомом нам чипе HPT 372, а работа с SATA-дисками ведётся через вездесущие мосты от Marvel 88i8030. Хорошо ли это или нет, оказало ли использование конвертеров какое-либо отрицательное влияние на скорость работы - сказать трудно... Ведь, как мы далее увидим, основная проблема этого контроллера отнюдь не в конвертерах...


Тестировался на версии BIOS 2.355 и драйвера 2.355.


И последний SATA RAID-контроллер: ACARD-6890S. Контроллер мало кому известной фирмы Acard доставил нам много хлопот при тестировании... В частности, контроллер отказался работать с дисками Seagate Barracuda 7200.7 SATA (не проходили тесты Winbench) и из за этого нам пришлось перетестировать ВСЕ остальные контроллеры с SATA-дисками Maxtor DM Plus 9. В довершении ко всему контроллер работал крайне неустойчиво и за время тестирования несколько раз разваливал массив.
Тестировался на BIOS 2.10 и драйверах той же версии.

Как видите, в число участников этого тестирования не вошёл контроллер 3Ware 8500. Мы исключили его из тестов по трём причинам. Во-первых, формально он не является двухканальным контроллером. Во-вторых, контроллер этот имеет на борту кэш-память, что автоматически переводит его в другой класс по сравнению со всеми рассматриваемыми контроллерами. И, наконец, в-третьих, контроллеру 3Ware8500 вскоре будет посвящён отдельный подробный материал.

Методика тестирования


Так как в нашем тестировании приняли участие два «чипсетных» контроллера, то нам пришлось использовать две материнские платы. Надо отметить, что несмотря на то, что материнские платы выполнены на разных чипсетах, их производительность не сильно отличается. Поэтому использование двух платформ не должно существенно повлиять на результаты тестирования. А даже если и повлияет, то не можем же мы рассматривать скорость интегрированного в чипсет контроллера вне скорости самого чипсета… ;)

Тестовые системы:

материнская плата - Albatron PX865PE Pro II (чипсет i865PE);
материнская плата- ASUS P4V800-X (чипсет VIA PT800);
процессор - Intel P4 2400/533;
память – 256 MB PC2700 CL2;
системный диск - IBM DTLA 307015;
видеокарта - ATi Radeon VE;
операционная система - Windows 2000 Pro SP4;
два диска для RAID – Maxtor 6Y120M0.

Использовались следующие версии тестовых программ:

WinBench99 2.0
IOMeter2003.02.15
FC-Test v0.5.3

Тестирование проводилось по двум типам RAID-массивов:

RAID0 (stripe)
RAID1 (mirror)

Винчестеры тестировались в "быстром" режиме, переключение осуществлялось при помощи Hitachi Feature Tool. Перед тестами диски предварительно были «прописаны», чтобы исключить срабатывание принудительной проверки записи (подробности см. здесь).

Для тестов в WinBench винчестеры размечались в FAT32 и NTFS одним разделом с размером кластера по умолчанию (для разметки дисков в FAT32 использовалась программа Paragon Partition Manager). Тесты проводились по семь раз, учитывался максимальный результат. Винчестеры между тестами не охлаждались. Для тестов при помощи FC-Test массив разбивался на два логических диска по 32Gb. Тестирование в IOMeter проводилось на паттернах Sequential Read, Sequential Write, Database, Workstation, Fileserver и Webserver. За подробными описаниями паттернов Вы можете обратиться к нашим предыдущим материалам.
И, в завершение описания методики, приводим таблицу с описанием версий BIOS и драйверов ко всем контроллерам.


Результаты тестов


RAID0 (Stripe)


IOMeter: паттерны Sequential Read & Write

На массив при помощи программы IOMeter подаётся поток запросов на чтение/запись с глубиной очереди команд, равной четырём. Раз в минуту в тесте меняется размер блока данных, так что после окончания теста мы получаем зависимость скорости линейного чтения (или записи) от размера блока данных.


нажмите для увеличения


В тесте Sequential Read практически во всех режимах «провалился» HighPoint RR1520 – его скорость упирается в некий потолок «31МБ/сек.». Такое впечатление, что мы вернулись в старые добрые ATA33-времена. ;)

Контроллер Promise в конфигурации WB, а также контроллер VIA вырываются вперед, но только при малых размерах блоков. Promise в WT конфигурации немного отстал от основной группы на блоках от 4KB до 64KB. Остальные контроллеры идут плотной группой.
При работе с блоками данных большого размера все контроллеры, исключая неудачника от HighPoint, демонстрируют одинаковую скорость в 100МБ/сек.
Столь высокие результаты контроллера VIA не могли нас не заинтересовать и, мы решили проверить одну гипотезу.
Как Вы помните, высокая скорость чтения с массива контроллера Promise достигается за счёт предварительной обработки запросов драйвером. Если драйвер видит, что на диск посылаются запросы на последовательно расположенные данные, то он «склеивает» запросы. За счёт этого скорость передачи данных растёт. Логично было бы предположить, что если контроллер VIA демонстрирует сходную с Promise (WB) производительность, вероятно, что он использует такой же механизм обработки запросов. Но тогда и загрузка центрального процессора при работе должна быть выше среднестатистической!
Так оно и оказалось, – при работе контроллера VIA с блоками по 512 байт загрузка процессора составила 77 процентов. В то время как для всех остальных контроллеров, исключая Promise (WB), загрузка процессора на тех же блоках составляет порядка 50 процентов. Что же, еще раз можно убедиться в том, что за всё в этой жизни нужно платить…

Посмотрим, как изменятся результаты при записи.


нажмите для увеличения


При записи контроллер Promise в режиме WB (за счет «укрупнения» запроса на запись драйвером) стал единоличным лидером. Интегрированный контроллер Intel немного подскочил над общей группой в районе 8KB – весьма интересный факт.
Контроллер HighPoint по началу держался наравне с конкурентами, но потом безнадежно отстал. Однако, очевидно, что при записи он выступил намного лучше, чем при чтении!
Забавно, но контроллер LSI также не выдержал общий темп и немного провалился в промежутке от 2КВ до 32КВ. По всей видимости, «виноваты» его драйвера, так как остальные два контроллера, основанные на чипе SiliconImage, показали большую скорость.

IOMeter: паттерн Database

В этом паттерне мы проверяем способность контроллеров работать со смешанным потоком запросов на чтение и запись блоков данных объёмом 8КБ со случайным адресом. Изменяя соотношение запросов на чтение и запись, мы можем выявить качество сортировки драйвером контроллера запросов на чтение и запись:


Таблица получилась необычно большой, попытка раскрасить ее не удалась (получилась слишком пестрой). Попробуем построить графики.
Для начала посмотрим, как будут работать контроллеры на линейной нагрузке.


При чтении все контроллеры работают одинаково, но при постепенном переходе на запись из общей вереницы полосок выделяются два контроллера - VIA и Promise (в режиме WT) - старые знакомые по паттерну Sequential Read, но теперь они «выстроились» в обратном порядке. В конце графика (на 100% записи) к ним присоединяется вторая ипостась контроллера Promise (в режиме WB).
Хочется отметить, что отложенная запись лучше всех удалась контроллеру VIA! Неужели в наших тестах наметился лидер? :)

Повышаем нагрузку до 16-ти исходящих запросов, и что же мы видим:


на чтении контроллер VIA хоть и прибавил немного в скорости, но значительно уступает остальным контроллерам! Особенно сильно поднялся Promise в режиме WT. По мере увеличения процента записи контроллеру VIA всё же удаётся приблизиться к лидерам.

Увеличиваем нагрузку до максимума (256 исходящих запросов).


Явного лидера нет, зато VIA на чтении отстал окончательно. В режимах с преобладающей долей запросов на чтение лучше всех выглядит контроллер Intel, а в режимах с большей долей запросов на запись вне конкуренции был контроллер Promise в режиме WT.

Далее посмотрим паттерны, эмулирующие работу дисковой подсистемы сервера.

IOMeter: Fileserver & Webserver


Проведём сравнение контроллеров по усреднённому значению их производительности (среднее арифметическое скорости контроллера при пяти вариантах нагрузки).


На серверных нагрузках лучше всех показал себя Promise в режиме WT, однако все остальные контроллеры показали довольно близкие результаты, за исключением, может быть, контроллеров VIA и Adaptec. Но, всё же, определённая «лестница почёта» у нас получилась…
Отметим весьма неплохие результаты контроллера Acard и превосходство референсного контроллера SiliconImage над контроллерами известных производителей серверных RAID-контроллеров LSI и Adaptec, основанными на чипе всё того же SiliconImage.




На паттерне Webserver лидером остался все тот же Promise в режиме WT, но к нему вплотную приблизился контроллер Intel. А к отстающим VIA и Adaptec прибавился еще и HighPoint, правда, VIA отстал гораздо сильнее. Если вспомнить поведение контроллера VIA в паттерне Database, то это отставание было вполне ожидаемо.

Забавно, как различается поведение интегрированных контроллеров: один из них выбился в лидеры, а другой скатился вниз.

IOMeter: Workstation

Паттерн этот характеризуется большой долей запросов на запись, и это должно изменить расстановку сил:




Хоть лидер и не изменился (Promise в режиме WT уверенно держится на первом месте), контроллер от фирмы VIA, поделив вторую позицию с SiliconImage, значительно поправил свое положение. Сказалась ранее замеченная «любовь» контроллера VIA к запросам на запись и высокая скорость при малых нагрузках.

В прочем, контроллеры Acard и Intel также остались в лидирующей группе. Замыкают группу LSI, HighPoint и Adaptec соответственно, но их отставание незначительно.

IOMeter: Workstation32

Workstation32 отличается от Workstation лишь тем, что тест проводится на первых 32GB адресного пространства массива.




Любопытно, но «сужение» рабочей зоны теста «подровняло» результаты всех участников. Лидер не изменился, а многострадальный контроллер от VIA опять переместился ближе к концу списка. Аутсайдеры также поменялись местами: Adaptec обогнал HighPoint.

Winbench99

Тест Winbench мы используем для проверки работы дисковой подсистемы в режиме «настольного компьютера». Для этого массив общим объемом 240GB форматируем в NTFS средствами операционной системы (размер кластера по умолчанию равен 4КБ) и в FAT32, используя программу Paragon Partition Manager (размер кластера 32КБ), а также проводим тестирование на объеме массива в 32GB в форматах NTFS и FAT32 (для разметки дисков использовался штатный W2K Disk Manager).

Начнем на объеме логического диска 240Gb и в формате FAT32.


нажмите для увеличения

Итак, рассмотрим результаты контроллеров по скорости линейного чтения в начале и конце логического диска - Beginning и End.


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

Сами графики линейного чтения можно посмотреть по этим линкам:

График линейного чтения: RAID0 на Acard 6890S
График линейного чтения: RAID0 на Adaptec 1210SA
График линейного чтения: RAID0 на HighPoint RR1520
График линейного чтения: RAID0 на Intel ICH5-R
График линейного чтения: RAID0 на Promise FT S150 TX2 Plus WT
График линейного чтения: RAID0 на Promise FT S150 TX2 Plus WB
График линейного чтения: RAID0 на Silicon Image Sil3112
График линейного чтения: RAID0 на LSI SATA150-2
График линейного чтения: RAID0 на VIA V8237

Рассмотрим результаты контроллеров в двух интегральных тестах - Business Disk Winmark и High-End Disk Winmark.

В Business Disk Winmark резко выделяется HighPoint, такая скорость может быть результатом особенности драйвера. Остальные контроллеры показали меньшую, но достаточно приемлемую скорость.




В тесте High-End Disk Winmark первые два места заняли контроллеры, интегрированные в чипсет материнских плат. Скорее всего, это можно объяснить способом передачи данных на чипсет (точнее, тем, что контроллеры, интегрированные в чипсет, не являются «PCI-устройствами» и, теоретически, имеют более широкую полосу доступа к памяти.

Неожиданно плохой результат показал контроллер HighPoint. Хм… Какая-то однобокая у драйвера оптимизация получилась…

Посмотрим на успехи контроллеров под файловой системой NTFS:


нажмите для увеличения


Под NTFS в Business Disk Winmark, по сравнению с FAT32, скорости немного упали, но в этом тесте драйвера контроллера HighPoint «срабатывают» на «пять баллов» - он работает значительно быстрее конкурентов.
Неплохо повели себя Promise (WB) и Silicon Image. Оставшиеся контроллеры выстроились в ровную линейку.

В паттерне High-End Disk Winmark под NTFS «победила дружба», но скорость у всех, как и в предыдущем тесте, стала меньше по сравнению с FAT32, лишь контроллер HighPoint отстал от общей группы.


Перейдем к тестам на логическом диске размером 32GB.

В файловой системе FAT32 результаты Winbench99 выглядят так:


нажмите для увеличения

Также как и ранее рассмотрим результаты контроллеров в Business Disk Winmark и High-End Disk Winmark.

Драйвер HighPoint просто создан для теста Business Disk Winmark. :)
Скорость контроллера RocketRAID почти в 1,5 раза выше, чем у ближайшего преследователя, а им является Intel ICH5-R, остальные контроллеры отстают от последнего весьма незначительно.




В тесте High-End Disk Winmark с небольшим преимуществом победил Intel ICH5-R, контроллер VIA, увы, не удержался на «вершине» и свалился ближе к концу списка. Ну а контроллеру HighPoint снова не удалось показать высокий результат в этом тесте.

Завершая тесты в Winbench99, рассмотрим результаты контроллеров на NTFS при объеме логического диска в 32GB.


нажмите для увеличения


Также как и при тестах на полном объёме массива с тестом Business Disk Winmark лучше всех справился HighPoint, за ним идут Promise в WB и WT конфигурации, два интегрированных контроллера и контроллеры на основе Silicon Image вместе с Acard.


Тест High-End Disk Winmark в NTFS - 32Gb ничем нас не удивил: все та же знакомая картина. Интегрированные контролеры вернули себе лидерство, семейство Silicon Image в конце списка, и HighPoint плетется сзади.
Отметим неплохой результат контроллера Acard.

FileCopy Test

Итак, наступило самое интересное, переходим к FileCopy Test. Мы применяем FC-Test по нашей стандартной методике - на диске (в данном случае - на массиве) создавалось два логических диска по 32 GB, и они размечались в NTFS и FAT32. На первом диске создавался набор файлов, затем, этот набор файлов читался с диска, затем набор файлов копировался в директорию, созданную на первом логическом диске (т.е. производилось копирование внутри одного раздела), и завершало цикл тестов копирование первого набора файлов на второй логический диск. Версия 0.5.3 утилиты FC-Test немного отличается от нашей привычной версии 0.3. В новом билде появилась функция эмуляции архивации, для каждой операции сообщается не только время, потраченное на её совершение, но и средняя скорость (так как объём всех файлов паттерна известен).
Посмотрим, какие получились результаты. Начнем с файловой системы NTFS.
Создание и чтение файлов.


В каждой строчке красным цветом помечены худшие результаты, а синим - лучшие. Также, для наглядности, были построены диаграммы по скорости создания (Сreate) и чтения (Read) файлов.


Очевидно, что с созданием на массиве наборов файлов, то есть, говоря попросту – «с записью», контроллер VIA справляется лучше всех. Он показал наивысшую скорость на четырёх наборах файлов из пяти. Ну а самым медленным при записи оказался контроллер Acard.

Можно отметить хорошую «средневзвешенную» скорость контроллеров Intel ICH5-R и Pomise(WT), а также высокую скорость контроллера LSI при создании набора файлов Install и скорость контроллера HighPoint при работе с мелкими файлами (Programs и Windows).


При чтении картина поменялась, к контроллеру от фирмы VIA вплотную подтянулись Silicon Image, Adaptec и в некоторых случаях Intel ICH5-R. То, что «чипсетные» контроллеры при чтении выглядят лучше остальных – это вполне понятно. Также, неудивительно, что высокую скорость показали и контроллеры на чипе SiliconImage – они всегда хорошо «качали» PCI… Удивительно, что неожиданно невысокий результат показал контроллер LSI (на чипе SiliconImage)… По всей видимости, причина этого - в недостаточно “свежих” драйверах контроллера.
Ну, а то, что контроллер HighPoint резко отстал от конкурентов неожиданностью совсем не стало, особенно после тестов SeauentialRead и Disk Transfer Rate.

Посмотрим на результаты в копировании.






При копировании мало что изменилось: VIA постоянно лидирует, за второе место борется Promise(WT) и Intel, референсный контроллер от Silicon Image прочно укрепился на третьем месте. Контроллер HighPoint безнадежно отстал от общей группы.

Перейдем к файловой системе FAT32, и рассмотрим все в прежнем порядке.




Контроллер VIA опять «на коне», контроллер от Intel прилично создает большие файлы типа ISO, хотя более мелкие создает чуть медленнее конкурентов. Отметим, что контроллер Acard в FAT32 работает намного лучше, чем в NTFS.


В FAT32 читает лучше всех Adaptec, но и остальные контроллеры показали себя с лучшей стороны, за исключением, увы, контроллера HighPoint.


Копирование под FAT32 завершает нашу тестовую программу.




Все повторяется, как в NTFS, разве что скорости немного выросли. Лидируют контроллеры Intel и VIA, и изредка к ним подбирается контроллер Promise (WT).

Выводы


Итак, суммируя все за и против, однозначно можно сказать одно: единоличного лидера нет. И, чтобы не забыть подчеркнуть сильные и слабые стороны каждого контроллера, приведём краткое резюме по каждому контроллеру.

ACARD-6890S – «середнячок», ни в одном тесте не занял последнего места, но и не поднялся выше третьего. Для первого раза, а контроллер Acard для нас – явление новое, можно сказать, что он показал прекрасные результаты. Единственное, что хотелось бы пожелать контроллеру – лучшей совместимости с дисками (например, с дисками Seagate Barracuda 7200.7 SATA контроллер работать не пожелал. Как и с WD360GD…).

Контроллер Adaptec 1210SA во всех тестах (исключая FC-Test) проиграл SiliconImage, хоть сделан он на том же чипе. Очевидно, что BIOS и драйвер контроллера Adaptec не так «свежи», как у референс-контроллера SiI.

Контроллер HighPoint RocketRAID1520, можно сказать, полностью провалил все тесты. Единственное, чем он может похвалиться, это результатом в тесте Business Disk Winmark, и еще он неплохо создает файлы в FileCopy Test.

Контроллер Intel ICH5-R в синтетическом тесте IOMеter показал скромные результаты, не выделяясь ни в лучшую, ни в худшую сторону, а в Winbench99 и FileCopy Test проявил себя как сильный «боец», постоянно занимая места в первой тройке.

Контроллер LSI SATA150-2 в синтетике показал чуть лучшие результаты, чем Adaptec, но в Winbench99 и FileCopy Test проиграл ему.

Контроллер Promise FT S150 TX2 Plus очень хорошо показал себя в различных тестах с использованием IOMeter, особенно здорово выступил он в режиме WT. В тестах Winbench99 и FileCopy Test результаты контроллера Promise были немного хуже, чем у конкурентов. Причём, скорость контроллера по тестам сильно зависела от режима кэширования запросов драйвером (WB/WT).

Контроллер SiliconImage Sil3112 в IOMeter редко когда показывал наивысшие результаты, но почти всегда был в тройке лидеров - подобную стабильность следует отметить. Но в Winbench99 и FileCopy Test от его стабильности не осталось и следа: то необъяснимые взлеты, то грустные падения.

И, наконец, последний контроллер (по алфавиту, а не по значению…) - VIA V8237. В синтетических тестах с использованием IOMeter он не проявил особой прыти, особенно под большими нагрузками, в Winbench99 немного исправился, но особых вершин не достигал, зато в FileCopy Test он всегда был «на высоте».

P.S. При выборе контроллера для домашнего/рабочего компьютера, мы рекомендуем принять во внимание результаты FC-test, так как он имитирует наиболее часто используемые режимы нагрузки на дисковую подсистему.

P.P.S. Результаты тестов контроллеров в RAID1 будут опубликованы во следующем обзоре. Оставайтесь с нами! :)