固件激活设备以及固件激活方法与流程

文档序号:11276057阅读:344来源:国知局
固件激活设备以及固件激活方法与流程

本申请基于在2016年3月17日提交的日本专利申请号2016-053568并且要求其优先权的权益,其公开的全部内容通过引用合并于此。

本申请涉及固件激活设备以及固件激活方法,并且特别涉及用于控制器和光学收发器的固件激活设备以及固件激活方法。



背景技术:

近年来,随着信息通信服务的进步和多样化,要求光通信网络具有大容量和灵活性。结果,用于光纤网络连接的光收发器主要采用热插拔光收发器,以使得在系统操作开始之后添加或替代光收发器。

这样的光收发器的示例在日本专利申请未决公开no.2014-150426中描述。在日本专利申请决公开no.2014-150426中描述的有关的光收发器是用于100gbps(每秒千兆位)传输的热插拔光收发器模块的cfp(centum形状-因子可插拔)等。

有关的光收发器包括具有cpu(中央处理单元)的控制器和存储器、以及光发射器-接收器。存储器包括存储用于控制器的固件的rom(只读存储器)和ram(随机存取存储器)。cpu执行诸如存储在rom等中的固件的计算机程序,由此cpu作为整体控制光发射器-接收器。

rom包括第一存储体、第二存储体和第三存储体。第一存储体包括引导程序区和数据区。引导程序被存储在引导程序区,并且存储体切换数据被存储在数据区中。

存储在引导程序区中的引导程序充当光收发器的固件的一部分。cpu通过执行引导程序激活控制器。存储在数据区中的存储体切换数据是指示控制器在第二存储体和第三存储体之间使用哪个存储体的数据。也就是说,存储在数据区中的存储体切换数据是指示cpu在存储在第二存储体中的应用程序和存储在第三存储体中的应用程序之间执行哪个应用程序的数据。cpu参考存储在数据区中的存储体切换数据并且确定在存储在第二存储体中的应用程序和存储在第三存储体中的应用程序之间执行哪个应用程序。这里,存储在第二存储和第三存储体每个中的应用程序充当光收发器的固件的一部分。

当cpu通过一系列通信信号从外部设备接收到更新应用程序时,cpu将更新应用程序存储在与存储当前正在使用的应用程序的第二存储体不同的第三存储体中。当cpu通过一系列通信信号从外部设备接收到切换指令(也就是,切换应用程序的指令)时,cpu更新存储体切换数据的内容。特别地,当cpu接收到切换指令时,cpu对从存储当前使用的应用程序的第二存储体到存储更新应用程序的第三存储体的存储体切换数据的内容进行更新。

在那些处理之后,cpu执行软件-重置。因为软件重置是重新启动由cpu执行的计算机程序,而不是执行重置光发射器-接收器以及消除数据设置或ram数据。相应地,如果执行软件重置,并不发生光发射信号和光接收信号的瞬间中断。

因此,根据有关的光收发器,能在不瞬间中断光发射信号和光接收信号的情况下更新程序。



技术实现要素:

本发明的示例目的是提供固件激活设备和固件激活方法,其解决以下问题:基于激活区信息来激活多个固件程序中的一个,如果由指示区信息指示的固件程序出现故障,则激活处理变得复杂。

根据本发明的一个示例方面,固件激活设备包括获取装置,所述获取装置用于获取激活区选择信号和有效信息信号,所述激活区选择信号在存储在多个存储器区中的固件程序之间指定要被激活的固件程序,所述有效信息信号包括与激活区选择信号的有效性有关的信息;固件确定装置,所述固件确定装置用于基于激活区选择信号和有效信息信号确定要被激活的激活固件;以及固件设置装置,所述固件设置装置用于将所述激活固件设置为可执行的。

根据本发明的一个示例方面,固件激活方法包括获取激活区选择信号和有效信息信号,所述激活区选择信号在存储在多个存储器区中的固件程序之间指定要被激活的固件程序,所述有效信息信号包括与激活区选择信号的有效性有关的信息;基于激活区选择信号和有效信息信号确定要被激活的激活固件;以及将激活固件设置为可执行的。

附图说明

