CN112130912B - 一种待刷新设备的防刷新失败方法及装置 - Google Patents
一种待刷新设备的防刷新失败方法及装置 Download PDFInfo
- Publication number
- CN112130912B CN112130912B CN202010887667.3A CN202010887667A CN112130912B CN 112130912 B CN112130912 B CN 112130912B CN 202010887667 A CN202010887667 A CN 202010887667A CN 112130912 B CN112130912 B CN 112130912B
- Authority
- CN
- China
- Prior art keywords
- refreshed
- power supply
- equipment
- circuit
- spaces
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Charge And Discharge Circuits For Batteries Or The Like (AREA)
Abstract
本发明公开了一种待刷新设备的防刷新失败方法及装置,在接收到设备刷新需求时,根据预设空间选择策略从存储芯片的N个存储空间中选择M个存储空间作为待刷写空间,并将待刷写空间均进行待刷写程序的刷写;在启动待刷新设备时,优先基于当前选中的待刷写空间的新版本程序进行设备启动,若设备启动失败,则基于其余存储空间的旧版本程序进行设备启动。可见,本申请的存储芯片预留有多个存储空间,在对部分存储空间中的旧版本程序进行刷新的同时,保留有不参与刷新的存储空间,以在新版本程序刷新失败导致设备基于新版本程序启动失败时,还能再次基于不参与刷新的存储空间中的旧版本程序进行设备启动,从而在新版本程序刷新失败时仍可成功启动设备。
Description
技术领域
本发明涉及服务器领域,特别是涉及一种待刷新设备的防刷新失败方法及装置。
背景技术
在服务器领域,BMC(Baseboard Management Controller,基板管理控制器)作为一个监控管理设备,其承担着对服务器周围的硬件设备(如风扇、温度传感器、电压传感器等)的监控功能。目前,BMC固件可通过web、离线烧录工具及服务器系统内的刷新工具等多种方式进行刷新,具体是将待刷写程序刷写至BMC对应的Flash芯片,以实现BMC的刷新。但是,现有的Flash芯片只包含当前版本的程序,一旦在刷新过程中出现刷新失败的情况,BMC便无法成功启动。
因此,如何提供一种解决上述技术问题的方案是本领域的技术人员目前需要解决的问题。
发明内容
本发明的目的是提供一种待刷新设备的防刷新失败方法及装置,存储芯片预留有多个存储空间,在对部分存储空间中的旧版本程序进行刷新的同时,保留有不参与刷新的存储空间,以在新版本程序刷新失败导致设备基于新版本程序启动失败时,还能再次基于不参与刷新的存储空间中的旧版本程序进行设备启动,从而在新版本程序刷新失败时仍可成功启动设备。
为解决上述技术问题,本发明提供了一种待刷新设备的防刷新失败方法,括:
预先为待刷新设备配置存储大小等于N倍的预设存储空间的存储芯片;其中,N为大于1的整数;预设存储空间≥待刷新设备的待刷写程序所需的存储空间;
在接收到设备刷新需求时,根据预设空间选择策略从N个存储空间中选择M个存储空间作为待刷写空间,并将所述待刷写空间均进行所述待刷写程序的刷写;其中,M为正整数且M<N;N个存储空间在初始状态时均存储有所述待刷新设备的初始版本程序;
在启动所述待刷新设备时,优先基于当前选中的待刷写空间的新版本程序进行设备启动,若设备启动失败,则基于其余存储空间的旧版本程序进行设备启动。
优选地,根据预设空间选择策略从N个存储空间中选择M个存储空间作为待刷写空间的过程,包括:
从N个存储空间中选择M个存储有最旧版本程序的存储空间作为待刷写空间。
优选地,所述存储芯片的存储大小等于2倍的预设存储空间;
相应的,根据预设空间选择策略从N个存储空间中选择M个存储空间作为待刷写空间,并将所述待刷写空间均进行所述待刷写程序的刷写的过程,包括:
将双存储空间交替作为下一次刷写新版本程序所需使用的待刷写空间,以在下一次接收到设备刷新需求时,将下一次待刷写的新版本程序刷写至对应选中的待刷写空间。
为解决上述技术问题,本发明还提供了一种待刷新设备的防刷新失败装置,包括:
为待刷新设备供电的供电电路;
为所述待刷新设备配置的、存储大小等于N倍的预设存储空间的存储芯片;其中,N为大于1的整数;预设存储空间≥所述待刷新设备的待刷写程序所需的存储空间;
与所述存储芯片连接的控制器,用于在接收到设备刷新需求时,根据预设空间选择策略从N个存储空间中选择M个存储空间作为待刷写空间,并将所述待刷写空间均进行所述待刷写程序的刷写;在启动所述待刷新设备时优先基于当前选中的待刷写空间的新版本程序进行设备启动,若设备启动失败,则基于其余存储空间的旧版本程序进行设备启动;
其中,M为正整数且M<N;N个存储空间在初始状态时均存储有所述待刷新设备的初始版本程序。
优选地,所述供电电路包括:
与系统的交流供电电源的输出端连接的转换电路,用于在系统供电正常时,将所述交流供电电源转换成为所述待刷新设备供电的第一电源;
与备用电源的输出端连接的备选电路,用于在所述待刷新设备进行刷新时,利用所述备用电源的电能输出为所述待刷新设备供电的第二电源;
分别与所述转换电路的输出端和所述备选电路的输出端连接的切换电路,用于在所述待刷新设备刷新时判断系统供电是否正常;若是,则切换至所述转换电路为所述待刷新设备供电;若否,则切换至所述备选电路为所述待刷新设备供电。
优选地,所述备选电路包括控制电路和开关电路;其中:
所述控制电路的输出端与所述开关电路的控制端连接,所述开关电路的第一端与所述备用电源的输出端连接,所述开关电路的第二端与所述切换电路连接;
所述控制电路用于判断所述待刷新设备刷新所使用的存储芯片是否被片选选中;若是,则开启所述开关电路,以将所述备用电源的电能输出至所述切换电路;若否,则关闭所述开关电路,以停止将所述备用电源的电能输出至所述切换电路。
优选地,所述备选电路包括开关电路;其中:
所述开关电路的控制端与所述待刷新设备刷新所使用的存储芯片的CS端连接,所述开关电路的第一端与所述备用电源的输出端连接,所述开关电路的第二端与所述切换电路连接;
所述开关电路用于在所述存储芯片的片选信号的控制下动作,以实现在所述存储芯片被片选选中时将所述备用电源的电能输出至所述切换电路、在所述存储芯片的片选失效时停止将所述备用电源的电能输出至所述切换电路。
优选地,所述开关电路包括开关管和电阻;其中:
所述开关管的第一端与所述备用电源的输出端连接,所述开关管的第二端分别与所述电阻的第一端和所述切换电路连接,所述电阻的第二端接地,所述开关管的控制端作为所述开关电路的控制端。
优选地,所述切换电路包括第一二极管和第二二极管;其中:
所述第一二极管的阳极与所述备选电路的输出端连接,所述第二二极管的阳极与所述转换电路的输出端连接,所述第一二极管的阴极与所述第二二极管的阴极连接且公共端与所述待刷新设备的电源端连接;其中,所述第一电源的输出电压>所述第二电源的输出电压。
优选地,所述备用电源具体为可充电电源;
相应的,所述待刷新设备的供电电路还包括:
分别与所述交流供电电源的输出端和所述备用电源的充电端连接的充电电路,用于检测所述备用电源的电压是否低于预设告警值,若是,则启动自身充电电路,以利用所述交流供电电源的电能为所述备用电源充电;还用于检测所述备用电源的电压是否高于预设正常电压,若是,则关闭自身充电电路,以停止对所述备用电源的充电。
本发明提供了一种待刷新设备的防刷新失败方法,预先为待刷新设备配置存储大小等于N倍的预设存储空间的存储芯片;在接收到设备刷新需求时,根据预设空间选择策略从N个存储空间中选择M个存储空间作为待刷写空间,并将待刷写空间均进行待刷写程序的刷写;在启动待刷新设备时,优先基于当前选中的待刷写空间的新版本程序进行设备启动,若设备启动失败,则基于其余存储空间的旧版本程序进行设备启动。可见,本申请的存储芯片预留有多个存储空间,在对部分存储空间中的旧版本程序进行刷新的同时,保留有不参与刷新的存储空间,以在新版本程序刷新失败导致设备基于新版本程序启动失败时,还能再次基于不参与刷新的存储空间中的旧版本程序进行设备启动,从而在新版本程序刷新失败时仍可成功启动设备。
本发明还提供了一种待刷新设备的防刷新失败装置,与上述防刷新失败方法具有相同的有益效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种待刷新设备的防刷新失败方法的流程图;
图2为本发明实施例提供的一种存储芯片的刷新示意图;
图3为本发明实施例提供的一种待刷新设备的防刷新失败装置的结构示意图;
图4为本发明实施例提供的一种待刷新设备的供电电路的结构示意图;
图5为本发明实施例提供的一种待刷新设备的供电电路的具体结构示意图。
具体实施方式
本发明的核心是提供一种待刷新设备的防刷新失败方法及装置,存储芯片预留有多个存储空间,在对部分存储空间中的旧版本程序进行刷新的同时,保留有不参与刷新的存储空间,以在新版本程序刷新失败导致设备基于新版本程序启动失败时,还能再次基于不参与刷新的存储空间中的旧版本程序进行设备启动,从而在新版本程序刷新失败时仍可成功启动设备。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参照图1,图1为本发明实施例提供的一种待刷新设备的防刷新失败方法的流程图。
该待刷新设备的防刷新失败方法,包括:
步骤S1:预先为待刷新设备配置存储大小等于N倍的预设存储空间的存储芯片。
具体地,本申请为待刷新设备配置的存储芯片的存储大小等于N(N为大于1的整数)倍的预设存储空间,即存储芯片包含N个存储空间,且每个预设存储空间的存储大小均大于等于待刷新设备的待刷写程序所需的存储空间,即每个预设存储空间中均可存储一整个待刷新设备的待刷写程序,起到备份作用。
步骤S2:在接收到设备刷新需求时,根据预设空间选择策略从N个存储空间中选择M个存储空间作为待刷写空间,并将待刷写空间均进行待刷写程序的刷写。
需要说明的是,本申请的预设是提前设置好的,只需要设置一次,除非根据实际情况需要修改,否则不需要重新设置。存储芯片的N个存储空间在初始状态时均存储有待刷新设备的初始版本程序。
具体地,本申请在接收到设备刷新需求时,根据预设空间选择策略从存储芯片的N个存储空间中选择M个存储空间作为待刷写空间(参与刷新的存储空间),并将待刷新设备的待刷写程序分别刷写至待刷写空间,即每个待刷写空间均进行待刷写程序的刷写,需要说明的是,M<N,即在对部分存储空间中的旧版本程序进行刷新的同时,保留有不参与刷新的存储空间。
步骤S3:在启动待刷新设备时,优先基于当前选中的待刷写空间的新版本程序进行设备启动,若设备启动失败,则基于其余存储空间的旧版本程序进行设备启动。
具体地,本申请在启动待刷新设备时,优先基于当前选中的待刷写空间的新版本程序进行设备启动,若设备基于新版本程序启动失败,则再次基于其余存储空间的旧版本程序进行设备启动,从而在设备基于新版本程序启动失败时仍可成功启动设备。
本发明提供了一种待刷新设备的防刷新失败方法,预先为待刷新设备配置存储大小等于N倍的预设存储空间的存储芯片;在接收到设备刷新需求时,根据预设空间选择策略从N个存储空间中选择M个存储空间作为待刷写空间,并将待刷写空间均进行待刷写程序的刷写;在启动待刷新设备时,优先基于当前选中的待刷写空间的新版本程序进行设备启动,若设备启动失败,则基于其余存储空间的旧版本程序进行设备启动。可见,本申请的存储芯片预留有多个存储空间,在对部分存储空间中的旧版本程序进行刷新的同时,保留有不参与刷新的存储空间,以在新版本程序刷新失败导致设备基于新版本程序启动失败时,还能再次基于不参与刷新的存储空间中的旧版本程序进行设备启动,从而在新版本程序刷新失败时仍可成功启动设备。
在上述实施例的基础上:
作为一种可选的实施例,根据预设空间选择策略从N个存储空间中选择M个存储空间作为待刷写空间的过程,包括:
从N个存储空间中选择M个存储有最旧版本程序的存储空间作为待刷写空间。
具体地,本申请在接收到设备刷新需求时,从存储芯片的N个存储空间中选择M个存储有最旧版本程序的存储空间作为待刷写空间,目的是使存储芯片中尽可能保留有较新版本的程序。
作为一种可选的实施例,存储芯片的存储大小等于2倍的预设存储空间;
相应的,根据预设空间选择策略从N个存储空间中选择M个存储空间作为待刷写空间,并将待刷写空间均进行待刷写程序的刷写的过程,包括:
将双存储空间交替作为下一次刷写新版本程序所需使用的待刷写空间,以在下一次接收到设备刷新需求时,将下一次待刷写的新版本程序刷写至对应选中的待刷写空间。
具体地,存储芯片具体包含2个存储空间,本申请将双存储空间交替作为下一次刷写新版本程序所需使用的待刷写空间。比如,请参照图2,存储芯片的2个存储空间分别以ADDR1、ADDR2为起始刷写位置,其中,ADDR1为默认初始主位置,ADDR2为备份位置。当有刷新需求时,默认将备份位置ADDR2对应的程序擦除刷新,擦除刷新后,将待刷新设备的有效位置改为ADDR2,即下次启动将从ADDR2的位置取出对应程序运行。此时,ADDR2变为了主位置,ADDR1变为了备份位置。下一次有刷新需求时,将会优先擦除掉ADDR1位置对应的程序,同步修改有效位置,再一次启动时从ADDR1读取对应程序,便可实现安全升级以及启动的目的。
请参照图3,图3为本发明实施例提供的一种待刷新设备的防刷新失败装置的结构示意图。
该待刷新设备的防刷新失败装置包括:
为待刷新设备供电的供电电路S;
为待刷新设备配置的、存储大小等于N倍的预设存储空间的存储芯片1;其中,N为大于1的整数;预设存储空间≥待刷新设备的待刷写程序所需的存储空间;
与存储芯片1连接的控制器2,用于在接收到设备刷新需求时,根据预设空间选择策略从N个存储空间中选择M个存储空间作为待刷写空间,并将待刷写空间均进行待刷写程序的刷写;在启动待刷新设备时优先基于当前选中的待刷写空间的新版本程序进行设备启动,若设备启动失败,则基于其余存储空间的旧版本程序进行设备启动;其中,M为正整数且M<N;N个存储空间在初始状态时均存储有待刷新设备的初始版本程序。
需要说明的是,为待刷新设备供电的供电电路S也可为控制器2供电。
作为一种可选的实施例,控制器2具体用于在接收到设备刷新需求时,从N个存储空间中选择M个存储有最旧版本程序的存储空间作为待刷写空间,并将待刷写空间均进行待刷写程序的刷写。
作为一种可选的实施例,存储芯片1的存储大小等于2倍的预设存储空间;
相应的,控制器2具体用于将双存储空间交替作为下一次刷写新版本程序所需使用的待刷写空间,以在下一次接收到设备刷新需求时,将下一次待刷写的新版本程序刷写至当前选中的待刷写空间。
本申请提供的防刷新失败装置的上述实施例的介绍请参考上述防刷新失败方法的实施例,本申请在此不再赘述。
在上述实施例的基础上:
请参照图4,图4为本发明实施例提供的一种待刷新设备的供电电路的结构示意图。
作为一种可选的实施例,待刷新设备的供电电路S包括:
与系统的交流供电电源的输出端连接的转换电路3,用于在系统供电正常时,将交流供电电源转换成为待刷新设备供电的第一电源;
与备用电源的输出端连接的备选电路4,用于在待刷新设备进行刷新时,利用备用电源的电能输出为待刷新设备供电的第二电源;
分别与转换电路3的输出端和备选电路4的输出端连接的切换电路5,用于在待刷新设备刷新时判断系统供电是否正常;若是,则切换至转换电路3为待刷新设备供电;若否,则切换至备选电路4为待刷新设备供电。
进一步地,本申请的待刷新设备的供电电路S包括转换电路3、备选电路4及切换电路5,其工作原理为:
在系统供电正常时,即系统的交流供电电源(AC 220V)正常输出时,转换电路3接收系统的交流供电电源的输出电压,并将交流供电电源的输出电压进行转换,以将交流供电电源转换成为待刷新设备供电的第一电源。在系统供电异常时,如系统的交流供电电源丢失时,转换电路3无法接收到系统的交流供电电源的输出电压,也就无法在待刷新设备刷新时为待刷新设备供电。
为了避免系统突然供电异常时导致设备刷新失败的风险,本申请还设置备用电源及备选电路4,目的是在待刷新设备刷新时若系统供电异常,则由备用电源为待刷新设备提供其刷新所需的电能,以避免设备刷新失败。具体地,备选电路4在待刷新设备进行刷新时,利用备用电源的电能输出为待刷新设备供电的第二电源,即在待刷新设备进行刷新时,将备用电源处于时刻准备状态,以在系统突然供电异常时实现无缝切换至备用电源供电,从而保证设备顺利完成刷新。
基于此,本申请还设置切换电路5,可以理解的是,切换电路5需在待刷新设备刷新时判断系统供电是否正常;若系统供电正常,则切换至转换电路3为待刷新设备供电,即由系统的交流供电电源为待刷新设备提供其刷新所需的电能;若系统供电异常,则切换至备选电路4为待刷新设备供电,即无缝切换由备用电源为待刷新设备提供其刷新所需的电能,以避免系统突然供电异常时导致设备刷新失败的风险。
可见,本申请在系统供电正常时,由系统的交流供电电源为待刷新设备提供刷新所需电能;在系统供电异常时,切换由备用电源为待刷新设备提供刷新所需电能,以避免系统突然供电异常(如断电)时导致刷新失败的风险。而且,本申请在待刷新设备进行刷新时,将备用电源处于时刻准备状态,以在系统突然供电异常时无缝切换至备用电源供电。
作为一种可选的实施例,备选电路4包括控制电路和开关电路;其中:
控制电路的输出端与开关电路的控制端连接,开关电路的第一端与备用电源的输出端连接,开关电路的第二端与切换电路5连接;
控制电路用于判断待刷新设备刷新所使用的Flash芯片是否被片选选中;若是,则开启开关电路,以将备用电源的电能输出至切换电路5;若否,则关闭开关电路,以停止将备用电源的电能输出至切换电路5。
具体地,考虑到将待刷新设备进行刷新是将待刷新设备对应的Flash芯片进行程序重新烧写操作,而在对Flash芯片进行程序重新烧写操作之前,会先片选选中Flash芯片,才能执行对Flash芯片进行程序重新烧写的操作,所以本申请可通过判断待刷新设备刷新所使用的Flash芯片是否被片选选中,来判断待刷新设备是否进入刷新步骤。而且,在完成Flash芯片的程序重新烧写操作之后,即待刷新设备刷新完成之后,Flash芯片的片选会失效,相当于此时Flash芯片未被片选选中,所以本申请还可通过判断待刷新设备刷新所使用的Flash芯片是否被片选选中,来判断待刷新设备是否结束刷新步骤。
基于此,本申请的备选电路4包括控制电路和开关电路,其工作原理为:控制电路检测待刷新设备刷新所使用的Flash芯片是否被片选选中,以判断待刷新设备是否进入刷新步骤;若Flash芯片被片选选中,说明待刷新设备进入刷新步骤,则开启开关电路,以将备用电源(为待刷新设备供电的第二电源)的电能输出至切换电路5,为系统突然供电异常做好备电准备;若Flash芯片的状态转为未被片选选中,说明待刷新设备已结束刷新步骤,则关闭开关电路,以停止将备用电源的电能输出至切换电路5,自此便完成了待刷新设备刷新过程中备选电路4的自动介入和自动退出工作。
作为一种可选的实施例,备选电路4包括开关电路;其中:
开关电路的控制端与待刷新设备刷新所使用的Flash芯片的CS端连接,开关电路的第一端与备用电源的输出端连接,开关电路的第二端与切换电路5连接;
开关电路用于在Flash芯片的片选信号的控制下动作,以实现在Flash芯片被片选选中时将备用电源的电能输出至切换电路5、在Flash芯片的片选失效时停止将备用电源的电能输出至切换电路5。
具体地,考虑到Flash芯片是否被片选选中取决于Flash芯片的CS(片选信号)端的输入信号,若想要Flash芯片被片选选中,则需向Flash芯片的CS端输入片选信号;若想要Flash芯片不被片选选中,则不向Flash芯片的CS端输入片选信号,所以本申请可直接将输入至Flash芯片的CS端的片选信号作为控制信号来控制开关电路的启动情况。
基于此,本申请的备选电路4可只包括开关电路(省去上述实施例的控制电路),可以理解的是,开关电路在设置时需满足:在Flash芯片的片选信号的控制下动作,具体在Flash芯片被片选选中时开启自身开关电路,以将备用电源的电能输出至切换电路5;在Flash芯片的片选失效时关闭自身开关电路,以停止将备用电源的电能输出至切换电路5。
请参照图5,图5为本发明实施例提供的一种待刷新设备的供电电路的具体结构示意图。
作为一种可选的实施例,开关电路包括开关管Q和电阻Re;其中:
开关管Q的第一端与备用电源的输出端连接,开关管Q的第二端分别与电阻Re的第一端和切换电路5连接,电阻Re的第二端接地,开关管Q的控制端作为开关电路的控制端。
具体地,本申请的开关电路包括开关管Q和电阻Re,其工作原理为:
对于备选电路4包括控制电路和开关电路来说,若Flash芯片被片选选中,控制电路会控制开关管Q导通,即开启开关电路,以将备用电源的电能输出至切换电路5;若Flash芯片的状态转为未被片选选中,控制电路会控制开关管Q断开,即关闭开关电路,以停止将备用电源的电能输出至切换电路5。
对于备选电路4只包括开关电路来说,若Flash芯片被片选选中,Flash芯片的片选信号会输入至开关管Q的控制端来控制开关管Q导通,即开启开关电路,以将备用电源的电能输出至切换电路5;若Flash芯片的状态转为未被片选选中,没有Flash芯片的片选信号输入至开关管Q的控制端,开关管Q断开,即关闭开关电路,以停止将备用电源的电能输出至切换电路5。
更具体地,Flash芯片的片选信号一般为低电平有效,即Flash芯片的片选信号为低电平时Flash芯片被片选选中,所以此情况下开关管Q需选用低电平导通、高电平截止的开关管(如PNP三极管),当Flash芯片的片选信号为低电平时,开关管Q导通,Vbat_Out输出高电平,此时为待刷新设备提供备用工作电压;当待刷新设备刷新完成后,Flash芯片的片选信号失效,即为高电平,则开关管Q截止,Vbat_Out输出低电平,备用电源不会有输出,从而保障无刷新需求时,备用电源不会放电。
作为一种可选的实施例,切换电路5包括第一二极管D1和第二二极管D2;其中:
第一二极管D1的阳极与备选电路4的输出端连接,第二二极管D2的阳极与转换电路3的输出端连接,第一二极管D1的阴极与第二二极管D2的阴极连接且公共端与待刷新设备的电源端连接;其中,第一电源的输出电压>第二电源的输出电压。
具体地,本申请的切换电路5包括第一二极管D1和第二二极管D2,其工作原理为:
第一二极管D1和第二二极管D2的作用是实现对两个输入源(第一电源和第二电源)进行选择。交流供电电源通过转换电路3转换后输出的电压略高于备用电源经备选电路4输出的电压,从而通过第一二极管D1和第二二极管D2的选择后,在交流供电电源正常的情况下,第一二极管D1截止、第二二极管D2导通,备用电源不会出现放电的情况;而当交流供电电源不正常时,且待刷新设备有刷新需求的情况下,第一二极管D1导通、第二二极管D2截止,此时备用电源便会通过第一二极管D1输出电压,为待刷新设备提供其刷新所需的电压。
作为一种可选的实施例,备用电源具体为可充电电源;
相应的,待刷新设备的供电电路S还包括:
分别与交流供电电源的输出端和备用电源的充电端连接的充电电路6,用于检测备用电源的电压是否低于预设告警值,若是,则启动自身充电电路,以利用交流供电电源的电能为备用电源充电。
进一步地,本申请的备用电源可选用可充电电源(如锂电池VBAT),则本申请可在交流供电电源和备用电源之间跨接充电电路6,其工作原理为:
在待刷新设备多次频繁刷新之后,备用电源的电压有可能会出现欠压的情况,所以充电电路6实时监测备用电源的电压情况,并将备用电源的实际电压与预设告警值作比较,当监测到备用电源的实际电压低于预设告警值时,启动自身充电电路,以利用交流供电电源的电能为备用电源充电(前提:交流供电电源的供电正常),从而避免备用电源的电压出现欠压的情况。
作为一种可选的实施例,充电电路6还用于检测备用电源的电压是否高于预设正常电压,若是,则关闭自身充电电路,以停止对备用电源的充电。
进一步地,在启动充电电路6后,充电电路6依旧对备用电源的电压进行监测工作,当监测到备用电源的电压高于预设正常电压时,则关闭自身充电电路,以停止对备用电源的充电;若备用电源的电压依旧未到达预设正常电压时,则继续对备用电源进行充电,至此便可完成良好的备用电源的充放电循环工作。
作为一种可选的实施例,待刷新设备的供电电路S还包括:
分别与备选电路4的输出端和切换电路5连接的稳压电路7,用于稳定备选电路4输出至切换电路5的电压。
进一步地,本申请在备选电路4和切换电路5之间设置稳压电路7,稳压电路7用于稳定备选电路4输出至切换电路5的电压,以保证切换电路5的稳定切换,且在切换电路5切换至备选电路4的输出时,为待刷新设备提供稳定电压。
作为一种可选的实施例,待刷新设备的供电电路S还包括超级电容C;其中:
超级电容C的第一端与备用电源的输出端连接,超级电容C的第二端接地。
进一步地,考虑到开关电路在开启瞬间,备用电源的输出电流会瞬间增大,为了避免损坏后续电路,本申请在备用电源的输出端增设超级电容C,用于吸收瞬间增大的电流,对电路起到保护作用。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (9)
1.一种待刷新设备的防刷新失败方法,其特征在于,包括:
预先为待刷新设备配置存储大小等于N倍的预设存储空间的存储芯片;其中,N为大于1的整数;预设存储空间≥待刷新设备的待刷写程序所需的存储空间;
在接收到设备刷新需求时,根据预设空间选择策略从N个存储空间中选择M个存储空间作为待刷写空间,并将所述待刷写空间均进行所述待刷写程序的刷写;其中,M为正整数且M<N;N个存储空间在初始状态时均存储有所述待刷新设备的初始版本程序;
在启动所述待刷新设备时,优先基于当前选中的待刷写空间的新版本程序进行设备启动,若设备启动失败,则基于其余存储空间的旧版本程序进行设备启动;
所述待刷新设备的防刷新失败方法应用于待刷新设备的防刷新失败装置中的控制器,所述待刷新设备的防刷新失败装置还包括:
为待刷新设备供电的供电电路;
所述供电电路包括:
与系统的交流供电电源的输出端连接的转换电路,用于在系统供电正常时,将所述交流供电电源转换成为所述待刷新设备供电的第一电源;
与备用电源的输出端连接的备选电路,用于在所述待刷新设备进行刷新时,利用所述备用电源的电能输出为所述待刷新设备供电的第二电源;
分别与所述转换电路的输出端和所述备选电路的输出端连接的切换电路,用于在所述待刷新设备刷新时判断系统供电是否正常;若是,则切换至所述转换电路为所述待刷新设备供电;若否,则切换至所述备选电路为所述待刷新设备供电;
所述备选电路具体用于在确定所述待刷新设备刷新所使用的Flash芯片被片选选中时,利用所述备用电源的电能输出为所述待刷新设备供电的第二电源。
2.如权利要求1所述的待刷新设备的防刷新失败方法,其特征在于,根据预设空间选择策略从N个存储空间中选择M个存储空间作为待刷写空间的过程,包括:
从N个存储空间中选择M个存储有最旧版本程序的存储空间作为待刷写空间。
3.如权利要求2所述的待刷新设备的防刷新失败方法,其特征在于,所述存储芯片的存储大小等于2倍的预设存储空间;
相应的,根据预设空间选择策略从N个存储空间中选择M个存储空间作为待刷写空间,并将所述待刷写空间均进行所述待刷写程序的刷写的过程,包括:
将双存储空间交替作为下一次刷写新版本程序所需使用的待刷写空间,以在下一次接收到设备刷新需求时,将下一次待刷写的新版本程序刷写至对应选中的待刷写空间。
4.一种待刷新设备的防刷新失败装置,其特征在于,包括:
为待刷新设备供电的供电电路;
为所述待刷新设备配置的、存储大小等于N倍的预设存储空间的存储芯片;其中,N为大于1的整数;预设存储空间≥所述待刷新设备的待刷写程序所需的存储空间;
与所述存储芯片连接的控制器,用于在接收到设备刷新需求时,根据预设空间选择策略从N个存储空间中选择M个存储空间作为待刷写空间,并将所述待刷写空间均进行所述待刷写程序的刷写;在启动所述待刷新设备时优先基于当前选中的待刷写空间的新版本程序进行设备启动,若设备启动失败,则基于其余存储空间的旧版本程序进行设备启动;
其中,M为正整数且M<N;N个存储空间在初始状态时均存储有所述待刷新设备的初始版本程序;
所述供电电路包括:
与系统的交流供电电源的输出端连接的转换电路,用于在系统供电正常时,将所述交流供电电源转换成为所述待刷新设备供电的第一电源;
与备用电源的输出端连接的备选电路,用于在所述待刷新设备进行刷新时,利用所述备用电源的电能输出为所述待刷新设备供电的第二电源;
分别与所述转换电路的输出端和所述备选电路的输出端连接的切换电路,用于在所述待刷新设备刷新时判断系统供电是否正常;若是,则切换至所述转换电路为所述待刷新设备供电;若否,则切换至所述备选电路为所述待刷新设备供电;
所述备选电路具体用于在确定所述待刷新设备刷新所使用的Flash芯片被片选选中时,利用所述备用电源的电能输出为所述待刷新设备供电的第二电源。
5.如权利要求4所述的待刷新设备的防刷新失败装置,其特征在于,所述备选电路包括控制电路和开关电路;其中:
所述控制电路的输出端与所述开关电路的控制端连接,所述开关电路的第一端与所述备用电源的输出端连接,所述开关电路的第二端与所述切换电路连接;
所述控制电路用于判断所述待刷新设备刷新所使用的存储芯片是否被片选选中;若是,则开启所述开关电路,以将所述备用电源的电能输出至所述切换电路;若否,则关闭所述开关电路,以停止将所述备用电源的电能输出至所述切换电路。
6.如权利要求4所述的待刷新设备的防刷新失败装置,其特征在于,所述备选电路包括开关电路;其中:
所述开关电路的控制端与所述待刷新设备刷新所使用的存储芯片的CS端连接,所述开关电路的第一端与所述备用电源的输出端连接,所述开关电路的第二端与所述切换电路连接;
所述开关电路用于在所述存储芯片的片选信号的控制下动作,以实现在所述存储芯片被片选选中时将所述备用电源的电能输出至所述切换电路、在所述存储芯片的片选失效时停止将所述备用电源的电能输出至所述切换电路。
7.如权利要求5或6所述的待刷新设备的防刷新失败装置,其特征在于,所述开关电路包括开关管和电阻;其中:
所述开关管的第一端与所述备用电源的输出端连接,所述开关管的第二端分别与所述电阻的第一端和所述切换电路连接,所述电阻的第二端接地,所述开关管的控制端作为所述开关电路的控制端。
8.如权利要求4所述的待刷新设备的防刷新失败装置,其特征在于,所述切换电路包括第一二极管和第二二极管;其中:
所述第一二极管的阳极与所述备选电路的输出端连接,所述第二二极管的阳极与所述转换电路的输出端连接,所述第一二极管的阴极与所述第二二极管的阴极连接且公共端与所述待刷新设备的电源端连接;其中,所述第一电源的输出电压>所述第二电源的输出电压。
9.如权利要求4所述的待刷新设备的防刷新失败装置,其特征在于,所述备用电源具体为可充电电源;
相应的,所述待刷新设备的供电电路还包括:
分别与所述交流供电电源的输出端和所述备用电源的充电端连接的充电电路,用于检测所述备用电源的电压是否低于预设告警值,若是,则启动自身充电电路,以利用所述交流供电电源的电能为所述备用电源充电;还用于检测所述备用电源的电压是否高于预设正常电压,若是,则关闭自身充电电路,以停止对所述备用电源的充电。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010887667.3A CN112130912B (zh) | 2020-08-28 | 2020-08-28 | 一种待刷新设备的防刷新失败方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010887667.3A CN112130912B (zh) | 2020-08-28 | 2020-08-28 | 一种待刷新设备的防刷新失败方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112130912A CN112130912A (zh) | 2020-12-25 |
CN112130912B true CN112130912B (zh) | 2023-06-20 |
Family
ID=73848191
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010887667.3A Active CN112130912B (zh) | 2020-08-28 | 2020-08-28 | 一种待刷新设备的防刷新失败方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112130912B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114895612B (zh) * | 2022-07-11 | 2022-09-27 | 深圳市杰美康机电有限公司 | 一种用于dsp芯片的仿真系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101557583A (zh) * | 2009-03-19 | 2009-10-14 | 珠海银邮光电技术发展股份有限公司 | 直放站设备嵌入式软件的远程升级与版本切换方法 |
CN104598275A (zh) * | 2015-01-13 | 2015-05-06 | 浪潮电子信息产业股份有限公司 | 一种提高lsisas2x20芯片fw烧录效率的烧录方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7849454B2 (en) * | 2006-01-13 | 2010-12-07 | Dell Products L.P. | Automatic firmware corruption recovery and update |
CN108845814A (zh) * | 2018-06-14 | 2018-11-20 | 郑州云海信息技术有限公司 | 一种固件更新的保护方法、装置和计算机可读存储介质 |
CN110647333A (zh) * | 2018-06-26 | 2020-01-03 | 霍尼韦尔环境自控产品(天津)有限公司 | 固件升级方法及配置成对其中的固件进行升级的设备 |
CN109976949B (zh) * | 2019-03-28 | 2021-12-17 | 苏州浪潮智能科技有限公司 | 一种bmc故障镜像回滚刷新方法、装置、终端及存储介质 |
CN110990045B (zh) * | 2019-12-20 | 2023-01-06 | 苏州浪潮智能科技有限公司 | 一种双bmc flash升级方法和设备 |
-
2020
- 2020-08-28 CN CN202010887667.3A patent/CN112130912B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101557583A (zh) * | 2009-03-19 | 2009-10-14 | 珠海银邮光电技术发展股份有限公司 | 直放站设备嵌入式软件的远程升级与版本切换方法 |
CN104598275A (zh) * | 2015-01-13 | 2015-05-06 | 浪潮电子信息产业股份有限公司 | 一种提高lsisas2x20芯片fw烧录效率的烧录方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112130912A (zh) | 2020-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106338690B (zh) | 一种备用电池检测方法、装置、系统及供电方法 | |
US8732507B2 (en) | Circuit and method for an uninterruptible power supply of electronic devices has a changeover switch to supply power from different power sources according to various predefined power drop conditions | |
US8413035B2 (en) | Power control apparatus and method for realizing efficient load factor with lower contracted power limit | |
JP5964506B2 (ja) | 電力制御装置、電力制御方法、及び電力制御システム | |
WO2002061917A1 (fr) | Source d'energie | |
CN112130912B (zh) | 一种待刷新设备的防刷新失败方法及装置 | |
JP7261543B2 (ja) | 制御装置、および制御方法 | |
JP4435000B2 (ja) | 電池制御回路、該電池制御回路を備えた電子機器、充電制御プログラム、充電制御方法 | |
CN108306076B (zh) | 数据中心电池室空调联动控制方法及系统 | |
US20010047492A1 (en) | Uninterruptible power supply for automatically storing computer data in hard disk when halting | |
CN111799881B (zh) | 一种负载不间断供电系统和控制方法 | |
CN108183548A (zh) | 一种具有停电上报功能的充放电电路 | |
TW201816607A (zh) | 不斷電電腦系統 | |
CN114156971A (zh) | 储能充放电控制的方法、装置及设备、储能系统 | |
CN112130655A (zh) | 一种待刷新设备的供电电路及服务器 | |
CN111277043A (zh) | 一种电源分时控制 | |
JPH06133471A (ja) | バッテリ制御方式 | |
CN219779842U (zh) | 一种应用于嵌入式设备的保护电路、嵌入式设备 | |
KR101587951B1 (ko) | 메모리 백업 장치 및 방법 | |
CN213341741U (zh) | 供电控制电路 | |
CN218892449U (zh) | 一种异常断电后再通电后自动继续订单的控制电路 | |
CN220822694U (zh) | 单片机的掉电保护电路、单片机系统和电子设备 | |
CN110515443B (zh) | 充电的控制方法及装置 | |
CN110018929B (zh) | 一种数据备份方法、装置、设备及存储介质 | |
US20240006909A1 (en) | Cloud based li-ion battery life optimization utilization with hybrid mode of operation |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |