3D堆叠装置的制作方法

文档序号:19293618发布日期:2019-12-03 17:28阅读:223来源:国知局
3D堆叠装置的制作方法

本公开总体涉及在包含多个芯片的3d堆叠装置中提供冗余。



背景技术:

现场可编程门阵列(fpgas)可以被封装成2.5d的封装,其中fpgas被设置在一个共同的衬底或中介层(interposer)上。也就是说,将fpgas以并排方式结合到中介层的相同表面上。中介层通常是无源的(例如,不包括诸如晶体管之类的有源组件)包括用于使fpgas彼此耦接的数据路径。此外,所述封装可能包括一个额外或冗余的fpga来改善良品率(yield)。这是因为,由于生产缺陷,其中一个fgpas可能无功能的。因此,所述封装可能包括4个fpga,但宣传的是具有一个冗余的fpga的3-fpga系统,。只要封装中的一个fpga有缺陷(直到fpga被安装在中介层上并被测试之前无法确定),所述封装可以作为3-fpga系统出售。如果测试后发现多个fpgas有缺陷,则所述封装可能被丢弃或作为不同的系统出售。



技术实现要素:

本公开描述了用于配置3d堆叠装置以提供至少一个冗余逻辑层的技术。一个示例是3d堆叠装置,其包括彼此垂直堆叠的多个半导体芯片,其中多个芯片中的每一个被逻辑地划分为相同数量的部分,并且其中同一芯片中的每个部分通过芯片间桥接与相邻部分隔开。列中的多个芯片中的每个芯片的相应部分被分组在一起以形成第一条带,其中第一条带中的相应部分包括去激活部分和第一激活部分。与第一条带邻接的至少一个芯片间桥接被配置为将数据从相邻条带中的第二激活部分路由到第一条带中的第一激活部分,其中第二激活部分与去激活部分在同一芯片中,但在与所述第一激活部分不同的芯片中。

该示例可以具有以下特征中的一个或多个:

所述相邻条带包括不同的去激活部分,其中与所述相邻条带邻接的至少一个芯片间桥接被配置为围绕所述不同的去激活部分路由数据,并且其中所述第一条带和所述相邻条带最多只有一个去激活部分。

所述第一条带中的所述相应部分具有相同的电路。

所述第一条带中的所述相应部分具有与所述相邻条带中的所述部分相同的电路。

所述第一条带中的所述相应部分具有与所述相邻条带中的所述部分不同的电路,其中所述相邻条带中的所述部分具有相同的电路。

所述芯片间桥接中的每一个均包括到相邻芯片的通孔。

所述多个芯片包括至少三个芯片,其中所述多个芯片的中部芯片中的芯片间桥接包括到上部芯片的第一连接、到下部芯片的第二连接以及将所述中部芯片内的相邻部分耦接在一起的第三连接,其中所述中部芯片中的所述芯片间桥接被配置成使得所述第一连接、第二连接和第三连接中只有一个连接可操作用于在所述3d堆叠装置的工作期间传输数据。

所述中部芯片中的所述芯片间桥接包括用于驱动所述第一连接的第一驱动器、用于驱动所述第二连接的第二驱动器以及设置在所述第三连接上的多路复用器,其中在所述中部芯片中的所述芯片间桥接被配置为在运行时,数据仅流经所述第一驱动器和所述第二驱动器中的一个。

其特征在于,所述中部芯片被配置为使得在运行期间,从所述下部芯片和所述上部芯片中的一个接收的数据通过所述多路复用器流到所述中部芯片内的相邻部分中的一个。

本公开还描述了一个示例是用于配置3d堆叠装置的方法,所述3d堆叠装置包括彼此垂直堆叠的多个半导体芯片。所述方法包括测试多个芯片中的每个芯片中的多个部分,其中多个芯片在逻辑上被划分为相同数量的部分,并且其中同一芯片中的每个所述部分通过芯片间桥接与相邻部分分离。所述方法包括识别第一条带中的至少一个非功能部分,其中第一条带包括列中的多个芯片中的每个芯片的相应部分,其中条带除了非功能部分之外还包括第一激活部分。所述方法还包括配置与第一条带邻接的至少一个芯片间桥接,以将数据从相邻条带中的第二激活部分路由至所述第一条带中的所述第一激活部分,其中所述第二激活部分与所述非功能部分在所述同一芯片中,但是在与所述第一个激活部分不同的芯片中。

附图说明

因此,通过参考示例性实施方式获得对以上简要概述的更具体的描述,并详细地理解上述特征,其中一些实施方式在附图中示出。然而,应当注意,附图仅示出了典型的示例性实施方式,并不应视为对其范围的限制。

图1是根据一个实施例的具有冗余层的3d堆叠装置。

图2是根据一个实施例的具有冗余层的3d堆叠装置。

图3是根据一个实施例的具有冗余层的3d堆叠装置。

图4a和4b是根据一个实施例的用于避免3d堆叠装置的芯片中的无功能部分的芯片间桥接。

图5是根据一个实施例的图4b中所示的装置的逻辑视图。

图6是根据一个实施例的芯片间桥接中的电路。

图7是根据一个实施例的用于形成具有冗余层的3d堆叠装置的流程图。

图8是根据一个实施例的用于配置3d堆叠装置的芯片中的芯片间桥接的流程图。

为了便于理解,在可能的情况下,使用相同的附图标记来表示附图中共有的相同元件。可以预见将一个实施例的元件并入其他实施例中。

具体实施方式

在下文中参考附图描述的各种特征。应当注意,附图可以按或可以不按比例绘制,并且在所有附图中相似结构或功能的元件由相同的附图标记表示。应注意,附图仅旨在便于描述特征。它们不是对说明书的详尽描述或对权利要求范围的限制。另外,图示的示例不需要具有所示的所有方面或优点。结合特定示例描述的方面或优点不必限于所述示例,并且即使未如此示出,或者如果没有如此明确地描述,也可以在任何其他示例中被实践。

本文的示例描述了用于形成包括冗余逻辑层的3d堆叠装置的技术。3d堆叠装置包括沿垂直方向堆叠的多个半导体芯片,使得在堆叠中每个芯片在上方、下方或上方和下方处结合到芯片。在一个实施例中,每个芯片是相同的——例如,都具有在所述芯片中以相同构造设置的相同电路。所述芯片可以是fpga、存储器装置(例如,dram或sram芯片)、处理器、加速器、片上系统(soc)等。

在一个实施例中,所述3d堆叠装置通过将芯片分成多个条带来提供冗余逻辑层,这些条带通过芯片间桥接互连。例如,所述3d堆叠装置可以包括三个堆叠的芯片,其被分成三个不同的条带,其中每个条带包括每个所述芯片中的一部分。只要条带中只有一个部分有缺陷(无功能)的,所述芯片间桥接允许所述条带中的所述其他部分接收和路由数据。在这种冗余方案中,多个芯片可能存在缺陷,但仍具有两个逻辑层,这两个逻辑层相当于堆栈中的两个有功能芯片。换句话说,尽管堆栈中的三个芯片中有多个可能无功能部分,但只要这些部分位于不同的切片中,芯片间桥接就可以将这些芯片耦合在一起,从而使得3d堆栈从外部应用看来具有两个完全功能的芯片。

这里描述的3d堆叠装置具有优于2.5d封装的若干优点,因为它不需要中介层(无论是去激活的还是激活的)并且避免了当从一个裸片穿过下一个裸片时的显著延迟损失。此外,与3d堆叠装置相比,2.5d封装可能需要用户对其设计进行分区,因为2.5d封装具有相对较少的裸片间连接。

图1是根据一个实施例的具有冗余层的3d堆叠装置100。在所述示例中,装置100是包括三个分别的相同半导体芯片105。也就是说,芯片105可以是相同的fpga、存储器装置、处理器、soc等中的三个。尽管示出了三个芯片105,但是装置100可以具有两个、四个、五个或六个芯片。为清楚起见,芯片105被显示为分开的,但是在操作中被连接在一起以在芯片105之间建立物理连接和通信路径。例如,焊接点或其他的通信方式可以用来使芯片105进行通信。此外,芯片105可能被封装在一种保护材料中,例如环氧树脂中,以便在封装时提供进一步的结构支撑和保护。

每个芯片105被分成四个部分110。图1中所示的部分110是芯片的逻辑划分而不是物理划分。然后根据它们所在的列(column)将部分110分组成相应的条带115。例如,芯片105a中的部分110a、芯片105b中的部分110e和芯片105c中的部分110i形成条带115a。芯片105a中的部分110b、芯片105b中的部分110f和芯片105c中的部分110j形成条带115b,以此类推。因为芯片105是相同的芯片,所以每个条带115中的每个部分110中的电路及其设置是相同的。也就是说,所述部分110a110e和110i包括相同的电路和设置,所述部分110b、110f和110j包括相同的电路和设置,等等。这样,同一个条带115中的所述部分110可以执行相同的功能,因此可以被认为是冗余部分。

在一个实施例中,所有芯片105中的每个部分110都是相同的。也就是说,部分110a-110l可以包括相同的电路和设置。例如,如果芯片105是fpga,则部分110可以包括在每个芯片105中重复四次的电路。在另一个示例中,每个部分110可能均包含处理器、相同的可编程逻辑集或相同数量的存储器单元(memorycells)。在本实施例中,所述条带115彼此相同。

所述部分110和所述条带115之间的划分可以基于任何数量的逻辑边界,例如两个时钟域(clockdomain)之间的边界、两个电压域之间的边界、两个不同类型的电路或逻辑块之间的边界等。虽然这里未示出,但芯片105包括设置在芯片105中的每个部分110之间的边界处的芯片间桥接,芯片间桥接使得这些部分能够与相同芯片105中的相邻部分110或相邻芯片105中的部分通信。

图1中的散列(hashing)示出了芯片105的部分110,其是去激活的(deactivated)或无功能的。在所述示例中,在操作期间,在使用部分110a、110b、110c、110f、110h、110i、110k和110l时不使用部分110d、110e、110g和110j。所述去激活部分110可以是去激活的,因为它们是无功能的(例如,由于制造缺陷)或者因为它们是冗余的。例如,部分110d可包括导致其无功能的制造缺陷;然而,部分110e、110g和110j可能是有能性的却由于它们是冗余的而是去激活的。也就是说,虽然3d堆叠装置100包含三个芯片105,但如果其中任何一个芯片105包含一个无功能部分110,那么3d堆叠装置100的表现就好像它包含两个功能芯片105一样。换句话说,虽然3d堆叠装置100包含3个芯片105,但它可能被宣传为至少有两个功能芯片105和一个冗余芯片105。如果在测试期间,所有芯片105中的所有部分110都是有功能的,那么所有部分110都可能是激活的。

为简单起见,假设图1中的去激活部分110包括使这些部分无功能的制造缺陷。例如,在芯片105接合在一起之后,测试所述芯片105表明所述部分110d、110e、110g和110j是无功能的。因此,与仅在单个芯片具有故障(error)时实现n+1冗余的其他冗余方案不同,这里,两个或三个芯片105可以包括故障并且仍然用作两个全功能芯片。因为没有一个条带115具有多于一个的无功能或去激活部分,这意味着每个条带115具有两个功能或激活部分110。如下文详细描述的,每个条带115中的两个激活部分可以使用芯片间桥接互连,以使得装置100等效于具有两个全功能芯片的装置(例如,两个没有无功能或去激活部分的芯片)运行。也就是说,条带115a中的部分110a和110i可通信地连接到条带115b中的激活部分110b和110f,条带115b中的激活部分110b和110f又转而可通信地连接到条带115c中的激活部分110c和110k,等等。因为每个条带中的部分110是同质(homogeneous)的,所以三个部分110中的哪两个是激活的并不重要(只要它们是有功能的)。也就是说,从部分110f的角度来看,与部分110g(在同一芯片105b中)还是部分110k(在相邻芯片105c中)发送和接收数据无关紧要。因此,图1中的激活部分110可通信地耦接以执行与两个完全功能的芯片105相同的功能。

图2是根据一个实施例的具有冗余层的3d堆叠装置200。如上所述,3d堆叠装置200包括三个同质芯片205。然而,芯片205到部分(未标记)和到条带215的逻辑划分是不同的。也就是说,条带215具有不同尺寸的部分,而不是具有相同宽度(或相同尺寸的部分)的条带。类似于3d堆叠装置100,每个条带215中的部分可以是相同的(例如,相同的电路和设置),但条带215可以包括不同的部分。也就是说,各个条带中的部分110中的电路可以是不同的。例如,条带115a中的部分110a、110e和110i可以包括处理器和相关的存储器,而条带115b中的部分110b、110f和110j可以包括设置在一个或多个配置逻辑块中的可编程逻辑。在所述示例中,条带115a和115b是不同质的,尽管每个条带115内的相应部分110是同质的。此外,部分110和条带115之间的边界可以基于任何数量的逻辑边界,例如两个时钟域之间的边界、两个电压域之间的边界,两个不同类型的电路之间的边界等。

只要每个所述条带215中的仅仅一个部分是去激活的(如散列所示),3d堆叠装置200就可以起到与两个全功能芯片205相同的作用。芯片205能够被分成越来越小的条带215,这增加了每个条带包含至多一个无功能或去激活部分的机会。然而,形成额外的条带215可能受到用于划分条带215的合适边界的数量的限制,还受限于在这些边界处添加用于芯片间桥接的电路和结构所使用的空间。

图3是根据一个实施例的具有冗余层的3d堆叠装置300。图3示出了将装置300逻辑地划分为条带315的2d阵列320。也就是说,芯片305中的每一列和每一行都可以形成多个部分310,而不是图1和图2所示的列。也就是说,芯片305可以包括在芯片305上向两个方向延伸的合适边界,以便将芯片305划分为所述部分310。

然后,所述部分310可以形成条带315,其中每个条带315具有至多一个去激活部分310(如散列图所示)。所述部分310可以包括将所述部分310耦接到相同芯片或相邻芯片中的其相应相邻部分的芯片间桥接。例如,所述部分310a可以将芯片间桥接邻接到芯片305a中的东部和北部部分310以及芯片305b中的相应部分310。类似地,部分310b包括将其耦接到芯片305a中的北部、东部和南部部分310以及芯片305b中的相应部分310的芯片间桥接。

对于相同的芯片尺寸,3d堆叠装置300可以包括比所述3d堆叠装置100和200更多数量或密度的条带315,这可以增加每个条带315中至多只有一个部分是无功能的可能性。这样,所述3d堆叠装置300可以等当于两个全功能芯片305运行。

图4a和4b示出了根据一个实施例的用于避免3d堆叠装置400的芯片中的无功能部分的芯片间桥接450。图4a示出了3d堆叠装置400的侧视图或横截面图,其示出了每个部分410之间的各自的芯片间桥接450。具体地,图4a示出了3d堆叠装置400在确定哪个部分410是无功能性并因此应为去激活之前的状态。

双头虚线箭头表示可以由芯片间桥接450建立(facilitate)的通信路径,尽管最终可以仅选择那些路径中的一个。换句话说,所述芯片间桥接包括允许每个部分410与同一芯片中的相邻部分410和另一芯片405中的至少一个相邻部分通信的电路和导电路径(例如,迹线(trace)和通孔)。例如,部分410a和410b之间的芯片间桥接450允许部分410a与处于同一芯片405a中的部分410b以及不同芯片405b的部分410f的通信。所述相同的芯片间桥接450允许部分410b与芯片405b中的部分410a或部分410d的通信。部分410d和部分410f之间的芯片间桥接450允许部分410d与相同芯片405b中的部分410f、上部芯片(upperchip)405a中的部分410b或下部芯片(lowerchip)405c中的部分410h的通信。所述相同的芯片间桥接450允许部分410f与部分410d、上部芯片405a中的部分410a或下部芯片405g中的部分410g的通信。在所述实施例中,芯片间桥接450是双向的并且允许数据在两个方向上流动。

