How about AHCI Mode?

Latest reply: Jan 15, 2020 12:43:20 245 2 4 0

Hell, everyone!

As we all know, hard disk controllers work in several different modes. The common working modes are AHCI, IDE, and RAID.

But what's the difference between them or how to select these working modes?

Today, I'd like to briefly describe the AHCI mode.

AHCI means Serial ATA Advanced Host Controller Interface

AHCI is an interface standard jointly developed by multiple companies (including Intel, AMD, Dell, Marvell, Maxtor, Microsoft, Red Hat, Seagate, and StorageGear) under the guidance of Intel.

AHCI describes a PCI-like device that acts primarily as an interface between the system memory and the serial ATA device and is common across different operating systems and hardware.

The AHCI implements the native SATA function by using the embedded PCI BAR.

The successful R&D of the AHCI unified interface greatly simplifies the development of products that support serial ATA. The OS and device manufacturers do not need to develop interfaces separately. Instead, they can directly perform operations on the unified interface to implement many functions, including NCQ.

According to Intel, AHCI improves the speed by 30% compared with the IDE mode. Therefore, if SATA hard disks are configured and the AHCI mode is available in the BIOS of the mainboard, you need to set the AHCI mode.

Based on the preceding information, we can extract the following points:

1. AHCI is a programming interface provided by Intel and is mainly used for SATA devices.

2. AHCI uses a PCI device as a bridge to transmit data between the memory and SATA devices.

3. The AHCI simplifies the programming of the SATA device, supports many features of the SATA device, and improves the speed.

4. The biggest difference between the AHCI and IDE is that the AHCI supports the NCQ feature of the SATA device and the speed is greatly improved.

For software:

1. The AHCI controller is a PCI device with the bus master capability.

2. Use Frame Information Structure (FIS) packets to transmit data between hosts and devices. (The biggest difference between SATA and PATA) (FIS can be regarded as a packed ATA command)


Programming Interface AHCI – ABAR

The PCI configuration space BAR[5] (header offset 0x24) of the AHCI controller points to the AHCI base memory (also called ABAR). The AHCI register points to the AHCI base memory register through the ABAR. (Other registers in the PCI configuration space of the AHCI controller are the same as those of the IDE controller.)

HBA memory

As said, we can summarize the following:


That's all for today. I hope it will be helpful to all of you! 

If you have any other comments or want to know more, please leave a message below to let me know.

  • x
  • convention:

Admin Created Jan 13, 2020 06:27:22 Helpful(0) Helpful(0)

AHCI Mode, thanks!
  • x
  • convention:

Created Jan 15, 2020 12:43:20 Helpful(0) Helpful(0)


  • x
  • convention:


You need to log in to reply to the post Login | Register

Notice Notice: To protect the legitimate rights and interests of you, the community, and third parties, do not release content that may bring legal risks to all parties, including but are not limited to the following:
  • Politically sensitive content
  • Content concerning pornography, gambling, and drug abuse
  • Content that may disclose or infringe upon others ' commercial secrets, intellectual properties, including trade marks, copyrights, and patents, and personal privacy
Do not share your account and password with others. All operations performed using your account will be regarded as your own actions and all consequences arising therefrom will be borne by you. For details, see " Privacy."
If the attachment button is not available, update the Adobe Flash Player to the latest version!

My Followers

Login and enjoy all the member benefits

Login and enjoy all the member benefits