一种Interlaken接口的数据传输方法、Interlaken接口和接口系统与流程

文档序号:11388740阅读:804来源:国知局
一种Interlaken接口的数据传输方法、Interlaken接口和接口系统与流程

本申请涉及接口数据技术领域,尤其涉及一种interlaken接口的数据传输方法、interlaken接口和接口系统。



背景技术:

随着通信领域对数据传输速率要求的提高,interlaken接口因其传输速率快、端口数目灵活的特点被广泛应用于芯片的间的数据传输。

由于传输速率较快,interlaken接口的数据传输存在可靠性风险。现有技术中,为了提高interlaken接口数据传输的可靠性,在interlaken协议中增加了重传协议。采用重新传协议进行数据传输时的流程图可如图1所示。图1中,发送端选择常规数据缓存中缓存的数据发送至接收端,接收端的处理器检测到接收的数据中存在误码后,通过接收端的带外流控接口向发送端发送重传请求,请求重传上述存在误码的数据。发送端通过带外流控接口接收到重传请求后,对重传请求进行处理,选择重传数据缓存中缓存的数据进行重传。

但是,采用上述数据传输方法提高interlaken接口的可靠性时,由于重传协议需要发送端额外提供重传数据缓存区,这不仅会额外增加发送端的资源开销,而且数据缓存区容量的增加会导致发送端的时延增加,影响接口系统性能。

综上,为了提高接口数据传输的可靠性,现有的基于interlaken协议的接口数据传输方式存在资源开销较大、系统性能较差的问题。



技术实现要素:

本申请提供一种interlaken接口的数据传输方法、interlaken接口和接口系统,用以在提高interlaken接口数据传输的可靠性的同时,减少资源开销、提升系统性能。

第一方面,本申请提供一种interlaken接口的数据发送方法,该方法包括如下步骤:发送端对n个逻辑端口中传输的n个原始数据进行前向纠错编码,得到编码码字;然后编码码字分发至n个物理端口,并通过n个物理端口发送至接口系统中的接收端。

其中,n为根据该interlaken接口中进行数据传输的通道数预先配置的正整数,且n个逻辑端口与n个原始数据一一对应;编码码字包含数据码块和前向校验码块:数据码块由n个原始数据压缩得到,前向校验码块用于对数据码块进行校验和纠错。

具体地,本申请实施例中,可在生成interlaken协议时预先配置多个n的取值。这样,针对基于interlaken协议进行数据传输的两个芯片,可以根据两个芯片间进行数据传输的端口数m和预先配置的n的取值情况,将m个端口划分为多组,每组中包含的端口数均为某个n的取值,然后针对每组端口中传输的数据执行第一方面所提供的interlaken接口的数据传输方法。

比如,在生成interlaken协议时,预先配置n的三种情况,n=4、n=5以及n=6。假设芯片a和芯片b基于interlaken协议进行数据传输,且芯片a和芯片b间进行数据传输的端口数m=13。那么,在执行第一方面所提供的interlaken接口的数据传输方法前,可将13个端口分组三组,第一组包含4个端口,第二组包含4个端口,第三组包含5个端口,然后,针对每组端口中传输的数据执行第一方面所提供的interlaken接口的数据传输方法。假设,芯片c和芯片d基于interlaken协议进行数据传输,且芯片c和芯片d间进行数据传输的端口数m=11,那么,在执行第一方面所提供的interlaken接口的数据传输方法前,可将11个端口分组两组,第一组包含5个端口,第二组包含6个端口,然后,针对每组端口中传输的数据执行第一方面所提供的interlaken接口的数据传输方法。

本申请中,针对interlaken接口的端口数灵活可变的特点,通过在生成interlaken协议时预先配置多个n的取值,使得第一方面所提供的interlaken接口的数据传输方法能满足不同芯片间基于interlaken协议进行数据传输。即,在芯片间进行数据接口的端口数不同时,通过配置的多个n的取值,可以方便地根据多个n的取值对芯片间进行数据接口的端口进行分组,配置每组包含的端口数为n。

在第一方面提供的interlaken接口的数据传输方法中,由于发送端对n个逻辑端口中传输的n个原始数据进行前向纠错编码后得到编码码字,并将编码码字发送至接收端。那么,接收端在接收到编码码字后可根据编码码字包含的前向校验码块对编码码字包含的数据码块进行纠错,并根据纠错后的数据码块解码得到n个原始数据。因此,采用上述第一方面提供的interlaken接口的数据传输方法,可以提高interlaken接口数据传输的可靠性。

此外,由于发送端对n个原始数据进行压缩后,在压缩得到的数据码块后添加前向校验码块,因而采用上述第一方面提供的interlaken接口的数据传输方法,可在不增加资源开销或者仅增加较少资源开销的情况下达到提高interlaken接口数据传输的可靠性的效果,和现有技术中基于interlaken重传协议提高interlaken接口数据传输的可靠性的方案相比,减少了资源开销,提升了系统性能。

在上述第一方面所提供的interlaken接口的数据传输方法中,发送端对n个原始数据进行前向纠错编码得到编码码字的过程,具体可通过如下方式实现:将n个原始数据中每个原始数据包含的m个编码单元按照设定顺序进行交织,得到交织后的m*n个编码单元;然后对交织后的m*n个编码单元进行压缩,得到数据码块;最后在数据码块后添加前向校验码块,得到编码码字。其中,编码单元为该interlaken接口中每个逻辑端口进行数据传输的基本单元。

在一种可能的设计中,若编码码字包含用于实现接收端与发送端同步的第一同步头,那么发送端在将编码码字分发至n个物理端口之前,还可将第一同步头替换为指示编码码字的起止位置的第二同步头。

采用上述方案,由于第二同步头指示了编码码字的起止位置,因而接收端在接收到编码码字后更易于确定编码码字的起止位置,从而使得接收端更易于根据编码码字还原出n个原始数据。

此外,发送端在将编码码字分发至n个物理端口之前,还可采用预设定扰码对编码码字进行扰码处理,比如,发送端可采用g(x)=1+x39+x58这一扰码多项式对编码码字进行自同步扰码。那么,接收端在接收到进行过扰码处理的编码码字后,需要采用预设定解扰码对编码码字进行解扰码处理。

发送端对编码码字进行扰码处理,可减小编码码字中连续出现多个比特0或连续出现多个比特1的情况,便于接收端识别编码码字,使得进行扰码处理后的编码码字的信号频谱更适合接口数据传输。

在第一方面所提供的方法中,前向校验码块的长度影响系统的纠错性能。在基于interlaken协议进行接口数据传输时,由于编码码字的长度是固定的,因而可通过在每个编码码字中减少数据码块的长度,将减少的数据码块的长度用来添加前向校验码块,从而通过增加前向校验码块的长度来达到提升系统纠错性能的效果。也就是说,前向校验码块的长度可以等于n个原始数据的总长度与数据码块的长度之差;或者前向校验码块的长度可以大于n个原始数据的总长度与数据码块的长度之差。

当前向校验码块的长度等于n个原始数据的总长度与数据码块的长度之差时,添加前向校验码块没有增加额外开销,interlaken接口带宽保持不变,因而可在不增加额外的资源开销的前提下实现interlaken接口可靠性的提高,从而提升了系统性能。当前向校验码块的长度大于n个原始数据的总长度与数据码块的长度之差时,虽然系统纠错能力的提升是通过增加前向校验码块的长度实现,因而在实现时会在一定程度上增加资源开销,且需要适当提高interlaken接口带宽,但是增加的前向校验码块的长度所占用的资源开销远远小于现有技术中为重传协议所增加的重传数据缓存区所占用的资源开销,因而现有技术中定义重传协议的方案相比,同样能够减少资源开销,提升系统性能。

