数据查询方法、电子设备及存储介质与流程

文档序号:37267163发布日期:2024-03-12 20:52阅读:19来源:国知局
数据查询方法、电子设备及存储介质与流程

本技术涉及终端,尤其涉及数据查询方法、电子设备及存储介质。


背景技术:

1、随着电子设备的发展,电子设备支持的功能越来越丰富。用户使用电子设备的过程中,电子设备可能同时运行有多个应用,包括前台应用和后台应用。电子设备在执行前台应用或后台应用的某一任务或进程时,通常需要从存储设备获取数据,若数据获取不及时,可能被用户感知,影响用户使用电子设备的体验。

2、因此,如何提升电子设备的数据查询速度是亟待解决的一个问题。


技术实现思路

1、本技术实施例提供一种数据查询方法、电子设备及存储介质,提升电子设备的数据查询速度。

2、第一方面,本技术实施例提供一种数据查询方法,应用于电子设备,电子设备包括第一存储器和第二存储器,第一存储器为电子设备的内部存储器,第二存储器为电子设备的外部存储器,该方法包括:电子设备在执行第一任务时,若电子设备未从第一存储器中查询到第一数据,电子设备查询第一存储器是否缓存有第一数据的逻辑地址到物理地址l2p表信息,第一数据的l2p表信息用于指示第一数据在第二存储器的物理地址;若电子设备从第一存储器中查询到第一数据的l2p表信息,电子设备基于第一数据的l2p表信息,从第二存储器中获取第一数据;第一存储器包括第一存储区域和第二存储区域,第一存储区域用于存储预设的高频数据的l2p表信息,第二存储区域用于存储执行不同优先级任务所需的数据的l2p表信息,第一数据为执行第一任务所需的数据。

3、其中,第一存储器可以为图5所示的主机存储器,第二存储器可以为图5所示的通用闪存ufs存储设备,第一任务可以为图9所示的任务a,第一任务可以为vip任务(重要任务)或非vip任务(非重要任务),第一数据的l2p表信息包括第一数据的逻辑地址到物理地址的映射表。第一存储区域可以为图5所示的hpb存储器的静态区域,第二存储区域可以为图5所示的hpb存储器的动态区域,示例性的,第二存储区域存储有vip任务所需的数据的l2p表信息和非vip任务所需的数据的l2p表信息。

4、上述方法中,在电子设备的第一存储器中划分第一存储区域和第二存储区域,不同区域用于存储不同数据的l2p表信息,第一存储区域存储一些高频数据的l2p表信息,第二存储区域存储不同优先级任务所需数据的l2p表信息,通过分区域存储的方式,对不同数据的l2p表信息进行分区管理,保证资源划分的公平性,可以在一定程度上提升第一存储器缓存命中率。这样,电子设备在执行第一任务时,能够以较大概率从第一存储器中获取到第一任务的第一数据的l2p表信息,基于第一数据的l2p表信息从第二存储器获取第一数据,可提升数据查询速度,进而可提升设备的io性能。

5、第一方面的一个可选实施例中,电子设备包括第一处理模块和第二处理模块,第一处理模块负责管理和控制第一存储器,第二处理模块负责管理和控制第二存储器;电子设备查询第一存储器是否缓存有第一数据的l2p表信息,包括:第一处理模块查询第一存储器是否缓存有第一数据的l2p表信息;若电子设备从第一存储器中查询到第一数据的l2p表信息,电子设备基于第一数据的l2p表信息,从第二存储器中获取第一数据,包括:若第一处理模块从第一存储器中查询到第一数据的l2p表信息;第一处理模块向第二处理模块发送第一查询请求,第一查询请求包括第一数据的l2p表信息;第二处理模块基于第一数据的l2p表信息,从第二存储器的第一存储空间获取第一数据,并向第一处理模块发送第一查询响应,第一查询响应包括第一数据。

6、其中,第一处理模块可以为图5所示的cpu1,第二处理模块可以为图5所示的cpu2,第一查询请求可以为图9所示的io请求1,第一查询响应可以为图9所示的io响应1。第二存储器的第一存储空间可以为图5所示的nand闪存的存储空间。

7、上述方法示出了电子设备查询第一数据时的内部模块的交互流程,第一处理模块从第一存储器获取到第一数据的l2p表信息后,需要向第二存储器的第二处理模块下发查询请求,由第二处理模块基于l2p表信息从第二存储器的第一存储空间获取第一数据,并将第一数据返回第一处理模块,以便第一处理模块执行第一任务。由于上述过程无需第二处理模块查询第一数据的l2p表信息,从而缩短了数据查询的时间,提升了数据查询速度。

