Обзор IDE RAID контроллера Promise FastTrak66


RAID-контроллеры для жестких дисков с интерфейсом IDE уже перестали быть диковинкой, но до сих пор не получили широкого распространения. Возможно, ситуация изменится по мере удешевления дисков и привнесения в контроллеры новых возможностей? Жизнь покажет, а пока посмотрим на новый контроллер компании Promise Technology, Inc. — FastTrak66. Как следует из названия, данная карта поддерживает режим Ultra ATA/66, превращающийся в последнее время из забавной диковины в полезную вещь. Итак, что же нам предлагают.

Технические характеристики

  • Cовместимость со стандартом PCI 2.1
  • Поддержка режимов data striping (RAID 0), mirroring (RAID 1) и striping/mirroring (RAID 0+1)
  • Возможность создания одного «виртуального» диска из нескольких физических (span)
  • Поддержка Ultra DMA 4/3/2/1/0, DMA 2/1/0
  • Поддержка PCI Plug-n-Play, PCI interrupt sharing, совместимость с IDE контроллером системной платы
  • Поддержка IDE bus mastering
  • Цена (на сайте электронной коммерции Hardware Street ) — $123.99!

В общем и целом контроллер FastTrak66 является дальнейшим развитием контроллера FastTrak, обзор которого был опубликован на нашем сайте (cм http://www.ixbt.com/storage/fasttrak.html), поэтому некоторая информация будет повторяться.

Возможности контроллера

FastTrak представляет собой Ultra ATA/66 RAID-контроллер, имеющий собственный BIOS и поддерживающий параллельную обработку потоков данных. Оба IDE-канала, имеющиеся на контроллере работают параллельно и позволяют распределить нагрузку между жесткими дисками под многозадачными операционными системами. Добавив второй контроллер FastTrak можно получить четыре независимо работающих канала.

На каждом диске, подключаемом к FastTrak BIOSом создается зарезервированная область, в которой прописываются конфигурация массива и информация о всех принадлежащих ему дисках. Таким образом, если один из дисков в массиве гибнет, то информация о конфигурации не теряется и берется с другого диска. Такой подход позволяет произвольно менять расположение дисков массива (что впоследствии пригодилось).

Контроллером поддерживаются следующие виды массивов, видимых операционной системой как один физический диск:

Stripping (RAID 0) — чтение и запись происходит из/в блоки данных, чередующиеся на разных дисках. В таком случае при гибели одного диска в массиве, гибнет и весь массив. Зато значительно улучшается производительность благодаря разделению нагрузки между винчестерами. Емкость полученного диска из массива равна произведению числа дисков на емкость самого маленького в массиве. Размер блока, записываемого на каждый диск, задается в BIOS контроллера и составляет от 1 до 1024 Кбайт. Рекомендованный размер блока — 64 Кбайта для аудио/видео приложений и настольного компьютера или 8 Кбайт для сервера.

Mirroring (RAID 1) — данные дублируются на двух дисках. Производительность при этом возрастает только при чтении, за счет того, что различные данные, склеиваемые контроллером в один поток, читаются с двух дисков одновременно. Кроме этого, при чтении используются такие возможности, как elevator sorting (конвейерная сортировка порядка чтения данных) и load balancing (балансировка загрузки дисков). Суть этих режимов становится ясной из иллюстраций.

При отказе одного из дисков в массиве, данные не гибнут, а берутся с другого винчестера. При этом, если к FastTrak был подключен дополнительный запасной диск, то при отказе в массиве, начинает использоваться именно он. Предварительно контроллер переносит на него данные с работающего винчестера. Эта операция выполняется автономно в фоновом режиме, и об отказе в массиве пользователь должен получить информацию об этом только при следующей перезагрузке системы. Емкость диска, получаемого из такого массива, равна емкости наименьшего диска.

Stripping/Mirroring (RAID 0/1) — комбинация из двух вышеописанных режимов. Работает только при наличии четырех дисков. При этом получается «зазеркаленный» stripe-массив из двух дисков. В этом режиме достигается и высокая производительность, и защищенность от сбоев.

Capacity (Spanning) — в этом режиме размер получаемого из массива диска равен просто сумме размеров всех его дисков. Данные хранятся последовательно на всех винчестерах из массива. Собственно, это не RAID, поэтому ни а какой сохранности или скорости говорить в этом случае не приходится.

Естественно, любой режим (кроме striping/mirroring) может быть задан для массива из одного диска. При этом получаем обычный диск с интерфейсом Ultra ATA/66.

Инсталляция

Promise FastTrak66 представляет собой обычную карту PCI. В комплект поставки кроме него самого и руководства, входит 2 IDE-кабеля ATA/66, комплект драйверов под все операционные системы и две утилиты под Windows 95/98 и Windows NT.

Под DOS контроллер никаких драйверов не требует.

При загрузке операционной системы Windows 98 после установки карты она находит новое устройство PCI RAID Controller, драйвер к которому без проблем устанавливается с прилагаемой дискеты. Сам драйвер не обладает никакими функциями настройки и верификации — все они вынесены в отдельные утилиты.

Процедура установки и настройки дисковых массивов крайне проста. Во время загрузки компьютера, при инициализации FastTRAK выдает приглашение своего BIOS, в Setup которого можно войти. Setup содержит функции автоматического и ручного создания, удаления и восстановления дисковых массивов, а также просмотра их свойств. Режимы stripe, mirroring и spanning, а также размер блока для режима stripe задаются при установке. Интерфейс setup чрезвычайно прост и интуитивно понятен, а наличие режима автоматического создания позволяет не утруждать себя лишними раздумьями.

Теперь немного о прилагаемых утилитах.

Первая из них — FastCheck, предназначена для мониторинга состояния контроллера и подключенных к нему дисков. В ней отображаются все параметры настройки массивов, дисков и каналов IDE.



Здесь же можно задать опции режима mirroring — задание звукового сигнала и/или всплывающего сообщения при отказе диска, задание параметров синхронизации (при синхронизации содержимое дисков mirror-массива сравнивается между собой и при нахождении различий содержимое «ведомых» дисков, т. е. всех, кроме первого в массиве, обновляется), определение внешнего вида утилиты, а также задание пароля для защиты от несанкционированного использования утилиты.

Вторая — Promise UltraTune, позволяет изменять параметры работы контроллера. Устанавливая тип используемых приложений, эта утилита позволяет установить размер блока при stripping на 8 Кбайт (Business/Games) или на 64 Кбайта (Audio/Video Editing). Также можно установить величину загрузки шины.

Никаких проблем при установке карты замечено не было.

Эксплуатация и тестирование

При эксплуатации контроллера использовалась следующая конфигурация системы:

  • системная плата Chaintech 6BTM (Intel 440BX)
  • контроллер Promise FastTrak66
  • процессор Intel Pentium II 400 MHz
  • 128 MB SDRAM SEC PC100
  • видеокарта ASUS V2740 (Intel 740)
  • операционная система Windows 98 SE

В качестве жестких дисков использовались четыре диска Quantum lct объемом 13.0 Гбайт. Выбор дисков определялся, во первых, тем, что их удалось найти в приемлемом количестве в приемлемые сроки, а во-вторых, было кране интересно посмотреть, на что способен массив общей стоимостью порядка $600-650.

Тестировалась работа контроллера в следующих режимах

  • Striping на 4 дисках (Stripe 4 drives)
  • Striping на 2 дисках (Stripe 2 drives)
  • Striping/Mirroring на 4 дисках (Stripe 2×2 drives)
  • Mirroring на 2 дисках (Mirror 2 drives)
  • Spanning на 4 дисках (Span 4 drives)
  • Одиночный диск (Single drive)

Во всех режимах striping размер блока брался равным 64 Кб.

Использовался стандартный набор тестов — WinBench 99 (Business WinMark и Disk Inspection Tests) и Adaptec ThreadMark 2.0. Тест Disk CPU Utilization можно осуществлять в двух режимах: с фиксированной скоростью чтения и с максимально достижимой. Тестирование проводилось при фиксированной скорости 4000000 байт/сек.

Для удобства восприятия все результаты сведены в две таблицы, кроме того, для каждого режима дается краткое изложение субъективных впечатлений, сопровождаемое графиком скорости линейного чтения.

Тест WinBench 99 повторялся троекратно, тест Adaptec ThreadMark 2.0 — пятикратно, в таблицах приведены средние значения.

Тесты проводились на «холодных» дисках, то есть перед проведением каждого следующего теста диску предоставлялось время для охлаждения до комнатной температуры. Диски перед проведением каждого теста дефрагментировались с использованием стандартной утилиты Defrag, входящей в комплект Windows 98 SE.

Итак, что же получается.

Stripe 4 drives

Cамый «крутой» режим. И действительно, скорость впечатляет. Увеличения в 4 раза, естественно, не получилось, но прибавка немалая. Правда, раздражает неравномерность характеристики, особенно на хвосте виртуального диска. На мой взгляд, это происходит из-за неприспособленности алгоритмов чтения вперед к работе в таком режиме и малого размера буфера. Но все равно неплохо. А если поставить 4 IBM DPTA? Правда, тогда цена получится совсем другая :)

Stripe 2 drives

Ну, скорость поменьше, зато и дисков нужно в два раза меньше. Еще четче прослеживается «зубчатость» графика.

Mirror 2 drives

График чтения практически совпадает с графиком одиночного диска, что, собственно, и следовало ожидать. Но в данном режиме не это главное. Главное — защита информации при выходе диска из строя. Вот тут есть один нюанс. Правда, если строго следовать инструкции, то все будет в порядке, но, памятуя о привычке нашего человека решать все проблемы «методом научного тыка», опишу ситуацию подробнее. Итак, в User's Manual черным по белому написано, что если у вас есть один диск, его надо ставить мастером на первый канал, два — мастерами на оба канала и т. д. Так вот, это не просто слова. Создав массив из дисков master и slave на одном канале и сымитировав выход из строя master путем отключения питания перед загрузкой, я получил ругательное сообщение о том, что контроллер не может найти подходящего прерывания и вообще, надо еще проверить, поддерживает ли ваша системная плата bus mastering! Поначалу это привело меня в недоумение, тем более, что с диском slave такая ситуация проходила штатно — контроллер выдавал предупреждение о критическом состоянии массива и предлагал выбор: продолжить загрузку или заняться заменой диска. Отключение питания в процессе работы для master приводило к мертвому зависанию системы, а для slave опять все было корректно — утилита FastCheck сообщала о том, что массив находится в критическом состоянии. Решив эту проблему указанным выше методом — переставив второй диск мастером на другой канал, я заглянул в инструкцию и понял, что мог не мучаться. Кстати, если вы все-таки сделали все не так, как надо, в реальной ситуации, и у вас «умер» master, как раз и может пригодиться то, что контроллеру нет дела до того, как подключены диски. Необходимо просто подключить «здоровый» диск в качестве master. Итак, с этим все в порядке. Теперь о том, как привести массив обратно в нормальное (functional) состояние. Подключив исправный диск, необходимо зайти в BIOS контроллера и выбрать опцию Rebuild. Там Вам предложат добавить этот диск в массив, после чего происходит процесс синхронизации. В данном случае он занял около 10 минут. Отдельно стоит упомянуть возможность установки третьего запасного диска. При наличии диска, не входящего ни в какой массив, после сбоя утилита FastCheck опять-таки выдает предупреждение, после чего начинает в фоновом режиме синхронизировать массив, используя резервный диск. Удобное решение.

Stripe 2×2 drives

Режим должен обеспечивать сочетание надежности и производительности. С надежностью — все в порядке, а вот с производительностью… Нет, в среднем-то получается то, что нужно — как у Stripe 2, но вот график чтения напоминает кардиограмму инфарктника. Что-то с распределением чтения по зеркалам не очень получается.

Span 4 drives

Режим вообще-то не очень понятный. Зачем делать spaning если можно сделать striping? Разве что диски очень отличаются по объему. Тут никаких неожиданностей, хорошо заметны индивидуальные характеристики каждого диска

Single drive

Как говорится в детских журналах: найдите, где на графике span находится график этого диска? :)

Теперь — цифры:



WinBench 99. В скобках приведены цифры загрузки процессора при выполнении конкретного теста.

  Stripe 4 drives Stripe 2 drives Stripe 2×2 drives Mirror 2 drives Span 4 drives Single drive
Business Disk WinMark 99 (thousand bytes/sec) 4250 (48.11%) 3410 (37.29%) 3350 (36.67%) 2910 (32.90%) 2890 (33.99%) 2880 (31.57%)
High-End Disk WinMark 99 (tb/s) 17700 (42.43%) 13500 (34.48%) 12400 (31.78%) 11000 (27.18%) 11100 (27.49%) 11200 (26.76%)
Disk Transfer Rate: Beginning (tb/s) 47100 (26.7%) 38500 (18.9%) 32000 (17.4%) 20500 (6.63%) 19800 (8.62%) 20500 (6.33%)
Disk Transfer Rate: End (tb/s) 46300 (26.7%) 24500 (18.9%) 24700 (17.4%) 12500 (6.63%) 12500 (8.62%) 12500 (6.33%)
Disk Access Time (ms) 14.4 (2.53%) 14.9 (2.16%) 12.9 (2.68%) 12.6 (2.61%) 14.6 (1.37%) 14.9 (2.2%)
Disk CPU Utilization (Percent Used) 9.08 8.9 9.04 6.42 8.68 6.49
High-End Disk WinMark 99 подробно
Disk Playback/HE: AVS/Express 3.4 (tb/s) 12800 8350 8320 8130 8130 8120
Disk Playback/HE: FrontPage 98 (tb/s) 39100 36800 36700 30800 30200 30400
Disk Playback/HE: MicroStation SE (tb/s) 10900 10300 10200 9900 10600 9980
Disk Playback/HE: Photoshop 4.0 (tb/s) 13200 10100 8950 7470 7440 7450
Disk Playback/HE: Premiere 4.2 (tb/s) 17600 14000 12400 9290 11200 11100
Disk Playback/HE: Sound Forge 4.0 (tb/s) 32500 26100 25500 18500 20000 20400
Disk Playback/HE: Visual C++ 5.0 (tb/s) 17500 14200 13800 10500 11300 11100

Небольшой комментарий. Сравнивая результы по колонкам, можно заметить, что наибольший прирост производительности в режимах RAID 0 идет как раз в приложениях, ориентированных на редактирование аудио/видео потоков (Sound Forge 4.0 — звуковой редактор, Adobe Premiere 4.2 — видеоредактор) и в Adobe Photoshop 4.0, что, на мой взгляд, как раз наиболее актуально. В этих приложениях наша система опережает и жесткие диски последнего поколения обзора жестких дисков последнего поколения (http://ixbt.stack.net/storage/hdd-review-66-2.html).

Adaptec ThreadMark. Как всегда, приведено средневзвешенное значение скорости обмена в МВ/сек по результатам 64 тестов, в процессе которых проводятся операции чтения и записи блоками по 512 байт, 1, 2, 4, 8, 16, 32 и 64 килобайт одной, двумя, тремя или четырьмя цепочками (thread) одновременно, с использованием стандартных вызовов Win32 API и загрузка процессора во время выполнения тестов.

Stripe 4 drives 17.46 66.01%
Stripe 2 drives 15.09 56.68%
Stripe 2×2 drives 16.13 59.38%
Mirror 2 drives 12.07 52.75%
Span 4 drives 12.01 47.25%
Single drive 12.03 43.54%

Здесь ситуация просто классическая — все именно так, как и должно быть в теории. За счет дополнительных возможностей режима mirroring результаты при применении зеркалирования чуть повыше.

Софт или Хард?

Ну хорошо, в Windows 95/98 нет никаких средств, позволяющих программно реализовать какой-либо режим RAID. Но ведь в Windows NT такие средства есть. Имеет ли смысл применять аппаратные средства, если можно обойтись программными? С целью ответа на данный вопрос был произведен следующий опыт. В качестве операционной системы использовалась Windows NT 4.0 SP6. Файловая система — NTFS. В остальном тестовая система осталась той же. Сравнивалась работа аппаратной (FastTrak66) и программной реализации RAID 0 режима stripe 2. Размер блока был также равен 64 кб.

WinBench 99:

 Hardware RAIDSoftware RAID
Business Disk WinMark 99 (thousand bytes/sec) 4530 (37.09%) 4520 (42.81%)
High-End Disk WinMark 99 (tb/s) 13900 (27.64%) 13800 (31.46%)
Disk Transfer Rate: Beginning (tb/s) 33000 (12.9%) 33100 (14.1%)
Disk Transfer Rate: End (tb/s) 24500 (12.9%) 24900 (14.1%)
Disk Access Time (ms) 14.2 (1.2%) 14.3 (1.31%)
Disk CPU Utilization (Percent Used) 4.31 5.48
High-End Disk WinMark 99 подробно
Disk Playback/HE: AVS/Express 3.4 (tb/s) 13300 13200
Disk Playback/HE: FrontPage 98 (tb/s) 35300 35800
Disk Playback/HE: MicroStation SE (tb/s) 15300 15500
Disk Playback/HE: Photoshop 4.0 (tb/s) 8650 8600
Disk Playback/HE: Premiere 4.2 (tb/s) 12400 12100
Disk Playback/HE: Sound Forge 4.0 (tb/s) 19100 18400
Disk Playback/HE: Visual C++ 5.0 (tb/s) 12100 12100

Интересно, что на приложениях, работающих с маленькими файлами, программная реализация даже опережает аппаратную. А в целом — примерное равенство.

Adaptec ThreadMark 2.0:

Hardware RAID 18.78 28.63%
Software RAID 18.74 29.76%

Опять примерное равенство..

Даже графики практически совпадают.

Software RAID:

Hardware RAID:

Мощности современных процессоров вполне хватает для реализации данного режима. Естественно, загрузка процессора при программной реализации больше, но не трагически. Правда, на стороне Promise FastTrak большая гибкость выбора режимов работы.

Выводы

Вывод одназначен — очень полезное и недорогое устройство для тех, кто занимается обработкой аудио/видео (а таких в последнее время становится все больше). Другое дело, что, на мой взгляд, не стоит так уж гнаться за дешевизной. Возможно, стоит подумать о варианте с двумя дисками на 7200 rpm. Но это уже каждый решает для себя сам.

Что касается остальных пользователей, то, опять-таки, на мой взгляд, выигрыш от использования данного контроллера не окупает необходимости покупке самого устройства и как минимум одного дополнительного диска. Если, конечно, у вас нет крайне важных данных, которые должны уцелеть во что бы то ни стало.

Контроллер Promise FastTrak66 предоставлен фирмой Мультимедиа Клуб

Жесткие диски для этого тестирования предоставлены компанией Lizard





Дополнительно

iXBT BRAND 2016

«iXBT Brand 2016» — Выбор читателей в номинации «Процессоры (CPU)»:
Подробнее с условиями участия в розыгрыше можно ознакомиться здесь. Текущие результаты опроса доступны тут.

Нашли ошибку на сайте? Выделите текст и нажмите Shift+Enter

Код для блога бета

Выделите HTML-код в поле, скопируйте его в буфер и вставьте в свой блог.