TWI482454B - 記憶體網路方法、裝置及系統 - Google Patents

記憶體網路方法、裝置及系統 Download PDF

Info

Publication number
TWI482454B
TWI482454B TW099105028A TW99105028A TWI482454B TW I482454 B TWI482454 B TW I482454B TW 099105028 A TW099105028 A TW 099105028A TW 99105028 A TW99105028 A TW 99105028A TW I482454 B TWI482454 B TW I482454B
Authority
TW
Taiwan
Prior art keywords
network node
processor
memory
network
path
Prior art date
Application number
TW099105028A
Other languages
English (en)
Other versions
TW201036366A (en
Inventor
David R Resnick
Original Assignee
Micron Technology Inc
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 Micron Technology Inc filed Critical Micron Technology Inc
Publication of TW201036366A publication Critical patent/TW201036366A/zh
Application granted granted Critical
Publication of TWI482454B publication Critical patent/TWI482454B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/17381Two dimensional, e.g. mesh, torus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multi Processors (AREA)
  • Memory System (AREA)

Description

記憶體網路方法、裝置及系統
諸多電子器件(例如個人電腦、工作站、電腦伺服器、主機及其他電腦相關設備(包含列印機、掃描器及硬碟驅動器))利用提供一大的資料儲存能力同時試圖得到低功率消耗之記憶體。極適合用於前述器件中之一種類型的記憶體係動態隨機存取記憶體(DRAM)。
由於晶片大小限制提供一限制影響,因此在大的多處理器系統中對具有增加之容量的記憶體器件之需求持續上升。個別記憶體胞之組件所佔據之表面積已穩定地減小,使得除減小閘極延遲之外,亦可增加一半導體基板上記憶體胞之填裝密度。然而,縮小器件表面積可導致減小的製造良率,且增加用於連接記憶體器件之眾多庫與其他器件(例如處理器)之互連之複雜性。另外,在小型化期間,互連延遲不像閘極延遲一樣按比例調整。
在上文論述中且參考以下圖式詳細闡述了各種實施例。
各種實施例包含處理系統、半導體模組、記憶體系統及方法。在以下說明中且在圖1至圖9中闡明若干實施例之具體細節以提供對此等實施例之一理解。然而,熟習此項技術者應理解,可能存在額外實施例且諸多實施例可在不具有以下說明中所揭示之細節中之若干細節之情形下實踐。亦應理解,各種實施例可實施於包含實體組件(例如「硬體」)之一實體電路內,或其可使用機器可讀指令(例如,「軟體」)實施,或以實體組件與機器可讀指令(例如,「韌體」)之某一組合來實施。
記憶體之表面積減小及隨之發生的之一填裝密度增加可藉由減小記憶體陣列及器件之水平特徵大小來達成。在各種實施例中,此可藉由形成顯著三維的記憶體系統以使該等記憶體器件除大體延伸跨越基板表面之外亦垂直延伸至基板中及上方來發生。
本文所論述之記憶體器件之實例係闡述於2007年8月29日提出申請且受讓與Micron Technology,Inc.之題為「MEMORY DEVICE INTERFACE METHODS,APPARATUS,AND SYSTEMS」之美國專利申請案第11/847,113號中。
本文所論述之網路節點(路由器)之實例係闡述於2008年2月19日提出申請且受讓與Micron Technology,Inc.之題為「METHOD DEVICE WITH NETWORK ON CHIP METHODS,APPARATUS,AND SYSTEMS」之美國專利申請案第12/033,684號中。
圖1係根據各種實施例之一記憶體系統100之一橋接器架構之一圖解性方塊圖。在一實例性實施例中,記憶體系統100包含處理器(104、114)、記憶體(110、120)、橋接器(102、112)及一網路節點101。在某些實施例中,處理器104耦合至一專用記憶體110及一橋接器102。架構100亦包含耦合至一專用記憶體120及一橋接器112之一處理器114。網路節點101可用於耦合橋接器102及橋接器112。在各種實施例中,圖1中所示之架構可與本文中所揭示之其他記憶體系統及架構結合使用。
圖2係根據各種實施例之一記憶體系統200之一共用匯流排架構之一圖解性方塊圖。共用匯流排架構200包含耦合至處理器210、212、214及216之一共用匯流排208、一記憶體206及一橋接器204。在某些實施例中,一網路節點202耦合至橋接器204以將記憶體系統200連接至其他類似記憶體系統。在各種實施例中,圖2中所示之架構可與本文中所揭示之其他記憶體系統及架構結合使用。
可使用圖1中所示之橋接器架構或圖2中所示之共用匯流排架構來建置大的多處理器系統。在兩個架構中,網路結構及互連硬體可用於提供一高效能網路化系統。在某些實施例中,可使用各種各樣的標準輸入/輸出(IO)通道(例如提供作為一InfinibandTM 通信鏈路之一部分)及其他機構來耦合可容納於一特定母板或類似封裝配置上之額外計算資源。
在圖1中所示之橋接器架構中,每一處理器(104、114)具有其自己的記憶體(110、120)且可能具有其自己的IO能力。此意謂著當處理器共用此等資源時可產生軟體及效能問題。若一個處理器(例如,104)需要來自另一處理器之記憶體(例如,120)之資料,則該第一處理器(104)必須產生一請求訊息並將其發送至第二處理器(114),要求其需要的資料,且然後等待該第二處理器(114)停止其正在做的事情以為該請求服務且回覆至該第一處理器(104)。此意謂著因軟體額外負擔而可存在顯著的效能損失,該軟體額外負擔對因等待所需資料傳回之時間損失而產生的計算額外負擔直接產生影響。
在圖2中所示之共用匯流排架構中,可合理地形成該群組之一部分之處理器的數目由於構造匯流排中之電功率問題、且在一較大程度上因係向所連接的處理器提供滿意服務之一部分之記憶體大小及頻寬約束而受到限制。共用匯流排系統通常係自限制的,且因此通常使用網路或IO通道互連增長以針對較大系統來按比例調整。此再引入上文針對橋接器構架所闡述之相同損失及問題。
在某些實施例中,組合用於支援構成一分散式系統之多個處理器之網路結構及記憶體允許設想新的系統構造方式。若可達成此,則可改良系統效能,從而使得執行資料共用較容易且較快。可使用一網路請求存取資料,而無論所請求之資料駐存於一網路內之何處。在某些實施例中,可建置使用類似於圖3中所示之互連的互連之記憶體系統。
圖3係根據各種實施例顯示耦合至專用處理器(322、324、326、328)之互連網路節點(302、304、306、308)之一記憶體系統300之一網路架構之一圖解性方塊圖。雖然本文中顯示二維網狀網路,但該概念可容易延伸至三維或更多維(例如,超立方體)、環形曲面體結構等等。端視系統要求且端視可由網路節點邏輯支援之複雜性程度,亦可使用其他種類的網路架構(例如,克勞斯(Clos)網路變型)。
在某些實施例中,圖3中所示之處理器可包含一單個封裝或晶粒內之多個處理器(多處理器或多核心處理器)或連接至一單個網路節點(例如,302、304、306及308)之多個獨立處理器。在某些實施例中,每一處理器(322、324、326及328)具有附接至其之一記憶體(312、314、316及318)。此配置提供來自由一特定處理器執行之計算之中間值之本端儲存,該等中間值不可用於位於記憶體系統300之其他部分中之處理器。然而,若該等處理器中之某些處理器請求對分散於各種記憶體(312、314、316及318)之間的資料進行存取,則各種資料管理問題可因使用記憶體參考方案而產生。在各種實施例中,圖3中所示之架構可與本文中所揭示之其他記憶體系統及架構結合使用。
使用本文所闡述之分散式記憶體網路之諸多潛在益處中之一者係所有記憶體可表現為該網路中之一單組位址;從而避免了需要自一個處理程序至另一個處理程序建置請求訊息來存取資料。記憶體延時(存取時間)在此等記憶體結構中不一致,因此可能存在具有保持資料接近於使用該資料之處理器的工作及資料管理軟體之一效能益處。另外,不保持資料接近於處理器之影響小於針對圖1中所示之網路記憶體結構之情形,此乃因不需要訊息傳遞來發送及接收資料。
有時,在使用多核心處理器積體電路(IC)時出現效能問題。隨著一單個IC內之核心的數目增加,該配置越來越實際上看起來像圖2中所示之匯流排架構。在此情形中,共用頻寬,且隨著核心及執行續的數目增加,每核心或執行續之可用頻寬之分率可減小。
圖4係根據各種實施例顯示共用處理器之互連網路節點之一記憶體系統400之一網路構架之一圖解性方塊圖。記憶體系統400包含網路節點(412、414、416、418、422、424、426、428、432、434、436、438、442、444、446、448)、記憶體(413、415、417、419、423、425、427、429、433、435、437、439、443、445、447、449)及處理器(410、420、430、440)。
如圖4中所示,記憶體413耦合至網路節點412,記憶體415耦合至網路節點414,記憶體417耦合至網路節點416,且記憶體419耦合至網路節點418。處理器410耦合至網路節點412、414、416及418。
記憶體423耦合至網路節點422,記憶體425耦合至網路節點424,記憶體427耦合至網路節點426,且記憶體429耦合至網路節點428。處理器420耦合至網路節點422、424、426及428。
記憶體433耦合至網路節點432,記憶體435耦合至網路節點434,記憶體437耦合至網路節點436,且記憶體439耦合至網路節點438。處理器430耦合至網路節點432、434、436及438。
記憶體443耦合至網路節點442,記憶體445耦合至網路節點444,記憶體447耦合至網路節點446,且記憶體449耦合至網路節點448。處理器440耦合至網路節點442、444、446及448。
在某些實施例中,針對處理器與多個路徑之網路互連提供高速串列介面,每一串列介面之相當大頻寬使得該多個路徑可全部並行地運行。此意謂著每一處理器封裝可連接至多個網路節點,從而提供記憶體存取並行性且允許增加此等結構勝於當前可用之大多數其他結構之益處之記憶體/網路結構。
在某些實施例中,圖4中所示之記憶體網路可係多維的,或許具有一環形曲面體結構等等。該等處理器(410、420、430及440)中之每一者之一頻寬可係圖3中所示之記憶體及網路節點之頻寬之一倍數。在其中可使用三維(3D)網路互連之某些實施例中,存在一選擇來如圖4中所示保持每一處理器連接至網路節點(因各種空間平面或維度可用於連接)或使一個或多個處理器在兩個或更多個空間平面或維度中連接至網路節點。關於開發具有多個維度(例如,如在克勞斯網路中,具有多個源及目的地)之網路結構之顧慮中之一者可係所產生之網路邏輯相當複雜,同時該複雜性有時隨著穿過每一網路節點之路徑數目的平方而增長。
簡化該設計之一種方式係利用可以每一處理器(410、420、430及440)發端之多個路徑,從而以使得每一路徑沿不同物理維度(例如,X、Y、Z維度)去往單獨記憶體網路。在某些實施例中,若每一處理器(410、420、430及440)具有三個網路記憶體路徑,則可存在三個不同的二維(2D)網狀網路(每一維度一個網路),而非一單個3D網路。此配置可產生係大小之一分率之若干個較小2D網路,且具有較小數目個穿過每一網路節點中之邏輯之路徑。
圖5係根據各種實施例顯示置於共用處理器之不同幾何平面中之網路節點之一記憶體系統500之一網路架構之一圖解性方塊圖。圖5顯示透過處理器(510、512、514及516)互連以形成一2D網路之一組一維網路。圖5中所示之每一網路節點具有最多兩個連接用於網路(因為每一網路節點僅處置一單個維度),及若干個連接用於本端記憶體及用於一處理器,而非兩個連接用於每一網路維度以及該記憶體及處理器。在一個實施例中,記憶體系統500包含一整合式封裝501,該整合式封裝包括一網路節點502及記憶體503。
圖5中所示之記憶體網路類似於圖3及圖4中所示之網路按比例調整,且可針對任一所規定的網路大小建置。在某些實施例中,可藉由自每一處理器為每一所添加之維度添加一路徑來合理地構造具有較大數目個維度之記憶體網路。下文將進一步闡述此實施方案。
在某些實施例中,複雜網路結構可經建置以使多個處理器晶片連接至網路內之不同點。舉例而言,考量將處理器510連接至網路節點502(X11)及網路節點518(Y11),且將處理器512連接至網路節點504(X12)及網路節點520(Y21)。在某些實施例中,此一網路之特性中之一者可係網路通信及資料可能通過處理器(510、512、514及516)來獲得資料,該資料可分散於記憶體網路上。
舉例而言,若可以對記憶體503及519(分別耦合至網路節點502(X11)及518(Y11))中之記憶體資料進行直接存取之處理器A(510)想要來自記憶體505(耦合至網路節點504(X12))之資料,則一請求信號穿過X11傳送至X12,在存取該資料之後藉由反轉請求路徑將該資料傳回。然而,若需要資料來自網路節點524(Y22),則可能在以下路徑上方發送該請求:
處理器A(510) X11 X12 處理器B(512) Y21 Y22。
在某些實施例中,若所需之資料不在與請求處理器之路徑相同之X或Y路徑上,則可穿過另一處理器發送該請求(及回應)。使處理器經設計以僅通過請求及回應之此配置通常非係改良處理器效能、減小系統功率要求或簡化封裝之一有效方式。
在某些實施例中,可修改該構架以使得連接至一相同處理器(例如一相同處理器核心)之網路節點對亦在其之間包含一網路鏈路,從而提供一「跳躍」路徑。結果可差不多類似於圖6中所示。
圖6係根據各種實施例顯示置於彼此互連且共用處理器之不同幾何平面中之網路節點之一記憶體系統600之一網路架構之一圖解性方塊圖。儘管圖6並未顯示連接至每一網路節點之記憶體,但應理解為存在該等記憶體。類似地,圖6中所示之配置僅係許多可能配置中之一者。
在某些實施例中,記憶體系統600包含一整合式封裝609,該整合式封裝包括一網路節點622及一處理器602。在一實例性實施例中,網路節點622包含一左側埠601,一右側埠603及一跳躍埠605。圖6中所示之組態向網路節點(622、624、632、634、642、644、652、654、662、664、672及674)添加一額外鏈路,藉此避免穿過處理器602至612路由網路訊務。圖6中之每一網路節點(例如網路節點622)具有用於耦合至其他網路節點之三個埠(例如,左側埠601、右側埠603及跳躍埠605)及用以耦合至處理器(例如處理器A(602))之一埠(例如607)。術語左側埠、右側埠並不指示節點上之任一特定實體位置,而是其僅指定器件上之兩個埠中之一者。在使用此一網路時,來自任一處理器(602、604、606、608、610及612)之請求可由連接至其之對應網路節點中之任一者接收。一最小長度路徑可遵循一曼哈頓路由方案,其具有最後路由維度應處於對應於網路節點放置之維度中之額外規則。舉例而言,若處理器A(602)想要獲得來自網路節點654(Y32)之資料,則請求路徑可差不多類似於以下路徑:
X11 X12 X13 Y31 Y32。
在某些實施例中,若相反需要來自網路節點652(X23)之資料,則路徑可差不多類似於以下路徑:
Y11 Y12 X21 X22 X23。
在某些實施例中,當一請求由一處理器注入至網路中時,訊息在所注入維度中周遊於節點直至該請求到達對應於另一維度之正確的位址。在某些實施例中,若資料不在節點中,則該請求被沿「跳躍」路徑向下自動發送至節點對中之另一節點且然後沿處於另一維度中之網路路徑向下直至其到達正確的節點。舉例而言,當在網路節點X11處請求來自連接至網路X23之記憶體之資料時使用跳躍埠605。
圖6中所示之組態包含耦合至一節點群組692之一節點群組690。在某些實施例中,節點群組690包含網路節點642、644及處理器606。在某些實施例中,節點群組692包含網路節點652及654以及處理器608。在某些實施例中,網路節點642耦合至一第一記憶體(未在圖6中顯示),且網路節點652耦合至一第二記憶體(未在圖6中顯示)。除用於耦合至處理器606及608之處理器埠之外,網路節點642及652中之每一者分別包含一左側埠、一右側埠及一跳躍埠。
在某些實施例中,記憶體系統600包含設置於一x路徑中之一網路節點622,網路節點622包含一第一x路徑埠(601)、一第二x路徑埠(603)、一跳躍路徑埠(605)及耦合至處理器602之一處理器埠。在某些實施例中,記憶體系統600包含設置於一y路徑中之一網路節點(624),網路節點624包含一第一y路徑埠、一第二y路徑埠、一處理器埠及一跳躍路徑埠。在某些實施例中,記憶體系統600包含設置於一z路徑中之一第三網路節點,該第三網路節點包含一第一z路徑埠、一第二z路徑埠、一處理器埠及兩個跳躍路徑埠。
圖7係根據各種實施例顯示具有彼此互連且耦合至一處理器(702)之網路節點(704、706及708)之一節點群組700之三維記憶體系統之一圖解性方塊圖。處理器702使用處理器鏈路705沿一路徑耦合至網路節點704(設置於X路徑中)。處理器702使用處理器鏈路706沿一路徑耦合至網路節點708(設置於Y路徑中)。處理器702使用處理器鏈路707沿一路徑耦合至網路節點706(設置於Z路徑中)。
因此,可注意,若將圖6中所示之架構延伸至三維,則結果差不多類似於圖解說明一單個網路節點群組之圖7中所示。以一類似方式,舉例而言,此概念可使用用於每一所添加之網路維度之一額外處理器路徑來更進一步延伸以構造一四維網路。可以此方式構造N維網路。
在多維網路之大多數情形中,當採用一跳躍路徑來改變網路維度時,僅可採用去往一個節點群組中之下一節點組件之一單個跳躍。此活動散佈請求以最小化路徑衝突及網路熱點。若將一請求自X路徑中之一節點發送至Y路徑中之一節點,且最終目的地節點並不位於Y維度中,則可將該請求傳送至下一維度Z上。
圖8係根據各種實施例允許網路故障恢復同時恢復來自一多維記憶體網路中之記憶體之資料之一記憶體系統800之一圖解性方塊圖。記憶體系統800包含一處理器802、網路節點(804、806、808及810)及跳躍路徑812。處理器802耦合至網路節點804、806、808及810。網路節點804、806、808及810連接至路徑815、817、819及821,路徑815、817、819及821又可連接至其他網路節點。網路節點804設置於一W路徑(814、815)中,網路節點806設置於一X路徑(816、817)中,網路節點808設置於一Y路徑(818、819)中,且網路節點810設置於一Z路徑(820、821)中。在某些實施例中,處理器802包括具有多於一個嵌入式處理器之一基板。
藉助圖8中所示之網路結構,多維網路中之每一節點可具有任務係僅處置一單個網路維度之組件,以使得所產生之網路結構具有大的彈性。參考回至圖6,若處理器D想要獲得來自附接至網路節點644(Y31)之記憶體之資料,則該請求將通常沿以下路徑前進:處理器D X21 X22 X23 Y32 Y31。然而,若X22與X23之間的路徑在一請求到達不能自其採用所期望路徑之一節點(例如X22)時損壞(例如X23已完全失效),則本端邏輯僅將該請求連同一旗標一起發送至一跳躍路徑(例如,812),該旗標含有指示較佳路由維度(X維度)將不用於下一網路跳躍之資訊。在某些實施例中,該旗標向處理器802提供確定關於何種新的最小路徑將用於將來的請求之資訊。因此,X22將能夠將請求發送至Y22。接著將到達Y22之經重新路由之請求發送至Y21。該請求接著循著以下路徑行進:Y21 X12 X13 Y31。
在另一實例中,假設替代X22與X23之間的路徑失效,X23與Y32之間的跳躍路徑失效。因此,將到達X23之請求連同一旗標一起發送至X24(未顯示)上,該旗標指示較佳維度將不用於下一跳躍。接著將該請求發送至Y維度中,從而在更多個跳躍之後到達Y31。
網路中之斷裂鏈路亦可沿最終網路維度發生。舉例而言,考量處理器D想要來自X23之資料,且自X21至X22之鏈路損壞。節點X21使用若所期望路徑損壞則採用跳躍路徑之先前規則將請求發送至Y12,以及產生首先在非較佳維度中實現路由之一旗標。Y12注意到零Y網路距離將被覆蓋。因此,Y21可將請求發送至Y11或至Y13(未顯示)。假設選擇Y11,該請求將去往Y11,其接著沿路徑Y11 X11 X12 Y21 Y22 X22 X23發送該請求。若網路節點X22已失效,則該路徑在Y22至X22鏈路中斷裂。在彼情形中,該請求將被發送至Y23(未顯示),從而在更多個跳躍之後到達X23。此因該請求必須尋找另一路線來在接近於X23之一節點處或在X23處得以回至X維度中而發生。
圖9係根據各種實施例闡述在一多維記憶體系統中路由資料之一方法900之一流程圖。如下文所示,可遵循各種網路路由規則來在本文所闡述之一多維記憶體網路中存取記憶體。在本文所闡述之實施例中,一「索引」表示一節點在一特定維度(例如,X、Y或Z維度)中之位置。用於定位一節點之索引的數目包含:在方塊902處,方法900包含產生存取耦合至一目的地網路節點之一第一記憶體之一請求。
在方塊904處,方法900包含將該請求發送至一發端網路節點,該請求包含對應於複數個維度之複數個索引。
在方塊906處,方法900包含在該發端網路節點處確定該請求是否包含與一第一維度相關聯之一第一索引。
在方塊908處,方法900包含若該請求包含一第一索引,則沿該第一維度將該請求發送至一第一網路節點。
在方塊910處,方法900包含若該請求包含與一第二維度相關聯之一第二索引,則將該請求傳送至一跳躍路徑。
在某些實施例中,簡單規則可藉由自動地路由諸請求繞過已失效的諸網路組件及路徑來提供網路彈性。使用此等規則,可在每一網路節點內提供網路資料流動管理。在某些實施例中,該等路由規則可包含以下規則中之至少一者:
規則-1: 若一請求指示該請求應在網路之一特定維度(例如,沿一X路徑、Y路徑、Z路徑或W路徑)中流動,則將該請求發送至彼維度中之一下一節點。
規則-2: 若一請求處於該網路維度之正確的節點位置處(舉例而言,該請求正沿X維度行進且到達對應於目的地節點之Y索引處),但尚未到達其目的地,則將該請求發送至本端跳躍路徑。
規則-3: 若期望在當前網路路徑維度中進行,但該請求不能(例如,因一路徑錯誤或故障)進行,則將該請求發送至跳躍路徑且設定一旗標來防止傳回至一非較佳維度中之發送節點/路線)。
規則-4: 若該請求使用一跳躍路徑,但發現不可能進行至駐存於一所期望維度中之一節點,則僅將該請求發送至下一節點且設定一旗標來防止使用一非較佳維度之任一傳回至發送節點/路線。
規則-5: 若進行一記憶體請求,則以一特定維度順序周遊於網路,其中目的地節點之位址的維度係所規定的順序中之最後目的地。因此,舉例而言,若欲在其中選擇維度之順序係X Y Z之一3D網路中存取耦合至Y21之記憶體,則沿順序Z X Y發送經發送至一請求處理器之本端Z節點的一請求。此可導致跨越網路組件散佈請求且最小化一請求中之路徑跳躍的數目。
規則-6: 不限制對請求之回覆以循著與一請求相同之傳回路徑行進,但可以一相反順序傳回。此可幫助在網路內散佈回應。
在某些實施例中,由於一網路節點成為此等網路之一分散式實體,因此一節點組件之損失將不記下穿過已失效的節點之所有通信,但僅沿對應於失效組件之網路維度之路徑。如下所述,可管理避開此等故障。
在某些實施例中,可使用一單一種類的網路節點建置大致上任一維度及比例之網路。較高維網路可比較低維網路具有較短網路延時及較高雙向頻寬;在每一情形中,一單一種類的網路記憶體組件可係建置組塊(building block)。
在某些實施例中,每一網路節點組件可經簡化以含有五個或更少個雙向埠,其中之一者專用於一處理器埠。在某些實施例中,系統記憶體可含在每一網路組件內,以使得該系統記憶體端視該網路之建置及組態方式獨立於網路處理器之數目及該等處理器之能力隨著該網路來按比例調整。因此可簡化自網路錯誤之恢復並使該恢復自動化進行。
在針對較高維之網路中多個網路/記憶體節點連接至每一處理器IC之情形下,處理器可針對較高的本端記憶體頻寬及經減小之平均記憶體延時而具有一較高級的記憶體及網路存取並行性。在其中處理器具有比一設想網路所需之維度的數目更多的可用路徑之情形中,該等處理器可具有在相同維度中行進之兩個或更多個路徑。
在其中節點群組不包含任何處理器之某些實施例中,增加記憶體大小及封裝密度之一種方式包含添加增加總體系統記憶體之網路節點。此等所添加之節點可在不需要時省去處理能力。舉例而言,可提供網路群組以使得其等支持不同種類的IO能力。一網路節點可針對IO功能而非針對計算加以最優化或指定。
在某些實施例中,可形成其中網路維度中之一者由IO處理器或其他類型的特殊處理器使用之一網路。舉例而言,在一3D網路中,處理器之一個平面可包括混合IO及信號處理器。以此方式,可在IO信號平面中移動資料,而不干涉計算節點之間的資料訊務。
在某些實施例中,本文中所闡述之處理器可包括具有一個或多個處理單元(例如,核心)之一單個積體電路。多個處理器可連接至每一網路節點,其可包括在一記憶體與處理器之間路由資料之一積體電路。處理器、網路節點及記憶體可駐存於相同的積體電路封裝上。在某些實施例中,此等處理器包括一單核心處理器、一多核心處理器或該兩者之一組合。在某些實施例中,一特定節點群組之處理器包含一多核心處理器中之一個或多個核心。在某些實施例中,處理器包含一專用積體電路(ASIC)。
在某些實施例中,本文中所闡述之網路節點包含一IO驅動器電路。在某些實施例中,網路節點及記憶體設置於一單個封裝內。在某個實施例中,網路節點、記憶體及處理器設置於一單個封裝中。在某些實施例中,網路節點經組態以在記憶體與處理器之間的資料通信期間執行錯誤檢查及校正(ECC)。網路節點可包含經提供以用於跨越一記憶體網路在記憶體與處理器之間路由資料之路由器。在某些實施例中,網路節點包含具有複數個路由元件之一介面裝置。
在某些實施例中,本文所論述之記憶體包含動態隨機存取記憶體(DRAM)陣列。在某些實施例中,本文所論述之記憶體包含一NAND快閃記憶體陣列。在某些實施例中,本文所論述之記憶體包含一NOR快閃記憶體陣列。在某些實施例中,記憶體大小可與網路維度成比例。本端記憶體頻寬亦可與網路維度成比例。
雖然已圖解說明及闡述了各種實施例(如上所述),但可在不背離本發明之情形下做出改變。形成本發明之一部分之附圖以圖解說明而非限制方式顯示其中可實踐標的物之各種實施例。足夠詳細地闡述所圖解說明之實施例以使熟習此項技術者能夠實踐本文中所揭示之教示。由此可利用及導出其他實施例。因此,此實施方式不應被視為具有一限制意義。
雖然本文中已圖解說明及闡述了若干具體實施例,但應瞭解,經計算以達成相同目的之任一配置皆可替代所示之各種實施例。此外,雖然各種實施例已闡述了冗餘信號傳輸系統,但應理解,可在不做修改之情形下在各種習知電子系統及器件中採用各種實施例。本揭示內容意欲涵蓋各種實施例之任一及所有調適或變型。在檢閱以上說明後,熟習此項技術者將明瞭上述實施例之組合及本文中未具體闡述之其他實施例。
提供本發明之摘要以符合37 C.F.R. § 1.72(b),其需要將允許讀者快速獲取該技術性發明之性質之一摘要。提交本摘要係基於以下理解:其將不用於解釋或限制申請專利範圍之意義。另外,在前述實施方式中可見,出於簡化本發明之目的,可將各種特徵共同集合於一單個實施例中。此發明之方法不應解釋為反映以下意圖:所主張之實施例需要比每一請求項中所明確陳述之特徵更多的特徵。而是,如以下專利申請範圍所反映:發明性標的物在於少於一單個所揭示實施例之所有特徵。因此,以上權利要求書藉此被併入至實施方式中,其中每一權利要求本身作為一單獨實施例。
100...記憶體系統
101...網路節點
102...橋接器
104...處理器
110...記憶體
112...橋接器
114...處理器
120...記憶體
200...記憶體系統
202...網路節點
204...橋接器
206...記憶體
208...匯流排
210...處理器
212...處理器
214...處理器
216...處理器
300...記憶體系統
302...網路節點
304...網路節點
306...網路節點
308...網路節點
312...記憶體
314...記憶體
316...記憶體
318...記憶體
322...處理器
324...處理器
326...處理器
328...處理器
400...記憶體系統
410...處理器
412...網路節點
413...記憶體
414...網路節點
415...記憶體
416...網路節點
417...記憶體
418...網路節點
419...記憶體
420...處理器
422...網路節點
423...記憶體
424...網路節點
425...記憶體
426...網路節點
427...記憶體
428...網路節點
429...記憶體
430...處理器
432...網路節點
433...記憶體
434...網路節點
435...記憶體
436...網路節點
437...記憶體
438...網路節點
439...記憶體
440...處理器
442...網路節點
443...記憶體
444...網路節點
445...記憶體
446...網路節點
447...記憶體
448...網路節點
449...記憶體
500...記憶體系統
501...整合式封裝
502...網路節點
503...記憶體
504...網路節點
505...記憶體
510...處理器
512...處理器
514...處理器
516...處理器
518...網路節點
519...記憶體
520...網路節點
524...網路節點
600...記憶體系統
601...左側埠
602...處理器
603...右側埠
604...處理器
605...跳躍埠
606...處理器
607...埠
608...處理器
609...整合式封裝
610...處理器
612...處理器
622...網路節點
624...網路節點
632...網路節點
634...網路節點
642...網路節點
644...網路節點
652...網路節點
654...網路節點
662...網路節點
664...網路節點
672...網路節點
674...網路節點
690...節點群組
692...節點群組
700...節點群組
702...處理器
704...網路節點
705...處理器鏈路
706...網路節點
707...處理器鏈路
708...網路節點
800...記憶體系統
802...處理器
804...網路節點
806...網路節點
808...網路節點
810...網路節點
812...跳躍路徑
814...W路徑
815...W路徑
816...X路徑
817...X路徑
818...Y路徑
819...Y路徑
820...Z路徑
821...Z路徑
圖1係根據各種實施例之一記憶體系統之一橋接器架構之一圖解性方塊圖。
圖2係根據各種實施例之一記憶體系統之一共用匯流排架構之一圖解性方塊圖。
圖3係根據各種實施例顯示具有專用處理器之互連網路節點之一記憶體系統之一網路架構之一圖解性方塊圖。
圖4係根據各種實施例顯示共用處理器之互連網路節點之一記憶體系統之一網路架構之一圖解性方塊圖。
圖5係根據各種實施例顯示置於共用處理器之不同幾何平面中之網路節點之一記憶體系統之一網路架構之一圖解性方塊圖。
圖6係根據各種實施例顯示置於彼此互連且共用處理器之不同空間平面中之網路節點之一記憶體系統之一網路架構之一圖解性方塊圖。
圖7係根據各種實施例顯示彼此互連且共用一處理器之網路節點之三維記憶體系統之一圖解性方塊圖。
圖8係根據各種實施例允許網路故障恢復同時恢復來自一多維記憶體網路中之一記憶體之資料之一記憶體系統之一圖解性方塊圖。
圖9係根據各種實施例闡述在一多維記憶體系統中路由資料之一方法之一流程圖。
600...記憶體系統
601...左側埠
602...處理器
603...右側埠
604...處理器
605...跳躍埠
606...處理器
607...埠
608...處理器
609...整合式封裝
610...處理器
612...處理器
622...網路節點
624...網路節點
632...網路節點
634...網路節點
642...網路節點
644...網路節點
652...網路節點
654...網路節點
662...網路節點
664...網路節點
672...網路節點
674...網路節點
690...節點群組
692...節點群組

