基于快速外围组件互连的接口板及其切换主控板的方法

文档序号:7968482阅读:118来源:国知局
专利名称:基于快速外围组件互连的接口板及其切换主控板的方法
技术领域
本发明涉及网络及通信领域,尤其涉及网络设备中一种基于PCI Express(Peripheral Component Interconnect Express,快速外围组件互连)总线的接口板以及该接口板在主控板之间切换的方法。
背景技术
Intel在2001年春季正式公布了PCI Express总线,是取代PCI(PeripheralComponent Interconnect,外围组件互连)总线的第三代局部总线技术。一路PCI Express串行总线信号由收、发两对差分信号组成,带宽为2.5Gbps(吉比特每秒)。由于PCI Express串行总线具有信号线少、带宽大、点到点传输等特点,在网络、通信设备中的应用越来越多。
在基于PCI Express总线的双主控网络设备中,主用主控板和接口板之间、备用主控板和接口板之间以PCI Express总线连接。当主用主控板正常工作时,接口板通过与主用主控板之间的连接完成业务处理;当主用主控板发生故障后,得知这一故障的备用主控板升级为主用主控板,接口板将PCI Express总线连接切换至升级后的原备用主控板继续进行业务处理。
双主控网络设备中,接口板与主用主控板、备用主控板之间总线连接的典型方式如图1所示。接口板包括PCI Express Endpoint(快速外围组件互连终端设备)和Mux(Multiplexor,多路复用器)。Endpoint为PCI Express总线上的终端设备,可以看作对接口板上完成业务功能的芯片、或者芯片及元件组合的抽象。Mux是PCI Express串行总线开关的一种,可以通过切换选通控制信号sel实现2路至1路的选通功能。
在主用主控板和备用主控板内部,CPU(Central Process Unit,中央处理器)系统通常包括CPU和PCI Express RC(Root Complex,根复用器),其中RC用来完成PCI Express所连接的多个终端设备的初始化和总线控制。CPU系统通过主控板上的PCI Express Bridge(桥)或者PCI Express Switch(交换芯片)连接到各个接口板上的Mux,使得在主控板上的CPU系统和接口板上的Endpoint之间能够形成一条总线通道,以便CPU系统和EndPoint协同工作,实现接口板的业务功能。
接口板上的Mux与Endpoint之间、Mux与主控板上的PCI ExpressBridge/Switch之间通过PCI Express线路连接,可以是一条独立的PCI Express线路,也可以为多条独立的PCI Express线路捆绑后形成的一条具有更大带宽的逻辑上的PCI Express线路。
现有技术中,接口板上采用串行总线开关,如Mux来实现与主用主控板和备用主控板的连接。这种串行总线开关是一种多选一的电子开关,根据两个主控板的工作状态来决定将本接口板上PCI Express总线的物理链路和哪个主控板连接。对未连接的主控板而言,由于在物理上与本接口板断开,本接口板及其上的Endpoint是不可见的。
在接入到某个CPU系统的PCI Express Endpoint能够正常工作前,需要由该CPU系统的RC对其进行初始化。这样,在现有技术中,当接口板在原主用主控板故障后,将连接切换至升级后的当前主用主控板时,当前主用主控板上的RC需要对该接口板及其上的Endpoint进行再一次地初始化,否则当前主用主控板上的CPU系统和该Endpoint无法互相访问。在初始化过程中Endpoint内部的寄存器会被修改为初始值,降低了接口板工作的稳定性,可靠性低;同时这一初始化过程还会增加网络设备进行故障切换的时间。

