买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】自愈计算阵列_艾克瑟尔西斯公司_201780083813.3 

申请/专利权人:艾克瑟尔西斯公司

申请日:2017-12-20

公开(公告)日:2024-04-09

公开(公告)号:CN110192188B

主分类号:G06F13/16

分类号:G06F13/16;G06F11/22

优先权:["20161221 US 62/437,554"]

专利状态码:有效-授权

法律状态:2024.04.09#授权;2020.01.17#实质审查的生效;2019.08.30#公开

摘要:本公开涉及用于诸如人工智能AI、机器学习ML、数字信号处理DSP、图形处理单元GPU和其他计算密集型应用的硬件计算阵列有时称为脉动阵列。具体而言,本公开涉及高效且廉价地实施此类使用多个集成电路的阵列的新颖且有利的架构创新。本公开中的硬件和方法可允许在面对面或晶片到晶片键合之后测试计算阵列,而无需进行任何预键合测试。在键合后测试中发现的缺陷可完全或部分愈合,从而增加产量并降低成本。

主权项:1.一种包括数据处理单元的行和列的计算阵列,每个数据处理单元包括:多个数据输入导体,每个数据输入导体包括一条或多条导电信号线的总线;输入处理电路,所述输入处理电路耦合到所述多个数据输入导体;数据存储器,所述数据存储器耦合到所述输入处理电路;计算引擎,所述计算引擎耦合到所述数据存储器;数据输出导体,所述数据输出导体耦合到所述计算引擎,所述数据输出导体包括一条或多条导电信号线的总线;和控制和测试电路,所述控制和测试电路耦合到所述输入处理电路、所述数据存储器和所述计算引擎,其中每个数据输入导体的所述一条或多条导电信号线中的至少一条导电信号线耦合到另一数据处理单元的所述数据输出导体,并且每个数据输出导体的所述一条或多条导电信号线中的至少一条导电信号线耦合到另一数据处理单元的所述数据输入导体,其中:每个数据处理单元被划分为包括数据储存器的存储块以及包括数据处理单元的剩余部分的计算块,相同数据处理单元中的每个存储块以及其相关联的计算块来自两个不同的集成电路,并且相同数据处理单元中的每个存储块和计算块通过混合键合技术耦合在一起。

全文数据:自愈计算阵列相关申请本专利申请享有于2017年12月20日提交的标题为“自愈计算阵列”的美国临时申请申请号:15849,468以及2016年12月21日提交的标题为“自愈计算阵列架构”的美国临时专利申请申请号:62437,554的优先权和权益,其全文以引用方式并入本文件。技术领域本公开涉及用于诸如人工智能AI、机器学习ML、数字信号处理DSP、图形处理单元GPU和其他计算密集型应用的硬件计算阵列有时称为脉动阵列。具体而言,本公开涉及高效且廉价地实施此类阵列的新颖且有利的架构创新。发明技术近年来,异构计算广泛用于越来越多的应用领域。值得注意的是,在诸如视频显示器和游戏、数字信号处理DSP、图像处理、机器学习、大数据、高性能计算、网络分组处理、数据加密等领域的主流计算设备中使用图形处理单元GPU和其他专用协处理器。此类协处理器通常用于支持充当系统的主处理器的中央处理单元CPU或微处理单元MPU的同构集群。许多异构协处理器使用计算阵列来实现,计算阵列是包括同构数据处理单元DPU的行和列的并行计算架构。其优点是能够在DPU之间传递部分结果的重复计算,并且在阵列内完全执行该重复计算而无需访问外部资源,诸如高速缓存、主存储器、总线等。这避免了更常规的复杂指令集计算CISC或减小的指令集计算RISC计算架构中存在的许多瓶颈。图1示出了本领域已知类型的示例性简化的DPU100。DPU100包括多个值输入102、输入复用器104、值存储器106、系数存储器108、乘积和累加电路110以及值输出112。DPU100是诸多以行和列排列的DPU100的阵列未示出的一部分。值输入102耦合到阵列中的多个其他DPU100中的多个值输出112。同样地,值输出112耦合到阵列中的其他DPU100中的一个或多个值输入102。复用器104在各种值输入102之间进行选择并将其引至值存储器106,其中其值被储存直到为乘积和累加电路110所需为止。系数存储器108储存待处理的多个系数以及储存在值存储器106中的值。在示例性DPU100中,乘积和累加电路110访问来自值存储器106的值以及来自系数存储器108的系数,将其相乘,然后将结果与先前值-系数对的乘积的总和相加。值存储器106和系数存储器108可例如为随机存取存储器RAM或先进先出FIFO存储器。在采用先进先出的实施方案中,系数存储器108周围的环回连接可用于反复循环通过系数存储器108的相同系数,而新值集将连续通过值存储器106,每次通过一个数据集。然后,来自乘积和累加电路110的结果将通过值输出112转至阵列中的其他DPU100。阵列旨在串联和并联地执行大量的乘积和累加操作。每个DPU100均为相对较小的电路。值和系数的位数以及值存储器106和系数存储器108的深度由应用确定并取决于设计选择。本领域的技术人员知悉,DPU100是非常通用的计算单元,并且诸多可执行类似或其他操作的计算单元两者均在本领域中是已知的且未被发明可组合于类似的计算阵列。手机、平板电脑、传感器、安保和其他相机、物联网IOT和其他电池驱动装置的数据处理装置的缺点使得相当有必要设计出小型、廉价、低功耗的计算阵列。具体而言,希望计算阵列DPU与大小适当的低功耗、廉价的存储器配对。遗憾的是,比如嵌入式静态随机存取存储器eSRAM或嵌入式动态随机存取存储器eDRAM的单一解决方案具有大量的区域开销成本。使用外部存储器芯片甚至更昂贵,并且外部接口对于独立的、移动的且其他电池驱动装置使用无法接受的功率水平。附图说明图1示出了本领域已知类型的示例性简化的DPU。图2A示出了根据本发明的实施方案的示例性DPU。图2B示出了根据本发明实施方案的图2A的示例性DPU,其被划分成计算块和存储块。图2C示出了根据本发明实施方案的图2A的示例性DPU的阵列。图2D示出了根据本发明实施方案的图2B的示例性DPU的阵列,其中存储块被移除。图2E示出了根据本发明实施方案的图2B的示例性DPU的阵列,其中存储块位于DPU的其余部分的上方。图2F示出了根据本发明实施方案的图2D和图2E的结构的侧视图。图2G示出了根据本发明实施方案的图2D和图2E中的结构的侧视图。图3A示出了根据本发明的实施方案的示例性DPU。图3B示出了根据本发明实施方案的图3A的示例性DPU,其被划分成计算块和存储块。图3C示出了根据本发明实施方案的图3A的示例性DPU的阵列。图3D示出了根据本发明实施方案的图3A的示例性DPU的阵列,其中存储块被移除。图3E示出了根据本发明实施方案的图3D的阵列中储存块位于DPU的位置上方的示例性阵列。图3F分别示出了根据本发明实施方案的图3D和图3E的组合结构的侧视图。图3G分别示出了根据本发明另一实施方案的图3D和图3E的阵列的组合结构的侧视图。图4A示出了根据本发明实施方案的示例性DPU的阵列。图4B示出了根据本发明实施方案的示例性DPU的阵列。图4C示出了根据本发明实施方案的示例性DPU的阵列。图4D示出了根据本发明实施方案的示例性DPU的阵列。具体实施方式本领域的普通技术人员知晓,示例性实施方案和方法的如下附图和描述仅供示例,而不以任何方式进行限制。检查本公开后,将易于向此类技术人员推荐其他实施方案。本公开的某些实施方案在计算阵列的DPU中利用适当设定尺寸的存储器阵列的面对面F2F或晶片到晶片W2W键合。这可减小DPU的大小,因为存储器可被移除或重定位到另一个集成电路或晶片上,并且解决了功率问题,因为F2FW2W键合允许更小和更低功率的IO架构。在一些实施方案中能够还利用阵列自愈合特性,以允许路由围绕或穿过有缺陷的DPU和或存储器阵列。这改善了阵列完整性,并且允许使用和出售其他不完美的单元。图2A示出了根据本发明的实施方案的示例性DPU200。DPU200包括耦合到输入处理电路IPC204的多个数据输入导体202,通过数据导体206耦合到输入处理电路204的数据存储器DM208,通过数据导体210耦合到DM208的计算引擎CE212,耦合到CE212的数据输出导体214,以及通过控制导体217、218和219分别耦合到IPC204、DM208和CE212的控制和测试电路CTC216。在本文中,“导体”是指“一条或多条导电信号线的总线”。DPU200的操作与图1中DPU100的操作相似,但更一般化。例如,在一些实施方案中,输入处理电路204可执行与复用器104相似的多路复用功能,但可包含用于处理输入数据以及为DPU200提供测试功能的一些功能的其他电路。同样地,在一些实施方案中,数据存储器208可用于值数据和系数数据,但可也用于根据计算引擎212的功能来存储其他种类的数据。计算引擎212可执行乘积和累加功能,但可也包括启用其他类型计算的硬件或软件。CE212可还在加电、系统复位或飞行时被重新配置,以在不同时间根据设计选择执行不同的计算。控制和测试电路216可协调IPC204、DM208和CE212之间的交互作用。CTC216可在正常阵列处理时间期间以其正常计算模式运行DPU200能够在适当时间控制测试功能,根据需要配置或重新配置DPU200,并且可协调DPU200的数据流入和流出。本领域的技术人员理解,DPU200的输出导体214可耦合到多个DPU200的输入数据导体202,以允许不同的计算阵列配置以及计算阵列冗余和修复。同样地,此类技术人员理解,足够数量的输入数据导体202将被耦合到其他DPU200,以允许不同的计算阵列配置以及计算阵列冗余和修复。图2B示出了根据本发明的实施方案的图2A的示例性DPU200,示出其被划分成计算块220和存储块222。DPU200的功能可与图2A中所示基本相同。该分区可允许在两个不同的半导体晶片上制造DPU200的一部分电路,然后组装在一起作为单个电路。这不仅可以节省管芯面积和封装成本,而且还允许使用不同的技术节点和或更适合计算和存储器功能的不同方法来制造计算块220和存储块222。图2C示出了根据本发明的实施方案的图2A的示例性DPU200的阵列230。阵列230包括DPU200的行和列。此外,示出的还有计算块220和存储块222。在该实施方案中,DPU200以及其计算块220和存储块222的每个实例均在相同集成电路中实现。阴影区域抽象地示出了DPU200之间的路由232。虽然图中示出了DPU200之间的路由232,但本领域技术人员知晓,互连可不仅围绕DPU200,也可贯穿其中。路由232用于数据输入导体202和数据输出导体212的互连,以及全局控制信号导体、时钟信号导体、电力和接地供电导体等的布局。本领域普通技术人员知晓,这些不同导体可以许多方式作为阵列230的预期应用来组织和互连,并且取决于本发明的每个实施方案的设计选择。图2D示出了根据本发明实施方案的图2A的示例DPU200的阵列240,其中存储块230被移除。图2D示出了阵列240中DPU200的行和列。还示出了计算块220和抽象路由242。这些与图2C中的计算块220和路由232相似。在每个DPU200中,抽象示出了三个小型互连垫片内部“X”形的无标记正方形。这些是图2B中所示导体206、210和218的块间部分的占位符,并且示出到最终组装在计算块222的顶部的存储块220的连接点。图2E示出了根据本发明实施方案的图2D的阵列240未示出中的储存块222位于DPU200的位置上方的示例性阵列250。在每个存储块222中,抽象示出了三个小型互连垫片内部“X”形的无标记正方形。这些是图2B中所示导体206、210和218的占位符,并且示出到将最终组装在存储块222底部的计算块220的连接点。在一些实施方案中,存储块222之间可不直接互连。这可能是有利的,因为其允许将存储块222之间的每一空间用作切割线。这允许存储块222的整个晶圆,在任何给定的应用中根据图2D中阵列240的大小来切割成不同尺寸的阵列。因此,一个掩模组可为整个零件系列包括装置提供全部存储块222,其中阵列240大小不同且计算块220设计不同或被配置用于不同的应用,从而节约相当大的掩模制造成本。另一个优点是,被隔离且独立的存储块222允许某些类型的故障,例如,电源和接地电源短路,此类故障可通过相关联的计算块220隔离到单个存储块222,而不损坏其他存储块222。图2F分别示出了根据本发明实施方案的图2D和图2E的阵列240和250的组合结构的侧视图260。DPU200的计算块220部分和路由242如集成电路的基板262中制造的所示,而DPU200的存储块222部分则如集成电路的衬底264中制造的所示。未标记的竖直小箭头为图2B中所示的导体206、210和218的块间部分的占位符,并且当结构完全组装时示出计算块220和存储块222之间的连接点。在该实施方案中能够根据设计选择使用面对面F2F或晶片到晶片W2W连接来完成组装。适于F2F技术的示例为来自InvensasBondingTechnologies,Inc.的直接键合互连该项技术通过室温介电键合技术将集成电路附接到晶片上,然后进行低温退火。适于W2W技术的示例为也来自InvensasBondingTechnologies,Inc.的该项技术为低温同构如氧化物与氧化物直接键合技术,该技术在具有相同或不同的热膨胀系数CTE的晶片或管芯之间形成强键。本领域技术人员知晓能够使用其他F2F和W2W键合技术,并且这些技术均在本发明的范围内。图2G分别示出了根据本发明实施方案的图2D和图2E的阵列240和250的组合结构的侧视图270。DPU200的计算块220部分和路由242如集成电路的基板272中制造的所示,而DPU200的存储块部分则如集成电路的基板274中制造的所示。未标记的竖直小箭头为图2B中所示导体206、210和218的块间部分的占位符,并且当结构完全组装时示出计算块220和存储块222之间的连接点。在该实施方案中,使用通过硅通孔TSV技术的管芯堆叠来实现组装。虽然在采用多项TSV的任何实施方案中使用多项TSV,但图2G中仅标记了一项示例性TSV276。本领域技术人员知晓能够使用其他管芯间键合和TSV制造技术,并且这些技术均在本发明范围内。图3A示出了根据本发明的实施方案的示例性DPU300。DPU300包括耦合到输入处理电路IPC304的多个数据输入导体302,通过数据导体306耦合到IPC304的数据存储器DM308,通过数据导体310耦合到DM308的计算引擎CE312,耦合到CE312的数据输出导体314,通过控制导体317、318和319分别耦合到IPC304、DM308和CE312的控制和测试电路CTC316,通过数据导体322耦合到DM308的数据共享电路DSC320,通过数据导体323耦合到CE312的数据共享电路DSC320,通过控制导体324耦合到控制和CTC316的数据共享电路DSC320以及耦合到数据共享导体326的数据共享电路DSC320。在本文中,“导体”是指“一条或多条导电信号线的总线”。DPU300的操作与图1中DPU100的操作相似,但更一般化。例如,在一些实施方案中,输入处理电路304可执行与复用器104相似的多路复用功能,但可包含用于处理输入数据以及为DPU300提供测试功能的其他电路,包括输入数据线302的DPU间的连接。同样地,在一些实施方案中,数据存储器308可用于值数据和系数数据,但可也用于根据计算引擎312的功能来存储其他种类的数据。计算引擎312可执行乘积和累加功能,但可也包括启用其他类型计算的硬件或软件。CE312可还在加电、系统复位或飞行时被配置或重新配置,以在不同时间根据设计选择执行不同的计算。控制和测试电路316可协调IPC304、DM308、CE312和DSC320之间的交互作用。CTC316可在正常阵列处理时间期间以其正常计算模式运行DPU300能够在适当时间控制其测试功能,根据需要配置或重新配置DPU300的任何部分能够改变DSC320的路由互连配置以更换有缺陷的DPU300、有缺陷的DM或有缺陷的CE,并且可协调DPU300的数据流入和流出。DSC320可提供在相同计算阵列中DPU300之间互相切换的功能。在一些实施方案中,与共享数据导体326组合的DSC320可允许一个DPU300中的计算引擎312访问另一DPU300中的数据存储器308。同样地,在一些实施方案中,例如不同DPU300的计算引擎312之间可经由共享数据导体326分享溢出数据。在其他实施方案中,整个CE312或DM308可作为阵列修复的一部分被彻底替换。本领域的技术人员理解,DPU300的输出导体314可耦合到多个DPU300的输入数据导体302,以允许不同的计算阵列配置以及计算阵列冗余和修复。同样地,此类技术人员理解,足够数量的输入数据导体302可被耦合到其他DPU300,以允许不同的计算阵列配置以及计算阵列冗余和修复。此类技术人员还理解,共享数据导体326可为单向的或双向的,并且足够数量的共享数据导体326可耦合到其他DPU300的数据共享导体326以允许不同的计算阵列配置,将溢出数据传递到运行并行计算的DPU,并且允许计算阵列冗余和修复。此类技术人员也知晓,在一些实施方案中能够存在多于一个输出数据导体314,以简化不同的计算机阵列配置、冗余和修复。图3B示出了根据本发明的实施方案的图3A的示例性DPU300,示出其被划分成计算块330和存储块332。DPU300的功能与图3A中所示基本相同。该分区可允许在两个不同的半导体晶片上制造DPU的一部分电路,然后组装在一起作为单个电路。这不仅可以节省管芯面积和封装成本,而且还允许使用不同的技术节点和或更适合计算和存储器功能的不同方法来制造计算块330和存储块332。在一些实施方案中,CTC316可用于配置DPU300,以隔离有缺陷的存储块332并允许计算块330通过数据导体323、DSC320和数据共享导体326访问另一DPU300中的存储块332的数据。同样地,在一些实施方案中,CTC316可用于配置DPU300,以隔离有缺陷的计算块330并允许存储块332通过数据导体322、DSC320和数据共享导体326访问另一DPU300中的计算块330。图3C示出了根据本发明的实施方案的图3A的示例性DPU300的阵列340。阵列340包括DPU300的行和列。还示出了计算块330和存储块332。在该实施方案中,DPU300以及其计算块330和存储块332的每个示例均在相同的集成电路中实现。阴影区域抽象地示出了DPU300之间的路由342。虽然图中示出了DPU300之间的路由342,但本领域技术人员知晓,互连可不仅围绕DPU300,也可贯穿其中。路由342用于数据输入导体302、数据输出导体312和数据共享导体326的互连,以及全局控制信号导体、时钟信号导体、电力和接地供电导体等的布局。本领域普通技术人员知晓,这些不同导体可以许多方式作为阵列340的预期应用来组织和互连,并且取决于本发明的每个实施方案的设计选择。图3D示出了根据本发明实施方案的图3A的示例性DPU300的阵列350,其中存储块被移除。图3D示出了阵列350中DPU300的行和列。此外,示出的还有计算块330和抽象路由342。这些与图3C中的计算块330和路由342相似。在每个DPU300中,抽象示出了四个小型互连垫片内部“X”形的无标记正方形。这些是图3B中所示导体306、310、318和324的块间部分的占位符,并且示出到最终组装在计算块330的顶部的存储块332的连接点。图3E示出了根据本发明实施方案的图3D的阵列340未示出中储存块332位于DPU300的位置上方的示例性阵列360。在每个存储块332中,抽象示出了四个小型互连垫片内部“X”形的无标记正方形。这些是图3B中所示导体306、310、318和324的占位符,并且示出到最终组装在存储块332底部的计算块330的连接点。在该实施方案中,存储块332之间可不直接互连。该隔离允许相同晶圆被刻划成包括不同尺寸的阵列360的集成电路,以与用于不同应用中不同尺寸的阵列350配对。因此,一个掩模组可为整个零件系列包括装置的全部存储块322,其中阵列350大小不同且计算块220设计不同或可配置用于不同的应用,从而节约相当大的掩模制造成本。图3F分别示出了根据本发明实施方案的图3D和图3E的阵列350和360的组合结构的侧视图370。DPU300的计算块330部分和路由352如集成电路的基板372中制造的所示,而DPU300的存储块332部分则如集成电路的衬底374中制造的所示。未标记的竖直小箭头为图3B中所示导体306、310、318和324的块间部分的占位符,并且当结构被完全组装时示出计算块330和存储块332之间的连接点。在该实施方案中能够根据设计选择使用任何面对面F2F或晶片到晶片W2W键合连接来完成组装。图3G分别示出了根据本发明实施方案的图3D和图3E的阵列350和360的组合结构的侧视图380。DPU300的计算块330部分和路由352如集成电路的基板382中制造的所示,而DPU300的存储块部分则如集成电路的基板384中制造的所示。未标记的竖直小箭头为图3B中所示导体306、310、318和324的块间部分的占位符,并且当结构被完全组装时示出计算块330和存储块332之间的连接点。在该实施方案中,使用通过硅通孔TSV技术的管芯堆叠来实现组装。虽然在采用多项TSV的任何实施方案中使用多项TSV,但图3G中仅标记了一项示例性TSV386。回到图3B,数据共享电路320是有利的,因为其允许如图3C至图3G中所示出的阵列一般利用数据共享导体326在多个DPU300之间共享数据。第一个优点是,提供了将溢出结果传递到相邻DPU的方法,以确保计算的完整性。第二个优点是允许阵列自愈,因为DPU300可利用另一DPU300的数据存储器308进行存储。第三个优点是考虑到计算需要在DPU300之间共享计算输入以及其他数据,例如,如在GPU、DSP和其他阵列处理器中的一些SIMD单指令、多数据计算架构中一般,使用单倍、双倍、四倍等精度进行浮点运算。第四个优点是,三维3D结构改善了性能,因为DPU300之间的距离减小,使得DPU间的驱动器可以更小。第五个优点是,在管芯间连接中,尤其是采用F2F和W2W键合技术的实施方案中,三维结构还使得电容有所减小。第六个优点是,较低的电容降低了DPU阵列中的总功率。第七个优点是,距离减小有利于更换有缺陷的计算块330和有缺陷的存储块332。本领域普通技术人员知晓能够利用数据共享导体326通过多种方式将不同DPU300中的DSC320互相耦合。图4A示出了根据本发明实施方案的图3A的示例性DPU300的阵列400。附图标号402处抽象示出了DPU300之间的各种互连的路由。DPU被标记为300A至300H、300J至300N和300P至300Z,以便讨论数据共享导体326。在该实施方案中,DPU300Q通过包含一个或多个数据共享导体326未标记的不同组耦合到其四个最近的邻近DPU300J、300P、300R和300W。在任何给定的实施方案中,每个数据共享导体326可根据设计选择被配置为以单向方式或双向方式传输数据。在任何给定的实施方案中,每个数据共享导体326可根据设计选择被配置为以单向方式或双向方式传输数据。图4B示出了根据本发明实施方案的图3A的示例性DPU300的阵列410。附图标号412处抽象示出了DPU300之间的各种互连的路由。DPU被标记为300A至300H、300J至300N和300P至300Z,以便讨论数据共享导体326。在该实施方案中,DPU300Q示出了通过包含一个或多个数据共享导体326未标记的不同组耦合到其八个最近的邻近DPU300H、300J、300K、300P、300R、300V、300W和300X。在任何给定的实施方案中,每个数据共享导体326可根据设计选择被配置为以单向方式或双向方式传输数据。图4C示出了根据本发明实施方案的图3A的示例性DPU300的阵列420。附图标号422处抽象示出了DPU300之间的各种互连的路由。DPU被标记为300A至300H、300J至300N和300P至300Z,以便讨论数据共享导体326。在该实施方案中,每行上的DPU300示出了通过数据共享导体326未标记在水平方向上耦合到其两个最近的邻近数据处理单元。例如,通过包括一个或多个数据共享导体326的不同组,DPU300Q耦合到DPU300P和DPU300R,并且DPU300L耦合到DPU300K和DPU300M。该实施方案示出了,数据共享导体326不需要在所有方向上均存在。在任何给定的实施方案中,每个数据共享导体326可根据设计选择被配置为以单向方式或双向方式传输数据。本领域技术人员知晓,在抽象互连器422中也存在输入导体302和输出导体314,并且在该实施方案中可通过这些导体进行垂直通信。图4D示出了根据本发明实施方案的示例性DPU300的阵列430。附图标号432处抽象示出了DPU300之间的各种互连的路由。DPU被标记为300A至300H、300J至300N和300P至300Z,以便讨论数据共享导体326。在该实施方案中,每行上的DPU300示出了通过数据共享导体326未标记在水平方向上耦合到其两个最近的邻近数据处理单元。例如,DPU300Q耦合到DPU300P和DPU300R,并且DPU300L耦合到DPU300K和DPU300M。此外,另一组数据共享导体326示出了在水平方向上将两列DPU300相连,在垂直方向上连接为一行。例如,通过包括一个或多个数据共享导体326的不同组,DPU300Q耦合到DPU300U和DPU300L,并且DPU300K耦合到DPU300P和DPU300F。该实施方案示出了,数据共享导体326在阵列430中无需水平或垂直对称设置。同样地,不需要对角、圆形或任何其他对称形式。在任何给定的实施方案中,每个数据共享导体326可根据设计选择被配置为以单向方式或双向方式传输数据。本领域技术人员知晓,DPU300以及其相关导体302、314和326的相对位置诸如水平和垂直、上下、左右等均为抽象描述,并且说明了特定图示中的局部条件。例如能够通过简单将阵列旋转90°来切换水平和竖直方向。同样地,对阵列进行镜像反射可进行左右或上下切换。此类技术人员还知晓,在将存储块332放置在计算块330上方的实施方案中,这也是一个抽象描述,并且可通过简单的镜像反射或旋转切换上下方向。回到图3E,在一些实施方案中,存储块332之间可能不存在互连。这意味着,在组装前,存储块可完全独立。可通过探测以常规方式进行测试,或者在与包含图3D所示的计算块330的管芯组装在一起后形成DPU300的完整实例。当与计算块220组装形成DPU200的完整实例时,这可也适用于图2E中的存储块222。回到图3B,控制和测试电路CTC316耦合到IPC304、DM308、CE312和DSC320。在测试模式中,CTC316可对计算块330中的所有电路进行本地内置自检BIST。当存储块332耦合到计算块330时,CTC316可对整个DPU300进行本地BIST。在一些实施方案中,此为测试存储块332的唯一方式。当例如图3F和3G中的集成电路374和384分别制造时能够能需要避免对集成电路存储块332进行探测和测试的测试成本。在采用这种方法的实施方案中能够产生多种优点。在一些实施方案中能够制造除存储块332以及可能在一些位置中的一些测试结构之外都不包括的整个晶片。此类晶片可用于为具有不同尺寸的计算块330阵列的集成电路提供存储器阵列360。在此类实施方案中,存储块332晶圆可被刻划成具有不同行数和列数的矩形,以通过使用面对面或通过硅键合技术拟合到计算块330的特定阵列中。在一些实施方案中能够制造除存储块332以及可能在一些位置中的一些测试结构之外都不包括的整个晶片,并且对准时,该晶片可使用晶片到晶片键合技术键合到包括集成电路的晶片,该集成电路具有包括计算阵列330和其他电路的计算阵列。与计算块330对齐的存储块332将形成DPU300,而存储块332的剩余部分可被废弃。可能需要蚀刻存储块332晶片的未使用部分,或使用TSV或其他方式来连接计算块330晶片。虽然F2F或W2W技术明显降低了成本,同时也带来了挑战。具体而言,仅在整个DPU300组装后使用CTC316来测试存储块332,这可能需要校正组装后检测到的缺陷。在利用图2A中DPU200的实施方案中,计算块220或存储块222中的缺陷需要将整个DPU200标记为有缺陷的且不可使用的。为此,存在诸多方法。例如,在一些实施方案中能够插入DPU200闲置和通常未使用的行和或列。当定位有缺陷的DPU200时能够停用行或列,并且将通过有缺陷的行或列的信号多路复用,以允许阵列正常工作。在其他实施方案中,DPU200的阵列中使用的算法足以允许几个单独的DPU200不运行,且不破坏计算的总体准确性。为此,存在诸多方法。例如,计算引擎212的输出可被设定为标称输出值或平均输出值。如此,数据输出导体214将向阵列中的其他DPU200呈现标称值或平均值,并且阵列的总体结果可具有足够的准确性。在利用图3A中DPU300的实施方案中,计算块330或存储块332中的缺陷可不需要将整个DPU300标记为有缺陷的且不可使用。与数据共享导体326组合的数据共享电路320可允许有缺陷的存储块332的计算块330使用附近DPU300中的部分或全部的数据存储器308。这可能使阵列更好地进行自愈工作,并且允许在F2F或W2W键合后以更高的产率进行测试。同样地,有缺陷的计算块330可与功能完善的相邻的计算块330共享其存储块332。该共享和自愈功能的程度和互连方式取决于特定计算阵列的设计选择。修复有缺陷的DPU300的另一种方法是,在计算块330内纳入一些可编程逻辑和或可编程路由。在一些实施方案中,计算块330的功能部分可至少部分地与可编程逻辑和或可编程路由一起实现。该DPU300可不时被重新编程,以在正常操作的不同部分期间产生多个不同的计算功能。在一些实施方案中能够出于将计算功能与存储器功能分离之外的其他原因,对DPU300进行分区。例如,DPU330可被分区,使得计算功能的一部分以及存储器功能的一部分部分地存在于每个分区。这在F2F或W2W结构中可能具有优点,其通过使两个计算函数部分直接在彼此的上方和下方以减小线长度并加快计算速度。类似的优点可积累,与单个较大的存储器功能相比,每个部分存储器功能更小,因此速度单独更快。在一些实施方案中,不同DPU300的计算引擎312可能具有不同的计算功能。在启动时、在系统复位期间、针对不同操作模式或根据请求,这些可被硬连线到计算引擎312中,或者通过控制和测试电路316被编程到计算引擎312中。这可也适用于采用DPU200、计算引擎212以及控制和测试电路216的实施方案。本领域普通技术人员知晓,上述附图和描述仅为示例。检查本公开后,将易于向此类技术人员推荐其他实施方案。因此,除所公开的权利要求书之外,本发明不受任何限制。

