Flash存储方法、装置、智能穿戴设备及存储介质与流程

文档序号:26003245发布日期:2021-07-23 21:20阅读:109来源:国知局
Flash存储方法、装置、智能穿戴设备及存储介质与流程

本发明涉及数据处理技术领域,尤其涉及一种flash存储方法、装置、智能穿戴设备及存储介质。



背景技术:

近年来,智能穿戴设备的适用群体越来越广,相应地,智能穿戴设备的功能也需要进行不断地拓展,所需要存储的数据(如运动数据、健康数据、用户数据等)也越来越多,这对智能穿戴设备的存储要求也越来越高,然而现有智能穿戴设备内置的单核或者双核芯片的存储容量已不能满足用户日常的存储需求,如片上flash(闪存)芯片,即使外挂单独的flash芯片以增大存储容量,整体的存储量仍非常有限,并不能满足用户日益增长的存储需求,因此,如何提高有限的flash存储区的利用率,成为一个亟待解决的问题。

上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。



技术实现要素:

本发明的主要目的在于提供了一种flash存储方法、装置、智能穿戴设备及存储介质,旨在解决如何提高有限的flash存储区的利用率的技术问题。

为实现上述目的,本发明提供了一种flash存储方法,所述方法包括以下步骤:

获取flash存储区的存储页中目标存储页内已存放的有效数据和属性数据之间的地址差值;

判断所述地址差值是否大于等于待存储数据的数据长度;

若否,统计所述存储页中满存存储页的页数;

在所述满存存储页的页数小于预设页数时,将所述待存储数据的有效数据按照地址从大到小的顺序存放至所述目标存储页对应的下一存储页,并将所述待存储数据的属性数据按照地址从小到大的顺序存放至所述目标存储页对应的下一存储页。

可选地,所述获取flash存储区的存储页中目标存储页内已存放的有效数据和属性数据之间的地址差值的步骤,具体包括:

获取flash存储区的存储页中目标存储页内已存放的有效数据的地址最小值和属性数据的地址最大值;

计算所述地址最小值和所述地址最大值之间的地址差值。

可选地,所述判断所述地址差值是否大于待存储数据的数据长度的步骤之后,还包括:

若是,则将所述待存储数据的有效数据按照地址从大到小的顺序存放至所述目标存储页,并将所述待存储数据的属性数据按照地址从小到大的顺序存放至所述目标存储页。

可选地,所述若否,则统计所述存储页中满存存储页的页数的步骤之前,还包括:

获取flash存储区的存储页中已存放的有效数据和属性数据之间的地址差值;

获取待存储数据的数据长度,在所述地址差值小于所述数据长度时,判定所述存储页为满存存储页。

可选地,所述若否,则统计所述存储页中满存存储页的页数的步骤之后,还包括:

在所述满存存储页的页数大于等于预设页数时,获取所述存储页中的满存存储页的满存顺序;

根据所述满存顺序对所述满存存储页进行数据擦除,并将所述待存储数据存放至擦除后的满存存储页。

可选地,所述获取flash存储区的存储页中目标存储页内已存放的有效数据和属性数据之间的地址差值的步骤之前,还包括:

获取flash存储区的存储页中预设起始页内存放的索引信息,并根据所述索引信息确定目标存储页。

可选地,所述获取flash存储区的存储页中预设起始页内存放的索引信息,并根据所述索引信息确定目标存储页的步骤之前,还包括:

对flash存储区进行分页处理,获得对应的存储页;

判断所述flash存储区中是否存在历史数据存储记录;

在存在所述历史数据存储记录时,根据所述历史数据存储记录查找所述存储页中预设起始页内存放的索引信息;

在不存在所述历史数据存储记录时,获取所述存储页对应的页标识,并根据所述页标识生成索引信息。

此外,为实现上述目的,本发明还提出一种flash存储装置,所述flash存储装置包括:

数据获取模块,用于获取flash存储区的存储页中目标存储页内已存放的有效数据和属性数据之间的地址差值;

数据判断模块,用于判断所述地址差值是否大于等于待存储数据的数据长度;

满存统计模块,用于在所述地址差值小于所述数据长度时,统计所述存储页中满存存储页的页数;

