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

使用页面过滤器和系统MMU的硬件辅助存储器压缩管理技术方案

技术编号:15400253 阅读:198 留言:0更新日期:2017-05-24 08:47
提供了方法和系统以用于使用被设计为区分活动页面与不活动的页面(分别为“热”页面和“冷”页面)的基于硬件的页面过滤器来管理存储器,使得可以在发生页面错误之前对不活动的页面进行压缩。所述方法和系统设计为:实现较低成本、较长电池寿命、和较快用户响应。尽管用于存储器管理的现有方法基于像素或者帧缓冲区压缩,但是所提供的方法和系统集中于CPU的程序(例如,通用数据结构)。集中于用于使CPU降低负荷的硬件加速的存储器压缩转换较高功率效率(例如,ASIC功率比CPU低大约100倍)和较高性能(例如,ASIC比CPU快大约10倍),并且还允许硬件辅助的存储器管理分流OS/内核,这显著增加了响应时间。

Hardware assisted memory compression management using page filters and system MMU

Method and system is provided for use is designed to distinguish between active and inactive page page (the \hot\ and \cold\ page page page) filter based on hardware to manage memory, which can occur before the error on the active page page in compression. The method and system are designed to achieve lower cost, longer battery life, and faster user response. Although existing methods for memory management are based on pixel or frame buffer compression, the methods and systems provided are focused on CPU programs (for example, generic data structures). Focus on CPU to reduce the memory load of the hardware accelerated compression conversion with high power efficiency (for example, ASIC power is lower than that of CPU is about 100 times) and high performance (for example, ASIC is approximately 10 times faster than CPU), and also allows the hardware assisted memory management of OS/ kernel streaming, which significantly increased the response time.

【技术实现步骤摘要】
【国外来华专利技术】相关申请的交叉引用本申请要求2014年10月7日提交的美国临时专利申请序列号62/060,949的优先权,该公开的全部内容以引用的方式并入本文。
技术介绍
用于存储器压缩的现有手段通常将重点放在经常应用于GPU(图形处理器单元)、ISP(图像信号处理器)、视频、和/或显示流的像素/参考帧存储器压缩。虽然这样的技术能够实现一定程度的带宽减小,但是没有一种针对或者能够减少存储器占用。
技术实现思路