第二方面,本申请提供一种interlaken接口的数据接收方法,该方法包括如下步骤:接收端接收n个物理端口中传输的数据并进行汇聚后得到编码码字;然后,接收端根据编码码字包含的前向校验码块对编码码字包含的数据码块进行纠错,并根据编码码字解码得到n个原始数据。

其中,编码码字由发送端对n个逻辑端口中传输的n个原始数据进行前向纠错编码得到;n为发送端根据interlaken接口进行数据传输的通道数预先配置的正整数,且n个逻辑端口与n个原始数据一一对应;编码码字包含数据码块和前向校验码块,数据码块由n个原始数据压缩得到,前向校验码块用于对数据码块进行校验和纠错。

采用上述方案,由于接收端在接收到编码码字后可根据编码码字包含的前向校验码块对编码码字包含的数据码块进行纠错,并根据纠错后的数据码块解码得到n个原始数据。因此,采用第二方面提供的interlaken接口的数据传输方法,可以提高interlaken接口数据传输的可靠性。

此外,由于接收端接收到的编码码字中,虽然发送端在编码时加入了前向校验码块,但是发送端同时也对n个原始数据进行了压缩处理,因而编码码字相比于n个原始数据,没有增加额外的资源开销或者仅增加了较少的资源开销。因此,采用第二方面提供的interlaken接口的数据传输方法,可在不增加资源开销或者仅增加较少资源开销的情况下达到提高interlaken接口数据传输的可靠性的效果,和现有技术中基于interlaken重传协议提高interlaken接口数据传输的可靠性的方案相比,减少了资源开销,提升了系统性能。

在第二方面提供的interlaken接口的数据传输方法中,接收端根据编码码字解码得到n个原始数据,具体可通过如下方式实现:接收端删除编码码字中的前向校验码块,得到数据码块,解压缩后的数据码块包含m*n个编码单元;对数据码块进行解压缩,得到解压缩后的数据码块;然后,将解压缩后的数据码块按照设定顺序分发至n个逻辑端口,得到n个原始数据,n个原始数据中的每个原始数据包含m个编码单元。其中,编码单元为该interlaken接口中每个逻辑端口进行数据传输的基本单元。

在一种可能的设计中,若编码码字包含指示编码码字的起止位置的第二同步头,那么接收端在根据编码码字包含的前向校验码块对编码码字包含的数据码块进行纠错之前,还可根据第二同步头确定编码码字的起止位置,然后将第二同步头替换为用于实现接收端与发送端同步的第一同步头

采用上述方案,由于第二同步头指示了编码码字的起止位置,因而接收端在接收到编码码字后更易于确定编码码字的起止位置,从而使得接收端更易于根据编码码字还原出n个原始数据。

此外,接收端在根据编码码字包含的前向校验码块对编码码字包含的数据码块进行纠错之前,还可采用预设定解扰码对编码码字进行解扰码处理。

接收端对编码码字进行解扰码处理是建立在发送端在发送编码码字前对编码码字进行扰码处理的前提下,通过发送端的扰码处理和接收端的解扰码处理,可使得在发送端和接收端间传输的编码码字中比特0和比特1的数量均衡,从而便于接收端识别编码码字,使得进行扰码处理后的编码码字的信号频谱更适合接口数据传输。

在第二方面所提供的interlaken接口的数据传输方法中,前向校验码块的长度影响系统的纠错性能。在基于interlaken协议进行接口数据传输时,由于编码码字的长度是固定的,因而可通过在每个编码码字中减少数据码块的长度,将减少的数据码块的长度用来添加前向校验码块,从而通过增加前向校验码块的长度来达到提升系统纠错性能的效果。也就是说,前向校验码块的长度可以等于n个原始数据的总长度与数据码块的长度之差;或者前向校验码块的长度可以大于n个原始数据的总长度与数据码块的长度之差。

当前向校验码块的长度等于n个原始数据的总长度与数据码块的长度之差时,添加前向校验码块没有增加额外开销,interlaken接口带宽保持不变,因而可在不增加额外的资源开销的前提下实现interlaken接口可靠性的提高,从而提升了系统性能。当前向校验码块的长度大于n个原始数据的总长度与数据码块的长度之差时,虽然系统纠错能力的提升是通过增加前向校验码块的长度实现,因而在实现时会在一定程度上增加资源开销,且需要适当提高interlaken接口带宽,但是增加的前向校验码块的长度所占用的资源开销远远小于现有技术中为重传协议所增加的重传数据缓存区所占用的资源开销,因而与现有技术中定义重传协议的方案相比,同样能够减少资源开销,提升系统性能。

第三方面,本申请提供一种interlaken接口,该数据传输接口包括处理模块和收发模块。其中,处理模块用于对n个逻辑端口中传输的n个原始数据进行前向纠错编码,得到编码码字;收发模块用于将编码码字分发至n个物理端口,并将编码码字通过n个物理端口发送至接口系统中的接收端

其中,n为根据该interlaken接口中进行数据传输的通道数预先配置的正整数,n个逻辑端口与n个原始数据一一对应;编码码字包含数据码块和前向校验码块,数据码块由n个原始数据压缩得到,前向校验码块用于对数据码块进行校验和纠错。

在第三方面所提供的数据传输接口中,由于处理模块对n个逻辑端口中传输的n个原始数据进行前向纠错编码后得到编码码字,收发模块将编码码字发送至接收端。那么,接收端在接收到编码码字后可根据编码码字包含的前向校验码块对编码码字包含的数据码块进行纠错,并根据纠错后的数据码块解码得到n个原始数据。因此,采用第三方面所提供的数据传输接口进行接口数据传输,可以提高interlaken接口数据传输的可靠性。

此外,由于处理模块对n个原始数据进行压缩后,在压缩得到的数据码块后添加前向校验码块,因而采用第三方面所提供的数据传输接口进行接口数据传输,可在不增加资源开销或者仅增加较少资源开销的情况下达到提高interlaken接口数据传输的可靠性的效果,和现有技术中基于interlaken重传协议提高interlaken接口数据传输的可靠性的方案相比,减少了资源开销,提升了系统性能。

处理模块在对n个原始数据进行前向纠错编码,得到编码码字时,具体可通过如下操作实现:将n个原始数据中每个原始数据包含的m个编码单元按照设定顺序进行交织,得到交织后的m*n个编码单元;对交织后的m*n个编码单元进行压缩,得到数据码块;然后在数据码块后添加前向校验码块,得到编码码字。

其中,编码单元为该interlaken接口中每个逻辑端口进行数据传输的基本单元。

在一种可能的设计中,若编码码字包含第一同步头,该第一同步头用于实现接收端与第三方面提供的数据传输接口的同步;那么,处理模块还可用于:在收发模块将编码码字分发至n个物理端口之前,将第一同步头替换为用于指示编码码字的起止位置的第二同步头。

采用上述方案,由于第二同步头指示了编码码字的起止位置,因而接收端在接收到编码码字后更易于确定编码码字的起止位置,从而使得接收端更易于根据编码码字还原出n个原始数据。

此外,处理模块在收发模块将编码码字分发至n个物理端口之前,还可采用预设定扰码对编码码字进行扰码处理。比如,处理模块可采用g(x)=1+x39+x58这一扰码多项式对编码码字进行自同步扰码。那么,接收端在接收到进行过扰码处理的编码码字后,需要采用预设定解扰码对编码码字进行解扰码处理。

处理模块对编码码字进行扰码处理,可减小编码码字中连续出现多个比特0或连续出现多个比特1的情况,便于接收端识别编码码字,使得进行扰码处理后的编码码字的信号频谱更适合接口数据传输。

