固件更新系统、信息设备以及程序的制作方法

文档序号:6348058阅读:124来源:国知局
专利名称:固件更新系统、信息设备以及程序的制作方法
技术领域
本发明涉及固件更新系统、以及构成其一部分的信息设备,例如在整合设备领域 中改写在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表示更新状况的例子。
5
图10是用于说明信息设备中的更新处理(包含写恢复处理)的流程图。图11表示用于能够以比块单位小的单位进行操作的更新过程和写恢复地址表的 例子。
具体实施例方式本发明涉及,针对在整合设备领域中存储在NOR型闪速存储器等非易失性存储器 中的固件,实现当改写存在变更的差分数据时发生了更新中断时的恢复和非易失性存储器 容量的节约的双方的、差分提取/差分应用的方法以及装置。以下,参照

本发明的实施方式。但是应该注意,本实施方式只不过是用于 实现本发明的一例,不对本发明的技术范围进行限定。另外,在各图中对相同的结构赋予相 同的参照号码。<前提条件>本发明的实施方式以在整合设备中所使用的非易失性存储器中存在仅能以块为 单位进行删除的限制为前提来说明。因此,当对块进行改写时,执行在易失性的存储器内生 成改写后的块的数据后将其写入相应的块的动作。另外,在本实施方式中说明基于以下4种策略的固件的更新。艮口,第一策略备份区域最大为1块;第二策略备份区域在各块的改写结束时清除;第三策略差分数据保存到最后;第四策略当在对象数据的块改写过程中发生中断时,将相应的块写恢复后重新 开始更新。此外,第四策略是由于有时如图1那样,为了进行改写而需要改写对象块的一部 分数据。以后,将这种情况称为自身参照。图1是表示存在用于表示第四策略的必要性的 自身参照的情况的例子。<固件更新系统的结构>图2表示本发明的实施方式的固件更新系统的概要结构。实施方式的固件更新系 统具备管理装置1、发布装置2和至少一个信息设备3。管理装置1具备具有CPUllA以及存储器IlB的终端部11、通信端口 12、外部存储 装置13。外部存储装置13由非易失性存储器构成,具备差分提取单元13A、转发单元13B、 旧数据存储部13C、新数据存储部13D、作为用于始终保存更新过程中的非易失性存储器的 状态的数据(表示改写过程中的数据的情况、即固件的改写过程中的状态的数据)的中间 数据存储部13E、用于记录非易失性存储器的各块的数据为未处理(0)、处理中(-1)还是已 处理(1)的处理状况表13F、备份必要性表13G、表示是否是应该提取差分来发布的数据的 差分发布必要性表13H、差分数据存储部131、更新过程存储部13J、写恢复源地址表13K。发布装置2具备具有CPU21A以及存储器21B的终端部21、通信端口 22、外 部存储装置23。外部存储装置22由非易失性存储器构成,具备转发单元23A、发布组件 (package)23B0信息设备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以及更新程序(更新处理 ^)3303Bo在差分数据保存块3304中保存作为当前的固件和新固件的差分的差分数据 3304A;记录更新过程的更新过程3304B;当从更新的中断进行恢复时,在写恢复为改写中 的数据区域中的旧数据时利用的写恢复源地址表3304C ;用于记录表示到该更新过程中的 哪个部分结束的更新过程执行结束位置的更新状况3305D。<差分提取处理的全体概要>图3是用于说明管理装置1中的差分提取处理的全体的流程图。此外,例如在将 新固件输入到管理装置1时执行差分提取处理。另外,CPUllA经由差分提取单元13A(两 者协作)来执行该差分提取处理,但是以下以差分提取单元13A作为动作主体来进行说明。首先,差分提取单元13A决定下一改写块顺序(步骤201)。该改写块顺序表示应 该改写的块有多个时的改写的顺序。例如,假定非易失性存储器由3个块构成时,研究按照
1 — 2 — 3、2 — 3 — 1.....3 — 2—1的顺序进行的改写处理。因此,在步骤201中,在所
述多个改写顺序中决定在该循环中以哪个顺序进行研究。差分提取单元13A按照所决定的顺序,接着将处理对象的块前进一个,更新处理 状况表(步骤20 。例如在按照2 — 3 — 1的顺序进行处理的情况下,假定上次处理了块 2时,此次的处理对象被设为块3。接着,差分提取单元13A更新中间数据(步骤20;3)。在此,所谓中间数据,是用于 始终保存更新过程中的非易失性存储的状态的数据。即,在步骤203中,从新数据中取得相 应的块,复制到中间数据(例如参照图6)。另外,差分提取单元13A针对相应块数据进行备份的必要性调查(步骤204)。而 且,差分提取单元13A针对相应块数据进行差分发布的必要性调查(步骤20幻。使用图4 以及图5在后面分别叙述备份必要性调查以及差分发布必要性调查的处理的细节。接着,差分提取单元13A调查是否已对全部块进行了处理,在未全部处理的情况 下,使处理转移到步骤202,在已全部处理的情况下,使处理转移到步骤207 (步骤206)。另 外,差分提取单元13A调查是否已对全部改写块顺序进行了处理,在未全部处理的情况下, 使处理转移到步骤201,在已全部处理的情况下,使处理转移到步骤208(步骤207)。然后,差分提取单元13A决定备份区域和差分区域的容量的和最小的改写顺序 (步骤208)。例如,关于备份区域的容量,在备份必要性表的各记录中取最大值。关于差分区域的容量,取差分必要性表的各记录的和。将该最大值和各记录的和的合计值达到最小 的改写顺序决定为更新过程13J内的改写顺序,但是当合计值相同的顺序有多个时,选择 最初计算出的过程。最后,差分提取单元13A将差分数据131、更新过程13J以及写恢复地址表II组 件化(步骤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表示执行中间数据更新处理(步骤20 、备份必要性调查处理(步骤204以 及图4)、以及差分发布必要性调查处理(步骤205以及图幻的情况下的状态迁移例。图6A在步骤201中为块1、块2、块3的处理顺序的情况下,状态6A-1、6A_2、6A_3 分别表示关于块1的步骤205的处理后的状态、关于块2的步骤205的处理后的状态、关于 块3的步骤205的处理后的状态。另外,图6B在为块2、块1、块3的处理顺序的情况下,状 态6Β-1、6Β-2、6Β-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所示,将备份区域的地址设为mxipjtart,将固件区域(旧数据)的 第η块的地址设为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-I)和更新过程的各记录的结束用的日志区域(B-2)的方法。在图9B的情况下,备份用日志(B-I)在更新过程的各记录开始时清零,在备份结 束时记载1。因此,在备份用日志区域(B-I)中仅显示表示当前更新处理中的块备份完成的 “1”。并且,更新状况用日志(B-2)设置记录更新状况的块,最初从全部为0的状况开始,若 处理结束,则针对从上位字节计数的、与相应的处理过程号码一致的位置的字节,将“0”改 写为“1”。例如,当发生处理中断(例如电源断开(OFF))时,看图9可知为处理过程2的更 新过程中。然后,参照更新过程(图8)的相应行(处理过程2、,检查处理目的地(复制目 的地或追加目的地)来确认处理对象的块号码。在这种情况下,为Fdat_2_start,因此成为块2。因此,参照图7可知,写恢复源地址为(Fdat_l_start size)。〈更新处理的内容〉图10是用于说明在信息设备3中执行的、包含从中断开始的恢复处理的更新处理 的流程图。此外,CPU31A经由更新程序3303B(两者协作来构成更新处理部)执行该更新 处理。以下,以更新程序330 作为动作主体来进行说明。首先,更新程序33(X3B参照更新状况表(图9),调查更新状况是否全部为空(步 骤1101)。若更新状况表不为空,则处理前进到步骤1002,若该表为空,则处理前进到步骤 1004。此外,即使只有一个与更新状况相关的信息被包含在更新状况表中,也判断为更新状 况不为空。当判断为更新状况为空时(步骤1001,是),即并非更新被中断时,更新程序3303B 参照更新过程书(图8),确定处理对象块(步骤1004)。另外,更新程序330 参照写恢复源 地址表的该处理号码(处理对象块号码)的记录,若有必要备份则进行备份(步骤1005)。 例如,若写恢复源地址以mxip开始,则有必要备份的,若以Fdat开始,则数据存在于旧数据 中,因此没必要备份到备份区域。另外,在备份处理过程中发生中断的情况下,仅再次取得 备份,因此不进行写恢复处理。然后,更新程序330 按照更新过程执行处理对象块的处理(步骤1006)。而且, 更新程序330 确认是否是更新过程的最终行,若是最终行则使处理转移到步骤1004,若 不是最终行则结束处理。另一方面,当更新状况不为空时是发生了更新中断的情况,因此更新程序33(Χ3Β 参照更新状况和写恢复源地址表的该处理号码的记录,若有必要写恢复则进行写恢复(步 骤1002)。在此,所谓“有必要写恢复的情况”,表示在备份结束后按照更新过程书在更新处 理中发生了中断的情况。在备份处理中发生了中断时,仅再次进行备份,因此不相当于“有 必要写恢复的情况”。例如,假定在图9的更新状况的情况下发生中断时,由于在执行处理 过程2时发生了中断,因此参照更新过程书(图8)的处理过程2。当查看处理过程2的处 理(复制)目的地时,判明处理对象块为块2。并且,当参照写恢复源地址表(图7)时是 Fdat_start,因此执行从旧数据的块1的开头以size的量写恢复该处理对象的块2的数据 的处理。 当步骤1002结束时,更新程序330 参照更新过程书(图8),确定处理对象块(步 骤100 。此后,处理转移到步骤1005。在从通常固件块3302启动时,可以安装更新用固件块3303,并执行更新程序 3303B。在这种情况下,在发生中断的情况下,也可以从更新用固件块3303启动,重新开始更新。<变形例>(1)在上述实施方式中以块单位作为处理单位,但是,通过用逗号划分更新过程和 写恢复源地址表的各记录,排列多个数据,能够以比块单位小的单位进行操作。图11表示用于能够以比块单位小的单位进行操作的更新过程和写恢复地址表的 例子。图IlA表示在写恢复处理时从备份区域的开头取得块大小的一半的数据,从块1 的后一半数据取得剩余的一半数据。由此,即使一个块的数据被分割并保存在多个位置,在更新中断时也可以恢复。另外,图IlB表示在更新处理时执行从差分块的开头取得块大小的一半的数据, 然后从块2的开头插入,并将块1的前半部分的数据复制到块2的后半部分的处理。由此, 可以根据多个位置的数据改写一个块的数据,因此,可以抑制差分数据的大小。(2)在图10中记载了在步骤1002中从中断起的重新开始、以及写恢复,但是也可 以在RAM上复原。(3)关于第一策略,表示了备份容量最大为1块的情况,但是也可以将其设为1块 以上。另外,关于第二策略,用于从中断点起恢复为原数据的数据,可以在备份区域中一 直保管到更新完成为止。此时,必要的数据以外的数据可以删除。 关于第三策略,差分数据可以在不需要的时刻删除。而且,关于第四策略,可以仅在有自身参照的情况下执行写恢复处理。〈总结〉在本实施方式中,管理装置根据旧数据和新数据生成差分数据,生成记载用于在 信息设备中根据旧固件以及差分数据生成新固件的更新处理的更新过程书,生成记载了用 于在信息设备中的更新处理中断的情况下执行将更新处理过程中的数据恢复为更新处理 开始前的状态的处理(写恢复处理)的信息的写恢复参照信息(写恢复源地址表)。并且, 信息设备按照该固件更新用数据执行更新处理。由此,即使在信息设备中更新处理中断的 情况下,也可以顺利地执行从中断开始的恢复,通过写恢复处理,可以从发生中断的地方起 重新开始更新处理。另外,管理装置准备多种表示用于对多个块(相当于非易失性存储器的分割块) 进行更新处理的顺序的处理顺序,针对各处理顺序,生成表示从旧固件改写为新固件过程 中的各块的状态的中间数据。并且,管理装置使用新固件以及所述中间数据,以块为单位检 查备份的必要性以及差分数据提取的必要性。另外,管理装置根据与备份的必要性以及差 分数据提取的必要性相关的检查结果,在多个处理顺序中确定备份所需的容量和差分数据 存储所需的容量的合计值达到最小的处理顺序。将该确定的处理顺序记载在更新过程书 中。更具体来说,管理装置在中间数据内将处理对象块与除此之外的块进行比较,根据是否 一致来检查所述备份的必要性,将新固件内的处理对象块与中间数据的全部块进行比较, 根据是否一致来检查差分数据提取的必要性。这样,当引入中间数据这种概念时,可以检查 备份的必要性以及差分数据提取的必要性。并且,通过确定这些必要性较小的处理顺序,可 以减小在执行从更新中断起的恢复处理时所需要的存储器区域。因此,可以降低信息设备 的成本。此外,管理装置可以以如下方式记载写恢复参照信息以小于块大小的单位指示 执行写恢复处理时的数据的参照位置以及大小,可以从多个位置取得所述写恢复处理的数 据。另外,管理装置可以以如下方式记载更新过程书的更新过程以小于块大小的单位指示 执行更新处理时的数据的参照位置以及大小,可以从多个位置取得更新处理的数据。由此, 可以根据保存在多个位置的数据来改写一个块的数据,可以进一步抑制差分数据的大小。另一方面,信息设备与更新过程书的处理过程相对应地,以块为单位管理包含表 示备份已结束的信息以及表示更新处理已结束的信息的更新状况。通过这样管理更新状况,在发生中断的情况下可以容易地掌握到哪个块为止执行怎样的处理,或者从哪个块开 始恢复即可,可以顺利地转移到恢复处理。另外,信息设备在发生了处理中断的情况下确认更新状况,确定按照哪个处理过 程进行处理时发生了中断,参照更新过程书,确定通过所确定的处理过程正在处理途中的 块,确认写恢复参照信息,针对所确定的处理途中的块执行数据写恢复处理,使该块成为更 新处理开始前的状态。由此,可以容易地确定应该进行写恢复处理的块,可以容易地判断从 哪个区域开始执行针对该处理对象块的写恢复处理即可。另外,并非使固件全体、仅使必要 的块成为更新处理开始前的状态即可。并且,可以在节约备份数据或差分数据保存中所使 用的非易失性存储器容量的同时,实现更新中断时的恢复。此外,本发明也可以通过实现实施方式的功能的软件的程序代码来实现。在这种 情况下,向系统或装置提供记录了程序代码的存储介质,该系统或装置的计算机(或CPU或 MPU)读出在存储介质中存储的程序代码。在这种情况下,从存储介质读出的程序代码本身 实现所述的实施方式的功能,该程序代码本身以及存储了该程序代码的存储介质构成本发 明。作为用于供给这样的程序代码的存储介质,例如使用软盘、⑶-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差分提取单元
i;3B、23A转发单元
13C旧数据
13D新数据
13E中间数据
13F处理状况表
13G备份必要性表
13H差分发布必要性表
131差分数据
13J更新过程
13K写恢复源地址表
23B发布组件
3301引导块
3302通常固件块
3303更新用固件块
3304差分数据保存块
3305备份块
3301A引导加载程序
330IB启动设定
3302A通常基础软件
3302B通常应用软件
3303A更新用基础软件
3303B更新程序
3304A差分数据
3304B更新过程书
3304C写恢复源地址表
3304D更新状况
权利要求
1.一种将信息设备中的旧固件更新为新固件的固件更新系统,其特征在于,所述固件更新系统具备生成固件更新用数据的管理装置;以及取得所述固件更新用 数据,将所述旧固件更新为所述新固件的信息设备,所述管理装置根据所述旧固件以及所述新固件的数据生成差分数据,生成记载了用于 在所述信息设备中根据所述旧固件以及所述差分数据生成所述新固件的更新处理的更新 过程书,生成记载了用于在所述信息设备中的更新处理中断的情况下执行将更新处理途中 的数据恢复为更新处理开始前的状态的处理、即写恢复处理的信息的写恢复参照信息,将 所述差分数据、所述更新过程书以及所述写恢复参照信息生成为所述固件更新用数据,所述信息设备根据在所述固件更新用数据中包含的所述差分数据、所述更新过程书以 及所述写恢复参照信息,将所述旧固件更新为所述新固件。
2.根据权利要求1所述的固件更新系统,其特征在于,所述管理装置将所述旧固件以及所述新固件分割为多个块,以块为单位进行处理来生 成所述固件更新用数据。
3.根据权利要求2所述的固件更新系统,其特征在于,所述管理装置提供表示用于对所述多个块进行更新处理的顺序的多个处理顺序,针对各处理顺序,生成表示将所述旧固件改写为所述新固件的过程中的各块的状态的 中间数据,使用所述新固件以及所述中间数据,以所述块为单位检查备份的必要性以及差 分数据提取的必要性,根据与所述备份的必要性以及所述差分数据提取的必要性相关的检查结果,在所述多 个处理顺序中确定所述备份所需的容量和所述差分数据存储所需的容量的合计值达到最 小的处理顺序,将该确定的处理顺序记载在所述更新过程书中。
4.根据权利要求3所述的固件更新系统,其特征在于,所述管理装置在所述中间数据内比较处理对象块和除此以外的块,根据是否一致来检 查所述备份的必要性,比较所述新固件内的处理对象块和所述中间数据的全部块,根据是否一致来检查所述 差分数据提取的必要性。
5.根据权利要求2所述的固件更新系统,其特征在于,所述管理装置以如下方式记载所述写恢复参照信息以小于所述块的大小的单位指示执行所述写恢复处理时的数据的参照位置以及大小, 从而能够从多个位置取得所述写恢复处理的数据。
6.根据权利要求2所述的固件更新系统,其特征在于,所述管理装置以如下方式记载所述更新过程书的更新过程以小于所述块的大小的单位指示执行所述更新处理时的数据的参照位置以及大小,从 而能够从多个位置取得所述更新处理的数据。
7.根据权利要求2至6中任意一项所述的固件更新系统,其特征在于,所述信息设备与所述更新过程书的处理过程相对应地以所述块为单位管理包含表示 备份已结束的信息以及表示更新处理已结束的信息的更新状况。
8.根据权利要求7所述的固件更新系统,其特征在于,所述信息设备,在发生处理中断的情况下确认所述更新状况来确定在按照哪个处理过程进行处理时发生了中断,所述信息设备,参照所述更新过程书,确定通过所述确定的处理过程正在处理途中的块,所述信息设备,确认所述写恢复参照信息,针对所述确定的处理途中的块执行数据写 恢复处理,使该块成为更新处理开始前的状态。
9.一种信息设备,其根据固件更新用数据将旧固件更新为新固件,其特征在于,所述固件更新用数据包含根据所述旧固件以及所述新固件的数据生成的差分数据; 记载用于根据所述旧固件以及所述差分数据生成所述新固件的更新处理的更新过程书;记 载了用于在所述更新处理中断的情况下执行将更新处理途中的数据恢复为更新处理开始 前的状态的处理、即写恢复处理的信息的写恢复参照信息, 所述信息设备具备取得所述固件更新用数据的更新用数据取得部;以及根据所述固件更新用数据中包含的所述差分数据、所述更新过程书以及所述写恢复参 照信息,将所述旧固件更新为所述新固件的更新处理部,所述更新处理部,以把所述旧固件以及所述新固件分割为多个而得到的块作为单位, 与所述更新过程书的处理过程相对应地,以所述块为单位管理包含表示备份已结束的信息 以及表示更新处理已结束的信息的更新状况。
10.根据权利要求9所述的信息设备,其特征在于,所述信息设备,在发生处理中断的情况下确认所述更新状况来确定在按照哪个处理过 程进行处理时发生了中断,所述信息设备,参照所述更新过程书,确定通过所述确定的处理过程正在处理途中的块,所述信息设备,确认所述写恢复参照信息,针对所述确定的处理途中的块执行数据写 恢复处理,使该块成为更新处理开始前的状态。
11.一种程序,使计算机作为权利要求10所述的信息设备来工作。
全文摘要
本发明提供可以同时实现更新中断时的恢复、和备份以及差分数据保存中所使用的非易失性存储器容量的节约的固件更新处理。为此,除了新旧固件以外,具备始终保存改写过程中的固件的状态的中间数据,针对以任意顺序更新构成固件的全部块的情况,将所述中间数据与新固件的该块逐次比较,进行用于更新中断时的恢复的数据的地址及其所需要的备份容量的计算、应该发布的差分数据的提取及其容量的计算、和更新过程的生成,导出备份容量和差分数据容量的合计为最小的处理顺序。
文档编号G06F11/00GK102132258SQ201080002439
公开日2011年7月20日 申请日期2010年8月18日 优先权日2009年8月24日
发明者大浜伸之 申请人:日立系统解决方案有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1