CN112868013A - 经由边带接口恢复场域可程序门阵列固件的系统及方法 - Google Patents

经由边带接口恢复场域可程序门阵列固件的系统及方法 Download PDF

Info

Publication number
CN112868013A
CN112868013A CN201980068661.9A CN201980068661A CN112868013A CN 112868013 A CN112868013 A CN 112868013A CN 201980068661 A CN201980068661 A CN 201980068661A CN 112868013 A CN112868013 A CN 112868013A
Authority
CN
China
Prior art keywords
firmware
version
remote access
access controller
main
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
CN201980068661.9A
Other languages
English (en)
Other versions
CN112868013B (zh
Inventor
乔汉·拉哈尔佐
帕凡·K·盖瓦拉
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.)
Dell Products LP
Original Assignee
Dell Products LP
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 Dell Products LP filed Critical Dell Products LP
Publication of CN112868013A publication Critical patent/CN112868013A/zh
Application granted granted Critical
Publication of CN112868013B publication Critical patent/CN112868013B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/76Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)
  • Stereo-Broadcasting Methods (AREA)
  • Circuits Of Receivers In General (AREA)

Abstract

本发明揭露了一种固件恢复方法,用以经由边带管理总线恢复诸如场域可程序门阵列卡的装置的固件,前述场域可程序门阵列卡安装于信息处理系统内。信息处理系统的远程访问控制器可为装置生成安全密钥并将此安全密钥传送至装置。远程访问控制器可请求装置报告通过装置所使用固件的版本。基于安全密钥可对来自装置的响应进行认证。判断主固件版本是否符合通过装置所报告的固件版本。若所报告的固件版本与该主固件的版本不符,则使装置中止并通过主固件替换装置的当前固件。通过用于更新装置固件的主固件对装置进行初始化。

Description

