一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

多芯片堆叠装置的冗余方案的制作方法

2022-04-27 08:16:31 来源:中国专利 TAG:


1.本发明的示例总体上涉及包含堆叠芯片的多芯片堆叠装置中的冗余。


背景技术:

2.在一些多芯片装置中,现场可编程门阵列(fpga)的芯片可以被封装以形成一种封装,其中芯片被设置在公共基底或中介层(interposer)上。芯片可以以并排方式接合到中介层的同一表面。中介层通常是无源的(例如,不包括诸如晶体管之类的有源组件),并且包括用于将芯片彼此连接的数据路径。
3.由于制造的缺陷,要被结合到多芯片装置中的一个或多个芯片可能是无法正常工作的。在多芯片装置的前述示例中,在连接到中介层之前,可以识别和丢弃有缺陷的芯片。在多芯片堆叠装置的开发技术中,在某些情况下,即使识别出有缺陷的芯片,也可能会将缺陷芯片并入多芯片堆叠装置中,这会导致所制造的多芯片堆叠装置的成品率降低,因为多芯片堆叠装置中任何一个有缺陷的芯片都会使得这个多芯片堆叠装置变成有缺陷的。


技术实现要素:

4.本文描述的示例涉及多芯片堆叠装置中的冗余。多芯片装置可以根据所包括的器件规格进行制造,例如,多芯片装置的每个芯片可运行以满足所述器件规格。多芯片装置可以是可配置的,使得多芯片装置是根据另一器件规格可运行的,该另一器件规格例如是具有较少但常见的可运行芯片(或其部分)的器件规格。在这样的示例中,根据一种规格制造的有缺陷的多芯片装置可以根据不同的规格来恢复运行。进一步的示例描述了用于基于可以恢复有缺陷装置的能力来实现多芯片装置的技术。
5.本文描述的示例是多芯片装置。多芯片装置包括芯片堆叠,该芯片堆叠包括垂直堆叠的多个芯片。相邻的芯片对直接连接在一起。两个或更多个芯片中的每一个都包括处理集成电路。芯片堆叠可配置为当处理集成电路的任何部分有缺陷时,运行两个或更多个芯片的处理集成电路的功能子集。
6.这里描述的另一个示例是用于实现装置的方法。芯片堆叠被配置为在处理集成电路的任何部分有缺陷时运行多个处理集成电路的功能子集。芯片堆叠包括垂直堆叠的芯片。相邻的芯片对直接连接在一起。两个或更多个芯片中的每一个芯片包括相应的一个处理集成电路。
7.本文描述的另一个示例是多芯片装置。多芯片装置包括包含芯片的芯片堆叠。每个芯片包括集成电路。至少一个芯片包括集成电路,该集成电路包含可编程逻辑区域。芯片堆叠可配置为运行芯片堆叠的所有芯片的各个整体,并且可配置为运行少于芯片堆叠的所有芯片的整体。当芯片堆叠被配置为运行少于芯片堆叠的所有芯片的整体时,具有包括可编程逻辑区域的集成电路的至少一个芯片的可编程逻辑区域的至少一部分是可运行的。芯片堆叠可运行以加载和运行配置数据,并且所述配置数据是在芯片堆叠的一个或多个可编程逻辑区域上可运行的。芯片堆叠可配置为运行配置数据,而不管芯片堆叠被配置为运行
芯片的哪些部分。
8.本文描述的另一个示例是用于实现装置的方法。测试包括芯片的芯片堆叠的多芯片装置。每个芯片包括处理集成电路。多芯片装置是根据第一器件规格制造的。基于对多芯片装置的测试,确定多芯片装置是根据第一器件规格还是根据不同于第一器件规格的第二器件规格运行的。基于该确定,多芯片装置被编程为可根据第一器件规格和第二器件规格之一进行运行。
9.本文描述的再一个示例是用于实现装置的方法。根据第一规格制造多芯片堆叠装置。第一规格包括第一数量的芯片。第一数量的芯片包括至少一个包括具有可编程逻辑区域的集成电路的芯片。测试多芯片堆叠装置。多芯片堆叠装置被配置为可根据第一规格或第二规格运行。第二规格包括比第一数量的芯片少的第二数量的芯片。第二数量的芯片包括至少一个包括具有可编程逻辑区域的集成电路的芯片。
10.本文描述的进一步的示例是用于制造器件的方法。获得根据第一规格要实现的第一目标数量的多芯片装置和根据第二规格要实现的第二目标数量的多芯片装置。基于第一目标数量和根据第一规格的第一预期制造成品率确定要根据第一规格制造的多芯片装置的第一制造数量。确定根据第一规格制造的预期有缺陷的多芯片装置的恢复数量,这些器件是可恢复的、以至少部分地实现第二目标数量。基于第二目标数量减去回收数量并基于根据第二规格的第二预期制造成品率来确定要根据第二规格制造的多芯片装置的第二制造数量第一制造数量的多芯片装置是根据第一规格制造的。第二制造数量的多芯片装置是根据第二规格制造的。
11.本文描述的更进一步的示例是用于制造器件的方法。确定了根据不同规格要实现的多芯片装置的各自目标数量。迭代地进行直到满足每个目标数量:(i)确定要根据具有最高制造成本以及具有未满足的剩余目标数量的规格制造的多芯片装置的制造数量,以及(ii)确定根据规格制造的缺陷多芯片装置的相应预期可恢复数量,该数量可恢复以至少部分地实现和满足其他规格的多芯片装置的相应目标数量。根据按规格制造的未完成的、剩余的目标数量和预期的制造成品率来确定制造数量。各个制造数目的多芯片装置是根据这些规格制造的。
附图说明
12.为了可以详细理解以上列举的特征,可以通过参考示例实现方案来获得以上发明内容的更具体的描述,其中一些示例实现方案在附图中示出。然而,要注意的是,附图仅说明了典型的示例实施方式,因此不应被认为是对其范围的限制。
13.图1是根据一些示例的多芯片装置的结构;
14.图2是根据一些示例形成图1的多芯片装置的方法的流程图;
15.图3是根据一些示例停用多芯片装置中芯片的可编程逻辑区域的示意图;
16.图4是多个示例的多芯片装置规格的表示,其可以允许根据一些示例的恢复方案;
17.图5是根据一些示例停用多芯片装置的可编程逻辑区域的子区域的示意图;
18.图6是根据一些示例停用多芯片装置的可编程逻辑区域的子区域的示意图;
19.图7示出了根据一些示例在芯片上和在细长条之间的芯片间桥的电路示意图;
20.图8是根据一些示例用于实现多芯片装置的方法的流程图;
21.图9是根据一些示例用于实现多芯片装置的方法的流程图。
22.为了便于理解,在可能的情况下,使用了相同的附图标记来表示附图共有的相同元件。预期一个示例的单元可以有益地结合到其他示例中。
具体实施方式
23.下文参照附图描述各种特征。应当注意,附图可以或可以不按比例绘制,并且相似结构或功能的元件在所有附图中由相似的附图标记表示。应注意,附图仅旨在便于对特征的描述。它们不旨在作为详尽的描述或作为对权利要求的范围的限制。此外,图示的示例不需要具有所示的所有方面或优点。结合特定示例描述的方面或优点不一定限于该示例,并且可以在任何其他示例中实践,即使未如此说明或未如此明确描述。
24.此处描述的示例涉及多芯片堆叠装置中的冗余。多芯片装置可以包括堆叠芯片。多芯片装置可以根据器件规格制造,该器件规格包括例如多芯片装置的每个芯片可运行以满足器件规格。然而,作为制造的结果,多芯片装置的一个或多个芯片可能全部或部分有缺陷。多芯片装置可以是可配置的,使得多芯片装置是可以根据另一器件规格运行,例如根据具有更少但通用的可运行芯片(或其部分)的器件规格。在本文描述的一些示例中,具有缺陷部分的整个芯片可以通过配置多芯片装置而被停用。在一些示例中,有缺陷的各个部分可以被停用,而芯片的其他功能部分被配置为通过配置该多芯片装置而进行运行。在这样的示例中,可以恢复根据一种规格制造的有缺陷的多芯片装置以根据不同的规格进行运行。
25.一些示例描述了用于基于恢复缺陷装置的能力实现多芯片装置的技术。如所指出的,由于根据一种器件规格制造的一些多芯片装置可以恢复为根据另一种器件规格运行,所以恢复为可根据另一种器件规格运行的多芯片装置可以减少根据其他器件规格制造的多芯片装置的数量。因此,可以通过减少要根据其他器件规格制造的多芯片装置的数量来降低制造成本。
26.本文描述的各种示例是在具有可编程逻辑区域的多芯片装置的芯片的上下文中描述的,例如用于现场可编程门阵列(fpga)。这里描述的概念可以扩展到具有任何集成电路的多芯片装置的芯片。例如,当多个芯片具有处理器、存储器或任何其他电路时,甚至这些电路还可以是专用集成电路(asic),冗余可以被实现。如本文所用,“处理集成电路”是指包括能够、被配置为、和/或可配置来处理或运行数据的电路的集成电路,这不同于仅存储数据的存储器和任何辅助存储器的电路(例如,存储器控制器、地址解码器等)。除了能够、被配置成和/或可配置来处理或运行数据的电路之外,处理集成电路还可以包括存储器。处理集成电路的示例包括包含可编程逻辑区域(例如,fpga)、处理器(例如,中央处理单元(cpu)、图形处理单元(gpu)等)、asic等的集成电路,或它们的组合。
27.图1是根据一些示例的多芯片装置的结构。图1所示的多芯片装置是为了便于描述和理解这里描述的各种示例的方面。各种其他多芯片装置可以具有不同的结构、不同数量的芯片、其他组件等。
28.多芯片装置包括第一芯片102、第二芯片104、第三芯片106和第四芯片108。通常,芯片102-108堆叠形成多芯片装置中的芯片堆叠。在一些示例中,芯片102-108被堆叠以形成有源芯片上的有源芯片(aoa)器件。在一些示例中,例如下面描述的,更多或更少的芯片
可以包括在芯片堆叠中。例如,第二芯片104和/或第三芯片106中的一个或更多个可以被移除或添加到芯片堆叠中。
29.芯片102-108中的每一个包括半导体基底112和在相应半导体基底112正面上的正面介电层114。正面介电层114包括形成在其中的金属化(例如,金属线和/或通孔)(图示但未具体编号),其可以电连接集成电路中的各种组件。芯片102-106中的每一个包括在相应半导体基底112背面上的背面介电层116。背面介电层116包括形成在其中金属化结构(例如,金属线和/或通孔)(示出但未具体编号),其可以电连接集成电路中的各种组件。芯片102-108的每个半导体基底112包括例如被形成在相应半导体基底112的正面表面上和/或表面中的晶体管118。晶体管118和任何其他组件可以连接到正面介电层114中的金属化层。各个芯片102-106的每个半导体基底112都具有贯穿其中的背面基底通孔(tsv)120,其可以电连接正面介电层114中的金属化层到相应芯片102-106的背面介电层116中的金属化层。
30.正面焊盘122被形成在芯片102-108的相应正面介电层114中,在远离相应半导体基底112的外表面处。正面焊盘122连接到相应的正面介电层114的金属化层。背面焊盘124形成在芯片104、106的相应背面介电层116中,在远离相应半导体基底112的外表面处。背面焊盘124被连接到相应背面介电层116中的金属化层。
31.芯片102-108被接合(bond)在一起(例如,通过使用金属对金属和氧化物对氧化物接合的混合接合)。第一芯片102正面到正面地接合到第二芯片104,使得第一芯片102的正面焊盘122和正面介电层114的外表面接合到第二芯片104的正面焊盘122和正面介电层114的外表面。第二芯片104背面到正面地接合到第三芯片106,使得第二芯片104的背面焊盘124和背面介电层116的外表面接合到第三芯片106的正面焊盘122和正面介电层114的外表面。第三芯片106背面到正面地接合到第四芯片108以使得第三芯片106的背面焊盘124和背面介电层116的外表面接合到第四芯片108的正面焊盘122和正面介电层114的外表面。
32.可以实施其他接合方式。在其他示例中,芯片102-108可以使用外部连接器(例如微型凸块、焊料等)接合在一起。在一些示例中,芯片102-108中的一些可以通过外部连接器接合在一起,而其他芯片可以在不使用外部连接器的情况下接合在一起。可以实现任何接合的组合和外部连接器的使用。
33.外部连接器焊盘126(例如,铝焊盘)形成在芯片102的背面介电层116中,在远离芯片102的半导体基底112的外表面处。外部连接器接合焊盘126连接到芯片102的背面介电层116中的金属化层。钝化层128形成在远离芯片102的半导体基底112的外表面上,具有相应的开口通过其暴露外部连接器焊盘126。外部连接器130(例如,受控塌陷芯片连接(c4)、微型凸块等)通过钝化层128中的开口被形成在各个外部连接器焊盘126上。
34.外部连接器130可以接合到封装基底。封装基底可以进一步接合到例如印刷电路板(pcb)以将封装基底(并且因此多芯片装置)接合到pcb。多芯片装置中可以包括各种其他组件。例如,中介层、密封剂(例如模塑料、muf等)等可以被包括在多芯片装置中。本领域普通技术人员将容易地设想可以对多芯片装置进行的各种修改。
35.图2是形成图1的多芯片装置的方法200的流程图。图2的方法的处理是一般性描述,本领域普通技术人员将容易理解可以执行的更具体的处理。更具体的处理可以根据用于在基底上形成集成电路的任何半导体处理,将它切割成芯片。
36.在方块202,对各个基底(例如晶片)上的芯片进行正面加工。例如,每个半导体基
底112(例如,晶片)的正面加工可以包括在半导体基底112的正面中和/或正面上形成器件(例如,晶体管118),以及在半导体基底112的前表面上形成具有金属化层和前侧焊盘122的正面介电层114。可以在第一基底上形成多个第一芯片102。可以在第二基底上形成多个第二芯片104。可以在第三基底上形成多个第三芯片106。可以在第四基底上形成多个第四芯片108。
37.在方块204,接合第一芯片和第二芯片的相应基底(例如,第一基底和第二基底),例如,如图1所示的正面到正面接合。接合可以是在基底(例如晶圆)层。接合可以是混合接合,例如将第一基底的正面焊盘122接合到第二基底的正面焊盘122,并将第一基底的正面介电层114的外表面接合到第二基底的正面介电层114的外表面。
38.在方块206,从背面减薄第二芯片的半导体基底112(例如,第二基底的半导体基底112)。可以通过化学机械抛光(cmp)或其他适当的工艺进行减薄。在方块208,对第二基底上的第二芯片进行背面加工。背面加工可以包括通过第二基底的半导体基底112形成背面tsv 120,以及连接到第二基底的正面介电层114中的金属化层。背面加工还可以包括在半导体基底112的背面上形成具有金属化层和背面焊盘124的背面介电层116。背面介电层116中的金属化层可以穿过背面tsv 120连接到第二基底的正面介电层114中的金属化层。
39.在方块210,接合第二芯片和第三芯片的相应基底(例如,第二基底和第三基底),例如将(第二基底的)背面接合到(第三基底的)正面,如图1所示。接合可以是基底(例如晶圆)级。接合可以是混合接合,例如将第二基底的背面焊盘124接合到第三基底的正面焊盘122,以及将第二基底的背面介电层116的外表面接合到第三基底的正面介电层114的外表面。
40.在方块212,从背面减薄第三芯片的半导体基底112(例如,第三基底的半导体基底112),如方块206。在方块214,对第三基底上的第三芯片进行背面加工,如方块208。在方块216,接合第三芯片和第四芯片的相应基底(例如,第三基底和第四基底),例如,如图1所示的将(第三基底的)背面接合到(第四基底的)正面,如方块210。
41.在方块218,从背面减薄第一芯片的半导体基底112(例如,第一基底的半导体基底112),如方块206。在方块220,对第一基底上的第一芯片进行背面加工,如方块208。第一芯片的背面加工还可以包括形成外部连接器焊盘126、钝化层128、和外部连接器130。在方块222,接合的基底被切割(例如,通过锯切)以分离各个已经形成的多芯片装置。每个多芯片装置可以如图1所示。
42.根据一些示例,多个芯片102-108具有被形成在相应芯片102-108上的相同集成电路(ic)(例如,相同处理ic)。因此,在一些情况下,这些多个芯片102-108可以形成比每个单独的芯片更大的集合ic,和/或在一些情况下,一个或多个芯片102-108对于装置恢复来说可以是冗余的。例如,如果第二芯片104、第三芯片106和第四芯片108具有相同的ic,则这些芯片中的任何一个或多个可以允许在多芯片装置内的冗余。例如,如果芯片102-108中的多个芯片之一出现故障,则可以使用或激活芯片102-108中的多个芯片中的冗余的一个芯片来代替故障芯片,例如通过电源门控,切换和/或配置数据。更进一步,即使芯片102-108中的多个不具有相同的ic,则多芯片装置也可以被配置为当那些ic的任何部分有缺陷时,运行芯片102-108的ic的功能的子集。
43.例如,第一芯片102可以具有互连ic,并且每个芯片104-108可以具有相同的可编
程的ic。芯片102-106中的每一个包括穿过芯片102-106的相应半导体基底112的tsv,以在芯片堆叠中垂直地容纳引导信号和电源。第一芯片102上的互连ic可以在芯片堆叠中水平然后垂直地路由和引导信号和电源。互连ic还可以包括各种子系统并且可以是片上系统(soc)。例如,互连ic可以包括处理系统,该处理系统可以控制芯片104-108的可编程ic的配置或编程(例如,通过处理系统的控制器(例如,其可以包括任何控制逻辑))。此外,互连的ic可以具有片上网络(noc)、输入/输出块(例如极端性能输入/输出(xpio)、多千兆位收发器(mgt)、高带宽存储器(hbm)接口、外围器件(快速组件互连(pcie)接口、用于加速器的高速缓存一致性互连(ccix)接口、模数转换器(adc)、数模转换器(dac)等)和/或任何ip硬核(例如内存控制器(如双倍数据速率(ddr)内存控制器、高带宽存储器(hbm)存储器控制器等)、pcie块、ccix块、以太网核、前向纠错(fec)块,等等)。
44.芯片104-108的可编程ic可以包括可编程逻辑区域。可编程逻辑区域可以包括可编程逻辑元件,包括可配置逻辑块(clb)、查找表(lut)、随机存取存储器块(bram)、超ram(uram)、输入/输出块(iob)、数字信号处理块(dsp)、时钟管理器和/或延迟锁定循环(dll)。在一些架构中,可编程逻辑区域可以包括可编程逻辑元件列,其中每列包括单一类型的可编程逻辑元件(例如,clb列、bram列等)。可编程逻辑元件可以具有一个或多个相关联的可编程互连元件。例如,在一些架构中,可编程逻辑区域包括与可编程逻辑元件的每列相关联以及与其相邻的可编程互连元件列。在这样的示例中,每个可编程互连元件连接到相邻列中的相关可编程逻辑元件并且连接到同一列中的相邻可编程互连元件。可编程互连元件的互连列可以在可编程逻辑区域内形成全局路由网络。在一些示例中,可编程ic可以包括控制器(具有引导只读存储器(rom))和noc。控制器可以读取rom以将相应的可编程ic配置为允许可编程ic接收配置数据的基本配置,例如,来自用于系统级配置的第一芯片102的互连ic。
45.根据一些示例,如果一个或多个芯片或其一部分有缺陷,则多芯片装置仍可通过停用任何有缺陷的芯片或其部分并通过运行剩余的芯片或部分而可运行。例如,当多芯片装置中的多个芯片各自具有一个可编程逻辑区域时,并且当任何一个可编程逻辑区域有缺陷或故障时,该芯片的整个可编程逻辑区域可以被停用,而另一个的可编程逻辑区域芯片可以运行。在一些示例中,当多芯片装置中的多个芯片各自具有可编程逻辑区域时,并且当任何可编程逻辑区域的一部分有缺陷或有故障时,该芯片的可编程逻辑区域的该部分可以被停用,而其他芯片的可编程逻辑区域和该芯片的可编程逻辑区域的剩余部分是可运行的。
46.图3是根据一些示例的停用多芯片装置中芯片的可编程逻辑区域的示意图。第一芯片102包括互连302。第二芯片104、第三芯片106、和第四芯片108分别包括可编程逻辑区域304-1、304-2、304-3(单独或共同地,可编程逻辑区域304)。互连302包括控制器303(例如,处理系统的控制器),并且通过编程互连306(例如,配置帧(cframe)互连)通信地连接到每个可编程逻辑区域304。例如,控制器303可以通过可编程互连306将配置数据传送到可编程逻辑区域304中的每一个。在一些示例中,芯片102-108中的每一个或其任何子集可以包括控制器,使得控制通信配置数据可以分布在多芯片装置中。芯片102-108中的每一个通过连接308通信地连接到相邻芯片。
47.在图3中,第三芯片106的可编程逻辑区域304-2被示为有缺陷或有故障。在其他示
例中,任何可编程逻辑区域304都可能有缺陷或有故障。在形成多芯片装置(例如图2中的处理)之后,可以测试多芯片装置的功能以识别例如任何可编程逻辑区域304是否有缺陷或故障。如果足够数量的可编程逻辑区域304是起作用的(例如,没有缺陷或没有故障),则多芯片装置可以运行为包括许多起作用的可编程逻辑区域304。第一芯片102中的控制器303可以包括存储器(例如efuse),该存储器可以被编程以指示哪些可编程逻辑区域304是正常工作的和/或有故障的或有缺陷的。控制器303可以基于已编程存储器通过编程互连306响应性地将配置数据分发到功能可编程逻辑区域304。此外,可以使用控制器303来实施电源门控以减少或消除可编程逻辑区域304和/或有故障或有缺陷的相应芯片的电源。在该示例中,整个有缺陷的芯片或芯片的整个有缺陷的可编程逻辑区域304被停用,而整个起作用的可编程逻辑区域304保持可运行。
48.在如所描述的由多芯片装置实现的可编程逻辑器件(例如,fpga)的上下文中,用户设计可以在可编程逻辑区域304中实现。哪些可编程逻辑区域304是起作用的,或是有故障或有缺陷,对于用户设计是透明的。例如,在图3的上下文中,多芯片装置可以在两个可编程逻辑区域304(例如,可编程逻辑区域304-1、304-3)中实现用户设计,就好像这两个可编程逻辑区域304在多芯片装置的芯片堆叠中是相邻的(例如,就好像可编程逻辑区域304分别在第二芯片104和第三芯片106中)。第一芯片102的控制器303被配置为分配可编程逻辑区域304的配置数据以适应中间有缺陷的可编程逻辑区域304-2,而用户设计不用知道中间有缺陷的可编程逻辑区域304-2。
49.图4是根据一些示例可以允许恢复方案的多个示例多芯片器件规格的表示400。图4图示了多芯片装置的四个器件规格402、404、406、408。为了便于描述,器件规格402-408在单个平面中示出,但是可以配置在图1中大体所示的多芯片装置中(尽管可能有不同数量的芯片)。
50.如图所示,器件规格402-408包括在不同规格中相同的基础芯片410。例如,基础芯片410可以是图1的第一芯片102,并且可以包括例如关于图3描述的互连302和控制器303。器件规格402包括单个结构芯片412。结构芯片412可以是图1的第二芯片104、第三芯片106、和第四芯片108中的任何一个,并且可以包括例如关于图3描述的可编程逻辑区域304。器件规格404包括两个结构芯片414、416。结构芯片414、416可以是图1的第二芯片104、第三芯片106和第四芯片108中的任何一个,并且每个可以包括例如关于图3描述的可编程逻辑区域304。器件规格406包括三个结构芯片418、420、422。结构芯片418、420、422可以是图1的第二芯片104、第三芯片106和第四芯片108中的任何一个,并且每个可以包括例如关于图3描述的可编程逻辑区域304。器件规格408包括一个结构芯片424和一个加速芯片426(例如,不同于结构芯片424)。结构芯片424可以是图1的第二芯片104和第三芯片106中的任何一个,并且可以包括例如关于图3描述的可编程逻辑区域304。加速芯片426在物理上位于多芯片装置中的结构芯片424之上,可以是图1的第三芯片106或第四芯片108。结构芯片412-424每个都具有相同的集成电路。
51.根据给定器件规格制造的多芯片装置包括按顺序堆叠的该规格的芯片。例如,根据器件规格402制造的多芯片装置具有第一芯片(例如,基础芯片410)和堆叠在第一芯片上的第二芯片(例如,结构芯片412),没有任何其他芯片。例如,根据器件规格404制造的多芯片装置具有第一芯片(例如,基础芯片410)、堆叠在第一芯片上的第二芯片(例如,结构芯片
414)和堆叠在第二芯片上的第三芯片(例如,结构芯片414),没有任何其他芯片。作为另一示例,根据器件规格406制造的多芯片装置具有第一芯片(例如,基础芯片410)、堆叠在第一芯片上的第二芯片(例如,结构芯片418)、堆叠在第二芯片上的第三芯片(例如,结构芯片420),以及堆叠在第三芯片上的第四芯片(例如,结构芯片422),没有任何其他芯片。
52.假设根据器件规格408制造多芯片装置(例如,在图1的上下文中,使得第一芯片102是基础芯片410,第二芯片104是结构芯片424,第三芯片106是加速芯片426)。如果加速芯片426有缺陷或故障,并且不能起作用,并且基础芯片410和结构芯片424是可运行的,则多芯片装置可以实现具有基础芯片410和单个结构芯片412的器件规格402(例如,单层的可编程逻辑区域或结构)。
53.假设根据器件规格406制造多芯片装置(例如,在图1的上下文中,使得第一芯片102是基础芯片410,第二芯片104、第三芯片106和第四芯片108分别是结构芯片418、420、422)。如果结构芯片418、420、422中的一个有缺陷或故障,并且不可运行的,并且基础芯片410和结构芯片418、420、422中的两个是可运行的,则多芯片装置可以实现器件规格404,具有基础芯片410和两个结构芯片414、416(例如,可编程逻辑区域或结构的两层)。如果结构芯片418、420、422中的两个有缺陷或故障,并且不可运行,并且基础芯片410和结构芯片418、420、422之一是可运行的,则多芯片装置可以实现器件规格402,具有基础芯片410和单个结构芯片412(例如,单层的可编程逻辑区域或结构)。
54.假设根据器件规格404制造多芯片装置(例如,在图1的上下文中,使得第一芯片102是基础芯片410,而第二芯片104和第三芯片106是结构芯片414、416,没有第四芯片108)。如果结构芯片414、416中的一个有缺陷或有故障,并且不可运行作,并且基础芯片410和结构芯片414、416中的另一个是可运行的,则多芯片装置可以实现器件规格402,具有基础芯片410和单个结构芯片412(例如,单层的可编程逻辑区域或结构)。
55.上面的例子说明了当一个芯片有故障或有缺陷时,根据一个器件规格制造的多芯片装置可以如何根据另一个器件规格实现或运行。多芯片装置可以被配置为在逻辑上实现多芯片装置能够满足的器件规格,并且该逻辑配置对于用户和用户设计是透明的。例如,如果要在满足器件规格404的多芯片装置上实现用户设计,则无论多芯片装置是根据器件规格404还是根据器件规格406制造的(使用其中一个结构芯片418、420、422有故障或有缺陷)对于用户设计是未知且透明的,并且用户设计在任一情况下在功能实现上是相同的。逻辑实现可以基于被存储在基础芯片410中的存储器中的配置数据,这可以确定基础芯片410中的控制器如何将配置数据分配给相应的结构芯片。
56.在一些示例中,不同多芯片装置的架构在连接性、延迟和功率方面非常相似,因此参数几乎相同,这可能允许多芯片装置具有不同的物理组件(例如,不同数量的芯片)以满足相同的器件规格。在一些示例中,多芯片装置包括芯片到芯片连接,其允许信号在未被激活时可选地通过芯片,仅具有小的延迟开销,例如,通过tsv。在一些示例中,多芯片装置包括配置方案以可选地将配置数据发送到不同层。在一些示例中,多芯片装置包括时序方法以适应通过任何可能的芯片间路径的最坏情况延迟。
57.图5是根据一些示例的停用多芯片装置的可编程逻辑区域的子区域的示意图。第一芯片102包括互连502。第二芯片104、第三芯片106和第四芯片108分别包括可编程逻辑区域504-1、504-2、504-3(单独地或合在一起,可编程逻辑区域504)。互连502包括(例如,处理
系统的)控制器503,并且通过可编程互连506通信地连接到每个可编程逻辑区域504。例如,控制器503可以将配置数据经由可编程互连506传送到每个可编程逻辑区域504。在一些示例中,芯片102-108中的每一个或其任何子集可以包括控制器,使得通信配置数据的控制可以分布在整个多芯片装置中。芯片102-108中的每一个通过连接508通信地连接到相邻芯片。
58.每个可编程逻辑区域504包括子区域。可编程逻辑区域504-1包括子区域504-11、504-12、504-13、504-14。可编程逻辑区域504-2包括子区域504-21、504-22、504-23、504-24。可编程逻辑区域504-3包括子区域504-31、504-32、504-33、504-34。子区域可以物理划分和/或逻辑划分。子区域之间的划分可以基于任意数量的逻辑和/或物理边界,例如不同时钟域之间的边界、不同电压域之间的边界、不同类型的电路或逻辑块之间的边界等。在该示例中,当该子区域有故障时和/或当该子区域被选择为不是多芯片装置中的有源子区域时,各个子区域可以被停用。
59.每个子区域可以通过连接508与相邻芯片中的其他相邻子区域通信。连接508可以是无源连接,包括例如tsv和金属线以及正面和/或背面介电层中的通孔。因此,停用中间子区域可以不影响其他子区域通过连接508相互通信。在一些示例中,子区域可以包括用于经由连接508中继信号的单独的接收和驱动电路,当给定的子区域被停用。因此,在一些示例中,并非停用子区域中的所有电路都不可使用的。
60.在图5中,第二芯片104的子区域504-13、504-14和第四芯片108的子区域504-34被示为有缺陷或有故障。在其他示例中,任何子区域都可能是有缺陷或有故障的。在形成多芯片装置(例如图2中的处理)之后,可以测试多芯片装置的功能以识别例如可编程逻辑区域504的任何子区域是否有缺陷或有故障。如果可编程逻辑区域504的足够数量的子区域是能工作的(例如,没有缺陷或没有故障),则多芯片装置可以被运行为包括可编程逻辑区域504的能工作的多个子区域。第一芯片102中的控制器503可以包括存储器(例如efuse),该存储器可以被编程以指示可编程逻辑区域504的哪些子区域正常工作和/或有故障或有缺陷。控制器503可以基于已编程存储器通过编程互连506响应性地将配置数据分发到能工作的可编程逻辑区域304。另外,可以使用控制器503来实现电源门控以减少或消除可编程逻辑区域504的有故障或有缺陷的子区域的电源。
61.在图5所示的示例中,多芯片装置可以被运行为包括例如两个可编程逻辑区域504,其可以分布在芯片104-108上。任何数量的子区域可以在任何芯片104-108上可工作的,以允许多芯片装置满足器件规格,例如上面关于图4所描述的,以子区域的更细的粒度。本领域普通技术人员将容易理解其他的粒度级别。
62.在如所描述的由多芯片装置实现的可编程逻辑器件(例如,fpga)的上下文中,用户设计可以在可编程逻辑区域504中实现。可编程逻辑区域504的哪些子区域是可工作的或者是故障或缺陷对用户设计是透明的。例如,在图5的上下文中,多芯片装置可以在八个子区域(例如,相当于两个完全可编程逻辑区域504)中实现用户设计(例如,使用子区域504-11、504-12、504-21、504-22、504-23、504-24、504-31、504-32),就好像可编程逻辑区域504的那些子区域在多芯片装置的芯片堆叠中是相邻的。在所示的例子中,可编程逻辑区域504-1、504-3的各个半部,无论可运行的子区域如何对齐(逻辑地或物理地),都可以被实施以形成可编程逻辑区域的逻辑层。如所描述的,可编程逻辑区域504-1的一半包括子区域
504-11、504-12,并且可编程逻辑区域504-3的一半可以包括子区域504-31、504-32中的任何两个。每个可编程逻辑区域504的不同数量的子区域可以被组合以形成一层可编程逻辑区域。第一芯片102的控制器503被配置为分配可编程逻辑区域504的子区域的配置数据,以适应可编程逻辑区域504的任何中间的缺陷子区域,而用户设计不知道可编程逻辑区域504的中间的缺陷子区域。
63.在上述图5的描述中,可以实现子区域以形成整数个逻辑、完整的可编程逻辑区域504。在其他示例中,多芯片装置可以实现部分可编程逻辑区域504的任何组合,例如,不考虑实现整数个逻辑、完整的可编程逻辑区域504。例如,在图5所示的例子中,第一层可以被实现为包括子区域504-11、504-12的半层;第二层可以被实现为可编程逻辑区域504-2的完整层;以及第三层可以被实现为包括子区域504-31、504-32、504-33的四分之三的层。
64.图6是根据一些示例的停用多芯片装置的可编程逻辑区域的子区域的示意图。第一芯片102包括互连602。第二芯片104、第三芯片106和第四芯片108分别包括可编程逻辑区域604-1、604-2、604-3(单独地或共同地,可编程逻辑区域604)。互连602包括(例如,处理系统的)控制器603,并且通过可编程互连606通信地连接到每个可编程逻辑区域604。例如,控制器603可以将配置数据经由可编程互连606传送到每个可编程逻辑区域604。在一些示例中,芯片102-108中的每一个或其任何子集可以包括控制器,使得通信配置数据的控制可以分布在整个多芯片装置中。芯片102-108中的每一个通过连接608通信地连接到相邻芯片。
65.每个可编程逻辑区域604包括子区域。可编程逻辑区域604-1包括子区域604-11、604-12、604-13、604-14。可编程逻辑区域604-2包括子区域604-21、604-22、604-23、604-24。可编程逻辑区域604-3包括子区域604-31、604-32、604-33、604-34。子区域可以物理划分和/或逻辑划分。子区域之间的划分可以基于任意数量的逻辑和/或物理边界,例如不同时钟域之间的边界、不同电压域之间的边界、不同类型的电路或逻辑块之间的边界等。
66.在这个示例中,当该子区域出现故障和/或当该子区域被选择为在多芯片装置中的有源子区域时,可以停用各个子区域。芯片104-108中在逻辑上和/或物理上对齐的子区域可以形成细长条。细长条中的每个子区域是与该条中的其他子区域相同的和/或功能等效的。不同细长条中的子区域可以具有不同的电路和/或功能。在运行时,可以停用细条的一个或多个子区域。例如,如果细条中的一个子区域出现故障,则该子区域被停用,而细条中的其他子区域被激活并且是可运行的。此外,例如,如果细条中的任何子区域都没有故障,则该细条中的任何子区域可以被选择为停用,而该细条中的其他子区域被激活并且是可运行的。
67.在所示示例的上下文中,多芯片装置中有四个细长条。第一细长条包括子区域604-11、604-21、604-31。第二细长条包括子区域604-12、604-22、604-32。第三细长条包括子区域604-13、604-23、604-33。第四细长条包括子区域604-14、604-24、604-34。在一些示例中,只要每个细长条中足够数量的子区域没有故障,多芯片装置就可以在逻辑上包括多达三个可编程逻辑芯片(例如,结构芯片)来运行。例如,如果子区域604-31、604-13、604-14出现故障和/或停用,则子区域604-11、604-21可以在第一细长条中运行;子区域604-12、604-22可以在第二细长条中运行;子区域604-23、604-33可以在第三细长条中运行;子区域604-24、604-34可以在第四细长条中运行。
68.细长条内的每个子区域可以通过连接608与该细长条内的其他子区域通信。连接
32的输入节点,并且在与芯片间桥610相同的芯片104-108上。另外,芯片的芯片间桥610中的第一节点712例如经由一个或两个芯片的tsv连接到上部的相邻芯片的芯片间桥610中的第二节点714。例如,芯片104中的第一节点712连接到芯片106中的第二节点714,并且芯片106中的第一节点712连接到芯片108中的第二节点714。
75.三态驱动器704、706由各自的使能信号en1、en2控制。例如,当使能信号en1、en2有效(assert)时,相应三态驱动器704、706的输出节点上的信号跟随或对应于三态驱动器704、706的输入节点中的信号,并且当使能信号无效时,相应三态驱动器704、706的输出节点处的阻抗处于高阻抗输出状态。多路复用器708由选择信号sel控制以相应地输出在多路复用器708的输入节点之一上输入到多路复用器708的信号。
76.描述了说明与子区域604-22的通信的不同示例,以说明芯片间桥610的不同配置。本领域普通技术人员将容易理解如何将这些配置应用于其他芯片间桥610和/或用于其他子区域之间的通信。
77.在第一示例中,子区域604-11与子区域604-22通信。在这样的示例中,可以停用子区域604-12。子区域604-11向芯片间桥610-2中的驱动器702输出信号(例如数据),驱动器702向芯片间桥610-2的三态驱动器704、706和多路复用器708输出信号。芯片间桥610-2中的使能信号en1使芯片间桥610-2中的三态驱动器704在芯片间桥610-2的第一节点712上输出信号,从而,到芯片间桥610-4的第二节点714。芯片间桥610-2中的使能信号en2使芯片间桥610-2中的三态驱动器706处于高阻抗输出状态。芯片间桥610-2中的选择信号sel使芯片间桥610-2中的多路复用器708在芯片间桥610-2中的第二节点714上输出信号。由于芯片间桥610-2中的三态驱动器706具有高阻抗输出状态,没有信号或者来自底层芯片的信号可以在芯片间桥610-2中的第二节点714上,其可以传播到子区域604-12。
78.芯片间桥610-4中的使能信号en2使芯片间桥610-4中的三态驱动器706处于高阻抗输出状态。芯片间桥610-4中的选择信号sel使芯片间桥610-4中的多路复用器708在芯片间桥610-4中的第二节点714上输出信号,该信号是由子区域604-11经由芯片间桥610-2中的驱动器702和三态驱动器704输出的信号。因此,子区域604-11输出的信号可以传播到子区域604-22。
79.在第二个示例中,子区域604-21与子区域604-22通信。子区域604-21向芯片间桥610-4中的驱动器702输出信号(例如数据),驱动器702向芯片间桥610-4的三态驱动器704、706和多路复用器708输出信号。芯片间桥610-4中的选择信号sel使芯片间桥610-4中的多路复用器708输出来自芯片间桥610-4中的驱动器702的信号。因此,子区域604-21输出的信号可以传播到子区域604-22。芯片间桥610-4中的使能信号en1、en2可以使芯片间桥610-4中的三态驱动器704、706处于高阻抗输出状态。芯片间桥610-2中的使能信号en1可以使芯片间桥610-2中的三态驱动器704处于高阻抗输出状态。芯片间桥610-6中的使能信号en2可以使芯片间桥610-6中的三态驱动器706处于高阻抗输出状态。
80.在第三个示例中,子区域604-31与子区域604-22通信。在这样的示例中,可以停用子区域604-32。子区域604-31向芯片间桥610-6中的驱动器702输出信号(例如数据),驱动器702向芯片间桥610-6中的三态驱动器704、706和多路复用器708输出信号。芯片间桥610-6中的使能信号en1使芯片间桥610-6中的三态驱动器704处于高阻抗输出状态。芯片间桥610-6中的使能信号en2使芯片间桥610-6中的三态驱动器706在芯片间桥610-6的第二节点
714上输出信号,从而,到芯片间桥610-4的第一节点712。芯片间桥610-6中的选择信号sel使芯片间桥610-6中的多路复用器708在芯片间桥610-6中的第一节点712上输出信号。由于芯片间桥610-6中的三态驱动器704具有高阻抗输出,没有信号或来自上层芯片的信号可以在芯片间桥610-6中的第一节点712上,这可以传播到子区域604-32。
81.芯片间桥610-4中的使能信号en1使芯片间桥610-4中的三态驱动器704处于高阻抗输出状态。芯片间桥610-4中的选择信号sel使芯片间桥610-4中的多路复用器708在芯片间桥610-4中的第一节点712上输出信号,这是由子区域604-31经由芯片间桥610-6中的驱动器702和三态驱动器706输出的信号。因此,子区域604-31输出的信号可以传播到子区域604-22。
82.用于使能信号en1、en2和选择信号sel的数据可以存储在例如一个或多个配置寄存器、efuse和/或相应芯片104-108上的其他存储器中。为这些信号存储的数据配置各个芯片104-108的芯片间桥610。数据可以在多芯片装置制造和测试后被存储。测试可以指示任何有故障的子区域。如果基于测试结果在每个细长条中保留足够的可运行的子区域,则可以将数据存储在例如配置寄存器、efuse和/或其他存储器中以适当地配置芯片间桥610以允许可操作子区域之间的通信。例如,efuse可以被清除以将数据写入efuse。
83.图8是根据一些示例的用于实现多芯片装置的方法800的流程图。在方块802,根据器件规格制造多芯片装置。例如,多芯片装置可以如上面关于图2所描述的那样被制造。
84.在方块804,测试多芯片装置中的芯片以识别非功能性可编程逻辑区域或子区域。在方块806,方法800确定是否有足够的可编程逻辑区域或子区域可运行以满足器件规格。在一些示例中,方块806确定首先尝试确定多芯片装置是否可运行以满足最严格的器件规格,并继续确定多芯片装置是否可运行以满足接下来不严格的器件规格。例如,参照图4,如果多芯片装置是根据器件规格406制造的,则方块806的确定首先确定多芯片装置是否可运行以满足器件规格406;如果不是,则方块806的确定然后确定多芯片装置是否可运行以满足器件规格404;如果不是,则方块806的确定然后确定多芯片装置是否可运行以满足器件规格402。该确定可以通过使用如上所述的可编程逻辑区域级分析或子区域级分析来进行。
85.如果在方块806确定多芯片装置可运行以满足器件规格,则在方块808,多芯片装置被配置为满足相应的器件规格。更一般地,多芯片装置(例如,芯片堆叠)可以被配置为在ic的任何部分有缺陷时运行芯片的ic的功能子集。多芯片装置还可以被配置为在没有任何部分的ic有缺陷时运行芯片的ic的全部功能。可以通过在任何芯片上编程存储器(例如,efuse)来配置多芯片装置。例如,存储器可以在(例如,第一芯片102的)处理系统的控制器中被编程,用于响应地控制多芯片装置内的配置数据的分布以配置可运行的可编程逻辑区域和/或子区域。在一些示例中,芯片104-108中的存储器可以被编程以配置芯片间桥以互连适当层中的可编程逻辑区域的子区域。方块808的配置可停用任何有缺陷或有故障的芯片(例如,整个芯片和/或芯片的整个可编程逻辑区域)或其部分。方块808的配置可以整体激活功能芯片和/或可以激活芯片的功能部分。
86.如果在方块806确定多芯片装置不能运行以满足器件规格,则在方块810,多芯片装置被丢弃或返工。
87.在此描述的多芯片装置架构中的冗余可以允许恢复。通常,根据器件规格制造的多芯片装置的芯片堆叠中包括的芯片越多,导致可根据该器件规格运行的这种多芯片装置
的成品率降低。其他的芯片通常会导致其他的缺陷实例,从而降低成品率。恢复方案基于这样的前提,即一些多芯片装置在制造时具有一定数量的堆叠中的芯片可能由于制造而有缺陷,但可以配置为可使用堆叠中较少数量的芯片进行运行。
88.例如,可以根据器件规格406制造许多多芯片装置(例如,具有三个结构芯片418、420、422)。根据器件规格406,批次中的一些多芯片装置可能有缺陷并且无法运行。然而,这些多芯片装置可能能够被配置为根据器件规格404可运行(例如,具有两个结构芯片414,416)。更进一步,根据器件规格406制造的一些有缺陷的多芯片装置可能能够被配置为根据器件规格402可运行(例如,具有一个结构芯片412)。因此,根据器件规格406制造并且根据该器件规格406有缺陷且不可运行的多芯片装置可以被恢复并且被配置为根据另一个器件规格402、404运行。通过考虑恢复在计划制造中的某些有缺陷的多芯片装置的能力,可以制造较少的多芯片装置,和/或可以实现降低成本。
89.假设要实现1000个可根据器件规格402运行的多芯片装置,并且要实现1000个可根据器件规格404运行的多芯片装置。进一步假设制造器件规格402具有90%的成品率,并且制造器件规格404具有50%的成品率。更进一步假设每个芯片具有1个任意单位(au)的成本,使得根据器件规格402制造的多芯片装置具有2au的成本,并且根据器件规格制造404的多芯片装置的成本为3au。
90.如果可根据器件规格402运行的多芯片装置独立于可根据器件规格404运行的多芯片装置实现,则应基于成品率制造的此类器件的数量是直接计算的结果。根据器件规格402制造的1111个多芯片装置将被制造以实现根据器件规格402可运行的1000个多芯片装置(例如,1111x0.9=1000),以及根据器件制造的2000个多芯片装置将制造规格404以实现1000个可根据器件规格404运行的多芯片装置(例如,2000x0.5=1000)。这导致成本为8222au(例如,1111x2 2000x3)。
91.如果较大的芯片数量规格,例如,器件规格404,被单独地考虑,而较小的芯片数量规格,例如,本示例中的器件规格402,被认为取决于较大的芯片数量规格,则可以降低成本。如上所述,将制造根据器件规格404制造的2000个多芯片装置,以实现可根据器件规格404运行的1000个多芯片装置(例如,2000x0.5=1000)。显然,根据较小芯片数量规格制造的多芯片装置不会影响可用于较大芯片数量规格的多芯片装置的数量。假设根据器件规格404制造的有缺陷的多芯片装置中有40%可以恢复为根据器件规格402可运行。根据器件规格404制造的有缺陷的多芯片装置400被恢复为可运行可根据器件规格402运行(例如,1000x0.4=400)。这导致其他600个多芯片装置可根据需要实现的器件规格402进行运行。基于成品率,将制造根据器件规格402制造的667个多芯片装置,以实现可根据器件规格402运行的600个多芯片装置(例如,667x0.9=600)。在这些情况下,这导致成本为7334au(例如,2000x3 667x2),比上述8222au减少了10.8%。
92.图9是根据一些示例的用于实现多芯片装置的方法900的流程图。在器件规格402、404、406和408的上下文中,描述示例方法900以提供方法900的各个方面的说明。方法900的其他示例实现可以使用不同的器件规格。另外,方法900可以在下面在导致芯片有缺陷的背景下描述,并且其他实现方案可以应用于缺陷可能导致芯片的一部分或子区域有缺陷而芯片的其余部分可运行的情况。
93.在开始描述方法900之前,定义各种变量以简化以下描述:
94.ta是根据器件规格a实现和运行的多芯片装置的目标数量。
95.ca是根据器件规格a制造的多芯片装置的成本。
96.ya是根据器件规格a的预期制造成品率。
97.da是根据器件规格a制造的有缺陷的多芯片装置的预期数量(例如,da=m
a x(1-ya))。
98.是根据器件规格b可恢复和运行的多芯片装置的预期成品率,这些器件是根据器件规格a制造的有缺陷的器件。
99.r
b|a
是根据器件规格b预期可恢复和运行的多芯片装置的数量,这些器件是根据器件规格a制造的有缺陷的器件(例如,)。
100.ub是达到tb时预计剩余的多芯片装置数量,即ub=tb–
(m
b x yb)

∑ar
b|a

101.mb是根据器件规格b确定要制造的多芯片装置的数量(例如,mb=ub/yb)。
102.每个ma都初始化为零。
103.在方块902,识别对应于设备规格的要实现的不同多芯片装置的目标数量。例如,下面列出了目标编号,其中下标标识器件规格402、404、406、408中的哪一个对应于目标编号。最初,ua被设置为等于ta。
104.t
402
=u
402
=1000
105.t
404
=u
404
=1000
106.t
406
=u
406
=1000
107.t
408
=u
408
=1000
108.显而易见,这些目标数量可以通过根据相应的器件规格制造多芯片装置以及通过根据另一器件规格制造多芯片装置来实现,这些器件可根据相应的器件规格恢复为可运行的。
109.在方块904,根据器件规格确定制造的预期成品率。例如,预期成品率如下所列:
110.y
402
=90%
111.y
404
=50%
112.y
406
=30%
113.y
408
=40%
114.在方块906,基于对应的预期成品率,确定要根据剩余的最高成本器件规格制造的多芯片装置的数量,以实现该器件规格要实现的目标数量。出于示例的目的,下面列出了制造多芯片装置的成本:
115.c
402
=2au
116.c
404
=3au
117.c
406
=4au
118.c
408
=3.2au
119.在所描述的方法900中,假设增加芯片数量通常导致成本增加和成品率降低。在其他示例实施方式中,可以考虑替代成本或除了成本之外的另一考虑,以确定在方块906和随后的步骤中以何种顺序分析器件规格以确定要为对应的器件规格制造的多芯片装置的数量块和迭代。
120.在这些假设下,方块906的第一实例中剩余的最高成本器件规格是器件规格406。根据器件规格406(例如,标识为m
406
)要制造的装置的数量是3333(例如,m
406 x y
406
=u
406
==3333x0.3=1000)。因此,根据器件规格406实现和运行的多芯片装置的目标数量可以通过根据器件规格406制造3333个多芯片装置来实现。
121.在方块908,根据剩余的最高成本器件规格,确定制造的多个多芯片装置预计有缺陷,并且可以恢复为可根据另一器件规格运行以至少部分地满足目标数量要实现的其他器件规格的多芯片装置。继续该示例,下面列出了根据器件规格恢复和运行的多芯片装置的预期成品率,这些器件是根据另一规格制造的有缺陷的器件。
[0122][0123][0124][0125]
请注意,在此示例中,根据器件规格406制造的有缺陷的多芯片装置都不能恢复为可根据器件规格408运行,因为此类有缺陷的多芯片装置未制造为包括加速芯片426。
[0126]
在上述假设和情况下,通过第一次通过方块906和908,各种确定的数量总结如下。
[0127]m406
=u
406
/y
406
=1000/0.3=3333
[0128]d406
=m
406 x(1-y
406
)=3333x(1

0.3)=2333
[0129][0130][0131][0132]u402
=t
402

(m
402 x y
402
)

∑ar
402|a
=1000

(0x0.9)

466=534
[0133]u404
=t
404

(m
404 x y
404
)

∑ar
404|a
=1000

(0x0.5)

233=767
[0134]u406
=t
406

(m
406 x y
406
)

∑ar
406|a
=1000

(3333x0.3)

0=0
[0135]u408
=t
408

(m
408 x y
408
)

∑ar
408|a
=1000

(0x0.4)

0=1000
[0136]
在方块910,确定不同多芯片装置的目标数量是否已经满足。如果不是,则方法900循环回到方块906,并且迭代地执行方块906和908,直到已经满足不同多芯片装置的目标数量。在所示示例中,方法900通过方块910的运行循环回到方块906直到u
402
=u
404
=u
406
=u
408
=0。如果在方块910的确定是已经满足不同多芯片装置的目标数量,则在方块912,基于所确定的要制造的多芯片装置的数量来制造不同的多芯片装置。在所示示例中,确定的m
402
、m
404
、m
406
和m
408
是根据各自的器件规格402、404、406、408制造的。根据器件规格的制造例如可以通过图2的方法200进行。任何有缺陷的多芯片装置都被配置为可根据另一器件规格进行运行,例如关于图8的方法800所描述的。
[0137]
在所描述的示例中,在方块906和908的第一次通过之后,目标数仍未实现(例如,u
402
、u
404
和u
408
不为零)。因此,执行方块906和908的第二次迭代,并且所得的确定和假设如下所示。剩下的最高成本规格是器件规格408。
[0138][0139][0140]
请注意,在此示例中,根据器件规格408制造的有缺陷的多芯片装置都不能恢复为
可根据器件规格404运行,因为这种有缺陷的多芯片装置没有被制造为包括两个结构芯片414、416。
[0141]m408
=u
408
/y
408
=1000/0.4=250
[0142]d408
=m
408 x(1-y
408
)=2500x(1

0.4)=150
[0143][0144][0145]u402
=t
402

(m
402 x y
402
)

∑ar
402|a
=1000

(0x0.9)

(466 150)=384
[0146]u404
=t
404

(m
404 x y
404
)

∑ar
404|a
=1000

(0x0.5)

(233 0)=767
[0147]u406
=t
406

(m
406 x y
406
)

∑ar
406|a
=1000

(3333x0.3)

0=0
[0148]u408
=t
408

(m
408 x y
408
)

∑ar
408|a
=1000

(2500x0.4)

0=0
[0149]
在所描述的示例中,在方块906和908的第二次通过之后,目标数仍未实现(例如,u402和u404不为零)。因此,执行方块906和908的第三次迭代,并且所得的确定和假设如下所示。剩下的最高成本规格是器件规格404。
[0150][0151]m404
=u
404
/y
404
=767/0.5=1534
[0152]d404
=m
404 x(1-y
404
)=1534x(1

0.5)=767
[0153][0154]u402
=t
402

(m
402 x y
402
)

∑ar
402|a
=1000

(0x0.9)

(466 150 76)=308
[0155]u404
=t
404

(m
404 x y
404
)

∑ar
404|a
=1000

(1534x0.5)

(233 0)=0
[0156]u406
=t
406

(m
406 x y
406
)

∑ar
406|a
=1000

(3333x0.3)

0=0
[0157]u408
=t
408

(m
408 x y
408
)

∑ar
408|a
=1000

(2500x0.4)

0=0
[0158]
在所描述的示例中,在方块906和908的第三次通过之后,目标数仍未实现(例如,u402不为零)。因此,执行方块906和908的第四次迭代,并且所得的确定和假设在在下文中说明。剩下的最高成本规格是器件规格404。
[0159]m402
=u
402
/y
402
=308/0.9=342
[0160]u402
=t
402

(m
402 x y
402
)

∑ar
402|a
=1000

(342x0.9)

(466 150 76)=0
[0161]u404
=t
404

(m
404 x y
404
)

∑ar
404|a
=1000

(1534x0.5)

(233 0)=0
[0162]u406
=t
406

(m
406 x y
406
)

∑ar
406|a
=1000

(3333x0.3)

0=0
[0163]u408
=t
408

(m
408 x y
408
)

∑ar
408|a
=1000

(2500x0.4)

0=0
[0164]
在所描述的示例中,在方块906和908的第四次通过之后,目标数量被满足,并且根据器件规格制造了要制造的对应数量的多芯片装置。这些数字如下所列:
[0165]m402
=342
[0166]m404
=1534
[0167]m406
=3333
[0168]m408
=2500
[0169]
因此,在所描述的示例中,对于器件规格408,要根据器件规格实现和可运行的多芯片装置的目标数量(例如,1000),在给定预期的制造成品率(例如,40%)下,可以通过制造确定为要制造的多芯片装置的数目(例如,2500)来实现。对于器件规格406,要根据器件
规格实现和运行的多芯片装置的目标数量(例如,1000),在给定预期的制造成品率(例如,30%)下,可以通过制造被确定为要制造的多芯片装置的数目(例如,3333),而达到。对于器件规格404,要根据器件规格实现和可运行的多芯片装置的目标数量(例如,1000),在给定制造的预期成品率(例如,50%)下,可以通过制造确定为要制造的多芯片装置的数目(例如,1534),并通过恢复根据器件规格408制造的多个有缺陷多芯片装置(例如,150个)、根据器件规格406制造的多个有缺陷多芯片装置(例如,466个)和根据器件规格404制造的多个有缺陷多芯片装置(例如,76个)而达到。对于器件规格402,要根据规格实现和可运行的多芯片装置的目标数量(例如,1000),在给定制造的预期成品率(例如,90%)下,可以通过制造确定要制造的多芯片装置的数目(例如,342),并且通过恢复根据器件规格408制造的有缺陷的多芯片装置的数量(例如,150个)、根据器件规格406制造的有缺陷的多芯片装置的数量(例如,466个)以及根据器件规格404制造的有缺陷的多芯片装置的数量(例如,76个)而实现。
[0170]
通过使用所公开的恢复方案,可以恢复许多制造的多芯片装置。其他示例可以具有任意数量的器件规格,可以使用任何恢复机制,并且可以具有要实现的任意数量的器件。描述前述示例是为了更清楚地说明所描述的方法。
[0171]
示例包括多芯片装置,该多芯片装置包括芯片堆叠,该芯片堆叠包括垂直堆叠的多个芯片。相邻的芯片对直接连接在一起。芯片包括第一芯片,该第一芯片包括控制器和存储器。多个芯片包括位于芯片堆叠中的第一芯片上方的两个或更多个第二芯片,并且两个或更多第二芯片中的每一个包括处理集成电路。芯片堆叠可配置为当处理集成电路的任何部分有缺陷时,运行两个或更多个第二芯片的处理集成电路的功能子集。存储器可被操作用于存储与处理集成电路的可操作性有关的配置信息。控制器通信地连接到处理集成电路并且可操作以基于配置信息将配置数据分配给处理集成电路从而实现至少功能子集的操作。
[0172]
在上面的示例多芯片装置中,每个处理集成电路可以包括可编程逻辑区域,并且芯片堆叠可以被配置为运行少于两个或更多个第二芯片的可编程逻辑区域的相应整体,并且去激活两个或更多个第二芯片中的至少一个的可编程逻辑区域的相应整体。
[0173]
在上面的示例多芯片装置中,每个处理集成电路可以包括可编程逻辑区域,并且芯片堆叠可以被配置为运行两个或更多个第二芯片的可编程逻辑区域的任何子区域并且去激活两个或更多个第二芯片的可编程逻辑区域的任意子区域。进一步地,在以上示例的多芯片装置中,两个或更多个第二芯片的可编程逻辑区域的子区域可以排列成细长条,并且每个细长条可以包括两个或更多个第二芯片中的每一个的可编程逻辑区域的子区域。两个或多个第二芯片可以各自包括芯片间桥,并且每个芯片间桥可以连接在(i)相邻的细长条中和(ii)相邻的芯片中的可编程逻辑区域的子区域之间,或同一个芯片中的可编程逻辑区域的子区域之间。
[0174]
在以上示例多芯片装置中,控制器可操作以加载配置数据,并且配置数据是在一个或多个处理集成电路上可操作的。芯片堆叠可配置为运行配置数据,而不管芯片堆叠的处理集成电路的哪些部分被配置为操作。
[0175]
在以上示例的多芯片装置中,两个或更多第二芯片的处理集成电路中的至少一个可以不同于两个或更多第二芯片的处理集成电路中的至少一个。
[0176]
在以上示例多芯片装置中,两个或更多个第二芯片的两个或多个处理集成电路是相同的处理集成电路。
[0177]
另一个例子包括一种实现装置的方法。由控制器配置芯片堆叠以运行多个处理集成电路的功能子集。芯片堆叠包括垂直堆叠的多个芯片。相邻的芯片对直接连接在一起。芯片包括第一芯片和在位于第一芯片上方的两个或更多个第二芯片。第一芯片包括控制器和存储器。两个或更多个第二芯片中的每一个包括多个处理集成电路中的相应一个。控制器基于存储在存储器中的配置信息来配置多个处理集成电路的哪个或那些部分来运行功能子集。
[0178]
在上面的示例方法中,配置芯片堆叠可以包括将芯片堆叠配置为运行少于两个或更多个第二芯片的可编程逻辑区域的相应整体,以及去激活两个或更多个第二芯片中的至少一个第二芯片的可编程逻辑区域的相应整体。每个处理集成电路包括可编程逻辑区域。
[0179]
在上面的示例方法中,配置芯片堆叠可以包括配置芯片堆叠以运行两个或更多个第二芯片的可编程逻辑区域的任何子区域以及去激活两个或更多个第二芯片的可编程逻辑区域的任何子区域,每个处理集成电路包括可编程逻辑区域。进一步地,在上述示例方法中,两个或更多个第二芯片的可编程逻辑区域的子区域可以排列成细长条,并且每个细长条可以包括两个或多个第二芯片中的每一个第二芯片的可编程逻辑区域的子区域。两个或更多个第二芯片可以各自包括芯片间桥,并且每个芯片间桥可以连接在(i)在相邻的细长条中的可编程逻辑区域的子区域和(ii)在相邻的芯片或相同的芯片中的可编程逻辑区域的子区域之间。配置芯片堆叠可以包括配置芯片间桥。
[0180]
在上述示例方法中,两个或更多个第二芯片的多个处理集成电路中的至少一个可以不同于两个或更多个第二芯片的多个处理集成电路中的另外的至少一个。
[0181]
在上述示例方法中,两个或多个第二芯片的两个或多个处理集成电路可以是相同的处理集成电路。
[0182]
另一示例包括多芯片装置,该多芯片装置包括芯片堆叠,该芯片堆叠包括具有接合在一起的相邻芯片对的堆叠芯片。芯片包括第一芯片和堆叠在第一芯片上的两个或更多个第二芯片。第一芯片包括控制器和存储器。两个或更多个第二芯片中的每一个都包括处理集成电路。存储器可操作用于存储指示处理集成电路的任何有缺陷的部分的配置信息。控制器通信地连接到处理集成电路并且可操作以基于配置信息将配置数据分配到处理集成电路的无缺陷部分,从而实现两个或更多个芯片的处理集成电路的至少功能子集的运行。芯片堆叠可配置为当处理集成电路的任何部分有缺陷时,运行两个或更多个第二芯片的处理集成电路的功能子集。
[0183]
在上面的示例多芯片装置中,每个处理集成电路包括可编程逻辑区域。
[0184]
又一示例是用于实现器件的方法。测试包括芯片的芯片堆叠的多芯片装置。每个芯片包括处理集成电路。多芯片装置是根据第一器件规格制造的。基于对多芯片装置的测试来确定多芯片装置是否可根据第一器件规格或不同于第一器件规格的第二器件规格操作。基于该确定,多芯片装置被编程为可根据第一器件规格和第二器件规格之一进行操作。
[0185]
在上述示例方法中,对多芯片装置进行编程可以包括停用至少一个芯片的至少一部分。
[0186]
在上述示例方法中,两个或更多个芯片可以包括相同的处理集成电路,该处理集
成电路包括可编程逻辑区域,并且对多芯片装置进行编程可以包括将多芯片装置配置为通过使用至少一个完整的逻辑的可编程逻辑区域和去激活至少一个可编程逻辑区域的至少一部分而可操作的。
[0187]
在上述示例方法中,两个或更多个芯片可以包括相同的处理集成电路,该处理集成电路包括可编程逻辑区域,并且对多芯片装置进行编程可以包括将多芯片装置配置为通过使用至少一个芯片的整个可编程逻辑区域以及去激活至少一个芯片的整个可编程逻辑区域而是可操作的。
[0188]
在上述示例方法中,两个或更多个芯片可以包括相同的集成电路,该集成电路包括可编程逻辑区域,并且对多芯片装置进行编程可以包括使用芯片中的至少一部分可编程逻辑区域将多芯片装置配置为可运行的,以及去激活包括相同集成电路的至少一个芯片的至少一部分的可编程逻辑区域。
[0189]
图中的流程图和框图说明了根据各种示例的系统和方法的可能实现的架构、功能和操作。在其他实施方式中,方块中标注的功能可能不按图中标注的顺序出现。例如,连续显示的两个方块实际上可以基本上同时执行,或者这些方块有时可以以相反的顺序执行,这取决于所涉及的功能。尽管前述是针对特定示例的,但是在不脱离其基本范围的情况下可以设计其他进一步的示例,并且其范围由所附权利要求书确定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献