CN105260320B - 用于flash存储器的数据处理方法和装置 - Google Patents

用于flash存储器的数据处理方法和装置 Download PDF

Info

Publication number
CN105260320B
CN105260320B CN201510662237.0A CN201510662237A CN105260320B CN 105260320 B CN105260320 B CN 105260320B CN 201510662237 A CN201510662237 A CN 201510662237A CN 105260320 B CN105260320 B CN 105260320B
Authority
CN
China
Prior art keywords
sector
address
data
preset threshold
flash memory
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
Application number
CN201510662237.0A
Other languages
English (en)
Other versions
CN105260320A (zh
Inventor
吴宝龙
唐政清
赵耀
李忠伦
明开云
郭双林
马超
钱沛
段闯
赵金富
敖道满
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Gree Electric Appliances Inc of Zhuhai
Original Assignee
Gree Electric Appliances Inc of Zhuhai
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Gree Electric Appliances Inc of Zhuhai filed Critical Gree Electric Appliances Inc of Zhuhai
Priority to CN201510662237.0A priority Critical patent/CN105260320B/zh
Publication of CN105260320A publication Critical patent/CN105260320A/zh
Application granted granted Critical
Publication of CN105260320B publication Critical patent/CN105260320B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种用于FLASH存储器的数据处理方法和装置。其中,该方法包括:检测第一扇区的数据擦写次数是否超过预设阈值;在检测到第一扇区的数据擦写次数超过预设阈值时,生成偏移量;将第一地址加上偏移量得到第二地址,其中,第一地址为第一扇区的地址;以及在第二地址对应的第二扇区进行数据擦写。本发明解决了相关技术中由于单个扇区的数据擦写次数过多导致的FLASH存储器使用寿命降低的技术问题。

Description

用于FLASH存储器的数据处理方法和装置
技术领域
本发明涉及数据处理领域,具体而言,涉及一种用于FLASH存储器的数据处理方法和装置。
背景技术
目前,集装箱空调中通常配备有数据记录设备,比如FLASH存储器,在集装箱空调运行过程中,需要用FLASH存储器存储集装箱空调的运行状态、报警状态或者配置参数等数据。FLASH存储器中包括多个扇区,数据存储需要对扇区进行数据擦除后才能写入新的数据,但是,每个扇区只能进行10万次的数据擦写。由于集装箱空调运行状态、报警状态或者配置参数的不确定性,容易造成单个扇区的数据擦写次数过多,将会导致FLASH存储器过早报废,无法使用,严重降低了FLASH存储器的使用寿命。
针对相关技术中由于单个扇区的数据擦写次数过多导致的FLASH存储器使用寿命降低的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种用于FLASH存储器的数据处理方法和装置,以至少解决相关技术中由于单个扇区的数据擦写次数过多导致的FLASH存储器使用寿命降低的技术问题。
根据本发明实施例的一个方面,提供了一种用于FLASH存储器的数据处理方法,包括:检测第一扇区的数据擦写次数是否超过预设阈值;在检测到第一扇区的数据擦写次数超过预设阈值时,生成偏移量;将第一地址加上偏移量得到第二地址,其中,第一地址为第一扇区的地址;以及在第二地址对应的第二扇区进行数据擦写。
进一步地,在检测第一扇区的数据擦写次数是否超过预设阈值之后,用于FLASH存储器的数据处理方法还包括:在检测到第一扇区的数据擦写次数未超过预设阈值时,在第一扇区进行数据擦写,并对数据擦写次数进行计数。
进一步地,在检测到第一扇区的数据擦写次数未超过预设阈值时,在第一扇区进行数据擦写,并对数据擦写次数进行计数包括:擦除第一扇区的数据,并将数据擦写次数加1;检测计数之后的数据擦写次数是否达到预设阈值;在检测到计数之后的数据擦写次数未达到预设阈值时,在第一扇区写入数据;在检测到计数之后的数据擦写次数达到预设阈值时,生成偏移量,将第一地址加上偏移量得到第二地址,在第二地址对应的第二扇区进行数据擦写。
进一步地,在检测到第一扇区的数据擦写次数超过预设阈值时,将第一扇区的计数标识符标记为预设标识符,其中,预设标识符用于标识第一扇区的数据擦写次数达到预设阈值。
进一步地,第一扇区包括:第一区域,用于存储第一扇区的数据擦写次数;第二区域,用于存储数据;以及第三区域,用于存储计数标识符。
进一步地,FLASH存储器中扇区的地址与日期存在对应关系。
进一步地,第一日期对应第一地址,其中,在检测到第一日期内生成偏移量时,将第一日期对应的地址修改为第二地址。
根据本发明实施例的另一方面,还提供了一种用于FLASH存储器的数据处理装置,包括:第一检测模块,用于检测第一扇区的数据擦写次数是否超过预设阈值;第一生成模块,用于在检测到第一扇区的数据擦写次数超过预设阈值时,生成偏移量;第二生成模块,用于将第一地址加上偏移量得到第二地址,其中,第一地址为第一扇区的地址;以及第一数据擦写模块,用于在第二地址对应的第二扇区进行数据擦写。
进一步地,用于FLASH存储器的数据处理装置还包括:第二数据擦写模块,用于在检测到第一扇区的数据擦写次数未超过预设阈值时,在第一扇区进行数据擦写,并对数据擦写次数进行计数。
进一步地,第二数据擦写模块包括:擦除模块,用于擦除第一扇区的数据,并将数据擦写次数加1;第二检测模块,用于检测计数之后的数据擦写次数是否达到预设阈值;写入模块,用于在检测到计数之后的数据擦写次数未达到预设阈值时,在第一扇区写入数据;第三生成模块,用于在检测到计数之后的数据擦写次数达到预设阈值时,生成偏移量,将第一地址加上偏移量得到第二地址,在第二地址对应的第二扇区进行数据擦写。
进一步地,用于FLASH存储器的数据处理装置还包括:标记模块,用于在检测到第一扇区的数据擦写次数超过预设阈值时,将第一扇区的计数标识符标记为预设标识符,其中,预设标识符用于标识第一扇区的数据擦写次数达到预设阈值。
进一步地,第一扇区包括:第一区域,用于存储第一扇区的数据擦写次数;第二区域,用于存储数据;以及第三区域,用于存储计数标识符。
进一步地,FLASH存储器中扇区的地址与日期存在对应关系。
进一步地,第一日期对应第一地址,其中,装置还包括:修改模块,用于在检测到第一日期内生成偏移量时,将第一日期对应的地址修改为第二地址。
在本发明实施例中,通过检测扇区的数据擦写次数是否达到预设阈值,在超过预设阈值的情况下,通过偏移地址的形式对下一个扇区进行数据擦写,达到了平衡FLASH存储器中多个扇区的数据擦写次数的目的,从而实现了提高FLASH存储器使用寿命的技术效果,进而解决了相关技术中由于单个扇区的数据擦写次数过多导致的FLASH存储器使用寿命降低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的用于FLASH存储器的数据处理方法的流程图;
图2是根据本发明第一实施例的第一扇区结构示意图;
图3是根据本发明第二实施例的第一扇区结构示意图;
图4是根据本发明可选实施例的用于FLASH存储器的数据处理方法的流程图;以及
图5是根据本发明实施例的用于FLASH存储器的数据处理装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例,提供了一种用于FLASH存储器的数据处理方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的用于FLASH存储器的数据处理方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,检测第一扇区的数据擦写次数是否超过预设阈值;
步骤S104,在检测到第一扇区的数据擦写次数超过预设阈值时,生成偏移量;
步骤S106,将第一地址加上偏移量得到第二地址,其中,第一地址为第一扇区的地址;
步骤S108,在第二地址对应的第二扇区进行数据擦写。
通过上述步骤,通过检测扇区的数据擦写次数是否达到预设阈值,在检测到扇区的数据擦写次数超过预设阈值的情况下,通过偏移地址的形式对下一个扇区进行数据擦写,能够平衡FLASH存储器中多个扇区的数据擦写次数,解决相关技术中由于单个扇区的数据擦写次数过多导致的FLASH存储器使用寿命降低的技术问题,从而达到提高FLASH存储器使用寿命的技术效果。
FLASH存储器中包括一个或者多个扇区,每个扇区的数据擦写次数均有一个上限值,当扇区的数据擦写次数超过上限值时,将会导致FLASH存储器报废,无法使用。本发明实施例为FLASH存储器中的每个扇区设定有数据擦写次数阈值,该数据擦写次数阈值为步骤S102中的预设阈值,该预设阈值小于扇区的数据擦写次数的上限值,以达到提高FLASH存储器使用寿命的目的。
FLASH存储器中每个扇区均对应有一个唯一地址,比如第一扇区的地址为第一地址。可选地,FLASH存储器中扇区的地址与日期存在对应关系,比如,第一日期对应第一地址,即第一日期内的数据存储在第一地址对应的第一扇区内。FLASH存储器中扇区的地址与日期的对应关系受扇区的数据擦写次数的影响,比如,第一日期对应第一地址,但是,在第一日期内,如果第一地址对应的第一扇区的数据擦写次数超过预设阈值时,即在检测到第一日期内生成偏移量时,将会转移到第二地址对应的第二扇区内对数据进行擦写操作,则第一日期对应的地址将会被修改为第二地址。建立日期与扇区地址的对应关系,有利于快速查找并读取某一日期的数据。
可选地,当检测到第一日期内生成偏移量时,还可以将第二地址对应的扇区内存储的数据直接写入第一扇区,并相应地将第一扇区的数据擦写次数加1,采用这种方式第一日期对应的扇区地址不变,还为第一地址,只是将第一地址对应的扇区内存储的数据进行了替换,也能够确保快速查找并读取第一日期的数据。
可选地,当检测到第一日期内生成偏移量时,还可以在第一扇区设置第四区域,用于存储偏移地址,当需要读取第一日期的数据时,根据第一日期与第一地址的对应关系,首先找到第一地址,然后根据第一扇区内存储的偏移地址,再链接到第二地址,其中,第二地址为第一地址加上偏移地址指向的地址,通过读取第二地址对应的扇区内存储的数据实现读取第一日期的数据。
步骤S102中的第一扇区为FLASH存储器中的任意一个扇区,并不限定第一扇区为FLASH存储器中的首地址对应的扇区,即本发明实施例的用于FLASH存储器的数据处理方法可以适用于FLASH存储器中的全部或者部分扇区的数据擦写。
可选地,第一扇区可以为三段式结构,图2是根据本发明第一实施例的第一扇区的结构示意图,如图2所示,第一扇区可以包括:
第一区域,用于存储第一扇区的数据擦写次数,第一区域通常为第一扇区的第一字节,第一区域内存储的数据擦写次数为一个变量。
第二区域,为数据存储区域,主要用于存储数据。第二区域在第一扇区内所占的字节相对第一区域和第三区域较多。
第三区域,用于存储计数标识符,计数标识符为用于标识扇区的数据擦写次数是否超过预设阈值的标识符。比如,当计数标识符为1时,表示该扇区的数据擦写次数已经超过了预设阈值,已经不能在该扇区进行数据擦写,需要生成偏移量,转移到下一个扇区进行数据擦写;当计数标识符为0时,表示该扇区的数据擦写次数未超过预设阈值,还可以在该扇区继续进行数据擦写。
第三区域内存储的技术标识符的默认值为默认标识符,比如0,该默认标识符用于标识第一扇区的数据擦写次数未超过预设阈值。在检测到第一扇区的数据擦写次数超过预设阈值时,将第一扇区的计数标识符标记为预设标识符,比如1,该预设标识符用于标识第一扇区的数据擦写次数达到预设阈值。
可选地,具有上述三段式结构的第一扇区还可以由FLASH存储器中任意两个相邻的扇区组成,即第一扇区为FLASH存储器中任意两个相邻的扇区组成的扇区,这里可以理解为第一扇区为一个总的扇区,其内部包括两个子扇区。图3是根据本发明第二实施例的第一扇区结构示意图,如图3所示,第一扇区包括第一子扇区和第二子扇区,第一子扇区由第一区域和第二区域组成,第二子扇区由第三区域组成。需要说明的是,图3所示的第一扇区的地址用于标识第一子扇区和第二子扇区,通常,第一扇区对应的地址为第一子扇区的第一字节,即第一区域对应的地址。
可选地,步骤S102检测第一扇区的数据擦写次数是否超过预设阈值可以通过以下两种方法,即该实施例提供了两种判断第一扇区的数据擦写次数是否超过预设阈值的方法:第一种,通过读取扇区第一区域存储的数据擦写次数,判断该数据擦写次数是否超过预设阈值;第二种,通过读取扇区第三区域存储的计数标识符,判断该计数标识符是否与预设标识符相同,该预设标识符用于标识第一扇区的数据擦写次数超过预设阈值。设置两种方法判断扇区的数据擦写次数是否超过预设阈值,使得该实施例的用于FLASH存储器的数据处理方法更加完整,提高了该方法的可靠性和实用性。
当检测到第一扇区的数据擦写次数超过预设阈值时,说明第一扇区不能再进行数据擦写,需要转移到下一个扇区进行数据擦写。扇区的转移通过偏移地址的方式,即在第一地址的基础上生成偏移量,第一地址加上该偏移量生成第二地址,其中,第一地址为第一扇区的地址,第二地址对应FLASH存储器中除了第一扇区之外的任意一个扇区,即第二扇区。需要说明的是,第二扇区为FLASH存储器中除了第一扇区之外的任意一个扇区,且第二扇区的数据擦写次数此时还未超过预设阈值。优选地,该实施例中的第二扇区与第一扇区为相邻的扇区,第二地址与第一地址之间的偏移量为1。需要说明的是,第二扇区与第一扇区也可以不相邻,即第二地址与第一地址之间的偏移量可以不为1,该实施例中的偏移量可以更加实际需求进行设定。
当检测到第一扇区的数据擦写次数未超过预设阈值时,说明第一扇区还可以继续进行数据擦写,不需要进行扇区的转移。可选地,当检测到第一扇区的数据擦写次数未超过预设阈值时,该实施例的用于FLASH存储器的数据处理方法在第一扇区进行数据擦写,并对数据擦写次数进行计数,具体包括以下步骤:
步骤S1,擦除第一扇区的数据,并将数据擦写次数加1;
步骤S2,检测计数之后的数据擦写次数是否达到预设阈值;
步骤S3,在检测到计数之后的数据擦写次数未达到预设阈值时,在第一扇区写入数据,返回至步骤S1;
步骤S4,在检测到计数之后的数据擦写次数达到预设阈值时,返回至步骤S104至步骤S108,生成偏移量,将第一地址加上偏移量得到第二地址,在第二地址对应的第二扇区进行数据擦写。
需要说明的是,在第一扇区进行数据擦写的过程与在第二扇区进行数据擦写的过程相同,此处不再对在第二扇区进行数据擦写进行赘述。同样地,在第一扇区进行数据擦写的过程也同样适用于FLASH存储器中满足数据擦写次数未超过预设阈值的任意扇区。
可选地,在第一扇区进行数据擦写之后,当检测到第一扇区的数据擦写次数超过预设阈值时,需要将第一扇区内第三区域存储的计数标识符标记为预设标识符,用于标识该第一扇区的数据擦写次数已经超过预设阈值。该操作有利于防止偏移地址再次指向第一扇区时,能够通过计数标识符直接判断第一扇区的数据擦写次数已经超过预设阈值了,无需再对第一扇区的数据擦写次数进行计数和判断,从而提高了数据处理效率。
该实施例的用于FLASH存储器的数据处理方法通过将FLASH存储器中每个扇区的数据擦写次数的差异控制在设定范围内,消除了个别扇区可能由于数据擦写次数过多的问题,有效地提升了FLASH存储器的使用寿命。同时,该实施例的用于FLASH存储器的数据处理方法通过建立FLASH存储器扇区地址与日期的对应关系,能够确保快速准确地查找并读取某日期的数据。
图4是根据本发明可选实施例的用于FLASH存储器的数据处理方法的流程图,如图4所示,该方法可以包括以下步骤:
步骤S401,初始化,建立日期与FLASH存储器内扇区地址的对应关系,比如第一扇区的地址,即第一地址对应第一日期。系统初始化时,根据当前日期生成一个地址ADR,该地址ADR为扇区的首地址,执行步骤S402。
步骤S402,读取扇区的计数标识符,该计数标识符位于扇区的第三区域内,用于标识扇区的数据擦写次数是否超过预设阈值,第三区域用于存储扇区的计数标识符。如果该扇区的计数标识符为预设标识符,比如1,其中,预设标识符用于标识该扇区的数据擦写次数超过预设阈值,说明该扇区的数据擦写次数过多,需要将数据擦写操作转移到数据擦写次数较少的扇区。在读取扇区的计数标识符之后,执行步骤S403。
步骤S403,判断扇区的数据擦写次数是否超过预设阈值,可以通过读取的计数标识符或者通过读取扇区第一区域内存储的数据擦写次数。当判断出扇区的数据擦写次数超过预设阈值时,执行步骤S408,当判断出扇区的数据擦写次数未超过预设阈值时,执行步骤S404。
步骤S404,擦除该扇区。
步骤S405,将该扇区的数据擦写次数加1;
步骤S406,判断计数后的数据擦写次数是否超过预设阈值,当超过预设阈值时,执行步骤S409,当未超过预设阈值时,执行步骤S407。
由于FLASH存储器中的扇区每次写入数据时都需要先对扇区进行擦除操作,每次擦写时需要在扇区的首位置记录数据擦写次数,每对扇区进行一次擦除操作时,都会将数据擦写次数执行加1操作,并判断计数后的数据擦写次数是否超过预设阈值。当数据擦写次数超过预设阈值时,对扇区的计数标识符进行标记,表明该扇区的数据擦写次数过多,需要进行切换;当数据擦写次数未超过预设阈值时,才执行数据写入操作。
步骤S407,在该扇区写入数据。如果需要再次对该扇区进行数据擦写,需要返回步骤S404。在写入数据之后,需要判断当天内是否生成偏移地址,即执行步骤S410。
步骤S408,生成偏移地址。当检测到该扇区的数据擦写次数超过预设阈值时,在原地址上加上偏移地址offset,指向另一个扇区(该扇区的地址为ADR+offset),然后通过读取该扇区的首位地址,读取其数据擦写次数,然后对该扇区进行数据擦写操作,数据擦写过程如步骤S404至步骤S407。
步骤S409,该写计数标识符,将计数标识符标记为预设标识符,比如1,用来表示该扇区的数据擦写次数已经超过预设阈值,不能再在该扇区进行数据擦写了,需要转移到别的扇区进行数据擦写。在标记计数标识符之后,会生成偏移地址,转移到下一个数据擦写次数未超过预设阈值的扇区,即执行步骤S408。
步骤S410,判断当天内是否有偏移,即当天内是否生成偏移地址,如果当天内生成偏移地址,执行步骤S411,如果当天内未生成偏移地址,返回步骤S401。
步骤S411,如果当天内生成偏移地址,需要将当天对应的扇区地址进行更改,或者将偏移地址数据写回原地址,并将原地址对应的扇区的数据擦写次数加1。
该实施例的用于FLASH存储器的数据处理方法通过判断扇区的数据擦写次数是否超过预设阈值,当超过预设阈值时,通过偏移地址转移至下一个数据擦写次数未超过预设阈值的扇区进行数据擦写,达到了均衡FLASH存储器中多个扇区的数据擦写次数的目的,进而解决了相关技术中由于单个扇区的数据擦写次数过多导致的FLASH存储器使用寿命降低的技术问题,达到了提高FLASH存储器使用寿命的效果。同时,该实施例的用于FLASH存储器的数据处理方法通过建立日期与扇区地址的对应关系,能够便于快速查找并读取该日期对应的数据。
根据本发明实施例,提供了一种用于FLASH存储器的数据处理装置的装置实施例,需要说明的是,该实施例的用于FLASH存储器的数据处理装置可以执行本发明实施例中的用于FLASH存储器的数据处理方法,本发明实施例中的用于FLASH存储器的数据处理方法也可以在该实施例的用于FLASH存储器的数据处理装置中执行。
图5是根据本发明实施例的用于FLASH存储器的数据处理装置的示意图,如图5所示,该用于FLASH存储器的数据处理装置包括:
第一检测模块50,用于检测第一扇区的数据擦写次数是否超过预设阈值;
第一生成模块52,用于在检测到第一扇区的数据擦写次数超过预设阈值时,生成偏移量;
第二生成模块54,用于将第一地址加上偏移量得到第二地址,其中,第一地址为第一扇区的地址;
第一数据擦写模块56,用于在第二地址对应的第二扇区进行数据擦写。
该实施例的用于FLASH存储器的数据处理装置中的第一检测模块50可以执行本发明实施例中的步骤S102,检测第一扇区的数据擦写次数是否超过预设阈值;第一生成模块52可以执行本发明实施例中的步骤S104,在检测到第一扇区的数据擦写次数超过预设阈值时,生成偏移量;第二生成模块54可以执行本发明实施例中的步骤S106,将第一地址加上偏移量得到第二地址,其中,第一地址为第一扇区的地址;第一数据擦写模块56可以执行本发明实施例中的步骤S108,在第二地址对应的第二扇区进行数据擦写。通过该实施例的用于FLASH存储器的数据处理装置可以解决相关技术中由于单个扇区的数据擦写次数过多导致的FLASH存储器使用寿命降低的技术问题,达到提高FLASH存储器使用寿命的效果。
FLASH存储器中包括一个或者多个扇区,每个扇区的数据擦写次数均有一个上限值,当扇区的数据擦写次数超过上限值时,将会导致FLASH存储器报废,无法使用。本发明实施例为FLASH存储器中的每个扇区设定有数据擦写次数阈值,该数据擦写次数阈值为第一检测模块50中的预设阈值,该预设阈值小于扇区的数据擦写次数的上限值,以达到提高FLASH存储器使用寿命的目的。
FLASH存储器中每个扇区均对应有一个唯一地址,比如第一扇区的地址为第一地址。可选地,FLASH存储器中扇区的地址与日期存在对应关系,比如,第一日期对应第一地址,即第一日期内的数据存储在第一地址对应的第一扇区内。由于FLASH存储器中扇区的地址与日期的对应关系受扇区的数据擦写次数的影响,该实施例的用于FLASH存储器的数据处理装置还可以包括:修改模块,用于在检测到第一日期内生成偏移量时,将第一日期对应的地址修改为第二地址,即,第一日期对应第一地址,但是,在第一日期内,如果第一地址对应的第一扇区的数据擦写次数超过预设阈值时,即在检测到第一日期内生成偏移量时,将会转移到第二地址对应的第二扇区内对数据进行擦写操作,则第一日期对应的地址将会被修改为第二地址。建立日期与扇区地址的对应关系,有利于快速查找并读取某一日期的数据。
可选地,当检测到第一日期内生成偏移量时,还可以将第二地址对应的扇区内存储的数据直接写入第一扇区,并相应地将第一扇区的数据擦写次数加1,采用这种方式第一日期对应的扇区地址不变,还为第一地址,只是将第一地址对应的扇区内存储的数据进行了替换,也能够确保快速查找并读取第一日期的数据。
可选地,当检测到第一日期内生成偏移量时,还可以在第一扇区设置第四区域,用于存储偏移地址,当需要读取第一日期的数据时,根据第一日期与第一地址的对应关系,首先找到第一地址,然后根据第一扇区内存储的偏移地址,再链接到第二地址,其中,第二地址为第一地址加上偏移地址指向的地址,通过读取第二地址对应的扇区内存储的数据实现读取第一日期的数据。
第一检测模块50中的第一扇区为FLASH存储器中的任意一个扇区,并不限定第一扇区为FLASH存储器中的首地址对应的扇区,即本发明实施例的用于FLASH存储器的数据处理装置可以适用于FLASH存储器中的全部或者部分扇区的数据擦写。
可选地,第一扇区可以为三段式结构,如图2所示,第一扇区可以包括:
第一区域,用于存储第一扇区的数据擦写次数,第一区域通常为第一扇区的第一字节,第一区域内存储的数据擦写次数为一个变量。
第二区域,为数据存储区域,主要用于存储数据。第二区域在第一扇区内所占的字节相对第一区域和第三区域较多。
第三区域,用于存储计数标识符,计数标识符为用于标识扇区的数据擦写次数是否超过预设阈值的标识符。比如,当计数标识符为1时,表示该扇区的数据擦写次数已经超过了预设阈值,已经不能在该扇区进行数据擦写,需要生成偏移量,转移到下一个扇区进行数据擦写;当计数标识符为0时,表示该扇区的数据擦写次数未超过预设阈值,还可以在该扇区继续进行数据擦写。
第三区域内存储的技术标识符的默认值为默认标识符,比如0,该默认标识符用于标识第一扇区的数据擦写次数未超过预设阈值。在检测到第一扇区的数据擦写次数超过预设阈值时,将第一扇区的计数标识符标记为预设标识符,比如1,该预设标识符用于标识第一扇区的数据擦写次数达到预设阈值。
可选地,具有上述三段式结构的第一扇区还可以由FLASH存储器中任意两个相邻的扇区组成,即第一扇区为FLASH存储器中任意两个相邻的扇区组成的扇区,这里可以理解为第一扇区为一个总的扇区,其内部包括两个子扇区。如图3所示,第一扇区包括第一子扇区和第二子扇区,第一子扇区由第一区域和第二区域组成,第二子扇区由第三区域组成。需要说明的是,图3所示的第一扇区的地址用于标识第一子扇区和第二子扇区,通常,第一扇区对应的地址为第一子扇区的第一字节,即第一区域对应的地址。
可选地,第一检测模块50检测第一扇区的数据擦写次数是否超过预设阈值可以通过以下两种方法,即该实施例提供了两种判断第一扇区的数据擦写次数是否超过预设阈值的方法:第一种,通过读取扇区第一区域存储的数据擦写次数,判断该数据擦写次数是否超过预设阈值;第二种,通过读取扇区第三区域存储的计数标识符,判断该计数标识符是否与预设标识符相同,该预设标识符用于标识第一扇区的数据擦写次数超过预设阈值。设置两种方法判断扇区的数据擦写次数是否超过预设阈值,使得该实施例的用于FLASH存储器的数据处理方法更加完整,提高了该方法的可靠性和实用性。
当第一检测模块50检测到第一扇区的数据擦写次数超过预设阈值时,说明第一扇区不能再进行数据擦写,需要转移到下一个扇区进行数据擦写。扇区的转移通过偏移地址的方式,即在第一地址的基础上生成偏移量,第一地址加上该偏移量生成第二地址,其中,第一地址为第一扇区的地址,第二地址对应FLASH存储器中除了第一扇区之外的任意一个扇区,即第二扇区。需要说明的是,第二扇区为FLASH存储器中除了第一扇区之外的任意一个扇区,且第二扇区的数据擦写次数此时还未超过预设阈值。优选地,该实施例中的第二扇区与第一扇区为相邻的扇区,第二地址与第一地址之间的偏移量为1。需要说明的是,第二扇区与第一扇区也可以不相邻,即第二地址与第一地址之间的偏移量可以不为1,该实施例中的偏移量可以更加实际需求进行设定。
当第一检测模块50检测到第一扇区的数据擦写次数未超过预设阈值时,说明第一扇区还可以继续进行数据擦写,不需要进行扇区的转移。可选地,当第一检测模块50检测到第一扇区的数据擦写次数未超过预设阈值时,该实施例的用于FLASH存储器的数据处理装置还可以包括:第二数据擦写模块,用于在检测到第一扇区的数据擦写次数未超过预设阈值时,在第一扇区进行数据擦写,并对数据擦写次数进行计数,其中第二数据擦写模块可以包括:
擦除模块,用于擦除第一扇区的数据,并将数据擦写次数加1;
第二检测模块,用于检测计数之后的数据擦写次数是否达到预设阈值;
写入模块,用于在检测到计数之后的数据擦写次数未达到预设阈值时,在第一扇区写入数据;
第三生成模块,用于在检测到计数之后的数据擦写次数达到预设阈值时,生成偏移量,将第一地址加上偏移量得到第二地址,在第二地址对应的第二扇区进行数据擦写。
需要说明的是,在第一扇区进行数据擦写的过程与在第二扇区进行数据擦写的过程相同,此处不再对在第二扇区进行数据擦写进行赘述。同样地,在第一扇区进行数据擦写的过程也同样适用于FLASH存储器中满足数据擦写次数未超过预设阈值的任意扇区。
可选地,该实施例的用于FLASH存储器的数据处理装置还可以包括:标记模块,用于在检测到第一扇区的数据擦写次数超过预设阈值时,将第一扇区的计数标识符标记为预设标识符,其中,预设标识符用于标识第一扇区的数据擦写次数达到预设阈值。在通过第二数据擦写模块对第一扇区进行数据擦写之后,当第一检测模块50检测到第一扇区的数据擦写次数超过预设阈值时,通过标记模块将第一扇区内第三区域存储的计数标识符标记为预设标识符,用于标识该第一扇区的数据擦写次数已经超过预设阈值。该操作有利于防止偏移地址再次指向第一扇区时,能够通过计数标识符直接判断第一扇区的数据擦写次数已经超过预设阈值了,无需再对第一扇区的数据擦写次数进行计数和判断,从而提高了数据处理效率。
通过实施例的用于FLASH存储器的数据处理装置,能够消除了个别扇区可能由于数据擦写次数过多的问题,能够有效地提升了FLASH存储器的使用寿命。同时,该实施例的用于FLASH存储器的数据处理装置能够建立FLASH存储器扇区地址与日期的对应关系,能够确保快速准确地查找并读取某日期的数据。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (12)

1.一种用于FLASH存储器的数据处理方法,其特征在于,包括:
检测第一扇区的数据擦写次数是否超过预设阈值;
在检测到所述第一扇区的数据擦写次数超过所述预设阈值时,生成偏移地址;
将第一地址加上所述偏移地址得到第二地址,其中,所述第一地址为所述第一扇区的地址;以及
在所述第二地址对应的第二扇区进行数据擦写;
当检测到第一日期当天内生成偏移地址时,在第一扇区设置第四区域,用于存储偏移地址,当需要读取第一日期的数据时,根据第一日期与第一地址的对应关系,首先找到第一地址,然后根据第一扇区内存储的偏移地址,再链接到第二地址,其中,第二地址为第一地址加上偏移地址指向的地址,通过读取第二地址对应的扇区内存储的数据实现读取第一日期的数据;
在检测到所述第一扇区的数据擦写次数超过所述预设阈值时,将所述第一扇区的计数标识符标记为预设标识符,其中,所述预设标识符用于标识所述第一扇区的数据擦写次数达到所述预设阈值。
2.根据权利要求1所述的用于FLASH存储器的数据处理方法,其特征在于,在检测第一扇区的数据擦写次数是否超过预设阈值之后,所述方法还包括:
在检测到所述第一扇区的数据擦写次数未超过所述预设阈值时,在所述第一扇区进行数据擦写,并对所述数据擦写次数进行计数。
3.根据权利要求2所述的用于FLASH存储器的数据处理方法,其特征在于,在检测到所述第一扇区的数据擦写次数未超过所述预设阈值时,在所述第一扇区进行数据擦写,并对所述数据擦写次数进行计数包括:
擦除所述第一扇区的数据,并将所述数据擦写次数加1;
检测计数之后的数据擦写次数是否达到所述预设阈值;
在检测到计数之后的数据擦写次数未达到所述预设阈值时,在所述第一扇区写入数据;以及
在检测到计数之后的数据擦写次数达到所述预设阈值时,生成所述偏移量,将所述第一地址加上所述偏移量得到所述第二地址,在所述第二地址对应的第二扇区进行数据擦写。
4.根据权利要求1所述的用于FLASH存储器的数据处理方法,其特征在于,所述第一扇区包括:
第一区域,用于存储所述第一扇区的数据擦写次数;
第二区域,用于存储数据;以及
第三区域,用于存储所述计数标识符。
5.根据权利要求1所述的用于FLASH存储器的数据处理方法,其特征在于,FLASH存储器中扇区的地址与日期存在对应关系。
6.根据权利要求5所述的用于FLASH存储器的数据处理方法,其特征在于,第一日期对应所述第一地址,其中,在检测到所述第一日期内生成所述偏移量时,将所述第一日期对应的地址修改为所述第二地址。
7.一种用于FLASH存储器的数据处理装置,其特征在于,包括:
第一检测模块,用于检测第一扇区的数据擦写次数是否超过预设阈值;
第一生成模块,用于在检测到所述第一扇区的数据擦写次数超过所述预设阈值时,生成偏移地址;
第二生成模块,用于将第一地址加上所述偏移地址得到第二地址,其中,所述第一地址为所述第一扇区的地址;以及
第一数据擦写模块,用于在所述第二地址对应的第二扇区进行数据擦写;
当检测到第一日期当天内生成偏移地址时,在第一扇区设置第四区域,用于存储偏移地址,当需要读取第一日期的数据时,根据第一日期与第一地址的对应关系,首先找到第一地址,然后根据第一扇区内存储的偏移地址,再链接到第二地址,其中,第二地址为第一地址加上偏移地址指向的地址,通过读取第二地址对应的扇区内存储的数据实现读取第一日期的数据;
标记模块,用于在检测到所述第一扇区的数据擦写次数超过所述预设阈值时,将所述第一扇区的计数标识符标记为预设标识符,其中,所述预设标识符用于标识所述第一扇区的数据擦写次数达到所述预设阈值。
8.根据权利要求7所述的用于FLASH存储器的数据处理装置,其特征在于,所述装置还包括:
第二数据擦写模块,用于在检测到所述第一扇区的数据擦写次数未超过所述预设阈值时,在所述第一扇区进行数据擦写,并对所述数据擦写次数进行计数。
9.根据权利要求8所述的用于FLASH存储器的数据处理装置,其特征在于,所述第二数据擦写模块包括:
擦除模块,用于擦除所述第一扇区的数据,并将所述数据擦写次数加1;
第二检测模块,用于检测计数之后的数据擦写次数是否达到所述预设阈值;
写入模块,用于在检测到计数之后的数据擦写次数未达到所述预设阈值时,在所述第一扇区写入数据;以及
第三生成模块,用于在检测到计数之后的数据擦写次数达到所述预设阈值时,生成所述偏移量,将所述第一地址加上所述偏移量得到所述第二地址,在所述第二地址对应的第二扇区进行数据擦写。
10.根据权利要求7所述的用于FLASH存储器的数据处理装置,其特征在于,所述第一扇区包括:
第一区域,用于存储所述第一扇区的数据擦写次数;
第二区域,用于存储数据;以及
第三区域,用于存储所述计数标识符。
11.根据权利要求7所述的用于FLASH存储器的数据处理装置,其特征在于,FLASH存储器中扇区的地址与日期存在对应关系。
12.根据权利要求7所述的用于FLASH存储器的数据处理装置,其特征在于,第一日期对应所述第一地址,其中,所述装置还包括:
修改模块,用于在检测到所述第一日期内生成所述偏移量时,将所述第一日期对应的地址修改为所述第二地址。
CN201510662237.0A 2015-10-12 2015-10-12 用于flash存储器的数据处理方法和装置 Expired - Fee Related CN105260320B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510662237.0A CN105260320B (zh) 2015-10-12 2015-10-12 用于flash存储器的数据处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510662237.0A CN105260320B (zh) 2015-10-12 2015-10-12 用于flash存储器的数据处理方法和装置

Publications (2)

Publication Number Publication Date
CN105260320A CN105260320A (zh) 2016-01-20
CN105260320B true CN105260320B (zh) 2020-06-16

Family

ID=55100020

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510662237.0A Expired - Fee Related CN105260320B (zh) 2015-10-12 2015-10-12 用于flash存储器的数据处理方法和装置

Country Status (1)

Country Link
CN (1) CN105260320B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108334276B (zh) * 2017-01-20 2021-01-29 宇瞻科技股份有限公司 快闪记忆体的动态对齐数据方法
CN108052287A (zh) * 2017-12-12 2018-05-18 深圳市创维软件有限公司 一种非易失性存储器的分区数据管理方法、机顶盒及介质
KR20200017220A (ko) * 2018-08-08 2020-02-18 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
CN112256207A (zh) * 2020-10-30 2021-01-22 深圳市芯天下技术有限公司 提高非易失型闪存擦写寿命方法、装置、存储介质和终端
CN114296634B (zh) * 2021-12-03 2024-01-30 珠海格力电器股份有限公司 存储器资源使用率检测及存储分配方法及装置
CN114827091B (zh) * 2022-04-25 2023-06-20 珠海格力电器股份有限公司 一种物理地址冲突的处理方法、装置及通信设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101727295A (zh) * 2008-10-31 2010-06-09 西安奇维测控科技有限公司 一种基于虚拟块闪存地址映射的数据写入及读出方法
CN102722456A (zh) * 2012-05-30 2012-10-10 深圳市江波龙电子有限公司 闪存存储设备的数据写入方法和闪存存储设备
CN103823642A (zh) * 2014-03-17 2014-05-28 深圳市道通科技有限公司 用于Flash均衡存储的方法及系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4863749B2 (ja) * 2006-03-29 2012-01-25 株式会社日立製作所 フラッシュメモリを用いた記憶装置、その消去回数平準化方法、及び消去回数平準化プログラム
CN101533670B (zh) * 2009-04-23 2012-05-02 北京握奇数据系统有限公司 实现存储设备损耗均衡的方法及存储设备
CN102135942B (zh) * 2010-12-31 2013-04-24 北京握奇数据系统有限公司 一种存储设备中实现损耗均衡的方法及存储设备
CN102819468B (zh) * 2011-11-30 2014-09-24 凯迈(洛阳)环测有限公司 一种基于flash的小型数据备份及查询方法
CN102789423B (zh) * 2012-07-11 2014-12-10 山东华芯半导体有限公司 四池闪存磨损均衡方法
CN103927128B (zh) * 2013-07-11 2017-03-01 威盛电子股份有限公司 数据储存装置以及快闪存储器控制方法
CN103399716A (zh) * 2013-08-19 2013-11-20 北京昆腾微电子有限公司 写数据和读数据的方法、及写数据和读数据处理器
CN104731515B (zh) * 2013-12-18 2018-02-23 华为技术有限公司 控制存储设备机群磨损均衡的方法及设备
CN104063186B (zh) * 2014-06-30 2016-04-06 成都万维图新信息技术有限公司 一种电子设备的数据访问方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101727295A (zh) * 2008-10-31 2010-06-09 西安奇维测控科技有限公司 一种基于虚拟块闪存地址映射的数据写入及读出方法
CN102722456A (zh) * 2012-05-30 2012-10-10 深圳市江波龙电子有限公司 闪存存储设备的数据写入方法和闪存存储设备
CN103823642A (zh) * 2014-03-17 2014-05-28 深圳市道通科技有限公司 用于Flash均衡存储的方法及系统

Also Published As

Publication number Publication date
CN105260320A (zh) 2016-01-20

Similar Documents

Publication Publication Date Title
CN105260320B (zh) 用于flash存储器的数据处理方法和装置
CN108897492B (zh) 一种数据写入方法和装置
CN108874309B (zh) 一种管理固态硬盘中物理块的方法和装置
CN103064804B (zh) 磁盘数据的访问控制方法及装置
CN107291405B (zh) 一种NorFlash的数据管理方法与装置
US10572335B2 (en) Metadata recovery method and apparatus
CN110413430A (zh) 一种固态硬盘的寿命预测方法、装置及设备
CN103473343A (zh) 一种文件管理方法、装置以及终端
CN109144754B (zh) 一种可靠性测试方法及装置
CN105159913A (zh) 一种待清理文件确定方法及装置
CN104156748A (zh) 一种读写标签的方法及装置
CN104659881A (zh) 移动终端的充电方法及装置
CN112486415A (zh) 存储装置的垃圾回收方法及装置
CN105446848B (zh) 电子设备的数据处理性能的测试方法及装置
CN104569660B (zh) 一种智能终端的后壳的识别方法和识别装置
CN104932830A (zh) 信息处理方法及电子设备
CN103605600B (zh) 一种移动终端存储卡存储单元读写次数记录的方法及系统
CN109582527A (zh) 存储服务器及其固态硬盘寿命监控方法
CN111782605A (zh) 一种芯片卡文件管理方法、装置、终端及存储介质
CN105260130B (zh) 一种希捷硬盘系统文件的读写方法
CN104424109A (zh) 一种信息处理方法及电子设备
CN107957921B (zh) 一种均衡磨损的智能卡掉电数据保护方法
CN111949569A (zh) 一种存储设备及其控制方法和控制装置
CN103473157B (zh) 硬盘故障处理方法及处理装置
CN103744742A (zh) 一种内存坏块的修复方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20200616

CF01 Termination of patent right due to non-payment of annual fee