首页> 中国专利> 具有配置成加快人工神经网络(ANN)计算的功能块的3D堆叠集成电路

具有配置成加快人工神经网络(ANN)计算的功能块的3D堆叠集成电路

摘要

一种用于实施人工神经网络ANN的三维堆叠集成电路3D SIC(例如,100或800)具有存储器裸片(例如,102或104),所述存储器裸片具有存储器分区(例如,204a到204i)的阵列。所述存储器分区阵列的每一分区配置成存储一组神经元(例如,1004、1006、1014和1016)的参数。所述3D SIC还具有处理逻辑裸片(例如,(106)或802),所述处理逻辑裸片具有处理逻辑分区(例如,404a到404i)的阵列。所述处理逻辑分区阵列的每一分区配置成:接收输入数据,且根据所述一组神经元处理所述输入数据以产生输出数据。

著录项

  • 公开/公告号CN112913017A

    专利类型发明专利

  • 公开/公告日2021-06-04

    原文格式PDF

  • 申请/专利权人 美光科技公司;

    申请/专利号CN201980069413.6

  • 发明设计人 T·M·布鲁尔;

    申请日2019-10-17

  • 分类号H01L27/06(20060101);H01L21/768(20060101);H01L23/31(20060101);H01L23/48(20060101);H01L23/495(20060101);H01L25/065(20060101);H01L25/10(20060101);

  • 代理机构11287 北京律盟知识产权代理有限责任公司;

  • 代理人王龙

  • 地址 美国爱达荷州

  • 入库时间 2023-06-19 11:14:36

说明书

本申请要求申请于2019年9月5日且标题为“具有配置成加快人工神经网络(ANN)计算的功能块的3D堆叠集成电路”的第16/561,486号美国专利申请的优先权,其为申请于2018年10月24日且标题为“具有配置成加快人工神经网络(ANN)计算的功能块的3D堆叠集成电路”的第16/169,919号美国专利申请的延续部分,所述美国专利申请在此以引用的方式并入本文中。

技术领域

本文所公开的至少一些实施例涉及一般由三维集成电路(3D IC)实施或支持的人工神经网络(ANN)功能块,且更确切地说,但不限于具有配置成加快或实施人工神经网络(ANN)计算的功能块的三维堆叠集成电路(3D SIC)。

背景技术

一般来说,人工神经网络(ANN)可使用神经元网络来处理到网络的输入且产生来自所述网络的输出。网络中的每一神经元m可接收一组输入p

3D IC是一种通过堆叠硅裸片且将其竖直地互连以使得裸片的组合为单一装置来构建的集成电路。利用3D IC,可通过其竖直布局来缩短通过装置的电路径,所述竖直布局产生与并排布置的类似IC相比可更快且占据面积更小的装置。3D IC一般可分为:3DSIC,其指具有穿透硅通孔(TSV)互连件的堆叠式IC;以及单片3D IC,其使用制作工艺产生以实现芯片上布线层次的本地层级处的3D互连,如国际半导体技术路线图(ITRS)所阐述。使用制作工艺来实现3D互连可在装置层之间产生直接竖直互连件。单片3D IC为内置在切割成单独的3D IC的单一晶片上的层中。

可通过三种已知的通用方法来产生3D SIC:裸片对裸片(die-to-die)、裸片对晶片(die-to-wafer)或晶片对晶片(wafer-to-wafer)法。在裸片对裸片法中,电子组件产生在多个裸片上。随后,对准并接合裸片。裸片对裸片法的益处在于可在与另一裸片对准且接合之前测试每一裸片。在裸片对晶片法中,电子组件产生在多个晶片上。因此,可切割晶片中的一个且随后对准并接合到另一晶片的裸片部位上。在晶片对晶片法中,电子组件产生在多个晶片上,随后将所述多个晶片对准、接合并切割成单独的3D IC。

TSV是可穿过裸片的竖直电连接。TSV可以是中心部件以提升3D封装和3D IC中的性能。利用TSV,相较于用于连接堆叠芯片的替代物,互连件和装置密度可大体上更高,且连接件的长度可更短。

附图说明

在附图的图式中作为实例而非限制示出实施例,在附图中,相同的参考标号指示类似元件。

图1示出根据本公开的一些实施例的具有多个非易失性存储器裸片、易失性存储器裸片和处理逻辑裸片的实例3D SIC的正视图。

图2示出根据本公开的一些实施例的具有多个非易失性存储器分区(每一分区具有多个非易失性存储器元件)的实例非易失性存储器裸片的俯视图。

图3示出根据本公开的一些实施例的具有多个易失性存储器分区(每一分区具有多个易失性存储器元件)的实例易失性存储器裸片的俯视图。

图4示出根据本公开的一些实施例的具有多个处理逻辑分区(每一分区具有单独的现场可编程门阵列)的实例处理逻辑裸片的俯视图。

图5示出根据本公开的一些实施例的图1中所示出的具有多个非易失性存储器裸片、易失性存储器裸片和处理逻辑裸片的实例3D SIC的透视图。

图6示出本公开的实施例可在其中操作的实例计算机系统的框图。

图7示出本公开的实施例可与控制器一起在其中执行的实例方法的流程图。

图8示出根据本公开的一些实施例的实施ANN功能块(还被称作ANN 3D SIC)的实例3D SIC的正视图。图8还示出具有多个非易失性存储器裸片、易失性存储器裸片和ANN处理逻辑裸片的实例ANN 3D SIC。

图9示出图8中所示出的根据本公开的一些实施例的实施ANN功能块且具有多个非易失性存储器裸片、易失性存储器裸片和ANN处理逻辑裸片的实例3D SIC的透视图。

图10示出图8和9中所示出的根据本公开的一些实施例的实例3D SIC的俯视图。图10还展示由3D SIC的功能块实施的一些假想突触和神经元。

图11示出本公开的实施例可在其中操作的具有一组3D SIC的实例计算机系统的框图,其中3D SIC配置成实施或支持ANN。

图12示出其中本公开的实施例可在其中操作的计算机系统的实例网络的框图,其中每一计算机系统具有一组3D SIC且其中3D SIC配置成实施或支持ANN。

具体实施方式

本公开的至少一些方面涉及由3D SIC实施的功能块。并且,一般来说,本公开的各方面涉及由3D IC实施的功能块。

一般来说,3D IC是通过以下而制造的集成电路:堆叠硅晶片或裸片且使用例如TSV或Cu-Cu连接件来使其互连,使得所述硅晶片或裸片表现为单一装置,从而与常规二维装置相比以降低的功率和更小的占据面积实现性能的改进。

在一些实施例中,可使用TSV,其得出被视为3D SIC的3D IC实施例。3D IC或3DSIC的实施例可产生为异构的,例如将不同存储器类型层和/或一或多个处理层合并到单一IC堆叠中。3D SIC的替代实施例可包含单片3D IC。

使用单片3D IC的实施例产生在单一半导体晶片上的层中,所述单一半导体晶片随后切割为3D IC。这些实施例的有利之处在于不需要对准、薄化、接合或TSV。尽管本文的公开内容主要集中于3D SIC实施例,但应了解,本文中所公开的实施例不限于3DSIC实施例。一些实施例可以是单片3D IC而非3D SIC。在此类实例实施例中,3D IC的总体结构可为类似的;然而,单片3D IC的互连件包含制造的通孔而非TSV。

对于产生3D SIC实施例,可通过裸片对裸片、裸片对晶片或晶片对晶片制造方法来产生这类实施例。在裸片对裸片法中,可在制造方法中的接合之前或之后进行薄化和TSV形成。裸片对裸片法的实例优点在于可在将每一组件裸片与其它裸片堆叠之前测试所述每一组件裸片。并且,每一裸片可单独地分仓以供制造。在裸片对晶片法中,类似于晶片对晶片法,在接合之前或之后执行薄化和TSV形成。但裸片对晶片优于晶片对晶片之处在于可在切割之前将额外裸片添加到堆叠中,且可在将裸片添加到晶片之前测试所述裸片。在晶片对晶片中,每一晶片可在接合之前或之后薄化,且连接在接合之前构建到晶片中或另外在接合之后形成于堆叠中。利用晶片对晶片法,TSV可穿过有源层之间的和/或有源层与外部接合垫之间的硅衬底。晶片对晶片法的缺点不足之处在于一个芯片中的缺陷会造成方法的整个堆叠输出中的缺陷。

