用于在非统一存储器架构中提供改进的延迟的系统和方法技术方案

技术编号:15919276 阅读:22 留言:0更新日期:2017-08-02 04:29
公开了用于在具有非统一存储器架构的便携式计算设备中分配存储器的系统、方法以及计算机程序。方法的一个实施例包括:从在第一片上系统(SoC)上执行的进程接收针对虚拟存储器页面的请求,该第一SoC通过芯片间接口电耦合于第二SoC,该第一SoC通过第一高性能总线电耦合于第一本地易失性存储器设备,并且该第二SoC通过第二高性能总线电耦合于第二本地易失性存储器设备;确定包括在该第一和第二本地易失性存储器设备上可用的相同物理地址的空闲物理页面对;以及将该空闲物理页面对映射到单个虚拟页面地址。

【技术实现步骤摘要】
【国外来华专利技术】用于在非统一存储器架构中提供改进的延迟的系统和方法
技术介绍
便携式计算设备(例如,蜂窝电话、智能电话、平板计算机、便携式数字助理(PDA)以及便携式游戏控制台)持续提供不断扩展的服务和特征阵列,并且向用户提供前所未有的信息接入、资源以及通信的水平。为了跟上这些服务增强的步伐,这些设备已经变得更加强大并且更加复杂。便携式计算设备现在通常包括包含嵌在单个基底上的一个或多个芯片部件(例如,一个或多个中央处理单元(CPU)、图形处理单元(GPU)、数字信号处理器等)的片上系统(SoC)。由于在集成电路上增加晶体管密度变得更具挑战,二维单片集成电路的成本可能变得过高,导致在便携式计算设备中对多管芯或多SOC产品的使用增加。该多管芯产品可以包括互连的物理管芯,每个物理管芯提供对快速本地存储器(诸如,动态随机存取存储器(DRAM))的访问。该架构一般被称作非统一存储器架构(NUMA)。然而,NUMA设计提出了多种情况,在这些情况中,通过高性能总线可访问的近的或本地的DRAM中的数据或通过低性能芯片间接口可访问的远的DRAM中的数据需要被任一管芯上的处理器访问。这可能导致较高的延迟,例如当处理器必须去往远的DRAM时。因此,需要提供针对非统一存储器架构中的所有处理器的低延迟存储器访问的系统和方法。
技术实现思路
公开了用于在具有非统一存储器架构的便携式计算设备中分配存储器的系统、方法以及计算机程序。一种这样的方法涉及:从在第一片上系统(SoC)上执行的进程接收针对虚拟存储器页面的请求。该第一SoC通过芯片间接口电耦合与第二SoC。该第一SoC通过第一高性能总线电耦合于第一本地易失性存储器设备,并且该第二SoC通过第二高性能总线电耦合于第二本地易失性存储器设备。确定空闲物理页面对,其包括在该第一和第二本地易失性存储器设备上可用的相同物理地址。将该空闲物理页面对映射到单个虚拟页面地址。附图说明在附图中,除非另外指出,贯穿各个视图的相似的附图标记指代相似的部分。对于具有字母符号标号的附图标记(诸如“102A”或“102B”),该字母符号标号可以对在同一附图中出现的两个相似的部分或元件进行区分。当附图标记旨在包括在所有附图中的具有相同附图标记的所有部分时,可以省略针对附图标记的字母符号标号。图1是包括多个互连的具有非统一存储器架构(NUMA)的片上系统(SoC)的系统的实施例的框图。图2示出了具有在多个SoC上选择性复制的存储器数据的图1的系统。图3是示出了在包括具有相同物理地址的空闲物理页面对的SoC中的页面表格的实施例的方框图。图4是示出了用于实现包括用于将空闲物理页面对映射到单个虚拟地址的复制属性字段的页面表格条目的数据结构的实施例的方框图。图5是示出了由图1和2中的自适应NUMA延迟优化模块实现的方法的实施例的流程图。图6是示出了由用于释放物理页面对的操作系统实现的方法的实施例的流程图。图7是示出了用于将先前分配的单个页面转换为空闲物理页面对的方法的实施例的流程图。图8是示出了用于实现图1和2的系统中的页面表格条目的数据结构的另一个实施例的方框图。图9a和图9b是示出了由图1和2中的非阻塞NUMA延迟优化模块实现的方法的实施例的流程图。图10是示出了实现图8的页面表格条目的示例性写事务的流程图。图11是示出了实现图8的页面表格条目的示例性读事务的流程图。图12是示出了用于复制使用图8的页面表格条目的数据的页面翻译图表的功能框图。图13是可以合并用于扩展系统存储器的RAM卡/插槽的便携式通信设备的另一个实施例的方框图。具体实施方式本文中所使用的词语“示例性”意指“用作例子、实例或说明”。本文中被描述为“示例性”的任何方面未必要被解释为比其它方面更优选或更具优势。在本描述中,术语“应用”或“图像”也可以包括具有可执行内容的文件,例如:目标代码、脚本、字节代码、标记语言文件和补丁。另外,本文中所提及的“应用”,也可以包括本质上不可执行的文件,例如可能需要被打开的文档或需要被存取的其它数据文件。术语“内容”也可以包括具有可执行内容的文件,例如:目标代码、脚本、字节代码、标记语言文件和补丁。另外,本文中所提及的“内容”,也可以包括本质上不可执行的文件,例如可能需要被打开的文档或需要被存取的其它数据文件。如在本描述中所使用的,术语“部件”、“数据库”、“模块”、“系统”以及类似的术语旨在指代与计算机相关的实体,其可以是硬件、固件、硬件和软件的结合、软件、或执行中的软件。例如,部件可以是但不限于是处理器上运行的进程、处理器、对象、可执行文件、执行的线程、程序、和/或计算机。举例来说,计算设备上运行的应用和计算设备均可以是部件。一个或多个部件可以存在于执行中的进程和/或线程内,以及部件可以位于一台计算机上和/或分布于两台或更多台计算机之间。另外,可以从其上存储了各种数据结构的各种计算机可读介质来执行这些部件。这些部件可以通过本地和/或远程过程的方式,例如根据具有一个或多个数据分组(例如,来自通过信号的方式与本地系统、分布式系统中的另一个部件进行交互和/或跨越诸如互联网这样的网络与其它系统进行交互的一个部件的数据)的信号,来进行通信。术语“虚拟存储器”指的是从引用存储器的应用或图像对实际物理存储器的抽象。可以使用翻译或映射将虚拟存储器地址转换为物理存储器地址。该映射可以是如1对1一样简单的(例如,物理地址等于虚拟地址)、适度复杂的(例如,物理地址等于距虚拟地址的常量偏移),或该映射可以是复杂的(例如,每4KB页面唯一地映射)。该映射可以是静态的(例如,在启动时执行一次),或该映射可以是动态的(例如,随着分配和释放存储器而不断演变)。在本描述中,可互换地使用术语“通信设备”、“无线设备”、“无线电话”、“无线通信设备”以及“无线手机”。随着第三代(“3G”)无线技术以及第四代(“4G”)的出现,更大的可用带宽已经使得更多的便携式计算设备能够具有更多种多样的无线能力。因此,便携式计算设备可以包括蜂窝电话、传真机、PDA、智能电话、导航设备、或具有无线连接或链接的手持计算机。图1示出了包括多个互连的具有非统一存储器架构(NUMA)的物理管芯(例如,片上系统(SoC)102和SoC202)的系统100的实施例。系统100可以被实现为设计用于任何计算设备的、或者驻留在任何计算设备中的多管芯产品,上述任何计算设备包括:个人计算机、工作站、服务器、便携式计算设备(PCD)(例如,蜂窝电话、便携式数字助理(PDA)、便携式游戏控制台、掌上计算机或平板计算机)。SOC102和202通过管芯间接口116电耦合。每个SOC通过高性能总线电耦合于近的或本地的易失性存储器设备(例如,动态随机存取存储区(DRAM)设备)。如图1中的实施例中示出的那样,SoC102通过总线105连接于本地DRAM104,并且SoC202通过总线205连接于本地DRAM204。总线105和205分别由SOC102和202提供具有对本地DRAM104和204的更低延迟的更快速的、更高性能的访问。如本领域已知的那样,NUMA使得SOC102和202中的每一个都能够访问其它SoC的本地DRAM,管芯间接口116可以造成更高的延时以及相对更低的性能。SoC102和202包括各个片上或本文档来自技高网...
用于在非统一存储器架构中提供改进的延迟的系统和方法

