修改的存储器压缩制造技术

技术编号:13902361 阅读:111 留言:0更新日期:2016-10-25 21:57
来自程序进程的工作集的一组存储页面——诸如已被修改的存储页面中的至少一些存储页面——在被写到页面文件之前被压缩到压缩存储库中,在此之后这些存储页面可以由存储器管理器赋予新用途。压缩存储库由多个存储页面构成,并且压缩存储库存储页面在被写到页面文件之后可以由存储器管理器赋予新用途。之后的来自存储器管理器的对于已被压缩到压缩存储库中的存储页面的请求通过以下方式满足:访问压缩存储库存储页面(包括如果压缩存储库存储页面被写到页面文件,则从页面文件中检索它们),将所请求的存储页面解压缩,并且将所请求的存储页面返还给存储器管理器。

【技术实现步骤摘要】
【国外来华专利技术】
技术介绍
随着计算机技术的发展,计算机处理器的性能增强。然而,这样的计算机处理器的性能有时被计算机中的其他瓶颈所阻碍。例如,从硬盘驱动机到随机存取存储器(RAM)的数据传送的速度是计算机性能中的瓶颈。一种减小计算机中瓶颈的影响的方式是在RAM中存储更多数据。然而,RAM的成本依然足够高,以致在计算机中使用非常大量的RAM典型地是成本太过高昂的。
技术实现思路
提供本概要来以简化的形式介绍概念的选择,这些概念将在以下的详细说明中进一步描述。本概要既不打算标识所要求保护的主题的关键特征或必要特征,也不打算用来限制所要求保护的主题的范围。按照一个或者多个方面,标识已经被修改的第一组存储页面。将第一组存储页面压缩到由第二组存储页面构成的压缩存储库(compressed store)中。在第一组存储页面已经被压缩到压缩存储库中之后,允许存储器管理器为该第一组存储页面赋予新用途。另外,将第二组存储页面写出到页面文件,而不是将第一组存储页面写出到页面文件。按照一个或者多个方面,计算设备包括存储器、被配置成管理存储器的页面的存储器管理器、以及压缩存储库管理器。压缩存储库管理器被配置成将已经被进程修改的第一组存储页面压缩到与该进程相关联的压缩存储库中,压缩存储库由第二组存储页面构成。压缩存储库管理器被进一步配置成在存储页面已经被压缩到压缩存储库中之后,针对第一组存储页面中的每个存储页面,允许存储器管理器为该存储页面赋予新用途,以及在不存在将第一组存储页面写出到页面文件的情况下,将第二组存储页面写出到页面文件。附图说明贯穿附图使用相同的数字引用同样的特征。图1图示按照一个或者多个实施例的、采用已修改的存储器压缩的示例性系统。图2图示按照一个或者多个实施例的存储页面的示例性生命周期。图3图示按照一个或者多个实施例的分页存储器的示例性记录。图4图示按照一个或者多个实施例的压缩存储页面的示例。图5是图示了按照一个或者多个实施例的、用于压缩存储页面的示例性过程的流程图。图6是图示了按照一个或者多个实施例的、用于检索已压缩存储页面的示例性过程的流程图。图7图示按照一个或者多个实施例的示例性存储页面图。图8图示按照一个或者多个实施例的示例性区域图。图9显示按照一个或者多个实施例的将工作集(wording set)换出(out-swapping)的示例。图10是图示了按照一个或者多个实施例的、用于将工作集换出的示例性过程的流程图。图11是图示了按照一个或者多个实施例的、用于将工作集换入(in-swapping)的示例性过程的流程图。图12图示包括示例性计算设备的示例性系统,所述示例性计算设备代表可实施本文描述的各种技术的一个或者多个系统和/或设备。具体实施方式本文讨论了已修改的存储器压缩。在系统中的存储器由被称为存储页面(或者简单称为页面)的多个块或者部分构成。来自程序的工作集的一组存储页面,诸如已被修改的该工作集中的存储页面中的至少一些存储页面,在被写到页面文件之前被压缩到压缩存储库中。存储页面可以在被压缩到压缩存储库之后由存储器管理器赋予新用途,而不管压缩存储库是否已经写到页面文件。压缩存储库其自身由多个存储页面构成,并且压缩存储库存储页面可以在其被写到页面文件之后由存储器管理器赋予新用途。之后的来自存储器管理器的对于已被压缩到压缩存储库中的存储页面的请求通过以下方式满足:访问压缩存储库存储页面(包括如果所述压缩存储库存储页面被写到页面文件,则从页面文件中检索它们),将所请求的存储页面解压缩,并且将所请求的存储页面返还给存储器管理器。附加地,在诸如当程序暂停时的某些情形中,存储页面的工作集被换出。将存储页面工作集换出包括标识在该程序进程的工作集中的存储页面的列表,压缩所标识的存储页面,并且以顺序次序通过已标识存储页面的虚拟存储器地址将经压缩的已标识存储页面写到压缩存储库。在页面文件中为压缩存储库预留空间,并且将压缩存储库写出到页面文件中的该预留空间。响应于之后确定要恢复该程序,将用于该程序的存储页面工作集换入。换入存储页面的工作集包括从页面文件中检索压缩存储库,并且将压缩存储库存储在一组压缩存储库存储页面中。将压缩存储库存储页面解压缩,并且将其返还给存储器管理器以便包括在该程序的工作集中。图1图示按照一个或者多个实施例的、采用已修改的存储器压缩的示例系统100。系统100包括存储器管理器102、压缩存储库管理器104和分页存储器106。一般地,存储器管理器102管理分页存储器106中的数据的存储。存储器管理器102将分页存储器106的一些部分分配给系统100中的各种程序108。在本文中,程序108在运行时也被称为进程(其是运行中的程序108的实例),所以被分配给程序108的分页存储器106的部分也被称为被分配给程序108的进程。被分配给进程的页面由该进程拥有,或者专用于该进程,并被该进程使用且不被其他进程使用(并且因此也被称为私有页面)。程序108可以是应用、操作系统程序、或者其他组件或模块。存储器管理器102从这些程序108接收关于从分页存储器106检索数据和关于将数据写到分页存储器106的请求。分页存储器106可以例如是任何类型的CPU(中央处理单元)可寻址的存储器,诸如易失性存储器(例如,RAM)或者非易失性存储器(例如,闪速存储器)。存储器管理器102还将分页存储器106的一个或者多个部分分配给压缩存储库管理器104。虽然分开图示,但是压缩存储库管理器104被视为用于分配存储页面目的的程序108。压缩存储库管理器104生成一个或者多个用于以压缩形式存储数据的压缩存储库110,例如为每个程序108生成一个压缩存储库110。系统100还包括页面文件112,其是在可以存储存储页面的存储设备上的文件。其上存储页面文件112的存储设备是系统100中的次级存储设备,并且在一个或者多个实施例中,其具有较低的读/写次数,但是它比分页存储器106具有更大的存储容量。存储页面文件112的存储设备可以例如是闪速存储器(例如,固态盘(SSD))或者磁盘。虽然在图1中图示了单个页面文件112,但是应该指出,可以在系统100中包括多个页面文件。存储器管理器102使用分页来管理分页存储器106。存储器管理器102将存储器106(例如,RAM)组织成页面,其是数据的特定(例如,固定)大小单位。分页的动作指的是当数据不在存储器106中时,以页面为单位从后备文件(backing file)(其是系统100中的页面文件112)读取数据。分页的动作还指的是以页面为单位将脏的(已修改的)数据写回到页面文件112中。存储页面因此也被称为后备页面文件的存储页面。这样的分页技术是本领域技术人员熟知的。存储器管理器102包括存储器控制器114,其操作来实行存储器管理器102的功能性,以及包括页面表116,其记录关于分页存储器106的存储页面的各种信息。页面表116包括指示在任何给定时间存储页面被存储在哪里的信息。如以下更详细讨论的,存储页面典型地被存储在物理存储器(分页存储器106)中或者压缩存储库110(其自身可以被存储在物理存储器或者页面文件112中)中,但是在一些情形中,未压缩的存储页面可以被存储在页面文件112中。对于存储在物理存储器中的存储页面,存储器本文档来自技高网...

