Advanced Host Controller Interface

Advanced Host Controller Interface

The Advanced Host Controller Interface (AHCI) is a hardware mechanism that allows software to communicate with Serial ATA (SATA) devices (such as host bus adapters) that are designed to offer features not offered by Parallel ATA (PATA) controllers, such as hot-plugging and native command queuing. The specification details a system memory structure for computer hardware vendors in order to transfer data between system memory and the device. As of June 2008, the current version of the specification is v1.3. [ [http://www.intel.com/technology/serialata/ahci.htm Serial ATA Advanced Host Controller Interface (AHCI) homepage] . Intel, Inc. Retrieved on 2008-08-20.]

Many SATA controllers can enable AHCI either separately or in conjunction with RAID support. 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. [ [http://www.intel.com/support/chipsets/imst/sb/cs-015988.htm Intel Matrix Storage Technology - Changing and/or choosing Serial ATA Modes] . Intel, Inc. Retrieved on 2007-09-30.]

AHCI is fully supported out of the box for Microsoft Windows Vista and the Linux operating system from kernel 2.6.19. [ [http://linux-ata.org/driver-status.html Serial ATA (SATA) Linux hardware/driver status report - Dunvegan Media] ] 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. Older operating systems require drivers written by the host bus adapter vendor in order to support AHCI.

Common problems switching to AHCI under Windows

* Enabling AHCI in a system's BIOS will cause a 0x7B Blue Screen of Death STOP error ("INACCESSIBLE_BOOT_DEVICE") on installations of Windows XP where AHCI/RAID drivers for that system's chipset are not installed - i.e. boot failure. Switching the chipset to AHCI mode involves changing the BIOS settings. Usually, manual installation of new drivers is required before enabling AHCI in BIOS. [ [http://www.wikihow.com/Install-Ahci-Support-for-Ati-Sb600-Sata-Controllers-on-Existing-Windows-Installations How to Install Ahci Support for Ati Sb600 Sata Controllers on Existing Windows Installations] ] Alternatively, a "Repair" installation with the appropriate driver loaded during the setup process usually corrects the problem.
* For Intel chipsets (for example, Intel ICH9) drivers are available from either an OEM motherboard or computer manufacturer. For the Intel versions, the driver must be loaded before loading the OS (by pressing F6 as setup starts, then using the floppy disk when prompted).The Intel drivers will work for both XP and Vista. Also, in the case of ICH9, [http://www.msfn.org/board/index.php?showtopic=109450 an unsupported method to enable AHCI on ICH9] is available.
* When attempting to install Windows XP or a previous version on an AHCI-enabled system, setup will fail with the error message "setup could not detect hard disk drive..." since no drivers will be found for accessing the SATA controller/s. This problem can be corrected by either using a floppy disk or by slipstreaming the appropriate drivers into the Windows XP installation CD, or by turning on IDE emulation in the BIOS settings if it's available (usually labelled COMPATIBILITY or ACPI).
* Enabling AHCI in a system with Windows Vista already installed will result in a BSoD if SATA was configured in IDE mode during Vista's installation. Before enabling AHCI in the BIOS, users must first follow the instructions found at [http://support.microsoft.com/kb/922976 Microsoft Knowledge Base article 922976] .
* Enabling AHCI in a system BIOS on installations of Windows XP or Windows Vista will cause SATA Optical drives to disappear. A Hotfix for Windows Vista is available under the title: "SATA optical drives are not available after you start a Windows Vista-based computer." [ [http://support.microsoft.com/kb/928253 SATA optical drives are not available after you start a Windows Vista-based computer] . Microsoft KB article 928253, revision 1.5. Retrieved on 2007-07-27.] This problem was fixed in Vista SP1.

Common problems switching to AHCI under Linux

* AHCI controller does not work on AMD/ATI RS400-200 and RS480 HBA when MSI is enabled due to a hardware error. In order for AHCI to work users must provide the "pci=nomsi" kernel boot parameter. With MSI disabled in this way, the PCIe bus can only act as a faster PCI bus with hotplug capabilities. This is also true of the Nvidia nForce 560 chipset.Fact|date=February 2008
* AHCI controller on AMD/ATI SB600 HBA can't do 64-bit DMA transfers. 64-bit addressing is optional in AHCI 1.1 and the chip claims it can do them, but in reality it can't, so it is disabled. After that it will be forced to do 32-bit DMA transfers. Thus DMA transfers will occur in the lower 4 GiB region of the memory, and bounce buffers must be used sometimes if there is more than 4 GiB of RAM. [ [http://www.mail-archive.com/linux-ide@vger.kernel.org/msg06694.html ahci: disable 64bit dma on sb600] ]
* The VIA VT8251 South bridge suffers the same fate but it can be circumvented with the "pci=nomsi" option to force detection of the chip. This has been tested to work on 2.6.26, 2.6.24 and 2.6.20 kernels.

References

External links

* [http://www.intel.com/technology/serialata/ahci.htm Official webpage]
* [http://download.intel.com/technology/serialata/pdf/rev1_3.pdf Version 1.3 specification]


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Look at other dictionaries:

  • Advanced Host Controller Interface — У этого термина существуют и другие значения, см. AHCI. Advanced Host Controller Interface (AHCI)  механизм, используемый для подключения накопителей информации по протоколу Serial ATA, позволяющий пользоваться расширенными функциями, такими …   Википедия

  • 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… …   Deutsch Wikipedia

  • Advanced Host Controller Interface — L Advanced Host Controller Interface (AHCI) est un mécanisme matériel permettant à la couche logicielle de communiquer avec des périphériques SATA tels que les adaptateurs de bus hôte, qui sont conçus pour offrir des vitesses de transfert… …   Wikipédia en Français

  • Host controller interface (USB, Firewire) — A host controller interface (HCI) is a register level interface that enables a host controller for USB or FireWire hardware to communicate with a host controller driver in software. The driver software is typically provided with an operating… …   Wikipedia

  • Advanced Technology Attachment Packet Interface — ATA/ATAPI Stiftleiste (am Host bzw. am Peripheriegerät) 80 und 40 adrige ATA/ATAPI Kabel, zum Verbinden von Host zu Gerät ATA (Advanced Technology Attachment with Packet …   Deutsch Wikipedia

  • Advanced Technology Attachment — ATA/ATAPI Stiftleiste (am Host bzw. am Peripheriegerät) 80 und 40 adrige ATA/ATAPI Kabel, zum Verbinden von Host zu Gerät ATA (Advanced Technology Attachment with Packet …   Deutsch Wikipedia

  • AHCI — Advanced Host Controller Interface L Advanced Host Controller Interface (AHCI) est un mécanisme matériel permettant à la couche logicielle de communiquer avec des périphériques SATA tels que les adaptateurs de bus hôte, qui sont conçus pour… …   Wikipédia en Français

  • Ahci — Advanced Host Controller Interface L Advanced Host Controller Interface (AHCI) est un mécanisme matériel permettant à la couche logicielle de communiquer avec des périphériques SATA tels que les adaptateurs de bus hôte, qui sont conçus pour… …   Wikipédia en Français

  • Abkürzungen/Computer — Dies ist eine Liste technischer Abkürzungen, die im IT Bereich verwendet werden. A [nach oben] AA Antialiasing AAA authentication, authorization and accounting, siehe Triple A System AAC Advanced Audio Coding AACS …   Deutsch Wikipedia

  • Liste der Abkürzungen (Computer) — Dies ist eine Liste technischer Abkürzungen, die im IT Bereich verwendet werden. A [nach oben] AA Antialiasing AAA authentication, authorization and accounting, siehe Triple A System AAC Advanced Audio Coding AACS …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”