首页 / 存储管理方法、存储设备及存储介质

存储管理方法、存储设备及存储介质实质审查 发明

技术领域

[0001] 本发明涉及数据存储技术领域,尤其涉及一种存储管理方法、存储设备及存储介质。

相关背景技术

[0002] 随着计算机技术的不断发展,终端整体性能在不断提升,这也为终端上的存储芯片等配件提出了更高的要求。为了提高终端内存储芯片的使用寿命以及提升整机的I/O性能,存储芯片在进行数据存储和整理时,大多是独立工作。例如存储芯片在存储待存储数据时,根据待存储数据本身的数据参数来确定待存储数据的类型,进而可以将数据按照类型的不同进行分区存储。但由于存储芯片在判断待存储数据的数据类型仅使用了待存储数据本身的参数信息,这导致在对数据的类型进行判断时容易产生误差,导致数据分区出错,降低了存储芯片的使用寿命。

具体实施方式

[0015] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0016] 附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
[0017] 应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
[0018] 本发明实施例提供一种存储管理方法、存储设备、系统及存储介质。其中,该存储管理方法可应用于终端内设置的存储设备中,通过与终端的处理器进行数据交互,实现提高数据类型判断的准确率以及提高存储设备的使用寿命的目的。
[0019] 请参照图1,图1为本发明实施例提供的一种存储管理系统的系统架构图。
[0020] 如图1所示,该存储管理系统100应用在终端上,终端可以是移动终端,例如手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等具有存储功能的电子设备,还可以是其他具有存储功能的电子设备。
[0021] 其中,该存储管理系统100包括终端内的处理器101和终端内的存储设备102。存储设备102可以是终端内所设置的存储芯片,用于对终端使用过程中所产生的数据进行存储。
[0022] 处理器101根据需要存储待存储数据时的终端参数确定待存储数据的第一类型,并将确定出的第一类型按照与存储设备102预先约定的格式发送给存储设备102。
[0023] 存储设备102在接收到待存储数据和处理器101确定的第一类型后,根据待存储数据的数据参数确定出待存储数据的第二类型,然后根据第一类型和第二类型确定待存储数据的数据类型。
[0024] 例如,若处理器101根据终端参数确定待存储数据的第一类型为热数据,将该第一类型发送给存储设备102,存储设备102根据待存储数据的数据参数确定待存储数据的第二类型为热数据,此时第一类型和第二类型相同,则认为待存储数据的数据类型是热数据。
[0025] 在确定出待存储数据的数据类型后,存储设备102可以根据待存储数据不同的数据类型,将待存储数据存储在不同的存储区域,以对不同数据类型的数据进行分区存储。
[0026] 存储设备102在确定待存储数据的数据类型时,结合处理器101所确定的待存储数据的第一类型,使得在确定待存储数据的数据类型时有终端的参数作为确定条件,提高了数据类型确定的准确率。
[0027] 此外,存储设备102还需要对各个存储区域内所存储的数据进行数据整理和缓存整理。
[0028] 处理器101可以根据用户的使用习惯生成数据整理信息,并将数据整理信息发送给存储设备102,使存储设备102接收到数据整理信息后,可以根据该数据整理信息调整数据整理和缓存整理的策略。在进行数据整理和缓存整理时,可以结合用户的使用习惯和当前场景进行,不仅提高了存储设备102的使用寿命以及提高终端的I/O性能,也提高了用户体验。
[0029] 下面结合附图和图1中所示的存储管理系统,对本发明的一些实施例作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
[0030] 请参照图2,图2为本发明实施例提供的一种存储管理方法的流程示意图。
[0031] 如图2所示,该存储管理方法包括步骤S201至步骤S202。
[0032] 步骤S201、接收待存储数据和终端的处理器基于待存储数据确定的第一类型。
[0033] 其中,第一类型是指终端内的处理器根据终端的终端参数确定出的待存储数据所对应的数据类型,数据类型可以包括热数据和冷数据两种类型。
[0034] 在一实施例中,终端在根据终端参数来确定待存储数据的第一类型时,可以首先获取需要进行数据存储时的终端参数,然后根据该终端参数分析当前待存储数据是否正在高频使用,若当前待存储数据正在高频使用,则确定待存储数据的第一类型为热数据,若当前待存储数据不处于高频使用的情况,则确定待存储数据的第一类型为冷数据。
[0035] 其中,终端参数例如可以包括终端的当前时间、当前的前台进程、当前的后台进程和终端操作系统的其他信息中的至少一种。在根据终端参数确定待存储数据是否被高频使用时,可以仅使用一个终端参数来进行判断,也可以将多个终端参数进行结合判断。
[0036] 例如,若终端当前的前台进程与待存储数据相关,并且前台进程在持续运行中,那么则可以认为该待存储数据为热数据。
[0037] 又例如,若终端当前的前台进程与待存储数据无关,但后台进程与待存储数据相关,且后台进程在持续运行中,那么则认为该待存储数据为热数据。
[0038] 在终端的处理器确定出待存储数据的第一类型后,将确定的第一类型发送给存储设备,存储设备在接收到待存储数据的第一类型和需要进行存储的待存储数据后,再确定待存储数据的数据类型。
[0039] 其中,终端的处理器在发送第一类型时,可以通过预先约定的格式将第一类型发送给存储设备。例如,可以发送类型消息,并通过更改类型消息中的数据标志位的数值来代表不同的第一类型。例如,若第一类型为热数据,则将数据标志位的值设置为正值,若第一类型为冷数据,则将数据标志位的值设置为负值。
[0040] 步骤S202、根据待存储数据和第一类型确定待存储数据的数据类型,并根据数据类型将待存储数据存储在不同的存储区域。
[0041] 存储设备在接收到待存储数据后,根据待存储数据和第一类型确定待存储数据最终的数据类型,并根据该确定出的数据类型将待存储数据存储在不同的存储区域。
[0042] 其中,数据类型可以包括冷数据和热数据两种数据类型,对于不同数据类型的待存储数据,可以将其分别保存在不同的存储区域,以便于数据的管理,并提高存储设备的使用寿命。
[0043] 例如,可以将热数据存储在第一存储区域,将冷数据存储在第二存储区域。其中,第一存储区域可以为SLC缓存区域,其读写性能更高,并且可以减少对第一存储区域的数据整理,从而延长第一存储区域内数据的存储时间;第二存储区域可以为TLC区域,其读写性能较低,对于第二存储区域可以使用更为激进的数据整理,以为用户腾挪出更大的存储空间。
[0044] 在一实施例中,根据待存储数据和第一类型确定待存储数据的数据类型的步骤可以包括:
[0045] 根据待存储数据的数据参数确定待存储数据的第二类型;根据第一类型和第二类型确定待存储数据的数据类型。
[0046] 存储设备获取待存储数据的数据参数,从而根据待存储数据的数据参数确定出待存储数据的第二类型,然后再根据终端的处理器所确定的第一类型和自身确定的第二类型共同确定出待存储数据的数据类型。
[0047] 在一实施例中,请参阅图3,根据待存储数据的数据参数确定待存储数据的第二类型的步骤可以包括步骤S2021和步骤S2022。
[0048] S2021、获取待存储数据的数据大小和/或读写频次;S2022、根据待存储数据的数据大小和/或读写频次确定待存储数据的第二类型。
[0049] 其中,读写频次是指待存储数据的逻辑地址在预设时长内的读写频次。在获取到待存储数据的数据大小和/或待存储数据的逻辑地址在预设时长内的读写频次后,再根据待存储数据的数据大小和/或待存储数据的逻辑地址在预设时长内的读写频次确定待存储数据的第二类型。
[0050] 例如,若待存储数据的逻辑地址在预设时长内的读写频次超过预设值,则认为该待存储数据是被频繁读取的,确定该待存储数据的第二类型为热数据;若待存储数据的逻辑地址在预设时长内的读写频次没有超过预设值,则可以认为该待存储数据的第二类型为冷数据。
[0051] 又例如,若待存储数据的逻辑地址在预设时长内的读写频次没有超过预设值,且待存储数据的数据大小较大,则可以认为该待存储数据的第二类型为冷数据。
[0052] 在一实施例中,请参阅图4,根据待存储数据的数据参数确定待存储数据的第二类型的步骤可以包括步骤S2023和步骤S2024。
[0053] S2023、获取待存储数据的逻辑地址和物理地址的地址对应表,并根据地址对应表确定待存储数据与存储区域内的数据之间的关联关系;S2024、根据待存储数据的数据参数和待存储数据与存储区域内的数据之间的关联关系确定待存储数据的第二类型。
[0054] 获取待存储数据的逻辑地址和物理地址的地址对应表,也即L2P表格或P2L表格,通过地址对应表内待存储数据与其他已存入存储区域内的数据之间的地址关联关系,确定待存储数据与存储区域内数据之间的关联性,从而将待存储数据的数据参数结合该关联关系判断待存储数据的第二类型。
[0055] 在具体实施过程中,可以根据该关联关系确定出待存储数据的第二类型,比如,若待存储数据与一数据类型为热数据的数据具有关联关系,则可以认为该待存储数据的第二类型为热数据。同时,根据该待存储数据的数据参数确定该待存储数据的第二类型。
[0056] 另外,在将待存储数据的数据参数结合该关联关系判断待存储数据的第二类型的过程中,可以根据待存储数据的数据参数确定出一个第二类型,根据该关联关系确定出另一第二类型,当采用数据参数和关联关系确定出的第二类型一致时,则将一致的类型作为第二类型。当采用数据参数和关联关系确定出的第二类型不一致时,可以采用例如权重计算的方式来确定第二类型。
[0057] 也即,分别为根据关联关系确定出的第二类型分配相应的关系权重,以及为根据数据参数确定出的第二类型分配相应的参数权重。根据关系权重计算关系得分,根据参数权重计算参数得分,将关系得分与参数得分相加,若总分超过预设分数阈值则认为待存储数据的第二类型为热数据,若总分不超过预设分数阈值则认为待存储数据的第二类型为冷数据。
[0058] 在存储设备确定出待存储数据的第二类型后,即可根据第二类型和第一类型确定待存储数据的数据类型。
[0059] 在一实施例中,根据第一类型和第二类型确定待存储数据的数据类型的步骤包括:
[0060] 若第二类型与第一类型一致,则将一致的数据类型作为所述待存储数据的数据类型;若第二类型与第一类型不一致,则获取第一类型对应的第一权重和所述第二类型的第二权重,并分别根据第一类型和第一权重确定第一得分,根据第二类型和第二权重确定第二得分;根据第一得分和第二得分确定总得分,基于总得分和预设的分数阈值确定待存储数据的数据类型。
[0061] 比较第一类型和第二类型是否一致,若第一类型和第二类型一致,则将一致的数据类型作为待存储数据的数据类型。例如,若第一类型为热数据,第二类型也为热数据,则将一致的数据类型,也即热数据作为待存储数据的数据类型,确定出待存储数据的数据类型为热数据。
[0062] 当第一类型和第二类型不一致时,则可以获取为第一类型分配对应的第一权重和为第二类型分配对应的第二权重。根据第一类型和第一类型对应的第一权重计算第一类型的第一得分,根据第二类型和第二类型对应的第二权重计算第二类型的第二得分,将第一得分和第二得分相加,若总得分超过预设分数阈值则认为待存储数据的数据类型为热数据,若总的饭不超过预设分数阈值则认为待存储数据的数据类型为冷数据。
[0063] 另外,当第一类型和第二类型不一致时,还可以判断待存储数据是否符合热数据的数据类型的底线条件,底线条件例如可以是在预设时长内待存储数据逻辑地址的访问次数。若待存储数据不符合热数据的数据类型的底线条件,则认为该待存储数据为冷数据,若待存储数据符合热数据的数据类型的底线条件,则认为该待存储数据为热数据。
[0064] 在对待存储数据进行存储后,存储设备需要对存储区域内的存储数据不断的进行整理,以及对存储区域的缓存进行整理,在此过程中,终端侧可以获取用户的使用习惯和当前的使用场景等信息,并将这些信息发送给存储设备,使得存储设备能够根据这些信息调整数据整理和缓存整理的策略。
[0065] 在一实施例中,该存储管理方法还可以包括:接收终端发送的数据整理信息,并根据数据整理信息对存储区域中的数据进行数据整理。
[0066] 终端内的处理器获取用户的使用习惯或者终端当前的使用状态,然后基于用户的使用习惯或者终端当前的使用状态做出相应的操作建议,并将操作建议通过数据整理信息发送给存储设备。其中,用户的使用习惯可以通过获取用户在历史多个使用周期内对终端的使用情况,并进行分析得到。
[0067] 终端所做出的操作建议可以包括正向的操作建议和负向的操作建议,正向的操作建议表示此时建议进行数据整理,而负向的操作建议则表示此时不建议进行数据整理。其中,操作建议可使用数据整理信息中的数据标志位来表示,例如若数据标志位的值为正值,则表示是正向的操作建议,若数据标志位的值为负值,则表示是负向的操作建议。
[0068] 存储设备在接收到数据整理信息后,可以基于数据整理信息来确定是否对存储区域进行数据整理和选择相应的数据整理策略。
[0069] 例如,若终端当前处于空闲状态或对性能要求不高时,将数据标志位的值设置为正值,并发送数据整理信息给存储设备,建议存储设备此时对存储区域内的数据进行数据整理,基于此,存储设备此时可以对各个存储区域内所存储的数据进行大范围的数据整理,例如垃圾回收或者磨损均衡等会影响峰值I/O性能的操作。若终端当前处于高性能场景或是正在频繁使用时,将数据标志位的值设置为负值,并发送数据整理信息给存储设备,建议存储设备此时不对存储区域内的数据进行数据整理,基于此,存储设备此时可以不对存储区域内的数据进行整理或者对存储区域内的数据进行小范围的整理,以避免对用户的使用造成影响。
[0070] 在一实施例中,该存储管理方法还包括:接收终端发送的缓存调整信息,并根据缓存调整信息对存储区域的缓存设置进行调整。
[0071] 终端内的处理器获取用户的使用习惯,然后基于用户的使用习惯做出相应的操作建议,并将操作建议通过缓存调整信息发送给存储设备。其中,用户的使用习惯可以通过获取用户在历史多个使用周期内对终端的使用情况,并进行分析得到。
[0072] 存储设备在接收到缓存调整信息后,可以基于缓存调整信息来确定是否对存储区域进行缓存的调整。
[0073] 例如,若通过对用户的历史使用数据进行分析,确定用户长期使用都只用到了较小的缓存,很少大量写入,在缓存调整信息中做出操作建议,使得存储设备将SLC缓存设置为较低值满足用户的使用需求即可;但若通过对用户的历史使用数据进行分析,确定用户写入量较大,但性能要求不高,那么则在缓存调整信息中做出操作建议,使得存储设备不使用SLC缓存,使用TLC直写的方式写入,从而在不影响用户体验的前提下延长存储设备的使用寿命。
[0074] 在一实施例中,该存储管理方法还包括:接收终端在当前使用周期内发送的缓存整理信息和/或数据整理信息,并根据缓存整理信息在下一使用周期前对存储区域进行缓存整理和/或数据整理。
[0075] 其中,使用周期可以是以天为单位,在当前使用周期内终端可以向存储设备发送多次数据整理消息和缓存整理消息,从而使存储设备能够在下一使用周期前,提前对存储区域内所存储的数据以及存储区域的缓存进行整理和调整,使在下一使用周期内能够满足用户的使用需求,提高用户使用体验。
[0076] 例如,若得知用户的使用习惯是在早上的09:00至12:00之间的写入量较大且所需要的性能较高,那么处理器可以基于该使用习惯生成相应的操作建议,建议存储设备在每天早上09:00之前整理出较大的缓存。存储设备在接收到处理器发送的缓存整理信息后,可以根据该缓存整理信息,在每天早上09:00之前预先整理出较大的缓存,以供用户在09:00至12:00这个时段内的使用。
[0077] 上述实施例提供的存储管理方法,通过接收待存储数据和终端基于待存储数据确定的第一类型,再根据待存储数据和第一类型确定待存储数据的数据类型,从而根据待存储数据的数据类型将待存储数据存储在不同的存储区域,实现不同数据类型数据的分区存储。在对待存储数据进行数据类型的判断时,结合终端对待存储数据确定的第一类型来进行判断,增加了存储设备与终端之间的交互,从而提高了对待存储数据的数据类型的判断准确度,进而提高了存储设备的使用寿命。
[0078] 请参阅图5,图5为本发明实施例提供的一种存储设备的结构示意性框图。
[0079] 如图5所示,存储设备300包括控制器301和存储器302,控制器301和存储器302通过总线303连接,该总线比如为I2C(Inter‑integrated Circuit)总线。
[0080] 具体地,控制器301用于提供计算和控制能力,支撑整个存储设备的运行。控制器301可以是中央处理单元(Central Processing Unit,CPU),该控制器301还可以是其他通用处理器、数字信号处理器(Digital  Signal  Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field‑Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0081] 具体地,存储器302可以是Flash芯片、只读存储器(ROM,Read‑Only Memory)磁盘、光盘、U盘或移动硬盘等。
[0082] 本领域技术人员可以理解,图5中示出的结构,仅仅是与本发明实施例方案相关的部分结构的框图,并不构成对本发明实施例方案所应用于其上的存储设备的限定,具体的服务器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0083] 其中,所述处理器用于运行存储在存储器中的计算机程序,并在执行所述计算机程序时实现本发明实施例提供的任意一种所述的存储管理方法。
[0084] 在一实施例中,所述处理器用于运行存储在存储器中的计算机程序,并在执行所述计算机程序时实现如下步骤:
[0085] 接收待存储数据和终端基于所述待存储数据确定的第一类型;根据所述待存储数据和所述第一类型确定所述待存储数据的数据类型,并根据所述数据类型将所述待存储数据存储在不同的存储区域。
[0086] 在一实施例中,所述处理器在实现所述根据所述待存储数据和所述第一类型确定所述待存储数据的数据类型时,用于实现:
[0087] 根据所述待存储数据的数据参数确定所述待存储数据的第二类型;根据所述第一类型和所述第二类型确定所述待存储数据的数据类型。
[0088] 在一实施例中,所述处理器在实现所述根据所述待存储数据的数据参数确定所述待存储数据的第二类型时,用于实现:
[0089] 获取所述待存储数据的数据大小和/或读写频次;根据所述待存储数据的数据大小和/或读写频次确定所述待存储数据的第二类型。
[0090] 在一实施例中,所述处理器在实现所述根据所述待存储数据的数据参数确定所述待存储数据的第二类型时,用于实现:
[0091] 获取所述待存储数据的逻辑地址和物理地址的地址对应表,并根据所述地址对应表确定所述待存储数据与存储区域内的数据之间的关联关系;根据所述待存储数据的数据参数和所述待存储数据与存储区域内的数据之间的关联关系确定所述待存储数据的第二类型。
[0092] 在一实施例中,所述处理器在实现所述根据所述第一类型和所述第二类型确定所述待存储数据的数据类型时,用于实现:
[0093] 若所述第二类型与所述第一类型一致,则将一致的数据类型作为所述待存储数据的数据类型;若所述第二类型与所述第一类型不一致,则获取所述第一类型对应的第一权重和所述第二类型的第二权重,并分别根据所述第一类型和所述第一权重确定第一得分,根据所述第二类型和所述第二权重确定第二得分;根据所述第一得分和所述第二得分确定总得分,基于所述总得分和预设的分数阈值确定所述待存储数据的数据类型。
[0094] 在一实施例中,所述处理器还用于实现:
[0095] 接收所述终端发送的数据整理信息,并根据所述数据整理信息对所述存储区域中的数据进行数据整理。
[0096] 在一实施例中,所述处理器还用于实现:
[0097] 接收所述终端发送的缓存调整信息,并根据所述缓存调整信息对所述存储区域的缓存设置进行调整。
[0098] 在一实施例中,所述处理器还用于实现:
[0099] 接收所述终端在当前使用周期内发送的缓存整理信息和/或数据整理信息,并根据所述缓存整理信息在下一使用周期前对所述存储区域进行缓存整理和/或数据整理。
[0100] 需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的存储设备的具体工作过程,可以参考前述存储管理方法实施例中的对应过程,在此不再赘述。
[0101] 本发明实施例还提供一种存储介质,用于计算机可读存储,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如本发明实施例说明书提供的任一项存储管理方法的步骤。
[0102] 其中,所述存储介质可以是前述实施例所述的存储设备的内部存储单元,例如所述存储设备的硬盘或内存。所述存储介质也可以是所述存储设备的外部存储设备,例如所述存储设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
[0103] 本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施例中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD‑ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
[0104] 应当理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
[0105] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。以上所述,仅为本发明的具体实施例,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

当前第1页 第1页 第2页 第3页