在SSD中,AHCI(高级主机控制器接口)和NVMe(Non-Volatile Memory Express)都是SSD的有效接口规范。
SATA和PCIe接口之间的基本结构层(如图1所示)凸显了AHCI和NVMe标准在SSD和HOST之间通信中的作用。
人机界面
当SATA发布3GB/s接口时,AHCI被广泛采用。与传统内存结构不同,AHCI 允许 SSD 支持 NCQ(本机命令队列)命令集。这一特性使 AHCI 能够应用于传统硬盘驱动器 (HDD) 或商业消费类 SSD。
在目前的SSD市场中,大多数SSD都使用总线(例如SATA连接器)来与计算机系统进行通信。 AHCI是Intel制定的一项技术标准,指定了用于允许软件与SATA存储设备之间通信的硬件机制。 AHCI 明确定义了内存结构规范,供硬件开发人员在系统内存和 SATA 存储设备之间传输数据时遵循。
NVMe
NVM Express (NVMe) 或非易失性内存主机控制器接口规范 (NVMHCIS) 是一种开放式逻辑接口规范,用于访问通过 PCI Express 总线连接的非易失性存储介质。
与最初为 HDD 设计的 AHCI 不同,NVMe 是在 SSD 在存储市场得到更广泛接受时诞生的。英特尔热衷于结合 PCIe 总线接口来开发 NVMe 规范。使用NVMe附加的PCIe接口的优点是SSD可以实现更短的数据访问和命令排队延迟。此外,PCIe NVMe SSD 还具有出色的多任务处理能力。
AHCI 与 NVMe 的比较
表 1 列出了 AHCI 和 NVMe 之间的显着差异。最大队列深度差异表明采用 NVMe 的 SSD 具有高 IOPS(IOPS = 队列深度 / IO 延迟)。
AHCI 标准首先被使用具有高延迟的传统硬盘驱动器的应用程序采用。随着SSD性能的提升,AHCI标准成为瓶颈。因此,NVMe就是为了打破SSD性能瓶颈而诞生的。
群联结论
SSD 和 HOST 之间的通信协议正在随着更快的 NAND 闪存的发展而快速发展。最初为 SATA 设备设计的高级主机控制器接口 (AHCI) 已无法满足高性能 SSD 设计不断增长的要求。为了达到新的数据传输速率,SSD的接口将逐渐迁移到附有PCIe总线的NVM Express(NVMe)。