Скорость работы компьютера равна скорости работы его самой медленной детали. По факту, самая медленная деталь в компьютере — это винчестер.

Практически все современные жёсткие диски имеют интерфейс SATA и поддерживают протокол SATA II. Практически все современные материнские платы умеют работать с этим протоколом и поддерживают несколько режимов работы контроллера, а именно:

  • IDE — Заставляет SATA работать в режиме IDE.

  • RAID — Включает встроенный RAID-контроллер, после чего появляется доступ к его настройкам.

    Важно понимать, что такой RAID — программный, а не аппаратный. Программный, хоть и на уровне BIOS.
    Его использование бесполезно в Linux-системах (гораздо лучше и правильнее организовать рейд средствами самого линукса), но вполне оправдано для Windows (чтобы избежать геморроя с динамическими дисками).

  • AHCI — Включает режим AHCI для SATA II

    AHCI (Advanced Host Controller Interface) — это механизм, используемый для подключения накопителей информации по протоколу Serial ATA, позволяющий пользоваться расширенными функциями, такими как, встроенная очередность команд (NCQ) и горячая замена.

    Википедия

Проблема в том, что по умолчанию всегда включен режим работы «IDE», по соображениям совместимости. И всё, что нам нужно сделать — просто переключить его на «AHCI».

Инструкция для Linux

  1. Включаем режим AHCI

Инструкция для Windows XP

  1. Запускаем Windows XP
  2. Скачиваем с инета нужный SATA-драйвер для контроллера
  3. В диспетчере устройств принудительно меняем существующий IDE-драйвер на скачанный (здесь подробная инструкция)
  4. Перезагружаемся и заходим в BIOS
  5. Включаем режим AHCI
  6. Перезагружаемся в Windows XP (теперь загрузка станет возможной). Установка «новых» устройств пройдёт автоматически
  7. Перезагружаемся (винда сама об этом попросит)

Горячая замена

Диск, подключённый к SATA-контроллеру, работающему в режиме AHCI, можно заменить на лету. То есть, не выключая компьютер. В режиме IDE так не получится, новый диск будет невидимым до перезагрузки компьютера.

Очень актуально для дисковых док-станций, подключенных через eSATA и для программных RAID-массивов.


В BIOSе отсутствует функция переключения режимов

Обычно такое бывает с компьютерами «Vista Ready».

Режим AHCI включен по умолчанию, настройка из биоса убрана. Сделано для того, чтобы обычный пользователь не смог установить ХР (в её инсталляторе нет нужных драйверов, а в стандартный IDE мы переключиться не можем).

Результат сговора микрософта с производителями.

В этом случае можно попробовать найти стороннюю прошивку BIOSа, где опция режима будет доступна.
Использовать — только на свой страх и риск. Процедура перепрошивки BIOSа сама по себе опасна. Прошивка сторонним биосом — опасна вдвойне.


NCQ (Native Command Queuing), встроенная (аппаратная) очерёдность команд

Цитата из википедии:

Устройства с поддержкой NCQ способны принимать несколько запросов одновременно и реорганизовывать порядок их выполнения для достижения максимальной эффективности (производительности) с учётом внутренней архитектуры устройства (минимизируя количество перемещений головок и ожидание нужного сектора на треке).

Наглядная иллюстрация:

http://en.wikipedia.org/wiki/File:NCQ.svg

Даёт прирост производительности в 15-30%.

Поддерживается ли NCQ в RAID?

NCQ работает на аппаратном уровне железяки, винчестера. То есть, на более низком уровне, чем любой RAID.

Поэтому "поддерживается" — неправильное слово. Если у винчестера есть NCQ, то она работает вне зависимости от того, в каких условиях находится винчестер.


Linux – перевод SATA контролера c IDE режима в AHCI

Итак, возникла потребность перевести SATA контролер с режима IDE в AHCI. Сменил режим в BIOS, перезагрузил сервер и получил kernel panic. Оказалось что не все так просто.

Итак, что нужно сделать чтобы система загрузилась:

1) возвращаем режим IDE в BIOS, загружаем систему.

2) Открываем на редактирование /etc/modprobe.conf и ищем строчку:

alias scsi_hostadapter ata_piix

Заменяем ее строчкой:

alias scsi_hostadapter ahci

3) пересобираем образ initrd с поддержкой AHCI:

mkinitrd –preload=ahci /boot/initrd-`uname -r`-ahci.img `uname -r`

4) правим grub.conf , добавляем новый пункт меню с новым initrd

5) перезагружаем сервер, входим в BIOS и выставляем режим AHCI, сохраняем настройки и загружаем систему. После загрузки системы просматриваем вывод dmesg и видим что AHCI включился.

Linux – перевод SATA контролера c IDE режима в AHCI



buko
2011.04.27 10:54:39
#cid2287

Ответить

Есть ли возможность посмотреть в ubuntu в каком режиме работает винт? (в биосе нет настроек).
И как включить AHCI режим?

2011.04.27 15:49:17
#cid2290

Ответить

Есть ли возможность посмотреть в ubuntu в каком режиме работает винт?

Не винт, контроллер.

dmesg | grep NCQ

[...] ata1.00: 976773168 sectors, multi 0: LBA48 NCQ (depth 31/32)

В убунте NCQ (Native Command Queuing) для устройств с AHCI должен включаться автоматически.

(в биосе нет настроек)

Обычно такое бывает с компьютерами «Vista Ready».
Режим AHCI включен по умолчанию, настройка из биоса убрана. Сделано для того, чтобы обычный пользователь не смог установить ХР (в её инсталляторе нет нужных драйверов, а в стандартный IDE мы переключиться не можем).

Результат сговора микрософта с производителями.

И как включить AHCI режим?

В данном случае он, скорее всего, уже включен.

Дмитрий
2013.02.05 17:49:43
#cid54641

Ответить

Добрый день.
Помогите разобраться.
Сейчас стоит Windows XP на HDD. Хочу поставить SSD и на него windows 7, с возможностью выбора загрузки XP или 7.
МП - GA-MA770-US3 есть 6 sata_2 ( 4 + 2 ).

Сам вопрос
В какой sata подключать SSD и HDD на МП, так чтобы SSD работал в ACHI, а HDD осталься в IDE mode?

В BIOS есть три пункта меню
OnChip SATA Controller
OnChip SATA Type
OnChip SATA Port4/5
Что в них выставить ?

Спасибо.

2013.02.05 19:42:47
#cid54649

Ответить

#cid54641, Дмитрий

В какой sata подключать SSD и HDD на МП, так чтобы SSD работал в ACHI, а HDD осталься в IDE mode?

Так не получится. Режим AHCI включается для всего контроллера, то есть — для всех каналов SATA одновременно. Если не ошибаюсь. Скорее всего — не ошибаюсь.

Встречный вопрос: зачем оставлять на "старых" каналах SATA (куда подключен диск ХР) режим IDE? Сменить драйвер контроллера, чтобы ХР не вываливалась в синий экран — это минутное дело, а работать будет ощутимо быстрее.

Дмитрий
2013.02.06 11:07:34
#cid54693

Ответить

#cid54649,

#cid54641, Дмитрий

Так не получится. Режим AHCI включается для всего контроллера, то есть — для всех каналов SATA одновременно. Если не ошибаюсь. Скорее всего — не ошибаюсь.

Встречный вопрос: зачем оставлять на "старых" каналах SATA (куда подключен диск ХР) режим IDE? Сменить драйвер контроллера, чтобы ХР не вываливалась в синий экран — это минутное дело, а работать будет ощутимо быстрее.

Спасибо за ответ.
Почитал мануал, в BIOS можно оказывается выставить режим ACHI для ( sata_0 - sata_3 ), sata_4 и sata_5 можно в режим IDE.

Сегодня попробую.

Смену драйвера контроллера при установленной ОС не разу не делал. На XP стоит сервер, если не получится не хочется все заново ставить.

2013.02.06 16:29:36
#cid54708

Ответить

#cid54693, Дмитрий

Почитал мануал, в BIOS можно оказывается выставить режим ACHI для ( sata_0 - sata_3 ), sata_4 и sata_5 можно в режим IDE.

Похоже, повезло с мамой.

Смену драйвера контроллера при установленной ОС не разу не делал.