在第三方面所提供的数据传输接口中,前向校验码块的长度影响系统的纠错性能。在基于interlaken协议进行接口数据传输时,由于编码码字的长度是固定的,因而可通过在每个编码码字中减少数据码块的长度,将减少的数据码块的长度用来添加前向校验码块,从而通过增加前向校验码块的长度来达到提升系统纠错性能的效果。也就是说,前向校验码块的长度可以等于n个原始数据的总长度与数据码块的长度之差;或者前向校验码块的长度可以大于n个原始数据的总长度与数据码块的长度之差。

当前向校验码块的长度等于n个原始数据的总长度与数据码块的长度之差时,添加前向校验码块没有增加额外开销,interlaken接口带宽保持不变,因而可在不增加额外的资源开销的前提下实现interlaken接口可靠性的提高,从而提升了系统性能。当前向校验码块的长度大于n个原始数据的总长度与数据码块的长度之差时,虽然系统纠错能力的提升是通过增加前向校验码块的长度实现,因而在实现时会在一定程度上增加资源开销,且需要适当提高interlaken接口带宽,但是增加的前向校验码块的长度所占用的资源开销远远小于现有技术中为重传协议所增加的重传数据缓存区所占用的资源开销,因而与现有技术中定义重传协议的方案相比,同样能够减少资源开销,提升系统性能。

第四方面,本申请提供一种interlaken接口,该数据传输接口包括收发模块和处理模块。其中,收发模块用于接收n个物理端口中传输的数据并进行汇聚后得到编码码字;处理模块用于根据编码码字包含的前向校验码块对编码码字包含的数据码块进行纠错,并根据编码码字解码得到n个原始数据。

其中,编码码字由发送端对n个逻辑端口中传输的n个原始数据进行前向纠错编码得到;n为发送端根据interlaken接口中进行数据传输的通道数预先配置的正整数,且n个逻辑端口与n个原始数据一一对应;编码码字包含数据码块和前向校验码块,数据码块由n个原始数据压缩得到,前向校验码块用于对数据码块进行校验和纠错。

在第四方面提供的数据传输接口中,由于处理模块在收发模块接收到编码码字后可根据编码码字包含的前向校验码块对编码码字包含的数据码块进行纠错,并根据纠错后的数据码块解码得到n个原始数据。因此,采用第四方面提供的数据传输接口进行接口数据的传输,可以提高interlaken接口数据传输的可靠性。

此外,由于收发模块接收到的编码码字中,虽然发送端在编码时加入了前向校验码块,但是发送端同时也对n个原始数据进行了压缩处理,因而编码码字相比于n个原始数据,没有增加额外的资源开销或者仅增加了较少的资源开销。因此,采用第四方面提供的数据传输接口进行接口数据的传输,可在不增加资源开销或者仅增加较少资源开销的情况下达到提高interlaken接口数据传输的可靠性的效果,和现有技术中基于interlaken重传协议提高interlaken接口数据传输的可靠性的方案相比,减少了资源开销,提升了系统性能。

在第四方面提供的数据传输接口中,处理模块根据编码码字解码得到n个原始数据,具体可通过如下方式实现:删除编码码字中的前向校验码块,得到数据码块;对数据码块进行解压缩,得到解压缩后的数据码块,解压缩后的数据码块包含m*n个编码单元;然后,将解压缩后的数据码块按照设定顺序分发至n个逻辑端口,得到n个原始数据,n个原始数据中的每个原始数据包含m个编码单元。其中,编码单元为该interlaken接口中每个逻辑端口进行数据传输的基本单元。

在一种可能的设计中,若编码码字包含用于指示编码码字的起止位置的第二同步头;那可,处理模块还可在根据编码码字包含的前向校验码块对编码码字包含的数据码块进行纠错之前,根据第二同步头确定编码码字的起止位置;以及将第二同步头替换为第一同步头,第一同步头用于实现第四方面提供的数据传输接口与发送端的同步。

采用上述方案,由于第二同步头指示了编码码字的起止位置,因而处理模块根据第二同步头的指示,更易于确定编码码字的起止位置,从而使得处理模块更易于根据编码码字还原出n个原始数据。

此外,处理模块在根据编码码字包含的前向校验码块对编码码字包含的数据码块进行纠错之前,还可采用预设定解扰码对编码码字进行解扰码处理。

处理模块对编码码字进行解扰码处理是建立在发送端在发送编码码字前对编码码字进行扰码处理的前提下,通过发送端的扰码处理和处理模块的解扰码处理,可使得在发送端和第四方面提供的数据传输接口间传输的编码码字中,比特0和比特1的数量均衡,从而便于处理模块识别编码码字,使得进行扰码处理后的编码码字的信号频谱更适合接口数据传输。

在第四方面所提供的数据传输接口中,前向校验码块的长度影响系统的纠错性能。在基于interlaken协议进行接口数据传输时,由于编码码字的长度是固定的,因而可通过在每个编码码字中减少数据码块的长度,将减少的数据码块的长度用来添加前向校验码块,从而通过增加前向校验码块的长度来达到提升系统纠错性能的效果。也就是说,前向校验码块的长度可以等于n个原始数据的总长度与数据码块的长度之差;或者前向校验码块的长度可以大于n个原始数据的总长度与数据码块的长度之差。

当前向校验码块的长度等于n个原始数据的总长度与数据码块的长度之差时,添加前向校验码块没有增加额外开销,interlaken接口带宽保持不变,因而可在不增加额外的资源开销的前提下实现interlaken接口可靠性的提高,从而提升了系统性能。当前向校验码块的长度大于n个原始数据的总长度与数据码块的长度之差时,虽然系统纠错能力的提升是通过增加前向校验码块的长度实现,因而在实现时会在一定程度上增加资源开销,且需要适当提高interlaken接口带宽,但是增加的前向校验码块的长度所占用的资源开销远远小于现有技术中为重传协议所增加的重传数据缓存区所占用的资源开销,因而与现有技术中定义重传协议的方案相比,同样能够减少资源开销,提升系统性能。

第五方面,本申请提供一种接口系统,该接口系统包括:上述第三方面或其任一种可能的设计中所提供的数据传输接口以及上述第四方面或其任一种可能的设计中所提供的数据传输接口。

附图说明

图1为本申请提供的一种采用interlaken重新传协议进行数据传输的流程示意图;

图2为本申请提供的一种发送端基于interlaken协议发送数据的流程示意图;

图3为本申请提供的一种编码单元的数据结构示意图;

图4为本申请提供的一种interlaken接口的数据传输方法的流程示意图;

图5为本申请提供的一种交织后的编码单元的结构示意图;

图6为本申请提供的一种压缩后的编码单元的结构示意图;

图7为本申请提供的另一种压缩后的编码单元的结构示意图;

图8为本申请提供的一种编码码字的结构示意图;

图9为本申请提供的另一种编码码字的结构示意图;

图10为本申请提供的一种有效信息的结构示意图;

图11为本申请提供的一种interlaken接口的数据发送方法的流程示意图;

图12为本申请提供的一种interlaken接口的数据接收方法的流程示意图;

图13为本申请提供的第一种interlaken接口的结构示意图;

图14为本申请提供的第二种interlaken接口的结构示意图;

图15为本申请提供的第三种interlaken接口的结构示意图;

图16为本申请提供的第四种interlaken接口的结构示意图;

图17为本申请提供的一种接口系统的结构示意图。

具体实施方式

为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述。

