stringtranslate.com

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

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

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

Текущая версия спецификации — 1.3.1.

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

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

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

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

AHCI поддерживается «из коробки» в Windows Vista и более поздних версиях, операционных системах на базе Linux (начиная с версии ядра 2.6.19 ) , OpenBSD (начиная с версии 4.1), NetBSD (начиная с версии 4.0), FreeBSD (начиная с версии 8.0), [5] macOS , GNU Mach , 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 симптомом является цикл загрузки, который начинается с ошибки «синий экран», если ее не устранить.

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

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

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

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

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

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

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

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

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

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

Внешние ссылки