【技术保护点】
一种用来增大可用于分配给计算设备中的程序的存储器量的计算机实施的方法,所述方法包括:标识已经被修改的第一组存储页面;将第一组存储页面压缩到由第二组存储页面构成的压缩存储库中;在第一组存储页面已经被压缩到所述压缩存储库中之后,允许存储器管理器为该第一组存储页面赋予新用途;以及将第二组存储页面写出到页面文件,而不是将第一组存储页面写出到页面文件。

【技术特征摘要】
【国外来华专利技术】2014.02.21 US 14/1870311.一种用来增大可用于分配给计算设备中的程序的存储器量的计算机实施的方法,所述方法包括:标识已经被修改的第一组存储页面;将第一组存储页面压缩到由第二组存储页面构成的压缩存储库中;在第一组存储页面已经被压缩到所述压缩存储库中之后,允许存储器管理器为该第一组存储页面赋予新用途;以及将第二组存储页面写出到页面文件,而不是将第一组存储页面写出到页面文件。2.如权利要求1中记载的方法,进一步包括在第二组存储页面已经被写到页面文件之后,允许所述存储器管理器为第二组存储页面赋予新用途。3.如权利要求1中记载的方法,第一组存储页面已经被分配给程序的进程,而压缩存储库仅与所述程序的所述进程相关联。4.如权利要求3中记载的方法,进一步包括响应于确定换出所述进程的存储页面而:标识在所述进程的工作集中的存储页面的列表;将所标识的存储页面压缩;将已压缩的所标识的存储页面以顺序次序、通过所标识的存储页面的虚拟存储器地址写到所述压缩存储库;在页面文件中为所述压缩存储库预留空间;以及将所述压缩存储库写出到页面文件中的该预留空间。5.如权利要求4中记载的方法,进一步包括响应于在换出所述进程的存储页面之后确定换入所述进程的所述存储页面而:从所述页面文件检索所述压缩存储库;将所检索的压缩存储库存储到第三组存储页面中;将第三组存储页面中的已压缩存储页面解压缩;以及返还解压缩的存储页面以便包括在所述进程的工作集中。6.如权利要求1中记载的方法,进一步包括在第一组存储页面已经被压缩之后确保在返还第一组存储页面中的向前进行,而不管第二组存储页面是已经被写到页面文件还...

【专利技术属性】
技术研发人员:YM巴克M伊冈L王AU基尚
申请(专利权)人:微软技术许可有限责任公司
类型:发明
国别省市:美国;US

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

1