精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一文詳細(xì)了解高速存儲(chǔ)接口NVMe

中科院半導(dǎo)體所 ? 來源:軟硬件融合 ? 作者:Chaobowx ? 2022-03-21 16:55 ? 次閱讀

編者按

網(wǎng)絡(luò)側(cè)現(xiàn)在還沒有形成標(biāo)準(zhǔn)的接口。Virtio-net因?yàn)檐浖摂M化的流行所以標(biāo)準(zhǔn),但其性能較差;AWS有自己的ENA/EFA接口,NVIDIA提供的是NV-SRIOV自定義接口,以及基于此封裝的Virtio-net接口。 在存儲(chǔ)側(cè),業(yè)界形成了“偉大”的共識(shí):NVMe標(biāo)準(zhǔn)接口,兼顧了標(biāo)準(zhǔn)化和高性能。與此同時(shí),從Virtio-blk逐步切換到NVMe在業(yè)界得到了眾多的認(rèn)可。

高速存儲(chǔ)接口NVMe

跟網(wǎng)絡(luò)接口相比,存儲(chǔ)的接口標(biāo)準(zhǔn)化程度相對(duì)較高。NVMe是本地高性能存儲(chǔ)主流的接口標(biāo)準(zhǔn),同時(shí)基于NVMe擴(kuò)展的NVMeoF是高性能網(wǎng)絡(luò)存儲(chǔ)主要的接口及整體解決方案標(biāo)準(zhǔn)。

1 NVMe概述

NVMe(Non-Volatile Memory Express)是經(jīng)過優(yōu)化的、高性能的、可擴(kuò)展的主機(jī)控制器接口,專為非易失性存儲(chǔ)器(NVM)技術(shù)而設(shè)計(jì)。NVMe解決了如下一些性能問題:

帶寬:通過支持PCIe和諸如RDMA和光纖之類的通道,NVMe可以支持比SATASAS高很多的帶寬。

IOPS:例如,串行ATA可能的最大IOPS為20萬,而NVMe設(shè)備已被證明超過100萬IOPS。

延遲:NVM以及未來的存儲(chǔ)技術(shù)具有一微秒以內(nèi)的訪問延遲,需要一種更簡潔的軟件協(xié)議,能夠?qū)崿F(xiàn)包括軟件堆棧在內(nèi)的不超過10毫秒的端到端延遲。

NVMe協(xié)議支持多個(gè)深度隊(duì)列,這是對(duì)傳統(tǒng)SAS和SATA協(xié)議的改進(jìn)。典型的SAS設(shè)備在單個(gè)隊(duì)列中最多支持256個(gè)命令,而SATA設(shè)備最多支持32個(gè)命令。這些隊(duì)列深度對(duì)于傳統(tǒng)的硬盤驅(qū)動(dòng)器技術(shù)已經(jīng)足夠,但不能充分利用NVM技術(shù)的性能。

相比之下,圖1所示的NVMe多隊(duì)列,每個(gè)隊(duì)列支持64K命令,最多支持64K隊(duì)列。這些隊(duì)列的設(shè)計(jì)使得IO命令和對(duì)命令的處理不僅可以在同一處理器內(nèi)核上運(yùn)行,也可以充分利用多核處理器的并行處理能力。每個(gè)應(yīng)用程序或線程可以有自己的獨(dú)立隊(duì)列,因此不需要IO鎖定。NVMe還支持MSI-X和中斷控制,避免了CPU中斷處理的瓶頸,實(shí)現(xiàn)了系統(tǒng)擴(kuò)展的可伸縮性。NVMe采用簡化的命令集,相比SAS或SATA,NVMe命令集使用的處理IO請(qǐng)求的指令數(shù)量減少了一半,從而在單位CPU指令周期內(nèi)可以提供更高的IOPS,并且降低主機(jī)中IO軟件堆棧的處理延遲。

一文詳細(xì)了解高速存儲(chǔ)接口NVMe

圖1 NVMe多隊(duì)列

2 NVMe寄存器

NVMe(Over PCIe)寄存器主要分為兩類,一類是PCIe配置空間寄存器,一類是NVMe控制器相關(guān)的寄存器。

a.PCIe配置空間和功能

NVMe PCIe總線寄存器如表1所示,NVMe跟主機(jī)CPU的接口主要是基于PCIe總線,使用PCIe的Config和Capability機(jī)制。包括PCI/PCIe頭、PCI功能和PCIe擴(kuò)展功能。

表1 NVMe PCIe配置空間和功能

