CN102132258A - 固件更新系统、信息设备以及程序 - Google Patents

固件更新系统、信息设备以及程序 Download PDF

Info

Publication number
CN102132258A
CN102132258A CN2010800024398A CN201080002439A CN102132258A CN 102132258 A CN102132258 A CN 102132258A CN 2010800024398 A CN2010800024398 A CN 2010800024398A CN 201080002439 A CN201080002439 A CN 201080002439A CN 102132258 A CN102132258 A CN 102132258A
Authority
CN
China
Prior art keywords
data
firmware
renewal
piece
handling
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
CN2010800024398A
Other languages
English (en)
Other versions
CN102132258B (zh
Inventor
大浜伸之
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.)
Hitachi Solutions Ltd
Original Assignee
Hitachi Solutions Ltd
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 Hitachi Solutions Ltd filed Critical Hitachi Solutions Ltd
Publication of CN102132258A publication Critical patent/CN102132258A/zh
Application granted granted Critical
Publication of CN102132258B publication Critical patent/CN102132258B/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates

Abstract

本发明提供可以同时实现更新中断时的恢复、和备份以及差分数据保存中所使用的非易失性存储器容量的节约的固件更新处理。为此,除了新旧固件以外,具备始终保存改写过程中的固件的状态的中间数据,针对以任意顺序更新构成固件的全部块的情况,将所述中间数据与新固件的该块逐次比较,进行用于更新中断时的恢复的数据的地址及其所需要的备份容量的计算、应该发布的差分数据的提取及其容量的计算、和更新过程的生成,导出备份容量和差分数据容量的合计为最小的处理顺序。

Description

