多cpu系统和用于升级cpu的方法

文档序号:10654217阅读:345来源:国知局
多cpu系统和用于升级cpu的方法
【专利摘要】本发明公开了一种多CPU系统和用于升级CPU的方法。该多CPU系统包括多个CPU并且能够耦合到外部系统,该多CPU系统包括获取单元、标识信息获取单元以及更新控制单元。获取单元从外部系统获取组合文件,该组合文件是将与CPU相关联的固件与用于标识固件的标识信息组合的文件。标识信息获取单元获取包括在所获取的组合文件中的标识信息。更新控制单元基于从外部系统传送的升级指令,通过执行根据由标识信息获取单元所获取的标识信息的内容的处理,用组合文件的固件来更新作为升级对象的CPU的固件。
【专利说明】多CPU系统和用于升级CPU的方法
[0001 ] 本申请基于并且要求2015年3月24日提交的日本专利申请N0.2015-060927的权益,其全部公开内容通过引用并入本文。
技术领域
[0002]本发明涉及用于更新CPU(中央处理单元)的固件的技术。
【背景技术】
[0003]MSA(多源协议)是CFP(可插拔C形状因子)模块制造业中达成的协议,其中,定义了实现40Gbps应用或10Gbps应用的可热插拔光收发器的配置。在MSA中,在线升级方法被定义为可选功能。也就是说,关于一个CPU,在执行从一个非易失性存储器中的两侧的管理的同时由CPU操作的在线升级固件(CPU的固件)的方法对于本领域技术人员来说是公知的。将通过使用图5和图6来描述该方法。
[0004]图5是示出包括两个CPU的多CPU系统的配置的示例的图。图6示出了图5所示的每个CPU的固件的在线升级操作(CPU在线升级)的示例。在图5中,固件800是用于升级CPU 401的固件,并且固件900是用于升级CPU 411的固件。当CPU需要在线升级时,外部系统100执行图6所示的步骤S10、S20、S30、S40、S50和S60的处理,并且由此,固件800和固件900经由切换开关200被传送到需要被升级的CPU 401和411。当CPU 401接收固件800时,固件405用固件800来更新存储在非易失性存储器402中的固件404。当CPU 411接收固件900时,固件415用固件900来更新存储在非易失性存储器412中的固件414。
[0005]此外,图6示出了当更新CPU 401的固件404和CPU 411的固件414二者时的外部系统100的操作的示例。另一方面,当升级固件404和固件414中的一个时,外部系统100仅执行用于升级要升级的固件的处理。
[0006]此外,当存在三个或更多个CPU并且要升级的CPU的数目是三个或更多时,以要升级的CPU数目来重复执行在线升级CPU的处理。
[0007]也就是说,外部系统100必须管理CPU和CPU的固件版本号的组合,并且要管理的组合的数目等于系统中CPU的数目。
[0008]例如,在参考文献1(日本专利申请特开N0.2011-015382)中描述了用于简化固件版本号的管理的方法。在该方法中,公开了一种技术,其中用于所有单元的多个固件程序被集成到一个集成固件程序中,并且由此,所有单元的版本可以被升级。此外,在参考文献2(日本专利申请特开N0.2000-10784)中,公开了一种技术,该技术用于缩短在系统中使用的固件版本被升级时从外部系统下载固件所需要的时间。

【发明内容】