起始 結(jié)束 名稱 類型
00h 3Fh PCI/PCIe頭
PMCAP PMCAP+7h PCI功耗管理(Power Management)功能 PCI功能
MSICAP MSICAP+9h MSI(Message Signaled Interrupt)功能 PCI功能
MSIXCAP MSIXCAP+Bh MSI-X(MSI eXtension,MSI擴(kuò)展)功能 PCI功能
PXCAP PXCAP+29h PCIe功能 PCI功能
AERCAP AERCAP+47h AER(Advanced Error Reporting)功能 PCIe擴(kuò)展功能

b.NVMe控制器寄存器

NVMe控制器寄存器位于MLBAR/MUBAR寄存器(PCI BAR0和BAR1)中,這些寄存器應(yīng)映射到支持順序訪問和可變?cè)L問寬度的內(nèi)存空間。NVMe 1.3d版本的控制器寄存器列表如表2所示。

表2 NVMe 1.3d版本的控制器寄存器列表

起始 結(jié)束 縮寫 描述
0h 7h CAP 控制功能
8h Bh VS 版本
Ch Fh INTMS 中斷屏蔽設(shè)置
10h 13h INTMC 中斷屏蔽清楚
14h 17h CC 控制器配置
18h 1Bh Reserved 保留
1Ch 1Fh CSTS 控制器狀態(tài)
20h 23h NSSR NVM子系統(tǒng)重置(可選)
24h 27h AQA 管理隊(duì)列屬性
28h 2Fh ASQ 管理提交隊(duì)列基地址
30h 37h ACQ 管理完成隊(duì)列基地址
38h 3Bh CMBLOC 控制器存儲(chǔ)緩沖位置(可選)
3Ch 3Fh CMBSZ 控制器存儲(chǔ)緩沖大?。蛇x)
40h 43h BPINFO 引導(dǎo)分區(qū)信息(可選)
44h 47h BPRSEL 引導(dǎo)分區(qū)讀選擇(可選)
48h 4Fh BPMBL 引導(dǎo)分區(qū)存儲(chǔ)緩沖位置(可選)
50h EFFh Reserved 保留
F00h FFFh Reserved 命令設(shè)置具體的寄存器
1000h 1003h SQ0TDBL 管理SQ0尾Db
1000h + (1 * (4 << CAP.DSTRD)) 1003h + (1 * (4 << CAP.DSTRD)) CQ0HDBL 管理CQ0頭Db
1000h + (2 * (4 << CAP.DSTRD)) 1003h + (2 * (4 << CAP.DSTRD)) SQ1TDBL SQ1尾Db
1000h + (3 * (4 << CAP.DSTRD)) 1003h + (3 * (4 << CAP.DSTRD)) CQ1HDBL CQ1頭Db
1000h+ (2y * (4 << CAP.DSTRD)) 1003h + (2y * (4 << CAP.DSTRD)) SQyTDBL SQy尾Db
1000h + ((2y + 1) * (4 << CAP.DSTRD)) 1003h + ((2y + 1) * (4 << CAP.DSTRD)) CQyHDBL CQy頭Db
供應(yīng)商定制寄存器(可選)
SQ:Submission Queue,提交隊(duì)列;CQ:Completion Queue,完成隊(duì)列;Db:Doorbell,門鈴。

3 NVMe隊(duì)列

NVMe的隊(duì)列是經(jīng)典的環(huán)形隊(duì)列結(jié)構(gòu),通過提交/完成隊(duì)列對(duì)來實(shí)現(xiàn)隊(duì)列的傳輸交互。

a.隊(duì)列概述

NVMe使用的是經(jīng)典的循環(huán)隊(duì)列結(jié)構(gòu)來傳遞消息(例如,傳遞命令和命令完成通知)。隊(duì)列可以映射到任何PCIe可訪問的內(nèi)存中,通常是放在主機(jī)內(nèi)存。

如圖2,隊(duì)列是固定大小的,通過Tail和Head來分別指向?qū)懭牒妥x取的指針。像通常的隊(duì)列數(shù)據(jù)結(jié)構(gòu)一樣,隊(duì)列實(shí)際可使用的大小是隊(duì)列大小減1,并且用Head等于Tail指示隊(duì)列空,用Head等于(Tail+1)除以隊(duì)列大小的余數(shù)來指示隊(duì)列滿。

一文詳細(xì)了解高速存儲(chǔ)接口NVMe

圖2 NVMe隊(duì)列結(jié)構(gòu)

