Even in this age of SSDs, we're still working with technologies that were developed in the last century. These...
include Advanced Host Controller Interface and redundant arrays of independent disks.
AHCI and RAID are often viewed in the same context, but they serve different purposes. Whether you're operating a single PC or a full storage environment, understanding the AHCI vs. RAID question is important. Each includes a different set of capabilities that can help ensure smooth operation of your storage environment. This article lays out the basics to help you make the right decisions when it comes to AHCI vs. RAID.
AHCI vs. RAID fundamentals
AHCI is the standard for the storage interface that lets software -- typically an OS -- communicate with SATA devices. Intel introduced AHCI in 2004 as a replacement for the aging Parallel ATA/Integrated Drive Electronics interface.
AHCI has enabled some of the capabilities inherent in SATA devices to actually be used on the OS side. For instance, SATA enabled support for hot swapping devices -- the ability to plug a new device in to a computer without having to reboot the computer. AHCI enables Windows, Unix and Linux OSes to use hot swapping.
Native Command Queuing (NCQ) on hard drives is a prominent feature introduced in SATA on the hardware side and AHCI on the OS side. Rather than operating on a traditional serial command queuing, first-in, first-out command execution process, NCQ lets disks -- including SSDs -- optimize how they handle simultaneous storage operations. The benefits are different depending on the type of storage in use. For hard drives, NCQ means that the read and write heads have to move less often. Read and write head movement is one of the biggest contributors to latency in HDDs, and optimizing their movement yields performance gains.
AHCI also provides benefits for SSDs, such as improved support for large file transfers, but its shallow queue depth limits the number of I/O requests that can be serviced. Workarounds are needed to enable SSDs to avoid command queuing, which can slow things down. Even with NCQ, the need to queue commands at all implies that there's a holdup somewhere that requires a queue to be formed.
To address the queuing issue permanently, the nonvolatile memory express (NVMe) standard has been developed to replace older interfaces, such as SATA, and introduce new command management capabilities. NVMe is designed for flash, eliminating the downsides that come from supporting modern storage media with old protocols.
Where RAID fits in
RAID was first used in 1987. Today, RAID is far more capable than early versions and is beginning to be supplanted by newer technologies, such as erasure coding.
Scott Sinclair, senior analyst at Enterprise Strategy Group, discusses RAID and erasure coding.
RAID is a data protection and availability mechanism that lets a system continue to operate after the loss of one or more HDDs or SSDs. It typically includes the ability to rebuild the contents of a failed disk once it has been replaced.
RAID storage volumes can be created on any computer with multiple storage devices as long as the computer or storage array supports RAID. Some PCs may not support a RAID option, and some storage arrays, known as JBODs (just a bunch of disks), don't support RAID.
On modern PCs, enabling RAID on SATA ports on the motherboard usually also enables AHCI support. Having RAID enabled lets you do the following:
- install multiple storage devices -- hard drives and SSDs -- and use them as a single volume;
- enable redundancy by supporting the loss of a device; and
- improve performance by spreading storage operations across multiple devices rather than a single disk.
You need at least two disks as a part of a RAID group. Two disks enable mirroring, or RAID 1, which means that, anytime data is written to one disk, the controller copies that write to the second disk. Alternatively, you can use striping, or RAID 0, to instruct the computer to write data to both disks simultaneously. Mirroring writes can cause performance degradation, although your storage will remain available if one of the disks fails. Striping can improve both read and write performance because there is twice the performance capacity to be had.
There are other RAID levels, with the most common being RAID 5 and RAID 6. Both use parity to help protect data from device failure. With RAID 5, a system can withstand the loss of a single disk, and with RAID 6, two disks can bite the dust and still be operational.
Bottom line on AHCI vs. RAID
In discussing AHCI vs. RAID, it's important to know where these two concepts fit into the overall storage environment. AHCI ensures full functionality in SATA devices. RAID provides mirroring and striping capabilities that are key to data protection.
Getting these fundamentals right is critical to maintaining a fully functional storage environment.