一般来说,芯片缩放工艺部分地由于功率密度限制而缓慢地改进,且尽管互连件并未变得更快,但晶体管变得更快。3D IC通过堆叠二维裸片以及在第三维度中连接裸片来解决这两个实例缩放问题。相较于IC的水平布置,此类堆叠可能使芯片之间的通信更快。并且,3D IC可提供优于水平地布置的芯片的其它可能益处,其包含:占据面积更小、互连件更短、功率消耗更少、电路隐藏式安全和带宽增加。

3D IC通过利用在第三维度的层中添加功能来将较大功能提供到较小二维空间中,且可通过利用3D堆叠将较大芯片划分为多个较小裸片来节省成本。换句话说,3D IC制造可比产生具有IC阵列的芯片的常规工艺更加模块化。并且,可利用以不同工艺或不同类型的晶片形成的层来产生3D IC,这增加了设计选择。并且,增加的连接性扩展了设计选择。

另一优点在于3D IC通过使信号保持在装置内来降低功率消耗。在两个不同方向(例如,水平地和竖直地)上的更短电连接也通过产生例如更少寄生电容来降低功率消耗。减少功率预算也使得产生的热量更少。

另外,3D IC可实现隐藏式安全,因为堆叠裸片结构使对整个电路系统进行逆向工程改造的尝试复杂。并且,可在3D IC的层之间划分敏感或关键功能以进一步隐藏此类功能。一些实施例甚至可具有专用于监测或保全其它层的层或裸片。这类似于防火墙层,其中3D IC的单独裸片提供用于待在运行时间监测的裸片的硬件防火墙。可这样做以保护芯片的部分或整个堆叠免受攻击。

3D IC的基本结构布置通过允许裸片或层之间的大量通孔来增加带宽,所述裸片或层可以组合方式提供比常规总线多得多的带宽。另外,3D SIC的一组功能块可如同联网的或群集的一组单独计算机起作用。不同功能块可具有不同类型的处理单元。并且,不同类型的功能块可以是互补的。并且,功能块与另一块越相关,则将两个功能块紧邻彼此定位越有利。例如,在常见的多操作数据处理方法中,第一块可提供第一数据处理操作且相邻的第二块可提供第二数据处理操作。此类特征可大大减少计算机化系统的控制器的负载。例如,此类特征可减少中央处理单元(CPU)的负载。

在其中块由3D SIC实施的实施例中,TSV的使用可使得将每一功能块减少为一个功能以使得完全实现TSV的益处为有利的。在此类实施例中,可通过增加3D IC中的功能块的数量而不增加单一功能块可执行的功能的数量来增加3D IC的功能。以此方式,3D SIC的TSV或另一类型的互连可用于其全部电位。

TSV是可完全穿过硅晶片或裸片的电连接。利用TSV,互连件和装置密度大体上高于裸片之间的常规互连件。并且,裸片之间的连接件的长度比常规互连件短。

一些实施例可具有添加到3D IC结构首先通孔TSV制造的TSV。这是在组件(例如,晶体管、电容器和电阻器)被图案化到晶片上之前制造TSV的过程。一些实施例使用中间通孔TSV制造,其中在将各个装置图案化之后但在将金属层添加到裸片或裸片堆叠之前制造TSV。并且,一些实施例使用最后通孔TSV制造,其中在添加金属层之后或期间制造TSV。

除了将TSV添加到3D IC中的方式之外,TSV的布局和设计可在本文中所描述的实施例之间发生变化。例如,在划分3D IC的裸片的功能元件的精细度上的差异可引起TSV的设计和布局的变化。一些实施例具有使用TSV的门级分区,且其它实施例具有块级分区。与块级分区相比,使用TSV的门级分区较不可行;因此,为了增加具有更多TSV的益处,可经由TSV连接功能块内分区的功能子元件。这可以是折中的解决方案。

在一些实施例中,除了例如3D XPoint存储器(3DXP)和动态随机存取存储器(DRAM)IC的存储器IC之外,芯片或裸片的堆叠(在第一方向上堆叠)还可具有处理逻辑集成电路(IC)。处理逻辑、3DXP和DRAM的单元可例如通过TSV连接以形成功能块。在一个3D SIC中或一般来说在一个3D IC中,不同功能块可按需不同地配置且/或大体上彼此独立地操作。处理逻辑实施频繁使用型功能和/或数据密集型功能,使得即使处理逻辑IC可能不具有CPU的处理功率,但其在较佳数据存取方面的优点可在实施选定功能时提供更佳的总体性能。多个功能块(例如,3D SIC或3D IC内的多个列功能块)可并行地运行且减少CPU上的计算负载。

如所提及,在一些实施例中,处理逻辑IC或裸片并不具有典型CPU将具有的处理核心的完整阵列。但在此类实施例中,处理逻辑实施频繁使用型功能和/或数据密集型功能;因此,有可能减轻CPU的大量处理负担并提高CPU的性能。在此类实施例中,功能块无法独自执行一组完整的多功能指令。因此,功能块和3D IC的其余部分可连接到CPU,且CPU可指示功能块执行其配置成执行的任务。例如,实例实施例的功能块可配置成通过其处理逻辑IC来对存储在其非易失性存储器IC中的数据进行解密,且将解密后的数据插入到其易失性存储器中以传送到CPU以供CPU进一步处理。并且,CPU可将请求提供到功能块的易失性存储器以请求所述块产生某一功能的结果,且CPU也可提供追踪请求以从功能块中检索结果。例如,用于产生结果的请求可以写入命令的形式从CPU提供到功能块,且用以检索结果的请求可以读取命令的形式从CPU提供到功能块。

图1示出根据本公开的一些实施例的具有多个非易失性存储器裸片(102)和(104)、易失性存储器裸片(108)和处理逻辑裸片(106)的3D SIC(100)的正视图。如所展示,裸片彼此平行。3D SIC(100)还具有功能块(110)、(112)和(114)(如图1中所展示)以及功能块(210)、(212)、(214)、(220)、(222)和(224)(如图2-5中所展示),所述功能块遍历且垂直于多个非易失性存储器裸片(102)和(104)、易失性存储器裸片(108)和处理逻辑裸片(106)。3D SIC(100)还具有分别连接裸片的TSV(116)、TSV(118)和TSV(120)。TSV(116)展示为位于非易失性存储器裸片(102)与非易失性存储器裸片(104)之间且将所述非易失性存储器裸片连接到所述非易失性存储器裸片。TSV(118)展示为位于非易失性存储器裸片(104)与处理逻辑裸片(106)之间且将所述非易失性存储器裸片连接到处理逻辑裸片。TSV(120)展示为位于处理逻辑裸片(106)与易失性存储器裸片(108)之间且将所述处理逻辑裸片连接到所述易失性存储器裸片。应了解,本文中所描述的所有TSV穿过本文中所描述的裸片,即使从图式中看可能不太清楚。例如,TSV(116)、TSV(118)和TSV(120)是穿过3D SIC(100)的裸片的单一TSV的部件。

3D SIC(100)还具有互连件(122)、(124)、(126)和(128),所述互连件展示为分别嵌入于裸片中。互连件(122)展示为嵌入于非易失性存储器裸片(102)中。互连件(124)展示为嵌入于非易失性存储器裸片(104)中。互连件(126)展示为嵌入于处理逻辑裸片(106)中。并且,互连件(128)展示为嵌入于易失性存储器裸片(108)中。互连件(122)、(124)、(126)和(128)可垂直于TSV(116)、(118)和(120)(如图1中所展示且如图5中部分地展示)。

应了解,本文中所描述的互连件,例如互连件(122)、(124)、(126)和(128)是指芯片或裸片的组件之间的互连件(例如铜或金属互连件、互连迹线等)。互连件可包含裸片或芯片的金属化层中的互连件。

如所描绘,在一些实施例中,3D SIC可具有多个非易失性存储器裸片。在一些实施例中,非易失性存储器裸片比易失性存储器裸片慢。具体地说,非易失性存储器裸片比易失性存储器裸片具有更少的带宽(例如,裸片每秒可传送的最大值数据量)。非易失性存储器裸片可包含3DXP裸片或任何其它类型的电寻址存储器系统裸片,例如EPROM裸片、快闪存储器裸片、铁电RAM和磁阻RAM。每一非易失性存储器裸片可具有非易失性存储器分区阵列。非易失性存储器分区阵列中的每一分区可包含非易失性存储器单元阵列,且每一单元可具有对应地址。

图2示出根据本公开的一些实施例的具有多个非易失性存储器分区(204a、204b、204c、204d、204e、204f、204g、204h和204i)的非易失性存储器裸片(102)的俯视图。分区可布置在第二方向(即,垂直于3D IC的裸片的堆叠的第一方向)上。分区(204a、204b、204c、204d、204e、204f、204g、204h和204i)中的每一个具有多个非易失性存储器元件。图2中示出的分区中的每一个展示九个非易失性存储器元件集群(206)。并且,非易失性存储器元件集群(206)中的每一个展示九个非易失性存储器元件(208)。因此,图2中示出的分区中的每一个具有八十一个存储器元件(208)。然而,应了解,描绘八十一个存储器元件是为了方便起见,且在一些实施例中,每一分区可具有多达至少十亿个存储器元件。换句话说,每一非易失性存储器分区的存储器元件数量可以是庞大的且发生极大变化。并且,应了解,非易失性存储器裸片(102)和非易失性存储器裸片(104)在结构和设计方面类似或完全相同。

3DXP IC(也称为3D XPoint存储器IC)使用无晶体管存储器元件,其中的每一个具有存储器单元和对应地址(以及任选的选择器,且所述单元和任选的选择器可一起堆叠成列)。在具有存储器元件的实例中,存储器元件可经由互连件的两个垂直层(如图2中所展示但未标记)连接,其中一层在存储器元件上方且另一层在存储器元件下方。可在互连件的两个层中的每一个上的一个线的交叉点(例如参看图2中所展示的交叉点209)处独立地选择每一存储器元件。每一交叉点具有地址,或可例如由3DXP IC、3D IC或3D IC的一组IC的地址解码器寻址或选择。3DXP装置是快速且非易失性的,且可用作通用存储器池以供处理和存储。

如所提及,非易失性存储器裸片(102)和(104)可以是3DXP裸片。使用3DXP裸片作为3D SIC(100)的非易失性存储器裸片的一些优点包含其可由地址解码器进行位寻址。与本文中所描述的实施例一起使用的地址解码器(图式中未展示)可为二进制解码器,所述二进制解码器具有用于地址位的两个或更多个输入和用于装置选择信号的一或多个输出。当用于特定装置或IC的地址呈现在地址输入上时,解码器断言用于所述装置或IC的选择输出。专用的单一输出地址解码器可并入到地址总线上的每一装置或IC中,或单一地址解码器可服务于多个装置或IC。

并且,3D SIC可具有包含易失性存储器分区阵列的易失性存储器裸片(例如DRAM裸片或静态随机存取存储器(SRAM)裸片)。易失性存储器分区阵列中的每一分区可包含易失性存储器单元阵列,且每一单元可具有对应地址。

图3示出根据本公开的一些实施例的具有多个易失性存储器分区(304a、304b、304c、304d、304e、304f、304g、304h和304i)的易失性存储器裸片(108)的俯视图。分区可布置在第二方向(即,垂直于3D IC的裸片的堆叠的方向)上。分区(304a、304b、304c、304d、304e、304f、304g、304h和304i)中的每一个具有多个易失性存储器元件。图3中示出的分区中的每一个展示九个易失性存储器元件集群(306)。并且,易失性存储器元件集群(306)中的每一个展示九个易失性存储器元件(308)。因此,图3中示出的分区中的每一个具有八十一个存储器元件(308)。然而,应了解,描绘八十一个存储器元件是为了方便起见,且在一些实施例中,每一分区可具有多达至少十亿个存储器元件。换句话说,每一易失性存储器分区的存储器元件数量可以是庞大的且发生极大变化。

3D SIC也可具有处理逻辑裸片,所述处理逻辑裸片具有处理逻辑分区阵列。每一分区可具有单独现场可编程门阵列(FPGA)或另一类型的处理逻辑装置。处理逻辑裸片可包含控制器单元和算术/逻辑单元。例如,算术/逻辑单元可包含FPGA。

图4示出根据本公开的一些实施例的具有多个处理逻辑分区(404a、404b、404c、404d、404e、404f、404g、404h和404i)的处理逻辑裸片(106)的俯视图。图4展示具有单独FPGA 406的分区(404a、404b、404c、404d、404e、404f、404g、404h和404i)中的每一个。如所展示,图4中所示出的九个FPGA(406)中的每一个具有三十二个输入/输出块(408)和十六个逻辑块(410)。并且,图4展示九个FPGA(406)中的每一个的输入/输出块(408)与逻辑块(410)之间的可编程或不可编程互连件(412)。应了解,描绘FPGA(406)的输入/输出单元和逻辑单元的数量是为了方便起见,且在一些实施例中,分区的每一FPGA可取决于对应功能块的实施例而具有更多或更少输入/输出单元和逻辑单元。并且,即使图4展示每分区一个FPGA,但应了解,在3D SIC或处理逻辑裸片的其它实施例中,每一处理逻辑分区可具有多个FPGA。换句话说,处理逻辑裸片的特定部件的数目可发生极大变化。

图2、3和4还展示3D SIC(100)的功能块(110)、(112)、(114)、(210)、(212)、(214)、(220)、(222)和(224)。图2展示非易失性存储器裸片(102)处的功能块的相应区段的俯视图。图3展示易失性存储器裸片(108)处的功能块的相应区段的俯视图。图4展示处理逻辑裸片(106)处的功能块的相应区段的俯视图。

图2、3和4还展示分别互连非易失性存储器分区、易失性存储器分区和处理逻辑分区的互连件(122)、(128)和(126)。因此,还展示互连件(122)、(128)和(126)将3D SIC的每一层处的3D SIC(100)的功能块互连。具体地说,如图2中所展示,互连件(122)将非易失性存储器裸片(102)的非易失性存储器分区(204a、204b、204c、204d、204e、204f、204g、204h和204i)互连。如图3中所展示,互连件(128)将易失性存储器裸片(108)的易失性存储器分区(304a、304b、304c、304d、304e、304f、304g、304h和304i)互连。并且,如图4中所展示,互连件(126)将处理逻辑裸片(106)的处理逻辑分区(404a、404b、404c、404d、404e、404f、404g、404h和404i)互连。

在3D SIC中,非易失性存储器裸片、易失性存储器裸片和处理逻辑裸片在第一方向上(例如,竖直地)堆叠,且处理逻辑裸片可堆叠于非易失性存储器裸片与易失性存储器裸片之间。3D SIC也可具有由3D SIC的裸片组成的功能块阵列。换句话说,非易失性存储器裸片、易失性存储器裸片和处理逻辑裸片布置成形成功能块阵列。功能块阵列中的至少两个功能块各自可包含不同数据处理功能,所述数据处理功能减少控制器的计算负载,因此减少CPU的计算负载。功能块阵列中的每一功能块可包含3D SIC的相应列。3D SIC的相应列可包含非易失性存储器分区阵列中的相应非易失性存储器分区、易失性存储器分区阵列中的相应易失性存储器分区和处理逻辑分区阵列中的相应处理逻辑分区。相应处理逻辑分区可在第一方向上堆叠于相应非易失性存储器分区与相应易失性存储器分区之间。

图5示出根据本公开的一些实施例的图1中所示出的具有多个非易失性存储器裸片(102)和(104)、易失性存储器裸片(108)和处理逻辑裸片(106)的实例3D SIC(100)的透视图。图5展示非易失性存储器裸片(102)和(104)、易失性存储器裸片(108)以及处理逻辑裸片(106)的透视图,以及裸片在第一方向上(例如,竖直地)堆叠的方式和处理逻辑裸片可在非易失性存储器裸片与易失性存储器裸片之间堆叠的方式。图5还完全展示功能块阵列,其中描绘了3D SIC(100)的所有功能块(110)、(112)、(114)、(210)、(212)、(214)、(220)、(222)和(224)。

应了解,3D SIC的功能块的数量可根据3D SIC的实施例而变化。图1-5中所示出的功能块阵列中的每一功能块可包含3D SIC(100)的相应列,如所展示。并且,如由图1-5的组合所展示,具有单一功能块的3D SIC的列可包含非易失性存储器分区阵列中的相应非易失性存储器分区、易失性存储器分区阵列中的相应易失性存储器分区和处理逻辑分区阵列中的相应处理逻辑分区。另外,由这些图式的组合展示,相应处理逻辑分区可在第一方向上(例如,竖直地)堆叠于相应非易失性存储器分区与相应易失性存储器分区之间。