经由边带接口恢复场域可程序门阵列固件的系统及方法
技术领域
本发明关于一种信息处理系统(HIS,information handling system),更具体而言,本发明关于针对信息处理系统的组件所进行的管理。
背景技术
随着信息的价值与应用的与日俱增,个人和企业皆需要寻求多种额外的方式对信息进行处理与储存。而对于用户来讲,信息处理系统为一种可行的选择。通常,信息处理系统可出于商业目的、个人目的或其它目的而对信息或数据进行处理、编译、储存和/或传送,因此信息处理系统可使信息的价值得以为用户所利用。鉴于不同用户或应用程序间的对于技术与信息处理的需求和要求各有不同,故信息处理系统可依所处理的信息、处理信息的方式、被处理/储存或传送的信息的数量以及被处理/储存或传送的信息的速度及有效性而作出改变。同时,信息处理系统中的前述改变可使信息处理系统成为通用的系统或特定用户所使用的系统,或者前述改变可使信息处理系统用于诸如金融交易过程、航班预订、企业数据储存或全球通信等特定用途。此外,信息处理系统亦可包含用于处理、储存和传送信息的各种硬件组件和软件组件,并且此信息处理系统还可包含一个或多个计算机系统、数据储存系统和网络系统。
长久以来,通过信息处理系统执行软件程序一直是用以定制信息处理系统的作业的最为常见的技术。近来,人们尝试着通过场域可程序门阵列(FPGA,Field ProgrammableGate Array)卡以硬件速度定制信息处理系统功能,同时这种尝试所花费的价格也是可以承受的。其中,场域可程序门阵列卡系依据固件指令而进行作业。但是,场域可程序门阵列卡所使用的固件的损毁亦会危及到场域可程序门阵列卡的作业。
发明内容
本发明的多个实施例揭露了一种固件恢复方法,其中具有固件的装置安装于信息处理系统内,其中可经由边带管理总线(sideband management bus)恢复固件。这种固件恢复方法包含:为装置生成安全密钥,将安全密钥传送至装置,请求装置报告通过装置所使用固件的版本,基于安全密钥对来自装置的固件版本响应进行认证;判断主固件的主固件版本是否符合通过装置所报告的固件版本;以及若所报告的固件版本与主固件版本不符,固件恢复方法进一步包含:中止装置的作业;通过主固件替换装置的固件;及用更新后的固件使装置进行初始化。
在关于前述固件恢复方法的其他实施例中,可用安全密钥对固件版本响应进行数字签名。在关于前述固件恢复方法的其他实施例中,可依据通过装置所提供的数字签名对固件版本响应进行认证。在关于前述固件恢复方法的其他实施例中,装置每次重启时可产生用于使装置报告固件的版本的请求。在关于前述固件恢复方法的其他实施例中,可通过对固件版本响应中包含的固件标头所指明的版本与主固件的标头所指明的版本进行比较,确定所报告的固件是否符合主固件。在关于前述固件恢复方法的其他实施例中,装置可将固件保存于现用分区与恢复分区中。在关于前述固件恢复方法的其他实施例中,装置为一场域可程序门阵列卡。
本发明的实施例揭露了一种固件恢复系统,其中具有固件的装置位于信息处理系统内。这种固件恢复系统包含︰远程访问控制器,远程访问控制器经由边带管理总线连接于装置,其中远程访问控制器用于:为装置生成安全密钥;将安全密钥传送至装置;请求装置报告通过装置所使用固件的版本;基于安全密钥对来自装置的响应进行认证;判断主固件的主固件版本是否符合通过装置所报告的固件版本;以及若所报告的固件版本与主固件的版本不符,则固件恢复系统进行下列作业:使装置中止;并且通过主固件替换装置的固件;其中装置依据一现用分区内所储存的固件进行作业,其中装置还用于:传送固件版本响应,固件版本响应用于报告现用分区内所储存的固件的版本;接收主固件,用以替换现用分区内的固件;基于更新的固件分区进行初始化。
在关于前述固件恢复系统的其他实施例中,可用安全密钥对固件版本响应进行数字签名。在关于前述固件恢复系统的其他实施例中,可依据通过装置所提供的数字签名对固件版本响应进行认证。在关于前述固件恢复系统的其他实施例中,装置每次重启时可产生用于使装置报告固件的版本的请求。在关于前述固件恢复系统的其他实施例中,可通过对固件版本响应中包含的一固件标头所指明的版本与主固件的标头所指明的版本进行比较,确定所报告的固件是否符合主固件。在关于前述固件恢复系统的其他实施例中,装置可为一场域可程序门阵列卡。
本发明的多个实施例揭露了一种远程访问控制器,这种远程访问控制器用于通过信息处理系统的边带管理总线恢复装置的固件。这种远程访问控制器包含:一个或多个处理器;以及一内存装置,内存装置与一个或多个处理器相耦合,内存装置储存有多个机读指令,当通过一个或多个处理器执行等机读指令时,远程访问控制器用于:为装置生成安全密钥;将安全密钥传送至装置;请求装置报告当前固件版本;基于安全密钥对来自装置的响应进行认证;判断主固件版本是否符合通过装置所报告的现用固件版本;若所报告的现用固件版本与主固件版本不符,则使装置中止;通过主固件替换装置的现用固件;及用更新后的固件使装置进行初始化。
在关于前述远程访问控制器的其他实施例中,可用安全密钥对响应进行数字签名。在关于前述远程访问控制器的其他实施例中,可依据通过装置所提供的数字签名对响应进行认证。在关于前述远程访问控制器的其他实施例中,装置每次重启时可产生用于向装置报告当前固件版本的请求。在关于前述远程访问控制器的其他实施例中,可对主固件中所包含的一固件标头所指明的版本与响应中所包含的固件标头所指明的版本进行比较,用以确定所报告的固件是否符合主固件。在关于前述远程访问控制器的其他实施例中,装置可为场域可程序门阵列卡。在关于前述远程访问控制器的其他实施例中,装置可将固件保存于现用分区与恢复分区中。
附图说明
可以结合附图来阅读说明性实施例的描述。应当理解,为了说明的简单和清楚,附图中示出的组件不一定按比例绘制。
图1为本发明的某些实施例中机架的某些部件经由边带管理总线恢复场域可程序门阵列卡固件的示意图。
图2为本发明的某些实施例中以信息处理系统的某些组件作为机架组件排经由边带管理总线恢复场域可程序门阵列卡固件的示意图。
图3为用于对本发明的某些实施例中经由边带管理总线恢复场域可程序门阵列卡固件的恢复方法中某些步骤进行描述的流程图。
具体实施方式
具体实施方式图1为机架100中部分组件的方框图,其中此机架100包含一个或多个计算插座(sled)105a至105n和一个或多个储存插座115a至115n,用以实现本发明所揭露的系统及方法。同时,机架100还可包含一个或多个托架(bay),其中每个托架可容纳一个独立的插座(也可另称的为或代称的为“托盘”,“刀片”(blade)和/或“节点”),上述插座可以是诸如计算插座105a至105n与储存插座115a至115n的插座。其中,机架100可支持具有各种数量(例如4个、8个、16个、32个)各种尺寸(例如单宽度,双宽度)及各种物理结构的托架。而本发明其它实施例中也可包含多种类型的插座,用以提供各种类型的储存能力和/或处理能力。并且,其它类型的插座还可以提供电源管理功能与联网功能。同时,插座可以独立地安装于机架100上并从机架100卸下,因此通过插座与其它类型的插座间的更替,可重新对机架的计算功能与储存功能进行配置,并且在许多状况下这种插座间的更替都不会影响安装在机架中的其它插座的作业。
同时,可将多个机架100置于框架(rack)内。数据中心可使用大量的框架,且在具有各种结构的框架中又可安装各种不同类型的机架。因此,由插座、机架及框架所提供的模块化构架可令计算插座105a至105n和储存插座115a至115n对诸如降温资源、供电资源与网络带宽资源的类的某些资源进行共享,进而提高效率并可支持更大的计算量负载。
机架100可安装于框架结构内,此框架结构可供机架100进行完全降温或部分降温。对于进行通风降温的状况,框架可包含一组或多组降温风扇,这些降温风扇可用于使框架内所容纳的机架100中的热空气流通。与的相似的是,在本发明可替代性实施例或其它实施例中,机架100也可包含一个或多个降温风扇130,用以使机架内所安装的计算插座105a至105n与储存插座115a至115n中的热空气流通。因此,前述框架与安装在框架内的机架100可利用降温风扇的各种配置及组合对机架100内所容纳的计算插座105a至105n、储存插座115a至115n与其它组件进行降温。
其中通过与机架100所提供的托架相对应的连接件,可使计算插座105a至105n与储存插座115a至115n中的各插座与机架100进行耦合,并且这些连接件可使独立的插座与机架背板160进行物理上的耦合与电耦合。其中,机架背板160可以是包含有电迹线(electrical trace)的印刷电路板,且连接件可用于在与机架背板160相连的机架100中的各部件的间传送讯号。在本发明的多个实施例中,机架背板160可包含诸如电缆、电线、中段背板(midplane)、背板、连接件、扩展插槽及多任务器的各种其它组件。在本发明的某些实施例中,机架背板160可为包含其上安装有各种电子组件的母板。安装于机架背板160上的此类组件可包含用于执行串行连接小型计算机系统接口(SAS,Serial Attached SCSI)扩展器150、输入/输出控制器145、网络控制器140及供电单元135的全部功能或部分功能的组件。
在某些本发明实施例中,计算插座105a至105n可以是信息处理系统,例如图2所示的信息处理系统200。其中,计算插座105a至105n可提供多种计算处理资源,其中这些计算处理资源可支持电子商务应用程序、多媒体应用程序、商业应用程序及科学计算应用程序中的各种应用程序,例如通过云端所提供的服务。通常,计算插座105a至105n配设有可提供前沿计算能力的硬件与软件。因此,通过前述计算能力所提供的服务通常可作为能以最小宕机时间进行作业的高效系统。在对图2所进行的更为详尽的描述中,计算插座105a至105n可用于多功能计算任务或对特定计算任务进行优化。
如图所示,计算插座105a至105n中的每一计算插座包含远程访问控制器(RAC,remote access controller)110a至110n。在对图2所进行的更为详尽的描述中,远程访问控制器110a至110n可为计算插座105a至105n提供远程监视功能与远程管理功能。为了支持前述远程监视功能与远程管理功能,远程访问控制器110a至110n可通过带内(in-band)通讯与边带(sideband)通讯(即,带外(out-of-band)通讯)连接至计算插座105a至105n中的不同组件与机架100。远程访问控制器110a至110n可从机架100处收集诸如温度传感器读数的类的传感器资料,用以对机架100、计算插座105a至105n及储存插座115a至115n进行通风降温。此外,远程访问控制器110a至110n中的每一远程访问控制器可实现与计算插座105a至105n相关的各种监视功能与管理功能,其中这些远程访问控制器110a至110n需要各计算插座105a至105n的各种内部组件以及边带总线连接器。
如图所示,机架100还包含一个或多个储存插座115a至115n,其中,与计算插座105a至105n类似,前述储存插座可连接于机架背板160并安装于机架100的一个或多个托架内。其中,储存插座115a至115n中的每一储存插座可以包含数量不同且类型不同的多个储存装置。例如,储存插座115a至115n可包含:串行连接小型计算机系统接口(SAS,SerialAttached SCSI)磁盘驱动器、串行进阶技术附接(SATA,Serial Advanced TechnologyAttachment)磁盘驱动器、固态磁盘驱动器(SSD,solid-state drive)及其它类型的储存驱动器的多种组合。其中,藉助于与机架100相耦合的计算插座,储存插座115a至115n可应用于各种储存配置中。
各计算插座105a至105n包含储存控制器135a至135n,前述储存控制器可用于通过机架100对储存驱动器进行存取,其中机架100可对储存驱动器进行存取。在独立的储存控制器135a至135n中,一些储存控制器可用于逻辑电路储存驱动器及物理储存驱动器的独立磁盘冗余数组结构(RAID,Redundant Array of Independent Disks),例如,前述存储驱动器可为通过储存插座115a至115n所提供的储存驱动器。在本发明的一些实施例中,储存控制器135a至135n中的一些储存控制器或全部储存控制器可以是主机总线适配器(HBA,HostBus Adapters),这种主机总线适配器可经由储存控制器135a至135n和/或串行连接小型计算机系统扩展器150在对物理储存驱动器进行存取的过程提供更多限制能力。
如图所示,各计算插座105a至105n还包含场域可程序门阵列(FPGA)卡160a至160n,其中这种场域可程序门阵列卡可用于定制计算插座105a至105n的作业。在对图2与图3所进行的更为详尽的描述中,由于场域可程序门阵列卡160a至160n可能使用了已受损的固件指令来进行作业,所以会使场域可程序门阵列卡无法使用并且可能暴露出计算插座105a至105n与整个机架100的安全隐患。在本发明各种实施例中,远程访问控制器110a至110n可通过场域可程序门阵列卡监视正在使用中的固件,并且,当通过场域可程序门阵列对使用中的固件中的误差进行检测时,可通过远程访问控制器所保留的主副本来替换场域可程序门阵列卡的固件。
除通过储存插座115a至115n所提供的数据储存功能以外,机架100还可对其它储存资源进行存取,其中前述其它储存资源可以是安装于机架100中的组件和/或被安装于容纳有诸如储存刀片的机架100的框架内的其它位置。在某些情况下,可以通过耦合至机架100的机架背板160的串行连接小型计算机系统接口扩展器150对这种储存资源进行存取。串行连接小型计算机系统接口扩展器150可与具有多个磁盘组(JBOD,Just a Bunch OfDisks)储存驱动器155进行连接,其中可独立地对前述磁盘组储存驱动器155进行配置与管理,同时不在磁盘组储存驱动器155上产生数据冗余。其中,其它的磁盘组储存资源155也可以位于安装有机架100的数据中心内的其它位置。同时,前述其它的磁盘组储存资源155也可位于远程。
如图所示,图1所示的机架100包含有网络控制器140,前述网络控制器140可对安装于机架内的计算插座105a至105n与储存插座115a至115n进行网络存取。其中,网络控制器140可包含各种交换机、适配器、控制器与连接器,用以使机架100直接连接于网络或通过其它网络组件连接于网络,同时还可使机架100通过安装有机架100的框架连接于所配设的连接器。与的相似地,机架100可包含供电单元135,此供电单元135可向机架的组件提供各种电平的直流电,此直流电可来自于一交流电源或来自于经由安装有机架100的框架提供的供电系统所传送的电力。在本发明的某些实施例中,供电单元135可位于插座内,为前述插座为底架100提供了多余且可进行热抽换的供电单元。
同时,机架100还可包含多种输入/输出控制器145,这些输入/输出控制器可用于各种输入/输出埠,例如,前述输入/输出端口可以是支持键盘输入功能、键鼠输入功能和/或视讯显示功能的通用串行总线埠。进而,输入/输出控制器145便可通过机架管理控制器125使各种外接设备125a(键盘、视讯显示器及键鼠)具备供用管理者与机架100进行交流的能力。其中,机架管理控制器125还可包含储存模块125c,这种储存模块具备对机架100的储存装置的某些特性进行管理与配置的能力,例如,前述储存装置可以是位于储存插座115a至115n内的储存装置以及位于磁盘组储存驱动器155内的储存装置。
除了为外接设备125a提供管理机架100的能力以外,机架管理控制器125还提供了可用于对机架100的基础结构资源进行共享的多种附加功能。在某些情况下,机架管理控制器125还可经由机架100而作为对供电单元135、网络控制器140及降温风扇130进行管理的工具。如上所述,通过机架100所应用的降温风扇130可包含降温系统,此降温系统由可能安装有机架100的框架所提供并由机架管理控制器125的降温模块125b进行管理。
为实现本发明的目的,信息处理系统可用以基于商业目的、科学目的、进行控制的目的或其它目的对具有任何形式的信息、情报或数据进行计算、运算、判断、处理、传输、接收、检索、生产、交换、储存、显示、通信、验证、检测、记录、复制、处理或应用的任意技术手段或技术手段的集合。例如,信息处理系统可以是个人计算机(例如,台式计算机或笔记本计算机)、平板计算机、移动设备(例如,个人数字助理或智能型手机)、服务器(例如刀片式服务器或机架服务器)、网络储存装置或任何其它适当的装置,而上述装置在尺寸、形状、性能、功能与价格等方面可能是各不相同的。其中,信息处理系统可包含:随机存取内存(RAM,Random Access Memory);诸如中央处理器(CPU,Central Processing Unit)、硬件控制逻辑电路或软件控制逻辑电路的一个或多个处理资源;只读存储器(ROM,Read-Only Memory)和/或其它类型的非易失性内存。并且,此信息处理系统中的其它组件还可包含:一个或多个磁盘驱动器、一个或多个用于与外部设备进行通讯的网络端口以及诸如键盘、键鼠、触控屏和/或视讯显示器的各种输入/输出装置。如本发明说明书所述,信息处理系统还可包含一个或多个总线,前述总线可用于在各种硬件组件之间进行通讯。下文将对信息处理系统的一实例进行更为详尽的描述。
图2示出了信息处理系统200用于实现本发明所揭露的系统及方法的实例。应当理解的是,虽然在说明书所描述的实施例中信息处理系统为机架的托架内所使用的计算插座或类似的计算组件,但本发明其它实施例亦可使用其它类型的信息处理系统。在图2所示的示意性实施例中,信息处理系统200可以是计算组件,例如,前述计算组件可以是用于对由机架100所提供的基础结构资源进行共享的计算插座105a至105n。
图2所示的信息处理系统200可以是计算插座,如图1所示的可安装于机架内的计算插座105a至105n,其中亦可转而将前述机架安装到框架内。进而,依照前述方式所安装的信息处理系统200可使用通过机架和/或框架所提供的用以共享的电源资源、网络资源与降温资源。其中,信息处理系统200可使用一个或多个处理器205。在本发明的一些实施例中,处理器205可包含:主处理器与协处理器,并且主处理器和协处理器中的各处理器可包含有多个处理核心,在某些情况下,各处理核心可用于运行服务器进程的实例。在本发明某些实施例中,在信息处理系统200已配置为支持诸如多媒体服务应用程序与图形应用程序的功能的情况下,所有处理器205或是其中一台处理器205可以是图形处理单元(GPU,graphicsprocessing unit)。
如图所示,处理器205所包含的内存控制器205a可直接集成于处理器205的电路内或作为独立集体电路而与处理器205位于同一芯片(die)上。其中,内存控制器205a可用于管理经由高速内存接口205b从信息处理系统205的系统内存210传送的数据或传送至信息处理系统205的系统内存210的资料。
可通过内存总线接口205b使系统内存210与处理器205相耦合,用以于通过处理器205执行计算机程序指令的过程中为处理器205提供高速内存。因此,系统内存210可包含诸如静态随机存取内存(SRAM,static RAM),动态随机存取内存(DRAM,dynamic RAM),与非(NAND)闪存之类的适于通过处理器205进行高速内存作业的内存组件。在本发明的某些实施例中,系统内存210可为持久性非易失性内存与易失性内存的组合。
在本发明的某些实施例中,系统内存210可由多个可移式内存模块组成。在所示出的实施例中,系统内存210包含有可移式内存模块210a至210n。其中,可移式内存模块210a至210n中的各可移式内存模块可与接收可移式内存模块210a至210n的印刷电路板储存插槽相对应,例如,这些印刷电路板储存插槽可以是双列直插式储存模块(DIMM,Dual In-line Memory Module),可移式内存模块210a至210n可与插槽相耦合,进而可在需要时(例如在升级内存功能或更换故障组件时)从插槽上拆下这些可移式内存模块。在本发明的其它实施例中,信息处理系统系统内存210可配置有与不同类型的可移式内存模块形状因素相对应的内存插槽接口,例如前述可移式内存模块可以是双列直插式封装(DIP,Dual In-line Package)内存、单列直插式引脚封装(SIPP,Single In-line Pin Package)内存、单列直插式内存模块(SIMM,Single In-line Memory Module)和/或球形数组(BGA)内存。
信息处理系统200可使用通过连接于各处理器205的集成电路所实现的芯片组。其中,可直接于独立的处理器205的集成电路内实现整个芯片组或实现芯片组的一部分。前述芯片组可使一个或多个处理器205通过一个或多个总线215对各种资源进行存取。而在本发明的某些实施例中,还可使用任意数量的总线形成图中所示的由总线215的多条路径。在本发明的某些实施例中,总线215可包含可通过快速外围组件互连根联合体进行存取的快速外围组件互连(PCIe,PCI Express)交换结构(switch fabric)。信息处理系统200还可包含诸如快速外围组件互连埠的一个或多个输入/输出埠250,前述输入/输出埠250可用于使信息处理系统200直接与其它信息处理系统、储存资源或其它外围组件相耦合。
如图所示,各种资源可通过总线215与信息处理系统200的处理器205相耦合。例如,处理器205可与网络控制器225相耦合,例如,前述网络控制器可为路接口控制器(NIC,Network Interface Controller),此路接口控制器可与信息处理系统200相耦合并使信息处理系统200可经由外部网络(例如因特网或局域网络)进行通讯。同时,此处理器205还可与电源管理单元260相耦合,其中此电源管理单元260可连接于安装有计算插座的信息处理系统中机架100的供电单元135。在本发明某些实施例中,图形处理器235可包含于作为信息处理系统200的组件所安装的一个或多个视频卡或图形适配器或者嵌入式控制器内。在本发明某些实施例中,图形处理器235可集成于远程访问控制器255内,并且此图形处理器可通过显示设备来显示与信息处理系统200相关的诊断接口及管理接口,其中前述显示设备可直接地与远程访问控制器255相耦合或是在远程与远程访问控制器255相耦合。
如本发明说明书所述,信息处理系统200可包含一个或多个场域可程序门阵列卡220。并且,除了可通过场域可程序门阵列卡220的编程功能在部署信息处理系统200后对场域可程序门阵列集成电路进行重新配设之外,通过信息处理系统200所支持的各场域可程序门阵列卡220还可包含各种处理资源与各种内存资源。其中,可以对独立的各个场域可程序门阵列卡220进行优化,用以执行特定的处理任务和/或支持与信息处理系统200相耦合的特定硬件,其中前述特定的处理任务诸如:特定讯号处理功能、安全功能、数据挖掘功能和人工智能功能。
如图所示,场域可程序门阵列卡220包含有场域可程序门阵列集成电路220b,其中可对此场域可程序门阵列集成电路220b进行重新编程,用以对通过场域可程序门阵列卡220所执行的作业进行修改。在本发明的某些实施例中,程序逻辑数组集成电路220b的作业可基于场域可程序门阵列卡220的非易失性内存内所储存的固件220c的指令而进行。其中,固件220c可实现场域可程序门阵列电路220b的多种作业,例如初始化进程、执行安全协议以及配置输入/输出功能。在某些情况下,固件220c可包含对场域可程序门阵列电路220b的内部结构进行配置过程中所使用的比特流。因此,固件220c受损会危及到场域可程序门阵列220b的作业。在某些情况下,固件220c受损会致使场域可程序门阵列220b无法进行作业。
如图所示,场域可程序门阵列220b的固件220c可储存于现用分区220d与恢复分区220e内。其中,场域可程序门阵列220b可使用储存于现用分区220d内的固件指令进行作业。在某些情况下,恢复分区220e所包含的固件指令与现用分区220d中所储存的固件指令具有相同的版本。但是,在许多情况下,恢复分区220e仅用于储存固件指令的先前版本,用以提供回滚功能。在许多情况下,提供给恢复分区220e的储存空间可能无法同时容纳现用分区220d的备份副本以及回滚作业所还原到的固件的先前版本。
在通常情况下,场域可程序门阵列可用恢复分区中所储存的固件替换现用分区中受损的固件。在这种状况下,仅当场域可程序门阵列已被重设为总线端点之后,方可用恢复分区中所储存的固件对进行场域可程序门阵列重新初始化,此时使用恢复分区固件进行配置。而于装置管理总线上对于场域可程序门阵列进行重设的过程会导致延迟并会触发可能产生级联效应的总线死锁。如上所述,在许多情况下,恢复分区中所储存的固件可能不同于现用分区中的固件。在前述状况下,恢复分区中的固件可能会暴露出场域可程序门阵列的安全隐患,而这些安全隐患已由现用分区中固件的更新的版本解决。在这种情况下,恢复使用恢复分区中的固件会致使场域可程序门阵列的作业遭到恶意行为者的滥用。在下文对本发明实施例所作出的更为详尽的阐释中,远程访问控制器255可用于对场域可程序门阵列220b的现用分区220d中固件的受损情况加以检测,并且此远程访问控制器255还可在不依赖于场域可程序门阵列卡的恢复固件分区220e的状况下对受损的固件进行替换。
如图所示,场域可程序门阵列卡220还可包含管理控制器220a,这种管理控制器可通过边带管理总线275a与远程访问控制器255进行互操作。在下文对本发明实施例所作出的更为详尽的阐释中,在对场域可程序门阵列卡220中固件的受损情况进行检测的过程中以及通过远程访问控制器255所保存的场域可程序门阵列的主副本替换受损的固件的过程中,管理控制器220a可与远程访问控制器255进行互操作。在本发明的某些实施例中,管理控制器220a可用于对场域可程序门阵列卡的现用分区220d与恢复固件分区220e中所出现的任何改变进行检测。
当检测到改变时,管理控制器220a可将现用分区220d与恢复固件分区220e中固件的副本传送至远程访问控制器255,用以保留固件的主副本。在本发明的某些实施例中,远程访问控制器255可在将所接收的固件作为主副本的前对其真实性进行认证。在本发明的某些实施例中,远程访问控制器255可基于核对和(checksum)计算对固件进行认证。在本发明的某些实施例中,远程访问控制器255经由对固件的完整性及来源加以认证,进而对所接收到的固件加以认证。
在本发明的某些实施例中,信息处理系统200可以使用基本输入/输出系统(BIOS,Basic Input/Output System)进行作业,其中此基本输入/输出系统储存于可通过处理器205进行存取的非易失性内存中。其中,基本输入/输出系统可以提供抽象化层(abstraction layer),进而信息处理系统200的操作系统可通过此抽象化层与此信息处理系统的硬件组件进行连接。进而,当对信息处理系统200进行供电或重启信息处理系统200时,处理器205可利用基本输入/输出系统指令对与信息处理系统200相耦合的硬件组件进行初始化与测试,其中前述硬件组件可包含:永久性地作为信息处理系统200的主板组件而进行安装的组件;以及安装于信息处理系统200所支持的各种扩展插槽内的可移式组件。同时,前述基本输入/输出系统指令还可用于加载信息处理系统200所使用的操作系统。在本发明的某些实施例中,信息处理系统200还可利用在上述基本输入/输出系统之外的或替代基本输入/输出系统的统一可扩展固件接口(UEFI,Unified Extensible FirmwareInterface)。在本发明的某些实施例中,可通过远程访问控制器255实现由基本输入/输出系统所提供的全部功能或部分功能。
在本发明某些实施例中,可通过处理器205的其它供电层与信息处理系统200的其它组件使远程访问控制器255进行作业,因此在信息处理系统200断电时可使远程访问控制器255继续进行作业并继续执行管理任务。如上所述,可通过远程访问控制器255执行基本输入/输出系统所提供的包含有启动信息处理系统200的操作系统在内的各种功能。在本发明的一些实施例中,远程访问控制器255可以执行多种功能,用以在信息处理系统200进行初始化(即,处于裸机状态)的前对信息处理系统200及其硬件组件的完整性进行认证。
其中,远程访问控制器255可包含服务处理器255a或专用微控制器,前述服务处理器或专用微控制器用于操控可对信息处理系统200进行远程监控与管理的管理软件。其中,远程访问控制器255可安装于信息处理系统200的主板上或是通过主板所提供的扩展插槽与信息处理系统200相耦合。为了支持远程监控功能,网络适配器225c可通过各种网络技术以有线网络连接和/或无线网络连接的形式与远程访问控制器255相连接。此处,远程访问控制器的一非限制性示例为戴尔公司出产的改进型积体远程访问控制器(iDRAC,integrated
Figure BDA0003024558400000161
Remote Access Controller),这种改进型积体远程访问控制器嵌入于标识为“PowerEdgeTM”的戴尔公司出产的服务器中,并且这种改进型积体远程访问控制器具有可协助信息技术(IT)管理员进行部署、更新、监视与维护的功能。
在本发明的一些实施例中,远程访问控制器255可通过边带总线接口对信息处理系统的各种被管理装置(如,场域可程序门阵列卡220、远程访问控制器255、储存控制器230及传感器280)进行监视与管理。例如,可以使用内部集成电路(I2C)边带总线连接器275a至275d对装置管理中所使用的讯息进行传送,其中可通过远程访问控制器的内部集成电路多任务器255d的作业分别为场域可程序门阵列卡220、远程访问控制器255、储存控制器230及传感器280中的每一个被管理装置单独建立内部集成电路边带总线连接器。如图所示,可通过诸如快速外围组件互连根联合体的成行的总线215使信息处理系统200的某些被管理装置(例如,场域可程序门阵列卡220、远程访问控制器255及储存控制器230)与信息处理系统的处理器205相耦合,其中成行的总线215与用于设备管理的内部集成电路边带总线连接器275a至275d是相互分开的。同时,远程访问控制器255的管理功能可利用位于信息处理系统内的各种被管理的传感器280所收集到的信息。例如,远程访问控制器255可使用由传感器280所收集的温度数据来对信息处理系统200进行死循环气流降温。
在本发明某些实施例中,远程访问控制器255的服务处理器255a可依内部集成电路协处理器255b而于远程访问控制器255与信息处理系统的被管理装置(如,场域可程序门阵列卡220、远程访问控制器255、储存控制器230及传感器280)的间实现边带内部集成电路通讯。其中,内部集成电路协处理器255b可以是专用协处理器或微控制器,这些处理器用于经由边带内部集成电路总线接口与信息处理系统的被管理装置(场域可程序门阵列卡220、远程访问控制器255、储存控制器230及传感器280)进行连接。在本发明的某些实施例中,内部集成电路协处理器255b可以是服务处理器255a的集成组件,此集成组件诸如具有服务处理器255a特性的外围片载系统。虽然,图2中以单条线路的形式示出了内部集成电路边带总线连接器275a至275d。但是,内部集成电路边带总线连接器275a至275d中的各内部集成电路边带总线连接器可包含频率线与数据线,这些频率线与数据线可使远程访问控制器255与被设计为模块化场域可更换单元(FRU,field replaceable units)的内部集成电路端点控制器220a、内部集成电路端点控制器225a、内部集成电路端点控制器230a及内部集成电路端点控制器280a相耦合。
如图所示,经由通过内部集成电路多任务器255d所选出的各内部集成电路边带总线连接器275a至275d,内部集成电路协处理器255b可与各被管理装置(场域可程序门阵列卡220、远程访问控制器255、储存控制器230及传感器280)相连。进而,经由此内部集成电路多任务器255d所执行的切换作业,可通过内部集成电路协处理器255b与单个被管理装置(场域可程序门阵列卡220、远程访问控制器255、储存控制器230及传感器280)间的直接耦合形成内部集成电路边带总线连接器275a至275d。
在提供边带管理能力的过程中,内部集成电路协处理器255b可分别与相应的内部集成电路端点控制器220a、内部集成电路端点控制器225a、内部集成电路端点控制器230a及内部集成电路端点控制器280a进行互操作,其中前述内部集成电路端点可分别为场域可程序门阵列卡220、远程访问控制器255、储存控制器230及传感器280实现内部集成电路通讯。其中,内部集成电路端点控制器220a、内部集成电路端点控制器225a、内部集成电路端点控制器230a及内部集成电路端点控制器280a可为用于以边带内部集成电路讯息与远程访问控制器255进行通信的专用微控制器;或者,内部集成电路端点控制器220a、内部集成电路端点控制器225a、内部集成电路端点控制器230a及内部集成电路端点控制器280a可集成场域可程序门阵列卡220、远程访问控制器255、储存控制器230及传感器280的中各被管理装置的处理器的片载系统功能中。在本发明某些实施例中,场域可程序门阵列卡220的内部集成电路端点控制器280a可与上述管理控制器220a相对应。
在本发明的不同实施例中,信息处理系统200不必包含有图2所示的每一组件。同时,在本发明的不同实施例中,除了图2所示的组件的外,信息处理系统200还可以包含各种其它组件。此外,在本发明某些实施例中,图2中示为独立的组件的某些组件亦可集成于其它组件内。例如,在某些实施例中,图中示出的组件所提供的全部功能或部分功能可由集成于一个或多个处理器205而作为片载系统的组件提供。
图3为本发明某些实施例中用于边带管理总线恢复场域可程序门阵列卡固件的方法的流程图。如图2所示,可对场域可程序门阵列卡进行安装用以使其作为信息处理系统的组件,其中远程访问控制器可通过边带管理总线对前述信息处理系统进行管理。图中所示出的实施例开始于方框305处,其中可安装场域可程序门阵列卡,用以使其作为信息处理系统的组件,进而使场域可程序门阵列卡可经由边带管理总线而与信息处理系统的远程访问控制器相耦合。
在方框310中,当检测到已安装场域可程序门阵列卡时,远程访问控制器的服务处理器为被检测的场域可程序门阵列卡生成唯一的安全密钥。在方框315中,将前述安全密钥储存于远程访问控制器的安全储存器中并将副本传送至场域可程序门阵列卡,其中可将此副本保存于远程访问控制器的安全储存器中。如上所述,除进行初始化过程之外,场域可程序门阵列卡还可以根据储存在现用固件分区中的固件指令开始进行作业。在本发明的某些实施例中,在初次启动场域可程序门阵列卡时,可将现用分区中的固件副本和/或恢复分区中的固件副本提供至远程访问控制器,其中可将固件存为主副本,用以对损毁的场域可程序门阵列卡固件进行替换。与之类似地,当检测到对场域可程序门阵列卡的固件作出了任何修改时,场域可程序门阵列卡管理控制器可将现用分区中的场域可程序门阵列固件的副本和/或恢复分区中的场域可程序门阵列固件的副本提供到远程管理控制器。因此,在方框320中,场域可程序门阵列卡进行开始作业,直至重启场域可程序门阵列卡和/或安装有此场域可程序门阵列卡的信息处理系统。
在方框325中,在信息处理系统和/或场域可程序门阵列卡进行初始化的过程中,远程访问控制器的服务处理器可经由边带管理总线向场域可程序门阵列卡发出请求,用以报告场域可程序门阵列所使用的现用分区中的固件的当前版本。在图2所进行的描述中,远程访问控制器可用于对各种基本输入/输出系统功能进行控制,例如,前述基本输入/输出系统功能可以是启动信息处理系统的操作系统及对信息处理系统的各种组件进行初始化。因此,在本发明某些实施例中,远程访问控制器可用于中止场域可程序门阵列卡和/或信息处理系统的初始化,直至图3所示的对受损场域可程序门阵列卡固件所进行的恢复过程结束。
当初始化保持中止时,场域可程序门阵列卡可接收针对固件版本信息的请求;并且,在方框330中,场域可程序门阵列卡可生成响应,此响应详细说明了当前储存于在现用分区中的固件的版本。在本发明的某些实施例中,针对固件识别请求的响应可包含固件的副本或者包含有指明固件版本的标头的固件的一部分。在本发明的某些实施例中,场域可程序门阵列卡管理控制器可使固件版本响应包含有:依据现用分区中的固件指令和/或恢复分区中的固件指令所计算出的哈希值。而在本发明某些实施例中,场域可程序门阵列卡可用于方框315中从远程访问控制器所接收到的安全密钥对固件版本响应进行数字签名。而后,场域可程序门阵列卡管理控制器可经由边带管理总线将经签名后的响应传送到远程访问控制器。
在方框335处,服务处理器可对来自场域可程序门阵列卡的响应进行认证。在本发明某些实施例中,服务处理器可通过判断是否在方框310中用为场域可程序门阵列卡所生产的安全密钥对响应进行了数字签名对响应加以认证。若来自场域可程序门阵列卡的响应不能通过服务处理器的认证,鉴于场域可程序门阵列卡的现用固件可能已受损,可在方框345中止场域可程序门阵列卡的初始化。而在某些情况下,即使不对场域可程序门阵列卡进行初始化,亦可继续对信息处理系统进行初始化。
若来自场域可程序门阵列卡的响应可正确地通过认证,则服务处理器可在方框340中对由场域可程序门阵列卡所报告的固件是否与通过远程访问控制器所储存的固件的主副本相匹配进行判断。在前述响应包含有固件标头的实施例中,可对所提供的标头中所指明的版本与远程访问控制器于主副本中维护的固件标头信息进行比较。在本发明的某些实施例中,可对响应中提供的哈希值与远程访问控制器基于固件的主副本所计算出的哈希值进行比较,用以确定场域可程序门阵列固件的完整性。若场域可程序门阵列卡所报告的固件与固件的主副本相匹配,则可继续进行场域可程序门阵列卡和/或信息处理系统的初始化,并使程序逻辑数组卡用现用分区中的固件进行作业。
在方框340中,若服务处理器检测到固件的主副本与场域可程序门阵列卡所报告的固件间存在差异,则在方框345中令服务处理器中止场域可程序门阵列卡和/或信息处理系统的初始化。而在这种状况中,固件可能已经受损。因此,在方框350中,服务处理器可用远程访问控制器所储存的固件主副本的版本替换储存于场域可程序门阵列卡的现用分区与恢复分区中所储存的固件。在更换固件时,可用目前储存于场域可程序门阵列卡的现用分区中的固件继续启动场域可程序门阵列卡和/或信息处理系统。如图所示,在进行启动时,此过程回到框310,其中服务处理器为场域可程序门阵列卡生成新的安全密钥,进而可将新的安全密钥分发至场域可程序门阵列卡并用新的安全密钥对后续的固件版本响应进行数字签名。
应当理解的是,本发明说明书中所述及的各种作业可由逻辑电路、处理电路、硬件、前述电路组合或电路与硬件的组合所执行的软件实现。可对说明书中所揭露的方法中各作业的顺序进行改变,同时,也可对各种作业进行添加、重排、组合、省略、修改等操作。说明书对本发明所进行的描述旨在囊括本发明的所有改动与变化,因此本发明应被视为进行了具有说明性的阐释,而非对本发明加以限制。
尽管说明书参照示意性实施例对本发明进行了描述,惟对本发明所进行的改动与改变并未脱离本发明专利申请范围中所阐明的保护范围。因此本发明说明书及图式仅用于进行说明而非进行限定,且针对本发明所进行的所有改动皆涵盖于本发明所欲保护的范围内。同时,本发明说明书中所涉及的任何优点、益处、解决技术问题所采用的技术方案皆不应被解读为任何一请求项或全部请求项中的关键技术特征、必要技术特征或特定技术特征。
除非另有说明,说明书中所使用的术语“第一”与“第二”旨在使一组件有别于另一组件。因此,这些术语既不代表时间顺序也不表示其它顺序。说明书中所使用的术语“耦合”与“可操作耦合”意为进行连接,而前述连接既不必是直接线路也不必是机械性连接。除另有说明外,说明书中所使用的术语“一”意为一个或多个。说明书中所使用的术语“包含”、术语“具有”、术语“包括”、术语“含有”及这些术语的其它形式应解读为开放式连接词。因此,当述及系统、装置或设备“包含”、“具有”、“包括”或“含有”一个或多个元素时,上述系统、装置或设备拥有此元素,但并非仅拥有此元素。与之相似地,当述及方法或过程“包含”、“具有”、“包括”或“含有”一种或多种作业时,上述方法或过程拥有此作业,但并非仅拥有此作业。

