CN1930551A - 固件升级中的自动备份存储 - Google Patents

固件升级中的自动备份存储 Download PDF

Info

Publication number
CN1930551A
CN1930551A CNA2005800078823A CN200580007882A CN1930551A CN 1930551 A CN1930551 A CN 1930551A CN A2005800078823 A CNA2005800078823 A CN A2005800078823A CN 200580007882 A CN200580007882 A CN 200580007882A CN 1930551 A CN1930551 A CN 1930551A
Authority
CN
China
Prior art keywords
storage
storage block
delta file
address space
piece
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
CNA2005800078823A
Other languages
English (en)
Other versions
CN100492292C (zh
Inventor
P·荣
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.)
Sony Mobile Communications AB
Original Assignee
Sony Ericsson Mobile Communications AB
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 Sony Ericsson Mobile Communications AB filed Critical Sony Ericsson Mobile Communications AB
Publication of CN1930551A publication Critical patent/CN1930551A/zh
Application granted granted Critical
Publication of CN100492292C publication Critical patent/CN100492292C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • G11C16/105Circuits or methods for updating contents of nonvolatile memory, especially with 'security' features to ensure reliable replacement, i.e. preventing that old data is lost before new data is reliably written
    • 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability
    • 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99954Version management

Abstract

更新在设备(40)中当前是第一版本(V1)的软件的方法,是通过接收并执行delta文件(D12)以升级该第一版本到第二版本(V2),软件被分割,并存储于多个定义于设备上物理存储器(48)的地址空间(211)上的存储块(201-204),包括步骤:定义与多个存储块相关联的额外存储块(212);擦除该额外存储块以定义额外存储块空间;将按delta文件确定的、用于所述多个存储块的第一存储块的被更新数据写入该额外存储块;擦除第一存储块,因此将该额外存储块空间移动一个块;并且将按delta文件确定的、用于所述多个存储块的第二存储块的被更新数据写入该第一存储块。

Description