1. Вручную, принудительно меняешь драйвер для системного диска.
2. Перезагружаешь — сразу заходишь в BIOS (!) и меняешь режим на AHCI.
3. Если вдруг после загрузки вылетит синий экран (неправильно что-то сделал, драйвер не подошёл и т.д.) — ничего страшного. Просто возвращаешь IDE Mode, нормально загружаешься и спокойно ищешь, в чём была ошибка.

На XP стоит сервер, если не получится не хочется все заново ставить.

Для системы это не страшнее того, что делаешь ты.
Если ХР переживёт смену режима работы доп. контроллера, то переживёт и смену основного, на котором работает.

imen
2013.02.07 09:38:31
#cid54771

Ответить

#cid54708,

1. Вручную, принудительно меняешь драйвер для системного диска.
2. Перезагружаешь — сразу заходишь в BIOS (!) и меняешь режим на AHCI.
3. Если вдруг после загрузки вылетит синий экран (неправильно что-то сделал, драйвер не подошёл и т.д.) — ничего страшного. Просто возвращаешь IDE Mode, нормально загружаешься и спокойно ищешь, в чём была ошибка.

Интуитивная понятность зашкаливает :)

"При этом Kubuntu с нордическим спокойствием игнорировала смену режима SATA и изменение активного раздела и разбивки дисков."
http://www.aceler.ru/blog/3401

2013.02.07 16:29:41
#cid54795

Ответить

#cid54771, imen

"При этом Kubuntu с нордическим спокойствием игнорировала смену режима SATA и изменение активного раздела и разбивки дисков."

:) Внимание на мою заметку. Заголовок "Инструкция для Linux".

Дмитрий
2013.02.18 16:48:52
#cid55420

Ответить

Спустя несколько дней.

Перевод режима с IDE в ACHI с установленной ранее XP сделал так.

Под рукой был SSD диск, подключил его к компу в режим ACHI, второй диск системный, на котором XP оставил в IDE ( дабы MB позволяет ).
Загрузился. XP определила SSD как новое устройстро (ACHI) попросила для него драйвер.
Вручную указал драйвер, который шел с MB ( его обычно запрашивает windows перед установкой для устройств при нажатии F6). SSD прекрасно заработал.
Затем перезагрузился, зашел в BIOS переключил диск с windows XP в режим ACHI и система спокойно загрузилась.
Оба диска работают в ACHI без всякой переустановки системы.
Это просто был эксперимент. ( оказался удачным ).

Р.S.
Провел тест для HDD, на котором была XP, CrystalDiskMark в режиме IDE и ACHI. В моем случае результаты оказались с разницей в 0,5 %, но это скорей погрешность. т.е. почти ничего не изменилось.
Для SDD прирост около 10-15 %. ( Из-за MB весь потенциал полностью не раскрылся )
MB GA-MA770-US3 sata-2
HDD WD500 green sata-2 ( 5400 ) из первых.
SSD Intel 330 180gb sata-3

imen
2013.04.21 20:43:12
#cid60179

Ответить

Приписка с описанием шаманств с initramfs под Linux какая-то мутная (косвенным признаком чего является демонстративное замалчивание версии ядра и имени дистрибутива)...

smf74
2013.04.22 15:31:55
#cid60222

Ответить

Инструкция для Linux
Включаем режим AHCI
Инструкция для Windows XP
а для Windows 7?

imen
2013.04.23 10:10:43
#cid60270

Ответить

#cid60222, smf74

а для Windows 7?

Читаем что написано про Vista. :)

Вдогонку в описанию неведомых мутных шаманств для Linux:
При монолитном включении:
CONFIG_ATA_PIIX=y
...
CONFIG_SATA_AHCI=y
по крайней мере начиная где-то с 3.3 (и до 3.7.10 включительно) автоопределение отрабатывает корректно, диск инициируется в режиме AHCI.

2013.04.26 18:38:35
#cid60476

Ответить

#cid60222, smf74

а для Windows 7?

Это ж та же Виста, только дописанная. Драйвер в комплекте, проблем не должно возникнуть (при установке).

При смене режима "на лету" лично у меня семёрка вылетала в синий экран. Помогли те же операции, что для Виндуз ХР. С той разницей, что драйвер вроде как в комплекте (лично я ставил сторонний).

2013.04.26 18:43:41
#cid60477

