TWI746878B - 高頻寬記憶體系統以及邏輯裸片 - Google Patents
高頻寬記憶體系統以及邏輯裸片 Download PDFInfo
- Publication number
- TWI746878B TWI746878B TW107127706A TW107127706A TWI746878B TW I746878 B TWI746878 B TW I746878B TW 107127706 A TW107127706 A TW 107127706A TW 107127706 A TW107127706 A TW 107127706A TW I746878 B TWI746878 B TW I746878B
- Authority
- TW
- Taiwan
- Prior art keywords
- host
- logic
- bandwidth memory
- logic die
- processing
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- H10W90/00—
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1008—Correctness of operation, e.g. memory ordering
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1056—Simplification
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/602—Details relating to cache prefetching
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- 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
- 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/04—Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Neurology (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Advance Control (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本發明公開一種高頻寬記憶體系統以及一種邏輯裸片。所述高頻寬記憶體系統包括:主機,其包括中央處理單元、圖形處理單元、專用積體電路或現場可程式設計閘陣列中的至少一個;以及包括一個配置在另一個上方的多個高頻寬記憶體模組及配置在多個高頻寬記憶體模組下方的邏輯裸片的高頻寬記憶體堆疊。邏輯裸片配置成從主機卸載處理操作。本發明公開一種在高頻寬記憶體的邏輯裸片中提供特定計算能力的系統架構,以及支援硬體及軟體架構、邏輯裸片微架構以及記憶體介面信令選項。提供使用高頻寬記憶體堆疊下方的邏輯裸片的記憶體內處理能力的各種新方法。另外,本發明公開各種新的信令協定以使用高頻寬記憶體介面。還描述邏輯裸片微架構及支援系統框架。
Description
本發明涉及半導體電路,且更確切地說,涉及包括用於卸載傳統上由主機執行的複雜邏輯操作的邏輯裸片的智慧高頻寬記憶體設備。
網際網路已引起將資料提供到數百萬台電腦及移動裝置的電腦伺服器的數目的巨大的擴展。人工智慧(Artificial Intelligence, AI)及其它深度學習應用程式變得更常見且目前需求量高。當今的伺服器電腦環境朝向儲存裝置內和記憶體內計算移動,使得某一計算更接近資料實際上駐留之處執行。這增加性能且減小能量消耗。
如深度神經網路等新興應用需要大量的計算能力和記憶能力來訓練不同的資料集且以高精度學習。此外,隨著如高性能電腦(high performance computer, HPC)、圖形演算法等的應用變得資料和計算密集,能量效率和低時延變得關鍵。
近年來,高頻寬記憶體(High Bandwidth Memory, HBM)和高頻寬記憶體2(HBM2)已用於獲得更高頻寬同時藉由將動態隨機記憶體(Dynamic Random Access Memory, DRAM)裸片一個堆疊在另一個頂上來在更小外觀尺寸中使用更小功率,且提供與主機的非同步通信介面。通信的非同步性質增加性能而且使得更加難以處理複雜邏輯操作。當邏輯操作複雜時,存在更小確定性。換句話說,完成特定複雜邏輯操作將花費的時間較不確定。
本發明提供一種高頻寬記憶體(HBM+)系統,包括:主機,其包括中央處理單元(central processing unit, CPU)、圖形處理單元(graphics processing unit, GPU)、專用積體電路(application specific integrated circuit, ASIC)或現場可程式設計閘陣列(field programmable gate array, FPGA)中的至少一個;以及HBM+堆疊,其包括一個配置在另一個頂上的多個高頻寬記憶體(high bandwidth memory, HBM)模組及配置在所述多個HBM模組下方的邏輯裸片。邏輯裸片被配置以從主機卸載處理操作。
本發明的邏輯裸片包括包括介面PHY及主機佇列管理器的主機管理器,其中主機管理器被配置以經由介面PHY與主機介面連接且被配置以使從主機接收到的通信排隊。邏輯裸片可另外包括記憶體控制器,所述記憶體控制器包括預取引擎及快取記憶體控制器,其中記憶體控制器被配置以經由預取引擎及快取記憶體控制器與記憶體介面連接。邏輯裸片可另外包括高頻寬記憶體(HBM)控制器,所述高頻寬記憶體控制器包括被配置以與HBM模組的堆疊介面連接的記憶體控制器。邏輯裸片可另外包括被配置以從主機卸載處理操作的卸載處理邏輯部分。
現在將詳細參考各種實施例,在圖式中示出所述實施例的實例。在以下詳細描述中,闡述眾多具體細節以實現對實施例的透徹理解。然而,應理解,本領域技術人員可以在沒有這些具體細節的情況下實踐本發明概念。在其它例子中,未詳細描述眾所周知的方法、程式、元件、電路和網路,以免不必要地混淆實施例的各方面。
應理解,雖然術語“第一”、“第二”等可在本文中用以描述各種元件,但這些元件不應受這些術語限制。這些術語僅用於將一個元件與另一元件區分開來。舉例來說,在不脫離實施例的範圍的情況下,第一模組可以被稱為第二模組,並且類似地,第二模組可以被稱為第一模組。
本文中用於實施例的描述中的術語是僅出於描述具體實施例的目的且並不希望限制本發明概念。如實施例及所附權利要求書的描述中所使用,單數形式“一”及“所述”意在也包括複數形式,除非上下文另有清楚指示。還將理解,如本文中所使用的術語“和/或”指代且涵蓋相關聯的所列項目中的一或多者的任何及所有可能的組合。應進一步理解,當用於本說明書中時,術語“包括(comprises/comprising)”指定存在所陳述的特徵、整數、步驟、操作、元件和/或元件,但不排除存在或添加一個或多個其它特徵、整數、步驟、操作、元件、元件和/或其群組。圖式中的元件和特徵未必是按比例繪製。
在成長期人工智慧(AI)計算應用的情況下,需要新硬體來在跨越圖像和言語分類、媒體分析、醫療保健、獨立機械和智慧助理的域中啟用新應用。AI應用驅動機器學習框架。舉例來說,在深度神經網路演算法中,資料集的大小常常使可用的硬體的計算能力過度成長。具有許多萬億次浮點運算的計算性能能力的新高性能電腦(high performance computer, HPC)已出現為替代解決方案直到較新架構可用為止。在每主機單元四個到八個模組堆疊的情況下,HBM演進到HBM2且針對並行加速器提供高頻寬。舉例來說,主機可包括例如微處理器的中央處理單元(CPU)、專用積體電路(ASIC)、圖形處理單元(GPU)、現場可程式設計閘陣列(FPGA)等等。現用頻寬處於每秒一太位元組範圍內,其為雙資料速率類型的五同步圖形RAM(GDDR5)的效率的兩倍。
本文中所公開的實施例包括在高頻寬記憶體的邏輯裸片中提供特定計算能力的系統架構以及支援硬體和軟體架構、邏輯裸片微架構以及記憶體介面信令選項。提供使用HBM堆疊下方的邏輯裸片的記憶體處理能力的各種新方法。另外,公開各種新的信令協定以使用HBM介面。還描述邏輯裸片微架構及支援系統框架。
系統為在例如GPU、FPGA等的加速器上執行高效節能和高速計算提供端到端解決方案。卸載處理操作在硬體或軟體工具鏈中引入額外複雜程度以提取益處。本文中被稱作“HBM+”新架構構建HBM2和PIM。HBM2架構包括多達每主機四個堆疊,多達每堆疊八個通道,其中每堆疊四到八個裸片。每通道可能存在八到16個庫,且庫群經支持。舉例來說,資料線(data line, DQ)寬度為128加上任選的錯誤碼校正(error code correcting, ECC)腳位加上兩個偽通道。在每個庫每秒二十億位元組的情況下,系統頻寬為每系統每秒一太位元組。
圖1是HBM+單元100的實例俯視方塊圖。HBM+單元100可包括主機115(例如,CPU、GPU、ASIC、FPGA等)。HBM+單元100可包括HBM2模組110的多個HBM+堆疊120及配置在HBM2模組110下方的對應邏輯裸片105。HBM+單元100可以是PCI-E相容板。
圖2示出沿著線2-2獲取的圖1的HBM+單元100的側視方塊圖。如圖2中所示,HBM2模組堆疊在邏輯裸片105上,形成HBM+堆疊120。多個HBM+堆疊120可包括在HBM+單元100上。主機115可與邏輯裸片105中的每一個通信。主機115及邏輯裸片105可配置在內插器205頂上且耦合到所述內插器205。內插器205可配置在封裝基板210頂上且耦合到所述封裝基板210。
在HBM+中,邏輯裸片105可執行基本輸入/輸出(I/O)操作,從而引起較低時延及較好記憶體流量。機器學習演算法受益於此架構,這是因為所述機器學習演算法需要用於訓練及預測的密集型頻寬。接近處理器的記憶體借助于HBM+邏輯裸片105次要主機115。
HBM+堆疊120可將計算工作從主機115卸載到HBM2模組110下方的邏輯裸片105。主機115可為CPU、GPU、ASIC、FPGA等等。邏輯裸片105隨後實施專用邏輯功能,所述專用邏輯功能可特定針對于具有特殊高頻寬要求的機器學習應用程式。因此,系統性能提高且能量消耗減少。
圖3示出用於從主機(例如,115)卸載計算工作的兩種類型的架構(例如,340及345)的框架方塊圖300。如圖3中所示,第一架構340使用HBM計算能力(例如,310、315以及320)而無需修改上部層應用程式(例如,人工智慧(AI)app 305)。HBM計算能力可以包括計算統一裝置架構(compute unified device architecture, CUDA)310、GPU指令集架構(GPU-ISA或G-ISA)315及/或GPU 320。
替代性架構345將HBM+庫函式呼叫(例如,325、330以及335)提供到應用程式305以使用底層HBM邏輯指令集架構(instruction set architecture, ISA)。HBM+庫函式呼叫可以包括庫325、記憶體ISA(M-ISA)330或其它HBM+特定庫函式呼叫335。在此實施例中,上部層應用程式(例如,人工智慧(AI)app 305)經修改以對庫函式呼叫進行調用。整個框架包括系統、微架構、庫以及驅動器。系統還可包括兩種硬體協定及邏輯微架構,如下文進一步描述。
圖4示出包括主機元件(例如,405、410、415以及420)的系統400及HBM+堆疊120的實例方塊圖,其中根據一些實施例提供主要硬體實施方案。主機115可包括例如CPU 405、DRAM緩衝器410、PCI-E介面415、GPU 420等等。在主要硬體實施方案中,主機115(例如,GPU 420)可包括記憶體控制器變化。GPU 420可將操作直接卸載到HBM2模組(例如,110)及/或卸載到HBM+堆疊120,所述GPU 420可執行卸載邏輯處理。在此實施例中,可能存在同步或非同步主機到記憶體協定且不需要應用程式變化。
圖5A示出包括主機元件(例如,405、410、415以及420)的系統500及HBM+堆疊120的實例方塊圖,其中根據一些實施例提供主要軟體實施方案。主機115可包括例如CPU 405、DRAM緩衝器410、PCI-E介面415、GPU 420等等。
在主要軟體實施方案中,可使用記憶體映射I/O(MMIO)技術,例如gdrcopy,以在CPU 405中產生GPU記憶體的緩存用戶空間映射。此用戶空間映射使得CPU 405能夠將卸載內核510的資料從GPU 420直接讀取到DRAM緩衝器410內的共用緩衝器中。隨後,CPU 405可將資料拷貝到HBM+堆疊120中或將HBM邏輯重導引到相關位址。例如(圖3的)AI應用程式305的上層應用程式可修改成針對計算使用HBM+堆疊120。不需要硬體變化。
圖5B示出根據一些實施例繪示在GPU或HBM+堆疊上可如何處理不同內核的圖502。換句話說,應用程式的不同部分可取決於配置在不同硬體上運行。換句話說,不同內核或功能可在GPU 420或HBM+堆疊120上起始及處理,進而分佈處理負荷。舉例來說,GPU 420可接收DATA_IN且處理KERNEL_1。HBM+堆疊120可接收DATA_1、處理KERNEL_2且產生DATA_2。GPU 420可處理KERNEL_3且產生DATA_OUT。以下是用於實例實施方案的虛擬碼:
gdrcopy(DATA_IN, numBytes, HostToDevice) GPU_Kernel<<<1,N>>>(DATA_IN) CpuWaitFunction(lock) gdrcopy(DATA_1,numBytes,DeviceToHost) HBM_Kernel<<<1,N>>>(DATA_1) CpuWaitFunction(lock) gdrcopy(DATA_2, numBytes, HostToDevice) GPU_Kernel<<<1,N>>>(DATA_2)
在一些實施例中,一或多個標誌可設置成協調各種硬體元件之間的處理。舉例來說,第一標誌可由CPU 405設置以指示處理應開始。隨後,CPU 405可將資料從DRAM緩衝器410複製到GPU 420,其中處理中的至少一些由HBM+堆疊120處理。隨後,第二標誌可由GPU 420及/或HBM+堆疊120設置成指示處理完成。隨後,CPU 405可將資料複製回DRAM緩衝器410。
圖6示出圖1及圖2的邏輯裸片105的微架構。核心架構605解碼記憶體內處理(processing-in-memory, PIM)命令(例如,PIM_CMD)、發佈內部微操作,以及調度多個記憶體內處理(PIM)操作。週邊邏輯可以包括具有排隊控制的主機管理器615、SRAM控制器620、HBM控制器625以及可以包括各種狀態機的卸載處理邏輯部分610。
更具體地說,邏輯裸片105可以包括主機管理器615,所述主機管理器615包括介面PHY 675及主機佇列管理器680。在一些實施例中,主機管理器615配置成經由介面PHY 675與主機(例如,圖1的115)介面連接。此外,主機管理器615配置成使從主機115接收到的通信排隊。邏輯裸片105可以包括SRAM控制器620,所述SRAM控制器620包括預取引擎685及快取記憶體控制器690。SRAM控制器620配置成經由預取引擎685及快取記憶體控制器690與SRAM 635介面連接。
邏輯裸片105可以包括高頻寬記憶體(HBM)控制器625,所述高頻寬記憶體控制器625包括配置成與HBM2模組的堆疊630介面連接的記憶體控制器698及糾錯碼(ECC)邏輯部分695。在一些實施例中,邏輯裸片105可以包括配置成從主機(例如,圖1的115)卸載處理操作的卸載處理邏輯部分610。在一些實施例中,卸載處理邏輯部分610配置成經由主機管理器615從主機115接收關於卸載處理操作的資訊。在一些實施例中,卸載處理邏輯部分610配置成取決於所接收的關於卸載處理操作的資訊執行卸載處理操作。所接收的資訊可以包括標誌。所接收的資訊可以包括命令。
在一些實施例中,命令解碼邏輯部分640配置成解碼命令。在一些實施例中,命令發佈邏輯部分645配置成發佈命令。卸載處理邏輯部分610可回應於所發佈的命令執行卸載處理操作。卸載處理邏輯部分610包括算數邏輯單位(arithmetic logic unit, ALU)655、浮點單元(floating-point unit, FPU)660、固定邏輯670或可重構邏輯665中的至少一個。在一些實施例中,卸載處理邏輯部分610配置成取決於儲存在HBM2模組的堆疊630中的資料執行卸載。另外,核心架構605可包括有限狀態機650。
基於硬體的協定可包括單步協定或兩步協定。單步協定適合於其中主機(例如,圖1的115)不必在繼續進行額外操作之前等待計算結果的簡單操作。換句話說,主機115與HBM+堆疊(例如,圖1的120)之間存在確定性定時。在單步協議中,記憶體控制器698可僅鎖定源及目的地位址及/或組。單步協定的實例包括例如讀取-修改-寫入操作的原子操作。
兩步協定適合於其中主機115等待計算結果的操作。實例包括事務命令。在此實施例中,PHY藉由經改變用途的事務腳位修改(例如,腳位改變或添加)以獲得(圖1的)主機115與HBM+堆疊120之間的資訊流。在此實施例中,記憶體控制器698在事務期間可鎖定HBM2模組的整個堆疊630。實例包括轉置100乘100矩陣。
能夠在邏輯裸片(例如,圖1的105)上執行的函式程式庫的各種類別(即,編號1到5)示出於下方表1中。函式程式庫可藉由主機(例如,圖1的115)進行協調,所述函式程式庫各自具有離散操作欄位及成分函數。這些函式程式庫與同步及非同步HBM+介面兩種相容。性能借助於較低匯流排事務、排隊及記憶體控制器時延而增加。固定邏輯及/或可重配置邏輯可用於執行函數。
本文中公開包括基於HBM的邏輯模組微架構、應用程式庫內核驅動器以及相關框架的系統架構。系統可將離散函數類別用於高頻寬記憶體裝置來提供處理能力。系統可使用具有對主機記憶體控制器的修改的基於主要硬體的方法來識別HBM計算的區域,且在HBM+微架構上處理所述區域。系統可使用具有直接從CPU存取HBM儲存空間的MMIO的基於主要軟體的方法,以便輔助任務劃分而不需要GPU支援。系統可使用單步協定及/或兩步協定來分別啟用同步和非同步HBM記憶體介面。本文中所公開的HBM邏輯可實施微架構以輔助命令解碼、並行函數調度、主控,以及週邊邏輯,從而管理主機-側面介面、排隊、內部SRAM快取記憶體及/或誤差校正。
圖7是根據如本文中所公開的實施例的包括圖1的HBM+單元100的電腦系統700的實例方塊圖。HBM+單元100可電連接到系統匯流排705。電腦系統700還可包括時脈710、隨機存取記憶體(random access memory, RAM)及/或快閃記憶體715、記憶體控制器745、使用者介面720、例如基帶晶片組的數據機725,及/或自動化測試設備(automated test equipment, ATE)735,其中的任一個或全部可電耦合到系統匯流排705。
當電腦系統700是移動裝置時,其可另外包括電池740,所述電池740為電腦系統700供電。儘管圖7中未繪示,但電腦系統700可另外包括應用程式晶片組、相機影像處理器(camera image processor, CIS)、移動DRAM等。記憶體控制器745和快閃記憶體715可構成固態驅動器/磁片(solid state drive, SSD),其使用非易失性記憶體來儲存資料。
在實例實施例中,電腦系統700可用作電腦、可擕式電腦、超移動PC(Ultra Mobile PC, UMPC)、工作站、小型筆記本式電腦(net-book)、PDA、上網本、無線電話、行動電話、智慧型電話、電子書、可擕式多媒體播放機(portable multimedia player, PMP)、數碼相機、數位音訊記錄器/播放機、數位圖片/視頻記錄器/播放機、可擕式遊戲機、導航系統、黑箱、3維電視、能夠在無線情形下傳輸和接收資訊的裝置、構成家用網路的各種電子裝置中的一個、構成電腦網路的各種電子裝置中的一個、構成遠端資訊處理網路的各種電子裝置中的一個、RFID,或構成電腦系統的各種電子裝置中的一個。
以下論述預期提供其中可以實施本發明概念的某些方面的一或多個合適機器的簡要一般描述。通常,一或多個機器包括系統匯流排,處理器、記憶體(例如,隨機存取記憶體(RAM)、唯讀記憶體(read-only memory, ROM)或其它狀態保持媒體)、儲存裝置、視頻界面以及輸入/輸出介面埠附接到所述系統匯流排。一或多個機器可以至少部分地藉由從例如鍵盤、滑鼠等常規輸入裝置的輸入,以及藉由從另一機器接收的指令、與虛擬實境(virtual reality, VR)環境的交互、生物計量回饋或其它輸入信號控制。本文所使用的術語“機器”預期廣泛地涵蓋單個機器、虛擬機器,或以通信方式耦合的機器、虛擬機器或一起操作的裝置的系統。示例性機器包括計算裝置,例如個人電腦、工作站、伺服器、可擕式電腦、掌上型裝置、電話、平板電腦等,以及交通裝置,例如私人或公共交通工具,例如汽車、火車、計程車等。
一或多個機器可以包括嵌入式控制器,例如,可程式設計或不可程式設計邏輯裝置或陣列、專用積體電路(ASIC)、嵌入式電腦、智慧卡等。一或多個機器可以利用例如經由網路介面、數據機或其它通信耦合與一或多個遠端機器的一或多個連接。機器可以借助於物理和/或邏輯網路,例如企業內部網、網際網路、局域網、廣域網路等互連。本領域的技術人員應理解,網路通信可利用各種有線和/或無線短程或長程載波和協議,包括射頻(radio frequency, RF)、衛星、微波、電氣和電子工程師學會(Institute of Electrical and Electronics Engineer, IEEE)545.11、Bluetooth®、光、紅外線、電纜、鐳射等。
可以參考或結合包括功能、程式、資料結構、應用程式等的相關聯資料描述本發明概念的實施例,所述相關聯資料在藉由機器訪問時引起機器執行任務或定義抽象資料類型或低級硬體上下文。相關聯資料可以儲存在例如易失性和/或非易失性記憶體,例如RAM、ROM等中,或其它儲存裝置以及其相關聯儲存媒體中,包括硬碟驅動器、軟碟、光學儲存裝置、磁帶、快閃記憶體、儲存棒、數位視訊盤、生物儲存裝置等。相關聯資料可以採用包、串列資料、並行資料、傳播信號等形式在包括物理和/或邏輯網路的傳輸環境上遞送,並且可以壓縮或加密格式使用。相關聯資料可以用於分散式環境中,並且本地和/或遠端地儲存用於機器訪問。
在參考所示出實施例描述和示出本發明概念的原理之後,將認識到,所示出實施例的配置和細節可以在不脫離此原理的情況下進行修改,並且可以按任何所需方式組合。並且,儘管前述論述集中於具體實施例,但是預期其它配置。具體而言,即使本文中使用例如“根據本發明概念的實施例”等的表達,但是這些詞語一般表示參考實施例可能性,且並不意圖將本發明概念限制到具體實施例配置。如本文中所使用,這些術語可以參考可組合到其它實施例中的相同或不同實施例。
本發明概念的實施例可以包括非暫時性機器可讀媒體,所述非暫時性機器可讀媒體包括可由一或多個處理器執行的指令,所述指令包括用於執行如本文中所描述的發明性概念的元件的指令。
前述說明性實施例不應被解釋為限制其本發明概念。雖然已經描述幾個實施例,但本領域技術人員將容易瞭解,在實質上不脫離本公開的新穎教示和優點的情況下,對這些實施例的許多修改是可能的。因此,所有此類修改預期包括在如所附權利要求中定義的此發明概念的範圍內。
2-2‧‧‧線100‧‧‧HBM+單元105‧‧‧邏輯裸片110‧‧‧HBM2模組115‧‧‧主機120‧‧‧HBM+堆疊205‧‧‧內插器210‧‧‧封裝基板300‧‧‧框架方塊圖305‧‧‧人工智慧app310‧‧‧計算統一裝置架構315‧‧‧GPU指令集架構320、420‧‧‧GPU325‧‧‧庫330‧‧‧記憶體ISA335‧‧‧HBM+特定庫函式呼叫340‧‧‧第一架構345‧‧‧替代性架構400、500‧‧‧系統405‧‧‧CPU410‧‧‧DRAM緩衝器415‧‧‧PCI-E介面502‧‧‧圖605‧‧‧核心架構610‧‧‧卸載處理邏輯部分615‧‧‧主機管理器620‧‧‧SRAM控制器625‧‧‧HBM控制器630‧‧‧HBM2模組的堆疊635‧‧‧SRAM640‧‧‧命令解碼邏輯部分645‧‧‧命令發佈邏輯部分650‧‧‧有限狀態機655‧‧‧算數邏輯單位660‧‧‧浮點單元665‧‧‧可重構邏輯670‧‧‧固定邏輯675‧‧‧介面PHY680‧‧‧主機佇列管理器685‧‧‧預取引擎690‧‧‧快取記憶體控制器695‧‧‧糾錯碼邏輯部分698、745‧‧‧記憶體控制器700‧‧‧電腦系統705‧‧‧系統匯流排710‧‧‧時脈715‧‧‧隨機存取記憶體及/或快閃記憶體720‧‧‧使用者介面725‧‧‧數據機735‧‧‧自動化測試設備740‧‧‧電池745‧‧‧記憶體控制器
本發明原理的先前及額外特徵及優點將從參考圖式進行的以下詳細描述變得更顯而易見,在圖式中: 圖1是HBM+單元的實例俯視方塊圖。 圖2示出沿著線2-2獲取的圖1中HBM+單元的側視方塊圖。 圖3示出用於從主機卸載計算工作的兩種類型的架構的框架方塊圖。 圖4示出包括主機元件及HBM+堆疊的系統的實例方塊圖,其中根據一些實施例提供主要硬體實施方案。 圖5A示出包括主機元件及HBM+堆疊的系統的實例方塊圖,其中根據一些實施例提供主要軟體實施方案。 圖5B示出根據一些實施例繪示在GPU或HBM+堆疊上可如何處理不同內核的圖。 圖6示出圖1及圖2的邏輯裸片的微架構。 圖7是根據本文中所公開的實施例的包括圖1的HBM+單元的電腦系統的實例方塊圖。
2-2‧‧‧線
100‧‧‧HBM+單元
105‧‧‧邏輯裸片
110‧‧‧HBM2模組
115‧‧‧主機
120‧‧‧HBM+堆疊
Claims (23)
- 一種高頻寬記憶體系統,包括:主機,包括中央處理單元、圖形處理單元、專用積體電路或現場可程式設計閘陣列中的至少一個;以及高頻寬記憶體堆疊,包括其中一個配置在另一個頂上的多個高頻寬記憶體模組及配置在所述多個高頻寬記憶體模組下方的邏輯裸片;其中所述邏輯裸片包括:高頻寬記憶體控制器,包括被配置以與所述多個高頻寬記憶體模組介面連接的記憶體控制器;卸載處理邏輯部分,被配置以從所述主機卸載處理操作,以及其中:所述卸載處理邏輯部分被配置以接收由所述主機設置以指示所卸載的所述處理操作應開始的第一標誌;所述卸載處理邏輯部分回應所述第一標誌使用所述高頻寬記憶體控制器執行所卸載的所述處理操作;以及所述高頻寬記憶體控制器被配置以設置第二標誌以指示所卸載的所述處理操作已完成。
- 如申請專利範圍第1項所述的高頻寬記憶體系統,其中所述邏輯裸片被配置以從所述主機卸載處理操作。
- 如申請專利範圍第1項所述的高頻寬記憶體系統,更包括耦合到所述主機且耦合到所述邏輯裸片的內插器。
- 如申請專利範圍第3項所述的高頻寬記憶體系統,更包括耦合到所述內插器的基板。
- 如申請專利範圍第4項所述的高頻寬記憶體系統,其中所述多個高頻寬記憶體模組以通信方式耦合到所述邏輯裸片,且所述邏輯裸片以通信方式耦合到所述主機。
- 如申請專利範圍第1項所述的高頻寬記憶體系統,其中:所述高頻寬記憶體堆疊被稱作第一高頻寬記憶體堆疊;所述多個高頻寬記憶體模組被稱作第一多個高頻寬記憶體模組;所述邏輯裸片被稱作第一邏輯裸片;以及所述高頻寬記憶體系統更包括:第二高頻寬記憶體堆疊,其包括其中一個配置在另一個頂上的第二多個高頻寬記憶體模組及配置在所述第二多個高頻寬記憶體模組下方的第二邏輯裸片。
- 如申請專利範圍第6項所述的高頻寬記憶體系統,其中:所述第一邏輯裸片及所述第二邏輯裸片各被配置以從所述主機卸載處理操作;所述第一多個高頻寬記憶體模組以通信方式耦合到所述第一邏輯裸片,且所述第一邏輯裸片以通信方式耦合到所述主機;所述第二多個高頻寬記憶體模組以通信方式耦合到所述第二邏輯裸片,且所述第二邏輯裸片以通信方式耦合到所述主機;以 及所述系統更包括耦合到所述主機且耦合到所述第一邏輯裸片及所述第二邏輯裸片的內插器以及耦合到所述內插器的基板。
- 如申請專利範圍第1項所述的高頻寬記憶體系統,更包括:記憶體;其中所述邏輯裸片包括:主機管理器,包括介面物理層(PHY)及主機佇列管理器,其中所述主機管理器被配置以經由所述介面物理層與所述主機介面連接,且被配置以使從所述主機接收到的通信排隊;以及裸片記憶體控制器,包括預取引擎及快取記憶體控制器,其中所述裸片記憶體控制器被配置以經由所述預取引擎及所述快取記憶體控制器與所述記憶體介面連接。
- 如申請專利範圍第8項所述的高頻寬記憶體系統,其中:所述卸載處理邏輯部分被配置以經由所述主機管理器從所述主機接收關於所卸載的所述處理操作的資訊;以及所述卸載處理邏輯部分被配置以取決於所接收的關於所卸載的所述處理操作的所述資訊執行所卸載的所述處理操作。
- 如申請專利範圍第9項所述的高頻寬記憶體系統,其中所接收的所述資訊包括命令。
- 如申請專利範圍第10項所述的高頻寬記憶體系統,更包括:命令解碼邏輯部分,被配置以解碼從所述主機接收到的所述命令。
- 如申請專利範圍第11項所述的高頻寬記憶體系統,其中所述卸載處理邏輯部分被配置以回應於所發佈的所述命令執行所卸載的所述處理操作。
- 如申請專利範圍第8項所述的高頻寬記憶體系統,其中所述卸載處理邏輯部分包括算數邏輯單位、浮點單元、固定邏輯或可重構邏輯中的至少一個。
- 如申請專利範圍第8項所述的高頻寬記憶體系統,其中所述卸載處理邏輯部分被配置以取決於儲存在所述多個高頻寬記憶體模組中的資料執行所卸載的所述處理操作。
- 如申請專利範圍第8項所述的高頻寬記憶體系統,其中:所述裸片記憶體控制器是靜態隨機存取記憶體控制器;以及所述記憶體是靜態隨機存取記憶體。
- 一種邏輯裸片,包括:主機管理器,包括介面物理層及主機佇列管理器,其中所述主機管理器被配置以經由所述介面物理層與主機介面連接,且被配置以使從所述主機接收到的通信排隊;裸片記憶體控制器,包括預取引擎及快取記憶體控制器,其 中所述裸片記憶體控制器被配置以經由所述預取引擎及所述快取記憶體控制器與記憶體介面連接;高頻寬記憶體控制器,包括被配置以與高頻寬記憶體模組的堆疊的介面連接的記憶體控制器;以及卸載處理邏輯部分,被配置以從所述主機卸載處理操作,其中:所接收的資訊包括由所述主機設置以指示處理應開始的第一標誌;所述卸載處理邏輯部分回應所述第一標誌使用所述高頻寬記憶體控制器執行所述處理操作;以及所述高頻寬記憶體控制器被配置以設置第二標誌以指示所述處理操作已完成。
- 如申請專利範圍第16項所述的邏輯裸片,其中:所述卸載處理邏輯部分被配置以經由所述主機管理器從所述主機接收關於所卸載的所述處理操作的資訊;以及所述卸載處理邏輯部分被配置以取決於所接收的關於所卸載的所述處理操作的所述資訊執行所卸載的所述處理操作。
- 如申請專利範圍第16項所述的邏輯裸片,其中所接收的資訊包括命令。
- 如申請專利範圍第18項所述的邏輯裸片,更包括:命令解碼邏輯部分,被配置以解碼從所述主機接收到的所述命令。
- 如申請專利範圍第19項所述的邏輯裸片,其中所述卸載處理邏輯部分被配置以回應於所發佈的所述命令執行所卸載的所述處理操作。
- 如申請專利範圍第19項所述的邏輯裸片,其中所述卸載處理邏輯部分包括算數邏輯單位、浮點單元、固定邏輯或可重構邏輯中的至少一個。
- 如申請專利範圍第19項所述的邏輯裸片,其中所述卸載處理邏輯部分被配置以取決於儲存在高頻寬記憶體模組的所述堆疊中的資料執行所卸載的所述處理操作。
- 如申請專利範圍第16項所述的邏輯裸片,其中:所述裸片記憶體控制器是靜態隨機存取記憶體控制器;以及所述記憶體是靜態隨機存取記憶體。
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201762543918P | 2017-08-10 | 2017-08-10 | |
| US62/543,918 | 2017-08-10 | ||
| US15/796,743 | 2017-10-27 | ||
| US15/796,743 US10545860B2 (en) | 2017-08-10 | 2017-10-27 | Intelligent high bandwidth memory appliance |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201918883A TW201918883A (zh) | 2019-05-16 |
| TWI746878B true TWI746878B (zh) | 2021-11-21 |
Family
ID=65275225
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW107127706A TWI746878B (zh) | 2017-08-10 | 2018-08-09 | 高頻寬記憶體系統以及邏輯裸片 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US10545860B2 (zh) |
| JP (1) | JP6974270B2 (zh) |
| KR (1) | KR102368970B1 (zh) |
| CN (1) | CN109388595B (zh) |
| TW (1) | TWI746878B (zh) |
Families Citing this family (56)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9997232B2 (en) * | 2016-03-10 | 2018-06-12 | Micron Technology, Inc. | Processing in memory (PIM) capable memory device having sensing circuitry performing logic operations |
| GB2553102B (en) * | 2016-08-19 | 2020-05-20 | Advanced Risc Mach Ltd | A memory unit and method of operation of a memory unit to handle operation requests |
| US10409614B2 (en) | 2017-04-24 | 2019-09-10 | Intel Corporation | Instructions having support for floating point and integer data types in the same register |
| US10474458B2 (en) | 2017-04-28 | 2019-11-12 | Intel Corporation | Instructions and logic to perform floating-point and integer operations for machine learning |
| US11301412B2 (en) * | 2017-12-22 | 2022-04-12 | Intel Corporation | Scaling interface architecture between memory and programmable logic |
| US10770129B2 (en) * | 2018-08-21 | 2020-09-08 | Intel Corporation | Pseudo-channeled DRAM |
| US11204819B2 (en) | 2018-12-21 | 2021-12-21 | Samsung Electronics Co., Ltd. | System and method for offloading application functions to a device |
| US10642946B2 (en) * | 2018-12-28 | 2020-05-05 | Intel Corporation | Modular periphery tile for integrated circuit device |
| KR102894763B1 (ko) | 2019-03-15 | 2025-12-03 | 인텔 코포레이션 | 하이브리드 부동 소수점 포맷에 대한 내적 누산 명령어를 갖는 그래픽 프로세서 및 그래픽 프로세싱 유닛 |
| KR102838677B1 (ko) | 2019-03-15 | 2025-07-25 | 인텔 코포레이션 | 매트릭스 가속기 아키텍처를 위한 희소 최적화 |
| US12182035B2 (en) | 2019-03-15 | 2024-12-31 | Intel Corporation | Systems and methods for cache optimization |
| US10915451B2 (en) | 2019-05-10 | 2021-02-09 | Samsung Electronics Co., Ltd. | Bandwidth boosted stacked memory |
| US11043472B1 (en) * | 2019-05-31 | 2021-06-22 | Kepler Compute Inc. | 3D integrated ultra high-bandwidth memory |
| CN112151526B (zh) * | 2019-06-28 | 2024-12-03 | 桑迪士克科技股份有限公司 | 包括高速异质集成控制器和高速缓存的半导体设备 |
| US11841803B2 (en) * | 2019-06-28 | 2023-12-12 | Advanced Micro Devices, Inc. | GPU chiplets using high bandwidth crosslinks |
| US11211378B2 (en) * | 2019-07-18 | 2021-12-28 | International Business Machines Corporation | Heterogeneous integration structure for artificial intelligence computing |
| US11861761B2 (en) | 2019-11-15 | 2024-01-02 | Intel Corporation | Graphics processing unit processing and caching improvements |
| US11663746B2 (en) | 2019-11-15 | 2023-05-30 | Intel Corporation | Systolic arithmetic on sparse data |
| US12039430B2 (en) * | 2019-11-15 | 2024-07-16 | Samsung Electronics Co., Ltd. | Electronic device and method for inference binary and ternary neural networks |
| KR102793518B1 (ko) * | 2019-11-18 | 2025-04-11 | 에스케이하이닉스 주식회사 | 신경망 처리 회로를 포함하는 메모리 장치 |
| KR102791004B1 (ko) * | 2019-12-26 | 2025-04-02 | 삼성전자주식회사 | 셀 단위로 액세스 가능한 스토리지 장치 및 그 동작방법 |
| US11056179B2 (en) * | 2020-01-08 | 2021-07-06 | Intel Corporation | Techniques to couple high bandwidth memory device on silicon substrate and package substrate |
| KR102844113B1 (ko) * | 2020-01-13 | 2025-08-11 | 삼성전자주식회사 | 메모리 장치, 메모리 모듈 및 메모리 장치의 동작 방법 |
| KR102845463B1 (ko) * | 2020-01-15 | 2025-08-11 | 삼성전자주식회사 | 병렬 연산 처리를 수행하는 메모리 장치 및 그 동작방법, 그리고 메모리 장치를 제어하는 메모리 컨트롤러의 동작방법 |
| KR102831057B1 (ko) * | 2020-01-20 | 2025-07-07 | 삼성전자주식회사 | 고대역폭 메모리 및 이를 포함하는 시스템 |
| WO2021241048A1 (ja) * | 2020-05-28 | 2021-12-02 | パナソニックIpマネジメント株式会社 | Aiチップ |
| KR102911993B1 (ko) | 2020-09-07 | 2026-01-12 | 삼성전자 주식회사 | 가변적인 모드 설정을 수행하는 메모리 장치 및 그 동작방법 |
| US20230326905A1 (en) * | 2020-09-17 | 2023-10-12 | Alibaba Group Holding Limited | Three-dimensional stacked processing systems |
| US11238940B1 (en) | 2020-11-19 | 2022-02-01 | Micron Technology, Inc. | Initialization techniques for memory devices |
| US11625249B2 (en) * | 2020-12-29 | 2023-04-11 | Advanced Micro Devices, Inc. | Preserving memory ordering between offloaded instructions and non-offloaded instructions |
| US12347818B2 (en) * | 2021-03-26 | 2025-07-01 | Intel Corporation | Logic die in a multi-chip package having a configurable physical interface to on-package memory |
| KR102430982B1 (ko) * | 2021-06-10 | 2022-08-11 | 삼성전자주식회사 | 프로세싱부를 포함하는 이종 메모리 시스템을 억세스하는 데이터 처리 시스템 및 방법 |
| CN115469800A (zh) | 2021-06-10 | 2022-12-13 | 三星电子株式会社 | 数据处理系统以及用于访问异构存储器系统的方法 |
| CN113760796B (zh) * | 2021-09-01 | 2023-12-22 | 山东华芯半导体有限公司 | 一种基于hbm缓存的ssd固态盘 |
| US20230077933A1 (en) * | 2021-09-14 | 2023-03-16 | Advanced Micro Devices, Inc. | Supporting processing-in-memory execution in a multiprocessing environment |
| US12274058B2 (en) * | 2022-03-21 | 2025-04-08 | Macronix International Co., Ltd. | Memory device |
| CN114706679A (zh) * | 2022-03-30 | 2022-07-05 | 深圳致星科技有限公司 | 融合计算和通信的计算网络单元、计算节点及计算网络 |
| CN114709205B (zh) * | 2022-06-02 | 2022-09-09 | 西安紫光国芯半导体有限公司 | 一种三维堆叠芯片及其数据处理方法 |
| CN117673013A (zh) * | 2022-08-10 | 2024-03-08 | 长鑫存储技术有限公司 | 半导体结构和半导体结构的制造方法 |
| CN115394768B (zh) * | 2022-09-06 | 2025-05-30 | 华进半导体封装先导技术研发中心有限公司 | 一种多层高带宽存储器及其制造方法 |
| KR102896243B1 (ko) | 2022-10-25 | 2025-12-08 | 삼성전자주식회사 | 호스트와 주변 장치 간의 오프 칩 액세스을 최소화하는 장치 및 방법 |
| US20240371410A1 (en) * | 2023-05-02 | 2024-11-07 | Micron Technology, Inc. | Apparatus including multiple high bandwidth memory cubes |
| JP2025523323A (ja) * | 2023-06-02 | 2025-07-23 | グーグル エルエルシー | 大規模言語モデルへの3d-dramチップレットの適用 |
| US20240403254A1 (en) * | 2023-06-02 | 2024-12-05 | Google Llc | Serving Large Language Models with 3D-DRAM Chiplets |
| US12450178B2 (en) | 2023-06-02 | 2025-10-21 | Avago Technologies International Sales Pte. Limited | Aggregation of multiple memory modules for a system-on-chip |
| US12525540B1 (en) * | 2023-06-05 | 2026-01-13 | Eliyan Corp. | Multi-chip module (MCM) with scalable high bandwidth memory |
| US12517664B2 (en) | 2023-10-11 | 2026-01-06 | Micron Technology, Inc. | Apparatus including an array of pre-configurable memory and storage |
| KR102874491B1 (ko) * | 2023-12-07 | 2025-10-23 | 주식회사 코코링크 | 인공지능 연산처리 시스템 및 이의 제어 방법 |
| US20250231877A1 (en) * | 2024-01-12 | 2025-07-17 | Micron Technology, Inc. | Cache memories in vertically integrated memory systems and associated systems and methods |
| US12481608B2 (en) | 2024-01-12 | 2025-11-25 | Google Llc | Tree-based network architecture for accelerating machine learning collective operations |
| US20250298523A1 (en) * | 2024-03-21 | 2025-09-25 | Samsung Electronics Co., Ltd. | Systems and methods of incorporating artificial intelligence accelerators on memory base dies |
| CN120929419A (zh) * | 2024-05-11 | 2025-11-11 | 华为技术有限公司 | 计算装置、内存模块组、计算设备及计算设备集群 |
| KR102888680B1 (ko) * | 2024-06-17 | 2025-11-26 | 국립한밭대학교 산학협력단 | 메모리 모듈 및 그 제조방법 |
| US20260003628A1 (en) * | 2024-06-28 | 2026-01-01 | Samsung Electronics Co., Ltd. | Systems and methods of concurrent execution in processing in memory systems |
| WO2026015391A1 (en) * | 2024-07-09 | 2026-01-15 | Micron Technology, Inc. | Memory in package devices and associated systems and methods |
| CN119046184B (zh) * | 2024-08-27 | 2025-03-21 | 沐曦科技(成都)有限公司 | 一种gpu固件日志的存储方法 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20140040532A1 (en) * | 2012-08-06 | 2014-02-06 | Advanced Micro Devices, Inc. | Stacked memory device with helper processor |
| US20150155876A1 (en) * | 2012-08-06 | 2015-06-04 | Advanced Micro Devices, Inc. | Die-stacked memory device with reconfigurable logic |
| TW201633161A (zh) * | 2014-12-27 | 2016-09-16 | 英特爾公司 | 用於高效能互連中之嵌入式串流路徑的方法、設備及系統 |
Family Cites Families (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5331427B2 (ja) * | 2008-09-29 | 2013-10-30 | 株式会社日立製作所 | 半導体装置 |
| US20100174858A1 (en) * | 2009-01-05 | 2010-07-08 | Taiwan Semiconductor Manufacturing Co., Ltd. | Extra high bandwidth memory die stack |
| CN102812519A (zh) * | 2010-03-22 | 2012-12-05 | 莫塞德技术公司 | 具有错误校正的复合半导体存储设备 |
| US20130073755A1 (en) * | 2011-09-20 | 2013-03-21 | Advanced Micro Devices, Inc. | Device protocol translator for connection of external devices to a processing unit package |
| JP5970078B2 (ja) * | 2011-12-02 | 2016-08-17 | インテル・コーポレーション | デバイス相互接続の変化を可能にする積層メモリ |
| US9129958B2 (en) * | 2011-12-22 | 2015-09-08 | Intel Corporation | 3D integrated circuit package with window interposer |
| US8737108B2 (en) * | 2012-09-25 | 2014-05-27 | Intel Corporation | 3D memory configurable for performance and power |
| KR20140131623A (ko) * | 2013-05-06 | 2014-11-14 | 에스케이하이닉스 주식회사 | 반도체 장치 |
| KR20140147218A (ko) * | 2013-06-19 | 2014-12-30 | 에스케이하이닉스 주식회사 | 메모리 장치 및 이를 포함하는 시스템 |
| US20150106574A1 (en) * | 2013-10-15 | 2015-04-16 | Advanced Micro Devices, Inc. | Performing Processing Operations for Memory Circuits using a Hierarchical Arrangement of Processing Circuits |
| US9535831B2 (en) * | 2014-01-10 | 2017-01-03 | Advanced Micro Devices, Inc. | Page migration in a 3D stacked hybrid memory |
| US9698790B2 (en) * | 2015-06-26 | 2017-07-04 | Advanced Micro Devices, Inc. | Computer architecture using rapidly reconfigurable circuits and high-bandwidth memory interfaces |
| KR102275812B1 (ko) * | 2015-09-04 | 2021-07-14 | 삼성전자주식회사 | 센터 패드 타입의 스택드 칩 구조에서 신호 완결성 이슈를 개선할 수 있는 온다이 터미네이션 스키마를 갖는 반도체 메모리 장치 |
| KR20180088438A (ko) * | 2015-11-30 | 2018-08-03 | 가부시키가이샤 페지 컴퓨팅 | 다이 및 패키지 |
| US11397687B2 (en) * | 2017-01-25 | 2022-07-26 | Samsung Electronics Co., Ltd. | Flash-integrated high bandwidth memory appliance |
| JP6815277B2 (ja) * | 2017-05-24 | 2021-01-20 | ルネサスエレクトロニクス株式会社 | 半導体装置及びデータ処理システム |
-
2017
- 2017-10-27 US US15/796,743 patent/US10545860B2/en active Active
-
2018
- 2018-06-07 KR KR1020180065482A patent/KR102368970B1/ko active Active
- 2018-07-26 JP JP2018139930A patent/JP6974270B2/ja active Active
- 2018-08-09 CN CN201810903592.6A patent/CN109388595B/zh active Active
- 2018-08-09 TW TW107127706A patent/TWI746878B/zh active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20140040532A1 (en) * | 2012-08-06 | 2014-02-06 | Advanced Micro Devices, Inc. | Stacked memory device with helper processor |
| US20150155876A1 (en) * | 2012-08-06 | 2015-06-04 | Advanced Micro Devices, Inc. | Die-stacked memory device with reconfigurable logic |
| TW201633161A (zh) * | 2014-12-27 | 2016-09-16 | 英特爾公司 | 用於高效能互連中之嵌入式串流路徑的方法、設備及系統 |
Non-Patent Citations (1)
| Title |
|---|
| Matthew Lambert,"An overview of High-Bandwidth Memory."2015/05/19,https://bit-tech.neUreviews/tech/memory/an-overview-of-high-bandwidth-memory-hbm/1/(Year:2015) * |
Also Published As
| Publication number | Publication date |
|---|---|
| CN109388595A (zh) | 2019-02-26 |
| KR102368970B1 (ko) | 2022-03-02 |
| KR20190017639A (ko) | 2019-02-20 |
| CN109388595B (zh) | 2023-12-01 |
| US10545860B2 (en) | 2020-01-28 |
| JP2019036298A (ja) | 2019-03-07 |
| JP6974270B2 (ja) | 2021-12-01 |
| US20190050325A1 (en) | 2019-02-14 |
| TW201918883A (zh) | 2019-05-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI746878B (zh) | 高頻寬記憶體系統以及邏輯裸片 | |
| CN107077441B (zh) | 用于提供使用rdma和主动消息的异构i/o的方法和装置 | |
| CN108268425B (zh) | 可编程矩阵处理引擎 | |
| CN111274025A (zh) | 用于在ssd中加速数据处理的系统和方法 | |
| US11995351B2 (en) | DMA engines configured to perform first portion data transfer commands with a first DMA engine and second portion data transfer commands with second DMA engine | |
| US11720475B2 (en) | Debugging dataflow computer architectures | |
| CN117631974A (zh) | 跨越基于存储器的通信队列的多信道接口的存取请求重新排序 | |
| CN110119807A (zh) | 运算方法、装置、计算机设备和存储介质 | |
| CN111209243B (zh) | 数据处理装置、方法及相关产品 | |
| CN111210012B (zh) | 数据处理方法、装置及相关产品 | |
| WO2016209427A1 (en) | Adaptive hardware acceleration based on runtime power efficiency determinations | |
| CN117992125A (zh) | 减少用于基于存储器的通信队列的索引更新消息 | |
| US8539131B2 (en) | Root hub virtual transaction translator | |
| CN117631976A (zh) | 用于基于存储器的通信队列的存取请求重新排序 | |
| US20220413742A1 (en) | Loading data from memory during dispatch | |
| CN113033789B (zh) | 用于保序的总线系统、集成电路装置、板卡及保序方法 | |
| US11907144B1 (en) | Early semaphore update | |
| CN115292053B (zh) | 移动端cnn的cpu、gpu、npu统一调度方法 | |
| CN117631977A (zh) | 基于存储器侧高速缓存目录的请求队列 | |
| CN111382852B (zh) | 数据处理装置、方法、芯片及电子设备 | |
| US10629161B2 (en) | Automatic multi-clock circuit generation | |
| US12423580B1 (en) | Crossbar based transpose data transfers | |
| EP4152299A1 (en) | Post-quantum secure lighteight integrity and replay protection for multi-die connections | |
| CN111813376A (zh) | 运算方法、装置及相关产品 | |
| CN121166605A (zh) | 存算一体芯片架构、存储模式配置方法及介质 |