完成信息解析模塊用于解析NVMe命令執行完成后返回的信息。該模塊首先提取完成信息中的Status Field字段和ID號。通過檢查Status Field字段,判斷NVMe命令是否成功執行。若命令成功執行,則釋放對應ID號的SQ中的緩存空間,以便新的NVMe提交命令使用。若命令執行失敗,則將Error信號被拉高,并將該ID號反饋給隊列管理模塊,以便重新發送該命令。
為了提升系統傳輸效率,將NVMe命令執行流程中的中斷步驟取消,不通過中斷的方式來通知Host檢查完成信息,而是利用硬件電路的并行特點,實時對完成信息進行檢測。并通過添加一級寄存器來提高效率,可以不間斷的接收完成信息,其工作流程為:
(1)接收128bit的完成信息,并將Status Field字段、ID字段、SQ Head Pointer字段和CQ Tail Pointer字段提取出來;
(2)判斷Status Field字段的值是否為000000000000000b,若是則將done信號拉高,同時將ID字段傳輸至隊列管理模塊,否則將Error信號拉高。
審核編輯 黃宇
-
FPGA
+關注
關注
1643文章
21952瀏覽量
613806 -
控制器
+關注
關注
114文章
16957瀏覽量
182795 -
nvme
+關注
關注
0文章
243瀏覽量
23105
發布評論請先 登錄
NVMe協議簡要分析
NVMe控制器IP設計系列之接口轉換模塊

NVMe控制器IP設計之接口轉換
NVME控制器之指令控制模塊設計
SDRAM控制器的設計——Sdram_Control.v代碼解析(異步FIFO讀寫模塊、讀寫SDRAM過程)

評論