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

【发明授权】不对称存储器管理_英特尔公司_201780017694.1 

申请/专利权人:英特尔公司

申请日:2017-03-07

公开(公告)日:2022-12-02

公开(公告)号:CN108780428B

主分类号:G06F13/16

分类号:G06F13/16;G06F12/0802

优先权:["20160314 US 62/308210","20170224 US 15/442470"]

专利状态码:有效-授权

法律状态:2022.12.02#授权;2019.04.09#实质审查的生效;2018.11.09#公开

摘要:本文中描述的是不对称存储器管理的实施例以使得高带宽访问能实现。在实施例中,能够使用多于一个存储器源的带宽能力,合成高带宽高速缓存或高带宽区域。在一个实施例中,存储器管理电路包括与第一存储器和第二存储器耦合的输入输出(IO)电路。IO电路要接收存储器访问请求。存储器管理电路包括逻辑以确定存储器访问请求是针对在系统存储器的第一区域中的数据还是在系统存储器的第二区域中的数据,并且响应于存储器访问请求之一是到第一区域和存储器访问请求的第二请求是到第二区域的确定,从第一存储器的高速缓存访问在第一区域中的数据和从第二存储器并发访问在第二区域中的数据。

主权项:1.一种存储器管理电路,所述存储器管理电路包括:与第一存储器和第二存储器耦合的输入输出(IO)电路,所述IO电路要接收存储器访问请求;以及逻辑,所述逻辑要:确定所述存储器访问请求是到系统存储器的第一区域还是系统存储器的第二区域,其中所述第一区域中的数据在所述第一存储器的高速缓存中是可缓存的;以及响应于所述存储器访问请求之一是到所述第一区域和所述存储器访问请求的第二请求是到所述第二区域的确定,从所述第一存储器的所述高速缓存访问在所述第一区域中的所述数据和从所述第二存储器并发访问在所述第二区域中的第二数据,其中:所述第一存储器具有第一带宽,并且所述第二存储器具有第二带宽,以及其中所述第一区域的大小对所述第二区域的大小的比率与所述第一带宽对所述第二带宽的比率是成比例的。

