CN1439128A - 代码更新期间在电源出故障时备份应用代码的方法和装置 - Google Patents
代码更新期间在电源出故障时备份应用代码的方法和装置 Download PDFInfo
- Publication number
- CN1439128A CN1439128A CN01804620A CN01804620A CN1439128A CN 1439128 A CN1439128 A CN 1439128A CN 01804620 A CN01804620 A CN 01804620A CN 01804620 A CN01804620 A CN 01804620A CN 1439128 A CN1439128 A CN 1439128A
- Authority
- CN
- China
- Prior art keywords
- code
- application code
- control unit
- computer control
- backup
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1433—Saving, restoring, recovering or retrying at system level during software upgrading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1417—Boot up procedures
Abstract
用于更新在计算机控制装置中的计算机代码的一种系统、方法和装置克服了在计算机代码的更新中的故障。本发明使得可以经由任何更新通道或机制来更新计算机代码。在一种形式下,对应于应用代码的备份代码被存储在存储器中。在电源故障或其他其中应用代码被损坏的故障的情况下,引导代码利用备份代码来提供应用代码的一个版本来用于计算机控制装置的操作。在一种形式下,通过智能卡来完成更新。
Description
技术领域
本发明涉及在计算机控制装置中更新计算机代码,具体而言涉及用于利用集成电路卡(智能卡)接口和/或在更新期间在电源故障时更新计算机代码的一种方法和装置。
背景技术
许多消费者电子装置,如付费电视(TV)系统、机顶有线电视盒、地面电视接收机、卫星电视接收机等,要求定期的软件更新来向消费者提供信号处理、交互特征和安全的改善。对于这些装置的软件更新的执行一般通过替换在这些装置中的只读存储器芯片或将计算机与这些装置上的一个数据端口连接以向这些装置的存储器下载软件更新。
在一些情况下,这样的更新要求技术人员访问消费者场所和执行软件的更新。作为替代方式,消费者必须将装置返还制造商,然后被提供一个包含更新的软件的替代装置。这样的软件更新处理耗时、耗财并烦扰消费者。
当替换整个存储器芯片的时候,一般没有与软件的操作相关的问题,因为整个软件已经被替换。但是,如果在软件更新期间有一个故障,则可能有从不严重的到灾难性的问题(装置故障)。但是,虽然有其缺点,该更新方法仍被推崇。
一种构造装置的存储器以便使得系统软件的更新容易和产生问题可能性很小的方式是将系统软件、代码或存储器划分为两个部分。一个部分一般不可改动并且它通常启动装置和执行更新软件剩余部分的任务。另一个部分是可改动的,它执行该装置应该提供给消费者的所有功能。该部分常常被更新以便具有最新的“特征集合”。不可改动的部分可以被称为引导代码或引导代码部分,而可改动的部分可以被称为应用代码或应用代码部分(即它包括应用代码的产品特征)。
考虑到上述情况,如果在下载新的引导代码期间发生电源故障情况,则装置可能出故障。这种情况在新代码通过一个服务卫星向上百万的装置广播并且装置中的工作代码已经被删除并且新代码还未装入的时候尤其糟糕。基本上,电源故障情况已经使得这些装置瘫痪。从这种情况恢复的操作对于装置制造商可以是花费非常大的。
在当今的卫星广播代码更新情况(例如DBS或直接广播系统)下,在存在上载诸如电源故障或故障条件的故障情况下,制造商需要或是在产品中准备多余的应用代码、或是建立一个服务网络来修理存储器损坏的产品。这些措施耗费大并将中断消费者的日常观看行动。
因此需要一种改进的技术来保护应用代码在上述条件下的工作能力。
发明内容
在一种形式下,本发明是用于更新对于计算机控制的装置的应用代码的一种方法和装置。更新经由与计算机控制装置的数据连接来例如通过卫星、有线电视系统、电话系统等具体完成。本发明利用存储器管理和引导代码的压缩版本来向计算机控制装置提供备份。本发明特别适用于在更新期间在发生电源故障或故障条件的情况或任何代码被损坏的任何时候。
按照这一方面,本发明提供伴随相关的存储器的软件和/或代码以获得在计算机控制装置中的整体代码保护实现。这可以在计算机控制装置的最小的存储器预算内完成。
一种软件存储装置,如一个ROM(只读存储器),被划分为三个区域:(1)不可改动的引导代码区域;(2)可以改动的应用代码区域;及(3)备份代码区域。引导代码区域包括引导代码。应用代码区域包含应用代码。备份代码区域包含备份代码,最好是处于压缩状态。
引导代码用于在被指令的时候引导应用软件操作,并将现有的应用代码替代为一种新版本的应用代码。但是,引导代码可能不具有从更新通道或机制(如直接广播系统(DBS)卫星)验证和收集新的应用代码的特征。
应用代码包含所有的产品特征。例如在一个DBS环境中,应用代码将包括视频/音频显示、程序语法分析、每次观看付费等。按照本发明的一个方面,新的应用代码下载验证和下载代码分组处理是在当前的应用代码段。这有利于这些综合特征(即下载验证和下载数据分组收集)可以随着应用代码而更新。
备份代码用于保证计算机控制装置在当前现有的应用代码被损坏的时候可以接收和验证一个新的应用代码下载。只要备份代码被合适地封装和压缩,则备份代码可以将其特征扩展为应用代码的特征。备份代码的特征集合可以从上述的基本功能改变为所设计的应用代码的全部功能。备份代码可以在用户处利用非电源故障破坏性方法来被更新。这样的方法在编号为RCA 89210的公开文件中得到说明,该文件由当前的受让人,美国印地安那州印第安纳波利斯的汤姆森多媒体特许公司拥有。
利用为备份代码保留的合理大小的存储器—最好是非易失性存储器,适当选择的特征集合的实现和用于压缩备份代码的良好的图象封装或压缩,所设计的可更新计算机控制装置(如DBS接收机)可以获得较低的硬件成本、高度可靠的更新操作性能和不可中断的用户设备,尤其是在下载或更新处理期间出现当前应用损坏的情况下。
在另一种形式下,本发明是用于通过智能卡接口提供计算机代码的方法和装置。本发明利用存储用于在计算机控制装置中更新(或提供)软件的存储卡,即包含固态存储器的智能卡。
更具体而言,按照本发明的一个方面,在计算机控制装置中的智能卡接口确定插入智能卡接口的该卡是否是存储卡或传统的智能卡。
存储卡具有遵守ISO标准7816-2的连接器配置和NRSS型卡高速数据端口,以便软件更新可以在通过智能卡接口执行。一旦智能卡接口已经检测到一个存储卡已经被插入,则该接口从该卡请求数据。具体而言,该接口向该存储卡提供一个NRSS型时钟信号,使得NRSS数据端口从存储卡以约42M比特/秒的速率提供计算机代码更新。
智能卡接口读取在由存储卡提供的数据中的数据流首标,以便该接口作出决定来接受计算机代码数据或拒绝该数据。所述首标信息也向接口提供操作终止条件,如文件信息的结尾。该接口向计算机控制装置的存储器提供计算机代码以便更新其计算机代码。
附图说明
本发明的下述描述要参考附图,其中:
图1是按照本发明的原理的具有能够接收软件更新的计算机控制装置的系统的示图;
图2描述了按照本发明的原理的用于计算机控制装置的非易失性存储器;
图3是在备份代码安装期间的非易失性存储器配置和计算机控制装置的图示;
图4是描述利用图2的非易失性存储器配置的本发明的一个方面的操作的流程图;
图5描述了按照本发明的一个方面的用于具有智能卡接口的计算机控制装置的软件更新系统的方框图;和
图6描述了示出按照本发明的原理的用于图5的更新系统的操作的流程图。
在几个图中对应的参考标记指对应的部件。
具体实施方式
参见图1,该图描述了具有操作软件和用于更新至少一部分操作软件的系统的一个被指定为10的方框图。系统10包括可以连接到一个更新渠道或机制14(统称为通道)的计算机控制装置12。应当理解,计算机控制装置12可以是任何类型的计算机控制装置,如广泛适用的或在消费者电子部件中,例如—但未穷举—直接广播卫星电视系统、用于有线或视频点播系统的机顶盒、高清晰度电视系统等。而且,更新渠道14表示按照在此提供的原理的接收更新的多个机制、方式、方法等。更新通道—并未穷举—包括发送和接收的更新与从辅助装置或存储装置的直接更新。被发送和接收的更新通道包括卫星(如通过DBS)、通过机顶盒的有线电视系统、通过电视信号接收器的地面广播系统等等。辅助装置包括存储条、存储卡、智能卡等。以下,将结合接入通道为卫星或DBS系统、计算机控制装置为DBS接收器的情况来说明本发明。应当理解接入通道和计算机控制装置的这种选择是任意的。在此结合DBS接收器和DBS系统而说明的本发明的原理适用于经由任何接入通道更新的所有计算机控制装置。
计算机控制装置12一般包括处理单元和微控制器等16、诸如ROM等的存储器20和数据存储器18。计算机控制装置12也包括对于特殊装置的操作必要的其他部件。一种形式的存储器20包括非易失性存储器和易失性存储器。
计算机控制装置12至少部分地在指令、代码和/或软件(统称为软件)的控制下工作。该软件包括在存储器20中。计算机控制装置12用于使得可以经由更新渠道14更新或更新它的软件的至少一部分。
现在参见图2,在此描述了存储器20的非易失性部分的一个非易失性存储器配置22(存储图)。非易失性存储器配置22可以是闪速存储器等,并且最好现场可编程。非易失性存储器包括不可改动区域24、可改动区域26与不可改动区域28。不可改动区域24可以被称为引导代码区域,因为对于计算机控制装置12的引导代码34驻留在其中。引导代码可以从所描述的最低存储器地址(一般为0x0000000或00000000 16)开始,或从最高的存储器地址开始,这取决于计算机复位向量地址。引导代码34一般仅仅包含用于引导计算机控制装置12的最基本的特征并具有最小的大小。引导代码34也最好以非压缩状态提供。
另外,引导代码34用于引导应用软件的操作,并可以在被命令如此的时候用新版本的应用代码替代现有的应用代码。但是本引导代码34不包括从DBS卫星(更新渠道14)验证和收集新的应用代码的特征。引导代码34的更新可以在工厂或实验室环境中完成。
可改动区域26可以被称为应用代码区域(ACA),因为它包含应用代码32。应用代码区域26在引导代码区域24的结尾开始并能够上升直到到达备用区30。在备用区30后,存储器地址在备份代码区域28的开始处。由于备份代码36不能被损坏,本发明最好查看当前的应用代码的大小以找出是否新的应用代码和/或当前的应用代码将进入备份代码区域的存储器地址。下面将讲述查看方法。应用代码包括旧的应用代码和新的应用代码。
不可改动的区域28可以被称为一个备份代码区域(BaCA),因为它包括备份代码36。备份代码36最好被通过图象封装压缩或处理以减小大小。备份代码36应当驻留在与计算机复位向量不同的非易失性存储器22的另一端。在图1中,备份代码36的最后一个字节应当在存储器的最高地址(即0xfffffff)。在最小处的备份代码36应当包括在当前工作代码被损坏的情况下获取新的应用代码下载(更新)的特征。利用适当的存储器资源和代码压缩,备份代码36可以具有应用代码32的全部特征。
备份代码36因此用于接收和验证新的应用代码下载。而且。备份代码36的特征可以按要求或所期望的而改变。利用在非易失性存储器22中的合理的存储器大小、对于实现的适当选择的特征集和压缩备份代码36的优良的图象封装或压缩算法,可以获得一个高度可靠的和低成本的计算机控制装置的更新操作。
如果应用代码被损坏,则引导代码34利用备份代码36。这在图3中图示,现在参照该图。在图3中,示出了一种方式,其中在计算机控制装置中的当前的被损坏的应用代码被替换。这样的损坏可能发生在与装置12相关的电源故障或电源故障条件期间。备份代码36通过引导代码34的特征解压缩并被存储在非易失性存储器38中。引导代码34使得现在解压缩的备份代码变成对于非易失性存储器22的替代的应用代码32。引导代码在可改动区域26中安装替代的应用代码。此替代应用代码变为当前的应用代码,它可能随后被更新。
应用代码的当前的发布(即版本)可以在压缩当前应用代码后变成备份代码。压缩最好在约50%的比率。备份代码的大小将随后是应用代码的仅仅一半大小。由于备份代码36在不可改动区域28中,因此备份代码是工厂安装的。
当应用代码开始具有新的(从更新)加入的特征并且它的大小因此开始增大的时候,备份代码应当开始减少非基本的特征。这为应用代码提供了增长的空间。如果已经用完了在应用代码32和备份代码36之间的备用区30,则尤其如此。
当使用非电源故障破坏性的下载方法来以下述的方法更新备份代码的时候,引导代码必须查看是否新的备份代码将进入应用代码区域。用于检测在非易失性存储器22中的应用代码32和备份代码36开始边界(地址)和代码块大小的方法如下:
1.每个代码块以不同的数据格式开始。数据格式具有足够数量的字节,
以便没有代码块内容具有相同格式的字节;
2.在代码块边界格式后,应当有代码块长度和其他代码块有关的信息;
3.当引导代码通过搜索应用代码边界格式而在下载缓冲器中发现一个
更新的应用代码块的时候,那么引导代码将知道(计算出)新的代码大
小。引导代码将从非易失性存储器区域搜索备份代码的边界数据格
式,并通过比较应用代码大小、备份代码起始地址和整个非易失性存
储器大小而保证新的代码大小不会覆盖备份代码区域;
4.当引导代码在下载缓冲器中找到一个备份代码的时候,引导代码将是
相同的以保证在应用代码和备份代码之间没有重叠。
参见图4,在此说明了一个程序流,总地标记为50,示出了备份代码36如何开始工作。开始,计算机控制装置被通电,块52。在通电后,引导代码将查看在非易失性存储器中的应用代码的一致性,块54(即应用代码损坏了吗)。如果查看到错误(即应用代码被损坏),则引导代码将搜索备份代码边界的数据格式,块56。一旦引导代码发现该数据格式并了解到备份代码,块58,则备份代码可以被适当地解压缩,块60。适当的解压缩是通过检查在边界数据格式之后的信息。引导代码将随后将备份代码解压到称为下载缓冲器的专用易失性存储器区域中。在此之后,引导代码将把解压缩的备份代码放入在非易失性存储器22中的应用代码区域26,并开始执行现在为应用代码的备份代码。
如果备份代码具有应用代码的全部特征集,则消费者将仍然具有该产品的全部服务,如在一DBS接收机中。否则,消费者可能需要等待直到已经成功地完成了另一次应用代码更新或可能具有依赖于特征集的部分服务。
本装置和相关的方法适用于在下载电源故障损坏条件下在任何计算机控制装置中执行计算机代码更新。该装置可以是通过DBS广播卫星系统进行新的应用代码更新的一DBS接收机、高清晰度电视系统等。
按照本发明的原理的一个方面的方法和装置在下面说明,它们适用于在具有作为更新渠道14或机制的集成电路卡接口(一般称为智能卡接口)的任何计算机控制装置中执行计算机代码更新。这样的计算机控制装置广泛使用于消费者电子部件,例如—但未穷举—直接广播卫星电视系统、用于电缆和视频点播系统的机顶盒、高清晰度电视系统等。
现在参见图5,在此描述了一种软件更新系统,总地标记为100,包括具有智能/存储卡接口120和智能或存储卡104的计算机控制装置102。计算机控制装置102,象图1的计算机控制装置12一样,可以是能够用于经由更新机制或通道接收对其软件、固件等的更新的任何类型的计算机控制装置。计算机控制装置102包括一微处理器108(处理单元等)、一计算机控制装置106(如电视的视频处理功能)和一存储器110。要更新和存储的计算机代码122在存储器110中。计算机控制装置102还包含用于智能卡和/或存储卡一个卡读取器112(或类似产品)和连接器118,它们构成对于卡104的智能卡接口120的组成部件。智能卡接口120可以读取或者符合ISO标准7816智能卡格式的传统智能卡或者一NRSS型智能卡,即7816兼容的具有两个高速数据端口的卡。在本发明的当前的实施例中,在图5中说明的NRSS智能卡104包含一存储器单元114和一个存储器控制器116,它们一同构成卡104。卡读取器112也读取传统的存储卡。可以明白,虽然特别示出了智能卡104,本发明可以包括所有类型的智能和存储卡。
连接器118包括8条导电路径,用于启动和访问卡104。这些路径包括符合ISO标准7816-2的6条路径126,即:电源电压、复位信号、时钟信号、接地、编程电压和数据输入/输出。另外,卡104包括两条路径128,用于高速数据输入和高速数据输出。本发明的其他实施例可以通过传统的7816输入/输出端口或完全不同的插脚和端口配置来提供软件。在1988年12月22日公布的(1995年8月4日提交的)、名称为“基于智能的卡具有改进的安全性的访问控制系统”的、在此特别整体并入作为参考的美国专利5,852,290中详细说明了用于访问包括具有高速数据输入和输出能力的传统ISO标准77816-2连接器的智能卡的智能卡接口。
在卡104插入智能卡接口120之后,接口120确定卡104是否是智能卡(传统的或其他)或包含计算机代码更新124的存储卡104。在确认已经插入存储卡104之后,微处理器108启动NRSS接口(与用于智能或其他类型的卡的传统的ISO标准7816或其他接口相对)以利用高速数据端口和从存储器(或其他类型)卡104提取数据(可执行的计算机代码124)。这是以大约42M比特/秒的速率进行的。计算机代码124被供给存储器110和用于更新存储器110的内容。以这种方式,可以在少于2分钟的时间中在计算机控制装置102中更新3.5M比特的代码大小。术语“更新”意思是包括下载补充在存储器110中存储的现有软件的“补丁”或类似的软件以及向存储器110下载完全新的软件。
图6描述了总地标记为200的一处理的流程图,用于更新计算机控制装置的计算机代码,如在此描述的内容。计算机代码更新处理200最好以两个阶段来执行。标记为202的第一阶段识别与用于计算机控制装置的其他类型的智能卡相对的存储卡。总地标记为204的第二阶段从存储卡向计算机控制装置的微处理器或类似器件装入数据。可以明白处理200是上述的一般处理的一个特殊实现方式。
在存储卡识别阶段202,在步骤206,微处理器将所插入的卡置于ISO/7816复位状态,即接口切换到复位信号路径。在复位状态下,传统的智能卡处于休眠方式,不响应于外来的信号。同样,施加到智能卡的插脚的任何信号将被传统的7816智能卡所忽略。相反,存储卡,虽然在休眠方式下,但是监控时钟输入路径,如SC_CLK输入端。
在步骤208,微处理器向智能卡的SC_CLK端施加一个脉冲信号。该脉冲信号例如从低向高转移,然后又返回高。作为响应,存储卡的数据输入/输出路径产生一个相对状态的信号。
在步骤210,微处理器监控对于响应信号的接口连接的数据输入/输出路径。同样,如果数据输入/输出信号从低向高转移然后又向低转移,即数据输入/输出信号与施加的时钟信号相对,则微处理器在步骤212将把插入的卡考虑为一个存储卡。
否则,程序200进行到步骤214并结束。在完成第一(卡识别)阶段202后,系统开始从卡请求数据。这发生在第二(数据下载)阶段204。
在数据请求阶段204,控制器在步骤216利用NRSS接口,即利用NRSS_CLK和NRSS_DATA控制输入来从存储卡以大约42M字节/秒的速率提取数据,即新的更新的可执行代码。数据流首标在步骤218被分析。
按照数据流首标,微处理器将决定接收代码数据还是拒绝它,并获得操作终止条件,即获得文件结尾识别符。如果数据被拒绝,则程序200进行到步骤220。如果数据被接收,在步骤222,数据被发向在计算机控制装置中的存储器来存储。当满足终止条件,即发生错误、到达数据文件结尾代码或电源中断的时候,程序200在步骤224停止。
应理解,图1的系统10可以利用在此说明的卡接口、卡和协议来用于更新在此的计算机控制装置12。在此方面,卡可以是与在当前的DBS接收器中类似使用的一个访问卡。该访问卡可以具有图5的卡104的属性。
同样,应理解,系统100最好采用在此说明的本发明的备份方面。具体来说,系统100被包括在图1的计算机控制装置中。因此,在一种情况下,计算机控制装置102的存储器110被物理地或虚拟地如上分区或划分,并具有相同或类似的属性。同样,系统100包括计算机控制装置102的其他功能。
上述的本技术可以广泛地使用于任何类型的固件可更新的嵌入系统中,如机顶盒、消费者电子设备等。对于服务人员来说在现场更新产品软件非常方便,对于消费者来说,自行更新产品软件非常方便。
虽然本发明被说明为具有优选的设计和/或配置,本发明还可以在本公开的精神和范围中进一步改进。因此本申请旨在覆盖利用本发明的一般原理的本发明的任何变化、使用或改进。另外,本申请旨在覆盖在本发明所属的领域中的已知或常规实践中出现的、在所附的权利要求书的限制范围中的、与本公开的偏离做法。
Claims (18)
1.一种计算机控制装置,包括:
一处理单元;和
一与所述处理单元通信的存储器,所述存储器被分区为包含引导代码的第一区域、包含应用代码的第二区域和包含备份代码的第三区域;
引导代码,具有多条指令,当它们被所述处理单元执行的时候使得所述处理单元:
(i)确定是否所述应用代码是损坏的;和
(ii)如果所述应用代码被损坏,则以所述备份代码替代所述应用代码。
2.权利要求1的计算机控制装置,其中所述存储器包括非易失性存储器,并且所述第一区域是不可改动的,所述第二区域是可改动的,所述第三区域是不可改动的。
3.权利要求2的计算机控制装置,其中所述非易失性存储器包括闪速存储器。
4.权利要求1的计算机控制装置,还包括:
用于接收更新应用代码以替换在所述第二区域中保留的应用代码的装置。
5.权利要求4的计算机控制装置,其中所述用于接收更新应用代码的装置用于从多个更新通道的任何一个接收更新应用代码。
6.权利要求1的计算机控制装置,其中所述备份代码是压缩的。
7.权利要求6的计算机控制装置,其中所述引导代码用于解压缩所述备份代码。
8.一种用于在计算机控制装置中恢复损坏的应用代码的方法,包括步骤:
将计算机控制装置的存储器分区为包含引导代码的引导代码区域、包含应用代码的应用代码区域和包含备份代码的备份代码区域;
确定应用代码是否被损坏;
如果应用代码被损坏,则将备份代码替代应用代码。
9.权利要求8的方法,其中确定应用代码是否损坏的步骤发生在计算机控制装置通电之后。
10.权利要求8的方法,其中备份代码是压缩的。
11.权利要求10的方法,其中如果应用代码是损坏的则将备份代码替代应用代码的步骤包括步骤:
解压缩备份代码。
12.权利要求11的方法,其中如果应用代码是损坏的则将备份代码替代应用代码的步骤还包括步骤:
将未压缩的备份代码放入一易失性存储器;和
将未压缩的备份代码移到存储器的应用代码区域。
13.权利要求8的方法,其中确定应用代码损是否坏的步骤还包括步骤:
确定在应用代码的更新期间是否发生了电源故障;和
如果在更新期间发生了电源故障,则指示应用代码被损坏。
14.一种计算机控制装置,包括:
一处理单元;和
一与所述处理单元通信的存储器,所述存储器被分区为包含引导代码的第一区域、包含应用代码的第二区域和包含备份代码的第三区域;
一与所述处理单元通信的卡读取器;
一与所述卡读取器通信的卡读取器接口;和用于从一存储卡验证然后接收更新应用代码的装置。
15.权利要求14的计算机控制装置,其中所述存储器包括非易失性存储器。
16.权利要求15的计算机控制装置,其中所述存储器包括闪速存储器。
17.权利要求14的计算机控制装置,其中所述存储卡是智能卡。
18.一种用于在计算机控制装置中更新应用代码的方法,该应用代码包含在一非易失性存储器中,该方法包括步骤:
在存储卡中提供更新应用代码;
向计算机控制装置插入存储卡;
读取存储卡识别信号;
响应于卡识别信号而激活一个存储卡接口;和
将来自存储卡的更新应用代码替代应用代码。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17499700P | 2000-01-07 | 2000-01-07 | |
US60/174,997 | 2000-01-07 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1439128A true CN1439128A (zh) | 2003-08-27 |
Family
ID=22638393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN01804620A Pending CN1439128A (zh) | 2000-01-07 | 2001-01-04 | 代码更新期间在电源出故障时备份应用代码的方法和装置 |
Country Status (10)
Country | Link |
---|---|
US (1) | US20020188886A1 (zh) |
EP (1) | EP1332434A2 (zh) |
JP (1) | JP2003532951A (zh) |
KR (1) | KR20030036131A (zh) |
CN (1) | CN1439128A (zh) |
AU (1) | AU782310B2 (zh) |
CA (1) | CA2396100A1 (zh) |
MX (1) | MXPA02006716A (zh) |
TW (1) | TW531695B (zh) |
WO (1) | WO2001052065A2 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100421083C (zh) * | 2004-11-18 | 2008-09-24 | 国际商业机器公司 | 更新适配器代码映像的装置、系统和方法 |
CN101295278B (zh) * | 2007-04-23 | 2010-08-11 | 大唐移动通信设备有限公司 | 定位被改写代码段所在进程的方法及装置 |
CN101192161B (zh) * | 2006-11-23 | 2011-08-17 | 英业达股份有限公司 | 更新影像文件的方法 |
US8595713B2 (en) | 2004-07-08 | 2013-11-26 | Andrew Llc | Radio base station and a method of operating a radio base station |
CN105164657A (zh) * | 2013-04-29 | 2015-12-16 | 亚马逊科技公司 | 程序数据至非易失性存储器的选择性备份 |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6704492B2 (en) * | 1998-05-15 | 2004-03-09 | Kabushiki Kaisha Toshiba | Information recording method and information reproducing method |
US7062584B1 (en) * | 1999-07-15 | 2006-06-13 | Thomson Licensing | Method and apparatus for supporting two different types of integrated circuit cards with a single connector |
US7409685B2 (en) | 2002-04-12 | 2008-08-05 | Hewlett-Packard Development Company, L.P. | Initialization and update of software and/or firmware in electronic devices |
US8479189B2 (en) | 2000-11-17 | 2013-07-02 | Hewlett-Packard Development Company, L.P. | Pattern detection preprocessor in an electronic device update generation system |
US7082549B2 (en) * | 2000-11-17 | 2006-07-25 | Bitfone Corporation | Method for fault tolerant updating of an electronic device |
US7043493B2 (en) * | 2001-09-17 | 2006-05-09 | Fujitsu Limited | Hierarchical file system and anti-tearing algorithm for a limited-resource computer such as a smart card |
US6816985B2 (en) * | 2001-11-13 | 2004-11-09 | Sun Microsystems, Inc. | Method and apparatus for detecting corrupt software code |
DE10212298B4 (de) | 2002-03-20 | 2013-04-25 | Grundig Multimedia B.V. | Verfahren für die Verwaltung von Software für ein Fernsehgerät |
AU2003242930A1 (en) * | 2002-06-28 | 2004-01-19 | Koninklijke Philips Electronics N.V. | Software download into a receiver |
US20040054846A1 (en) * | 2002-09-16 | 2004-03-18 | Wen-Tsung Liu | Backup device with flash memory drive embedded |
KR20040034782A (ko) * | 2002-10-17 | 2004-04-29 | 주식회사 제이에스디지텍 | 스마트 카드를 이용한 단말기 시스템 업그레이드 방법 및그 장치 |
AU2003274954A1 (en) * | 2002-12-18 | 2004-07-29 | Bitfone Corporation | Mobile handset with a fault tolerant update agent |
US20040250088A1 (en) * | 2003-05-19 | 2004-12-09 | Jwo-Lun Chen | Apparatus using a password lock to start the booting procedure of a microprocessor |
TWI307015B (en) * | 2003-06-03 | 2009-03-01 | Hon Hai Prec Ind Co Ltd | System and method for automatically bootstrap with double boot areas in a single flash rom |
TW200428284A (en) * | 2003-06-03 | 2004-12-16 | Hon Hai Prec Ind Co Ltd | System and method for bootstrap with backup boot-code in single flash ROM |
US8555273B1 (en) | 2003-09-17 | 2013-10-08 | Palm. Inc. | Network for updating electronic devices |
US7549042B2 (en) | 2003-12-16 | 2009-06-16 | Microsoft Corporation | Applying custom software image updates to non-volatile storage in a failsafe manner |
US7614051B2 (en) | 2003-12-16 | 2009-11-03 | Microsoft Corporation | Creating file systems within a file in a storage technology-abstracted manner |
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 |
US7971199B1 (en) * | 2004-05-03 | 2011-06-28 | Hewlett-Packard Development Company, L.P. | Mobile device with a self-updating update agent in a wireless network |
US7185191B2 (en) * | 2004-05-05 | 2007-02-27 | International Business Machines Corporation | Updatable firmware having boot and/or communication redundancy |
US8526940B1 (en) | 2004-08-17 | 2013-09-03 | Palm, Inc. | Centralized rules repository for smart phone customer care |
US7523350B2 (en) * | 2005-04-01 | 2009-04-21 | Dot Hill Systems Corporation | Timer-based apparatus and method for fault-tolerant booting of a storage controller |
US7711989B2 (en) * | 2005-04-01 | 2010-05-04 | Dot Hill Systems Corporation | Storage system with automatic redundant code component failure detection, notification, and repair |
TWI345175B (en) * | 2005-06-08 | 2011-07-11 | Winbond Electronics Corp | Method for updating firmware of memory card |
KR101225841B1 (ko) * | 2005-09-27 | 2013-01-23 | 엘지전자 주식회사 | 펌웨어 업데이트 복원방법 |
CN100465910C (zh) * | 2006-06-02 | 2009-03-04 | 上海思必得通讯技术有限公司 | 对产品中闪存数据的防错、纠错方法 |
CN100465909C (zh) * | 2006-06-02 | 2009-03-04 | 上海思必得通讯技术有限公司 | 产品中闪存初始化过程遍历数据进行查错的方法 |
EP2025095A2 (en) | 2006-06-08 | 2009-02-18 | Hewlett-Packard Development Company, L.P. | Device management in a network |
WO2008014454A2 (en) | 2006-07-27 | 2008-01-31 | Hewlett-Packard Development Company, L.P. | User experience and dependency management in a mobile device |
US8286156B2 (en) | 2006-11-07 | 2012-10-09 | Sandisk Technologies Inc. | Methods and apparatus for performing resilient firmware upgrades to a functioning memory |
US20080109647A1 (en) * | 2006-11-07 | 2008-05-08 | Lee Merrill Gavens | Memory controllers for performing resilient firmware upgrades to a functioning memory |
US9348730B2 (en) * | 2007-01-31 | 2016-05-24 | Standard Microsystems Corporation | Firmware ROM patch method |
US8275927B2 (en) | 2007-12-31 | 2012-09-25 | Sandisk 3D Llc | Storage sub-system for a computer comprising write-once memory devices and write-many memory devices and related method |
US20090199178A1 (en) * | 2008-02-01 | 2009-08-06 | Microsoft Corporation | Virtual Application Management |
FR2929429B1 (fr) * | 2008-03-31 | 2010-04-23 | Sagem Monetel | Procede securise de mise a jour d'un programme de demarrage ou d'un systeme d'exploitation d'un dispositif informatique |
US8321481B2 (en) | 2010-05-13 | 2012-11-27 | Assa Abloy Ab | Method for incremental anti-tear garbage collection |
US9116774B2 (en) | 2013-05-14 | 2015-08-25 | Sandisk Technologies Inc. | Firmware updates for multiple product configurations |
CN109656602A (zh) * | 2019-01-09 | 2019-04-19 | 合肥联宝信息技术有限公司 | 一种代码升级方法及电子设备 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IT1254937B (it) * | 1991-05-06 | 1995-10-11 | Aggiornamento dinamico di memoria non volatile in un sistema informatico | |
US5327531A (en) * | 1992-09-21 | 1994-07-05 | International Business Machines Corp. | Data processing system including corrupt flash ROM recovery |
US5367571A (en) * | 1992-12-02 | 1994-11-22 | Scientific-Atlanta, Inc. | Subscriber terminal with plug in expansion card |
US5870520A (en) * | 1992-12-23 | 1999-02-09 | Packard Bell Nec | Flash disaster recovery ROM and utility to reprogram multiple ROMS |
US5666293A (en) * | 1994-05-27 | 1997-09-09 | Bell Atlantic Network Services, Inc. | Downloading operating system software through a broadcast channel |
US5599203A (en) * | 1995-10-31 | 1997-02-04 | The Whitaker Corporation | Smart card and smart card connector |
US5805882A (en) * | 1996-07-19 | 1998-09-08 | Compaq Computer Corporation | Computer system and method for replacing obsolete or corrupt boot code contained within reprogrammable memory with new boot code supplied from an external source through a data port |
JP2000515286A (ja) * | 1997-05-30 | 2000-11-14 | コーニンクレッカ、フィリップス、エレクトロニクス、エヌ、ヴィ | セットトップのシステムソフトウエアをネットワークサーバからアップグレードするためのフェイルセーフ方法 |
US6209127B1 (en) * | 1997-06-05 | 2001-03-27 | Matsushita Electrical Industrial Co., Ltd | Terminal device capable of remote download, download method of loader program in terminal device, and storage medium storing loader program |
JPH117505A (ja) * | 1997-06-17 | 1999-01-12 | Fujitsu Ltd | カード型記憶媒体 |
FR2764717B1 (fr) * | 1997-06-17 | 2001-08-03 | Thomson Multimedia Sa | Procede de lecture d'instructions de microprocesseur de decodeur de donnees numeriques et decodeur utilisant un tel procede |
EP0907285A1 (en) * | 1997-10-03 | 1999-04-07 | CANAL+ Société Anonyme | Downloading data |
KR100248757B1 (ko) * | 1997-12-20 | 2000-03-15 | 윤종용 | 손상된 롬 바이오스 복구 방법 |
US6167532A (en) * | 1998-02-05 | 2000-12-26 | Compaq Computer Corporation | Automatic system recovery |
JP4016359B2 (ja) * | 1998-03-24 | 2007-12-05 | ソニー株式会社 | 受信装置及びプログラム書き換え方法 |
US6108236A (en) * | 1998-07-17 | 2000-08-22 | Advanced Technology Materials, Inc. | Smart card comprising integrated circuitry including EPROM and error check and correction system |
BR9914820A (pt) * | 1998-11-03 | 2001-07-10 | Thomson Licensing Sa | Processo e aparelho para atualizar código de computador que usa uma interface de circuito integrado |
US6622246B1 (en) * | 1999-11-12 | 2003-09-16 | Xerox Corporation | Method and apparatus for booting and upgrading firmware |
US6629192B1 (en) * | 1999-12-30 | 2003-09-30 | Intel Corporation | Method and apparatus for use of a non-volatile storage management system for PC/AT compatible system firmware |
-
2001
- 2001-01-04 KR KR1020027008687A patent/KR20030036131A/ko active IP Right Grant
- 2001-01-04 CA CA002396100A patent/CA2396100A1/en not_active Abandoned
- 2001-01-04 CN CN01804620A patent/CN1439128A/zh active Pending
- 2001-01-04 MX MXPA02006716A patent/MXPA02006716A/es unknown
- 2001-01-04 JP JP2001552218A patent/JP2003532951A/ja not_active Withdrawn
- 2001-01-04 US US10/169,441 patent/US20020188886A1/en not_active Abandoned
- 2001-01-04 EP EP01900900A patent/EP1332434A2/en not_active Withdrawn
- 2001-01-04 WO PCT/US2001/000329 patent/WO2001052065A2/en not_active Application Discontinuation
- 2001-01-04 AU AU26311/01A patent/AU782310B2/en not_active Ceased
- 2001-01-08 TW TW090100360A patent/TW531695B/zh not_active IP Right Cessation
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8595713B2 (en) | 2004-07-08 | 2013-11-26 | Andrew Llc | Radio base station and a method of operating a radio base station |
CN100421083C (zh) * | 2004-11-18 | 2008-09-24 | 国际商业机器公司 | 更新适配器代码映像的装置、系统和方法 |
CN101192161B (zh) * | 2006-11-23 | 2011-08-17 | 英业达股份有限公司 | 更新影像文件的方法 |
CN101295278B (zh) * | 2007-04-23 | 2010-08-11 | 大唐移动通信设备有限公司 | 定位被改写代码段所在进程的方法及装置 |
CN105164657A (zh) * | 2013-04-29 | 2015-12-16 | 亚马逊科技公司 | 程序数据至非易失性存储器的选择性备份 |
CN105164657B (zh) * | 2013-04-29 | 2018-11-02 | 亚马逊科技公司 | 程序数据至非易失性存储器的选择性备份系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2001052065A2 (en) | 2001-07-19 |
WO2001052065A3 (en) | 2003-04-17 |
JP2003532951A (ja) | 2003-11-05 |
US20020188886A1 (en) | 2002-12-12 |
AU2631101A (en) | 2001-07-24 |
MXPA02006716A (es) | 2002-09-30 |
TW531695B (en) | 2003-05-11 |
AU782310B2 (en) | 2005-07-21 |
EP1332434A2 (en) | 2003-08-06 |
KR20030036131A (ko) | 2003-05-09 |
CA2396100A1 (en) | 2001-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1439128A (zh) | 代码更新期间在电源出故障时备份应用代码的方法和装置 | |
US6209127B1 (en) | Terminal device capable of remote download, download method of loader program in terminal device, and storage medium storing loader program | |
JP5508370B2 (ja) | OTA(Over−the−air)が可能な携帯装置のためのプログラムアップグレード方法およびシステム | |
CN101834976B (zh) | 使用3段式引导升级启动技术的机顶盒启动和升级方法 | |
HRP20000164A2 (en) | Downloading data | |
CN1244223C (zh) | 接收机设备和方法 | |
CN102722394B (zh) | 一种嵌入式设备的启动升级方法 | |
CN101467129A (zh) | 能够空中下载的移动终端的程序升级系统和方法 | |
US6611902B2 (en) | Information processor and information processing method | |
CN100531326C (zh) | 选择执行软件图像的方法 | |
KR101421364B1 (ko) | 처리 장치 및 기입 방법 | |
CN104581397A (zh) | 安卓机顶盒的系统升级方法及装置 | |
CN100430894C (zh) | 具有断电保护的电视系统软件更新方法 | |
CN102541595A (zh) | 智能设备的升级方法、装置及智能设备 | |
CN103064714A (zh) | 软件系统升级方法及装置 | |
CN103309761A (zh) | 一种基于在线服务的自动纠错的方法和系统 | |
CN102333240A (zh) | 一种机顶盒及其在线升级方法 | |
CN111221682B (zh) | 一种存储系统镜像的方法 | |
CN103365676A (zh) | 通信设备的软件升级方法及装置 | |
US20120151005A1 (en) | Image file download method | |
CN102298534A (zh) | 软件写入机顶盒的方法 | |
CN104991805A (zh) | 智能设备及其系统灾备控制方法 | |
KR100892311B1 (ko) | 디지털 방송 수신기의 소프트웨어 업그레이드 장치 및 방법 | |
US20110113463A1 (en) | Build Profile for a Set-Top Box | |
CN104506931A (zh) | 一种支持cam卡在线升级的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |