TWI557570B - 記憶體映射方法和記憶體映射系統 - Google Patents
記憶體映射方法和記憶體映射系統 Download PDFInfo
- Publication number
- TWI557570B TWI557570B TW103142433A TW103142433A TWI557570B TW I557570 B TWI557570 B TW I557570B TW 103142433 A TW103142433 A TW 103142433A TW 103142433 A TW103142433 A TW 103142433A TW I557570 B TWI557570 B TW I557570B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- memory address
- server
- management host
- address
- Prior art date
Links
Classifications
-
- 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/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus 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
-
- 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
- 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/4027—Coupling between buses using bus bridges
- G06F13/404—Coupling between buses using bus bridges with address mapping
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Bus Control (AREA)
Description
本發明是有關於一種用於通過PCIe匯流排耦接多個伺服器的記憶體映射方法和記憶體映射系統。
許多不同電腦I/O互連標準已被開發來連接電腦元件。近年來最流行的電腦I/O互連標準之一是周邊元件互連(Peripheral Component Interconnect,PCI)標準。PCI允許匯流排表現得像橋(bridge),其將局部處理器匯流排與周邊元件隔離,從而允許電腦的中央處理單元(CPU)較快速地運行。近期,PCI的後繼標準已普及,其被稱為快速PCI(PCI Express,簡稱為PCIe)。PCIe提供較高的性能、針對下一代系統提高靈活性和可縮放性,同時維持與現有PCI應用的軟體相容性。
與傳統PCI相比,具三個層(交易層(transaction layer)、資料連結層(data link layer)和實體層(physical layer))的PCIe協議(protocol)更為複雜。在交易層中,PCIe以由時間分離的請求與回
應來實施分割交易(split transactions),當目標裝置收集資料而回應時,從而允許鏈路承載其它業務。資料連結層對由交易層產生的交易層分組(TLP)排序,確保經由確認協議(acknowledgement protocol)而在兩個端點之間可靠地遞送TLP,並要求對未確認的/壞的(unacknowledged/bad)TLP進行重放(replay),且初始化並管理流量控制信用。實體層規格劃分為對應於電氣規格和邏輯規格的兩個子層。
在PCIe系統中,根複合裝置(root complex device)將處理器和記憶體子系統連接到包括一個或一個以上交換裝置的PCIe交換結構(Switch Fabrics)。PCIe是使用點對點架構。類似於PCI系統中的主橋(host bridge),根複合裝置其經由局部I/O互連而互連,產生如處理器行為的交易請求。根複合裝置的功能可實現為離散裝置,或可與處理器集成。根複合裝置可保持一個以上PCIe埠,且多個交換裝置可連接到根複合裝置上的埠或級聯(cascaded)。
在多個主機使用PCIe交換器的非透明埠(non-transparent ports)而連接時,現有解決方案的非透明橋(Non-Transparent Bridge,NTB)是使用記憶體重導向方法。通常,NTB被呈現為具有兩個背靠背端點,每一端點處理一個方向的記憶體映射與轉換功能,因此,可經由NTB連接的兩個主機之間雙向地進行記憶體重導向功能。
圖1為說明用於經由NTB的端點而將某一主機的實體位
址映射到另一主機的實體位址(physical address)的記憶體映射系統的示意圖。
在圖1中,NTB的左端點(Left Endpoint,LE)具有6個基底位址寄存器(Base Address Register,BAR)LEBar 0~LEBar 5,且支援32位元位址的6位址映射。舉例來說,LEBar(左端基底位址寄存器)0和LEBar 1將主機1的實體位址0x00000000~0x10000000映射到主機2的實體位址0x30000000~0x40000000,LEBar 2和LEBar 3將主機1的實體位址0x20000000~0x40000000映射到主機2的實體位址0x00000000~0x20000000,且LEBar 4和LEBar 5將主機1的實體位址0x50000000~0x70000000映射到主機2的實體位址0x50000000~0x70000000。
圖2為說明經由NTB的端點而將某一主機的實體位址映射到另一主機的實體位址的記憶體映射系統的示意圖。在圖2中,NTB的右端點RE具有6個BAR REBar 0~REBar 5,且支援32位元位址的6位址映射。類似於圖1,REBar 0~REBar 5將主機2的實體位址映射到主機1的實體位址。每一PCIe端點僅具有6個Bar,且支援32位元位址的6位址映射或64位元位址的3位址映射,且因此,BAR的數量為NTB功能的最關鍵資源。
本揭露提供一種記憶體映射方法和記憶體映射系統,其
利用PCIe介面和NTB的記憶體位址轉換功能,以建構全域記憶體位址映射系統,其中虛擬功能的主機間通信或共用可由NTB功能實現。
本揭露的示範性實施例提供一種用於通過PCIe匯流排耦接多個伺服器的記憶體映射方法。所述方法包含在具有記憶體位址的管理主機上配置延伸記憶體位址。所述方法還包含通過所述PCIe匯流排的多個非透明橋而將對應於每一伺服器的管理主機的延伸記憶體位址分別映射到每一伺服器的記憶體位址。所述方法還包含在每一伺服器上配置延伸記憶體位址。所述方法還包含通過所述非透明橋而將每一伺服器的延伸記憶體位址映射到管理主機的記憶體位址和管理主機的延伸記憶體位址,其中每一伺服器的延伸記憶體位址是對應於所述伺服器和管理主機。
本揭露的示範性實施例提供一種記憶體映射系統。所述記憶體映射系統包含:管理主機;經由PCIe匯流排而耦接到所述管理主機的多個伺服器;以及位於所述PCIe匯流排上的多個非透明橋。非透明橋將伺服器耦接到管理主機。延伸記憶體位址配置在具有記憶體位址的所述管理主機上。對應於每一伺服器的管理主機的延伸記憶體位址通過所述PCIe匯流排的多個非透明橋而分別映射到每一伺服器的記憶體位址。延伸記憶體位址配置在所述伺服器中的每一個上。每一伺服器中的延伸記憶體位址通過所述非透明橋而映射到管理主機的記憶體位址和管理主機的延伸記憶體位址,其中每一伺服器的延伸記憶體位址是對應於所述伺服器
和管理主機。
基於上文描述,多個伺服器可僅使用每一NTB功能的一個BAR通過全域記憶體位址映射而共用SR-IOV裝置的虛擬功能且相互通信,同時利用PCIe匯流排的最大頻寬。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
100‧‧‧記憶體映射系統
110‧‧‧管理主機
111‧‧‧區塊
112‧‧‧CPU
114‧‧‧記憶體
116‧‧‧記憶體映射控制器
118a~118n‧‧‧SR-IOV裝置
120a~120n‧‧‧伺服器
121a‧‧‧區塊
121b‧‧‧區塊
130‧‧‧PCIe匯流排
140a~140n‧‧‧非透明橋(NTB)
EMA1‧‧‧延伸記憶體位址
EMA2‧‧‧延伸記憶體位址
EMA3‧‧‧延伸記憶體位址
LE‧‧‧左端點
LEBar 0~LEBar 5‧‧‧基底位址寄存器(BAR)
MA1‧‧‧記憶體位址
MA2‧‧‧記憶體位址
MA3‧‧‧記憶體位址
RE‧‧‧右端點
REBar 0~REBar 5‧‧‧BAR
S801~S807‧‧‧步驟
圖1為說明根據現有技術的用於經由NTB的端點而將某一主機的實體位址映射到另一主機的實體位址的記憶體映射系統的示意圖。
圖2為說明根據現有技術的用於經由NTB的端點而將某一主機的實體位址映射到另一主機的實體位址的記憶體映射系統的示意圖。
圖3為說明根據本揭露的示範性實施例的記憶體映射系統的方塊圖。
圖4為說明根據本揭露的示範性實施例的從管理主機到伺服器的NTB位址映射的示意圖。
圖5為說明根據本揭露的示範性實施例的從伺服器到管理主機的NTB位址映射的示意圖。
圖6為說明根據本揭露的示範性實施例的當伺服器相互通信時的記憶體存取轉移路徑的示意圖。
圖7為說明根據本揭露的示範性實施例的當SR-IOV虛擬功能從管理主機共用到伺服器時的記憶體存取轉移路徑的示意圖。
圖8為說明根據本揭露的示範性實施例的記憶體映射方法的流程圖。
以下配合圖式詳細描述本發明的示範性實施例,其中相同元件符號在圖式及描述中用來表示相同或相似部分。
本揭露的示範性實施例可包括本文中所描述(包括具體實施方式中所描述)和/或圖式中所展示的新穎特徵中的任何一個或一個以上。如本文中所使用,“至少一個”、“一個或一個以上”和“和/或”為在操作中既連接又分離的開端表達。舉例來說,表達“A、B和C中的至少一個”、“A、B或C中的至少一個”、“A、B和C中的一個或一個以上”、“A、B或C中的一個或一個以上”和“A、B和/或C”中的每一個意味單獨A、單獨B、單獨C、A和B一起、A和C一起、B和C一起或A、B和C一起。
應注意,術語“一”實體指一個或一個以上所述實體。因此,術語“一”、“一個或一個以上”和“至少一個”可在本文中互換使用。
圖3為說明根據本揭露的示範性實施例的記憶體映射系統的方塊圖。
參看圖3,記憶體映射系統100包括管理主機110、PCIe匯流排130和多個伺服器120a到120n。伺服器120a到120n可經由PCIe匯流排130而耦接到管理主機110,並且PCIe匯流排130上的非透明橋(NTB)(即,140a~140n)會執行管理主機110與伺服器120a到120n之間的記憶體位址映射。具體來說,每一個NTB 140a~140n具有兩個端點,且每一端點負責一個方向的記憶體位址映射。管理主機110包括CPU 112、記憶體114、記憶體映射控制器116和單一根目錄I/O虛擬化(Single Root I/O Virtualization,SR-IOV)裝置118a~118n。記憶體映射控制器116可控制管理主機110與伺服器120a到120n之間的記憶體位址映射。SR-IOV裝置118a~118n(例如,10G乙太網路卡)可插在管理主機110上,且SR-IOV裝置118a~118n的虛擬功能可經由PCIe匯流排130而分享到伺服器120a到120n。
在示範性實施例中,NTB 140a的端點可經由PCIe匯流排130而將管理主機110的位址空間映射到伺服器120a,而NTB 140a的另一端點可經由PCIe匯流排130而將伺服器120a的位址空間映射到管理主機110。在此方法中,對管理主機110的記憶體的存取可導向到伺服器120a的所映射的記憶體位址,且對伺服器120a的記憶體的存取可導向到管理主機110的所映射的記憶體位址。
值得注意的是,記憶體映射控制器116可實現為軟體模組或程式碼。舉例來說,當在PCIe匯流排上檢測到新的伺服器時,
程式碼可被載入到記憶體114中且由CPU 112執行,以使得管理主機110與伺服器之間的映射資訊得以更新。然而,本揭露不限於此。記憶體映射控制器116還可實現為控制管理主機110與伺服器120a到120n之間的記憶體位址映射的硬體電路。
圖4為說明根據本揭露的示範性實施例的從管理主機到伺服器的NTB位址映射的示意圖。
參看圖3和圖4,管理主機110的位址空間配置有記憶體位址MA1和延伸記憶體位址EMA1。記憶體位址MA1可為管理主機110的動態隨機存取記憶體(dynamic random access memory,DRAM),且延伸記憶體位址EMA1可為管理主機110的記憶體位址MA1之外的位址空間。在管理主機110的延伸記憶體位址EMA1中,區塊121a和區塊121b是分別對應於伺服器120a和伺服器120b。在本揭露的示範性實施例中,管理主機110的延伸記憶體位址EMA1上的區塊121a可經由PCIe匯流排130上的NTB 140a的端點而映射到伺服器120a的記憶體位址MA2,且管理主機110的延伸記憶體位址EMA1上的區塊121b可經由PCIe匯流排130上的NTB 140b的端點而映射到伺服器120b的記憶體位址MA3。以這種方式,對管理主機110的延伸記憶體位址EMA1上的區塊121a的存取可經由PCIe匯流排130上的NTB 140a的端點而導向到伺服器120a的記憶體位址MA2,且對管理主機110的延伸記憶體位址EMA1上的區塊121b的存取可經由PCIe匯流排130上的NTB 140b的端點而映射到伺服器120b的記憶體位址MA3。
圖5為說明根據本揭露的示範性實施例的從伺服器到管理主機的NTB位址映射的示意圖。
參看圖3和圖5,伺服器120a的位址空間配置有記憶體位址MA2和延伸記憶體位址EMA2,且伺服器120b的位址空間配置有記憶體位址MA3和延伸記憶體位址EMA3。記憶體位址MA2和MA3可分別為伺服器120a和伺服器120b的動態隨機存取記憶體(DRAM),且延伸記憶體位址EMA2和EMA3可分別為伺服器120a和伺服器120b的記憶體位址MA2和MA3之外的位址空間。在伺服器120a的延伸記憶體位址EMA2和伺服器120b的延伸記憶體位址EMA3中,區塊121a、區塊121b和區塊111是分別對應於伺服器120a、伺服器120b和管理主機110。在本揭露的示範性實施例中,伺服器120a和伺服器120b的延伸記憶體位址EMA2和EMA3上的區塊121a和區塊121b可分別經由PCIe匯流排130上的NTB 140a和NTB 140b的端點而映射到管理主機110的延伸記憶體位址EMA1的區塊121a和區塊121b,且伺服器120a和伺服器120b的延伸記憶體位址EMA2和EMA3上的區塊111可分別經由PCIe匯流排130上的NTB 140a和NTB 140b的端點而映射到管理主機110的記憶體位址MA1。
以這種方式,對伺服器120a的延伸記憶體位址EMA2上的區塊121a的存取可經由PCIe匯流排130上的NTB 140a的端點而導向到管理主機110的延伸記憶體位址EMA1上的區塊121a,對伺服器120a的延伸記憶體位址EMA2上的區塊121b的存取可
經由PCIe匯流排130上的NTB 140a的端點而導向到管理主機110的延伸記憶體位址EMA1的區塊121b,且對伺服器120a的延伸記憶體位址EMA2上的區塊111的存取可經由PCIe匯流排130上的NTB 140a的端點而導向到管理主機110的記憶體位址MA1。
類似地,對伺服器120b的延伸記憶體位址EMA3上的區塊121a的存取可經由PCIe匯流排130上的NTB 140b的端點而導向到管理主機110的延伸記憶體位址EMA1上的區塊121a,對伺服器120b的延伸記憶體位址EMA3上的區塊121b的存取可經由PCIe匯流排130上的NTB 140b的端點而導向到管理主機110的延伸記憶體位址EMA1的區塊121b,且對伺服器120b的延伸記憶體位址EMA3上的區塊111的存取可經由PCIe匯流排130上的NTB 140b的端點而導向到管理主機110的記憶體位址MA1。
圖6為說明根據本揭露的示範性實施例的當伺服器相互通信時的記憶體存取轉移路徑的示意圖。
參看圖3和圖6,當伺服器120a欲存取伺服器120b的記憶體位址MA3時,伺服器120a會存取其自身的延伸記憶體位址EMA2上的區塊121b,而此記憶體存取將經由NTB 140a的端點而轉換到管理主機110的延伸記憶體位址EMA1上的區塊121b(參見圖5),並且更經由NTB 140b的端點而轉換到伺服器120b的記憶體位址MA3(參見圖4)。類似地,當伺服器120b欲存取伺服器120a的記憶體位址MA2時,伺服器120b存取其自身的延伸記憶體位址EMA3上的區塊121a,而此記憶體存取將經由NTB 140b
的端點而轉換到管理主機110的延伸記憶體位址EMA1上的區塊121a,並且更經由NTB 140a的端點而轉移到伺服器120a的記憶體位址MA2。
值得注意的是,NTB 140a的左端點上的一個BAR會保存將伺服器120a的延伸記憶體位址EMA2中的區塊121a映射到管理主機110的延伸記憶體位址EMA1中的區塊121a、將伺服器120a的延伸記憶體位址EMA2中的區塊121b映射到管理主機110的延伸記憶體位址EMA1中的區塊121b以及將伺服器120a的延伸記憶體位址EMA2中的區塊111映射到管理主機110的記憶體位址MA1的資訊。NTB 140a的右端點上的一個BAR會保存將管理主機110的延伸記憶體位址EMA1中的區塊121a映射到伺服器120a的記憶體位址MA2的資訊。
類似地,NTB 140b的右端點上的一個BAR會保存將伺服器120b的延伸記憶體位址EMA3中的區塊121a映射到管理主機110的延伸記憶體位址EMA1中的區塊121a、將伺服器120b的延伸記憶體位址EMA3中的區塊121b映射到管理主機110的延伸記憶體位址EMA1中的區塊121b以及將伺服器120b的延伸記憶體位址EMA3中的區塊111映射到管理主機110的記憶體位址MA1的資訊。NTB 140b的左端點上的一個BAR會保存將管理主機110的延伸記憶體位址EMA1中的區塊121b映射到伺服器120b的記憶體位址MA3的資訊。
因此,伺服器120a和伺服器120b能夠經由全域記憶體
位址映射系統而相互通信,其僅使用NTB的端點處的一個BAR而儲存伺服器120a、伺服器120b和管理主機110的所有記憶體映射資訊。
圖7為說明根據本揭露的示範性實施例的當SR-IOV虛擬功能從管理主機分享到伺服器時的記憶體存取轉移路徑的示意圖。
參看圖3和圖7,當伺服器120a的驅動器(driver)希望存取SR-IOV裝置的虛擬功能(VF)的控制與狀態寄存器(CSR)時,伺服器120a會存取其自身的延伸記憶體位址EMA2上的區塊111中對應于CSR的區段(section),且此記憶體存取將經由NTB 140a的端點而轉換到管理主機110的記憶體位址MA1中對應于CSR的區段(參見圖5)。並且,在存取管理主機110的記憶體位址MA1中對應于CSR的區段之後,虛擬功能存取管理主機110的延伸記憶體位址EMA1的區塊121a中對應於接收/發送(RX/TX)緩衝器的區段,且此記憶體存取將經由NTB 140a的端點而轉換到伺服器120a的記憶體位址MA2中對應於RX/TX緩衝器的區段(參見圖4)。因此,虛擬功能的中斷轉送到伺服器120a。在這種記憶體映射系統中,虛擬功能能夠在管理主機110和伺服器上以零複製(zero-copy)方式操作。
值得注意的是,在圖3到圖7中,伺服器120a和伺服器120b中的全域記憶體映射結構包含分別對應於伺服器120a、伺服器120b和管理主機110的區塊121a、區塊121b和區塊111。然
而,本揭露不限於此。伺服器中的全域記憶體映射結構可將數量等於伺服器和管理主機110的數量的總和的區塊包含在伺服器的延伸記憶體位址中,且因為所有映射資訊可記錄在一個基底位址寄存器中,因此,每一個NTB功能僅需一個基底位址寄存器(BAR)。必須了解的是,雖然在圖3到圖7中,在管理主機110的延伸記憶體位址EMA1中僅存在區塊121a和區塊121b,但本揭露不限於此。管理主機110中的全域記憶體映射結構可將數量等於伺服器的數量的區塊包含在管理主機110的延伸記憶體位址EMA1中。
圖8為說明根據本揭露的示範性實施例的記憶體映射方法的流程圖。
參看圖8,在步驟S801中,具有記憶體位址的管理主機會配置延伸記憶體位址。
在步驟S803中,PCIe匯流排的NTB將對應於每一伺服器的管理主機的延伸記憶體位址分別映射到伺服器中的每一個的記憶體位址。
在步驟S805中,每一伺服器配置延伸記憶體位址。
在步驟S807中,NTB將每一伺服器的延伸記憶體位址映射到管理主機的記憶體位址和延伸記憶體位址,其中每一伺服器的延伸記憶體位址是對應於伺服器和管理主機。
如上所述,本揭露的記憶體映射方法在伺服器和管理主機中建構全域記憶體映射結構,以使得伺服器可使用每一NTB功
能的單一個BAR通過全域記憶體位址映射而共用SR-IOV裝置的虛擬功能且相互通信,同時利用PCIe匯流排的最大頻寬。本揭露的先前描述的示範性實施例具有前述優點,其中前述優點並非本發明的所有型式所需。
S801~S807‧‧‧步驟
Claims (18)
- 一種記憶體映射方法,用於通過一快速周邊元件互連匯流排耦接多個伺服器,包括:在具有一記憶體及一記憶體位址的一管理主機上配置一延伸記憶體位址;通過該快速周邊元件互連匯流排的多個非透明橋將對應於每一該些伺服器的該管理主機的延伸記憶體位址分別映射到每一該些伺服器的記憶體位址;在每一該些伺服器上配置一延伸記憶體位址;通過該些非透明橋而將每一該些伺服器的延伸記憶體位址映射到該管理主機的該記憶體的記憶體位址和該管理主機的延伸記憶體位址,其中每一該些伺服器的延伸記憶體位址是對應於該些伺服器和該管理主機;以及經由該些伺服器之中對應於該管理主機的記憶體位址的一第一伺服器的延伸記憶體位址而存取該管理主機的記憶體位址中的一虛擬功能的一控制與狀態寄存器。
- 如申請專利範圍第1項所述的記憶體映射方法,更包括:經由對應於該第一伺服器的記憶體位址的該管理主機的延伸記憶體位址而存取該第一伺服器的記憶體位址中的該虛擬功能的一發送/接收緩衝器。
- 如申請專利範圍第1項所述的記憶體映射方法,更包括:由該些伺服器之中的一第一伺服器經由該管理主機的延伸記 憶體位址而存取該些伺服器之中的一第二伺服器的記憶體位址。
- 如申請專利範圍第3項所述的記憶體映射方法,其中所述由該第一伺服器經由該管理主機的延伸記憶體位址而存取該第二伺服器的記憶體位址的步驟包括:經由對應於該第二伺服器的該第一伺服器的延伸記憶體位址而存取對應於該第二伺服器的該管理主機的延伸記憶體位址。
- 如申請專利範圍第4項所述的記憶體映射方法,其中所述由該第一伺服器經由該管理主機的延伸記憶體位址而存取該第二伺服器的記憶體位址的步驟更包括:經由對應於該第二伺服器的該管理主機的延伸記憶體位址而存取該第二伺服器的記憶體位址。
- 如申請專利範圍第1項所述的記憶體映射方法,其中每一該些非透明橋包括兩個端點,且該兩個端點中的每一個包括多個基底位址寄存器。
- 如申請專利範圍第6項所述的記憶體映射方法,其中所述通過該快速周邊元件互連匯流排的該些非透明橋而將對應於每一該些伺服器的該管理主機的延伸記憶體位址分別映射到每一該些伺服器的記憶體位址的步驟包括:通過該快速周邊元件互連匯流排的該些非透明橋的基底位址寄存器之中的單一個基底位址寄存器而將對應於每一該些伺服器的該管理主機的延伸記憶體位址分別映射到每一該些伺服器的記憶體位址。
- 如申請專利範圍第6項所述的記憶體映射方法,其中所述通過該些非透明橋而將每一該些伺服器的延伸記憶體位址映射到該管理主機的記憶體位址和延伸記憶體位址的步驟包括:僅通過該快速周邊元件互連匯流排的該些非透明橋的基底位址寄存器之中的單一個基底位址寄存器而將每一該些伺服器的延伸記憶體位址映射到該管理主機的記憶體位址和延伸記憶體位址。
- 如申請專利範圍第1項所述的記憶體映射方法,其中該虛擬功能在該管理主機和該些伺服器上以一零複製方式操作。
- 一種記憶體映射系統,包括:一管理主機,具有一記憶體及一記憶體位址;多個伺服器,經由一快速周邊元件互連匯流排而耦接到該管理主機;以及多個非透明橋,位於該快速周邊元件互連匯流排上,並將該些伺服器耦接到該管理主機,其中該管理主機配置有一延伸記憶體位址,其中對應於每一該些伺服器的該管理主機的延伸記憶體位址通過該快速周邊元件互連匯流排的多個非透明橋分別映射到每一該些伺服器中的記憶體位址,其中每一該些伺服器配置有一延伸記憶體位址,其中每一該些伺服器的延伸記憶體位址通過該些非透明橋而映射到該管理主機的該記憶體的記憶體位址和該管理主機的延伸 記憶體位址,其中每一該些伺服器的延伸記憶體位址是對應於該些伺服器和該管理主機,其中該些伺服器之中的一第一伺服器經由對應於該管理主機的記憶體位址的該第一伺服器的延伸記憶體位址而存取該管理主機的記憶體位址中的一虛擬功能的一控制與狀態寄存器。
- 如申請專利範圍第10項所述的記憶體映射系統,其中所述虛擬功能經由對應於該第一伺服器的記憶體位址的該管理主機的延伸記憶體位址而存取該第一伺服器的記憶體位址中的該虛擬功能的一發送/接收緩衝器。
- 如申請專利範圍第10項所述的記憶體映射系統,其中該些伺服器之中一第一伺服器經由該管理主機的延伸記憶體位址而存取該些伺服器之中的一第二伺服器的記憶體位址。
- 如申請專利範圍第12項所述的記憶體映射系統,其中該第一伺服器經由對應於該第二伺服器的該第一伺服器的延伸記憶體位址而存取對應於該第二伺服器的該管理主機的延伸記憶體位址。
- 如申請專利範圍第13項所述的記憶體映射系統,其中該管理主機經由對應於該第二伺服器的該管理主機的延伸記憶體位址而存取該第二伺服器的記憶體位址。
- 如申請專利範圍第10項所述的記憶體映射系統,其中每一該些非透明橋包括兩個端點,且該兩個端點中的每一個包括多個基底位址寄存器。
- 如申請專利範圍第15項所述的記憶體映射系統,其中對應於每一該些伺服器的該管理主機的延伸記憶體位址僅通過該快速周邊元件互連匯流排的該些非透明橋的該些基底位址寄存器之中的一個基底位址寄存器而分別映射到每一該些伺服器的記憶體位址。
- 如申請專利範圍第15項所述的記憶體映射系統,其中每一該些伺服器的延伸記憶體位址通過該快速周邊元件互連匯流排的該些非透明橋的該些基底位址寄存器之中的單一個基底位址寄存器而映射到該管理主機的記憶體位址和延伸記憶體位址。
- 如申請專利範圍第10項所述的記憶體映射系統,其中該虛擬功能在該管理主機和該些伺服器上以一零複製方式操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410809034.5A CN105786398B (zh) | 2014-11-18 | 2014-12-23 | 存储器映射方法和存储器映射系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/543,906 US9734115B2 (en) | 2014-11-18 | 2014-11-18 | Memory mapping method and memory mapping system |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201619834A TW201619834A (zh) | 2016-06-01 |
TWI557570B true TWI557570B (zh) | 2016-11-11 |
Family
ID=55961826
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103142433A TWI557570B (zh) | 2014-11-18 | 2014-12-05 | 記憶體映射方法和記憶體映射系統 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9734115B2 (zh) |
TW (1) | TWI557570B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI597953B (zh) * | 2015-11-25 | 2017-09-01 | 財團法人工業技術研究院 | 具故障轉移能力的快速周邊元件互連網路系統與操作方法 |
US10523457B2 (en) | 2017-12-21 | 2019-12-31 | Industrial Technology Research Institute | Network communication method, system and controller of PCIe and Ethernet hybrid networks |
US10552332B2 (en) | 2018-05-10 | 2020-02-04 | Alibaba Group Holding Limited | Rapid side-channel access to storage devices |
TWI679861B (zh) | 2018-09-06 | 2019-12-11 | 財團法人工業技術研究院 | 控制器、調整封包通信規則的方法及網路通信系統 |
CN109889565A (zh) * | 2018-12-27 | 2019-06-14 | 曙光信息产业(北京)有限公司 | 一种服务器的互联系统 |
KR20210046348A (ko) * | 2019-10-18 | 2021-04-28 | 삼성전자주식회사 | 복수의 프로세서들에 유연하게 메모리를 할당하기 위한 메모리 시스템 및 그것의 동작 방법 |
US11106607B1 (en) * | 2020-03-31 | 2021-08-31 | Dell Products L.P. | NUMA-aware storage system |
TWI759772B (zh) * | 2020-06-19 | 2022-04-01 | 英業達股份有限公司 | 快速周邊組件互連資料傳輸控制系統 |
CN118056191A (zh) * | 2021-06-09 | 2024-05-17 | 安法布里卡公司 | 具有可配置传输的多平面、多协议存储器交换机构造 |
US11899593B2 (en) * | 2021-12-21 | 2024-02-13 | Intel Corporation | Method and apparatus for detecting ATS-based DMA attack |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110131373A1 (en) * | 2009-11-30 | 2011-06-02 | Pankaj Kumar | Mirroring Data Between Redundant Storage Controllers Of A Storage System |
CN101710314B (zh) * | 2009-11-17 | 2013-02-27 | 中兴通讯股份有限公司 | 高速外围部件互连交换控制器及其实现方法 |
TW201411358A (zh) * | 2012-09-10 | 2014-03-16 | Accusys Inc | 透過PCIe介面連接於一主機系統的儲存裝置和方法 |
TW201423422A (zh) * | 2012-12-07 | 2014-06-16 | Hon Hai Prec Ind Co Ltd | 具有PCIe介面的裝置共享系統及方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6253334B1 (en) * | 1997-05-13 | 2001-06-26 | Micron Electronics, Inc. | Three bus server architecture with a legacy PCI bus and mirrored I/O PCI buses |
US7676625B2 (en) | 2006-08-23 | 2010-03-09 | Sun Microsystems, Inc. | Cross-coupled peripheral component interconnect express switch |
TW201015336A (en) | 2008-10-03 | 2010-04-16 | Accusys Technology Ltd | Shared-storage bus switch |
US8463934B2 (en) | 2009-11-05 | 2013-06-11 | Rj Intellectual Properties, Llc | Unified system area network and switch |
US8521941B2 (en) * | 2010-12-28 | 2013-08-27 | Plx Technology, Inc. | Multi-root sharing of single-root input/output virtualization |
US9678863B2 (en) * | 2012-06-12 | 2017-06-13 | Sandisk Technologies, Llc | Hybrid checkpointed memory |
US8995302B1 (en) * | 2013-01-16 | 2015-03-31 | Pmc-Sierra Us, Inc. | Method and apparatus for translated routing in an interconnect switch |
US9648081B2 (en) * | 2014-04-10 | 2017-05-09 | Mellanox Technologies, Ltd. | Network-attached memory |
-
2014
- 2014-11-18 US US14/543,906 patent/US9734115B2/en active Active
- 2014-12-05 TW TW103142433A patent/TWI557570B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101710314B (zh) * | 2009-11-17 | 2013-02-27 | 中兴通讯股份有限公司 | 高速外围部件互连交换控制器及其实现方法 |
US20110131373A1 (en) * | 2009-11-30 | 2011-06-02 | Pankaj Kumar | Mirroring Data Between Redundant Storage Controllers Of A Storage System |
TW201411358A (zh) * | 2012-09-10 | 2014-03-16 | Accusys Inc | 透過PCIe介面連接於一主機系統的儲存裝置和方法 |
TW201423422A (zh) * | 2012-12-07 | 2014-06-16 | Hon Hai Prec Ind Co Ltd | 具有PCIe介面的裝置共享系統及方法 |
Also Published As
Publication number | Publication date |
---|---|
US20160140074A1 (en) | 2016-05-19 |
US9734115B2 (en) | 2017-08-15 |
TW201619834A (zh) | 2016-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI557570B (zh) | 記憶體映射方法和記憶體映射系統 | |
US9870154B2 (en) | Network storage system using flash storage | |
US8949486B1 (en) | Direct memory access to storage devices | |
US20180157614A1 (en) | SCALABLE DIRECT INTER-NODE COMMUNICATION OVER PERIPHERAL COMPONENT INTERCONNECT-EXPRESS (PCIe) | |
JP5735883B2 (ja) | ローカル・アダプタの読み取り操作により操作の完了が確認されるまで操作の肯定応答を遅延させる方法 | |
CN110941576B (zh) | 具有多模pcie功能的存储控制器的系统、方法和设备 | |
US7783822B2 (en) | Systems and methods for improving performance of a routable fabric | |
US20110060859A1 (en) | Host-to-host software-based virtual system | |
US9652182B2 (en) | Shareable virtual non-volatile storage device for a server | |
US20130346666A1 (en) | Tunneling platform management messages through inter-processor interconnects | |
US10162780B2 (en) | PCI express switch and computer system using the same | |
US20150169487A1 (en) | Switch with synthetic device capability | |
JP2021530813A (ja) | 専用低レイテンシリンクを使用した複数のハードウェアアクセラレータのための統合されたアドレス空間 | |
WO2015034587A1 (en) | Universal pci express port | |
JP5469081B2 (ja) | 制御パス入出力仮想化方法 | |
US11983136B2 (en) | PCIe device and operating method thereof | |
US20220327228A1 (en) | PCIe FUNCTION AND OPERATING METHOD THEREOF | |
US9753883B2 (en) | Network interface device that maps host bus writes of configuration information for virtual NIDs into a small transactional memory | |
Sharma et al. | An introduction to the compute express link (cxl) interconnect | |
CN107209725A (zh) | 处理写请求的方法、处理器和计算机 | |
CN105786398B (zh) | 存储器映射方法和存储器映射系统 | |
US8521895B2 (en) | Management of application to application communication requests between data processing systems | |
US20140310430A1 (en) | Tunneling Transaction Packets | |
Tu et al. | Seamless fail-over for PCIe switched networks | |
US9535851B2 (en) | Transactional memory that performs a programmable address translation if a DAT bit in a transactional memory write command is set |