Перейти к содержимому

Ncq ssd что это

  • автор:

Оптимизация очереди команд в жестких дисках ( NCQ )

Жесткие диски с поддержкой NCQ (Native Command Queuing) используют специальный буфер, внутри которого команды, стоящие в очереди, могут динамически перестраиваться в соответствии с положением магнитной головки и текущей загрузкой для увеличения общей производительности. Рост производительности относительно TCQ обеспечивается за счет применения механизма возвращения статуса, агрегации (объединения) прерываний, а также благодаря использованию «First Party DMA» . Технология NCQ реализована в виде дополнения к стандарту «Serial ATA» 1.0 и является неотъемлемой частью стандарта SATA -2. Введение поддержки NCQ не потребовало никаких изменений в базовом протоколе SATA . При работе с NCQ используется структура FIS (Frame Information Structure), примитивы, являющиеся стандартными для спецификации SATA , и две новые команды («Read FPDMA Queued» и «Write FPDMA Queued»). Для использования этих команд со стандартными портами SATA необходимо выполнение трех требований:

  • Поддержка жестким диском NCQ .
  • Для обеспечения операций «First Party DMA» и оперативного завершения работы с каждой командой контроллер материнской платы должен поддерживать установки «DMA Setup FIS» и «Set Device Bits FIS».
  • Драйвер системы должен определять наличие поддержки NCQ и использовать команды «FPDMA Queued».

NCQ (Native Command Queuing) – нативная очередь команд

NCQ является расширением программного обеспечения SATA, состоящее из очереди задач записи/чтения таким способом, чтобы повысить эффективность (число операций I/O на секунду), как дисков HDD, так и SSD.

В традиционных жестких дисках (HDD) осуществляется буферизация до 32 команд и и их порядок отбора так, чтобы диск сделал работу с минимальным числом оборотов пластин и движений головки. Это позволяет сократить время, необходимое для проведения операции I/O и замедляет старение электромеханических элементов диска.

Рис.1 Выполнение операции чтения/записи дисками: (а) без NCQ, (б) с NCQ

Показанный на рис.1 диск выполнит операцию I/O: (а). без поддержки NCQ в порядке от А доF, выполняя при этом 3,5 поворотных круга вращения,(б). с поддержкой NCQ — в порядке C → A → B → D → F → E меньше, чем 2 поворотных кругов вращения.

NCQ являются развитием идеи очереди, содержащиеся в технологии TCQ (Tagged Command Queuing) примененной первоначально в дисках SCSI, а затем реализованных в дисках ATA и частично в SATA-I. Отличается от прототипа прежде всего количеством одновременно обработанных операций I/O и тем, что NCQ позволяет выпуск следующей команды через хост во время работы HDD над другой задачей.
Нативная очередь команд была введена с появлением дисков с интерфейсом SATA-II (в последствии реализована в части дисков SATA-I).

За функциональность NCQ отвечают три основных протокола:

— Механизм обратной связи о состоянии процесса (Status Return Mechanism) – fэта функция позволяет самостоятельно передавать информацию о завершении любой ( одной или более) запланированных задач I/O. Хост не информирован о начале процесса обработки I/O, а только о его завершении.

— Ограничение числа прерываний до максимум одного из планового задания I/O (Interrupt Aggregation) –хост должен быть проинформирован о завершении каждой выполненной команды I/O. Задачи, связанные с данными, содержащимися физически близко друг от друга на диске сгруппированы и надлежащим образом поставлены в очередь. Это приводит к ситуации, в которой несколько команд I/O заканчиваются в то же время или в течение короткого промежутка времени. Таким образом, можно отправить информацию о завершении, например, всех 32 операций в одном 64-битовом пакете вместо 64 пакетов, как это было бы без NCQ. В SATA-I и в ATA требовалось два прерывания на каждую с выполненных операций I/O (один о начале исходной команды, а другой о ее окончании).

— Механизм непосредственного доступа до операционной памяти (First Party DMA – FPDMA) – NCQ разработан таким образом, чтобы HDD мог выбрать, какие задачи, связанные с передачей данных будут выполняться следующими. Диск посылает Тэг/идентификатор команды I/O для контроллера памяти хоста. Этим делает бронирование места на кэшированные данные непосредственно в операционной памяти. Таким образом, диск способен эффективно изменить порядок выполнения команды, так как он может блокировать место для буфера без участия хозяина программного обеспечения.

В интерфейсе SATA-III введено ряд изменений в работе NCQ. Улучшено управление очередью и добавлены команды, связанные с более качественным обслуживание потоковых мультимедиальных контентов, позволяя хосту на передачу информации, которые операции будут и должны быть остановлены, а которых приоритет должен быть увеличен. В результате этого, наблюдается общее улучшение производительности системы, а не только увеличение количества выполняемых диском операций I/O на секунду.
Используется также изохронная передача данных, таким образом позволяя гладкую передачу для применений, требующих высокой пропускной способности (аудио/видео) и параллельно выполняя передачи заданий с более низким приоритетом.

NCQ реализованное в интерфейсе SATA-II могло также повлиять негативно на работу некоторых запланированных задач I/O, Что приводит к падению производительности операционной системы. Этот алгоритм не имеет фиксированного времени для выполнения отдельных операций I/O. Также число сдвигов конкретной планируемой задачи I/O на конец очереди, не было организовано. Выполнение одной команды I/O могло быть отложено во времени для более новых вопросов, что приводит к, так называемому, процессу голодания.
Такая ситуация наблюдалась в операционной системе LINUX с дисковой матрицей RAID-5. W trakcie przeprowadzonego testu zadanie o niższym priorytecie zostało wykonane po upływie 57 118 ms (z wyłączonym NCQ po 2 021 ms). В ходе испытания, задача с более низким приоритетом была принята после 57118 мс ( с выключенным NCQ после2,021 мс). В 2008 году Google Inc. провело собственные испытания, которые показали, что при специфических обстоятельствах выполнение некоторых запланированных I/O может опоздать даже до 2 с(независимо от операционной системы).
Вышеуказанные проблемы были решены с появлением интерфейса SATA-III – путем добавления до управления очередью подпрограммы «Deadline Handling», который контролирует время ожидания для операции I/O с самым низким приоритетом.

Из-за конструкции дисков SSD (многие микросхемы памяти типа NAND соединенных с одним конроллером без каких-либо механических деталей), задачи NCQ выполняются иначе — через так называемую глубокую очередь. Она основывается на группировке через контроллер запланированных задач I/O и исполнения их одновременно на многих микросхемах памяти NAND.

NCQ может обслуживаться только в случае сотрудничества HDD/SSD с контроллером дисков, поддерживающего эту технологию.

Нетто: 0.00 EUR
Брутто: 0.00 EUR
Вес: 0.00 kg

Ncq ssd что это

1.Что такое NCQ
NCQ – Native Command Queuing, или технология оптимизации чередования команд, является расширением протокола команд интерфейса SerialATA, её реализация обязательна для следующего поколения этого интерфейса – SerialATA II.
Эта технология позволяет поддерживающему её жёсткому диску оптимизировать порядок выполнения поступающих от контроллера команд (позиционирование головки/чтение/запись), основываясь на текущем расположении головок диска, и принимать новые команды в процессе выполнения уже полученных. Также она позволяет активировать операции DMA (прямого доступа к памяти) без вмешательства центрального процессора. Эта функция носит название first party DMA.

2.Какая от NCQ польза.
При оптимизации чередования перемещения головок повышается скорость работы тех приложений, которые интенсивно выполняют операции случайного чтения/записи, особенно – в многозадачном режиме. В первую очередь это касается всех серверных приложений (базы данных, файловые и web-сервера), причём чем больше загрузка, тем больше польза от NCQ. Также при этом экономится механический ресурс жёсткого диска за счёт физически меньшего количества перемещений головки.
Стоит заметить, что на скорость выполнения линейных операций чтения/записи в однозадачном режиме (наиболее типичная загрузка, например, в играх, офисных приложениях, и видеомонтаже) NCQ не влияет, однако если на домашнем/офисном компьютере несколько программ ведут интенсивные дисковые операции, то при активном NCQ суммарная скорость работы заметно возрастает.

3.Что требуется, чтобы NCQ заработало.
Для этого Вам потребуется жёсткий диск с поддержкой NCQ (в нашем каталоге это всегда явно указано в описании устройства), отдельный PCI SATA либо SerialATA II контроллер с поддержкой этого протокола, либо материнская плата с поддержкой SATA RAID в южном мосте (для Intel – начиная с ICH6R), последний «безрейдовый» южный мост Intel ICH9 также подойдёт.
Во всех случаях для активизации поддержки NCQ со стороны материнской платы необходимо перевести встроенный SATA-контроллер в AHCI-режим, что, как и в случае с использованием RAID-массива, требует установки дополнительных драйверов на этапе установки ОС (актуально для Windows2K/XP/2003, Windows Vista и более поздние ОС имеют встроенные драйвера с поддержкой AHCI).
Если же у вас уже установлена WindowsXP на SATA диск в режиме совместимости с IDE, то включение AHCI в BIOS мат.платы приведёт к невозможности загрузки ОС.

Тестирование в десктопных приложениях:

Тестирование в серверных приложениях:

Поддержка NCQ и (или) TCQ накопителями WD с интерфейсом SATA 3 Гб/с (SATA II)

Внимание! Все современные модели жестких дисков WD с интерфейсом SATA 3 Гб/с (SATA II) поддерживают технологию Native Command Queuing.

Ниже приводится перечень старых моделей накопителей, поддерживающих технологию Native Command Queuing.

    SATA-накопители Western Digital Caviar RE2 и RE3 всех емкостей (модели WDxxxxYR, WDxxxxYS, WDxxxxAAYS, WDxxxxABYS и WDxxxxFBYS) поддерживают технологию Native Command Queuing (NCQ).

  • Технология Native Command Queuing позволяет создавать и упорядочивать очередь команд дисковых операций, ожидающих исполнения. Накопители, поддерживающие NCQ, имеют внутреннюю очередь команд, предусматривающую динамическое изменение времени и последовательности их исполнения, а также необходимые механизмы контроля за выполненными и подлежащими выполнению операциями. У NCQ также имеется механизм, позволяющий хосту давать дополнительные команды диску, в то время когда диск производит поиск данных, выполняя другую команду.
  • При помощи NCQ накопитель может установить прямой доступ к памяти (ПДП) системы для передачи данных без участия её программного обеспечения. Такой вид доступа также называется «first-party DMA» (установление ПДП вызывающей стороной) — это означает, что устройство способно выполнять сложные последовательности операций без участия процессора. Накопителю известно текущее угловое положение блока головок. Исходя из этого он выбирает следующую операцию передачи данных таким образом, чтобы минимизировать задержки, связанные с вращением диска и позиционированием головок.

Что такое TCQ (Tagged Command Queuing)

  • Tagged Command Queuing — это стандартный способ обработки жестким диском нескольких команд, практически одновременно поступающих от компьютера. Каждой команде, поступающей в буфер накопителя, присваивается идентификатор, а затем микропроцессор накопителя меняет порядок исполнения команд таким образом, чтобы минимизировать расстояние, которое блоку головок приходится пройти вдоль пластины в поисках данных. Например, если выполняется команда на поиск данных в какой-либо области диска, и в это время в конце очереди появляется команда на поиск в соседней области, то контроллер диска может изменить порядок команд, чтобы эти две были выполнены одна за другой. Эта система отличается от стандарта IDE/ATA, предполагающего наличие у устройства только одной команды, ожидающей исполнения, и, соответственно, обработку поступающих команд в порядке общей очереди.

Все остальные SATA-накопители Western Digital (WD360GD, WDxxxxJD, WDxxxxKD и WDxxxxSD) не поддерживают ни одного из способов управления очередью команд. TCQ и NCQ — это немного разные варианты управления очередью команд, которые не являются взаимозаменяемыми. Накопитель с поддержкой TCQ не будет управлять очередью команд при подключении к контроллеру с поддержкой NCQ, и наоборот.

ID ответа 8595
Опубликовано 20.08.2018 11:14
Обновлено 22.05.2019 14:31

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

https://alkogolizm.vyvod-iz-zapoya-v-stacionare-samara11.ru/