Расширенный интерфейс хост-контроллера - Advanced Host Controller Interface

AHCI
Расширенный интерфейс хост-контроллера
Последняя версия1.3.1
11 ноября 2011 г. (2011-11-11)
ОрганизацияIntel
Интернет сайтwww.intel.com/содержание/ www/нас/ en/ io/ serial-ata/ ahci.html

В Расширенный интерфейс хост-контроллера (AHCI) является техническим стандартом, определенным Intel который определяет работу Последовательный ATA (SATA) хост-контроллеры не зависящим от реализации в его материнские платы чипсеты.

В спецификации описывается структура системной памяти для поставщиков компьютерного оборудования для обмена данными между хост-системой. объем памяти и прилагается устройства хранения данных. AHCI предоставляет разработчикам программного обеспечения и разработчикам оборудования стандартный метод обнаружения, настройки и программирования адаптеров SATA / AHCI. AHCI отличается от стандарта SATA 3 Гбит / с, хотя предоставляет расширенные возможности SATA (например, горячая замена и собственная очередь команд ), чтобы хост-системы могли их использовать. Для современных твердотельные накопители, интерфейс был заменен на NVMe.[1]

По состоянию на декабрь 2019 г., текущая версия спецификации - 1.3.1.

Режимы работы

Многие контроллеры SATA предлагают выбираемые режимы работы: устаревшие Параллельный ATA эмуляция (чаще называется режимом IDE), стандартный режим AHCI (также известный как собственный режим) или зависящий от поставщика RAID (что обычно позволяет AHCI использовать его возможности). Intel рекомендует выбирать режим RAID на своих материнские платы (который также включает AHCI) вместо режима AHCI / SATA для максимальной гибкости.[2] Устаревший режим - это программное обеспечение Обратная совместимость механизм, позволяющий контроллеру SATA работать в устаревших операционных системах, не поддерживающих SATA, или в которых не существует драйвера, обеспечивающего поддержку SATA операционной системы.

Когда контроллер SATA настроен для работы в режиме IDE, количество устройств хранения на контроллер обычно ограничивается четырьмя (два канала IDE, главное устройство и подчиненное устройство до двух устройств на канал) по сравнению с максимумом 32 устройства. / ports при настройке в режиме AHCI.[3][4] Но чипсет Интерфейсы SATA могут эмулировать более одного «контроллера IDE» при настройке в режиме IDE.

Поддержка операционной системы

AHCI поддерживается "из коробки" на Виндоус виста и позже, Linux операционные системы (начиная с версии 2.6.19 ядро ), OpenBSD (начиная с версии 4.1), NetBSD (начиная с версии 4.0), FreeBSD (начиная с версии 8.0),[5] macOS, ArcaOS,[6] eComStation (начиная с версии 2.1), и Solaris 10 (с версии 8/07).[7] DragonFlyBSD основал свою реализацию AHCI на OpenBSD и добавил расширенные функции, такие как поддержка множителя портов. Более старые версии операционных систем требуют драйверов для конкретного оборудования для поддержки AHCI. Windows XP и старше не предоставляют поддержку AHCI из коробки.

Проблемы с загрузкой системного диска

Некоторые операционные системы, в частности Виндоус виста, Windows 7, Windows 8, Windows 8.1 и Windows 10, не настраивайте себя для загрузки драйвера AHCI при загрузке, если контроллер SATA не находился в режиме AHCI во время установки операционной системы. Хотя это легко исправимое состояние, оно остается постоянной проблемой со стандартом AHCI.

Наиболее распространенным признаком операционной системы (или систем), установленных в режиме IDE (в некоторых реализациях прошивки BIOS, иначе называемых `` комбинированным режимом IDE ''), является то, что системный диск обычно не загружается с последующим сообщением об ошибке, если контроллер SATA (в BIOS) случайно переключается в режим AHCI после установки ОС. В Microsoft Windows симптомом является цикл загрузки, который начинается с ошибки синего экрана, если она не исправлена ​​- и не по вине Microsoft Windows.