[0009]本发明的主要目标是提供一种用于减少管理多CPU系统中的CPU和CPU的固件版本号的组合的负担的技术。
[0010]根据本发明的示例性方面的多CPU系统包括多个CPU,并且能够耦合到外部系统,并且该多CPU系统包括:
[0011]获取单元,该获取单元从外部系统获取组合文件,该组合文件是将与CPU相关联的固件与用于标识固件的标识信息组合的文件;
[0012]标识信息获取单元,该标识信息获取单元获取包括在所获取的组合文件中的标识信息;以及
[0013]更新控制单元,该更新控制单元基于从外部系统传送的升级指令,通过执行根据由标识信息获取单元所获取的标识信息的内容的处理,用组合文件的固件来更新作为升级对象的CPU的固件。
[0014]根据本发明的示例性方面的方法是一种用于升级包括在可连接到外部系统的多CHJ系统中的CPU的方法,并且该方法包括:
[0015]从外部系统获取组合文件,该组合文件是将与CPU相关联的固件与用于标识固件的标识信息组合的文件;
[0016]获取包括在该组合文件中的标识信息;以及
[0017]基于从外部系统传送的升级指令,通过执行根据所获取的标识信息的内容的处理,用组合文件的固件来更新作为升级对象的CPU的固件。
[0018]根据本发明的示例性方面的计算机可读存储介质是一种存储由计算机执行的处理过程的计算机可读存储介质,并且该过程包括:
[0019]从外部系统获取组合文件,该组合文件是将与CPU相关联的固件与用于标识固件的标识信息组合的文件;
[0020]获取包括在该组合文件中的标识信息;以及
[0021]基于从外部系统传送的升级指令,通过执行根据所获取的标识信息的内容的处理,用组合文件的固件来更新作为升级对象的CPU的固件。
【附图说明】
[0022]从以下结合附图时的详细描中,本发明的示例性特征和优点将变得显而易见,在附图中:
[0023]图1是示出根据本发明的第一示例性实施例的多CPU系统的配置的框图;
[0024]图2是示出多CPU系统所保持的表数据的示例的图;
[0025]图3是用于解释在线升级根据第一示例性实施例的多CHJ系统的操作的示例的流程图;
[0026]图4是示出根据本发明的第二示例性实施例的多CPU系统的配置的框图;
[0027]图5是示出多CPU系统的配置的一个示例的框图;以及
[0028]图6是用于解释在线升级图5所示的多CPU系统的操作的示例的流程图。
【具体实施方式】
[0029]以下将参考附图描述根据本发明的示例性实施例。
[0030]〈第一示例性实施例〉
[0031]图1是示出根据本发明的第一示例性实施例的多CPU系统的配置的框图。根据第一示例性实施例的多CHJ系统3经由通信线路2被耦合到外部系统I。当在线升级多CPU系统3的CHJ时,外部系统I经由通信线路2向多CPU系统3传送用于在线升级的CPU升级指令和文件7。
[0032]用于在线升级的文件7是用于在线升级的组合文件。也就是说,用于在线升级的文件7包括固件5、升级ID文件501、固件6以及升级ID文件601。
[0033]固件5是用于升级包括在多CPU系统3中的CPU301的固件(用于更新的固件)。也就是说,固件5与CPU 301相关联。升级ID文件501包括表示固件5的类型的固件类型、以及表示固件5的文件大小的固件大小信息。固件6是用于升级包括在多CPU系统3中的CPU 311的固件(用于更新的固件)。也就是说,固件6与CPU 311相关联。升级ID文件601包括表示固件6的类型的固件类型、以及表示固件6的文件大小的固件大小信息。
[0034]多CPU系统3包括CPU(第一CPU示例)301、非易失性存储器(存储器单元)302以及易失性存储器(存储器单元)303<XPU 301与非易失性存储器302和易失性存储器303连接。非易失性存储器302存储与CPU 301有关的固件304。易失性存储器303存储由CPU 301执行的固件305。固件305是下述软件(固件304):例如,当多CPU系统3启动时,由CPU 301从非易失性存储器302读取该软件,并且将该软件存储在易失性存储器303中XPU 301不执行从非易失性存储器302读取的固件304,但是执行从非易失性存储器303读取的固件305。
[0035]多CPU系统3进一步包括CPU(第二CPU示例)311、非易失性存储器(存储器单元)312以及易失性存储器(存储器单元)313<XPU 311与非易失性存储器312和易失性存储器313连接。非易失性存储器312存储与CPU 311有关的固件314。易失性存储器313存储由CPU 311执行的固件315。固件315是下述软件(固件314):例如,当多CPU系统3启动时,由CPU 311从非易失性存储器312读取该软件,并且将该软件存储在易失性存储器313中。CPU 311不执行从非易失性存储器312读取的固件314,但是执行从非易失性存储器313读取的固件315。
[0036]此外,CPU 301经由通信线路4与CPU 311连接。CPU 301经由通信线路2与外部系统I親合。
[0037]易失性存储器303包括表10DiCPU301从外部系统I接收用于在线升级的CPU升级指令和文件7时,CPU 301基于表10执行处理。此外,表10还可以被存储在非易失性存储器302 中。
[0038]图2示出了表10的示例。表10包括“固件类型”以及与固件类型相关联的“处理内容”。固件类型是表示固件的类型的信息,并且由对于每个固件类型所给予的标识信息来表示。在图2所示的表10的固件类型中,固件类型“FWa”被给予CPU 301中的固件304和固件305,并且固件类型“FWb”被给予CPU 311中的固件314和固件315。
[0039]在图2中,“处理内容”示出了在CPU301基于用于在线升级的文件7确定了固件类型之后,由CPU 301执行的处理内容。也就是说,当固件类型是“FWa”时,CPU 301用包括在用于在线升级的文件7中的固件5来更新非易失性存储器302的固件304。此外,当固件类型是“FWb”时,CPU 301向CPU 311发布(传送)CPU升级指令。结果,CPU 311用包括在用于在线升级的文件7中的固件6来更新非易失性存储器312的固件314。也就是说,在第一示例性实施例中,CPU 301用作:从外部系统I获取组合文件的获取单元、获取包括在组合文件中的标识信息(可包括固件类型)的标识信息获取单元、以及控制固件更新的更新控制单元。
[0040]图3是示出根据第一示例性实施例的多CPU系统3中的CPU301的操作的示例的流程图。将参考图3描述根据第一示例性实施例的多CPU系统3的操作示例。
[0041 ]在根据第一示例性实施例的多CPU系统3中,当CPU 301从外部系统I接收用于在线升级的文件7和CPU升级指令时(图3的步骤SI),CPU 301执行易失性存储器303的固件305。结果,CPU 301检测包括在用于在线升级的文件7中的升级ID文件501。此外,CPU 301基于升级ID文件501来确定固件类型(步骤S2)。这里,CPU 301确定了固件类型是“FWa”。
[0042]CPU 301参考表10,并且执行与固件类型“FWa”相关联的处理(步骤S3)。具体地,CPU 301执行固件305,并且由此,CPU 301执行用包括在用于在线升级的文件7中的固件5来升级存储在非易失性存储器302中的固件304的处理。
[0043]此外,CPU301执行固件305,并且由此,检测包括在用于在线升级的文件7中的升级ID文件601。此外,CPU 301确定升级ID文件601的固件类型(步骤S4)。这里,CPU 301确定了固件类型是“FWb”。
[0044]CPU 301参考表10,并且执行与固件类型“FWb”相关联的处理(步骤S5)。具体地,CPU 301执行用于向经由通信链路4与CPU 301连接的CPU 311发布(或传送)CPU升级指令的处理。在该情况下,CPU 301向CPU 311传送用于在线升级的文件7或者从用于在线升级的文件7中提取的固件6。
[0045]结果,CPU311执行易失性存储器313的固件315,并且由此,执行用包括在用于在线升级的文件7中的固件6来升级存储在非易失性存储器312中的固件314的处理。
[0046]此外,CPU301向CPU 311传送用于在线升级的文件7或者包括在用于在线升级的文件7中的固件6的时刻没有必要被设置为与传送CPU升级指令的时刻一致。也就是说,用于在线升级的文件7或固件6需要在CPU 311执行用于更新固件314的处理之前,被传送到CPU311。结果,CPU 301能够在CPU 301传送CPU升级指令之后直至CPU 311执行更新固件314的处理的时段内的适当时刻,向CPU 311传送用于在线升级的文件7或固件6。
[0047]通过执行这样的处理,对包括在多CPU系统3中的CPU301和CPU 311执行在线升级处理,并且该处理结束。
[0048]此外,可能发生下述情况:包括在用于在线升级的文件7中的升级ID文件501和601既不包括固件类型“FWa”也不包括固件类型“FWb”。在该情况下,多CPU系统3的CPU 301结束在线升级处理。在该情况下,CPU 301可以向外部系统I通知表示处理无法被执行的信息。
[0049]此外,在第一示例性实施例中,为了便于理解,假设包括在多CPU系统3中的CPU的数目是两个。然而,包括在多CPU系统3中的CPU的数目不限于两个。多CPU系统3可以包括三个或更多个CPU。在这种情况下,能够与外部系统I进行通信的CPU的数目不限于一个,并且该数目可以是两个或更多个。此外,要升级的固件的类型的数目不限于两个。
[0050]顺便一提,在参考文献1(日本专利申请特开N0.2011-015382)中所公开的技术中,多CHJ系统必须管理关于与构成系统的每个CPU相对应的固件的版本号等的信息。对关于CPU和与CPU相关的固件的版本号的组合的信息进行管理的负担根据构成系统的CPU的数目而增加。也就是说,发生下述问题:当构成多CHJ系统的CPU的数目增加时,对关于CPU和与CPU相对应的固件的版本号的组合的信息进行管理的负担也增加。此外,预期由于管理多CPU系统中的人为错误而导致用错误的固件来升级CPU。在这种情况下,发生下述问题:由错误的固件升级的(PU无法正常地被启动。
[0051]相比之下,在根据第一示例性实施例的多CPU系统3中,可以通过执行根据从外部系统I接收的标识信息的处理来更新作为更新对象的CPU的固件。为此,多CPU系统3可以减少对CPU和CPU固件的版本号的组合进行管理的复杂性。此外,多CPU系统3能够有效地执行用于升级CPU固件的处理。此外,多CPU系统3能够避免下述问题:由于管理CPU固件的复杂性而导致的由于人为错误所产生的错误地更新不是更新对象的CPU。
[0052]〈第二示例性实施例〉
[0053]接下来,将描述根据本发明的第二示例性实施例。
[0054]图4是简化示出根据第二示例性实施例的多CPU系统的配置的框图。根据第二示例性实施例的多CPU系统3A被耦合到外部系统IA。多CPU系统3A包括多个CPU。此外,多CPU系统3A包括获取单元11、标识信息获取单元12以及更新控制单元13。
[0055]获取单元11从外部系统IA获取组合文件,在该组合文件中,与CPU相关联的固件与用于标识固件的标识信息组合。标识信息获取单元12获取包括在由获取单元11所获取的组合文件中的标识信息。更新控制单元13基于从外部系统IA传送的升级指令,执行根据由标识信息获取单元12所获取的标识信息的内容的处理。结果,更新控制单元13用由获取单元
11所获取的组合文件的固件来更新作为升级对象的(PU的固件。
[0056]根据第二示例性实施例的多CPU系统3A能够通过执行与从外部系统IA接收的标识信息相对应的处理,来更新作为升级对象的CPU的固件。为此,多CPU系统3A能够减少对CPU和CPU固件的版本号的组合进行管理的复杂性。此外,多CPU系统3A能够有效地执行用于升级CPU固件的处理。此外,多CPU系统3A能够避免由于管理CPU固件的复杂性而产生由于人为错误所导致的不是升级对象的(PU被错误地升级的问题。
[0057]上述每个示例性实施例中所示的配置还能够应用于网络设备的操作和维护,该网络设备位于公共通信运营商的商用光网络中的CFP MSA 100G/400G应答器数字相干模块的光缆的终点。
[0058]能够通过计算机来实现根据上述每个示例性实施例的多CPU系统3和3A的功能。也就是说,用于实现该功能的计算机程序(程序)被存储在计算机可读存储介质中。当计算机系统执行存储在存储介质中的程序时,能够实现多CPU系统3和3A的功能。此外,“计算机系统”包括OS以及诸如外围设备等的硬件。此外,“计算机可读存储介质”包括可移动存储介质(例如,软盘、磁光盘、ROM(只读存储器)或CD-ROM(只读光盘存储器))、以及诸如安装在计算机系统等中的硬盘驱动器等的存储设备。此外,“计算机可读存储介质”可以包括在计算机系统中提供的用作服务器或客户端的易失性存储器。此外,可以通过存储在存储介质中的程序和已经记录在计算机系统中的程序的组合来实现用于实现多CPU系统3和3A的功能的程序。例如,可通过使用诸如FPGA(现场可编程门阵列)等的可编程逻辑器件来实现多CPU系统3和3A的功能
[0059]此外,可以通过硬件来实现多CPU系统3和3A的功能的一部分或全部。
[0060]提供前面实施例的描述,以使得本领域的技术人员能够做出和使用本发明。而且,对于本领域的技术人员来说,对这些示例性实施例的各种修改将是显而易见的,并且在不使用创造性才能的情况下,本文限定的一般原理和具体示例可以应用于其他实施例。因此,本发明不旨在限于本文所述的示例性实施例,而是符合如权利要求和等同物的限定所定义的最广泛的范围。
[0061]此外,请注意,即使在诉讼期间修改了权利要求,
【发明人】的意图是保留所要求保护的发明的所有等同物。
【主权项】
1.一种多CHJ系统,所述多CPU系统包括多个CPU并且能够耦合到外部系统,所述多CPU系统包括: 获取单元,所述获取单元从所述外部系统获取组合文件,所述组合文件是将与所述CPU相关联的固件与用于标识所述固件的标识信息组合的文件; 标识信息获取单元,所述标识信息获取单元获取包括在所获取的组合文件中的所述标识信息;以及 更新控制单元,所述更新控制单元基于从所述外部系统传送的升级指令,通过执行根据由所述标识信息获取单元所获取的所述标识信息的内容的处理,用所述组合文件的固件来更新作为升级对象的所述(PU的固件。2.根据权利要求1所述的多CRJ系统, 其中,所述多个CPU包括耦合到所述外部系统的第一CPU以及连接到所述第一CPU的第二 CPU, 所述第一CPU具有作为所述更新控制单元的功能,并且当所述组合文件包括与所述第一 CHJ相关的用于更新的固件时,所述第一 CPU执行根据用于识别用于更新的所述固件的所述标识信息的处理,并且由此,利用用于更新的所述固件来更新存储在指派给所述第一 CPU的非易失性存储器中的固件,并且当所述组合文件包括与所述第二 CHJ相关的用于更新的所述固件时,所述第一 (PU向所述第二 CPU传送升级指令,并且由此使得所述第二 CPU利用所述更新的所述固件来更新存储在指派给所述第二 (PU的非易失性存储器中的所述固件。3.根据权利要求1所述的多CRJ系统, 其中,所述更新控制单元具有下述功能:从处理信息中读取根据由所述标识信息获取单元所获取的所述标识信息的所述处理的内容,并且执行所读取的处理,其中,所述标识信息与所述处理的内容相关联; 如果无法获取与由所述标识信息获取单元所获取的所述标识信息相匹配的所述处理的内容的信息,则所述更新控制单元停止根据所述升级的处理;并且 所述更新控制单元向所述外部系统通知表示无法升级所述固件的信息。4.根据权利要求1所述的多CRJ系统,进一步包括: 存储器单元,所述存储器单元存储处理信息,在所述处理信息中,所述标识信息与所述处理的内容相关联。5.一种方法,所述方法用于升级包括在能够连接到外部系统的多CPU系统中的CPU,所述方法包括: 从所述外部系统获取组合文件,所述组合文件是将与所述CPU相关联的固件与用于标识所述固件的标识信息组合的文件; 获取包括在所述组合文件中的所述标识信息;以及 基于从所述外部系统传送的升级指令,通过执行根据所获取的所述标识信息的内容的处理,用所述组合文件的固件来更新作为升级对象的所述CPU的固件。6.—种计算机可读存储介质,所述计算机可读存储介质存储由计算机执行的处理过程,所述过程包括: 从外部系统获取组合文件,所述组合文件是将与CPU相关联的固件与用于标识所述固件的标识信息组合的文件; 获取包括在所述组合文件中的所述标识信息;以及 基于从所述外部系统传送的升级指令,通过执行根据所获取的所述标识信息的内容的处理,用所述组合文件的固件来更新作为升级对象的所述CPU的固件。
【文档编号】G06F9/445GK106020855SQ201610171942
【公开日】2016年10月12日
【申请日】2016年3月24日
【发明人】关幸治
【申请人】日本电气株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1