Скорость работы компьютера равна скорости работы его самой медленной детали. По факту, самая медленная деталь в компьютере — это винчестер.
Практически все современные жёсткие диски имеют интерфейс 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
- Включаем режим AHCI
Инструкция для Windows XP
- Запускаем Windows XP
- Скачиваем с инета нужный SATA-драйвер для контроллера
- В диспетчере устройств принудительно меняем существующий IDE-драйвер на скачанный (здесь подробная инструкция)
- Перезагружаемся и заходим в BIOS
- Включаем режим AHCI
- Перезагружаемся в Windows XP (теперь загрузка станет возможной). Установка «новых» устройств пройдёт автоматически
- Перезагружаемся (винда сама об этом попросит)
Дополнительно
Горячая замена
Диск, подключённый к 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
- SATA RAID/AHCI Mode
- При запуске компьютера с системой Windows 7 или Windows Vista после изменения режима SATA для загрузочного диска появляется сообщение об ошибке: STOP 0x0000007B INACCESSABLE_BOOT_DEVICE
- http://ru.intel.com/business/community/lofiversion/index.php/t281.html
- Native Command Queuing (англ.)
Комментарии
buko
#cid2287
Ответить
Есть ли возможность посмотреть в ubuntu в каком режиме работает винт? (в биосе нет настроек).
И как включить AHCI режим?
#cid2290
Ответить
Не винт, контроллер.
dmesg | grep NCQ
[...] ata1.00: 976773168 sectors, multi 0: LBA48 NCQ (depth 31/32)
В убунте NCQ (Native Command Queuing) для устройств с AHCI должен включаться автоматически.
Обычно такое бывает с компьютерами «Vista Ready».
Режим AHCI включен по умолчанию, настройка из биоса убрана. Сделано для того, чтобы обычный пользователь не смог установить ХР (в её инсталляторе нет нужных драйверов, а в стандартный IDE мы переключиться не можем).
Результат сговора микрософта с производителями.
В данном случае он, скорее всего, уже включен.
Дмитрий
#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
Что в них выставить ?
Спасибо.
#cid54649
Ответить
#cid54641, Дмитрий
Так не получится. Режим AHCI включается для всего контроллера, то есть — для всех каналов SATA одновременно. Если не ошибаюсь. Скорее всего — не ошибаюсь.
Встречный вопрос: зачем оставлять на "старых" каналах SATA (куда подключен диск ХР) режим IDE? Сменить драйвер контроллера, чтобы ХР не вываливалась в синий экран — это минутное дело, а работать будет ощутимо быстрее.
Дмитрий
#cid54693
Ответить
#cid54649,
Спасибо за ответ.
Почитал мануал, в BIOS можно оказывается выставить режим ACHI для ( sata_0 - sata_3 ), sata_4 и sata_5 можно в режим IDE.
Сегодня попробую.
Смену драйвера контроллера при установленной ОС не разу не делал. На XP стоит сервер, если не получится не хочется все заново ставить.
#cid54708
Ответить
#cid54693, Дмитрий
Похоже, повезло с мамой.
1. Вручную, принудительно меняешь драйвер для системного диска.
2. Перезагружаешь — сразу заходишь в BIOS (!) и меняешь режим на AHCI.
3. Если вдруг после загрузки вылетит синий экран (неправильно что-то сделал, драйвер не подошёл и т.д.) — ничего страшного. Просто возвращаешь IDE Mode, нормально загружаешься и спокойно ищешь, в чём была ошибка.
Для системы это не страшнее того, что делаешь ты.
Если ХР переживёт смену режима работы доп. контроллера, то переживёт и смену основного, на котором работает.
imen
#cid54771
Ответить
#cid54708,
Интуитивная понятность зашкаливает :)
"При этом Kubuntu с нордическим спокойствием игнорировала смену режима SATA и изменение активного раздела и разбивки дисков."
http://www.aceler.ru/blog/3401
#cid54795
Ответить
#cid54771, imen
:) Внимание на мою заметку. Заголовок "Инструкция для Linux".
Дмитрий
#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
#cid60179
Ответить
Приписка с описанием шаманств с initramfs под Linux какая-то мутная (косвенным признаком чего является демонстративное замалчивание версии ядра и имени дистрибутива)...
smf74
#cid60222
Ответить
Инструкция для Linux
Включаем режим AHCI
Инструкция для Windows XP
а для Windows 7?
imen
#cid60270
Ответить
#cid60222, smf74
Читаем что написано про Vista. :)
Вдогонку в описанию неведомых мутных шаманств для Linux:
При монолитном включении:
CONFIG_ATA_PIIX=y
...
CONFIG_SATA_AHCI=y
по крайней мере начиная где-то с 3.3 (и до 3.7.10 включительно) автоопределение отрабатывает корректно, диск инициируется в режиме AHCI.
#cid60476
Ответить
#cid60222, smf74
Это ж та же Виста, только дописанная. Драйвер в комплекте, проблем не должно возникнуть (при установке).
При смене режима "на лету" лично у меня семёрка вылетала в синий экран. Помогли те же операции, что для Виндуз ХР. С той разницей, что драйвер вроде как в комплекте (лично я ставил сторонний).
#cid60477
Ответить
#cid60270, imen
Тоже никогда не сталкивался с подобными проблемами. Но раз человек столкнулся, разобрался и написал инструкцию — пусть будет и здесь.
еген
#cid90053
Ответить
у меня ноутбук пакордбелл там только там в биосе только AHCI Mode можно ли переключить на IDE заранее спасибо
#cid90054
Ответить
#cid90053, еген
Написано в заметке.
Надо попытаться перепрошить биос на версию, в которой будет доступен переключатель.
Если опыта в перепрошивке нет — лучше не лезть.
lrbis80
#cid91026
Ответить
Есть один диск 250Гб (системный) и есть RAID1 из двух дисков по 1Тб (в моей работе нужна надежность хранения временных рабочих файлов большого объема). RAID настроен через биос.
В корпусе есть док, подключаемый в материнку в SATA + питание с БП, винты подключает только через перезагрузку, иначе не видит. Это сильно напрягает при том что винты втыкать приходится часто (для той же работы - флэшки не вариант)
Но включить AHCI нельзя - отрубится RAID. Подскажите пожалуйста как и RAID иметь и AHCI для внешнего дока? Раздельной настройки для разъемов SATA в биосе нет. Чипсет Z87 (собственно материнка GIGABYTE GA-Z87-D3HP).
Если нужно сменить материнку, буду очень благодарен, если посоветуете на какую менять, сам подыскать замену не смог.
#cid91027
Ответить
#cid91026, lrbis80
1. RAID — точно такой же режим работы контроллера, как IDE или AHCI. Соответственно, когда ты меняешь режим работы — ты его именно меняешь, то есть предыдущий режим отключается, да.
Режим работы полностью определяет способ взаимодействия с физическими дисками.
Включаешь RAID — всё, теперь рулит он. И возможность подключения дисков на лету надо смотреть в настройках RAID-а.
2. Можно перейти на программный рейд и навсегда забыть о подобных проблемах. Программный рейд всегда предпочтительнее встроенного. Но здесь ещё имеет значение ОС, которой пользуешься (виндовые массивы, т.н. "динамические тома" использовать нельзя).
3. Если первое невозможно (в настройках рейда нет таких опций), а второе не вариант (например, винда) — возьми USB3 док. Скорость нормальная (5Гб/c USB3 ≈ 6Гб/c SATA3), горячее подключение не зависит ни от чего и цена вопроса всяко меньше, чем стоимость новой материнки.
gfsa21st century
#cid91159
Ответить
Всем привет. у меня Windows 7
system bios version: 6aet57ww (1.23)
ec bios version : b110380001
не могу найти OnChip SATA type
помогите все излазил уже
#cid91161
Ответить
#cid91159, gfsa21st century
Всё сказал, за исключением того, что надо :)
Материнская плата какая?
Если в биосе действительно нет такой настройки, значит, режим контроллера заблочен на AHCI (внимательно смотри заметку и комментарии).
Евгений
#cid91547
Ответить
У меня стоит Линукс минт 17 и там нет файла modprobe.conf, как мне переключить сата-контроллер в режим ACHI? В БИОСе менял значение но загрузчик не грузится после этого, пришлось вернуть значение натив ИДЕ
imen
#cid91550
Ответить
#cid91547, Евгений
Вангую наличие специального файла (типа «каталог») /etc/modprobe.d
Шаманим без понимания сути процессов и предпринимаемых действий на платформе, не предполагающей такого подхода?
Результат более чем закономерен.