固件更新系统、信息设备以及程序
技术领域
本发明涉及固件更新系统、以及构成其一部分的信息设备,例如在整合设备领域中改写在NOR型闪速存储器等非易失性存储器中存储的固件的技术。
背景技术
在家电领域中多使用只读(Read-Only)的文件系统,因此无法进行利用文件系统的功能的文件单位的写入。因此,当更新固件时需要改写固件的映像(image)。固件映像一般大小较大,因此在更新固件的情况下利用不传输映像全体而仅提取/传输差分的方法。
作为提取差分的方法,有以字节为单位相互比较新旧固件映像全体,并提取差分的映像全体比较法(例如参照非专利文献1)。在映像全体比较法中,在信息设备侧根据差分制作新映像时需要旧映像全体,因此,为了进行更新中断时的恢复而需要旧映像全体的备份。这是因为改写后的旧数据不保留在RAM上,因此为了恢复旧映像,需要预先取得其全体的备份。
另外,也有保存固件映像及其全体的备份的方法(例如参照专利文献1)。
而且,作为以在更新中断时可以恢复的形式提取固件映像的差分的方法,具有以块为单位,对构成新旧映像的各块(对应于存储固件的非易失性存储器的块)彼此进行比较,将不一致的块的数据追加到应该发布的差分数据中的分割块比较法。在这种方法中,在应用差分的情况下,对改写对象块进行备份。
专利文献1:日本特开平11-110218号公报
非专利文献1:xdelta:URL=http://xdelta.org/
但是,在非专利文献1中记载的映像全体比较法中,虽然差分数据的大小减小,但是为了在更新中断时进行恢复所需要的备份成为旧映像全体,因此大小增大。
另外,在分割块比较法中,用于在更新中断时进行恢复的备份仅为改写过程中的块即可,但是当在旧映像内与改写对象数据相同的数据存在于其它块中时,也另外取得备份,因此会发生非易失性存储器的浪费。另外,由于仅以块为单位进行比较,因此差分数据增大。
发明内容
鉴于这样的问题而提出本发明,其提供可以在非易失性存储器中减小为了在更新中断时进行恢复所需的备份区域和差分数据的保存区域的合计大小,高效并且廉价地执行固件更新的技术。
为了解决上述问题,本发明的固件更新系统,具备:生成固件更新用数据的管理装置;以及取得固件更新用数据,将旧固件更新为新固件的信息设备。管理装置,根据旧固件以及新固件的数据生成差分数据,生成记载了用于在信息设备中根据旧固件以及差分数据生成新固件的更新处理的更新过程书,生成记载了用于在信息设备中的更新处理中断的情况下执行将更新处理途中的数据恢复为更新处理开始前的状态的处理(写恢复处理)的信息的写恢复参照信息(写恢复源地址表)。作为用于以块为单位进行更新处理的数据而生成固件更新用数据(发布组件)。
管理装置准备表示用于对多个块进行更新处理的顺序的多个处理顺序,针对各处理顺序,生成表示将旧固件改写为新固件的过程中的各块的状态的中间数据,使用新固件以及中间数据以块为单位检查备份的必要性以及差分数据提取的必要性。另外,管理装置根据与备份的必要性以及差分数据提取的必要性相关的检查结果,在多个处理顺序中确定备份所需的容量和差分数据存储所需的容量的合计值达到最小的处理顺序。将该确定的处理顺序记载在更新过程书中。更具体来说,管理装置在中间数据内比较处理对象块和除此以外的块,根据是否一致来检查备份的必要性,比较新固件内的处理对象块和中间数据的全部块,根据是否一致来检查差分数据提取的必要性。
此外,管理装置可以以如下方式记载写恢复参照信息:以小于块的大小的单位指示执行写恢复处理时的数据的参照位置以及大小,从而能够从多个位置取得所述写恢复处理的数据。另外,管理装置可以以如下方式记载更新过程书的更新过程:以小于块的大小的单位指示执行更新处理时的数据的参照位置以及大小,从而能够从多个位置取得更新处理的数据。
另一方面,信息设备与更新过程书的处理过程相对应地以块为单位管理包含表示备份已结束的信息以及表示更新处理已结束的信息的更新状况。
另外,信息设备,在发生处理中断的情况下确认所述更新状况来确定在按照哪个处理过程进行处理时发生了中断,参照更新过程书,确定通过所述确定的处理过程正在处理途中的块,确认写恢复参照信息,针对所确定的处理途中的块执行数据写恢复处理,使该块成为更新处理开始前的状态。
根据以下用于实施本发明的优选方式以及附图,可以明了本发明的其它特征。
根据本发明,可以在节约在备份数据或差分数据保存中所使用的非易失性存储器容量的同时,实现更新中断时的恢复。
附图说明
图1是用于表示在对象数据的块改写过程中发生中断时,将相应的块写恢复后重新开始更新的第四策略的必要性的图。
图2是表示本发明的实施方式的固件更新系统的概要结构的图。
图3是用于说明管理装置中的差分提取处理的概要的流程图。
图4是用于说明备份的必要性调查处理的细节的流程图。
图5是用于说明差分发布(提取)必要性调查处理的细节的流程图。
图6A作为备份以及差分发布(提取)的必要性调查处理(图4以及图5)的例子,表示按照预定的处理顺序进行了处理的情况下的例子。
图6B作为备份以及差分发布(提取)的必要性调查处理(图4以及图5)的例子,表示按照与图6A不同的处理顺序进行了处理的情况下的例子。
图7表示写恢复源地址表的例子。
图8表示更新过程书。
图9表示更新状况的例子。
图10是用于说明信息设备中的更新处理(包含写恢复处理)的流程图。
图11表示用于能够以比块单位小的单位进行操作的更新过程和写恢复地址表的例子。
具体实施方式
本发明涉及,针对在整合设备领域中存储在NOR型闪速存储器等非易失性存储器中的固件,实现当改写存在变更的差分数据时发生了更新中断时的恢复和非易失性存储器容量的节约的双方的、差分提取/差分应用的方法以及装置。
以下,参照附图说明本发明的实施方式。但是应该注意,本实施方式只不过是用于实现本发明的一例,不对本发明的技术范围进行限定。另外,在各图中对相同的结构赋予相同的参照号码。
<前提条件>
本发明的实施方式以在整合设备中所使用的非易失性存储器中存在仅能以块为单位进行删除的限制为前提来说明。因此,当对块进行改写时,执行在易失性的存储器内生成改写后的块的数据后将其写入相应的块的动作。
另外,在本实施方式中说明基于以下4种策略的固件的更新。即,
第一策略:备份区域最大为1块;
第二策略:备份区域在各块的改写结束时清除;
第三策略:差分数据保存到最后;
第四策略:当在对象数据的块改写过程中发生中断时,将相应的块写恢复后重新开始更新。
此外,第四策略是由于有时如图1那样,为了进行改写而需要改写对象块的一部分数据。以后,将这种情况称为自身参照。图1是表示存在用于表示第四策略的必要性的自身参照的情况的例子。
<固件更新系统的结构>
图2表示本发明的实施方式的固件更新系统的概要结构。实施方式的固件更新系统具备管理装置1、发布装置2和至少一个信息设备3。
管理装置1具备:具有CPU11A以及存储器11B的终端部11、通信端口12、外部存储装置13。外部存储装置13由非易失性存储器构成,具备:差分提取单元13A、转发单元13B、旧数据存储部13C、新数据存储部13D、作为用于始终保存更新过程中的非易失性存储器的状态的数据(表示改写过程中的数据的情况、即固件的改写过程中的状态的数据)的中间数据存储部13E、用于记录非易失性存储器的各块的数据为未处理(0)、处理中(-1)还是已处理(1)的处理状况表13F、备份必要性表13G、表示是否是应该提取差分来发布的数据的差分发布必要性表13H、差分数据存储部13I、更新过程存储部13J、写恢复源地址表13K。
发布装置2具备:具有CPU21A以及存储器21B的终端部21、通信端口22、外部存储装置23。外部存储装置22由非易失性存储器构成,具备转发单元23A、发布组件(package)23B。
信息设备3具备:具有CPU31A以及存储器31B的终端部31、通信端口32、外部存储装置33。外部存储装置33由非易失性存储器构成,具备:在信息设备3的启动时最初被执行的引导块3301;通常被利用的通常固件块3302;在固件的更新时被利用的更新用固件块3303;在固件更新时被利用的差分数据保存块3304;在固件更新时被利用的备份块3305。
在引导块3301中存储有:在本装置启动时最初执行的引导加载程序3301A;识别在下次启动时要引导的固件(具体来说,下次启动3302A和3303A的哪一个)的启动设定信息3301B。引导加载程序3301A在启动后读入通常固件块3302或更新用固件块3303的某一个。读入哪一个取决于启动设定信息3301B。启动设定信息3301B,在产生更新的必要性时,从通常固件块切换到更新用固件块3303,当更新顺利结束时返回通常固件块。此外,更新的必要性,例如在从发布装置2向信息设备3指示了更新时、或者信息设备3定期地对发布装置2确认固件的版本并成为新的版本时,判断为需要更新即可。
在通常固件块3302中保存通常基础软件3302A以及通常应用软件3302B。
在更新用固件块3303中保存更新用基础软件3303A以及更新程序(更新处理部)3303B。
在差分数据保存块3304中保存:作为当前的固件和新固件的差分的差分数据3304A;记录更新过程的更新过程3304B;当从更新的中断进行恢复时,在写恢复为改写中的数据区域中的旧数据时利用的写恢复源地址表3304C;用于记录表示到该更新过程中的哪个部分结束的更新过程执行结束位置的更新状况3305D。
<差分提取处理的全体概要>
图3是用于说明管理装置1中的差分提取处理的全体的流程图。此外,例如在将新固件输入到管理装置1时执行差分提取处理。另外,CPU11A经由差分提取单元13A(两者协作)来执行该差分提取处理,但是以下以差分提取单元13A作为动作主体来进行说明。
首先,差分提取单元13A决定下一改写块顺序(步骤201)。该改写块顺序表示应该改写的块有多个时的改写的顺序。例如,假定非易失性存储器由3个块构成时,研究按照1→2→3、2→3→1、...、3→2→1的顺序进行的改写处理。因此,在步骤201中,在所述多个改写顺序中决定在该循环中以哪个顺序进行研究。
差分提取单元13A按照所决定的顺序,接着将处理对象的块前进一个,更新处理状况表(步骤202)。例如在按照2→3→1的顺序进行处理的情况下,假定上次处理了块2时,此次的处理对象被设为块3。
接着,差分提取单元13A更新中间数据(步骤203)。在此,所谓中间数据,是用于始终保存更新过程中的非易失性存储的状态的数据。即,在步骤203中,从新数据中取得相应的块,复制到中间数据(例如参照图6)。
另外,差分提取单元13A针对相应块数据进行备份的必要性调查(步骤204)。而且,差分提取单元13A针对相应块数据进行差分发布的必要性调查(步骤205)。使用图4以及图5在后面分别叙述备份必要性调查以及差分发布必要性调查的处理的细节。
接着,差分提取单元13A调查是否已对全部块进行了处理,在未全部处理的情况下,使处理转移到步骤202,在已全部处理的情况下,使处理转移到步骤207(步骤206)。另外,差分提取单元13A调查是否已对全部改写块顺序进行了处理,在未全部处理的情况下,使处理转移到步骤201,在已全部处理的情况下,使处理转移到步骤208(步骤207)。
然后,差分提取单元13A决定备份区域和差分区域的容量的和最小的改写顺序(步骤208)。例如,关于备份区域的容量,在备份必要性表的各记录中取最大值。关于差分区域的容量,取差分必要性表的各记录的和。将该最大值和各记录的和的合计值达到最小的改写顺序决定为更新过程13J内的改写顺序,但是当合计值相同的顺序有多个时,选择最初计算出的过程。
最后,差分提取单元13A将差分数据13I、更新过程13J以及写恢复地址表13K组件化(步骤209)。
<备份必要性调查处理的细节>
图4是用于说明备份必要性调查处理(步骤204)的细节的流程图。
首先,差分提取单元13A将中间数据中的对象块与中间数据中的其它各块进行比较,检查是否一致。例如,关于图6A的状态6A-1的块1,比较C(块1)、B(块2)以及A(块3)。在这种情况下,由于没有与C一致的块,因此判断为有备份的必要性。
当有一致的块时(步骤401,是),没有备份的必要性,因此差分提取单元13A在备份必要性表的该记录中记载0,同时记载在写恢复源地址表中,以便可以从改写中的固件数据中的一致的数据恢复(步骤402)。
另一方面,在没有一致的块时(步骤401,否),有备份的必要性,因此差分提取单元13A在备份必要性表的该记录中记载表示该块数的1(由于本实施方式是以块为单位进行改写的形态),同时,记载在写恢复源地址表中,以便可以从备份区域进行数据的恢复(步骤403)。
<差分发布必要性调查处理的细节>
图5是用于说明差分发布必要性调查处理(步骤205)的细节的流程图。
差分提取单元13A将新数据中的对象块与中间数据中的各块进行比较,检查是否一致(步骤501)。例如,关于图6A的状态6A-1的块1,比较B(新数据的块1)、C(中间数据的块1)、B(中间数据的块2)以及A(中间数据的块3)。在这种情况下,与作为新数据的块1的B一致的块为中间数据的块2,因此判断为没有差分发布的必要性。
当有一致的块时(步骤501,是),没有差分发布的必要性,因此差分提取单元13A在差分发布必要性表的该记录中记载0,同时,在更新过程的该记录中记载从旧数据中的一致的数据复制的命令(步骤502)。
另一方面,当没有一致的块时(步骤501,否),有差分发布的必要性,因此差分提取单元13A在差分发布必要性表的该记录中记载表示该块数的1,同时记载从所发布的差分数据复制的命令(步骤503)。
<状态迁移的具体例>
图6表示执行中间数据更新处理(步骤203)、备份必要性调查处理(步骤204以及图4)、以及差分发布必要性调查处理(步骤205以及图5)的情况下的状态迁移例。
图6A在步骤201中为块1、块2、块3的处理顺序的情况下,状态6A-1、6A-2、6A-3分别表示关于块1的步骤205的处理后的状态、关于块2的步骤205的处理后的状态、关于块3的步骤205的处理后的状态。另外,图6B在为块2、块1、块3的处理顺序的情况下,状态6B-1、6B-2、6B-3分别表示关于块2的步骤205的处理后的状态、关于块1的步骤205的处理后的状态、关于块3的步骤205的处理后的状态。
当块的处理顺序为1→2→3、1→3→2、3→1→2、3→2→1的某一个时,如图6所示,备份为1,差分容量为1,合计为2,与之相对,在2→1→3或2→3→1的情况下,如图6B所示,备份为1,差分容量为2,合计为3。因此,在前者中,最初处理的顺序在步骤208中被选择为最佳更新顺序。
在本实施方式中,以在相应块处理后删除备份数据为前提,但是假定在相应块处理后不删除备份数据,例如在上述2→1→3或2→3→1的情况下将数据B的备份保存到它们的第二个块的处理后的情况下,需要的闪速存储器容量中,备份为2,差分容量为1,合计为3。
<写恢复源地址表的例子>
图7是表示与图6A的例子对应的写恢复源地址表的例子的图。所谓写恢复源地址表,是在发生更新中断时为了将从旧数据或备份区域改写途中的数据复原而使用的表。此外,图6A的处理过程为块1→2→3,因此在图7的写恢复源地址表中,块号码也为1→2→3,但是如果处理过程不同,则块号码的顺序也随之不同。
在更新处理中断时实现处理对象块的数据恢复时,参照写恢复源地址表中的与该处理对象的块号码对应的记录。
例如,如图7所示,将备份区域的地址设为Fbup_start,将固件区域(旧数据)的第n块的地址设为Fdat_n_start,将差分数据的地址设为Fdlt_start。此外,数据的大小,在此为了简化而统一为表示非易失性存储器的擦除块大小的size。
在图7中,在第1记录中记载为从备份区域进行写恢复,在第2记录中记载为从改写中的固件块中进行写恢复,在第3记录中记载为从备份区域进行写恢复。
<更新过程书的例子>
图8是表示与图6A的例子对应的更新过程书的例子的图。在图8中,处理过程号码与行号一致。在图8的例子中,第一过程表示用于执行从固件块的第2块的开头开始复制size的量的数据的处理的命令。第二过程表示用于执行从差分区域的开头开始复制size量的数据的处理的命令。第三过程表示用于执行从固件块的第1块的开头复制size量的数据的处理的命令。
<更新状况的例子>
图9表示处理过程1结束,关于处理过程2,表示直到备份处理为止都结束时的更新状况的更新状况表的例子。
在更新状况的管理方法中有图9A以及B所示的方法。即,例如是图9A那样,在文件中,在更新过程的各过程的开始时记载过程的号码,在备份结束时记载表示备份结束的字符BupEnd,在更新处理结束时将表示结束的字符END记载在文件中,或者是如图9B所示,分为备份用日志区域(B-1)和更新过程的各记录的结束用的日志区域(B-2)的方法。
在图9B的情况下,备份用日志(B-1)在更新过程的各记录开始时清零,在备份结束时记载1。因此,在备份用日志区域(B-1)中仅显示表示当前更新处理中的块备份完成的“1”。并且,更新状况用日志(B-2)设置记录更新状况的块,最初从全部为0的状况开始,若处理结束,则针对从上位字节计数的、与相应的处理过程号码一致的位置的字节,将“0”改写为“1”。
例如,当发生处理中断(例如电源断开(OFF))时,看图9可知为处理过程2的更新过程中。然后,参照更新过程(图8)的相应行(处理过程2),检查处理目的地(复制目的地或追加目的地)来确认处理对象的块号码。在这种情况下,为Fdat_2_start,因此成为块2。因此,参照图7可知,写恢复源地址为(Fdat_1_start size)。
<更新处理的内容>
图10是用于说明在信息设备3中执行的、包含从中断开始的恢复处理的更新处理的流程图。此外,CPU31A经由更新程序3303B(两者协作来构成更新处理部)执行该更新处理。以下,以更新程序3303B作为动作主体来进行说明。
首先,更新程序3303B参照更新状况表(图9),调查更新状况是否全部为空(步骤1101)。若更新状况表不为空,则处理前进到步骤1002,若该表为空,则处理前进到步骤1004。此外,即使只有一个与更新状况相关的信息被包含在更新状况表中,也判断为更新状况不为空。
当判断为更新状况为空时(步骤1001,是),即并非更新被中断时,更新程序3303B参照更新过程书(图8),确定处理对象块(步骤1004)。另外,更新程序3303B参照写恢复源地址表的该处理号码(处理对象块号码)的记录,若有必要备份则进行备份(步骤1005)。例如,若写恢复源地址以Fbup开始,则有必要备份的,若以Fdat开始,则数据存在于旧数据中,因此没必要备份到备份区域。另外,在备份处理过程中发生中断的情况下,仅再次取得备份,因此不进行写恢复处理。
然后,更新程序3303B按照更新过程执行处理对象块的处理(步骤1006)。而且,更新程序3303B确认是否是更新过程的最终行,若是最终行则使处理转移到步骤1004,若不是最终行则结束处理。
另一方面,当更新状况不为空时是发生了更新中断的情况,因此更新程序3303B参照更新状况和写恢复源地址表的该处理号码的记录,若有必要写恢复则进行写恢复(步骤1002)。在此,所谓“有必要写恢复的情况”,表示在备份结束后按照更新过程书在更新处理中发生了中断的情况。在备份处理中发生了中断时,仅再次进行备份,因此不相当于“有必要写恢复的情况”。例如,假定在图9的更新状况的情况下发生中断时,由于在执行处理过程2时发生了中断,因此参照更新过程书(图8)的处理过程2。当查看处理过程2的处理(复制)目的地时,判明处理对象块为块2。并且,当参照写恢复源地址表(图7)时是Fdat_start,因此执行从旧数据的块1的开头以size的量写恢复该处理对象的块2的数据的处理。
当步骤1002结束时,更新程序3303B参照更新过程书(图8),确定处理对象块(步骤1003)。此后,处理转移到步骤1005。
在从通常固件块3302启动时,可以安装更新用固件块3303,并执行更新程序3303B。在这种情况下,在发生中断的情况下,也可以从更新用固件块3303启动,重新开始更新。
<变形例>
(1)在上述实施方式中以块单位作为处理单位,但是,通过用逗号划分更新过程和写恢复源地址表的各记录,排列多个数据,能够以比块单位小的单位进行操作。
图11表示用于能够以比块单位小的单位进行操作的更新过程和写恢复地址表的例子。
图11A表示在写恢复处理时从备份区域的开头取得块大小的一半的数据,从块1的后一半数据取得剩余的一半数据。由此,即使一个块的数据被分割并保存在多个位置,在更新中断时也可以恢复。
另外,图11B表示在更新处理时执行从差分块的开头取得块大小的一半的数据,然后从块2的开头插入,并将块1的前半部分的数据复制到块2的后半部分的处理。由此,可以根据多个位置的数据改写一个块的数据,因此,可以抑制差分数据的大小。
(2)在图10中记载了在步骤1002中从中断起的重新开始、以及写恢复,但是也可以在RAM上复原。
(3)关于第一策略,表示了备份容量最大为1块的情况,但是也可以将其设为1块以上。
另外,关于第二策略,用于从中断点起恢复为原数据的数据,可以在备份区域中一直保管到更新完成为止。此时,必要的数据以外的数据可以删除。
关于第三策略,差分数据可以在不需要的时刻删除。
而且,关于第四策略,可以仅在有自身参照的情况下执行写恢复处理。
<总结>
在本实施方式中,管理装置根据旧数据和新数据生成差分数据,生成记载用于在信息设备中根据旧固件以及差分数据生成新固件的更新处理的更新过程书,生成记载了用于在信息设备中的更新处理中断的情况下执行将更新处理过程中的数据恢复为更新处理开始前的状态的处理(写恢复处理)的信息的写恢复参照信息(写恢复源地址表)。并且,信息设备按照该固件更新用数据执行更新处理。由此,即使在信息设备中更新处理中断的情况下,也可以顺利地执行从中断开始的恢复,通过写恢复处理,可以从发生中断的地方起重新开始更新处理。
另外,管理装置准备多种表示用于对多个块(相当于非易失性存储器的分割块)进行更新处理的顺序的处理顺序,针对各处理顺序,生成表示从旧固件改写为新固件过程中的各块的状态的中间数据。并且,管理装置使用新固件以及所述中间数据,以块为单位检查备份的必要性以及差分数据提取的必要性。另外,管理装置根据与备份的必要性以及差分数据提取的必要性相关的检查结果,在多个处理顺序中确定备份所需的容量和差分数据存储所需的容量的合计值达到最小的处理顺序。将该确定的处理顺序记载在更新过程书中。更具体来说,管理装置在中间数据内将处理对象块与除此之外的块进行比较,根据是否一致来检查所述备份的必要性,将新固件内的处理对象块与中间数据的全部块进行比较,根据是否一致来检查差分数据提取的必要性。这样,当引入中间数据这种概念时,可以检查备份的必要性以及差分数据提取的必要性。并且,通过确定这些必要性较小的处理顺序,可以减小在执行从更新中断起的恢复处理时所需要的存储器区域。因此,可以降低信息设备的成本。
此外,管理装置可以以如下方式记载写恢复参照信息:以小于块大小的单位指示执行写恢复处理时的数据的参照位置以及大小,可以从多个位置取得所述写恢复处理的数据。另外,管理装置可以以如下方式记载更新过程书的更新过程:以小于块大小的单位指示执行更新处理时的数据的参照位置以及大小,可以从多个位置取得更新处理的数据。由此,可以根据保存在多个位置的数据来改写一个块的数据,可以进一步抑制差分数据的大小。
另一方面,信息设备与更新过程书的处理过程相对应地,以块为单位管理包含表示备份已结束的信息以及表示更新处理已结束的信息的更新状况。通过这样管理更新状况,在发生中断的情况下可以容易地掌握到哪个块为止执行怎样的处理,或者从哪个块开始恢复即可,可以顺利地转移到恢复处理。
另外,信息设备在发生了处理中断的情况下确认更新状况,确定按照哪个处理过程进行处理时发生了中断,参照更新过程书,确定通过所确定的处理过程正在处理途中的块,确认写恢复参照信息,针对所确定的处理途中的块执行数据写恢复处理,使该块成为更新处理开始前的状态。由此,可以容易地确定应该进行写恢复处理的块,可以容易地判断从哪个区域开始执行针对该处理对象块的写恢复处理即可。另外,并非使固件全体、仅使必要的块成为更新处理开始前的状态即可。并且,可以在节约备份数据或差分数据保存中所使用的非易失性存储器容量的同时,实现更新中断时的恢复。
此外,本发明也可以通过实现实施方式的功能的软件的程序代码来实现。在这种情况下,向系统或装置提供记录了程序代码的存储介质,该系统或装置的计算机(或CPU或MPU)读出在存储介质中存储的程序代码。在这种情况下,从存储介质读出的程序代码本身实现所述的实施方式的功能,该程序代码本身以及存储了该程序代码的存储介质构成本发明。作为用于供给这样的程序代码的存储介质,例如使用软盘、CD-ROM、DVD-ROM、硬盘、光盘、光磁盘、CD-R、磁带、非易失性存储卡、ROM等。
另外,也可以根据程序代码的指示,由在计算机上运行的OS(操作系统)等进行实际的处理的一部分或全部,通过该处理实现所述的实施方式的功能。而且,在将从存储介质读出的程序代码写入计算机上的存储器后,根据该程序代码的指示,由计算机的CPU等进行实际的处理的一部分或全部,通过该处理实现所述的实施方式的功能。
另外,也可以通过经由网络传输实现实施方式的功能的软件的程序代码,将其存储在系统或装置的硬盘或存储器等存储单元或CD-RW、CD-R等存储介质中,在使用时,由该系统或装置的计算机(或CPU或MPU)读出在该存储单元或该存储介质中存储的程序代码来执行。
符号说明
1管理装置
11A、21A、31A CPU
11B、21B、31B存储器
12、22、32通信端口
13、23外部存储装置
33非易失性存储器
13A差分提取单元
13B、23A转发单元
13C旧数据
13D新数据
13E中间数据
13F处理状况表
13G备份必要性表
13H差分发布必要性表
13I差分数据
13J更新过程
13K写恢复源地址表
23B发布组件
3301引导块
3302通常固件块
3303更新用固件块
3304差分数据保存块
3305备份块
3301A引导加载程序
3301B启动设定
3302A通常基础软件
3302B通常应用软件
3303A更新用基础软件
3303B更新程序
3304A差分数据
3304B更新过程书
3304C写恢复源地址表
3304D更新状况

