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

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

Info

Publication number
CN101714108A
CN101714108A CN200910177655A CN200910177655A CN101714108A CN 101714108 A CN101714108 A CN 101714108A CN 200910177655 A CN200910177655 A CN 200910177655A CN 200910177655 A CN200910177655 A CN 200910177655A CN 101714108 A CN101714108 A CN 101714108A
Authority
CN
China
Prior art keywords
processor
time
output
cpu
control devices
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN200910177655A
Other languages
English (en)
Other versions
CN101714108B (zh
Inventor
阿形真司
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of CN101714108A publication Critical patent/CN101714108A/zh
Application granted granted Critical
Publication of CN101714108B publication Critical patent/CN101714108B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/165Error detection by comparing the output of redundant processing systems with continued operation after detection of the error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1679Temporal synchronisation or re-synchronisation of redundant processing components at clock signal level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明提供同步控制设备、信息处理设备、以及同步管理方法。该同步控制设备包括:计数器,进行计数和输出得到的计数信息;超时时间保存装置,保存预定的超时时间和输出该超时时间;比较器,比较从计数器输出的计数信息和从超时时间保存装置输出的超时时间;同步控制器,通过比较第一处理器的输出和第二处理器的输出来监视第一处理器和第二处理器之间的同步,和当检测到第一处理器的输出和第二处理器的输出不匹配时开始计数;其中在比较器检测到计数信息和超时时间匹配的情况下,比较器停止发生了同步延迟的第一处理器或第二处理器。

Description

同步控制设备、信息处理设备以及同步管理方法
相关申请的交叉引用
本申请基于2008年10月3日向日本专利局提交的在先日本专利申请No.2008-258728并要求其优先权,其全部内容通过引用合并于此。
技术领域
本发明涉及一种同步控制设备、信息处理设备以及同步管理方法。
背景技术
在当前的大规模和关键任务的服务器***中,通过使硬件配置冗余而使得整个***不会由于硬件故障等停止是已知的。因此,对于中央处理单元(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到#n)2之间的数据。
此外,***控制/管理设备5连接到***板(#0到#n)1和输入输出单元(#0到#n)2。***控制/管理设备5是服务处理器或控制台设备,其根据***管理员输入的控制信号执行整体管理,诸如每个***板(#0到#n)1和输入输出单元(#0到#n)2中包括的寄存器组(下面将基于图2和图3描述其细节)中的各种设定值的设定以及分区配置的设定。分区是通过***板(#0到#n)1和输入输出单元(#0到#n)2的组合而配置的***。
图2是示出每个***板(#0到#n)1上安装的电路配置的框图。如图2所示,用作第一处理器的CPU0 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被输入到每个CPU0 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和CPU1 6进行CPU复位或中断时,首先读取BIOS。每个CPU0 6和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不能同步操作,“同步中断”由“同步延迟”引起。在同步延迟中,由CPU0 6或CPU1 6中的一个执行的处理落在CPU0 6或CPU1 6中的另一个执行的处理之后。另外,“冗余CPU再同步处理”是用于使CPU0 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连接到CPU0 6和CPU 1 6的输出端的检查电路11和11接收从CPU0 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给出错误通知。
在CPU0 6或CPU1 6中检测到错误的情况下,其中被检测到错误的CPU0 6或CPU1 6向开关/再同步控制电路14给出错误通知(内部错误通知)。
除了上面描述的之外,CPU0 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总线0 7和CPU总线1 7中的哪一个将发出的命令输入到全局地址交叉架构部件3。
复位控制寄存器18是管理每个CPU0 6和CPU1 6的状态以便在每个CPU0 6和CPU1 6上进行复位控制的寄存器。例如,当在冗余CPU再同步处理中向存储器12保存正常CPU0 6或正常CPU 1 6的缓存数据完成时,基于固件组件15中存储的固件,通过CPU0 6或CPU1 6的正常CPU的控制(正常CPU中断固件处理),将对应于正常CPU的保存完成标记设置在复位控制寄存器18中(S106和S110)。
再同步控制寄存器19是被设置有针对两个CPU(CPU0 6和CPU1 6)进行的再同步处理执行的次数、该次数的上限(再同步可能上限)以及再同步可能性标记的寄存器。再同步可能上限是经由命令解码器21通过***控制/管理装置5(由***管理员操作)设置的。另外,再同步可能性标记是指示是否可以再同步两个CPU(CPU0 6和CPU1 6)的标记。由此,正常CPU0 6或正常CPU1 6根据存储在固件组件15中的固件而操作且在再同步控制寄存器19中记录再同步处理执行的实际次数(S308),正常CPU0 6或正常CPU1 6将该实际次数与再同步控制寄存器19中设定的再同步可能上限进行比较(S306和S307)。在执行的次数小于再同步可能上限的情况下,CPU0 6或CPU1 6确定可以再次重试再同步处理,例如,在再同步控制寄存器19中设定标记1作为再同步可能性标记(S308),而在执行的次数达到再同步可能上限的情况下,确定不能再次重试再同步处理,例如,设定标记0作为再同步可能性标记(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时钟***的***时钟),可以测量时间而不依靠每个CPU0 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(CPU0 6和CPU1 6)中的两个或正常的一个复位或中断、控制切换开关17的操作以及在错误指示寄存器20中设定标记。
具体地,开关/再同步控制电路14在接收到错误通知的情况下,通过将时钟控制电路23设定为停止向连接到其中发生错误的CPU0 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的正常CPU0 6或正常CPU1 6通知中断(S003)。结果,如上文所述,正常CPU0 6或正常CPU1 6执行图4和图5所示的“正常CPU中断固件处理”。即,其中没有发生同步延迟的处理器(CPU0 6或CPU1 6)被启动。
另外,开关/再同步控制电路14在监视复位控制寄存器18和再同步控制寄存器19并确认对正常CPU0 6或正常CPU16设置了保存完成标记时,在设置了再同步可能性标记=1的情况下向每个CPU0 6和CPU1 6发起复位(S202)。在再同步可能性标记=0被建立的情况下,开关/再同步控制电路14在错误指示寄存器20中设置同步不可能标记(S401),通过参照存储在错误指示寄存器20中的被禁止的CPU总线0 7或CPU总线17的身份(ID)和使异常CPU0 6或异常CPU1 6侧的时钟控制电路23停止向CPU总线0 7或CPU总线1 7提供时钟(S402),可以仅向正常CPU06或正常CPU1 6发起复位(S403),并迫使切换开关17切换到正常CPU06或正常CPU1 6侧(S404)。如上文所述,被发起复位的CPU0 6或CPU16执行启动处理(图4A和4B所示的“复位固件启动处理”)。
另外,开关/再同步控制电路14在被计时器/最大时间比较电路161请求仅仅激活正常CPU 6和正常CPU总线7和实施复位时,通过参照存储在错误指示寄存器20中的被禁止的CPU总线0 7或CPU总线1 7的记录和使异常CPU0 6或异常CPU1 6侧的时钟控制电路23停止向CPU总线0 7或CPU总线1 7提供时钟(S503),仅仅向正常CPU0 6或正常CPU16发起复位(S504),并将切换开关17强制切换到正常CPU0 6或正常CPU1 6侧(S505)。
上文描述的CPU(CPU0 6和CPU1 6)、固件组件15、CPU总线同步检查电路13以及开关/再同步控制电路14对应于同步控制器,该同步控制器通过比较来自第一处理器(CPU0 6)的输出和来自第二处理器(CPU1 6)的输出,来监视第一和第二处理器之间的同步(CPU总线同步检查电路13的功能)。在来自第一处理器的输出和来自第二处理器的输出不匹配的情况下,同步控制器初始化计数器,使计数器开始计数(开关/再同步控制电路14、CPU0 6以及CPU1 6固件组件15的功能)。此外,当比较器检测到计数信息和超时时间匹配时,同步控制器停止其中发生同步延迟的第一处理器或第二处理器(开关/再同步控制电路14的功能)。
再同步处理
下面,基于图4到图6的流程图,给出关于北桥6的操作顺序和由CPU0 6或CPU1 6基于存储在固件组件15中的固件执行的处理的流程的描述。在每个附图中,列α表示北桥6的操作顺序,列β表示CPU0 6或CPU1 6基于固件执行的处理的流程。
首先,通过接通主电源,开关/再同步控制电路14开始图4A和4B的α中的操作,在第一步骤S001,基于来自每个CPU0 6和CPU1 6、每个检查电路11和11或CPU总线同步检查电路13的错误通知,来监视任一CPU6的同步延迟即冗余CPU同步故障。
接着,开关/再同步控制电路14当检测到冗余CPU同步故障时,使处理从S001进入S002。开关/再同步控制电路14通过停止向连接到发生同步延迟的CPU0 6或CPU1 6(下文称为“异常CPU 6”)的CPU总线0 7或CPU总线1 7(下文称为“异常CPU总线7”)提供时钟来停止α操作。
在接着的S003,开关/再同步控制电路14向位于操作没有停止的一侧的连接到CPU总线0 7或CPU总线1 7(下文称为“正常CPU总线7”)的CPU0 6或CPU1 6(在下文称为“正常CPU 6”)给出异常CPU 6停止的中断通知,即“一个模块停止”。
接着,接收了中断通知的正常CPU 6读取存储在固件组件15中的固件,开始图4A和4B的β中示出的正常CPU中断固件处理。因此,正常CPU 6在开始之后在第一步骤S100中确认再同步计时器寄存器162的状态。接着,在再同步计时器寄存器162位于计时器计数的中部的情况下,正常CPU 6使处理直接进入S103,而在再同步计时器寄存器162停止且计时器计数还未开始的情况下,使处理进入S101。
在S101,正常CPU 6在清零再同步计时器寄存器162之后开始计数,使计时器/最大时间比较电路14开始比较再同步计时器寄存器162的计数值和再同步上限设定寄存器163的值。
在接着的S102,正常CPU 6在错误指示寄存器20中记录操作已经在S002停止的CPU总线7的ID。当完成S102时,正常CPU 6使处理进入S103。
在S103,正常CPU 6参照在再同步控制寄存器19中设定的再同步可能性标记,判断是否可以执行冗余CPU再同步。因此,在因为设置了表示再同步是可以的值(在上述示例中的标记1)所以确定可以执行冗余CPU再同步的情况下,正常CPU 6使处理进入S104。与此相反,在因为设置了表示再同步是不可以的值(在上述示例中的标记0)所以确定不能执行冗余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中而被触发开始。在具有表示再同步是不允许的值(上文描述的示例中的标记0)的再同步可能性标记未被设置在再同步控制寄存器19的情况下,开关/再同步控制电路14进行图4A和4B中的α中的S201及之后的操作。在具有表示再同步是不允许的值的再同步可能性标记(上文描述的示例中的标记0)被设置在再同步控制寄存器19的情况下,开关/再同步控制电路14进行图5的α中描述的S401及之后的操作。
在S201,开关/再同步控制电路14将时钟控制电路23和23设置成向CPU总线0 7和CPU总线1 7提供时钟。
在随后的S202,开关/再同步控制电路14向***板1中的每个CPU06和CPU1 6发起复位。通过复位,存储器中的内容被保持为原样。
作为在S202中发起复位的结果而被复位的每个CPU0 6和CPU1 6读取存储在固件组件15中的固件,开始图4A和4B的β中示出的复位固件处理。接着,在开始后第一步骤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的内部信息进行恢复,所以仍可以用正常CPU 6恢复冗余部件。
在随后的S303,CPU 6通过配置错误指示寄存器20的记录,检查在S302中的CPU内部信息恢复处理开始之后是否存在不同步。由此,如果存在不同步,CPU 6使处理进入S306,而如果CPU内部信息恢复处理完成而没有任何不同步,则使处理进入S304。
在S306,CPU 6比较在再同步控制寄存器19中设定的再同步处理执行的次数和再同步可能上限。由此,如果执行次数达到再同步可能上限(S307:是),CPU 6确定不能进一步地重试再同步处理,并在S309在再同步控制寄存器19中设定表示再同步不可能的值(例如标记0)。与此相反,如果执行的次数仍小于再同步可能上限(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使处理进入S110。
在S110,正常CPU 6在复位控制寄存器18中设置对应于正常CPU 6的保存完成标记。随后,被正常CPU执行的正常CPU中断固件处理等待(进入无限循环)。
其间,开关/再同步控制电路14通过保存完成标记被设置在复位控制寄存器18中而被触发开始,在具有表示再同步是不可能的值(上文描述的示例中的标记0)的再同步可能性标记被设置在再同步控制寄存器19的情况下,开关/再同步控制电路14进行图5的α中的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总线7侧。
在所述复位中,在停止向异常CPU总线7和异常CPU 6的提供时钟的状态下,只有正常CPU 6和正常CPU总线7开始再次操作。即,复位的正常CPU 6读取固件组件15中存储的固件,开始图4A和4B的β中所示的复位固件处理。由此,在开始之后的第一步骤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总线7侧。
在所述复位中,在停止向异常CPU总线7和异常CPU 6的提供时钟的状态下,只有正常CPU 6和正常CPU总线7开始再次操作。即,复位的正常CPU 6读取固件组件15中存储的固件,开始图4A和4B的β中所示的复位固件处理。由此,在开始之后的第一步骤S301,CPU 6检查同步不可能标记是否设置在错误指示寄存器20中,而这种此情况下由于同步不可能标记被设置,所以执行S310及之后的处理。
在S310,正常CPU 6参照错误指示寄存器20,向***控制/管理设备5通知错误集合的内容。
在随后的S311,正常CPU 6开始恢复被保存到存储器12的正常CPU6的内部信息。当该恢复处理完成时,正常CPU 6可以在独立操作中重启正常处理(S312)。
根据以上述方式配置的服务器***,在配置冗余CPU的两个CPU0 6和CPU1 6中的一个发生同步延迟时,尝试再同步处理,但在再同步处理执行中发生不同步时,则重试再同步处理。然而,即使在由于同步延迟具有严重原因而使再同步处理不断重复的情况下,通过再同步计时器寄存器162来测量从再同步开始所经过的时间。当计时器/最大时间比较电路161检测到所经过的时间达到再同步最大时间设定寄存器163中记录的再同步处理时间上限时,断开连接到其中发生同步延迟的异常CPU的异常CPU总线的时钟,之后仅仅复位其中不发生同步延迟的正常CPU。因此,由于通过正常CPU的独立操作实现了较早的正常处理重启,可以避免正常操作被长时间停止的缺陷。
尽管示出和描述了了本发明的多个优选实施方案,本领域技术人员显然可以认识到,在不偏离本发明的构思或精神的情况下,可对这些实施例进行修改,本发明的范围由权利要求和权利要求的等同限定。

Claims (10)

1.一种连接到第一处理器和第二处理器的同步控制设备,包括:
计数器,进行计数和输出得到的计数信息;
超时时间保存装置,保存预定的超时时间和输出所述超时时间;
比较器,比较从所述计数器输出的计数信息和从所述超时时间保存装置输出的超时时间;
同步控制器,通过比较所述第一处理器的输出和所述第二处理器的输出来监视所述第一处理器和所述第二处理器之间的同步,和当检测到所述第一处理器的输出和所述第二处理器的输出不匹配时开始计数;以及
在所述比较器检测到所述计数信息和所述超时时间匹配的情况下,所述比较器停止发生了同步延迟的第一处理器或第二处理器。
2.根据权利要求1所述的同步控制设备,其中所述比较器在所述计数器开始计数之后检测到所述计数信息和所述超时信息匹配,所述同步控制设备初始化第一处理器和第二处理器中的未发生同步延迟的一个并停止所述第一处理器的输出和所述第二处理器的输出之间的比较。
3.根据权利要求1所述的同步控制设备,还包括:
同步延迟信息保存装置,其中如果所述比较器在所述计数器开始计数之后检测到所述计数信息和所述超时信息匹配,则所述同步控制设备将同步延迟信息存储在所述同步延迟信息保存装置中。
4.根据权利要求1所述的同步控制设备,其中
所述计数器基于从外部输入到所述同步控制设备的第一时钟进行计数。
5.一种信息处理设备,具有第一处理器、第二处理器和连接到所述第一处理器和所述第二处理器的同步控制设备,所述同步控制设备包括:
计数器,进行计数和输出得到的计数信息;
超时时间保存装置,保存预定的超时时间和输出所述超时时间;
比较器,比较从所述计数器输出的计数信息和从所述超时时间保存装置输出的超时时间;
同步控制器,通过比较所述第一处理器的输出和所述第二处理器的输出来监视所述第一处理器和所述第二处理器之间的同步,和当检测到所述第一处理器的输出和所述第二处理器的输出不匹配时开始计数;以及
在所述比较器检测到所述计数信息和所述超时时间匹配的情况下,所述比较器停止发生了同步延迟的第一处理器或第二处理器。
6.根据权利要求5所述的信息处理设备,其中如果所述比较器在所述计数器开始计数之后检测到所述计数信息和所述超时信息匹配,则所述同步控制设备初始化第一处理器和第二处理器中的未发生同步延迟的一个并停止所述第一处理器的输出和所述第二处理器的输出之间的比较。
7.根据权利要求5所述的信息处理设备,其中所述同步控制设备还包括:
同步延迟信息保存装置,其中如果所述比较器在所述计数器开始计数之后检测到所述计数信息和所述超时信息匹配,则所述同步控制设备将同步延迟信息存储在所述同步延迟信息保存装置中。
8.根据权利要求6所述的信息处理设备,其中
所述计数器基于从外部输入到所述同步控制设备的第一时钟进行计数。
9.一种用于通过连接到第一处理器和第二处理器的同步控制设备来管理第一处理器和第二处理器之间的同步的同步管理方法,所述方法包括:
比较所述第一处理器的输出和所述第二处理器的输出以监视所述第一处理器和所述第二处理器之间的同步;
当检测到所述第一处理器的输出和所述第二处理器的输出之间的不匹配时开始计数;
在开始计数后将计数信息与给定的超时时间比较;以及
在所述比较器检测到所述计数信息和所述超时时间匹配的情况下,停止发生了同步延迟的所述第一处理器或所述第二处理器。
10.根据权利要求9所述的同步控制方法,还包括:
在计数开始之后检测到所述计数信息和所述超时时间之间的时间匹配的情况下,初始化第一处理器和第二处理器中的未发生同步延迟的一个,停止所述第一处理器的输出和所述第二处理器的输出之间的比较。
CN200910177655.5A 2008-10-03 2009-09-30 同步控制设备、信息处理设备以及同步管理方法 Expired - Fee Related CN101714108B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008-258728 2008-10-03
JP2008258728A JP5347414B2 (ja) 2008-10-03 2008-10-03 同期制御装置,情報処理装置及び同期管理方法

Publications (2)

Publication Number Publication Date
CN101714108A true CN101714108A (zh) 2010-05-26
CN101714108B CN101714108B (zh) 2014-05-07

Family

ID=41360116

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910177655.5A Expired - Fee Related CN101714108B (zh) 2008-10-03 2009-09-30 同步控制设备、信息处理设备以及同步管理方法

Country Status (5)

Country Link
US (1) US8667315B2 (zh)
EP (1) EP2175371B1 (zh)
JP (1) JP5347414B2 (zh)
KR (1) KR101121116B1 (zh)
CN (1) CN101714108B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102043690A (zh) * 2010-12-31 2011-05-04 上海华为技术有限公司 多核处理器故障处理方法及多核处理器
CN102469474A (zh) * 2010-11-15 2012-05-23 中兴通讯股份有限公司 一种通信设备异常信息的处理方法及装置
CN109815020A (zh) * 2017-11-21 2019-05-28 波音公司 指令处理对准***
CN112714226A (zh) * 2019-10-25 2021-04-27 株式会社理光 电子控制装置、电子控制装置执行的方法及存储介质
CN113050752A (zh) * 2021-03-29 2021-06-29 中车青岛四方车辆研究所有限公司 用于两个中央处理器时间同步的方法和存储介质
CN113886039A (zh) * 2021-09-18 2022-01-04 中汽创智科技有限公司 一种调度表同步方法、装置、电子设备及存储介质

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009050161A1 (de) * 2009-10-21 2011-04-28 Siemens Aktiengesellschaft Verfahren und Vorrichtung zum Testen eines Systems mit zumindest einer Mehrzahl von parallel ausführbaren Softwareeinheiten
DE102012010143B3 (de) 2012-05-24 2013-11-14 Phoenix Contact Gmbh & Co. Kg Analogsignal-Eingangsschaltung mit einer Anzahl von Analogsignal-Erfassungskanälen
JP5601353B2 (ja) * 2012-06-29 2014-10-08 横河電機株式会社 ネットワーク管理システム
JP6050083B2 (ja) * 2012-10-18 2016-12-21 ルネサスエレクトロニクス株式会社 半導体装置
TWI571712B (zh) * 2015-10-29 2017-02-21 行政院原子能委員會核能研究所 多重容錯控制系統及其同步方法
JP6729407B2 (ja) * 2017-01-13 2020-07-22 株式会社デンソー マイクロコンピュータ
FR3071688B1 (fr) * 2017-09-22 2019-09-27 Thales Procede de syncronisation d'un ensemble de dispositifs, programme d'ordinateur et systeme de syncronisation associes
US10599513B2 (en) 2017-11-21 2020-03-24 The Boeing Company Message synchronization system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5353436A (en) * 1987-11-09 1994-10-04 Tandem Computers Incorporated Method and apparatus for synchronizing a plurality of processors

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1253309A (en) * 1969-11-21 1971-11-10 Marconi Co Ltd Improvements in or relating to data processing arrangements
US3810119A (en) * 1971-05-04 1974-05-07 Us Navy Processor synchronization scheme
US4358823A (en) * 1977-03-25 1982-11-09 Trw, Inc. Double redundant processor
US4490561A (en) * 1983-10-13 1984-12-25 Conoco Inc. Method for alkoxylating fluorinated alcohols
JPH0630094B2 (ja) * 1989-03-13 1994-04-20 インターナショナル・ビジネス・マシーンズ・コーポレイション マルチプロセツサ・システム
GB2268817B (en) * 1992-07-17 1996-05-01 Integrated Micro Products Ltd A fault-tolerant computer system
US5748873A (en) * 1992-09-17 1998-05-05 Hitachi,Ltd. Fault recovering system provided in highly reliable computer system having duplicated processors
US6393582B1 (en) * 1998-12-10 2002-05-21 Compaq Computer Corporation Error self-checking and recovery using lock-step processor pair architecture
JP2004046599A (ja) * 2002-07-12 2004-02-12 Nec Corp フォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラム
US7426656B2 (en) 2004-03-30 2008-09-16 Hewlett-Packard Development Company, L.P. Method and system executing user programs on non-deterministic processors
JP4117684B2 (ja) * 2004-12-20 2008-07-16 日本電気株式会社 フォルトトレラント・二重化コンピュータシステムとその制御方法
JP2006178616A (ja) * 2004-12-21 2006-07-06 Nec Corp フォールトトレラントシステム、これで用いる制御装置、動作方法、及び動作プログラム
US8826288B2 (en) 2005-04-19 2014-09-02 Hewlett-Packard Development Company, L.P. Computing with both lock-step and free-step processor modes
JP5013309B2 (ja) * 2006-08-18 2012-08-29 日本電気株式会社 フォールトトレラントコンピュータ、そのトランザクション同期制御方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5353436A (en) * 1987-11-09 1994-10-04 Tandem Computers Incorporated Method and apparatus for synchronizing a plurality of processors

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102469474A (zh) * 2010-11-15 2012-05-23 中兴通讯股份有限公司 一种通信设备异常信息的处理方法及装置
CN102043690A (zh) * 2010-12-31 2011-05-04 上海华为技术有限公司 多核处理器故障处理方法及多核处理器
CN109815020A (zh) * 2017-11-21 2019-05-28 波音公司 指令处理对准***
CN109815020B (zh) * 2017-11-21 2024-05-14 波音公司 指令处理对准***
CN112714226A (zh) * 2019-10-25 2021-04-27 株式会社理光 电子控制装置、电子控制装置执行的方法及存储介质
CN112714226B (zh) * 2019-10-25 2022-11-29 株式会社理光 电子控制装置、电子控制装置执行的方法及存储介质
CN113050752A (zh) * 2021-03-29 2021-06-29 中车青岛四方车辆研究所有限公司 用于两个中央处理器时间同步的方法和存储介质
CN113050752B (zh) * 2021-03-29 2023-02-21 中车青岛四方车辆研究所有限公司 用于两个中央处理器时间同步的方法和存储介质
CN113886039A (zh) * 2021-09-18 2022-01-04 中汽创智科技有限公司 一种调度表同步方法、装置、电子设备及存储介质
CN113886039B (zh) * 2021-09-18 2023-12-22 中汽创智科技有限公司 一种调度表同步方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN101714108B (zh) 2014-05-07
EP2175371B1 (en) 2015-03-18
KR101121116B1 (ko) 2012-03-20
US20100088535A1 (en) 2010-04-08
EP2175371A1 (en) 2010-04-14
JP2010092105A (ja) 2010-04-22
JP5347414B2 (ja) 2013-11-20
KR20100038159A (ko) 2010-04-13
US8667315B2 (en) 2014-03-04

Similar Documents

Publication Publication Date Title
CN101714108B (zh) 同步控制设备、信息处理设备以及同步管理方法
KR100566338B1 (ko) 폴트 톨러런트 컴퓨터 시스템, 그의 재동기화 방법 및 재동기화 프로그램이 기록된 컴퓨터 판독가능 기억매체
US6802023B2 (en) Redundant controller data storage system having hot insertion system and method
US7085959B2 (en) Method and apparatus for recovery from loss of lock step
US6708285B2 (en) Redundant controller data storage system having system and method for handling controller resets
US6715101B2 (en) Redundant controller data storage system having an on-line controller removal system and method
US6148415A (en) Backup switching control system and method
CN101207408B (zh) 一种用于主备倒换的综合故障检测装置和方法
JP2008097164A (ja) 複数の機能要素から構成されるシステムの故障監視方法
US5742851A (en) Information processing system having function to detect fault in external bus
US20060212749A1 (en) Failure communication method
WO2010100757A1 (ja) 演算処理システム、再同期方法、およびファームプログラム
JPH10154085A (ja) 二重化された監視/制御プロセッサによるシステム監視・制御方法および二重化監視/制御プロセッサ・システム
US20100077262A1 (en) Information processing device and error processing method
CN103443774A (zh) 信息处理装置和控制方法
JP3313667B2 (ja) 二重化システムの障害検出方式及びその方法
JP2001175545A (ja) サーバシステムおよび障害診断方法ならびに記録媒体
JP3001818B2 (ja) マルチプロセッサ立ち上げ管理装置
JPH08185329A (ja) データ処理装置
JP2004013723A (ja) 共有メモリを使ったクラスタ構成を採用した情報処理システムの障害処理装置と方法
JPH04360242A (ja) 二重化システムの系切替装置およびその方法
JP2005235214A (ja) 不具合が存在するときにスイッチ障害を防止する方法、装置及びソフトウエア
KR0173211B1 (ko) 비동기전달모드 교환기 제어계를 이중화함에 있어서의 장애 처리 및 인터럽트 처리 장치
JPH0454747A (ja) データ転送システム
EP0342261A1 (en) Arrangement for error recovery in a self-guarding data processing system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140507

Termination date: 20180930