在多个系统处理器之间进行切换的方法

文档序号:6418961阅读:361来源:国知局
专利名称:在多个系统处理器之间进行切换的方法
技术领域
本发明一般涉及总线结构。
一个传统的计算机系统利用一个总线在计算机系统的部件之间传送数据。一个通用的总线结构是PCI(外围部件互联)总线结构,这个PCI总线结构包括该领域内众所周知的各种理想的特性。PCI总线结构被描述在例如,在Oregon Hillsborough,5300 N.E.Elam YoungParkway的PCI特殊兴趣组出版的PCI局部总线规范。最近开发的CompactPCI总线结构是针对工业和/或者嵌入式应用设计的PCI技术的一个实现方式。CompactPCI总线结构被描述在MassachusettsWakefield,301 Edgewater Place Suite 220的PCI工业计算机制造商组(PCIMG)出版的CompactPCI规范中。CompactPCI和PCIMG是PCI工业计算机制造商组的注册商标。
在能够运行重要应用,例如电话交换系统或者数据库服务器的一个高可用性或者高抗故障的系统中,提供CompactPCI总线结构是有利的,而不会使应用发生一个系统故障的危险。一个系统处理器发生故障可以导致这样一个系统故障。所以,在一个CompactPCI总线结构上提供一个高度可用性和高抗故障的系统是所希望的,这个系统能够容忍一个系统处理器故障,而不会中断系统的操作。


