System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种服务器CPLD固件的备份方法及系统技术方案_技高网

一种服务器CPLD固件的备份方法及系统技术方案

技术编号:43183200 阅读:17 留言:0更新日期:2024-11-01 20:08
本发明专利技术提出一种服务器CPLD固件的备份方法及系统,方法包括:在服务器中的flash存储器内划分主要固件存储区和备份固件存储区,其中,所述主要固件存储区和所述备份固件存储区均存储有CPLD固件;上电后,CPLD从所述主要固件存储区加载CPLD固件;若所述主要固件存储区的CPLD固件加载失败,则自动从所述备份固件存储区加载备份的CPLD固件。本发明专利技术通过将CPLD固件在flash中分区备份,维持原有硬件设计方式,并在不增加额外成本的基础上增强了系统运行稳定性和可靠性,通过备份固件,可以在固件出现问题时及时恢复,保证设备的正常运行,且在升级过程中,如果出现任何问题,备份固件可以作为回滚的依据,避免设备出现无法挽回的问题。

【技术实现步骤摘要】

本专利技术涉及服务器,特别涉及一种服务器cpld固件的备份方法及系统。


技术介绍

1、随着服务器技术的快速发展和各类应用的推陈出新,cpld(复杂可编程逻辑器件)在服务器主板的时序控制、管理及定制化功能实现中扮演着越来越重要的角色。为了适应不断新增的功能需求,cpld固件的版本更新也变得日益频繁。因此,cpld固件的可靠性与稳定性对于保障服务器整体性能的稳定性至关重要。

2、然而,在现有技术中,cpld固件的存储和处理方式存在明显的不足。一方面,有些服务器直接将cpld固件烧录到flash存储器中,而不进行任何备份,这种做法在固件损坏时极易导致cpld故障,进而影响服务器的正常运行。另一方面,虽然有些方案在固件刷新时通过第三方如bmc进行校验,以确保刷新固件的正确性,并在异常时回滚到上一个版本,但这种方法强烈依赖于第三方,并且无法应对cpld运行时非刷新情况下固件损坏的问题。此外,采用主备cpld交替运行的方式虽然可以提供一定的冗余性,但却显著增加了设计成本和复杂性。


技术实现思路

1、基于此,本专利技术的目的是提出一种服务器cpld固件的备份方法及系统,以解决上述提到的问题。

2、根据本专利技术提出的服务器cpld固件的备份方法,应用于cpld,所述方法包括:

3、在服务器中的flash存储器内划分主要固件存储区和备份固件存储区,其中,所述主要固件存储区和所述备份固件存储区均存储有cpld固件;

4、上电后,从所述主要固件存储区加载cpld固件;

5、若所述主要固件存储区的cpld固件加载失败,则自动从所述备份固件存储区加载备份的cpld固件。

6、更进一步的,所述方法中:

7、所述备份固件存储区中存储的cpld固件与所述主要固件存储区中的cpld固件内容相同,或者所述备份固件存储区中存储出厂预设固件。

8、更进一步的,所述从所述主要固件存储区加载cpld固件的步骤包括:

9、将所述flash存储器中主要固件存储区的内容搬移到ram中;

10、判断所述ram中的cpld固件是否完好;

11、若所述ram中的cpld固件完好,则从所述主要固件存储区加载cpld固件并启动服务器。

12、更进一步的,所述若所述主要固件存储区的cpld固件加载失败,则自动从所述备份固件存储区加载备份的cpld固件的步骤包括:

13、若所述ram中的cpld固件不完好,则从所述备份固件存储区加载备份的cpld固件并启动服务器。

14、更进一步的,所述上电后,从所述主要固件存储区加载cpld固件的步骤后还包括:

15、若所述主要固件存储区的cpld固件加载失败,则检测所述主要固件存储区的cpld固件是否存在损坏;

16、若所述主要固件存储区的cpld固件存在损坏,则对损坏的固件进行动态修复。

17、更进一步的,所述对损坏的固件进行动态修复的步骤包括:

18、比对所述主要固件存储区和所述备份固件存储区的固件差异,并根据固件差异智能地修补或重建损坏部分,以减少对备份固件的依赖。

19、更进一步的,所述检测所述主要固件存储区的cpld固件是否发生损坏的步骤包括:

20、验证所述主要固件存储区的cpld固件的完整性;

21、若所述主要固件存储区的cpld固件的完整性验证失败,则表明所述主要固件存储区的cpld固件存在损坏。

22、更进一步的,所述比对所述主要固件存储区和所述备份固件存储区的固件差异,并根据固件差异智能地修补或重建损坏部分的步骤包括:

23、将所述主要固件存储区的cpld固件和所述备份固件存储区的cpld固件分割成相同大小的块,并逐块比较;

24、将不匹配的块标记为损坏块;

25、对于所述损坏块,从所述备份固件存储区获取对应的完好块进行替换;

26、修复完成后,再次验证所述主要固件存储区的cpld固件的完整性,以确保所有损坏部分均已被成功修复。

27、本专利技术还提供一种服务器cpld固件的备份系统,应用于cpld,包括:

28、备份分区模块:用于在服务器中的flash存储器内划分主要固件存储区和备份固件存储区,其中,所述主要固件存储区和所述备份固件存储区均存储有cpld固件;

29、第一加载模块:用于上电后,从所述主要固件存储区加载cpld固件;

30、第二加载模块:用于当所述主要固件存储区的cpld固件加载失败时,则自动从所述备份固件存储区加载备份的cpld固件。

31、综上,本专利技术提出的一种服务器cpld固件的备份方法,通过在flash存储器内明确划分主要固件存储区和备份固件存储区,并在这两个区域都存储cpld固件,显著提升了系统的可靠性和稳定性。在服务器上电后,cpld首先尝试从主要固件存储区加载cpld固件,若此过程失败,则cpld会跳转地址自动转向备份固件存储区加载备份的cpld固件。这种双重保障机制确保了即使主要固件存储区的固件受损,系统也能迅速从备份区域恢复,从而大大降低了因固件问题导致的系统启动失败或运行中断的风险,有效提高了服务器的容错能力和持续运行的稳定性。

32、本专利技术的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实施例了解到。

本文档来自技高网...

【技术保护点】

1.一种服务器CPLD固件的备份方法,应用于CPLD,其特征在于,所述方法包括:

2.根据权利要求1所述的服务器CPLD固件的备份方法,其特征在于,所述方法中:

3.根据权利要求1所述的服务器CPLD固件的备份方法,其特征在于,所述从所述主要固件存储区加载CPLD固件的步骤包括:

4.根据权利要求3所述的服务器CPLD固件的备份方法,其特征在于,所述若所述主要固件存储区的CPLD固件加载失败,则自动从所述备份固件存储区加载备份的CPLD固件的步骤包括:

5.根据权利要求1所述的服务器CPLD固件的备份方法,其特征在于,所述上电后,从所述主要固件存储区加载CPLD固件的步骤后还包括:

6.根据权利要求5所述的服务器CPLD固件的备份方法,其特征在于,所述对损坏的固件进行动态修复的步骤包括:

7.根据权利要求5所述的服务器CPLD固件的备份方法,其特征在于,所述检测所述主要固件存储区的CPLD固件是否发生损坏的步骤包括:

8.根据权利要求6或7所述的服务器CPLD固件的备份方法,其特征在于,所述比对所述主要固件存储区和所述备份固件存储区的固件差异,并根据固件差异智能地修补或重建损坏部分的步骤包括:

9.一种服务器CPLD固件的备份系统,应用于CPLD,其特征在于,包括:

...

【技术特征摘要】

1.一种服务器cpld固件的备份方法,应用于cpld,其特征在于,所述方法包括:

2.根据权利要求1所述的服务器cpld固件的备份方法,其特征在于,所述方法中:

3.根据权利要求1所述的服务器cpld固件的备份方法,其特征在于,所述从所述主要固件存储区加载cpld固件的步骤包括:

4.根据权利要求3所述的服务器cpld固件的备份方法,其特征在于,所述若所述主要固件存储区的cpld固件加载失败,则自动从所述备份固件存储区加载备份的cpld固件的步骤包括:

5.根据权利要求1所述的服务器cpld固件的备份方法,其特征在于,所述上电后,从所述...

【专利技术属性】
技术研发人员:陈海燕唐斌
申请(专利权)人:深圳市同泰怡信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1