用于混合存储器管理的方法、系统和设备的制造方法

文档序号:8207708阅读:259来源:国知局
用于混合存储器管理的方法、系统和设备的制造方法
【专利说明】
【背景技术】
[0001]蜂窝和无线通信技术在过去的若干年里经历了爆炸性的增长。无线服务提供商现在提供各种各样的特征和服务,并且向它们的用户提供信息、资源和通信的空前水平的接入。为了跟上这些服务增强,移动电子设备(例如,蜂窝电话、平板设备、膝上型计算机等等)与过去相比变得具有更加丰富和复杂的特性,并且现在通常包括多个处理器、片上系统(SoC)、多个存储器和其它资源(例如,电源轨),这些部件使移动设备用户能在他们的移动设备上执行复杂和功率密集的软件应用(例如,视频流媒体、多媒体处理等等)。随着移动设备和相关技术持续普及并得到使用,对于移动设备设计人员来说,期望将提高移动设备的性能能力和功耗特性变成重要的和挑战性的设计标准。

【发明内容】

[0002]各个方面包括对具有存储器的计算系统上的存储器进行管理的方法,该方法可以包括:通过在监控代理或者监控代理进程中,将中间物理地址转换成物理地址来分配计算系统上的存储空间。在一个方面,所述监控代理可以基于存储器的特性和计算系统的一个或多个进程的特性来分配所述物理地址。在一个方面,基于存储器的特性来分配所述物理地理可以包括:基于混合存储器的特性来分配所述物理地址。在一个方面,分配计算系统上的存储空间还可以包括:在操作系统中,将虚拟地址转换成中间物理地址。
[0003]在另外的方面,分配计算系统上的存储空间可以包括:为软件进程分配存储空间。在另外的方面,分配计算系统上的存储空间可以包括:为硬件加速器分配存储空间。在另外的方面,分配计算系统上的存储空间可以包括:为软件进程和硬件加速器的组合分配存储空间。
[0004]在另外的方面,基于混合存储器的特性和一个或多个进程的特性来分配所述物理地址可以包括基于以下各项中的一项或多项来分配所述物理地址:所述混合存储器的性能特性、所述混合存储器的功耗特性、以及所述混合存储器的时延特性。在另外的方面,基于混合存储器的特性和一个或多个进程的特性来分配所述物理地址可以包括:基于所述一个或多个进程的性能特性来分配所述物理地址。在另外的方面,所述混合存储器可以包括两种或更多种类型的存储器技术,并且基于混合存储器的特性和一个或多个进程的特性来分配所述物理地址可以包括:基于所述混合存储器中包括的存储器技术的类型,来分配所述物理地址。
[0005]在一个方面,该方法可以包括:确定所述一个或多个进程是否包括苛刻进程。在另外的方面,确定所述一个或多个进程是否包括苛刻进程可以包括确定所述一个或多个进程是否包括与以下各项中的一项或多项相关联的进程:多媒体应用、视频播放器应用、流式视频应用、虚拟现实应用、增强现实应用、游戏应用、计算机视觉应用、视频会议应用、手势识别应用和语音识别应用。
[0006]在另外的方面,基于所述混合存储器的特性和一个或多个进程的特性来分配所述物理地址可以包括:当确定所述一个或多个进程包括苛刻进程时,向与所述苛刻进程相关联的应用程序分配所述混合存储器的快速部分,以及向与另外的进程相关联的应用程序分配所述混合存储器的慢速部分。在另外的方面,基于所述混合存储器的特性和一个或多个进程的特性来分配所述物理地址可以包括:当确定所述一个或多个进程包括苛刻进程时,向与所述苛刻进程相关联的硬件加速器分配所述混合存储器的快速部分,以及向与另外的进程相关联的硬件加速器分配所述混合存储器的慢速部分。
[0007]在另外的方面,该方法可以包括:确定所述苛刻进程的存储器速度要求,其中,基于所述混合存储器的特性和一个或多个进程的特性来分配所述物理地址可以包括:响应于确定所述苛刻进程的存储器速度要求高,向与所述苛刻进程相关联的应用程序分配所述混合存储器的快速部分,以及向与另外的进程相关联的应用程序分配所述混合存储器的慢速部分。
[0008]在另外的方面,该方法可以包括:确定所述苛刻进程的存储器速度要求,其中,基于所述混合存储器的特性和一个或多个进程的特性来分配所述物理地址可以包括:向与所述苛刻进程相关联的硬件加速器分配所述混合存储器的快速部分,以及向与一个或多个其它进程相关联的一个或多个硬件加速器分配所述混合存储器的慢速部分。
[0009]在另外的方面,该方法可以包括:确定是否可以向所述苛刻进程分配节能存储器,其中,基于所述混合存储器的特性和一个或多个进程的特性来分配所述物理地址可以包括:响应于确定能向所述苛刻进程分配节能存储器,向与所述苛刻进程相关联的应用程序分配所述混合存储器的节能部分,以及响应于确定不能向所述苛刻进程分配节能存储器,向与所述苛刻进程相关联的应用程序分配所述混合存储器的较不节能部分。
[0010]在另外的方面,该方法可以包括:确定所述计算系统何时进入低性能状态,其中,基于所述混合存储器的特性和一个或多个进程的特性来分配所述物理地址可以包括:响应于确定所述计算系统可能进入低性能状态,将所述混合存储器的节能部分分配给在所述计算系统上运行的任何软件应用。
[0011]在另外的方面,该方法可以包括:确定所述计算系统何时退出所述低性能状态,其中,基于所述混合存储器的特性和一个或多个进程的特性来分配所述物理地址可以包括:响应于确定不能向请求存储器的应用分配节能存储器,以及所述计算系统可能退出所述低性能状态,向在所述计算系统上运行的任何软件应用重新分配所述混合存储器的较不节能部分。
[0012]在另外的方面,在监控代理中将中间物理地址转换成物理地址可以包括:在管理程序中,将所述中间物理地址转换成所述物理地址。在另外的方面,在监控代理中将中间物理地址转换成物理地址可以包括:在所述操作系统之外的监控软件中,将所述中间物理地址转换成所述物理地址。在另外的方面,在监控代理中将中间物理地址转换成物理地址可以包括:在硬件层组件中,将所述中间物理地址转换成物理地址。在另外的方面,在监控代理中将中间物理地址转换成物理地址可以包括:在运行作为设备驱动器的一部分的软件监控器中,将所述中间物理地址转换成物理地址。
[0013]另外的方面可以包括具有处理器的计算设备,该处理器配置有处理器可执行指令,所述指令用于执行与上面所讨论的方法相对应的各种操作。
[0014]另外的方面可以包括具有硬件层组件的计算设备,该硬件层组件被配置为执行与上面所讨论的方法相对应的各种操作。
[0015]另外的方面可以包括具有各种单元的计算设备,所述各种单元用于执行与上面所讨论的方法操作相对应的功能。
[0016]另外的方面可以包括非临时性处理器可读存储介质,其具有存储于其上的处理器可执行指令,所述指令被配置为使得处理器执行与上面所讨论的方法操作相对应的各种操作。
【附图说明】
[0017]被并入本文并且构成本说明书的一部分的附图,示出了本发明的示例性实施例,并且连同上面给出的概括描述以及下面给出的详细描述来一起用于解释本发明的特征。
[0018]图1是示出了适于实现各个方面的计算设备的硬件组件的系统框图。
[0019]图2是示出了适于实现各个方面的计算系统中的逻辑组件和接口的分层计算机架构图。
[0020]图3和图4是示出了适于实现各个方面的虚拟机中的逻辑组件的分层计算机架构图。
[0021]图5是示出了在用于实现系统虚拟机的计算设备上,与以两个阶段来分配存储器相关联的逻辑组件和数据流的构成流程图。
[0022]图6A是示出了以说明混合存储器的不同部分的特性的方式,用两个阶段来分配存储器的方面方法的处理流程图。
[0023]图6B是示出了用于基于应用程序的存储器要求和混合存储器的不同部分的存储器访问速度,来分配物理地址的方面方法的处理流程图。
[0024]图6C是示出了用于基于应用程序的存储器要求和混合存储器的不同部分的能量消耗特性,来分配物理地址的方面方法的处理流程图。
[0025]图7是根据一个方面,示出了在用于实现系统虚拟机的计算设备上,与以两个阶段来分配存储器相关联的数据流的存储器架构和消息流图。
[0026]图8A是示出了重新分配混合存储器的不同部分之间的存储器的方面方法的处理流程图。
[0027]图SB是示出了与重新安排混合存储器的不同部分之间的存储器相关联的转换的存储器地址示图。
[0028]图9是示出了适于实现各个方面的移动设备的组件框图。
[0029]图10是示出了适于实现各个方面的另一种移动设备的组件框图。
【具体实施方式】
[0030]现在参照附图来详细地描述各个方面。在可能的地方,将贯穿附图使用相同的附图标记来指代相同或者类似的部件。对具体例子和实现的引用是出于说明的目的,而不是旨在限制本发明或者权利要求的保护范围。
[0031]本文中所使用的“示例性的”一词意味着“用作例子、实例或说明”。本文中描述为“示例性”的任何实现不必解释为比其它实现更优选或更具优势。
[0032]本文中互换地使用术语“移动设备”和“计算设备”,来指代下面中的任何一种或全部:蜂窝电话、智能电话、个人或移动多媒体播放器、个人数据助理(PDA)、膝上型计算机、平板计算机、智能本、掌上型计算机、无线电子邮件接收机、具备多媒体互联网能力的蜂窝电话、无线游戏控制器、以及包括可编程处理器和存储器并在电池供电情形下进行操作,使得省电方法有益的类似的个人电子设备。虽然各个实施例在移动设备(例如,具有有限的处理功率和电池容量的蜂窝电话)中是特别有用的,但这些方面通常在可以从改进的处理器性能和减少的能量消耗来获益的任何计算设备中也是有用的。
[0033]本文中通常使用术语“监控代理”来指代支持虚拟化技术和/或实现计算资源的抽象(或虚拟化)的任何硬件组件或软件,其包括下面各项中的任何一项或全部:硬件监控器、在芯片上制造的专用硬件、管理程序、虚拟机监控器、在高级操作系统(HLOS)之外运行的监控软件、以及运行作为设备驱动器的一部分的软件监控器,所述软件监控器可以位于HL0S、其存储器管理系统和/或其分配器功能之外。
[0034]本文中通常使用术语“硬件加速器”来指代被配置为执行通用中央处理单元(CPU)的一个或多个专用功能的任何硬件组件,或者这些功能传统上或者历史上由CPU来执行。硬件加速器的例子包括:图形处理单元(GPU)、图形加速器(例如,比特-块转换单元、视频或图形卡等)、浮点加速器(例如,数学协处理器等)、正则表达式加速器、数字信号处理器(DSP)、调制解调器处理器、矢量协处理器、数据控制器、存储器控制器、系统控制器、定时器、以及用于支持CPU或者运行在计算设备上的客户端软件应用的其它类似硬件组件。
[0035]各个方面还可以用于支持在计算设备上运行的任何要求苛刻的、处理密集型、数据密集型或者功率密集型软件应用或进程(其统一称为“苛刻进程(demandingprocess)”)。苛刻进程的例子包括产生视频输出的软件应用,并且因此必须对存储器之内和之外的大量视频数据(例如,视频播放器应用、流式视频应用、多媒体应用、虚拟现实应用和增强现实应用、游戏应用、计算机视觉应用、视频会议应用、手势识别应用、语音识别应用等等)进行处理。苛刻进程还可以包括针对其没有专用硬件、并因此在中央处理单元(CPU)中完成处理的任何处理器密集型和/或数据密集型处理。苛刻进程还可以包括需要来自外围设备(例如,硬件加速器)的处理的任何进程。
[0036]现代移动计算设备可以包括多个不相连(disjointed)的存储器部分和/或不同类型的存储器。这些不同的存储器类型/部分中的每一个,可能具有与写速度(例如,将数据写入该存储器所需要的时间)、时延、访问时间(例如,读取访问时间)、安全性、可靠性、功耗等等有关的不同性能特性。这些特性可能在执行速度和功耗方面显著地影响移动设备性能。本文中将异构存储器系统和/或具有多个部分或组件(其具有不同的性能特性)的存储器系统称为“混合存储器”。
[0037]存储器交织是一种通过允许处理单元(例如,移动设备CPU)同时地访问多个组块的存储器,来增加存储器带宽的先进的存储器组织技术。一种存储器交织方案可以将系统存储器划分成多个块,使得可以经由不同的控制线或信道来访问存储器的每一个块。每一个控制线/信道可以与其它的控制线/信道在相同的时间传输数据。因此,实现存储器交织方案的移动计算设备的处理单元,可以同时地在第一信道上发出对存储器的第一块的第一读或写操作,并且在第二信道上发出对存储器的另一个块的第二读或写操作。由于处理单元在执行第二操作之前,不需要等待第一操作的完成,因此与非交织的存储器相比,处理单元可以更快速地访问交织的存储器。
[0038]混合存储器可以包括交织的存储器和非交织的存储器二者。在一个方面,交织的存储器部件/部分可以是快速存储器部分,而非交织的存储器部件/部分可以慢速存储器部分。在一个方面,交织的存储器部分可以是高性能存储器部分。在一个方面,非交织的存储器部分可以是节能存储器部分。
[0039]混合存储器和/或存储器部件/部分还可以包括任意数量的不同类型的存储器技术,其包括相变存储器(PCM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、非易失性随机存取存储器(NVRAM)、伪静态随机存取存储器(PSRAM)、双倍数据速率同步动态随机存取存储器(DDR SDRAM)、以及本领域已知的其它随机存取存储器(RAM)和只读存储器(ROM)技术。在一个方面,混合存储器可以包括PCM存储器部分和DRAM存储器部分。在一个方面,PCM存储器部分可以是高时延和/或低功率存储器部分。在一个方面,DRAM存储器部分可以是低时延和/或高功率存储器部分。
[0040]近年来,移动计算设备架构在复杂度方面已经增加,并且现在其可能包括多个处理器和混合存储器。在复杂度增加的情况下,需要新的存储器管理解决方案,以优化计算设备性能和功耗。例如,当向混合存储器中的不同单元分配数据时,现有的存储器管理系统不能高效地考虑混合存储器的各个存储器部分的特定特性。因此,现有的存储器管理系统不能充分利用混合存储器特性来提高计算设备
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1