同步控制设备、信息处理设备以及同步管理方法

文档序号:6580764阅读:144来源:国知局
专利名称:同步控制设备、信息处理设备以及同步管理方法
技术领域
本发明涉及一种同步控制设备、信息处理设备以及同步管理方法。
背景技术
在当前的大规模和关键任务的服务器系统中,通过使硬件配置冗余而使得整个 系统不会由于硬件故障等停止是已知的。因此,对于中央处理单元(Central Processing Unit, CPU),也开发了冗余CPU技术,其中具有相同配置的多个CPU被预先嵌入到系统中。 总有两个CPU同时实施相同的处理,来自可选的CPU的处理结果被输出到外部。在任意一 个CPU出错的情况下,将出错的CPU与系统隔离,而剩余的一个正常CPU继续处理,并将来 自正常CPU的处理结果输出到外部。 自然地,可能存在以下情况不是由于硬件故障而只是由于软件错误,通过一个 CPU执行的处理被延迟或挂起,由此造成多个CPU之间的同步延迟。在此情况下,可能出现 以下情况可以根据错误的程度,通过立即停止其中发生异常的CPU并在发生异常的CPU中 再现(初始化)正常CPU的内部信息,来恢复两个CPU彼此同步的状态(即冗余配置)。
因此,需要一种同步控制设备,其监视两个CPU之间是否存在同步延迟,且在发生 同步延迟的情况下执行和重试再同步处理,所述再同步处理通过对发生故障的CPU进行复 位和初始化来再同步该发生故障的CPU。
[专利文件1]日本专利申请公开No. 2006-302289
[专利文件2]日本专利申请公开No. 2005-285119

发明内容
根据本发明的一个方面,提供一种同步控制设备,包括计数器,进行计数和输出 得到的计数信息;超时时间保存装置,保存预定超时时间和输出所述超时时间;比较器,比 较从所述计数器输出的计数信息和从所述超时时间保存装置输出的超时时间;同步控制 器,通过比较第一处理器的输出和第二处理器的输出来监视第一处理器和第二处理器之间 的同步,以及当检测到第一处理器的输出和第二处理器的输出失匹配时开始计数;其中所 述比较器检测到计数信息和超时时间匹配,所述比较器停止其中发生同步延迟的第一处理 器或第二处理器。 本发明的上述实施方案意在作为示例,本发明的全部实施方案不限于包括以上描 述的特征的方案。


