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

文档序号:8207708阅读:来源:国知局
-to_line)可变性。
[0086]在另外的方面,芯片或虚拟化软件可以被配置为:在混合存储器的不同部分之中对存储器进行重新安排或者重新分配。就速度和/或功耗而言,这种能力可以实现进一步的应用性能提升,而无需应用程序或者操作系统的知识或者参与。
[0087]图8A示出了在混合存储器的不同部分之中对存储器进行重新分配的方面方法800。在方框802,计算设备的芯片或虚拟化软件可以处于空闲状态。在方框804中,例如,可以响应于来自物理存储器的读/写请求,来激活该芯片或虚拟化软件。在方框806中,该芯片或虚拟化软件或虚拟化软件可以扫描混合存储器的各个部分,以识别和定位具有不同的特性的不同存储器部分。例如,芯片或虚拟化软件可以对存储器进行扫描,以识别快速存储器部分、更加节能部分、具有较高时延的部分等等。在方框808中,芯片或虚拟化软件可以对混合存储器进行整理(defragment),使得快速部分(或者更加节能部分等等)、对快速部分的引用、或者在快速部分中存储的信息彼此之间紧邻。在方框810中,芯片或虚拟化软件可以执行两阶段的地址转换过程的第二阶段。
[0088]图SB示出了计算系统850中的逻辑组件和转换,该计算系统850被配置为在混合存储器的不同部分之间对存储器进行重新安排或者重新分配。如上所述,在芯片或虚拟化软件中实现的知晓分离的第二阶段转换器,可以被配置为以智能方式来分发、分配和/或指派存储器。图8B示出了当知晓分离的第二阶段转换器处于空闲状态852时,混合存储器856的快速和慢速部分可能是遍布整个存储器856扰乱的。当知晓分离的第二阶段转换器处于活动状态854时,其可以在混合存储器858的不同部分之间对存储器进行重新安排或者重新分配,使得快速存储器部分彼此之间更加紧邻。
[0089]在包括一个或多个存储器管理单元(例如,系统MMU或SMMU)的计算系统上(其中,这些存储器管理单元被配置为提供地址转换服务),各个方面可以跟踪映射到任何外围MMU实例的存储器,以及防止这些存储器变成用于回收的候选。
[0090]适于与各个方面一起使用的典型移动设备900,将共有图9中所示出的组件。例如,示例性移动设备900可以包括处理器902,其耦合到内部存储器901、显示器904和扬声器964。另外,该移动设备可以具有天线924,其用于发送和接收耦合到处理器902的电磁辐射。在一些方面,移动设备900可以包括一个或多个专用或通用处理器905、924,这些处理器可以包括片上系统。典型地,移动设备还包括用于接收用户输入的键盘或微型键盘和菜单选择按键或者摇臂开关
[0091]其它形式的计算设备(例如,图10中所示出的膝上型计算机1000)也可以实现各个方面,并从这些方面中获益。类似于膝上型计算机1000的计算设备典型地包括耦合到内部存储器1001和显示器1009的处理器1002。另外,计算设备可以具有用于发送和接收信息的通信端口 1005。计算设备1008还可以包括用于接收用户输入的键盘1008和选择按键1007ο
[0092]实现各个方面的计算设备中所使用的处理器902、905、924、1002可以是任何可编程微处理器、微计算机或者多处理器芯片或芯片,它们可以通过处理器可执行软件指令(应用)来配置以执行各种功能(包括本文中所描述的各个方面的功能)。典型地,在访问软件应用和处理器可执行指令并将其装载到处理器902、905、924、1002之前,这些软件应用和处理器可执行指令可以存储在内部存储器901、1001中。在一些移动设备中,处理器902、905、924、1002可以包括足够用于存储应用软件指令的内部存储器。在一些移动设备中,安全存储器可以是耦合到处理器902、905、924、1002的单独存储器芯片。在很多移动设备中,内部存储器901、1001可以是易失性存储器或非易失性存储器(例如,闪存)或者二者的混合。出于描述的目的,对于存储器的一般引用,通常指的是处理器902、905、924、1002可以访问的所有存储器,其包括内部存储器、插入到移动设备之中的可移动存储器、以及处理器中的存储器。
[0093]上述的方法描述和处理流程图仅是被提供作为说明性例子,而不旨在要求或者隐含着必须以所呈现的顺序来执行各个方面的步骤。如本领域技术人员将理解的,可以以任何顺序来执行上述的方面中的步骤顺序。诸如“其后”、“随后”、“接着”等等之类的词语,并不旨在限制这些步骤的顺序;这些词语仅是用于引导读者遍历该方法的描述。此外,对权利要求要素的任何单数引用(例如,使用冠词“一(a)”、“一个(an)”或者“所述(the)”),不应被解释为将该要素限制为单数。
[0094]结合本文所公开的方面来描述的各种示例性的逻辑框、模块、电路和算法步骤均可以实现成电子硬件、计算机软件或二者的组合。为了清楚地表示硬件和软件之间的这种可交换性,上面对各种示例性的组件、框、模块、电路和步骤均围绕其功能进行了总体描述。至于这种功能是实现成硬件还是实现成软件,取决于具体的应用和对整个系统所施加的设计约束条件。熟练的技术人员可以针对每个具体应用,以变通的方式实现所描述的功能,但是,这种实现决策不应解释为导致背离本发明的保护范围。
[0095]可以利用被设计为执行本文中所描述功能的通用处理器、数字信号处理器(DSP)、在多媒体广播接收器芯片内的DSP、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件或者其任意组合,来实现或执行结合本文中所公开的方面所来描述的各种示例性的逻辑、逻辑框、模块和电路。通用处理器可以是微处理器,或者,该处理器也可以是任何常规的处理器、控制器、微控制器或者状态机。处理器还可以实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器与DSP内核的结合,或者任何其它此种结构。替代地,一些步骤或方法可以由特定于给定的功能的电路来执行。
[0096]在一个或多个示例性方面,所描述的功能可以在硬件、软件、固件或其任意组合中实现。如果在软件中实现,则可以将这些功能存储为非临时性计算机可读介质或非临时性处理器可读介质上的一个或多个指令或代码。本文中所公开的方法或者算法的步骤可以体现在处理器可执行软件模块中,该处理器可执行模块可以位于非临时性计算机可读介质或非临时性处理器可读介质上。非临时性计算机可读介质或非临时性处理器可读介质可以是计算机或处理器能够存取的任何存储介质。通过示例的方式而不是限制的方式,这种非临时性计算机可读介质或非临时性处理器可读介质可以包括RAM、ROM、EEPR0M、闪存(FLASH)CD-ROM或其它光盘存储器、磁盘存储器或其它磁存储设备、或者能够用于存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质。如本文中所使用的,磁盘和光盘包括压缩光盘(CD)、激光光盘、光盘、数字通用光盘(DVD)、软盘和蓝光光盘,其中磁盘通常磁性地复制数据,而光盘则用激光来光学地复制数据。上述的组合也应当包括在非临时性计算机可读介质和处理器可读介质的保护范围之内。另外,方法或算法的操作可以作为位于非临时性处理器可读介质和/或计算机可读介质上的代码和/或指令的一个组合或任意组合或者集合,该非临时性处理器可读介质和/或计算机可读介质可以并入到计算机程序产品中。
[0097]为使本领域任何技术人员能够实现或者使用本发明,提供了对所公开的实施例的之前描述。对于本领域技术人员来说,对这些实施例的各种修改将是显而易见的,并且,本文中定义的总体原理也可以在不脱离本发明的精神或保护范围的情况下适用于其它实施例。因此,本发明并不旨在限于本文中所示出的实施例,而是要符合与接下来的权利要求以及本文中所公开的原理和新颖性特征相一致的最广范围。
【主权项】
1.一种对具有存储器的计算系统上的存储器进行管理的方法,所述方法包括: 分配所述计算系统上的存储空间,其包括: 在监控代理中,将中间物理地址转换成物理地址,所述监控代理基于所述存储器的特性和所述计算系统的一个或多个进程的特性来分配所述物理地址。
2.根据权利要求1所述的方法,其中,分配所述计算系统上的存储空间包括:为软件进程分配存储空间。
3.根据权利要求1所述的方法,其中,分配所述计算系统上的存储空间包括:为硬件加速器分配存储空间。
4.根据权利要求1所述的方法,其中,分配所述计算系统上的存储空间包括:为软件进程和硬件加速器的组合分配存储空间。
5.根据权利要求1所述的方法,其中,在监控代理中,将中间物理地址转换成物理地址包括:在管理程序中,将所述中间物理地址转换成所述物理地址。
6.根据权利要求1所述的方法,其中,在监控代理中,将中间物理地址转换成物理地址包括:在所述计算系统的操作系统之外的监控软件中,将所述中间物理地址转换成所述物理地址。
7.根据权利要求1所述的方法,其中,在监控代理中,将中间物理地址转换成物理地址包括:在硬件层组件中,将所述中间物理地址转换成所述物理地址。
8.根据权利要求1所述的方法,其中,在监控代理中,将中间物理地址转换成物理地址包括:在运行作为设备驱动器的一部分的软件监控器中,将所述中间物理地址转换成所述物理地址。
9.根据权利要求1所述的方法,其中,分配所述计算系统上的存储空间还包括: 在操作系统中,将虚拟地址转换成所述中间物理地址。
10.根据权利要求1所述的方法,其中,所述存储器是混合存储器,并且基于所述存储器的特性和所述计算系统的一个或多个进程的特性来分配所述物理地址包括:基于所述混合存储器的特性来分配所述物理地址。
11.根据权利要求10所述的方法,其中,基于所述混合存储器的特性和一个或多个进程的所述特性来分配所述物理地址包括基于以下各项中的一项或多项来分配所述物理地址: 所述混合存储器的性能特性, 所述混合存储器的功耗特性,以及 所述混合存储器的时延特性。
12.根据权利要求10所述的方法,其中,基于所述混合存储器的特性和一个或多个进程的特性来分配所述物理地址包括:基于所述一个或多个进程的性能特性来分配所述物理地址。
13.根据权利要求10所述的方法,其中: 所述混合存储器包括两种或更多种类型的存储器技术;并且 基于所述混合存储器的特性和一个或多个进程的特性来分配所述物理地址包括:基于所述混合存储器中包括的存储器技术的所述类型来分配所述物理地址。
14.根据权利要求10所述的方法,还包括:确定所述计算系统何时进入低性能状态, 其中,基于所述混合存储器的特性和一个或多个进程的特性来分配所述物理地址包括:响应于确定所述计算系统进入低性能状态,将所述混合存储器的节能部分分配给在所述计算系统上运行的任何软件应用。
15.根据权利要求14所述的方法,还包括:确定所述计算系统何时退出所述低性能状态, 其中,基于所述混合存储器的特性和一个或多个进程的特性来分配所述物理地址包括:响应于确定不能向请求存储器的软件应用分配节能存储器,以及所述计算系统退出所述低性能状态,向所述应用重新分配所述混合存储器的较不节能部分。
16.根据权利要求10所述的方法,还包括: 确定所述一个或多个进程是否包括苛刻进程。
17.根据权利要求16所述的方法,其中,确定所述一个或多个进程是否包括苛刻进程包括确定所述一个或多个进程是否包括与以下各项中的一项或多项相关联的进程: 多媒体应用; 视频播放器应用; 流式视频应用; 虚拟现实应用; 增强现实应用; 游戏应用; 计算机视觉应用; 视频会议应用; 手势识别应用;以及 语音识别应用。
18.根据权利要求16所述的方法,其中,基于所述混合存储器的特性和一个或多个进程的特性来分配所述物理地址包括: 当确定所述一个或多个进程包括苛刻进程时,向与所述苛刻进程相关联的应用程序分配所述混合存储器的快速部分,以及向与另外的进程相关联的应用程序分配所述混合存储器的慢速部分。
19.根据权利要求16所述的方法,其中,基于所述混合存储器的特性和一个或多个进程的特性来分配所述物理地址包括: 当确定所述一个或多个进程包括苛刻进程时,向与所述苛刻进程相关联的硬件加速器分配所述混合存储器的快速部分,以及向与另外的进程相关联的硬件加速器分配所述混合存储器的慢速部分。
20.根据权利要求16所述的方法,还包括: 确定所述苛刻进程的存储器速度要求,其中,基于所述混合存储器的特性和一个或多个进程的特性来分配所述物理地址包括: 响应于确定所述苛刻进程的所述存储器速度要求高,向与所述苛刻进程相关联的应用程序分配所述混合存储器的快速部分,并且向与另外的进程相关联的应用程序分配所述混合存储器的慢速部分。
21.根据权利要求16所述的方法,还包括: 确定所述苛刻进程的存储器速度要求,其中,基于所述混合存储器的特性和一个或多个进程的特性来分配所述物理地址包括: 向与所述苛刻进程相关联的硬件加速器分配所述混合存储器的快速部分;以及 向与一个或多个其它进程相关联的一个或多个硬件加速器分配所述混合存储器的慢速部分。
22.根据权利要求16所述的方法,还包括: 确定是否能向所述苛刻进程分配节能存储器,其中,基于所述混合存储器的特性和一个或多个进程的特性来分配所述物理地址包括: 响应于确定能向所述苛刻进程分配节能存储器,向与所述苛刻进程相关联的应用程序分配所述混合存储器的节能部分;以及 响应于确定不能向所述苛刻进程分配节能存储器,向与所述苛刻进程相关联的应用程序分配所述混合存储器的较不节能部分。
23.一种计算设备,包括: 存储器;以及 处理器,其耦合到所述存储器,其中,所述处理器配置有处理器可执行指令,以执行包括以下各项的操作: 分配所述计算设备上的存储空间,其包括: 在监控代理进程中,将中间物理地址转换成物理地址,所述监控代理进程基于所述存储器的特性和所述计算设备上运行的一个或多个进程的特性来分配所述物理地址。
24.根据权利要求23所述的计算设备,其中,所述处理器配置有处理器可执行指令以执行操
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1