Claims (11)

1.一种将信息设备中的旧固件更新为新固件的固件更新系统,其特征在于,
所述固件更新系统具备:生成固件更新用数据的管理装置;以及取得所述固件更新用数据,将所述旧固件更新为所述新固件的信息设备,
所述管理装置根据所述旧固件以及所述新固件的数据生成差分数据,生成记载了用于在所述信息设备中根据所述旧固件以及所述差分数据生成所述新固件的更新处理的更新过程书,生成记载了用于在所述信息设备中的更新处理中断的情况下执行将更新处理途中的数据恢复为更新处理开始前的状态的处理、即写恢复处理的信息的写恢复参照信息,将所述差分数据、所述更新过程书以及所述写恢复参照信息生成为所述固件更新用数据,
所述信息设备根据在所述固件更新用数据中包含的所述差分数据、所述更新过程书以及所述写恢复参照信息,将所述旧固件更新为所述新固件。
2.根据权利要求1所述的固件更新系统,其特征在于,
所述管理装置将所述旧固件以及所述新固件分割为多个块,以块为单位进行处理来生成所述固件更新用数据。
3.根据权利要求2所述的固件更新系统,其特征在于,
所述管理装置提供表示用于对所述多个块进行更新处理的顺序的多个处理顺序,
针对各处理顺序,生成表示将所述旧固件改写为所述新固件的过程中的各块的状态的中间数据,使用所述新固件以及所述中间数据,以所述块为单位检查备份的必要性以及差分数据提取的必要性,
根据与所述备份的必要性以及所述差分数据提取的必要性相关的检查结果,在所述多个处理顺序中确定所述备份所需的容量和所述差分数据存储所需的容量的合计值达到最小的处理顺序,将该确定的处理顺序记载在所述更新过程书中。
4.根据权利要求3所述的固件更新系统,其特征在于,
所述管理装置在所述中间数据内比较处理对象块和除此以外的块,根据是否一致来检查所述备份的必要性,
比较所述新固件内的处理对象块和所述中间数据的全部块,根据是否一致来检查所述差分数据提取的必要性。
5.根据权利要求2所述的固件更新系统,其特征在于,
所述管理装置以如下方式记载所述写恢复参照信息:
以小于所述块的大小的单位指示执行所述写恢复处理时的数据的参照位置以及大小,从而能够从多个位置取得所述写恢复处理的数据。
6.根据权利要求2所述的固件更新系统,其特征在于,
所述管理装置以如下方式记载所述更新过程书的更新过程:
以小于所述块的大小的单位指示执行所述更新处理时的数据的参照位置以及大小,从而能够从多个位置取得所述更新处理的数据。
7.根据权利要求2至6中任意一项所述的固件更新系统,其特征在于,
所述信息设备与所述更新过程书的处理过程相对应地以所述块为单位管理包含表示备份已结束的信息以及表示更新处理已结束的信息的更新状况。
8.根据权利要求7所述的固件更新系统,其特征在于,
所述信息设备,在发生处理中断的情况下确认所述更新状况来确定在按照哪个处理过程进行处理时发生了中断,
所述信息设备,参照所述更新过程书,确定通过所述确定的处理过程正在处理途中的块,
所述信息设备,确认所述写恢复参照信息,针对所述确定的处理途中的块执行数据写恢复处理,使该块成为更新处理开始前的状态。
9.一种信息设备,其根据固件更新用数据将旧固件更新为新固件,其特征在于,
所述固件更新用数据包含:根据所述旧固件以及所述新固件的数据生成的差分数据;记载用于根据所述旧固件以及所述差分数据生成所述新固件的更新处理的更新过程书;记载了用于在所述更新处理中断的情况下执行将更新处理途中的数据恢复为更新处理开始前的状态的处理、即写恢复处理的信息的写恢复参照信息,
所述信息设备具备:
取得所述固件更新用数据的更新用数据取得部;以及
根据所述固件更新用数据中包含的所述差分数据、所述更新过程书以及所述写恢复参照信息,将所述旧固件更新为所述新固件的更新处理部,
所述更新处理部,以把所述旧固件以及所述新固件分割为多个而得到的块作为单位,与所述更新过程书的处理过程相对应地,以所述块为单位管理包含表示备份已结束的信息以及表示更新处理已结束的信息的更新状况。
10.根据权利要求9所述的信息设备,其特征在于,
所述信息设备,在发生处理中断的情况下确认所述更新状况来确定在按照哪个处理过程进行处理时发生了中断,
所述信息设备,参照所述更新过程书,确定通过所述确定的处理过程正在处理途中的块,
所述信息设备,确认所述写恢复参照信息,针对所述确定的处理途中的块执行数据写恢复处理,使该块成为更新处理开始前的状态。
11.一种程序,使计算机作为权利要求10所述的信息设备来工作。
CN201080002439.8A 2009-08-24 2010-08-18 固件更新系统、信息设备以及程序 Expired - Fee Related CN102132258B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2009193235A JP5346253B2 (ja) 2009-08-24 2009-08-24 ファームウェア更新システム、及び情報機器、並びにプログラム
JP2009-193235 2009-08-24
PCT/JP2010/063934 WO2011024688A1 (ja) 2009-08-24 2010-08-18 ファームウェア更新システム、及び情報機器、並びにプログラム

Publications (2)

Publication Number Publication Date
CN102132258A true CN102132258A (zh) 2011-07-20
CN102132258B CN102132258B (zh) 2014-05-14

Family

ID=43627794

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080002439.8A Expired - Fee Related CN102132258B (zh) 2009-08-24 2010-08-18 固件更新系统、信息设备以及程序

Country Status (5)

Country Link
US (1) US8726262B2 (zh)
EP (1) EP2362312B1 (zh)
JP (1) JP5346253B2 (zh)
CN (1) CN102132258B (zh)
WO (1) WO2011024688A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102693145A (zh) * 2012-05-31 2012-09-26 红石阳光(北京)科技有限公司 用于嵌入式系统的差分升级方法
CN105706099A (zh) * 2013-11-06 2016-06-22 三菱电机株式会社 软件更新装置及软件更新程序
CN109284123A (zh) * 2017-07-21 2019-01-29 深圳市中兴微电子技术有限公司 一种采用版本分割实现压缩版本升级的方法及系统
CN109324810A (zh) * 2017-07-26 2019-02-12 深圳市中兴微电子技术有限公司 物联网设备升级包的制作方法及系统
CN109804355A (zh) * 2016-10-14 2019-05-24 日立汽车系统株式会社 软件更新装置、软件更新方法、软件更新系统
CN110228064A (zh) * 2018-03-05 2019-09-13 日本电产株式会社 机器人控制装置、备份文件的保存方法以及记录介质
US20210124573A1 (en) * 2018-10-25 2021-04-29 Huawei Technologies Co., Ltd. Firmware upgrade method and apparatus, and terminal

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5342302B2 (ja) * 2009-03-30 2013-11-13 株式会社日立ソリューションズ ファームウェア更新システム、ファームウェア配信サーバ、及びプログラム
KR101341003B1 (ko) 2011-11-21 2013-12-12 웹싱크 주식회사 펌웨어 업데이트 방법 및 이를 위한 장치
WO2013094003A1 (ja) * 2011-12-19 2013-06-27 富士通株式会社 ソフトウェアのインストール順序を決定する方法、プログラム、及び装置
JP2013127748A (ja) * 2011-12-19 2013-06-27 Fujitsu Ltd 情報処理装置、データ記憶方法及びプログラム
CN104081376B (zh) * 2012-02-21 2018-02-02 慧与发展有限责任合伙企业 使用分布式文件系统协议远程维持系统固件映像
WO2013126058A1 (en) * 2012-02-23 2013-08-29 Hewlett-Packard Development Company, L.P. Firmware package to modify active firmware
JP5683518B2 (ja) * 2012-03-27 2015-03-11 三菱電機株式会社 ファームウェア更新装置およびその方法
CN103713964B (zh) * 2012-09-29 2017-06-27 联想(北京)有限公司 一种数据备份、恢复的方法和电子设备
JP2016509305A (ja) * 2013-01-31 2016-03-24 ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. ファームウェアインタフェース変数リポジトリに書き込まれるデータを示すためのコミットリストの更新
US11582101B2 (en) * 2013-03-29 2023-02-14 Hewlett Packard Enterprise Development Lp Update of programmable for computing nodes
TWI525542B (zh) * 2013-09-09 2016-03-11 Insyde Software Corp Uefi bios開機及更新之系統及方法、記錄媒體及電腦程式產品
EP3060980A4 (en) 2013-10-24 2017-06-28 Intel Corporation Techniques for pre-os image rewriting to provide cross-architecture support, security introspection, and performance optimization
US10289399B2 (en) 2014-01-22 2019-05-14 Hewlett-Packard Development Company, L.P. System firmware configuration data
IN2015CH02762A (zh) * 2015-06-01 2015-07-17 Wipro Ltd
WO2018054496A1 (en) 2016-09-23 2018-03-29 Huawei Technologies Co., Ltd. Binary image differential patching
US20190155598A1 (en) * 2017-11-17 2019-05-23 Apple Inc. Techniques for updating a file using a multi-version patch file
JP7013918B2 (ja) * 2018-02-16 2022-02-01 トヨタ自動車株式会社 車両制御装置、プログラム更新方法およびプログラム
JP7069826B2 (ja) * 2018-02-27 2022-05-18 株式会社リコー 情報処理装置、ファームウェア更新方法、プログラム
TWI676933B (zh) * 2018-07-05 2019-11-11 慧榮科技股份有限公司 韌體更新方法
KR20200089939A (ko) * 2019-01-18 2020-07-28 에스케이하이닉스 주식회사 메모리 시스템 및 그 동작 방법
CN114265613B (zh) * 2021-12-21 2022-06-28 红石阳光(北京)科技股份有限公司 一种整车所有电控单元固件差分升级方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1930551A (zh) * 2004-03-10 2007-03-14 索尼爱立信移动通讯股份有限公司 固件升级中的自动备份存储
CN101510161A (zh) * 2009-03-30 2009-08-19 北京中星微电子有限公司 一种引导程序的实现方法、装置和便携式电子设备
US7631174B2 (en) * 2005-03-16 2009-12-08 Fujitsu Limited Method of updating firmware in computer server systems

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11110218A (ja) 1997-10-03 1999-04-23 Hitachi Ltd ファームウェア書き換え装置
US7080371B1 (en) * 1998-03-03 2006-07-18 Siebel Systems, Inc. Method, system, apparatus and program product for distribution and instantiation of software upgrades
DE69938547T2 (de) * 1998-03-03 2009-06-18 Siebel Systems, Inc., San Mateo Verfahren, system, gerät und programm zur verteilung und einführung von software-upgrade
JP4128516B2 (ja) * 2002-11-18 2008-07-30 株式会社リコー 画像形成装置、プログラム更新方法
JP4302970B2 (ja) * 2002-12-16 2009-07-29 富士通株式会社 差分更新方法、プログラム及び装置
JP4311067B2 (ja) * 2003-04-02 2009-08-12 株式会社デンソー データ書換方法及び電子制御装置
US7587433B2 (en) * 2004-06-01 2009-09-08 Red Bend Ltd. Method and system for in-place updating content stored in a storage device
US7873669B2 (en) * 2004-07-09 2011-01-18 Microsoft Corporation Direct write back systems and methodologies
JP2008027331A (ja) * 2006-07-25 2008-02-07 Seiko Epson Corp ファームウェア書き換え方法
US20080172584A1 (en) * 2007-01-11 2008-07-17 Red Bend Ltd. Method and system for in-place updating content stored in a storage device
EP1956482B1 (en) * 2007-02-09 2011-08-17 Telefonaktiebolaget LM Ericsson Generating delta updates for a processing device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1930551A (zh) * 2004-03-10 2007-03-14 索尼爱立信移动通讯股份有限公司 固件升级中的自动备份存储
US7631174B2 (en) * 2005-03-16 2009-12-08 Fujitsu Limited Method of updating firmware in computer server systems
CN101510161A (zh) * 2009-03-30 2009-08-19 北京中星微电子有限公司 一种引导程序的实现方法、装置和便携式电子设备

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102693145A (zh) * 2012-05-31 2012-09-26 红石阳光(北京)科技有限公司 用于嵌入式系统的差分升级方法
CN105706099A (zh) * 2013-11-06 2016-06-22 三菱电机株式会社 软件更新装置及软件更新程序
CN105706099B (zh) * 2013-11-06 2018-11-30 三菱电机株式会社 软件更新装置
CN109804355A (zh) * 2016-10-14 2019-05-24 日立汽车系统株式会社 软件更新装置、软件更新方法、软件更新系统
CN109804355B (zh) * 2016-10-14 2022-12-16 日立安斯泰莫株式会社 软件更新装置、软件更新方法、软件更新系统
CN109284123A (zh) * 2017-07-21 2019-01-29 深圳市中兴微电子技术有限公司 一种采用版本分割实现压缩版本升级的方法及系统
CN109324810A (zh) * 2017-07-26 2019-02-12 深圳市中兴微电子技术有限公司 物联网设备升级包的制作方法及系统
CN110228064A (zh) * 2018-03-05 2019-09-13 日本电产株式会社 机器人控制装置、备份文件的保存方法以及记录介质
US20210124573A1 (en) * 2018-10-25 2021-04-29 Huawei Technologies Co., Ltd. Firmware upgrade method and apparatus, and terminal
US11531535B2 (en) * 2018-10-25 2022-12-20 Huawei Technologies Co., Ltd. Firmware upgrade method and apparatus, and terminal

