CN1859358A - 一种均衡复数条并行的串行反串行链路数据的方法 - Google Patents
一种均衡复数条并行的串行反串行链路数据的方法 Download PDFInfo
- Publication number
- CN1859358A CN1859358A CN200510035900.0A CN200510035900A CN1859358A CN 1859358 A CN1859358 A CN 1859358A CN 200510035900 A CN200510035900 A CN 200510035900A CN 1859358 A CN1859358 A CN 1859358A
- Authority
- CN
- China
- Prior art keywords
- link
- frame
- serdes
- chip
- data
- 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.)
- Granted
Links
Images
Landscapes
- Communication Control (AREA)
Abstract
本发明公开了一种在多条并行SERDES数据链路中防止数据传输中断的保护方法,该方法中,芯片通过检测数据帧,对链路状态进行检测,当检测到数据链路出现异常状态时,***将停止通过出现异常状态的链路传输数据;当检测当数据链路恢复正常时,***将恢复从该链路传输数据。本发明方案通过对SERDES链路并行传输方案中的链路状态自动检测和均衡,保证部分链路异常时数据传输不中断,在链路恢复正常时自动恢复全速传输。对于安全系数不高的高速互连尤其适用。本发明还提供了高速链路数目的可裁减特性以及灵活配置能力,用户在低业务流量时,可以主动断开并行SERDES数据链路中的一条或多条,而不影响数据的正常传输。
Description
技术领域
本发明涉及一种SERDES(Serialize and Deserialize,串行反串行)链路数据保护方法,特别涉及对复数条并行SERDES链路数据进行检测,将业务均衡到状态正常的链路上的方法。
背景技术
目前数字通信领域的发展突飞猛进,芯片间数据的传输速率也越来越快,对于万兆级别的路由器,数据流都是以10Gbps的速度进行交换。目前有2种接口可以实现这么高的速度:一种是专用的标准接口,如CSIX,SPI4等等,这种接口一般是并行总线,有单独的时钟,支持相位的动态调整。但是由于并行总线和分离时钟的原因,其总线数量受到比较大的限制,单根线最多只能达到1Gbps的速度,所以一般只用于板内的芯片互连。另外一种方法就是使用SERDES技术,这种方法使用随路时钟,单根线的速度目前已经可以达到3.125Gps,将来可以进一步提高到10Gps。而且SERDES技术采用差分线路,抗干扰能力强,传输距离长,是芯片间数据传输尤其是过背板、过光纤的首选传输手段。为了达到更高的数据传输速率,常常采用多个SERDES链路并行传输的办法,上行和下行方向都用多根SERDES数据链路并发传输。
现有技术中,多个SERDES链路的捆绑没有考虑某个SERDES数据链路断链的情况,默认为SERDES链路必须工作正常,硬件设计必须保证这一点。XAUIXAUI是一种从1000Base-X万兆以太网的物理层直接发展而来的低针数、自发时钟串行总线。XAUI接口的速度为1000Base-X的2.5倍。通过调整4根串行线,这种4bit的XAUI接口可以支持万兆以太网10倍于千兆以太网的数据吞吐量。XAUI是一个使用serdes的10G数据通路的标准,但其中没有serdes链路自动恢复的机制,接收端无论SERDES链路是否正常,都强行从该通道接收数据。发送端不管发送SERDES链路状态如何,向所有的发送SERDES通道发送数据。这种多SERDES链路的捆绑方式不安全。一旦出现问题,将造成整个***的崩溃和死机。如果是板内的芯片级SERDES链路互连还可以接受(板内PCB走线断开的几率可以忽略不计),但是如果是板间甚至是通过光纤的跨机框连接的SERDES连接,则很可能出现部分SERDES线断开的情况(比如不小心把某根光纤折断了或者拔插了某块连接板),此时***崩溃的代价很严重。尤其对于电信级的骨干路由器或者交换机,因为这种原因导致整个***的崩溃,不可接受。
华为技术有限公司的SD566/SD567交换网套片设计中,SERDES的接收端可以检测到链路异常以及链路是否恢复,但是在***设计的时候没有考虑到通过全双工的连接直接通知对端,而必须由上层软件通过定期查询或者是中断的方式通知对端的发送端,从而对端根据链路状况,关闭出现问题的链路或者打开恢复正常的链路。没有考虑用硬件的手段来进行链路状态的自动传递和链路的自动打开/关闭。
这种通过软件处理的方式延迟很大,至少是毫秒级别的,如果出现链路状态由好变坏的情况,采用这种技术会导致大量的数据丢失(在对端不知道链路变化的时间内,还是会继续通过错误链路发送数据)。反之,如果链路状态由坏变好,采用这种技术也不能够很快的的恢复数据通过能力。
发明内容
本发明的目的是:用硬件的手段自动的对SERDES链路进行检测,排除错误的链路,只从正常链路上接收数据。这样即使在部分SERDES链路出问题时,或者用户在低业务流量时主动断开一条或多条链路时,整个***会自动将正常业务均衡到状态正常的线路上去,业务不会中断,实现了平滑降级。如果***检测到有SERDES线路恢复,又会自动的重新均衡。
本发明的发明目的是这样实现的:
一种均衡复数条并行SERDES链路数据的方法,包括步骤:
a)发送芯片固定所要发送的数据帧的长度,并在数据帧中建立依次排列的帧头、连接帧号域、链路状态域、数据域;
b)为每一个数据帧分配连接帧号,并将连接帧号封装进数据帧中;
c)发送芯片通过SERDES链路将所述数据帧发送到接收芯片;
d)接收芯片对接收到的数据帧进行检测,当发现SERDES链路状态异常时,通知发送芯片将该条链路的数据从其它SERDES链路上进行传输。
所述的d步骤具体包括如下步骤:
d1)接收芯片检测到SERDES链路异常后将所述SERDES链路异常状态信息放入发送到发送芯片的帧的链路状态域中;
d2)发送芯片接收该SERDES链路异常状态信息后停止从状态异常的链路上传输数据;
d3)发送芯片将该条链路的数据从其它SERDES链路上进行传输。
所述的方法还包括以下步骤:
e)当接收芯片检测到步骤d)中状态异常的SERDES链路的链路状态恢复正常时,通知发送芯片恢复从该链路传输数据帧。
所述的步骤e)具体包括步骤:
e1)接收芯片检测到SERDES链路正常状态后将链路正常状态放入发送到发送芯片的帧的链路状态信息中;
e2)发送芯片从该链路传输数据帧。
所述的检测SERDES链路状态的方法包括步骤:
发送芯片连续发送数据帧,且数据帧间没有空隙;如果数据帧不足,则在数据帧间填充空闲帧;连续发送的帧的连接帧号是连续的;
如果接收芯片在每隔规定的数据帧长度的字节内,没有检测到帧头,或检测到帧头后的连接帧号的计数与上一次检测到的连接帧号的计数不连续,或者检测到SERDES的物理层解码出现错误(包括但是不限于8B/10B编解码),就判断SERDES链路状态异常。
在SERDES链路状态异常时,接收芯片不断的对链路进行检测,如果接收到连续的且间隔正常的规定数目个帧类型和连接帧号,而且连接帧号的计数是递增的,而且没有检测到SERDES的物理层解码出现错误(包括但是不限于8B/10B编解码),则SERDES链路状态恢复正常。
采用本技术方案,用硬件的手段可以实现多SERDES链路并行传输中的链路状态自动检测和均衡,保证部分链路异常时业务不中断,平滑降级,并在链路恢复正常时自动恢复全速传输。用户在低业务流量时,可以主动断开并行SERDES数据链路中的一条或多条,而不影响数据的正常传输。本技术方案能使处理延时达到微秒级别,对于安全系数不高的高速互连尤其适用(比如远程光纤互连)。
下面结合附图详细描述本发明的较佳实施例,通过对本发明较佳实施例的描述,可以更加清楚的看出和理解本发明的优点所在。
附图说明
图1是本发明的***连接示意图
图2是本发明数据帧结构示意图
具体实施方式
如图1,数据链路由2条SERDES并行链路组成,分别为上行0和上行1。发送芯片和接收芯片都有发送控制部分和接收控制部分,从芯片内的接收控制部分到发送控制部分有通道连接用以传输链路状态信息。图中的T0,T1,t0,t1是四个SERDES发送单元,R0,R1,r0,r1是四个SERDES接收单元。上行方向和下行方向(从左向右方向的两个SERDES链路为上行方向,从右到左的两个SERDES链路为下行方向)的数据通道合起来构成一个完整的双向数字通道。
链路状态的接收是依靠SERDES接收控制部分完成的。如图1所示,r0和r1能够分别检测上行0和上行1两条链路的状态,而R0和R1能够分别检测下行0和下行1两条链路的状态。
链路状态的检测有多种手段,为了尽量严格,保证链路工作正常,本发明采用了SERDES硬核标志信号结合数据帧内容检测的方法,数据帧的结构如图2所示,数据帧是定长的,而且格式固定,本实施例将数据帧长度设定为64字节。在帧头中放置一个字节的K28.5字符,在连接帧号域link head中放置递增的连接帧号,在链路状态域linkstatus中存放链路状态信息,在数据域pay load中放置数据载荷。要传输的数据帧是连续的,之间是没有空隙的,如果数据帧不足,则填充一种空闲帧保证链路上数据帧的背靠背的传输。该空闲帧的帧头是一个字节的K28.5字符,其帧上的载荷全部为0。而且该空闲帧的帧长和数据帧相同,也是64字节。空闲帧的帧长不被芯片计算。如果链路状态正常,那么K28.5字符应该每隔64字节出现一次,而且在K28.5字符后面的连接帧号一定是递增的。接收芯片一旦发现违反上述规则,或者检测到SERDES的物理层解码出现错误(包括但是不限于8B/10B编解码),则认为SERDES链路状态异常。在链路状态异常之后,发送芯片仍然从状态异常的SERDES链路上发送空闲帧,接收芯片的接收控制部分不断的对链路进行检测,搜索K28.5字符,如果接收到连续的规定数目个间隔正常的K28.5字符,K28.5字符后面的连接帧号也是递增的,也没有出现SERDES的物理层解码错误,那么就认为链路状态恢复正常。这里的规定数目个可以从1个到几百个,视需要的精确度而定。
如果发现链路状态异常,那么数据将停止从状态异常的SERDES链路上传输,只从状态正常的SERDES链路上传输;如果发现链路状态恢复正常,那么数据将重新从所有正常的SERDES链路上传输。
如图2,在数据帧结构中有专门的链路状态域(link status)来放置链路状态标志。接收芯片的接收控制部分检测到链路的状态后把这些状态传递给接收芯片的发送控制部分,然后接收芯片的发送控制部分将链路状态***到发送给发送芯片的帧的链路状态域中,发送芯片的接收控制部分将链路状态提取出来后送给发送芯片的发送控制部分,然后发送芯片的发送控制部分根据此信息重新进行发送调度,断开或恢复从该条链路传输数据,保证将数据只从状态正常的SERDES链路上进行传输。
假定开始的时候所有4个链路的状态都是正常的,然后在某个时刻上行0链路突然断开,接收控制部分r0立刻检测到此链路状态异常,该接收控制部分将不再从此链路接收数据,同时将链路异常的信息传递给发送控制部分t0和t1;发送控制部分t0和t1将此信息***到发送到发送芯片的帧的链路状态域中去,通过下行0和下行1两个链路发送出去;接收控制部分R0和R1接收到帧后从中提取出链路信息,发现对应于上行0的链路状态异常,于是将此信息发送给发送控制部分T0和T1,该发送控制部分T0和T1就会将正常的业务数据流只通过上行1链路发送。为了链路恢复时接收端能够重新检测同步,此时上行0链路上仍然会发送空闲帧。一旦上行0链路重新恢复,按照上面的步骤将链路状态正常的信息传送给发送控制部分T0和T1,发送控制部分T0和T1重新将正常的业务数据流分配到上行0和上行1两个通道上去,这样就实现了链路的自动均衡。
Claims (6)
1.一种均衡复数条并行的串行反串行SERDES链路数据的方法,包括步骤:
a)发送芯片固定所要发送的数据帧的长度,并在数据帧中建立依次排列的帧头、连接帧号域、链路状态域、数据域;
b)为每一个数据帧分配连接帧号,并将连接帧号封装进数据帧中;
c)发送芯片通过SERDES链路将所述数据帧发送到接收芯片;
d)接收芯片对接收到的数据帧进行检测,当发现SERDES链路状态异常时,通知发送芯片将该条链路的数据从其它SERDES链路上进行传输。
2.根据权利要求1所述的方法,其特征在于,所述的d步骤具体包括如下步骤:
d1)接收芯片检测到SERDES链路异常后将所述SERDES链路异常状态信息放入发送到发送芯片的帧的链路状态域中;
d2)发送芯片接收该SERDES链路异常状态信息后停止从状态异常的链路上传输数据;
d3)发送芯片将该条链路的数据从其它SERDES链路上进行传输。
3.根据权利要求1所述的方法,其特征在于还包括以下步骤:
e)当接收芯片检测到步骤d)中状态异常的SERDES链路的链路状态恢复正常时,通知发送芯片恢复从该链路传输数据帧。
4.根据权利要求3所述的方法,其特征在于,所述的步骤e)具体包括步骤:
e1)接收芯片检测到SERDES链路正常状态后将链路正常状态放入发送到发送芯片的帧的链路状态信息中;
e2)发送芯片从该链路传输数据帧。
5.根据权利要求1或3所述的方法,其特征在于,所述的检测SERDES链路状态的方法包括步骤:
发送芯片连续发送数据帧,且数据帧间没有空隙;如果数据帧不足,则在数据帧间填充空闲帧;连续发送的帧的连接帧号是连续的;
如果接收芯片在每隔规定的数据帧长度的字节内没有检测到帧头,或检测到连接帧号的计数与上一次检测到的连接帧号的计数不连续,或者检测到SERDES的物理层解码出现错误,就判断SERDES链路状态异常;
在SERDES链路状态异常时,发送芯片继续在状态异常的SERDES链路上发送空闲帧,接收芯片不断的对链路进行检测,如果接收到连续的且间隔正常的规定数目个帧头和连接帧号,而且连接帧号的计数是递增的,也没有出现SERDES的物理层解码错误,则SERDES链路状态恢复正常。
6.根据权利要求5所述的方法,其特征在于,所述规定数目为5个或8个。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100359000A CN100531183C (zh) | 2005-07-08 | 2005-07-08 | 一种均衡复数条并行的串行反串行链路数据的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100359000A CN100531183C (zh) | 2005-07-08 | 2005-07-08 | 一种均衡复数条并行的串行反串行链路数据的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1859358A true CN1859358A (zh) | 2006-11-08 |
CN100531183C CN100531183C (zh) | 2009-08-19 |
Family
ID=37298221
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100359000A Active CN100531183C (zh) | 2005-07-08 | 2005-07-08 | 一种均衡复数条并行的串行反串行链路数据的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100531183C (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102447613A (zh) * | 2010-10-15 | 2012-05-09 | 中兴通讯股份有限公司 | 数据传输方法、交换器件及*** |
WO2012155684A1 (zh) * | 2011-08-09 | 2012-11-22 | 中兴通讯股份有限公司 | 一种链路处理方法、装置和*** |
CN104106021A (zh) * | 2011-12-22 | 2014-10-15 | 英特尔公司 | 利用封装上输入/输出接口的封装中的多芯片互连 |
CN104823167A (zh) * | 2012-12-28 | 2015-08-05 | 英特尔公司 | 现场错误恢复 |
WO2017000737A1 (zh) * | 2015-06-30 | 2017-01-05 | 深圳市中兴微电子技术有限公司 | 一种传输校验方法、节点、***与计算机存储介质 |
CN106603276A (zh) * | 2016-11-22 | 2017-04-26 | 华为技术有限公司 | 一种serdes链路组的故障处理方法和故障处理装置 |
CN109245950A (zh) * | 2018-11-01 | 2019-01-18 | 郑州云海信息技术有限公司 | 一种链路失效位置确定的方法以及相关装置 |
CN110061890A (zh) * | 2019-04-16 | 2019-07-26 | 维沃移动通信有限公司 | 数据传输控制电路、终端设备及数据传输线 |
CN110519096A (zh) * | 2019-08-29 | 2019-11-29 | 西安电子工程研究所 | RocketIO通信链路自动检测与恢复方法 |
WO2023236847A1 (zh) * | 2022-06-09 | 2023-12-14 | 华为技术有限公司 | 路径恢复方法、装置、设备、***及计算机可读存储介质 |
-
2005
- 2005-07-08 CN CNB2005100359000A patent/CN100531183C/zh active Active
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102447613B (zh) * | 2010-10-15 | 2016-08-24 | 中兴通讯股份有限公司 | 数据传输方法、交换器件及*** |
CN102447613A (zh) * | 2010-10-15 | 2012-05-09 | 中兴通讯股份有限公司 | 数据传输方法、交换器件及*** |
WO2012155684A1 (zh) * | 2011-08-09 | 2012-11-22 | 中兴通讯股份有限公司 | 一种链路处理方法、装置和*** |
CN102932820A (zh) * | 2011-08-09 | 2013-02-13 | 中兴通讯股份有限公司 | 一种链路处理方法、装置和*** |
CN104106021B (zh) * | 2011-12-22 | 2018-03-30 | 英特尔公司 | 利用封装上输入/输出接口的封装中的多芯片互连 |
US9535865B2 (en) | 2011-12-22 | 2017-01-03 | Intel Corporation | Interconnection of multiple chips in a package |
CN104106021A (zh) * | 2011-12-22 | 2014-10-15 | 英特尔公司 | 利用封装上输入/输出接口的封装中的多芯片互连 |
CN104823167A (zh) * | 2012-12-28 | 2015-08-05 | 英特尔公司 | 现场错误恢复 |
US10019300B2 (en) | 2012-12-28 | 2018-07-10 | Intel Corporation | Live error recovery |
US10691520B2 (en) | 2012-12-28 | 2020-06-23 | Intel Corporation | Live error recovery |
CN106330357B (zh) * | 2015-06-30 | 2019-11-15 | 深圳市中兴微电子技术有限公司 | 一种serdes的传输校验方法、节点与*** |
WO2017000737A1 (zh) * | 2015-06-30 | 2017-01-05 | 深圳市中兴微电子技术有限公司 | 一种传输校验方法、节点、***与计算机存储介质 |
CN106330357A (zh) * | 2015-06-30 | 2017-01-11 | 深圳市中兴微电子技术有限公司 | 一种serdes的传输校验方法、节点与*** |
US10523235B2 (en) | 2015-06-30 | 2019-12-31 | Sanechips Technology Co., Ltd. | Transmission checking method, node, system and computer storage medium |
CN106603276A (zh) * | 2016-11-22 | 2017-04-26 | 华为技术有限公司 | 一种serdes链路组的故障处理方法和故障处理装置 |
CN109245950A (zh) * | 2018-11-01 | 2019-01-18 | 郑州云海信息技术有限公司 | 一种链路失效位置确定的方法以及相关装置 |
CN109245950B (zh) * | 2018-11-01 | 2021-09-17 | 郑州云海信息技术有限公司 | 一种链路失效位置确定的方法以及相关装置 |
CN110061890A (zh) * | 2019-04-16 | 2019-07-26 | 维沃移动通信有限公司 | 数据传输控制电路、终端设备及数据传输线 |
CN110061890B (zh) * | 2019-04-16 | 2021-04-27 | 维沃移动通信有限公司 | 数据传输控制电路、终端设备及数据传输线 |
CN110519096A (zh) * | 2019-08-29 | 2019-11-29 | 西安电子工程研究所 | RocketIO通信链路自动检测与恢复方法 |
WO2023236847A1 (zh) * | 2022-06-09 | 2023-12-14 | 华为技术有限公司 | 路径恢复方法、装置、设备、***及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN100531183C (zh) | 2009-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100531183C (zh) | 一种均衡复数条并行的串行反串行链路数据的方法 | |
US6894970B1 (en) | Router switch fabric protection using forward error correction | |
US6961347B1 (en) | High-speed interconnection link having automated lane reordering | |
CN100583797C (zh) | 使用10吉比特附件单元接口的与协议无关的传输的方法和装置 | |
US6879559B1 (en) | Router line card protection using one-for-N redundancy | |
US9021174B2 (en) | Interface for bridging out-of-band information from a downstream communication link to an upstream communication link | |
CN1246994C (zh) | 用于在局域网内实现快速恢复进程的方法和*** | |
US7949782B2 (en) | Extended link monitoring channel for 10 Gb/s Ethernet | |
EP1839051B1 (en) | Dual-purpose uplinks used in a fault-tolerant stack | |
EP2854355B1 (en) | Central alignment circuitry for high-speed serial receiver circuits | |
US7092629B2 (en) | Time-division and wave-division multiplexed link for use in a service area network | |
CN108804260B (zh) | 一种srio***倒换的方法和装置 | |
US6226290B1 (en) | Method and apparatus for adjusting an interpacket gap using a network device in a data communications network | |
US7263060B1 (en) | Multiple switch protected architecture | |
KR20030090954A (ko) | 대용량 데이터의 분할 전송을 위한 다중 레인간의 비틀림정렬 장치 및 방법, 그리고 기록매체 | |
US7020393B2 (en) | Method of synchronizing parallel optical links between communications components | |
CN1808926A (zh) | 非成帧2m通道通信两端同时实现保护切换的方法与装置 | |
CN101374070B (zh) | 多路段级联传送网保护方法、***及保护控制装置 | |
US6920520B2 (en) | Methods and circuits for stacking bus architecture | |
CN1845525A (zh) | 主从设备*** | |
US20130097455A1 (en) | Method and system for implementing interconnection fault tolerance between cpu | |
EP0939512B1 (en) | Method and arrangement in a network repeater for automatically changing link speed | |
CN106603276A (zh) | 一种serdes链路组的故障处理方法和故障处理装置 | |
US7065104B1 (en) | Method and system for managing inverse multiplexing over ATM | |
CN107302484A (zh) | 一种环网自愈的方法和装置 |
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 |