固件升级中的自动备份存储
发明领域
本发明涉及用于计算机以及微处理器系统中升级软件的方法,是通过接收并执行用于目标升级的delta(变化微量)文件而进行。特别地,本发明涉及用于应对目标升级时可能的电力丢失的改良的解决方案。
背景
有多种技术是通过仅发送当前软件版本与更新的软件版本之间的差别来允许升级软件二进制码。软件特定片断的新版本上的差别典型地是源二进制码的大约1-10%左右。使用通常表示为delta文件的差别文件的过程,在当更新通过类似GPRS(通用分组无线业务)这样的低带宽载体发送时尤其有利。这种技术称为空中(Over the Air)固件升级,目前在OMA中已被标准化。以下略述一个这种类型升级如何工作的实例:
一个移动电话,它是待升级的由微处理器控制的设备,当前拥有软件V1。目标是将软件更新到最新发布版本V2。实施以下过程以更新移动电话上的软件:
1.编译并链接目标软件,V2;
2.计算V1到V2的二进制码差别D12。D12包含从V1创建V2所需的所有信息;
3.传输D12至目标,例如,通过GPRS;
4.通过在目标上使用当前二进制码V1以及D12创建V2而使得目标设备重新闪入(re-flash),即,升级。
现在仅仅通过发送小的更新包D12到目标设备,目标设备就已更新到V2。
上述更新过程中关键的一步是目标升级。由于目标软件,例如,RTOS(实时操作系统)以及应用正在被重新闪入的事实,电力丢失对设备将是致命的。更新过程必须具有100%故障恢复安全性,这意味着更新过程必须在未预期的电力失败之后能够继续进行下去。现有技术中用于实施失效保险能力的方法被称为2阶段担保(commit),其早已在诸如数据库之类的多种应用之中被使用。该思路是在更新过程中保留一个旧信息的拷贝。直到更新完成旧信息才被移除。这种方式下,如果更新过程中更新失败,总是可能回到最近的状态。
对于使用NOR闪存的设备,存储器被分为相同大小的块,通常是64kB大小。写NOR设备时有一些特别的限制。一次只能擦除整个块,其中块中所有的位均被置为1。写可以在字节级进行,但仅可能将位状态从1变为0。NOR设备上的升级是一个块一个块进行的。为保证失败恢复,在更新块写入原始块之前每个块首先被拷贝到特定备份块。现在参考图1描述这个现有技术的过程。
特定的设备软件由存储在4个存储块101-104中的4个软件块1-4组成。存储块101-104是定义在设备的物理存储器上的存储空间111中。存储块101-104被纵向描述,呈现在更新过程中的特定状态106-110中。每一列代表更新过程中一个新的状态,如图中箭头所示从左至右进行。这一过程也和delta包、状态信息以及更新应用关联,但同样为了阐明整体过程,这些就不在此阐述了。更新过程中两个软件块1和2早已被更新,这是列106所述的状态。块3将被下一个更新。为了能从潜在的电力丢失中恢复,信息需要被持久地存储。状态信息用于跟踪哪个块正在被处理,以及你当前处于哪个更新状态。另外,在新块被生成前旧块必须被保留。更新块3的过程是首先在至状态107的步骤中擦除也是定义在存储空间111上的备份块105来实现的。然后块3的数据在至状态108的步骤中从块103拷贝到备份块105。接下来块103在至状态109的步骤中被擦除,留下空的块103。最后,写过程在至状态110的步骤中在块103上进行,升级上面的数据到新块3。可替换地,新块3在备份块105上创建,而不是拷贝旧块3到备份块105。
备份块105不被使用的话,块擦除之后以及新块被完全写入之前的电力丢失将是不可恢复的,原因是源块和目的块都将是不可用的。使用以上流程,通过重写上一块而总是可能从退出的地方开始着手更新并继续该更新。
现有技术流程的问题是由于每一块必须被写两次以便每一块支持电力丢失的恢复,因而闪存更新中写的时间加倍了。对于NOR闪存,典型的写速度大约是200kB/s。那么写16MB图像更新上的块的时间大约是16MB*2/0.2=160秒,如果所有块都需要被更新的话。更新期间设备完全不可用,因此确保这个时间尽可能地小是非常重要的。根据更新的大小以及代码变化在新二进制图像中分布的情况,需要更新的块的数量可以不同。经验显示多数更新需要更新所有可用块中的绝大多数。有些方法可通过以将更新集中到图像中较小部分这样的方式来组织二进制图像,去减少需要更新的块的数量。但是,这些技术都非常复杂。
发明概述
本发明的一般目的在于提供改良的解决方案来保证软件更新过程在中断(例如由于电力丢失导致)之后是可恢复的。特别地,有一个目的在于提供一种通过使用delta文件升级软件二进制码的解决方案,它最小化了目标升级时间。
依照本发明的第一方面,这一目的通过更新设备中当前在第一版本的软件的方法来实现,该方法接收并执行用于升级该第一版本到第二版本的delta文件,该软件被分割并存储于多个在该设备的物理存储器上的地址空间中定义的存储块,包括步骤有:
-定义与多个存储块相关联的额外存储块;
-擦除该额外存储块以定义额外存储块空间;
-将按delta文件确定的、用于所述多个存储块的第一存储块的被更新数据写入该额外存储块;
-擦除第一存储块,因此将该额外存储块空间移动一个块;并且
-将按delta文件确定的,用于所述多个存储块的第二存储块的被更新数据写入该第一存储块。
在一个优选实施方案中,该额外存储块定义为在地址空间上与第一存储块相邻放置的存储块。
有利地是,该方法包括自额外存储块起一个接一个处理该多个存储块的全部的步骤,这是通过在按delta文件确定的升级过程中,在地址空间中从下一存储块起写入数据到该多个存储块其中之一,直到该多个存储块全部都在地址空间上被移转一步而进行的。
在一个实施方案中,该方法包括反转在地址空间上写入存储块的顺序的步骤,从所述自第一版本至第二版本的升级,到自所述第二版本至第三版本的第二升级。
优选地,该方法包括步骤有:
-所述设备在接收并执行delta文件之前与一服务器相连接,并传达与当前地址空间状态有关的信息,取决于所述地址空间中该额外块的当前位置,该地址空间状态确定何种delta文件适用于升级所述软件,其中第一delta文件类型适合在地址空间中以一种顺序升级所述存储块上当前的软件,且第二delta文件适合在地址空间中以反转顺序升级所述存储块上当前的软件;
-从所述服务器上下载适用的delta文件类型的delta文件至所述设备;并且
-使用该适用的delta文件升级所述软件。
在一个实施方案中,该方法包括根据在按delta文件确定的写入过程中数据在存储块间的移动,在用于所述软件的引导代码(boot code)中修改该地址空间中的开始地址的步骤。
依照本发明的第二方面,所述目的由一个计算机程序产品解决,其用于在计算机控制的电子设备中更新设备上当前是第一版本的软件,该设备包括接收并执行用于升级第一版本到第二版本的delta文件的装置,该软件被分割并存储于定义在设备的物理存储器上的地址空间中的多个存储块,该计算机程序产品包括被设计用于使设备执行以下步骤的可执行计算机程序代码:
-对所述多个存储块定义一个额外存储块;
-擦除该额外存储块以定义额外存储块空间;
-将按delta文件确定的、用于所述多个存储块的第一存储块的被更新数据写入该额外存储块;
-擦除第一存储块,因此将该额外存储块空间移动一个块;并且
-将按delta文件确定的、用于所述多个存储块的第二存储块的被更新数据写入该第一存储块。
在一个实施方案中,计算机程序产品包括被设计用来使设备执行以上任何方法步骤中的步骤的可执行计算机程序代码。
依照本发明的第三方面,所述目的由无线电通信终端解决,该无线电通信终端包括一个带有用于更新该终端上当前是第一版本的软件的关联计算机代码的计算机系统,以及接收并执行用于升级第一版本至第二版本的delta文件的装置,该软件被分割并存储于定义在该终端的物理存储器上的地址空间中的多个存储块,其中与该多个存储块关联的额外存储块定义于该地址空间中,该终端还包括用于擦除额外存储块以定义额外存储块空间的装置;用于将按delta文件确定的、用于所述多个存储块的第一存储块的被更新数据写入该额外存储块的数据写入装置;用于擦除第一存储块以将该额外存储块空间移动一个块的数据擦除装置;其中数据写入装置被设计用来将按delta文件确定的、用于所述多个存储块的第二存储块的被更新数据写入该第一存储块。
在一个实施方案中,该额外存储块在地址空间上与第一存储块相邻放置。
优选地,该数据写入装置被设计用来自额外存储块起一个接一个处理该多个存储块的全部,这是通过在按delta文件确定的升级过程中,在地址空间中从下一存储块起写入数据到该多个存储块其中之一,直到该多个存储块全部都在地址空间上被移转一步而进行的。
有利地,无线电通信终端包括用于反转在地址空间上写存储块的顺序的装置,从所述自第一版本至第二版本的升级,到自所述第二版本至第三版本的第二升级。
在一个优选实施方案中,该设备被用来在接收并执行delta文件之前与服务器相连接,用于传达与当前地址空间状态有关的信息,取决于地址空间中该额外块的当前位置,该地址空间状态确定何种delta文件适用于升级所述软件,其中第一delta文件类型适合在地址空间中以一种顺序升级存储块上当前的软件,第二delta文件适合在地址空间中以反转顺序升级存储块上当前的软件,该终端包括从所述服务器上下载适用的delta文件类型的delta文件至所述设备的装置,以及使用该适用的delta文件升级所述软件的装置。
优选地,无线电通信终端包括根据按delta文件确定的写入过程中数据在存储块间的移动,修改地址空间中用于所述软件的引导代码中开始地址的装置。
附图简述
由以下参考附图的、优选实施方案的描述,本发明的特征以及优点会更加明显,其中
图1示意性地阐述了通过目标升级来更新软件的现有技术过程;
图2示意性地阐述了依照本发明的实施方案,来通过目标升级更新软件的过程。
图3示意性地阐述了图2中整体过程的两个不同版本;
图4示意性地阐述了一个示范性的无线电通信终端,其实施计算机程序产品来执行本发明的处理过程;并且
图5示意性地阐述了图4中的带有内置计算机系统的终端,是处在与基站通信以接收用于该终端上的目标升级的更新delta文件的过程中。
优选实施方案详述
本描述涉及使用delta文件以及目标升级的、用在软件的固件升级中的装置以及方法。本发明对用在有相对较低的传输带宽的系统中是特别有利的,但并不局限于这样的领域。以下描述的优选实施方案涉及移动电话领域,特别是在无线电通信终端上的实施。术语无线电通信终端包括所有的被设计用来与无线电站进行无线电通信的移动通信设备,该无线电站也可以是移动终端,或者例如是固定的基站。因此,术语无线电终端包括移动电话、通信器、电子组织器、智能电话、PDA(个人数字助手)、车载无线电通信设备,或者相类似的,以及被设计用来在诸如WLAN(无线局域网)上进行无线通信的便携式膝上型计算机。此外,必须强调地是,用在此说明书以及附加权利要求中以指示包括的特征、要素或步骤的术语‘包括’,决不应被解释为是排斥了那些未在此明确陈述的其他特征、要素或步骤的存在。
接下来的描述涉及本发明的优选实施方案,其中一个地址空间包括4个存储块。但必须指出,本发明适用于包括任意数目存储块的地址空间。
图2阐述了用于固件升级中自动备份存储的本发明方法的策略的优选实施方案。通过采用这个更新策略可去除在更新每一块之前对其备份的需要。在图2的示范性实施方案中,一个设备包括一个存储器,其定义了包括4个存储块201-204的存储或地址空间211,每个存储块分别拥有1个软件块1-4。正如在列206中阐述的状态,尚未有块被更新,并且该软件当前是第一版本。对于前面叙述的现有技术方法,存储空间211包括多于该4个块201-204的至少一个块。但是,不是使用一个特定的备份块,而是使用一个在由块201-204表示的二进制图像之前的一个额外块来将该软件的整个图像在地址空间211中向前或向后移动一个块。在可替换的实施方案中,多于一个,例如,2个额外块可被使用。
当软件将被更新时,拥有一个涉及地址空间211的物理存储器的设备接收delta或者差别文件,该文件包括将软件从第一版本更新至第二版本所需的所有信息。在从状态206到207的步骤,额外块212被擦除。软件块1然后依照与当前软件关联的delta文件被更新。通过采用此策略就没有必要备份每一块,因为被更新块总是恰恰写于该旧块之前。在被更新块的写入完成前旧块不会被盖写。代替两次擦除/写操作,仅需要1次擦除/写操作。
推荐的解决方案有明显的优点,但也引发需要克服的问题。当已有一个更新时,在图像的开始就不再有一个额外块存在,因为整个图像已经在地址空间中移转了。然而,本发明的一个优选实施方案提供了对这一问题的解决方案。在第一次更新操作之后,在图像的尾部会改而有一个额外块,而不是图2的实施方案中的块204。但是通过反转更新过程,即通过以反向顺序写该块,可在下一次更新时采用同样的算法。另一个问题是实际的二进制代码是对于特定的基地址而链接的。如果基地址被移动,代码就不能运行了,因为二进制图像中位置的绝对地址将指向错误地址。无论如何,用在图像中的绝对地址必须在更新后移动一个块。依照一个实施方案,这个问题通过如在图3中所示意性地阐述的,通过针对每一更新生成两个delta文件而解决。
图3中,D12(向上)代表用以自如列306所阐述的软件版本V1类型A转换至如列307所阐述的V2类型B的第一delta文件。因此类型A图像是有位于块1-4之后的额外块的所定义的地址空间,而类型B图像是有位于块1-4之前的额外块的所定义的地址空间。D12(向下)代表用以自如列308所阐述的软件版本V1类型B转换至如列309所阐述的V2类型A的第二delta文件。优选地,这两个delta文件通过在生成实际delta文件之前修改链接过程以产生类型A和B图像而生成。最终,位于引导代码中的开始地址需要被修改以指向正确的开始地址,这样软件的执行将按预定地进行。它可以作为更新程序的最后一步完成。
采用本发明提供的新的备份策略,该更新时间在最好的情况下被减半。这是在所有块都被更新的情况下。采用推荐的解决方案,所有的块均需被重新写一次。采用当前的解决方案,只有变化的块需要被更新,但它们需要被写两次。对于有超过半数的块发生改变的更新,新的解决方案更快。一般地,在更新过程中很多块需要被改变。
在一个优选实施方案中,本发明被用于空中的固件升级,并且特别适用于将无线电通信终端作为目标设备的移动无线电通信领域。作为可能采用本发明的设备的实例,图4以蜂窝移动电话40的实施例阐述了一个无线电通信终端。终端40包括机框或机壳45,携带麦克风41形式的用户音频输入以及扬声器42或通向耳机(未显示)的连接器形式的用户音频输出。依照已确立的技术,一组键、按钮或类似物组成一个可用于例如拨号的数据输入接口43。还包括一个包含显示器44的数据输出接口,其被设计用来以一种为本领域技术人员所熟知的方式显示通信信息、地址列表等。该无线电通信终端40包括无线电传输以及接收电子设备(未显示),并被设计为带有在机壳45中的内置天线46,该天线在图中被以虚线指示为实际上平坦的物体。图5以简化的形式阐述了图4中的终端40。终端40以一种已知方式、通过其天线46与包含在一个无线电通信网络中的基站50是通信上可连接的。终端40还包括一个计算机系统,该系统包括一个带有关联的物理存储器48的微处理器控制器47。通过与基站50的通信,依照本发明,终端40能够接收用于升级当前在存储器48中的软件,特别是软件二进制码的delta文件。而且,包括处理器47的计算机系统被设计用来使用定义于图2和图3中的地址空间,存储并访问存储在存储器48中的软件,并且执行与以上图2和图3关联地定义的处理步骤。特别地,由处理器47控制的计算机系统包括按delta文件的内容所确定的去擦除以及写存储块的装置,以便更新所述软件,继而在地址空间上无论更新与否,都移转存储块内容一个块步幅。
前述已经叙述了本发明的原则、优选实施方案以及操作模式。但是应该理解的是:本领域的技术人员可在不脱离由附加权利要求定义的本发明的范围的情况下,对那些实施方案做出各种变化。

Claims (14)

1.用于更新在设备(40)中当前是第一版本(V1)的软件的方法,通过接收并执行一个delta文件(D12)以升级该第一版本到一个第二版本(V2),该软件被分割并存储于多个存储块(201-204)中,该存储块在该设备中物理存储器(48)的地址空间(211)上定义,该方法包括步骤:
-定义与所述多个存储块相关联的额外存储块(212);
-擦除该额外存储块以定义额外存储块空间;
-将按所述delta文件确定的、用于所述多个存储块中的第一存储块的被更新数据写入该额外存储块;
-擦除所述第一存储块,因此将该额外存储块空间移动一个块;并且
-将按所述delta文件确定的、用于所述多个存储块中的第二存储块的被更新数据写入该第一存储块。
2.在权利要求1中所述的方法,其中该额外存储块定义为在所述地址空间上与所述第一存储块相邻放置的存储块。
3.在权利要求1中所述的方法,该方法包括通过一次将该额外存储块空间移动一个块而一个接一个地处理该多个存储块的全部的步骤;以及在按所述delta文件确定的升级期间,在所述地址空间中从下一存储块起写入数据到该多个存储块中定义一额外存储块空间的那个存储块,直到该多个存储块全部都在该地址空间上被移转一步。
4.在权利要求1中所述的方法,包括反转在地址空间上写入存储块的顺序的步骤,从所述自第一版本至第二版本的升级,到一个自所述第二版本至第三版本的第二升级。
5.在权利要求4中所述的方法,包括步骤:
-所述设备在接收并执行delta文件之前与一服务器相连接,并传达与当前地址空间状态有关的信息,取决于所述地址空间中该额外块的当前位置,该地址空间状态确定何种delta文件适用于升级所述软件,其中第一delta文件类型适合在地址空间中以一种顺序升级所述存储块上当前的软件,且第二delta文件适合在地址空间中以反转顺序升级所述存储块上当前的软件;
-从所述服务器上下载该适用的delta文件类型的delta文件至所述设备;并且
-使用该适用的delta文件升级所述软件。
6.在前述任一权利要求中所述的方法,包括根据在按所述delta文件确定的写入过程中数据在所述存储块间的移动,而在用于所述软件的引导代码中修改所述地址空间中的开始地址的步骤。
7.计算机程序产品,在计算机控制的电子设备(40)中用于更新该设备上当前是第一版本(V1)的软件,该设备包括接收并执行用于升级所述第一版本到一个第二版本(V2)的delta文件(D12)的装置,该软件被分割并存储于多个存储块(201-204)中,该多个存储块在该设备的物理存储器(48)上的地址空间(211)中定义,该计算机程序产品包括被设计用于使该设备执行以下步骤的可执行计算机程序代码:
-对所述多个存储块定义一个额外存储块;
-擦除该额外存储块以定义一个额外存储块空间;
-将按所述delta文件确定的、用于所述多个存储块的第一存储块的被更新数据写入该额外存储块;
-擦除所述第一存储块,因此将该额外存储块空间移动一个块;并且
-将按所述delta文件确定的、用于所述多个存储块的第二存储块的被更新数据写入该第一存储块。
8.在权利要求7中所述的计算机程序产品,包括被设计来使该设备执行前述权利要求1-6中任一权利要求的步骤的可执行计算机程序代码。
9.无线电通信终端(40),该终端包括一个计算机系统(47),该计算机系统带有用于更新该终端上当前是第一版本(V1)的软件的关联计算机代码,以及包括接收并执行用于将所述第一版本升级至一个第二版本(V2)的delta文件(D12)的装置(46),该软件被分割并存储于多个存储块(201-204)中,该多个存储块在该终端的物理存储器(48)上的地址空间(211)中定义,其特征在于,与该多个存储块关联的额外存储块(212)在该地址空间中定义,该终端还包括用于擦除所述额外存储块以定义一个额外存储块空间的装置;用于将按所述delta文件确定的、用于所述多个存储块的第一存储块的被更新数据写入该额外存储块的数据写入装置;用于擦除所述第一存储块、以便将该额外存储块空间移动一个块的数据擦除装置;其中所述数据写入装置被设计来将按所述delta文件确定的、用于所述多个存储块的第二存储块的被更新数据写入该第一存储块。
10.在权利要求9中所述的无线电通信终端,其中该额外存储块在所述地址空间上与所述第一存储块相邻放置。
11.在权利要求9中所述的无线电通信终端,其中该数据写入装置被设计为自所述额外存储块起一个接一个地处理该多个存储块的全部,这是通过在按所述delta文件确定的升级过程中,在所述地址空间中从下一存储块起写入数据到该多个存储块的其中之一,直到该多个存储块全部都在该地址空间上被移转一步而进行的。
12.在权利要求9中所述的无线电通信终端,包括用于反转在该地址空间上写入存储块的顺序的装置,从所述自第一版本至第二版本的升级,到自所述第二版本至第三版本的第二升级。
13.在权利要求12中所述的无线电通信终端,其中该设备被安排来在接收并执行delta文件之前与服务器相连接,用来传达与当前的地址空间状态有关的信息,取决于所述地址空间中该额外块的当前位置,该地址空间状态确定何种delta文件适用于升级所述软件,其中第一delta文件类型适合在该地址空间中以一种顺序升级该存储块上当前的软件,以及第二delta文件适合在该地址空间中以反转顺序升级当前在该存储块上的软件,该终端包括从所述服务器上下载适用的delta文件类型的delta文件至所述设备的装置,以及使用该适用的delta文件来升级所述软件的装置。
14.在前述任一权利要求9-13中所述的无线电通信终端,包括根据在按所述delta文件确定的写入过程中数据在所述存储块间的移动,在用于所述软件的引导代码中修改所述地址空间中的开始地址的装置。
CNB2005800078823A 2004-03-10 2005-02-17 固件升级中的自动备份存储 Expired - Fee Related CN100492292C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP04005700A EP1574952B1 (en) 2004-03-10 2004-03-10 Automatic backup store in firmware upgrades
EP04005700.2 2004-03-10
US60/553,687 2004-03-16

