Ever since the present version of the Advanced Host Controller Interface specification was agreed upon by Intel representatives back in 2011, it’s been one of the most important technical standards when it comes to operating Serial ATA host controllers. System programmers and hardware developers have relied on it to access solid state drivers. However, many modern SSD models use a form of what computer scientists call the Non-Volatile Memory Host Controller Interface Specification, better known as NVMe express. Ask any hardcore gamer and you’ll likely be told that this replaced AHCI years ago.
Things aren’t so clear in the enterprise as well as among developers of embedded systems, however. A majority of BIOS and UEFI implementations still support AHCI technology. Those who restore and upgrade existing hardware also commonly purchase traditional SATA SSDs to use as a storage medium. For that matter, there’s no reason to suggest that you couldn’t build an Adler Lake-based PC around a simple AHCI implementation if you wanted, which makes it seem like the specification has quite a bit of life left in it.
Reasons to Use AHCI Over NVMe
To its credit, the NVMe specification has some pretty neat advantages associated with it. The standard can support 65,535 individual queues that each have as many commands stored in them. Those with programming experience will notice that this number maxes out the basic powers of two patterns that 32-bit system architectures rely on. By comparison, an AHCI drive can only have a single command queue that can store 32 commands.
On top of this, NVMe drives can handle 2048 individual MSI-X interrupts and operate in full-duplex. Since AHCI devices can only operate in half-duplex, they’re not able to receive data while they’re writing it. This makes NVMe devices considerably faster, which is why they’ve taken the gaming world by storm. Mission critical servers also rely on them extensively.
On the other hand, casual and business users seldom need to write that much data all at once. Lean software applications and simple user interfaces can more than make up for any perceived lack of hardware in these market segments, which is good because of the fact that NVMe devices have a tendency to cost much more than traditional SATA-based storage. Those who don’t mind some performance-related issues will probably continue to invest in SATA drives for many years to come.
Consumers who need fast PCIe-based storage modules are naturally going to go out of their way to get them, and they’ll probably benefit from them if they’re running disk-intensive applications. Embedded systems designers, however, are another barrier to completely phasing out the other standard however.
Use of AHCI in Embedded Designs
Chipset architects often need to use the simplest technologies available in order to ensure that they won’t run into any engineering problems later. If you were going to incorporate commodity PC hardware into a medical or industrial device, then you wouldn’t want to use anything that could be a potential point of failure. That’s why so many legacy technologies that are all but forgotten about in the desktop world continue to be used in these fields.
Security devices as well as those made for the home automation market often have to use AHCI or some other stable standard in order to ensure that all saved data is recorded in a safe way. NVMe might be considerably faster, but this doesn’t matter much in use case where the transfer rate would be measured in kilobytes per second.
In some situations, custom architectures are designed from the ground up in order to take advantage of the unique hardware that certain platforms offer. This, too, has proven to be a barrier to NVMe adoption.
The Resurgence of Proprietary Firmware
Storage systems that aren’t based on any of these standards are common in video calling devices as well as many types of portable game consoles. Engineers often don’t have the opportunity to document them to the same degree that the technicians behind NVMe did. While this limits reuse of these custom architectures, it also greatly reduces the chances that devices relying on them can ever be restructured to use NVMe or any other major computer industry standard.
As a result, it looks like express storage devices will stay relatively rare in some markets for years to come. Those who need to use NVMe technology will probably never notice, however, because their use cases are so different from those who’ve failed to adopt it thus far.