CN106155915A - 数据存储的处理方法及装置 - Google Patents
数据存储的处理方法及装置 Download PDFInfo
- Publication number
- CN106155915A CN106155915A CN201510180629.3A CN201510180629A CN106155915A CN 106155915 A CN106155915 A CN 106155915A CN 201510180629 A CN201510180629 A CN 201510180629A CN 106155915 A CN106155915 A CN 106155915A
- Authority
- CN
- China
- Prior art keywords
- data
- data block
- partition
- updated
- block
- 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.)
- Granted
Links
- 238000013500 data storage Methods 0.000 title claims abstract description 24
- 238000012545 processing Methods 0.000 title claims abstract description 11
- 238000003672 processing method Methods 0.000 title abstract description 7
- 238000000034 method Methods 0.000 claims abstract description 31
- 238000005192 partition Methods 0.000 claims description 139
- 239000003550 marker Substances 0.000 claims description 40
- 230000001360 synchronised effect Effects 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 238000007726 management method Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012356 Product development Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (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)
- Read Only Memory (AREA)
Abstract
本发明提供了一种数据存储的处理方法及装置,其中,该方法采用擦除flash存储空间上的分区;在该分区上存储与数据对应的数据块;在更新该数据的情况下,在该分区上依次写入与更新的该数据对应的数据块;在该一个或多个该分区写满数据块的情况下,擦除该分区,解决了嵌入式产品的flash块的使用寿命短,存取效率低,存储空间利用低的问题,提高了flash块的使用寿命,存取效率,存储空间利用率。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种数据存储的处理方法及装置。
背景技术
在嵌入式产品开发应用中,经常会遇到一些相对独立且关键的少量数据的存储需求,这些数据有些涉及到系统正常启动、版本更新的关键参数,有些是系统不同阶段代码用来同步某种操作的关键标志。因为这些数据在系统的引导阶段就有读写的需求,故不能使用操作系统下各种成熟的文件系统来存取。所以如何基于嵌入式系统中常用的nand、nor等flash设备,设计出能够满足这种数据存储要求的高效、可靠的存储系统是一件非常有意义的事情。
能够满足上述数据存取要求的一种简单做法,就是采用flash双block备份的方案,这种方案下,在保存数据的时候,会先后将数据存储在至少两个不同的block块中,以解决像nand这种flash会产生坏块的数据备份问题,同时因为写入是分先后的,这样也保证了即使在写过程中发生了极端的掉电异常,系统中也至少会存有一份旧的完整数据,以保证后续整个系统的正常引导和运行。
虽然该方案可以满足存储需求,但明显存在一些不合理的设计且效率低下。总结有以下缺点:
flash块擦除过于频繁,每一次写入都需要将块擦除,会降低flash使用寿命;
该需求下的数据存储容量往往只占flash block块容量极少的部分,导致每块block有大量剩余存储空间的浪费;
由于读写都必须实际操作flash物理设备,数据的存取效率不高,特别是其写入过程,都是多份数据的备份写入,且写入之前都必须对flash block块进行擦除操作,占用较多的cpu时间,导致数据存储效率低下。
针对相关技术中嵌入式产品的flash块的使用寿命短,存取效率低,存储空间利用低的问题,目前尚未提出有效的解决方案。
发明内容
本发明提供了一种数据存储的处理方法及装置,以至少解决相关技术中嵌入式产品的flash块的使用寿命短,存取效率低,存储空间利用低的问题。
根据本发明的一个方面,提供了一种数据存储的处理方法,包括:擦除flash存储空间上的分区;在所述分区上存储与数据对应的数据块;在更新所述数据的
情况下,在所述分区上依次写入与更新的所述数据对应的数据块;在所述分区写满数据块的情况下,擦除所述分区。
进一步地,所述数据块包括:数据块标记符、关键数据、校验值;其中,所述数据块标记符用于指示更新数据时的数据块物理地址;以及,所述数据块标记符用于指示可写数据块的物理地址。
进一步地,所述方法还包括:根据所述数据块标记符在所述分区中查找更新的数据块所在flash中的物理地址;在查找到的情况下,向内存申请所述更新数据块大小的空间;在申请成功的情况下,根据所述物理地址读取所述更新的数据块至内存中。
进一步地,所述方法还包括:根据所述数据块标记符在所述分区中查找更新的数据块所在flash中的物理地址;在没有查找到的情况下,对所述分区做一次性擦除;用缺省值初始化所述更新的数据块对应的内存。
进一步地,所述方法还包括:根据所述数据块标记符记录的更新可写物理地址,判断所述分区中是否能够容纳更新的数据块;在所述分区剩余存储空间足够的情况下,将所述更新的数据块写到所述更新可写物理地址上。
进一步地,所述将所述更新的数据块写到所述更新可写物理地址上包括:将同步内存上的所述更新的数据块写到所述更新可写物理地址上。
进一步地,所述方法还包括:根据所述数据块标记符记录的更新可写物理地址,判断所述分区中是否够写下更新的数据块,在所述分区剩余存储空间不足够的情况下,擦除所述分区。
进一步地,所述分区以物理的block大小为单位。
进一步地,所述擦除所述分区包括:首先擦除所述分区第一个block,将所述更新的数据对应的数据块写入所述第一个block,在所述第一个block写入成功之后,再擦除所述分区中剩下的所有block。
根据本发明的另一个方面,还提供了一种数据存储的处理装置,包括:第一擦除模块,用于擦除flash存储空间上的分区;存储模块,用于在所述分区上存储与数据对应的数据块;更新模块,用于在更新所述数据的情况下,在所述分区上依次写入与更新的所述数据对应的数据块;第二擦除模块,用于在所述分区写满数据块的情况下,擦除所述分区。
进一步地,所述数据块包括:数据块标记符、关键数据、校验值;其中,所述数据块标记符用于指示更新数据时的数据块物理地址;以及,所述数据块标记符用于指示可写数据块的物理地址。
进一步地,所述装置还包括:第一查找模块,用于根据所述数据块标记符在所述分区中查找更新的数据块所在flash中的物理地址;第一申请模块,用于在查找到的情况下,
向内存申请所述更新数据块大小的空间;第一内存模块,用于在申请成功的情况下,根据所述物理地址读取所述更新的数据块至内存中。
进一步地,所述装置还包括:第二查找模块,用于根据所述数据块标记符在所述分区中查找更新的数据块所在flash中的物理地址;第二申请模块,用于在没有查找到的情况下,对所述分区做一次性擦除;第二内存模块,用于用缺省值初始化所述更新的数据块对应的内存。
进一步地,所述装置还包括:第一判断模块,用于根据所述数据块标记符记录的更新可写物理地址,判断所述分区中是否能够容纳更新的数据块;第一写入模块,用于在所述分区剩余存储空间足够的情况下,将所述更新的数据块写到所述更新可写物理地址上。
进一步地,所述第一写入模块还用于将同步内存上的所述更新的数据块写到所述更新可写物理地址上。
进一步地,所述装置包括:第二判断模块,还用于根据所述数据块标记符记录的更新可写物理地址,判断所述分区中是否够写下更新的数据块,第二写入模块,还用于在所述分区剩余存储空间不足够的情况下,擦除所述分区。
进一步地,所述分区以物理的block大小为单位。
进一步地,所述第二擦除模块包括:擦除单元,用于首先擦除所述分区第一个block,将所述更新的数据对应的数据块写入所述第一个block,在所述第一个block写入成功之后,再擦除所述分区中剩下的所有block。
通过本发明,采用擦除flash存储空间上的分区;在所述分区上存储与数据对应的数据块;在更新所述数据的情况下,在所述分区上依次写入与更新的所述数据对应的数据块;在所述分区写满数据块的情况下,擦除所述分区,解决了嵌入式产品的flash块的使用寿命短,存取效率低,存储空间利用低的问题,提高了flash块的使用寿命,存取效率,存储空间利用率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的数据存储的处理方法的流程图;
图2是根据本发明实施例的一种数据存储的处理装置的结构框图;
图3是根据本优选实施例的基于flash小容量存储系统的示意图;
图4是根据本发明优选实施例的基于flash小容量可靠存储的数据存储示意图;
图5是根据本发明优选实施例的基于flash小容量可靠存储的数据同步流程示意图;
图6是根据本发明优选实施例的基于flash小容量可靠存储的数据获取内部流程示意图;
图7是根据本发明优选实施例的基于flash小容量可靠存储的数据更新内部流程示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
在本实施例中提供了一种数据存储的处理方法方法,图1是根据本发明实施例的数据存储的处理方法的流程图,如图1所示,该流程包括如下步骤:
步骤S102,擦除flash存储空间上的分区;
步骤S104,在该分区上存储与数据对应的数据块;
步骤S106,在更新该数据的情况下,在该分区上依次写入与更新的该数据对应的数据块;
步骤S108,在该分区写满数据块的情况下,擦除该分区。
通过上述步骤,擦除在嵌入式设备上的的flash存储空间上的分区,存储与引导关键数据对应的数据块;在更新该数据的情况下,在该分区上依次写入与更新的该数据对应的数据块,直到个或多个该分区写满数据块的情况下,擦除该分区。
在本实施例中,该数据块包括:数据块标记符、关键数据、校验值;其中,该数据块标记符用于指示更新数据时的数据块物理地址;以及,该数据块标记符用于指示可写数据块的物理地址。
在本实施例中,可以根据上述数据块的数据块标记符来查找到更新后,最新的数据块所在的物理地址和该分区剩余的可写的物理地址,另外,根据上述所在的物理地址和该分区剩余的可写的物理地址可以将最新的更新数据读取到内存中,优选地,根据该数据块标记符在该分区中查找更新的数据块所在flash中的物理地址;在查找到的情况下,向内存申请该更新数据块大小的空间;在申请成功的情况下,根据该物理地址读取该更新的数据块至内存中。
另外,根据该数据块标记符在该分区中查找更新的数据块所在flash中的物理地址;在没有查找到的情况下,对该分区做一次性擦除;用缺省值初始化该更新的数据块对应的内存。
在本实施例中,可以根据该数据块标记符记录的更新可写物理地址,判断该分区中是否能够容纳更新的数据块,在该分区剩余存储空间足够的情况下,将该更新的数据块写到该更新可写物理地址上,其中,可以将将同步内存上的该更新的数据块写到该更新可写物理地址上,若在该分区剩余存储空间不足够的情况下,擦除该分区。
上述实施例中,该分区以物理的block大小为单位。并且在擦除该分区的方式可以有很多种,例如:可以首先擦除该分区第一个block,将该更新的数据对应的数据块写入该第一个block,在该第一个block写入成功之后,再擦除该分区中剩下的所有block。
在本实施例中还提供了一种数据存储的处理装置,,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图2是根据本发明实施例的一种数据存储的处理装置的结构框图,如图2所示,该装置包括:
第一擦除模块22,用于擦除flash存储空间上的分区;
存储模块24,用于在该分区上存储与数据对应的数据块;
更新模块26,用于在更新该数据的情况下,在该分区上依次写入与更新的该数据对应的数据块;
第二擦除模块28,用于在该分区写满数据块的情况下,擦除该分区。
通过上述装置,擦除在嵌入式设备上的的flash存储空间上的分区,存储与引导关键数据对应的数据块;在更新该数据的情况下,在该分区上依次写入与更新的该数据对应的数据块,直到个或多个该分区写满数据块的情况下,擦除该分区。
在本实施例中,该数据块包括:数据块标记符、关键数据、校验值;其中,该数据块标记符用于指示更新数据时的数据块物理地址;以及,该数据块标记符用于指示可写数据块的物理地址。
在本实施例中,该装置还包括:
第一查找模块,用于根据该数据块标记符在该分区中查找更新的数据块所在flash中的物理地址;
第一申请模块,用于在查找到的情况下,向内存申请该更新数据块大小的空间;
第一内存模块,用于在申请成功的情况下,根据该物理地址读取该更新的数据块至内存中。
在本实施例中,该装置还包括:
第二查找模块,用于根据该数据块标记符在该分区中查找更新的数据块所在flash中的物理地址;
第二申请模块,用于在没有查找到的情况下,对该分区做一次性擦除;
第二内存模块,用于用缺省值初始化该更新的数据块对应的内存。
在本实施例中,该装置还包括:
第一判断模块,用于根据该数据块标记符记录的更新可写物理地址,判断该分区中是否能够容纳更新的数据块;
第一写入模块,用于在该分区剩余存储空间足够的情况下,将该更新的数据块写到该更新可写物理地址上。
该第一写入模块还用于将同步内存上的该更新的数据块写到该更新可写物理地址上。
在本实施例中,该装置包括:
第二判断模块,还用于根据该数据块标记符记录的更新可写物理地址,判断该分区中是否够写下更新的数据块,
第二写入模块,还用于在该分区剩余存储空间不足够的情况下,擦除该分区。
在本实施例中,该分区以物理的block大小为单位。
该第二擦除模块28包括:擦除单元,用于首先擦除该分区第一个block,将该更新的数据对应的数据块写入该第一个block,在该第一个block写入成功之后,再擦除该分区中剩下的所有block。
下面结合优选实施例对本发明进行详细说明。
实施例1
本优选实施例开发的Flash小容量数据存储系统都有针对性的改进和解决,其最大的区别是不再使用多block备份的机制,而是采用在全部存储空间中程控循环写入的机制,具体有以下几个方面的改进:
对分配的flash存储空间做统筹擦除动作,在数据写入前对所有block块进行一次擦除,以后也只在存储空间写满数据后做一次集中擦除动作,所以极大的减少了flash块的擦除频度;
最大化的利用分配的flash存储空间,数据存储不再是以block块为单位,而是将block存储空间作统一集中管理,存储时会根据数据大小及存储空间当前的使用情况自动计算找到新的存储位置,从该位置处更新数据,实现顺序循环写入控制;
极大的提高了数据读写效率。数据存储的过程得到了简化处理,写入前不再需要执行擦除动作,同时写入的数据量即是实际需要保存的数据,不再有块操作时的大量冗余、无效数据的写入;在读取数据的时候,也不再需要去实际操作flash,而是直接从跟flash最新存储的数据同步的内存空间中取出即可。
本优选实施例的方法包括如下步骤:
步骤1,flash存储空间可划分为一个至多个分区,分区以物理的block大小为单位,用于存储不同结构的关键小数据块。
步骤2,每个分区为一段独立的存储空间,用于存放特定结构的数据块。分区只在第一次写入数据前对整个分区所有block进行一次擦除。数据有更新,则直接将新的数据块依次往后写入。
步骤3,获取分区中关键数据前,先索引到最新的数据块所在的flash中的物理位置,并读取数据至内存中。
步骤4,获取分区中关键数据时,直接从内存读取返回。
步骤5,更新分区中关键数据时,先修改内存中数据块,后同步将新的数据块写到flash中新的物理地址,即存入最新的数据块。
步骤6,若在更新数据块时,分区存储空间已满,则重新从分区起始地址开始存储。首先擦除第一个block,将新的数据块写入第一个block,成功之后再擦除分区余下的所有block。
根据上述优选实施例的方法,该步骤实现了嵌入式flash设备数据可靠存储。
实施例2
图3是根据本优选实施例的基于flash小容量存储系统的示意图,如图3所示,该实施例包括访问模块10、访问模块11、访问模块12、本发明实施例的系统13、存储设备18,其中:
访问模块11是嵌入式系统中获取关键数据的进程;本发明实施例系统为基于flash小容量数据可靠存储方法,包括同步功能14、读功能15、写功能16和擦除功能17;存储设备18则是flash存储芯片。
图4是根据本发明优选实施例的基于flash小容量可靠存储的数据存储示意图,如图4所示,整个flash设备可以根据需求划分为大小不一的分区;分区是以存储单元block为单位,分区是由多个存储单元block组成的,依赖于本系统管理的分区至少需要2个block;数据块(DataStruct)则为实际存储关键小数据的数据块,包含数据结构唯一标记符、关键小数据、校验值。系统根据唯一标记符循环往后查找最新的关键数据的DataStruct以及写新的关键数据时的物理地址。
图5是根据本发明优选实施例的基于flash小容量可靠存储的数据同步流程示意图。如图5所示,该流程如下:
步骤S501,嵌入式系统上电工作。
步骤S502,系统中有进程需要访问依赖于本系统管理的分区中的数据,访问之前先调用本发明实施例提供的初始化接口。
步骤S503,本发明实施例的初始化工作主要是根据唯一标记符从该分区起始地址循环往后查找最新的数据块。
步骤S504,若找到最新的数据块,则记录最新的可写新数据的物理地址。
步骤S505,本发明实施例在内存中申请关键数据大小的空间,用于存放从flash中获取的最新的数据,实现flash与内存的数据同步。
步骤S506,若本发明实施例在第1个block和第2个block均没有找到唯一标记符,则认为该分区中没有有效数据。本发明系统对整个分区的所有block做一次性擦除,之后只顺序往后写,不擦,直到写满分区之后重新擦除。
步骤S507,若没有有效数据,则用缺省值初始化内存空间的数据。
图6是根据本发明优选实施例的基于flash小容量可靠存储的数据获取内部流程示意图,如图6所示,该流程如下:
步骤S601,嵌入式系统中的进程需要获取访问依赖于本系统管理的分区中的数据,需要调用本发明实施例提供的读接口。
步骤S602,本发明实施例的读接口直接从该分区同步的内存空间中获取数据。
步骤S603,本系统的读接口将结果返回给访问模块。
图7是根据本发明优选实施例的基于flash小容量可靠存储的数据更新内部流程示意图,如图7所示,该流程如下:
步骤S701,嵌入式系统中的进程需要更新访问依赖于本系统管理的分区中的数据,需要调用本发明实施例提供的写接口;
步骤S702,本发明实施例的写接口先更新与该分区同步的内存空间中的数据;
步骤S703,本发明实施例的写接口根据记录的flash的可写物理地址判断分区剩余空间是否够写入一个新的数据块;
步骤S704,若分区剩余存储空间足够,则本发明实施例的写接口将同步内存中的数据及唯一标记符写到该物理地址;
步骤S705,本发明实施例给访问模块返回结果;
步骤S706,若分区剩余存储空间不够,本发明实施例将擦除分区的第一个block,并将同步内存中的数据及唯一标记符写到第一个block的起始地址;
步骤S707,写成功后,再将分区剩余的所有block一次性擦除;
步骤S708,本发明实施例给访问模块返回结果。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例该的方法。
可选地,存储介质还被设置为存储用于执行上述实施例步骤的程序代码:
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行上述实施例的方法。
显然,本领域的技术人员应所述明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (18)
1.一种数据存储的处理方法,其特征在于,包括:
擦除flash存储空间上的分区;
在所述分区上存储与数据对应的数据块;
在更新所述数据的情况下,在所述分区上依次写入与更新的所述数据对应的数据块;
在所述分区写满数据块的情况下,擦除所述分区。
2.根据权利要求1所述的方法,其特征在于,所述数据块包括:数据块标记符、关键数据、校验值;其中,
所述数据块标记符用于指示更新数据时的数据块物理地址;以及,
所述数据块标记符用于指示可写数据块的物理地址。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
根据所述数据块标记符在所述分区中查找更新的数据块所在flash中的物理地址;
在查找到的情况下,向内存申请所述更新数据块大小的空间;
在申请成功的情况下,根据所述物理地址读取所述更新的数据块至内存中。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
根据所述数据块标记符在所述分区中查找更新的数据块所在flash中的物理地址;
在没有查找到的情况下,对所述分区做一次性擦除;
用缺省值初始化所述更新的数据块对应的内存。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
根据所述数据块标记符记录的更新可写物理地址,判断所述分区中是否能够容纳更新的数据块;
在所述分区剩余存储空间足够的情况下,将所述更新的数据块写到所述更新可写物理地址上。
6.根据权利要求5所述的方法,其特征在于,所述将所述更新的数据块写到所述更新可写物理地址上包括:
将同步内存上的所述更新的数据块写到所述更新可写物理地址上。
7.根据权利要求2所述的方法,其特征在于,所述方法还包括:
根据所述数据块标记符记录的更新可写物理地址,判断所述分区中是否够写下更新的数据块,
在所述分区剩余存储空间不足够的情况下,擦除所述分区。
8.根据权利要求1至7任一项所述的方法,其特征在于,所述分区以物理的block大小为单位。
9.根据权利要求8所述的方法,其特征在于,所述擦除所述分区包括:
首先擦除所述分区第一个block,将所述更新的数据对应的数据块写入所述第一个block,在所述第一个block写入成功之后,再擦除所述分区中剩下的所有block。
10.一种数据存储的处理装置,其特征在于,包括:
第一擦除模块,用于擦除flash存储空间上的分区;
存储模块,用于在所述分区上存储与数据对应的数据块;
更新模块,用于在更新所述数据的情况下,在所述分区上依次写入与更新的所述数据对应的数据块;
第二擦除模块,用于在所述分区写满数据块的情况下,擦除所述分区。
11.根据权利要求10所述的装置,其特征在于,所述数据块包括:数据块标记符、关键数据、校验值;其中,
所述数据块标记符用于指示更新数据时的数据块物理地址;以及,
所述数据块标记符用于指示可写数据块的物理地址。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
第一查找模块,用于根据所述数据块标记符在所述分区中查找更新的数据块所在flash中的物理地址;
第一申请模块,用于在查找到的情况下,向内存申请所述更新数据块大小的空间;
第一内存模块,用于在申请成功的情况下,根据所述物理地址读取所述更新的数据块至内存中。
13.根据权利要求11所述的装置,其特征在于,所述装置还包括:
第二查找模块,用于根据所述数据块标记符在所述分区中查找更新的数据块所在flash中的物理地址;
第二申请模块,用于在没有查找到的情况下,对所述分区做一次性擦除;
第二内存模块,用于用缺省值初始化所述更新的数据块对应的内存。
14.根据权利要求11所述的装置,其特征在于,所述装置还包括:
第一判断模块,用于根据所述数据块标记符记录的更新可写物理地址,判断所述分区中是否能够容纳更新的数据块;
第一写入模块,用于在所述分区剩余存储空间足够的情况下,将所述更新的数据块写到所述更新可写物理地址上。
15.根据权利要求14所述的装置,其特征在于,包括:
所述第一写入模块还用于将同步内存上的所述更新的数据块写到所述更新可写物理地址上。
16.根据权利要求11所述的装置,其特征在于,所述装置包括:
第二判断模块,还用于根据所述数据块标记符记录的更新可写物理地址,判断所述分区中是否够写下更新的数据块,
第二写入模块,还用于在所述分区剩余存储空间不足够的情况下,擦除所述分区。
17.根据权利要求10至16任一项所述的装置,其特征在于,所述分区以物理的block大小为单位。
18.根据权利要求17所述的装置,其特征在于,所述第二擦除模块包括:
擦除单元,用于首先擦除所述分区第一个block,将所述更新的数据对应的数据块写入所述第一个block,在所述第一个block写入成功之后,再擦除所述分区中剩下的所有block。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510180629.3A CN106155915B (zh) | 2015-04-16 | 2015-04-16 | 数据存储的处理方法及装置 |
PCT/CN2016/078983 WO2016165597A1 (zh) | 2015-04-16 | 2016-04-11 | 数据存储的处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510180629.3A CN106155915B (zh) | 2015-04-16 | 2015-04-16 | 数据存储的处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106155915A true CN106155915A (zh) | 2016-11-23 |
CN106155915B CN106155915B (zh) | 2021-01-08 |
Family
ID=57125708
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510180629.3A Active CN106155915B (zh) | 2015-04-16 | 2015-04-16 | 数据存储的处理方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106155915B (zh) |
WO (1) | WO2016165597A1 (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106649654A (zh) * | 2016-12-12 | 2017-05-10 | 京信通信技术(广州)有限公司 | 一种数据更新的方法和装置 |
CN107797765A (zh) * | 2017-09-26 | 2018-03-13 | 昆明理工大学 | 一种延长电可擦除存储元件使用寿命的方法 |
CN108121663A (zh) * | 2016-11-29 | 2018-06-05 | 群联电子股份有限公司 | 数据存储方法、存储器存储装置及存储器控制电路单元 |
CN108710578A (zh) * | 2018-04-20 | 2018-10-26 | 深圳市战音科技有限公司 | 基于闪存的数据存储方法和装置 |
CN108804346A (zh) * | 2018-05-30 | 2018-11-13 | 广东思诺伟智能技术有限公司 | 一种电池soc数据在flash存储器存储的方法 |
CN110462577A (zh) * | 2017-12-28 | 2019-11-15 | 华为技术有限公司 | 一种数据写入的方法及固态硬盘阵列 |
CN110764704A (zh) * | 2019-10-18 | 2020-02-07 | 浙江大华技术股份有限公司 | 一种环境变量写入方法、存储介质及电子装置 |
CN110795040A (zh) * | 2019-10-28 | 2020-02-14 | 浙江互灵科技有限公司 | 简易文件管理系统及其实现方法 |
CN113204316A (zh) * | 2021-05-19 | 2021-08-03 | 中国人民解放军93216部队 | 一种使用flash进行高效数据存储的方法 |
CN113946288A (zh) * | 2021-09-15 | 2022-01-18 | 长江存储科技有限责任公司 | 数据擦除方法、装置、电子设备及计算机存储介质 |
CN114115743A (zh) * | 2021-11-29 | 2022-03-01 | 苏州迅镭激光科技有限公司 | 一种延长数据存储芯片寿命的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070204271A1 (en) * | 2006-02-28 | 2007-08-30 | Andrew Gaiarsa | Method and system for simulating a multi-CPU/multi-core CPU/multi-threaded CPU hardware platform |
CN101251826A (zh) * | 2007-02-27 | 2008-08-27 | 深圳市同洲电子股份有限公司 | 闪速存储器、用于闪速存储器的数据管理方法及设备 |
CN101419573A (zh) * | 2008-12-01 | 2009-04-29 | 成都市华为赛门铁克科技有限公司 | 一种存储管理的方法、系统和存储设备 |
CN101446921A (zh) * | 2008-12-23 | 2009-06-03 | 青岛海信宽带多媒体技术股份有限公司 | 一种Flash存储器的动态存储方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101887750A (zh) * | 2009-05-15 | 2010-11-17 | 康佳集团股份有限公司 | 一种利用Flash存储器进行动态数据存储的方法 |
CN103294615B (zh) * | 2012-02-24 | 2017-09-22 | 北京四达时代软件技术股份有限公司 | 一种存储机顶盒用户信息的方法 |
US9430322B2 (en) * | 2012-08-02 | 2016-08-30 | Sandisk Technologies Llc | Device based wear leveling using intrinsic endurance |
CN104820641B (zh) * | 2015-04-16 | 2017-10-31 | 上海冉能自动化科技有限公司 | 减少flash擦除次数的方法 |
-
2015
- 2015-04-16 CN CN201510180629.3A patent/CN106155915B/zh active Active
-
2016
- 2016-04-11 WO PCT/CN2016/078983 patent/WO2016165597A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070204271A1 (en) * | 2006-02-28 | 2007-08-30 | Andrew Gaiarsa | Method and system for simulating a multi-CPU/multi-core CPU/multi-threaded CPU hardware platform |
CN101251826A (zh) * | 2007-02-27 | 2008-08-27 | 深圳市同洲电子股份有限公司 | 闪速存储器、用于闪速存储器的数据管理方法及设备 |
CN101419573A (zh) * | 2008-12-01 | 2009-04-29 | 成都市华为赛门铁克科技有限公司 | 一种存储管理的方法、系统和存储设备 |
CN101446921A (zh) * | 2008-12-23 | 2009-06-03 | 青岛海信宽带多媒体技术股份有限公司 | 一种Flash存储器的动态存储方法 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108121663A (zh) * | 2016-11-29 | 2018-06-05 | 群联电子股份有限公司 | 数据存储方法、存储器存储装置及存储器控制电路单元 |
CN106649654A (zh) * | 2016-12-12 | 2017-05-10 | 京信通信技术(广州)有限公司 | 一种数据更新的方法和装置 |
CN107797765B (zh) * | 2017-09-26 | 2020-09-25 | 昆明理工大学 | 一种延长电可擦除存储元件使用寿命的方法 |
CN107797765A (zh) * | 2017-09-26 | 2018-03-13 | 昆明理工大学 | 一种延长电可擦除存储元件使用寿命的方法 |
CN110462577A (zh) * | 2017-12-28 | 2019-11-15 | 华为技术有限公司 | 一种数据写入的方法及固态硬盘阵列 |
US11243701B2 (en) | 2017-12-28 | 2022-02-08 | Huawei Technologies Co., Ltd. | Data write method and solid-state drive array |
CN108710578A (zh) * | 2018-04-20 | 2018-10-26 | 深圳市战音科技有限公司 | 基于闪存的数据存储方法和装置 |
CN108804346A (zh) * | 2018-05-30 | 2018-11-13 | 广东思诺伟智能技术有限公司 | 一种电池soc数据在flash存储器存储的方法 |
CN110764704A (zh) * | 2019-10-18 | 2020-02-07 | 浙江大华技术股份有限公司 | 一种环境变量写入方法、存储介质及电子装置 |
CN110764704B (zh) * | 2019-10-18 | 2023-09-05 | 浙江大华技术股份有限公司 | 一种环境变量写入方法、存储介质及电子装置 |
CN110795040A (zh) * | 2019-10-28 | 2020-02-14 | 浙江互灵科技有限公司 | 简易文件管理系统及其实现方法 |
CN113204316A (zh) * | 2021-05-19 | 2021-08-03 | 中国人民解放军93216部队 | 一种使用flash进行高效数据存储的方法 |
CN113946288A (zh) * | 2021-09-15 | 2022-01-18 | 长江存储科技有限责任公司 | 数据擦除方法、装置、电子设备及计算机存储介质 |
CN114115743A (zh) * | 2021-11-29 | 2022-03-01 | 苏州迅镭激光科技有限公司 | 一种延长数据存储芯片寿命的方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2016165597A1 (zh) | 2016-10-20 |
CN106155915B (zh) | 2021-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106155915B (zh) | 数据存储的处理方法及装置 | |
US10921994B2 (en) | Managing storage array configuration | |
US7210010B2 (en) | Efficient system and method for updating a memory device | |
JP5113700B2 (ja) | ファームウェア更新装置及び方法 | |
CN109783017B (zh) | 一种存储设备坏块的处理方法、装置及存储设备 | |
CN108228385B (zh) | 数据储存装置及其数据维护方法 | |
CN102999431A (zh) | 用于非易失性存储器系统的编织序列计数器 | |
US7512777B2 (en) | Method and system for maintaining system management BIOS | |
CN104808951A (zh) | 进行存储控制的方法和设备 | |
CN101923473B (zh) | 嵌入式电子装置及更新其固件的方法 | |
CN102521289B (zh) | 一种文件同步方法、装置及系统 | |
CN109086078B (zh) | 安卓系统升级方法、装置、服务器及移动终端 | |
US9710340B2 (en) | Replacement of a corrupt driver variable record | |
US11995318B2 (en) | Deallocated block determination | |
CN112860291B (zh) | 固件升级方法及装置 | |
CN108874318B (zh) | 固态硬盘的数据恢复方法以及固态硬盘 | |
CN111124294B (zh) | 一种扇区映射信息的管理方法及装置、存储介质和设备 | |
CN113490112B (zh) | 一种无线耳机及无线耳机的数据处理方法、存储介质 | |
CN113254271B (zh) | 一种数据序列恢复方法、装置、设备及存储介质 | |
CN102819444B (zh) | 一种基站中加载程序的方法和系统 | |
CN114327246B (zh) | 存储介质内数据存储方法、存储介质及计算机设备 | |
CN105701162B (zh) | 一种智能终端的用户数据分区的管理方法及智能终端 | |
CN110795155B (zh) | 系统启动方法及装置、电子设备、存储介质 | |
CN105938417B (zh) | 更新配置数据的方法及装置 | |
CN113190244A (zh) | 无线模组升级的方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |