Advanced Host Controller Interface

From Wikipedia, the free encyclopedia

Jump to: navigation, search

The Advanced Host Controller Interface (AHCI) is an Intel programming-specification which defines the operation of Serial ATA host-controllers (also known as host bus adapters) in a non implementation-specific manner. The specification describes a system memory structure for computer hardware vendors to exchange data between host system memory and attached storage-devices. As of June 2008, the current version of the specification is v. 1.3.[1] AHCI offers software developers and hardware designers a standard method for detecting, configuring, and programming SATA/AHCI adapters. AHCI is separate from the SATA 3Gb/s standard, although it exposes SATA's advanced capabilities (such as hot-plugging and native command queuing) such that host-systems can utilize them.

Many SATA controllers offer selectable modes of operation: legacy Parallel ATA emulation, standard AHCI-mode, or vendor-specific RAID. Intel recommends choosing RAID mode on their motherboards (which also enables AHCI) rather than the plain AHCI/SATA mode for maximum flexibility, due to the issues caused when the mode is switched once an operating system has already been installed.[2] Legacy-mode is a software backward-compatibility mechanism intended to allow the SATA-controller to run in legacy operating-systems which are not SATA-aware.

AHCI is fully supported out of the box for Microsoft, Windows 7 and Linux operating systems from kernel 2.6.19.[3] NetBSD also supports drivers in AHCI mode out of the box in certain versions. OpenBSD has had an AHCI driver since OpenBSD 4.1. FreeBSD supports AHCI as well. AHCI support for Solaris 10 has been introduced in the 8/07 release [4]. Older operating systems require hardware-specific drivers to support AHCI.

[edit] See also

[edit] References

[edit] External links