包括存储器管理器的3d芯片布置的制作方法

文档序号:7001319阅读:207来源:国知局
专利名称:包括存储器管理器的3d芯片布置的制作方法
技术领域
本发明涉及电子芯片布置,具体地,涉及用于移动电子设备的3维芯片布置,其包括存储器管理器。
背景技术
移动终端包括多个组件,所有这些组件都包括其与提供给终端用户的通信和应用服务有关的专用任务。这些组件通常是彼此独立地设计的,并且通常每个组件都具有其自己用于存储数据和指令的存储器。存储器的自组织(Ad-hoc)使用是移动终端中的大问题。这种情形是由设计风格导致的,其中存储器是针对专用目的而预留的,而出于其他目的对未使用的存储器进行安全的运行时分配是非常困难甚至是不可能的。利用分离的子系统来实现模块化的系统是一件困难的任务。特别地,需要仔细地考虑存储器子系统。其应当提供高性能、安全的数据存储、低功耗、可靠的封装以及低成本。 为了支持模块化设计风格,每个子系统应当具有其自己的存储器。另一方面,更加具有成本效益的解决方案是具有分配给所有子系统的集中式存储器。集中式存储器管理器可以使存储器看上去(逻辑上)为单个子系统所专用,尽管其(物理上)可由所有子系统访问。当前存储器实现的另一问题是其扩展性不是非常好。总线宽度保持在16/32位无变化,而且频率无法显著提高,这是由于与其相关联的功耗增加。此外,DRAM(动态随机访问存储器)以及其他存储器的技术轨道与逻辑电路类似, 但仍然是不同的。也即,DRAM和逻辑管芯(die)是通过不同的工艺制造的,例如,还具有不同的结构宽度(90nm对130nm等)。无论如何,DRAM和逻辑管芯之间的连接应当短(以支持快速/低延迟和低功耗),并且相对于其数量而言应当大(以支持大带宽)。利用传统技术不可能满足这些要求,因为传统管芯仅在其侧部具有键合焊盘。传统上,移动终端的大部分存储器专用于有限的目的集。全局存储器在很少的 (1-2个)子系统之间静态地划分。对于数据安全没有提供系统级的保证。而且,没有解决性能和功率问题。如上所述,存储器是移动终端中的关键资源。移动终端具有共享相同执行存储器 (通常是DRAM)的多个并发子系统。这使得执行存储器成为系统中的性能瓶颈。与逻辑速度和功能的非常快速增长(所谓的摩尔定律)相比,外部DRAM所提供带宽的低速发展是已知的事实。这些问题在PC业已存在了几十年,而最近它也出现在了移动终端中。处理存储器带宽问题的PC方式是在架构中具有多个层次级别(高速缓存),以及利用存储器I/O总线中的非常高的频率。这些技术都消耗大量功率,并且因此难以在移动电子设备之类的功率有限的系统中使用。如果存储器层次的深度或者总线频率无法提高,则剩下的仅有选项是提高存储器总线的宽度。由于总线的宽度是由当前标准规定的并且受到移动DRAM标准封装技术的限制,因此在没有用于连接存储器和逻辑的新技术的情况下, 无法实现它。传统上,移动DRAM落后于通用(PC)DRAM几年。标准DRAM的位宽度没有增长超过 16/32位,因此DRAM提高带宽的唯一方式是提高I/O总线频率。而且,已经使用了多个“以前的技巧(one-time trick) ”,例如,使用总线时钟的两个边沿在一个时钟周期中传送两个数据元素(DDR=两倍数据率)。在逻辑管芯上,这强制使用高速缓存层次中越来越多的级别。如前所述,这并非提高存储器带宽的功率有效的方式。因此,现有技术具有很多缺点。没有适用于广泛的移动终端使用的用于全局执行存储器的标准化存储器管理方案。使用传统技术的系统封装在移动终端中变得非常复杂, 这构成了非常高的“料表(BOM) ”。未来的多处理器架构带来了一些新问题。具体地,必须维护存储器一致性,这是具有重要性的。也即,存储器架构必须保证一个处理器无法以不受控的方式改变另一处理器的数据。模块化架构需要分布式存储器,以便利用该方案的自然优点。由于关联成本,物理上分布式的存储器是禁止的,因此存储器架构应当能够利用物理上集中式的存储器(外部 DRAM)来模拟分布式存储器。而且,在模块化和多处理器设计中,组件无法以非受控方式来访问存储器是重要的。这将是安全性问题,并且存储器过分配可能导致软件崩溃或者服务质量事故。存储器与使用其的子系统之间的不断增加的物理距离也变成了一个问题。增加距离意味着增加功耗和延迟,这并非是所期望的。

