stringtranslate.com

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

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

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

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

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

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

Когда контроллер SATA настроен на работу в режиме IDE, количество устройств хранения на контроллер обычно ограничено четырьмя (два канала IDE, главное устройство и подчиненное устройство, до двух устройств на канал), по сравнению с максимальным количеством в 32 устройства/порта при настройке в режиме 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 представляет варианты восстановления. Из дополнительных параметров, если выбран параметр Startup Repair, Windows пытается исправить проблему, и ПК начинает нормально работать.

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

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

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

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

Ссылки

  1. ^ ab "Serial ATA AHCI: Спецификация, Версия 1.3.1". Intel Corp. Получено 2015-05-03 .
  2. ^ «NVMe против SATA: какая технология SSD быстрее?». www.howtogeek.com . Получено 10.10.2020 .
  3. ^ ab "Технология хранения Intel Matrix - Изменение и/или выбор режимов Serial ATA". Intel . Получено 2007-09-30 .
  4. ^ "PCI IDE Controller Specification 1.0" (PDF) . Berg Software Design. Архивировано из оригинала (PDF) 2015-08-14 . Получено 2015-05-03 .
  5. ^ "Ахчи(4)".
  6. ^ "ArcaOS Changelog" . Получено 2020-08-24 .
  7. ^ "Что нового в выпуске Solaris 10 8/07 - Улучшения драйверов". Oracle. Архивировано из оригинала 2007-10-25 . Получено 2010-10-20 .
  8. ^ "Сообщение об ошибке при запуске компьютера на базе Windows 7 или Windows Vista после изменения режима SATA загрузочного диска: "STOP 0x0000007B INACCESSABLE_BOOT_DEVICE"". Microsoft. Архивировано из оригинала 24 мая 2011 г. Получено 20 апреля 2011 г.
  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 .

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