CN100563239C - 一种实现高带宽数据传输中流控处理的方法和装置 - Google Patents
一种实现高带宽数据传输中流控处理的方法和装置 Download PDFInfo
- Publication number
- CN100563239C CN100563239C CNB2006101671831A CN200610167183A CN100563239C CN 100563239 C CN100563239 C CN 100563239C CN B2006101671831 A CNB2006101671831 A CN B2006101671831A CN 200610167183 A CN200610167183 A CN 200610167183A CN 100563239 C CN100563239 C CN 100563239C
- Authority
- CN
- China
- Prior art keywords
- data
- flow control
- packet
- bus
- passage
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种实现高带宽数据传输中流控处理的方法,其特征在于,采用多于四条通道进行数据传输,该方法包括如下步骤:接收端根据接收数据的情况,设置流控信息,并将设置好的流控信息通过所述通道发送至发送端;发送端接收到所述流控信息,读取操作码得知流控种类为通道级流控;若暂停时间为0,所述流控状态信息为发送数据包,发送端将媒体无关接口XGMII特定总线中的数据经格式转换后,映射到与所述通道参数对应的通道中传输;若暂停时间为非0数,所述流控状态信息为停止发送数据包,则发送端停止将XGMII中的数据映射到所述通道参数对应的通道中。本发明还公开了一种实现高带宽数据传输中流控处理的装置。
Description
技术领域
本发明涉及数据通信领域,特别涉及一种实现高带宽数据传输中流控处理的方法和装置。
背景技术
数据通信领域的高速发展对芯片之间的互连带宽提出更高的要求,大量的数据会从一颗芯片传送到另外一颗芯片去,从而产生了芯片之间进行互连的高带宽协议,***第四层分组接口阶段II(System Packet Interface Level 4Phase II,SPI4.2)和万兆附着单元接口(10Gigabite Attachment Unit Interface,XAUI)就是其中的两种协议。
SPI4II是为了适万兆位传送而由光互连论坛(Optical InterworkingForum,OIF)提出来的芯片之间的互连协议。SPI4II接口实现了芯片的物理层(Physics Device)与链路层(Link Layer Device)之间的数据互连。数据总线(data)由16对高速的低电压差分信号(Low Voltage Differential Signal,LVDS)传输线实现,流控(Flow Control)与数据分开传输。
SPI4II协议实现了芯片之间的高速互连,其带宽容量可达14.4Gbps。但由于其总线数很多,同时其数据传送电平为LVDS,因此,SPI4II接口不适合用于进行远距离的背板传送,所以SPI4II协议的应用场合一般为本板的芯片之间的互连,而通常不将其应用于板间互连。此外,SPI4II协议只支持端口级流控而不支持链路级流控。
XAUI是随着万兆以太网的发展而制定的标准接口。以太网的第一层和第二层的层次模型如图1所示,位于第一层即物理层与第二层即媒体接入控制(Media Access Control,MAC)层之间的接口为媒体无关接口(XGMII)。XGMII接口由32位的并行总线和4位控制总线组成,其总线数目很多,不适合于背板的远距离传输。XAUI接口解决了这个问题,它由四对高速的3.125G的串行器/解串器(Serializer/Deserializer,SERDES)总线组成,可以进行远距离的数据传送。发送端首先将XGMII接口格式的数据转换成XAUI接口格式的数据,接收端再将XAUI接口格式的数据转换成XGMII接口格式的数据。图2为XGMII接口与XAUI接口的转换示意图,左端为标准的XGMII接口,右端为XAUI接口,图2中所示每一条通道(lane)分别对应一条SERDES总线;具体地说,在源通道中,对应于XAUI接口中标号为SLn<P>,SLn<N>(n=0,1,2,3)的通道的XGMII接口的总线标号为TXD[8n+7:8n],TXC[n];在目的通道中,对应于XAUI接口中标号为DLn<P>,DLn<N>(n=0,1,2,3)的通道的XGMII接口的总线标号为RXD[8n+7:8n],RXC[n]。
XAUI接口能够实现的最大传输距离为50cm,适合进行跨背板的板间通信。但是其带宽只有10Gbps,刨除内部开销,实际净荷带宽达不到10G。XAUI是XAUI介面延展子层(XAUI Extender Sublayer,XGXS)层接口,实质传输的是MAC帧,因此其流控只有链路级流控而不支持端口级流控。
数据通信领域的高速发展需要有一种实际带宽10G以上,能够实现远距离传输而且支持多种流控方式的高带宽数据传输协议。而以上所述两种高速数据传输协议各有其优缺点,都不能很好地满足目前数据通信领域发展的需要。
发明内容
有鉴于此,本发明的实施例提出一种实现高带宽数据传输中流控处理的方法,实际带宽可达10G以上,并能够实现远距离传输。该方法采用多于四条通道进行数据传输,并包括如下步骤:
接收端根据接收数据的情况,设置流控信息,所述流控信息包括:设置为通道级流控的操作码、需要进行流控的通道参数、暂停时间以及流控状态信息;并将设置好的流控信息通过所述通道发送至发送端;
发送端接收到所述流控信息,读取操作码得知流控种类为通道级流控;若所述暂停时间为0,所述流控状态信息为发送数据包,发送端将媒体无关接口XGMII特定总线中的数据经格式转换后,映射到与所述通道参数对应的通道中传输;若所述暂停时间为非0数,所述流控状态信息为停止发送数据包,则发送端停止将XGMII中的数据映射到所述通道参数对应的通道中。
本发明还公开了一种实现高带宽数据传输的装置,包括:
第一转换模块,用于接收第一XGMII_E接口的多于4条总线的数据,将其中任意一条总线TXD[8n+7:8n]中的数据转换为一条通道lane[n]的数据,并将各条通道的数据发送至传输模块,n为非负整数;
传输模块,用于将来自第一转换模块的各条通道的数据发送至第二转换模块;
第二转换模块,用于接收来自传输模块的各条通道的数据,将所述任意一条通道lane[n]的数据转换为一条总线RXD[8n+7:8n]的数据,并将所述各条总线的数据分别发送至第二XGMII_E接口的对应总线;
所述第二转换模块包括第二流控单元,用于根据第二转换模块接收数据的情况,生成相应的流控信息;所述流控信息包括:设置为通道级流控的操作码、需要进行流控的通道参数、暂停时间以及流控状态信息;
所述传输模块用于将来自第二转换模块的流控信息发送至第一转换模块;
所述第一转换模块包括第一流控单元,用于接收所述流控信息,读取操作码得知流控种类为通道级流控;根据流控信息选择特定的端口/通道发送数据,而停止其它端口/通道的数据发送。
从以上技术方案可以看出,由于采用多于4条通道传输,本发明的XAUI_E接口能够在实现传输带宽大于10G的同时,仍然保持XAUI接口支持远距离传输的特点,最大传输距离在45~50cm之间,能够支持板间通信。
附图说明
图1为以太网第一层和第二层的模型图;
图2为现有XAUI接口数据转换图;
图3为本发明的XAUI_E接口数据转换图;
图4为本发明XGMII_E数据时序图;
图5为本发明XAUI_E数据时序图;
图6为本发明实施例中数据由XGMII_E接口向XAUI_E接口转换的处理流程图;
图7为本发明实施例中数据由XAUI_E接口向XGMII_E接口转换的处理流程图;
图8为本发明实施例带内流控帧格式图;
图9为应用本发明方法的***的示意图;
图10为本发明实施例装置结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细阐述。
本发明的实施例将XAUI接口的四条通道扩展为N条通道,每条通道仍然采用SERDES总线方式,这样在每条通道速率不变的情况下,本发明方案可以实现比现有XAUI接口更高的速率。
就目前的技术来说,SERDES总线的速率为3.125GHz,现有XAUI接口每条通道上采用8B/10B编码,有效数据加上编码开销的总速率才达到3.125GHz,在8B/10B解码后,实质带宽容量为2.5G;而本发明方案的接口带宽容量能达到2.5×N G,只要N的取值大于4,则即使剥离内部开销,实质带宽仍然将大于10G。为便于描述,以下将本发明方案的接口称为增强型XAUI(XAUI_Extension,XAUI_E)。
由于XAUI_E的通道数目增加,与之相连接的XGMII接口也要进行扩展,XAUI_E相对于XAUI每增加一条通道,需要在XGMII接口增加8比特的DDR数据和1比特IDLE指示控制线。为便于描述,将这种扩展的XGMII接口称为XGMII_E。图3为本发明的XAUI_E接口与XGMII_E接口的连接示意图,从图3中可以看出,与图2所示现有的XAUI接口比较,XAUI_E接口将XAUI接口原有的4条通道扩展为N条通道。
图4所示为XGMII_E的数据时序结构,其中TX_CLK表示时钟周期;XGMII_E的数据由数据包(packet)和空载(IDLE)组成,在数据包之间***空载。如果将之再细分的话,可以分成:非S/TIDLE+Start+PACKET+Terminate,其中帧起始指示(Start)和帧尾指示(Terminate)均为空载;非S/T IDLE指除帧起始指示或帧尾指示之外的其它空载。
图5所示为XAUI_E的数据时序结构,其中CLK表示时钟周期。XAUI_E的数据由数据包和特殊字符集(char)组成,在数据包之间***具有特定含义和功能的特殊字符集,所谓特殊字符集可以理解为带有特定含义的空载。特殊字符集中各个符号的意义如下:
S:起始空载,用于表示数据包的起始,采用K27.7编码;
T:结束空载,用于表示数据包的结束,采用K29.7编码;
K:同步空载,用于实现每条通道的字节同步,采用K28.5编码;
A:相位对齐空载,用于实现多条通道之间的对齐,采用K28.0编码;
R:时钟补偿空载,用于实现不同时钟域之间的时钟补偿,采用K28.0编码。
本发明实施例中数据由XGMII_E接口向XAUI_E接口转换的处理流程如图6所示,包括:
步骤601:判断XGMII_E接口总线TXD[8n+7:8n]在当前时刻是否传输数据包,若是则执行步骤602,否则执行步骤603。
步骤602:将XGMII_E接口的总线TXD[8n+7:8n](n为非负整数)中的数据包直接映射为XAUI_E的lane[n]中的数据包,并转至步骤601。
本步骤的映射就是将并行总线TXD[8n+7:8n]中的packet对应的8比特数据,通过并串转换电路,转换成lane[n]中的串行数据,即将并行的8比特数据转换成并行的1比特的数据。
步骤603:判断XGMII_E接口总线TXD[8n+7:8n]在当前时刻传输的空载是否为起始空载或结束空载,若是则执行步骤604,否则执行步骤605
步骤604:将数据包起始空载(Start)映射为XAUI_E中的S字符;或者,将数据包结束空载映射为XAUI_E中的T字符,并转至步骤601。
本步骤的映射实际上就是原来Start处数据(固定值为0xFB)转换为S特殊字符(对应为K27.7);原来Terminate处数据(固定值为0xFD)现在将之变成了T特殊字符(对应为K29.7)。如此,数据格式就变成了:非S/TIDLE+S+PACKET+T。
步骤605:将当前时刻的空载随机映射为K、A、R字符,使得每条通道的数据包均匀排布,并转至步骤601。实际就是将非S/T IDLE转换成K/A/R特殊字符。这些IDLE到底对应的是K特殊字符还是A特殊字符还是R特殊字符,则是随机的。只要它们遵循一个原则:在非S/T IDLE转换成K/A/R字符后,K、A、R字符的分布是均匀的。如此,数据格式就变成了:K/A/R+S+PACKET+T,也就是XAUI_E的数据格式。
对于n=0,1,2,3,...的各条总线TXD[8n+7:8n]分别并行执行上述流程,则实现了将数据由XGMII_E接口向XAUI_E接口转换。
本发明实施例中数据由XAUI_E接口向XGMII_E接口转换的处理流程为如图7所示,包括:
步骤701:判断XAUI_E接口的第n条通道lane[n]在当前时刻是否传输数据包,若是则执行步骤702,否则执行步骤703;
步骤702:将XAUI_E接口的第n条通道lane[n]中的数据包直接映射到XGMII_E的总线RXD[8n+7:8n]中的数据包中,并转至步骤701。
步骤703:将XAUI_E中第n条通道lane[n]中当前传输的一个特殊字符集映射为XGMII_E接口总线RXD[8n+7:8n]中的一个空载,并转至步骤701。
很容易看出,图7所示流程就是图6所示流程的反向转换过程。
其中,R字符的设置需要遵循如下规则:
1、R字节必须是在每个数据包结束之后;
2、当接收数据包时,不能***R字节;
3、在删除R字节时,仍然需要保有最小包间距的长度。
以上所述特殊字符集的定义仅为一种示例,实际应用中可以采取其他的定义,或者对特殊字符集的数据进行增减。
由于采用SERDES方式,同时采用K、A、R字节的均匀分布方式,电气标准遵循XAUI规范,因此本发明的XAUI_E接口能够实现传输带宽大于10G的同时,仍然保持了XAUI接口能支持远距离传输的特点,最大传输距离在45~50cm之间,能够支持板间通信。本发明的增强型XAUI当保留lane4~laneN不使用时则和现在的XAUI协议一致,因此本发明能够兼容现有的XAUI接口。
本发明的XAUI_E接口不但能支持10G业务,而且可以支持20G、40G,甚至更高带宽的数据业务。在增加业务带宽的同时,由于容量的扩展,在接口内部可以采用其它形式的管理报文,来实现通道级、子通道级、队列级、流级管理。
以下以具体实施例说明如何实现端口级和链路级流控。本实施例定义一种带内流控帧格式,该流控帧格式图8所示,该带内流控帧的各个控制字定义详见表1。
控制字 | 含义 |
Preamble | 前导码,固定为0x55 |
SFD | 帧头指示,固定为0xD5 |
DA | 目的地址,固定为0x0180C2000001 |
SA | 源地址,无意义,可以随意定义。 |
Type | 类型定义,固定为0x8808 |
Opcode | 操作码。0x0000:保留0x0001:pause帧,链路级流控0x0002~0x1100:保留0x1101:通道级流控0x1102~0xffff:保留 |
Qutanum | 暂停时间系数。用于指示链路级流控暂停时间。时间单位为512bit。其中,0x0000表示XON,即表示链路正常。其它数值都是表示XOFF,即表示链路级反压,停止发送数据。停止时间由该数值决定。 |
Offset | 通道号码偏移量。用于指示Port处指示的通道号。0x0000:表示port处封装0~15端口0x0001:表示port处封装16~31端口0x0002:表示port处封装32~47端口0x0003:表示port处封装48~63端口0x0004:表示port处封装64~79端口0x0005:表示port处封装80~95端口0x0006:表示port处封装96~111端口0x0007:表示port处封装112~127端口0x0008:表示port处封装128~143端口0x0009:表示port处封装144~159端口0x000a:表示port处封装160~175端口0x000b:表示port处封装176~191端口0x000c:表示port处封装192~207端口0x000d:表示port处封装208~223端口0x000e:表示port处封装224~239端口0x000f:表示port处封装240~255端口0x0010~0xffff:保留 |
port | 通道流控信息。每帧中有4byte,每个通道占用2bit,所以每帧可以传输16个通道的状态信息。具体的port中对应情况见下表指示。2bit的状态信息定义如下:“00”:上流缓存将空,发送数据不做限制。“01”:上流缓存正常,只能发送正常数据包。 |
“10”:上流缓存将满,发送完当前包后,停止发送。“11”:保留。 | |
PAD | 填充,固定为0x00 |
CRC32 | CRC校验 |
表1
其中,Offset为0x0000时端口(port)与通道号的对应关系如表2所示:
表2
当然,Offset为其他值时也有相应的端口号与通道号的对应关系,这里就不一一举例。通过所述带内流控帧的定义,可以很方便的实现链路级和通道级的流控。数据的接收端只要在带内流控帧内设置相应的控制字,并将所设置的流控帧通过XAUI_E接口发送至数据的发送端;则数据的发送端就可以根据所述控制字执行相应的流控操作。例如,数据的接收端只需要将操作码设置为0x0001,将pause时间系数设置为非0数,则数据的发送端检测流控帧中的控制字为上述值,就可实现链路级反压;一旦pause时间系数设置为0x0000,那么即使操作码设置为0x0001也认为该链路恢复正常,链路可以正常传输数据;当需要通道级反压时,只需要将操作码设置为0x1101,将offset设置为需要反压通道对应参数值,将port中相应通道设置为相应通道状态信息即可。
下面以图9所示***来说明本发明如何实现流控。这里给出流控的具体含义。所谓通道级流控,或称为端口级流控,指针对某个或者某些通道或端口的流控处理机制。在某通道需要流控时,链路上将不再发送该通道或端口的数据,但是其它可用通道或端口的数据,仍然可以通过链路发送过来;所谓链路级流控,指针对整个链路的流控处理机制。当发送链路级流控时,通常时表示对应的所有通道全部拥塞,链路上不能在发送数据。
图9所示设备A和设备B之间采用XAUI_E接口,设备B从XAUI_E中接收到来自设备A的数据,并将所接收的数据分别放入两个队列FIFO1、FIFO2中。在这种情况下,我们可以认为设备B上占用了两个通道,分别对应FIFO1和FIFO2。
当设备B上的FIFO1拥塞(所谓拥塞的意思就是该队列缓存的内容达到其内部水线),而FIFO2的状态正常时,设备B可以通过XAUI_E接口发送通道级的流控信息给设备A。此时,将Opcode设置为0x1101,将Qutanum设置为0xffff,将Offset设置为0x0,将port设置为0x02000000。设备A收到该流控信息,经CRC校验无误后,读取Opcode的值,得知流控的种类为通道级流控;设备A继续读取Qutanum的值,得知流控的时间长度为0xffff×512比特;设备A再读取Offset和Port的值,得知进行流控的端口号对应通道1,流控状态信息为停止发送数据包。则设备A根据以上的流控信息,停止向FIFO1发送数据包,并保持这种停止状态的时长为0xffff×512bit;对于其他通道的发送保持不变。
如果在0xffff×512bit时间内FIFO1的拥塞情况好转了,FIFO1的状态变为正常,则设备B将Opcode设置为0x1101,将Qutanum设置为0x0,将Offset设置为0x0,将port设置为0x00000000,再次发送带内流控帧;设备A收到该流控信息,经CRC校验无误后,读取Opcode的值,得知流控的种类为仍通道级流控;再读取Qutanum的值,得知流控的时长为0;设备A再读取Offset和Port的值,得知进行流控的端口号对应通道1,流控状态信息为数据包的发送不受限制。则设备A向FIFO1发送数据包。
如果在0xffff×512bit时间后FIFO1的拥塞情况依然,则设备B将Opcode设置为0x1101,将Qutanum设置为0xffff,将Offset设置为0x0,将port设置为0x02000000,再次发送带内流控帧。设备A收到该流控信息,经CRC校验无误后,读取Opcode的值,得知流控的种类为通道级流控;设备A继续读取Qutanum的值,得知流控的时间长度为0xffff×512比特;设备A再读取Offset和Port的值,得知进行流控的端口号对应通道1,流控状态信息为停止发送数据包。则设备A根据以上的流控信息,继续停止向FIFO1发送数据包,并保持这种停止状态的时长为0xffff×512比特;对于其他通道的发送保持不变。
如果,在FIFO1拥塞之后,FIFO2也拥塞了,此时可以发送一次链路级的带内流控帧。将Opcode设置为0x0001,将Qutanum设置为0xffff,Offset和port设置随意。设备A收到该流控信息,经CRC校验无误后,读取Opcode的值,得知流控的种类为链路级流控;设备A继续读取Qutanum的值,得知流控的时间长度为0xffff×512比特;设备A不再读取后面的控制字,而直接停止向连接设备B的链路发送数据,并保持这种停止状态的时长为0xffff×512比特。
在0xffff×512bit时间内,有一个FIFO的拥塞情况取消了,设备B则发送一次相应的通道级流控信息;如果在0xffff×512bit时间内,所有通道的拥塞情况均取消了,则再次发送一次链路级的带内流控帧,将Opcode设置为0x0001,将Qutanum设置为0x0,Offset和port设置随意;如果在0xffff×512bit时间后,所有通道的拥塞情况依旧,则再次发送一次链路级的带内流控帧,将Opcode设置为0x0001,将Qutanum设置为0xffff,Offset和port设置随意。
本实施例所定义的带内流控帧仅是一个示例,用于说明XAUI_E接口在带宽容量拓展后,能够实现链路级流控和通道级流控;实际应用中,XAUI_E还可以携带其它任何有用信息或者采用其他流控方法。
本发明实施例的高带宽数据传输装置如图10所示,包括如下模块:
第一转换模块1010,用于接收第一XGMII_E接口的多于4条总线的数据,将其中任意一条总线TXD[8n+7:8n]中的数据转换为一条通道lane[n]的数据,并将各条通道的数据都发送至传输模块1030。第一转换模块1010还用于接收来自传输模块的流控信息,根据所述流控信息执行相应的流控操作。
第二转换模块1020,用于接收来自传输模块1030的多于4条的通道数据,将所述任意一条通道lane[n]的数据转换为一条总线RXD[8n+7:8n]的数据,并将所述各条总线的数据分别发送至第二XGMII_E接口的对应总线。第二转换模块1020还用于生成流控信息,并将所生成的流控信息发送至传输模块1030。
传输模块1030,包括多于4条的SERDES总线,每条SERDES总线分别将一条通道的数据从第一转换模块1010传输到1020。传输模块1030还用于将来自第二转换模块1020的流控信息传输到第一转换模块1010。
其中,第一转换模块1010还包括:
第一流控单元1011,用于根据流控信息执行对应的流控操作。所述流控信息可以为表1所示的流控帧中携带的信息;所述流控操作可以是根据流控信息选择特定的端口/通道发送数据,而停止其它端口/通道的数据发送,也可以是使高带宽数据传输装置停止或进行的数据发送。
第一判断单元1012,用于对任意一个总线TXD[8n+7:8n]当前时刻传输的内容进行判断,若是数据包,则使第一数据包映射单元1013对该数据包进行处理,若是空载,则使第一空载映射单元1014对该空载进行处理。
第一数据包映射单元1013,用于将任意一个总线TXD[8n+7:8n]当前时刻传输的数据包映射为通道lane[n]中的数据包。
第一空载映射单元1014,用于将任意一个总线TXD[8n+7:8n]当前时刻传输的空载映射为通道lane[n]中的特殊字符,其中将起始空载映射为S字符,将结束空载映射为T字符,将其它空载随机映射为K、A、R字符,并且保持K、A、R字符的分布是均匀的。
第二转换模块1020还包括:
第二流控单元1021,用于根据第二转换模块1020接收数据的情况,生成相应的流控帧。
第二判断单元1022,用于对任意一个通道lane[n]中当前时刻传输的内容进行判断,如果是数据包,则使第二数据包映射单元1023对该数据包进行处理,若是空载,则使第二空载映射单元1024对该空载进行处理。
第二数据包映射单元1023,用于将任意一个通道lane[n]中当前时刻传输的数据包映射为总线RXD[8n+7:8n]的数据包。
第二空载映射单元1024,用于将任意一个通道lane[n]中当前时刻传输的字符映射为总线RXD[8n+7:8n]的空载。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (13)
1、一种实现高带宽数据传输中流控处理的方法,其特征在于,采用多于四条通道进行数据传输,该方法包括如下步骤:
接收端根据接收数据的情况,设置流控信息,所述流控信息包括:设置为通道级流控的操作码、需要进行流控的通道参数、暂停时间以及流控状态信息;并将设置好的流控信息通过所述通道发送至发送端;
发送端接收到所述流控信息,读取操作码得知流控种类为通道级流控;若所述暂停时间为0,所述流控状态信息为发送数据包,发送端将媒体无关接口XGMII特定总线中的数据经格式转换后,映射到与所述通道参数对应的通道中传输;若所述暂停时间为非0数,所述流控状态信息为停止发送数据包,则发送端停止将XGMII中的数据映射到所述通道参数对应的通道中。
2、根据权利要求1所述的方法,其特征在于,所述通道采用串行器/解串器SERDES总线。
3、根据权利要求1所述的方法,其特征在于,所述将媒体无关接口XGMII特定总线中的数据经格式转换后,映射到与所述通道参数对应的通道中传输包括:
判断XGMII的标号为TXD[8n+7:8n]的总线在当前时刻是否传输数据包,若是,则将所述数据包映射为通道lane[n]中的数据包;否则,将标号为TXD[8n+7:8n]的总线中当前时刻传输的空载映射为通道lane[n]的特殊字符集;n为非负整数。
4、根据权利要求3所述的方法,其特征在于,该方法进一步包括:
判断通道lane[n]在当前时刻是否传输数据包,若是,将所述数据包映射为XGMII的标号为RXD[8n+7:8n]的总线中的数据包;否则,将通道lane[n]中当前时刻传输的特殊字符集映射为标号为RXD[8n+7:8n]的总线中的一个空载。
5、根据权利要求4所述的方法,其特征在于,所述特殊字符集包括:
起始空载S,用于表示数据包的起始;
结束空载T,用于表示数据包的结束;
同步空载K,用于实现每条通道的字节同步;
相位对齐空载A,用于实现多条通道之间的对齐;
时钟补偿空载T,用于实现不同时钟域之间的时钟补偿。
6、根据权利要求5所述的方法,其特征在于,所述将标号为TXD[8n+7:8n]的总线中当前时刻传输的空载映射为通道lane[n]的特殊字符集包括:
判断标号为TXD[8n+7:8n]的总线中当前时刻传输的空载是否为起始空载或结束空载,若是,则将所述起始空载映射为通道lane[n]中的S字符,或者,将所述结束空载映射为通道lane[n]中的T字符;否则,将TXD[8n+7:8n]总线中当前传输的空载随机映射为K字符、A字符或R字符。
7、根据权利要求6所述的方法,其特征在于,所述将空载映射为R字符必须满足如下条件:
R字符必须是在每个数据包结束之后;
当接收数据包时,不能***R字符;
在删除R字符时,仍然需要保有最小包间距的长度。
8、根据权利要求1所述的方法,其特征在于,所述流控信息为带内流控帧中的控制字。
9、一种实现高带宽数据传输中流控处理的装置,其特征在于,该装置包括:
第一转换模块,用于接收第一XGMII_E接口的多于4条总线的数据,将其中任意一条总线TXD[8n+7:8n]中的数据转换为一条通道lane[n]的数据,并将各条通道的数据发送至传输模块,n为非负整数;
传输模块,用于将来自第一转换模块的各条通道的数据发送至第二转换模块;
第二转换模块,用于接收来自传输模块的各条通道的数据,将所述任意一条通道lane[n]的数据转换为一条总线RXD[8n+7:8n]的数据,并将所述各条总线的数据分别发送至第二XGMII_E接口的对应总线;
所述第二转换模块包括第二流控单元,用于根据第二转换模块接收数据的情况,生成相应的流控信息;所述流控信息包括:设置为通道级流控的操作码、需要进行流控的通道参数、暂停时间以及流控状态信息;
所述传输模块用于将来自第二转换模块的流控信息发送至第一转换模块;
所述第一转换模块包括第一流控单元,用于接收所述流控信息,读取操作码得知流控种类为通道级流控;根据流控信息选择特定的端口/通道发送数据,而停止其它端口/通道的数据发送。
10、根据权利要求9所述的装置,其特征在于,所述传输模块包括多于4条的SERDES总线。
11、根据权利要求9所述的装置,其特征在于,所述第一转换模块进一步包括:
第一判断单元,用于对任意一个总线TXD[8n+7:8n]当前时刻传输的内容进行判断,若是数据包,则使第一数据包映射单元对该数据包进行处理,若是空载,则使第一空载映射单元对该空载进行处理;
第一数据包映射单元,用于将任意一个总线TXD[8n+7:8n]当前时刻传输的数据包映射为通道lane[n]中的数据包;
第一空载映射单元,用于将任意一个总线TXD[8n+7:8n]当前时刻传输的空载映射为通道lane[n]中的特殊字符。
12、根据权利要求11所述的装置,其特征在于,所述第一空载映射单元用于将起始空载映射为S字符,将结束空载映射为T字符,将其它空载随机映射为K、A、R字符,并且保持K、A、R字符的分布均匀。
13、根据权利要求9所述的装置,其特征在于,所述第二转换模块包括:
第二判断单元,用于对任意一个通道lane[n]中当前时刻传输的内容进行判断,如果是数据包,则使第二数据包映射单元对该数据包进行处理,若是空载,则使第二空载映射单元对该空载进行处理;
第二数据包映射单元,用于将任意一个通道lane[n]中当前时刻传输的数据包映射为总线RXD[8n+7:8n]的数据包;
第二空载映射单元,用于将任意一个通道lane[n]中当前时刻传输的字符映射为总线RXD[8n+7:8n]的空载。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006101671831A CN100563239C (zh) | 2006-12-26 | 2006-12-26 | 一种实现高带宽数据传输中流控处理的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006101671831A CN100563239C (zh) | 2006-12-26 | 2006-12-26 | 一种实现高带宽数据传输中流控处理的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1996998A CN1996998A (zh) | 2007-07-11 |
CN100563239C true CN100563239C (zh) | 2009-11-25 |
Family
ID=38251929
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006101671831A Expired - Fee Related CN100563239C (zh) | 2006-12-26 | 2006-12-26 | 一种实现高带宽数据传输中流控处理的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100563239C (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111385048B (zh) * | 2018-12-29 | 2023-06-30 | 中兴通讯股份有限公司 | 一种时间同步方法及*** |
CN114024796B (zh) * | 2021-11-30 | 2023-02-21 | 新华三半导体技术有限公司 | 一种数据发送方法、通信装置和电子设备 |
-
2006
- 2006-12-26 CN CNB2006101671831A patent/CN100563239C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1996998A (zh) | 2007-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
USRE48506E1 (en) | Method and system for a multi-rate gigabit media independent interface | |
CN101252537B (zh) | 一种交换网通信***、方法和主控板 | |
US5577069A (en) | Signalling method and structure suitable for out-of-band information transfer in communication network | |
CN101473617B (zh) | 10千兆位/秒接口上的多信道和流控制 | |
EP2184890A1 (en) | Method and system for control of energy efficiency and associated policies in a physical layer device | |
GB2332128A (en) | Arrangement for transmitting packet data segments from a media access controller across multiple physical links | |
CN101610191A (zh) | 多模式以太网收发信机 | |
US7643504B2 (en) | Credit based flow control in an asymmetric channel environment | |
US7787502B1 (en) | Port multiplexing apparatus and methods | |
EP1195955A2 (en) | Switch transferring data using data encapsulation and decapsulation | |
US20020159460A1 (en) | Flow control system to reduce memory buffer requirements and to establish priority servicing between networks | |
CN100518140C (zh) | Spi4ⅱ接口远距离传输的实现方法及装置 | |
EP0963080B1 (en) | Network transceiver having media independent interface | |
CN100563239C (zh) | 一种实现高带宽数据传输中流控处理的方法和装置 | |
US6822968B1 (en) | Method and apparatus for accounting for delays caused by logic in a network interface by integrating logic into a media access controller | |
US6906426B2 (en) | Transceiver having shadow memory facilitating on-transceiver collection and communication of local parameters | |
WO2002075486A2 (en) | Credit management for data flow between two networks | |
CN107547414A (zh) | 报文发送方法及装置 | |
CN100384177C (zh) | 一种以太网在多个e1信道中传输的方法 | |
CN105227544A (zh) | 实现不同协议报文转换的装置及方法 | |
KR20040005276A (ko) | 기가비트 이더넷 레이어 2 스위치 기능을 갖는 이더넷오버 동기 디지털 계층 처리 장치 | |
EP3664371B1 (en) | Switching method and apparatus | |
CN101287016A (zh) | 以太网接口和spi-4互连的方法和*** | |
KR100337906B1 (ko) | 통신망에서대역외정보전송에적합한신호처리방법및구조 | |
CN114661650A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20091125 Termination date: 20141226 |
|
EXPY | Termination of patent right or utility model |