CN101908021B - 一种闪存擦写方法及闪存存储器 - Google Patents

一种闪存擦写方法及闪存存储器 Download PDF

Info

Publication number
CN101908021B
CN101908021B CN200910107660.9A CN200910107660A CN101908021B CN 101908021 B CN101908021 B CN 101908021B CN 200910107660 A CN200910107660 A CN 200910107660A CN 101908021 B CN101908021 B CN 101908021B
Authority
CN
China
Prior art keywords
data
district
record
information
erasing
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
Application number
CN200910107660.9A
Other languages
English (en)
Other versions
CN101908021A (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.)
Konka Group Co Ltd
Original Assignee
Konka Group Co Ltd
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 Konka Group Co Ltd filed Critical Konka Group Co Ltd
Priority to CN200910107660.9A priority Critical patent/CN101908021B/zh
Publication of CN101908021A publication Critical patent/CN101908021A/zh
Application granted granted Critical
Publication of CN101908021B publication Critical patent/CN101908021B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明实施例公开了一种闪存擦写方法和闪存存储器,所述闪存擦写方法包括:建立基础信息区,存储初始数据;建立内存映像区,在虚拟内存中存储需要修改的数据;建立日志区,对内存映像区修改数据的操作进行记录,将记录以日志形式保存,并拷贝修改的数据内容。实施本发明实施例提供的闪存擦写方法,通过建立对擦除数据进行记录的日志区,可以通过一次擦除,进行多次的写入,降低设备的损耗,延长设备的使用寿命,保证了设备工作时的稳定性和安全性,提高了设备工作的效率。

Description

