In SSDs, AHCI (Advanced Host Controller Interface) and NVMe (Non-Volatile Memory Express) are both valid interface specifications for SSDs.
The fundamental structure layer between SATA and PCIe interface (as shown in fig.1) highlights the role of AHCI and NVMe standards in communication between SSD and HOST.
AHCI
AHCI was widely adopted when SATA released the 3 GB/s interface. Unlike traditional memory structures, AHCI allows SSDs to support NCQ (Native command queuing) command set. This specialty enables AHCI to be applied to either conventional hard disk drives (HDD) or commercial consumer SSDs.
In the current SSD market, most SSDs use buses, such as SATA connectors, to communicate with computer systems. AHCI is a technical standard formulated by Intel that specifies the hardware mechanism used to allow communication between software and SATA storage devices. AHCI clearly defines a specification of memory structure for hardware developers to follow to transfer data between system memory and SATA storage devices.
NVMe
NVM Express (NVMe) or Non-Volatile Memory Host Controller Interface Specification (NVMHCIS) is an open logical interface specification for accessing non-volatile storage media attached via a PCI Express bus.
Unlike AHCI that was initially designed for HDD, NVMe was born when SSDs became more widely accepted in the storage market. Intel was keen to develop the NVMe specification in combination with PCIe buses interface. The advantage of using PCIe interface attached by NVMe is that SSDs can achieve shorter data access and command queuing latency. Also, PCIe NVMe SSDs have excellent multitasking capabilities.
Comparison of AHCI and NVMe
Table 1 lists the significant differences between AHCI and NVMe. The maximum queue depth difference indicates that SSD with NVMe has high IOPS (IOPS = queue depth / IO latency).
The AHCI standard was first adopted by applications using conventional hard disk drives with high latency. As SSD performance increases, the AHCI standard becomes the bottleneck. Therefore, NVMe is made to break the bottleneck of SSD performance.
The Phison conclusion
The communication protocol between SSD and HOST are evolving as rapidly as the development of faster NAND flash. The Advanced Host Controller Interface (AHCI), initially made for SATA devices, no longer satisfies the high-performance SSD design’s rising requirements. To reach a new data transfer rate, the interface of SSDs will gradually migrate to NVM Express (NVMe) attached with PCIe buses.