# Advanced Host Controller Interface

Das Advanced Host Controller Interface (AHCI) ist ein offener Schnittstellen-Standard für Serial-ATA-Controller. Er ermöglicht es, mit diesen Controllern per Software zu kommunizieren.
Mithilfe der frei verfügbaren Spezifikation soll die Entwicklung von Treibern für Serial-ATA-Geräte vereinheitlicht und somit stark vereinfacht werden. So muss für Mainboards, deren Controller AHCI unterstützt, kein spezieller Serial-ATA-Treiber mehr entwickelt werden. Stattdessen wird für eine vollständige Unterstützung von Geräten wie z. B. Festplatten lediglich ein zur Verfügung stehender, einheitlicher AHCI-Treiber benötigt.
Die AHCI-Spezifikation wurde von einer Arbeitsgruppe unter der Führung von Intel entwickelt und im Jahr 2004 veröffentlicht.

## Anwendung

Ist die BIOS-Einstellung SATA Configuration bei Mainboards auf AHCI eingestellt, werden die angeschlossenen Festplatten mit Unterstützung von Native Command Queuing (NCQ) angesprochen. In Folge werden anstehende Befehle umsortiert, um sie in der optimalen Reihenfolge auszuführen. Meistens erhöht sich dadurch der Durchsatz der Festplatte um einige Prozent bei mehreren parallel arbeitenden Programmen mit vielen verstreuten Zugriffen.
AHCI sieht die Möglichkeit vor, im laufenden Betrieb Festplatten an- und abzumelden und zu wechseln (sog. Hot Plug) (was zuvor im BIOS erlaubt werden muss).

## Betriebssysteme und Kompatibilität

Viele Unix-basierte Betriebssysteme wie Linux erlauben die Änderung der Einstellung im BIOS auch nach der Installation.
Bei Microsoft Windows Vista, Windows 7 sowie Windows 8, Windows 8.1 und aktuell Windows 10 muss, falls das System im IDE-Modus installiert wurde, dazu erst ein Schlüssel in der Windows Registry geändert werden, da sonst ein Blue Screen auftritt. Es gibt jedoch auch die Möglichkeit, Windows nach der Umstellung von ATA auf AHCI im abgesicherten Modus zu starten. Dabei wird die Änderung erkannt und im System korrigiert. Anschließend lässt sich Windows normal im neuen Modus starten. Windows XP unterstützt AHCI nicht nativ, jedoch kann es bereits bei der Installation (mit F6 und dem Treiber auf einem Datenträger) aktiviert werden. Wurde Windows XP im IDE-Modus installiert, kann der Treiber etwas kompliziert auch im Nachhinein installiert werden. Bei Windows 2000 kann ein AHCI-Treiber ebenfalls über die oben genannte F6-Methode installiert und verwendet werden.
Weiterhin gibt es bei Windows 2000 und auch XP die Möglichkeit, den AHCI-Treiber mittels einer Slipstreaming genannten Technik (Hilfsprogramme dazu nLite oder Isobuster) in das Installationsmedium einzubinden. Damit lädt Windows den richtigen Treiber gleich mit dem Setup zu Beginn der Installation. Diese Methode eignet sich insbesondere für Systeme ohne eingebautes Diskettenlaufwerk, denn Windows 2000 und XP suchen bei der F6-Methode die Treiberdateien nur unter dem Laufwerksbuchstaben A, der dem 3,5"-Diskettenlaufwerk entspricht; bei Installations-CDs mit XP-SP3 kann der Treiber auch von einem USB-Diskettenlaufwerk geladen werden.
Auch für eComStation (die Weiterentwicklung von IBMs OS/2) existiert ein AHCI-Treiber.

## Verwandte Interfaces

* NVMe (NVM Express, Non-Volatile Memory Host Controller Interface)