一种闪存擦写方法及闪存存储器
技术领域
本发明涉及一种闪存技术,尤其涉及一种闪存擦写方法及闪存存储器。
背景技术
Flash Memory技术,即闪存技术,广泛应用于现代生活中。现在人们常用的电器和一些电子设备,例如电视机、电脑、数码照相机、手机、优盘、移动硬盘等都运用到了闪存技术。
闪存技术运用的载体是闪存存储器。闪存存储器一般用于存储程序代码和不需要频繁擦除更新的数据。一般来说,闪存存储器的容量较大,但是使用寿命短(可擦写10万次)、擦写速度慢(擦写速度约为64K/S)。为了优化闪存存储器,人们对闪存存储器进行了仿真E2P的技术处理。而E2P存储器使用寿命长(可擦写100万次),擦写速度快(擦写速度为几十毫秒级别),但其容量较小。因此,人们采用对闪存存储器进行仿真E2P的技术处理,以取得结合二者优点的效果。
现有技术一般是在闪存存储器中确立某个区为Flash仿真E2P区,从该Flash仿真E2P区中再建立一个信息存储空间,并在虚拟内存中建立一个和信息存储空间一样大小的内存映像区。在进行擦写操作时,须将Flash仿真E2P区的数据全部擦除,才能再次重新写入。频繁的擦写降低闪存存储器的使用寿命,对整个Flash仿真E2P区的擦除降低了擦除效率,且由于擦写区域过大造成擦写时间过长,降低了闪存器工作稳定性和安全性。
发明内容
本发明实施提供了一种闪存擦写方法以及闪存存储器,可以通过一次擦除,进行多次快速的写入。
本发明实施例提供了一种闪存擦写方法,包括:
建立基础信息区,存储初始数据;
建立内存映像区,在虚拟内存中存储修要修改的数据;
建立日志区,对内存映像区修改数据的操作进行记录,将记录以日志形式保存,并拷贝修改的数据内容。
相应的,本发明实施例还提供了一种闪存存储器,包括:
基础信息模块,用于存储初始数据;
内存映像模块,用于在虚拟内存中存储需要修改的数据;
日志模块,用于对内存映像模块修改数据的操作进行记录,同时拷贝所述修改的数据内容。
实施本发明,具有如下有益效果:
通过建立对擦除数据进行记录的日志区,可以通过一次擦除,进行多次的写入,降低设备的损耗,延长设备的使用寿命,保证了设备工作时的稳定性和安全性,提高了设备工作的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1本发明提供的闪存擦写方法第一实施例的流程示意图;
图2本发明提供的闪存擦写方法第二实施例的流程示意图;
图3是本发明实施例提供的闪存擦写方法中基础信息区和日志区建立的流程示意图;
图4是本发明实施例提供的闪存存储器初始化时基础信息区建立的流程示意图;
图5发明实施例提供的闪存存储器的结构组成示意图。
具体实施方式
本发明实施提供了一种Flash(闪存)擦写方法和Flash存储器,通过对Flash存储器的一次擦除,可以做到多次快速的写入。
参见图1,是本发明提供的Flash擦写方法的第一实施例。如图所示:
101,建立基础信息区,存储初始数据。Flash存储器在确定Flash仿真E2P区所需的大小之后,会根据Flash仿真E2P区所需大小来建立一个基础信息区。基础信息区是存储整个Flash仿真E2P区初始数据的区域。
102,建立内存映像区,在虚拟内存中存储需要修改的数据。为避免直接在基础信息区进行擦写而修改数据,在没有进行擦除、写入等修改操作之前,Flash存储器在虚拟内存中建立的内存映像区存储和基础信息区相同的初始数据。当需要进行修改数据的操作时,就在内存映像区直接对初始数据进行修改,进行擦除写入等操作。
103,建立日志区,记录内存映像区修改数据的操作,拷贝修改的数据内容。具体的,日志区记录下每次内存映像区修改的数据的偏移位置和长度,同时拷贝修改数据的内容。由于日志区已经对之前所有的操作有记录,通过记录可以获知内存映像区已被修改的数据区域,下一次修改数据的过程中,无需对整个内存映像区进行擦除以后再写入,在内存映像区找到相应的数据区域的数据进行擦除再写入即可。
实施本发明提供的第一实施例,通过建立对擦除数据进行记录的日志区,可以通过一次擦除,进行多次的写入,降低设备的损耗,延长设备的使用寿命,保证了设备工作时数据的稳定性和安全性,提高了设备工作的效率。
参见图2,是本发明提供的Flash擦写方法的第二实施例。如图所示:
201,修改内存映像区的数据。内存映像区是在虚拟内存中为数据的修改而建立的数据区,当设备工作时,直接在内存映像区进行数据的修改,即进行数据的擦除、写入等操作。例如为电视机配备的机顶盒,用户当前观看的节目序号、各节目的音量和声道等信息在机顶盒的Flash存储器的内存映像区具有备份。当用户调节节目的音量时,将电视节目1的音量调大,对应的,Flash存储器修改内存映像区关于节目音量的数据,使得机顶盒将电视节目1的音量调大。
202,记录内存映像区修改数据的操作。Flash存储器的日志区记录内存映像区修改数据的操作,例如,擦除数据、写入数据,具体的记录被修改数据的偏移位置和长度。例如,承接上例,用户调节电视节目的音量,将电视节目1的音量调节的更大一点。对应的,是机顶盒的Flash存储器在原本电视节目1的音量数据a中写入增加的数据,变为音量数据b。此时,Flash存储器的日志区记录下数据a偏移的位置和数据a的长度,并拷贝下数据a的内容。
203,将具体记录的操作内容组织成一个新的记录信息。具体的Flash存储器的日志区将记录的数据的偏移位置和数据的长度等内容组织成一个新的记录信息。承接上例,Flash存储器的日志区将电视节目1的音量数据a的偏移位置和数据a的长度等信息组织成一条新的记录。
204,获取日志区的当前可写入位置和剩余空间大小的信息。Flash存储器根据之前已经写入到日志区的记录和日志区存储空间的大小,来获知日志区的当前可写入位置和剩余空间大小的信息。承接上例,用户在收看电视节目时,每一次更换电视节目、调节音量等操作的记录,都会写入日志区,这些记录在日志区都有各自存储的位置,这些操作所修改的数据内容也对应的存储在日志区。假设日志区可以写入的位置有3000个,日志区存储空间为64K,之前的所有写入的记录占用了1000个位置,之前所有拷贝的修改的数据内容为30K,那么可以获知,日志区可以写入的位置还有2000个,剩余空间大小为34K。
205,判断日志区是否有足够空间存储本次记录信息。在获取日志区的当前可写入位置和剩余空间大小的信息后,本次记录信息是否能够写入,Flash存储器可以做出判断。
206a,若日志区没有足够的空间存储记录信息,建立新的基础信息区和日志区。具体的,例如,日志区可以写入的位置为3000个,日志区的存储空间为64K,之前所有写入的记录为3000,之前所有拷贝的修改的数据内容为63.9K,那么日志区没有可以写入的位置。此时,Flash存储器会将已满的日志区擦除清空,重建一个新的日志区和基础信息区,以写入本次记录。在这里,重建一个新的基础信息区,是将原来基础信息区擦除完毕,然后把当前内存映像区的数据写入基础信息区,将当前内存映像区写入基础信息区的数据作为初始数据。
206b,若日志区有足够的空间存储记录信息,写入本次操作的记录信息。假设日志区可以写入的位置有3000个,日志区存储空间为64K,之前的所有写入的记录占用了1000个位置,之前所以拷贝的修改的数据内容为30K,那么可以获知,日志区可以写入的位置还有2000个,剩余存储空间大小为34K。本次记录信息只需占用1个位置,本次操作记录所拷贝的修改的数据大小为10个字节,那么可以得知,日志区还有足够的存储空间写入本次操作的记录。Flash存储器在日志区直接写入本次操作的记录信息。
207,修改日志区当前可写入位置和剩余存储空间大小。在本次对内存映像区修改数据的记录写入日志区后,日志区可写入位置和剩余存储空间已发生变化,需要修改日志区可写入位置和剩余存储空间的信息,以明确目前日志区的可写入位置和剩余存储空间。承接上例,例如原日志区可写入位置为2000,剩余存储空间大小为34K,本次操作记录拷贝的修改数据内容大小为10个字节,那么修改后的日志区可写入位置为1999,剩余存储空间大小为39.98K。
为进一步的提高日志区和基础信息区在重建过程中的数据安全性,可以在最初建立第一个Flash仿真E2P区的时候,建立一个额外的Flash仿真E2P区,建立双倍份的Flash仿真E2P区。在上述步骤完成基础之上,还可将内存映像区修改数据的记录写入第二Flash仿真E2P区的日志区,进一步的提高数据的安全性。
实施本发明提供的第二实施例,通过建立对擦除数据进行记录的日志区,可以通过一次擦除,进行多次的写入,降低设备的损耗,延长设备的使用寿命,保证了设备工作时数据的稳定性和安全性,提高了设备工作的效率。
参见图3,是本发明实施例提供的Flash擦写方法中基础信息区和日志区建立的流程示意图。具体的:
301,擦除Flash仿真E2P区的整个区。Flash仿真E2P区是硬件区,包括基础信息区和日志区,擦除整个Flash仿真E2P区,也就是擦除基础信息区和日志区。
302,确定Flash仿真E2P仿真区最前标志位。Flash仿真E2P区是在Flash存储器中划分的区域,确定Flash仿真E2P区最前标志位是为了确定Flash仿真E2P区范围的起始位置。
303,将内存映像区的数据写入基础信息区。Flash仿真E2P区中,对数据擦写的操作都发生在内存映像区,将内存映像区的数据写入基础信息区,这样基础信息区就有了还没有修改的初始数据。结合基础信息区的初始数据和日志区对内存映像区修改数据的记录,可以明确整个Flash仿真E2P的数据变化状况。
304,写入当前的日志记录。将当前的日志记录写入日志区。
305,确定Flash仿真E2P区最后标志位。确定Flash仿真E2P区的最后标志位是为了确定Flash仿真E2P区范围的终止位置。
306,初始化日志区,确定日志区可写入位置和剩余存储空间的大小。
若建立了备份的Flash仿真E2P区,可以在上述步骤完成后的基础上,重复相同步骤,建立第二个基础信息区和第二个日志区。
实施本发明实施例提供的建立基础信息区和日志区的方法,通过建立对擦除数据进行记录的日志区,可以通过一次擦除,进行多次的写入,降低设备的损耗,延长设备的使用寿命,保证了设备工作时数据的稳定性和安全性,提高了设备工作的效率。
参见图4,是本发明实施例提供的Flash存储器初始化时基础信息区建立的流程示意图。具体的:
401,申请建立内存映像区。
402,确立基础信息区的最前标识和最后标识。若建立了第二Flash仿真E2P区(备份Flash仿真E2P区),即建立了第二基础信息区(即备份基础信息区)和第二日志区,则两个基础信息区的最前标识和最后标识要确立。
403,判断基础信息区的最前标识和最后标识是否都有效。若有效,则转至步骤407;若无效,则转至步骤404。
404,确定备份基础信息区的最前标识和最后标识。
405,判断备份基础信息区的最前标识和最后标识是否都有效。若有效,则转至步骤406;若无效,则转至步骤409a。
406,若判断备份基础信息区的最前标识和最后标识都有效,则将备份Flash仿真E2P区的内容恢复至和第二Flash仿真E2P区一样。
407,若基础信息区的最前标识和最后标识都有效,将第一Flash仿真E2P区的基础信息区的数据写入内存映像区。
408,获得基础信息区的日志版本号。
409a,若判断备份基础信息区的最前标识和最后标识不是都有效,默认Flash存储器从未启用,开始初始化内存映像区。
409b,上接步骤408,将日志版本号大于基础信息区的日志版本号的日志信息,更新至内存映像区。
410,调用基础信息区和日志区建立流程。上述步骤仅在Flash存储器开机的时候操作一次,在上述步骤完成以后,进行步骤410的操作。
实施本发明实施例提供的建立基础信息区的方法,可在Flash存储器初始化的时候建立两个Flash仿真E2P区,提高数据操作的安全性和稳定性,延长Flash存储器的使用寿命。
参见图5,是本发明实施例提供的Flash存储器的结构组成示意图。具体的包括:
基础信息模块1,用于存储Flash存储器中的需要修改的数据。需要修改的数据是指会在Flash存储器中被擦除、或写入的数据。例如电视机的机顶盒所存储的电视节目的序号、音量、声道等数据。当用户更换电视节目的时候,或者调节音量和声道的时候,对应的,就是Flash存储器修改有关电视节目的序号、音量和声道的数据。
内存映像模块2,用于在虚拟内存存储和基础信息模块相同的数据。基础信息模块1是硬件区域的模块,直接在硬件区域进行数据的擦除、写入,容易缩短Flash存储器的寿命,并且容易导致数据不安全状况的出现。内存映像模块2存储和基础信息模块1相同的数据,就是为在虚拟内存中对这些数据进行修改。承接上例,例如用户收看电视节目,命令机顶盒将电视节目1的音量调大,对应的,机顶盒的Flash存储器会在内存映像模块2处将电视节目1的音量数据增加,也就是写入新的数据以增大原有的音量数据。
日志模块3,用于对内存映像模块2修改数据的操作进行记录,同时拷贝所述修改的数据内容。日志模块3具体的包括:记录单元31和存储单元32。记录单元31,用于记录虚拟映像模块2修改数据的操作,具体的,记录内存虚拟映像模块2所修改的数据的偏移位置和长度。例如,承接上例,用户收看电视节目的时候,将电视节目1的音量调大,那么机顶盒的Flash存储器在内存映像模块2将电视节目1的音量数据a增大为音量数据b。记录单元31记录下电视节目1的序号数据a的偏移位置和长度。存储单元32,用于存储虚拟映像模块2修改的数据的内容。承接上例,电视节目1的音量数据a增大为音量数据b,存储单元32会对电视节目1的音量数据a的内容进行存储。
实施本发明实施例提供的Flash存储器,可以通过一次擦除,进行多次的写入,降低设备的损耗,延长设备的使用寿命,保证了设备工作时数据的稳定性和安全性,提高了设备工作的效率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (3)