在一些实施例中,功能块阵列中的两个邻接功能块中的每一个可具有不同特定数据处理功能,所述不同特定数据处理功能通常一起用于较大的特定数据处理功能。特定数据处理功能可包含CPU的基本过程,例如CPU的解码操作的解码过程。

3D IC的实施例或一些实施例的至少一组功能块可充当CPU的指令解码器。以此方式,CPU可在连接到3D IC的此类实施例时保留用于获取和执行操作的资源。

特定数据处理功能还可包含CPU的算术逻辑单元的功能,例如整数算术和按位逻辑操作。以此方式,CPU可通过将算术逻辑单元操作委托给3D IC的此类实施例来保留资源。

并且,除了通常硬接线或编程到CPU中的那些编码器和/或解码器以外,3D IC的实施例或一些实施例的至少一组功能块可充当不同类型的编码器和/或解码器。例如,3DIC的实施例或一些实施例的至少一组功能块可充当加密块,其中3D IC或至少一组功能块具有可产生密文的密码术。并且,实施例可充当解密块。在一个实施例中,3D IC的一或多个块可专用于加密,且同一3D IC的其它一或多个块可专用于解密。并且,3D IC的实施例或一些实施例的至少一组功能块可充当一或多个数据处理密集操作,例如机器学习类型的数据密集型操作。

3D SIC还可包含:第一组TSV(例如,图1和5中所展示的TSV 118),其连接3D SIC的相应列中的相应非易失性存储器分区与相应处理逻辑分区;以及第二组TSV(例如,图1和5中所展示的TSV 120),其连接3D SIC的相应列中的相应易失性存储器分区与相应处理逻辑分区。

在一些实施例中,处理逻辑裸片可包含控制单元和算术/逻辑单元,且存储器IC中的每一个可包含存储部件,所述存储部件可由地址解码器寻址且/或具有预定义地址。在此类实施例中,控制单元在第一方向上(例如,竖直地)与存储器IC的存储部件连接,且算术/逻辑单元在第一方向上与存储器IC的存储部件连接,且/或IC的部件经由地址解码器连接到存储器IC的存储部件。

在包含控制单元和算术/逻辑单元的一些实施例中,控制单元在指令时间期间配置成从3D IC的易失性存储器IC中获得指令并对所述指令进行解码,且根据指令的至少一部分将待移动的数据从易失性存储器IC引导到算术/逻辑单元。并且,算术/逻辑单元可在执行时间期间配置成执行指令的至少一部分且将所述指令的至少一部分的执行结果存储在3D IC的非易失性存储器IC中。

在此类实施例中,算术/逻辑单元受到控制并对数据执行实际操作。指令时间和执行时间的组合可以是3D IC的机器周期,其在一些实施例中,控制单元可在执行时间期间引导易失性存储器IC和/或非易失性存储器IC将结果释放到设备外部的输出装置或存储装置。在一些实施例中,控制和算术/逻辑单元与存储器IC的存储器单元之间的连接是可以是TSV的连接。换句话说,控制单元可通过多个电连接件在第一方向上(例如,竖直地)与存储器IC的存储器元件连接,且算术/逻辑单元通过多个电连接件与存储器IC的存储器元件连接。

3D IC的每一IC或裸片的存储器单元和逻辑单元可通过多个电连接件彼此连接。例如,3D SIC还可包含:在正交于第一方向的第二方向(例如,水平方向)上连接非易失性存储器分区阵列中的非易失性存储器分区的第一组连接件,例如图1和2中所展示的互连件(122);在第二方向上连接易失性存储器分区阵列中的易失性存储器分区的第二组连接件,例如图1和3中所展示的互连件(128);以及在第二方向上连接处理逻辑分区阵列中的处理逻辑分区的第三组连接件,例如图1和4中所展示的互连件(126)。在具有三组互连件的一些实施例中,第一组互连件中的互连件(例如,参看图1和2中所展示的互连件122)仅将非易失性存储器分区阵列中的非易失性存储器分区连接到直接紧邻于所述非易失性存储器分区的另一非易失性存储器分区。并且,在此类实施例中,第二组互连件中的互连件(例如,参看图1和3中所展示的互连件128)仅将易失性存储器分区阵列中的易失性存储器分区连接到直接紧邻于所述易失性存储器分区的另一易失性存储器分区。并且,第三组互连件中的互连件(例如,参看图1和4中所展示的互连件126)仅将处理逻辑分区阵列中的处理逻辑分区连接到直接紧邻于所述处理逻辑分区的另一处理逻辑分区。

3D SIC的一些示例性实施例包含处理逻辑裸片、3DXP裸片和DRAM裸片,其中处理逻辑裸片堆叠于3DXP裸片与DRAM裸片之间。在此类示例性实施例中,一组TSV将处理逻辑裸片、3DXP裸片和DRAM裸片互连。在此类示例性实施例或一些其它示例性实施例中,3D SIC包含具有非易失性存储器分区阵列的3DXP裸片,其中非易失性存储器分区阵列中的每一分区具有非易失性存储器单元阵列。在此类实施例中,易失性存储器裸片具有易失性存储器分区阵列,其中易失性存储器分区阵列中的每一分区具有易失性存储器单元阵列。并且,此类实施例中包含处理逻辑裸片,且所述处理逻辑裸片具有处理逻辑分区阵列。并且,3DXP裸片、易失性存储器裸片和处理逻辑裸片在第一方向上(例如,竖直地)堆叠,其中处理逻辑裸片堆叠于3DXP裸片与易失性存储器裸片之间。此外,3D SIP的此类实施例可包含第一组TSV,所述第一组TSV在第一方向上连接3D SIC的相应列中的相应非易失性存储器分区与相应处理逻辑分区。并且,此类实施例可包含第二组TSV,所述第二组TSV在第一方向上连接3DSIC的相应列中的相应易失性存储器分区与相应处理逻辑分区。

3D SIC也可具有多个非易失性存储器裸片(如图1和5中所展示)。例如,3D SIC可包含第二非易失性存储器裸片,所述第二非易失性存储器裸片可包含第二非易失性存储器分区阵列。并且,第二非易失性存储器分区阵列中的每一分区可具有非易失性存储器单元阵列。在3D SIC具有多个非易失性存储器裸片的实施例中,非易失性存储器裸片(例如第一和第二非易失性存储器裸片)可归组到一起使得处理逻辑裸片处于易失性存储器裸片与非易失性存储器裸片的群组之间(如图1和5中所展示)。

在3D SIC的一些实施例中,3D SIC的每一功能块可具有相应通信接口(即,相应端口),所述相应通信接口配置成使块通信地耦合到总线,使得每一块可并行地且独立于其它块操作。另外或替代地,3D SIC的至少两个功能块的群组各自共用相应通信接口,所述相应通信接口配置成使至少两个功能块通信地耦合到总线,使得至少两个功能块的每一群组可并行地且独立于至少两个功能块的另一群组操作。另外或替代地,3D SIC可具有一或多个通用通信接口(即,一或多个通用端口),所述一或多个通用通信接口配置成使3D SIC的功能块中的任何一个或全部通信地耦合到总线。

图6示出本公开的实施例可在其中操作的实例计算机系统600的框图。如图6中所展示,计算机系统(600)包含3D SIC(100),所述3D SIC包含通信接口(602)(或又称为端口602)。通信接口(602)通信地耦合到计算机系统(600)的总线(604)。总线(604)通信地耦合到计算机系统(600)的控制器(例如,系统600的CPU)以及计算机系统(600)的主存储器(608)和网络接口(610)。如图6中所展示,网络接口(610)使计算机系统(600)通信地耦合到计算机网络(612)。

