概述
Zynq UltraScale+ MPSoC 系列基于 Xilinx UltraScale MPSoC 架構(gòu),在單個器件中集成了功能豐富的、基于 ARM 的 64 位四核或雙核處理系統(tǒng) (PS) 和 Xilinx 可編程邏輯 (PL) UltraScale 架構(gòu)。此外,還包括片上存儲器、多端口外部存儲器接口以及豐富的外設(shè)接口,尤其是 16.3 Gbps GTH 收發(fā)器,該收發(fā)器支持與像 NVMe SSD 驅(qū)動器這樣的 PCI Express Gen3 存儲設(shè)備接口。本文展示了通過使用 Design Gateway 的 NVMeG3-IP 內(nèi)核在 Xilinx 的 ZCU102 評估套件上實現(xiàn) NVMe 固態(tài)硬盤 (SSD) 接口的解決方案,該方案可實現(xiàn)驚人的快速性能:寫入速度達(dá) 2,319 MB/s,讀取速度達(dá) 3,347 MB/s。
Zynq UltraScale+ MPSoC ZCU102 評估套件簡介
ZCU102 是用于快速原型開發(fā)的通用評估板,基于 XCZU9EG-2FFVB1156E MPSoC 器件。該評估板包含高速 DDR4 SODIMM 和組件內(nèi)存接口、FMC 擴展端口、每秒數(shù)千兆位的串行收發(fā)器、各種外設(shè)接口以及用于用戶定制設(shè)計的 FPGA 邏輯器件,藉此提供一個靈活的原型開發(fā)平臺。
ZCU102 提供可編程邏輯功能,可用于 5G 無線網(wǎng)絡(luò)、下一代高級駕駛輔助系統(tǒng) (ADAS) 和工業(yè)物聯(lián)網(wǎng) (IIoT) 解決方案等最先進(jìn)的應(yīng)用。
總之,對于需要像 NVMe SSD 驅(qū)動器這樣的高性能、高可靠性外部數(shù)據(jù)存儲的應(yīng)用來說,都有必要采用合適的解決方案,以充分利用支持 PCI Express Gen3 接口的 GTH 收發(fā)器。
NVMe SSD 存儲簡介
NVM Express (NVMe) 定義了主機控制器通過 PCI Express 訪問 SSD 的接口。NVM Express 僅使用兩個寄存器(命令發(fā)出和命令完成),從而優(yōu)化了命令發(fā)出和完成過程。除此以外,NVMe 支持并行操作,在單個隊列中支持多達(dá) 64K 的命令。64K 命令條目提高了順序訪問和隨機訪問兩方面的傳輸性能。
NVMe 驅(qū)動器為高速數(shù)據(jù)存儲和計算鋪平了道路。借助 PCIe Express Gen3 技術(shù),新型 NVMe SSD 驅(qū)動器即可實現(xiàn)高達(dá) 40 Gbps 的峰值性能。
此處展示了 NVMe 存儲設(shè)備示例。
在 ZCU102 上 NVMe 主機控制器的實現(xiàn)
圖 2:NVMe 實現(xiàn)。(圖片來源:Design Gateway)
按照慣例,NVMe 主機是通過將主機處理器與 PCIe 控制器配合使用來實現(xiàn)的,從而實現(xiàn)與 NVMe SSD 的數(shù)據(jù)傳入與傳出。實現(xiàn) NVMe 協(xié)議的目的是,為了與通過較高速總線連接的 PCIe 控制器硬件 CPU 外設(shè)進(jìn)行設(shè)備驅(qū)動器通信。而數(shù)據(jù)緩沖和命令隊列都需要外部 DDR 內(nèi)存,以便在 PCIe 控制器與 SSD 之間傳輸數(shù)據(jù)。
由于 ZCU102 上的 XCZU9EG-2FFVB1156E FPGA 器件上不含 PCIe Gen3 集成塊,因此無法采用傳統(tǒng)實現(xiàn)方法。
于是,Design Gateway 提出了一種解決方案,即利用 NVMeG3-IP 內(nèi)核(如圖 2 所示)來實現(xiàn) Zynq UltraScale+ MPSoC 器件(不含 PCIe 集成塊)的 NVMe SSD 接口。通過 NVMe 接口,ZCU102 即可構(gòu)建具有較高性能的多通道 RAID 系統(tǒng),同時最大限度地降低 FPGA 資源消耗。NVMeG3-IP 內(nèi)核許可中包含參考設(shè)計示例,可幫助設(shè)計人員縮短開發(fā)時間并降低成本。
Design Gateway 的 NVMeG3-IP 概述
在不具備 PCIe 集成塊、CPU 和外部存儲器的情況下,具有 PCIe Gen3 IP 軟核 (NVMeG3-IP) 的 NVMe IP 內(nèi)核是訪問 NVMe SSD 的理想之選。NVMeG3-IP 包含 PCIe Gen3 IP 軟核和 256 KB 存儲器。如果您的應(yīng)用需要具有較高速性能的 NVMe SSD 存儲,卻又使用了不包含 PCIe 集成塊的低成本 FPGA,那么建議您使用該解決方案。
圖 3:NVMeG3-IP 框圖。(圖片來源:Design Gateway)
NVMeG3-IP 特性
NVMeG3-IP 具有許多特性,以下列出了其中一部分特性:
1.實現(xiàn)應(yīng)用層、事務(wù)層、數(shù)據(jù)鏈路層以及物理層的某些部分以訪問 NVMe SSD,而無需占用 CPU
2. 與配置為 4 通道 PCIe Gen3(128 位總線接口)的 Xilinx PCIe PHY IP 配合操作
3. 包含 256 KB 的 RAM 數(shù)據(jù)緩沖區(qū)
4. 經(jīng)由 dgIF typeS 的簡單用戶接口
5. 支持六個命令,即“識別”、“關(guān)閉”、“寫入”、“讀取”、"SMART" 和“刷新”(支持其他命令作為可選項)
6. 支持的 NVMe 器件:
基類代碼:01h(大容量存儲),子類代碼:08h(非易失性),編程接口:02h (NVMHCI)
最小存儲器頁大小 (MPSMIN):0 (4 KB)
最大數(shù)據(jù)傳輸大小 (MDTS):至少 5 (128 KB) 或 0(無限制)
LBA 單元:512 字節(jié) 或 4096 字節(jié)
7. 用戶時鐘頻率必須大于或等于 PCIe 時鐘(Gen3 為 250 MHz)
8. 可用參考設(shè)計:
帶有 AB17-M2FMC 適配器板的 ZCU102
帶有 AB18-PCIeX16/AB16-PCIeXOVR 適配器板的 KCU105
帶有 AB18-PCIeX16 適配器板的 VCU118
Design Gateway 將 NVMeG3-IP 開發(fā)成可以作為 NVMe 主機控制器運行,以訪問 NVMe SSD。用戶接口和標(biāo)準(zhǔn)特性旨在實現(xiàn)易用性,無需了解 NVMe 協(xié)議的相關(guān)知識。NVMeG3-IP 的附加特性是內(nèi)置的 PCIe IP 軟核,它能通過純邏輯實現(xiàn) PCIe 協(xié)議的數(shù)據(jù)鏈路層和物理層的某些部分。因此,借助內(nèi)置的 PCIe IP 軟核和 Xilinx PCIe PHY IP 內(nèi)核,NVMeG3-IP 即可在不帶 PCIe 集成塊的 FPGA 上運行。Xilinx 的 PCIe PHY IP 是一款可用的免費 IP 內(nèi)核,包含收發(fā)器和邏輯均衡器。
NVMeG3-IP 支持六個 NVMe 命令,即識別、關(guān)閉、寫入、讀取、SMART 和刷新。NVMeG3-IP 中集成了 256 KB 的 BlockRAM,可用作數(shù)據(jù)緩沖區(qū)。該系統(tǒng)無需 CPU 和外部存儲器。如需更多詳細(xì)信息,請查閱 NVMeG3-IP 規(guī)格書,可從我們的網(wǎng)站下載此規(guī)格書。
XCZU9EG-2FFVB1156E FPGA 器件的 FPGA 資源使用情況,如下表 1 所示。
表 1:Ultrascale/Ultrascale+ 器件的示例實現(xiàn)統(tǒng)計數(shù)據(jù)
ZCU102 的實現(xiàn)和性能結(jié)果
圖 4 展示了基于 ZCU102 的參考設(shè)計概覽,以演示 NVMeG3-IP 的操作。該演示系統(tǒng)中的 NVMeG3IPTest 模塊包括以下模塊:TestGen、LAxi2Reg、CtmRAM、IdenRAM 和 FIFO。
有關(guān) NVMeG3-IP 參考設(shè)計的更多詳細(xì)信息,請參考 Design Gateway 網(wǎng)站上提供的 NVMeG3-IP 參考設(shè)計文檔。
圖 4:NVMeG3-IP 參考設(shè)計概覽。(圖片來源:Design Gateway)
該演示系統(tǒng)旨在對 ZCU102 上的 NVMe SSD 進(jìn)行數(shù)據(jù)寫入/驗證。用戶可通過串行控制臺控制測試操作。要連接 NVMe SSD 與 ZCU102,就需要使用 AB17-M2FMC 適配器板,如圖 5 所示。
圖 5:安裝在 ZCU102 上的 NVMeG3-IP 演示環(huán)境。(圖片來源:Design Gateway)
使用 512 GB 的 Samsung 970 Pro 時,在 ZCU102 上運行演示系統(tǒng)的示例測試結(jié)果如圖 6 所示。
圖 6:使用 Samsung 970 PRO S 時,ZCU102 上 NVMe SSD 的讀/寫性能。(圖片來源:Design Gateway)
總結(jié)
NVMeG3-IP 內(nèi)核提供了一個在 ZCU102 評估套件上實現(xiàn) NVMe SSD 接口的解決方案;同時也為不含 PCIe 集成塊的 Xilinx Zynq UltraScale+ MPSoC 器件系列提供了解決方案。NVMeG3-IP 的設(shè)計目標(biāo)是在不使用 CPU 的情況下,以最低的 FPGA 資源使用量實現(xiàn) NVMe SSD 訪問的最高性能。它非常適合不使用 CPU 的高性能 NVMe 存儲,能夠利用 GTH 收發(fā)器實現(xiàn)多個 NVMe SSD 接口,而不受 FPGA 器件上包含的 PCIe 集成模塊數(shù)量限制。
審核編輯:郭婷
-
FPGA
+關(guān)注
關(guān)注
1629文章
21738瀏覽量
603464 -
收發(fā)器
+關(guān)注
關(guān)注
10文章
3428瀏覽量
106009 -
SSD
+關(guān)注
關(guān)注
21文章
2862瀏覽量
117436
原文標(biāo)題:在 Xilinx ZCU102 評估套件上實現(xiàn) NVMe SSD 接口
文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論