The evolution of storage technologies has been rapid and quite innovative over the past decade. The venerable spinning hard drive is being slowly but surely replaced by the much faster and more efficient solid-state drive. SSDs have taken the PC hardware industry almost by storm over the past few years due to their excellent performance and lower entry cost. The price of components such as NAND flash has been decreasing steadily and has now reached an all-time low, and many SSD manufacturers are already releasing much more affordable solid-state drives at competitive prices. This has led to a massive increase in the sales of solid-state drives as compared to traditional hard drives.
With the rise of solid-state drives, hard drives are being slowly phased out of the market due to their slower speed and reliability issues. However, there are still some areas where hard drives are practically irreplaceable. If you want lots of storage for your computer and do not want to pay exorbitant prices for a high-capacity SSD, then a hard drive is definitely going to be the storage device that you need. They are also still an integral part of many server and datacenter applications, so it is safe to assume that hard drives still have a bit of life ahead of them.
Layering of Drives
Many advancements have also been made to improve the speed of hard drives. Manufacturers designed and released Solid State Hard Drives or SSHDs which were basically the combination of a standard hard drive with a tiny SSD acting as a cache. SSHDs never really took off due to their relatively poor performance and even worse value, but the idea of combining an SSD with an HDD has stuck around. Years later, Intel and AMD came out with techniques known as Intel Optane and AMD StoreMI which serve the same purpose. These methods allow the use of a smaller, faster SSD as a cache for a larger, slower hard drive, thereby accelerating the mechanical drive’s speed.
Within this procedure, users can “layer” different storage drives with one another and set an order of priority for them, which can let the system know which drives should hold frequently accessed programs and files. However, combining an SSD with a hard drive also raises a different question. Lots of users are troubled by the choice between AHCI and RAID configurations for their storage devices. Before we choose the optimal configuration for your setup, we need to understand what AHCI and RAID actually are.
Overview of AHCI
AHCI stands for Advanced Host Controller Interface, defined by Intel. This mode is seen in relatively newer systems as AHCI, and is a newer technology that inherits many native functions of the Serial ATA standard interface. Functions like NCQ and hot-swapping are part of AHCI, which improve the compatibility and performance of the devices. The specification of AHCI refers to the registry-level interface for a host controller of Serial ATA or SATA.
The AHCI specification is suited to software designers and hardware designers alike. AHCI mode provides a standard method to program the AHCI/SATA adapters which are intended for those hardware component designers and system builders etc. Newer Windows versions such as Windows 10 require AHCI mode to be enabled before system installation if you want to install the OS on an SSD. If you fail to turn on AHCI in that configuration, then the computer will fail to boot with a BSOD error. AHCI is basically a mode of operation that allows the usage of more advanced features inherent in the SATA protocol.
Overview of RAID
As we noted in our brief exploration of RAID arrays, RAID is short for Redundant Array of Independent Disks and it is a data storage virtualization technology. RAID can virtualize multiple independent hard drives into one or more arrays, known as RAID arrays. This results in great improvements in factors such as speed and reliability, depending on how the configuration is set up. RAID provides redundancy in multiple device environments and speeds up the devices in the array which are usually older hard drives.
Just like AHCI, RAID also supports SATA controllers and many RAID products allow the user to enable AHCI while installing. RAID is an older technology than AHCI and SATA, however, and it basically has the same feature set as that of AHCI if they are compared on single disk applications. RAID truly shines when you go into multi-disk configurations that can utilize its more advanced features as AHCI is unable to operate in this configuration. RAID can also get pretty expensive quite quickly if you start adding multiple disks to the array.
RAID is traditionally used in applications where data is stored across multiple drives. Servers and data centers have an absolutely crucial need for RAID so that their massive amounts of sensitive data can be protected in the case of a hardware failure. In addition to those applications, RAID is also becoming increasingly popular in home and office applications. Consumers are now turning to RAID to either increase performance or provide redundancy in case of a drive loss. This type of RAID is commonly set up in applications such as home NAS servers and the like.
There are many levels of RAID commonly used in both the consumer and prosumer spaces. These levels (also called RAID Arrays) each come with their benefits and drawbacks. It is up to the user to identify which one suits their needs the most. It is also important to note that software and hardware RAID configurations support different levels of RAID and can also dictate the types of drives that are supported in the RAID configuration: SATA, SAS, or SSD.
This RAID level is used to boost a server’s performance. With this configuration, data is written across multiple disks. It is also known as “disk striping”. Whatever work you are doing on this server is being handled by multiple drives, thus the performance is increased due to a higher number of I/O operations. Another benefit apart from speed is that RAID 0 can be configured in both software and hardware forms, and most controllers support it as well. The biggest drawback of this configuration is fault tolerance. If one drive fails, all the data across all striped disks is gone. Backup is key if you plan to operate in this configuration.
This configuration is also known as “Disk mirroring” and the strongest aspect of RAID 1 is the fault tolerance. Drives in this RAID array are exact replicas of each other, thus creating a bigger safety net should any drive fail in the array. Data is copied seamlessly from one drive to another and it is the simplest way to create a disk mirror at a relatively low cost.
The biggest disadvantage of RAID 1 is the drag on performance. Due to the fact that data is written across multiple drives instead of one, the performance of a RAID 1 array is slower than a singular drive. The second drawback is that the total useable capacity of a RAID array is half of the sum of the drive capacities. For example, a setup with 2 drives of 1TB each will have a total RAID capacity of 1TB rather than 2TB. This is obviously for redundancy reasons.
This is the most common configuration for enterprise NAS devices and business servers. This array is an improvement over RAID 1 because it alleviates some of the performance loss that is inherent to disk mirroring, while also providing good fault tolerance. Both of these aspects are very important in professional data storage applications. In RAID 5, the data and parity are striped across 3 or more drives. If there is any indication of a fault in one drive, the data is seamlessly transferred to the parity block. Another benefit of this RAID application is that it allows many server drives to be “hot-swappable” which means that drives can be swapped into the array while the system is up and running.
The major drawback of this array is the write performance in large servers. This could of concern if a lot of users access a certain array and write to it simultaneously as a part of the daily workload.
This RAID Array is almost identical to RAID 5 with just one key difference. It has a stronger parity system which means that up to 2 drives can fail before there is any chance of the data being affected. This makes it a very attractive choice for data centers and other enterprise applications.
RAID 10 is a combination of RAID 1 and RAID 0 (thus 1+0). It is a hybrid RAID combination that tries to combine the best parts of both RAID 1 and RAID 0 arrays. It combines the striping of RAID 1 with the mirroring of RAID 2 in an effort to increase speeds as well as provide better fault tolerance. This makes it ideal for servers that perform a lot of write operations. It can also be implemented in software or hardware, but hardware implementation is generally a better route to choose.
The glaring disadvantage of a RAID 10 array is its cost. A minimum of 4 drives are required for this array, with bigger data centers and enterprise applications having to spend at least 2X the amount on drives as they would on other arrays.
In addition to these major RAID levels, there are several other RAID levels as well. These are combinations of the main arrays and are used for specific purposes. RAID 2, RAID 3, RAID 4, RAID 7, and RAID 0+1 are included in this category.
AHCI vs RAID
The different features of AHCI and RAID have a significant impact on the performance of your devices such as your storage devices, memory, and even the motherboard. AHCI is a relatively modern programming interface that is mainly suitable for SATA drives. If you are using an HDD or an SSD that uses SATA protocol, you can set up the AHCI mode to utilize the full advantage of the SATA interface. This will enable features like NCQ and Hot Swapping that are not available in other modes. AHCI has little impact on optimizing the performance of the SATA drives, but it does have a relatively more noticeable impact on hard drives.
RAID is widely used for HDD and hybrid arrays for the purposes of data protection. It allows the HDDs and SSDs to keep running normally even if data loss occurs on one of the devices. RAID can also be used in an SSD array, but that is usually prohibitively expensive and does not offer much of a performance benefit. Therefore, RAID is usually limited to hard drive arrays that have multiple hard drives optimized for speed and/or redundancy.
In summary, you should choose between AHCI and RAID based on your drive configuration. If you are using a SATA hard drive or a SATA SSD in a single-drive configuration, then AHCI may be more suitable than RAID. If you are using multiple hard drives, then RAID is a better choice. RAID is also recommended for arrays that use a combination of SSDs and HDDs in a single array. Both the modes have their benefits and are optimized for different scenarios so it is not a question of “which is better” but rather “which is more suited for my use case” and that depends on the configuration of your storage drives.
Layering of different storage devices has become easier than ever with technologies like RAID being accessible to every consumer while also becoming easier to set up. AHCI still has its place in the storage world due to its optimizations for the SATA protocol, but its use is limited to modern, single-drive computers. For any multi-drive configuration, the option of RAID is a much better and more optimized solution to get the best performance and reliability out of those drives.
If you are unwilling to set up a RAID array for your multiple drives but still want to accelerate your slower mechanical drives, then one might also look to the Intel Optane and AMD StoreMI technologies. Both of these technologies have made fantastic improvements over the past few years in terms of performance and stability, and are finally reliable alternatives to traditional RAID methods. At the end of the day, your preference for AHCI, RAID, or even software-based solutions like StoreMI depends on the configuration of your drives and your preferences. There is simply no right solution for everyone.