Ответить

#cid60270, imen

Вдогонку в описанию неведомых мутных шаманств для Linux:

Тоже никогда не сталкивался с подобными проблемами. Но раз человек столкнулся, разобрался и написал инструкцию — пусть будет и здесь.

еген
2014.12.28 23:15:56
#cid90053

Ответить

у меня ноутбук пакордбелл там только там в биосе только AHCI Mode можно ли переключить на IDE заранее спасибо

2014.12.29 05:29:05
#cid90054

Ответить

#cid90053, еген

у меня ноутбук пакордбелл там только там в биосе только AHCI Mode можно ли переключить на IDE заранее спасибо

Написано в заметке.
Надо попытаться перепрошить биос на версию, в которой будет доступен переключатель.

Если опыта в перепрошивке нет — лучше не лезть.

lrbis80
2015.10.09 23:58:17
#cid91026

Ответить

Есть один диск 250Гб (системный) и есть RAID1 из двух дисков по 1Тб (в моей работе нужна надежность хранения временных рабочих файлов большого объема). RAID настроен через биос.
В корпусе есть док, подключаемый в материнку в SATA + питание с БП, винты подключает только через перезагрузку, иначе не видит. Это сильно напрягает при том что винты втыкать приходится часто (для той же работы - флэшки не вариант)
Но включить AHCI нельзя - отрубится RAID. Подскажите пожалуйста как и RAID иметь и AHCI для внешнего дока? Раздельной настройки для разъемов SATA в биосе нет. Чипсет Z87 (собственно материнка GIGABYTE GA-Z87-D3HP).
Если нужно сменить материнку, буду очень благодарен, если посоветуете на какую менять, сам подыскать замену не смог.

2015.10.11 06:49:07
#cid91027

Ответить

#cid91026, lrbis80

Но включить AHCI нельзя - отрубится RAID.

1. RAID — точно такой же режим работы контроллера, как IDE или AHCI. Соответственно, когда ты меняешь режим работы — ты его именно меняешь, то есть предыдущий режим отключается, да.
Режим работы полностью определяет способ взаимодействия с физическими дисками.
Включаешь RAID — всё, теперь рулит он. И возможность подключения дисков на лету надо смотреть в настройках RAID-а.

2. Можно перейти на программный рейд и навсегда забыть о подобных проблемах. Программный рейд всегда предпочтительнее встроенного. Но здесь ещё имеет значение ОС, которой пользуешься (виндовые массивы, т.н. "динамические тома" использовать нельзя).

3. Если первое невозможно (в настройках рейда нет таких опций), а второе не вариант (например, винда) — возьми USB3 док. Скорость нормальная (5Гб/c USB3 ≈ 6Гб/c SATA3), горячее подключение не зависит ни от чего и цена вопроса всяко меньше, чем стоимость новой материнки.

gfsa21st century
2015.12.05 01:51:25
#cid91159

Ответить

Всем привет. у меня Windows 7
system bios version: 6aet57ww (1.23)
ec bios version : b110380001
не могу найти OnChip SATA type
помогите все излазил уже

2015.12.05 02:14:03
#cid91161

Ответить

#cid91159, gfsa21st century

Всё сказал, за исключением того, что надо :)
Материнская плата какая?

Если в биосе действительно нет такой настройки, значит, режим контроллера заблочен на AHCI (внимательно смотри заметку и комментарии).

Евгений
2016.05.22 11:32:01
#cid91547

Ответить

У меня стоит Линукс минт 17 и там нет файла modprobe.conf, как мне переключить сата-контроллер в режим ACHI? В БИОСе менял значение но загрузчик не грузится после этого, пришлось вернуть значение натив ИДЕ

imen
2016.05.23 16:13:03
#cid91550

Ответить

#cid91547, Евгений

У меня стоит Линукс минт 17 и там нет файла modprobe.conf

Вангую наличие специального файла (типа «каталог») /etc/modprobe.d

как мне переключить сата-контроллер в режим ACHI? В БИОСе менял значение но загрузчик не грузится после этого, пришлось вернуть значение натив ИДЕ

Шаманим без понимания сути процессов и предпринимаемых действий на платформе, не предполагающей такого подхода?
Результат более чем закономерен.