CN101180608B - 升级系统的硬件资源的方法、设备和系统 - Google Patents

升级系统的硬件资源的方法、设备和系统 Download PDF

Info

Publication number
CN101180608B
CN101180608B CN2006800178421A CN200680017842A CN101180608B CN 101180608 B CN101180608 B CN 101180608B CN 2006800178421 A CN2006800178421 A CN 2006800178421A CN 200680017842 A CN200680017842 A CN 200680017842A CN 101180608 B CN101180608 B CN 101180608B
Authority
CN
China
Prior art keywords
hardware characteristics
hardware
status register
fuse
information
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.)
Expired - Fee Related
Application number
CN2006800178421A
Other languages
English (en)
Other versions
CN101180608A (zh
Inventor
S·沙希扎德
W·柯比
J·杜格拉斯
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 CN101180608A publication Critical patent/CN101180608A/zh
Application granted granted Critical
Publication of CN101180608B publication Critical patent/CN101180608B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/085Payment architectures involving remote charge determination or related payment systems
    • 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
    • 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/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/73Protecting 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 by creating or determining hardware identification, e.g. serial numbers
    • 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
    • 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
    • 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/44536Selecting among different versions
    • G06F9/44542Retargetable

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Finance (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)

Abstract

在一个实施例中,本发明包括一种方法,用于确定系统是否与系统硬件资源的升级兼容,在系统兼容时从远程服务器接收指令以升级硬件资源,并基于该指令对硬件资源进行编程。在一个此类实施例中,硬件资源可经可编程熔丝编程以启用硬件资源的电路。描述和要求了其它实施例的权利。

Description

升级系统的硬件资源的方法、设备和系统
技术领域
本发明的实施例涉及在计算机系统等中使用的硬件组件,并且更具体地说,涉及此类组件的可升级性。
背景技术
包括个人计算机(PC)、服务器、个人数字助理(PDA)及蜂窝电话等许多基于处理器的系统混合有硬件和软件组件。通常,系统包括处理大部分处理操作的通常称为中央处理器(CPU)的微处理器,以及有关的组件,例如包括存储器和其它存储介质、芯片集和其它处理装置、输入/输出(I/O)装置等等。
终端用户一般使用此类系统进行各种处理、娱乐、通信和其它活动。用户会常常升级系统的软件组件,包括操作系统(OS)、诸如防病毒程序等应用程序等等。此外,用户可通过下载或以其它方式安装控制硬件的新软件(例如,驱动程序或软件补丁),添加诸如附加内存等新组件,加入诸如高级图形卡等新装置,或者用新组件替换诸如微处理器或硬盘驱动器等较旧组件,从而升级系统的硬件。然而,对于以前配置的系统内的硬件组件,无销售点后升级可用。
诸如微处理器、芯片集等硬件组件的硬件特征常常早于大部分用户采用那些特征好多年。例如,在软件采用硬件特征和/或实现此类特征的软件成熟以前的很长时间,那些特征便在硬件组件中经常可用和存在。换而言之,在许多情况下,新硬件技术的引入快于软件可采用该技术。在此类硬件特征无软件支持和用户需求的情况下,包括这些新硬件特征的硬件组件常常由于未使用的板上技术而得不到重视。
因此,存在提高系统内硬件特征可升级性的需要。
发明内容
根据第一实施例,本发明提供了一种升级系统的硬件资源的方法,包括:
确定系统是否与所述系统的硬件资源的升级兼容,包括:基于由配置表存储的有关所述硬件特征的状态的信息,对所述系统的配置表作对应于所述升级的所述硬件资源的要在销售点后启用的特征的能力方面的分析,所述配置表包括:第一状态寄存器,以存储有关所述硬件特征的系统状态的信息,第一状态寄存器由所述系统的供应商设置,以确证由所述供应商所配置的所述系统是否能够支持所述硬件特征,第二状态寄存器,以存储有关所述硬件特征的特征启用状态的信息,第二状态寄存器由所述处理器的制造商设置,以指示在所述处理器中存在对应于所述硬件特征的电路,以及升级机器状态寄存器,以指示能够在系统内启用的目标组件特征;
在所述系统兼容时从远程系统接收指令以升级所述硬件资源;以及
基于所述指令对所述硬件资源进行编程。
根据优选实施例,所述方法还包括:
在确定所述系统兼容后,将所述系统的加密密钥发送到所述远程系统;以及
从所述远程系统接收加密的指令,其中所述指令包括微代码。
根据优选实施例,对所述硬件资源进行编程包括:经根据微代码指令执行的动态熔融,对所述硬件资源进行永久性编程。
根据优选实施例,所述动态熔融包括启用到对应于所述升级的所述硬件资源的电路的路径。
根据优选实施例,所述配置表在销售点设置,以确证所述系统相对于所述特征可升级,其中所述确证是验证所述系统包括可与所述特征兼容的映像。
根据第二实施例,本发明提供了一种用于升级系统的硬件资源的设备,包括:
集成电路,具有配置表以存储与要在包括所述集成电路的系统的销售点之后启用的一个或多个硬件特征的状态有关的信息,其中所述配置表包括:第一状态寄存器,以存储有关所述硬件特征的系统支持状态的信息,第一状态寄存器由所述系统的供应商设置,以确证由所述供应商所配置的所述系统是否能够支持所述硬件特征;第二状态寄存器,以存储有关所述硬件特征的特征启用状态的信息,第二状态寄存器由所述集成电路的制造商设置,以指示在所述集成电路中存在对应于所述硬件特征的电路;以及升级机器状态寄存器,以指示能够在系统内启用的目标组件特征。
根据优选实施例,所述配置表还包括特征启用机器状态寄存器,所述特征启用机器状态寄存器存储有关所述硬件特征的升级状态的信息,所述特征启用机器状态寄存器的至少一部分要在成功启用所述硬件特征之一时设置。
根据优选实施例,所述设备还包括动态熔丝编程逻辑,以对所述集成电路进行编程,来根据从远程源接收的微代码启用至少一个所述硬件特征。
根据优选实施例,所述动态熔丝编程逻辑包括:熔丝熔烧控制器,熔烧至少一个熔丝以基于所述微代码启用至少一个所述硬件特征;以及熔丝验证控制器,验证所述熔烧。
根据优选实施例,所述集成电路包括处理器,并且还包括执行至少一个所述硬件特征的所述处理器的块,所述块经所述至少一个熔丝耦合到处理器核。
根据优选实施例,所述集成电路包括所述硬件特征,所述硬件特征除非由所述动态熔丝编程逻辑编程否则不启用。
根据优选实施例,所述配置表包括用于在所述集成电路的寄存器中可用的状态信息的集中式存储器,所述配置表对外部系统可见。
根据第三实施例,本发明提供了一种用于升级系统的硬件资源的系统,包括:
处理器,包含在所述系统的销售点不启用的硬件特征,并且包括配置表,以存储有关所述硬件特征的状态的信息,所述配置表包括:第一状态寄存器,以存储有关所述硬件特征的系统状态的信息,第一状态寄存器由所述系统的供应商设置,以确证由所述供应商所配置的所述系统是否能够支持所述硬件特征,第二状态寄存器,以存储有关所述硬件特征的特征启用状态的信息,第二状态寄存器由所述处理器的制造商设置,以指示在所述处理器中存在对应于所述硬件特征的电路,以及升级机器状态寄存器,以指示能够在系统内启用的目标组件特征;
编程器,耦合到所述硬件特征以在销售点后启用所述硬件特征;及
接口,将所述系统连接到远程系统。
根据优选实施例,所述编程器包括动态熔丝编程逻辑,以根据从所述远程系统接收的指令启用所述硬件特征。
根据优选实施例,所述动态熔丝编程逻辑包括控制器,以熔烧至少一个熔丝来将所述硬件特征耦合到处理器核。
根据优选实施例,所述硬件特征包括安全特征。
附图说明
图1是根据本发明一个实施例执行硬件升级的系统框图。
图2是根据本发明一个实施例的方法流程图。
图3是根据本发明一个实施例动态熔丝编程电路第一部分的框图。
图4是图3的动态熔丝编程电路第二部分的框图。
图5是根据本发明一个实施例的系统框图。
具体实施方式
现在参照图1,示出升级系统的一个或多个硬件特征的系统框图。如图1所示,该系统包括与目标系统100通信的远程服务器10。例如,远程服务器10可以为诸如PC的制造商或经销商或其它供应商等原始设备制造商(OEM)的Web服务器。或者,远程服务器10可以与硬件组件的独立供应商相关联。在又一些实施例中,远程服务器10可与独立的服务提供商相关联,如某些硬件组件的授权经销商。虽然在本文中描述为远程服务器,但要理解,在其它实施例中,根据本发明的实施例,不同类型的系统可用于实现升级。
远程服务器10可通过各种方式与目标系统100通信,例如包括经因特网或其它基于网络的互连。在一些实施例中,远程服务器10可包括与目标系统100通信的安全接口20。安全接口20可使用加密技术与目标系统100安全地通信,如用于基于Web的安全金融或其它交易的加密技术。
在各种实施例中,目标系统100可以为PC、服务器计算机、PDA、蜂窝电话等等。目标系统100可包括各种硬件和软件组件。在各种实施例中,目标系统100可包括支持的配置表110,该配置表包括多个机器状态寄存器(MSR)以指示不同硬件特征的状态。在一个实施例中,支持的配置表110可以在目标系统100的微处理器内,并且可用于指示微处理器本身的不同硬件特征。在一些实施例中,支持的配置表110内的至少一些信息可包括在处理器的其它部分。例如,其它状态寄存器可包括标识处理器特殊能力的信息,以便适当的软件、微代码等等可利用该能力。然而,在此类状态寄存器中的信息对远程服务器不可见。
在其它实施例中,支持的配置表110可位于目标系统的其它部分中,例如,芯片集组件、永久存储器或其它位置中。根据本发明一个实施例,目标系统100还可包括处理升级活动的可重新配置逻辑块120。
在操作期间,远程服务器10可启动硬件组件的系统内重新配置的请求。例如,远程服务器10可发送请求到目标系统100,以确定系统100的用户是否要升级微处理器的硬件特征。远程服务器10可以各种方式与目标系统100通信。例如,在一些实施例中,远程服务器10可发送出广播通信到多个系统,如到给定模型和/或配置的所有已知目标系统的广播传输。例如,可向包括特定处理器和/或特定软件映像的OEM的所有模型X发送广播分组。
在一些实施例中,这些广播分组可透明地发送到目标系统100,使得系统用户不知道分组的接收。在这些实施例中,除访问支持的配置表110的信息外,广播分组还可包括标识分组发送方的信息。具体而言,广播分组可包括由目标系统100的处理器执行的指令,以访问支持的配置表110,来确定给定硬件特征的升级状态。例如,广播分组可包括远程服务器10对有关硬件特征B的信息的请求。因此,目标系统100可访问支持的配置表110,以确定启用特征B的升级是否与目标系统100兼容。如果兼容,则目标系统100可将此类信息传递到远程服务器10。在一些实施例中,此通信可对目标系统100的用户也是透明的。
如果远程服务器10由此确认目标系统100能够相对于特征B进行升级,则远程服务器10可向目标系统100发送通信以确定目标系统100的用户(或负责的信息技术(IT)管理员)是否想要相对于特征B升级其系统。在一些实施例中,消息可以为弹出式或其它动态消息。在这些实施例中,为了接收此类动态消息,可允许目标系统100进行动态升级。虽然告知升级可用性的消息形式可以采用许多形式,但在一些实施例中,可显示弹出式显示消息,如常规软件/OS升级的消息。例如,消息可如下报告特征B的可用性:“是否要为您的
Figure GSB00000663741300061
4系统启用特征B?”、“点击此处以演示此特征的优点,启用在您的系统上已经可用的一系列使用模型”。然后给出演示,描述特征的优点以及费用。随后,可显示诸如“升级您现有PC的时间少于X分钟,费用为$Y”的消息。根据用户响应,进行回到远程服务器10的通信。这样,服务提供商可在此销售点后时间收取该值的费用,并因而实现全部售出的机会。
硬件特征可以为执行给定功能的任一所需硬件电路。例如并且无限制,在一些实施例中,要升级的硬件特征可包括处理器速度、安全特征等等。要升级的其它硬件特征可包括超线程或其它多线程技术、虚拟化技术、64位指令计算、高级技术等等。
在一些实施例中,远程服务器10可使用安全接口20向目标系统100发送请求。目标系统100又可检验以确定系统是否可升级,以及哪些特征可用于升级。如上所述,在一些实施例中,可检查支持的配置表110的不同寄存器,以确定系统的升级状态。
如图1所示,支持的配置表110可包括多个机器状态寄存器(MSR)。在一些实施例中,每个MSR可包括多个比特,其中每个比特与不同特征相关联,但其它控制方案也有可能。
第一MSR 112可称为产品特征状态寄存器。产品特征MSR 112可由硬件组件制造商(例如,处理器制造商)设置,以指示给定硬件组件是否包括对应于给定特征的电路。在图1所示的实施例中,产品特征MSR 112包括多个比特。比特A、B和C如图所示设置,指示所制造的处理器包括用于硬件特征A、B和C的电路。当然,在其它实施例中,不同的配置是可能的,并且可存在不止所示数量的特征。
仍参照图1,支持的配置表110包括第二MSR 114,该MSR可称为系统特征MSR。系统特征MSR 114可报告什么系统支持OEM,或者其它供应商已可用于所配置的系统。也就是说,一些特征可能要求系统级支持,如附加的硬件或软件(例如,OS特征、驱动程序、诸如可信平台模块(TPM)或带外(OOB)可管理引擎等附加的硬件)。因此,系统特征MSR 114可提供所配置的目标系统100是否能够无缝升级的信息。在各种实施例中,系统特征MSR 114因此可由OEM或其它系统供应商例如在系统制造期间编写,以为不同硬件特征指示目标系统的可升级性。因此,第二MSR 114可用于为给定硬件特征提供系统的确证/生效。如果给定特征在第二MSR 114中设置,则鉴于给定系统的各种硬件和软件,目标系统100可以可靠地与给定特征的升级互操作以支持它。
因此,在各种实施例中,系统可在销售点由OEM、原始装置制造商(ODM)和/或综合商确证为对某些类特征可升级。此类可升级性可基于以下假设提供:在销售点,对应于系统的核心模型可以多种方式使用,例如,包括各种硬件和软件组件以及此类组件级。一些用户可能希望购买所有特征都启用的系统,即顶级系统。然而,其它用户可能希望购买硬件中所有特征一部分可用的系统,而生态系统和使用模型成熟,且是主流用户的倾向选择。因此,基于特定的系统配置,供应商可在销售点相应地设置系统特征MSR 114。
升级MSR 116又可指示能够在系统内启用的目标组件特征。在一些实施例中,MSR 116可以为销售点后升级MSR。就是说,升级MSR 116可指示在MSR 112与114之间的逻辑“与”操作。因此,如图1所示,特征B在升级MSR 116中设置,指示关于特征B的销售点后升级。
因此,如果目标系统100能够被升级,并且用户希望升级,则目标系统100和远程服务器10可使目标系统升级。在一些实施例中,如果用户已更改OEM提供的映像,则在允许任何硬件升级前,可重新安装原始映像以确认可无缝地启用硬件特征。换而言之,在远程服务器10能够升级目标系统100前,第一目标系统100可重新安装其原始映像。
为实现硬件升级,目标系统100可向远程服务器10发送加密密钥,以及希望启用和/或升级硬件特征B的指示。在各种实施例中,要升级的系统组件(例如,CPU或芯片集组件)可提供对目标系统100特定的唯一加密密钥。在一些实施例中,唯一加密密钥可以为产品序列号或另一唯一标识符,其提供为唯一地标识每个制造的组件。通过提供唯一标识符,可加强与反盗版和其它安全机制的一致性。
基于从目标系统100获得的信息,远程服务器10可加密微代码指令,以启用要在目标系统100中升级的(例如)特征B。在图1的实施例中,远程服务器10内的代码加密逻辑块30可用于获得微代码以促使升级,并根据从目标系统100接收的加密密钥加密微代码。随后,远程服务器10可经代码和验证通信逻辑块40发送加密的指令。在各种实施例中,发送的信息可包括启用硬件特征的加密微代码指令,以及测试目标组件以确认成功升级的附加指令。
仍参照图1,加密的指令可由目标系统100的可重新配置逻辑块120使用。可重新配置逻辑块120可包括实现特征升级的各种组件。具体而言,如图1所示,可重新配置逻辑块120可包括将远程服务器10发送的微代码解密的代码解密逻辑122。在各种实施例中,代码解密逻辑122可使用对应于目标系统100发送的加密密钥的解密密钥。在解密微代码后,系统内启用逻辑124可启用特征B。在各种实施例中,如下面将进一步描述的,熔丝可编程性逻辑可用于启用该特征。
在完成特征启用后,系统内生效逻辑126可确认硬件特征实际上已成功启用。如果已成功启用,则系统内生效逻辑126可在支持的配置表110内的特征启用MSR 118内设置对应的特征比特,以指示启用状态。例如,图1示出特征启用MSR 118在对应于特征B的比特中包括逻辑“0”。在提供用于特征B的成功升级后,对应于特征B的比特可设为逻辑“1”状态。在设置特征启用MSR 118后,目标系统100可发送确认消息到远程服务器10的确认和记帐逻辑块(确认块)50。在各种实施例中,确认消息还可确认硬件特征工作在目标系统100上。因此,返回服务器10的生效消息可包括确认硬件特征在目标系统100上成功实现的签名。因此用户以后不能声称硬件特征未成功升级以企图避免支付升级费用。
在收到确认消息后,远程服务器10可向与目标系统100相关联的帐户收取成功升级的费用。此外,确认块50可将状态消息发送到中央数据库60以指示对目标系统100的升级。在一些实施例中,中央数据库60可以为与例如微处理器制造商等组件制造商相关联的数据库。这样,制造商可为保修和其它目的而跟踪特定处理器的实际配置。例如,如果用户已启用给定硬件特征,则处理器制造商可为将来升级、提供用于适合与给定硬件特征升级一起使用的附件的软件或其它组件,而将该系统作为目标。另外,处理器制造商可使用有关特定用户实现的升级或全面升级选择的信息,以提取营销信息供开发将来产品和升级使用。
对目标系统100的升级虽然在图1中显示为用远程服务器10实现,但在其它实施例中可以其它方式发生。例如,根据本发明一个实施例,用户可购买包含实现升级的指令的盘或其它存储介质。
现在参照图2,图中所示是根据本发明一个实施例的方法流程图。如图2所示,方法200可用于升级目标系统的硬件特征。方法200可从与目标系统通信开始(框205)。例如,OEM、经销商等的远程服务器可与目标系统通信。在各种实施例中,通信可对系统的用户是透明的。具体而言,远程服务器可请求有关目标系统配置的信息,以便可作出有关系统是否能够升级的确定。
相应地,可确定是否确证目标系统可升级(菱形框210)。在各种实施例中,在远程服务器请求时,支持的配置表可传递回远程服务器。再者,远程服务器与目标系统之间的此通信可对终端用户是透明的。基于从目标系统接收的信息,远程服务器可确定是否确证目标系统可升级。如果不确证,则方法200可终止。
如果确定确证目标系统可升级,则接下来可确定用户是否希望升级系统(菱形框215)。虽然可能存在确定是否希望升级系统的各种方式,但在许多实施例中,可从远程服务器向目标系统发送消息。该消息例如可经弹出式或其它消息框显示在目标系统上,以指示升级可用性。如果用户不希望升级,则方法200可终止。
如果用户希望升级,则目标系统可将加密密钥发送到远程服务器(框220)。在各种实施例中,加密密钥可以为唯一代码,其标识目标系统和/或系统的特定硬件组件,例如,处理器或芯片集。
使用加密密钥,远程服务器可生成允许升级的加密指令。更具体地说,远程服务器可生成微代码指令,此外可加密该指令以防止对指令未经授权的访问。微代码指令可由目标系统用于适当地对一个或多个硬件组件进行编程,以便为操作启用特征。远程系统也可生成传输到目标系统的生效指令,以确认升级成功,且目标系统可执行实现所需特征的代码。因此,远程服务器可将加密的升级指令发送到目标系统(框225)。
通过使用对应于加密指令的解密密钥,目标系统可将升级指令解密并相应地对目标系统进行编程(框230)。具体而言,解密的微代码指令可用于安全地允许升级发生,而较少关心违反安全性。也就是说,微代码指令可被解密并直接发送到处理器核,在处理器核中微代码指令可在内部执行以启动编程。由于在这些实施例中发送的指令可在微代码中,因此,用户提取指令或提供指令到未经授权方的能力可大大降低。
在一些实施例中,微代码指令可由处理器执行以启动要升级特征的编程。例如,在一些实施例中,微代码指令可在处理器或其它硬件组件内启动动态熔丝编程逻辑,以熔烧一个或多个熔丝,来启用到以前不可用的电路的路径。在这些实施例中,动态熔丝编程逻辑可使源电压提供到熔丝组等等,以使选定的熔丝熔烧(即,启用)。成功熔烧后,随后可形成到执行该特征的电路的路径。
在对组件编程以启用特征后,接下来可确定升级是否成功(菱形框235)。在各种实施例中,由远程服务器发送的代码可用于验证已启用特征的操作。例如,在一些实施例中,生效代码可与微代码指令一起发送。在编程完成后,目标系统可执行生效代码。生效代码可练习新启用的电路,以验证它可为其预期目的操作,并且更具体地说,验证它可在目标系统的特定配置中操作。
如果确定升级不成功(菱形框235),则控制可传递到框240,在该框可执行错误处理程序。在各种实施例中,错误处理代码可在目标系统上实现以处理错误。在一些实施例中,错误处理程序可从远程源下载。在执行错误处理代码后,随后可确定是否重试升级过程(菱形框245)。例如,如果错误处理例程纠正了该错误,则可重新尝试升级过程。或者,可以确定目前不实现升级,此时方法200可终止。如果要重试升级,则控制返回到框230。
如果在菱形框235确定升级成功,则可向远程服务器报告该升级(框250)。具体而言,来自支持的配置表的信息可发送到远程服务器以指示升级成功完成。除了来自支持的配置表的信息外,标识目标系统的信息可包括在内,以便远程服务器可采取适当的措施。
具体而言,远程服务器可向与目标系统相关联的帐户收取升级的费用(框260)。例如,企业的IT部门可保持与实现远程服务器的OEM的帐户。在其它实施例中,支付升级的不同措施是可能的。例如,在一些实施例中,各个终端用户可提供信用卡信息,以授权对该终端用户希望的升级的费用进行记帐。
除了对升级进行记帐外,远程服务器可存储有关升级的信息,例如包括有关目标系统标识、所实现的升级的信息以及有关目标系统的附加信息,诸如平台、构件、映像等等。此外,如图2所示,远程服务器可将升级信息传递到中央数据库(框270)。
现在参照图3,图中所示的是根据本发明一个实施例的一部分动态熔丝编程逻辑的框图。如图所示,电路300a可包括各种寄存器、逻辑门和控制器以控制熔丝的熔烧,来启用不同的硬件特征。如图3所示,电路300a被耦合以接收数据熔烧熔丝。数据可在从远程服务器接收的微代码指令控制下发送到电路300a。如图3所示,可在多个锁存器310a、b、c接收输入数据。在各种实施例中,1比特锁存器可用于接收可升级的每个特征的数据。虽然在图3中为便于图示而显示为包括三个此类锁存器,但要理解,本发明的范围并不限于此。锁存器310被耦合以便由例如处理器时钟信号(CPU时钟)等输入时钟信号加时钟。输入时钟信号也可用于为被耦合以便接收控制信号的控制锁存器315加时钟。具体而言,控制信号(即,准备升级)可从已执行的微代码指令接收。
为了控制选定熔丝的熔烧,可存在熔丝熔烧控制器325。在各种实施例中,控制器325可以为可编程逻辑以便启动熔丝熔烧序列。在图3的实施例中,控制器325被耦合以便接收复位信号(即,CPU复位)和控制信号(即,起动熔烧序列),以从锁存器315启动熔丝熔烧序列。此外,控制器325被耦合以便接收输入时钟信号。最后,如图3所示,控制器325被耦合以便接收电压状态信号(VCC是好的)。电压状态信号可由比较器320输出,该比较器例如比较处理器电源电压(CPU VCC)和参考电压。在图3所示的实施例中,参考电压(即,稳定VREF)可大约等于电源电压的三分之二。
在启动控制信号(即,起动熔烧序列)后,并假设复位信号已被接收且电压状态信号有效,控制器325可使选定的熔丝熔烧。更具体地说,控制器325可首先设置启动电荷控制信号(即,起动电荷泵)。然后,在随后的时钟周期(例如,CPU时钟的1微秒(μs)周期)上,控制器325可为选定特征的多个冗余熔丝中的每个熔丝设置一个信号。如图3所示,发送的信号可在多个线路上发出(即,熔烧熔丝[3:0])。在熔烧序列完成时,可生成熔烧序列结束控制信号(即,熔烧序列完成)。随后,控制器325可将所有其输出设为0。
现在转到图4,图中所示是根据本发明一个实施例的动态熔丝编程逻辑的第二部分。如图4所示,电路300b可以为与电路300a相同的逻辑的一部分。
如图4所示,电路300b包括电荷泵330,其在激活时生成熔丝熔烧电压。电荷泵330被耦合以便接收电源电压(CPU VCC)和从“与”门328输出的启用信号(泵电压)。如图4所示,“与”门328被耦合以便接收电荷控制信号和反相的熔烧序列结束控制信号,即,经反相器327。因此,在“与”门328的输出是逻辑“1”并且电源电压存在时,电荷泵330可生成电荷泵电压信号(电荷泵输出),以向第一熔丝组340和第二熔丝组345提供熔丝熔烧电压。虽然在图4的实施例中显示为从处理器电源电压(即,CPU VCC)接收源电压,但在其它实施例中,可使用辅助电压电源。此外,可使用专用的平台源电压,而不是使用经电荷泵330的泵送电压。或者,在其它实施例中,可使用额定电源电压(例如,CPU VCC)。
虽然在图4中显示为只包括两个熔丝组,但要理解,本发明的范围并不限于此,且在给定实施例中可存在任意所需数量的熔丝组。在各种实施例中,每个熔丝组可以为一组冗余熔丝(例如,四个冗余熔丝),每个熔丝具有独立的熔烧控制。此外,在各种实施例中,可存在用于每个要启用或升级的潜在特征的熔丝组。然而,要理解其它配置是可能的。
要熔烧给定熔丝组中的选定熔丝,对应于该组内选定熔丝的线路上的输入信号可以在逻辑高电平。具体而言,如图4所示,逻辑门335和337(即,“与”门)分别耦合到熔丝组340和345的数据输入端。“与”门335和337被耦合,以便从锁存器310接收特征熔烧选择信号(特征熔烧寄存器[X])和从控制器325接收熔丝熔烧信号。在逻辑高电平从“与”门335和337之一输出并且电荷泵电压信号存在时,适当的熔丝将被熔烧。这样,可在指令(例如,微代码指令)控制下,设置对应于给定硬件特征的多个冗余熔丝。
仍参照图3和图4,电路300a和300b也可用于验证熔丝熔烧序列被正确执行。因此,熔丝验证控制器360可存在(电路300a中)。如图3所示,控制器360可被耦合以便接收各种输入,包括输入时钟信号、电压状态信号和复位信号。此外,控制器360可被耦合以便从控制器325接收熔烧序列结束信号。在各种实施例中,控制器360可为空闲,所有其输出都设为0,直到它接收到有效的高熔烧序列结束信号,指示熔烧序列完成为止。
此时,在一个实施例中,控制器360可执行以下功能。首先,控制器360可将熔丝感测信号(熔丝感测)设为逻辑高。随后,它可将熔丝负载信号(熔丝负载)设为有效的高值。当熔丝感测信号有效时,熔丝组340和345将生成输出以指示每组内各个熔丝的熔烧状态。这些输出信号随后又经“或”门348和349进行逻辑“或”,其输出耦合到相应的锁存器350和352。当这些锁存器由熔丝负载信号启用时,锁存器将输出熔丝输出信号(熔丝输出[x])。
如图4所示,熔丝输出信号经反相器354反相,由此形成所有熔丝信号(所有熔丝=0)和未反相的任意熔丝信号(任意熔丝=1)。参照图3,“与”门356(即,“与”门)被耦合以便接收任意熔丝信号,以及由熔丝控制器360生成的验证序列结束信号(验证序列完成)。在这两个信号均设为逻辑高时,“与”门356生成提供到锁存器374a、b、c相应之一的高输出,每个对应于一个相应的硬件特征。在锁存器374之一生成特征有效比特(特征有效比特)时,这指示对应的硬件特征已将其熔丝成功编程。
与此相反,如果所有熔丝信号在逻辑高电平,并且来自控制器360的验证序列结束信号也是逻辑高,则“与”门368可生成输出高信号,以提供一个值到锁存器370a、b、c相应之一,其中每个也对应于一个给定特征。如果这些锁存器370之一输出逻辑高信号,则它指示在尝试对给定硬件特征编程时发生了熔丝熔烧错误。最后,“或”门364可被耦合以便接收电源故障信号。具体而言,两个此类电源故障信号可提供到“或”门364的输入端,即来自熔丝熔烧控制器325的“熔烧前VCC故障”信号和来自熔丝验证控制器360的“完成前VCC故障”信号。如果这些信号中任一个设为高,指示电源电压故障,则“或”门364将输出逻辑高信号。这又会设置锁存器372以指示电源故障错误。
在各种实施例中,特征有效比特(例如,经锁存器374a、b、c之一)可用于设置支持的配置表110的特征启用MSR 118。例如,如果用于特征B的熔丝组成功编程,则可设置特征启用MSR 118内用于特征B的对应比特。目标系统100又可发送消息到远程服务器10,指示选定特征的成功编程。
因此,在各种实施例中,硬件特征可在制造时在硬件组件中实现,并且用户在销售点后可选择利用一个或多个硬件特征。根据本发明的各种实施例,可提供在目标系统中启用特征并使其功能生效的安全/可靠方式。此类升级可向OEM、IT客户和终端用户提供增值。此外,硬件制造商、OEM和其它方可通过提供已在硬件内实现但在销售点不启用的特征的以后升级而生成附加收益。此外,终端用户在升级硬件特征时可更迅速地加速其到更高终端平台的升级计划,从而减小PC更换周期。
此外,用户可避免在销售点支付最高金额购买系统,但仍具有在以后升级所提供的硬件特征的灵活性和能力。例如,当某些应用/使用模型变得越来越成熟时,用户可选择随后升级一个或多个硬件组件以提供用于将来的硬件特征。
实施例可以计算机程序方式实现。因此,这些实施例可存储在其上存储有指令的存储介质上,这些指令可用于对系统编程以执行实施例。存储介质可包括但不限于任一类型的盘(包括软盘、光盘、压缩盘只读存储器(CD-ROM)、可重写压缩盘(CD-RW)和磁光盘)、半导体器件(如只读存储器(ROM)、随机存取存储器(RAM)如动态RAM(DRAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM))、闪存、磁卡或光卡、或者适于存储电子指令的任意类型的介质。类似地,实施例可实现为由诸如计算机处理器或自定义设计的状态机等可编程控制器件执行的软件模块。
实施例可在不同的系统中实现。例如,一些实施例可在多处理器系统中实现(例如,诸如通用系统接口(CSI)系统等点对点总线系统)。现在参照图5,图中所示的是根据本发明一个实施例的多处理器系统框图。如图5所示,多处理器系统400是点对点总线系统,且包括经点对点互连450耦合的第一处理器470和第二处理器480。如图5所示,每个处理器470和480可以为多核处理器,包括第一和第二处理器核(即,处理器核474a和b以及处理器核484a和b)。第一处理器470还包括存储器控制器中心(MCH)472和点对点(P-P)接口476与478。类似地,第二处理器480包括MCH 482和P-P接口486与488。如图5所示,MCH 472和482将处理器耦合到相应存储器,即存储器432和存储器434,这些存储器可以是在本地连接到相应处理器的主存储器的一部分。
如图5所示,根据本发明一个实施例,处理器470可包括表473。更具体地说,表473可以是支持的配置表,其包括多个MSR以标识硬件特征及其升级状态。此外,根据本发明一个实施例,处理器470可包括可重新配置逻辑475。可重新配置逻辑475可用于从远程服务器接收指令,并根据指令启用系统内一个或多个硬件特征。还是如图5所示,根据本发明一个实施例,处理器480可同样包括表483和可重新配置逻辑485。
第一处理器470和第二处理器480可分别经P-P接口452和454耦合到芯片集490。如图5所示,芯片集490包括P-P接口494和498。此外,芯片集490包括接口492以便将芯片集490与高性能图形引擎438耦合。在一个实施例中,高级图形端口(AGP)总线439可用于将图形引擎438耦合到芯片集490。AGP总线439可符合由加利福尼亚州圣塔克拉拉的Intel公司在1998年5月4日发表的“加速图形端口接口规范,2.0版”。或者,点对点互连439可耦合这些组件。
芯片集490又可经接口496耦合到第一总线416。在一个实施例中,第一总线416可以是由1995年6月发表的“PCI局部总线规范,产品版本,2.1版”所定义的外围组件互连(PCI)总线,或者是诸如PCI Express总线或另一第三代I/O互连总线等总线,但本发明的范围并不限于此。
如图5所示,各种输入/输出(I/O)装置414可与总线桥418一起耦合到第一总线416,总线桥418将第一总线416耦合到第二总线420。在一个实施例中,第二总线420可以为低引线数(LPC)总线。在一个实施例中,各种装置可耦合到第二总线420,例如包括键盘/鼠标422、通信装置426和可包括代码430的数据存储单元428。通信装置426可包括网络接口卡、无线接口等等,以使系统400能够与远程系统通信以接收升级指令。此外,音频I/O 424可耦合到第二总线420。
虽然已相对有限数量的实施例描述了本发明,但本领域的技术人员将理解由此产生的多种修改和变化。所附权利要求书旨在涵盖落在本发明真正精神和范围内的所有此类修改和变化。

Claims (16)

1.一种升级系统的硬件资源的方法,包括:
确定系统是否与所述系统的硬件资源的升级兼容,包括:基于由配置表存储的有关硬件特征的状态的信息,对所述系统的配置表作对应于所述升级的所述硬件资源的要在销售点后启用的特征的能力方面的分析,所述配置表包括:第一状态寄存器,以存储有关所述硬件特征的系统状态的信息,第一状态寄存器由所述系统的供应商设置,以确证由所述供应商所配置的所述系统是否能够支持所述硬件特征,第二状态寄存器,以存储有关所述硬件特征的特征启用状态的信息,第二状态寄存器由处理器的制造商设置,以指示在所述处理器中存在对应于所述硬件特征的电路,以及升级机器状态寄存器,以指示能够在系统内启用的目标组件特征;
在所述系统兼容时从远程系统接收指令以升级所述硬件资源;以及
基于所述指令对所述硬件资源进行编程。
2.如权利要求1所述的方法,还包括:
在确定所述系统兼容后,将所述系统的加密密钥发送到所述远程系统;以及
从所述远程系统接收加密的指令,其中所述指令包括微代码。
3.如权利要求2所述的方法,其中对所述硬件资源进行编程包括:经根据微代码指令执行的动态熔融,对所述硬件资源进行永久性编程。
4.如权利要求3所述的方法,其中所述动态熔融包括启用到对应于所述升级的所述硬件资源的电路的路径。
5.如权利要求1所述的方法,其中所述配置表在销售点设置,以确证所述系统相对于所述特征可升级,其中所述确证是验证所述系统包括可与所述特征兼容的映像。
6.一种用于升级系统的硬件资源的设备,包括:
集成电路,具有配置表以存储与要在包括所述集成电路的系统的销售点之后启用的一个或多个硬件特征的状态有关的信息,其中所述配置表包括:第一状态寄存器,以存储有关所述硬件特征的系统支持状态的信息,第一状态寄存器由所述系统的供应商设置,以确证由所述供应商所配置的所述系统是否能够支持所述硬件特征;第二状态寄存器,以存储有关所述硬件特征的特征启用状态的信息,第二状态寄存器由所述集成电路的制造商设置,以指示在所述集成电路中存在对应于所述硬件特征的电路;以及升级机器状态寄存器,以指示能够在系统内启用的目标组件特征。
7.如权利要求6所述的设备,其中,所述配置表还包括特征启用机器状态寄存器,所述特征启用机器状态寄存器存储有关所述硬件特征的升级状态的信息,所述特征启用机器状态寄存器的至少一部分要在成功启用所述硬件特征之一时设置。
8.如权利要求6所述的设备,还包括动态熔丝编程逻辑电路,以对所述集成电路进行编程,来根据从远程源接收的微代码启用至少一个所述硬件特征。
9.如权利要求8所述的设备,其中所述动态熔丝编程逻辑电路包括:熔丝熔烧控制器,熔烧至少一个熔丝以基于所述微代码启用至少一个所述硬件特征;以及熔丝验证控制器,验证所述熔烧。
10.如权利要求9所述的设备,其中所述集成电路包括处理器,并且还包括执行至少一个所述硬件特征的所述处理器的块,所述块经所述至少一个熔丝耦合到处理器核。
11.如权利要求8所述的设备,其中所述集成电路包括所述硬件特征,所述硬件特征除非由所述动态熔丝编程逻辑电路编程否则不启用。
12.由权利要求6所述的设备,其中所述配置表包括用于在所述集成电路的寄存器中可用的状态信息的集中式存储器,所述配置表对外部系统可见。
13.一种用于升级系统的硬件资源的系统,包括:
处理器,包含在所述系统的销售点不启用的硬件特征,并且包括配置表,以存储有关所述硬件特征的状态的信息,所述配置表包括:第一状态寄存器,以存储有关所述硬件特征的系统状态的信息,第一状态寄存器由所述系统的供应商设置,以确证由所述供应商所配置的所述系统是否能够支持所述硬件特征,第二状态寄存器,以存储有关所述硬件特征的特征启用状态的信息,第二状态寄存器由所述处理器的制造商设置,以指示在所述处理器中存在对应于所述硬件特征的电路,以及升级机器状态寄存器,以指示能够在系统内启用的目标组件特征;
编程器,耦合到所述硬件特征以在销售点后启用所述硬件特征;及
接口,将所述系统连接到远程系统。
14.如权利要求13所述的系统,其中所述编程器包括动态熔丝编程逻辑电路,以根据从所述远程系统接收的指令启用所述硬件特征。
15.如权利要求14所述的系统,其中所述动态熔丝编程逻辑电路包括控制器,以熔烧至少一个熔丝来将所述硬件特征耦合到处理器核。
16.如权利要求13所述的系统,其中所述硬件特征包括安全特征。
CN2006800178421A 2005-05-23 2006-05-23 升级系统的硬件资源的方法、设备和系统 Expired - Fee Related CN101180608B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/135,158 US7640541B2 (en) 2005-05-23 2005-05-23 In-system reconfiguring of hardware resources
US11/135,158 2005-05-23
PCT/US2006/020334 WO2006127949A1 (en) 2005-05-23 2006-05-23 In-system reconfiguring of hardware resources

Publications (2)

Publication Number Publication Date
CN101180608A CN101180608A (zh) 2008-05-14
CN101180608B true CN101180608B (zh) 2012-05-09

Family

ID=36992319

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800178421A Expired - Fee Related CN101180608B (zh) 2005-05-23 2006-05-23 升级系统的硬件资源的方法、设备和系统

Country Status (8)

Country Link
US (2) US7640541B2 (zh)
JP (1) JP5070206B2 (zh)
KR (1) KR100962747B1 (zh)
CN (1) CN101180608B (zh)
DE (1) DE112006001308T5 (zh)
GB (1) GB2439889B (zh)
TW (1) TWI328189B (zh)
WO (1) WO2006127949A1 (zh)

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7450242B2 (en) * 2004-12-10 2008-11-11 Fujifilm Corporation Optical tomography apparatus
US7716501B2 (en) * 2006-06-30 2010-05-11 Advanced Micro Devices, Inc. Method of providing a customer with increased integrated circuit performance
US20080115217A1 (en) * 2006-10-31 2008-05-15 Hewlett-Packard Development Company, L.P. Method and apparatus for protection of a computer system from malicious code attacks
US8296849B2 (en) * 2006-10-31 2012-10-23 Hewlett-Packard Development Company, L.P. Method and apparatus for removing homogeneity from execution environment of computing system
US7809926B2 (en) * 2006-11-03 2010-10-05 Cornell Research Foundation, Inc. Systems and methods for reconfiguring on-chip multiprocessors
US7857222B2 (en) 2007-08-16 2010-12-28 Hand Held Products, Inc. Data collection system having EIR terminal interface node
WO2009073969A1 (en) 2007-12-13 2009-06-18 Certicom Corp. System and method for controlling features on a device
US7663957B2 (en) * 2008-05-27 2010-02-16 Via Technologies, Inc. Microprocessor with program-accessible re-writable non-volatile state embodied in blowable fuses of the microprocessor
US8402279B2 (en) * 2008-09-09 2013-03-19 Via Technologies, Inc. Apparatus and method for updating set of limited access model specific registers in a microprocessor
US8341419B2 (en) * 2008-09-09 2012-12-25 Via Technologies, Inc. Apparatus and method for limiting access to model specific registers in a microprocessor
EP2350910B1 (en) * 2008-11-24 2018-07-25 Certicom Corp. System and method for hardware based security
US20100329188A1 (en) * 2009-06-29 2010-12-30 Yu-Chih Jen Method for Handling Transmission Status and Related Communication Device
CA2767721C (en) 2009-07-10 2017-01-24 Certicom Corp. System and method for managing electronic assets using multithreaded interfaces for distributed manufacturing
EP4092590A1 (en) 2009-07-10 2022-11-23 BlackBerry Limited System and method for performing serialization of devices
EP2282263A1 (fr) * 2009-07-31 2011-02-09 Gemalto SA Procédé de configuration fonctionnelle d'un circuit intégré pour carte à puce en vue d'une utilisation optimale de ses ressources
US8316243B2 (en) * 2009-08-07 2012-11-20 Via Technologies, Inc. Apparatus and method for generating unpredictable processor-unique serial number for use as an encryption key
US9497092B2 (en) 2009-12-08 2016-11-15 Hand Held Products, Inc. Remote device management interface
US9032186B2 (en) 2010-07-09 2015-05-12 Blackberry Limited Utilization of a microcode interpreter built in to a processor
US9690941B2 (en) * 2011-05-17 2017-06-27 Microsoft Technology Licensing, Llc Policy bound key creation and re-wrap service
US9331855B2 (en) 2011-07-01 2016-05-03 Intel Corporation Apparatus, system, and method for providing attribute identity control associated with a processor
US20130055228A1 (en) * 2011-08-29 2013-02-28 Fujitsu Limited System and Method for Installing a Patch on a Computing System
US8539123B2 (en) 2011-10-06 2013-09-17 Honeywell International, Inc. Device management using a dedicated management interface
US8621123B2 (en) 2011-10-06 2013-12-31 Honeywell International Inc. Device management using virtual interfaces
WO2013119065A1 (en) * 2012-02-10 2013-08-15 Samsung Electronics Co., Ltd. Securely upgrading or downgrading platform components
US8667270B2 (en) 2012-02-10 2014-03-04 Samsung Electronics Co., Ltd. Securely upgrading or downgrading platform components
US8949818B2 (en) * 2012-06-29 2015-02-03 Intel Corporation Mechanism for facilitating dynamic and trusted cloud-based extension upgrades for computing systems
US20140068561A1 (en) * 2012-09-05 2014-03-06 Caterpillar Inc. Control system having automatic component version management
US9223715B2 (en) 2013-08-21 2015-12-29 Via Alliance Semiconductor Co., Ltd. Microprocessor mechanism for decompression of cache correction data
US9348690B2 (en) 2013-08-21 2016-05-24 Via Alliance Semiconductor Co., Ltd. Correctable configuration data compression and decompression system
US9716625B2 (en) 2013-10-09 2017-07-25 International Business Machines Corporation Identifying compatible system configurations
US9306805B2 (en) 2013-11-07 2016-04-05 International Business Machines Corporation Dynamic conversion of hardware resources of a server system
US9665490B2 (en) 2014-05-22 2017-05-30 Via Alliance Semiconductor Co., Ltd. Apparatus and method for repairing cache arrays in a multi-core microprocessor
US9524241B2 (en) 2014-05-22 2016-12-20 Via Alliance Semiconductor Co., Ltd. Multi-core microprocessor power gating cache restoral mechanism
US9606933B2 (en) 2014-05-22 2017-03-28 Via Alliance Semiconductor Co., Ltd. Multi-core apparatus and method for restoring data arrays following a power gating event
US9395802B2 (en) 2014-05-22 2016-07-19 Via Alliance Semiconductor Co., Ltd. Multi-core data array power gating restoral mechanism
US9874927B2 (en) * 2014-06-26 2018-01-23 Intel Corporation Method and apparatus for precision CPU maximum power detection
US20150381368A1 (en) * 2014-06-27 2015-12-31 William A. Stevens, Jr. Technologies for secure offline activation of hardware features
US9768599B2 (en) 2014-07-17 2017-09-19 Honeywell International Inc. Separable wallbox device and memory
US9748708B2 (en) 2014-10-14 2017-08-29 Honeywell International Inc. Poke-in electrical connector
CN104317613A (zh) * 2014-10-15 2015-01-28 广西大学 广播电视发射台远程监控系统的采集控制器软件升级方法
US9461994B2 (en) 2014-11-26 2016-10-04 Intel Corporation Trusted computing base evidence binding for a migratable virtual machine
EP3128383B1 (de) * 2015-08-03 2020-06-03 Schneider Electric Industries SAS Feldgerät
US9897339B2 (en) 2016-02-12 2018-02-20 Honeywell International Inc. HVAC wall mountable connector with memory
US9686880B1 (en) 2016-02-12 2017-06-20 Honeywell International Inc. Thermostat housing with pc board locating apertures
USD843324S1 (en) 2016-02-12 2019-03-19 Ademco Inc. Wall mountable connector with terminal labels
US9989273B2 (en) 2016-02-12 2018-06-05 Honeywell International Inc. Wall covering plate for use with an HVAC controller
US9768564B2 (en) 2016-02-12 2017-09-19 Honeywell International Inc. HVAC wall mountable connector with mounting features
US9960581B2 (en) 2016-02-12 2018-05-01 Honeywell International Inc. Adapter plate with mounting features for a wall mountable connector
US10054326B2 (en) 2016-02-12 2018-08-21 Honeywell International Inc. Wall mountable connector for an HVAC controller
US10359790B2 (en) 2016-02-12 2019-07-23 Ademco Inc. Multi piece HVAC controller housing with latches and guiding features
US9735482B1 (en) 2016-02-12 2017-08-15 Honeywell International Inc. Wall mountable connector with commonly used field wire terminals spaced from one another
US10208972B2 (en) 2016-02-12 2019-02-19 Ademco Inc. Automatic detection of jumper switch position of a wall mount connector
US9735518B1 (en) 2016-02-12 2017-08-15 Honeywell International Inc. Wall mountable connector terminal configuration
US9780511B2 (en) 2016-02-12 2017-10-03 Honeywell International Inc. Jumper switch for an HVAC wall mountable connector
US9667009B1 (en) 2016-02-12 2017-05-30 Honeywell International Inc. HVAC wall mountable connector with movable door
US9774158B2 (en) 2016-02-12 2017-09-26 Honeywell International Inc. Wall mountable connector with built in jumper functionality
US9941183B2 (en) 2016-02-12 2018-04-10 Honeywell International Inc. Wall mountable connector with wall covering plate
US20170257369A1 (en) * 2016-03-04 2017-09-07 Altera Corporation Flexible feature enabling integrated circuit and methods to operate the integrated circuit
US10268844B2 (en) 2016-08-08 2019-04-23 Data I/O Corporation Embedding foundational root of trust using security algorithms
US10895883B2 (en) 2016-08-26 2021-01-19 Ademco Inc. HVAC controller with a temperature sensor mounted on a flex circuit
US10024568B1 (en) 2017-09-14 2018-07-17 Honeywell International Inc. Lock box for a building controller
US11288124B2 (en) * 2019-03-30 2022-03-29 Intel Corporation Methods and apparatus for in-field mitigation of firmware failures
CN114924776A (zh) * 2022-04-20 2022-08-19 阿里巴巴(中国)有限公司 可编程逻辑器件升级方法、装置、系统、设备及程序产品

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5530749A (en) * 1994-08-15 1996-06-25 International Business Machines Corporation Methods and apparatus for secure hardware configuration
US20040010643A1 (en) * 2002-07-09 2004-01-15 Thomas William John Method for providing multiple configurations in a computer system with multiple components

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5850518A (en) * 1994-12-12 1998-12-15 Northrup; Charles J. Access-method-independent exchange
US6279153B1 (en) * 1995-10-16 2001-08-21 Nec Corporation Multi-user flash ROM update
US5771287A (en) * 1996-08-01 1998-06-23 Transcrypt International, Inc. Apparatus and method for secured control of feature set of a programmable device
US6694317B1 (en) * 1997-12-31 2004-02-17 International Business Machines Corporation Method and apparatus for high-speed access to and sharing of storage devices on a networked digital data processing system
US6954777B1 (en) * 1999-07-29 2005-10-11 International Business Machines Corporation Method for extending capabilities of an arbitrary web server
US6718407B2 (en) * 1999-09-30 2004-04-06 Intel Corporation Multiplexer selecting one of input/output data from a low pin count interface and a program information to update a firmware device from a communication interface
US6687734B1 (en) * 2000-03-21 2004-02-03 America Online, Incorporated System and method for determining if one web site has the same information as another web site
US6744450B1 (en) * 2000-05-05 2004-06-01 Microsoft Corporation System and method of providing multiple installation actions
US6698018B1 (en) * 2000-05-10 2004-02-24 Microsoft Corporation System and method of multiple-stage installation of a suite of applications
US7526762B1 (en) * 2000-06-30 2009-04-28 Nokia Corporation Network with mobile terminals as browsers having wireless access to the internet and method for using same
US8087014B1 (en) * 2000-10-26 2011-12-27 Qualcomm Incorporated Method and apparatus for configuration management for a computing device
US7133822B1 (en) * 2001-03-29 2006-11-07 Xilinx, Inc. Network based diagnostic system and method for programmable hardware
US20030110484A1 (en) * 2001-12-10 2003-06-12 David Famolari Method and apparatus utilizing bluetooth transmission protocols to update software resident on a network of computing devices
US7133874B2 (en) * 2001-12-13 2006-11-07 Microsoft Corporation Prototyping model for components of a software program
US7562208B1 (en) * 2002-02-07 2009-07-14 Network Appliance, Inc. Method and system to quarantine system software and configuration
US6954930B2 (en) * 2002-02-19 2005-10-11 International Business Machines Corporation Remote validation of installation input data
JP3906735B2 (ja) * 2002-04-19 2007-04-18 株式会社デンソー 車載通信システム
US7814476B2 (en) * 2002-10-31 2010-10-12 Oracle America, Inc. Systems and methods for updating software
US7146610B2 (en) * 2003-03-27 2006-12-05 Taiwan Semiconductor Manufacturing Company, Ltd. Method for upgrading software components without system shutdown
US7324450B2 (en) * 2003-03-31 2008-01-29 Intel Corporation Method and apparatus for programming a functionality of an integrated circuit (IC)
US20050240919A1 (en) * 2004-04-27 2005-10-27 Kim Kyoug I Firmware update using memory card reader
US7269829B2 (en) * 2004-07-30 2007-09-11 Signature Control Systems, Inc. Method and system for remote update of microprocessor code for irrigation controllers
US7937696B2 (en) * 2004-12-16 2011-05-03 International Business Machines Corporation Method, system and program product for adapting software applications for client devices
US8001527B1 (en) * 2004-12-21 2011-08-16 Zenprise, Inc. Automated root cause analysis of problems associated with software application deployments
US20060195832A1 (en) * 2005-02-25 2006-08-31 Microsoft Corporation Modules for composing computer systems
US7917894B2 (en) * 2005-06-03 2011-03-29 International Business Machines Corporation Constraining source code and objects for analysis tools
US7849455B2 (en) * 2006-08-23 2010-12-07 Sap Ag Synchronization and transmission of distributed user interfaces over computer networks
US8166469B2 (en) * 2007-08-20 2012-04-24 Red Hat, Inc. Method and an apparatus to conduct software release

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5530749A (en) * 1994-08-15 1996-06-25 International Business Machines Corporation Methods and apparatus for secure hardware configuration
US20040010643A1 (en) * 2002-07-09 2004-01-15 Thomas William John Method for providing multiple configurations in a computer system with multiple components

Also Published As

Publication number Publication date
US7640541B2 (en) 2009-12-29
GB0721237D0 (en) 2007-12-05
JP2008542882A (ja) 2008-11-27
TW200713028A (en) 2007-04-01
CN101180608A (zh) 2008-05-14
JP5070206B2 (ja) 2012-11-07
TWI328189B (en) 2010-08-01
GB2439889B (en) 2009-10-28
GB2439889A (en) 2008-01-09
KR100962747B1 (ko) 2010-06-10
US20070006213A1 (en) 2007-01-04
US20100058323A1 (en) 2010-03-04
DE112006001308T5 (de) 2008-04-17
WO2006127949A1 (en) 2006-11-30
US8375380B2 (en) 2013-02-12
KR20080005567A (ko) 2008-01-14

Similar Documents

Publication Publication Date Title
CN101180608B (zh) 升级系统的硬件资源的方法、设备和系统
CN102081534B (zh) 自动模块化且安全的引导固件更新
US11579893B2 (en) Systems and methods for separate storage and use of system BIOS components
US9454723B1 (en) Radio frequency identity (RFID) chip electrically and communicatively coupled to motherboard of mobile communication device
CN101714200B (zh) 强化计算机系统的装置和方法
CN109919586B (zh) 多层安全移动交易使能平台
US10747526B2 (en) Apparatus and method to execute prerequisite code before delivering UEFI firmware capsule
KR102258412B1 (ko) 하드웨어 특징들의 보안 오프라인 활성화를 위한 기술들
GB2507596A (en) A method for updating software in a device that makes payment transactions
US9582262B2 (en) Systems and methods for installing upgraded software on electronic devices
CN102289627A (zh) 固件映象的多拥有者部署
CN101114233A (zh) 固件更新的设备与方法
CN103119560A (zh) 用于服务处理器复合体中的数据存储的基于需求的usb代理
CN103858096A (zh) 内容相关元数据到在线内容门户的批量摄取
TW201140455A (en) Radio-frequency reconfigurations of microelctronic systems in commercial packages
US20080077420A1 (en) System and Method for Securely Updating Remaining Time or Subscription Data for a Rental Computer
US20240303058A1 (en) Method and Device for Installing Program
US11907052B2 (en) Systems and methods for encrypting unique failure codes to aid in preventing fraudulent exchanges of information handling system components
US20240256248A1 (en) Methods and Systems for Providing Data for Consumer Provisioning
US20240036850A1 (en) Configuration aware firmware update
US20240152394A1 (en) Deploying applications to a payment terminal
US20240152653A1 (en) Secure signing of applications for a payment terminal
Mor An Embedded Linux Distribution for the Data Acquisition Hardware of the Compact Muon Solenoid Experiment at CERN
KR20150074820A (ko) 금융 마이크로 sd 카드를 구비한 보안 결제 장치 및 이의 실행 방법
US20130339496A1 (en) Enterprise device configuration system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120509

Termination date: 20160523

CF01 Termination of patent right due to non-payment of annual fee