【技术保护点】
一种用于在具有非统一存储器架构的便携式计算设备中分配存储器的方法,所述方法包括:从在第一片上系统上执行的进程接收针对虚拟存储器页面的请求,所述第一SoC通过芯片间接口电耦合于第二SoC,所述第一SoC通过第一高性能总线电耦合于第一本地易失性存储器设备,并且所述第二SoC通过第二高性能总线电耦合于第二本地易失性存储器设备;确定包括在所述第一本地易失性存储器设备和所述第二本地易失性存储器设备上可用的相同物理地址的空闲物理页面对;以及将所述空闲物理页面对映射到单个虚拟页面地址。

【技术特征摘要】
【国外来华专利技术】2014.12.04 US 14/560,2901.一种用于在具有非统一存储器架构的便携式计算设备中分配存储器的方法,所述方法包括:从在第一片上系统上执行的进程接收针对虚拟存储器页面的请求,所述第一SoC通过芯片间接口电耦合于第二SoC,所述第一SoC通过第一高性能总线电耦合于第一本地易失性存储器设备,并且所述第二SoC通过第二高性能总线电耦合于第二本地易失性存储器设备;确定包括在所述第一本地易失性存储器设备和所述第二本地易失性存储器设备上可用的相同物理地址的空闲物理页面对;以及将所述空闲物理页面对映射到单个虚拟页面地址。2.根据权利要求1所述的方法,其中,所述将所述空闲物理页面对映射到所述单个虚拟页面地址包括:修改与所述相同物理地址相关联的页面表格条目。3.根据权利要求2所述的方法,其中,所述修改所述页面表格条目包括:设置复制属性以复制在所述第一本地易失性存储器设备和所述第二本地易失性存储器设备上的所述相同物理地址中存储的存储器数据。4.根据权利要求1所述的方法,还包括:复制在所述第一本地易失性存储器设备和所述第二本地易失性存储器设备上的所述相同物理地址中存储的存储器数据。5.根据权利要求1所述的方法,其中,所述确定所述空闲物理页面对包括:搜索全局目录中的物理页面帧以识别所述可用的相同物理地址。6.根据权利要求1所述的方法,其中,所述确定所述空闲物理页面对包括:确定针对所述第一本地易失性存储器设备和所述第二本地易失性存储器设备的所述相同物理地址被分配给不同的虚拟地址;以及重新分配所述物理地址以释放所述物理页面对。7.根据权利要求1所述的方法,还包括:接收针对另一个虚拟存储器页面的另一个请求;确定没有另外可用的物理页面对;以及响应于所述另一个请求,将另一个物理页面映射到另一个虚拟页面地址。8.根据权利要求1所述的方法,还包括:操作系统将先前被分配的物理页面转换为额外的空闲物理页面对。9.根据权利要求1所述的方法,其中,所述第一本地易失性存储器设备和所述第二本地易失性存储器设备中的一个或多个本地易失性存储器设备包括:动态随机存取存储器(DRAM)设备。10.根据权利要求1所述的方法,其中,所述便携式计算设备包括:移动电话、平板计算机、导航设备以及便携式游戏控制台中的一个。11.一种用于在具有非统一存储器架构的便携式计算设备中分配存储器的系统,所述系统包括:用于从在第一片上系统(SoC)上执行的进程接收针对虚拟存储器页面的请求的单元,所述第一SoC通过芯片间接口电耦合于第二SoC,所述第一SoC通过第一高性能总线电耦合于第一本地易失性存储器设备,并且所述第二SoC通过第二高性能总线电耦合于第二本地易失性存储器设备;用于确定包括在所述第一本地易失性存储器设备和所述第二本地易失性存储器设备上可用的相同物理地址的空闲物理页面对的单元;以及用于将所述空闲物理页面对映射到单个虚拟页面地址的单元。12.根据权利要求11所述的系统,其中,所述用于将所述空闲物理页面对映射到单个虚拟页面地址的单元还包括:用于修改与所述相同物理地址相关联的页面表格条目的单元。13.根据权利要求12所述的系统,其中,所述用于修改所述页面表格条目的单元包括:用于设置复制属性以复制在所述第一本地易失性存储器设备和所述第二本地易失性存储器设备上的所述相同物理地址中存储的存储器数据的单元。14.根据权利要求11所述的系统,还包括:用于复制在所述第一本地易失性存储器设备和所述第二本地易失性存储器设备上的所述相同物理地址中存储的存储器数据的单元。15.根据权利要求11所述的系统,其中,所述用于确定所述空闲物理页面对的单元包括:用于搜索全局目录中的物理页面帧以识别所述可用的相同物理地址的单元。16.根据权利要求11所述的系统,其中,所述用于确定所述空闲物理页面对的单元包括:用于确定针对所述第一本地易失性存储器设备和所述第二本地易失性存储器设备的所述相同物理地址被分配给不同的虚拟地址的单元;以及用于重新分配所述物理地址以释放所述物理页面对的单元。17.根据权利要求11所述的系统,还包括:用于接收针对另一个虚拟存储器页面的另一个请求的单元;用于确定没有另外可用的物理页面对的单元;以及响应于所述另一个请求,将另一个物理页面映射到另一个虚拟页面地址。18.根据权利要求11所述的系统,还包括:用于将先前被分配的物理页面转换为额外的空闲物理页面对的单元。19.根据权利要求11所述的系统,其中,所述第一本地易失性存储器设备和所述第二本地易失性存储器设备中的一个或多个本地易失性存储器设备包括:动态随机存取存储器(DRAM)设备。20.根据权利要求11所述的系统,其中,所述便携式计算设备包括:移动电话、平板计算机、导航设备以及便携式游戏控制台中的一个。21.一种体现在存储器中并且由处理器可执行的用于在非统一存储器架构中分配存储器的计算机程序,所述计算机程序包括被配置为进行以下操作的逻辑单元:从在第一片上系统(SoC)上执行的进程接收针对虚拟存储器页面的请求,所述第一SoC通过芯片间接口电耦合于第二SoC,所述第一SoC通过第一高性能总线电耦合于第一本地易失性存储器设备,并且所...

【专利技术属性】
技术研发人员:S·A·莫洛伊D·T·全
申请(专利权)人:高通股份有限公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1