CN101976226B - 一种数据存储方法 - Google Patents
一种数据存储方法 Download PDFInfo
- Publication number
- CN101976226B CN101976226B CN201010529143.3A CN201010529143A CN101976226B CN 101976226 B CN101976226 B CN 101976226B CN 201010529143 A CN201010529143 A CN 201010529143A CN 101976226 B CN101976226 B CN 101976226B
- Authority
- CN
- China
- Prior art keywords
- data
- data recording
- written
- write
- physical blocks
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000013500 data storage Methods 0.000 title claims abstract description 22
- 230000011218 segmentation Effects 0.000 claims description 12
- 238000005192 partition Methods 0.000 claims description 9
- 239000003550 marker Substances 0.000 claims description 6
- 238000012512 characterization method Methods 0.000 claims description 3
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 238000007689 inspection Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 8
- 238000012795 verification Methods 0.000 description 4
- 241001269238 Data Species 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000000052 comparative effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据存储方法。数据存储以数据记录为基本读写单元,每条数据记录占据一个虚拟小扇区存储空间,每条数据记录包括有关键字、数据及表征数据记录参数特性的虚拟扇区分配表。在将数据记录写入到存储空间时,将待写入的数据记录的数据与已写入的关键字相同、数据为最新基数据的数据记录的数据相比较,若需要差异写入,则根据最新基数据组装差异数据作为待写入的数据记录的数据,若不需要差异写入,则直接写入待写入的数据记录。本发明所述的数据存储方法在存储过程中考虑数据的差异存储,减少了数据的写入量,减少了对存储空间的占用,提高了写入速度。
Description
技术领域
本发明涉及数据存储技术领域,具体地说,是涉及考虑数据差异存储的一种数据存储方法。
背景技术
Flash作为一种存储介质,在存储领域得到广泛的应用。Flash在物理结构上分成若干个物理区块(Block),区块之间相互独立,其自身具有以下特性:(1)由于Flash的写操作只能将数据位从1写成0,不能从0写成1,所以在对flash存储器进行写入之前必须先执行擦操作,将预写入的数据位初始化为1,且擦除操作的最小单位是一个区块,而不是单个字节;(2)Flash的擦写寿命有次数限制;(3)块擦除的时间比较长;(4)Flash在使用过程中,可能导致某些区块的损坏,而区块一旦损坏,将无法进行修复。因此,在使用传统方法对Flash进行数据存储时,存储速度较慢,且擦写频繁,降低了Flash的使用寿命。
为解决传统Flash存储方法存在的上述问题,本申请人曾提出了一种Flash的动态存储方法,即把Flash中的每个Block分为更小的虚拟逻辑块(virtualsmall sector,VSS),称为虚拟小扇区,在每个Block中从前先后依次写入数据,写满后再写下一个Block;在只剩最后一个Block时,从前面找一个最早写入的Block进行数据整理,丢弃过旧的数据。这种动态数据存储方法大大减少了Flash块的擦写次数,提高了Flash的寿命,提高了数据读写速度,从而提高了系统的整体性能。
但是,不管是Flash静态存储方法还是动态存储方法,在每次写入新数据时,均是将全部的新数据都写入至存储器中,写入的数据量较大。而实际上,在大多数情况下,新数据和以前写入的旧数据相比可能仅有很小的部分不相同,也即数据的更新仅仅是小部分数据的更新。例如,一条几百个字节长度的节目信息,如果只是调整了音量,这样就只有一个字节的更改,更新的数据还占不到数据总长度的百分之一。如果仍然是将仅有小部分变化的数据全部写入至存储器中存储,数据写入量较大,写入速度较慢,而且需要占据较大的存储空间。
基于此,如何找到一种正确处理仅有部分数据改变的数据的更新和存储,将是本发明所要解决的主要问题所在。
发明内容
本发明的目的在于提供一种数据存储方法,在存储过程中考虑数据的差异存储,以减少数据的写入量,提高写入速度,减少对存储空间的占用。
为实现上述发明目的,本发明采用下述技术方案予以实现:
一种数据存储方法,数据存储以数据记录为基本读写单元,每条数据记录占据一个虚拟小扇区存储空间,每条数据记录包括有关键字、数据及表征数据记录参数特性的虚拟扇区分配表,虚拟扇区分配表中包括有标记数据记录的数据是否为基数据的基数据标志字段;在将数据记录写入到存储空间时,将待写入的数据记录的数据与已写入的关键字相同、数据为最新基数据的数据记录的数据相比较,若需要差异写入,则根据最新基数据组装差异数据作为待写入的数据记录的数据,若不需要差异写入,则直接写入待写入的数据记录。
如上所述的数据存储方法,若所述待写入的数据记录的数据与所述最新基数据相比较,存在下述任何一种情况,则不需要差异写入:
a1、待写入的数据记录的数据的长度不超过第一设定字节数;
a2、待写入的数据记录的数据中连续与最新基数据相同的部分均不超过第二设定字节数;
a3、待写入的数据记录的数据与最新基数据不同的数据的长度超过待写入的数据记录的数据长度的一定比例。
而若所述待写入的数据记录的数据与所述最新基数据相比较,不存在上述任何一种情况,则需要差异写入。
如上所述的数据存储方法,为便于数据的管理、节省数据所占用的存储空间,根据最新基数据组装差异数据作为待写入的数据记录的数据时,差异数据根据实际情况可以包括一个或多个差异数据段,每个差异数据段包括有标记差异数据起始位置的偏移量字段、标记差异数据大小的长度字段及从偏移量开始的、大小为长度字段的差异数据字段。
如上所述的数据存储方法,可以采用下述方法判断最新基数据:所述每条数据记录的虚拟扇区分配表中包括有标记数据记录写入先后顺序的数据记录版本号字段,根据数据记录版本号及所述基数据标志判断数据记录的数据是否为最新基数据。
如上所述的数据存储方法,为及时清理存储空间中过旧的数据、节省存储空间,所述每条数据记录的虚拟扇区分配表中还包括有标记数据记录是否有效的有效标志字段;在将数据记录成功写入至存储空间后,根据所述数据记录版本号及设定的备份次数修改存储空间中的旧数据记录的有效标志为无效。
如上所述的数据存储方法,为充分利用存储空间、提高数据写入速度,在写入数据记录时,根据剩余存储空间及数据记录的数据的实际长度判断是否需要将数据记录分割成若干段分别写入;在需要将数据记录分割为若干段分别写入时,在每段的虚拟扇区分配表中标记出分段顺序号及分段结束标志。
如上所述的数据存储方法,在数据存储介质为Flash存储器时,Flash存储器的存储空间划分为若干个逻辑分区,每个逻辑分区包括一个或多个连续的物理区块,数据记录依次写入逻辑分区的物理区块中,以实现Flash存储器的动态存储;
在将数据记录写入至物理区块中时,首先判断当前写入的物理区块的剩余空间是否大于设定值,若所述剩余空间大于设定值,则将数据记录写入至当前物理区块,若所述剩余空间不大于设定值,则查找另一个空的物理区块。
如上所述的数据存储方法,为保证Flash存储器有足够的空余存储空间,在当前物理区块为唯一空的物理区块时,查找一个有效数据记录最少的物理区块,将该物理区块中的有效数据记录转存至当前物理区块中。
如上所述的数据存储方法,在将数据记录写入至物理区块之前,执行下述操作,以便于为Flash存储器的数据存储做好准备:
c1、检查Flash存储器的所有物理区块是否存在物理区块标志,并在不存在物理区块标志时格式化物理区块,然后写入相应的物理区块标志;
c2、判断是否存在有未完成的有效数据记录转存操作,并在存在有效数据记录转存操作时先执行有效数据记录的转存。
与现有技术相比,本发明的优点和积极效果是:
1、本发明所述的数据存储方法在执行数据存储时,以每条数据记录作为基本读写单元,以便于实现数据的动态存储;而且,将待写入的数据记录与已经写入的基数据相比较,在两者差异较大时根据基数据重新组装出差异数据,且只存储该差异数据,从而大大减少了仅有小部分数据更新的数据记录存储时的数据写入量,显著提高了数据的写入速度,有效减少了数据存储对存储空间和存储时间的占用。
2、本发明所述的数据存储方法在执行数据存储时,根据剩余存储空间及数据记录的实际长度对待写入的数据记录采取分割成多段分别写入的分段存储,可以充分利用存储空间、提高数据写入速度。
结合附图阅读本发明的具体实施方式后,本发明的其他特点和优点将变得更加清楚。
附图说明
图1是本发明数据存储方法一个实施例的基本流程图;
图2和图3是基于图1实施例的基本流程图的本发明数据存储方法一个实施例的具体工作流程图。
具体实施方式
下面结合附图和具体实施方式对本发明的技术方案作进一步详细的说明。
本发明考虑到在Flash、EEPROM、文件系统等数据存储时,每次写入新的数据均是全部写入、即使对于仅有小部分发生更新的数据写入亦如此,因而会存在占用大量的存储空间、数据写入速度较慢的问题,提出了一种数据存储方法,该存储方法基于动态数据存储技术,又考虑到了数据的差异存储,具体来说,该方法的基本思想如下:数据存储以数据记录为基本读写单元,每条数据记录占据一个虚拟小扇区存储空间,以实现动态存储。每条数据记录包括有关键字、数据及表征数据记录参数特性的虚拟扇区分配表,虚拟扇区分配表中包括有标记数据记录的数据是否为基数据的基数据标志字段。在将数据记录写入到存储空间时,将待写入的数据记录的数据与已写入的关键字相同、数据为最新基数据的数据记录的数据相比较,若需要差异写入,则根据最新基数据组装差异数据作为待写入的数据记录的数据,若不需要差异写入,则直接写入待写入的数据记录。应用本发明的数据存储方法,对于变化较小的数据仅存储发生变化的部分,从而可以提高数据写入速度、减少对存储空间的占用。
图1所示为本发明数据存储方法一个实施例的基本流程图。该实施例在数据存储过程中既考虑了数据的差异存储、也考虑了较长数据的分段存储,其具体工作流程如下:
S101:流程开始。
S102:将待写入的数据记录的数据与已写入的关键字相同的数据记录中的最新基数据相比较。
在将数据记录写入至存储空间时,可以将某个数据记录的数据作为基数据,并在相应的虚拟扇区分配表中用基数据标志字段进行标记。根据备份数量的要求,基数据可能会同时存在有多个。在写入新的数据记录时,为实现差异存储,查找存储空间中已存储的与待写入的数据记录关键字相同、数据为最新基数据的数据记录,并将待写入的数据记录的数据与最新基数据进行比较。不同基数据的新旧程度可以通过在虚拟扇区分配表中设置标记数据记录写入先后顺序的数据记录版本号字段来区分,然后即可根据数据记录版本号及基数据标志判断数据记录的数据是否为最新基数据。
S103:判断是否需要执行差异写入。若是,执行步骤S104;若否,转至步骤S105。
根据待写入的数据记录的数据与最新基数据的比较结果确定是否执行差异写入。由于差异写入的目的是减少存储空间的占用、提高数据写入速度,针对的是与最新基数据相比数据更新较少的数据记录,因此,可以采用下述标准判断是否需要执行差异写入。
若待写入的数据记录的数据与最新基数据相比较,存在下述任何一种情况,则不需要差异写入:
a1、待写入的数据记录的数据的长度不超过第一设定字节数。例如,第一设定字节数为10,若待写入的数据记录的数据长度不超过10个字节,其本身所需存储空间并不大、写入速度比较快,若进行差异写入本身还需要耗费时间,因此,为节省空间和时间,对该类数据记录不需要差异写入。
a2、待写入的数据记录的数据中连续与最新基数据相同的部分均不超过第二设定字节数。例如,第二设定字节数为8,在该情况下,说明待写入的数据记录中的数据与最新基数据的区别较大,若组装差异数据进行差异写入,差异数据本身的大小与原数据变化不大,不需要执行差异写入。
a3、待写入的数据记录的数据与最新基数据不同的数据的长度超过待写入的数据记录的数据长度的一定比例。例如,不同的数据长度超过待写入的数据记录的数据长度的80%,由于差异处理本身耗费时间,若组装前后的数据长度差别较小,差异数据的组装反而会降低效率,因此,对该类数据记录也不执行差异写入。
反之,若待写入的数据记录的数据与最新基数据相比较,不存在上述任何一种情况,则需要执行差异写入。
S104:在需要执行数据的差异写入时,根据最新基数据组装差异数据作为待写入的数据记录的数据。然后执行步骤S105。
将待写入的数据记录的数据与最新基数据对比,依次将不同的数据段记录下来,组装成差异数据。因此,差异数据可以包括一个或多个差异数据段。每个差异数据段中包括标记差异数据起始位置的偏移量字段Offset、标记差异数据大小的长度字段Size、以及从偏移量Offset开始的、大小为Size的差异数据字段DiffData。
S105:判断数据记录是否需要分段写入。若需要分段写入,执行步骤S106;否则,转至步骤S107。
为充分利用存储空间、提高数据写入速度,在写入数据记录时,可以根据剩余存储空间及数据记录的数据的实际长度判断是否需要将数据记录分割成若干段分别写入。
S106:在需要将数据记录分割为若干段分别写入时,将数据记录分割成合适的若干段,并在每段的数据记录的虚拟扇区分配表中标记出分段顺序号及分段结束标志,以便于获知该段数据记录在整个数据记录中的位置,以及整个数据记录是否分段结束。然后,执行步骤S107。
S107:组装数据记录中的虚拟扇区分配表。
虚拟扇区分配表除包括有上述基数据标志字段、数据记录版本号字段、分段顺序号字段、分段结束标志字段之外,还包括有标记数据记录是否有效的有效标志字段、数据记录ID字段、关键字长度字段、数据长度字段及CRC32校验字段。其中,CRC校验字段又可以包括对数据记录的关键字及数据进行的校验及对虚拟扇区分配表内容进行的校验。
S108:在组装完虚拟扇区分配表后,将虚拟扇区分配表、关键字及数据构成的数据记录依次写入至存储空间中。
S109:流程结束。
上述数据存储方法可以应用在Flash存储器、文件系统、EEPROM等存储介质中。图2和图3示出了基于图1实施例的基本流程图的本发明数据存储方法一个实施例的具体工作流程图,图3是图2流程的延续。该图2和图3所示的实施例以Flash存储器为例,其他存储介质的数据存储过程可参考该实施例。
Flash存储器包括有多个物理区块Block,为实现动态存储,Flash存储器的存储空间划分为若干个逻辑分区,每个逻辑分区包括一个或多个连续的Block,数据记录依次写入逻辑分区的Block中。
在每个Block的头部设置有Block标志,共有128位16个字节,从高到低依次为:(1)格式化标志:表明该分区是否格式化;(2)数据写入格式版本号:表明数据写入格式,用于多种写入格式的兼容;(3)数据库ID;(4)校验标志一:前面三部分的按位取反值,用来进行数据校验;(5)转存Block号:标记将该Block中的有效数据记录转存到的目标Block号;(6)转存Block号按位取反值,用来进行数据校验。
如图2及图3所示,本发明所述的数据存储方法在Flash存储器中应用时,其具体工作流程如下:
S201:流程开始。
S202:检查所有Block是否存在Block标志,并在不存在Block标志时格式化Block,然后写入相应的Block标志。
在第一次写入数据记录前,所有的Block均没有Block标志,因此,在正式写入前需要先执行Block的格式化,然后写入相应的Block标志。
S203:判断是否存在有未完成的有效数据记录转存操作,并在存在时先执行有效数据记录的转存。
先根据Block标志中的转存Block号判断是否有未完成的有效数据记录转存操作,该操作可能是在上次运行过程中突然断电而中断的操作。若有,则先执行有效数据记录的转存。
S204:读取所有有效数据记录的虚拟扇区分配表到内存中。
为了提高程序运行速度,在重新开机后读取上次关机前写入的数据记录对应的虚拟扇区分配表到内存中。
上述步骤S202至S204是数据存储之前的准备工作,做好上述准备工作后,正式开始执行Flash存储器数据的存储。
S205:判断当前Block的剩余空间是否大于设定值。若是,执行步骤S206;否则,转至步骤S215。
当前Block,也即数据记录要写入的一个Block,在写入之前,先判断其剩余空间是否大于设定值。为保证剩余空间能够存储至少一个字节的数据,该设定值可以设定为数据记录的(虚拟扇区分配表长度+关键字长度+1字节)。
S206:在当前Block的剩余空间大于设定值时,判断待写入的数据记录是否被分割过。若分割过,转至步骤S209;若未分割过,执行步骤S207。
可以通过在内存中设置一个分割标志来判断数据记录是否被分割过。
S207:在数据记录未分割过时,判断是否需要执行差异写入。若需要差异写入,执行步骤S208;若不需要差异写入,转至步骤S209。
判断是否差异写入的方法可参考图1实施例所述。
S208:在需要差异写入时,读取最新基数据,并根据最新基数据组装待写入数据记录相应的差异数据。
差异数据的组装方法可参考图1实施例所述。
S209:再一次判断数据记录是否需要分割写入。若需分割写入,执行步骤S210;否则,转至步骤S211。
对于已经分割过的数据记录以及重新组装后的数据记录,根据当前Block的剩余空间及数据记录中数据的实际长度决定是否需要对数据记录进行分割写入。
S210:对于需要分割写入的数据记录,分割一块合适长度的数据作为当前写入的数据记录的数据。
S211:组装数据记录的虚拟扇区分配表。
虚拟扇区分配表的数据结构可参考上述对图1实施例的描述。具体来说,在该实施例中,虚拟扇区分配表长度为16个字节、128位,依次包括:2bit的有效标志字段、1bit的分块结束标志字段、1bit的基数据标志字段、9bit的数据记录ID字段、11bit的分块顺序号字段、8bit的关键字长度字段、4bit的数据记录版本号字段、28bit的数据长度字段、32bit的第一CRC32校验字段及32bit的第二CRC32校验字段。其中,第一CRC32校验字段用于对数据记录中的关键字和数据连接后的校验,而第二CRC32校验字段用于对虚拟扇区分配表前面的12个字节数据进行校验。
S212:将虚拟扇区分配表、关键字及数据构成的数据记录依次写入至当前Block。
S213:判断待写入的数据记录是否全部写完。若是,转至步骤S221;若否,执行步骤S214。
S214:判断当前Block是否已满。若是,执行步骤S215;若否,转至步骤S205,继续执行数据记录的写入。
S215:在当前Block已满时,判断是否还有空的Block。若有,执行步骤S216;若已没有空的Block,转至步骤S220。
S216:查找另一空Block作为当前Block。
S217:判断当前Block是否有唯一空的Block。若是,执行步骤S218;若为否,即还有其他的空Block,转至步骤S205,继续执行数据记录的写入。
S218:在当前Block为唯一空的Block时,查找有效数据记录最少的Block,进行有效数据记录的转存。
为保证Flash存储器有足够的空余存储空间,在当前Block为唯一空的Block时,查找一个有效数据记录最少的Block,将Block中的有效数据记录转存至当前Block中。例如,BlockA为当前唯一空的Block,BlockB为有效数据记录最少的Block,则修改BlockB中的转存Block号为BlockA,然后将BlockB中的所有有效数据转存至BlockA中,转存完毕后格式化BlockB。此时,BlockA仍作为当前Block。
S219:判断转存是否成功。若成功,转至步骤S205,继续执行数据记录的写入;若转存失败,表明BlockA不能完全存储BlockB中的有效数据记录,则转至步骤S220。
S220:提示空间不足,放弃写入,并将已分割写入的部分设置为无效。然后,转至步骤S222。
S221:在待写入的数据记录全部写完后,将旧数据记录设置为无效。
可以根据设定的历史备份次数检查已有的数据记录版本号是否过多,若过多,则设置旧数据记录为无效。同时,还可以根据设定的重复备份次数查找有多少同版本的数据记录需要被设置为无效。
S222:流程结束。
上述Flash存储器的数据存储方法结合Flash存储器的特点,以数据记录为基本读写操作单元,在动态存储的基础上,充分考虑写入的数据记录的差异写入及分段写入,可以有效提高数据记录的整体写入速度,同时还能够减少对存储空间的占用,从而提高了应用Flash存储器的系统的整体性能。
以上实施例仅用以说明本发明的技术方案,而非对其进行限制;尽管参照前述实施例对本发明进行了详细的说明,对于本领域的普通技术人员来说,依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明所要求保护的技术方案的精神和范围。
Claims (8)
1.一种数据存储方法,其特征在于,数据存储以数据记录为基本读写单元,每条数据记录占据一个虚拟小扇区存储空间,每条数据记录包括有关键字、数据及表征数据记录参数特性的虚拟扇区分配表,虚拟扇区分配表中包括有标记数据记录的数据是否为基数据的基数据标志字段;在将数据记录写入到存储空间时,将待写入的数据记录的数据与已写入的关键字相同、数据为最新基数据的数据记录的数据相比较,若需要差异写入,则根据最新基数据组装差异数据作为待写入的数据记录的数据,若不需要差异写入,则直接写入待写入的数据记录;
其中,若所述待写入的数据记录的数据与所述最新基数据相比较,存在下述任何一种情况,则不需要差异写入:
a1、待写入的数据记录的数据的长度不超过第一设定字节数;
a2、待写入的数据记录的数据中连续与最新基数据相同的部分均不超过第二设定字节数;
a3、待写入的数据记录的数据与最新基数据不同的数据的长度超过待写入的数据记录的数据长度的一定比例;
而若所述待写入的数据记录的数据与所述最新基数据相比较,不存在上述任何一种情况,则需要差异写入。
2.根据权利要求1所述的数据存储方法,其特征在于,根据最新基数据组装差异数据作为待写入的数据记录的数据时,差异数据包括一个或多个差异数据段,每个差异数据段包括有标记差异数据起始位置的偏移量字段、标记差异数据大小的长度字段及从偏移量开始的、大小为长度字段的差异数据字段。
3.根据权利要求1所述的数据存储方法,其特征在于,所述每条数据记录的虚拟扇区分配表中包括有标记数据记录写入先后顺序的数据记录版本号字段,根据数据记录版本号及所述基数据标志判断数据记录的数据是否为最新基数据。
4.根据权利要求3所述的数据存储方法,其特征在于,所述每条数据记录的虚拟扇区分配表中还包括有标记数据记录是否有效的有效标志字段;在将数据记录成功写入至存储空间后,根据所述数据记录版本号及设定的备份次数修改存储空间中的旧数据记录的有效标志为无效。
5.根据权利要求1所述的数据存储方法,其特征在于,在写入数据记录时,根据剩余存储空间及数据记录的数据的实际长度判断是否需要将数据记录分割成若干段分别写入;在需要将数据记录分割为若干段分别写入时,在每段的虚拟扇区分配表中标记出分段顺序号及分段结束标志。
6.根据权利要求1至5中任一项所述的数据存储方法,其特征在于,数据存储介质为Flash存储器,Flash存储器的存储空间划分为若干个逻辑分区,每个逻辑分区包括一个或多个连续的物理区块,数据记录依次写入逻辑分区的物理区块中;
在将数据记录写入至物理区块中时,首先判断当前写入的物理区块的剩余空间是否大于设定值,若所述剩余空间大于设定值,则将数据记录写入至当前物理区块,若所述剩余空间不大于设定值,则查找另一个空的物理区块。
7.根据权利要求6所述的数据存储方法,其特征在于,在当前物理区块为唯一空的物理区块时,查找一个有效数据记录最少的物理区块,将该物理区块中的有效数据记录转存至当前物理区块中。
8.根据权利要求6所述的数据存储方法,其特征在于,在将数据记录写入至物理区块之前,执行下述操作:
c1、检查Flash存储器的所有物理区块是否存在物理区块标志,并在不存在物理区块标志时格式化物理区块,然后写入相应的物理区块标志;
c2、判断是否存在有未完成的有效数据记录转存操作,并在存在有效数据记录转存操作时先执行有效数据记录的转存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010529143.3A CN101976226B (zh) | 2010-10-20 | 2010-10-20 | 一种数据存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010529143.3A CN101976226B (zh) | 2010-10-20 | 2010-10-20 | 一种数据存储方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101976226A CN101976226A (zh) | 2011-02-16 |
CN101976226B true CN101976226B (zh) | 2012-05-30 |
Family
ID=43576112
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010529143.3A Expired - Fee Related CN101976226B (zh) | 2010-10-20 | 2010-10-20 | 一种数据存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101976226B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8799598B2 (en) * | 2012-02-17 | 2014-08-05 | Spansion Llc | Redundancy loading efficiency |
CN103823760A (zh) * | 2014-03-03 | 2014-05-28 | 山西科泰微技术有限公司 | 一种高效的数据存储和解析方法 |
WO2016008070A1 (zh) * | 2014-07-14 | 2016-01-21 | 华为技术有限公司 | 数据写入的方法及装置 |
CN108255408B (zh) * | 2016-12-28 | 2021-03-23 | 中国电信股份有限公司 | 数据存储方法以及系统 |
CN108629927A (zh) * | 2017-03-23 | 2018-10-09 | 惠尔丰(中国)信息系统有限公司 | 一种低内存打印机的内存的优化方法 |
CN107229746B (zh) * | 2017-06-22 | 2021-11-09 | 深圳Tcl数字技术有限公司 | 终端及多派生项目的数据处理方法和存储介质 |
CN108804027B (zh) * | 2018-04-10 | 2021-06-08 | 四川中电昆辰科技有限公司 | 单比特定位时隙分配表的压缩存储方法 |
CN108629456B (zh) * | 2018-05-08 | 2021-08-06 | 武汉轻工大学 | 公交数据的读取方法、装置、终端设备及可读存储介质 |
CN112051965A (zh) * | 2019-06-06 | 2020-12-08 | 阿里巴巴集团控股有限公司 | 一种数据处理方法及装置 |
CN112073218B (zh) * | 2020-08-10 | 2022-05-31 | 烽火通信科技股份有限公司 | 一种网络配置文件兼容方法、电子设备及存储介质 |
CN112035378B (zh) * | 2020-09-03 | 2024-07-19 | 北京百瑞互联技术股份有限公司 | 一种数据快速写入flash闪存的方法及系统 |
CN113504873A (zh) * | 2021-05-20 | 2021-10-15 | 新华三信息安全技术有限公司 | 一种通信设备及其存储数据的方法 |
CN114936387B (zh) * | 2022-07-25 | 2022-11-29 | 深圳市明源云科技有限公司 | 文本文件读取方法、写入方法、电子设备及可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6397223B1 (en) * | 1999-07-08 | 2002-05-28 | Mitsubishi Denki Kabushiki Kaisha | File management method using transposed file |
CN101093727A (zh) * | 2006-06-19 | 2007-12-26 | 广明光电股份有限公司 | 闪速存储器更新数据的方法 |
CN101303667A (zh) * | 2008-06-25 | 2008-11-12 | 炬力集成电路设计有限公司 | 建立磁盘空簇表及查找磁盘空簇的方法和装置 |
-
2010
- 2010-10-20 CN CN201010529143.3A patent/CN101976226B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6397223B1 (en) * | 1999-07-08 | 2002-05-28 | Mitsubishi Denki Kabushiki Kaisha | File management method using transposed file |
CN101093727A (zh) * | 2006-06-19 | 2007-12-26 | 广明光电股份有限公司 | 闪速存储器更新数据的方法 |
CN101303667A (zh) * | 2008-06-25 | 2008-11-12 | 炬力集成电路设计有限公司 | 建立磁盘空簇表及查找磁盘空簇的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101976226A (zh) | 2011-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101976226B (zh) | 一种数据存储方法 | |
CN101446921B (zh) | 一种Flash存储器的动态存储方法 | |
CN100419714C (zh) | 闪存存取方法、闪存文件系统的块替换方法及其管理装置 | |
KR100526188B1 (ko) | 플래시 메모리의 주소 사상 방법, 사상 정보 관리 방법 및상기 방법을 이용한 플래시 메모리 | |
CN101515276B (zh) | 一种文件数据写操作的方法、文件数据恢复方法及系统 | |
CN102081577B (zh) | 对Flash存储器的数据存储结构进行数据操作的方法 | |
CN102063380B (zh) | 一种向非易失性存储器写入数据的方法及装置 | |
US6865658B2 (en) | Nonvolatile data management system using data segments and link information | |
CN102135942B (zh) | 一种存储设备中实现损耗均衡的方法及存储设备 | |
CN101944115B (zh) | 一种日志搜索方法和系统 | |
CN102629234B (zh) | 一种单片机片内置Flash数据快速检索方法 | |
JP2005242897A (ja) | フラッシュディスク装置 | |
CN1983267A (zh) | 延迟验证数据完整性的文件系统 | |
CN101923448A (zh) | 一种nand闪存的转换层读写方法 | |
CN106844583B (zh) | 一种在NOR Flash上建立FAT文件系统的优化方法 | |
CN101493794A (zh) | 一种闪存数据处理方法及装置 | |
CN104820641A (zh) | 减少flash擦除次数的方法 | |
CN102662852A (zh) | 一种利用MCU内部数据Flash存储非易失性数据的方法 | |
CN110287068B (zh) | 一种NandFlash驱动方法 | |
CN101567220A (zh) | 闪存的损坏区块辨识方法、储存系统及其控制器 | |
CN1716450A (zh) | 对闪存数据的存取进行管理的方法 | |
JP2009205689A (ja) | フラッシュディスク装置 | |
CN101425342B (zh) | 针对NAND Flash冗余码的存取方法 | |
CN109669889A (zh) | 一种轻量型Nor Flash闪存控制方法和装置 | |
CN117742588A (zh) | 使用Flash模拟EEPROM的数据存储方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120530 Termination date: 20191020 |
|
CF01 | Termination of patent right due to non-payment of annual fee |