TWI624787B - 用於包括記憶體節點之分散式記憶體系統之裝置及方法 - Google Patents

用於包括記憶體節點之分散式記憶體系統之裝置及方法 Download PDF

Info

Publication number
TWI624787B
TWI624787B TW103106541A TW103106541A TWI624787B TW I624787 B TWI624787 B TW I624787B TW 103106541 A TW103106541 A TW 103106541A TW 103106541 A TW103106541 A TW 103106541A TW I624787 B TWI624787 B TW I624787B
Authority
TW
Taiwan
Prior art keywords
memory
node
nodes
message
information
Prior art date
Application number
TW103106541A
Other languages
English (en)
Other versions
TW201447744A (zh
Inventor
肯尼斯M 柯維茲
西恩S 艾樂
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 TW201447744A publication Critical patent/TW201447744A/zh
Application granted granted Critical
Publication of TWI624787B publication Critical patent/TWI624787B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)
  • Signal Processing (AREA)
  • Advance Control (AREA)

Abstract

本發明揭示用於包括記憶體節點之分散式記憶體系統之裝置及方法。一實例性裝置包括一處理器及耦合至該處理器之一記憶體系統。該記憶體系統經組態以自該處理器接收指令以存取由該記憶體系統儲存之資訊。該記憶體系統包括複數個記憶體節點,其中該複數個記憶體節點之各記憶體節點耦合至該複數個記憶體節點之至少一其他記憶體節點,且該複數個記憶體節點之各記憶體節點經組態以產生包括用於一操作之指令之一內部訊息,該內部訊息將被提供至該複數個記憶體節點之另一記憶體節點以執行該操作。

Description

用於包括記憶體節點之分散式記憶體系統之裝置及方法 [交叉參考]
本申請案主張2013年3月15日申請之美國非臨時申請案第13/842,984號之優先權,該申請案之全文以引用方式併入本文中以用於任何目的。
計算平台之處理能力隨著計算平台上之核心之數目及執行緒之數目增加而增加。處理能力之此增加引起強加於系統記憶體之要求之一對應增加。例如,對系統記憶體之讀取及寫入操作隨著核心及執行緒計數增加而增加。存在記憶體存取將變為計算平台之一實質效能瓶頸之一風險。例如,在傳統電腦架構中,至記憶體介面之CPU會成為(諸如)大量記憶體操作之一顯著瓶頸。即,由於CPU控制至記憶體系統、來自記憶體系統及記憶體系統內之每一處理以對由記憶體系統儲存之資訊執行操作,所以會產生一瓶頸。
在本發明之一實施例中,一種裝置包括一處理器及耦合至該處理器之一記憶體系統。該記憶體系統經組態以自該處理器接收指令以存取由該記憶體系統儲存之資訊。該記憶體系統包括複數個記憶體節點,其中該複數個記憶體節點之各記憶體節點耦合至該複數個記憶體節點之至少一其他記憶體節點,且該複數個記憶體節點之各記憶體節 點經組態以產生包括用於一操作之指令之一內部訊息。該內部訊息將被提供至該複數個記憶體節點之另一記憶體節點以執行該操作。
在本發明之另一實施例中,一種裝置包括經組態以將資訊儲存於一本端記憶體中之一第一記憶體節點,且進一步包括耦合至該第一記憶體節點且經組態以接收包括一第一指令之一第一訊息之一第二記憶體節點。該第二記憶體節點進一步經組態以產生包括未包括於該第一訊息中之一第二指令之一第二訊息且將該第二訊息提供至該第一記憶體節點。該第一記憶體節點進一步經組態以根據該第二指令執行一記憶體操作。
在本發明之另一實施例中,一種裝置包括通信地耦合在一起之複數個記憶體節點,其中該複數個記憶體節點之各記憶體節點包括一匯流排、耦合至該匯流排且經組態以儲存資訊之一本端記憶體、計算邏輯、一通信介面及一節點控制器。該計算邏輯耦合至該匯流排且經組態以對由該本端記憶體儲存之資訊執行計算操作。該通信介面耦合至該匯流排且經組態以提供與該記憶體節點之通信。該節點控制器耦合至該匯流排且經組態以提供控制該本端記憶體執行記憶體操作之指令,且經組態以提供控制該計算邏輯執行該等計算操作之指令。該節點控制器進一步經組態以產生包括待自該記憶體節點向外提供之提供至該通信介面之一指令之一訊息。
在本發明之另一實施例中,一種方法包括:在一記憶體系統之一第一記憶體節點處接收一外部訊息,該外部訊息包括用於執行一第一記憶體操作之一第一指令。回應於該第一指令,在該第一記憶體節點處產生包括用於一第二記憶體操作之一第二指令之一內部訊息。該外部訊息中不包括該第二指令。將該第二訊息提供至該記憶體系統之一第二記憶體節點,且回應於該第二訊息,在該第二記憶體節點處執行該第二記憶體操作。
在本發明之另一實施例中,一種方法包括:在一記憶體系統之一第一記憶體節點處接收一第一外部訊息。該第一外部訊息包括用於搜尋與一搜尋關鍵字相關之資訊之一第一指令。該第一記憶體節點之一本端記憶體經存取以搜尋與該搜尋關鍵字相關之資訊。在該第一記憶體節點處產生一第一內部訊息,該第一內部訊息包括用於搜尋與一搜尋關鍵字相關之資訊之一第二指令。將該第一內部訊息提供至該記憶體系統之一第二記憶體節點。回應於該第一內部訊息,該第二記憶體節點之一本端記憶體經存取以搜尋與該搜尋關鍵字相關之資訊。在該第一記憶體節點處產生一第二內部訊息,該第二內部訊息包括與該搜尋關鍵字相關之來自該第一記憶體節點之該本端記憶體之資訊,且將該第二內部訊息提供至該記憶體系統之一第三記憶體節點。在該第二記憶體節點處產生一第三內部訊息,該第三內部訊息包括與該搜尋關鍵字相關之來自該第二記憶體節點之該本端記憶體之資訊,且將該第三內部訊息提供至該記憶體系統之該第三記憶體節點。
100‧‧‧處理系統
110‧‧‧處理器
120‧‧‧記憶體
130‧‧‧本端記憶體匯流排
140‧‧‧記憶體系統
150‧‧‧記憶體匯流排
200‧‧‧記憶體系統
210(1)至210(N)‧‧‧記憶體節點
220‧‧‧通信網路
300‧‧‧記憶體節點
310‧‧‧本端記憶體
310(1)‧‧‧揮發性記憶體
310(2)‧‧‧非揮發性記憶體
320‧‧‧匯流排
330‧‧‧節點控制器
340‧‧‧通信介面
350‧‧‧計算邏輯
402‧‧‧箭頭
410‧‧‧箭頭
412‧‧‧箭頭
414‧‧‧箭頭
416‧‧‧箭頭
418‧‧‧箭頭
420‧‧‧箭頭
422‧‧‧箭頭
424‧‧‧箭頭
426‧‧‧箭頭
428‧‧‧箭頭
500‧‧‧資料結構
510‧‧‧資料子集
512‧‧‧指標
520‧‧‧資料子集
522‧‧‧指標
530‧‧‧資料子集
532‧‧‧指標
540‧‧‧資料子集
542‧‧‧指標
550‧‧‧資料子集
552‧‧‧指標
560‧‧‧資料子集
562‧‧‧指標
570‧‧‧資料子集
610‧‧‧步驟
614‧‧‧步驟
620‧‧‧步驟
624‧‧‧步驟
630‧‧‧步驟
634‧‧‧步驟
640‧‧‧步驟
644‧‧‧步驟
650‧‧‧步驟
654‧‧‧步驟
660‧‧‧步驟
664‧‧‧步驟
圖1係根據本發明之一實施例之包括一記憶體系統之一裝置之一方塊圖。
圖2係根據本發明之一實施例之一記憶體系統之一方塊圖。
圖3係根據本發明之一實施例之一記憶體節點之一方塊圖。
圖4係根據本發明之一實施例之一記憶體系統之一實例性操作之一方塊圖。
圖5係一連結資料結構之一圖式。
圖6係根據本發明之一實施例之一記憶體系統之一實例性操作之一流程圖。
某些細節在下文中經闡述以提供本發明之實施例之一充分理 解。然而,熟悉技術者將明白,可在無需此等特定細節之情況下實踐本發明之實施例。此外,本文所描述之本發明之特定實施例僅作為實例且不應用於將本發明之範疇限制於此等特定實施例。在其他例項中,未詳細展示熟知電路、控制信號、時序協定及軟體操作以避免不必要地使本發明不清楚。
圖1繪示根據本發明之一實施例之包括一處理系統100之一裝置。處理系統100包括透過一本端記憶體匯流排130耦合至一記憶體120之一處理器110。如本文所使用,「處理器」可係指中央處理單元CPU、圖形處理單元GPU、系統控制器、記憶體控制器等等。處理器110可表示一或多個處理器。處理器110可使用記憶體120來儲存資訊,例如可期望由處理器110快速存取之程式、指令及/或資料。處理系統100進一步包括一記憶體系統140,處理器110通過一記憶體匯流排150與記憶體系統140通信。記憶體系統140可用於儲存相對較大量之資訊,例如程式、指令及/或其他資訊之巨集。
可由處理器110存取由記憶體系統140儲存之資訊以提供由記憶體系統140接收之訊息。該等訊息可包括資訊,例如用於記憶體系統140之指令及/或資料。該等訊息可另外或替代地包括與來源記憶體節點、目的端記憶體及待執行之操作相關之資訊。記憶體系統140可根據包括於由處理器110提供之訊息中之指令而實施操作。回應於自處理器110接收之訊息,記憶體系統140可將訊息提供至處理器110。例如,記憶體系統140可自處理器110接收包括用於自記憶體系統140讀取資訊之指令之一訊息。回應於來自處理器110之該訊息,記憶體系統140可執行一讀取操作且將包括所讀取資訊之一訊息提供至處理器110。在另一實例中,記憶體系統140可自處理器110接收包括用於將資訊寫入至記憶體系統140之指令且進一步包括待寫入之資訊之一訊息。回應於來自處理器110之該訊息,記憶體系統140可執行一寫入操 作以將資訊寫入至記憶體。記憶體系統140可將包括寫入指令之一完成確認之一訊息提供至處理器110。亦可由記憶體系統140及處理器110接收及提供包括各種其他類型之指令、資料及/或其他資訊之訊息。
在一些實施例中,記憶體系統140可為或可包括含有複數個記憶體節點之一記憶體系統。該等記憶體節點可經組態以提供該等記憶體節點之間之資訊(例如指令、資料等等)以(例如)回應於自處理器110接收一訊息而實施一操作。記憶體系統140可表示具有透過一通信網路通信地耦合在一起之複數個記憶體節點之一分散式記憶體系統。就此等記憶體系統而言,可使用用於更高層級記憶體操作之指令。可在極少涉及至不涉及處理器110之情況下管理記憶體系統140之節點之間之此等操作。如所描述之一記憶體系統140之一優點可為減少通過記憶體匯流排150之記憶體系統140與處理器110之間之處理,其可被視為處理系統100之可操作性之一「瓶頸」。減少記憶體系統140與處理器110之間之處理可導致處理系統100之改良效能,此係因為處理器110可投入更少時間管理記憶體操作且處理器110會用更少時間來對由記憶體系統140提供資訊執行計算操作。
圖2繪示根據本發明之一實施例之一記憶體系統200。可在圖1之處理系統100之記憶體系統140中包括記憶體系統200。記憶體系統200包括複數個記憶體節點210(1)至210(N)。記憶體節點210(1)至210(N)可被通信地耦合在一起,使得一記憶體節點可與記憶體系統200之至少一其他記憶體節點通信。例如,一通信網路220可用於將記憶體節點210(1)至210(N)通信地耦合在一起。在一些實施例中,記憶體節點210(1)至210(N)可經組態以藉由通過通信網路220與另一記憶體節點210(1)至210(N)交換訊息(例如封包)而通信。可使用各種已知或後期開發之訊息傳送技術來實施在記憶體節點210(1)至210(N)之間交換訊 息。例如,記憶體節點210(1)能夠將封包提供至記憶體系統200之其他記憶體節點210(2)至210(N)之一者、若干者或任何者。以此方式,可在記憶體系統200之記憶體節點210之間有效率地提供及接收封包。儘管已參考封包而建立本文所描述之節點之間之通信,但應瞭解,可在不脫離本發明之範疇之情況下使用其他形式之訊息。
可透過有線及/或無線通信媒體通信地耦合記憶體節點210。記憶體節點210之間之通信可利用已知通信協定,例如傳輸控制協定/網際網路協定(TCP/IP)。當利用無線通信時,記憶體節點210包括適合於記憶體節點210之間之通信之無線通信電路。同樣地,當利用有線通信時,記憶體節點210包括適合於記憶體節點210之間之通信之有線通信電路。
可自記憶體系統200之外部(例如自處理器110)接收包括指令及/或資料之封包,如參考圖1所描述。將該等封包提供至基於指令及/或資料而執行操作之記憶體節點210(1)至210(N)之一或多者。例如,操作可包括一讀取操作、一寫入操作、關鍵字搜尋、增加及/或刪除一資料結構之資訊、更新一資料結構中之欄位等等。
如下文將進一步詳細描述,一記憶體節點210可包括用於儲存資訊(例如資料、指令等等)之本端記憶體,且可包括經組態以回應於其接收之封包而執行計算操作之邏輯及/或處理能力。計算操作之實例可包括布林(Boolean)邏輯運算、算術運算、比較運算及其他計算操作。一記憶體節點210可進一步包括經組態以控制本端記憶體之操作之邏輯及/或記憶體控制能力,且產生可提供至其他記憶體節點210或自記憶體系統200向外提供至(例如)處理器110之封包。由一記憶體節點210產生之該等封包可包括指令及/或資料,其可引起接收記憶體節點210基於該等指令及/或資料而執行操作。該等封包可進一步包括用於記憶體節點之來源資訊及目的端資訊。
如下文將進一步詳細描述,當一記憶體節點接收一封包時,該記憶體節點可對由該記憶體節點之本端記憶體儲存之資訊執行本端操作(例如記憶體操作、計算操作等等)。基於本端操作之結果,操作可被完成,或在某些例項中未完成。當操作需要該記憶體節點外之額外資訊及/或處理時,該記憶體節點可依賴用於額外資訊及/或處理之記憶體系統之另一記憶體節點。例如,該記憶體節點可判定下一操作或後續若干操作之一目的端記憶體節點,判定該下一操作或該等後續操作之來源,且產生可包括各種資訊(諸如與來源記憶體節點、目的端記憶體、操作及/或資料相關之資訊)之一或若干封包。將該封包自該記憶體節點提供至另一記憶體節點或其他若干記憶體節點。
可藉由在待通信之記憶體節點之間交換封包而減少記憶體系統200與一處理器110之間之處理,此係因為可基於包括於由記憶體系統200內之記憶體節點產生之封包中之指令及/或資訊而執行藉由記憶體節點210(1)至210(N)之操作,如先前所討論。如本文所描述,可由記憶體系統接收或由記憶體系統提供「外部」封包(其係「外部」訊息之實例),且可在記憶體節點之間提供「內部」封包(其係「內部」訊息之實例)。內部封包可相同或類似於外部封包。例如,內部封包及外部封包之格式可類似。在一些實施例中,內部封包可不同於外部封包,例如,內部封包可包括額外資訊以在記憶體節點之間通信,具有不同於外部封包之一格式,等等。
圖3繪示根據本發明之一實施例之一記憶體節點300。記憶體節點300包括耦合至一匯流排320之一本端記憶體310。匯流排320經組態以提供包括於記憶體節點300中之區塊之間之通信。本端記憶體310可包括不同類型之記憶體,例如,本端記憶體310可包括揮發性記憶體310(1)及非揮發性記憶體310(2)。本端記憶體310可經組態以儲存及提供與記憶體節點300相關聯之資訊。
耦合至匯流排320之一節點控制器330可經組態以控制記憶體節點300之操作。例如,節點控制器330可通過匯流排320提供指令以控制本端記憶體310執行各種記憶體操作,諸如自記憶體讀取資訊或將資訊儲存於記憶體中。節點控制器330可控制可經組態以對資訊(諸如儲存於本端記憶體310中及/或提供至記憶體節點300之資訊)執行計算之計算邏輯。節點控制器330可控制可經組態以提供與記憶體節點300之通信(諸如與另一記憶體節點及/或一處理器(例如處理器110)之通信)之一通信介面340。通信介面340進一步耦合至匯流排320,其亦允許與本端記憶體310之通信。記憶體節點300可經組態以通過包括用於此等通信之電路之有線及/或無線媒體而通信。例如,通信介面340可包括經組態以與其他記憶體節點有線通信之電路,且通信介面可替代地或另外包括經組態以與其他記憶體節點無線通信之電路。
如先前所討論,提供至一記憶體節點之封包可包括諸如指令及資料之資訊。回應於接收封包,節點控制器330可控制本端記憶體310及/或計算邏輯350執行記憶體操作及計算操作。例如,由記憶體節點300接收之一封包可包括用於執行一寫入操作之指令,且進一步包括待根據該寫入操作而儲存於本端記憶體310中之資訊。節點控制器330可產生控制信號以使本端記憶體310儲存包括於該封包內之該資訊。在其他實例中,由記憶體節點300接收之一封包可包括用於對由本端記憶體310儲存之資訊執行一計算操作之指令。節點控制器330可產生控制信號以使本端記憶體310及計算邏輯350存取儲存於本端記憶體310中之資訊且執行該計算操作。計算操作之實例可包括布林邏輯運算、算術運算、比較運算及其他計算操作。
如下文將進一步描述,節點控制器330可進一步經組態以產生可提供至其他記憶體節點之封包及可向外提供至包括記憶體節點300之一記憶體系統之封包。節點控制器330可判定該等封包之一目的端(例 如一或若干接收記憶體節點)。可基於(例如)資訊、記憶體操作或兩者之一組合而判定該目的端。由節點控制器330產生之該等封包可包括用於使其他記憶體節點執行操作之指令。該等封包可替代地或另外包括用於其他記憶體節點之資訊。因此,一記憶體節點可本端地判定該記憶體系統內部產生之一封包之一目的端節點,且所產生之封包可基於記憶體節點處之本端處理之結果。
在一記憶體系統(諸如記憶體系統200)中包括記憶體節點300可減少該記憶體系統之記憶體處理之數目。由處理器發出之指令有效轉至資訊(儲存於該記憶體系統中),而非使資訊到達處理器,其會將可觀操作負擔強加於處理器且使記憶體系統帶寬卻無法利用。由於具有可經組態以控制記憶體節點之間之內部操作之一記憶體系統且處理器介入較少,所以可改良一處理系統之操作效率。
圖4繪示根據本發明之一實施例之一記憶體系統之一實例性操作之一圖式。圖4之實例係相關於包括一記憶體請求之一封包之根據本發明之一實施例之一記憶體系統(例如圖2之記憶體系統200)之接收。該封包可自(例如)一處理器(諸如圖1之處理器110)接收,且將被稱為一「外部」封包。在圖4之實例中,該記憶體請求用於使該接收記憶體系統找到及提供與該外部封包中所識別之一「關鍵字」相關之資訊。
由記憶體節點210(1)接收外部封包以請求與關鍵字相關之資訊,如由圖4中之箭頭402所繪示。記憶體節點210(1)之一節點控制器可回應於外部封包而執行操作,例如存取儲存於本端記憶體中之資訊且判定與關鍵字相關之資訊是否存在於記憶體節點210(1)之本端記憶體內之操作。例如,記憶體節點210(1)之節點控制器可將記憶體命令提供至記憶體節點210(1)之本端記憶體以自本端記憶體提供所儲存之資訊以藉由計算邏輯之比較而判定滿足請求之任何資訊是否儲存於記憶體 節點210(1)之本端記憶體中,即,任何所儲存之資訊是否匹配關鍵字。
除由記憶體節點210(1)之節點控制器及計算邏輯執行之操作之外,記憶體節點210(1)(例如一「發送」記憶體節點)亦判定封包(例如「內部」封包)應被提供至記憶體系統200之其他記憶體節點(例如「接收」記憶體節點)。記憶體節點210(1)之節點控制器判定內部封包之接收節點,且如圖4中所展示,記憶體節點210(1)將內部封包提供至記憶體節點210(3)、210(5)及210(10)(如由圖4中之箭頭410、412及414所繪示)以繼續資訊之請求。
由記憶體節點210(1)提供之內部封包可包括用於請求資訊之指令以(例如)繼續搜尋匹配可由其他記憶體節點之本端記憶體儲存之關鍵字資訊。內部封包可替代地或另外包括資訊,例如在由發送記憶體節點執行之操作期間被識別為匹配關鍵字之資訊。由記憶體節點210(1)提供之內部封包可包括來自記憶體節點210(1)接收之外部封包(例如由箭頭402表示)之部分或全部資訊(例如指令、資料等等)。由記憶體節點210(1)提供之內部封包可包括未包括於記憶體節點210(1)接收之外部封包中之資訊。例如,內部封包可包括未包括於外部封包中之由記憶體節點210(1)之節點控制器及計算邏輯產生之資訊。該資訊可輔助接收記憶體節點執行操作以(例如)滿足與外部封包相關聯之資訊之請求。
自一發送記憶體節點接收一內部封包、回應於該內部封包而執行一操作、及/或由接收記憶體節點將一內部封包提供至另一記憶體節點(例如,「接收」記憶體節點變為一新「發送」記憶體節點)可在整個記憶體系統200中繼續。例如,回應於由記憶體節點210(1)將內部封包提供至記憶體節點210(3)(例如箭頭410),記憶體節點210(3)之節點控制器及計算邏輯可執行諸如搜尋記憶體節點210(3)之本端記憶 體以使資訊滿足記憶體200之初始請求之操作。記憶體節點210(3)之節點控制器可另外產生可包括資訊(例如與記憶體200之初始請求相關之指令及/或滿足初始請求之記憶體節點210(3)之本端記憶體中所識別之資料)之額外內部封包。由記憶體節點210(3)將內部封包提供至記憶體節點210(4)及210(6)(例如分別由箭頭416及418所表示)。
如圖4中進一步所繪示,自記憶體節點210(3)至記憶體節點210(4)之內部封包導致由記憶體節點210(4)產生提供至記憶體節點210(7)(如由箭頭424所表示)之另一內部封包,且作為回應,記憶體節點210(7)產生一內部封包且將該內部封包提供至記憶體節點210(6)(如由箭頭426所表示)。同樣地,自記憶體節點210(1)接收一內部封包(如由箭頭414所表示)之記憶體節點210(10)產生及提供提供至記憶體節點210(6)(如由箭頭422表示)之一內部封包。自記憶體節點210(1)接收一內部封包(如由箭頭412所表示)之記憶體節點210(5)產生及提供提供至記憶體節點210(6)(如由箭頭420所表示)之一內部封包。
如先前所討論,自一發送記憶體節點接收一內部封包可引起一接收記憶體節點執行與包括於所接收之該內部封包中之指令及/或資料相關之操作,例如搜尋該接收記憶體節點之本端記憶體之資訊。另外,該接收記憶體節點可產生包括待提供至另一記憶體節點之指令及/或資料之一內部封包。由該接收記憶體節點(其接著變為一發送記憶體節點)產生之該內部封包可包括用於新接收記憶體節點之指令及/或資料。
一記憶體節點210(6)自記憶體節點210(3)、210(5)、210(7)及210(10)接收內部封包,如分別由圖4中之箭頭418、420、426及422所繪示。來自該等記憶體節點之該等內部封包可包括由該等各自記憶體節點之節點控制器及計算邏輯識別之資訊(其滿足包括於記憶體節點自一發送記憶體節點接收之各自內部封包中之記憶體請求)。例如, 來自該等記憶體節點(例如210(3)、210(5)、210(7)及210(10))之該等內部封包可包括用於使記憶體節點執行(例如)與相關聯於由記憶體系統200接收之外部封包(例如由圖4中之箭頭402表示)之資訊之初始請求相關之操作之指令。在圖4之實例中,記憶體節點210(6)可自由各自記憶體節點識別為滿足資訊之初始請求之其他記憶體節點(例如發送記憶體節點)聚集資訊,諸如由記憶體節點識別為匹配關鍵字之資料。
在圖4之實例中,基於自發送記憶體節點接收之內部封包,記憶體節點210(6)之節點控制器產生包括自其他記憶體節點提供至其之資訊之一內部封包。將該內部封包向外提供至記憶體系統200(如由箭頭428所表示),例如提供至一處理器,記憶體系統200自該處理器接收外部封包(由箭頭402表示)。由記憶體節點210(6)提供之該內部封包可包括共同滿足資訊之請求之來自記憶體系統200之資訊,即,與由210(1)最初接收之外部封包之關鍵字相關之資訊。
如由圖4之實例所繪示,記憶體系統200可回應於由記憶體系統200接收之一外部封包而內部地管理操作。例如,記憶體系統200之記憶體節點210(1)至210(N)可將由發送記憶體節點之一節點控制器產生之內部封包提供至記憶體系統200之其他記憶體節點。該等內部封包可包括用於使接收記憶體節點執行操作以滿足與由記憶體系統200接收之一外部封包相關聯之一操作之資訊(例如指令及/或資料)。在由記憶體系統200完成與該外部封包相關聯之操作時,可由記憶體系統200提供一外部封包。
圖5繪示根據本發明之一實施例之可被搜尋之一連結串列資料集之一資料結構500。資料結構500表示連結在一起以形成包括與關鍵字「A」、「B」、「C」、「D」、「E」、「F」及「G」相關聯之資訊之一更大資料集之資訊。特定言之,資料結構500包括由指標連結在一起以形 成一更大資料集之資料子集510至570。資料子集510至570之各者包括與一各自關鍵字相關聯之資訊。資料結構500之一「頭端」與資料子集510相關聯,資料子集510定位於位址0x1000處且包括與一關鍵字「A」相關聯之資訊。資料子集510中之一指標512指向資料子集520(其定位於位址0x1080處且包括與一關鍵字「B」相關聯之資訊),藉此連結資料子集510及520。同樣地,由一指標522將定位於位址0x2000處且包括與一關鍵字「C」相關聯之資訊之子集530連結至資料子集520。分別由自一資料子集指向另一資料子集之指標532、542、552及562將定位於位址0x0800、0x3000、0x4080及0x1100處且包括與關鍵字「D」、「E」、「F」及「G」相關聯之資訊之資料子集540、550、560及570全部類似地連結至資料子集530及彼此。
在一習知系統中,為搜尋匹配一搜尋關鍵字「E」之資料結構500之資訊,一CPU(例如)將一當前搜尋指標設定至與位址0x1000處之資料子集510相關聯之資料結構500之頭端。該CPU發出一記憶體讀取指令以自由該指標識別之當前位置讀取資訊,且比較自當前位置讀取之資訊與搜尋關鍵字「E」。若自當前位置讀取之資訊匹配搜尋關鍵字「E」,則完成及終止搜尋。然而,若自當前位置讀取之資訊不匹配搜尋關鍵字「E」,則該CPU使搜尋指標前進至下一位置,該下一位置接著變為當前位置。
如同前文,CPU發出一記憶體讀取指令以自由指標識別之(新)當前位置讀取資訊,且比較自當前位置讀取之資訊。重複指向一新當前位置、自該當前位置讀取資訊及比較該資訊與搜尋關鍵字「E」之步驟,直至找到該資訊,或已搜尋整個資料結構500但未找到資訊,此時終止搜尋。在圖5之實例性資料結構500中,資料子集550包括匹配搜尋關鍵字「E」之資訊。因此,CPU將讀取由指標512、522及532連結在一起之資料子集510、520、530及540處之資訊,直至自資料子集 550(其由指標542連結)讀取資訊且判定該資訊匹配搜尋關鍵字「E」,此時CPU終止搜尋。
在習知系統之實例中,CPU擔負發出記憶體讀取指令、比較自一當前位置讀取之資訊與搜尋關鍵字及在完成之後終止搜尋之重擔。
圖6繪示根據本發明之一實施例之用於搜尋一記憶體系統之資料結構500之一流程圖。可基於CPU將一單一指令發出至該記憶體系統而搜尋資料結構500之資訊。由該記憶體系統(特定言之,由該記憶體系統之記憶體節點)內部地管理自一當前位置讀取資訊及比較該資訊與一搜尋關鍵字。為本實例之目的,由根據本發明之一實施例之包括複數個記憶體節點之一記憶體系統之一各自記憶體節點(例如記憶體節點210(圖2)及/或記憶體節點300(圖3))儲存資料結構500之資料子集之各者。
在步驟610中,記憶體系統自CPU接收用於搜尋資料結構500之一指令以找到匹配一搜尋關鍵字(例如搜尋關鍵字「E」)之資訊,該搜尋開始於資料結構500之頭端,特定言之,位址0x1000處之資料子集510。在步驟614中,記憶體節點(諸如包括資料子集510之記憶體節點)執行由一指標識別之一當前位置之一讀取操作。在步驟620中,記憶體節點比較自該當前位置讀取之資訊與搜尋關鍵字。在步驟624中,若來自該當前位置之資訊匹配搜尋關鍵字,則在步驟630中記憶體節點產生包括匹配搜尋關鍵字之資訊且進一步包括指示資訊已找到之資訊之一外部封包。在步驟634中,由記憶體節點將該外部封包提供至CPU。
在步驟624中,若來自當前位置之資訊不匹配搜尋關鍵字(例如搜尋關鍵字「E」),則在步驟640中判定當前位置是否為被搜尋之資料結構之終點(例如最後位置)。若當前位置係最後位置,則在步驟644中記憶體節點產生包括指示未找到匹配搜尋關鍵字之資訊之資訊之一 外部封包。在步驟634中,由記憶體節點將該外部封包提供至CPU。若當前位置並非為最後位置,則在步驟650中記憶體節點使搜尋指標前進至下一位置以將該下一位置變為當前位置。在步驟654中,由記憶體節點判定當前位置是否處於相同記憶體節點中。若當前位置處於相同記憶體節點中,則記憶體節點開始以下程序:自當前位置讀取資訊(步驟614);比較該資訊與搜尋關鍵字(步驟620);及判定該資訊是否匹配搜尋關鍵字(步驟624)。
若在步驟654中由記憶體節點判定當前位置不處於相同記憶體節點中,則在步驟660中記憶體節點產生包括用於搜尋匹配搜尋關鍵字(例如搜尋關鍵字「E」)之資訊之指令之一內部封包。在步驟664中,將該內部封包提供至包括當前位置之記憶體節點。包括當前位置之記憶體節點接收該內部封包且開始以下程序:自當前位置讀取資訊(步驟614);比較該資訊與搜尋關鍵字(步驟620);及判定該資訊是否匹配搜尋關鍵字(步驟624)。
與使用習知系統(其中CPU擔負發出所有記憶體讀取指令、比較來自一當前位置之資訊與搜尋關鍵字及在完成之後終止搜尋之重擔)來搜尋資料結構500相比,由記憶體系統內之記憶體節點執行記憶體讀取操作及比較。在自CPU發出初始搜尋指令之時間至由記憶體系統將一外部封包提供至CPU之時間內,CPU自由執行其他操作。
記憶體系統可包括複數個記憶體節點,其中該等記憶體節點包括用於儲存資訊之本端記憶體。該等記憶體節點可進一步包括經組態以對資訊執行操作之計算邏輯,且包括經組態以控制記憶體節點內之操作且產生可提供至其他記憶體節點之內部封包之一節點控制器。該等內部封包可包括用於接收記憶體節點之資訊,例如用於待由一接收記憶體節點執行之操作之指令及/或用於該接收記憶體節點之資料。本發明之實施例可用於減少一CPU與一記憶體系統(例如圖1之處理器 110與記憶體系統140)之間之記憶體處理之數目且亦減少該CPU對由該記憶體系統儲存之資訊之管理操作之負擔。
應自前述內容瞭解,儘管已為繪示目的而於本文描述本發明之特定實施例,但可在不脫離本發明之精神及範疇之情況下作出各種修改。相應地,本發明除受限於隨附專利申請範圍之外,不受其他限制。

