CN105359119A - 具有使得能够实现多维中的不同访问模式的配线结构的存储器架构 - Google Patents

具有使得能够实现多维中的不同访问模式的配线结构的存储器架构 Download PDF

Info

Publication number
CN105359119A
CN105359119A CN201480036153.XA CN201480036153A CN105359119A CN 105359119 A CN105359119 A CN 105359119A CN 201480036153 A CN201480036153 A CN 201480036153A CN 105359119 A CN105359119 A CN 105359119A
Authority
CN
China
Prior art keywords
processor
memory
storer
wordline
access
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201480036153.XA
Other languages
English (en)
Other versions
CN105359119B (zh
Inventor
阿尔泊·布约克托苏诺格鲁
菲利普·G·埃玛
艾伦·M·哈特斯坦
M·B·海利
K·K·凯拉斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN105359119A publication Critical patent/CN105359119A/zh
Application granted granted Critical
Publication of CN105359119B publication Critical patent/CN105359119B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3177Testing of logic operation, e.g. by logic analysers
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318536Scan chain arrangements, e.g. connections, test bus, analog signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/30Accessing single arrays
    • G11C29/32Serial access; Scan testing

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Microcomputers (AREA)

Abstract

提供了多维存储器架构,所述多维存储器架构具有使得能够实现多维中的不同访问模式的访问配线结构。此外,提供了三维多处理器系统,所述三维多处理器系统包括多维缓存存储器架构,所述多维缓存存储器架构具有使得能够实现多维中的不同访问模式的访问配线结构。

Description

具有使得能够实现多维中的不同访问模式的配线结构的存储器架构
交叉引用
本发明要求2013年6月26日递交的申请号为13/927,846的美国专利申请的优先权,其公开的内容通过引用的方式被结合到本文中。
技术领域
本发明的技术领域一般地涉及多维存储器架构,该多维存储器架构具有使得能够实现多维中的不同访问模式的访问配线结构,并且涉及三维(3-D)多处理器系统,该三维多处理器系统具有多维缓存存储器架构,该多维缓存存储器架构具有使得能够实现多维中的不同访问模式的访问配线结构。
背景技术
在半导体处理器芯片制造领域,在处理器技术的早期阶段,很多公司制造单芯片处理器。在过去的十年左右,随着摩尔定律继续收缩尺寸,很多公司和其他实体已经开始设计在一层上具有多个处理器的处理器芯片。然而,由于芯片上处理器数目的增长,处理器之间的片上通信变得困难。例如,2-D尺寸的处理器芯片增长到容纳更多的处理器,处理器之间的水平配线长度的增长(在毫米和厘米的范围)导致处理器之间通信的周期时延,并且要求使用沿处理器之间通信链路的高性能片上驱动。此外,随着运行频率增长,与处理器之间通信有关的周期时延增长。
发明内容
本发明的实施例一般地包括多维存储器架构,该多维存储器架构具有使得能够实现多维中的不同访问模式的访问配线结构,以及具有多维缓存存储器架构(该多维缓存存储器架构具有使得能够实现多维中的不同访问模式的访问配线结构)的3-D多处理器系统。
例如,在本发明的一个实施例中,存储器结构包括第一级存储器和第二级存储器。所述第一级存储器包括第一存储器单元阵列以及具有第一模式的字线和位线的第一访问配线结构。所述第一存储器单元阵列中的每个存储器单元包括存储元件以及连接到所述存储元件和所述第一访问配线结构的第一访问设备。所述第二级存储器包括具有第二模式的字线和位线的第二访问配线结构、以及连接到所述第二访问配线结构的多个第二访问设备。所述第二访问设备也被连接到对应的所述第一级存储器的存储元件。所述第一访问配线结构的所述第一模式的字线和位线不同于所述第二访问配线结构的所述第二模式的字线和位线,从而提供访问相同存储器单元阵列的不同访问模式。
本发明的另一个实施例中,存储器结构包括第一级存储器和第二级存储器。所述第一级存储器包括第一存储器单元阵列和具有第一模式的字线和位线的第一访问配线结构。所述第一存储器单元阵列中的每个存储器单元包括第一存储元件以及连接到所述第一存储元件和所述第一访问配线结构的第一访问设备。所述第二级存储器包括第二存储器单元阵列和具有第二模式的字线和位线的第二访问配线结构。所述第二存储器单元阵列中的每个存储器单元包括第二存储元件以及连接到所述第二存储元件和所述第二访问配线结构的第二访问设备。所述存储器结构进一步包括跨所述第一级和所述第二级存储器连接到存储器单元的多个字线。
本发明的另一实施例中,访问存储器的方法包括将数据存储在存储器单元阵列中,使用连接到所述存储器单元的第一模式的访问配线访问所述存储器单元阵列中的数据,以及使用连接到所述存储器单元的第二模式的访问配线访问所述存储器单元阵列中的数据,其中所述第一和所述第二模式的访问配线不同。在一个实施例中,所述存储器单元阵列是存储器单元的2-D阵列。在另一个实施例中,所述存储器单元阵列是存储器单元的3-D阵列。在一个实施例中,第一模式的访问配线被部署在所述3-D阵列的第一平面上,并且所述第二模式的访问配线被部署在不同与所述第一平面的所述3-D阵列的第二平面上。所述第一和第二平面可以是平行的或垂直的。
结合附图来阅读下面的示例实施例的详细说明,这些实施例将会被描述并变得清晰。
附图说明
图1是多处理器芯片的示意图。
图2是根据本发明的示例实施例的3-D堆叠的多处理器的示意图。
图3是芯片封装结构的示意图。
图4概念地描述了根据本发明的另一个示例实施例的3-D堆叠的多处理器结构。
图5示意地描述了根据本发明的另一个示例实施例的3-D堆叠的多处理器结构的物理实施,其基于图4中示出的概念性实施。
图6示意地描述了根据本发明的示例实施例的用于控制3-D堆叠的多处理器结构的多模式运行的方法。
图7是本发明的原理可以被应用到的处理器的示意图。
图8是根据本发明的示例实施例的、包括具有与图7中描述的相同的处理器布局的一对处理器的3-D堆叠的多处理器设备的示意图。
图9A是根据本发明的示例实施例的、包括具有对齐的L2和L3缓存的相互之间垂直堆叠的第一和第二处理器的3-D堆叠的多处理器设备的示意图。
图9B是根据本发明的示例实施例的、具有联合用于作为共享的L3缓存的第一和第二处理器的运行的L3缓存的图9A的3-D堆叠的多处理器设备的示意图。
图9C是根据本发明的示例实施例的、具有联合用于作为共享的L2缓存和共享的L3缓存的第一和第二处理器的运行的L2缓存以及L3缓存的图9A的3-D堆叠的多处理器设备的示意图。
图10是根据本发明的另一个示例实施例的3-D堆叠的多处理器设备的示意图。
图11示意地描述了根据本发明的示例实施例的、图10中示出的处理器的多个组件之间的通信链路。
图12示意地描述了用于平面处理器系统的处理器互联结构。
图13示意地描述了根据本发明的示例实施例的、用于3-D堆叠的多处理器系统的处理器互联结构。
图14示意地描述了根据本发明的另一个示例实施例的、用于3-D堆叠的多处理器系统的处理器互联结构。
图15是根据本发明的示例实施例的、具有基于图14的处理器互联结构的处理器互联结构的3-D堆叠的多处理器系统的示意顶视图。
图16示意地描述了根据本发明的另一个示例实施例的、用于3-D堆叠的多处理器系统的处理器互联结构。
图17A示意地描述了根据本发明的示例实施例的、具有相同布局的两个处理器,其中两个相同处理器的相应区域被标识为快于或者慢于其对应的区域。
图17B示意地描述了根据本发明的示例实施例的、通过垂直地堆叠图17A中示出的两个处理器而形成的、并作为包括每个处理器的相应区域中的最快区域的单个的处理器而运行的3-D堆叠的处理器结构。
图18示意地描述了根据本发明的示例实施例的、用于在3-D堆叠的处理器系统中实施run-ahead(超前)功能的方法。
图19示意地描述了根据本发明的示例实施例的,通过垂直地堆叠多个处理器(每个具有相似的状态寄存器布局)而形成的3-D堆叠的处理器结构,其中,该多个处理器可以被独立地运行或者以协作的模式运行以共享它们的状态寄存器。
图20示出了图19的3-D堆叠的处理器结构的多种运行模式。
图21是描述图19的3-D堆叠的处理器结构的一种运行模式的流程图。
图22示意地描述了本发明的实施例可以被应用到的存储器阵列。
图23A、23B、23C共同地描述了根据本发明的示例实施例的、用于构建包括具有不同访问模式的多层存储器的存储器结构的方法。
图24示意地描述了用于两个存储器4x4块A和B中存储的矩阵的相乘、并将矩阵相乘结果存储在4x4块C中的处理。
图25示意地描述了根据本发明的示例实施例的、用于使用单个原始操作来访问存储器的行和列的方法。
图26描述了根据本发明的示例实施例的、包括存储器单元阵列和斜线访问配线模式的存储器阵列。
图27描述了根据本发明的另一个示例实施例的、包括存储器单元阵列和斜线访问配线模式的存储器阵列。
图28描述了根据本发明的另一个示例实施例的、包括存储器单元阵列和列位移访问配线模式的存储器阵列。
图29示意地描述了本发明的示例实施例的、使得能够实现多层存储上的3-D访问模式的3-D存储器结构。
图30A、30B和30C示意地描述了根据本发明的示例实施例的、用于访问使用图29的示例3-D存储器结构的多维中的数据的方法。
图31描述了根据本发明的示例实施例的、用于将2-D数据阵列结构存储在存储器中的方法,其使得在一个操作中能够实现对行和列的访问。
图32示意地描述了根据本发明的示例实施例的、用于将数据的3-D阵列存储在3-D存储器结构中的方法。
图33是本发明的实施例可以被应用到的多芯片系统的侧示意图。
图34是本发明的实施例可以被应用到的3-D计算机处理器系统的高层视图。
图35是根据本发明的实施例的多芯片系统的侧示意图。
图36描述了根据本发明的实施例的3-D计算机处理器系统,该3-D计算机处理器系统通过联合多个图35中示出的多芯片系统而被构建。
图37示意地描述了根据本发明实施例的、用于将全局总线连接到3-D计算机处理器系统的每个多芯片系统的技术手段。
图38描述了根据本发明的另一个实施例的3-D计算机处理器系统。
图39描述了根据本发明的另一个实施例的3-D计算机处理器系统。
图40示意地描述了根据本发明的实施例的、具有至少一个测试层(该测试层具有用于功能层的扫描测试和系统状态检查点(checkpointing)的电路)的3-D处理系统。
图41示意地描述了根据本发明的实施例的、用于3-D处理系统中的功能层的扫描测试和系统状态检查点(checkpointing)的测试层电路的架构。
图42示意地描述了根据本发明的另一个实施例的、具有至少一个测试层(该测试层具有用于多个功能层的扫描测试和系统状态检查点(checkpointing)的电路)的3-D处理系统。
图43示意地描述了根据本发明的另一个实施例的、具有多个测试层(该测试层具有用于多个功能层的扫描测试和系统状态检查点(checkpointing)的电路)的3-D处理系统。
图44示意地描述了根据本发明的实施例的3-D处理系统的测试层和功能层的电路。
图45是描述根据本发明的实施例的、用于在具有至少一个测试层(该测试层具有用于功能层的上下文转换和系统状态检查点(checkpointing)的电路)的3-D处理系统中获取系统状态和恢复系统状态的方法的流程图。
具体实施方式
关于通过以堆叠的配置连接多个处理器而形成的3-D多处理器设备,以及用于控制3-D堆叠的多处理器设备以选择地以多资源聚集和共享模式中的一个模式运行的方法,本发明的示例实施例将被进一步详细地描述。
图1是本发明的原理可以被应用到的多处理器芯片的示意图。具体地,图1示意地描述了多处理器芯片10,多处理器芯片10包括在晶片(die)12上具有多个处理器C1、C2、…、C49(通常表示为Cn)的半导体晶片12。以“平面的”系统安排处理器Cn,其中每个处理器Cn具有2-D空间中的自己专用的占用空间(footprint)。如已经为本领域技术人员所理解的,在2-D平面中,使用形成为芯片10的BEOL(backendofline,线的后端)结构的一部分的水平配线和电连接,处理器Cn可以彼此互相连接。
在如图1示出的平面系统中,随着处理器数目的增长,处理器之间的通信变得有问题。例如,随着芯片的2-D尺寸增长到容纳更多的处理器,处理器之间的水平配线的长度增长(在mm或cm的范围),引起处理器之间通信链路的周期时延。这一周期时延要求使用沿处理器之间通信链路的高性能片上驱动。此外,随着运行频率的增长,这一周期时延也增长。
本发明的原理利用芯片堆叠技术使用多层处理器芯片来形成3-D堆叠的多处理器结构,其中,两个或更多的处理器芯片被聚集为一个具有单个芯片“占用空间(footprint)”的单个的堆叠的系统(即,该堆叠的处理器芯片表现为一个单个的芯片)。本文中使用的术语“处理器芯片”表示具有一个或更多的处理器的任何半导体芯片或晶片。本文中使用的术语“多处理器芯片”表示两个或更多的处理器的任何半导体芯片或晶片。通常,在3-D堆叠的结构中,两个或更多的芯片层包括使用短垂直互联而被对齐和互相连接的处理器,这样一层中的处理器被对齐和连接到另一层中对应的处理器。将被理解的是,当不同处理器芯片层上的两个不同的处理器或处理器组件/组分被称作互相“对齐”时,术语“对齐”指代,例如,该两个不同的处理器或处理器组件/组分在不同层上互相至少部分地重叠或者全部地重叠。在这点上,处理器芯片的不同层上的两个处理器或处理器组件/组分可以被全部地对齐,这样处理器或组件是在处理器芯片的3-D堆叠中每一平面的相同的2-D位置。可选地,处理器或处理器的组件/组分可以被大致地对齐,但在处理器芯片的3-D堆叠中每一平面的2-D位置之间有一些偏离。
例如,图2是根据本发明的示例实施例的3-D堆叠的多处理器的示意图。具体地,图2示意地描述了包括第一多处理器芯片22A和垂直地堆叠在该第一多处理器芯片22A上的第二多处理器芯片22B的3-D堆叠的多处理器芯片20。在图2的示例实施例中,多处理器芯片22A和22B基本上相同(在组件结构上相同,但在互联结构上可以不同),并被描述为具有49个集成的处理器,与图1中描述的多处理器芯片10相类似。具体地,第一多处理器芯片22A包括多个处理器C1A、C2A、…、C49A,并且第二多处理器芯片22B包括多个处理器C1B、C2B、…、C49B。第一和第二处理器芯片22A和22B被彼此垂直地堆叠,并且彼此互相连接,这样处理器对C1A/C1B、C2A/C2B、….、C49A/C49B(一般地,CnA/CnB)被彼此对齐和使用垂直连接被互联。
以图2中描述的示例结构为例,每个对齐的处理器堆叠CnA/CnB包括多个垂直连接的处理器,该处理器通常共享相同的I/O连接。这些I/O连接被内部地复用,这样在2-D空间中的每个处理器位置,多个垂直堆叠的(和互联的)处理器CnA/CnB逻辑地表现为(对于其他堆叠的处理器)作为一个单个的处理器运行和起作用。本发明的原理可以被扩展到包括多个3-D堆叠的多处理器芯片(例如图2中示出的)被一起封装在一个封装基底上。参考图3、4和5,这些原理将被进一步详细地描述。
图3是本发明的原理可以被应用到的芯片封装结构的示意图。具体地,图3描述了处理器系统30,处理器系统30包括封装基底32和安装在封装基底32上的多个处理器芯片P1、P2、P3、P4、P5和P6。封装基底32包括形成电配线34的多个电连接以及迹线,电配线34提供处理器芯片P1、P2、P3、P4、P5和P6之间的全部到全部的连接。处理器芯片P1、P2、P3、P4、P5和P6中的每一个都是相同的,并且可以是每个具有多个处理器的多处理器芯片。
图4和图5示意地描述了根据本发明的另一个示例实施例的3-D堆叠的多处理器系统。具体地,图4是示例的3-D堆叠的多处理器封装结构40的概念图。与图3中描述的封装结构30类似,图4的3-D堆叠的多处理器封装结构40包括封装基底32和安装在封装基底32上的多个第一层处理器芯片P1A、P2A、P3A、P4A、P5A和P6A。封装基底32包括形成电配线34的多个电连接以及迹线,电配线34提供处理器芯片P1A、P2A、P3A、P4A、P5A和P6A之间的全部到全部的连接。处理器芯片P1A、P2A、P3A、P4A、P5A和P6A中的每一个都是相同的,并且可以是每个具有多个处理器的多处理器芯片。
如图4中进一步示出的,使用短垂直连接36,多个第二层处理器芯片P1B、P2B、P3B、P4B、P5B和P6B被垂直地部署和安装在对应的第一层处理器芯片P1A、P2A、P3A、P4A、P5A和P6A。第二层处理器芯片P1B、P2B、P3B、P4B、P5B和P6B与对应的第一层处理器芯片P1A、P2A、P3A、P4A、P5A和P6A是相同的,并且可以是每个具有多个处理器的多处理器芯片。图4描述了多个虚线34a,其代表在第二层封装层的芯片中的处理器芯片P1B、P2B、P3B、P4B、P5B和P6B之间的虚拟的全部到全部的配线。这些虚拟配线34a并不物理地存在,但是代表第二层处理器芯片P1B、P2B、P3B、P4B、P5B和P6B被相互连接,并且可以使用在封装基底32上形成的相同的物理配线34来通信。
图5示意地描述了根据本发明的另一个示例实施例的3-D堆叠的多处理器结构50的物理实现,其基于图4中示出的概念性实现。如图5中描述的,3-D堆叠的多处理器封装结构50中物理地存在的仅有的配线是封装基底32上形成的配线34,以及在对应的处理器芯片堆叠P1A/P1B、P2A/P2B、P3A/P3B、P4A/P4B、P5A/P5B和P6A/P6B之间形成的短垂直连接36。在图5的3-D堆叠的多处理器封装结构50中,使用处理器芯片之间形成的垂直连接36(这些垂直连接36包括不同处理器芯片层中的对应对齐的处理器之间形成的连接),给定的垂直堆叠P1A/P1B、P2A/P2B、P3A/P3B、P4A/P4B、P5A/P5B和P6A/P6B中的处理器芯片可以互相通信。
根据本发明的示例实施例,使用已知的半导体制造技术,可以联合两个处理器芯片,其中,两个相同的处理器芯片可以被“面对背”或“面对面”绑定在一起。在面对背配置中,第一处理器芯片的活跃表面(面(face))被绑定到第二处理器芯片的非活跃表面(背),其中,两个处理器芯片的处理器和其他对应的元件被对齐。以这种结构,垂直配线(例如导电过孔)可以被形成在第一处理器芯片的活跃表面中并且被暴露为第一处理器芯片的活跃面上的第一触板阵列,并且垂直配线(例如,贯通硅过孔)可以被形成为贯通第二处理器芯片的背侧并且被暴露为第二处理器芯片的非活跃表面上的第二触板真累。当第一和第二处理器芯片被面对背(face-to-back)结合时,第一和第二触板阵列可以被焊接在一起,从而形成对齐的处理器元件之间的短垂直连接。为了缩短垂直连接的长度,可以使用已知的技术来磨削第二处理器的背侧(backside),以使得晶片更薄。
在“面对面(face-to-face)”配置中,其中互为镜像的两个相同的处理器芯片(功能上相同)被绑定,这样第一处理器的活跃表面(面)被绑定到第二处理器芯片的活跃表面(面),两个芯片的处理器和其他元件是对齐的。以这种结构,垂直配线(例如导电过孔)可以被形成在第一处理器芯片的活跃表面中并且暴露为第一处理器的活跃表面的第一触板阵列,并且垂直配线可以被形成在第二处理器芯片的活跃表面中并且暴露为第二处理器芯片的活跃表面上的第二触板阵列。当第一和第二处理器芯片被面对面结合时,第一和第二触板阵列可以被焊接在一起,从而形成对齐的处理器元件之间的短垂直连接。
以3-D堆叠的处理器系统,近似地(或真正地)共同位于它们的水平面上、但在不同层上的两个或更多的处理器可以独立地运行,或者通过聚集和/或共享资源而协作地运行来增强功能并推进运行门限、可靠性和性能,使其超越在平面系统(其中每个芯片在2维封装上具有其自身的空间)中的可能实现。参考图6-18,下面将进一步详细地描述用于控制3-D堆叠的多处理器以选择地以一种或多种多资源聚集和/或共享模式运行的多种方法。一般地,用于选择地控制3-D堆叠的多处理器的示例方法使得一组堆叠的处理器能够并行地运行,但针对特定的应用互相独立地运行。对于下面讨论的其他应用,使用处理器层之间短垂直连接作为快速通信链路,两个或多个垂直地堆叠的处理器可以通过跨多个层共享或聚集资源(例如,线程、执行单元、缓存等)而被控制以选择地以协作方式运行,以提供增强的运行。
根据本发明的示例实施例,可以使用控制方案以控制两个或更多的垂直堆叠的处理器的多模式运行,这样一个垂直堆叠中的处理器可以被选择地控制以独立地、或者以协作模式运行。例如,图6示意的描述了根据本发明的示例实施例的、用于控制3-D堆叠的多处理器结构的多模式运行的方法。具体地,图6中示出的控制方案60包括复用器61,复用器61选择地接收多个配置参数集62和64以及配置模式控制信号66作为输入。不同的配置参数集A和B被选择地输出,作为到给定的处理器的垂直堆叠的机器输入68,其中,该机器输入配置该处理器堆叠在由机器输入68指定的多个不同运行模式中的一个模式中运行。尽管为了便于描述,显示了两个输入配置参数集A和B,3个或更多的不同配置参数集可以被复用器61输入并选择地输出。将被理解的是,图6的控制方案是对于一处理器堆叠来说是本地的系统,并且给定处理器系统中的每个处理器堆叠将具有如图6中示出的对应的控制电路。
图6的控制系统60可以被全局控制系统(例如服务器处理器,该服务器处理器在控制信息中扫描并输出配置控制信号66给处理器系统中的每个复用器61以将处理器堆叠配置为给定的模式)所控制。使用对于垂直堆叠的处理器是内部(芯片上)的电路,被从每个复用器61输出到对应处理器堆叠的机器输入68可以被进一步的复用和/或解码,以控制多个I/O端口(将被共享或者被绕过)和可以被用来控制给定处理器堆叠中的不同层的处理器的共享和/或聚集的其他转换。
下面讨论的本发明的多个示例实施例中,当一个垂直堆叠中的两个或更多的处理器是空间地重合时,可以以多种模式协同地组合处理器和它们的组件,以提供处理器元组化的系统多个新的应用以增强性能。首先,将被指出的是,因为垂直处理器堆叠将两个或更多(更多或者更少,准确地或者近似地)的处理器直接放置在彼此之上,作为初始的压缩,这似乎是不可实现的,因为其增倍了与任意热点(其趋向是最多地位于处理器之中)相关的热量。考虑到这一点,通过将堆叠的处理器运行在更低功率水平(例如,通过调制运行电压和/或运行频率),示例控制防范可以被实施来控制协定位的处理器的堆叠的功率,这样总功率(例如总功率密度和/或总功率消耗)是可管理的。
更具体地,在本发明的示例实施例中,3-D堆叠的处理器设备,其通过垂直地堆叠和连接多个处理器芯片而被制造,可以多种运行模式运行以控制3-D堆叠的处理器设备的功率。例如,在具有第一和第二处理器芯片的3-D堆叠的处理器设备中,可以以第一模式选择地运行3-D堆叠的处理器设备,其中,第一处理器芯片被打开并且第二处理器芯片被关闭。在第一模式中,第一处理器芯片的每个处理器被打开并可以运行在最高频率和全功率,以封装结构能够支持的全部功率(例如,特定热点的功率密度被控制,这样对于给定封装结构,封装中给定热点处的热量不会过大)。
在另一运行模式中,可以以第二模式选择地运行3-D堆叠的处理器设备,其中第一和第二处理器都被打开。这种情形中,两个处理器芯片都可以运行在最高频率和封装结构可以支持的总功率(例如,功率密度或功率消耗)的功率水平。在另一种情形中,在第二运行模式中,第一和第二处理器芯片中的每个处理器可以运行在小于全功率,这样3-D堆叠的处理器设备的总功率与当仅有第一处理器芯片或仅有第二处理器芯片中的每个处理器运行在全功率和/或最高频率时3-D堆叠的处理器设备的总功率基本相同。也就是,为了获取相同的功率消耗或功率密度配置,每个处理器芯片层中的处理器可以运行在较低供电电压(或较低运行频率),这样聚集的功率消耗与仅一个处理器芯片层中的处理器活跃的第一模式相同或相似。
根据本发明原理的功率控制方案基于下面的认识,即仅需要将处理器的运行频率降低小得多的比例(例如10%),可以将提供给处理器的功率降低明显的比例(例如50%)。功率控制方案可以用来选择地控制处理器的功率供电电压,或者通过调整运行频率,两者中的每个服务于调整处理器芯片的全部功率消耗。因此,具有多平面的处理器的3-D堆叠的处理器芯片结构中,调整功率供电电压、以及选择地关闭处理器平面的子集的能力允许系统中存在运行模式的范围,包括一个或多个模式,其中多平面的处理器运行在更低的电压以保持总功率与运行一个平面的处理器时消耗的总功率基本相同(或者通过运行多平面的处理器、一个平面的处理器时,在3-D堆叠的处理芯片结构中给定热点处保持相同的功率密度)。
3-D处理器堆叠中,封装上以及封装外,在每个功率控制运行模式中,每组垂直地堆叠的处理器使用相同的互联信号集。考虑到这点,因为垂直堆叠中的每个处理器芯片层共享相同的互联信号,即使当处理器芯片运行在更低频率(以第二模式),将有更少的通信请求(更小的I/O带宽)被请求。因此,使用重用(复用)互联信号和封装I/O信号的技术的本发明的原理,被缘于保持功率消耗不变的限制而要求的更低频率运行的产生自3-D堆叠中的每个层的更小带宽需求所推动。
在本发明的其他示例实施例中,包括两个或等多层的堆叠的处理器芯片的处理器系统,其中每个处理器芯片包括一个或多个处理器,其中通过不同处理器芯片层之间的垂直连接来连接不同处理器芯片层中的处理器,模式控制电路(例如,上面参考图6所示出和描述的)可以选择地配置不同芯片层中的两个或多个处理器以多种运行模式中的一种运行。例如,在一种运行模式中,给定堆叠中的处理器芯片中的一个、多个或全部可以独立地运行,其中独立地运行的处理器芯片层之间的垂直连接可以被用作该堆叠中的独立地运行的处理器芯片之间的通信链路。
在另一个运行模式中,不同处理器芯片层中的多个组件/资源可以被聚集以增强不同处理器芯片层上的一个或多个处理器的微架构。如本领域技术人员已经理解的,术语处理器的“微架构”指代处理器的物理(硬件)配置。处理器的微架构包括组件,例如缓存、总线结构(通路宽度)、执行单元的安排和数目、指令单元、算术单元等。例如,假设3-D堆叠的处理器芯片设备包括具有第一处理器的第一处理器芯片,以及具有第二处理器的第二处理器芯片。在一种运行模式中,当第一和第二处理器芯片都是活跃的时,通过聚合来自第一和第二处理器的元件,第一处理器芯片的第一处理器的微架构可以被配置或增强,并且通过聚合来自第一和第二处理器的元件,第二处理器芯片的第二处理器的微架构可以被配置或增强。在另一个实施例中,第一处理器芯片可以是活跃的,第二处理器芯片可以是不活跃的,其中通过利用不活跃的第二处理器芯片的第二处理器的一部分,可以增强活跃的第一处理器芯片的第一处理器的微架构。集合的元件可以是部分的执行单元、寄存器集、缓存等。
在另一种示例运行模式中,不同处理器芯片层中的多个元件/资源可以被在不同处理器芯片层上的不同处理器之间“共享”。例如,如下面所解释的,不同处理器芯片层上的两个不同处理器可以联合它们的缓存(例如,L1、L2、或L3缓存)以创建一个为两个处理器活跃地共享的两倍大小的缓存。这种情况中,不同的处理器共享聚合的(联合的)组件或资源。在另一种示例运行模式中,不同处理器芯片层上的两个或更多的不同的处理器可以被组合以运行单个的处理器图像。下面参考图7、8、9A、9B、9C、10、11、12、13、14、15、16、17A、17B、18、19、20和21,将进一步详细地展示用于聚合和/或共享和/或组合处理器资源的不同运行模式的本发明的示例实施例。
例如,图7和8描述了用于选择地配置不同处理器芯片层上的不同处理器以聚合和/或共享不同处理器的部分执行单元以增强一个或多个不同处理器的执行能力的示例运行模式。图7是本发明的原理可以被应用到的处理器70的示意图。图7示意地描述了处理器70的微架构,其中处理器70包括多个组件,例如L3缓存71、L2缓存72、执行单元73和指令单元74。执行单元73包括第一浮点单元75和第二浮点单元76(其中,第一和第二浮点单元75和76是相同的)以及一组浮点寄存器77。使用图7的多个处理器70,可以构建如图8中示出的3-D堆叠的多处理器结构。
具体地,图8是3-D堆叠的多处理器设备80的示意图,3-D堆叠的多处理器设备80包括第一处理器70A和垂直地堆叠在第一处理器70A之上的第二处理器70B。在图8的示例实施例中,处理器70A和70B在结构上是相同的,并且具有如图7中描述的处理器布局。具体地,第一处理器70A包括L3缓存71A、L2缓存72A、执行单元73A和指令单元74A。执行单元73A包括第一浮点单元75A和第二浮点单元76A(其中第一和第二浮点单元75A和76A是相同的)以及一组浮点寄存器77A。此外,第二处理器70B包括L3缓存71B、L2缓存72B、执行单元73B和指令单元74B。执行单元73B包括第一浮点单元75B和第二浮点单元76B(其中第一和第二浮点单元75B和76B是相同的)以及一组浮点寄存器77B。
在本发明的一个示例实施例中,第一和第二处理器70A和70B的执行单元73A和73B被彼此对齐和使用短垂直连接彼此连接。以这一结构,执行单元可以被垂直地配线,这样对于图8中示出的两个处理器70A和70B,第一处理器70A的执行单元73A可以功能地包括处理器对的执行单元73A/73B的元件的一半,第二处理器70B的执行单元73B可以功能地包括处理器对的执行单元73A/73B的元件的另外一半,其中,挑选每对的一半以减小每个执行单元的平面区域。
执行单元的3-D聚合优于传统的平面形状。在传统的平面系统中,位于同一平面中的两个处理器的执行单元可以被连接,这样一个执行单元的输出可以被输入到第二执行单元。然而,两个处理器的执行单元之间的“水平”电连接可以是相对长的(例如,5mm到20mm),这样,在处理器之间的信号传输中存在一个或两个“死”周期,其引起信号传输中的不需要的时延。作为对比的是,在如图8中的3-D堆叠的处理器在处理器上的架构中,每个处理器的执行单元的一半的元件被有效地聚合到一个新的执行单元,这样每个平面中的执行单元在面积上有效地更小。因为每个处理器的相同元件被空间地协定位,通过跨3-D层垂直地连接执行单元元件,实现了两个处理器的聚合的组件的区域。
例如,在图8的示例实施例中,假设每个处理器70A和70B具有两个相同的浮点单元75A/76A和75B/76B。在第一处理器平面70A中,因为浮点单元75A和76A之间水平距离,其使用1-2个周期的时延来将信号从第一浮点单元75A的输出传送到第二浮点单元76A的输入。然而,如果两个平面中的第一浮点单元75A和75B的协定位对被垂直地连接,并且第二浮点单元76A和76B的协定位对被垂直地连接,那么第一处理器70A的执行单元73A可以利用第一浮点单元75A和75B的垂直连接对,并且第二处理器70B的执行单元73B可以利用第二浮点单元76A和76B的垂直连接对,这样每个处理器70A和70B的执行单元仍然具有两个浮点单元。
在处理器功能中,处理器元件75A和76A以及处理器元件75B和76B之间的垂直连接提供了更短的通路,并且允许使用来自3-D框架的不同平面的处理器的元件来构建每个处理器70A和70B。这有效地减小了每个处理器的平面形状,并且因为从一个执行单元(一个平面上的)的输出到执行单元(另一个平面上的)的输入的通路更快,从执行流程中移除了死周期。如下面将进一步详细地说明的,这些原理可以被应用到执行单元的其他对齐的组件,例如算术单元等,以及其他处理器元件,例如L2和L3缓存。
如图8中描述的本发明的示例实施例中,可以彼此独立地使用处理器70A和70B中的每个,其中,跨处理器层的处理器单元之间的垂直连接将不会被用来聚集或共享资源。例如,在一个运行模式中,处理器70A和70B的两者都可以运行(典型地在不相关的程序上)在降低的功率上,这样,总功率与如果一次仅以全功率运行一个处理器70A或70B的功率基本相同。在另一个运行模式中,处理器70A和70B中个一个可以被关闭,并且另一个可以以例如两倍功率的高速模式(或turbo模式)运行。
在本发明的另一个示例实施例中,在增强的“Turbo”运行模式中,处理器70A或70B可以被禁用(不活跃),并且另外一个可以以两倍功率的高速模式(或turbo模式)运行,但是其中,活跃的处理器可以使用不活跃的处理器的执行单元的一些元件,从而增强其执行能力。例如,在图8的示例实施例中,第二处理器70B(主处理器)可以被打开并且以高速turbo模式中的增加的功率运行,同时第一处理器70A可以被关闭,但是其中,通过使用第一(不活跃)处理器70A的元件,可以增强第二(活跃)处理器70B的微架构。通过具体的示例,当运行在增强的turbo模式时,第二(活跃)处理器70B的的执行单元73B可以利用第一(不活跃)处理器70A的浮点单元75A和76A以及寄存器77A,这样第二处理器70B可以具有四个浮点单元75A、75B、76A、76B和额外的寄存器77A,运行在增强的速度。这一增强的架构允许第二处理器70B更快地和更有效率地运行代码。以这一框架,可以配置模式控制方案,这样可以关闭给定的处理器,同时允许通过连接和去连接到不活跃处理器的需要的组件的供电线,选择地打开或关闭不活跃处理器的一个或多个组件。
在本发明的另一个示例实施例中,使用垂直连接可以联合处理器芯片的不同层中的不同缓存,这样处理器可以以缓存体系中的任意具体的水平操作缓存作为一个单个的共享的缓存。例如,如果两个堆叠的处理器使得去L2缓存对齐以及L3缓存对齐,那么L2缓存的对齐的对可以作为具有两倍容量的单个的共享L2缓存而运行,并且L3缓存的对齐的对可以作为具有两倍容量的一个单个的共享L3缓存而运行。下面参考图9A、9B和9C将进一步详细地解释这些原理。
图9A是包括第一处理器90A和垂直地堆叠在第一处理器90A之上的第二处理器90B的3-D堆叠的多处理器设备90的示意图。在图9A的示例实施例中,处理器90A和90B在结构上是相同的,并且具有各自的处理器核心91A和91B、L2缓存92A和92B、L3缓存93A和93B。如图9A中描述的,L2缓存92A和92B是对齐的并且具有相同的占用空间(footprint)(2-D区域)。此外,L3缓存93A和93B是对齐的并且具有相同的占用空间(footprint)。在这一3-D堆叠框架中,对齐的L2缓存92A和92B可以被垂直地连接并且作为单个的共享的L2缓存而运行。此外,对齐的L3缓存93A和93B可以被垂直地连接并且作为单个的共享的L3缓存而运行。
例如,图9B是图9A的3-D堆叠的多处理器设备90的示意图,其中L3缓存93A和93B被联合并且可以作为一个共享的L3缓存93A/B被处理器90A和90B中的一个或两个运行。类似地,图9C是图9A的3-D堆叠的多处理器设备90的示意图,其中L2缓存92A和92B被联合并且可以作为一个共享的L2缓存93A/B被处理器90A和90B中的一个或两个运行。具体的,在一个示例实施例中,处理器90A和90B的L2和L3缓存被垂直地连接在一起,可以以两种可选的模式使用L2和L3缓存-或者作为独立的缓存,其中没有使用跨层的它们之间的连接;或者跨层地共享,从而增强该层中所有处理器的缓存能力。
3-D堆叠的缓存框架的一个优点在于,不需要增加缓存访问时间,加倍了缓存的存储能力。实际上,通常认为到缓存的访问速度是比例于缓存区域的平方根。在图9B和9C的示例实施例中,因为对应的L2和L3缓存的占用空间(footprint)是空间地重合的,垂直地连接对齐的L2和L3缓存并不增长缓存区域。考虑到这点,因为凭借垂直连接,联合的L2缓存92A/B的区域和联合的L3缓存93A/B的区域并不增长,缓存访问速度仍是相同的。为了使得处理器90A和90B运行不同程序时能够访问相同的缓存地址空间,缓存控制方案已经被实施以控制和组织共享的缓存目录并且保持多个缓存层之间的缓存一致性。
在本发明的另一示例实施例中,3-D堆叠的处理器设备可以被构建为包括可以联合的多个处理器以增加处理器的3-D堆叠中单个处理器图像预料的线程数。例如,在包括具有第一处理器的第一处理器芯片、以及具有第二处理器的第二处理器芯片的3-D堆叠的处理器设备中,第一和第二处理器芯片可以是活跃的,其中第一和第二处理器被配置为作为单个的处理器运行并且聚合它们的线程以增加可以为第一和第二处理器使用的线程的量。这允许3-D堆叠中的单个处理器的多线程能力被有效地增加,而不需要与必须在单个处理器自身上使用额外的线程有关的开销(线程)。参考图10和11将进一步解释这些原理。
图10是包括第一处理器100A和垂直地堆叠在第一处理器100A上的第二处理器100B的3-D堆叠的处理器设备100的示意图。在图10的实施例中,第一和第二处理器100A和100B是多线程处理器,并且具有相同的处理器和电阻器集。具体地,第一处理器100A包括四组寄存器101A、102A、103A和104A以执行四个线程。类似地,第二处理器100B包括四组寄存器101B、102B、103B和104B以执行四个线程。
在图10的示例实施例中,通过垂直地对齐和连接处理器100A和100B,3-D处理器堆叠可以被聚合为一个具有相对更多线程的单个的多线程处理器而运行。例如,在图10的一个示例中,两个处理器101A和101B的四个线程101A、101B、102A、102B、103A、103B、104A和104B可以联合地运行,这样3-D处理器堆叠100表现为运行8个线程的单个处理器。独立地,对于3-D中的系统级公断,当两个或更多处理器被对齐,这组处理器将表现为系统的公断方案中的单个节点。以这种方式,如下面所讨论的公断“树”,例如,当额外的处理器被添加到新的堆叠的平面中时,并不在复杂度上增长。
对于传统的平面系统,处理器可以被制造为具有增长的数目的独立寄存器集以执行可以被并行地运行的更多的线程,以增加多程序的处理能力。然而,随着处理器的线程数目的增长,处理器的平面尺寸也增长,导致寄存器集合处理器执行单元之间的通信中的周期时延,以及增长的功率。以如图10中示出的3-D堆叠的架构,处理器可以被简化为具有更少的寄存器集以支持每个处理器的更少的线程,同时聚合处理器层之间的线程,如同需要以增加给定层可以利用的线程的整体数目。例如,假设给定的应用的最大负载运行为具有四个或更少的线程,如图10中示出的处理器100A和100B可以被优化为四线程处理器。如果给定的负载要求多于四个线程(高达8个线程)被执行,那么3-D处理器堆叠100中的处理器100A和100B可以被组合并作为具有8线程的单个处理器而运行。
在图10的示例实施例中,控制方案和通信链路被实施为支持跨不同层的线程的聚合,并且连接层之间的缓存以及保持缓存一致性。这些控制方案是设计通信链路,这样当不同层的线程实际共享它们的地址空间时,每个处理器将看到相同的状态。图11中示意地展示了这些概念。
具体地,图11示意地描述了根据本发明的示例实施例的、图10中示出的处理器的多个组件之间的通信链路。如图11中描述的,第一处理器100A包括与第一处理器单元105A、L2和L3缓存110A、指令缓存112A以及数据缓存114A相关的多个寄存器集101A、102A、103A和104A(也被分别称为T0、T2、T4和T6)。类似地,第二处理器100B包括与第一处理器单元105B、L2和L3缓存110B、指令缓存112B以及数据缓存114B相关的多个寄存器集101B、102B、103B和104B(也被分别称为T1、T3、T5和T7)。
指令缓存112A和112B以及数据缓存114A和114B接收存储在各个L2或L3缓存110A和/或110B中的程序指令和数据。例如,可以如上参考图9C所描述地联合和共享L2和/或L3缓存110A和/或110B。可以由各个处理器105A和105B执行存储在指令缓存112A和112B中的程序指令用于一个或多个线程,并且在各个线程状态寄存器T0、T1、T2、T3、T4、T5、T6、T7中存储给定线程的执行状态。由于从程序指令的执行产生了数据,处理器105A将数据存储在其数据缓存114A中,并且处理器105B将数据存储在其数据缓存114B中。根据本发明的原理,处理器105A和105B之间的额外的通信链路116、以及数据缓存114A和114B被用来推动一致存储。通信链路116可以被实施为处理器上处理器,因为当处理器被对齐时端口在空间上是并置的。
尽管图10和11的示例实施例描述了每个具有寄存器集以支持4个运行线程的处理器,本发明的原理可以被扩展到具有n个线程的处理器,其中,如果每个处理器是n-路多线程,处理器对可以被作为2n-路多线程处理器而运行,如系统的其他部分所看到的。另外,因为这一实施,当多数时候运行n线程(其中每个处理器没有被重度地线程),并从而允许基础处理器被针对n线程运行优化,但具有在需要时扩展系统以运行2n线程的能力,其将特别有用。
如上所指出的,当3-D堆叠配置中两个或更多处理器被对齐时,处理器将表现为系统公断方案中的单个节点。以这一方案,可以创建公断“树”(或更通常地,处理器互联结构),这样当额外的处理器被加入新堆叠的平面时并不在复杂度上增长。下面参考图12、13、14、15、和16,将进一步详细地介绍根据本发明原理的示例处理器互联结构。
图12示意地描述了用于平面处理器系统的处理器互联方案。具体地,图12描述了包括被布置在相同平面上的第一处理器120A和第二处理器120B的平面处理器系统120。第一处理器120A包括多个处理器P1A、P2A、P3A、P4A、P5A、P6A、P7A和P8A(统称为,PnA)以及相关的L3缓存。第一处理器120A的处理器PnA在处理器互联结构122A上通信。类似地,第二处理器120B包括多个处理器P1B、P2B、P3B、P4B、P5B、P6B、P7B和P8B(统称为,PnB)以及各个L3缓存。第二处理器120B的处理器PnB在处理器互联结构122B上通信。图12的示例实施例中,处理器互联结构122A和122B被描述为实施标准公断方案的“树”结构。
此外,如图12中描述的,使用总线互联结构124将通信总线122A和122B相互连接。在图12的平面系统120中,这一总线互联结构124在2-D平面中是相对长的。根据本发明的原理,例如图13描述的,在3-D堆叠框架中可以更简化这一处理器互联结构。具体地,图13示意地描述了根据本发明的示例实施例的用于3-D堆叠的多处理器系统的处理器互联方案。具体地,图13描述了包括第一处理器130A和被布置在第一处理器130A上的第二处理器130B的平面处理器系统130。第一处理器130A包括多个处理器P1A、P2A、...、P8A(统称为,PnA),使用处理器互联结构132A将它们互联和通信。类似地,第二处理器130B包括多个处理器P1B、P2B、...、P8B(统称为,PnB),使用处理器互联结构132B将它们互联和通信。处理器互联结构132A和132B被描述为实施标准公断方案的“树”结构。
如图13中进一步描述的,使用连接总线结构134将处理器互联结构132A和132B相互连接。图13的整体处理器互联方案在概念上与图12的整体处理器互联方案类似,除了使用堆叠的处理器芯片130A和130B之间的垂直连接来形成总线连接结构134(其连接处理器互联结构132A和132B)。基于这一点,垂直连接总线结构134在长度上比图12中描述的平面连接总线结构124短得多。因此,图13中的整体处理器互联方案比图12中的整体处理器互联方案实际上更小和更快。
图14示意地描述了根据本发明的另一个示例实施例的、用于3-D堆叠的多处理器系统的处理器互联结构。图14示意地描述了具有拓扑地相当于图13的3-D堆叠的处理器的处理器互联框架、但更快并且在尺寸上更简化的处理器互联框架的3-D堆叠的处理器结构140。更具体地,如图14中示出的,使用第二处理器芯片130B上的树结构132B,以及多个垂直连接141、142、143、144、145、146、147和148(其从第二处理器芯片130B上的树总线结构132B的端点延伸到第一处理器芯片130A的各个处理器),来实施处理器互联方案。图14的处理器互联方案考虑到第一和第二处理器芯片130A和130B上的处理器是彼此对齐的,这样第一和第二处理器芯片130A和130B的树总线结构132A和132B的终端点也是对齐的(参见图13)。以这种垂直对齐,可以在单个垂直总线互联134(如图13中示出的)的位置实施垂直总线连接141、142、143、144、145、146、147和148(如图14中示出的)。因为上方的处理器芯片130B上的总线树结构132B的每个终端点对齐到下方的处理器芯片130A的总线树结构132A的终端点,可以使用短垂直连接来连接两个树结构132A和132B的终端点,这样允许树结构132A和132B中的一个被忽略或者不使用。下面参考图15进一步讨论和描述这些原理。
具体地,图15是根据具有基于图14的处理器互联结构方案的处理器互联结构的本发明的示例实施例的、3-D堆叠的多处理器系统的顶部示意图。图15描述了3-D堆叠的多处理器系统150,其是图14中的概念系统的物理实现,其中,下方处理器芯片130A上的处理器PnA和上方处理器芯片130B上的处理器PnB被以总线树结构132B的终端点对齐。这允许分别使用短垂直导电过孔连接141、142、143、144、145、146、147和148,在总线树结构132B的每个终端点处,将总线树结构132B连接到处理器对P1A/P1B、P2A/P2B、P3A/P3B、P4A/P4B、P5A/P5B、P6A/P6B、P7A/P7B和P8A/P8B。因为这些垂直导电过孔连接相对较短,处理器的每个上/下对可以被看作全局总线132B的单个垂直下落。此外,与图13中示出的单个垂直总线连接结构134相比,垂直过孔141、142、…、148的使用提供了对齐的处理器之间的更短的通信链路。
图16示意地描述了根据本发明的另一个示例实施例的3-D堆叠的多处理器系统的处理器互联结构。图16示意地描述了具有总线框架(类似于图14中的,除了在下方处理器芯片130A上的额外树结构162A的引入和使用)的3-D堆叠的处理器结构160。额外树结构162A可以被用来缩短平面内处理器之间的通信链路并且增大通信带宽。具体地,图16的示例实施例中,树结构162A可被用于第一处理器芯片130A上的处理器PnA之间的处理器到处理器的通信,而不需要使用短垂直总线互联141、142、…、148或者是上方树结构132B。类似地,树结构132B可以被用于第二处理器芯片130B上的处理器PnB之间的处理器到处理器的通信,而不需要使用短垂直总线互联141、142、…、148或者是较低的总线树结构162A。
在另一个控制方案中,两个树结构162A和132B都可以被联合短垂直互联141、142、…、148并行地使用,以提供任意两个处理器之间的两个独立的通信链路,这样可以实现通信带宽的2x增长。实际上,假设每个树结构132B和162A是16-字节总线,其要求16个周期来在处理器之间通信256字节的信息。在这个实施例中,通信带宽可以被增长到同时的32字节(每链路16字节),从而针对16个周期增加通信带宽到512字节的信息。
在本发明的另一个示例实施例中,3-D堆叠的多处理器设备可以被构建为包括多个处理器,通过选择地组合每个垂直地堆叠的处理器的最快的组件,该多个处理器被联合和配置为单一的超快处理器。以先进的技术,相同处理器之间的设备性能可以有相当大的差异,其中一个处理器的一些子系统可以快于另一个相同处理器的相同子系统,而同时,对于不同的子系统,该关系可以是相反的。实际上,基于设备尺寸和形状的差异,以及掺杂的差异等,给定晶圆上形成的一组相同的处理器,具有相同的布局和宏功能组件,可以具有比另一个相同的处理器相同组件更快或更慢的组件。
在这方面,根据本发明的另一个示例实施例,当不同处理器芯片层上的两个处理器(第一和第二处理器)具有相同的子系统区域布局,在一种运行模式中,通过组合第一和第二处理器的对应子系统区域的最快的一个以及关闭第一和第二处理器的对应子系统区域的较慢的,配置第一和第二处理器为作为单个的处理器运行。下面参考图17A和17B将进一步详细地描述和讨论这些原理。
具体地,图17A示意地描述了根据本发明的示例实施例的具有相同布局的两个处理器,其中,两个相同处理器的对应区域被标识为比其相对应的区域更快或更慢。具体地,图17A描述了具有11个相同的主要区域(宏)R1、R2、R3、R4、R5、R6、R7、R8、R9、R10和R11的两个相同的处理器170A和170B。在制造后,处理器的这些区域被测试速度,因为处理器相同时,给定的一些区域将会比另一个相同处理器的相同区域更快/更慢。在图17A的示例实施例中,第一处理器170A的区域R1、R2、R4、R6、R8、R9和R11被标识为快于(标记为“F”)相同处理器170B的相同区域。此外,第二处理器170B的区域R2、R5、R7、和R10被标识为快于(标记为“F”)相同处理器170A的相同区域。
图17B是根据本发明的示例实施例的、包括图17A的处理器170A和170B的3-D堆叠的多处理器系统170的示意图。具体地,图17B示意地描述了根据本发明的示例实施例的、通过垂直地堆叠图17A中示出的两个处理器而形成的、并且作为由每个处理器的对应区域中的最快者组成的单个处理器而运行的3-D堆叠的多处理器结构。图17中,处理器被对齐地垂直地连接,这样对应区域R1、R2、….、R11被彼此对齐和连接。两个处理器170A和170B的缓存和执行资源被对齐地垂直地连接,这样3-D堆叠的多处理器系统170可以以多种模式中的一种运行。
例如,如上所讨论的,在一个节点中,处理器170A和170B可以作为独立的处理器运行,其中每个处理器都是活跃的并且以半功率运行。另一个示例实施例中,处理器170A或170B中的一个可以以全功率或增强的功率(Turbo模式)运行,同时另一个处理器是关闭的。在另一个实施例中,处理器170A和170B可以作为单个处理器(该单个处理器包括被标识为区域中的最快者的来自每个处理器的那些区域)而运行,这样得到的处理器可以作为单个超快的处理器(具有快于如果使用来自仅仅一个处理器层的全部组件的速度)而运行。例如,在图17B的示例实施例中,3-D堆叠的多处理器系统170可以作为单个处理器而运行,该单个处理器包括由第一处理器170A的快区域R1、R2、R4、R6、R8、R9和R11和第二处理器170B的快区域R2、R5、R7、和R10组成的11个区域。
在本发明的另一示例实施例中,3-D堆叠的多处理器设备可以具有作为单个处理器图像逻辑地运行的多个联合的处理器,但其中至少一个处理器被用于“run-ahead(超前)”功能。具体地,作为示例,在具有彼此对齐地垂直地连接的第一和第二堆叠的处理器的3-D堆叠的多处理器设备中,第一处理器可以是负责机器的架构的状态的主处理器,并且从处理器不被架构或程序限制并且不能改变机器的架构的状态,从处理器可以超前主处理器运行以早解决分支和产生未命中。
在这一示例实施例中,第一和第二处理器的缓存和执行资源被连接在一起,这样他们可以被用在,例如,两种可替换的模式中–或者作为独立处理器,其中处理器层之间的连接没有被使用,或者以协作的方式,其中主处理器执行程序,从处理器运行程序的更简单版本,这样从处理器可以领先于主处理器,产生存储器请求以及解决分支,其结果可被主处理器用来避免其他选择中的长延时的存储器访问以及分支误预报。下面参考图18,将进一步详细地描述3-D堆叠的处理器系统中实施超前或辅助-线程的这一概念。
具体地,图18示意的描述了根据本发明的示例实施例的、用于在3-D堆叠的处理器系统中实施超前功能的方法。具体地,图18描述了由运行主线程的主处理器执行的、关于主和从处理器之间共享存储器的多个操作181和182,以及由从处理器协同主处理器执行的、作为超前线程运行的多个操作184、185、186、187、188和189。
具体地,如图18中示出的,当在3-D堆叠的处理器系统中执行程序时,主处理器从存储器183获取指令181并且执行每个程序指令182。当执行指令时,主处理器将从共享的存储器183获取和存储程序数据,并且保持机器状态(存储)对于全部的外部实体是可视的。换句话说,主处理器准确地执行程序,这样主处理器以正确的顺序执行指令操作,并且当那些改变被认为是正确的时,仅向系统的其余部分指明状态改变信息。然而,为了使程序执行更快,以更高的指令级的并行性,从处理器作为“超前”处理器运行,其中,从处理器并不保证正确和合法的操作,并且并不向系统的其余部分指明状态改变。替代地,其以猜测的模式尽可能快地运行,并且不被与程序流程无关的指令所困扰。通过以这种模式运行,超前处理器将早于主处理器所能够做的,解决许多分支并且生成许多必要的缓存未命中。这将运行主处理器比其正常能够的更快地运行。
具体地,如图18中示出的,从处理器将从共享的存储器183获取指令184,并且执行特定的指令,例如数据获取指令,并且响应于该数据获取指令从共享的存储器183获取数据185。从处理器将执行数据存储指令,并且执行存储器访问操作186以确定必要数据是否被存储在存储器183中。从处理器将执行简单指令187并且执行分支指令188,并且丢弃或忽略与确定缓存未命中或解决分支重定向无关的全部的其他获取的指令189。步骤186中,当从处理器看到数据存储指令来到时,从处理器将确定针对将被存储的数据缓存线是否存在。如果缓存线不存在,从处理器将产生缓存未命中,并且继续使得针对该数据存储分配缓存线,并且获取适当的许可以将数据存储到新分配的缓存线(即,确保新缓存线的状态是“datastoreready(数据存储准备完成)”状态)。如果缓存线已经存在,从处理器将确定该缓存线是否是“datastoreready(数据存储准备完成)”状态,并且如果否的话,继续获取适当的许可。以这一方式,当主处理器执行数据存储指令时,缓存线将是可用的并且处于“storeready(存储准备完成)”状态,从而避免了执行流程中的缓存未命中。
通过在主处理器发现前解决意外事件,从处理器(超前处理器)加速了主处理器。从处理器可以这样运行,因为其不需要执行每个指令,并且不需要准确地执行程序操作。在3-D堆叠的配置中,因为主和从处理器是空间一致的并由短垂直连接所连接,他们能够共享和观察执行状态,并且相比共面的配置(其中,长配线将被需要以交换适当的同步信息),更容易和健壮地同步。即使具有共面的处理器之间的共面配线,共面的处理器将很可能不能一致地观察彼此的状态。在3-D堆叠的配置中,辅助线程和主线程之间的、用以共享值以及同步处理流程的通信和互联,通过主和从处理器的资源之间的短垂直连接,更容易被实现。
在本发明的另一个示例实施例中,3-D堆叠的处理器设备可以具有多个联合的处理器,该多个联合的处理器逻辑地作为单个处理器图像运行,但其中它们的架构的存储的一部分作为不能被3-D堆叠之外的处理器访问的私有存储空间(或暂存空间)运行。换句话说,多处理器可以被联合为单个的运行主体(从外部看是“处理器”),该单个的运行主体具有可以用于暂存空间、并且组织其他数据结构的私有存储区域,其中,该私有存储区域是系统中的其他运行主体不可见的。当处理器的元组作为单个逻辑处理器运行(以超前模式、或超级turbo模式、或任意其他的组合)时,该元组的一个或多个缓存可以被用作具有程序-特定结构的私有存储。
本发明的其他示例实施例中,如图19中所描述的,根据本发明的示例实施例,可以通过垂直地堆叠多个处理器(每个都具有类似的状态寄存器布局)而形成3-D堆叠的处理器结构,其中,多个处理器可以独立地运行、或者以协作的方式运行以共享它们的状态寄存器。更具体地,图19示意地描述了第一处理器190A和第二处理器190B,其垂直地堆叠以形成3-D堆叠的处理器结构190。在图19的示例实施例中,每个处理器190A和190B具有相同的状态寄存器(一般由一个或多个矩形的组来描述)布局。例如,第一处理器190A和第二处理器190B具有分别部署在各自处理器的基本相同的2-D区域中的、相同的状态寄存器的组191A和191B。将被理解的是,每个处理器190A和190B上的状态寄存器集(矩形的组)的描述是随意的,并且仅指一般地描述处理器包含其状态寄存器。
每个处理器上190A节190B上的状态寄存器集可以被用来存储各个处理器190A和190B在该处理器的每个运行周期结束时的“状态”。术语“状态”指完全地获取在给定处理器上正在执行的程序的执行状态(目前为止正在执行的程序已经完成哪些)所需要的信息。如本领域技术人员所理解的,“状态”包括通用寄存器、控制寄存器、情况代码、地址寄存器、以及保持必不可少的状态信息的任何其他寄存器中包含的信息。假设程序在第一处理器190A上运行。在程序运行的一些给定点(处理器190A的完成运行周期的结束处),第一处理器190A的“状态”可以被从其状态寄存器中扫描出兵保存在第二处理器190B的相应状态寄存器中,并且第二处理器190B可以使用第二处理器190B的状态寄存器中存储的扫描入的状态信息,在第一处理器190A停止执行的点开始执行相同的程序。基于这点,程序可以继续在第二处理器190B上、从第一处理器190A上的停止点开始运行,并且程序将不能知道其已经被移动到不同的处理器。因此,“状态”是可能被请求以获取所需要的关于在任意周期的运行的处理器的一切的全部静态信息。“状态”是完整地指定与在处理器上运行的程序有关的全部信息的寄存器集。
一般地,可以使用上面讨论的技术来制造图19的3-D堆叠的结构190,其中处理器190A和190B可以被彼此堆叠并且垂直地连接,这样每个层的处理器190A和190B的状态寄存器集(以及其他组件)是对齐并且使用对垂直连接互联的。如上所指出的,术语“对齐”指代处理器190A和190B的每个层的相应组件被直接部署在彼此上方(占据垂直3-D空间的每一层中基本相同的2-D空间),或者如上所讨论的,统一地交错固定的位移,处理器190A和190B被附加一定的偏离以产生更低的功率密度。以这一方式,通过在状态寄存器和其他组件之间实施适当的垂直连接,3-D堆叠的处理器190可以以多种模式中的一种运行。
图20是展示图19的3-D堆叠的处理器结构的多个运行模式的表。例如,如图20中示出的,在一种运行模式(“正常”模式)中,第一和第二处理器190A和190B可以作为独立的处理器运行,其中每个处理器190A和190B是活跃的(被打开)并且以低于全功率运行(例如,每个运行在半功率)。在另一个运行模式(“turbo”模式)中,处理器中的一个190A(或190B)运行在全功率,而另一个处理器被关闭。“正常”模式中,处理器190A和190B中的每个可以运行在它们的最大功率的一半,这样处理器对将具有与运行在全速度(turbo模式)的单个处理器相同的功率占用空间(footprint)。可以利用“正常”运行模式,这样相同的功率和冷却基础架构可以应付这两种情形,即,运行在全速度(turbo模式)的单个处理器,或者运行在降低的速度(正常模式)的处理器对。
将被理解的是,本文中术语“全速度”、或“全功率”、或“最大安全速度”全部指代:针对所有可能的情况和输入,给定的处理器将正确运行的运行速度。给定处理器的“最大安全速度”是使用多种计算机仿真、模型、以及给定处理器产品的测量而提前确定的运行特征。计算机产品被发布为具有其最大速度,并且其不能更快地运行。实际上,对于给定处理器可能运行的多数可能的状态,以及对于多数可能的程序和输入,处理器实际上可以比“最大安全速度”更快地运行。然而,当处理器超过其已知的“最大安全速度”运行时,由于状态和输入的特定组合可能引起运行错误,“全速度”限制被典型地设置,这样处理器运行的任意运行情况和环境下,将不会有问题发生。
在本发明的另一个示例实施例中,如图20的表格中示出的,图19的示例3-D结构190可以运行在被称为“超-Turbo(Hyper-Turbo)”的模式中,其中处理器中的一个(例如处理器190A)可以被运行在超过全功率(例如比该处理器的最大安全速度更快的运行速度),同时其他处理器(例如处理器190B)被去活跃(关闭),但一种被去活跃的处理器的状态寄存器被活跃处理器用于活跃处理器状态的“检查点(checkpointing)”。这一示例实施例中,堆叠中的活跃处理器的架构被改进为具有堆叠中另一个不活跃的处理器的状态寄存器,以使得活跃处理器能够运行在增强(超-Turbo)的运行速度,同时使用不活跃处理器的状态寄存器来存储在活跃处理器的每个运行周期结束时的当前状态信息,以用于执行错误发生的情况(在活跃处理器以超过被认为“安全”的速度的增强运行速度运行时)中活跃处理器状态的“检查点(checkpointing)”目的。
图21是描述根据本发明的示例实施例的、以“超-Turbo(Hyper-Turbo)”模式运行的图19的3-D堆叠的处理器结构190的运行模式的流程图。初始地,可以通过激活主处理器(例如处理器190A)运行在超过其“最大安全速度”的速度,并且关闭从处理器(例如190B),同时允许从(不活跃)处理器的状态寄存器保持活跃用于主处理器的使用(步骤200),选择地控制图19的处理器堆叠进入“超-Turbo(Hyper-Turbo)”模式。在给定程序的执行期间,在每个运行周期的完成的基础上,主处理器将开始下一个运行周期(步骤201)。如果当前周期被完成(步骤202中的肯定结果),并且在当前周期没有错误发生(步骤203中的否定结果),主处理器的当前状态(在当前周期的结束处)将被检查点(checkpointed)(存储)在从处理器204的状态寄存器中(步骤204),并且下一个运行周期将开始(步骤201)。
如果在当前运行周期中错误发生(步骤203中的肯定结果),通过复制第二处理器的状态寄存器中的检查点(checkpointed)的状态的当前内容,主处理器的状态回退一个周期(步骤205)。从处理器的状态寄存器中的检查点(checkpointed)的状态是在主处理器的上一个运行周期完成的时间点处存在的主处理器的状态寄存器的状态。主处理器接着回到运行的当前周期(错误发生的周期)(使用从从处理器的状态寄存器访问得到的检查点(checkpointed)的状态)(步骤206)。在一个示例实施例中,这一过程(步骤206)被运行在其“安全”最大速度的主处理器优先地执行,以确保在更高速度时引起问题的程序操作本次将无错误地准确执行。
一旦当前运行周期(以正常安全速度执行)完成(步骤207中的肯定结果),主处理器的当前状态被检查点(checkpointed)在从处理器的状态寄存器中(步骤208)。这之后,处理器堆叠返回到超-turbo模式(其中主处理器开始以超过其最大安全速度的运行速度而运行)(步骤200)。图21的示例过程中,因为主处理器的状态被针对每个完成的运行周期而被检查点(checkpointed),并且因为具有堆叠的形状使得恢复动作可以简单和快速完成(即,通过以垂直连接上正被访问的从处理器的状态寄存器中的状态检查点(checkpoint)的内容来刷新主处理器的状态寄存器,来恢复状态),主处理器可以超过其最大安全速度的速度运行。
上面参考图9A、9B和9C所论述的示例实施例中,例如,使用垂直连接,构成3-D堆叠的处理器结构的不同级的处理器芯片中的不同缓存可以被联合,这样处理器可以将缓存体系中的任意特定级的缓存运行为单个的共享缓存。例如如上所指出的,L2缓存(两个不同级上的)的对齐对可以作为具有两倍容量的单个共享的L2缓存而运行,并且L3缓存(两个不同级上的)的对齐对可以作为具有两倍容量的单个共享的L3缓存而运行。在下面参考图22-32详细地描述的本发明的其他示例实施例中,不同处理器芯片的缓存存储器可以被构建为具有使得能够实现多维中的不同访问模式的配线结构。
图22示意地描述了本发明的实施例可以被应用到的存储器阵列。具体地,图22示意地描述了包括存储器单元220(多个字线(WL0、WL1、…、WLn)和多个位线(BL0、BL1、…、BLn)可以访问该存储器单元)的2-D阵列的存储器阵列210。每个存储器单元220包括访问晶体管(transistor)222和存储元件224(例如电容器),其中访问晶体管222具有连接到字线的门端、连接到位线的源端以及连接到存储元件224的漏端。在图22的描述性存储器阵列210中,每行存储器单元220被连接到相同的字线,其中每行存储器220包括组成给定字节、字、存储线等的比特组(量)。此外,每列存储器单元220被连接到相同的位线,其中连接到给定位线的每个存储器单元220对应着由存储器210读出/写入的给定量(字节、字、缓存线等)内的给定的比特位置。
每个字线(WL0、WL1、…、WLn)被连接到对应的驱动226,驱动226运行以激活和去激活给定的字线。针对给定字线的驱动226施加电压到连接到给定字线的一行存储器单元中的每个访问晶体管222的门端,其打开连接到给定字线的一行存储器单元中的每个访问晶体管222。字线是对应于被用来执行读或写操作的地址的充分解码的线,这样在任意给定的时刻,只有一个字线将被激活。此外,连接每个位线(BL0、BL1、…、BLn)到被连接到该位线的给定存储器单元220的给定存储元件224(电容器)上感测电荷(逻辑“0”或逻辑“1”)的对应的接收器228(例如,感测放大器电路),其由给定字线选择出。对于读或写操作,一个字线(行)被对应的字线驱动226激活,其打开该给定行中每个存储器单元220的每个访问晶体管222。一旦给定的字线被激活,经由对应的位线来访问被选中的字线中的一个或多个比特(列)。给定位线的全部比特被连接在一起,但任意给定的时刻仅有一个比特被选择。
图22示意地描述了DRAM(动态随机访问存储器),其中每个存储器单元的状态(例如,逻辑“0”或逻辑“1”)被存储为作为存储元件224的电容器上的电荷。如本领域中所知晓的,在其他存储器架构中,例如SRAM(静态随机访问存储器),关于字线和位线的行-列“架构”是相同的,但是每个存储元件将包括多个晶体管(transistor)而非电容器。
根据本发明的实施例,多维存储器架构可以通过堆叠多个级的存储器(例如DRAM,SRAM)而构建,该存储器具有使得能够实现多维中的用于读/写的不同访问模式的访问配线。例如图23A、23B、23C联合地描述了根据本发明的示例实施例的、用于构建包括具有不同访问模式的多级存储器的存储器结构的方法。更具体地,图23A示意地描述了第一级存储器230A,图23B示意地描述了第二级存储器230B,图23C示意地描述了具有部署在第一级缓存存储器230A(图23A)上的第二级存储器230B(图23B)的3-D存储器230C。图23A示出的第一级缓存存储器230A包括存储器单元MC1、MC2、MC3和MC4的阵列,每个包括访问晶体管222A和存储元件224A、多个字线(例如WL0_A、WL1_A)、多个位线(例如BL0_A、BL1_A)、字线驱动226A、以及位线接收器228A。图23A中的第一级缓存存储器230A结构和操作上类似于如上面参考图22描述的存储器阵列210,除了在图23A中,为了描述方便,仅示出了四个存储器单元MC1、MC2、MC3和MC4,以及两个字线(行)WL0_A和WL1_A、两个位线(列)BL0_A和BL1_A。字线在行的方向延伸,并且位线在列的方向延伸。
图23B中示出的第二级存储器230B包括对应于图23A中示出的存储器单元MC1、MC2、MC3和MC4的多个存储器单元MC1、MC2、MC3和MC4。图23B中示出的存储器单元每个包括访问晶体管222B和垂直过孔连接224B。垂直过孔连接224B被连接到在不同缓存存储器层上形成的相应存储器单元的存储元件。例如,垂直过孔连接224B被连接到第一级存储器230A上的相应存储器单元的存储器元件224A。此外,图23B中的第二级存储器230B包括多个字线(例如WL0_B、WL1_B)、多个位线(例如BL0_B、BL1_B)、字线驱动226B、以及位线接收器228B。图23B中,每个字线垂直地(列)延伸,并且被连接到给定列的存储器单元中的访问晶体管222B的门端。此外,每个位线水平地(行)延伸,并且被连接到给定行的存储器单元中的访问晶体管222B的源端。
根据本发明的示例实施例,第二级存储器230B被部署在第一级存储器230A上以形成如图23C中所描述的3-D存储器架构。具体地,图23C示出了3-D存储器230C,其中每个存储器单元MC1、MC2、MC3和MC4包括一个存储元件224A、和用于使用两种不同访问配线模式访问相同的存储元件224A的不同存储器层上的两个访问晶体管222A和222B。第二级存储器230B上的访问晶体管222B被经由垂直连接224B连接到对应的第一级存储器230A上的存储元件224A。在图23C的3-D存储器架构中,针对每个存储器单元MC1、MC2、MC3和MC4存在单个的存储元件224A时,存储器不同层上的字线和位线配线、字线驱动和位线感测电路提供了到相同存储器单元MC1、MC2、MC3和MC4的不同的访问模式。
具体地,如图23C中所描述的,第一级存储器230A上的字线WL0_A和WL1_A被设置为正交于第二级存储器230B上的字线WL0_B和WL1_B。此外,第一级存储器230A上的位线BL0_A和BL1_A被设置为正交于第二级存储器230B上的位线BL0_B和BL1_B。基于这点,对于每个比特(存储器单元),第一和第二级存储器230A和230B上的两个正交的配线模式使得能够实现不同维度(例如,阵列的行和列)中的数据结构的访问。例如,可以使用第一级存储器230A上的字线(WL0_A和WL1_A)来访问3-D存储器230C中的水平行的存储器单元,并且可以使用第二级存储器230B上的字线(WL0_B和WL1_B)来访问3-D存储器230C中的垂直列的存储器单元。因为用于每个存储器单元MC1、MC2、MC3和MC4的存储元件222A被通常连接到两个不同的访问晶体管222A和222B,3-D存储器230C使得能够实现使用不同级存储器上的不同字线和位线的形状对相同比特阵列的访问。
在本发明的一个实施例中,图23C的3-D存储器230C被实施为缓存存储器结构。在本发明的另一个实施例中,图23C的3-D存储器230C被实施为主系统存储器结构。此外,将被理解的是形成图23C示出的结构的每个级的存储器230A和230B可以被实施为“概念级的存储器”或者独立的“物理级的存储器”。
具体地,考虑到“物理级的存储器”,每个级的存储器230A和230B被构建在独立的基底或芯片上,其中两个独立的基底或芯片被相互挂载以形成堆叠的3-D结构。以图23A中示出的第一级存储器230A,多个电路组件222A、224A、226A和228A可以被构建在第一基底的活跃表面上,同时字线(WL0_A、WL1_A)和位线(BL0_A、BL1_A)的访问配线模式被制造为第一基底的BEOL结构的一部分。此外,图23B中示出的第二级存储器230B包括第二基底,在第二基底的活跃表面上形成了具有多个组件222B、226B和228B,同时字线(WL0_A、WL1_A)和位线(BL0_A、BL1_A)的访问配线模式被制造为第二基底的BEOL结构的一部分。连接224B可以是垂直贯通过孔连接,其延伸贯穿第一和第二基底,将第二级存储器230B上的访问晶体管222B连接到第一级存储器230A上的存储元件224A。
考虑到“概念级的存储器”,每个级的存储器230A和230B被构建在相同的基底或芯片上,提供一个物理级的存储器,但提供两个不同概念级的存储器。这个实施例中,多有电路组件222A、222B、226A、226B,、228A、228B将被形成在一个基底的活跃表面上,并且字线和位线的两个不同的访问配线模式将被制造为该基底的活跃表面上的相同BEOL结构的一部分。基于这点,缓存存储器可以被构建为在单个芯片(例如处理器芯片)上具有多个“概念”级的缓存,这样可以使用两个不同的配线访问模式来访问相同的存储器单元2-D阵列。本发明的一个实施例中,可以使用多个概念级的缓存存储器,来分别构建如图9A、9B和9C中示出的第一和第二处理器90A和90B中的每个上的L2和/或L3缓存。
在多种程序(其中在多维中获取数据将增加特定工作负荷的效率和速度)中,图23C的存储器架构是有用的。例如,在例如矩阵相乘的应用中,图23C的存储器结构的配线框架将是有用的,如参考图24和25将会描述的。具体地,图24示意地描述了代表每个具有4行和4列的4x4的存储器的块的存储器块A、B和C。存储器块C代表存储器块A和B的行和列的矩阵相乘(AxB)的结果。将被理解的是,存储器块A、B和C可以被认为是不同的存储器结构,或者相同存储器结构的不同部分。图24中示出的示例中,当应用AxB的矩阵相乘时,存储器块C的给定的入口(比特)被计算为存储器块A的行向量和存储器块B的列向量的向量点积,如下:
Cij=RAi·CBj
其中,RAi代表存储器块A的序号为i(其中i=1,2,3,或4)的行向量,并且其中CBj代表存储器块B的序号为j(其中j=1,2,3,或4)的列向量。例如,用于i=1和j=1的存储器单元中的入口Cij将被计算为:
C11=RA1·CB1=(A11xB11)+(A12xB21)+(A13xb31)+(A14xB41)。
如上所示,存储器块A和存储器块B的矩阵相乘将要求获取存储器块A的行和存储器块B的列。假设存储器块A和B都具有如图22中示出的传统的框架,获取存储器块A中的给定行将要求一个原始操作(以高级程序语言)以整个地获取给定的行。实际上,因为每个行由字线访问,给定行的每个存储器单元由唯一的字线地址激活,并且沿着该行的每个存储器单元经由各个位线被读取。例如,通过输入与行RA1相关的唯一地址以激活其字线,并且接着激活与每列CA1、CA2、CA3和CA4相关的位线以从存储器单元位置A11、A12、A13、和A14读出数据,从而在单个操作中读出行RA1,存储器块A的第一行RA1(其包括A11、A12、A13、和A14)可以被读出。
另一方面,图22的传统框架中,因为存储器块B中的阵列的每列被完整地存储在存储器的单个列中,从存储器块B获取列将要求乘法操作。例如,为了读出图24中的存储器块B的第一列CB1(B11、B21、B31和B41),存储器块B中每个行RB1、RB2、RB3和RB4将必须被顺序地激活,并且给定时间处从目标列CB1的每个激活的行,仅有一个比特(B11、B21、B31和B41)将被访问。这将要求4个连续的字线激活和读取操作。
根据本发明的实施例,可以使用图23C的框架来构建图24中的存储器块A和B,这样可以在单个操作中访问存储器块A中的行和存储器块B中的列。例如,图25示意地描述了根据本发明的示例实施例的、使用单个原始操作访问存储器块的行和列的方法。具体地,图25描述了可以在单个原始指令LDA[2,i]中,使用存储器的访问层(其中字线水平地延伸),访问存储器块A的单个行(第二行),其中在汇编语言中LD代表“加载”操作。类似地,图25描述了可以在单个原始指令LDB[I,4]中,使用存储器的访问层(其中字线垂直地延伸),访问存储器块B的单个列(第四列)。
图23C的示例实施例描述了包括具有不同正交访问配线模式的两个级的存储器的3-D存储器结构。在本发明的其他实施例中,3-D存储器结构可以被形成为具有用于访问一个级的存储的3个或更多级的不同访问配线模式。此外,图23C描述了具有被两个不同配线模式访问的一个级的存储的3-D存储器结构,在本发明的其他实施例中,3-D存储器结构被构建为具有两个或更多级的存储,其中每个级的存储由一个或多个不同访问配线形状的层所共享。此外,在本发明的其他示例实施例中,正交模式之外的访问配线模式可以被实施,如图26、27、28中所示出的。
一般地,图26描述了根据本发明的示例实施例的、包括存储器单元阵列和斜线访问配线模式的存储器阵列。更具体地,图26描述了包括设置为8行((R1,R2,…,R8)和8列(C1,C2,…,C8)的2-D阵列中的64个存储器单元(M)的存储器阵列240。存储器阵列240包括设置为斜线访问模式的多个字线WL1、WL2、WL3、WL4、WL5、WL6、WL7、和WL8,其中每个字线被连接到来自每行和每列M(i,j)的存储器单元,其中i代表行序号,j代表列序号。例如,字线WL1被连接到存储器单元M(1,8)、M(2,7)、M(3,6)、M(4,5)、M(5,4)、M(6,3)、M(7,2)、和M(8,1)。此外,字线WL2被连接到存储器单元M(1,1)、M(2,8)、M(3,7)、M(4,6)、M(5,5)、M(6,4)、M(7,3)、和M(8,2)。尽管图26中没有具体地示出,在本发明的一个实施例中,图26中的存储器阵列240的全部位线可以以列方向或行方向运行。如此,当激活给定的字线时,每个位线可以被同时激活,以感测由给定的字线激活的每列中的一个比特。
此外,图27描述了根据本发明的另一个示例实施例的、包括存储器单元阵列和斜线访问配线模式的存储器阵列。更具体地,图27描述了包括被设置为8行(R1,R2,…R8)和8列(C1,C2,…,C8)的2-D阵列的64个存储器单元(M)的存储器阵列250,类似于图26的,但其中图27中的多个字线WL1、WL2、WL3、WL4、WL5、WL6、WL7、和WL8被设置为斜线访问模式(该斜线访问模式是图26中示出的字线配线模式的镜像)。图27中,每个字线被连接到来自每行和每列M(i,j)的存储器单元M,其中i代表行序号,j代表列序号。例如,字线WL8被连接到存储器单元M(1,1)、M(2,2)、M(3,3)、M(4,3)、M(5,5)、M(6,6)、M(7,7)、和M(8,8)。尽管图27中没有具体地示出,在本发明的一个实施例中,图27中的存储器阵列250的所有位线可以运行在列方向或者行方向。如此,当激活给定的字线时,每个位线可以被同时激活,以感测由给定的字线激活的每列中的一个比特。
图28描述了根据本发明的另一个示例实施例的、包括存储器单元阵列和位移访问配线模式的存储器阵列。更具体地,图28描述了包括被设置为8行(R1,R2,…R8)和8列(C1,C2,…,C8)的2-D阵列的64个存储器单元(M)的存储器阵列260,类似于图26和27的,但其中图27中的多个字线WL1、WL2、WL3、WL4、WL5、WL6、WL7、和WL8被设置为列-位移访问模式。具体地,图28中的字线被显示为在列方向延伸至少两行,并且接着被斜线地移动到另一列(其中它们延伸至少两行),如此继续。例如,字线WL1被连接到存储器单元M(1,4)、M(2,4)、M(3,3)、M(4,3)、M(5,2)、M(6,2)、M(7,1)、和M(8,1)。尽管图28中没有具体地示出,本发明的一个实施例中,图28中的存储器阵列260的位线可以在行的方向运行,这样当给定的字线被激活时,每个位线可以被激活以感测由给定的字线激活的每列中的一个比特。
将被理解的是,图23C、26、27和28中示出的访问配线模式时描述的实施例,并且可以实施其他访问配线模式。3-D存储器结构可以具有多层的不同访问配线结构,例如在图23C、26、27和28中示出的,其可以被一般地连接到一个级的存储。如上所指出的,图23C中示出的正交访问配线模式使得数据结构可以在不同维度(例如,阵列的行和列)中被访问。图26、27和28的随机访问模式允许以支持密码和错误检查的任意模式存储数据。例如,可以使用图26、27和28的访问配线模式以任意模式存储数据,这样数据以唯一模式实质上被加密。此外,如果每个维度保持简单的对称,可以使用不同的访问配线模式来执行阵列上的健壮的错误纠正。例如,如果一行和一列的对称是坏的,那么该行和列交叉处的比特可以被确定为错误的比特。
在本发明的其他实施例中,3-D存储器结构可构建为具有多层的存储,其中可以在三维中存储和访问数据。例如,图19示意地描述了根据本发明的示例实施例的、使得能够实现多个级存储上的3-D访问模式的3-D存储器结构。具体地,图29描述了包括多个级的存储器(例如,平面0、平面1、平面2、……)的3-D存储器结构270,其中,每个存储器级包括一个级的存储和至少一个2-D访问配线形状。通过说明,图29示出了包括在给定的平面内使用包括字线(WL0_0,WL1_0)和位线(BL0_0,BL1_0)的访问配线的正交模式可以访问的存储器单元M1、M2、M3和M4的2-D阵列的第一级存储器(平面0)。第二级存储器(平面1)包括在给定的平面内使用包括字线(WL0_1,WL1_1)和位线(BL0_1,BL1_1)的访问配线的正交模式可以访问的存储器单元M5、M6、M7和M8的2-D阵列。此外,第三级存储器(平面2)包括在给定的平面内使用包括字线(WL0_2,WL1_2)和位线(BL0_2,BL1_2)的访问配线的正交模式可以访问的存储器单元M9、M10、M11和M12的2-D阵列。
此外,图29的3-D存储器结构270包括多个垂直的字线WL0_3、WL1_3、WL2_3和WL3_3,其被连接到跨不同级存储的存储器单元的列。具体地,第一垂直字线WL0_3被连接到前三个平面(平面0、1、2)上的存储器单元M3、M7和M11。第二垂直字线WL1_3被连接到前三个平面上的存储器单元M1、M5和M9。第三垂直字线WL2_3被连接到前三个平面上的存储器单元M4、M8和M12。第四垂直字线WL3_3被连接到前三个平面上的存储器单元M2、M6和M10。基于这点,图29描述了3-D存储结构,其中数据可以被存储在三维中的任意一个中、以及在三维中的任意一个中被访问。参考图30A、30B和30C将进一步描述这些概念。
具体地,图30A、30B和30C示意地描述了用于使用图29的示例3-D存储器结构在多维中访问数据的方法。具体地,图30A描述了用于在图29的存储器结构270中针对固定的x值在y-z平面中访问数据(存储器单元M1、M2、M5、M6、M9和M10)的方法。图30B描述了用于在图29的存储器结构270中针对固定的z值在x-y平面中访问数据(存储器单元M5、M6、M7和M8)的方法。图30C描述了用于在图29的存储器结构270中针对固定的y值在x-z平面中访问数据(存储器单元M1,M3,M5,M7,M9和M11)的方法。图29的3-D结构支持用于移动数据的新的原始操作的使用。例如,在任意维度中,作为一个原始操作,一层的数据可以被移动到正交的维度中。作为示例,图30B中,作为一个原始操作,针对固定的z值的x-y平面的数据可以被移动到针对另一个值的另一个x-y平面的存储器位置。本发明的其他实施例中,一个原始操作可以被定义为转置(互换)两个平行的平面的数据操作。图30A、30B和30C中示出的多个水平和垂直的线被描述为具有双箭头,取决于实施的配线架构,这样这些线一般地代表了字线和/或位线。
将被理解的是,图29(以及图30A、30B和30C)中示出的每个存储器单元可以表达单个比特、字节、字、缓存线、或任意其他的数据量。将被进一步理解的是,为了便于描述,图29中示出的每个2-D存储器平面(平面0、平面1、平面2)为具有4个存储器单元和2个字线和位线,但是每个存储器平面可以具有更多的处理器单元、字线和位线。此外,图29中仅示出了3个2-D平面的存储器,3-D存储器结构可以被构建为具有或者2个级的2-D存储、或者4个或更多级的2-D存储,其中每个级的存储具有与其相关的访问配线模式。实际上,图29示出了与每个2-D级的存储相关的访问配线结构,存储器平面(平面0、平面1、平面2)中的一个或多个可以具有与其相关的两个或更多的访问配线模式,这样可以以不同配线形状访问给定存储器平面的2-D阵列数据,如上面图23C中所描述的。
将被进一步理解的是,如上所介绍的,图29中示出的3-D存储器结构270的每个级(平面)的存储器可以被实施为物理级的存储器或者概念级的存储器。例如,在本发明的一个实施例中,3-D存储器结构270可以被实施在单个基底或芯片上,其中在单个基底或芯片上形成所有的存储器电路组件(访问晶体管、存储元件、驱动、感测放大器等),并且其中所有的配线将被制造为单个芯片的BEOL结构的一部分。这个实施例中,3-D存储器的所有存储比特将被部署在单个2-D平面中,但是访问配线结构将被设计来连接存储器单元的存储比特,以这种方式,将创造如图29中概念地示出的虚拟3-D存储器结构。
本发明的另一个实施例中,为了获取增强的存储密度,图29中示出的3-D存储器结构270中的每个级(平面)的存储器被形成在独立的基底或芯片上,其中不同的基底/芯片被彼此堆叠以形成物理的3-D堆叠的存储器结构。这个实施例中,每个基底/芯片将具有存储元件、访问设备和与给定别的存储器相关的访问配线结构,其中贯穿不同基底/芯片比特而形成的的垂直贯穿过孔连接,创造用于访问跨不同物理级存储器的存储器单元的垂直访问配线(例如字线)。作为示例,本发明的一个实施例中,利用使用图29的结构的多物理级的缓存存储器,可以分别创建如图9C中示出的第一和第二处理器90A和90B之间的联合的L2和L3缓存。
本发明的其他实施例中,图29中示出的3-D存储器结构270可以制造为概念和物理级的存储器的组合。例如,假设4级存储器结构,4级存储器的2个可以被创建在第一基底上作为第一和第二概念的存储器级,其余2个级的存储器可以制造在独立的第二基底上作为第三和第四概念的存储器级。第一和第二基底(每个具有两个概念级的存储器)可以被彼此堆叠以形成具有4级存储器的3-D堆叠的结构。
如上参考图23C和24所描述的,例如,2-D阵列(数据结构)可以被存储在具有一个级(该一个级具有两个不同的访问配线模式)的存储器的存储器结构中,这样可以使用一个原始操作访问2-D阵列的整个行或整个列。本发明的其他实施例中,2-D数据阵列结构可以被存储在具有一个级的存储器和一个访问配线模式的标准存储器结构中,这样在一个操作中可以访问整个行或列。例如,图31描述了根据本发明示例实施例的用于在存储器中存储2-D数据阵列的方法,该方法使得能够实现一个操作中对行和列的访问。图31示意地描述了包括设置在4行(R0,R1,R2和R3)和4列(C0,C1,C2和C3)中的存储器单元的2-D阵列的存储器阵列280,其中存储器单元可以由包括4个字线(WL0,WL1,WL2,WL3)和4个位线(BL0,BL1,BL2,BL3)的访问配线结构所访问。
图31的存储器阵列280被描述为存储包括数据元件A(i,j)的4x4数据阵列结构,其中i代表行序号,j代表列序号。与图24中示出的存储器块A的数据存储安排形成对比,图31中示出的数据阵列结构的行和列被存储在变换的安排中,这样一个行的所有元件被存储在不同的列中,并且规定列的所有元件被存储在不同行中。具体地,通过以其行数目偏移每行的列,数据阵列结构的元件A(i,j)可以被存储在存储器单元中,这样数据由行和列同时偏斜。
例如,图31中,存储器280的第0行(R0)包括存储在标准位置的第一行的数据结构(A11、A12、A13和A14)。然而,第二行的数据结构(A21、A22、A23和A24),以数据元件向右移动1位,被存储在存储器280的第1行(R1)。此外,第三行的数据结构(A31、A32、A33、A34),以数据元件向右移动2位,被存储在存储器280的第2行(R2),并且第四行的数据结构(A41、A42、A43、A44),以数据元件向右移动3位,被存储在存储器280的第3行(R3)。基于这点,数据结构A的每行和每列在存储器阵列280的不同行和列中。这允许单个操作中获取任意行和任意列。例如,通过激活字线WL0,并且接着激活每个位线BL0、BL1、BL2和BL3以在一个操作中读出数据阵列结构A的第一行RA1中的每个元件(A11、A12、A13、A14),可以访问数据结构A的第一行RA1(元件A11、A12、A13、A14)。此外,通过激活每个字线WL0~WL3,接着激活每个位线BL0~BL3以在一个操作中读出数据阵列结构A的第一列CA1的每个元件(A11、A21、A31、A41),可以访问数据阵列结构A的第一列CA1(元件A11、A21、A31、A41)(如由阴影线282所示出的)。
以类似的方式,可以从存储器280读出数据阵列结构的第二、第三和第四行和列,但是,轮转方法284被用来将比特向左移动一定数目的位置,如按适当顺序放置比特所需要的。例如,当数据阵列结构的第二行被读出时,位线BL0、BL1、BL2和BL3上的数据元件将会是A24、A21、A22和A23的顺序。将会实施1比特位置的右移操作,以将数据元件放置为适当的位置,即,A21、A22、A23和A24。
本发明的另一个实施例中,上面参考图31论述的示例存储方法可以被扩展到3-D应用,例如图32中示出的。图32示意地描述了根据本发明的示例实施例的、用于将3-D数据阵列存储在3-D存储器结构中的方法。图32描述了包括4x4x4矩阵的存储器元件的立方体结构。例如,该立方体结构代表具有图29中描述的架构的3-D存储器结构。这一实施例中,通过偏移每个4x42-D平面中的行和列,以及在垂直的(堆叠的)方向,3-D阵列的数据可以被存储在3-D存储器。图32中,存储器结构290的每个立方体的数目(1、2、3、4)代表给定2-D阵列的给定行的数据元件的比特距离,以及给定2-D阵列中给定行的相关列数目。
图32的存储器设置将允许3-D存储器系统中的任意4x4(2-D)平面保持4x4x4(3-D)数据结构的任意2-D切片,这样可以在一个操作中访问每个2-D数据切片的数据元件。其他的实施例中,通过将维度中的一个存储在平面上,2-D数据可以被映射到3-D存储器结构上。例如,通过将4x16阵列分割为两个4x4部分,并且将每个4x4部分存储在3-D存储器结构的独立平面中,可以将4x162-D矩阵存储在图32的3-D存储器中。此外,假设3-D存储器被构建为具有多个级的64X256存储器,通过将第一个256维度划分为4个独立的部分(例如,形成4个64x256部分),并且将4个部分中的每个存储在3-D存储器的4个不同级的64x256上,可以将256x2562-D阵列的数据存储在3-D存储器系统中。
本发明的其他实施例包括用于实施使用多芯片系统的3-D计算机处理器系统的结构和方法。例如,图33是本发明的实施例可以被应用到的多芯片系统的侧示图。具体地,图33示出了包括封装基底310的多芯片系统300,使用表面安装结构330(例如球状网格阵列结构)安装在基底310上的3-D计算堆叠320,以及安装在计算堆叠320上的冷却板340。计算堆叠320包括多个堆叠的层,包括一个或多个处理器核心层321、互联和输入/输出配线层322、L3缓存存储器层323、多个L4缓存存储器层324、可选层325、功率转换器层326。每个层321、322、323、324、325、和326分别包括具有前侧(活跃)表面的半导体芯片321A、322A、323A、324A、325A和326A,以及与活跃表面相对的背侧(不活跃)表面。
功率转换器层326包括用于将由封装基底310传送的高压功率(例如10V)转换为提供给多个层的活跃电路的低压功率(例如1V)的电路。功率转换器层326可以包括其他电路和电路组件,例如用于实施其他标准功能的电容器和加速器电路。例如加速器是执行特定功能的ASIC硬件引擎。功率转换器层326的背侧被经由表面安装结构330连接到封装基底310。可选层325可以包括空闲的存储器或其他特征。L4缓存存储器层324包括互相面到背地安装在一起的多个存储器层(L1、L2、L3和L4)。L3缓存存储器层323被背侧地安装到L4缓存存储器堆叠324的第一层L1的面上。L3缓存存储器层323的活跃表面323A可以进一步包括用于控制多个L4缓存存储器层324的驱动和控制电路。
在一个实施例中,处理器核心层326包括多个处理器芯片,其中每个处理器芯片可以包括一个或多个处理器。例如,可以使用上面参考图13、14、15和16所描述的技术来连接处理器芯片。互联和输入/输出配线层322包括将处理器核心层321的每个彼此连接的配线,其中,互联和输入/输出配线层包括多个输入/输出端口,其中多个处理器核心层321被通用地连接并且分享该多个输入/输出端口。图33的示例实施例中,处理器核心层321的堆叠中的较低处理器核心层被显示为面对面地与互联和输入/输出配线层322通过互联阵列327(例如焊料球)安装在一起。
互联和输入/输出配线层322包括配线网络以将每个本地存储器层(即,存储器层323和324)连接在一起,以创建存储系统。例如,使用上面参考图9A、9B、9C、22到32所描述的一个或多个技术,多个存储器层可以被相互连接和控制。此外,互联和输入/输出配线层322包括配线网络,以将处理器核心层321的堆叠的通用地共享的输入/输出端口,连接到由互联的存储器层323和324形成的聚合的存储系统。此外,全局互联总线,其包括贯穿存储器层323、324和功率转换器层326形成的垂直配线和互联,被形成以将互联和输入/输出配线层322连接到在封装基底上形成的配线(经由表面安装结构330)。
尽管图33描述了一个计算堆叠320,多个计算堆叠可以被安装在仿真基底上以形成多处理器计算系统。例如,图34是本发明的实施例可以被应用到的3-D计算机处理器系统的高层视图。具体地,图34描述了具有安装在通用基底410上的、并由热连接到计算堆叠320的上表面的通用冷却板结构来冷却的多个计算堆叠420的3-D多处理器计算系统400。图34中示出的计算堆叠420可以具有与图33中示出的计算堆叠320相同或类似的结构。封装基底410包括形成电配线(电配线提供多个计算堆叠420之间的全部到全部的连接)的多个电互联和迹线。冷却板440可以是支持液体冷却的结构,或者是支持空气冷却的热散布板。
图34的实施例中,因为多种原因,使用通用冷却板440来冷却每个计算堆叠420可能是有问题的。例如,因为本领域技术人员所理解的原因,对采用的冷却技术(例如,液体冷却,空气冷却)的依赖,通用冷却板440可能不能充分地提供充足的热冷却给位于冷却板440的不同位置的不同计算堆叠420。此外,随着冷却板440扩展和收缩(缘于其热膨涨系数),不同的压力和应变可能被施加到冷却板440和位于冷却板440的不同区域(地区)计算堆叠420的上表面的热接口,这是难以控制的。例如,冷却板440的表面相对于给定计算堆叠420的表面之间的位移大于位于离冷却板的中心更远位置的那些计算堆叠420,这引起对冷却板440和位于更接近冷却板440外部边界位置的计算堆叠420之间的热接口的更大的应力和可能的损害。此外,具有图34的3-D计算系统400,因为将所有计算堆叠420连接在一起所需要的多个级的配线结构,封装基底410的制作将更昂贵和复杂。实际上,取决于形成系统的计算堆叠420的数目,以及使用的具体的配线网络结构,封装基底410可以具有100或更多级的配线,其制造可能是非常昂贵。
本发明的其他实施例中,通过构建包括聚合结构(聚合结构组合了多个本地功率和冷却层、以及连接聚合的结构中的多芯片系统的全局互联结构)中的多个多芯片系统的3-D计算机处理器系统,消除了与通用冷却板440和具有复杂配线的封装基底相关的问题。例如,图35、36、37、38和39示意地描述了包括多个多芯片系统的3-D计算机处理器系统的实施例。图35是根据本发明的实施例的多芯片系统的侧视图。图36描述了根据本发明的实施例的3-D计算机处理器系统,该3-D计算机处理器系统通过联合多个如图35中示出的多芯片系统而创建。
具体地,图35描述了包括本地功率转换器层510、多个m存储器层520、本地互联和输入/输出配线层530、多个处理器核心层540、以及本地冷却层550的多芯片系统500。本地冷却层550包括本地入口552和本地出口554。本地功率转换器层510包括本地供电512和本地接地连接514。多芯片系统500进一步包括贯穿连接到本地互联和输入/输出配线结构530的堆叠的结构的全局总线560。多芯片系统500的多个层510、520、530、540和550在结构和功能上类似于图33中示出的多芯片系统300的类似对应的层326、324/323、322、321和340。然而,图35中示出的多芯片系统500提供了用于3-D计算机处理器系统(该3-D计算机处理器系统通过物理地聚合和联合多个如图35中示出的多芯片系统而构建)的建造块。
图36示意地描述了根据本发明实施例的3-D计算机处理器系统600,其通过在一个垂直的结构中堆叠多个多芯片系统(例如图35中示出的多芯片系统500)而形成。具体地,图36示出了包括垂直地堆叠在彼此之上的10个多芯片系统(500_1、500_2、…、500_10)的3-D计算机处理器系统600。系统600包括连接到每个多芯片系统(500_1、500_2、…、500_10)的每个本地电源功率转换器层510的全局供电结构610,以及连接到每个多芯片系统(500_1、500_2、…、500_10)的本地冷却层550的本地入口和出口的的全局冷却剂系统650。这一实施例中,凭借每个多芯片系统500的独立的本地冷却系统550,3-D计算机处理器系统600中全部聚合了冷却系统。这一结构消除了与如图34中示出的通用冷却板440相关的需求和问题。
图37示意地描述了根据本发明的实施例的、用于将全局总线连接到3-D计算机处理器系统的每个多芯片系统的技术。具体地,图37示出了3-D计算机处理器系统700,3-D计算机处理器系统700包括多个多芯片系统(701、702、703、704、705、706、707、708、709和710)、以及连接3-D计算机处理器系统700中的多芯片系统的全局互联结构760。为了便于描述,图37中全局总线760被一般地描述为连接3-D计算机处理器系统700中的每个多芯片系统(701、702、703、704、705、706、707、708、709和710)的共享的总线。实施例中,全局总线760可以是电总线,由贯穿形成多芯片系统(701、702、703、704、705、706、707、708、709和710)的多个芯片层中的每个的配线和互联形成。例如,图35中示出的总线元件560代表了图37的全局总线760的一部分,该部分贯穿每个多芯片系统500的本地芯片层并且连接到每个多芯片系统的本地互联和输入/输出配线层530。
图37中示出的全局总线760被连接到形成3-D计算机处理器系统700的每个多芯片系统(701、702、703、704、705、706、707、708、709和710)的本地互联和输入/输出配线层。如上所论述的,在给定多芯片系统中,给定多芯片系统中的本地互联和输入/输出配线层将所有的处理器核心层彼此连接,将所有的存储器层520彼此连接,并且将所有的本地处理器核心和存储器层彼此连接。全局总线760使得能够实现3-D计算机处理器系统700中的每个多芯片系统(701、702、703、704、705、706、707、708、709和710)之间的点到点通信。全局总线760消除了对封装基底410提供的(以连接图34中示出的3-D计算机处理器系统400中的每个多芯片系统420)配线结构的需求。这一实施例中,假设系统700中每个层是100微米厚,3-D系统700中的100层将会是1cm左右厚度,3-D计算机处理器系统700的最外侧多芯片系统701和710之间配线的全局总线760的全部长度将不再是问题。
本发明的另一个实施例中,全局总线760可以由使用激光通信的光纤系统形成。这一实施例中,通过向3-D计算机处理器系统700中的每个多芯片(701、702、703、704、705、706、707、708、709和710)分配不同通信信号波长(颜色),可以实现共享的光纤总线上点到点通信。例如,基础波长可以被分配给第一多芯片系统701,并且接着每个剩余的多芯片系统(702、703、704、705、706、707、708、709和710)可以被分配一个递增地更大(或更小)的激光的波长。光纤系统将允许多芯片系统(701、702、703、704、705、706、707、708、709和710)在共享的总线760上传送信息给其他多芯片系统,而不需要等待共享总线760的控制,如全局总线760被电地实施时将被需要的。例如,全局总线760是否光地或电地实施,一致性方案将被实施以控制和协调共享的全局总线760上的点到点通信。
图38描述了根据本发明另一个实施例的3-D计算机处理器系统。具体地,图38示出了包括多个多芯片系统820的3-D计算机处理器系统800。如上面所描述的,多芯片系统820包括联合在一起的多个层826,其中层826包括处理器芯片、存储器芯片、本地互联和输入/输出配线层等。多芯片系统820中的一些可以仅包括处理器芯片、仅包括存储器芯片、或者它们的组合。多芯片系统820进一步包括本地功率转换器层822和本地冷却层824。如上面其他实施例中所论述的,本地冷却层824具有连接到全局冷却剂系统830的入口和出口。
3-D计算机处理器系统800进一步包括基底810,多个多芯片系统820被安装在其上。具体地,多芯片系统820的多个芯片和层可以被边缘地安装到基底810上。一个实施例中,基底810包括配线和组件以提供用于将全局功率提供给每个本地功率转换层822的功率分发网络,以及实施被边缘地连接到多芯片系统820的本地互联和输入/输出配线层的全局电总线的配线。另一个实施例中,基底810包括配线和组件以实现功率分发网络,同时使用在聚合的多芯片系统820的多个层中形成的配线和互联来构建全局互联网络,纵向地从一端延伸到一端贯穿多芯片系统820。
图39描述了根据另一个实施例的3-D计算机处理器系统。具体地,类似于图38,图39示出了包括边缘安装在基底910上的多个多芯片系统920的3-D计算机处理器系统900。如上所描述的,多芯片系统920包括被联合在一起的多个层926,其中层926包括处理器芯片、存储器芯片、本地互联和输入/输出配线层等。一些多芯片系统可以可以仅包括处理器芯片、仅包括存储器芯片、或者它们的组合。多芯片系统920进一步包括本地功率转换器层922。3-D计算机处理器系统900的基底910包括配线和组件以提供用于将全局功率提供给每个本地功率转换层922的功率分发网络,以及实施被边缘地连接到多芯片系统920的本地互联和输入/输出配线层的全局电总线的配线。
此外,图39的3-D计算机处理器系统900中,多芯片系统920被边缘安装到基底910,具有设置在相邻多芯片系统之间的空间932。抑制层930被连接到多芯片系统920的多个层的上表面以提供机械稳定性,以及提供由空间932提供的封闭空腔,通过该空腔受压的空气或冷却剂可以流动以提供用于多芯片系统920的冷却。
如下面参考图40、41、42、43、44和45所论述的,本发明的其他实施例中,三维计算机处理器系统被构建为具有多个层的联合的芯片,其中至少一个芯片层具有用于其他层(例如,处理器核心层、存储器层等)上的功能电路的扫描监测的电路,并且其支持动态检查点(checkpointing)、快速上下文转换和系统状态的快速恢复。以半导体技术的技术状态,大规模集成电路典型地被构建用于DFT(可测试设计)应用,其中,集成电路被设计为具有扫描监测电路,该扫描监测电路用于在芯片制造期间测试集成电路的内部错误情况。扫描监测电路典型地包括扫描链和/或扫描环,该扫描链和/或扫描环通过将多个扫描单元顺序地连接在一起,并且控制扫描链和/或扫描环访问集成电路的内部节点状态而形成。使用一系列的锁存器或触发器(例如,可扫描的触发器,例如扫描使能的D触发器),可以实现扫描单元。
一般地,在测试过程期间,使用扫描链和/或扫描环来建立和读回测试下的集成电路的多个块中的具体状态,用于执行功能测试的目的以确定集成电路设计的给定部分是否正确地运作。扫描单元(例如,可扫描的触发器)被配置为在两个输入(数据输入(D)和扫描输入(SI))中选择。扫描阶段期间,通过使得扫描单元的扫描输入(SI)转移到扫描单元的扫描输入处的测试模式,并且将该测试模式应用到集成电路的组合的逻辑块的输入,给定扫描链的扫描单元被配置为形成串行移位寄存器。跟随着扫描阶段,通过使能扫描单元的数据(D)输入,扫描获取阶段被执行,以获取响应于测试模式从组合的逻辑块输出的数据。因此,扫描单元的扫描输入(SI)被再次使能以移出由扫描单元获取的输出数据。基于这点,集成电路的扫描测试在两个重复阶段中执行,也就是,扫描移位阶段,其中扫描链的扫描单元被配置为串行移位寄存器用于各个输入和输出扫描数据的移入和移出;以及扫描获取阶段,其中扫描链的扫描单元获取从集成电路的组合逻辑块输出的数据。获取的数据被移出和以期待的模式比较以确定组合的逻辑块是否如期望地运行。
扫描链典型地包括非常长的比特序列。如此,将完整的一组扫描测试模式输入到芯片和从芯片输出扫描结果的过程将要求大量的时间,这限制了集成电路的部分可以被测试的速度。一个避免这样的扫描链I/O限制的方法是,构建具有可以在集成电路自身中快速产生、运行、和检查测试模式的内建自测试(built-in-self-test,BIST)模块的集成电路。然而,BIST模块可以占据芯片上的相对较大量的区域,其在芯片的正常运行期间是没有用的。此外,为了实施扫描链,集成电路需要包括额外的配线通路和额外的锁存器/触发器,这是用于将芯片的锁存器/触发器连接到扫描链所需要的,以及额外的用于支持扫描测试操作的逻辑。连接扫描单元和形成扫描链、提供扫描链比特的I/O路由、以及提供用于扫描链时钟信号的路由所需要的额外的配线,可以占据芯片的明显的路由资源,并且因此导致芯片区域消耗和电路通路时延的过分增长。
本发明的实施例包括具有被联合在堆叠结构中的多层芯片的3-D处理系统,其中一个或多个测试芯片层被构建,以具体地或主要地包含测试结构,例如BIST模块、扫描配线、测试I/O配线、以及扫描控制功能和逻辑电路,以支持和执行一个或多个其他芯片层(例如,处理器层、存储器层、其他功能芯片层等)的功能电路的扫描测试。一个实施例中,测试芯片层是永久固定装置,其被包括在被销售给客户的3-D半导体产品中。另一个实施例中,测试芯片层是临时组件,其被用于测试3-D半导体设备的其他芯片层的功能电路,并且在销售终端产品给客户之前被移除。如下将进一步详细的描述的,其他实施例中,测试层永久地作为最终产品的一部分的系统中,测试层可以被构建为进一步包括控制电路,以从一个或多个功能芯片层获取状态数据,并且存储一个或多个功能芯片层的状态数据以提供系统状态检查点(checkpointing)和应用上下文转换功能。
图40示意地描述了根据本发明实施例的、具有至少一个测试层(该测试层具有用于功能层的扫描测试和系统状态检查点(checkpointing)的电路)的3-D计算系统。具体地,图40是包括通过互联阵列1006(例如焊料球)物理地联合以形成堆叠结构的第一芯片1002和第二芯片1004的半导体设备1000的示意侧视图。第一芯片1002包括在第一芯片1002的前侧(活跃)表面1002A中形成的功能电路。取决于芯片类型,功能电路的类型将会变化(例如,处理器核心、存储器阵列等)。如图40示出的一个实施例中,第一芯片1002是具有一个或多个处理器核心的处理器芯片。其他实施例中,第一芯片1002可以是存储器芯片、或具有用于给定应用的功能电路的其他类型的功能芯片。无论芯片类型,第一芯片1002的功能电路将包括具有存储器元件(例如可扫描的触发器和锁存器)的多个扫描单元。
本发明的一个实施例中,第二芯片1004可以是具有扫描测试电路(测试基础架构)以及测试I/O(输入/输出)接口1004A的扫描链配置和测试层。经由扫描测试I/O接口1004A,将第一芯片1002的功能电路的扫描单元连接到第二芯片1004上的扫描测试电路。扫描测试I/O接口1004A包括被设置在第二芯片1004的活跃表面的广泛区域上的I/O板的宽的阵列或设置。如下所详细描述的,第二芯片1004上的扫描测试电路运行以动态地配置第一芯片1002上的扫描单元之间的电连接,以形成用于测试第一芯片1002上的功能电路的部分的扫描链或扫描环。
本发明的另一个实施例中,例如,第二芯片1004是具有系统状态获取和恢复控制电路以及其他支持电路,以从第一芯片1004的功能电路获取系统状态数据并且恢复需要的第一芯片1004的功能电路的系统状态,从而提供系统状态检查点(checkpointing)和应用上下文转换功能的系统状态恢复层。这一实施例中,功能电路将具有多个存储器元件,例如寄存器和缓存,以及典型地存储代表功能电路的当前系统状态的数据的其他元件。经由系统状态I/O接口1004B,将第一芯片1002上的这些存储器元件连接到第二芯片1004上的系统状态获取和恢复控制电路。系统状态I/O接口1004B包括被设置在第二芯片1004的活跃表面的广泛区域上的I/O板的宽阵列或设置。
为了描述的目的,图40中,测试I/O接口1004A和系统状态I/O接口1004B被显示为独立的元件,因为,本发明的一个实施例中,测试和系统状态I/O接口1004A和1004B的I/O板和点配线结构逻辑地彼此独立,并且组成独立的接口。然而,测试和系统状态I/O接口1004A和1004B的I/O板和点配线结构可以彼此散布或缠绕,这样第二芯片1004的测试和系统状态I/O接口1004A和1004B跨越在第一芯片1002的活跃表面1002A的广泛区域上,以最小化第二芯片1004上的控制电路与第一芯片1004上的功能电路之间的互联长度。
图41示意地描述了根据本发明的实施例的、用于3-D处理系统中的功能层的扫描测试和系统状态检查点(checkpointing)的测试层电路的架构。具体地,图41描述了根据本发明的实施例的、包括电路以支持扫描链配置和测试、以及系统状态恢复的测试芯片1100的实施例。图41的测试芯片1100描述了图40的第二芯片1004的一个实施例。如图41中示出的,测试芯片1100包括测试I/O接口1004A、系统状态I/O接口1004B、检查点(checkpointing)控制电路1010、上下文转换控制电路1012、存储器1014、扫描链配置电路1016、扫描链配置和测试控制电路1022、扫描链输出复用器1028、输出寄存器1030、测试I/O控制器1032、以及测试接口1034。存储器1014可以是易失性存储器,或非易失性存储器,或者测试层1100可以同时包括非易失性存储器和易失性存储器,这取决于应用。扫描链配置电路1016包括解复用电路1018和复用电路1020。扫描链配置和测试控制电路1022包括BIST模块1024和测试时钟产生器1026。
例如,测试芯片1100的多个组件1016、1022、1028、1030、1032、和1034支持扫描测试功能,下面参考图44将进一步详细地描述该功能。简要地,扫描测试电路1016和1022运行以动态地配置给定功能芯片层上的功能电路的扫描单元之间的电连接,以形成用于测试功能电路的部分的扫描链或扫描环。如参考图44将进一步详细描述的,通过测试I/O接口1004A,功能芯片层上的扫描单元的数据输出被连接到解复用电路1018的输入;解复用电路1018的输出被连接到复用器电路1020的输入;并且通过测试I/O接口1004A,复用电路1020的输出被连接到功能芯片层上的扫描单元的扫描输入。扫描链配置和测试控制电路1022产生控制信号以选择地控制解复用器电路1018和复用器电路1020,以动态地配置扫描单元输出和扫描单元输入之间的、经由电互联网络(该电互联网络经由扫描链配置电路1016在测试芯片1100上动态地形成)的电连接。
BIST模块1024实施标准的功能和控制电路以产生和应用测试模式,该测试模式被扫描进入连接到测试I/O接口1004A的功能芯片层的扫描单元的扫描输入端口。测试时钟产生器1026产生需要的测试频率的测试时钟信号,其被用来扫描功能芯片层的扫描单元以在测试时钟的测试频率来执行扫描测试操作。扫描链输出复用器1028在第一芯片1002上的多个扫描链的扫描链输出中选择一个输出,并且将选择的扫描链输出存储在输出寄存器1030中。测试I/O控制器产生的选择控制信号控制扫描链输出复用器1028。外部测试代理通过测试接口1034提供多个测试控制信号和测试模式,其被测试I/O控制器1032处理并且传递到扫描链配置和测试控制电路1022,以经由从测试I/O控制器1032输出的外部控制信号和测试模式实施扫描测试操作。经由测试接口1034,扫描测试信号和测试模式数据被输入到测试I/O控制器1032。经由测试接口1034,测试I/O控制器1032访问寄存器1030中存储的扫描链输出数据,并且该数据被输出到外部测试系统。
例如,如下面参考图45将进一步详细地描述的,测试芯片1100的多个组件1010、1012、和1014支持系统状态获取和恢复功能。简要地,检查点(checkpointing)控制电路1010被用来执行在功能芯片层上正在执行的处理的动态检查点(checkpointing)。如上所指出的,功能芯片层上的功能电路将具有多个存储器元件,例如寄存器和缓存、以及典型地存储代表功能电路的当前系统状态的数据的其他元件。一个实施例中,在少量的周期中,检查点(checkpointing)控制电路1010自动地和周期地备份(获取和存储)功能电路的微架构的整个状态,而不会污染任意缓存或其他状态-保持结构。通过具体示例,检查点(checkpoint)处理可以是周期的,或者由检查点(checkpointing)控制电路1010的逻辑中可编程的特定的事件启动。其他实施例中,可以由被检查点(checkpointed)的实际处理启动检查点(checkpoint)。对于启动检查点(checkpoint)的处理,新的指令被加入到启动这样的时间的指令集。这一实施例中,检查点(checkpointing)控制电路1010将响应于从3-D处理系统中的给定功能芯片的功能电路接收到的指令来激活检查点(checkpoint)(架构的状态存储或取回功能)。
存储器1014可以被用来存储多个时刻获取到的微架构的状态的副本。获取到的状态可被用于多个目的。例如,当恢复错误发生时,从少量周期中的存储器中存储的副本,微架构的整个状态可以被重写。实际上,当在运行处理期间发现错误时,系统可以被恢复到“已知的好的”状态(检查点(checkpoint)),并且从该检查点(checkpoint)重运行处理。当然,具有充足的存储器1014的存储,以时间顺序获取和存储给定处理的多个检查点、和/或获取和存储可能在功能芯片层上运行的不同线程的多个检查点是可行的。此外,当重要事件(例如电源故障)发生时,重要信息的检查点可以被立即地获取和存储在存储器1014中。这些检查点可以被接近瞬时地提取,这允许更健壮的恢复。例如,电源发生故障时的当前状态可以被获取,并接着在电源恢复时,经由系统状态I/O接口1004B提供的高带宽和短电互联,而被迅速地传送到给定的功能系统。
其他实施例中,存储器1014可以存储关于3-D处理系统的一个或多个功能芯片层的已知(静态的)问题的芯片-特定的信息。例如,如果给定功能芯片的功能电路的特定部分被已知为不正确地工作,该信息可以被保持在存储器1014中,这样当功能芯片将来被使用时,扫描链配置和测试控制电路1022将知道不配置该(已知的)不工作的功能电路的部分。此外,存储器1014可以被用来存储由扫描链配置和测试控制电路1022使用以实施扫描测试功能的测试程序和测试模式。如上所指出的,取决于应用,存储器1014可以使易失性存储器或非易失性存储器,或者测试层可以被实施为易失性和非易失性存储器两者。例如,对于与从严重故障恢复无关的、但简单地执行功能以使得上下文转换或从更不明显的故障恢复的应用,存储器1014可以被实施为易失性存储器。
此外,上下文转换控制电路1012被用来执行应用上下文转换,其中,给定功能层的微架构可以在不同应用的上下文之间来回转换,而不会遭受污染缓存和重执行设置代码的代价。上下文转换控制电路1012运行以针对应用上下文转换获取当前系统状态,并将获取的状态存储在存储器1014中。例如,当针对应用上下文转换而获取系统状态时,在上下文转换控制电路1012的操作下,给定应用的当前上下文,如由功能芯片层的多个缓存中存储的当前数据所代表的,可以被获取和存储到存储器1014中。这允许新的应用上下文更快地启动,因为保存原始上下文被自动地完成。此外,测试层可以具有能力来将上下文存储在该上下文已经被存储在系统自身中的地方,但其可以与新的上下文并行地运行处理。本质上,测试层提取被中断的处理的“检查点(checkpoint)”,并将检查点(checkpoint)数据存储为低优先级批处理,其可以与新启动的处理并行地运行。低惩罚的上下文转换的能力使得能够实现多程序环境中许多优化的使用,这在传统系统中是过于耗费的。
本发明的其他实施例中,因为测试层可以是可配置地制造并且包括可编程的存储,并且因为测试层可以被制造为连接已知物理位置(到堆叠的其他部分的物理连接)的功能芯片层,我们可以制造一个通用测试层,其可以被用于许多不同功能的芯片。也就是,通过定义通用测试层和功能层之间的物理触点,任意功能层可以被构建为符合那些预定义的触点。换句话说,测试层可以被构建为具有标准的I/O接口(物理的和逻辑的两者),其使得能够实现用于多种不同功能芯片的测试的测试芯片的重用。此外,另一个实施例中,功能层也可以具有在其上形成的、可以由测试层驱动的(更小的)测试基础架构。这不仅对于一些功能系统可以是“便利的”,并且其还可以是下面的情况:给定功能层包括专有的第三方的结构,标准的、通用的测试层并不测试该结构。实际上,如果这些结构是专用的,第三方不会希望泄露它们的内容,但是将运行期自身的测试。
本发明的其他实施例中,3-D处理系统可以被实施为具有两个或更多的功能层和/或两个或等多的专用测试层。例如,图42示意地描述了根据本发明的另一个实施例的、具有至少一个测试层(该测试层具有用于多功能层的扫描测试和系统状态检查点(checkpointing)的电路)的的3-D处理系统。具体地,图42是包括第一功能芯片1202(具有前侧(活跃)表面1202A)、和第二功能芯片1204(具有前侧(活跃)表面1204A)、以及测试芯片1206(具有测试I/O接口1206A和系统状态I/O接口1206B)的半导体设备1200的示意侧视图。经由互联阵列1208(例如焊料球),功能芯片1204被物理地联合到测试芯片,并且第一和第二功能芯片1202和1204被面对背地安装以形成堆叠的结构。图42的实施例中,测试芯片1206实施独立的专用的电路和功能来测试功能芯片1202和1204。这一实施例中,经由贯穿第二功能芯片1204的垂直连接,测试I/O接口1206A和系统状态I/O接口1206B被连接到前(活跃)侧1202A上的功能电路。
图43示意地描述了根据本发明的另一个实施例的、具有多个测试层(测试层具有用于多个功能层的扫描测试和系统状态检查点(checkpointing)的电路)的3-D计算机处理器系统。具体地,图43是包括第一功能芯片1302(具有前侧(活跃)表面1302A)、第一测试芯片1304(具有测试I/O接口1304A和系统状态I/O接口1304B)、第二功能芯片1306(具有前侧(活跃)表面1306A)、以及第二测试芯片1308(具有测试I/O接口1308A和系统状态I/O接口1308B)的半导体设备1300的示意侧视图。经由互联阵列1310(例如焊料球),第一功能芯片1302被物理地联合到第一测试芯片1304;经由互联阵列1312(例如焊料球),第二功能芯片1306被物理地联合到第二测试芯片1308。
图43的实施例中,每个测试芯片1304和1308包括用于对应的功能芯片1302和1306中的一个的扫描测试和/或支持系统状态获取/恢复的独立的专用电路。功能芯片1302和1306没有直接相近并且没有彼此连接,测试芯片1304的厚度可以是非常薄的,这样两个功能芯片1302和1306(例如,处理器核心层)之间的贯穿测试芯片1304的任意的直接电连接可以相对较短,以使得能够实现功能芯片1302和1306之间的快速通信,例如,利用如上面参考图14和15描述的多种连接技术。使用已知的技术,第一测试芯片1304的背侧被连接到第二功能芯片1306的背侧,以将芯片绑定在一起,并且提供连接被形成为贯穿第一测试芯片1304和第二功能芯片1306的电配线(例如,硅贯穿过孔)的I/O板。
将被理解的是,尽管图40、42和43将功能芯片层显示为处理器芯片,功能芯片层可以是其他类型的芯片,例如存储器芯片、以及可以被包括在3-D处理系统中用于给定应用的其他类型的功能芯片。此外,尽管图41描述了测试芯片包括电路以支持测试、检查点(checkpointing)、以及上下文转换控制功能,在本发明的其他实施例中,测试芯片可以仅包括扫描测试电路,仅包括检查点(checkpointing)或上下文转换控制电路,或者扫描测试、检查点(checkpointing)、和上下文转换控制电路的任意组合。
图44示意地描述了根据本发明的实施例的、3-D处理系统的测试层和功能层的电路。具体地,图44一般地描述了包括功能电路1402的功能层1400,功能电路1402包括多个扫描单元1404、1406、1408、1410、和1412,这些扫描单元被散布在可以被扫描测试的功能电路1402的多个电路块1414、1416、1418、和1420中。如图44中示出的本发明的一个实施例中,每个扫描单元1404、1406、1408、1410、和1412是扫描类型D触发器,其包括数据(D)输入端口、扫描输入端(SI)口、数据(Q)输出端口、时钟(CLK)输入端口、以及扫描使能(SE)控制端口。如图44中进一步示出的,测试层1422包括复用器/解复用器电路1424,复用器/解复用器电路1424包括多个复用器M1、M3、M3,以及多个解复用器D1、D2、和D3。测试层1422进一步包括扫描链配置和测试控制电路1426、扫描链输出复用器1428、输出寄存器1430、测试I/O控制器1432、和接口1434,具有与如上参考图41所描述的相应组件的那些功能相同或相似的功能。
测试层1422进一步包括扫描使能信号控制器1436和测试时钟产生器1438,其在扫描链配置和测试控制电路1426的控制下运行。扫描使能信号控制器1436在扫描链配置和测试控制电路1426的操作下运行,以产生扫描使能信号,通过测试层1422的扫描测试I/O接口,扫描使能信号被发送至功能层1400上的扫描单元的扫描使能(SE)输入端口。此外,测试时钟产生器1438产生测试时钟,测试时钟被输入到扫描单元的时钟输入(CLK)端口以在需要的测试频率执行扫描测试(其不同于正常功能模式时钟信号的频率)。
图44中示出的示例实施例中,扫描链配置和测试控制电路1426产生控制信号以控制多个复用器M1、M2、M3以及多个解复用器D1、D2、D3,以动态地配置用于连接扫描单元1404、1406、1408、1410、和1412的互联网络以形成用于测试功能逻辑1414、1416、1418和1420的扫描链和/或扫描环。具体地,如图44中所示,每个解复用器电路D1、D2、和D3具有输入,该输入被连接到功能层1400上的扫描单元的输出(通过测试层1422的扫描测试I/O接口),以及两个或更多的输出,该输出被连接到复用器电路M1、M2、M3中的不同的一个的输入。此外,每个复用器电路M1、M2、M3具有输出,该输入被连接到功能层1400的扫描单元的输入(通过测试层1422的扫描测试I/O接口),以及两个或更多的输入,该输入被连接到不同解复用器电路D1、D2、和D3的输出。扫描链配置和测试控制电路1426产生控制信号以控制解复用器和复用器电路,以动态地配置功能层上的扫描单元输出和输入之间的电互联,以形成用于扫描链和/或扫描环。
例如,如图44所示,扫描单元1404、1406、和1408的数据输出端口(Q)被分别连接到解复用器D1、D2、和D3的输入。此外,扫描单元1406、1408、和1410的扫描输入端口(SI)被连接到复用器电路M1、M2、和M3的输出。这一实施例中,通过选择地控制复用器和解复用器电路1424(经由从扫描链配置和测试控制电路1426输出的控制信号),扫描单元的输出可以被连接到不同扫描单元的不同扫描输入,以创建不同扫描链和/或扫描环。例如,通过选择被连接到需要的复用器M1、M2或M3的输入的解复用器D1的输出,并且相应地选择地控制那些复用器M1、M2或M3,扫描单元1404的数据输出(Q)(其被连接到解复用器D1的输入)可以被路由到扫描单元1406、1408或1410中的一个的扫描输入。
将被理解的是,图44的功能电路1402中,并非每个扫描单元输出(Q)都需要被连接到解复用器电路的输入,并且并非每个扫描单元输入(SI)都需要被连接到复用器电路的输出。实际上,如图44中关于扫描单元1410和1412所示出的,一系列的两个或多个扫描单元可以被彼此连接,以形成类似于传统扫描链(例如,一个扫描单元的数据输出(Q)被连接到另一个扫描单元的扫描输入(SI))的扫描单元段。这样的实施例中,每个扫描单元段的端点可以以复用器电路开始,并且以解复用器电路结束(即,复用器电路的输出被连接到给定段的第一扫描单元的扫描输入(SI),并且解复用器电路的输入被连接到给定段的最后一个扫描单元的数据输出(Q))。
这一动态配置能力使得能够实现大范围的额外特征。功能层1402的扫描单元可以被配置为每个连接到相同比特、但以不同的顺序的多个扫描链,其使得能够实现可以有助于减小测试时间、或增加给定时间周期内可以运行的测试的数目的丰富多样的测试过程。例如,如果两个功能请求需要被紧接着地测试的沿着给定的扫描链的不同距离的比特,那么有可能每个比特是在沿着不同扫描链(通过动态地控制测试层1422上的复用器和解复用器电路1424,可以在功能层1400上的众多可用的扫描链中创建该不同扫描链)的更短距离内。这将使得扫描操作在更短时间内完成。因为测试层1422稀少地具有控制电路(与功能层1400上的电路和配线有关的),有充足的地方将复用器和解复用器电路1424的大规模网络包括在测试层1422上,用于以众多不同方式配置扫描链或扫描环,并且使得能够实现扫描环的多个不同域(其中功能层1400上的任意具体的扫描单元可以属于多于一个的域)的配置。这便于实现非常具体的扫描测试,并且对于特定测试允许更“有效率的”配置,同时不必须是“全面的”。关于“有效率的”,我们指的是正被测试的功能可以被配置以允许更短和更彻底的测试。关于“不全面的”,我们指的是在任意具体测试中,我们可以允许电路的部分根本不被测试,因为知晓那些部分将会以其他测试环或测试链的不同测试和/或配置而被全面地(和更有效率地)测试。这与传统扫描测试技术(其中扫描链和扫描环不是灵活地可配置的)形成了鲜明的对比。
图45是描述根据本发明实施例的、用于在具有至少一个层(该层具有用于功能层的上下文转换和系统状态检查点(checkpointing)的电路)的3-D处理系统中获取系统状态和恢复系统状态的方法的流程图。为了描述的目的,图45的方法描述了图41的测试层1100中的检查点(checkpointing)控制电路1010和上下文转换控制电路1012的示例运行模式。图45描述了用于获取系统状态的处理和用于恢复系统状态的处理,其在系统初始化后并行地运行。两个处理的初始步骤包括系统初始化(块1500)。跟随着系统初始化,用于获取系统状态的处理被初始化,其中系统进入等待系统状态获取触发事件的等待状态(块1502)。本发明的一个实施例中,系统状态获取触发事件包括检查点(checkpointing)操作被开始的时间段的期满。另一个实施例中,系统状态获取触发事件包括触发正被功能芯片的功能电路执行的不同应用的上下文之间的转换的上下文转换事件。
检查点(checkpointing)或上下文转换操作是否开始,响应于系统状态获取触发事件的发生,检查点(checkpointing)或上下文转换控制电路(图41的1010或1012)运行以获取代表功能芯片(例如,处理器或存储器芯片)上的功能电路的当前系统状态的状态数据(块1504),并且将获得到的状态数据传送到测试层(块1506)。一个实施例中,多个存储器元件存在于功能电路中,其包括有存储的代表功能电路的当前系统状态的数据的寄存器和缓存。通过系统状态I/O接口,检查点(checkpointing)控制电路1010或上下文转换控制电路1012被连接到功能层上的访问电路,并且控制获取的系统状态数据从功能层上的访问电路到测试层的传送,其中状态数据被存储到位于测试层上的存储器1014中,或者存储到位于独立于测试层的另一层上的某存储器中。
此外,跟随系统初始化,用于恢复系统状态的处理被初始化,其中系统进入等待状态恢复触发事件的等待状态(块1510)。本发明的一个实施例中,对于检查点(checkpointing)应用,状态恢复触发事件可以是电源故障或可恢复的系统错误。对于上下文转换应用,状态恢复触发事件可以是触发正被功能层上的功能电路执行的不同应用的上下文之间的转换的上下文转换事件。当接收到状态恢复触发事件时(块1510中的肯定结果),检查点(checkpointing)控制电路1010或上下文转换控制电路1012将从存储器访问与目标系统状态相关的状态数据的副本(块1512)。接着,通过测试层的系统状态I/O接口,在测试层上的控制电路的控制下,该状态数据被传送到功能层(块1514)。接着,通过将访问到的状态数据的副本存储到功能层的目标缓存/寄存器,功能电路的目标系统状态被恢复(块1516)。
尽管本文中参考附图已经描述了本发明的示例实施例,但将被理解的是,本发明并不限制于那些明确的实施例,并且不偏离本文中的权利要求的范围,本领域技术人员可以在其中做出多种其他变化和修改。

Claims (34)

1.一种存储器结构,包括:
第一级存储器,所述第一级存储器包括第一存储器单元阵列和具有第一模式的字线和位线的第一访问配线结构,其中所述第一存储器单元阵列中的每个存储器单元包括存储元件和连接到所述存储器元件和所述第一访问配线结构的第一访问设备;以及
第二级存储器,所述第二级存储器包括具有第二模式的字线和位线的第二访问配线结构、以及连接到所述第二访问配线结构的多个第二访问设备,其中所述第二访问设备被连接到对应的所述第一级存储器的存储元件。
其中,所述第一访问配线结构的所述第一模式的字线和位线不同于所述第二访问配线结构的所述第二模式的字线和位线。
2.根据权利要求1所述的存储器结构,其中所述第一访问配线结构的字线被设置为正交于所述第二访问配线结构的字线。
3.根据权利要求1所述的存储器结构,其中所述第一访问配线结构和所述第二访问配线结构中至少一个的字线跨所处第一存储器单元阵列斜线地延伸。
4.根据权利要求1所述的存储器结构,其中所述第一访问配线结构和所述第二访问配线结构中至少一个的字线以列-移位方向延伸。
5.根据权利要求1所述的存储器结构,其中所述第一级存储器被形成在第一基底上,并且所述第二级存储器被形成在第二基底上,其中所述第一和第二基底被彼此堆叠,并且其中所述第一和第二基底包括垂直贯穿过孔以将所述第二级存储器上的第二访问晶体管连接到对应的所述第一级存储器上的存储元件。
6.根据权利要求5所述的存储器结构,其中所述第一和第二基底是不同的存储器芯片。
7.根据权利要求5所述的存储器结构,其中所述第一和第二基底是不同的处理器芯片。
8.根据权利要求1所述的存储器结构,其中所述第一级存储器和所述第二级存储器被形成在单个基底上。
9.根据权利要求8所述的存储器结构,其中所述单个基底是存储器芯片。
10.根据权利要求8所述的存储器结构,其中所述单个基底是处理器芯片。
11.根据权利要求1所述的存储器结构,进一步包括:
第三级存储器,所述第三级存储器包括第二存储器单元阵列和具有第三模式的字线和位线的第三访问配线结构,其中所述第二存储器单元阵列中的每个存储器单元包括第二存储元件和连接到所述第二存储元件和所述第三访问配线结构的第三访问设备;以及
连接所述第一和第三级存储器的存储器单元的多个字线。
12.根据权利要求1所述的存储器结构,其中所述第三模式的字线和位线与所述第一模式和所述第二模型的字线和位线中的至少一个相同。
13.根据权利要求11所述的存储器结构,其中所述第一级存储器被形成在第一基底上,其中所述第二级存储器被形成在第二基底上,其中所述第三级存储器被形成在第三基底上,并且其中所述第一、第二、第三基底被彼此堆叠。
14.根据权利要求11所述的存储器结构,其中所述第一级存储器、所述第二级存储器、以及所述第三级存储器全部被形成在单个基底上。
15.根据权利要求11所述的存储器结构,其中所述所述第一级存储器、所述第二级存储器被形成在第一基底上,其中所述第三级存储器被形成在第二基底上,并且其中所述第一和第二基底被彼此堆叠。
16.根据权利要求1所述的存储器结构,其中所述存储器结构是缓存存储器。
17.根据权利要求1所述的存储器结构,其中所述存储器结构是主系统存储器。
18.一种存储器结构,包括:
第一级存储器,所述第一级存储器包括第一存储器单元阵列和具有第一模式的字线和位线的第一访问配线结构,其中所述第一存储器单元阵列中的每个存储器单元包括第一存储元件和连接到所述第一存储器元件和所述第一访问配线结构的第一访问设备;以及
第二级存储器,所述第二级存储器包括第二存储器单元阵列和具有第二模式的字线和位线的第二访问配线结构,其中所述第二存储器单元阵列中的每个存储器单元包括第二存储元件以及连接到所述第二存储元件和所述第二访问配线结构的第二访问设备;以及
跨所述第一级和第二级存储器连接到存储器单元的多个字线。
19.根据权利要求18所述的存储器结构,其中所述第一访问配线结构的所述第一模式的字线和位线具有与所述第二访问配线结构的所述第二模式的字线和位线相同的模式。
20.根据权利要求18所述的存储器结构,其中所述第一访问配线结构的所述第一模式的字线和位线不同于所述第二访问配线结构的所述第二模式的字线和位线。
21.根据权利要求18所述的存储器结构,其中所述第一级存储器被形成在第一基底上,其中所述第二级存储器被形成在第二基底上,其中所述第一和第二基底被彼此堆叠,并且其中所述第一和第二基底包括垂直贯穿过孔,所述垂直贯穿过孔形成连接到跨所述第一和第二级存储器的存储器单元的所述多个字线。
22.根据权利要求21所述的存储器结构,其中所述第一和第二基底是不同的存储器芯片。
23.根据权利要求21所述的存储器结构,其中所述第一和第二基底是不同的处理器芯片。
24.根据权利要求18所述的存储器结构,其中所述第一级存储器和所述第二级存储器被形成在单个基底上。
25.根据权利要求24所述的存储器结构,其中所述单个基底是存储器芯片。
26.根据权利要求24所述的存储器结构,其中所述单个基底是处理器芯片。
27.根据权利要求18所述的存储器结构,其中所述存储器结构是缓存存储器。
28.根据权利要求16所述的存储器结构,其中所述存储器结构是主系统存储器。
29.一种用于访问存储器的方法,包括:
将数据存储在存储器单元阵列中;
使用连接到所述存储器单元的第一模式的访问配线访问所述存储器单元阵列中的数据;
使用连接到所述存储器单元的第二模式的访问配线访问所述存储器单元阵列中的数据;以及
其中所述第一和第二模式的访问配线是不同的。
30.根据权利要求29所述的方法,其中所述存储器单元阵列是存储器单元的2-D阵列。
31.根据权利要求29所述的方法,其中所述存储器单元阵列是存储器单元的3-D阵列。
32.根据权利要求31所述的方法,其中所述第一模式的访问配线被布置在所述3-D阵列的第一平面中,并且所述第二模式的访问配线被布置在所述3-D阵列的第二平面中,所述第二平面不同于所述第一平面。
33.根据权利要求32所述的方法,其中所述第一和第二平面是平行的。
34.根据权利要求32所述的方法,其中所述第一和第二平面是垂直的。
CN201480036153.XA 2013-06-26 2014-01-23 具有使得能够实现多维中的不同访问模式的配线结构的存储器架构 Active CN105359119B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/927,846 US9383411B2 (en) 2013-06-26 2013-06-26 Three-dimensional processing system having at least one layer with circuitry dedicated to scan testing and system state checkpointing of other system layers
US13/927,846 2013-06-26
PCT/US2014/012663 WO2014209433A1 (en) 2013-06-26 2014-01-23 Memory architectures having wiring structures that enable different access patterns in multiple dimensions

Publications (2)

Publication Number Publication Date
CN105359119A true CN105359119A (zh) 2016-02-24
CN105359119B CN105359119B (zh) 2017-11-17

Family

ID=52116922

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480036153.XA Active CN105359119B (zh) 2013-06-26 2014-01-23 具有使得能够实现多维中的不同访问模式的配线结构的存储器架构

Country Status (3)

Country Link
US (2) US9383411B2 (zh)
CN (1) CN105359119B (zh)
WO (1) WO2014209433A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107169404A (zh) * 2016-03-07 2017-09-15 杭州海存信息技术有限公司 含有三维存储阵列的分布式模式处理器
CN110955629A (zh) * 2018-09-26 2020-04-03 广达电脑股份有限公司 计算装置
US11527523B2 (en) * 2018-12-10 2022-12-13 HangZhou HaiCun Information Technology Co., Ltd. Discrete three-dimensional processor
CN115933997A (zh) * 2023-01-30 2023-04-07 南京芯驰半导体科技有限公司 数据访问方法、相关设备及存储介质

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013110273A1 (en) * 2012-01-27 2013-08-01 Kk-Electronic A/S Control system for power stacks in a power converter, power converter with such control system and wind turbine with such power converter
KR20140065678A (ko) * 2012-11-20 2014-05-30 에스케이하이닉스 주식회사 반도체 장치 및 이를 이용한 반도체 장치의 동작 방법
JP6507887B2 (ja) * 2015-07-01 2019-05-08 株式会社デンソー 駆動装置
TWI651513B (zh) 2016-11-15 2019-02-21 財團法人工業技術研究院 三維量測系統及其方法
US11580059B2 (en) * 2019-07-31 2023-02-14 Marvell Asia Pte. Ltd. Multi-port memory architecture for a systolic array
US11862602B2 (en) * 2019-11-07 2024-01-02 Adeia Semiconductor Technologies Llc Scalable architecture for reduced cycles across SOC
EP4071593A4 (en) * 2021-02-26 2023-08-23 Beijing Vcore Technology Co.,Ltd. SEDRAM-BASED STACKED CACHE MEMORY SYSTEM, AND APPARATUS AND CONTROL METHOD THEREOF

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6336177B1 (en) * 1997-09-19 2002-01-01 Silicon Graphics, Inc. Method, system and computer program product for managing memory in a non-uniform memory access system
CN1920879A (zh) * 2005-07-05 2007-02-28 英特尔公司 识别和访问在存储通道中的独立储存装置
US20080005634A1 (en) * 2006-06-29 2008-01-03 Grise Gary D Scan chain circuitry that enables scan testing at functional clock speed
US20080010570A1 (en) * 2006-06-20 2008-01-10 Canon Kabushiki Kaisha Semiconductor integrated circuit
CN101877248A (zh) * 2009-05-01 2010-11-03 索尼公司 半导体集成电路、信息处理装置和输出数据扩散方法
US7985989B2 (en) * 2005-08-31 2011-07-26 Macronix International Co., Ltd. Stacked bit line dual word line nonvolatile memory

Family Cites Families (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3134963A (en) 1961-03-16 1964-05-26 Ibm Esaki diode memory
US5007022A (en) 1987-12-21 1991-04-09 Texas Instruments Incorporated Two-port two-transistor DRAM
US5420754A (en) 1990-09-28 1995-05-30 At&T Corp. Stacked board assembly for computing machines, including routing boards
US5913256A (en) 1993-07-06 1999-06-15 Lockheed Martin Energy Systems, Inc. Non-lead environmentally safe projectiles and explosive container
US5592493A (en) * 1994-09-13 1997-01-07 Motorola Inc. Serial scan chain architecture for a data processing system and method of operation
US5701233A (en) 1995-01-23 1997-12-23 Irvine Sensors Corporation Stackable modules and multimodular assemblies
US5568574A (en) 1995-06-12 1996-10-22 University Of Southern California Modulator-based photonic chip-to-chip interconnections for dense three-dimensional multichip module integration
US5864496A (en) 1997-09-29 1999-01-26 Siemens Aktiengesellschaft High density semiconductor memory having diagonal bit lines and dual word lines
US6525726B1 (en) 1999-11-02 2003-02-25 Intel Corporation Method and apparatus for adaptive hierarchical visibility in a tiled three-dimensional graphics architecture
US6614260B1 (en) * 2000-07-28 2003-09-02 Agilent Technologies, Inc. System and method for dynamic modification of integrated circuit functionality
US7058834B2 (en) * 2001-04-26 2006-06-06 Paul Richard Woods Scan-based state save and restore method and system for inactive state power reduction
US6433413B1 (en) 2001-08-17 2002-08-13 Micron Technology, Inc. Three-dimensional multichip module
JP3910047B2 (ja) 2001-11-20 2007-04-25 松下電器産業株式会社 半導体記憶装置
US6687147B2 (en) 2002-04-02 2004-02-03 Hewlett-Packard Development Company, L.P. Cubic memory array with diagonal select lines
US6686775B2 (en) * 2002-04-22 2004-02-03 Broadcom Corp Dynamic scan circuitry for B-phase
US7058849B2 (en) * 2002-07-02 2006-06-06 Micron Technology, Inc. Use of non-volatile memory to perform rollback function
US20070177415A1 (en) 2002-08-20 2007-08-02 Jeng-Jye Shau High performance mass storage systems
KR100621992B1 (ko) 2003-11-19 2006-09-13 삼성전자주식회사 이종 소자들의 웨이퍼 레벨 적층 구조와 방법 및 이를이용한 시스템-인-패키지
US7139950B2 (en) * 2004-01-28 2006-11-21 International Business Machines Corporation Segmented scan chains with dynamic reconfigurations
FR2866435B1 (fr) * 2004-02-13 2008-04-04 Inst Nat Polytech Grenoble Procede d'elaboration automatique de fichiers de description hdl de systeme electronique digital integre et systeme digital elecronique integre obtenu
US7145795B2 (en) 2004-04-13 2006-12-05 Micron Technology, Inc. Multi-cell resistive memory array architecture with select transistor
US7418640B2 (en) * 2004-05-28 2008-08-26 Synopsys, Inc. Dynamically reconfigurable shared scan-in test architecture
US7068515B2 (en) 2004-11-24 2006-06-27 Hewlett-Packard Development Company, L.P. Multi-chip module with stacked redundant power
US8270193B2 (en) 2010-01-29 2012-09-18 Unity Semiconductor Corporation Local bit lines and methods of selecting the same to access memory elements in cross-point arrays
TWI267967B (en) 2005-07-14 2006-12-01 Chipmos Technologies Inc Chip package without a core and stacked chip package structure using the same
US20070168799A1 (en) * 2005-12-08 2007-07-19 Alessandro Paglieri Dynamically configurable scan chain testing
US7554203B2 (en) 2006-06-30 2009-06-30 Intel Corporation Electronic assembly with stacked IC's using two or more different connection technologies and methods of manufacture
US7619945B2 (en) * 2006-08-18 2009-11-17 Unity Semiconductor Corporation Memory power management
US7777751B2 (en) 2006-11-27 2010-08-17 Lsi Corporation Tiled memory array for full search motion estimation
KR100843214B1 (ko) 2006-12-05 2008-07-02 삼성전자주식회사 메모리 칩과 프로세서 칩이 관통전극을 통해 연결된 플래너멀티 반도체 칩 패키지 및 그 제조방법
US20080153200A1 (en) 2006-12-22 2008-06-26 Arkalgud Sitaram Stacked semiconductor components
US7615857B1 (en) 2007-02-14 2009-11-10 Hewlett-Packard Development Company, L.P. Modular three-dimensional chip multiprocessor
US8059443B2 (en) 2007-10-23 2011-11-15 Hewlett-Packard Development Company, L.P. Three-dimensional memory module architectures
US7962885B2 (en) * 2007-12-04 2011-06-14 Alcatel-Lucent Usa Inc. Method and apparatus for describing components adapted for dynamically modifying a scan path for system-on-chip testing
US7887999B2 (en) 2007-12-27 2011-02-15 Sandisk 3D Llc Method of making a pillar pattern using triple or quadruple exposure
US7925949B2 (en) 2008-10-15 2011-04-12 Micron Technology, Inc. Embedded processor
JP2010108204A (ja) 2008-10-30 2010-05-13 Hitachi Ltd マルチチッププロセッサ
US7937634B2 (en) * 2009-02-17 2011-05-03 Almukhaizim Sobeeh A Circuit and method providing dynamic scan chain partitioning
US7863960B2 (en) 2009-04-30 2011-01-04 International Business Machines Corporation Three-dimensional chip-stack synchronization
US8441829B2 (en) 2009-06-12 2013-05-14 Taiwan Semiconductor Manufacturing Company, Ltd. Stable SRAM cell
US8417917B2 (en) 2009-09-30 2013-04-09 International Business Machines Corporation Processor core stacking for efficient collaboration
US8635426B2 (en) 2009-11-04 2014-01-21 Daniel Robert Shepard Diagonally accessed memory array circuit
US8914568B2 (en) 2009-12-23 2014-12-16 Intel Corporation Hybrid memory architectures
KR101618311B1 (ko) 2010-02-08 2016-05-04 삼성전자주식회사 플래시 메모리 장치 및 그것의 읽기 방법
US8386859B2 (en) 2010-04-30 2013-02-26 International Business Machines Corporation On-chip non-volatile storage of a test-time profile for efficiency and performance control
US8509923B2 (en) 2010-06-30 2013-08-13 Motorola Solutions, Inc. Methods for managing power consumption in a sensor network
US8284589B2 (en) 2010-08-20 2012-10-09 Sandisk 3D Llc Single device driver circuit to control three-dimensional memory element array
US20120261805A1 (en) 2011-04-14 2012-10-18 Georgia Tech Research Corporation Through package via structures in panel-based silicon substrates and methods of making the same
US8692561B2 (en) 2011-08-11 2014-04-08 International Business Machines Corporation Implementing chip to chip calibration within a TSV stack
US8301947B1 (en) * 2011-10-31 2012-10-30 Apple Inc. Dynamic scan chain grouping
US8971123B2 (en) 2012-01-13 2015-03-03 Sandisk Il Ltd Memory system temperature calibration
US8410816B1 (en) 2012-02-09 2013-04-02 International Business Machines Corporation Low-swing signaling scheme for data communication
US9129940B2 (en) 2012-03-14 2015-09-08 Taiwan Semiconductor Manufacturing Co., Ltd. RF calibration through-chip inductive coupling
US9411750B2 (en) 2012-07-30 2016-08-09 International Business Machines Corporation Efficient calibration of a low power parallel data communications channel
US20140101500A1 (en) * 2012-10-05 2014-04-10 Lsi Corporation Circuits and methods for functional testing of integrated circuit chips
US9389876B2 (en) 2013-10-24 2016-07-12 International Business Machines Corporation Three-dimensional processing system having independent calibration and statistical collection layer

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6336177B1 (en) * 1997-09-19 2002-01-01 Silicon Graphics, Inc. Method, system and computer program product for managing memory in a non-uniform memory access system
CN1920879A (zh) * 2005-07-05 2007-02-28 英特尔公司 识别和访问在存储通道中的独立储存装置
US7985989B2 (en) * 2005-08-31 2011-07-26 Macronix International Co., Ltd. Stacked bit line dual word line nonvolatile memory
US20080010570A1 (en) * 2006-06-20 2008-01-10 Canon Kabushiki Kaisha Semiconductor integrated circuit
US20080005634A1 (en) * 2006-06-29 2008-01-03 Grise Gary D Scan chain circuitry that enables scan testing at functional clock speed
CN101877248A (zh) * 2009-05-01 2010-11-03 索尼公司 半导体集成电路、信息处理装置和输出数据扩散方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107169404A (zh) * 2016-03-07 2017-09-15 杭州海存信息技术有限公司 含有三维存储阵列的分布式模式处理器
CN107301222A (zh) * 2016-03-07 2017-10-27 杭州海存信息技术有限公司 兼具数据分析功能的大数据存储器
CN107316014A (zh) * 2016-03-07 2017-11-03 杭州海存信息技术有限公司 兼具图像识别功能的存储器
CN107317803A (zh) * 2016-03-07 2017-11-03 杭州海存信息技术有限公司 增强网络安全的处理器
CN107358254A (zh) * 2016-03-07 2017-11-17 杭州海存信息技术有限公司 用于图像识别的处理器
CN107357828A (zh) * 2016-03-07 2017-11-17 杭州海存信息技术有限公司 兼具语音识别功能的存储器
CN107392017A (zh) * 2016-03-07 2017-11-24 杭州海存信息技术有限公司 兼具查毒功能的存储器
CN107393537A (zh) * 2016-03-07 2017-11-24 杭州海存信息技术有限公司 用于语音识别的处理器
CN110955629A (zh) * 2018-09-26 2020-04-03 广达电脑股份有限公司 计算装置
US11527523B2 (en) * 2018-12-10 2022-12-13 HangZhou HaiCun Information Technology Co., Ltd. Discrete three-dimensional processor
CN115933997A (zh) * 2023-01-30 2023-04-07 南京芯驰半导体科技有限公司 数据访问方法、相关设备及存储介质

Also Published As

Publication number Publication date
US9696379B2 (en) 2017-07-04
US20150006986A1 (en) 2015-01-01
US9383411B2 (en) 2016-07-05
US20160209470A1 (en) 2016-07-21
WO2014209433A1 (en) 2014-12-31
CN105359119B (zh) 2017-11-17

Similar Documents

Publication Publication Date Title
CN105579979B (zh) 具有可依据多于一组的规则和/或配置分割、联合并管理的多个缓存的三维处理系统
CN105359119A (zh) 具有使得能够实现多维中的不同访问模式的配线结构的存储器架构
US9389876B2 (en) Three-dimensional processing system having independent calibration and statistical collection layer
CN103514139B (zh) 堆叠式多处理器结构和用于实现可靠的处理器操作的方法
Lowrie et al. Reconfigurable tree architectures using subtree oriented fault tolerance
US20220164294A1 (en) Cyber security and tamper detection techniques with a distributed processor memory chip
US11656662B2 (en) Layered super-reticle computing : architectures and methods
CN103378076B (zh) 半导体器件、半导体封装以及操作计算机的方法
US9190118B2 (en) Memory architectures having wiring structures that enable different access patterns in multiple dimensions
Ozdemir et al. Quantifying and coping with parametric variations in 3D-stacked microarchitectures
CN104050141B (zh) 具有局部电力和冷却层以及全局互连的计算机处理器系统
CN103377171B (zh) 处理器系统、半导体封装以及用于操作计算机处理器的方法
CN103377169A (zh) 处理器系统以及用于操作计算机处理器的方法
Ding et al. A mathematical programming method for constructing the shortest interconnection VLSI arrays
Li et al. Fault clustering technique for 3D memory BISR
Han et al. Effective Spare Line Allocation Built-in Redundancy Analysis With Base Common Spare for Yield Improvement of 3D Memory
UPADHYAYA et al. Design of a Multi-Level Fault-Tolerant Mesh (MFTM) for High Reliability Applications

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant