闪存程序自动纠错修复方法及装置的制作方法

文档序号:6442020阅读:156来源:国知局
专利名称:闪存程序自动纠错修复方法及装置的制作方法
技术领域
本发明涉及数据存储技术领域,尤其涉及一种闪存程序自动纠错修复方法及装置。
背景技术
目前,很多嵌入式设备采用闪存芯片来存储程序与数据,虽然闪存是一种掉电后数据不会丢失的器件,但依然会有一些异常情况的发生导致存储于闪存器件的数据损坏, 如果发生这种情况,就会使设备工作异常,如果这种损坏发生在程序中,极可能使系统无法启动,导致嵌入式设备的程序系统可靠性较低。

发明内容
本发明提供一种闪存程序自动纠错修复方法及装置,用以解决现有技术中嵌入式设备的程序系统可靠性较低的缺陷,实现提高嵌入式设备的程序系统可靠性。本发明提供一种闪存程序自动纠错修复方法,包括 在闪存中存储的原程序运行前,对原程序进行完整性校验;
若原程序不完整,则将事先存储的备份程序覆盖闪存中存储的原程序。本发明提供的闪存程序自动纠错修复方法,通过在原程序运行前先对原程序进行完整性校验,并在确认原程序不完整时,将备份程序覆盖原程序,可以确保嵌入式设备能够正常启动运行,避免出现因原程序损坏而导致嵌入式设备无法正常运行,实现提高了嵌入式设备的程序系统可靠性。如上所述的闪存程序自动纠错修复方法,对原程序进行完整性校验,具体为采用消息摘要算法或哈希算法对原程序进行完整性校验以获得校验值,并判断校验值与事先存储的原校验值是否相同;若相同,在确认原程序完整;若不相同,则确认原程序不完整。如上所述的闪存程序自动纠错修复方法,还包括若原程序完整,则判断原程序的校验值与备份程序对应存储的备份校验值是否相同;若不同,则将原程序覆盖备份程序,并将备份校验值更改为校验值。如上所述的闪存程序自动纠错修复方法,若原程序不完整,则将事先存储的备份程序覆盖闪存中存储的原程序,具体为若原程序不完整,则先对原程序进行备份,然后再将事先存储的备份程序覆盖闪存中存储的原程序。如上所述的闪存程序自动纠错修复方法,备份程序存储在闪存中或者存储在与闪存连接的外部存储设备上。本发明提供一种闪存程序自动纠错修复装置,包括
校验模块,用于在闪存中存储的原程序运行前,对原程序进行完整性校验; 处理模块,用于若原程序不完整,则将事先存储的备份程序覆盖闪存中存储的原程序。本发明提供的闪存程序自动纠错修复装置,通过在原程序运行前先对原程序进行完整性校验,并在确认原程序不完整时,将备份程序覆盖原程序,可以确保嵌入式设备能够CN 102402470 A
说明书
2/4页
正常启动运行,避免出现因原程序损坏而导致嵌入式设备无法正常运行,实现提高了嵌入式设备的程序系统可靠性。如上所述的闪存程序自动纠错修复装置,校验模块还用于采用消息摘要算法或哈希算法对原程序进行完整性校验以获得校验值,并判断校验值与事先存储的原校验值是否相同;若相同,在确认原程序完整;若不相同,则确认原程序不完整。如上所述的闪存程序自动纠错修复装置,还包括判断模块,用于若原程序完整, 则判断原程序的校验值与备份程序对应存储的备份校验值是否相同;更新模块,用于若不同,则将原程序覆盖备份程序,并将备份校验值更改为校验值。如上所述的闪存程序自动纠错修复装置,处理模块还用于若原程序不完整,则先对原程序进行备份,然后再将事先存储的备份程序覆盖闪存中存储的原程序。如上所述的闪存程序自动纠错修复装置,备份程序存储在闪存中或者存储在与闪存连接的外部存储设备上。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本发明闪存程序自动纠错修复方法实施例的流程图; 图2为本发明闪存程序自动纠错修复装置实施例的结构示意图。
具体实施例方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。图1为本发明闪存程序自动纠错修复方法实施例的流程图。如图1所示,本实施例闪存程序自动纠错修复方法,包括
步骤1、在闪存中存储的原程序运行前,对原程序进行完整性校验。具体的,步骤1将在嵌入式设备运行其闪存中的原程序前事先对原程序进行完整性校验,从而判定原程序是否损坏。步骤2、若原程序不完整,则将事先存储的备份程序覆盖闪存中存储的原程序。具体的,如果步骤1校验得知闪存中的原程序不完整,则通过步骤2可以将事先存储的备份程序覆盖原程序,从而确保嵌入式设备能够正常启动,提高了嵌入式设备的程序系统可靠性。优选的,步骤1可以为若原程序不完整,则先对原程序进行备份,然后再将事先存储的备份程序覆盖闪存中存储的原程序,从而方便操作人员分析原程序的错误原因。其中,本实施例闪存程序自动纠错修复方法中的备份程序存储在闪存中或者存储在与闪存连接的外部存储设备上。本实施例闪存程序自动纠错修复方法可以采用多种方式对闪存中的原程序进行校验,优选的,本实施例中的步骤1具体为采用消息摘要算法或哈希算法对原程序进行完整性校验以获得校验值,并判断校验值与事先存储的原校验值是否相同;若相同,在确认原程序完整;若不相同,则确认原程序不完整。具体的,消息摘要算法的主要特征是加密过程不需要密钥,并且经过加密的数据无法被解密,只有输入相同的明文数据经过相同的消息摘要算法才能得到相同的密文。消息摘要算法不存在密钥的管理与分发问题,适合于分布式网络相同上使用。由于其加密计算的工作量相当可观,所以以前的这种算法通常只用于数据量有限的情况下的加密,例如计算机的口令就是用不可逆加密算法加密的。近年来,随着计算机相同性能的飞速改善,加密速度不再成为限制这种加密技术发展的桎梏,因而消息摘要算法应用的领域不断增加。而哈希算法哈希算法将任意长度的二进制值映射为固定长度的较小二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值。要找到散列为同一个值的两个不同的输入,在计算上是不可能的,所以数据的哈希值可以检验数据的完整性。步骤1通过校验闪存中原程序的校验值是否与事先存储的原校验值相同,便可以方便准确的判断原程序是否完整。其中,原校验值是用户向闪存中拷贝原程序的同时存储的与原程序对应的值。本实施例闪存程序自动纠错修复方法,通过在原程序运行前先对原程序进行完整性校验,并在确认原程序不完整时,将备份程序覆盖原程序,可以确保嵌入式设备能够正常启动运行,避免出现因原程序损坏而导致嵌入式设备无法正常运行。基于上述技术方案,可选的,本实施例闪存程序自动纠错修复方法,还包括 步骤3、若原程序完整,则判断原程序的校验值与备份程序对应存储的备份校验值是否相同。具体的,在步骤1校验确认原程序完整后,通过步骤3判断步骤1获得的原程序的校验值与备份程序对应存储的备份校验值是否相同。步骤4、若不同,则将原程序覆盖备份程序,并将备份校验值更改为校验值。具体的,若通过步骤3判断得知校验值与备份校验值不同,则说明原程序已经升级了,则通过步骤4将原程序覆盖备份程序,同时,将备份校验值更改为校验值,从而获得更新后的备份程序。本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。图2为本发明闪存程序自动纠错修复装置实施例的结构示意图。如图2所示,本实施例闪存程序自动纠错修复装置,包括校验模块1和处理模块2。校验模块1用于在闪存中存储的原程序运行前,对原程序进行完整性校验。具体的,本实施例中的校验模块1可以还用于采用消息摘要算法或哈希算法对原程序进行完整性校验以获得校验值,并判断校验值与事先存储的原校验值是否相同;若相同,在确认原程序完整;若不相同,则确认原程序不完整。处理模块2用于若原程序不完整,则将事先存储的备份程序覆盖闪存中存储的原程序。具体的,处理模块2可以还用于若原程序不完整,则先对原程序进行备份,然后再将事先存储的备份程序覆盖闪存中存储的原程序。进一步的,本实施例闪存程序自动纠错修复装置可以还包括判断模块3用于若
5原程序完整,则判断原程序的校验值与备份程序对应存储的备份校验值是否相同;更新模块4用于若不同,则将原程序覆盖备份程序,并将备份校验值更改为校验值。其中,本实施例中的备份程序存储在闪存中或者存储在与闪存连接的外部存储设备上。本实施例闪存程序自动纠错修复装置,通过在原程序运行前先对原程序进行完整性校验,并在确认原程序不完整时,将备份程序覆盖原程序,可以确保嵌入式设备能够正常启动运行,避免出现因原程序损坏而导致嵌入式设备无法正常运行。最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
权利要求
1.一种闪存程序自动纠错修复方法,其特征在于,包括在闪存中存储的原程序运行前,对原程序进行完整性校验;若原程序不完整,则将事先存储的备份程序覆盖闪存中存储的原程序。
2.根据权利要求2所述的闪存程序自动纠错修复方法,其特征在于,对原程序进行完整性校验,具体为采用消息摘要算法或哈希算法对原程序进行完整性校验以获得校验值,并判断校验值与事先存储的原校验值是否相同;若相同,在确认原程序完整;若不相同,则确认原程序不完整。
3.根据权利要求2所述的闪存程序自动纠错修复方法,其特征在于,还包括若原程序完整,则判断原程序的校验值与备份程序对应存储的备份校验值是否相同;若不同,则将原程序覆盖备份程序,并将备份校验值更改为校验值。
4.根据权利要求1所述的闪存程序自动纠错修复方法,其特征在于,若原程序不完整, 则将事先存储的备份程序覆盖闪存中存储的原程序,具体为若原程序不完整,则先对原程序进行备份,然后再将事先存储的备份程序覆盖闪存中存储的原程序。
5.根据权利要求1所述的闪存程序自动纠错修复方法,其特征在于,备份程序存储在闪存中或者存储在与闪存连接的外部存储设备上。
6.一种闪存程序自动纠错修复装置,其特征在于,包括校验模块,用于在闪存中存储的原程序运行前,对原程序进行完整性校验;处理模块,用于若原程序不完整,则将事先存储的备份程序覆盖闪存中存储的原程序。
7.根据权利要求1所述的闪存程序自动纠错修复装置,其特征在于,校验模块还用于采用消息摘要算法或哈希算法对原程序进行完整性校验以获得校验值,并判断校验值与事先存储的原校验值是否相同;若相同,在确认原程序完整;若不相同,则确认原程序不完離iF. ο
8.根据权利要求7所述的闪存程序自动纠错修复装置,其特征在于,还包括判断模块,用于若原程序完整,则判断原程序的校验值与备份程序对应存储的备份校验值是否相同;更新模块,用于若不同,则将原程序覆盖备份程序,并将备份校验值更改为校验值。
9.根据权利要求6所述的闪存程序自动纠错修复装置,其特征在于,处理模块还用于若原程序不完整,则先对原程序进行备份,然后再将事先存储的备份程序覆盖闪存中存储的原程序。
10.根据权利要求6所述的闪存程序自动纠错修复装置,其特征在于,备份程序存储在闪存中或者存储在与闪存连接的外部存储设备上。
全文摘要
本发明提供一种闪存程序自动纠错修复方法及装置。闪存程序自动纠错修复方法,包括在闪存中存储的原程序运行前,对原程序进行完整性校验;若原程序不完整,则将事先存储的备份程序覆盖闪存中存储的原程序。通过在原程序运行前先对原程序进行完整性校验,并在确认原程序不完整时,将备份程序覆盖原程序,可以确保嵌入式设备能够正常启动运行,避免出现因原程序损坏而导致嵌入式设备无法正常运行,实现提高了嵌入式设备的程序系统可靠性。
文档编号G06F11/14GK102402470SQ20111042588
公开日2012年4月4日 申请日期2011年12月19日 优先权日2011年12月19日
发明者刘新, 刘方栋, 吴风炎, 周东民, 张希, 曲圣, 李海波, 杨涛, 牛继云 申请人:青岛海信网络科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1