0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

在Xilinx ZCU102評估套件上實現(xiàn)NVMe SSD接口

YCqV_FPGA_EETre ? 來源:FPGA開發(fā)圈 ? 2020-06-28 10:01 ? 次閱讀

概述

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)驚人的快速性能:寫入速度達 2,319 MB/s,讀取速度達 3,347 MB/s。

Zynq UltraScale+ MPSoC ZCU102 評估套件簡介

ZCU102 是用于快速原型開發(fā)的通用評估板,基于 XCZU9EG-2FFVB1156E MPSoC 器件。該評估板包含高速 DDR4 SODIMM 和組件內(nèi)存接口、FMC 擴展端口、每秒數(shù)千兆位的串行收發(fā)器、各種外設(shè)接口以及用于用戶定制設(shè)計的 FPGA 邏輯器件,藉此提供一個靈活的原型開發(fā)平臺。

圖 1:ZCU102 評估套件。(圖片來源:Xilinx Inc.)

ZCU102 提供可編程邏輯功能,可用于 5G 無線網(wǎng)絡(luò)、下一代高級駕駛輔助系統(tǒng) (ADAS) 和工業(yè)物聯(lián)網(wǎng) (IIoT) 解決方案等最先進的應(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 支持并行操作,在單個隊列中支持多達 64K 的命令。64K 命令條目提高了順序訪問和隨機訪問兩方面的傳輸性能。

NVMe 驅(qū)動器為高速數(shù)據(jù)存儲和計算鋪平了道路。借助 PCIe Express Gen3 技術(shù),新型 NVMe SSD 驅(qū)動器即可實現(xiàn)高達 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è)進行設(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。用戶接口和標準特性旨在實現(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 和外部存儲器。如需更多詳細信息,請查閱 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è)計的更多詳細信息,請參考 Design Gateway 網(wǎng)站上提供的 NVMeG3-IP 參考設(shè)計文檔。

圖 4:NVMeG3-IP 參考設(shè)計概覽。(圖片來源:Design Gateway)

該演示系統(tǒng)旨在對 ZCU102 上的 NVMe SSD 進行數(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è)計目標是在不使用 CPU 的情況下,以最低的 FPGA 資源使用量實現(xiàn) NVMe SSD 訪問的最高性能。它非常適合不使用 CPU 的高性能 NVMe 存儲,能夠利用 GTH 收發(fā)器實現(xiàn)多個 NVMe SSD 接口,而不受 FPGA 器件上包含的 PCIe 集成模塊數(shù)量限制。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1624

    文章

    21573

    瀏覽量

    600704
  • 存儲器
    +關(guān)注

    關(guān)注

    38

    文章

    7408

    瀏覽量

    163425
  • SSD
    SSD
    +關(guān)注

    關(guān)注

    20

    文章

    2818

    瀏覽量

    117023

原文標題:在 Xilinx ZCU102 評估套件上實現(xiàn) NVMe SSD 接口

文章出處:【微信號:FPGA-EETrend,微信公眾號:FPGA開發(fā)圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    ICY DOCK M.2轉(zhuǎn)U.2 SSD轉(zhuǎn)接盒如何重新定義M.2 NVMe SSD

    ICY DOCK M.2轉(zhuǎn)U.2 SSD轉(zhuǎn)接盒如何重新定義M.2 NVMe SSD
    的頭像 發(fā)表于 10-21 18:08 ?138次閱讀
    ICY DOCK M.2轉(zhuǎn)U.2 <b class='flag-5'>SSD</b>轉(zhuǎn)接盒如何重新定義M.2 <b class='flag-5'>NVMe</b> <b class='flag-5'>SSD</b>

    ZCU106評估板用戶指南

    電子發(fā)燒友網(wǎng)站提供《ZCU106評估板用戶指南.pdf》資料免費下載
    發(fā)表于 09-10 10:17 ?1次下載

    Xilinx NVMe AXI4主機控制器,AXI4接口高性能版本介紹

    NVMe AXI4 Host Controller IP可以連接高速存儲PCIe SSD,無需CPU,自動加速處理所有的NVMe協(xié)議命令,具備獨立的數(shù)據(jù)寫入和讀取AXI4接口,不但適用
    的頭像 發(fā)表于 07-18 09:17 ?401次閱讀
    <b class='flag-5'>Xilinx</b> <b class='flag-5'>NVMe</b> AXI4主機控制器,AXI4<b class='flag-5'>接口</b>高性能版本介紹

    高性能NVMe主機控制器,Xilinx FPGA PCIe 3

    、Cache Flush和邏輯數(shù)據(jù)塊擦除功能。NVMe Host Controller IP具備DMA Wr/Rd引擎和SQn/CQn引擎,實現(xiàn)對PCIe SSD的DMA讀寫功能。
    發(fā)表于 04-20 14:41

    高性能NVMe主機控制器,Xilinx FPGA NVMe Host Accelerator IP

    /Arbitration?支持NVMe NVM Command Set:Write、Read、Flush、Dataset Management?提供1個Admin命令接口實現(xiàn)對PCIe SS
    發(fā)表于 04-10 22:55

    Xilinx FPGA高性能NVMe SSD主機控制器,NVMe Host Controller IP

    /Arbitration?支持NVMe NVM Command Set:Write、Read、Flush、Dataset Management?提供1個Admin命令接口,實現(xiàn)對PCIe SS
    發(fā)表于 03-27 17:23

    Xilinx FPGA NVMe主機控制器IP,高性能版本介紹應(yīng)用

    、Set Feature?支持NVMe NVM Command Set:Write、Read、Flush、Dataset Management?提供1個Admin命令接口,實現(xiàn)對PCIe SS
    發(fā)表于 03-09 13:56

    vivado2017中找不到ZCU102對應(yīng)的板卡,求解決和分享,應(yīng)該如何解決

    vivado2017中找不到ZCU102對應(yīng)的板卡,求解決和分享,應(yīng)該如何解決
    發(fā)表于 02-29 17:31

    Xilinx FPGA NVMe Host Controller IP,NVMe主機控制器

    Queue、Set Feature?支持NVMe NVM Command Set:Write、Read、Flush、Dataset Management?提供1個Admin命令接口實現(xiàn)對PCIe
    發(fā)表于 02-21 10:16

    Xilinx FPGA NVMe控制器,NVMe Host Controller IP

    NVMe Host Controller IP可以連接高速存儲PCIe SSD,無需CPU和外部存儲器,自動加速處理所有的NVMe協(xié)議命令,具備獨立的數(shù)據(jù)寫入AXI4-Stream/FIFO
    的頭像 發(fā)表于 02-18 11:27 ?807次閱讀
    <b class='flag-5'>Xilinx</b> FPGA <b class='flag-5'>NVMe</b>控制器,<b class='flag-5'>NVMe</b> Host Controller IP

    zcu102zcu104有什么區(qū)別

    ZCU102ZCU104是賽靈思(Xilinx)推出的兩款高性能嵌入式開發(fā)平臺,用于開發(fā)和驗證高性能應(yīng)用程序。雖然它們都具備卓越的性能和功能,但在一些方面存在一些差異。下面將詳細介紹ZCU1
    的頭像 發(fā)表于 01-04 10:54 ?2896次閱讀

    如何在zcu102板卡創(chuàng)建pipeline呢?

    DisplayPort 1.4 Tx Subsystem core的最簡pipeline就是如它的linux driver wiki page里的figure-4那樣,framebuffer_read+DP+video_phy。
    的頭像 發(fā)表于 12-29 10:09 ?465次閱讀

    ADRV9009+ZCU102系統(tǒng)啟動出現(xiàn)錯誤導(dǎo)致IIO沒有波形顯示怎么解決?

    使用你們的ADRV9009+ZCU102的開發(fā)套件,基于你們制作的Boot.bin(SD卡里面自帶的),整個Linux系統(tǒng)可以跑起來,并且IIO軟件可以正常使用;然而我自己制作的Boot.bin
    發(fā)表于 12-07 07:09

    AXI通道讀寫DDR的阻塞問題?

    基于vivado2020.1和zcu102開發(fā)板(rev1.1)開發(fā)項目,工程涉及DDR4(MIG)和PL端多個讀寫接口交互的問題,通過AXI interconnect進行互聯(lián)和仲裁(采用默認配置)。
    的頭像 發(fā)表于 12-01 09:04 ?859次閱讀
    AXI通道讀寫DDR的阻塞問題?

    NVMe SSD性能影響因素分析

    NVMe SSD 廠商Spec給出的性能非常完美,前面也給出了NVMe SSD和磁盤之間的性能對比,NVMe
    的頭像 發(fā)表于 11-13 11:39 ?1033次閱讀
    <b class='flag-5'>NVMe</b> <b class='flag-5'>SSD</b>性能影響因素分析