CN101406002B - 用于检测通信系统中的差错的设备 - Google Patents
用于检测通信系统中的差错的设备 Download PDFInfo
- Publication number
- CN101406002B CN101406002B CN200780009492.9A CN200780009492A CN101406002B CN 101406002 B CN101406002 B CN 101406002B CN 200780009492 A CN200780009492 A CN 200780009492A CN 101406002 B CN101406002 B CN 101406002B
- Authority
- CN
- China
- Prior art keywords
- module
- control module
- control
- mistake
- communication
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/55—Prevention, detection or correction of errors
- H04L49/555—Error detection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Maintenance And Management Of Digital Transmission (AREA)
- Debugging And Monitoring (AREA)
- Communication Control (AREA)
Abstract
一种通信网络交换机包括具有控制处理器的控制模块和经由控制接口连接到控制模块的多个通信模块。每个通信模块包括用于检测与接收自控制模块的例如读和写访问请求的通信信号相关联的差错的检测器和用于报告所检测的差错给控制模块的设备。所检测的差错被存储/登记在控制模块中并且由运行于控制处理器上的差错检测软件读取。该软件模块报告差错并判定差错的原因是否能被纠正,如果是则采取纠正措施。差错检测软件还可以同时运行于冗余控制模块上,并且所检测的差错单独地被报告且被传递给激活的控制模块。
Description
技术领域
本发明涉及一种用于监控和检测通信系统中的差错的设备,特别地涉及(但不限于)一种用于监控和检测控制模块与通信模块之间的事务中的差错的设备,所述控制模块例如是管理卡,所述通信模块例如是网络交换机或路由器中的线路卡。
背景技术
通信网络交换机通常包括:若干线路卡,每个线路卡都具有网络接口,该网络接口包括连接到通信网络以向和从网络发送和接收通信数据的端口;用于向和从所述线路卡发送和接收数据的交换结构;以及用于管理和监控每个线路卡的操作的管理或控制卡。图1示意性地示出了网络交换机的控制卡和电路卡。控制卡3包括控制处理器5、存储器7和用于接收和发送外部通信信号的通信接口9。线路或电路卡11包括连接到通信网络(未示出)的网络接口13、连接到交换结构(未示出)的交换接口15、以及用于控制网络和交换机接口之间的数据流的数据流控制模块17。所述电路卡还包括存储器19和存储器访问控制器21。提供控制接口23用于从控制卡向电路卡发送控制数据。所述接口包括用于在控制和电路卡之间传送数据的双向数据总线25、用于指示数据起始的双向帧脉冲线27、用于从控制卡向电路卡发送时钟脉冲的时钟线29、以及用于从控制卡向电路卡发送状态信息的状态线31。
从流经电路卡的通信业务中导出的数据和与电路卡的操作有关的数据被收集且被存储在电路卡存储器19中,用于在需要时传送给控制卡。类似地,用于配置电路卡且从本地控制卡存储器7所传送的配置数据也被存储 在存储器19中。为了访问存储器19,控制卡经由控制接口23发送读或写访问请求给访问控制器21。访问请求包括存储器地址,并且如果所述请求是写请求还包括数据。访问控制器21处理所述请求,并且如果该请求有效则允许访问。数据从存储器被读取并且经由控制接口被传送给控制卡用于读访问,并且在写访问的情况下数据被写入存储器。控制卡监控对来自电路卡的所请求数据的接收,并且如果在发送请求后没有在预定时期内接受到所请求的数据,则控制处理器执行下一操作。
发明内容
根据本发明,提供了一种设备,包括第一模块和第二模块,所述第一模块具有处理器,以及用于从所述第一模块向所述第二模块发送控制数据以控制其操作的接口,所述第二模块包括用于检测与从所述第一模块接收的通信信号相关联的状态的检测装置,所述第二模块包括用于将所检测的状态报告给所述第一模块的报告装置。
在这种安排中,所述第二模块包括用于检测与从所述第一模块接收的通信信号相关联的状态的检测器,和用于将所检测的状态报告给所述第一模块的报告装置。这使得在来自所述第一模块的所请求的事务中的差错能够被所述第二模块检测并且报告回给所述第一模块,由此使得所述第一模块能够检测到出故障的事务。这使得所述第一模块能够比等待预定时期并在该预定时期结束后确定出现差错更早地检测到出故障的事务。此外,这种安排提供了这样的机会:为所述第一模块提供附加信息以使得能够比以往更准确地确定差错的原因。
在一些实施例中,所述报告装置包括用于生成状态报告以传送给所述第一模块的报告生成器,所述状态报告包括来自所述第一模块的、与所述状态有关的信号的指示。这种安排使得所述第一模块能够将所述状态关联于发送自所述第一模块的特定信号。例如,对于读或写访问请求,所述报告可以包括包含于该访问请求中的地址的指示。如果所述状态指示访问被拒绝,则可以在请求发送侧进行关于地址有效的检查,如果有效,则可以 推断差错源在别处,例如在所述控制接口或在所述第二模块。这对于在所述设备的正常操作期间以及在软件开发期间检测软件差错是特别有用的,一些实施例对用户提供了状态报告机制和/或使得所述第一模块能够诊断差错并且在适用的情况下采取补救措施,如下文详细描述的那样。
在一些实施例中,所述第一模块的处理器适于(例如通过软件实体被编程)读取所检测的状态,该状态可以被存储在寄存器或其它设备中,并且经由任何合适的装置将该状态报告给用户,所述合适的装置例如是连接到所述第一模块的用户终端。在一些实施例中,运行在所述处理器上的软件实体适于根据所报告的差错或故障来确定是否可以采取所需的补救措施来进行恢复,如果可以则采取该所需措施。
在一些实施例中,运行在所述第一模块的处理器上的读取所报告状态的软件实体被用于诊断对所述第二模块的出故障的事务,并且也可以被用于诊断运行于所述第一模块上的出故障的控制软件。
在一些实施例中,所述设备还包括第三模块,该第三模块用作所述第一模块的冗余模块。所述第一和第三模块中的每一个都可以与所述第二模块通信,并且也可以与具有与所述第二模块类似的功能的一个或多个其他模块通信。
读取所检测状态的软件实体也可以被用于诊断对其他模块的出故障的事务和/或运行于所述第三(例如冗余)模块上的出故障的控制软件(如果有的话)。
这个特征可以被用于内部或外部环境,包括例如制作软件、开发测试、诊断和制造。在一些实施例中,相同的软件实体运行于现用的和冗余的模块上,并且运行于每个模块上的软件实体适于单独地向用户报告例如差错的状态以按照该状态而行动。对于内部使用,这个特征可以被模块开发者和制造者用来排除令人关注的新组件中的错误。对于采用制造领域软件的外部环境,它可以被用于检测出故障的模块并且在适用的情况下采取补救措施。
在一些实施例中,所述报告装置包括用于从多个状态指示符中选出一 个状态指示符以传送给所述第一模块的装置,所述多个状态指示符每个都用于指示与来自所述第一模块的通信信号相关联的一个不同状态。例如,所述状态指示符每个都可以包括表示不同状态的代码,并且每个代码都可以被所述第一模块识别。在一个实施例中,一个状态指示符可以指示由所述第二模块接收的请求是有效的,而另一个状态指示符可以指示由所述第二模块接收的请求是无效的。
在一些实施例中,差错检测和差错报告二者由同一模块执行,例如由所述第一模块执行。这增加了系统的健壮性和可靠性,因为检测和报告功能之间的通信并不依赖于(可能出故障的)接口。在一些实施例中,所述第一模块利用被传送给所述第二模块的每个请求而实现超时功能以使得所述第一模块能够检测零响应差错。在这个实施例中,所述第一模块可以针对增加的系统可靠性而检测已报告的和未报告的(即本地检测的差错)差错二者。
所述设备的实施例特别适用于其模块可能出故障的高可靠性(冗余控制和数据路径)系统,并且使之能够检测对模块的有差错的事务。
在一些实施例中,所述第一模块包括用于生成控制数据的装置,所述控制数据包括关于对所述第二模块的一部分进行读访问的请求,并且所述第二模块适于将状态包括在具有所请求信息的消息中。在一些实施例中,所述第二模块适于将状态包括在作为对所述第一模块所请求的信息的响应的每个消息中。在从所述第二模块至所述第一模块的返回消息中可以为状态信息预留特定的字段,以促进所述第一模块对所述信息的检测。
在一些实施例中,所述第二模块包括用于向所述第一模块指示所述第二模块的状态的状态指示符。在一些实施例中,所述第一模块包括用于检测来自所述第二模块的状态指示符的状态指示符检测器。这种安排使得所述第一模块能够检测到所述控制接口中的故障和/或缺少第二模块或该第二模块由于重大硬件差错或逻辑差错已经断开连接、被拔下或出故障这一条件。所述状态指示符可以周期性地或以规则的时间间隔被发送。由于所述第二模块的状态被主动报告给所述第一模块,故障可以被明确地检测到 并且关于该故障的更多信息可以被提供给所述第一模块。这也使之能够比现有技术安排更快地检测到所述第二模块中的故障。
在一些实施例中,所述第二模块包括用于生成时钟信号的时钟生成器,并且所述接口适于发送该时钟信号给所述第一模块。所述第一模块可以包括用于检测来自所述第一模块的时钟信号的检测器。所述时钟信号的被检测状态可以被用于检测所述接口和/或所述第二模块的条件。例如,缺少时钟信号可以指示所述接口和/或所述第二模块出故障,或者缺少第二模块,或者所述第二模块已经从所述控制接口断开连接。
在一些实施例中,所述第一模块包括用于检测与接收自所述第二模块的通信信号相关联的状态的检测器。例如,所述检测器可以包括用于检测从所述第二模块传送给所述第一模块的数据中的奇偶校验错误的奇偶校验比特检测器。
在一些实施例中,所述设备还包括具有处理器的第三模块和用于从所述第三模块向所述第二模块传送控制数据的接口,所述第二模块还包括用于检测与接收自所述第三模块的通信信号相关联的状态的检测装置,所述第二模块包括用于报告所检测的状态给所述第三模块的报告装置。
在一些实施例中,所述第三模块能够执行与所述第一模块类似的操作并且在该第一模块出故障的情况下提供该第一模块的冗余。
在一些实施例中,所述第三模块包括用于将与所述第二和第三模块中的至少一个相关联的状态信息报告给所述第一模块的状态报告装置。这种安排使得所述第三模块能够与所述第一模块无关地且分离地检测与所述第二模块相关联的差错,并且将这些差错报告给所述第一模块。
在一些实施例中,所述第三模块还包括用于检测与接收自所述第二模块的通信信号相关联的状态的检测器。
在一些实施例中,所述设备还包括用于将所述第二模块可释放地连接到所述接口的连接装置。
根据本发明,还提供了一种用于控制一个或多个通信模块的控制模块,所述控制模块包括:控制处理器、用于从所述控制模块向通信模块发送控 制信号并从所述通信模块接收数据的接口、以及用于检测接收自所述接口的、指示所述通信模块状态的信号和与由所述控制模块发送给所述通信模块的控制信号相关联的状态中的至少一个的检测器,其中所述状态经由所述接口而接收自所述通信模块。
根据本发明,还提供了一种通信模块、用于接收通信数据的数据接口、用于从控制模块接收用于控制所述通信模块的控制数据的第一控制接口、用于从所述通信模块向控制模块发送数据的第二接口、用于存储数据的存储器、用于响应于接收自所述控制接口的控制数据而控制对所述存储器的访问的存储器访问控制器、用于检测与接收自所述控制接口的控制数据相关联的状态的检测器、以及用于经由所述接口从所述通信模块发送指示所检测状态的消息的发送装置。
附图说明
现在将参考附图描述本发明实施例的示例,其中:
图1示出了根据现有技术的通信网络交换机的各个元件;
图2是根据本发明一个实施例的设备的框图;
图3示出了根据本发明一个实施例的状态检测器的示例;
图4A示出了读请求的示例;
图4B示出了写请求的示例;
图4C示出了响应于读请求而生成的消息的示例;
图4D示出了响应于写请求而生成的消息的示例;
图4E示出了在检测到差错的情况下响应于读或写请求而生成的消息;
图5是根据本发明另一实施例的设备的框图;和
图6是根据本发明一个实施例的通信模块的接口的框图。
具体实施方式
参考图2,根据本发明一个实施例的设备101包括控制模块103、通信模块105和用于在这两个模块之间传送控制数据的控制接口107。控制模 块103包括控制处理器109、用于接收和发送外部信号的接口111、状态报告检测器113、差错检测器114、时钟检测器115和通信模块状态检测器117,它们每个都连接到控制接口107。通信模块105包括网络接口119、交换机接口121和数据流控制模块123。该通信模块还包括存储器125、用于控制对所述存储器的访问的访问控制器127、用于检测与接收自控制接口107的通信信号相关联的状态的状态检测器129、状态生成器131、用于提供状态代码给状态生成器131的状态代码模块133、消息生成器135、时钟生成器137、状态生成器139和复位控制器141。
控制接口107包括用于在所述控制模块和所述通信模块之间传送控制数据的双向数据总线143、双向帧脉冲线145、用于从所述控制模块向所述通信模块发送时钟信号的第一时钟线147、用于从所述通信模块向所述控制模块发送时钟信号的第二时钟线151、用于从所述控制模块向所述通信模块发送状态信号的第一状态线153和用于从所述通信模块向所述控制模块发送由状态生成器139生成的状态信号的第二状态线155。如上文指出的,通信模块105的状态检测器129检测与接收自所述控制模块的通信信号相关联的状态。例如,所述状态检测器可以检测接收自所述控制模块的通信信号中的差错。所述状态检测器可以被实现为以任何期望的方式来检测差错,并且图3详细示出了一个示例性实施例。参考图3,状态检测器129包括奇偶校验模块132、地址检验器134、控制模块状态检测器136和时钟信号检测器138。
在操作中,当消息要从所述控制模块被发送给所述通信模块时,所述控制模块基于包含于该消息中的比特来确定奇偶校验比特的值并且经由接口、利用该消息发送该奇偶校验比特。如果该消息是访问请求,则该消息还包括要访问的存储器地址。另外,或者是利用该消息,或者是在不同的时刻,所述控制模块通过状态线153发送其状态给所述通信模块。所述状态检测器还检测从所述控制模块通过时钟线149发送的时钟信号。当接收到所述消息时,奇偶校验器132根据包含于所述消息中的比特值来确定奇偶校验比特,并且将它与利用所述消息而发送的奇偶校验比特相比较。如 果所述消息包含地址,则地址检验器134检查该地址是否有效,例如该地址确实存在。
控制模块状态检测器136检测所述控制模块的状态。由所述控制模块发送的状态信息可以指示该控制模块正确地运行并且该控制模块具有适当的状态来与所述通信模块通信。例如,在具有两个控制模块的冗余系统中(例如第二控制模块可被添加到图3的实施例中,这产生例如图5的配置),这两个控制模块都可以与所述通信模块通信但是一次只能有一个控制模块可以作为现用模块而运转,所述状态可以指示该控制模块是当前现用模块。
如果状态检测器129的各部件检验出来自所述控制模块的消息有效,则状态生成器131生成指示接收自控制模块的消息有效的状态报告。在这个实施例中,所述状态报告包括从多个不同代码中选出的一个代码,所述多个不同代码每个都表示一个不同的状态并且被存储在状态代码表133中。所述状态生成器将所述状态报告传递给消息生成器135,该消息生成器生成要发送给所述控制模块的消息。所述消息包括所述状态报告以及标识了接收自与该状态报告关联的控制模块的消息的标识符。此外,所述消息生成器可以根据包含于所述消息中的比特值来确定奇偶校验比特的值并且将该奇偶校验比特包括在所述消息中以使得所述控制模块能够在通过接口发送消息之后对该消息执行奇偶校验。
如果所述状态检测器确定接收自所述控制模块的消息包含差错,例如由于该消息的奇偶校验失败和/或包含无效地址,则所述状态生成器选择表示该差错的合适的代码,并且消息生成器135生成要发送给所述控制模块的消息,该消息包括差错代码和标识了由所述控制模块发送的、其中检测到差错的消息的标识符。
在一些实施例中,例如差错代码的状态报告可以响应于发送自所述控制模块的每个消息而被生成并由所述通信模块发送给所述控制模块,这与是否已检测到差错无关。在其他实施例中,状态报告可以仅响应于接收自其中已检测到差错的控制模块的消息而被生成并由所述通信模块发送给所述控制模块。
如上文所述,例如差错代码的状态报告可以适于指示差错的特征,例如差错类型或所述状态检测器的哪个部件检测到该差错。例如,所述状态报告可以适于指示差错是否是以下差错:奇偶校验差错、地址差错、所述控制模块的状态的差错、所述时钟信号的差错(例如缺少时钟信号)、或上述差错中的任意两个或多个的组合。在一个实施例中,不同的差错代码可以指示:(1)没有检测到差错、(2)检测到通信模块上的奇偶校验差错、(3)检测到通信模块上的访问控制差错、(4)检测到通信模块上的总线差错、(5)检测到控制模块上的超时差错、(6)检测到控制模块上的奇偶校验差错、以及(7)控制模块上检测到的通信模块存在差错。可以使用其他代码来指示任何其他期望的状态。
可选地,或除了响应于从所述控制模块发送的消息而发送状态报告之外,在其他实施例中,所述通信模块可以响应于对差错的检测而发送状态报告,所述差错不必关联于来自所述控制模块的消息,例如时钟信号的差错,从所述控制模块发送的状态信号或帧脉冲信号。例如,消息生成器135可以适于响应于帧脉冲、时钟信号和/或状态信号中一个或多个的缺席而生成状态报告。例如,所述状态检测器可以检测到差错的发生,其中检测到帧脉冲而不是检测到数据总线上的数据,反之亦然。
所述控制模块的状态报告检测器113检测从通信模块105经由控制接口107发送给该控制模块的状态报告。状态报告检测器113使得该控制模块能够监控由该控制模块发起的事务中的差错,该差错发生于所述控制模块的外部,例如“卡外(off-card)”。例如,可能在控制接口107或在通信模块105、或在这二者上发生差错。此外,所述控制模块适于例如通过使用“超时”机制来本地检测差错,并且也可以检测本地差错,例如运行于控制处理器上的控制软件中的差错和/或其他本地差错。由该控制模块收到的状态报告和对本地差错的检测可以以任何期望的方式来被使用,其可以包括使得该控制模块能够确定差错的源或可能的源并且将其报告给外部设备,和/或使得该控制模块能够采取适当的措施以排除差错的原因。例如,运行于控制处理器109或另一设备上的软件实体,例如图2中的软件模块 112,可以适于根据状态报告(和/或本地差错)来判定差错的源并且发起纠正措施,例如复位和/或将其判定报告给例如管理接口的外部设备,从而将差错通知给操作者并且使得该操作者能够做出关于采取什么纠正措施的决定。
这个特征对于软件开发而言特别有用,其使得开发者能够发现并纠正软件差错。其在设备正常操作期间也是特别有用的,其使得所述控制模块能够自动采取所需的补救措施,例如通过图2中的复位控制器141来复位所述通信模块。
在一些实施例中,所述软件实体被用于检测具有激活和非激活控制模块二者的系统中的差错。软件模块的“内部”用户可以包括开发、软件测试和/或诊断应用程序,其被设计为运行于控制模块处理器上。外部制造软件可以使用这个特征来通过从这两个控制模块向激活控制模块报告差错或报告失败的操作者升级(例如不正确的软件加载导致的差错)而确保系统是高度稳健的。此外,软件模块可以被用于将差错注入硬件机构以检验所接收的响应是期望的或预期的结果。
如上文所述,如果所述状态报告关联于所述控制模块所发送的消息,则由所述通信模块返回的响应可以包括与该报告相关联的、来自该控制模块的消息的标识。例如,如果来自所述控制模块的消息是存储器访问请求,则与所述状态报告相关联的标识符可以包括存储器地址。这个附加信息可以用于识别差错的源并且确定应当采取什么纠正措施。
状态报告可以以期望的方式被处理。例如,指示未发生差错的状态报告可以被存储、被所述控制模块解释或简单地被丢弃。指示已发生差错的状态报告可以被所述控制处理器或另一设备处理以判定差错的源和应当采取什么措施,和/或被存储在存储器中,例如存储器110。可选地,或者另外,指示差错发生的状态报告可以从所述控制模块被发送给外部设备。
差错检测器114适于检测接收自所述通信模块的消息中的固有差错。差错检测器114可以例如适于对发送自所述通信模块的数据执行奇偶校验或任何其他类型的差错检查。
时钟检测器115适于检测从所述通信模块在线路151上被发送的时钟信号。
状态检测器117适于检测从所述通信模块在控制接口107的线路155上被发送的状态信号。差错检测器114、时钟检测器115和状态检测器117也可以被用于检测差错、控制接口和/或通信模块中的故障,其包括通信模块是存在的还是从接口断开连接。
在这个实施例中,差错检测机制在所述控制模块上被本地实现,并且检测一些差错并处理来自所述通信模块的状态报告。这使得差错检测稳健且可靠,这是因为处理差错的软件实体和差错检测器位于同一模块上,并且因此信息不必穿过接口,而信息穿过接口可能造成例如比特和奇偶差错。
发送信号给所述控制模块以使得该控制模块能够检测外部差错的所述通信模块的每个组件使得所述控制模块能够更可靠地且可能比原先更早地检测到差错,特别是与现有技术方法相比而言,在现有技术方法中控制处理器针对返回信号需要等待一段时间且只有当该段时间届满或“超时”时才能恢复操作。本系统还可以提供更多关于差错的信息以使得合适的措施能够被更好且更智能地确定。
因此,事务确认方法增加了系统在检测差错方面的可靠性。提供结合了确认方法的本地差错检测机制(例如利用本地逻辑和超时)进一步增加了系统的可靠性。实施例也可以包括冗余并且允许软件运行在冗余处理器上并单独报告差错。差错检测机制也使得出故障的通信模块能够被检测到并且可能被重启。相比与可使用更复杂的基于PCI的解决方案的冗余系统一致的其他机制而言,实施例也提供了简单的解决方案。
可以从图2的实施例的差错检测系统被确定的所述信息的非限制性实例将在下文描述。
1)发送自所述控制模块的消息中的奇偶校验比特差错可以指示控制接口的问题。
2)来自所述控制模块的存储器访问请求的地址中的差错可以指示该控制模块中的差错,例如软件代码中的差错,或可能是硬件差错。
3)来自所述控制模块的坏状态信号可以指示该控制模块或控制接口的问题。
4)来自所述控制模块的时钟信号的缺席可以指示时钟生成器和/或控制接口的问题。
5)如果时钟信号被所述通信模块接收但接收自所述控制模块的状态信号指示有问题,则可以推断该控制模块或所述接口出了问题。
6)来自所述控制模块的、在所述控制接口的一个或多个线路上的信号的缺席可以指示所述接口的问题或者该接口的一部分从所述通信模块断开连接。
7)从所述通信模块发送给所述控制模块的状态报告中的奇偶差错的指示可以指示控制接口出故障。访问请求中的无效地址的指示可以指示所述控制模块的控制软件出故障或所述控制接口出故障。
8)来自所述通信模块的时钟信号的缺席可以指示所述通信模块的时钟生成器的问题或所述接口的问题。
9)来自所述通信模块的坏状态信号可以指示所述通信模块的问题。如果所述坏状态信号伴随有时钟信号,则可以确定问题的原因在于所述通信模块而不是所述接口。
10)接收自所述通信模块的消息中的奇偶差错的存在可以指示所述通信模块的问题、或所述接口的问题、或这二者的问题。
11)来自所述通信模块的任何信号的缺席可以指示所述接口和/或所述通信模块的问题,或者所述通信模块缺席。
由于来自所述通信模块的状态信号和时钟信号是独立于所述控制模块而被生成的,因此该控制模块可以检测所述控制接口和/或通信模块的问题而无须发送信号给所述通信模块,例如访问请求,这使得该控制模块能够比现有技术更早地检测到外部差错或问题。
图4A至4E示出了针对通过控制接口发送通信信号的帧格式的非限制实例。每个帧都被设计成通过包括四条平行比特线的数据总线来进行传输。在其他实施例中,每个帧都可以被设计成通过具有任何其他数目的比特线 的数据总线来进行传输,也可以以任何其他方式来设计帧。
图4A示出了要从所述控制模块发送到所述通信模块的读访问请求帧的实例。读帧在第一和第二字段(0,1)中包括8比特的首部,其包含例如帧大小和关于帧是读请求的指示的信息。在这个实施例中,包括28比特字段二至八的包含存储器地址。并且字段9中的最后四个比特中每一个都包含奇偶校验比特以使得所述通信模块能够执行奇偶校验。
图4B示出了要从所述控制模块发送给所述通信模块的写访问请求的帧的实例。所述帧在第一和第二字段中包括8比特的首部,其包含关于帧大小和该帧是写请求的指示。下七个字段(即28比特)包含数据要被写入的地址,并且为数据分配后续字段(在该实施例中为9至24)。最后一个字段(字段25)的四个比特每个都包含奇偶校验比特以使得所述通信模块能够执行奇偶校验。
图4C示出了要从所述通信模块发送给所述控制模块的、包含从存储器读取的数据的帧的实例。在这个实施例中,所述帧在前三个帧中包括12比特的首部,其包括关于帧大小、该帧是“读帧”的信息,即包含从存储器读出的数据,并且还包含差错报告,该差错报告在该实施例中包括3比特的差错代码,该差错代码包含于第二字段中。在其他实施例中,所述状态包括或差错代码可以由任何数目的比特构成。第三至第十八字段留给数据,并且最后一个4比特的字段每个都留给奇偶校验比特以使得所述控制模块能够对所接收的读帧执行奇偶校验。
图4D示出了响应于来自所述控制模块的写访问请求而从所述通信模块发送给所述控制模块的帧的实例。该帧包括3个字段(即12比特)的首部,其包括关于帧大小、该帧是响应于写访问请求的确认的指示,以及状态报告,该状态报告在这个实施例中包括3比特的差错代码,该差错代码包含于第二字段中。最后一个4比特的字段留给奇偶校验比特以使得所述控制模块能够执行奇偶校验。
图4E示出了当已检测到差错时要从所述通信模块发送给所述控制模块的帧的实例。该帧包括两个字段(0,1)的首部,其包含关于帧大小以 及该帧是响应于读访问还是写访问请求的指示。该首部还包括状态报告,该状态报告在这个实施例中在第二字段中包括3比特的差错代码。所述差错代码可以用于指示差错类型或已检测到的差错,所述差错的实例已在上文描述。
在这个实施例中,第三至第九字段(字段2至8)包括地址,该地址包含于读或写访问请求中。同样,最后一个4比特帧留给奇偶校验比特以使得所述控制模块能够执行奇偶校验。
图5示出了根据本发明另一实施例的设备。设备301包括第一和第二控制模块303、304和通信模块305。控制接口307、308用于在每个控制模块与通信模块之间传送控制数据。每个控制模块303、304可以类似于上面结合图2描述的控制模块,并且对图2的控制模块的描述也可以适用于每个控制模块303、304。同样,通信模块305可以类似于上面结合图2描述的通信模块,并且对图2的通信模块的描述也可以适用于图5的通信模块。每个控制接口307、308也类似于图2实施例的控制接口,并且对其描述也适用于图5的控制接口。
在这个实施例中,每个控制模块303、305包括控制处理器309、310、存储器311、312以及状态检测器313、314。每个状态检测器可以按照图2的控制模块的状态报告检测器113、差错检测器114、时钟检测器115以及状态检测器117中的一个或多个而运转。例如,该状态检测器可以适于检测状态报告,例如包含于发送自所述通信模块的消息中的差错代码。该状态检测器可以适于执行对来自所述通信模块的消息中的固有差错的检查,例如奇偶校验。该状态检测器可以适于检测来自所述通信模块的时钟信号和/或指示所述通信模块的状态的状态信号。
通信模块305包括状态检测器和消息生成器模块329、访问控制器331和存储器333。该通信模块还包括用于连接到通信网络(未示出)的网络接口335、用于连接到交换结构(未示出)的交换机接口337以及用于控制接口335、337之间的数据流的数据流控制模块339。每个控制接口307、308都类似于上面结合图2所描述的接口。
所述通信模块的状态检测器和消息生成器模块329适于检测与接收自控制模块303、304中每一个的消息相关联的状态,例如检测该消息中的差错,例如奇偶差错和地址差错。如图2的实施例那样,模块329根据所接收的每个消息而生成状态以发回给适当的控制模块,从而指示是否已发生差错。可选地,或除了响应于接收自每个控制模块的消息而生成状态报告之外,状态检测器和消息生成器模块329可以检测与帧脉冲、接收自每个控制模块的时钟和状态中的一个或多个相关联的状态,并且发送指示这些信号的状态的报告,例如差错的检测。
在这个实施例中,所述存储器包括三个部分,公共存储器部分341、只用于第一控制模块303的存储器部分343和只用于第二控制模块304的第三存储器部分345。对每个存储器部分的访问由访问控制器331来控制。
图5的设备可以适于以冗余配置来操作,即一次只有一个控制模块是激活的。例如,第一控制模块303通常可以用作激活控制模块,而第二控制模块304通常可以是非激活的并且如果该第一控制模块出故障则变为激活。然而,即使是非激活的,该第二模块也可以执行与激活控制模块303类似的功能并且以类似的方式与所述通信模块交互。例如,非激活的控制模块在监控所述通信模块的状态和运转以及请求并从那里接收数据时可以执行与激活模块类似的功能,所述数据可以包括来自所述通信模块各组件的状态信息和从通信业务流中导出的数据,例如统计数据,以及与数据流控制模块关联的数据,例如队列或缓冲器状态和/或调度器状态。
因此,在一个实施例中,激活的和非激活的控制模块都可以同时运行相同的控制软件,例如软件模块316、318。
然而,例如配置和复位所述通信模块的一些功能只能由激活的控制模块来执行。在这个实施例中,访问控制器331被实现为如下限制存储器访问。访问控制器331适于允许所述第一控制模块从和向公共存储器341和其专用存储器部分343二者读取和写入。该访问控制器还适于允许所述第二控制模块访问其专用存储器部分345,以允许该第二控制模块对所述公共存储器的读访问但禁止该第二控制模块对该公共存储器的写访问。
在操作中,当所述第二控制模块处于非激活状态时,它以类似于激活控制模块的方式与所述通信模块交互,并且还以类似于激活模块的方式检测差错。因此,非激活控制模块349、第二控制接口308以及在第二接口上接收和发送通信信号的状态检测器和消息生成器329提供了监控所述通信模块的操作的分离且独立的手段,同时使得该第二控制接口能够被监控。
在第一和第二控制模块303、304之间提供了通信接口347以在其间传递通信信号。所述通信接口可以适于使得由所述第二控制模块接收的状态信息能被传送至所述第一控制模块(反之亦然)。这使得由所述第二控制模块接收的关于所述通信模块的信息以及与所述第二控制接口有关的状态信息能够被传送且可能地被所述第一控制模块处理,并且适当的措施能够被采取。
例如,由所述第二控制模块检测的差错的发生可以被用来确定差错的原因或源,其可以被单独确定或结合由所述第一控制模块检测的差错或条件来被确定。由于所述第二控制模块相比所述第一控制模块而言可能与所述通信模块的不同部件且在不同的时刻交互,因此所述第二控制模块可能比所述第一控制模块更早地检测到差错,由此增加了差错检测的效率。未能由所述第一控制模块检测到的所述通信模块中的差错也可能被所述第二控制模块检测到,因此这种安排可以实现对所述通信模块各方面的更大范围的监控。如上所述,两个控制模块可以以相同的方式操作并且实质上运行相同的软件。因此,非激活的第二模块将可能有时请求对限于激活模块的公共存储器的写访问。在这种情况下,所述状态检测器可以检测到来自所述第二模块的写访问请求中的无效地址并且生成差错消息并经由所述第二控制接口发送差错消息给该第二模块。通过当所述第二控制模块为非激活时屏蔽来自该模块的公共存储器写访问请求来避免差错消息的生成和发送。另一方面,公共存储器写访问请求的发送可以被许可并且所述第二模块被调节成忽略所生成的差错消息。
图6更详细地示出了通信模块的第一和第二控制接口的实施例。每个接口403、405是相同的,因此下面只描述第一接口403。该接口包括连接 到五条双向单比特线的总线分配模块407,其中四条线路被用于承载数据而一条被用于承载帧脉冲(FP)。所述总线分配模块将接收自数据总线的数据转换成可由接收模块读取的格式,并将来自发送模块的数据转换成可在数据总线上传输的格式。在一个实施例中,该总线分配模块可以适于对所接收的数据执行并串转换,并且对外出数据执行串并转换。发送模块409用于从访问控制器411经由环路控制模块413接收数据并且将数据传递给在数据总线上传送数据的总线分配模块407。环路控制模块监控被发送给发送模块的不同的确认消息。接收模块415用于从数据总线经由总线分配模块407接收数据并且将所接收的数据经由环路控制器413发送给访问控制器411。状态编码器417用于从访问控制器411经由环路控制器413接收通信模块状态数据并且在状态线421上发送通信模块状态。
所述接口还包括用于从控制模块接收状态数据的状态解码器423。该状态解码器具有两个输出端,一个输出端连接到接收模块415和访问控制器411,另一个输出端连接到复位控制器425。所述接口还包括用于从时钟线429接收时钟信号且将该时钟信号传递给复位控制器425和访问控制器411的时钟检测器427。在这个实施例中,控制模块状态线被用于指示控制模块的状态,例如控制模块为激活或非激活,并且也被用于承载复位信号以使得复位控制器425对所述通信模块执行复位。状态信号被状态解码器解码。如果该信号是对控制模块状态的指示,则它被传递给接收模块415和访问控制器411,而如果该信号是复位信号,则它被传递给复位控制器425。
所述设备的实施例特别适用于(但不限于)通信设备,并且可以被并入例如任何网络交换机或路由器中。差错监控和检测系统使得所述设备的实施例在软件开发之前及开发期间特别有用,特别是作为调试工具。所述设备的实施例在设备正常操作期间监控和检测差错时也是特别有用的,例如当并入通信设备中并使得该设备能够在检测到差错时自动采取预防措施而无需人工干预。
在这里描述且主张的任何实施例中,所述设备可以包括连接到控制模 块且可选地连接到冗余系统中的第二控制模块的两个或更多通信模块,并且所述控制模块可以按照这里描述的任何一个或多个特征来与每个通信模块交互。
在这里描述的任何实施例中,所述控制模块(和/或非激活控制模块)可以具有用于与任意数目的通信模块通信的任意数目的控制接口。
本发明的其他方面和实施例包括结合了这里公开的任意一个或多个其他特征及其等价物或变型的这里公开的任意一个或多个特征。在这里公开的任一实施例中,任意一个或多个特征可以完全被忽略或者由另一特征或其等价物或变型来替换。
上面描述的实施例的许多修改和改变对于本领域技术人员而言是显而易见的。
Claims (20)
1.一种用于检测通信系统中的差错的设备,包括:
控制模块和通信模块,所述控制模块具有处理器,
用于从所述控制模块向所述通信模块传送控制数据以控制其操作的接口,
所述通信模块包括:
状态检测器,用于检测分别与接收自所述控制模块的通信信号相关联的差错;和
消息生成器,用于生成要发送给所述控制模块的消息,所述消息包括指示由所述状态检测器检测并与所接收的通信信号相关联的差错的代码。
2.根据权利要求1所述的设备,其中,所述通信信号包括从所述控制模块发送到所述通信模块的各个消息,所述消息生成器生成要发送到所述控制模块的状态报告,所述状态报告包括关于与所检测的差错相关联的接收自所述控制模块的消息的指示。
3.根据权利要求1或2所述的设备,其中,所述通信模块还包括:
状态生成器,用于从多个状态指示符中选择作为指示所检测的差错的所述代码而要发送到所述控制模块的状态指示符,其中每一个所述状态指示符指示与接收自所述控制模块的所述通信信号相关联的不同差错。
4.根据权利要求1或2所述的设备,其中,所述通信信号包括控制数据,所述控制数据包括关于对所述通信模块的一部分的读访问和写访问之一的请求,并且所述通信模块的消息生成器适于将指示所检测的差错的所述代码包含在具有响应于所述请求的信息的消息中。
5.根据权利要求1或2所述的设备,其中,所述通信模块包括用于生成要从所述通信模块发送给所述控制模块的状态信号的状态生成器。
6.根据权利要求1或2所述的设备,其中,所述控制模块包括用于检测接收自所述通信模块的通信信号中的差错的检测器。
7.根据权利要求1或2所述的设备,还包括用作所述控制模块的冗余的另一控制模块,该另一控制模块包括:
处理器,和
用于从所述另一控制模块向所述通信模块发送控制数据的接口,
所述状态检测器检测分别与接收自所述另一控制模块的通信信号相关联的差错,所述消息生成器生成要发送到所述另一控制模块的消息,所述消息包括指示由所述状态检测器检测并与接收自该另一控制模块的通信信号相关联的差错的代码。
8.根据权利要求7所述的设备,其中,所述另一控制模块包括用于将与所述通信模块和所述另一控制模块中的至少一个相关联的状态信息报告给所述控制模块的状态报告装置。
9.根据权利要求7所述的设备,其中,所述另一控制模块还包括用于检测与接收自所述通信模块的通信信号相关联的状态的检测器。
10.根据权利要求1或2所述的设备,还包括用于将所述通信模块可释放地连接到所述接口的连接装置。
11.一种用于控制一个或多个通信模块的控制模块,该控制模块包括:
控制处理器;
用于从所述控制模块向通信模块发送控制信号并且从所述通信模块接收数据的接口;和
检测器,用于检测指示分别与由所述控制模块发送至所述通信模块的控制信号相关联的差错的代码,所述差错由所述通信模块检测,并且所述代码经由所述接口从所述通信模块被接收。
12.根据权利要求11所述的控制模块,还包括控制器,用于响应于所检测的指示差错的代码来控制所述控制模块的操作。
13.根据权利要求11或12所述的控制模块,还包括用于从作为所述控制模块的冗余的另一控制模块接收状态数据的第二接口。
14.根据权利要求13所述的控制模块,还包括用于响应于经由所述第二接口从所述另一控制模块接收的状态数据来控制所述控制模块的操作的控制器。
15.根据权利要求14所述的控制模块,其中,所述状态数据指示了所述通信模块和所述另一控制模块中的至少一个的状态。
16.根据权利要求13所述的控制模块,其中,所述控制处理器包括:软件模块,用于报告所检测的差错和纠正差错的原因。
17.根据权利要求11或12所述的控制模块,其中,所述控制处理器包括:
软件模块,用于报告由所述检测器检测到的差错,确定由所述检测器检测到的差错是否能被纠正,以及纠正所检测到的差错的原因。
18.一种通信模块,该通信模块包括:
用于接收通信数据的数据接口;
用于从控制模块接收控制数据以控制所述通信模块的第一控制接口;
用于从所述通信模块向所述控制模块发送数据的第二接口;
用于存储数据的存储器;
用于响应于接收自所述第一控制接口的信号中的控制数据而控制对所述存储器的访问的存储器访问控制器;
用于检测分别与接收自所述第一控制接口的信号相关联的差错的检测器;和
用于生成要经由所述第二接口从所述通信模块发送的消息的消息生成器,所述消息包括指示由所述检测器检测并与所接收的信号相关联的差错的代码。
19.根据权利要求18所述的通信模块,还包括用于生成指示了所述通信模块的状态的状态信号并从所述第二接口发送该状态信号的生成器以及用于生成时钟信号并在所述第二接口上发送该时钟信号的时钟生成器中的至少一个。
20.根据权利要求18或19所述的通信模块,还包括:
用于接收来自作为所述控制模块的冗余的第二控制模块的信号中的控制数据的接口,所述检测器检测分别与接收自所述接口的信号相关联的差错;和
用于发送指示了分别与接收自所述第二控制模块的信号相关联的所检测的差错的消息的接口。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/378,891 | 2006-03-17 | ||
US11/378,891 US20070226549A1 (en) | 2006-03-17 | 2006-03-17 | Apparatus for detecting errors in a communication system |
PCT/IB2007/001663 WO2007107884A2 (en) | 2006-03-17 | 2007-03-19 | Apparatus for detecting errors in a communication system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101406002A CN101406002A (zh) | 2009-04-08 |
CN101406002B true CN101406002B (zh) | 2014-02-12 |
Family
ID=38522810
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200780009492.9A Expired - Fee Related CN101406002B (zh) | 2006-03-17 | 2007-03-19 | 用于检测通信系统中的差错的设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20070226549A1 (zh) |
EP (1) | EP1999908B1 (zh) |
CN (1) | CN101406002B (zh) |
WO (1) | WO2007107884A2 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8112570B2 (en) * | 2007-03-15 | 2012-02-07 | Broadcom Corporation | Pipelined buffer interconnect with trigger core controller |
EP2397998A1 (fr) * | 2010-06-17 | 2011-12-21 | Gemalto SA | Procédé et système de contrôle du traitement de plusieurs flux de communication radiofréquence par une carte à circuits intégrés |
US9542251B2 (en) * | 2013-10-30 | 2017-01-10 | Oracle International Corporation | Error detection on a low pin count bus |
CN103713549A (zh) * | 2013-12-17 | 2014-04-09 | 吉林大学 | 控制交互系统中继控制卡 |
US10284465B2 (en) * | 2015-12-28 | 2019-05-07 | Mellanox Technologies Tlv Ltd. | Efficient algorithmic forwarding in fat-tree networks |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0977457A2 (en) * | 1998-07-27 | 2000-02-02 | Nec Corporation | Open control system and VPN creation method for multiprotocol ATM switches |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4870704A (en) * | 1984-10-31 | 1989-09-26 | Flexible Computer Corporation | Multicomputer digital processing system |
US5261058A (en) * | 1990-11-09 | 1993-11-09 | Conner Peripherals, Inc. | Multiple microcontroller hard disk drive control architecture |
US5485455A (en) * | 1994-01-28 | 1996-01-16 | Cabletron Systems, Inc. | Network having secure fast packet switching and guaranteed quality of service |
US6321298B1 (en) * | 1999-01-25 | 2001-11-20 | International Business Machines Corporation | Full cache coherency across multiple raid controllers |
US7430206B2 (en) * | 2002-05-10 | 2008-09-30 | Interdigital Technology Corporation | Wireless communication method and apparatus for detecting and correcting transmission errors |
US7564798B2 (en) * | 2003-08-27 | 2009-07-21 | Finisar Corporation | Methods and devices for testing and monitoring high speed communication networks |
-
2006
- 2006-03-17 US US11/378,891 patent/US20070226549A1/en not_active Abandoned
-
2007
- 2007-03-19 CN CN200780009492.9A patent/CN101406002B/zh not_active Expired - Fee Related
- 2007-03-19 EP EP20070734863 patent/EP1999908B1/en not_active Not-in-force
- 2007-03-19 WO PCT/IB2007/001663 patent/WO2007107884A2/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0977457A2 (en) * | 1998-07-27 | 2000-02-02 | Nec Corporation | Open control system and VPN creation method for multiprotocol ATM switches |
Also Published As
Publication number | Publication date |
---|---|
WO2007107884A2 (en) | 2007-09-27 |
WO2007107884A3 (en) | 2008-01-17 |
CN101406002A (zh) | 2009-04-08 |
EP1999908A2 (en) | 2008-12-10 |
US20070226549A1 (en) | 2007-09-27 |
EP1999908B1 (en) | 2015-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7657691B2 (en) | Simplified universal serial bus (USB) hub architecture | |
US8140922B2 (en) | Method for correlating an error message from a PCI express endpoint | |
US8332729B2 (en) | System and method for automatic communication lane failover in a serial link | |
US8432814B2 (en) | Node of a distributed communication system, node and monitoring device coupled to such communication system | |
CN101406002B (zh) | 用于检测通信系统中的差错的设备 | |
US7774638B1 (en) | Uncorrectable data error containment systems and methods | |
JP2011043957A (ja) | 障害監視回路、半導体集積回路及び故障個所特定方法 | |
US7436291B2 (en) | Protection of devices in a redundant configuration | |
US7831710B2 (en) | Communication of offline status between computer systems | |
CN106502944A (zh) | 计算机、pcie设备以及pcie设备的心跳检测方法 | |
JP2013232142A (ja) | 二重化装置および電源停止方法 | |
JP2013115603A (ja) | パケット中継装置およびシステム、障害検出方法 | |
KR101594453B1 (ko) | 채널 고장 진단 장치 및 그 진단 방법 | |
CN109491842B (zh) | 用于故障安全计算系统的模块扩展的信号配对 | |
US7366952B2 (en) | Interconnect condition detection using test pattern in idle packets | |
US8264948B2 (en) | Interconnection device | |
JP5145860B2 (ja) | メモリ二重化システム及び情報処理装置 | |
CN109101359B (zh) | 设备、设备部件间信息传输方法、模块及计算机设备 | |
JP4929602B2 (ja) | データ転送装置及び方法 | |
JP5449906B2 (ja) | 異常時処理用信号の診断方法および二重化コンピュータシステム | |
CN117827504A (zh) | 一种故障处理方法及装置 | |
JP5161808B2 (ja) | 2重系制御装置 | |
WO2024056184A1 (en) | Ethernet device with safety features at the physical layer and method for a bi-directional data transfer between two ethernet devices | |
JPS6010940A (ja) | デ−タ伝送装置 | |
KR930011202B1 (ko) | 신호단말 제어명령 송수신회로 |
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: 20140212 Termination date: 20180319 |