TW201502972A - 共享記憶體系統 - Google Patents
共享記憶體系統 Download PDFInfo
- Publication number
- TW201502972A TW201502972A TW103105495A TW103105495A TW201502972A TW 201502972 A TW201502972 A TW 201502972A TW 103105495 A TW103105495 A TW 103105495A TW 103105495 A TW103105495 A TW 103105495A TW 201502972 A TW201502972 A TW 201502972A
- Authority
- TW
- Taiwan
- Prior art keywords
- memory address
- data
- memory device
- external memory
- external
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
- G06F12/0692—Multiconfiguration, e.g. local and global addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0284—Multiple user address space allocation, e.g. using different base addresses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1036—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1072—Decentralised address translation, e.g. in distributed shared memory systems
-
- 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/0662—Virtualisation aspects
- G06F3/0664—Virtualisation aspects at device level, e.g. emulation of a storage device or system
-
- 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
Abstract
本文說明一種用以將資料從一第一計算裝置之一局部記憶體裝置送至一第二計算裝置之一外部記憶體裝置的方法。於一範例中,一種方法包括組配該局部記憶體裝置以儲存該外部記憶體裝置之資料並檢測來自該外部記憶體裝置之一資料請求。該方法亦包括將對應於該請求資料之一記憶體位址從一外部記憶體位址轉譯至一局部記憶體位址。此外,該方法包括根據該局部記憶體位址來擷取該請求資料並將該請求資料送出至該第二計算裝置。
Description
本發明係有關於共享記憶體系統。
現代計算系統可執行可使用不同數量的資源,諸如處理器執行時間與記憶體消耗、等等之大範圍的軟體應用程式。例如,某些軟體應用程式可執行造成使用大量處理器執行時間之複雜操作。其他範例中,某些軟體應用程式可為記憶體密集而因此該軟體應用程式執行期間會使用一大量記憶體來儲存結果。某些實施例中,軟體應用程式可儲存多個計算裝置間之資料。
依據本發明之一實施例,係特地提出一種用以將資料從一第一計算裝置之一局部記憶體裝置送至一第二計算裝置之一外部記憶體裝置的方法,其包含下列步驟:組配該局部記憶體裝置以儲存該外部記憶體裝置之資料;檢測來自該外部記憶體裝置之一資料請求;將對應於該請求資料之一記憶體位址從一外部記憶體位址轉譯至一局部記憶體位址;根據該局部記憶體位址來擷取該請求資料;以及將該請求資料送出至該第二計算裝置。
100‧‧‧計算系統
102、502‧‧‧處理器
104‧‧‧系統匯流排
106‧‧‧輸入/輸出裝置介面
108‧‧‧輸入/輸出裝置
110‧‧‧顯示器裝置介面
112‧‧‧顯示器裝置
114‧‧‧網路介面卡
116‧‧‧記憶體裝置
118‧‧‧記憶體控制器
120、506‧‧‧資料轉譯模組
122‧‧‧外部記憶體裝置
124‧‧‧第二計算裝置
125‧‧‧第二記憶體控制器
126‧‧‧系統連接
128‧‧‧第二資料轉譯模組
200、400‧‧‧方法
202、204、206、208、402、404、406、408、410、412、414、416、
418‧‧‧方塊
300‧‧‧組態表
302、304‧‧‧直行
306、308‧‧‧橫列
500‧‧‧有形、非暫態、電腦可讀媒體
504‧‧‧電腦匯流排
下列詳細說明中並參照該等圖式來描述某些範例,其中:圖1是可共享一局部記憶體裝置與一外部記憶體裝置間之資料的一示範計算系統之方塊圖;圖2是一繪示用以共享一局部記憶體裝置與一外部記憶體裝置間之資料的一方法之一範例的程序流程圖;圖3是一可用來在一局部記憶體裝置之一記憶體位址空間與一外部記憶體裝置之一記憶體位址空間中轉譯之一組態表的範例;圖4是一繪示用以從一外部記憶體裝置請求資料之一方法的一範例之程序流程圖;圖5是一描繪可共享一局部記憶體裝置與一外部記憶體裝置間之資料的一有形、非暫態、電腦可讀媒體之一範例的方塊圖。
根據本文說明之標的的實施例,一計算系統可使用兩個分開的記憶體空間來共享一局部記憶體裝置與一外部記憶體裝置間之資料。某些實施例中,一局部記憶體裝置常駐於一第一計算系統中,而一外部記憶體裝置常駐於一第二計算系統中。該局部記憶體裝置與該外部記憶體裝置兩者可使用記憶體位址空間透過一記憶體控制器來儲存從一處理器可存取之資料。如本文參照之一記憶體位址空
間,包括任何適當的離散記憶體位址範圍,其中每一離散記憶體位址可對應於儲存於任何適當的計算裝置中之資料。某些範例中,一離散記憶體位址可對應一硬碟、固態驅動機、一網路主機、一周邊儲存裝置之一扇區、或DRAM、PCM、STT_MRAM、或ReRAM記憶體中之一快取記憶體線路、等等。某些實施例中,一計算系統可藉由將對應於一局部記憶體裝置之一局部記憶體位址空間轉譯為對應於一外部記憶體裝置之一外部記憶體位址空間來擷取儲存於一外部記憶體裝置之資料。
圖1是一可共享一局部記憶體裝置與一外部記憶體裝置間之資料的一計算系統100之一範例的方塊圖。該計算系統100可包括,例如,一伺服器電腦、一行動電話、膝上型電腦、桌上型電腦、或平板電腦、等等。該計算系統100可包括配適成執行儲存指令之一處理器102。該處理器102可為一單核心處理器、一多核心處理器、一計算叢集、或任何數量的其他適當組態。
該處理器102可透過一系統匯流排104(例如,AMBA、PCI®、快速PCI®、超傳送標準(Hyper Transport)®、序列ATA、等等)連接至配適成將該計算系統100連接至一或更多I/O裝置108之一輸入/輸出(I/O)裝置介面106。該I/O裝置108可包括,例如,一鍵盤與一指向裝置,其中該指向裝置可包括一觸控板或一觸控螢幕、等等。該I/O裝置108可為該計算系統100之內建構件、或可為外部連接至該計算系統100的裝置。
該處理器102亦可透過該系統匯流排104鏈接至配適成將該計算系統100連接至一顯示器裝置112之一顯示器裝置介面110。該顯示器裝置112可包括該計算系統100之一內建構件的一顯示螢幕。該顯示器裝置112亦可包括外部連接至該計算系統100之一電腦螢幕、電視、或投影機、等等。此外,該處理器102亦可透過該系統匯流排104鏈接至一網路介面卡(NIC)114。該NIC 114可配適成透過該系統匯流排104將該計算系統100連接至一網路(未描繪)。該網路(未描繪)可為一廣域網路(WAN)、區域網路(LAN)、或網際網路、等等。
該處理器102亦可透過該系統匯流排104鏈接至一記憶體裝置116。某些實施例中,該記憶體裝置116可包括隨機存取記憶體(例如,SRAM、DRAM、eDRAM、EDO RAM、DDR RAM、RRAM®、PRAM、等等)、唯讀記憶體(例如,遮罩ROM、EPROM、EEPROM、等等)、非依電性記憶體(PCM、STT_MRAM、ReRAM、憶阻器)、或任何其他適當的記憶體系統。某些範例中,該記憶體裝置116可包括任何適當數量的記憶體位址,其每一位址對應於任何適當數量的資料值。某些實施例中,與該記憶體裝置116相關聯之記憶體位址對應於一局部記憶體位址空間。例如,該局部記憶體位址空間可包括對應於儲存於該記憶體裝置116中之資料的任何適當數量之明確記憶體位址。
某些實施例中,該記憶體裝置116可透過一記憶體控制器118由該處理器102存取。該記憶體控制器118可包
括使一處理器102能夠從該記憶體裝置116讀取資料以及將資料寫入該記憶體裝置116之邏輯。
該處理器亦可透過該系統匯流排104鏈接至一資料轉譯模組120。某些實施例中,該資料轉譯模組120可整合至該記憶體控制器118。某些實施例中,該資料轉譯模組120可透過一第二記憶體控制器125與一系統連接126(例如,乙太網路、PCI®、快速PCI®、超傳送標準(Hyper Transport)®、序列ATA、訊息通過介面、等等)來檢測來自一第二計算裝置124中之一外部記憶體裝置122的一資料請求。該外部記憶體裝置122可包括隨機存取記憶體(例如,SRAM、DRAM、eDRAM、EDO RAM、DDR RAM、RRAM®、PRAM、等等)、唯讀記憶體(例如,遮罩ROM、EPROM、EEPROM、等等)、非依電性記憶體、或任何其他適當的記憶體系統。某些實施例中,該外部記憶體裝置122可包括該第二記憶體控制器125。某些實施例中,每一記憶體裝置,諸如該記憶體裝置116與該外部記憶體裝置122,可使用一唯一的記憶體位址空間來儲存資料。例如,該外部記憶體裝置122可藉由將儲存資料與一外部記憶體位址空間中之記憶體位址相關聯來存取該儲存資料。同樣地,該記憶體裝置116可藉由將儲存資料與該局部記憶體位址空間中之記憶體位址相關聯來存取該儲存資料。
某些實施例中,該第二計算裝置124亦可包括可儲存該外部記憶體裝置122之資料的一第二資料轉譯模組128。該第二資料轉譯模組128可從該外部記憶體裝置122定
期擷取該計算裝置100中之資料轉譯模組120請求之資料。該第二資料轉譯模組128亦可將從該外部記憶體裝置122擷取的請求資料送至該計算裝置100中之資料轉譯模組120。某些實施例中,該資料轉譯模組120可將與來自該外部記憶體位址空間之請求資料相關聯的一記憶體位址轉譯為一局部記憶體位址空間。該資料轉譯模組120之後可將該請求資料提供至使用與該局部記憶體位址空間相關聯之記憶體位址的任何請求的操作系統、應用程式、或硬體構件。
應了解圖1之方塊圖並不意欲指出該計算系統100包括圖1所示之所有構件。而是,該計算系統100可包括較少或圖1未繪示之額外構件(例如,額外的記憶體裝置、視訊卡、額外的網路介面、等等)。此外,該資料轉譯模組120之任何功能可以諸如該處理器102之任何適當的硬體構件來部分地、或全部地執行。例如,該功能可使用於該處理器102中執行之邏輯、一記憶體裝置116中、一記憶體控制器中、或一周邊裝置之一共同處理器中、等等之一特殊應用積體電路來執行。
圖2是一繪示用以共享一局部記憶體裝置與一外部記憶體裝置間之資料的一方法之一範例的程序流程圖。該方法200可使用任何適當的計算裝置,諸如圖1之計算系統100來執行。
方塊202中,一第一計算裝置之該資料轉譯模組120可組配該局部記憶體裝置來儲存該外部記憶體裝置之資料。某些實施例中,組態可包括配置該局部記憶體裝置
之任何適當部分來儲存該外部記憶體裝置的資料。例如,該資料轉譯模組120可使用任何適當的配置技術,諸如動態記憶體配置或靜態記憶體配置,來配置該局部記憶體裝置之一部分以儲存一外部儲存裝置的資料。某些範例中,具有該局部記憶體裝置之計算裝置的處理器無法檢測配置到一遠端節點或一第二計算系統之記憶體存在。某些範例中,諸如該開機程序之一計算裝置啟動期間,該資料轉譯模組120可管理該局部記憶體裝置中之記憶體空間的配置。某些範例中,該資料轉譯模組120亦可動態管理該局部記憶體裝置中之記憶體空間的配置。例如,該資料轉譯模組120可用以響應一軟體應用程式之終止而針對外部資料儲存以重新配置一局部記憶體裝置中之不同記憶體數量。
方塊204中,該資料轉譯模組120可檢測來自一外部資料轉譯模組之一資料請求。某些實施例中,來自一外部資料轉譯模組之資料請求可透過該資料轉譯模組120發送至該局部記憶體裝置。例如,該資料轉譯模組120可連接至任何適當的系統互連體,諸如一繪流排、乙太網路、infiniband高速匯流排標準、或PCIe、等等。一第二計算系統中之一外部資料轉譯模組用來擷取來自該局部記憶體裝置之資料時,該外部資料轉譯模組可透過該系統互連體來將一資料請求發送至該第一計算裝置之該資料轉譯模組120。
方塊206中,該資料轉譯模組120可將對應於該請求資料之一記憶體位址從一外部記憶體位址空間轉譯至一
局部記憶體位址空間。某些實施例中,該資料轉譯模組120可維持一組態表,其包括該局部記憶體位址空間中之一記憶體位址清單以及該外部記憶體位址空間中之一對應記憶體位址清單。該組態表可使該資料轉譯模組120將一記憶體位址從一第一記憶體位址空間轉譯至一第二記憶體位址空間。某些實施例中,該組態表可儲存於每一計算系統之一記憶體控制器中。諸如該計算系統啟動期間或一應用程式終止後、等等情境時,該組態表可被定期更新。該組態表將在下文中相關圖3來更詳細說明。
方塊208中,該資料轉譯模組120可根據來自該局部記憶體位址空間之一局部記憶體位址來擷取該請求資料。某些實施例中,該資料轉譯模組120可使用來自該組態表之局部記憶體位址來擷取從一外部記憶體裝置請求之資料。方塊210中,該資料轉譯模組120可將該擷取資料送至一第二計算系統之一外部資料轉譯模組。某些實施例中,該資料轉譯模組120可使用任何適當的通訊協定,諸如TCP/IP、或一訊息通過介面、等等,將該擷取資料發送至該外部記憶體裝置。根據該特定的應用,圖2之程序流程圖可包括該方法200中之任何數量的額外步驟。
圖3是一可用來在一局部記憶體裝置之一記憶體位址空間與一外部記憶體裝置之一記憶體位址空間中轉譯之一組態表的範例。如上所述,該組態表300可使用任何適當的計算系統,諸如圖1之計算系統100、等等中的一資料轉譯模組120來執行。
該組態表300可包括任何適當數量的直行302與304以及橫列306與308。某些實施例中,該等直行302與304可包括對應於相同資料值之分開的記憶體位址空間中之記憶體位址範圍。例如,一直行302或304可包括一局部記憶體位址空間或一外部記憶體位址空間中之任何數量的記憶體位址範圍。該組態表300之橫列306與308可包括對應一資料值之來自每一記憶體位址空間的一記憶體位址範圍。例如,該組態表300可包括對應任何數量的計算裝置之一資料方塊的記憶體位址範圍。
某些實施例中,該組態表300可包括兩個直行302與304,其中每一直行302或304包括一計算裝置之一特定記憶體位址空間的記憶體位址範圍。例如,該組態表300之橫列306或308的每一記憶體位址範圍對應於相同資料方塊。該示範組態表300中,該等記憶體位址範圍0x0001:0064 310與0x012D:0190 312可為對應於一局部記憶體位址空間之資料值的記憶體位址範圍。該記憶體位址範圍0x01F5:0258 314可為對應於一外部記憶體位址空間之資料值的一記憶體位址範圍。某些範例中,每一資料值可對應一局部記憶體位址以及多個、外部記憶體位址。
圖4是一繪示用以從一外部記憶體裝置請求資料之一示範方法的程序流程圖。該方法400可於任何適當的計算系統,諸如圖1之計算系統100中執行。
方塊402中,該資料轉譯模組120可產生一配置請求。如本文所參照之一配置請求可指導一第二計算系統來
配置一第一記憶體裝置之記憶體。例如,該配置請求可從一第一計算裝置指出可儲存於一第二計算裝置之任何適當的資料量。某些實施例中,該第二計算裝置可使用任何適當的技術來配置該第二計算裝置之一記憶體裝置中的資料。
方塊404中,該資料轉譯模組120可檢測一資料請求。某些實施例中,該資料請求可由一操作系統、一軟體應用程式、或一硬體構件、等等來產生。方塊406中,該資料轉譯模組120可決定該請求資料是否常駐於一局部記憶體裝置或一外部記憶體裝置。例如,該資料轉譯模組120可檢測該請求資料是否具有對應於一局部記憶體裝置或一外部記憶體裝置之一記憶體位址。某些實施例中,該資料轉譯模組120可將對應於該請求資料之記憶體位址從一局部記憶體位址空間轉譯至一外部記憶體位址空間。若該請求資料常駐於一外部記憶體裝置,則該程序流程繼續方塊408。若該請求資料常駐於一局部記憶體裝置,則該程序流程繼續方塊410。
方塊408中,該資料轉譯模組120可將一資料請求送至包括一外部記憶體裝置之一第二計算系統。如上所述,該外部記憶體裝置可將資料局部儲存於該第二計算裝置中並針對一第一計算裝置來外部地儲存資料。某些實施例中,該資料請求包括對應於該外部記憶體位址空間之任何適當的記憶體位址數量。
方塊412中,該資料轉譯模組120可從該第二計算
系統之外部記憶體裝置接收該請求資料。某些實施例中,該資料轉譯模組120可用以響應該資料請求而接收任何適當的資料值數量。某些範例中,該接收資料可具有對應於該外部記憶體位址空間之記憶體位址。
方塊414中,該資料轉譯模組120可將該外部記憶體位址轉譯為局部記憶體位址。例如,該資料轉譯模組120可使用一組態表來將來自該外部記憶體位址空間之記憶體位址轉譯為來自該局部記憶體位址空間之記憶體位址。某些範例中,方塊406中該資料轉譯模組120可藉由將該記憶體位址從一外部記憶體位址空間轉譯為一局部記憶體位址空間來將該記憶體位址之轉譯反向。
方塊416中,該資料轉譯模組120可根據來自該局部記憶體位址空間之記憶體位址來轉回該請求資料。該資料轉譯模組120可將該請求資料轉回至任何適當的請求器,諸如一操作系統、應用程式、或硬體構件、等等。方塊418中該程序流程結束。
方塊406中若該請求資料常駐於一局部記憶體裝置,則該程序流程繼續方塊410。方塊410中,該資料轉譯模組120使用該局部記憶體位址空間來從一局部記憶體裝置擷取該請求資料。方塊418中該程序流程結束。
圖4之程序流程圖並不意欲指出該方法400之操作需以任何特定順序來執行,或者該方法400之所有操作需包括在每一種情況中。此外,根據該特定的應用,任何數量的額外步驟可包括在該方法400中。
圖5是一顯示可使用反射記憶體於一計算裝置中實行同調之一有形、非暫態、電腦可讀媒體500的方塊圖。該有形、非暫態、電腦可讀媒體500可於一電腦匯流排504上由一處理器502來存取。再者,該有形、非暫態、電腦可讀媒體500可包括電腦可執行指令來導引該處理器502執行該目前方法的步驟。
如圖5中指出,本文討論之各種不同軟體構件可儲存於該有形、非暫態、電腦可讀媒體500中。例如,一資料轉譯模組506可將一記憶體位址從一局部記憶體位址空間轉譯為一外部記憶體位址空間,並使用該外部記憶體位址來請求儲存於一外部記憶體裝置之資料。應了解根據該特定應用,圖5未顯示之任何數量的額外軟體構件亦可包括在該有形、非暫態、電腦可讀媒體500中。
該等目前範例對各種不同修改與替代型式相當敏感且僅為了舉例解說目的來顯示。再者,應了解本技術並不意欲侷限在本文揭示之特定範例中。實際上,對有關本揭示標的之業界熟於此技者而言,很明顯地該等後附請求項之範疇可視為包括所有替代項目、修改、與等效元件。
100‧‧‧計算系統
102‧‧‧處理器
104‧‧‧系統匯流排
106‧‧‧輸入/輸出裝置介面
108‧‧‧輸入/輸出裝置
110‧‧‧顯示器裝置介面
112‧‧‧顯示器裝置
114‧‧‧網路介面卡
116‧‧‧記憶體裝置
118‧‧‧記憶體控制器
120‧‧‧資料轉譯模組
122‧‧‧外部記憶體裝置
124‧‧‧第二計算裝置
125‧‧‧第二記憶體控制器
126‧‧‧系統連接
128‧‧‧第二資料轉譯模組
Claims (15)
- 一種用以將資料從一第一計算裝置之一局部記憶體裝置送至一第二計算裝置之一外部記憶體裝置的方法,其包含下列步驟:組配該局部記憶體裝置以儲存該外部記憶體裝置之資料;檢測來自該外部記憶體裝置之一資料請求;將對應於該請求資料之一記憶體位址從一外部記憶體位址轉譯至一局部記憶體位址;根據該局部記憶體位址來擷取該請求資料;以及將該請求資料送出至該第二計算裝置。
- 如請求項1之方法,其中組配該局部記憶體裝置以儲存該外部記憶體裝置之資料包含針對該外部記憶體裝置之資料儲存來配置該局部記憶體裝置之一部分。
- 如請求項1之方法,其中檢測來自該外部記憶體裝置之一資料請求包含搜尋一組態表來決定該請求資料是否常駐於該局部記憶體裝置或該外部記憶體裝置。
- 如請求項1之方法,其中該請求資料於該局部記憶體位址空間具有一記憶體位址以及於該外部記憶體位址空間具有一分開的記憶體位址。
- 如請求項3之方法,其中該組態表包含來自該外部記憶體位址空間之一記憶體位址清單以及來自該局部記憶體位址空間之一記憶體位址清單。
- 如請求項5之方法,其中該組態表包含來自對應於至少兩個計算裝置之至少兩個外部記憶體位址空間的一記憶體位址清單。
- 如請求項1之方法,其中該外部記憶體位址空間包含一分散的記憶體位址範圍,其中每一分散的記憶體位址對應於儲存於一計算裝置中之資料。
- 一種用以從一外部記憶體裝置擷取資料之系統,包含有:一資料轉譯模組,其將一記憶體位址從一外部記憶體位址空間轉譯至一局部記憶體位址空間;一用以儲存資料之局部記憶體裝置;以及一用以執行下列步驟之處理器:檢測該局部記憶體裝置中之一資料請求;決定該請求資料常駐於該外部記憶體裝置;將該資料請求送至該外部記憶體裝置;從該外部記憶體裝置接收該請求資料;將對應於該請求資料之一記憶體位址從該外部記憶體位址空間轉譯至該局部記憶體位址空間;以及將具有該轉譯記憶體位址之該請求資料轉回至一請求器。
- 如請求項8之系統,其中該請求器包含一應用程式、一操作系統、以及一硬體構件的其中之一。
- 如請求項8之系統,其中該資料轉譯模組包含一組態 表,其中該組態表包含來自該外部記憶體位址空間之一記憶體位址清單以及來自該局部記憶體位址空間之一記憶體位址清單。
- 如請求項10之系統,其中該組態表包含來自對應於至少兩個計算裝置之至少兩個外部記憶體位址空間的一記憶體位址清單。
- 一種包含多個指令之非暫態、電腦可讀媒體,該等指令用以響應於一計算裝置中執行時,可使該計算裝置來執行下列步驟:於一局部記憶體裝置中檢測一資料請求;決定該請求資料常駐於該外部記憶體裝置;將該資料請求送至該外部記憶體裝置;從該外部記憶體裝置接收該請求資料;將對應於該請求資料之一記憶體位址從該外部記憶體位址空間轉譯至該局部記憶體位址空間;以及將具有該轉譯記憶體位址之該請求資料轉回至一請求器。
- 如請求項12之電腦可讀媒體,其中該請求器包含一應用程式、一操作系統、以及一硬體構件的其中之一。
- 如請求項12之電腦可讀媒體包含多個指令,該等指令用以響應於一計算裝置中執行時,可使該計算裝置來產生一組態表,其中該組態表包含來自該外部記憶體位址空間之一記憶體位址清單以及來自該局部記憶體位址空間之一記憶體位址清單。
- 如請求項12之電腦可讀媒體,其中該請求資料於該局部記憶體位址空間具有一記憶體位址以及於該外部記憶體位址空間具有一分開的記憶體位址。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2013/034491 WO2014158177A1 (en) | 2013-03-28 | 2013-03-28 | Shared memory system |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201502972A true TW201502972A (zh) | 2015-01-16 |
TWI505183B TWI505183B (zh) | 2015-10-21 |
Family
ID=51624959
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103105495A TWI505183B (zh) | 2013-03-28 | 2014-02-19 | 共享記憶體系統 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20160034392A1 (zh) |
EP (1) | EP2979193B1 (zh) |
JP (1) | JP2016522915A (zh) |
KR (1) | KR20150136075A (zh) |
CN (1) | CN105190576A (zh) |
TW (1) | TWI505183B (zh) |
WO (1) | WO2014158177A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9906459B2 (en) | 2013-01-27 | 2018-02-27 | Hewlett Packard Enterprise Development Lp | Socket state transfer |
EP3084622A4 (en) * | 2013-12-20 | 2018-02-28 | Intel Corporation | Execution offloading |
US10671460B2 (en) * | 2018-02-05 | 2020-06-02 | Micron Technology, Inc. | Memory access communications through message passing interface implemented in memory systems |
CN109947671B (zh) * | 2019-03-05 | 2021-12-03 | 龙芯中科技术股份有限公司 | 一种地址转换方法、装置、电子设备及储存介质 |
CN113064724A (zh) * | 2021-03-26 | 2021-07-02 | 华控清交信息科技(北京)有限公司 | 一种内存分配管理方法、装置和用于内存分配管理的装置 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6087946A (ja) * | 1983-10-20 | 1985-05-17 | Oooka Tankoushiyo:Kk | 自動車のトランスミツシヨン用クラツチギヤの加工方法 |
US6295571B1 (en) * | 1999-03-19 | 2001-09-25 | Times N Systems, Inc. | Shared memory apparatus and method for multiprocessor systems |
CN1282925A (zh) * | 1999-07-12 | 2001-02-07 | 松下电器产业株式会社 | 数据处理装置 |
EP1396790A3 (en) * | 2002-09-04 | 2008-02-27 | Cray Inc. | Remote translation mechanism of a virtual address from a source a node in a multi-node system |
US7529906B2 (en) * | 2003-08-18 | 2009-05-05 | Cray Incorporated | Sharing memory within an application using scalable hardware resources |
US7685319B2 (en) * | 2004-09-28 | 2010-03-23 | Cray Canada Corporation | Low latency communication via memory windows |
US7970980B2 (en) * | 2004-12-15 | 2011-06-28 | International Business Machines Corporation | Method and apparatus for accessing memory in a computer system architecture supporting heterogeneous configurations of memory structures |
US8667249B2 (en) * | 2004-12-22 | 2014-03-04 | Intel Corporation | Systems and methods exchanging data between processors through concurrent shared memory |
US20080082622A1 (en) * | 2006-09-29 | 2008-04-03 | Broadcom Corporation | Communication in a cluster system |
US7631150B2 (en) * | 2006-09-29 | 2009-12-08 | Broadcom Corporation | Memory management in a shared memory system |
US7636816B2 (en) * | 2006-09-29 | 2009-12-22 | Broadcom Corporation | Global address space management |
US20090089537A1 (en) * | 2007-09-28 | 2009-04-02 | Sun Microsystems, Inc. | Apparatus and method for memory address translation across multiple nodes |
US7827336B2 (en) * | 2008-11-10 | 2010-11-02 | Freescale Semiconductor, Inc. | Technique for interconnecting integrated circuits |
US20100191911A1 (en) * | 2008-12-23 | 2010-07-29 | Marco Heddes | System-On-A-Chip Having an Array of Programmable Processing Elements Linked By an On-Chip Network with Distributed On-Chip Shared Memory and External Shared Memory |
US7895380B2 (en) * | 2009-01-21 | 2011-02-22 | Ati Technologies Ulc | Communication protocol for sharing memory resources between components of a device |
US8719547B2 (en) * | 2009-09-18 | 2014-05-06 | Intel Corporation | Providing hardware support for shared virtual memory between local and remote physical memory |
KR101039782B1 (ko) * | 2009-11-26 | 2011-06-09 | 한양대학교 산학협력단 | 능동 메모리 프로세서를 포함하는 네트워크-온-칩 시스템 |
-
2013
- 2013-03-28 EP EP13879854.1A patent/EP2979193B1/en active Active
- 2013-03-28 KR KR1020157026674A patent/KR20150136075A/ko not_active Application Discontinuation
- 2013-03-28 WO PCT/US2013/034491 patent/WO2014158177A1/en active Application Filing
- 2013-03-28 JP JP2016504284A patent/JP2016522915A/ja active Pending
- 2013-03-28 CN CN201380074464.0A patent/CN105190576A/zh active Pending
- 2013-03-28 US US14/777,132 patent/US20160034392A1/en not_active Abandoned
-
2014
- 2014-02-19 TW TW103105495A patent/TWI505183B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
EP2979193A1 (en) | 2016-02-03 |
EP2979193B1 (en) | 2021-04-28 |
EP2979193A4 (en) | 2016-11-16 |
JP2016522915A (ja) | 2016-08-04 |
KR20150136075A (ko) | 2015-12-04 |
TWI505183B (zh) | 2015-10-21 |
WO2014158177A1 (en) | 2014-10-02 |
US20160034392A1 (en) | 2016-02-04 |
CN105190576A (zh) | 2015-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105993009B (zh) | 通过非透明桥向PCIe集群中的计算资源传送MSI-X中断的方法和装置 | |
TWI505183B (zh) | 共享記憶體系統 | |
JP5841255B2 (ja) | 仮想化入力/出力のためのプロセッサローカルコヒーレンシを有するコンピュータシステム | |
US10824574B2 (en) | Multi-port storage device multi-socket memory access system | |
CA2983479A1 (en) | Method for accessing extended memory, device, and system | |
JP6514329B2 (ja) | メモリアクセス方法、スイッチ、およびマルチプロセッサシステム | |
US10338813B2 (en) | Storage controller and using method therefor | |
JP7449063B2 (ja) | メモリシステム及びメモリシステムの動作方法 | |
WO2016065611A1 (zh) | 访问文件的方法、系统和主机 | |
JP2018518777A5 (zh) | ||
US11157191B2 (en) | Intra-device notational data movement system | |
JP2018501559A5 (zh) | ||
WO2014190700A1 (zh) | 一种内存访问的方法、缓冲调度器和内存模块 | |
US20120191896A1 (en) | Circuitry to select, at least in part, at least one memory | |
US20190377671A1 (en) | Memory controller with memory resource memory management | |
US11334496B2 (en) | Method and system for providing processor-addressable persistent memory to guest operating systems in a storage system | |
US20210117114A1 (en) | Memory system for flexibly allocating memory for multiple processors and operating method thereof | |
US10936219B2 (en) | Controller-based inter-device notational data movement system | |
JP2020113256A (ja) | メモリシステム及びデータ処理システム | |
US20190138218A1 (en) | Memory system and operating method thereof | |
WO2017084415A1 (zh) | 一种存储器切换方法、装置及计算机存储介质 | |
US11281612B2 (en) | Switch-based inter-device notational data movement system | |
US20200142632A1 (en) | Storage device including a memory controller and a method of operating an electronic system including memory | |
WO2016065612A1 (zh) | 访问文件的方法、系统和主机 | |
CN117171067A (zh) | 跨操作系统域的全局虚拟地址空间 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |