Definition

AHCI (Advaned Host-Controller-Interface)

Im Jahr 2004 veröffentlichte Intel die AHCI-Spezifikation, um das funktionale Verhalten und die Software-Schnittstelle von AHCI zu definieren. Die Spezifikation bietet auch eine Standardmethode für die Programmierung von SATA-AHCI-Adaptern.

Die Spezifikation wurde von der AHCI Contributor Group entwickelt, die sich aus Hardware-, Software- und OEM-Herstellern zusammensetzte und von Intel geleitet wurde. Zu den Unternehmen der Gruppe gehörten AMD, Dell, Marvell, Maxtor, Microsoft, Red Hat, Seagate und StorageGear.

AHCI war ein wichtiger Teil des Aufbaus der SATA-II-Technologie und bietet eine Standard-Controller-Schnittstelle, die erweiterte SATA-Funktionen optimiert, die mit der älteren Integrated Drive Electronics (IDE)-Standardschnittstelle nicht verfügbar waren. Version 1.3.1 ist die neueste Version der AHCI-Spezifikation.

Wie funktioniert AHCI?

Bei den meisten Motherboards ist AHCI standardmäßig im UEFI (Unified Extensible Firmware Interface) oder im BIOS aktiviert. Bei älteren Motherboards ist der IDE-Modus standardmäßig aktiviert und muss vor der Installation des Betriebssystemsauf AHCI umgestellt werden.

AHCI wird von Windows Vista und höheren Versionen von Windows unterstützt. Linux seit Version 2.6.19; OS X; und verschiedene Open-Source-Betriebssysteme wie OpenBSD, NetBSD und FreeBSD. Während Windows Vista und Windows 7 bereits den AHCI-Treiber enthalten, werden diese Betriebssysteme jedoch AHCI nicht installieren, wenn es nicht auf dem Controller des Startlaufwerks aktiviert ist.

SATA-Festplatten und Solid-State-Laufwerke (SSDs) bieten verschiedene Betriebsmodi: IDE, AHCI oder RAID, für die normalerweise AHCI aktiviert ist. Es ist jedoch nicht einfach, die BIOS-Einstellung nach der Installation des Betriebssystems vom IDE-Modus auf AHCI umzustellen. Windows verfügt über eine Umgehungsmöglichkeit für die Registrierung, mit der AHCI nach der Installation des Betriebssystems aktiviert werden kann. Ältere Betriebssystemversionen benötigen hardwarespezifische Treiber zur Unterstützung von AHCI.

Als traditionelles Speicherprotokoll für Festplatten und Bänder wurde AHCI entwickelt, um eine einzige Warteschlange für Speicheranforderungen zu verwalten. Für AHCI hat diese Warteschlange eine Tiefe (Queue Depth) von 32 Befehlen - die Anzahl der I/O-Anforderungen, die auf Wartemodus gesetzt werden können, um in einer Port-Warteschlange bedient zu werden.

Vorteile und Nachteile von AHCI

AHCI ermöglicht erweiterte SATA-Funktionen wie Hot Swapping und Native Command Queuing (NCQ). Hot Swapping erlaubt das Ausschalten von SATA-Laufwerken, ohne den Computer herunterfahren zu müssen.

NCQ optimiert die Art und Weise, wie SSDs und Festplatten gleichzeitige Datenanforderungen verarbeiten. Es minimiert die Bewegung der Schreib-Lese-Köpfe und beschleunigt die Zugriffszeit auf Festplatten mit AHCI. Auf SSDs verbessert NCQ die Leistung großer Dateiübertragungen.

Ein Nachteil von AHCI liegt in der hohen Latenz bei der Verwendung mit SSDs. Denn die Spezifikation wurde für rotierende Speichermedien und nicht für Flash entwickelt. Aufgrund der begrenzten Warteschlangentiefe von AHCI kann die Anzahl der I/O-Anforderungen leicht zu einem Engpass führen. Eine zusätzliche Verwaltung ist erforderlich, um zu verhindern, dass I/O-Anforderungen fehlschlagen, weil sie die Warteschlangentiefe überschreiten.

AHCI versus NVMe

Nonvolatile Memory Express (NVMe) ist eine Kommunikationsschnittstelle, die für NAND-Flash- und Hochleistungs-SSDs mit PCI Express (PCIe)-Kartensteckplatztechnologie entwickelt wurde.

Da NVMe speziell für SSDs entwickelt wurde, ist sie viel schneller als AHCI und reduziert die Latenz und bietet bessere IOPS. Insbesondere erhöht NVMe signifikant die Anzahl der I/O-Warteschlangen, die mit Warteschlangentiefen von bis zu 65.000 Befehlen möglich sind.

Diese Definition wurde zuletzt im März 2019 aktualisiert

Erfahren Sie mehr über Netzwerksicherheit

ComputerWeekly.de
Close