技术实现思路
按照简化的形式介绍了对概念的选择以提供对本公开的一些方面的基本理解。本
技术实现思路
不是本公开的广泛概述,并且不旨在标识本公开的关键或者重要元素或者记述本公开的范围。本
技术实现思路
仅呈现了本公开的概念中的一些以作为下面提供的具体实施方式的前序。本公开大体上涉及用于管理存储器的方法和系统。更具体地,本公开的方面涉及基于硬件的页面过滤器,其被设计为区分活动的页面与不活动的页面,并且在页面错误发生之前对不活动的页面进行压缩。本公开的一个实施例涉及一种用于存储器压缩管理的方法,包括:使用页面过滤器来确定虚拟存储器空间中的页面是不活动的;从对应的操作系统的页面表去除不活动的页面的工作存储器地址信息;确定在工作存储器中的位置以分配该不活动的页面的压缩信息;分配该不活动的页面的压缩存储器地址;利用该不活动的页面的压缩存储器地址来更新转换后备缓冲区;以及将压缩存储器地址写入压缩存储器。在另一实施例中,该用于存储器压缩管理的方法进一步包括:从对应的操作系统的页面表去除不活动的页面的对应页面表条目。在另一实施例中,该用于存储器压缩管理的方法进一步包括:引发操作系统的存储器管理单元的中断以分配在不活动的页面的压缩存储器中的地址。本公开的另一实施例涉及一种用于存储器压缩管理的系统,该系统包括至少一个处理器和耦合至该至少一个处理器的非暂时性计算机可读介质,该非暂时性计算机可读介质存储有指令,该指令在由该至少一个处理器执行时致使该至少一个处理器:使用硬件页面过滤器来确定虚拟存储器空间中的页面是不活动的;从对应的页面表去除不活动的页面的工作存储器地址信息;确定在工作存储器中的位置以分配该不活动的页面的压缩信息;分配该不活动的页面的压缩存储器地址;利用该不活动的页面的压缩存储器地址来更新关联高速缓存;以及将该不活动的页面的压缩存储器地址写入该压缩存储器。在另一实施例中,在用于存储器压缩管理的系统中的该至少一个处理器被进一步致使:从页面表去除该不活动的页面的对应页面表条目。在再一实施例中,在用于存储器压缩管理的系统中的该至少一个处理器被进一步致使:使用存储器管理单元利用该不活动的页面的压缩存储器地址来更新该关联高速缓存。在又一实施例中,在用于存储器压缩管理的系统中的该至少一个处理器被进一步致使:引发存储器管理单元的中断以分配在不活动的页面的压缩存储器中的地址。本公开的再一实施例涉及一种用于存储器压缩管理的方法,该方法包括:使用硬件页面过滤器来检测虚拟存储器空间中的不活动的页面;在页面错误之前对该不活动的页面进行压缩;以及向对应操作系统的内核提供关于所压缩的不活动页面的信息。在另一实施例中,该用于存储器压缩管理的方法进一步包括:在操作系统的页面表中,记录该虚拟存储器空间中的页面中的每一个的压缩存储器的起始物理地址。在再一实施例中,该用于存储器压缩管理的方法进一步包括:在该页面表中,记录虚拟存储器空间中的页面中的每一个的压缩信息。在又一实施例中,该用于存储器压缩管理的方法进一步包括:引发中断以利用关于所压缩的不活动页面的信息来更新内核中的页面表条目。在一个或者多个其它实施例中,本文描述的方法和系统可以可选地包括以下附加特征中一个或者多个:由操作系统的存储器管理单元利用不活动的页面的压缩存储器地址来更新转换后备缓冲区(例如,关联高速缓存);利用不活动的页面的压缩存储器地址来更新该转换后备缓冲区(或者关联高速缓存)以维持虚拟存储器、压缩存储器、和工作存储器之间的转换信息;页面过滤器基于页面的引用计数低于阈值计数来确定虚拟存储器空间中的页面是不活动的;页面过滤器基于在预定时间段期间页面的引用计数低于阈值计数来确定虚拟存储器空间中的页面是不活动的;和/或响应于容量逐出或者引用计数饱和而引发中断。本公开的适用性的进一步范围将根据下面给出的具体实施方式变得显而易见。然而,应当理解,由于在本公开的精神和范围内的各种改变和修改将根据具体实施方式而对于本领域的技术人员变得显而易见,因此,具体实施方式和具体示例虽然指示了优选实施例,但是仅通过说明的方式给出。附图说明本公开的这些和其它目的、特征、和特性将根据结合所附权利要求书和附图来对以下具体实施方式的学习对本领域的技术人员变得更显而易见,该所有内容形成本说明书的一部分。在附图中:图1是图示了根据本文描述的一个或者多个实施例的、使用页面过滤器和系统存储器管理单元来进行硬件辅助的存储器压缩管理的示例系统的框图。图2是图示了根据本文描述的一个或者多个实施例的、已经向其添加了压缩信息的示例主存储器页面表的框图。图3是图示了根据本文描述的一个或者多个实施例的、使用页面过滤器来进行基于硬件的页面剖析的示例方法的流程图。图4是图示了根据本文描述的一个或者多个实施例的、系统存储器管理单元的示例操作的框图。图5是图示了根据本文描述的一个或者多个实施例的、使用页面过滤器和系统存储器管理单元来对存储器进行压缩的示例方法的流程图。图6是图示了根据本文描述的一个或者多个实施例的、使用系统存储器管理单元来对存储器进行解压的示例方法的流程图。图7是图示了根据本文描述的一个或者多个实施例的、被配置用于使用页面过滤器和系统存储器管理单元来进行硬件辅助的存储器压缩管理的示例计算设备的框图。本文提供的标题仅仅是为了方便起见,并不一定会影响本公开中所要求保护的范围或者含义。在附图中,为了便于理解且出于方便起见,相同的附图标记和任何首字母缩写标识具有相同或者类似结构或者功能的元素或者动作。将在下面的具体实施方式中对附图进行详细描述。具体实施方式现在将对各个示例和实施例进行描述。以下描述提供具体细节以供彻底理解并且实现对这些示例的描述。然而,相关领域的技术人员要明白,可以在没有这些细节中的很多细节的情况下实践本文描述的一个或者多个实施例。同样,相关领域的技术人员还要明白,本公开的一个或者多个实施例可以包括本文未详细描述的许多其它明显的特征。此外,下面将不会详细示出或者描述一些熟知的结构或者功能,以便避免不必要地模糊相关描述。为了实现虚拟存储器,计算机系统需要具有通常被称为MMU(存储器管理单元)的特殊存储器管理硬件。在没有MMU的情况下,当CPU(计算机处理单元)访问RAM(随机存取存储器)时,在RAM内的实际位置不会改变(例如,特定存储器地址在RAM内始终是相同的物理位置)。然而,利用MMU,在每次存储器访问之前通过转换步骤来处理存储器地址。如此,可能会使给定的存储器地址一次指向第一物理地址,并且另一次指向第二物理地址。因为对于数十亿字节的存储器分别地追踪虚拟到物理转换所需要的资源会过大,所以,MMU将RAM划分成页面,所述页面是MU将其作为单个实体来处理的设定大小的存储器的毗连区段。因此,可以将物理存储器视为被称作页面帧的固定大小的槽的阵列,其本文档来自技高网...