数据存储模块,用于在所述满存存储页的页数小于预设页数时,将所述待存储数据的有效数据按照地址从大到小的顺序存放至所述目标存储页对应的下一存储页,并将所述待存储数据的属性数据按照地址从小到大的顺序存放至所述目标存储页对应的下一存储页。

此外,为实现上述目的,本发明还提出一种智能穿戴设备,所述智能穿戴设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的flash存储程序,所述flash存储程序配置为实现如上文所述的flash存储方法的步骤。

此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有flash存储程序,所述flash存储程序被处理器执行时实现如上文所述的flash存储方法的步骤。

本发明中,智能穿戴设备获取flash存储区的存储页中目标存储页内已存放的有效数据和属性数据之间的地址差值,判断所述地址差值是否大于等于待存储数据的数据长度;若否,统计所述存储页中满存存储页的页数;在所述满存存储页的页数小于预设页数时,将所述待存储数据的有效数据按照地址从大到小的顺序存放至所述目标存储页对应的下一存储页,并将所述待存储数据的属性数据按照地址从小到大的顺序存放至所述目标存储页对应的下一存储页。相较于现有技术通过外接芯片实现智能穿戴设备的内存拓展,本发明通过获取flash存储区的存储页中目标存储页内已存放的有效数据和属性数据之间的地址差值,以便于基于所述地址差值和待存储数据的数据长度判断所述目标存储页是否满存,在所述地址差值小于待存储数据的数据长度时,统计所述存储页中满存存储页的页数,以便于基于所述满存存储页的页数判断所述flash存储区是否存满,在所述满存存储页的页数小于预设页数时,即所述flash存储区未存满时,将所述待存储数据存放至未存满的存储页,以提高有限的flash存储区的利用率,避免不必要的存储空间浪费。

附图说明

图1是本发明实施例方案涉及的硬件运行环境的智能穿戴设备的结构示意图;

图2为本发明flash存储方法第一实施例的流程示意图;

图3为本发明flash存储方法涉及的存储示意图;

图4为本发明flash存储方法第二实施例的流程示意图;

图5为本发明flash存储方法第三实施例的流程示意图;

图6为本发明flash存储装置第一实施例的结构框图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

参照图1,图1为本发明实施例方案涉及的硬件运行环境的智能穿戴设备结构示意图。

如图1所示,该智能穿戴设备可以包括:处理器1001,例如中央处理器(centralprocessingunit,cpu),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括无线接口(如无线保真(wireless-fidelity,wi-fi)接口)。存储器1005可以是稳定的非易失性存储器(non-volatilememory,nvm),例如,flash存储器,所述存储器1005可选的还可以是独立于前述处理器1001的存储装置。

本领域技术人员可以理解,图1中示出的结构并不构成对智能穿戴设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、数据存储模块、网络通信模块、用户接口模块以及flash存储程序。

在图1所示的智能穿戴设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明智能穿戴设备中的处理器1001、存储器1005可以设置在智能穿戴设备中,所述智能穿戴设备通过处理器1001调用存储器1005中存储的flash存储程序,并执行本发明实施例提供的flash存储方法。

本发明实施例提供了一种flash存储方法,参照图2,图2为本发明flash存储方法第一实施例的流程示意图。

本实施例中,所述flash存储方法包括以下步骤:

步骤s10:获取flash存储区的存储页中目标存储页内已存放的有效数据和属性数据之间的地址差值;

易于理解的是,本实施例的执行主体为上述智能穿戴设备,智能穿戴设备获取flash存储区的存储页(page)中目标存储页内已存放的有效数据(data,可理解为需要写入的数据)的地址最小值和属性数据(slot,原为插槽,本实施中,可理解为data的类型、位置、大小等基本属性信息)的地址最大值,并计算所述地址最小值和所述地址最大值之间的地址差值。在具体实现中,所述属性数据为定长数据,所述有效数据为不定长数据,因此,需要实时获取当前的待存储数据(包含有效数据和属性数据)的数据长度,以便基于待存储数据的数据长度判断其是否可被存入至目标存储页,所述目标存储页可理解为存储页中上一次进行数据存储时的存储页;在没有历史存储记录时,可获取存储页的页标识,然后根据页标识确定目标存储页,所述页标识可为页编码,参见图3,图3为本发明flash存储方法涉及的存储示意图,如page0,page1,page2……pagen,在具体实现中,在没有历史存储记录时,目标存储页可根据实际需求进行设置,如可设置为page0,本实施例对此不加以限制。