发明内容
根据本发明的一个方面,提供了一种芯片布置,其包括基础衬底;位于该基础衬底上、并且包括至少一个子系统的至少一个逻辑管芯;堆叠在所述至少一个逻辑管芯之上、 并且包括至少一个存储器模块的至少一个存储器管芯。示例性芯片布置还包括存储器管理单元;连接该存储器管理单元与所述至少一个逻辑管芯的第一数据接口 ;连接该存储器管理单元与所述至少一个存储器管芯的第二数据接口,该第二数据接口包括面对面(face to face)连接;连接该存储器管理单元与所述至少一个存储器管芯的配置接口,该配置接口包括面对面连接;连接该存储器管理单元与所述至少一个逻辑管芯的控制接口 ;适于为所述至少一个逻辑管芯、至少一个存储器管芯以及存储器管理单元供电的电源接口 ;以及与所述至少一个逻辑管芯相连的数据输入/输出接口。在本发明的示例性方法中,存储器管理单元适于通过经由控制接口与子系统协商允许的存储器访问,并且按照允许的存储器访问经由配置接口配置存储器模块,来管理来自所述至少一个子系统的存储器访问。应当注意,在两个或者更多逻辑管芯的情况下,控制接口将其连接。而且,在示例性实施方式中,两个或者更多逻辑管芯还可以通过存储器来通信。在示例性实施方式中,存储器管理单元包括主单元,而所述至少一个子系统包括子单元,其中主单元与配置接口连接,而所述至少一个子单元与第一数据接口和第二数据接口连接。在示例性实施方式中,芯片布置包括彼此上下堆叠的至少两个存储器管芯。而且, 子系统管芯可以布置在一个或者更多堆叠的存储器管芯之下,或者备选地在芯片基础衬底
5上紧邻于存储器管芯布置。多个逻辑管芯/子系统还可以在芯片封装内被布置为水平或者垂直地相连接。在示例性实施方式中,第二数据接口和配置接口包括穿过存储器管芯的贯穿VIA。在示例性实施方式中,存储器管理单元实现在另一独立的管芯之上,在其他示例性实施方式中,也可以在存储器单元和逻辑子系统的其他已有管芯之一上提供。在示例性实施方式中,存储器管理管芯堆叠在所述至少一个逻辑管芯与所述至少一个存储器管芯之间。在示例性实施方式中,所述至少一个存储器管芯包括至少两个存储器模块;以及与所述至少两个存储器模块和第二数据接口相连接的至少一个路由器,所述至少一个路由器适于路由去往和来自所述至少两个存储器模块的数据业务。在示例性实施方式中,第二数据接口和配置接口是共享单个物理接口的逻辑接 □。在示例性实施方式中,芯片布置包括彼此上下堆叠的至少两个逻辑管芯。在示例性实施方式中,存储器管芯包括与配置接口相连接的控制单元,其适于控制所述至少一个存储器模块并且由存储器管理单元来进行配置。在示例性实施方式中,控制接口实现在基础衬底中。在示例性实施方式中,存储器管理单元适于控制电源接口,以便选择性地对所述至少两个存储器单元中的至少一个断电,所述至少两个存储器单元可以是单个管芯内的独立存储器管芯或者存储器组。断电例如可以由存储器管芯/存储器组之一来发起,或者备选地由外部请求发起。在示例性实施方式中,所述至少一个存储器管芯包括至少两个存储器单元,并且其中存储器管理单元适于控制电源接口,以选择性地对所述至少两个存储器单元中的至少一个断电。根据本发明的另一方面,提供一种芯片装置,其包括衬底装置;位于该衬底装置上、并且包括至少一个子系统装置的至少一个逻辑装置;堆叠在所述至少一个逻辑装置之上、并且包括至少一个存储器模块装置的至少一个存储器装置;存储器管理装置;连接该存储器管理装置与所述至少一个逻辑装置的第一数据接口装置;连接该存储器管理装置与所述至少一个存储器装置的第二数据接口装置;连接该存储器管理装置与所述至少一个存储器装置的配置接口装置;连接该存储器管理装置与所述至少一个逻辑装置的控制接口装置;适于为所述至少一个逻辑装置、至少一个存储器装置以及存储器管理装置供电的电源接口装置;以及与所述至少一个逻辑装置相连的数据输入/输出装置,其中存储器管理装置适于通过经由控制接口装置与所述至少一个子系统装置协商允许的存储器访问,并且按照允许的存储器访问经由配置接口装置配置所述至少一个存储器模块装置,来管理来自所述至少一个子系统装置的存储器访问。本发明的上述发明内容并非意在描述本发明的每个实施方式或者实现。相反,应关注下文的附图和描述,其记载了本发明的其他代表性实施方式。


