控制具有多个系统主机的总线的制作方法

文档序号:6418959阅读:156来源:国知局
专利名称:控制具有多个系统主机的总线的制作方法
技术领域
本发明涉及总线体系结构。
常规计算机系统使用一个在系统部件之间传送数据的总线。一种流行的总线体系结构是PCI(外部部件互连)总线结构,该结构包含许多在本领域中公认的期望特性。在PCI局部总线规范,PCI专业组,5300 N.E.Elam Young Parkway,Hillsborough,Oregon中描述了PCI总线体系结构。最新开发的CompactPCI总线体系结构是PCI技术针对工业和/或嵌入式应用而设计的一种实现。在CompactPCI规范,PCI工业计算机制造商组(PCIMG),301 Edgewater Place Suite220,Wakefield,Massachusetts中描述了CompactPCI总线体系结构。CompactPCI和PCIMG是PCI工业计算机制造商组的注册商标。
在能够运行诸如电话交换系统或数据库服务器,不使应用承受系统故障带来的风险的高可用或容错系统中提供CompactPCI总线结构的优点会比较好。控制CompactPCI总线上的总线功能的系统主机的故障会在这样的系统中导致故障。相应地,期望在CompactPCI总线结构上提供在不中断系统操作的情况下能够经受系统主机故障的高可用容错系统。


