一种设备启动系统及方法

文档序号:6551534阅读:110来源:国知局
一种设备启动系统及方法
【专利摘要】本发明适用于电学领域,提供了一种设备启动系统及方法。所述系统包括:CPU、多个存储设备、启动管理模块和复位模块,每个存储设备均存储了引导软件;其中,在设备上电时,CPU先从预先设定的一个存储设备读取软件并执行,若在设定的时间内启动成功,则CPU指示启动管理模块结束工作,否则启动管理模块重新设置CPU的硬件启动配置并复位CPU以便CPU从下一个存储设备启动,若CPU从所有的存储设备启动都不成功,则启动管理模块控制复位模块复位CPU和启动管理模块,然后返回CPU先从预先设定的一个存储设备读取软件并执行的步骤。本发明使得只要有一个存储设备正常就能启动成功,且能将一次上电启动成功的概率尽可能最大化,极大地提高了设备启动成功的概率和容错能力。
【专利说明】一种设备启动系统及方法
【技术领域】
[0001]本发明属于电学领域,尤其涉及一种设备启动系统及方法。
【背景技术】
[0002]现有技术提供了一种设备启动系统(如图1所示),所述系统包括:CPU、可编程硬件逻辑器件以及一个通过两个地址段分别存储主用引导软件和备用引导软件的存储单元;其中,所述可编程硬件逻辑器件在上电后将引导软件启动标识以及引导软件地址标识设置为初始值,并启动引导软件启动定时器;所述CPU发送引导软件启动地址信息至可编程硬件逻辑器件;所述可编程硬件逻辑器件在确定引导软件启动标识以及引导软件地址标识为初始值时,输出收到的引导软件启动地址信息至存储单元;所述CPU根据所述可编程硬件逻辑器件输出至所述存储单元的引导软件启动地址信息,读取主用引导软件,执行引导软件启动;所述可编程硬件逻辑器件,确定引导软件启动定时器超时且所述引导软件启动标识为初始值,则将所述引导软件地址标识设置为设定值并输出复位信号至CPU;所述CPU,根据收到的所述复位信号执行复位;CPU复位后将尝试从备引导软件的地址启动,若在设定的时间内启动成功则引导软件启动标识会被置位且可编程硬件逻辑器件将定时器关闭,否则只能上报设备故障。
[0003]然而,上述现有技术只尝试一次从主引导软件和备引导软件启动,不能避免启动时因外界干扰而启动失败的问题。CPU在从存储设备读取主引导软件或备引导软件时,如遇到电压不稳定和电磁辐射等一些临时性干扰的情况,则读取到的主引导软件或备引导软件很可能会出错,进而导致系统启动失败。另外,一种存储设备中每个地址的数据出错的概率理论上相同,因此虽然是通过一个存储设备的两个地址段分别存储主用引导软件和备用引导软件,但很有可能整个存储设备对应的数据均损坏,则系统仍然不能正常启动。

【发明内容】

[0004]本发明的目的在于提供一种设备启动系统及方法,旨在解决现有技术只尝试一次从主引导软件和备引导软件启动,不能避免启动时因外界干扰而启动失败的问题以及虽然是通过一个存储设备的两个地址段分别存储主用弓I导软件和备用引导软件,但很有可能整个存储设备对应的数据均损坏,则系统仍然不能正常启动的问题。
[0005]第一方面,本发明提供了一种设备启动系统,所述系统包括:CPU、分别与所述CPU连接的多个存储设备、与所述CPU连接的启动管理模块和分别与所述CPU和所述启动管理模块连接的复位模块,每个存储设备均存储了引导软件;其中,
[0006]在设备上电时,所述CPU先从预先设定的一个存储设备读取软件并执行,若在设定的时间内启动成功,则所述CPU指示所述启动管理模块结束工作,否则所述启动管理模块重新设置所述CPU的硬件启动配置并复位所述CPU以便所述CPU从下一个存储设备启动,若所述CPU从所有的存储设备启动都不成功,则所述启动管理模块控制所述复位模块复位所述CPU和所述启动管理模块,然后返回所述CPU先从预先设定的一个存储设备读取软件并执行的步骤。
[0007]第二方面,本发明提供了一种设备启动方法,所述方法包括:
[0008]在设备上电时,CPU先从预先设定的一个存储设备读取软件并执行;
[0009]若在设定的时间内启动成功,则所述CPU指示启动管理模块结束工作;
[0010]若在设定的时间内启动不成功,则所述启动管理模块重新设置所述CPU的硬件启动配置并复位所述CPU以便所述CPU从下一个存储设备启动;
[0011]若所述CPU从所有的存储设备启动都不成功,则所述启动管理模块控制复位模块复位所述CPU和所述启动管理模块,然后返回所述CPU先从预先设定的一个存储设备读取软件并执行的步骤;其中,所述所有的存储设备均存储了引导软件。
[0012]在本发明中,由于设备启动系统包括多个存储设备,每个存储设备均存储了引导软件,避免了单一存储设备存储软件时只要该存储设备的数据损坏设备就无法启动的风险,使得只要有一个存储设备正常就能启动成功。又由于若CPU从所有的存储设备启动都不成功,则启动管理模块控制复位模块复位所述CPU和启动管理模块,以进行下一轮的多个存储设备的启动操作;因此避免设备启动时遇到电压不稳定和电磁辐射等一些临时性干扰而启动不成功的情况,从而将一次上电启动成功的概率尽可能最大化,极大地提高了设备启动成功的概率和容错能力。且由于采用自动循环从多种存储设备启动,完全不需要人为干预。
【专利附图】