图4b示出了当3d堆叠设备400配置完毕并识别出部分410为无功能或去激活部分时,芯片间桥接450的状态。在图4b中,实心双头箭头表示芯片间桥接450所建立的实际通信路径,而不是图4a中虚线箭头所示的潜在通信路径。

在图4b中,如散列所示,部分410c、410d和410h为去激活的。例如,这些部分410可能具有影响其可操作性的制造缺陷。因为每个条带(即,所述示例中的每列)包括至多一个去激活部分410,所以3d堆叠装置的运行与两个全功能芯片405相同。

芯片间桥接450被配置为提供围绕去激活部分410的通信路径。例如,因为部分410d是去激活的,芯片间桥接450c和芯片间桥接450e允许芯片405c中的部分410g将数据传输到芯片405b中的部分410e,以及从芯片405b中的部分410e接收数据。这允许数据流避开去激活部分410d以及去激活部分410h。类似地,因为部分410c是去激活的,芯片间桥接450b和芯片间桥接450d将部分410b耦接到部分410f使它们可以传输数据。反过来,芯片间桥接450d和芯片间桥接450f将部分410e耦接到芯片405c中的部分410i,使得它们可以共享数据。因此,芯片间桥接450仅需要提供到下一个(或多个)相邻芯片的通信路径(而不是到设备400中可相隔两个芯片之外的芯片),以使激活部分410能够避开去激活部分410。此外,因为条带中的部分410是同质的,所以哪个部分连接到相邻部分并不重要。也就是说,当部分410a通过桥接450a通信地耦接到部分410b而不是部分410e时,部分410a中的电路的操作不受影响或不被改变。

除了由芯片间桥接450提供的通信路径之外,3d堆叠装置400还包括允许同一条带中的部分410进行通信的垂直通信路径415。也就是说,虽然芯片间桥接450允许一个条带中的部分与相邻条带中的部分(无论是在相同芯片上还是在不同芯片上)通信,但是垂直通信路径415允许相同条带中的部分410通信。在一个实施例中,垂直通信路径415不受去激活部分410的影响。例如,尽管部分410d在图4b中是去激活的,但是下部部分410g仍然可以使用垂直通信路径415与上部部分410a通信。例如,所述垂直通信路径415可以是延伸穿过所有部分410a、410d和410g的无源通孔。因此,通过通孔由部分410中的一个传输的数据到达另外两个部分410,而不管这些部分410中的是否有一个是去激活的。在另一示例中,所述部分410可包括单独的接收和驱动电路,用于使用垂直通信路径415来中继(relay)数据,当部分410是去激活的时,垂直通信路径415不受影响。例如,尽管部分410d是去激活的,但是部分410d中的路径415的驱动器和接收器电路仍然是可操作的,使得部分410a和410g可以使用垂直通信路径415进行通信。因此,不是所有的去激活部分410中的电路都不被使用。

图5是根据一个实施例的图4b中所示的装置的逻辑视图。也就是说,图5示出了通过部分410的数据流,而没有示出芯片中的部分410的位置。如图所示,部分410a使用芯片间桥接450a与部分410b通信,因为这些部分410在同一芯片上。然而,因为部分410g和部分410e在不同的物理芯片上,所以它们使用两个芯片间桥接(即,桥接450c和桥接450e)以便于通信。图5示出了部分410可以通过芯片间桥接450互连,以建立两个逻辑芯片,其功能与两个全功能物理芯片相同,其包括垂直通信路径415,用于允许相同条带中的部分410之间的通信。

图6示出了根据一个实施例的芯片间桥接450中的电路。具体地,图6示出了芯片间桥接450a、芯片间桥接450c和芯片间桥接450e中的电路,其使得能够实现图4a和4b中的左条带(或列与中间条带(或列))之间的通信。图6示出了用于将数据从左条带中的芯片405的部分410传输到中间条带中的芯片405中的部分410的电路。也就是说,图6示出了芯片间桥接450a中的电路,其允许部分410a将数据传输到部分410b或部分410e。在一个实施例中,芯片间桥接450a、芯片间桥接450c和芯片间桥接450e包括这里示出的电路的另一副本(copy),其允许中间条带中的每个部分410将数据传输到左条带中的部分410。例如,芯片间桥接450b可以包括相对于图6中的设置反转的电路,使得部分410e可以将数据传输到部分410a、部分410d或部分410g。

为简单起见,仅详细讨论了芯片间桥接450a中的电路,但是所述描述适用于其他芯片间桥接450。驱动器605a从部分410a中的电路(未示出)接收数据。然后将所述数据提供给驱动器605b、驱动器605c和多路复用器(mux)615a的输入。驱动器605b用于将数据路由到设置在芯片上方的芯片中的部分,所述芯片包含堆叠中的部分410a。然而,因为在所述示例中部分410a位于最顶部芯片405中,所以可以始终禁用驱动器605b(使用可以由配置寄存器控制的enable信号),使得数据不使用硅通孔(tsv)610a被传输到上部芯片。然而,在其他实施例中,在芯片上方可以存在包含部分410a的另一芯片,在这种情况下可以使用tsv610a。例如,i/o或存储器芯片可以设置在包含部分410的芯片405(可以是fpga)的顶部,其可以使用tsv610以在i/o或存储器芯片与由芯片405形成的fpga之间传输数据。

多路复用器615a的输出耦合到驱动器605d,驱动器605d又耦合到部分410b。使用select信号,多路复用器615a可以选择将哪些数据发送到部分410b。例如,参考图4b中的示例,芯片间桥接450a被配置为将数据从部分410a传输到部分410b。这样,select信号被选择以使得多路复用器615a的中间输入(其被耦接到驱动器605a)被输出到驱动器605d和部分410b中的电路。

驱动器605c的输出耦接到tsv610b,tsv610b在边界接口620a处将芯片405a可通信地耦接到芯片405b。虽然未示出,但是边界接口620可以包括焊料凸块(solderbump)或其他连接材料,其将芯片405a中的tsv耦接到芯片405b中的tsv。当部分410a准备将数据发送到部分410e时,enable信号激活驱动器605c,使得数据流过tsv610b并流到芯片间桥接450c中的多路复用器615b。然而,因为在所述示例中部分410a将数据发送到部分410b,所以enable信号禁用驱动器605b和驱动器605c。这样,在驱动器605a处接收的数据通过多路复用器615a和驱动器605d流入部分410b。在一个实施例中,enable和select信号是独立信号(即,不是共享信号),从而可以独立地控制耦接到这些信号的各种电路。

转到芯片间桥接450c和芯片间桥接450e的构造,因为在所述示例中部分410d是去激活的,所以驱动器605e不从部分410d接收数据。例如,可以禁用驱动器605e,使得从部分410d中的电路发送的任何数据不能到达其他部分410。或者,芯片405可包括电熔丝(e-fuse),所述电熔丝在测试之后可熔断以禁用所需部分。