图1是本发明最优实施例的多结构底板的电路图;图2是多结构底板的一个双工结构的电路图;图3是多结构底板的一个扩展结构的电路图;图4是多结构底板在一个活跃/后备模式下的一个活跃/后备结构的电路图;图5是多结构底板在一个活跃/活跃模式下的一个活跃/后备结构的电路图;图6是关于在一个活跃/后备结构下插拔主板的过程的流程图;图7是关于在一个活跃/活跃结构下插拔主板的过程的流程图8是系统主机的一个电路图;图9是关于切换主机系统的过程的流程图;图10是关于切换主机处理器的过程的流程图。
在本发明的一个最优实施例中,提供一个插拔计算机系统中的系统主机板的方法。提供一个第一CompactPCI总线,该总线被连接到一个第一系统处理器板和一个第一桥接板,其中第一系统处理器板具有一个第一系统处理器和一个第一系统处理器板系统主机,第一桥接板具有一个第一桥接板系统主机。提供一个第二CompactPCI总线,该总线被连接到一个第二系统处理器板和一个第二桥接板,其中第二系统处理器板具有一个第二系统处理器和一个第二系统处理器板系统主机,第二桥接板具有一个第二桥接板系统主机。在第一系统处理器板和第二桥接板之间提供一个第一交叉连接,并且在第二系统处理器板和第一桥接板之间提供一个第二交叉连接。
当在第一系统处理器板上检测到一个故障时,对第一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]126,一个桥接槽[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]152和一个系统主机[1S]154的一个系统处理器板[1]150被插入到系统处理器槽[1]112中。可选地,具有一个系统主机[1B]164和一个热插拔控制器[1]166的一个桥接板[1]160被插入到桥接槽[1]114中。具有一个系统处理器[2]172和一个系统主机[2S]174的一个系统处理器板[2]170被插入到系统处理器槽[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以便控制在用其实现的设备。系统主机[1S]154控制CompactPCI总线[1]110的总线功能。系统处理器[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被用作套板(companion board)。系统处理器[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的总线功能。交叉连接[1]130和交叉连接[2]140均不被使用。
在活跃/活跃结构中,如果在CompactPCI总线[2]120上的系统处理器中出现一个故障,处理负载被转移到处于一个第一共享模式的系统处理器[1]152中。第一共享模式的操作方式与前面讨论的并且在图4中示出的活跃/后备结构的活跃模式相同。如果在CompactPCI总线[1]110上的系统处理器中出现一个故障,处理负载被转移到处于一个第二共享模式的系统处理器[2]172中。第二共享模式的操作方式与前面讨论的并且在图5中示出的活跃/后备结构的后备模式相同。
主板插拔如上所示,在各个总线上提供了多个系统主机。系统处理器板[1]150,桥接板[1]160,系统处理器板[2]170和桥接板[2]180均是一个“主板”,其中在一个主板上驻留一个系统主机。结果,当在活跃主板上出现故障时可以从一个活跃系统主机向一个后备系统主机切换对两个总线上的总线功能的控制。常规CompactPCI总线结构允许“热插拔”一个CompactPCI总线上的非主机板,例如输入/输出板118中的一个或输入/输出板128中的一个。即,在不需要通过复位设备中断计算机系统操作的情况下可以取下并且更换板卡。在CompactPCI热插拔规范,PCI工业计算机制造商组,301 Edgewater Place Suite 220,Wakefield,Massachusetts中对此进行了描述。相应地,通过在每个CompactPCI总线上提供多个系统主机,本发明的最优实施例提供了热插拔主板,允许在继续工作的情况下更换故障主板的能力。结果,可以为高可用或容错应用提供CompactPCI总线结构的优点。
图6是关于最优实施例的计算机系统所执行的,在一个活跃/后备结构下插拔主板的过程的流程图。通过由系统处理器152或172,系统主机154,164,174或184和热插拔控制器166或186的一个组合来执行图6中描述的基本功能,并且在本说明书后续部分中更详细地描述了这些功能。但根据这里的描述,本领域的技术人员会认识到如何以最适合当前应用的方式来实现这些功能。在步骤605,如果在主板中检测到一个故障,则控制前进到步骤610。在步骤610中,使用交叉连接[2]140而不是交叉连接[1]130。在步骤615中,系统处理被从系统处理器[1]152传递到系统处理器[2]172。后面会更详细地解释步骤615。在步骤620中,从系统主机[1S]154向系统主机[2S]174转移对CompactPCI总线[1]110的总线功能的控制。在步骤625中,从系统主机[2B]184向系统主机[2S]174转移对CompactPCI总线[2]120的总线功能的控制。后面会参照图8和9更详细地解释系统主机转移。在步骤630中,故障主板被热插拔并且在不中断系统操作的情况下处理了主板故障。
图7是关于在一个活跃/活跃结构下插拔主板的过程的流程图。象在图6中那样,通过由系统处理器152或172,系统主机154,164,174或184和热插拔控制器166或186的一个组合来执行图6中描述的基本功能,并且在本说明书后续部分中更详细地描述了这些功能。但根据这里的描述,本领域的技术人员会认识到如何以最适合当前应用的方式来实现这些功能。在步骤705,如果在主板中检测到一个故障,则控制前进到步骤710。在步骤710中,使用交叉连接[2]140。如步骤715所示,系统处理器[2]172继续控制CompactPCI总线[2]120上的处理。在步骤720中,向系统处理器[2]172转移对CompactPCI总线[1]110上设备的处理控制。后面会参照图10更详细地解释系统处理器转移。如步骤725所示,系统主机[2S]174继续控制CompactPCI总线[2]120的总线功能。在步骤730中从系统主机[1S]154向系统主机[1B]164转移对CompactPCI总线[1]110的总线功能的控制。在步骤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,该设备把CompactPCI总线连接到主板上的一个局部PCI总线。桥810可以是一个DEC 21154 PCI桥仲裁器。系统主机800还包含一个专用仲裁器820。专用仲裁器820取代桥810中包含的被禁止的常规总线仲裁器的功能。专用仲裁器820与常规PCI总线仲裁器相同,除了提供几个允许系统主机切换的附加功能之外。后面参照图9解释了这些功能。
图9是关于切换主机系统的过程的流程图。象在上述各种情况中那样,通过系统主机[1S]154或系统主机[1B]164中的热插拔控制器166和专用仲裁器820执行处理以便在CompactPCI总线[1]110上的系统主机[1S]154和系统主机[1B]164之间进行切换,或者通过系统主机[2S]174或系统主机[2B]184中的热插拔控制器186和专用仲裁器820执行处理以便在CompactPCI总线[2]120上的系统主机[2S]174和系统主机[2B]184之间进行切换。在步骤905中,热插拔控制器暂停总线。更具体地,热插拔控制器向专用仲裁器820提供一个高优先权请求信号,其中专用仲裁器820只在总线空闲时才准许该信号。为此在专用仲裁器820中为热插拔控制器提供一对专用请求/准许线路。
在步骤910中,计算机系统禁止活跃系统主机提供的系统主机信号。具体地,热插拔控制器向专用仲裁器820提供一个浮动信号,该信号导致专用仲裁器820禁止其在活跃时提供的系统主机信号。一个专用浮动线路被加到专用仲裁器820中以便热插拔控制器用于此目的。被浮动信号禁止的系统主机信号包含允许总线上的设备访问总线的准许信号,复位总线上的设备的复位信号,和被提供给总线上的设备的时钟信号与中断。专用仲裁器820把其准许信号,复信号和时钟信号定义成三态信号,其中加入一个高阻态作为第三状态。浮动信号导致专用仲裁器820把三态准许信号,复位信号和时钟信号设置到第三状态并且禁止中断。在步骤915中,热插拔控制器从发生故障的活跃系统主机向后备系统主机转移控制。尽管为了描述简单按照图示的顺序进行了描述,但本发明的最优实施例在活跃系统主机禁止复位信号和时钟信号之前向后备系统主机传递这些信号,其中禁止这些信号使得复位和时钟信号不被允许处于一个会将非期望信号发送到任意设备的中间状态。并且,在结束边缘时钟信号最好处于第三状态以防止出现短周期。
系统处理器板插拔系统处理器板的插拔需要切换系统处理器的控制。例如,在有一个影响系统处理器板[1]150的故障的情况下从系统处理器[1]152向系统处理器[2]172转移控制,或者在有一个影响系统处理器板[2]170的故障的情况下从系统处理器[2]172向系统处理器[1]152转移控制。高可用或容错应用需要在不复位系统中的设备或不中断系统操作的情况下完成系统处理器切换。但由于系统处理器[1]152和系统处理器[2]172独立工作,这种切换危及到系统。例如,在切换期间一个CompactPCI总线上的设备可以正在对活跃系统处理器的存储器进行直接存储器访问。但后备系统处理器可能未使用相同的寻址模式,使得在设备对最初期望的地址进行写操作时会破坏关键数据。本发明的最优实施例提供了后备系统处理器对系统处理器控制的无缝切换以防止出现这种破坏。
图10是关于系统处理器的无缝切换的流程图。由后备系统处理器执行图10的功能以便从活跃系统处理器切换到后备系统处理器。在步骤1005中,后备系统处理器确定是否有影响活跃系统处理器的故障,例如如上所述的,活跃系统处理板上或配套桥接板上需要从活跃系统处理器切换到后备系统处理器的故障。在步骤1010中,后备系统处理器使专用仲裁器800处于一个单主模式,使得专用仲裁器除了后备系统处理器之外不会向任何其它设备提供总线许可。在步骤1015中,后备系统处理器检查总线上的一个设备并且在步骤1020中确定该设备是否具有执行破坏操作的危险。例如,后备系统处理器访问关于设备的状态信息并且确定允许到该设备的中断,确定该设备是否具有对活跃系统处理器进行直接存储器访问的能力,并且/或确定该设备是否处于一个故障板上,例如活跃系统处理器板或配套板上的故障。
在步骤1025中,如果后备系统处理器在步骤1020中确定设备有执行破坏操作的危险,则后备系统处理器暂停该设备。例如,后备系统处理器对设备进行编程以停止其操作或改变该设备进行写操作的地址。只要在步骤1030中有更多的设备需要检查,则后备系统处理器重复步骤1015至1030。最终,在步骤1035中,暂停了所有具有执行破坏操作的危险的设备,并且后备系统处理器使专用仲裁器800处于多主模式,该模式允许专用仲裁器为不同于后备系统处理器的设备提供总线许可。
应当理解,这里描述的发明提供了在不中断设备操作的情况下热插拔一个CompactPCI总线上的一个系统主板的优点。前面已经参照最优实施例描述了本发明。但本领域的技术人员会认识到,在不偏离本发明范围的情况下可以在这些最优实施例中进行各种改变和修改。
权利要求
1.插拔计算机系统中的一个系统主板的方法,其中包括的步骤有提供一个第一CompactPCI总线,第一CompactPCI总线被连接到一个第一系统处理器板,第一系统处理器板具有一个第一系统处理器和一个第一系统处理器板系统主机,并且第一CompactPCI总线被连接到一个第一桥接板,第一桥接板具有一个第一桥接板系统主机;提供一个第二CompactPCI总线,第二CompactPCI总线被连接到一个第二系统处理器板,第二系统处理器板具有一个第二系统处理器和一个第二系统处理器板系统主机,并且第二CompactPCI总线被连接到一个第二桥接板,第二桥接板具有一个第二桥接板系统主机;在第一系统处理器板和第二桥接板之间提供一个第一交叉连接;当在第一系统处理器板上检测到一个故障时从第一系统处理器板系统主机向第一桥接板系统主机转移对第一CompactPCI总线的控制。
2.如权利要求1所述的方法,其中还包括当在第一系统处理器板上检测到一个故障时从第二桥接板系统主机向第二系统处理器板系统主机转移对第二CompactPCI总线的控制的步骤。
3.如权利要求2所述的方法,其中还包括当在第一系统处理器板上检测到一个故障时从第一系统处理器向第二系统处理器转移对计算机系统的控制的步骤。
4.如权利要求1所述的方法,其中还包括当在第一系统处理器板上检测到一个故障时从第一系统处理器向第二系统处理器转移对计算机系统的控制的步骤。
5.如权利要求1所述的方法,其中在不复位任何与第一CompactPCI总线相连的设备的情况下从第一系统处理器板系统主机向第二系统处理器板系统主机转移对第一CompactPCI总线的控制。
6.插拔计算机系统中的一个系统主板的方法,其中包括的步骤有提供一个第一总线,第一总线被连接到一个第一系统处理器板,第一系统处理器板具有一个第一系统处理器和一个第一系统处理器板系统主机,并且第一总线被连接到一个第一桥接板,第一桥接板具有一个第一桥接板系统主机;提供一个第二总线,第二总线被连接到一个第二系统处理器板,第二系统处理器板具有一个第二系统处理器和一个第二系统处理器板系统主机,并且第二总线被连接到一个第二桥接板,第二桥接板具有一个第二桥接板系统主机;在第一系统处理器板和第二桥接板之间提供一个第一交叉连接;当在第一系统处理器板上检测到一个故障时从第一系统处理器板系统主机向第一桥接板系统主机转移对第一总线的控制。
7.如权利要求6所述的方法,其中还包括当在第一系统处理器板上检测到一个故障时从第二桥接板系统主机向第二系统处理器板系统主机转移对第二总线的控制的步骤。
8.如权利要求7所述的方法,其中还包括当在第一系统处理器板上检测到一个故障时从第一系统处理器向第二系统处理器转移对计算机系统的控制的步骤。
9.如权利要求6所述的方法,其中还包括当在第一系统处理器板上检测到一个故障时从第一系统处理器向第二系统处理器转移对计算机系统的控制的步骤。
10.如权利要求6所述的方法,其中在不复位任何与第一总线相连的设备的情况下从第一系统处理器板系统主机向第二系统处理器板系统主机转移对第一总线的控制。
全文摘要
在一个插拔系统主板(150,160,170,180)的方法中,当在第一系统处理器板(150)上检测到一个故障时,从第一系统处理器板系统主机(154)向第一桥接板系统主机(164)转移对第一CompactPCI总线(110)的控制。在一个活跃/后备结构中,对第二CompactPCI总线(120)的控制被从第二桥接板系统主机(184)转移到第二系统处理器板系统主机(174),并且在不复位系统上任何设备的情况下对第一CompactPCI总线(110)和第二CompactPCI总线(120)上的设备的控制被从第一系统处理器(152)转移到第二系统处理器(172)。
文档编号G06F15/177GK1300392SQ99805998
公开日2001年6月20日 申请日期1999年5月7日 优先权日1998年5月14日
发明者马克·拉努斯, 克里斯托弗·查尔斯·希尔, 阿尼尔·吉普塔 申请人:摩托罗拉公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1