Also Published As

Publication number Publication date
CN102132258B (zh) 2014-05-14
EP2362312A4 (en) 2014-04-23
US20110179406A1 (en) 2011-07-21
JP5346253B2 (ja) 2013-11-20
US8726262B2 (en) 2014-05-13
JP2011044087A (ja) 2011-03-03
WO2011024688A1 (ja) 2011-03-03
EP2362312B1 (en) 2015-09-23
EP2362312A1 (en) 2011-08-31

Similar Documents

Publication Publication Date Title
CN102132258B (zh) 固件更新系统、信息设备以及程序
CN103970585B (zh) 创建虚拟机的方法及装置
CN102667703B (zh) 用于虚拟磁带库系统中的优化回收处理的系统和方法
EP1769343B1 (en) Method and system for in-place updating content stored in a storage device
CN101346702B (zh) 具有可块擦除单元的存储器
CN102707990B (zh) 基于容器的处理方法和装置
CN102132260A (zh) 更新数据生成装置、信息设备以及程序
CN102779080B (zh) 生成快照的方法、利用快照进行数据恢复的方法及装置
EP2329366B1 (en) Performing a pre-update on a non volatile memory
CN101231604B (zh) 用于集群服务器数据的卷级恢复的设备、系统及方法
CN102508686A (zh) 一种系统安全升级的实现方法及其系统
CN105260270A (zh) 一种Flash存储空间的动态恢复方法及装置
CN107943414A (zh) 嵌入式Linux的文件系统分区及数据读写方法
CN100389406C (zh) 在嵌入系统的非易失存储器中进行数据操作的方法
CN107566169B (zh) 一种基于openwrt的固件升级方法及路由器
CN1677355B (zh) 文件同步更新的方法、系统及装置
EP2118746B1 (en) Method and system for in-place updating content stored in a storage device
CN104484240A (zh) 一种终端数据存储的方法及装置
US7222342B2 (en) Execution on a machine, the start of an auxiliary downloader when storage of new software memory fails during execution of a first downloader
CN103430178A (zh) 数据更新方法及装置和产品
CN112732318A (zh) 一种单片机固件升级方法
CN105814545B (zh) 电子设备
CN103176920A (zh) Nor flash掉电保护方法及装置
CN107562898A (zh) 一种基于kux操作系统创建回收站的方法
JPH04205038A (ja) ファイル内容変更方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: Tokyo, Japan, Japan

Applicant after: Hitachi Solutions, Ltd.

Address before: Tokyo, Japan, Japan

Applicant before: Hitachi Solutions Ltd.

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: HITACHI SYSTEMS + SERVICES, LTD. TO: HITACHI SOLUTIONS, LTD.

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: 20140514

Termination date: 20160818