计算机系统600可以是或包含个人电脑(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝式电话、网络设备、服务器、网络路由器、交换机或桥接器或能够(依序或以其它方式)执行指定待由计算机化系统采取的动作的指令集的任何机器。此外,尽管示出单一计算机系统(600),但术语“计算机系统”还应用以包含计算机系统的任何集合。总线(604)可以是或包含多个总线。控制器(606)表示一或多个通用处理装置,例如微处理器、中央处理单元等。更确切地说,处理装置可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器或实施其它指令集的处理器或实施指令集的组合的处理器。控制器(606)也可以是一或多个专用处理装置,例如专用集成电路(ASIC)、FPGA、数字信号处理器(DSP)、网络处理器等。主存储器(608)可以是只读存储器(ROM)、快闪存储器、例如同步DRAM(SDRAM)或兰巴斯(Rambus)DRAM(RDRAM)的DRAM和/或SRAM。

参看图1和6,在一些实施例中,端口(602)可配置成使易失性存储器裸片(108)通信地耦合到总线(604)。在此类布置中,控制器(606)可经由总线(604)和易失性存储器裸片(108)而将数据处理功能委托给3D SIC(100)。委托的数据处理功能可以是控制器(606)的数据密集型功能或常用功能。如所提及,在一些实施例中,处理逻辑IC或裸片并不具有典型CPU将具有的处理核心的完整阵列。但在此类实施例中,处理逻辑可实施频繁使用型功能和/或数据密集型功能;因此,有可能减轻CPU的大量处理负担并提高CPU的性能。并且,在所描绘实施例中,功能块无法独自执行一组完整的多功能指令。因此,功能块和3D SIC(100)的其余部分可连接到控制器(例如CPU),且控制器可指示功能块执行其配置成执行的任务。

例如,实例实施例的功能块可配置成通过其处理逻辑分区来对存储在其对应非易失性存储器分区中的数据进行解密,且将解密后的数据插入到其对应易失性分区中以传送到控制器以供控制器进一步处理。

并且,一般来说,控制器可将请求提供到功能块的易失性存储器分区以请求所述块产生某一功能的结果,且控制器也可提供第二或追踪请求以从功能块中检索结果。例如,用于产生结果的请求可以写入命令的形式从控制器提供到功能块,且用以检索结果的请求可以读取命令的形式从控制器提供到功能块。

图7示出实例方法(700)的流程图,其中3D SIC的实施例(例如,图1-6的3D SIC100)可经由总线(例如,图6的总线604)与控制器(例如,图6的控制器606)相互作用。

一般来说,方法(700)可由可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合的处理逻辑执行。尽管以特定顺序或次序展示且由特定硬件/软件执行,但除非另外规定,否则可修改过程的次序和硬件/软件。因此,所示出的实施例应仅作为实例理解,且所示出的过程可以不同次序和/或由不同硬件/软件执行,且一些过程可并行地执行。此外,可在各种实施例中省略一或多个过程。因此,并非每一实施例中都需要所有过程。其它过程流程也是可能的。

具体地说,方法(700)可至少由非易失性存储器裸片(102)和/或非易失性存储器裸片(104)、处理逻辑裸片(106)、易失性存储器裸片(108)以及控制器(606)(如图7中所示出)执行。在框(701)处,控制器(606)经由总线传送请求。控制器(606)的请求配置成指示3DSIC产生特定数据处理功能的结果。此类请求可经由控制器(606)的写入命令递送到3DSIC。例如,如果写入命令由控制器(606)使用以作出请求,则将请求发送到易失性存储器裸片(108)的选定易失性存储器分区。替代地,执行命令可由控制器(606)使用以作出请求,且在此类情况下,请求可直接被发送到处理逻辑裸片(106)的选定处理逻辑分区。

在框(702)处,易失性存储器裸片(108)经由总线接收请求。易失性存储器裸片(108)可配置成通过端口(602)从总线接收控制器的请求。除了被配置成指示3D SIC产生特定数据处理功能的结果之外,请求可包含特定数据处理功能的至少一个输入参数。在框(704)处,易失性存储器裸片(108)存储请求且将所述请求传送到处理逻辑裸片(106)。易失性存储器裸片(108)可配置成将请求存储在易失性存储器裸片的至少一个易失性分区中。

在框(706)处,由处理逻辑裸片接收所存储的请求。并且,在框(706)处,至少一个处理逻辑分区可通过TSV接收特定数据处理功能的至少一个输入参数,所述TSV连接易失性存储器裸片的至少一个易失性分区和至少一个处理逻辑分区。

在框(708)处,处理逻辑裸片根据所存储的请求产生结果。处理逻辑裸片(106)的至少一个处理逻辑分区可包含特定数据处理功能,且所述特定数据处理功能可根据所存储的请求和特定数据处理功能的至少一个输入参数产生结果。特定数据处理功能可硬接线到处理逻辑裸片的至少一个处理逻辑分区中。替代地,特定数据处理功能可由控制器(606)或另一控制器暂时地配置在处理逻辑裸片的至少一个处理逻辑分区中。例如,特定数据处理功能可由FPGA实施,所述FPGA可由控制器(606)或另一控制器配置。

在框(710)处,处理逻辑裸片(106)将结果传送到非易失性存储器裸片(102)和/或非易失性存储器裸片(104)。处理逻辑裸片(106)可配置成经由TSV将特定数据处理功能的所产生结果传送到非易失性存储器裸片,所述TSV连接非易失性存储器裸片的至少一个非易失性分区和至少一个处理逻辑分区。

在框(712)处,非易失性存储器裸片(102)和/或非易失性存储器裸片(104)接收并存储从处理逻辑裸片(106)传送的结果。非易失性存储器裸片(102)和/或非易失性存储器裸片(104)可配置成将所产生结果存储在至少一个非易失性分区中,并在处理逻辑裸片请求所存储的结果后即刻将所存储的结果传送到处理逻辑裸片(106)。处理逻辑裸片(106)请求所存储的结果可响应于易失性存储器裸片(108)请求所存储的结果,所述易失性存储器裸片请求所存储的结果可响应于控制器(606)经由总线(604)请求所存储的结果。

处理逻辑裸片(106)可配置成经由TSV从非易失性存储器裸片中检索所存储的结果,所述TSV连接至少一个非易失性分区和至少一个处理逻辑分区。并且,3D SIC可配置成经由TSV将检索到的结果传送到易失性存储器裸片,所述TSV连接至少一个易失性分区和至少一个处理逻辑分区。在控制器的第二请求配置成指示3D SIC检索由特定数据处理功能产生的结果时,易失性存储器裸片可配置成接收检索到的结果并将其存储在至少一个易失性分区中,且根据控制器的第二请求经由端口将所存储的检索到的结果传送到总线。在读取命令由控制器(606)使用以作出第二请求的一些实例中,第二请求被发送到易失性存储器裸片(108)的选定易失性存储器分区。

参照图7,在框(714a)处,控制器传送配置成指示3D SIC检索由特定数据处理功能产生的结果的第二请求。在框(714b)处,第二请求由易失性存储器裸片(108)接收、存储并发送到处理逻辑裸片(106)。在框(714c)处,第二请求由处理逻辑裸片(106)接收、存储并转发到非易失性存储器裸片(102)和/或非易失性存储器裸片(104)。

在框(716)处,响应于框(714c),非易失性存储器裸片(102)和/或非易失性存储器裸片(104)将所存储的结果传送到处理逻辑裸片(106)。在框(718)处,处理逻辑裸片(106)接收检索到的结果,且在框(720)处,处理逻辑裸片(106)将检索到的结果传送到易失性存储器裸片(108)。处理逻辑裸片(106)可配置成经由TSV从非易失性存储器裸片中检索所存储的结果,所述TSV连接至少一个非易失性分区和至少一个处理逻辑分区。并且,处理逻辑裸片(106)可配置成经由TSV将检索到的结果传送到易失性存储器裸片,所述TSV连接至少一个易失性分区和至少一个处理逻辑分区。

在框(722)处,易失性存储器裸片(108)接收并存储从处理逻辑裸片(106)发送的检索到的结果。在框(724)处,接着由易失性存储器裸片(108)将检索到的结果传送到控制器(606)。易失性存储器裸片可配置成接收检索到的结果并将其存储在至少一个易失性分区中,且配置成根据控制器的第二请求经由端口将所存储的检索到的结果传送到总线,所述控制器的第二请求配置成指示3D SIC检索由特定数据处理功能产生的结果。

在框(726)处,控制器(606)接收检索到的结果。检索到的结果可由控制器(606)使用以用于另一处理步骤或由控制器输出到另一装置。

在此类实施例中,易失性分区、非易失性分区和处理逻辑分区中的至少两个可在3DSIC的相同的一或多个列中。例如,一起使用的易失性分区、非易失性分区和处理逻辑分区可在3D SIC的相同的一或多个列中。并且,在一些实施例中,功能块阵列中的两个邻接功能块中的每一个可具有特定数据处理功能的不同子特定数据处理功能。

特定数据处理功能(例如借助方法700描述的特定数据处理功能)可包含控制器(606)的基本过程。例如,如果控制器(606)是CPU,则基本过程可以是CPU的解码操作的解码过程。处理逻辑裸片(106)可被编程或硬接线为用于CPU的解码器或用于CPU的解码器的至少共同部件或数据密集型部件。以此方式,CPU可在连接到3D SIC(100)时保留用于获取和执行操作的资源。

特定数据处理功能还可包含处理逻辑提供CPU的算术逻辑单元的功能的至少一部分,且此类功能可被编程或硬接线到处理逻辑裸片(106)中。并且,处理逻辑裸片(106)的邻接分区可提供算术逻辑单元的子操作,例如不同的整数算术和按位逻辑操作。以此方式,CPU可通过将算术逻辑单元操作委托给3D SIC(100)来保留资源。

并且,除通常硬接线或编程到CPU中的那些编码器和/或解码器以外,处理逻辑裸片(106)可充当不同类型的编码器和/或解码器。例如,利用3D SIC(100)的实施例或一些实施例的至少一组功能块,3D SIC(100)可提供加密功能,其中3D IC或至少一组功能块具有硬接线或编程到处理逻辑裸片(106)中以使得裸片可产生密文的密码术,且随后密文可立即存储在3D SIC(100)的非易失性存储器裸片(102)和/或非易失性存储器裸片(104)中以由控制器(606)随后检索。并且,处理逻辑裸片(106)或裸片的分区可充当解密算法。在一个实施例中,3D IC(100)的一或多个块可专用于加密,且3D IC的其它一或多个块可专用于解密。

并且,一些实施例的3D SIC(100)或至少一组功能块可充当一或多个特定数据处理密集操作,例如机器学习类型的选定数据密集型操作。并且,在机器学习算法或另一类型的复杂计算机化算法中紧接在彼此前或后的数据密集型操作可由彼此邻接的3D SIC(100)的块实施。因此,加速算法的操作之间的过渡时间并提供例如降低功率消耗等的其它益处。

在一些实施例中,3D IC的第一存储器IC可在设备开启时提供非易失性存储部件。非易失性存储部件中的每一非易失性存储部件在接收功率时或在不接收功率时存储位。并且,3D IC的第二存储器IC可在设备开启时提供易失性存储部件。易失性存储部件中的每一易失性存储部件仅在接收功率时存储位。在此类实施例中,在设备开启时,3D IC的电连接件可在正交于第一方向(例如,水平方向)的第二方向上使第一存储器IC的第一存储部件彼此通信地耦合且使第二存储器IC的第二存储部件彼此通信地耦合。并且,在设备开启时,3DIC的在第一方向上(例如,竖直地)的电连接件可使3D IC的处理逻辑IC的控制单元和算术/逻辑单元通信地耦合到第一和第二存储器IC的存储部件以控制存储部件的使用。

在此类实施例中,在3D IC的机器周期期间,控制单元可在机器周期的指令时间期间从第一存储器IC和/或第二存储器IC中获得指令。并且,在3D IC的机器周期期间,控制单元或由控制单元控制的解码器可在指令时间期间对指令进行解码并根据指令的至少一部分将待移动的数据从第一存储器IC和/或第二存储器IC引导到算术/逻辑单元。并且,在机器周期期间,算术/逻辑单元可在机器周期的执行时间期间执行指令的至少一部分,且在执行时间期间将指令的至少一部分的执行结果存储在第一存储器IC和/或第二存储器IC中。此外,在机器周期期间,控制单元可在执行时间期间引导第一存储器IC和/或第二存储器IC将结果释放到设备外部的输出装置或存储装置。

在一些实施例的一个实例系统中,系统可包含第一功能块,所述第一功能块包含第一处理逻辑IC、第一存储器IC和第二存储器IC。第一处理逻辑IC、第一存储器IC和第二存储器IC可在第一方向上(例如,竖直地)布置为IC的堆叠以形成第一功能块。系统还可包含第二功能块,所述第二功能块可包含第二处理逻辑IC、第三存储器IC和第四存储器IC。第二处理逻辑IC、第三存储器IC和第四存储器IC可在第一方向上布置为IC的堆叠以形成第二功能块。系统还可包含使第一功能块和第二功能块通信地耦合的至少一个总线或互连件。

在此类实例系统中,第一和第二功能块各自彼此不同地配置以用于不同的相应数据处理功能。数据处理功能可以是不同的频繁使用型功能和/或数据密集型功能,使得即使块的每一处理逻辑IC可能并不具有CPU的处理能力,但其优点在于改进(例如,更接近)对非易失性和易失性存储器的数据存取以使得其可在实施选定功能时提供更佳的总体性能。第一和第二功能块中的每一功能块可由经由有线和/或无线总线连接到功能块的控制器(例如,CPU)按需配置。第一和第二功能块中的每一功能块可配置成减少控制器的计算负载。第一和第二功能块中的每一功能块的配置可包含功能块的相应处理逻辑IC的按需配置。第一和第二功能块中的每一功能块可配置成彼此独立地操作。第一和第二功能块中的每一功能块配置成并行地操作以提供并行数据处理。

在由一或多个3D IC的多个功能块实施的一些实施例的一个实例方法中,多个功能块中的功能块可执行第一数据处理功能,所述第一数据处理功能包含处理逻辑IC控制将数据存储到第一和第二存储器IC和从第一和第二存储器IC中检索数据。功能块也可按需(例如由CPU)改变,使得功能块配置成执行第二数据处理功能。功能块也可执行第二数据处理功能,所述第二数据处理功能包含处理逻辑IC以与处理逻辑IC在第一数据处理功能期间控制将数据存储到第一和第二存储器IC中和从第一和第二存储器IC中检索数据的方式不同的方式来控制将数据存储到第一和第二存储器IC中以及从第一和第二存储器IC中检索数据。在此类实例方法中,多个功能块中的每一功能块包含相应处理逻辑IC、相应第一存储器IC和相应第二存储器IC,且相应处理逻辑IC、相应第一存储器IC和相应第二存储器IC在第一方向上(例如,竖直地)布置为IC的堆叠以形成功能块。

本公开的至少一些方面涉及具有配置成加快或实施ANN计算的功能块的3D SIC。并且,一般来说,本公开的各方面涉及具有配置成加快或实施ANN计算的功能块的3DIC。

如本文中所说明,在正交于第一方向(例如,水平方向)的第二方向上的堆叠芯片的划定框或列配置成支持或实施ANN。可将每一块或列视为配置成支持ANN的单独的ANN区域。换句话说,每一块或列适用于局部地托管大模型(例如,ANN)的数据的一部分,且使用块或列中的局部处理能力至少处理或加快对局部数据的数据密集型操作。块/列的堆叠或阵列具有通信设施以允许块之间的数据交换以处理大模型的部分之间的交互。

多个堆叠芯片的装置在正交于第一方向(例如,水平方向)的第二方向上具有经由装置内部的网格网络连接的ANN区域的分布。网格网络的连接允许对相邻ANN区域之间的神经元组输出进行快速存取。对于3D集成,可通过在第一方向(例如,竖直地)上堆叠来扩大网络,而对于2D集成,使用较大芯片面积。并且,多个装置(例如,多个3D SIC)可经由总线或计算机网络进一步连接以实施或支持大ANN。

在一些实施例中,支持ANN的装置的功能块可以是与图1-5中所示出的功能块类似的功能块,其中功能块为通用数据处理块而非专门硬接线以用于支持ANN的块。在一些其它实施例中,支持ANN的装置的功能块可包含用于人工智能(AI)加速的特定硬件电路系统,例如包含用于或在向量和/或矩阵代数计算中使用的单元的特定硬件电路系统。无论功能块是更通用的还是特别适用于ANN,块的硬件电路系统都可包含块的处理逻辑层中的加法器和/或倍增器(例如,堆叠在装置中的处理逻辑裸片的相应处理逻辑分区可包含加法器和/或倍增器)。以此方式,处理单元可被编程成用于不同类型的神经网络计算或神经网络计算和其它类型的计算的组合。

在一些实施例中,如图式中所展示,3D SIC布置功能块,使得每一块从最近相邻者获得输入且输出到块阵列中的最近相邻者。这是有利的,因为其提高了3D SIC的速度、减少了3D IC的热量输出且节省了3D SIC的功率输入。并且,块的此类布置提供通过中间块通信或块间通信布设的ANN区域之间的较少连接件。

此外,在一些实施例中,负载均衡可用于在3D SIC的块之中均匀地分配ANN计算。负载均衡可在计算机网络规模或本地装置等级上发生。负载均衡可进一步提高3D SIC的速度、减少3D IC的热量输出且节省3D SIC的功率输入。并且,可能有利的是,在计算机网络和本地装置等级两者上均进行负载均衡。在一些实例中,堆叠可用以对一组互连堆叠中的子网络进行建模,如同块用以对由堆叠中的互连块表示的网络中的子网络进行建模。

3D SIC的每一功能块可实施或支持一组神经元,其中所述一组神经元的输入来自在块边界处的连接件且输出出自给定功能块的块边界。对于来自其它块的一组假设输入,可在给定功能块内精确地计算输出。当其它块已更新输出以校正假设时,给定块可更新其输出,其进而更新其输出以校正取决于用于输入的给定块的其它块的输出。通过计算机系统或计算机网络的总线进行的多个芯片扩展基于类似原理。

此类假设-校正法的优点是改进ANN的训练。并且,此类方法可改进ANN的预测准确性。在训练中,调整由3D SIC实施的ANN模型以使所预测的结果与所观测和/或所测得的结果相符。在预测期间,可根据输出流依序操作块,使得可不需要一或多个假设。专用硬件加速可均有利于ANN的训练和预测阶段。

应理解,本文中所描述的功能块或一组功能块不一定需要进行完整的ANN计算,例如输入/输出和隐层神经元或节点的完整ANN计算。实际上,功能块或一组功能块可配置为完整的ANN计算的帮助器或加速器。使用3D SIC的一或多个功能块来执行数据密集型和/或常见计算是有利的,所述数据密集型和/或常见计算是完整ANN计算的部分,以利用3D SIC的数据存取和/或专用硬件加速中的优势。还应理解,本文中所描述的功能块或一组功能块可执行完整的ANN计算,例如输入/输出和隐层神经元或节点的完整ANN计算。

图8示出根据本公开的一些实施例的实施ANN功能块(例如,功能块810、812和814)且具有非易失性存储器裸片(102)和(104)、易失性存储器裸片(108)和ANN处理逻辑裸片(802)的实例3D SIC(800)的正视图。如所展示,非易失性存储器裸片(102)和(104)、易失性存储器裸片(108)和ANN处理逻辑裸片(802)布置成形成功能块阵列。

应理解,3D SIC(800)具有与图1的3D SIC(100)类似的部件,不同之处在于处理逻辑裸片(802)特定地配置成支持或实施神经元。因此,3D SIC(800)的功能块可或可不具有与3D SIC(100)的功能块相同的物理结构。因而,应理解,出于简化本公开的目的,3D SIC(100)与3D SIC(800)之间的存储器裸片(例如,裸片102、104和108)、TSV(例如,TSV 116、118和120)、互连件(例如,互连件122、124、126和128)是类似的。

一般来说,3D SIC(800)可实施或支持ANN。并且,3D SIC(800)的每一功能块可提供相应ANN区域。

如所提及,3D SIC(800)包含非易失性存储器裸片(102)和(104)。其它实施例可包含一个非易失性存储器裸片或两个以上非易失性存储器裸片。实施例的非易失性存储器裸片可以是3DXP裸片或包含例如本文所描述的其它类型的非易失性存储器。在一些实施例中,非易失性存储器裸片可包含非易失性存储器分区(例如,参见图2的非易失性存储器分区)阵列。在此类实施例中,非易失性存储器分区阵列中的每一分区可配置成存储一组神经元的第一参数。

3D SIC(800)还包含易失性存储器裸片(108)。其它实施例可包含多于一个易失性存储器裸片。实施例的易失性存储器裸片可以是DRAM裸片或包含例如本文所描述的其它类型的易失性存储器。在一些实施例中,易失性存储器裸片可包含易失性存储器分区(例如,参见图3的易失性存储器分区)阵列。在此类实施例中,易失性存储器分区阵列中的每一分区可配置成存储一组神经元的第二参数。

3D SIC(800)还包含处理逻辑裸片。更确切地说,3D SIC包含ANN处理逻辑裸片(802)。其它实施例可包含多于一个处理逻辑裸片,例如多于一个ANN处理逻辑裸片(802)。在一些实施例中,ANN处理逻辑裸片(802)可包含处理逻辑分区阵列。ANN处理逻辑裸片(802)的分区阵列中的每一分区可以是单独的FPGA,例如图4中处理逻辑裸片(106)所展示。一般来说,处理逻辑分区阵列的每一分区可配置成接收输入数据且根据分区的相应组神经元处理所述输入数据以产生输出数据。

并且,类似于本文中所描述的一些其它实施例,3D SIC(800)包含使非易失性存储器裸片(102)和(104)、易失性存储器裸片(108)和处理逻辑裸片互连的TSV(116)、(118)和(120),所述处理逻辑裸片在图8的实例中为ANN处理逻辑裸片(802)。

图9示出图8中所示出的根据本公开的一些实施例的实施ANN功能块(例如,功能块810、812和814)且具有非易失性存储器裸片(102)和(104)、易失性存储器裸片(108)和ANN处理逻辑裸片(802)的实例3D SIC(800)的透视图。具体地说,图9展示3D SIC(800)的所有功能块,即,图9展示功能块(810)、(812)、(814)、(910)、(912)、(914)、(920)、(922)和(924)。

应理解,如图9所展示的3D SIC(800)具有与图5的3D SIC(100)类似的部件,不同之处在于处理逻辑裸片(802)特定地配置成支持或实施神经元。因此,3D SIC(800)的功能块可或可不具有与3D SIC(100)的功能块相同的物理结构。因而,应理解,出于简化本公开的目的,3D SIC(100)与3D SIC(800)之间的存储器裸片(例如,裸片102、104和108)、TSV(例如,TSV 116、118和120)、互连件(例如,互连件(122)、(124)、(126)和(128))是类似的。并且,如图9所展示的3D SIC(800)的功能块(810)、(812)、(814)、(910)、(912)、(914)、(920)、(922)和(924)可或可不具有与如图5所展示的3D SIC(100)的功能块(110)、(112)、(114)、(210)、(212)、(214)、(220)、(222)和(224)类似的结构。

3D SIC(800)的功能块阵列的功能块,例如功能块(810)、(812)、(814)、(910)、(912)、(914)、(920)、(922)或(924)可包含相应处理逻辑分区,所述相应处理逻辑分区包含配置成执行激活函数的计算的硬件电路。激活函数可包含S型激活函数或径向基函数。并且,其它类型的激活函数可由硬件电路执行。激活函数可以是阶跃函数、线性函数或对数S型(log-sigmoid)函数。借助于复变函数(例如,对数S型函数、S型函数等),可优选地利用用于提高效率的特定配置的电路,例如通过使用ASIC实施处理逻辑分区。否则,使用FPGA可能是有利的。

并且,3D SIC(800)的功能块阵列的功能块,例如功能块(810)、(812)、(814)、(910)、(912)、(914)、(920)、(922)或(924)可包含具有配置成执行向量代数运算的AI加速器的相应处理逻辑分区。并且,3D SIC(800)的功能块阵列的功能块可包含具有配置成执行矩阵代数运算的AI加速器的相应处理逻辑分区。并且,3D SIC(800)的功能块阵列的功能块可包含具有配置成执行向量代数运算和矩阵代数运算的AI加速器的相应处理逻辑分区。

3D SIC(800)的功能块阵列的每一功能块,例如功能块(810)、(812)、(814)、(910)、(912)、(914)、(920)、(922)或(924)可包含相应处理逻辑分区,所述相应处理逻辑分区包含多核处理器的处理核心。并且,功能块阵列的每一功能块可包含相应处理逻辑分区,所述相应处理逻辑分区包含图形处理单元(GPU)的一部分。在此类实例中,GPU的部分可以是或包含固定功能单元。

类似于3D SIC(100)的功能块,3D SIC(800)的功能块阵列的每一功能块,例如功能块(810)、(812)、(814)、(910)、(912)、(914)、(920)、(922)或(924)可包含具有FPGA的相应处理逻辑分区。图4中描绘了处理逻辑分区阵列的实例,其中每一分区具有FPGA。在一些其它实施例中,功能块阵列的每一功能块可包含具有ASIC的相应处理逻辑分区。

图10示出图8中所示出的根据本公开的一些实施例的实例3D SIC(800)的俯视图。图10具体地展示由3D SIC(800)的功能块实施的一些假想神经元(例如,神经元1002、1004、1006)和神经元突触(例如,神经元突触1008和1010)。图10示出将ANN划分成用于块中的局部处理的部分,而非3D SIC的精确结构。神经元和突触由存储于此处的数据和处理逻辑表示,而非硬件元件和连接件。

在一些实施例中,功能块阵列的每一功能块,例如功能块(810)、(812)、(814)、(910)、(912)、(914)、(920)、(922)或(924)可使用相应的神经元网络(例如输入/输出和隐层神经元)来处理到网络的一或多个输入且从网络产生一或多个输出。在一些实例中,网络中的每一神经元m可接收一组输入p

神经元(1002)和(1004)是互连神经元,其中这些神经元中的每一个是不同功能块的部分,且神经元中的一个的输出是用于其它神经元的输入。神经元突触(1008)是互连突触。并且,一般来说,神经元(1002)和(1004)是边缘神经元或输入/输出层神经元,其中神经元中的一个是其相应功能块的输入层的部分,且另一神经元是其相应功能块的输出层的部分。神经元(1004)和(1006)是内连神经元,其中每一神经元是同一功能块的部件,且神经元中的一个的输出是用于其它神经元的输入。并且,神经元(1006)可以是隐层或中层神经元。神经元突触(1010)是内连突触。互连突触和/或内连突触可具有相应突触权重。

应理解,出于本公开的目的,连接图10中的神经元的神经元和神经元突触是虚拟的。换句话说,所示出的假想神经元(例如,神经元1002、1004和1006)和连接假想神经元的神经元突触(例如,神经元突触1008和1010)不是生物神经元和神经元突触或生物神经元和神经元突触的合成物理替代物。此类真实生物或合成机构不存在或不形成于3D SIC(800)的功能块(810)、(812)、(814)、(910)、(912)、(914)、(920)、(922)和(924)中。如本文所提及,神经元和神经元突触由功能块以算法方式实施,其中神经元和神经元突触的基础是软件指令和/或数据处理硬件电路系统的部件。并且,应理解,功能块(810)、(812)、(814)、(910)、(914)、(920)和(924)中的每一省略号表示未完全展示框中的一组神经元。并且,应理解,功能块(912)的形状和大小并未示出其相对于其它块的形状和大小。

图10还展示围封3D SIC(800)的功能块(810)、(812)、(814)、(910)、(912)、(914)、(920)、(922)和(924)的外壳(1012)。

另外,图10展示功能块阵列的第一功能块(即,功能块912)和第二功能块(即,功能块922)彼此紧邻,且功能块(912)包含与功能块(922)不同的一组神经元。功能块(912)包含3D SIC(800)的相应列和第一组神经元(例如,参见神经元1004、1006、1014、1016等)。并且,功能块(912)包含3D SIC(800)的配置成存储第一组神经元的非易失性地存储的一组参数的非易失性存储器分区阵列中的第一相应非易失性存储器分区。功能块(912)进一步包含配置成存储第一组神经元的易失性地存储的一组参数的易失性存储器分区阵列中的第一相应易失性存储器分区。功能块(912)还包含处理逻辑分区阵列中的第一相应处理逻辑分区,所述第一相应处理逻辑分区配置成在神经元(1014)和(1016)处接收第一输入数据且根据第一组神经元处理第一输入数据以在神经元(1004)处产生第一输出数据。

功能块(922)包含3D SIC(800)的相应列和第二组神经元(例如,参见神经元1002、1018等)。并且,功能块(922)包含3D SIC(800)的配置成存储第二组神经元的非易失性地存储的一组参数的非易失性存储器分区阵列中的第二相应非易失性存储器分区。功能块(922)进一步包含配置成存储第二组神经元的易失性地存储的一组参数的易失性存储器分区阵列中的第二相应易失性存储器分区。功能块(922)还包含处理逻辑分区阵列中的第二相应处理逻辑分区,所述第二相应处理逻辑分区配置成在神经元(1002)和(1018)处接收为来自功能块(912)的第一输出数据的第二输入数据,且根据第二组神经元处理第二输入数据以在一或多个神经元(图10中未明确地展示)处产生第二输出数据。

在一些实施例中,第一组神经元和第二组神经元的相应的易失性地存储的多组参数可各自包含神经元的突触权重。并且,在一些实施例中,第一组神经元和第二组神经元的相应的非易失性地存储的多组参数可各自包含神经元的偏差。

在一些实施例中,3D SIC(800)是属于3D SIC网络的联网的3D SIC,且在此类实施例中,网络的每一3D SIC用于实施或支持ANN且至少包含非易失性存储器裸片、易失性裸片和处理逻辑裸片。联网的3D SIC可在单一计算机系统(例如图11中所展示)中通过总线联网,且/或联网的3D SIC可通过计算机网络联网,使得3D SIC(800)经由计算机网络(例如图12中所展示)与连接到3D SIC(800)的计算机系统的其它计算机系统的3DSIC联网。

图11示出本公开的实施例可在其中操作的具有包含3D SIC(800、800a和800b)的一组3D SIC的实例计算机系统(1100)的框图。图11描绘可通过增加单一计算机系统中的ANN 3D SIC的数量扩大ANN的方式。图11中包含ANN 3D SIC(800、800a和800b)(图8-10中所描绘)的ANN 3D SIC配置成实施或支持ANN。应理解,ANN 3D SIC(800a)和/或(800b)在结构上可类似于ANN 3D SIC(800),但可各自具有与ANN 3D SIC(800)不同的功能(例如,不同的子ANN)。替代地,ANN 3D SIC(800a)和/或(800b)可各自具有与ANN 3D SIC(例如类似的子ANN)类似的功能,使得ANN 3D SIC(800a)和/或(800b)可提供ANN 3D SIC(800)的工作负载的分布。

如所展示,计算机系统(1100)包含可将计算机系统(1100)连接到网络(612)的总线(604)、控制器(606)、主存储器(608)和网络接口(610)。系统(1100)的这些组件类似于图6的计算机系统(600)的对应组件。并且,类似地,计算机系统(1100)的每一ANN 3D SIC具有类似于计算机系统(600)的通信接口(602)的对应通信接口。如所展示,计算机系统(1100)的一组3D SIC中存在九个ANN 3D SIC。然而,应理解,一些实施例中每一计算机系统可具有多于九个ANN 3D SIC或少于九个3D SIC,例如所描绘的计算机系统(600)仅展示可为一个ANN 3D SIC的一个3D SIC。

图12示出本公开的实施例可在其中操作的计算机系统(1200)的实例网络的框图。包含计算机系统(1100)、(1100a)和(1100b)的图12中所描绘的每一计算机系统具有一组3DSIC。并且,图12的3D SIC配置成实施或支持大ANN。图12描绘可通过使各自具有多个ANN3D SIC的多个计算机系统联网来增加ANN 3D SIC的数量以扩大ANN的方式。

包含计算机系统(1100a)、(1100b)和(1100)(图11中所描绘)的各自具有多个ANN3DSIC的图12的计算机系统配置成实施或支持ANN。应理解,ANN 3D SIC(1100a)和/或(1100b)在结构上可类似于计算机系统(1100),但可各自具有与计算机系统(1100)不同的功能(例如不同的多组子ANN)。替代地,ANN 3D SIC(1100a)和/或(1100b)可各自具有与计算机系统(1100)类似的功能(例如类似的子ANN),使得计算机系统(1100a)和/或(1100b)可提供计算机系统(1100)的工作负载的分布。

如所展示,网络(1200)包含网络(612)和各自具有多个ANN 3D SIC的多个计算机系统。尽管网络(1200)中展示九个网络计算机系统,但应理解,一些实施例可具有多于九个具有ANN 3D SIC的计算机系统或少于九个具有ANN 3D SIC的计算机系统。

在前述说明书中,已参考其具体实例实施例描述了本公开的实施例。将显而易见的是,可在不脱离如所附权利要求书中阐述的本公开的实施例的更广精神和范围的情况下对本公开进行各种修改。因此,应在说明性意义上而非限制性意义上看待说明书和图式。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号