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

组合具有相同内容的存储器页面制造技术

技术编号:7843197 阅读:166 留言:0更新日期:2012-10-13 01:35
在具有作为多个页面被访问的存储器的设备中,具有相同内容的多个页面中两个或更多页面被识别。当两个或更多页面被识别时,运行在设备上的其他进程被允许使用所述两个或更多页面,包括被允许改变所述两个或更多页面中每一个的高速缓存属性。所述两个或更多页面被组合为单个组合页面(例如多个页面的新分配页面);以及具有指向多个页面的多个条目的进程页面记录被更新,以使得先前指向两个或更多页面之一的条目改为指向所述单个页面。

【技术实现步骤摘要】
组合具有相同内容的存储器页面
本公开涉及计算机
,尤其涉及访问作为多个页面的存储器的技术。
技术介绍
计算机已经变得越来越普遍,用户希望在他们的计算机上运行越来越多的各种程序。增加在计算机上运行的程序的数量将可能成为问题,因为这可能导致诸如可获得的存储器之类计算机资源出现紧张的状况。这种资源的紧张可能导致计算机操作变慢或迟钝,降低计算机的用户友好性。
技术实现思路
提供这个
技术实现思路
来以简化形式介绍在下面的详细描述部分中进一步描述的概念选集。这个
技术实现思路
并不旨在标识所要求保护主题的关键特征或必要特征,也并不旨在用来限定所要求保护的主题的范围。根据一个或更多方面,在具有作为多个页面被访问的存储器的设备中,所述多个页面中具有相同内容的两个或更多页面被识别。当所述两个或更多页面被识别出,设备中运行的其他进程被允许使用所述两个或更多页面,包括被允许改变两个或更多页面中每个的高速缓存属性。所述两个或更多页面被组合为单个组合页面,具有指向所述多个页面的多个条目的进程页面记录被更新,这样之前指向所述两个或更多页面之一的条目改为指向单个页面。根据一个或更多方面,在具有作为多个页面被访问的存储器的设备中,所述多个页面中具有相同内容的两个或更多页面被识别。所述多个页面的新页面被分配,新页面具有与所述两个或更多页面相同的内容。具有识别所述多个页面的多个条目的进程页面记录被更新,这样之前指向所述两个或更多页面之一的条目改为指向新页面。附图说明在所有附图中相同的数字用于表示相似的特征。图1示出了根据一个或更多实施方式实现组合具有相同内容的存储器页面的示例系统。图2示出了根据一个或更多实施方式包含实现组合具有相同内容的存储器页面的组件的示例系统。图3是示出了根据一个或更多实施方式用于组合及分离存储器页面的示例过程的流程图。图4是示出了根据一个或更多实施方式用于组合具有相同内容的存储器页面的示例过程的流程图。图5示出了根据一个或更多实施方式能够被配置用于实现组合具有相同内容的存储器页面的示例计算设备。具体实施方式此处讨论具有相同内容的存储器页面的组合。一组策略被用来确定分析设备的物理存储器页面的时间,以便于识别具有相同内容的物理存储器页面。在该分析期间允许其他进程使用存储器页面。如果多个存储器页面具有相同内容,则所述多个存储器页面被组合为单个存储器页面,并且适当的进程页面表格条目(或其他记录条目)被更新以指向该单个存储器页面。如果进程随后写入单个存储器页面,那么新页面被分配给该进程并且适当的进程页面表格条目被更新,使得用于所述进程的条目被指向新页面而不是指向组合页面。图1示出了根据一个或更多实施方式实现组合具有相同内容的存储器页面的示例系统100。系统100包含存储器管理器102,物理存储器104,进程页面记录106以及存储设备108。系统100可以由多种不同类型的设备实现。例如,系统100可以由台式机,服务器计算机,膝上或笔记本计算机,平板电脑或记事本计算机,移动站,娱乐设备,与显示设备、电视或其他显示设备可通信地耦合的机顶盒,蜂窝或其他无线电话,游戏控制台、汽车用计算机等等来实现。物理存储器104是在系统100中物理地存在的一个或更多存储器组件(例如存储器芯片)。物理存储器104可以由各种不同类型的存储器组件构成,诸如随机存取存储器(RAM),闪存存储器等等。物理存储器104以被称为页面112的存储器块的形式被组织或访问。多个页面112在物理存储器104中示出,每个页面112包含特定数量的物理存储器(例如特定数量的物理存储器的字节),称为页面大小。每个页面112典型地具有相同大小,尽管根据实现页面112的大小可以不同。存储器管理器102为系统100管理物理存储器104。系统100中的各种不同进程(例如正在运行的应用或程序)可以请求存储器页面。存储器管理器102响应于所述请求,分配存储器页面给请求的进程。存储器管理器102还可以实现虚拟存储器空间,其中进程所引用的存储器地址是由存储器管理器102映射到物理存储器104中特定地址的虚拟地址。不同的页面112可以被分配给不同的进程,存储器管理器102维护用于识别在各种不同时间哪些页面112被分配给哪些进程的进程页面记录106。可替换地,该进程页面记录还可以是一个或更多进程页面表格和/或其他数据结构。存储设备108可以是各种不同类型的存储设备,诸如一个或更多磁盘,一个或更多光盘,闪存存储器及其组合,等等。存储器管理器102可以可选地实现分页功能,其中在当前未被系统100中的进程使用时,页面112可以被传送到存储设备108,并在系统100中的进程想要使用这种页面112时传送回物理存储器104。存储设备108典型地是比物理存储器104慢的设备,但是更大。因此,存储设备108典型地可以比物理存储器104存储更多的页面112,但是相比于从物理存储器104检索,存储器管理器102典型地花费更多的时间来从存储设备108检索页面112。存储器管理器102还包含页面组合模块114。可以发生不同的页面112具有相同内容的情形(存储在那些页面的物理存储器组件中的数据是相同的)。这些不同页面112可以包含分配给相同进程的页面以及分配给不同进程的页面。页面组合模块114分析页面112,识别具有相同内容的多个页面112并将那些多个页面112组合到单个页面112中。页面组合模块114还更新进程页面记录106的适当条目,以使得先前指向所述多个页面112之一的条目改为指向组合页面。这些由页面组合模块114执行的识别、组合以及更新在这里还被称为页面组合过程。如果进程随后尝试写入组合页面,存储器管理器102为该进程分配新页面112,将进程页面记录106的适当条目更新为指向这个新页面112而不是组合页面,并允许进程写入该新页面112。此处的讨论涉及组合具有相同内容的存储器的页面。根据系统100被实现或设计的方式,一些页面可以是可组合的,而其他页面是不可组合的。此处讨论的组合具有相同内容的存储器页面的技术基于可组合的页面而操作,不组合那些不可组合的页面。在不同的实施方式中,各种不同类型的页面可以是可组合的,诸如用户模式进程页面,内核模式进程页面,会话空间页面,等等。此外,各种不同状态的页面可以是可组合的,诸如标记为污染(dirty)的页面,标记为洁净(clean)的页面,包含在页面工作组中的页面,包含在各种存储器列表上的页面(例如,备用、修改等),等等。图2示出了根据一个或更多实施方式包含实现组合具有相同内容的存储器页面的组件的示例系统200。系统200包括存储器管理器202,其可以是图1的存储器管理器102。系统200还包括页面组合策略模块204,一个或更多进程206以及一个或更多进程208。存储器管理器202管理物理存储器,诸如图1的物理存储器104的页面112。存储器管理器202包括页面组合模块212,管理模块214,分配模块216和页面信息记录218。页面组合模块212可以是图1的页面组合模块114,如下面将要详细讨论的,它管理具有相同内容的物理页面的组合。分配模块216管理分配或指派物理存储器的特定页面至不同的进程206和/或208。当分配给每个进程206和/或208时,指向这些页面的指针被维护在一个本文档来自技高网...
组合具有相同内容的存储器页面