本申请提供一种interlaken接口的数据传输方法、interlaken接口和接口系统,用以在提高interlaken接口数据传输的可靠性的同时,减少资源开销、提升系统性能。其中,方法和interlaken接口是基于同一发明构思的,二者解决问题的原理相似,因此二者的实施可以相互参见,重复之处不再赘述。

本申请涉及基于interlaken协议进行接口数据传输。发送端在基于interlaken协议进行数据发送时,待发送数据可通过多个物理端口发送,其中,物理端口的数量可根据数据量和带宽等因素而灵活改变,从而使得基于interlaken协议进行数据发送时可满足多种需求。假设待发送数据通过11个物理端口发送,发送端发送数据的过程可如图2所示。图2中,逻辑端口中传输的数据在传输至逻辑端口前经过64b/67b编码,因此每个逻辑端口进行数据传输的基本单元为67比特。对于每个逻辑端口来说,经过64b/67b编码后的数据经过端口映射,映射到一个物理端口,该逻辑端口中传输的数据则通过该逻辑端口映射到的物理端口发送至接收端。

由于逻辑端口中传输的数据为经过64b/67b编码后的数据,因而每个逻辑端口进行数据传输的基本单元为包含67b的数据块(为了描述简便,下文中简称67b),即本申请中所述的编码单元,也可称为metaframeblock。编码单元可以分为两种,一种为净载荷,一种为控制字。净载荷和控制字的数据结构可如图3所示。下文为了描述方便,将67b中的最高位中的数据称为比特66,次高位中的数据称为比特65,最低位中的数据称为比特0,依此类推。

图3中,净载荷和控制字中的比特66均用x表示,x为翻转指示位。当x为1时,代表该67b的数据在传输至逻辑端口前,即在64b/67b编码过程中,比特63~比特0已经过高低电平翻转(即将0翻转为1,将1翻转为0)处理;当x为0时,代表该67b的数据在传输至逻辑端口前,比特63~比特0未经过高低电平翻转处理。对比特63~比特0进行高低电平翻转处理的目的是为了保持每个逻辑端口传输的数据中高电平和低电平的数量均衡。

图3中,比特65~比特64用于指示该编码单元的数据类型。当比特65~比特64为01时,代表该编码单元为净载荷;当比特65~比特64为10时,代表67b数据编码单元为控制字。当编码单元为净载荷时,比特63~比特0为数据信息,其中,b0~b7分别为8比特的数据块;当编码单元为控制字时,比特63~比特0为控制信息。

此外,对于图2中的每个逻辑端口传输的数据来说,一般将2048个67b作为一个interlakenmetaframe帧长。每个interlakenmetaframe帧中均包含一个同步头,该同步头用于接收端与发送端进行同步。

需要说明的是,图2中的逻辑端口和物理端口的数量相同,逻辑端口与物理端口进行端口映射时可采用任意映射规则,仅需满足每个逻辑端口传输的数据均可通过与该逻辑端口对应的一个物理端口发送至接收端即可。比如,逻辑端口0可映射至物理端口7,那么逻辑端口0中传输的数据可通过物理端口7发送至接收端;逻辑端口3可映射至物理端口2,那么逻辑端口3中传输的数据可通过物理端口2发送至接收端。

本申请提供一种interlaken接口的数据传输方法、interlaken接口和接口系统,用以在提高interlaken接口数据传输的可靠性的同时,减少资源开销、提升系统性能。

需要说明的是,本申请中所涉及的多个,是指两个或两个以上。另外,需要理解的是,在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。

下面结合附图对本申请提供的接口数据的传输方案进行具体说明。

参见图4,为本申请提供的一种interlaken接口的数据传输方法流程图。

s401:发送端对n个逻辑端口中传输的n个原始数据进行前向纠错编码,得到编码码字。

其中,n为发送端根据interlaken接口进行数据传输的通道数预先配置的正整数,n个逻辑端口与n个原始数据一一对应;s401中得到的编码码字包含数据码块和前向校验码块,数据码块由n个原始数据压缩得到,前向校验码块用于对数据码块进行校验和纠错。

基于interlaken协议进行接口数据传输时,物理端口的数量与逻辑端口的数量相同。图4所示方法中,n的选取较为灵活。n的数值可以等于用于进行接口数据传输的所有逻辑端口的数量,也可以等于用于进行接口数据传输的部分逻辑端口的数量。

n的数值等于用于进行接口数据传输的全部逻辑端口的数量,适用于全部逻辑端口的数量较少的情况。比如,用于进行接口数据传输的全部逻辑端口的数量为4,那么可取n=4,然后针对4个逻辑端口传输的4个原始数据执行图4所示方法;再比如,用于进行接口数据传输的全部逻辑端口的数量为5,那么可取n=5,然后针对5个逻辑端口传输的5个原始数据执行图4所示方法。

n的数值等于用于进行接口数据传输的部分逻辑端口的数量,适用于全部逻辑端口的数量较多的情况。当用于进行接口数据传输的全部逻辑端口的数量较多时,可将全部逻辑端口划分为多组,然后针对每组逻辑端口中传输的原始数据执行图4所示方法。比如,用于进行接口数据传输的全部逻辑端口的数量为11,那么可将11个逻辑端口分为两组,一组包含5个逻辑端口,另一组包含6个逻辑端口。然后,针对5个逻辑端口传输的5个原始数据执行图4所示方法,此时n=5;再针对6个逻辑端口传输的6个原始数据执行图4所示方法,此时n=6。

为了便于图4所示方法的执行,可预设多个可选的n的数值,比如,可选的n为4、5和6,那么在执行图4所示方法时,可根据用于进行接口数据传输的全部逻辑端口的数量选择不同的n的配置。比如,当用于进行接口数据传输的全部逻辑端口的数量为17时,可将前12个逻辑端口分为2组,每组包含6个逻辑端口,针对每6个逻辑端口传输的6个原始数据执行图4所示方法。然后将后5个逻辑端口视为一组,针对后5个逻辑端口传输的5个原始数据执行图4所示方法。也就是说,对于全部逻辑端口的数量为17的情况,需要执行图4所示方法的次数为3(2+1=3)次。

具体地,本申请实施例中,可在生成interlaken协议时预先配置多个n的取值。这样,针对基于interlaken协议进行数据传输的两个芯片,可以根据两个芯片间进行数据传输的端口数m和预先配置的n的取值情况,将m个端口划分为多组,每组中包含的端口数均为某个n的取值,然后针对每组端口中传输的数据执行图4所示的方法。

比如,在生成interlaken协议时,预先配置n的三种情况,n=4、n=5以及n=6。假设芯片a和芯片b基于interlaken协议进行数据传输,且芯片a和芯片b间进行数据传输的端口数m=13。那么,在执行图4所示方法前,可将13个端口分组三组,第一组包含4个端口,第二组包含4个端口,第三组包含5个端口,然后,针对每组端口中传输的数据执行图4所示方法。假设,芯片c和芯片d基于interlaken协议进行数据传输,且芯片c和芯片d间进行数据传输的端口数m=11,那么,在执行图4所示方法前,可将11个端口分组两组,第一组包含5个端口,第二组包含6个端口,然后,针对每组端口中传输的数据执行图4所示方法。

本申请中,针对interlaken接口的端口数灵活可变的特点,通过在生成interlaken协议时预先配置多个n的取值,使得图4所示方法能满足不同芯片间基于interlaken协议进行数据传输。即,在芯片间进行数据接口的端口数不同时,通过配置的多个n的取值,可以方便地根据多个n的取值对芯片间进行数据接口的端口进行分组,配置每组包含的端口数为n。

需要说明的是,图4所示方法中,每个原始数据是指经过前述64/67b编码后得到的数据。