1.一种闪存擦写方法,其特征在于,包括:
进行设备初始化以使内存映像区存储的数据和设备初始化之前一致,其中,进行设备初始化包括:建立内存映像区,确立基础信息区的最前标识和最后标识;判断基础信息区的最前标识和最后标识是否都有效;若基础信息区的最前标识和最后标识都有效,将基础信息区的数据写入内存映像区;获得基础信息区的日志版本号;将日志版本号大于基础信息区的日志版本号的日志信息,更新至内存映像区;
建立第一基础信息区,存储初始数据,其中,所述建立第一基础信息区包括:擦除第一基础信息区,将内存映像区的初始数据写入第一基础信息区;
在内存映像区的虚拟内存中存储需要修改的数据;
建立第一日志区,获取第一日志区的当前可写入位置和剩余空间大小的信息,检查第一日志区是否具有足够的存储空间进行记录,对内存映像区修改数据的操作进行记录,将记录以日志形式保存,并拷贝修改的数据内容;
建立第二基础信息区,存储初始数据;
建立第二日志区,对内存映像区修改数据的操作进行记录,将记录以日志形式保存,并拷贝修改的数据内容。
2.如权利要求1所述的闪存擦写方法,其特征在于,所述对内存映像区修改数据的操作进行记录,具体包括:
记录所述操作中所修改的数据的偏移位置;
记录所述操作中所修改的数据的长度。
3.如权利要求1所述的闪存擦写方法,其特征在于,当所述第一日志区用于记录的存储空间饱和时,将内存映像区的数据写入第一基础信息区,擦除第一日志区的所有记录以备下一次的写入。
CN200910107660.9A 2009-06-03 2009-06-03 一种闪存擦写方法及闪存存储器 Active CN101908021B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200910107660.9A CN101908021B (zh) 2009-06-03 2009-06-03 一种闪存擦写方法及闪存存储器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910107660.9A CN101908021B (zh) 2009-06-03 2009-06-03 一种闪存擦写方法及闪存存储器

Publications (2)

Publication Number Publication Date
CN101908021A CN101908021A (zh) 2010-12-08
CN101908021B true CN101908021B (zh) 2015-06-17

Family

ID=43263485

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910107660.9A Active CN101908021B (zh) 2009-06-03 2009-06-03 一种闪存擦写方法及闪存存储器

Country Status (1)

Country Link
CN (1) CN101908021B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521112A (zh) * 2011-11-18 2012-06-27 深圳中兴网信科技有限公司 一种基于内存的日志信息读写方法
CN103268294A (zh) * 2013-04-19 2013-08-28 深圳创维数字技术股份有限公司 一种存取数据的操作方法和数据处理设备
CN104572413B (zh) * 2013-10-29 2017-11-24 上海斐讯数据通信技术有限公司 一种电子设备保存系统日志的方法及电子设备
CN107463341A (zh) * 2017-08-25 2017-12-12 上海闻泰电子科技有限公司 Flash芯片的擦除方法、装置和移动终端
CN113316010B (zh) * 2021-05-28 2023-02-28 杭州国芯科技股份有限公司 一种机顶盒记录当前观看频道信息的方法
CN113791925B (zh) * 2021-08-24 2023-06-27 杭州迪普科技股份有限公司 内存映象文件的存储方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1317742A (zh) * 2000-04-10 2001-10-17 国际商业机器公司 恢复数据库时并行读取主从备份的系统和方法
CN1525337A (zh) * 2003-02-27 2004-09-01 ������������ʽ���� 包括存储系统的数据处理系统
CN1591345A (zh) * 2003-06-27 2005-03-09 株式会社日立制作所 存储系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1317742A (zh) * 2000-04-10 2001-10-17 国际商业机器公司 恢复数据库时并行读取主从备份的系统和方法
CN1525337A (zh) * 2003-02-27 2004-09-01 ������������ʽ���� 包括存储系统的数据处理系统
CN1591345A (zh) * 2003-06-27 2005-03-09 株式会社日立制作所 存储系统

