TWI750405B - 提供差異化儲存服務的方法和乙太網路固態驅動器 - Google Patents
提供差異化儲存服務的方法和乙太網路固態驅動器 Download PDFInfo
- Publication number
- TWI750405B TWI750405B TW107128428A TW107128428A TWI750405B TW I750405 B TWI750405 B TW I750405B TW 107128428 A TW107128428 A TW 107128428A TW 107128428 A TW107128428 A TW 107128428A TW I750405 B TWI750405 B TW I750405B
- Authority
- TW
- Taiwan
- Prior art keywords
- state drive
- solid state
- identifier
- ethernet
- label
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
- G06F15/17331—Distributed shared memory [DSM], e.g. remote direct memory access [RDMA]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/351—Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2212/00—Encapsulation of packets
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一種利用乙太網路固態驅動器進行差異化儲存服務的系
統及方法,所述方法包括:在乙太網路固態驅動器(eSSD)處通過多協議標籤交換(MPLS)網路從遠端主機接收輸入/輸出(I/O)服務請求。所述輸入/輸出服務請求包括至少一個參數,可使用所述至少一個參數來基於所述參數將所述輸入/輸出服務請求匹配到標籤交換路徑(LSP)。可接著根據所述標籤交換路徑通過所述多協定標籤切換式網路在所述乙太網路固態驅動器與所述遠端主機之間開啟儲存業務串流。也提供一種乙太網路固態驅動器。
Description
本申請主張在2017年11月30日提出申請的美國臨時專利申請第62/593,189號的優先權及權利,所述美國臨時專利申請的內容全文併入本申請供參考。
本揭露的一些實施例大體來說涉及一種乙太網路固態驅動器(eSSD)。
跨結構的非揮發性記憶體快速(non-volatile memory express over fabrics,NVMe-oF)使主機電腦能夠通過網路來與固態驅動器(solid state drive,SSD)之間直接執行輸入/輸出(Input/Output,I/O)操作。使用NVMe-oF固態驅動器能夠實現在按照最小延遲增加的情況下進行分解的遠端直接附接儲存(remote direct attached storage)。與SSD進行通訊的常用方法包括遠端直接記憶體存取(remote direct memory access,RDMA)、
基於聚合乙太網路的遠端直接記憶體存取(RDMA over Converged Ethernet,RoCE)、網際網路廣域遠端直接記憶體存取(Internet Wide-area RDMA,iWARP)及基於傳輸控制協議的非揮發性記憶體快速(NVMe-over-Transmission Control Protocol,NVMe-over-TCP)。
現有的儲存業務方法缺乏用於區分儲存業務與非儲存業務的手段。無法區分儲存業務與非儲存業務使得難以為輸入/輸出保證服務品質(quality of service,QoS)。此外,交換機及路由器的緩衝有限,且網路擁塞可進一步以不可預測的方式放慢輸入/輸出。因此期望提供一種改善的網路系統。
以上資訊僅是為了增強對本揭露實施例的背景的理解,且因此可能含有並非形成現有技術的資訊。
本揭露的一些實施例提供一種用於在乙太網路固態驅動器(Ethernet SSD,eSSD)系統中提供差異化儲存服務的系統及方法。在各種實施例中,一種eSSD系統被配置成通過多協定標籤交換(multiprotocol label switching,MPLS)網路從遠端主機接收輸入/輸出(I/O)服務請求。在各種實施例中,服務請求可包括至少一個參數。在各種實施例中,所述輸入/輸出服務請求匹配到基於所述至少一個參數的標籤交換路徑(label switched path,LSP)以及開啟通過所述多協定標籤切換式網路根據所述標籤交換路徑將所述遠端主機連接到所述eSSD的儲存業務串流。
在各種實施例中,利用所述至少一個參數及標籤查閱資
料表(LLT)來進行將所述輸入/輸出服務請求匹配到標籤交換路徑。
在各種實施例中,所述LLT儲存在所述eSSD上。
在各種實施例中,所述儲存業務串流包括至少一個MPLS包。
在各種實施例中,所述系統還被配置成由所述eSSD將第一資料包包封在MPLS包中。在各種實施例中,所述MPLS包包括具有與所述LSP相關聯的標籤堆的MPLS報頭。
在各種實施例中,所述第一資料包是以下中的一者:遠端直接記憶體存取包、基於聚合乙太網路的RDMA包、網際網路廣域RDMA包或基於TCP的NVMe包。
在各種實施例中,所述至少一個參數是至少一個儲存參數。
在各種實施例中,所述至少一個儲存參數是以下中的至少一者:佇列對ID(Queue Pair ID,QPID)、提交佇列ID(Submission Queue ID,SQID)、完成佇列ID(Completion Queue ID,CQID)、NVMe控制器ID(NVMe Controller ID,CNTID)、名稱空間ID(Namespace ID,NSID)、邏輯塊位址(logic block address,LBA)範圍<開始LBA>到<結束LBA>、NVMe串流ID、主機識別符、NVMe限定名稱(NVMe Qualified Name,NQN)識別符、基於時間的ID、基於日期的ID及非揮發性記憶體(non-volatile memory,NVM)組ID。
在各種實施例中,所述至少一個參數包括至少一個網路參數。
本揭露的一些實施例提供一種乙太網路固態驅動器,包括:乙太網路連接;記憶體;以及,處理器,被配置成執行所述記憶體中的指令,所述指令在由所述處理器執行時使所述處理器:利用所述乙太網路連接通過多協定標籤切換式網路從遠端主機接收輸入/輸出服務請求,其中所述輸入/輸出服務請求包括至少一個參數;由所述處理器基於所述至少一個參數將所述輸入/輸出服務請求匹配到標籤交換路徑;以及,利用所述乙太網路連接開啟儲存業務串流,所述儲存業務串流通過所述多協定標籤切換式網路根據所述標籤交換路徑將所述遠端主機連接到所述乙太網路固態驅動器。
本揭露的一些實施例提供一種提供差異化儲存服務的方法,包括:在乙太網路固態驅動器處通過多協定標籤切換式網路從遠端主機接收輸入/輸出服務請求,其中所述輸入/輸出服務請求包括至少一個參數;由所述乙太網路固態驅動器基於所述至少一個參數將所述輸入/輸出服務請求匹配到標籤交換路徑,其中所述輸入/輸出服務請求是利用標籤查閱資料表並利用所述至少一個參數被匹配到標籤交換路徑;由所述乙太網路固態驅動器將第一資料包包封在多協議標籤交換包中,所述多協議標籤交換包還包括具有與所述標籤交換路徑相關聯的標籤堆的多協議標籤交換標頭;以及,由所述乙太網路固態驅動器開啟儲存業務串流,所述儲存業務串流通過所述多協定標籤切換式網路根據所述標籤交換路徑將所述多協定標籤交換包從所述乙太網路固態驅動器發送到所述遠端主機。
100:乙太網路SSD機架
110:乙太網路交換機
120:基板管理控制器(BMC)
130:周邊元件連接快速交換機(PCIe交換機)
140、141、142、430、530:乙太網路固態驅動器(eSSD)
150:網路/MPLS網路
160:應用
170:作業系統/檔案系統
180:NVMe-oF驅動器
200:MPLS包
210:標籤堆
211:存活時間欄位
212:堆底欄位
213:業務類別欄位(TC欄位)
214、215、216:標籤
220:傳統的資料包
400:遠端主機
410、510:標籤邊緣路由器(LER)
420、520:MPLS網路
500:遠端主機
540:非MPLS網路
J:第一儲存業務串流/儲存業務串流
K、N:標籤交換路徑(LSP)
M:第二儲存業務串流/儲存業務串流
S300、S310、S320、S330:步驟
結合附圖閱讀以下說明可更詳細地理解一些實施例,在附圖中:
圖1繪示示例性的支援MPLS的NVMe-oF乙太網路SSD系統。
圖2繪示根據各種實施例的示例性MPLS包。
圖3繪示根據各種實施例的使用MPLS進行差異化儲存服務的示例性方法。
圖4繪示根據各種實施例的其中起始主機是MPLS網路域的一部分的示例性eSSD MPLS網路。
圖5繪示根據各種實施例的其中起始主機位於MPLS網路域外部的示例性eSSD MPLS網路。
通過參照對實施例及附圖的以下詳細說明,可更容易地理解本發明概念的特徵及其實現方法。在下文中,將參照附圖更詳細地闡述實施例,其中在所有附圖中相同的參考編號指代相同的元件。然而,本發明可被實施為各種不同形式,而不應被視為僅限於本文所示出的實施例。確切來說,提供這些實施例作為實例是為了使本揭露將透徹及完整,並將向所屬領域中的技術人員充分傳達本發明的各個方面及特徵。因此,可不再闡述對於所屬領域中的一般技術人員完整地理解本發明的各個方面及特徵而言並非必需的製程、元件及技術。除非另有說明,否則在所有附圖及書面說明通篇中相同的參考編號表示相同的元件,且因此,將
不再對其予以重複說明。在圖式中,為清晰起見,可誇大各個元件、各個層及各個區的相對大小。
在以下說明中,出於解釋目的,闡述各種具體細節來提供對各種實施例的透徹理解。然而,顯而易見的是,可不使用這些具體細節或者可使用一種或多種等效配置來實踐各種實施例。在其他實例中,以方塊圖形式示出眾所周知的結構及裝置以避免不必要地混淆各種實施例。
應理解,當稱一元件、層、區或元件位於另一元件、層、區或元件“位於...上(on)”、“連接到(connected to)”或“耦合到(coupled to)”另一元件、層、區或元件時,所述元件、層、區或元件可直接位於所述另一元件、層、區或元件上、直接連接到或直接耦合到所述另一元件、層、區或元件,抑或可存在一個或多個中間元件、層、區或元件。然而,“直接連接/直接耦合(directly connected/directly coupled)”則是指一個元件與另一個元件直接連接或直接耦合,而不具有中間元件。同時,例如“位於...之間(between)”、“直接位於...之間(immediately between)”或者“相鄰於...(adjacent to)”及“緊鄰於...(directly adjacent to)”等闡述各個元件之間的關係的其他表達可類似地加以解釋。另外,還應理解,當稱一元件或層“位於”兩個元件或層“之間(between)”時,所述元件或層可為所述兩個元件或層之間的唯一元件或層,抑或也可存在一個或多個中間元件或層。
本文所用術語僅是出於闡述特定實施例的目的而並非旨在限制本發明。除非上下文清楚地另外指明,否則本文所用單數形式“一(a及an)”旨在也包括複數形式。還應理解,當在
本說明書中使用用語“包括(comprises、comprising)”、“具有(have、having)”及“包含(includes、including)”時,是指明所陳述特徵、整數、步驟、操作、元件和/或元件的存在,但不排除一個或多個其他特徵、整數、步驟、操作、元件、元件和/或其群組的存在或添加。本文所用用語“和/或”包括相關列出項中的一個或多個項的任意及所有組合。
本文所用用語“實質上(substantially)”、“大約(about)”、“近似地(approximately)”及類似用語用作近似用語、而並非作為程度用語,並且旨在考慮到所屬領域中的一般技術人員將知的測量值或計算值的固有偏差。本文所述“大約”或“近似地”包括所闡述值且意指處於所屬領域中的一般技術人員所確定的特定值的偏差的可接受範圍內,此考慮到所說的測量以及與特定品質的測量相關聯的誤差和問題(即,測量系統的限制)。舉例來說,“大約”可意指處於一個或多個標準差範圍內,或處於所述規定值的±30%、20%、10%、5%內。另外,在闡述本發明的實施例時使用“可(may)”是指“本發明的一個或多個實施例”。本文所用用語“使用(use)”、“正使用(using)”及“被使用(used)”可被視為分別與用語“利用(utilize)”、“正利用(utilizing)”及“被利用(utilized)”同義。另外,用語“示例性(exemplary)”旨在指實例或例示。
當某一實施例可被以不同方式實施時,特定製程次序可與所闡述的次序不同地執行。舉例來說,兩個連續闡述的製程可實質上同時執行或以與所闡述的次序相反的次序執行。
在本文中參照剖視圖闡述各種實施例,所述剖視圖為實
施例和/或中間結構的示意性例示。因此,預期會因例如製造技術和/或容差而導致相對於例示形狀的變化。另外,本文所揭露的具體結構說明或功能說明僅是例示性的,目的在於闡述根據本揭露概念的實施例。因此,本文所揭露的實施例不應被視為僅限於各個區的特定例示形狀,而是應包含由例如製造引起的形狀偏差。舉例來說,被例示為矩形的植入區通常應具有圓形特徵或曲線特徵和/或在其邊緣存在植入濃度的梯度而非從植入區到非植入區為二元變化。同樣地,通過植入而形成的掩埋區可在所述掩埋區與在進行植入時所經過的表面之間的區中引起一些植入。因此,圖式中所例示的區為示意性的且其形狀並非旨在例示裝置的區的實際形狀且並非旨在進行限制。
根據本文所述本發明的實施例的電子裝置或電裝置和/或任何其他相關裝置或元件可利用任何適合的硬體、韌體(例如,應用專用積體電路(application-specific integrated circuit))、軟體、或軟體、韌體、及硬體的組合來實施。舉例來說,可將這些裝置的各種元件形成在一個積體電路(integrated circuit,IC)晶片上或單獨的積體電路晶片上。此外,可將這些裝置的各種元件實施在柔性印刷電路膜(flexible printed circuit film)、帶載封裝(tape carrier package,TCP)、印刷電路板(printed circuit board,PCB)上、或形成在一個基板上。此外,這些裝置的各種元件可為在一個或多個計算裝置中由一個或多個處理器運行、執行電腦程式指令並與用於執行本文所述各種功能性的其他系統元件進行交互的過程或執行緒(thread)。電腦程式指令儲存在可在使用例如(舉例來說)隨機存取記憶體(random access memory,RAM)等標準
記憶體裝置的計算裝置中實施的記憶體中。電腦程式指令也可儲存在例如(舉例來說)緊湊型光碟唯讀記憶體(compact disc read only memory,CD-ROM)、快閃記憶體驅動器(flash drive)或類似元件等其他非暫時性電腦可讀媒體中。另外,所屬領域中的技術人員應知,在不背離本發明示例性實施例的精神及範圍的條件下,可將各種計算裝置的功能性組合或整合成單一的計算裝置,或者可使一特定計算裝置的功能性跨越一個或多個其他計算裝置分佈。
除非另外定義,否則本文所用所有用語(包括技術及科學用語)的含義均與本發明所屬領域中的普通技術人員所通常理解的含義相同。還應理解,用語(例如在常用詞典中所定義的用語)應被解釋為具有與其在相關技術的上下文和/或本說明書中的含義一致的含義,且除非在本文中明確定義,否則不應將其解釋為具有理想化或過於正式的意義。
本發明的實施例包括一種利用多協議標籤交換(Multiprotocol Label Switching,MPLS)在NVMe-oF乙太網路SSD中進行差異化儲存服務的系統及方法。MPLS能夠使用用於識別各個節點之間的路徑的標籤來代替與路由表相結合的傳統的長的網路位址。在各種實施例中,支持MPLS的eSSD可被配置成能夠用作MPLS標籤邊緣路由器(label edge router,LER)。因此,eSSD能夠將傳統的eSSD輸入/輸出包包封到包括外出業務(egress traffic)的標籤堆的MPLS包中並從進入業務(ingress traffic)移除MPLS包。可利用儲存參數及網路參數來進行往來於eSSD之間的業務分類且儲存參數及網路參數可用於確定用於進行路由的
MPLS標籤。因此,可根據與儲存參數及網路參數相關聯的服務品質來選擇MPLS標籤。
圖1繪示示例性的支援MPLS的NVMe-oF乙太網路SSD系統。
參照圖1,在各種實施例中,乙太網路SSD機架100可包括乙太網路交換機110、基板管理控制器(baseboard management controller,BMC)120、周邊元件連接快速(peripheral component interconnect express,PCIe)交換機130及多個eSSD 140、141、142。eSSD 140至142通過乙太網路交換機110連接到網路150。eSSD 140至142還通過PCIe交換機130連接到BMC 120。在各種實施例中,BMC 120可被配置成用於對eSSD 140至142執行管理任務。舉例來說,BMC 120可被配置成在每一個eSSD 140至142的標籤查閱資料表(Label Look-up table,LLT)中維持MPLS標籤映射。在遠端主機上運行的應用160可通過作業系統(operating system,OS)/檔案系統170及NVMe-oF驅動器180來利用eSSD 140至142進行輸入/輸出。
舉例來說,在各種實施例中,應用160可具有服務品質(QoS)要求且網路150包括MPLS網路。基於QoS要求,NVMe-oF驅動器180產生MPLS包,MPLS包包封有輸入/輸出命令且包括用於根據應用160的QoS要求來對輸入/輸出進行路由的標籤/標籤堆。MPLS輸入/輸出命令是在eSSD 140至142處接收的,eSSD 140至142可作為MPLS標籤邊緣路由器(LER)運行並從MPLS包移除輸入/輸出命令且執行指定的輸入/輸出功能。eSSD可使用MPLS包來執行作為命令執行的一部分所需要的與主機之間的任
何資料傳輸。eSSD 140至142將返回命令完成(return command completion)包封到MPLS包中,所述MPLS包具有描述根據QoS要求所選擇的返回輸入/輸出路徑的標籤。
圖2繪示根據各種實施例的示例性MPLS包。圖3繪示根據各種實施例的使用MPLS進行差異化儲存服務的示例性方法。
參照圖2,在各種實施例中,eSSD 140至142被配置成用作用於MPLS網路的LER。作為LER,eSSD 140至142被配置成通過以下操作來將資料包包封到MPLS包200中:將包括標籤堆210(其包括用於輸入/輸出串流的標籤交換路徑(LSP))的MPLS報頭以及其他MPLS資料欄位加到傳統的資料包,所述傳統的資料包包括用於遍歷非MPLS網路(例如,傳統網路)的合適的報頭資訊以及任何資料淨荷(data payload)。在各種實施例中,eSSD 140至142可通過MPLS網路從遠端主機接收輸入/輸出服務請求(S300)。在各種實施例中,輸入/輸出服務請求可包括用於將所請求的輸入/輸出服務請求從其他請求區分開的儲存參數及其他參數。舉例來說,網路可基於網路狀況以及對於輸入/輸出的QoS要求將不同的儲存業務串流區分開(例如,以不同方式進行對待)。舉例來說,較短的(例如,較快的路徑)可用于具有高速度QoS要求的輸入/輸出,而較長的(例如,較慢的路徑)可用於具有低速度QoS要求的輸入/輸出。在接收到輸入/輸出服務請求之後,eSSD 140至142可移除MPLS標籤堆,並基於所提供的參數將輸入/輸出服務請求匹配到LSP(S310)。在各種實施例中,對輸入/輸出服務請求進行匹配可包括利用標籤查閱資料表(LLT)對請求
進行匹配。舉例來說,可使用各種儲存參數將儲存業務串流映射到LSP。儲存參數可包括:佇列對識別符(ID)(QPID)、提交佇列ID(SQID)、完成佇列ID(CQID)、NVMe控制器ID(CNTID)、名稱空間ID(NSID)、邏輯塊位址範圍<開始LBA>到<結束LBA>、NVMe串流ID、主機識別符、NVMe限定名稱(NQN)識別符、基於時間的ID、基於日期的ID、NVM組ID、或任何其他儲存參數。另外,在一些實施例中,可使用例如網路報頭欄位等非儲存參數來將儲存業務串流映射到LSP。儲存管理員可對如何將儲存參數中的一個或多個儲存參數映射到每一個LSP進行程式設計。舉例來說,儲存管理員可利用BMC 120對LLT進行程式設計。BMC可接著通過PCIe交換機130及PCIe匯流排將LLT分配到所連接的eSSD 140到142中的每一者。每一個eSSD 140至142可接著利用LLT來為輸入/輸出請求指派LSP。在各種實施例中,每一個eSSD 140至142可被指派相同的LLT,而在其他實施例中,可向一個或多個eSSD 140至142指派獨有的LLT。一旦已將輸入/輸出服務請求匹配到LSP,便可起始儲存業務串流(S320)。由eSSD 140至142將傳出包包封到包括用於定義所選擇LSP的標籤堆的MPLS包中(S330)。
在各種實施例中,攜帶資料淨荷且還包括任何對於對傳統網路中的包進行路由而言所需的資訊的傳統資料包220被作為淨荷包封在MPLS包200中。舉例來說,在各種實施例中,傳統包可包括RDMA包、RoCE包、RoCE v2包、iWARP包或基於TCP的NVMe包。傳統的資料包220是通過加上MPLS報頭進行包封的。
在各種實施例中,MPLS報頭包括標籤堆210、存活時間(time to live,TTL)欄位211、堆底(S)欄位212、業務類別(traffic class,TC)欄位213及一個或多個標籤214、215、216。在各種實施例中,TC欄位213可用於QoS用途。如上所述,每一個標籤214至216用於識別MPLS網路150中各個節點之間的路徑中的分支(leg)以建立LSP。所述標籤如上所述可由LLT提供。
圖4繪示根據各種實施例的其中起始主機是MPLS網路域的一部分的示例性eSSD MPLS網路。
參照圖4,在各種實施例中,遠端主機400是MPLS網路420的一部分。在這些實施例中,遠端主機400被配置成連接到LER 410,LER 410針對傳出業務對來自主機的輸入/輸出進行包封並針對傳入輸入輸出移除MPLS包資訊。MPLS網路420包括可用于形成多條標籤交換路徑(LSP)的用於對資料進行路由的多個節點。被配置成用於MPLS通訊的eSSD 430還連接到MPLS網路420且可從遠端主機400接收輸入/輸出請求。在各種實施例中,遠端主機400可包括多個儲存業務串流。舉例來說,圖4繪示第一儲存業務串流J及第二儲存業務串流M。在各種實施例中,儲存業務串流中的每一者可根據LSP而經過MPLS網路420行進。在所繪示的實施例中,已向第一儲存業務串流J指派了LSP K且已向第二儲存業務串流M指派了LSP N。
圖5繪示根據各種實施例的其中起始主機位於MPLS網路域外部的示例性eSSD MPLS網路。
參照圖5,在各種實施例中,遠端主機500可不直接連接到MPLS網路520。在這些實施例中,遠端主機500可利用傳統
包格式通過傳統的非MPLS網路540將資料發送到與eSSD 530連接的MPLS網路520。每一儲存業務資料串流可經過非MPLS網路540在不受控制的共用網路路徑上行進直到資料在LER 510處到達MPLS網路520為止。LER 510將傳入資料包封到MPLS包中並從傳出資料(例如,行進到非MPLS網路540之外的資料)剝離MPLS包。舉例來說,儲存業務串流J可通過經過MPLS網路520的LSP K以及經過穿過非MPLS網路540的不受控制的共用網路路徑將遠端主機500連接到eSSD 530。相似地,儲存業務串流M可通過經過MPLS網路520的LSP N以及經過穿過非MPLS網路540的不受控制的共用網路路徑將遠端主機500連接到eSSD 530。在此實例中,儲存業務串流能夠部分地彼此區分開及與其他網路業務部分地區分開。
因此,本揭露的上述實施例提供一種利用MPLS在NVMe-oF乙太網路SSD中進行差異化儲存服務的系統及方法。當利用MPLS網路時,所述系統能夠根據各種儲存參數及其他參數來指派LSP。每一LSP可實現不同水準的服務並提供一種對經過網路的業務進行區分的方式。
以上是對示例性實施例的例示,而不應被視為對示例性實施例的限制。儘管已闡述了幾個示例性實施例,但是所屬領域中的技術人員將容易地理解,在不實質上背離示例性實施例的新穎教示及優點的條件下,在示例性實施例中可進行許多修改。因此,所有這些修改均旨在包含在由權利要求書所界定的示例性實施例的範圍內。在權利要求書中,手段附加功能條款旨在涵蓋執行所述功能的本文所述結構,且不僅涵蓋結構等效形式且還涵蓋
等效結構。因此,應理解,以上是對示例性實施例的例示,而不應被視為僅限於所揭露的具體實施例,且對所揭露的示例性實施例的修改形式以及其他示例性實施例也旨在包含於隨附權利要求書的範圍內。本發明概念是由以上權利要求書界定,其中所述權利要求書的等效形式包含在本文中。
100:乙太網路SSD機架
110:乙太網路交換機
120:基板管理控制器(BMC)
130:周邊元件連接快速交換機(PCIe交換機)
140、141、142:乙太網路固態驅動器(eSSD)
150:網路/MPLS網路
160:應用
170:作業系統/檔案系統
180:NVMe-oF驅動器
Claims (19)
- 一種提供差異化儲存服務的方法,包括:在乙太網路固態驅動器處通過第一網路從遠端主機接收輸入/輸出服務請求,其中所述輸入/輸出服務請求包括至少一個參數;由所述乙太網路固態驅動器基於包括服務品質要求的所述至少一個參數利用儲存在所述乙太網路固態驅動器上的標籤查閱資料表將所述輸入/輸出服務請求匹配到標籤交換路徑,所述服務品質要求用以進行所述乙太網路固態驅動器與所述遠端主機之間的輸入/輸出;以及由所述乙太網路固態驅動器開啟儲存業務串流,所述儲存業務串流通過所述第一網路根據所述標籤交換路徑將所述遠端主機連接到所述乙太網路固態驅動器。
- 如申請專利範圍第1項所述的方法,其中所述第一網路為多協定標籤切換式網路。
- 如申請專利範圍第1項所述的方法,其中所述儲存業務串流包括至少一個多協議標籤交換包。
- 如申請專利範圍第3項所述的方法,更包括:由所述乙太網路固態驅動器將第一資料包包封在多協議標籤交換包中,所述多協議標籤交換包更包括具有與所述標籤交換路徑相關聯的標籤堆的多協議標籤交換報頭。
- 如申請專利範圍第4項所述的方法,其中所述第一資料包包括以下中的一者:遠端直接記憶體存取包、基於聚合乙太網路 的遠端直接記憶體存取包、網際網路廣域遠端直接記憶體存取包或基於帶載封裝的非揮發性記憶體快速包。
- 如申請專利範圍第1項所述的方法,其中所述至少一個參數包括至少一個儲存參數。
- 如申請專利範圍第6項所述的方法,其中所述至少一個儲存參數包括以下中的至少一者:佇列對識別符、提交佇列識別符、完成佇列識別符、非揮發性記憶體快速控制器識別符、名稱空間識別符、自開始邏輯塊位址到結束邏輯塊位址的邏輯塊位址範圍、非揮發性記憶體快速串流識別符、主機識別符、非揮發性記憶體快速限定名稱識別符、基於時間的識別符、基於日期的識別符及非揮發性記憶體組識別符。
- 如申請專利範圍第1項所述的方法,其中所述至少一個參數包括至少一個網路參數。
- 一種乙太網路固態驅動器,包括:乙太網路連接;記憶體;以及處理器,其中所述處理器被配置成執行來自所述記憶體的指令,所述指令在由所述處理器執行時使所述處理器:利用所述乙太網路連接通過第一網路從遠端主機接收輸入/輸出服務請求,其中所述輸入/輸出服務請求包括至少一個參數;由所述處理器基於包括服務品質要求的所述至少一個參數利用儲存在所述乙太網路固態驅動器上的標籤查閱資料表將所述輸 入/輸出服務請求匹配到標籤交換路徑,所述服務品質要求用以進行所述乙太網路固態驅動器與所述遠端主機之間的輸入/輸出;以及利用所述乙太網路連接開啟儲存業務串流,所述儲存業務串流通過所述第一網路根據所述標籤交換路徑將所述遠端主機連接到所述乙太網路固態驅動器。
- 如申請專利範圍第9項所述的乙太網路固態驅動器,其中所述第一網路為多協定標籤切換式網路。
- 如申請專利範圍第10項所述的乙太網路固態驅動器,其中所述儲存業務串流包括至少一個多協議標籤交換包。
- 如申請專利範圍第11項所述的乙太網路固態驅動器,其中所述指令更使所述處理器:將第一資料包包封在多協議標籤交換包中,所述多協議標籤交換包更包括具有與所述標籤交換路徑相關聯的標籤堆的多協議標籤交換報頭。
- 如申請專利範圍第12項所述的乙太網路固態驅動器,其中所述第一資料包包括以下中的一者:遠端直接記憶體存取包、基於聚合乙太網路的遠端直接記憶體存取包、網際網路廣域遠端直接記憶體存取包或基於帶載封裝的非揮發性記憶體快速包。
- 如申請專利範圍第9項所述的乙太網路固態驅動器,其中所述至少一個參數包括至少一個儲存參數。
- 如申請專利範圍第14項所述的乙太網路固態驅動器,其中所述至少一個儲存參數包括以下中的至少一者:佇列對識別 符、提交佇列識別符、完成佇列識別符、非揮發性記憶體快速控制器識別符、名稱空間識別符、自開始邏輯塊位址到結束邏輯塊位址的邏輯塊位址範圍、非揮發性記憶體快速串流識別符、主機識別符、非揮發性記憶體快速限定名稱識別符、基於時間的識別符、基於日期的識別符及非揮發性記憶體組識別符。
- 如申請專利範圍第9項所述的乙太網路固態驅動器,其中所述至少一個參數包括至少一個網路參數。
- 一種提供差異化儲存服務的方法,包括:在乙太網路固態驅動器處通過第一網路從遠端主機接收輸入/輸出服務請求,其中所述輸入/輸出服務請求包括至少一個參數;由所述乙太網路固態驅動器基於所述至少一個參數將所述輸入/輸出服務請求匹配到標籤交換路徑,其中所述輸入/輸出服務請求是利用儲存在所述乙太網路固態驅動器上的標籤查閱資料表並利用所述至少一個參數被匹配到標籤交換路徑,其中所述至少一個參數包括用以進行所述乙太網路固態驅動器與所述遠端主機之間的輸入/輸出的服務品質要求;由所述乙太網路固態驅動器將第一資料包包封在多協議標籤交換包中,所述多協議標籤交換包更包括具有與所述標籤交換路徑相關聯的標籤堆的多協議標籤交換報頭;以及由所述乙太網路固態驅動器開啟儲存業務串流,所述儲存業務串流通過所述第一網路根據所述標籤交換路徑將所述多協議標籤交換包從所述乙太網路固態驅動器發送到所述遠端主機。
- 如申請專利範圍第17項所述的方法,其中所述至少一個參數包括以下中的至少一者:佇列對識別符、提交佇列識別符、完成佇列識別符、非揮發性記憶體快速控制器識別符、名稱空間識別符、自開始邏輯塊位址到結束邏輯塊位址的邏輯塊位址範圍、非揮發性記憶體快速串流識別符、主機識別符、非揮發性記憶體快速限定名稱識別符、基於時間的識別符、基於日期的識別符及非揮發性記憶體組識別符,並且其中所述第一網路為多協定標籤切換式網路。
- 如申請專利範圍第17項所述的方法,其中所述第一資料包包括以下中的一者:遠端直接記憶體存取包、基於聚合乙太網路的遠端直接記憶體存取包、網際網路廣域遠端直接記憶體存取包或基於帶載封裝的非揮發性記憶體快速包。
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201762593189P | 2017-11-30 | 2017-11-30 | |
| US62/593,189 | 2017-11-30 | ||
| US15/878,388 US10884975B2 (en) | 2017-11-30 | 2018-01-23 | Differentiated storage services in ethernet SSD |
| US15/878,388 | 2018-01-23 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201926971A TW201926971A (zh) | 2019-07-01 |
| TWI750405B true TWI750405B (zh) | 2021-12-21 |
Family
ID=66633229
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW107128428A TWI750405B (zh) | 2017-11-30 | 2018-08-15 | 提供差異化儲存服務的方法和乙太網路固態驅動器 |
Country Status (5)
| Country | Link |
|---|---|
| US (3) | US10884975B2 (zh) |
| JP (1) | JP7605578B2 (zh) |
| KR (1) | KR102363521B1 (zh) |
| CN (1) | CN109861914B (zh) |
| TW (1) | TWI750405B (zh) |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11409678B2 (en) * | 2019-02-04 | 2022-08-09 | American Megatrends International, Llc | Auto-provisioning and auto-installation of server SAN target |
| US12524180B2 (en) | 2020-06-16 | 2026-01-13 | Samsung Electronics Co., Ltd. | Edge solid state drive (SSD) device and edge data system |
| US11770271B2 (en) | 2020-08-21 | 2023-09-26 | Samsung Electronics Co., Ltd. | Data center |
| CN114691026A (zh) * | 2020-12-31 | 2022-07-01 | 华为技术有限公司 | 一种数据访问方法及相关设备 |
| US11886356B2 (en) * | 2021-11-30 | 2024-01-30 | Liqid Inc. | Local instantiation of remote peripheral devices |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20090182874A1 (en) * | 2004-03-29 | 2009-07-16 | Packeteer, Inc. | Adaptive, Application-Aware Selection of Differentiated Network Services |
| US9792056B1 (en) * | 2014-03-31 | 2017-10-17 | EMC IP Holding Company LLC | Managing system drive integrity in data storage systems |
Family Cites Families (26)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6205488B1 (en) | 1998-11-13 | 2001-03-20 | Nortel Networks Limited | Internet protocol virtual private network realization using multi-protocol label switching tunnels |
| US7599360B2 (en) | 2001-12-26 | 2009-10-06 | Cisco Technology, Inc. | Methods and apparatus for encapsulating a frame for transmission in a storage area network |
| JP2003241903A (ja) * | 2002-02-14 | 2003-08-29 | Hitachi Ltd | 記憶制御装置、ストレージシステム、及びその制御方法 |
| JP4319925B2 (ja) | 2004-03-02 | 2009-08-26 | 株式会社日立製作所 | ストレージネットワークシステムの制御方法及びストレージネットワークシステム |
| JP2005266933A (ja) | 2004-03-16 | 2005-09-29 | Fujitsu Ltd | ストレージ管理システム及びストレージ管理方法 |
| US7177921B2 (en) * | 2004-03-18 | 2007-02-13 | Hitachi, Ltd. | Method and apparatus for storage network management |
| US7535917B1 (en) | 2005-02-22 | 2009-05-19 | Netapp, Inc. | Multi-protocol network adapter |
| JP4900784B2 (ja) | 2006-04-13 | 2012-03-21 | 株式会社日立製作所 | ストレージシステム及びストレージシステムのデータ移行方法 |
| JP2010123084A (ja) | 2008-11-21 | 2010-06-03 | Hitachi Ltd | ストレージ管理装置及びファイル削除制御方法 |
| US8279861B2 (en) * | 2009-12-08 | 2012-10-02 | International Business Machines Corporation | Real-time VoIP communications using n-Way selective language processing |
| WO2012133060A1 (ja) | 2011-03-29 | 2012-10-04 | 日本電気株式会社 | ネットワークシステム、及びvlanタグ情報取得方法 |
| US9467511B2 (en) * | 2012-01-17 | 2016-10-11 | Intel Corporation | Techniques for use of vendor defined messages to execute a command to access a storage device |
| US9059912B2 (en) * | 2012-02-27 | 2015-06-16 | Verizon Patent And Licensing Inc. | Traffic policing for MPLS-based network |
| US20130290361A1 (en) | 2012-04-30 | 2013-10-31 | Eric A. Anderson | Multi-geography cloud storage |
| US9430412B2 (en) * | 2013-06-26 | 2016-08-30 | Cnex Labs, Inc. | NVM express controller for remote access of memory and I/O over Ethernet-type networks |
| US9419892B2 (en) * | 2013-09-30 | 2016-08-16 | Juniper Networks, Inc. | Methods and apparatus for implementing connectivity between edge devices via a switch fabric |
| US9210075B2 (en) * | 2013-10-08 | 2015-12-08 | Ciena Corporation | Method and apparatus for managing end-to-end consistency of bi-directional MPLS-TP tunnels via in-band communication channel (G-ACH) protocol |
| US9450864B2 (en) | 2013-10-11 | 2016-09-20 | Futurewei Technologies, Inc. | Using PCE as SDN controller |
| EP3117583A4 (en) | 2014-03-08 | 2017-11-01 | Diamanti, Inc. | Methods and systems for converged networking and storage |
| EP2922252B1 (en) * | 2014-03-21 | 2017-09-13 | Juniper Networks, Inc. | Selectable service node resources |
| US9565269B2 (en) * | 2014-11-04 | 2017-02-07 | Pavilion Data Systems, Inc. | Non-volatile memory express over ethernet |
| US20160259754A1 (en) * | 2015-03-02 | 2016-09-08 | Samsung Electronics Co., Ltd. | Hard disk drive form factor solid state drive multi-card adapter |
| US9588901B2 (en) | 2015-03-27 | 2017-03-07 | Intel Corporation | Caching and tiering for cloud storage |
| US10114778B2 (en) * | 2015-05-08 | 2018-10-30 | Samsung Electronics Co., Ltd. | Multi-protocol IO infrastructure for a flexible storage platform |
| US10015268B2 (en) * | 2015-05-12 | 2018-07-03 | Equinix, Inc. | Multi-cloud, multi-service data model |
| US20170310581A1 (en) * | 2015-05-29 | 2017-10-26 | Hitachi, Ltd. | Communication Network, Communication Network Management Method, and Management System |
-
2018
- 2018-01-23 US US15/878,388 patent/US10884975B2/en not_active Expired - Fee Related
- 2018-08-15 TW TW107128428A patent/TWI750405B/zh active
- 2018-08-17 KR KR1020180096358A patent/KR102363521B1/ko active Active
- 2018-10-29 CN CN201811269464.7A patent/CN109861914B/zh active Active
- 2018-11-27 JP JP2018221123A patent/JP7605578B2/ja active Active
-
2020
- 2020-12-24 US US17/134,094 patent/US11544212B2/en active Active
-
2022
- 2022-12-30 US US18/092,088 patent/US12001379B2/en active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20090182874A1 (en) * | 2004-03-29 | 2009-07-16 | Packeteer, Inc. | Adaptive, Application-Aware Selection of Differentiated Network Services |
| US9792056B1 (en) * | 2014-03-31 | 2017-10-17 | EMC IP Holding Company LLC | Managing system drive integrity in data storage systems |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2019102083A (ja) | 2019-06-24 |
| US10884975B2 (en) | 2021-01-05 |
| CN109861914B (zh) | 2022-07-12 |
| US20190163665A1 (en) | 2019-05-30 |
| JP7605578B2 (ja) | 2024-12-24 |
| US20230144432A1 (en) | 2023-05-11 |
| KR20190064399A (ko) | 2019-06-10 |
| US11544212B2 (en) | 2023-01-03 |
| KR102363521B1 (ko) | 2022-02-17 |
| US12001379B2 (en) | 2024-06-04 |
| US20210117369A1 (en) | 2021-04-22 |
| TW201926971A (zh) | 2019-07-01 |
| CN109861914A (zh) | 2019-06-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI750405B (zh) | 提供差異化儲存服務的方法和乙太網路固態驅動器 | |
| US12067427B2 (en) | Extending Berkeley packet filter semantics for hardware offloads | |
| US20240330221A1 (en) | Multi-plane, multi-protocol memory switch fabric with configurable transport | |
| CN102170386B (zh) | 身份标识与位置分离的实现方法、系统及数据封装方法 | |
| US8644139B2 (en) | Priority based flow control within a virtual distributed bridge environment | |
| US10389632B1 (en) | Non-recirculating label switching packet processing | |
| US8837288B2 (en) | Flow-based network switching system | |
| CN104168223B (zh) | 用于确定分组优先级的方法和系统 | |
| US10333853B1 (en) | Unified quality of service (QoS) for label switching traffic | |
| WO2018028590A1 (zh) | 报文传输 | |
| WO2021017930A1 (zh) | 报文转发 | |
| US11740920B2 (en) | Methods and systems for migrating virtual functions in association with virtual machines | |
| CN103944818A (zh) | 一种多归接入叠加网络中报文处理的方法和系统 | |
| CN106209638A (zh) | 从虚拟局域网至虚拟可扩展局域网的报文转发方法和设备 | |
| CN112737954A (zh) | 报文处理方法、装置、系统、设备及存储介质 | |
| CN115208825A (zh) | 单个计算节点上的多个智能网络接口卡 | |
| CN106209554B (zh) | 跨虚拟可扩展局域网的报文转发方法和设备 | |
| US9258254B2 (en) | Virtual router and switch | |
| US10715437B2 (en) | Deadline driven packet prioritization for IP networks | |
| WO2022042396A1 (zh) | 数据传输方法和系统、芯片 | |
| WO2022265552A1 (en) | System, method, and apparatus for fine-grained control of input/output data placement in a memory subsystem | |
| CN104468245B (zh) | 标签分配方法及装置 | |
| CN116248584A (zh) | 一种在双spine mlag环境下处理evpn路由的方法、设备及介质 |