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

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

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

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

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

Содержание
  • 1 Режимы работы
  • 2 Поддержка операционной системы
    • 2.1 Проблемы с загрузкой системного диска
  • 3 Управление питанием
  • 4 См. Также
  • 5 Ссылки
  • 6 Внешние ссылки
Рабочие режимы

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

Когда контроллер SATA настроен для работы в устаревшем режиме, количество устройств хранения на контроллер обычно ограничивается четырьмя (два канала IDE, главный и подчиненный, до двух устройств на канал), по сравнению с максимум 32 устройства / порта при настройке в режиме AHCI.

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

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

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

Некоторые операционные системы, в частности Windows Vista, 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. (Также может потребоваться загрузить драйверы AHCI или RAID для конкретного набора микросхем во время установки, например, с USB-накопителя).

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

В Windows 8, Windows 8.1 и Windows Server 2012 драйвер контроллера был изменен с msahciна storahci, а процедуры обновления до контроллера AHCI аналогичны процедурам в Windows 7. В 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 в образ ядра.

Управление питанием

Управление питанием осуществляется с помощью Aggressive Link Протокол управления питанием (ALPM).

См. Также
Справочная информация
Внешние ссылки
Последняя правка сделана 2021-06-10 02:07:51
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте