国产chinesehdxxxx老太婆,办公室玩弄爆乳女秘hd,扒开腿狂躁女人爽出白浆 ,丁香婷婷激情俺也去俺来也,ww国产内射精品后入国产

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

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

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

NVME控制器之隊列管理模塊

高速傳輸與存儲 ? 來源:高速傳輸與存儲 ? 作者:高速傳輸與存儲 ? 2025-05-03 15:32 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

隊列管理模塊是整個NVMe Host控制器的核心模塊,該模塊實現(xiàn)了提交隊列與完成隊列的管理,多隊列請求的仲裁判決等功能。隊列管理模塊中含有數(shù)據(jù)選擇單元、SQ、CQ、和仲裁器等模塊。其中Admin SQ與IO SQ的內(nèi)部結構一致,包含狀態(tài)機、BRAM、Tail REG和Head REG。Admin CQ與IO CQ的內(nèi)部結構一致,包含狀態(tài)機、Tail REG和Head REG。
隊列管理模塊框圖如圖1所示。

wKgZPGgVxQqADJyzAABA6tcvNUY291.png


圖1 隊列管理模塊框圖
在NVMe協(xié)議中,使用隊列來傳輸、緩存和處理命令條目,以實現(xiàn)Host端和NVMe SSD端之間的通信。在CPU上運行NVMe軟件協(xié)議棧,其Host端生成提交命令的速度遠大于NVMe SSD的執(zhí)行速度,同時由于CPU的指令是順序執(zhí)行的,需要通過中斷來通知CPU去處理完成信息。因此,通過增加提交隊列和完成隊列的深度可以提高系統(tǒng)的傳輸性能。


設計中可以利用FPGA的并行處理能力來加速NVMe Host端的控制流程。相較于軟件協(xié)議棧,通過硬件電路生成提交命令的速度更快,并且能夠通過并行操作去實時檢查返回的完成信息,從而避免了采用中斷來通知CPU去處理完成信息而造成延遲較大的問題。本設計主要針對順序讀寫場景進行了資源方面的優(yōu)化??紤]到在順序讀寫情況下,傳輸性能與隊列深度的大小無關,且硬件邏輯生成NVMe命令的速度要遠大于軟件協(xié)議棧生成NVMe命令的速度,因此通過增加提交隊列和完成隊列的深度來提高系統(tǒng)的傳輸性能的方法不再可行,本設計將提交隊列深度設置為NVMe SSD一次突發(fā)讀取的數(shù)據(jù)量大小,這樣在保證性能的前提下,可以盡可能的減少資源的消耗。此外,取消了完成隊列緩存的設計,對完成信息的解析工作通過組合邏輯電路對其進行實時檢測,而不用通過中斷來通知NVMe Host檢查,從而可以提高NVMe命令的執(zhí)行效率,并節(jié)省了大量的存儲資源。


提交隊列內(nèi)部由一個雙端口RAM、兩個寄存器和一個狀態(tài)機構成。其中,提交隊列分為Admin提交隊列和I/O提交隊列,分別用于管理Admin命令和I/O命令。雖然這兩個隊列針對的命令條目不同,但其內(nèi)部結構相同。因此,通過采用相同的設計來實現(xiàn)兩個隊列,以提高代碼的復用性和可維護性。雙端口RAM使用BRAM資源實現(xiàn),包括兩個128位寬、深度可配置的端口,用于實現(xiàn)NVMe命令的緩存。四個控制寄存器用于監(jiān)測隊列狀態(tài),包括Head指針和Tail指針。Head指針指向隊列中下一個被執(zhí)行的命令的位置,Tail指針指向隊列中下一個空位置,新產(chǎn)生的命令條目總是被寫入Tail所指向的位置。當同一個隊列的Head指針等于Tail指針加1時,表示隊列為滿;當Head指針等于Tail指針時,表示隊列為空。該模塊中的狀態(tài)機用來實現(xiàn)門鈴寄存器信息更新的流程控制工作。隊列管理狀態(tài)機的跳轉(zhuǎn)圖如圖2所示。

wKgZPGgVxYWAD_ZRAAAxG-vHZ2U637.png