本发明的示例性的特征和优点在参考附图时从下面详细描述将变得显而易见。附图为:

图1是图示出根据本发明的第一示例实施例的固件激活设备的配置的框图;

图2是图示出根据本发明的第二示例实施例的控制器的配置的框图;

图3a是图示出根据本发明的第二示例实施例的控制器的操作的流程图;

图3b是图示出根据本发明的第二示例实施例的控制器的操作的流程图;

图3c是图示出根据本发明的第二示例实施例的控制器的操作的流程图;以及

图4是图示出包括根据本发明的第二示例实施例的控制器的光收发器的配置的框图。

具体实施方式

本发明的示例实施例将参考附图在以下描述。

[第一示例实施例]

图1是图示出根据本发明的第一示例实施例的固件激活设备100的配置的框图。

根据本示例实施例的固件激活设备100包括获取装置110、固件确定装置120、以及固件设置装置130。

获取装置110获取激活区选择信号s11和有效信息信号s12,激活区选择信号s11在存储在多个存储器区中的固件程序之间指定要被激活的固件程序,有效信息信号s12包括与激活区选择信号s11的有效性有关的信息。固件确定装置120基于激活区选择信号s11和有效信息信号s12来确定要被激活的激活固件。固件设置装置130将激活固件设置为可执行的。

该配置使得根据本示例实施例的固件激活设备100能够使用激活区选择信号s11和有效信息信号s12来在存储在多个存储器区的固件程序之间确定激活固件程序。即使存储在多个存储器区的固件程序之一出现故障,也可能通过激活区选择信号s11指定和激活存储在另一存储器区中的固件程序。

也就是说,根据本示例实施例,在激活多个固件程序之一时,即使固件程序之一发生故障,固件激活设备100也使得可能通过简单处理激活另一固件程序。

这里,固件确定装置120可以被配置成基于有效信息信号s12来确定激活区选择信号s11是否有效。这使得可能防止激活区选择信号s11误操作。固件确定装置120可以被配置为如果确定激活区选择信号s11有效,则选择由激活区选择信号s11指定的固件作为激活固件。

固件激活设备100可以被配置成包括存储装置,所述存储装置用于存储关于所述激活固件的信息,该信息被命名为激活区信息。在这样的情况下,固件确定装置120基于有效信息信号s12来确定激活区选择信号s11是否有效,如上述情况。固件确定装置120可以被配置成如果确定激活区选择信号s11无效,则基于存储在上述存储装置中的激活区信息来确定激活固件。

接下来,将描述根据本示例实施例的固件激活方法。

根据本示例实施例的固件激活方法包括:首先,获取激活区选择信号和有效信息信号,激活区选择信号在存储在多个存储器区中的固件程序之间指定要被激活的固件程序,有效信息信号包括与激活区选择信号的有效性有关的信息。基于激活区选择信号和有效信息信号确定要被激活的、被命名为激活固件的固件。激活固件被设置为可执行的。

这里,确定激活固件的处理可以包括基于有效信息信号来确定激活区选择信号是否有效的处理。其可以被配置为包括如果确定激活区选择信号有效,则选择由激活区选择信号指定的固件作为激活固件的处理。

上述处理的每一个可以由计算机执行。这里,计算机是例如包括在光收发器的控制装置中的中央处理单元(cpu)等。固件激活程序可以被使用以使计算机充当获取装置、固件确定装置和固件设置装置。

这里,获取装置获取激活区选择信号和有效信息信号,激活区选择信号在存储在多个存储器区中的固件程序之间指定要被激活的固件程序,有效信息信号包括与激活区选择信号的有效性有关的信息。固件确定装置基于激活区选择信号和有效信息信号来确定要被激活的激活固件。固件设置装置将激活固件设置为可执行的。

在这样的情况下,固件确定装置可以被配置成基于有效信息信号来确定激活区选择信号是否有效。它可以被配置为如果确定激活区选择信号有效,则选择由激活区选择信号指定的固件作为激活固件。

如上描述,根据本示例实施例的固件激活设备100、固件激活方法以及固件激活程序,在激活多个固件程序之一时,即使固件程序之一发生故障,也能够简单地激活另一固件程序。

