CN104520810A - 固件代理 - Google Patents

固件代理 Download PDF

Info

Publication number
CN104520810A
CN104520810A CN201380043217.4A CN201380043217A CN104520810A CN 104520810 A CN104520810 A CN 104520810A CN 201380043217 A CN201380043217 A CN 201380043217A CN 104520810 A CN104520810 A CN 104520810A
Authority
CN
China
Prior art keywords
equipment
firmware
agent
computing environment
firmware agent
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
Application number
CN201380043217.4A
Other languages
English (en)
Inventor
B.P.特瓦
S.文卡塔苏布拉马尼安
K.科塔里
R.莫拉里
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of CN104520810A publication Critical patent/CN104520810A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/47Retargetable compilers
    • 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/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • 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/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • G06F9/4413Plug-and-play [PnP]
    • G06F9/4415Self describing peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • 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)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)
  • Power Sources (AREA)

Abstract

本文公开了与向设备提供固件关联的方法、装置和存储介质。在各种实施例中,装置可包括设备,以及接管包括设备和设备的设备驱动器的计算环境的处理器。另外,装置可包括在计算环境的外部布置的、代表设备驱动器在设备通电时向设备提供固件的固件代理。可描述和要求保护其它实施例。

Description

固件代理
相关申请的交叉引用
本申请要求2012年9月14日提交的、标题为“固件代理”的美国专利申请No.13/618508的优先权。
技术领域
本申请涉及数据处理的技术领域,更具体地涉及与向设备提供固件关联的方法、装置和存储介质。
背景技术
本文提供的背景描述是为了一般呈现本公开的上下文。除非本文另外指明,否则这一部分中描述的资料不是针对本申请中的权利要求的现有技术,并且不因包含于这一部分而被承认为现有技术。
传统上,设备的固件常常由设备的设备驱动器提供给设备。但是,在固件能够被提供给设备之前,必须在设备和设备驱动器之间建立通信。用于建立通信的协议常常是重要的。在功耗敏感装置(例如,移动计算设备)中,设备可频繁地被关断。例如,计算平板装置中的解码器可在视频被播放的过程中在视频的视频帧组的解码中间数百次地被关断。因此,使设备驱动器向设备提供设备固件的现有技术方法是相对低效的。
附图说明
本发明的实施例将通过附图中所示(但并非限制)的示范性实施例来描述,在附图中同样的参考标记代表类似的元件,并且其中:
图1示出与从计算环境的外部向计算环境内的设备提供固件的固件代理相结合的布置的概览;
图2示出用于由固件代理获得设备固件的过程;
图3示出用于由固件代理向设备提供固件的过程;
图4示出与固件代理结合的示例计算设备;以及
图5示出具有配置成实施参照图2-3所示的固件代理的操作流的所有或所选方面的指令的示例非暂时计算机可读存储介质;它们全部按照本公开的实施例来布置。
具体实施方式
本文公开了与向设备提供固件关联的方法、装置和存储介质。在各种实施例中,装置(例如,诸如计算平板装置之类的功耗敏感装置)可包括设备(例如解码器)以及接管包括设备和设备的设备驱动器的计算环境的处理器。另外,装置可包括在计算环境的外部布置的、代表设备驱动器在设备通电时向设备提供固件的固件代理。因此,固件可以以更有效率的方式提供给设备,尤其是在功耗敏感计算装置的情况中设备可被频繁断电的情况下。其它益处和优点还可被描述和/或对于本领域的技术人员从以下描述中变得显而易见。
将使用本领域的技术人员通常采用的术语来描述所示实施例的各个方面,以向本领域的其他技术人员传达其工作的实质。但是,本领域的技术人员将清楚,可仅利用所描述方面中的一些来实施备选实施例。出于解释的目的,为了提供说明性实施例的全面理解而陈述具体的数字、材料和配置。但是,本领域的技术人员将清楚,备选实施例可无需所述具体细节而实施。在其它实例中,为了不模糊说明性实施例,省略或简化了公知特征。
各种操作以最有助于理解说明性实施例的方式依次被描述为多个分立的操作;但是,描述的顺序不应被解释为暗示这些操作必然是次序相关的。具体地说,这些操作不需要以呈现的次序来执行。另外,作为分开的操作的那些操作的描述不应被解释为要求所述操作必然独立执行和/或由分开的实体执行。作为分开的模块的那些模块和/或实体的描述同样不应被解释为要求模块是分开的和/或执行分开的操作。在各种实施例中,示出和/或描述的操作、实体、数据和/或模块可被合并、进一步分成子部分和/或省略。
短语“在一个实施例中”或“在实施例中”被重复使用。所述短语一般不指代相同的实施例;但是,它也可指代相同的实施例。除非上下文另外指明,否则术语“包含”、“具有”和“包括”是同义的。短语“A/B”表示“A或B”。短语“A和/或B”表示“(A)、(B)或(A和B)”。短语“A、B和C中的至少一个”表示“(A)、(B)、(C)、(A和B)、(A和C)、(B和C)或(A、B和C)”。
图1按照各种实施例,示出与从计算环境的外部向计算环境内的设备提供固件的固件代理相结合的布置的概览。如所示,诸如计算设备之类的布置100可包括由一个或多个处理器112接管的计算环境102、以及在计算环境102的外部分开布置并且与计算环境102耦合的安全引擎108,如所示。除了一个或多个处理器112以外,计算环境102还可包括存储装置114、操作系统(OS)116、以及一个或多个设备118。另外,OS 116可包括一个或多个设备118的一个或多个设备驱动器122和功率管理代理124。而且,存储装置114可包括一个或多个设备118的固件126。安全引擎108可包括固件代理104和存储装置106,所述存储装置106也具有从存储装置114获得的一个或多个设备118的固件126。在实施例中,计算环境102和安全引擎108可经由一个或多个总线(例如,I2C总线或外围组件互连(PCI)总线等等)互相耦合。
一个或多个处理器112可以是本领域已知的多个处理器或处理器核中的任一个,例如,可从加州圣克拉拉的Intel公司获得的Intel®架构处理器。存储装置114可以是本领域已知的多个磁的、光的或固态存储装置中的任一个。类似地,OS 116可以是本领域已知的多个OS中的任一个,例如,可从华盛顿州雷蒙德的Microsoft公司获得的Window®系列的OS中的一个。设备118的示例可包括但不限于编码器、解码器、图形单元、收发器、全球定位系统和其它类似设备。
如先前描述的安全引擎108可包括互相耦合的固件代理104和安全存储装置106。如所示,固件代理104可与存储装置114、OS 116和设备118耦合。安全引擎108可以是多个信任的计算环境或固化嵌入式计算环境中的任一个,与计算环境102分开和独立。如下面将更详细地描述的,固件代理104可配置成在检测到设备118的通电事件时向设备118提供其固件126。在一些实施例中,固件代理104可从功率管理代理124截收通电/断电信号,并且将其转发到设备118。在其它实施例中(未示出),固件代理104可耦合到功率管理代理124和设备118之间的信号路径,以检测通电/断电事件。如先前所述,由固件代理104向设备118提供固件可比传统方法(即,由设备驱动器122提供)更有效率,尤其对于在功耗敏感计算环境中频繁关断的设备118而言。类似于存储装置114,存储装置106可以是本领域已知的多个磁的、光的或固态存储设备中的任一个。
在实施例中,计算布置100可以是功耗敏感设备,诸如但不限于智能电话、个人数字助理(PDA)、计算平板装置、超级本、电子阅读器、游戏控制台、机顶盒等等。具体地说,功率管理代理124可配置成将一个或多个设备118断电(例如,只要它们不在使用中时),以及将一个或多个设备118通电(例如,仅当它们被需要时)。
在进一步描述固件代理104之前,应当指出,虽然为了易于理解,固件代理104被描述为安全引擎108的一部分,但是在备选的安全性不太敏感的环境中,固件代理104可被布置在例如常规非固化嵌入式控制器中。另外,布置100意在表示本领域已知的宽广范围的计算设备。稍后参考图4将进一步描述布置100的示例。
图2按照本公开的实施例,示出用于由固件代理获得设备固件的过程。如所示,对于实施例,过程200可在框202开始。在框202,计算布置100可被通电。从框202,过程200可进行到框204。在框204,固件代理104可确定计算布置100是否具有新设备118或具备更新的设备固件的设备118。固件代理104可经由多种已知技术来确定新设备118的存在,例如,通过枚举在计算环境102中附连到各种总线(未示出)的设备。固件代理104还可通过与OS 116和/或设备驱动器122核对、或者通过检查由OS 116和/或设备驱动器122维护的数据结构来确定某设备固件是否已经更新。
在确定新设备或至少一个更新的设备固件的存在时,过程200可进行到框206。在框206,固件代理104可从一个或多个设备驱动器122或存储装置114获得新的或更新的固件。对于后一情况,可由一个或多个设备驱动器122将新的或更新的固件的一个或多个位置提供给固件代理104。
从框206,过程200可以可选地进行到框208,或者不执行框208的操作而直接进行到框210。在框208,对于安全性更敏感的实施例,固件代理104可认证提供的固件。可使用本领域已知的多个认证技术中的任一个来执行认证。在框210,在成功认证或不认证时(取决于实现),固件代理104可将提供的固件存储在存储装置106中(如先前描述,在一些实施例中,所述存储装置106可以是安全存储装置)。
从框210,过程200可返回到框204以确定是否存在要获得的附加的新的或更新的设备固件,并且如果需要,则重复框206-210的操作。在确定不存在(附加的)新的或更新的设备固件时,过程200可进行到框212,过程可在那里结束。
在备选实施例中,在接收到存储装置114中存储的固件126的更新时,可由对应的设备驱动器122来触发在存储装置106中存储的固件126的更新,而不是使固件代理104确定一个或多个设备的固件是否已经更新并且着手获得更新的版本(利用或不利用认证)。
图3按照本公开的各种实施例,示出用于由固件代理向设备提供固件的过程。过程300可在框302开始。在框302,固件代理104可对于设备118的通电事件进行监视。当没有检测到设备通电事件时,过程300可停留在框302,并且循环直到这样的事件被检测到。
在检测到设备118的通电事件时,过程300可从框302进行到框304。在框304,固件代理104可从存储装置106取回设备的固件126,并且向设备118提供固件126。通过如此做,固件126可更有效率地被提供给设备118。在实施例中,在框304,在取回固件126并且向设备118提供固件126之前,固件代理104可进一步将来自功率管理代理124的通电信号转发到设备118。在实施例中,固件代理104还可将来自功率管理代理124的断电信号转发到设备118(未示出)。
图4按照本公开的各种实施例,示出与固件代理结合的示例计算设备。如所示,计算设备400可包括多个处理器或处理器核402、一个或多个协处理器414和系统存储器404。为了包括权利要求的本申请,除非上下文另外明确要求,否则术语“处理器”和“处理器核”可视作同义的。另外,计算设备400可包括大容量存储设备406(诸如磁盘、硬盘驱动器、压缩盘只读存储器(CD-ROM)等等)、输入/输出设备408(诸如显示器、键盘、光标控制器等等)、通信接口410(诸如网络接口卡、调制解调器等等)和安全引擎416(如先前所描述,具有固件代理和存储装置)。元件可经由可表示一个或多个总线的系统总线412互相耦合。在多个总线的情况中,它们可由一个或多个总线桥(未示出)桥接。
除元件416以外,这些元件402-414的构成是已知的,并且因此将不再进一步描述。安全引擎416可以是具有其自己的一个或多个处理器的固化嵌入式控制器或者信任的执行环境。安全引擎416中的固件代理可通过由安全引擎416的一个或多个处理器支持的汇编指令或诸如例如C(其能够被编译成这样的指令)之类的高级语言来实现。
在工厂或现场中,可通过例如诸如压缩盘(CD)之类的分发介质(未示出)、或者(从分发服务器(未示出))通过通信接口410,将编程指令放置到安全引擎416中。换言之,可采用具有固件代理的实现的一个或多个分发介质以促进其分发。
图5按照本公开的各种实施例,示出具有配置成实施参照图2-3的过程的所有或所选方面的指令的示例非暂时计算机可读存储介质。如所示,非暂时计算机可读存储介质502可包括多个编程指令504。编程指令504可配置成使设备(例如,计算设备400)能够响应于编程指令的执行以执行图2-3的各种流程的各种操作。在备选实施例中,编程指令504可改为被布置在多个非暂时计算机可读存储介质502上。
因此,公开的实施例包括具有设备和处理器的装置,所述处理器与设备耦合,接管包括设备和设备的设备驱动器的计算环境。装置还可包括在计算环境的外部布置并且与设备耦合的固件代理,固件代理代表设备驱动器在设备通电时向设备提供固件。
在实施例中,设备可以是编码器、解码器、图形单元、收发器或全球定位系统中的所选的一个。计算环境还可包括耦合到设备以将设备通电或断电的功率管理代理。固件代理可配置成响应于功率管理代理将设备通电,向设备提供固件。只要装置进入比正常操作模式消耗更少功率的功率节约模式时,则功率管理代理可将设备断电。只要设备在一段时间没有被使用而装置处于正常操作模式时,则功率管理代理也可将设备断电。
在实施例中,计算环境还可包括包含功率管理代理的操作系统。固件代理还可配置成将功率管理代理耦合到设备,并且将功率管理代理的通电或断电命令或信号转发到设备。
在实施例中,固件代理还可配置成在装置的启动期间从设备驱动器获得固件。装置还可包括在计算环境的外部布置并且与固件代理耦合的安全存储装置。而且,固件代理还可配置成在装置的启动期间获得固件时将固件存储在安全存储装置中,并且在设备通电时从安全存储装置取回固件以提供给设备。固件代理还可配置成在将固件存储到安全存储装置中之前认证固件。装置还可包括在计算环境的外部布置的安全引擎,其中安全引擎包括固件代理。装置可以是智能电话或计算平板装置中的所选的一个。
公开的实施例还包括包含多个指令的至少一个非暂时计算机可读存储介质,其中,指令响应于由计算装置的安全引擎对指令的执行,实现用于计算装置的固件代理,以代表设备的设备驱动器在设备通电时向计算装置的设备提供固件,其中设备和设备驱动器是由计算装置的处理器接管的计算环境的一部分,并且包括固件代理的安全引擎布置在计算环境的外部并且耦合到设备。
在实施例中,计算环境还可包括耦合到设备以将设备通电或断电的功率管理代理。固件代理还可配置成响应于功率管理代理将设备通电,向设备提供固件。在实施例中,固件代理还可配置成将功率管理代理耦合到设备,并且将功率管理代理的通电或断电命令或信号转发到设备。在实施例中,固件代理还可配置成在计算装置的启动期间从设备驱动器获得固件。计算装置还可包括在计算环境的外部布置并且与固件代理耦合的安全存储装置。固件代理还可配置成在计算装置的启动期间获得固件时将固件存储在安全存储装置中,并且在设备通电时从安全存储装置取回固件以提供给设备。固件代理还可配置成在将固件存储到安全存储装置中之前认证固件。
公开的实施例还包括用于提供固件的方法。方法可包括由计算设备的固件代理对于计算设备的设备通电事件进行检测;并且响应于检测到设备通电事件,由固件代理代表设备的设备驱动器向设备提供固件。设备和设备驱动器可以是由计算设备的处理器接管的计算环境的一部分,并且固件代理可布置在计算环境的外部并且与设备耦合。
在实施例中,计算环境还可包括耦合到设备以将设备通电或断电的功率管理代理。提供可包括固件代理响应于功率管理代理将设备通电来向设备提供固件。方法还可包括固件代理将功率管理代理耦合到设备,并且由固件代理将功率管理代理的通电或断电命令或信号转发到设备。方法还可包括在计算设备的启动期间由固件代理从设备驱动器获得固件。
在实施例中,计算设备还可包括在主机计算环境的外部布置并且与固件代理耦合的安全存储装置。方法还可包括在计算设备的启动期间获得固件时由固件代理将固件存储在安全存储装置中,并且在设备通电时由固件代理从安全存储装置取回固件以提供给设备。方法还可包括在将固件存储到安全存储装置中之前由固件代理认证固件。
虽然本文已经示出和描述具体实施例,但是本领域的技术人员要理解,各种各样的备选和/或等同实现可在不背离本公开的实施例的范围的情况下替换示出和描述的具体实施例。本申请意图覆盖本文讨论的实施例的任意改编或变化。因此,显然意图的是,本公开的实施例仅由权利要求来限制。

Claims (24)

1. 一种装置,包括:
设备;
处理器,所述处理器与所述设备耦合,接管包括所述设备和所述设备的设备驱动器的计算环境;以及
固件代理,所述固件代理在所述计算环境的外部布置并且与所述设备耦合,代表所述设备驱动器在所述设备通电时向所述设备提供固件。
2. 如权利要求1所述的装置,其中,所述设备包括编码器、解码器、图形单元、收发器或全球定位系统中的所选的一个。
3. 如权利要求1所述的装置,其中,所述计算环境还包括耦合到所述设备以将所述设备通电或断电的功率管理代理,其中,所述固件代理配置成响应于所述功率管理代理将所述设备通电,向所述设备提供所述固件。
4. 如权利要求3所述的装置,其中,所述功率管理代理配置成只要所述装置进入比正常操作模式消耗更少功率的功率节约模式时,则将所述设备断电。
5. 如权利要求4所述的装置,其中,所述功率管理代理还配置成只要所述设备在一段时间没有被使用而所述装置处于所述正常操作模式时,则将所述设备断电。
6. 如权利要求3所述的装置,其中,所述计算环境还包括包含所述功率管理代理的操作系统。
7. 如权利要求3所述的装置,其中,所述固件代理还配置成将所述功率管理代理耦合到所述设备,并且将所述功率管理代理的通电或断电命令或信号转发到所述设备。
8. 如权利要求1所述的装置,其中,所述固件代理还配置成在所述装置的启动期间从所述设备驱动器获得所述固件。
9. 如权利要求8所述的装置,还包括在所述计算环境的外部布置并且与所述固件代理耦合的安全存储装置,其中,所述固件代理还配置成在所述装置的启动期间获得所述固件时将所述固件存储在所述安全存储装置中,并且在所述设备通电时从所述安全存储装置取回所述固件以提供给所述设备。
10. 如权利要求9所述的装置,其中,所述固件代理还配置成在将所述固件存储到所述安全存储装置中之前认证所述固件。
11. 如权利要求1-9中任一项所述的装置,还包括在所述计算环境的外部布置的安全引擎,其中,所述安全引擎包括所述固件代理。
12. 如权利要求1所述的装置,其中,所述装置是智能电话或计算平板装置中的所选的一个。
13. 一种方法,包括:
由计算设备的固件代理对于所述计算设备的设备通电事件进行检测;以及
响应于检测到所述设备通电事件,由所述固件代理代表所述设备的设备驱动器向所述设备提供固件,
其中,所述设备和所述设备驱动器是由所述计算设备的处理器接管的计算环境的一部分,并且所述固件代理布置在所述计算环境的外部并且与所述设备耦合。
14. 如权利要求13所述的方法,其中,所述计算环境还包括耦合到所述设备以将所述设备通电或断电的功率管理代理,其中,提供包括所述固件代理响应于所述功率管理代理将所述设备通电来向所述设备提供所述固件。
15. 如权利要求14所述的方法,还包括所述固件代理将所述功率管理代理耦合到所述设备,并且由所述固件代理将所述功率管理代理的通电或断电命令或信号转发到所述设备。
16. 如权利要求13所述的方法,还包括在所述计算设备的启动期间由所述固件代理从所述设备驱动器获得所述固件。
17. 如权利要求16所述的方法,其中,所述计算设备还包括在所述主机计算环境的外部布置并且与所述固件代理耦合的安全存储装置,其中,所述方法还包括在所述计算设备的启动期间获得所述固件时由所述固件代理将所述固件存储在所述安全存储装置中,并且在所述设备通电时由所述固件代理从所述安全存储装置取回所述固件以提供给所述设备。
18. 如权利要求17所述的方法,还包括在将所述固件存储在所述安全存储装置中之前由所述固件代理认证所述固件。
19. 至少一个计算机可读存储介质,包括多个指令,其中,所述指令响应于由计算装置的安全引擎对所述指令的执行,使所述计算装置执行权利要求13-18的方法中的任一个。
20. 一种装置,包括:
设备;
处理器,所述处理器与所述设备耦合,接管包括所述设备和所述设备的设备驱动器的计算环境;以及
部件,所述部件在所述计算环境的外部布置并且与所述设备耦合,用于代表所述设备驱动器在所述设备通电时向所述设备提供固件。
21. 如权利要求20所述的装置,其中,所述部件还用于在所述装置的启动期间从所述设备驱动器获得所述固件。
22. 如权利要求21所述的装置,还包括在所述计算环境的外部布置并且与所述固件代理耦合的安全存储装置,其中,所述部件还用于在所述装置的启动期间获得所述固件时将所述固件存储在所述安全存储装置中,并且在所述设备通电时从所述安全存储装置取回所述固件以提供给所述设备。
23. 如权利要求22所述的装置,其中,所述部件还用于在将所述固件存储到所述安全存储装置中之前认证所述固件。
24. 如权利要求20-22中任一项所述的装置,还包括在所述计算环境的外部布置的安全引擎,其中,所述安全引擎包括所述部件。
CN201380043217.4A 2012-09-14 2013-08-27 固件代理 Pending CN104520810A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/618508 2012-09-14
US13/618,508 US9678732B2 (en) 2012-09-14 2012-09-14 Firmware agent
PCT/US2013/056915 WO2014042870A1 (en) 2012-09-14 2013-08-27 Firmware agent