圖2 隊列管理狀態(tài)機的跳轉(zhuǎn)圖

各狀態(tài)說明如下:

IDLE:空閑狀態(tài),該狀態(tài)為模塊上電后的初始化狀態(tài),該狀態(tài)下檢測到s_axis_entry_valid信號有效時,表示有提交命令傳輸至隊列管理模塊,狀態(tài)跳轉(zhuǎn)至RD_SQ_REG狀態(tài),否則維持當前IDLE狀態(tài)。

RD_SQ_REG:讀提交隊列寄存器狀態(tài),該狀態(tài)下讀取提交隊列中的cmd_cnt寄存器,cmd_cnt寄存器負責記錄隊列中緩存的命令數(shù),即SQ Head指針與SQ Tail指針之差,當cmd_cnt寄存器的值大于10時向仲裁器發(fā)起更新門鈴寄存器請求,這里設置為10主要是考慮到減少NVMe Host控制器和NVMe SSD之間的數(shù)據(jù)交互次數(shù),讓其通過突發(fā)傳輸一次讀取多條命令,來達到提升系統(tǒng)性能的效果,同時,為了解決長時間沒有接收到新的提交命令使得小于10條命令無法發(fā)送的情況,添加了超時機制,當計時計數(shù)器達到一定值時,不再等待cmd_cnt滿足條件,直接跳轉(zhuǎn)至SC_REQ狀態(tài),否則維持當前狀態(tài)。

SC_REQ:仲裁請求狀態(tài),該狀態(tài)下將sq_req信號置為高電平來向仲裁器發(fā)起仲裁請求,若接收到仲裁授權,狀態(tài)跳轉(zhuǎn)至SEND狀態(tài),否則維持當前狀態(tài)。

SEND:發(fā)送狀態(tài),該狀態(tài)下向接口轉(zhuǎn)換模塊發(fā)送當前的隊列信息,接口轉(zhuǎn)換模塊將內(nèi)部信號轉(zhuǎn)換為AXI4接口信號,通過訪問PCIe的BAR空間來實現(xiàn)對NVMe SSD門鈴寄存器的更新,等待返回應答信號,狀態(tài)跳轉(zhuǎn)至IDLE狀態(tài)。

相關視頻感興趣的,請移步B站,搜用戶名 專注與守望 或 內(nèi)容 NVMe IP