Claims (26)

  1. 一種記憶體,其包含:一處理器;及一記憶體系統,其耦合至該處理器且經組態以自該處理器接收指令以存取由該記憶體系統儲存之資訊,該記憶體系統包括複數個記憶體節點,其中該複數個記憶體節點之各記憶體節點經由一網路直接地耦合至該複數個記憶體節點之各其他記憶體節點,使得在該記憶體系統中之任何兩個記憶體節點之間可直接地交換訊息而無須藉由任何中間記憶體來處理,且該複數個記憶體節點之各記憶體節點經組態以產生一內部訊息,其包括不同於自該處理器所接收之該等指令之用於一操作之指令,該內部訊息將被後續地提供至該複數個記憶體節點之另一記憶體節點以執行該操作,且其中該複數個記憶體節點之各記憶體節點經組態以回應該所接收之指令,自該複數個記憶體節點中之其他記憶體節點聚集該資訊以提供給該處理器,該複數個記憶體節點之一記憶體節點包含:一本端記憶體,其經組態以儲存資訊;計算邏輯,其經組態以執行計算操作;及一節點控制器,其經組態以控制該本端記憶體執行記憶體操作且經組態以控制該計算邏輯以執行計算操作,該節點控制器進一步經組態以產生包括待自該記憶體節點向外提供之一指令之訊息,並基於該記憶體節點中所執行之一計算操作之結果而判定一訊息之一目的端記憶體節點。
  2. 如請求項1之記憶體,其中該節點控制器經組態以產生待提供至該複數個記憶體節點之另一記憶體節點之一內部訊息且進一步 經組態以產生待提供至該處理器之一外部訊息。
  3. 如請求項1之記憶體,其中該複數個記憶體節點之一記憶體節點經組態以產生包括與一來源記憶體節點、一目的端記憶體節點、一操作、資料或其等之組合相關之資訊之該內部訊息。
  4. 如請求項1之記憶體,其進一步包含:一本端記憶體匯流排,其耦合至該處理器;及一記憶體,其耦合至該本端記憶體匯流排且經組態以儲存資訊。
  5. 一種記憶體,其包含:一第一記憶體節點,其經組態以將資訊儲存於一本端記憶體中;及複數個第二記憶體節點,其包含相鄰及不相鄰該第一記憶體節點之記憶體節點,其中該複數個第二記憶體節點經由一網路直接地耦合至該第一記憶體節點,使得在該本端記憶體中之任何兩個記憶體節點之間可直接地交換訊息而無須藉由任何中間記憶體來處理,且經組態以從一處理器接收包括一第一指令之一第一訊息,該複數個第二記憶體節點進一步經組態以產生包括未包括於該第一訊息中之第二指令之第二訊息,該等第二指令將被後續地提供至該記憶體之該複數個第二記憶體節點之其他者,該複數個第二記憶體節點進一步經組態以根據該第一指令基於一記憶體操作而判定該第一記憶體節點為一目的端記憶體節點,及將該等第二訊息提供至該第一記憶體節點,該第一記憶體節點進一步經組態以根據該等第二指令執行一記憶體操作,其中該第一記憶體節點聚集該等第二訊息以傳輸至一外部處理器。
  6. 如請求項5之記憶體,其中該第二記憶體節點經組態以回應於需要自該第一記憶體節點取得之額外資訊、處理或其等之一組合而產生該第二訊息。
  7. 如請求項5之記憶體,其中該第一訊息包含一第一封包且該第二訊息包含一第二封包。
  8. 如請求項5之記憶體,其中該第一訊息包含一內部封包且該第二訊息包含一內部封包或一外部封包。
  9. 如請求項5之記憶體,其進一步包含一第三記憶體節點,且其中該第二記憶體節點進一步經組態以將該第二訊息提供至該第三記憶體節點,該第三記憶體節點經組態以根據該第二指令執行該記憶體操作。
  10. 如請求項9之記憶體,其中該第二記憶體節點包括經組態以回應於該第一訊息而產生該第二訊息之一節點控制器。
  11. 如請求項5之記憶體,其中根據該第二指令之該記憶體操作包含用於儲存於本端記憶體中之資訊之一搜尋操作,且其中該第一記憶體節點進一步經組態以產生包括由該搜尋操作識別之資訊之一第三訊息。
  12. 如請求項5之記憶體,其中該第一記憶體節點進一步經組態以產生包括不同於該第一指令之一第三指令之一第三訊息。
  13. 一種記憶體,其包含:複數個記憶體節點,其等經由一網路直接地通信地耦合在一起以自一處理器接收指令以存取由該記憶體所儲存之資訊,使得該複數個記憶體節點之各記憶體節點可與一不相鄰記憶體節點通信而無須與一中間記憶體節點通信,其中該複數個記憶體節點之各記憶體節點經組態以產生一內部訊息,其包括不同於自該處理器所接收之該等指令之用於一操作之指令,該內部訊 息將被後續地提供至該複數個記憶體節點之另一記憶體節點以執行該操作,且其中各記憶體節點包括:一匯流排;一本端記憶體,其耦合至該匯流排且經組態以儲存資訊;計算邏輯,其耦合至該匯流排且經組態以對由該本端記憶體儲存之資訊執行計算操作;一通信介面,其耦合至該匯流排且經組態以提供與該記憶體節點之通信;及一節點控制器,其耦合至該匯流排且經組態以提供用於控制該本端記憶體執行記憶體操作之指令,且經組態以提供用於控制該計算邏輯執行該等計算操作之指令,該節點控制器進一步經組態以產生包括一指令之一訊息,基於所執行之該等記憶體操作以判定一目的端記憶體節點,並將該訊息提供至待自該記憶體節點提供至該目的端記憶體節點之該通信介面,且其中該複數個記憶體節點之各記憶體節點經組態以回應該等所接收之指令,自該複數個記憶體節點中之其他記憶體節點聚集該資訊以提供給該處理器。
  14. 如請求項13之記憶體,其中該通信介面經組態以與該複數個記憶體節點之其他節點無線通信。
  15. 如請求項13之記憶體,其中該通信介面經組態以基於一有線媒體與該複數個記憶體節點之其他節點通信。
  16. 如請求項13之記憶體,其進一步包含經組態以將該複數個記憶體節點之各記憶體節點通信地耦合在一起之一通信網路。
  17. 如請求項13之記憶體,其中該計算邏輯經組態以執行包含布林邏輯運算、算術運算、比較運算或其等之組合之計算操作。
  18. 如請求項13之記憶體,其中該本端記憶體包含揮發性記憶體、非揮發性記憶體或其等之組合。
  19. 一種操作一記憶體系統之方法,其包含:在該記憶體系統之一第一記憶體節點處接收一外部訊息,該外部訊息包括用於執行一第一記憶體操作來自一處理器之一第一指令;回應於該第一指令,在該第一記憶體節點處產生包括用於一第二記憶體操作之一第二指令之一內部訊息,該第二指令未包括於該外部訊息中且不同於自該處理器所接收之該第一指令,該內部訊息將被後續地提供至該記憶體系統之另一記憶體節點;在該第一記憶體節點處基於該第一記憶體操作而判定用於該第二訊息之複數個目的端記憶體節點;將該第二訊息提供至該複數個目的端記憶體節點,其中該等目的端記憶體節點在一網路上直接地通信地耦合至該第一記憶體節點且包括相鄰及不相鄰於該第一記憶體節點之記憶體節點;及回應於該第二訊息,在該複數個目的端記憶體節點處執行該第二記憶體操作以產生結果;在該複數個目的端記憶體節點之一目的端記憶體節點處聚集該第二記憶體操作之該等結果;及將該第二記憶體操作之該等結果提供至一外部處理器。
  20. 如請求項19之方法,其進一步包含:在該第一記憶體節點處執行該第一記憶體操作。
  21. 如請求項20之方法,其中該第一記憶體節點處之該第一記憶體操作:包含一讀取操作。
  22. 如請求項19之方法,其中執行該第二記憶體操作包含:存取該複數個目的端記憶體節點之每一者之一各自本端記憶體。
  23. 如請求項22之方法,其進一步包含:回應於該第二指令,在該複數個目的端記憶體節點之每一者處執行對自該複數個目的端記憶體節點之每一者之該各自本端記憶體讀取之資訊之一計算操作。
  24. 如請求項19之方法,其中該第一訊息及該第二訊息之一格式不同於該外部訊息之一格式。
  25. 如請求項19之方法,其進一步包含:在該複數個目的端記憶體節點之每一者處產生包括與該第二記憶體操作相關之資訊之一內部訊息。
  26. 如請求項19之方法,其中執行該第二記憶體操作包含:執行一讀取操作、一寫入操作、關鍵字搜尋、增加及刪除一資料結構之資訊、更新一資料結構中之欄位、或其等之組合。