【技术保护点】

【技术特征摘要】
2011.03.21 US 13/0525621.一种在具有作为多个页面被访问的存储器的设备中的方法,该方法包括:识别具有相同内容的多个页面中两个或更多页面,所述相同内容至少包括具有相同页面保护的两个或更多页面,相同页面保护识别两个或更多页面可以如何被使用,包括读、写或执行中的至少一个,识别两个或更多页面至少包括为多个页面中的每一个生成校验值;当两个或更多页面被识别时,允许运行在设备上的其他进程使用所述两个或更多页面,包括允许其他进程改变两个或更多页面中每一个的高速缓存属性;组合两个或更多页面为单个组合页面;以及更新具有指向多个页面的多个条目的进程页面记录,以使得先前指向两个或更多页面之一的条目改为指向单个组合页面,在两个或更多页面被识别时其它进程不知道所述识别、组合和更新,所述进程页面记录至少包括多个页面中每一个的标识符,指示生成校验值何时被完成。2.如权利要求1所述的方法,所述允许包括:响应于在分析页面时接收到可能潜在导致存储器一致性或腐坏情形的请求,停止分析页面以确定该页面是否具有与多个页面中的一个或更多其他页面相同的内容;以及允许请求被执行。3.如权利要求1所述的方法,进一步包括响应于来自用户模式页面组合策略模块的分析多个页面的指示而执行识别、允许、组合和更新。4.如权利要求3所述的方法,用户模式页面组合策略模块至少部分基于用户模式页面组合策略模块监视的设备的各方面而生成指示。5.如权利要求1所述的方法,组合包括分配存储器的新页面作为单个组合页面,以及更新进程页面记录包括更新进程页面记录以使得先前指向两个或更多页面之一的每个条目改为指向新页面。6.如权利要求1所述的方法,所述校验值是循环冗余校验(CRC)值,识别包括:识别多个页面中具有匹配CRC值的页面,多个页面包含先前组合的页面,先前组合的页面包括已被传送至存储设备的一个或更多先前组合的页面;以及比较多个页面中具有匹配CRC值的页面,以确定哪些页面具有相同的内容,如果有的话。7.如权利要求1所述的方法,进一步包括,响应于来自其他进程之一的,向包含在所述两个或更多页面之一中的存储器地址写入的请求:分配存储器中的新页面;将单个组合页面的内容拷贝至新页面;以及更新进程页面记录,以使得对于从其接收到请求的进程,先前指向组合页面的条目改为指向新页面。8.一种具有作为多个页面被访问的存储器的计算设备,该计算设备包含:一个或更多处理器;以及一个或更多计算机可读媒体,具有存储于其上的计算机可执行指令,所述计算机可执行指令可以由一个或更多处理器执行以便执行包括如下操作的操作:识别具有相同内容的多个页面中两个或更多页面,所述相同内容至少包括具有相同页面保护的两个或更多页面,相同页面保护识别两个或更多页面可以如何被使用,包括读、写或执行中的至少一个,识别两个或更多页面至少包括为多个页面中的每一个生成校验值;在两个或更多页面被识别时,允许在该设备上运行的其它进程使用该两个或更多页面,包括允许其它进程改变两个或更多页面中每一个的高速缓存属性;将两个或更多页面组合成单个组合页面;以及更新具有指向多个页面的多个条目的进程页面记录,...

【专利技术属性】
技术研发人员:L王M伊根Y贝克V森达拉姆PL勒贝戴恩斯基
申请(专利权)人:微软公司
类型:发明
国别省市:

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

1