一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

NVMe IP高速傳輸卻不依賴XDMA設(shè)計(jì)之二:PCIe讀寫邏輯

高速傳輸與存儲(chǔ) ? 來源:高速傳輸與存儲(chǔ) ? 作者:高速傳輸與存儲(chǔ) ? 2025-06-09 17:25 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

NVMe IP放棄XDMA原因

選用XDMA做NVMe IP的關(guān)鍵傳輸模塊,可以加速IP的設(shè)計(jì),但是XDMA對(duì)于開發(fā)者來說,還是不方便,原因是它就象一個(gè)黑匣子,調(diào)試也非一番周折,尤其是后面PCIe4.0升級(jí)。因此決定直接采用PCIe設(shè)計(jì),雖然要費(fèi)一番周折,但是目前看,還是值得的,我們uvm驗(yàn)證也更清晰。

PCIe 寫應(yīng)答模塊設(shè)計(jì)

應(yīng)答模塊的具體任務(wù)是接收來自PCIe鏈路上的設(shè)備的TLP請(qǐng)求,并響應(yīng)請(qǐng)求。由于基于PCIe協(xié)議的NVMe數(shù)據(jù)傳輸只使用PCIe協(xié)議的存儲(chǔ)器讀請(qǐng)求TLP和存儲(chǔ)器寫請(qǐng)求TLP,應(yīng)答模塊分別針對(duì)兩種TLP設(shè)置處理引擎來提高并行性和處理速度。

對(duì)于存儲(chǔ)器寫請(qǐng)求TLP,該類型的TLP使用Posted方式傳輸,即不需要返回完成報(bào)文,因此只需要接收并做處理,這一過程由寫處理模塊來執(zhí)行,寫處理模塊的結(jié)構(gòu)如圖1所示。

圖1 TLP寫處理結(jié)構(gòu)

當(dāng)axis_cq 總線中出現(xiàn)數(shù)據(jù)流傳輸時(shí),應(yīng)答模塊首先對(duì)傳輸?shù)腡LP報(bào)頭的類型字段進(jìn)行解析,如果為存儲(chǔ)器寫請(qǐng)求則由寫處理模塊進(jìn)一步解析。寫處理模塊提取出TLP 報(bào)頭的地址字段、長(zhǎng)度字段等,然后將數(shù)據(jù)字段寫入數(shù)據(jù)緩存中。提取出的地址字段用于進(jìn)行地址映射,在NVMe協(xié)議中,設(shè)備端的請(qǐng)求寫分為兩種,分別是寫完

成隊(duì)列和寫數(shù)據(jù),因此地址映射的定向?qū)?yīng)為隊(duì)列管理模塊的完成條目處理單元和數(shù)據(jù)傳輸AXI總線的寫通道。完成條目的字段長(zhǎng)度為128比特,因此無需進(jìn)行數(shù)據(jù)緩存,跟隨地址映射發(fā)送到隊(duì)列管理模塊。AXIMaster驅(qū)動(dòng)負(fù)責(zé)將解析的字段與緩存的數(shù)據(jù)組成AXI寫傳輸事務(wù)發(fā)送到AXI寫通道,實(shí)現(xiàn)數(shù)據(jù)的寫傳輸。

PCIe 讀應(yīng)答模塊設(shè)計(jì)

對(duì)于存儲(chǔ)器讀請(qǐng)求TLP,使用Non-Posted方式傳輸,即在接收到讀請(qǐng)求后,不僅要進(jìn)行處理,還需要通過axis_cc總線返回CplD,這一過程由讀處理模塊執(zhí)行,讀處理模塊的結(jié)構(gòu)如圖2所示。

圖2 TLP讀處理模塊結(jié)構(gòu)

