Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

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

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

Режимы работы [ править ]

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

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

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

AHCI поддерживается из коробки на Windows Vista и более поздних версиях 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 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. [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-диск), созданный, когда контроллер настроен для работы в Legacy. Режим. Решение состоит в том, чтобы либо создать новый initrd, содержащий модуль AHCI, либо встроить драйвер AHCI в образ ядра. [12]

Управление питанием [ править ]

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

См. Также [ править ]

  • Открытый интерфейс хост-контроллера (OHCI)
  • Универсальный интерфейс хост-контроллера (UHCI)
  • Расширенный интерфейс хост-контроллера (EHCI)
  • Расширяемый интерфейс хост-контроллера (XHCI)
  • Интерфейс беспроводного хост-контроллера (WHCI)
  • Интерфейс хост-контроллера (USB, Firewire)

Ссылки [ править ]

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

Внешние ссылки [ править ]

  • «Спецификация AHCI» . Intel.
  • «АХКИ» . OSDev Wiki