《经分段的高速缓存.pdf》由会员分享,可在线阅读,更多相关《经分段的高速缓存.pdf(16页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103999062 A (43)申请公布日 2014.08.20 C N 1 0 3 9 9 9 0 6 2 A (21)申请号 201180075893.0 (22)申请日 2011.10.26 G06F 12/08(2006.01) G06F 12/00(2006.01) (71)申请人惠普发展公司,有限责任合伙企业 地址美国德克萨斯州 (72)发明人 F.C.托马斯三世 W.A.加斯帕德 C.W.苏 (74)专利代理机构中国专利代理(香港)有限公 司 72001 代理人谢攀 胡莉莉 (54) 发明名称 经分段的高速缓存 (57) 摘要 本文的实施例涉及分段和锁定。
2、用来存储高速 缓存信息的第一非易失性存储器。在实施例中,第 一非易失性存储器被划分成多个分段。然后,多个 类型的软件中的第一类型的软件被锁定到所述多 个分段中的第一分段。第一锁定分段存储与第一 类型的软件关联的高速缓存信息。 (85)PCT国际申请进入国家阶段日 2014.06.25 (86)PCT国际申请的申请数据 PCT/US2011/057913 2011.10.26 (87)PCT国际申请的公布数据 WO2013/062542 EN 2013.05.02 (51)Int.Cl. 权利要求书2页 说明书8页 附图5页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书。
3、2页 说明书8页 附图5页 (10)申请公布号 CN 103999062 A CN 103999062 A 1/2页 2 1.一种用于对高速缓存进行分段的方法,包括: 将用以存储高速缓存信息的第一非易失性存储器划分成多个分段,以及 将多个类型的软件中的第一类型的软件锁定到所述多个分段中的第一分段,其中 第一锁定分段存储与第一类型的软件关联的高速缓存信息。 2.根据权利要求1所述的方法,其中 所述锁定将所述多个类型的软件中的第二类型的软件锁定到所述多个分段中的第二 分段,以及 第二锁定分段存储与第二类型的软件关联的高速缓存信息。 3.根据权利要求2所述的方法,其中 第一和第二类型的软件是与操作系。
4、统(OS)相关的过程类型和应用类型中的至少一个, 所述应用是web浏览器、用户应用和厂商应用中的至少一个,并且 所述过程是引导、冬眠、关闭和休眠过程中的至少一个。 4.根据权利要求3所述的方法,其中 所述锁定不锁定所述多个分段中的第三分段, 在第一分段充满的情况下,所述锁定将与第一类型的软件关联的高速缓存信息存储到 第三分段,并且 在第二分段充满的情况下,锁定模块将与第二类型的软件关联的高速缓存信息存储到 第三分段。 5.根据权利要求1所述的方法,其中 基于厂商规范、用户命令、和第一非易失性存储器的大小中的至少一个,所述划分最初 设置所述多个分段的数量和大小, 基于用户命令和所述多个类型的软件。
5、的使用模式中的至少一个,所述划分动态地改变 所述多个分段的数量和大小中的至少一个。 6.根据权利要求1所述的方法,其中基于所述多个类型的软件的使用模式和用户命令 中的至少一个,所述锁定将所述多个类型的软件中的一个动态地锁定到所述多个分段中的 一个。 7.根据权利要求1所述的方法,其中, 所述锁定确定被分类为第一类型的软件的第一和第二应用的使用率,以及 基于所确定的使用率,所述锁定将第一和第二应用中的一个动态地锁定到第一锁定分 段。 8.根据权利要求1所述的方法,其中, 在第一类型的软件被修改和被启动中的至少一个的情况下,所述锁定更新第一锁定分 段,并且 所述锁定进行以下动作中的至少一个:从第一。
6、锁定分段中启动第一类型的软件以及将 对第一类型的软件的调用指向第一锁定分段。 9.根据权利要求1所述的方法,进一步包括: 在包括第一非易失性存储器的设备要进入降低功率状态以及用户选择所述多个分段 中的一个或多个以被擦除中的至少一个的情况下,单独地擦除所述多个分段中的一个或多 个。 权 利 要 求 书CN 103999062 A 2/2页 3 10.根据权利要求9所述的方法,其中 在所述设备进入降低功率状态之前所述多个分段中的一个或多个的擦除未被完成的 情况下,当所述设备返回到高功率状态时,所述擦除要继续擦除所述多个分段中的一个或 多个,并且 正在被擦除的多个分段中的一个或多个不对存储高速缓存信。
7、息可用直到擦除被完成 为止。 11.一种存储指令的非临时计算机可读存储介质,如果所述指令被设备的处理器执行, 则使所述处理器进行以下动作: 将用以存储高速缓存信息的第一非易失性存储器分段成多个分段;以及 将多个类型的软件中的第一类型的软件锁定到所述多个分段中的第一分段,其中 第一锁定分段存储与第一类型的软件关联的高速缓存信息。 12.根据权利要求11所述的非临时计算机可读存储介质,进一步包括指令,如果所述 指令被所述处理器执行,则使所述处理器进行以下动作: 将所述多个类型的软件中的第二类型的软件锁定到所述多个分段中的第二分段,其中 第二锁定分段存储与第二类型的软件关联的高速缓存信息,并且 第一。
8、和第二类型的软件中的至少一个基于用户命令、厂商规范和使用率中的至少一个 而被选择以被锁定。 13.根据权利要求12所述的非临时计算机可读存储介质,进一步包括指令,如果所述 指令被所述处理器执行,则使所述处理器进行以下动作: 在第一分段充满的情况下,将与第一类型的软件关联的信息存储到所述多个分段中的 第三分段,并且 在第二分段充满的情况下,将与第二类型的软件关联的信息存储到所述第三分段。 14.一种设备,包括: 第一非易失性存储器,用来存储高速缓存信息; 分段模块,用来将所述第一非易失性存储器划分成多个分段;以及 锁定模块,用来将多个类型的软件中的第一类型的软件锁定到所述多个分段中的第一 分段,。
9、其中 第一锁定分段存储与第一类型的软件关联的高速缓存信息。 15.根据权利要求14所述的方法,进一步包括: 第二非易失性存储器,用来存储第一类型的软件;以及 存储器控制器,用来控制第一和第二非易失性存储器,其中 所述分段和锁定模块经由操作系统(OS)与所述存储器控制器进行通信来进行以下动 作中的中的至少一个:创建以及锁定所述多个分段。 权 利 要 求 书CN 103999062 A 1/8页 4 经分段的高速缓存 背景技术 0001 计算设备可以包括诸如闪速存储器之类的具有相对快速访问时间的快存储设备。 快存储设备可以被用作高速缓存来存储被频繁访问的信息。然而,与诸如硬盘驱动器(HDD) 之类。
10、的具有相对缓慢的访问时间的其它类型的存储设备相比,每存储单元的快存储设备可 能相对更加昂贵。 0002 结果,快存储设备可以具有相对较小的存储容量。如果快存储设备被充满容量,则 计算设备的性能可能会受到影响。制造商受到要更加高效地使用快存储设备以便改进计算 设备的性能的挑战。 附图说明 0003 下述详细说明参考附图,其中: 图1是具有包括多个分段的第一非易失性存储器的设备的示例性框图; 图2是图1的第一非易失性存储器的示例性框图; 图3是包括用于分段和锁定(pin)第一非易失性存储器的指令的计算设备的示例性框 图; 图4是用于分段和锁定第一非易失性存储器的方法的示例性流程图;并且 图5是用于。
11、分段和锁定第一非易失性存储器的方法的另一个示例性流程图。 具体实施方式 0004 在下述描述中给出具体细节来提供对实施例的彻底理解。然而,本领域普通技术 人员应该理解,可以在没有这些具体细节的情况下实践所述实施例。例如,系统可以以框图 示出,以便不会不必要地详细地使实施例模糊。在其他实例中,公知的过程、结构和技术可 以在没有不必要的细节的情况下被示出,以便避免使实施例模糊。 0005 除了诸如硬盘驱动器(HDD)之类的慢速存储设备之外,计算设备可以包括诸如闪 速存储器之类的快速存储设备。快速存储设备可以具有比慢速存储设备更低的等待时间。 计算设备可以通过在快速存储设备而不是慢速存储设备处存储更。
12、多被频繁访问的信息(诸 如高速缓存信息)来提高性能。例如,计算设备可以使用快速存储设备作为用以存储包括被 频繁访问的软件代码和/或其数据的高速缓存信息的高速缓存。计算设备可以立即(直写 (write-through)或者在一段时间之后(回写(write-back)而将在快速存储设备处的经 更新的高速缓存信息写到慢速存储设备。例如,在高速缓存被清除之后,快速存储设备中的 非临时性文件可以被镜像到慢速存储设备中。 0006 然而,快速存储设备可能不具有足够大的存储容量来存储正被计算设备使用的所 有高速缓存信息。同样,如果高速缓存信息不是从快速存储设备中可检索的(诸如在高速缓 存缺失期间),则缺失的。
13、高速缓存信息可以从慢速存储设备中被检索。因此,快速存储设备 的存储容量可能间接地充当对计算设备的性能的瓶颈。此外,由于快速存储设备通常每存 储器单元比慢速存储设备显著地更昂贵,快速存储设备的存储容量通常不可以增加。 说 明 书CN 103999062 A 2/8页 5 0007 另外,由于第一应用被用户连续地使用,其更多的高速缓存信息可以填充快速存 储设备,允许第一应用变得逐渐更加响应迅速并且/或者在性能上改进。例如,第一应用可 以越来越快地启动或运行。然而,如果用户开始使用第二应用,由于用户等待第二应用的高 速缓存信息越来越多地填充快速存储设备,这种响应性可能会丢失。 0008 此外,由于快。
14、速存储设备的受限的存储容量,第一应用的高速缓存信息可能用第 二应用的高速缓存信息而被重写。因此,如果用户切换回第一应用,则与之前相比,第一应 用可能最初也不太响应迅速。因此,由于等待用当前使用中的应用的高速缓存信息来填充 快速存储设备,当还原回先前所使用的应用时,新启动的应用可能不是立即响应的并且/ 或者响应性可能丢失。 0009 甚至对于第一应用的第一访问或即使诸如第二应用之类的另一个应用在第一应 用的访问之间被大量地使用,实施例也可以允许诸如第一应用之类的软件成为立即响应的 或最初更响应迅速的。例如,在实施例中,快速存储设备可以被划分成分段。这些分段中的 至少一个(诸如第一分段)可以被锁定。
15、到诸如第一应用之类的软件类型,以便仅存储该类型 的软件的高速缓存信息。另外,甚至在该类型的软件被访问之前,该类型的软件的高速缓存 信息也可以填充锁定于其的分段。 0010 例如,第一应用可以被锁定到第一分段。因此,甚至在第一应用被访问之前,第一 应用的高速缓存信息的至少部分(诸如用于启动第一应用的软件代码)也可以被存储在第 一分段处。因此,甚至在通过用户的第一访问时,第一应用可以是更响应迅速的(诸如通过 更快地启动)。用户可能大量地使用第二应用,并且然后切换回第一应用。尽管如此,第一 应用将保持响应迅速,这是因为其高速缓存信息将会被保留在第一分段中。 0011 现在参考附图,图1是具有包括多个。
16、分段142-1到142-n的第一非易失性存储器 140的设备100的示例性框图。设备100的示例可以包括笔记本计算机、台式计算机、一体 化系统、平板计算设备、便携式阅读设备、无线电子邮件设备、移动电话等等。在图1的实施 例中,设备100包括处理器110、分段模块120、锁定模块130和第一非易失性存储器140。 第一非易失性存储器140进一步包括多个分段141-1到141-n,其中n是大于1的自然数。 0012 处理器110可以是适合于从第一非易失性存储器140和/或被配置成执行下述任 何模块120和130的功能的电子电路检索并执行指令的CPU、GPU或微处理器。第一非易失 性存储器140可以。
17、是一个或多个非易失性机器可读存储介质,诸如甚至当不被供电时也保 留所存储的信息的任何电子、磁性、光学或其他物理存储设备。第一非易失性存储器140的 示例可以包括固态驱动器(SSD)或闪速存储器。 0013 模块120和130中的每一个可以包括例如包括用于实现下述功能的电子电路的硬 件设备。附加地或作为替换,每个模块可以被实现为编码在机器可读存储介质(诸如第一非 易失性存储器140)上并被处理器110可执行的一系列指令。在实施例中,模块120和130 中的部分可以被实现为硬件设备,而其他模块被实现为可执行的指令。例如,模块120和 130可以被实现为由运行在设备100上的操作系统(OS)(未示出。
18、)所运行的应用的部分。 0014 第一非易失性存储器140可以被用做用于存储高速缓存信息的高速缓存。与设备 100的第二非易失性存储器(未示出)相比,第一非易失性存储器140可以具有更低的等待 时间。第二非易失性存储器可以存储多个类型的软件(诸如第一和/或第二类型的软件)。 第二非易失性存储器可以是一个或多个非易失性机器可读存储介质,诸如甚至当不被供电 说 明 书CN 103999062 A 3/8页 6 时也保留所存储的信息的任何电子、磁性、光学或其他物理存储设备。第二非易失性存储器 的示例可以包括硬盘驱动器(HDD)或存储驱动器。 0015 高速缓存信息包括可以包括可能被再次使用或频繁使用。
19、的信息,诸如软件指令和 /或与其相关的数据,诸如元数据和/或被用户或软件所生成或修改数据。例如,多个类型 的软件(诸如OS、应用或web(网络)浏览器)或硬件(诸如处理器110或另一个存储器)的高 速缓存信息可以被存储在第一非易失性存储器140处以用于对高速缓存数据更快的访问。 0016 分段模块120要将第一非易失性存储器140划分成多个分段142-1到142-n。分 段142-1到142-n的数量和每个分段142-1到142-n的大小可以是可变的。锁定模块130 可以将多个类型的软件中的一个或多个锁定到多个分段142-1到142-n中的一个或多个。 例如,锁定模块130可以将多个类型的软件。
20、中的第一类型的软件锁定到多个分段142-1到 142-n中的第一分段142-1。 0017 锁定模块130也可以将多个类型的软件中的第二类型的软件锁定到多个分段 142-1到142-n中的第二分段142-2,第二锁定分段142-2用来存储与第二类型的软件关联 的高速缓存信息。第二分段142-2可以是尚未被锁定的多个分段142-1到142-n中的任何 一个。实施例可以包括直到被锁定的多个分段142-1到142-n中的所有分段。然而,通常 多个分段142-1到142-n中的一个(诸如第三分段142-3)可以保持未被锁定以充当通用的 高速缓存。下文可以关于图2更加详细地解释第一非易失性存储器140的。
21、示例。 0018 锁定分段142-1到142-n中的一个可以指的是保留或使被锁定的分段的存储器空 间永久用于特定使用。因此,如果第一类型的软件被锁定到第一分段142-1,第一锁定分段 142-1可以存储与第一类型的软件关联的高速缓存信息。另外,第一锁定分段142-1可能 不存储与第一类型的软件不关联的任何高速缓存信息(诸如第二类型的软件的高速缓存信 息)。软件类型的示例可以包括至少部分OS、诸如引导、冬眠、关闭或休眠过程之类的过程、 web浏览器、诸如图形编辑程序或CAD程序编辑器之类的生产力工具、软件框架、用户应用、 厂商应用等。 0019 当诸如第一类型的软件之类的软件类型之一被锁定到诸如。
22、第一分段142-1之类 的分段142-1到142-n之一时,锁定模块130可以将诸如文件或逻辑块地址(LBA)之类的 代码和/或与被最频繁使用的第一类型的软件相关的数据存储到第一分段142-1。例如,所 述代码可以包括源和/或运行时间代码并且所述数据可以包括元数据和/或用户数据。另 外,甚至在第一类型的软件被最初启动之前,至少一些代码(诸如用于启动第一类型的软件 的代码)可以被存储到第一分段142-1,以便更快地启动第一类型的软件。在此类情况下, 对第一类型的软件的调用可以从第二非易失性存储器指向第一非易失性存储器140。 0020 另外,当启动和/或修改第一类型的软件时以及当第一分段142-。
23、1被访问时,可以 用第一类型的软件的代码来更新第一分段142-1。可替换地或附加地,可以基于第一类型的 软件的使用率而更新第一分段142-1。使用率可以指的是在给定的时间段期间,软件类型被 访问和/或修改的次数。例如,如果第一类型的软件的使用率大于阈值使用率,则锁定模块 130可以更新第一分段142-1。锁定模块130可以通过将存储在第二非易失性存储器处的 第一类型的软件的文件或LBA的更新版本推送到第一分段142-1以便替换其先前的版本。 0021 尽管图1仅描述了被锁定在分段142-1到142-n中的一个的单个类型的软件,实 施例可以包括被锁定在分段142-1到142-n中的一个的多于一种。
24、类型的软件。分段142-1 说 明 书CN 103999062 A 4/8页 7 到142-n的大小和数量以及被锁定到分段142-1到142-n中的任何分段的软件的类型可以 例如通过厂商、用户和/或模块120和130被确定。另外,在实施例中,分段142到142-n 的大小、数量和锁定中的任何一个可以是静态的或动态变化的。术语静态的可以指的是锁 定的或不可改变的情况。例如,锁定到静态分段的软件的大小或类型可以不被用户改变。 基于软件类型的使用率,锁定模块130可以确定哪种软件类型将要被锁定在分段142-1到 142-n中的哪个。 0022 在一个示例中,厂商可以寻求保证设备100快速地引导。因此。
25、,厂商可以创建第一 分段142-1并且静态地将诸如引导过程之类的OS过程锁定到第一分段142-1来减少设备 100的引导时间。由于第一非易失性存储器140可以在不被供电的情况下保留信息,在设备 100被断电的情况下,与引导过程相关的高速缓存信息将不会被丢失。 0023 在另一个示例中,用户可以经由图形用户界面(GUI)来变化分段142-1到142-n 的大小,删除或添加分段142-1到142-n和/或改变哪种软件类型被锁定到分段142-1到 142-n。GUI可以运行在设备100的OS上并且经由应用编程界面(API)与第一非易失性存 储器140交互。 0024 在又另一个示例中,分段和/或锁定。
26、模块120和130可以经由适应性算法动态地 变化分段142到142-n的大小、数量和/或锁定。例如,分段模块120可以自动地减少分段 142-1到142-n中通常没有被完全充满的一个的大小,或者增加分段142-1到142-n中通常 被完全充满的另一个的大小。软件类型的响应性可以是锁定于其的分段的大小的函数。分 段模块120也可以删除分段142-1到142-n中被锁定到不被经常访问的软件类型的一个分 段,以便增加分段142-1到142-n中被经常访问的另一个分段的大小。 0025 设备100也可以包括用于单个类型的软件的多种实例。例如,设备100可以包括诸 如Internet Explorer和。
27、Firefox之类的两个web浏览器。在这种情况下,web浏览器类型 的软件的所有实例的高速缓存信息可以被指向锁定到web浏览器类型的软件的分段,诸如 第三分段142-3。可替换地,用户、厂商和/或锁定模块130可以确定软件类型的哪个实例 要被锁定。例如,因为用户使用Firefox多于Internet Explorer,所以用户可以将Firefox 锁定到第三分段142-3而不是将Internet Explorer锁定到第三分段142-3。锁定模块130 可以基于使用率来确定锁定单个类型的软件的哪个实例。例如,锁定模块130可以锁定具 有最高使用率的实例。 0026 在一个实施例中,诸如在第一。
28、非易失性存储器140和第二非易失性存储器是混合 驱动器的部分的情况下,设备100可以包括用来控制第一非易失性存储器140和第二非易 失性存储器的存储器控制器(未示出)。在这种情况下,分段和锁定模块120和130可以经 由OS而与存储器控制器通信来进行创建和锁定多个分段142-1到142-n中的至少一项。例 如,分段和锁定模块120和130可以经由SATA接口、PATA接口、标记的短命令文件、或其他 混合驱动器通信机制与存储器控制器通信。 0027 如上所述,与RAM不同,即使设备100处于关闭状态,高速缓存信息也将被保留在 第一非易失性存储器140中。然而,用户和/或厂商可能不希望所有的高速缓。
29、存信息都被 保留。例如,用户和/或厂商可能希望像个人的或私有的信息之类的机密的高速缓存信息 和/或像设备100的组件的瞬时上下文信息之类的不必要的高速缓存信息会被擦除。尽管 如此,用户和/或厂商可以仍然寻求保留高速缓存信息的剩余部分(诸如用于设备100的更 说 明 书CN 103999062 A 5/8页 8 快引导的引导过程的高速缓存信息或用于用户应用更快启动和/或运行的用户应用的高 速缓存信息)。 0028 设备100可以包括擦除模块(未示出),所述擦除模块用于在OS要进入降低功率状 态以及用户选择要擦除多个分段中的一个或多个中的至少一个的情况下单独地擦除所述 多个分段142-1到142-。
30、n中的一个或多个。降低功率状态的示例可以包括设备100进入 关闭状态、冬眠状态或者休眠状态。例如,用户和/或厂商可以将设备100设置成在进入降 低功率状态之前自动地擦除分段142-1到142-n中的一个或多个。附加地,用户可以在设 备100的操作期间诸如通过GUI来擦除分段142-1到142-n中的又一个。在分段142-1到 142-n中的又一个已经被成功地擦除后,可以通知用户。下文将关于图5更加详细地解释擦 除模块。 0029 关于第一和/或第二分段142-1和142-2描述的任何操作或属性也可以适用于其 他多个分段142-1到142-n中的任何分段。因此,实施例可以诸如通过减少启动或运行时。
31、 间、通过减少对其高速缓存信息的访问次数之类来改进软件类型的响应性。另外,多个分段 142-1到142-n可以允许这种响应性发生在软件类型的第一次启动并且/或者甚至当在不 同类型的软件之间切换时被保留。另外,厂商可以能够改进开箱(OBE)的设备100的性能。 0030 图2是图1的第一非易失性存储器140的示例性框图。在该实施例中,第一非易 失性存储器140包括六个分段142-1到142-6,即:n是6。第一分段142-1被示出用来存 储与诸如OS过程之类的第一类型的软件相关的高速缓存信息。OS过程的示例可以包括引 导、冬眠、关闭或休眠过程。第二分段142-2被示出用来存储与诸如厂商应用之类的。
32、第二类 型的软件相关的高速缓存信息。厂商应用的示例可以包括预安装在设备100上的软件,诸 如私有软件或对设备100的硬件组件特定的软件。 0031 第三分段142-3被示出用来存储与诸如web浏览器之类的第三类型软件相关的高 速缓存信息。web浏览器的示例可以包括诸如Internet Explorer、Firefox、Google Chrome、 Safari、Opera等之类的软件。第四分段142-4被示出用来存储与诸如第一用户应用之类 的第四类型软件相关的高速缓存信息,并且第五分段142-5被示出用来存储与诸如第二用 户应用之类的第五类型软件相关的高速缓存信息。第一和第二用户应用的示例可以。
33、包括任 何类型的用户安装的和/或非厂商的应用,诸如图形程序、视频游戏、多媒体软件等。 0032 第六分段142-6被示出用来作为通用高速缓存,任何高速缓存信息可以被存储 在其中。通用高速缓存可以根据高速缓存算法(诸如最近最少使用(LRU)、最近最多使用 (MRU)等)操作。因此,在该示例中,第一到第五分段142-1到142-6被锁定而第六分段142-6 保持不被锁定。例如,未被锁定在第一到第五分段142-1到142-6的任何高速缓存信息可 以被存储到第六分段142-6。另外,如果第一到第五分段142-1到142-6中的任何分段被充 满,尽管没有被锁定到第六分段142-6,其附加或溢出的高速缓存。
34、信息也可以被存储在第六 分段142-6。例如,如果第一或第二分段142-1或142-2被充满,则与诸如OS过程之类的第 一类型的软件或诸如厂商应用信息之类的第二类型的软件相关联的高速缓存信息可以被 存储在第六分段142-6处。锁定到分段142-1到142-5中的一个的高速缓存信息将不被存 储在通用高速缓存或第六分段142-6直到锁定的分段充满为止,因此,降低第一非易失性 存储器140的存储容量的部分被浪费或未使用的可能性。 0033 虽然图2的第一非易失性存储器140被示出具有六个分段141-1到142-6,第一非 说 明 书CN 103999062 A 6/8页 9 易失性存储器140的实施。
35、例可以具有多于或少于六个分段。另外,第一非易失性存储器140 的分段的大小和/或数量可以取决于第一非易失性存储器140的存储容量。例如,与第一 非易失性存储器140的较小存储容量的分段相比,对于较大的存储容量可以有更大的分段 大小和/或数量。 0034 图3是包括用于分段和锁定第一非易失性存储器140的指令的计算设备300的示 例性框图。在图3的实施例中,计算设备300包括处理器310、第一非易失性存储器140和 机器可读存储介质320。机器可读存储介质320进一步包括用于分段和锁定第一非易失性 存储器140的指令322和324。 0035 计算设备300可以是例如芯片组、笔记本计算机、平板计。
36、算设备、便携式阅读设 备、无线电子邮件设备、移动电话或能够执行指令322和324的任何其它设备。在某些示例 中,计算设备300可以包括或被连接到附加的组件(诸如存储器、传感器、显示器等)。例如, 计算设备300可以包括与图1所述的第二非易失性存储器类似的第二非易失性存储器(未 示出)。可替换地,第二非易失性存储器可以是机器可读存储介质320的部分。 0036 处理器310可以是,至少一个中央处理单元(CPU)、至少一个基于半导体的微处理 器、至少一个图形处理单元(GPU)、适合于检索和执行存储在机器可读存储介质320中的指 令的其它硬件设备或其组合。处理器310可以取、解码和执行指令322和3。
37、24来实现分段 和锁定第一非易失性存储器140。作为替换或除了检索和执行指令之外,处理器310还可以 包括包含用于执行指令322和324的功能的多个电子组件的至少一个集成电路(IC)、其它 控制逻辑、其它电子电路或其组合。 0037 机器可读存储介质320可以是包含或存储可执行指令的任何电子、磁性、光学或 其它物理存储设备。因此,机器可读存储介质320可以是例如随机访问存储器(RAM)、电可 擦可编程只读存储器(EEPROM)、存储驱动器、光盘只读存储器(CD-ROM)等。同样,机器可读 存储介质320可以是非临时的。如下文详细描述,机器可读存储介质320可以被编码有用 于分段和锁定第一非易失。
38、性存储器140的一系列可执行指令。 0038 此外,当被处理器(例如,经由所述处理器的一个处理元件或多个处理元件)执行 时,指令322和324能够使处理器执行过程(诸如图4或5的过程)。例如,分段指令322可 以被处理器310执行用以将第一非易失性存储器140分段成多个分段。锁定指令324可以 被处理器319执行用以将多个类型的软件中的第一类型的软件锁定到多个分段142-1到 142-n中的第一分段142-1。第一锁定分段存储与第一类型的软件关联的高速缓存信息。锁 定指令324也可以被处理器310执行用以将多个类型的软件中的第二类型的软件锁定到多 个分段142-1到142-n中的第二分段142。
39、-2。第二锁定分段142-2存储与第二类型的软件 关联的高速缓存信息。 0039 机器可读存储介质320也可以包括用以进行以下各项的指令(未示出):在第一分 段充满的情况下,将与第一类型的软件关联的信息存储到多个分段142-1到142-n中的第 三分段142-3,并且在第二分段充满的情况下,将与第二类型的软件关联的信息存储到第三 分段142-3。可以关于图4和5更详细地描述设备300的操作。 0040 图4是用于分段和锁定第一非易失性存储器140的方法400的示例性流程图。尽 管下文参考设备100描述了方法400的执行,能够利用用于执行方法400的其他适合的组 件(诸如设备300)。此外,用于。
40、执行方法400的组件可以散布在多个设备之中(例如,与输入 说 明 书CN 103999062 A 7/8页 10 和输出设备通信的处理设备)。在某些场景下,协调作用的多个设备能够被视作用以执行方 法400的单个设备。方法400可以以存储在诸如存储介质320之类的机器可读存储介质上 的可执行指令的形式,和/或以电子电路的形式来实现。 0041 在方框410处,设备100将用于存储高速缓存信息的第一非易失性存储器140划 分成多个分段142-1到142-n。在方框410处,基于厂商规范、用户命令和第一非易失性存 储器140的大小中的至少一个,设备100可以最初设置多个分段142-1到142-n的数。
41、量和 大小。基于用户命令和多个类型的软件的使用模式中的至少一个,在方框410处,多个分段 142-1到142-n的数量和大小中的至少一个可以动态地改变。 0042 然后,在方框420处,设备100将多个类型的软件中的第一类型的软件锁定到多个 分段142-1到142-n中的第一分段142-1。第一锁定分段142-1存储与第一类型的软件关 联的高速缓存信息。如上文所述,在方框420处,基于多个类型的软件的使用模式和用户命 令中的至少一个,设备100可以将多个类型的软件中的一个或多个动态地锁定到多个分段 142-1到142-n中的一个。 0043 例如,设备100可以将第二类型的软件锁定到多个分段1。
42、42-1到142-n中的第二 分段142-2。在方框420处,设备100可以不锁定多个分段142-1到142-n中的所有分段 (诸如多个分段142-1到142-n中的第三分段142-3)。另外,在方框420处,在第一分段 142-1充满的情况下,设备100可以将与第一类型的软件关联的高速缓存信息存储到第三 分段142-3,并且在第二分段充满142-2的情况下将与第二类型的软件关联的高速缓存信 息存储到第三分段142-3。 0044 在方框420处,设备100也可以确定被分类为第一类型的软件的第一和第二应用 的使用率,并且基于所确定的使用率,将第一和第二应用中的一个动态地锁定到第一锁定 分段14。
43、2-1。在方框420处,在第一类型的软件被修改和被启动中的至少一个的情况下,设 备100更新第一锁定分段142-1。设备100进行以下动作中的至少一个:从第一锁定分段 142-1中启动第一类型的软件以及将对第一类型的软件的调用指向第一锁定分段142-1。 0045 图5是用于分段和锁定第一非易失性存储器140的方法500的另一个示例性流程 图。尽管下文参考设备100描述了方法500的执行,能够利用用于执行方法500的其他适 合的组件(诸如设备300)。此外,用于执行方法500的组件可以散布在多个设备之中(例如, 与输入和输出设备通信的处理设备)。在某些情景下,协调作用的多个设备能够被视作用以 。
44、执行方法500的单个设备。方法500可以以存储在诸如存储介质320之类的机器可读存储 介质上的可执行指令的形式,和/或以电子电路的形式来实现。 0046 图5的方框510可以与图4的方框410类似,并且图5的方框520可以与图4的 方框420类似。例如,在方框510处,设备100将用来存储高速缓存信息的第一非易失性存 储器140划分成多个分段142-1到142-n。然后,在方框520处,设备100将多个类型的软 件中的第一类型的软件锁定到多个分段142-1到142-n中的第一分段142-1。第一锁定分 段142-1存储与第一类型的软件关联的高速缓存信息。在方框530处,在设备100进入降低 功。
45、率状态以及用户选择多个分段142-1到142-n中的一个或多个以被擦除的至少一个的情 况下,设备100单独地擦除多个分段142-1到142-n中的一个或多个。例如,设备100的擦 除模块可以接收来自用户的命令以立即擦除多个分段142-1到142-n中的第一分段142-1, 并且/或者接收来自设备100的OS的命令以在设备100进入降低功率状态之前擦除第一 说 明 书CN 103999062 A 10 8/8页 11 分段142-1。 0047 然而,如果第一非易失性存储器140包括闪速或SSD存储器,第一非易失性存储器 140可能仅是以块为单位可擦除的,所述块不与多个分段142-1到142-n。
46、的寻址结构相对 应。例如,擦除所述块中的一个可以仅擦除多个分段142-1到142-n中的第一分段142-1 的部分和/或擦除多个分段142-1到142-n中的第二分段142-2的部分。为了确保仅第一 分段142-1被擦除,擦除模块可以与第一非易失性存储器140的闪速控制器(未示出)通信。 0048 闪速控制器可以维护被用于提供用以存储、检索和更新数据的过程的闪速文件系 统,以及管理第一非易失性存储器140上的可用空间。例如,由于在写之前可能必须显性地 擦除所述块,闪速控制器可以在设备100空闲的同时擦除未使用的区块以节省时间。另外, 闪速控制器可以将写均匀地分布在整个第一非易失性存储器140上。
47、来减少或防止磨损均 衡,其发生在当所述块中的一个通过被重复地重写而磨损时。 0049 擦除模块可以与闪速控制器通信来确定多个分段142-1到142-n的映射和第一非 易失性存储器140的块之间的相关性。擦除模块还可以与闪速控制器通信来保留不被擦 除的多个分段142-1到142-n的高速缓存信息。例如,如果擦除第一分段142-1也会擦除 第二分段142-2中的至少部分(诸如如果第一和第二分段142-1和142-2共享相同块的部 分),则擦除模块可以与闪速存储器通信来首先将要被擦除的块中的第二分段142-2的高速 缓存信息保存到诸如另一个存储器块之类的另一个位置。可替换地,要被擦除的块中的第 三分。
48、段142-3的高速缓存信息可以被保存到诸如存储介质320或第二非易失性存储器之类 的另一个存储器。然后,擦除模块可以与闪速存控制器通信以通过擦除存储第一分段142-1 的高速缓存信息的一个或多个块来擦除第一分段142-1。然后,取决于第三分段142-3的高 速缓存信息被存储在哪里,擦除模块可以指引高速缓存控制器回写第三分段142-3的高速 缓存信息。 0050 此外,在方框530处,擦除模块可以与OS通信来延迟设备100进入降低功率状态 直到完成一个或多个分段142-1到142-n的擦除为止。然而,在设备100进入降低功率状态 之前,如果多个分段142-1到142-n中的一个或多个的擦除没有被。
49、完成,则当设备100返回 到诸如上电状态之类的高功率状态时,擦除模块要继续擦除多个分段142-1到142-n中的 一个或多个。另外,正在被擦除的多个分段142-1到142-n中的一个或多个可能不对存储 高速缓存信息可用,直到多个分段142-1到142-n中的一个或多个的擦除被完成为止。虽 然实施例已经描述了关于擦除的上述步骤,实施例不被限制于此。例如,设备100也可以执 行用于重写和/或加密/解密分段142-1到142-n中的至少一个的高速缓存信息的类似过 程。 0051 根据前述内容,实施例提供用于分段和锁定存储高速缓存信息的第一非易失性存 储器的方法和/或设备。例如,第一类型的软件的高速缓存信息可以被锁定到多个分段中 的第一分段。因此,在实施例中,即使对于第一类型的软件的第一次访问或即使在第一类型 的软件的访问之间大量地使用第二类型的软件,第一类型的软件也可以是立即响应的或最 初更响应迅速的。 说 明 书CN 103999062 A 11 1/5页 12 图 1 说 明 书 附 图CN 103999062 A 12 2/5页 13 图 2 说 明 书 附 图CN 10399。