當(dāng)axis_cq 總線接收到存儲(chǔ)器讀請(qǐng)求時(shí),數(shù)據(jù)流被轉(zhuǎn)發(fā)到讀處理模塊。讀請(qǐng)求TLP只包含128比特的請(qǐng)求報(bào)頭,而axis總線位寬也是128比特,因此在短時(shí)間內(nèi)可能接收到多個(gè)讀請(qǐng)求,為了應(yīng)對(duì)這種情況,讀處理模塊采用了帶有outstanding能力和事務(wù)并行處理的結(jié)構(gòu)設(shè)計(jì),能夠有效提高讀請(qǐng)求事務(wù)處理效率和數(shù)據(jù)傳輸吞吐量。

首先當(dāng)讀請(qǐng)求數(shù)據(jù)流到達(dá)讀處理模塊時(shí),經(jīng)過解析和地址映射的兩級(jí)流水后,放入響應(yīng)處理單元outstanding 緩存中,響應(yīng)處理單元從緩存中獲取事務(wù)一一處理,將讀取的數(shù)據(jù)打包成CplD,并將CplD放置到發(fā)送緩存中等待axis_cc總線的發(fā)送。根據(jù)地址的不同,讀請(qǐng)求事務(wù)被分為三類,分別是讀隊(duì)列請(qǐng)求,讀PRP請(qǐng)求和讀數(shù)據(jù)請(qǐng)求,每種請(qǐng)求對(duì)應(yīng)一個(gè)響應(yīng)處理單元。

在實(shí)際應(yīng)用環(huán)境中,由于隊(duì)列、PRP、數(shù)據(jù)的存儲(chǔ)往往在不同的位置,因此完成讀取過程的延遲也不同,在本課題中,將隊(duì)列管理與PRP都放置在了近PCIe端存儲(chǔ),因此讀取隊(duì)列與PRP的延遲遠(yuǎn)遠(yuǎn)小于讀取數(shù)據(jù)的延遲。并且當(dāng)大量不同的讀請(qǐng)求交叉處理時(shí),讀處理模塊的并行處理結(jié)構(gòu)更能夠充分利用PCIe的亂序傳輸能力來提高

吞吐量。為了清晰的說明讀處理模塊對(duì)吞吐量的提升,設(shè)置如圖3所示的簡(jiǎn)單時(shí)序樣例,樣例中PCIeTLP的tag最大為3。

圖3 TLP 讀處理時(shí)序圖