s401中,编码码字可包含为120个编码单元。原始数据的长度可根据编码码字包含的编码单元的个数和n的数值选取。比如,当编码码字包含120个编码单元时,若n=6,那么每个原始数据可均包含20个编码单元;若n=5,那么每个原始数据可均包含24个编码单元;若n=4,那么每个原始数据可均包含30个编码单元。

s402:发送端将编码码字分发至n个物理端口,并通过n个物理端口发送至接口系统中的接收端。

s403:接收端接收n个物理端口中传输的数据并进行汇聚后得到编码码字,根据编码码字包含的前向校验码块对编码码字包含的数据码块进行纠错,并根据编码码字解码得到n个原始数据。

在一种可能的设计中,s401中发送端对n个原始数据进行前向纠错编码得到编码码字的过程,具体可通过如下方式实现:发送端将n个原始数据中每个原始数据包含的m个编码单元按照设定顺序进行交织,得到交织后的m*n个编码单元,编码单元为interlaken接口中每个逻辑端口进行数据传输的基本单元;对交织后的m*n个编码单元进行压缩,得到数据码块;在数据码块后添加前向校验码块,得到编码码字。那么,接收端在根据编码码字解码得到n个原始数据,具体可通过如下方式实现:删除编码码字中的前向校验码块,得到数据码块;对数据码块进行解压缩,得到解压缩后的数据码块;将解压缩后的数据码块按照设定顺序分发至n个逻辑端口,得到n个原始数据。

其中,n个原始数据中的每个原始数据均包含m个编码单元,这里的编码单元可以为每个逻辑端口进行数据传输的基本单元,即图3所示的包含67比特的净载荷或者控制字。若编码码字的长度为120个编码单元,且n=6,那么m=20,即每个原始数据可均包含20个编码单元;若编码码字的长度为120个编码单元,且n=5,那么m=24,即每个原始数据可均包含24个编码单元;若编码码字的长度为120个编码单元,且n=4,那么m=30,即每个原始数据可均包含30个编码单元。

发送端在将n个原始数据中每个原始数据包含的m个编码单元按照设定顺序进行交织时,可按照设定顺序依次从每个逻辑端口中取一个编码单元,遍历n个逻辑端口后再按照上述设定顺序依次从每个逻辑端口中取一个编码单元,直至每个逻辑端口中的m个编码单元均取出。比如,n=4、m=3时,假设4个逻辑端口中的逻辑端口0用于传输a、b、c三个编码单元,4个逻辑端口中的逻辑端口1用于传输d、e、f三个编码单元,4个逻辑端口中的逻辑端口2用于传输g、h、i三个编码单元,4个逻辑端口中的逻辑端口3用于传输j、k、l三个编码单元,那么按照逻辑端口0→逻辑端口3的顺序将4个原始数据中每个原始数据包含的3个编码单元进行交织后,得到的交织后的12个编码单元可如图5所示。

对m*n个编码单元进行压缩时,可针对每个编码单元进行压缩。比如,当编码单元采用图3所示的数据结构时,可将每个编码单元由67比特压缩到65比特。具体地,在进行压缩时可将比特66和比特64删除,或者将比特66和比特65删除。

若对图3所示的编码单元进行压缩时将比特66和比特64删除,则压缩后的编码单元可如图6所示。图6中,当比特64为0时,代表该编码单元为净载荷;当比特64为1时,代表该编码单元为控制字。

若对图3所示的编码单元进行压缩时将比特66和比特65删除,则压缩后的编码单元可如图7所示。图7中,当比特64为1时,代表该编码单元为净载荷;当比特64为0时,代表该编码单元为控制字。

此外,如前所述,编码单元中的比特66为翻转指示位,当比特66为1时,代表比特63~比特0已经过高低电平翻转,当比特66为0时,代表比特63~比特0未经过高低电平翻转,因此,删除比特66时涉及到高低电平翻转的问题。具体地,在通过删除比特66对编码单元进行压缩时,可通过以下两种方式实现:

第一种方式

发送端在进行64b/67b编码时,可选择不进行高低电平翻转,那么对于每个编码单元来说,比特66均为0。因此,在对编码单元进行压缩时,可直接将比特66删除。由于编码单元在进行64b/67b编码时均没有经过高低电平翻转,因而接收端在进行解压缩时,可直接在比特66的位置添加0,从而还原出编码单元。

第二种方式

发送端在进行64b/67b编码时,若已经对某些编码单元进行高低电平翻转,那么经过高低电平翻转的编码单元的比特66为1,未经过高低电平翻转的编码单元的比特66为0。因此,在对编码单元进行压缩时,可对经过高低电平翻转的编码单元的比特63~比特0再次进行高低电平翻转,这样处理相当于将所有编码单元的比特66均置为0,即相当于所有编码单元均没有经过高低电平翻转。然后,将所有编码单元的比特66删除。接收端在进行解压缩时,可直接在比特66的位置添加0,从而还原出编码单元。

在数据码块后添加前向校验码块时,前向校验码块的长度可以等于n个原始数据的总长度与数据码块的长度之差;或者前向校验码块的长度可以大于n个原始数据的总长度与数据码块的长度之差。

当前向校验码块的长度等于n个原始数据的总长度与数据码块的长度之差时,添加前向校验码块没有增加额外开销,interlaken接口带宽保持不变。当前向校验码块的长度大于n个原始数据的总长度与数据码块的长度之差时,前向校验码块的长度增加了,系统的纠错能力提升了,但是前向码块长度的增加会在一定程度上增加系统的资源开销,且需要适当提高interlaken接口带宽。

前向校验码块的长度影响系统的纠错性能,也就是说,在基于interlaken协议进行接口数据传输时,由于编码码字的长度是固定的,因而可通过在每个编码码字中减少数据码块的长度,将减少的数据码块的长度用来添加前向校验码块,从而通过增加前向校验码块的长度来达到提升系统纠错性能的效果。

以下将分别阐述前向校验码块的长度等于n个原始数据的总长度与数据码块的长度之差和前向校验码块的长度大于n个原始数据的总长度与数据码块的长度之差这两种情况。

第一种情况:前向校验码块的长度等于n个原始数据的总长度与数据码块的长度之差

假设,发送端将6个逻辑端口中传输的6个原始数据中,每个原始数据包含的20个编码单元进行交织后,得到20*6个编码单元,每个编码单元包含67比特。然后对20*6个编码单元中的每个编码单元进行压缩,即将67比特的数据压缩为65比特,那么数据码块包含的比特数为120*65,6个原始数据的总长度与数据码块的长度之差为120*67-120*65=240比特。此时,在数据码块后添加前向校验码块时,前向校验码块的长度可等于240比特,因而编码码字的长度为8040(120*65+240)比特。

由于对6个逻辑端口中传输的6个原始数据进行前向纠错编码前,6个原始数据的总长度为6*20*67=8040比特,对6个逻辑端口中传输的6个原始数据进行前向纠错编码后,数据码块的长度为6*20*65=7800比特。那么,当前向校验码块的长度等于240比特时,采用本申请提供的方法,前向校验码块的长度等于6个原始数据的总长度与数据码块的长度之差,采用本申请提供的方案与现有技术中通过定义重传协议来提高接口数据传输的可靠性的方案相比,无需增加额外的资源开销,从而提升了系统性能。当前向校验码块的长度等于240比特时,可在编码码字的长度为8040(7800+240)比特时对120个比特,即对12个符号(即symbol,每个symbol包含10比特)进行纠错。

本申请中,编码码字包含数据码块和前向校验码块。其中,数据码块可根据数据码块的长度划分为多个子码块,每个子码块包含的比特数相同。