全文数据:不对称存储器管理[0001]相关申请本申请在35U.S.C.§365C下要求在2017年2月24日提交的申请号为15442,470、标题为“ASYMMETRICALMEMORYMANAGEMENT”的美国申请的优先权,本申请还要求在2016年3月14日提交的序列号为62308,210、标题为“ASYMMETRICALMEMORYMANAGEMENT”的美国临时申请的优先权的权益。技术领域[0002]本发明的实施例一般涉及存储器装置,并且更具体地,涉及使得高带宽访问能实现的存储器的管理。[0003]版权通知许可本专利文档的部分公开可能包含受版权保护的材料。版权所有者不反对任何人拓制如在专利和商标局专利文件或记录中出现的专利文档或专利公开,但在其它方面无论如何保留所有版权权利。版权通知适用于如下所述和其附图中的所有数据及下述任何软件:版权所有©2017,IntelCorporation,保留所有权利。背景技术[0004]存储器装置是在计算装置中普遍存在的,以存储数据和代码以供处理器执行操作和达成计算装置的运转。甚至随着对计算装置的需求增加,存在向在更少功率上操作的更小计算装置发展的趋势,尤其是在移动装置中。随着移动计算装置已在计算性能方面增加,它们已包括越来越多的存储装置和存储器以满足在装置上执行的增加的处理和执行。另夕卜,一些应用能够要求带有高带宽的存储器。附图说明[0005]下面的描述包括具有作为本发明的实施例的实现的示例给出的图示的图形的讨论。附图应作为示例而不作为限制理解。如在本文中使用的,对一个或多个“实施例”的引用要被理解为描述在本发明的至少一个实现中包括的特定特征、结构和或特性。因此,本文中出现的诸如“在一个实施例中”或“在备选实施例中”的短语描述本发明的各种实施例和实现,并且不一定全部指相同的实施例。然而,它们也不一定相互排斥。[0006]图1是其中能够实现不对称存储器管理电路的系统的实施例的框图。[0007]图2是根据实施例的存储器子系统的框图。[0008]图3是根据实施例的不对称存储器管理电路的框图。[0009]图4A是图示了根据实施例,将高度使用的存储器的一部分动态缓存到封装内存储器的框图。[0010]图4B是图示了根据实施例,在封装内与封装外存储器之间静态分配的系统存储器的框图。[0011]图5A-5C图示了根据实施例,在其中存储器访问能够从两个存储器源同时访问数据的部分以实现更高带宽的不同实施例的表示。[0012]图6A和6B是根据实施例,管理多个存储器源以使得高带宽访问能实现的方法的流程图。[0013]图7是根据实施例,在其中能够实现不对称存储器管理电路的计算系统的框图。[00M]图8是其中能够实现不对称存储器管理的移动装置的实施例的框图。[0015]下面是某些细节和实现的描述,包括可描绘下面描述的一些或所有实施例的图形的描述以及讨论本文中所呈现发明性概念的其它潜在实施例或实现。具体实施方式[0016]如上所简要提及的,一些应用能够要求带有高带宽的存储器。例如,集成图形能够受益于具有比典型存储器更高带宽的存储器。[0017]添加更多存储器通道是提供更多带宽的一种方式。然而,母板上另外的存储器通道能够显著增大产品形状因子的大小。另外,添加存储器通道能够导致不合需要的封装解决方案例如,通过增大存储器封装和容纳处理器的封装上引脚的数量)。[0018]增大存储器带宽的一个途径是使用封装内存储器(IPM,其也能够被称为封装上存储器。封装内存储器是与处理器或诸如专用集成电路ASIC或现场可编程门阵列FPGA的其它处理电路被定位或集成在相同封装或管芯中的存储器。下面的描述一般将封装内存储器称为与处理器被定位在相同封装中的存储器,然而,描述也适用于其中封装内存储器与ASIC、FPGA或访问存储器的其它处理电路被定位在相同封装中的实施例。[0019]通过将存储器集成在与处理器相同的封装中,封装内存储器和处理器能够比在传统系统中更靠近彼此定位,这使得降低在存储器与处理器之间信号线路的长度能实现。降低在存储器与处理器之间信号线路的长度能够使得增大的带宽(例如,由于更宽的数据总线和数据总线接口、更高操作频率或两者能实现,以及使得更小的封装大小和降低的功率消耗能实现。[0020]封装内存储器的不同使用能够要求不同容量和带宽能力。找到提供用于要求高带宽的应用的足够带宽和足够但不过多的容量,同时也保持装置的成本低的解决方案能够是挑战。[0021]在一个实施例中,在SoC片上系统)中的逻辑能够合成高带宽高速缓存、存储器的高带宽区域,或者通过跨封装内和封装外存储器两者访问数据而以其它方式使得高带宽存储器访问能实现。因此,实施例使得在是两个存储器的聚合带宽并且因此比封装内或封装外存储器单独的带宽大的带宽的存储器访问能实现。另外,在一个实施例中,在SoC中的逻辑能够分配封装内存储器的一些容量到系统存储器与例如被排他地用作硬件高速缓存相反),这能够使得封装内存储器的过多容量贡献给系统存储器而不是利用不足。[0022]图1是根据实施例,其中能够实现不对称存储器管理的系统的框图。[0023]系统100包括在计算装置中的存储器子系统的元件。处理器110表示执行操作系统OS和应用的主机计算平台的处理单元,该平台能够被统称为用于存储器的“主机”。OS和应用执行导致存储器访问的操作。处理器Iio能够包含一个或多个单独的处理器。每个单独的处理器能够包括单核和或多核处理单元。处理单元能够是诸如CPU中央处理单元的主要处理器和或诸如GPU图形处理单元)的外设处理器。系统100能够被实现为片上系统SoC101。一些组件可被实现为独立组件。[0024]存储器控制器120A和120B表示用于系统100的存储器控制器电路或装置。存储器控制器120A和120B表示响应于由处理器110执行操作而生成存储器访问命令的控制逻辑。如果某事例如,“X”)“响应于”另一事件例如,“y”)而发生,则X能够是直接或间接响应于y。例如,y的发生能够最终导致X的发生,但可以存在其它中间事件和或条件。在其它情形中,y可不一定导致X的发生,并且即使y尚未发生,X也可发生。此外,“响应于”不排除存在另外和或不同的原因事件的存在。因此,术语“响应于”能够也表示“至少部分响应于”。存储器控制器120A和120B访问一个或多个存储器装置。在图示的实施例中,存储器控制器120A与存储器111耦合并且访问该存储器,并且存储器控制器120B与存储器112耦合并且访问该存储器。在图示的实施例中,存储器111是封装内存储器IPM,其也能够被称为封装上存储器。如上所提及的,封装内存储器是被定位或集成在与处理器相同的封装或管芯中的存储器。存储器112被图示为是封装外存储器。封装外存储器被定位在与处理器分开的封装。在一个实施例中,封装外存储器112被直接部署在计算装置的母板或主机系统平台(例如,处理器110被部署在其上的印刷电路板PCB上。因此,在图示的示例中,封装内存储器111是在与处理器110相同的封装中,并且封装外存储器112被定位在与处理器110分开的封装中。[0025]如上所述,存储器111和112能够包括不同存储器类型。存储器装置一般指易失性存储器技术。易失性存储器是如果装置的功率中断,其状态及因此在其上存储的数据不确定的存储器。非易失性存储器指即使装置的功率中断其状态也是确定的存储器。动态易失性存储器要求刷新在装置中存储的数据以保持状态。动态易失性存储器的一个示例包括DRAM动态随机存取存储器或诸如同步DRAMSDRAM等某一变体。在封装内的DRAM能够是嵌入式DRAMeDRAM。如在本文中所描述的存储器子系统可与多个存储器技术兼容,诸如DDR3双倍数据率版本3,原始发行版由JEDEC电子装置工程联合委员会在2007年6月27日发布,当前处于发行版21、DDR4DDR版本4,初始规范在2012年9月由JEDEC发布)、LPDDR3低功率DDR版本3,JESD209-3B,2013年8月由JEDEC发布)、LPDDR4低功率双倍数据率LPDDR版本4,JESD209-4,最初由JEDEC在2014年8月发布)、LPDDR5低功率双倍数据率LPDDR版本5,当前由JEDEC在讨论)、WI02宽IO2WideI02JESD229-2,最初由JEDEC在2014年8月发布)、HBM高带宽存储器DRAM,JESD235,最初由JEDEC在2013年10月发布)、DDR5DDR版本5,当前由JEDEC在讨论)、LHDR5当前由JEDEC在讨论)、HBM2HBM版本2,当前由JEDEC在讨论和或其它技术以及基于此类规范的衍生物或扩展物的技术。[0026]除易失性存储器外或作为其备选,在一个实施例中,对存储器装置的引用能够指即使中断到装置的功率其状态也是确定的非易失性存储器装置。在一个实施例中,非易失性存储器可以是字节可寻址或块可寻址的。块可寻址或字节可寻址非易失性存储器可包括但不限于三维交点存储器、使用硫化物相变材料(例如,硫化物玻璃)的存储器、多阈值级NAND闪速存储器、NOR闪速存储器、单级或多级相变存储器PCM、电阻存储器、纳米线存储器、铁电晶体管随机存取存储器(FeTRAM、结合忆阻器技术的磁电阻随机存取存储器MRAM存储器或自旋转移力矩MRAMSTT-MRAM或任何上述项的组合或其它非易失性存储器类型。在本文中涉及“DRAM”的描述能够应用于允许随机访问的任何存储器装置,而无论是易失性还是非易失性。存储器装置或DRAM能够指管芯本身和或封装的存储器产品。[0027]存储器控制器120A包括输入输出(IO接口逻辑125A以耦合到在存储器控制器120A与封装内存储器111之间的系统总线。类似地,存储器控制器120B包括I0接口逻辑125B以耦合到在存储器控制器120B与封装外存储器112之间的系统总线。IO接口逻辑125A-125B以及分别为存储器111和112的IO接口逻辑142A和142B能够包括引脚、连接器、信号线路和或其它硬件以连接装置。IO接口逻辑125A-125B能够包括硬件接口。典型地,在集成电路内的线与焊盘或连接器耦合以对接在装置之间的信号线路或迹线。IO接口逻辑125A-125B能够包括驱动器、接收器、收发器、端口和或其它电路以发送和或接收在装置之间信号线路上的信号。系统总线能够被实现为将存储器控制器120A和120B分别耦合到存储器装置11和112的多个信号线路。系统总线包括至少时钟CLK例如,132A和132B命令地址CMD例如,134A和134B、数据①Q例如,136A和136B和其它信号线路例如,138A和138B。用于CMD134A-134B的信号线路能够被称为“CA总线”(或ADDCMD总线,或指示命令和地址信息的转移的某一其它指定)。用于DQ136A-136B的信号线路能够被称为“数据总线”。在一个实施例中,独立通道具有不同时钟信号、CA总线、数据总线和其它信号线路。因此,从独立接口路径能够被视为单独系统总线的意义上来说,系统100能够被视为具有多个“系统总线”。将理解的是,除明确示出的线路外,系统总线能够包括选通脉冲信令线路、警告线路、辅助线路和其它信号线路。[0028]将理解的是,系统总线包括配置成在某个带宽操作的数据总线①Q。基于系统100的设计和或实现,DQ136A和136B能够具有每存储器装置或多或少的带宽。例如,DQ能够支持具有x32接口、X16接口、x8接口或其它接口的存储器装置。常规“xN”其中N是指存储器装置的接口大小的二进制整数,其表示与存储器控制器120A-120B交换数据的信号线路DQ的数量。存储器装置的接口大小是有关多少存储器装置能够在系统100中每通道被并发使用或并联耦合到相同信号线路的控制因子。术语“耦合”能够指物理地、电气地和或可通信地直接或间接连接的元件,并且可在本文中与术语“连接”可互换使用。[0029]在某一实施例中,封装内存储器111在比封装外存储器112更高的带宽操作。存储器的带宽典型地基于接口的带宽(例如,接口中DQ引脚的数量)、存储器操作所在的频率或速度、或两者来确定。例如,一些系统包括具有比封装外存储器112更宽的接口的封装内存储器。包括带有更宽封装内接口的存储器能够没那么昂贵,并且由于例如存储器到存储器控制器的邻近原因,比在封装外的存储器更简单,这能够影响在存储器与存储器控制器之间的信号线路的复杂性和长度。另外,封装内存储器能够经由迹线与在SoC中的其它电路耦合并且不要求引脚。封装内存储器可由于例如到封装内存储器的信号线路的更短长度对高频操作更具传导性的原因而以比封装外存储器更高速度被运行。因此,在一些实施例中,封装内存储器具有比封装外存储器更高的带宽。然而,实施例未被限于带有更高带宽封装内存储器和更低带宽封装外存储器的系统。实施例能够包括多个存储器源,其中的任何存储器源能够是封装内或封装外,并且其能够具有相同或不同带宽。[0030]在一个实施例中,存储器装置诸如存储器111或112是单独的存储器管芯,其能够包括每管芯多个例如,2个或多于2个通道。封装内存储器111和封装外存储器112分别包括IO接口逻辑142A和142B,其具有由装置的实现确定的带宽例如,xl6或x8或某一其它接口带宽)。1〇接口逻辑142A和142B使得存储器装置能与相应存储器控制器120A和120B对接。IO接口逻辑142B能够包括硬件接口,并且能够是根据存储器控制器的IO125A和125B,但在存储器装置端。在一个实施例中,封装内存储器111或封装外存储器能够包括并联连接到相同数据总线的多个存储器装置。例如,系统100能够配置有并联耦合的多个封装外存储器装置112,其中每个存储器装置对应于命令,并且访问每个装置内部的存储器资源。[0031]再次参照存储器111和112,封装内存储器典型地在容量方面比封装外存储器更小,并且如上所提及的,可具有更高带宽能力。典型地,带有封装内存储器和封装外存储器两者的系统将操作更快的封装内存储器作为高速缓存,并且使用更大封装外存储器作为系统存储器。系统存储器是可供在系统的操作中使用的存储器,并且能够也被称为主存储器。例如,系统存储器能够存储数据,包括用于由处理器执行的指令和作为指令的执行的结果而被访问和或操纵的数据。[0032]如上所提及的,封装外存储器典型地被用作系统存储器,并且封装内存储器典型地被排他用作高速缓存。然而,由于不同带宽和容量要求,此类配置能够具有缺点。例如,考虑用于提供封装内存储器的一些选项,诸如嵌入式DRAMeDRAM、定制设计的存储器装置或高产量highvolume存储器装置。嵌入式DRAM能够在一些情况下提供高带宽、高带宽效率和小的占用空间,但不可为一些应用提供足够的容量。定制或非主流DRAM能够被设计成满足用于特定应用的容量和带宽需要。然而,定制DRAM能够由于低产量而极其昂贵。提供更大容量封装内存储器的另一选项是采用高产量装置或来自高产量装置的小调制)。高产量装置是大量生产的装置不同于由于例如用于定制DRAM的更小市场而低量生产的定制DRAM。高产量装置的一个示例是符合诸如LPDDR5的标准或另一标准的DRAM装置。采用高产量装置能够使得批量定价的益处能实现。然而,一些高产量装置具有相对低带宽容量比,这能够要求使用许多装置以达到带宽目标。使用许多装置的成本能够是极其高的。此外,在使用足够的高产量装置来实现所需带宽时的封装内存储器的容量可比用于一些应用所需的更高。因此,使用高产量装置的封装内存储器的容量和成本能够比所需的更高。[0033]根据实施例,SoC101也包括不对称存储器管理电路123以使得高带宽存储器访问能实现,并且在一些实施例中能使得在如何使用存储器111和112的容量方面的灵活性能实现。本文中对“不对称存储器”的引用典型地指代在容量、带宽或容量和带宽两者方面是不对称的存储器源。例如,小的封装内存储器的更大封装外存储器能够在大小方面是不对称的。然而,本文中引用的不对称存储器管理同样适用于在容量、带宽或两者方面是对称的多个存储器源。“存储器源”(或简称为“存储器”)能够包括一个或多个存储器装置。例如,在存储器源是封装外存储器的示例中,封装外存储器能够包括一个或多个DIMM,其的每个能够包括一个或多个存储器管芯或装置。不对称存储器管理电路123与处理器110和存储器控制器120A和120B通信耦合。不对称存储器管理电路123接收来自处理器110的存储器请求,并且引导请求到适当的存储器控制器120A和120B。[0034]在一个实施例中,不对称存储器管理电路123包括逻辑以将高度使用的存储器的一部分动态缓存到封装内存储器111。高速缓存能够是包容型(例如,如果数据被缓存在封装内存储器的高速缓存中,则它也能够在另一级的高速缓存中存在),或者是排他型例如,如果数据被缓存在封装内存储器的高速缓存中,则它在另一级的高速缓存中不存在)。根据实施例,高速缓存只缓存来自系统存储器的某些预定义的区域的数据。例如,系统存储器能够包括“可缓存的”一个或多个区域和“非可缓存的”一个或多个区域。例如,在一个实施例中,对系统存储器的“可缓存的”区域的访问能够导致在该区域中的数据被复制到封装内存储器高速缓存,而对“非可缓存的”区域的访问不会导致数据被复制到封装内存储器。在一个实施例中,可缓存区域和非可缓存区域的大小的比率与存储器111和112的带宽的比率是成比例的。例如,根据实施例,给定有4kB千字节OS操作系统)页和带有相等带宽的存储器,4kB页的2kB是可缓存的。因此,在一个此类示例中,每个4kB页包括可缓存的2kB和不可缓存的2kB。在一个实施例中,仅给定页的“上部”部分或区域例如,上部2kB是可缓存的,并且“下部”部分例如,下部2kB是非可缓存的,或反之亦然。逻辑能够于是拆分或路由选择系统地址业务到驻留在封装外存储器112中的“非可缓存地址”和能够被缓存在封装内存储器上的“可缓存地址”。例如,不对称存储器管理电路123能够通过执行例如散列函数,确定给定访问是到非可缓存区域例如,地址是4kB页的下部部分或到可缓存区域例如,地址是4kB页的上部部分)。如果散列函数的结果指示访问是到非可缓存区域,则根据实施例,不对称存储器管理电路123将请求路由选择到封装外存储器。如果散列函数的结果指示访问是到可缓存区域,则不对称存储器管理电路123检查以了解是否有高速缓存命中或未命中。如果有高速缓存命中,则不对称存储器管理电路123将请求路由选择到封装内存储器。[0035]逻辑能够因此跨封装内存储器和封装外存储器的存储器通道的聚合来交错地址。因此,根据实施例,从缓存的数据能够从封装内存储器的高速缓存被访问,同时数据从封装外存储器被访问的意义上来说,能够从封装内存储器111和封装外存储器两者合成高速缓存。再次参照4kB页的上述示例,能够从封装内存储器访问来自页的上部2kB的高速缓存线,并且能够从封装外存储器并发访问来自下部2kB的高速缓存线,导致了在是存储器单独的带宽的两倍的带宽对在页中数据的访问。如果访问大体上同时发生,则对存储器的访问是并发或同时的。例如,如果存储器命令大体上同时被传送到存储器控制器或存储器装置,则访问是并发的。[0036]注意,从封装内和封装外存储器两者合成的此类高速缓存与典型高速缓存设计或高速缓存预取机制是不同的。现有系统先访问高速缓存,并且如果有未命中,则转到系统存储器以访问所期望数据。相反,在本发明的实施例中,从高速缓存检索数据的一部分例如,在页中的高速缓存线),并且同时从系统存储器检索数据的另一部分例如,在相同页中的另一高速缓存线),这使得使用两个存储器的存储器通道的聚合能实现。由于两个存储器111和112的存储器通道的聚合能够被并发用于访问数据,因此,用于此类访问的带宽比封装内存储器111或封装外存储器112单独的带宽更高例如,双倍)。然而,在其中封装外存储器具有极高时延的情况下,从封装外存储器访问缓存的数据的一部分而不是从封装内存储器访问所有缓存的数据能够增大被访问的缓存数据的时延。因此,高度时延敏感的应用可能不能使用在本文中描述的合成高带宽高速缓存。[0037]在一个实施例中,不对称存储器管理电路123能够也或备选地包括逻辑以静态分配在封装内存储器111与封装外存储器112之间的系统存储器。例如,封装外存储器能够被映射到低物理地址空间,并且封装内存储器被映射到在它上方的物理地址空间,或反之亦然。不同于只使用封装内存储器作为高速缓存和只将封装外存储器用于系统存储器的现有系统,数据能够跨封装内存储器和封装外存储器两者在系统存储器中被存储,并且因此使用两个存储器的接口同时被访问。通过使用两个接口同时访问数据,能够为给定访问同时使用两个存储器的带宽。因此,给定数据能够跨封装内和封装外存储器被存储,并且因此使用封装内存储器和封装外存储器的两者的接口并发访问。[0038]在一个实施例中,不对称存储器管理电路123能够也或备选地包括逻辑以便为要求高带宽的业务合成高带宽存储器区域。例如,逻辑能够为对OS操作系统)、驱动器、或两者可见的高带宽区域分配封装内和封装外存储器两者的区域。操作系统例如,经由软件存储器管理器能够跨封装内和封装外存储器两者来分配在高带宽区域中要求高带宽的存储器的页。方案的组合也是可能的。例如,封装内存储器111能够具有分配用于高速缓存的区域、分配用于对OS可见的高带宽区域的区域,和或系统存储器能够跨封装内和封装外存储器被分配。[0039]因此,实施例能够使得封装内存储器容量的一部分贡献于增大存储器带宽例如,经由合成的高带宽高速缓存或其它高带宽区域),并且封装内存储器容量的剩余部分贡献于总体系统存储器容量例如,经由跨封装内和封装外存储器两者的系统存储器的静态分配)。因此,根据实施例,不对称存储器管理电路123能够使得使用高产量存储器装置的高带宽存储器访问能实现,同时也通过使用用于系统存储器的过多容量来利用了容量增大。[0040]图2是根据实施例的存储器子系统的框图。图2的存储器子系统图示了示范存储器控制器和存储器具体而言,图1的存储器控制器120B和存储器112的示例)的附加细节。虽然图2的示范存储器控制器和存储器是相对于封装外存储器112被图示,但封装内存储器111和存储器控制器120A能够包括相同或类似特征。[0041]如上所提及的,存储器112与存储器控制器120B耦合。存储器112提供用于系统的存储器资源,并且能够是多种存储器类型之一,其示例在上面相对于图1被给出。在一个实施例中,存储器112能够包括存储器装置140,并且存储器装置140能够被组织成存储器模块130。在一个实施例中,存储器模块130表示双列直插式存储器模块ΦΜΜ。在一个实施例中,存储器模块130表示多个存储器装置的其它组织以共享访问或控制电路的至少一部分,其能够是与主机系统平台分开的板、分开的电路、或分开的装置。存储器模块130能够包括多个存储器装置140,并且存储器模块能够包括对到部署在其上的包括的存储器装置的多个单独通道的支持。[0042]例如,在一个实施例中,将存储器装置140组织和管理成不同通道,其中每个通道耦合到总线和信号线路,其并联耦合到多个存储器装置。每个通道是独立可操作的。因此,每个通道被独立访问和控制,并且定时、数据转移、命令和地址交换及其它操作对每个通道是单独的。在一个实施例中,用于每个通道的设置由单独的模式寄存器或其它寄存器设置控制。在一个实施例中,单独的存储器控制器管理每个单独的存储器通道,但系统100能够配置成具有由单个控制器管理的多个通道。[0043]存储器装置140各自包括存储器资源160。存储器资源160表示用过数据的存储器位置或存储位置的单独阵列。典型地,存储器资源160被管理成数据行,经由高速缓存线行和比特线(行内的单独比特控制被访问。存储器资源160能够被组织为存储器的单独通道、排rank和库bank。通道是到存储器装置140内存储位置的独立控制路径。排指跨多个存储器装置的共同位置例如,在不同装置内的相同行地址)。库指在存储器装置140内的存储器位置的阵列。在一个实施例中,存储器的库被分割成子库,其具有共享电路的一部分以用于子库。[0044]在一个实施例中,存储器140包括一个或多个寄存器144。寄存器144表示提供用于存储器装置的操作的配置或设置的存储装置或存储位置。在一个实施例中,作为控制或管理操作的部分,寄存器114能够提供用于存储器装置140的存储位置以存储由存储器控制器120访问的数据。在一个实施例中,寄存器144包括模式寄存器。在一个实施例中,寄存器144包括多用途寄存器。寄存器144内位置的配置能够配置存储器装置140以在不同“模式”中操作,其中命令和或地址信息或信号线路能够取决于模式而触发存储器装置140内的不同操作。寄存器144的设置能够指示用于IO设置的配置例如,定时、端接或ODT管芯上端接)、驱动器配置和或其它IO设置。[0045]在一个实施例中,存储器装置140包括㈤T146作为与IO142B关联的接口硬件的部分。ODT指在接收器侧在电源轨与信号线路之间的连接阻抗。在一个实施例中,电源轨是VDD或高压电源。在一个实施例中,存储器能够从信号线路端接到VSS或接地或低压电源。在一个实施例中,存储器装置能够将信号线路端接到VDD和VSS两者。[0046]存储器控制器120B包括命令CMD逻辑124B,其表示生成向存储器112发送的命令的逻辑或电路。典型地,在存储器子系统中的信令包括在命令内或伴随命令的地址信息,以指示或选择其中存储器装置应执行命令的一个或多个存储器位置。[0047]存储器装置140也包括控制器150,其表示在存储器装置内的控制逻辑,该控制逻辑用来控制存储器装置内的内部操作。例如,控制器150解码由存储器控制器120B发送的命令,并且生成内部操作以执行或满足命令。控制器150能够基于寄存器144来确定选择什么模式,并且基于选择的模式,配置用于存储器资源160的操作的访问和或执行。控制器150生成控制信号以控制在存储器装置140内的比特的路由选择,以便提供用于选择的模式的适当接口和引导命令到适当的存储器位置或地址。在一个实施例中,控制器150包括命令逻辑152以接收和解码经由IO142B从存储器控制器120B收到的命令和地址信息。基于收到的命令和地址信息,控制器150能够控制存储器装置140内的逻辑和电路的操作的定时以执行命令。根据一个实施例,控制器150负责遵守标准或规范。[0048]再次参照存储器控制器120B,在一个实施例中,存储器控制器120B包括刷新REF逻辑126B。在存储器装置是易失性并且需要被刷新以保留确定性状态的情况下,能够使用刷新逻辑。在一个实施例中,刷新逻辑指示用于刷新的位置和要执行的刷新的类型。刷新逻辑能够触发存储器装置内的自刷新,和或通过发送刷新命令来执行外部刷新。来自存储器控制器的外部刷新能够包括全库刷新(fullbankrefresh和或按库刷新(perbankrefresh。全库刷新促使在并联耦合的所有存储器装置内的选择的库的刷新。按库刷新促使在指定存储器装置内的指定库的刷新。在一个实施例中,存储器装置140内的控制器150包括刷新逻辑154以在存储器装置140内应用刷新。在一个实施例中,刷新逻辑154根据从存储器控制器120B收到的外部刷新,生成执行刷新的内部操作。刷新逻辑154能够响应于命令而确定刷新是否被引导到存储器装置140和要刷新什么存储器资源160。[0049]不对称存储器管理电路123与存储器控制器120A和120B通信耦合。电路123接收来自诸如处理器的在SoC上的另一组件的存储器访问请求,并且将存储器访问请求引导到存储器控制器120B,其生成命令并且向存储器112传送命令。如上所提及的,不对称存储器管理电路123能够包括逻辑以分配用于高速缓存的存储器的区域、用于对OS可见的高带宽区域的存储器的区域,和或跨封装内和封装外存储器两者来分配系统存储器。封装内存储器111和存储器控制器120A能够包括与相对于图2的封装外存储器112所图示的那些特征相同或类似的特征。[0050]图3是根据实施例的不对称存储器管理电路的框图。电路123能够被定位在处理器与存储器控制器之间的SoC上如在图1中所图示的)。在另一实施例中,一些或所有电路123能够被定位在存储器控制器中或者被定位在处理器110中。[0051]电路123包括输入输出(IO电路301。IO电路301能够包括接收例如来自处理器的存储器访问请求,并且向存储器传送存储器请求例如,经由存储器控制器)。IO电路301能够包括与图1的IO逻辑125A和125B类似或相同的电路。例如,能够包括驱动器、接收器、收发器、终端、引脚、连接器、信号线路和或其它电路以在不对称存储器管理电路123和电路123与其耦合的装置例如,处理器和存储器控制器之间的信号线路上发送和或接收信号。IO电路301接收存储器访问请求,诸如存储器读取和写入请求或其它存储器访问请求。[0052]在图3中图示的实施例中,电路123也包括高速缓存控制器303。如上所提及的,在一些实施例中,不对称存储器管理电路123能够经由对封装内和封装外存储器两者的并发访问,合成高带宽高速缓存。如果存储器访问请求是针对在可缓存区域中的数据,则高速缓存控制器303确定是否有高速缓存命中。因此,高速缓存控制器303包括标记逻辑308来访问标记阵列以确定是否有用于所请求的数据的高速缓存命中或高速缓存未命中。高速缓存控制器303也包括响应于高速缓存命中或未命中,控制对高速缓存的访问(例如,响应于命中,从高速缓存检索数据,响应于未命中,确定是否驱逐和或填充)的未命中命中控制逻辑310。在一个实施例中,固定从集和路setandway到高速缓存数据阵列中地址的映射。因此,在高速缓存未命中上,高速缓存控制器303从系统存储器中的地址取数据的可缓存部分,并且基于集和路,将它复制到数据阵列中的位置。[0053]根据实施例,高速缓存控制器303跨用于高速缓存数据阵列的封装内和封装外存储器的所有存储器通道映射区域并且管理标记。在其中封装内和封装外存储器具有相等带宽的一个实施例中,跨用于封装内存储器的所有存储器通道,映射数据阵列的一半。对于此一半,有从集和路到高速缓存数据阵列中地址的固定映射。对于数据阵列的另一半例如,保留在系统存储器中的“非可缓存的”部分),标记含有在系统存储器中的地址。因此,在一个实施例中,高速缓存数据块对应于在系统存储器中的数据块。在高速缓存未命中时,高速缓存控制器303能够更改标记以直接指向系统存储器中用于数据的此类“非可缓存的”部分的地址,并且高速缓存控制器303不会在填充或驱逐时造成此类数据被复制到封装内存储器。在一个此类实施例中,此类方案依赖高速缓存区域和系统存储器为地址交错使用相同块大小。图5A和5B中图示了高速缓存控制器303如何能够使用封装内和封装外存储器来合成高带宽高速缓存的示例。[0054]电路123也包括业务控制器305。业务控制器305包括用于解码收到的存储器访问请求的地址和确定哪些存储器源存储所请求的数据的地址解码逻辑306和用于基于解码来转发或生成存储器请求的命令逻辑314。如上所提及的,业务控制器305能够包括在硬件中实现的散列函数,以确定给定存储器访问请求是否应被路由选择到封装内存储器或封装外存储器。业务控制器305能够通过跨封装内存储器和封装外存储器的存储器通道的聚合交错地址,并发地路由选择或传送存储器访问请求到封装内存储器和封装外存储器两者。例如,在其中的2kB能够被缓存的4kB页内,通过在地址比特上执行XOR异或逻辑操作(例如比特7异或比特13可缓存区域中的地址能够被交错。在一个此类示例中,给定第一4kB页的高速缓存线〇、1是可缓存的,并且高速缓存线2、3是非可缓存的等。在一个此类示例中,假设在此示例中在第二4kB页上比特13=1,映射被逆转。[0055]在一个实施例中,业务控制器305包括存储器分配逻辑312以分配存储器源的一个或多个部分到系统存储器、高速缓存或到非高速缓存高带宽区域。存储器分配逻辑312能够以多种方式分配存储器,诸如通过编程范围寄存器。例如,硬件能够包括一个或多个范围寄存器以指示给定系统地址范围映射到物理存储器,并且一个或多个其它范围寄存器指示给定DRAM地址映射到高速缓存地址。[0056]图4A是图示了根据实施例,将高度使用的存储器的一部分动态缓存到封装内存储器的框图。[0057]图4A图示了带有能够分别与图1的封装内存储器111和封装外存储器112相同或类似的两个存储器源403和405的系统。为便于参考,存储器源403被称为封装内存储器和存储器源405被称为封装外存储器。然而,存储器源403和405能够是封装内存储器或封装外存储器。[0058]每个存储器源403和405具有用于与存储器控制器耦合的其自己的接口(例如,诸如与存储器控制器120A耦合的图1的存储器111和与存储器控制器120B耦合的存储器112。因此,每个存储器源403和405经由单独的接口和单独的总线以及经由单独的存储器通道与存储器控制器耦合。相应地,每个存储器源具有单独的带宽能力。存储器源403和405的带宽典型地至少部分基于接口的宽度和操作存储器的速度。在图4A中图示的示例中,封装内存储器403和封装外存储器405两者均具有XGBs的带宽。然而,在其它实施例中,存储器源能够具有不同的带宽能力。[0059]在图4A中图示的实施例中,封装外存储器405被用作系统存储器,并且封装内存储器403被作为高速缓存操作,其存储来自在系统存储器中经常被访问位置的数据的一部分。例如,高速缓存逻辑或高速缓存控制器例如,图3的高速缓存控制器303能够基于高速缓存替换策略,确定数据406应被缓存。然而,不同于将存储来自系统存储器的任何经常被访问高速缓存线的传统高速缓存,根据实施例,封装内存储器高速缓存只存储位于预确定的“可缓存”区域中的数据。在图示的实施例中,数据406包括可缓存部分402和非可缓存部分404。对可缓存部分402的经常访问将促使来自可缓存部分402的数据被从封装外存储器复制到封装内存储器403的高速缓存。在非可缓存区域中的数据将在封装外存储器405中仍保持在原地。例如,如果数据406是4kB千字节页,则仅来自该页的被定义为可缓存区域的2kB的数据能够被缓存到封装内存储器403。例如,高速缓存逻辑能够将数据的“上部”或“下部”部分例如,参照前面的示例,4kB页的上部2kB复制到封装内存储器403。在一个实施例中,高速缓存逻辑缓存数据的部分例如,4kB页的一部分),使得被缓存部分与非被缓存部分的比率与在存储器源之间的BW比率是成比例的。例如,在图4A中,封装内存储器和封装外存储器两者均具有XGBs的相同带宽。因此,在一个此类示例中,数据的一半例如,4kB页的2kB被缓存。如果两个存储器源的带宽能力不相等,则数据的可缓存部分的大小=数据大小)*BW1ABW1+BW2,其中BWl是封装内存储器的带宽,并且BW2是封装外存储器的带宽,以及数据大小是大小或粒度诸如页)。例如,如果你采用是4kB页的数据,BWl=IOO,并且BW2=33,则4kB页的可缓存部分等于4kB*100133=3kB。在此示例中,高速缓存将存储4kB页的3kB,并且剩余IkB将保留在封装外存储器上的系统存储器中。[0060]再次参照图4A中图示的示例,封装内存储器403的高速缓存存储数据406的可缓存部分402,并且剩余部分402保留在封装外存储器405的系统存储器405中。随后,在接收访问数据406例如,在可缓存和非可缓存区域两者中的高速缓存线)的随后存储器请求时,根据实施例,业务控制逻辑同时从封装内存储器高速缓存403访问来自数据406的一部分402的高速缓存线和从封装外存储器405访问来自剩余部分404的高速缓存线。例如,业务控制逻辑能够拆分系统存储器地址业务到始终驻留在封装外存储器405中的“非可缓存地址”和能够被缓存在封装内存储器403中的“可缓存地址”。再次参照4kB页的示例,业务控制逻辑从封装内存储器高速缓存403访问可缓存2kB区域的高速缓存线,并且同时从封装外存储器405访问剩余2kB区域中的另一高速缓存线。因此,对缓存的数据406的给定存储器请求导致了经由封装内存储器的接口和封装外存储器的接口两者以及因此经由两个存储器的存储器通道的同时访问。通过两个存储器的存储器通道并发访问数据能够使得数据能在2XGBs的组合带宽被访问。假设高命中率,并且假设在页内的访问被随机分布,则能够实现BW=BW1+BW2的总带宽,其中BWl是封装内存储器的带宽,并且BW2是封装外存储器的带宽。与此相反,现有技术将只使用高速缓存的接口访问缓存的数据,而不同时使用两个存储器源的接口。[0061]图4B是图示了根据实施例,在封装内与封装外存储器之间静态分配的系统存储器的框图。[0062]像在图4A中一样,图4B中图示的示例包括两个存储器源403和405。然而,不同于在图4A中,不是像高速缓存一样操作,封装内存储器403至少部分被分配到系统存储器。例如,硬件逻辑例如,图1的不对称存储器管理电路123在封装内存储器403与封装外存储器405之间静态分配系统存储器,这使得数据能够跨封装内存储器403和封装外存储器405两者被存储。例如,数据能够跨两个存储器源被存储在区域409中。随后,在业务控制逻辑例如,图3的业务控制器305接收对跨两个存储器源的区域409中存储的数据的存储器访问请求时,能够同时从两个存储器源403、405访问数据的不同部分。因此,能够在比任一存储器源单独更高的带宽访问跨两个存储器源存储的数据。在图示的示例中,封装内存储器403和封装外存储器405两者均具有XGBs的相同带宽。在此示例中,能够通过存储器源单独的两倍带宽2XGBs访问跨两个存储器源例如,在区域409中)存储的数据。因此,系统能够实现两个存储器源的聚合带宽。在一个实施例中,如果两个存储器源均具有不同带宽,则用于跨两个装置对数据的存储器访问的聚合带宽是BW=BW1+BW2。如果存储器源之一的带宽是另一源的带宽的X倍,并且存储器访问是随机的,意味着在系统中没有将带宽关键任务分配到聚合的空间的逻辑,则用于对跨两个装置存储的数据的存储器访问的聚合带宽为:BW=X*BW1+BW2+I-X*BW2例如,如果BWl=IOO,BW2=33,并且X=sizelsize2=0·5,则BW=O·5*133+0.5*33=83。因此,随机业务可未完全利用两个存储器源的最大带宽能力。[0063]在一个实施例中,通过使OS或驱动器注意存储器空间,能够增大使用两个存储器源的完全聚合带宽的存储器访问的数量。通过使存储器空间对OS或驱动器可见,OS或驱动器能够为需要跨两个存储器源的高带宽的业务预分配存储器。例如,硬件逻辑例如,图1的不对称存储器管理电路123能够通过配置寄存器,将每个存储器源403、405的区域指派到高带宽区域407。例如,硬件逻辑能够在一个或多个寄存器中存储地址信息,以识别形成高带宽区域的每个存储器源403、405的一部分。随后,诸如嵌入式图形引擎的要求高带宽的应用或者操作系统或驱动器可注意到的其它使用能够分配要求跨两个存储器源403、405的高带宽的存储器的页,以最大化用于那些应用的带宽。相应地,通过使OS或驱动器注意到高带宽区域,OS或驱动器能够跨两个存储器源403、405主动存储用于高带宽应用的数据,以使得同时使用两个存储器源403、405的接口访问数据能实现。[0064]图5A-5C图示了根据实施例,在其中存储器访问能够从两个存储器源同时访问数据的部分以实现更高带宽的不同实施例的表示。[0065]图5A是根据实施例,使得高带宽访问能实现的硬件高速缓存的表示。[0066]图5A包括若干透视图,包括物理存储器视图502、概念构造视图504、逻辑的架构视图512和软件视图514。先参见物理存储器视图502,图5A图示了两个存储器源503和505。存储器源503和504能够分别与图1的封装内存储器111和封装外存储器112相同或类似。为便于参考,存储器源503被称为封装内存储器并且存储器源505被称为封装外存储器。然而,存储器源503和505能够是封装内存储器或封装外存储器。封装内存储器经常比封装外存储器更快,但更贵,并且因此在系统中包括的封装内存储器可在容量方面比封装外存储器更小。在图示的示例中,存储器源503在容量方面比存储器源505更小。具体而言,在图示的示例中,封装内存储器503是8GB,并且封装外存储器505是32GB。虽然存储器源503被图示为比存储器505更小,但存储器能够是相同大小,或者存储器源505能够更小。[0067]每个存储器源503和505具有用于与存储器控制器耦合的其自己的接口(例如,诸如与存储器控制器120A耦合的图1的存储器111和与存储器控制器120B耦合的存储器112。因此,每个存储器源503和505经由单独的接口以及单独的总线和存储器通道与存储器控制器耦合。相应地,每个存储器源具有带宽能力。存储器源503和505的带宽典型地至少部分基于接口的宽度。在图5A中图示的示例中,封装内存储器503和封装外存储器两者均具有100GBs的相同带宽。然而,如上所提及的,在一些实施例中,由于更宽的接口、更高操作频率、或两者的原因,封装内存储器源503具有比封装外存储器505更高的带宽。[0068]在一个实施例中,封装内存储器503的一部分或带C被分配用作高速缓存。例如,在一个实施例中,在SoC中的硬件逻辑例如,图1的逻辑123指派封装内存储器503的区域507以用作硬件高速缓存。基于例如寄存器设置,被分配用于高速缓存的封装内存储器的区域507能够是静态或可编程的。例如,存储器503和505能够包括一个或多个寄存器以指示为高速缓存预留的区域的大小例如,“C”的大小)、为高速缓存预留的区域的位置例如,地址范围)、或两者。如上相对于图4A所提及的,在一个实施例中,封装内存储器的高速缓存只存储要被缓存的数据的一部分。随后,对缓存的数据的随后访问从封装内存储器503访问来自数据的缓存部分的高速缓存线和从封装外存储器505并发访问来自剩余部分的高速缓存线。[0069]在图5A中的图示实施例中,封装外存储器505的部分C也被分配用于存储要在封装外存储器上被“缓存”的数据的一部分。因此,概念硬件“高速缓存”由封装内存储器的区域507连同封装外存储器的区域509来形成。为高速缓存预留的区域509的大小和位置能够基于寄存器设置,诸如上面相对于封装内存储器503所描述的。定位在“非可缓存的”区域中的数据从数据不能在封装内存储器上被缓存的意义上来说能够被复制到封装外存储器的区域509。[0070]现在参见概念构造视图504,概念硬件高速缓存506能够由封装内存储器的区域507和封装外存储器的区域509形成。因此,在一个此类实施例中,硬件高速缓存506具有比封装内和封装外存储器单独更大的带宽在图示的示例中,两倍的带宽)。例如,考虑具有4kB的大小的要缓存的数据。4kB数据的一部分例如,上部2kB能够被复制到封装内存储器503的区域507。4kB数据的剩余部分例如,下部2kB能够被复制到封装外存储器的区域509。在缓存数据后,数据继续被存储在系统存储器中(例如,封装外存储器505的区域510,上部2kB被存储在封装内存储器503的高速缓存例如,区域507中,并且剩余下部2kB被存储在封装外存储器的区域509中。因此,对缓存的数据的随后访问导致上部2kB从封装内存储器503的区域507被访问,并且下部2kB从封装外存储器的区域509同时被访问。[0071]在一个实施例中,在SoC内的硬件逻辑管理标记,并且将跨用于封装内和封装外存储器的所有存储器通道映射的2CGB区域用于高速缓存数据阵列。在一个实施例中,高速缓存集和路到数据阵列的映射被布置成跨聚合存储器系统通道交错预期请求访问图案以实现高带宽。例如,在其中高速缓存块粒度超过访问粒度的扇区化高速缓存中,连续位置的地址被映射到不同存储器系统通道。因此,访问跨封装内存储器503和封装外存储器505两者的通道被拆分或交错。因此,如在概念构造视图504中所图示的,硬件高速缓存506具有是单独存储器源的带宽两倍的有效带宽。与此相反,现有封装内存储器高速缓存完全由封装内存储器形成,并且因此没有由于本文中的实施例而能实现的高带宽。[0072]如上所提及的,封装内存储器的容量经常大于需要用于高速缓存的容量。因此,现有系统可具有利用不足的封装内存储器容量。在一个实施例中,未被预留用于高速缓存的封装内存储器的剩余容量被用作系统存储器。例如,SoC中的硬件逻辑映射封装内存储器503的非高速缓存区域508,因此,它扩展封装外存储器505的非高速缓存区域510。例如,假设封装内存储器容量是8GB,封装外存储器容量是32GB,并且C=IGB。在一个此类实施例中,在SoC上的硬件逻辑映射如下:封装内存储器容量的最前IGB和封装外存储器的最后IGB构成跨所有存储器通道被映射的2GB区域。系统存储器的最前31GB映射到封装外存储器505的最前31GB。系统存储器的最后7GB映射到封装内存储器503的最后7GB。在不失一般性的情况下,区域能够是系统存储器区域的最后或最前或其它部分,其能够是静态或可编程的(例如,经由寄存器设置)。因此,在图5A中图示的示例中,硬件逻辑形成跨封装内和封装外存储器503、505两者的高带宽高速缓存区域,并且将系统存储器映射到封装内和封装外存储器两者的剩余部分。被用作高速缓存的区域能够被优化用于高带宽(例如,使用高BW装置,诸如LPDDR5或HBM装置),而被用作系统存储器的区域能够被优化用于来自处理器的不要求高带宽的业务(与可要求高带宽的业务(诸如来自像图形或成像的另一SoC代理的业务)相对。[0073]参见逻辑的架构视图512,大小为2C的硬件高速缓存506从分别来自存储器源503和505的部分507和509被合成。存储器源503和505两者的剩余部分被用作系统存储器516。在图5A中图示的示例中,系统存储器的大小是40-2C40减2乘CGB,这等于存储器源503和505两者的总容量减去对于高速缓存506的预留容量。注意,此类实现能够具有从系统存储器偷用全部2C的容量以便用作高速缓存的缺陷。最后,参见软件视图514,诸如操作系统的软件看到系统存储器516,但看不到硬件高速缓存506。[0074]图5B是根据实施例,使得高带宽访问能实现的硬件高速缓存的另一表示。图5B示出根据实施例,用于硬件高速缓存实现的优化,其中仅对硬件高速缓存的一半的未命中通过复制数据来被填充,并且对于数据的另一半在系统存储器中被保留在原地。[0075]参见物理存储器视图522,如在图5A中,物理存储器包括封装内存储器503和封装外存储器505。来自封装内存储器503的大小为C的区域507被用于硬件高速缓存。也像图5A,对于要缓存的给定数据,仅数据的一部分被存储在封装内存储器的区域507中。对缓存的数据的访问导致从封装内存储器的区域507访问数据的一部分和从封装外存储器的系统存储器访问剩余部分。然而,不同于图5A,没有被用作高速缓存的封装外存储器的固定区域,并且因此在填充或驱逐时,缓存的数据的剩余“非缓存的”部分未被复制。相反,数据的剩余“未缓存的”部分在系统存储器保持在原地。相应地,封装外存储器505的全部容量511能够可用于系统存储器。例如,参见概念构造视图524,对于给定缓存的数据,一部分被复制到封装内存储器的区域507,并且剩余部分在封装外存储器中留在原地,如分散的方形525所图示的。因此,对缓存的数据的访问导致从封装内存储器访问可缓存部分和从在封装外存储器上的其原始位置访问剩余部分。因此,访问缓存的数据导致使用封装内存储器503的接口和同时使用封装外存储器505的接口两者。相应地,对缓存的数据的访问导致比用于传统封装内高速缓存的更高带宽在图示的示例中,200GBs。[0076]图5B中图示的实施例的优点之一是它降低了由高速缓存“偷用”的系统存储器的量。例如,由于缓存的数据的一部分在系统存储器中被保留在原地而不是被复制到在封装外存储器上的预留区域,诸如在图5A中),因此,整个封装外存储器能够被用作系统存储器。相应地,逻辑的架构视图532图示了系统存储器516具有40-C四十减OGB的容量。在此示例中,虽然被明确用于高速缓存的存储器的部分是C封装内存储器的区域507,但逻辑的架构视图532示出2CGB高速缓存。从封装内存储器的区域507和封装外存储器的剩余部分525合成2CGB高速缓存。因此,在逻辑的架构视图中,封装外存储器的部分525被计入系统存储器516和Hff高速缓存506两者的容量中,因为它们未被预留用于高速缓存506,但系统存储器的部分525能够被并发访问,其中数据缓存在封装内存储器中以用于高带宽访问。软件视图534也示出带有40CGB的容量的系统存储器。[0077]图5C是根据实施例,使得高带宽访问能实现的高带宽区域的表示。从有封装内存储器503和封装外存储器505各自带有为高带宽访问预留的大小为C的区域)的意义上来说,图5C类似于图5A。然而,不同于图5A,图5C图示了根据实施例,在操作系统或驱动器的控制下,作为明确受管理存储器区域的高带宽区域。相应地,除针对高带宽区域而不是明确针对硬件高速缓存外,物理存储器视图552、概念构造视图554和逻辑的架构视图562类似于图5A的那些视图。然而,不同于在图5A中,高带宽区域556在软件视图564中是可见的。[0078]图6A和6B是根据实施例,管理多个存储器源以使得高带宽访问能实现的方法的流程图。图6A和6B的方法能够由硬件逻辑诸如图3的不对称存储器管理电路123的一个或多个组件来执行。为简单起见,图6A和6B的方法被描述为由“硬件逻辑”执行,即使诸如图3中图示的逻辑块的一个或多个逻辑块能够执行它们方法600A和600B的操作。根据实施例,图6A图示了高带宽高速缓存的合成,并且图6B图示了管理存储器和业务,以使得对系统存储器的高带宽访问能实现。[0079]先参见图6A,图6A是根据实施例,从多个存储器源合成高带宽高速缓存的方法600A的流程图。方法600A在带有包括第一存储器和第二存储器的至少两个存储器源的系统中被执行。例如,方法600A能够在诸如图1的系统100的系统中被执行,其包括封装内存储器111和封装外存储器112。在此实施例中,在操作602,在SoC中的硬件逻辑例如,不对称存储器管理电路123的IO电路301接收对在用作系统存储器的诸如存储器源的第二存储器中存储的数据的存储器访问请求。例如,在SoC中的硬件逻辑能够接收存储器读取或写入请求以从能够生成存储器访问请求的处理器或其它实体访问高速缓存线(例如,64字节高速缓存线)。存储器访问请求能够是对在系统存储器中存储的数据的读取或写入请求。典型地,存储器业务包括通过应用的连续高速缓存线访问。对于在图6A中的示例,假设数据被存储在第二存储器例如,诸如图1的存储器112的封装外存储器,其典型地在容量方面比封装内存储器更大)。[0080]在操作603,在接收对数据的存储器访问请求后,硬件逻辑确定存储器访问请求是到可缓存还是非可缓存区域。在操作604,硬件逻辑确定数据是否被存储在高速缓存中。对于在图6A中的示例,假设高速缓存由第一存储器例如,诸如图1的存储器111的封装内存储器形成。例如,封装内存储器的至少部分被分配或预留用于作为高速缓存操作。如上所解释的,高速缓存只存储缓存的数据的一部分。例如,如果缓存的数据具有4kB的大小,则取决于封装内存储器的带宽,封装内存储器的高速缓存能够存储1或2kB的数据或另一部分的数据)。如上所提及的,根据实施例,被存储在高速缓存中的数据的部分相对于未被存储在高速缓存中的部分等于两个存储器源的带宽的比率。[0081]在一个实施例中,硬件逻辑执行散列函数以识别可缓存和非可缓存地址。例如,图3的业务控制器305能够执行散列函数以确定地址是在可缓存还是非可缓存区域例如,页的上部或下部部分)中。如果存储器访问请求是到非可缓存区域604“否”分支),则在操作610,硬件逻辑从系统存储器访问数据。如果访问是到非可缓存区域604“是”分支),则在操作605,硬件逻辑确定是否有高速缓存命中。[0082]如果硬件逻辑例如,图3的高速缓存控制器303检测到高速缓存命中(606“是”分支),则在操作608,硬件逻辑从第一存储器访问数据的一部分,同时在操作610,数据在被从第二存储器访问。因此,从一个存储器例如,从在作为高速缓存操作的存储器访问数据的一部分,而从另一存储器例如,从系统存储器访问数据的另一部分。由于两个存储器源具有单独的接口,因此,数据能够同时使用两个接口的带宽来访问。因此,在其中存储器源的带宽相同(例如,XGBs的示例中,硬件逻辑以2XGBs的速率访问数据。如果硬件逻辑检测到高速缓存未命中(606“否”分支),则在操作612,硬件逻辑只从第二存储器访问数据,并且因此在更低带宽例如,仅第二存储器的带宽,其在此示例中是XGBs访问数据。也在高速缓存未命中时,如果硬件逻辑确定最近访问的数据应被缓存,则在操作614,硬件逻辑能够通过将数据的一部分复制到第一存储器中的高速缓存来缓存数据。[0083]同样,提到在“非可缓存的”区域中的数据,硬件逻辑能够复制数据到为高带宽访问预留的第二存储器的区域,或者硬件逻辑能够将数据保留在第二存储器的原地,而不也将它复制到预留的高带宽区域。图5A和5B图示了此类实施例的示例。具体地说,图5A图示了实施例,在其中硬件逻辑将第二存储器例如,封装外存储器的区域分配用于高带宽访问。图5B图示了实施例,在其中数据被保留在系统存储器中的其原始位置。在两种情况下,使用封装内存储器的预留区域以存储数据的部分并且通过同时从封装外存储器访问数据的剩余部分,能够合成高带宽高速缓存。[0084]图6B图示了根据实施例,管理存储器和业务以使得对系统存储器的高带宽访问能实现。像图6A的方法600A,方法600B在带有包括第一和第二存储器的至少两个存储器源的系统中被执行。例如,方法600B能够在诸如图1的系统100的系统中被执行,其包括封装内存储器111和封装外存储器112。在此实施例中,在操作622,在SoC中的硬件逻辑例如,图3的不对称存储器管理电路123的业务控制器305分配第一存储器的一部分和第二存储器的一部分到系统存储器的高带宽区域。根据实施例,能够使用寄存器例如,范围寄存器来定义高带宽区域。[0085]随后,在操作624,硬件逻辑接收访问位于高带宽区域中的数据的存储器访问请求。响应于存储器访问请求的接收,在操作626,硬件逻辑从第一存储器访问数据的一部分,并且从第二存储器并发访问数据的另一部分。例如,根据实施例,硬件逻辑例如,图3的业务控制器305包括电路以将收到的存储器请求映射到两个存储器源,其能够包括将请求路由选择到每个存储器源。由于两个存储器具有单独的接口,因此,数据能够同时使用两个接口的带宽来访问。因此,在其中存储器源的带宽相同(例如,XGBs的示例中,硬件逻辑以2XGBs的速率访问数据。关于随机业务,一些数据可仅被存储在一个存储器源上,而其它数据可跨存储器源被存储。在此情况下,仅在一个存储器源上存储的业务是在该存储器源的带宽可访问的,并且跨多个装置存储的数据是在与存储器源的大小容量成比例的聚合带宽可访问的。在某一实体注意到存储器空间的情况下,通过为需要高带宽的业务预分配存储器到两个存储器,能够实现更佳的结果。例如,图5C图示了带有由封装内存储器503和封装外存储器505两者的区域形成的高带宽区域556的实施例。根据实施例,软件具有对高带宽区域的可见性,并且能在高带宽区域中存储用于高带宽应用的数据。[0086]因此,方法600A和600B两者均图示了管理存储器以使得使用多个存储器源的高带宽存储器访问能实现的方法。注意,虽然方法600A和600B明确涉及第一和第二存储器源,但实施例也适用于带有多于两个存储器源的系统。此外,实施例能够被组合。例如,硬件逻辑能够跨多个存储器源分配系统存储器,从两个存储器源合成高速缓存,形成从两个存储器源对软件可见的高带宽区域,或者任何这些实施例的组合。[0087]图7是根据实施例,在其中能够实现不对称存储器管理电路的计算系统的框图。系统700表示根据在本文中描述的任何实施例的计算装置,并且能够是膝上型计算机、桌上型计算机、服务器、游戏或娱乐控制系统、扫描仪、复印机、打印机、路由或交换装置、或其它电子装置。系统700包括处理器720,其为系统700提供处理、操作管理和指令的执行。处理器720能够包括任何类型的微处理器、中央处理单元CPU、处理核或其它处理硬件以便为系统700提供处理。处理器720控制系统700的总体操作,并且能够是或包括一个或多个可编程通用或专用微处理器、数字信号处理器DSP、可编程控制器、专用集成电路ASIC、可编程逻辑装置PLD等、或此类装置的组合。[0088]存储器子系统730表示系统700的主存储器,并且为要由处理器720执行的代码或在执行例程中要使用的数据值提供临时存储。存储器子系统730能够包括一个或多个存储器装置,诸如只读存储器ROM、闪速存储器、一个或多个各种随机存取存储器RAM或其它存储器装置、或此类装置的组合。除其它之外,存储器子系统730存储和托管操作系统OS736以便为系统700中指令的执行提供软件平台。另外,存储并且从存储器子系统730执行其它指令738,以提供系统700的逻辑和处理。OS736和指令738由处理器720执行。存储器子系统730包括存储器装置732,其中它存储数据、指令、程序或其它项目。在一个实施例中,存储器子系统包括存储器控制器734,其是生成并且发布命令到存储器装置732的存储器控制器。将理解的是,存储器控制器734能够是处理器720的物理部分。[0089]在一个实施例中,系统700进一步包括实现在本文中描述的实施例的一个或多个实施例的不对称存储器管理电路731。在一个实施例中,不对称存储器管理电路731是与处理器720在相同封装上。根据在本文中的实施例,不对称存储器管理电路731包括IO电路733、高速缓存控制器735和业务控制器737。[0090]处理器720和存储器子系统730被耦合到总线总线系统710。总线710是表示通过适当桥接器、适配器和或控制器连接的任何一个或多个单独的物理总线、通信线路接口和或点对点连接的抽象。因此,总线710能够包括例如以下中的一个或多个:系统总线、夕卜设组件互连PCI总线、HyperTransport或工业标准架构(ISA总线、小型计算机系统接口SCSI总线、通用串行总线USB或电气和电子工程师协会(IEEE标准1394总线通常称为“火线”)。总线710的总线也能够对应于网络接口750中的接口。[0091]功率源712耦合到总线710以向系统700的组件提供功率。在一个实施例中,功率源712包括用于插入墙上插座的AC到DC交流电到直流电)适配器。此类AC功率能够是可再生能源例如,太阳能在一个实施例中,功率源712仅包括DC功率,其能够由诸如外部AC到DC转换器的DC功率源提供。在一个实施例中,功率源712包括用于经由充电场附近充电的无线充电硬件。在一个实施例中,功率源712能够包括内部电池、至少接收交流电和供应直流电的AC-DC转换器、可再生能源例如,太阳能或基于运动的功率等。[0092]系统700也包括耦合到总线710的一个或多个输入输出(IO接口740、网络接口750、一个或多个内部大容量存储装置760及外设接口770。IO接口740能够包括一个或多个接口组件,通过这些接口组件,用户与系统700交互例如,视频、音频和或字母数字接口)。网络接口750为系统700提供通过一个或多个网络与远程装置例如,服务器、其它计算装置通信的能力。网络接口750能够包括以太网适配器、无线互连组件、USB通用串行总线)或其它基于有线或无线标准的或专有的接口。[0093]存储装置760能够是或者包括用于以非易失性方式存储大量数据的任何常规媒体,诸如一个或多个磁性、固态或基于光的盘或组合。存储装置760以持久状态保存代码或指令和数据762即,即使在到系统700的功率中断的情况下,值被保留)。存储装置760—般能够被认为是“存储器”,即使存储器730是用于提供指令到处理器720的执行或操作存储器。尽管存储装置760是非易失性的,但存储器730能够包括易失性存储器(S卩,如果到系统700的功率中断,则数据的值或状态是不确定的)。[0094]外设接口770能够包括上面未明确提及的任何硬件接口。外设一般指依赖地连接到系统700的装置。依赖连接是其中系统700提供了在其上执行操作,并且用户通过其进行交互的软件和或硬件平台的一种连接。[0095]图8是在其中能够实现不对称存储器管理的移动装置的实施例的框图。装置800表示移动计算装置,诸如计算平板、移动电话或智能电话、无线启用的电子阅读器、可佩戴计算装置或其它移动装置。将理解的是,某些组件是一般示出的,并且并非此类装置的所有组件在装置800中被示出。[0096]装置800包括处理器810,其执行装置800的主要处理操作。处理器810能够包括一个或多个物理装置,诸如微处理器、应用处理器、微控制器、可编程逻辑装置或其它处理部件。由处理器810执行的处理操作包括应用和或装置功能在其上被执行的操作平台或操作系统的执行。处理操作包括以下操作:涉及与人类用户或者与其它装置的10输入输出)的操作、涉及功率管理的操作和或涉及连接装置800到另一装置的操作。处理操作也能够包括涉及音频IO和或显示IO的操作。[0097]在一个实施例中,装置800包括音频子系统820,其表示与向计算装置提供音频功能关联的硬件例如,音频硬件和音频电路和软件例如,驱动器、编解码器组件。音频功能能够包括扬声器和或耳机输出及麦克风输入。用于此类功能的装置能够被集成到装置800中,或者连接到装置800。在一个实施例中,用户通过提供由处理器810接收和处理的音频命令来与装置800进行交互。[0098]显示子系统830表示提供视觉和或触觉显示以便用户与计算装置交互的硬件例如,显示装置和软件例如,驱动器组件。显示子系统830包括显示接口832,其包括用于向用户提供显示的特定屏幕或硬件装置。在一个实施例中,显示接口832包含与处理器810分开的逻辑,以执行与显示有关的至少一些处理。在一个实施例中,显示子系统830包括提供输出和输入两者到用户的触摸屏装置。在一个实施例中,显示子系统830包括向用户提供输出的高清晰度HD显示器。高清晰度能够指具有大约100像素每英寸PPI或更大的像素密度的显示器,并且能够包括诸如以下格式:全HD例如,1080p、视网膜显示器、4K超高清晰度或UHD、或其它。[0099]IO控制器840表示与同用户的交互有关的硬件装置和软件组件。IO控制器840能够操作以管理作为音频子系统820和或显示子系统830的部分的硬件。另外,IO控制器840图示了用于连接到装置800的附加装置的连接点,用户可能通过其与系统交互。例如,能够附连到装置800的装置可包括麦克风装置、扬声器或立体声系统、视频系统或其它显示装置、键盘或小键盘装置、或供诸如读卡器或其它装置的特定应用使用的其它IO装置。[0100]如上所提及的,IO控制器840能够与音频子系统820和或显示子系统830交互。例如,通过麦克风或其它音频装置的输入能够提供用于装置800的一个或多个应用或功能的输入或命令。另外,能够代替显示输出提供音频输出,或者除显示输出外还提供音频输出。在另一示例中,如果显示器子系统包括触摸屏,则显示装置还充当输入装置,其至少部分能够由IO控制器840管理。装置800上也能够有附加的按钮或开关以提供由IO控制器840管理的IO功能。[0101]在一个实施例中,IO控制器840管理诸如以下装置:加速计、照相机、光传感器或其它环境传感器、陀螺仪、全球定位系统GPS或能够包括在装置800中的其它硬件。输入能够是直接用户交互的部分以及提供环境输入到系统以影响其操作诸如对噪声的过滤,针对亮度检测来调整显示器,对照相机应用闪光灯、或其它特征)。在一个实施例中,装置800包括对电池功率使用、电池的充电以及与功率节省操作有关的特征进行管理的功率管理850。功率管理850管理来自向系统800的组件提供功率的功率源852的功率。在一个实施例中,功率源852包括用于插入墙上插座的AC到DC交流电到直流电)适配器。此类AC功率能够是可再生能源例如,太阳能)。在一个实施例中,功率源852仅包括DC功率,其能够由诸如外部AC到DC转换器的DC功率源提供。在一个实施例中,功率源852包括用于经由充电场附近来充电的无线充电硬件。在一个实施例中,功率源852能够包括内部电池、至少接收交流电和供应直流电的AC-DC转换器、可再生能源例如,太阳能或基于运动的功率等。[0102]存储器子系统860包括用于在装置800中存储信息的(一个或多个)存储器装置862。存储器子系统860能够包括非易失性如果到存储器装置的功率中断,则状态不改变)和或易失性如果到存储器装置的功率中断,则状态不确定存储器装置。存储器装置862能够存储应用数据、用户数据、音乐、照片、文档或其它数据及与装置800的应用和功能的执行有关的系统数据无论是长期的还是暂时的)。在一个实施例中,存储器子系统860包括存储器控制器864其也能够被视为是装置800的控制的部分,并且能够潜在地被认为是处理器810的部分)。存储器控制器864包括用于生成并且向存储器装置862发布命令的调度器。在一个实施例中,系统800进一步包括实现在本文中描述的实施例的一个或多个实施例的不对称存储器管理电路861。在一个实施例中,不对称存储器管理电路861与处理器在相同封装上。根据在本文中的实施例,不对称存储器管理电路861包括IO电路833、高速缓存控制器835和业务控制器837。[0103]连接性870包括使得装置800能够与外部装置通信的硬件装置例如无线和或有线连接器和通信硬件和软件组件例如驱动器、协议栈)。外部装置能够是诸如其它计算装置、无线接入点或基站的单独装置及诸如头戴式耳机、打印机或其它装置的外设。[0104]连接性870能够包括多个不同类型的连接性。为了一般化,装置800被图示为带有蜂窝连接性872和无线连接性874。蜂窝连接性872—般指由无线载波提供的蜂窝网络连接性,诸如经由以下项被提供:GSM全球移动通信系统或变化或衍生、CDMA码分多址或变化或衍生、TDM时分复用)或变化或衍生、LTE长期演进-也称为“40、或其它蜂窝服务标准。无线连接性874指非蜂窝的无线连接性,并且能够包括个人区域网络诸如蓝牙)、局域网(诸如WiFi和或广域网(诸如WiMAX、或其它无线通信。无线通信指通过使用调制的电磁辐射,通过非固态介质的数据的传递。有线通信通过固态通信介质发生。[0105]外设连接880包括硬件接口和连接器及形成外设连接的软件组件(例如,驱动器、协议栈)。将理解的是,装置800能够是到其它计算装置的外设装置(“到”882以及具有与其连接的外设装置(“从”884两者。装置800通常具有“入坞docking”连接器以连接到其它计算装置,以用于诸如管理例如,下载和或上载、更改、同步在装置800上内容的目的。另夕卜,入坞连接器能够允许装置800连接到某些外设,这些外设允许装置800控制例如到视听或其它系统的内容输出。[0106]除专有入坞连接器或其它专有连接硬件外,装置800能够经由普通或基于标准的连接器进行外设连接880。普通类型能够包括通用串行总线USB连接器其能够包括任何数量的不同硬件接口)、包括微型显示端口(MDP的显示端口、高清晰度多媒体接口(HDMI、火线、或其它类型。[0107]装置800能够通过电池、无线充电、可再生能源例如,太阳能)或在连接到墙上插座时被供电。[0108]下面描述一些实施例。在一个实施例中,存储器管理电路包括与第一存储器和第二存储器耦合的输入输出(I〇电路,该IO电路接收存储器访问请求。存储器管理电路包括逻辑以确定存储器访问请求是到系统存储器的第一区域还是到系统存储器的第二区域,其中在第一区域中的数据是在第一存储器的高速缓存中可缓存的,并且响应于存储器访问请求之一是到第一区域和存储器访问请求的第二请求是到第二区域的确定,从第一存储器的高速缓存访问在第一区域中的数据和从第二存储器并发访问在第二区域中的数据。[0109]在一个实施例中,第一区域包括在系统存储器中的页的可缓存部分,并且第二区域包括在系统存储器中的页的非可缓存部分。在一个此类实施例中,逻辑要仅缓存位于在系统存储器中的页的可缓存部分中的数据。在一个实施例中,第一存储器具有第一带宽,并且第二存储器具有第二带宽,以及第一区域的大小对第二区域的大小的比率与第一带宽对第二带宽的比率是成比例的。在一个实施例中,第一存储器和第二存储器各自具有用来传送和接收数据的单独接口。在一个此类实施例中,逻辑要经由第一存储器的接口对在第一区域中的数据和经由第二存储器的接口对在第二区域中的第二数据进行并发访问。[0110]在一个实施例中,逻辑要在比第一存储器和第二存储器单独的带宽大的带宽并发访问第一和第二数据。在一个实施例中,逻辑要将第一存储器的一部分分配到高速缓存和将第一存储器的剩余部分分配到系统存储器。在一个此类实施例中,系统存储器包括来自第一存储器和第二存储器的容量,并且逻辑要访问在映射到第一存储器的系统存储器的区域中的数据和并发访问在映射到第二存储器的系统存储器的区域中的数据。在一个实施例中,第一存储器包括与处理器在相同封装中的封装内存储器,并且第二存储器包括在与处理器分开的封装中的封装外存储器。[0111]在一个实施例中,系统包括与第一存储器和第二存储器通信耦合的处理器和与处理器且与第一存储器和第二存储器通信耦合的逻辑。逻辑要确定存储器访问请求是到系统存储器的第一区域还是到系统存储器的第二区域,其中在第一区域中的数据是在第一存储器的高速缓存中可缓存的,并且响应于存储器访问请求之一是到第一区域和存储器访问请求的第二请求是到第二区域的确定,从第一存储器的高速缓存访问在第一区域中的数据和从第二存储器并发访问在第二区域中的第二数据。在一个实施例中,系统进一步包括以下的任一项:通信耦合到处理器的显示器、通信耦合到处理器的网络接口或经耦合以向系统提供功率的电池。[0112]在一个实施例中,方法涉及接收存储器访问请求,确定存储器访问请求是针对在系统存储器的第一区域中的数据还是针对系统存储器的第二区域中的第二数据,并且响应于存储器访问请求之一是到第一区域和存储器访问请求的第二请求是到第二区域的确定,从第一存储器的高速缓存访问在第一区域中的数据和从第二存储器并发访问在第二区域中的第二数据。在一个此类实施例中,第一区域包括在系统存储器中的页的可缓存部分,并且第二区域包括在系统存储器中的页的非可缓存部分;以及仅位于系统存储器中的页的可缓存部分中的数据被缓存。[0113]在一个实施例中,第一存储器和第二存储器各自具有用来传送和接收数据的单独接口;并且方法涉及经由第一存储器的接口对在第一区域中的数据和经由第二存储器的接口访问对在第二区域中的第二数据进行并发访问。在一个实施例中,访问涉及在比第一存储器和第二存储器单独的带宽大的带宽访问数据。在一个实施例中,方法进一步涉及将第一存储器的一部分分配到高速缓存和将第一存储器的剩余部分分配到系统存储器。在一个实施例中,系统存储器包括来自第一存储器和第二存储器两者的容量,并且方法进一步涉及其中访问在映射到第一存储器的系统存储器的区域中的数据和并发访问在映射到第二存储器的系统存储器的区域中的数据。[0114]在一个实施例中,与第一存储器和第二存储器耦合的存储器管理电路包括用于接收存储器访问请求的部件和用于确定存储器访问请求是到系统存储器的第一区域还是到系统存储器的第二区域的部件,其中在第一区域中的数据是在第一存储器的高速缓存中可缓存的,并且响应于存储器访问请求之一是到第一区域和存储器访问请求的第二请求是到第二区域的确定,从第一存储器的高速缓存访问在第一区域中的数据和从第二存储器并发访问在第二区域中的第二数据。[0115]在一个实施例中,存储器管理电路包括:与第一存储器和第二存储器耦合的输入输出(IO电路,IO电路接收存储器访问请求;以及将第一存储器的至少一部分和第二存储器的一部分分配到系统存储器的高带宽区域的逻辑。响应于对高带宽区域中数据的存储器访问请求的接收,逻辑要从第一存储器访问数据的一部分,并且从第二存储器并发访问数据的第二部分。在一个实施例中,第一存储器和第二存储器各自具有用来传送和接收数据的单独接口。响应于存储器访问请求的接收,逻辑要经由第一存储器的接口对在第一区域中的数据的该部分和经由第二存储器的接口对在第二区域中的数据的第二部分进行并发访问。在一个此类实施例中,逻辑要在比第一存储器和第二存储器单独的带宽大的带宽访问数据。在一个实施例中,未分配到高带宽区域的第一存储器的剩余部分被分配到系统存储器。在一个实施例中,逻辑要将第二存储器的至少一部分分配到高带宽区域。在一个此类实施例中,基于寄存器设置,定义高带宽区域。[0116]在一个实施例中,方法包括将第一存储器的一部分和第二存储器的一部分分配到系统存储器的高带宽区域,接收对高带宽区域中的数据的存储器访问请求,以及从第一存储器访问数据的一部分,并且从第二存储器并发访问数据的第二部分。在一个实施例中,第一存储器和第二存储器各自具有用来传送和接收数据的单独接口,并且响应于存储器访问请求的接收,访问涉及经由第一存储器的接口对在第一区域中的数据的该部分和经由第二存储器的接口对在第二区域中的数据的第二部分进行并发访问。在一个实施例中,访问是在比第一存储器和第二存储器单独的带宽大的带宽处。在一个实施例中,方法进一步包括将未分配到高带宽区域的第一存储器的剩余部分分配到系统存储器。在一个实施例中,方法涉及将第二存储器的至少一部分分配到高带宽区域。在一个实施例中,基于寄存器设置,定义高带宽区域。[0117]在一个实施例中,与第一存储器和第二存储器耦合的存储器管理电路包括用于接收存储器访问请求的部件、用于将第一存储器的至少一部分和第二存储器的一部分分配到系统存储器的高带宽区域的部件及响应对高带宽区域中数据的存储器访问请求的接收,用于从第一存储器访问数据的一部分,并且从第二存储器并发访问数据的第二部分的部件。[0118]如在本文中所图示的流程图提供各种过程动作序列的示例。流程图能够指示要由软件或固件例程执行的操作及物理操作。在一个实施例中,流程图能够图示能够在硬件和或软件中实现的有限状态机FSM的状态。即使以特定顺序或次序示出,但除非另有指定,否则,能够修改动作的次序。因此,图示的实施例应被理解为只是示例,并且过程能够以不同次序被执行,以及一些动作能够被并行执行。另外,在各种实施例能够忽略一个或多个动作;因此,并非在每个实施例中要求所有动作。其它过程流程是可能的。[0119]就在本文中描述各种操作或功能而言,它们能够被描述或定义为软件代码、指令、配置和或数据。内容能够是直接可执行的(“对象”或“可执行的”形式)、源代码或差代码“Δ”或“修补”代码)。在本文中描述的实施例的软件内容能够经由其上带有存储的内容的制品来提供,或者经由操作通信接口以经由通信接口发送数据的方法来提供。机器可读存储媒体能够引起机器执行描述的功能或操作,并且包括以被机器例如,计算装置、电子系统等可访问的形式来存储信息的任何机制,诸如可记录非可记录媒体例如,只读存储器ROM、随机存取存储器RAM、磁盘存储媒体、光存储媒体、闪速存储器装置等)。通信接口包括与任何硬连线、无线、光学等的媒体进行接口以与另一装置进行通信的任何机制,诸如存储器总线接口、处理器总线接口、互联网连接、盘控制器等。通信接口能够通过提供配置参数和或发送信号来配置,以使通信接口准备好提供描述软件内容的数据信号。经由发送到通信接口的一个或多个命令或信号,能够访问通信接口。[0120]在本文中描述的各种组件能够是用于执行描述的操作或功能的部件。在本文中描述的每个组件包括软件、硬件或这些软件或硬件的组合。组件能够被实现为软件模块、硬件模块、专门用途硬件例如专用硬件、专用集成电路ASIC、数字信号处理器①SP等)、嵌入式控制器、硬连线电路等。[0121]除在本文中所描述的内容外,在不偏离其范围的情况下,能够对本发明的公开实施例和实现进行各种修改。因此,在本文中的说明和示例应以说明性而非限制性的意义来解释。

权利要求:1.一种存储器管理电路,所述存储器管理电路包括:与第一存储器和第二存储器耦合的输入输出(IO电路,所述IO电路要接收存储器访问请求;以及逻辑,所述逻辑要:确定所述存储器访问请求是到系统存储器的第一区域还是系统存储器的第二区域,其中所述第一区域中的数据在所述第一存储器的高速缓存中是可缓存的;以及响应于所述存储器访问请求之一是到所述第一区域和所述存储器访问请求的第二请求是到所述第二区域的确定,从所述第一存储器的所述高速缓存访问在所述第一区域中的所述数据和从所述第二存储器并发访问在所述第二区域中的第二数据。2.根据权利要求1所述的存储器管理电路,其中:所述第一区域包括在所述系统存储器中的页的可缓存部分,并且所述第二区域包括在所述系统存储器中的所述页的非可缓存部分;以及其中所述逻辑要仅缓存位于在所述系统存储器中的页的可缓存部分中的数据。3.根据权利要求1所述的存储器管理电路,其中:所述第一存储器具有第一带宽,并且所述第二存储器具有第二带宽,以及其中所述第一区域的大小对所述第二区域的大小的比率与所述第一带宽对所述第二带宽的比率是成比例的。4.根据权利要求1所述的存储器管理电路,其中:所述第一存储器和所述第二存储器各自具有用来传送和接收数据的单独接口;以及其中,所述逻辑要经由所述第一存储器的所述接口对在所述第一区域中的所述数据和经由所述第二存储器的所述接口对在所述第二区域中的所述第二数据进行并发访问。5.根据权利要求1所述的存储器管理电路,其中所述逻辑要:在比所述第一存储器和所述第二存储器单独的带宽大的带宽并发访问所述第一和第二数据。6.根据权利要求1所述的存储器管理电路,其中:所述逻辑要:将所述第一存储器的一部分分配到所述高速缓存并且将所述第一存储器的剩余部分分配到所述系统存储器。7.根据权利要求6所述的存储器管理电路,其中:所述系统存储器包括来自所述第一存储器和所述第二存储器两者的容量;以及其中所述逻辑要访问在映射到所述第一存储器的所述系统存储器的区域中的数据和并发访问在映射到所述第二存储器的所述系统存储器的区域中的数据。8.根据权利要求1所述的存储器管理电路,其中:所述第一存储器包括在与处理器相同的封装中的封装内存储器,并且所述第二存储器包括在与所述处理器分开的封装中的封装外存储器。9.一种系统,所述系统包括:与第一存储器和第二存储器通信耦合的处理器;以及与所述处理器和与所述第一存储器和所述第二存储器通信耦合的逻辑,其中所述逻辑要:确定所述存储器访问请求是到系统存储器的第一区域还是系统存储器的第二区域,其中所述第一区域中的数据在所述第一存储器的高速缓存中是可缓存的;以及响应于所述存储器访问请求之一是到所述第一区域和所述存储器访问请求的第二请求是到所述第二区域的确定,从所述第一存储器的所述高速缓存访问在所述第一区域中的所述数据和从所述第二存储器并发访问在所述第二区域中的第二数据。10.根据权利要求9所述的系统,其中:所述第一区域包括在所述系统存储器中的页的可缓存部分,并且所述第二区域包括在所述系统存储器中的所述页的非可缓存部分;以及其中所述逻辑要仅缓存位于在系统存储器中的页的可缓存部分中的数据。11.根据权利要求9所述的系统,其中:所述第一存储器具有第一带宽,并且所述第二存储器具有第二带宽,以及其中所述第一区域的大小对所述第二区域的大小的比率与所述第一带宽对所述第二带宽的比率是成比例的。12.根据权利要求9所述的系统,其中:所述第一存储器和所述第二存储器各自具有用来传送和接收数据的单独接口;以及其中所述逻辑要经由所述第一存储器的所述接口对在所述第一区域中的数据和经由所述第二存储器的所述接口对在所述第二区域中的第二数据进行并发访问。13.根据权利要求9所述的系统,其中所述逻辑要:在比所述第一存储器和所述第二存储器单独的带宽大的带宽并发访问所述第一和第二数据。14.根据权利要求9所述的系统,其中:所述逻辑要:将所述第一存储器的一部分分配到所述高速缓存并且将所述第一存储器的剩余部分分配到系统存储器。15.根据权利要求14所述的系统,其中:所述系统存储器包括来自所述第一存储器和所述第二存储器两者的容量;以及其中所述逻辑要访问在映射到所述第一存储器的系统存储器的区域中的数据和并发访问在映射到所述第二存储器的系统存储器的区域中的数据。16.根据权利要求9所述的系统,进一步包括:以下中的任何:通信耦合到所述处理器的显示器、通信耦合到所述处理器的网络接口或经耦合以向所述系统提供功率的电池。17.—种方法,所述方法包括:接收存储器访问请求;确定所述存储器访问请求是针对在系统存储器的第一区域中的数据还是在系统存储器的第二区域中的第二数据;以及响应于所述存储器访问请求之一是到所述第一区域和所述存储器访问请求的第二请求是到所述第二区域的确定,从第一存储器的高速缓存访问在所述第一区域中的所述数据和从第二存储器并发访问在所述第二区域中的所述第二数据。18.根据权利要求17所述的方法,其中:所述第一区域包括在所述系统存储器中的页的可缓存部分,并且所述第二区域包括在所述系统存储器中的所述页的非可缓存部分;以及其中仅位于在系统存储器中的页的可缓存部分中的数据被缓存。19.根据权利要求17所述的方法,其中:所述第一存储器具有第一带宽,并且所述第二存储器具有第二带宽;以及所述第一区域的大小对所述第二区域的大小的比率与所述第一带宽对所述第二带宽的比率是成比例的。20.根据权利要求17所述的方法,其中:所述第一存储器和所述第二存储器各自具有传送和接收数据的单独接口;以及其中所述方法包括经由所述第一存储器的所述接口对在所述第一区域中的所述数据和经由所述第二存储器的所述接口对在所述第二区域中的所述第二数据进行并发访问。21.根据权利要求17所述的方法,其中所述访问包括:在比所述第一存储器和所述第二存储器单独的带宽大的带宽访问所述数据。22.根据权利要求18所述的方法,进一步包括:将所述第一存储器的一部分分配到所述高速缓存并且将所述第一存储器的剩余部分分配到系统存储器。23.根据权利要求22所述的方法,其中:所述系统存储器包括来自所述第一存储器和所述第二存储器两者的容量;以及其中所述方法进一步包括访问在映射到所述第一存储器的系统存储器的区域中的数据和并发访问在映射到所述第二存储器的系统存储器的区域中的数据。24.与第一存储器和第二存储器耦合的存储器管理电路,所述存储器管理电路包括:用于接收存储器访问请求的部件;以及用于执行以下操作的部件:确定所述存储器访问请求是到系统存储器的第一区域还是系统存储器的第二区域,其中所述第一区域中的数据在所述第一存储器的高速缓存中是可缓存的;以及响应于所述存储器访问请求之一是到所述第一区域和所述存储器访问请求的第二请求是到所述第二区域的确定,从所述第一存储器的所述高速缓存访问在所述第一区域中的所述数据和从所述第二存储器并发访问在所述第二区域中的第二数据。25.根据权利要求24所述的存储器管理电路,其中:所述第一区域包括在所述系统存储器中的页的可缓存部分,并且所述第二区域包括在所述系统存储器中的所述页的非可缓存部分;以及其中所述存储器管理电路包括用于仅缓存位于系统存储器中的页的可缓存部分中的数据的部件。

百度查询: 英特尔公司 不对称存储器管理

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