Вторая версия спецификаций Serial ATA принесла нам не только увеличение пропускной способности интерфейса со 150 до 300 МБ/с, что заметили все (как минимум, в спецификациях). Окончательно «узаконены» теперь оказались и некоторые расширения стандарта, ранее считавшиеся необязательными, такие, как управление очередью команд или поддержка «горячего подключения». Но не только они — в частности, в обязательный список поддерживаемых расширений попала и поддержка репликаторов портов. Последнее прошло совершенно незамеченным для «широкой общественности», да и немудрено: типичные «чипсетные» контроллеры к этому моменту поддерживали уже не менее четырех устройств, сейчас вполне привычными стали и по шесть разъемов на плате, в то время как в редком компьютере их занято более двух — один винчестером, а второй оптическим накопителем. Подобная избыточность — следствие последовательного характера шины, позволяющая поддерживать большое количество портов не сильно увеличивая сложность разводки чипов. Фактически на шесть портов SATA требуется лишь 42 вывода микросхемы контроллера — практически столько же, сколько и для одного канала РАТА, поддерживающего всего два дисковых устройства. Соответственно, сильно «экономить» на количестве поддерживаемых устройств не приходится, и ограничивать его начинают не технические сложности, а другие факторы. В том числе, и здравый смысл — иначе бы и по десятку накопителей к обычной настольной плате можно было бы подключить. Так что необходимость в увеличении числа портов абсолютно не прослеживается. К тому же и воспоминания о «тяжком наследии» РАТА, где пара дисков на одном канале зачастую мешала работать друг другу, все еще сильны, чтобы опять возвращаться к тем временам.
В общем, сама по себе идея «разветвления» каналов SATA кажется не очень интересной. А вот вместе с другими усовершенствованиями стандарта — очень даже. Ведь диски могут быть установлены не только в корпус компьютера: внешние накопители становятся все более популярными, причем и внешние дисковые массивы перестают быть экзотикой для «домашнего» пользователя. Но не тянуть же к внешней «коробочке» SATA-кабели по числу установленных в ней дисков! Не логично, да и неудобно. Уже хотя бы потому, что eSATA-портов в современном компьютере обычно один, крайне редко — два. Вот и получается, что простыми средствами мы можем получить лишь однодисковый ВЖД с eSATA-интерфейсом. А если воспользоваться мультипликатором с поддержкой RAID-функций, то без каких-либо проблем будут получаться накопители и с двумя или четырьмя винчестерами. Причем кажущаяся «узость» шины подключения в данном случае кажущейся и окажется — все прочие внешние интерфейсы в разы медленнее. Многие внутренние, кстати, тоже. Ведь достаточно популярны RAID-контроллеры на два дисковых устройства, в качестве интерфейса использующие PCI-E 1х, а это лишь 250 МБ/с против 300 МБ/с. А до широкого распространения PCI Express спросом пользовались двух- и четырехканальные модели в виде плат расширения для «обычной» PCI с теоретической пропускной способностью в 133 МБ/с (и практической около сотни даже если другие устройства «мешать» не будут).
Итак, фактически RAID-контроллеры, использующие заложенную в стандарте возможность «разветвлять» основные каналы представляют собой совершенно обычные микросхемы только с немного необычным внешним интерфейсом. За счет этого они даже немного проще и дешевле — не требуется полная поддержка универсальных шин, типа того же PCI-E. Следовательно, пригодиться могут и не только во внешних относительно компьютера устройств. Распаивают же многие производители RAID-контроллеры на своих материнских платах, не полагаясь только на возможности чипсета. Которые, к тому же, могут быть и искусственно ограниченными — например, у Intel большая часть отгружаемых южных мостов RAID-функции не поддерживает. А тут ставим на выход еще один-два контроллера и все — и портов доступных больше (что, впрочем, в большинстве случаев не очень актуально, ибо их и без того много), и функциональность их выше. И цена ниже, чем если отводить на это дело линии PCI-E.
Все вышесказанное сразу нам дает две области, где применение подобных микросхем более чем оправдано — внешние дисковые массивы и «прикручивание» RAID-функций к чипсетам, изначально их не поддерживающих. Но, к сожалению, производители не всегда руководствуются элементарной логикой, предлагая иногда весьма вычурные решения. Например так поступила компания ASUS при разработке системной платы P5Q Deluxe. В данном случае применяется чипсет Intel P45 с южным мостом ICH10R, так что массивы с числом дисков до шести можно создавать и совершенно штатными средствами. Однако для Deluxe-версии этого компании показалось мало, а делать также, как другие производители, распаивающие на плате один-два «обычных» дополнительных контроллера, проектировщики сочли ниже своего достоинства :) Один классический контроллер они установили — IDE/SATA-II, на базе микросхемы Marvell 88SE6121 (интерфейс PCI-E 1х), с поддержкой 2 устройств ATA133 и 2 SATA300. Поддержка РАТА зачем нужна — очевидно: чипсетом не поддерживается, а устаревшие оптические накопители до сих пор у многих сохранились. Один из SATA-каналов отдан для реализации eSATA-интерфейса. Тоже все понятно. А куда девать второй? Можно было бы тоже вывести наружу (платы с двумя eSATA ныне встречаются не так уж часто, но встречаются), можно было просто добавить дополнительный разъем для подключения еще одного диска внутри корпуса, можно было просто его не разводить. Но все это варианты не творческие, посему найден был особый путь: к выходу 88SE6121 подключаем вход Silicon Image SiI5723. Это, как раз, типичный двухпортовый RAID-контроллер с SATA-интерфейсом. И одним выстрелом было убито сразу несколько длинноухих быстроногих млекопитающих. Во-первых, плата получилась не такой, как у всех. Во-вторых, на ней есть целых два RAID-контроллера (как и положено делюксовым модификациям), но один еще и не требует установки дополнительных драйверов! Да, конечно, в этом случае мы ограничиваемся только возможностями самых простых массивов RAID 0 и 1 (что-то более сложное можно реализовать либо дорогой аппаратурой, либо возложить функциональность на драйверы), но и это неплохо. И очень заманчиво для пользователей. А производителю обходится недорого.
Другой вопрос, а стоит ли связываться с «технологией» Drive Expert, или лучше ограничиться более проверенными решениями (хотя бы чипсетным контроллером)? Всестороннее исследование весьма трудоемко, но хотя бы производительность в режиме с чередованием мы оценить сможем. Причем тестирование будет полезным не только для данного узкого случая — очевидно, что внешний массив, содержащий SiI5723 и подключенный к данной плате посредством eSATA будет вести себя точно также: просто другой порт того же контроллера будет задействован. Да и на другие системные платы результат распространить можно будет — Marvell 88SE6121 встречается на моделях на чипсетах Intel весьма нередко, поскольку обеспечивает сразу два необходимых функциональных дополнения к ним: и поддержку РАТА, и один-два порта eSATA. Так что мы тоже поступим подобно инженерам ASUS, и одним выстрелом убьем несколько если не зайцев, то уж мексиканских тушканов как минимум :)
Методика тестирования
Тестовая платформа
Тестирование проводилось на компьютере следующей конфигурации:
- ASUS P5Q Deluxe на чипсете Intel P45 (южный мост ICH10R)
- Intel Core 2 Duo E6750
- 2 ГБ РС2 6400 DDR2 SDRAM
- видеокарта на базе NVIDIA GeForce 8600GT
- системный винчестер Hitachi Travelstar HTS541010G9SA00
- Windows XP + SP3
Испытуемые
В качестве «рабочего тела» для экспериментов использовалась пара недавно протестированных нами винчестеров HitachiDeskstar 7K1000 HDS721010KLA330. Использовались они как по одному, будучи подключенными к одному из чипсетных портов и к обеспечиваемому SiI5723, так и попарно — с объединением в массив RAID0 (c размером блока по умолчанию — 128 КБ).
Тестовые приложения
Я взял наш традиционный набор для тестирования ВЖД и несколько его расширил. Скорость выполнения буферизованных операций, а также время доступа при записи и чтении (что нам суммарно дает четыре теста) измерялись при помощи Lavalys Everest 4.5 (размер блока почти во всех тестах был фиксирован на 64 КБ — иногда это имеет значение). А линейные и случайные операции записи и чтения тестировались при помощи IOMeter. Большинство ее «стандартных» шаблонов интереса не представляют, поскольку практически всегда пропорциональны скорости случайного чтения (эти операции занимают львиную их долю), но поведение шаблона Database при разной нагрузке крайне интересно. Кроме того, я воспользовался дисковыми тестами пакета PCMark05. Официально они тестируют производительность «реальной работы». Насколько последняя в понимании FutureMark близка к реальности вопрос отдельный, но для сравнения накопителей в одинаковых условиях результаты PCMark вполне сгодятся.
Everest — низкоуровневые тесты
Признаться честно, уже на этом этапе у нас возникло сильное желание бросить затею с тестированием как неперспективную. Несложно заметить явные ограничения получившегося агрегированного контроллера, причем очень сильные. Особенно сильные в случае записи — тут уж не только RAID0 особого смысла не имеет, но и многим одиночным дискам будет мало. Даже в тех случаях, когда окажется задействована механика. Есть стойкое ощущение, впрочем, что SiI5723 не виноват — «схалявили» инженеры из Marvell. В семейство 88SE61хх входит несколько чипов самой разной функциональности от простеньких одноканальных РАТА с поддержкой двух дисковых устройств, до вариантов с поддержкой четырех в разных комбинациях. И очень может быть, что базовым является как раз не 88SE6121, из которого можно получить все остальное блокированием ненужных функциональных блоков, а как раз самый младший. А дальше уже внутреннее разветвление портов и все. Так, во всяком случае, дешевле. Но реально контроллер способен через себя «прокачивать» не более чем позволяет один канал SATA150. А что официально поддерживается два SATA300 и еще один АТА133, так мало ли кто что на ком обещал — очевидно, что столько одновременно и в PCI-E 1x «не пролезет», так что кто умный, тот заранее будет знать, что реальное положение дел куда хуже теоретического. Впрочем, как оказалось, оно еще хуже, чем можно было ожидать, что сразу же выявилось как только кто-то попробовал использовать SATA-порт не как дополнительный на всякий случай или для внешнего винчестера для эпизодической работы, а более серьезным образом.
Время доступа на операциях чтения традиционно одинаково что для одиночного винчестера, что для массива с чередованием. Причем от интерфейсных проблем не зависит, что отрадно. Именно это мы наблюдаем и в данном случае.
А вот со временем доступа при записи получилось не очень. В RAID0 ему положено уменьшаться — это есть. Но… степень улучшения параметра как-то не впечатляет: на чипсетном контроллере вдвое, а при задействовании Drive Expert менее чем на 10%. В общем, что от такого «высокопроизводительного» массива ждать в дальнейшем уже очевидно. Но результаты тестов я все-таки приведу — для пущей убедительности :)
IOMeter — последовательное чтение и запись данных
Ограниченная пропускная способность интерфейса не могла не сказаться на результатах этой группы тестов и она сказалась таки! Причем более чем убедительным образом. Могла бы еще более убедительным, возьми я пару более быстрых винчестеров, коих сейчас много (и даже Hitachi обновила-таки свои терабайтники хотя бы официально — реально в продаже новых моделей все еще особо не наблюдается, но все же). Полученные нами чуть более 120 МБ/с с точки зрения сегодняшнего дня выглядят уже форменным издевательством: почти столько же демонстрируют современные винчестеры с емкостью пластин более 300 ГБ, но делают они это в одиночку. Ну а про запись и говорить не приходится: здесь выигрыш даже по сравнению с одиночным аналогичным диском на том же контроллере крайне мал, чтобы оправдать создание массива.
IOMeter — случайные операции
Вердикт еще более неутешительный: для «серьезных» применений (где доля случайных операций крайне велика) «контроллер» из связки 88SE6121+SiI5723 практически непригоден. Кстати и для одиночных дисков его имеет смысл использовать лишь тогда, когда других вариантов нет. А пытаться получить большую производительность при помощи массива с чередованием… лучше и не пытаться. Более оправданным вариантом практически всегда будет использование дисков независимо друг от друга, но на чипсетном контроллере.
IOMeter — шаблон Database при разной нагрузке
Последний гвоздь в гроб «технологии Drive Expert» в комментариях не нуждается.
Но, может быть, есть у нее и достоинства? Ладно — с «напряженной» дисковой работой не склалось, однако отсутствие необходимости в драйверах делает идею привлекательной для загрузочного RAID-массива. По крайней мере, на первый взгляд привлекательной. А что получается при более подробном изучении — сейчас посмотрим.
PCMark05 — «реальное» быстродействие
Любопытно, что некоторое ускорение загрузки системы получается и для одиночного диска — что ж, не всегда чипсетные контроллеры самые лучшие. А у массива RAID0 производительность в этом случае еще немного выше. Но смысл? Если у нас диск всего один, то можно еще попробовать выжать эти 5% (которые на практике не будут заметными), а если их уже два, то, как видно, использование RAID-возможностей южного моста чипсета куда более привлекательно. И речь тут уже идет не о процентах, а о разах. По крайней мере, об этом рапортуют тестовые утилиты. Учитывая же присущий им излишний оптимизм, на практике все будет скромнее, но за что побороться есть. А вот при использовании внешних недорогих контроллеров не за что бороться.
Еще более интересный результат :) Смысл использовать одиночный диск, подключенный к Marvell 88SE6121, а не к одному из портов чипсета, в качестве системного есть. А вот объединять в этом случае диски в RAID-массив вообще занятие неблагодарное, если не сказать глупое.
Если мы сравним эту картинку с двумя предыдущими, то можно прийти к выводу, что с точки зрения PCMark05 использовать данный контроллер даже для одиночного системного диска бывает полезным только если он в системе не единственный :) Но RAID-массив на нем собирать смысла нет вообще никакого.
Тестирование скорости антивирусного сканирования заставляет еще сильнее убедиться в справедливости вышесказанного.
Ну и тест записи окончательно расставляет «все точки над ё». Хотя ничего неожиданного в нем нет.
Итого
Нечасто в последнее время удается провести тестирование с однозначными выводами :) Всегда оказывается, что даже у не самого удачного решения могут найтись плюсы в определенных условиях, а еще чаще — удачность или неудачность технологии или продукта вообще напрямую от условий эксплуатации зависят. В данном случае мы опять имеем подобную картину. Однозначно можно только утверждать, что как таковая «технология Drive Expert», на которую упирает ASUS, годится только для пресс-релизов. С практической точки зрения ее ценность нулевая. Очевидно, что производительность любой системы напрямую зависит от самого медленного ее звена. Сложный «бутерброд» из внешнего дискового контроллера на шине PCI-E 1x, к которому «приделан» еще один дисковый контроллер, который уже, в свою очередь, реализует RAID-функции, потенциальными узкими местами просто изобилует. Вот и получается, что заявленное выполнено, а смысла в этом никакого: где тонко, там и рвется. Вам нужен массив RAID0 со всеми его недостатками, но без достоинств? Нам, например, не нужен.
А вот изучение мостов, типа Silicon Image SiI5723 и ему подобных, мы в дальнейшем продолжим. Но уже в тех условиях, для которых они разрабатывались. Очевидно, что даже при наличии проблем в самом чипе, он придется более чем к месту в ВЖД, позволяя выпускать двухдисковые модели по цене лишь немного отличающейся от однодисковых. Вот только для того, чтобы они полностью оправдывали ожидания покупателя, необходимо озаботится действительно быстрым интерфейсом между компьютером и самим ВЖД: на «узкой шине» и одиночный-то винчестер будет трудиться не в полную силу, не говоря уже о дисковом массиве.