Узнать включен ли режим ahci. Переключение интерфейса SATA в режим AHCI на существующей ОС

Это новый режим SATA для работы с устройствами запоминающего типа. Исключительно в нем компьютер может полноценно использовать все возможности SATA, а точнее:

  1. Быстрая замена жесткого диска. А если подробнее, то это означает, что его можно менять не выключая при этом компьютер. При работе с серверами это очень удобно.
  2. NCQ – благодаря данной технологии количество перемещений головок, которые производят считывание в разы сокращается. Тем самым скорость жесткого диска возрастает при использовании его сразу несколькими программами.

Если активировать Achi, то вы будете быстрее получать доступ к файлам, которые хранятся на ПЗУ, а также компьютер станет работать намного быстрее . Конечно, на обычном домашнем ПК прирост будет не заметен. Однако, если поддержка данного варианта имеется, то лучше будет, если его включить.

Режим IDE — что это

Это уже слишком устаревшая технология, которая была популярна в девяностых годах и начале двухтысячных. Она была внедрена в IBM PC – первых компьютерах. В ней передача данных происходила на скорости 150 Мбит в секунду. Многие популярные технологии он не поддерживал . Например, без перезагрузки ПК нельзя было вынимать жесткий диск или CD привод. Потом эти возможности добавили, но не каждый компьютер мог ими пользоваться. Однако и сейчас он еще используется.

Как включить режим ACHI/IDE

Переключение между ACHI и IDE происходит через BIOS . Делается перед установкой Windows, следующим образом:

В Windows 10 можно моментально переключиться на Achi, для этого:


Какой режим лучше

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

AHCI, как его запустить и настроить

Advanced Host Controller Interface (AHCI)
- механизм, используемый для подключения накопителей информации по протоколу Serial ATA, позволяющий пользоваться расширенными функциями, такими, как встроенная очерёдность команд (NCQ) и горячая замена. Самое главное — при наличии включенного режима ANCI активируется режим TRIM в SSD. Кроме того, без включенного режима ANCI иногда невозможно обновить прошивку в SSD (например у KINGSTON).

Режим работы ACHI позволяет использовать для уборки «мусора» на SSD.

AHCI встроен в чипсеты Intel начиная с некоторых версий ICH6 и во все чипсеты для платформ Core i3/i5/i7. Для платформ Core AHCI был реализован в следующих контроллерах:

PCHM Intel RAID/AHCI Контроллер-концентратор
Intel PCH SATA RAID/AHCI Контроллер-концентратор
Intel ICH10R /DO SATA RAID/AHCI Контроллер-концентратор
Intel ICH10D SATA AHCI Контроллер-концентратор
Intel ICH9M -E SATA RAID/AHCI Контроллер-концентратор
Intel ICH9M AHCI Контроллер-концентратор
Intel 82801IR/IO Контроллер-концентратор (ICH9R /DO) - RAID и AHCI
Intel 82801HEM Контроллер-концентратор ввода/вывода (ICH8M -E ) - RAID и AHCI
Intel 82801HBM Контроллер-концентратор ввода/вывода (ICH8M ) - только AHCI
Intel 82801HR/HH/HO Контроллер-концентратор ввода/вывода (ICH8R /DH/DO) - RAID и AHCI
Intel 631xESB/632xESB Контроллер-концентратор ввода/вывода - RAID и AHCI
Intel 82801GHM Контроллер-концентратор ввода/вывода (ICH7MDH ) - только RAID
Intel 82801GBM Контроллер-концентратор ввода/вывода (ICH7M ) - только AHCI
Intel 82801GR/GH Контроллер-концентратор ввода/вывода (ICH7R /DH ) - RAID и AHCI
Intel 82801FR Контроллер-концентратор ввода/вывода (ICH6R ) - RAID и AHCI
Intel 82801FBM Контроллер-концентратор ввода/вывода (ICH6M ) - только AHCI

Как включить режим AHCI для уже установленной операционной системы.

Windows XP

Чтобы установить драйвер из установленной системы Windows XP нужно:

Делается это следующим образом.
Заходим в диспетчер устройств и находим в списке IDE ATA/ATAPI контроллеры.
Обновляем драйвера для контроллеров (по умолчанию их 2).
Для этого, выбираем пункт Обновить драйвер => Не выполнять поиск. Я сам выберу нужный драйвер.
Указываем путь к папке на установочном диске к материнской плате.
Снимаем галочку «Только совместимые устройства» и выбираем из списка Intel(R) ICH8R/D0/DH SATA AHCI Controller. (так для обоих контроллеров!!!). Если у Вас ICH10R — то устанавливаем соответственно для 10R.

Перезагружаемся и входим в BIOS.

В BIOS включаем режим AHCI для SATA контроллера и сохраняем (или танцы с бубном с хаком BIOS).

Во время запуска системы после POST вы увидите экран инициализации SATA AHCI BIOS, будет выведен список каналов и подключенных на них устройств.

Обнаружиться новое устройство и Windows предложит установить драйверы автоматом — отказываемся.

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

В диспетчере устройств в разделе IDE ATA/ATAPI контроллеры теперь только: контроллер ICH9R/DO/DH SATA AHCI Controller, вторичный и первичный IDE, Стандартный двухканальный контроллер PCI IDE.

Установка завершена — Windows XP теперь работает в AHCI режиме.

Если Windows XP не подцепила AHCI драйвер вы увидите после перезагрузки BSOD c кодом 0х0000007b.
Отключите режим AHCI в BIOS, тогда система загрузиться в рабочем режиме и попробуйте снова.

Фактически для уже установленной Windows XP подключение драйверов AHCI происходит в два этапа. Проблема в том, что установщик драйверов Intel без включенного режима AHCI работать не будет, а с включенным режимом AHCI — Windows XP не загрузится.

Поэтому два этапа:

— вручную ставим драйвера для контроллеров, это дает после включения AHCI загрузить Windows XP

— и уже после загрузки ставим через установщик полный комплект драйверов

ВАЖНО для Windows XP

После переключения Windows XP в режим ACHI обратно вернуться в режим IDE практически невозможно, в сети есть большое количество форумов на эту тему.
А зачем вообще возвращаться с AHCI на IDE? В режиме AHCI невозможно исправить Windows XP в режиме восстановления (установка Windows XP поверх настроенной системы, запуск установочного файла из среды Windows XP).

Что делать? Все пропало? Переустанавливать заново (и терять все настройки) в случае серьезных проблем?

Внимательно читаем, что написано иностранными буквами для драйвера контроллера = Intel(R) ICH8R/D0/DH SATA AHCI Controller. Видите ключевое слово? Нет, это не слово AHCI , это другое слово — Intel .
Бинго — вспоминаем (или читаем описание к материнской плате), что у нас есть еще один контроллер на плате, обычно это JMicron / Marvell, который работает только в режиме IDE.

Переключаем системный диск туда и Windows XP прекрасно грузится в режиме IDE (соответственно в BIOS выбираем загрузку с этого диска), ведь мы для этого контроллера никаких драйверов AHCI не устанавливали. Потом исправляем Windows XP в режиме восстановления, возвращаем провод SATA в основной контроллер ICH и спокойно работаем дальше.

Windows 7

Не надо до переключения в BIOS устанавливать драйвера (как в Windows XP) — иначе система «скрашится» с синим экраном.

В двух словах — или запустить специальную утилиту от MS или в реестре самостоятельно занулить соответствующие ключи. После старта Windows 7 сама поймет, что режим контроллера изменился и установит правильные драйвера (или драйвера по умолчанию).

Чтобы устранить проблему самостоятельно, включите драйвер AHCI в реестре перед изменением режима SATA загрузочного диска. Для этого выполните следующие действия:

  1. Закройте все программы Windows.
  2. Откройте меню Пуск , в окне Начать поиск введите regedit и нажмите клавишу ВВОД.
  3. Если откроется окно Учетные записи пользователей , нажмите кнопку Продолжить .
  4. Найдите и выберите один из следующих подразделов реестра (и там и там надо будет изменить):

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Msahci

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\IastorV

  5. На правой панели щелкните правой кнопкой мыши пункт Start в столбце Имя и выберите команду Изменить .
  6. В поле Значение введите 0 и нажмите кнопку ОК .
  7. В меню Файл выберите команду Выход , чтобы закрыть редактор реестра.