8、第一方面的一个可选实施例中,第一处理模块从第一存储器中查询到第一数据的l2p表信息,包括:第一处理模块从第一存储器的第一存储区域中查询到第一数据的l2p表信息,或者,从第一存储器的第二存储区域中查询到第一数据的l2p表信息。

9、示例性的,若第一数据为高频数据,第一数据的l2p表信息存储在第一存储器的第一存储区域。若第一数据为经常被访问的vip任务或非vip任务的数据(除高频数据之外的数据),第一数据的l2p表信息存储在第一存储器的第二存储区域。

10、上述方法中,若第一数据为高频数据或经常被访问的vip任务或非vip任务的数据,电子设备可直接在第一存储器命中第一数据的l2p表信息,进而可根据第一数据的l2p表信息获取第一数据在第二存储器中的物理地址,根据该物理地址快速获取第一数据,提升了数据查询速度。

11、第一方面的一个可选实施例中,若第一处理模块未从第一存储器中查询到第一数据的l2p表信息,第一处理模块向第二处理模块发送第二查询请求,第二查询请求包括第一数据的标识;第二处理模块基于第一数据的标识,从第二存储器的第一存储空间获取第一数据的l2p表信息;第二处理模块基于第一数据的l2p表信息,从第一存储空间获取第一数据;第二处理模块向第一处理模块发送第二查询响应,第二查询响应包括第一数据和第一数据的l2p表信息。

12、其中,第二查询请求可以为图9所示的io请求2,第一数据的标识可以为第一数据的inode,第二查询响应可以为图9所示的io响应2。

13、上述方法中,若第一数据不是高频数据或经常被访问的vip任务或非vip任务的数据,电子设备无法从第一存储器中获取第一数据的l2p表信息,电子设备需要先从第二存储器的第一存储空间获取第一数据的l2p表信息,再基于第一数据的l2p表信息从第二存储器的第一存储空间获取第一数据,即电子设备需要访问第一存储空间两次,以获取第一数据和第一数据的l2p表信息。

14、第一方面的一个可选实施例中,响应于接收到第二查询响应,第一处理模块将第一数据的l2p表信息存储至第一存储器的第二存储区域。

15、上述方法中,电子设备的第一处理模块在获取到第一数据和第一数据的l2p表信息后,可以将第一数据的l2p表信息存储至第一存储器的第二存储区域,以便后续查询时使用。

16、第一方面的一个可选实施例中,第一存储器的第二存储区域包括第一优先级任务的l2p链表,以及第二优先级任务的l2p链表,第一优先级高于第二优先级;第一处理模块将第一数据的l2p表信息存储至第一存储器的第二存储区域,包括:若第一任务是第一优先级任务,第一处理模块将第一数据的l2p表信息添加至第一优先级任务的l2p链表中;或者,若第一任务是第二优先级任务,第一处理模块将第一数据的l2p表信息添加至第二优先级任务的l2p链表中。

17、一种可选的实施例中,电子设备的第一处理模块获取第一任务的任务标签,确定第一任务为vip任务还是非vip任务。

18、其中,第一优先级任务的l2p链表包括第一优先级任务所需的数据的l2p表信息,例如,第一优先级任务的l2p链表为图7所示的vip任务的l2p链表。第二优先级任务的l2p链表包括第二优先级所需的任务的l2p表信息,例如,第二优先级任务的l2p链表可以为非vip任务的l2p链表。

19、上述方法中,电子设备可根据第一任务的优先级,将执行第一任务所需的第一数据的l2p表信息添加至相应任务优先级的l2p链表中,实现对不同数据的l2p表信息进行分区管理,保证资源划分的公平性,可以在一定程度上提升第一存储器缓存命中率。

20、第一方面的一个可选实施例中,若第一任务是第一优先级任务,第一处理模块将第一数据的l2p表信息添加至第一优先级任务的l2p链表中,包括:若第一优先级任务的l2p链表的l2p表的数量已达到预设数量,第一处理模块基于最近最少使用lru策略,淘汰第一优先级任务的l2p链表中的至少一个l2p表,再将第一数据的l2p表信息添加至第一优先级任务的l2p链表中。或者,