通过下文对示例性实施方式的详细描述并参考附图,将更为全面地理解本发明,
6其中详细描述和附图仅仅是通过示例性方式提供的,并非意在将本发明限于在此示出的任何特定实施方式。在附图中图1示出了本发明示例性实施方式的基本逻辑部分;图2是根据本发明实施方式的3D芯片布置的剖面图;图2b是图2的示例性芯片布置的存储器管芯的剖面图;图2c是图2的示例性芯片布置的存储器管芯的平面图;图3是根据本发明的3D芯片布置的备选实施方式的剖面图;图4是根据本发明的3D芯片布置的另一备选实施方式的剖面图;图5示出了本发明示例性实施方式的存储器和存储器内部块的拓扑;图6是示出包括存储器网络的本发明示例性实施方式的示例性路由器实现的另一示意图;图7示出了在根据本发明实施方式的存储器网络的写操作中使用的包结构;图8示出了在根据本发明实施方式的存储器网络的读操作中使用的包结构;以及图9示出了根据本发明的存储器网络中的读操作的示例。
具体实施例方式根据本发明,通过一种芯片布置克服了现有技术的问题,该芯片布置具有集中式存储器管理单元,其能够动态地为所有子系统分配和去分配存储器。这还对运行在子系统上的软件隐藏了实际的存储器实现。也即,本发明是基于提供一种集中式存储器管理单元,其为所有子系统提供统一的存储器架构视图,而不考虑存储器的实际物理实现。存储器接口用于存储器子系统(其包括存储器管理单元)与子系统之间的数据传送。子系统之间以及存储器管理单元与子系统之间的控制消息通过控制接口来传递。图1示出了本发明示例性实施方式的基本逻辑部分。该图表示高层架构视图,其示出了实现所需的组件和接口。多个存储器组(1. . . χ)与智能存储器管理单元(IMMU)相连接。存储器管理单元继而经由存储器接口(MI)与多个子系统(SSl...SSy)相连接。子系统经由控制接口(Cl) 互连,该控制接口也与存储器管理单元相连接。子系统只能通过存储器管理单元来访问任何存储器组。在没有存储器管理单元执行的许可和存储器管理的情况下,没有子系统能够实际访问存储器。因此,存储器管理单元在逻辑上总在存储器模块与子系统之间。如图1 所示,存储器管理单元也可以视作另一子系统,其具有自己到存储器的专用接口。根据本发明的智能存储器管理单元(IMMU)的3D实现分别指的是在独立管芯之外设计系统或者芯片布置的模块化方式。子系统(SS)管芯和存储器管芯(以及,在某些实施方式中,存储器管理单元管芯)在底部的基础衬底上彼此上下堆叠,形成Z向的连接(可以将其视作“Z总线”)。Z总线可以利用穿过所有堆叠管芯而延伸的硅贯穿VIA来实现。图2示出了根据本发明示例性实施方式的基本结构。在底部基础衬底2上,布置有逻辑管芯4。在逻辑管芯4之上,堆叠有三个存储器管芯8。还提供了存储器管理单元6, 在这种情况下,其作为另一单独的管芯或者在另一单独管芯之上。然而,本发明不限于该示例。存储器管理单元6也可以分布给多个物理实体,也即,例如在子系统管芯4或者存储器管芯8中的一个中实现。该图示出了使用存储器管理单元6的示例实现。在此实现中,每个子系统4位于独立的管芯上,并且组件管芯(包括DRAM=存储器)利用面对面附接而连接。在此概念中,Z总线连接(也即,存储器(例如,DRAM)插口)需要关于其数目和位置来进行定义。在底部基础衬底2上,分别布置两个子系统管芯或者逻辑管芯4。在这里所示的示例中,子系统4水平地布置。然而,本发明不限于该特定布置。在高级实施方式中, 还可以在垂直方向中堆叠两个或者更多逻辑管芯。控制接口 10将逻辑管芯4彼此连接,并且将其与存储器管理单元6相连接。在这里所示的示例中,控制接口 10分别实现在基础衬底2之内或者之上。然而,本发明不限于该示例,控制接口 10可以不使用基础衬底2来实现。在逻辑管芯4和存储器管理单元6之上,存储器管芯S(DRAM)在有三个的情况下按照堆叠的方式来布置。也即,存储器管芯8在垂直方向上堆叠在逻辑管芯4和存储器管理单元6上。提供存储器接口 12,其连接存储器管芯8与逻辑管芯4和存储器管理单元6。 存储器接口 12是使用穿过所有存储器管芯8而垂直延伸的硅贯穿VIA、以及还使用独立管芯之间的面对面连接来实现的。配置接口 14在DRAM 8与存储器管理单元6之间利用硅贯穿VIA和面对面连接以相同的方式实现。存储器管理单元6使用配置接口 14来配置DRAM 8的控制单元,以符合本发明的存储器管理方案。针对存储器模块(实现)特定的控制来完成配置。这些操作包括芯片使能、指派模块编号、网络化实现中的路由器ID(参见下文)、功率控制(关闭未使用的存储器组)等。存储器管理单元可以按照各种方式来管理可用的存储器单元,诸如单个芯片上的多个存储器管芯和/或存储器组。在某些示例性实施方式中,通过为每个所分配的存储器区域指派唯一的标识符来实现存储器管理。为了本描述的目的,该标识符将称为区域码或者句柄。而且,可以给予每个子系统唯一的子系统标识符。继而可以为存储器管理单元提供数据库或者表,其中存储有存储器区域的区域码以及相应区域当前分配给的相应子系统的子系统标识符。以此方式,存储器管理单元能够定义特定存储器区域的所有权。如果未被某些其他条件禁止,存储器区域每次还可以具有不止一个所有者,也即,可以允许不止一个子系统访问存储器区域。在这样的参数表中,可以由管理单元来存储和管理其他参数。示例是物理存储器地址,存储器区域的大小,以及涉及存储器区域的性能、保护和访问的其他参数。子系统可以使用其自己的逻辑地址空间来经由存储器管理单元对存储器区域进行寻址,而无须知道实际的物理存储器地址。逻辑开始地址也可以存储在如上所述的参数表中,其是从子系统看来是存储器区域开始的地址。存储器管理单元执行逻辑存储器地址和物理存储器地址之间的任何必要的地址转换。以此方式,可以向子系统本身隐藏实际的物理存储器结构(诸如,不同类型的多个存储器管芯)。可在示例性实施方式中实现的存储器管理方案的另一方面是所有权的转移。也即,如上文定义的所有权可以从一个子系统转移到另一子系统,而不是为子系统分配和去分配物理存储器区域并在区域之间复制存储器内容。例如,第一子系统可以请求存储器,而存储器管理单元将在可能的情况下分配适当的存储器区域。在第一系统不再使用所分配的存储器区域的情况下,可以执行至第二子系统的所有权转移。
再一次,这种转移经由存储器管理单元以及指派给每个已分配区域的区域码来实现。第一子系统可以请求所有权转移,其向存储器管理单元指明其子系统标识符以及相应存储器区域的区域码。继而,存储器管理单元可以在其存储的参数表中将该子系统ID从与该存储器区域相关联的条目中删除。现在,该存储器区域可用于供另一子系统注册。为了能够进行转移,第一子系统可以将存储器区域的区域码以及可选地与其他参数一起传送给第二子系统。第二子系统接收涉及存储器区域的这些参数,并且使用它们以在存储器管理单元处注册为该存储器区域的新所有者。为此目的,第二子子系统可以传送所有权请求,其指明所有需要的存储器区域参数以及其子系统ID。存储器管理单元继而能够在相应存储器区域的所有者字段处输入第二子系统的新子系统标识符,从而更新参数表。所有其他参数保持其在参数表中所存储的状态不变。由此,通过简单地基于区域码而将所有权从一个子系统转移到另一子系统,存储器区域现在可由不同的子系统来访问,而无须任何存储器内容的不必要复制。所有请求、确认和参数传送可以通过在存储器管理单元与子系统之间和/或两个子系统之间传递的专用消息来完成。到存储器管理单元IMMU的信号可以经由存储器接口来传输,并且控制接口可以用于子系统之间的所有通信。这些接口例如可以在逻辑上如上所定义以及图1中所示来进行布置。除了如上所述的示例性存储器管理方案之外,其他实施方式可以采用不同的存储器管理方案来实现对集成芯片中所包括的多个存储器单元和管芯的有效存储器使用。在图2中示例性描述了根据本发明的3D集成的使用,其使得能够使用非常宽的总线(例如,至少数千位宽)。特别地,这允许解决在使用中央存储器的布置中可能出现的问题,即,由于多个子系统使用单个中央存储器而出现存储器带宽瓶颈。将在本发明中使用的DRAM (或者任何其他类型的RAM)需要具有用于DRAM配置和数据接口的预定义插口。此外,存储器管芯的对侧上的插口之间需要具有互连,例如利用硅贯穿VIA。需要这样来支持垂直堆叠以及建立垂直的Z总线连接。如果这些插口的位置是预定义的,这将使多个DRAM管芯以及还有其他存储器管芯(SRAM、FLASH等)或者甚至附加的逻辑管芯能够堆叠在子系统管芯之上。这可能需要两部分寻址方案,其中存储器地址的第一部分包括存储器管芯标识, 而第二部分包括存储器内部的地址。在本发明的3D实现中,功率信号和接地信号也可以使用附加的硅贯穿VIA来分布(以用于数据和配置)。而且,可以通过热VIA引导热量离开管芯。图沘和图2c详细描述了硅贯穿VIA 18以及存储器和配置接口及其相应插口(共同表示为16)在存储器管芯8上的位置。在图2b中,示出了穿过存储器管芯8的剖面,其中硅贯穿VIA 18在ζ方向延伸,并且连接位于存储器管芯8的上表面和下表面上的插口 16。图2c是图2b的存储器管芯8的平面视图,其中示出了存储器以及配置接口插口 16的位置。由于将管芯8的表面区域用于放置插口 16,与仅在其边缘包括插口的传统封装相比,这支持极宽的总线。图3和图4中示出了本发明的两个其他示例性实施方式。图3示出了将存储器管理单元划分为局部存储器管理单元(实现在逻辑管芯4中,并由虚线框20表示)和全局存储器管理单元6’。其他组件与图2相同地布置。在图3的示例性实施方式中,存储器接口12经由面对面连接来实现,而控制接口 10在芯片衬底2内实现。在这种情况下,存储器管理单元并非直接位于逻辑管芯4与存储器管芯8之间,因此需要将其分割为全局管理单元 6’和局部管理单元20。全局存储器管理单元6’记录系统级问题,并且对需要地址转换和存储器保护的、局部存储器管理单元20内部的表进行配置。图4示出了另一示例性实施方式,其仅包括单个存储器管理单元6,然而其位于存储器管芯8与逻辑管芯4之间。其他组件与图2相同地布置。本发明更为有效地使用存储器,这允许较小的系统尺寸,由此降低系统成本。较小的系统尺寸连同用于组织物理存储器中存储器分配的方案使得本发明从能源有效的角度看非常有价值(可以关闭未使用的存储器组/存储器管芯)。而且,本发明可以向子系统隐藏实际的存储器实现。与针对每个子系统使用专用存储器相比,具有集中式共享存储器的方法的一个效果是可用存储器带宽以及用于存储器分配的过度通信可能降低。当存储器在多个子系统之间共享时,共享资源的拥塞可能导致延长的等待时间。而且,系统需要额外的控制单元和标准化的多级存储器使用方案。提供大量并行I/O的面对面存储器接口使得非常宽的连接成为可能,这能够对带宽的降低进行了补偿,并且由此防止了任何数据瓶颈的形成。通过本发明的芯片布置,通过阻止任何未授权存储器访问,提供了安全的数据存储。此外,对于数据安全,在存储器连接上搭线窃取(tape)变得极度困难,因为其从传统的封装对封装连接变为面对面连接。已有应用软件或者子系统管芯无需逻辑改变。利用不同的成本性能折衷,可以实现多个产品变形,而无须修改软件。根据本发明的存储器与逻辑之间的短连接导致较快的操作速度、每个所传送比特的较低能耗、以及还有驱动信号的晶体管可以在维度上较小(较小的面积)。与传统上将独立的存储器专用于每个子系统相比,本发明还有助于降低料表(BOM)。由于管芯堆叠的附加可能性,降低了 PWB面积。提供存储器接口和控制接口支持对这些接口的特定优化。例如,有可能提供具有非常宽总线的存储器接口,由此支持大量并行数据传送,同时将控制接口(其仅需要传送相对少量的数据)优化为具有非常低的延迟。这样的实施方式需要将两个接口实现为分离的物理接口,一个针对大量并行数据传送进行优化,而另一个针对降低的延迟进行优化。然而,应当注意,存储器接口和控制接口无需是分离的物理实体;相反,本发明还包括将其实现为共享的公共物理网络接口上的逻辑接口。本发明的其他高级实施方式还包括在存储器管芯上实现的存储器网络。图5描述了包含这种存储器网络的示例性实施方式。存储器网络包括形成网格拓扑的路由器22,以及与这些路由器22连接的存储器模块M。每个路由器22还充当到外界(=逻辑管芯4)的连接点,其经由存储器接口 12而使用面对面连接。这些连接或者插口需要预先定义,包括其位置、数量、实现以及协议。路由器22包括端口(在此示例中,端口 #0...端口 #3),其中端口 #3经由存储器接口 12与子系统或者逻辑管芯4连接。端口 #1与存储器组或者存储器模块M连接,而端口 #0和端口 #2与其他路由器22连接。本发明的这个方面背后的基本思想是将存储器布置为互连,也即,组织存储器管芯,从而通过它来支持数据传送,由此隐式地对所传送的数据进行缓冲。存储器与逻辑管芯
10之间的面对面连接用来提供大量并行1/0,而无须用于逻辑和存储器的独立封装,以便降低料表(BOM)。存储器互连使用网格拓扑以及分组交换的路由方案。对互连的控制由全局智能存储器管理单元完成,其中该全局智能存储器管理单元可以实现在逻辑管芯或者独立管芯上,或者实现在存储器管芯上,并且其对存储器管芯上实现的路由器22以及每个子系统中或者相应逻辑管芯4上的局部存储器管理单元进行配置。本发明使用两种方法来将存储器从一个子系统转移到另一子系统转移句柄(或者区域码),或者进行由存储器内部完成的DMA转移。此方面的示例性实施方式的关键组件是全局存储器管理单元,其记录分配给子系统的全局存储器,接收和处理针对存储器分配的请求,并且配置子系统的局部管理单元。全局存储器管理单元不一定是集中式组件;其功能也可以分布给多个物理实体。然而,全局存储器管理单元具有唯一的、预定的网络访问,总是可以通过该网络访问来从存储器网络访问该全局存储器管理单元。局部存储器管理单元包括用于地址转换和存储器保护的表(其可由全局存储器管理单元来配置)。其用于将地址从子系统逻辑地址转换为存储器/存储器网络物理地址。 这里采用的存储器保护方案不允许子系统使用未分配的存储器。在全局存储器管理单元分配存储器区域之后,如果子系统请求从该区域进行存储器再分配,则局部存储器管理单元可以这么做。路由器在子系统与存储器块之间路由数据。其根据目的地路由器的X和y坐标而使用存储-转发路由,虫洞路由、虚拟直通路由或者源路由(其中局部存储器管理单元提供路由)。图5中给出了路由器22、存储器模块M以及逻辑管芯4的组织。图6中描述了示例路由器实现。包括面向分组交换器的中央路由器22连接至多个缓冲器观,该多个缓冲器分别通过多个端口 0...端口 N+3来提供。路由器22包括路由控制沈。端口 0到端口 N-I连接至存储器模块1... N。端口 N到N+2连接至相邻路由器 (未示出),而端口 N+3经由面对面连接而连接至逻辑管芯(未示出)。在此布置中,向端口 N+3上的子系统隐藏了存储器网络的实际结构,其中该存储器网络由路由器和存储器模块构成。通过配置接口完成的基本操作有多个-每个路由器(R)具有可以从其查询的唯一路由器ID(RID)(通常是其XY坐标)-局部存储器管理单元可以请求其RID,路由器返回RID(如果多个路由器连接至局部存储器管理单元,则返回多个RID)-局部存储器管理单元从全局存储器管理单元请求存储器的χ个字节,并且给出其RID中的一个。全局存储器管理单元分配存储器,并且为该存储器区域指派句柄HI。其继而返回RID、正确的端口号、物理存储器块内的物理地址、以及该句柄。-在分配之后,局部存储器管理单元开始使用其由RID、端口号以及物理地址所标识的存储器。图7中示出了所需的写分组和地址转换。子系统发出写分组,其包括命令、逻辑地址以及数据。局部存储器管理单元LIMMU继而将逻辑地址转换为物理地址,其包括路由器 ID = RID,用于通过网格进行路由,基本上包括X和Y坐标Addr_X和Addr_Y ;目的地路由器中的输出端口的数目P0RT_N ;以及用作存储器模块内地址的物理地址Addr_M。
图8给出了相应的读分组。子系统发出读分组,其包括命令、要读取的数据量、应当从其读取数据的逻辑地址、以及用于数据写回的一些其他字段。LIMMU按照类似于写分组中的方式来转换逻辑地址。写回字段用于标识应当利用已经描述的写分组将对读请求的应答发送到哪里。这包括写回X和Y坐标Addr_X_WB和Addr_Y_WB、写回端口 Port_N_WB、以及子系统逻辑存储器空间内的写回地址Addr_M_WB。应当注意,子系统本身并不知道物理地址、RID和端口号。这些值由其局部存储器管理单元添加到分组。读操作由写操作(通过存储器接口)来应答。在这种情况下,写的地址是根据读分组生成的(逻辑地址+在可能突发中的该读取的数量乘以所使用的字长)。图9中示出了读操作的示例。这意味着,局部存储器管理单元未必要对将要进行的写进行任何地址转换,并且其可以找到传入数据分组的正确顺序。在图9中,在步骤102,(经由局部存储器管理单元LIMMU)与路由器Rl相连接的子系统SS发出请求请求16字节的存储器。在该请求中,可以包括路由器Rl的路由器ID, 以允许适当存储器区域的分配。在步骤104,全局存储器管理单元GIMMU将路由器标识符 ID(0,1)、端口号(1)、物理地址(0x200)以及所分配存储器区域的句柄Hl返回给LIMMU。 这些传送都是经由控制接口 CI执行的。在步骤106,LIMMU经由存储器接口 MI向路由器 Rl (0,0)发出读请求,该读请求包括从GIMMU接收的地址数据。读请求例如可以包括与所分配的存储器区域相关联的路由器ID、端口号、物理地址、以及写回路由器标识符RID_WB、相关联的端口号以及地址。由此,子系统可以使用该请求来请求读取如图9所示的物理地址 (0x200)处存储的数据,并将其写到其自己的地址空间的地址(0x0)处。在步骤108,路由器Rl将请求转发至路由器R2(0,l),路由器R2继而(在步骤110)使用在转发请求中接收到的写回地址,并包括读数据来发出写回响应。在步骤112,路由器Rl继而经由存储器接口 MI来将该响应转发回子系统。根据本发明的某些实施方式,可以按照类似的方式来执行句柄或者区域码的转移,如同上文已经结合示例性存储器管理方案而一般性地描述的那样-可以通过发送区域码以及通知操作的全局存储器管理单元,来将存储器区域的所有权从一个子系统传递至另一子系统;-新子系统可以利用区域码来注册为该区域的所有者;-除了区域码之外,全局存储器管理单元还可以给出物理地址、RID以及端口号。 这对于原始存储器分配以及所有权转移二者都成立。子系统(经由局部存储器管理单元)还可以从全局存储器管理单元请求DMA(直接存储器访问)。该实现具有两个选项-全局存储器管理单元执行DMA(首先读数据,继而写数据)-全局存储器管理单元向存储器内部DMA发出DMA命令(具有源地址、目的地址以及通过内部DMA的寄存器接口给出的数据量)DMA传送在一个子系统的存储器区域内部是可能的。如果数据从一个子系统移动到另一子系统,则首先所有权转移。该存储器管理方案保证,对于特定的存储器区域(由区域码标识),始终只有一个所有者。该方案还保证,没有处理器或者其他存储器用户可以访问没有指派给其的存储器(其没有有效的区域码)。在高级方案中,相同的区域码可以给予多个用户。这将导致可由多个用户同时进行读和写的存储器空间。因此,将支持共享存储器和“活动空间(scratch space) ”型的存储器使用。此外,某些系统可以受益于只读区域码,这允许从特定的存储器区域进行读取,但是不能写入。本发明的存储器网络实现内存在如下可能的连接关系-1个子系统连接至1个路由器-N个子系统连接至1个路由器-1个子系统连接至N个路由器存储器组或者存储器模块可以内部组织为多个分离的存储器块。存储-转发是可能的路由实现,但是虫洞路由、虚拟直通路由、源路由等也是可能的。网络可以具有乱序传送,但是在常规操作中不会丢失分组。而且,针对读和写可以实现确认消息-消息可以确认单个读/写或者突发-消息可以在传送已经被接收或者已被处理时对其进行确认-否定确认表示传送错误,这将要求重传。传送也可以具有请求ID (在命令字段内部),用于将多个事务分离到相同的地址。 请求ID可以是顺序编号或者伪随机编号。标准的误差修正方案(奇偶性,CRC)可以添加至分组方案。在本文件中给出的所有实施方式、描述和阐释不应理解为限制,而是仅仅通过示例的方式给出,以支持对本发明的理解。针对特定实施方式而描述的所有特征和细节可以转移到其他所描述的实施方式或者与之结合,只要其不是互斥的。本领域技术人员将会容易地认识到,在不脱离本发明精神和范围的情况下,可以对以上实施方式进行多种修改、改进和各种组合。
权利要求
1.一种用于管理芯片中的存储器资源的方法,包括存储器管理单元将第一存储器区域分配给第一子系统,其中所述第一子系统是第一逻辑管芯的部分,所述存储器区域是第一存储器管芯的部分,所述第一逻辑管芯和所述第一存储器管芯二者都包括在所述芯片中;所述存储器管理单元生成与已分配的所述存储器区域相关联的区域码;与所述存储器区域的地址相结合地存储所述区域码;以及通过将唯一的子系统标识符与所述区域码一起存储在所述存储器管理单元处的参数表中,将所述第一子系统定义为所述存储器区域的第一所有者。
2.根据权利要求1所述的方法,还包括经由逻辑存储器接口,在所述子系统与所述存储器管理单元之间传输与所述存储器区域相关的参数。
3.根据权利要求1所述的方法,还包括经由逻辑控制接口,将与所述存储器区域相关的参数从所述第一子系统传输至第二子系统。
4.根据权利要求3所述的方法,其中经由所述逻辑管芯与所述存储器管芯之间的面对面连接,提供所述逻辑控制接口。
5.根据权利要求1所述的方法,还包括通过在所述参数表处改变所述存储的子系统标识符,将所述存储器区域的所有权转移给第二子系统。
6.根据权利要求1所述的方法,还包括在至少一个所述存储器管芯上提供至少一个附加的局部存储器管理单元。
7.根据权利要求6所述的方法,其中所述分配存储器区域的步骤还包括所述局部存储器管理单元将存储器分配请求从所述子系统转发至所述存储器管理单元。
8.根据权利要求7所述的方法,其中所述存储器分配请求包括与所述请求子系统相关联的路由器单元的唯一路由器标识符。
9.根据权利要求6所述的方法,还包括将分配确认从所述存储器管理传输至所述局部存储器管理单元。
10.根据权利要求9所述的方法,其中所述分配确认包括连接至已分配的所述存储器区域的路由器单元的唯一路由器标识符。
11.根据权利要求10所述的方法,其中所述分配确认包括以下参数中至少一个所述路由器单元的端口号,所述存储器区域的物理存储器地址,已分配的所述存储器区域的区域码。
12.根据权利要求6所述的方法,还包括所述局部存储器管理单元将从所述存储器管理单元接收到的物理存储器地址转换为特定于所述子系统的局部存储器地址。
13.根据权利要求6所述的方法,还包括所述局部存储器管理单元请求向所述子系统路由通信的路由器单元的唯一路由器标识符的指示;以及所述路由器单元向所述局部存储器管理单元指示其路由器标识符。
14.一种设备,包括用于将第一存储器区域分配给第一子系统的装置,其中所述第一子系统是第一逻辑管芯的部分,所述存储器区域是第一存储器管芯的部分,所述第一逻辑管芯和所述第一存储器管芯二者都包括在单个芯片中;用于生成与已分配的所述存储器区域相关联的区域码的装置; 用于与所述存储器区域的地址相结合地存储所述区域码的装置;以及用于通过将唯一的子系统标识符与所述区域码一起存储在所述分配装置的参数表中, 将所述第一子系统定义为所述存储器区域的第一所有者的装置。
全文摘要
包括存储器管理器的3D芯片布置,以及涉及集中式存储器管理的系统、装置和方法。实施方式包括基础衬底;位于基础衬底上且具有子系统的逻辑管芯;具有存储器模块的存储器管芯;存储器管理单元;连接存储器管理单元与至少一个逻辑管芯的第一数据接口;连接存储器管理单元与至少一个存储器管芯的第二数据接口;连接存储器管理单元与至少一个存储器管芯的配置接口,配置接口包括面对面连接;连接存储器管理单元与至少一个逻辑管芯的控制接口,存储器管芯和逻辑管芯布置在基础衬底上堆叠配置中,存储器管理单元适于通过经由控制接口与子系统协商允许的存储器访问,并按照允许的存储器访问经由配置接口配置至少一个存储器模块管理自子系统的存储器访问。
文档编号H01L25/18GK102157187SQ201110130748
公开日2011年8月17日 申请日期2007年7月2日 优先权日2006年10月5日
发明者J·尼卡拉, K·库西兰纳, M·库吕萨, T·伊尔, T·马克莱南, V·拉蒂南 申请人:诺基亚公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1