Сводная таблица для двух ОС (Windows XP и Windows 7)

Windows XP Windows 7
Устанавливаем соответствующие стандартные драйвера Intel для контролера Вносим изменения в реестр (самостоятельно или с помощью утилиты от MicroSoft)
После загрузки ОС установит стандартные драйвера Intel
Устанавливаем нужные драйвера от материнской платы
Возврат в режим IDE невозможен практически во всех случаях, при установке IDE в BIOS получим BSOD.
Вариант — загрузиться через другой контроллер SATA, например JMicron (работает только в режиме IDE)
Возврат в режим IDE — просто в BIOS переключаем обратно и все нормально загрузится

Эксперименты.

Смотрим конфигурацию оборудования в Диспетчере устройств.

Видим контроллер ICH8 (их там два), но без буквенного индекса, пока не понятно, есть ли поддержка AHCI, будем проверять.

Если было ICH8E или ICH8R — тогда точно есть ACHI.

Драйвера можно скачать и с сайта Intel (ищем Intel Matrix Storage Manager), так и с официального сайта производителя материнской платы. Например, бюджетная плата MSI P965 Neo-F V2. Спецификация и техподдержка утверждают, что на плате нет поддержки режима AHCI. Действительно, в BIOS есть только режим IDE и никакого выбора AHCI. Будем продолжать эксперименты, см. ниже про хак BIOS.

SATAII controller integrated in ICH8 — контроллер SATA имеет поддержку AHCI

и на странице драйверов мы видим — On-Board SATA AHCI/RAID Drivers (даже и драйвера есть)

Все эксперименты проводим:

— бюджетная материнская плата MSI P965 neo-f V2, SATA 2 (4 разъема Intel ICH8 и 1 разъем MARVELL 88SE6111)

— SSD Kingston 140 Гб SATA 3

Эксперимент 1 . Возможность включение AHCI есть в BIOS (у нас нету)

Режим AHCI надо включать до установки операционной системы (для систем Windows 7 и выше все будет само, для Windows XP нужна дискета с драйверами по F6. Если дисковода нет вообще — надо ставить в режиме IDE или искать сборку Windows с уже установленными драйверами ACHI). Если его включить после установки OS, то будет синий экран BSOD. Система не знает, что теперь контроллер работает в другом режиме.

Что нужно сделать для уже установленной системы.

Вернуть в BIOS режим IDE и сделать корректировки в Windows, потом перезагрузиться и заново включить режим AHCI в BIOS.

Эксперимент 2 . Контроллеры Intel режим AHCI поддерживают (наш контроллер есть в списке), но в BIOS возможности переключить в AHCI нет.

Что делать? Будем делать (легкий) хак BIOS. .

Заходим в BIOS. Что бы контроллер заработал в режиме AHCI — надо после перепрошивки в биосе сделать Load Setup Defaults — иначе грузится все в том же IDE режиме. И главное не заходить в меню Configure SATA as — сбивается на IDE — если зайти… Что кстати полезно для возврата в IDE режим.

Внимание!

Сначала проводим последний эксперимент по наличию режима AHCI в контроллерах! Windows (драйвера для AHCI) пока не трогаем. Папка с файлами AMI BIOS дожна быть сохранена на диске C: (может так случиться после экспериментов, что доступным будет только этот диск)

Если после перезапуска BIOS из него пропали все диски (т.е. BIOS видит только флоппи-привод), значит Вам не повезло, плата действительно не поддерживает AHCI. Если обратно в режим IDE не переводится через BIOS, нужна заранее подготовленная дискета с MS DOS, AFUDOS и оригинальным файлом ROM. Тогда загружаемся с дискеты в MS DOS и заливаем оригинальную прошивку в BIOS (и также потом делаем Load Setup Defaults). У кого есть на плате дополнительный контроллер SATA MARVELL — можно переключить диск с Windows туда и загрузиться. И уже из под Windows залить оригинальную прошиву.

Если все диски есть в наличии — возвращаем IDE — делаем все изменения в Windows по драйверам (как указано выше) — в очередной раз заливаем прошивку с AHCI — перезагружаемся.

Эксперимент 3. Что еще есть на материнской плате?

Помните страшное сообщение

