Когда накопители c интерфейсом Serial ATA медленно, но верно вытесняли устройства с привычным Parallel ATA, аргументов в пользу нового стандарта было два: во-первых, удобство подключения, во-вторых, перспективы в будущем получить более высокую скорость работы. Проведенное нами в то время тестирование (cм. Андрианов С., Что же выбрать: Serial или Parallel ATA? // Мир ПК. 2004. №4. с. 51) подтвердило: производительность дисков с обоими интерфейсами примерно одинакова. Вполне логично было предположить, что увеличение производительности произойдет с появлением интерфейса SATA 2. Окончательный стандарт этого интерфейса пока еще не принят (c текущим состоянием дел можно ознакомиться на сайте консорциума разработчиков www.serialata.org), но накопителей и контроллеров, поддерживающих какой-либо из вариантов спецификации, на рынке уже достаточно. А значит, пришло время внимательно присмотреться к ее достоинствам и недостаткам. Технологических нововведений, способных отразиться на производительности, по сути дела, два — увеличение пропускной способности интерфейса до 300 Мбайт/c и метод сортировки команд NCQ (Native Command Queuing), который ранее существовал как дополнение к стандарту SATA 1.0.

C увеличением пропускной способности все более или менее понятно — пока никакого существенного эффекта от него не будет, так как скорости чтения и записи на диск еще не достигли и прежнего максимума (150 Мбайт/c). Впрочем, некоторое повышение производительности все же возможно при условии большого объема кэш-памяти накопителя и эффективного алгоритма ее использования. А вот с сортировкой команд, пожалуй, стоит разобраться более подробно.

Общая идея технологии NCQ заключается в оптимизации перемещений считывающей головки и соответственно уменьшении времени ожидания считывания. Следует отметить, что сходная технология TCQ (Tagged Command Queuing) применяется в серверных накопителях уже достаточно давно. В алгоритме TCQ запросам к накопителю присваиваются определенные «ярлыки», обеспечивающие один из трех возможных приоритетов в обработке: выполнять запросы строго в порядке поступления (Ordered), обработать запрос сразу после выполнения текущего (Head of queue) и обработать в наиболее оптимальный для накопителя момент времени (Simple). Реализация алгоритма TCQ позволяла создавать очереди на обработку длиной до 216 запросов и таким образом оптимизировать траекторию считывающих головок. По сравнению с TCQ алгоритм обработки NCQ, с одной стороны, упрощен (максимальная длина очереди — 32 запроса), но, с другой, в него добавлена возможность частичной обработки запроса (Out of order data), при которой накопитель может передать часть данных из одного запроса, потом часть данных из следующего, а потом, при удобном случае (т.е. при подходящем расположении считывающих головок), вернуться к обработке недовыполненных запросов, что по идее также должно уменьшить время ожидания перед считыванием очередного блока данных. Кроме того, в алгоритме NCQ возможны только два статуса для исполнения — либо немедленно, либо в наиболее удобный для накопителя момент времени. В общем, теоретически применение NCQ вроде бы существенно и без лишних затрат повышает производительность. В некоторых предварительных обзорах и пресс-релизах даже говорилось о том, что накопители с частотой вращения 7200 об/мин, поддерживающие технологию NCQ за счет своей «интеллектуальности», могут показывать более высокую производительность, чем накопители с частотой вращения 10 000 об/мин.

На практике для того, чтобы накопитель с NCQ полностью продемонстрировал свои возможности, первым делом необходимо обзавестись контроллером, поддерживающим это нововведение. Если не рассматривать вариант отдельного RAID-контроллера, то требование можно переформулировать: необходимо применение системной платы с южным мостом ICH7R или ICH7R для систем на базе процессоров Intel или на платы на наборе микросхем nForce4 Ultra для процессоров AMD.

В качестве тестового стенда мы использовали ПК NIX X4000 Pro на базе системной платы Gigabyte GA-8I955X Pro, любезно предоставленный компанией «НИКС Компьютерный супермаркет». Новое поколение дисков было представлено накопителями Western Digital WD2500 и Samsung SpinPoint SP2504C. Для того чтобы пользоваться преимуществами алгоритма сортировки, необходимо выставить в BIOS режим работы контроллера AHCI (Advanced Host Controller Interface) и установить в систему соответствующий драйвер для его корректной работы — в нашем случае это Intel Matrix Storage Manager. Убедившись, что накопитель действительно работает в режиме SATA 2, запускаем наш универсальный набор тестов WorldBench 5, позволяющий оценить скорость работы ПК на комплекте реальных приложений. Повторив тест 3 раза и усреднив результаты, отключаем режим AHCI в BIOS и повторяем измерения. Результаты приведены в табл. 1. Возможно, это покажется несколько странным, но в большинстве случаев в режиме, поддерживающем сортировку команд, производительность не только не повышается, но, наоборот, несколько снижается. Заметное увеличение скорости работы наблюдается только для приложения Nero Express.

Теперь воспользуемся другим нашим традиционным набором тестов — PCMark04. Результаты измерений с его помощью приведены в табл. 2. Согласно этим данным, похоже, что некоторый прирост производительности все же присутствует, причем во всех приложениях. На первый взгляд противоречивые результаты вполне согласуются друг с другом, но прежде чем делать выводы, проведем традиционное измерение низкоуровневых параметров накопителей с помощью HDTach 3.0 (см. табл. 3). Здесь мы видим своего рода «компромисс» между предыдущими тестами: результаты в обоих режимах работы совпадают в пределах допустимой погрешности. И это тоже легко объяснимо. Так каким же данным верить?

Пожалуй, теперь уже можно подвести первые итоги. Одинаковые результаты в третьем тесте объясняются проще всего: сортировка команд на такие характеристики, как время случайного доступа, не влияет. А для того чтобы объяснить отсутствие прироста производительности в WorldBench, стоит вспомнить о том, что изначально сортировка команд применялась в серверных накопителях. То есть тех, которые используются в приложениях, отличающихся большим числом запросов к случайным областям диска. В этом случае перераспределение запросов и оптимизация перемещений головок действительно могут определить значительный прирост производительности. А при работе с нашей тестовой системой в типовых приложениях, на основе которых и построен WorldBench, очередь к жесткому диску составляла максимум два-три запроса, да и дефрагментация перед началом тестирования лишает технологию NCQ последних шансов продемонстрировать свои преимущества. Измерения, проводимые в тестах для накопителей пакета PCMark 2004, построены на основе анализа «следов» обращения к жестким дискам при работе приложений, но, по всей видимости, именно синтетический характер нагрузки и обусловливает несколько большую длину очереди к жесткому диску. Как следствие, создаются условия, при которых сортировка команд позволяет достичь измеряемого прироста производительности.

Таким образом, с одной стороны, никакого существенного увеличения производительности от применения NCQ и SATA 2 вроде бы не наблюдается. Поэтому, пожалуй, стремиться любой ценой получить в пользование накопитель и системную плату с гордой надписью SATA 2 совершенно ни к чему. Но, опять же как подтверждают и наши измерения, при использовании определенного ПО сортировка команд все же приносит ощутимый эффект. Причем дело здесь не только в области применения конкретной программы, но и в способах реализации ввода/вывода — при асинхронном обращении к диску (т.е. когда программа не приостанавливает свою работу до завершения текущей операции ввода/вывода) вероятность возникновения очереди запросов и соответственно ее оптимизации существенно возрастает. То есть вполне возможно, что по мере того как накопители и контроллеры с поддержкой NCQ будут получать все более широкое распространение и, следовательно, все большее число разработчиков начнут оптимизировать под NCQ свои приложения, выигрыш в производительности станет увеличиваться. И пока подобные соображения по-прежнему остаются главным аргументом в пользу применения нового стандарта.

Редакция выражает благодарность представительствам Western Digital и Samsung, а также компании «НИКС Компьютерный супермаркет» (www.nix.ru) за оборудование, предоставленное для тестирования.