Advanced Host Controller Interface
Advanced Host Controller Interface (AHCI) – specyfikacja określająca programowanie kontrolerów Serial ATA, jednak nie definiująca samej implementacji. Specyfikacja protokołu AHCI została udostępniona przez Intel w maju 2003 roku. W czerwcu 2008 roku została opracowana najnowsza wersja 1.3[1].
AHCI opisuje strukturę pamięci systemowej w celu oprogramowania komunikacji i zapewnienia przepływu danych między pamięcią systemową a przyłączonymi urządzeniami magazynującymi dane (takimi jak np. dyski SATA). Specyfikacja ta służy programistom oraz producentom sprzętu komputerowego jako standard przy wykrywaniu, konfigurowaniu oraz programowaniu adapterów SATA/AHCI. AHCI nie obejmuje standardu Serial ATA II, choć także obsługuje zaawansowane możliwości SATA, takie jak hot-plug oraz NCQ.
Wiele kontrolerów SATA obsługuje różne tryby pracy, takie jak ATA (określany także jako IDE lub PATA), standardowy tryb AHCI lub tryb RAID (zależny od producenta). Aby zapewnić maksymalną elastyczność, Intel zaleca stosowanie tego ostatniego w jego płytach głównych (który także pracuje jako normalny AHCI) zamiast zwykłego trybu AHCI/SATA. Takie zalecenie podyktowane jest częstymi problemami z systemem operacyjnym Microsoft Windows przy przełączaniu trybu pracy AHCI już po zainstalowaniu systemu[2].
Tryb PATA zapewnia wsteczną kompatybilność dla kontrolerów SATA w systemach operacyjnych, które nie obsługują standardu SATA (np. Windows 95, Windows 98, Windows Me) lub systemach, które wymagają dodatkowych sterowników (Windows 2000, Windows XP)
Systemy operacyjne a współpraca z AHCI
- Microsoft Windows:
- Windows Vista, Windows 7, Windows 8, Windows 10 – pełne wsparcie
- wcześniejsze wersje Windows wymagają oddzielnych sterowników lub nie obsługują AHCI
- Linux (począwszy od kernela w wersji 2.6.19.) – pełne wsparcie[3]
- NetBSD (niektóre wersje) – wsparcie w trybie AHCI bez potrzeby instalacji dodatkowych sterowników
- OpenBSD (od wersji 4.1) – obsługuje sterownik AHCI
- FreeBSD – wspiera AHCI
- Mac OS X (Intel) – wymagane AHCI
- Solaris 10 – wsparcie dla AHCI zaimplementowane w wydaniu 8/07[4]
Starsze systemy operacyjne do obsługi AHCI wymagają sterowników napisanych pod określone urządzenie.
Problemy z systemami Windows
Włączenie trybu AHCI w BIOS-ie może spowodować problemy z aktualnie zainstalowanym systemem operacyjnym i w konsekwencji wymusić jego reinstalację. Microsoft Windows XP wymaga dodatkowego sterownika, podanego na przykład z osobnej dyskietki, podczas instalacji systemu przy włączonym AHCI. Niepoprawny sterownik lub jego brak może zakończyć się błędem „0x7B BSOD STOP error”. Przełączenie do trybu AHCI wymaga uprzedniego zainstalowania w systemie operacyjnym nowych sterowników – jeszcze przed dokonaniem zmian w BIOS-ie. Jeżeli pojawi się błąd 0x7B, zazwyczaj przywrócenie poprzedniego ustawienia (zwykle określanego jako IDE lub ATA) w BIOS-ie rozwiązuje problem. Niektóre późniejsze wersje Windows XP zawierają pewną ograniczoną obsługę AHCI/SATA. Poczynając od Windows Vista sterowniki IDE/ATA oraz AHCI są wbudowane w system, więc możliwe jest przełączanie BIOS-u z trybu IDE/ATA na AHCI bez konieczności podejmowania dodatkowych działań w systemie[5].
Zobacz też
- EHCI
- OHCI
- UHCI
Przypisy
- ↑ Serial ATA Advanced Host Controller Interface (AHCI) homepage (ang.). Intel, Inc.. [dostęp 2009-06-03].
- ↑ Intel Matrix Storage Technology – Changing and/or choosing Serial ATA Modes (ang.). Intel, Inc.. [dostęp 2009-06-03].
- ↑ Serial ATA (SATA) Linux hardware/driver status report (ang.). Dunvegan Media.
- ↑ What's New in the Solaris 10 8/07 Release (ang.). Sun Microsystems. [dostęp 2009-06-03].
- ↑ Microsoft – Wsparcie techniczne