【技术保护点】
一种用于存储器压缩管理的方法(500),包括:使用(505)页面过滤器来确定虚拟存储器空间中的页面是不活动的;从对应操作系统的页面表去除(510)所述不活动的页面的工作存储器地址信息;确定(515)在工作存储器中的位置,以分配所述不活动的页面的压缩信息;分配(520)所述不活动的页面的压缩存储器地址;利用所述不活动的页面的所述压缩存储器地址来更新(525)转换后备缓冲区;以及将所述压缩存储器地址写入(530)所述压缩存储器。

【技术特征摘要】
【国外来华专利技术】2014.10.07 US 62/060,9491.一种用于存储器压缩管理的方法(500),包括:使用(505)页面过滤器来确定虚拟存储器空间中的页面是不活动的;从对应操作系统的页面表去除(510)所述不活动的页面的工作存储器地址信息;确定(515)在工作存储器中的位置,以分配所述不活动的页面的压缩信息;分配(520)所述不活动的页面的压缩存储器地址;利用所述不活动的页面的所述压缩存储器地址来更新(525)转换后备缓冲区;以及将所述压缩存储器地址写入(530)所述压缩存储器。2.根据权利要求1所述的方法,其中,去除所述不活动的页面的工作存储器地址信息包括:从所述页面表去除所述不活动的页面的对应页面表条目。3.根据权利要求1所述的方法,其中,通过所述操作系统的存储器管理单元,利用所述不活动的页面的所述压缩存储器地址来更新所述转换后备缓冲区。4.根据权利要求1所述的方法,其中,利用所述不活动的页面的所述压缩存储器地址来更新所述转换后备缓冲区,以维持虚拟存储器、压缩存储器、和工作存储器之间的转换信息。5.根据权利要求1所述的方法,其中,分配所述不活动的页面的压缩存储器地址包括:引发所述操作系统的存储器管理单元的中断,以分配在所述压缩存储器中的地址。6.根据权利要求1所述的方法,其中,所述页面过滤器基于所述页面的引用计数低于阈值计数来确定所述虚拟存储器空间中的所述页面是不活动的。7.根据权利要求1所述的方法,其中,所述页面过滤器基于在预定时间段期间所述页面的引用计数低于阈值计数来确定所述虚拟存储器空间中的所述页面是不活动的。8.一种用于存储器压缩管理的系统(100),所述系统包括:至少一个处理器;以及非暂时性计算机可读介质,耦合至所述至少一个处理器,所述非暂时性计算机可读介质存储有指令,所述指令在由所述至少一个处理器执行时致使所述至少一个处理器:使用硬件页面过滤器(110)来确定虚拟存储器空间中的页面是不活动的;从对应的页面表去除所述不活动的页面的工作存储器地址信息;确定在工作存储器(180)中的位置,以分配所述不活动的页面的压缩信息;分配所述不活动的页面的压缩存储器(170)...

【专利技术属性】
技术研发人员:徐欣业
申请(专利权)人:谷歌公司
类型:发明
国别省市:美国;US

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

1