[第二示例实施例]

接下来,将会描述本发明的第二示例实施例。图2是图示出根据本发明的第二示例实施例的控制器200的配置的框图。控制器200是激活例如包括在光收发器的控制单元中的cpu(中央处理单元)等的模块。

控制器200包括cpu(处理器)210、易失性存储器(第一存储装置)220以及非易失性存储器(第二存储装置)230。

cpu210从外部系统20接收cpu开始信号s20、激活区选择信号s21和有效信息信号s22。这里,激活区选择信号s21是在存储在多个存储器区中的固件程序之间指定要被激活的固件程序的信号。有效信息信号s22是包括与激活区选择信号s21的有效性有关的信息的信号。

借接收cpu开始信号s20的机会,cpu210将存储在非易失性存储器230中的引导加载器(bootloader)程序p21加载到易失性存储器220中的引导加载器程序区。cpu210具有从易失性存储器220的地址“n”读取引导加载器程序p11的功能。根据第一示例实施例,固件激活设备100由被读取到cpu210内的引导加载器程序p11配置。

引导加载器程序p11优先于存储在非易失性存储器230中的激活区信息p22,来参考激活区选择信号s21和有效信息信号s22。引导加载器程序p11基于激活区选择信号s21和激活区信息p22来确定非易失性存储器230的、在其中存储有要被激活的固件的区。这里,假设非易失性存储器230包括两个激活区,也就是,由a侧和b侧组成的两个激活侧。

根据上述确定,引导加载器程序p11复制存储在非易失性存储器230中的a侧的固件p23或b侧的固件p24,并且将其布置在包括在易失性存储器220中的用于cpu210操作的操作固件区。也就是说,作为要被激活的固件的激活固件被设置为可执行的。引导加载器程序p11从易失性存储器220中的操作固件区的前导地址(地址“n1”)激活用于cpu210操作的固件p12作为激活固件。

如上所述,根据本示例实施例,控制器200包括引导加载器程序p11。引导加载器程序p11接收cpu开始信号s20、激活区选择信号s21来指定作为激活侧的a侧或b侧,并且接收有效信息信号s22来防止激活区选择信号s21误操作。

这里,例如,引导加载器程序p11读取激活区选择信号s21和有效信息信号s22的极性,并且确定非易失性存储器230的、在其中存储有要被激活的固件的激活侧(a侧或b侧)。优先于读取存储在非易失性存储器230中的激活区的信息,先执行激活侧的确定。引导加载器程序p11激活存储在已经被确定的激活侧中的固件。

根据本示例实施例的控制器200的配置使得cpu210能够激活固件,即使存储在非易失性存储器230的激活区的固件程序之一的数据损坏。这是因为包括在根据本示例实施例的控制器200中的引导加载器程序p11优先地读取激活区选择信号s21和有效信息信号s22,并且因此可以确定激活侧。也就是说,根据本示例实施例的控制器200,能够在cpu210上激活由来自外部系统20的信号控制指定的激活区(激活侧)中的固件。

如上所述,在根据本示例实施例的控制器200中,引导加载器程序p11被读取到cpu210中,由其配置固件激活设备。这实现了上述的效果,即在激活多个固件程序之一时,即使固件程序之一发生故障,也能够简单地激活另一固件程序。

接下来,将会描述根据本示例实施例的控制器200的操作。图3a、图3b和图3c是描述根据本示例实施例的控制器200的操作的流程图。

激活控制器200中的cpu210的操作将如下描述。包括在控制器200中的cpu从外部系统20接收激活区选择信号s21和有效信息信号s22(步骤s201)。cpu210从外部系统20接收cpu开始信号s20(步骤s202)。

随后,cpu210从非易失性存储器230的地址“n”读取引导加载器程序p21,并且将其复制在易失性存储器220的地址“n”中(步骤s203)。被复制在易失性存储器220中的引导加载器程序p11开始在cpu210上运行(步骤s204)。