在對(duì)應(yīng)圖3中第1、2行時(shí)序的低性能處理模式下,同一時(shí)間只能處理一個(gè)讀事務(wù),并且不帶有outstanding能力,此時(shí)從接收到讀請(qǐng)求到成功響應(yīng)所經(jīng)歷的延遲將會(huì)累積,造成axis_cq 請(qǐng)求總線的阻塞。在對(duì)應(yīng)圖中第3、4行時(shí)序的僅帶有outstanding 能力的處理模式下,雖然可以連續(xù)接收多個(gè)讀請(qǐng)求處理,但同一時(shí)間內(nèi)只能處理一個(gè)事務(wù),仍會(huì)由于較大的處理延遲導(dǎo)致axis總線存在較多的空閑周期,實(shí)際的數(shù)據(jù)傳輸效率并不高。在對(duì)應(yīng)圖中第5、6行時(shí)序的讀處理模塊處理模式下,利用多個(gè)響應(yīng)處理單元的并行處理能力和發(fā)送緩存,先行處理完成的CplD可以優(yōu)先發(fā)送,緊接著可以處理下一事務(wù),使總線的傳輸效率和吞吐量明顯提高。

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

    關(guān)注

    1645

    文章

    22050

    瀏覽量

    618645
  • PCIe
    +關(guān)注

    關(guān)注

    16

    文章

    1342

    瀏覽量

    85176
  • 高速傳輸
    +關(guān)注

    關(guān)注

    0

    文章

    28

    瀏覽量

    9174
  • nvme
    +關(guān)注

    關(guān)注

    0

    文章

    252

    瀏覽量

    23248
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Xilinx FPGA NVMe Host Controller IP,NVMe主機(jī)控制器

    (Page) Wr/Rd引擎和SQ1/CQ1引擎,實(shí)現(xiàn)對(duì)PCIe SSD的IO(Page)讀寫、Cache Flush和邏輯數(shù)據(jù)塊擦除功能。NVMe Host Controller
    發(fā)表于 02-21 10:16

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

    ) Wr/Rd引擎和SQ1/CQ1引擎,實(shí)現(xiàn)對(duì)PCIe SSD的IO(Page)讀寫、Cache Flush和邏輯數(shù)據(jù)塊擦除功能。NVMe Host Controller
    發(fā)表于 03-09 13:56

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

    的IO(Page)讀寫、Cache Flush和邏輯數(shù)據(jù)塊擦除功能。NVMe Host Controller IP具備DMA Wr/Rd引擎和SQn/CQn引擎,實(shí)現(xiàn)對(duì)
    發(fā)表于 03-27 17:23

    高性能NVMe主機(jī)控制器,Xilinx FPGA NVMe Host Accelerator IP

    的IO(Page)讀寫、Cache Flush和邏輯數(shù)據(jù)塊擦除功能。NVMe Host Controller IP具備DMA Wr/Rd引擎和SQn/CQn引擎,實(shí)現(xiàn)對(duì)
    發(fā)表于 04-10 22:55

    NVMe IP高速傳輸卻不依賴便利的XDMA設(shè)計(jì)之一

    NVMe IP放棄XDMA原因 選用XDMANVMe IP的關(guān)鍵
    發(fā)表于 05-24 17:09

    NVMe IP高速傳輸卻不依賴便利的XDMA設(shè)計(jì)之二

    NVMe IP放棄XDMA原因 選用XDMANVMe IP的關(guān)鍵
    發(fā)表于 05-25 10:20

    NVMe IP高速傳輸卻不依賴便利的XDMA設(shè)計(jì)之三:系統(tǒng)架構(gòu)

    請(qǐng)求數(shù)據(jù)傳輸, 數(shù)據(jù)傳輸通過 AXI4總線接口對(duì)接用戶邏輯, 使用突發(fā)傳輸提高數(shù)據(jù)傳輸性能。 圖1 Nv
    發(fā)表于 06-29 17:42

    NVMe IP高速傳輸卻不依賴XDMA設(shè)計(jì)之五:DMA 控制單元設(shè)計(jì)

    請(qǐng)求的數(shù)據(jù)傳輸長(zhǎng)度, 該長(zhǎng)度以 NVMe 設(shè)備邏輯塊大小為單位; DMA 源地址和 DMA 目的地址寄存器定義了 DMA 請(qǐng)求的源數(shù)據(jù)存放的起始地址和數(shù)據(jù)傳輸的目的地址; DMA 狀
    發(fā)表于 07-02 19:45

    ZYNQ調(diào)用XDMA PCIE IP同時(shí)讀寫PS DDR,導(dǎo)致藍(lán)屏問題。

    XDMA讀和XDMA寫的時(shí)候,上位機(jī)HOST PC就藍(lán)屏了。。 我想知道,XDMA PCIE IP 和 PS DDR 是否支持同時(shí)進(jìn)行
    發(fā)表于 11-21 10:35

    PCIE高速傳輸解決方案FPGA技術(shù)XILINX官方XDMA驅(qū)動(dòng)

    PCIE高速傳輸方案傳輸的帶寬利用率可達(dá)到90%以上,延遲可達(dá)到理論的最低延遲值。該方案已經(jīng)應(yīng)用到航天航空、雷達(dá)等領(lǐng)域。一、 高效率傳輸
    發(fā)表于 05-19 08:58

    NVMe IP over PCIe 4.0:擺脫XDMA,實(shí)現(xiàn)超高速!

    基于NVMe加速引擎,它直接放棄XDMA,改為深度結(jié)合PCIe,通過高速傳輸機(jī)制開發(fā)。同時(shí)利用UVM驗(yàn)證平臺(tái)驗(yàn)證,有效提升工作效率。
    的頭像 發(fā)表于 04-16 14:57 ?408次閱讀
    <b class='flag-5'>NVMe</b> <b class='flag-5'>IP</b> over <b class='flag-5'>PCIe</b> 4.0:擺脫<b class='flag-5'>XDMA</b>,實(shí)現(xiàn)超<b class='flag-5'>高速</b>!

    NVMe IP高速傳輸卻不依賴XDMA設(shè)計(jì)之三:系統(tǒng)架構(gòu)

    所設(shè)計(jì)的新系統(tǒng)架構(gòu)中,Nvme over PCIe IP通過 PCIe 3.0x4 接口連接 NVMe固態(tài)硬盤, 并提供 AXI4-Lite
    的頭像 發(fā)表于 06-29 17:46 ?599次閱讀
    <b class='flag-5'>NVMe</b> <b class='flag-5'>IP</b><b class='flag-5'>高速</b><b class='flag-5'>傳輸</b><b class='flag-5'>卻不依賴</b><b class='flag-5'>XDMA</b>設(shè)計(jì)之三:系統(tǒng)架構(gòu)

    NVMe IP高速傳輸卻不依賴XDMA設(shè)計(jì)之四:系統(tǒng)控制模塊

    系統(tǒng)控制模塊負(fù)責(zé)實(shí)現(xiàn) NVMe over PCI 邏輯加速引擎的控制功能, 其結(jié)構(gòu)如圖 1 所示。 用戶通過系統(tǒng)控制模塊實(shí)現(xiàn)對(duì)初始化功能、 隊(duì)列管理功能、 DMA 功能等主要功能的控制, 同時(shí)邏輯加速引擎的工作狀態(tài)也通過此模塊反
    的頭像 發(fā)表于 06-29 17:52 ?115次閱讀
    <b class='flag-5'>NVMe</b> <b class='flag-5'>IP</b><b class='flag-5'>高速</b><b class='flag-5'>傳輸</b><b class='flag-5'>卻不依賴</b><b class='flag-5'>XDMA</b>設(shè)計(jì)之四:系統(tǒng)控制模塊

    NVMe IP高速傳輸卻不依賴XDMA設(shè)計(jì)之五:DMA 控制單元設(shè)計(jì)

    DMA 控制單元負(fù)責(zé)控制 DMA 傳輸事務(wù), 該單元承擔(dān)了 DMA 事務(wù)到 NVMe 事務(wù)的轉(zhuǎn)換任務(wù), 使用戶對(duì)數(shù)據(jù)傳輸事務(wù)的控制更加簡(jiǎn)單快捷。 DMA 控制功能由 DMA寄存器組實(shí)現(xiàn)。
    的頭像 發(fā)表于 07-02 19:47 ?1086次閱讀
    <b class='flag-5'>NVMe</b> <b class='flag-5'>IP</b><b class='flag-5'>高速</b><b class='flag-5'>傳輸</b><b class='flag-5'>卻不依賴</b><b class='flag-5'>XDMA</b>設(shè)計(jì)之五:DMA 控制單元設(shè)計(jì)

    NVMe IP高速傳輸卻不依賴XDMA設(shè)計(jì)之六:性能監(jiān)測(cè)單元設(shè)計(jì)

    性能監(jiān)測(cè)單元負(fù)責(zé)監(jiān)測(cè) NVMe over PCIe 邏輯加速引擎的運(yùn)行狀態(tài)和統(tǒng)計(jì)信息, 包括復(fù)位后 運(yùn)行時(shí)間信息、 NVMe 指令數(shù)量統(tǒng)計(jì)信息、 數(shù)據(jù)操作數(shù)量統(tǒng)計(jì)信息、 IOPS 性
    的頭像 發(fā)表于 07-02 19:49 ?152次閱讀
    <b class='flag-5'>NVMe</b> <b class='flag-5'>IP</b><b class='flag-5'>高速</b><b class='flag-5'>傳輸</b><b class='flag-5'>卻不依賴</b><b class='flag-5'>XDMA</b>設(shè)計(jì)之六:性能監(jiān)測(cè)單元設(shè)計(jì)