Adapter 1.

Disks Information: No hard disk is detected!

Это как раз контроллер Marvell сообщает о своей работе и что к нему диск не подключен. Контроллер активируется из общего AMI BIOS, параметр OnBoard IDE Controller , надо догадаться, что это Marvell. Ничего, догадались, через ROM назвали правильно Marvell IDE Controller . Да, если его отключить, сообщение No hard disk is detected! больше появляться не будет.

В нашем случае это Marvell 88SE6111, вот он на материнской плате (1 порт SATA и 1 порт IDE)

Он же в диспетчере устройств

Пробуем туда включить наш SSD (сообщение при старте меняется) и загрузиться, смотрим, что по скорости.

Marvell 88SE61хх Adapter. BIOS Version 1.1.0.L64

Adapter 1.

Disks Information:

Disk name Size Speed

Kingston SV300S37A240G 240 Gb SATA II

Да, не очень хорошо. Скорость чтения повыше HDD, а скорость записи даже ниже HDD.

В общем, контроллер Marvell можно использовать только для оптического привода.

Кстати, эту информацию можно использовать для выбора материнской платы. Мы можем увеличить частоту, напряжение, поменять процессор и память, но со встроенным контроллером SATA-AHCI ничего сделать не сможем. Например, для SATA II и одного и того же SSD:

Intel ICH10 — 350 Мб/сек

Intel Z87 — 530 Мб/сек

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

Эксперимент 4. PCI-e

Да, у нас на плате есть еще разъемы PCI-e v1.0a, попробуем их использовать

В одну/обе стороны, Гбит/с
Связей
x1 x2 x4 x8 x12 x16 x32
PCIe 1.0 2/4 4/8 8/16 16/32 24/48 32/64 64/128
PCIe 2.0 4/8 8/16 16/32 32/64 48/96 64/128 128/256
PCIe 3.0 8/16 16/32 32/64 64/128 96/192 128/256 256/512

PCI-e x16 под видеокарту, гуглим, под вариант PCI-e x4 (там нужна вторая версия PCI-e) есть вариант

Что делать, если у вас в компьютере установлен жесткий диск с интерфейсом SATA, а перед установкой ОС вы забыли переключить в BIOS опцию «SATA Mode» со значения IDE на значение SATA (название опции в BIOS может отличаться)? Обычно, уже установленная Windows после переключения значения этой опции выдает синий экран. Некоторые не находят ничего лучше, как переустановить ОС заново. Но есть другой путь.

У меня недавно возникла такая проблема. Тестировал жесткий диск в клиентском ноутбуке утилитой mHDD, предварительно переключив в BIOS опцию «SATA Mode» в режим IDE. После тестирования забыл переключить обратно и установил операционную систему. Обнаружил свою ошибку уже на этапе установки драйверов в установленной системе, когда у меня не хотел устанавливаться драйвер Intel AHCI. К счастью, проблему удалось решить без переустановки ОС, всего лишь покопавшись в реестре Windows. О том, как это сделать, читайте дальше.

Первым делом вызываем диалоговое окно «Выполнить». Вызывается оно через меню Пуск или комбинацией клавиш Win+R. В диалоговом окне «Выполнить» вводим и выполняем команду «regedit» (без кавычек).

В открывшемся редакторе реестра находим следующий раздел:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\msahci

В этом разделе нам необходимо изменить значение ключа «Start» на 0.

Теперь находим следующий раздел:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\iaStorV

И также меняем значение ключа «Start» на 0.

После описанных выше действий перезагружаем ПК. При перезагрузке входим в BIOS и меняем значение опции «SATA Mode» со значения IDE на значение AHCI. Сохраняем изменения настроек BIOS и перезагружаем компьютер.

После перезагрузки ОС Windows найдет новое оборудование и установит свой драйвер. После этого можно спокойно накатить драйвер Intel AHCI, ведь теперь наш жесткий диск будет работать в режиме AHCI.

Сегодня мы с вами узнаем простую вещь — как изменить режим SATA из IDE в AHCI в биосе при уже работающей Windows 7. Ведь те, кто уже попробовал поменять этот режим, смогли лицезреть синий экран смерти при первой же попытке загрузки винды. И решением будет внести правки в реестр Windows, чем мы сейчас и займемся.

Очень краткое примечание : В эпоху Windows XP и ранее был широко распространен интерфейс IDE или PATA, который в современных материнских платах оставлен только для совместимости со старыми устройствами и системами. Сегодня стандартом является SATA, разные ревизии которого отличаются пропускной способностью.

Вчера я был у одного из своих клиентов и на одном из компьютеров мне довелось применить на практике этот способ. Там как раз стояла и грустила на ide режиме Windows 7. Решил ее перевести в AHCI без переустановки, заодно повысить производительность.

Итак, приступаем.

Нажимаем Win+R и пишем regedit , жмем ОК, открывается Редактор реестра.

Если у вас стоит например, RAID режим, то возможно вам потребуется вот этот адрес в реестре:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\IastorV

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

Когда вы два раза кликнули по названию, откроется окно редактирования. Здесь нужно поменять цифру на 0 (нуль).

Чтобы выглядело вот так. Нажимаем ОК, сохраняем.

После наших манипуляций итоговое значение выглядит вот так:

Остались последние штрихи. Сейчас необходимо перезагрузить Windows и зайти в БИОС, заменить там режим на нужный.

Когда компьютер начнет перезапускаться, не пропустите момент входа в BIOS. Обычно это клавиша Del. На ноутбуках могут быть клавиши F2, F10 или F12.

На материнской плате моего клиента пункт выглядит как Storage configuration, внутри подпункт SATA configuration (compatible или enhanced).

Выделяем подпункт Configure SATA as, который стоит в значении и нажимаем Enter. Выбираем значение AHCI

В конечном итоге пункт теперь выглядит Configure SATA as . Нажимаем F10 для сохранения настроек биоса, затем Enter и компьютер снова перегружается.

И вот теперь наступает момент истины!)

Windows 7 должна нормально загрузиться и при загрузке обнаружит новые устройства, для которых начнет бодро искать и ставить дровишки. Возможно, после этого она попросит вас произвести перезагрузку. Перегрузитесь, сделайте винде приятно.

Этот способ сработал в моем случае и даже визуально компьютер стал пошустрее бегать.

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

Основные функции AHCI

Горячее подключение SATA дисков — Hot Swap, Hot Plug

(Hot Swap — горячая замена, Hot Plug — горячее подключение), то есть, непосредственно в процессе работы без выключения или перезагрузки компьютера.

Применительно к настольным компьютерам эта опция будет крайне полезной тем, кто работает с накопителями, подключаемыми по интерфейсу eSATA, или SATA дисками, устанавливаемыми в мобилрек.

До установки AHCI драйверов Intel в Windows это может выглядеть так:

Через значок «Безопасное извлечение устройств и дисков» можно отключать SATA диски.

После установки AHCI драйверов Intel для горячего отключения и подключения ранее отключенных дисков нужно будет воспользоваться диспетчером устройств в «Управление компьютером»:

В случае более распространенного подключения внешних накопителей — к портам USB через адаптер SATA-USB, горячее подключение/отключение доступно без AHCI.

NCQ (Native Command Queuing) – организация очереди команд

В двух словах можно сказать, что NCQ — это логистика перемещения головок диска. Если в конкретный момент времени к контроллеру жесткого диска поступило несколько запросов на чтение/запись данных, то очередность их обработки AHCI изменит так, чтобы за счет оптимизации последовательности перемещений головок обработать все запросы за минимальное количество оборотов пластин диска, то есть, за меньшее время.

Представим себе такую аналогию NCQ. Курьер (головки HDD) обслуживает некое офисное здание, на нескольких этажах которого размещаются различные организации. Каждый день курьер приносит и забирает корреспонденцию. Особенностью функционирования этих многочисленных организаций является то, что их канцелярии работают на прием и выдачу в строго определенные, причем разные, часы и прийти надо обязательно к самому началу, иначе окошко закроется. У курьера есть список организаций, которые он должен обслужить в ближайшее время.