Publications (1)

Publication Number Publication Date
CN104520810A true CN104520810A (zh) 2015-04-15

Family

ID=50275753

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380043217.4A Pending CN104520810A (zh) 2012-09-14 2013-08-27 固件代理

Country Status (5)

Country Link
US (1) US9678732B2 (zh)
CN (1) CN104520810A (zh)
GB (1) GB2520444B (zh)
RU (1) RU2606565C2 (zh)
WO (1) WO2014042870A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9703346B2 (en) 2014-06-23 2017-07-11 Intel Corporation Firmware interface with backup non-volatile memory storage
US11256494B2 (en) * 2017-10-02 2022-02-22 Red Bend Ltd. ECU and peripherals update using central dispatch unit
WO2019119408A1 (en) * 2017-12-22 2019-06-27 Intel Corporation Manageability engine and automatic firmware validation
WO2020124354A1 (en) * 2018-12-18 2020-06-25 Intel Corporation Computing method and apparatus with multi-phase/level boot
US11442714B2 (en) * 2020-10-05 2022-09-13 Unisys Corporation Parallel code fragments in executable code

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040254006A1 (en) * 1999-10-06 2004-12-16 Igt USB software architecture in a gaming machine
US20070271360A1 (en) * 2006-05-16 2007-11-22 Ravi Sahita Network vulnerability assessment of a host platform from an isolated partition in the host platform
US7904895B1 (en) * 2004-04-21 2011-03-08 Hewlett-Packard Develpment Company, L.P. Firmware update in electronic devices employing update agent in a flash memory card

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SU1116432A1 (ru) 1982-12-08 1984-09-30 Ордена Ленина Институт Кибернетики Им.В.М.Глушкова Микропрограммный процессор со средствами быстрого прерывани
EP0727728A1 (en) * 1995-02-15 1996-08-21 International Business Machines Corporation Computer system power management
US6216224B1 (en) * 1998-06-05 2001-04-10 Micron Technology Inc. Method for read only memory shadowing
US6477655B1 (en) * 1998-12-09 2002-11-05 Globespanvirata, Inc. System and method to set PME—status bit and wake up the system, and selectively load device driver by searching who set the bit without requiring clock
US7007159B2 (en) * 2002-05-10 2006-02-28 Intel Corporation System and method for loading and integrating a firmware extension onto executable base system firmware during initialization
US7243243B2 (en) * 2002-08-29 2007-07-10 Intel Corporatio Apparatus and method for measuring and controlling power consumption of a computer system
AU2003287532A1 (en) * 2002-11-05 2004-06-07 Bitfone Corporation Firmware update system for facilitating firmware update in mobile handset related applications
US6941453B2 (en) 2003-02-11 2005-09-06 Bitfone Corporation System and method for determining if a device needs to be updated and locating and invoking an update agent to update the firmware or software in the device
US7433300B1 (en) * 2003-03-28 2008-10-07 Cisco Technology, Inc. Synchronization of configuration data in storage-area networks
US7886093B1 (en) 2003-07-31 2011-02-08 Hewlett-Packard Development Company, L.P. Electronic device network supporting compression and decompression in electronic devices
US7127600B2 (en) * 2003-09-30 2006-10-24 Intel Corporation Aggressive content pre-fetching during pre-boot runtime to support speedy OS booting
US7363482B2 (en) * 2004-03-03 2008-04-22 Intel Corporation Method and apparatus to support remote configuration code
US7382260B2 (en) 2004-09-01 2008-06-03 Microsoft Corporation Hot swap and plug-and-play for RFID devices
US8245219B2 (en) 2007-01-25 2012-08-14 Microsoft Corporation Standardized mechanism for firmware upgrades of RFID devices
US20090254898A1 (en) * 2008-04-08 2009-10-08 Microsoft Corporation Converting a device from one system to another
TWI386847B (zh) * 2009-02-04 2013-02-21 Novatek Microelectronics Corp 可安全復原的韌體更新方法及可安全復原之韌體更新的嵌入式電子裝置
US20120117555A1 (en) * 2010-11-08 2012-05-10 Lsi Corporation Method and system for firmware rollback of a storage device in a storage virtualization environment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040254006A1 (en) * 1999-10-06 2004-12-16 Igt USB software architecture in a gaming machine
US7904895B1 (en) * 2004-04-21 2011-03-08 Hewlett-Packard Develpment Company, L.P. Firmware update in electronic devices employing update agent in a flash memory card
US20070271360A1 (en) * 2006-05-16 2007-11-22 Ravi Sahita Network vulnerability assessment of a host platform from an isolated partition in the host platform