Claims (35)

  1. 一種記憶體網路裝置,其包括:一第一節點群組,該第一節點群組包含:一第一網路節點,其耦合至一記憶體,該第一網路節點包含一第一埠、一第二埠、一處理器埠及一跳躍埠;一第二網路節點,其耦合至一記憶體,該第二網路節點包含一第一埠、一第二埠、一處理器埠及一跳躍埠,該第二網路節點之該跳躍埠耦合至該第一網路節點之該跳躍埠且經組態以在該第一網路節點與該第二網路節點之間通信;及一處理器,其耦合至該第一網路節點之該處理器埠且耦合至該第二網路節點之該處理器埠,該處理器經組態以透過該第一網路節點存取該第一記憶體且透過該第二網路節點存取該第二記憶體。
  2. 如請求項1之裝置,其經組態以便以通信方式耦合至一第二節點群組,該第二節點群組包括:一第三網路節點,其耦合至一記憶體,該第三網路節點包含一第一埠、一第二埠、一處理器埠及一跳躍埠;一第四網路節點,其耦合至一記憶體,該第四網路節點包含一第一埠、一第二埠、一處理器埠及一跳躍埠,該第四網路節點之該跳躍埠耦合至該第三網路節點之該跳躍埠;及一第二處理器,其使用該第三網路節點之該處理器埠 耦合至該第三網路節點且使用該第四網路節點之該處理器埠耦合至該第四網路節點,其中該第三網路節點之該第一及第二埠中之一者係耦合至該第一網路節點之該第一及第二埠中之一者。
  3. 如請求項1之裝置,其中耦合至該第一網路節點之該記憶體包括至少一個動態隨機存取記憶體(DRAM)陣列。
  4. 如請求項1之裝置,其中該第一網路節點包括一輸入/輸出驅動器電路。
  5. 如請求項1之裝置,其中該第一網路節點及耦合至該第一網路節點之該記憶體係設置於一單個封裝中。
  6. 如請求項1之裝置,其中該第一網路節點、耦合至該第一網路節點之該記憶體及耦合至該第一網路節點之該處理器係設置於一單個封裝中。
  7. 如請求項1之裝置,其中該第二網路節點及耦合至該第二網路節點之該記憶體係設置於一單個封裝中。
  8. 如請求項1之裝置,其中該第二網路節點、耦合至該第二網路節點之該記憶體及耦合至該第二網路節點之該處理器係設置於一單個封裝中。
  9. 如請求項1之裝置,其中該第一網路節點經組態以在該第一記憶體與該第一處理器之間的資料通信期間執行錯誤檢查及校正(ECC)。
  10. 如請求項1之裝置,其中耦合至該第一網路節點之該記憶體包括一NAND快閃記憶體陣列。
  11. 如請求項1之裝置,其中耦合至該第一網路節點之該記 憶體包括一NOR快閃記憶體陣列。
  12. 如請求項1之裝置,其中耦合至該第一網路節點之該處理器包括一單核心處理器。
  13. 如請求項1之裝置,其中耦合至該第一網路節點之該處理器包括一多核心處理器。
  14. 如請求項1之裝置,其中耦合至該第一網路節點之該處理器係一多核心處理器中之一單個核心。
  15. 如請求項1之裝置,其中耦合至該第一網路節點之該處理器包括一專用積體電路(ASIC)。
  16. 如請求項1之裝置,其中耦合至該第一網路節點之該處理器包括具有若干嵌入式處理器之一基板。
  17. 一種記憶體網路系統,其包括:一第一網路節點,其設置於一x路徑中,該第一網路節點包含一第一x路徑埠、一第二x路徑埠、一第一處理器埠、一第一跳躍路徑埠及一第二跳躍路徑埠;一第二網路節點,其設置於一y路徑中,該第二網路節點包含一第一y路徑埠、一第二y路徑埠、一第二處理器埠及一第三跳躍路徑埠以及一第四跳躍路徑埠;一第三網路節點,其設置於一z路徑中,該第三網路節點包含一第一z路徑埠、一第二z路徑埠、一第三處理器埠及一第五跳躍路徑埠以及一第六跳躍路徑埠;及一處理器,其使用該第一處理器埠耦合至該第一網路節點,使用該第二處理器埠耦合至該第二網路節點,且使用該第三處理器埠耦合至該第三網路節點; 其中該第一網路節點係耦合至一第一記憶體,該第二網路節點係耦合至一第二記憶體,且該第三網路節點係耦合至一第三記憶體;其中該第一跳躍路徑埠及該第二跳躍路徑埠中之至少一者係耦合至該第三跳躍路徑埠、該第四跳躍路徑埠、該第五跳躍路徑埠及該第六跳躍路徑埠中之至少一者;且其中該x路徑、該y路徑及該z路徑相對於彼此處於不同維度中。
  18. 如請求項17之系統,其中該第一記憶體包含一NOR快閃記憶體陣列,且該第二記憶體包含一NAND快閃記憶體陣列。
  19. 如請求項17之系統,其中該第一網路節點、該第二網路節點及該第三網路節點中之至少一者包含一路由器。
  20. 如請求項17之系統,其中對應於該x路徑、該y路徑及該z路徑之該等網路維度中之至少一者係由至少一個輸入/輸出處理器使用。
  21. 如請求項17之系統,其中該處理器係使用一個或多個鏈路耦合至該第一網路節點。
  22. 如請求項17之系統,其中該第一網路節點及該處理器係設置於一單個封裝中。
  23. 如請求項17之系統,其中該第一網路節點、該第二網路節點、該第三網路節點及該處理器係配置成二維網狀網路。
  24. 如請求項17之系統,其中該第一網路節點、該第二網路節點、該第三網路節點及該處理器係配置成一超立方體網路。
  25. 如請求項17之系統,其中該第一網路節點、該第二網路節點、該第三網路節點及該處理係配置成一環形曲面體結構。
  26. 如請求項17之系統,其中該第一網路節點、該第二網路節點、該第三網路節點及該處理器係配置成一克勞斯網路。
  27. 一種針對一多維記憶體網路路由資料之方法:在一發端節點處接收存取耦合至一目的地網路節點之一第一記憶體之一請求,該請求包含對應於複數個維度之複數個索引;在該發端網路節點處確定該請求是否包含與一第一維度相關聯之一第一索引;若該請求包含一第一索引,則沿該第一維度將該請求發送至一另一網路節點;且若該請求包含與一第二維度相關聯之一第二索引,則將該請求發送至一跳躍路徑。
  28. 如請求項27之方法,其中若該請求被提供至該跳躍路徑且不能夠進行至處於一所期望維度中之一特定節點,則將該請求發送至下一節點。
  29. 如請求項28之方法,其進一步包括設定指示不傳回至該發端節點之一旗標。
  30. 如請求項28之方法,其進一步包括設定該旗標以指示在一先前所用之路線上無傳回。
  31. 如請求項28之方法,其中若該請求指示該請求應在該網路之一特定維度中流動,則將該請求發送至處於該特定維度中之一下一節點。
  32. 如請求項28之方法,其進一步包括路由諸請求繞過已失效的諸網路節點。
  33. 如請求項28之方法,其進一步包括路由諸請求繞過已失效的諸跳躍路徑。
  34. 如請求項27之方法,其中使用一曼哈頓路由方案確定該發端節點與該目的地節點之間的最小路徑長度路徑。
  35. 如請求項27之方法,其進一步包括:自該目的地節點存取資料,其中若該資料在一第一節點處不可用,則將該請求自動發送至一跳躍路徑以循著處於另一維度中之一網路路徑行進直至其到達目的地節點。
TW099105028A 2009-02-19 2010-02-22 記憶體網路方法、裝置及系統 TWI482454B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/389,200 US8549092B2 (en) 2009-02-19 2009-02-19 Memory network methods, apparatus, and systems

Publications (2)

Publication Number Publication Date
TW201036366A TW201036366A (en) 2010-10-01
TWI482454B true TWI482454B (zh) 2015-04-21

Family

ID=42560865

Family Applications (1)

Application Number Title Priority Date Filing Date
TW099105028A TWI482454B (zh) 2009-02-19 2010-02-22 記憶體網路方法、裝置及系統

Country Status (7)

Country Link
US (3) US8549092B2 (zh)
EP (1) EP2399201B1 (zh)
JP (2) JP5630664B2 (zh)
KR (1) KR101549287B1 (zh)
CN (1) CN102326159B (zh)
TW (1) TWI482454B (zh)
WO (1) WO2010096569A2 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8549092B2 (en) 2009-02-19 2013-10-01 Micron Technology, Inc. Memory network methods, apparatus, and systems
US9779057B2 (en) 2009-09-11 2017-10-03 Micron Technology, Inc. Autonomous memory architecture
EP2738948A1 (en) * 2012-11-28 2014-06-04 Sercel Method for setting frequency channels in a multi-hop wireless mesh network.
US9258191B2 (en) 2012-12-13 2016-02-09 Microsoft Technology Licensing, Llc Direct network having plural distributed connections to each resource
JP5985403B2 (ja) * 2013-01-10 2016-09-06 株式会社東芝 ストレージ装置
JP6005533B2 (ja) 2013-01-17 2016-10-12 株式会社東芝 記憶装置および記憶方法
US10089043B2 (en) 2013-03-15 2018-10-02 Micron Technology, Inc. Apparatus and methods for a distributed memory system including memory nodes
WO2014178854A1 (en) * 2013-04-30 2014-11-06 Hewlett-Packard Development Company, L.P. Memory network to route memory traffic and i/o traffic
US9779138B2 (en) 2013-08-13 2017-10-03 Micron Technology, Inc. Methods and systems for autonomous memory searching
JP5931816B2 (ja) 2013-08-22 2016-06-08 株式会社東芝 ストレージ装置
JP5902137B2 (ja) 2013-09-24 2016-04-13 株式会社東芝 ストレージシステム
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
US9558143B2 (en) 2014-05-09 2017-01-31 Micron Technology, Inc. Interconnect systems and methods using hybrid memory cube links to send packetized data over different endpoints of a data handling device
US9645760B2 (en) 2015-01-29 2017-05-09 Kabushiki Kaisha Toshiba Storage system and control method thereof
JP6313237B2 (ja) * 2015-02-04 2018-04-18 東芝メモリ株式会社 ストレージシステム
WO2016173611A1 (en) * 2015-04-27 2016-11-03 Hewlett-Packard Development Company, L P Memory systems
KR101797929B1 (ko) 2015-08-26 2017-11-15 서경대학교 산학협력단 매니코어 플랫폼에서 코어에 프로세스를 할당하는 방법 및 코어 프로세스간 통신 방법
KR102665997B1 (ko) 2016-12-20 2024-05-13 에스케이하이닉스 주식회사 패킷을 부호화하는 장치 및 이를 포함하는 메모리 네트워크에서의 라우팅 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060010181A1 (en) * 2004-07-08 2006-01-12 International Business Machines Corporation Multi-dimensional transpose for distributed memory network
US20070250604A1 (en) * 2006-04-21 2007-10-25 Sun Microsystems, Inc. Proximity-based memory allocation in a distributed memory system

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3072646B2 (ja) * 1989-03-20 2000-07-31 富士通株式会社 並列計算機間通信制御方式
JPH05181816A (ja) * 1992-01-07 1993-07-23 Hitachi Ltd 並列データ処理装置及びマイクロプロセッサ
JPH0675930A (ja) * 1992-08-27 1994-03-18 Toshiba Corp 並列プロセッサシステム
JP3224963B2 (ja) * 1994-08-31 2001-11-05 株式会社東芝 ネットワーク接続装置及びパケット転送方法
JPH09190418A (ja) * 1996-01-12 1997-07-22 Hitachi Ltd ネットワーク制御方法
JP3860257B2 (ja) * 1996-06-28 2006-12-20 富士通株式会社 チャネルの決定方法
US6289021B1 (en) 1997-01-24 2001-09-11 Interactic Holdings, Llc Scaleable low-latency switch for usage in an interconnect structure
US6424659B2 (en) * 1998-07-17 2002-07-23 Network Equipment Technologies, Inc. Multi-layer switching apparatus and method
US7538694B2 (en) * 1999-01-29 2009-05-26 Mossman Holdings Llc Network device with improved storage density and access speed using compression techniques
US7104804B2 (en) * 2000-07-03 2006-09-12 Advanced Interconnect Solutions Method and apparatus for memory module circuit interconnection
JP4290320B2 (ja) * 2000-09-28 2009-07-01 富士通株式会社 ルーチング装置
US7299266B2 (en) 2002-09-05 2007-11-20 International Business Machines Corporation Memory management offload for RDMA enabled network adapters
US8117288B2 (en) * 2004-10-12 2012-02-14 International Business Machines Corporation Optimizing layout of an application on a massively parallel supercomputer
US7603137B1 (en) * 2005-01-27 2009-10-13 Verizon Corporate Services Group Inc. & BBN Technologies Corp. Hybrid communications link
ES2368417T3 (es) * 2005-10-27 2011-11-17 Qualcomm Incorporated Método y aparato para generar una permutación para salto de enlace de avance en un sistema de comunicación inalámbrico.
US7725573B2 (en) * 2005-11-29 2010-05-25 Intel Corporation Methods and apparatus for supporting agile run-time network systems via identification and execution of most efficient application code in view of changing network traffic conditions
US7836220B2 (en) 2006-08-17 2010-11-16 Apple Inc. Network direct memory access
US8160056B2 (en) * 2006-09-08 2012-04-17 At&T Intellectual Property Ii, Lp Systems, devices, and methods for network routing
KR100801710B1 (ko) * 2006-09-29 2008-02-11 삼성전자주식회사 비휘발성 메모리 장치 및 이 장치를 구비하는 메모리시스템.
JP5078347B2 (ja) * 2006-12-28 2012-11-21 インターナショナル・ビジネス・マシーンズ・コーポレーション 複数のノードを有するコンピュータ・システムの故障ノードをフェイルオーバー(修復)する方法
US7830905B2 (en) * 2007-04-20 2010-11-09 Cray Inc. Speculative forwarding in a high-radix router
US20090019258A1 (en) * 2007-07-09 2009-01-15 Shi Justin Y Fault tolerant self-optimizing multi-processor system and method thereof
US7623365B2 (en) * 2007-08-29 2009-11-24 Micron Technology, Inc. Memory device interface methods, apparatus, and systems
US8285789B2 (en) * 2007-10-05 2012-10-09 Intel Corporation Flattened butterfly processor interconnect network
US7603428B2 (en) * 2008-02-05 2009-10-13 Raptor Networks Technology, Inc. Software application striping
CN101222346B (zh) * 2008-01-22 2013-04-17 张建中 一种可进行单源组播交互和多源组播交互的方法和装置以及系统
US9229887B2 (en) * 2008-02-19 2016-01-05 Micron Technology, Inc. Memory device with network on chip methods, apparatus, and systems
US8019966B2 (en) * 2008-06-09 2011-09-13 International Business Machines Corporation Data sharing utilizing virtual memory having a shared paging space
US8656082B2 (en) * 2008-08-05 2014-02-18 Micron Technology, Inc. Flexible and expandable memory architectures
US20100049942A1 (en) * 2008-08-20 2010-02-25 John Kim Dragonfly processor interconnect network
US20100162265A1 (en) * 2008-12-23 2010-06-24 Marco Heddes System-On-A-Chip Employing A Network Of Nodes That Utilize Logical Channels And Logical Mux Channels For Communicating Messages Therebetween
US8549092B2 (en) 2009-02-19 2013-10-01 Micron Technology, Inc. Memory network methods, apparatus, and systems

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060010181A1 (en) * 2004-07-08 2006-01-12 International Business Machines Corporation Multi-dimensional transpose for distributed memory network
US20070250604A1 (en) * 2006-04-21 2007-10-25 Sun Microsystems, Inc. Proximity-based memory allocation in a distributed memory system