如图4b所示,部分410g将数据发送到部分410e。这样,在芯片间桥接450e中的驱动器605i处接收的数据通过驱动器605j(其被启用)发送,数据通过tsv610c并且在芯片间桥接450c中的多路复用器615b处被接收。设置select信号,使得多路复用器615b将从芯片间桥接450e(和部分410g)接收的数据输出到驱动器605h,驱动器605h又将数据输出到部分410e。因此,芯片间桥接450c和芯片间桥接450e中的电路一起工作,使得数据可以在两个不同芯片405中的部分410之间传输。在所述示例中,部分410d和部分410h不通过芯片间桥接450c和桥接450e传输或接收数据。结果,这些芯片间桥接450c和450e中的一些电路可能是未被使用的,例如驱动器605e、驱动器605f、驱动器605g、驱动器605k和驱动器605l以及多路复用器615c。此外,也可以不使用tsv610d,但是在一些实施例中,tsv610d可用于将芯片405c可通信地耦接到下部衬底(substrate)(如果堆栈包括中介层(可选的)或i/o装置或存储器)。

尽管图6示出了单个tsv610,但是这些可以表示多个通孔或单个通孔。在一个实施例中,tsv610穿过相应的芯片405延伸以形成连续的导电材料片。在另一示例中,tsv610可以被分段,使得在tsv610之间存在有源(active)驱动器。在一个实施例中,芯片405可以包括不穿过芯片405延伸的用于互连芯片405和芯片间桥接450的通孔。

图7是根据一个实施例的用于形成具有冗余层的3d堆叠装置的方法700的流程图。在框705处,形成多个晶圆(wafer),每个晶圆包括多个芯片。例如,每个圆形晶圆可包括数十或数百个不同的芯片。

在框710处,晶圆以堆叠的方式结合在一起。也就是说,晶圆可以对准,使得顶部晶圆中的芯片与下一个晶圆中的相应芯片重叠并对齐,以此类推。例如,焊料凸块可用于将晶圆物理地和通信地耦接在一起,使得不同晶圆中的芯片可以通信。如上所述,这些焊料凸点或连接可以用作垂直通信路径415的一部分以及由芯片间桥接450使用以在不同芯片405中的部分之间建立通信的路径的一部分,如图4b所示。

在框715处,结合的晶圆被分离成多个3d堆叠装置。例如,结合的晶圆可以沿着晶圆中每个芯片之间的边界锯或切。这样做会产生多个3d堆叠装置,每个终止包括一列堆叠芯片,如图1-4b所示。如上所述,可以按逻辑将芯片分割成一个或多个条带。

在框720处,测试每个3d堆叠装置中的芯片以识别无功能部分。在一个实施例中,只要一个芯片包括无功能部分,每个条带的部分就被设定为去激活的。例如,如果仅部分是非功能性的,则所述系统仍然可以从其他条带中选择部分(其可以是有功能的并且通过测试)以使其去激活。在图8中讨论了选择条带中的哪个有功能部分并使其去激活。然而,在其他实施例中,可以仅使无功能部分去激活,这样使得一些条带可以仅包含激活部分。

在框725处,方法700确定是否存在包括多于一个无功能部分的条带。也就是说,在审查了测试结果之后,测试设备或工程师可以确定同一条带(可能在不同的芯片上)中的两个或多个部分是否是无功能的。如果是,则方法700进行到框730,其中3d堆叠装置被标记为不兼容。例如,可以保证或被宣传3d堆叠装置具有n+1冗余,其中每个条带包括额外部分,使得3d堆叠装置可以用作具有n个全功能芯片的3d堆叠装置。但是,如果具有n+1冗余的装置具有带有两个或更多无功能部分的条带,则所述装置不能像具有n个全功能芯片那样起作用。在一个实施例中,可以丢弃不兼容装置。但是,所述装置可以重新标记并作为不同的产品出售。例如,如果3d堆叠装置具有三个芯片,具有带有两个无功能部分但是每个条带具有至少一个功能部分,则可能(取决于无功能部分在条带中的位置)从各个部分形成一个功能芯片。因此,3d堆叠装置可以作为逻辑等效于一个全功能芯片的3d堆叠装置出售。在另一个示例中,四芯片3d堆叠装置可以在同一条带中具有两个缺陷部分。在这种情况下,四层装置可以作为两个逻辑分层装置或一个逻辑分层装置出售(取决于条带中的哪些部分是有缺陷的)。也就是说,相邻条带中的去激活或未使用部分可以允许四层装置具有两个逻辑层,但是在其他示例中,可能没有足够的到不同层的连接(例如,层之间的tsvs)以允许四层装置被配置为两个逻辑分层装置。在所述示例中,四层装置可以作为一个逻辑分层装置出售。