图1是示出服务器系统的总体配置的框图; 图2是示出系统板的电路配置的框图; 图3是示出再同步计时器和超时控制电路的内部配置的框图; 图4A和4B是示出再同步处理的流程图; 图5是示出再同步处理的细节的流程图;以及 图6是示出再同步处理的细节的流程图。
具体实施例方式
下面将详细描述本发明的优选实施例,在附图中示出了其示例,其中相同的标号 在整个附图中代表相同的部件。 此后,基于附图,给出对作为所公开的信息处理设备的实施例的服务器系统的描 述。 首先,参照图1到图3的框图给出服务器系统的硬件配置的描述。
图1是示出服务器系统的示例配置的框图。如图1所示,服务器系统被实施为包 括多个系统板(#0到#n) 1的多处理器系统。多个系统板(#0到#n) 1通过全局地址交叉架 构部件(crossbar) 3和全局数据交叉架构部件4相互连接。此外,全局地址交叉架构部件3 和全局数据交叉架构部件4还连接到对应于系统板(#0到#n) 1的具有相同的多个序列号 (#0到#n)的多个输入输出单元(#0到#n)2。 全局地址交叉架构部件3是地址中继单元,其将从每个系统板(#0到#n) 1发出的命 令以及作为该命令的对象的地址中继到另一系统板(#0到#n) 1和输入输出单元(#0到#n) 2。
另外,全局数据交叉架构部件4是处理单元,其中继系统板(#0到#n) 1之间的数 据、输入输出单元(#0到#n)2之间的数据以及系统板(#0到#n) 1和输入输出单元(#0到 fe)2之间的数据。 此外,系统控制/管理设备5连接到系统板(#0到#n) 1和输入输出单元(#0到 #n) 2。系统控制/管理设备5是服务处理器或控制台设备,其根据系统管理员输入的控制信 号执行整体管理,诸如每个系统板(#0到#n) 1和输入输出单元(#0到#n)2中包括的寄存 器组(下面将基于图2和图3描述其细节)中的各种设定值的设定以及分区配置的设定。 分区是通过系统板(#0到#n) 1和输入输出单元(#0到#n)2的组合而配置的系统。
图2是示出每个系统板(糾到fe)l上安装的电路配置的框图。如图2所示,用作 第一处理器的CPUO 6和用作第二处理器的CPU1 6在连接到相应的CPU总线07和CPU总线 17的状态下,被安装在系统板1上。CPU0 6和CPU1 6是一对实现冗余的CPU(冗余CPU), 除了具有相同的配置,它们也同步地操作。 通过在系统板1上安装的多处理器(冗余CPU)系统而配置的信息处理设备包括 多个CPU (CPU 0 6和CPU 1 6)、多个总线(CPU总线0 7和CPU总线1 7)、时钟控制电路23 和23、固件组件15、北桥6、存储器12以及存储器控制器10。来自全局地址交叉架构部件 3的所通知的地址和命令通过每个CPU总线0 7和CPU总线1 7被输入到每个CPUO 6和 CPU1 6,以及被输入到固件组件15和存储器控制器10。 通过或不通过时钟控制电路23和23是由北桥6中的开关/再同步控制电路14(将在下文描述)控制。时钟控制电路23和23是开关,其允许从设置在系统板1之外 的未示出的时钟产生装置向CPU总线07和CPU总线17供给的时钟(用作第一时钟的外部 时钟)通过或不通过。时钟控制电路23防止连接到CPU总线0 7和CPU总线1 7的CPU 0 6和CPU1 6被供给时钟,因为时钟没有被输入到CPU 0 6和CPU1 6中,所以CPU 0 6和 CPU1 6变得不能工作和降级。 固件组件15连接到每个CPU0 6和CPU1 6以便进行读取。固件组件15是非易失 性闪存存储固件(例如基本输入输出系统(Basic InputOutput System, BIOS)),如上所述, 当每个CPU0 6禾PCPU1 6进行CPU复位或中断时,首先读取BI0S。每个CPU0 6禾P CPU1 6 基于固件来执行再同步处理,即,在被北桥6 (开关/再同步控制电路14)中断的情况下的 中断处理(图4和图5所示的"正常CPU中断固件处理"),参见下文描述。在进行复位的情 况下,每个CPU0 6和CPU1 6还执行启动处理(图4A和4B所示的"复位固件启动处理")。
另外,存储器控制器10执行写入处理,其将从全局数据交叉架构部件4输入的数 据写入到由输入地址指示的存储器12的存储位置。存储器控制器10连接到存储各种数据 的存储器12。存储器控制器10还执行读取从存储位置获得的数据的读取处理,并将该数据 发送到全局数据交叉架构部件4或每个CPU0 6和CPU1 6。 接着,北桥6检测到配置冗余CPU的CPU0 6和CPU1 6中的一个CPU (—个模块 CPU)中发生了故障和降级,造成同步故障。北桥6是对应于同步控制设备的电路组。北桥 6与按照固件组件15中存储的固件操作的CPU0 6或CPU1 6同步地进行冗余CPU再同步处理。 在此,"同步中断"是指配置冗余CPU的一对CPU不能同步操作,"同步中断"由"同 步延迟"引起。在同步延迟中,由CPUO 6或CPU1 6中的一个执行的处理落在CPU0 6或CPU1 6中的另一个执行的处理之后。另外,"冗余CPU再同步处理"是用于使CPUO 6和CPU1 6 再次返回到冗余配置的处理。由于北桥6是通过独立于CPU0 6和CPU1 6而操作的硬件配 置的,所以可以执行这种冗余CPU再同步处理而不造成系统上运行的操作系统(Operation System, OS)的关闭/重启。 在图2中,被虚线包围的检查电路11和11、 CPU总线同步检查电路13、开关/再 同步控制电路14、再同步计时器和超时控制电路16、切换开关17、复位控制寄存器18、再同 步控制寄存器19、错误指示寄存器20、命令解码器21和相位同步电路(PLL0)22配置北桥 6。此后,将给出配置北桥6的这些电路中的每一个电路的功能的描述。
首先,命令解码器21解码从系统控制/管理设备5向北桥6发出的命令。接着, 命令解码器21根据解码的结果对再同步控制寄存器19和再同步计时器和超时控制电路 16(再同步最大时间设定寄存器163)进行设定值的写入/读取。 经由对应的CPU总线0 7和CPU总线1 7连接到CPUO 6和CPU 1 6的输出端的 检查电路11和11接收从CPUO 6和CPU1 6向全局地址交叉架构部件3发出的包,进行奇 偶性、错误检查及校正(Error Checking andCorrecting,ECC)等检查。当通过检查检测到 错误时,检查电路11和11向开关/再同步控制电路14给出错误通知。
连接到CPU总线0 7和CPU总线1 7的CPU总线同步检查电路13对每个CPU总 线进行同步检查。即,CPU总线同步检查电路13检查配置冗余CPU的CPU对是否进行同步 操作。由此,当检测到非同步时,CPU总线同步检查电路13向开关/再同步控制电路14给
6出错误通知。 在CPU0 6或CPU1 6中检测到错误的情况下,其中被检测到错误的CPUO 6或CPU1 6向开关/再同步控制电路14给出错误通知(内部错误通知)。 除了上面描述的之外,CPUO 6和CPU1 6、检查电路11和11、 CPU总线同步检查电 路13、再同步计时器和超时控制电路16 (计时器/最大时间比较电路161)、复位控制寄存 器18、再同步控制寄存器19、切换开关17以及错误指示寄存器20连接到开关/再同步控 制电路14。 其中,切换开关17根据来自开关/再同步控制电路14的指令进行CPU总线0 7 和CPU总线17之间的切换。通过切换开关17进行CPU总线07和CPU总线1 7之间的切 换,例如可以决定通过CPU总线O 7和CPU总线1 7中的哪一个将发出的命令输入到全局 地址交叉架构部件3。 复位控制寄存器18是管理每个CPUO 6和CPU1 6的状态以便在每个CPUO 6和 CPU1 6上进行复位控制的寄存器。例如,当在冗余CPU再同步处理中向存储器12保存正常 CPUO 6或正常CPU 1 6的缓存数据完成时,基于固件组件15中存储的固件,通过CPU0 6或 CPU1 6的正常CPU的控制(正常CPU中断固件处理),将对应于正常CPU的保存完成标记 设置在复位控制寄存器18中(S106和SI 10)。 再同步控制寄存器19是被设置有针对两个CPU (CPUO 6和CPU1 6)进行的再同步 处理执行的次数、该次数的上限(再同步可能上限)以及再同步可能性标记的寄存器。再 同步可能上限是经由命令解码器21通过系统控制/管理装置5 (由系统管理员操作)设置 的。另外,再同步可能性标记是指示是否可以再同步两个CPU (CPUO 6和CPU1 6)的标记。 由此,正常CPUO 6或正常CPU1 6根据存储在固件组件15中的固件而操作且在再同步控制 寄存器19中记录再同步处理执行的实际次数(S308),正常CPUO 6或正常CPU1 6将该实际 次数与再同步控制寄存器19中设定的再同步可能上限进行比较(S306和S307)。在执行 的次数小于再同步可能上限的情况下,CPUO 6或CPU1 6确定可以再次重试再同步处理,例 如,在再同步控制寄存器19中设定标记1作为再同步可能性标记(S308),而在执行的次数 达到再同步可能上限的情况下,确定不能再次重试再同步处理,例如,设定标记O作为再同 步可能性标记(S309)。 错误指示寄存器20是存储由北桥6 (开关/再同步控制电路14、以及再同步计时 器和超时控制电路16(计时器/最大计时器比较电路161))检测到的各种故障的信息的寄 存器。例如,在开关/再同步控制电路14已经接收到之前描述的每个错误通知的情况下, 所通知的错误内容被存储在错误指示寄存器20中。另外,其中发生同步延迟的异常CPU总 线0 7或异常CPU总线1 7的ID被存储在错误指示寄存器20中。此外,在再同步处理执 行的次数达到上限的情况下,或在再同步周期达到上限的情况下,同步不可能标记(对应 于同步延迟信息)被存储在用作同步延迟信息保存装置的错误指示寄存器20中。
基于固件组件15中存储的固件执行复位固件初始设定处理的CPU06或CPU1 6,根 据在启动之后同步不可能标记是否设定在错误指示寄存器20中,执行再同步处理(在没有 设定同步不可能标记的情况下在S302及之后),或独立地开始(在设定了同步不可能标 记的情况下在S310及之后)。接着,例如通过获取存储在错误指示寄存器20中的其它错 误信息和向系统控制/管理装置5通知该信息,来向系统管理员通知故障信息也是可接受的。 再同步计时器和超时控制电路16是对由系统控制/管理装置5经由命令解码器 21设定的再同步最大时间和再同步时间进行比较的电路。在时间超过再同步最大时间的情 况下,再同步计时器和超时控制电路16请求开关/再同步控制电路14仅仅激活正常CPU0 6或正常CPU1 6的正常CPU和正常CPU总线0 7或正常CPU总线1 7的正常CPU总线,并 执行复位。 如图3所示,再同步计时器和超时控制电路16被配置成包括通过再同步最大时间
设定寄存器163、再同步计时器寄存器162以及计时器/最大时间比较电路161。 再同步处理时间上限(超时时间)经由命令解码器21通过被系统管理员操作的
系统控制/管理设备5设定在再同步最大时间设定寄存器163 (对应于超时时间保存装置)中。 再同步计时器寄存器162 (对应于计数器)利用从相位同步电路(PLL0) 22提供的 时钟(第一时钟)通过对寄存器值(对应于计数信息)进行计数来测量再同步时间。由此, 由于使用了来自相位同步电路(PLL0)22的时钟(不同于CPU时钟系统的系统时钟),可以 测量时间而不依靠每个CPUO 6和CPU1 6的状态,也不会出现由于再同步的复位而使得寄 存器值被清空。在再同步计数器寄存器162以及其被清零的情况下,基于存储在固件组件 15中的固件,通过正常CPU(CPU0 6或CPU1 6)的控制(正常CPU中断固件处理和固件启动 处理),可以开始(S101)和停止(S107和S305)再同步计数器寄存器162的计数,另外,再 同步计数器寄存器162的计数也可以通过计时器/最大时间比较电路161来停止(S501)。
计时器/最大时间比较电路161(对应于比较器)比较再同步最大时间设定寄存 器163的值和再同步计时器寄存器162的值,且在两个值匹配以及清空再同步计时器寄存 器162为零和停止计数(S501)的情况下,在错误指示寄存器20中设置同步不可能标记 (S502),以及请求开关/再同步控制电路14仅仅激活正常CPU 6和正常CPU总线7和实施 复位(S503)。 开关/再同步控制电路14是以下的电路,其通过从每个CPU0 6和CPU1 6、每个 检查电路11和11或CPU总线同步检查电路13接收错误通知,将两个CPU(CPUO 6和CPU1 6)中的两个或正常的一个复位或中断、控制切换开关17的操作以及在错误指示寄存器20 中设定标记。 具体地,开关/再同步控制电路14在接收到错误通知的情况下,通过将时钟控制 电路23设定为停止向连接到其中发生错误的CPUO 6或CPU16的CPU总线0 7或CPU总线 1 7提供时钟,以及停止从CPU总线0 7或CPU总线1 7向全局地址交叉架构部件3发出命 令,来禁止CPU总线0 7或CPU总线17 (S002),在错误指示寄存器20中记录CPU总线0 7 或CPU总线1 7中哪一个被禁止。 另外,通过接收错误通知而被触发的开关/再同步控制电路14向连接到正常CPU 总线0 7或正常CPU总线1 7的正常CPUO 6或正常CPUl 6通知中断(S003)。结果,如上 文所述,正常CPUO 6或正常CPU1 6执行图4和图5所示的"正常CPU中断固件处理"。艮卩, 其中没有发生同步延迟的处理器(CPUO 6或CPUl 6)被启动。 另外,开关/再同步控制电路14在监视复位控制寄存器18和再同步控制寄存器 19并确认对正常CPUO 6或正常CPU16设置了保存完成标记时,在设置了再同步可能性标记=1的情况下向每个CPUO 6和CPU1 6发起复位(S202)。在再同步可能性标记=0被建立 的情况下,开关/再同步控制电路14在错误指示寄存器20中设置同步不可能标记(S401), 通过参照存储在错误指示寄存器20中的被禁止的CPU总线0 7或CPU总线17的身份(ID) 和使异常CPUO 6或异常CPU1 6侧的时钟控制电路23停止向CPU总线0 7或CPU总线1 7 提供时钟(S402),可以仅向正常CPU06或正常CPU1 6发起复位(S403),并迫使切换开关17 切换到正常CPU06或正常CPU1 6侧(S404)。如上文所述,被发起复位的CPUO 6或CPU16 执行启动处理(图4A和4B所示的"复位固件启动处理")。 另外,开关/再同步控制电路14在被计时器/最大时间比较电路161请求仅仅激 活正常CPU 6和正常CPU总线7和实施复位时,通过参照存储在错误指示寄存器20中的被 禁止的CPU总线0 7或CPU总线1 7的记录和使异常CPUO 6或异常CPU1 6侧的时钟控制 电路23停止向CPU总线0 7或CPU总线1 7提供时钟(S503),仅仅向正常CPUO 6或正常 CPU16发起复位(S504),并将切换开关17强制切换到正常CPUO 6或正常CPU1 6侧(S505)。
上文描述的CPU (CPUO 6和CPU1 6)、固件组件15、 CPU总线同步检查电路13以 及开关/再同步控制电路14对应于同步控制器,该同步控制器通过比较来自第一处理器 (CPUO 6)的输出和来自第二处理器(CPU1 6)的输出,来监视第一和第二处理器之间的同 步(CPU总线同步检查电路13的功能)。在来自第一处理器的输出和来自第二处理器的输 出不匹配的情况下,同步控制器初始化计数器,使计数器开始计数(开关/再同步控制电路 14、CPU0 6以及CPU1 6固件组件15的功能)。此外,当比较器检测到计数信息和超时时间 匹配时,同步控制器停止其中发生同步延迟的第一处理器或第二处理器(开关/再同步控 制电路14的功能)。
再同步处理 下面,基于图4到图6的流程图,给出关于北桥6的操作顺序和由CPUO 6或CPU1
6基于存储在固件组件15中的固件执行的处理的流程的描述。在每个附图中,列a表示北
桥6的操作顺序,列13表示CPUO 6或CPU1 6基于固件执行的处理的流程。 首先,通过接通主电源,开关/再同步控制电路14开始图4A和4B的a中的操作,
在第一步骤S001,基于来自每个CPU0 6和CPU1 6、每个检查电路11和ll或CPU总线同步
检查电路13的错误通知,来监视任一 CPU6的同步延迟即冗余CPU同步故障。 接着,开关/再同步控制电路14当检测到冗余CPU同步故障时,使处理从SOOl
进入S002。开关/再同步控制电路14通过停止向连接到发生同步延迟的CPU0 6或CPU1
6 (下文称为"异常CPU 6")的CPU总线0 7或CPU总线1 7 (下文称为"异常CPU总线7")
提供时钟来停止a操作。 在接着的S003,开关/再同步控制电路14向位于操作没有停止的一侧的连接到 CPU总线0 7或CPU总线1 7 (下文称为"正常CPU总线7")的CPUO 6或CPU1 6 (在下文 称为"正常CPU 6")给出异常CPU 6停止的中断通知,S卩"一个模块停止"。
接着,接收了中断通知的正常CPU 6读取存储在固件组件15中的固件,开始图4A 和4B的13中示出的正常CPU中断固件处理。因此,正常CPU 6在开始之后在第一步骤S100 中确认再同步计时器寄存器162的状态。接着,在再同步计时器寄存器162位于计时器计 数的中部的情况下,正常CPU 6使处理直接进入S103,而在再同步计时器寄存器162停止且 计时器计数还未开始的情况下,使处理进入SlOl。
在S101,正常CPU 6在清零再同步计时器寄存器162之后开始计数,使计时器/最 大时间比较电路14开始比较再同步计时器寄存器162的计数值和再同步上限设定寄存器 163的值。 在接着的S102,正常CPU 6在错误指示寄存器20中记录操作已经在S002停止的 CPU总线7的ID。当完成S102时,正常CPU 6使处理进入S103。 在S103,正常CPU 6参照在再同步控制寄存器19中设定的再同步可能性标记,判 断是否可以执行冗余CPU再同步。因此,在因为设置了表示再同步是可以的值(在上述示 例中的标记l)所以确定可以执行冗余CPU再同步的情况下,正常CPU 6使处理进入S104。 与此相反,在因为设置了表示再同步是不可以的值(在上述示例中的标记O)所以确定不能 执行冗余CPU再同步(NG)的情况下,正常CPU 6使处理进入S107,使用一个模块(正常CPU 总线)继续处理。 在S104,正常CPU 6将内部信息(其可以是CPU中的寄存器的内容等,包括直接位 于同步故障之前的地址)保存(复制)到存储器12。然而,在再同步处理被重试的情况下 (下文描述的在执行S309或S308之后处理进行循环的情况下),由于内部信息已被保存到 存储器12中,不再对存储器进行保存。 在随后的S105,正常CPU(CPU06或CPU16)将正常CPU 6中保持的缓存数据反映 (缓存闪存)到存储器中。当将缓存数据保存到存储器完成时,正常CPU(CPU06或CPU16) 使处理进入S106。 在S106,正常CPU 6在复位控制寄存器18中设置对应于正常CPU 6的保存完成标 记。随后,由正常CPU执行的正常CPU中断固件处理变为等待(进入无限循环。
同时,开关/再同步控制电路14通过保存完成标记被设置在复位控制寄存器18 中而被触发开始。在具有表示再同步是不允许的值(上文描述的示例中的标记O)的再同 步可能性标记未被设置在再同步控制寄存器19的情况下,开关/再同步控制电路14进行 图4A和4B中的a中的S201及之后的操作。在具有表示再同步是不允许的值的再同步可 能性标记(上文描述的示例中的标记O)被设置在再同步控制寄存器19的情况下,开关/ 再同步控制电路14进行图5的a中描述的S401及之后的操作。 在S201,开关/再同步控制电路14将时钟控制电路23和23设置成向CPU总线0 7和CPU总线1 7提供时钟。 在随后的S202,开关/再同步控制电路14向系统板1中的每个CPU06和CPU1 6 发起复位。通过复位,存储器中的内容被保持为原样。 作为在S202中发起复位的结果而被复位的每个CPUO 6和CPU1 6读取存储在固 件组件15中的固件,开始图4A和4B的13中示出的复位固件处理。接着,在开始后第一步 骤S301中,CPU 6判断同步不可能标记是否被设定在错误指示寄存器20中。接着,如果设 置了同步不可能标记,CPU 6使处理进入S310,而如果没有设置同步不可能标记,CPU 6使 处理进入S302。在开关/再同步控制电路14通过执行S202发起复位的情况下,没有设置 同步不可能标记,意味着S302及之后的处理被执行。为了方便,S310及之后的处理将在给 出图5的描述之后描述。 在S302,CPU 6开始恢复被保存到存储器12的正常CPU的内部信息。即使在作为 处理对象的CPU 6是连接到异常CPU总线7的异常CPU6的情况下,由于利用正常CPU 6的
10内部信息进行恢复,所以仍可以用正常CPU 6恢复冗余部件。 在随后的S303,CPU 6通过配置错误指示寄存器20的记录,检查在S302中的CPU 内部信息恢复处理开始之后是否存在不同步。由此,如果存在不同步,CPU 6使处理进入 S306,而如果CPU内部信息恢复处理完成而没有任何不同步,则使处理进入S304。
在S306, CPU 6比较在再同步控制寄存器19中设定的再同步处理执行的次数和 再同步可能上限。由此,如果执行次数达到再同步可能上限(S307:是),CPU 6确定不能进 一步地重试再同步处理,并在S309在再同步控制寄存器19中设定表示再同步不可能的值 (例如标记O)。与此相反,如果执行的次数仍小于再同步可能上限(S307:否),CPU 6确定 可以重试再同步处理,并在S308,通过使再同步控制寄存器19中记录的执行次数的值增加 一,在再同步控制寄存器19中设定表示再同步可能的值(例如标记1)。由此,在任何情况 下,CPU 6通知开关/再同步控制电路14可以再次执行S002及之后的操作。
同时,在S304, CPU 6等待冗余CPU对中之一的另一 CPU 6中通过S302进行的内 部信息恢复完成。接着,当在另一 CPU6中也完成CPU内部信息恢复处理时,两个CPU被恢 复到紧接着同步故障之前的地址,因此CPU 6使处理进入S305。 在S305,CPU 6禁止计时器/最大计时器比较电路161,停止再同步计时器寄存器 162的计时器计数并将其寄存器值清零。当完成S305时,CPU 6可以在冗余CPU中重启正 常处理(S312)。 接着,将参照图5给出在S103确定再同步不可能的情况下在S107及之后进行的 处理。 在S107,CPU 6禁止计时器/最大时间比较电路161的比较,停止再同步计时器寄 存器162的计时器计数,并将其寄存器值清零。 在随后的S108,CPU 6将正常CPU 6的内部信息(在CPU的寄存器等中,该内部信
息包括紧接着同步故障之前的地址)保存(复制)到存储器12。然而,在再同步处理被重
试的情况下,由于内部信息已经被保存到存储器12,所以不再进行对存储器的保存。 在随后的S109,正常CPU 6将正常CPU 6中保持的缓存数据反映(缓存闪存)在
存储器中。当将缓存数据保存到存储器12完成时,正常CPU6使处理进入SllO。 在S110,正常CPU 6在复位控制寄存器18中设置对应于正常CPU 6的保存完成标
记。随后,被正常CPU执行的正常CPU中断固件处理等待(进入无限循环)。 其间,开关/再同步控制电路14通过保存完成标记被设置在复位控制寄存器18
中而被触发开始,在具有表示再同步是不可能的值(上文描述的示例中的标记O)的再同步
可能性标记被设置在再同步控制寄存器19的情况下,开关/再同步控制电路14进行图5
的a中的S401及之后的处理。 在S401,开关/再同步控制电路14在错误指示寄存器20中设定同步不可能标记。
在随后的S402中,为了切断由在错误指示寄存器20中记录的异常CPU总线7的 ID所指示的异常总线7上的时钟控制,开关/再同步控制电路14设定连接到异常总线7的 时钟控制电路23,由此将异常总线7降级。 接着,开关/再同步控制电路14除了在S403仅仅向正常CPU 6(即,连接到并非 由在错误指示寄存器20中记录的ID所指示的异常CPU总线7的CPU总线7的CPU 6,即, 连接到正常CPU总线7的CPU6)发起复位,还在S404将切换开关17固定到正常CPU总线
在所述复位中,在停止向异常CPU总线7和异常CPU 6的提供时钟的状态下,只有 正常CPU 6和正常CPU总线7开始再次操作。S卩,复位的正常CPU 6读取固件组件15中 存储的固件,开始图4A和4B的13中所示的复位固件处理。由此,在开始之后的第一步骤 S301, CPU 6检查同步不可能标记是否设置在错误指示寄存器20中,而这种此情况下由于 同步不可能标记被设置,所以执行S310及之后的处理。 在S310,正常CPU 6参照错误指示寄存器20,向系统控制/管理设备5通知错误 集合的内容。 在随后的S311,正常CPU 6开始恢复被保存到存储器12的正常CPU6的内部信息。 当该恢复处理完成时,正常CPU 6可以在独立操作中重启正常处理(S312)。
如前所述,当开关/再同步控制电路14操作且每个CPU 6也按照固件执行处理 时,在S101使计时器/最大计时器比较电路161开始比较,除非在S107比较被禁止,计时 器/最大计时器比较电路161继续比较再同步计时器寄存器162的计数值和再同步上限设 定寄存器163的值。由此,当检测到再同步计时器寄存器162的计数值达到再同步上限设 定寄存器163的值时,计时器/最大时间比较电路161向开关/再同步控制电路14通知该 事实。接收到该通知的开关/再同步控制电路14通过中断来开始图6所示的操作。在存 在这一中断的情况下,开关/再同步控制电路14在第一步骤S501禁止计时器/最大时间 比较电路161的比较,停止再同步计时器寄存器162的计时器计数,并将其寄存器值清零。
在随后的S502,开关/再同步控制电路14在错误指示寄存器20中设置同步不可 能标记。 在随后的S503,为了切断由在错误指示寄存器20中记录的异常CPU总线7的ID 所指示的异常总线7上的时钟控制,开关/再同步控制电路14对连接到异常总线7的时钟 控制电路23进行设置,由此使异常总线7降级。 接着,开关/再同步控制电路14除了在S504仅仅向正常CPU 6(即,连接到并非 由在错误指示寄存器20中记录的ID所指示的异常CPU总线7的CPU总线7的CPU 6,即, 连接到正常CPU总线7的CPU6)发起复位,还在S505将切换开关17固定到正常CPU总线 在所述复位中,在停止向异常CPU总线7和异常CPU 6的提供时钟的状态下,只有 正常CPU 6和正常CPU总线7开始再次操作。S卩,复位的正常CPU 6读取固件组件15中 存储的固件,开始图4A和4B的13中所示的复位固件处理。由此,在开始之后的第一步骤 S301, CPU 6检查同步不可能标记是否设置在错误指示寄存器20中,而这种此情况下由于 同步不可能标记被设置,所以执行S310及之后的处理。 在S310,正常CPU 6参照错误指示寄存器20,向系统控制/管理设备5通知错误 集合的内容。 在随后的S311,正常CPU 6开始恢复被保存到存储器12的正常CPU6的内部信息。
当该恢复处理完成时,正常CPU 6可以在独立操作中重启正常处理(S312)。 根据以上述方式配置的服务器系统,在配置冗余CPU的两个CPUO 6和CPU1 6中
的一个发生同步延迟时,尝试再同步处理,但在再同步处理执行中发生不同步时,则重试再
同步处理。然而,即使在由于同步延迟具有严重原因而使再同步处理不断重复的情况下,通过再同步计时器寄存器162来测量从再同步开始所经过的时间。当计时器/最大时间比较 电路161检测到所经过的时间达到再同步最大时间设定寄存器163中记录的再同步处理时 间上限时,断开连接到其中发生同步延迟的异常CPU的异常CPU总线的时钟,之后仅仅复位 其中不发生同步延迟的正常CPU。因此,由于通过正常CPU的独立操作实现了较早的正常处 理重启,可以避免正常操作被长时间停止的缺陷。 尽管示出和描述了了本发明的多个优选实施方案,本领域技术人员显然可以认识 到,在不偏离本发明的构思或精神的情况下,可对这些实施例进行修改,本发明的范围由权 利要求和权利要求的等同限定。
权利要求
一种连接到第一处理器和第二处理器的同步控制设备,包括计数器,进行计数和输出得到的计数信息;超时时间保存装置,保存预定的超时时间和输出所述超时时间;比较器,比较从所述计数器输出的计数信息和从所述超时时间保存装置输出的超时时间;同步控制器,通过比较所述第一处理器的输出和所述第二处理器的输出来监视所述第一处理器和所述第二处理器之间的同步,和当检测到所述第一处理器的输出和所述第二处理器的输出不匹配时开始计数;以及在所述比较器检测到所述计数信息和所述超时时间匹配的情况下,所述比较器停止发生了同步延迟的第一处理器或第二处理器。
2. 根据权利要求1所述的同步控制设备,其中所述比较器在所述计数器开始计数之后检测到所述计数信息和所述超时信息匹配,所述同步控制设备初始化第一处理器和第二处理器中的未发生同步延迟的一个并停止所述第一处理器的输出和所述第二处理器的输出之间的比较。
3. 根据权利要求l所述的同步控制设备,还包括同步延迟信息保存装置,其中如果所述比较器在所述计数器开始计数之后检测到所述计数信息和所述超时信息匹配,则所述同步控制设备将同步延迟信息存储在所述同步延迟信息保存装置中。
4. 根据权利要求l所述的同步控制设备,其中所述计数器基于从外部输入到所述同步控制设备的第一时钟进行计数。
5. —种信息处理设备,具有第一处理器、第二处理器和连接到所述第一处理器和所述第二处理器的同步控制设备,所述同步控制设备包括计数器,进行计数和输出得到的计数信息;超时时间保存装置,保存预定的超时时间和输出所述超时时间;比较器,比较从所述计数器输出的计数信息和从所述超时时间保存装置输出的超时时间;同步控制器,通过比较所述第一处理器的输出和所述第二处理器的输出来监视所述第一处理器和所述第二处理器之间的同步,和当检测到所述第一处理器的输出和所述第二处理器的输出不匹配时开始计数;以及在所述比较器检测到所述计数信息和所述超时时间匹配的情况下,所述比较器停止发生了同步延迟的第一处理器或第二处理器。
6. 根据权利要求5所述的信息处理设备,其中如果所述比较器在所述计数器开始计数之后检测到所述计数信息和所述超时信息匹配,则所述同步控制设备初始化第一处理器和第二处理器中的未发生同步延迟的一个并停止所述第一处理器的输出和所述第二处理器的输出之间的比较。
7. 根据权利要求5所述的信息处理设备,其中所述同步控制设备还包括同步延迟信息保存装置,其中如果所述比较器在所述计数器开始计数之后检测到所述计数信息和所述超时信息匹配,则所述同步控制设备将同步延迟信息存储在所述同步延迟信息保存装置中。
8. 根据权利要求6所述的信息处理设备,其中所述计数器基于从外部输入到所述同步控制设备的第一时钟进行计数。
9. 一种用于通过连接到第一处理器和第二处理器的同步控制设备来管理第一处理器和第二处理器之间的同步的同步管理方法,所述方法包括比较所述第一处理器的输出和所述第二处理器的输出以监视所述第一处理器和所述第二处理器之间的同步;当检测到所述第一处理器的输出和所述第二处理器的输出之间的不匹配时开始计数;在开始计数后将计数信息与给定的超时时间比较;以及在所述比较器检测到所述计数信息和所述超时时间匹配的情况下,停止发生了同步延迟的所述第一处理器或所述第二处理器。
10. 根据权利要求9所述的同步控制方法,还包括在计数开始之后检测到所述计数信息和所述超时时间之间的时间匹配的情况下,初始化第一处理器和第二处理器中的未发生同步延迟的一个,停止所述第一处理器的输出和所述第二处理器的输出之间的比较。
全文摘要
本发明提供同步控制设备、信息处理设备、以及同步管理方法。该同步控制设备包括计数器,进行计数和输出得到的计数信息;超时时间保存装置,保存预定的超时时间和输出该超时时间;比较器,比较从计数器输出的计数信息和从超时时间保存装置输出的超时时间;同步控制器,通过比较第一处理器的输出和第二处理器的输出来监视第一处理器和第二处理器之间的同步,和当检测到第一处理器的输出和第二处理器的输出不匹配时开始计数;其中在比较器检测到计数信息和超时时间匹配的情况下,比较器停止发生了同步延迟的第一处理器或第二处理器。
文档编号G06F11/16GK101714108SQ20091017765
公开日2010年5月26日 申请日期2009年9月30日 优先权日2008年10月3日
发明者阿形真司 申请人:富士通株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1