需要说明的是,在确定目标存储页后,则可获取目标存储页内已存放的有效数据的地址最小值和属性数据的地址最大值,因有效数据是按照地址从大到小的顺序存放至所述目标存储页,可理解为data从高地址往低地址存储至所述目标存储页,因此,在获取data的当前地址时,即获取data的地址最小值,相应地,因属性数据是按照地址从大到小的顺序存放至所述目标存储页,可理解为slot从低地址往高地址存储至所述目标存储页,因此,在获取slot的当前地址时,即获取slot的地址最大值,然后,则可基于data的地址最小值和slot的地址最大值计算地址差值,参见图3所述的本发明flash存储方法涉及的存储示意图,如,有效数据是从datam到data0,属性数据是从slot0到slotn,m和n可相同也可不同,本实施例对此不加以限制,若检测到上一次数据存储完毕后的目标存储页内有效数据的地址(即data的地址最小值)为data51,属性数据的地址(slot的地址最大值)为slot49,则计算出的地址差值为2个长度单位。

进一步地,则可获取待存储数据的数据长度,然后将待存储数据的数据长度与所述地址差值进行比较,以判断所述地址差值是否小于待存储数据的数据长度,如,若待存储数据的数据长度为3个长度单位,地址差值为两个长度单位,则所述地址差值小于待存储数据的数据长度。

步骤s20:判断所述地址差值是否大于等于待存储数据的数据长度;

步骤s30:若否,则统计所述存储页中满存存储页的页数;

易于理解的是,在获得flash存储区的存储页中目标存储页内已存放的有效数据和属性数据之间的地址差值后,可根据所述地址差值是否大于等于待存储数据的数据长度判断所述目标存储页是否满存,在所述地址差值小于待存储数据的数据长度时,即可判定所述目标存储页为满存存储页,进一步地,还可获取flash存储区的存储页中已存放的有效数据和属性数据之间的地址差值,然后获取待存储数据的数据长度,在所述地址差值小于所述数据长度时,可判定所述存储页为满存存储页,基于此,则可判断flash存储区的所有存储页是否为满存存储页,再基于判断结果统计所述存储页中满存存储页的页数,以便于精准筛查flash存储区中的存储页是否存满。

步骤s40:在所述满存存储页的页数小于预设页数时,将所述待存储数据的有效数据按照地址从大到小的顺序存放至所述目标存储页对应的下一存储页,并将所述待存储数据的属性数据按照地址从小到大的顺序存放至所述目标存储页对应的下一存储页。

需要说明的是,在flash存储区的存储页中目标存储页内已存放的有效数据和属性数据之间的地址差值小于待存储数据的数据长度,且所述存储页中满存存储页的页数小于预设页数时,可判定为目标存储页已存满,但flash存储区的存储页中仍存在未存满的存储页,则可将所述待存储数据的有效数据按照地址从大到小的顺序存放至所述目标存储页对应的下一存储页,并将所述待存储数据的属性数据按照地址从小到大的顺序存放至所述目标存储页对应的下一存储页,以实现对目标存储页已存满,但flash存储区的存储页中仍存在未存满的存储页时的数据存储。

本实施例中,智能穿戴设备获取flash存储区的存储页中目标存储页内已存放的有效数据和属性数据之间的地址差值,判断所述地址差值是否大于等于待存储数据的数据长度;若否,则统计所述存储页中满存存储页的页数,在所述满存存储页的页数小于预设页数时,将所述待存储数据的有效数据按照地址从大到小的顺序存放至所述目标存储页对应的下一存储页,并将所述待存储数据的属性数据按照地址从小到大的顺序存放至所述目标存储页对应的下一存储页。相较于现有技术通过外接芯片实现智能穿戴设备的内存拓展,本实施例通过获取flash存储区的存储页中目标存储页内已存放的有效数据和属性数据之间的地址差值,以便于基于所述地址差值和待存储数据的数据长度判断所述目标存储页是否满存,在所述地址差值小于待存储数据的数据长度时,统计所述存储页中满存存储页的页数,以便于基于所述满存存储页的页数判断所述flash存储区是否存满,在所述满存存储页的页数小于预设页数时,即所述flash存储区未存满时,将所述待存储数据存放至未存满的存储页,以提高有限的flash存储区的利用率,避免不必要的存储空间浪费。

