CN109388595B - 高带宽存储器系统以及逻辑管芯 - Google Patents
高带宽存储器系统以及逻辑管芯 Download PDFInfo
- Publication number
- CN109388595B CN109388595B CN201810903592.6A CN201810903592A CN109388595B CN 109388595 B CN109388595 B CN 109388595B CN 201810903592 A CN201810903592 A CN 201810903592A CN 109388595 B CN109388595 B CN 109388595B
- Authority
- CN
- China
- Prior art keywords
- high bandwidth
- logic
- bandwidth memory
- host
- offload processing
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
- 238000012545 processing Methods 0.000 claims abstract description 72
- 238000004891 communication Methods 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 5
- 239000000758 substrate Substances 0.000 claims description 5
- 238000007667 floating Methods 0.000 claims description 4
- 230000003068 static effect Effects 0.000 claims 4
- 230000001419 dependent effect Effects 0.000 claims 2
- 238000000034 method Methods 0.000 abstract description 11
- 230000011664 signaling Effects 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 238000013473 artificial intelligence Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000012937 correction Methods 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000005265 energy consumption Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 description 1
- 102100035964 Gastrokine-2 Human genes 0.000 description 1
- 101001075215 Homo sapiens Gastrokine-2 Proteins 0.000 description 1
- 230000003698 anagen phase Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000029305 taxis Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- 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/1668—Details of memory controller
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- 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/18—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof the devices being of types provided for in two or more different subgroups of the same main group of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N
-
- 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/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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]
-
- 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/0655—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 the devices being arranged next to each other
-
- 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/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; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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
-
- 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/0652—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 the devices being arranged next and on each other, i.e. mixed assemblies
-
- 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 Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Power Engineering (AREA)
- Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Computer Hardware Design (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Neurology (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+)系统,包括:主机,其包括中央处理单元(centralprocessing unit,CPU)、图形处理单元(graphics processing unit,GPU)、专用集成电路(application specific integrated circuit,ASIC)或现场可编程门阵列(fieldprogrammable gate array,FPGA)中的至少一个;以及HBM+堆叠,其包括一个配置在另一个顶上的多个高带宽存储器(high bandwidth memory,HBM)模块及配置在所述多个HBM模块下方的逻辑管芯。逻辑管芯被配置以从主机卸载处理操作。
在一些实施例中,逻辑管芯包括包括接口PHY及主机队列管理器的主机管理器,其中主机管理器被配置以经由接口PHY与主机接口连接且被配置以使从主机接收到的通信排队。逻辑管芯可另外包括存储器控制器,所述存储器控制器包括预取引擎及高速缓存控制器,其中存储器控制器被配置以经由预取引擎及高速缓存控制器与存储器接口连接。逻辑管芯可另外包括高带宽存储器(HBM)控制器,所述高带宽存储器控制器包括被配置以与HBM模块的堆叠接口连接的存储器控制器。逻辑管芯可另外包括被配置以从主机卸载处理操作的卸载处理逻辑部分。
附图说明
本发明原理的先前及额外特征及优点将从参考附图进行的以下详细描述变得更显而易见,在附图中:
图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+堆叠;
205:内插器;
210:封装衬底;
300:框架框图;
305:人工智能app;
310:计算统一装置架构;
315:GPU指令集架构;
320、420:GPU;
325:库;
330:存储器ISA;
335:HBM+特定库函数调用;340:第一架构;
345:替代性架构;
400、500:系统;
405:CPU;
410:DRAM缓冲器;
415:PCI-E接口;
502:图;
605:核心架构;
610:卸载处理逻辑部分;
615:主机管理器;
620:SRAM控制器;
625:HBM控制器;
630:HBM2模块的堆叠;
635:SRAM;
640:命令解码逻辑部分;
645:命令发布逻辑部分;
650:有限状态机;
655:算术逻辑单元;
660:浮点单元;
665:可重构逻辑;
670:固定逻辑;
675:接口PHY;
680:主机队列管理器;
685:预取引擎;
690:高速缓存控制器;
695:纠错码逻辑部分;
698、745:存储器控制器;
700:计算机系统;
705:系统总线;
710:时钟;
715:随机存取存储器及/或闪存存储器;
720:用户接口;
725:调制解调器;
735:自动化测试设备;
740:电池;
745:存储器控制器。
具体实施方式
现在将详细参考各种实施例,在附图中示出所述实施例的实例。在以下详细描述中,阐述众多具体细节以实现对实施例的透彻理解。然而,应理解,本领域技术人员可以在没有这些具体细节的情况下实践本发明概念。在其它例子中,未详细描述众所周知的方法、程序、组件、电路和网络,以免不必要地混淆实施例的各方面。
应理解,虽然术语“第一”、“第二”等可在本文中用以描述各种元件,但这些元件不应受这些术语限制。这些术语仅用于将一个元件与另一元件区分开来。举例来说,在不脱离实施例的范围的情况下,第一模块可以被称为第二模块,并且类似地,第二模块可以被称为第一模块。
本文中用于实施例的描述中的术语是仅出于描述具体实施例的目的且并不希望限制本发明概念。如实施例及所附权利要求书的描述中所使用,单数形式“一”及“所述”意在也包括复数形式,除非上下文另有清楚指示。还将理解,如本文中所使用的术语“和/或”指代且涵盖相关联的所列项目中的一或多者的任何及所有可能的组合。应进一步理解,当用于本说明书中时,术语“包括(comprises/comprising)”指定存在所陈述的特征、整数、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整数、步骤、操作、元件、组件和/或其群组。附图中的组件和特征未必是按比例绘制。
在成长期人工智能(AI)计算应用的情况下,需要新硬件来在跨越图像和言语分类、媒体分析、医疗保健、独立机械和智能助理的域中启用新应用。AI应用驱动机器学习框架。举例来说,在深度神经网络算法中,数据集的大小常常使可用的硬件的计算能力过度成长。具有许多万亿次浮点运算的计算性能能力的新高性能计算机(high performancecomputer,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。GPU420可处理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处理。随后,第二标志可由GPU420及/或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+接口两种兼容。性能借助于较低总线事务、排队及存储器控制器时延而增加。固定逻辑及/或可重配置逻辑可用于执行函数。
表1:
本文中公开包括基于HBM的逻辑模块微架构、应用程序库内核驱动器以及相关框架的系统架构。系统可将离散函数类别用于高带宽存储器装置来提供处理能力。系统可使用具有对主机存储器控制器的修改的基于主要硬件的方法来识别HBM计算的区域,且在HBM+微架构上处理所述区域。系统可使用具有直接从CPU存取HBM存储空间的MMIO的基于主要软件的方法,以便辅助任务划分而不需要GPU支持。系统可使用单步协议及/或两步协议来分别启用同步和异步HBM存储器接口。本文中所公开的HBM逻辑可实施微架构以辅助命令解码、并行函数调度、主控,以及外围逻辑,从而管理主机-侧面接口、排队、内部SRAM高速缓存及/或误差校正。
图7是根据如本文中所公开的实施例的包括图1的HBM+单元100的计算机系统700的实例框图。HBM+单元100可电连接到系统总线705。计算机系统700还可包括时钟710、随机存取存储器(randomaccess memory,RAM)及/或闪存存储器715、存储器控制器745、用户接口720、例如基带芯片组的调制解调器725,及/或自动化测试设备(automated testequipment,ATE)735,其中的任一个或全部可电耦合到系统总线705。
当计算机系统700是移动装置时,其可另外包括电池740,所述电池740为计算机系统700供电。尽管图7中未示出,但计算机系统700可另外包括应用程序芯片组、相机图像处理器(camera image processor,CIS)、移动DRAM等。存储器控制器745和快闪存储器715可构成固态驱动器/磁盘(solid statedrive,SSD),其使用非易失性存储器来存储数据。
在实例实施例中,计算机系统700可用作计算机、便携式计算机、超移动PC(UltraMobile PC,UMPC)、工作站、小型笔记本式计算机(net-book)、PDA、上网本、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(portable multimedia player,PMP)、数码相机、数字音频记录器/播放器、数字图片/视频记录器/播放器、便携式游戏机、导航系统、黑箱、3维电视、能够在无线情形下传输和接收信息的装置、构成家庭网络的各种电子装置中的一个、构成计算机网络的各种电子装置中的一个、构成远程信息处理网路的各种电子装置中的一个、RFID,或构成计算机系统的各种电子装置中的一个。
以下论述预期提供其中可以实施本发明概念的某些方面的一或多个合适机器的简要一般描述。通常,一或多个机器包括系统总线,处理器、存储器(例如,随机存取存储器(RAM)、只读存储器(read-only memory,ROM)或其它状态保持媒体)、存储装置、视频接口以及输入/输出接口端口附接到所述系统总线。一或多个机器可以至少部分地通过从例如键盘、鼠标等常规输入装置的输入,以及通过从另一机器接收的指令、与虚拟现实(virtualreality,VR)环境的交互、生物计量反馈或其它输入信号控制。本文所使用的术语“机器”预期广泛地涵盖单个机器、虚拟机,或以通信方式耦合的机器、虚拟机或一起操作的装置的系统。示例性机器包括计算装置,例如个人计算机、工作站、服务器、便携式计算机、手持式装置、电话、平板电脑等,以及交通装置,例如私人或公共交通工具,例如汽车、火车、出租车等。
一或多个机器可以包括嵌入式控制器,例如,可编程或不可编程逻辑装置或阵列、专用集成电路(ASIC)、嵌入式计算机、智能卡等。一或多个机器可以利用例如通过网络接口、调制解调器或其它通信耦合与一或多个远程机器的一或多个连接。机器可以借助于物理和/或逻辑网络,例如企业内部网、因特网、局域网、广域网等互连。本领域的技术人员应理解,网络通信可利用各种有线和/或无线短程或长程载波和协议,包括射频(radiofrequency,RF)、卫星、微波、电气和电子工程师学会(Institute of Electrical andElectronics Engineer,IEEE)545.11、光、红外线、电缆、激光等。
可以参考或结合包括功能、程序、数据结构、应用程序等的相关联数据描述本发明概念的实施例,所述相关联数据在通过机器访问时引起机器执行任务或定义抽象数据类型或低级硬件上下文。相关联数据可以存储在例如易失性和/或非易失性存储器,例如RAM、ROM等中,或其它存储装置以及其相关联存储媒体中,包括硬盘驱动器、软盘、光学存储装置、磁带、快闪存储器、存储棒、数字视频盘、生物存储装置等。相关联数据可以采用包、串行数据、并行数据、传播信号等形式在包括物理和/或逻辑网络的传输环境上递送,并且可以压缩或加密格式使用。相关联数据可以用于分布式环境中,并且本地和/或远程地存储用于机器访问。
在参考所示出实施例描述和示出本发明概念的原理之后,将认识到,所示出实施例的配置和细节可以在不脱离此原理的情况下进行修改,并且可以按任何所需方式组合。并且,尽管前述论述集中于具体实施例,但是预期其它配置。具体而言,即使本文中使用例如“根据本发明概念的实施例”等的表达,但是这些词语一般表示参考实施例可能性,且并不意图将本发明概念限制到具体实施例配置。如本文中所使用,这些术语可以参考可组合到其它实施例中的相同或不同实施例。
本发明概念的实施例可以包括非暂时性机器可读媒体,所述非暂时性机器可读媒体包括可由一或多个处理器执行的指令,所述指令包括用于执行如本文中所描述的发明性概念的元件的指令。
前述说明性实施例不应被解释为限制其本发明概念。虽然已经描述几个实施例,但本领域技术人员将容易了解,在实质上不脱离本公开的新颖教示和优点的情况下,对这些实施例的许多修改是可能的。因此,所有此类修改预期包括在如所附权利要求中定义的此发明概念的范围内。
Claims (23)
1.一种高带宽存储器系统,其特征在于,包括:
主机,包括中央处理单元、图形处理单元、专用集成电路或现场可编程门阵列中的至少一个;以及
高带宽存储器堆叠,包括一个配置在另一个顶上的多个高带宽存储器模块及配置在所述多个高带宽存储器模块下方的逻辑管芯,其中所述逻辑管芯包括:
高带宽存储器控制器,包含被配置以与所述多个高带宽存储器模块连接的存储器控制器;
卸载处理逻辑部分,被配置以从所述主机执行卸载处理操作,且
其中:
所述卸载处理逻辑部分被配置以接收由所述主机设定的第一标志以指示所述卸载处理操作应开始;
所述卸载处理逻辑部分被配置以响应于所述第一标志使用所述高带宽存储器控制器以执行所述卸载处理操作;以及
所述高带宽存储器控制器被配置以设定第二标志以指示所述卸载处理操作完成。
2.根据权利要求1所述的高带宽存储器系统,其特征在于,所述逻辑管芯被配置以从所述主机执行所述卸载处理操作。
3.根据权利要求1所述的高带宽存储器系统,其特征在于,所述高带宽存储器系统还包括耦合到所述主机且耦合到所述逻辑管芯的内插器。
4.根据权利要求3所述的高带宽存储器系统,其特征在于,所述高带宽存储器系统还包括耦合到所述内插器的衬底。
5.根据权利要求4所述的高带宽存储器系统,其特征在于,所述多个高带宽存储器模块以通信方式耦合到所述逻辑管芯,且所述逻辑管芯以通信方式耦合到所述主机。
6.根据权利要求1所述的高带宽存储器系统,其特征在于:
所述高带宽存储器堆叠被称作第一高带宽存储器堆叠;
所述多个高带宽存储器模块被称作第一多个高带宽存储器模块;
所述逻辑管芯被称作第一逻辑管芯;以及
所述高带宽存储器系统还包括:第二高带宽存储器堆叠,其包括一个配置在另一个顶上的第二多个高带宽存储器模块及配置在所述第二多个高带宽存储器模块下方的第二逻辑管芯。
7.根据权利要求6所述的高带宽存储器系统,其特征在于:
所述第一逻辑管芯及所述第二逻辑管芯各被配置以从所述主机执行所述卸载处理操作;
所述第一多个高带宽存储器模块以通信方式耦合到所述第一逻辑管芯,且所述第一逻辑管芯以通信方式耦合到所述主机;
所述第二多个高带宽存储器模块以通信方式耦合到所述第二逻辑管芯,且所述第二逻辑管芯以通信方式耦合到所述主机;以及
所述系统还包括耦合到所述主机且耦合到所述第一逻辑管芯及所述第二逻辑管芯的内插器以及耦合到所述内插器的衬底。
8.根据权利要求1所述的高带宽存储器系统,其特征在于,所述高带宽存储器系统还包括:
存储器;
其中所述逻辑管芯包括:
主机管理器,包括接口及主机队列管理器,其中所述主机管理器被配置以经由所述接口与所述主机连接,且被配置以使从所述主机接收到的通信排队;以及
存储器控制器,包括预取引擎及高速缓存控制器,其中所述存储器控制器被配置以经由所述预取引擎及所述高速缓存控制器与所述存储器连接。
9.根据权利要求8所述的高带宽存储器系统,其特征在于:
所述卸载处理逻辑部分被配置以经由所述主机管理器从所述主机接收关于所述卸载处理操作的信息;以及
所述卸载处理逻辑部分被配置以取决于所接收的关于所述卸载处理操作的所述信息执行所述卸载处理操作。
10.根据权利要求9所述的高带宽存储器系统,其特征在于,所接收的所述信息包括命令。
11.根据权利要求10所述的高带宽存储器系统,其特征在于,还包括:
命令解码逻辑部分,被配置以解码从所述主机接收的所述命令。
12.根据权利要求11所述的高带宽存储器系统,其特征在于,所述卸载处理逻辑部分被配置以响应于所发布的所述命令执行所述卸载处理操作。
13.根据权利要求8所述的高带宽存储器系统,其特征在于,所述卸载处理逻辑部分包括算术逻辑单元、浮点单元、固定逻辑或可重构逻辑中的至少一个。
14.根据权利要求8所述的高带宽存储器系统,其特征在于,所述卸载处理逻辑部分被配置以取决于存储在所述多个高带宽存储器模块中的数据执行所述卸载处理操作。
15.根据权利要求8所述的高带宽存储器系统,其特征在于:
所述存储器控制器是静态随机存取存储器控制器;以及
所述存储器是静态随机存取存储器。
16.一种逻辑管芯,其特征在于,包括:
主机管理器,包括接口及主机队列管理器,其中所述主机管理器被配置以经由所述接口与主机连接,且被配置以使从所述主机接收到的通信排队;
存储器控制器,包括预取引擎及高速缓存控制器,其中所述存储器控制器被配置以经由所述预取引擎及所述高速缓存控制器与存储器连接;
高带宽存储器控制器,包括被配置以与高带宽存储器模块的堆叠的连接的存储器控制器;以及
卸载处理逻辑部分,被配置以从所述主机执行卸载处理操作且接收信息,其中
所接收的所述信息包含由所述主机设定的第一标志以指示所述卸载处理操作应开始;
所述卸载处理逻辑部分被配置以响应于所述第一标志使用所述高带宽存储器控制器以执行所述卸载处理操作;以及
所述高带宽存储器控制器被配置以设定第二标志以指示所述卸载处理操作完成。
17.根据权利要求16所述的逻辑管芯,其特征在于:
所述卸载处理逻辑部分被配置以经由所述主机管理器从所述主机接收关于所述卸载处理操作的所述信息;以及
所述卸载处理逻辑部分被配置以取决于所接收的关于所述卸载处理操作的所述信息执行所述卸载处理操作。
18.根据权利要求17所述的逻辑管芯,其特征在于,所接收的所述信息包括命令。
19.根据权利要求18所述的逻辑管芯,还包括:
命令解码逻辑部分,被配置以解码从所述主机接收的所述命令。
20.根据权利要求19所述的逻辑管芯,其特征在于,所述卸载处理逻辑部分被配置以响应于所发布的所述命令执行所述卸载处理操作。
21.根据权利要求19所述的逻辑管芯,其特征在于,所述卸载处理逻辑部分包括算术逻辑单元、浮点单元、固定逻辑或可重构逻辑中的至少一个。
22.根据权利要求19所述的逻辑管芯,其特征在于,所述卸载处理逻辑部分被配置以取决于存储在高带宽存储器模块的所述堆叠中的数据执行所述卸载处理操作。
23.根据权利要求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 US10545860B2 (en) | 2017-08-10 | 2017-10-27 | Intelligent high bandwidth memory appliance |
US15/796,743 | 2017-10-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109388595A CN109388595A (zh) | 2019-02-26 |
CN109388595B true CN109388595B (zh) | 2023-12-01 |
Family
ID=65275225
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810903592.6A Active CN109388595B (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 (24)
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 |
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 |
US12013808B2 (en) | 2019-03-15 | 2024-06-18 | Intel Corporation | Multi-tile architecture for graphics operations |
EP4024223A1 (en) | 2019-03-15 | 2022-07-06 | 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 |
CN112151526A (zh) * | 2019-06-28 | 2020-12-29 | 西部数据技术公司 | 包括高速异质集成控制器和高速缓存的半导体设备 |
US11211378B2 (en) * | 2019-07-18 | 2021-12-28 | International Business Machines Corporation | Heterogeneous integration structure for artificial intelligence computing |
US12039430B2 (en) * | 2019-11-15 | 2024-07-16 | Samsung Electronics Co., Ltd. | Electronic device and method for inference binary and ternary neural networks |
KR20220032366A (ko) | 2020-09-07 | 2022-03-15 | 삼성전자주식회사 | 가변적인 모드 설정을 수행하는 메모리 장치 및 그 동작방법 |
WO2022056757A1 (en) * | 2020-09-17 | 2022-03-24 | 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 |
US20210225827A1 (en) * | 2021-03-26 | 2021-07-22 | 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 |
CN114709205B (zh) * | 2022-06-02 | 2022-09-09 | 西安紫光国芯半导体有限公司 | 一种三维堆叠芯片及其数据处理方法 |
CN117673013A (zh) * | 2022-08-10 | 2024-03-08 | 长鑫存储技术有限公司 | 半导体结构和半导体结构的制造方法 |
CN115394768A (zh) * | 2022-09-06 | 2022-11-25 | 华进半导体封装先导技术研发中心有限公司 | 一种多层高带宽存储器及其制造方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101770439A (zh) * | 2009-01-05 | 2010-07-07 | 台湾积体电路制造股份有限公司 | 电子系统与其操作方法 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5331427B2 (ja) * | 2008-09-29 | 2013-10-30 | 株式会社日立製作所 | 半導体装置 |
CA2791931A1 (en) * | 2010-03-22 | 2011-09-29 | Mosaid Technologies Incorporated | Composite semiconductor memory device with error correction |
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 |
CN103946980B (zh) * | 2011-12-02 | 2017-06-20 | 英特尔公司 | 允许装置互连中的变化的堆栈式存储器 |
WO2013095544A1 (en) * | 2011-12-22 | 2013-06-27 | Intel Corporation | 3d integrated circuit package with window interposer |
US20140040532A1 (en) * | 2012-08-06 | 2014-02-06 | Advanced Micro Devices, Inc. | Stacked memory device with helper processor |
US8922243B2 (en) * | 2012-12-23 | 2014-12-30 | Advanced Micro Devices, Inc. | Die-stacked memory device with reconfigurable logic |
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 |
US20160188519A1 (en) * | 2014-12-27 | 2016-06-30 | Intel Corporation | Method, apparatus, system for embedded stream lanes in a high-performance interconnect |
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 | 삼성전자주식회사 | 센터 패드 타입의 스택드 칩 구조에서 신호 완결성 이슈를 개선할 수 있는 온다이 터미네이션 스키마를 갖는 반도체 메모리 장치 |
EP3385858A4 (en) * | 2015-11-30 | 2018-12-26 | Pezy Computing K.K. | Die and package |
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 IP Right Grant
- 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 (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101770439A (zh) * | 2009-01-05 | 2010-07-07 | 台湾积体电路制造股份有限公司 | 电子系统与其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2019036298A (ja) | 2019-03-07 |
US20190050325A1 (en) | 2019-02-14 |
TW201918883A (zh) | 2019-05-16 |
US10545860B2 (en) | 2020-01-28 |
JP6974270B2 (ja) | 2021-12-01 |
KR102368970B1 (ko) | 2022-03-02 |
TWI746878B (zh) | 2021-11-21 |
KR20190017639A (ko) | 2019-02-20 |
CN109388595A (zh) | 2019-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109388595B (zh) | 高带宽存储器系统以及逻辑管芯 | |
CN110582785B (zh) | 配置用于执行层描述符列表的具有功率效率的深度神经网络模块 | |
US11544191B2 (en) | Efficient hardware architecture for accelerating grouped convolutions | |
EP3496007A1 (en) | Device and method for executing neural network operation | |
US20150106574A1 (en) | Performing Processing Operations for Memory Circuits using a Hierarchical Arrangement of Processing Circuits | |
US20080313380A1 (en) | Resource management in multi-processor system | |
KR20150140361A (ko) | 하이브리드 메모리 디바이스 | |
US20130159812A1 (en) | Memory architecture for read-modify-write operations | |
TWI673677B (zh) | 半導體裝置 | |
US11500802B1 (en) | Data replication for accelerator | |
CN110059797B (zh) | 一种计算装置及相关产品 | |
WO2023124304A1 (zh) | 芯片的缓存系统、数据处理方法、设备、存储介质及芯片 | |
CN114121055A (zh) | 内存互连架构系统和方法 | |
CN117631974A (zh) | 跨越基于存储器的通信队列的多信道接口的存取请求重新排序 | |
CN111124995A (zh) | 通过人工智能处理器处理一维复数数组的方法和设备 | |
CN111061507A (zh) | 运算方法、装置、计算机设备和存储介质 | |
CN115563053A (zh) | 高性能片上内存控制器及其执行的方法 | |
US11030976B2 (en) | Image combination device and display system comprising the same | |
CN116415100A (zh) | 业务处理方法、装置、处理器及计算设备 | |
CN111382852B (zh) | 数据处理装置、方法、芯片及电子设备 | |
US11907144B1 (en) | Early semaphore update | |
US11983128B1 (en) | Multidimensional and multiblock tensorized direct memory access descriptors | |
EP4152299A1 (en) | Post-quantum secure lighteight integrity and replay protection for multi-die connections | |
CN111382856A (zh) | 数据处理装置、方法、芯片及电子设备 | |
US11704271B2 (en) | Scalable system-in-package architectures |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |