完成信息解析模塊用于解析NVMe命令執(zhí)行完成后返回的信息。該模塊首先提取完成信息中的Status Field字段和ID號(hào)。通過(guò)檢查Status Field字段,判斷NVMe命令是否成功執(zhí)行。若命令成功執(zhí)行,則釋放對(duì)應(yīng)ID號(hào)的SQ中的緩存空間,以便新的NVMe提交命令使用。若命令執(zhí)行失敗,則將Error信號(hào)被拉高,并將該ID號(hào)反饋給隊(duì)列管理模塊,以便重新發(fā)送該命令。
為了提升系統(tǒng)傳輸效率,將NVMe命令執(zhí)行流程中的中斷步驟取消,不通過(guò)中斷的方式來(lái)通知Host檢查完成信息,而是利用硬件電路的并行特點(diǎn),實(shí)時(shí)對(duì)完成信息進(jìn)行檢測(cè)。并通過(guò)添加一級(jí)寄存器來(lái)提高效率,可以不間斷的接收完成信息,其工作流程為:
(1)接收128bit的完成信息,并將Status Field字段、ID字段、SQ Head Pointer字段和CQ Tail Pointer字段提取出來(lái);
(2)判斷Status Field字段的值是否為000000000000000b,若是則將done信號(hào)拉高,同時(shí)將ID字段傳輸至隊(duì)列管理模塊,否則將Error信號(hào)拉高。
審核編輯 黃宇
-
FPGA
+關(guān)注
關(guān)注
1660文章
22412瀏覽量
636379 -
控制器
+關(guān)注
關(guān)注
114文章
17791瀏覽量
193254 -
nvme
+關(guān)注
關(guān)注
0文章
299瀏覽量
23842
發(fā)布評(píng)論請(qǐng)先 登錄
NVMe高速傳輸之擺脫XDMA設(shè)計(jì)30: NVMe 設(shè)備模型設(shè)計(jì)
NVMe高速傳輸之擺脫XDMA設(shè)計(jì)20: PCIe應(yīng)答模塊設(shè)計(jì)
NVMe高速傳輸之擺脫XDMA設(shè)計(jì)17:PCIe加速模塊設(shè)計(jì)
NVMe高速傳輸之擺脫XDMA設(shè)計(jì)14: PCIe應(yīng)答模塊設(shè)計(jì)
NVMe高速傳輸之擺脫XDMA設(shè)計(jì)之十:NVMe初始化狀態(tài)機(jī)設(shè)計(jì)
NVMe協(xié)議簡(jiǎn)介2
NVMe協(xié)議簡(jiǎn)要分析
NVMe控制器IP設(shè)計(jì)系列之接口轉(zhuǎn)換模塊
NVMe控制器IP設(shè)計(jì)之接口轉(zhuǎn)換
NVME控制器之隊(duì)列管理模塊
NVME控制器之隊(duì)列管理模塊
NVME控制器之指令控制模塊設(shè)計(jì)
NVME控制器設(shè)計(jì)之指令控制
NVMe控制器設(shè)計(jì)1
NVMe控制器之完成信息解析模塊
評(píng)論