CN106484567A - 一种flash数据备份的使用方法及系统 - Google Patents
一种flash数据备份的使用方法及系统 Download PDFInfo
- Publication number
- CN106484567A CN106484567A CN201610864885.9A CN201610864885A CN106484567A CN 106484567 A CN106484567 A CN 106484567A CN 201610864885 A CN201610864885 A CN 201610864885A CN 106484567 A CN106484567 A CN 106484567A
- Authority
- CN
- China
- Prior art keywords
- data area
- data
- flash
- backup
- initial data
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种flash数据备份的使用方法及系统。该方法,包括:判断原始数据区是否损坏;若所述原始数据区已损坏,判断备份数据区是否损坏,若所述备份数据区已损坏,将保存在flash规划的其他分区中的默认数据拷贝到所述原始数据区和所述备份数据区中,使用所述默认数据启动系统;所述默认数据包括flash的整个或者重要分区的分区规划、和系统启动所需的必要数据;所述原始数据区、所述备份数据区、及所述flash规划的其他分区所占用的扇区由使用者预先设计。本发明使用者自行设计分区规划,通过保存在其他分区中的默认数据来保证系统的正常启动,默认数据既不用多占用扇区又能保证在原始数据区和备份数据区中的数据均异常时系统能正常启动。
Description
技术领域
本发明涉及flash技术领域,尤其涉及一种flash数据备份的使用方法及系统。
背景技术
在spi(serial peripheral interface,串行外接口)flash写入速度慢,读写过程中存在异常断电可能会导致使用者重要数据损坏。如果损坏的是系统启动相关的重要数据就会出现系统无法启动。
现有的flash备份技术包括:方案1:一级备份机制,flash存储器自身设计或flash使用者采用增加备份数据区的方法,原始数据区损坏就用备份数据区,同样备份数据区损坏就用原始数据区;方案2:二级备份机制,flash存储器自身采用二级备份设计,使用原始数据区、备份数据区以及交换区三者来进一步保证重要数据不被损坏。
但是,现在flash备份技术具有以下缺点:缺点1:flash存储器自身采用一级或二级备份机制的自备份技术,在flash总容量不变的情况下,使用者实际可操作容量必定会减小,可能是成倍甚至是三倍减少,因为每增加一个原始数据区就要增加一个备份数据区甚至再增加一个交换区,而备份数据区和交换区,使用者实际并无法直接操作使用;另外由于spi flash写入速度慢,这样每更新一次数据都会比普通无自备份技术的flash耗费两倍甚至三倍的时间;缺点2:flash使用者采用一级备份机制,有可能flash自身或flash驱动存在潜在的缺陷导致极小概率的写入或数据校验异常导致原始和备份数据均损坏,在静电或电压不稳条件下,生产/使用时向flash中写数据,也可能会出现写入的数据异常而被破坏;缺点3:目前,市面上的flash存储器大多是没有做自备份技术的,虽有一些flash做过自备份技术,但自备份技术一般是针对整个flash做的,且由于增加自备份数据区(flash使用者无法直接操作到)无疑会增加使用者成本,基于目前消费类电子价格战日趋激烈,低成本高利润无疑是最佳生存之道。
发明内容
本发明针对无自备份技术的flash提供了一种flash数据备份的使用方法及系统,使用者自行设计分区规划,通过保存在其他分区中的默认数据来保证系统的正常启动,默认数据既不用多占用扇区又能保证在原始数据区和备份数据区中的数据均异常时系统能正常启动。
为实现上述设计,本发明采用以下技术方案:
一方面,提供了一种flash数据备份的使用方法,该方法,包括:
判断原始数据区是否损坏;
若所述原始数据区已损坏,判断备份数据区是否损坏,若所述备份数据区已损坏,将保存在flash规划的其他分区中的默认数据拷贝到所述原始数据区和所述备份数据区中,使用所述默认数据启动系统;
所述默认数据包括flash的整个或者重要分区的分区规划、和系统启动所需的必要数据;
所述原始数据区、所述备份数据区、及所述flash规划的其他分区所占用的扇区由使用者预先设计。
其中:
所述判断原始数据区是否损坏之后,还包括:若所述原始数据区没有损坏,判断所述备份数据区是否损坏,若所述备份数据区没有损坏,使用所述原始数据区中的数据启动系统;若所述备份数据区已损坏,将所述原始数据区中的数据拷贝到所述备份数据区,使用所述原始数据区中的数据启动系统;
所述若所述原始数据区已损坏,判断备份数据区是否损坏之后,还包括:若所述备份数据区没有损坏,将所述备份数据区中的数据拷贝到所述原始数据区,使用所述备份数据区中的数据启动系统。
其中,所述其他分区为启动数据区,所述启动数据区还保存有设备正常启动自身所需要的数据。
其中:
所述原始数据区中的数据包括flash的整个分区规划、和与系统启动相关的重要数据;
所述备份数据区中的数据包括flash的整个分区规划、和与系统启动相关的重要数据。
其中,所述判断原始数据区是否损坏之前,还包括:
将所述flash的整个分区规划、和与系统启动相关的重要数据写入所述原始数据区中;
将所述flash的整个分区规划、和与系统启动相关的重要数据写入备份数据区中;
将所述flash的整个或者重要分区的分区规划、和默认数据写入启动数据区中。
其中,所述判断原始数据区是否损坏之前,还包括:预先设计flash的整个分区规划,以确定所述原始数据区、所述备份数据区、及所述flash规划的其他分区所占用的扇区。
其中,所述判断原始数据区是否损坏之前,还包括:驱动flash。
第二方面,提供了一种flash数据备份的使用系统,该系统,包括:
第一判断模块,用于判断原始数据区是否损坏;
第二判断模块,用于若所述第一判断模块判断出所述原始数据区已损坏,判断所述备份数据区是否损坏;
第一启动模块,用于若所述第二判断模块判断出所述备份数据区已损坏,将保存在flash规划的其他分区中的默认数据拷贝到所述原始数据区和所述备份数据区中,使用所述默认数据启动系统;
所述默认数据包括flash的整个或者重要分区的分区规划、和系统启动所需的必要数据;
所述原始数据区、所述备份数据区、及所述flash规划的其他分区所占用的扇区由使用者预先设计。
其中,所述系统还包括:
第三判断模块,用于若所述第一判断模块判断出所述原始数据区没有损坏,判断备份数据区是否损坏;
第二启动模块,用于若所述第三判断模块判断出所述备份数据区没有损坏,使用所述原始数据区中的数据启动系统;若所述第三判断模块判断出所述备份数据区已损坏,将所述原始数据区中的数据拷贝到所述备份数据区,使用所述原始数据区中的数据启动系统;
所述第一启动模块,还用于若所述第二判断模块判断出所述备份数据区没有损坏,将所述备份数据区中的数据拷贝到所述原始数据区,使用所述备份数据区中的数据启动系统。
其中,所述其他分区为启动数据区,所述启动数据区还保存有设备正常启动自身所需要的数据;
所述原始数据区中的数据包括flash的整个分区规划、和与系统启动相关的重要数据;
所述备份数据区中的数据包括flash的整个分区规划、和与系统启动相关的重要数据;
所述系统还包括,写入模块;所述写入模块用于:
将所述flash的整个分区规划、和与系统启动相关的重要数据写入所述原始数据区中;
将所述flash的整个分区规划、和与系统启动相关的重要数据写入备份数据区中;
将所述flash的整个或者重要分区的分区规划、和默认数据写入启动数据区中;
所述系统还包括:
设计模块,用于预先设计flash的整个分区规划,以确定所述原始数据区、所述备份数据区、及所述flash规划的其他分区所占用的扇区;
驱动模块,用于驱动flash。
与现有技术相比,本发明的有益效果为:判断原始数据区是否损坏;若所述原始数据区已损坏,判断备份数据区是否损坏,若所述备份数据区已损坏,将保存在flash规划的其他分区中的默认数据拷贝到所述原始数据区和所述备份数据区中,使用所述默认数据启动系统;所述默认数据包括flash的整个或者重要分区的分区规划、和系统启动所需的必要数据;所述原始数据区、所述备份数据区、及所述flash规划的其他分区所占用的扇区由使用者预先设计。本发明使用者自行设计分区规划,通过使用原始数据区、备份数据区以及保存在其他分区中的默认数据来保证系统的正常启动,默认数据既不用多占用扇区又能保证在原始数据区和备份数据区中的数据均异常时系统能正常启动,解决了现有技术中因flash的重要数据被损坏而导致系统无法正常启动从而给flash生产和使用带来极大不便的问题。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据本发明实施例的内容和这些附图获得其他的附图。
图1是本发明具体实施方式中提供的一种flash数据备份的使用方法的第一实施例的方法流程图。
图2是本发明具体实施方式中提供的一种flash数据备份的使用方法的第二实施例的方法流程图。
图3是本发明具体实施方式中提供的一种flash数据备份的使用系统的第一实施例的结构方框图。
图4是本发明具体实施方式中提供的一种flash数据备份的使用系统的第二实施例的结构方框图。
具体实施方式
为使本发明解决的技术问题、采用的技术方案和达到的技术效果更加清楚,下面将结合附图对本发明实施例的技术方案作进一步的详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,其是本发明具体实施方式中提供的一种flash数据备份的使用方法的第一实施例的方法流程图。如图所示,该方法,包括:
步骤S101:判断原始数据区是否损坏;若所述原始数据区没有损坏,则继续执行步骤S102;若所述原始数据区已损坏,则执行步骤S105。
进入系统之前,先判断原始数据区是否损坏,以根据判断结果及进一步的操作决定使用哪个区的数据启动系统。本实施例针对无自备份技术的flash,使用者自行设计原始数据区所占用的扇区,所述原始数据区中的数据包括flash的整个分区规划、和与系统启动相关的重要数据。原始数据区中的数据还可以包括一些环境相关数据,具体数据由使用者决定。
步骤S102:判断备份数据区是否损坏,若所述备份数据区没有损坏,则执行步骤S103;若所述备份数据区已损坏,则执行步骤S104。
若原始数据区没有损坏,继续判断备份数据区是否损坏,因为原始数据区与备份数据区互为备份,不管原始数据区是否损坏都需要判断备份数据区是否损坏,以决定是否需要把原始数据区中的数据拷贝到备份数据区,或把备份数据区中的数据拷贝到原始数据区。
使用者自行设计备份数据区所占用的扇区,所述备份数据区中的数据包括flash的整个分区规划、和与系统启动相关的重要数据。原则上,备份数据区中的数据与原始数据区中的数据相同,备份数据区与原始数据区互为备份。
步骤S103:使用所述原始数据区中的数据启动系统。
若原始数据区没有损坏,备份数据区也没有损坏,则使用原始数据区中的数据启动系统。
步骤S104:将所述原始数据区中的数据拷贝到所述备份数据区,使用所述原始数据区中的数据启动系统。
若原始数据区没有损坏,但是备份数据区已损坏,则将所述原始数据区中的数据拷贝到所述备份数据区,使用所述原始数据区中的数据启动系统。备份数据区与原始数据区互为备份,在写入flash过程中若出现突然掉电等情况,导致备份数据区与原始数据区其中一区数据损坏时仍能正常启动系统。
步骤S105:判断所述备份数据区是否损坏,若所述备份数据区没有损坏,则执行步骤S106;若所述备份数据区已损坏,则执行步骤S107。若原始备份数据区已损坏,继续判断所述备份数据区是否损坏。
步骤S106:将所述备份数据区中的数据拷贝到所述原始数据区,使用所述备份数据区中的数据启动系统。
若原始备份数据区已损坏,备份数据区没有损坏,则将所述备份数据区中的数据拷贝到所述原始数据区,使用所述备份数据区中的数据启动系统。备份数据区与原始数据区互为备份,在写入flash过程中若出现突然掉电等情况,导致备份数据区与原始数据区其中一区数据损坏时仍能正常启动系统。
步骤S107:将保存在flash规划的其他分区中的默认数据拷贝到所述原始数据区和所述备份数据区中,使用所述默认数据启动系统。保存在flash规划的其他分区中的默认数据保证了在原始数据区和备份数据区中的数据均异常时能正常启动系统。
若原始备份数据区已损坏,备份数据区也已损坏,则将保存在flash规划的其他分区中的默认数据拷贝到所述原始数据区和所述备份数据区中,使用所述默认数据启动系统,其中,所述默认数据包括flash的整个或者重要分区的分区规划、和系统启动所需的必要数据。默认数据包括的是启动系统所需要的最基本的数据,默认数据是系统启动的精华部分,占用空间极小,直接保存在flash规划的其他分区中即可起到多重保证系统启动的作用。flash规划的其他分区为除原始数据区和备份数据区的其他分区,默认数据也可单独占用一个分区,但在项目使用中为了节省硬件成本一般flash空间都不宽裕,甚至比较紧张,单独占用一个分区会浪费资源。作为一个优选的实施例,所述默认数据保存在启动数据区,所述启动数据区还保存有设备正常启动自身所需要的数据,如boot引导数据等。因为启动数据区中的数据在生产或使用过程中不会或极少被改动,可以对默认数据起到保护作用,默认数据也可依附于flash规划的其他在生产或使用过程中不会或极少被改动的分区中。
本实施中,所述原始数据区、所述备份数据区、及所述flash规划的其他分区所占用的扇区由使用者预先设计,各个分区可以占用一个扇区,也可以占用多个扇区。原始数据区和备份数据区中的数据都是由使用者按其需要写入,默认数据也是由使用者按其需要写入到flash规划的其他分区中。
综上所述,本实施例使用者自行设计分区规划,通过使用原始数据区、备份数据区以及保存在其他分区中的默认数据来保证系统的正常启动,默认数据既不用多占用扇区又能保证在原始数据区和备份数据区中的数据均异常时系统能正常启动,解决了现有技术中因flash的重要数据被损坏而导致系统无法正常启动从而给flash生产和使用带来极大不便的问题。
请参考图2,其是本发明具体实施方式中提供的一种flash数据备份的使用方法的第二实施例的方法流程图。如图所示,该方法,包括:
步骤S201:驱动flash。
驱动flash,以对flash做进一步的操作。
步骤S202:判断原始数据区是否损坏;若所述原始数据区没有损坏,则继续执行步骤S203;若所述原始数据区已损坏,则执行步骤S206。
驱动flash之后,在进入系统之前,先判断原始数据区是否损坏,以根据判断结果及进一步的操作决定使用哪个区的数据启动系统。本实施例针对无自备份技术的flash,使用者自行设计原始数据区所占用的扇区,所述原始数据区中的数据包括flash的整个分区规划、和与系统启动相关的重要数据。原始数据区中的数据还可以包括一些环境相关数据,具体数据由使用者决定。
步骤S203:判断备份数据区是否损坏,若所述备份数据区没有损坏,则执行步骤S204;若所述备份数据区已损坏,则执行步骤S205。
若原始数据区没有损坏,继续判断备份数据区是否损坏,因为原始数据区与备份数据区互为备份,不管原始数据区是否损坏都需要判断备份数据区是否损坏,以决定是否需要把原始数据区中的数据拷贝到备份数据区,或把备份数据区中的数据拷贝到原始数据区。
使用者自行设计备份数据区所占用的扇区,所述备份数据区中的数据包括flash的整个分区规划、和与系统启动相关的重要数据。原则上,备份数据区中的数据与原始数据区中的数据相同,备份数据区与原始数据区互为备份。
步骤S204:使用所述原始数据区中的数据启动系统。
若原始数据区没有损坏,备份数据区也没有损坏,则使用原始数据区中的数据启动系统。
步骤S205:将所述原始数据区中的数据拷贝到所述备份数据区,使用所述原始数据区中的数据启动系统。
若原始数据区没有损坏,但是备份数据区已损坏,则将所述原始数据区中的数据拷贝到所述备份数据区,使用所述原始数据区中的数据启动系统。备份数据区与原始数据区互为备份,在写入flash过程中若出现突然掉电等情况,导致备份数据区与原始数据区其中一区数据损坏时仍能正常启动系统。
步骤S206:判断所述备份数据区是否损坏,若所述备份数据区没有损坏,则执行步骤S207;若所述备份数据区已损坏,则执行步骤S208。若原始备份数据区已损坏,继续判断所述备份数据区是否损坏。
步骤S207:将所述备份数据区中的数据拷贝到所述原始数据区,使用所述备份数据区中的数据启动系统。
若原始备份数据区已损坏,备份数据区没有损坏,则将所述备份数据区中的数据拷贝到所述原始数据区,使用所述备份数据区中的数据启动系统。备份数据区与原始数据区互为备份,在写入flash过程中若出现突然掉电等情况,导致备份数据区与原始数据区其中一区数据损坏时仍能正常启动系统。
步骤S208:将保存在flash规划的其他分区中的默认数据拷贝到所述原始数据区和所述备份数据区中,使用所述默认数据启动系统。保存在flash规划的其他分区中的默认数据保证了在原始数据区和备份数据区中的数据均异常时能正常启动系统。
若原始备份数据区已损坏,备份数据区也已损坏,则将保存在flash规划的其他分区中的默认数据拷贝到所述原始数据区和所述备份数据区中,使用所述默认数据启动系统,其中,所述默认数据包括flash的整个或者重要分区的分区规划、和系统启动所需的必要数据。默认数据包括的是启动系统所需要的最基本的数据,默认数据是系统启动的精华部分,占用空间极小,直接保存在flash规划的其他分区中即可起到多重保证系统启动的作用。flash规划的其他分区为除原始数据区和备份数据区的其他分区,默认数据也可单独占用一个分区,但在项目使用中为了节省硬件成本一般flash空间都不宽裕,甚至比较紧张,单独占用一个分区会浪费资源。
本实施例中,所述原始数据区、所述备份数据区、及所述flash规划的其他分区所占用的扇区由使用者预先设计,各个分区可以占用一个扇区,也可以占用多个扇区。原始数据区和备份数据区中的数据都是由使用者按其需要写入,默认数据也是由使用者按其需要写入到flash规划的其他分区中。作为一个优选的实施例,所述判断原始数据区是否损坏之前,还包括:预先设计flash的整个分区规划,以确定所述原始数据区、所述备份数据区、及所述flash规划的其他分区所占用的扇区。对无自备份技术的flash,flash的整个分区规划也可在生产过程中设计好,也可由使用者在后期根据自身需要自行设计。
作为一个优选的实施例,所述其他分区为启动数据区,所述启动数据区还保存有设备正常启动自身所需要的数据,如boot引导数据等。因为启动数据区中的数据在生产或使用过程中不会或极少被改动,可以对默认数据起到保护作用,默认数据也可依附于flash规划的其他在生产或使用过程中不会或极少被改动的分区中。
所述判断原始数据区是否损坏之前,还包括:
将所述flash的整个分区规划、和与系统启动相关的重要数据写入所述原始数据区中;
将所述flash的整个分区规划、和与系统启动相关的重要数据写入备份数据区中;
将所述flash的整个或者重要分区的分区规划、和默认数据写入启动数据区中。
需要说明的是,设计flash的整个分区规划,和原始数据区、备份数据区及启动数据区中数据的写入,在首次使用flash时完成即可;在后期使用flash中,步骤S201~步骤S208为原始数据区、备份数据区及启动数据区三个数据区正常使用的一个流程。
本实施例使用者自行设计分区规划,通过使用原始数据区、备份数据区以及保存在其他分区中的默认数据来保证系统的正常启动,默认数据既不用多占用扇区又能保证在原始数据区和备份数据区中的数据均异常时系统能正常启动,解决了现有技术中因flash的重要数据被损坏而导致系统无法正常启动从而给flash生产和使用带来极大不便的问题。与现有的flash存储器自身采用二级备份设计相比,本实施例可减少flash的使用资源空间和flash读写操作时间,对于flash空间资源紧张或不足时,能保证异常情况系统照样能正常启动的同时尽量减少flash空间资源使用量。与flash使用者采用一级备份机制设计相比,本实施例能确保在原始数据和备份数据均异常损坏的情况下,照样可以靠默认数据启动系统,方便在线升级,减少flash使用者生产或维护成本。
以下是本发明具体实施方式中提供的一种flash数据备份的使用系统的实施例,一种flash数据备份的使用系统的实施例基于上述的一种flash数据备份的使用方法的实施例实现,在一种flash数据备份的使用系统中未尽的描述,请参考前述一种flash数据备份的使用方法的实施例。
请参考图3,其是本发明具体实施方式中提供的一种flash数据备份的使用系统的第一实施例的结构方框图。本实施例是在一种flash数据备份的使用方法的第一实施例的基础上实现的,本实施例中未详尽的内容,请参考前述一种flash数据备份的使用方法的第一实施例。如图所示,该系统,包括:
第一判断模块31,用于判断原始数据区是否损坏。
所述原始数据区中的数据包括flash的整个分区规划、和与系统启动相关的重要数据。
第二判断模块32,用于若所述第一判断模块判断出所述原始数据区已损坏,判断所述备份数据区是否损坏。
所述备份数据区中的数据包括flash的整个分区规划、和与系统启动相关的重要数据。
第一启动模块33,用于若所述第二判断模块判断出所述备份数据区已损坏,将保存在flash规划的其他分区中的默认数据拷贝到所述原始数据区和所述备份数据区中,使用所述默认数据启动系统。
所述系统还包括:
第三判断模块34,用于若所述第一判断模块判断出所述原始数据区没有损坏,判断备份数据区是否损坏。
第二启动模块35,用于若所述第三判断模块判断出所述备份数据区没有损坏,使用所述原始数据区中的数据启动系统;若所述第三判断模块判断出所述备份数据区已损坏,将所述原始数据区中的数据拷贝到所述备份数据区,使用所述原始数据区中的数据启动系统。
所述第一启动模块33,还用于若所述第二判断模块判断出所述备份数据区没有损坏,将所述备份数据区中的数据拷贝到所述原始数据区,使用所述备份数据区中的数据启动系统。
所述默认数据包括flash的整个或者重要分区的分区规划、和系统启动所需的必要数据。所述原始数据区、所述备份数据区、及所述flash规划的其他分区所占用的扇区由使用者预先设计。
综上所述,本实施例使用者自行设计分区规划,通过使用原始数据区、备份数据区以及保存在其他分区中的默认数据来保证系统的正常启动,默认数据既不用多占用扇区又能保证在原始数据区和备份数据区中的数据均异常时系统能正常启动,解决了现有技术中因flash的重要数据被损坏而导致系统无法正常启动从而给flash生产和使用带来极大不便的问题。
请参考图4,其是本发明具体实施方式中提供的一种flash数据备份的使用系统的第二实施例的结构方框图。本实施例是在一种flash数据备份的使用方法的第二实施例的基础上实现的,本实施例中未详尽的内容,请参考前述一种flash数据备份的使用方法的第二实施例。如图所示,该系统,包括:
驱动模块41,用于驱动flash。
第一判断模块42,用于判断原始数据区是否损坏。
所述原始数据区中的数据包括flash的整个分区规划、和与系统启动相关的重要数据。
第二判断模块43,用于若所述第一判断模块判断出所述原始数据区已损坏,判断所述备份数据区是否损坏。
所述备份数据区中的数据包括flash的整个分区规划、和与系统启动相关的重要数据。
第一启动模块44,用于若所述第二判断模块判断出所述备份数据区已损坏,将保存在flash规划的其他分区中的默认数据拷贝到所述原始数据区和所述备份数据区中,使用所述默认数据启动系统。
所述系统还包括:
第三判断模块45,用于若所述第一判断模块判断出所述原始数据区没有损坏,判断备份数据区是否损坏。
第二启动模块46,用于若所述第三判断模块判断出所述备份数据区没有损坏,使用所述原始数据区中的数据启动系统;若所述第三判断模块判断出所述备份数据区已损坏,将所述原始数据区中的数据拷贝到所述备份数据区,使用所述原始数据区中的数据启动系统。
所述第一启动模块44,还用于若所述第二判断模块判断出所述备份数据区没有损坏,将所述备份数据区中的数据拷贝到所述原始数据区,使用所述备份数据区中的数据启动系统。
所述默认数据包括flash的整个或者重要分区的分区规划、和系统启动所需的必要数据。所述原始数据区、所述备份数据区、及所述flash规划的其他分区所占用的扇区由使用者预先设计。
作为一个优选的实施例,所述其他分区为启动数据区,所述启动数据区还保存有设备正常启动自身所需要的数据。所述系统还包括,写入模块;所述写入模块用于:
将所述flash的整个分区规划、和与系统启动相关的重要数据写入所述原始数据区中;
将所述flash的整个分区规划、和与系统启动相关的重要数据写入备份数据区中;
将所述flash的整个或者重要分区的分区规划、和默认数据写入启动数据区中。
作为一个优选的实施例,所述系统还包括:设计模块,用于预先设计flash的整个分区规划,以确定所述原始数据区、所述备份数据区、及所述flash规划的其他分区所占用的扇区。
综上所述,本实施例提供flash数据备份的使用系统,使用者自行设计分区规划,通过使用原始数据区、备份数据区以及保存在其他分区中的默认数据来保证系统的正常启动,默认数据既不用多占用扇区又能保证在原始数据区和备份数据区中的数据均异常时系统能正常启动,解决了现有技术中因flash的重要数据被损坏而导致系统无法正常启动从而给flash生产和使用带来极大不便的问题。与现有的flash存储器自身采用二级备份设计相比,本实施例可减少flash的使用资源空间和flash读写操作时间,对于flash空间资源紧张或不足时,能保证异常情况系统照样能正常启动的同时尽量减少flash空间资源使用量。与flash使用者采用一级备份机制设计相比,本实施例能确保在原始数据和备份数据均异常损坏的情况下,照样可以靠默认数据启动系统,方便在线升级,减少flash使用者生产或维护成本。
以上结合具体实施例描述了本发明的技术原理。这些描述只是为了解释本发明的原理,而不能以任何方式解释为对本发明保护范围的限制。基于此处的解释,本领域的技术人员不需要付出创造性的劳动即可联想到本发明的其它具体实施方式,这些方式都将落入本发明的保护范围之内。
Claims (10)
1.一种flash数据备份的使用方法,其特征在于,包括:
判断原始数据区是否损坏;
若所述原始数据区已损坏,判断备份数据区是否损坏,若所述备份数据区已损坏,将保存在flash规划的其他分区中的默认数据拷贝到所述原始数据区和所述备份数据区中,使用所述默认数据启动系统;
所述默认数据包括flash的整个或者重要分区的分区规划、和系统启动所需的必要数据;
所述原始数据区、所述备份数据区、及所述flash规划的其他分区所占用的扇区由使用者预先设计。
2.根据权利要求1所述的方法,其特征在于:
所述判断原始数据区是否损坏之后,还包括:若所述原始数据区没有损坏,判断所述备份数据区是否损坏,若所述备份数据区没有损坏,使用所述原始数据区中的数据启动系统;若所述备份数据区已损坏,将所述原始数据区中的数据拷贝到所述备份数据区,使用所述原始数据区中的数据启动系统;
所述若所述原始数据区已损坏,判断备份数据区是否损坏之后,还包括:若所述备份数据区没有损坏,将所述备份数据区中的数据拷贝到所述原始数据区,使用所述备份数据区中的数据启动系统。
3.根据权利要求1所述的方法,其特征在于,所述其他分区为启动数据区,所述启动数据区还保存有设备正常启动自身所需要的数据。
4.根据权利要求3所述的方法,其特征在于:
所述原始数据区中的数据包括flash的整个分区规划、和与系统启动相关的重要数据;
所述备份数据区中的数据包括flash的整个分区规划、和与系统启动相关的重要数据。
5.根据权利要求4所述的方法,其特征在于,所述判断原始数据区是否损坏之前,还包括:
将所述flash的整个分区规划、和与系统启动相关的重要数据写入所述原始数据区中;
将所述flash的整个分区规划、和与系统启动相关的重要数据写入备份数据区中;
将所述flash的整个或者重要分区的分区规划、和默认数据写入启动数据区中。
6.根据权利要求1所述的方法,其特征在于,所述判断原始数据区是否损坏之前,还包括:预先设计flash的整个分区规划,以确定所述原始数据区、所述备份数据区、及所述flash规划的其他分区所占用的扇区。
7.根据权利要求1所述的方法,其特征在于,所述判断原始数据区是否损坏之前,还包括:驱动flash。
8.一种flash数据备份的使用系统,其特征在于,包括:
第一判断模块,用于判断原始数据区是否损坏;
第二判断模块,用于若所述第一判断模块判断出所述原始数据区已损坏,判断所述备份数据区是否损坏;
第一启动模块,用于若所述第二判断模块判断出所述备份数据区已损坏,将保存在flash规划的其他分区中的默认数据拷贝到所述原始数据区和所述备份数据区中,使用所述默认数据启动系统;
所述默认数据包括flash的整个或者重要分区的分区规划、和系统启动所需的必要数据;
所述原始数据区、所述备份数据区、及所述flash规划的其他分区所占用的扇区由使用者预先设计。
9.根据权利要求8所述的系统,其特征在于,所述系统还包括:
第三判断模块,用于若所述第一判断模块判断出所述原始数据区没有损坏,判断备份数据区是否损坏;
第二启动模块,用于若所述第三判断模块判断出所述备份数据区没有损坏,使用所述原始数据区中的数据启动系统;若所述第三判断模块判断出所述备份数据区已损坏,将所述原始数据区中的数据拷贝到所述备份数据区,使用所述原始数据区中的数据启动系统;
所述第一启动模块,还用于若所述第二判断模块判断出所述备份数据区没有损坏,将所述备份数据区中的数据拷贝到所述原始数据区,使用所述备份数据区中的数据启动系统。
10.根据权利要求8所述的系统,其特征在于:
所述其他分区为启动数据区,所述启动数据区还保存有设备正常启动自身所需要的数据;
所述原始数据区中的数据包括flash的整个分区规划、和与系统启动相关的重要数据;
所述备份数据区中的数据包括flash的整个分区规划、和与系统启动相关的重要数据;
所述系统还包括,写入模块;所述写入模块用于:
将所述flash的整个分区规划、和与系统启动相关的重要数据写入所述原始数据区中;
将所述flash的整个分区规划、和与系统启动相关的重要数据写入备份数据区中;
将所述flash的整个或者重要分区的分区规划、和默认数据写入启动数据区中;
所述系统还包括:
设计模块,用于预先设计flash的整个分区规划,以确定所述原始数据区、所述备份数据区、及所述flash规划的其他分区所占用的扇区;
驱动模块,用于驱动flash。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610864885.9A CN106484567A (zh) | 2016-09-29 | 2016-09-29 | 一种flash数据备份的使用方法及系统 |
PCT/CN2017/104623 WO2018059565A1 (zh) | 2016-09-29 | 2017-09-29 | 闪存数据的备份方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610864885.9A CN106484567A (zh) | 2016-09-29 | 2016-09-29 | 一种flash数据备份的使用方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106484567A true CN106484567A (zh) | 2017-03-08 |
Family
ID=58268274
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610864885.9A Pending CN106484567A (zh) | 2016-09-29 | 2016-09-29 | 一种flash数据备份的使用方法及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106484567A (zh) |
WO (1) | WO2018059565A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018059565A1 (zh) * | 2016-09-29 | 2018-04-05 | 深圳创维数字技术有限公司 | 闪存数据的备份方法及系统 |
CN113296850A (zh) * | 2021-07-26 | 2021-08-24 | 湖南博匠信息科技有限公司 | 嵌入式板卡操作系统备份启动方法及嵌入式系统 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110287059B (zh) * | 2019-05-21 | 2023-12-15 | 广东九联科技股份有限公司 | 一种spi flash的多备份方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101515259A (zh) * | 2009-03-26 | 2009-08-26 | 浙江大华技术股份有限公司 | 一种嵌入式设备配置数据保护方法 |
CN101546284A (zh) * | 2009-04-28 | 2009-09-30 | 冠捷科技(武汉)有限公司 | 一种液晶显示设备数据资料的恢复方法 |
US20120054540A1 (en) * | 2010-08-25 | 2012-03-01 | Smartsynch, Inc. | System and method for automated unattended recovery for remotely deployed intelligent communication devices |
CN103176859A (zh) * | 2011-12-21 | 2013-06-26 | 北京普源精电科技有限公司 | 一种flash数据备份/恢复方法、设备及信号源 |
CN103530138A (zh) * | 2012-07-02 | 2014-01-22 | 京信通信技术(广州)有限公司 | 基于嵌入式linux的文件系统数据保护方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6459624B1 (en) * | 2000-09-01 | 2002-10-01 | Megawin Technology Co., Ltd. | Memory structure capable of preventing data loss therein and method for protecting the same |
CN103514013A (zh) * | 2013-09-11 | 2014-01-15 | 深圳市共进电子股份有限公司 | 一种网关产品flash配置丢失处理方法 |
CN106484567A (zh) * | 2016-09-29 | 2017-03-08 | 深圳创维数字技术有限公司 | 一种flash数据备份的使用方法及系统 |
-
2016
- 2016-09-29 CN CN201610864885.9A patent/CN106484567A/zh active Pending
-
2017
- 2017-09-29 WO PCT/CN2017/104623 patent/WO2018059565A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101515259A (zh) * | 2009-03-26 | 2009-08-26 | 浙江大华技术股份有限公司 | 一种嵌入式设备配置数据保护方法 |
CN101546284A (zh) * | 2009-04-28 | 2009-09-30 | 冠捷科技(武汉)有限公司 | 一种液晶显示设备数据资料的恢复方法 |
US20120054540A1 (en) * | 2010-08-25 | 2012-03-01 | Smartsynch, Inc. | System and method for automated unattended recovery for remotely deployed intelligent communication devices |
CN103176859A (zh) * | 2011-12-21 | 2013-06-26 | 北京普源精电科技有限公司 | 一种flash数据备份/恢复方法、设备及信号源 |
CN103530138A (zh) * | 2012-07-02 | 2014-01-22 | 京信通信技术(广州)有限公司 | 基于嵌入式linux的文件系统数据保护方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018059565A1 (zh) * | 2016-09-29 | 2018-04-05 | 深圳创维数字技术有限公司 | 闪存数据的备份方法及系统 |
CN113296850A (zh) * | 2021-07-26 | 2021-08-24 | 湖南博匠信息科技有限公司 | 嵌入式板卡操作系统备份启动方法及嵌入式系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2018059565A1 (zh) | 2018-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103207975B (zh) | 保护密码的方法以及计算机 | |
US7146525B2 (en) | Method for backing up and recovering data in the hard disk of a computer | |
US7093089B2 (en) | Systems and methods for storing data on computer systems | |
US7724643B2 (en) | Recovery of duplex data system after power failure | |
CN101593083B (zh) | 对计算机配置信息进行保护和恢复的装置、计算机和方法 | |
CN100375049C (zh) | 一种基本输入输出系统芯片的恢复方法 | |
US20090292887A1 (en) | Method and apparatus for preserving memory contents during a power outage | |
CN102308285B (zh) | 一种应用程序的内存错误修复方法 | |
JP2013520744A (ja) | 最小ブートイメージの生成方法及びその装置 | |
TW201011524A (en) | Method and controller for power management | |
CN102207881A (zh) | 一种基于Android的操作系统快速启动方法 | |
JP2006079468A (ja) | 情報処理装置及び電源制御方法 | |
JP2009134692A (ja) | 単一キー制御を使用するシステム構成の自動修復方法 | |
WO2011063584A1 (zh) | 嵌入式系统的深度休眠方法与装置 | |
JP2004531814A (ja) | ライトバック・キャッシュ情報の信頼性を改善するための方法および装置 | |
CN106356097A (zh) | 一种防止数据丢失的保护方法和装置 | |
CN101634960A (zh) | 一种修改bios参数及重新生成校验和的方法 | |
US20110239019A1 (en) | Method and system for managing power consumption of a computing device | |
CN106484567A (zh) | 一种flash数据备份的使用方法及系统 | |
US8996852B2 (en) | Electronic device and booting method thereof | |
CN102841802A (zh) | 移动终端的软件升级方法 | |
CN105786545A (zh) | 基于异构混合内存的断点恢复方法和系统 | |
KR20080057688A (ko) | 비휘발성 메모리를 이용한 운영체계 부팅 방법 | |
EP1293904A1 (en) | Method of initiating a backup procedure | |
CN103678040A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170308 |