TWI596484B - 應用快速周邊組件互聯介面的環狀網路系統及其設定方法 - Google Patents

應用快速周邊組件互聯介面的環狀網路系統及其設定方法 Download PDF

Info

Publication number
TWI596484B
TWI596484B TW105142669A TW105142669A TWI596484B TW I596484 B TWI596484 B TW I596484B TW 105142669 A TW105142669 A TW 105142669A TW 105142669 A TW105142669 A TW 105142669A TW I596484 B TWI596484 B TW I596484B
Authority
TW
Taiwan
Prior art keywords
address
pcie
bridge
bridges
address table
Prior art date
Application number
TW105142669A
Other languages
English (en)
Other versions
TW201824003A (zh
Inventor
李肇棠
徐鵬凱
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 財團法人工業技術研究院
Priority to TW105142669A priority Critical patent/TWI596484B/zh
Priority to US15/390,344 priority patent/US20180181529A1/en
Priority to CN201611229187.8A priority patent/CN108234268B/zh
Application granted granted Critical
Publication of TWI596484B publication Critical patent/TWI596484B/zh
Publication of TW201824003A publication Critical patent/TW201824003A/zh
Priority to US16/053,605 priority patent/US10204071B2/en

Links

Classifications

    • 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/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/42Loop networks
    • 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/4027Coupling between buses using bus bridges
    • G06F13/404Coupling between buses using bus bridges with address mapping
    • 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/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • 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/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • 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/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0024Peripheral component interconnect [PCI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/42Loop networks
    • H04L2012/421Interconnected ring systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Small-Scale Networks (AREA)

Description

應用快速周邊組件互聯介面的環狀網路系統及其設定方法
本發明係關於一種網路系統,特別是一種針對快速周邊組件互聯 (Peripheral Component Interconnect Express, PCIe) 橋接器的環狀網路系統及其設定方法。
現今有許多通訊標準,用以提供系統或伺服器內部的相互溝通、存取資料或是交換資訊。其中,又以快速周邊組件互聯(Peripheral Component Interconnect Express, PCIe) 標準被較廣泛地應用。PCIe是一種連接介面,主要係設計用以連接同一個伺服器中的多個PCIe終端裝置。以架構上來說,係以一個主控端(Master)連接多個PCIe設備(Slave),且由主控端(Master)對該些PCIe設備(Slave)進行控制操作。然而,一台伺服器僅會有一個PCIe系統,並無法將多台伺服器連接在一起,因而使多台伺服器之間較難相互地存取或交換等,而導致多台伺服器間較難資源共享。
有鑑於上述問題,本發明提出的應用快速周邊組件互連橋接器的環狀網路系統及其設定方法,係藉由使用PCIe介面,將多個伺服器連結形成一個環狀的網路架構,使得多個伺服器之間可以相互存取,進而使得伺服器之間的資源可以被共享與利用。
依據本發明揭露一種應用快速周邊組件互聯介面(Peripheral Component Interconnect Express, PCIe)的環狀網路系統一實施例,包括N個PCIe橋接器,每一PCIe橋接器連接各自對應的一伺服器,且每一PCIe橋接器包括第一連接埠與第二連接埠。其中該N個PCIe橋接器的第i個PCIe橋接器的第二連接埠連接該N個PCIe橋接器的第((i+1) mod N)個PCIe橋接器的第一連接埠。N為大於等於3的正整數,且i為小於等於N的正整數。其中每一PCIe橋接器包括位址映射晶片,每一PCIe橋接器的位址映射晶片選擇性映射N個PCIe橋接器所連結的N個伺服器中至少部分伺服器的系統位址,並選擇性映射N個PCIe橋接器中至少部分的PCIe橋接器的位址,以設定N個PCIe橋接器彼此間的位址映射關係。
依據本發明揭露一種應用快速周邊組件互聯介面(Peripheral Component Interconnect Express, PCIe)的環狀網路系統設定方法一實施例,包括:將N個PCIe橋接器彼此連接,使第i個PCIe橋接器的第二連接埠連接第((i+1) mod N)個PCIe橋接器的第一連接埠,其中每一所述PCIe橋接器連接各自對應的一伺服器。以及,設定每一PCIe橋接器的一位址映射晶片,使每一PCIe橋接器的位址映射晶片選擇性映射N個PCIe橋接器所連結的N個伺服器中至少部分伺服器的系統位址,並選擇性映射N個PCIe橋接器中至少部分的PCIe橋接器的位址,以設定N個PCIe橋接器彼此間的位址映射關係。其中N為大於等於3的正整數,且i為小於等於N的正整數。
綜上所述,依據本發明的應用快速周邊組件互聯介面(Peripheral Component Interconnect Express, PCIe)的環狀網路系統實施例,主要係可藉由PCIe橋接器所包括第一連接埠與第二連接埠,將多個伺服器連結在一起而設定成環狀的架構,使得不同伺服器之間可以透過PCIe介面相互地溝通及或分享資源。
以上之關於本發明內容之說明及以下之實施方式之說明係用以示範與解釋本發明之精神與原理,並且提供本發明之專利申請範圍更進一步之解釋。
以下在實施方式中詳細敘述本發明之詳細特徵以及優點,其內容足以使任何熟習相關技藝者了解本發明之技術內容並據以實施,且根據本說明書所揭露之內容、申請專利範圍及圖式,任何熟習相關技藝者可輕易地理解本發明相關之目的及優點。以下之實施例係進一步詳細說明本發明之觀點,但非以任何觀點限制本發明之範疇。
請參照圖1,圖1係依據本發明所繪示的環狀網路系統一範例實施例的功能方塊圖。如圖1所示,環狀網路系統10包括多個伺服器host1~host6。伺服器host1~host6分別設置有快速周邊組件互聯(Peripheral Component Interconnect Express, PCIe) 橋接器PN1~PN6。每個PCIe橋接器PN1~PN6均分別包括第一連接埠1與第二連接埠2。於圖1A的範例實施例中,設置伺服器host1~host6透過其PCIe橋接器PN1~PN6相互地連接,而形成一個環狀的結構。舉例來說,伺服器host1中的PCIe橋接器PN1的第二連接埠2連接伺服器host2中的PCIe橋接器PN2的第一連接埠1,伺服器host2中的PCIe橋接器PN2的第二連接埠2連接伺服器host3中的PCIe橋接器PN3的第一連接埠1,依此類推。且伺服器host6中的PCIe橋接器PN6的第二連接埠2連接伺服器host1中的PCIe橋接器PN1的第一連接埠1,如此一來,便可以設置成如圖1所示的環狀網路系統10。於一個例子中,所述的PCIe橋接器PN1~PN6係為可支援非透明橋接(Non-Transparent Bridge, NTB)的裝置。
PCIe橋接器PN1~PN6分別包括其各自的位址映射晶片C1~C6。請一併參照圖1與圖2A,圖2A係依據本發明所繪示的位址映射晶片所映射對應的第一位址表與第二位址表一範例實施例。於本發明的圖式中,細實線方框代表第一位址表TB1,而雙重方框則代表第二位址表TB2。如圖2A所示,每個位址映射晶片C1~C5均分別映射對應出第一位址表TB1與第二位址表TB2。而所述的第一位址表TB1與第二位址表TB2均映射多個PCIe橋接器PN1~PN6中至少部分的PCIe橋接器的位址。舉例來說,伺服器host4中的位址映射晶片C4的第一位址表映射前面PCIe橋接器PN1~PN3的位址CH1~CH3,而位址映射晶片C4的第二位址表TB2映射後面PCIe橋接器PN5~PN6的位址CH5~CH6。位址映射晶片C5的第一位址表TB1映射了前面PCIe橋接器PN1~PN4的位址CH1~CH4。位址映射晶片C5的第二位址表TB2映射後面PCIe橋接器PN6的位址CH6。而最後一個位址映射晶片C6的第一位址表TB1則映射前面PCIe橋接器PN1~PN5的位址CH1~CH5。其中第一個位址映射晶片C1不設定其第一位址表TB1,最後一個位址映射晶片C6不設定其第二位址表TB2。
於此實施例中,位址映射晶片更設定關於PCIe橋接器與所連結的PCIe橋接器彼此的位址映射關係。於一實施例中,PCIe橋接器PN1~PN6可各自包括二個NTB,每個NTB包括各自的一轉譯位址暫存器(translation register, TR)與多個基底位址暫存器(Base Address Register, BAR)。請一併參照圖2B,圖2B係依據本發明所繪示的伺服器一範例實施例的功能方塊圖。如圖2B所示,以伺服器host2的橋接器PN2作為舉例說明,橋接器PN2包括一位址映射晶片C2與多個基底位址暫存器BAR,而位址映射晶片C2包括多個轉譯位址暫存器TR。每基底位址暫存器BAR分別依據第一位址表TB1或第二位址表TB2,設置用於傳送多個橋接器其中之一的基底位址封包。每轉譯位址暫存器TR被設置用以依據位址映射關係,選擇性地修改基底位址封包的一目標位址以轉發該基底位址封包。舉例來說,轉譯位址暫存器TR係用以設定轉譯設定,以達成位址映射而使得封包可以被傳送至目標位址。實務上,於系統初始化之後,每個系統會排定系統位址空間(例如圖2A中 的粗實線方框)以設置位址CH1~CH6,而除了上述的系統位址空間以外,系統還包括更大量閒置的位址空間。藉由該些閒置的位址空間以及設定適當的地址映射關係,便可建立一個PCIe的網路系統(例如圖1中的環狀網路系統10)。
以圖2A的實施例來說明PCIe橋接器彼此的位址映射關係,當伺服器host1~host6透過其PCIe橋接器PN1~PN6相互地連接時,每個伺服器可將閒置的位址空間映射至前一個或後一個伺服器中正在使用的位址。舉例來說,伺服器host6將其閒置的位址映射至伺服器host5中的位址CH5,伺服器host5將其閒置的位址映射至伺服器host4中的位址CH4,依此類推。反過來說,伺服器host1將其閒置的位址映射至伺服器host2中的位址CH2,伺服器host2將其閒置的位址映射至伺服器host3中的位址CH3,依此類推。於此實施例中,伺服器host1~host6係藉由基底位址暫存器(Base Address Register, BAR),來定義其位址範圍,例如64位元。所述的基底位址暫存器主要係用以進行動態的地址空間的分配。
再者,每個伺服器可進一步地將其餘閒置的位址映射至後一個伺服器中的映射位址。舉例來說,伺服器host4可先將其閒置的位址映射至伺服器host5中的位址CH6,伺服器host3可將其閒置的位址映射至伺服器host4中的位址CH5與CH6。而伺服器host2再將其閒置的位址映射至伺服器host3中的位址CH4~CH6,依此類推,便可以獲得如圖2A所示的伺服器host1~host5的第二位址表TB2 (例如圖2A中 的雙細實線方框)。另一方面,伺服器host3可先將其閒置的位址映射至伺服器host2中的位址CH1,伺服器host4可將其閒置的位址映射至伺服器host3的位址CH1與CH2。而伺服器host5再將其閒置的位址映射至伺服器host4中的位址CH1~CH3。依此類推,便可以獲得如圖2A所示的伺服器host2~host6的第一位址表TB1。請參照圖3,圖3係依據本發明所繪示的位址映射晶片所映射對應的第一位址表TB1與第二位址TB2表另一範例實施例。圖3實施例中的第一位址表TB1與第二位址表TB2與圖2A的第一位址表TB1與第二位址表TB2所設定的映射方式係為類似的,故於此不予贅述。唯一不同之處係在於,於圖3實施例中的伺服器host1~host6包括有額外閒置的位址,可以提供伺服器儲存其他的位址。
在獲得圖2A或圖3實施例的第一位址表TB1與第二位址表TB2後,圖1中的任一個伺服器便可以透過各自的第一位址表或第二位址表存取另一個伺服器的系統位址。以一個實際的例子來說,若伺服器host6要存取其前段伺服器host3時,藉由圖2A或圖3實施例的第一位址表TB1,伺服器host6便可以透過訪問其TB1中的位址CH3以達成。於另一個例子中,若伺服器host4要存取其後段伺服器host6時,藉由圖2A或圖3實施例的第二位址表TB2,伺服器host4便可以透過訪問其TB2中的位址CH6以達成。也就是說,於圖2A或圖3的實施例中,伺服器可透過第一位址表TB1去存取其前段的伺服器,反之,伺服器亦可透過第二位址表TB2去存取其後段的伺服器。於實務上,當一個PCIe封包抵達一PCIe橋接器時,此PCIe橋接器可依據預先設定的轉譯設定(也就是位置映射),將抵達的PCIe封包傳送至目標位址。舉例來說,於圖2A中,伺服器host4的PCIe橋接器PN4可以透過事先設定好的轉譯設定,將封包傳送至伺服器host2。
請參照圖4,圖4係依據本發明所繪示的位址映射晶片所映射對應的第一位址表與第二位址表另一範例實施例。如圖4所示,每個PCIe橋接器的第一位址表TB1與第二位址表TB2均可映射除了本身的位址(於粗實線方框中)以外的其他PCIe橋接器的位址。以伺服器host 3作為舉例說明,PCIe橋接器PN3中的位址映射晶片C3的第一位址表TB1映射位址CH1、CH2與CH4~CH6,第二位址表TB2映射位址CH4~CH6。以伺服器host 5作為舉例說明,PCIe橋接器PN5中的位址映射晶片C5的第一位址表TB1映射位址CH1~CH4與CH6,第二位址表TB2映射位址CH6。於此實施例中,一PCIe橋接器的位址映射晶片可設定此PCIe橋接器的第一位址表TB1的多個位址與所連結的前一個PCIe橋接器的第一位址表TB1的多個位址之間的映射關係。舉例來說,於圖4的實施例中,伺服器host2可先將閒置的位址映射至伺服器host1中的位址CH1。伺服器host3可將閒置的位址映射至伺服器host2中的位址CH1與CH2。而伺服器host4可將閒置的位址映射至伺服器host3中的位址CH1~CH3,依此順序類推。再者於此實施例中,伺服器host1可將閒置的位址映射至伺服器host6中的位址CH2~CH6。然後,伺服器host2可將其餘閒置的位址映射至伺服器host1中的位址CH3~CH6。伺服器host3可將其餘閒置的位址映射至伺服器host2中的位址CH4~CH6,依據同樣的方式類推,便可以獲得圖4實施例中的第一位址表TB1。於一實施例中,一PCIe橋接器i的映射關係還可設定第一位址表TB1中關於其前一個PCIe橋接器i-1的位址,指向所述的前一個PCIe橋接器i-1後面所連接的PCIe橋接器i+1至N的裝置,i為小於等於N的正整數。以一個例子說明,當伺服器host4要對伺服器host5, host6進行存取時,藉由圖4中的第一位址表TB1,伺服器host4便可以透過訪問其TB1中的位址CH5, CH6,對伺服器host5, host6的裝置進行存取。
另一方面,一PCIe橋接器的位址映射晶片設定所連結的後一個PCIe橋接器的第二位址表TB2的多個位址與此PCIe橋接器的第二位址表TB2的多個位址之間的映射關係。舉例來說,伺服器host1~host6可分別將閒置的位址映射至各自後一個伺服器中的系統位址。此時,每一個伺服器均包括後一個伺服器中PCIe橋接器的位址。伺服器host1~host4進一步地可分別將其閒置的位址映射至各自後一個伺服器中的位址。舉例來說,伺服器host 4可先將其閒置的位址映射至伺服器host 5中的位址CH6,接著伺服器host 3將其閒置的位址映射至伺服器host 4中的位址CH5與CH6。而伺服器host 2可將其閒置的位址映射至伺服器host 3中的位址CH4~CH6,依此類推。另外不同的是,最後一個伺服器host 6則將其閒置的位址映射至前面PCIe橋接器PN2~PN5的位址CH2~CH5,便可獲得圖4的第二位址表TB2。於圖4的實施例中,藉由圖4的第一位址表TB1與第二位址表TB2,伺服器host1~host6之間可以任意的相互進行存取。以一個實際的例子來說,當伺服器host5要對伺服器host3進行存取時,藉由圖4中的第一位址表TB1,伺服器host5便可以透過訪問位址CH3,間接地對伺服器host3進行存取。於另一實施例中,一 PCIe橋接器的映射關係設定為其後一個PCIe橋接器的第二位址表中關於所述的PCIe橋接器的位址指向所述的PCIe橋接器所連接的裝置。以一個例子說明,當伺服器host2要對伺服器host3進行存取時,藉由圖4中的第二位址表TB2,伺服器host2便可以透過訪問其TB2中的位址CH3,對伺服器host3的裝置進行存取。
於圖2A與圖3的實施例中,當環狀網路系統10偵測到多個PCIe橋接器PN1~PN6其中一連結中斷時,環狀網路系統10可重新設定PCIe橋接器的第一位址表TB1、第二位址表TB2與映射關係,進而使中斷的該連結一側的PCIe橋接器被重新設定為多個PCIe橋接器PN1~PN6中的第一個PCIe橋接器。以一個實際的例子來說,假設伺服器host4要對伺服器host 5進行存取,當環狀網路系統10偵測到伺服器host4與伺服器host 5的連結中斷時,環狀網路系統10可重新設定PCIe橋接器的第一位址表TB1、第二位址表TB2與映射關係。請一併參照圖2A與圖5,圖5係依據本發明所繪示的位址映射晶片所映射對應的第一位址表與第二位址表另一範例實施例。圖5代表當伺服器host4與伺服器host5的連結中斷時,重新設定之後的第一位址表與第二位址表。相較於圖2A,於圖5的第一位址表TB1與第二位址表TB2中,可以觀察到原本的伺服器所對應的第一位址表TB1與第二位址表TB2產生位移,使伺服器host5所對應的第二位址表TB2為原本伺服器host1所對應的第二位址表TB2,且使伺服器host4所對應的第一位址表TB1為原本伺服器host6所對應的第一位址表TB1。也就是說,於圖5的實施例中,伺服器host5中的PCIe橋接器被重新設定為第一個PCIe橋接器,而伺服器host4中的PCIe橋接器則成為第六個PCIe橋接器。此時,伺服器host4便可以對伺服器host 5進行存取。
請參照圖6,圖6係依據本發明所繪示的位址映射晶片所映射對應的第一位址表與第二位址表另一範例實施例。於此實施例中,一PCIe橋接器的第一位址表TB1映射第一個PCIe橋接器至此PCIe橋接器前面PCIe橋接器的位址。舉例來說,如圖6所示,伺服器host4中的PCIe橋接器PN4的第一位址表TB1映射第一個PCIe橋接器PN1的位址CH1至第三個PCIe橋接器PN3的位址CH3。於此實施例中, 一PCIe橋接器的位址映射晶片設定此PCIe橋接器的第一位址表TB1的至少一位址與前面PCIe橋接器的第一位址表TB1的至少一位址之間的映射關係。舉例來說,於此實施例中,伺服器host2可先將閒置的位址映射至伺服器host1中的位址CH1。伺服器host3可將閒置的位址映射至伺服器host2中的位址CH2,依此類推。此時,每一個伺服器中均包括有前一個伺服器的位址。而伺服器host3可將另一閒置的位址映射至伺服器host2中的位址CH1,伺服器host4可進一步地將另一閒置的位址映射至伺服器host3中的位址CH1與CH2,依此類推,便可以獲得圖6中的第一位址表TB1。
另一方面,PCIe橋接器的第二位址表TB2映射後一個PCIe橋接器至最後一個PCIe橋接器的位址。舉例來說,伺服器host2的PCIe橋接器PN2的第二位址表TB2映射伺服器host3的PCIe橋接器PN3的位址CH3至伺服器host6的PCIe橋接器PN6的位址CH6。於另一個例子中,伺服器host4的PCIe橋接器PN4的第二位址表TB2映射伺服器host5的PCIe橋接器PN5的位址CH5至伺服器host6的PCIe橋接器PN6的位址CH6。於此實施例中,PCIe橋接器的位址映射晶片設定所述的PCIe橋接器的第二位址表TB2的至少一位址與後一個PCIe橋接器的第二位址表TB2的該至少一位址之間的映射關係。
舉例來說,伺服器host5可將PCIe橋接器PN5的位址映射晶片C5的閒置的位址映射至伺服器host 6的位址CH6,而伺服器host 4可將PCIe橋接器PN4的位址映射晶片C4的閒置的位址映射至伺服器host 5的位址CH5。伺服器host 3可將PCIe橋接器PN3的位址映射晶片C3的閒置的位址映射至伺服器host 4的位址CH4,依此類推。此時,每一個伺服器皆包括有其後一個伺服器的位址。而伺服器host 4可先將其另一閒置的位址映射至伺服器host 5中的位址CH6。然後,伺服器host 3可將其另一閒置的位址映射至伺服器host 4中的位址CH5與CH6。伺服器host 2可將其另一閒置的位址映射至伺服器host 3中的位址CH4~CH6,依同樣的方式類推,便可以獲得第二位址表TB2。
請參照圖7,圖7係依據本發明所繪示的位址映射晶片所映射對應的第一位址表與第二位址表另一範例實施例。於圖7的實施例中,其獲取第一位址表的映射方式與圖6的實施例相同,故於此不以贅述。而關於圖7的第二位址表TB2, PCIe橋接器的位址映射晶片設定所述的PCIe橋接器的第二位址表的至少一位址與後一個PCIe橋接器的第二位址表的至少一位址之間的映射關係。也就是說,伺服器host 5可將PCIe橋接器PN5的位址映射晶片C5的閒置的位址映射至伺服器host 6的位址CH6,而伺服器host 4可將PCIe橋接器PN4的位址映射晶片C4的閒置的位址映射至伺服器host 5的位址CH5。伺服器host 3可將PCIe橋接器PN3的位址映射晶片C3的閒置的位址映射至伺服器host 4的位址CH4,依此類推。此時,每一個伺服器皆包括有其後一個伺服器的位址。再者,伺服器host 6可先將其閒置的位址映射至伺服器host 1中的位址CH2。而伺服器host 5可將其閒置的位址映射至伺服器host 6中的位址CH1與CH2。而伺服器host 4可將其閒置的位址映射至伺服器host 5中的位址CH1 、CH2與CH6,依此順序類推,即可得到第二位址表TB2。
在獲得圖6與圖7的第一位址表TB1與第二位址表TB2後,圖1中的任一個伺服器便可以存取另一個伺服器。舉例來說,若伺服器host5要存取伺服器host1時,藉由圖6或圖7實施例的第一位址表TB1,伺服器host5便可以透過訪問其TB1位址CH1以達成;亦可藉由圖6或圖7實施例的第二位址表TB2,伺服器host5便可以透過訪問其TB2位址CH1以達成。於另一個例子中,若伺服器host3要存取伺服器host6時,藉由圖6與圖7實施例的第二位址表TB2,伺服器host3便可以透過訪問其TB2位址CH6以達成。於另一個例子中,若伺服器host5要存取伺服器host4時,藉由圖6與圖7實施例的第一位址表TB1,伺服器host5可以透過訪問其TB1位址CH4,而存取伺服器host4。在圖6與圖7的實施例中,當環狀網路系統10偵測到多個PCIe橋接器PN1~PN6其中一連結中斷時,環狀網路系統10可重新設定PCIe橋接器的第一位址表、第二位址表與映射關係,進而使中斷的該連結一側的PCIe橋接器被重新設定為多個PCIe橋接器PN1~PN6中的第一個PCIe橋接器。其關於圖6與圖7的實施例中,偵測到連結中斷時如何重新設定第一位址表TB1、第二位址表TB2與映射關係,與圖2A圖3的實施例相似,故於此不再贅述。
請一併參照圖2A、圖3~圖7實施例,依據本發明的這些實施例,一網路系統包括N個PCIe橋接器PN1~N,每一PCIe橋接器連接各自對應的一伺服器,每一PCIe橋接器PNi包括一位址映射晶片Ci。
於一實施例中,設定N個PCIe橋接器的第i個PCIe橋接器的第一位址表選擇性映射其所連結的第((i-1+N) mod (N+1))個伺服器的系統位址。於另一實施例中,還可設定N個PCIe橋接器的第i個PCIe橋接器的第一位址表選擇性映射該第((i-1+N) mod (N+1))個PCIe橋接器的第一位址表中至少部分的PCIe橋接器位址。
於一實施例中,設定N個PCIe橋接器的第i個PCIe橋接器的第二位址表選擇性映射其所連結的第((i+1) mod N)個伺服器的系統位址。而於另一實施例中,還可設定N個PCIe橋接器的第i個PCIe橋接器的第二位址表選擇性映射第((i+1) mod N)個PCIe橋接器的第二位址表中至少部分的PCIe橋接器位址。N為大於等於3的正整數,且i為小於等於N的正整數。
再者,於再一實施例中,設定N個PCIe橋接器的第i個PCIe橋接器的第一位址表選擇性映射其所連結的第((i-1+N) mod (N+1))個伺服器的系統位址,且設定N個PCIe橋接器的第i個PCIe橋接器的第一位址表選擇性映射該第((i-1+N) mod (N+1))個PCIe橋接器的第一位址表中至少部分的PCIe橋接器位址。以及,設定N個PCIe橋接器的第i個PCIe橋接器的第二位址表選擇性映射其所連結的第((i+1) mod N)個伺服器的系統位址,且設定N個PCIe橋接器的第i個PCIe橋接器的第二位址表選擇性映射第((i+1) mod N)個PCIe橋接器的第二位址表中至少部分的PCIe橋接器位址。N為大於等於3的正整數,且i為小於等於N的正整數。
請一併參照圖8A,圖8A係依據本發明的應用快速周邊組件互聯介面(Peripheral Component Interconnect Express, PCIe)的環狀網路系統設定方法一範例實施例流程圖。如圖8A所示,於步驟S810中,將N個PCIe橋接器彼此連接,使第i個PCIe橋接器的第二連接埠連接該第((i+1) mod N)個PCIe橋接器的第一連接埠,其中N為大於等於3的正整數,且i為小於等於N的正整數,其中每一所述PCIe橋接器連接各自對應的一伺服器。於步驟S820中,設定每一所述PCIe橋接器的一位址映射晶片,使每一所述PCIe橋接器的該位址映射晶片選擇性映射該N個PCIe橋接器所連結的N個伺服器中至少部分伺服器的系統位址,並選擇性映射該N個PCIe橋接器中至少部分的PCIe橋接器的位址,以設定該N個PCIe橋接器彼此間的位址映射關係。
請一併參照圖8B,圖8B係依據本發明的應用快速周邊組件互聯介面(Peripheral Component Interconnect Express, PCIe)的環狀網路系統設定方法一範例實施例流程圖。如圖8B所示,步驟S820包含步驟S821,設定每一個PCIe橋接器的一位址映射晶片,使所述位址映射晶片設定第一位址表與第二位址表。且第一位址表與第二位址表均選擇性映射該N個PCIe橋接器中至少部分的PCIe橋接器的位址。於一實施例中,所述的位址映射晶片更設定關於第i個PCIe橋接器與其所連結的前面第(i-1)個PCIe橋接器以及其所連結的後面第(i+1)個PCIe橋接器彼此的位址映射關係。於一實施例中,所述的位址映射晶片更設定關於第i個PCIe橋接器的該第一位址表的所述至少部分位址與其所連結的第(i-1)個PCIe橋接器的該第一位址表的所述至少部分位址彼此的位址映射關係,以及該第i個PCIe橋接器的該第二位址表的所述至少部分位址與其所連結的該第(i+1)個PCIe橋接器的該第二位址表的所述至少部分位址彼此的位址映射關係。
於一實施例中,第i個PCIe橋接器可包括二個NTB,每個NTB各自包括多個基底位址暫存器(Base Address Register, BAR)與一轉譯位址暫存器。於此實施例中,如圖8B所示,步驟S820還包括步驟S822與S823。於步驟S822中,分別依據第一位址表或第二位址表,設置每一基底位址暫存器,以負責傳送至該N個PCIe橋接器其中之一的基底位址封包。而在步驟S823中,設置每一轉譯位址暫存器使轉譯位址暫存器依據位址映射關係選擇性地修改基底位址封包的一目標位址以轉發該基底位址封包。
於一實施例中,圖8A與圖8B的環狀網路系統設定方法更包括於第i個PCIe橋接器的第一位址表映射第1個PCIe橋接器至第(i-1)個PCIe橋接器的位址。第二位址表映射第(i+1)個PCIe橋接器至第N個PCIe橋接器的位址。且於第i個PCIe橋接器的該位址映射晶片設定第i個PCIe橋接器的第一位址表的該些位址與第(i-1)個PCIe橋接器的第一位址表的該些位址之間的映射關係,指向所述第(i-1)個PCIe橋接器後面所連接的第i+1個PCIe橋接器至第N個PCIe橋接器的位址,以及第i個PCIe橋接器的第二位址表的該些位址與第(i+1)個PCIe橋接器的第二位址表的該些位址之間的映射關係。
於一實施例中,當偵測到該些PCIe橋接器其中一連結中斷時,則重新設定第i個PCIe橋接器的第一位址表與第二位址表與映射關係,從而使得中斷的該連結一側的PCIe橋接器被重新設定為N個PCIe橋接器中的第一個PCIe橋接器。
於一實施例中,圖8A與圖8B的環狀網路系統設定方法更包括在第i個PCIe橋接器的映射關係設定第一位址表中關於第(i-1)個PCIe橋接器的位址指向第(i-1)個PCIe橋接器所映射的系統位址。於另一實施例中,圖8的環狀網路系統設定方法更包括在第i個PCIe橋接器的映射關係設定第二位址表中關於第(i+1)個PCIe橋接器的位址指向第(i+1)個PCIe橋接器所映射的系統位址。
綜合以上所述,於本發明的環狀網路系統一實施例中,係可藉由PCIe橋接器所包括的第一連接埠與第二連接埠,將多個伺服器連結在一起而形成環狀的架構。透過記憶體映射的方式,使得每一個伺服器可以連結至另一個伺服器位址以進行存取,或是使用另一伺服器的裝置,進而達到多個伺服器之間資源共享的效果,例如共享RAM,、儲存裝置、網卡、或類似裝置等等。
雖然本發明以前述之實施例揭露如上,然其並非用以限定本發明。在不脫離本發明之精神和範圍內,所為之更動與潤飾,均屬本發明之專利保護範圍。關於本發明所界定之保護範圍請參考所附之申請專利範圍。
10‧‧‧環狀網路系統
host1~host6‧‧‧伺服器
PN1~PN6、PN1~N、PNi‧‧‧PCIe橋接器
C1~C6、Ci‧‧‧位址映射晶片
1‧‧‧第一連接埠
2‧‧‧第二連接埠
BAR‧‧‧基底位址暫存器
TR‧‧‧轉譯位址暫存器
CH1~CH6‧‧‧位址
TB1‧‧‧第一位址表
TB2‧‧‧第二位址表
810~823‧‧‧方法步驟
圖1係依據本發明所繪示的環狀網路系統一範例實施例的功能方塊圖。 圖2A係依據本發明所繪示的位址映射晶片所映射對應的第一位址表與第二位址表一範例實施例。 圖2B係依據本發明所繪示的伺服器一範例實施例的功能方塊圖。 圖3係依據本發明所繪示的位址映射晶片所映射對應的第一位址表與第二位址表另一範例實施例。 圖4係依據本發明所繪示的位址映射晶片所映射對應的第一位址表與第二位址表另一範例實施例。 圖5係依據本發明所繪示的位址映射晶片所映射對應的第一位址表與第二位址表另一範例實施例。 圖6係依據本發明所繪示的位址映射晶片所映射對應的第一位址表與第二位址表另一範例實施例。 圖7係依據本發明所繪示的位址映射晶片所映射對應的第一位址表與第二位址表另一範例實施例。 圖8A係依據本發明的應用快速周邊組件互聯介面(Peripheral Component Interconnect Express, PCIe)的環狀網路系統設定方法一範例實施例流程圖。 圖8B係依據本發明的應用快速周邊組件互聯介面(Peripheral Component Interconnect Express, PCIe)的環狀網路系統設定方法一範例實施例流程圖。
10‧‧‧環狀網路系統
host1~host6‧‧‧伺服器
PN1~PN6‧‧‧PCIe橋接器
C1~C6‧‧‧位址映射晶片
1‧‧‧第一連接埠
2‧‧‧第二連接埠
BAR‧‧‧基底位址暫存器
TR‧‧‧轉譯位址暫存器

Claims (16)

  1. 一種應用快速周邊組件互聯介面(Peripheral Component Interconnect Express, PCIe)的環狀網路系統,包括:N個PCIe橋接器,每一該PCIe橋接器連接各自對應的一伺服器,且每一該PCIe橋接器包括一第一連接埠與一第二連接埠,其中該N個PCIe橋接器的第i個PCIe橋接器的該第二連接埠連接該N個PCIe橋接器的第((i+1) mod N)個PCIe橋接器的該第一連接埠, N為大於等於3的正整數,且i為小於等於N的正整數,其中每一該PCIe橋接器包括一位址映射晶片,每一該PCIe橋接器的該位址映射晶片選擇性映射該N個PCIe橋接器所連結的N個伺服器中至少部分伺服器的系統位址,並選擇性映射該N個PCIe橋接器中至少部分的PCIe橋接器的位址,以設定該N個PCIe橋接器彼此間的位址映射關係。
  2. 如請求項1的環狀網路系統,其中每一該PCIe橋接器的該位址映射晶片設定一第一位址表與一第二位址表,且其中每一該PCIe橋接器包括:多個基底位址暫存器,每一該基底位址暫存器分別依據該第一位址表或該第二位址表,設置負責傳送該N個PCIe橋接器其中之一的一基底位址封包;以及多個轉譯位址暫存器,被設置以依據所述位址映射關係選擇性地修改該基底位址封包的一目標位址,以轉發該基底位址封包。
  3. 如請求項2的環狀網路系統,其中該第i個PCIe橋接器的該第一位址表選擇性映射其所連結的第((i-1+N) mod (N+1))個伺服器的系統位址。
  4. 如請求項2的環狀網路系統,其中該第i個PCIe橋接器的該第二位址表選擇性映射其所連結的第((i+1) mod N)個伺服器的系統位址。
  5. 如請求項4的環狀網路系統,其中該第i個PCIe橋接器的該第二位址表選擇性映射該第((i+1) mod N)個PCIe橋接器的該第二位址表中至少部分的PCIe橋接器位址。
  6. 如請求項3的環狀網路系統,其中該第i個PCIe橋接器的該第一位址表選擇性映射該第((i-1+N) mod (N+1))個PCIe橋接器的該第一位址表中至少部分的PCIe橋接器位址。
  7. 如請求項6的環狀網路系統,其中該第i個PCIe橋接器的該第二位址表選擇性映射其所連結的該第((i+1) mod N)個伺服器的系統位址,其中該第i個PCIe橋接器的該第二位址表選擇性映射該第((i+1) mod N)個PCIe橋接器的該第二位址表中至少部分的PCIe橋接器位址。
  8. 如請求項1至7其中之一的環狀網路系統,其中當偵測到該些PCIe橋接器其中一連結中斷時,重新設定該第i個PCIe橋接器的該第一位址表與該第二位址表與映射關係,使中斷的該連結一側的該PCIe橋接器被重新設定為該N個PCIe橋接器中的第一個PCIe橋接器。
  9. 一種應用快速周邊組件互聯介面(Peripheral Component Interconnect Express, PCIe)的環狀網路系統設定方法,包括:將N個PCIe橋接器彼此連接,使第i個PCIe橋接器的一第二連接埠連接第((i+1) mod N)個PCIe橋接器的一第一連接埠,其中N為大於等於3的正整數,且i為小於等於N的正整數,其中每一所述PCIe橋接器連接各自對應的一伺服器;以及設定每一該PCIe橋接器的一位址映射晶片,使每一該PCIe橋接器的該位址映射晶片選擇性映射該N個PCIe橋接器所連結的N個伺服器中至少部分伺服器的系統位址,並選擇性映射該N個PCIe橋接器中至少部分的PCIe橋接器的位址,以映射該N個PCIe橋接器彼此間的位址映射關係。
  10. 如請求項9的環狀網路系統設定方法,其中每一該PCIe橋接器包括多個基底位址暫存器與多個轉譯位址暫存器,其中於設定每一該PCIe橋接器的該位址映射晶片的步驟中包括:設定每一該PCIe橋接器的該位址映射晶片的一第一位址表與一第二位址表;分別依據該第一位址表或該第二位址表,設置每一該基底位址暫存器負責傳送該N個PCIe橋接器其中之一的一基底位址封包;以及設置每一該轉譯位址暫存器使依據所述位址映射關係選擇性地修改該基底位址封包的一目標位址,以轉發該基底位址封包。
  11. 如請求項10的環狀網路系統設定方法,其中設定該第i個PCIe橋接器的該第一位址表選擇性映射其所連結的第((i-1+N) mod (N+1))個伺服器的系統位址。
  12. 如請求項10的環狀網路系統設定方法,其中設定該第i個PCIe橋接器的該第二位址表選擇性映射其所連結的第((i+1) mod N)個伺服器的系統位址。
  13. 如請求項12的環狀網路系統設定方法,其中設定該第i個PCIe橋接器的該第二位址表選擇性映射該第((i+1) mod N)個PCIe橋接器的該第二位址表中至少部分的PCIe橋接器位址。
  14. 如請求項11的環狀網路系統設定方法,其中設定該第i個PCIe橋接器的該第一位址表選擇性映射該第((i-1+N) mod (N+1))個PCIe橋接器的該第一位址表中至少部分的PCIe橋接器位址。
  15. 如請求項14的環狀網路系統設定方法,其中設定該第i個PCIe橋接器的該第二位址表選擇性映射其所連結的該第((i+1) mod N)個伺服器的系統位址,其中該第i個PCIe橋接器的該第二位址表選擇性映射該第((i+1) mod N)個PCIe橋接器的該第二位址表中至少部分的PCIe橋接器位址。
  16. 如請求項10至15其中之一的環狀網路系統設定方法,更包括當偵測到該些PCIe橋接器其中一連結中斷時,重新設定該第i個PCIe橋接器的該第一位址表與該第二位址表與映射關係,使中斷的該連結一側的該PCIe橋接器被重新設定為該N個PCIe橋接器中的第一個PCIe橋接器。
TW105142669A 2016-12-22 2016-12-22 應用快速周邊組件互聯介面的環狀網路系統及其設定方法 TWI596484B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
TW105142669A TWI596484B (zh) 2016-12-22 2016-12-22 應用快速周邊組件互聯介面的環狀網路系統及其設定方法
US15/390,344 US20180181529A1 (en) 2016-12-22 2016-12-23 Ring network system using peripheral component interconnect express and setting method thereof
CN201611229187.8A CN108234268B (zh) 2016-12-22 2016-12-27 应用快速外围组件互联接口的环状网络系统及其设定方法
US16/053,605 US10204071B2 (en) 2016-12-22 2018-08-02 Ring network system using peripheral component interconnect express and setting method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW105142669A TWI596484B (zh) 2016-12-22 2016-12-22 應用快速周邊組件互聯介面的環狀網路系統及其設定方法

Publications (2)

Publication Number Publication Date
TWI596484B true TWI596484B (zh) 2017-08-21
TW201824003A TW201824003A (zh) 2018-07-01

Family

ID=60189383

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105142669A TWI596484B (zh) 2016-12-22 2016-12-22 應用快速周邊組件互聯介面的環狀網路系統及其設定方法

Country Status (3)

Country Link
US (1) US20180181529A1 (zh)
CN (1) CN108234268B (zh)
TW (1) TWI596484B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI831654B (zh) * 2023-03-21 2024-02-01 威聯通科技股份有限公司 儲存擴充系統與其資源配置方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200305082A (en) * 2002-03-08 2003-10-16 Motorola Inc Data processing system with peripheral access protection and method therefor
TW200519613A (en) * 2003-11-06 2005-06-16 Dell Products Lp Dynamic reconfiguration of PCI express links
TWI252982B (en) * 2003-01-21 2006-04-11 Ali Corp Daisy chained ATA host controllers in a single PCI device
US7174412B2 (en) * 2004-08-19 2007-02-06 Genesys Logic, Inc. Method and device for adjusting lane ordering of peripheral component interconnect express
US7506087B2 (en) * 2006-06-02 2009-03-17 Via Technologies Inc. Method for configuring a Peripheral Component Interconnect Express (PCIE)
TW201145028A (en) * 2010-06-07 2011-12-16 Universal Global Scient Ind Co Ltd Structure and method for transmitting signals of PCI express

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130179722A1 (en) * 2012-01-06 2013-07-11 Glen Smith Ring topology for compute devices

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200305082A (en) * 2002-03-08 2003-10-16 Motorola Inc Data processing system with peripheral access protection and method therefor
TWI252982B (en) * 2003-01-21 2006-04-11 Ali Corp Daisy chained ATA host controllers in a single PCI device
TW200519613A (en) * 2003-11-06 2005-06-16 Dell Products Lp Dynamic reconfiguration of PCI express links
US7174412B2 (en) * 2004-08-19 2007-02-06 Genesys Logic, Inc. Method and device for adjusting lane ordering of peripheral component interconnect express
US7506087B2 (en) * 2006-06-02 2009-03-17 Via Technologies Inc. Method for configuring a Peripheral Component Interconnect Express (PCIE)
TW201145028A (en) * 2010-06-07 2011-12-16 Universal Global Scient Ind Co Ltd Structure and method for transmitting signals of PCI express
TWI417733B (zh) * 2010-06-07 2013-12-01 Universal Global Scient Ind Co 快速週邊元件互連訊號傳輸結構及其方法

Also Published As

Publication number Publication date
CN108234268B (zh) 2021-06-11
TW201824003A (zh) 2018-07-01
CN108234268A (zh) 2018-06-29
US20180181529A1 (en) 2018-06-28

Similar Documents

Publication Publication Date Title
ES2779551T3 (es) Sistema de procesamiento de datos y método de procesamiento de datos
US11726938B2 (en) Communications for field programmable gate array device
US20170220255A1 (en) Write request processing method, processor, and computer
WO2020259269A1 (zh) 转发报文的方法、中间设备和计算机设备
TWI596484B (zh) 應用快速周邊組件互聯介面的環狀網路系統及其設定方法
TWI695262B (zh) 用於在mochi環境中實現基於拓撲之識別過程的系統及方法
EP1696332A3 (en) High-speed internal wireless bus
US10261936B2 (en) PCIe switch with data and control path systolic array
CN105786733B (zh) 一种写入tcam条目的方法及装置
US9116836B2 (en) Tunneling transaction packets
CN111357016B (zh) 用于神经网络处理器的片上通信系统
CN103888511A (zh) 一种基于动态代理的远程访问控制方法
US10204071B2 (en) Ring network system using peripheral component interconnect express and setting method thereof
WO2016197607A1 (zh) 一种实现路由查找的方法及装置
CN106027423A (zh) PCIe设备共享网络及其数据传输方法
US10289308B2 (en) Architecture and method for an interconnected data storage system using a unified data bus
US9678905B2 (en) Bus controller, bus control system and network interface
WO2021196904A1 (zh) 一种设备管理方法、装置及计算机系统
JP5230667B2 (ja) データ転送装置
WO2016065612A1 (zh) 访问文件的方法、系统和主机
WO2017023681A1 (en) Systems and methods for aggregating data packets in a mochi system
CN107211010A (zh) 一种数据传输方法及设备