当前位置: 首页 > 专利查询>微软公司专利>正文

高效高速缓存管理制造技术

技术编号:7522160 阅读:136 留言:0更新日期:2012-07-12 03:25
一种管理计算设备的存储器的方法,包括提供可被分配为高速缓存存储器或可由计算设备组件使用的第一存储器。响应于高速缓存未中,第一存储器段可被分配为高速缓存存储器。通过响应于后续的高速缓存未中将额外的第一存储器段分配为高速缓存存储器,可动态地增大高速缓存大小。通过重新分配第一存储器高速缓存段以供计算设备组件使用,可动态地减小高速缓存存储器大小。高速缓存存储器可以是计算设备可访问的第二存储器的高速缓存。计算设备可以是移动设备。第一存储器可以是嵌入式存储器,第二存储器可包括嵌入式、可移动或外部存储器,或其任意组合。高速缓存存储器的最大大小随第一存储器的大小缩放。

【技术实现步骤摘要】

本专利技术涉及计算设备中的存储器管理,尤其涉及可被动态地被分配为高速缓存存储器以及可被计算设备组件使用的存储器的管理。
技术介绍
通过提供对设备内的或设备可访问的较大、较慢的存储器的改善的访问时间,高速缓存存储器可改善计算设备的总体性能。然而,由于高速缓存存储器通常小于存储器分层结构中较低层的存储器,其无法保持这样的较低层存储器的全部内容的副本。因此,由于改善的存储器访问时间而获得的性能增益被将较低层存储器段换入和换出高速缓存存储器所需的开销抵消。一般而言,由于高速缓存存储器是专用的存储器组件(例如,一个或多个专用的存储器芯片或模块),或者由于存储器空间一固定部分被指定为高速缓存存储器,高速缓存存储器大小是固定的。增加高速缓存存储器大小能减小高速缓存加载和写回操作发生的频率,而且在增大的高速缓存大小情况下高速缓存的未中率一般会下降。然而,一旦用较低层存储器内容填充高速缓存存储器,高速缓存一般就无法提供附加的存储器系统性能改进。 如果固定的高速缓存存储器大小非常大,那么未使用的高速缓存对其他系统组件是不可用的,而且会被浪费。由此,需要更高效地使用高速缓存存储器,例如不限制其他系统组件,但是当需要时允许充足的高速缓存。
技术实现思路
此处公开了存储器管理方法,提供了计算设备中可动态地改变大小的高速缓存, 可响应于高速缓存未中而自动扩大并响应于设备组件的存储器分配请求而收缩。在一个实施例中,计算设备的第一存储器(例如,计算设备的存储器分层结构内较高等级的存储器)可被分配为第二存储器(例如,在存储器分层结构中低于第一存储器的存储器等级)的高速缓存存储器,或被应用程序或计算设备的其他组件使用。例如,蜂窝电话中的嵌入式RAM可被分配为可移动非易失性闪存卡的高速缓存存储器。当执行在蜂窝电话上的应用程序请求对存储卡的读/写访问时,如果未使用的RAM是可用的,电话可响应于高速缓存未中而动态地扩大分配为高速缓存的那部分RAM。高速缓存可响应于每一高速缓存未中而增大,并可增大以填充任何未使用的RAM。如果应用程序请求RAM的一部分被分配来供该应用程序使用,并且高速缓存已经消耗了 RAM中全部可用的空闲存储器,那么电话可重新分配高速缓存的一部分来供该应用程序使用。因此,高速缓存大小可响应于存储器分配请求而收缩。因而,高速缓存被认为是未使用的存储器,因此并不减少对应用程序和计算设备的其他组件可用的存储器数量,而不管高速缓存的大小。高速缓存的大小随第一存储器的大小而缩放。例如,如果嵌入式RAM的大小因添加更多存储器组件而增大,那么高速缓存的最大可能大小可相应地增大。参考附图阅读以下详细描述,将更清楚本专利技术的前述和其他目标、特征和优点。 附图说明图1是示例性移动设备的框图。图2是其中可操作图1的示例性移动设备的云计算环境的框图。图3是移动设备的示例性存储系统的框图。图4(a)_4(j)示出了移动设备中的示例性第一存储器的存储器图以及各种存储器操作执行后第一存储器中已使用的和未使用的存储器数量。图5是动态地增大在计算设备的第一存储器内分配的高速缓存存储器大小的第一示例性方法的流程图。图6是动态地增大在计算设备的第一存储器内分配的高速缓存存储器大小的第二示例性方法的流程图。具体实施例方式如在本申请和权利要求书中使用的,单数形式“一”、“一个”、和“该”包括复数形式,除非上下文清楚地另外指明。类似地,措词“或”旨在包括“和”,除非上下文清楚地指示其它情况。术语“包括”意味着“包含”,因此“包括A或B”意味着包含A或B以及一起包含A和B。另外,术语“包括”意味着“开放性包含”。进一步地,对存储器的“一部分”的引用可指向整个存储器或小于整个存储器。此外,术语“存储器段”意味着存储器的任何大小的一部分,并可指向存储器块或页。此外,由措词“基本上”修饰的术语包括与未被修饰的术语略微不同的量或数量。例如,其中“基本上全部”存储器已被非配为高速缓存存储器的存储器可包括相对少量的未被分配为高速缓存存储器的存储器。例如,这样的存储器可包括太小而不能响应于高速缓存未中被分配为高速缓存存储器的段。未分配为高速缓存存储器的数量可以是比特、千字节或者甚至兆字节的数量级,可以在单独的存储器段中,也可以放在一起。此外,术语“分配”和“重新分配”都指的是指定存储器的一部分来针对不同的用途,而且就这一点而言是互换地使用的。图1是可用于执行本文中所描述的任何方法的示例性移动设备100的框图。移动设备100可以是诸如智能手机、膝上型计算机、平板计算机或上网本计算机之类的任何移动计算设备。移动设备100可包括各种可任选的硬件和软件组件105。该移动设备100中的任何组件105可与任何其他组件通信,尽管出于容易例示的目的,未示出所有组件。所示移动设备100可包括用于执行如信号编码、数据处理、输入/输出处理、电源控制和/或其他功能等任务的控制器或处理器110(例如,信号处理器、微处理器、ASIC、或其他控制和处理逻辑电路或软件)。操作系统112可控制对组件105的分配和使用,并支持一个或多个应用程序114。应用程序可包括公共移动计算应用程序(例如,电子邮件应用程序、日历、联系人管理器、web浏览器、消息接发应用程序)、或任何其他计算应用。所示移动设备100可包括存储器120。存储器120可包括不可移动存储器122和 /或可移动存储器124。不可移动或嵌入式存储器122可包括RAM、ROM、闪存、硬盘驱动器、 或其他众所周知的存储器存储技术。可移动存储器1 可包括闪存卡(例如,SD(安全数字)卡、miniSD卡、microSD卡、SDHC(高容量SD)卡或SD)(C(扩展容量SD)卡)、记忆棒、订户身份模块(SIM)卡——其在GSM(全球移动通信)系统中是众所周知的,或者其他众所周知的存储器存储技术,诸如“智能卡”。存储器120可用于存储数据和/或用于运行操作系统112和应用程序114的代码。示例数据可包括可由移动计算设备100经由一个或多个有线或无线网络发送给一个或多个网络服务器或其他设备或者从其接收的网页、文本、图像、 声音文件、视频数据或其他数据集。存储器120可用于存储诸如国际移动订户身份(IMSI) 等订户标识符,以及诸如国际移动设备标识符(IMEI)等设备标识符。这些标识符可被传送给网络服务器以标识用户和装备。移动设备120也可访问外部存储器1 ——其可包括例如外部硬盘驱动器或移动设备120通过有线或无线网络连接可访问的任何存储器存储。存储器120的任何部分都可被移动设备100利用为高速缓存存储器。移动设备100可支持诸如触摸屏132、话筒134、照相机136、物理键盘138、和/或轨迹球139等一个或多个输入设备130,以及诸如扬声器142和显示器144等一个或多个输出设备140。其他可能的输出设备(未示出)可包括压电或其他触觉输出设备。一些设备可服务超过一个输入/输出功能。例如,触摸屏132和显示器144可被组合在单个输入 /输出设备中。输入设备130或输出设备140中的任一个可内置或外置于移动设备100。无线调制解调器160可被耦合到无线调制解调器天线162,并可支持移动设备100 和外部设备之间的双向通信,如本领域中清楚理解的。调制解调器160和天线1本文档来自技高网...

【技术保护点】

【技术特征摘要】
...

【专利技术属性】
技术研发人员:BM·赫西A·M·罗杰斯
申请(专利权)人:微软公司
类型:发明
国别省市:

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

1
相关领域技术