如上一節(jié)的圖1,根據(jù)用途,NVMe隊(duì)列有兩類:管理隊(duì)列和IO隊(duì)列;根據(jù)傳輸方向有兩類:提交隊(duì)列和完成隊(duì)列。具體介紹見表3。

表3 NVMe隊(duì)列類型

管理 IO
提交 用于提交管理命令,最大4K項(xiàng);
用于配置控制器和IO隊(duì)列等;
從主機(jī)側(cè)到控制器側(cè)。
用于傳輸IO命令,最大64K項(xiàng);
用于提交IO操作命令;
從主機(jī)側(cè)到控制器側(cè)。
完成 管理命令的完成確認(rèn),最大4K項(xiàng);
從控制器側(cè)到主機(jī)側(cè);
獨(dú)立的MSI-X中斷處理。
IO命令的完成確認(rèn),最大64K項(xiàng);
從控制器側(cè)到主機(jī)側(cè);
獨(dú)立的MSI-X中斷處理。

b.隊(duì)列處理流程

NVMe的驅(qū)動(dòng)和設(shè)備交互跟Virtio不同:Virtio是在通過一個(gè)隊(duì)列完成雙向通知交互;而NVMe則采用提交隊(duì)列和完成隊(duì)列配合完成雙向交互的方式。

如圖3,NVMe隊(duì)列處理流程如下(其中主機(jī)為軟件驅(qū)動(dòng),控制器為硬件設(shè)備):

(1)主機(jī)寫命令到提交隊(duì)列項(xiàng)中。

(2)主機(jī)寫DB(Doorbell)寄存器,通知控制器有新命令待處理。

(3)控制器從內(nèi)存中的提交隊(duì)列中讀取命令。

(4)控制器執(zhí)行命令。

(5)控制器更新完成隊(duì)列,表示當(dāng)前的SQ項(xiàng)已經(jīng)處理。

(6)控制器發(fā)MSI-x中斷到主機(jī)CPU。

(7)主機(jī)處理完成隊(duì)列,同步更新提交隊(duì)列中的已處理項(xiàng)。

(8)主機(jī)寫完成隊(duì)列Db到控制器,告知完成隊(duì)列項(xiàng)已釋放。

一文詳細(xì)了解高速存儲(chǔ)接口NVMe

圖3 NVMe隊(duì)列處理流程

4 NVMe命令結(jié)構(gòu)

我們通過如下一些概念來理解NVMe命令結(jié)構(gòu):

隊(duì)列項(xiàng)的數(shù)據(jù)格式。NVMe的提交命令固定64字節(jié),完成命令固定16字節(jié)。

命令。NVMe命令分為Admin和IO兩類。

NVMe的數(shù)據(jù)塊組織方式有PRP和SGL兩種。

a.隊(duì)列項(xiàng)的數(shù)據(jù)格式

提交隊(duì)列和完成隊(duì)列,組成隊(duì)列對(duì),協(xié)作完成NVMe驅(qū)動(dòng)和設(shè)備之間的命令傳輸。提交隊(duì)列每一項(xiàng)64字節(jié)固定大小,完成隊(duì)列每一項(xiàng)16字節(jié)固定大小。

提交隊(duì)列的數(shù)據(jù)格式如圖4所示。NVMe提交隊(duì)列項(xiàng)的數(shù)據(jù)格式屬性如下:

Opcode:命令操作碼

FUSE:熔合兩個(gè)命令為一條命令

PSDT:PRP或SGL數(shù)據(jù)傳輸

Command Identifier:命令I(lǐng)D

Namespace Identifier:命名空間ID

Metadata Pointer:元數(shù)據(jù)指針

PRP entry 1/2:物理區(qū)域頁項(xiàng),對(duì)應(yīng)的由PRP和PRP列表

SGL:散列聚合列表

一文詳細(xì)了解高速存儲(chǔ)接口NVMe

圖4 提交隊(duì)列項(xiàng)的數(shù)據(jù)格式

完成隊(duì)列的數(shù)據(jù)格式如圖5所示。

一文詳細(xì)了解高速存儲(chǔ)接口NVMe

圖5 完成隊(duì)列項(xiàng)的數(shù)據(jù)格式

NVMe完成隊(duì)列的數(shù)據(jù)格式屬性如下:

SQ Header pointer:SQ頭指針

SQ Identifier:SQ ID

Command Identifier:命令I(lǐng)D

P:相位標(biāo)志phase tag,完成隊(duì)列沒有head/tail交互,通過相位標(biāo)志實(shí)現(xiàn)完成隊(duì)列項(xiàng)的釋放

Status Field:狀態(tài)域

b.NVMe命令

NVMe管理類的命令如表4所示。

表4 NVMe管理命令列表

命令 必選或可選 類別
創(chuàng)建IO SQ 必選 隊(duì)列管理
刪除IO SQ 必選
創(chuàng)建IO CQ 必選
刪除IO CQ 必選
鑒別 必選 配置
獲取特征 必選
設(shè)置特征 必選
獲取日志頁 必選 狀態(tài)報(bào)告
異步事件請(qǐng)求 必選
中止 必選 中止命令
固件鏡像下載 可選 固件更新和管理
固件可用 可選
IO命令集定制命令 可選 IO命令集定制
供應(yīng)商定制命令 可選 供應(yīng)商定制

NVMe IO類命令如表5所示。

表5 NVMe IO類命令列表

命令 必選或可選 類別
必選 必選的數(shù)據(jù)命令
必選
清洗 必選
不可改正的寫 可選 可選的數(shù)據(jù)命令
寫0 可選
比較 可選
數(shù)據(jù)集管理 可選 數(shù)據(jù)提示
預(yù)約獲取 可選 預(yù)約命令
預(yù)約寄存器 可選
預(yù)約釋放 可選
預(yù)約報(bào)告 可選
供應(yīng)商專用命令 可選 供應(yīng)商專用

c.物理區(qū)域頁P(yáng)RP

PRP本質(zhì)是一個(gè)鏈表,鏈表中的每一個(gè)指針都指向一個(gè)不超過頁大小的數(shù)據(jù)塊。PRP為8字節(jié)(64bits)固定大小,PRPList則最多可以占滿一整個(gè)頁。

PRP1和PRP2的格式如圖6(a)所示。如果是首個(gè)PRP,則Offset(偏移量)可能是非零的數(shù)據(jù),另外,偏移量是32bits對(duì)齊的(即末尾兩位為0)。如圖6(b)所示,在PRP列表中的所有PRP項(xiàng)的偏移量都為0,也即是PRP指針指向頁面起始地址。

一文詳細(xì)了解高速存儲(chǔ)接口NVMe

圖6 PRP和PRP列表的格式

如圖7(a)所示,當(dāng)數(shù)據(jù)只有一個(gè)或兩個(gè)頁面的時(shí)候,就不需要使用PRP列表數(shù)據(jù)結(jié)構(gòu),直接PRP1和PRP2指向內(nèi)存頁面。當(dāng)一個(gè)命令指向的數(shù)據(jù)超過兩個(gè)內(nèi)存頁面的時(shí)候,就需要使用PRP列表,圖7(b)所顯式的為使用PRP列表的數(shù)據(jù)結(jié)構(gòu)。

一文詳細(xì)了解高速存儲(chǔ)接口NVMe

(a) 范例1:PRP直接指向內(nèi)存頁面

一文詳細(xì)了解高速存儲(chǔ)接口NVMe

(b) 范例2:PRP列表指針,指向PRP列表,再指向內(nèi)存頁面

圖7 PRP數(shù)據(jù)結(jié)構(gòu)范例

d.散列聚合列表SGL

PRP每個(gè)鏈表指針最多指向一個(gè)頁大小的數(shù)據(jù)塊,即使若干個(gè)頁在內(nèi)存連續(xù)放置,PRP也需要對(duì)應(yīng)的多個(gè)PRP項(xiàng)。為了減少元數(shù)據(jù)規(guī)模,SGL不限制指針指向數(shù)據(jù)塊的大小,這樣連續(xù)的若干個(gè)頁的數(shù)據(jù),只需要一個(gè)SGL項(xiàng)就可以標(biāo)識(shí)。

NVMe中SGL的長度為16字節(jié)固定長度,其格式如圖8(a)所示,在最高的第15字節(jié)SGL描述符類型域和子類型域標(biāo)識(shí)不同類型的SGL描述符,根據(jù)不同的描述符,字節(jié)14-0的格式各有不同。SGL描述符類型如圖8(b)所示。

一文詳細(xì)了解高速存儲(chǔ)接口NVMe

圖8 NVMe SGL數(shù)據(jù)格式

如圖9,NVMe SGL的數(shù)據(jù)結(jié)構(gòu)是鏈表形式,SQ中的首個(gè)SGL段只有1項(xiàng),為指向下一個(gè)SGL段的指針。下一個(gè)SGL段包含若干SGL數(shù)據(jù)塊描述符,SGL段的最后的一個(gè)SGL描述符為另一個(gè)SGL段指針,指向下一個(gè)SGL段。根據(jù)傳輸數(shù)據(jù)大小,在最后一個(gè)SGL 段中,所有的SGL描述符都是SGL數(shù)據(jù)塊描述符。

PRP只能指向單個(gè)內(nèi)存頁,這樣,當(dāng)要傳輸?shù)臄?shù)據(jù)塊非常大的時(shí)候,就需要非常多的PRP項(xiàng)。而SGL可以指向不同大小的數(shù)據(jù)塊,處于連續(xù)內(nèi)存區(qū)域的多個(gè)數(shù)據(jù)塊只需要一個(gè)SGL描述符就可以標(biāo)識(shí)。因此,一般情況下,SGL比PRP更高效,更節(jié)省描述符資源。

一文詳細(xì)了解高速存儲(chǔ)接口NVMe

圖9 NVMe SGL數(shù)據(jù)結(jié)構(gòu)范例

5 網(wǎng)絡(luò)存儲(chǔ)接口NVMeoF

NVMeoF(NVMe over Fabrics)定義了一種通用架構(gòu),該架構(gòu)支持一系列基于NVMe塊存儲(chǔ)協(xié)議的存儲(chǔ)網(wǎng)絡(luò)系統(tǒng)。包括從前端存儲(chǔ)接口到后端擴(kuò)展的大量NVMe設(shè)備或NVMe子系統(tǒng),也包括訪問遠(yuǎn)程N(yùn)VMe設(shè)備和NVMe子系統(tǒng)所需的網(wǎng)絡(luò)傳輸系統(tǒng)。

如圖10所示,NVMeoF支持以太網(wǎng)、光纖和InfiniBand等不同的網(wǎng)絡(luò)傳輸介質(zhì)?;赗DMA的NVMeoF,使用的是InfiniBand、RoCEv1/v2或iWARP。NVMeoF的主要目標(biāo)是提供與NVMe設(shè)備的低延遲遠(yuǎn)程連接,與服務(wù)器本地NVMe設(shè)備相比,增加的延遲不超過10μs。

一文詳細(xì)了解高速存儲(chǔ)接口NVMe

圖10 NVMe over Fabrics支持的網(wǎng)絡(luò)傳輸介質(zhì)

利用NVMeoF技術(shù),可以輕松構(gòu)建由許多NVMe設(shè)備組成的存儲(chǔ)系統(tǒng),它通過基于RDMA或光纖網(wǎng)絡(luò)實(shí)現(xiàn)的NVMeoF,構(gòu)成了完整的NVMe端到端存儲(chǔ)解決方案。NVMeoF系統(tǒng)可以提供非常高的訪問性能,同時(shí)保持非常低的訪問延遲。

為了遠(yuǎn)距離傳輸NVMe協(xié)議,理想的基礎(chǔ)網(wǎng)絡(luò)結(jié)構(gòu)應(yīng)具有以下特征:

可靠的基于信用的流量控制和傳輸機(jī)制。需要網(wǎng)絡(luò)能支持自動(dòng)流量調(diào)節(jié),從而提供可靠的網(wǎng)絡(luò)連接?;谛庞玫牧髁靠刂剖枪饫w、InfiniBand和PCIe原生支持的功能。

優(yōu)化的NVMe客戶端。客戶端軟件能夠直接與傳輸網(wǎng)絡(luò)之間發(fā)送和接收NVMe命令,不需要使用諸如SCSI之類比較低效的轉(zhuǎn)換層。

低延遲的網(wǎng)絡(luò)。網(wǎng)絡(luò)應(yīng)該是針對(duì)低延遲優(yōu)化過的,網(wǎng)絡(luò)路徑(包括交換機(jī))端到端延遲不能超過10 μs。

能夠減少延遲和CPU使用率的硬件接口卡。接口卡支持直接內(nèi)存注冊(cè)給用戶模式的應(yīng)用程序使用,以便數(shù)據(jù)傳輸可以直接從應(yīng)用程序傳遞到接口卡。

網(wǎng)絡(luò)擴(kuò)展。網(wǎng)絡(luò)能夠支持?jǐn)U展到成千上萬個(gè)設(shè)備,甚至更多。

多主機(jī)支持。該網(wǎng)絡(luò)應(yīng)能夠支持多個(gè)主機(jī)同時(shí)發(fā)送和接收命令。這也適用于多個(gè)存儲(chǔ)子系統(tǒng)。