С технической точки зрения, это ошибка реализации AHCI, которой можно избежать, но она еще не исправлена. В качестве промежуточного решения Intel рекомендует перед установкой операционной системы изменить контроллер диска на AHCI или RAID.[2] (Также может потребоваться загрузить драйверы AHCI или RAID для конкретного набора микросхем во время установки, например, с USB-накопителя).

В Windows Vista и Windows 7 это можно исправить, настроив msahci драйвер устройства для запуска во время загрузки (а не по запросу). Установка режима без AHCI (т.е. IDE или комбинированного режима) в BIOS позволит пользователю загрузиться в Windows, и тем самым необходимые реестр изменение может быть выполнено. Следовательно, у пользователя появляется возможность продолжить использование системы в комбинированном режиме или переключиться в режим AHCI.[8]В Windows 10 это можно исправить, принудительно перезагрузив правильные драйверы во время Безопасный режим.[9]

В Windows 8, Windows 8.1 и Windows Server 2012, драйвер контроллера изменился с msahci к Storahci,[10] а процедуры обновления до контроллера AHCI аналогичны процедурам для Windows 7.[11] В Windows 8, 8.1 и Windows Server 2012 переход из режима SATA в режим AHCI без предварительного обновления реестра сделает загрузочный диск недоступным (т. Е. Приведет к повторяющемуся циклу загрузки, который начинается с ошибки синего экрана).

В Windows 10 после переключения контроллера в режим AHCI, если ОС разрешено перезагрузить пару раз после начала цикла загрузки, который начинается с BSOD INACCESSIBLE_BOOT_DEVICE, Windows предоставляет варианты восстановления. Из дополнительных параметров, если выбран параметр «Восстановление при загрузке», Windows попытается исправить проблему, и компьютер начнет нормально работать.

Аналогичная проблема может возникнуть в системах Linux, если драйвер AHCI скомпилирован как модуль ядра а не встроен в образ ядра, так как он не может быть включен в initrd (начальный RAM-диск) создается, когда контроллер настроен для работы в устаревшем режиме. Решение состоит в том, чтобы либо создать новый initrd, содержащий модуль AHCI, либо встроить драйвер AHCI в образ ядра.[12]

Управление энергопотреблением

Управление питанием осуществляется Агрессивное управление питанием канала (ALPM) протокол.

Смотрите также

Рекомендации

  1. ^ «NVMe против SATA: какая технология SSD быстрее?». www.howtogeek.com. Получено 2020-10-10.
  2. ^ а б «Технология хранения Intel Matrix - изменение и / или выбор режимов Serial ATA». Intel. Получено 2007-09-30.
  3. ^ «Спецификация контроллера PCI IDE 1.0» (PDF). Берг Дизайн программного обеспечения. Получено 2015-05-03.
  4. ^ «Serial ATA AHCI: Спецификация, версия 1.3.1». Intel Corp. Получено 2015-05-03.
  5. ^ https://www.freebsd.org/cgi/man.cgi?ahci(4)
  6. ^ «Журнал изменений ArcaOS». Получено 2020-08-24.
  7. ^ «Что нового в версии Solaris 10 от 8/07 - Улучшения драйверов». Oracle. Получено 2010-10-20.[постоянная мертвая ссылка ]
  8. ^ «Сообщение об ошибке при запуске компьютера под управлением Windows 7 или Windows Vista после изменения режима SATA загрузочного диска:» STOP 0x0000007B INACCESSABLE_BOOT_DEVICE"". Microsoft. В архиве из оригинала 24 мая 2011 г.. Получено 2011-04-20.
  9. ^ «Включение режима AHCI ПОСЛЕ установки Windows 10». tenforums.com пользователь Toobad. Получено 2015-12-19.
  10. ^ «StorAHCI заменяет MSAHCI (Windows)». Microsoft.
  11. ^ «Повышение производительности дисков SATA в Windows 2012».
  12. ^ «Поддержка | Как включить поддержку AHCI после установки». Novell.com. Получено 2014-05-11.

внешняя ссылка