Publications (2)

Publication Number Publication Date
CN1930551A true CN1930551A (zh) 2007-03-14
CN100492292C CN100492292C (zh) 2009-05-27

Family

ID=34814286

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005800078823A Expired - Fee Related CN100492292C (zh) 2004-03-10 2005-02-17 固件升级中的自动备份存储

Country Status (6)

Country Link
US (1) US7502813B2 (zh)
EP (1) EP1574952B1 (zh)
JP (1) JP4801041B2 (zh)
CN (1) CN100492292C (zh)
AT (1) ATE392661T1 (zh)
DE (1) DE602004013120T2 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102132258A (zh) * 2009-08-24 2011-07-20 日立系统解决方案有限公司 固件更新系统、信息设备以及程序
CN109284123A (zh) * 2017-07-21 2019-01-29 深圳市中兴微电子技术有限公司 一种采用版本分割实现压缩版本升级的方法及系统
CN113225729A (zh) * 2020-01-21 2021-08-06 荣耀终端有限公司 空中下载技术ota升级的方法、设备及可读存储介质

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4417123B2 (ja) * 2003-02-19 2010-02-17 パナソニック株式会社 ソフトウェア更新方法及び無線通信装置
DE102006057977A1 (de) * 2006-12-08 2008-06-12 Siemens Ag Verfahren und Vorrichtung zum Aktualisieren einer Datenbank und Computerprogrammprodukt
CN101159610B (zh) * 2007-11-09 2010-06-09 中兴通讯股份有限公司 一种远程擦除传输设备单板软件的方法及其装置
US8327101B2 (en) 2008-02-01 2012-12-04 International Business Machines Corporation Cache management during asynchronous memory move operations
US8356151B2 (en) 2008-02-01 2013-01-15 International Business Machines Corporation Reporting of partially performed memory move
US8136108B2 (en) * 2008-09-03 2012-03-13 Computime, Ltd Updating firmware with multiple processors
US8386757B1 (en) * 2009-02-13 2013-02-26 Unidesk Corporation Managed desktop system
CN101610499A (zh) * 2009-07-13 2009-12-23 中兴通讯股份有限公司 无线数据卡的升级方法和系统
US20120047223A1 (en) * 2010-08-20 2012-02-23 Nokia Corporation Method and apparatus for distributed storage
US9552201B2 (en) * 2011-08-31 2017-01-24 Avaya Inc. System and method for incremental software installation
CN102508713B (zh) 2011-10-12 2015-01-28 杭州华三通信技术有限公司 进程启动方法及装置
WO2014018256A1 (en) 2012-07-26 2014-01-30 Utc Fire And Security Americas Corporation, Inc. Wireless firmware upgrades to an alarm security panel
CN102945179B (zh) * 2012-11-28 2016-06-29 青岛海信宽带多媒体技术有限公司 基于mtd分区的软件升级方法和装置
CN103605552B (zh) * 2013-11-29 2017-12-29 Tcl通力电子(惠州)有限公司 Mcu的升级方法和装置
CN105718246A (zh) * 2014-07-31 2016-06-29 格马尔托股份有限公司 在电子设备中管理应用程序包的方法
WO2016121442A1 (ja) * 2015-01-26 2016-08-04 日立オートモティブシステムズ株式会社 車載制御装置、プログラム書き込み装置、プログラム生成装置及びプログラム
CN104810055B (zh) * 2015-05-08 2018-09-07 京东方科技集团股份有限公司 Flash芯片读写控制电路和方法、AMOLED应用电路
JP6568947B2 (ja) * 2015-09-29 2019-08-28 日立オートモティブシステムズ株式会社 車載制御装置、プログラム更新システム、及び、プログラム更新ソフトウェア
DE102017205274A1 (de) * 2017-03-29 2018-10-04 Robert Bosch Gmbh Verfahren und Vorrichtung zum Aktualisieren eines Programmes
CN111124475B (zh) * 2018-10-31 2023-12-08 伊姆西Ip控股有限责任公司 存储管理的方法、电子设备和计算机可读存储介质
CN111240722B (zh) * 2020-01-07 2021-05-04 翱捷科技股份有限公司 空中升级固件的方法及其所应用的终端、服务器及系统
CN113472884A (zh) * 2021-06-30 2021-10-01 潍柴动力股份有限公司 Ota升级方法和装置
CN113986312B (zh) * 2021-12-09 2024-03-26 北京奕斯伟计算技术股份有限公司 软件升级方法、装置、电子设备及计算机可读存储介质

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2169874B (en) * 1984-12-03 1989-09-20 Asahi Chemical Ind Easily tear-openable sealed plastics bag and method for production thereof
EP0398545A1 (en) * 1989-05-19 1990-11-22 Delco Electronics Corporation Method and apparatus for storing data in a non-volatile memory
US5522076A (en) * 1993-05-13 1996-05-28 Kabushiki Kaisha Toshiba Computer system having BIOS (basic input/output system)-ROM (Read Only Memory) writing function
DE19520030C1 (de) * 1995-05-31 1996-05-15 Siemens Ag Verfahren zur Aktualisierung der Programmstruktur einer modularen Kommunikationsanlage
US5960445A (en) * 1996-04-24 1999-09-28 Sony Corporation Information processor, method of updating a program and information processing system
JP3497066B2 (ja) * 1996-10-16 2004-02-16 富士通株式会社 フラッシュメモリにおけるデータ書き込み/読み出し方法およびフラッシュメモリを用いた記憶装置
DE19652628A1 (de) * 1996-12-18 1998-06-25 Philips Patentverwaltung Kommunikationssystem
JPH113223A (ja) * 1997-06-10 1999-01-06 Canon Inc 情報処理装置及び情報格納方法
JP2000293366A (ja) * 1999-04-06 2000-10-20 Mitsubishi Electric Corp セットトップボックス用モジュールのアップデート方法
JP2001209543A (ja) * 2000-01-28 2001-08-03 Nec Ic Microcomput Syst Ltd フラッシュ・マイコンにおけるプログラム書き換え方法
JP4772214B2 (ja) * 2001-06-08 2011-09-14 ルネサスエレクトロニクス株式会社 不揮発性記憶装置及びその書き換え制御方法
US7100011B2 (en) * 2002-03-01 2006-08-29 Arris International, Inc. Method and system for reducing storage requirements for program code in a communication device
JP3830867B2 (ja) * 2002-07-10 2006-10-11 Necエレクトロニクス株式会社 シングルチップマイクロコンピュータおよびそのブート領域切り替え方法
US7340736B2 (en) * 2002-08-22 2008-03-04 Hewlett-Packard Development Company, L.P. Electronic device with an update agent that employs preprocessing techniques for update
US6938140B2 (en) * 2002-08-29 2005-08-30 Micron Technology, Inc. System and method for linear object reallocation in place

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102132258A (zh) * 2009-08-24 2011-07-20 日立系统解决方案有限公司 固件更新系统、信息设备以及程序
US8726262B2 (en) 2009-08-24 2014-05-13 Hitachi Solutions, Ltd. Firmware update system and information apparatus, and program
CN102132258B (zh) * 2009-08-24 2014-05-14 株式会社日立解决方案 固件更新系统、信息设备以及程序
CN109284123A (zh) * 2017-07-21 2019-01-29 深圳市中兴微电子技术有限公司 一种采用版本分割实现压缩版本升级的方法及系统
CN113225729A (zh) * 2020-01-21 2021-08-06 荣耀终端有限公司 空中下载技术ota升级的方法、设备及可读存储介质
CN113225729B (zh) * 2020-01-21 2022-07-12 荣耀终端有限公司 空中下载技术ota升级的方法、设备及可读存储介质

