CN114510374A - 一种外设挂载失败自动恢复***及方法 - Google Patents
一种外设挂载失败自动恢复***及方法 Download PDFInfo
- Publication number
- CN114510374A CN114510374A CN202111664656.XA CN202111664656A CN114510374A CN 114510374 A CN114510374 A CN 114510374A CN 202111664656 A CN202111664656 A CN 202111664656A CN 114510374 A CN114510374 A CN 114510374A
- Authority
- CN
- China
- Prior art keywords
- peripheral
- equipment
- self
- bios
- checking
- 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
Images
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/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1441—Resetting or repowering
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种外设挂载失败自动恢复***及方法,属于计算机固件技术领域。该***能够在服务器上电时,枚举外设,形成列表,并进行逐个自检;BIOS检测到外设正常挂载时,则自检下一个设备;BIOS检测到外设未能正常挂载时,尝试通过CPLD对外设板卡进行重新上电的方式排查故障,进行自动恢复,并将外设故障和自恢复情况记录在日志中;所有外设自检完成后,外设驱动全部加载成功,外设已成功使能。本发明能够节省现有的因外设挂载失败而进行计算机重启,特别是服务器需多次自动重启所耗费的时间。
Description
技术领域
本发明属于计算机固件技术领域,具体涉及一种外设挂载失败自动恢复***及方法。
背景技术
BIOS在运行时,有些外设虽然在计算机(终端)主板卡槽中接入,但由于软硬件资源初始化问题而无法正常挂载。有时,通过重新启动计算机,这些外设可以恢复正常使用。一般地,现有解决方法是首先将外设插在服务器(PCIe)卡槽中,在BIOS启动后的PCI扫描阶段或者BDS阶段读PCI设备,若此时BIOS没能检测到外设便会将整个计算机(***)进行重启操作。该方法不能保证重启的第二次、甚至第三次(甚至更多次能正常)检测到外设,这将会严重降低效率,降低设备质量,特别是针对服务器,因为内存条数量多,在开机初始对内存的初始化都需要非常多的时间,如果进行多次重启,会严重降低使用效率。
发明内容
有鉴于此,本发明提供了一种外设挂载失败自动恢复***及方法,能够节省现有的因外设挂载失败而进行计算机(***)重启,特别是服务器需多次自动重启所耗费的时间。
一种外设挂载失败自动恢复***,该***能够在计算机上电时,枚举外设,形成列表,并进行逐个自检;BIOS检测到外设正常挂载时,则自检下一个设备;BIOS检测到外设未能正常挂载时,尝试通过CPLD对外设板卡进行重新上电的方式排查故障,进行自动恢复,并将外设故障和自恢复情况记录在日志中;所有外设自检完成后,外设驱动全部加载成功,外设已成功使能。
进一步地,所述外设挂载失败自动恢复***包括策略配置模块、外设自检模块、上电重启模块和总线协议模块;
所述策略配置模块用于对外设挂载失败自动恢复的策略进行配置,配置的内容包括该计算机需要进行自动恢复的外设类型、自动恢复的最大循环上电次数、单一板卡的上下电控制方法;
所述上电重启模块用于通过CPLD,通过标准协议,对外部设备进行上电重启;
所述总线协议模块用于BIOS对外通信的接口。
进一步地,所述策略配置模块中的外设类型需要提前录入,作为提供策略配置的依据。
进一步地,所述策略配置模块中的自动恢复的最大循环上电次数用于限制自动恢复动作的最大执行次数,避免多次无效尝试导致整个***无法使用。
进一步地,所述策略配置模块中单一板卡的上下电控制方法是根据外设类型决定在BIOS启动的哪一个阶段执行故障恢复的动作,并给予CPLD相应的执行时间所述外设自检模块用于对外设进行上电自检,外部设备在上电运行时,外设自检模块会获取外设列表,并逐个通过自检指令进行设备检查;如果设备正常,则返回预定工作状态正常的信号;否则,则返回失败错误码或对自检指令无响应。
一种外设挂载失败自动恢复***方法,该方法的实现包括以下步骤:
步骤一、计算机上电开机,BIOS开始运行;
步骤二、BIOS初始化阶段,加载外设挂载失败自动恢复***,使得BIOS及PCLD之间构成互联互通的关系,监控***设备的状况;
步骤三、BIOS扫描外部设备总线,枚举外部设备,生成设备列表,并逐个进行自检;
步骤四、判断当前是否还有未挂载成功的外部设备。若是,则转入下一步骤;若否,则流程结束,转入步骤十一;
步骤五、根据当前外设的预定接口,向该设备发送自检指令;
步骤六、判断该设备是否正确返回自检结果;
步骤七、将设备未正常启动情况记录在启动日志中;
步骤八、判断该设备可自动恢复次数是否大于等于1,若是,则转入下一步骤;若否,则跳过当前外部设备的自检,对下一个设备进行自检。转入步骤四;
步骤九、BIOS向CPLD发送该外设板卡重新上电的指令,CPLD按照预定上电时序,使该外设重新上电;
步骤十、该设备可自动排除故障次数减1,转入步骤四。
步骤十一、流程结束。
有益效果:
1、本发明的外设挂载失败自动恢复***能够在BIOS运行阶段,发现外设发生挂载失败时,通过对外设单独进行重新上电的方式进行自动恢复,能够节省现有因外设挂载失败进行计算机重启而自动修复板卡的故障时间;提升设备恢复外设正常工作的效率,避免了重启恢复的不可靠性导致多次重启导致时间浪费的问题;特别是针对服务器,这种方法存在的优势更是凸显无疑。
2、本发明的上电重启模块能够通过总线协议模块,与计算机电源管理芯片进行交互,实现对板卡的重新上电,进行外设挂载失败的自动恢复,能够解决现有的重启计算机进行自动恢复导致的重启时间过长问题。
3、本发明通过配置计算机需要自动恢复外设类型及重启次数的方法,能够合理地针对关键的外设,进行充分但数量有限的重启修复自动尝试,能够优化地进行必要的外设自动修复,减少了必要的外设检测和恢复流程。
附图说明
图1为外设挂载失败自动恢复***硬件连接示意图;
图2为外设挂载失败自动恢复***软件结构示意图;
图3为外设挂载失败自动恢复方法流程图。
具体实施方式
下面结合附图并举实施例,对本发明进行详细描述。
图1以服务器为例,外设挂载失败自动恢复***的硬件连接示意图。BIOS、BMC、CPLD、外设板块连接在PCH或南桥上。CPLD用于主板的上电时序管理;BIOS用于服务器硬件初始化和宿主操作***引导启动;外设板块包括显卡、RAID卡、光纤卡等设备。
图2展示了外设挂载失败自动恢复***软件结构示意图。BIOS中内置了外设挂载失败自动恢复***,其中,外设挂载失败自动恢复***包括策略配置模块、外设自检模块、上电重启模块和总线协议模块。
策略配置模块用于对外设挂载失败自动恢复的策略进行配置,配置的内容包括该计算机需要进行自动恢复的外设类型、自动恢复的最大循环上电次数、故障记录、BIOS启动现场的保存、***单一板卡的上下电控制方法。
外设自检模块用于对外设进行上电自检。外部设备往往有用于自动检测的接口,在上电运行时,外设自检模块会获取外设列表,并逐个通过自检指令进行设备检查;如果设备正常,则返回预定工作状态正常的信号;否则,则返回失败错误码或对自检指令无响应;
上电重启模块用于通过CPLD,通过标准协议,对外部设备进行上电重启;
总线协议模块用于BIOS对外通信的接口。
如附图3所示,以RAID卡的挂载失败为例,对BIOS外设挂载失败自动恢复的主要步骤进行说明:
步骤一、计算机上电开机。
步骤二、硬件初始化,并加载外设挂载失败自动恢复***。
步骤三、BIOS扫描PCI等设备总线,PciEnumerator()对设备进行扫描加载,枚举外部设备;NewDeviceTreeList()对扫描设备进行记录,并对比正常设备列表,为后面设备的丢失提供判定依据,生成设备列表;SelfTestCheck()对扫描的设备进行自检,确保加载正确,也提供是否需要再次重新进行自检的依据,并逐个进行自检。
步骤四、判断当前是否还有未完成自检和故障恢复的外部设备。在该服务器中,RAID卡已经插在卡槽上,但是并未成功扫描到。
步骤五、根据RAID卡的预定接口,向该设备发送自检指令;
步骤六、BoolTestCheck()判断该设备是否正确返回自检结果;
步骤七、EventRecord()将自检请求记录到日志中,若请求自检次数大于设定值,则跳过该设备正常启动整个***;。
步骤八、判断该设备可自动排除故障次数是否大于等于1。若是,则转入下一步骤;若否,则跳过当前外部设备的自检,对下一个设备进行自检。转入步骤四。
步骤九、CPLDCycleBoot()自检接口提示失败,向CPLD发送重新上电的请求,CPLD按照预定上电时序,使RAID卡重新上电。
步骤十、该设备可自动排除故障次数减1。转入步骤四。
步骤十一、流程结束。
在CPLD及BIOS的配合下使故障现场以更短的时间恢复,提高整机效率,达到了我们追求的目标。
本发明方案通过BIOS与CPLD协同进行故障的检测及现场的故障恢复。在BIOS启动过程中,进行PCI扫描时,我们对特定设备进行是否在位检测,当扫描挂载或自检失败时,与CPLD联动,告知CPLD硬件需要重新复位上电,此时CPLD接收到BIOS的信号,重新给该外设上电,BIOS再重新扫描,使其恢复正常使用。期间若未能正常恢复,即再进行一次联动,以此进行五次后,BIOS再正常加载执行即可。
该设计修复了现阶段解决故障的方法时间较长的问题,特别是针对服务器,该措施有较大的优势。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种外设挂载失败自动恢复***,其特征在于,该***能够在计算机上电时,枚举外设,形成列表,并进行逐个自检;BIOS检测到外设正常挂载时,则自检下一个设备;BIOS检测到外设未能正常挂载时,尝试通过CPLD对外设板卡进行重新上电的方式排查故障,进行自动恢复,并将外设故障和自恢复情况记录在日志中;所有外设自检完成后,外设驱动全部加载成功,外设已成功使能。
2.如权利要求1所述的一种外设挂载失败自动恢复***,其特征在于,所述外设挂载失败自动恢复***包括策略配置模块、外设自检模块、上电重启模块和总线协议模块;
所述策略配置模块用于对外设挂载失败自动恢复的策略进行配置,配置的内容包括该计算机需要进行自动恢复的外设类型、自动恢复的最大循环上电次数、单一板卡的上下电控制方法;
所述上电重启模块用于通过CPLD,通过标准协议,对外部设备进行上电重启;
所述总线协议模块用于BIOS对外通信的接口。
3.如权利要求2所述的一种外设挂载失败自动恢复***,其特征在于,所述策略配置模块中的外设类型需要提前录入,作为提供策略配置的依据。
4.如权利要求3所述的一种外设挂载失败自动恢复***,其特征在于,所述策略配置模块中的自动恢复的最大循环上电次数用于限制自动恢复动作的最大执行次数,避免多次无效尝试导致整个***无法使用。
5.如权利要求4所述的一种外设挂载失败自动恢复***,其特征在于,所述策略配置模块中单一板卡的上下电控制方法是根据外设类型决定在BIOS启动的哪一个阶段执行故障恢复的动作,并给予CPLD相应的执行时间所述外设自检模块用于对外设进行上电自检,外部设备在上电运行时,外设自检模块会获取外设列表,并逐个通过自检指令进行设备检查;如果设备正常,则返回预定工作状态正常的信号;否则,则返回失败错误码或对自检指令无响应。
6.一种外设挂载失败自动恢复方法,其特征在于,该方法的实现包括以下步骤:
步骤一、计算机上电开机,BIOS开始运行;
步骤二、BIOS初始化阶段,加载外设挂载失败自动恢复***,使得BIOS及PCLD之间构成互联互通的关系,监控***设备的状况;
步骤三、BIOS扫描外部设备总线,枚举外部设备,生成设备列表,并逐个进行自检;
步骤四、判断当前是否还有未挂载成功的外部设备。若是,则转入下一步骤;若否,则流程结束,转入步骤十一;
步骤五、根据当前外设的预定接口,向该设备发送自检指令;
步骤六、判断该设备是否正确返回自检结果;
步骤七、将设备未正常启动情况记录在启动日志中;
步骤八、判断该设备可自动恢复次数是否大于等于1,若是,则转入下一步骤;若否,则跳过当前外部设备的自检,对下一个设备进行自检。转入步骤四;
步骤九、BIOS向CPLD发送该外设板卡重新上电的指令,CPLD按照预定上电时序,使该外设重新上电;
步骤十、该设备可自动排除故障次数减1,转入步骤四。
步骤十一、流程结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111664656.XA CN114510374A (zh) | 2021-12-31 | 2021-12-31 | 一种外设挂载失败自动恢复***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111664656.XA CN114510374A (zh) | 2021-12-31 | 2021-12-31 | 一种外设挂载失败自动恢复***及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114510374A true CN114510374A (zh) | 2022-05-17 |
Family
ID=81548709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111664656.XA Pending CN114510374A (zh) | 2021-12-31 | 2021-12-31 | 一种外设挂载失败自动恢复***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114510374A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115586981A (zh) * | 2022-11-25 | 2023-01-10 | 深圳华北工控股份有限公司 | 一种防止sio信号丢失的方法、***、计算机和存储介质 |
-
2021
- 2021-12-31 CN CN202111664656.XA patent/CN114510374A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115586981A (zh) * | 2022-11-25 | 2023-01-10 | 深圳华北工控股份有限公司 | 一种防止sio信号丢失的方法、***、计算机和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240086269A1 (en) | Method, Apparatus and System for Locating Fault of Server, and Computer-readable Storage Medium | |
CN107122321B (zh) | 硬件修复方法、硬件修复***以及计算机可读取存储装置 | |
US20070234123A1 (en) | Method for detecting switching failure | |
CN108304282B (zh) | 一种双bios的控制方法及相关装置 | |
CN111488233A (zh) | 一种处理PCIe设备掉带宽问题的方法及*** | |
CN113064757B (zh) | 一种服务器固件自恢复***及服务器 | |
CN111143132B (zh) | 一种bios恢复方法、装置、设备及可读存储介质 | |
CN114116280B (zh) | 交互式bmc自恢复方法、***、终端及存储介质 | |
CN115237644B (zh) | ***故障处理方法、中央运算单元以及车辆 | |
CN111949333A (zh) | 一种实现arm服务器bios主备切换的***及方法 | |
CN111338698A (zh) | 一种bios准确引导服务器启动的方法及*** | |
CN115809164A (zh) | 嵌入式设备、嵌入式***和分级复位控制方法 | |
CN215769715U (zh) | 一种开机异常的恢复装置 | |
CN114510374A (zh) | 一种外设挂载失败自动恢复***及方法 | |
US11263083B1 (en) | Method and apparatus for selective boot-up in computing devices | |
CN104657232A (zh) | Bios自动恢复***及方法 | |
KR100605031B1 (ko) | Usb 메모리 장치를 이용한 임베디드 시스템의 장애복구 및 업그레이드 방법 | |
CN110928726A (zh) | 一种基于看门狗及pxe的嵌入式***自恢复方法及*** | |
CN113220324B (zh) | 一种cpld远程更新的方法、***及介质 | |
CN114385405A (zh) | 一种实现服务器重启原因记录的方法、装置、*** | |
CN115576730A (zh) | 存储服务器pcie卡故障修复方法、***即及计算机设备 | |
CN115098342A (zh) | ***日志收集方法、***、终端及存储介质 | |
CN115168146A (zh) | 一种异常检测方法和装置 | |
CN114528555A (zh) | 一种arm服务器固件安全校验启动管理方法、装置及介质 | |
CN117389781B (zh) | 服务器设备的异常侦测与恢复方法、***、服务器及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 100083 north side, 13th floor, Taiji building, No.6 working area (South), wohuqiao, Haidian District, Beijing Applicant after: Kunlun Taike (Beijing) Technology Co.,Ltd. Address before: 100083 north side, 13th floor, Taiji building, No.6 working area (South), wohuqiao, Haidian District, Beijing Applicant before: CLP Technology (Beijing) Co.,Ltd. |