TWI687810B - 基於混合記憶體立方體系統互連目錄之快取一致性方法 - Google Patents
基於混合記憶體立方體系統互連目錄之快取一致性方法 Download PDFInfo
- Publication number
- TWI687810B TWI687810B TW104114782A TW104114782A TWI687810B TW I687810 B TWI687810 B TW I687810B TW 104114782 A TW104114782 A TW 104114782A TW 104114782 A TW104114782 A TW 104114782A TW I687810 B TWI687810 B TW I687810B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- information
- die
- consistency
- stacked
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0817—Cache consistency protocols using directory methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0817—Cache consistency protocols using directory methods
- G06F12/0828—Cache consistency protocols using directory methods with concurrent directory accessing, i.e. handling multiple concurrent coherency transactions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1663—Access to shared memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/02—Disposition of storage elements, e.g. in the form of a matrix array
- G11C5/025—Geometric lay-out considerations of storage- and peripheral-blocks in a semiconductor storage device
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/12—Group selection circuits, e.g. for memory block selection, chip selection, array selection
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L25/00—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof
- H01L25/03—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes
- H01L25/04—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes the devices not having separate containers
- H01L25/065—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes the devices not having separate containers the devices being of a type provided for in group H01L27/00
- H01L25/0657—Stacked arrangements of devices
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L25/00—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof
- H01L25/03—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes
- H01L25/10—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes the devices having separate containers
- H01L25/105—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes the devices having separate containers the devices being of a type provided for in group H01L27/00
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/62—Details of cache specific to multiprocessor cache arrangements
- G06F2212/622—State-only directory, i.e. not recording identity of sharing or owning nodes
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L2924/00—Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
- H01L2924/0001—Technical content checked by a classifier
- H01L2924/0002—Not covered by any one of groups H01L24/00, H01L24/00 and H01L2224/00
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)
- Computer Hardware Design (AREA)
- Power Engineering (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Mathematical Physics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Multi Processors (AREA)
Abstract
一種系統包含複數個主機處理器及經組態為用於該等主機處理器之一分散式共用記憶體之複數個混合記憶體立方體(HMC)裝置。一HMC裝置包含:複數個積體電路記憶體晶粒,其包含配置於一第二記憶體晶粒之頂部上之至少一第一記憶體晶粒,且該記憶體晶粒之記憶體之至少一部分經映射以包含一記憶體一致性目錄之至少一部分;及一邏輯基底晶粒,其包含:至少一個記憶體控制器,其經組態以管理至少一個第二裝置對該複數個記憶體晶粒之記憶體之三維(3D)存取;及邏輯電路,其經組態以針對儲存於該複數個記憶體晶粒之該記憶體中之資料而實施一記憶體一致性協定。
Description
此美國專利申請案主張2014年5月8日提出申請之美國臨時申請案第61/990,207號之優先權權益,該臨時申請案之內容以全文引用之方式併入。
多處理器系統可包含允許一個以上處理器對相同資料執行操作之共用記憶體。對共用記憶體之存取可為緩慢的且可導致系統延時。為改良記憶體存取時間,多處理器共用記憶體系統可包含一相對較小但較快之存取快取記憶體。快取記憶體儲存可由處理器頻繁存取之資料之一複本。為維持經快取資料之正確性,後續接著一快取一致性協定。一快取一致性協定對藉由處理器之對經快取資料之存取施加規則以確保資料跨越所有處理器係正確的,儘管存在資料之多個複本。然而,快取一致性協定可消耗先前系統頻寬且產生資料存取之不均勻延時。本發明人已認識到需要多處理器共用記憶體系統中之經改良資料管理。
105‧‧‧混合記憶體立方體
110‧‧‧積體電路記憶體晶粒
115‧‧‧邏輯基底晶粒層
120‧‧‧儲存庫
205‧‧‧混合記憶體立方體
215‧‧‧邏輯基底層
220‧‧‧儲存庫/儲存庫儲存單元
225‧‧‧儲存庫邏輯區塊
305‧‧‧混合記憶體立方體記憶體裝置
502‧‧‧系統單晶片通訊端
505‧‧‧混合記憶體立方體裝置
圖1圖解說明可用以實踐本發明之某些實施例之一混合記憶體立方體之一表示。
圖2係圖解說明可用以實踐本發明之某些實施例之一混合記憶體
立方體之一四分之一之一方塊圖。
圖3展示可用以實踐本發明之某些實施例之混合記憶體立方體之四個可能裝置拓撲之方塊圖。
圖4展示可用以實踐本發明之某些實施例之一種一致性目錄記憶體格式之一實例。
圖5展示可用以實踐本發明之某些實施例之用HMC裝置實施之一電腦系統之一實例之一方塊圖。
圖6展示操作一電腦系統之一方法之一流程圖。
在本發明之實例性實施例之以下詳細說明中,藉由圖式及圖解說明方式而參考本發明之特定實例性實施例。充分詳細地闡述此等實例以使得熟習此項技術者能夠實踐本發明,且該等實例用於圖解說明本發明可如何應用於各種目的或實施例。存在本發明之其他實施例且該等實施例在本發明之範疇內,且可在不背離本發明之標的或範疇之情況下做出邏輯、機械、電及其他改變。本文中所闡述之本發明之各種實施例之特徵或限制雖然對其中併入該等特徵或限制之實例性實施例係必要的,但其並不限制本發明之其他實施例或作為一整體之本發明,且對本發明之任何參考(其元件、操作及應用)並不限制作為一整體之本發明,而是僅用於定義此等實例性實施例。因此,以下詳細說明並不限制僅由隨附申請專利範圍界定之本發明之各種實施例之範疇。
在習用電腦系統中,記憶體以二維方式組織成列及行。為改良記憶體存取延時做出之努力已包含開發具有一高頻寬介面之雙資料速率類型三(DDR3)或DDR4。DDR3及DDR4使用傳統列/行方法。
圖1圖解說明一混合記憶體立方體105(HMC)之一表示。一HMC藉由堆疊積體電路(IC)記憶體晶粒110且使用達成在IC晶粒之頂部及
底部兩者上之存取之穿矽導通體(TSV)結構(未展示)來使晶粒互連而包含一第三維度。TSV製造技術達成多個晶粒層之互連,以便構造三維晶粒。使多個晶粒層互連之此能力准許用記憶體儲存層與一或多個邏輯層之一組合來建造一記憶體裝置。以此方式,該裝置在一單個封裝中提供實體記憶體儲存及邏輯記憶體異動處理。圖1中所展示之配置係用以圖解說明一概念且未必表示一實際晶粒佈局。
一HMC(例如,如混合記憶體立方體規範版本1.0中所規定)可提供具有多達每裝置320GB/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雙向鏈路之一群組。四個鏈路裝置具有在10Gbps、12.5Gbps及15Gbps下操作之能力。八個鏈路裝
置具有在10Gbps下操作之能力。在內部,鏈路附接至路由邏輯以便引導邏輯裝置處之控制每一垂直記憶體儲存單元之異動。在圖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設計。
雖然本文中已圖解說明且闡述了特定實施例,但熟習此項技術者將瞭解,達成相同目的、結構或功能之任何配置可替代所展示之特定實施例。本申請案意欲涵蓋對本文中所闡述之本發明之實例性實施例之任何改編或變化形式。意欲本發明僅由申請專利範圍及其等效物之完全範疇限制。
205‧‧‧混合記憶體立方體
215‧‧‧邏輯基底層
220‧‧‧儲存庫/儲存庫儲存單元
225‧‧‧儲存庫邏輯區塊
Claims (27)
- 一種運算系統,其包括:複數個主機處理器;及複數個堆疊式記憶體裝置,其經組態為用於該等主機處理器之一分散式共用記憶體,每一堆疊式記憶體裝置包含:複數個積體電路記憶體晶粒,其包含配置於一第二記憶體晶粒之頂部上之至少一第一記憶體晶粒,其中記憶體一致性資訊與該分散式共用記憶體之資料儲存在一起;及一邏輯基底晶粒,其包含:至少一個記憶體控制器,其經組態以管理至少一個單獨裝置對該複數個記憶體晶粒之記憶體之存取;及邏輯電路,其經組態以使用一輸入/輸出(I/O)協定來管理該等主機處理器及該共用記憶體之間的資訊通信,及包含一記憶體一致性協定於該I/O協定之一經封包化訊息,以存取作為一快取線之儲存於該分散式共享記憶體之資料。
- 如請求項1之系統,其中該記憶體晶粒之記憶體經映射為一運算系統之共用記憶體,且每一堆疊式記憶體裝置之該邏輯電路經組態以使用用於存取記憶體字組之一簽入/簽出機制來實施作為該I/O協定之部分之該記憶體一致性協定,且該邏輯電路根據該簽入/簽出機制以儲存專屬狀態資訊於該共享記憶體。
- 如請求項1之系統,其中每一堆疊式記憶體裝置之該邏輯電路經組態以作為用以存取該記憶體晶粒之一I/O協定之部分傳遞經封包化資訊且將記憶體一致性狀態資訊與該經封包化資訊包含在一起。
- 如請求項3之系統,其中每一堆疊式記憶體裝置之該邏輯電路經組態以作為該經封包化資訊之部分傳遞位址資訊且將記憶體一 致性狀態資訊與該位址資訊包含在一起。
- 如請求項1之系統,其中每一堆疊式記憶體裝置之該邏輯電路經組態以判定該記憶體晶粒之一記憶體字組之經修改狀態資訊、共用狀態資訊及無效狀態資訊且與該記憶體晶粒之該記憶體字組相關聯地儲存該狀態資訊。
- 如請求項1之系統,其中每一堆疊式記憶體裝置之該邏輯電路經組態以判定該記憶體晶粒之一記憶體字組之專屬權狀態資訊及所有權狀態資訊中之至少一者且與共用記憶體資料字組相關聯地儲存該狀態資訊。
- 如請求項1之系統,其包含經組態為一集線器堆疊式記憶體裝置之至少一個堆疊式記憶體裝置,其中該集線器HMC裝置之邏輯電路將路由資訊新增至一經封包化訊息,且一接收堆疊式記憶體裝置之該邏輯電路使用路由資訊來判定記憶體一致性狀態資訊。
- 如請求項1之系統,其中每一堆疊式記憶體裝置之該邏輯電路經組態以在接收到對一記憶體字組之專屬存取之一請求後旋即起始自該堆疊式記憶體裝置至具有該記憶體字組之所有權之一處理器之一請求封包。
- 如請求項1之系統,其中每一堆疊式記憶體之該邏輯基底晶粒之該記憶體控制器經組態以管理至少一個處理器及另一堆疊式記憶體裝置對該記憶體晶粒之記憶體之3D存取。
- 如請求項1之系統,其中每一堆疊式記憶體裝置之該記憶體晶粒包含配置為複數個儲存庫之記憶體,且該邏輯基底晶粒包含用於該記憶體晶粒之每一儲存庫之一記憶體控制器。
- 如請求項1之系統,其中該複數個主機處理器之該等處理器係系統單晶片(SoC)處理器。
- 一種堆疊式記憶體裝置,其包含:複數個積體電路記憶體晶粒,其包含配置於一第二記憶體晶粒之頂部上之至少一第一記憶體晶粒,其中記憶體一致性資訊與在該複數個記憶體晶粒之記憶體之資料儲存在一起;及一邏輯基底晶粒,其包含:至少一個記憶體控制器,其經組態以管理至少一個單獨裝置對該複數個記憶體晶粒之記憶體之存取;及邏輯電路,其經組態以使用一輸入/輸出(I/O)協定來管理該至少一個單獨裝置及該複數個記憶體晶粒之記憶體之間的資訊通信,及包含一記憶體一致性協定於該I/O協定之一封包化訊息,以存取作為一快取線之儲存於該分散式共享記憶體之資料。
- 如請求項12之堆疊式記憶體裝置,其中該邏輯基底晶粒之該邏輯電路經組態以使用用於存取記憶體字組之一簽入/簽出機制來管理該資訊通信,且該邏輯電路根據該簽入/簽出機制以儲存專屬狀態資訊於該共享記憶體。
- 如請求項12之堆疊式記憶體裝置,其中該邏輯基底晶粒之該邏輯電路經組態以作為該I/O協定之部分傳遞位址資訊且將記憶體一致性狀態資訊與該位址資訊包含在一起。
- 如請求項12之堆疊式記憶體裝置,其中該邏輯基底晶粒之該邏輯電路經組態以判定該記憶體晶粒之一記憶體字組之經修改狀態資訊、共用狀態資訊及無效狀態資訊且與該記憶體晶粒之該記憶體字組相關聯地儲存該狀態資訊。
- 如請求項12之堆疊式記憶體裝置,其中該邏輯基底晶粒之該邏輯電路經組態以判定該記憶體晶粒之一記憶體字組之專屬權狀態資訊及所有權狀態資訊中之至少一者且與共用記憶體資料字組相關聯地儲存該狀態資訊。
- 如請求項12之堆疊式記憶體裝置,其中該邏輯基底晶粒之該記憶體控制器經組態以管理由至少一個處理器及由另一堆疊式記憶體裝置進行之3D存取。
- 如請求項12之堆疊式記憶體裝置,其中該記憶體晶粒包含配置為複數個儲存庫之記憶體,且該邏輯基底晶粒包含用於該記憶體晶粒之每一儲存庫之一記憶體控制器。
- 一種操作一電腦系統之方法,該方法包括:管理對該電腦系統之一分散式共用記憶體之存取,其中該共用記憶體經組態以用於三維存取;將記憶體一致性狀態資訊儲存於該分散式共用記憶體中作為一記憶體一致性目錄,其中記憶體一致性資訊與該分散式共用記憶體之資料儲存在一起;使用一輸入/輸出(I/O)協定在運算系統之複數個處理器與共用記憶體之間來傳遞經封包化資訊;及將記憶體一致性狀態資訊與在該I/O協定中之該所傳遞經封包化資訊包含在一起,及存取作為一快取線之在該分散式共享記憶體中之資料。
- 如請求項19之方法,其中將記憶體一致性狀態資訊與該所傳遞經封包化資訊包含在一起包含:將該記憶體一致性狀態資訊併入至該經封包化資訊之一位址欄位中。
- 如請求項19之方法,其包含使用該所傳遞經封包化資訊來實施一記憶體一致性協定,其中該記憶體一致性目錄之記憶體一致性狀態資訊由該共用記憶體使用該記憶體一致性協定來修改。
- 如請求項19之方法,其中將記憶體一致性狀態資訊儲存於該共用記憶體中包含:將該記憶體一致性狀態資訊與一共用記憶體資料字組儲存在一起。
- 如請求項19之方法,其中將記憶體一致性狀態資訊儲存於該共用記憶體中包含:將一經修改位元、一共用位元及一無效位元與該共用記憶體資料字組儲存在一起。
- 如請求項19之方法,其中將記憶體一致性狀態資訊儲存於該共用記憶體中包含:將專屬權資訊及所有權資訊中之至少一者與該共用記憶體資料字組儲存在一起。
- 如請求項19之方法,其包含使用包含用於該共用記憶體之至少一個記憶體控制器之一邏輯基底層來修改該記憶體一致性狀態資訊。
- 如請求項19之方法,其包含使用一不可部分完成記憶體操作來修改該記憶體一致性狀態資訊。
- 如請求項19之方法,其包含由該複數個處理器中之一處理器請求一目標堆疊式記憶體裝置之一記憶體字組之一特定狀態;及起始自該目標堆疊式記憶體裝置至該複數個處理器中之一或多個處理器之一回應。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201461990207P | 2014-05-08 | 2014-05-08 | |
US61/990,207 | 2014-05-08 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201612755A TW201612755A (en) | 2016-04-01 |
TWI687810B true TWI687810B (zh) | 2020-03-11 |
Family
ID=54367952
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104114782A TWI687810B (zh) | 2014-05-08 | 2015-05-08 | 基於混合記憶體立方體系統互連目錄之快取一致性方法 |
Country Status (7)
Country | Link |
---|---|
US (2) | US10838865B2 (zh) |
EP (1) | EP3140743B1 (zh) |
JP (2) | JP6637906B2 (zh) |
KR (1) | KR102068101B1 (zh) |
CN (1) | CN106462501B (zh) |
TW (1) | TWI687810B (zh) |
WO (1) | WO2015171914A1 (zh) |
Families Citing this family (161)
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 |
US10838865B2 (en) | 2014-05-08 | 2020-11-17 | Micron Technology, Inc. | Stacked memory device system interconnect directory-based cache coherence methodology |
US9786335B2 (en) | 2014-06-05 | 2017-10-10 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US9779019B2 (en) | 2014-06-05 | 2017-10-03 | Micron Technology, Inc. | Data storage layout |
US9910787B2 (en) | 2014-06-05 | 2018-03-06 | Micron Technology, Inc. | Virtual address table |
US9711207B2 (en) | 2014-06-05 | 2017-07-18 | Micron Technology, Inc. | Performing logical operations using sensing circuitry |
US9496023B2 (en) | 2014-06-05 | 2016-11-15 | Micron Technology, Inc. | Comparison operations on logical representations of values in memory |
US10074407B2 (en) | 2014-06-05 | 2018-09-11 | Micron Technology, Inc. | Apparatuses and methods for performing invert operations using sensing circuitry |
US9830999B2 (en) | 2014-06-05 | 2017-11-28 | Micron Technology, Inc. | Comparison operations in memory |
US9455020B2 (en) | 2014-06-05 | 2016-09-27 | Micron Technology, Inc. | Apparatuses and methods for performing an exclusive or operation using sensing circuitry |
US9704540B2 (en) | 2014-06-05 | 2017-07-11 | Micron Technology, Inc. | Apparatuses and methods for parity determination using sensing circuitry |
US9449674B2 (en) | 2014-06-05 | 2016-09-20 | Micron Technology, Inc. | Performing logical operations using sensing circuitry |
US9711206B2 (en) | 2014-06-05 | 2017-07-18 | Micron Technology, Inc. | Performing logical operations using sensing circuitry |
US10068652B2 (en) | 2014-09-03 | 2018-09-04 | Micron Technology, Inc. | Apparatuses and methods for determining population count |
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 |
US9589602B2 (en) | 2014-09-03 | 2017-03-07 | Micron Technology, Inc. | Comparison operations in memory |
US9898252B2 (en) | 2014-09-03 | 2018-02-20 | Micron Technology, Inc. | Multiplication operations in memory |
US9740607B2 (en) | 2014-09-03 | 2017-08-22 | Micron Technology, Inc. | Swap operations in memory |
US9747961B2 (en) | 2014-09-03 | 2017-08-29 | Micron Technology, Inc. | Division operations in memory |
US9904515B2 (en) | 2014-09-03 | 2018-02-27 | Micron Technology, Inc. | Multiplication operations in memory |
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 |
US9747960B2 (en) | 2014-12-01 | 2017-08-29 | Micron Technology, Inc. | Apparatuses and methods for converting a mask to an index |
US10073635B2 (en) | 2014-12-01 | 2018-09-11 | Micron Technology, Inc. | Multiple endianness compatibility |
US10032493B2 (en) | 2015-01-07 | 2018-07-24 | Micron Technology, Inc. | Longest element length determination in memory |
US10061590B2 (en) | 2015-01-07 | 2018-08-28 | Micron Technology, Inc. | Generating and executing a control flow |
US9583163B2 (en) | 2015-02-03 | 2017-02-28 | Micron Technology, Inc. | Loop structure for operations in memory |
EP3254286B1 (en) | 2015-02-06 | 2019-09-11 | Micron Technology, INC. | Apparatuses and methods for parallel writing to multiple memory device locations |
WO2016126472A1 (en) | 2015-02-06 | 2016-08-11 | Micron Technology, Inc. | Apparatuses and methods for scatter and gather |
EP3254287A4 (en) | 2015-02-06 | 2018-08-08 | Micron Technology, INC. | Apparatuses and methods for memory device as a store for program instructions |
CN107408408B (zh) | 2015-03-10 | 2021-03-05 | 美光科技公司 | 用于移位决定的装置及方法 |
US9741399B2 (en) | 2015-03-11 | 2017-08-22 | Micron Technology, Inc. | Data shift by elements of a vector in memory |
US9898253B2 (en) | 2015-03-11 | 2018-02-20 | Micron Technology, Inc. | Division operations on variable length elements in memory |
WO2016144726A1 (en) | 2015-03-12 | 2016-09-15 | 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 |
US10984838B2 (en) * | 2015-11-17 | 2021-04-20 | Advanced Micro Devices, Inc. | Interconnect architecture for three-dimensional processing systems |
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 |
US10388393B2 (en) | 2016-03-22 | 2019-08-20 | Micron Technology, Inc. | Apparatus and methods for debugging on a host and memory device |
US11074988B2 (en) | 2016-03-22 | 2021-07-27 | Micron Technology, Inc. | Apparatus and methods for debugging on a host and memory device |
US10120740B2 (en) | 2016-03-22 | 2018-11-06 | Micron Technology, Inc. | Apparatus and methods for debugging on a memory device |
KR102469099B1 (ko) * | 2016-03-24 | 2022-11-24 | 에스케이하이닉스 주식회사 | 반도체 시스템 |
US10977033B2 (en) | 2016-03-25 | 2021-04-13 | Micron Technology, Inc. | Mask patterns generated in memory from seed vectors |
US10474581B2 (en) | 2016-03-25 | 2019-11-12 | Micron Technology, Inc. | Apparatuses and methods for cache operations |
US10430244B2 (en) | 2016-03-28 | 2019-10-01 | Micron Technology, Inc. | Apparatuses and methods to determine timing of operations |
US10074416B2 (en) | 2016-03-28 | 2018-09-11 | Micron Technology, Inc. | Apparatuses and methods for data movement |
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 |
US10153008B2 (en) | 2016-04-20 | 2018-12-11 | Micron Technology, Inc. | Apparatuses and methods for performing corner turn 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 |
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 |
US10153251B2 (en) | 2016-06-06 | 2018-12-11 | Micron Technology, Inc. | Apparatuses and methods for scalable memory |
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 |
US10387299B2 (en) | 2016-07-20 | 2019-08-20 | Micron Technology, Inc. | Apparatuses and methods for transferring data |
US10733089B2 (en) | 2016-07-20 | 2020-08-04 | Micron Technology, Inc. | Apparatuses and methods for write address tracking |
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 |
US10255184B2 (en) * | 2016-11-07 | 2019-04-09 | International Business Machines Corporation | Memory access architecture with coherence |
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 |
KR101853210B1 (ko) | 2016-12-22 | 2018-04-27 | 한양대학교 산학협력단 | 하이브리드 메모리 큐브를 위한 링크 선택 방법 및 장치 |
US11397687B2 (en) * | 2017-01-25 | 2022-07-26 | Samsung Electronics Co., Ltd. | Flash-integrated high bandwidth memory appliance |
US10402340B2 (en) | 2017-02-21 | 2019-09-03 | Micron Technology, Inc. | Memory array page table walk |
US10403352B2 (en) | 2017-02-22 | 2019-09-03 | Micron Technology, Inc. | Apparatuses and methods for compute in data path |
US10268389B2 (en) | 2017-02-22 | 2019-04-23 | Micron Technology, Inc. | Apparatuses and methods for in-memory operations |
US10838899B2 (en) | 2017-03-21 | 2020-11-17 | Micron Technology, Inc. | Apparatuses and methods for in-memory data switching networks |
US11222260B2 (en) | 2017-03-22 | 2022-01-11 | Micron Technology, Inc. | Apparatuses and methods for operating neural networks |
US10185674B2 (en) | 2017-03-22 | 2019-01-22 | Micron Technology, Inc. | Apparatus and methods for in data path compute operations |
US10049721B1 (en) | 2017-03-27 | 2018-08-14 | Micron Technology, Inc. | Apparatuses and methods for in-memory operations |
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 |
US10845866B2 (en) * | 2017-06-22 | 2020-11-24 | Micron Technology, Inc. | Non-volatile memory system or sub-system |
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 |
US10346092B2 (en) | 2017-08-31 | 2019-07-09 | Micron Technology, Inc. | Apparatuses and methods for in-memory operations using timing circuitry |
US10741239B2 (en) | 2017-08-31 | 2020-08-11 | Micron Technology, Inc. | Processing in memory device including a row address strobe manager |
US10416927B2 (en) | 2017-08-31 | 2019-09-17 | Micron Technology, Inc. | Processing in memory |
KR102395463B1 (ko) * | 2017-09-27 | 2022-05-09 | 삼성전자주식회사 | 적층형 메모리 장치, 이를 포함하는 시스템 및 그 동작 방법 |
US10409739B2 (en) | 2017-10-24 | 2019-09-10 | Micron Technology, Inc. | Command selection policy |
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 |
US11416395B2 (en) | 2018-02-05 | 2022-08-16 | Micron Technology, Inc. | Memory virtualization for accessing heterogeneous memory components |
US11099789B2 (en) | 2018-02-05 | 2021-08-24 | Micron Technology, Inc. | Remote direct memory access in multi-tier memory systems |
US10782908B2 (en) | 2018-02-05 | 2020-09-22 | Micron Technology, Inc. | Predictive data orchestration in multi-tier memory systems |
US20190243787A1 (en) * | 2018-02-05 | 2019-08-08 | Micron Technology, Inc. | Memory Systems having Controllers Embedded in Packages of Integrated Circuit Memory |
KR102504332B1 (ko) * | 2018-02-21 | 2023-02-28 | 삼성전자주식회사 | 서로 이격되어 배치되는 범프 어레이들을 포함하는 메모리 장치 및 이를 포함하는 전자 장치 |
US10725696B2 (en) | 2018-04-12 | 2020-07-28 | Micron Technology, Inc. | Command selection policy with read priority |
JP6991446B2 (ja) * | 2018-05-18 | 2022-01-12 | 日本電信電話株式会社 | パケット処理装置及びそのメモリアクセス制御方法 |
US10440341B1 (en) | 2018-06-07 | 2019-10-08 | Micron Technology, Inc. | Image processor formed in an array of memory cells |
US10977198B2 (en) * | 2018-09-12 | 2021-04-13 | Micron Technology, Inc. | Hybrid memory system interface |
US11175915B2 (en) | 2018-10-10 | 2021-11-16 | Micron Technology, Inc. | Vector registers implemented in memory |
US10769071B2 (en) | 2018-10-10 | 2020-09-08 | Micron Technology, Inc. | Coherent memory access |
US10483978B1 (en) | 2018-10-16 | 2019-11-19 | Micron Technology, Inc. | Memory device processing |
US11184446B2 (en) | 2018-12-05 | 2021-11-23 | Micron Technology, Inc. | Methods and apparatus for incentivizing participation in fog networks |
US10852949B2 (en) | 2019-04-15 | 2020-12-01 | Micron Technology, Inc. | Predictive data pre-fetching in a data storage device |
US12118056B2 (en) | 2019-05-03 | 2024-10-15 | Micron Technology, Inc. | Methods and apparatus for performing matrix transformations within a memory array |
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 |
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 |
US11360906B2 (en) | 2020-08-14 | 2022-06-14 | Alibaba Group Holding Limited | Inter-device processing system with cache coherency |
KR102477775B1 (ko) * | 2020-09-28 | 2022-12-16 | 서울대학교산학협력단 | 서브 유닛을 갖는 가비지 컬렉션 장치 및 이를 포함하는 메모리 시스템 |
CN114038490B (zh) * | 2021-10-14 | 2023-07-04 | 西安紫光国芯半导体有限公司 | 基于三维异质集成的一致性链路存储芯片 |
US11966590B2 (en) | 2022-02-25 | 2024-04-23 | Samsung Electronics Co., Ltd. | Persistent memory with cache coherent interconnect interface |
US20240273040A1 (en) * | 2023-02-09 | 2024-08-15 | Advanced Micro Devices, Inc. | Multi-Stack Compute Chip and Memory Architecture |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040030841A1 (en) * | 2002-08-06 | 2004-02-12 | Ashwini Nanda | Method and system for organizing coherence directories in shared memory systems |
US20040088495A1 (en) * | 2002-11-05 | 2004-05-06 | Newisys, Inc., A Delaware Corporation | Cache coherence directory eviction mechanisms in multiprocessor systems |
US20120106228A1 (en) * | 2010-11-03 | 2012-05-03 | Netlist, Inc. | Method and apparatus for optimizing driver load in a memory package |
US20130347110A1 (en) * | 2012-05-22 | 2013-12-26 | Xockets IP, LLC | Efficient packet handling, redirection, and inspection using offload processors |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
JP4119380B2 (ja) * | 2004-02-19 | 2008-07-16 | 株式会社日立製作所 | マルチプロセッサシステム |
US20060129709A1 (en) * | 2004-12-09 | 2006-06-15 | International Business Machines Corporation | Multipurpose scalable server communication link |
JP4572169B2 (ja) * | 2006-01-26 | 2010-10-27 | エヌイーシーコンピュータテクノ株式会社 | マルチプロセッサシステム及びその動作方法 |
JP5021978B2 (ja) | 2006-08-11 | 2012-09-12 | エヌイーシーコンピュータテクノ株式会社 | マルチプロセッサシステム及びその動作方法 |
US7477535B2 (en) * | 2006-10-05 | 2009-01-13 | Nokia Corporation | 3D chip arrangement including memory manager |
JP4967087B2 (ja) | 2007-11-01 | 2012-07-04 | エヌイーシーコンピュータテクノ株式会社 | ノードコントローラ、分散共有メモリ型情報処理装置、キャッシュコヒーレンシ制御方法 |
US7929368B2 (en) * | 2008-12-30 | 2011-04-19 | Micron Technology, Inc. | Variable memory refresh devices and methods |
JP5505516B2 (ja) | 2010-12-06 | 2014-05-28 | 富士通株式会社 | 情報処理システムおよび情報送信方法 |
US20130073811A1 (en) | 2011-09-16 | 2013-03-21 | Advanced Micro Devices, Inc. | Region privatization in directory-based cache coherence |
US9153520B2 (en) * | 2011-11-14 | 2015-10-06 | Micron Technology, Inc. | Stacked semiconductor die assemblies with multiple thermal paths and associated systems and methods |
US9753858B2 (en) * | 2011-11-30 | 2017-09-05 | Advanced Micro Devices, Inc. | DRAM cache with tags and data jointly stored in physical rows |
US9170948B2 (en) * | 2012-12-23 | 2015-10-27 | Advanced Micro Devices, Inc. | Cache coherency using die-stacked memory device with logic die |
US8856256B1 (en) * | 2013-03-13 | 2014-10-07 | CoralTree Inc. | System and method for file sharing and updating |
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 |
US10838865B2 (en) | 2014-05-08 | 2020-11-17 | Micron Technology, Inc. | Stacked memory device system interconnect directory-based cache coherence methodology |
-
2015
- 2015-05-07 US US14/706,516 patent/US10838865B2/en active Active
- 2015-05-07 EP EP15789174.8A patent/EP3140743B1/en active Active
- 2015-05-07 WO PCT/US2015/029718 patent/WO2015171914A1/en active Application Filing
- 2015-05-07 CN CN201580031855.3A patent/CN106462501B/zh active Active
- 2015-05-07 KR KR1020167034318A patent/KR102068101B1/ko active IP Right Grant
- 2015-05-07 JP JP2016566636A patent/JP6637906B2/ja active Active
- 2015-05-08 TW TW104114782A patent/TWI687810B/zh active
-
2019
- 2019-09-17 JP JP2019168477A patent/JP6953488B2/ja active Active
-
2020
- 2020-10-08 US US17/066,432 patent/US11741012B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040030841A1 (en) * | 2002-08-06 | 2004-02-12 | Ashwini Nanda | Method and system for organizing coherence directories in shared memory systems |
US20040088495A1 (en) * | 2002-11-05 | 2004-05-06 | Newisys, Inc., A Delaware Corporation | Cache coherence directory eviction mechanisms in multiprocessor systems |
US20120106228A1 (en) * | 2010-11-03 | 2012-05-03 | Netlist, Inc. | Method and apparatus for optimizing driver load in a memory package |
US20130347110A1 (en) * | 2012-05-22 | 2013-12-26 | Xockets IP, LLC | Efficient packet handling, redirection, and inspection using offload processors |
Also Published As
Publication number | Publication date |
---|---|
EP3140743A4 (en) | 2018-01-10 |
US10838865B2 (en) | 2020-11-17 |
JP2017515239A (ja) | 2017-06-08 |
TW201612755A (en) | 2016-04-01 |
KR20170002586A (ko) | 2017-01-06 |
JP6953488B2 (ja) | 2021-10-27 |
JP6637906B2 (ja) | 2020-01-29 |
US11741012B2 (en) | 2023-08-29 |
EP3140743B1 (en) | 2021-11-24 |
KR102068101B1 (ko) | 2020-01-20 |
US20150324290A1 (en) | 2015-11-12 |
CN106462501B (zh) | 2019-07-09 |
US20210034524A1 (en) | 2021-02-04 |
JP2020021495A (ja) | 2020-02-06 |
EP3140743A1 (en) | 2017-03-15 |
CN106462501A (zh) | 2017-02-22 |
WO2015171914A1 (en) | 2015-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI687810B (zh) | 基於混合記憶體立方體系統互連目錄之快取一致性方法 | |
TWI706247B (zh) | 記憶體中輕量一致性 | |
KR102683696B1 (ko) | 호스트 메모리 버퍼(Host Memory Buffer)를 관리하기 위한 NVMe(Non-Volatile Memory Express) 컨트롤러를 포함하는 솔리드 스테이트 저장 장치(solid state storage device), 이를 포함하는 시스템 및 호스트의 호스트 메모리 버퍼를 관리하는 방법 | |
US8868843B2 (en) | Hardware filter for tracking block presence in large caches | |
CN109154910A (zh) | 用于存储器中处理的高速缓存一致性 | |
JP7108141B2 (ja) | データ領域を記憶するためのキャッシュ | |
US9990143B2 (en) | Memory system | |
CN110023922B (zh) | 具有传输压缩业务的点对点链路的系统存储器 | |
CN109388585A (zh) | 用于基于高速缓存类型来提供高速缓存一致性的技术 | |
JP7540102B2 (ja) | アドレス変換タイプパケットの伝送 | |
CN116057514A (zh) | 可扩展高速缓存一致性协议 | |
US9372796B2 (en) | Optimum cache access scheme for multi endpoint atomic access in a multicore system | |
Paraskevas et al. | Scaling the capacity of memory systems; evolution and key approaches | |
US6775742B2 (en) | Memory device storing data and directory information thereon, and method for providing the directory information and the data in the memory device | |
US20240045588A1 (en) | Hybrid memory system and accelerator including the same |