利用分区多跳网络的裸片堆叠装置的制造方法
【技术领域】
[0001]本公开一般涉及计算和存储器装置且更特定来说,涉及经由内插板连接的多裸片(die)装置。
【背景技术】
[0002]通信和存储器带宽以及等待时间在许多处理系统中成为重要的瓶颈。可以通过使用裸片堆叠技术,借此实施处理系统的多个裸片安置于称作内插板的硅衬垫处来将这些性能因素改善到一定程度。裸片可以使用硅通孔(TSV)来垂直堆叠或使用内插板的互连件来水平堆叠或是垂直堆叠和水平堆叠两者的组合。在水平堆叠中,内插板中的金属层通常用于实施链路以实现裸片对之间的点对点通信。使用点对点链路来提供水平堆叠裸片之间的通信并不与裸片的数量相称。常规水平堆叠系统中的裸片数量的增加要求以下增加:内插板中的金属层的数量的增加,此明显增加成本和复杂性;或内插板的某些迹线的长度的增加,此明显增加功耗、信号等待时间和偏斜失配。
【附图说明】
[0003]可以通过参考附图更好地理解本公开且使本领域的技术人员了解本公开的众多特征和优点。
[0004]图1是图示根据一些实施方案的采用包括路由器分区和链路分区的分区多跳网络的实例裸片堆叠处理系统的分解透视图的图。
[0005]图2是图示根据一些实施方案的采用分区多跳网络的另一裸片堆叠处理系统的平面图和截面图的图。
[0006]图3是根据一些实施方案的采用混合分区多跳网络的另一处理系统的图。
[0007]图4是图示根据一些实施方案的裸片堆叠处理系统的分区多跳网络中采用的实例路由逻辑的方块图。
[0008]图5是图示根据一些实施方案的用于在裸片堆叠处理系统中进行多跳数据包路由的实例方法的流程图。
[0009]图6是图示根据一些实施方案的用于设计和制造集成电路(IC)装置的方法的流程图。
[0010]不同图中的相同参考符号的使用指示类似或相同物件。
【具体实施方式】
[0011]图1至图6图示用于采用多跳通信网络的处理系统或其它电子总成中的改善的处理效率和较低成本的实例技术。电子总成包含安置于内插板处的水平堆叠裸片。电子总成还可以包含垂直堆叠裸片。堆叠裸片可以包含存储器装置、处理装置和支持处理的逻辑。在一些实施方案中,多跳通信网络被分区为链路分区和路由器分区。对于水平堆叠裸片,链路分区至少部分实施于内插板的金属层中。链路分区还可以部分由单个裸片中的裸片内互连件且由连接垂直堆叠裸片组的裸片间互连件实施。在一些实施方案中,多跳网络可以实施于各种常规网络拓扑(诸如环形物、网格、圆环体、胖树和k元η立方体)的任何一种中。在其它实施方案中,多跳网络可以实施“不规则”拓扑,其中任意路由器和链路如由处理系统的需求规定般互连。路由器分区实施于内插板处安置的裸片的一些或所有处且包括支持经由链路分区的互连件在处理系统的组件之间路由数据包的功能的逻辑。路由器分区可以实施固定路由,或替代地可以使用可编程路由表或可配置逻辑区块来被配置。尽管内插板中缺少逻辑,但所描述的网络分区有利于水平堆叠处理系统中的多跳网络的实施。继而,多跳网络允许使用较小数量的内插板金属层和较短内插板迹线来互连裸片,因此在堆叠裸片的数量增加时改善网络扩展性。
[0012]图1图示根据一些实施方案的采用包括路由器分区和链路分区的多跳网络的裸片堆叠处理系统100。处理系统100可以包括各种计算系统的任何一种,所述计算系统包含笔记本或平板计算机、台式计算机、服务器、网络路由器、交换机或集线器、支持计算的蜂窝电话、个人数字助理等等。实例处理系统100包含安置于内插板102的表面处的多个水平堆叠裸片104、105、106和107。裸片107是垂直裸片堆叠110的最下层,所述垂直裸片堆叠110还包含裸片111、112和113。
[0013]所图示的裸片104至107和111至113可以包含任何种类的处理器核心和其组合,诸如中央处理单元(CPU)、图形处理单元(GPU)、数字信号处理器(DSP)等等。所图示的裸片还可以实施任何种类的存储装置,所述存储装置包含(但不限于)存储器架构,诸如动态随机访问存取器(DRAM)、静态随机访问存取器(SRAM)、只读存储器(ROM)、闪存铁电RAM(F-RAM)、磁阻RAM(MRAM)等等。所图示的裸片104至107和126至128还可以包含任何外围装置,诸如北桥和南桥功能、输入/输出控制器、网络接口等等。处理系统100还可以包含未在图1中图示的各种其它组件,诸如至显示组件、存储装置、输入装置(例如,鼠标或键盘)等等的一个或多个外部接口。
[0014]在一些实施方案中,垂直裸片堆叠110包括堆叠的存储器装置,其中堆叠裸片111至113实施存储器电路,诸如DRAM、SRAM、ROM等等,且裸片107实施用于访问堆叠裸片111至113的存储器电路的硬接线逻辑以及下文所描述的路由逻辑。可以使用各种3D集成电路制造工艺的任何一种来制造垂直裸片堆叠110。在一种方法中,裸片107和111至113各被实施为单独衬底(例如,块状硅),其中有效装置和一个或多个金属路由层形成于有效表面处。这个方法可以包含晶圆上晶圆工艺,借此包括裸片矩阵的晶圆被制造和变薄且TSV蚀刻通过块状硅。接着多个晶圆被堆叠以实现所图示的层配置(例如,包括用于三个存储器层的存储器电路裸片的四个晶圆和包括用于逻辑层的逻辑裸片的一个晶圆的堆叠)、被对准且接着经由热压结合。所得堆叠晶圆组被单件化以使个别3D IC装置分离。
[0015]在裸片上裸片的工艺中,实施各个对应层的晶圆首先被单件化且接着裸片被单独堆叠和结合以制造3D IC装置。在晶圆上裸片的方法中,用于一个或多个层的晶圆被单件化以产生用于一个或多个层的裸片且接着这些裸片被对准且接合至另一晶圆的对应裸片区域,接着所述晶圆被单件化以制造个别3D IC装置。在单独晶圆上制造裸片107和126至128的一个益处是不同于用于制造存储器裸片(裸片111至113)的制造工艺的制造工艺可以用于制造逻辑层(裸片107)。因此,提供改善的性能和较低功耗的制造工艺可以用于制造裸片107 (且因此为路由逻辑127提供较快速和较低功率的接口逻辑和电路),然而提供改善的单元密度和改善的泄漏控制的制造工艺可以用于制造存储器层(裸片126至128)(且因此为堆叠存储器提供更密集、较低泄漏的位单元)。
[0016]在另一方法中,使用单片3D制造工艺制造层107和111至113,借此使用单个衬底且使用层转移工艺(诸如离子切割工艺)而将各个裸片层形成于前面裸片层上。还可以使用技术组合制造堆叠存储器装置。例如,可以使用单片3D技术制造逻辑层(裸片107),使用裸片上裸片或晶圆上晶圆技术制造存储器层(裸片111至113),或反之亦然,且接着所得逻辑层堆叠和存储器层堆叠可以接合在一起且接着接合至内插板衬底。
[0017]在操作期间,使用由内插板102的一个或多个金属层形成的迹线、通孔和其它互连件传导水平堆叠裸片104至107之间的裸片间通信。在常规系统中,需要由两个裸片之间的内插板102中的互连件形成的点对点链路以用于两个裸片彼此通信。如上所述,这个方法导致以下一者或两者以完成路由:内插板中过多数量的金属层或过长互连件。为了减少或消除此类问题,在一些实施方案中,处理系统100实施由以下组成的多跳网络101:路由器分区,其由一个或多个水平堆叠裸片104至107处的路由逻辑形成;和链路分区,其由连接水平堆叠裸片104至107的内插板102的装置间互连件和连接垂直堆叠裸片107和111至113的裸片间互连件形成。路由器分区包括裸片的逻辑和其它电路,其用于作出路由决策以经由形成链路分区的裸片间互连件和裸片内互连件在一跳或多跳上路由数据包。链路分区包含将一个裸片的传输/接收电路耦接至另一裸片的传输/接收电路的导体(“裸片间互连件”)。这些裸片间互连件可以包含内插板102上的电导体(诸如垫、引脚、引脚接口、金属层、电镀穿孔和通孔)或垂直堆叠裸片之间的TSV。此类裸片间互连件还可以包含光导体或电导体和光导体两者的组合。链路分区可以还包含耦接相同裸片上的传输/接收电路组的导体(“裸片内互连件”),此类导体包含(例如)迹线、通孔、穿孔、垫、焊料凸块等等。
[001
8]为了图示,在实例处理系统100中,水平堆叠裸片104至107布置于环形网络中的内插板102上,借此裸片104经由链路116连接至裸片105,裸片105经由链路117连接至裸片106,裸片106经由链路118连接至裸片107且裸片107经由链路119连接至裸片104。链路116至119实施于内插板102的一个或多个金属层中。而且,处理系统100的所图示的链路分区还包含由使垂直堆叠裸片107和111至113互连的多个TSV 122或其它导体形成的链路120。在其它实施方案中,链路分区还可以包含裸片上链路,其使位于特定裸片上的装置互连,如下文参考图3更详细地图示。
[0019]在一些实施方案中,链路116至119被实施为单端或差分串行数据链路,借此使用串行通信过程跨越链路116至119发送消息数据。在这个过程中,消息数据经由包括链路116至119的个别金属迹线、通孔、穿孔、导线和其它导体每次发送一个位。在其它实施方案中,链路116至119被实施为并行数据链路,借此使用并行通信过程跨越链路发送消息数据,在所述并行通信过程中,经由包括链路116至119的多个金属迹线、导线、通孔或其它导体同时发送多个消息数据位。
[0020]在所描绘的实例中,水平堆叠裸片104至107的各者包含对应路由逻辑(分别识别为路由逻辑124、125、126和127)。路由逻辑124至127 —起管理和路由流过多跳网络101的消息数据包。为此,各个裸片处的路由逻辑包含逻辑和控制功能以实施一个或多个常规或专有多跳路由用于联合连接至路由逻辑被实施的裸片的网络链路路由消息数据。为了图示,路由逻辑124连接至链路116和119,路由逻辑125连接至链路116和117,路由逻辑126连接至链路117和118且路由逻辑127连接至链路118、119和120。一些或所有路由逻辑还可以本地耦接至实施于对应裸片上的功能装置,诸如CPU、GPU、DSP、存储器控制器等等。因此,路由逻辑124至127耦接至相同裸片上的装置以及水平安置或垂直堆叠于内插板102上的其它裸片上的路由器或其它逻辑。
[0021]路由逻辑124至127的各者包含支持这个路由功能性的逻辑和其它电路,此类逻辑包含(例如)数据输入和输出缓冲器、纵横开关、调度逻辑、管理和控制逻辑、路由表的存储器和配置逻辑。由路由逻辑124至127实施的路由逻辑可以实施固定路由,或替代地可以使用可编程路由表或可配置逻辑区块来被配置。下文参考图4更详细地描述路由逻辑的实例实施。
[0022]虽然图1示出实例实施,借此对于垂直裸片堆叠110,路由逻辑127实施于安置成相邻于内插板102的裸片107上,但在其它实施方案中,路由逻辑127可以实施于垂直裸片堆叠的另一裸片上(例如,裸片111上)。即,对于垂直裸片堆叠110,可以存在安置于内插板102与实施路由逻辑127的裸片之间的一个或多个裸片。而且,虽然图1示出实例实施,借此路由逻辑127实施于单个裸片上,但在其它实施中,路由逻辑127可以跨越垂直裸片堆叠110中的多个裸片分布。例如,路由逻辑127的一部分(诸如纵横开关和关联的控制逻辑)可以实施于一个裸片处,但路由逻辑127的另一部分(诸如一个或多个路由表)实施于垂直裸片堆叠110的另一裸片处。在此情况下,将垂直裸片堆叠110连接至多跳网络101的链路分区包含连接垂直裸片堆叠110中的裸片的多个TSV 122。在一些实施方案中,实施路由逻辑127的垂直裸片堆叠110的裸片(或裸片)唯一地专属于路由逻辑127。在其它实施方案中,裸片或裸片可以实施非路由硬编码逻辑或其它装置,诸如CPU或GPU、高速缓存、存储器等等。
[0023]以下实例消息流量图示处理系统100中的分区多跳网络101的使用。为了这个实例,裸片104至106实施处理器核心,且垂直裸片堆叠110是堆叠的存储器装置,借此裸片111至113是堆叠的DRAM存储器装置且裸片107实施DRAM存储器控制器。DRAM存储器控制器经由TSV 120耦接至堆叠的存储器装置。存储器控制器操作以响应于来自一个或多个处理器核心的存储器访问请求而执行对存储于堆叠的DRAM存储器装置的存储单元电路中的数据的存储器访问。此类请求的实例包含常规存储器读取和写入操作以及元数据管理操作。此类元数据管理操作的实例包含(但不限于)地址转换操作、数据安全或数据完整性操作(例如,检查和或错误校正码计算或验证)、垃圾收集操作、存储器利用率分析、存储器记录等等。
[0024]对存储器写入请求服务的过程的以下描述图示处理系统100中的分区多跳通信网络的实例操作。在操作过程中,裸片105处的CPU产生存储器写入请求,此包含关联存储器地址,将被写入至堆叠存储器装置的数据和其它控制信息,诸如写入的长度和字节掩码。这个信息被格式化为将从裸片105上的CPU传输至裸片107上的存储器控制器的数据包。在产生存储器写入请求中,CPU将写入请求信息连同目的地节点的指示提供至路由逻辑125 (其在相同裸片上及因此用于CPU的本地路由逻辑)的输入缓冲器。在这个实例中,目的地节点是裸片107上的存储器控制器装置。路由逻辑125检验数据包标头且提取目的地节点。接下来路由逻辑125执行表查找以确定至存储器控制器的路线中的下一个节点。在这个实例中,至存储器控制器的路线中的下一个节点是裸片104上的路由逻辑124。相应地,裸片105上的路由逻辑125使得写入请求数据包置于对应于将裸片105连接至裸片104的链路116的输出缓冲器中。接着裸片105上的接口逻辑通过操纵连接至包括链路116的导体的物理接口(PHY)发出数据包,以将代表存储器写入请求的信号传输至裸片104上的中间节点。包括链路116的导体实施于内插板102的金属层以及将裸片104和105连接至内插板102的金属层的金属接触件中。可以使用常规差分技术实施链路116上的信号的传输,所述技术针对各个位通道使用在两对导体上发送的两个电互补信号。或者,可以经由单端技术实施传输,所述技术针对各个位通道要求单个导体且对照常用电压或接地参考那个导体上的信号电平。
[0025]裸片104上的PHY接收信号且缓冲由信号表示的存储器写入请求信息。裸片104上的路由逻辑124检验缓冲的数据包标头且提取目的地节点。因为最终目的地并非裸片104上的本地装置,所以接下来路由逻辑124执行表查找以确定至存储器控制器的路线中的下一个节点。在这个实例中,路径中的下一个节点是裸片107上的路由器。因此,裸片104上的路由逻辑124使得写入请求数据包置于对应于将裸片104连接至裸片107的链路119的输出缓冲器中。接着裸片104上的接口逻辑通过操纵连接至包括连接至裸片107的链路119的导体的物理接口(PHY)发出数据包,以传输代表存储器写入请求的信号。
[0026]裸片107上的PHY接收信号且缓冲存储器请求数据包。裸片107上的路由逻辑127检验数据包标头且提取目的地节点。在这个实例中,目的地节点匹配存储器控制器的节点识别。因此,路由逻辑127将写入请求置于裸片107上的存储器控制器装置的输入缓冲器中。存储器控制器访问裸片111至113上的适当DRAM单元而将写入数据存储至由发信号地址指示的存储器的位置,从而完成由裸片105上的CPU起始的请求的存储器写入操作。
[0027]因此,如以上实例图示,消息数据可以在裸片105与裸片107之间通信而无需裸片105与107之间的点对点链路。而且,这个相同多跳路由方法允许裸片104与106之间的通信而无需两个裸片之间的点对点链路。因而,图1的实例中的内插板102针对四个裸片只需要支持四个裸片间链路,而非在常规方法中必需的六个裸片间点对点链路。在少两个裸片间链路支持的情况下,内插板102可以实施裸片之间的较少金属层和较短或较不复杂迹线路由。
[0028]虽然环形网络布置描绘于图1中,但处理系统100的裸片可以实施于包含网格、圆环体、树、η立方体等等或其组合的各种网络拓扑的任何一种中。为了图示,裸片104至107可以实施于轴辐式布置中,借此裸片104用作用于在104、106与107之间路由所有消息数据的集线器。
[0029]图2图示根据一些实施方案的利用分区多跳网络的另一实例处理系统200的平面图203和截面图21
3两者。在所描绘的实例中,处理系统200包含安置于内插板202处的水平堆叠裸片204、206、206和207。处理系统200还包含垂直裸片堆叠208,其包括堆叠于裸片205上的裸片210和堆叠于裸片210上的裸片212。
[0030]裸片204至207经由包括链路216、217和218的分区多跳网络201互连。多跳网络201还包含由使垂直堆叠208的裸片205、210和212互连的TSV 222形成的装置间链路。如由截面图213所图示,裸片间链路216至218的各者可以实施于内插板202的一个或多个金属层处和将裸片204至207连接至内插板202的金属接触件中。
[0031]在所描绘的实例中,链路216连接裸片204和裸片205,链路217连接裸片205和206,链路218连接裸片206和裸片207且链路219连接裸片205和207。还在这个实例中,链路219是专门用于裸片205处的某些装置与裸片207处的某些装置之间的通信的边带链路。即,链路216、217和218形成多跳网络201的链路分区且链路219并不包含于这个多跳网络中。因而,裸片204和207是多跳网络201中的叶节点且因此在这个实例网络拓扑中不需要实施路由逻辑。为了有利于裸片之间的消息数据的路由,裸片205实施路由逻辑214且裸片206实施路由逻辑215。
[0032]以下实例消息流量图示处理系统200中的分区多跳网络的使用。为了这个实例,裸片204、205和212包括处理器核心,其实施控制用于减少总能耗的功率管理特征的功能。此类功率管理功能的实例包含时钟节流、动态电压控制、CPU睡眠状态等等。可以响应于经由网络从一个装置传递至另一者的消息而配置、调用和控制这些功能。这些功率管理功能由操作系统软件(OS)使用以响应于系统的处理负载和总利用率而以动态方式权衡功率和系统性能。
[0033]对功率管理请求服务的以下实例用于图示处理系统200中的分区通信网络的操作。在操作过程中,运行于裸片212上的CPU上的操作系统(OS)软件确定裸片204上的CPU应置于“睡眠”状态以减少系统功耗。因此,裸片212上的CPU产生睡眠请求,其包含关联的功率管理命令(“睡眠”)连同所需要的其它控制信息,诸如所期望的睡眠状态的长度。这个睡眠请求被实施为将从裸片212上的CPU装置传输至裸片204上的CPU装置的信息数据包。在产生睡眠请求中,OS软件使得睡眠信息数据包连同目的地节点的指示被写入至裸片212的接口逻辑。接着裸片208上的接口逻辑通过操纵连接至包括TSV 220的导体的物理接口(PHY)发出数据包,以将代表睡眠请求的信号传输至裸片205上的路由逻辑214。路由逻辑214检验数据包标头且提取目的地节点。路由逻辑214使用目的地节点执行表查找以确定至目的地的路线中的下一个节点。作为表查找的结果,路由逻辑214使得睡眠请求数据包置于对应于将裸片205连接至实施于裸片204上的装置的链路216的输出缓冲器中。接着裸片205上的接口逻辑通过操纵连接至包括链路216的导体的物理接口(PHY)发出睡眠数据包,以将代表睡眠请求的信号传输至裸片204。如截面上所示,包括链路216的导体实施于内插板202的金属层中。裸片204上的PHY接收信号且缓冲由信号表示的睡眠请求信息。裸片204上的接口逻辑将睡眠请求置于CPU可用的输入缓冲器中且通常产生通知CPU消息已到达的中断。裸片204上的CPU装置读取消息且执行由发信号命令请求的睡眠功能,从而完成由运行于位于裸片212上的CPU装置上的OS起始的请求的睡眠操作。
[0034]图3图示根据一些实施方案的实施分区多跳网络301的另一实例处理系统300的平面图。在这个实例中,分区多跳网络301实施包括裸片内链路连同裸片间链路的组合的链路分区。如所图示,处理系统300包括安置于内插板302的表面处的水平堆叠的裸片304、305、306和307。各个裸片实施多个装置,诸如裸片304处的装置308、309和310,裸片305处的装置311、312和313,裸片306处的装置314、315和316和裸片307处的装置317、318和319。这些装置可以包含(但不限于)0?16?105?、存储器控制器、输入/输出控制器、存储装置等等。
[0035]分区多跳网络301的路由器分区被实施为分别位于裸片304、305、306和307处的路由逻辑320、321、322和323。用于分区多跳网络301的链路分区包含多个装置间链路(诸如装置间链路330、331、332和333),所述装置间链路使所描绘的环形网络拓扑中的路由逻辑320至323互连且部分由内插板302的多种金属层实施。分区多跳网络301的链路分区还包含多个装置内通信链路,其将给定裸片上的个别装置连接至那个裸片上的本地路由逻辑。例如,装置内链路634、635和636将路由逻辑320分别连接至装置308至310。这些装置内链路被实施为裸片的多种金属层中的导电互连结构。
[0036]实例处理系统300图示相同分区通信网络中的两个不同网络拓扑的使用。裸片内通信经由轴辐式网络拓扑(或点对点拓扑)完成,借此路由逻辑用作裸片上的装置之间和裸片的装置与其它裸片上的装置之间路由的所有消息的集线器。相比之下,裸片间通信经由环形拓扑完成,借此路由逻辑320至323的各者经由链路330至333以环形方式连接至其邻近裸片。
[0037]以下实例消息流量图示处理系统300中的混合裸片间/裸片内分区多跳网络的使用。为了这个实例,裸片304上的装置308至310和裸片306上的装置314至316实施具有关联存储器高速缓存的处理器核心(且因此在本文中还称作处理器核心308至310和314至316)。处理器核心实施高速缓存管理功能,其用于维持具有多个高速缓存的多个处理器系统中的高速缓存相关性和一致性。此类高速缓存管理特征的实例包含修改驻留于另一 CPU的高速缓存中的特定高速缓存区块的状态的网络消息
[0038]在操作过程中,过程已确定裸片305上的处理器核心313的高速缓存中的特定线需要无效以维持存储器的一致性视图。高速缓存线无效请求包含关联的高速缓存管理命令(“无效”)连同将为无效的关联的存储器地址。这个信息包括将从处理器核心309传输至处理器核心313的信息数据包。
[0039]在产生无效请求中,处理器核心309产生无效请求数据包连同目的地节点的指示且将无效请求数据包置于对应于链路335的输出缓冲器中。链路335实施于裸片304的多种金属层中且连接至裸片上路由逻辑320。本地路由逻辑320检验数据包标头且提取目的地节点。接下来路由逻辑320执行表查找以确定至处理器核心313的路线中的下一个节点。在这个实例中,路径中的下一个节点是裸片305上的路由逻辑321。裸片304上的路由逻辑320使得无效请求数据包置于对应于链路331的输出缓冲器中。接着裸片304上的接口逻辑通过操纵连接至包括链路331的导体的物理接口(PHY)发出数据包,以将代表高速缓存线无效请求的信号传输至裸片305。
[0040]裸片305上的PHY接收信号且缓冲由信号表示的无效请求信息。路由逻辑321检验缓冲的数据包标头且提取目的地节点且执行其路由表中的查找。作为表查找的结果,路由逻辑321确定目的地节点,处理器核心313是本地装置。相应地,路由器经由装置内链路336将高速缓存线无效数据包置于处理器核心313可用的缓冲器中。处理器核心313上的逻辑读取消息且执行由发信号命令请求的高速缓存线无效功能,从而完成由位于裸片304上的处理器核心装置309起始的请求操作。
[0041]图4图示根据一些实施方案的如实施于图1至图3的实例处理系统中的路由逻辑的实例实施。在所描绘的实例中,路由逻辑400包括输入缓冲器401、纵横开关402、输出缓冲器403、控制逻辑404、一个或多个路由表406和配置区块408。输入缓冲器401耦接至一个或多个输入端口 410。各个输入端口 410耦接至对应的装置间或装置内链路且输入缓冲器401被配置来缓冲经由对应装置间链路接收的消息数据。同样地,输出缓冲器403连接至一个或多个输出端口 412。各个输出端口 412耦接至对应的装置间或装置内链路且输出缓冲器403被配置来缓冲针对对应
链路从纵横开关402接收的消息数据。纵横开关402包含多路复用器,其基于由控制逻辑404提供的控制信号切换从输入端口 410流动至输出端口 412的数据包。控制逻辑404使用由配置区块408指定的配置参数和一个或多个路由表406中表示的路由信息以控制纵横开关402来实行输入消息数据从输入端口至输出端口的特定路由。控制逻辑404检验传入消息标头、一个或多个路由表406中执行查找以确定下一跳且控制纵横开关以将数据转发至适当输出端口 412。控制逻辑404还管理虚拟信道、实施每配置区块408的配置信息的仲裁和滤波且以别的方式实施一个或多个路由协议的组分。
[0042]在一些实施方案中,路由表406为通过路由逻辑400的数据包提供路由信息。为了图示,路由表406可以被实施为多个表条目420,各个表条目420与对应目的地节点地址关联且包含:索引字段422,其表示目的地节点地址;和下一个节点字段424,其根据源节点与目的地节点之间设置的路由路径指定下一个节点的地址的地址。表条目420还可以包含由控制逻辑使用的其它字段,诸如替代路线、路径长度、链路错误状态等等。下一个节点字段424可以是多跳路线的下一个节点或连接至本地节点的端口(如果本地节点是最终目的地)的地址。在一些实施方案中,可以预设或以别的方式固定表420的表条目420以实施固定路由方案。为了图示,表420可以实施于ROM中或被实施为硬编码逻辑。
[0043]在其它实施方案中,表420可以被写入或以别的方式被编程以实施变化路线或实现裸片或网络拓扑的不同数量或布置的重新配置。为了图示,在可编程实施中,表420可以实施于各种可配置存储元素(诸如寄存器文件、RAM或闪存等等)的任何一种中。这些可配置元素和可写入表条目可以由许多元素管理,所述元素包含操作系统、管理程序、基本输入/输出系统(B1S)、固件或其组合。举例而言,在系统启动期间,操作系统可以写入可配置元素以完成由已知、固定拓扑要求的所要求路线。在其它情景中,可能预先不知道分区网络的拓扑,其中变化数量的路由器和连接在物理系统的不同版本与实施之间改变。在这种情况下,系统固体或B1S可以检验路由器和互连拓扑以发现实施的网络拓扑。如此做之后,接着系统B1S或固件在各个路由器中写入可配置元素和表以完成所要求的网络路由。在一些情景中,可以动态地改变路由配置而非一旦系统启动进行配置。响应于给定链路上的错误的检测或给定路由器中的硬件故障,操作系统、管理程序或系统B1S可以重新写入路由器的可配置元素以绕过此类故障路由。操作系统或管理程序还可以重新配置路由器以实施服务质量策略,诸如网络和存储器带宽保证。
[0044]虽然图4图示实施,借此一个或多个路由表406用于指定将由多跳网络的路由器分区实施的路由路径,但在其它实施中,路由器分区可以使用硬接线逻辑以指定在制造时知道和固定的网络拓扑的路由路径。
[0045]图5图示根据一些实施方案的在利用分区多跳网络的处理系统中执行多跳数据包路由的实例方法500的流程图。为了便于图示,方法500描述于图4中所示的路由逻辑400的背景下。
[0046]在方块502处,裸片(“源裸片”)处的装置通过产生包含消息数据和与目的地装置或目的地裸片的一者或两者关联的目的地地址的数据包而起始消息数据至另一裸片(“目的地裸片”)上的目的地装置的传输。如果源裸片只包含多跳网络的单个链路,那么在默认情况下数据包被供应用于传输至这个单个链路。另外,如果源裸片具有多跳网络的一个以上链路,那么在方块504处,源裸片的路由逻辑400处的控制逻辑404检验数据包标头且在表406中执行查找以确定路由路径中的下一跳且因此确定连接至通向下一跳的链路的输出端口 412。在方块506处,控制逻辑404控制纵横开关402以将数据包路由至确定的输出端口 412,于是数据包经由对应链路传输至下一跳。
[0047]在方块508处,识别为下一跳的裸片接收数据包且通过检验数据包的目的地地址确定其是否为最终目的地。如果尚未到达最终目的地,那么接收裸片处的路由逻辑400执行方块504、506和508的过程以确定路由路径中的下一跳且相应地将数据包路由至确定的下一跳。重复方块504至508的过程直至数据包到达最终目的地。当已到达最终目的地时,在方块510处,控制逻辑404控制纵横开关402以将数据包导向至用于本地数据包流量(即,用于旨在本地裸片的装置的数据包)的输出端口 412,于是数据包从输出缓冲器403卸载且在目的地装置处处理。
[0048]在一些实施方案中,上文描述的设备和技术实施于包括一个或多个集成电路(IC)装置(还称作集成电路封装或微芯片)(诸如图1至图3的IC装置)的系统中。电子设计自动化(EDA)和计算机辅助设计(CAD)软件工具可以在这些IC装置的设计和制造中使用。这些设计工具通常表示为一个或多个软件程序。一个或多个软件程序包括代码,其可由计算机系统执行以操纵计算机系统来对代表一个或多个IC装置的电路的代码操作,以便执行过程的至少一部分以设计或调适制造系统来制造电路。这个代码可以包含指令、数据或指令和数据的组合。表示设计工具或制造工具的软件指令通常存储于可由计算系统访问的计算机可读存储介质中。同样地,代表IC装置的设计或制造的一个或多个阶段的代码可以存储于相同计算机可读存储介质或不同计算机可读存储介质中且从上述访问。
[0049]计算机可读存储介质可以包含任何存储介质或存储介质的组合,所述存储介质在使用期间可由计算机系统访问以将指令和/或数据提供至计算机系统。此类存储介质可以包含(但不限于)光学介质(例如,光盘(CD)、数字多功能光盘(DVD)、蓝光光盘)、磁介质(例如,软盘,磁带或磁硬盘驱动器)、易失性存储器(例如,随机访问存储器(RAM)或高速缓存)、非易失性存储器(例如,只读存储器(ROM)或闪存)或基于微机电系统(MEMS)的存储介质。计算机可读存储介质可以体现于计算系统(例如,系统RAM或ROM)中、固定地附接至计算系统(例如,磁硬盘驱动器)、可卸除地附接至计算系统(例如,光盘或基于通用串行总线(USB)的闪存)或经由有线或无线网络耦接至计算机系统(例如,网络可访问存储器(NAS))ο
[0050]图6是图示用于实施一个或多个实施方案的IC装置的设计和制造的实例方法600的流程图。如上所述,为以下过程的各者产生的代码被存储或以别的方式体现于计算机可读存储介质中以由对应设计工具或制造工具访问和使用。
[0051]在方块602处,产生IC装置的功能规格。功能规格(经常称作微架构规格(MAS))可以由包含C、C++、SystemC, Simulink或MATLAB的各种编程语言或建模语言的任何一种表不。
[0052]在方块604处,功能规格用于产生代表IC装置的硬件的硬件描述代码。在一些实施方案中,使用至少一个硬件描述语言(HDL)表示硬件描述代码,所述语言包括用于IC装置的电路的形式化描述和设计的各种计算机语言、规格语言或建模语言的任何一种。产生的HDL代码通常表示IC装置的电路的操作、电路的设计和组织且测试以通过模拟验证IC装置的正确操作。HDL 的实例包含 Analog HDL(AHDL)、Verilog HDL、SystemVerilog HDL和VHDL。对于实施同步数字电路的IC装置,硬件描述符代码可以包含提供同步数字电路的操作的抽象表示的寄存器传送级(RTL)代码。对于其它类型的电路,硬件描述符代码可以包含提供电路操作的抽象表示的行为级代码。由硬件描述代码表示的HDL模型通常受到一轮或多轮模拟和调试以通过设计验证。
[0053]在验证由硬件描述代码表示的设计之后,在方块606处,综合工具用于综合硬件描述代码以产生表示或定义IC装置的电路的最初物理实施的代码。在一些实施方案中,综合工具产生一个或多个网表,所述网表包括电路装置实例(例如,门、晶体管、电阻器、电容器、电感器、二极管等等)和电路装置实例之间的网络或连接。或者,可以在不使用综合工具下手动产生网表的所有或一部分。关于硬件描述代码,网表可以在产生最后一组一个或多个网表之前受到一个或多个测试和验证过程。
[0054]或者,原理图编辑器工具可以用于绘制IC装置的电路的原理图且接着原理图捕捉工具可
以用于捕捉所得电路图且产生表示电路图的组件和连接性的一个或多个网表(存储于计算机可读介质上)。接着捕捉的电路图可以受到一轮或多轮模拟以用来测试和验证。
[0055]在方块608处,一个或多个EDA工具使用方块606处产生的网表以产生表示IC装置的电路的物理布局的代码。这个过程可以包含(例如)放置工具使用网表以确定或固定IC装置的电路的各个元件的位置。进一步来说,布线工具建构于放置过程以根据(若干)网表添加和布线安排连接电路元件所需的导线。所得代码表示IC装置的三维模型。代码可以数据库文件格式(诸如,例如,图形数据库系统II(GDSII)格式)表示。用这个格式的数据通常表示关于呈分层形式的电路布局的几何形状、文本标签和其它信息。
[0056]在方块610处,物理布局代码(例如,⑶SII代码)提供至制造设施,其使用物理布局代码以配置或以别的方式调适制造设施的制造工具(例如,通过掩膜作品)来制造IC装置。即,物理布局代码可以被编程为一个或多个计算机系统,接着其可整体或部分控制制造设施的工具的操作或执行于其中的制造操作。
[0057]应注意,并不要求上文一般描述中所描述的所有活动或元件,可能并不要求特定活动或装置的一部分且可以执行一个或多个进一步活动或包含除了所描述的元件之外的元件。仍进一步来说,活动所列的顺序并不一定是其所执行的顺序。
[0058]同样,已参考特定实施方案描述概念。但是,本领域的一般技术人员明白可以在不脱离以下权利要求书中提出的本公开的范畴下作出多种修改和改变。相应地,将以说明性而非限制性意义考虑说明书和图,且所有此类修改旨在包含于本公开的范畴内。
[0059]上文已关于特定实施方案描述益处、其它优点和问题的解决方案。但是,可以使得任何益处、优点或解决方案发生或变得更明显的益处、优点、问题的解决方案和(若干)任何特征并不视为任何或所有权利要求的重要、所需或本质特征。
【主权项】
1.一种电子总成(100),其包括: 内插板(102); 多个裸片(104、105、106、107),其安置于所述内插板的表面处且经由所述内插板的一个或多个金属层连接;和 多跳网络(101),其在所述多个裸片之间路由数据包,所述多跳网络包括路由器分区和链路分区,所述路由分区包括安置于所述多个裸片的至少一个子集的各个裸片处的路由逻辑(124、125、126、127)且所述链路分区包括所述内插板的所述一个或多个金属层。2.根据权利要求1所述的电子总成,其中所述多个裸片包括垂直堆叠裸片集(111、112,113)。3.根据权利要求2所述的电子总成,其中: 所述垂直堆叠裸片集包含所述子集的第一裸片(111); 所述链路分区还包含用于所述垂直堆叠裸片集的裸片上互连件(222);且 所述第一裸片的所述路由逻辑还使用所述裸片上互连件在所述垂直堆叠裸片集的装置之间路由数据包。4.根据权利要求3所述的电子总成,其中所述裸片上互连件包含使所述垂直堆叠集的多个裸片互连的硅通孔(TSV)。5.根据权利要求3所述的电子总成,其中: 所述垂直堆叠集的至少一裸片(107)安置于所述第一裸片与所述内插板的所述表面之间;且 所述链路分区包括将所述第一裸片连接至所述内插板的所述垂直堆叠集的一个或多个硅通孔(TSV)。6.根据权利要求2所述的电子总成,其中所述垂直堆叠裸片集包含所述子集的第一裸片和所述子集的第二裸片,所述第一裸片实施所述路由逻辑的第一部分且所述第二裸片实施所述路由逻辑的第二部分。7.根据权利要求1所述的电子总成,其中所述多个裸片包含第一裸片(205)和第二裸片(207),所述第一裸片包含于所述子集中且实施路由逻辑(212)且所述第二裸片缺少所述路由逻辑,所述第一裸片和第二裸片经由包括所述内插板的一个或多个金属层的接线的点对点链路(219)耦接。8.一种电子总成(100),其包括: 内插板(102); 第一、第二和第三裸片(204、205、206),其安置于所述内插板的表面处,其中所述第一裸片和所述第二裸片经由包括所述内插板的一个或多个金属层的第一链路集(216)连接且所述第二裸片和所述第三裸片经由包括所述内插板的更多金属层的第二链路集(217)连接;且 所述第二裸片包括路由逻辑(212),以经由所述第一链路集和所述第二链路集在所述第一裸片与第三裸片之间路由数据包。9.根据权利要求8所述的电子总成,其还包括: 第四裸片(207),其安置于所述内插板的所述表面处,其中所述第三裸片和所述第四裸片经由第三链路集(218)连接,且 所述第三裸片包括路由逻辑(214),以经由所述第二链路集和所述第三链路集在所述第一裸片、所述第二裸片与所述第四裸片之间路由数据包。10.根据权利要求8所述的电子总成,其还包括: 第四裸片(207),其安置于所述内插板的所述表面处,其中所述第二裸片和所述第四裸片经由第三链路集(219)连接,且 其中所述第二裸片的所述路由逻辑经由所述第一、第二和第三链路集在所述第一裸片、所述第三裸片与所述第四裸片之间路由数据包。11.根据权利要求8所述的电子总成,其还包括垂直堆叠裸片集(208),所述垂直堆叠集包含所述第二裸片。12.根据权利要求11所述的电子总成,其中所述第二裸片的所述路由逻辑还经由所述第一链路集、所述第二链路集与所述垂直堆叠裸片集的裸片上链路和硅通孔(222)在所述第一裸片、所述第三裸片和所述垂直堆叠裸片集的所述裸片之间路由数据包。13.根据权利要求12所述的电子总成,其中所述第二裸片的所述路由逻辑还经由所述垂直堆叠裸片集的所述裸片上链路和硅通孔在所述垂直堆叠裸片集的至少一个裸片的电路组件之间路由数据包。14.一种方法,其包括: 经由第一链路(216)将第一数据包从多个裸片(204、205、206)的第一裸片(204)传输至所述多个裸片的第二裸片(205),所述多个裸片经由内插板(202)的金属层连接于多跳网络(201)中且所述第一链路实施所述内插板的一个或多个金属层; 使用所述第二裸片的路由逻辑(212)确定第三裸片(206)作为用于所述第一数据包的路由路径中的下一跳;且 经由第二链路(217)将所述第一数据包从所述第二裸片传输至所述第三裸片,所述第二链路实施所述内插板的一个或多个金属层。15.根据权利要求14所述的方法,其中: 所述第二裸片是垂直堆叠裸片集(107、111、112、113)的多个裸片中的一个;且 所述方法还包括: 经由包括所述垂直堆叠裸片集的硅通孔(222)的第三链路在所述第二裸片的路由逻辑处从所述垂直堆叠裸片集的另一裸片接收第二数据包; 使用所述第二裸片的所述路由逻辑确定第四裸片(207)作为用于所述第二数据包的路由路径中的下一跳;且 经由第四链路(219)将所述第二数据包从所述第二裸片传输至所述第四裸片,所述第四链路实施所述内插板的一个或多个金属层。
【专利摘要】一种电子总成(100)包含安置于内插板(102)处的水平堆叠裸片(104、105、106、107),且还可以包含垂直堆叠裸片(107、111、112、113)。所述堆叠裸片经由被分区为链路分区和路由器分区的多跳通信网络(101)互连。针对水平堆叠裸片,所述链路分区至少部分实施于所述内插板的金属层中。所述链路分区还可以部分由单个裸片中的裸片内互连件(334、335)且由连接垂直堆叠裸片集的裸片间互连件(222)实施。所述路由器分区实施于所述内插板处安置的所述裸片的一些或所有处且包括支持经由所述链路分区的所述互连件在所述处理系统(100)的组件之间路由数据包的功能的逻辑(402、404、406、408)。所述路由器分区可以实施固定路由或替代地可以使用可编程路由表(406)或可配置逻辑区块来被配置。
【IPC分类】H01L23/12
【公开号】CN104885212
【申请号】CN201380066498
【发明人】M·S·托特汤蒂, G·H·洛
【申请人】先进微装置公司
【公开日】2015年9月2日
【申请日】2013年12月18日
【公告号】EP2936554A1, US9065722, US20140177626, US20150357306, WO2014100090A1