Теперь представим себе, что курьер посещает организации строго по списку в порядке их очередности. Предположим, что первой в перечне числится организация, расположенная на n-ом этаже здания. Рано утром курьер поднимается на этот этаж, подходит к окну канцелярии и выясняет, что оно откроется ближе к вечеру (Этажи, в нашем случае, это треки, или цилиндры, жесткого диска, а часы работы – его сектора). Если курьер должен обходить организации строго по списку, то он прождет без дела до вечера, заберет документы и пойдет во вторую по списку организацию на другой этаж. Вероятность того, что приемные часы в этой организации уже закончились, достаточно высока и значит, в этот день курьер может уже ничего не забрать/передать, а будет ждать следующего дня (оборота диска HDD). Ну и так далее. Не слишком продуктивно.

Однако если изменить порядок обхода, то за один день (оборот диска) можно посетить значительно большее число организаций. Для этого надо расставить их по времени начала работы канцелярий но с учетом того, что лифт, перемещающий курьера в нашем гипотетическом здании, сам по себе не слишком быстрый (время перемещения головок на нужный трек). Если времена (сектора) близки, то начав движение на выбранный этаж к открытию окна можно и не успеть.

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

Еще в этой связи невольно вспоминается древняя синклерная игрушка, которая, если не ошибаюсь, называлась «Тапер». В ней официант пивного бара должен был не только наливать пиво посетителям, но и, перемещаясь от стола к столу, собирать пустые кружки, которые неумолимо двигались к краю. Правда, замешкаться было нельзя совсем – если кружка падала на пол, то игра тут же прекращалась. Очень похоже, логистика в чистом виде — выдать/собрать как можно больше в единицу времени за счет оптимизации перемещений.

NCQ по большей части актуальна для нагруженных серверов и систем хранения с SATA дисками. Ожидать некого драматического увеличения скорости работы обычного настольного компьютера или ноутбука от включения этой опции не стоит. Но хуже не будет точно.

Тема AHCI стала вновь актуальной в связи с широким распространением твердотельных накопителей (SSD-дисков). Режим работы Advanced Host Controller Interface включает в себя ряд функций, необходимых для быстрой и правильной работы SATA SSD-дисков. Очень важной является команда TRIM.

Команда TRIM

Команда TRIM была включена в AHCI после появления твердотельных накопителей и специально для них. Дело в том, что логика процесса записи в SSD-дисках значительно отличается от таковой в традиционных механических жестких дисках.

Наверняка многим знакомы утилиты, типа Undelete Plus, позволяющие восстановить недавно стертые файлы. Их работа основана на том, что файл только помечается в каталоге как удаленный, но физически с жесткого диска не стирается. Более того, сам накопитель ничего не знает о статусе записанной на нем информации. Помеченный как удаленный файл может оставаться на диске сколь угодно долго, до тех пор, пока он, или его части, не будут перезаписаны новыми данными.

Для обычных HDD такое положение вещей не несло в себе никакой опасности, в связи с тем, что стирание или перезапись по своей сути были одной и той же операцией и занимали одинаковое время.

В твердотельных накопителях это не так. Внутренняя логика их работы не допускает простой перезаписи данных в ячейке памяти. Для того чтобы в ранее уже задействованную ячейку памяти можно было бы что-то записать повторно, ее содержимое должно быть предварительно «обнулено». А эта операция требует дополнительного времени. Таким образом, по мере эксплуатации SSD-диска в составе компьютера с течением времени все больше и больше места на нем будет затронуто и потребуется все больше операций «обнуления» ячеек.

На самом деле все еще хуже, так как «обнулить можно» только блок памяти целиком. Чтобы не потерять записанную на нем информацию она предварительно считывается в кеш, выполняется стирание блока, данные в кеше модифицируются с учетом новых и только затем записываются на накопитель. В общем случае требуется четыре операции. Все это приводит к серьезной деградации скорости записи на твердотельный накопитель.

Команда TRIM служит связующим звеном между контроллером SSD-диска и операционной системой. Она сообщает контроллеру, какие блоки на диске действительно можно считать незанятыми, и помогает таким образом заранее физически стереть их в фоновом режиме и реально освободить место на диске. Это позволяет не допустить падения производительности операций записи на SSD.

В контексте команды TRIM уместным будет вспомнить о динамических виртуальных дисках. Такой диск представляет собой файл, который непосредственно после создания имеет небольшой физический размер, определяемый размещенной на нем системной и служебной информацией.

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