在第一种情况中,编码码字的结构可如图8所示。图8中,数据码块分为30个子码块,每个子码块包含260比特,校验码块包含240比特。

特别地,在图8中所示的编码码字的数据结构中,为了便于接收端对编码码字进行解码,可在编码码字前添加20比特的全0序列,那么图8中的第一个码块则由20b的全0序列和240b的数据组成,图8中最后一个码块则包含20b的数据和240b的前向校验码块组成。因此,通过在编码码字前添加20b的全0序列,可以使得图8中的每个码块均包含260比特,便于接收端对编码码字进行解码处理。

第二种情况:前向校验码块的长度大于n个原始数据的总长度与数据码块的长度之差

若要在每个编码码字中增加前向校验码块的长度,比如前向校验码块的长度为500比特。由于编码码字的长度仍需为8040比特,那么数据码块的长度为7540(8040-500)比特。此时,在执行图4所示方法时,可以适当减小6个原始数据中某几个原始数据的长度,使得6个原始数据经过压缩处理后得到的数据码块的长度为7540比特。然后在数据码块后添加500比特前向校验码块,得到长度为8040比特的编码码字。

当前向校验码块的长度为500比特时,前向校验码块的长度大于6个原始数据的总长度与数据码块的长度之差,但是增加的前向校验码块的长度所占用的资源开销远远小于现有技术中为重传协议所增加的重传数据缓存区所占用的资源开销,因而采用本申请提供的方案与现有技术中定义重传协议的方案相比,同样能够减少资源开销,提升系统性能。当前向校验码块的长度等于500比特时,可在编码码字的长度为8040(7540+500)比特时对250个比特,即对25个symbol进行纠错。由此可见,当前向校验码块的长度大于n个原始数据的总长度与数据码块的长度之差时,可以在增加较少资源开销的前提下,提升纠错性能。

在第二种情况中,编码码字的结构可如图9所示。图9中,数据码块分为29个子码块,每个子码块包含260比特,校验码块分为两个子码块,第一个子码块均包含260比特,第二个子码块包含240比特。

特别地,在图9中所示的编码码字的数据结构中,为了便于接收端进行解码,可在编码码字前添加20比特的全0序列,从而使得图9中的每个码块均包含260比特,便于接收端对编码码字进行解码。

在一种可能的设计中,若编码码字包含第一同步头,该第一同步头用于实现接收端与发送端的同步,则发送端执行s402将编码码字分发至n个物理端口之前,还可将第一同步头替换为第二同步头,该第二同步头用于指示编码码字的起止位置。那么,接收端在接收到编码码字包含的第二同步头后,可根据第二同步头确定编码码字的起止位置,然后将第二同步头替换为第一同步头。

采用这种方案,由于第二同步头指示了编码码字的起止位置,因而接收端在接收到编码码字后更易于确定编码码字的起止位置,从而使得接收端更易于根据编码码字还原出n个原始数据。

前面提到过,在基于interlaken协议进行数据传输时,一般将2048个67b作为一个interlakenmetaframe帧长。每个interlakenmetaframe帧中均包含一个同步头,该同步头用于接收端与发送端进行同步。这里的同步头可以理解为第一同步头。

也就是说,对于每个逻辑端口传输的数据来说,每2048个67b中均存在一个第一同步头。但是,由于本申请中将原来n个逻辑端口传输的n个原始数据进行交织、压缩处理和添加校验码块处理后得到编码码字,然后在向接收端发送数据时以编码码字为基本单位进行数据的发送。因此,原本用于接收端与发送端进行同步的第一同步头在编码码字中的位置被打乱,采用第一同步头难以实现接收端与发送端的同步。同时,若某个序列指示了编码码字的起止位置,则接收端可根据编码码字的起止位置获取编码码字。因此,发送端执行s402将编码码字分发至n个物理端口之前,可将第一同步头替换为第二同步头。

当编码单元的长度为67比特,发送端对编码单元进行压缩后将编码单元压缩为65比特时,第二同步头的长度也可以为65比特。第二同步头可由60比特的有效信息和5比特的无效信息组成。

其中,有效信息的一种可选的数据结构可如图10所示。图10中,m0=8'h83,m1=8'h16,m2=8'h84,m3=8'hcc,m4=8'h7c,m5=8'he9,m6=8'h7b,m7=4'h6。

其中,无效信息的设置通常可考虑0和1均衡分布。比如,当发送端采用图4所示方法对6个逻辑端口(逻辑端口0~逻辑端口5)中传输的6个原始数据进行前向纠错编码,得到编码码字。那么,在将逻辑端口0~逻辑端口5中的第一同步头替换为第二同步头时,可将第二同步头分别设置为pad0~pad5,pad0~pad5的取值可以是:pad0=pad2=pad4=10100,pad1=pad3=pad5=01011,这样取值可以减小第二同步头中连续出现多个比特0或连续出现多个比特1的情况,便于接收端识别编码码字。

发送端在将第一同步头替换为第二同步头时,不必将编码码字包含的每个第一同步头均替换为第二同步头。假设将编码码字中每t个第一同步头中的一个第一同步头替换为第二同步头(q≤t),那么t可在满足如下条件下求解:

1、p*n=n*40*n

2、p*n=m*n*n

3、p=2048*t

其中,p为编码码字中包含的编码单元的个数,n为自然数的倍数。

由以上公式还可得出如下结论:当n=4或5时,p必须为120的倍数;当n=6时,p必须为40的倍数。

在一种可能的设计中,发送端在将编码码字分发至n个物理端口之前,还可采用预设定扰码对编码码字进行扰码处理,比如,发送端可采用g(x)=1+x39+x58这一扰码多项式对编码码字进行自同步扰码。那么,接收端在接收到进行过扰码处理的编码码字后,需要采用预设定解扰码对编码码字进行解扰码处理。

发送端对编码码字进行扰码处理,可减小编码码字中连续出现多个比特0或连续出现多个比特1的情况,便于接收端识别编码码字,使得进行扰码处理后的编码码字的信号频谱更适合接口数据传输。

需要说明的是,本申请中给出了发送端对n个原始数据进行前向纠错编码,得到一个编码码字,并将该编码码字发送给接收端做解码处理的方法。其中,n为根据interlaken接口进行数据传输的通道数预先配置的正整数。实际实现时,由于每个逻辑端口中传输的原始数据的数量一般为多个,因此发送端执行多次前向纠错编码的操作,得到多个编码码字,并将多个编码码字依次发送至接收端,由接收端做多次解码处理。由于每次执行图4所示方法的过程是相似的,因此本申请对发送端进行前向纠错编码得到多个编码码字的方案不再赘述。

需要说明的是,在本申请所提供的interlaken接口的数据传输方法中,当n=1时,interlaken接口的数据传输方法与n>1时的类似,只是由于n=1,发送端执行的interlaken接口的数据发送方法仅针对一个逻辑端口,因而发送端不需再对每个逻辑端口中传输的数据进行交织,对原始数据进行压缩和前向纠错编码得到编码码字后,无需再对编码码字进行分发,仅需将编码码字通过物理端口发送出去即可。接收端与发送端执行的方法互逆,此处不再赘述。

图4所示的interlaken接口的数据传输方法中,由于发送端对n个逻辑端口中传输的n个原始数据进行前向纠错编码后得到编码码字,并将编码码字发送至接收端,其中,编码码字包含数据码块和前向校验码块。那么,接收端在接收到编码码字后可根据编码码字包含的前向校验码块对编码码字包含的数据码块进行纠错,并根据纠错后的数据码块解码得到n个原始数据。因此,采用图4所示的interlaken接口的数据传输方法,可以提高interlaken接口数据传输的可靠性。

此外,由于发送端对n个原始数据进行压缩后,在压缩得到的数据码块后添加前向校验码块,因而采用图4所示的interlaken接口的数据传输方法,可在不增加资源开销或者仅增加较少资源开销的情况下达到提高interlaken接口数据传输的可靠性的效果,和现有技术中基于interlaken重传协议提高interlaken接口数据传输的可靠性的方案相比,减少了资源开销,提升了系统性能。

本申请中,发送端对n个逻辑端口中传输的n个原始数据进行前向纠错编码。其中,n为根据interlaken接口进行数据传输的通道数预先配置的正整数。下面,针对n=1和n>1两种情况对本申请提供的interlaken接口的数据传输方法进行举例。以下两个示例可视为图4所示interlaken接口的数据传输方法的两种具体实现方式。

示例一:n>1

当n>1时,假设发送端分别对11个逻辑端口中的逻辑端口0~逻辑端口5和逻辑端口6~逻辑端口10中传输的原始数据进行前向纠错编码,每个编码码字包含120*65b数据码块和240b前向校验码块。发送端执行的interlaken接口的数据发送方法如图11所示。图11中,发送端执行的interlaken接口的数据发送方法可包含如下步骤:

1、在对每个逻辑端口中传输的数据进行64b/67b编码时,对每个编码单元均不做高低电平翻转处理,即每个编码单元中的比特66均为0。

2、对逻辑端口0~逻辑端口5中传输的6个原始数据(每个原始数据包含20个67b)进行交织,得到120个编码单元;对逻辑端口6~逻辑端口10中传输的5个原始数据(每个原始数据包含24个67b)进行交织,得到120个编码单元。

3、将每个编码单元中包含的67比特的数据压缩至65比特。

在对每个编码单元进行压缩时,将比特66和比特65删除。

4、将每t个sy中的一个sy字替换为am字

sy字可视为本申请中的第一同步头的具体示例,am字可视为本申请中的第二同步头的具体示例。

t满足如下条件:

1)、p*n=n*40*n

2)、p*n=m*n*n

3)、p=2048*t

其中,对逻辑端口0~逻辑端口5执行图11所示方法时,n=6,m=20;对逻辑端口6~逻辑端口10执行图11所示方法时,n=5,m=24;p为编码码字中包含的编码单元的个数,n为自然数的倍数。

需要说明的是,对逻辑端口0~逻辑端口5执行图11所示方法时和对逻辑端口6~逻辑端口10执行图11所示方法时,选取的t需相同。

5、对压缩编码后的每个65比特的数据进行自同步扰码,得到数据码块。

其中,对am字不做扰码处理。

6、在数据码块后添加240b前向校验码块,得到编码码字。

7、将编码码字以10比特(1个symbol)为单位依次分发至前向校验端口。

其中,对逻辑端口0~逻辑端口5中传输的6个原始数据执行步骤1~6后得到的编码码字分发至前向校验端口0~前向校验端口5;对逻辑端口6~逻辑端口10中传输的5个原始数据执行步骤1~6后得到的编码码字分发至前向校验端口6~前向校验端口10。

8、对前向校验端口0~10进行端口映射,映射至物理端口0~物理端口10。

其中,端口映射时可采用任意映射规则,仅需满足每个逻辑端口传输的数据均可通过与该逻辑端口对应的一个物理端口发送至接收端即可。

当n>1时,若发送端采用图11所示的interlaken接口的数据发送方法,那么接收端可采用图12所示的interlaken接口的数据接收方法。图12中,接收端执行的interlaken接口的数据接收方法可包含如下步骤:

1、将am字锁定,将各个物理端口对齐,找到编码码字的起止位置。

其中,编码码字包含数据码块和前向校验码块。

2、进行端口反映射,将物理端口0~物理端口10分别反映射至前向校验端口0~前向校验端口10。

其中,端口反映射的映射规则和图11所示方法的步骤8中的端口映射规则互逆。

3、根据编码码字中包含的前向校验码块对编码码字中的数据码块进行纠错,并删除所述编码码字中的前向校验码块,得到数据码块。

4、对数据码块进行解扰码处理。

5、将数据码块中的am字替换为sy字。

6,对数据码块进行解压缩处理,将每65比特的数据还原为67比特的数据。

在对65比特的数据进行解压缩时,添加比特66和比特65,还原出67比特的数据,即还原出编码单元。

7、将进行解压缩处理后的数据码块进行分发。

其中,分发后的数据码块将传输至多个逻辑端口。

8、对分发至多个逻辑端口的数据进行延时处理,得到11个原始数据,并将11个原始数据分发至11个逻辑端口。

其中,传输至逻辑端口0~逻辑端口5的数据的延时时长与传输至逻辑端口6~逻辑端口10的数据的延时时长不同。

示例二:n=1

发送端执行的interlaken接口的数据发送方法包含如下步骤:

1、在对逻辑端口中传输的数据进行64b/67b编码时,对每个编码单元均不做高低电平翻转处理,即每个编码单元中的比特66均为0。

2、将每个编码单元中包含的67比特的数据压缩至65比特。

在对每个编码单元进行压缩时,将比特66和比特65删除。

3、将每t个sy中的一个sy字替换为am字

其中,t的设置可参考图11中的相关描述。

4、在数据码块后添加160b前向校验码块,得到编码码字,并将编码码字通过该逻辑端口对应的通过物理端口发送至接收端。

接收端执行的interlaken接口的数据接收方法包含如下步骤:

1、将am字锁定,将各个物理端口对齐,找到通过物理端口接收的编码码字的起止位置。

其中,编码码字包含数据码块和前向校验码块。

2、根据编码码字中包含的前向校验码块对编码码字中的数据码块进行纠错,并删除所述编码码字中的前向校验码块,得到数据码块。

3、将数据码块中的am字替换为sy字。

4,对数据码块进行解压缩处理,将每65比特的数据还原为67比特的数据,得到原始数据。

综上,采用本申请提供的interlaken接口的数据传输方法,可以在提高interlaken接口数据传输的可靠性的同时,减少资源开销、提升系统性能。

本申请提供一种interlaken接口,该interlaken接口可用于执行图4所示interlaken接口的数据传输方法中发送端所执行的操作。如图13所示,该interlaken接口1300包括处理模块1301和收发模块1302。

处理模块1301用于对n个逻辑端口中传输的n个原始数据进行前向纠错编码,得到编码码字。收发模块1302用于将编码码字分发至n个物理端口,并将编码码字通过n个物理端口发送至接口系统中的接收端。

其中,n为根据interlaken接口1300进行数据传输的通道数预先配置的正整数,n个逻辑端口与n个原始数据一一对应;编码码字包含数据码块和前向校验码块,数据码块由n个原始数据压缩得到,前向校验码块用于对数据码块进行校验和纠错。

在一种可能的设计中,处理模块1301在对n个原始数据进行前向纠错编码,得到编码码字时,可具体用于:将n个原始数据中每个原始数据包含的m个编码单元按照设定顺序进行交织,得到交织后的m*n个编码单元;然后对交织后的m*n个编码单元进行压缩,得到数据码块;在数据码块后添加前向校验码块,得到编码码字。其中,编码单元为每个逻辑端口进行数据传输的基本单元。

在一种可能的设计中,编码码字包含第一同步头,该第一同步头用于实现接收端与interlaken接口1300的同步;处理模块1301还用于:在收发模块1302将编码码字分发至n个物理端口之前,将上述第一同步头替换为第二同步头,其中,第二同步头用于指示编码码字的起止位置。

在一种可能的设计中,处理模块1301还用于在收发模块1302将编码码字分发至n个物理端口之前,采用预设定扰码对编码码字进行扰码处理。