图1是根据本发明的优选实施方式的多结构背板的一个电路图;图2是多结构背板的一个双路结构的一个电路图;图3是多结构背板的一个扩展结构的一个电路图;图4是在一个激活/备份模式中的多结构背板的一个激活/备份结构的一个电路图;图5是在一个激活/激活模式中的多结构背板的一个激活/备份结构的一个电路图;图6是在一个激活/备份结构中交换主机板的过程的一个流图7是在一个激活/激活结构中交换主机板的过程的一个流图;图8是系统主机的一个电路图;图9是在系统主机之间进行切换的过程的一个流图;和图10是在系统处理器之间进行切换的过程的一个流图。
在本发明的一个优选实施方式中,提供了一个方法来在一个CompactPCI总线上的多个系统处理器之间进行切换。当一个备份系统处理器判断出影响在CompactPCI总线上的一个激活系统处理器的一个故障时,这个备份系统处理器将一个专用仲裁器设置在单主控模式。然后,这个备份处理器判断在CompactPCI总线上的每一个装置是否处于执行一个破坏性动作的危险中,例如,这是通过判断是否使能了对装置的中断,这个装置是否具有对激活系统处理器进行一个直接存储器访问能力,和/或者这个装置是否在一个发生了故障的板子上来完成的。如果这个被备份系统处理器判断一个装置处于执行一个破坏性动作的危险中,这个备份系统处理器通过,例如将这个装置编程为停顿操作或者改变这个装置正在写入的一个地址来停顿这个装置。然后,这个备份系统处理器将这个专用仲裁器设置在多主控模式下。
多结构背板图1是根据本发明的一个优选实施方式的多结构背板的一个电路图。在图1中,一个背板100具有一个CompactPCI总线[1]110和一个CompactPCI总线[2]120。与CompactPCI总线[1]110连接的是一个系统处理器槽[1]112,一个桥接槽[1]114和输入/输出槽[1]116。输入/输出槽[1]116中插入输入/输出板[1]118,以实现相应的装置。与CompactPCI总线[2]120连接的是一个系统处理器槽[2]122,一个桥接槽[2]124和输入/输出槽[2]126。输入/输出槽[2]126中插入输入/输出板[2]128,以实现相应的装置。一个交叉连接[1]130将系统处理器槽[1]112连接到桥接槽[2]124。一个交叉连接[2]140将系统处理器槽[2]122连接到桥接槽[1]114。优选地,交叉连接[1]130是一第一局部外围部件互联(PCI)总线,交叉连接[2]140是一第二局部PCI总线。
图1也显示了连接到背板100以定义整个计算机系统的系统处理器板和桥接板。如上面所提到的,背板100提供了计算机系统的多个可能结构。根据背板100的被选择结构,图1中所显示的系统处理器板和桥接板的某些组合可以出现和/或者激活。一个系统处理器板[1]150具有一个系统处理器[1]152和一个系统主机[1S]154,并且被插入到系统处理器槽[1]112。具有一个系统主机[1B]164和一个热切换控制器[1]166的一个桥接板[1]160被可选地插入到桥接槽[1]114。一个系统处理器板[2]170具有一个系统处理器[2]172和一个系统主机[2S]174,并且被插入到系统处理器槽[2]122。具有一个系统主机[2B]184和一个热切换控制器[2]186的一个桥接板[2]180被可选地插入到桥接槽[2]124。例如,系统处理器是Motorola MPC750处理器系统。
图2是多结构背板的一个双路结构的一个电路图。在这个双路结构中,一第一和第二子系统的功能是相互无关的。在图2中,系统处理器板[1]150被插入到系统处理器槽[1]112中,系统处理器板[2]170被插入到系统处理器槽[2]122中。系统处理器[1]152控制在CompactPCI总线[1]110上的输入/输出板[1]118,以控制在一第一子系统中实现的这些器件。系统主机[1S]154控制CompactPCI总线[1]110功能。系统处理器[2]172控制在CompactPCI总线[2]120上的输入/输出板[2]128,以控制在一第二子系统中实现的这些器件。系统主机[2S]174控制CompactPCI总线[2]120功能。其中,既不使用交叉连接[1]130,也不使用交叉连接[2]140。
图3是多结构背板的一个扩展结构的一个电路图。在这个扩展结构中,一单个系统处理器控制在这两个总线上被实现的装置。在图3中,系统处理器板[1]150被插入到系统处理器槽[1]112中,桥接板[2]180被插入到桥接槽[2]124中。系统处理器[1]152控制在CompactPCI总线[1]110上的输入/输出板[1]118,以控制在其中实现的这些器件。系统处理器[1]152也经过交叉连接[1]130来控制在CompactPCI总线[2]120上的输入/输出板[2]128,以控制在其中实现的这些器件。系统主机[2B]184控制CompactPCI总线[2]120功能。交叉连接[2]140没有被使用。
图4是一个激活模式下,多结构背板的一个激活/备份结构的一个电路图。在这个激活/备份系统中,一单个激活系统处理器控制在一个激活模式下的两个总线上被实现的器件。如果在激活系统处理器上发生了一个故障,一个备份处理器就控制处于一个备份模式下的器件。在图4中,系统处理器板[1]150被插入到系统处理器槽[1]112中,系统处理器板[2]170被插入到系统处理器槽[2]122中。桥接板[1]160被插入到桥接槽[1]114中,并且桥接板[2]180被插入到桥接槽[2]124中。在一个激活模式下,系统处理器板[1]150和桥接板[2]180被用作一个合作板。系统处理器[1]152控制在CompactPCI总线[1]110上的输入/输出板[1]118,也经过交叉连接[1]130来控制在CompactPCI总线[2]120上的输入/输出板[2]128。系统主机[1S]154控制CompactPCI总线[1]110功能,并且系统主机[2B]184控制CompactPCI总线[2]120功能。交叉连接[2]140没有被使用。
图5是一个备份模式下,多结构背板的一个激活/备份结构的一个电路图。在这个备份模式下,系统处理器板[2]170和桥接板[1]160被用作一个合作板。系统处理器[2]172控制在CompactPCI总线[1]110上的输入/输出板[2]128,也经过交叉连接[2]140来控制在CompactPCI总线[2]120上的输入/输出板[1]118。系统主机[1B]164控制CompactPCI总线[1]110功能,并且系统主机[2S]174控制CompactPCI总线[2]120功能。交叉连接[1]130没有被使用。
在一个激活/激活结构中,两个系统处理器板和两个桥接板均被如图1所显示的插入。系统处理器板[1]150被插入到系统处理器槽[1]112中,系统处理器板[2]170被插入到系统处理器槽[2]122中。桥接板[1]160被插入到桥接槽[1]114中,并且桥接板[2]180被插入到桥接槽[2]124中。在一个双路模式下,一第一和第二系统功能是相互无关的,如上面所模式的双路结构类似。系统处理器[1]152控制在CompactPCI总线[1]110上的输入/输出板[1]118,以控制在一第一系统中使用它们而实现的这些器件。系统处理器[2]172控制在CompactPCI总线[2]120上的输入/输出板[2]128,以控制在一第二系统中使用它们而实现的这些器件。系统主机[1S]154控制CompactPCI总线[1]110功能,并且系统主机[2S]174控制CompactPCI总线[2]120功能。交叉连接[2]140没有被使用,交叉连接[1]130也没有被使用。
在一个激活/激活结构中,如果在CompactPCI总线[2]120上的系统处理器发生了一个故障,在一第一共享模式下,处理负担就转移到系统处理器[1]152。这第一共享模式的操作与上面所讨论的和图4所显示的激活/备份结构的激活模式完全一致。如果在CompactPCI总线[1]110上的系统处理器发生了一个故障,在一第二共享模式下,处理负担就转移到系统处理器[2]172。这第二共享模式的操作与上面所讨论的和图5所显示的激活/备份结构的备份模式完全一致。
主机板切换如上面所显示的,在每一个总线上均提供了多个系统主机。系统处理器板[1]150,桥接板[1]160,系统处理器板[2]170和桥接板[2]180中的每一个均是其上驻留了一个系统主机的一个“主机板”。其结果是,在激活主机板上发生了一个故障时,对任何一个总线的总线功能控制均可以从一个激活系统主机切换到一个备份系统主机上。传统的CompactPCI总线结构允许在一个CompactPCI总线上的一个非主机板,例如输入/输出板[1]118中的一个或者输入/输出板[2]128中的一个,可以被进行“热切换”。即,板子可以被拿出,或者被替代,而不会通过重新设置这些装置而中断计算机系统的操作。这在例如Massachusetts Wakefield,301 Edgewater Place Suite 220的PCI工业计算机制造商组出版的CompactPCI热切换规范中被描述。所以,通过在每一个CompactPCI总线上提供多个系统主机,本发明的优选实施方式提供了对主机板进行热切换的能力,并且允许发生了故障的一个主机板可以被替代,而允许操作继续进行。结果,CompactPCI总线结构的优点可以用于一个高可用性或者高抗故障的应用中。
图6是优选实施方式的计算机系统所执行的、用于切换在一个激活/备份结构中的主机板的过程的一个流图。在图6中被描述的基本功能被系统处理器152或者172,系统主机154,164,174或者184和热切换控制器166或者186一起组合执行,并且将在说明书的后面进一步详细说明。该领域的一个普通技术人员将认识到如何以最适合于手头的应用,但是是根据这里所进行的描述,的方式来实现这些功能。在步骤605中,如果在主机板中检测到了一个故障,控制就转移到步骤610。在步骤610中,利用交叉连接[2]140,而不是利用交叉连接[1]130。在步骤615中,系统处理被从系统处理器[1]152转移到系统处理器[2]172。步骤615将在后面被详细解释。在步骤620中,CompactPCI总线[1]110功能的控制被从系统主机[1S]154转移到系统主机[1B]164。在步骤625中,CompactPCI总线[2]120功能的控制被从系统主机[2B]184转移到系统主机[2S]174。后面将参考图8和图9来详细解释系统主机转移。在步骤630中,发生故障的主机板被进行热切换,并且可以纠正主机板的故障而不会中断系统的操作。
图7是用于切换在一个激活/激活结构中的主机板的过程的一个流图。如在图6中所显示的,在图7中被描述的基本功能被系统处理器152或者172,系统主机154,164,174或者184和热切换控制器166或者186一起组合执行,并且将在说明书的后面进一步详细说明。该领域的一个普通技术人员将认识到如何以最适合于手头的应用,但是是根据这里所进行的描述,的方式来实现这些功能。在步骤705中,如果在主机板中检测到了一个故障,控制就转移到步骤710。在步骤710中,利用交叉连接[2]140。系统处理器[2]172继续控制在CompactPCI总线[2]120上的处理,如步骤715所提到的。在步骤720中,对CompactPCI总线[2]120上装置的处理控制被转移到系统处理器[2]172。将在后面参考图10详细解释系统处理器的转移。系统主机[2S]174继续控制CompactPCI总线[2]120功能,如步骤725所提到的。在步骤730中,CompactPCI总线[1]110功能的控制被从系统主机[1S]154转移到系统主机[1B]164。在步骤735中,发生故障的主机板被进行热切换,并且可以纠正主机板的故障而不会中断系统的操作。
如上面所提到的,传统的CompactPCI标准提供了热切换的能力。如这样,在桥接板[1]160上的热切换控制器[1]166和在桥接板[2]180上的热切换控制器[2]186是基于传统的、如在上面所提到的CompactPCI热切换规范中所描述的CompactPCI热切换的。该领域的一个普通技术人员,可以根据这里所提供的描述,根据CompactPCI热切换规范,并且根据设计偏好和对手头应用的合适性,轻易地实现热切换控制器。但是,对主机板进行热切换需要对传统的CompactPCI系统主机进行某些修改,以确保总线控制功能不会被在一个总线上的两个系统主机的存在所破坏。
图8是具有这样一个修改的一个系统主机的一个电路图。在图8中的系统主机800与系统主机[1S]154,系统主机[1B]164,系统主机[2S]174或者系统主机[2B]184相应。系统主机800包括一个传统的PCI-PCI桥810,这个PCI-PCI桥810将CompactPC总线连接到主机板上的一个局部PCI总线上。例如,桥810是一个DEC 21154 PCI桥仲裁器820。这个系统主机800进一步包括一个专用仲裁器820。这个专用仲裁器820替代被禁止的、被包括在桥810中的传统总线仲裁器的功能。这个专用仲裁器820与传统的PCI总线仲裁器相同,除了提供了允许系统主机进行切换的几个特征外。下面参考图9来解释这些特征。
图9是对系统主机进行切换的过程的一个流图。这个过程被在系统主机[1S]154或者系统主机[1B]164中的专用仲裁器820和热切换控制器166所执行,以在CompactPCI总线[1]110上的系统主机[1S]154和系统主机[1B]164之间进行切换,或者被系统主机[2S]174或者系统主机[2B]184专用仲裁器820和热切换控制器186所执行,以在CompactPCI总线[2]120上的系统主机[2S]174和系统主机[2B]184之间进行切换,如在上面所描述的各种情形下。在步骤905中,热切换控制器使总线停顿。更具体地,这个热切换控制器向专用仲裁器820提供一个高优先级请求信号,仅当总线是空闲时专用仲裁器820才允许这个高优先级请求信号。在专用仲裁器820中,为用于这个目的的热切换控制器提供一个特殊的请求/允许线对。
在步骤910中,计算机系统禁止被激活系统主机所提供的系统主机信号。具体地,热切换控制器向专用仲裁器820提供一个浮动信号,这个浮动信号促使专用仲裁器820禁止当处于激活时它所提供的系统主机信号。对用于这个目的的热切换控制器,一个特殊的浮动线被添加到专用仲裁器820。被这个浮动信号所禁止的的系统主机信号包括用于允许对总线上装置的总线访问的允许信号,用于重新设置总线上装置的重新设置信号,和时钟信号,和被提供到总线上装置的中断。专用仲裁器820定义其允许信号,重新设置信号和时钟信号为3态信号,其中一高阻抗状态被添加作为一第三状态。浮动信号促使专用仲裁器820将3态允许信号,重新设置信号,和时钟信号设置为第三状态,并且禁止中断。在步骤915中,热切换控制器将控制从发生故障的激活系统主机转移到备份系统主机。尽管为了简单按照所显示的顺序来进行描述,本发明的优选实施方式在重新设置信号和时钟信号被激活系统主机禁止以前,将它们传送到备份系统主机,以使重新设置信号和时钟信号不会成为一个中间状态,在这个中间状态中,一个不希望有的信号将被发送到任何一个装置。另外,优选地,时钟信号在结束的边缘被放置在第三状态,以避免短周期。
系统处理器板的切换系统处理器板的切换需要系统处理器控制的切换。例如,在有影响系统处理器板[1]150的一个故障的情形下,控制被从系统处理器[1]152转移到系统处理器[2]172,或者在有影响系统处理器板[2]170的一个故障的情形下,控制被从系统处理器[2]172转移到系统处理器[1]152。高度可用或者高度抗故障应用需要能够实现系统处理器的切换而不需要重新设置系统的装置或者不需要中断系统的操作。但是,因为系统处理器[1]152和系统处理器[2]172的操作是无关的,所以这样一个切换使系统变得危险。例如,在进行切换期间,在CompactPC总线上的这个装置可能正在执行对激活系统处理器的存储器进的一个直接存储器访问操作。但是,这个备份系统处理器可能没有利用相同的寻址方法,所以当这个装置写到开始所希望的地址时可能会破坏重要的数据。本发明的优选实施方式通过备份系统处理器提供了系统处理器的一个无缝切换,以避免这样的一个数据破坏。
图10是系统处理器的无缝切换的一个流图。图10的功能被备份系统处理器执行,以从激活系统处理器切换到备份系统处理器。在步骤1005中,备份系统处理器判断是否有影响激活系统处理器的一个故障,例如在激活系统处理器板上的一个故障或者在一个合作桥板上的一个故障,这个故障需要从激活系统处理器切换到备份系统处理器,如上面所描述的。在步骤1010中,备份系统处理器将这个专用仲裁器800设置为单主控模式,以使所以它将不向任何装置,除了备份系统处理器外,提供一个总线允许。在步骤1015中,备份系统处理器检查在总线上的一个装置,并且在步骤1020中判断这个装置是否有在执行一个破坏性动作的危险。例如,备份系统处理器访问关于这个装置的状态信息,并且判断是否使能对这个装置的中断,判断这个装置是否有能力执行对激活系统处理器的一个直接存储器访问操作,和/或者判断这个装置是否是在一个发生故障的板子上,例如在激活系统处理器板或者合作板上的一个故障。
在步骤1025中,如果在步骤1020中,备份系统处理器判断这个装置有在执行一个破坏性动作的危险,然后备份系统处理器就停顿这个装置。例如,备份系统处理器对这个装置进行编程以停顿操作,或者改变这个装置正在进行写入的一个地址。只要在步骤1030中检测到有多个装置,备份系统处理器就重复步骤1015到1030。最后,在步骤1035中,所有有在执行一个破坏性动作危险的装置均被停顿,并且备份系统处理器将专用仲裁器800设置在多主控模式,这将允许它能够向除了备份系统处理器外的其它装置提供总线允许。
应理解,这里所描述的本发明提供了在一个总线上的多个系统处理器之间进行切换的优点。本发明在上面已经被参考优选实施方式进行描述。但是,该领域内的技术人员将认识到,可以对这些优选实施方式进行改变和修改,而不会偏离本发明的范围。
权利要求
1.用于在一个CompactPCI总线上的多个系统处理器之间进行切换的一个方法,这个方法是被一个备份系统处理器所执行的,并且包括步骤判断出影响在CompactPCI总线上的一个激活系统处理器的一个故障;将一个专用仲裁器设置在单主控模式;判断在CompactPCI总线上的一个装置是否处于执行一个破坏性动作的危险中;如果判断这个装置处于执行一个破坏性动作的危险中,停顿这个装置;和将这个专用仲裁器设置在多主控模式下。
2.如权利要求1的这个方法,进一步包括对在CompactPCI总线上的每一个装置重复步骤判断在CompactPCI总线上的一个装置是否处于执行一个破坏性动作的危险中,并且如果判断这个装置处于执行一个破坏性动作的危险中,停顿这个装置。
3.如权利要求1的这个方法,包括对在多个CompactPCI总线上的每一个装置重复步骤判断在CompactPCI总线上的一个装置是否处于执行一个破坏性动作的危险中,并且如果判断这个装置处于执行一个破坏性动作的危险中,停顿这个装置。
4.如权利要求1的这个方法,其中判断在CompactPCI总线上的一个装置是否处于执行一个破坏性动作的危险中的步骤包括判断是否使能了对该装置的中断。
5.如权利要求1的这个方法,其中判断在CompactPCI总线上的一个装置是否处于执行一个破坏性动作的危险中的步骤包括判断这个装置是否具有对激活系统处理器进行一个直接存储器访问能力。
6.如权利要求1的这个方法,其中判断在CompactPCI总线上的一个装置是否处于执行一个破坏性动作的危险中的步骤包括判断这个装置是否在一个发生了故障的板子上。
7.如权利要求1的这个方法,其中停顿这个装置的步骤包括将这个装置编程为停顿操作。
8.如权利要求1的这个方法,其中停顿这个装置的步骤包括改变这个装置正在写入的一个地址。
9.用于在一个总线上的多个系统处理器之间进行切换的一个方法,这个方法是被一个备份系统处理器所执行的,并且包括步骤判断出影响在总线上的一个激活系统处理器的一个故障;将一个专用仲裁器设置在单主控模式;判断在总线上的一个装置是否处于执行一个破坏性动作的危险中;如果判断这个装置处于执行一个破坏性动作的危险中,停顿这个装置;和将这个专用仲裁器设置在多主控模式下。
10.如权利要求9的这个方法,进一步包括对在总线上的每一个装置重复步骤判断在总线上的一个装置是否处于执行一个破坏性动作的危险中,并且如果判断这个装置处于执行一个破坏性动作的危险中,停顿这个装置。
11.如权利要求9的这个方法,包括对在多个总线上的每一个装置重复步骤判断在总线上的一个装置是否处于执行一个破坏性动作的危险中,并且如果判断这个装置处于执行一个破坏性动作的危险中,停顿这个装置。
12.如权利要求9的这个方法,其中判断在总线上的一个装置是否处于执行一个破坏性动作的危险中的步骤包括判断是否使能了对该装置的中断。
13.如权利要求9的这个方法,其中判断在总线上的一个装置是否处于执行一个破坏性动作的危险中的步骤包括判断这个装置是否具有对激活系统处理器进行一个直接存储器访问能力。
14.如权利要求9的这个方法,其中判断在总线上的一个装置是否处于执行一个破坏性动作的危险中的步骤包括判断这个装置是否在一个发生了故障的板子上。
15.如权利要求9的这个方法,其中停顿这个装置的步骤包括将这个装置编程为停顿操作。
16.如权利要求9的这个方法,其中停顿这个装置的步骤包括改变这个装置正在写入的一个地址。
全文摘要
在用于在一个CompactPCI总线(110,120)上的多个系统处理器(152,172)之间进行切换的一个方法,当一个备份系统处理器(152,172)判断出影响在CompactPCI总线(110,120)上的一个激活系统处理器(152,172)的一个故障时,这个备份系统处理器(152,172)将一个专用仲裁器(820)设置在单主控模式。如果这个备份系统处理器(152,172)判断一个装置处于执行一个破坏性动作的危险中,这个备份系统处理器(152,172)停顿这个装置。然后,这个备份系统处理器(152,172)将这个专用仲裁器(820)设置在多主控模式下。
文档编号G06F15/16GK1300394SQ99806000
公开日2001年6月20日 申请日期1999年5月7日 优先权日1998年5月14日
发明者布伦特·迈克凯伊, 布鲁斯·罗森克兰茨, 马克·拉努斯 申请人:摩托罗拉公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1