然而,如果没有一个条带包含两个或更多个无功能部分,则方法700进行到框735,其中芯片间桥接被配置为避开无功能的(和去激活)部分。例如,在芯片间桥接中使用电熔丝和/或驱动器,条带中的功能部分可以如图4b所示互连。以这种方式,条带中的剩余功能(即激活)部分可以互连以形成例如图5中所示的逻辑芯片。

图8是根据一个实施例的用于配置3d堆叠装置的芯片中的芯片间桥接的方法800的流程图。在一个实施例中,所述方法800在框725之后开始,其中已经测试了3d堆叠装置中的芯片,并且没有一个条带具有多于一个无功能部分。然而,因为并非所有的条带都可能包括无功能部分,所以在每个条带中的一部分都被去激活的实施例中,即使所述去激活部分是功能性的,所述方法800也可用于选择将条带中的哪一部分去激活的。

在框805处,选择3d堆叠芯片中的一个条带。在一个实施例中,方法800形成用于评估3d堆叠装置中的每个条带的循环,以确定将条带中的哪个部分去激活化。

在框810处,方法800使用测试数据确定当前正在评估的条带是否包含无功能部分。如果是,则方法800前进到框810,其中与所选择的条带邻接的芯片间桥接被配置为避开无功能部分。换句话说,如果条带包含无功能部分,则默认情况下,所述部分被选择去激活。

然后,方法800进行到框825,以确定3d堆叠装置中是否存在更多条带需要进行评估。如果是,则方法800选择不同的条带(先前未被评估的)并返回到框810,其中方法800再次确定当前选择的条带是否包含无功能部分。如果不是(即,条带中的所有部分都通过了一次测试或多次测试),则方法800前进到框815,其中方法800评估条带中的功能部分的性能参数。例如,当测试芯片时,测试程序可以确定芯片中各个部分的性能参数,例如功耗、数据吞吐量(datathroughout),信号噪声等。在框815处,可以对这些性能参数进行评估,以对条带中的各个部分进行排序或优先级排序。例如,加权算法可用于评估每个部分的各种性能参数,并为这些部分分配分数。可以使用分数对条带中的部分进行排序。然而,有许多不同的方法来评估性能参数以便对部分进行排序。

在框820处,与条带邻接的芯片间桥接被配置为避开具有最差性能的部分。也就是说,基于评估性能参数,选择所述条带中最差性能部分并使其去激活。例如,性能最差的部分可以是具有最低静态功率的部分。在一个实施例中,假设条带中的所有部分都是可操作的,所述方法800选择导致最小静态功率配置的层集。然后,所述芯片间桥接可以被配置为绕过条带中的去激活部分路由数据。

在框825处,方法800确定在3d堆叠装置中是否存在剩余的待评估的条带。如果不是,则方法800结束。

附图中的流程图和框图显示了根据本发明的各种示例的系统、方法和计算机程序产品的可能实现的体系结构、功能和操作。在这方面,流程图或框图中的每个框可以表示模块、段或指令的一部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代实施例中,框中标注的功能可能与图中标注的顺序不一致。例如,连续显示的两个块实际上可能是同时执行的,或者有时可能以相反的顺序执行,这取决于所涉及的功能。还应注意,框图和/或流程图中的每个框,以及方框图和/或流程图中的框的组合,都可以由执行指定功能或行为的专用硬件系统实现,或由专用硬件和计算机指令组合实现。

虽然前述内容针对特定实施例,但是可以在不脱离其基本范围的情况下设计其他和进一步的实施例,并且本公开的范围由所附权利要求确定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1