JS

Saturday, February 06, 2010

AHCI vs IDE



Recently, more and more user start to notice (note : not enthausiast) their main board or notebook has AHCI, instead of IDE (or legacy IDE). Most of us already aware what is IDE but what the heck is AHCI? What advantage could be gain from AHCI? Is AHCI is future thing of good old IDE interface. Will it slow down my system? Will it conflict my system?

What is AHCI ?

AHCI stand for Advance 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 (NCQ). The specification details a system memory structure for computer hardware vendors in order to transfer data between system memory and the device.

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.

AHCI is fully supported out of the box for Microsoft Windows Vista and the Linux operating system from kernel 2.6.19. NetBSD also supports drivers in AHCI mode out of the box in certain versions. Older operating systems require drivers written by the host bus adapter vendor in order to support AHCI.

Advantage of AHCI

  1. Hot-Plugging (will not cover here as it will not affect computer performance)
  2. Native Command Queuing (might improve computer/system/hard disk responsiveness, espcially in multi-tasking environment

Will it slow down my computer

Several websites claim, NCQ (one of AHCI component) will cause performance degradation in single threaded benchmark, but other author claim otherwise. Let put our think hat here.

Their claims might correct at certain extent, but it is hard to prove that those single threaded benchmark will reflect real world application. Nowadays, hard disk is the slowest component in any modern PC (except we are using SSD). Antivirus, firewall, anti-spyware, windows update, background defragmentation, indexing (search), user applications (firefox, word, media player) ; all contribute to super multi-tasking, which I believe NCQ (AHCI) will show it advantage. So, in order to have better understanding on how NCQ (AHCI) could improve system responsiveness, let see what is NCQ actually is.

So, what is NCQ?

In principle, Native Command Queuing is relatively simple. It allows the drive to execute write /read commands that are transmitted randomly in order to optimise the movement of the reading head.



Speed is increased but there is also an impact on power consumption and noise level which is reduced। Of course, applications don’t have to work simultaneously and don’t have to wait for the previous result to send the next command. This of course isn’t always possible. Another possibility in using NCQ is multitasking in the case where you run two very heavy applications simultaneously from the drive point of view.


---

1 comment: