CN1936853B - 嵌入式设备的数据掉电保护和修复方法 - Google Patents
嵌入式设备的数据掉电保护和修复方法 Download PDFInfo
- Publication number
- CN1936853B CN1936853B CN200510037536A CN200510037536A CN1936853B CN 1936853 B CN1936853 B CN 1936853B CN 200510037536 A CN200510037536 A CN 200510037536A CN 200510037536 A CN200510037536 A CN 200510037536A CN 1936853 B CN1936853 B CN 1936853B
- Authority
- CN
- China
- Prior art keywords
- data
- mark
- embedded device
- transient state
- power down
- 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 36
- 230000008439 repair process Effects 0.000 claims abstract description 11
- 230000009471 action Effects 0.000 claims abstract description 6
- 230000001052 transient effect Effects 0.000 claims description 19
- 239000012467 final product Substances 0.000 claims description 4
- 239000003550 marker Substances 0.000 abstract description 7
- 230000004048 modification Effects 0.000 abstract description 2
- 238000012986 modification Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 7
- 239000000047 product Substances 0.000 description 6
- 238000013500 data storage Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
Images
Abstract
本发明涉及一种嵌入式设备的数据掉电保护和修复方法,该保护方法包括:将修改数据的操作步骤划分为稳态和暂态,原子操作属于稳态,多步操作的最后一步完成后是稳态,否则其前溯操作属于暂态;对每步数据操作附加一个标记,操作完成后写入该标记;当多步操作的最后一步完成时,将其前溯操作的暂态标记改写为稳态标记;开机访问数据时,扫描所有标记,发现有暂态操作的标记时,废弃未完成的动作,恢复数据之前的状态。本发明使数据修复过程时间短,从而提高了数据的修复速度。
Description
技术领域
本发明涉及一种嵌入式设备的数据存取技术,尤其涉及一种针对嵌入式设备经常发生的掉电情况对数据加以保护和修复的方法。
背景技术
嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统,用于实现特定应用功能。常见的采用嵌入式系统的嵌入式产品包括手机、PDA、信息家电等。
嵌入式产品常用的数据存储设备是闪存,与其它存储器相比,闪存的容量和存取速度都很低,而且对运行环境的电压有极高的要求。嵌入式产品在使用过程中经常会发生不可预知的低压或掉电,导致正在读写数据时系统中断。
应用于嵌入式产品的数据存取方式,在功能上要受限于嵌入式产品的特点,特别是针对掉电的发生要有一套保护和修复的方法。
对数据的操作可分为查询和修改,查询是只读动作,只需根据数据的内部组织结构,读取数据存储空间的特定区域内容即可。修改数据的操作通常会分为多个步骤,每个步骤修改一部分数据,这样当操作过程中修改了部分数据时发生掉电,就会导致相关联的数据一部分是旧的一部分是新的,这样产生的数据是无效的,如果是关键数据结构被破坏,整个数据将无法再被访问。
目前的嵌入式设备,大多采用备份的方法来保证掉电后的修复,将数据的存储空间划分为数据区和备份区,采用交替使用备份区或者定期清理备份区的方法来实现对数据的保护。这类方法最明显的问题就是浪费了原本就很紧张的存储空间,这在手机等小容量存储设备上来说会增加产品的成本。
发明内容
本发明所要解决的技术问题在于提供一种不需要额外备份空间,当系统中断重新启动之后,能够快速检查并修复数据的内容,尽可能地提高了存储器的利用率的嵌入式设备的数据掉电保护和修复方法。
为解决上述的一个技术问题,本发明所采用的技术方案是:提供一种嵌入式设备的数据掉电保护方法,该保护方法包括:将修改数据的操作步骤划分为稳态和暂态,原子操作属于稳态,多步操作的最后一步完成后是稳态,否则其前溯操作属于暂态;对每步数据操作在数据末尾附加一个标记,操作完成后写入该标记;当多步操作的最后一步完成时,将其前溯操作的暂态标记改写为稳态标记;开机访问数据时,扫描所有数据块的标记,发现有暂态操作的标记时,废弃未完成的动作,恢复数据之前的状态。
为解决上述的另一技术问题,本发明所采用的技术方案是:提供一种嵌入式设备的数据掉电修复方法,其包括以下步骤:
a.启动嵌入式设备,依次扫描数据块的标记;
b.判断是否是暂态标记,若是,则执行步骤c,若否,则执行步骤e;
c.删除该数据块;
d.判断是否有相关联的下一块,若有,则返回步骤c,若无,则执行步骤e;
e.判断数据块是否扫描完毕,若是,则修复结束,若否,则返回步骤a。
本发明的有益效果是:由于本发明对数据的操作步骤添加有特定含义的标记,系统启动时通过检查数据块的标记判断是否有掉电发生,并针对掉电情景进行修复,掉电修复时仅需要判断是否有特定含义的标记,因此修复过程时间短,从而提高了数据的修复速度。另外由于本发明的嵌入式设备不需要额外的备份空间,因此提高了存储器的使用率。
附图说明
图1至4是写数据时的数据区示意图。
图5是本发明嵌入式设备的数据掉电后修复数据时的方法流程图。
具体实施方式
本发明的嵌入式设备的数据掉电保护和修复方法不仅适用于建立在文件系统之上的数据存取方法,也适用于直接操作存储设备的数据存取方法,存储设备包括闪存、磁盘、微硬盘、SD/MMC等存储卡。
本发明的嵌入式设备的数据掉电保护方法为:将修改数据的操作步骤划分为稳态和暂态,原子操作属于稳态,多步操作的最后一步完成后是稳态,否则其前溯操作属于暂态;对每步数据操作附加一个标记,操作完成后写入该标记;当多步操作的最后一步完成时,将其前溯操作的暂态标记改写为稳态标记;开机访问数据时,扫描所有标记,发现有暂态操作的标记时,废弃未完成的动作,恢复数据之前的状态。
由于对数据的操作步骤添加有特定含义的标记,系统启动时通过检查数据块的标记判断是否有掉电发生,并针对掉电情景进行修复。掉电修复时仅需要判断是否有特定含义的标记,因此修复过程时间短。
请参阅图1至图4,是本发明的一种具体实施方式写数据时的数据区示意图,其将写数据的过程分为A、B、C三个步骤,C未完成之前A、B是暂态,C完成后A、B、C是稳态。
步骤A写数据时在数据末尾附加一个暂态标记f1,该标记可以是1个字节或2个字节,保证写标记的动作是原子操作。标记内容自行定义,不与其它标记冲突即可,此时数据区示意图为图1;步骤B写数据,将标记写为暂态标记f2,此时数据区示意图为图2;步骤C写数据完成后,其本身标记为稳态标记s3,此时数据区示意图为图3;将f1、f2改写为稳态标记s1、s2,此时数据区示意图为图4。
需要指出的是,具体标记的内容只是表明标记的类别,无论设定为任何内容,都属于本发明范围之内。
请参阅图5,本发明的嵌入式设备的数据掉电修复方法包括以下步骤:
a.启动嵌入式设备,依次扫描数据块的标记;
b.判断是否是暂态标记,若是,则执行步骤c,若否,则执行步骤e;
c.删除该数据块;
d.判断是否有相关联的下一块,若有,则返回步骤c,若无,则执行步骤e;
e.判断数据块是否扫描完毕,若是,则修复结束,若否,则返回步骤a。
举例说明,当写数据时的数据区如图3所示时掉电,则根据图5所示的重启后修复过程可知:因为掉电时存在暂态标记f1、f2,所以此次写数据操作不可靠,应删除数据块A、B、C。这样数据恢复到写操作之前的状态,虽然丢失了一次写操作的数据,但整体数据是可用的。
Claims (8)
1.一种嵌入式设备的数据掉电保护方法,其特征在于该保护方法包括:将修改数据的操作步骤划分为稳态和暂态,原子操作属于稳态,多步操作的最后一步完成后是稳态,否则其前溯操作属于暂态;对每步数据操作在数据末尾附加一个标记,操作完成后写入该标记;当多步操作的最后一步完成时,将其前溯操作的暂态标记改写为稳态标记;开机访问数据时,扫描所有数据块的标记,发现有暂态操作的标记时,废弃未完成的动作,恢复数据之前的状态。
2.如权利要求1所述的嵌入式设备的数据掉电保护方法,其特征在于:该方法适用于建立在文件系统之上的数据存取方法,也适用于直接操作存储设备的数据存取方法。
3.如权利要求2所述的嵌入式设备的数据掉电保护方法,其特征在于:该存储设备包括闪存、磁盘、微硬盘或SD/MMC存储卡。
4.如权利要求1所述的嵌入式设备的数据掉电保护方法,其特征在于:该标记内容可自行定义,不与其它标记冲突即可。
5.一种嵌入式设备的数据掉电修复方法,其特征在于包括以下步骤:
a.启动嵌入式设备,依次扫描数据块的标记;
b.判断是否是暂态标记,若是,则执行步骤c,若否,则执行步骤e;
c.删除该数据块;
d.判断是否有相关联的下一块,若有,则返回步骤c,若无,则执行步骤e;
e.判断数据块是否扫描完毕,若是,则修复结束,若否,则返回步骤a。
6.如权利要求5所述的嵌入式设备的数据掉电修复方法,其特征在于:该方法适用于建立在文件系统之上的数据存取方法,也适用于直接操作存储设备的数据存取方法。
7.如权利要求6所述的嵌入式设备的数据掉电修复方法,其特征在于:该存储设备包括闪存、磁盘、微硬盘或SD/MMC存储卡。
8.如权利要求5所述的嵌入式设备的数据掉电修复方法,其特征在于:该标记内容可自行定义,不与其它标记冲突即可。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200510037536A CN1936853B (zh) | 2005-09-22 | 2005-09-22 | 嵌入式设备的数据掉电保护和修复方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200510037536A CN1936853B (zh) | 2005-09-22 | 2005-09-22 | 嵌入式设备的数据掉电保护和修复方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1936853A CN1936853A (zh) | 2007-03-28 |
CN1936853B true CN1936853B (zh) | 2010-05-05 |
Family
ID=37954363
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200510037536A Expired - Fee Related CN1936853B (zh) | 2005-09-22 | 2005-09-22 | 嵌入式设备的数据掉电保护和修复方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1936853B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8996829B2 (en) | 2009-12-11 | 2015-03-31 | Microsoft Technology Licensing, Llc | Consistency without ordering dependency |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101515276B (zh) * | 2008-12-29 | 2012-07-04 | 北京握奇数据系统有限公司 | 一种文件数据写操作的方法、文件数据恢复方法及系统 |
US8793440B2 (en) | 2010-06-17 | 2014-07-29 | Microsoft Corporation | Error detection for files |
US8776094B2 (en) | 2011-08-11 | 2014-07-08 | Microsoft Corporation | Runtime system |
CN104216304A (zh) * | 2013-05-31 | 2014-12-17 | 青岛海尔空调电子有限公司 | 一种提高家电缓存数据可靠性的方法 |
US10635504B2 (en) | 2014-10-16 | 2020-04-28 | Microsoft Technology Licensing, Llc | API versioning independent of product releases |
FR3046266A1 (fr) * | 2015-12-28 | 2017-06-30 | Proton World Int Nv | Stockage dans une memoire flash |
CN106708960B (zh) * | 2016-11-30 | 2021-05-28 | 浙江宇视科技有限公司 | 一种nas设备文件系统的修复方法及nas设备 |
CN109496301A (zh) * | 2017-05-19 | 2019-03-19 | 深圳配天智能技术研究院有限公司 | 嵌入式系统中管理文件的方法、嵌入式设备及其存储介质 |
CN110445876B (zh) * | 2019-08-19 | 2021-11-09 | 深圳市九兴智能技术有限公司 | 基于物联网的掉电数据的管理系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002189609A (ja) * | 2000-12-20 | 2002-07-05 | Nec Corp | アクシデントに適応したソフトウェア更新方式および方法 |
CN1393781A (zh) * | 2001-07-03 | 2003-01-29 | 联想(北京)有限公司 | 闪存文件的管理方法 |
CN1518000A (zh) * | 2003-01-26 | 2004-08-04 | 深圳市朗科科技有限公司 | 闪存介质中的数据管理方法 |
CN1645516A (zh) * | 2004-01-19 | 2005-07-27 | 三星电子株式会社 | 用于闪速存储器的数据恢复设备和方法 |
-
2005
- 2005-09-22 CN CN200510037536A patent/CN1936853B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002189609A (ja) * | 2000-12-20 | 2002-07-05 | Nec Corp | アクシデントに適応したソフトウェア更新方式および方法 |
CN1393781A (zh) * | 2001-07-03 | 2003-01-29 | 联想(北京)有限公司 | 闪存文件的管理方法 |
CN1518000A (zh) * | 2003-01-26 | 2004-08-04 | 深圳市朗科科技有限公司 | 闪存介质中的数据管理方法 |
CN1645516A (zh) * | 2004-01-19 | 2005-07-27 | 三星电子株式会社 | 用于闪速存储器的数据恢复设备和方法 |
Non-Patent Citations (1)
Title |
---|
同上. |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8996829B2 (en) | 2009-12-11 | 2015-03-31 | Microsoft Technology Licensing, Llc | Consistency without ordering dependency |
US9430160B2 (en) | 2009-12-11 | 2016-08-30 | Microsoft Technology Licensing, Llc | Consistency without ordering dependency |
Also Published As
Publication number | Publication date |
---|---|
CN1936853A (zh) | 2007-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1936853B (zh) | 嵌入式设备的数据掉电保护和修复方法 | |
CN105224478B (zh) | 一种映射表的形成、更新和恢复方法及电子设备 | |
CN103577121B (zh) | 一种基于Nand Flash的高可靠线性文件存取方法 | |
CN101551780B (zh) | 一种电视机及其数据存储方法、装置 | |
CN101425041B (zh) | 在nand flash存储器上建立fat文件系统的优化方法 | |
CN100498796C (zh) | 逻辑日志生成方法、数据库备份/恢复方法与系统 | |
CN101515276B (zh) | 一种文件数据写操作的方法、文件数据恢复方法及系统 | |
CN101763295A (zh) | 一种数据备份、备份项擦除及数据恢复方法和装置 | |
CN101526927B (zh) | Flash文件系统的数据处理方法及数据处理装置 | |
US7802072B2 (en) | Data storage device, memory management method and program for updating data recorded in each of a plurality of physically partitioned memory areas | |
CN100533408C (zh) | 一种闪存的安全读写方法 | |
CN103577574A (zh) | 一种基于nand flash的高可靠线性文件系统 | |
CN101216789A (zh) | 数据更新方法、装置及系统 | |
WO2016165597A1 (zh) | 数据存储的处理方法及装置 | |
CN104516959A (zh) | 一种管理数据库日志的方法及装置 | |
CN113785275B (zh) | Flash数据掉电保护方法及设备 | |
CN106227680A (zh) | 一种数据处理及防掉电数据保护方法 | |
CN102737715A (zh) | 用于nor闪存的数据掉电保护方法 | |
CN103996412A (zh) | 一种用于智能卡非易失性存储器的掉电保护方法 | |
CN102841802A (zh) | 移动终端的软件升级方法 | |
CN101246429B (zh) | 将闪存模块用作主存储器的电子系统和相关系统引导方法 | |
CN102890655A (zh) | 存储器储存装置、其存储器控制器与有效数据识别方法 | |
CN104376099A (zh) | 一种基于闪存的文件系统的实现方法和实现装置 | |
CN102005245B (zh) | 一种智能卡擦写保护方法 | |
CN101634997B (zh) | 增强基于NAND Flash的FAT文件系统稳定性的方法 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100505 Termination date: 20180922 |