NCQ
Native Command Queuing (NCQ) - технология, предназначенная для повышения производительности жестких дисков SATA на компьютерах. Она может сделать это в определенных ситуациях, позволяя отдельному жесткому диску внутренне оптимизировать порядок выполнения полученных запросов на чтение и запись. Это может уменьшить количество ненужных движений головки диска и в результате повышения производительности (и немного уменьшить износ диска) для рабочих нагрузок, где несколько запросов на чтение/запись являются выдающимися в то же время. Такая ситуация чаще всего возникает в серверных приложениях. Однако текущая (по состоянию на 2004 год) технология фактически замедляет доступ к HD в некоторых приложениях, например, в играх и последовательных чтениях и записях, из-за добавленной задержки, вызванной логикой NCQ. [устаревший факт]
Очереди Native Command Queuing предшествовала версия Parallel ATA Tagged Command Queuing (TCQ). Попытка ATA интегрировать TCQ была ограничена требованием, чтобы адаптеры главной шины ATA использовали протоколы устройств шины ISA для взаимодействия с операционной системой. Возникшие в результате высокие накладные расходы на центральный процессор и незначительный прирост производительности привели к отсутствию рыночного признания TCQ.
NCQ отличается от PATA TCQ тем, что переупорядочивание команд выполняется диском, а не операционной системой, и каждая команда имеет одинаковое значение. Это предпочтительнее, так как диск обладает наибольшими знаниями о своих рабочих характеристиках и способен учитывать положение вращения. Максимальная длина очереди NCQ и PATA TCQ составляет 32 команды в полете (на практике - 31), в то время как SCSI TCQ имеет максимальную длину очереди 264 команды в полете.
Для того чтобы NCQ был включен, он должен поддерживаться и включаться в адаптере хост-шины SATA и в самом жестком диске. Для включения NCQ в адаптере хост-шины в операционную систему должен быть загружен соответствующий драйвер устройства. Многие новые микросхемы поддерживают расширенный интерфейс контроллера хоста (Advanced Host Controller Interface, AHCI), который должен позволять общий драйвер, поставляемый операционной системой, управлять ими и включать NCQ. Фактически, более новые мейнстримовые ядра Linux поддерживают AHCI нативно. К сожалению, Windows XP требует установки драйвера, специфичного для производителя, даже если AHCI присутствует в адаптере хост-шины. Windows Vista исправляет эту ситуацию включением общего AHCI драйвера.
Связанные страницы
- Очередь помеченных команд
Вопросы и ответы
В: Что такое Native Command Queuing?
О: Native Command Queuing (NCQ) - это технология, разработанная для повышения производительности жестких дисков SATA на компьютерах, позволяющая отдельному жесткому диску оптимизировать порядок выполнения запросов на чтение и запись.
В: Как NCQ повышает производительность?
О: NCQ может уменьшить количество ненужных перемещений головки диска, что приводит к повышению производительности и незначительному снижению износа диска при рабочих нагрузках, когда одновременно выполняется несколько запросов на чтение/запись, например, в приложениях серверного типа.
В: Замедляет ли NCQ доступ к HD в определенных приложениях?
О: Да, NCQ может замедлять доступ к HD в определенных приложениях, таких как игры и последовательное чтение и запись, из-за дополнительной задержки, вызванной логикой NCQ.
В: Чем отличается Native Command Queuing от PATA TCQ?
О: В отличие от PATA TCQ, переупорядочивание команд в NCQ выполняется диском, а не операционной системой, и каждая команда равна по важности. Диск имеет больше знаний о своих рабочих характеристиках, поэтому он может учитывать положение вращения при оптимизации команд. Кроме того, NCQ имеет максимальную длину очереди 32 по сравнению с максимальной длиной очереди PATA TCQ 32 (на практике 31).
В: Какие аппаратные требования должны быть выполнены для включения NCQ?
О: Чтобы NCQ была включена, она должна поддерживаться и быть включена как на адаптере главной шины SATA, так и на самом жестком диске. Кроме того, в операционную систему должен быть загружен соответствующий драйвер устройства для включения NCQ на адаптере хост-шины.
В: Имеется ли общая поддержка AHCI для Windows XP?
О: Нет, Windows XP требует установки драйвера конкретного производителя, даже если AHCI присутствует на адаптере шины хоста. Однако Windows Vista включает общий драйвер AHCI, который обеспечивает общую поддержку устройств AHCI.