端口支持。主機(jī)服務(wù)器和存儲(chǔ)系統(tǒng)應(yīng)能夠同時(shí)支持多個(gè)端口。

多路徑支持。該網(wǎng)絡(luò)應(yīng)能夠同時(shí)支持任何NVMe主機(jī)發(fā)起端和任何NVMe存儲(chǔ)目標(biāo)端之間的多個(gè)路徑。

最多可達(dá)64K的獨(dú)立IO隊(duì)列以及IO隊(duì)列固有的并行性可以很好地與上述特征一起使用。每個(gè)IO隊(duì)列可同時(shí)支持64K個(gè)命令。另外,NVMe命令數(shù)量非常少,因此在各種不同的網(wǎng)絡(luò)環(huán)境中實(shí)現(xiàn)起來也非常的簡單高效。

NVMeoF協(xié)議大約90%與NVMe協(xié)議相同。這包括NVMe命名空間、IO和管理命令、寄存器和屬性、電源狀態(tài)、異步事件等。兩者的差異對(duì)比如表6所示。

表6 NVMe和NVMeoF對(duì)比

差異性 NVMe(PCIe) NVMeoF
識(shí)別碼 BDF信息 NVMe合格名稱(NQN)
設(shè)備發(fā)現(xiàn) 總線枚舉 發(fā)現(xiàn)和連接命令
排隊(duì) 基于內(nèi)存 基于消息
數(shù)據(jù)傳輸 PRP或SGL 僅SGL,添加了密鑰

NVMe基于分層的設(shè)計(jì):如果把NVMe傳輸映射到內(nèi)存訪問和PCIe總線,則是通常所理解的NVMe;如果把NVMe傳輸映射到RoCE等網(wǎng)絡(luò)接口,基于消息傳輸和內(nèi)存訪問,則是NVMeoF。

如圖11,在本地NVMe中,NVMe命令和響應(yīng)映射到主機(jī)中的共享內(nèi)存,可以通過PCIe接口訪問。但是,NVMeoF是基于節(jié)點(diǎn)之間發(fā)送和接收消息的概念構(gòu)建的。NVMeoF通過把NVMe命令和響應(yīng)封裝到消息,每個(gè)消息包含一個(gè)或多個(gè)NVMe命令或響應(yīng)。

一文詳細(xì)了解高速存儲(chǔ)接口NVMe

圖11 NVMeoF堆棧

對(duì)于NVMeoF來說,多隊(duì)列特征是支持的。通過使用類似NVMe的提交隊(duì)列和完成隊(duì)列機(jī)制來支持NVMe多隊(duì)列模型,但是將命令封裝在基于消息的傳輸中。NVMe IO隊(duì)列對(duì)(提交和完成)是為多核CPU設(shè)計(jì)的,這種低延遲的設(shè)計(jì)在NVMeoF也同樣支持。

當(dāng)通過網(wǎng)絡(luò)將復(fù)雜的消息發(fā)送到遠(yuǎn)端NVMe設(shè)備時(shí),允許將多個(gè)小消息合并成一條消息發(fā)送,從而提高傳輸效率并減少延遲。如圖12,一條消息封裝了提交隊(duì)列項(xiàng)或完成隊(duì)列項(xiàng)、多個(gè)SGL、多組數(shù)據(jù)以及元數(shù)據(jù)等。每一項(xiàng)的內(nèi)容與本地NVMe協(xié)議相同,但是封裝是將它們打包在一起,用以提高傳輸效率。

一文詳細(xì)了解高速存儲(chǔ)接口NVMe

圖12 NVMeoF的命令和響應(yīng)封裝

6 NVMe及NVMeoF總結(jié)

NVMe是為了高速非易失性存儲(chǔ)定制的存儲(chǔ)接口訪問協(xié)議,定向優(yōu)化了存儲(chǔ)的主要性能指標(biāo):帶寬、延遲和IOPS。NVMe最重要的特征體現(xiàn)在:

面向高速存儲(chǔ)場(chǎng)景定制:NVMe是專門面向高速存儲(chǔ)場(chǎng)景定制的協(xié)議,因此充分考慮了塊存儲(chǔ)的特點(diǎn),重點(diǎn)解決存儲(chǔ)性能的關(guān)鍵問題。

多隊(duì)列支持:多隊(duì)列不僅僅充分利用了硬件的并行處理能力,同時(shí),也充分的利用了多核系統(tǒng)多線程并行的特點(diǎn),最大化的優(yōu)化了NVMe的性能。

