注:這是采用PCIe設(shè)計NVMe,并非調(diào)用XDMA方式,后者在PCIe4.0時不大方便,故團隊直接采用PCIe設(shè)計,結(jié)合UVM驗證加快設(shè)計速度。
隊列管理模塊采用隊列的存儲與控制分離的設(shè)計結(jié)構(gòu),如圖1所示為隊列管理模塊的結(jié)構(gòu)框圖。
圖1 隊列管理模塊結(jié)構(gòu)圖
對于提交隊列,設(shè)置一塊完整的BRAM存儲空間用于存儲提交隊列條目,一個提交隊列管理單元用于實現(xiàn)提交隊列存儲地址空間的管理和門鈴控制。在提交隊列管理單元中,構(gòu)建一個admin提交隊列表單和N個I/O提交隊列表單,I/O提交隊列表單的個數(shù)N為參數(shù)配置,考慮到仲裁效率和資源占用,N的最大數(shù)量為16。每一個提交隊列表單包含了隊列的ID、隊列深度、起始偏移地址、門鈴頭指針、門鈴尾指針、門鈴地址,表單中的初始信息在NVMe初始化的創(chuàng)建提交隊列過程中獲取,起始偏移地址在初始化時按照隊列深度依次連續(xù)分配,而門鈴頭指針則由完成隊列管理單元更新。
當(dāng)指令控制模塊需要向某一個提交隊列寫入提交條目時,提交隊列管理單元首先讀取所選則隊列的表單信息,根據(jù)起始偏移地址、隊列深度和門鈴尾指針計算出提交隊列存儲寫地址,再將提交條目寫入該地址中,同時發(fā)起對應(yīng)的門鈴寫請求。當(dāng)接收到提交隊列讀請求時,根據(jù)請求的地址獲取對應(yīng)表單信息生成提交隊列存儲讀地址。
對相關(guān)視頻感興趣的,B站搜用戶名: 專注與守望
審核編輯 黃宇
-
高速傳輸
+關(guān)注
關(guān)注
0文章
36瀏覽量
9249 -
nvme
+關(guān)注
關(guān)注
0文章
283瀏覽量
23558
發(fā)布評論請先 登錄
NVMe高速傳輸之擺脫XDMA設(shè)計37:隊列管理功能驗證與分析1
NVMe高速傳輸之擺脫XDMA設(shè)計14: PCIe應(yīng)答模塊設(shè)計
NVMe高速傳輸之擺脫XDMA設(shè)計十:隊列管理模塊設(shè)計(下)
NVMe高速傳輸之擺脫XDMA設(shè)計九:隊列管理模塊設(shè)計(上)
NVMe IP高速傳輸卻不依賴XDMA設(shè)計之八:系統(tǒng)初始化

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

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

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

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

評論