TWI817008B - 計算系統及用於記憶體尋址的方法 - Google Patents

計算系統及用於記憶體尋址的方法 Download PDF

Info

Publication number
TWI817008B
TWI817008B TW109115399A TW109115399A TWI817008B TW I817008 B TWI817008 B TW I817008B TW 109115399 A TW109115399 A TW 109115399A TW 109115399 A TW109115399 A TW 109115399A TW I817008 B TWI817008 B TW I817008B
Authority
TW
Taiwan
Prior art keywords
memory
address mapping
mapping function
memory access
relative proximity
Prior art date
Application number
TW109115399A
Other languages
English (en)
Other versions
TW202042066A (zh
Inventor
克里希納 特佳 馬拉迪
張牧天
牛迪民
鄭宏忠
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 TW202042066A publication Critical patent/TW202042066A/zh
Application granted granted Critical
Publication of TWI817008B publication Critical patent/TWI817008B/zh

Links

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/0877Cache access modes
    • G06F12/0879Burst mode
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L25/00Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof
    • H01L25/03Assemblies 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/04Assemblies 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/065Assemblies 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/0652Assemblies 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 the devices being arranged next and on each other, i.e. mixed assemblies
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • G11C11/417Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/06Arrangements for interconnecting storage elements electrically, e.g. by wiring
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L23/00Details of semiconductor or other solid state devices
    • H01L23/48Arrangements for conducting electric current to or from the solid state body in operation, e.g. leads, terminal arrangements ; Selection of materials therefor
    • H01L23/488Arrangements for conducting electric current to or from the solid state body in operation, e.g. leads, terminal arrangements ; Selection of materials therefor consisting of soldered or bonded constructions
    • H01L23/495Lead-frames or other flat leads
    • H01L23/49517Additional leads
    • H01L23/4952Additional leads the additional leads being a bump or a wire
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/603Details of cache memory of operating mode, e.g. cache mode or local memory mode
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4093Input/output [I/O] data interface arrangements, e.g. data buffers
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2924/00Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
    • H01L2924/15Details of package parts other than the semiconductor or other solid state devices to be connected
    • H01L2924/151Die mounting substrate
    • H01L2924/1517Multilayer substrate
    • H01L2924/15192Resurf arrangement of the internal vias

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Power Engineering (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Dram (AREA)
  • Memory System (AREA)

Abstract

本發明提供一種高頻寬記憶體系統。在一些實施例中, 系統包含:記憶體堆疊,具有多個記憶體晶粒及八個128位元通道;以及邏輯晶粒,記憶體晶粒堆疊於邏輯晶粒上且連接至邏輯晶粒;其中邏輯晶粒可經組態以在下述者下操作128位元通道中的第一通道:第一模式,其中第一64位元在偽通道模式下操作,且第二64位元操作為兩個32位元細粒通道,或第二模式,其中第一64位元操作為兩個32位元細粒通道,且第二64位元操作為兩個32位元細粒通道。

Description

計算系統及用於記憶體尋址的方法
[相關申請案之交叉參考]
本申請案主張2019年5月10日申請的名稱為「頻寬升壓堆疊記憶體(BANDWIDTH BOOSTED STACKED MEMORY)」的美國臨時申請案第62/846,406號的優先權及權益,所述申請案的全部內容以引用的方式併入本文中。
根據本發明的實施例的一或多個態樣是關於高頻寬記憶體,且更特定而言,是關於一種用於提高高頻寬記憶體的頻寬利用率的系統及方法。
高頻寬記憶體(High Bandwidth Memory;HBM)為三維(three-dimensional;3D)堆疊動態RAM(dynamic RAM;DRAM)的高效能(RAM)介面。諸如深度神經網路的新興應用需要巨大的計算及記憶能力以對不同資料集進行訓練且以高準確性進行學習。對於此類應用,高記憶體頻寬變得關鍵。可在核心頻寬及匯流排頻寬方面描述記憶體頻寬。由於在共用同一匯流排時堆疊DRAM晶粒的數目增大,故匯流排頻寬成為記憶體效能的限制因 素。
因此,需要不要求對DRAM核心或匯流排作出大規模或高成本改變且可有助於增大HBM系統的有效記憶體頻寬的靈活性系統架構及操作方法。
本揭露內容的實施例的態樣是針對一種用於高頻寬記憶體(HBM)系統的提高HBM系統的記憶體頻寬利用率的系統及方法。此系統及方法將對核心HBM晶片的周邊設備架構的一系列修改與對堆疊邏輯晶粒的操作的改良進行合併以提昇記憶體頻寬利用率。預期此等修改可單獨地或協同地實施以為記憶體提供增大的有效頻寬。
在本發明的一些實施例中,所述高頻寬記憶體系統包含:記憶體堆疊,具有多個記憶體晶粒及八個128位元通道;以及邏輯晶粒,所述記憶體晶粒堆疊於所述邏輯晶粒上且連接至所述邏輯晶粒;其中所述邏輯晶粒可經組態以在下述者下操作所述128位元通道中的第一通道:第一模式,其中第一64位元在偽通道模式下操作,且第二64位元操作為兩個32位元細粒通道,或第二模式,其中所述第一64位元操作為兩個32位元細粒通道,且所述第二64位元操作為兩個32位元細粒通道。
在本發明的一些實施例中,所述高頻寬記憶體系統包含:記憶體堆疊,具有多個記憶體晶粒及八個全寬通道;以及邏輯晶粒,所述記憶體晶粒堆疊於所述邏輯晶粒上且連接至所述邏輯晶粒;其中所述邏輯晶粒經組態以在下述者下操作所述全寬通 道中的第一通道:第一模式,其中所述全寬通道的第一半在偽通道模式下操作,且所述全寬通道的第二半操作為兩個四分之一寬細粒通道,或第二模式,其中所述全寬通道的所述第一半操作為兩個四分之一寬細粒通道,且所述全寬通道的所述第二半操作為兩個四分之一寬細粒通道。
根據本發明的一些實施例,所述邏輯晶粒可經組態以在所述第一模式下操作所述第一通道,且在所述第二模式下操作所述128位元通道中的第二通道。
根據本發明的一些實施例,所述邏輯晶粒經組態以在所述第一模式下操作所述第一通道,且在所述第二模式下操作所述全寬通道中的第二通道。
根據本發明的一些實施例,所述邏輯晶粒可能夠在運行時間使所述第一通道自在所述第一模式下操作改變至在所述第二模式下操作。
在本發明的一些實施例中,所述第一通道的模式可經組態以在運行時間經由所述第一通道的模式暫存器控制。
在本發明的一些實施例中,所述第一通道的模式可經組態以在運行時間經由預留將來使用接腳控制。
根據本發明的一些實施例,所述邏輯晶粒可經進一步組態以在所述第一模式下操作所述第一通道,其中所述第一64位元的叢發長度為2。
根據本發明的一些實施例,所述邏輯晶粒可經進一步組態以在所述第二模式下操作所述第一通道,其中所述全寬通道的所述第一半的叢發長度為2。
根據本發明的一些額外實施例,所述邏輯晶粒可經進一步組態以在所述第二模式下操作所述第一通道,其中所述32位元細粒通道中的第一細粒通道的叢發長度為2。
根據本發明的一些額外實施例,所述邏輯晶粒可經進一步組態以在所述第二模式下操作所述第一通道,其中所述四分之一寬細粒通道中的第一細粒通道的叢發長度為2。
根據本發明的一些實施例,所述全寬通道可具有128位元的寬度。
在本發明的一些實施例中,高頻寬記憶體系統包含:多個堆疊記憶體晶粒;八個通道;以及邏輯晶粒,所述堆疊記憶體晶粒堆疊於所述邏輯晶粒上且連接至所述邏輯晶粒;每一記憶體晶粒具有多個記憶庫,每一所述記憶庫包含多個列及多個行;所述八個通道中的第一通道經組態以可操作為下述者中的任一者:單一128位元通道;兩個64位元偽通道;64位元偽通道及兩個32位元細粒通道;或四個32位元細粒通道;其中所述邏輯晶粒可經組態以在與所述第一通道相關聯的所述多個記憶庫內的所述列中的一列及所述行中的一行處的資料存取之後返回資料的叢發,所述資料的叢發具有小於對應於256位元交易的叢發長度的叢發長度。
在本發明的一些實施例中,高頻寬記憶體系統包含:多個堆疊記憶體晶粒;八個通道;以及邏輯晶粒,所述堆疊記憶體晶粒堆疊於所述邏輯晶粒上且連接至所述邏輯晶粒;每一記憶體晶粒具有多個記憶庫,每一所述記憶庫包含多個列及多個行;所述八個通道中的第一通道經組態以可操作為下述者中的任一者: 單一全寬通道;兩個半寬偽通道;半寬偽通道及兩個四分之一寬細粒通道;或四個四分之一寬細粒通道;其中所述邏輯晶粒可經組態以在與所述第一通道相關聯的所述多個記憶庫內的所述列中的一列及所述行中的一行處的資料存取之後返回資料的叢發,所述資料的叢發具有小於對應於256位元交易的叢發長度的叢發長度。
在本發明的一些實施例中,所述邏輯晶粒可經組態以將所述第一通道操作為具有小於4的叢發長度的兩個64位元偽通道。
在本發明的一些實施例中,所述邏輯晶粒可經組態以將所述第一通道操作為具有小於4的叢發長度的兩個半寬偽通道。
在本發明的一些實施例中,所述邏輯晶粒經組態以將所述第一通道操作為具有2或小於2的叢發長度的四個32位元細粒通道。
在本發明的一些實施例中,所述邏輯晶粒經組態以將所述第一通道操作為具有2或小於2的叢發長度的四個四分之一寬細粒通道。
在本發明的一些實施例中,所述邏輯晶粒可經組態以使用預留將來用接腳來接收指示待返回的叢發長度的信號。
在本發明的一些實施例中,所述邏輯晶粒可經組態以自主機處理器接收指示所述叢發長度的信號。
根據本發明的一些實施例,所述主機處理器可為中央處理單元。
根據本發明的一些額外實施例,所述主機處理器可為圖 形處理單元。
在本發明的一些實施例中,一種用於在具有高頻寬記憶體及主機處理器的系統中進行記憶體尋址的方法包含:用第一位址映射函數進行多個記憶體存取;用所述第一位址映射函數評估第一映射空間局部性程度;用第二位址映射函數評估第二映射空間局部性程度;關閉所述系統;重新啟動所述系統;判定所述第二映射空間局部性程度是否超出所述第一映射空間局部性程度;以及回應於判定所述第二映射空間局部性程度超出所述第一映射空間局部性程度,用所述第二位址映射函數進行多個記憶體存取。
根據本方法的一些實施例,所述高頻寬記憶體包含邏輯晶粒;所述用所述第一位址映射函數進行多個記憶體存取包含由所述主機處理器用所述第一位址映射函數進行所述多個記憶體存取;且所述評估所述第一映射空間局部性程度及所述評估所述第二映射空間局部性程度包含在時間間隔期間由所述邏輯晶粒評估所述第一映射空間局部性程度及所述第二映射空間局部性程度,在所述時間間隔內所述主機處理器未存取所述高頻寬記憶體。
根據本方法的一些實施例,所述第二位址映射函數可選自多個預先程式化的位址映射函數。
根據本方法的一些實施例,所述第二位址映射函數可由所述邏輯晶粒使用預留將來使用接腳來傳達至所述主機處理器。
根據本方法的一些實施例,所述主機處理器可為圖形處理單元。
根據本方法的一些額外實施例,所述主機處理器可為中央處理單元。
100:HBM系統
110:堆疊DRAM晶粒
112:記憶庫
120:邏輯晶粒
130A、130B、130C、130D、130E、130F、130G、130H:通道
140:主機處理器
150:矽插入件
160:PCB基板
170:母板
180:矽穿孔
190:介面
將參考說明書、申請專利範圍以及隨附圖式來瞭解及理解本發明的此等及其他特徵及優點,其中:圖1為根據本揭露內容的實施例的結合邏輯處理器、矽(silicon;Si)插入件、PCB基板以及母板的高頻寬記憶體堆疊的剖視圖。
圖2為根據本揭露內容的實施例的對包含將DRAM堆疊連結至邏輯處理器的記憶體通道的高頻寬記憶體系統的描繪。
圖3為根據本揭露內容的實施例的示出記憶體通道可如何在不同模式下獨立地運行的方塊圖。
下文結合隨附圖式闡述的實施方式意欲作為對根據本發明的高頻寬記憶體系統的例示性實施例的描述,且不意欲表示本發明可建構或利用的僅有形式。描述結合所示出實施例來闡述本發明的特徵。然而,應理解,可藉由亦意欲涵蓋於本發明的精神及範圍內的不同實施例來實現相同或等效功能及結構。如本文中在別處所指代,類似元件數字意欲指示類似元件或特徵。
高頻寬記憶體(HBM)為高效能三維(3D)堆疊動態隨機存取記憶體RAM(dynamic random access memory:DRAM)。第二代高頻寬記憶體可包含每堆疊多達12個晶粒且提供2.4GT/s(吉傳送每秒)或快於2.4GT/s的接腳傳送速率。堆疊晶粒與記憶體利用組件(諸如圖形處理單元(graphics processing unit;GPU) 或中央處理單元(central processing unit;CPU))之間的介面可包含8個通道(每一通道128位元寬),總共1024位元寬的存取。第二代高頻寬記憶體可能夠達到每包307吉位元/秒或高於307吉位元/秒的記憶體頻寬,且可具有高達每包12吉位元且有可能超出12吉位元的儲存容量。第二代高頻寬記憶體系統的介面可符合由電子裝置工程聯合委員會(Joint Electron Device Engineering Council;JEDEC)所接受作為標準JESD235B的標準。
如圖1中所繪示,HBM系統100可包含堆疊於邏輯晶粒120的頂部上的多個堆疊DRAM晶粒110。圖1描繪位於邏輯晶粒120的頂部上的4個DRAM晶粒110的堆疊(稱為4-hi組態)的剖視圖。如將為所屬技術領域中具有通常知識者所已知,堆疊下方的邏輯晶粒120的使用可為可選的。可在本發明的範圍內使用其他組態,諸如但不限於2-hi、8-hi以及12-hi。DRAM晶粒110可藉由矽穿孔(through-silicon-via;TSV)180及多個微凸塊連接。如圖1中所描繪,介面190可將HBM堆疊連接至主機處理器140。如本文中所使用,術語「主機處理器」及「邏輯處理器」可通篇互換使用以指代記憶體利用組件,諸如但不限於圖形處理單元(GPU)、中央處理單元(CPU),或如將為所屬技術領域中具有通常知識者所已知的任何其他記憶體利用組件。
圖2描繪使用包含八個128位元通道130的介面190來與邏輯晶粒120介接的HBM堆疊的俯視圖。堆疊可包含各自包含與多個通道130相關聯的多個記憶庫112的DRAM晶粒110。為簡單起見,在圖2中示出每晶粒110減少數目的記憶庫112。通道130可彼此獨立,且每一通道130可具有其自身的資料匯流排以及 其自身的命令及位址匯流排。
如圖2中所繪示,HBM堆疊與主機處理器140之間的介面190可包含矽插入件150內的多個導電路徑(或「跡線」)創建通道130A至導電路徑創建通道130H(統稱為通道130)。如本文中所使用,操作為單一128位元通道的通道將稱為「舊有」通道。如將為所屬技術領域中具有通常知識者所已知,可替代地使用針對矽插入件150的合適的代替物。矽插入件150可耦接至PCB基板160,所述PCB基板160可繼而耦接至另一組件,諸如但不限於母板170。
對於更高HBM堆疊,例如對於8-hi組態及12-hi組態,記憶體匯流排的頻寬利用率可能愈來愈重要。對於要求大量計算力及記憶體頻寬的諸如深度神經網路及高效能計算(high performance computing;HPC)的應用而言尤其如此。當前可使用在「偽通道模式」下操作的HBM堆疊來產生額外有效頻寬,在所述偽通道模式下將每一通道操作為2個半獨立64位元通道。在此模式下,一對偽通道可共用資料匯流排(每一偽通道使用原始128位元中的64位元)以及命令及位址匯流排,但經組態以分別地解碼及執行命令。此增加有效通道的數目且可產生更高頻寬利用率。然而,隨著對記憶體頻寬的需求增大,歸因於比如日益強力的GPU的事物,即使偽通道模式亦未充分利用由HBM系統100的介面190所提供的匯流排頻寬。
作為非限制性實例,即使在偽通道模式下,隨著堆疊中的DRAM晶粒110的數目增加,依賴於與所述偽通道相關聯的資料匯流排的記憶庫的數目亦增加。在偽通道模式下,將堆疊內的 每一記憶庫劃分成2個子記憶庫。將每一記憶庫劃分成一對子記憶庫有效地使可由通道130利用的記憶庫的數目加倍,而不要求改變如在JESD235B標準中所提供的命令及位址匯流排。另外,由於可以交錯順序刷新子記憶庫,故其使得有可能確保資料匯流排的更大飽和度,所述更大飽和度提高頻寬利用率。每一記憶庫可以資料的較細粒度獨立地操作,從而允許資料匯流排的更佳利用率而不過度提取/浪費資料。
在2-hi組態中,在偽通道模式下運行,僅8個子記憶庫共用64位元資料匯流排。在此組態中,每一子記憶庫使用堆疊的每一層級中的兩個TSV陣列,且頻寬因諸如DRAM核心的時序參數的因素而受到限制。然而,在例如8-hi組態中,存在共用與偽通道相關聯的64位元匯流排的32個子記憶庫。藉助於非限制性實例,若核心時鐘速度為1.2吉赫(對應於如由JESD235B標準支援的每接腳2.4吉位元每秒(Gbps)的資料速率),則存在0.83奈秒週期時間。當在偽通道模式(其在使用叢發長度(burst length;BL)為4的標準下操作)下操作時,作為記憶體的雙資料速率操作的結果,對記憶庫或子記憶庫的每一存取由此花費2個時鐘週期。若所有32個子記憶庫完全共用64位元匯流排,則對所有32個子記憶庫進行叢發存取花費32*2=64個時鐘週期。64個時鐘週期乘以週期時間得到大約53奈秒的叢發時間。此時間大於DRAM記憶體的列週期時間(row cycle time;tRC),所述列週期時間可為(作為非限制性實例)大約46奈秒。因此,記憶體的資料通量將受匯流排限制,且隨著HBM堆疊的高度增大至12-hi堆疊或甚至16-hi堆疊,此將相應地變得更糟。
本發明的實施例的態樣是針對藉由引入對資料存取的粒度的額外控制來提高HBM系統100的記憶體頻寬利用率。在本發明的一些實施例中,通道粒度進一步向下細化至32位元。如本文中所使用,可將128位元通道稱為「全寬通道」,亦可將64位元通道稱為「半寬通道」或稱為「半寬偽通道」,且可將32位元寬通道稱為「細粒」通道,或稱為「四分之一寬細粒通道」。粒度的細化允許在以下模式下操作通道130:(i)第一模式,其中通道130操作為兩個半寬偽通道(例如,其中全寬通道的第一半(例如,第一64位元)在偽通道模式下操作,且全寬通道的第二半(例如,第二64位元)在偽通道模式下操作);(ii)第二模式,其中通道130操作為四個四分之一寬細粒通道,例如,其中全寬通道的第一半(例如,第一64位元)操作為兩個四分之一寬細粒通道,且全寬通道的第二半(例如,第二64位元)操作為兩個四分之一寬細粒通道;以及(iii)128位元「舊有」模式,其中通道130操作為單一通道。應理解,在一些實施例中,全寬通道可具有不同於128位元的寬度,且因此半寬通道及四分之一寬通道亦可具有不同於64位元及32位元的寬度。
此相應地增加有效通道的數目。此亦創建對記憶庫的額外劃分,其中舊有模式下的1個記憶庫現在變為細粒通道模式下的4個子記憶庫。對子記憶庫的額外劃分使得子記憶庫的數目對應增加,每一子記憶庫具有新的索引參數。在一些實施例中,細粒通道模式下的子記憶庫的索引可藉由使用接腳(所述接腳可為「預留將來使用」(reserved for future use;RFU)接腳、BA5接腳(如下文更詳細地論述)或添加至包介面的不為當前JESD235B標 準的部分的新接腳)來實現。此類實施例可能不要求進一步改變與子記憶庫相關聯的DWORD或AWORD。舉例而言,在偽通道模式下,使用記憶庫位址(bank address;BA)接腳4來對子記憶庫進行索引。同樣地,可使用額外接腳來對子記憶庫額外劃分成四分之一進行索引以便於細粒通道模式的使用。在一些實施例中,類似於4-hi組態中的彼等接腳,可使用BA5接腳(如上文所提及)。在高於4的堆疊中,在使用BA5來對堆疊ID進行索引的情況下,可將另一接腳用作替代方案,其中此接腳在一些實施例中為RFU接腳。RFU接腳的使用可能帶來以下風險:將來對JESD235B標準的更新可能為此接腳分配一功能,所述功能可能不與其作為細粒通道模式的索引接腳的用途一致。BA5接腳的使用可能不帶來此風險,但BA5接腳可能不可在大於4-hi的堆疊中用於作為細粒通道模式的索引接腳。添加至包介面的新接腳(其不為當前JESD235B標準的部分)的使用可能具有產生不符合JESD235B的包的缺點。由於細粒通道模式將原始記憶庫進一步劃分成四分之一,故與每一細粒通道相關聯的通用輸入/輸出(general input/output;GIO)的數目減少,其中當自偽通道模式移動至細粒通道模式時GIO大小自64減少至32。
此外,本發明的態樣亦是關於邏輯晶粒120的允許8個通道130中的每一者在128位元舊有通道模式、64位元偽通道模式或32位元細粒通道模式下獨立地操作的組態。此可使用每通道兩個模式暫存器位元(每一通道可具有控制其組態的模式寄存器集合)來實現以指定通道組態(其中例如兩個位元中的第一位元指定是否將通道中的第一偽通道進一步分成兩個細粒通道,且第 二位元指定是否將通道中的第二偽通道進一步分成兩個細粒通道)。模式暫存器位元可為由JESD235B標準定義的模式寄存器中的現有未使用位元,或其可為經添加位元(例如,未由所述標準定義的暫存器中的位元)。舉例而言,可以以下可能的值及對應操作模式使用MR9 OP[1:0]:
00:x128
01:x64+x64
10:x32+x32+x64
11:x32+x32+x32+x32
在其他實施例中,可例如以位元[17:16]的以下可能的值及對應操作模式擴充DEVICE_ID封套資料暫存器:
10:僅x128
01:僅x64
00:支援x128+x64,且可經由模式暫存器程式化
11:支援x128+x64+x32,且可經由模式暫存器程式化
根據JESD235B標準,HBM DRAM取決於通道密度來定義兩個操作模式。對不同操作模式的支援由設計固定且經指示於DEVICE_ID封套暫存器的位元[17:16]上。為了包含細粒通道,可以上述方式擴充DEVICE_ID,使得可使用2個位元來編碼x128模式、x64模式、x32模式。
在一些實施例中,模式寄存器可位於邏輯晶粒120內。在一些替代實施例中,模式寄存器位於DRAM晶粒110內。在一些情況下,更小通道寬度操作可提供更佳頻寬利用率及資料傳送能量效率。在對記憶體作出的資料存取具有低空間局部性的情況 下尤其如此。
本發明的實施例的另一態樣是針對藉由設置經組態以操作具有截斷叢發長度(BL)的介面通道130的邏輯晶粒120來進一步細化存取粒度。舉例而言,可藉由將偽通道的叢發長度自4減小至由邏輯晶粒120組態的更小值(諸如BL=2)來達成更細存取粒度。典型而言,當處於偽通道模式下時,通道以32位元組交易大小操作。此以64位元介面上的BL=4達成,此對於低於所指定32位元組提取的交易大小而言可為低效的。然而,在經存取的資料具有較小粒度及減小的空間局部性時,此可能因其產生對將不會用於愈來愈大量的存取的資料進行預提取所花費的時間而較不高效。
因此,本發明的實施例的一些態樣是針對使得邏輯晶粒120能夠對截斷叢發長度進行程式化以細化存取粒度。藉助於非限制性實例,運行於傳統BL=4模式下的64位元偽通道具有32位元組(或「32B」)的存取粒度。此與運行於BL=2模式下的舊有通道130相同。然而,根據本發明的態樣,偽通道可在對應於16B存取粒度的BL=2下運行。此外,在甚至更細的存取粒度更高效的情況下,可以例如產生8B存取粒度的BL=2操作細粒通道。因此,邏輯晶粒120亦可經組態以操作具有為1的叢發長度的通道130(為術語方便起見,單一資料字在本文中稱為具有為1的叢發長度的「叢發」)。在一些實施例中,通道組態可基於經存取資料的類型及對儲存於DRAM晶粒110中的資料作出的存取的空間局部性。應理解,提供此等先前實例僅為了有助於示出截斷叢發的運作且本發明的實施例的態樣意欲為非限制性的。
在一些實施例中,邏輯晶粒120可經組態以為舊有通道、偽通道或細粒通道中的每一者獨立地提供減小叢發長度的操作(亦即,具有產生小於256位元的交易大小的叢發長度的操作)。可使用各種方法來命令邏輯晶粒120在任何此類模式組合下操作。舉例而言,可使用一或多個預留將來使用(RFU)接腳來將命令減小叢發長度的信號傳遞至邏輯晶粒120(其中所使用的接腳(每一接腳充當控制位元)的數目取決於待支援的模式的數目,如下文更詳細地論述)。在其他實施例中,叢發長度的組態可由一或多個模式暫存器位元(例如,在JESD235B標準中定義的模式寄存器中的未使用位元或經添加位元(例如,經添加寄存器中的未在JESD235B標準中定義的位元)判定。在一些實施例中,將每一舊有通道、偽通道或細粒通道的叢發長度獨立地控制為例如標準長度(細粒通道的BL=8、偽通道的BL=4,且舊有通道的BL=2)、一半長度(例如,細粒通道的BL=4)、四分之一長度,或八分之一長度(例如,細粒通道的BL=1)。在一些實施例中,支援非2次方叢發長度,使得例如細粒通道的叢發長度為5是可能的)。可使用對應數目個控制位元(接腳或模式暫存器位元)。舉例而言,為了使得有可能命令通道以四個細粒通道操作,每一細粒通道具有八個可能的叢發長度(標準長度、7/8、3/4、5/8、一半長度等)中的任何者,可使用每細粒通道三個位元(亦即,每通道12個控制位元)。在一些實施例中,可使用高頻寬記憶體包的接腳(例如,支援此特徵的每一舊有通道、偽通道或細粒通道的RFU接腳)來中斷部分完成的叢發。舉例而言,若在細粒通道的標準長度叢發的中途確證此接腳,則僅可傳送四個(而非八個)32位元字。
在一些實施例中,亦可對可由邏輯晶粒採用的錯誤校正碼(error-correcting code;ECC)實施對應改變以顧及部分存取長度,同時保持原始叢發長度存在的錯誤偵測及校正功能性。此可包含對ECC演算法、ECC碼字位置以及在資料寫入期間在其上計算ECC的資料字段的改變。
本發明的實施例的態樣亦可協同地使用以提供對邏輯晶粒的更大級別的頻寬控制。如圖3中所描繪,邏輯晶粒120可在自其他通道130的模式中獨立地選擇的模式下操作原始8個128位元通道130中的任何者。此允許可提供額外靈活性以提高匯流排頻寬利用率的不對稱(例如,非均一)資料通道寬度。此外,一些實施例亦可併入有每一舊有通道、偽通道或細粒通道的減小的可程式化叢發長度,藉此創建不對稱通道寬度及存取粒度。
如圖3中所描繪,此不對稱通道組織及不對稱存取粒度允許待在運行時間程式化的通道130的不同組態(如由每一通道130的模式寄存器所定義),所述組態可最佳地利用HBM系統的可用記憶體頻寬。圖3描繪獨立地操作介面190的通道130中的每一者的邏輯晶粒120。如所繪示,存在在128位元舊有模式、64位元偽模式以及32位元細粒模式下操作的通道。另外,將舊有通道及偽通道中的一些描繪為具有BL=2的截斷叢發長度。
作為非限制性實例,本發明可結合具有並行地運行的數千核心的高效能GPU使用,從而產生具有減小的空間局部性及增大的隨機性的資料存取,其中邏輯晶粒120可實施通道中的一些的不對稱通道組態及叢發長度以藉由增加對應數目個通道及減小資料存取粒度來更佳地利用介面190的可用頻寬。舉例而言,在 機器學習的背景下,當需要具有使用小粒度資料的快速更低精確度通道同時為使用相應更大的存取粒度的更高精確度保留一些更寬通道時,情況可能如此。
另外,本發明的實施例的一些態樣是針對組態邏輯晶粒120以實施機器學習演算法,以記錄及分析對記憶體作出的資料存取。機器學習演算法可根據位址映射函數來尋找由主機處理器140作出的記憶體存取中的模式。使用經預先選擇的多個位址映射函數,機器學習演算法可比較根據當前位址映射函數的記憶體存取的模式與根據多個經預先選擇的位址映射函數的經預測記憶體存取模式,以判定是否可使用不同的位址映射函數來改善存取的空間局部性。機器學習演算法可接著自經預先選擇的多個位址映射函數選擇產生依序存取的最大空間局部性的映射函數。由於預先選擇了可能數目個位址映射函數,故可以減小的複雜度實施機器學習演算法。演算法比較第一位址映射函數的依序存取的空間局部性(其可稱為「第一位址映射函數的映射空間局部性程度」)與由不同的位址映射函數生成的經預測空間局部性,且選擇產生依序存取的最大空間局部性的位址映射函數。可在本發明的範圍內利用如將為所屬技術領域中具有通常知識者所已知為有效地對存取模式進行預測性模型化的任何合適的機器學習演算法,諸如增強學習,或諸如長短期記憶體遞迴神經網路(long short-term memory;LSTM)。在讀取操作期間,持續在後台中訓練神經網路。另外,末層神經網路選擇排名最高的位址映射函數。因此在此訓練階段期間保存的資料僅為對應於映射函數的幾個位元。不在任何給定時間點儲存位址的順序,此是由於儲存如此大容量的資料 是不切實際的,實際上,持續將位址饋送至神經網路以充當訓練資料。由記憶體控制器離線使用經訓練模型以及輸出位元,以便在GPU重新附接/重啟時作出合適的改變。此位址映射函數選擇可增大依序存取的數目,且因此相應地改善記憶體的效率。
在一些實施例中,可在記憶體離線時實施機器學習演算法以研究存取模式。邏輯晶粒120可接著在重啟後傳達待由諸如CPU或GPU的主機處理器140使用的理想映射函數以改良依序存取。邏輯晶粒120可使用RFU接腳來將較佳映射函數傳遞至主機處理器140。
鑒於前述內容,實施本發明的態樣的HBM系統100(無論單獨地或組合地)可具有優於不具有本發明的粒狀通道寬度及叢發大小控制以及智慧型位址映射函數的先前技術系統的數個優點。本發明的實施例的態樣可由邏輯晶粒120獨立地實施,所述邏輯晶粒120可使用專用指令集架構來具現化及執行對新硬體的操作以利用更高頻寬的益處。可在不對DRAM核心作出大規模且昂貴改變的情況下達成提高的有效頻寬利用率。另外,本發明的實施例的態樣可與對HBM系統100的其他改良協同利用,所述改良可改良DRAM核心的時序參數或增大TSV計數或位元速率。
在本發明的一些實施例中,設置經組態以允許對邏輯晶粒120進行存取的軟體應用程式化介面(application programming interface;API),且亦設置透明地整合至現有機器學習框架中的軟體驅動器及程式館,所述機器學習框架諸如TensorFlow、Torch7、Caffe或如將為所屬技術領域中具有通常知識者所已知的任何其他機器學習框架。
應理解,儘管本文中可使用術語「第一」、「第二」、「第三」等以描述各種元件、組件、區、層及/或區段,但此等元件、組件、區、層及/或區段不應受此等術語限制。此等術語僅用以區分一個元件、組件、區、層或區段與另一元件、組件、區、層或區段。因此,在不脫離本發明概念的精神及範圍的情況下,可將下文中所論述的第一元件、第一組件、第一區、第一層或第一區段稱為第二元件、第二組件、第二區、第二層或第二區段。
為易於描述,本文中可使用諸如「在......之下」、「在......下方」、「下部」、「在......下」、「在......上方」、「上部」以及類似者的空間相對術語來描述如在圖式中所示出的一個元件或特徵與另一元件或特徵的關係。應理解,此類空間相對術語意欲涵蓋除圖式中所描繪的定向之外的在使用中或在操作中的裝置的不同定向。舉例而言,若圖式中的裝置翻轉,則描述為「在」其他元件或特徵「下方」或「之下」或「下」的元件將定向為「在」其他元件或特徵「上方」。因此,實例術語「在......下方」及「在......下」可涵蓋在......上方及在......下方兩個定向。裝置可以其他方式定向(旋轉90度或處於其他定向)且本文中所使用的空間相對描述詞可同樣相應地進行解譯。此外,亦應理解,當將層稱為「在」兩個層「之間」時,其可為兩個層之間的唯一層,或亦可存在一或多個介入層。
本文中所使用的術語僅出於描述特定實施例的目的,且不意欲限制本發明概念。如本文中所使用,術語「實質上」、「約」以及類似術語用作表示近似的術語且不用作表示程度的術語,且意欲考慮將由所屬技術領域中具有通常知識者辨識的量測值或計 算值的固有偏差。如本文中所使用,術語「主要組分」意謂按重量計構成組成物的至少一半的組分,且術語「主要部分」在應用於多個項時意謂所述項的至少一半。
如本文中所使用,除非上下文另外明確指示,否則單數形式「一(a/an)」亦意欲包含複數形式。應進一步理解,術語「包括(comprises/comprising)」在用於本說明書中時指定所陳述特徵、整數、步驟、操作、元件及/或組件的存在,但不排除一或多個其他特徵、整數、步驟、操作、元件、組件及/或其群組的存在或添加。如本文中所使用,術語「及/或」包含相關聯的所列項中的一或多者的任何及所有組合。諸如「中的至少一者」的表述在位於元件列表之前時修飾元件的整個列表,而並不修飾列表中的個別元件。另外,當描述本發明概念的實施例時「可」的使用是指「本發明的一或多個實施例」。此外,術語「例示性」意欲指代實例或圖示。如本文中所使用,可認為術語「使用(use/using/used)」分別與術語「利用(utilize/utilizing/utilized)」同義。如本文中所使用,術語「或」應解譯為「及/或」,使得例如「A或B」意謂「A」或「B」或「A及B」中的任一者
應理解,當將元件或層稱為在另一元件或層「上」、「連接至」另一元件或層、「耦接至」另一元件或層或「與」另一元件或層「相鄰」時,其可直接在所述另一元件或層上、直接連接至所述另一元件或層、直接耦接至所述另一元件或層或直接與所述另一元件或層相鄰,或可存在一或多個介入元件或介入層。相比之下,當將元件或層稱為「直接在」另一元件或層「上」、「直接連接至」另一元件或層、「直接耦接至」另一元件或層或「緊鄰」 另一元件或層時,不存在介入元件或介入層。
本文中所列舉的任何數值範圍意欲包含所列舉的範圍內所歸入的具有相同數值精確度的所有子範圍。舉例而言,「1.0至10.0」的範圍意欲包含所列舉的最小值1.0與所列舉的最大值10.0之間(且包含所列舉的最小值1.0及所列舉的最大值10.0)的所有子範圍,亦即,具有等於或大於1.0的最小值及等於或小於10.0的最大值,諸如(例如)2.4至7.6。本文中所列舉的任何最大數值限制意欲包含歸入於其中的所有更低數值限制,且本說明書中所列舉的任何最小數值限制意欲包含歸入於其中的所有更高數值限制。
儘管已在本文中具體描述及示出高頻寬記憶體系統架構的例示性實施例,但許多修改及變化將對所屬技術領域中具有通常知識者顯而易見。因此,應理解,可除如在本文中具體描述之外而體現根據本發明的原理來建構的高頻寬記憶體系統。本發明亦在以下申請專利範圍及其等效物中定義。
120:邏輯晶粒
130A、130B、130C、130D、130E、130F、130G、130H:通道
190:介面

Claims (21)

  1. 一種用於記憶體尋址的方法,所述方法包括:用第一位址映射函數進行記憶體存取;由包括經由四分之一寬的細粒通道耦接至主機處理器的記憶體晶粒的系統,用所述第一位址映射函數存取依序記憶體存取的第一相對接近度;用第二位址映射函數存取依序記憶體存取的第二相對接近度;判定依序記憶體存取的所述第二相對接近度超出依序記憶體存取的所述第一相對接近度;以及用所述第二位址映射函數進行記憶體存取。
  2. 如請求項1所述的方法,其中:所述系統包括邏輯晶粒;用所述第一位址映射函數進行的所述記憶體存取以及依序記憶體存取的所述第二相對接近度的存取是藉由所述邏輯晶粒來進行。
  3. 如請求項2所述的方法,其中所述第二位址映射函數選自預先程式化的位址映射函數。
  4. 如請求項2所述的方法,其中所述第二位址映射函數由所述邏輯晶粒使用預留將來使用接腳來傳達至所述主機處理器。
  5. 如請求項2所述的方法,其中所述主機處理器為圖形處理單元。
  6. 如請求項1所述的方法,更包括重置高頻寬記憶體 的狀態。
  7. 如請求項6所述的方法,其中重置所述高頻寬記憶體的所述狀態包括:為所述系統循環供電。
  8. 一種用於記憶體尋址的方法,所述方法包括:由包括經由四分之一寬的細粒通道耦接至主機處理器的記憶體晶粒的系統,實行經組態以記錄及分析資料存取的機器學習演算法;用第一位址映射函數進行記憶體存取;由所述機器學習演算法判定經預測記憶體存取模式;由所述機器學習演算法用所述第一位址映射函數存取記憶體存取的第一相對接近度;由所述機器學習演算法依據所述經預測記憶體存取模式預測用於第二位址映射函數的記憶體存取的第二相對接近度;由所述機器學習演算法判定記憶體存取的所述第二相對接近度超出記憶體存取的所述第一相對接近度;以及用所述第二位址映射函數進行記憶體存取。
  9. 如請求項8所述的方法,其中所述第二位址映射函數選自位址映射函數的預先程式化集合。
  10. 如請求項8所述的方法,其中所述經預測記憶體存取模式使用增強學習模型來判定。
  11. 如請求項8所述的方法,其中所述機器學習演算法包括長短期記憶體遞迴神經網路架構。
  12. 如請求項8所述的方法,其中所述機器學習演算法包括用於判定記憶體存取的所述第二相對接近度超出記憶體存取 的所述第一相對接近度的末層。
  13. 如請求項8所述的方法,更包括在所述記憶體離線的同時,由所述機器學習演算法分析所述資料存取。
  14. 如請求項8所述的方法,其中所述機器學習演算法是實行在邏輯晶粒上。
  15. 如請求項8所述的方法,其中:由所述機器學習演算法用所述第一位址映射函數存取記憶體存取的所述第一相對接近度包括:用所述第一位址映射函數存取依序記憶體存取的第一相對接近度;由所述機器學習演算法用所述第二位址映射函數存取記憶體存取的所述第二相對接近度包括:用所述第二位址映射函數存取依序記憶體存取的第二相對接近度。
  16. 一種計算系統,包括:記憶體晶粒,經由四分之一寬的細粒通道耦接至主機處理器;邏輯晶粒;以及非揮發性記憶體,包含能夠由所述主機處理器及所述邏輯晶粒所執行的指令,其中當所述指令由所述邏輯晶粒執行時,所述指令使得所述邏輯晶粒實行記錄及分析對高頻寬記憶體的資料存取的機器學習演算法。
  17. 如請求項16所述的計算系統,其中所述機器學習演算法經組態以:判定經預測記憶體存取模式;用第一位址映射函數存取依序記憶體存取的第一相對接近 度;依據所述經預測記憶體存取模式預測用於第二位址映射函數的依序記憶體存取的第二相對接近度;判定依序記憶體存取的所述第二相對接近度超出依序記憶體存取的所述第一相對接近度;以及回應於判定依序記憶體存取的所述第二相對接近度超出依序記憶體存取的所述第一相對接近度,將最佳化指令傳達至所述主機處理器以用所述第二位址映射函數進行記憶體存取。
  18. 如請求項17所述的計算系統,其中所述機器學習演算法包括增強學習模型。
  19. 如請求項17所述的計算系統,其中所述機器學習演算法包括長短期記憶體遞迴神經網路架構。
  20. 如請求項17所述的計算系統,其中所述邏輯晶粒經組態以使用預留將來使用接腳將所述最佳化指令傳達至所述主機處理器。
  21. 如請求項17所述的計算系統,其中所述主機處理器為圖形處理單元。
TW109115399A 2019-05-10 2020-05-08 計算系統及用於記憶體尋址的方法 TWI817008B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962846406P 2019-05-10 2019-05-10
US62/846,406 2019-05-10
US16/439,613 US10915451B2 (en) 2019-05-10 2019-06-12 Bandwidth boosted stacked memory
US16/439,613 2019-06-12

Publications (2)

Publication Number Publication Date
TW202042066A TW202042066A (zh) 2020-11-16
TWI817008B true TWI817008B (zh) 2023-10-01

Family

ID=73046034

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109115399A TWI817008B (zh) 2019-05-10 2020-05-08 計算系統及用於記憶體尋址的方法

Country Status (5)

Country Link
US (3) US10915451B2 (zh)
JP (1) JP7473386B2 (zh)
KR (1) KR20200130113A (zh)
CN (1) CN111916120B (zh)
TW (1) TWI817008B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11404106B2 (en) * 2020-07-27 2022-08-02 Robert Bosch Gmbh Read only memory architecture for analog matrix operations
JP2023150543A (ja) * 2022-03-31 2023-10-16 ソニーセミコンダクタソリューションズ株式会社 メモリ制御装置
CN117636946A (zh) * 2022-08-09 2024-03-01 芯动微电子科技(珠海)有限公司 高带宽ddr双列直插式存储模块、存储系统及其操作方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140082322A1 (en) * 2012-09-14 2014-03-20 Advanced Micro Devices, Inc. Programmable physical address mapping for memory
US20150006946A1 (en) * 2013-06-27 2015-01-01 Cisco Technology, Inc. Aggregated delivery of tunnel fault messages on common ethernet segments
US9274965B2 (en) * 2008-12-15 2016-03-01 International Business Machines Corporation Prefetching data
US20180189227A1 (en) * 2016-12-30 2018-07-05 Intel Corporation Dimension shuffling using matrix processors
US20190044515A1 (en) * 2017-12-27 2019-02-07 Intel Corporation Integrated Circuit Device with Separate Die for Programmable Fabric and Programmable Fabric Support Circuitry

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000029782A (ja) 1998-07-14 2000-01-28 Canon Inc メモリ制御方法及び装置
JP4497184B2 (ja) 2007-09-13 2010-07-07 ソニー株式会社 集積装置およびそのレイアウト方法、並びにプログラム
US9183166B2 (en) * 2009-12-14 2015-11-10 Rambus Inc. Expandable asymmetric-channel memory system
JP5700262B2 (ja) * 2010-02-24 2015-04-15 マーベル ワールド トレード リミテッド データ格納デバイスへのアクセスの空間分布に基づくキャッシュ
US9256531B2 (en) 2012-06-19 2016-02-09 Samsung Electronics Co., Ltd. Memory system and SoC including linear addresss remapping logic
US20140304453A1 (en) * 2013-04-08 2014-10-09 The Hong Kong Polytechnic University Effective Caching for Demand-based Flash Translation Layers in Large-Scale Flash Memory Storage Systems
US20140351546A1 (en) * 2013-05-24 2014-11-27 Ati Technologies Ulc Method and apparatus for mapping a physical memory having a plurality of memory regions
WO2015006946A1 (en) 2013-07-18 2015-01-22 Advanced Micro Devices, Inc. Partitionable data bus
US9606916B2 (en) 2013-09-13 2017-03-28 Samsung Electronics Co., Ltd. Semiconductor devices including application processor connected to high-bandwidth memory and low-bandwidth memory, and channel interleaving method thereof
US9361973B2 (en) 2013-10-28 2016-06-07 Cypress Semiconductor Corporation Multi-channel, multi-bank memory with wide data input/output
US9785373B2 (en) * 2015-11-25 2017-10-10 International Business Machines Corporation Optimizing fine grained context addressability in highly dimensional environments using TCAM hybrid memory and storage architectures
US20170285992A1 (en) * 2016-04-01 2017-10-05 Intel Corporation Memory subsystem with narrow bandwidth repeater channel
US9576637B1 (en) * 2016-05-25 2017-02-21 Advanced Micro Devices, Inc. Fine granularity refresh
US10503655B2 (en) 2016-07-21 2019-12-10 Advanced Micro Devices, Inc. Data block sizing for channels in a multi-channel high-bandwidth memory
US10180906B2 (en) * 2016-07-26 2019-01-15 Samsung Electronics Co., Ltd. HBM with in-memory cache manager
US10916516B2 (en) 2017-06-07 2021-02-09 Xilinx, Inc. High bandwidth memory (HBM) bandwidth aggregation switch
US9946654B2 (en) * 2016-09-09 2018-04-17 Cray Inc. High-bandwidth prefetcher for high-bandwidth memory
US10162522B1 (en) 2016-09-30 2018-12-25 Cadence Design Systems, Inc. Architecture of single channel memory controller to support high bandwidth memory of pseudo channel mode or legacy mode
US10545860B2 (en) * 2017-08-10 2020-01-28 Samsung Electronics Co., Ltd. Intelligent high bandwidth memory appliance
US10770129B2 (en) * 2018-08-21 2020-09-08 Intel Corporation Pseudo-channeled DRAM
WO2020176291A1 (en) * 2019-02-28 2020-09-03 Rambus Inc. Quad-channel dram

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9274965B2 (en) * 2008-12-15 2016-03-01 International Business Machines Corporation Prefetching data
US20140082322A1 (en) * 2012-09-14 2014-03-20 Advanced Micro Devices, Inc. Programmable physical address mapping for memory
US20150006946A1 (en) * 2013-06-27 2015-01-01 Cisco Technology, Inc. Aggregated delivery of tunnel fault messages on common ethernet segments
US20180189227A1 (en) * 2016-12-30 2018-07-05 Intel Corporation Dimension shuffling using matrix processors
US20190044515A1 (en) * 2017-12-27 2019-02-07 Intel Corporation Integrated Circuit Device with Separate Die for Programmable Fabric and Programmable Fabric Support Circuitry

Also Published As

Publication number Publication date
US20200356488A1 (en) 2020-11-12
CN111916120A (zh) 2020-11-10
US20230087747A1 (en) 2023-03-23
US11513965B2 (en) 2022-11-29
CN111916120B (zh) 2022-05-24
TW202042066A (zh) 2020-11-16
KR20200130113A (ko) 2020-11-18
US20210141735A1 (en) 2021-05-13
US10915451B2 (en) 2021-02-09
JP7473386B2 (ja) 2024-04-23
JP2020187747A (ja) 2020-11-19

Similar Documents

Publication Publication Date Title
US11301340B2 (en) Memory-based distributed processor architecture
TWI817008B (zh) 計算系統及用於記憶體尋址的方法
KR101528659B1 (ko) 가변 메모리 리프레시 장치들 및 방법들
US20200257633A1 (en) Memory devices and methods which may facilitate tensor memory access with memory maps based on memory operations
US20120246380A1 (en) Neighborhood operations for parallel processing
Li et al. A performance & power comparison of modern high-speed dram architectures
US11474950B2 (en) Memory controller including plurality of address mapping tables, system on chip, and electronic device
US11276459B2 (en) Memory die including local processor and global processor, memory device, and electronic device
US11789644B2 (en) Memory centric system incorporating computational memory
JP2023527324A (ja) ニアメモリアドレス生成を伴うメモリアクセスコマンド
CN104407985B (zh) 存储器地址映射方法及存储器地址映射系统
US11016704B2 (en) Semiconductor system including various memory devices capable of processing data
TWI757300B (zh) 用於執行內部程序之記憶體裝置及其操作方法
US20210034286A1 (en) Memory system for data swap and operating method thereof
CN107247577A (zh) 一种配置socip核的方法、装置及系统
Bottleneck mMPU—A Real Processing-in-Memory Architecture to Combat the von
신현승 McDRAM: Low Latency and Energy-Efficient Matrix Computation in DRAM
CN112835513A (zh) 控制数据读写装置与方法
CN114155891A (zh) 执行可配置模式设置的存储设备及其操作方法