CN113157212B - Flash存储方法、装置、智能穿戴设备及存储介质 - Google Patents
Flash存储方法、装置、智能穿戴设备及存储介质 Download PDFInfo
- Publication number
- CN113157212B CN113157212B CN202110445553.8A CN202110445553A CN113157212B CN 113157212 B CN113157212 B CN 113157212B CN 202110445553 A CN202110445553 A CN 202110445553A CN 113157212 B CN113157212 B CN 113157212B
- Authority
- CN
- China
- Prior art keywords
- data
- storage
- page
- stored
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明涉及数据处理技术领域,公开了一种Flash存储方法、装置、智能穿戴设备及存储介质,所述Flash存储方法包括:获取Flash存储区的存储页中目标存储页内已存放的有效数据和属性数据之间的地址差值,判断地址差值是否大于待存储数据的数据长度;若否,统计存储页中满存存储页的页数;在满存存储页的页数小于预设页数时,将待存储数据的有效数据按照地址从大到小的顺序存放至目标存储页对应的下一存储页,并将待存储数据的属性数据按照地址从小到大的顺序存放至目标存储页对应的下一存储页,相较于现有技术通过外接芯片实现智能穿戴设备的内存拓展,本发明中智能穿戴设备通过执行上述步骤来提高有限的Flash存储区的利用率。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种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,例如中央处理器(CentralProcessing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是稳定的非易失性存储器(Non-Volatile Memory,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,Page 1,Page 2……Page n,在具体实现中,在没有历史存储记录时,目标存储页可根据实际需求进行设置,如可设置为Page 0,本实施例对此不加以限制。
需要说明的是,在确定目标存储页后,则可获取目标存储页内已存放的有效数据的地址最小值和属性数据的地址最大值,因有效数据是按照地址从大到小的顺序存放至所述目标存储页,可理解为Data从高地址往低地址存储至所述目标存储页,因此,在获取Data的当前地址时,即获取Data的地址最小值,相应地,因属性数据是按照地址从大到小的顺序存放至所述目标存储页,可理解为Slot从低地址往高地址存储至所述目标存储页,因此,在获取Slot的当前地址时,即获取Slot的地址最大值,然后,则可基于Data的地址最小值和Slot的地址最大值计算地址差值,参见图3所述的本发明Flash存储方法涉及的存储示意图,如,有效数据是从Data m到Data 0,属性数据是从Slot 0到Slot n,m和n可相同也可不同,本实施例对此不加以限制,若检测到上一次数据存储完毕后的目标存储页内有效数据的地址(即Data的地址最小值)为Data 51,属性数据的地址(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存储区中是否存在历史数据存储记录,在存在所述历史数据存储记录时,根据所述历史数据存储记录查找所述存储页中预设起始页内存放的索引信息,在不存在所述历史数据存储记录时,获取所述存储页对应的页标识,并根据所述页标识生成索引信息,所述页标识可为页编码,如Page 0,Page 1,Page 2……Page n,则所述索引信息可为基于所述页编码生成的用于目标存储页定位的信息。
本实施中,在获取Flash存储区的存储页中目标存储页内已存放的有效数据和属性数据之间的地址差值之前,获取Flash存储区的存储页中预设起始页内存放的索引信息,并根据所述索引信息确定目标存储页以此实现对目标存储页的精准定位,进一步地,提高了基于目标存储页进行存储判断时的准确度,避免了不必要的存储空间浪费。
参考图5,图5为本发明Flash存储方法第三实施例的流程示意图。
基于上述第一实施例,在本实施例中,所述步骤S20之后,还包括:
S501:若是,则将所述待存储数据的有效数据按照地址从大到小的顺序存放至所述目标存储页,并将所述待存储数据的属性数据按照地址从小到大的顺序存放至所述目标存储页。
易于理解的是,在Flash存储区的存储页中目标存储页内已存放的有效数据和属性数据之间的地址差值大于等于待存储数据的数据长度时,即可判定为所述目标存储页未存满,且当前待存储数据可存入所述目标存储页,则将所述待存储数据的有效数据按照地址从大到小的顺序存放至所述目标存储页,并将所述待存储数据的属性数据按照地址从小到大的顺序存放至所述目标存储页,以实现对未存满的目标存储页进行数据存储。
此外,所述步骤S30之后,还包括:
步骤S601:在所述满存存储页的页数大于等于预设页数时,获取所述存储页中的满存存储页的满存顺序;
步骤S602:根据所述满存顺序对所述满存存储页进行数据擦除,并将所述待存储数据存放至擦除后的满存存储页。
需要说明的是,在所述满存存储页的页数大于等于预设页数时,可对所述满存存储页进行数据擦除,并将所述待存储数据存放至擦除后的存储页,所述预设页数可理解为Flash存储区所能存储的最大页数,如,100,则在满存存储页的页数大于等于100时,可认定为Flash存储区已存满,则可对所述满存存储页进行数据擦除,并将所述待存储数据存放至擦除后的存储页,以实现对不定长数据的循环存储。
在具体实现中,在对满存存储页进行数据擦除时,可按照存储顺序进行数据擦除,如待存储数据是按照Page 0,Page 1,Page 2……Page n的顺序存入所述存储页,则对满存存储页进行数据擦除时,可获取待存储数据存入所述存储页的存储顺序,然后按照Page 0,Page 1,Page 2……Page n的顺序进行数据擦除。在具体实现中,先进行数据存储的存储页必然也是先存满,故此处存储顺序也可理解为满存顺序。
本实施中,在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存储装置的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者***中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器/随机存取存储器、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种Flash存储方法,其特征在于,所述Flash存储方法包括以下步骤:
获取Flash存储区的存储页中目标存储页内已存放的有效数据和属性数据之间的地址差值;
判断所述地址差值是否大于等于待存储数据的数据长度;
若否,则统计所述存储页中满存存储页的页数;
在所述满存存储页的页数小于预设页数时,将所述待存储数据的有效数据按照地址从大到小的顺序存放至所述目标存储页对应的下一存储页,并将所述待存储数据的属性数据按照地址从小到大的顺序存放至所述目标存储页对应的下一存储页;
所述判断所述地址差值是否大于等于待存储数据的数据长度,包括:
获取待存储数据的数据长度,然后将待存储数据的数据长度与所述地址差值进行比较,以判断所述地址差值是否小于待存储数据的数据长度;
所述获取Flash存储区的存储页中目标存储页内已存放的有效数据和属性数据之间的地址差值的步骤之前,还包括:
获取Flash存储区的存储页中预设起始页内存放的索引信息,并根据所述索引信息确定目标存储页;
所述获取Flash存储区的存储页中预设起始页内存放的索引信息,并根据所述索引信息确定目标存储页的步骤之前,还包括:
对Flash存储区进行分页处理,获得对应的存储页;
判断所述Flash存储区中是否存在历史数据存储记录;
在存在所述历史数据存储记录时,根据所述历史数据存储记录查找所述存储页中预设起始页内存放的索引信息;
在不存在所述历史数据存储记录时,获取所述存储页对应的页标识,并根据所述页标识生成索引信息。
2.如权利要求1所述的Flash存储方法,其特征在于,所述获取Flash存储区的存储页中目标存储页内已存放的有效数据和属性数据之间的地址差值的步骤,具体包括:
获取Flash存储区的存储页中目标存储页内已存放的有效数据的地址最小值和属性数据的地址最大值;
计算所述地址最小值和所述地址最大值之间的地址差值。
3.如权利要求1所述的Flash存储方法,其特征在于,所述判断所述地址差值是否大于待存储数据的数据长度的步骤之后,还包括:
若是,则将所述待存储数据的有效数据按照地址从大到小的顺序存放至所述目标存储页,并将所述待存储数据的属性数据按照地址从小到大的顺序存放至所述目标存储页。
4.如权利要求1所述的Flash存储方法,其特征在于,所述若否,则统计所述存储页中满存存储页的页数的步骤之前,还包括:
获取Flash存储区的存储页中已存放的有效数据和属性数据之间的地址差值;
获取待存储数据的数据长度,在所述地址差值小于所述数据长度时,判定所述存储页为满存存储页。
5.如权利要求1所述的Flash存储方法,其特征在于,所述若否,则统计所述存储页中满存存储页的页数的步骤之后,还包括:
在所述满存存储页的页数大于等于预设页数时,获取所述存储页中的满存存储页的满存顺序;
根据所述满存顺序对所述满存存储页进行数据擦除,并将所述待存储数据存放至擦除后的满存存储页。
6.一种Flash存储装置,其特征在于,所述Flash存储装置包括:
数据获取模块,用于获取Flash存储区的存储页中目标存储页内已存放的有效数据和属性数据之间的地址差值;
数据判断模块,用于判断所述地址差值是否大于等于待存储数据的数据长度;
满存统计模块,用于在所述地址差值小于所述数据长度时,统计所述存储页中满存存储页的页数;
数据存储模块,用于在所述满存存储页的页数小于预设页数时,将所述待存储数据的有效数据按照地址从大到小的顺序存放至所述目标存储页对应的下一存储页,并将所述待存储数据的属性数据按照地址从小到大的顺序存放至所述目标存储页对应的下一存储页;
所述数据判断模块,还用于获取待存储数据的数据长度,然后将待存储数据的数据长度与所述地址差值进行比较,以判断所述地址差值是否小于待存储数据的数据长度;
所述数据获取模块,还用于获取Flash存储区的存储页中预设起始页内存放的索引信息,并根据所述索引信息确定目标存储页;
所述数据获取模块,还用于对Flash存储区进行分页处理,获得对应的存储页;
判断所述Flash存储区中是否存在历史数据存储记录;
在存在所述历史数据存储记录时,根据所述历史数据存储记录查找所述存储页中预设起始页内存放的索引信息;
在不存在所述历史数据存储记录时,获取所述存储页对应的页标识,并根据所述页标识生成索引信息。
7.一种智能穿戴设备,其特征在于,所述智能穿戴设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的Flash存储程序,所述Flash存储程序配置为实现如权利要求1至5中任一项所述的Flash存储方法的步骤。
8.一种存储介质,其特征在于,所述存储介质上存储有Flash存储程序,所述Flash存储程序被处理器执行时实现如权利要求1至5中任一项所述的Flash存储方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110445553.8A CN113157212B (zh) | 2021-04-23 | 2021-04-23 | Flash存储方法、装置、智能穿戴设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110445553.8A CN113157212B (zh) | 2021-04-23 | 2021-04-23 | Flash存储方法、装置、智能穿戴设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113157212A CN113157212A (zh) | 2021-07-23 |
CN113157212B true CN113157212B (zh) | 2023-02-28 |
Family
ID=76870663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110445553.8A Active CN113157212B (zh) | 2021-04-23 | 2021-04-23 | Flash存储方法、装置、智能穿戴设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113157212B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116501654B (zh) * | 2022-01-18 | 2024-06-04 | 北京科益虹源光电技术有限公司 | 数据的存储方法及激光器 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103729303A (zh) * | 2014-01-20 | 2014-04-16 | 飞天诚信科技股份有限公司 | 一种Flash的数据写入和读取方法 |
CN104298470A (zh) * | 2014-09-10 | 2015-01-21 | 腾讯科技(深圳)有限公司 | 一种数据写入方法及装置 |
CN104978148A (zh) * | 2014-04-09 | 2015-10-14 | 瑞萨电子(中国)有限公司 | 数据写入方法及装置、数据读取方法及装置 |
CN105022701A (zh) * | 2015-07-27 | 2015-11-04 | 四川长虹电器股份有限公司 | 空调器运行状态和参数的存储方法 |
CN107168647A (zh) * | 2017-04-17 | 2017-09-15 | 武汉永力科技股份有限公司 | Flash数据读写方法及*** |
CN107273306A (zh) * | 2017-06-19 | 2017-10-20 | 郑州云海信息技术有限公司 | 一种固态硬盘的数据读取、数据写入方法及固态硬盘 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103645993B (zh) * | 2013-12-24 | 2016-04-06 | 飞天诚信科技股份有限公司 | 一种基于大页面Flash的数据更新和读取方法 |
CN106598504B (zh) * | 2016-12-26 | 2019-12-17 | 华为机器有限公司 | 数据存储方法及装置 |
-
2021
- 2021-04-23 CN CN202110445553.8A patent/CN113157212B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103729303A (zh) * | 2014-01-20 | 2014-04-16 | 飞天诚信科技股份有限公司 | 一种Flash的数据写入和读取方法 |
CN104978148A (zh) * | 2014-04-09 | 2015-10-14 | 瑞萨电子(中国)有限公司 | 数据写入方法及装置、数据读取方法及装置 |
CN104298470A (zh) * | 2014-09-10 | 2015-01-21 | 腾讯科技(深圳)有限公司 | 一种数据写入方法及装置 |
CN105022701A (zh) * | 2015-07-27 | 2015-11-04 | 四川长虹电器股份有限公司 | 空调器运行状态和参数的存储方法 |
CN107168647A (zh) * | 2017-04-17 | 2017-09-15 | 武汉永力科技股份有限公司 | Flash数据读写方法及*** |
CN107273306A (zh) * | 2017-06-19 | 2017-10-20 | 郑州云海信息技术有限公司 | 一种固态硬盘的数据读取、数据写入方法及固态硬盘 |
Also Published As
Publication number | Publication date |
---|---|
CN113157212A (zh) | 2021-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108388598B (zh) | 电子装置、数据存储方法及存储介质 | |
CN109086394B (zh) | 搜索排序方法、装置、计算机设备和存储介质 | |
CN109634698B (zh) | 菜单显示方法、装置、计算机设备及存储介质 | |
CN110738577B (zh) | 社区发现方法、装置、计算机设备和存储介质 | |
CN107239392B (zh) | 一种测试方法、装置、终端及存储介质 | |
CN110209348B (zh) | 数据存储方法、装置、电子设备及存储介质 | |
CN109597979B (zh) | 清单表格生成方法、装置、计算机设备和存储介质 | |
CN110471585A (zh) | 应用程序功能图标展示方法、装置和计算机设备 | |
CN111107042B (zh) | 报文解析方法、装置、计算机设备和存储介质 | |
CN109525647B (zh) | 消息推送徽章值控制方法、电子装置及存储介质 | |
CN113157212B (zh) | Flash存储方法、装置、智能穿戴设备及存储介质 | |
CN111460011A (zh) | 页面数据展示方法、装置、服务器及存储介质 | |
CN109656474B (zh) | 数据存储方法、装置、计算机设备和存储介质 | |
CN110222046B (zh) | 列表数据的处理方法、装置、服务器和存储介质 | |
CN114049463A (zh) | 一种二叉树的数据网格化、网格点数据的获取方法及装置 | |
CN112860567A (zh) | 埋点识别方法、装置、计算机设备和存储介质 | |
CN109683798B (zh) | 一种文本确定方法、终端及计算机可读存储介质 | |
CN112347101A (zh) | 标签数据存储方法、计算机装置和存储介质 | |
CN115238837B (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN109857366B (zh) | 基于外存的***排序方法、***、设备及存储介质 | |
CN111522969A (zh) | 图像检索方法、装置、计算机设备和存储介质 | |
CN108170664B (zh) | 基于重点关键词的关键词拓展方法和装置 | |
CN107305552A (zh) | 辅助阅读方法和装置 | |
CN109885710B (zh) | 基于差分演化算法的用户画像刻画方法及服务器 | |
CN110704523B (zh) | 数据导出方法、装置、设备及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |