Zaawansowany interfejs kontrolera hosta
Zaawansowany interfejs kontrolera hosta | |
Ostatnia wersja |
1.3.1 11 listopada 2011 |
---|---|
Organizacja | Intel |
Strona internetowa |
Zaawansowany interfejs kontrolera hosta ( AHCI ) to standard techniczny zdefiniowany przez firmę Intel , który określa interfejs na poziomie rejestru kontrolerów hosta Serial ATA (SATA) w sposób niezwiązany z implementacją w chipsetach płyt głównych .
Specyfikacja opisuje strukturę pamięci systemowej dla dostawców sprzętu komputerowego w celu wymiany danych między pamięcią systemu hosta a podłączonymi urządzeniami pamięci masowej . AHCI zapewnia twórcom oprogramowania i projektantom sprzętu standardową metodę wykrywania, konfigurowania i programowania adapterów SATA/AHCI. AHCI jest niezależny od standardu SATA 3 Gbit/s, chociaż udostępnia zaawansowane możliwości SATA (takie jak wymiana podczas pracy i natywne kolejkowanie poleceń ), dzięki czemu systemy hosta mogą z nich korzystać. W przypadku nowoczesnych dysków półprzewodnikowych interfejs został zastąpiony przez interfejs NVMe .
Aktualna wersja specyfikacji to 1.3.1.
Tryby pracy
Wiele kontrolerów SATA oferuje wybieralne tryby działania: starsza emulacja Parallel ATA (częściej nazywana trybem IDE), standardowy tryb AHCI (znany również jako tryb natywny) lub specyficzny dla dostawcy RAID (który generalnie włącza AHCI w celu wykorzystania jego możliwości ). Firma Intel zaleca wybranie trybu RAID na swoich płytach głównych (który umożliwia również AHCI) zamiast trybu AHCI/SATA w celu uzyskania maksymalnej elastyczności. Tryb Legacy to wstecznej kompatybilności oprogramowania, który ma na celu umożliwienie kontrolerowi SATA działania w starszych systemach operacyjnych, które nie obsługują SATA lub w których nie istnieje sterownik umożliwiający systemowi operacyjnemu obsługę SATA.
Gdy kontroler SATA jest skonfigurowany do pracy w trybie IDE, liczba urządzeń pamięci masowej na kontroler jest zwykle ograniczona do czterech (dwa kanały IDE, urządzenie główne i urządzenie podrzędne z maksymalnie dwoma urządzeniami na kanał), w porównaniu z maksymalnie 32 urządzeniami /ports po skonfigurowaniu w trybie AHCI. Jednak chipsetu mogą emulować więcej niż jeden „kontroler IDE”, gdy są skonfigurowane w trybie IDE.
Obsługa systemu operacyjnego
AHCI jest obsługiwane fabrycznie w systemach Windows Vista i nowszych, systemach operacyjnych opartych na Linuksie (od wersji jądra 2.6.19 ), OpenBSD (od wersji 4.1), NetBSD (od wersji 4.0), FreeBSD (od wersji 8.0), macOS , GNU Mach , ArcaOS , eComStation (od wersji 2.1) i Solaris 10 (od wersji 8/07). DragonFlyBSD oparł swoją implementację AHCI na OpenBSD i dodał rozszerzone funkcje, takie jak obsługa mnożnika portów. Starsze wersje systemów operacyjnych wymagają sterowników specyficznych dla sprzętu w celu obsługi AHCI. Systemy Windows XP i starsze nie zapewniają standardowej obsługi AHCI.
Problemy z uruchamianiem dysku systemowego
Niektóre systemy operacyjne, w szczególności Windows Vista , Windows 7 , Windows 8 , Windows 8.1 i Windows 10 , nie konfigurują się do ładowania sterownika AHCI podczas rozruchu, jeśli kontroler SATA nie był w trybie AHCI w czasie instalacji systemu operacyjnego. Chociaż jest to stan łatwy do naprawienia, pozostaje to ciągłym problemem ze standardem AHCI.
Najbardziej rozpowszechnionym objawem systemu operacyjnego (lub systemów) zainstalowanych w trybie IDE (w niektórych implementacjach oprogramowania układowego BIOS, zwanych inaczej „połączonym trybem IDE”), jest to, że dysk systemowy zwykle nie uruchamia się, a jeśli kontroler SATA (w systemie BIOS) został przypadkowo przełączony w tryb AHCI po instalacji systemu operacyjnego. W systemie Microsoft Windows objawem jest pętla rozruchowa, która zaczyna się od błędu niebieskiego ekranu, jeśli nie zostanie naprawiona.
Technicznie rzecz biorąc, jest to błąd implementacji AHCI, którego można uniknąć, ale nie został on jeszcze naprawiony. Jako rozwiązanie tymczasowe firma Intel zaleca zmianę kontrolera dysku na AHCI lub RAID przed zainstalowaniem systemu operacyjnego. (Może być również konieczne załadowanie sterowników AHCI lub RAID dla konkretnego chipsetu podczas instalacji, na przykład z dysku flash USB).
W systemach Windows Vista i Windows 7 można to naprawić, konfigurując sterownik urządzenia msahci
tak, aby uruchamiał się w czasie rozruchu (a nie na żądanie). Ustawienie trybu innego niż AHCI (tj. trybu IDE lub trybu łączonego) w systemie BIOS umożliwi użytkownikowi uruchomienie systemu Windows, a tym samym dokonanie wymaganej zmiany rejestru . W związku z tym użytkownik ma wtedy możliwość dalszego korzystania z systemu w trybie łączony lub przejścia do trybu AHCI. Między innymi w systemach Windows 10 i 8 można to naprawić, wymuszając ponowne załadowanie odpowiednich sterowników w trybie awaryjnym .
W systemach Windows 8, Windows 8.1 i Windows Server 2012 sterownik kontrolera zmienił się z msahci
na storahci
, a procedury uaktualniania do kontrolera AHCI są podobne do tych w systemie Windows 7. W systemach Windows 8, 8.1 i Windows Server 2012 zmiana z Zmiana trybu IDE na tryb AHCI bez uprzedniej aktualizacji rejestru spowoduje, że dysk rozruchowy będzie niedostępny (tj. spowoduje powtarzającą się pętlę rozruchową, która zaczyna się od błędu niebieskiego ekranu).
W systemie Windows 10, po przełączeniu kontrolera w tryb AHCI, jeśli system operacyjny może uruchomić się ponownie kilka razy po rozpoczęciu pętli rozruchowej, która zaczyna się od BSOD INACCESSIBLE_BOOT_DEVICE, system Windows wyświetla opcje odzyskiwania. Jeśli spośród opcji zaawansowanych wybrana jest opcja Naprawa podczas uruchamiania, system Windows próbuje naprawić problem, a komputer zaczyna działać normalnie.
Podobny problem może wystąpić w systemach Linux, jeśli sterownik AHCI jest kompilowany jako moduł jądra , a nie wbudowany w obraz jądra , ponieważ może nie być uwzględniony w initrd (początkowy dysk RAM) tworzonym, gdy kontroler jest skonfigurowany do pracy w Legacy Tryb. Rozwiązaniem jest albo zbudowanie nowego initrd zawierającego moduł AHCI, albo wbudowanie sterownika AHCI w obraz jądra.
Zarządzanie energią
Zarządzanie energią jest obsługiwane przez protokół Aggressive Link Power Management (ALPM).
Zobacz też
Linki zewnętrzne
- „Specyfikacja AHCI” . Intel.
- "AHCI" . OSDev Wiki