一种主备控制器倒换的实现方法及设备的制作方法

文档序号:7659999阅读:329来源:国知局
专利名称:一种主备控制器倒换的实现方法及设备的制作方法
技术领域
本发明涉及通信技术领域,尤其涉及一种主备控制器倒换的实现方法及 设备。
背景技术
PCI (Peripheral Component Interconnect,夕卜部器件互连)Express (扩展) 总线是串行总线,进行点对点传输,每对传输线路独享带宽。PCI Express总 线系统中有一个RC (Root Complex,根复用器),用于连接CPU (Central Processing Unit,中央处理单元)和Memory (存储器)及PCI Express总线, 一个RC可以支持一个或者多个PCI Express端口 ,每个端口定义一个独立的 层次域,每个层次域可以由单个端点器件、或者一个包含交换装置和多个端 点器件的子层次域组成。RC代表CPU产生事务请求,发起配置请求,生成 存储器和I/0 (Input/Output,输入/输出)请求和锁定事务请求。如图1所示, 为一个通用的PCI Express总线系统示意图,RC通过PCI Express总线与PCI Express端点或PCI Express桥直4妄连4妄,也可以通过交4灸装置与PCI Express 端点或Legacy端点连接,该交换装置是由一些逻辑上的虚拟PCI-to-PCI桥器 件组成,利用类似PCI桥的基于Memory、 I/O和配置的地址进行路由,在不 同端口之间进行数据传输,可以支持从任意一个入端口向任意一个出端口按 照地址路由、ID路由或者是隐含路由传输所有PCI Express标准要求的事务数 据报文。
在高可靠性应用的场合通常使用主备用工作方式,即在系统结构上采用 资源冗余的方法配置超过一个(最常见的为两个)功能相同的部件来完成一 个功能的容错策略,正常工作时系统内只有一个部件完成相应功能,称为主 用;其他部件处于备用状态,称为备用。当主用部件发生故障时备用部件自 动成为主用继续工作,保证系统的稳定运行。
现有技术在PCI Express总线系统中支持双主控的方法, 一般是通过NT (非透明)端口的方法实现。由于PCI Express系统中,RC为系统的根节点, 可以实现对于系统层次、设备的透明化控制与管理。需要在当前主用CPU的 RC (通常RC集成在CPU内部)发生故障或主用CPU系统的其他部分发生 故障的情况下,能够切换到备用状态的正常RC,通过该RC端口的CPU实现 备用系统正常工作。对于支持双主控的PCIExpress总线系统中,由于需要主 备系统通过非透明桥的方式,利用交换装置传递信息等,所以备用CPU的RC 也需要连接到交换装置上。例如图2的现有系统中, 一般不存在主备用处理 器之间的备份通道和心跳通道,所以也需要备用RC连接到交换装置上。
这种双主控系统的方法需要处于系统核心的PCI Express交换装置在与备 用RC连接的端口上支持NT功能,以便实现在交换装置上能够同时连接到两 个支持RC的主控系统并实现地址空间的隔离。现有技术中一种实现方法如图 2所示,两个CPU中有一个连接到交换装置的NT(NoTransparentPort,非透 明桥)端口作为备用CPU,另一个连到交换装置的上行端口作为主用CPU。 其中的主用CPU作为当前的有效的RC来配置和引导系统,处理中断和错误, 主备两个CPU可以通过交换装置以及其中的NT实现对以交换装置内部控制 寄存器访问,动态控制连接到交换装置的上行端口和NT端口,从而实现根联 合体的切换。
图2中非透明桥不仅实现两个RC系统的地址空间隔离,还需要交换装置 能够支持连接到上行端口的RC处理器系统和连接到NT端口的RC处理器系 统,在正常工作情况下都能够通过各自连接的PCI Express链路实现对于交换 装置内部控制用寄存器的访问和改写等。这样,对于主备用的系统,连接于 NT端口上的备用RC在监视到主用处理器系统故障或者是不正常的情况下, 需要通过自己和PCI Express交换装置连接的链路控制原来和主用RC连接的 端口更改为NT端口,而和自身链路连接的端口切换为正常上行端口。这里的 切换过程通过软件控制端口状态实现。
然而,上述实现方式需要交换装置支持NT功能,而当前的交换装置主要 面向PC、 Server (服务器)开发,交换装置通常不具有NT,如果要增加NT
将加大开发成本,且实现比较复杂。

