*** Welcome to piglix ***

Advanced Host Controller Interface


The Advanced Host Controller Interface (AHCI) is a technical standard defined by Intel that specifies the operation of Serial ATA (SATA) 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. AHCI gives software developers and hardware designers a standard method for detecting, configuring, and programming SATA/AHCI adapters. AHCI is separate from the SATA 3 Gbit/s standard, although it exposes SATA's advanced capabilities (such as hot swapping and native command queuing) such that host systems can utilize them.

As of March 2014, the current version of the specification is 1.3.1.

Many SATA controllers offer selectable modes of operation: legacy Parallel ATA emulation, standard AHCI mode (also known as native mode), or vendor-specific RAID (which generally enables AHCI in order to take advantage of its capabilities). Intel recommends choosing RAID mode on their motherboards (which also enables AHCI) rather than AHCI/SATA mode for maximum flexibility. 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 or where a driver does not exist to make the operating system SATA-aware.

When a SATA controller is configured to operate in legacy mode, the number of storage devices per controller is usually limited to four (two IDE channels, primary and secondary, with up to two devices per channel), compared to the maximum of 32 devices/ports when configured in AHCI mode.

AHCI is supported out of the box on Windows Vista and later, Linux-based operating systems (since version 2.6.19 of the kernel), OpenBSD (since version 4.1), NetBSD (since version 4.0), FreeBSD (since version 8.0), OS X, eComStation (since version 2.1), and Solaris 10 (since version 8/07).DragonFlyBSD based its AHCI implementation on OpenBSD's and added extended features such as port multiplier support. Older versions of operating systems require hardware-specific drivers in order to support AHCI. Windows XP and older do not provide support out of the box.


...
Wikipedia

...