参考图4,图4为本发明flash存储方法第二实施例的流程示意图。

基于上述第一实施例,在本实施例中,所述步骤s10之前,还包括:

步骤s00:获取flash存储区的存储页中预设起始页内存放的索引信息,并根据所述索引信息确定目标存储页。

易于理解的是,为了确定目标存储页,在获取flash存储区的存储页中目标存储页内已存放的有效数据和属性数据之间的地址差值之前,还可获取flash存储区的存储页中预设起始页内存放的索引信息,并根据所述索引信息确定目标存储页,参见图3所述的本发明flash存储方法涉及的存储示意图,所述预设起始页可为header,用来基于历史数据存储记录生成已存放数据的位置等信息以便于信息索引,定位上一次进行数据存储的存储页。

在具体实现中,为了获得索引信息,还可对flash存储区进行分页处理,获得对应页数的存储页,所述页数即为flash存储区所能存储的最大页数,具体存储页大小可根据实际需求进行设置,本实施例对此不加以限制。接着,可判断所述flash存储区中是否存在历史数据存储记录,在存在所述历史数据存储记录时,根据所述历史数据存储记录查找所述存储页中预设起始页内存放的索引信息,在不存在所述历史数据存储记录时,获取所述存储页对应的页标识,并根据所述页标识生成索引信息,所述页标识可为页编码,如page0,page1,page2……pagen,则所述索引信息可为基于所述页编码生成的用于目标存储页定位的信息。

本实施中,在获取flash存储区的存储页中目标存储页内已存放的有效数据和属性数据之间的地址差值之前,获取flash存储区的存储页中预设起始页内存放的索引信息,并根据所述索引信息确定目标存储页以此实现对目标存储页的精准定位,进一步地,提高了基于目标存储页进行存储判断时的准确度,避免了不必要的存储空间浪费。

参考图5,图5为本发明flash存储方法第三实施例的流程示意图。

基于上述第一实施例,在本实施例中,所述步骤s20之后,还包括:

s501:若是,则将所述待存储数据的有效数据按照地址从大到小的顺序存放至所述目标存储页,并将所述待存储数据的属性数据按照地址从小到大的顺序存放至所述目标存储页。

易于理解的是,在flash存储区的存储页中目标存储页内已存放的有效数据和属性数据之间的地址差值大于等于待存储数据的数据长度时,即可判定为所述目标存储页未存满,且当前待存储数据可存入所述目标存储页,则将所述待存储数据的有效数据按照地址从大到小的顺序存放至所述目标存储页,并将所述待存储数据的属性数据按照地址从小到大的顺序存放至所述目标存储页,以实现对未存满的目标存储页进行数据存储。

此外,所述步骤s30之后,还包括:

步骤s601:在所述满存存储页的页数大于等于预设页数时,获取所述存储页中的满存存储页的满存顺序;

步骤s602:根据所述满存顺序对所述满存存储页进行数据擦除,并将所述待存储数据存放至擦除后的满存存储页。

需要说明的是,在所述满存存储页的页数大于等于预设页数时,可对所述满存存储页进行数据擦除,并将所述待存储数据存放至擦除后的存储页,所述预设页数可理解为flash存储区所能存储的最大页数,如,100,则在满存存储页的页数大于等于100时,可认定为flash存储区已存满,则可对所述满存存储页进行数据擦除,并将所述待存储数据存放至擦除后的存储页,以实现对不定长数据的循环存储。

在具体实现中,在对满存存储页进行数据擦除时,可按照存储顺序进行数据擦除,如待存储数据是按照page0,page1,page2……pagen的顺序存入所述存储页,则对满存存储页进行数据擦除时,可获取待存储数据存入所述存储页的存储顺序,然后按照page0,page1,page2……pagen的顺序进行数据擦除。在具体实现中,先进行数据存储的存储页必然也是先存满,故此处存储顺序也可理解为满存顺序。

