CN113703816A - 服务器装置及其避免韧体无法再次更新之方法 - Google Patents

服务器装置及其避免韧体无法再次更新之方法 Download PDF

Info

Publication number
CN113703816A
CN113703816A CN202010423978.4A CN202010423978A CN113703816A CN 113703816 A CN113703816 A CN 113703816A CN 202010423978 A CN202010423978 A CN 202010423978A CN 113703816 A CN113703816 A CN 113703816A
Authority
CN
China
Prior art keywords
firmware
unit
firmware program
programmable logic
control unit
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.)
Granted
Application number
CN202010423978.4A
Other languages
English (en)
Other versions
CN113703816B (zh
Inventor
张衍辉
陈惠玲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitac Computer Shunde Ltd
Mitac Computing Technology Corp
Original Assignee
Mitac Computer Shunde Ltd
Mitac Computing Technology Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitac Computer Shunde Ltd, Mitac Computing Technology Corp filed Critical Mitac Computer Shunde Ltd
Priority to CN202010423978.4A priority Critical patent/CN113703816B/zh
Publication of CN113703816A publication Critical patent/CN113703816A/zh
Application granted granted Critical
Publication of CN113703816B publication Critical patent/CN113703816B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0016Inter-integrated circuit (I2C)
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供一种服务器装置及其可程序化逻辑单元之避免韧体无法再次更新之方法。所述方法包含可程序化逻辑单元之控制单元在工作模式中判断是否接收到韧体更新指令,在接收到韧体更新指令之后,控制单元验证可程序化逻辑单元内部之非挥发性内存单元储存之主要韧体程序,当主要韧体程序未通过验证时,控制单元控制备用韧体程序自可程序化逻辑单元外部之另一非挥发性内存单元加载可程序化逻辑单元之一韧体加载单元,控制单元于备用韧体程序加载韧体加载单元后在工作模式中控制目标总线写入功能重新启用。

Description

服务器装置及其避免韧体无法再次更新之方法
技术领域
本案是关于一种服务器装置,且特别是具有可程序化逻辑单元之服务器装置及其避免韧体无法再次更新之方法。
背景技术
一般来说,可程序化逻辑单元具有联合测试行动群组(Joint Test ActionGroup;JTAG)接口及串行外围接口(Serial Peripheral Interface;SPI)接口,可程序化逻辑单元的硬件设计默认为藉由JTAG接口或SPI接口更新其韧体程序。
然而,可程序化逻辑单元藉由JTAG接口与SPI接口连接于服务器装置的其他单元时,至少需要六根脚位始符合JTAG接口与SPI接口之规范,且JTAG接口与SPI接口之总线走线的长度也有一定限制。考虑服务器装置内之布局(layout)空间与连接器成本,JTAG接口与SPI接口较难以符合现今对于服务器装置之价格及轻薄之需求,因此很多可程序化逻辑单元的电路设计并不具有JTAG接口与SPI接口之总线走线,也就是说可程序化逻辑单元的JTAG接口与SPI接口对应之脚位,并未与其他控制芯片电连接也未与连接器电连接。再者,在一些服务器装置中,仅将可程序化逻辑单元的JTAG接口与SPI接口对应的连接器保留在服务器装置之机壳内部,并未设置对外的连接器来与可程序化逻辑单元的JTAG接口与SPI接口电连接,若可程序化逻辑单元异常或韧体更新失败而造成仅能透过默认启用的JTAG接口与外部沟通时,当欲使用JTAG接口更新可程序化逻辑单元之韧体程序时,必须打开服务器装置之机壳或机箱盖,由外部装置直接联机至JTAG接口的脚位所电连接的机壳内部连接器,始能更新可程序化逻辑单元的韧体程序,造成服务器装置之维护者之不便。
发明内容
本发明要解决的技术问题是提供一种服务器装置,其可避免韧体无法再次更新。
为解决上述技术问题,本发明提供一种服务器装置包含第一非挥发性内存单元及可程序化逻辑单元。第一非挥发性内存单元用以储存一备用韧体程序。可程序化逻辑单元具有相应于一韧体写入方式之一目标总线写入功能及一默认总线写入功能,目标总线写入功能系默认为关闭,默认总线写入功能系默认为启用。可程序化逻辑单元包含目标总线接口单元、第二非挥发性内存单元、韧体加载单元及控制单元。第二非挥发性内存单元在可程序化逻辑单元之一工作模式中根据为启用之目标总线写入功能经由目标总线接口单元接收一主要韧体程序并储存主要韧体程序。韧体加载单元耦接第二非挥发性内存单元,用以加载备用韧体程序或主要韧体程序,以在加载备用韧体程序或主要韧体程序后启用目标总线写入功能。控制单元耦接韧体加载单元、第一非挥发性内存单元及第二非挥发性内存单元,用以在主要韧体程序储存于第二非挥发性内存单元之后在工作模式中判断是否接收到一韧体更新指令,当接收到韧体更新指令时,目标总线写入功能由启用转为关闭,且控制单元验证主要韧体程序,当主要韧体程序未通过验证时,控制单元控制韧体加载单元加载备用韧体程序,以在工作模式中重新启用目标总线写入功能。
本发明要解决的另一技术问题是提供一种避免韧体无法再次更新的方法。
为解决上述技术问题,本发明一种避免韧体无法再次更新的方法包含可程序化逻辑单元内部之一非挥发性内存单元在可程序化逻辑单元之一工作模式中启用目标总线写入功能,在目标总线写入功能为启用时,经由可程序化逻辑单元之一目标总线接口单元接收并储存一主要韧体程序,可程序化逻辑单元之一控制单元在工作模式中判断是否接收到一韧体更新指令,目标总线写入功能在控制单元接收到韧体更新指令之后由启用转变为关闭,在接收到韧体更新指令之后,控制单元验证主要韧体程序,当主要韧体程序未通过验证时,控制单元控制一备用韧体程序自可程序化逻辑单元外部之另一非挥发性内存单元加载可程序化逻辑单元之一韧体加载单元,控制单元于备用韧体程序加载韧体加载单元后在工作模式中控制目标总线写入功能重新启用。
相较于现有技术,本发明的服务器装置及其避免韧体无法更新之方法,其可程序化逻辑单元并不会因为主要韧体程序未通过验证而操作在设定模式造成非默认的I2C接口写入功能关闭,而开启没有电连接预留连接器或其控制器的默认JTAG接口,导致可程序化逻辑单元自动修复为先前版本之韧体程序后执行先前版本之韧体程序却无法藉由I2C接口单元或默认JTAG接口重载更新新版本的韧体程序于第二非挥发性内存单元,而无法再次进行韧体程序的加载更新之问题。可程序化逻辑单元之设计者或除错者在主要韧体程序未通过验证时并不需要打开机箱盖以藉由默认的JTAG接口更新主要韧体程序,设计者或除错者依然可藉由I2C接口单元修复主要韧体程序,大幅地提升可程序化逻辑单元之韧体程序之除错之灵活性与便利性。并且,I2C接口单元仅需两根脚位,且I2C接口单元之总线走线的长度较长,I2C接口单元较JTAG接口与SPI接口更能符合现今对于服务器稳定且轻薄之需求。
【附图说明】
图1 为根据本发明之服务器装置之一实施例之方块示意图。
图2 为根据本发明之避免韧体无法再次更新的方法之一实施例之流程图。
【具体实施方式】
请参照图1,图1为根据本发明之服务器装置之一实施例之方块示意图。服务器装置1包含可程序化逻辑单元(programmable logic device;PLD)11及非挥发性内存单元12(为方便描述,以下称为第一非挥发性内存单元12)。第一非挥发性内存单元12系外挂于可程序化逻辑单元11而耦接可程序化逻辑单元11。可程序化逻辑单元11包含默认总线接口单元111、目标总线接口单元112、非挥发性内存单元113(以下称为第二非挥发性内存单元113)、韧体加载单元114及控制单元115。第二非挥发性内存单元113耦接默认总线接口单元111及目标总线接口单元112,控制单元115耦接第二非挥发性内存单元113、目标总线接口单元112及第一非挥发性内存单元12,韧体加载单元114耦接第二非挥发性内存单元113及非挥发性内存单元12。以下系以默认总线接口单元111为JTAG接口单元为例,且以目标总线接口单元112为集成电路间(inter-integrated circuit;I2C)接口单元为例。
在一实施例中,控制单元115可以硬件电路之有限状态机(Finite StateMachine)来实现,可程序化逻辑单元11可为可程序化逻辑设备(Programmable LogicDevice;PLD)、复杂可程序逻辑装置(Complex Programmable Logic Device;CPLD)、或场式可程序门阵列(Field Programmable Gate Array;FPGA)等,韧体加载单元114可为实现可程序化逻辑单元11之硬件特殊功能(hardware feature)之内存装置,例如随机存取内存(Random Access Memory;RAM)或静态随机存取内存(Static Random Access Memory;SRAM)等。非挥发性内存单元12及非挥发性内存单元113可为只读存储器(Read-OnlyMemory;ROM)、可擦拭可规划式只读存储器(Erasable Programmable Read Only Memory;EPROM)、闪存(flash memory)等。
第一非挥发性内存单元12系储存备用韧体程序,第二非挥发性内存单元113系储存主要韧体程序。一般而言,备用韧体程序之韧体版本可为服务器装置1前次启动成功时所执行之韧体程序的韧体版本,可以是在可程序化逻辑单元11启动成功后,由控制单元115将当下韧体加载单元114执行的韧体程序储存至第一非挥发性内存单元12以作为备用韧体程序,也可以是服务器装置1量产出厂时使用的韧体程序之韧体版本,也就是量产时,一并刻录可程序化逻辑单元11的默认韧体程序于第一非挥发性内存单元12中。
再者,第二非挥发性内存单元113系可经由I2C接口单元112或JTAG接口111接收更新之韧体程序(例如,前述之主要韧体程序),也就是相应于韧体写入第二非挥发性内存单元113之不同方式,可程序化逻辑单元11具有对应默认总线接口单元111之默认总线写入功能以及对应目标总线接口单元112之目标总线写入功能,且目标总线写入功能及默认总线写入功能分别为I2C接口写入功能及JTAG接口写入功能(即,可根据前述之硬件特殊功能启用或关闭)。JTAG接口写入功能系在可程序化逻辑单元11上电后以硬件设计默认为启用而不关闭,不论可程序化逻辑单元11是处于韧体更新之设定模式或处于韧体更新完成后之工作模式,第二非挥发性内存单元113均可自JTAG接口单元111接收更新之韧体程序,使更新之韧体程序经由JTAG接口单元111写入第二非挥发性内存单元113;I2C接口写入功能则系在可程序化逻辑单元11处于工作模式时始启用,第二非挥发性内存单元113在可程序化逻辑单元11处于工作模式时可自I2C接口单元112接收更新之韧体程序,使更新之韧体程序经由I2C接口单元112写入第二非挥发性内存单元113;若可程序化逻辑单元11处于前述之设定模式,I2C接口写入功能为关闭,第二非挥发性内存单元113在可程序化逻辑单元11处于设定模式时无法自I2C接口单元112接收更新之韧体程序,也就是更新之韧体程序无法在可程序化逻辑单元11处于设定模式时经由I2C接口单元112写入第二非挥发性内存单元113。
于此,在备用韧体程序及主要韧体程序分别储存于第一非挥发性内存单元12及写入第二非挥发性内存单元113后,可程序化逻辑单元11对应地自工作模式切换至设定模式,以进行韧体程序之更新,控制单元115在设定模式中控制主要韧体程序自第二非挥发性内存单元113加载韧体加载单元114,或是控制备用韧体程序自第一非挥发性内存单元12加载韧体加载单元114,使可程序化逻辑单元11自设定模式切换至工作模式而根据备用韧体程序或主要韧体程序运作。
详细而言,请合并参照图1及图2,图2为根据本发明之避免韧体无法再次更新的方法之一实施例之流程图。控制单元115系在可程序化逻辑单元11之工作模式中判断是否接收到一韧体更新指令(步骤S01),当控制单元115接收到韧体更新指令时,可程序化逻辑单元11进入设定模式,I2C接口写入功能为关闭,由于第二非挥发性内存单元113相较于第一非挥发性内存单元12具有较高的优先权,控制单元115在设定模式中先读取第二非挥发性内存单元113,控制单元115验证储存于第二非挥发性内存单元113之主要韧体程序并判断主要韧体程序是否通过验证(步骤S02),控制单元115可判断储存在第二非挥发性内存单元113之主要韧体程序是否合格,例如控制单元115可执行校验和(checksum)检查, 若主要韧体程序未通过验证(判断结果为「否」),控制单元115不控制主要韧体程序自第二非挥发性内存单元113加载韧体加载单元114。此时,由于主要韧体程序未加载韧体加载单元114,可程序化逻辑单元11仍处于设定模式,I2C接口写入功能为关闭,控制单元115再进一步读取第一非挥发性内存单元12,控制单元115验证储存于第一非挥发性内存单元12之备用韧体程序。控制单元115判断储存在第一非挥发性内存单元12之备用韧体程序是否通过验证(步骤S03),若备用韧体程序通过验证(判断结果为「是」),控制单元115控制备用韧体程序自第一非挥发性内存单元12加载韧体加载单元114(步骤S04),使可程序化逻辑单元11进入工作模式,致使I2C接口写入功能在可程序化逻辑单元11进入工作模式后由关闭转为启用而重新启用。
基此,可程序化逻辑单元11在主要韧体程序不符合要求而造成韧体更新失败时仍然可改执行备用韧体程序并根据备用韧体程序操作在工作模式而致使I2C接口写入功能为启用,服务器装置1之设计者或维修人员者可在可程序化逻辑单元11之工作模式中将修复后之韧体程序藉由I2C接口单元112写入第二非挥发性内存单元113,以使用修复过的主要韧体程序再次更新可程序化逻辑单元11所要执行的韧体程序,可程序化逻辑单元11并不会因为主要韧体程序未通过验证而于韧体更新过程操作在设定模式造成I2C接口写入功能被切换为默认的关闭,导致修复后之韧体程序无法再次藉由I2C接口单元112传送更新于第二非挥发性内存单元113而没有其他备用的沟通接口可以用来更新韧体之问题。可程序化逻辑单元11之设计者或除错者并不需要打开机箱盖以藉由默认JTAG接口单元111更新主要韧体程序,而无需使用默认JTAG接口单元111而仅单独的使用非预设为启用且对外的I2C接口单元112即可提供韧体更新失败并再次使用非预设为启用且对外的I2C接口单元112再次更新韧体,提升可程序化逻辑单元11之韧体程序之除错之便利性。
在一实施例中,若控制单元115在步骤S02判断出主要韧体程序通过验证(判断结果为「是」),控制单元115控制主要韧体程序自第二非挥发性内存单元113加载韧体加载单元114(步骤S07),使可程序化逻辑单元11自设定模式切换至工作模式,可程序化逻辑单元11即根据主要韧体程序运行而进行对应之动作,例如启用I2C接口写入功能(步骤S05),或是进行服务器装置1之电源切换及监控程序。
在一实施例中,主要韧体程序、备用韧体程序及任一加载韧体加载单元114之韧体程序系包含启用I2C接口写入功能之程序代码。当控制单元115在工作模式中接收到韧体更新指令时,控制单元115系执行韧体加载单元114之一初始化程序,控制单元115清空韧体加载单元114(步骤S06),以抹除已加载韧体加载单元114之韧体程序,可程序化逻辑单元11自工作模式切换至设定模式,由于此时,韧体加载单元114已被清空而未包含韧体程序进而未包含启用I2C接口写入功能之程序代码,使I2C接口写入功能在设定模式中为默认的关闭。待控制单元115在步骤S02判断出主要韧体程序通过验证时,控制单元115控制主要韧体程序加载韧体加载单元114,或是控制单元115在步骤S02判断出主要韧体程序未通过验证时,控制单元115在步骤S04控制备用韧体程序加载韧体加载单元114,程序化逻辑单元11自设定模式切换至工作模式,韧体加载单元114包含主要韧体程序或备用韧体程序而包含启用I2C接口写入功能之程序代码,使I2C接口写入功能由关闭切换为启用。
在一实施例中,I2C接口单元112系具有两脚位(数据脚位及频率讯号脚位)耦接第二非挥发性内存单元113,且I2C接口单元112包含对应于启用或关闭I2C接口写入功能之一缓存器。在主要韧体程序或备用韧体程序加载韧体加载单元114而致使可程序化逻辑单元11操作在工作模式之后,控制单元115在工作模式中执行前述之启用I2C接口写入功能之程序代码,控制单元115在步骤S05中根据启用I2C接口写入功能之程序代码发送一致能讯号至I2C接口单元112之缓存器,以修改缓存器储存之致能值为高位准,且控制单元115在前述之致能值转为高位准后更触发I2C接口写入功能之启用生效。另一方面,在控制单元115接收到韧体更新指令而清空韧体加载单元114时,韧体加载单元114未包含启用I2C接口写入功能之程序代码,控制单元115在设定模式中因此并未发送前述之致能讯号至I2C接口单元112之缓存器,也就是I2C接口单元112之缓存器并未接收到前述之致能讯号,缓存器储存之致能值为低位准,I2C接口写入功能即为停用。
在一实施例中,如图1所示,服务器装置1更包含一主控单元13耦接可程序化逻辑单元11,且I2C接口单元112耦接在主控单元13与第二非挥发性内存单元113之间,I2C接口单元112之数据脚位及频率讯号脚位耦接主控单元13。主控单元13可设置在服务器装置1的主板上,主控单元13可为基板管理控制器(BMC)或平台路径控制器(PCH),主控单元13可藉由I2C接口单元112之数据脚位发送前述之主要韧体程序至第二非挥发性内存单元113,使主要韧体程序写入第二非挥发性内存单元113。并且,主控单元13可发送前述之韧体更新指令给控制单元115,使控制单元115在步骤S01中判断出接收到韧体更新指令而对应地执行后续之步骤。
再者,主要韧体程序及备用韧体程序系分别包含不同之版本号码,主控单元13可周期地根据主要韧体程序及备用韧体程序之版本号码判断加载韧体加载单元114之韧体程序系为主要韧体程序或为备用韧体程序,详细来说,主控单元13会预存欲用来更新韧体的主要韧体程序对应的版本号码作为默认版本号码,当主控单元13判断出加载韧体加载单元114之韧体程序所对应的版本号码与默认版本号码不符,则判定加载韧体加载单元114之韧体程序系为备用韧体程序,若主控单元13判断出韧体加载单元114包含备用韧体程序,表示主要韧体程序未合格或是更新韧体的过程发生错误而未成功加载韧体加载单元114,主控单元13可在可程序化逻辑单元11藉由执行备用韧体程序而启用I2C接口写入功能时经由I2C接口单元112重新发送主要韧体程序或是发送修复后之另一主要韧体程序至第二非挥发性内存单元113。
举例来说,以主要韧体程序包含为「1」之版本号码且备用韧体程序包含为「2」之版本号码为例,且以默认版本号码为「1」为例,若主控单元13根据为「1」之默认版本号码判断出韧体加载单元114包含之之韧体程序的版本号码符合为「1」之默认版本号码,主控单元13即判断出韧体加载单元114系加载主要韧体程序;反之,若主控单元13判断出韧体加载单元114包含之韧体程序的版本号码不符合为「1」之默认版本号码,例如韧体加载单元114包含版本号码为「2」之韧体程序,主控单元13即判断出韧体加载单元114系加载备用韧体程序而据以重新发送主要韧体程序或是发送修复后之另一主要韧体程序至第二非挥发性内存单元113。
其中,值得说明的是,图1系以服务器装置1包含主控单元13为例,然本案不以此为限,在其他的实施例中,服务器装置1更可连接于一外接之电子装置,例如电路板或是其他服务器,主控单元13可设置在外接之电子装置。
综上所述,根据本案之服务器装置及其可程序化逻辑单元之避免韧体无法更新之方法之一实施例,可程序化逻辑单元并不会因为主要韧体程序未通过验证而操作在设定模式造成非默认的I2C接口写入功能关闭,而开启没有电连接预留连接器或其控制器的默认JTAG接口,导致可程序化逻辑单元自动修复为先前版本之韧体程序后执行先前版本之韧体程序却无法藉由I2C接口单元或默认JTAG接口重载更新新版本的韧体程序于第二非挥发性内存单元,而无法再次进行韧体程序的加载更新之问题。可程序化逻辑单元之设计者或除错者在主要韧体程序未通过验证时并不需要打开机箱盖以藉由默认的JTAG接口更新主要韧体程序,设计者或除错者依然可藉由I2C接口单元修复主要韧体程序,大幅地提升可程序化逻辑单元之韧体程序之除错之灵活性与便利性。并且,I2C接口单元仅需两根脚位,且I2C接口单元之总线走线的长度较长,I2C接口单元较JTAG接口与SPI接口更能符合现今对于服务器稳定且轻薄之需求。
虽然本案已以实施例揭露如上然其并非用以限定本案,任何所属技术领域中具有通常知识者,在不脱离本案之精神和范围内,当可作些许之更动与润饰,故本案之保护范围当视后附之权利要求书所界定者为准。

Claims (10)

1.一种服务器装置,其特征在于,包含:
一第一非挥发性内存单元,用以储存一备用韧体程序;及
一可程序化逻辑单元,具有相应于一韧体写入方式之一目标总线写入功能及一默认总线写入功能,该目标总线写入功能系默认为关闭,该默认总线写入功能系默认为启用,该可程序化逻辑单元包含:
一目标总线接口单元;
一第二非挥发性内存单元,用以在该可程序化逻辑单元之一工作模式中根据为启用之该目标总线写入功能经由该目标总线接口单元接收一主要韧体程序并储存该主要韧体程序;
一韧体加载单元,耦接该第二非挥发性内存单元,用以加载该备用韧体程序或该主要韧体程序,以在加载该备用韧体程序或该主要韧体程序后启用该目标总线写入功能;及
一控制单元,耦接该韧体加载单元、该第一非挥发性内存单元及该第二非挥发性内存单元,用以在该主要韧体程序储存于该第二非挥发性内存单元之后在该工作模式中判断是否接收到一韧体更新指令,当接收到该韧体更新指令时,该目标总线写入功能由启用转为关闭,且该控制单元验证该主要韧体程序,当该主要韧体程序未通过验证时,该控制单元控制该韧体加载单元加载该备用韧体程序,以在该工作模式中重新启用该目标总线写入功能。
2.如权利要求1所述之服务器装置,其特征在于,该服务器装置更包含一主控单元耦接该可程序化逻辑单元,其中该主要韧体程序及该韧体更新指令系来自于该主控单元。
3.如权利要求2所述之服务器装置,其特征在于,该主控单元周期地根据该韧体加载单元储存之一韧体程序之版本号码判断该韧体程序系为该主要韧体程序或该备用韧体程序,若为该备用韧体程序,该主控单元在该目标总线写入功能重新启用后经由该目标总线接口单元发送另一主要韧体程序至该第二非挥发性内存单元。
4.如权利要求1所述之服务器装置,其特征在于,该控制单元更在接收到该韧体更新指令时清空该韧体加载单元,使已启用之该目标总线写入功能关闭。
5.如权利要求1所述之服务器装置,其特征在于,该控制单元在控制该韧体加载单元加载该备用韧体程序之前更验证该备用韧体程序,当该备用韧体程序通过验证时,该控制单元始控制该韧体加载单元加载该备用韧体程序。
6.一种避免韧体无法再次更新的方法,适于一可程序化逻辑单元,该可程序化逻辑单元具有相应于一韧体写入方式之一默认总线写入功能及一目标总线写入功能,其特征在于,该避免韧体无法更新的方法包含:
该可程序化逻辑单元内部之一非挥发性内存单元在该可程序化逻辑单元之一工作模式中启用该目标总线写入功能;
在该目标总线写入功能为启用时,经由该可程序化逻辑单元之一目标总线接口单元接收并储存一主要韧体程序;
该可程序化逻辑单元之一控制单元在该工作模式中判断是否接收到一韧体更新指令;
该目标总线写入功能在该控制单元接收到该韧体更新指令之后由启用转变为关闭;
在接收到该韧体更新指令之后,该控制单元验证该主要韧体程序;
当该主要韧体程序未通过验证时,该控制单元控制一备用韧体程序自该可程序化逻辑单元外部之另一非挥发性内存单元加载该可程序化逻辑单元之一韧体加载单元;及
该控制单元于该备用韧体程序加载该韧体加载单元后在该工作模式中控制该目标总线写入功能重新启用。
7.如权利要求6所述之避免韧体无法再次更新的方法,其特征在于,该主要韧体程序及该韧体更新指令系来自于该可程序化逻辑单元外部之一主控单元。
8.如权利要求7所述之避免韧体无法再次更新的方法,其特征在于,更包含:该主控单元周期地根据该韧体加载单元储存之一韧体程序之版本号码判断该韧体程序系为该主要韧体程序或该备用韧体程序,若为该备用韧体程序,该主控单元在该目标总线写入功能重新启用后经由该目标总线接口单元发送另一主要韧体程序至该非挥发性内存单元。
9.如权利要求6所述之避免韧体无法再次更新的方法,其特征在于,该控制单元控制该备用韧体程序加载该韧体加载单元之步骤包含:
该控制单元在控制该备用韧体程序加载该韧体加载单元之前更验证该备用韧体程序;及
当该备用韧体程序通过验证时,该控制单元始控制该备用韧体程序加载该韧体加载单元。
10.如权利要求6所述之避免韧体无法再次更新的方法,其特征在于,该目标总线写入功能由启用转变为关闭之步骤包含:该目标总线写入功能系根据该控制单元接收到该韧体更新指令时清空该韧体加载单元而关闭。
CN202010423978.4A 2020-05-19 2020-05-19 服务器装置及其避免韧体无法再次更新之方法 Active CN113703816B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010423978.4A CN113703816B (zh) 2020-05-19 2020-05-19 服务器装置及其避免韧体无法再次更新之方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010423978.4A CN113703816B (zh) 2020-05-19 2020-05-19 服务器装置及其避免韧体无法再次更新之方法

Publications (2)

Publication Number Publication Date
CN113703816A true CN113703816A (zh) 2021-11-26
CN113703816B CN113703816B (zh) 2023-06-06

Family

ID=78645341

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010423978.4A Active CN113703816B (zh) 2020-05-19 2020-05-19 服务器装置及其避免韧体无法再次更新之方法

Country Status (1)

Country Link
CN (1) CN113703816B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201734762A (zh) * 2016-03-25 2017-10-01 神雲科技股份有限公司 資料載入方法及主機板
CN107665123A (zh) * 2016-07-26 2018-02-06 佛山市顺德区顺达电脑厂有限公司 固件更新方法
TW201823980A (zh) * 2016-12-19 2018-07-01 英業達股份有限公司 電腦系統
CN109684153A (zh) * 2017-10-19 2019-04-26 佛山市顺德区顺达电脑厂有限公司 具有双韧体储存空间的服务器及其韧体更新方法
CN110083380A (zh) * 2018-01-26 2019-08-02 和硕联合科技股份有限公司 固件更新方法及使用此方法的电子装置
CN110427205A (zh) * 2019-06-26 2019-11-08 苏州浪潮智能科技有限公司 韧体的更新方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201734762A (zh) * 2016-03-25 2017-10-01 神雲科技股份有限公司 資料載入方法及主機板
CN107665123A (zh) * 2016-07-26 2018-02-06 佛山市顺德区顺达电脑厂有限公司 固件更新方法
TW201823980A (zh) * 2016-12-19 2018-07-01 英業達股份有限公司 電腦系統
CN109684153A (zh) * 2017-10-19 2019-04-26 佛山市顺德区顺达电脑厂有限公司 具有双韧体储存空间的服务器及其韧体更新方法
CN110083380A (zh) * 2018-01-26 2019-08-02 和硕联合科技股份有限公司 固件更新方法及使用此方法的电子装置
CN110427205A (zh) * 2019-06-26 2019-11-08 苏州浪潮智能科技有限公司 韧体的更新方法及装置

Also Published As

Publication number Publication date
CN113703816B (zh) 2023-06-06

Similar Documents

Publication Publication Date Title
CN110928499B (zh) 一种芯片内嵌的flash存储器、芯片以及芯片的启动方法
US7613937B2 (en) Method and apparatus for utilizing a microcontroller to provide an automatic order and timing power and reset sequencer
US20110093741A1 (en) Method for recovering bios and computer system thereof
CN101593120A (zh) 带外升级方法和系统
CN103299276A (zh) 嵌入式装置的软件更新过程
US8117434B2 (en) Component configuration mechanism for rebooting
EP3518097A2 (en) Firmware updating method and electronic device using the same
CN110809755A (zh) 电子控制系统
KR20080023841A (ko) 펌웨어 업그레이드와 손상된 펌웨어 자동 복구 시스템 및방법
US20230060908A1 (en) Computer system and method for booting up the computer system
US11579977B2 (en) Data storage device restoring method
CN105468390B (zh) Boot在线升级装置及方法
CN113835735A (zh) 一种fpga远程升级方法、系统和存储介质
CN103475514A (zh) 无bmc的节点、集群系统及bios修复和升级方法
CN113703816A (zh) 服务器装置及其避免韧体无法再次更新之方法
TWI726477B (zh) 伺服器裝置及其可程式化邏輯單元之避免韌體更新失敗後無法再次更新之方法
CN110928726A (zh) 一种基于看门狗及pxe的嵌入式系统自恢复方法及系统
CN113687842B (zh) 更新韧体不需断电的服务器及主板模块
CN114895950A (zh) 程序和引导层自更新方法及系统
CN108572835A (zh) 一种fpga配置文件在线升级系统
CN114741091A (zh) 固件加载方法、装置、电子设备及计算机可读存储介质
CN113760335B (zh) 服务器装置及其避免韧体无法再次更新之方法
US20060282254A1 (en) System and method for dealing with component obsolescence in microprocessor-based control units
CN111176902A (zh) 一种使用BMC Flash备份Controller Device韧体的装置和方法
KR100232880B1 (ko) 교환기 시스템의 응용 프로그램의 갱신방법

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