TW103106541A 2013-03-15 2014-02-26 用於包括記憶體節點之分散式記憶體系統之裝置及方法 TWI624787B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/842,984 2013-03-15
US13/842,984 US10089043B2 (en) 2013-03-15 2013-03-15 Apparatus and methods for a distributed memory system including memory nodes

Publications (2)

Publication Number Publication Date
TW201447744A TW201447744A (zh) 2014-12-16
TWI624787B true TWI624787B (zh) 2018-05-21

Family

ID=51533914

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103106541A TWI624787B (zh) 2013-03-15 2014-02-26 用於包括記憶體節點之分散式記憶體系統之裝置及方法

Country Status (7)

Country Link
US (2) US10089043B2 (zh)
EP (1) EP2972911B1 (zh)
JP (1) JP6333353B2 (zh)
KR (1) KR20150129808A (zh)
CN (2) CN105051708B (zh)
TW (1) TWI624787B (zh)
WO (1) WO2014149278A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9779057B2 (en) 2009-09-11 2017-10-03 Micron Technology, Inc. Autonomous memory architecture
US10089043B2 (en) 2013-03-15 2018-10-02 Micron Technology, Inc. Apparatus and methods for a distributed memory system including memory nodes
US9779138B2 (en) 2013-08-13 2017-10-03 Micron Technology, Inc. Methods and systems for autonomous memory searching
US10003675B2 (en) 2013-12-02 2018-06-19 Micron Technology, Inc. Packet processor receiving packets containing instructions, data, and starting location and generating packets containing instructions and data
CN104765587B (zh) * 2014-01-08 2018-12-14 雅特生嵌入式计算有限公司 用于使处理器同步到相同的计算点的系统和方法
CN114625084B (zh) * 2022-03-02 2024-01-19 杭州康吉森自动化科技有限公司 基于控制系统的节点信息的获取方法及装置
CN114647380B (zh) * 2022-03-23 2023-11-07 苏州科美信息技术有限公司 一种数据存算一体固态硬盘模组及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110067039A1 (en) * 2009-09-11 2011-03-17 Sean Eilert Autonomous memory architecture
US20130054727A1 (en) * 2011-08-26 2013-02-28 Fujitsu Limited Storage control method and information processing apparatus

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5134711A (en) 1988-05-13 1992-07-28 At&T Bell Laboratories Computer with intelligent memory system
CA2145106C (en) 1994-04-22 1999-08-24 Abhaya Asthana Intelligent memory-based input/output system
US6799217B2 (en) 2001-06-04 2004-09-28 Fujitsu Limited Shared memory multiprocessor expansion port for multi-node systems
US7581080B2 (en) 2003-04-23 2009-08-25 Micron Technology, Inc. Method for manipulating data in a group of processing elements according to locally maintained counts
US20050108203A1 (en) 2003-11-13 2005-05-19 Chunqiang Tang Sample-directed searching in a peer-to-peer system
US7242216B1 (en) 2004-11-08 2007-07-10 Herman Schmit Embedding memory between tile arrangement of a configurable IC
DE102006009027A1 (de) 2006-02-27 2007-08-30 Infineon Technologies Ag Speicheranordnung
US7987205B1 (en) 2006-11-27 2011-07-26 Netlogic Microsystems, Inc. Integrated search engine devices having pipelined node maintenance sub-engines therein that support database flush operations
US7623365B2 (en) 2007-08-29 2009-11-24 Micron Technology, Inc. Memory device interface methods, apparatus, and systems
US7913033B2 (en) 2007-10-09 2011-03-22 Micron Technology, Inc. Non-volatile memory device having assignable network identification
US20100161914A1 (en) 2008-12-23 2010-06-24 Eilert Sean S Autonomous memory subsystems in computing platforms
US8549092B2 (en) 2009-02-19 2013-10-01 Micron Technology, Inc. Memory network methods, apparatus, and systems
US20100241783A1 (en) 2009-03-23 2010-09-23 Honeywell International Inc. Memory node for use within a data storage system having a plurality of interconnected memory nodes
FR2948206B1 (fr) 2009-07-15 2011-08-05 Commissariat Energie Atomique Dispositif et procede pour l'execution distribuee de traitements de donnees numeriques
US9015440B2 (en) 2009-09-11 2015-04-21 Micron Technology, Inc. Autonomous memory subsystem architecture
US8407516B2 (en) 2009-12-23 2013-03-26 Intel Corporation Controlling memory redundancy in a system
US8766666B2 (en) 2010-06-10 2014-07-01 Micron Technology, Inc. Programmable device, hierarchical parallel machines, and methods for providing state information
US8601013B2 (en) 2010-06-10 2013-12-03 Micron Technology, Inc. Analyzing data using a hierarchical structure
US8930618B2 (en) 2010-08-24 2015-01-06 Futurewei Technologies, Inc. Smart memory
JP5238791B2 (ja) 2010-11-10 2013-07-17 株式会社東芝 転送機能を有するメモリノードを相互に接続したストレージ装置及びデータ処理方法
US10089043B2 (en) 2013-03-15 2018-10-02 Micron Technology, Inc. Apparatus and methods for a distributed memory system including memory nodes

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110067039A1 (en) * 2009-09-11 2011-03-17 Sean Eilert Autonomous memory architecture
US20130054727A1 (en) * 2011-08-26 2013-02-28 Fujitsu Limited Storage control method and information processing apparatus

