TWI704459B - 提供平衡性能與高可用性之冗餘資源連接連線構體及計算系統 - Google Patents

提供平衡性能與高可用性之冗餘資源連接連線構體及計算系統 Download PDF

Info

Publication number
TWI704459B
TWI704459B TW106121508A TW106121508A TWI704459B TW I704459 B TWI704459 B TW I704459B TW 106121508 A TW106121508 A TW 106121508A TW 106121508 A TW106121508 A TW 106121508A TW I704459 B TWI704459 B TW I704459B
Authority
TW
Taiwan
Prior art keywords
switch
data storage
directly connected
connection
computing resources
Prior art date
Application number
TW106121508A
Other languages
English (en)
Other versions
TW201807581A (zh
Inventor
吉尼斯瓦拉 R. 馬爾利普蒂
史蒂芬 G. 菲斯契爾
展 平
印迪拉 喬希
哈利 羅傑斯
Original Assignee
南韓商三星電子股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 南韓商三星電子股份有限公司 filed Critical 南韓商三星電子股份有限公司
Publication of TW201807581A publication Critical patent/TW201807581A/zh
Application granted granted Critical
Publication of TWI704459B publication Critical patent/TWI704459B/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0663Performing the actions predefined by failover planning, e.g. switching to standby network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2007Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
    • G06F11/201Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media between storage system components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2025Failover techniques using centralised failover control functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2033Failover techniques switching over of hardware resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2035Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant without idle spare hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2046Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share persistent storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality
    • G06F11/2092Techniques of failing over between control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/101Packet switching elements characterised by the switching fabric construction using crossbar or matrix
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/552Prevention, detection or correction of errors by ensuring the integrity of packets received through redundant connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/557Error correction, e.g. fault recovery or fault tolerance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Hardware Redundancy (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

一種提供對計算資源的高可用性存取的計算系統包含: 多個介面;多組計算資源,多組計算資源中的每一組包含多個計算資源;以及至少三個開關,開關中的每一開關經由主機鏈路而連接至介面中的對應介面,且經由多個資源連接而連接至多組計算資源中的對應組,開關中的每一開關經組態使得在開關中的一個開關出故障的情況下經由開關之間的多個交叉連接將資料流量散佈至開關中的剩餘開關。

Description

提供平衡性能與高可用性之冗餘資源連接連線 構體及計算系統
本發明的實施例的態樣是關於提供對電腦系統的冗餘的領域。
在電腦系統的領域中,對資料及其他計算資源的可靠及高性能存取對於商務及日常生活的連續操作而言是重要的。術語「高可用性」(High Availability;HA)常常用以描述縮減或消除單故障點的系統(例如,提供對系統的冗餘,使得單一組件的故障不會引起整個系統的故障)。
受益於高可用性的實例電腦系統包含諸如儲存區域網路(storage area network;SAN)系統的資料儲存系統,儲存區域網路系統可提供資料資源以用於經由諸如區域網路(local area network;LAN)的電腦網路或經由網際網路來儲存及擷取資料。
本發明的實施例的態樣是關於經由使用適應性多重路徑連線構體將平衡性能與高可用性提供至計算資源。
根據本發明的一個實施例,一種提供對計算資源的高可用性存取的計算系統包含:多個介面;多組計算資源,多組計算資源中的每一組包含多個計算資源;以及至少三個開關,開關中的每一開關經由主機鏈路而連接至介面中的對應介面,且經由多個資源連接而連接至多組計算資源中的對應組,開關中的每一開關經組態使得在開關中的一個開關出故障的情況下經由開關之間的多個交叉連接將資料流量散佈至開關中的剩餘開關。
至少三個開關可包含:第一開關;第二開關;以及第三開關,經由第一交叉連接而直接連接至第一開關,且經由第二交叉連接而直接連接至第二開關。
計算系統可更包含:第一伺服器節點,經由第一主機鏈路而耦接至第一開關,第一伺服器節點包含多個介面中的第一介面;以及第二伺服器節點,經由第二主機鏈路而耦接至第二開關,第二伺服器節點包含多個介面中的第二介面。
計算系統可更包含:第三伺服器節點,經由第三主機鏈路而耦接至第三開關。
計算系統可更包含:第一次級開關,直接連接至第一伺服器節點;第二次級開關,直接連接至第二伺服器節點;第三次級開關,直接連接至第三伺服器節點;第一交叉連接,將第一次級開關直接連接至第二次級開關;第二交叉連接,將第一次級開關直接連接至第三次級開關;以及第三交叉連接,將第二次級開關直接連接至第三次級開關。
多組計算資源中的第一組計算資源可包含第一組資料儲存裝置,第一組資料儲存裝置中的每一資料儲存裝置具有經由多個資源連接中的第一資源連接而直接連接至第一開關的第一埠、以及經由多個資源連接中的第二資源連接而直接連接至第二開關的第二埠,且多組計算資源中的第二組計算資源包含第二組資料儲存裝置,第二組資料儲存裝置中的每一資料儲存裝置具有經由多個資源連接中的第三資源連接而直接連接至第一開關的第一埠、以及經由多個資源連接中的第四資源連接而直接連接至第二開關的第二埠。
計算系統可更包含:第四開關,經由第三交叉連接而直接連接至第一開關,且經由第四交叉連接而直接連接至第二開關。
計算系統可更包含第三組資料儲存裝置,第三組資料儲存裝置中的每一資料儲存裝置具有經由第五資源連接而直接連接至第三開關的第一埠、以及經由第六資源連接而直接連接至第四開關的第二埠。
計算系統可更包含:第四伺服器節點,經由第四主機鏈路而直接連接至第四開關。
計算系統可更包含第四組資料儲存裝置,第四組資料儲存裝置中的每一資料儲存裝置具有經由第七資源連接而直接連接至第三開關的第一埠、以及經由第八資源連接而直接連接至第四開關的第二埠。
每一開關可經組態以:偵測另一開關的故障;以及經由對應於開關的主機鏈路及交叉連接來提供對第一組資料儲存裝置及第二組資料儲存裝置的存取。
計算系統可包含N個介面,其中N是整數,其中頻寬單位B可以是使多組計算資源的計算資源中的一個計算資源以全頻寬進行操作所需要的頻寬的量,其中B可以是正數,其中每一資源連接可具有至少1×B的頻寬,其中每一組計算資源可具有高達K個計算資源,其中K是整數,其中多個介面中的每一介面的每一主機鏈路可支援K×B的正常流量頻寬及大於或等於K×B的最大流量頻寬,且其中多個交叉連接中的每一交叉連接可具有至少K×B/(N-1)的頻寬。
開關可以是高速周邊組件互連(Peripheral Component Interconnect Express;PCIe)開關,且其中主機鏈路及資源連接可以是高速周邊組件互連匯流排鏈路。
根據本發明的一個實施例,一種計算系統包含至少兩個高可用性對,每一高可用性對包含:第一開關;第二開關;第一介面,經由第一主機鏈路而耦接至第一開關;介面,經由第二主機鏈路而耦接至第二開關;第一組計算資源,經由第一資源連接而連接至第一開關,且經由第二資源連接而連接至第二開關;第二組計算資源,經由第三資源連接而連接至第一開關,且經由第四資源連接而連接至第二開關;多個第一交叉連接,第一交叉連接中的每一第一交叉連接將第一開關直接連接至其他高可用性對中的每一高可用性對的每一開關;以及多個第二交叉連接,第二交叉連接中的每一第二交叉連接將第二開關直接連接至其他高可用性對中的每一高可用性對的每一開關。
第一組計算資源可包含第一組資料儲存裝置,第一組資料儲存裝置中的每一資料儲存裝置具有經由第一資源連接而直接 連接至第一開關的第一埠、以及經由第二資源連接而直接連接至第二開關的第二埠,且其中第二組計算資源可包含第二組資料儲存裝置,第二組資料儲存裝置中的每一資料儲存裝置具有經由第三資源連接而直接連接至第一開關的第一埠、以及經由第四資源連接而直接連接至第二開關的第二埠。
第一開關可經組態以:偵測第二開關的故障;以及經由第一主機鏈路及第一交叉連接來提供對第一組資料儲存裝置及第二組資料儲存裝置的存取。
計算系統可包含N個伺服器節點,其中N是整數,其中頻寬單位B可以是使計算資源中的一個計算資源以全頻寬進行操作所需要的頻寬的量,其中B可以是正數,其中每一資源連接可具有至少1×B的頻寬;其中每一組計算資源可具有高達K個計算資源,其中K是整數,其中每一伺服器節點可支援K×B的正常頻寬且可支援大於或等於K×B的最大頻寬,且其中每一交叉連接可具有至少K×B/(N-1)的頻寬。
開關可以是高速周邊組件互連(PCIe)開關,且其中主機鏈路及資源連接可以是高速周邊組件互連匯流排鏈路。
至少兩個高可用性對可包含:第一高可用性對;第二高可用性對;第三高可用性對;以及第四高可用性對。
根據本發明的一個實施例,一種冗餘資源連接連線構體包含:第一開關;第二開關;第三開關,經由第一交叉連接而直接連接至第一開關,且經由第二交叉連接而直接連接至第二開關;第一組計算資源,第一組計算資源中的每一計算資源具有經由第一資源連接而直接連接至第一開關的第一埠、以及經由第二 資源連接而直接連接至第二開關的第二埠;以及第二組計算資源,第二組計算資源中的每一計算資源具有經由第三資源連接而直接連接至第一開關的第一埠、以及經由第四資源連接而直接連接至第二開關的第二埠。
第一開關可經組態以:偵測第二開關的故障;以及經由第一交叉連接來提供對第一組計算資源及第二組計算資源的存取。
冗餘資源連接連線構體可更包含:第四開關,經由第三交叉連接而直接連接至第一開關,且經由第四交叉連接而直接連接至第二開關。
冗餘資源連接連線構體可更包含:第三組計算資源,經由第一資源連接而直接連接至第三開關,且經由第二資源連接而直接連接至第四開關。
冗餘資源連接連線構體可更包含:第四組計算資源,經由第三資源連接而直接連接至第三開關,且經由第四資源連接而直接連接至第四開關。
00、01、02、03、04、05、06、07、08、09、10、11、12、13、14、15、16、17、18、19、20、21、22、23:固態硬碟(SSD)
10:高速周邊組件互連(PCIe)連線構體
12AC、12BC、12BD、12AD:交叉連接
14:主機鏈路
16:資源鏈路/資源連接
20、20A、20B、20C、20D、20E、20F、20G、20H:伺服器節點
2B、6B、8B、24B:頻寬
6x4、x32、x8、x96:通道
22AB、22CD:高可用性(HA)對
24:主機處理器
26:網路介面卡(NIC)
30、30A、30B、30C、30D、32:資料儲存裝置
40、40A、40B、40C、40D、40E、40F、40G、40H:開關
50:次級連線構體
52、52AB、52AC、52AD、52BC、52BD、52CD:互連
54、54A、54B、54C、54D:次級開關
100:資料儲存系統
圖1A是根據本發明的一個實施例所繪示的包含適應性多重路徑連線構體的資料儲存系統的方塊圖。
圖1B是根據本發明的一個實施例所繪示的包含適應性多重路徑連線構體的資料儲存系統的方塊圖。
圖2A是根據本發明的一個實施例所繪示的開關的故障及資 料傳送的再平衡的方塊圖。
圖2B是根據本發明的一個實施例所繪示的伺服器節點的故障及資料傳送的再平衡的方塊圖。
圖3是根據本發明的一個實施例所繪示的更包含連接伺服器節點的次級連線構體的系統的方塊圖。
圖4A是根據本發明的一個實施例所繪示的包含兩個伺服器節點以及一組資料儲存裝置的小型高可用性組態的方塊圖。
圖4B說明根據本發明的一個實施例所繪示的圖4A所展示的組態的擴展包含額外組資料儲存裝置。
圖4C說明根據本發明的一個實施例所繪示的圖4A所展示的組態的擴展包含額外伺服器節點。
圖5是根據本發明的一個實施例所繪示的具有經由八個開關而連接至四十八個資料儲存裝置以達成192GB/s的總輸送量的八個伺服器節點的系統的方塊圖。
在以下實施方式中,作為說明而僅展示及描述本發明的某些例示性實施例。在本領域具有知識者將認識到,本發明可以許多不同形式予以體現,且不應被認作限於本文中所闡述的實施例。在整篇說明書中,類似圖式元件符號表示類似元件。
本發明的實施例的態樣大體上是有關於用於經由一組介面來提供對計算資源的高可用性存取的系統及方法,其中介入於介面與計算資源之間的適應性連線構體在故障情況下維持對計算資源的存取,且在一些實施例中,在故障情況下維持對所述資源 的完全性能存取。所述連線構體(fabric),亦可稱為連線平台、連線結構、連線核心等。
舉例而言,一種提供對計算資源的高可用性存取的資料儲存計算系統包含:多個介面;多組計算資源,多組計算資源中的每一組包含多個計算資源;以及至少三個開關,開關中的每一開關經由主機鏈路而連接至介面中的對應介面,且經由資源連接而連接至多組計算資源中的對應組,開關中的每一開關經組態使得在開關中的一個開關出故障的情況下經由開關之間的多個交叉連接將資料流量散佈至開關中的剩餘開關。
更具體而言,諸如儲存區域網路(SAN)系統的資料儲存系統可包含連接至一個或多個伺服器節點的資料儲存裝置。資料儲存裝置可以是(例如)經由諸如高速周邊組件互連(PCIe)匯流排的匯流排而連接至伺服器節點的固態硬碟(solid state drive;SSD)或硬碟(hard disk drive;HDD)。每一伺服器節點可包含(例如)中央處理單元、記憶體以及網路介面,並且用以提供對儲存於資料儲存裝置上的資料的遠端存取,其中資料儲存裝置被映射至伺服器節點。然而,僅使用單一伺服器節點的網路儲存系統可能不提供「高可用性」(HA),此是因為若單一伺服器節點出故障(例如,若網路介面、匯流排或處理器崩潰),則將會失去對儲存於資料儲存裝置中的資料的存取。
因而,本發明的實施例的一些態樣是有關於一種提供對計算資源的高可用性存取的適應性連線構體。在一個實施例中,每一計算資源連接至多個開關,且每一開關經由適應性連線構體的交叉連接而連接至至少一個其他開關。每一開關連接至用於與 計算資源的使用者通信的一介面(例如,網路介面)。在介面故障或開關故障的情況下,適應性連線構體經由交叉連接將資料重新路由至其他介面。
在一個實施例中,介面可以是主機伺服器節點的組件,其中伺服器節點是包含處理器(processor;CPU)以及記憶體的電腦系統。伺服器節點可藉助於應用程式而向使用者提供對與計算資源相關聯的服務的存取,應用程式儲存於伺服器節點的記憶體中且由伺服器節點的處理器運行或執行。舉例而言,計算資源可以是多組資料儲存裝置,在此狀況下,應用程式可以是網路檔案伺服器(network file server)、網頁伺服器(web server)、資料庫伺服器(database server)以及類似者。作為另一實例,計算資源可以是用於提供低延遲快取(low latency caches)的動態記憶體。作為又一實例,計算資源可以是圖形處理單元(graphical processing unit;GPU),在此狀況下,應用程式可以是(例如)3D繪圖引擎(3D rendering engine)、機器學習訓練平台(machine learning training platform)(例如,用於訓練神經網路)、密碼編譯貨幣採擷器(cryptocurrency miner)(例如,比特幣)以及類似者。
本發明的實施例的一些態樣是關於將足夠的頻寬提供至計算資源,諸如資料儲存裝置。當過多的資料儲存裝置連接至伺服器節點時,可能在伺服器節點與資料儲存裝置之間不存在足夠的可用頻寬來允許資料儲存裝置以完全性能進行操作。更具體而言,在單一伺服器節點系統中,若八個固態硬碟連接至高速周邊組件互連開關,其中每一固態硬碟能夠使至高速周邊組件互連開關的4通道鏈路(4 lane link;×4)連接飽和,且若伺服器節點具 有至高速周邊組件互連開關的32通道鏈路(32 lane link;×32),則八個固態硬碟單獨地足以使至伺服器節點的連接飽和。若將任何額外資料儲存裝置添加至系統,則將不存在足夠的頻寬來使所有資料儲存裝置以完全性能進行操作,此是因為伺服器節點與高速周邊組件互連開關之間的連接是系統中的瓶頸。在一些境況下,伺服器節點與網路配接器之間的連接可相似地是系統中的瓶頸。
一些資料儲存裝置具有兩個連接埠以提供冗餘。舉例而言,具有雙高速周邊組件互連埠的資料儲存裝置可具有連接至第一伺服器節點的第一埠、以及連接至第二伺服器節點的第二埠。在此配置中,若一個伺服器節點出故障,則仍可經由另一伺服器節點來存取資料儲存裝置。
然而,在此配置中,伺服器節點的故障會加重頻寬限制。繼續以上實例,雖然兩個伺服器節點一起可為經連接的資料儲存裝置提供足夠的頻寬,但若一個伺服器節點出故障,則至資料儲存裝置及來自資料儲存裝置的所有流量是由倖存的伺服器節點處置,倖存的伺服器節點可能不具有足夠的頻寬來處置額外流量。詳言之,若資料儲存裝置的頻寬要求已經使至伺服器節點的兩個鏈路皆飽和,則一個伺服器節點的故障會引起大約50%的性能降級。
因此,本發明的一些實施例是有關於經由多個伺服器節點來提供對資料儲存裝置的存取的系統及方法,其中所述系統及方法能夠在伺服器節點出故障的情況下維持資料儲存裝置的完全性能潛力(而無性能降級)。更詳細而言,本發明的實施例的態樣 是關於一種用以經由多個開關來連接計算資源(諸如多埠資料儲存裝置)與伺服器節點的連接的適應性多重路徑連線構體,其中多重路徑連線構體在系統中出故障的情況下提供用於資料流量的替代路徑。本發明的實施例的態樣可應用於各種各樣的伺服器節點及多組計算資源(例如,資料儲存裝置),以便達成特定所要系統性能概況。本發明的實施例的態樣亦允許自初始組態至完全組態按比例調整計算資源(例如,資料儲存容量)及一般計算能力兩者(分別藉由添加更多資料儲存裝置或更多伺服器節點),同時在節點故障的狀況下維持指定性能概況。
出於方便起見,下文將關於固態硬碟來描述本發明的實施例,固態硬碟具有經由高速周邊組件互連開關及高速周邊組件互連連線構體而連接至主機伺服器節點的高速非揮發性記憶體(non-volatile memory express,以下稱NVMe)介面。然而,本發明的實施例並不限於此情形,且連線構體的基礎架構可應用於其他介面,諸如乙太網路(Ethernet)、Infiniband®(IB)、光纖通路(Fibre Channel;FC)、小型電腦系統介面(small computer system interface;SCSI)、串列附接式小型電腦系統介面(serially attached SCSI;SAS)以及類似者。另外,本發明的實施例亦可應用於將高可用性提供至其他類型的資源,諸如硬碟、磁帶機(tape drive)、諸如動態隨機存取記憶體(dynamic random access memory;DRAM)的揮發性記憶體、以及諸如向量處理器(vector processor)、圖形處理單元(GPU)、數位信號處理器(digital signal processor;DSP)及現場可程式化閘陣列(field programmable gate array;FPGA)的計算單元。
多重路徑連線構體結構
下文將在資料儲存系統的特定狀況下描述本發明的實施例的態樣,在資料儲存系統中,計算資源是多組雙埠資料儲存裝置,連接及開關是高速周邊組件互連連接及開關,且介面是網路介面。然而,本發明的實施例並不限於此情形,且可應用於其他類型的計算資源、互連協定及介面。
圖1A是根據本發明的一個實施例所繪示的包含適應性多重路徑連線構體的資料儲存系統100的方塊圖。圖1A的實施例包含將伺服器節點20互連至多組雙埠資料儲存裝置30的連線構體10。連線構體10可以諸如以下各者的多種方式予以實施:印刷電路板上的跡線、及多個電線(例如,纜線,諸如帶狀纜線、微型串列附接式小型電腦系統介面HD纜線、OCuLink纜線等等)、以及其組合。連線構體10包含開關40之間的交叉連接12AC、12BC、12BD及12AD。除了在節點故障的狀況下提供頻寬平衡以外,交叉連接12AC、12BC、12BD及12AD亦可用於端點再指派及頻寬平衡,以阻遏不平衡節點處理器使用及輸入/輸出(input/output;I/O)負載、以及提供多組資料儲存裝置30之間的同級間通信(peer-to-peer communication)(例如,第一組資料儲存裝置30A與第三組資料儲存裝置30C之間的直接記憶體存取傳送,而無來自伺服器節點20的顯著涉入)。
每一組雙埠資料儲存裝置包含一個或多個雙埠資料儲存裝置32,其中每一雙埠資料儲存裝置經由資源鏈路16而連接至兩個不同開關。如本文中所使用,術語「開關」指代為提供多個通信路徑給連接至開關的裝置以進行通信的電組件,其中開關在裝 置之間路由(routes)流量,且在連接至開關的通信裝置之間建立連接。
如圖1A所展示,每一伺服器節點20包含一個或多個主機處理器24(例如,Intel® Xeon®處理器),主機處理器24經由高速周邊組件互連連接而連接至網路介面卡(network interface card;NIC)26(例如,乙太網路網路介面卡),且亦經由主機鏈路14(例如,另一高速周邊組件互連連接或多個高速周邊組件互連連接)而連接至對應開關40。每一伺服器節點20與另一伺服器節點20配對,此可被稱作其高可用性(HA)同級(peer)。舉例而言,伺服器節點20A及20B是高可用性同級且形成對(pair)22AB。相互高可用性同級對22一起提供通過連線構體10的兩個冗餘路徑以存取一組或多組資料儲存裝置30(例如,高可用性對22AB提供對多組資料儲存裝置30A及30B的存取)。其他高可用性同級節點對22將冗餘路徑提供至其他多組資料儲存裝置30(例如,高可用性對22CD提供對多組資料儲存裝置30C及30D的存取)。
連線構體10亦互連多個高可用性同級對22,以在單一伺服器節點故障的情況下跨越所有節點及資料儲存裝置32提供用於平衡頻寬的連接性。在具有N個伺服器節點20(或N個開關40)的系統中,自一個開關40至其他N-2個開關40中的每一開關的額外交叉連接頻寬的量是由每一伺服器節點20在正常非故障操作模式下支援的頻寬(「正常頻寬」)的1/(N-1)。結果,歸因於一個節點的故障的頻寬損失可由剩餘N-1個節點減輕。
更詳細而言,圖1A展示四個伺服器節點20的狀況(N=4)。出於方便起見,圖1A描繪以B為單位的頻寬,其中B被 定義為一個資料儲存裝置32的頻寬要求。在圖1A中,每一組資料儲存裝置30包含六個資料儲存裝置32。因此,每一組資料儲存裝置30需要6B的頻寬(每一資料儲存裝置32需要1B)。因而,在圖1A所展示的實施例中,四個伺服器節點20將總共24B的輸送量(每節點6B)提供至系統中的二十四個資料儲存裝置32。
(應注意,伺服器節點20與其對應開關40之間的每一連接的實際頻寬容量是8B,且因此比每一組資料儲存裝置30所需要的6B頻寬容量超出2B。另外,在圖1A的實施例中,主機處理器24與網路介面26之間的連接的頻寬至少等於主機處理器24與開關40之間的頻寬,例如,8B。)
因而,在圖1A所展示的實施例中,自每一節點至每一非高可用性同級節點的交叉連接頻寬是6B/3=2B。舉例而言,對應於第一伺服器節點42A的第一開關40A與其非高可用性同級節點20C及20D的開關40C及40D之間的每一交叉連接12AC及12AD的交叉連接頻寬是2B。同樣地,對應於第二節點20B的第二開關40B與其非高可用性同級節點20C及20D的開關40C及40D之間的每一交叉連接12BC及12BD的交叉連接頻寬亦是2B。如圖1A所展示,在開關40之間進行交叉連接12。然而,本發明的實施例並不限於此情形,且如上文所論述,可將每一交叉連接12的最小頻寬設定為由每一伺服器節點20在正常非故障操作模式下支援的頻寬(如,6B)除以伺服器數目N(如,4)減1的值(如,6/(4-1)=2)。在又其他實施例中,其中系統經設計以容許多個伺服器節點20的故障,則可將每一交叉連接12的最小頻寬設定為由每一伺服器節點20在正常非故障操作模式下支援的頻寬除以伺服器數目N減待 容許的故障數目。
圖1B是根據本發明的一個實施例所繪示的包含適應性多重路徑連線構體的資料儲存系統100的方塊圖,其中B=×4(例如,4通道高速周邊組件互連鏈路的頻寬)。在高速周邊組件互連3.0的狀況下,×4鏈路提供約4GB/s的最大頻寬或輸送量(throughput)。運用圖1A中的類似圖式元件符號來標記類似組件,且因此不在本文中重複此等組件的描述。
在圖1B所展示的實例中,四個伺服器節點20(每節點具有64個高速周邊組件互連3.0通道)連接至二十四個雙埠NVMe固態硬碟,被配置成四組各自六個固態硬碟。二十四個雙埠NVMe固態硬碟中的每一雙埠NVMe固態硬碟具有兩個端點(兩個「固態硬碟端點」),其中每一端點可被指派至任一伺服器節點。舉例而言,第一組資料儲存裝置30A中的固態硬碟的每一端點可被指派至第一伺服器節點20A。在使用高速周邊組件互連3.0的情況下,圖1B所展示的系統可遞送96GB/s使用者資料輸送量(96個通道的高速周邊組件互連3.0頻寬)及高可用性(在單一伺服器節點故障的情況下維持對所有固態硬碟的完全性能存取)的端對端系統性能概況。
在圖1B的實例實施例中,當以全負載進行操作時,每一NVMe固態硬碟32以約4GB/s傳送資料且因此可由單一×4鏈路伺服。另外,雙埠NVMe固態硬碟中的兩個埠中的每一埠提供×4鏈路。結果,NVMe固態硬碟的兩個埠中的任一埠的故障仍允許資料儲存裝置以完全性能進行操作。因為每一NVMe固態硬碟需要四個高速周邊組件互連通道的頻寬,所以每一組六個雙埠NVMe 固態硬碟需要6×4=×24或24個通道(lane)的頻寬以維持整組資料儲存裝置30的完全性能。
如圖1B所展示,多組資料儲存裝置30連接至高速周邊組件互連開關40。每一開關40亦經由高速周邊組件互連連接而連接至對應主機伺服器節點20。在圖1B所展示的實施例中,在高速周邊組件互連開關與伺服器節點20的主機處理器24之間存在×32鏈路。
在圖1B所展示的組態中,伺服器節點20A及20B是高可用性同級節點,提供對十二個固態硬碟00至11(兩組固態硬碟30A及30B)的雙埠存取。相似地,伺服器節點20C及20D是高可用性同級節點,提供對另外十二個固態硬碟12至23(兩組固態硬碟30C及30D)的雙埠存取。
除了開關40與資源(資料儲存裝置32)之間的資源連接16以外,圖1B所展示的高速周邊組件互連連線構體10亦包含主機鏈路14,主機鏈路14將來自四個伺服器節點20的總共一百二十八個高速周邊組件互連3.0通道(每一節點有32個通道)互連至開關40。每一主機鏈路14可包含多個連接。舉例而言,在雙處理器伺服器節點的狀況下,來自每一伺服器節點的32個通道可包含連接至伺服器節點的第一處理器插座的16個通道、以及連接至伺服器節點的第二處理器插座的16個通道。另外,每一伺服器節點20可包含多個主機鏈路14以將伺服器節點連接至多個開關40。如圖1B的實施例中所展示,資源連接16包含跨越二十四個雙埠NVMe固態硬碟的總共一百九十二個通道,其中每一固態硬碟具有×4通道的頻寬的輸送量能力(約4GB/s)。因而,每一固 態硬碟具有為其輸送量能力(每固態硬碟×4通道)的兩倍的埠連接性(每固態硬碟2×4通道)。為了針對跨越二十四個固態硬碟的總共九十六個通道達成每固態硬碟×4通道的完全輸送量,每一伺服器節點20在其×32通道的輸送量能力之外提供×24通道的頻寬。
在一些境況下,雙埠NVMe固態硬碟的每一埠具有低於固態硬碟的完全輸送量能力的頻寬。舉例而言,一些雙埠NVMe固態硬碟僅具有兩個×2埠,此意謂每一埠僅支援×2通道。結果,在假定固態硬碟的最大輸送量是×4通道的情況下,若一個埠出故障或連接至一個埠的開關出故障,則固態硬碟僅具有值連接性的×2通道(亦即,其輸送量能力的一半)。
為了在單一伺服器節點故障的情況下支援96GB/s的可持續頻寬,連線構體10的交叉連接12在節點20A及20C、節點20A及20D、節點20B及20C以及節點20B及20D中的每一者之間提供24GB/s/(N-1)=8GB/s的交叉連接頻寬。
由高速周邊組件互連開關40提供的通道的最小數目取決於經連接的組件的要求。所述組件,即為兩組資料儲存裝置30(例如,第一高速周邊組件互連開關40A連接至第一組資料儲存裝置30A及第二組資料儲存裝置30B)、主機處理器24、以及連線構體10的交叉連接12。在圖1B所展示實例中,每一組資料儲存裝置30需要24個通道,主機處理器24需要32個通道,且至連線構體10的兩個交叉連接12中的每一交叉連接12需要8個通道,總共需要24+24+32+8+8=96個通道。因而,在圖1B所展示的實施例中,每一高速周邊組件互連開關40是×96開關或96通道開關。然而,本發明的實施例並不限於此情形,且開關可具有比滿 足經連接的組件的需要所需要的數目更多的通道(在此特定實例中,高速周邊組件互連開關可具有多於96個通道)。
在節點故障下再平衡頻寬
圖2A是根據本發明的一個實施例所繪示的開關的故障及資料傳送流量的再平衡的方塊圖。在開關40的故障的情況下,與開關40相關聯的伺服器節點20亦將自系統的其餘部分斷接,此是因為在伺服器節點與開關之間不存在冗餘連接。因此,在本發明的一些實施例中,開關40的故障亦實質上引起其關聯伺服器節點的損失。然而,本發明的實施例並不限於此情形,且在一些實施例中,伺服器節點可連接至多個開關。
在圖2A的實例中,連接至出故障的開關40B的伺服器節點20B變得自資料儲存系統100斷接,且因此由所述開關40B及所述伺服器節點20B處置的工作負荷或資料流量散佈於剩餘N-1個開關40A、40C及40D與N-1個伺服器節點20A、20C及20D當中。至及自耦接至出故障的開關或節點20B的多組資料儲存裝置30的資料傳送會傳遞通過經冗餘連接的開關40A。此工作負荷的再平衡對系統中的所有二十四個固態硬碟(每固態硬碟×4鏈路)維持輸送量。
由於有過量的容量被建置至系統中,故會維持至及自連接至出故障的開關的多組硬碟的資料傳送的性能。詳言之,頻寬的部分來自直接連接至高可用性對中的倖存者的伺服器節點,且頻寬的剩餘部分是由經由連線構體10而連接的其他伺服器節點(例如,20A、20C及20D)提供。另外,剩餘N-1個伺服器節點(例如,20A、20C及20D)在其與其各別開關(例如,40A、40C 及40D)的連接中具有足夠的頻寬以適應額外負載。
在本發明的一些實施例中,適應性多重路徑連線構體10中的開關40經程式化以自動地偵測此節點故障,且又自動地將固態硬碟端點再指派至伺服器節點20並跨越倖存的伺服器節點而再平衡頻寬。換言之,開關40可基於開關的當前設定來維持關於如何到達每一固態硬碟的資訊,對實體層及鏈路層處的伺服器節點20、多組資料儲存裝置30與其他開關40之間的連接來監測錯誤條件,且將所述錯誤報告至管理系統(例如,伺服器節點20中的一者或另一專用管理處理器)。管理系統可基於所報告的錯誤來判定鏈路或伺服器節點是否已出故障,且可重新組態開關40以將固態硬碟的固態硬碟端點再指派至伺服器節點20中的可到達的伺服器節點20。儘管圖2A所展示的單一節點故障不存在頻寬降級,但節點之間的交叉連接12橫越一個額外層級的高速周邊組件互連開關,且因此經歷額外延遲。然而,與對/自固態硬碟的資料存取的總延遲相比較,通過高速周邊組件互連開關的延遲通常小且不顯著。
圖2B是根據本發明的一個實施例所繪示的伺服器節點的故障及資料傳送的再平衡的方塊圖。參看圖2B,在伺服器節點20B出故障,但其對應開關40B倖存的情況下,仍可經由起作用的開關40B來路由資料,但僅可經由三個倖存的伺服器節點20A、20C及20D來存取資料。在此情況下,適應性多重路徑連線構體中的管理系統(例如,伺服器節點20或另一專用管理處理器中的一者)可經程式化以自動地偵測伺服器節點20B的故障,且如在圖2A的實施例中,自動地將固態硬碟端點再指派至倖存的端點。 在本發明的其他實施例中,在開關自身中(例如,由整合至開關40中的處理單元)實施錯誤的偵測及開關40的自動重新組態。
在本發明的一些實施例中,個別開關可能不能提供足夠的頻寬來允許兩組資料儲存裝置30以完全性能進行操作。舉例而言,若開關40B出故障,則至多組資料儲存裝置30A及30B的唯一路由是通過倖存的開關40A。若倖存的開關40A具有少於×96個的通道,則多組資料儲存裝置30A及30B將不具有足夠的頻寬來以全速進行操作。然而,若開關40B未出故障且僅關聯伺服器節點20B出故障,則開關40B可參與將資料重新路由至倖存的伺服器節點20A、20C及20D。在一些此等實施例中,存在足夠的頻寬來繼續使所有多組資料儲存裝置30以完全性能進行操作。
節點間通信
在本發明的一些實施例中,可包含次級連線構體50以用於伺服器節點20之間的通信。圖3是根據本發明的一個實施例所繪示的更包含連接伺服器節點20的次級連線構體50的系統的方塊圖。次級連線構體包含將次級開關54(例如,54A、54B、54C及54D)彼此連接的互連(inter-connections)52(例如,52AB、52AC、52AD、52BC、52BD及52CD),其中每一次級開關54直接連接至一個對應伺服器節點20(例如,次級開關54A直接連接至伺服器節點20A)。類似於連線構體10,次級連線構體50可以諸如以下各者的多種方式予以實施:印刷電路板上的跡線、多個電線(例如,纜線,諸如帶狀纜線、微型串列附接式小型電腦系統介面HD纜線、OCuLink纜線等等)、以及其組合。根據本發明的一個實施例,次級連線構體50連接至伺服器節點處理器非透明橋接器 (non-transparent bridge;NTB)埠。次級連線構體50在伺服器節點20之間提供低延遲內部通信,低延遲內部通信可用以(例如)使伺服器節點20之間的元資料同步。
遞增地擴展連線構體
雖然圖1A、圖1B、圖2A、圖2B及圖3說明提供對四組資料儲存裝置的高可用性及高性能存取的兩對22的伺服器節點20的系統,但本發明的實施例並不限於此情形。
本發明的實施例包含根據特定應用的工作負荷要求的資料儲存裝置、開關及伺服器節點的組態。
圖4A是根據本發明的一個實施例所繪示的包含兩個伺服器節點20A及20B以及一組資料儲存裝置30A的小型高可用性組態的方塊圖。圖4A的組態可適用於如下境況:其中單組資料儲存裝置的資料儲存容量足夠用於當前工作負荷,且其中經由冗餘伺服器節點的高可用性是合意的。
參看圖4A,單組資料儲存裝置30A連接至第一開關40A及第二開關40B兩者。類似於在圖1A的實施例中,第一開關40A連接至第一伺服器節點20A,且第二開關40B連接至第二伺服器節點20B。在第一伺服器節點20A或第二伺服器節點20B出故障的情況下,一組資料儲存裝置30A保持可經由倖存的節點而存取。
當資料儲存需求增大時,可將額外的組資料儲存裝置添加至圖4A所展示的系統。舉例而言,當一個額外的組資料儲存裝置藉由連接至第一開關40A及第二開關40B兩者時來被添加時,達到實質上相似於第一伺服器節點20A、第二伺服器節點20B、第一開關40A、第二開關40B、第一組資料儲存裝置30A及第二組 資料儲存裝置30B而無至其他開關的互連的組態。如前所述,若伺服器節點20A及20B中的任一者或開關40A及40B中的任一者出故障,則第一組資料儲存裝置30A及第二組資料儲存裝置30B兩者皆保持可存取。
圖4B說明根據本發明的一個實施例所繪示的圖4A所展示的組態的擴展包含額外組資料儲存裝置。如圖4B所展示,第二組資料儲存裝置耦接至第一開關及第二開關。圖4B的組態更包含呈第三開關40C及第四開關40D的形式的額外互連,以代替額外伺服器節點。第三組資料儲存裝置30C耦接至第三開關40C及第四開關40D,且第四組資料儲存裝置30D亦耦接至第三開關40C及第四開關40D。交叉連接12AC及12BC將第三開關40C連接至第一開關40A及第二開關40B,且交叉連接12AD及12BD將第四開關40D連接至第一開關40A及第二開關40B。結果,第一伺服器節點20A及第二伺服器節點20B可經由第三開關40C及第四開關40D來存取第三組資料儲存裝置30C及第四組資料儲存裝置30D。
在圖4B所展示的組態中,所有資料儲存裝置在伺服器節點20A及20B中的任一者出故障的情況下或在四個開關40A、40B、40C及40D中的任一者出故障的情況下保持可存取。然而,第三組資料儲存裝置30C及第四組資料儲存裝置30D的資料輸送量性能受到交叉連接12的頻寬限制,且亦受到伺服器節點20與其對應開關40之間的主機鏈路14限制。詳言之,在圖4B的配置中,兩個伺服器節點20跨越所有四組資料儲存裝置30提供總共16B的頻寬(每一伺服器節點20有8B),此意謂每組資料儲存裝 置有4B,此對應於可用於僅經由交叉連接12AC、12AD、12BC及12BD而連接的多組資料儲存裝置30C及30D的最大頻寬(換言之,每交叉連接的2B以及四個交叉連接給出跨越兩組硬碟而共用的總共8B,對於每一組硬碟是4B)。另外,任何伺服器節點或任何開關的故障亦將進一步影響系統的資料輸送量。因而,圖4B所展示的組態較佳地適於(例如)具有足夠的頻寬相比於總儲存容量較不重要的境況。
若需要額外頻寬,則可進一步擴展圖4B的組態以將伺服器節點連接至第三開關40C及第四開關40D,此產生與在圖1B中所看到的組態實質上相同的組態。因而,本發明的實施例允許在需要時遞增地擴展系統以伺服其使用者的不斷增長的需要。
在本發明的又其他實施例中,使用者所需求的工作負荷可能是計算密集型多於資料密集型。圖4C說明根據本發明的一個實施例來擴展圖4A所展示的組態以包含額外伺服器節點。
以如圖4A所展示的兩個伺服器節點及一組六個資料儲存裝置30A的基本組態開始,可添加第三伺服器節點20C連同第三開關40C,第三開關40C經由交叉連接12AC及12BC而連接至第一開關40A及第二開關40B。替代地,第三伺服器節點20C可經由被動互連板(passive interconnect board)而非經由額外的開關(例如,伺服器節點20C與開關40A及40B之間的有效直接連接)而連接至第一開關40A及第二開關40B。此可增大系統的計算能力,同時保持對同一組資料儲存裝置的存取。若計算需求進一步增大,則第四節點20D可經由第四開關40D或經由被動互連板而連接至第一開關40A及第二開關40B。
此處,使用狀況可以是在兩個伺服器節點20A及20B上運行的軟體堆疊是影響對資料儲存裝置32達成全頻寬的能力的瓶頸的情況,在此狀況下,添加更多伺服器節點會提供更多伺服器計算能力。若需要額外儲存,則亦可遞增地添加額外組資料儲存裝置,其添加方式相似於上文關於圖4B所展示的方式,以達到(例如)四個伺服器節點與加二十四個資料儲存裝置的組態,如圖1B所展示。
出於方便起見,上文已在具有高達四個開關的組態的上下文中描述本發明的實施例的態樣。然而,本發明的實施例並不限於此情形。舉例而言,本發明的一些實施例可包含多於四個開關。
在使用相似途徑的情況下,根據本發明的實施例的包含適應性多重路徑連線構體的資料儲存系統100的變體可包含(例如)六個伺服器節點,六個伺服器節點經由六個開關而連接至三十六個資料儲存裝置以達成144GB/s的總輸送量。作為另一實例,圖5是根據本發明的一個實施例所繪示的經由八個開關而連接至四十八個資料儲存裝置以達成192GB/s的總輸送量的具有八個伺服器節點(20A、20B、20C、20D、20E、20F、20G及20H)的系統的方塊圖,八個伺服器節點(20A、20B、20C、20D、20E、20F、20G及20H)經由八個開關(40A、40B、40C、40D、40E、40F、40G及40H)而連接至四十八個資料儲存裝置以達成192GB/s的總輸送量(基於以上假定,每一資料儲存裝置具有約4GB/s的輸送量)。
因而,根據本發明的實施例的適應性多重路徑連線構體 架構可使用一群伺服器節點及一群高性能多埠NVMe固態硬碟來遞送平衡且可組態的端對端系統性能概況。性能跨越伺服器節點及端點而平衡,且性能可在單一節點故障下持續且平衡。
資料儲存系統可經由乙太網路連接來提供(例如)儲存區域網路(SAN),且多重路徑連線構體可經由乙太網路將匹配於底層硬碟之間的性能的網路儲存性能遞送至伺服器節點。
舉例而言,系統性能概況(profile)可以是以下各者中的一者或多者的組合:100GB/s使用者資料輸送量;伺服器節點之間的低延遲內部通信;對端點上的資料的高可用性存取。
本發明的實施例可提供一種適應性多重路徑連線構體架構,其進行以下操作:互連一群伺服器節點(高速周邊組件互連根複合體,PCIe root-complexes)與一群多埠固態硬碟(高速周邊組件互連端點);在伺服器節點的數目、固態硬碟的數目及端對端性能規格方面提供彈性(flexibility);支援跨越伺服器節點及固態硬碟端對端的負載平衡;經由固態硬碟的多埠來提供自一對伺服器節點(高可用性同級,HA-peers)至一組固態硬碟的冗餘存取;在多對高可用性同級節點之間提供交叉連接頻寬以允許在故障恢復及負載平衡情境下跨越所有伺服器節點而再平衡頻寬;藉由跨越所有倖存的節點來再平衡頻寬,而忍受單一節點故障且在端對端系統性能上無任何降級;以及具有自動故障偵測的能力,此又觸發將固態硬碟端點再指派至伺服器節點及再平衡頻寬(rebalancing of bandwidth)。
本發明的實施例的態樣亦實現以下能力:以彈性且可擴展的方式互連一群高速周邊組件互連根複合體(諸如伺服器節點) 與一群多埠高速周邊組件互連端點(諸如雙埠NVMe固態硬碟)的能力;在單一根複合體故障的情況下繼續存取所有高速周邊組件互連端點的同時也限制了性能降級的能力;平衡根複合體與端點之間的頻寬分配的能力;在故障恢復或負載平衡情境下將高速周邊組件互連端點動態地再指派至根複合體的能力;實現端點之間的同級間資料傳送而不對主機根複合體產生任何額外負擔的能力;以及實現高可用性同級伺服器節點之間的低延遲高輸送量通信的能力。
雖然已結合某些例示性實施例而描述本發明,但應理解,本發明並不限於所揭露的實施例,而相反地,本發明意欲涵蓋包含於所附申請專利範圍及其等效者的精神及範疇內的各種修改及等效配置。
舉例而言,儘管上文關於計算資源而將本發明的實施例描述為具有經由高速周邊組件互連開關而連接至伺服器節點的雙高速周邊組件互連埠的固態硬碟,但本發明的實施例並不限於此情形。舉例而言,在本發明的一些實施例中,固態硬碟可具有多於兩個埠,但代替地亦可涵蓋具有各種數目個端點埠(例如,大於或等於兩個)的固態硬碟的使用。另外,在本發明的一些實施例中,伺服器節點可經由多個埠而連接至連線構體。舉例而言,每一伺服器節點可經由多個主機鏈路而連接至多於一個開關,藉此在主機鏈路或開關出故障的情況下在伺服器節點與計算資源之間提供冗餘連接。取決於主機鏈路及開關的頻寬,此等冗餘連接亦可允許伺服器節點以全頻寬進行操作,甚至在故障條件下仍進行操作。
根據一些實施例,固態硬碟可使用不同介面,諸如乙太網路、Infiniband®(IB)、光纖通路(FC)、串列附接式小型電腦系統介面(SAS)以及類似者。舉例而言,在乙太網路介面的狀況下,高速周邊組件互連開關可由網路(乙太網路)開關替換。
根據一些實施例,使用適應性多重路徑連線構體而連接的資源是其他類型的計算資源,諸如硬碟(hard disk drives)、磁帶機、諸如動態隨機存取記憶體(DRAM)的揮發性記憶體、以及諸如向量處理器、圖形處理單元(GPU)、數位信號處理器(DSP)及場可程式化閘陣列(FPGA)的計算單元。
在本發明的又其他實施例中,每一個別計算資源無需具有多個埠。舉例而言,每一組計算資源可包含配接器或開關,其提供鏈路至每一個別計算資源及提供鏈路至兩個經連接的開關40。作為更特定的實例,每一資料儲存裝置32可以是單埠資料儲存裝置,其中每一資料儲存裝置32連接至與一組資料儲存裝置30相關聯的配接器。配接器又亦可連接至兩個開關40。以此方式,一組資料儲存裝置30仍連接至多個開關40,即使每一個別資料儲存裝置是單埠裝置亦如此。此技術亦可應用於其他類型的計算資源,如上文所描述。
雖然出於方便起見,介面的相對頻寬在所說明的實施例中相同(例如,對於每一組資料儲存裝置是6B,對於每一伺服器節點與對應開關之間的連接是8B,且對於開關之間的每一交叉連接是2B),但本發明的實施例並不限於此情形,且本發明的實施例亦包含具有提供不同量的頻寬(例如,對應於與介面相關聯的計算資源的輸送量的頻寬)的介面的實施例。在本發明的經設計 以在單一伺服器節點出故障的情況下對連接至適應性多重路徑連線構體的資源維持完全性能的一些實施例中,交叉連接的總頻寬(或「交叉連接頻寬」)足以至少等於通常將由所述單一節點供應的頻寬。儘管本文中說明本發明的一些實施例以將所有交叉連接描繪為具有相同頻寬且描繪為連接至高可用性對外部的每一開關,但本發明的實施例並不限於此情形。舉例而言,在一些實施例中,交叉連接具有不同頻寬,且在一些實施例中,對不到全部的其他開關進行交叉連接。
雖然出於方便起見而說明具有高達八個主機的實施例,但本發明的實施例並不限於此情形,且可運用不定數目個主機來實施相似概念。
相似地,本發明的實施例並不限於多組恰好六個資料儲存裝置,而亦包含在每一組中具有各種數目個固態硬碟的實施例(例如,每一組中數目相同或每一組中數目不同)。
本發明的實施例的一些態樣使用連線構體故障偵測及重新組態能力以與儲存管理工具通信來改良儲存基礎結構管理。
00、01、02、03、04、05、06、07、08、09、10、11、12、13、14、15、16、17、18、19、20、21、22、23:固態硬碟(SSD)
10:高速周邊組件互連(PCIe)連線構體
12AC、12BC、12BD、12AD:交叉連接
2B、6B、8B、24B:頻寬
14:主機鏈路
16:資源鏈路/資源連接
20、20A、20B、20C、20D:伺服器節點
22AB、22CD:高可用性(HA)對
24:主機處理器
26:網路介面卡(NIC)
30、30A、30B、30C、30D、32:資料儲存裝置
40、40A、40B、40C、40D:開關
100:資料儲存系統

Claims (20)

  1. 一種提供對計算資源的高可用性存取的計算系統,包括:多個介面;多組計算資源,所述多組計算資源中的每一組包括多個計算資源;以及至少三個開關,所述至少三個開關中的每一開關經由單一主機鏈路而連接至所述多個介面中彼此不同的單一對應介面,且經由多個資源連接而直接連接至所述多組計算資源中的多個對應組,所述至少三個開關中的每一開關經組態使得在所述至少三個開關中的一個開關發生故障的情況下經由所述至少三個開關之間的多個交叉連接將資料流量散佈至所述至少三個開關中的剩餘開關,其中所述計算系統包括N個介面,其中N是整數,其中頻寬單位B是使所述多組計算資源的所述多組計算資源中的一個計算資源以全頻寬進行操作所需要的頻寬的量,其中B是正數,其中所述多個資源連接中的每一資源連接具有至少1×B的頻寬,其中所述多組計算資源中的每一組具有高達K個計算資源,其中K是整數,其中所述多個介面中的每一介面的每一主機鏈路支援K×B的正常流量頻寬及大於或等於K×B的最大流量頻寬,且其中所述多個交叉連接中的每一交叉連接具有至少K×B/(N -1)的頻寬。
  2. 如申請專利範圍第1項所述的計算系統,其中所述至少三個開關包括:第一開關;第二開關;以及第三開關,經由第一交叉連接而直接連接至所述第一開關,且經由第二交叉連接而直接連接至所述第二開關。
  3. 如申請專利範圍第2項所述的計算系統,更包括:第一伺服器節點,經由第一主機鏈路而耦接至所述第一開關,所述第一伺服器節點包括所述多個介面中的第一介面;以及第二伺服器節點,經由第二主機鏈路而耦接至所述第二開關,所述第二伺服器節點包括所述多個介面中的第二介面。
  4. 如申請專利範圍第3項所述的計算系統,更包括:第三伺服器節點,經由第三主機鏈路而耦接至所述第三開關。
  5. 如申請專利範圍第4項所述的計算系統,更包括:第一次級開關,直接連接至所述第一伺服器節點;第二次級開關,直接連接至所述第二伺服器節點;第三次級開關,直接連接至所述第三伺服器節點;第一次級交叉連接,將所述第一次級開關直接連接至所述第二次級開關;第二次級交叉連接,將所述第一次級開關直接連接至所述第三次級開關;以及第三交叉連接,將所述第二次級開關直接連接至所述第三次級開關。
  6. 如申請專利範圍第3項所述的計算系統,其中所述多組計算資源中的第一組計算資源包括第一組資料儲存裝置,所述第一組資料儲存裝置中的每一資料儲存裝置具有經由所述多個資源連接中的第一資源連接而直接連接至所述第一開關的第一埠、以及經由所述多個資源連接中的第二資源連接而直接連接至所述第二開關的第二埠,且其中所述多組計算資源中的第二組計算資源包括第二組資料儲存裝置,所述第二組資料儲存裝置中的每一資料儲存裝置具有經由所述多個資源連接中的第三資源連接而直接連接至所述第一開關的第一埠、以及經由所述多個資源連接中的第四資源連接而直接連接至所述第二開關的第二埠。
  7. 如申請專利範圍第6項所述的計算系統,更包括:第四開關,經由第三交叉連接而直接連接至所述第一開關,且經由第四交叉連接而直接連接至所述第二開關。
  8. 如申請專利範圍第7項所述的計算系統,更包括第三組資料儲存裝置,所述第三組資料儲存裝置中的每一資料儲存裝置具有經由第五資源連接而直接連接至所述第三開關的第一埠、以及經由第六資源連接而直接連接至所述第四開關的第二埠。
  9. 如申請專利範圍第8項所述的計算系統,更包括:第四伺服器節點,經由第四主機鏈路而直接連接至所述第四開關。
  10. 如申請專利範圍第9項所述的計算系統,更包括第四組資料儲存裝置,所述第四組資料儲存裝置中的每一資料儲存裝置具有經由第七資源連接而直接連接至所述第三開關的第一埠、以及經由第八資源連接而直接連接至所述第四開關的第二埠。
  11. 如申請專利範圍第6項所述的計算系統,其中所述至少三個開關中的每一開關經組態以:偵測另一開關的故障;以及經由對應於所述每一開關的所述主機鏈路及所述交叉連接來提供對所述第一組資料儲存裝置及所述第二組資料儲存裝置的存取。
  12. 如申請專利範圍第1項所述的計算系統,其中所述至少三個開關是高速周邊組件互連(PCIe)開關,且其中所述主機鏈路及所述資源連接是高速周邊組件互連匯流排鏈路。
  13. 一種計算系統,包括至少兩個高可用性對,每一高可用性對包括:第一開關;第二開關;第一介面,經由第一主機鏈路而耦接至所述第一開關;第二介面,經由第二主機鏈路而耦接至所述第二開關;第一組計算資源,經由第一資源連接而直接連接至所述第一開關,且經由第二資源連接而直接連接至所述第二開關;第二組計算資源,經由第三資源連接而直接連接至所述第一開關,且經由第四資源連接而直接連接至所述第二開關;多個第一交叉連接,所述多個第一交叉連接中的每一第一交叉連接將所述第一開關直接連接至其他的所述高可用性對中的每一高可用性對的每一開關;以及多個第二交叉連接,所述多個第二交叉連接中的每一第二交 叉連接將所述第二開關直接連接至其他的所述高可用性對中的每一高可用性對的每一開關,所述計算系統包括N個伺服器節點,其中N是整數,所述N個伺服器節點中之第一伺服器節點包括所述第一介面,所述N個伺服器節點中之第二伺服器節點包括所述第二介面,其中頻寬單位B是使每一組計算資源中的一個計算資源以全頻寬進行操作所需要的頻寬的量,其中B是正數,其中每一資源連接具有至少1×B的頻寬;其中每一組計算資源具有高達K個計算資源,其中K是整數,其中每一伺服器節點支援K×B的正常頻寬且支援大於或等於K×B的最大頻寬,且其中每一交叉連接具有至少K×B/(N-1)的頻寬。
  14. 如申請專利範圍第13項所述的計算系統,其中所述第一組計算資源包括第一組資料儲存裝置,所述第一組資料儲存裝置中的每一資料儲存裝置具有經由第一資源連接而直接連接至所述第一開關的第一埠、以及經由第二資源連接而直接連接至所述第二開關的第二埠,且其中所述第二組計算資源包括第二組資料儲存裝置,所述第二組資料儲存裝置中的每一資料儲存裝置具有經由第三資源連接而直接連接至所述第一開關的第一埠、以及經由第四資源連接而直接連接至所述第二開關的第二埠。
  15. 如申請專利範圍第14項所述的計算系統,其中所述第一開關經組態以:偵測所述第二開關的故障;以及 經由所述第一主機鏈路及所述多個第一交叉連接來提供對所述第一組資料儲存裝置及所述第二組資料儲存裝置的存取。
  16. 如申請專利範圍第13項所述的計算系統,其中所述的開關是高速周邊組件互連(PCIe)開關,且其中所述的主機鏈路及所述的資源連接是高速周邊組件互連匯流排鏈路。
  17. 如申請專利範圍第13項所述的計算系統,其中所述至少兩個高可用性對包括:第一高可用性對;第二高可用性對;第三高可用性對;以及第四高可用性對。
  18. 一種冗餘資源連接連線構體,包括:第一開關;第二開關;第三開關,經由第一交叉連接而直接連接至所述第一開關,且經由第二交叉連接而直接連接至所述第二開關;第一組計算資源,所述第一組計算資源中的每一計算資源具有經由第一資源連接而直接連接至所述第一開關的第一埠、以及經由第二資源連接而直接連接至所述第二開關的第二埠;以及第二組計算資源,所述第二組計算資源中的每一計算資源具有經由第三資源連接而直接連接至所述第一開關的第三埠、以及經由第四資源連接而直接連接至所述第二開關的第四埠,其中所述冗餘資源連接連線構體包括N個介面,其中N是自 然數,所述的開關中的每一開關經由單一主機鏈路而連接至所述介面中彼此不同的單一對應介面,其中頻寬單位B是使所述第一組計算資源及第二組計算資源中的一個計算資源以全頻寬進行操作所需要的頻寬的量,其中B是正數,其中每一資源連接具有至少1×B的頻寬,其中每一組計算資源具有高達K個計算資源,其中K是整數,其中所述N個介面中的每一介面的每一主機鏈路支援K×B的正常流量頻寬及大於或等於K×B的最大流量頻寬,且其中所述第一交叉連接及所述第二交叉連接個別具有至少K×B/(N-1)的頻寬。
  19. 如申請專利範圍第18項所述的冗餘資源連接連線構體,其中所述第一開關經組態以:偵測所述第二開關的故障;以及經由所述第一交叉連接來提供對所述第一組計算資源及所述第二組計算資源的存取。
  20. 如申請專利範圍第18項所述的冗餘資源連接連線構體,更包括:第四開關,經由第三交叉連接而直接連接至所述第一開關,且經由第四交叉連接而直接連接至所述第二開關。
TW106121508A 2016-08-19 2017-06-28 提供平衡性能與高可用性之冗餘資源連接連線構體及計算系統 TWI704459B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201662377487P 2016-08-19 2016-08-19
US62/377,487 2016-08-19
US15/344,438 2016-11-04
US15/344,438 US10365981B2 (en) 2016-08-19 2016-11-04 Adaptive multipath fabric for balanced performance and high availability

Publications (2)

Publication Number Publication Date
TW201807581A TW201807581A (zh) 2018-03-01
TWI704459B true TWI704459B (zh) 2020-09-11

Family

ID=61191712

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106121508A TWI704459B (zh) 2016-08-19 2017-06-28 提供平衡性能與高可用性之冗餘資源連接連線構體及計算系統

Country Status (5)

Country Link
US (3) US10365981B2 (zh)
JP (1) JP7043201B2 (zh)
KR (1) KR102191242B1 (zh)
CN (1) CN107769956B (zh)
TW (1) TWI704459B (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11983138B2 (en) 2015-07-26 2024-05-14 Samsung Electronics Co., Ltd. Self-configuring SSD multi-protocol support in host-less environment
US10372659B2 (en) 2016-07-26 2019-08-06 Samsung Electronics Co., Ltd. Multi-mode NMVE over fabrics devices
US11144496B2 (en) 2016-07-26 2021-10-12 Samsung Electronics Co., Ltd. Self-configuring SSD multi-protocol support in host-less environment
US10210123B2 (en) 2016-07-26 2019-02-19 Samsung Electronics Co., Ltd. System and method for supporting multi-path and/or multi-mode NMVe over fabrics devices
US10346041B2 (en) 2016-09-14 2019-07-09 Samsung Electronics Co., Ltd. Method for using BMC as proxy NVMeoF discovery controller to provide NVM subsystems to host
US11461258B2 (en) 2016-09-14 2022-10-04 Samsung Electronics Co., Ltd. Self-configuring baseboard management controller (BMC)
US20190109720A1 (en) 2016-07-26 2019-04-11 Samsung Electronics Co., Ltd. Modular system (switch boards and mid-plane) for supporting 50g or 100g ethernet speeds of fpga+ssd
US10365981B2 (en) * 2016-08-19 2019-07-30 Samsung Electronics Co., Ltd. Adaptive multipath fabric for balanced performance and high availability
WO2018193352A1 (en) * 2017-04-17 2018-10-25 Cerebras Systems Inc. Dataflow triggered tasks for accelerated deep learning
US11102294B2 (en) * 2017-06-09 2021-08-24 Samsung Electronics Co., Ltd. System and method for supporting energy and time efficient content distribution and delivery
US10476816B2 (en) 2017-09-15 2019-11-12 Facebook, Inc. Lite network switch architecture
US10235625B1 (en) 2018-02-09 2019-03-19 Capital One Services, Llc Automatically scaling neural networks based on load
TWI679861B (zh) 2018-09-06 2019-12-11 財團法人工業技術研究院 控制器、調整封包通信規則的方法及網路通信系統
CN109408451B (zh) * 2018-11-05 2022-06-14 英业达科技有限公司 一种图形处理器系统
US11513699B2 (en) * 2019-08-01 2022-11-29 EMP IP Holding Company, LLC System and method for caching data in persistent memory of a non-volatile memory express storage array enclosure
US11515538B2 (en) * 2019-10-11 2022-11-29 GM Global Technology Operations LLC In-situ polymerization to protect lithium metal electrodes
TWI719741B (zh) 2019-12-04 2021-02-21 財團法人工業技術研究院 改變冗餘處理節點的處理器及其方法
CN114930312A (zh) * 2020-03-25 2022-08-19 华为技术有限公司 一种通信方法及相关装置
CN111639008B (zh) * 2020-05-29 2023-08-25 杭州海康威视系统技术有限公司 基于双端口ssd的文件系统状态监测方法、装置及电子设备
US11720413B2 (en) * 2020-06-08 2023-08-08 Samsung Electronics Co., Ltd. Systems and methods for virtualizing fabric-attached storage devices
TWI802268B (zh) * 2022-02-14 2023-05-11 神雲科技股份有限公司 伺服系統
EP4387196A1 (en) * 2022-12-13 2024-06-19 Barcelona Supercomputing Center-Centro Nacional de Supercomputación System and method for connecting complete interconnection networks for high-performance computers

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6330642B1 (en) * 2000-06-29 2001-12-11 Bull Hn Informatin Systems Inc. Three interconnected raid disk controller data processing system architecture
US20040078632A1 (en) * 2002-10-21 2004-04-22 Infante Jon L. System with multiple path fail over, fail back and load balancing
US20090204743A1 (en) * 2008-02-08 2009-08-13 Tetsuya Inoue Storage subsystem and control method therefof
TW201013395A (en) * 2008-09-25 2010-04-01 Lsi Corp Method and/or apparatus for certifying an out of band management application in an external storage array
US9003090B1 (en) * 2014-03-25 2015-04-07 DSSD, Inc. PCI express fabric routing for a fully-connected mesh topology
TW201608378A (zh) * 2014-07-14 2016-03-01 英特爾公司 用於模組化晶粒上之一致性互連的方法、設備及系統

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5922077A (en) * 1996-11-14 1999-07-13 Data General Corporation Fail-over switching system
US6219753B1 (en) 1999-06-04 2001-04-17 International Business Machines Corporation Fiber channel topological structure and method including structure and method for raid devices and controllers
US6658478B1 (en) * 2000-08-04 2003-12-02 3Pardata, Inc. Data storage system
US6952734B1 (en) * 2000-08-21 2005-10-04 Hewlett-Packard Development Company, L.P. Method for recovery of paths between storage area network nodes with probationary period and desperation repair
US7505401B2 (en) 2005-01-31 2009-03-17 International Business Machines Corporation Method, apparatus and program storage device for providing mutual failover and load-balancing between interfaces in a network
JP3890063B2 (ja) * 2005-03-03 2007-03-07 シャープ株式会社 排水処理装置および排水処理方法
US7903556B2 (en) * 2005-11-03 2011-03-08 Hewlett-Packard Development Company, L.P. Method of controlling data transfers between nodes in a computer system
US8296534B1 (en) 2007-06-29 2012-10-23 Emc Corporation Techniques for using flash-based memory in recovery processing
US8296782B2 (en) 2008-04-22 2012-10-23 Lsi Corporation System eliminating hardware duplication during application testing of an internal storage array across different operating systems
CN101727399B (zh) * 2008-10-30 2012-10-10 鸿富锦精密工业(深圳)有限公司 存储装置及使用该存储装置的数据交换系统
US9047351B2 (en) 2010-04-12 2015-06-02 Sandisk Enterprise Ip Llc Cluster of processing nodes with distributed global flash memory using commodity server technology
US8688926B2 (en) 2010-10-10 2014-04-01 Liqid Inc. Systems and methods for optimizing data storage among a plurality of solid state memory subsystems
US8468385B1 (en) * 2010-10-27 2013-06-18 Netapp, Inc. Method and system for handling error events
US8521941B2 (en) 2010-12-28 2013-08-27 Plx Technology, Inc. Multi-root sharing of single-root input/output virtualization
CN102394923A (zh) * 2011-10-27 2012-03-28 周诗琦 一种基于n×n陈列结构的云系统平台
US9158540B1 (en) 2011-11-14 2015-10-13 Emc Corporation Method and apparatus for offloading compute resources to a flash co-processing appliance
US9110813B2 (en) 2013-02-14 2015-08-18 Avago Technologies General Ip (Singapore) Pte Ltd Cache load balancing in storage controllers
US9785520B2 (en) * 2014-04-04 2017-10-10 Hitachi, Ltd. Computer system, storage apparatus and control method
US9507678B2 (en) * 2014-11-13 2016-11-29 Netapp, Inc. Non-disruptive controller replacement in a cross-cluster redundancy configuration
CN104965677B (zh) * 2015-06-26 2018-04-13 北京百度网讯科技有限公司 存储系统
US10334334B2 (en) * 2016-07-22 2019-06-25 Intel Corporation Storage sled and techniques for a data center
US10365981B2 (en) * 2016-08-19 2019-07-30 Samsung Electronics Co., Ltd. Adaptive multipath fabric for balanced performance and high availability

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6330642B1 (en) * 2000-06-29 2001-12-11 Bull Hn Informatin Systems Inc. Three interconnected raid disk controller data processing system architecture
US20040078632A1 (en) * 2002-10-21 2004-04-22 Infante Jon L. System with multiple path fail over, fail back and load balancing
US20090204743A1 (en) * 2008-02-08 2009-08-13 Tetsuya Inoue Storage subsystem and control method therefof
TW201013395A (en) * 2008-09-25 2010-04-01 Lsi Corp Method and/or apparatus for certifying an out of band management application in an external storage array
US9003090B1 (en) * 2014-03-25 2015-04-07 DSSD, Inc. PCI express fabric routing for a fully-connected mesh topology
TW201608378A (zh) * 2014-07-14 2016-03-01 英特爾公司 用於模組化晶粒上之一致性互連的方法、設備及系統

Also Published As

Publication number Publication date
JP2018029337A (ja) 2018-02-22
US20190294513A1 (en) 2019-09-26
US11693747B2 (en) 2023-07-04
KR20180020873A (ko) 2018-02-28
TW201807581A (zh) 2018-03-01
CN107769956B (zh) 2022-02-18
US10365981B2 (en) 2019-07-30
JP7043201B2 (ja) 2022-03-29
CN107769956A (zh) 2018-03-06
US20180052745A1 (en) 2018-02-22
KR102191242B1 (ko) 2020-12-15
US20230325288A1 (en) 2023-10-12

Similar Documents

Publication Publication Date Title
TWI704459B (zh) 提供平衡性能與高可用性之冗餘資源連接連線構體及計算系統
US7606239B2 (en) Method and apparatus for providing virtual ports with attached virtual devices in a storage area network
JP5176039B2 (ja) 冗長ストレージサブシステム間におけるsasraidコントローラデバイスチャネルの接続のためのシステム、及び方法
JP2018029337A5 (zh)
US8788753B2 (en) Systems configured for improved storage system communication for N-way interconnectivity
JP2013097788A (ja) 仮想sasエキスパンダを介して共有されるサーバ直接接続のストレージシステム
CN112188325B (zh) 使用具有一对多光交换机的光网络的可重新配置的计算平台
US11537443B2 (en) Reconfigurable computing pods using optical networks
US8160061B2 (en) Redundant network shared switch
CN111684421B (zh) 服务器系统
US7373546B2 (en) Cluster network with redundant communication paths
CN111684765B (zh) 服务器系统
US20200235815A1 (en) Methods and sysems for reconfigurable network topologies
US20050050243A1 (en) Modified core-edge topology for a fibre channel network
US20240202154A1 (en) Mirrored switch configuration