Claims (20)

1.一种固件恢复方法,其中具有该固件的装置安装于信息处理系统内,经由边带管理总线恢复该固件,该固件恢复方法包含︰
为该装置生成安全密钥;
将该安全密钥传送至该装置;
请求该装置报告通过该装置所使用固件的版本;
基于该安全密钥对来自该装置的固件版本响应进行认证;
判断主固件的主固件版本是否符合通过该装置所报告的固件版本;以及
若所报告的固件版本与该主固件版本不符,该固件恢复方法进一步包含:
中止该装置的作业;
通过该主固件替换该装置的固件;及
用更新后的固件使该装置进行初始化。
2.如权利要求1所述的固件恢复方法,其中用该安全密钥对该固件版本响应进行数字签名。
3.如权利要求2所述的固件恢复方法,其中依据通过该装置所提供的数字签名对该固件版本响应进行认证。
4.如权利要求1所述的固件恢复方法,其中该装置每次重启时产生用于使该装置报告固件的版本的请求。
5.如权利要求1所述的固件恢复方法,其中通过对该固件版本响应中包含的固件标头所指明的版本与该主固件的标头所指明的版本进行比较,确定所报告的固件是否符合该主固件。
6.如权利要求1所述的固件恢复方法,其中该装置将该固件保存于现用分区与恢复分区中。
7.如权利要求1所述的固件恢复方法,其中该装置为场域可程序门阵列卡。
8.一种固件恢复系统,其中具有固件的装置位于信息处理系统内,该固件恢复系统包含︰
远程访问控制器,该远程访问控制器经由边带管理总线连接于该装置,其中该远程访问控制器用于:
为该装置生成安全密钥;
将该安全密钥传送至该装置;
请求该装置报告通过该装置所使用固件的版本;
基于该安全密钥对来自该装置的响应进行认证;
判断主固件的主固件版本是否符合通过该装置所报告的固件版本;以及
若所报告的固件版本与该主固件的版本不符,则该固件恢复系统进行下列作业:
使该装置中止;并且
通过该主固件替换该装置的固件;
其中该装置依据现用分区内所储存的固件进行作业,其中该装置还用于:
传送该固件版本响应,该固件版本响应用于报告该现用分区内所储存的固件的版本;
接收该主固件,用以替换该现用分区内的固件;
基于更新的固件分区进行初始化。
9.如权利要求8所述的固件恢复系统,其中用该安全密钥对该固件版本响应进行数字签名。
10.如权利要求9所述的固件恢复系统,其中依据通过该装置所提供的数字签名对该固件版本响应进行认证。
11.如权利要求8所述的固件恢复系统,其中该装置每次重启时产生用于使该装置报告固件的版本的请求。
12.如权利要求8所述的固件恢复系统,其中通过对该固件版本响应中包含的固件标头所指明的版本与该主固件的标头所指明的版本进行比较,确定所报告的固件是否符合该主固件。
13.如权利要求8所述的固件恢复系统,其中该装置为场域可程序门阵列卡。
14.一种远程访问控制器,该远程访问控制器用于通过信息处理系统的边带管理总线恢复装置的固件,其中该远程访问控制器包含:
一个或多个处理器;以及
内存装置,该内存装置与该一个或多个处理器相耦合,该内存装置储存有多个机读指令,当通过该一个或多个处理器执行该等机读指令时,该远程访问控制器用于:
为该装置生成安全密钥;
将该安全密钥传送至该装置;
请求该装置报告当前固件版本;
基于该安全密钥对来自该装置的响应进行认证;
判断主固件版本是否符合通过该装置所报告的现用固件版本;
若所报告的该现用固件版本与该主固件版本不符,则使该装置中止;通过该主固件替换该装置的现用固件;及用更新后的固件使装置进行初始化。
15.如权利要求14所述的远程访问控制器,其中用该安全密钥对该响应进行数字签名。
16.如权利要求15所述的远程访问控制器,其中依据通过该装置所提供的数字签名对该响应进行认证。
17.如权利要求14所述的远程访问控制器,其中该装置每次重启时产生用于向该装置报告当前固件版本的请求。
18.如权利要求14所述的远程访问控制器,其中对主固件中所包含的固件标头所指明的版本与该响应中所包含的固件标头所指明的版本进行比较,用以确定所报告的固件是否符合该主固件。
19.如权利要求14所述的远程访问控制器,其中该装置为场域可程序门阵列卡。
20.如权利要求14所述的远程访问控制器,其中该装置将该固件保存于现用分区与恢复分区中。
CN201980068661.9A 2018-10-25 2019-08-14 经由边带接口恢复场域可程序门阵列固件的系统及方法 Active CN112868013B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/171,168 2018-10-25
US16/171,168 US11100228B2 (en) 2018-10-25 2018-10-25 System and method to recover FPGA firmware over a sideband interface
PCT/US2019/046466 WO2020086143A1 (en) 2018-10-25 2019-08-14 System and method to recover fpga firmware over a sideband interface