Also Published As

Publication number Publication date
CN101908021A (zh) 2010-12-08

Similar Documents

Publication Publication Date Title
JP6759459B2 (ja) 物理メディアアウェア空間的結合ジャーナル処理及びリプレイ
CN103425597B (zh) 数据储存装置和快闪存储器的区块管理方法
CN101908021B (zh) 一种闪存擦写方法及闪存存储器
JP4832521B2 (ja) フラッシュメモリメディアにおけるデータ管理方法
CN103473067B (zh) 嵌入式Linux分区与数据还原方法、系统及系统开发方法
US8386698B2 (en) Data accessing method for flash memory and storage system and controller using the same
CN100458699C (zh) 一种实现固件更新的方法和系统
CN107291883A (zh) 一种分布式存储系统的快照方法及装置
TW201729102A (zh) 儲存裝置及方法
CN106990926A (zh) 一种固态硬盘磨损均衡的处理方法
CN111007985B (zh) 一种存储系统空间回收的兼容处理方法、系统及设备
CN106681848B (zh) 一种纠删码raid的数据一致性保障方法及系统
CN110515550B (zh) 一种sata固态硬盘冷热数据分离的方法及其装置
CN113311992A (zh) 固态硬盘预留空间的动态调整方法及装置
CN107506311B (zh) 一种固态硬盘的ftl表的刷写方法及装置
CN103578566B (zh) 存储器存储装置及其修复方法
CN101644992B (zh) 文件系统数据重建的方法和系统
CN103389941B (zh) 存储器格式化方法、存储器控制器及存储器存储装置
US20070005929A1 (en) Method, system, and article of manufacture for sector mapping in a flash device
CN1701300B (zh) 用于分解与一共用逻辑块相关联的物理块的方法和设备
CN104166558B (zh) 固件码载入方法、存储器控制器与存储器存储装置
TW201403323A (zh) 記憶體儲存裝置及其修復方法
CN110262980B (zh) 基于有限寿命存储介质的高速存储系统
CN110069427A (zh) 存储器控制器以及存储器控制器的操作方法
CN102063365B (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
C14 Grant of patent or utility model
GR01 Patent grant