在一种可能的设计中,前向校验码块的长度等于n个原始数据的总长度与数据码块的长度之差;或者前向校验码块的长度大于n个原始数据的总长度与数据码块的长度之差。

需要说明的是,本申请中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

在图13所示的interlaken接口1300中,由于处理模块1301对n个逻辑端口中传输的n个原始数据进行前向纠错编码后得到编码码字,收发模块1302将编码码字发送至接收端。那么,接收端在接收到编码码字后可根据编码码字包含的前向校验码块对编码码字包含的数据码块进行纠错,并根据纠错后的数据码块解码得到n个原始数据。因此,采用图13所示的interlaken接口1300进行接口数据的传输,可以提高interlaken接口数据传输的可靠性。

此外,由于处理模块1301对n个原始数据进行压缩后,在压缩得到的数据码块后添加前向校验码块,因而采用图13所示的interlaken接口1300进行接口数据的传输,可在不增加资源开销或者仅增加较少资源开销的情况下达到提高interlaken接口数据传输的可靠性的效果,和现有技术中基于interlaken重传协议提高interlaken接口数据传输的可靠性的方案相比,减少了资源开销,提升了系统性能。

图13所示的interlaken接口1300可用于执行图4所示interlaken接口的数据传输方法中发送端所执行的操作,interlaken接口1300未详细解释和描述的实现方式可参考图4所示interlaken接口的数据传输方法中的相关描述。

基于以上实施例,本申请还提供一种interlaken接口,该interlaken接口可用于执行图4所示的interlaken接口的数据传输方法中发送端所述执行的操作,该interlaken接口可以是与图13所示interlaken接口1300相同的装置。如图14所示,该interlaken接口1400包括处理器1401和收发器1402。

其中,处理器1401可用于执行图13所示的interlaken接口1300中处理模块1301所执行的操作,收发器1402可用于执行图13所示的interlaken接口1300中收发模块1302所执行的操作。

interlaken接口1400可用于执行图4所示的interlaken接口的数据传输方法,且可以是与图13所示interlaken接口1300相同的装置,因此,interlaken接口1400未详细解释和描述的实现方式可参考图4所示的interlaken接口的数据传输方法中的相关描述。

本申请提供一种interlaken接口,该interlaken接口可用于执行图4所示interlaken接口的数据传输方法中接收端所执行的操作。如图15所示,该interlaken接口1500包括收发模块1501和处理模块1502。

收发模块1501用于接收n个物理端口中传输的数据并进行汇聚后得到编码码字;处理模块1502用于根据编码码字包含的前向校验码块对编码码字包含的数据码块进行纠错,并根据编码码字解码得到n个原始数据。

编码码字由发送端对n个逻辑端口中传输的n个原始数据进行前向纠错编码得到;其中,n为发送端根据interlaken接口进行数据传输的通道数预先配置的正整数,n个逻辑端口与n个原始数据一一对应;编码码字包含数据码块和前向校验码块,数据码块由n个原始数据压缩得到,前向校验码块用于对数据码块进行校验和纠错。

在一种可能的设计中,处理模块1502在根据编码码字解码得到n个原始数据时,具体用于:删除编码码字中的前向校验码块,得到数据码块;对数据码块进行解压缩,得到解压缩后的数据码块,解压缩后的数据码块包含m*n个编码单元;将解压缩后的数据码块按照设定顺序分发至n个逻辑端口,得到n个原始数据,n个原始数据中的每个原始数据包含m个编码单元。其中,编码单元为interlaken接口中每个逻辑端口进行数据传输的基本单元。

在一种可能的设计中,编码码字包含第二同步头,该第二同步头用于指示编码码字的起止位置;处理模块1502还用于在根据编码码字包含的前向校验码块对编码码字包含的数据码块进行纠错之前,根据第二同步头确定编码码字的起止位置;以及将第二同步头替换为第一同步头,第一同步头用于实现interlaken接口1500与发送端的同步。

在一种可能的设计中,处理模块1502还用于在根据编码码字包含的前向校验码块对编码码字包含的数据码块进行纠错之前,采用预设定解扰码对编码码字进行解扰码处理。

在一种可能的设计中,前向校验码块的长度等于n个原始数据的总长度与数据码块的长度之差;或者前向校验码块的长度大于n个原始数据的总长度与数据码块的长度之差。

在图15所示的interlaken接口1500中,由于处理模块1502在收发模块1501接收到编码码字后可根据编码码字包含的前向校验码块对编码码字包含的数据码块进行纠错,并根据纠错后的数据码块解码得到n个原始数据。因此,采用图15所示的interlaken接口1500进行接口数据的传输,可以提高interlaken接口数据传输的可靠性。

此外,由于收发模块1501接收到的编码码字中,虽然发送端在编码时加入了前向校验码块,但是发送端同时也对n个原始数据进行了压缩处理,因而编码码字相比于n个原始数据,没有增加额外的资源开销或者仅增加了较少的资源开销。因此,采用图15所示的interlaken接口1500进行接口数据的传输,可在不增加资源开销或者仅增加较少资源开销的情况下达到提高interlaken接口数据传输的可靠性的效果,和现有技术中基于interlaken重传协议提高interlaken接口数据传输的可靠性的方案相比,减少了资源开销,提升了系统性能。

图15所示的interlaken接口1500可用于执行图4所示的interlaken接口的数据传输方法中接收端所执行的操作,interlaken接口1500未详细解释和描述的实现方式可参考图4所示interlaken接口的数据传输方法中的相关描述。

基于以上实施例,本申请还提供一种interlaken接口,该interlaken接口可用于执行图4所示的interlaken接口的数据传输方法中接收端所述执行的操作,该interlaken接口可以是与图15所示interlaken接口1500相同的装置。如图16所示,该interlaken接口1600包括收发器1601和处理器1602。

其中,收发器1601可用于执行图15所示的interlaken接口1500中收发模块1501所执行的操作,处理器1602可用于执行图15所示的interlaken接口1500中处理模块1502所执行的操作。

interlaken接口1600可用于执行图4所示的interlaken接口的数据传输方法,且可以是与图15所示interlaken接口相同的装置,因此,interlaken接口1600未详细解释和描述的实现方式可参考图4所示的interlaken接口的数据传输方法中的相关描述。

本申请提供一种接口系统,如图17所示,该接口系统1700包含图13所示的interlaken接口1300和图15所示的interlaken接口1500。图17所示的接口系统1700中的interlaken接口1300可用于执行图4所示interlaken接口的数据传输方法中发送端所执行的操作,图17所示的接口系统1700中的interlaken接口1500可用于执行图4所示interlaken接口的数据传输方法中接收端所执行的操作。

在本申请提供的interlaken接口的数据传输方法、interlaken接口和接口系统中,由于发送端对n个逻辑端口中传输的n个原始数据进行前向纠错编码后得到编码码字,并将编码码字发送至接收端,其中,编码码字包含数据码块和前向校验码块。那么,接收端在接收到编码码字后可根据编码码字包含的前向校验码块对编码码字包含的数据码块进行纠错,并根据纠错后的数据码块解码得到n个原始数据。因此,采用本申请提供的接口数据的传输方案,可以提高interlaken接口数据传输的可靠性。

此外,由于发送端对n个原始数据进行压缩后,在压缩得到的数据码块后添加前向校验码块,因而采用本申请提供的接口数据的传输方案,可在不增加资源开销或者仅增加较少资源开销的情况下达到提高interlaken接口数据传输的可靠性的效果,和现有技术中基于interlaken重传协议提高interlaken接口数据传输的可靠性的方案相比,减少了资源开销,提升了系统性能。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1