SSD優勢
與機械硬盤(Hard Disk Driver, HDD)相比,基于Flash的SSD具有更快的數據隨機訪問速度、更快的傳輸速率和更低的功耗優勢,已經被廣泛應用于各種計算領域和存儲系統。SSD最初遵循為HDD設計的現有主機接口協議,例如串行高級技術附件(Serial Advanced Technology Attachment, SATA)和串行附加SCSI(SAS)協議,隨著SSD的不斷發展,這些接口協議已成為關鍵的性能瓶頸。為了解決這一問題,存儲供應商制定了一種新的接口規范,即NVMe協議。
NVMe協議必要性
NVMe協議是專為PCIe接口的SSD而設計的,旨在充分利用SSD內部的并行性實現可擴展性、高吞吐量和低延遲的目標。相較于SATA協議,NVMe協議具有以下幾點優勢:管理更高效、功能性更強、I/O效率更高、讀寫延遲和功耗更低。由于NVMe SSD與HDD和SATA/SAS SSD相比具有卓越的性能優勢,云平臺和數據中心已經開始為大量I/O密集型應用程序提供NVMe SSD。隨著NVMe協議的不斷完善,推出了NVMe-oF(NVMe over Fabrics)協議。NVMe-oF協議進一步擴展了NVMe協議在網絡傳輸中的應用,該協議定義了使用多種通用的傳輸層協議來進行數據的傳輸,包括FC、InfiniBand、RoCE V2、iWARP和TCP。隨著協議的不斷完善,越來越多的系統和應用采用NVMe存儲接口的SSD,這種技術將成為未來存儲領域的主流。
NVMe研究進展
目前,一些國內外學者將NVMe SSD應用于嵌入式存儲設備。例如Opsero公司的Jeff Johnson在Zynq上掛載NVMe SSD,借助Linux系統中的NVMe驅動程序實現了對NVMe SSD的控制,并在Zynq-7z030芯片上進行了測試,寫速度為84.7 MB/s。西安電子科技大學的王琳琳基于Zynq完成了NVMe SSD的讀寫控制,通過在的PS端運行Linux系統,在PL端通過PCIe硬核IP連接NVMe SSD,實現了135 MB/s的寫入速度和143 MB/s的讀取速度。
將NVMe SSD應用于嵌入式存儲設備相較于SATA SSD可以有效的提高系統的傳輸性能,但在嵌入式操作系統中,通過NVMe驅動程序來控制NVMe SSD,其性能與嵌入式CPU的主頻以及軟件協議棧的執行流程密切相關。NVMe Host端的命令需要經過文件系統層、塊設備層、驅動層等多個層次的處理,同時NVMe協議棧中的隊列設計、亂序執行、完成信息檢查等流程也十分復雜,加之嵌入式處理器主頻較低,使得其響應速度較慢,無法充分發揮NVMe SSD的速度優勢。若想要在嵌入式系統中充分發揮NVMe協議的高速讀寫性能,一方面可以通過優化軟件執行流程,來提高傳輸性能,但嵌入式處理器的性能較低,性能提升空間有限。另一方面可以通過硬件邏輯的方式來實現軟件驅動程序。相較于軟件的順序執行,硬件電路可以通過并行執行來大幅度提高系統性能,這種方式更能充分發揮出NVMe協議高度并行的特點。
相關視頻感興趣者,請搜B站用戶名: 專注與守望
或鏈接:
https://space.bilibili.com/585132944/upload/video