本发明涉及存储器中固件修复领域。
背景技术:
固件为一个软件,目的是操控智能型存储器装置(主要为闪存)主控芯片中的各式各样功能。当电源起动后第一个加载的固件,会影响到整个装置是否能正常运作。由于闪存芯片内都是只能读取存储器装置,所以正式的固件会放在闪存内,因此闪存保存数据的可靠性非常重要。但是随者制造工艺提升,越先进的工艺,闪存运作时会产生错误的比特,导致数据错误。如图1所示闪存由多个块组成,每个块由多个页组合而成,每个页由多个扇形组合而成。当固件被写入闪存页后,频繁的被读取,导致闪存内的数据损坏。
以往为了保护固件,会在闪存内写入多个固件,以防止固件数据损坏。当写入过多的固件备份时,会影响到闪存使用量,而且这些固件都损坏时,整个装置会无法启动。
技术实现要素:
本发明的目的在于提供一种智能型存储器装置中固件自我修复方法,可以修正错误的固件,使其恢复正常的数据。
实现上述目的的技术方案是:
一种智能型存储器装置中固件自我修复方法,将固件写入智能型存储器装置中两个不同的块内,互相记住对方的位置信息,当其中一方数据损坏,利用数据正确的固件修复数据错误的固件。
优选的,包括:
步骤s1,搜寻并检查第一份固件,数据错误或未搜寻到时进入步骤s2,数据正确时进入步骤s3;
步骤s2,搜寻并检查第二份固件,数据错误或未搜寻到时启动失败,数据正确时进入步骤s4;
步骤s3,检查第二份固件,数据错误时进入步骤s4,数据正确时正常运营;
步骤s4,当第一份固件的数据错误或未搜寻到时,通过第二份固件中第一份固件的位置信息,抹除存放第一份固件的存储块,将第二份固件的数据信息存入第一份固件的存储块中,然后正常运行;
当第二份固件的数据错误时,通过第一份固件中第二份固件的位置信息,抹除存放第二份固件的存储块,将第一份固件的数据信息存入第二份固件的存储块中,然后正常运行。
优选的,智能型存储器装置为闪存。
本发明的有益效果是:本发明通过将固件写入两个不同的块内,当其中一方数据损坏,利用数据正确的固件修复数据错误的固件,藉此增加产品的寿命。和传统方式相比,只需要备份少量的固件数据即可达成固件的保护和强韧性。
附图说明
图1是闪存的结构图;
图2是本发明的固件自我修复方法的流程图。
具体实施方式
下面将结合附图对本发明作进一步说明。
本发明的智能型存储器装置中固件自我修复方法,将固件写入智能型存储器装置中两个不同的块内,互相记住对方的位置信息,当其中一方数据损坏,利用数据正确的固件修复数据错误的固件。智能型存储器装置优选为闪存。
具体地,请参阅图2,固件自我修复方法包括下列步骤:
步骤s1,搜寻并检查第一份固件,数据错误或未搜寻到时进入步骤s2,数据正确时进入步骤s3。
步骤s2,搜寻并检查第二份固件,数据错误或未搜寻到时启动失败,数据正确时进入步骤s4。
步骤s3,检查第二份固件,数据错误时进入步骤s4,数据正确时正常运营。
步骤s4,当第一份固件的数据错误或未搜寻到时,通过第二份固件中第一份固件的位置信息,抹除存放第一份固件的存储块,将第二份固件的数据信息存入第一份固件的存储块中,然后正常运行。
当第二份固件的数据错误时,通过第一份固件中第二份固件的位置信息,抹除存放第二份固件的存储块,将第一份固件的数据信息存入第二份固件的存储块中,然后正常运行。
经过修复后,下一次电源开启时,就可以找到第一份的固件数据。利用此方法两个固件数据自我修复,藉此增加产品的寿命。
以上实施例仅供说明本发明之用,而非对本发明的限制,有关技术领域的技术人员,在不脱离本发明的精神和范围的情况下,还可以作出各种变换或变型,因此所有等同的技术方案也应该属于本发明的范畴,应由各权利要求所限定。