Publications (2)

Publication Number Publication Date
CN112868013A true CN112868013A (zh) 2021-05-28
CN112868013B CN112868013B (zh) 2024-07-09

Family

ID=70328753

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980068661.9A Active CN112868013B (zh) 2018-10-25 2019-08-14 经由边带接口恢复场域可程序门阵列固件的系统及方法

Country Status (5)

Country Link
US (1) US11100228B2 (zh)
EP (1) EP3871080A4 (zh)
CN (1) CN112868013B (zh)
TW (1) TWI791913B (zh)
WO (1) WO2020086143A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220321403A1 (en) * 2021-04-02 2022-10-06 Nokia Solutions And Networks Oy Programmable network segmentation for multi-tenant fpgas in cloud infrastructures
US20220334820A1 (en) * 2021-04-20 2022-10-20 Dell Products, L.P. System and method for intermediate software upgrades for information handling systems
US11977877B2 (en) * 2022-09-26 2024-05-07 Dell Products, L.P. Systems and methods for personality based firmware updates

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070169088A1 (en) * 2006-01-13 2007-07-19 Dell Products, L.P. Automatic firmware corruption recovery and update
CN101114233A (zh) * 2006-07-26 2008-01-30 戴尔产品有限公司 固件更新的设备与方法
CN103229451A (zh) * 2010-11-30 2013-07-31 英特尔公司 用于硬件设备的密钥供应的方法和装置
US20140129834A1 (en) * 2012-11-02 2014-05-08 Jacob Andrew Brill Providing User Authentication
EP2763428A1 (en) * 2013-02-04 2014-08-06 Samsung Electronics Co., Ltd Electronic device and firmware upgrading method thereof
CN105122261A (zh) * 2013-04-23 2015-12-02 惠普发展公司,有限责任合伙企业 从遭到破坏的系统启动代码中恢复
US20160117162A1 (en) * 2014-07-07 2016-04-28 Symphony Teleca Corporation Remote Embedded Device Update Platform Apparatuses, Methods and Systems
EP3037968A1 (en) * 2014-12-26 2016-06-29 Kyocera Document Solutions Inc. Electronic device and firmware recovery program that ensure recovery of firmware
CN106682518A (zh) * 2015-11-05 2017-05-17 广达电脑股份有限公司 用于确保管理控制器固件安全的方法及计算机装置
CN107092537A (zh) * 2011-08-16 2017-08-25 谷歌公司 安全恢复装置和方法
CN107924443A (zh) * 2015-07-23 2018-04-17 菲尼克斯电气公司 用于过程控制的控制装置的固件升级方法及其系统

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6918027B2 (en) * 2001-07-30 2005-07-12 Hewlett-Packard Development Company, L.P. System and method for in-system programming through an on-system JTAG bridge of programmable logic devices on multiple circuit boards of a system
US20050091496A1 (en) * 2003-10-23 2005-04-28 Hyser Chris D. Method and system for distributed key management in a secure boot environment
KR20060065078A (ko) 2004-12-09 2006-06-14 삼성전자주식회사 시스템의 펌웨어 업-데이트 방법 및 장치
US7991850B2 (en) * 2005-07-28 2011-08-02 Advanced Micro Devices, Inc. Resilient system partition for personal internet communicator
US8161227B1 (en) * 2006-10-30 2012-04-17 Siliconsystems, Inc. Storage subsystem capable of programming field-programmable devices of a target computer system
WO2010093538A1 (en) * 2009-02-11 2010-08-19 Rambus Inc. Shared access memory scheme
US20100241838A1 (en) * 2009-03-20 2010-09-23 Jason Cohen Method and system for firmware updates
KR101292309B1 (ko) * 2011-12-27 2013-07-31 숭실대학교산학협력단 반도체칩 및 메모리 제어방법, 그리고 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체
US8813202B2 (en) * 2012-01-03 2014-08-19 General Instrument Corporation Mechanism to determine source device service tier based on the version of the HDCP key
US20150019800A1 (en) * 2012-02-23 2015-01-15 Hewlett-Packard Development Company L.P. Firmware Package to Modify Active Firmware
US9910659B2 (en) * 2012-11-07 2018-03-06 Qualcomm Incorporated Methods for providing anti-rollback protection of a firmware version in a device which has no internal non-volatile memory
KR20140131781A (ko) * 2013-05-06 2014-11-14 삼성전자주식회사 메모리 제어 장치 및 방법
GB2518256A (en) * 2013-09-13 2015-03-18 Vodafone Ip Licensing Ltd Communicating with a machine to machine device
US9830456B2 (en) * 2013-10-21 2017-11-28 Cisco Technology, Inc. Trust transference from a trusted processor to an untrusted processor
TWI636908B (zh) * 2014-06-12 2018-10-01 承洋電子股份有限公司 Electric vehicle cloud firmware software update system device
CN104536848B (zh) * 2014-12-22 2018-05-08 小米科技有限责任公司 固件恢复方法、装置和终端
US9930051B1 (en) * 2015-11-06 2018-03-27 Amazon Technologies, Inc. Remote management of hardware hosts in cloud infrastructure
WO2017216840A1 (ja) * 2016-06-13 2017-12-21 オリンパス株式会社 メモリアクセス制御装置、画像処理装置、および撮像装置
US10754988B2 (en) * 2016-08-30 2020-08-25 Winbond Electronics Corporation Anti-rollback version upgrade in secured memory chip
US10114633B2 (en) * 2016-12-08 2018-10-30 International Business Machines Corporation Concurrent I/O enclosure firmware/field-programmable gate array (FPGA) update in a multi-node environment
US10158426B2 (en) * 2017-04-28 2018-12-18 Dell Products L.P. Firmware updates using visible light medium
CN107066305B (zh) * 2017-05-11 2020-07-28 北京百度网讯科技有限公司 用于更新服务器的服务器固件的方法和装置以及服务器
US10031993B1 (en) * 2017-06-12 2018-07-24 Intel Corporation Application store model for dynamic reconfiguration of a field-programmable gate array (FPGA)
US10289333B2 (en) * 2017-06-14 2019-05-14 Western Digital Technologies, Inc. Data storage device configured to perform operations using a wireless interface
US10810311B2 (en) * 2017-09-21 2020-10-20 Samsung Electronics Co., Ltd. Internet-of-things module
US20190116690A1 (en) * 2017-10-12 2019-04-18 Quanta Computer Inc. Dynamically adjust maximum fan duty in a server system
US11716614B2 (en) * 2018-08-16 2023-08-01 Comcast Cable Communications, Llc Secured data derivation for user devices
US10922413B2 (en) * 2018-09-27 2021-02-16 Intel Corporation Methods and apparatus to apply a firmware update to a host processor

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070169088A1 (en) * 2006-01-13 2007-07-19 Dell Products, L.P. Automatic firmware corruption recovery and update
CN101114233A (zh) * 2006-07-26 2008-01-30 戴尔产品有限公司 固件更新的设备与方法
CN103229451A (zh) * 2010-11-30 2013-07-31 英特尔公司 用于硬件设备的密钥供应的方法和装置
CN107092537A (zh) * 2011-08-16 2017-08-25 谷歌公司 安全恢复装置和方法
US20140129834A1 (en) * 2012-11-02 2014-05-08 Jacob Andrew Brill Providing User Authentication
EP2763428A1 (en) * 2013-02-04 2014-08-06 Samsung Electronics Co., Ltd Electronic device and firmware upgrading method thereof
CN105122261A (zh) * 2013-04-23 2015-12-02 惠普发展公司,有限责任合伙企业 从遭到破坏的系统启动代码中恢复
US20160117162A1 (en) * 2014-07-07 2016-04-28 Symphony Teleca Corporation Remote Embedded Device Update Platform Apparatuses, Methods and Systems
EP3037968A1 (en) * 2014-12-26 2016-06-29 Kyocera Document Solutions Inc. Electronic device and firmware recovery program that ensure recovery of firmware
CN107924443A (zh) * 2015-07-23 2018-04-17 菲尼克斯电气公司 用于过程控制的控制装置的固件升级方法及其系统
CN106682518A (zh) * 2015-11-05 2017-05-17 广达电脑股份有限公司 用于确保管理控制器固件安全的方法及计算机装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
DIXYS L. HERNÁNDEZ-ROJAS等: "Design and Practical Evaluation of a Family of Lightweight Protocols for Heterogeneous Sensing through BLE Beacons in IoT Telemetry Applications", pages 1 - 33, Retrieved from the Internet <URL:《网页在线公开:https://www.mdpi.com/1424-8220/18/1/57》> *

