NVMe 控制模塊負(fù)責(zé)實現(xiàn)用戶請求事務(wù)與 NVMe 事務(wù)的轉(zhuǎn)換、 NVMe 命令提交與完成機(jī)制、 PRP 尋址機(jī)制。 在 NoP 邏輯加速引擎中, 用戶通過配置系統(tǒng)控制模塊的相關(guān)寄存器來發(fā)送 DMA 或隊列管理請求, NVMe 控制模塊在得到任務(wù)信息后生成對應(yīng)的 NVMe 命令, 并通過指令提交與完成機(jī)制實現(xiàn)與 NVMe SSD 的任務(wù)交互。NVMe 控制模塊一方面通過硬件實現(xiàn)降低了命令交互的延遲和 PRP 尋址機(jī)制的過程延遲, 另一方面通過結(jié)構(gòu)的設(shè)計繼承了軟件協(xié)議棧的靈活性, 這使得系統(tǒng)即使在不同的應(yīng)用場景下也能充分發(fā)揮性能優(yōu)勢。 如圖 3.8 所示 NVMe 控制模塊按照功能劃分為命令控制模塊、 隊列管理模塊、 PRP 管理模塊三個部分。
圖1 NVMe控制器架構(gòu)圖
指令控制模塊負(fù)責(zé) NVMe 指令的組裝、分配、注銷。在 NVMe 協(xié)議中, 一條 NVMe指令由 16 個雙字構(gòu)成, 不同指令對應(yīng)字段的含義也不相同。 因此當(dāng)系統(tǒng)控制模塊發(fā)起請求事務(wù)時, 指令控制模塊將對應(yīng)寄存器中的信息整合成為 NVMe 的提交隊列條目, 并分配唯一的指令 ID, 再將條目寫入提交隊列中, 實現(xiàn)指令的組裝和分配; 當(dāng)
接收到完成隊列中的正常完成條目時, 指令控制模塊提取其中的指令 ID 進(jìn)行注銷。隊列管理模塊實現(xiàn) NVMe 提交隊列和完成隊列的存儲、 門鈴機(jī)制、 仲裁機(jī)制,以及隊列的創(chuàng)建和刪除管理。 NVMe 隊列是實現(xiàn) NVMe 指令提交與完成機(jī)制的核心組件, 隊列的數(shù)量和深度直接影響數(shù)據(jù)傳輸?shù)男阅堋?在小數(shù)據(jù)隨機(jī)讀寫的場景下, 性能隨著隊列數(shù)量和深度線性增加然后趨于飽和; 在大數(shù)據(jù)順序讀寫的場景下, 性能則受隊列數(shù)量和深度影響很小。 為了適應(yīng)不同的應(yīng)用場景, 隊列管理模塊采用存儲和控制分離的結(jié)構(gòu)設(shè)計, 實現(xiàn)動態(tài)配置隊列, 以更低的時間和資源成本實現(xiàn)性能的最優(yōu)發(fā)揮。
PRP 控制模塊實現(xiàn) PRP 的管理與生成。 每一條涉及數(shù)據(jù)傳輸?shù)?NVMe 指令都有對應(yīng)的 PRP 條目或列表來指示地址, PRP 控制模塊根據(jù)指令 ID 創(chuàng)建對應(yīng)的 PRP 列表頭指針, 在有指令需要讀取 PRP 列表時根據(jù) ID 生成與指令對應(yīng)的 PRP 條目。 PRP控制模塊使 PRP 的存儲位置更加接近數(shù)據(jù)傳輸鏈路, 從而降低 PRP 讀取延遲, 提高數(shù)據(jù)傳輸效率。
接下來對指令控制模塊、 隊列管理模塊、 PRP 控制模塊的結(jié)構(gòu)設(shè)計進(jìn)行分析。
審核編輯 黃宇
-
控制器
+關(guān)注
關(guān)注
114文章
16876瀏覽量
182449 -
nvme
+關(guān)注
關(guān)注
0文章
235瀏覽量
23064
發(fā)布評論請先 登錄
NVMe控制器IP設(shè)計系列之接口轉(zhuǎn)換模塊

NVMe控制器IP設(shè)計之接口轉(zhuǎn)換
NVME控制器之隊列管理模塊
NVMe控制器之完成信息解析模塊
NVME控制器之隊列管理模塊


工程機(jī)械控制器廠家 控制器國產(chǎn)替代 #國產(chǎn)控制器#控制器廠家#控制器品牌
NVME控制器設(shè)計1

ALINX NVME SPCle IP 特性詳解

一文詳解 ALINX NVMe IP 特性


車載智能控制器 工程機(jī)械控制器 CAN總線控制器 碩博電子 #控制器 #can總線 #國產(chǎn)化替代
NVMe A4S主機(jī)控制器IP用戶指南
Microchip推出高性能第五代PCIe?固態(tài)硬盤控制器系列

評論