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

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


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

ALINX NVME SPCle IP 特性詳解

評論