Also Published As

Publication number Publication date
EP3871080A4 (en) 2022-07-20
TW202026938A (zh) 2020-07-16
TWI791913B (zh) 2023-02-11
US20200134183A1 (en) 2020-04-30
US11100228B2 (en) 2021-08-24
CN112868013B (zh) 2024-07-09
EP3871080A1 (en) 2021-09-01
WO2020086143A1 (en) 2020-04-30

Similar Documents

Publication Publication Date Title
US10846159B2 (en) System and method for managing, resetting and diagnosing failures of a device management bus
US10852352B2 (en) System and method to secure FPGA card debug ports
US10862900B2 (en) System and method for detecting rogue devices on a device management bus
US10783109B2 (en) Device management messaging protocol proxy
US11782810B2 (en) Systems and methods for automated field replacement component configuration
CN112868013B (zh) 经由边带接口恢复场域可程序门阵列固件的系统及方法
US10853204B2 (en) System and method to detect and recover from inoperable device management bus
US10606784B1 (en) Software filtering of redundant sideband device management bus communications
US11514193B2 (en) Validating secure assembly and delivery of multiple information handling systems installed in a shared chassis
US20220207126A1 (en) Validating secure assembly and delivery of information handling systems
US11308002B2 (en) Systems and methods for detecting expected user intervention across multiple blades during a keyboard, video, and mouse (KVM) session
US20200133538A1 (en) System and method for chassis-based virtual storage drive configuration
US11977877B2 (en) Systems and methods for personality based firmware updates
US20240256673A1 (en) Multi-party authorized secure boot system and method
US20240103836A1 (en) Systems and methods for topology aware firmware updates in high-availability systems
US20230127223A1 (en) Physical port validation for information handling systems
US11334359B2 (en) Systems and methods for management of dynamic devices
US11307871B2 (en) Systems and methods for monitoring and validating server configurations
US10409940B1 (en) System and method to proxy networking statistics for FPGA cards
US11755334B2 (en) Systems and methods for augmented notifications in remote management of an IHS (information handling system)
US20240232363A9 (en) Systems and methods to securely configure a factory firmware in a bmc
US20240103825A1 (en) Systems and methods for score-based firmware updates
US20240103847A1 (en) Systems and methods for multi-channel rebootless firmware updates
US10853547B2 (en) System and method to identify critical FPGA card sensors
US20240104214A1 (en) Systems and methods for updates during firmware authentication

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