在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)。