TW201840149A - 提供資料複製於跨光纖非揮發性記憶乙太網路固態硬碟之系統及方法 - Google Patents
提供資料複製於跨光纖非揮發性記憶乙太網路固態硬碟之系統及方法 Download PDFInfo
- Publication number
- TW201840149A TW201840149A TW107102418A TW107102418A TW201840149A TW 201840149 A TW201840149 A TW 201840149A TW 107102418 A TW107102418 A TW 107102418A TW 107102418 A TW107102418 A TW 107102418A TW 201840149 A TW201840149 A TW 201840149A
- Authority
- TW
- Taiwan
- Prior art keywords
- solid state
- essd
- passive
- active
- host
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
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 Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mathematical Physics (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Information Transfer Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本發明提供一種資料複製系統,其具有底座,底座包含多個eSSD、光纖交換器以及基板管理控制器(BMC)。BMC將多個eSSD中的一者配置為主動eSSD,且將多個eSSD中的一或多者配置為一或多個被動eSSD。底座的光纖交換器經程式化以將指定用於主動eSSD的封包轉發至主動eSSD以及一或多個被動eSSD兩者。回應於自主機接收的主機資料寫入命令,主動eSSD儲存主機資料且將對應於主機資料的位址以及指令發送至一或多個被動eSSD。一或多個被動eSSD中的每一者使用自主動eSSD接收的位址以及指令以及在由光纖交換器轉發的封包中接收的主機資料來儲存主機資料的複本。
Description
本揭露內容大體是關於一種用於提供資料複製的系統及方法,更特定言之,關於一種用於提供在固態硬碟(solid-state drive;SSD)中的資料複製的系統及方法。 [相關申請案的交叉參考] 本申請案主張2017年3月31日遞交的美國臨時專利申請案第62/480,113號的權益以及優先權,所述申請案的揭露內容被以全文引用的方式併入本文中。
固態硬碟(SSD)正迅速地變為現代資訊技術(information technology;IT)基礎結構的主要儲存元件,替換傳統的硬碟機(hard disk drive;HDD)。SSD提供低潛時(latency)、高資料讀取/寫入輸送量以及用戶資料的可靠儲存。跨光纖高速非揮發性記憶體(Non-volatile memory express;NVMe)(NVMe over fabric;NVMe-oF)為新興的技術,其允許在諸如乙太網路的網路光纖上連接成百上千個NVMe相容的SSD。與跨乙太網路連接的NVMe-oF標準相容的SSD被稱作乙太網路附接式SSD,或簡言之,eSSD。
NVMe-oF協定支援允許跨網路光纖將大量eSSD連接至遠端主機的遠端直接附接式儲存(remote direct-attached storage;rDAS)協定。NVMe-oF協定進一步支援遠端直接記憶體存取(remote direct memory access;RDMA)協定以提供可靠的輸送服務以跨網路光纖在遠端主機與eSSD之間攜載NVMe命令、資料以及回應。可提供RDMA服務的輸送協定的實例包含InfiniBand、iWARP、RoCE v1以及RoCE v2。
對用戶資料的可靠存取為資料儲存系統的最關鍵要求中的一者。在資料儲存系統中的各種點處已使用各種技術以及方法來達成必要程度的可靠性以及資料可用性。舉例而言,當儲存裝置變得不可用時,將寫入至儲存裝置的資料複製至一或多個其他儲存裝置作為備份儲存。此資料複製方案常常被稱作鏡射或備份。
在連接多個eSSD的底座(chassis)中,每一eSSD可跨乙太網路直接連接至主機。主機可執行至兩個或大於兩個eSSD的資料複製以用於資料鏡射。然而,由主機進行的資料複製功能的實施增添了主機以及系統軟體的負擔,因而增添了資料輸入/輸出(I/O)操作的附加潛時且增加了資料儲存系統的總成本。
替代地,內嵌的獨立磁碟冗餘陣列(redundant array of independent disk;RAID)控制器可嵌入於SSD中以按對主機透明的方式執行資料複製。然而,RAID控制器通常成本高,且因增添了附加潛時,可使I/O性能降級。另外,具有嵌入的RAID控制器的SSD在重負荷或最大每秒輸入/輸出操作(input/output operations per second;IOPS)下可消耗處於或接近最大功率預算的功率,且不能符合根據NVMe-oF標準的eSSD的功率消耗要求。因此,由eSSD中的嵌入的RAID控制器進行的資料複製可能並非用於NVMe-oF相容資料儲存系統的可行的解決方案。
根據一個實施例,一種方法包含:提供包括底座中含有的多個固態硬碟(eSSD)的資料複製系統,其中底座包含用於提供至多個eSSD中的每一者的下行鏈路的光纖交換器,以及用於控制光纖交換器以及多個eSSD的基板管理控制器(baseboard management controller;BMC);使用BMC將多個eSSD中的一者配置為主動eSSD;使用BMC將多個eSSD中的一或多者配置為一或多個被動eSSD;使用BMC程式化光纖交換器,以將指定用於主動eSSD的封包轉發至主動eSSD以及一或多個被動eSSD兩者;在主動eSSD處接收來自主機的主機資料寫入命令;將對應於來自主動eSSD的主機資料的位址以及指令發送至一或多個被動eSSD;將主機資料儲存於主動eSSD中;以及使用自主動eSSD接收的位址以及指令以及在由光纖交換器轉發的封包中接收的主機資料將主機資料的複本儲存於一或多個被動eSSD中。
根據另一實施例,一種資料複製系統包含底座,其包含多個eSSD、光纖交換器以及基板管理控制器(BMC)。光纖交換器經配置以提供至多個eSSD中的每一者的下行鏈路,且BMC經配置以控制光纖交換器以及多個eSSD。BMC將多個eSSD中的一者配置為主動eSSD,且將多個eSSD中的一或多者配置為一或多個被動eSSD,且程式化光纖交換器以將指定用於主動eSSD的封包轉發至主動eSSD以及一或多個被動eSSD兩者。主動eSSD經配置以回應於自主機接收的主機資料寫入命令而儲存主機資料。主動eSSD經進一步配置以將對應於主機資料的位址以及指令發送至一或多個被動eSSD。一或多個被動eSSD中的每一者經配置以使用自主動eSSD接收的位址以及指令以及在由光纖交換器轉發的封包中接收的主機資料來儲存主機資料的複本。
以上以及其他較佳特徵(包含實施的各種新穎細節以及事件的組合)現在將更特別地參看附圖來描述,且在申請專利範圍中指出。應理解,本文中所描述的特定系統及方法僅作為說明來繪示且並不作為限制。如熟習此項技術者將理解,在不脫離本揭露內容的範疇的情況下,可在各種以及眾多實施例中使用本文中所描述的原理以及特徵。
可單獨地或結合其他特徵以及教示利用本文中所揭露的特徵以及教示中的每一者以提供在乙太網路SSD中的資料複製。參看附圖進一步詳細地描述單獨以及以組合形式利用此等額外特徵以及教示中的許多的代表性實例。此詳細描述僅意欲向熟習此項技術者教示用於實踐本發明教示內容的各態樣的另外細節並且不意欲限制申請專利範圍的範疇。因此,以上詳細描述中揭露的特徵的組合可能在最廣泛意義上不必實踐教示內容,而是僅為了特定描述本發明教示內容的代表性實例而教示。
在以下描述中,僅出於解釋的目的,闡述特定命名法以提供對本揭露內容的透徹理解。然而,對於熟習此項技術者將顯而易見,並不需要此等特定細節來實踐本揭露內容的教示。
本文中詳細描述的一些部分是就對電腦記憶體內的資料位元的操作的演算法以及符號表示來提出。這些演算法描述及表示由熟習資料處理技術的技術者用以將其工作的主旨有效地傳達至其他熟習此項技術者。演算法在此處且大體上構想為導致所要的結果之步驟之自一致序列。步驟為需要實體量的實體操縱的步驟。通常(但未必),此等量採取能夠儲存、傳送、組合、比較以及以其他方式操縱的電訊號或磁訊號的形式。主要出於常用的原因,已證實將此等訊號稱作位元、值、元件、符號、字符、術語、數字或其類似者有時是方便的。
然而,應牢記,所有此等以及類似術語欲與適當實體量相關聯,且僅僅為應用於此等量的方便標註。除非另外特定陳述,否則如自以下論述顯而易見,應瞭解,貫穿描述,利用諸如「處理」、「運算」、「計算」、「判定」、「顯示」或其類似者的術語的論述指將表示為電腦系統的暫存器以及記憶體內的實體(電子)量的資料操縱以及變換為類似地表示為電腦系統記憶體或暫存器或其他此類資訊儲存裝置、傳輸裝置或顯示裝置內的實體量的其他資料的電腦系統或類似電子計算裝置的動作以及處理程序。
本文中提出的演算法並非固有地與任何特定電腦或其他設備有關。各種通用系統、電腦伺服器或個人電腦可與根據本文中的教示的程式一起使用,或可證實建構較專業化設備以執行所需的方法步驟為便利的。用於多種此等系統之所需要的結構將自以下描述顯而易見。應瞭解,多種程式設計語言可用以實施如本文中所描述的本揭露內容的教示。
此外,可以並非確切及明確列舉的方式組合代表性實例與附屬申請專利範圍的各種特徵以便提供本發明教示內容的額外可用實施例。亦應明確地注意,出於原始揭露內容的目的,以及出於限制所主張的標的物的目的,實體群組的所有值範圍或指示揭露每一可能的中間值或中間實體。亦應明確地注意,諸圖中繪示的組件的尺寸以及形狀經設計以幫助理解如何實踐本發明教示內容,但並不意欲限制實例中所繪示的尺寸以及形狀。
本揭露內容提供一種用於使用與NVMe-oF標準相容的一或多個SSD(本文中被稱作乙太網路SSD或eSSD)提供資料複製的系統及方法。由本系統及方法使用的資料複製可在無主機參與或諸如中央處理單元(central processing unit;CPU)或RAID控制器的昂貴且影響效能的外部組件的情況下達成。
根據一個實施例,底座中的eSSD中的每一者可經配置且在主動模式、被動模式以及正常模式中操作。底座的基板管理控制器(baseboard management controller;BMC)可將底座中的eSSD中的一者程式化為主動eSSD,且將其餘eSSD中的一或多者程式化為被動eSSD。經配置為既非主動eSSD亦非被動eSSD的eSSD可在正常模式中操作,且表現為標準NVMe-oF SSD。在主動與被動eSSD之間,僅主動eSSD對遠端主機可見(可發現),且可執行與遠端主機的NVMe-oF協定的終止。相比之下,被動eSSD對遠端主機不可見(不可發現)。本文中,為方便起見,可駐留於網路光纖(例如,乙太網路)上的遠端主機可簡單地被稱作主機。
主動eSSD可處理由主機發出的命令,執行至以及自主機的資料傳送,以及將指示主機命令的成功完成或執行失敗的完成佇列(completion queue;CQ)條目發送至主機。底座中的被動eSSD既不執行任何主機命令,亦不參與主機協定。取而代之,被動eSSD被動地接收指定用於主動eSSD的進入訊務(ingress traffic)封包。舉例而言,底座的乙太網路交換器經程式化以將引導至主動eSSD的所有進入封包複製至經程式化以與主動eSSD相關聯的被動eSSD。
根據一個實施例,被動eSSD捨棄除了RDMA READ RESPONSE封包外的所有複製的進入封包。RDMA READ RESPONSE封包提供主機寫入資料,且將主機寫入資料保持於主機的FIFO緩衝器中。FIFO緩衝器中的主機寫入資料由主動eSSD提取。在提取主機寫入資料後,主動eSSD提供指令(例如,寫入指令)以及相關聯的邏輯區塊位址(logical block address;LBA)及/或名字空間,以用於將主機寫入資料寫入至相關聯的被動eSSD。使用由主動eSSD提供的指令以及LBA以及自複製的RDMA READ RESPONSE封包接收的資料,被動eSSD可將複製的資料寫入至其非揮發性記憶體。被動eSSD的非揮發性記憶體可為快閃儲存器或持久型記憶體。取決於配置,多於一個被動eSSD可複製主機寫入資料。
根據一個實施例,主動eSSD發送至相關聯的被動eSSD的LBA/名字空間(NAMESPACE)以及寫入指令可在包含發送佇列以及接收佇列的RDMA佇列對(queue pair;QP)上含有更精細的細節。在建立於主動eSSD與被動eSSD之間的路徑中可存在由主機啟用的多個主動QP,主動eSSD與被動eSSD可能需要經由QP交換額外資訊。根據一個實施例,每一RDMA_READ REPONSE上的被動eSSD瞄視關於主機寫入關聯(諸如,QP)以及資料的定序的資料塊上的額外資訊的RDMA標頭。
根據一個實施例,主動eSSD可在接收到來自主機的主機寫入請求後且在將一或多個RDMA READ請求發送至主機前發送寫入指令一次。主動eSSD可預先計算如何將主機寫入分解成一或多個個別RDMA READ請求以及如何在分割(segment)散射搜集清單(scatter gather list;SGL)中接收相關聯的資料。此可減少私用通道以及PCIe匯流排或網路光纖的訊務,藉此改善當多個QP連接接合以及跨多個資料複製集合時的I/O效能。此外,其可減少當跨殼體、機架、資料中心以及多個地理位置複製資料時用於資料複製的開銷(overhead)。
被動eSSD可經配置以將指示已成功持留(persisted)主機寫入資料或主機寫入資料的儲存已失敗的確認發送至主動eSSD。在將完成佇列條目發送至主機前,主動eSSD可等待來自所有相關聯的被動eSSD的確認。此確認機制可全時間保護且保證主機寫入資料的資料持留性(persistence)。
本系統及方法不需要用於晶片上RAID(ROC)的目標側x86伺服器或外部特殊應用積體電路(application-specific integrated circuit;ASIC)來支援資料複製特徵。本系統及方法藉由消除或減少主機上的額外硬體以及軟體開銷來提供減少的總持有成本(total cost of ownership;TCO),同時增強資料儲存效能。與與資料I/O操作同時執行資料複製的常規內嵌的資料複製解決方案相比,本系統及方法具有改善的I/O潛時以及頻寬效能。
本系統及方法為用於提供資料複製的有成本效益且高效的解決方案,因為資料複製特徵主要地在底座的eSSD(亦即,主動eSSD以及被動eSSD)以及乙太網路交換器中實施。本系統及方法消除了對於複雜系統軟體以及硬體的需求,且減小了主機側上用於額外計算、儲存以及功率的負擔與成本。本資料複製特徵實施於含有eSSD以及乙太網路交換器的底座中,而對主機側具有最小或無改變。
圖 1
繪示根據一個實施例的實例NVMe-oF系統的方塊圖。NVMe-oF系統100包含主機110以及含有一或多個NVMe-oF相容的乙太網路SSD(eSSD)的底座160(本文中亦被稱作eSSD底座)。舉例而言,底座160包含24或48個eSSD。底座160中的eSSD分別表示為eSSD 170a至170n(本文中統稱為eSSD 170)。主機110包含應用程式111、作業系統(operating system;OS)與檔案系統(file system;FS)112以及NVMe-oF驅動器113。主機110的啟動程式(例如,應用程式111)可使用NVMe-oF驅動器113跨乙太網路150建立與eSSD 170的NVMe-oF連接。底座160包含乙太網路交換器161、基板管理控制器(BMC)162以及PCIe交換器163。乙太網路交換器161提供跨中平面(midplane)165至eSSD 170的乙太網路連接,且PCIe交換器163提供跨中平面165至eSSD 170的管理介面164。在本實例中,eSSD 170中的一者可經配置為主動eSSD,且其他eSSD可經配置為被動eSSD。BMC 162可根據由系統管理員給出的指令而程式化eSSD 170。
乙太網路交換器161提供主機110與eSSD 170之間的網路連接性。乙太網路交換器161可具有大容量(例如,100 Gbps)上行鏈路以連接至一或多個主機。乙太網路交換器161亦具有多個較低容量(例如,25 Gbps)下行鏈路以連接至eSSD 170。舉例而言,乙太網路交換器161含有12個100 Gbps的上行鏈路,以及24或48個25 Gbps的下行鏈路。乙太網路交換器161可具有至BMC 162的特殊配置/管理埠(未繪示)。
BMC 162管理底座160的內部組件,包含乙太網路交換器161、PCIe交換器163以及eSSD 170。BMC 162可支援用於系統管理的PCIe及/或SMBus介面。BMC 162可配置主動eSSD以及被動eSSD,且程式化乙太網路交換器161。當主動eSSD出故障時,BMC 162可執行故障接管交換,指明新主動eSSD,以及若需要,配置額外被動eSSD。
根據一個實施例,底座160中的eSSD 170可在三個模式中的一者中操作:主動、被動以及正常。經配置為主動eSSD以及一或多個被動eSSD的eSSD 170可提供所要的資料複製。在一些實施例中,底座160可包含多個主動/被動eSSD集合。當對於給定eSSD不需要資料複製時,BMC 162可在正常模式中配置eSSD。經配置為正常eSSD的eSSD表現為標準NVMe-oF SSD。
圖 2
繪示根據另一實施例的實例NVMe-oF系統的方塊圖。NVMe-oF系統200包含主機210以及跨乙太網路250連接至主機210的多個eSSD底座260a至260m(統稱為eSSD底座260)。主機210包含應用程式211、作業系統(OS)與檔案系統(FS)212以及用於跨乙太網路250與機架270中的eSSD底座260中的每一者連接的NVMe-oF驅動器213。機架270包含架頂式(top-of-rack;TOR)交換器271,其提供機架270中的多個底座260當中的連接性。類似地,NVMe-oF系統200可包含可位於不同位置的多個機架270。機架270可經由其TOR交換器271相互連接。多個機架270的TOR交換器271可直接經由專用線或經由跨乙太網路250的外部交換器相互連接。
圖 3
說明根據一個實施例的實例NVMe-oF系統的資料複製過程。NVMe-oF系統300包含主機310以及含有多個eSSD(包含eSSD 370a至370n)的底座360。舉例而言,底座360可包含24或48個eSSD。主機310包含應用程式311、作業系統(OS)與檔案系統(FS)312以及NVMe-oF驅動器313。主機310的啟動程式(例如,應用程式311)可使用NVMe-oF驅動器313跨乙太網路350建立與主動eSSD 370a的NVMe-oF連接。底座360包含乙太網路交換器361、BMC 362以及PCIe交換器363。乙太網路交換器361提供跨中平面365至eSSD 370的乙太網路連接,且PCIe交換器363提供跨中平面365至eSSD 370的管理介面364。在本實例中,BMC 362可將eSSD 370中的一者配置為主動eSSD 370a,且將其他eSSD配置為被動eSSD。為了便於說明,本實例繪示一個主動eSSD 370a以及一個被動eSSD 370b;然而,應注意,eSSD的複製群組包含主動eSSD以及一或多個被動eSSD,且在不脫離本揭露內容的範圍的情況下,多於一個複製群組可存在於底座中。被動eSSD 370b可表示經配置以與主動eSSD 370a相關聯的多個被動eSSD中的一者。由被動eSSD 370b執行的活動可同時由底座360中的其他被動eSSD執行。舉例而言,若NVMe-oF系統300經如此配置,則可將相同資料複製至多於兩個被動eSSD。在一些實施例中,底座360可含有多於一個複製群組,且複製群組中的每一者可包含一個主動eSSD以及經程式化以與複製群組內的主動eSSD一起提供資料複製的一或多個被動eSSD。
主動eSSD 370a可處置與主機310的所有NVMe-oF協定處理以及終止。使用提交佇列(submission queue;SQ)以及完成佇列(completion queue;CQ)實施主機310與主動eSSD 370a之間的NVMe-oF系統300的輸送協定。將主動eSSD 370a的位置位址對主機310通告,使得主動eSSD 370a對由在主機310上執行的應用程式311調用的NVMe-oF驅動器313可見。當主動eSSD 370a接收到主機寫入資料時,主動eSSD 370a將與主機寫入資料相關聯的一或多個LBA以及必要指令跨私用通訊通道發送至相關聯的被動eSSD 370b。在一個實施例中,主動eSSD 370a以及被動eSSD 370b可經由底座360中的乙太網路交換器361或經由PCIe交換器363形成私用低頻寬通訊通道。
被動eSSD 370b可儲存寫入至主動eSSD的主機資料的複本。BMC 362可程式化乙太網路交換器361以將指定至主動eSSD 370a的主動進入訊務複製至被動eSSD 370b,使得被動eSSD 370b可接收指定用於主動eSSD 370a的所有進入封包的複本。被動eSSD 370b濾出接收的封包,且僅保持接收的封包當中的RDMA READ RESPONSE封包。被動eSSD 370b剖析接收的RDMA READ RESPONSE封包且擷取在RDMA READ RESPONSE封包中攜載之主機寫入資料塊。被動eSSD 370b亦自主動eSSD接收對應於資料塊的資料複製指令以及LBA。被動eSSD 370b使用LBA資訊以及來自RDMA READ RESPONSE封包的所接收的資料以持留在其儲存媒體中的主機資料。在一些實施例中,乙太網路交換器361對進入封包進行濾波以僅將RDMA READ RESPONSE封包提供至被動eSSD。在持留主機資料後,被動eSSD 370b可跨建立的私用通訊頻道將確認發送至主動eSSD 370a。
BMC 362負責在儲存管理員的指引下建立資料複製特徵。在一個實施例中,BMC 362使用跨SMBus或PCIe匯流排的NVMe-MI協定配置eSSD 370。首先,BMC 362識別eSSD且在主動模式中程式化eSSD。另外,BMC 362選擇一或多個eSSD且將所述eSSD程式化為被動eSSD。由BMC 362配置的被動eSSD的數目可取決於由儲存管理員指定的資料複本的數目。BMC 362在被動模式中程式化彼等eSSD。
一旦主動以及被動eSSD 370經恰當地配置,BMC 362即配置乙太網路交換器361。乙太網路交換器361可複製且轉發指定用於對應於主動eSSD 370a的下行鏈路埠的進入封包至對應於被動eSSD 370b的下行鏈路埠。在eSSD 370以及乙太網路交換器361經恰當地配置後,儲存管理員及/或BMC 362可對主機310的應用程式311以及OS/檔案系統312通告eSSD 370準備用於資料儲存以及複製。
圖 4
為根據一個實施例的用於初始化以及程式化底座的eSSD以及乙太網路交換器以實施資料重複(data duplication)的流程圖。初始化過程是藉由由儲存管理員發出的初始化命令來觸發(400)。回應於初始化命令,底座的BMC選擇eSSD(401)且程式化選定eSSD以將其配置為主動eSSD(402)。根據一個實施例,初始化命令可包含用於主動eSSD的唯一識別符(例如,IP位址、MAC位址),且BMC將配置命令發送至主動eSSD以使用跨SMBus或PCIe匯流排的NVMe-MI協定在主動模式中配置其。
在主動eSSD經程式化後,底座的BMC選擇一或多個eSSD(403)且將選定eSSD程式化為被動eSSD(404)。根據一個實施例,底座的BMC選擇且程式化被動eSSD,如在自儲存管理員接收的初始化命令中所指示。舉例而言,至BMC的初始化命令可包含被動eSSD的識別符(例如,IP位址、MAC位址),且BMC將配置命令發送至相應的被動eSSD以使用跨SMBus或PCIe匯流排的NVMe-MI協定在被動模式中來配置其。
根據一個實施例,主動eSSD與被動eSSD的選擇以及程式化可同時或按相反次序執行。換言之,BMC可首先選擇且程式化被動eSSD,並且選擇且程式化主動eSSD,或同時配置主動eSSD與被動eSSD。
在eSSD經程式化後,BMC程式化底座的乙太網路交換器(405)。舉例而言,乙太網路交換器建立提供主動eSSD與被動eSSD之間的關聯的映射表。在程式化後,乙太網路交換器將指定用於主動eSSD的進入封包複製至相關聯的被動eSSD。在一個實施例中,乙太網路交換器可對進入封包進行濾波且僅將RDMA READ RESPONSE封包發送至被動eSSD。
主動eSSD可由主機發現,且可與在主機上執行的NVMe-oF驅動器通訊。主機可使用NVMe-oF協定將主機命令發送至主動eSSD。主動eSSD執行所有主機命令,執行任何必要的資料傳遞,且將命令完成佇列條目發送至主機。換言之,主動eSSD執行NVMe-oF協定處理,且執行如由正常eSSD執行的主機命令。此外,主動eSSD支援與一或多個被動eSSD一起的資料複製。資料複製主要地是關於主機寫入命令。對於主機讀取命令,主動eSSD可能不需要支援任何特殊功能。
對於主機寫入命令,主動eSSD負責自主機提取資料。根據一個實施例,主動eSSD將RDMA READ請求發出至主機以提取主機資料。作為回應,主機使用一或多個RDMA READ RESPONSE封包發送資料塊。主動eSSD將在RDMA READ RESPONSE封包中接收的主機資料塊儲存至其內部快閃儲存器,或將主機資料持留在電力損失保護緩衝器中。
對於在RDMA READ RESPONSE封包中接收的主機資料的每一資料塊,主動eSSD將相關聯的NAMESPACE以及LBA資訊連同寫入指令一起發送至相關聯的一或多個被動eSSD中的每一者。可跨在主動與被動eSSD之間建立的私用通訊通道進行此通訊。可經由底座的乙太網路交換器或PCIe交換器形成私用通訊通道。若主動eSSD變得不操作或主動eSSD不能寫入接收的資料塊,則主動eSSD將捨棄指令發送至被動eSSD以捨棄資料塊。
一旦在在本端持留主機資料且將NAMESPACE.LBA資訊發送至被動eSSD,則主動eSSD可基於一致性模式(consistency mode)將命令完成發送至主機。根據一個實施例,主動eSSD可立即將命令完成發送至主機,而不等待來自被動eSSD的關於資料持留性的回應。本文中被稱作幾乎完美的一致性模式的立即命令-完成-回應可提供稍微更好的潛時效能,這是以備用複本不被如實地持留為風險。此類誤差情況的概率可很小,且可存在忍受少量資料損失的應用程式。下文將進一步詳細地論述此類誤差情況的詳細分析。
根據另一實施例,主動eSSD可等待來自被動eSSD的資料持留性的確認。若存在多於一個備用複本正被複製,則主動eSSD在將命令完成條目發送至主機前可等待來自一個至全部相關聯的被動eSSD的確認。由於資料複製可與主要資料路徑中的主機資料的儲存(例如,至主動eSSD)並行地發生,因此等待來自被動eSSD的確認可增添可為或可能不為在主機上執行的應用程式可接受的適當潛時量。與使用立即命令-完成-回應的幾乎完美的一致性模式大不相同,等待來自所有相關聯的被動eSSD的回應的本文中亦被稱作完美一致性模式的此操作模式保證了真實的資料一致性,而無資料損失。
根據一個實施例,NVMe-oF系統的一致性模式可由BMC使用各種用戶服務品質(quality of service;QoS)策略來設定。一致性與潛時之間的折衷可與應用程式相關,且BMC可在儲存管理員的指引下實施各種策略。在主動與被動eSSD變得不同步(自資料一致性觀點看)的情況下,其需要加以恢復或被變成相同的同步級別。此恢復功能可由BMC管理。為了有助於恢復操作,主動eSSD維持最後「n」個數目的成功寫入操作的記錄。舉例而言,所述記錄包含NAMESPACE.LBA以及指示特定寫入操作的標記。
主動eSSD亦可將一些管理命令發送至相關聯的被動eSSD以有助於資料複製過程。此類管理命令的實例包含(但不限於)創建/刪除NAMESPACE以及修整(Trim)命令。在執行了管理命令後,被動eSSD可將確認發送回至主動eSSD。
圖 5
為根據一個實施例的用於由主動eSSD處理主機命令的流程圖。經配置為被動eSSD的每一eSSD具有與主動eSSD的關聯。主動eSSD與被動eSSD之間的關聯可由BMC設定為如圖 4
中所繪示的初始化的部分。被動eSSD的主要功能性中的一者為複製主機資料。在一個實施例中,被動eSSD可藉由維持兩個平行FIFO佇列來執行主機資料的資料複製,一個佇列用於儲存主機資料(本文中亦被稱作「接收的訊息FIFO」),且另一個佇列用於儲存寫入位址以及指令(本文中亦被稱作“LBA以及指令FIFO”)。當主機資料經寫入至主動eSSD時,被動eSSD使用此等兩個FIFO持留主機資料。
主動eSSD接收來自主機的主機命令,且將接收的主機命令在其被接收到時放置於提交佇列(SQ)中(500)。主動eSSD仲裁(arbitrate)提交佇列中的條目(501)且自提交佇列選擇主機命令供執行(502)。主機命令可為主機寫入命令(503)、管理命令(510)或正常命令(516)中的一者。
若選定主機命令為主機寫入命令(503),則主機寫入命令包含在主動eSSD的內部儲存裝置中寫入的主機資料。主動eSSD將主機資料分割成資料塊,例如,根據儲存裝置的儲存單位(例如,快閃儲存器的頁面大小或區塊大小)(504)。主動eSSD檢查是否提取了與主機寫入命令相關聯的所有資料塊(505)。若存在至少一個資料塊在分割的資料塊當中提取,則主動eSSD將RDMA READ請求發出至主機以提取剩餘資料塊(506)。對於每一資料塊,主動eSSD將NAMESPACE.LBA以及指令發送至相關聯的被動eSSD中的每一者(507)。RDMA READ請求至主機的發出以及NAMESPACE.LBA與指令至被動eSSD的發出可同時執行。在接收到用於資料塊的RDMA READ RESPONSE封包後,主動eSSD將資料塊持留在內部儲存裝置(例如,快閃儲存器)中(509)。注意,提取的資料塊可臨時地儲存於主動eSSD的資料緩衝器中,且可同時持留與單一主機寫入命令相關聯的所有資料塊。
一旦提取且持留了所有資料塊,主動eSSD檢查一致性模式(513)。根據一個實施例,可將一致性模式設定為「完美」或「幾乎完美」。若主動eSSD的一致性模式經設定為「完美」,則主動eSSD等待來自與主動eSSD相關聯的所有被動eSSD的確認(514)且將完成佇列條目發送至主機(515)。若主動eSSD的一致性模式經設定為「幾乎完美」,則主動eSSD將完成佇列條目發送至主機(515),而不等待來自相關聯的被動eSSD的確認。
若接收的主機命令為與相關聯的被動eSSD中的一或多者有關的包含創建名字空間命令或修整命令的管理命令(510),則主動eSSD執行接收的命令(511),且將指令發送至對應的被動eSSD(512)。取決於一致性模式(513),主動eSSD將完成佇列條目發送至主機,伴隨著等待或不等待來自相關聯的被動eSSD的確認(515)。若接收的主機命令既非主機寫入命令,亦非管理命令,則主動eSSD將接收的命令作為不關於資料複製的正常命令處理,且因此執行正常命令(516)。
圖 6
說明根據一個實施例的實例資料複製過程。底座660的乙太網路交換器661跨乙太網路連接接收來自主機的主機命令,且將接收的主機命令轉發至主動eSSD 670a。接收的主機命令可置放於主動eSSD 670a的提交佇列(SQ)中。置放於提交佇列中的主機命令可包含主機寫入命令、管理命令(例如,創建名字空間)以及正常命令(例如,得到記錄頁面)。
當處理提交佇列中的接收的主機命令當中的主機寫入命令時,主動eSSD 670a將RDMA READ請求發出至主機以提取與主機寫入命令相關聯的資料。主動eSSD 670a可發出對與主機寫入命令相關聯的主機寫入資料的每一資料塊的一系列RDMA READ請求。對於每一資料塊,主動eSSD 670a發送NAMESPACE.LBA以及指令以將資料儲存於被動eSSD 670b中。同時,乙太網路交換器661經程式化以將指明用於主動eSSD 670a的進入訊務複製至被動eSSD 670b。
圖 7
為根據一個實施例的用於由被動eSSD處理主機命令的流程圖。被動eSSD接收指定用於主動eSSD的所有進入訊務(701)。進入訊務主要地包含攜載主機命令的RDMA SEND封包以及攜載用於主機寫入命令的主機資料的RDMA READ RESPONSE封包。除了RDMA封包之外,進入訊務可更包含其他網路訊務。被動eSSD剖析接收的進入封包(702)。被動eSSD使用封包濾波器邏輯濾出所有接收的封包,以僅保留RDMA READ RESPONSE封包(703)。被動eSSD捨棄不同於RDMA READ RESPONSE封包的進入封包(706)。被動eSSD將RDMA READ RESPONSE封包組裝至RDMA資料訊息內(704)且擷取在RDMA READ RESPONSE封包中攜載的主機寫入資料(705)。
參看圖 6
,被動eSSD將RDMA READ RESPONSE封包組裝至RDMA資料訊息內,且將其置放至接收的訊息FIFO 672內。接收的訊息FIFO 672臨時儲存主機資料塊,隨後將其儲存於被動eSSD 670b的儲存媒體中。此外,被動eSSD 670b將自主動eSSD 670a接收的NAMESPACE.LBA以及指令儲存於單獨的緩衝器中,本文中被稱作LBA與指令FIFO 671。在LBA與指令FIFO 671中緩衝的NAMESPACE.LBA以及指令可使用識別符或標記指向置放於接收的訊息FIFO 672中的對應的主機資料。被動eSSD 670b基於指令(例如,寫入)、使用對應的資料塊的位址持留在其自己的儲存媒體中的主機資料。在持留主機資料後,被動eSSD 670b可跨私用通訊頻道將確認發送至主動eSSD 670a。
圖 8
為根據一個實施例的用於將LBA以及指令自主動eSSD傳達至被動eSSD的流程圖。對於接收的資料塊中的每一者,主動eSSD將相關聯的LBA以及指令發送至相關聯的被動eSSD中的每一者,且被動eSSD將LBA以及指令置放於LBA與指令FIFO中(801)。被動eSSD剖析接收的進入封包(802)以僅將RDMA READ RESPONSE封包中包含的主機寫入資料放置於接收的訊息FIFO中。使用自主動eSSD接收的LBA以及指令,被動eSSD持留主機資料(803)在儲存媒體中。被動eSSD按主動eSSD的指示重複所述過程以複製資料。
主動eSSD通常為發「寫入」指令給被動eSSD以將對應的資料塊儲存於提供的NAMESPACE.LBA處。可能會極少地發生不能在主動eSSD中寫入資料塊。在此情況下,主動eSSD可將指令「捨棄」發送至被動eSSD。當被動eSSD遇到「捨棄」指令時,被動eSSD僅丟棄對應的資料塊。可存在主動eSSD可發送至被動eSSD的其他指令。此等指令可為由主動eSSD自包含主動eSSD以及被動eSSD的底座的主機或乙太網路交換器、BMC或PCIe交換器接收的管理命令,諸如,名字空間管理命令(例如,創建名字空間)以及修整命令。在不脫離本揭露內容的範圍的情況下,可擴展用於管理命令的協定以包含其他主機命令。當被動eSSD遇到LBA與指令FIFO中的非資料命令時,被動eSSD可在不影響接收的訊息FIFO的情況下執行非資料命令。
當指令由被動eSSD執行時,被動eSSD可任選地將完成確認發送至主動eSSD。在此模式中,在將用於原始主機命令的完成佇列條目發送至主機前,主動eSSD等待來自相關聯的一或多個被動eSSD的確認。此操作模式確保主動與被動eSSD始終相互一致。
由於不能寫入資料塊或不能執行命令是罕見的,因此在一些情況下,主動eSSD可不等待來自相關聯的被動eSSD的確認。錯誤可發生於相關聯的被動eSSD中的一者中,且若相關聯的被動eSSD中的任一者可能不能寫入資料或可不執行指令。根據一個實施例,被動eSSD可報告錯誤以如由主動eSSD的指示將主機資料複製至底座的BMC。BMC可針對異常處置以及可能一致性恢復採取適當行動。
圖 9
為根據一個實施例的用於由被動eSSD處理資料複製的流程圖。BMC配置主動eSSD且使一或多個被動eSSD與主動eSSD相關聯。
被動eSSD檢驗LBA與指令FIFO中的條目(900)且自LBA與指令FIFO抽取下一個指令(901)。若指令為寫入指令(902),則被動eSSD基於NAMESPACE.LBA持留與寫入指令相關聯的資料塊(903)。若指令並非寫入指令(902),則被動eSSD判定指令是否為捨棄指令(906)。被動eSSD回應於捨棄指令而捨棄資料塊(907)。若指令並非捨棄指令(906),則被動eSSD進一步檢查指令是否為管理指令(909)且執行管理指令(910)。若指令並非管理指令(909),則被動eSSD警示BMC(911)且報告錯誤狀態(912)。
若被動eSSD的一致性模式為完美模式(904),則被動eSSD將確認發送至主動eSSD(905)。若被動eSSD的一致性模式為幾乎完美模式(904),則被動eSSD檢查是否存在錯誤(908)。在錯誤的情況下,被動eSSD向BMC報告錯誤(911)。若不存在錯誤,則被動eSSD檢驗LBA與指令FIFO(900)以執行LBA與指令FIFO中的下一個指令(901)。
根據一個實施例,BMC可週期性地監視主動eSSD以及被動eSSD的正常狀態。舉例而言,BMC使用NVMe-MI協定且具體言之NVMe-MI「正常狀態輪詢(Health Status Poll)」命令用於正常狀態監視。BMC可使用PCIe介面或SMBus介面用於管理目的。出於各種原因,eSSD(主動eSSD或被動eSSD)可經自底座抽出。BMC週期性地自底座中的eSSD中的每一者接收「存在」訊號。在eSSD經抽出的情況下,BMC接收此事件的報告。
一旦BMC判定目前主動eSSD已有故障或不再存在於底座中,則BM可起始故障接管操作。首先,BMC在主動模式中程式化底座中的被動eSSD或正常eSSD中的一者。若必要,BMC可進一步選擇底座中的另一eSSD作為新被動eSSD。BMC重新程式化乙太網路交換器以複製新主動eSSD的進入訊務。
圖 10
為根據一個實施例的用於故障接管操作的流程圖。BMC可偵測主動eSSD有故障或經自底座抽出(1000)。BMC自底座選擇新主動eSSD(1001)(1001)。根據一個實施例,底座中的被動eSSD或正常eSSD中的一者可經轉換至新主動eSSD。BMC接著判定是否需要新的被動eSSD(1002)。當需要新的被動eSSD時(1002),BMC選擇底座中的eSSD(1005),且將所述eSSD程式化為被動eSSD且使所述eSSD與新主動eSSD相關聯(1006)。若被動eSSD經轉換至新主動eSSD,則可減少主機資料的複本的數目。因此,新被動eSSD可經自底座中存在的正常eSSD中的一者配置。替代地,可將與另一主動eSSD相關聯的被動eSSD轉換至主動eSSD。BMC程式化底座的乙太網路交換器(1003),且程式化新主動eSSD(1004)。
在資料複製設置中,至關重要的是保持複製的資料複本一致。換言之,eSSD的集合(主動eSSD以及相關聯的被動eSSD)需要相互一致。若引起任何不一致,則判定哪一資料複本是正確的資料複本可能並非有可能,且因此,此情形可導致一些資料損失。一些使用情況可容忍某些資料損失事件,但多數使用情況預期無資料損失。
根據一個實施例,用於提供資料複製的本系統及方法可保證主動與相關聯的被動eSSD之間的完美一致性,且不達成資料損失。在一些情況下,若在罕見情況下用戶應用程式可容忍一些資料損失,則其可達成較好潛時。此資料損失的機率可極其小。
基於使用情況,BMC可將資料複製的一致性模式設定為完美一致性模式或幾乎完美一致性模式,作為複製設置的部分。在完美一致性模式中,主動eSSD在將完成佇列條目發送至主機前等待來自所有相關聯的被動eSSD的確認。在完美一致性模式中,主動eSSD在持留用戶資料的其複本後,可不立即發送主機命令完成佇列條目以確保所有被動eSSD已成功地持留主機資料。等待來自被動eSSD的確認可增添主機寫入存取的輕微潛時。由於主動與被動eSSD同時接收用戶資料,因此由來自被動eSSD的確認引起的額外潛時將不重要。延遲可主要地對應於被動eSSD確認達成主動eSSD所花的時間量。主動eSSD與被動eSSD之間的私用通訊通道為本端且專用的,因此此eSSD間通訊時間將最少。
若主動eSSD被抽出或突然變得不操作,則在提交佇列中可存在一些主機寫入命令。在此情況下,主動eSSD可不發送用於部分寫入命令的任何命令完成佇列條目。因此,自主機觀點看來,可維持資料完整性。主機將重新發出故障寫入命令至不同儲存單元或等待故障接管交換器。
在幾乎完美一致性模式中,主動eSSD不等待來自相關聯的被動eSSD的確認。主動eSSD一持留其自己的寫入資料複本,主動eSSD即將命令完成發送至主機。與完美一致性模式相比,此導致主機的較好潛時。當在此模式中時,若主動eSSD經抽出或變得不操作,則在執行中可存在一些主機寫入命令。對於無命令完成已經發送的所有主機寫入命令,可仍然維持資料完整性。主機可重新發出寫入命令至替代性儲存單元。一旦極端情況是,主動eSSD已將成功寫入命令完成發送至主機,但出於一些原因,被動eSSD不能持留彼資料。在此極端情況下,主機判定資料經成功地寫入,但資料的主動複本不再可用,且資料的被動複本不能持留。在發送寫入命令完成後主動eSSD經抽出或變得不操作以及被動eSSD在彼時不能持留相關聯的寫入資料的機率極其小。雖然幾乎完美的一致性模式可提供稍微較好的潛時,但存在小的資料損失風險。對於可容忍此情形的應用程式,幾乎完美的一致性模式可為可行選項。
根據一個實施例,一種方法包含:提供包括底座中含有的多個固態硬碟(eSSD)的資料複製系統,其中底座包含用於提供至多個eSSD中的每一者的下行鏈路的光纖交換器,以及用於控制光纖交換器以及多個eSSD的基板管理控制器(BMC);使用BMC將多個eSSD中的一者配置為主動eSSD;使用BMC將多個eSSD中的一或多者配置為一或多個被動eSSD;使用BMC程式化光纖交換器,以將指定用於主動eSSD的封包轉發至主動eSSD以及一或多個被動eSSD兩者;在主動eSSD處接收來自主機的主機資料寫入命令;將對應於來自主動eSSD的主機資料的位址以及指令發送至一或多個被動eSSD;將主機資料儲存於主動eSSD中;以及使用自主動eSSD接收的位址以及指令以及在由光纖交換器轉發的封包中接收的主機資料將主機資料的複本儲存於一或多個被動eSSD中。
主動eSSD可為可由主機發現,且一或多個被動eSSD可不為可由主機發現。
所述方法可更包含在主動eSSD與一或多個被動eSSD之間建立私用通訊通道以將位址以及指令自主動eSSD發送至一或多個被動eSSD。
可經由光纖交換器或經由底座中的PCIe交換器建立私用通訊通道。
所述方法可更包含:回應於主機資料寫入命令,使用主動eSSD遠端直接記憶體存取(RDMA) READ請求發出至主機;以及在一或多個RDMA READ RESPONSE封包中接收來自主機的主機資料。
RDMA READ RESPONSE封包可包含主機資料的資料塊。
一或多個被動eSSD中的每一者可捨棄自光纖交換器接收的封包,惟RDMA READ RESPONSE封包除外。
所述方法可更包含:在接收到來自一或多個被動eSSD的回應後或在將主機資料儲存於主動eSSD中而未接收到來自一或多個被動eSSD的回應後,基於一致性模式將完成佇列條目發送至主機。
一或多個被動eSSD中的每一者可包含用於儲存位址以及指令的第一緩衝器以及用於儲存主機資料的資料塊的第二緩衝器。
所述方法可更包含:偵測與主動eSSD相關聯的錯誤;選擇底座中的多個eSSD當中的eSSD;將eSSD配置為新主動eSSD;判定是否需要新被動eSSD;配置新被動eSSD;以及程式化光纖交換器以使新主動eSSD與一或多個被動eSSD相關聯。
根據另一實施例,一種資料複製系統包含底座,其包含多個eSSD、光纖交換器以及基板管理控制器(BMC)。光纖交換器經配置以提供至多個eSSD中的每一者的下行鏈路,且BMC經配置以控制光纖交換器以及多個eSSD。BMC將多個eSSD中的一者配置為主動eSSD,且將多個eSSD中的一或多者配置為一或多個被動eSSD,且程式化光纖交換器以將指定用於主動eSSD的封包轉發至主動eSSD以及一或多個被動eSSD兩者。主動eSSD經配置以回應於自主機接收的主機資料寫入命令而儲存主機資料。主動eSSD經進一步配置以將對應於主機資料的位址以及指令發送至一或多個被動eSSD。一或多個被動eSSD中的每一者經配置以使用自主動eSSD接收的位址以及指令以及在由光纖交換器轉發的封包中接收的主機資料來儲存主機資料的複本。
主動eSSD可為可由主機發現,且一或多個被動eSSD可不為可由主機發現。
私用通訊通道可建立於主動eSSD與一或多個被動eSSD之間以發送位址以及指令。
可經由光纖交換器或經由底座中的PCIe交換器建立私用通訊通道。
所述方法可經進一步配置以:回應於主機資料寫入命令,將遠端直接記憶體存取(RDMA) READ請求發出至主機;以及在一或多個RDMA READ RESPONSE封包中接收來自主機的主機資料。
RDMA READ RESPONSE封包可包含主機資料的資料塊。
一或多個被動eSSD中的每一者可捨棄自光纖交換器接收的封包,惟RDMA READ RESPONSE封包除外。
主動eSSD可經進一步配置以在接收到來自一或多個被動eSSD的回應後或在將主機資料儲存於主動eSSD中而未接收到來自一或多個被動eSSD的回應後,基於一致性模式將完成佇列條目發送至主機。
一或多個被動eSSD中的每一者可包含用於儲存位址以及指令的第一緩衝器以及用於儲存主機資料的資料塊的第二緩衝器。
BMC可經進一步配置以:偵測與主動eSSD相關聯的錯誤;選擇底座中的多個eSSD當中的eSSD;將eSSD配置為新主動eSSD;判定是否需要新被動eSSD;配置新被動eSSD;以及程式化光纖交換器以使新主動eSSD與一或多個被動eSSD以及新被動eSSD相關聯。
上文已描述以上實例實施例以說明實施用於在乙太網路SSD中提供資料複製之系統及方法的各種實施例。一般熟習此項技術者將想到各種修改以及與所揭露的實例實施例的脫離。意欲在本發明的範疇內的標的闡述於以下申請專利範圍中。
100、200、300‧‧‧NVMe-oF系統
110、210、310‧‧‧主機
111、211、311‧‧‧應用程式
112、212、312‧‧‧作業系統(OS)與檔案系統(FS)
113、213、313‧‧‧NVMe-oF驅動器
150、250、350‧‧‧乙太網路
160、260、260a、260b、260(m-1)、260m、360、660‧‧‧底座
161、361、661‧‧‧乙太網路交換器
162、362‧‧‧基板管理控制器(BMC)
163、363‧‧‧PCIe交換器
164、364‧‧‧管理介面
165、365‧‧‧中平面
170a、170b、170n、370a、370b、370n‧‧‧乙太網路SSD(eSSD)
270‧‧‧機架
271‧‧‧架頂式(TOR)交換器
670a‧‧‧主動eSSD
670b‧‧‧被動eSSD
671‧‧‧LBA與指令FIFO
672‧‧‧接收的訊息FIFO
包含為本說明書的部分的隨附圖式說明目前較佳實施例,並且與上文給出的大體描述及下文給出的較佳實施例的詳細描述一起用來解釋及教示本文中所描述的原理。圖 1
繪示根據一個實施例的實例NVMe-oF系統的方塊圖。圖 2
繪示根據另一實施例的實例NVMe-oF系統的方塊圖。圖 3
說明根據一個實施例的實例NVMe-oF系統的資料複製過程。圖 4
為根據一個實施例的用於初始化以及程式化底座的eSSD以及乙太網路交換器以實施資料重複的流程圖。圖 5
為根據一個實施例的用於由主動eSSD處理主機命令的流程圖。圖 6
說明根據一個實施例的實例資料複製過程。圖 7
為根據一個實施例的用於由被動eSSD處理主機命令的流程圖。圖 8
為根據一個實施例的用於將LBA以及指令自主動eSSD傳達至被動eSSD的流程圖。圖 9
為根據一個實施例的用於由被動eSSD處理資料複製的流程圖。圖 10
為根據一個實施例的用於故障接管操作的流程圖。 貫穿諸圖,出於說明的目的,圖未必按比例繪製且類似結構或功能的元件通常由相似參考數字表示。圖僅意欲有助於對本文中所描述的各種實施例的描述。圖並不描述本文中揭露的教示的每一態樣並且不限制申請專利範圍的範疇。
Claims (20)
- 一種方法,包括: 提供包括底座中含有的多個乙太網路固態硬碟(eSSD)的資料複製系統,其中所述底座包含用於提供至所述多個乙太網路固態硬碟中的每一者的下行鏈路的光纖交換器,以及用於控制所述光纖交換器以及所述多個乙太網路固態硬碟的基板管理控制器(BMC); 使用所述基板管理控制器將所述多個乙太網路固態硬碟中的一者配置為主動eSSD; 使用所述基板管理控制器將所述多個乙太網路固態硬碟中的一或多者配置為一或多個被動乙太網路固態硬碟; 使用所述基板管理控制器程式化所述光纖交換器,以將指定用於所述主動乙太網路固態硬碟的封包轉發至所述主動eSSD以及所述一或多個被動乙太網路固態硬碟兩者; 在所述主動乙太網路固態硬碟處接收來自主機的主機資料寫入命令; 將對應於所述主機資料的位址以及指令自所述主動乙太網路固態硬碟發送至所述一或多個被動乙太網路固態硬碟; 將所述主機資料儲存於所述主動乙太網路固態硬碟中;以及 使用自所述主動乙太網路固態硬碟接收的所述位址以及所述指令以及在由所述光纖交換器轉發的所述封包中接收的所述主機資料將所述主機資料的複本儲存於所述一或多個被動乙太網路固態硬碟中。
- 如申請專利範圍第1項所述的方法,其中所述主動乙太網路固態硬碟可由所述主機發現,且所述一或多個被動乙太網路固態硬碟不可由所述主機發現。
- 如申請專利範圍第1項所述的方法,更包括在所述主動乙太網路固態硬碟與所述一或多個被動乙太網路固態硬碟之間建立私用通訊通道以將所述位址以及所述指令自所述主動乙太網路固態硬碟發送至所述一或多個被動乙太網路固態硬碟。
- 如申請專利範圍第3項所述的方法,其中所述私用通訊通道是經由所述光纖交換器或經由所述底座中的PCIe交換器建立。
- 如申請專利範圍第1項所述的方法,更包括: 回應於所述主機資料寫入命令,使用所述主動乙太網路固態硬碟將遠端直接記憶體存取(RDMA) READ請求發出至所述主機;以及 在一或多個RDMA READ RESPONSE封包中接收來自所述主機的所述主機資料。
- 如申請專利範圍第5項所述的方法,其中所述RDMA READ RESPONSE封包包含所述主機資料的資料塊。
- 如申請專利範圍第5項所述的方法,其中所述一或多個被動乙太網路固態硬碟中的每一者捨棄自所述光纖交換器接收的所述封包,惟所述RDMA READ RESPONSE封包除外。
- 如申請專利範圍第1項所述的方法,更包括:在接收到來自所述一或多個被動乙太網路固態硬碟的回應後或在將所述主機資料儲存於所述主動乙太網路固態硬碟中而未接收到來自所述一或多個被動乙太網路固態硬碟的回應後,基於一致性模式將完成佇列條目發送至所述主機。
- 如申請專利範圍第1項所述的方法,其中所述一或多個被動乙太網路固態硬碟中的每一者包含用於儲存所述位址以及所述指令的第一緩衝器,以及用於儲存所述主機資料的資料塊的第二緩衝器。
- 如申請專利範圍第1項所述的方法,更包括: 偵測與所述主動乙太網路固態硬碟相關聯的錯誤; 選擇所述底座中的所述多個乙太網路固態硬碟當中的乙太網路固態硬碟; 將選定的所述乙太網路固態硬碟配置為新主動乙太網路固態硬碟; 判定是否需要新被動乙太網路固態硬碟; 配置所述新被動乙太網路固態硬碟;以及 程式化所述光纖交換器以使所述新主動乙太網路固態硬碟與所述一或多個被動乙太網路固態硬碟相關聯。
- 一種資料複製系統,包括: 底座,其包含多個乙太網路固態硬碟、光纖交換器以及基板管理控制器(BMC); 其中所述光纖交換器經配置以提供至所述多個乙太網路固態硬碟中的每一者的下行鏈路,且所述基板管理控制器經配置以控制所述光纖交換器以及所述多個乙太網路固態硬碟, 其中所述基板管理控制器將所述多個乙太網路固態硬碟中的一者配置為主動乙太網路固態硬碟,且將所述多個乙太網路固態硬碟中的一或多者配置為一或多個被動乙太網路固態硬碟,且程式化所述光纖交換器以將指定用於所述主動乙太網路固態硬碟的封包轉發至所述主動乙太網路固態硬碟以及所述一或多個被動乙太網路固態硬碟兩者, 其中所述主動乙太網路固態硬碟經配置以回應於自主機接收的主機資料寫入命令而儲存主機資料, 其中所述主動乙太網路固態硬碟經進一步配置以將對應於所述主機資料的位址以及指令發送至所述一或多個被動乙太網路固態硬碟, 其中所述一或多個被動乙太網路固態硬碟中的每一者經配置以使用自所述主動乙太網路固態硬碟接收的所述位址以及所述指令以及在由所述光纖交換器轉發的所述封包中接收的所述主機資料來儲存所述主機資料的複本。
- 如申請專利範圍第11項所述的資料複製系統,其中所述主動乙太網路固態硬碟可由所述主機發現,且所述一或多個被動乙太網路固態硬碟不可由所述主機發現。
- 如申請專利範圍第11項所述的資料複製系統,其中私用通訊通道建立於所述主動乙太網路固態硬碟與所述一或多個被動乙太網路固態硬碟之間以發送所述位址以及所述指令。
- 如申請專利範圍第13項所述的資料複製系統,其中所述私用通訊通道是經由所述光纖交換器或經由所述底座中的PCIe交換器建立。
- 如申請專利範圍第11項所述的資料複製系統,其中所述主動乙太網路固態硬碟經進一步配置以: 回應於所述主機資料寫入命令,將遠端直接記憶體存取(RDMA) READ請求發出至所述主機;以及 在一或多個RDMA READ RESPONSE封包中接收來自所述主機的所述主機資料。
- 如申請專利範圍第15項所述的資料複製系統,其中所述RDMA READ RESPONSE封包包含所述主機資料的資料塊。
- 如申請專利範圍第15項所述的資料複製系統,其中所述一或多個被動乙太網路固態硬碟中的每一者捨棄自所述光纖交換器接收的所述封包,惟所述RDMA READ RESPONSE封包除外。
- 如申請專利範圍第11項所述的資料複製系統,其中所述主動乙太網路固態硬碟經進一步配置以在接收到來自所述一或多個被動乙太網路固態硬碟的回應後或在將所述主機資料儲存於所述主動乙太網路固態硬碟中而未接收到來自所述一或多個被動乙太網路固態硬碟的回應後,基於一致性模式將完成佇列條目發送至所述主機。
- 如申請專利範圍第11項所述的資料複製系統,其中所述一或多個被動乙太網路固態硬碟中的每一者包含用於儲存所述位址以及所述指令的第一緩衝器,以及用於儲存所述主機資料的資料塊的第二緩衝器。
- 如申請專利範圍第11項所述的資料複製系統,其中所述基板管理控制器經進一步配置以: 偵測與所述主動乙太網路固態硬碟相關聯的錯誤; 選擇所述底座中的所述多個乙太網路固態硬碟當中的乙太網路固態硬碟; 將所述乙太網路固態硬碟配置為新主動乙太網路固態硬碟; 判定是否需要新被動乙太網路固態硬碟; 配置所述新被動乙太網路固態硬碟;以及 程式化所述光纖交換器以使所述新主動乙太網路固態硬碟與所述一或多個被動乙太網路固態硬碟以及所述新被動乙太網路固態硬碟相關聯。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762480113P | 2017-03-31 | 2017-03-31 | |
US62/480,113 | 2017-03-31 | ||
US15/617,925 | 2017-06-08 | ||
US15/617,925 US10691368B2 (en) | 2017-03-31 | 2017-06-08 | System and method for providing data replication in NVMe-oF ethernet SSD |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201840149A true TW201840149A (zh) | 2018-11-01 |
TWI734890B TWI734890B (zh) | 2021-08-01 |
Family
ID=63670633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107102418A TWI734890B (zh) | 2017-03-31 | 2018-01-24 | 提供資料複製於跨光纖非揮發性記憶乙太網路固態硬碟之系統及方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10691368B2 (zh) |
JP (1) | JP6955466B2 (zh) |
KR (1) | KR102457091B1 (zh) |
CN (1) | CN108696569B (zh) |
TW (1) | TWI734890B (zh) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10275180B2 (en) * | 2017-05-08 | 2019-04-30 | Samsung Electronics Co., Ltd. | Ethernet SSD system including storage offload engine (SoE) controller and ethernet switch |
US10764180B1 (en) * | 2018-02-20 | 2020-09-01 | Toshiba Memory Corporation | System and method for storing data using software defined networks |
US10607712B1 (en) | 2018-09-28 | 2020-03-31 | Toshiba Memory Corporation | Media error reporting improvements for storage drives |
US10635355B1 (en) * | 2018-11-13 | 2020-04-28 | Western Digital Technologies, Inc. | Bandwidth limiting in solid state drives |
US11366610B2 (en) * | 2018-12-20 | 2022-06-21 | Marvell Asia Pte Ltd | Solid-state drive with initiator mode |
US11144488B2 (en) * | 2019-02-04 | 2021-10-12 | American Megatrends International, Llc | Techniques of sending alerts from storage services running on server san target |
WO2020183246A2 (en) | 2019-03-14 | 2020-09-17 | Marvell Asia Pte, Ltd. | Termination of non-volatile memory networking messages at the drive level |
US11200193B2 (en) | 2019-03-14 | 2021-12-14 | Marvell Asia Pte, Ltd. | Transferring data between solid state drives (SSDs) via a connection between the SSDs |
WO2020186270A1 (en) * | 2019-03-14 | 2020-09-17 | Marvell Asia Pte, Ltd. | Ethernet enabled solid state drive (ssd) |
US11055249B2 (en) | 2019-06-25 | 2021-07-06 | Micron Technology, Inc. | Access optimization in aggregated and virtualized solid state drives |
US11513923B2 (en) | 2019-06-25 | 2022-11-29 | Micron Technology, Inc. | Dynamic fail-safe redundancy in aggregated and virtualized solid state drives |
US10942846B2 (en) * | 2019-06-25 | 2021-03-09 | Micron Technology, Inc. | Aggregated and virtualized solid state drives accessed via multiple logical address spaces |
US11768613B2 (en) | 2019-06-25 | 2023-09-26 | Micron Technology, Inc. | Aggregation and virtualization of solid state drives |
US10942881B2 (en) | 2019-06-25 | 2021-03-09 | Micron Technology, Inc. | Parallel operations in aggregated and virtualized solid state drives |
US11762798B2 (en) | 2019-06-25 | 2023-09-19 | Micron Technology, Inc. | Aggregated and virtualized solid state drives with multiple host interfaces |
US11573708B2 (en) | 2019-06-25 | 2023-02-07 | Micron Technology, Inc. | Fail-safe redundancy in aggregated and virtualized solid state drives |
JP7347157B2 (ja) * | 2019-11-22 | 2023-09-20 | 富士通株式会社 | 情報処理システム、ストレージ制御プログラム、及び、ストレージ制御装置 |
US12045478B1 (en) * | 2020-01-22 | 2024-07-23 | American Megatrends International, Llc | Remote configuration of multi-mode DIMMs through firmware |
KR20220080915A (ko) * | 2020-12-08 | 2022-06-15 | 삼성전자주식회사 | 스토리지 장치와 호스트 장치의 구동 방법 및 스토리지 장치 |
US20210294702A1 (en) * | 2021-06-04 | 2021-09-23 | Intel Corporation | High-availability memory replication in one or more network devices |
US11726880B1 (en) * | 2022-02-18 | 2023-08-15 | Dell Products L.P. | Fault tolerance and debug analysis during a boot process |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001337788A (ja) * | 2000-05-24 | 2001-12-07 | Hitachi Ltd | 記憶装置の2重化方式及び記憶装置の2重化での障害回復方法 |
US7633955B1 (en) * | 2004-02-13 | 2009-12-15 | Habanero Holdings, Inc. | SCSI transport for fabric-backplane enterprise servers |
US10572188B2 (en) | 2008-01-12 | 2020-02-25 | Hewlett Packard Enterprise Development Lp | Server-embedded distributed storage system |
CN101520742B (zh) * | 2009-03-26 | 2011-12-21 | 成都市华为赛门铁克科技有限公司 | 固态硬盘数据备份方法、系统和相应的固态硬盘 |
JP2011209892A (ja) * | 2010-03-29 | 2011-10-20 | Fujitsu Ltd | ストレージシステム、ストレージシステムの制御方法、スイッチ装置およびストレージ装置 |
US9104326B2 (en) * | 2010-11-15 | 2015-08-11 | Emc Corporation | Scalable block data storage using content addressing |
US9582384B2 (en) | 2011-03-23 | 2017-02-28 | Stormagic Limited | Method and system for data replication |
US20120254508A1 (en) * | 2011-04-04 | 2012-10-04 | International Business Machines Corporation | Using the Short Stroked Portion of Hard Disk Drives for a Mirrored Copy of Solid State Drives |
US8942139B2 (en) * | 2011-12-07 | 2015-01-27 | International Business Machines Corporation | Support for converged traffic over ethernet link aggregation (LAG) |
US9015525B2 (en) * | 2012-06-19 | 2015-04-21 | Lsi Corporation | Smart active-active high availability DAS systems |
US9986028B2 (en) * | 2013-07-08 | 2018-05-29 | Intel Corporation | Techniques to replicate data between storage servers |
KR20150047785A (ko) * | 2013-10-25 | 2015-05-06 | 삼성전자주식회사 | 서버 시스템 및 스토리지 시스템 |
US9471259B2 (en) | 2014-01-28 | 2016-10-18 | Netapp, Inc. | Shared storage architecture |
CN103777905B (zh) * | 2014-02-14 | 2017-04-12 | 华中科技大学 | 一种软件定义的固态盘融合存储方法 |
EP3117583A4 (en) * | 2014-03-08 | 2017-11-01 | Diamanti, Inc. | Methods and systems for converged networking and storage |
US9696942B2 (en) | 2014-03-17 | 2017-07-04 | Mellanox Technologies, Ltd. | Accessing remote storage devices using a local bus protocol |
US9811677B2 (en) * | 2014-07-03 | 2017-11-07 | Pure Storage, Inc. | Secure data replication in a storage grid |
US9652175B2 (en) * | 2015-04-09 | 2017-05-16 | Sandisk Technologies Llc | Locally generating and storing RAID stripe parity with single relative memory address for storing data segments and parity in multiple non-volatile memory portions |
US9760314B2 (en) | 2015-05-29 | 2017-09-12 | Netapp, Inc. | Methods for sharing NVM SSD across a cluster group and devices thereof |
KR102403489B1 (ko) * | 2015-07-10 | 2022-05-27 | 삼성전자주식회사 | 비휘발성 메모리 익스프레스 컨트롤러에 의한 입출력 큐 관리 방법 |
US10055379B2 (en) * | 2015-07-10 | 2018-08-21 | SK Hynix Inc. | Peripheral component interconnect express card |
KR102387973B1 (ko) * | 2015-12-01 | 2022-04-19 | 삼성전자주식회사 | 이중화 저장 장치, 그것을 포함한 서버 시스템 및 그것의 동작 방법 |
CN206039500U (zh) * | 2016-07-23 | 2017-03-22 | 西安飞铭电子科技有限公司 | 一种多用户实时网络仿真系统 |
US10326613B2 (en) * | 2017-04-18 | 2019-06-18 | Arista Networks, Inc. | Method and system for processing spanning tree protocol (STP) state in a multichassis link aggregation (MLAG) domain |
-
2017
- 2017-06-08 US US15/617,925 patent/US10691368B2/en active Active
-
2018
- 2018-01-05 KR KR1020180001859A patent/KR102457091B1/ko active IP Right Grant
- 2018-01-24 TW TW107102418A patent/TWI734890B/zh active
- 2018-03-20 JP JP2018052308A patent/JP6955466B2/ja active Active
- 2018-03-21 CN CN201810234803.1A patent/CN108696569B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
JP6955466B2 (ja) | 2021-10-27 |
CN108696569A (zh) | 2018-10-23 |
US20180284989A1 (en) | 2018-10-04 |
CN108696569B (zh) | 2022-01-11 |
KR102457091B1 (ko) | 2022-10-20 |
TWI734890B (zh) | 2021-08-01 |
KR20180111483A (ko) | 2018-10-11 |
JP2018173949A (ja) | 2018-11-08 |
US10691368B2 (en) | 2020-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI734890B (zh) | 提供資料複製於跨光纖非揮發性記憶乙太網路固態硬碟之系統及方法 | |
US8402189B2 (en) | Information processing apparatus and data transfer method | |
US9009724B2 (en) | Load balancing data access in virtualized storage nodes | |
US20190220379A1 (en) | Troubleshooting Method, Apparatus, and Device | |
US9933946B2 (en) | Fibre channel storage array methods for port management | |
US20200174708A1 (en) | Data Access Method, Apparatus, and System | |
JP2007207007A (ja) | ストレージシステム、ストレージコントローラ及び計算機システム | |
US8677067B2 (en) | Storage system and method for controlling storage system | |
JP2007072571A (ja) | 計算機システム及び管理計算機ならびにアクセスパス管理方法 | |
US20160217049A1 (en) | Fibre Channel Failover Based on Fabric Connectivity | |
JP2017010390A (ja) | ストレージ制御装置、ストレージ制御プログラム、およびストレージ制御方法 | |
US10469288B2 (en) | Efficient data transfer in remote mirroring connectivity on software-defined storage systems | |
US10782889B2 (en) | Fibre channel scale-out with physical path discovery and volume move | |
US20170052709A1 (en) | Storage system, storage control apparatus, and storage control method | |
US20080101236A1 (en) | Storage system and communication bandwidth control method | |
JP2006092535A (ja) | ストレージネットワークにおける内部ミラーオペレーション | |
US11983428B2 (en) | Data migration via data storage device peer channel | |
US10216596B1 (en) | Fast consistent write in a distributed system | |
US10642788B1 (en) | Sand timer algorithm for tracking in-flight data storage requests for data replication | |
US9785520B2 (en) | Computer system, storage apparatus and control method | |
US11784916B2 (en) | Intelligent control plane communication | |
JP2024049171A (ja) | ユニファイドストレージ及びユニファイドストレージの制御方法 | |
JP2010033379A (ja) | 仮想化システム及び仮想化の復旧方法 | |
WO2014198572A1 (en) | Migration of a logical volume between storage systems |