发明内容
本发明要解决的是现有技术中接口板切换主控板时影响工作稳定性和可靠性的问题。
本发明所述种基于PCI Express的接口板,包括终端设备Endpoint,以及通过PCI Express总线连接至少两个主控板和Endpoint的总线连接单元,所述总线连接单元包括地址映射模块和映射隔离模块,其中地址映射模块用来建立和维护Endpoint与至少两个主控板间的地址映射;地址隔离模块用来隔离及恢复Endpoint与主控板间的地址映射。
优选地,所述地址映射模块通过地址转换方式建立与非当前主控板间的地址映射;所述当前主控板为与该Endpoint进行业务处理的主控板。
优选地,所述接口板还包括总线连接控制单元,用来指示地址隔离模块隔离Endpoint与当前主控板间的地址映射,以及恢复Endpoint与另一个主控板间的地址映射;所述当前主控板为与该Endpoint进行业务处理的主控板。
优选地,所述总线连接控制单元根据主控板的指令,指示地址隔离模块隔离Endpoint与当前主控板间的地址映射,并恢复Endpoint与另一个主控板间的地址映射。
优选地,所述接口板还包括主控板状态单元,用来接收各个主控板的工作状态信息;所述总线连接控制单元根据主控板的工作状态,在当前主控板发生故障时指示地址隔离模块隔离Endpoint与所述故障主控板的地址映射,并恢复Endpoint与另一个主控板的地址映射。
优选地,所述总线连接单元由具有地址转换功能的PCI Express交换芯片Switch实现。
本发明提供了一种基于PCI Express的接口板切换主控板的方法,所述接口板通过PCI Express总线分别与至少两个主控板连接,该方法包括以下步骤隔离接口板上PCI Express终端设备Endpoint与非当前主控板间的地址映射;所述当前主控板为对该Endpoint进行业务处理的主控板;在当前主控板发生切换时,隔离该Endpoint与切换前当前主控板间的地址映射,并恢复该Endpoint与切换后当前主控板间的地址映射。
优选地,所述方法还包括以地址转换方式建立接口板上Endpoint与非当前主控板间的地址映射。
优选地,所述方法还包括主控板指令接口板将业务处理切换至另一个主控板。
优选地,所述方法还包括检测当前主控板的工作状态,在当前主控板发生故障时将接口板的业务处理切换至另一个主控板。
本发明中,接口板保持与各个主控板之间的总线连接,通过隔离及恢复Endpoint与主控板之间地址映射来切换与接口板进行业务处理的主控板,将主控板的切换由变更业务数据流向完成,不再需要连通和切断PCI Express总线的物理连接,增加了切换的可靠性,也使得接口板工作更为稳定;同时还可以缩短主控板切换所需的时间。


图1为现有技术中接口板与主用主控板、备用主控板之间总线连接的示例图;图2为本发明所述接口卡的结构示意图;图3为本发明所述接口卡上总线连接单元的功能示意图;图4为应用本发明的双主控网络设备的实现示例图;图5为本发明所述接口板切换主控板的方法的流程图。
具体实施例方式
现有技术中,当主控板上的CPU系统对接口板上的Endpoint进行初始化时,在主控板的CPU系统中为该Endpoint分配一段地址空间,在该Endpoint内部的各个控制寄存器、缓存器与主控板CPU系统所分配的地址空间之间建立映射关系。当CPU对其中的某个地址的写操作时,写操作的结果会同样反映在与该地址具有映射关系的Endpoint内部寄存器中;该Endpoint对其内部寄存器的写操作也是如此,同样会反映在与该寄存器具有映射关系的主控板CPU系统的地址空间中。通过地址映射的方式,CPU系统可以在其地址空间中与Endpoint交互数据和控制信息,协助Endpoint完成接口板的各项业务功能。
对主控板而言,在Endpoint完成地址映射后,该Endpoint与其CPU系统即处于连接状态,正常情况下CPU系统随时可以按照该Endpoint的工作模式与该Endpoint协同工作。此时,如果隔离Endpoint与主控板的地址映射,即不将Endpoint寄存器的变化反映到与其具有映射关系的主控板地址空间中,同时也不将主控板CPU系统对该段地址空间的操作反映给Endpoint的寄存器,则在主控板看来,该Endpoint仍旧连接在其PCI Express总线上,但没有出现需要其另行处理的情况。同理,在取消地址映射隔离,恢复地址映射进行透明传输后,在主控板看来,只是该Endpoint发生了需要其配合工作的事项而已。
在包括超过1个主控板的网络设备中,接口板上的Endpoint在同一时刻只与一个主控板配合完成业务处理,该主控板为该Endpoint的当前主控板。如果一个网络设备中包括多个接口板,这些接口板可以只通过同一个当前主控板完成业务处理,而其他的主控板处于备份状态,此时该当前主控板为主用主控板,其他主控板为备用主控板;这些接口板也可以具有不同的当前主控板,以实现负载分担。
接口板上的Endpoint可以在与当前主控板建立地址映射的同时,和其他主控板也建立地址映射,使得当前主控板和其他主控板都将该Endpoint视作其PCI Express总线上的终端设备。与非当前主控板间建立地址映射可以通过现有技术中的地址转换方式进行,例如可以采用PLX公司PEX8508芯片的非透明桥功能实现。
当前主控板正常工作时,接口板隔离板上Endpoint与其他主控板之间的地址映射,该Endpoint与当前主控板完成业务处理;当发生当前主控板切换时,只要隔离与原当前主控板CPU系统间的地址映射,并恢复与切换后的当前主控板间的地址映射,就可以将该Endpoint的业务处理平滑切换至新的当前主控板。
本发明所述基于PCI Express的接口板可以具有图2所示的结构,接口板200上,总线连接单元210包括相互连接的地址隔离模块211和地址映射模块212,地址隔离模块211通过PCI Express总线通道与Endpoint 220连接;总线连接控制单元230通过控制通道分别与总线连接单元210、主控板状态单元240连接。接口板200的地址隔离模块211以PCI Express总线分别与主控板110、主控板120连接;主控板110和120通过控制通道与主控板状态单元240连接,还可以通过控制通道与总线连接控制单元230连接。
总线连接单元210负责将接口板200上Endpoint 220接入主控板,包括与主控板的连接、当前主控板判决和切换,维护主控板与Endpoint 220之间的PCI Express总线通道,使得Endpoint 220的业务处理得以正常进行。
地址映射模块212在初始化过程中建立Endpoint 220与主控板110和120的地址映射,在接口板200的运行过程中完成未被地址隔离模块211隔离的地址映射的功能。不失一般性,假设接口板200在初始化时缺省的当前主控板为主控板110,在建立Endpoint 220与非当前主控板120的地址映射时,地址映射模块212可以采用地址转换方式,使得主控板120与主控板110的RC都认为Endpoint 220所在的PCI Express总线结构中只有一个RC。虽然事实上本发明中在同一时刻不会有超过1个的RC能够对Endpoint 220进行总线控制,主控板上的RC互不可见同样可以避免各个主控板的PCI Express可能互相影响的问题。
地址隔离模块211隔离Endpoint 220与非当前主控板之间的地址映射,在接收到变更当前主控板的指示后,地址隔离模块211根据指示对所隔离的地址映射进行切换,即隔离与当前主控板之间的地址映射,并取消对另一个主控板的地址映射隔离,恢复为正常的地址映射,此后该主控板即作为Endpoint220的下一个当前主控板运行。隔离地址映射同样可以采用地址转换方式实现,此外还可以采用非透明桥方式实现。
总线连接控制单元230用来在Endpoint 220的当前主控板发生变更时指示地址隔离模块211对地址映射隔离做出相应的变更。总线连接控制单元230可以通过多种方式获知当前主控板的变更,包括但不限于以下几种,以变更前的当前主控板为主控板110为例进行说明其一,由主控板通知总线连接控制单元230进行主控板切换。总线连接控制单元230通过控制通道与主控板连接,主控板可以通过控制通道指令Endpoint 220变更主控板;当前主控板、非当前主控板都可以通过这种指令方式对接口卡200进行变更主控板的指示。当有多个非当前主控板时,主控板还可以指定变更后的当前主控板。
其二,根据当前主控板的状态来自动进行主控板切换。这种方式需要在接口板200上增加主控板状态单元240,用来接收各个主控板输出的实时状态信息。总线连接控制单元230读取主控板状态单元240的控制信息,在当前主控板110发生故障时,总线连接控制单元230指示地址隔离模块211隔离与主控板110的地址映射,并恢复与主控板120的地址映射,将当前主控板切换为主控板120。
此外,当前主控板还可以直接指示地址隔离模块211变更当前主控板。由于总线连接单元210也可以作为接口卡200上的Endpoint,与主控板110之间也可以具有地址映射关系。此时,主控板110可以通过对地址隔离模块211寄存器直接进行写操作的方式指令接口卡200变更主控板;由于非当前主控板的地址映射处于隔离状态,这种指令方式只能由当前主控板进行。
从功能上看,总线连接单元相当于在内部以共享总线将通向各个主控板地址空间、以及Endpoint地址空间的桥相连接,并且将以通向Endpoint的桥作为该共享总线的根,如图3所示。设总线连接单元通过PCI Express线路0和PCI Express线路1分别连接两个主控板,通过PCI Express线路2连接Endpoint,虽然连接PCI Express线路2的桥与连接PCI Express线路0及PCIExpress线路1的桥始终处于连通状态,但基于共享总线的性质,在同一时刻连接PCI Express线路2的桥只能与连接PCI Express线路0以及PCI Express线路1的桥中的一个进行数据交互。在发生主控板切换时,相当于占用共享总线的桥发生了变化。
这样,总线接口单元相当于为Endpoint提供了通往各个主控板的多条上行链路,根据缺省状态、总线连接单元或当前主控板的指示来决定Endpoint的业务数据采用哪一条上行链路,到达该上行链路连接的主控板。主控板的切换不再是现有技术中与主控板物理链路的通断,而成为总线接口单元内数据流向的变化。
总线连接单元可以由具有地址转换功能的PCI Express Switch(交换芯片)实现。当本发明应用于包括主用主控板和备用主控板的双主控网络设备时,该网络设备可以采用图4所示的结构实现,本应用示例中以具有地址转换功能的PCI Express Switch作为总线连接单元。
在主用主控板和备用主控板上,除CPU系统和连接接口卡的PCI ExpressSwitch外,还包括数字逻辑电路,如CPLD(Complex Programmable LogicDevice,可编程逻辑器件),用来交换本端主控板与对端主控板的运行状态参数,在对端主控单元发生故障时通知本端主控板上的CPU系统。主用主控板和备用主控板的数字逻辑电路通过信号线Online、M_S和Work来向对端发送本端的工作状态,其中信号Online表明本端主控板是否在线,信号M_S表明当前本端主控板是为主用主控板还是备用主控板,信号Work表明本端工作是否正常。同时,两个主控板通过对应的Mate_Online、Mate_M_S和Mate_Work信号线来接收对端主控板相应的运行状态参数,并且通过这些参数来判断对端的运行状态。
在接口板上,接口板的总线连接控制单元和主控板状态单元由数字逻辑电路,如CPLD实现。主用主控板和备用主控板的运行状态参数同时还通过Online、M_S和Work信号线提供给了接口板上的数字逻辑电路。接口板上的数字逻辑电路根据两个主控板的运行状态参数,产生选通信号sel,输出至接口板上的PCI Express Switch。PCI Express Switch建立与主用主控板和与备用主控板间的地址映射,根据选通信号sel在与主用主控板的地址映射和与备用主控板的地址映射之间选择其一进行隔离。
在网络设备上电启动时,首先要进行主备仲裁。此时可以以槽位号作为仲裁条件,将槽位号较小的主控板设置为主用主控板,槽位号较大的主控板设置为备用主控板。主控板通过读取数字逻辑电路中的对端状态寄存器,得知对端主控板的运行状态,并将本端的运行状态参数通过数字逻辑电路提供给对端,同时也提供给接口板。
一旦备用主控板发现主用主控板工作异常,将触发中断上报本端的CPU系统并升级为主用主控板;此时接口板也将根据两块主控板的当前运行状态参数得知主用主控板发生切换,则数字逻辑电路输出的sel信号将控制PCIExpress Switch隔离与原主用主控板的地址映射,并恢复与升级后的主用主控板的地址映射,从而完成接口板至主控板的业务处理切换。
本发明中,基于PCI Express的接口板切换主控板的方法优选实施例的流程如图5所示。接口板通过PCI Express总线与至少两个主控板连接,其中之一为接口板的当前主控板。有关各步骤的详细描述请参见前述对接口板的说明,此处不再重复。
在步骤S510,建立接口板上Endpoint与当前主控板间的地址映射。本步骤与现有技术相同。
在步骤S520,建立Endpoint与非当前主控板间的地址映射。与非当前主控板间的地址映射可以采用地址转换方式建立。
在步骤S530,隔离接口板上Endpoint与非当前主控板间的地址映射,接口板上Endpoint的业务处理通过与当前主控板的地址映射完成。
在步骤S540,当前主控板发生切换。接口板可以通过多种方式得知当前主控板发生切换,例如可以由当前主控板指示接口板用其他主控板来替代自己作为该接口板的下一个当前主控板;也可以由非当前主控板指示接口板更换当前主控板;还可以由接口板对当前主控板的运行状态进行监测,主动发现当前主控板的故障或者主用主控板与备用主控板的升降级。
在步骤S550,接口板得知当前主控板发生切换后,隔离板上Endpoint与切换前当前主控板的地址映射,并且恢复该Endpoint与切换后当前主控板的地址映射,将业务处理切换到新的当前主控板上进行。
应用本发明后,主控板切换时,不再发生现有技术中PCI Express总线在物理连接上的通断变化,而只是需要变更接口板上器件内部的业务数据的流向即可,将现有技术中的硬切换变为软切换,不仅使得接口板工作更为稳定,也增加了主控板切换的可靠性。
以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的权利要求保护范围之内。
权利要求
1.一种基于快速外围组件互连PCI Express的接口板,包括终端设备Endpoint,以及通过PCI Express总线连接至少两个主控板和Endpoint的总线连接单元,其特征在于,所述总线连接单元包括地址映射模块和映射隔离模块,其中地址映射模块用来建立和维护Endpoint与至少两个主控板间的地址映射;地址隔离模块用来隔离及恢复Endpoint与主控板间的地址映射。
2.如权利要求1所述基于PCI Express的接口板,其特征在于所述地址映射模块通过地址转换方式建立与非当前主控板间的地址映射;所述当前主控板为与该Endpoint进行业务处理的主控板。
3.如权利要求1所述基于PCI Express的接口板,其特征在于所述接口板还包括总线连接控制单元,用来指示地址隔离模块隔离Endpoint与当前主控板间的地址映射,以及恢复Endpoint与另一个主控板间的地址映射;所述当前主控板为与该Endpoint进行业务处理的主控板。
4.如权利要求3所述基于PCI Express的接口板,其特征在于所述总线连接控制单元根据主控板的指令,指示地址隔离模块隔离Endpoint与当前主控板间的地址映射,并恢复Endpoint与另一个主控板间的地址映射。
5.如权利要求3或4所述基于PCI Express的接口板,其特征在于所述接口板还包括主控板状态单元,用来接收各个主控板的工作状态信息;所述总线连接控制单元根据主控板的工作状态,在当前主控板发生故障时指示地址隔离模块隔离Endpoint与所述故障主控板的地址映射,并恢复Endpoint与另一个主控板的地址映射。
6.如权利要求1所述基于PCI Express的接口板,其特征在于所述总线连接单元由具有地址转换功能的PCI Express交换芯片Switch实现。
7.一种基于PCI Express的接口板切换主控板的方法,所述接口板通过PCI Express总线分别与至少两个主控板连接,其特征在于,包括以下步骤隔离接口板上PCI Express终端设备Endpoint与非当前主控板间的地址映射;所述当前主控板为对该Endpoint进行业务处理的主控板;在当前主控板发生切换时,隔离该Endpoint与切换前当前主控板间的地址映射,并恢复该Endpoint与切换后当前主控板间的地址映射。
8.如权利要求7所述基于PCI Express的接口板切换主控板的方法,其特征在于,所述方法还包括以地址转换方式建立接口板上Endpoint与非当前主控板间的地址映射。
9.如权利要求7或8所述基于PCI Express的接口板切换主控板的方法,其特征在于,所述方法还包括主控板指令接口板将业务处理切换至另一个主控板。
10.如权利要求7或8所述基于PCI Express的接口板切换主控板的方法,其特征在于,所述方法还包括检测当前主控板的工作状态,在当前主控板发生故障时将接口板的业务处理切换至另一个主控板。
全文摘要
本发明公开了一种基于PCI Express的接口板,包括Endpoint,以及通过PCI Express总线连接至少两个主控板和Endpoint的总线连接单元,所述总线连接单元包括地址映射模块和映射隔离模块,其中地址映射模块用来建立和维护Endpoint与至少两个主控板间的地址映射;地址隔离模块用来隔离及恢复Endpoint与主控板间的地址映射。应用本发明后,主控板切换时不再发生现有技术中PCI Express总线在物理连接上的通断变化,而只是需要变更接口板上器件内部的业务数据的流向即可,将现有技术中的硬切换变为软切换,不仅使得接口板工作更为稳定,也增加了主控板切换的可靠性。
文档编号H04L12/40GK1909559SQ20061012771
公开日2007年2月7日 申请日期2006年8月30日 优先权日2006年8月30日
发明者王心远 申请人:杭州华为三康技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1