Also Published As

Publication number Publication date
JP6333353B2 (ja) 2018-05-30
CN110244909A (zh) 2019-09-17
US10089043B2 (en) 2018-10-02
WO2014149278A1 (en) 2014-09-25
CN105051708A (zh) 2015-11-11
TW201447744A (zh) 2014-12-16
EP2972911B1 (en) 2020-12-23
CN105051708B (zh) 2019-05-28
US10761781B2 (en) 2020-09-01
US20140281278A1 (en) 2014-09-18
EP2972911A1 (en) 2016-01-20
JP2016515256A (ja) 2016-05-26
US20190042100A1 (en) 2019-02-07
EP2972911A4 (en) 2016-10-26
KR20150129808A (ko) 2015-11-20

Similar Documents

Publication Publication Date Title
TWI624787B (zh) 用於包括記憶體節點之分散式記憶體系統之裝置及方法
JP5440067B2 (ja) キャッシュメモリ制御装置およびキャッシュメモリ制御方法
WO2014038070A1 (ja) 情報処理装置,並列計算機システム及び情報処理装置の制御方法
TW200421089A (en) Method and apparatus for injecting write data into a cache
US9753872B2 (en) Information processing apparatus, input and output control device, and method of controlling information processing apparatus
US11709774B2 (en) Data consistency and durability over distributed persistent memory systems
US10956347B2 (en) Data transfer device, arithmetic processing device, and data transfer method
TWI502346B (zh) 根據窺探回應資訊之目錄快取分配技術
JP2011060278A (ja) 自律的サブシステムアーキテクチャー
WO2019090493A1 (zh) 内存块回收方法和装置
CN112106032A (zh) I/o主设备和cpu之间优化数据共享的有序写存储的高性能流
WO2015021822A1 (zh) 扩大mcu程序地址空间的方法及装置
KR102383040B1 (ko) 홈 에이전트 기반 캐시 전송 가속 기법
CN110337633A (zh) 一种数据存储方法及设备
CN110083548B (zh) 数据处理方法及相关网元、设备、系统
US10789001B1 (en) Posted operation data control
US20080244132A1 (en) Data transmission methods
WO2021082877A1 (zh) 访问固态硬盘的方法及装置
JP2013535735A (ja) マルチコアシステムのためのダイレクトメモリアクセス装置およびその動作方法
CN107526695B (zh) NVMe配置空间实现方法与装置
JP2009163394A (ja) メモリ管理装置およびメモリ管理方法
JPWO2020156796A5 (zh)
WO2022226998A1 (zh) 执行原子操作的装置和方法
TW201830238A (zh) 同調互連系統中的讀取交易追蹤器生命期
JP2009088622A (ja) バッファメモリを有するパケット転送装置および方法