Jump to content
Corsair Community

AHCI for SSD


theking

Recommended Posts

I'm a little bit lost why AHCI should be required for SSDs. Trim works on IDE as well and as there is no need for NQP for an SSD AHCI would just mean a nuisance as certain OS would not understand it.

 

Is there a technical reason for AHCI?

Link to comment
Share on other sites

Jump to: navigation, search

 

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 3Gb/s standard, although it exposes SATA's advanced capabilities (such as hot swapping and native command queuing) such that host systems can utilize them.

 

i like hot swap personally, i have bunches of hdds i use as removable media for backups.

Link to comment
Share on other sites

Using a SSD with a PC's SATA controller operating in AHCI mode is not required by a SSD, but is recommended in order for the SSD to provide it's optimal performance. SSDs operate in IDE mode all the time, on laptops that don't allow AHCI mode, for example.

 

The paragraph that Synthohol posted describes the intent of AHCI, to create a common, standard interface between SATA storage devices (HDDs, SSDs) and a PCs I/O controller (SATA chipset), and the PCs memory.

 

We tend to think of Hot Plugging and NCQ as features of AHCI, when they actually are part of the SATA standard, and are defined in the SATA set of commands. The AHCI standard allows those SATA features to function on any storage device and I/O interface that conforms to it. It's complicated but without it I/O devices and PCs would have many more problems than they do today.

 

What's the difference between IDE and AHCI? Let me put it this way, have you ever seen or used an IDE cable or PATA HDD? The wide, flat, grey ribbon cables with two or more connectors and 40 pins? That is actually called PATA these days. SATA was defined to be backwards compatible with PATA, which it is. You can choose that for your SATA mode, it's IDE. IDE = PATA. So while the SATA chipset in modern boards is running much faster than they did in the IDE/PATA days, the I/O commands and capabilities are the same.

 

When you wrote "NQP", I assume you meant NCQ (Native Command Queuing)?

 

NCQ capability is an improved method of processing I/O requests between a permanent storage device, and the rest of a computer. While NCQ does not serve the same purpose in SSDs that is does in HDDs, removing NCQ capability from a SSDs operation is simply slowing it down, and is a step backwards in I/O technology.

 

NCQ does more on a HDD than simply creating a more efficient ordering of I/O operations. Multiple I/O requests are sent to the HDD without waiting for the completion of any single I/O request. The HDD may then perform multiple I/O operations, without waiting for the CPU or other device to send another I/O request only when the last request sent is completed. There is much less waiting by all devices involved in I/O operations when NCQ is functioning.

 

SSDs don't need the optimal ordering of I/O operations that HDDs benefit from, but sending multiple I/O requests to a SSD increases their speed substantially. SSDs can perform concurrent I/O operations, or parts of I/O operations concurrently. Multiple reads or writes at the same time, but not without NCQ.

 

That is one of the few examples in computers where it's not the device itself that is the limitation, but the way that data (for I/O requests) is sent to the device. We can actually control that by using (or not) an AHCI SATA driver.

 

While a SSDs latency is much less than a HDD, why go back to single I/O operations when it is unnecessary? Permanent storage (disk) I/O is still the slowest operation in a computer, and anything that speeds it up is an improvement. Testing clearly shows that NCQ allows a SSD to perform much faster than without it.

 

It can be argued that SSDs are so fast simply in IDE mode, that PC users with low I/O demand usage (ie, the queue length of outstanding I/O requests would usually be less than two or three) will see no benefit from AHCI/NCQ. In some cases that is no doubt true.

 

AHCI (NCQ, etc) is free, most PC's I/O components and OS's support it, it works great, is almost 10 years old, and I have yet to hear what the disadvantages of using it are, if they exist. Feel free to use IDE mode if none of the features in AHCI are useful to you.

Link to comment
Share on other sites

I agree completely with parsec, IDE is really for PATA and AHCI is for SATA in the books.

Note that when you set a SATA controller to "IDE" it is really running IDE emulation.

There's virtually no advantage to doing that unless it's for compatibility problems.

 

However, I always got really confused when I see half-A SATA controllers that do not support AHCI and run only on IDE emulation.

 

Either way, I have always used AHCI with SATA devices and from what I've seen NCQ actually does improve performance on SSD, despite it was designed for HDD.

 

Additional note: you can do firmware updates in IDE emulation, but it is not recommended. I have done it before.

Link to comment
Share on other sites

Synbios, good point about IDE emulation, known as legacy mode (or compatibility mode?) in the BIOS of some boards. While IDE mode might scare some people, it does provide over 150MB/s speeds thanks to the Ultra DMA 7 mode. Fortunately, we don't need to set anything regarding DMA modes, but you can see what level a drive supports by checking that data with certain programs.

 

The SATA mode in Windows would not be such a big deal if MS could figure out how to load or use the correct drivers without depending upon a registry entry, literally one number, that if incorrect will cause the PC to BSOD on the next boot.

 

I've never heard of anyone complaining that their old HDD does not work if the PC is using an AHCI driver, which seems to be backwards compatible, so why not just use it by default? That would leave us with SATA modes of say, Standard (AHCI) and RAID.

 

We should realize that we are still in a transition phase with PC permanent storage devices, which is being pushed forward quickly now by SSDs. I have a feeling it's not over yet, with new SATA standards being used, and PCI-E based storage devices, and advances in NAND chips and SSD controllers. It's not going to be boring... or cheap... :confused:

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...