21、若第一任务是第二优先级任务,第一处理模块将第一数据的l2p表信息添加至第二优先级任务的l2p链表中,包括:若第二优先级任务的l2p链表的l2p表的数量已达到预设数量,第一处理模块基于最近最少使用lru策略,淘汰第二优先级任务的l2p链表中的至少一个l2p表,再将第一数据的l2p表信息添加至第二优先级任务的l2p链表中。

22、其中,淘汰的l2p表可以为l2p链表中expires变量为0的l2p表,或者,l2p链表中expires变量从大到小进行排序后,最后n个expires变量的l2p表,例如,n取1或2。

23、上述方法中,电子设备在确定将第一数据的l2p表信息添加至某优先级任务的l2p链表时,若该l2p链表的l2p表的数量已达到预设数量,电子设备需要从l2p链表中淘汰最近最少使用的至少一个l2p表,从而释放出存储空间,以添加当前使用的第一数据的l2p表。通过动态更新第一存储器的第一存储区域中的l2p链表,以使第一存储器有较高的缓存命中率。

24、第一方面的一个可选实施例中,该方法还包括:电子设备开机或重启后,电子设备获取配置信息,配置信息包括预设的高频数据的文件名和标识;电子设备从第二存储器中获取高频数据的l2p表信息;电子设备将高频数据的l2p表信息存储至第一存储器的第一存储区域。

25、上述方法中,电子设备基于配置信息,提前从第二存储器中获取高频数据的l2p表信息,并将高频数据的l2p表信息写入第一存储器的第一存储区域,这样,在执行高频数据相关的任务时,电子设备可从第一存储器中获取高频数据的l2p表信息,提升高频数据查询速度。

26、第一方面的一个可选实施例中,电子设备还包括配置模块,电子设备获取配置信息,包括:配置模块从外部存储器获取配置文件,通过解析配置文件,获取配置信息;配置模块向电子设备的第一处理模块发送配置信息;电子设备从第二存储器中获取高频数据的l2p表信息,包括:第一处理模块向电子设备的第二处理模块发送第三查询请求,第三查询请求包括高频数据的标识;第二处理模块基于高频数据的标识,从第二存储器的第一存储空间或第二存储空间获取高频数据的l2p表信息;第二处理模块向第一处理模块发送第三查询响应,第三查询响应包括高频数据的l2p表信息;电子设备将高频数据的l2p表信息存储至第一存储器的第一存储区域,包括:第一处理模块将高频数据的l2p表信息存储至第一存储器的第一存储区域。

27、上述方法示出了电子设备初始化第一存储器的第一存储区域时的内部模块的交互流程,通过第一处理模块和第二处理模块的信息交互,实现将高频数据的l2p表信息写入第一存储器的第一存储区域。

28、第一方面的一个可选实施例中,该方法还包括:电子设备获取更新配置信息,更新配置信息包括新增的高频数据的文件名和标识;电子设备从第二存储器中获取新增的高频数据的l2p表信息;电子设备将新增的高频数据的l2p表信息存储至第一存储器的第一存储区域。

29、上述方法中,考虑到电子设备性能的扩展,扩展功能相关任务的数据可能为高频数据,则需要将这些高频数据的l2p表信息更新至第一存储器的第一存储空间,以优化电子设备的第一存储器的第一存储空间的l2p表信息,这样,在执行高频数据相关的任务时,电子设备可从第一存储器中获取高频数据的l2p表信息,提升高频数据查询速度。

30、第二方面,本技术实施例提供了一种电子设备,电子设备包括:一个或多个处理器和存储器;存储器与一个或多个处理器耦合,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,一个或多个处理器调用计算机指令以使得电子设备执行如第一方面中任一项的方法。

31、第三方面,本技术实施例提供了一种芯片系统,芯片系统应用于电子设备,芯片系统包括一个或多个处理器,一个或多个处理器用于调用计算机指令以使得电子设备执行如第一方面中任一项所述的方法。

32、第四方面,本技术实施例提供了一种计算机可读存储介质,计算机可读存储介质包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行如第一方面中任一项所述的方法。

33、第五方面,本技术实施例提供了一种计算机程序产品,计算机程序产品包括计算机程序代码,当计算机程序代码在电子设备上运行时,使得电子设备执行如第一方面中任一项所述的方法。

34、应当理解的是,本技术的第二方面至第五方面与本技术的第一方面的技术方案相对应,各方面及对应的可选实施方式所取得的有益效果相似,不再赘述。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1