权利要求:1.一种包括数据处理单元的行和列的计算阵列,每个数据处理单元包括:多个数据输入导体,每个输入数据导体包括一条或多条导电信号线的总线;输入处理电路,所述输入处理电路耦合到所述多个数据输入导体;数据存储器,所述数据存储器耦合到所述输入处理电路;计算引擎,所述计算引擎耦合到所述数据存储器;数据输出导体,所述数据输出导体耦合到所述计算引擎,所述数据输出导体包括一条或多条导电信号线的总线;和控制和测试电路,所述控制和测试电路耦合到所述输入处理电路、所述数据存储器和所述计算引擎,其中每个数据输入导体耦合到另一数据处理单元的所述数据输出导体,并且每个数据输出导体耦合到另一数据处理单元的所述数据输入导体。2.根据权利要求1所述的计算阵列,其中:每个数据处理单元被划分为大致包括数据储存器的存储块以及大致包括数据处理单元的剩余部分的计算块,相同数据处理单元中的每个存储块以及其相关联的计算块来自两个不同的集成电路,并且相同数据处理单元中的每个存储块和计算块通过以下至少一种互连技术耦合在一起:面对面键合、晶片到晶片键合、通过连接硅、介电键合技术、氧化物与氧化物直接键合以及混合键合。3.根据权利要求2所述的计算阵列,其中每个控制和测试电路被配置为:测试其数据处理单元的功能,以及测试耦合到其数据处理单元的其它数据处理单元之间的数据输入导体连接和数据输出导体互连。4.根据权利要求3所述的计算阵列,其中每个控制和测试电路被配置为对其数据处理单元中的计算引擎的计算功能进行编程。5.根据权利要求1所述的计算阵列,每个数据处理单元还包括:多个数据共享导体,所述多个数据共享导体耦合到多个其他数据处理单元的数据共享导体,每个数据共享导体包括一条或多条导电信号线的总线;和数据共享电路,所述数据共享电路耦合到所述数据共享导体、所述数据存储器、所述计算引擎以及所述控制和测试电路,并被配置为:选择性地将所述数据存储器耦合到所述多个数据共享导体,以及选择性地将所述计算引擎耦合到所述数据共享导体。6.根据权利要求5所述的计算阵列,其中:每个数据处理单元被划分为大致包括所述数据储存器的存储块以及大致包括所述数据处理单元的剩余部分的计算块,相同数据处理单元中的每个存储块以及其相关联的计算块来自两个不同的集成电路,并且相同数据处理单元中的每个存储块以及其相关联的计算块通过以下至少一种互连技术耦合在一起:面对面键合、晶片到晶片键合、通过连接硅、介电键合技术、氧化物与氧化物直接键合以及混合键合。7.根据权利要求6所述的计算阵列,其中每个控制和测试电路被配置为:测试与其相关联的数据处理单元的功能,测试耦合到其数据处理单元的其它数据处理单元之间的数据输入导体连接和数据输出导体互连,以及测试耦合到其数据处理单元的其他数据处理单元之间的数据共享互连。8.根据权利要求7所述的计算阵列,其中每个控制和测试电路被配置为对其数据处理单元中的计算引擎的计算功能进行编程。9.根据权利要求6所述的计算阵列,其中每个数据共享电路可被配置为允许相同数据处理单元中的所述计算引擎访问不同数据处理单元的所述数据存储器。10.根据权利要求9所述的计算阵列,其中允许相同数据处理单元中的所述计算引擎作为所述数据共享电路访问不同数据处理单元的所述数据存储器能够彻底替换相同数据处理单元的所述数据存储器。11.根据权利要求6所述的计算阵列,其中每个数据共享电路可被配置为允许相同数据处理单元中的所述数据存储器访问不同数据处理单元的所述计算引擎。12.根据权利要求11所述的计算阵列,其中允许相同数据处理单元中的所述数据存储器作为所述数据共享电路访问不同数据处理单元的所述计算引擎能够彻底替换相同数据处理单元的所述计算引擎。13.根据权利要求5所述的计算阵列,其中每个数据共享电路可被配置为允许相同数据处理单元中的所述计算引擎访问不同数据处理单元的所述数据存储器。14.根据权利要求13所述的计算阵列,其中允许相同数据处理单元中的所述计算引擎作为所述数据共享电路访问不同数据处理单元的所述数据存储器能够彻底替换相同数据处理单元的所述数据存储器。15.根据权利要求5所述的计算阵列,其中每个数据共享电路可被配置为允许相同数据处理单元中的所述数据存储器访问不同数据处理单元的所述计算引擎。16.根据权利要求15所述的计算阵列,其中允许相同数据处理单元中的所述数据存储器作为所述数据共享电路访问不同数据处理单元的所述计算引擎能够彻底替换相同数据处理单元的所述计算引擎。17.一种用于组装计算阵列的方法,每个计算阵列包括数据处理单元的行和列,每个数据处理单元则被划分为计算块和存储块,该方法包括:制造集成电路的第一晶片,其中所述集成电路的主要部分包括多个数据处理单元的所述计算块部分的阵列;制造集成电路的第二晶片,其中:所述集成电路的主要部分包括数据处理单元的所述存储块部分的阵列,并且所述存储块部分的阵列的至少一些阵列被设定尺寸和间隔,使得当所述晶片被对准时,其与所述第一晶片上的计算阵列中的所述数据处理单元的所述计算块部分对齐;以及使用以下至少一项互连技术将所述第一晶片和所述第二晶片键合在一起,以形成多个计算阵列:面对面键合、晶片到晶片键合、通过连接硅、介电键合技术、氧化物与氧化物直接键合以及混合键合,其中所述对齐的存储块部分和计算块部分电耦合以在两者均存在的位置处形成完整的数据处理单元。18.一种用于组装计算阵列的方法,每个计算阵列包括数据处理单元的行和列,每个数据处理单元则被划分为计算块和存储块,该方法包括:制造集成电路的第一晶片,其中所述集成电路的主要部分包括多个数据处理单元的所述计算块部分的阵列;制造集成电路的第二晶片,其中:所述集成电路的主要部分包括数据处理单元的所述存储块部分的阵列,并且所述存储块部分的阵列的至少一些阵列被设定尺寸和间隔,使得当所述晶片被对准时,其与所述第一晶片上的所述计算阵列中的所述数据处理单元的所述计算块部分对齐,所述第二晶片的所述存储器部分之间的间距使其可用作切割线;所述第一晶片包括计算集成电路,该电路包括有X行和Y列的计算块部分的阵列X和Y均为正整数,并且所述第二晶片被配置为刻入集成电路包括存储集成电路,该电路包括有X行和Y列的存储块部分的阵列;将所述第二晶片刻入集成电路包括计算集成电路,该电路包括有X行和Y列的存储块部分的阵列;以及使用以下至少一项互连技术将所述存储集成电路和所述计算集成电路粘结到一起,以形成有X行和Y列的数据处理单元的计算阵列:面对面键合、晶片到晶片键合、通过连接硅、介电键合、氧化物与氧化物直接键合以及混合键合。

百度查询: 艾克瑟尔西斯公司 自愈计算阵列

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。