審核編輯 黃宇

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

    關注

    1645

    文章

    22040

    瀏覽量

    618189
  • 控制器
    +關注

    關注

    114

    文章

    17098

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    NVMe高速傳輸擺脫XDMA設計十:NVMe初始化狀態(tài)機設計

    DISABLE_CC狀態(tài)。 RD_CAP:讀控制器功能寄存狀態(tài)。該狀態(tài)下讀取NVMe設備的控制器功能寄存,獲取其中的Memory Pag
    發(fā)表于 07-05 22:03

    NVMe IP高速傳輸擺脫XDMA設計四:系統(tǒng)控制模塊設計

    系統(tǒng)控制模塊負責實現(xiàn) NVMe over PCI 邏輯加速引擎的控制功能, 其結構如圖 1 所示。 用戶通過系統(tǒng)控制
    發(fā)表于 06-29 18:07

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

    系統(tǒng)控制模塊負責實現(xiàn) NVMe over PCI 邏輯加速引擎的控制功能, 其結構如圖 1 所示。 用戶通過系統(tǒng)控制
    的頭像 發(fā)表于 06-29 17:52 ?106次閱讀
    <b class='flag-5'>NVMe</b> IP高速傳輸卻不依賴XDMA設計<b class='flag-5'>之</b>四:系統(tǒng)<b class='flag-5'>控制</b><b class='flag-5'>模塊</b>

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

    加速模塊、 PCIE 集成塊。 以下為各功能模塊的定義: 系統(tǒng)控制模塊是實現(xiàn)NVMe over PCIe關鍵組件。 NoP 邏輯加速引擎內(nèi)
    發(fā)表于 06-29 17:42

    NVMe IP高速傳輸卻不依賴便利的XDMA設計之二

    分為兩種,分別是寫完 成隊列和寫數(shù)據(jù),因此地址映射的定向?qū)獮?b class='flag-5'>隊列管理模塊的完成條目處理單元和數(shù)據(jù)傳輸AXI總線的寫通道。完成條目的字段長度為128比特,因此無需進行數(shù)據(jù)緩存,跟隨地址映射發(fā)送到
    發(fā)表于 05-25 10:20

    NVMe協(xié)議簡介2

    通過PCIe進行,使用PCIe的存儲讀寫TLP請求。指令的提交與完成機制如圖1所示,圖中展示的指令提交與完成步驟如下: 圖1 NVMe指令提交與完成步驟圖 (1)主機控制器向提交隊列寫入一個或多個提交命令
    發(fā)表于 05-15 23:15

    NVMe協(xié)議簡要分析

    控制器更新。NVMe隊列結構如圖1所示。 []()圖1 隊列示意圖 NVMe隊列的深度是固定的
    發(fā)表于 05-15 00:34

    NVMe控制器IP設計系列接口轉(zhuǎn)換模塊

    接口轉(zhuǎn)換模塊負責完成AXI4接口與控制器內(nèi)部的自定義接口之間的轉(zhuǎn)換工作。由于AXI4接口協(xié)議的實現(xiàn)會占用大量的邏輯資源,為了節(jié)約資源,控制器內(nèi)部的接口信號均采用邏輯簡單的自定義接口,對外通過此
    的頭像 發(fā)表于 05-10 14:36 ?219次閱讀
    <b class='flag-5'>NVMe</b><b class='flag-5'>控制器</b>IP設計系列<b class='flag-5'>之</b>接口轉(zhuǎn)換<b class='flag-5'>模塊</b>

    NVMe控制器IP設計接口轉(zhuǎn)換

    (addr、en、data_db)轉(zhuǎn)換為與AXI PCIe IP模塊相連接的AXI4-Lite接口。該模塊的主要功能是在隊列管理模塊需要更新SSD內(nèi)部門鈴寄存
    發(fā)表于 05-10 14:33

    NVME控制器隊列管理模塊

    隊列管理模塊是整個NVMe Host控制器的核心模塊,該模塊實現(xiàn)了提交
    發(fā)表于 05-03 20:19

    NVMe控制器完成信息解析模塊

    完成信息解析模塊用于解析NVMe命令執(zhí)行完成后返回的信息。該模塊首先提取完成信息中的Status Field字段和ID號。通過檢查Status Field字段,判斷NVMe命令是否成功
    的頭像 發(fā)表于 05-03 15:58 ?185次閱讀

    NVME控制器指令控制模塊設計

    指令控制模塊由一個指令信息緩存, 一個指令組裝狀態(tài)機和一個 ID 池組成。 指令信息緩存中存放著由系統(tǒng)控制模塊寫入的待處理指令信息; 指令組裝狀態(tài)機獲取緩存的指令信息, 將其組裝成提交
    發(fā)表于 04-25 08:07

    NVME控制器設計指令控制

    指令控制模塊由一個指令信息緩存, 一個指令組裝狀態(tài)機和一個 ID 池組成。 指令信息緩存中存放著由系統(tǒng)控制模塊寫入的待處理指令信息; 指令組裝狀態(tài)機獲取緩存的指令信息, 將其組裝成提交
    的頭像 發(fā)表于 04-24 10:22 ?280次閱讀
    <b class='flag-5'>NVME</b><b class='flag-5'>控制器</b>設計<b class='flag-5'>之</b>指令<b class='flag-5'>控制</b>

    NVMe控制器設計1

    NVMe 控制模塊負責實現(xiàn)用戶請求事務與 NVMe 事務的轉(zhuǎn)換、 NVMe 命令提交 與完成機制、 PRP 尋址機制。這里簡介其組成,后續(xù)
    的頭像 發(fā)表于 04-24 09:51 ?242次閱讀
    <b class='flag-5'>NVMe</b><b class='flag-5'>控制器</b>設計1

    NVME控制器設計1

    的相關寄存來發(fā)送 DMA 或隊列管理請求, NVMe控制模塊在得到任務信息后生成對應的 NVMe
    發(fā)表于 04-24 09:45