Технология сортировки команд NCQ

Несмотря на значительный рост производительности жестких дисков, они по-прежнему остаются самым медленным компонентом в системе, ответственным за задержки в выполнении программ. Безусловно, это хорошо известно и выпускающим винчестеры компаниям, исследовательские подразделения которых предпринимают отчаянные попытки улучшить сложившуюся ситуацию.
Экстенсивный путь развития HDD, предполагающий увеличение плотности записи данных и повышение частоты вращения шпинделя, ведет к значительному удорожанию продукции или же не дает ожидаемого прироста быстродействия. Поэтому разработчикам приходится изыскивать новые пути решения проблемы, одним из которых является внедрение технологии сортировки очереди команд Native Command Queuing (NCQ), в последнее время ставшей довольно популярной.
Как работает NCQ
При обращении к жесткому диску значительная часть времени уходит на поиск необходимых дорожки и сектора для считывания/записи данных. С помощью технологии NCQ очередь поступивших запросов динамически перестраивается в буфере контроллера таким образом, чтобы позиционирование головок осуществлялось максимально быстро. Эта функция приобретает наибольшее значение, когда речь идет о многозадачной среде, в которой несколько приложений независимо обращаются к участкам жесткого диска (процесс не приостанавливается до окончания текущей операции ввода/вывода), физически расположенных довольно далеко друг от друга. Упорядочивание запросов позволяет уменьшить количество перемещений головок для считывания/записи запрашиваемой информации, тем самым сокращая суммарное время выполнения этой операции.
В упрощенном варианте алгоритм NCQ можно представить как схему работы лифта, где так называемая транспортная задача решается не в порядке поступления запросов от пассажиров, а по ходу спуска/подъема кабины. К тому же очередь динамически перестраивается в зависимости от требований входящих людей.
![]() |
| Без NCQ(слева); С NCQ (справа) |
Для наглядности приведем рисунок, иллюстрирующий работу винчестера с технологией NCQ и без нее. Здесь жесткому диску нужно получить данные, находящиеся в секторах 1, 2, 3 и 4. Использование NCQ способствует существенному упрощению траектории движения головки и уменьшению количества оборотов шпинделя, необходимых для завершения всей операции, по сравнению с последовательным выполнением этой же команды. Применение данной технологии позволяет также несколько снизить механическую нагрузку на блок головок чтения/записи, тем самым теоретически уменьшая его износ и увеличивая срок службы.
Неудивительно, что разработчики довольно давно занимаются проблемой оптимизации очереди команд. Более десяти лет аналогичная технология, Tagged Command Queuing (TCQ), успешно использовалась в SCSI-дисках, которыми оснащались серверные системы. В 1997 г. были предприняты попытки интегрировать подобную технологию в HDD с Parallel ATA, устанавливаемые в настольные ПК, однако из-за особенностей протокола и слабой реализации многозадачности массовых ОС того времени, эффективность такого решения не оправдывала затрат. Да и в случае ее неполной поддержки оборудованием могли возникать дополнительные «паузы» в работе контроллера. Ситуация существенно улучшилась после создания интерфейса Serial ATA (SATA). Внедрение NCQ не потребовало значительного изменения базового протокола SATA, к тому же появилась возможность идентификации поддержки устройством очереди команд (для SATA она составляет 32 запроса). Это позволило контроллеру без каких-либо проблем одновременно взаимодействовать с дисками, имеющими NCQ и нет.
Необходимое и достаточное
Технология NCQ была объявлена дополнительной функцией в SATA 1.0a, а в SATA II предполагалась как обязательная составляющая. Однако, к сожалению, в новой спецификации она осталась в качестве рекомендуемого пункта. Для ее работы необходимо выполнение следующих условий: поддержка NCQ жестким диском и контроллером SATA (интегрированным или внешним), а также наличие драйвера для ОС. Если с программной частью у пользователей, имеющих доступ в Интернет, проблем обычно не возникает, то с аппаратными возможностями все не так просто.
Поддержкой NCQ обладают контроллеры, интегрированные в южные мосты чипсетов Intel 9xx (ICH6R/M и ICH7R/M). В то же время, согласно информации с сайта компании Intel, базовые версии ICH6 и ICH7 и более ранние не имеют этой функции. Также обеспечивается работа данной технологии в серии чипсетов NVIDIA nForce4, а платы с наборами логики от VIA получают поддержку NCQ в случае применения южного моста VT8251. SIS включила NCQ в свой южный мост SIS966, а чипсеты с «югами» от ULi обзаведутся NCQ после установки M1575. Потому, если вы хотите иметь в своей системе технологию сортировки команд, при покупке новой материнской платы следует учитывать и этот момент. В случае использования внешних контроллеров SATA нужно внимательно изучить спецификацию.
Подавляющее большинство жестких дисков из новых линеек работает с NCQ. Однако перед приобретением HDD не лишним будет посетить сайты производителей, где обычно указываются такие подробности. Убедиться в том, что диск поддерживает технологию NCQ, можно и с помощью утилиты HD Tune (см. на диске).
Как винчестеры «становятся в очередь»
Для включения NCQ в BIOS платы необходимо выставить режим контроллера AHCI (Advanced Host Controller Interface) и во время инсталляции операционной системы установить (по нажатии F6) соответствующие драйверы (в нашем случае это Intel Matrix Storage Manager 5.5.0.1035), предварительно записав их на дискету.
После инсталляции ОС мы решили убедиться в справедливости суждения о том, что привычные операции последовательного чтения/записи/копирования из-за малой глубины очереди команд не получают заметного прироста производительности. Подтверждение ищите на соответствующей диаграмме.
Для усложнения задачи мы одновременно запускали два процесса, активно нагружающих винчестер. При этом было решено не синтезировать интенсивную работу с разнообразными базами данных в многопользовательской среде, а создать вполне реальные ситуации, с которыми может столкнуться владелец ПК. Пользователи LAN, а также те, кто выходит в Интернет через домашнюю сеть, наверняка знают, что периодически при очередной закачке каких-либо файлов нагрузка на винчестер становится чрезмерной, и дальнейшая работа с системой затрудняется. В этом случае приходится идти на компромисс: ограничивать скорость копирования или ожидать ее завер-шения, теряя собственное время.
Мы попытались разобраться, сможет ли исправить ситуацию технология NCQ. Для этого на жестком диске Maxtor MaXLine III 7V250F0 были созданы три раздела по 20 GB каждый (FAT32), которые физически располагались в разных областях HDD. На один из них записывались тестовые наборы, включающие крупные файлы (объем 4,9 GB, 9 фильмов AVI), мелкие (330 MB, всего 65 293 штуки) и среднего размера (3 GB, 747 MP3-композиций). После чего данные поочередно копировались во второй, свободный раздел, при этом одновременно ставилась следующая задача – копирование в третий раздел тестируемого диска образа DVD с другого винчестера (системного). Как видим, в таком случае применение NCQ действительно имеет практическую ценность для пользователя настольного компьютера. Ее активация приводит к уменьшению срока выполнения обоих заданий, что связано с хорошей работой алгоритма упорядочения команд и эффективным решением транспортной задачи для получения оптимального маршрута перемещения головок.
Кроме тестов с копированием, был проведен замер времени дефрагментирования раздела. В случае включения NCQ данный показатель уменьшается просто феноменально. Это как раз та ситуация, когда польза от NCQ максимальна.
Включать или не включать?
Да, технология действительно работает, однако стоит ли утруждаться, доставая с антресоли флоппик, чтобы считать с него при установке операционной системы необходимые драйверы и включить таким образом NCQ? Это скорее зависит от специфики использования ПК. Результаты тестов показали, что при повседневной работе сортировка очереди запросов не дает никакого преимущества. Более того, в ряде случаев производительность жесткого диска может даже незначительно снижаться. Линейные операции копирования не требуют сортировки, в то время как NCQ работает независимо от этого, затрудняя функционирование контроллера.
![]() |
Если же, к примеру, активно используется локальная сеть, перекачиваются большие объемы информации или же частенько приходится копировать/перемещать различные файлы, при этом параллельно запуская другие программы, то NCQ на самом деле поможет ускорить работу. Правда, рассчитывать на действительно ошеломляющий результат стоит лишь при дефрагментации данных. Поставив данную процедуру в планировщик задач для ежедневного выполнения, можно и вправду сэкономить много времени и забыть о том, как мешает спать шум системного блока.
xTechx.ru
NCQ — технология. Плюсы при использовании, как работает и где наиболее эффективная технология NCQ.
NCQ (Аппаратная Очерёдность Команд, Native Command Queuing ) – технология, разработанная для повышения производительности жёстких дисков с интерфейсом SATA II и выше.
Данные на жестком диске, располагаются по всей поверхности магнитной пластины и головке нужно время, чтобы найти расположение нужной дорожки и считать её.
Без NCQ :
Команды поступают на контроллёр диска, он даёт указание приводу головки на определённый участок, головка выполняет данную операцию и за ней следует следующая. То есть команды никак не сортируются и имеют приоритет только по времени поступления в контроллёр.
С поддержкой NCQ:
Команды поступают на контроллёр. Оценивается расположение данных на диске и приоритет команд. В зависимости от этого, после завершения очередной операции чтения/записи, головка перемещается к ближайшей дорожке, которую необходимо выполнить. Далее по мере появления новых команд в другой области, головка выполняет и ту операцию. На приоритет также влияет и размер считываемого/записываемого участка, чтобы не превысить лимит ожидания. Все эти операции происходят за доли секунд.

