终端、应用数据的处理方法、数据处理设备及存储介质技术

技术编号:20655031 阅读:31 留言:0更新日期:2019-03-23 06:45
本发明专利技术公开了一种终端、应用数据的处理方法、数据处理设备及存储介质,所述终端包括内存、非易失性存储器NVM缓存、交换分区、内存控制器MMU和I/O控制器;所述内存包括多个内存页面,所述NVM缓存包括多个缓存页面,交换分区包括多个页槽;所述MMU,用于控制所述内存和所述NVM缓存之间通过内存总线传输内存页面的应用数据和/或缓存页面的应用数据;所述I/O控制器,用于控制所述交换分区和所述NVM缓存之间通过I/O总线传输页槽的应用数据和/或缓存页面的应用数据。通过本发明专利技术实施例提供的方法,提高了内存中数据的换出速度,减少了应用程序的响应时间,延长了交换分区的寿命,减少了现有技术中由于应用数据在内存页面和页槽中频繁移动造成的页面抖动。

【技术实现步骤摘要】
终端、应用数据的处理方法、数据处理设备及存储介质
本专利技术涉及通信
,具体涉及一种终端、应用数据的处理方法、数据处理设备及存储介质。
技术介绍
随着移动微处理器和移动操作系统的发展,移动设备(例如智能手机,平板等)越来越普及,针对移动设备设计的应用功能越来越丰富。这些功能丰富的应用一方面能帮助提高移动设备的用户体验,另一方面却需要更多的内存资源和存储资源。Android操作系统为了提高用户的体验,当用户开启一个应用程序后,即使用户退出了应用程序,程序却没有真正的退出,仍然驻留在内存中。当用户再次打开该应用程序时,该应用程序就可以立即切换回来,而不用再次从存储设备上(例如闪存)加载到内存。由于这些应用程序消耗内存资源,当内存资源不足时,就会触发低内存管理(LowMemoryKiller,LMK),LMK会选择一些进程并强制结束它们,导致这些应用程序的再启动时间延长,严重影响用户体验。通过增加内存的大小,可以让同时驻留在内存中的应用程序更多,能在一定程度上减少触发LMK的次数。但内存的增加会导致成本的上升,且内存耗电量大(最多可占用整个操作系统耗电量的30%),电池消耗快,同样影响用户体验。Android操作系统是基于Linuxkernel的操作系统,Linuxkernel提供了通过交换分区即Swap分区的方法来解决内存资源不足的问题。当内存不足时,操作系统会将一些不经常使用的内存页面的数据换出到Swap分区,从而减少对内存的占用。传统Swap机制采用磁盘、闪存等块设备(Blockdevice)作为Swap分区,内存和Swap分区之间的数据传输由I/O驱动程序负责。操作系统把正在使用的内存页面维护在一个最近最少使用(LeastRecentlyUsed,LRU)链表中,当内存空闲页面不足时,页框实地址(PageFrameRealAddress,PFRA)会从LRU链表中回收一些较少被用到的内存页面中的数据放到Swap分区中。现有LinuxSwap分区的结构如图1所示,Swap分区按页槽(Pageslot)进行组织,每个页槽的大小等于内存页面的大小,每个页槽对应一个计数器(counter)。counter用来标识该页槽是否空闲,同时也用来表示这个被置换出去的页面中的数据被多少个进程所引用,这些counter放在swap_map这个数组中。当一个内存页面中的数据需要被换出到Swap分区时,内核会扫描swap_map数组,查找一个空闲的页槽即对应的counter为0的页槽,将内存页面中的数据换出到空闲页槽中。虽然基于块设备的Swap分区能够解决内存不足等问题,但I/O设备仍然存在速度慢,延迟大等情况,且页面中数据的换入换出需要经过I/O,数据的传输需要由设备驱动程序负责,需要进行I/O调度,降低了应用程序的性能,影响了用户体验。此外,移动设备中作为交换分区的闪存设备的擦写次数有限,频繁的页面换入/换出会导致闪存设备过早的损坏,且数据在内存和交换分区中频繁的移动,会形成页面抖动,增加系统额外的开销。
技术实现思路
本专利技术实施例提供了一种终端、应用数据的处理方法、数据处理设备及存储介质,可以提高内存中数据的换出速度,延长交换分区的使用时间。根据本专利技术实施例的一方面,提供一种终端,所述终端包括内存、非易失性存储器NVM缓存、交换分区、内存控制器MMU和I/O控制器;所述内存包括多个内存页面,所述NVM缓存包括多个缓存页面,所述交换分区包括多个页槽;所述MMU,用于控制所述内存和所述NVM缓存之间通过内存总线传输内存页面的应用数据和/或缓存页面的应用数据;所述I/O控制器,用于控制所述NVM缓存和所述交换分区之间通过I/O总线传输缓存页面的应用数据和/或页槽的应用数据。根据本专利技术实施例的另一方面,提供一种应用数据的处理方法,所述应用数据的处理方法包括:在内存中的空闲内存页面的数量小于第一设定值和/或满足设定条件时,控制所述内存和NVM缓存之间通过内存总线传输内存页面的应用数据和/或缓存页面的应用数据;在空闲缓存页面的数量小于第二设定值和/或进程访问页槽的应用数据时,控制所述NVM缓存和交换分区之间通过I/O总线传输缓存页面的应用数据和/或页槽的应用数据。根据本专利技术实施例的再一方面,提供一种数据处理设备,所述数据处理设备包括存储器和处理器;所述存储器用于储存可执行程序代码;所述处理器用于读取所述存储器中存储的可执行程序代码以执行本专利技术实施例中提供的应用数据的处理方法。根据本专利技术实施例的有一方面,提供一种可读存储介质,所述可读存储介质中存储有计算机指令,当所述计算机指令被存储器执行时,使得处理器执行本专利技术实施例中提供的应用数据的处理方法。本专利技术实施例所提供的终端、应用数据的处理方法、数据处理设备及存储介质,通过增设NVM缓存,使用NVM缓存作为内存和交换分区之间的缓存,在内存空间不足时,通过内存拷贝将内存页面的数据首先换出到缓存页面中,减少了数据换出的延迟,提高了数据的换出速度,减少了应用程序的响应时间。由于内存页面的应用数据不是直接转入到页槽中,从而减少了对交换分区的读写次数,延长了交换分区的使用寿命。通过本专利技术实施例的数据处理方法,还有效解决了现有技术中由于应用数据在内存页面和页槽中频繁移动所造成的页面抖动问题。附图说明通过阅读以下参照附图对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显,其中,相同或相似的附图标记表示相同或相似的特征。图1为现有技术中SWAP分区的结构示意图;图2为本专利技术实施例中一种终端的结构示意图;图3为本专利技术实施例中建立应用程序的进程虚拟地址和缓存页面的映射关系的示意图;图4为本专利技术实施例中缓存链表中缓存页面的结构示意图;图5为本专利技术实施例中将内存页面的应用数据转入缓存页面的流程示意图;图6为本专利技术实施例中NVM缓存中缓存页面的状态变化示意图;图7为可以实现本专利技术实施例所述的应用数据的处理方法的计算机设备的示例性硬件架构的结构图。具体实施方式下面将详细描述本专利技术的各个方面的特征和示例性实施例。在下面的详细描述中,提出了许多具体细节,以便提供对本专利技术的全面理解。但是,对于本领域技术人员来说很明显的是,本专利技术可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本专利技术的示例来提供对本专利技术的更好的理解。本专利技术决不限于下面所提出的任何具体配置和算法,而是在不脱离本专利技术的精神的前提下覆盖了元素、部件和算法的任何修改、替换和改进。在附图和下面的描述中,没有示出公知的结构和技术,以便避免对本专利技术造成不必要的模糊。为了解决移动设备中内存资源不足的问题,目前主要是基于闪存设备的交换分区的方案,但由于移动设备的CPU和闪存设备在速度上差异巨大,在读取和写入数据时,CPU不能立即获取数据,而是需要将进行I/O的进程挂起,交由I/O调度器进行调度并读取数据。所以基于闪存的交换分区存在着读取页面慢的缺点,容易导致应用程序的响应延迟。主流移动设备一般都使用嵌入式多媒体存储卡(EmbeddedMultiMediaCard,eMMC)作为其存储设备。eMMC通常包含一个用作数据存储的闪存芯片和一个闪存控制器,然而eMMC的数据带宽有限,交换分区中页面的换入和换本文档来自技高网
...

【技术保护点】
1.一种终端,其特征在于,所述终端包括内存、非易失性存储器NVM缓存、交换分区、内存控制器MMU和I/O控制器;所述内存包括多个内存页面,所述NVM缓存包括多个缓存页面,所述交换分区包括多个页槽;所述MMU,用于控制所述内存和所述NVM缓存之间通过内存总线传输内存页面的应用数据和/或缓存页面的应用数据;所述I/O控制器,用于控制所述NVM缓存和所述交换分区之间通过I/O总线传输缓存页面的应用数据和/或页槽的应用数据。

【技术特征摘要】
1.一种终端,其特征在于,所述终端包括内存、非易失性存储器NVM缓存、交换分区、内存控制器MMU和I/O控制器;所述内存包括多个内存页面,所述NVM缓存包括多个缓存页面,所述交换分区包括多个页槽;所述MMU,用于控制所述内存和所述NVM缓存之间通过内存总线传输内存页面的应用数据和/或缓存页面的应用数据;所述I/O控制器,用于控制所述NVM缓存和所述交换分区之间通过I/O总线传输缓存页面的应用数据和/或页槽的应用数据。2.根据权利要求1所述的终端,其特征在于,所述MMU,还用于建立内存页面的应用数据的进程虚拟地址与缓存页面之间的映射关系,删除内存页面的应用数据的进程虚拟地址与内存页面之间的映射关系;和/或,所述MMU,还用于建立缓存页面的应用数据的进程虚拟地址与内存页面之间的映射关系,删除缓存页面的应用数据的进程虚拟地址与缓存页面之间的映射关系;和/或,所述MMU,还用于删除缓存页面的应用数据的进程虚拟地址与缓存页面之间的映射关系;和/或,所述MMU,还用于建立页槽的应用数据的进程虚拟地址与缓存页面之间的映射关系。3.根据权利要求1所述的终端,其特征在于,所述I/O控制器,具体用于将应用数据由内存页面转入且未被进程访问过的缓存页面的应用数据转入页槽。4.根据权利要求1至3中任一项所述的终端,其特征在于,所述MMU,还用于按照预设的时间间隔,将应用数据由页槽转入的缓存页面的进程访问标识更新为未被进程访问过的标识。5.一种应用数据的处理方法,其特征在于,所述应用数据的处理方法包括:在内存中的空闲内存页面的数量小于第一设定值和/或满足设定条件时,控制所述内存和NVM缓存之间通过内存总线传输内存页面的应用数据和/或缓存页面的应用数据;在空闲缓存页面的数量小于第二设定值和/或进程访问页槽的应用数据时,控制所述NVM缓存和交换分区之间通过I/O总线传输缓存页面的应用数据和/或页槽的应用数据。6.根据权利要求5所述的应用数据的处理方法,其特征在于,所述在内存中的空闲内存页面的数量小于第一设定值和/或满足设定条件时,控制所述内存和NVM缓存之间通过内存总线传输内存页面的应用数据和/或缓存页面的应用数据,包括:在空闲内存页面的数量小于第一设定值时,控制内存页面的应用数据转入缓存页面和/或在满足设定条件时,控制缓存页面的应用数据转入内存页面;所述在空闲缓存页面的数量小于第二设定值和/或进程访问页槽的应用数据时,控制所述NVM缓存和交换分区之间通过I/O总线传输缓存页面的应用数据和/或页槽的应用数据,包括:在空闲缓存页面的数量小于第二设定值时,控制缓存页面的应用数据转入页槽和/或在进程访问页槽的应用数据时,控制所要访问的页槽的应用数据转入缓存页面。7.根据权利要求5或6所述的应用数据的处理方法,其特征在于,所述设定条件包括缓存页面的应用数据在设定时间内接收到设定次数的进程访问请求。8.根据权利要求6所述的应用数据的处理方法,其特征在于,所述在空闲内存...

【专利技术属性】
技术研发人员:邓秘密陆艳军赵立农杨翔
申请(专利权)人:中国移动通信集团重庆有限公司中国移动通信集团公司
类型:发明
国别省市:重庆,50

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

1