Also Published As

Publication number Publication date
JP5877872B2 (ja) 2016-03-08
TW201036366A (en) 2010-10-01
CN102326159B (zh) 2015-01-21
US20140032701A1 (en) 2014-01-30
US8549092B2 (en) 2013-10-01
WO2010096569A2 (en) 2010-08-26
JP2014157628A (ja) 2014-08-28
JP2012518843A (ja) 2012-08-16
EP2399201A4 (en) 2013-07-17
EP2399201B1 (en) 2014-09-03
US10681136B2 (en) 2020-06-09
US20180159933A1 (en) 2018-06-07
KR20110123774A (ko) 2011-11-15
WO2010096569A3 (en) 2010-12-16
JP5630664B2 (ja) 2014-11-26
EP2399201A2 (en) 2011-12-28
CN102326159A (zh) 2012-01-18
KR101549287B1 (ko) 2015-09-01
US20100211721A1 (en) 2010-08-19

Similar Documents

Publication Publication Date Title
TWI482454B (zh) 記憶體網路方法、裝置及系統
JP6856612B2 (ja) 多層相互接続による分散型プロセッサを有する処理システム
US8819611B2 (en) Asymmetric mesh NoC topologies
US10409766B2 (en) Computer subsystem and computer system with composite nodes in an interconnection structure
US7210000B2 (en) Transmitting peer-to-peer transactions through a coherent interface
US20200192842A1 (en) Memory request chaining on bus
US11526460B1 (en) Multi-chip processing system and method for adding routing path information into headers of packets
US20130232319A1 (en) Information processing system, routing method and program