IDE, SATA, AHCI, SSDs and TRIM: all you need to know
This article will attempt to explain IDE, SATA and AHCI, as well as clear up some misunderstandings and mistruths.
IDE - Integrated Drive Electronics
This refers to the fact that the device has its own controller on board, as opposed to being directly controlled by the CPU. This standard has existed since the early 80s and is still true in this modern era. All hard disks (HDD), solid-state disks (SSD) and optical CD/DVD drives are IDE devices.
PATA - Parallel ATA (Advanced Technology Attachment)
This is the older version of the interface for connecting storage devices. It used a 40pin, and later a 80pin, flat ribbon cable. Each channel allows two devices to be connected, one a 'master' and the other a 'slave' device.
SATA - Serial ATA
This is the newest version of the interface for connecting storage devices. It uses a flat 7 pin serial cable. Each channel is directly connected to a single device.
There have been several revisions of the SATA standard:
SATA revision 1 (SATA 1.5Gb/s) - previously known as SATA-1, SATA-I and SATA-150
SATA revision 2 (SATA 3Gb/s) - previously known as SATA-2 and SATA-II
SATA revision 3 (SATA 6Gb/s) - commonly misrefered to as SATA-3
AHCI - Advanced Host Controller Interface
This is a new standard defined by Intel for the operation of SATA host controllers. It is separate from the SATA standard, although it exposes SATA's advanced capabilities (such as hot swapping and native command queuing) such that host systems can utilize them.
In your BIOS, your SATA controller has selectable modes of operation. Typically these are:
IDE - In this context, it simply means to use 'legacy' ATA operation mode. It can also be referred to as 'IDE emulation', which itself is misleading, as explained earlier, all SATA drives are themselves IDE devices. For using multiple independent drives, this mode of operation can be selected. Note there is no performance 'loss' using this.
RAID - This sets the SATA controller to operate in RAID mode. This is where you would use multiple drives as one single storage 'array'.
AHCI (where supported) - This sets the SATA controller to operate in AHCI mode. It provides 'hot-swapping' facilities, as well as Native Command Queuing which can improve performance slightly for mechanical hard disks, but can slow down SSDs.
AHCI and SSDs
Typically, many hardware review sites, as well as SSD manufacturers are recommending that AHCI mode is used with SSD drives. However, we have run our own tests here in the forum, and we believe this is misleading, only where SSD drives are used independently (ie not in a RAID array).
AHCI mode as previously explained enables NCQ (native command queuing) which is really not required for SSDs as they do not need optimising in this way as there is no physical movement of heads or platters. In many cases, it can actually hinder SSD performance, and even reduce the lifetime of your SSD.
SSDs and the TRIM command
The TRIM command is dependent on the SSD itself, and the operating system supporting it. It is not dependent on the host controller, and AHCI is not a requirement. TRIM is natively supported in Windows 7, as well as Linux since kernel 2.6.33.