本技术实施例涉及电子设备领域,尤其涉及一种存储方法、装置、设备及存储介质。
背景技术:
1、固态闪存存储设备(solid state disk,ssd)也称固态磁盘、固态硬盘等。随着闪存存储技术的快速进步和存储需求的日益增加,ssd的存储密度也逐渐增大。例如,ssd的存储单元的使用模式单层单元(single-level cell,slc)模式逐渐增加到了双层单元(multi-level cell,mlc)模式、三层单元(triple-level cell,tlc)模式、四层单元(quad-level cell,qlc)模式等。ssd的存储密度增大,可以使ssd的容量更大、成本更低,但ssd的输入输出(input and output,io)性能(即读写性能)会出现大幅度的下降。
2、目前,在ssd中采用混合高速介质和低速介质的方式,可以优化ssd的io性能。采用混合高速介质和低速介质的ssd可以被称为混合式ssd。混合式ssd可以包括:静态slc容量的混合式ssd、动态slc容量的混合式ssd。静态slc容量的混合式ssd的存储空间可以包括:qlc区域和静态slc区域,静态slc区域的大小固定。动态slc容量的混合式ssd的存储空间可以包括:qlc区域、动态slc区域、以及静态slc区域,静态slc区域的大小也是固定的,随着动态slc容量的混合式ssd的总体空间使用率逐渐增加,动态slc区域中的部分区域可以切换到多层单元模式下工作,动态slc区域会逐渐减小。
3、对于动态slc容量的混合式ssd而言,动态slc区域中的部分区域切换到多层单元模式下工作时,动态slc容量的混合式ssd的容量会增大,但动态slc容量的混合式ssd的io性能会下降。
技术实现思路
1、本技术实施例提供一种存储方法、装置、设备及存储介质,其中,该方法可以根据存储设备的总体空间使用率,对存储设备的最大可用缓存空间的大小进行调整。通过控制存储设备的最大可用缓存空间,可以减少存储设备的总体空间使用量,保持存储设备中可用单层单元缓存空间的大小,提高存储设备的读写性能。
2、第一方面,本技术实施例提供一种存储方法,所述方法包括:获取存储设备的总体空间使用率;存储设备包括工作在多层单元区域、动态单层单元区域、以及静态单层单元区域;总体空间使用率是根据存储设备的存储空间的大小、以及存储设备的存储空间中被使用区域的大小所确定的。根据总体空间使用率,对存储设备的最大可用缓存空间的大小进行调整;最大可用缓存空间是向存储设备中存储缓存数据时,允许缓存数据占用的最大存储空间。
3、当总体空间使用率为第一总体空间使用率时,动态单层单元区域的大小为第四容量,调整后的最大可用缓存空间的大小为第一值;当总体空间使用率为第二总体空间使用率时,动态单层单元区域的大小为第五容量,调整后的最大可用缓存空间的大小为第二值;第二总体空间使用率大于第一总体空间使用率,第五容量小于第四容量,第二值小于第一值。
4、该存储方法中,通过控制最大可用缓存空间的方法,可以减少存储设备的总体空间使用量,保持可用slc缓存空间的大小,提高存储设备的io性能。
5、一种可能的实现方式中,当总体空间使用率小于或等于第一阈值时,最大可用缓存空间的大小等于第一容量,第一容量小于或等于存储设备的最大单层单元容量、且大于存储设备的静态单层单元区域的容量;最大单层单元容量是存储设备的动态单层单元区域最大时动态单层单元区域和静态单层单元区域的容量之和。
6、当总体空间使用率大于第一阈值、且小于第二阈值时,最大可用缓存空间的大小随着总体空间使用率的增大而减小;第二阈值大于第一阈值。
7、当总体空间使用率大于或等于第二阈值时,最大可用缓存空间的大小等于第二容量,第二容量小于或等于第三容量;第三容量为存储设备的静态单层单元区域的容量,或者,存储设备的剩余可用存储空间的容量,又或者存储设备的静态单层单元区域的容量和剩余可用存储空间的容量中较小值;存储设备的剩余可用存储空间是指存储设备的存储除去常规数据所占用的空间后剩余的空间,常规数据包括存储设备所在的电子设备的本地用户产生的数据。
8、一种可能的示例中,第一阈值等于存储设备的单层单元容量最大时对应的最大总体空间使用率;第二阈值等于存储设备的单层单元容量最小时对应的最小总体空间使用率。
9、另一种可能的示例中,第一阈值小于或大于存储设备的单层单元容量最大时对应的最大总体空间使用率;第二阈值小于或大于存储设备的单层单元容量最小时对应的最小总体空间使用率。
10、一种可能的实现方式中,所述根据总体空间使用率,对存储设备的最大可用缓存空间的大小进行调整,包括:当总体空间使用率大于第一阈值、且小于第二阈值时,总体空间使用率变化第三阈值时,根据总体空间使用率,对存储设备的最大可用缓存空间的大小进行调整。
11、以第三阈值为5%为例,当总体空间使用率大于第一阈值、且小于第二阈值时,可以在总体空间使用率每增加5%时,根据总体空间使用率对存储设备的最大可用缓存空间的大小进行调整。
12、一种可能的实现方式中,所述方法还包括:接收第一应用程序提出的文件请求,文件请求用于请求第一文件;第一应用程序为存储设备所在的电子设备的内存中的应用程序;当内存的缓存空间和存储设备的缓存空间均没有缓存第一文件时,从服务器获取第一文件,并缓存在内存的缓存空间中;当内存的缓存空间占满时,从内存的缓存空间中剔除第二文件;将第二文件缓存到存储设备的缓存空间中;存储设备的缓存空间中存储的缓存数据所占用的存储空间不超过最大可用缓存空间。
13、可选地,所述方法还包括:当内存的缓存空间中缓存了第一文件时,从内存的缓存空间中读取第一文件,并返回给第一应用程序;当存储设备的缓存空间中缓存了第一文件时,从存储设备的缓存空间中读取第一文件,并返回给第一应用程序。
14、可选地,所述方法还包括:根据总体空间使用率,对缓存文件存入存储设备的条件进行动态调整。
15、当总体空间使用率为第三总体空间使用率时,调整后的条件包括:缓存文件在存储设备所在的电子设备的内存中文件操作命中的次数大于或等于第三值,和/或,缓存文件的大小小于或等于第四值;当总体空间使用率为第四总体空间使用率时,调整后的条件包括:缓存文件在存储设备所在的电子设备的内存中文件操作命中的次数大于或等于第五值,和/或,缓存文件的大小小于或等于第六值;第四总体空间使用率大于第三总体空间使用率,第五值大于第三值,第六值小于第四值。
16、该方法根据存储设备的总体空间使用率,对缓存文件可以存入存储设备的缓存空间的条件进行动态调整,可以控制对存储设备的文件写入,维持存储设备的io性能处于较好的状态。
17、一种可能的实现方式中,当总体空间使用率小于或等于第一阈值时,调整后的条件包括:缓存文件在存储设备所在的电子设备的内存中文件操作命中的次数大于或等于第一次数,和/或,缓存文件的大小小于或等于第一字节。
18、当总体空间使用率大于第一阈值、且小于第二阈值时,调整后的条件包括:缓存文件在存储设备所在的电子设备的内存中文件操作命中的次数大于或等于第二次数,和/或,缓存文件的大小小于或等于第二字节;第二阈值大于第一阈值;第二次数大于第一次数,第二字节小于第一字节。
19、当总体空间使用率大于或等于第二阈值时,调整后的条件包括:缓存文件在存储设备所在的电子设备的内存中文件操作命中的次数大于或等于第三次数,和/或,缓存文件的大小小于或等于第三字节;第三次数大于第二次数,第三字节小于第二字节。
20、可选地,第二次数随着总体空间使用率的增大而增大,和/或,第二字节随着总体空间使用率的增加而减小。
21、一种可能的实现方式中,所述方法还包括:接收第一应用程序提出的文件请求,文件请求用于请求第一文件;第一应用程序为存储设备所在的电子设备的内存中的应用程序;当内存的缓存空间和存储设备的缓存空间均没有缓存第一文件时,从服务器获取第一文件,并缓存在内存的缓存空间中;当内存的缓存空间占满时,从内存的缓存空间中剔除第二文件;当第二文件符合调整后的条件时,将第二文件缓存到存储设备的缓存空间中。
22、第二方面,本技术实施例提供一种存储装置,该装置可以应用于电子设备,以使电子设备实现如第一方面及第一方面的任意一种可能的实现方式所述的存储方法。该装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与第一方面及第一方面的任意一种可能的实现方式所述的存储方法中的步骤相对应的模块或单元。
23、例如,该装置可以包括:获取单元、处理单元等。获取单元和处理单元可以配合实现如第一方面及第一方面的任意一种可能的实现方式的存储方法。如:获取单元,可以用于获取存储设备的总体空间使用率;存储设备包括工作在多层单元区域、动态单层单元区域、以及静态单层单元区域;总体空间使用率是根据存储设备的存储空间的大小、以及存储设备的存储空间中被使用区域的大小所确定的。
24、处理单元,可以用于根据总体空间使用率,对存储设备的最大可用缓存空间的大小进行调整;最大可用缓存空间是向存储设备中存储缓存数据时,允许缓存数据占用的最大存储空间。
25、当总体空间使用率为第一总体空间使用率时,动态单层单元区域的大小为第四容量,调整后的最大可用缓存空间的大小为第一值;当总体空间使用率为第二总体空间使用率时,动态单层单元区域的大小为第五容量,调整后的最大可用缓存空间的大小为第二值;第二总体空间使用率大于第一总体空间使用率,第五容量小于第四容量,第二值小于第一值。
26、一种可能的实现方式中,当总体空间使用率小于或等于第一阈值时,最大可用缓存空间的大小等于第一容量,第一容量小于或等于存储设备的最大单层单元容量、且大于存储设备的静态单层单元区域的容量;最大单层单元容量是存储设备的动态单层单元区域最大时动态单层单元区域和静态单层单元区域的容量之和。
27、当总体空间使用率大于第一阈值、且小于第二阈值时,最大可用缓存空间的大小随着总体空间使用率的增大而减小;第二阈值大于第一阈值。
28、当总体空间使用率大于或等于第二阈值时,最大可用缓存空间的大小等于第二容量,第二容量小于或等于第三容量;第三容量为存储设备的静态单层单元区域的容量,或者,存储设备的剩余可用存储空间的容量,又或者存储设备的静态单层单元区域的容量和剩余可用存储空间的容量中较小值;存储设备的剩余可用存储空间是指存储设备的存储除去常规数据所占用的空间后剩余的空间,常规数据包括存储设备所在的电子设备的本地用户产生的数据。
29、一种可能的示例中,第一阈值等于存储设备的单层单元容量最大时对应的最大总体空间使用率;第二阈值等于存储设备的单层单元容量最小时对应的最小总体空间使用率。
30、另一种可能的示例中,第一阈值小于或大于存储设备的单层单元容量最大时对应的最大总体空间使用率;第二阈值小于或大于存储设备的单层单元容量最小时对应的最小总体空间使用率。
31、一种可能的实现方式中,处理单元,具体用于当总体空间使用率大于第一阈值、且小于第二阈值时,总体空间使用率变化第三阈值时,根据总体空间使用率,对存储设备的最大可用缓存空间的大小进行调整。
32、一种可能的实现方式中,处理单元还用于,接收第一应用程序提出的文件请求,文件请求用于请求第一文件;第一应用程序为存储设备所在的电子设备的内存中的应用程序;当内存的缓存空间和存储设备的缓存空间均没有缓存第一文件时,从服务器获取第一文件,并缓存在内存的缓存空间中;当内存的缓存空间占满时,从内存的缓存空间中剔除第二文件;将第二文件缓存到存储设备的缓存空间中;存储设备的缓存空间中存储的缓存数据所占用的存储空间不超过最大可用缓存空间。
33、可选地,处理单元还用于,当内存的缓存空间中缓存了第一文件时,从内存的缓存空间中读取第一文件,并返回给第一应用程序;当存储设备的缓存空间中缓存了第一文件时,从存储设备的缓存空间中读取第一文件,并返回给第一应用程序。
34、可选地,处理单元还用于,根据总体空间使用率,对缓存文件存入存储设备的条件进行动态调整。
35、当总体空间使用率为第三总体空间使用率时,调整后的条件包括:缓存文件在存储设备所在的电子设备的内存中文件操作命中的次数大于或等于第三值,和/或,缓存文件的大小小于或等于第四值;当总体空间使用率为第四总体空间使用率时,调整后的条件包括:缓存文件在存储设备所在的电子设备的内存中文件操作命中的次数大于或等于第五值,和/或,缓存文件的大小小于或等于第六值;第四总体空间使用率大于第三总体空间使用率,第五值大于第三值,第六值小于第四值。
36、一种可能的实现方式中,当总体空间使用率小于或等于第一阈值时,调整后的条件包括:缓存文件在存储设备所在的电子设备的内存中文件操作命中的次数大于或等于第一次数,和/或,缓存文件的大小小于或等于第一字节。
37、当总体空间使用率大于第一阈值、且小于第二阈值时,调整后的条件包括:缓存文件在存储设备所在的电子设备的内存中文件操作命中的次数大于或等于第二次数,和/或,缓存文件的大小小于或等于第二字节;第二阈值大于第一阈值;第二次数大于第一次数,第二字节小于第一字节。
38、当总体空间使用率大于或等于第二阈值时,调整后的条件包括:缓存文件在存储设备所在的电子设备的内存中文件操作命中的次数大于或等于第三次数,和/或,缓存文件的大小小于或等于第三字节;第三次数大于第二次数,第三字节小于第二字节。
39、可选地,第二次数随着总体空间使用率的增大而增大,和/或,第二字节随着总体空间使用率的增加而减小。
40、一种可能的实现方式中,处理单元还用于,接收第一应用程序提出的文件请求,文件请求用于请求第一文件;第一应用程序为存储设备所在的电子设备的内存中的应用程序;当内存的缓存空间和存储设备的缓存空间均没有缓存第一文件时,从服务器获取第一文件,并缓存在内存的缓存空间中;当内存的缓存空间占满时,从内存的缓存空间中剔除第二文件;当第二文件符合调整后的条件时,将第二文件缓存到存储设备的缓存空间中。
41、类似地,获取单元和处理单元可以配合实现如第一方面及第一方面的任意一种可能的实现方式所述的存储方法的全部步骤对应的功能,在此不再一一赘述。
42、第三方面,本技术实施例提供一种电子设备,电子设备可以包括存储设备。电子设备包括:处理器,用于存储处理器可执行指令的存储器;处理器被配置为执行所述指令时,使得电子设备实现如第一方面及第一方面的任意一种可能的实现方式所述的存储方法。
43、第四方面,本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序指令;当所述计算机程序指令被电子设备执行时,使得电子设备实现如第一方面及第一方面的任意一种可能的实现方式所述的存储方法。
44、第五方面,本技术实施例提供一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备中运行时,所述电子设备中的处理器实现如第一方面及第一方面的任意一种可能的实现方式所述的存储方法。
45、上述第二方面至第五方面所具备的有益效果,可参考第一方面中所述,在此不再赘述。
46、第六方面,本技术实施例提供一种存储方法,所述方法包括:获取存储设备的总体空间使用率;存储设备包括工作在多层单元区域、动态单层单元区域、以及静态单层单元区域;总体空间使用率是根据存储设备的存储空间的大小、以及存储设备的存储空间中被使用区域的大小所确定的。根据总体空间使用率,对缓存文件存入存储设备的条件进行动态调整。
47、当总体空间使用率为第三总体空间使用率时,动态单层单元区域的大小为第四容量,调整后的条件包括:缓存文件在存储设备所在的电子设备的内存中文件操作命中的次数大于或等于第三值,和/或,缓存文件的大小小于或等于第四值;当总体空间使用率为第四总体空间使用率时,动态单层单元区域的大小为第五容量,调整后的条件包括:缓存文件在存储设备所在的电子设备的内存中文件操作命中的次数大于或等于第五值,和/或,缓存文件的大小小于或等于第六值;第四总体空间使用率大于第三总体空间使用率,第五容量小于第四容量,第五值大于第三值,第六值小于第四值。
48、该方法根据存储设备的总体空间使用率,对缓存文件可以存入存储设备的缓存空间的条件进行动态调整,可以控制对存储设备的文件写入,维持存储设备的io性能处于较好的状态。
49、一种可能的实现方式中,当总体空间使用率小于或等于第一阈值时,调整后的条件包括:缓存文件在存储设备所在的电子设备的内存中文件操作命中的次数大于或等于第一次数,和/或,缓存文件的大小小于或等于第一字节。
50、当总体空间使用率大于第一阈值、且小于第二阈值时,调整后的条件包括:缓存文件在存储设备所在的电子设备的内存中文件操作命中的次数大于或等于第二次数,和/或,缓存文件的大小小于或等于第二字节;第二阈值大于第一阈值;第二次数大于第一次数,第二字节小于第一字节。
51、当总体空间使用率大于或等于第二阈值时,调整后的条件包括:缓存文件在存储设备所在的电子设备的内存中文件操作命中的次数大于或等于第三次数,和/或,缓存文件的大小小于或等于第三字节;第三次数大于第二次数,第三字节小于第二字节。
52、一种可能的示例中,第一阈值等于存储设备的单层单元容量最大时对应的最大总体空间使用率;第二阈值等于存储设备的单层单元容量最小时对应的最小总体空间使用率。
53、另一种可能的示例中,第一阈值小于或大于存储设备的单层单元容量最大时对应的最大总体空间使用率;第二阈值小于或大于存储设备的单层单元容量最小时对应的最小总体空间使用率。
54、可选地,第二次数随着总体空间使用率的增大而增大,和/或,第二字节随着总体空间使用率的增加而减小。
55、一种可能的实现方式中,所述方法还包括:接收第一应用程序提出的文件请求,文件请求用于请求第一文件;第一应用程序为存储设备所在的电子设备的内存中的应用程序;当内存的缓存空间和存储设备的缓存空间均没有缓存第一文件时,从服务器获取第一文件,并缓存在内存的缓存空间中;当内存的缓存空间占满时,从内存的缓存空间中剔除第二文件;当第二文件符合调整后的条件时,将第二文件缓存到存储设备的缓存空间中。
56、可选地,所述方法还包括:当内存的缓存空间中缓存了第一文件时,从内存的缓存空间中读取第一文件,并返回给第一应用程序;当存储设备的缓存空间中缓存了第一文件时,从存储设备的缓存空间中读取第一文件,并返回给第一应用程序。
57、第七方面,本技术实施例提供一种存储装置,该装置可以应用于电子设备,以使电子设备实现如第六方面及第六方面的任意一种可能的实现方式所述的存储方法。该装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与第六方面及第六方面的任意一种可能的实现方式所述的存储方法中的步骤相对应的模块或单元。
58、例如,该装置可以包括:获取单元、处理单元等。获取单元和处理单元可以配合实现如第六方面及第六方面的任意一种可能的实现方式所述的存储方法。如:获取单元,可以用于获取存储设备的总体空间使用率;存储设备包括工作在多层单元区域、动态单层单元区域、以及静态单层单元区域;总体空间使用率是根据存储设备的存储空间的大小、以及存储设备的存储空间中被使用区域的大小所确定的。处理单元,可以用于根据总体空间使用率,对缓存文件存入存储设备的条件进行动态调整。
59、当总体空间使用率为第三总体空间使用率时,动态单层单元区域的大小为第四容量,调整后的条件包括:缓存文件在存储设备所在的电子设备的内存中文件操作命中的次数大于或等于第三值,和/或,缓存文件的大小小于或等于第四值;当总体空间使用率为第四总体空间使用率时,动态单层单元区域的大小为第五容量,调整后的条件包括:缓存文件在存储设备所在的电子设备的内存中文件操作命中的次数大于或等于第五值,和/或,缓存文件的大小小于或等于第六值;第四总体空间使用率大于第三总体空间使用率,第五容量小于第四容量,第五值大于第三值,第六值小于第四值。
60、一种可能的实现方式中,当总体空间使用率小于或等于第一阈值时,调整后的条件包括:缓存文件在存储设备所在的电子设备的内存中文件操作命中的次数大于或等于第一次数,和/或,缓存文件的大小小于或等于第一字节。
61、当总体空间使用率大于第一阈值、且小于第二阈值时,调整后的条件包括:缓存文件在存储设备所在的电子设备的内存中文件操作命中的次数大于或等于第二次数,和/或,缓存文件的大小小于或等于第二字节;第二阈值大于第一阈值;第二次数大于第一次数,第二字节小于第一字节。
62、当总体空间使用率大于或等于第二阈值时,调整后的条件包括:缓存文件在存储设备所在的电子设备的内存中文件操作命中的次数大于或等于第三次数,和/或,缓存文件的大小小于或等于第三字节;第三次数大于第二次数,第三字节小于第二字节。
63、一种可能的示例中,第一阈值等于存储设备的单层单元容量最大时对应的最大总体空间使用率;第二阈值等于存储设备的单层单元容量最小时对应的最小总体空间使用率。
64、另一种可能的示例中,第一阈值小于或大于存储设备的单层单元容量最大时对应的最大总体空间使用率;第二阈值小于或大于存储设备的单层单元容量最小时对应的最小总体空间使用率。
65、可选地,第二次数随着总体空间使用率的增大而增大,和/或,第二字节随着总体空间使用率的增加而减小。
66、一种可能的实现方式中,处理单元还用于,接收第一应用程序提出的文件请求,文件请求用于请求第一文件;第一应用程序为存储设备所在的电子设备的内存中的应用程序;当内存的缓存空间和存储设备的缓存空间均没有缓存第一文件时,从服务器获取第一文件,并缓存在内存的缓存空间中;当内存的缓存空间占满时,从内存的缓存空间中剔除第二文件;当第二文件符合调整后的条件时,将第二文件缓存到存储设备的缓存空间中。
67、可选地,处理单元还用于,当内存的缓存空间中缓存了第一文件时,从内存的缓存空间中读取第一文件,并返回给第一应用程序;当存储设备的缓存空间中缓存了第一文件时,从存储设备的缓存空间中读取第一文件,并返回给第一应用程序。
68、类似地,获取单元和处理单元可以配合实现如第六方面及第六方面的任意一种可能的实现方式所述的存储方法的全部步骤对应的功能,在此不再一一赘述。
69、第八方面,本技术实施例提供一种电子设备,电子设备可以包括存储设备。电子设备包括:处理器,用于存储处理器可执行指令的存储器;处理器被配置为执行所述指令时,使得电子设备实现如第六方面及第六方面的任意一种可能的实现方式所述的存储方法。
70、第九方面,本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序指令;当所述计算机程序指令被电子设备执行时,使得电子设备实现如第六方面及第六方面的任意一种可能的实现方式所述的存储方法。
71、第十方面,本技术实施例提供一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备中运行时,所述电子设备中的处理器实现如第六方面及第六方面的任意一种可能的实现方式所述的存储方法。
72、上述第七方面至第十方面所具备的有益效果,可参考第六方面中所述,在此不再赘述。
73、应当理解的是,本技术中对技术特征、技术方案、有益效果或类似语言的描述并不是暗示在任意的单个实施例中可以实现所有的特点和优点。相反,可以理解的是对于特征或有益效果的描述意味着在至少一个实施例中包括特定的技术特征、技术方案或有益效果。因此,本说明书中对于技术特征、技术方案或有益效果的描述并不一定是指相同的实施例。进而,还可以任何适当的方式组合本实施例中所描述的技术特征、技术方案和有益效果。本领域技术人员将会理解,无需特定实施例的一个或多个特定的技术特征、技术方案或有益效果即可实现实施例。在其他实施例中,还可在没有体现所有实施例的特定实施例中识别出额外的技术特征和有益效果。