【附图说明】
[0013]图1是现有技术提供的设备启动系统的结构示意图。
[0014]图2是本发明实施例一提供的设备启动系统的结构示意图。
[0015]图3是本发明实施例二提供的设备启动方法的流程图。
【具体实施方式】
[0016]为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0017]为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
[0018]实施例一:
[0019]请参阅图2,本发明实施例一提供的设备启动系统包括:CPU11、分别与所述CPUll连接的多个存储设备12、与所述CPUll连接的启动管理模块13和分别与所述CPUll和所述启动管理模块13连接的复位模块14。其中,
[0020]每个存储设备12均存储了引导软件;在设备上电时,CPUll先从预先设定的一个存储设备12读取软件并执行,若在设定的时间内启动成功,则CPUll指示所述启动管理模块13结束工作,否则所述启动管理模块13重新设置CPUll的硬件启动配置并复位CPUll以便CPUll从下一个存储设备12启动,若CPUll从所有的存储设备12启动都不成功,则启动管理模块13控制复位模块14复位所述CPUll和启动管理模块13,然后返回所述CPUll先从预先设定的一个存储设备12读取软件并执行的步骤。
[0021]在本发明实施例一中,所述若CPUll从所有的存储设备12启动都不成功,则启动管理模块13控制复位模块14复位所述CPUll和启动管理模块13的步骤具体可以为:
[0022]若在设定的时间内从所述下一个存储设备12启动仍不成功,且所述下一个存储设备12是最后一个启动的存储设备,则启动管理模块13控制复位模块14复位所述CPUll和启动管理模块13 ;如果所述下一个存储设备12不是最后一个启动的存储设备,则返回所述启动管理模块13重新设置CPUll的硬件启动配置并复位CPUll以便CPUll从下一个存储设备12启动的步骤。
[0023]在本发明实施例一中,判断启动是否成功具体可以为=CPUll从任一个存储设备12刚开始启动时,启动管理模块13的定时器都开始计时,若计时结束仍未收到CPUll发出的启动成功标志的信号,则启动管理模块13认为启动不成功,若计时结束前收到CPUll发出的启动成功标志的信号,则启动管理模块13认为启动成功。
[0024]由于如果存储设备中的内核软件和文件系统软件对应的数据损坏,则设备也不能正常启动,且由于内核软件和文件系统软件比引导软件大很多(一般为几十倍以上),而一种存储设备中每个地址的数据出错的概率理论上相同,则内核软件和文件系统软件出错的概率比引导软件大很多。因此不备份内核软件和文件系统软件时设备启动不成功的风险依然很大。因此,在本发明实施例一中,每个存储设备12均还可以存储了内核软件和文件系统软件。从而进一步降低设备启动不成功的风险。
[0025]在本发明实施例一中,多个存储设备12可以是相同或不同类型的存储设备,CPUll有多少种类型的存储设备接口就可以有多少种存储设备。如果多个存储设备是相同类型的,则多个相同类型的存储设备通过总线挂载在CPUll对应类型的存储设备接口。此时启动管理模块13除了要复位CPUll和设置CPUll的硬件启动配置外,还需要输出片选信号到同类型的多个存储设备以便决定CPUll具体是从哪个存储设备12启动。
[0026]在本发明实施例一中,启动管理模块13可以是复杂可编程逻辑器件(ComplexProgrammable Logic Device,CPLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或单片机等可实现启动管理逻辑且具有一定数量的可编程控制输入输出管脚的器件。启动管理模块13的输入管脚用于接收CPUll发出的启动成功标志的信号,用来判断设备是否启动成功。启动管理模块13的输出管脚用于控制复位模块14以便复位所述CPUll和启动管理模块13,还用于设置CPUll的硬件启动配置以便选择从哪个存储设备12启动,并复位CPUlI。
[0027]在本发明实施例一中,复位模块14复位所述CPUll和启动管理模块13时,复位模块14使所述CPUll和启动管理模块13持续复位一段时间,当启动管理模块13复位后,启动管理模块13将CPUll的硬件启动配置设置为从预先设定的一个存储设备12启动,CPUll复位后,CPUll根据硬件启动配置决定从哪个存储设备12启动。
[0028]在本发明实施例一中,所述CPUll指示所述启动管理模块13结束工作具体为:当(PU启动成功后,CPUlI输出启动成功标志到启动管理模块13,启动管理模块13收到CPUll发出的启动成功标志,贝1J退出启动管理程序以结束工作。
[0029]在本发明实施例一中,由于设备启动系统包括多个存储设备,每个存储设备均存储了引导软件,避免了单一存储设备存储软件时只要该存储设备的数据损坏设备就无法启动的风险,使得只要有一个存储设备正常就能启动成功。又由于若CPU从所有的存储设备启动都不成功,则启动管理模块控制复位模块复位所述CPU和启动管理模块,以进行下一轮的多个存储设备的启动操作;因此避免设备启动时遇到电压不稳定和电磁辐射等一些临时性干扰而启动不成功的情况,从而将一次上电启动成功的概率尽可能最大化,极大地提高了设备启动成功的概率和容错能力。另外,由于每个存储设备均存储了引导软件、内核软件和文件系统软件,因此避免了因为某部分软件未备份且损坏时设备无法启动的风险,进一步降低设备启动不成功的风险。且由于采用自动循环从多种存储设备启动,完全不需要人为干预。
[0030]实施例二:
[0031]请参阅图3,本发明实施例二提供的设备启动方法包括以下步骤:
[0032]SlOl、在设备上电时,CPU先从预先设定的一个存储设备读取软件并执行;
[0033]S102、若在设定的时间内启动成功,则所述CPU指示启动管理模块结束工作;若在设定的时间内启动不成功,则所述启动管理模块重新设置所述CPU的硬件启动配置并复位所述CPU以便所述CPU从下一个存储设备启动;
[0034]S103、若所述CPU从所有的存储设备启动都不成功,则所述启动管理模块控制复位模块复位所述CPU和所述启动管理模块,然后返回所述CPU先从预先设定的一个存储设备读取软件并执行的步骤;其中,所述所有的存储设备均存储了引导软件。
[0035]在本发明实施例二中,所述若所述CPU从所有的存储设备启动都不成功,则所述启动管理模块控制所述复位模块复位所述CPU和所述启动管理模块具体可以为:
[0036]若在设定的时间内从所述下一个存储设备启动仍不成功,且所述下一个存储设备是最后一个启动的存储设备,则所述启动管理模块控制复位模块复位所述CPU和所述启动管理模块;如果所述下一个存储设备不是最后一个启动的存储设备,则返回所述启动管理模块重新设置所述CPU的硬件启动配置并复位所述CPU以便所述CPU从下一个存储设备启动的步骤。
[0037]在本发明实施例二中,判断启动是否成功具体可以为:
[0038]所述CPU从任一个存储设备刚开始启动时,所述启动管理模块的定时器都开始计时,若计时结束仍未收到所述CPU发出的启动成功标志的信号,则所述启动管理模块认为启动不成功,若计时结束前收到所述CPU发出的启动成功标志的信号,则所述启动管理模块认为启动成功。
[0039]在本发明实施例二中,所述CPU指示所述启动管理模块结束工作具体为:当CPU启动成功后,CPU输出启动成功标志到启动管理模块,启动管理模块收到CPU发出的启动成功标志,则退出启动管理程序以结束工作。
[0040]在本发明实施例二中,所述所有的存储设备均还可以存储了内核软件和文件系统软件。
[0041]在本发明实施例二中,由于CPU从多个存储设备启动,每个存储设备均存储了引导软件,避免了单一存储设备存储软件时只要该存储设备的数据损坏设备就无法启动的风险,使得只要有一个存储设备正常就能启动成功。又由于若CPU从所有的存储设备启动都不成功,则启动管理模块控制复位模块复位所述CPU和启动管理模块,以进行下一轮的多个存储设备的启动操作;因此避免设备启动时遇到电压不稳定和电磁辐射等一些临时性干扰而启动不成功的情况,从而将一次上电启动成功的概率尽可能最大化,极大地提高了设备启动成功的概率和容错能力。另外,由于每个存储设备均存储了引导软件、内核软件和文件系统软件,因此避免了因为某部分软件未备份且损坏时设备无法启动的风险,进一步降低设备启动不成功的风险。且由于采用自动循环从多种存储设备启动,完全不需要人为干预。
[0042]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如R0M/RAM、磁盘、光盘等。
[0043]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种设备启动系统,其特征在于,所述系统包括:CPU、分别与所述CPU连接的多个存储设备、与所述CPU连接的启动管理模块和分别与所述CPU和所述启动管理模块连接的复位模块,每个存储设备均存储了引导软件;其中, 在设备上电时,所述CPU先从预先设定的一个存储设备读取软件并执行,若在设定的时间内启动成功,则所述CPU指示所述启动管理模块结束工作,否则所述启动管理模块重新设置所述CPU的硬件启动配置并复位所述CPU以便所述CPU从下一个存储设备启动,若所述CPU从所有的存储设备启动都不成功,则所述启动管理模块控制所述复位模块复位所述CPU和所述启动管理模块,然后返回所述CPU先从预先设定的一个存储设备读取软件并执行的步骤。
2.如权利要求1所述的系统,其特征在于,所述若所述CPU从所有的存储设备启动都不成功,则所述启动管理模块控制所述复位模块复位所述CPU和所述启动管理模块具体为: 若在设定的时间内从所述下一个存储设备启动仍不成功,且所述下一个存储设备是最后一个启动的存储设备,则所述启动管理模块控制复位模块复位所述CPU和所述启动管理模块;如果所述下一个存储设备不是最后一个启动的存储设备,则返回所述启动管理模块重新设置所述CPU的硬件启动配置并复位所述CPU以便所述CPU从下一个存储设备启动的步骤。
3.如权利要求1或2所述的系统,其特征在于,判断启动是否成功具体为: 所述CPU从任一个存储设备刚开始启动时,所述启动管理模块的定时器都开始计时,若计时结束仍未收到所述CP U发出的启动成功标志的信号,则所述启动管理模块认为启动不成功,若计时结束前收到所述CPU发出的启动成功标志的信号,则所述启动管理模块认为启动成功。
4.如权利要求1所述的系统,其特征在于,每个存储设备均还存储了内核软件和文件系统软件,所述多个存储设备是相同或不同类型的存储设备。
5.如权利要求1所述的系统,其特征在于,所述启动管理模块是可实现启动管理逻辑且具有一定数量的可编程控制输入输出管脚的器件;所述启动管理模块的输入管脚用于接收所述CPU发出的启动成功标志的信号,用来判断设备是否启动成功;所述启动管理模块的输出管脚用于控制所述复位模块以便复位所述CPU和所述启动管理模块,还用于设置所述CPU的硬件启动配置以便选择从哪个存储设备启动,并复位所述CPU。
6.—种设备启动方法,其特征在于,所述方法包括: 在设备上电时,CPU先从预先设定的一个存储设备读取软件并执行; 若在设定的时间内启动成功,则所述CPU指示启动管理模块结束工作; 若在设定的时间内启动不成功,则所述启动管理模块重新设置所述CPU的硬件启动配置并复位所述CPU以便所述CPU从下一个存储设备启动; 若所述CPU从所有的存储设备启动都不成功,则所述启动管理模块控制复位模块复位所述CPU和所述启动管理模块,然后返回所述CPU先从预先设定的一个存储设备读取软件并执行的步骤;其中,所述所有的存储设备均存储了引导软件。
7.如权利要求6所述的方法,其特征在于,所述若所述CPU从所有的存储设备启动都不成功,则所述启动管理模块控制所述复位模块复位所述CPU和所述启动管理模块具体为: 若在设定的时间内从所述下一个存储设备启动仍不成功,且所述下一个存储设备是最后一个启动的存储设备,则所述启动管理模块控制复位模块复位所述CPU和所述启动管理模块;如果所述下一个存储设备不是最后一个启动的存储设备,则返回所述启动管理模块重新设置所述CPU的硬件启动配置并复位所述CPU以便所述CPU从下一个存储设备启动的步骤。
8.如权利要求6或7所述的方法,其特征在于,判断启动是否成功具体为: 所述CPU从任一个存储设备刚开始启动时,所 述启动管理模块的定时器都开始计时,若计时结束仍未收到所述CPU发出的启动成功标志的信号,则所述启动管理模块认为启动不成功,若计时结束前收到所述CPU发出的启动成功标志的信号,则所述启动管理模块认为启动成功。
9.如权利要求6或7所述的方法,其特征在于,所述CPU指示所述启动管理模块结束工作具体为:当CPU启动成功后,CPU输出启动成功标志到启动管理模块,启动管理模块收到CPU发出的启动成功标志,则退出启动管理程序以结束工作。
10.如权利要求6所述的方法,其特征在于,所述所有的存储设备均还存储了内核软件和文件系统软件。
【文档编号】G06F9/44GK104035784SQ201410305524
【公开日】2014年9月10日 申请日期:2014年6月30日 优先权日:2014年6月30日
【发明者】陈保林, 谭飞鹏 申请人:普联技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1