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