本实施中,在flash存储区的存储页中目标存储页内已存放的有效数据和属性数据之间的地址差值大于等于待存储数据的数据长度时,将所述待存储数据的有效数据按照地址从大到小的顺序存放至所述目标存储页,并将所述待存储数据的属性数据按照地址从小到大的顺序存放至所述目标存储页,以实现对未存满的目标存储页进行数据存储;在flash存储区的存储页中目标存储页内已存放的有效数据和属性数据之间的地址差值小于待存储数据的数据长度,且所述存储页中满存存储页的页数大于等于预设页数时,获取所述存储页中的满存存储页的满存顺序;根据所述满存顺序对所述满存存储页进行数据擦除,并将所述待存储数据存放至擦除后的满存存储页,以基于擦除后的满存存储页实现对不定长数据的循环存储,由此,提高flash存储区利用率,避免不必要的存储空间浪费。

此外,本发明实施例还提出一种存储介质,所述存储介质上存储有flash存储程序,所述flash存储程序被处理器执行时实现如上文所述的flash存储方法的步骤。

参照图6,图6为本发明flash存储装置第一实施例的结构框图。

如图6所示,本发明实施例提出的flash存储装置包括:

数据获取模块10,用于获取flash存储区的存储页中目标存储页内已存放的有效数据和属性数据之间的地址差值;

数据判断模块20,用于判断所述地址差值是否大于等于待存储数据的数据长度;

满存统计模块30,用于在所述地址差值小于所述数据长度时,统计所述存储页中满存存储页的页数;

数据存储模块40,用于在所述满存存储页的页数小于预设页数时,将所述待存储数据的有效数据按照地址从大到小的顺序存放至所述目标存储页对应的下一存储页,并将所述待存储数据的属性数据按照地址从小到大的顺序存放至所述目标存储页对应的下一存储页。

本实施例中,智能穿戴设备获取flash存储区的存储页中目标存储页内已存放的有效数据和属性数据之间的地址差值,在所述地址差值小于待存储数据的数据长度时,统计所述存储页中满存存储页的页数,在所述满存存储页的页数大于等于预设页数时,对所述满存存储页进行数据擦除,并将所述待存储数据存放至擦除后的存储页。相较于现有技术通过外接芯片实现智能穿戴设备的内存拓展,本实施例通过获取flash存储区的存储页中目标存储页内已存放的有效数据和属性数据之间的地址差值,以便于基于所述地址差值和待存储数据的数据长度判断所述目标存储页是否满存,在所述地址差值小于待存储数据的数据长度时,统计所述存储页中满存存储页的页数,以便于基于所述满存存储页的页数判断所述flash存储区是否存满,在所述满存存储页的页数小于预设页数时,即所述flash存储区未存满时,将所述待存储数据存放至未存满的存储页,以提高有限的flash存储区的利用率,避免不必要的存储空间浪费。

基于本发明上述flash存储装置第一实施例,提出本发明flash存储装置的第二实施例。

在本实施例中,所述数据获取模块10,还用于获取flash存储区的存储页中目标存储页内已存放的有效数据的地址最小值和属性数据的地址最大值;

所述数据获取模块10,还用于计算所述地址最小值和所述地址最大值之间的地址差值。

所述数据存储模块40,还用于在所述地址差值大于等于待存储数据的数据长度时,将所述待存储数据的有效数据按照地址从大到小的顺序存放至所述目标存储页,并将所述待存储数据的属性数据按照地址从小到大的顺序存放至所述目标存储页。

所述满存统计模块30,还用于获取flash存储区的存储页中已存放的有效数据和属性数据之间的地址差值;

所述满存统计模块30,还用于获取待存储数据的数据长度,在所述地址差值小于所述数据长度时,判定所述存储页为满存存储页。

所述数据存储模块40,还用于在所述满存存储页的页数大于等于预设页数时,获取所述存储页中的满存存储页的满存顺序;

所述数据存储模块40,还用于根据所述满存顺序对所述满存存储页进行数据擦除,并将所述待存储数据存放至擦除后的满存存储页。

所述数据获取模块10,还用于获取flash存储区的存储页中预设起始页内存放的索引信息,并根据所述索引信息确定目标存储页。

所述数据获取模块10,还用于对flash存储区进行分页处理,获得对应的存储页;

所述数据获取模块10,还用于判断所述flash存储区中是否存在历史数据存储记录;

所述数据获取模块10,还用于在存在所述历史数据存储记录时,根据所述历史数据存储记录查找所述存储页中预设起始页内存放的索引信息;

所述数据获取模块10,还用于在不存在所述历史数据存储记录时,获取所述存储页对应的页标识,并根据所述页标识生成索引信息。

本发明flash存储装置的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器/随机存取存储器、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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