信息处理装置、信息处理方法以及计算机程序的制作方法
【专利摘要】本发明能够尽早开始系统的启动处理,并且,能够在对启动程序检测出错误的情况下,利用高可靠性的程序进行重启。信息处理装置(1)具有:非易失性存储器,其包含存储有用于启动系统的程序的程序区域、和分别存储有多个备份程序的多个备份区域;处理执行部(11),其执行程序以进行系统的启动处理;错误检测部(12),其与启动处理并行地对程序进行错误检测;以及重启部(13),其在检测出错误的情况下进行用备份程序改写程序的恢复处理,利用改写后的程序进行系统的重启。重启部在进行恢复处理时参照表示程序的改写历史的历史信息,选择用于改写的备份程序,用选择出的备份程序改写程序。
【专利说明】信息处理装置、信息处理方法以及计算机程序
【技术领域】
[0001]本发明涉及信息处理装置、信息处理方法以及计算机程序。
【背景技术】
[0002]近年来,作为非易失性存储器的NAND型闪存广泛普及。NAND型闪存与NOR型闪存相比,具有大容量化且比特单价便宜的优点。另一方面,在反复读出存储数据时导致电荷泄露,从而有可能产生比特错误,数据可靠性存在缺点。因此,当在NAND型闪存中存储有用于启动系统的程序的情况下,存在由于比特错误而不能启动系统的情况或在启动后系统挂起的情况。
[0003]对此,在专利文献I中记载有如下控制装置,该控制装置从系统用非易失性存储器读出第I引导程序,对该第I引导程序进行错误检测,在判定为读出的第I引导程序已不正常地变化时,从备份用非易失性存储器读出第2引导程序,对该第2引导程序进行错误检测,在判定为读出的第2引导程序已不正常地变化时输出错误。在该控制装置中,在针对引导程序的错误检测的结果是判定为引导程序没有不正常地变化时,使用该引导程序进行引导处理。
[0004]现有技术文献
[0005]专利文献
[0006]专利文献1:日本特开2010 - 26650号公报
【发明内容】
[0007]发明要解决的问题
[0008]在专利文献I记载的控制装置中,对从系统用非易失性存储器读出的引导程序进行错误检测,在错误检测的结果是判定为引导程序没有不正常地变化时,开始使用引导程序的引导处理。因此,存在引导处理的开始延迟的问题。
[0009]本发明的目的在于,提供一种信息处理装置、信息处理方法以及计算机程序,能够尽早开始系统的启动处理,并且,能够在对启动用程序检测出错误的情况下,利用高可靠性的程序进行重启。
[0010]用于解决问题的手段
[0011]本发明的信息处理装置的特征在于,该信息处理装置具有:
[0012]非易失性存储器,其包含存储有用于启动系统的程序的程序区域、和分别存储有内容与所述程序相同的多个备份程序的多个备份区域;
[0013]处理执行单元,其执行存储在所述程序区域中的程序,进行所述系统的启动处理;
[0014]错误检测单元,其与所述处理执行单元的启动处理并行地对存储在所述程序区域中的程序进行错误检测;以及
[0015]重启单元,其在由所述错误检测单元对所述程序检测出错误的情况下,进行用存储在所述备份区域中的备份程序改写存储在所述程序区域中的程序的恢复处理,利用存储在所述程序区域中的所述改写后的程序进行所述系统的重启,
[0016]所述重启单元在进行所述恢复处理时参照表示用所述备份程序改写所述程序的历史的历史信息,根据所述历史信息从所述多个备份程序中选择用于所述改写的备份程序,用所述选择出的备份程序改写所述程序。
[0017]另外,本发明的信息处理方法的特征在于,该信息处理方法包含:
[0018]处理执行步骤,执行存储在非易失性存储器的程序区域中的程序,进行系统的启动处理,该非易失性存储器包含存储有用于启动所述系统的程序的所述程序区域、和分别存储有内容与所述程序相同的多个备份程序的多个备份区域;
[0019]错误检测步骤,与所述处理执行步骤的启动处理并行地对存储在所述程序区域中的程序进行错误检测;以及
[0020]重启步骤,在所述错误检测步骤中对所述程序检测出错误的情况下,进行用存储在所述备份区域中的备份程序改写存储在所述程序区域中的程序的恢复处理,利用存储在所述程序区域中的所述改写后的程序进行所述系统的重启,
[0021]在所述重启步骤中,在进行所述恢复处理时参照表示用所述备份程序改写所述程序的历史的历史信息,根据所述历史信息从所述多个备份程序中选择用于所述改写的备份程序,用所述选择出的备份程序改写所述程序。
[0022]另外,本发明的计算机程序的特征在于,该计算机程序使计算机执行以下步骤:
[0023]处理执行步骤,执行存储在非易失性存储器的程序区域中的程序,进行系统的启动处理,该非易失性存储器包含存储有用于启动所述系统的程序的所述程序区域、和分别存储有内容与所述程序相同的多个备份程序的多个备份区域;
[0024]错误检测步骤,与所述处理执行步骤的启动处理并行地对存储在所述程序区域中的程序进行错误检测;以及
[0025]重启步骤,在所述错误检测步骤中对所述程序检测出错误的情况下,进行用存储在所述备份区域中的备份程序改写存储在所述程序区域中的程序的恢复处理,利用存储在所述程序区域中的所述改写后的程序进行所述系统的重启,
[0026]在所述重启步骤中,在进行所述恢复处理时参照表示用所述备份程序改写所述程序的历史的历史信息,根据所述历史信息从所述多个备份程序中选择用于所述改写的备份程序,用所述选择出的备份程序改写所述程序。
[0027]发明效果
[0028]根据本发明,能够尽早开始系统的启动处理,并且,能够在对启动用程序检测出错误的情况下,利用高可靠性的程序进行重启。
【专利附图】
【附图说明】
[0029]图1是概略地表示实施方式的信息处理装置的结构的框图。
[0030]图2是表示非易失性存储器的存储格式的概略图。
[0031]图3是表示实施方式的信息处理装置的功能结构的框图。
[0032]图4是表示实施方式的信息处理装置的动作的流程图。
[0033]图5是表不重启处理的流程图。[0034]图6是表示启动历史信息的格式的概略图。
[0035]图7是表示程序(或者文件)改写处理的流程图。
[0036]图8是表不改写标志信息的格式的概略图。
[0037]图9是表不备份确认处理的流程图。
[0038]图10是表示在错误检测后进行启动处理的结构中的处理时间的概略图。
[0039]图11是表示实施方式的结构的处理时间的概略图。
[0040]图12是表示用不同的处理装置并行执行启动处理和错误检测处理的结构中的处理时间的概略图。
【具体实施方式】
[0041 ] 下面,按照【专利附图】
【附图说明】本发明的实施方式。
[0042][信息处理装置的结构]
[0043]图1是概略地表示本实施方式的信息处理装置I的结构的框图。在图1中,信息处理装置I具有非易失性存储器2、工作存储器3、中央处理装置(CPU =Central ProcessingUnit) 4、通信部5以及外部接口(外部IF) 6。
[0044]非易失性存储器2是存储各种程序和数据的能够读写的存储器,例如是NAND型闪存。非易失性存储器2包含存储有用于启动系统的程序(以下称作“启动程序”)的程序区域、和存储有与所述启动程序相同内容的备份程序(也称作复制程序)的备份区域。所述系统具体地讲是计算机系统,更具体地讲是信息处理装置I的(以CPU4为中心的)计算机系统。在本例中,非易失性存储器2还包含存储有用于启动应用的应用构成文件的文件区域、和存储有与所述应用构成文件相同内容的备份文件(也称作复制文件)的备份文件区域。并且,备份区域和备份文件区域分别设有多个。另外,在非易失性存储器2中存储有错误检测用数据,以便对于启动程序、备份程序、应用构成文件和备份文件分别检测该程序或者文件的错误。
[0045]工作存储器3是作为CPU4的作业区域使用的存储器,存储从非易失性存储器2读出的程序和数据。
[0046]CPU4执行存储在非易失性存储器2中的启动程序等程序。具体地讲,CPU4将按照每个块而存储在非易失性存储器2中的程序和数据中所需要的块读出(或者复制)到工作存储器3中并访问工作存储器3,执行被读出到工作存储器3的程序中记述的处理。
[0047]在CPU4通过外部接口 6同与信息处理装置I连接的外部设备(外部连接设备)进行通信时,通信部5按照与外部连接设备之间的通信协议对发送接收数据进行数据变换。
[0048]外部接口 6是用于连接信息处理装置I和外部连接设备的接口,例如是USB接口。
[0049]图2是表示非易失性存储器2的存储格式的概略图。在图2的示例中,在非易失性存储器2中存储有作为启动程序的引导程序100和内核程序106,引导程序100用于在信息处理装置I的系统重设后进行引导处理,内核程序16用于启动操作系统(OS OperatingSystem)。并且,在非易失性存储器2中存储有作为应用构成文件的、为了启动在内核中进行动作的应用所需要的应用构成文件Al 12和应用构成文件BI 14。
[0050]另外,在非易失性存储器2中存储有作为备份程序的内容与引导程序100相同的引导程序第I备份102和引导程序第2备份104、以及内容与内核程序106相同的内核程序第I备份108和内核程序第2备份110。并且,在非易失性存储器2中存储有作为备份文件的内容与应用构成文件Al 12相同的应用构成文件A第I备份116和应用构成文件A第2备份120、以及内容与应用构成文件B114相同的应用构成文件B第I备份118和应用构成文件B第2备份122。
[0051 ] 另外,对存储在非易失性存储器2中的上述引导程序100、引导程序第I备份102、引导程序第2备份104、内核程序106、内核程序第I备份108、内核程序第2备份110、应用构成文件A112、应用构成文件B114、应用构成文件A第I备份116、应用构成文件B第I备份118、应用构成文件A第2备份120以及应用构成文件B第2备份122,分别附加校验和值 101、103、105、107、109、111、113、115、117、119、121、123,作为对应的错误检测用数据。
[0052]如图2所示,引导程序100及其校验和值101被存储在同一个块BI中,引导程序第I备份102及其校验和值103被存储在同一个块B2中,引导程序第2备份104及其校验和值105被存储在同一个块B3中。其中,块BI是程序区域(也称作纯正块),块B2、B3是备份区域(也称作复制块)。同样,内核程序106及其校验和值107被存储在同一个块B4中,内核程序第I备份108及其校验和值109被存储在同一个块B5中,内核程序第2备份110及其校验和值111被存储在同一个块B6中。块B4是程序区域(也称作纯正块),块B5、B6是备份区域(也称作复制块)。对于应用构成文件,应用构成文件A112及其校验和值113和应用构成文件B114及其校验和值115被存储在同一个块B7中。并且,应用构成文件A第I备份116及其校验和值117和应用构成文件B第I备份118及其校验和值119被存储在同一个块B8中。另外,应用构成文件A第2备份120及其校验和值121和应用构成文件B第2备份122及其校验和值123被存储在同一个块B9中。块B7是文件区域(也称作纯正块),块B8、B9是备份文件区域(也称作复制块)。
[0053]此外,在非易失性存储器2中存储有在后述的程序改写处理和文件改写处理时使用的改写标志信息124、记录系统启动的历史信息的启动历史信息126。另外,也可以在非易失性存储器2中存储表示备份程序的改写顺序的改写顺序信息128。
[0054]另外,图2所示的非易失性存储器2的存储格式只是一个例子,不限于此。
[0055]在此,引导程序100以如下方式被编程:使CPU4将存储在非易失性存储器2中的引导程序100自身及其校验和值101传输给工作存储器3,使其执行信息处理装置I的初始化处理,在初始化处理后使读出对象跳入到内核程序106。这样,在引导程序100中记述有作为启动处理的引导处理。并且,引导程序100还以如下方式被编程:使CPU4与上述引导处理并行地执行错误检测处理,在错误检测处理中对传输给工作存储器3的引导程序100进行校验和运算,对运算结果与校验和值101进行比较,确认引导程序100有无错误(或者正当性)。即,在引导程序100中记述有错误检测处理,还记述有用于并行执行启动处理和错误检测处理的并行控制。
[0056]内核程序106以如下方式被编程:使CPU4将存储在非易失性存储器2中的内核程序106自身及其校验和值107传输给工作存储器3,使其执行进行包含通信部5在内的周边设备的有效化等系统设定的系统控制处理。这样,在内核程序106中记述有用于启动OS的启动处理。并且,内核程序106还以如下方式被编程:使CPU4与上述系统控制处理并行地执行错误检测处理,在错误检测处理中对传输给工作存储器3的内核程序106进行校验和运算,对运算结果与工作存储器3中的校验和值107进行比较,确认内核程序106有无错误(或者正当性)。即,在内核程序106中记述有错误检测处理,还记述有用于并行执行启动处理和错误检测处理的并行控制。
[0057]应用构成文件A112是在内核程序106启动后执行的,以如下方式被编程:使CPU4将存储在非易失性存储器2中的应用构成文件A112自身及其校验和值113传输给工作存储器3,使其执行用于启动应用的规定处理。即,在应用构成文件A112中记述有用于启动应用的启动处理。并且,应用构成文件A112还以如下方式被编程:使CPU4与上述处理并行地执行错误检测处理,在错误检测处理中对传输给工作存储器3的应用构成文件A112进行校验和运算,对运算结果与工作存储器3中的校验和值113进行比较,确认应用构成文件A112有无错误(或者正当性)。即,在应用构成文件A112中记述有错误检测处理,还记述有用于并行执行启动处理和错误检测处理的并行控制。
[0058]应用构成文件BI 14与上述应用构成文件Al 12相同,在应用构成文件BI 14中也记述有启动处理、错误检测处理以及并行控制。
[0059]另外,在引导程序100、内核程序106、应用构成文件A112以及应用构成文件B114中分别记述有重启处理和改写控制。
[0060]图3是表示本实施方式的信息处理装置I的功能结构的框图。在图3中,信息处理装置I具有并行处理部10、处理执行部11、错误检测部12、重启部13以及改写控制部14。
[0061]具体地讲,并行处理部10、处理执行部11、错误检测部12、重启部13以及改写控制部14分别通过由CPU4执行在引导程序100、内核程序106、应用构成文件A112以及应用构成文件B114中记述的并行控制、启动处理、错误检测处理、重启处理以及改写控制而实现。
[0062]并行处理部10进行以时分方式并行处理包含启动处理和错误检测处理在内的多个处理的控制。具体地讲,为了并行进行CPU4内的处理,并行处理部10以如下方式控制CPU4的处理:将CPU4的处理时间分割成较短的单位,将分割而成的单位时间顺序地分配给各处理,由此并行进行多个处理。
[0063]处理执行部11执行存储在非易失性存储器2的程序区域中的启动程序,进行用于启动系统的启动处理。具体地讲,处理执行部11执行在系统重设后调用的引导程序100中记述的启动处理,执行在被引导程序100调用的内核程序106中记述的启动处理,执行在应用构成文件A112和应用构成文件B114中记述的启动处理,执行直到启动应用为止的处理。另外,处理执行部11也可以执行应用中的运算处理等。
[0064]错误检测部12与处理执行部11的启动处理并行地,对存储在程序区域中的启动程序和应用构成文件进行错误检测,确认启动程序和应用构成文件的正当性。具体地讲,错误检测部12对于引导程序100、内核程序106、应用构成文件A112以及应用构成文件B114,使用各自的错误检测用数据进行错误检测。更具体地讲,错误检测部12对存储在非易失性存储器2中的引导程序100、内核程序106、应用构成文件A112以及应用构成文件B114进行校验和值的计算,将计算出的校验和值与预先存储在非易失性存储器2中的对应的校验和值进行比较,检测启动程序和文件是否已不正常地变化,将检测结果通知给重启部13。
[0065]在由错误检测部12对启动程序(引导程序100或者内核程序106)检测出错误的情况下,为了避免系统不启动或冻结,重启部13使用存储在备份区域中的备份程序(引导程序第I备份102、引导程序第2备份104、内核程序第I备份108或者内核程序第2备份110)进行系统的重启。在本例中,在由错误检测部12对启动程序检测出错误的情况下,重启部13进行用存储在备份区域中的备份程序改写存储在程序区域中的启动程序的恢复处理,利用该改写后的启动程序进行系统的重启。并且,重启部13在进行恢复处理时,参照表示用备份程序改写启动程序的历史的历史信息(或者关于过去用备份程序改写启动程序的历史的历史信息),根据该历史信息从多个备份程序中选择用于改写的备份程序,用上述选择出的备份程序改写存储在程序区域中的启动程序。所述历史信息包含在非易失性存储器2内的启动历史信息126中。重启部13还可以参照表示备份程序的改写顺序的改写顺序信息,根据改写顺序信息和历史信息从多个备份程序中选择用于改写的备份程序,用上述选择出的备份程序改写存储在程序区域中的启动程序。所述改写顺序信息是表示在改写时使用多个备份程序的顺序的信息,包含在非易失性存储器2内的改写顺序信息128中。重启部13在进行恢复处理时,根据历史信息选择在该恢复处理中用于改写的备份程序,以便按照改写顺序信息所示的顺序来使用备份程序。在一个方式中,在进行恢复处理的情况下,重启部13根据历史信息(或者历史信息和改写顺序信息),选择存储在多个备份区域中的多个备份程序中尚未被用于改写的备份程序,用上述选择出的备份程序改写存储在程序区域中的启动程序。另一方面,在由错误检测部12对启动程序检测出错误的情况下,在多个备份区域中不存在尚未被用于改写的备份程序时,重启部13使改写控制部14执行后述的程序改写处理。
[0066]另外,在由错误检测部12对应用构成文件(应用构成文件A112或者B114)检测出错误的情况下,重启部13使用存储在备份文件区域中的备份文件(应用构成文件A第I备份116、应用构成文件A第2备份120、构成文件B第I备份118或者应用构成文件B第2备份122)进行应用的重启。在本例中,在由错误检测部12对应用构成文件检测出错误的情况下,重启部13进行将存储在文件区域中的应用构成文件改写成存储在备份文件区域中的备份文件的恢复处理,利用该改写后的应用构成文件进行应用的重启。另外,重启部13在进行恢复处理时,参照表示用备份文件改写应用构成文件的历史的历史信息(或者关于过去用备份文件改写应用构成文件的历史的历史信息),根据该历史信息从多个备份文件中选择用于改写的备份文件,用上述选择出的备份文件改写存储在文件区域中的应用构成文件。所述历史信息包含在非易失性存储器2内的启动历史信息126中。重启部13还可以参照表示备份文件的改写顺序的改写顺序信息,根据改写顺序信息和历史信息从多个备份文件中选择用于改写的备份文件,用上述选择出的备份文件改写存储在文件区域中的应用构成文件。所述改写顺序信息是表示在改写时使用多个备份文件的顺序的信息,包含在非易失性存储器2内的改写顺序信息128中。重启部13在进行恢复处理时,根据历史信息选择在该恢复处理中用于改写的备份文件,以便按照改写顺序信息所示的顺序来使用备份文件。在一个方式中,在进行恢复处理的情况下,重启部13根据历史信息(或者历史信息和改写顺序信息),选择存储在多个备份文件区域中的多个备份文件中尚未被用于改写的备份文件,用上述选择出的备份文件改写存储在文件区域中的应用构成文件。另一方面,在由错误检测部12对应用构成文件检测出错误的情况下,在多个备份文件区域中不存在尚未被用于改写的备份文件时,重启部13使改写控制部14执行后述的文件改写处理。
[0067]另外,重启部13在恢复处理中用备份程序改写启动程序的情况下,例如将存储在备份区域中的备份程序作为新的启动程序复制到程序区域中。此外,例如重启部13用存储在备份区域中的备份程序覆盖存储在程序区域中的启动程序。这同样适用于用备份文件改写应用构成文件的情况。
[0068]改写控制部14进行从外部取得新的启动程序,并用该新的启动程序改写启动程序的程序改写处理。在对启动程序(引导程序100或者内核程序106)检测出错误的情况下,当在多个备份区域中不存在尚未被用于改写的备份程序时,执行该程序改写处理。另夕卜,在更新(Update)启动程序(引导程序100或者内核程序106)的情况下也执行程序改写处理。在本例中,在程序改写处理中,改写控制部14从信息处理装置I的外部取得改写用的新的启动程序,用上述新的启动程序改写存储在多个备份区域中的多个备份程序中规定的备份程序,用上述改写后的规定的备份程序改写存储在程序区域中的启动程序。并且,改写控制部14在执行该改写后的启动程序时,在没有异常的情况下,用改写后的规定的备份程序或者改写后的启动程序改写多个备份程序中上述规定的备份程序以外的全部备份程序,在有异常的情况下,用规定的备份程序以外的备份程序改写存储在程序区域中的启动程序。
[0069]另外,改写控制部14进行从外部取得新的应用构成文件,并用该新的应用构成文件改写应用构成文件的文件改写处理。在对应用构成文件(应用构成文件A112或者B114)检测出错误的情况下,当在多个备份文件区域中不存在尚未被用于改写的备份文件时,执行该文件改写处理。另外,在更新(Update)应用构成文件(应用构成文件A112或者B114)的情况下也执行文件改写处理。在本例中,在文件改写处理中,改写控制部14从信息处理装置I的外部取得改写用的新的应用构成文件,用上述新的应用构成文件改写存储在多个备份文件区域中的多个备份文件中规定的备份文件,用上述改写后的规定的备份文件改写存储在文件区域中的应用构成文件。并且,改写控制部14在执行该改写后的应用构成文件时,在没有异常的情况下,用改写后的规定的备份文件或者改写后的应用构成文件改写多个备份文件中规定的备份文件以外的全部备份文件,在有异常的情况下,用规定的备份文件以外的备份文件改写存储在文件区域中的应用构成文件。
[0070]另外,改写控制部14在用新的启动程序改写备份程序的情况下,例如将新的启动程序作为新的备份程序复制到备份区域中。此外,例如改写控制部14用新的启动程序覆盖存储在备份区域中的备份程序。这同样适用于用备份程序改写启动程序的情况、用新的应用构成文件改写备份文件的情况等。
[0071]另外,在程序改写处理和文件改写处理中,由改写控制部14从外部取得的新的启动程序和应用构成文件,可以与当前存储在非易失性存储器2中的启动程序等相同,也可以是版本比当前存储的启动程序等新的启动程序等。
[0072][信息处理装置的动作]
[0073]图4是表示本实施方式的信息处理装置I的动作的流程图。下面,参照图4说明信息处理装置I的动作。
[0074]在系统重设被解除后,CPU4访问非易失性存储器2内的存储有引导程序100的规定地址(以下称作“引导地址”),向工作存储器3传输引导程序100及其校验和值101。并且,CPU4从工作存储器3读出引导程序100,执行在引导程序100中记述的包含初始化处理的启动处理(SI)。另外,在本例中,引导地址是固定的地址。
[0075]然后,CPU4按照在引导程序100中记述的命令,跳入到存储有内核程序106的地址,向工作存储器3传输内核程序106及其校验和值107。并且,CPU4从工作存储器3读出内核程序106,执行在内核程序106中记述的启动处理(S5)。
[0076]然后,在内核程序106的启动完成后,CPU4从非易失性存储器2向工作存储器3传输用于启动在内核中预先指定的应用的应用构成文件Al 12和应用构成文件BI 14以及各自的校验和值113、115。并且,CPU4从工作存储器3读出应用构成文件Al 12和应用构成文件B114,执行在应用构成文件A112和应用构成文件B114中记述的启动处理,由此启动应用并向用户提供期望的应用(S10)。另外,应用构成文件A112和应用构成文件B114可以逐个地顺序执行,也可以彼此并行地执行。
[0077]另一方面,CPU4通过执行在引导程序100中记述的并行控制,与步骤SI的引导程序100的启动处理并行地执行在引导程序100中记述的错误检测处理,计算引导程序100的校验和值(S2)。并且,CPU4判断计算出的校验和值是否与引导程序100的校验和值101一致(S3),在两者不一致的情况下(S3:否),判定为在引导程序100中存在不正常的比特变化,进入重启处理(S4)。在该重启处理中,CPU4进行用引导程序第I备份102或者引导程序第2备份104改写引导程序100的恢复处理,利用改写后的引导程序100进行系统的重启。重启处理(S4)将在后面详细说明。
[0078]另一方面,在计算出的引导程序100的校验和值与校验和值101 —致的情况下(S3:是),CPU4判定为在引导程序100中不存在不正常的比特变化,计算接着引导程序100之后读出的内核程序106的校验和值(S6)。并且,CPU4判断计算出的校验和值是否与内核程序106的校验和值107 —致(S7),在两者不一致的情况下(S7:否),判定为在内核程序106中存在不正常的比特变化,进入重启处理(S8)。在该重启处理中,CPU4进行用内核程序第I备份108或者内核程序第2备份110改写内核程序106的恢复处理,利用改写后的内核程序106进行系统的重启。重启处理(S8)将在后面详细说明。
[0079]另一方面,在计算出的内核程序106的校验和值与校验和值107 —致的情况下(S7:是),CPU4判定为在内核程序106中不存在不正常的比特变化,计算接着内核程序106之后读出的应用构成文件A112的校验和值(Sll)。并且,CPU4判断计算出的校验和值是否与应用构成文件A112的校验和值113 —致(S12),在两者不一致的情况下(S12:否),判定为在应用构成文件A112中存在不正常的比特变化,进入重启处理(S13)。在该重启处理中,CPU4进行用应用构成文件A第I备份116或者应用构成文件第2备份120改写应用构成文件A112的恢复处理,利用改写后的应用构成文件A112进行应用的重启。重启处理(S13)将在后面详细说明。
[0080]另一方面,在计算出的应用构成文件A112的校验和值与校验和值113—致的情况下(S12:是),CPU4判定为在应用构成文件A112中不存在不正常的比特变化,当存在其它被读出的应用构成文件的情况下,对于被读出的应用构成文件进行与针对上述应用构成文件A112的处理相同的处理(Sll、S12),当不存在其它被读出的应用构成文件的情况下,处于待机状态。例如,在接着应用构成文件A112之后读出应用构成文件B114的情况下,CPU4接着针对应用构成文件Al 12的处理之后,进行针对应用构成文件BI 14的处理(S11、S12),处于待机状态。但是,在与应用构成文件A112并行执行应用构成文件B114的情况下,CPU4也可以与针对应用构成文件A112的处理并行地进行针对应用构成文件B114的处理。
[0081]另外,图4的步骤S1、S5、SlO分别通过由CPU4执行在引导程序、内核程序以及应用构成文件中记述的启动处理而实现。步骤S2、S3、步骤S6、S7以及步骤Sll、S12分别通过由CPU4执行在引导程序、内核程序以及应用构成文件中记述的错误检测处理而实现。步骤S4、步骤S8以及步骤S13分别通过由CPU4执行在引导程序、内核程序以及应用构成文件中记述的重启处理而实现。即,步骤S1、S5、SlO是处理执行部11的处理,步骤S2、S3、S6、S7、S11、S12是错误检测部12的处理,步骤S4、S8、S13是重启部13的处理。
[0082][重启处理]
[0083]图5是表示重启处理的流程图。下面,参照图5说明图4的步骤S4、S8、S13的重启处理。
[0084]首先,说明步骤S4的重启处理。在步骤S4的重启处理中,如图5所示,首先,CPU4停止启动处理(步骤SI的处理)(S21)。然后,CPU4参照存储在非易失性存储器2中的启动历史信息126进行变更(S22)。
[0085]在此,对启动历史信息126进行说明。在本例中,启动历史信息126是表示正在进行启动的程序或文件的改写源(或者复制源)的信息。图6是表示启动历史信息126的格式的图。在图6中,启动历史信息126包含与引导程序100、内核程序106、应用构成文件A112以及应用构成文件B114分别对应的启动历史值。引导程序100、内核程序106、应用构成文件A112以及应用构成文件B114的启动历史值分别记录于非易失性存储器2的地址N、Ν+1、Ν+2、Ν+3。地址N在引导程序100初次启动时被写入“0”,地址N的值保持“O”直到进行重启处理(S4)为止。在进行重启处理(S4),引导程序100成为用引导程序第I备份102改写后的程序的情况下,地址N被写入“1”,在引导程序100成为用引导程序第2备份104改写后的程序的情况下,地址N被写入“2”。即,地址N被写入或者“2”,地址N的启动历史值“O”表示存储在块BI中的引导程序100不是在重启处理(S4)中改写后的引导程序(即是初始程序),启动历史值“I”表示存储在块BI中的引导程序100是在重启处理
(S4)中用引导程序第I备份102改写后的引导程序,启动历史值“2”表示存储在块BI中的引导程序100是在重启处理(S4)中用引导程序第2备份104改写后的引导程序。因此,CPU4通过参照启动历史信息126的地址N的启动历史值,能够得知成为当前用于启动的引导程序100的改写源(或者复制源)的程序。
[0086]在此,在本例中,重启处理(S4)中的引导程序100的改写顺序是在第一次的重启处理中用引导程序第I备份102改写,在下一次的重启处理中用引导程序第2备份104改写这样的顺序。该改写顺序同样适用于内核程序106、应用构成文件A112以及应用构成文件 B114。
[0087]例如,在非易失性存储器2内,对于引导程序100、内核程序106、应用构成文件A112以及应用构成文件B114,分别记录有表示备份程序或者备份文件的改写顺序的改写顺序信息128,CPU4参照改写顺序信息128决定改写顺序。即,CPU4根据改写顺序信息128进行从下述步骤S22以后的处理。在该结构中,在要变更改写顺序的情况下,变更改写顺序信息即可。例如,信息处理装置I的制造商能够通过在非易失性存储器2中记录表示期望的顺序的改写顺序信息,将改写顺序设定成期望的顺序。并且,信息处理装置I也可以根据例如各块的错误检测率等信息或来自使用者的操作来变更改写顺序信息。
[0088] 返回图5,在步骤S22中,在引导程序100的启动历史值是“O”的情况下,CPU4将引导程序100的启动历史值变更成“1”,以便用引导程序第I备份102改写引导程序100。并且,在引导程序100的启动历史值是“I”的情况下,CPU4将引导程序100的启动历史值变更成“2”,以便用引导程序第2备份104改写引导程序100。并且,在引导程序100的启动历史值是“2”的情况下,CPU4不变更引导程序100的启动历史值。
[0089]然后,CPU4判断是否能够用备份程序改写引导程序100(S23)。具体地讲,在地址N的引导程序100的启动历史值是“O”或者“I”的情况下,CPU4判定为能够改写,在启动历史值是“2”的情况下,CPU4判定为不能改写。另外,该步骤S23的判断是根据在步骤S22中参照的启动历史值即在步骤S22中变更前的启动历史值进行的。
[0090]并且,在判定为能够改写的情况下(S23:是),CPU4用备份程序及其校验和值改写存储在块BI中的引导程序100及其校验和值101 (S24)。具体地讲,在引导程序100的启动历史值成为“O”的情况下,CPU4将引导程序第I备份102及其校验和值103作为新的引导程序100及其校验和值101复制到块BI中,在引导程序100的启动历史值成为“I”的情况下,CPU4将引导程序第2备份104及其校验和值105作为新的引导程序100及其校验和值101复制到块BI中。在引导程序100及校验和值101的改写完成后,CPU4进行系统的重启(S25)。具体地讲,CPU4在改写完成后设定软件重设,访问引导地址并从最初进行图4的处理。即,在图4中,处理从步骤S4返回步骤SI,再次进行引导程序100的启动处理。在该情况下,读出并执行改写后的引导程序100。另外,上述步骤S24的处理是根据在步骤S22中参照的启动历史值即在步骤S22中变更前的启动历史值进行的。
[0091]另一方面,在判定为不能进行引导程序100的改写的情况下(S23:否),CPU4向未图示的显示部等输出通知需要重新从外部取得引导程序的消息(S26),进入用于利用来自外部的引导程序改写引导程序的程序改写处理(S27)。程序改写处理将在后面详细说明。
[0092]另外,在上述的说明中,作为引导程序100的改写顺序,例示出引导程序第I备份102、引导程序第2备份104这样的顺序,但是,也可以是引导程序第2备份104、引导程序第I备份102这样的顺序。在这种情况下,在引导程序100的启动历史值是“O”的情况下,CPU4将启动历史值变更成“2”,并且用引导程序第2备份104改写引导程序100,在历史值是“2”的情况下,CPU4将启动历史值变更成“1”,并且用引导程序第I备份102改写引导程序100,在启动历史值是“I”的情况下,CPU4进行程序改写处理而不变更启动历史值。这同样适用于内核程序106、应用构成文件A112以及应用构成文件B114。
[0093]下面,对步骤S8的重启处理进行说明。在步骤S8的重启处理中,如图5所示,首先,CPU4停止启动处理(步骤S5的处理)(S21)。然后,CPU4参照存储在非易失性存储器2中的启动历史信息126的地址N+1的启动历史值进行变更(S22)。
[0094]在此,对启动历史信息126的地址N+1的启动历史值进行说明。在图6中,与上述地址N的情况相同地,在启动历史信息126的地址N+1中记录或者“2”,作为内核程序106的启动历史值。内核程序106的启动历史值“O”表示存储在块B4中的内核程序106不是在重启处理(S8)中改写后的内核程序,启动历史值“I”表示存储在块B4中的内核程序106是在重启处理(S8)中用内核程序第I备份108改写后的内核程序,启动历史值“2”表示存储在块B4中的内核程序106是在重启处理(S8)中用内核程序第2备份110改写后的内核程序。
[0095]返回图5,在步骤S22中,在内核程序106的启动历史值是“O”的情况下,CPU4将内核程序106的启动历史值变更成“1”,以便用内核程序第I备份108改写内核程序106。并且,在内核程序106的启动历史值是“I”的情况下,CPU4将内核程序106的启动历史值变更成“2”,以便用内核程序第2备份110改写内核程序106。并且,在内核程序106的启动历史值是“2”的情况下,CPU4不变更内核程序106的启动历史值。
[0096]然后,CPU4判断是否能够用备份程序改写内核程序106(S23)。具体地讲,在地址N+1的内核程序106的启动历史值是“O”或者“I”的情况下,CPU4判定为能够改写,在启动历史值是“2”的情况下,CPU4判定为不能改写。另外,该步骤S23的判断是根据在步骤S22中参照的启动历史值即在步骤S22中变更前的启动历史值进行的。
[0097]并且,在判定为能够改写的情况下(S23:是),CPU4用备份程序及其校验和值改写存储在块B4中的内核程序106及其校验和值107 (S24)。具体地讲,在内核程序106的启动历史值成为“O”的情况下,CPU4将内核程序第I备份108及其校验和值109作为新的内核程序106及其校验和值107复制到块B4中,在内核程序106的启动历史值成为“I”的情况下,CPU4将内核程序第2备份110及其校验和值111作为新的内核程序106及其校验和值107复制到块B4中。在内核程序106及校验和值107的改写完成后,CPU4进行系统的重启(S25)。具体地讲,CPU4在改写完成后设定软件重设,访问存储有引导程序100的引导地址,从最初进行图4的处理。即,在图4中,处理从步骤S8返回步骤SI,再次进行引导程序100的启动处理。在重启后的处理中,读出并执行改与后的内核程序106。另外,上述步骤S24的处理是根据在步骤S22中参照的启动历史值即在步骤S22中变更前的启动历史值进行的。
[0098]另一方面,在判定为不能进行内核程序106的改写的情况下(S23:否),CPU4输出通知需要重新从外部取得内核程序的消息(S26),进入用于利用来自外部的内核程序改写内核程序106的程序改写处理(S27)。程序改写处理将在后面详细说明。
[0099]下面,对步骤S13的重启处理进行说明。在步骤S13的重启处理中,如图5所示,首先,CPU4停止启动处理(步骤SlO处理)(S21)。然后,CPU4参照存储在非易失性存储器2中的启动历史信息126的地址N+2的启动历史值进行变更(S22)。
[0100]在此,对启动历史信息126的地址N+2的启动历史值进行说明。在图6中,与上述地址N相同地,在启动历史信息126的地址N+2中记录或者“2”,作为应用构成文件A112的启动历史值。应用构成文件A112的启动历史值“O”表示存储在块B7中的应用构成文件A112不是在重启处理(S13)中改写后的应用构成文件,启动历史值“I”表示存储在块B7中的应用构成文件A112是在重启处理(S13)中用应用构成文件A第I备份116改写后的应用构成文件,启动历史值“2”表示存储在块B7中的应用构成文件A112是在重启处理(S13)中用应用构成文件A第2备份120改写后的应用构成文件。
[0101]返回图5,在步骤S22中,在应用构成文件A112的启动历史值是“O”的情况下,CPU4将应用构成文件A112的启动历史值变更成“1”,以便用应用构成文件A第I备份116改写应用构成文件A112。并且,在应用构成文件A112的启动历史值是“I”的情况下,CPU4将应用构成文件A112的启动历史值变更成“2”,以便用应用构成文件A第2备份120改写应用构成文件A112。并且,在应用构成文件A112的启动历史值是“2”的情况下,CPU4不变更应用构成文件A112的启动历史值。
[0102]然后,CPU4判断是否能够用备份文件改写应用构成文件A112(S23)。具体地讲,在地址N+2的应用构成文件A112的启动历史值是“O”或者“I”的情况下,CPU4判定为能够改写,在启动历史值是“2”的情况下,CPU4判定为不能改写。另外,该步骤S23的判断是根据在步骤S22中参照的启动历史值即在步骤S22中变更前的启动历史值进行的。
[0103]并且,在判定为能够改写的情况下(S23:是),CPU4用备份文件及其校验和值改写存储在块B7中的应用构成文件Al 12及其校验和值113 (S24)。具体地讲,在应用构成文件A112的启动历史值成为“O”的情况下,CPU4将应用构成文件A第I备份116及其校验和值117作为新的应用构成文件A112及其校验和值113复制到块B7中,在应用构成文件A112的启动历史值成为“I”的情况下,CPU4将应用构成文件A第2备份120及其校验和值121作为新的应用构成文件A112及其校验和值113复制到块B7中。在应用构成文件A112及校验和值113的改写完成后,CPU4进行应用的重启(S25)。具体地讲,CPU4在改写完成后,在系统已启动的状态下(具体地讲是内核已启动的状态下)再次读出应用构成文件A112。SP,在图4中,处理从步骤S13进入步骤S10,再次读出应用构成文件A112进行应用的启动处理。在这种情况下,读出并执行改写后的应用构成文件A112。另外,上述步骤S24的处理是根据在步骤S22中参照的启动历史值即在步骤S22中变更前的启动历史值进行的。
[0104]另一方面,在判定为不能改写应用构成文件A112的情况下(S23:否),CPU4输出通知需要重新从外部取得应用构成文件的消息(S26),进入用于利用来自外部的应用构成文件改写应用构成文件A112的文件改写处理(S27)。文件改写处理将在后面详细说明。
[0105]另外,关于应用构成文件B114的重启处理与上述关于应用构成文件A112的重启处理相同。
[0106]这样,在利用引导程序100、内核程序106、应用构成文件A112以及应用构成文件B114的备份程序进行改写时,通过参照启动历史信息126来选择用于改写的备份程序,能够选择过去曾被用于程序的改写且对该改写后的程序检测出错误的备份程序以外的备份程序(或者过去被检测出错误的备份程序以外的备份程序),能够利用可靠性更高的备份程序进行重启处理。例如,在刚刚用第I备份改写启动程序后立即对启动程序检测出错误的情况下,能够选择具有错误的可能性较大的第I备份以外的备份程序(例如第2备份)进行重启处理,能够利用可靠性更高的备份程序进行重启处理。
[0107][程序(文件)改写处理]
[0108]图7是表示图5的步骤S27的程序(或者文件)改写处理的流程图。下面,参照图7说明引导程序的程序改写处理、内核程序的程序改写处理以及应用构成文件的文件改写处理。另外,引导程序、内核程序以及应用构成文件的程序(或者文件)改写处理分别通过由CPU4执行在引导程序、内核程序以及应用构成文件中记述的改写控制而实现。
[0109]首先,对引导程序的程序改写处理进行说明。在引导程序的程序改写处理中,如图7所示,CPU4在识别出外部存储器与外部接口 6连接时,通过通信部5从该外部存储器读出改写用的新的引导程序及其校验和值,用该新的引导程序及校验和值改写引导程序第I备份102及校验和值103 (S31)。另外,上述外部存储器例如是由观察到图5的步骤S26的消息的用户与信息处理装置I的外部接口 6连接的,例如是USB存储器等可移动式存储器。
[0110]在上述改写完成后,CPU4变更改写标志信息124 (S32)。
[0111]在此,对改写标志信息124进行说明。改写标志信息124是表示程序(或者文件)改写处理是否正在执行中的信息。图8是表示改写标志信息124的格式的图。在图8中,改写标志信息124包含与引导程序100、内核程序106、应用构成文件A112以及应用构成文件B114分别对应的改写标志。引导程序100、内核程序106、应用构成文件A112以及应用构成文件BI 14的改写标志分别被记录在非易失性存储器2的地址Μ、Μ+1、Μ+2、Μ+3中。改写标志是通常为“O”,在执行程序(或者文件)改写处理时被设为“I”的标志。在地址M、皿+1、1+2、11+3分别记录有“0”或者“1”,“0”表示对应的程序(或者文件)不在改写处理中,“I”表示对应的程序(或者文件)在改写处理中。
[0112]返回图7,在步骤S32中,CPU4将地址M的引导程序100的改写标志从“O”变更成“I”。引导程序100的改写标志“I”表示通过用新的引导程序改写引导程序第I备份102,使得引导程序100和引导程序第2备份104与引导程序第I备份102内容不同。
[0113]然后,CPU4用上述改写后的引导程序第I备份102及校验和值103改写引导程序100及校验和值101 (S33)。
[0114]在上述改写完成后,CPU4将启动历史信息126中与引导程序100对应的启动历史值变更成“I”(S34),重启系统(S35)。即,CPU4设定软件重设,访问引导地址,读出并执行改写后的引导程序100,与启动处理(图4的步骤SI)并行地进行校验和计算(图4的步骤S2)。
[0115]在上述校验和计算结束后,CPU4参照引导程序100的改写标志和启动历史值,在改写标志为“I”且启动历史值为“I”的情况下,进入图7的步骤S36。另外,在改写标志为“O”的情况下,进入图4的步骤S3,在改写标志为“I”且启动历史值为“2”的情况下,进入后述的步骤S43。
[0116]在步骤S36中,CPU4判断引导程序100是否有异常。具体地讲,在引导程序100正常启动且计算出的校验和值与校验和值101 —致的情况下,CPU4判定为没有异常,在引导程序100不正常启动或者校验和值不一致的情况下,CPU4判定为有异常。
[0117]并且,在判定为没有异常的情况下(S36:否),CPU4将与引导程序100对应的启动历史值变更成“O”(S37),用引导程序第I备份104改写引导程序第2备份106(S38)。并且,CPU4将引导程序100的改写标志恢复成“I”(S39),使程序改写处理结束。在程序改写处理结束后进入图4的步骤S6。
[0118]另一方面,在判定为有异常的情况下(S36:是),CPU4用引导程序第2备份104改写引导程序100 (S40),将与引导程序100对应的启动历史值变更成“2”(S41),进行系统的重启(S42)。即,CPU4设定软件重设,访问引导地址,读出并执行改写后的引导程序100,与启动处理(图4的步骤SI)并行地进行校验和计算(图4的步骤S2)。
[0119]在上述校验和计算结束后,CPU4参照引导程序100的改写标志和启动历史值,在改写标志为“I”且启动历史值为“2”的情况下,进入图7的步骤S43。
[0120]在步骤S43中,CPU4与上述步骤S36相同地判断引导程序100是否有异常。
[0121]并且,在判定为没有异常的情况下(S43:否),CPU4在例如未图示的显示部显示从外部取得的新的引导程序有异常而通知给用户(S44),使程序改写处理结束。在程序改写处理结束后进入图4的步骤S6。
[0122]另一方面,在判定为有异常的情况下(S43:是),CPU4返回图5的步骤S26,再次输出通知需要重新从 外部取得引导程序的消息,执行程序改写处理(S27)。
[0123]下面,说明内核程序的程序改写处理。在内核程序的程序改写处理中,如图7所示,CPU4在识别出外部存储器与外部接口 6连接时,从该外部存储器读出改写用的新的内核程序及其校验和值,用该新的内核程序及校验和值改写内核程序第I备份108及校验和值 109 (S31)。
[0124]在上述改写完成后,CPU4将改写标志信息124中的地址M+1的内核程序106的改写标志从“O”变更成“I”(S32)。
[0125]然后,CPU4用上述改写后的内核程序第I备份108及校验和值109改写内核程序106及校验和值107 (S33)。
[0126]在上述改 写完成后,CPU4将启动历史信息126中与内核程序106对应的启动历史值变更成“I”(S34),重启系统(S35)。即,CPU4设定软件重设,访问引导地址,读出并执行引导程序100,然后读出内核程序106,与内核程序106的启动处理(图4的步骤S5)并行地进行校验和计算(图4的步骤S6)。
[0127]在上述校验和计算结束后,CPU4参照内核程序106的改写标志和启动历史值,在改写标志为“I”且启动历史值为“I”的情况下,进入图7的步骤S36。另外,在改写标志为“O”的情况下,进入图4的步骤S7,在改写标志为“I”且启动历史值为“2”的情况下,进入后述的步骤S43。
[0128]在步骤S36中,CPU4判断内核程序106是否有异常。具体地讲,在内核程序106正常启动且计算出的校验和值与校验和值107 —致的情况下,CPU4判定为没有异常,在内核程序106不正常启动或者校验和值不一致的情况下,CPU4判定为有异常。
[0129]并且,在判定为没有异常的情况下(S36:否),CPU4将与内核程序106对应的启动历史值变更成“O”(S37),用内核程序第I备份108改写内核程序第2备份110(S38)。并且,CPU4将内核程序106的改写标志恢复成“O”(S39),使程序改写处理结束。在程序改写处理结束后进入图4的步骤SI I。
[0130]另一方面,在判定为有异常的情况下(S36:是),CPU4用内核程序第2备份110改写内核程序106 (S40),将与内核程序106对应的启动历史值变更成“2”(S41),进行系统的重启(S42)。即,CPU4设定软件重设,访问引导地址,读出并执行引导程序100,然后读出内核程序106,与内核程序106的启动处理(图4的步骤S5)并行地进行校验和计算(图4的步骤S6)。
[0131]在上述校验和计算结束后,CPU4参照内核程序106的改写标志和启动历史值,在改写标志为“I”且启动历史值为“2”的情况下,进入图7的步骤S43。
[0132]在步骤S43中,CPU4与上述步骤S36相同地判断内核程序106是否有异常。
[0133]并且,在判定为没有异常的情况下(S43:否),CPU4通知用户从外部取得的新的内核程序有异常(S44),使程序改写处理结束。在程序改写处理结束后进入图4的步骤S11。
[0134]另一方面,在判定为有异常的情况下(S43:是),CPU4返回图5的步骤S26,再次输出通知需要重新从外部取得内核程序的消息,执行程序改写处理(S27)。
[0135]下面,说明应用构成文件的文件改写处理。在应用构成文件A112的文件改写处理中,如图7所示,CPU4在识别出外部存储器与外部接口 6连接时,从该外部存储器读出改写用的新的应用构成文件及其校验和值,用该新的应用构成文件及校验和值改写应用构成文件A第I备份116及校验和值117(S31)。
[0136]在上述改写完成后,CPU4将改写标志信息124中的地址M+2的应用构成文件Al 12的改写标志从“O”变更成“I”(S32)。
[0137]然后,CPU4用上述改写后的应用构成文件A第I备份116及校验和值117改写应用构成文件Al 12及校验和值113(S33)。
[0138]在上述改写完成后,CPU4将启动历史信息126中与应用构成文件A112对应的启动历史值变更成“I”(S34),进行应用的重启(S35)。具体地讲,CPU4在系统已启动的状态下(具体地讲是内核已启动的状态下),再次读出应用构成文件A112,与应用构成文件A112的启动处理(图4的步骤S10)并行地进行校验和计算(图4的步骤Sll)。
[0139]在上述校验和计算结束后,CPU4参照应用构成文件A112的改写标志和启动历史值,在改写标志为“I”且启动历史值成为“I”的情况下,进入图7的步骤S36。另外,在改写标志为“O”的情况下,进入图4的步骤S12,在改写标志为“I”且启动历史值为“2”的情况下,进入后述的步骤S43。
[0140]在步骤S36中,CPU4判断应用构成文件A112是否有异常。具体地讲,在应用构成文件A112正常启动且计算出的校验和值与校验和值113 —致的情况下,CPU4判定为没有异常,在应用构成文件A112不正常启动或者校验和值不一致的情况下,CPU4判定为有异常。
[0141]并且,在判定为没有异常的情况下(S36:否),CPU4将与应用构成文件A112对应的启动历史值变更成“O”(S37),用应用构成文件A第I备份116改写应用构成文件A第2备份120 (S38)。并且,CPU4将应用构成文件A112的改写标志恢复成“O” (S39),使文件改写处理结束。在文件改写处理结束后成为待机状态。
[0142]另一方面,在判定为有异常的情况下(S36:是),CPU4用应用构成文件A第2备份120改写应用构成文件A112(S40),将与应用构成文件A112对应的启动历史值变更成“2”(S41),进行应用的重启(S42)。具体地讲,CPU4在系统已启动的状态下(具体地讲是内核已启动的状态下),再次读出应用构成文件A112,与应用构成文件A112的启动处理(图4的步骤S10)并行地进行校验和计算(图4的步骤Sll)
[0143]在上述校验和计算结束后,CPU4参照应用构成文件A112的改写标志和启动历史值,在改写标志为“I”且启动历史值为“2”的情况下,进入图7的步骤S43。
[0144]在步骤S43中,CPU4与上述步骤S36相同地判断应用构成文件A112是否有异常。
[0145]并且,在判定为没有异常的情况下(S43:否),CPU4通知用户从外部取得的新的应用构成文件有异常(S44),使文件改写处理结束。在文件改写处理结束后成为待机状态。
[0146]另一方面,在判定为有异常的情况下(S43:是),CPU4返回图5的步骤S26,再次输出通知需要重新从外部取得应用构成文件的消息,执行文件改写处理(S27)。
[0147]另外,应用构成文件BI 14的文件改写处理与上述应用构成文件Al 12的文件改写处理相同。
[0148][备份确认处理]
[0149]另外,也可以是,在图4的处理中错误检测处理成为待机状态的期间,信息处理装置I进行确认备份程序和备份文件有无错误(正当性)的备份确认处理。上述成为待机状态的期间具体地讲是指在图4中从在步骤S3中判定为“是”后到步骤S6开始为止的待机期间、从在步骤S7中判定为“是”后到步骤Sll开始为止的待机期间、以及从在步骤S12中判定为“是”后到步骤SlO结束为止的待机期间。图9是表示备份确认处理的流程图。下面,参照图9来说明备份确认处理。
[0150]CPU4对引导程序第I备份102和引导程序第2备份104进行比较,判断两者是否一致(S51),在不一致时(S51:否)进入步骤S52,在一致时(S51:是)进入步骤S53。[0151]在步骤S52中,CPU4运算引导程序第I备份102和引导程序第2备份104各自的校验和值,判定运算出的引导程序第I备份102的校验和值是否与校验和值103 —致、运算出的引导程序第2备份104的校验和值是否与校验和值105 —致,用一致的备份程序改写另一个备份程序,进入步骤S53。另外,在引导程序第I备份102和引导程序第2备份104双方的校验和值都不一致的情况下,例如,也可以用引导程序100改写引导程序第I备份102和引导程序第2备份104,还可以用从外部取得的新的引导程序进行上述改写。
[0152]在步骤S53中,CPU4对内核程序第I备份108和内核程序第2备份110进行比较,判定两者是否一致,在不一致时(S53:否)进入步骤S54,在一致时(S53:是)进入步骤S55。
[0153]在步骤S54中,CPU4运算内核程序第I备份108和内核程序第2备份110各自的校验和值,判定运算出的内核程序第I备份108的校验和值是否与校验和值109 —致、运算出的内核程序第2备份110的校验和值是否与校验和值111 一致,用一致的备份程序改写另一个备份程序,进入步骤S55。另外,在内核程序第I备份108和内核程序第2备份110双方的校验和值都不一致的情况下,例如,也可以用内核程序106改写内核程序第I备份108和内核程序第2备份110,还可以用从外部取得的新的内核程序进行上述改写。
[0154]在步骤S55中,CPU4对应用构成文件A第I备份116和应用构成文件A第2备份120进行比较,判断两者是否一致,在不一致时(S55:否)进入步骤S56,在一致时(S55:是)进入步骤S57。
[0155]在步骤S56中,CPU4运算应用构成文件A第I备份116和应用构成文件A第2备份120各自的校验和值,判定运算出的应用构成文件A第I备份116的校验和值是否与校验和值117 —致、运算出的应用构成文件A第2备份120的校验和值是否与校验和值121一致,用一致的备份程序改写另一个备份程序,进入步骤S57。另外,在应用构成文件A第I备份116和应用构成文件A第2备份120双方的校验和值都不一致的情况下,例如,也可以用应用构成文件A112改写应用构成文件A第I备份116和应用构成文件A第2备份120,还可以用从外部取得的新的应用构成文件进行上述改写。
[0156]在步骤S57中,CPU4对应用构成文件B第I备份118和应用构成文件B第2备份122进行比较,判断两者是否一致,在不一致时(S57:否)进入步骤S58,在一致时(S57:是)结束备份确认处理而成为待机状态。
[0157]在步骤S58中,CPU4对应用构成文件B第I备份118和应用构成文件B第2备份122进行与上述步骤S56相同的处理,然后结束备份确认处理而成为待机状态。
[0158][效果]
[0159]根据以上说明的本实施方式,能够得到下述效果(I)?(16)。
[0160](I)本实施方式的信息处理装置构成为执行启动程序来进行系统的启动处理,与该启动处理并行地对启动程序进行错误检测。因此,根据本实施方式,与在对启动程序进行错误检测后开始系统的启动处理的结构相比,能够尽早开始系统的启动处理。因此,例如能够将显示系统的启动画面的时刻提前。并且,本实施方式的信息处理装置在对启动程序检测出错误的情况下,使用备份程序进行系统的重启。因此,在启动程序有错误的情况下,能够利用可靠性更高的启动程序进行系统的启动。
[0161]尤其是近年来,启动程序的数据容量随着设备的高功能化而明显增加,由此,针对启动程序的错误检测处理的处理时间延长,这对于在对启动程序进行错误检测后开始系统的启动处理的结构,存在系统的启动处理的开始明显变慢的问题。根据本实施方式能够解决该问题。
[0162]图10是表示在错误检测后进行启动处理的结构中的处理时间的曲线图。图10的横轴表示时间,在图10中示出引导程序的错误检测处理的处理时间Tl、引导程序的启动处理的处理时间T2、内核程序的错误检测处理的处理时间T3、内核程序的启动处理的处理时间T4、应用构成文件的错误检测处理的处理时间T5以及应用构成文件的启动处理的处理时间T6。
[0163]图11是表示本实施方式的结构中的处理时间的曲线图。图11的横轴表示时间,在图11中示出引导程序的错误检测处理的处理时间T11、引导程序的启动处理的处理时间T12、内核程序的错误检测处理的处理时间T13、内核程序的启动处理的处理时间T14、应用构成文件的错误检测处理的处理时间T15以及应用构成文件的启动处理的处理时间T16。
[0164]根据图10和图11可知,在本实施方式中,与在错误检测后进行启动处理的结构相t匕,引导程序、内核程序以及应用构成文件的启动处理的开始时刻提前。
[0165](2)信息处理装置在对启动程序检测出错误的情况下,进行用存储在备份区域中的备份程序改写存储在程序区域中的启动程序的恢复处理,利用该改写后的程序进行系统的重启。根据本方式,能够通过用备份程序改写有错误的启动程序,增加正确的启动程序,能够提闻系统启动的可罪性。
[0166](3)信息处理装置在进行恢复处理时,参照表示用备份程序改写启动程序的历史的历史信息,选择用于改写的备份程序。由此,在对启动程序检测出错误的情况下,能够利用高可靠性的程序进行重启。具体地讲,能够选择过去曾被用于程序的改写且对该改写后的程序检测出错误的备份程序以外的备份程序(或者过去曾被检测出错误的备份程序以外的备份程序),能够利用可靠性更高的备份程序进行重启处理。
[0167](4)信息处理装置在恢复处理中,参照表示备份程序的改写顺序的改写顺序信息,根据改写顺序信息和历史信息选择用于改写的备份程序。根据本方式,通过变更改写顺序信息,能够变更改写顺序。由此,例如能够使记录在非易失性存储器的死区块或错误检测率较高的块中的备份程序的顺序靠后,能够优先使用可靠性更高的备份程序进行改写。其中,死区块是指不能进行正常的读出/写入的块,如超过规定的改写限制次数的块和半导体的初始不良块等。
[0168](5)信息处理装置在恢复处理中,选择尚未被用于改写的备份程序作为用于改写的备份程序。根据本方式,能够利用高可靠性的备份程序进行重启处理。
[0169](6)信息处理装置在用新的启动程序改写启动程序的程序改写处理中,取得新的启动程序,用新的启动程序改写存储在多个备份区域中的多个备份程序中规定的备份程序,用规定的备份程序改写存储在程序区域中的启动程序,在执行了该改写后的启动程序时,在没有异常的情况下,用改写后的规定的备份程序或者改写后的启动程序改写多个备份程序中规定的备份程序以外的备份程序,在有异常的情况下,用规定的备份程序以外的备份程序改写存储在程序区域中的启动程序。根据本方式,在用新的启动程序改写启动程序时,在改写后的新的启动程序有异常的情况下(例如不能正常启动的情况下或确认出不正常的比特变化的情况下),能够在确保新的启动程序的备份的同时,使程序区域的启动程序恢复成改写前的状态。因此,例如在新的启动程序有错误且不能启动系统的情况下,能够防止不能恢复成原来的启动程序而不能进行系统的启动。
[0170](7)信息处理装置执行应用构成文件来进行应用的启动处理,与该启动处理并行地对应用构成文件进行错误检测。根据本方式,与在对应用构成文件进行错误检测后开始应用的启动处理的结构相比,能够尽早开始应用的启动处理。由此,例如能够将显示应用的启动画面的时刻提前。并且,信息处理装置在对应用构成文件检测出错误的情况下,使用备份文件进行应用的重启。因此,在应用构成文件有错误的情况下,能够利用可靠性更高的应用构成文件进行应用的启动。
[0171](8)信息处理装置在对应用构成文件检测出错误的情况下,进行用存储在备份文件区域中的备份文件改写存储在文件区域中的应用构成文件的恢复处理,利用该改写后的应用构成文件进行应用的重启。根据本方式,能够通过用备份文件改写有错误的应用构成文件,增加正确的应用构成文件,能够提高应用启动的可靠性。
[0172](9)信息处理装置在进行恢复处理时,参照表示用备份文件改写应用构成文件的历史的历史信息,选择用于改写的备份文件。由此,在对应用构成文件检测出错误的情况下,能够利用高可靠性的文件进行重启。具体地讲,能够选择过去曾被用于应用构成文件的改写且对该改写后的应用构成文件检测出错误的备份文件以外的备份文件(或者过去曾被检测出错误的备份文件以外的备份文件),能够利用可靠性更高的备份文件进行重启处理。
[0173](10)信息处理装置在恢复处理中,参照表示备份文件的改写顺序的改写顺序信息,根据改写顺序信息和历史信息选择用于改写的备份文件。根据本方式,通过变更改写顺序信息,能够变更改写顺序。由此,例如能够使记录在非易失性存储器的死区块或错误检测率较高的块中的备份文件的顺序靠后,能够优先使用可靠性更高的备份文件进行改写。
[0174](11)信息处理装置在恢复处理中,选择尚未被用于改写的备份文件作为用于改写的备份文件。根据本方式,能够利用高可靠性的备份文件进行重启处理。
[0175](12)信息处理装置在用新的应用构成文件改写应用构成文件的文件改写处理中,取得新的应用构成文件,用新的应用构成文件改写存储在多个备份文件区域中的多个备份文件中规定的备份文件,用规定的备份文件改写存储在文件区域中的应用构成文件,在执行了该改写后的应用构成文件时,在没有异常的情况下,用改写后的规定的备份文件或者改写后的应用构成文件改写多个备份文件中规定的备份文件以外的备份文件,在有异常的情况下,用规定的备份文件以外的备份文件改写存储在文件区域中的应用构成文件。根据本方式,在用新的应用构成文件改写应用构成文件时,在改写后的新的应用构成文件有异常的情况下(例如不能正常启动的情况下或确认出不正常的比特变化的情况下),能够在确保新的应用构成文件的备份的同时,使文件区域的应用构成文件恢复成改写前的状态。因此,例如在新的应用构成文件有错误且不能启动应用的情况下,能够防止不能恢复成原来的应用构成文件而不能进行应用的启动。
[0176](13)非易失性存储器的文件区域按照每个应用构成文件能够读出地存储多个应用构成文件。根据本方式,能够按照每个应用构成文件从非易失性存储器向工作存储器传输数据,因而能够缩短向工作存储器的传输时间。
[0177](14)非易失性存储器的文件区域存储多个应用构成文件和该多个应用构成文件各自的错误检测用数据。在本方式中,按照每个应用构成文件附加独立的错误检测用数据(例如校验和值),因而与对将多个应用构成文件合并得到的文件组附加错误检测用数据(例如校验和值)的情况相比,能够缩短采用错误检测用数据的错误检测的处理时间(例如校验和值的运算时间)。
[0178](15)信息处理装置对存储在备份区域中的备份程序进行错误检测,用未检测出错误的备份程序改写被检测出错误的备份程序。根据本方式,能够提高备份程序的可靠性。由此,例如在图4的重启处理(S4、S8)内的步骤S23中,能够将判定为不能用备份程序改写启动程序的概率抑制得较低。
[0179](16)信息处理装置对存储在备份文件区域中的备份文件进行错误检测,用未检测出错误的备份文件改写被检测出错误的备份文件。根据本方式,能够提高备份文件的可靠性。由此,例如在图4的重启处理(S13)内的步骤S23中,能够将判定为不能用备份文件改写应用构成文件的概率抑制得较低。
[0180]另外,本发明不限于上述实施方式,能够在不脱离本发明宗旨的范围内以各种方式来实施。
[0181]例如,在上述的说明中示例出如下结构,在对启动程序检测出错误的情况下,在用备份程序改写启动程序(恢复处理)后进行系统的重启,然而信息处理装置I也可以不进行启动程序的改写(恢复处理),而将备份程序读出到工作存储器3来进行系统的重启。同样,信息处理装置I也可以不用备份文件改写应用构成文件(恢复处理),而将备份文件读出到工作存储器3来进行应用的重启。另外,对于启动程序中最先读出并执行的启动程序(具体地讲是指引导程序100),在引导地址固定的情况下需要上述恢复处理,但是,只要是能够变更引导地址的结构,则通过将引导地址变更成备份程序的开头地址,不需进行恢复处理即可重启。
[0182]另外,在上述的说明中示例出在非易失性存储器2存储有多个备份程序的结构,然而备份程序的个数不限于多个,也可以是一个。这同样适用于备份文件。
[0183]另外,在上述的说明中,作为应用构成文件示例出采用应用构成文件A112和应用构成文件B114这两个文件的情况,然而应用构成文件只要是一个以上即可,实际上往往需要更多的应用构成文件。
[0184]另外,在上述的说明中示例出处理执行部11和错误检测部12由共同的CPU4和共同的程序来实现的结构,然而错误检测部12也能够以下述的(a)?(d)的方式来实现。
[0185](a)错误检测部12通过由CPU4执行与启动程序不同的错误检测用的程序来实现。
[0186](b)错误检测部12通过由不同于CPU4的CPU执行启动程序或者与启动程序不同的错误检测用的程序中记述的错误检测处理来实现。
[0187](c) CPU4包含多个处理器芯,由多个处理器芯中与实现处理执行部11的处理器芯不同的处理器芯,执行启动程序或者与启动程序不同的错误检测用的程序中记述的错误检测处理,由此实现错误检测部12。
[0188](d)错误检测部12利用错误检测用的硬件电路实现。
[0189]在如上述(b)?(d)那样用不同的处理装置并行地执行启动处理和错误检测处理的结构中,实际上能够并行地执行启动处理和错误检测处理,与在对启动程序进行错误检测后开始系统的启动处理的结构相比,能够缩短启动时间。[0190]图12是表示用不同的处理装置并行执行启动处理和错误检测处理的结构中的处理时间的曲线图。图12的横轴表示时间,在图12中示出引导程序的错误检测处理的处理时间T21、引导程序的启动处理的处理时间T22、内核程序的错误检测处理的处理时间T23、内核程序的启动处理的处理时间T24、应用构成文件的错误检测处理的处理时间T25以及应用构成文件的启动处理的处理时间T26。
[0191]根据图10和图12可知,与在错误检测后进行启动处理的结构相比,用不同的处理装置并行执行启动处理和错误检测处理的结构能够使引导程序、内核程序以及应用构成文件各自的启动处理的结束时刻提前。
[0192]另外,与错误检测部12相同地,重启部13和改写控制部14也可以按照上述(a)?(d)的方式来实现。
[0193]另外,在上述的说明中,作为表示用备份程序改写程序的历史的历史信息,示例出表示程序的改写源的启动历史值,但是,历史信息不限于此,例如,也可以是表示多个备份程序中过去曾被用于程序的改写的备份程序的信息。并且,也可以按照每个备份程序来准备历史信息。例如,也可以在非易失性存储器2中按照每个备份程序来记录历史标志,该历史标志表示该备份程序过去是否曾被用于程序的改写。历史标志例如在未被用于改写时为“0”,在曾被用于改写时为“I”。另外,上述情况同样适用于应用构成文件。
[0194]另外,在上述的说明中示例出根据历史信息选择尚未被用于改写的备份程序的结构,但是,也可以是除此以外的选择备份程序的结构。例如,在非易失性存储器中,长时间未进行读出的块将随着时间经过而产生电荷泄露,导致数据内容不正常地变化。因此,通过在恢复处理时尽可能均一地读出备份程序,能够抑制引发电荷泄露的风险。基于这种观点,重启部13也可以构成为参照历史信息选择长时间未进行读出的备份程序。根据这种结构,能够防止非易失性存储器的电荷泄露。作为上述的长时间未进行读出的备份程序,例如有多个备份程序中未进行读出的期间最长的备份程序、未进行读出达规定期间以上的备份程序。此外,在这种结构中,历史信息例如是表示各备份程序的未进行读出的期间的信息。
[0195]标号说明
[0196]I信息处理装置;2非易失性存储器;3工作存储器;4CPU ;5通信部;6外部接口 ;10并行处理部;11处理执行部;12错误检测部;13重启部;14改写控制部;100引导程序;101、103、105、107、109、111、113、115、117、119、121、123 校验和值;102 引导程序第 I 备份;104引导程序第2备份;106内核程序;108内核程序第I备份;110内核程序第2备份;112应用构成文件A ; 114应用构成文件B ; 116应用构成文件A第I备份;118应用构成文件B第I备份;120应用构成文件A第2备份;122应用构成文件B第2备份;124改写标志信息;126启动历史信息;128改写顺序信息。
【权利要求】
1.一种信息处理装置,其特征在于,该信息处理装置具有: 非易失性存储器,其包含存储有用于启动系统的程序的程序区域、和分别存储有内容与所述程序相同的多个备份程序的多个备份区域; 处理执行单元,其执行存储在所述程序区域中的程序,进行所述系统的启动处理;错误检测单元,其与所述处理执行单元的启动处理并行地对存储在所述程序区域中的程序进行错误检测;以及 重启单元,其在由所述错误检测单元对所述程序检测出错误的情况下,进行用存储在所述备份区域中的备份程序改写存储在所述程序区域中的程序的恢复处理,利用存储在所述程序区域中的所述改写后的程序进行所述系统的重启, 所述重启单元在进行所述恢复处理时,参照表示用所述备份程序改写所述程序的历史的历史信息,根据所述历史信息从所述多个备份程序中选择用于所述改写的备份程序,用所述选择出的备份程序改写所述程序。
2.根据权利要求1所述的信息处理装置,其特征在于,所述重启单元在所述恢复处理中,还参照表示所述备份程序的改写顺序的改写顺序信息,根据所述改写顺序信息和所述历史信息,从所述多 个备份程序中选择用于所述改写的备份程序,用所述选择出的备份程序改写所述程序。
3.根据权利要求1或2所述的信息处理装置,其特征在于,在所述恢复处理中选择出的备份程序是尚未被用于改写的备份程序。
4.根据权利要求1~3中的任意一项所述的信息处理装置,其特征在于, 所述信息处理装置还具有改写单元,该改写单元进行用未存储在所述备份区域中的新程序改写所述程序的程序改写处理, 所述改写单元在所述程序改写处理中取得所述新程序,用所述新程序改写存储在所述多个备份区域中的多个备份程序中规定的备份程序,用所述规定的备份程序改写存储在所述程序区域中的程序,在执行了该改写后的程序时,在没有异常的情况下,用所述改写后的规定的备份程序或者所述改写后的程序改写所述多个备份程序中所述规定的备份程序以外的备份程序,在有异常的情况下,用所述规定的备份程序以外的备份程序改写存储在所述程序区域中的程序。
5.根据权利要求4所述的信息处理装置,其特征在于,在由所述错误检测单元对所述程序检测出错误的情况下,当在所述多个备份区域中不存在尚未被用于改写的备份程序时,所述改写单元进行所述程序改写处理。
6.根据权利要求1~5中的任意一项所述的信息处理装置,其特征在于, 所述非易失性存储器还包含存储有用于启动应用的应用构成文件的文件区域、和存储有内容与所述应用构成文件相同的备份文件的备份文件区域, 所述处理执行单元执行存储在所述文件区域中的应用构成文件,进行应用的启动处理, 所述错误检测单元与所述处理执行单元对所述应用的启动处理并行地,对存储在所述文件区域中的应用构成文件进行错误检测, 在由所述错误检测单元对所述应用构成文件检测出错误的情况下,所述重启单元使用存储在所述备份文件区域中的备份文件进行所述应用的重启。
7.根据权利要求6所述的信息处理装置,其特征在于,在由所述错误检测单元对所述应用构成文件检测出错误的情况下,所述重启单元进行用存储在所述备份文件区域中的备份文件改写存储在所述文件区域中的应用构成文件的恢复处理,利用存储在所述文件区域中的所述改写后的应用构成文件进行所述应用的重启。
8.根据权利要求7所述的信息处理装置,其特征在于, 所述备份文件区域有多个, 所述重启单元在进行所述恢复处理时,参照表示用所述备份文件改写所述应用构成文件的历史的历史信息,根据所述历史信息从存储在所述多个备份文件区域中的多个备份文件中选择用于所述改写的备份文件,用所述选择出的备份文件改写所述应用构成文件。
9.根据权利要求8所述的信息处理装置,其特征在于,所述重启单元在所述恢复处理中,还参照表示所述备份文件的改写顺序的改写顺序信息,根据所述改写顺序信息和所述历史信息,从所述多个备份文件中选择用于所述改写的备份文件,用所述选择出的备份文件改写所述应用构成文件。
10.根据权利要求7~9中的任意一项所述的信息处理装置,其特征在于, 所述备份文件区域有多个, 所述重启单元在进行所述恢复处理时,从存储在所述多个备份文件区域中的多个备份文件中选择尚未被用于改写的备份文件,用所述选择出的备份文件改写存储在所述文件区域中的应用构成文件。
11.根据权利要求6~10中的任意一项所述的信息处理装置,其特征在于, 所述备份文件区域有多个, 所述改写单元进行用新的应用构成文件改写所述应用构成文件的文件改写处理, 所述改写单元在所述文件改写处理中取得所述新的应用构成文件,用所述新的应用构成文件改写存储在所述多个备份文件区域中的多个备份文件中规定的备份文件,用所述规定的备份文件改写存储在所述文件区域中的应用构成文件,在执行了该改写后的应用构成文件时,在没有异常的情况下,用所述改写后的规定的备份文件或者所述改写后的应用构成文件改写所述多个备份文件中所述规定的备份文件以外的备份文件,在有异常的情况下,用所述规定的备份文件以外的备份文件改写存储在所述文件区域中的应用构成文件。
12.根据权利要求11所述的信息处理装置,其特征在于,在由所述错误检测单元对所述应用构成文件检测出错误的情况下,当在所述多个备份文件区域中不存在尚未被用于改写的备份文件时,所述改写单元进行所述文件改写处理。
13.根据权利要求6~12中的任意一项所述的信息处理装置,其特征在于, 所述应用构成文件有多个, 所述文件区域按照每个所述应用构成文件能够读出地存储所述多个应用构成文件, 所述备份文件区域存储内容与所述多个应用构成文件相同的多个备份文件。
14.根据权利要求13所述的信息处理装置,其特征在于, 所述文件区域存储所述多个应用构成文件和该多个应用构成文件各自的错误检测用数据, 所述错误检测单元对存储在所述文件区域中的应用构成文件使用该应用构成文件的所述错误检测用数据进行错误检测。
15.—种信息处理方法,其特征在于,该信息处理方法包含: 处理执行步骤,执行存储在非易失性存储器的程序区域中的程序,进行系统的启动处理,该非易失性存储器包含存储有用于启动所述系统的程序的所述程序区域、和分别存储有内容与所述程序相同的多个备份程序的多个备份区域; 错误检测步骤,与所述处理执行步骤的启动处理并行地对存储在所述程序区域中的程序进行错误检测;以及 重启步骤,在所述错误检测步骤中对所述程序检测出错误的情况下,进行用存储在所述备份区域中的备份程序改写存储在所述程序区域中的程序的恢复处理,利用存储在所述程序区域中的所述改写后的程序进行所述系统的重启, 在所述重启步骤中,在进行所述恢复处理时参照表示用所述备份程序改写所述程序的历史的历史信息,根据所述历史信息从所述多个备份程序中选择用于所述改写的备份程序,用所述选择出的备份程序改写所述程序。
16.根据权利要求15所述的信息处理方法,其特征在于,在所述重启步骤中,在所述恢复处理中还参照表示所述备份程序的改写顺序的改写顺序信息,根据所述改写顺序信息和所述历史信息,从所述多个备份程序中选择用于所述改写的备份程序,用所述选择出的备份程序改写所述程序。
17.根据权利要求15或16所述的信息处理方法,其特征在于,在所述恢复处理中选择出的备份程序是尚未被用于改写的备份程序。
18.根据权利要求1 5~17中的任意一项所述的信息处理方法,其特征在于, 所述信息处理方法还包含改写步骤,进行用未存储在所述备份区域中的新程序改写所述程序的程序改写处理, 在所述改写步骤中,在所述程序改写处理中取得所述新程序,用所述新程序改写存储在所述多个备份区域中的多个备份程序中规定的备份程序,用所述规定的备份程序改写存储在所述程序区域中的程序,在执行了该改写后的程序时,在没有异常的情况下,用所述改写后的规定的备份程序或者所述改写后的程序改写所述多个备份程序中所述规定的备份程序以外的备份程序,在有异常的情况下,用所述规定的备份程序以外的备份程序改写存储在所述程序区域中的程序。
19.根据权利要求18所述的信息处理方法,其特征在于,在所述错误检测步骤中对所述程序检测出错误的情况下,当在所述多个备份区域中不存在尚未被用于改写的备份程序时,进行所述程序改写处理。
20.根据权利要求15~19中的任意一项所述的信息处理方法,其特征在于, 所述非易失性存储器还包含存储有用于启动应用的应用构成文件的文件区域、和存储有内容与所述应用构成文件相同的备份文件的备份文件区域, 在所述处理执行步骤中执行存储在所述文件区域中的应用构成文件,进行应用的启动处理, 在所述错误检测步骤中,与所述处理执行步骤中的所述应用的启动处理并行地,对存储在所述文件区域中的应用构成文件进行错误检测, 在所述重启步骤中,在所述错误检测步骤中对所述应用构成文件检测出错误的情况下,使用存储在所述备份文件区域中的备份文件进行所述应用的重启。
21.根据权利要求20所述的信息处理方法,其特征在于,在所述重启步骤中,在所述错误检测步骤中对所述应用构成文件检测出错误的情况下,进行用存储在所述备份文件区域中的备份文件改写存储在所述文件区域中的应用构成文件的恢复处理,利用存储在所述文件区域中的所述改写后的应用构成文件进行所述应用的重启。
22.根据权利要求21所述的信息处理方法,其特征在于, 所述备份文件区域有多个, 在所述重启步骤中,在进行所述恢复处理时参照表示用所述备份文件改写所述应用构成文件的历史的历史信息,根据所述历史信息从存储在所述多个备份文件区域中的多个备份文件中选择用于所述改写的备份文件,用所述选择出的备份文件改写所述应用构成文件。
23.根据权利要求22所述的信息处理方法,其特征在于,在所述重启步骤中,在所述恢复处理中还参照表示所述备份文件的改写顺序的改写顺序信息,根据所述改写顺序信息和所述历史信息,从所述多个备份文件中选择用于所述改写的备份文件,用所述选择出的备份文件改写所述应用构成文件。
24.根据权利要求21~23中的 任意一项所述的信息处理方法,其特征在于, 所述备份文件区域有多个, 在所述重启步骤中,在进行所述恢复处理时从存储在所述多个备份文件区域中的多个备份文件中选择尚未被用于改写的备份文件,用所述选择出的备份文件改写存储在所述文件区域中的所述应用构成文件。
25.根据权利要求20~24中的任意一项所述的信息处理方法,其特征在于, 所述备份文件区域有多个, 在所述改写步骤中,进行用新的应用构成文件改写所述应用构成文件的文件改写处理, 在所述文件改写处理中取得所述新的应用构成文件,用所述新的应用构成文件改写存储在所述多个备份文件区域中的多个备份文件中规定的备份文件,用所述规定的备份文件改写存储在所述文件区域中的应用构成文件,在执行了该改写后的应用构成文件时,在没有异常的情况下,用所述改写后的规定的备份文件或者所述改写后的应用构成文件改写所述多个备份文件中所述规定的备份文件以外的备份文件,在有异常的情况下,用所述规定的备份文件以外的备份文件改写存储在所述文件区域中的应用构成文件。
26.根据权利要求25所述的信息处理方法,其特征在于,在所述错误检测步骤中对所述应用构成文件检测出错误的情况下,当在所述多个备份文件区域中不存在尚未被用于改写的备份文件时,进行所述文件改写处理。
27.根据权利要求20~26中的任意一项所述的信息处理方法,其特征在于, 所述应用构成文件有多个, 所述文件区域按照每个所述应用构成文件能够读出地存储所述多个应用构成文件, 所述备份文件区域存储内容与所述多个应用构成文件相同的多个备份文件。
28.根据权利要求27所述的信息处理方法,其特征在于, 所述文件区域存储所述多个应用构成文件和该多个应用构成文件各自的错误检测用数据,在所述错误检测步骤中,对存储在所述文件区域中的应用构成文件使用该应用构成文件的所述错误检测用数据进行错误检测。
29.一种计算机程序,其特征在于,该计算机程序使计算机执行以下步骤: 处理执行步骤,执行存储在非易失性存储器的程序区域中的程序,进行系统的启动处理,该非易失性存储器包含存储有用于启动所述系统的程序的所述程序区域、和分别存储有内容与所述程序相同的多个备份程序的多个备份区域; 错误检测步骤,与所述处理执行步骤的启动处理并行地对存储在所述程序区域中的程序进行错误检测;以及 重启步骤,在所述错误检测步骤中对所述程序检测出错误的情况下,进行用存储在所述备份区域中的备份程序改写存储在所述程序区域中的程序的恢复处理,利用存储在所述程序区域中的所述改写后的程序进行所述系统的重启, 在所述重启步骤中,在进行所述恢复处理时参照表示用所述备份程序改写所述程序的历史的历史信息,根据所述历史信息从所述多个备份程序中选择用于所述改写的备份程序,用所述选择出的备份 程序改写所述程序。
【文档编号】G06F9/445GK104025047SQ201280065486
【公开日】2014年9月3日 申请日期:2012年6月11日 优先权日:2012年1月5日
【发明者】道簱聪, 丸山清泰 申请人:三菱电机株式会社