内存管理方法、设备、存储介质、程序产品、装置和芯片与流程
本技术涉及存储,特别涉及一种内存管理方法、设备、存储介质、程序产品、装置和芯片。
背景技术:
1、电子设备在运行应用程序(application,app)时,若检测到应用程序的访问请求(例如用于获取目标数据的请求),电子设备读取访问请求对应的目标数据给对应的应用程序。在读取数据的过程中,会先在电子设备的内存中查找是否存在需要读取的目标数据。若内存中存在目标数据,则电子设备直接从内存中读取目标数据,若内存中不存在目标数据,则电子设备可以从电子设备的外部存储空间(例如机械硬盘等)读取目标数据,并将目标数据写入内存,然后再从内存中读取目标数据给对应的应用程序。
2、由于电子设备的内存的存储空间是有限的,在内存空间不足时,电子设备会回收内存中的部分存储空间,即删除内存中部分存储空间内存储的数据,以便于利用该部分回收的存储空间存储新的数据。
3、然而,若被删除的数据后续被电子设备频繁访问,会使电子设备频繁地访问电子设备的外部存储空间,而电子设备从外部存储空间中读取数据的速度较慢,电子设备频繁访问外部存储空间可能会导致电子设备出现卡顿的现象,从而降低用户的使用体验。
技术实现思路
1、为了提高内存资源的利用率,本技术提供了一种内存管理方法、设备、存储介质、程序产品、装置和芯片。
2、本技术的第一方面提供了一种内存管理方法,应用于电子设备,方法包括:获取存储在电子设备的内存中的第一热点文件的n个热区数据、以及第二热点文件的m个热区数据,其中,热点文件是在第一时间区间内访问次数大于第一次数阈值的文件,热区数据是存储对应热点文件、且在第一时间区间内访问次数大于第二次数阈值的数据,第二次数阈值小于或等于第一次数阈值,n为大于0的整数,m为大于0的整数;将第一热点文件的n个热区数据和第二热点文件的m个热区数据存储至内存中的目标存储空间,并将目标存储空间标记为不可回收,其中,第二热点文件的m个热区数据中的至少一个热区数据在目标存储空间中的地址信息、与第一热点文件的至少一个冷区数据在内存中的第一存储空间中的地址信息对应,第一存储空间为存储第一热点文件的存储空间,冷区数据是存储对应热点文件、且在第一时间区间内访问次数小于或等于第二次数阈值的数据。
3、在本技术实施例中,第一热点文件和第二热点文件可以是存储在电子设备的内存中的文件,也可以是电子设备检测到对应应用的访问请求后,从电子设备的外部存储空间读取至电子设备的内存中的文件。
4、通过上述方法,电子设备可以只将每个热点文件的高频访问部分(热区数据)锁定在电子设备的内存中,而无需将热点文件全部锁定在内存中,从而可以降低热点文件占用的存储空间,减少内存资源的浪费。第二热点文件的m个热区数据中的至少一个热区数据在目标存储空间中的地址信息、与第一热点文件的至少一个冷区数据在第一存储空间中的地址信息对应。也就是说,第一热点文件的n个热区数据和第二热点文件的m个热区数据可以共同存储在目标存储空间中,并且,第二热点文件的至少一个热区数据对应存储在用于存储第一热点文件的热区数据存储空间内,可以提高用于存储第一热点文件的热区数据的存储空间中未使用的存储空间的利用率。例如第一热点文件的至少一个热区数据和第二热点文件的至少一个热区数据可以存储在同一页面,因此可以减少被锁定页面中未被使用的内存空间,从而可以避免内存资源的浪费,提高内存资源的利用率。
5、在上述第一方面的一种实现的可能中,每个热点文件包括一个或多个文件页,每个文件页的尺寸为第一尺寸,目标存储空间的尺寸是第一尺寸的整数倍。
6、在上述第一方面的一种实现的可能中,第一热点文件的n个热区数据在第一存储空间内的n个第一逻辑地址空间中的任意一个第一逻辑地址空间与第二热点文件的m个热区数据在第二存储空间内的m个第二逻辑地址空间中的任意一个第二逻辑地址空间不重叠,其中,第二存储空间为存储第二热点文件的存储空间;并且,第一热点文件的n个热区数据在目标存储空间内的n个逻辑地址空间与n个第一逻辑地址空间相同,第二热点文件的m个热区数据在目标存储空间内的m个逻辑地址空间与m个第二逻辑地址空间相同。
7、在本技术实施例中,若第一热点文件的n个热区数据在第一存储空间内的n个第一逻辑地址空间中的任意一个第一逻辑地址空间和第二热点文件的m个热区数据在第二存储空间内的m个第二逻辑地址空间中的任意一个第二逻辑地址空间不重叠,电子设备可以直接将第一热点的n个热区数据按照第一逻辑地址空间存储至目标存储空间(即,第一热点文件的n个热区数据在目标存储空间内的n个逻辑地址空间与n个第一逻辑地址空间相同),并将第二热点文件的m个热区数据按照第二逻辑地址空间存储至目标存储空间(即,第二热点文件的m个热区数据在目标存储空间内的m个逻辑地址空间与m个第二逻辑地址空间相同)。
8、电子设备无需将第一热点文件和第二热点文件的冷区数据存储至目标存储空间,并且,第一热点文件的热区数据和第二热点文件的热区数据共同存储在目标存储空间中,可以减少目标存储空间中的处于空闲状态的存储区域,即,提高目标存储空间的利用率。并且,第一热点的n个热区数据是按照第一逻辑地址空间存储至目标存储空间的,第二热点文件的m个热区数据是按照第二逻辑地址空间存储至目标存储空间的,电子设备无需改变对第一热点的n个热区数据以及第二热点文件的m个热区数据的访问方式。
9、在上述第一方面的一种实现的可能中,将第一热点文件的n个热区数据和第二热点文件的m个热区数据存储至内存中的目标存储空间,包括:将第一热点文件的n个热区数据存储至目标存储空间中的第一目标存储空间,其中,第一热点文件的n个热区数据在第一目标存储空间的n个逻辑地址空间与第一热点文件的n个热区数据在第一存储空间内的n个第一逻辑地址空间相同;将第二热点文件的m个热区数据存储至目标存储空间中的第二目标存储空间,其中,第二热点文件的m个热区数据在第二目标存储空间的m个逻辑地址空间与第二热点文件的m个热区数据在第二存储空间内的m个第二逻辑地址空间相同,其中,n个第一逻辑地址空间中的至少一个第一逻辑地址空间与m个第二逻辑地址空间中的至少一个第二逻辑地址空间存在重叠,其中,第二存储空间为存储第二热点文件的存储空间;并且,第二目标存储空间的基地址为第一目标存储空间的基地址加上第一长度。
10、在本技术实施例中,电子设备将第二热点文件的m个热区数据存储至基于第一目标存储空间的基地址加上第一长度确定出的第二目标存储空间中,可以使第一热点文件的n个热区数据在目标存储空间的n个逻辑地址空间中的任意一个逻辑地址空间和第二热点文件的m个热区数据在目标存储空间的m个逻辑地址空间中的任意一个逻辑地址空间不重叠。
11、如此,电子设备可以按照第一逻辑地址空间将第一热点文件的n个热区数据存储至第一目标存储空间(即,第一热点文件的n个热区数据在第一目标存储空间的n个逻辑地址空间与第一热点文件的n个热区数据在第一存储空间内的n个第一逻辑地址空间相同),并按照第二逻辑地址空间将第二热点文件的m个热区数据存储至第二目标存储空间(即,第二热点文件的m个热区数据在第二目标存储空间的m个逻辑地址空间与第二热点文件的m个热区数据在第二存储空间内的m个第二逻辑地址空间相同),电子设备无需改变对第一热点的n个热区数据以及第二热点文件的m个热区数据的访问方式。
12、并且,电子设备无需将第一热点文件和第二热点文件的冷区数据存储至目标存储空间,第一热点文件的热区数据和第二热点文件的热区数据共同存储在目标存储空间中,可以减少目标存储空间中的处于空闲状态的存储区域,即,提高目标存储空间的利用率。
13、在上述第一方面的一种实现的可能中,热区数据在对应存储空间内的逻辑地址空间基于以下参数确定:热区数据相对于存储空间的基地址的首偏移量和热区数据的数据长度。
14、在上述第一方面的一种实现的可能中,第一时间区间内访问次数是根据第一时间区间内热点文件的文件页被读入内存的次数确定的;或者,第一时间区间内访问次数是基于第一时间区间内、存储热点文件的存储空间的地址信息访问请求的数量确定的。
15、在上述第一方面的一种实现的可能中,获取存储在电子设备的内存中的第一热点文件的n个热区数据、以及第二热点文件的m个热区数据,包括:将访问次数大于第二次数阈值的n个第一子存储空间中存储的数据作为第一热点文件的n个热区数据,将访问次数大于第二次数阈值的m个第二子存储空间中存储的数据作为第二热点文件的m个热区数据;其中,第一存储空间包括n个第一子存储空间,第二存储空间包括m个第二子存储空间,第二存储空间为存储第二热点文件的存储空间;第一子存储空间是基于多个第一数据访问请求的地址信息确定的,多个第一数据访问请求是第一时间区间内的包括存储第一热点文件的第一存储空间的地址信息的多个访问请求;第二子存储空间是基于多个第二数据访问请求的地址信息确定的,多个第二数据访问请求是第一时间区间内的包括存储第二热点文件的第二存储空间的地址信息的多个访问请求。
16、在本技术实施例中,目标存储空间的尺寸小于第一目标存储空间的尺寸和第二目标存储空间的尺寸之和。即,第一目标存储空间和第二目标存储空间至少部分重叠。如此,可以使第二热点文件的m个热区数据中的至少一个热区数据在目标存储空间中的地址信息对应第一热点文件的至少一个冷区数据在第一存储空间中对应的地址信息,以减少被锁定页面中未被使用的内存空间,从而减少内存资源的浪费。
17、在本技术实施例中,为了便于访问,电子设备100还可以存储目标存储空间中存储的数据(第一热点文件的n个热区数据和第二热点文件的m个热区数据)的物理地址与逻辑地址的映射关系。
18、在上述第一方面的一种实现的可能中,方法还包括:检测到对第一热点文件的至少一个热区数据的第一访问请求;从目标存储空间读取第一访问请求对应的第一目标数据。
19、在上述第一方面的一种实现的可能中,方法还包括:响应于回收指令,将内存中的第一热点文件和第二热点文件存储至电子设备的外部存储空间。
20、在上述第一方面的一种实现的可能中,方法还包括:检测到对第一热点文件的至少一个冷区数据的第二访问请求,并且,电子设备的内存中未存储第一热点文件;从电子设备的外部存储空间将第一热点文件读取至内存,并从内存读取第二访问请求对应的第二目标数据。
21、在上述第一方面的一种实现的可能中,方法还包括:获取存储在电子设备的内存中的第三热点文件和第三热点文件的l个热区数据,其中,l为大于0的整数;将第三热点文件的l个热区数据存储至目标存储空间;或者,将第三热点文件的l个热区数据存储至第三目标存储空间,并将第三目标存储空间标记为不可回收,其中,第三目标存储空间包括目标存储空间。
22、在上述第一方面的一种实现的可能中,第三热点文件的l个热区数据中的至少一个热区数据在目标存储空间中的地址信息对应目标存储空间中除第一热点文件的n个热区数据和第二热点文件的m个热区数据之外的区域的地址信息;或者,第三热点文件的l个热区数据中的至少一个热区数据在第三目标存储空间中的地址信息、与目标存储空间中除第一热点文件的n个热区数据和第二热点文件的m个热区数据之外的区域的地址信息对应。
23、在上述第一方面的一种实现的可能中,n+m个逻辑地址空间中的任意一个逻辑地址空间和第三热点文件的l个热区数据在第三存储空间内的l个第三逻辑地址空间中的任意一个第三逻辑地址空间不重叠,其中,n+m个逻辑地址空间基于第一热点文件的n个热区数据在目标存储空间中的n个逻辑地址空间和第二热点文件的m个热区数据在目标存储空间中的m个逻辑地址空间确定,第三存储空间为存储第三热点文件的存储空间;并且,第三热点文件的l个热区数据在目标存储空间的l个逻辑地址空间与l个第三逻辑地址空间相同。
24、在上述第一方面的一种实现的可能中,n+m个逻辑地址空间中的至少一个逻辑地址空间和第三热点文件的l个热区数据在第三存储空间内的l个第三逻辑地址空间中的至少一个第三逻辑地址空间重叠,其中,n+m个逻辑地址空间基于第一热点文件的n个热区数据在目标存储空间中的n个逻辑地址空间和第二热点文件的m个热区数据在目标存储空间中的m个逻辑地址空间确定,第三存储空间为存储第三热点文件的存储空间;并且,第三目标存储空间中的第四目标存储空间存储第三热点文件的l个热区数据,其中,第三热点文件的l个热区数据在第四目标存储空间的l个逻辑地址空间与l个第三逻辑地址空间相同,第四目标存储空间的基地址为目标存储空间的基地址加上第二长度。
25、在本技术实施例中,电子设备将第三热点文件的l个热区数据存储至基于目标存储空间的基地址加上第二长度确定出的第四目标存储空间中,可以使n+m个逻辑地址空间中的任意一个逻辑地址空间和第三热点文件的l个热区数据在第四目标存储空间的l个逻辑地址空间中的任意一个逻辑地址空间不重叠。
26、本技术的第二方面提供了一种电子设备,包括:存储器,用于存储由电子设备的一个或多个处理单元执行的指令;以及处理器,是电子设备的处理器之一,用于执行存储器中存储的指令以实现上述第一方面的任意一种方法。
27、本技术的第三方面提供了一种计算机可读存储介质,计算机可读存储介质上存储有指令,指令在设备上执行时使设备实现上述第一方面的任意一种方法。
28、本技术的第四方面提供了一种计算机程序产品,计算机程序产品中包括指令,指令在设备上执行时使设备实现上述第一方面的任意一种方法。
29、本技术的第五方面提供了一种通信装置,包括用于执行上述第一方面的任意一种方法的模块。
30、本技术的第六方面提供了一种芯片,包括处理器,处理器与存储器耦合,用于执行存储器中存储的计算机程序或指令,使得芯片实现上述第一方面的任意一种方法。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com