Сама технология призвана снизить время, затрачиваемое на перепозиционирование головки с дорожки на дорожку, оптимизируя перемещение до минимально возможного.
Что требуется для поддержки NCQ :
Жёсткий диск или твёрдотельный накопитель с поддержкой NCQ (все, что на интерфейсе Sata II (300) и выше).
AHCI контроллёр, встроенный в материнскую плату либо на отдельной плате расширения.
Драйвера, либо аппаратная поддержка операционной системой ( W 7, Vista , Free BSD 8.0 и выше, Linux Kernels ).
В каких условиях NCQ наиболее эффективна?
Для обычного домашнего компьютера, ждать увеличения производительности более 5% ждать не приходится, за тем исключением, если у вас ёмкий жёсткий диск с наполнением более 75%. Также, больший прирост производительности появляется, если одновременно работают несколько программ с активным обращением к диску или диск сильно фрагментирован. В данных случаях, прирост производительности может быть до 15% (при сильной фрагментации вплоть до 20%).
Основное же применение технологии NCQ является — серверное «поприще». Когда большое количество пользователей обращаются к разной информации, эта технология обеспечивает хороший прирост ввода/вывода, за счёт умного распределения усилий головки по всей ширине пластины. Прирост производительности в серверных условиях может достигать 18%.
Если взглянуть обобщённо — NCQ улучшает время доступа, скорость произвольного чтения/записи и ввода/вывода.
От использования NCQ они тоже выигрывают в скорости ввода/вывода и операций в секунду. Принцип работы немного другой и контроллёр опирается на скорость самого SSD и вычисляет какие операции лучше выполнить в первую очередь для поддержания скорости обмена данными на максимально возможном уровне. Также учитываются наиболее важные системные команды, которые должны быть выполнены в первую очередь, и распределяет чтение/запись на своё усмотрение, что позволяет получить от SSD ещё большую скорость отклика и количество операций в секунду ( IOPS ).
В большинстве случаев, для поддержки NCQ на твёрдотельных накопителях, необходимо установить драйвера, либо обновить BIOS или EFI .
Первоначальная реализация, которая была предназначена для PATA называлась TCQ (Tagged Command Queuing). Основным требованием, было использование протоколов ISA шины для операционной системы как основной, что увеличивало накладные расходы и ухудшало совместимость, а увеличение производительности было незначительным. Поэтому данная разработка не была поддержана производителями и в конце концов не получила распространение.
Как выбрать 3,5″ жесткий диск
Жесткие диски наиболее часто встречаются в двух форм-факторах – 3,5" или 2,5". При этом первый вариант отличается увеличенным объемом памяти, а также является более выгодным в плане стоимости за каждый гигабайт.
![]()
Объем HDD
Это ключевая характеристика, которая указывает на то, какой именно объем информации вы сможете хранить на вашем жестком диске. При этом с каждым годом требования к подобным устройствам в плане емкости неизбежно растут, так как новые программы и компьютерные игры становятся все более «прожорливыми» в плане необходимого для их установки свободного места на «винте». Кроме того, чем выше объем, тем больше личных файлов вы сможете хранить на компьютере.
Сегодня продаже можно встретить жесткие диски с емкостью от 500 ГБ до 10 ТБ и более. При этом наибольшей популярностью пользуются модели, объем которых варьируется от 2 до 6 ТБ.
Это связано с тем, что при покупке устройства с такими характеристиками вы сможете рассчитывать на наиболее выгодную стоимость в пересчете на 1 ТБ памяти. Плюс, вероятно, многие пользователи персональных компьютеров находят именно такой объем HDD наиболее удобным для использования.
Ведь при меньшей емкости вы можете со временем столкнуться с нехваткой свободного места для хранения файлов или установки требовательного программного обеспечения, а при большей – весь объем памяти жесткого диска просто не будет использоваться.
Перед тем как приобрести HDD с емкостью от 2 ТБ и выше, следует убедиться, что такое устройство совместимо с SATA-контроллером «материнки» вашего ПК. Кроме того, необходимо проверить поддерживает ли ваша операционная система стандарт GPT (данная опция представлена в последних версиях Microsoft Windows, Mac OS и Linux).
Объем кэш-памяти
Кэш-память жесткого диска необходима для проведения буферезации данных. Это означает, что перед тем как быть записанной на HDD, информация сначала помещается в кэше, благодаря чему она может использоваться системой персонального компьютера с более высокой скоростью. Таким образом, кэш-память обеспечивает быструю и эффективную работу жесткого диска.
Нужно отметить, что объем кэш-памяти не оказывает особого влияния на скорость работы винчестера. Кэша в З2 МБ будет вполне достаточно, если жесткий диск используется, к примеру, для хранения стандартных рабочих файлов. Но если речь идет о серверном диске, который будет часто применяться для работы с большим количеством файлов малого размера, то стоит присмотреться к моделям повышенным объемом кэш-памяти.
Скорость вращения шпинделя
Этот показатель отражает то, насколько быстро осуществляется чтение и запись информации на винчестер. Чем выше скорость вращения шпинделя, тем быстрее будет осуществляться передача данных. В то же время модели с высокой скоростью вращения шпинделя работают значительно громче, а также отличаются повышенным уровнем потребления энергии при работе.
Тем не менее нельзя утверждать, что только этот параметр влияет на быстроту записи или чтения данных с накопителя. Ведь разные производители могут использовать в своих продуктах различные типы электронных схем контроллера. В том числе быстродействие будет зависеть и от скорости позиционирования магнитной головки жесткого диска.
Максимальная скорость передачи данных
Максимальная скорость передачи данных является более информативным параметром работы винчестера. Она влияет на скорость, с которой происходит запись или чтение информации с жесткого диска. Но нужно помнить, что указанная в техническом описании товара скорость является именно максимальной, то есть пределом, которого способен достигнуть ваш 3,5" HDD. На практике же большую часть времени накопитель будет функционировать с куда меньшей скоростью передачи данных.
В тех случаях, когда винчестер приобретается для работы со значительным числом малых по объему файлов, следует обратить внимание еще на две важные характеристики – среднее время задержки и доступа. В устройствах, где эти показатели меньше, головка диска способна быстрее позиционироваться на новом файле, что обеспечивает повышенную скорость считывания информации.
Интерфейс
Жесткие диски поддерживают следующие типы интерфейсов:
- SATA третьего поколения. Обладает пропускной способностью максимум в 6 ГБ в секунду.
- Серверный SAS. Максимально высокая скорость передачи данных может достигать 12 ГБ в секунду.
Обратите внимание, что если жесткий диск поддерживает лишь интерфейс SATA, то его можно подключить и к контроллеру SAS. Но если HDD обладает интерфейсом SAS, то вы не сможете подсоединить его к материнской плате персонального компьютера с SATA.
Назначение
Назначение HDD указывается для того, чтобы помочь покупателю определиться с выбором устройства в зависимости от целей, для которых он приобретается. Но не существует четких критериев, указывающих на назначение жесткого диска. Поэтому использовать сведения о назначении следует осторожно. В некоторых случаях они могут иметь чисто маркетинговый характер.
Если же вы подбираете жесткий диск для сервера или видеосистемы, выбирайте среди моделей с соответствующим назначением.
Нужно обращать внимание на важные технические характеристики накопителя, а особенно в тех случаях, когда вы планируете использовать жесткий диск для решения нестандартных задач. К примеру, нередко 3,5" HDD применяются для записи данных, полученных с камер системы видеонаблюдения, съемка которыми ведется практически круглосуточно.
Оптимизация под RAID-массивы
Если устройство для хранения данных оптимизировано под RAID-массивы, то это означает, что такой жесткий диск будет обладать максимальной эффективностью при использовании в системах RedundantArray of Independent Disks (технология, позволяющая объединить несколько винчестеров в один логический элемент, что повышает производительность такого оборудования).
RAID-массив способен гарантировать сохранение данных даже при полном разрушении одного из входящих в него жестких дисков. Для его создания предназначены HDD c оптимизацией под RAID-массивы.
Поддержка NCQ
Наличие этой опции способно положительно повлиять на скорость работы накопителя данных в определенных ситуациях.
Особенность моделей, в которых реализована технология NCQ (NativeCommand Queuing), заключается в том, что они принимают несколько запросов, проводя реорганизацию порядка, в котором те выполняются. Это позволяет несколько повысить производительность HDD, используемых в системах современных персональных компьютеров.
Уровень шума при работе
Этот показатель является важным в тех случаях, когда вы покупаете жесткий диск для использования в домашнем персональном компьютере (или если лишние шумы могут приносить вам дискомфорт при работе с вашим ПК).
Нужно отметить, что отдельные модели способны создавать уровень шума вплоть до 36 децибел. По громкости такой звук можно сравнить с речью человека. Поэтому если вы предпочитаете тишину при использовании компьютера, то в этом случае стоит обратить внимание на модели HDD, у которых показатель уровня шума является невысоким.
Поддержка ncq что это
NCQ (англ. Native Command Queuing — аппаратная установка очередности команд) — технология, использующаяся в SATA-устройствах начиная с SATA/300 для повышения быстродействия. Устройства с поддержкой NCQ способны принимать несколько запросов одновременно и реорганизовывать порядок их выполнения для достижения максимальной эффективности (производительности) с учётом внутренней архитектуры устройства (минимизируя количество перемещений головок и ожидание нужного сектора на треке). NCQ повышает производительность задач, связанных с произвольным чтением, обработкой данных от двух и более источников, одновременную работу нескольких программ. (Типичная нагрузка для сервера — одновременное выполнение запросов от нескольких клиентов).
Абсолютно аналогичная возможность в SCSI называется tagged queue и имелась там по крайней мере с начала 1990-х годов, будучи одним из двух главных преимуществ SCSI перед IDE.
Для использования преимуществ NCQ требуются:
- Жесткий диск с поддержкой NCQ (все произведенные в последние годы)
- Более совершенный контроллер, чем старый PC/AT-совместимый — AHCI, или же проприетарный — Promise, HighPoint, Silicon Image.
- Драйвер к этому контроллеру
NCQ является второй попыткой добавить очередь команд в ATA-устройства. Предыдущая попытка, TCQ (англ. Tagged Command Queueing ), оказалась неудачной (в отличие от SCSI TCQ).

