Google Search

Custom Search

Saturday, September 19, 2009

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.

To better explain this situation, imagine an elevator, in which two people enter simultaneously on the ground floor. The first pushes the 12th floor button and the second the 2nd floor. It would be counterproductive to go to the 12th floor and then to the 2nd floor. The principle of NCQ was already in the ATA norm since 1997 with TCQ (Tagged Command Queuing). This heavier protocol could sometimes lead to significant performance losses in the case of low loads (no or very little command reorganisation to do) and has been integrated in a limited number of controllers. Hitachi supports it on 7K250 drives, like Western and the Raptor WD740GD, while on the chipset side, we can count on NVIDIA but not Intel.

SATA 3.0 Gbits /s defines a new speed of data transmission for the Serial ATA interface. Initially, SATA reached up to 1.5 Gbits /s, which really corresponds to 150 mega-octets per second as 20% of information is dedicated to error correction. The transfer rate is now increased to 300 MB/s but we have to keep in mind that this is the interface speed. It has nothing to do with disc speed alone. At most, cache speed would be affected.

For NCQ to be enabled, it must be supported and turned on in the SATA host bus adapter and in the hard drive itself. The appropriate driver must be loaded into the operating system to enable NCQ on the host bus adapter. Many newer chipsets support the Advanced Host Controller Interface (AHCI), which should allow a generic driver supplied by the operating system to control them and enable NCQ. In fact, newer mainstream Linux kernels support AHCI natively. Unfortunately, Windows XP requires the installation of a vendor-specific driver even if AHCI is present on the host bus adapter. Windows Vista corrects this situation by including a generic AHCI driver.

Benchmark Time J

Note : Intel and nVidia Standard mean these hard disk were benchmark using Intel and nVidia chipset without AHCI technology. Intel AHCI and nVidia Driver mean these hard disk were benchmark with AHCI turned on.

We start with a performance index based on figures obtained with the « XP Startup », « Application Loading » and « General Usage » profiles of PC Mark 2005.



The first thing to notice is that all drives benefit from the change to AHCI or the installation of NVIDIA’s driver. These two parameters allow the activation of NCQ…even for Western drives that do not support this functionality! With Intel’s platform, the most important gains due to AHCI are noted with the Samsung, Maxtor and Seagate drives. With NVIDIA it’s mainly the Raptor 150 GB and Samsung. For Maxtor and Hitachi, however, they are just noticeable.

If you focus just on drive performances, the Western SE16 dominates followed by Hitachi. Seagate ends up last behind Samsung.

Perfs – file copy

Performances – file copying

The next test is file copying. We measured reading, writing, and also the copy of the following files on hard drives: 2 big files for a total of 4.4 GB, plus 2620 files which total 2 GB, and finally 16046 files which weighs 733 MB. The source or target for reading or writing on the disc are two Raptor 74 GB in RAID which are capable of ensuring a transfer rate of 110 MB/s without restrictions.

This type of information is uninteresting of course because if the sequential transfer rate gives an idea of performances during the copy of big files, things will be different with small files. We copied the files in two different ways: whiting the same partition in the beginning of the disc and from this partition to a second one that begins at the middle of the disc.



First surprise, for unknown reasons the activation of AHCI on the installation of NVIDIA drivers notably reduces some of the reading performances: it is the case of the Raptor 150 GB in AHCI and the Seagate and Maxtor drives with NVIDIA’s drivers. These two use Agere controllers. Only the Western SE/SE16 really benefit from the modification which is in fact the installation of NVIDIA’s drivers. Except for these cases we noted that the Maxtor and Samsung provide the best transfer rates here whereas Western and Seagate are the slowest.



For writing however, AHCI/Driver NVIDIA gains are significant except for Seagate and Hitachi’s drive with NVIDIA’s platform. We noted the excellent performances of Samsung’s drive and the opposite for the Maxtor, which was really good for reading. Fortunately, gains obtained by the AHCI and NVIDIA’s drivers for this disc compensate for this.




Whether it’s for close or far copy, one drive is here very surprising when used with an AHCI controller. The Samsung drive is much faster than a Raptor and 30% ahead of the closest 7200 Rpm competitor. We made several tests to confirm these results and we always obtained the same figures. The other surprise was the performance drop recorded on the Maxtor with NVIDIA’s drivers.
We also noted that a better access time doesn’t guaranty better performances for extended copies, because Hitachi’s performance reduction is more significant with a close copy than other discs. Except for Samsung and the Raptor, it’s the Western SE16 which is the fastest here.

Perfs – IOmeter per platform

Performances – IOmeter per platform

IOMeter is used to simulate a load in a multi-user environment. It’s a load type file server comprised of 80% reading and 20% writing, which is 100% randomly accessed on the disc. In this case, the NCQ can be particularly useful. We tested the IOMeter with a number of concurrent commands from 1 to 128 and of course for a single command, the NCQ doesn’t bring any improvements. The performance gap with the Raptor is much more significant, because this drive is particularly well suited to this type of use.

As the volume of data is rather significant we decided to represent it first per platform then below per drive with and without activation of the AAM on Intel’s platform.



For Intel and without AHCI, Western drives are ahead whatever the number of simultaneous accesses. Seagate is very close but loses ground beyond 16 accesses, even though the Hitachi and Samsung are relatively close. The Maxtor’s performances are clearly lower, however, despite a gap that tends to diminish as the load increases.



The activation of AHCI changes things. The Maxtor drive sees its performances increasing from 2 concurrent accesses to come in first (except of course for the Raptor). Maxtor can say thank you to NCQ. If Seagate also benefits from the NCQ, it isn’t really the case for Hitachi. Of course, it doesn’t change the Western SE/S16’s performances, because it simply doesn’t support this function. However, this doesn’t prevent them from reaching very high performances.



Without NVIDIA’s drivers, performances with NVIDIA’s platform are relatively similar to those obtained with Intel.



With NVIDIA’s drivers, the situation is different, because the NCQ really seems to work with 8 concurrent accesses and above. This is quite a lot and it doesn’t often happen in the case of a single user. Maxtor’s drive is strongly impacted even if it doesn’t stop it from being in the lead with 128 accesses (5% faster than with Intel’s platform).

Perfs – IOmeter per disc & AAM

Performances – IOMeter per drive & AAM

Here are now performances obtained per disc. In addition we added results obtained with AAM (Automatic Acoustic Management) activated on Intel’s platform.



For Hitachi, the NCQ doesn’t bring much whether it’s on an NVIDIA or Intel platform. We noted that with this type of access the AAM strongly reduces performances. The gap tends to reduce with the increase in number of simultaneous accesses.



We noticed with Maxtor’s drive that if NCQ based performance gains are visible from the start on the Intel platform, they only appear beyond 8 concurrent accesses on the nForce. It then immediately catches up and even results are even better. It’s rather unfortunate however, because in practice this type of drive will be of use for personal computers or with a limited amount of concurrent accesses. Here we can easily see the benefit of the NCQ to counter the negative effect of the AAM as from 4 simultaneous accesses the NCQ compensates completely.



Like with Samsung’s drive it is only from 16 concurrent accesses that the interest of NCQ is noticeable. Performances from this figure are much higher however than the one obtained with Intel’s platform. We noted that the activation of AAM leads to less significant performance reductions than with the Hitachi or Maxtor in this area.



With Seagate’s drive it isn’t possible to activate the AAM, which isn’t too critical. Once again, we have to wait until more than 8 accesses for the nForce NCQ to bring performance gains.




NCQ isn’t on the two Western drives and this is the reason why performances are similar between NVIDIA and Intel with or without AHCI / Driver. Once more we noted that even without NCQ, the gap due to the AAM tends to diminish with the increase of the number of concurrent accesses.



Here now is the Raptor 150 GB, which is in a totally different league except for NVIDIA’s NCQ performances.

Perfs – Perfs index & files with AAM

Performances – Applicative index & file copy with AAM

If performances with the IOMeter are strongly affected by AAM activation (because of the 100% random nature of disc accesses) we should take a look at the level of performances in less extreme situations.



As you can see, the performance drop is almost invisible on the Hitachi and isn’t huge on the Maxtor and Samsung. It’s greater for Western Digital. The Seagate 7200.10 doesn’t allow the user to modify the noise level whereas its adjustment with the Raptor doesn’t change anything.




We could have expected such a result. Whether it’s with reading or writing, performances don’t change much with or without noise management as heads don’t have to move a lot.




For copying the performance loss is notable for some of the discs such as the Western and slightly so with the Samsung. Hitachi and Maxtor’s performances remain almost unchanged. At times we even recorded a slight performance increase but this is most likely a testing error.

Warning (Potential Problem with AHCI)

Common problems switching to AHCI under Windows :

  • Enabling AHCI in a system BIOS will cause a 0×7B 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. Switching to AHCI mode requires installing new drivers before changing the BIOS settings.
  • For Intel chipsets (for example, Intel ICH9) drivers are available from either an OEM board or computer manufacturer. For the Intel versions, the driver must be loaded before loading the OS (by pressing F6 as setup starts).The Intel drivers will work for both XP and Vista. Also, in the case of ICH9, an unsupported method to enable AHCI on ICH9 is available.
  • When attempting to install Microsoft Windows XP or a previous version on an AHCI-enabled system will cause the setup to fail with the error message “set up could not detect hard disk drive…”. This problem can only be corrected by either using a floppy disk with the appropriate drivers, by slipstreaming the appropriate drivers into the Windows XP installation CD or by turning on IDE emulation in the BIOS settings if available (usually called as COMPATABILITY or ACPI).
  • Enabling AHCI in a system BIOS with Windows Vista already installed will result in a BSoD if SATA has been running in IDE mode during Vista’s installation. Before enabling AHCI in the BIOS, users must first follow the instructions found at 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.” This problem is also 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.
  • 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.

Verdict :

These extensive benchmarks clearly show to us, AHCI (NCQ) definitely could improve computer system responsiveness, transfer rate, number of IO per second and the list goes on. Enough to say, it will make your hard disk more efficient (and indirectly reduce it wear and tear). Notice that, not every hard disk with NCQ turn on could provide positive performance gain at every single benchmark. I believe this phenomenon explain why certain author claim NCQ improve their benchmark score while others don’t.

As for DELL VOSTRO 1310, I realize, AHCI or NCQ improve my system (Vista) responsiveness espcially when I am using several programmes. Background activity such as anti-virus, spyware, defrag or event torrenting seem lighter than before (IDE). For the record, my DELL VOSTRO 1310 use WesternDigital SATA 300 with NCQ mobile hard disk.

My personal recommendation, turn on AHCI if your system permit you to do so. For Vista user, you can turn AHCI support without reformat your system. What you need to do is, enable Vista standard AHCI driver (provided you install Vista in IDE mode, so AHCI driver is not activated) using regedit.

1 comment:

  1. Thank you very much for this comprehensive article. It was very useful.

    ReplyDelete