Also Published As

Publication number Publication date
RU2015104983A (ru) 2016-08-27
GB2520444A (en) 2015-05-20
WO2014042870A1 (en) 2014-03-20
GB201500823D0 (en) 2015-03-04
US20140082388A1 (en) 2014-03-20
GB2520444B (en) 2020-05-20
US9678732B2 (en) 2017-06-13
RU2606565C2 (ru) 2017-01-10

Similar Documents

Publication Publication Date Title
CN101334821B (zh) 用于带外辅助生物特征安全引导的系统和方法
US8464038B2 (en) Computing device with developer mode
US7769993B2 (en) Method for ensuring boot source integrity of a computing system
CN104520810A (zh) 固件代理
US8954804B2 (en) Secure boot circuit and method
US20080238612A1 (en) Direct Peripheral Communication for Restricted Mode Operation
KR20150059564A (ko) 전자 장치의 무결성 검증을 위한 방법, 저장 매체 및 전자 장치
JP2006092547A (ja) 基本入出力システムを具えたコンピュータシステム及びその制御方法
US20090083849A1 (en) Security protection method and portable electronic device using same
US20050177709A1 (en) Apparatus and method for updating firmware
EP3188065A1 (en) Secure intelligent terminal device and information processing method
JP2005166049A (ja) 指紋センサを具えたメモリ保存装置とその保存データの保護方法
CN104520872A (zh) 在低功率状态期间保护存储器区的方法和装置
CN108664780A (zh) 允许基于不同级别的解锁机制的各种设备访问
CN104461594B (zh) 嵌入式操作系统的升级方法及装置
CN101681410A (zh) 用于控制安全环境中的处理器执行的设备
CN103430147B (zh) 信息处理装置及信息处理装置的控制方法
US10037206B2 (en) Methods and systems for state switching
CN112749397A (zh) 一种系统和方法
KR20120123885A (ko) 저장 장치의 인증 장치 및 인증 장치 연결 수단을 구비한 저장 장치
CN106462548B (zh) 固件传感器层
US11520938B2 (en) Root level controls to enable privacy mode for device cameras
US20110296072A1 (en) System and method for controlling pci-e slots of computer
CN101751519B (zh) 提升一计算机系统的信息安全的方法及其相关计算机系统
US20090174718A1 (en) Setting methods and motherboard for display parameters

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20150415