CN110890936A - 一种码块生成方法、接收方法和装置 - Google Patents
一种码块生成方法、接收方法和装置 Download PDFInfo
- Publication number
- CN110890936A CN110890936A CN201811042289.8A CN201811042289A CN110890936A CN 110890936 A CN110890936 A CN 110890936A CN 201811042289 A CN201811042289 A CN 201811042289A CN 110890936 A CN110890936 A CN 110890936A
- Authority
- CN
- China
- Prior art keywords
- code
- code block
- unit
- block unit
- control
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0033—Systems modifying transmission characteristics according to link quality, e.g. power backoff arrangements specific to the transmitter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0015—Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0036—Systems modifying transmission characteristics according to link quality, e.g. power backoff arrangements specific to the receiver
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0071—Use of interleaving
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0072—Error control for data other than payload data, e.g. control data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0075—Transmission of coding parameters to receiver
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/351—Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Mobile Radio Communication Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Burglar Alarm Systems (AREA)
- Communication Control (AREA)
Abstract
公开了一种码块生成方法、接收方法和装置,所述码块生成方法包括:生成第一码块和第二码块,所述第一码块包括第一码块单元,所述第二码块包括第二码块单元,且所述第一码块单元中设置有第一指示位,所述第一指示位用于指示所述第二码块单元是否为控制码;发送所述第一码块和所述第二码块。本方法通过在第一码块中的码块单元上配置指示位来指示相邻码块是否为控制码,进而确定出控制码和数据码的边界,避免额外的指示信息指示,从而节约了指示信息的开销。
Description
技术领域
本申请涉及通信领域,尤其涉及一种码块生成方法、接收方法和装置。
背景技术
第五代通讯技术(5-Generation,5G)在业界已经开始广泛研究,标准组织3GPP定义了5G的三大场景:增强移动宽带(Enhance Mobile Broadband,eMBB)、大规模物联网(massive Machine Type of Communication,mMTC)和超高可靠低时延业务(Ultra-Reliability and Low-Latency Service,URLLC);分别聚焦3D/超高清视频等大流量移动宽带业务、大规模物联网业务、低时延和高可靠连接的业务(如无人驾驶、工业自动化)等。其中,一项重要的课题就是降低时延,并保证业务传输的可靠性和安全性。
目前,公开一种基于灵活以太网(Ethernet)物理层的比特码块(bit block)交换技术,简称X-E(X-Ethernet)技术,比如64B/66B类型码块,具备确定性超低时延的特性。该技术体系抽象为图1a和图1b所示的设备装置,其中,图1a表示一种网络边缘与用户连接的网络设备,例如运营商边缘路由器(Provider Edge,PE),该设备上配备有NNI侧和UNI侧的网络接口。图1b表示一种网络内的网络设备(Provider,P),该设备上仅配备NNI侧的网络接口。
参见图2,示出了一种采用X-E技术组建网络并转发数据流的示意图。其中,贯穿整个PE和P设备的实线路径为X-E端到端转发的路径。在该转发的路径中,利用L1.5层交换的码流被明确定义为64B/66B编码,码流类型如图3所示。其中,64B/66B编码将64bit数据或控制信息编码成66bit块传输,66bit块的前两位表示同步头,主要由于接收端的数据对齐和接收数据位流的同步。具体地,同步头包括“01”和“10”两种,“01”表示后面的64bit都是数据,“10”表示后面的64bit是数据和控制信息的混合,其中,紧挨着同步头的8bit是类型域,后面的56bit是控制信息或者数据或者两者的混合。
中国移动要求基于Flex E的新型接口和交换技术,简单来说就是L1.5层交换技术,其中,在L1.5层交换技术体系中的一个重要的课题是承载多业务。比如图4示出了一种典型的承载多业务类型及速率情况,由图4中可以看出,除了同步数字体系(SynchronousDigital Hierarchy,SDH)业务和光转换器单元(Optical Transponder Unit,OTUk)业务采用帧结构的数据流之外,其余业务的码流类型除64B/66B以外都是8B/10B的码流类型,因此,在多业务接入前,需要将这些8B/10B码流统一转换为标准的64B/66B编码码流,并根据转换后的64B/66B编码来确定控制信息和数据的边界。
目前,在识别转换后的64B/66B编码码流的控制信息和数据的边界时,需要通过额外的指示信息来指示,这额外的指示信息会占用一定比特资源、增加开销。
发明内容
本申请提供了一种码块生成方法,该方法可以省去额外指示信息的开销。具体地,公开了如下技术方案:
第一方面,本申请提供了一种码块生成方法,所述方法包括:适配单元生成第一码块和第二码块,其中,所述第一码块包括第一码块单元,所述第二码块包括第二码块单元,且所述第一码块单元中设置有第一指示位,所述第一指示位用于指示所述第二码块单元是否为控制码;发送所述第一码块和所述第二码块。
可选的,所述第二码块位于第一码块之后,或者位于第一码块之前;如果所述第二码块位于第一码块之后,则所述第一指示位用于指示当前第一码块的后一个码块,第二码块是否是控制码;如果所述第二码块位于第一码块之前,则所述第一指示位用于指示当前第一码块的前一个码块是否是控制码。
可选的,所述第一码块和和第二码块是相邻的两个码块,每个码块为64B/66B码块。
可选的,所述第一指示位用a表示,占用1比特空间。
本方面提供的方法,通过在第一码块中的码块单元上配置指示位来指示相邻码块是否为控制码,从而能够确定出控制码和数据码的边界,避免了通过额外的指示信息来指示,从而节约了指示信息的开销。
进一步地,如果所述第一指示位指示第二码块单元为控制码,则可以根据第二码块单元中设置的指示位来确定下一个码块是否为控制码;如果所述第一指示位指示第二码块单元不是控制码,即为数据码,则确定从第二码块单元开始为数据码,所述第二码块单元之前均为控制码,进而确定出控制码与数据码的边界。
结合第一方面,在第一方面的一种可能的实现中,所述第一码块中还包括第三码块单元,所述第三码块单元位于所述第一码块单元之前,所述第一码块单元中还设置有第二指示位,所述第二指示位用于指示所述第一码块单元之前的第三码块单元是否为控制码。
进一步地,如果第二指示位指示所述第三码块单元为控制码,则进一步根据第三码块单元中的指示位来确定前一个码块是否是控制码;如果第二指示位指示所述第三码块单元不是控制码,为数据码,则所述第三码块单元与所述第一码块单元之间的界限为数据码和控制码的边界。
可选的,所述第二指示位用b表示,占用1比特空间。
结合第一方面,在第一方面的另一种可能的实现中,所述控制码包括一个K码,或者由一个K码和至少一个D码组成;在所述第一码块单元为所述控制码的情况下,所述第一码块单元中还设置有第三指示位,所述第三指示位用于指示所述第一码块单元中的D码的个数。
可选的,所述D码为数据码,用于表示K码的类型,例如Di码,表示K码是IDLE控制码;Dt码,表示K码是T控制码。进一步地,所述K码的类型由原始码流决定,所述原始码块可以是6B/10B码块,或者10GBASE-R的64B/66B码流,本申请实施例对此不予限制。
可选的,所述D码的个数可通过码块单元的长度表示,例如在Fibre Channel业务下,控制码均以4byte为单元,即32比特,结构为K+D+D+D,则D码的个数为3,每个D码为8比特的码块单元。
可选的,所述第一码块单元中的D码的个数用cc表示,占用2比特空间。
结合第一方面,在第一方面的又一种可能的实现中,所述第二码块中还包括第四码块单元,所述第四码块单元位于所述第二码块单元之后,所述第二码块单元中设置有至少一个指示位,所述至少一个指示位用于指示所述第四码块单元是否为控制码、指示所述第一码块单元是否为控制码;以及,在所述第二码块单元为控制码的情况下,所述至少一个指示位还用于指示所述第二码块单元中的D码的个数。
进一步地,所述至少一个指示位包括第一指示位,用于指示当前码块单元的下一个码块单元是否为控制码;包括第二指示位,用于指示当前码块单元的前一个码块单元是否为控制码;还包括第三指示位,用于指示组成控制码的码块单元中D码的个数。
本实现方式中,通过在码块单元中配置至少一个指示位,来指示当前码块单元的前后码块单元是否为控制码,以及控制码的D码长度,进而通过每个码块单元的上指示位的逐级指示确定出控制码和数据码的边界,避免了额外信息的开销。
结合第一方面,在第一方面的又一种可能的实现中,所述生成第一码块和第二码块,包括:获取第一码流,所述第一码流中包括控制码;对所述第一码流中的控制码进行压缩,并在压缩后的码块的剩余空间内设置第一指示位,生成所述第一码块和所述第二码块。
可选的,所述第一码流可以是8B码流,所述8B码流是从8B/10B码流中的10B码流转换而来的;或者,所述第一码流还可以是10GE业务的64B/66B码流。
结合第一方面,在第一方面的又一种可能的实现中,所述第一码流的控制码中包括至少一个8比特的码块单元,对所述第一码流中的控制码进行压缩,并在压缩后的码块的剩余空间内设置第一指示位,生成所述第一码块和所述第二码块,包括:对所述第一码流中的一个8比特的码块单元进行压缩,得到N比特剩余空间,N≤8;在所述N比特的剩余空间内设置所述第一指示位,并填充成一个8比特的K码;根据所述8比特的K码生成所述第一码块,以及所述第二码块。
可选的,在一种可能的实现方式中,将原始的8B码流中的控制码压缩为多个码块单元,每个码块单元由原来的8比特压缩为4比特,并剩余4比特空间用于配置第一指示位、第二指示位和第三指示位。
其中,所述第一指示位和第二指示位各占用1比特,第三指示位占用2比特,形成一个K码,所述K码为8比特的码块单元;此外,压缩前的控制码还可以包括若干个D码,例如在一种业务下,控制码由一个K码和3个D码组成,每个D码为8比特,且该一个K码与3个D码组成的控制码为一个码块单元。
本实现中,先将10B码流译码为8B码流得到第一码流,可以节约20%固定开销,然后对第一码流的控制码进行压缩,压缩后在剩余空间配置指示位,该指示位以用于指示相邻码块之间的控制码和数据码情况,进而节约了指示信息的开销,提高了转码效率。
此外,在本实现中,码块装载的利用率相对于D码块透明承载提高了25%,且8B/10B码流的控制码和数据码的边界不需要重新恢复,通过控制码压缩后剩余码块开销指示,逐级关联相邻码块的方式,进而识别出整个码流特征及含义。
结合第一方面,在第一方面的又一种可能的实现中,
所述第一码块为T7码块,所述第二码块为D码块;
或者,所述第一码块为S0码块,所述第二码块为D码块;
或者,所述第一码块为O码块,所述第二码块为D码块;
或者,所述第一码块为IDLE码块,所述第二码块为D码块;
其中,所述T7码块、S0码块、O码块和IDLE码块为控制码,所述D码块为数据码。
可选的,所述第一码块也可以为D码块,所述第二码块为控制码,例如T7码块、S0码块等,本申请对此不予限制。
可选的,还可以包括第三码块、第四码块等更多的码块,且这些码块组成的码流包括但不限于:S0码块+D码块、D码块+T码块、O码块+D码块、S0码块+D码块+T码块等各种形态。
可选的,所述第一码块为T7码块,所述第二码块为S0码块,上述方法还包括:生成第三码块,所述第三码块为D码块。
可选的,在所述第一码块为T7码块,所述第二码块为D码块的情况下,所述方法还包括:将所述D码转码为S0码块,所述SO码块中包括:一个类型域,一个K码的码块单元和至少一个包括D码的码块单元。
其中,所述包括K码的码块单元是,原所述D码块的由一个K码和至少一个D码组成的所有码块单元进行压缩后生成的一个码块单元,且所述K码的码块单元中包括至少一个指示位。S0码块的类型域为“0x78”字段或者码块单元。
例如,对原始码流中的IDLE码块进行了压缩生成一个码块单元,该码块单元是由原始码流中的4个控制码的码块单元压缩而成,所述压缩后生成的码块单元位于所述类型域“0x78”字段之后,且包括第一指示位、第二指示位和第三指示位,进一步地,所述第一指示位用于指示当前码块单元的后一个码块单元为数据码;第二指示位用于指示当前码块单元的前一个码块单元是控制码;第三指示位用于指示当前码块单元是通过4个原始码流的IDLE码压缩而成。
本实现方式中,通过进一步地对原码流中的IDLE码块进行了压缩,从而将转码后的码流压缩到小于原始码流带宽,以便适用于某些具体场景对异步组网系统100ppm频偏以及带宽内OAM等开销特性的支持。
第二方面,本申请还提供了一种码块接收方法,该方法用于接收第一码块和第二码块,并识别码流中数据码和控制码的边界,具体地,所述方法包括:适配单元接收第一码块和第二码块,所述第一码块包括第一码块单元,所述第二码块包括第二码块单元,且所述第一码块单元中设置有第一指示位;根据所述第一指示位的指示确定所述第二码块单元是否为控制码。
可选的,根据所述第一指示位的指示确定所述第二码块单元是否为控制码,包括:如果第一指示位指示第二码块单元为控制码,可以根据第二码块单元中设置的指示位来确定下一个码块是否为控制码;如果所述第一指示位指示第二码块单元不是控制码,即为数据码,则确定从第二码块单元开始为数据码,所述第二码块单元之前均为控制码,进而确定出控制码与数据码的边界。
结合第二方面,在第二方面的一种可能的实现中,所述第一码块中还包括第三码块单元,所述第三码块单元位于所述第一码块单元之前,所述第一码块单元中还设置有第二指示位,所述方法还包括:根据所述第二指示位的指示确定所述第一码块单元之前的第三码块单元是否为控制码。
可选的,根据所述第二指示位的指示确定所述第一码块单元之前的第三码块单元是否为控制码,包括:如果第二指示位指示所述第三码块单元为控制码,则进一步根据第三码块单元中的指示位来确定前一个码块是否是控制码;如果第二指示位指示所述第三码块单元不是控制码,为数据码,则所述第三码块单元与所述第一码块单元之间的界限为数据码和控制码的边界。
结合第二方面,在第二方面的另一种可能的实现中,所述控制码包括一个K码,或者由一个K码和至少一个D码组成;所述方法还包括:在确定所述第一码块单元为所述控制码的情况下,根据所述第一码块单元中的第三指示位确定所述第一码块单元中的D码的个数。
可选的,如果发送端和接收端已经预先约定码块单元的长度,或者在特定业务条件下,例如Fibre Channel业务下,则不需要第三指示位来指示,就可以确定出D码的个数或长度。
结合第二方面,在第二方面的又一种可能的实现中,所述第二码块中还包括第四码块单元,所述第四码块单元位于所述第二码块单元之后,所述第二码块单元中设置有至少一个指示位,所述方法还包括:根据所述第二码块单元中的至少一个指示位确定所述第四码块单元是否为控制码、以及所述第一单元码块是否为控制码。
结合第二方面,在第二方面的又一种可能的实现中,所述根据所述第一指示位的指示确定所述第二码块单元是否为控制码,包括:如果所述第一指示信息指示所述第二码块单元不是控制码,则从所述第二码块单元开始为数据码。
另外,可选的,如果第一指示信息指示的码块单元是控制码,则进一步判断所述第二码块单元中的指示位是否指示下一个码块单元为控制码,以此类推,直到指示不是控制码为止,进而能够确定出控制码和数据码的边界。
可选的,上述第一指示位、第二指示位和第三指示位可以通过压缩后的剩余空间承载,例如,原始8B码流中控制码的一个8比特码块单元压缩成4比特,剩余4比特空间用于设置三个指示位,共占用4比特,最后生成一个8比特的K码;此外,填充的D码也都可以是8比特的码块单元,且每个D码用于指示对应K码的类型,所述D码的个数可以是0或者是1,3,7。
第三方面,本申请还提供了一种码块生成装置,所述装置可以是一种适配单元,例如uAdpt单元,其中,所述装置中包括用于执行上述第一方面以及第一方面的各种实现方式中方法步骤的单元。
具体地,所述装置包括获取单元、处理单元和发送单元,此外,还可以还包括存储单元等其他单元或模块。
第四方面,本申请还提供了一种码块接收装置,所述装置可以是一种适配单元,例如uAdpt单元,其中,所述装置中包括用于执行上述第二方面以及第二方面的各种实现方式中方法步骤的单元。
具体地,所述装置包括获取单元、处理单元和发送单元,此外,还可以还包括存储单元等其他单元或模块。
需要说明的是,本申请第三方面所述的码块生成装置和第四方面所述的码块接收装置可以是同一个装置,例如uAdpt单元;也可以是不同的装置。
第五方面,本申请还提供了一种网络设备,所述网元设备可以是PE或者P,还可以是分组承载设备,进一步地,所述网络设备包括接口板主控交换板,其中,所述接口板中包括用户侧处理芯片,该用户侧处理芯片用于实现上述第一方面或第二方面以及各种实现所述的码块生成、码块接收方法。
可选的,所述用户侧处理芯片可以设置或集成在用户侧时频单元uAdpt中。
可选的,所述用户侧处理芯片中还包括存储器或存储单元,用于存储一个或多个计算机指令。
第六方面,本申请还提供了一种计算机存储介质,该计算机存储介质可存储有程序,该程序执行时可实现上述各个方面中,包括本申请提供的码块生成、码块接收方法各实施例中的部分或全部步骤。
第七方面,本申请还提供了一种计算机程序产品,所述计算机程序产品包括一个或多个计算机指令,例如码块生成指令、码块发送指令、码块接收指令。在计算机加载和执行所述计算机程序时,可实现包括本申请提供的码块生成、码块接收方法各实施例中的部分或全部步骤。
本申请提供了一种码块生成方法和装置,通过生成具有特定码块结构的码流,该码流中包括第一码块和第二码块,且每个码块中都配置有至少一个指示位,来指示相邻码块单元是否为控制码,从而确定出原始码流中控制码与数据码的边界,节约了额外指示信息的开销。
附图说明
图1a为本申请提供的一种网络边缘与用户连接的网络设备PE的结构示意图;
图1b为本申请提供的一种网络内的网络设备P的结构示意图;
图2为本申请提供的一种采用X-E技术组建网络并转发数据流的示意图;
图3为本申请提供的IEEE802.3规范的64B/66B Block类型编码的示意图;
图4为本申请提供的一种典型的多业务类型及码流类型的示意图;
图5为本申请实施例提供的一种适配单元的结构示意图;
图6为本申请实施例提供的另一种适配单元的结构示意图;
图7为本申请实施例提供的一种8B/10B对应关系的示意图;
图8为本申请实施例提供的一种8B/10B典型码流的结构示意图;
图9a为本申请实施例提供的一种T7码块的结构示意图;
图9b为本申请实施例提供的一种S0码块的结构示意图;
图9c为本申请实施例提供的一种D码块的结构示意图;
图9d为本申请实施例提供的一种O码块的结构示意图;
图9e为本申请实施例提供的一种IDLE码块的结构示意图;
图10为本申请实施例提供的一种码块生成方法的流程图;
图11a为本申请实施例提供的一种码块结构的示意图;
图11b为本申请实施例提供的另一种码块结构的示意图;
图11c为本申请实施例提供的又一种码块结构的示意图;
图11d为本申请实施例提供的又一种码块结构的示意图;
图11e为本申请实施例提供的又一种码块结构的示意图;
图11f为本申请实施例提供的又一种码块结构的示意图;
图11g为本申请实施例提供的又一种码块结构的示意图;
图11h为本申请实施例提供的又一种码块结构的示意图;
图11i为本申请实施例提供的又一种码块结构的示意图;
图11j为本申请实施例提供的又一种码块结构的示意图;
图12为本申请实施例提供的一种10B码流转码为64B/66B码流的处理流程示意图;
图13为本申请实施例提供的一种10B码流转码为8B码流的处理流程示意图;
图14为本申请实施例提供的一种GE业务8B/10B转码为64B/66B码流的处理流程示意图;
图15为本申请实施例提供的一种64B/66B码流的码块结构转换的处理流程示意图;
图16为本申请实施例提供的一种Fibre Channel业务8B码流转码为64B/66B码流的处理流程示意图;
图17为本申请实施例提供的一种Fibre Channel业务8B码流转码为64B/66B码流的局部处理流程示意图;
图18a为本申请实施例提供的一种10GBASE-R 64B/66B编码的示意图;
图18b为本申请实施例提供的一种100GBASE-R 64B/66B编码的示意图;
图18c为本申请实施例提供的一种10GE业务的64bit码块单元的结构示意图;
图19为本申请实施例提供的一种10GBASE-R 64B/66B码流转码为100GBASE-R64B/66B的处理流程示意图;
图20为本申请实施例提供的一种码块生成装置的结构示意图;
图21为本申请实施例提供的一种码块接收装置的结构示意图;
图22为本申请实施例提供的一种分组承载设备的结构示意图;
图23为本申请实施例提供的用户侧处理芯片的结构示意图。
具体实施方式
在对本申请实施例的技术方案说明之前,首先对本申请涉及的名词进行介绍。
以太网(Ethernet)是一种基带局域网规范,是当今现有局域网采用的最通用的通信协议标准。
灵活以太网(Flexible Ethernet,FlexE)是实现业务隔离承载和网络分片的一种接口技术,近两年发展迅速,被各大标准组织广泛接纳。
泛在以太网(X-Ethernet,X-E)是一种基于Ethernet物理层的比特码块(BitBlock)交换的技术体系,具备确定性超低时延的特征,X-E所采用的编码类型可以为64B/66B编码类型等。
M/N Bit Block编码
M/N Bit Block编码是指M个净荷Bit、N个总Bit的编码类型,其中,N个总Bit包括M个净荷Bit和若干个同步Bit,即M/N Bit Block中的M≤N。在Ethernet物理层链路传递的就是M/N Bit Block流,比如1G Ethernet采用8B/10B编码,1GE物理层链路传递的就是8B/10B码块流;10GE/40GE/100GE Ethernet采用64B/66B编码,10GE/40GE/100GE Ethernet物理层链路传递的就是64B/66B码块流。未来随着Ethernet技术的发展,也会出现其他编码类型,比如可能出现128B/130B、256B/257B编码等可能的编码方案。
非M/N Bit Block编码
非M/N Bit Block编码是指采用的编码技术不是M/N Bit Block编码,而是采用业务帧(Frame)等其他编码方法,比如同步数字体系(Synchronous Digital Hierarchy,SDH)或光传送网(Optical Transport Network,OTN)等。
下面,对本申请的技术方案的应用场景和系统架构进行详细介绍。
本申请各实施例提供的技术方案基于FlexE的端到端组网技术,下文简称为X-E。
例如,以本申请提供的业务传输方法应用于基于X-E技术传输业务信号的场景为例,包括至少两个网络设备,比如第一网络设备和该第二网络设备。其中,所述第一网络设备和第二网络设备可以为X-E组网中的PE或P。
其中,PE为网络边缘与用户设备连接的网络设备,如图1a所示,X-E组网中的PE可以包括用户侧适配单元(uAdpt)、交换单元(Switch)和网络侧适配单元(nAdpt)。
其中,uAdpt包括部署在网络入口的uAdpt,简称uAdpt(i),以及部署于网络出口的uAdpt,简称uAdpt(e)。uAdpt(i)用于实施低速业务信号或低速管道的适配和交织工作,以将业务信号接入到FlexE高速管道,uAdpt(e)用于完成从FlexE高速管道恢复出低速业务信号或低速管道的解交织和适配等功能。
nAdpt主要用于完成FlexE管道复用到FlexE SHIM经过FlexE接口传送,或者从FlexE接口的FlexE SHIM恢复出FlexE管道。本申请各个实施例中,可以通过PE中的uAdpt或nAdpt实现将接收到的N路业务信号复用传输,或者实现从复用形成的一路业务信号中恢复出原来的N路业务信号。实际应用中,可以通过在uAdpt或nAdpt中部署控制单元实现本申请的方法,该控制单元可以为软件、可编程器件或集成电路等,例如,该集成电路可以为专用集成电路(Application Specific Integrated Circuit,ASIC)等。
图1b是本申请提供的一种X-E组网中的P的结构示意图,如图1b所示,X-E组网中的P可以包括两侧的nAdpt和中间的Switch。本申请中,可以通过P中的nAdpt实现将接收到的N路业务信号复用传输,或者实现从复用形成的一路业务信号中恢复出原来的N路业务信号。实际应用中,可以通过在nAdpt中部署控制单元实现本申请的方法,该控制单元可以为软件、可编程器件或集成电路等,例如,该集成电路可以为ASIC等。
其中,图1a所示的PE设备中,一个用户侧接口(User network interface,UNI)用于连接网络设备和用户设备;PE设备的一个接口(Network to Network interface,NNI)用于连接网络之间或网络内的设备。图1b所示的P设备中,两个接口NN1均用于连接网络内的各个设备。
如图2或图5所示,原始8B/10B码流经过PE1设备的uAdpt后,将原始8B/10B码流转码为64B/66B码流,然后该64B/66B码流再经过L1.5层交换单元和nAdpt输入至P设备,经过P设备后再输入至PE2设备,最后通过PE2设备的nAdpt将64B/66B码流转换为8B/10B码流,对外输出至用户设备。
其中,参见图5,为本实施例提供的一种用户侧适配单元的结构示意图,该用户侧适配单元可以是uAdpt,进一步地,该uAdpt包括物理层(Physical,PHY)和编码(encoding,ENC)单元,其中,ENC单元用于将输入的8B/10B码流转换为64B/66B编码码流,并传输给X-E交换单元。
参见图6,为本实施例提供的一种网络侧适配单元的结构示意图,该网络侧适配单元可以是nAdpt,进一步地,该nAdpt包括物理层(Physical,PHY)和解码(decoding,DEC)单元,其中,DEC单元用于将网络内设备输入的64B/66B码流转换为8B/10B编码码流,并对外输出。
本申请为解决将8B/10编码的码流转换为100GE标准的64B/66B码流时,需要配置额外的指示信息来指示控制码和数据码,导致额外开销的技术问题。
在介绍本申请的技术方案之前,首先,对8B/10编码的码流特点做简单的介绍。
8B/10B,也叫做8字节/10字节或8B10B。8B/10B编码是目前高速串行通信中经常用到的一种编码方式,其目的是通过将一个字节宽度的数据经过映射机制转化为10位宽度的字符,来平和位流中0与1的个数,也就是达到平衡直流的作用。由于直接将8bit数据编码成10bit来传输在实现上将占用芯片的大片物理面积,并且严重影响数据的传输效率,所以目前大都采用将一串8位二进制数分为低5位和高3位,然后对低5位进行5B/6B编码,对高3位进行3B/4B编码,最后再将6为和4位合在一起编码,这样不仅减少芯片占用面积,而且还简化了编码,提高了数据的传输效率。
如图7所示,一般地,用字符HGFEDCBA来表示编码前的8位二进制数,则低5位就是EDCBA,高3位就是HGF。5B/6B编码后6位二进制的表示方式为abcdei,而3B/4B编码后4位二进制数的表示方式为fghj,最后合成的十位二进制数为abcdeifghj。通常,人们习惯将8bit数据表示成“Dx.y”的形式,而控制码用“Kx.y”的形式,其中,D表示为数据代码,K表示为特殊的命令代码,x表示输入的原始数据的低5位EDCBA,y表示输入的原始数据的高3位HGF。进一步地,x=5LSB(least significant bit为最低有效位),y=3MSB(most significantbit为最高有效位)。
其中,8B/10B编码是目前许多高速串行总线采用的编码机制,如USB3.0、1394b、Serial ATA、PCI Express、Infini-band、Fiber Channel、RapidIO等总线或网络等。
在本申请的各个实施例中,根据以太网(Ethernet,ETH)和光纤通道(FibreChannel,FC)业务等典型的8B/10B编码业务在译码后得到的8B码流特性包括:
如图8所示,8B业务码流可以看成是一串连续控制码和连续数据码的交织发送。其中,业务中承载的净荷区(payload)为D码流,即数据码流,其他包括IDLE(简称为“I”)在内的为C码流,即控制码流。
另外,如图8所示,一种帧(frame)的结构可以由S码、D码、T码和R码组成,其中D码为数据码,其它码块(block)为控制码。
目前的一种控制码编码类型和编码方式如表1所示。
表1
表1所示的控制码流中,吉比特以太网(Gigabit Ethernet,GE)协议中定义的控制码类型只有/C/、/I/、/R/、/S/、/T/、/V/、/LI/这7种类型。进一步地,根据有序集(OrderedSet)的内容,配置码(Configuration,C)包括配置码C1和配置码C2,其中,配置码C1对应的编码(Encoding)为K28.5和D21.5;配置码C2对应的编码为K28.5和D2.2。空闲码(IDLE,I)可包括空闲码I1和空闲码I2,分别可以编码为K28.5/D5.6,和,K28.5/D16.2。其余控制码的有序集可参见表1所示的编码规则,本实施例不逐一举例。
由于Ethernet和Fibre Channel业务8B/10B码流的控制码类型有限,典型结构为K码+D码*n(n<4),n表示D码的数量。目前,8B/10B编码规范中定义的控制码“K码”类型总共有12种,分别为:K28.0、K28.1、K28.2、K28.3、K28.4、K28.5、K28.6、K28.7、K23.7、K27.7、K29.7和K30.7,如表2所示,进而可以通过对上述有限个K码进行重新编码,比如压缩处理,得到剩余部分空间用于指示码流类型或者指示控制码与数据码的边界。
表2
下面对本申请提供的技术方案进行详细地说明。本申请实施例提供了一种转码方法,可以将原始的8B/10B码流转换为预定结构的64B/66B码流,不仅能够节约指示原始码流中控制码与数据码边界的指示信息,还能包括码块的透明性,所述码块的透明性可以理解为,转码前后的码块中所承载的内容信息不变,且能够被收发两端识别。
具体地,本申请各个实施例提供的技术方案,首先将8B/10B码流中的10B编码转换为8B编码,以便消除了10B编码方式带来的20%固定开销,然后再将上述转码后的8B码流填充到64B/66B码流中的64B码块中,从而达到高效转码,节约开销。
另外,为了达到换码后的信息能够被识别,即达到码块透明的效果,还建立了一种将8个连续8比特码块单元映射到1个64比特码块单元的对应关系,并通过在每个码块单元上配置指示位,来指示相邻码块的控制码或数据码情况,从而实现了不增加额外开销的情况下,确定原始码流中数据码和控制码的边界。
其中,根据图3所示的64B/66B编码选取特定结构的码块,来配置指示位,建立8个8比特与1个64比特码块之间的映射关系。具体地,如图9a至9e所示,例举了5中固定66B比特的码块结构,其中,包括T7码块(如图9a)、S0码块(如图9b)、O码块(如图9d)、IDLE码块(如图9e)和D码块(如图9c)。
进一步地,T7码块、S码块、O码块和IDLE码块为控制码,并通过同步头(sync)“10”2比特指示,“10”表示后面的64bit是数据和控制信息的混合,所述数据可以通过数据码(简称“D码”)承载;所述控制信息可以通过控制码(简称“K码”)承载,其中,紧挨着同步头的8bit表示类型域,后面的56bit是控制码、数据码或者两者的混合。
例如上面表1所示,C码流中的控制码I中承载有控制信息和数据两者的混合,进一步地,控制码I可以由编码K28.5/D5.6,或,K28.5/D16.2组成。K28.5承载控制信息,可称为控制码或者称为“K”码;D5.6或D16.2承载数据,可称为数据码或者称为“D”码。即控制码I可以表示为“K码+D码”的结构。同理地,同步头“01”表示该码块是数据码,同步头“01”之后的64比特均承载的是数据,可称为数据码或D码。
需要说明的是,在本申请各个实施例中,所述“K码+D码”结构的控制码,或者由一个K码与多个D码组成的控制码,这些D码与K码之间的界限为“小边界”;在图8所示的原始码流中,D码流与C码流之间的界限称为“大边界”,D码流中包括多个8比特的数据码,C码流中包括不同类型的控制码,本申请各个实施例中,如不特殊说明,“所述确定控制码与数据码之间的边界”是指确定D码流与C码流之间的“大边界”。
本实施例提供了一种码块生成方法,该码块可以节省原码流中指示信息的开销,该方法可以由适配单元,例如uAdpt来执行,或者由包括适配单元的其它网元设备来执行,例如接口板中的接口芯片等,本申请实施例对此不予限制。
具体地,如图10所示,该方法包括以下步骤:
步骤101:生成第一码块和第二码块,其中,所述第一码块包括第一码块单元,所述第二码块包括第二码块单元,且所述第一码块单元中设置有第一指示位,所述第一指示位用于指示所述第二码块单元是否为控制码。
步骤102:发送所述第一码块和所述第二码块。
可选的,所述第一码块与第二码块的位置包括以下关系:如图11a所示,第一码块位于第二码块之前;和,如图11b所示,第一码块位于第二码块之后。
可选的,所述第一指示位用“a”表示,占用1比特。所述第一码块单元由N个8比特组成,N大于等于1,且为正整数。同理地,所述第二码块单元也由N个8比特组成,N大于等于1。
参见图11a,第一码块位于第二码块之前,则第一码块单元中的第一指示位a用于指示后一个码块的第二码块单元是否为控制码;参见图11b,第一码块位于第二码块之后,则所述第一指示位a用于指示前一个码块的第二码块单元是否为控制码。
具体地,一种可能的指示方式是,如果第一指示位a的内容为“1”,则表示其指示的码块单元为控制码;如果第一指示位a的内容为“0”,则表示其指示的码块单元为数据码,即D码流中的数据码。
其中,所述第一码块和第二码块可以相邻,也可以不相邻。
可选的,所述第一码块和第二码块均为64B/66B码块,并且,所述第一码块和第二码块中还可以包括其它码块单元。
在本实施例的一种可能的实现方式中,所述第一码块中还包括第三码块单元,所述第三码块单元位于第一码块单元之前,如图11c所示,该第一码块单元中还设置有第二指示位,所述第二指示位用于指示所述第一码块单元之前的第三码块单元是否为控制码。
可选的,如图11d所示,第三码块单元还可以设置在第一码块单元之后,第二指示位用于指示第三码块单元是否为控制码。
可选的,第二指示位用“b”表示,占用1比特。
在本实施例的另一种可能的实现方式中,对于第一码块和第二码块而言,均可以是数据码,或者由数据和控制信息的混合的控制码,例如该控制码包括一个K码,或者由一个K码和至少一个D码组成;所述D码为数据码,用于表示K码的类型,例如Di码,表示K码是IDLE控制码。在所述第一码块单元为控制码的情况下,所述第一码块单元中还设置有第三指示位,所述第三指示位用于指示第一码块单元中的D码的个数。
可选的,如图11e所示,第三指示位用于指示第一码块单元中的D码的个数为一个。此外,还可以是0,1,3,7。
可选的,第三指示位用“cc”表示,占用2比特。
可选的,结合图11a所示的结构,本实施例还提供了一种码块结构,如图11f所示,包括第一码块和第二码块。其中,第一码块中包括第一码块单元,第二码块中包括第二码块单元。第一码块单元中包括:控制码K码和数据码D码,其中,在控制码K码中设置有第一指示位a和第三指示位cc,所述第一指示位a用于指示第二码块单元是否为控制码,所述第三指示位cc用于指示第一码块单元中D码的个数(或长度)。本例中,第一码块单元中的D码个数为1。
在本实施例的又一种可能的实现方式中,在上述的码块结构基础上,第二码块中还包括第四码块单元,所述第四码块单元位于所述第二码块单元之后,并且,第二码块单元中设置有至少一个指示位,所述至少一个指示位用于指示所述第四码块单元是否为控制码、指示所述第一码块单元是否为控制码;以及,在所述第二码块单元为控制码的情况下,所述至少一个指示位还用于指示所述第二码块单元中的D码的个数。
进一步地,包括以下各种情况:
情况一:
如图11g所示,在本实施例的一种码块结构中,所述第二码块包括:第二码块单元和第四码块单元,且第二码块单元中包括指示位a,b和cc;进一步地,第二码块单元中的指示位a用于指示第一码块单元是否为控制码,指示位b用于指示第二码块单元中D码的个数,指示位cc用于指示第四码块单元是否为控制码。
情况二:
如图11h所示,在本实施例的另一种码块结构中,所述第二码块包括:第二码块单元和第四码块单元,且第二码块单元中包括指示位a,b和cc;所述第一码块中包括第一码块单元,且所述第一码块单元由一个控制码K码和一个数据码D码组成,且所述控制码K码中设置有第一指示位a。
情况三:
如图11i所示,在本实施例的又一种码块结构中,第二码块的结构与图11g和11h的结构相同,不再赘述。第一码块中包括第一码块单元和第三码块单元,其中第一码块单元中包括:第一指示位a和第二指示位b,且第一指示位a用于指示第二码块单元是否为控制码,第二指示位b用于指示第三码块单元是否为控制码。
情况四:
如图11j所示,在本实施例的又一种码块结构中,第二码块的结构与图11g至11j的结构相同,不再赘述。区别在于,第一码块中包括第一码块单元,且第一码块单元由一个K码和至少一个D码组成,进一步地,在K码中设置有第一指示位a和第三指示位cc,且第一指示位a用于指示第二码块单元是否为控制码,第三指示位cc用于指示第一码块单元中D码的个数,本实施例中,D码个数为一个。
需要说明的是,上述各种情况中,由于第二码块单元中的第二指示位b用于指示前一个码块的第一码块单元是否为控制码,且第一码块单元由一个K码和至少一个D码组成,因为生成的第一码块单元中的最后一个单元为K码,用于承载至少一个指示位。例如,如果第一码块是T7控制码块,则将T7码块的最后一个位置“D6”设置成K码,对应地与数据码D进行位置调换,使得第二码块单元中的第二指示位b指示第一码块单元为控制码。
另外,在本实施例的各种码块结构中,还可以生成更多的码块,例如第三码块,第四码块等,且每个码块都可以包括至少一个码块单元,并且每个码块单元中均可以配置指示位,来逐级指示相邻码块单元是否为控制码,最终能够确定出原始码流的控制码与数据码的大边界。
本实施例仅列举了第一码块和第二码块,以及第一码块中第一码块单元和第三码块单元,第二码块中第二码块单元和第四码块单元的指示位的配置和指示情况,如果生成其它码块,例如第三码块和第四码块等,具体生成码块的结构和配置指示位的情况,可以参考上述第一码块和第二码块的生成方法和指示情况,本实施例不一一举例。
可选的,在上述步骤101中,所述生成第一码块和第二码块,包括:获取第一码流,所述第一码流中包括控制码;例如,所述第一码流为8B码流;对第一码流中的控制码进行压缩,并在压缩后的码块的剩余空间内设置第一指示位,生成所述第一码块和所述第二码块。
其中,所述第一码流的控制码中包括至少一个8比特的码块单元。
进一步地,对所述第一码流中的控制码进行压缩,并在压缩后的码块的剩余空间内设置第一指示位,生成所述第一码块和所述第二码块,包括:对所述第一码流中的一个8比特的码块单元进行压缩,得到N比特剩余空间,N≤8;在所述N比特的剩余空间内设置所述第一指示位,并填充成一个8比特的K码;根据所述8比特的K码生成所述第一码块,以及所述第二码块。
可选的,在生成8比特的K码过程中,还可以设置第二指示位和第三指示位。
同理地,生成的第二码块中,第二码块单元的K码中也可以设置至少一个指示位,以便指示相邻码块单元是否为控制码。
如图12所示,上述对码块进行压缩生成第一码块和第二码块的方法,具体包括:
第一步:获取第一码流,所述第一码块可以是原始8B/10B码流,且该原始8B/10B码流中包括数据码D码和控制码,比如控制码类型T/R/I/S码等。
将原始8B/10B码流译码为8B码流,并生指示信息,所述指示信息用于指示所述8B码流中控制码块和数据码块。
如图13所示,根据8B/10B码流编码规则,将原始10B码流Tx_10b[9:0]译码为8B码流Tx_8b[7:0]和1bit的指示信息Tx_en,通过这种方式,可以消除10B编码的固定25%额外开销。
此外,根据低速Ethernet和Fibre Channel等典型的8B/10B编码业务特点,业务码流都是由一串连续控制码块和一串连续数据码块交织发发送组合而成。其中,所有的控制码都是由K码+D码*n(n<4)构成。
在一种典型的GE业务流下,控制码T、R、S分别通过/K29.7/、/K23.7/、/K27.7/指示,图13中分别通过Kt、Kr和Ks表示;控制码I通过/K28.5/D5.6/或/K28.5/D16.2/指示,图中分别通过Ki+Di表示。
如图12所示,方法还包括:
第二步:对译码后的8B码流中的控制码进行压缩,得到中间态码流结构。
具体地,根据8B/10B码流中定义的12种K码类型,将8B码流中的K码压缩为4bit指示,如KtC/KrC/KiC/KsC等。其中,KtC/KrC/KiC/KsC各占4比特,剩余的高4比特可用于配置其它信息,来指示其它含义,使得最终每个码块单元的大小均为8比特。
进一步地,所述剩余高4bit保留用作其他含义的指示位,如图12所示,压缩后剩余的高4bit可以按照指示位a、b和cc来配置,例如,配置“a”和“b”各为1比特,“cc”为2比特的指示位,通过这三个指示位可以将8B码流指示位Tx_en在8B码流的带宽上承载,进而节省了指示信息的开销。
可选的,配置各个指示位的含义如下:
第一指示位a:1bit,用于指示当前码块单元的后一个码块单元是否为控制码。
如果第一指示位a是“1”,则表示当前码块单元的后一个码块单元是控制码;如果是“0”,则表示所述后一个码块单元不是控制码,是数据码D码。
第二指示位b:1bit,用于指示当前码块单元的前一个码块单元是否为控制码。
如果第二指示位b是“1”,则表示当前码块单元的前一个码块单元是控制码;如果是“0”,则表示所述前一个码块单元不是控制码,是数据码D码。
第三指示位cc:2bit,用于指示当前码块单元的长度,或者指示第三指示位所在的码块单元中D码的个数。
一般地,控制码由K码,或者一个K码和n个D码组成,D码的个数与第三指示位cc满足以下关系式:n=2cc-1
其中,1表示K码占用一个8比特码块单元,根据该关系式可得表3
第三指示位cc | n(D码个数) | 码块单元的结构(码) |
0 | 0 | K |
1 | 1 | K+D |
2 | 3 | K+D+D+D |
3 | 7 | K+D+D+D+D+D+D+D |
表3
参见表3,当第三指示位cc取值分别为0、1、2、3时,对应的D码个数分别为0、1、3、7。
在压缩后的剩余4比特空间配置每个码块的指示位a,b和cc,用于关联和指示相邻码块单元的控制码或数据码情况。
第四步:根据64B/66B码流中的特定码块结构,将所述压缩态码流的各指示位映射在对应的特定码块结构中,形成100GE标准的64B/66B码流。
其中,所述100GE标准的64B/66B码流中包括至少两个码块,例如第一码块和第二码块,每个码块都为64比特长度,进一步地,所述第一码块和第二码块包括但不限于以下各种情况:
第一码块为T7码块,第二码块为D码块;
或者,第一码块为S0码块,第二码块为D码块;
或者,第一码块为O码块,第二码块为D码块;
或者,第一码块为IDLE码块,第二码块为D码块;
其中,所述T7码块、S0码块、O码块和IDLE码块为控制码,所述D码块为数据码。
另外,需要说明的是,所述第一码块还可以为D码块,第二码块可以为T7码块、S0码块、O码块和IDLE码块中的任意一种控制码,或者还可以是其它类型码块,本申请实施例对第一码块和第二码块的码块结构不做具体限制。
需要说明的是,本申请实施例生成的64B/66B码流中的码块结构,包括但不限于S0+D、D+T、O+D以及S0+D+T等各种码块结构,本实施例中只是列举了其中某些较常见的情况,还可以包括其它组合情况,本申请对此不予限制。
本实施例提供的方法,通过生成具有特定码块结构的码流,该码流中包括第一码块和第二码块,且每个码块中都配置有至少一个指示位,来指示相邻码块单元是否为控制码,从而确定出原始码流中控制码与数据码的边界,节约了额外指示信息的开销。
例如图12所示,第一码块为T7码块,第二码块为D码块,且第一码块中包括:两个8比特的数据码和若干个码块单元。进一步地,T7码块的类型域0xFF替换压缩态码流中控制码的第一个码块单元“a,b,cc,KtC”,如箭头所示,对应于原始10B码流中的控制码T;压缩态码流中的第二个码块单元“a,b,cc,KrC”被配置在T7码块中的D2位置,对应于原始10B码流中的控制码R;第三个码块单元包括一个K码和一个D码,所述K码为“a,b,cc,KiC”,所述D码为“Di”,对应于原始10B码流中的控制码IDLE;同理地,其余原始10B码流中的控制码IDLE都被压缩和配置为一个K码和一个D码组成的码块单元。
通过上述方法生成的第一码块包括以下码块单元:数据码D码、第一码块单元、第二码块单元和第三码块单元,其中,第一码块单元由一个K码组成,占8个比特长度,第二码块单元由一个K码和一个D码组成,占16比特长度,第三码块单元也由一个K码和一个D码组成,占16比特长度。
进一步地,第一码块单元中的K码中设置有3个指示位,按照“a,b,cc”的顺序分别为“1,0,0”,“1”用于指示第二码块单元为控制码,“0”用于指示第一码块单元的前一个码块单元为数据码,“0”用于指示第一码块单元中的数据码个数是零,即只包括一个K码,长度为8比特,通过第一码块单元中的第二指示位b,可以确定原始8B/10B码流中数据码和控制码的大边界为T7码块的D1位置和D2位置之间的界限。
同理地,生成第一码块中的第二码块单元和第三码块单元,均由原始8B/10B码流中的控制码IDLE压缩生成的,每个IDLE码由一个KiC码和一个Di码组成。其中,“Di”码中的“i”用于指示其所在的K码为IDLE码(简称为I),即指示控制码的类型是I。
在生成的第一码块中,第二码块单元由“Di”和“a,b,cc,KiC”组成,各占8比特长度;第三码块单元也由“Di”和“a,b,cc,KiC”组成,各占8比特长度。需要说明的是,在设置“Di”和“a,b,cc,KiC”的位置时,由于第二码块中的第一个码块单元上设置的第二指示位b,用于指示第一码块的最后一个码块单元是否为控制码,所以第一码块的最后一个位置D6被设置为控制码“1,1,1,KiC”;此时原压缩的控制码I生成的“Di”和“a,b,cc,KiC”码位置互换。对应地,前一个第二码块单元中的“Di”码和“a,b,cc,KiC”码的位置也相比于压缩态码流发生互换。
如图12所示,第二码块包括4个码块单元,每个码块单元均由原始码流中的控制码I压缩而成,每个码块单元中包括一个KiC码和一个Di码组成,共占16个比特。进一步地,每个码块单元中的KiC码被设置3个指示位,分别是“1,1,1”,具体地,“1”指示当前码块单元的下一个码块单元为控制码;“1”指示当前码块单元的前一个码块单元为控制码;“1”指示当前码块单元中的D码个数是1。
此外,还包括第三码块,第三码块中的第一个码块单元为“0,1,0,KsC”,占用8比特,由原始10B码流中的控制码S压缩和设置而成。其中,第一指示位a是“0”,指示下一个码块是数据码,则确定从第三码块中的第一个码块单元之后为控制码。
本实施例提供的方法,第一码块的后一个码块为起点,即D码块的第一个码块单元为起点,根据第一、第二和第三指示位逐个确定每个码块单元是否为控制码,进而识别出原始8B/10B码流中数据码与控制码的边界,然后通过第三步中定义的指示位关联识别出控制码到数据码的边界,最终识别出所有码流信息,避免单独配置指示信息,产生额外开销。
本实施例提供的转码过程为一个通用过程,只需要特殊识别原始码块中T码,理论上可以通用解决所有帧结构的8B/10B编码的转码问题,转码为100GE标准的64B/66B T+D结构。
本实施例提供了一种8B/10B透明转码64B/66B的方法,先将10B码流译码为8B码流,可以节约20%固定开销,然后对译码后的8B码流的控制码进行压缩,压缩后在剩余空间配置至少一个指示位,用于指示相邻码块之间的控制码和数据码情况,进而节约了指示信息的开销,提高了转码效率,码块装载利用率相对于D码块透明承载提高了25%,且8B/10B码流的控制码和数据码的边界不需要重新恢复,通过控制码压缩后剩余码块开销指示,逐级关联相邻码块的方式,进而识别出整个码流特征及含义。
本申请的另一个实施例中,对应于上述码块的生成方法,本实施例提供了一种码块接收方法,所述方法包括:接收第一码块和第二码块,所述第一码块包括第一码块单元,所述第二码块包括第二码块单元,且所述第一码块单元中设置有第一指示位;根据所述第一指示位的指示确定所述第二码块单元是否为控制码。
可选的,在本实施例的一种可能的实现方式中,所述第一码块中还包括第三码块单元,第三码块单元位于所述第一码块单元之前,所述第一码块单元中还设置有第二指示位,所述方法还包括:根据所述第二指示位的指示确定所述第一码块单元之前的第三码块单元是否为控制码。
可选的,在本实施例的另一种可能的实现方式中,所述控制码包括一个K码,或者由一个K码和至少一个D码组成;所述方法还包括:在确定所述第一码块单元为所述控制码的情况下,根据所述第一码块单元中的第三指示位确定所述第一码块单元中的D码的个数。
可选的,在本实施例的又一种可能的实现方式中,所述第二码块中还包括第四码块单元,所述第四码块单元位于所述第二码块单元之后,所述第二码块单元中设置有至少一个指示位,
所述方法还包括:根据所述第二码块单元中的至少一个指示位确定所述第四码块单元是否为控制码、以及所述第一单元码块是否为控制码。
可选的,在本实施例的又一种可能的实现方式中,所述根据所述第一指示位的指示确定所述第二码块单元是否为控制码,包括:如果所述第一指示信息指示所述第二码块单元不是控制码,则从所述第二码块单元开始为数据码。
另一个方面,如果第一指示信息指示是控制码,则进一步判断所述第二码块单元中的指示位是否指示下一个码块单元为控制码,直到指示不是控制码为止。
本实施例中,通过在每个码块单元上配置指示位,从而能够根据指示位的指示确定当前码块单元的相邻码块单元是否为控制码,进而确定出原始码流中数据码与控制码的边界,避免生成额外的指示信息,节约了开销。
下面根据不用业务的8B/10B码流转码成64B/66B码流的过程进行详细说明。
实施例一
本施例提供了一种GE业务的8B/10B转码成64B/66B码流的具体方法。其中,GE业务作为多业务承载的一种典型以太接入业务,物理层采用了8B/10B编码,控制码类型如上面表1所示。
按照上述实施例的核心方法流程,GE业务可以被转码为100GE标准64B/66B码流的T+D码块结构。如图14所示,主要处理流程如下:
步骤1:获取原始8B/10B码流中10B码流Tx_10b[9:0],该10B码流中包括控制码和数据码。
步骤2:将原始10B码流Tx_10b[9:0]译码为8B码流Tx_8b[7:0],同时生成1比特的指示信息Tx_en,该指示信息用于指示译码后的8B码流是控制码还是数据码,例如,指示信息中的高电平指示该码流中的码块是数据码,低电平指示码流中的码块是控制码。
其中,译码后的8B码流Tx_8b[7:0]中的Kt/Kr/Ks分别表示/T/R/S/三种控制码;/Ki/Di/表示组成/I/码的两个8bit数据。
步骤3:根据业务码流特征,由于控制码都是由K码+D码*n(n<4)构成,所以对控制码或组成控制码的K码进行压缩,得到压缩态码流Tx_n8b[7:0],同时保留指示信息Tx_en。
参见上述表2中包括12种K码类型,将每个8bit的K码压缩为4bit大小(最多12种),并且分别用4bit的KtC/KrC/KiC/KsC来表示,剩余4bit空间4’bx保留用于承载至少一个指示位,最终生成的每个K码任然保证是8bit。
步骤4:在压缩后剩余的空间内配置至少一个指示位,所述指示位用于指示相邻码块单元是否是控制码。
具体地,一种指示位的配置方法包括:在剩余的4bit空间内设置第一指示位a、第二指示位b和第三指示位cc,其中,第一指示位a用于指示当前码块单元的后一个码块单元是否为控制码;第二指示位b用于指示当前码块单元的前一个码块单元是否为控制码;第三指示位cc用于指示当前码块单元的长度,或者指示第三指示位所在的码块单元中D码的个数。
一般地,控制码由K码,或者一个K码和n个D码组成,D码的个数与第三指示位cc满足以下关系式:n=2cc-1
步骤5:将压缩并配置完指示位的压缩态码流Tx_n8b[7:0]转换为具有预定结构的64B/66B码流。
具体地,转码成具有预定结构的64B/66B码流的过程包括:
将8个压缩并配置完指示位的8bit码块组成一个64bit的码块,比如第一码块,同理地,生成一个64bit的第二码块、第三码块、第四码块等。转码后生成的第一码块可以是T7码块,第二码块可以是D码块,或者还可以是其它类型的码块,比如S0码块、O码块等。
本实施例以转码后,生成的第一码块是T7码块,第二码块是D码块为例,介绍第一码块和第二码块的结构特征,以及指示位的配置原则,具体如下:
本实施例中,配置指示位的原则为:包含原码流中T码的码块(block)转码为T7码块时,用于识别原码流中D码和控制码的边界。原码流T码确定为起始控制码,替换为T7中的类型域(type field),不参与关联;后续的K码按照“a,b,cc”的方式进行关联,通过T7后一个控制码压缩后指示位指示T7中是否包含控制码;除包含T码的其他block转码为D码,控制码全部按照上述方式进行压缩,可以指示相邻的前一个和后一个码块是否为控制码。
通过上述机制,实现了将8B/10B的GE码流透明转码为100GE标准的64B/66B的T+D码块结构。
例如:第一码块(T7码块)的同步头“10”表示该码块是由数据和控制信息组成的控制码;T7码块的类型域“0xFF”替换压缩态码流中的第一个K码“a,b,cc,KtC”,然后,类型域“0xFF”之后保留压缩态码流中的数据码和控制码。
第二码块(D码块)的同步头“01”表示该码块中后续承载的都是数据;D码块中的第一个K码“1,1,1,KtC”,用于指示第一码块中的最后一个码块单元是否是控制码。由于前后指示需要将控制码中的K码和D码的位置调换,所以第一码块中,组成控制码I的K码和D码要进行位置互换。
在D码块中,设置同步头“01”之后的第一个码块单元的指示位包括“1,1,1”,其中,第2个“1”表示当前码块单元的后一个码块单元为控制码;第2个“1”表示当前码块单元的前一个码块单元(即T7码块中的最后一个码块单元)为控制码;第3个“1”表示当前控制码或码块单元的长度占2byte,即16bit,或者表示控制码K码后关联1个数据码D码。
按照从第二码块(D码块)的第一个码块单元的第二指示位b开始,向第一码块(T7码块)从后向前指示的顺序判断,第一码块的后三个码块单元均为控制码,直到倒数第三个码块单元“1,0,0,KrC”的第二指示位b为“0”,表示前一个码块单元是数据码,所以判断出原始10B码流中控制码和数据吗的边界为从第一码块的第三个码块单元开始往后都是控制码,所述第一码块的第三码块单元之前为数据码。
从第二码块的第一个码块单元开始,根据每个码块单元中设置的第一指示位和第三指示位,向后逐级判断每个码块单元的类型,即是否为控制码。参见图14,第二码块中包括4个码块单元,且每个码块单元中设置的第一指示位a均为“1”表示均为控制码。
第三码块的第一个码块单元中包括第一指示位a为“0”,第三指示位cc也是“0”,则表示该码块单元的下一个码块单元是数据码,进而得到从第三码块的第二个码块单元开始为数据码,第二个码块之前为控制码,即区分出控制码结束的位置。
本实施例中,通过T7码块中各个位置的指示位信息能够识别出原始8B码流中数据码到控制码的边界,并通过压缩过程中定义的指示位,关联识别出控制码到数据码的边界,最终识别出所有码流信息,节约了原始码流中指示信息的开销。
此外,本实施例中采用了一种较通用的8B/10B转码成100GE标准64B/66B的方案,可以应用于各种帧结构的业务流转码,保证完全码字透明,不损失原始码块流中的信息,转码为一对一转码,100%的转码效率,无带宽膨胀。
可选的,在本实施例中,上述方法还包括:将66B码流中的码块转码为S+D+T码块结构,以便支持组网系统频偏以及操作维护管理(Operations,Administration,andMaintenance,OAM)等开销。
具体地,方法还包括:
步骤6:将第一码块(T7码块)的后一个码块(D码块)转码为S0码块,同时增加“0x78”的类型域(type field)字段;该类型域字段将通过删除原8B/10B码流中的S码进行补充。
进一步地,该步骤6也存在两种可能:
一种可能的情况是,第一码块(T7码块)的后一个码块单元是原8B/10B码流中的S码,根据低速率以太,比如GE业务帧间隙的定义,此时T7码块的内部一定包含至少一个码块单元是控制码;通过判断“0x78”的类型域字段(或码块单元)的后一个码块单元是否为“0x55”可以区分该码块是数据码中的前导码,或者是经过压缩后的控制码;
具体地,如果是“0x55”类型域,则表示后一个码块单元是数据码的前导码,该前导码所在的码块为数据码;如果否,则表示后一个码块单元是经过压缩后的控制码。本实施例的这种判断方法,通过将“0x5”的压缩编码保留,剩余4比特空间用于判断是否承载字节“5”,来形成类型域“0x55”字段,从而能够判断出“0x78”码块单元的后一个码块是否是控制码,还能够避免与类型域为“0x55”的码块的前导码发生冲突。
另一种可能的情况是,第一码块(T7码块)的后一个码块单元不是原8B/10B码流中的S码,或者是非S码,则可以直接插入“0x78”的类型域字段,后续将原始10B码流中的S码(“0,1,0,KsC”码块单元)删除,处理方式如图15所示。
步骤7:对转码后的64B/66B码流中的IDLE码块进行压缩和转换,生成新的64B/66B码流。
上述转码过程为全透明转码,即在压缩和转码过程中不更改原码块中携带的信息。
为了支持如以太异步组网条件下100ppm的频偏处理,本实施例可以对原始8B/10B码流中的IDLE码进行压缩,也就是定义一种新的压缩码类型,以“KicC”表示,用于指示该码块单元包括至少两个IDLE码的压缩码。该码块单元长度固定为1Byte(8bit),压缩码中的指示位cc用于指示替代的原IDLE码的个数为4个(2的平方)。
如图15所示,每个IDLE码(简写I码)在转换成66B码流后形成一个由KiC码和一个D码组成的码块单元,将总共4个所述码块单元压缩成一个8比特的KicC码(码块单元),后续S0码块中的所有码块单元均由数据码D码填充,最终生成新的66B码流结构为“T7+S0+D”的码块结构。
可选的,由于在将所述新的66B码流结构映射到帧结构的过程中,同步时习惯以S0为起始数据,所以该新的66B码流的结构“T7+S0+D”也可以称为“S0+D+T”码块结构。
本实施例,通过上述步骤1至步骤5转码方法,可以将原始8B/10B码流的GE码流透明转码为100GE标准的64B/66B码流的“T+D”结构。进一步地拓展的步骤6和步骤7对转码的64B/66B码流的码块结构进行了改变,通过对控制码IDLE码块的压缩,可以将8B/10B的GE码流透明转码为100GE标准的64B/66B的“S+D+T”码块结构,以便适用于某些具体应用场景。
具体地,上述步骤6对本专利转码机制的码流带宽做了进一步补充,对原码流中的IDLE码块进行了压缩,从而将转码后的码流压缩到小于原始码流带宽,以便适用于某些具体场景对异步组网系统100ppm频偏以及带宽内OAM等开销特性的支持。
实施例二
本实施例提供了一种光纤通道(Fibre Channel,FC)业务下的8B/10B码流转码为64B/66B码流的方法。其中,所述FC业务作为多业务承载的一种典型接入业务,低速率接口物理层采用了8B/10B编码,该8B/10B编码的码流中控制码编码如下表4所示。
表4
参见图16,该FC业务的8B/10B码流以4Byte为单位,其中,1Byte=8bit,即4Byte=32bit。控制码和数据码均基于4Byte对齐,但是对于控制码而言,有序集(ordered set)仅仅使用了K28.5一个K码,其余的3个码块都是的D码,即“K+D+D+D”结构。
例如对于“SOFC1”的控制码而言,可以由“K28.5-D21.5-D23.0-D23.0”码块组成;“EOFt”可以由“K28.5-D21.4-D21.3-D21.3”码块组成,因此可以通过K码后面3Byte的数据区分不同的码块含义。
基于Fibre Channel业务的8B/10B码流特点。如图16所示,本实施例提供技术方案,Fibre Channel业务的8B/10B码流透明转码64B/66B的主要步骤如下:
步骤1:获取8B原始码流,该8B原始码流以4Byte为单位,即32bit,所述8B原始码流包括:数据码D和控制码EOF,IDLE,SOF等。
步骤2:将10B原始码流译码为8B码流,并生成指示信息Tx_en。
可选的,所述译码后的8B码流可以用“Tx_8b[7:0]”表示,同时通过1bit指示信息Tx_en指示译码后的8B码流中哪些码块是控制码,哪些码块是数据码。
由于Fibre Channel业务中只使用K28.5一种,且EOF、IDLE、SOF这些控制码都是4Byte构成,如图16和图17中所示,EOF码译码后表示为K+Dt+Dt+Dt,IDLE码译码后表示为K+Di+Di+Di。其中,K、Dt、Di均为8比特的码块。
步骤3:对8B原始码流中的控制码进行压缩,生成压缩后的码流“Tx_n8b[7:0]”。
根据Fibre Channel业务码流特征,控制码都是由K码+D码*n(n=3)构成,由于Fibre Channel业务中只使用了K28.5一种K码,所以理论上可以将该K码域段完全压缩掉,剩余全部的8bit保留空间用于配置至少一个指示位。
本实施例基于依旧按照最大12种类型的K码,将K码压缩为4bit用KC表示,剩余4bit空间4’bx保留用于配置后续指示位。
步骤4:在压缩后的剩余空间配置至少一个指示位,以便替代指示信息对原始8B码流中的控制码和数据码进行指示。
具体地,一种配置指示位的原则包括:
在剩余的4bit空间配置三个指示位,分别是第一指示位a,占用1bit空间;第二指示位b,占用1bit空间;第三指示位cc,占用2bit空间;通过这三个指示位可以将8B码流指示位Tx_en在8B码流的带宽承载。
三种指示位含义如下:
第一指示位a:用于指示当前码块单元的后一个码块单元是否为K码;
第二指示位b:用于指示当前码块单元的前一个码块单元是否为K码;
第三指示位cc:用于指示当前码块单元的长度,或者指示第三指示位所在的码块单元中D码的个数。
可选的,所述D码块的个数cc可以分别对应0/1/3/7。
进一步地,对于第一指示位a和第二指示位b而言,“1”表示指示的是控制码,“0”表示指示的是数据码。
可选的,对于Fibre Channel业务的8B/10B码流,由于都是以4Byte为单位,则发送端和接收端预先都知道,控制码有序集的结构是“K+D+D+D”,即一个K码关联3个D码,则可以不需要配置第三指示位cc,接收端也能够确定出每个码块单元的长度为32bit。
步骤4:利用K码压缩后剩余的4bit保留关联指示码块单元类型,生成中间态码流Tx_8b[7:0]。
根据前后码块单元确定每个K码的指示位信息,并在各个K码中设置至少一个指示位,具体的设置指示位的过程与实施例一相同,可参见上述实施例一的步骤4描述,此处不再赘述。
步骤5:根据中间态码流生成具有预定结构的64B码流,即将中间态的码流Tx_8b[7:0]转换为64B/66B码流Tx_66b[65:0],该64B/66B码流Tx_66b[65:0]中包括至少两个码块,比如第一码块和第二码块等。
具体地,将8个8bit码块转码为1个64B码块,转码后生成预定结构的两种码块,比如生成第一码块为T7码块,第二码块为D码块。并且,通过T7码块中的第二指示位识别8B原始码流中数据码到控制码的边界,通过步骤3中定义的第一指示位和第三指示位关联识别出控制码到数据码的边界,最终识别出所有码流信息。
其中,上述码流在转码的过程中要求满足以下条件:
条件一:包含原码流中EOF码的码块转码并生成一个码块单元,该码块单元为T7码块的一部分,用于识别原码流中D码和控制码的边界。
在压缩后8B码流Tx_n8b[7:0]转换为66B码流Tx_66b[65:0]的过程中,原控制码EOF码转码成第一码块单元,其中,第一码块单元中的KC码用于替换T7码块中的类型域(type field)段,所以不参与关联和设置指示位,且第一码块单元由K+D+D+D的结构配置在T7码块的前面位置,原数据码D码的4个8bit设置在第一码块单元之后。后续控制码按照上述步骤4方式进行关联和设置,并且,通过T7码块的后一个码块单元中指示位来确定原始码流中数据码到控制码的边界。
如图17所示,第三码块单元中的控制码KC上,设置有第二指示位b为0,表示当前第三码块单元的前一个码块单元(第二码块单元)是数据码,则确定转码后的66B码流的数据码与控制码的边界为第二码块单元和第三码块单元之间的界限。
条件二:除包含EOF码的其他码块转码为D码块,控制码全部按照上述方式进行压缩,并配置指示位,以便可以指示相邻的前一个和后一个码块单元是否为控制码。
如图17所示,压缩后的8B码流中的第一码块单元的控制码“a,b,cc,KC”在转码到66B码流的T7码块时,被T7中的类型域“0xFF”字段替换,同时关联3个D码组成4Byte的码块单元;然后原始8B码流中的数据码依次向后顺延,形成第二码块单元。
在第二码块中,第三码块单元的KC码中配置指示位为“1,0,2”,其中,第一指示位“1”指示其后一个码块单元为控制码;第二指示位“0”指示其前一个码块单元(即第二码块单元)为数据码;第三指示位“2”指示当前控制码占4(22)Byte,即32bit。
本实施例中对FC业务中的控制码EOF、IDLE、SOF进行转码和指示位配置,转码为T7码块和D码块的结构,实现了将原始8B码流转码为100GE标准的64B/66B码流T+D结构。
本实施例提供了一种通用的8B/10B透明转码64B/66B的方法,先将原始的8B/10B码流转码为10B码流进而减小了20%的固定开销,然后通过对Fibre Channel业务的8B码流中的控制码进行压缩,节省出剩余空间用于配置至少一个指示位,这些指示位用于码块间的相互关联,最后再将压缩后的码流形态映射至预定结构的64B码流中,所述预定结构的64B码流包括特殊的T7码块,且以该T7码块为起点,通过控制码压缩后剩余指示位进行相邻识别,最终准确识别整个码流信息,以及判断出控制码的边界,从而避免了8B/10B丢失和再重新恢复。
需要说明的是,本实施例提供的对8B/10B码流进行压缩的方法,此压缩转码方式不仅适用于K码,也可对其他类型码块进行相似处理。
此外,本方法还可以应用于各种帧结构的业务流转码;完全码字透明,不损失原始码块流中的信息;转码为一对一,1:1的转码效率,无带宽膨胀。
本实施例提供的方法是除GE业务之外的另一种较典型的接入业务FibreChannel,基于上述译码、转码的通用规则,实现了Fbire Channel业务的8B/10B转码为标准100GE的64B/66B码流,以适应各种业务需求。
此外,对于上述各个实施例,在将8B原始码流压缩的过程中,压缩后指示信息中的码块长度信息可以同时作为压缩编码内容的一部分,也就是不同长度的码块单独编码,从而提高能够支持的码块数量。另外,根据需要的特定信息编码数量,压缩后码块的指示位不限于本申请实施例中的第一指示位、第二指示位和第三指示位,共占用4bit,可以根据需要定义更多或是更少比特数。控制码压缩后剩余指示位不限于本专利中描述的特定数据结构。包括能够构成相邻码块关系的其他数据结构定义。
在根据压缩后码流形态配置并转码为64B码流的过程中,配置后的各个指示位指示,逐级关联相邻码块的机制,进而确定控制码和数据码的边界。其中。控制码压缩后起始识别点可以但不限定是本申请实施例中提到的T7码块,S码块,还可以包括等其他码块,比如S码块。
所述关联指示可以但不限于本申请实施例中提到的前向指示和后向指示,可以是其中的一种,或是两种指示复用到1bit上,通过S或T的码块类型进行区分。
转码后的预定64B码流结构包括但不限于S+D码块、D+T码块、O+D码块、S+D+T码块等各种结构形态,本申请实例仅例举上述常见的几种码块结构,对于其它码块结构,本申请实施例不予限制。
实施例三
本实施例提供了一种将10GE的64B/66B码流转码为100GE标准的64B/66B码流的方法。
如图18a和图18b所示,分别示出了一种10GBASE-R的64B/66B编码的示意图,和,一种100GBASE-R的64B/66B编码的示意图,其中,图18a中,10GBASE-R的编码作为多业务承载的一种典型接入业务,其采用的64B/66B编码和100GBASE-R 64B/66B编码不完全一致,所以在进行L1.5层交换单元前也需要进行透明转码。
其中,输入数据(Input Data)中包括:比特位置(bit position)、数据码块格式(data block format)和控制码块格式(control block format)。进一步地,数据码块格式由:D0D1D2D3/D4D5D6D7组成,控制码块格式可以由C码、O码、D码、S码以及数据码D码混合组成。
参见图18a,对于10BASE-R 64B/66B编码的所有控制码块格式中,在转换成图18b所示的100GBASE-R 64B/66B编码码流的过程中,对除了原10GE的7种控制码块格式中的码块单元T0至T7之外的所有码块单元进行编码,生成一个码块单元。该码块单元的长度为64bit,即8byte。
可选的,根据T0至T7的8种不同的控制码块格式可以对以下8种不同码块净荷区(block payboad)的64B/66B码块进行转码。比如图18a所示,这8种不同类型的控制码码块的类型域分别为:
Ox87,0x99,0xaa,0xb4,0xcc,0xd2,0xe1,0xff。
本实施例中以一种控制码块的格式为“D0D1T2C3/C4C5C6C7”为例,该码块格式对应的控制码类型域为“0xaa”,如图18c所示,该码块单元包括:数据码D0和D1,控制码C3至C7,其中,每个D码为8bit,每个C码为7bit,即每个C码相比于D码少1bit,共有C3至C7 5个控制码,所以相比于D码少5bit,则保留剩余5bit空间,最终保证该码块包含一个码块单元,长度是64bit。
下面,以该类型域为“0xaa”的码块为例,对10GE业务下的64B/66B编码进行转换做详细的说明。
如图19所示,具体地,本实施例提供的转码处理过程如下:
步骤1:获取原始66B码流。
可选的,所述原始66B码流中包括类型域为“0xaa”的66B码块,该66B码块中包括数据码D0和D1,控制码C3至C7。
步骤2:将原始66B码流译码为64B码流,同时通过1bit信号Tx_en指示译码后的64B码流中的控制码和数据码情况。
步骤3:根据译码后的64B码流的控制码块格式,对该64B码流中除了T2位置的码块单元之外的所有控制码块进行压缩,生成多个码块单元。其中,每个码块单元中包括4比特的“KcC”和4比特的剩余空间,所述4比特的剩余空间用于承载指示位“a,b,cc”,所述指示位用于关联指示相邻码块或码块单元的类型。进一步地,指示位a用于指示后一个码块单元是否为控制码;指示位b用于指示当前码块单元的前一个码块单元是否为控制码;指示位cc用于指示当前码块单元的长度。
可选的,本实施例中,每个码块单元长度均为1Byte(即8bit)。
在步骤3中,由于对压缩后剩余的空间内配置指示位“a,b,cc”来指示相邻码块的控制码情况,进而确定控制码与数据码的边界,所以消除了原指示信息Tx_en的指示,从而节约了开销。
可选的,在压缩过程中,原始64B/66B码流中类型域为:0x1e,0x2d,0x33,0x66,0x55,0x78,0x4b的控制码可以用Kt0、Kt1、Kt2、Kt3、Kt4、Kt5、Kt6表示。例如,图19所示,原始66B码流中的类型域“0x1e”压缩后变成“Kt0C”。
具体地,通过指示位“a,b,cc”来确定原始码流中控制码和数据码的边界情况可以参考上述实施例,本实施例对此不再详细赘述。
步骤4:将压缩后并设置有指示位的中间态码流Tx_n64b[63:0]转换成100GE标准的64B/66B码流。
其中,所述转换后的100GE标准64B/66B码流中包括第一码块和第二码块。
可选的,所述第一码块为T7码块,所述第二码块为D码块。所述中间态码块中的类型域“0xaa”字段被T7码块的类型域“0xFF”字段替代,形成标准的“T7码块+D码块”的码型结构。其他码块转码为D码块。
在D码块中,包括一个“1,1,3Kt0C”的控制码,为D码块的起始码块。其中,第一指示位“1”指示后一个码块单元(第三码块)为控制码;第二指示位“1”指示前一个码块单元(第一码块的最后一个码块单元)是控制码;第三指示位“3”指示当前码块单元的大小长度为8(2的三次方)个C码的长度,即56bit,每个C码为7bit。
本方法通过上述机制,将原始的10GBASE-R的64B/66B码流透明转码为100GE标准的64B/66B编码的码流,且转码前后的码块均为8byte为单位的码块。
本方法实现了码块完全透明转码,转码后的码流不损失原始码块流中的信息。转码为一对一,100%的转码效率,无带宽膨胀。
可以理解地,本申请还可以采用上述方法对其他具有与类似结构的原始码流进行转码,形成100GE标准的64B/66B码流,另外,还可以根据上述压缩、配置指示位、转码等一系列步骤实现对其他类型码流的转码,本申请实施例对此不予限制。
需要说明的是,本实施例中仅以类型域为“0xaa”的64bit码块为例进行转码,附图18a所示的其他码块,比如类型域是0x99、0x4b、0xcc等类型的码块,也可采用本实施例的转码方法,生成100GE标准的64B/66B编码码流,本实施例对这些码块的转码过程不再赘述。
参见图20,为本申请实施例提供的一种码块生成装置的结构示意图。该装置可以是前述任意实施例中的适配单元,例如uAdpt,用于实现前述各个实施例中的方法步骤。
如图20所示,该装置200可以包括:获取单元2001,处理单元2002和发送单元2003,此外,所述装置200还可以包括更多或更少的部件,例如存储单元等,本实施例对此不进行限定。
进一步地,处理单元2002用于生成第一码块和第二码块,其中,所述第一码块包括第一码块单元,所述第二码块包括第二码块单元,且所述第一码块单元中设置有第一指示位,所述第一指示位用于指示所述第二码块单元是否为控制码;发送单元2003用于发送所述第一码块和所述第二码块。
可选的,在本实施例的一种具体的实现方式中,所述第一码块中还包括第三码块单元,所述第三码块单元位于所述第一码块单元之前;所述第一码块单元中还设置有第二指示位,所述第二指示位用于指示所述第一码块单元之前的第三码块单元是否为控制码。
可选的,在本实施例的另一种具体的实现方式中,所述控制码包括一个K码,或者由一个K码和至少一个D码组成;在所述第一码块单元为所述控制码的情况下,所述第一码块单元中还设置有第三指示位,所述第三指示位用于指示所述第一码块单元中的D码的个数。
可选的,在本实施例的又一种具体的实现方式中,所述第二码块中还包括第四码块单元,所述第四码块单元位于所述第二码块单元之后。
所述第二码块单元中设置有至少一个指示位,所述至少一个指示位用于指示所述第四码块单元是否为控制码、指示所述第一码块单元是否为控制码;以及,在所述第二码块单元为控制码的情况下,所述至少一个指示位还用于指示所述第二码块单元中的D码的个数。
可选的,在本实施例的又一种具体的实现方式中,获取单元2001用于获取第一码流,所述第一码流中包括控制码;所述处理单元2002具体用于对所述第一码流中的控制码进行压缩,并在压缩后的码块的剩余空间内设置第一指示位,生成所述第一码块和所述第二码块。
其中,所述第一码流可以为8B编码码流(经过10B转码为8B码流),还可以10GE64B/66B编码码流。
可选的,在本实施例的又一种具体的实现方式中,所述第一码流的控制码中包括至少一个8比特的码块单元,所述处理单元2002,具体用于对所述第一码流中的一个8比特的码块单元进行压缩,得到N比特剩余空间,N≤8;在所述N比特的剩余空间内设置所述第一指示位,并填充成一个8比特的K码;根据所述8比特的K码生成所述第一码块,以及所述第二码块。
例如,N=4,则可以在剩余的4bit上配置第一指示位、第二指示位和第三指示位。
进一步地,所述第一指示位a占用1bit,第二指示位b占用1bit,第三指示位cc占用2bit。
其中,在所述第一指示位a和第二指示位b是“1”的情况下,表示指示的码块单元为控制码;在所述第一指示位a和所述第二指示位b是“0”的情况下,表示指示的码块单元为数据码。
此外,对于第三指示位cc可以在码块单元中设置,也可以不设置,但接收端和发送端需要预先约定,并且两端都知道码块单元的长度。例如,对于Fibre Channel业务的控制码和数据码均以4byte为单位来编码,所以,在这种情况下,每个控制码K码均关联3个D码,即“K+D+D+D”结构,所以仅需要设置第一指示位和第二指示位来指示后一个码块和前一个码块是否为控制码即可,从而更提高了识别效率,并节约2bit开销,可用于承载其它信息。
可选的,在本实施例的又一种具体的实现方式中,所述第一码块为T7码块,所述第二码块为D码块;
或者,所述第一码块为S0码块,所述第二码块为D码块;
或者,所述第一码块为O码块,所述第二码块为D码块;
或者,所述第一码块为IDLE码块,所述第二码块为D码块;
其中,所述T7码块、S0码块、O码块和IDLE码块为控制码,所述D码块为数据码。
此外,所述第一码块还可以是D码块,所述第二码块为T7码块、S0码块、O码块和IDLE码块中的任意一种。
可选的,所述第一码块为D码,所述第二码块为T7码块、S0码块、O码块和IDLE码块中的任意一种。
可选的,还包括第三码块,所述第三码块为D码块,所述第二码块为S0码块,所述第一码块为T7码块,则转码后的64B/66B码流的码块结构为“S0+D+T”。
此外,还可以转码成其他结构的64B/66B码流,本实施例对此不予限制。
可选的,在本实施例的又一种具体的实现方式中,所述处理单元2002,还用于在第一码块为T7码块,第二码块为D码块的情况下,将所述D码转码为S0码块,所述SO码块中包括:一个类型域,一个包括K码的码块单元和至少一个包括D码的码块单元;其中,所述包括K码的码块单元是,原所述D码块的由一个K码和至少一个D码组成的所有码块单元进行压缩后生成的一个码块单元,且所述K码的码块单元中包括至少一个指示位,比如包括3个指示位,分别是a,b和cc。
其中,所述S0码块的类型域为“0x78”。
此外,本实施例中,还可以将D码块转码为其它类型的码块,比如O码块、IDLE码块等。
可选的,在本实施例的又一种具体的实现方式中,所述第一码块为T7码块,所述第二码块为S0码块,所述处理单元2002,还用于生成第三码块,所述第三码块为D码块。
可以理解地,所述处理单元2002还可以根据原始码流的特点生成更多的码块,比如第四码块和第五码块等,具体的生成过程与方法前述实施例相同,本实施例对此不再赘述。
在本申请的又一个实施例中,还提供了一种码块接收装置,如图21所示,该装置210包括:获取单元2101,处理单元2102和发送单元2103,此外,所述装置210还可以包括更多或更少的部件,例如存储单元等,本申请对此不进行限定。
获取单元2101,用于接收第一码块和第二码块,所述第一码块包括第一码块单元,所述第二码块包括第二码块单元,且所述第一码块单元中设置有第一指示位。
处理单元2102,用于根据所述第一指示位的指示确定所述第二码块单元是否为控制码。
可选的,在本实施例的一种具体的实现方式中,所述第一码块中还包括第三码块单元,所述第三码块单元位于所述第一码块单元之前,所述第一码块单元中还设置有第二指示位,所述处理单元2102还用于根据所述第二指示位的指示确定所述第一码块单元之前的第三码块单元是否为控制码。
可选的,在本实施例的另一种具体的实现方式中,所述控制码包括一个K码,或者由一个K码和至少一个D码组成;所述处理单元2102还用于在确定所述第一码块单元为所述控制码的情况下,根据所述第一码块单元中的第三指示位确定所述第一码块单元中的D码的个数。
可选的,在本实施例的又一种具体的实现方式中,所述第二码块中还包括第四码块单元,所述第四码块单元位于所述第二码块单元之后,所述第二码块单元中设置有至少一个指示位,所述处理单元2102还用于根据所述第二码块单元中的至少一个指示位确定所述第四码块单元是否为控制码、以及所述第一单元码块是否为控制码。
可选的,在本实施例的又一种具体的实现方式中,所述处理单元2102具体用于如果所述第一指示信息指示所述第二码块单元不是控制码,则从所述第二码块单元开始为数据码。
需要说明的是,本实施例提供的码块接收装置可以是前述实施例中的码块生成装置,或者是前述实施例中的一种适配单元,例如uAdpt或nAdpt,用于实现上述实施例对应的码块接收方法,并通过该方法识别出原始码流中的控制码和数据码的边界。
本实施例中,通过在码块单元中配置至少一个指示位,来指示当前码块单元的前后码块单元是否为控制码,以及控制码的D码长度,进而通过每个码块单元的上指示位的逐级指示确定出控制码和数据码的边界,避免了额外信息的开销。
在一个具体硬件实施例中,如图22所示,还提供了一种分组承载设备220,该设备可以是规划加载X-E特性的IP移动承载网(Radio Access Network,RAN)或分组传送网(Packet transport network,PTN)设备,用于实现前述实施例中的PE或P的各种功能。
具体地,参见图22,分组承载设备220包括:接口板2201、接口板2203和主控交换板2202。其中,接口板2201连接至主控交换板2202的输入端,接口板2203连接至主控交换板2202的输出端。
进一步地,接口板2201中包括用户侧接口芯片,用于实现PE的uAdpt的各项功能;主控交换板2202中包括网络处理器(Network Processor,NP)或交换网芯片,用于实现PE的交换单元的功能;接口板2203中包括网络侧接口芯片,用于实现PE的nAdpt的各项功能。
此外,还可以在接口板2201和接口板2203上承载其他功能单元,比如多业务功能单元。
进一步地,在所述接口板2201的用户侧处理芯片中还可以包括:收发器2301、处理器2302和存储器2303,如图23所示。此外,该用户侧处理芯片中还可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置,本申请对此不进行限定。
处理器2302为用户侧处理芯片的控制中心,通过运行或执行存储在存储器2303内的软件程序和/或单元模块,以及调用存储在存储器内的数据,以执行用户侧处理芯片的各种功能。
所述处理器2302可以由集成电路(integrated circuit,IC)组成,例如可以由单颗封装的IC所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器可以仅包括CPU,也可以是GPU、数字信号处理器(digital signal processor,DSP)、及收发模块中的控制芯片的组合。
收发器2301可以包括接收机、发射机与天线等部件,用于接收原始码流,发送转码后的码流,所述转码后的码流中包括第一码块、第二码块等。此外,收发器2301还用于实现用户侧与网络设备的通信传输。
具体地,所述收发器2301可以包括无线局域网模块、蓝牙模块、基带(base band)模块等通信模块,以及该通信模块对应的射频(radio frequency,RF)电路,用于进行无线局域网络通信、蓝牙通信、红外线通信及/或蜂窝式通信系统通信。此外,收发器2301还可以支持直接内存存取(direct memory access)。
在本申请的不同实施方式中,所述收发器2301中的各种收发模块一般以集成电路芯片(integrated circuit chip)的形式出现,并可进行选择性组合,而不必包括所有收发模块及对应的天线组。例如,收发器可以仅包括基带芯片、射频芯片以及相应的天线以在一个蜂窝通信系统中提供通信功能。经由所述收发模块建立的无线通信连接,例如无线局域网接入或WCDMA接入。
存储器2303用于存储执行本申请技术方案的应用程序代码,并由处理器2302来控制执行。具体地,处理器2302用于执行所述存储器中存储的应用程序代码,实现上述各实施例中的码块生成方法、码块接收方法。
进一步地,存储器2303可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,也可以和处理器集成在一起。
示例性地,在本申请图20所示的码块生成装置实施例中,获取单元2001和发送单元2003所要实现的功能可以由所述用户侧处理芯片的收发器2301实现,或者由处理器2302控制收发器2301实现;所述处理单元2002所要实现的功能则可以由处理器2302实现。
示例性地,在本申请图21所示的码块接收装置实施例中,接收单元2101和发送单元2103所要实现的功能可以由所述用户侧处理芯片的收发器2301实现,或者由处理器2302控制收发器2301实现;所述处理单元2102所要实现的功能则可以由处理器2302实现。
另外,在本申请图23所示的用户侧处理芯片230可以设置或集成在图1a所示的用户侧适配单元(uAdpt)中,用于实现uAdpt的所有功能。
进一步地,所述存储器2303用于存储计算机程序产品,所述计算机程序产品包括一个或多个计算机指令,例如同步载频信号发送指令。在计算机加载和执行所述计算机程序时,全部或部分地产生按照本申请上述实施例各实施例所述的流程或功能。
所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网络站点、计算机、服务器或数据中心通过有线或无线方式向另一个站点、计算机或服务器进行传输。所述计算机可读存储介质可为磁碟、光盘、只读存储记忆体ROM或随机存储记忆体RAM等。
在本申请的实施例中,还提供了一种系统,如图2所示,该系统可以是Ethernet网,FlexE网络或者X-E组网。具体地,所述网络系统中包括:用户设备UE和网络设备PE或P,所述PE用于执行上述各实施例中的码块生成方法和接收方法。例如,PE1将原始码流转码为100GE标准的64B/66B编码码流,以及将转码后的标准码流发送给P。P将接收的标准码流传输给PE2,PE2接收到该标准的64B/66B编码码流之后再将其转码为原始的8B/10B码流,以及对外输出值用户设备。
本实施例提供了一种装置和系统,由于在传输的码流中包括第一码块和第二码块,且在第一码块中的码块单元上配置了至少一个指示位,可以指示相邻码块的控制码和数据码情况,从而能够通过转码后的码块内容确定出控制码和数据码的边界,节约了指示信息的开销。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于一种码块生成装置、接收装置、分组承载设备和系统的实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
此外,在本申请的描述中,除非另有说明,“多个”是指两个或多于两个。另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
以上所述的本申请实施方式并不构成对本申请保护范围的限定。
Claims (28)
1.一种码块生成方法,其特征在于,所述方法包括:
生成第一码块和第二码块,其中,所述第一码块包括第一码块单元,所述第二码块包括第二码块单元,且所述第一码块单元中设置有第一指示位,所述第一指示位用于指示所述第二码块单元是否为控制码;
发送所述第一码块和所述第二码块。
2.根据权利要求1所述的方法,其特征在于,所述第一码块中还包括第三码块单元,所述第三码块单元位于所述第一码块单元之前,
所述第一码块单元中还设置有第二指示位,所述第二指示位用于指示所述第一码块单元之前的第三码块单元是否为控制码。
3.根据权利要求1或2所述的方法,其特征在于,所述控制码包括一个K码,或者由一个K码和至少一个D码组成;
在所述第一码块单元为所述控制码的情况下,所述第一码块单元中还设置有第三指示位,所述第三指示位用于指示所述第一码块单元中的D码的个数。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述第二码块中还包括第四码块单元,所述第四码块单元位于所述第二码块单元之后,
所述第二码块单元中设置有至少一个指示位,所述至少一个指示位用于指示所述第四码块单元是否为控制码、指示所述第一码块单元是否为控制码;
以及,在所述第二码块单元为控制码的情况下,所述至少一个指示位还用于指示所述第二码块单元中的D码的个数。
5.根据权利要求1所述的方法,其特征在于,所述生成第一码块和第二码块,包括:
获取第一码流,所述第一码流中包括控制码;
对所述第一码流中的控制码进行压缩,并在压缩后的码块的剩余空间内设置第一指示位,生成所述第一码块和所述第二码块。
6.根据权利要求5所述的方法,其特征在于,所述第一码流的控制码中包括至少一个8比特的码块单元,
对所述第一码流中的控制码进行压缩,并在压缩后的码块的剩余空间内设置第一指示位,生成所述第一码块和所述第二码块,包括:
对所述第一码流中的一个8比特的码块单元进行压缩,得到N比特剩余空间,N≤8;
在所述N比特的剩余空间内设置所述第一指示位,并填充成一个8比特的K码;
根据所述8比特的K码生成所述第一码块,以及所述第二码块。
7.根据权利要求1-6任一项所述的方法,其特征在于,
所述第一码块为T7码块,所述第二码块为D码块;
或者,所述第一码块为S0码块,所述第二码块为D码块;
或者,所述第一码块为O码块,所述第二码块为D码块;
或者,所述第一码块为IDLE码块,所述第二码块为D码块;
其中,所述T7码块、S0码块、O码块和IDLE码块为控制码,所述D码块为数据码。
8.根据权利要求1-6任一项所述的方法,其特征在于,在所述第一码块为T7码块,所述第二码块为D码块的情况下,所述方法还包括:
将所述D码转码为S0码块,所述SO码块中包括:一个类型域,一个K码的码块单元和至少一个包括D码的码块单元;
其中,所述包括K码的码块单元是,原所述D码块的由一个K码和至少一个D码组成的所有码块单元进行压缩后生成的一个码块单元,且所述K码的码块单元中包括至少一个指示位。
9.根据权利要求1-6任一项所述的方法,其特征在于,所述第一码块为T7码块,所述第二码块为S0码块,
所述方法还包括:
生成第三码块,所述第三码块为D码块。
10.一种码块接收方法,其特征在于,所述方法包括:
接收第一码块和第二码块,所述第一码块包括第一码块单元,所述第二码块包括第二码块单元,且所述第一码块单元中设置有第一指示位;
根据所述第一指示位的指示确定所述第二码块单元是否为控制码。
11.根据权利要求10所述的方法,其特征在于,所述第一码块中还包括第三码块单元,所述第三码块单元位于所述第一码块单元之前,所述第一码块单元中还设置有第二指示位,
所述方法还包括:
根据所述第二指示位的指示确定所述第一码块单元之前的第三码块单元是否为控制码。
12.根据权利要求10或11所述的方法,其特征在于,所述控制码包括一个K码,或者由一个K码和至少一个D码组成;
所述方法还包括:
在确定所述第一码块单元为所述控制码的情况下,根据所述第一码块单元中的第三指示位确定所述第一码块单元中的D码的个数。
13.根据权利要求10-12任一项所述的方法,其特征在于,所述第二码块中还包括第四码块单元,所述第四码块单元位于所述第二码块单元之后,所述第二码块单元中设置有至少一个指示位,
所述方法还包括:
根据所述第二码块单元中的至少一个指示位确定所述第四码块单元是否为控制码、以及所述第一码块单元是否为控制码。
14.根据权利要求10所述的方法,其特征在于,所述根据所述第一指示位的指示确定所述第二码块单元是否为控制码,包括:
如果所述第一指示信息指示所述第二码块单元不是控制码,则从所述第二码块单元开始为数据码。
15.一种码块生成装置,其特征在于,所述装置包括:
处理单元,用于生成第一码块和第二码块,其中,所述第一码块包括第一码块单元,所述第二码块包括第二码块单元,且所述第一码块单元中设置有第一指示位,所述第一指示位用于指示所述第二码块单元是否为控制码;
发送单元,用于发送所述第一码块和所述第二码块。
16.根据权利要求15所述的装置,其特征在于,
所述第一码块中还包括第三码块单元,所述第三码块单元位于所述第一码块单元之前;
所述第一码块单元中还设置有第二指示位,所述第二指示位用于指示所述第一码块单元之前的第三码块单元是否为控制码。
17.根据权利要求15或16所述的装置,其特征在于,
所述控制码包括一个K码,或者由一个K码和至少一个D码组成;
在所述第一码块单元为所述控制码的情况下,所述第一码块单元中还设置有第三指示位,所述第三指示位用于指示所述第一码块单元中的D码的个数。
18.根据权利要求15-17任一项所述的装置,其特征在于,
所述第二码块中还包括第四码块单元,所述第四码块单元位于所述第二码块单元之后,
所述第二码块单元中设置有至少一个指示位,所述至少一个指示位用于指示所述第四码块单元是否为控制码、指示所述第一码块单元是否为控制码;以及,在所述第二码块单元为控制码的情况下,所述至少一个指示位还用于指示所述第二码块单元中的D码的个数。
19.根据权利要求15所述的装置,其特征在于,还包括获取单元,
所述获取单元,用于获取第一码流,所述第一码流中包括控制码;
所述处理单元,具体用于对所述第一码流中的控制码进行压缩,并在压缩后的码块的剩余空间内设置第一指示位,生成所述第一码块和所述第二码块。
20.根据权利要求19所述的装置,其特征在于,所述第一码流的控制码中包括至少一个8比特的码块单元,
所述处理单元,具体用于对所述第一码流中的一个8比特的码块单元进行压缩,得到N比特剩余空间,N≤8;在所述N比特的剩余空间内设置所述第一指示位,并填充成一个8比特的K码;根据所述8比特的K码生成所述第一码块,以及所述第二码块。
21.根据权利要求15-20任一项所述的装置,其特征在于,
所述第一码块为T7码块,所述第二码块为D码块;
或者,所述第一码块为S0码块,所述第二码块为D码块;
或者,所述第一码块为O码块,所述第二码块为D码块;
或者,所述第一码块为IDLE码块,所述第二码块为D码块;
其中,所述T7码块、S0码块、O码块和IDLE码块为控制码,所述D码块为数据码。
22.根据权利要求15-20任一项所述的装置,其特征在于,
所述处理单元,还用于在所述第一码块为T7码块,所述第二码块为D码块的情况下,将所述D码转码为S0码块,所述SO码块中包括:一个类型域,一个包括K码的码块单元和至少一个包括D码的码块单元;
其中,所述包括K码的码块单元是,原所述D码块的由一个K码和至少一个D码组成的所有码块单元进行压缩后生成的一个码块单元,且所述K码的码块单元中包括至少一个指示位。
23.根据权利要求15-20任一项所述的装置,其特征在于,所述第一码块为T7码块,所述第二码块为S0码块,
所述处理单元,还用于生成第三码块,所述第三码块为D码块。
24.一种码块接收装置,其特征在于,所述装置包括:
获取单元,用于接收第一码块和第二码块,所述第一码块包括第一码块单元,所述第二码块包括第二码块单元,且所述第一码块单元中设置有第一指示位;
处理单元,用于根据所述第一指示位的指示确定所述第二码块单元是否为控制码。
25.根据权利要求24所述的装置,其特征在于,所述第一码块中还包括第三码块单元,所述第三码块单元位于所述第一码块单元之前,所述第一码块单元中还设置有第二指示位,
所述处理单元,还用于根据所述第二指示位的指示确定所述第一码块单元之前的第三码块单元是否为控制码。
26.根据权利要求24或25所述的装置,其特征在于,所述控制码包括一个K码,或者由一个K码和至少一个D码组成;
所述处理单元,还用于在确定所述第一码块单元为所述控制码的情况下,根据所述第一码块单元中的第三指示位确定所述第一码块单元中的D码的个数。
27.根据权利要求24-26任一项所述的装置,其特征在于,所述第二码块中还包括第四码块单元,所述第四码块单元位于所述第二码块单元之后,所述第二码块单元中设置有至少一个指示位,
所述处理单元,还用于根据所述第二码块单元中的至少一个指示位确定所述第四码块单元是否为控制码、以及所述第一单元码块是否为控制码。
28.根据权利要求24所述的装置,其特征在于,
所述处理单元,具体用于如果所述第一指示信息指示所述第二码块单元不是控制码,则从所述第二码块单元开始为数据码。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811042289.8A CN110890936B (zh) | 2018-09-07 | 2018-09-07 | 一种码块生成方法、接收方法和装置 |
EP19858463.3A EP3840262B1 (en) | 2018-09-07 | 2019-09-05 | Bit block generating method and device, bit block receiving method and device |
JP2021512784A JP7256868B2 (ja) | 2018-09-07 | 2019-09-05 | ブロック生成方法及び機器、並びにブロック受信方法及び機器 |
KR1020217009668A KR102449296B1 (ko) | 2018-09-07 | 2019-09-05 | 블록 생성 방법과 장치 및 블록 수신 방법과 장치 |
PCT/CN2019/104531 WO2020048508A1 (zh) | 2018-09-07 | 2019-09-05 | 一种码块生成方法、接收方法和装置 |
US17/193,374 US11451325B2 (en) | 2018-09-07 | 2021-03-05 | Block generation method and apparatus, and block receiving method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811042289.8A CN110890936B (zh) | 2018-09-07 | 2018-09-07 | 一种码块生成方法、接收方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110890936A true CN110890936A (zh) | 2020-03-17 |
CN110890936B CN110890936B (zh) | 2021-12-14 |
Family
ID=69721538
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811042289.8A Active CN110890936B (zh) | 2018-09-07 | 2018-09-07 | 一种码块生成方法、接收方法和装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11451325B2 (zh) |
EP (1) | EP3840262B1 (zh) |
JP (1) | JP7256868B2 (zh) |
KR (1) | KR102449296B1 (zh) |
CN (1) | CN110890936B (zh) |
WO (1) | WO2020048508A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022056884A1 (zh) * | 2020-09-18 | 2022-03-24 | 华为技术有限公司 | 一种线路编码方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130346823A1 (en) * | 2012-06-26 | 2013-12-26 | International Business Machines Corporation | Encoding of data for transmission |
CN104426629A (zh) * | 2013-08-30 | 2015-03-18 | 华为技术有限公司 | 一种物理层编解码方法及其装置 |
US9154454B1 (en) * | 2013-03-14 | 2015-10-06 | Cisco Technology, Inc. | Fabric link physical coding sublayer packing scheme |
CN106788855A (zh) * | 2015-11-23 | 2017-05-31 | 华为技术有限公司 | 一种灵活以太网业务的光传送网承载方法及装置 |
CN107566075A (zh) * | 2016-07-01 | 2018-01-09 | 华为技术有限公司 | 一种发送和接收业务的方法、装置和网络系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012015473A1 (en) * | 2010-07-28 | 2012-02-02 | Omron Network Products, Llc | Method and apparatus for transporting an 8b/10b coded video stream across a 64b/66b coded link |
US11251908B2 (en) * | 2017-01-06 | 2022-02-15 | Idac Holdings, Inc. | Advanced coding on retransmission of data and control |
US20190068325A1 (en) * | 2017-08-23 | 2019-02-28 | Microsemi Storage Solutions, Inc. | System and method for block-coding transcoding |
-
2018
- 2018-09-07 CN CN201811042289.8A patent/CN110890936B/zh active Active
-
2019
- 2019-09-05 WO PCT/CN2019/104531 patent/WO2020048508A1/zh unknown
- 2019-09-05 JP JP2021512784A patent/JP7256868B2/ja active Active
- 2019-09-05 KR KR1020217009668A patent/KR102449296B1/ko active IP Right Grant
- 2019-09-05 EP EP19858463.3A patent/EP3840262B1/en active Active
-
2021
- 2021-03-05 US US17/193,374 patent/US11451325B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130346823A1 (en) * | 2012-06-26 | 2013-12-26 | International Business Machines Corporation | Encoding of data for transmission |
US9154454B1 (en) * | 2013-03-14 | 2015-10-06 | Cisco Technology, Inc. | Fabric link physical coding sublayer packing scheme |
CN104426629A (zh) * | 2013-08-30 | 2015-03-18 | 华为技术有限公司 | 一种物理层编解码方法及其装置 |
CN106788855A (zh) * | 2015-11-23 | 2017-05-31 | 华为技术有限公司 | 一种灵活以太网业务的光传送网承载方法及装置 |
CN107566075A (zh) * | 2016-07-01 | 2018-01-09 | 华为技术有限公司 | 一种发送和接收业务的方法、装置和网络系统 |
Non-Patent Citations (3)
Title |
---|
ERICSSON LM: ""EC-GSM-IoT RLC/MAC Block Structure and Control messages, Miscellaneous corrections"", 《GERAN_70_NANJING》 * |
RAJA SATTIRAJU;PRATIP CHAKRABORTY;HANS D. SCHOTTEN: ""Reliability analysis of a wireless transmission as a repairable system"", 《2014 IEEE GLOBECOM WORKSHOPS (GC WKSHPS)》 * |
ZHU.Y.等: ""ISIS Extensions for Flex Ethernet Link Advertisement"", 《DRAFT-ZHU-CCAMP-FLEXE-LINK-ADVERTISEMENT-00》 * |
Also Published As
Publication number | Publication date |
---|---|
CN110890936B (zh) | 2021-12-14 |
EP3840262B1 (en) | 2023-07-26 |
KR102449296B1 (ko) | 2022-09-29 |
EP3840262A4 (en) | 2021-11-17 |
JP2022515692A (ja) | 2022-02-22 |
JP7256868B2 (ja) | 2023-04-12 |
EP3840262A1 (en) | 2021-06-23 |
KR20210043706A (ko) | 2021-04-21 |
US11451325B2 (en) | 2022-09-20 |
US20210194624A1 (en) | 2021-06-24 |
WO2020048508A1 (zh) | 2020-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6430201B1 (en) | Method and apparatus for transporting gigabit ethernet and fiber channel signals in wavelength-division multiplexed systems | |
WO2019128664A1 (zh) | 一种数据传输方法、通信设备及存储介质 | |
CN106453028B9 (zh) | 传输数据的方法和装置 | |
EP3787208A1 (en) | Data transmission method, transmitter, and receiver | |
WO2016197894A1 (zh) | 一种数据处理的方法、通信设备及通信系统 | |
US8199772B2 (en) | Systems and methods for synchronous generic framing protocol mapping | |
CN108631908B (zh) | 使用FlexE承载信号帧的方法、FlexE信号帧还原的方法及装置 | |
WO2021180007A1 (zh) | 一种业务承载的方法、装置和系统 | |
CN113330696B (zh) | Cpri数据块传输方法和设备 | |
WO2021104168A1 (zh) | 一种资源分配方法、装置和设备 | |
US20230164624A1 (en) | Service data processing, exchange and extraction methods, devices, and computer-readable medium | |
WO2019090696A1 (zh) | 光传输单元信号的传输方法和装置 | |
US20040156314A1 (en) | Method and system for exploiting spare link bandwidth in a multilane communication channel | |
CN114710234A (zh) | 多用户数据复接超帧帧编码调制方法 | |
CN110890936B (zh) | 一种码块生成方法、接收方法和装置 | |
CN110830152B (zh) | 接收码块流的方法、发送码块流的方法和通信装置 | |
WO2021115215A1 (zh) | 一种数据传输方法、通信设备及存储介质 | |
CN109039537B (zh) | 一种amcc信息的传输方法及系统 | |
CN109257093B (zh) | 一种光网络中光监控信道处理的方法和装置 | |
JP2021533656A (ja) | コードブロックストリームの受信方法、コードブロックストリームの送信方法、および通信装置 | |
WO2024032269A1 (zh) | 通信方法、相关装置及计算机可读存储介质 | |
WO2019061406A1 (zh) | 一种业务数据发送方法及装置 | |
WO2024140074A1 (zh) | 一种传输帧的映射和解映射方法以及相关设备 | |
CN117729459A (zh) | 一种otn网络中用于osu业务带内管理的方法及设备 | |
CN115603879A (zh) | 一种数据传输方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |