Технология NCQ. Стоит ли включать AHCI?
Введение
Сейчас в подавляющем большинстве ноутбуков, настольных ПК и серверов устанавливаются жесткие диски с интерфейсом SATA и материнские платы с поддержкой этого интерфейса. SATA-контроллеры в качестве стандартного интерфейса используют AHCI (Advanced Host Controller Interface), который позволяет реализовать возможность "горячего подключения" и NCQ (Native Command Queuing)
SATA-контроллеры также позволяют работать в режиме эмуляции IDE для совместимости с операционными системами и программами, которые не поддерживают AHCI. С точки зрения программ и операционной системы SATA-контроллер, который работает в режиме эмуляции IDE, ничем не отличается от обычного IDE-контроллера. Естественно, в этом случае никаких проблем с совместимостью нет, но технология NCQ в этом случае работать не будет
Windows XP в стандартной комплектации не содержит драйверов для работы с некоторыми SATA-контроллерами в режиме AHCI. Чтобы это исправить можно интегрировать SATA-драйвера в дистрибутив или интегрировать в уже установленную Windows XP SATA драйвера. Для SATA-контроллеров от nVidia и от AMD (кроме чипсетов 7 серии) это делать не надо, они и так работают в режиме AHCI и нужные драйвера уже есть в дистрибутиве Windows XP.
Если у вас Windows Vista и вы желаете включить AHCI, то почитайте этот материал
В этом материале я постараюсь выяснить каков прирост производительности обеспечивает работа технологии NCQ, стоит ли вообще интегрировать SATA-драйвера, чтобы поставить Windows XP.
Методика тестирования
Тестирование производилось на ноутбуке Acer Aspire 5920G 302G16, который оснащен процессором Core 2 Duo T7300, 2 Gb RAM, GeForce 8600M GT, 160 Gb HDD.
Модель винчестера: Hitachi HTS542516K9SA00
Операционная система: Windows XP Service Pack 3
Версия INF Update Utility: 9.0.0.1008
Версия SATA-драйвера: 8.5.0.1032
На винчестере создавались два раздела:
- системный (24 Gb, NTFS, размер кластера 4 Kb, основной активный)
- дополнительный (136 Gb, NTFS, размер кластера 4 Kb, логический)
На системный раздел (C:) устанавливалась Windows XP с интегрированными SATA-драйверами, ставились драйвера и утилиты. Потом с помощью загрузочного диска с Acronis True Image создавался образ системного раздела и сохранялся на дополнительном разделе (D:). Сначала производились тесты в режиме AHCI, потом восстанавливался системный раздел с образа и переключался в BIOS режим работы на IDE Mode. После загрузки системы производилась перезагрузка.
В рамках этого иследования также производилось изучение влияния кеширования в Windows XP на производительность.
Чтобы понять суть этого механизма, рассмотрим процесс записи данных на винчестер. При отключенном механизме кеширования данные, которые нужно записать на винчестер, записываются и по завершении операции система сообщает, что все сделано. Если включить механизм кеширования, то данные, которые нужно записать, сначала записываются в область памяти (кеш) и система сообщает, что все сделано. При первой же возможности данные из кеша записываются на жесткий диск. При работе одного приложения с большими файлами кеширование эффекта не принесет, но когда идет работа с мелкими файликами, которые размещены в разных областях винчестера, то прирост будет очень большой.
Однако, есть и минусы. Если в процессе записи с включенным кешированием отключается электропитание, то содержимое кеша (которое хранится в оперативной памяти компьютера) будет утрачено. В результате возможна потеря информации.
Включается эта опция в свойствах жесткого диска:
Там же нас честно предупреждают о возможности потери данных.
Тестирование
Тестирование условно можно разделить на две части:
- тестирование с помощью синтетических тестов
- тестирование на реальных задачах (копирование файлов, проверка диска антивирусом, скорость загрузки, дефрагментации)
Начнем с синтетических тестов. Для тестирования были выбраны две утилиты: HD Tune 2.55 и CrystalDiscMark 2.2
Результаты тестирования в HD Tune 2.55
Режим AHCI, кеширование включено:
Режим AHCI, кеширование выключено:
Режим IDE, кеширование включено:
Режим IDE, кеширование выключено:
Стоит отметить, что с включением AHCI средняя скорость чуть выросла, но и увеличились задержки. Включение кеширования также чуть увеличило скорость.
Небольшое увеличение задержек можно объяснить тем, что в связи с работой технологии NCQ команды на винчестер подаются не в порядке поступления.
Результаты тестирования в CrystalDiscMark 2.2
Режим AHCI, кеширование включено:
Режим AHCI, кеширование выключено:
Режим IDE, кеширование включено:
Режим IDE, кеширование выключено:
Результаты тестирования с помощью утилиты CrystalDiscMark 2.2 во многом повторяют результаты тестирования утилитой HD Tune 2.55. При включении технологии NCQ (работа в режиме AHCI) с включенным кешированием скорости последовательного чтения и записи (Seq), случайного чтения и записи блоков по 512 Kb и 4 Kb немного выросли.
Наибольший интерес представляют результаты с отключенным кешированием. За счет работы технологии NCQ падение скорости случайной записи при отключении кеширования Windows XP не такое значительное. А вот с отключенной технологией NCQ (режим IDE) скорость случайной записи записи упала в 3 раза.
Скорость копирования файлов
Для копирования файлов использовался файловый менеджер Total Commander 7 (метод копирования - по умолчанию, размер блока - 32 Kb). Для копирования на дополнительном разделе (D:) создавались 5 папок по 1 Gb каждая. В одной папке было 10000 файлов по 100 Kb, в другой - 1000 файлов по 1 Mb, третьей 100 файлов по 10 Mb, в четвертой 10 файлов по 100 Mb и, наконец, в пятой один файл на 1 Gb. Потом по очереди папки копировались на системный раздел (C:). Для режимов AHCI и IDE порядок копирования тот же. Результаты тестирования изображены на диаграме ниже:
(результаты поданы в секундах, меньше - лучше)
Исходя из результатов можно сделать такие выводы:
1) при однопоточном копировании мелких файлов прирост при включении NCQ (AHCI) небольшой. При копировании больших файлов технология NCQ не дает никакого эффекта.
2) включение кеширования позволяет увеличить в 2-3 раза скорость копирования независимо от того работает ли технология NCQ
Проверка антивирусом
В качестве антивируса использовалась бесплатная версия Avira AntiVir Personal. Проверялся весь системный раздел. Этот тест покажет как влияет кеширование и NCQ на работу с мелкими файлами.
Чтобы изучить эффективность кеширования и NCQ в условиях, когда несколько приложений активно работают с жестким диском, запускалась еще раз проверка системного раздела на вирусы и в фоне запускалось копирование 100 Kb файлов из одной папки на другую на дополнительном разделе (D:).
В обеих случаях замерялось время проверки диска C: антивирусом. Вот результаты:
(результаты поданы в секундах, меньше - лучше)
Исходя из результатов проверки на вирусы, можно сделать такие выводы:
1) при активном чтении информации одним приложением прирост от включения кеширования и NCQ небольшой и подпадает в погрешность измерений.
2) если несколько приложений одновременно работают с винчестером, то наибольший прирост обеспечивает технология NCQ совместно с кешированием.
Тестирование на других задачах
Время загрузки системы по результатам тестирования не зависит от режима работы IDE или AHCI, время дефрагментации тоже. Дефрагментация производилась утилитами Auslogic DiscDefrag и O&O Defrag (в режиме Complete/Name). Дефрагментировался системный раздел. Чтобы обеспечить идентичные условия, системный раздел восстанавливался из образа, а потом дефрагментировался. Auslogic DiscDefrag с включенным кешированием дефрагментировала системный раздел за 190-192 секунды вне зависимости от того, в каком режиме работал SATA-контроллер. Дефрагментация утилитой O&O Defrag при выключенном кешировании заняла 24 минуты, 48-56 секунд.
Выводы
Исходя из результатов тестирования можно сделать такие основные выводы:
1) режим AHCI обеспечивает наибольший прирост (несколько раз) в случаях, когда несколько приложений одновременно работают с жестким диском. Прирост тем больше, чем больше расстояние между областями, с которыми одновременно работают приложения. При работе преимущественно одного приложения с жестким диском эффект от работы NCQ будет минимальным
2) механизмы кеширования способны существенно повысить скорость записи на винчестер, но снижают надежность. На ноутбуке риск потери данных меньше потому, что ноутбук защищен от внезапного отключения питания, в отличие от настольного ПК.
С уважением, автор материала - Тониевич Андрей. Публикация данного материала разрешается исключительно со ссылкой на источник и с указанием автора.