Для SSD-диска этот момент будет означать начало деградации скорости.

Увеличение размера диска будет происходить даже в том случае, если перед записью часть данных с него удалить. Дело в том, что все новые блоки информации всегда записываются в конец диска.

Для того, чтобы привести размер динамического виртуального диска в соответствие с объемом записанных на него данных, системы виртуализации предусматривают процедуру сжатия. В разных системах виртуализации эти процедуры несколько отличаются, но суть при этом не меняется – если попытаться сжать динамический виртуальный диск без его предварительной подготовки, то ничего не произойдет. Физический размер диска не изменится.

Для того, чтобы процедура сжатия отработала корректно, незанятые на диске блоки должны быть предварительно обнулены. В Windows для этой цели можно использовать Precompact.iso или sdelete –c, в Linux – zerofree. Утилиты обнуления запускаются в среде виртуальной машины. Вот и аналогия с TRIM – та же пометка незанятых областей диска, без которой физическое удаление стертых блоков невозможно.

Так как TRIM полностью стирает содержимое ячеек диска, восстановление удаленных данных становится невозможным.

В Windows встроенная поддержка TRIM появилась в 2009 году начиная с Windows 7. В Linux чуть позднее – в начале 2010 года.

Проблема с AHCI в Windows 7

На самом деле никакой проблемы нет. Однако если операционная система была установлена на диск, который работал с контроллером в режиме классического IDE, то просто взять и переключить в BIOS режим работы контроллера дисков на AHCI, не получится. Если это сделать, то при следующей же загрузке работа Windows аварийно завершится с демонстрацией «синего экрана смерти» BSoD из-за того, что она не найдет .

В Windows 8 эту ситуацию подправили. После включения AHCI в BIOS теперь достаточно один раз загрузить систему в безопасном режиме.

Как включить AHCI в Windows 7

Для того, чтобы включить AHCI в Windows 7 , нужно сделать следующее:

  • Запустить из командной строки с правами администратора редактор реестра RegEdit и открыть ветку:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\msahci
Найти на правой панели ключ Start . Если у вас не включен AHCI , то значение ключа будет равно 3 . Его надо поменять на 0 , как показано на рисунке:

  • Закрыть редактор реестра и перезапустить компьютер. Во время перезапуска зайти в BIOS и поменять режим работы контроллера жестких дисков на AHCI.

Windows 7 при старте найдет новое оборудование, установит драйверы и попросит еще раз перезапуститься. После перезагрузки компьютера жесткие диски будут работать в режиме AHCI.

Проверка включения режима AHCI в Windows 7

Открываем IDE ATA/ATAPI контроллеры в Диспетчер устройств. Убеждаемся, что там появился контроллер AHCI.


Установка драйверов AHCI

В зависимости от разновидности контроллера и материнской платы ищем и устанавливаем соответствующие драйверы для AHCI. Делать это не обязательно, но желательно.

Для владельцев материнских плат на чипсете от Intel самый свежий драйвер AHCI лучше всего поискать на официальном сайте по запросу “Intel Rapid Storage Technology”. Для моей материнской платы Intel на момент написания этой статьи наиболее подходящей оказалась версия 11.7.0 1013 . Загрузить с сайта и установить нужно программу iata_cd.exe.

После инсталляции и двух перезагрузок компьютера информация о контроллерах IDE ATA/ATAPI в диспетчере устройств стала такой >

Для того, чтобы определить был ли в этом смысл, я воспользовался бесплатной утилитой AS SSD Benchmark . Полностью полагаться на ее объективность я бы не стал, но некоторое представление получить можно. Вот так выглядят полученные результаты для 60-гигабайтного твердотельного накопителя Intel 520-ой серии >

Наибольший выигрыш получился на операциях записи, а суммарный прирост скорости SSD-диска составил около 10%. Существенно.

Все должно получиться. Если по какой-то причине система загружаться отказалась, возвращаемся к исходной точке и разбираемся с материнской платой, вернее, с контроллером жестких дисков.

Если категорически что-то не получается, то еще один возможный вариант смены режима работы контроллера жестких дисков, правда, более длинный, это использование программы подготовки системы (Sysprep). Но об этом в другой раз.