引导加载器程序p11读取有效信息信号s22(步骤s205)并且确定激活区选择信号s21是否有效(步骤s206)。如果有效信息信号s22是有效的(步骤s206/是),则引导加载器程序p11读取激活区选择信号s21(图3b中步骤s207)并且确定由激活区选择信号s21指示的激活侧是a侧还是b侧(步骤s208)。

如果由激活区选择信号s21指示的激活侧是a侧(步骤s208/是),则引导加载器程序p11确定要被复制的地址是非易失性存储器230的a侧的固件p23被存储在其中的地址“n2”(步骤s209)。引导加载器程序p11将来自与非易失性存储器230中的a侧的激活侧相对应的地址“n2”的a侧固件(fw)复制到易失性存储器220的地址“n1”中(步骤s210)。

另一方面,如果由激活区选择信号s21指示的激活侧是b侧(步骤s208/否),则引导加载器程序p11确定要被复制的地址是非易失性存储器230的b侧的固件p24被存储在其中的地址“n3”(步骤s211)。引导加载器程序p11将与来自非易失性存储器230中的b侧的激活侧相对应的地址“n3”的b侧固件(fw)复制到易失性存储器220的地址“n1”中(步骤s212)。

如果激活区选择信号s21无效(图3a中步骤s206/否),则引导加载器程序p11读取存储在非易失性存储器230中的激活区信息p22(图3c中的步骤301)并且确定激活侧是a侧还是b侧(步骤s302)。随后的处理与上述步骤(图3b中步骤s209至s212)类似。

最后,用于cpu210的、被复制在易失性存储器220中的固件p12开始在cpu210上运行(步骤s213);结果,激活cpu210的操作完成。

如上所述,根据本示例实施例的控制器200,可以获得以下的效果。也就是说,即使存储在非易失性存储器230中的、由激活区信息指示的激活侧(a侧或b侧)的固件损坏,没有损坏的固件可以被从外部系统、通过指示另一激活侧来激活。这使得即使在设置系统包括控制器200之后,有可能在安装环境中激活cpu210。这排除了需要召回诸如cpu激活模块的安装的控制器200,并且即使固件程序之一损坏也可能避免费用增加。

根据本示例实施例的控制器200可以被安装在光收发器中。这样的光收发器的示例在图4中图示出。光收发器300包括根据本示例实施例的控制器200,用于发射由具有数据信号的调制激光获得的光信号的光发射装置310,以及用于通过接收和解调光信号来接收数据信号的光接收装置320。控制器200控制光发射装置310和光接收装置320的操作。

这里,光收发器300是例如,作为用于100gbps(每秒千兆)传输的热插拔光收发器模块的cfp(centum形状因子可插拔)等。在线升级功能在作为cfp的行业标准规范的msa(多源协议)中指定。在线升级的功能,包括非易失性存储器中的具有两侧(a侧和b侧)的固件,参照a侧和b侧上的激活侧信息,被定义为规范。在这样的情况下,cpu激活失败可以由在线升级操作期间的人为失误引起。

然而,根据本示例实施例的光收发器300,如上描述,能够防止这样问题发生。

如上所述,在日本专利申请未决公开no.2014-150426中描述的有关的光收发器,包括在控制器中的cpu基于存储在rom的数据区中的存储体切换数据(激活区信息)执行应用程序(固件)。也就是说,cpu是指激活区信息并且执行存储在第二存储体或第三存储体中的固件。

此时,如果固件有故障,诸如存储在由激活区信息指示的存储体中的固件损坏,cpu不能执行固件。在这样的情况下,有关的光收发器需要分别执行更新激活区信息的内容的处理以便执行存储在其他存储体中固件。结果,问题是由包括在有关光收发器中的控制器执行的处理变得复杂。

因此,问题是在基于激活区信息激活多个固件程序中的一个中,如果由激活区信息指示的固件程序发生故障,则激活处理会变得复杂。

根据本发明的示例优点是,根据本发明的固件激活设备以及固件激活方法,在激活多个固件程序之一时,即使固件程序之一发生故障,也能够简单地激活另一固件程序。

尽管本发明已经参考其示例实施例被特别的示出以及描述,但是本发明不限于这些实施例。本领域的技术人员将理解,可以做出各种形式和细节变化而不偏离由权利要求限定的本发明的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1