Also Published As

Publication number Publication date
JP2007528071A (ja) 2007-10-04
JP4801041B2 (ja) 2011-10-26
ATE392661T1 (de) 2008-05-15
CN100492292C (zh) 2009-05-27
EP1574952B1 (en) 2008-04-16
US20080126672A1 (en) 2008-05-29
DE602004013120D1 (de) 2008-05-29
EP1574952A1 (en) 2005-09-14
DE602004013120T2 (de) 2009-05-14
US7502813B2 (en) 2009-03-10

Similar Documents

Publication Publication Date Title
CN1930551A (zh) 固件升级中的自动备份存储
US7210010B2 (en) Efficient system and method for updating a memory device
EP2229625B1 (en) Updating firmware of an electronic device
US7971199B1 (en) Mobile device with a self-updating update agent in a wireless network
JP4865835B2 (ja) アクションリストとバージョニングとを用いて、無線デバイス上でアクションを実行する方法、ソフトウェア、及び装置
US8219984B2 (en) Firmware update network and process employing preprocessing techniques
CN1230747C (zh) 用于备份和恢复计算机数据的方法和装置
CN101110788B (zh) 升级客户端软件的方法及系统
KR20110082585A (ko) 디바이스상의 컴포넌트들을 자동으로 처리하기 위한 시스템
CN105930197A (zh) 一种软件升级的方法及电子设备
CN101211265A (zh) 一种终端嵌入式系统的软件更新方法和装置
KR101130875B1 (ko) 펌웨어 업그레이드 경우의 자동 백업 저장
CN1758220A (zh) 一种升级软件版本的方法
CN111885207B (zh) 流式数据断点续传方法及装置
JP2005215841A (ja) ソフトウエア修正機能付き携帯電話端末装置
CN110825406A (zh) 一种软件升级的方法及相关设备
CN111176704A (zh) 一种差分包文件生成方法、中断恢复方法和相关装置
CN116048548A (zh) 一种缩小安装包体积的方法、装置、介质和电子设备
KR100631762B1 (ko) 펌웨어 파일 정보를 관리하는 장치, 펌웨어 파일 정보를이용하여 펌웨어를 업데이트하는 장치, 및 그 방법
CN112015431B (zh) 一键修改固件信息的方法、装置、计算机设备及存储介质
JP6641158B2 (ja) ファイルサイズチェック
US20200097572A1 (en) Adjusting growth of persistent log
CN116860309A (zh) 部分更新文件数据块读写方法及差分还原、增量更新方法
CN116841580A (zh) 基于ota的软件升级方法、装置、存储介质以及电子设备
CN113176886A (zh) 一种镜像文件压缩运行方法及装置

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090527

Termination date: 20170217