標(biāo)準(zhǔn)化:NVMe是得到廣泛應(yīng)用的PCIe SSD接口標(biāo)準(zhǔn),各大主流操作系統(tǒng)支持統(tǒng)一的標(biāo)準(zhǔn)NVMe驅(qū)動(dòng)。

NVMeoF集成現(xiàn)有的NVMe和高速低延遲傳輸網(wǎng)絡(luò)的技術(shù),提供一整套整合的遠(yuǎn)程高速存儲(chǔ)系統(tǒng)解決方案,非常適應(yīng)于大規(guī)模存儲(chǔ)集群的應(yīng)用場(chǎng)景。

原文標(biāo)題:高速的、標(biāo)準(zhǔn)化的存儲(chǔ)接口NVMe

文章出處:【微信公眾號(hào):中科院半導(dǎo)體所】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 存儲(chǔ)器
    +關(guān)注

    關(guān)注

    38

    文章

    7455

    瀏覽量

    163622
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8526

    瀏覽量

    150861
  • 設(shè)備
    +關(guān)注

    關(guān)注

    2

    文章

    4480

    瀏覽量

    70547

原文標(biāo)題:高速的、標(biāo)準(zhǔn)化的存儲(chǔ)接口NVMe

文章出處:【微信號(hào):bdtdsj,微信公眾號(hào):中科院半導(dǎo)體所】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    詳細(xì)了解JTAG接口

    在FPGA研發(fā)及學(xué)習(xí)過程中,有個(gè)關(guān)鍵步驟就是下板實(shí)現(xiàn),做硬件“硬現(xiàn)”很重要,般來說用JTAG口比較常見些,因此相信肯定有些大俠遇到過JTAG口失靈或者損壞無法使用的事情。最近我就遇到了這類事情
    發(fā)表于 07-20 09:15 ?1.2w次閱讀

    Xilinx FPGA NVMe Host Controller IP,NVMe主機(jī)控制器

    NVMe Host Controller IP1介紹NVMe Host Controller IP可以連接高速存儲(chǔ)PCIe SSD,無需CPU和外部
    發(fā)表于 02-21 10:16

    在Xilinx ZCU102評(píng)估套件上啟用NVMe SSD接口

    要求具有超高速性能的NVMe SSD存儲(chǔ)的應(yīng)用,建議使用此解決方案。圖3:NVMeG3-IP框圖。(圖片來源:Design Gateway)NVMeG3-IP的功能NVMeG3-IP具有許多功能,其中
    發(fā)表于 09-03 16:07

    詳細(xì)了解下ups的相關(guān)計(jì)算

    關(guān)于ups方面的計(jì)算有很多,ups無論是接空開,還是連接電纜,以及選擇電池,都可能需要計(jì)算它的電流或功率等,那么今天我們來詳細(xì)了解下ups的相關(guān)計(jì)算。、UPS電源及電流、高頻ups與工頻ups
    發(fā)表于 11-16 09:08

    詳細(xì)了解下STM32F1的具體電路參數(shù)

    最近筆者在使用STM32時(shí),需要詳細(xì)了解下F1的具體電路參數(shù)。于是查看其官方數(shù)據(jù)手冊(cè),結(jié)果記錄如下。絕對(duì)最大額度值般工作條件表中的FT指5V 耐壓。可以在引腳定義表格中看到。I/O端口特性(邏輯電平)在最后
    發(fā)表于 01-18 07:07

    基于 NVMe 接口的帶 exFAT 文件系統(tǒng)的高速存儲(chǔ) FPGA IP 核演示

    和朋友開發(fā)了幾個(gè)基于 FPGA 的高速存儲(chǔ) IP 核,考慮到工業(yè)相機(jī)等應(yīng)用場(chǎng)合需要有文件系統(tǒng)以方便做數(shù)據(jù)管理,所以將 NVMe 和 exFAT 兩大IP核集成起,可以實(shí)現(xiàn)將數(shù)據(jù)寫入S
    發(fā)表于 06-03 11:35

    通過 iftop、 nethogs 和 vnstat 詳細(xì)了解你的網(wǎng)絡(luò)連接狀態(tài)

    通過 iftop、 nethogs 和 vnstat 詳細(xì)了解你的網(wǎng)絡(luò)連接狀態(tài)。
    的頭像 發(fā)表于 01-27 21:10 ?2.1w次閱讀
    通過 iftop、 nethogs 和 vnstat <b class='flag-5'>詳細(xì)了解</b>你的網(wǎng)絡(luò)連接狀態(tài)

    NVMe標(biāo)準(zhǔn)更新定義了個(gè)軟件接口

    NVMe 2.0更廣泛的商業(yè)化和應(yīng)用掃清了道路,目前NVMe 2.0直受到特定于供應(yīng)商的分區(qū)存儲(chǔ)接口和有限硬件選擇的阻礙。
    的頭像 發(fā)表于 08-21 16:20 ?3043次閱讀
    <b class='flag-5'>NVMe</b>標(biāo)準(zhǔn)更新定義了<b class='flag-5'>一</b>個(gè)軟件<b class='flag-5'>接口</b>

    詳細(xì)了解OpenHarmony新圖形框架

    3月30日,OpenHarmony v3.1 Release版本正式發(fā)布了。此版本為大家?guī)砹巳碌膱D形框架,實(shí)現(xiàn)了UI框架顯示、多窗口、流暢動(dòng)畫等基礎(chǔ)能力,夯實(shí)了OpenHarmony系統(tǒng)能力基座。下面就帶大家詳細(xì)了解新圖形框架。
    的頭像 發(fā)表于 04-27 13:21 ?2134次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>詳細(xì)了解</b>OpenHarmony新圖形框架

    新品推薦|40G光纖接入的NVME存儲(chǔ)模塊

    基于光纖接入的NVME存儲(chǔ)模塊對(duì)外提供2路40G高速接口,支持AURORA、SRIO高速協(xié)議實(shí)現(xiàn)多路數(shù)據(jù)的同時(shí)記錄和回放,可循環(huán)覆蓋通過FP
    的頭像 發(fā)表于 12-05 17:37 ?921次閱讀
    新品推薦|40G光纖接入的<b class='flag-5'>NVME</b><b class='flag-5'>存儲(chǔ)</b>模塊

    帶您詳細(xì)了解IEEE802.3bt(PoE++)的有關(guān)特點(diǎn)

    Hqst華強(qiáng)盛(盈盛電子)導(dǎo)讀:帶您詳細(xì)了解IEEE802.3bt(PoE++)的有關(guān)特點(diǎn),讓我們對(duì)IEEE802.3bt(PoE++)協(xié)議有更具體的了解
    的頭像 發(fā)表于 01-04 11:26 ?1996次閱讀
    帶您<b class='flag-5'>一</b>起<b class='flag-5'>詳細(xì)了解</b>IEEE802.3bt(PoE++)的有關(guān)特點(diǎn)

    Xilinx FPGA NVMe控制器,NVMe Host Controller IP

    NVMe Host Controller IP可以連接高速存儲(chǔ)PCIe SSD,無需CPU和外部存儲(chǔ)器,自動(dòng)加速處理所有的NVMe協(xié)議命令,
    的頭像 發(fā)表于 02-18 11:27 ?855次閱讀
    Xilinx FPGA <b class='flag-5'>NVMe</b>控制器,<b class='flag-5'>NVMe</b> Host Controller IP

    帶你詳細(xì)了解工業(yè)電腦

    扇設(shè)計(jì)、承受振動(dòng)和惡劣環(huán)境的能力、輕松配置、全面的I/O選項(xiàng)、延長生命周期、耐用的組件。了解如何為您的應(yīng)用選擇工業(yè)電腦對(duì)提高設(shè)施的生產(chǎn)力和效率至關(guān)重要。詳細(xì)了解
    的頭像 發(fā)表于 06-12 14:24 ?355次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b>帶你<b class='flag-5'>詳細(xì)了解</b>工業(yè)電腦

    m2接口sata和nvme怎么區(qū)分

    M.2接口種常見的固態(tài)硬盤接口,它支持SATA和NVMe兩種不同的協(xié)議。這兩種協(xié)議在性能、功耗、價(jià)格等方面存在定的差異,因此在選擇固態(tài)
    的頭像 發(fā)表于 07-10 10:19 ?4577次閱讀

    詳解 ALINX NVMe IP 特性

    - ALINX NVMe?IP - 在當(dāng)下數(shù)據(jù)驅(qū)動(dòng)的時(shí)代,企業(yè)對(duì)高性能存儲(chǔ)解決方案的需求不斷增加。NVMe AXI IP 憑借其支持大數(shù)據(jù)量、高速傳輸、低延遲等
    的頭像 發(fā)表于 11-14 13:59 ?162次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b>詳解 ALINX <b class='flag-5'>NVMe</b> IP 特性