TW202024920A - 記憶體中輕量一致性 - Google Patents

記憶體中輕量一致性 Download PDF

Info

Publication number
TW202024920A
TW202024920A TW108136022A TW108136022A TW202024920A TW 202024920 A TW202024920 A TW 202024920A TW 108136022 A TW108136022 A TW 108136022A TW 108136022 A TW108136022 A TW 108136022A TW 202024920 A TW202024920 A TW 202024920A
Authority
TW
Taiwan
Prior art keywords
memory
hmc
consistency
die
access
Prior art date
Application number
TW108136022A
Other languages
English (en)
Other versions
TWI719662B (zh
Inventor
理查 C 墨菲
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 TW202024920A publication Critical patent/TW202024920A/zh
Application granted granted Critical
Publication of TWI719662B publication Critical patent/TWI719662B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0817Cache consistency protocols using directory methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0284Multiple user address space allocation, e.g. using different base addresses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1072Decentralised address translation, e.g. in distributed shared memory systems
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/025Geometric lay-out considerations of storage- and peripheral-blocks in a semiconductor storage device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0817Cache consistency protocols using directory methods
    • G06F12/0824Distributed directories, e.g. linked lists of caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1048Scalability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/25Using a specific main memory architecture
    • G06F2212/251Local memory within processor subsystem
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/30Providing cache or TLB in specific location of a processing system
    • G06F2212/304In main memory subsystem
    • G06F2212/3042In main memory subsystem being part of a memory device, e.g. cache DRAM

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

一種系統包含複數個主機處理器及經組態為用於該等主機處理器之一分散式共用記憶體之複數個混合記憶體立方體(HMC)裝置。一HMC裝置包含:複數個積體電路記憶體晶粒,其包含配置於一第二記憶體晶粒之頂部上之至少一第一記憶體晶粒,且該記憶體晶粒之記憶體之至少一部分經映射以包含一記憶體一致性目錄之至少一部分;及一邏輯基底晶粒,其包含:至少一個記憶體控制器,其經組態以管理至少一個第二裝置對該複數個記憶體晶粒之記憶體之三維(3D)存取;及邏輯電路,其經組態以判定儲存於該複數個記憶體晶粒之該記憶體中之資料之記憶體一致性狀態資訊、傳遞關於對記憶體之該存取之資訊且將該記憶體一致性資訊包含於該所傳遞資訊中。

Description

記憶體中輕量一致性
多處理器系統可包含允許一個以上處理器對相同資料執行操作之共用記憶體。對共用記憶體之存取可為緩慢的且可導致系統延時。為改良記憶體存取時間,多處理器共用記憶體系統可包含一相對較小但較快之存取快取記憶體。快取記憶體儲存可由處理器頻繁存取之資料之一複本。為維持經快取資料之正確性,後續接著一快取一致性協定。一快取一致性協定對藉由處理器之對經快取資料之存取施加規則以確保資料跨越所有處理器係正確的,儘管存在資料之多個複本。然而,快取一致性協定可消耗先前系統頻寬且產生資料存取之不均勻延時。本發明人已認識到需要多處理器共用記憶體系統中之經改良資料管理。
在本發明之實例性實施例之以下詳細說明中,藉由圖式及圖解說明方式而參考本發明之特定實例性實施例。充分詳細地闡述此等實例以使得熟習此項技術者能夠實踐本發明,且該等實例用於圖解說明本發明可如何應用於各種目的或實施例。存在本發明之其他實施例且該等實施例在本發明之範疇內,且可在不背離本發明之標的或範疇之情況下做出邏輯、機械、電及其他改變。本文中所闡述之本發明之各種實施例之特徵或限制雖然對其中併入該等特徵或限制之實例性實施例係必要的,但其並不限制本發明之其他實施例或作為一整體之本發明,且對本發明之任何參考(其元件、操作及應用)並不限制作為一整體之本發明,而是僅用於定義此等實例性實施例。因此,以下詳細說明並不限制僅由隨附申請專利範圍界定之本發明之各種實施例之範疇。 在習用電腦系統中,記憶體以二維方式組織成列及行。為改良記憶體存取延時做出之努力已包含開發具有一高頻寬介面之雙資料速率類型三(DDR3)或DDR4。DDR3及DDR4使用傳統列/行方法。 圖1圖解說明一混合記憶體立方體105 (HMC)之一表示。一HMC藉由堆疊積體電路(IC)記憶體晶粒110且使用達成在IC晶粒之頂部及底部兩者上之存取之穿矽導通體(TSV)結構(未展示)來使晶粒互連而包含一第三維度。TSV製造技術達成多個晶粒層之互連,以便構造三維晶粒。使多個晶粒層互連之此能力准許用記憶體儲存層與一或多個邏輯層之一組合來建造一記憶體裝置。以此方式,該裝置在一單個封裝中提供實體記憶體儲存及邏輯記憶體異動處理。圖1中所展示之配置係用以圖解說明一概念且未必表示一實際晶粒佈局。 一HMC (例如,如混合記憶體立方體規範版本1.0中所規定)可提供具有多達每裝置320 GB/s之可用頻寬容量之一極精巧且功率高效封裝。HMC裝置經由一階層式及平行設計方法而能夠具有高頻寬。裝置階層跨越邏輯層而垂直地發生且硬體平行跨越一給定晶粒層而發生。在一HMC內,記憶體組織成儲存庫。每一儲存庫120使用穿矽導通體在晶粒內垂直地橫跨記憶體層中之每一者。在圖1之經簡化實例中,HMC組織成16個儲存庫,其中每一儲存庫具有一邏輯基底晶粒層115或邏輯基底。 圖2係圖解說明一HMC 205之一四分之一之一方塊圖。展示HMC之四個儲存庫,其中每一儲存庫220包含多個記憶體層。邏輯基底層215包含多個組件。舉例而言,每一儲存庫在邏輯基底中具有管理用於儲存庫之所有記憶體參考操作之一記憶體控制器。記憶體控制器提供對3D儲存層之靈活存取。3D分層方法准許記憶體異動不僅跨越一目標儲存陣列內之記憶體庫,且亦跨越平行儲存陣列平行地存在。邏輯基底層215可包含用以實施所闡述功能之一或多個處理器,且一HMC可為一記憶體中處理器(PIM)裝置。 邏輯基底層215提供接達至HMC裝置之外部鏈路以及內部路由及異動邏輯兩者。外部I/O鏈路由四個或八個邏輯鏈路提供。每一鏈路可包含十六個或八個串列I/O或SERDES雙向鏈路之一群組。四個鏈路裝置具有在10 Gbps、12.5 Gbps及15 Gbps下操作之能力。八個鏈路裝置具有在10 Gbps下操作之能力。在內部,鏈路附接至路由邏輯以便引導邏輯裝置處之控制每一垂直記憶體儲存單元之異動。在圖2之實例中,路由邏輯包含縱橫交換邏輯。 HMC鏈路結構支援將裝置附接至主機(處理器)或其他HMC裝置兩者之能力。鏈結(chaining )之此概念准許構造需要比一單個裝置大之容量而不擾動鏈路結構及經封包化異動協定之記憶體子系統。鏈路可以眾多拓撲經組態為主機裝置鏈路或直通鏈路。 圖3展示基於基底四鏈路HMC組態之四個可能裝置拓撲之方塊圖。HMC記憶體裝置305可以一傳統網路拓撲(諸如一網狀、環面(torus)或縱橫)組態。將多個HMC裝置鏈結在一起增加可用於一主機之總記憶體容量。 返回至圖2,針對每一獨立儲存庫,一儲存庫之邏輯基底層類似於一DIMM控制器單元。在圖2之實例中,儲存庫邏輯區塊225及其各別儲存庫儲存單元220可組織成四重單元。每一四重單元表示四個儲存庫單元。每一四重單元與最接近實體鏈路區塊鬆散地相關聯。以此方式,主機裝置具有以下能力:藉由邏輯上將請求封包發送至其相關聯四重單元實體上最接近於所需儲存庫之鏈路而使一HMC裝置之整個邏輯基底層之延時最小化。 一旦在一目標記憶體儲存庫內,記憶體儲存區便可分解成傳統概念之記憶體庫及動態隨機存取記憶體(DRAM)。穿過經堆疊記憶體層之垂直存取類似於選擇適當記憶體庫。下部記憶體庫可經組態於下部晶粒層中,而垂直上升(vertical ascension)選擇後續記憶體庫。一旦在一記憶體庫層內,便可使用列及行以傳統方式組織DRAM。儲存庫控制器將DRAM分解成各自定址16個位元組之一百萬位元(1Mb)區塊。針對每一行提取,可以32個位元組來執行至一目標記憶體庫之讀取或寫入請求。 針對一多主機多HMC系統,使用一經封包化格式來執行主機裝置與HMC裝置之間的頻帶內通信。此經封包化格式可包含三個主要封包分類:請求封包、回應封包及流量控制封包。封包可經組態為一單個16位元組流量單元或FLIT之一倍數。最大封包大小含有9個FLIT或144個位元組。最小16位元組(一個FLIT)封包含有一封包標頭及封包尾。用於所有記憶體有效負載大小之記憶體讀取請求封包可僅需要封包標頭、封包尾及各別實體記憶體位址。因此,讀取請求可使用一單個FLIT組態。然而,寫入請求及不可部分完成(atomic)請求封包亦含有分別用於寫入及讀取-修改-寫入操作之所需輸入資料。因此,此等請求類型具有2個FLIT至9個FLIT之封包寬度。 一HMC系統實施方案可具有多個封包重新排序點。經指定用於輔助裝置之到達封包可通過等待本端儲存庫存取之彼等輔助裝置。本端儲存庫亦可重新排序已佇列封包以便最高效地利用去往及來自各別儲存庫記憶體庫之頻寬。然而,一給定HMC實施方案中呈現之重新排序點維持一封包串流在一儲存庫內自一特定鏈路至一特定記憶體庫之次序。此確保後續接著記憶體讀取請求之記憶體寫入請求遞送正確及確定性記憶體行為。 如先前所解釋,一HMC提供一高頻寬裝置。然而,本發明系統互連規範通常缺少維持系統(其主記憶體係基於高頻寬裝置,諸如一HMC)中之適當平衡必需之充分功能性、靈活性及效能。舉例而言,一系統架構可包含用以維持一系統單晶片(SoC)與本端記憶體之間的一每秒數百十億位元組頻寬之一或多個HMC,但該系統架構可提供僅具有此可用頻寬之一小部分(例如,十分之一)之系統互連。該結果可為一高度不平衡系統。 此外,若附接至系統互連之處理器提供快取一致性機制,則單獨邏輯區塊可必須新增至該系統以提供充分頻寬及功能性,以維持共用記憶體及快取記憶體子系統兩者中之並行性及正確性。此產生與一組複雜周邊邏輯區塊之處理器互連、記憶體互連及系統互連及具有不同程度之延時之複雜協定規範。 低效快取一致性尤其係具有分散於多個SoC裝置或通訊端當中的執行之多個執行緒(或任務)之應用中之一問題。若核心SoC或處理器支援功能資料快取,則SoC通訊端之間的快取一致性機制必須支援可為比可用於系統互連上之頻寬高之一數量級之一本端記憶體頻寬。再次,該結果係一高度不平衡系統。 用以改良系統層級延時之一方法係提供具有實質上高頻寬記憶體裝置之一頻寬之一記憶體一致性子系統。用以提供此之一種方式係使用一或多個HMC裝置實施系統記憶體一致性。由於HMC具有執行原位不可部分完成記憶體操作之能力,因此HMC可經延伸以提供一高頻寬及低延時記憶體一致性機制。 在一習用系統中,用於快取一致性之一種方法係使用一基於目錄之快取一致性協定。一致性目錄充當一篩選器,一處理器透過該篩選器尋求許可以自主記憶體將一項目載入至其快取。當一項目改變時,該目錄更新具有彼項目之其他快取或使該等其他快取失效。基於目錄之快取一致性包含對將狀態指派至快取線之一「目錄」之維持。每一快取線可被指派一「家節點(home node)」作為快取線之狀態之最終仲裁器。家節點擁有位址空間且准許修改快取線。目錄指派狀態且基於目錄之協定然後使用主機當中的點對點通信以處理後設資料。 處理器通常儲存目錄之顯著量之快取線狀態資訊且依賴於快速快取記憶體存取以讀取快取後設資料且判定快取線之狀態。一快取記憶體控制器保持追蹤哪一主機簽出快取線。在此組態中,快取目錄本身必須經快取(通常完全相關聯地),從而形成維持於最後層級快取或記憶體控制器處之複雜且高耗電資料結構。針對大的對稱多處理器(SMP)組態,此等資料結構通常不適合於晶片上且必須由DRAM支持。 由於其實體記憶體儲存之階層式性質,因此一HMC裝置相較於傳統庫存之DRAM裝置(例如,DDR3或DDR4裝置)可具有一不同實體定址及交錯模型。HMC裝置之實體位址編碼至含有儲存庫、記憶體庫及位址位元之一34位元欄位中。具有四個鏈路裝置之一實施方案利用該欄位之下部32個位元,且具有八個鏈路裝置之一實施方案利用該欄位之下部33個位元。 與DDR3或DDR4裝置相比,一HMC裝置可廉價地實施一抽象記憶體儲存介面。舉例而言針對一DDR類型裝置,當一處理器期望存取一位址時,真實或實際實體位址放置於一匯流排上且被存取。在一HMC協定中,實體位址可在其到達HMC處時重新映射至一不同記憶體位址。因此,對於一HMC,不存在對所寫入之實際記憶體位置之保證。另外,不需要HMC在一設定時間處產生一回應。 可利用一HMC之此位址重新映射能力以實施基於目錄之記憶體一致性。為提供對目錄記憶體一致性之支援,HMC之基底邏輯層可經組態以將一給定記憶體區塊之位置抽象化成一相關聯記憶體字組或「快取線」。因此,可將記憶體一致性目錄儲存於HMC儲存儲存庫內。此提供使用相同HMC協定管理傳統記憶體訊務及快取一致性訊務兩者之一方法;藉此提供本端記憶體資料存取及系統記憶體資料存取之統一性。 圖4展示一種一致性目錄記憶體格式之一實例。可在包含於基底實體位址欄位中之實體位址方面闡述一HMC之直接記憶體空間。在所展示之實例中,多達34個位元之實體位址儲存區係可用的。基底實體位址用作一記憶體操作之目標且可包含儲存庫、記憶體庫及DRAM位址位元。位址延伸立方體ID (CUB)欄位指示其中支持記憶體字組之記憶體駐存之HMC裝置。目錄位元欄位提供記憶體一致性位元以如同記憶體字組係一快取線一般地維持記憶體字組之狀態資訊。若記憶體一致性目錄使用MESI一致性協定,則目錄位元包含一經修改位元、一專屬位元、一共用位元及一無效位元。藉由存取與基底實體位址相關聯之記憶體字組加上CUB偏移而執行將資料字組作為一快取線而存取。若一資料項目包含八個位元組,則一單個8GB HMC裝置可支援超過十億個並行目錄項目。 在記憶體一致性以此方式組織之情況下,可使用HMC不可部分完成記憶體操作對記憶體執行查找及修改操作。在使用HMC本機之異動協定與目錄互動同時維持目錄可變動性。此使得記憶體存取之類型較統一。 可使用一不可部分完成請求執行對目錄項目之存取。不可部分完成請求涉及:自DRAM讀取16個位元組之資料(如依請求位址欄位存取);透過使用一16位元組運算元(亦包含於請求封包中)而對資料執行一操作;及然後將結果寫回至DRAM中之相同位置。讀取-更新-寫入序列以不可部分完成方式發生,此意指在完成不可部分完成請求之寫入之前無其他請求可存取相同記憶體庫。不可部分完成請求類似於一16位元組寫入請求,在於該等不可部分完成請求在請求封包中具有一16位元組資料有效負載,且可或可不傳回一寫入回應(取決於所發出之請求是投遞(posted)請求還是非投遞請求)。由不可部分完成操作產生之資料在一回應命令中不傳回。可使用不可部分完成記憶體操作(諸如(舉例而言)一HMC協定之一ADD立即請求命令)執行對目錄項目之修改。亦可使用不可部分完成記憶體操作(諸如(舉例而言)其中目標立即值為零之一ADD立即請求命令)執行對目錄項目之查找。 圖5展示用HMC裝置實施以包含一基於HMC之記憶體一致性目錄之一電腦系統500之一實例之一方塊圖。該系統包含複數個主機處理器。該等處理器可實施為SoC,其中每一處理器由一SoC通訊端502表示。該實例展示四個處理器,但該系統靈活地包含其他數目個處理器。 該系統亦包含經組態為用於主機處理器之一分散式共用記憶體之複數個HMC裝置。該等HMC裝置中之某些HMC裝置用作端點裝置且某些HMC裝置用作集線器裝置。集線器裝置可提供直通通信能力以提供系統內通信。 假定記憶體用具有以三維方式配置之記憶體晶粒之HMC裝置實施,共用記憶體經組態以用於3D記憶體存取。一HMC裝置505之記憶體晶粒之記憶體之至少一部分經映射以包含記憶體一致性目錄之至少一部分。此暗示習用快取一致性資料或後設資料可儲存於其中記憶體字組駐存之記憶體中。一HMC裝置之一邏輯基底晶粒包含管理至少一個第二裝置(諸如(舉例而言)一處理器或另一HMC裝置)對HMC裝置記憶體之三維(3D)存取之至少一個記憶體控制器。邏輯基底晶粒亦包含針對儲存於複數個記憶體晶粒之記憶體中之資料實施一記憶體一致性協定之邏輯電路。 由於一致性目錄儲存於HMC裝置中,因此一HMC裝置本身可用作用於其自身之資料之家節點。記憶體一致性狀態資訊可與該資料儲存在一起。邏輯基底層在不將該資料儲存於一單獨快取中之情況下允許記憶體一致性狀態資訊在處理器當中傳遞。儲存於共用記憶體中之資料基本上係一快取線。另外,假定記憶體一致性由HMC裝置實施,與維持記憶體一致性狀態資訊相關聯之處理額外負擔自處理器移除。 如先前所解釋,針對一多主機多HMC系統,使用一經封包化協定來執行主機裝置與HMC裝置之間的I/O通信。記憶體一致性協定可包含於此I/O協定中。經封包化資訊可包含記憶體一致性狀態資訊。在某些實例中,記憶體一致性狀態資訊可如圖4之實例中一般與位址資訊包含在一起。將記憶體一致性協定與I/O協定包含在一起將兩種功能組合至一統一高效通信系統中。此使本端記憶體請求及系統記憶體請求兩者中之延時最小化且消除本端介面與系統介面之間的協定轉譯。 狀態資訊判定一處理器是否可安全地將資料寫入至記憶體字組、記憶體字組當前是否保持有效資料且判定可如何將記憶體字組轉換至其中可能進行對記憶體之讀取或寫入之一狀態中。在某些實例中,一HMC裝置之邏輯電路實施一MSI快取一致性協定且判定記憶體晶粒之一記憶體字組之「經修改」狀態資訊、「共用」狀態資訊及「無效」狀態資訊且與記憶體晶粒之記憶體字組相關聯地儲存狀態資訊。在特定變化中,經修改狀態資訊、共用狀態資訊及無效狀態資訊分別包含一經修改位元、一共用位元及一無效位元。在特定實例中,一HMC裝置之邏輯電路實施判定專屬權狀態資訊之一MESI快取。在特定實例中,一HMC裝置之邏輯電路實施判定記憶體晶粒之一記憶體字組之所有權狀態資訊之一MOSI快取。邏輯電路與共用記憶體資料字組相關聯地儲存專屬權狀態資訊及所有權狀態中之一者或兩者。在某些實例中,集線器HMC裝置將路由資訊新增至一經封包化訊息。路由資訊可用以(例如,藉由一接收HMC裝置)判定記憶體一致性狀態資訊。 根據某些實例,一「簽出/簽入」機制由希望更新一特定記憶體字組之處理器使用。在此情形中,處理器請求對記憶體位置X 之專屬存取。一旦彼存取由其中記憶體字組駐存之HMC裝置授予,記憶體字組便可標記為「經簽出」(在裝置上之一小相關聯表中或作為記憶體中之狀態之一額外位元)。當資料由處理器往回簽入時,HMC裝置推定該資料被更新。因此,記憶體字組本身將由處理器寫回(或「清空」)且記憶體中之空間可經重新使用以儲存額外狀態資訊(例如,指示簽出記憶體字組之裝置之狀態資訊)。對記憶體字組X 之進一步請求可自組合兩條資訊(例如,快取線由處理器P 簽出之狀態資訊)之HMC裝置接收一回應。基於目錄之一致性協定然後藉由使用記憶體一致性狀態更新(例如,可要求處理器P 清空記憶體內容等)而繼續進行。當處理器P 將新資料清空回至家節點(記憶體字組之HMC裝置)時,可簽入記憶體字組且清除狀態資訊。 在某些實例中,HMC裝置回應於對一目標記憶體字組之一特定狀態請求。舉例而言,目標HMC裝置可自一處理器接收對對一記憶體字組之專屬存取之一請求(例如,對一專屬狀態之一請求)。HMC裝置之邏輯電路可起始對記憶體字組之狀態資訊之一讀取。若狀態資訊指示一第二裝置已具有對記憶體字組之專屬存取及所有權,則邏輯電路可使該記憶體字組無效且等待來自擁有之裝置之無效確認。當接收到確認時,HMC裝置可將專屬存取賦予原始請求裝置。 圖6展示操作一電腦系統(諸如圖5中所展示之實例性系統)之一方法600之一實例之一流程圖。在605處,諸如藉由一HMC協定而管理對該電腦系統之一分散式共用記憶體之存取。該共用記憶體經組態以用於三維存取,且包含一或多個HMC裝置。 在610處,將記憶體一致性狀態資訊儲存於分散式共用記憶體中作為一記憶體一致性目錄。在某些實例中,記憶體一致性目錄分散於電腦系統之多個HMC裝置上。 在615處,在運算系統之複數個處理器與共用記憶體之間傳遞傳遞經封包化資訊,且在620處,將快取一致性狀態資訊與所傳遞經封包化資訊包含在一起。在某些實例中,620在電腦系統之處理器之間點對點地傳遞快取一致性狀態資訊。 本文中所闡述之實例性系統及方法可提供優於一習用多處理器分散式共用記憶體系統的數個優點。由HMC裝置提供之高頻寬產生一高頻寬記憶體及高頻寬系統互連。HMC裝置在系統架構中之分佈使本端記憶體之間以及與HMC裝置互連之其他系統層級記憶體之間的頻寬及系統延時特性平衡。將記憶體一致性協定併入至系統I/O協定中提供維持本端記憶體與系統層級記憶體之間的記憶體請求之不可部分完成性之一個統一協定。該統一協定藉由減少或消除本端記憶體存取與系統層級記憶體存取之間的協定轉譯且藉由使用用於本端記憶體存取及系統級記憶體存取兩者之一高效HMC封包規範而使延時最小化。藉由卸載記憶體一致性目錄之維持且藉由由SoC簡化一致性目錄查找而簡化SoC設計。 用於快取一致性之另一方法係使用一窺探協定。在一窺探協定中,一電腦系統之處理器監視使用可提供處理器當中的點對點通信之一記憶體一致性介面傳輸之記憶體訊務。與一基於目錄之方法相比,處理器自經由一致性介面之通信追蹤狀態資訊而非藉由存取一目錄來判定狀態資訊。針對一MSI窺探協定,記憶體一致性介面廣播一特定快取線是否處於經修改、共用或無效狀態中,從而允許快取記憶體及處理器因此更新共用複本之狀態。舉例而言,當修改一快取線時,必須使系統中之快取線之其他複本無效,使得可維持一致資料。 一電腦系統之HMC裝置可經組態以自處理器將窺探功能卸載(諸如藉由將記憶體一致性廣播協定併入至該系統之I/O協定中)。保持追蹤記憶體字組之狀態(或窺探)之一HMC裝置可回應於對共用記憶體字組之請求,猶如任何習用快取記憶體回應於對共用快取線之請求一樣。 舉例而言,一HMC裝置之一儲存庫之一邏輯基底層可包含判定駐存於其裝置中之一記憶體字組之狀態資訊之邏輯電路。當對記憶體字組進行讀取存取時,一邏輯基底層之邏輯電路可將彼記憶體字組之狀態資訊設定為「專屬的」以將專屬存取賦予請求者。可藉助對讀取存取之經封包化回應而傳回狀態資訊。其他HMC裝置可追蹤包含於經封包化通信中之狀態資訊(例如,藉由使用一經延伸HMC協定)。電腦系統中之某些HMC裝置(例如,集線器HMC裝置)包含直通鏈路以促進封包路由。直通鏈路可用以追蹤在回應封包中傳遞之狀態資訊。一端點(諸如一HMC主機鏈路或處理器)可藉由將一非修改請求傳輸至記憶體字組而自一記憶體字組之擁有者查詢狀態資訊。可以對非修改請求之一經封包化回應通信來傳回狀態資訊且其他HMC裝置可自回應封包偵測狀態資訊。 圖7展示操作一電腦系統之一方法700之另一實例之一流程圖。該電腦系統包含經組態為一共用記憶體之複數個HMC裝置。在705處,管理對該電腦系統之一分散式共用記憶體之存取(例如,使用一經延伸HMC協定)。在710處,分散式共用記憶體判定由記憶體存取產生之記憶體一致性狀態資訊。在某些實例中,共用記憶體分散於多個HMC裝置上且使用HMC裝置來判定記憶體一致性狀態資訊。 在715處,在運算系統之複數個處理器及共用記憶體端點當中傳遞經封包化資訊。將記憶體一致性狀態資訊與所傳遞經封包化資訊包含在一起。在某些實例中,使用一經延伸HMC協定來傳遞經封包化資訊。在720處,使用共用記憶體端點來追蹤或窺探廣播記憶體一致性狀態資訊。 經窺探無效及寫回將使資料之一致複本能夠維持於記憶體中且可產生系統協定之總體簡化。將協定併入至記憶體介面之經封包化通信中可增加回應代理程式(或回應端點)之數目,但HMC裝置之高頻寬亦可能達成較快且較具可擴縮性回應。 雖然本文中已圖解說明且闡述了特定實施例,但熟習此項技術者將瞭解,達成相同目的、結構或功能之任何配置可替代所展示之特定實施例。本申請案意欲涵蓋對本文中所闡述之本發明之實例性實施例之任何改編或變化形式。意欲本發明僅由申請專利範圍及其等效物之完全範疇限制。
105:混合記憶體立方體 110:積體電路記憶體晶粒 115:邏輯基底晶粒層 120:儲存庫 205:混合記憶體立方體 215:邏輯基底層 220:儲存庫/儲存庫儲存單元 225:儲存庫邏輯區塊 305:混合記憶體立方體記憶體裝置 502:系統單晶片通訊端 505:混合記憶體立方體裝置
圖1圖解說明可用以實踐本發明之某些實施例之一混合記憶體立方體之一表示。 圖2係圖解說明可用以實踐本發明之某些實施例之一混合記憶體立方體之一四分之一之一方塊圖。 圖3展示可用以實踐本發明之某些實施例之混合記憶體立方體之四個可能裝置拓撲之方塊圖。 圖4展示可用以實踐本發明之某些實施例之一種一致性目錄記憶體格式之一實例。 圖5展示可用以實踐本發明之某些實施例之用HMC裝置實施之一電腦系統之一實例之一方塊圖。 圖6展示操作一電腦系統之一方法之一實例之一流程圖。 圖7展示操作一電腦系統之一方法之另一實例之一流程圖。
205:混合記憶體立方體
215:邏輯基底層
220:儲存庫/儲存庫儲存單元
225:儲存庫邏輯區塊

Claims (1)

  1. 一種運算系統,其包括: 複數個主機處理器;及 複數個混合記憶體立方體(HMC)裝置,其經組態為用於該等主機處理器之一分散式共用記憶體,一HMC裝置包含: 複數個積體電路記憶體晶粒,其包含配置於一第二記憶體晶粒之頂部上之至少一第一記憶體晶粒,且該記憶體晶粒之記憶體之至少一部分經映射以包含一記憶體一致性目錄之至少一部分;及 一邏輯基底晶粒,其包含:至少一個記憶體控制器,其經組態以管理至少一個第二裝置對該複數個記憶體晶粒之記憶體之三維(3D)存取;及邏輯電路,其經組態以判定儲存於該複數個記憶體晶粒之該記憶體中之資料之記憶體一致性狀態資訊、傳遞關於對記憶體之該存取之資訊且將該記憶體一致性資訊包含於該所傳遞資訊中。
TW108136022A 2014-05-08 2015-05-08 記憶體中輕量一致性 TWI719662B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201461990199P 2014-05-08 2014-05-08
US61/990,199 2014-05-08

Publications (2)

Publication Number Publication Date
TW202024920A true TW202024920A (zh) 2020-07-01
TWI719662B TWI719662B (zh) 2021-02-21

Family

ID=54368407

Family Applications (2)

Application Number Title Priority Date Filing Date
TW104114781A TWI706247B (zh) 2014-05-08 2015-05-08 記憶體中輕量一致性
TW108136022A TWI719662B (zh) 2014-05-08 2015-05-08 記憶體中輕量一致性

Family Applications Before (1)

Application Number Title Priority Date Filing Date
TW104114781A TWI706247B (zh) 2014-05-08 2015-05-08 記憶體中輕量一致性

Country Status (6)

Country Link
US (2) US10825496B2 (zh)
EP (1) EP3140749B1 (zh)
KR (1) KR101887797B1 (zh)
CN (1) CN106415522B (zh)
TW (2) TWI706247B (zh)
WO (1) WO2015171905A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11908546B2 (en) 2014-05-08 2024-02-20 Micron Technology, Inc. In-memory lightweight memory coherence protocol

Families Citing this family (163)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9158667B2 (en) 2013-03-04 2015-10-13 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US8964496B2 (en) 2013-07-26 2015-02-24 Micron Technology, Inc. Apparatuses and methods for performing compare operations using sensing circuitry
US8971124B1 (en) 2013-08-08 2015-03-03 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US9153305B2 (en) 2013-08-30 2015-10-06 Micron Technology, Inc. Independently addressable memory array address spaces
US9019785B2 (en) 2013-09-19 2015-04-28 Micron Technology, Inc. Data shifting via a number of isolation devices
US9449675B2 (en) 2013-10-31 2016-09-20 Micron Technology, Inc. Apparatuses and methods for identifying an extremum value stored in an array of memory cells
US9430191B2 (en) 2013-11-08 2016-08-30 Micron Technology, Inc. Division operations for memory
US9934856B2 (en) 2014-03-31 2018-04-03 Micron Technology, Inc. Apparatuses and methods for comparing data patterns in memory
US9786335B2 (en) 2014-06-05 2017-10-10 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US9830999B2 (en) 2014-06-05 2017-11-28 Micron Technology, Inc. Comparison operations in memory
US9449674B2 (en) 2014-06-05 2016-09-20 Micron Technology, Inc. Performing logical operations using sensing circuitry
US9704540B2 (en) 2014-06-05 2017-07-11 Micron Technology, Inc. Apparatuses and methods for parity determination using sensing circuitry
US9711207B2 (en) 2014-06-05 2017-07-18 Micron Technology, Inc. Performing logical operations using sensing circuitry
US9910787B2 (en) 2014-06-05 2018-03-06 Micron Technology, Inc. Virtual address table
US9779019B2 (en) 2014-06-05 2017-10-03 Micron Technology, Inc. Data storage layout
US9711206B2 (en) 2014-06-05 2017-07-18 Micron Technology, Inc. Performing logical operations using sensing circuitry
US9455020B2 (en) 2014-06-05 2016-09-27 Micron Technology, Inc. Apparatuses and methods for performing an exclusive or operation using sensing circuitry
US10074407B2 (en) 2014-06-05 2018-09-11 Micron Technology, Inc. Apparatuses and methods for performing invert operations using sensing circuitry
US9496023B2 (en) 2014-06-05 2016-11-15 Micron Technology, Inc. Comparison operations on logical representations of values in memory
US9740607B2 (en) 2014-09-03 2017-08-22 Micron Technology, Inc. Swap operations in memory
US9898252B2 (en) 2014-09-03 2018-02-20 Micron Technology, Inc. Multiplication operations in memory
US9904515B2 (en) 2014-09-03 2018-02-27 Micron Technology, Inc. Multiplication operations in memory
US9747961B2 (en) 2014-09-03 2017-08-29 Micron Technology, Inc. Division operations in memory
US10068652B2 (en) 2014-09-03 2018-09-04 Micron Technology, Inc. Apparatuses and methods for determining population count
US9589602B2 (en) 2014-09-03 2017-03-07 Micron Technology, Inc. Comparison operations in memory
US9847110B2 (en) 2014-09-03 2017-12-19 Micron Technology, Inc. Apparatuses and methods for storing a data value in multiple columns of an array corresponding to digits of a vector
US9836218B2 (en) 2014-10-03 2017-12-05 Micron Technology, Inc. Computing reduction and prefix sum operations in memory
US9940026B2 (en) 2014-10-03 2018-04-10 Micron Technology, Inc. Multidimensional contiguous memory allocation
US10163467B2 (en) 2014-10-16 2018-12-25 Micron Technology, Inc. Multiple endianness compatibility
US10147480B2 (en) 2014-10-24 2018-12-04 Micron Technology, Inc. Sort operation in memory
US9779784B2 (en) 2014-10-29 2017-10-03 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US10073635B2 (en) 2014-12-01 2018-09-11 Micron Technology, Inc. Multiple endianness compatibility
US9747960B2 (en) 2014-12-01 2017-08-29 Micron Technology, Inc. Apparatuses and methods for converting a mask to an index
US10061590B2 (en) 2015-01-07 2018-08-28 Micron Technology, Inc. Generating and executing a control flow
US10032493B2 (en) 2015-01-07 2018-07-24 Micron Technology, Inc. Longest element length determination in memory
US9583163B2 (en) 2015-02-03 2017-02-28 Micron Technology, Inc. Loop structure for operations in memory
WO2016126472A1 (en) 2015-02-06 2016-08-11 Micron Technology, Inc. Apparatuses and methods for scatter and gather
CN107408404B (zh) 2015-02-06 2021-02-12 美光科技公司 用于存储器装置的设备及方法以作为程序指令的存储
EP3254286B1 (en) 2015-02-06 2019-09-11 Micron Technology, INC. Apparatuses and methods for parallel writing to multiple memory device locations
WO2016144724A1 (en) 2015-03-10 2016-09-15 Micron Technology, Inc. Apparatuses and methods for shift decisions
US9898253B2 (en) 2015-03-11 2018-02-20 Micron Technology, Inc. Division operations on variable length elements in memory
US9741399B2 (en) 2015-03-11 2017-08-22 Micron Technology, Inc. Data shift by elements of a vector in memory
US10365851B2 (en) 2015-03-12 2019-07-30 Micron Technology, Inc. Apparatuses and methods for data movement
US10146537B2 (en) 2015-03-13 2018-12-04 Micron Technology, Inc. Vector population count determination in memory
US10049054B2 (en) 2015-04-01 2018-08-14 Micron Technology, Inc. Virtual register file
US10140104B2 (en) 2015-04-14 2018-11-27 Micron Technology, Inc. Target architecture determination
US9959923B2 (en) 2015-04-16 2018-05-01 Micron Technology, Inc. Apparatuses and methods to reverse data stored in memory
US10073786B2 (en) 2015-05-28 2018-09-11 Micron Technology, Inc. Apparatuses and methods for compute enabled cache
US9704541B2 (en) 2015-06-12 2017-07-11 Micron Technology, Inc. Simulating access lines
US9921777B2 (en) 2015-06-22 2018-03-20 Micron Technology, Inc. Apparatuses and methods for data transfer from sensing circuitry to a controller
US9996479B2 (en) 2015-08-17 2018-06-12 Micron Technology, Inc. Encryption of executables in computational memory
US9905276B2 (en) 2015-12-21 2018-02-27 Micron Technology, Inc. Control of sensing components in association with performing operations
US9952925B2 (en) 2016-01-06 2018-04-24 Micron Technology, Inc. Error code calculation on sensing circuitry
US10048888B2 (en) 2016-02-10 2018-08-14 Micron Technology, Inc. Apparatuses and methods for partitioned parallel data movement
US9892767B2 (en) 2016-02-12 2018-02-13 Micron Technology, Inc. Data gathering in memory
US9971541B2 (en) 2016-02-17 2018-05-15 Micron Technology, Inc. Apparatuses and methods for data movement
US9899070B2 (en) 2016-02-19 2018-02-20 Micron Technology, Inc. Modified decode for corner turn
US10956439B2 (en) 2016-02-19 2021-03-23 Micron Technology, Inc. Data transfer with a bit vector operation device
US9697876B1 (en) 2016-03-01 2017-07-04 Micron Technology, Inc. Vertical bit vector shift in memory
US9997232B2 (en) 2016-03-10 2018-06-12 Micron Technology, Inc. Processing in memory (PIM) capable memory device having sensing circuitry performing logic operations
US10262721B2 (en) 2016-03-10 2019-04-16 Micron Technology, Inc. Apparatuses and methods for cache invalidate
US10379772B2 (en) 2016-03-16 2019-08-13 Micron Technology, Inc. Apparatuses and methods for operations using compressed and decompressed data
US9910637B2 (en) 2016-03-17 2018-03-06 Micron Technology, Inc. Signed division in memory
US10120740B2 (en) 2016-03-22 2018-11-06 Micron Technology, Inc. Apparatus and methods for debugging on a memory device
US11074988B2 (en) 2016-03-22 2021-07-27 Micron Technology, Inc. Apparatus and methods for debugging on a host and memory device
US10388393B2 (en) 2016-03-22 2019-08-20 Micron Technology, Inc. Apparatus and methods for debugging on a host and memory device
US10474581B2 (en) 2016-03-25 2019-11-12 Micron Technology, Inc. Apparatuses and methods for cache operations
US10977033B2 (en) 2016-03-25 2021-04-13 Micron Technology, Inc. Mask patterns generated in memory from seed vectors
US10074416B2 (en) 2016-03-28 2018-09-11 Micron Technology, Inc. Apparatuses and methods for data movement
US10430244B2 (en) 2016-03-28 2019-10-01 Micron Technology, Inc. Apparatuses and methods to determine timing of operations
US10453502B2 (en) 2016-04-04 2019-10-22 Micron Technology, Inc. Memory bank power coordination including concurrently performing a memory operation in a selected number of memory regions
US10607665B2 (en) 2016-04-07 2020-03-31 Micron Technology, Inc. Span mask generation
US9818459B2 (en) 2016-04-19 2017-11-14 Micron Technology, Inc. Invert operations using sensing circuitry
US9659605B1 (en) 2016-04-20 2017-05-23 Micron Technology, Inc. Apparatuses and methods for performing corner turn operations using sensing circuitry
US10153008B2 (en) 2016-04-20 2018-12-11 Micron Technology, Inc. Apparatuses and methods for performing corner turn operations using sensing circuitry
US10042608B2 (en) 2016-05-11 2018-08-07 Micron Technology, Inc. Signed division in memory
US9659610B1 (en) 2016-05-18 2017-05-23 Micron Technology, Inc. Apparatuses and methods for shifting data
US10503641B2 (en) * 2016-05-31 2019-12-10 Advanced Micro Devices, Inc. Cache coherence for processing in memory
US10049707B2 (en) 2016-06-03 2018-08-14 Micron Technology, Inc. Shifting data
US10387046B2 (en) 2016-06-22 2019-08-20 Micron Technology, Inc. Bank to bank data transfer
US10037785B2 (en) 2016-07-08 2018-07-31 Micron Technology, Inc. Scan chain operation in sensing circuitry
US10388360B2 (en) 2016-07-19 2019-08-20 Micron Technology, Inc. Utilization of data stored in an edge section of an array
US10733089B2 (en) 2016-07-20 2020-08-04 Micron Technology, Inc. Apparatuses and methods for write address tracking
US10387299B2 (en) 2016-07-20 2019-08-20 Micron Technology, Inc. Apparatuses and methods for transferring data
US9972367B2 (en) 2016-07-21 2018-05-15 Micron Technology, Inc. Shifting data in sensing circuitry
US9767864B1 (en) 2016-07-21 2017-09-19 Micron Technology, Inc. Apparatuses and methods for storing a data value in a sensing circuitry element
US10303632B2 (en) 2016-07-26 2019-05-28 Micron Technology, Inc. Accessing status information
US10468087B2 (en) 2016-07-28 2019-11-05 Micron Technology, Inc. Apparatuses and methods for operations in a self-refresh state
US9990181B2 (en) 2016-08-03 2018-06-05 Micron Technology, Inc. Apparatuses and methods for random number generation
US11029951B2 (en) 2016-08-15 2021-06-08 Micron Technology, Inc. Smallest or largest value element determination
US10606587B2 (en) 2016-08-24 2020-03-31 Micron Technology, Inc. Apparatus and methods related to microcode instructions indicating instruction types
US10466928B2 (en) 2016-09-15 2019-11-05 Micron Technology, Inc. Updating a register in memory
US10387058B2 (en) 2016-09-29 2019-08-20 Micron Technology, Inc. Apparatuses and methods to change data category values
US10014034B2 (en) 2016-10-06 2018-07-03 Micron Technology, Inc. Shifting data in sensing circuitry
US10529409B2 (en) 2016-10-13 2020-01-07 Micron Technology, Inc. Apparatuses and methods to perform logical operations using sensing circuitry
US9805772B1 (en) 2016-10-20 2017-10-31 Micron Technology, Inc. Apparatuses and methods to selectively perform logical operations
US10373666B2 (en) 2016-11-08 2019-08-06 Micron Technology, Inc. Apparatuses and methods for compute components formed over an array of memory cells
US10423353B2 (en) 2016-11-11 2019-09-24 Micron Technology, Inc. Apparatuses and methods for memory alignment
US9761300B1 (en) 2016-11-22 2017-09-12 Micron Technology, Inc. Data shift apparatuses and methods
US10402340B2 (en) 2017-02-21 2019-09-03 Micron Technology, Inc. Memory array page table walk
US10268389B2 (en) 2017-02-22 2019-04-23 Micron Technology, Inc. Apparatuses and methods for in-memory operations
US10403352B2 (en) 2017-02-22 2019-09-03 Micron Technology, Inc. Apparatuses and methods for compute in data path
US10838899B2 (en) 2017-03-21 2020-11-17 Micron Technology, Inc. Apparatuses and methods for in-memory data switching networks
US10185674B2 (en) 2017-03-22 2019-01-22 Micron Technology, Inc. Apparatus and methods for in data path compute operations
US11222260B2 (en) 2017-03-22 2022-01-11 Micron Technology, Inc. Apparatuses and methods for operating neural networks
US10049721B1 (en) 2017-03-27 2018-08-14 Micron Technology, Inc. Apparatuses and methods for in-memory operations
WO2018183526A1 (en) 2017-03-29 2018-10-04 Fungible, Inc. Non-blocking, full-mesh data center network having optical permutors
WO2018183553A1 (en) 2017-03-29 2018-10-04 Fungible, Inc. Non-blocking any-to-any data center network having multiplexed packet spraying within access node groups
US10686729B2 (en) 2017-03-29 2020-06-16 Fungible, Inc. Non-blocking any-to-any data center network with packet spraying over multiple alternate data paths
CN117971715A (zh) 2017-04-10 2024-05-03 微软技术许可有限责任公司 多处理器系统中的中继一致存储器管理
US10043570B1 (en) 2017-04-17 2018-08-07 Micron Technology, Inc. Signed element compare in memory
US10147467B2 (en) 2017-04-17 2018-12-04 Micron Technology, Inc. Element value comparison in memory
US9997212B1 (en) 2017-04-24 2018-06-12 Micron Technology, Inc. Accessing data in memory
US10942843B2 (en) 2017-04-25 2021-03-09 Micron Technology, Inc. Storing data elements of different lengths in respective adjacent rows or columns according to memory shapes
US10236038B2 (en) 2017-05-15 2019-03-19 Micron Technology, Inc. Bank to bank data transfer
US10068664B1 (en) 2017-05-19 2018-09-04 Micron Technology, Inc. Column repair in memory
US10013197B1 (en) 2017-06-01 2018-07-03 Micron Technology, Inc. Shift skip
US10262701B2 (en) 2017-06-07 2019-04-16 Micron Technology, Inc. Data transfer between subarrays in memory
US10152271B1 (en) 2017-06-07 2018-12-11 Micron Technology, Inc. Data replication
US10318168B2 (en) 2017-06-19 2019-06-11 Micron Technology, Inc. Apparatuses and methods for simultaneous in data path compute operations
CN110915173B (zh) 2017-07-10 2022-04-29 芬基波尔有限责任公司 用于计算节点和存储节点的数据处理单元
CN110892380B (zh) 2017-07-10 2023-08-11 芬基波尔有限责任公司 用于流处理的数据处理单元
US10592424B2 (en) 2017-07-14 2020-03-17 Arm Limited Range-based memory system
US10613989B2 (en) 2017-07-14 2020-04-07 Arm Limited Fast address translation for virtual machines
US10534719B2 (en) 2017-07-14 2020-01-14 Arm Limited Memory system for a data processing network
US10353826B2 (en) 2017-07-14 2019-07-16 Arm Limited Method and apparatus for fast context cloning in a data processing system
US10565126B2 (en) 2017-07-14 2020-02-18 Arm Limited Method and apparatus for two-layer copy-on-write
US10489304B2 (en) 2017-07-14 2019-11-26 Arm Limited Memory address translation
US10467159B2 (en) * 2017-07-14 2019-11-05 Arm Limited Memory node controller
US10162005B1 (en) 2017-08-09 2018-12-25 Micron Technology, Inc. Scan chain operations
US10534553B2 (en) 2017-08-30 2020-01-14 Micron Technology, Inc. Memory array accessibility
US10741239B2 (en) 2017-08-31 2020-08-11 Micron Technology, Inc. Processing in memory device including a row address strobe manager
US10346092B2 (en) 2017-08-31 2019-07-09 Micron Technology, Inc. Apparatuses and methods for in-memory operations using timing circuitry
US10416927B2 (en) 2017-08-31 2019-09-17 Micron Technology, Inc. Processing in memory
US10474600B2 (en) 2017-09-14 2019-11-12 Samsung Electronics Co., Ltd. Heterogeneous accelerator for highly efficient learning systems
US11178262B2 (en) 2017-09-29 2021-11-16 Fungible, Inc. Fabric control protocol for data center networks with packet spraying over multiple alternate data paths
WO2019068017A1 (en) 2017-09-29 2019-04-04 Fungible, Inc. RESILIENT NETWORK COMMUNICATION USING SELECTIVE PULVER FLOW SPRAY BY MULTIPATH PATH
US10409739B2 (en) 2017-10-24 2019-09-10 Micron Technology, Inc. Command selection policy
WO2019104090A1 (en) 2017-11-21 2019-05-31 Fungible, Inc. Work unit stack data structures in multiple core processor system for stream data processing
US10522210B2 (en) 2017-12-14 2019-12-31 Micron Technology, Inc. Apparatuses and methods for subarray addressing
US10332586B1 (en) 2017-12-19 2019-06-25 Micron Technology, Inc. Apparatuses and methods for subrow addressing
US10614875B2 (en) 2018-01-30 2020-04-07 Micron Technology, Inc. Logical operations using memory cells
US11194477B2 (en) 2018-01-31 2021-12-07 Micron Technology, Inc. Determination of a match between data values stored by three or more arrays
US10437557B2 (en) 2018-01-31 2019-10-08 Micron Technology, Inc. Determination of a match between data values stored by several arrays
US10540288B2 (en) 2018-02-02 2020-01-21 Fungible, Inc. Efficient work unit processing in a multicore system
US10725696B2 (en) 2018-04-12 2020-07-28 Micron Technology, Inc. Command selection policy with read priority
US10440341B1 (en) 2018-06-07 2019-10-08 Micron Technology, Inc. Image processor formed in an array of memory cells
US10884850B2 (en) 2018-07-24 2021-01-05 Arm Limited Fault tolerant memory system
US10769071B2 (en) 2018-10-10 2020-09-08 Micron Technology, Inc. Coherent memory access
US11175915B2 (en) 2018-10-10 2021-11-16 Micron Technology, Inc. Vector registers implemented in memory
US10483978B1 (en) 2018-10-16 2019-11-19 Micron Technology, Inc. Memory device processing
US10929175B2 (en) 2018-11-21 2021-02-23 Fungible, Inc. Service chaining hardware accelerators within a data stream processing integrated circuit
US11184446B2 (en) 2018-12-05 2021-11-23 Micron Technology, Inc. Methods and apparatus for incentivizing participation in fog networks
CN109785905B (zh) * 2018-12-18 2021-07-23 中国科学院计算技术研究所 一种面向基因比对算法的加速装置
US10867655B1 (en) 2019-07-08 2020-12-15 Micron Technology, Inc. Methods and apparatus for dynamically adjusting performance of partitioned memory
US11360768B2 (en) 2019-08-14 2022-06-14 Micron Technolgy, Inc. Bit string operations in memory
US10957681B1 (en) * 2019-08-28 2021-03-23 Micron Technology, Inc. Integrated assemblies comprising sense-amplifier-circuitry and wordline-driver-circuitry under memory cells of a memory array
US11449577B2 (en) 2019-11-20 2022-09-20 Micron Technology, Inc. Methods and apparatus for performing video processing matrix operations within a memory array
US11853385B2 (en) 2019-12-05 2023-12-26 Micron Technology, Inc. Methods and apparatus for performing diversity matrix operations within a memory array
US11227641B1 (en) 2020-07-21 2022-01-18 Micron Technology, Inc. Arithmetic operations in memory
US11972117B2 (en) * 2021-07-19 2024-04-30 EMC IP Holding Company LLC Selecting surviving storage node based on environmental conditions
CN114038490B (zh) * 2021-10-14 2023-07-04 西安紫光国芯半导体有限公司 基于三维异质集成的一致性链路存储芯片
CN114627908A (zh) * 2022-02-28 2022-06-14 西安紫光国芯半导体有限公司 基于3d-ic的存储架构

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5561622A (en) * 1993-09-13 1996-10-01 International Business Machines Corporation Integrated memory cube structure
US6415364B1 (en) * 1997-12-31 2002-07-02 Unisys Corporation High-speed memory storage unit for a multiprocessor system having integrated directory and data storage subsystems
US6944719B2 (en) * 2002-05-15 2005-09-13 Broadcom Corp. Scalable cache coherent distributed shared memory processing system
US20060129709A1 (en) * 2004-12-09 2006-06-15 International Business Machines Corporation Multipurpose scalable server communication link
US7376796B2 (en) * 2005-11-01 2008-05-20 Network Appliance, Inc. Lightweight coherency control protocol for clustered storage system
JP4790386B2 (ja) 2005-11-18 2011-10-12 エルピーダメモリ株式会社 積層メモリ
US7477535B2 (en) * 2006-10-05 2009-01-13 Nokia Corporation 3D chip arrangement including memory manager
BR112013001584B1 (pt) 2010-06-30 2020-04-22 Ibm dispositivo de memória de acesso aleatório magnético e método para produzir um dispositivo de memória de acesso aleatório magnético
US9753858B2 (en) * 2011-11-30 2017-09-05 Advanced Micro Devices, Inc. DRAM cache with tags and data jointly stored in physical rows
KR20140028618A (ko) 2012-08-29 2014-03-10 삼성전자주식회사 쓰기 페일을 줄이는 메모리 장치, 이를 포함하는 메모리 시스템 및 그 쓰기 방법
JP5752741B2 (ja) 2012-09-26 2015-07-22 富士フイルム株式会社 多層基板および半導体パッケージ
US9170948B2 (en) * 2012-12-23 2015-10-27 Advanced Micro Devices, Inc. Cache coherency using die-stacked memory device with logic die
KR20150132099A (ko) * 2013-03-20 2015-11-25 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 서로 다른 계층 레벨의 메모리 노드를 가진 메모리 시스템에서의 데이터 캐싱
US9952975B2 (en) * 2013-04-30 2018-04-24 Hewlett Packard Enterprise Development Lp Memory network to route memory traffic and I/O traffic
EP3140749B1 (en) 2014-05-08 2021-01-13 Micron Technology, INC. In-memory lightweight coherency

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11908546B2 (en) 2014-05-08 2024-02-20 Micron Technology, Inc. In-memory lightweight memory coherence protocol

Also Published As

Publication number Publication date
CN106415522A (zh) 2017-02-15
US20210125649A1 (en) 2021-04-29
WO2015171905A1 (en) 2015-11-12
KR20170002570A (ko) 2017-01-06
US11908546B2 (en) 2024-02-20
EP3140749A4 (en) 2018-01-10
TWI719662B (zh) 2021-02-21
CN106415522B (zh) 2020-07-21
KR101887797B1 (ko) 2018-09-10
TWI706247B (zh) 2020-10-01
EP3140749B1 (en) 2021-01-13
US10825496B2 (en) 2020-11-03
US20150325272A1 (en) 2015-11-12
TW201612753A (en) 2016-04-01
EP3140749A1 (en) 2017-03-15

Similar Documents

Publication Publication Date Title
TWI719662B (zh) 記憶體中輕量一致性
US11741012B2 (en) Stacked memory device system interconnect directory-based cache coherence methodology
JP5005631B2 (ja) 複数のコアキャッシュ・クラスタ間の包括的共有キャッシュの提供
US10402327B2 (en) Network-aware cache coherence protocol enhancement
US20080086601A1 (en) Hierarchical cache coherence directory structure
US8261019B2 (en) Conveying critical data in a multiprocessor system
CN109154910A (zh) 用于存储器中处理的高速缓存一致性
US9213656B2 (en) Flexible arbitration scheme for multi endpoint atomic accesses in multicore systems
CN109388585A (zh) 用于基于高速缓存类型来提供高速缓存一致性的技术
US7321956B2 (en) Method and apparatus for directory-based coherence with distributed directory management utilizing prefetch caches
US20140115273A1 (en) Distributed data return buffer for coherence system with speculative address support
US9372796B2 (en) Optimum cache access scheme for multi endpoint atomic access in a multicore system
US7363432B2 (en) Method and apparatus for directory-based coherence with distributed directory management
US6775742B2 (en) Memory device storing data and directory information thereon, and method for providing the directory information and the data in the memory device