发明内容
本发明提供了一种主备控制器倒换的实现方法及设备,以解决现有技术
中PCIExpress交换装置需要支持双处理器时, 一般需要非透明桥功能而引起 的器件实现复杂的问题。
本发明提供了一种主备控制器倒换系统,包括交换装置和至少两个控 制装置,所述控制装置互为主备用,且分别具有接入PCIE链路功能的根复用 器,所述交换装置具体包括交换模块、开关模块和开关控制模块;
所述交换模块包括至少两个上行端口 ,分别通过所述开关模块与对应的 控制装置的根复用器连接;
所述开关控制模块,与所述开关模块连接,用于主用控制装置工作时, 控制与所述主用控制装置的根复用器连接的开关模块导通,与备用控制装置 的根复用器连接的开关模块截止;备用控制装置工作时,控制与主用控制装 置的根复用器连接的开关模块截止,与备用控制装置的根复用器连接的开关 模块导通。
还包括多路开关模块,连接于所述控制装置和交换装置之间,用于实现 主用控制装置控制所述开关控制模块,或备用控制装置控制所述开关控制模 块。
所述多路开关模块具体包括
主用控制信号通道,用于将主用控制装置的控制信号发送到所述交换装
置;
备用控制信号通道,用于将备用控制装置的控制信号发送到所述交换装
置;
通道切换子模块,用于根据控制装置的激活信号进行所述主用控制信号 通道和备用控制信号通道之间的切换。 所述开关控制模块具体包括
总线端口子模块,用于接收来自主用控制装置或备用控制装置的总线信
号,控制所述开关模块导通或截止;或
控制管脚端口子模块,用于接收来自主用控制装置或备用控制装置的管 脚电平控制信号,控制所述开关模块导通或截止。
所述主用控制装置和所述备用控制装置之间包括
备份通道,用于将主用控制装置的数据备份到备用控制装置;
心跳通道,用于对主用控制装置进行故障检测。
所述总线信号包括内部集成电路I2C总线或系统管理总线SMBus。
本发明还提供了 一种交换装置,应用于包括至少两个控制装置的系统中, 所述控制装置互为主备用,且分别具有接入PC正链路功能的根复用器,所述 交换装置具体包括交换模块、开关模块和开关控制模块;
所述交换模块包括至少两个上行端口 ,分别通过所述开关模块与对应的 控制装置的根复用器连接;
所述开关控制模块,与所述开关模块连接,用于主用控制装置工作时, 控制与所述主用控制装置的根复用器连接的开关模块导通,与备用控制装置 的根复用器连接的开关模块截止;备用控制装置工作时,控制与主用控制装 置的根复用器连接的开关模块截止,与备用控制装置的根复用器连接的开关 模块导通。
所述开关控制模块具体包括
总线端口子模块,用于接收来自主用控制装置或备用控制装置的总线信 号,控制所述开关^莫块导通或截止;或
控制管脚端口子模块,用于接收来自主用控制装置或备用控制装置的管 脚电平控制信号,控制所述开关模块导通或截止。
本发明还提供了一种主备控制器倒换的实现方法,应用于包括至少两个 控制装置的系统中,所述控制装置互为主备用,且分别具有接入PCIE链路功 能的才艮复用器,所述方法包括以下步骤
备用控制装置检测主用控制装置是否出现故障,所述故障包括发生复位 或心跳信息回答超时;
如果出现,则通过控制信号控制与主用控制装置的根复用器连接的PCIE
链路截止、与备用控制装置的根复用器连接的PCIE链路导通。 所述备用控制装置4企测主用控制装置是否出现故障具体包括 通过心跳通道向主用控制装置发送检测消息; 如预设周期内没有收到响应,则判断所述主用控制装置出现故障。 所述备用控制装置检测主用控制装置是否出现故障之前还包括 通过备份通道将主用控制装置的数据备份到备用控制装置。 所述备用控制装置检测主用控制装置是否出现故障之后还包括,通过连
接于交换装置和控制装置之间的多路开关模块实现主用控制装置/备用控制装
置与所述交换装置连接,具体包括
根据控制装置的激活信号将主用控制装置的控制信号发送到所述交换装
置;或将备用控制装置的控制信号发送到所述交换装置;
所述控制与主用控制装置的根复用器连接的PCIE链路截止、与备用控制
装置的根复用器连接的PCIE链路导通具体包括
通过总线信号控制所述交换设备的开关模块导通或截止;或 通过控制管脚电平信号控制所述交换设备的开关模块导通或截止。 与现有^a术相比,本发明实施例具有以下优点
本发明的实施例中,通过在交换装置中实现PCI Express链路切换,并同 时和主备控制器的主备倒换控制电路结合,可以简单的实现双控制器系统中 主备用功能的RC倒换,达到不使用交换装置内部非透明桥进行双主控系统的 主备倒换的目的,可以降低对于交换装置的设计要求,简化系统设计,降低 系统成本。


图1是现有技术中PCI Express总线系统示意图2是现有技术中通过非透明桥实现双主控系统结构图3是本发明中一种交换装置结构图4是本发明中另 一种交换装置结构图5是本发明中 一种主4^到换系统结构图。
具体实施例方式
本发明提供了一种主备控制器倒换系统,包括交换装置、多路开关模 块和至少两个控制装置,控制装置互为主备用,且分别具有接入PCIE链路功 能的根复用器。其中,交换装置具体包括交换模块、开关模块和开关控制 模块;交换模块包括至少两个上行端口和多个下行端口,上行端口分别通过 开关模块与对应的控制装置的根复用器连接,下行端口与下游设备连接;开 关控制模块,与开关模块连接,用于主用控制装置工作时,控制与主用控制 装置的根复用器连接的开关模块导通,与备用控制装置的根复用器连接的开 关模块截止;备用控制装置工作时,控制与主用控制装置的根复用器连接的 开关模块截止,与备用控制装置的根复用器连接的开关模块导通。
多路开关模块,连接于控制装置和交换装置之间,用于实现主用控制装 置控制开关控制模块,或备用控制装置控制开关控制模块。该多路开关模块 具体包括主用控制信号通道,用于将主用控制装置的控制信号发送到交换 装置;备用控制信号通道,用于将备用控制装置的控制信号发送到交换装置; 通道切换子模块,用于根据控制装置的激活信号进行主用控制信号通道和备 用控制信号通道之间的切换。
开关控制模块具体包括总线端口子模块,用于接收来自主用控制装置 或备用控制装置的总线信号,控制开关模块导通或截止;或控制管脚端口子 模块,用于接收来自主用控制装置或备用控制装置的管脚电平控制信号,控 制开关模块导通或截止。
另外,上述描述中,虽然开关模块或开关控制模块与交换装置集成为一 体,但实际应用中也可以将开关模块和开关交换模块独立于交换装置设计。
下面结合附图和实施例,对本发明的具体实施方式
作进一步详细描述
本发明实施例,首先PCI Express交换装置内部的各个PCI Express总线 端口不需要再支持非透明桥功能,将PCI Express总线端口连接到支持上行端 口可选的交换装置上。并且该交换装置要求能够通过一般的控制总线如I2C (Inter - Integrated Circuit,内部集成电3各)/SMBus ( System Management Bus,
系统管理总线,通过一条由两条线组成的总线来控制主板上的设备并收集相
应的信息)或者是控制引脚实现上行端口的切换。 一种PCI Express总线交换 装置的实现功能如图3所示,该交换装置需要实现一个I2C或者SMBus总线 的Slave (从)模式的端口 ,通过该Slave模式的I2C或者SMBus总线可以和 一般CPU的作为Maste (主)模式的I2C或者SMBus总线直接连接。CPU可 以通过这个端口控制交换装置内部的交换模块中的功能以及进行上行端口切 换。
图3实现内部数据交换的交换模块为交换装置的核心,该交换模块可以
支持PO、 PI 、 P2.......、 Pn个PCI Express端口 。每个端口对应一条独立的
PCI Express总线链路。如图3示,在器件的PO、 PI端口为上行端口 ,连接到 内部交换模块之前都通过一个可控的电子开关(例如开关二极管、继电器 等)。这样最终PO、 PI端口是否连接到内部交换模块受电子开关影响,而电 子开关的控制通过I2C/SMBus总线端口或者是控制引脚实现。
当然上述的在P0、P1端口上增加的电子开关也可以不限于这样两个端口。 对于内部交换模块的每个端口如果都可以可选的设置为上行端口 ,那么每个 端口的内部连接上都可以设置这样的电子开关。由于电子开关在器件内部实 现的简单性,会极大的简化器件设计,减低成本。
另外,交换装置也可以提供一般的控制用引脚,通过该控制用引脚也可 以实现器件内部的上行端口切换,如图4所示。
采用图3或图4交换装置的主备倒换系统如图5所示,主备用的两个CPU 系统均提供RC功能。这样两个主控CPU系统均可以通过各自和系统核心的 交换装置的链路链接实现对于下游设备2~n的控制、管理和数据收发。图5 交换装置内部的PO、 PI端口上对应的电子开关在任何一个时刻只能一个为连 通状态,而另外一个为断开状态。两个CPU系统还提供一个I2C或者是SMBus 总线的端口,这样两个处理器系统来的总线同时连接到一个多^^电子开关。
初始状态时,主用CPU工作,PO端口的电子开关连通,Pl端口的电子 开关断开。主用CPU系统在主用状态下工作时,通过上述多路电子开关将对 应自己处理器系统的12C/SMBus总线端口连接到交换装置的Slave I2C/SMBus
总线端口。上述多路电子开关的切换控制通过主用CPU系统发出的ACT—A 信号和备用CPU系统发出的ACT—B信号控制。这样两个信号的状态是互斥 的,即任何情况下只能有一个信号有效,主用CPU系统正常工作则ACT—A 信号有效,ACT一B信号无效,保证主用CPU通过该多路电子开关与交换装置 的PO端口连通。
系统正常工作情况下,主用CPU系统硬件上会监测自己系统的状态。一 旦主用CPU系统因为一些原因不能正常工作,如触发看门狗电路动作引起复 位,该复位信号会无效主用CPU系统的ACT—A信号,同步传递给备用CPU 系统;备用CPU系统如果确认主用CPU系统故障,而且本备用系统需要升级 为主用系统,则有效本系统的ACT—B信号,升级为主用CPU系统。同时备 用CPU系统会通过自己的I2C/SMBus总线端口以及切换后的多路开关对于交 换装置进行控制,使得交换装置的上行端口由PO切换到Pl,即PO端口的电 子开关断开,Pl端口的电子开关连通。上述主备倒换的实现方法也适用于通 过主用主控系统软件命令行控制的方式主动发起的主备倒换。
上述备用CPU系统检测主用CPU系统的方式是通过在主备用CPU之间 增加传送状态信息的备^f分通道和心跳信息实现,其中两个CPU系统通过备用 通道实现主用CPU系统的状态、信息等向备用CPU系统的备^f分。通过这种备 份通道可以实现主备用系统的平滑切换。其中,心跳通道用于定时传递两个 系统的工作状态指示,主要是使得备用CPU系统能够定时、不断的检测主用 CPU系统的状态。 一旦备用CPU系统检测到长时间不能接收到主用CPU系 统发送来的心跳信息,则认为主用CPU系统故障,本CPU系统发起倒换复位 主用CPU系统,使得主用CPU系统释放ACT—A信号,并有岁支自己的ACT—B 信号和I2C/SMBus总线端口,实现对于交换装置的控制,切换自己为主用CPU 系统。
图4所示的系统中备份通道和心跳通道一般为以太网互连端口,也可以 将两个主备CPU系统的备份通道和心跳通道合并为一个以太网互连通道。本 系统相对于图2的另外一个优点在于,两个主备用CPU系统之间的信息传递 不再只依靠交换装置和连接于PO、 PI端口的这样一套物理通道,而是实现了
分离的数据通道和状态通道以及心跳通道。而通过以太网互连实现的状态通
道和信息通道性对PCI Express系统,也有系统简单和可靠性高的特点。
上述通过12C/SMBus总线实现交换装置上行端口切换的方法也可以变换 为采用主备用处理器系统的ACT—A或者ACT—B信号控制交换装置的控制引 脚的方法实现。这种实现方法可以不需要图5的两个处理器I2C/SMBus总线, 只需要将上述ACT_A或者是ACT—B信号按照主备用系统的主用工作状态连 接到交换装置的控制引脚。
本发明还提供了 一种主备控制器倒换的实现方法,应用于包括至少两个 控制装置的系统中,所述控制装置互为主备用,且分别具有接入PCIE链路功 能的根复用器,所述方法包括以下步骤
步骤slOl,通过连接于交换装置和控制装置之间的多路开关模块实现主 用控制装置/备用控制装置与所述交换装置连接,具体包括根据控制装置的 激活信号将主用控制装置的控制信号发送到所述交换装置;或将备用控制装 置的控制信号发送到所述交换装置。然后,备用控制装置检测主用控制装置 是否出现故障;具体包括通过心跳通道向主用控制装置发送检测消息;如 预设周期内没有收到响应,则判断所述主用控制装置出现故障。所述备用控 制装置检测主用控制装置是否出现故障之前还包括-通过备份通道将主用控 制装置的数据备份到备用控制装置。
步骤sl02,如果出现,则通过控制信号控制与主用控制装置的根复用器 连接的PCIE链路截止、与备用控制装置的根复用器连接的PCIE链路导通。 具体过程包括通过总线信号控制所述交换设备的开关模块导通或截止;或 通过控制管脚电平信号控制所述交换设备的开关模块导通或截止。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本 发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬 件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技 术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体 现出来,该计算机软件产品存储在一个存储介质中,包括若千指令用以使 得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行
本发明各个实施例的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的 普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进 和润饰,这些改进和润饰也应3见为本发明的保护范围。
权利要求
1、一种主备控制器倒换系统,包括交换装置和至少两个控制装置,所述控制装置互为主备用,且分别具有接入PCIE链路功能的根复用器,其特征在于,所述交换装置具体包括交换模块、开关模块和开关控制模块;所述交换模块包括至少两个上行端口,分别通过所述开关模块与对应的控制装置的根复用器连接;所述开关控制模块,与所述开关模块连接,用于主用控制装置工作时,控制与所述主用控制装置的根复用器连接的开关模块导通,与备用控制装置的根复用器连接的开关模块截止;备用控制装置工作时,控制与主用控制装置的根复用器连接的开关模块截止,与备用控制装置的根复用器连接的开关模块导通。
2、 如权利要求l所述主备控制器倒换系统,其特征在于,还包括多路开 关模块,连接于所述控制装置和交换装置之间,用于实现主用控制装置控制 所述开关控制模块,或备用控制装置控制所述开关控制模块。
3、 如权利要求2所述主备控制器倒换系统,其特征在于,所述多路开关 模块具体包括主用控制信号通道,用于将主用控制装置的控制信号发送到所述交换装置;备用控制信号通道,用于将备用控制装置的控制信号发送到所述交换装置;通道切换子模块,用于根据控制装置的激活信号进行所述主用控制信号 通道和备用控制信号通道之间的切换。
4、 如权利要求i所述主备控制器倒换系统,其特征在于,所述开关控制模块具体包括总线端口子模块,用于接收来自主用控制装置或备用控制装置的总线信 号,控制所述开关模块导通或截止;或控制管脚端口子模块,用于接收来自主用控制装置或备用控制装置的管 脚电平控制信号,控制所述开关^f莫块导通或截止。
5、 如权利要求1所述主备控制器倒换系统,其特征在于,所述主用控制 装置和所述备用控制装置之间包括备份通道,用于将主用控制装置的数据备份到备用控制装置; 心跳通道,用于对主用控制装置进行故障检测。
6、 如权利要求1至5中任一项所述主备控制器倒换系统,其特征在于, 所述总线信号包括内部集成电路I2C总线或系统管理总线SMBus。
7、 一种交换装置,应用于包括至少两个控制装置的系统中,所述控制装 置互为主备用,且分别具有接入PC正链路功能的根复用器,其特征在于,所 述交换装置具体包括交换模块、开关模块和开关控制模块;所述交换模块包括至少两个上行端口 ,分别通过所述开关模块与对应的 控制装置的根复用器连接;所述开关控制模块,与所述开关模块连接,用于主用控制装置工作时, 控制与所述主用控制装置的根复用器连接的开关模块导通,与备用控制装置 的根复用器连接的开关模块截止;备用控制装置工作时,控制与主用控制装 置的根复用器连接的开关模块截止,与备用控制装置的根复用器连接的开关 模块导通。
8、 如权利要求7所述交换装置,其特征在于,所述开关控制模块具体包括总线端口子模块,用于接收来自主用控制装置或备用控制装置的总线信 号,控制所述开关模块导通或截止;或控制管脚端口子模块,用于接收来自主用控制装置或备用控制装置的管 脚电平控制信号,控制所述开关模块导通或截止。
9、 一种主备控制器倒换的实现方法,应用于包括至少两个控制装置的系 统中,所述控制装置互为主备用,且分别具有接入PCIE链路功能的根复用器, 其特征在于,所述方法包括以下步骤备用控制装置检测主用控制装置是否出现故障;如果出现,则通过控制信号控制与主用控制装置的根复用器连接的PCIE 链路截止、与备用控制装置的根复用器连接的PCIE链路导通。
10、 如权利要求9所述主备控制器倒换的实现方法,其特征在于,所述 备用控制装置检测主用控制装置是否出现故障之后还包括,通过连接于交换 装置和控制装置之间的多路开关模块实现主用控制装置/备用控制装置与所述 交换装置连接,具体包括根据控制装置的激活信号将主用控制装置的控制信号发送到所述交换装 置;或将备用控制装置的控制信号发送到所述交换装置。
11、 如权利要求9所述主备控制器倒换的实现方法,其特征在于,所述 控制与主用控制装置的根复用器连接的PCIE链路截止、与备用控制装置的根 复用器连接的PCIE链路导通具体包括通过总线信号控制所述交换设备的开关模块导通或截止;或 通过控制管脚电平信号控制所述交换设备的开关模块导通或截止。
12、 如权利要求9所述主备控制器倒换的实现方法,其特征在于,所述 备用控制装置检测主用控制装置是否出现故障具体包括通过心跳通道向主用控制装置发送4企测消息;如预设周期内没有收到响应,则判断所述主用控制装置出现故障。
13、 如权利要求9所述主备控制器倒换的实现方法,其特征在于,所述 备用控制装置检测主用控制装置是否出现故障之前还包括通过备份通道将主用控制装置的数据备份到备用控制装置。
全文摘要
本发明提供了一种主备控制器倒换系统,包括交换装置和至少两个控制装置,交换装置具体包括所述交换模块包括至少两个上行端口,分别通过所述开关模块与对应的控制装置的根复用器连接;所述开关控制模块,用于控制与所述主用控制装置的根复用器连接的开关模块导通或截止。本发明提供了一种交换装置。本发明的实施例中,可以降低对于交换装置的设计要求,简化系统设计,降低系统成本。
文档编号H04L12/00GK101102177SQ20071014300
公开日2008年1月9日 申请日期2007年8月20日 优先权日2007年8月20日
发明者王心远 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1