CN114257334A - 一种数据编码方法、数据解码方法及通信装置 - Google Patents

一种数据编码方法、数据解码方法及通信装置 Download PDF

Info

Publication number
CN114257334A
CN114257334A CN202011019513.9A CN202011019513A CN114257334A CN 114257334 A CN114257334 A CN 114257334A CN 202011019513 A CN202011019513 A CN 202011019513A CN 114257334 A CN114257334 A CN 114257334A
Authority
CN
China
Prior art keywords
unit
transmission channel
identifier
coding units
frame
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.)
Pending
Application number
CN202011019513.9A
Other languages
English (en)
Inventor
陆玉春
马林
李亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202011019513.9A priority Critical patent/CN114257334A/zh
Priority to PCT/CN2021/118074 priority patent/WO2022062946A1/zh
Priority to EP21871317.0A priority patent/EP4203356A4/en
Publication of CN114257334A publication Critical patent/CN114257334A/zh
Priority to US18/188,251 priority patent/US20230224194A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
    • H04L25/4917Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using multilevel codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0002Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
    • H04L1/0003Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate by switching between different modulation schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0006Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/06Dc level restoring means; Bias distortion correction ; Decision circuits providing symbol by symbol detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
    • H04L25/4906Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using binary codes
    • H04L25/4908Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using binary codes using mBnB codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Quality & Reliability (AREA)
  • Power Engineering (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Communication Control (AREA)

Abstract

本申请公开一种数据编码方法、数据解码方法及通信装置,其中数据编码方法包括:生成M个编码单元以及将M个编码单元分发到N个传输通道,M个编码单元是对L个帧进行编码得到的,M个编码单元包括至少一个第一类单元,第一类单元包括第一标识,第一标识用于指示L个帧中的第一帧的帧头在第一类单元中的开始位置。本申请在对L个帧进行编码之后,将数据划分到M个编码单元,通过第一标识来指示每个编码单元包括的帧头的开始位置,实现对各个帧的定界。通过编码设计可使得第一标识本身具有一定的纠错能力,同时满足NRZ调制和PAM4调制下的直流均衡。且通过对第一标识的部分比特的调整,实现对各个传输链路上所传输数据的直流均衡。

Description

一种数据编码方法、数据解码方法及通信装置
技术领域
本申请涉及数据编码技术领域,尤其涉及一种数据编码方法、数据解码方法及通信装置。
背景技术
为了保证数据传输的可靠性和质量,通常发送侧会对要传输的数据进行编码,以使得传输的数据符合传输通道的特征。数据编码实质上是一种映射规则,例如将m比特信息映射为n比特信息。
常见的数据编码方式包括8b/10b编码、64b/66b编码、128b/130b编码,以及256b/257b转码等。其中,8b/10b编码开销较大。64b/66b编码开销相比8b/10b编码开销小,但是由于“01”和“10”会引入比较大的基线漂移,所以64b/66b编码采用PAM4调制无法保证较好的信号直流均衡,即64b/66b编码对PAM4调制方式不友好。128b/130b编码在64b/66b编码的基础上进一步降低编码开销,但同64b/66b编码类型,128b/130b编码采用PAM4调制无法保证较好的信号直流均衡。为了进一步降低编码开销,引入了256b/257b转码方案,该转码方案以64b/66b为基础转码得到,该转码方案继承64b/66b编码的缺点。另外,256b/257b转码方案存在257,即比较大的素数,限制了里的索罗门编码(reed-solomon forward error,RS-FEC)的设计灵活性,时延较大。
即现有的8b/10b编码、64b/66b编码、128b/130b编码,以及256b/257b转码无法兼顾编码开销的需求、时延需求以及信号直流均衡的需求。
发明内容
本申请提供一种数据编码方法、数据解码方法及通信装置,能够保证在4阶脉冲幅度调制(4Pulse Amplitude Modulation,PAM4)调制下达到直流平衡,降低数据传输的时延。
第一方面,本申请实施例提供一种数据编码方法,该方法可由第一通信装置执行,第一通信装置可以是通信设备或能够支持通信设备实现该方法所需的功能的通信装置,例如芯片***。下面以所述通信设备为发送端为例进行描述,其中,发送端可以是具有以太网接口装置或者发送端也可以是具有互联网技术(internet technolog,IT)接口的装置,发送端也可以是以太网接口或IT接口等。该方法包括:
生成M个编码单元,并将M个编码单元分发到N个传输通道,其中,该M个编码单元是对L个帧进行编码得到的,这M个编码单元包括至少一个第一类单元,第一类单元包括第一标识,第一标识用于指示所述L个帧中的第一帧的帧头在所述第一类单元中的开始位置,M为大于或等于1的整数,L为大于或等于1的整数,N为大于或等于1的整数。
本申请实施例在对L个帧进行编码之后,将数据划分到M个编码单元,通过第一标识来指示每个编码单元包括的帧头的开始位置,可实现接收端对各个帧的界定。另外,第一标识可控制整个数据流中连续“0”和连续“1”的个数,便于接收端的时钟恢复电路正常工作,避免时钟漂移。且可使得第一标识本身可实现信号直流均衡,即使对编码单元中的有效载荷进行扰码,对于整个编码单元来说,还是能够较好地实现信号直流均衡,从而能够保证在PAM4调制方式和NRZ调制方式下满足信号直流均衡。
在一种可能的实现方式中,所述第一类单元包括第一字段和第二字段和第三字段,所述第一字段用于承载所述第一标识,所述第二字段用于承载所述L个帧中一个或多个帧中的部分或全部数据,所述第三字段用于承载用于校验所述第一类单元的校验信息。
该方案提供了第一类单元的一种结构,即包括用于承载第一标识的第一字段,承载数据的第二字段,以及承载校验第一类单元的校验信息的第三字段。预先可规定各个字段的长度,这样便于接收端解码第一类单元。
在一种可能的实现方式中,所述第一类单元包括第一字段和第二字段,所述第一字段用于承载所述第一标识,所述第二字段用于承载所述L个帧中一个或多个帧中的部分或全部数据。
该方案提供了第一类单元的一种结构,即包括承载第一标识的第一字段,承载数据的第二字段。该结构下第一类单元不再对该单元中的数据进行单独校验,那么第一类单元所承载的载荷的可靠性由上层帧自带的校验位保证。该方案可进一步压缩编码单元的开销,提高编码单元的承载率。
在一种可能的实现方式中,所述M个编码单元还包括至少一个第二类单元,所述第二类单元包括第二字段,其中,第一单元所承载的数据属于第二单元中的第一标识对应的帧,所述第一单元为所述至少一个第二类单元中的一个单元,所述第二单元为所述至少一个第一类单元中的一个单元,所述第二单元为所述第一单元的前一个第一类单元。
该方案中,用于承载第一标识的第一字段可用于承载数据,以提高编码单元的承载效率。对于接收端而言,接收端可确定一个第二类单元承载的有效载荷属于该第二类单元的前一个第一类单元中第一标识对应的帧;或者接收端可确定连续的多个第二类单元承载的有效载荷属于该连续的多个第二类单元的前一个第一类单元中第一标识对应的帧。
在一种可能的实现方式中,所述第二字段包括K个子字段,所述K个子字段中每个子字段占用的比特数相同,或者,所述K个子字段中至少两个子字段占用的比特数不相同。
该方案中,L个帧的有效载荷承载于K个子字段,不同帧的有效载荷可承载于同一个编码单元的不同子字段,该方案不限制K个子字段的长度,K个子字段中各个子字段的长度也可以相同,也可以不相同,以提高承载载荷的灵活度。
在一种可能的实现方式中,所述第一帧的帧头的开始位置为所述K个子字段的中的第一子字段的开始位置。该方案规定了第一帧的帧头的开始位置,接收端可从接收的编码单元中明确知道帧头的开始位置,以实现对各个帧的定界。
在一种可能的实现方式中,所述第一标识包括X个比特,所述X个比特在4阶脉冲幅度调制PAM4调制方式下满足直流均衡。
在一种可能的实现方式中,所述X个比特还在非归零NRZ调制方式下满足直流均衡。
该方案中,第一标识自身可满足信号直流均衡,这样的话,即使对编码单元中的有效载荷进行扰码,对于整个编码单元来说,还是能够较好地实现信号直流均衡,从而能够保证在PAM4调制方式和NRZ调制方式下满足信号直流均衡。
在一种可能的实现方式中,所述X等于16,所述第一标识包括1110010011100100、0010011111011000、0110001110000111、1000011101100011、0111100010011100、1001110001111000、1101100000100111或0001101100011011。该方案提供了第一标识的具体实现形式。例如X个比特是根据预设规则调整eBCH码字的比特位顺序获得的。由于该第一标识可通过eBCH码字,即纠错检错码字生成,实现对第一标识的保护,无需另外设置用于保护第一标识的校验信息,可降低编码开销。
在一种可能的实现方式中,以固定长度将所述至少一个第一类单元轮询分发到N个传输通道。
示例性的,所述至少一个第一类单元中的第三单元的第一标识的分发顺序位于有效载荷的分发顺序之前。即至少第一类单元以固定长度,按照先第一标识后有效载荷的分发顺序将至少一个第一类单元中分发到N个传输通道,较为简单。
进一步地,所述至少一个第一类单元中的第四单元的第一标识的分发顺序位于部分有效载荷的分发顺序之后。即至少一个第一类单元中的某些单元的第一标识的分发顺序位于有效载荷的分发顺序之前,至少一个第一类单元中的某些单元的第一标识的分发顺序位于部分有效载荷的分发顺序之后。也就是同一轮或者不同轮中,第一类单元的第一标识的分发顺序可能不相同。例如前一轮按照第一标识的分发顺序位于有效载荷的分发顺序之前将第一类单元轮询分发之后,各个传输通道上的第一标识出现的概率不相同,那么下一次轮询时,可调整传输通道的分发顺序,以使得各个传输通道上的第一标识出现的概率相同,从而实现全部传输通道的信号直流均衡。
又一示例性的,N个传输通道包括P个传输通道组,其中,在第一轮中所述P个传输通道组中的第一传输通道组的轮询顺序位于所述P个传输通道组中的第二传输通道组的轮询顺序之前,在另一轮中,所述第一传输通道组的轮询顺序位于所述第二传输通道组的轮询顺序之后。即可对N个传输通道进行分组绑定,例如将相邻的两个传输通道绑定为一组,以传输通道组为单位,将M个编码单元分发到P个传输通道组。在不同轮中,同一传输通道组的轮询顺序可能不相同。例如如果某次轮询之后,各个传输通道上的第一标识出现的概率不相同,那么下一次轮询时,调整传输通道组的轮询顺序,以保证各个传输通道上的第一标识出现的概率相同,从而实现全部传输通道的信号直流均衡。由于以传输通道组为单位,调整传输通道组的轮询顺序也就是将该传输通道组承载的载荷的轮询顺序一并调整,利于接收端解码,可降低接收端实现的复杂度。
在一种可能的实现方式中,在发送所述M个编码单元之前,所述方法还包括:
针对所述N个传输通道中的任意一条传输通道,根据该传输通道的直流均衡情况,调整该传输通道中的一个或多个第一标识的部分比特位。该方案中,可认为第一标识通过纠错检错码字生成,那么第一标识本身具有纠错能力,这样即使调整第一标识的部分比特,接收端也可以通过对其进行纠错,不会影响对第一标识的识别。因此,可通过调整第一标识的部分比特保证一定长度范围内的任意数据流的信号直流均衡。
第二方面,本申请实施例提供一种数据解码方法,该方法可由第二通信装置执行,第二通信装置可以是通信设备或能够支持通信设备实现该方法所需的功能的通信装置,例如芯片***。下面以所述通信设备为接收端为例进行描述,其中,发送端可以是具有以太网接口装置或者发送端也可以是具有IT接口的装置,接收端也可以是以太网接口或IT接口等。该方法包括:
从N个传输通道中接收M个编码单元,该M个编码单元是对L个帧进行编码得到的,M个编码单元包括至少一个第一类单元,第一类单元包括第一标识,第一标识用于指示所述L帧中的第一帧的帧头在所述第一类单元中的位置,M为大于或等于1的整数,所述L为大于或等于1的整数,所述N为大于或等于1的整数;
根据至少一个第一标识解码所述M个编码单元,获得所述L个帧。
在一种可能的实现方式中,所述第一类单元包括第一字段和第二字段,第一字段用于承载所述第一标识,第二字段用于承载所述L个帧中一个或多个帧中的部分或全部数据。
在一种可能的实现方式中,所述第一类单元还包括第三字段,第三字段用于承载用于校验所述第一类单元的校验信息。
在一种可能的实现方式中,所述M个编码单元还包括至少一个第二类单元,第二类单元包括第二字段,其中,第一单元所承载的数据属于第二单元中的第一标识对应的帧,所述第一单元为所述至少一个第二类单元中的一个单元,所述第二单元为所述至少一个第一类单元中的一个单元,所述第二单元为所述第一单元的前一个第一类单元。
在一种可能的实现方式中,第二字段包括K个子字段,所述K个子字段中每个子字段占用的比特数相同,或者,所述K个子字段中至少两个子字段占用的比特数不相同。
在一种可能的实现方式中,所述第一帧的帧头的开始位置为所述K个字段的中的第一子字段的开始位置。
在一种可能的实现方式中,所述第一标识包括X个比特,所述X个比特在4阶脉冲幅度调制PAM4调制方式下满足直流均衡。
在一种可能的实现方式中,所述X个比特还在非归零NRZ调制方式下满足直流均衡。
在一种可能的实现方式中,所述X等于16,所述第一标识包括1110010011100100、0010011111011000、0110001110000111、1000011101100011、0111100010011100、1001110001111000、1101100000100111或0001101100011011。
在一种可能的实现方式中,以固定长度轮询从所述N个传输通道接收所述M个编码单元。
示例性的,所述至少一个第一类单元中的第三单元的第一标识的分发顺序位于有效载荷的分发顺序之前。
进一步地,所述至少一个第一类单元中的第四单元的第一标识的分发顺序位于部分有效载荷的分发顺序之后。
又一示例性的,N个传输通道包括P个传输通道组,其中,在第一轮中,所述P个传输通道组中的第一传输通道组的轮询顺序位于所述P个传输通道组中的第二传输通道组的轮询顺序之前。
进一步地,在第二轮中,P个传输通道组中的所述第一传输通道组的轮询顺序位于所述第二传输通道组的轮询顺序之后。
关于第二方面或第二方面的各种可能的实施方式所带来的技术效果,可以参考对第一方面或第一方面的各种可能的实施方式的技术效果的介绍。
第三方面,提供一种通信装置,该通信装置具有实现上述第一方面方法实施例中的行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。在一种可能的实现方式中,包括处理器和收发器,其中:
所述处理器用于生成M个编码单元,该M个编码单元是对L个帧进行编码得到的,这M个编码单元包括至少一个第一类单元,第一类单元包括第一标识,第一标识用于指示所述L个帧中的第一帧的帧头在所述第一类单元中的开始位置,M为大于或等于1的整数,L为大于或等于1的整数;所述收发器用于将M个编码单元分发到N个传输通道,其中,N为大于或等于1的整数。
在一种可能的实现方式中,所述第一类单元包括第一字段和第二字段和第三字段,所述第一字段用于承载所述第一标识,所述第二字段用于承载所述L个帧中一个或多个帧中的部分或全部数据,所述第三字段用于承载用于校验所述第一类单元的校验信息。
在一种可能的实现方式中,所述第一类单元包括第一字段和第二字段,所述第一字段用于承载所述第一标识,所述第二字段用于承载所述L个帧中一个或多个帧中的部分或全部数据。
在一种可能的实现方式中,所述M个编码单元还包括至少一个第二类单元,所述第二类单元包括第二字段,其中,第一单元所承载的数据属于第二单元中的第一标识对应的帧,所述第一单元为所述至少一个第二类单元中的一个单元,所述第二单元为所述至少一个第一类单元中的一个单元,所述第二单元为所述第一单元的前一个第一类单元。
在一种可能的实现方式中,所述第二字段包括K个子字段,所述K个子字段中每个子字段占用的比特数相同,或者,所述K个子字段中至少两个子字段占用的比特数不相同。
在一种可能的实现方式中,所述第一帧的帧头的开始位置为所述K个子字段的中的第一子字段的开始位置。
在一种可能的实现方式中,所述第一标识包括X个比特,所述X个比特在4阶脉冲幅度调制PAM4调制方式下满足直流均衡。
在一种可能的实现方式中,所述X个比特还在非归零NRZ调制方式下满足直流均衡。
在一种可能的实现方式中,所述X等于16,所述第一标识包括1110010011100100、0010011111011000、0110001110000111、1000011101100011、0111100010011100、1001110001111000、1101100000100111或0001101100011011。
在一种可能的实现方式中,所述收发器具体用于以固定长度将所述至少一个第一类单元轮询分发到N个传输通道。
示例性的,所述至少一个第一类单元中的第三单元的第一标识的分发顺序位于有效载荷的分发顺序之前。
进一步地,所述至少一个第一类单元中的第四单元的第一标识的分发顺序位于部分有效载荷的分发顺序之后。
又一示例性的,N个传输通道包括P个传输通道组,其中,在第一轮中,所述P个传输通道组中的第一传输通道组的轮询顺序位于所述P个传输通道组中的第二传输通道组的轮询顺序之前。
进一步地,在第二轮中P个传输通道组中的所述第一传输通道组的轮询顺序位于所述第二传输通道组的轮询顺序之后。
在一种可能的实现方式中,在发送所述M个编码单元之前,所述收发器还用于:
针对所述N个传输通道中的任意一条传输通道,根据该传输通道的直流均衡情况,调整该传输通道中的一个或多个第一标识的部分比特位。
关于第三方面或第三方面的各种可能的实施方式所带来的技术效果,可以参考对第一方面或第一方面的各种可能的实施方式的技术效果的介绍。
第四方面,提供一种通信装置,该通信装置具有实现上述第二方面方法实施例中的行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。在一种可能的实现方式中,包括处理器和收发器,其中:
所述收发器用于从N个传输通道中接收M个编码单元,该M个编码单元是对L个帧进行编码得到的,M个编码单元包括至少一个第一类单元,第一类单元包括第一标识,第一标识用于指示所述L帧中的第一帧的帧头在所述第一类单元中的位置,M为大于或等于1的整数,所述L为大于或等于1的整数,所述N为大于或等于1的整数;所述处理器用于根据至少一个第一标识解码所述M个编码单元,获得所述L个帧。
在一种可能的实现方式中,所述第一类单元包括第一字段和第二字段,第一字段用于承载所述第一标识,第二字段用于承载所述L个帧中一个或多个帧中的部分或全部数据。
在一种可能的实现方式中,所述第一类单元还包括第三字段,第三字段用于承载用于校验所述第一类单元的校验信息。
在一种可能的实现方式中,所述M个编码单元还包括至少一个第二类单元,第二类单元包括第二字段,其中,第一单元所承载的数据属于第二单元中的第一标识对应的帧,所述第一单元为所述至少一个第二类单元中的一个单元,所述第二单元为所述至少一个第一类单元中的一个单元,所述第二单元为所述第一单元的前一个第一类单元。
在一种可能的实现方式中,第二字段包括K个子字段,所述K个子字段中每个子字段占用的比特数相同,或者,所述K个子字段中至少两个子字段占用的比特数不相同。
在一种可能的实现方式中,所述第一帧的帧头的开始位置为所述K个字段的中的第一子字段的开始位置。
在一种可能的实现方式中,所述第一标识包括X个比特,所述X个比特在4阶脉冲幅度调制PAM4调制方式下满足直流均衡。
在一种可能的实现方式中,所述X个比特还在非归零NRZ调制方式下满足直流均衡。
在一种可能的实现方式中,所述X等于16,所述第一标识包括1110010011100100、0010011111011000、0110001110000111、1000011101100011、0111100010011100、1001110001111000、1101100000100111或0001101100011011。
在一种可能的实现方式中,所述收发器具体用于以固定长度轮询从所述N个传输通道接收所述M个编码单元。
示例性的,所述至少一个第一类单元中的第三单元的第一标识的分发顺序位于有效载荷的分发顺序之前。
进一步地,所述至少一个第一类单元中的第四单元的第一标识的分发顺序位于部分有效载荷的分发顺序之后。
又一示例性的,N个传输通道包括P个传输通道组,其中,在第一轮中,所述P个传输通道组中的第一传输通道组的轮询顺序位于所述P个传输通道组中的第二传输通道组的轮询顺序之前。
进一步地,在第二轮中,P个传输通道组中的所述第一传输通道组的轮询顺序位于所述第二传输通道组的轮询顺序之后。
关于第四方面或第四方面的各种可能的实施方式所带来的技术效果,可以参考对第二方面或第二方面的各种可能的实施方式的技术效果的介绍。
第五方面,本申请实施例提供一种通信装置,该通信装置可以为上述实施例中第三方面或第四方面中的通信装置,或者为设置在第三方面或第四方面中的通信装置中的芯片。该通信装置包括通信接口以及处理器,可选的,还包括存储器。其中,该存储器用于存储计算机程序或指令或者数据,处理器与存储器、通信接口耦合,当处理器读取所述计算机程序或指令或数据时,使通信装置执行上述第一方面或第二方面方法实施例中由发送端或接收端所执行的方法。
应理解,该通信接口可以通过所述通信装置中的IT接口、以太网接口和编解码器等实现,或者,如果通信装置为设置在发送端或接收端中的芯片,则通信接口可以是该芯片的输入/输出接口,例如输入/输出管脚等。
第六方面,本申请实施例提供了一种芯片***,该芯片***包括处理器,还可以包括存储器,用于实现第三方面或第四方面中的通信装置执行的方法。在一种可能的实现方式中,所述芯片***还包括存储器,用于保存程序指令和/或数据。该芯片***可以由芯片构成,也可以包含芯片和其他分立器件。
第七方面,本申请实施例提供了一种通信***,所述通信***包括第三方面所述的通信装置和第四方面所述的通信装置。
第八方面,本申请提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,当该计算机程序被运行时,实现上述各方面中由发送端执行的方法;或实现上述各方面中由接收端执行的方法。
第九方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码被运行时,使得上述各方面中由发送端执行的方法被执行,或使得上述各方面中由接收端执行的方法被执行。
上述第五方面至第九方面及其实现方式的有益效果可以参考对第一方面或第二方面的方法及其实现方式的有益效果的描述。
附图说明
图1为一种通信接口的结构示意图;
图2为一个传输链路下的128b/130b编码格式;
图3为4个传输链路下的128b/130b编码格式;
图4为本申请实施例提供的数据编码方法的示意性流程图;
图5为本申请实施例提供的第一类单元的一种帧结构示意图;
图6为本申请实施例提供的将第一帧映射至第一类单元的映射方式示意图;
图7为本申请实施例提供的L个帧映射到M个编码单元的一种映射方式示意图;
图8为本申请实施例提供的第一类单元的另一种帧结构示意图;
图9为本申请实施例提供的将第一帧映射至第一类单元的映射方式示意图;
图10为本申请实施例提供的L个帧映射到M个编码单元的另一种映射方式示意图;
图11为本申请实施例提供的第一类单元的再一种帧结构示意图;
图12为本申请实施例提供的将第一帧映射至多个第一类单元的映射方式示意图;
图13为本申请实施例提供的第二类单元的一种帧结构示意图;
图14为本申请实施例提供的将帧映射到多个第一类单元和第二类单元的一种映射方式示意图;
图15为本申请实施例提供的按照68字节将M编码单元轮询到16个传输通道的分发规则示意图;
图16为本申请实施例提供的按照68字节将M编码单元轮询到12个传输通道的分发规则示意图;
图17为本申请实施例提供的按照68字节将M编码单元轮询到8个传输通道的分发规则示意图;
图18为本申请实施例提供的按照66字节将M编码单元轮询到16个传输通道的分发规则示意图;
图19为本申请实施例提供的按照82字节将M编码单元轮询到16个传输通道的分发规则示意图;
图20为本申请实施例提供的通信装置的一种结构示意图;
图21为本申请实施例提供的通信装置的另一种结构示意图。
具体实施方式
为了使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例作进一步地详细描述。
请参见图1,示出了一种通信接口的结构,该通信接口可以是以太网接口,也可以是IT接口,或者其他可能传输信息的通信接口。以该通信接口是以太网接口为例,如图1所示,该通信接口可包括其他高层(higher layer)、媒质访问控制(media access control,MAC)层、物理编码子层(physical coding sublayer,PCS)、物理介质附加层(physicalmedium attachment,PMA)层,物理介质依附层(physical medium dependent,PMD)层。需要说明的是,图1仅示出了部分层,该通信接口还可包括其他可能的层,例如位于其他高层和MAC层之间的逻辑链路控制(logic link control,LLC)层、位于MAC层和PCS层之间的协调子层(reconciliation sublayer,RS),位于PCS层和PMA层之间的里的索罗门编码(reed-solomon forward error,RS-FEC)子层等。应理解,对于不同的接口标准协议,各层的命名存在差异,本申请实施例不限制各种接口标准协议所涉及的层的名称。例如在一些接口标准协议中可能不存在MAC层,那么MAC层将数据传输给PCS层可以认为是上层将数据传输给PCS层。在下文的描述中,以本申请实施例应用于以太网接口为例。
当发送端发送数据流时,经过通信接口进行传输,自上而下依次涉及MAC层、RS层、PCS层、RS-FEC子层、PMA层和PMD层的处理,处理后的数据流体现为发送到链路媒质上的信号。接收端从链路媒质上接收信号,依次经PMD层、PMA层、RS-FEC子层、PCS层的处理,恢复出MAC层数据流,即接收端是发送端的逆过程。
为了保证数据传输的可靠性和质量,从PCS层到PMA层会涉及到数据编码,以使得传输的数据符合传输通道的特征。数据编码实质上是一种映射规则,例如将m比特(bit)信息映射为n比特信息。为便于本领域技术人员理解本申请实施例提供的技术方案,首先介绍几种常见的数据编码格式。
1)8b/10b编码,即m=8,n=10。8b/10b编码是将一组连续的8位数据分解成包括3位数据的一组数据以及包括5位数据的一组数据,即两组数据,分别在这两组数据中添加特殊字符,经过编码后分别成为一组4位数据和一组6位数据,即10位数据。相反,解码是将输入的1组10位数据经过解码得到8位数据。由于8b/10b编码是将8bit数据和一些特殊字符按照特定的规则编码为10bit数据,因此可检测出传输过程中产生的单个或多个比特误码,在发现数据位的传输错误,可纠正该错误,尽量保证数据的正确传输。
8b/10b编码采用非回零(不归零)(non-return to zero,NRZ)调制,通过检测前一个字符的不均衡型来决定后一个字符的编码。即如果前一个字符是正不均衡性字符,则后一个就应该选择负不均衡性。这样每5个连续的“1”后必须***一位“0”或每5个连续的“0”后必须***一位“1”,即连续的“1”或“0”不超过5位。这种连续不均衡机制使得整个比特流中“0”、“1”数量保持基本一致,从而保证信号直流(direct current,DC)平衡。且由于连续的“1”或“0”不超过5位,所以接收端可认为连续5位后发生电平的跳变,这样可保证时钟恢复电路能正常工作,避免接收端时钟漂移或同步丢失而引起数据丢失,即保证发送端传输的数据在接收端能够被正确复原。
但是8b/10b编码实质上是在8bit有效载荷中***2bit冗余,所以8b/10b编码的开销高达25%,编码效率低。为此,提出了较低开销的编码方式,例如编码开销是3.125%的64b/66b编码等。
2)64b/66b编码,即m=64,n=66。64b/66b编码是将64bit有效载荷转换为66bit码块的编码方式,由IEEE 802.3工作组定义。66bit码块由2bit同步头和64bit有效载荷构成。2bit同步头包括码块的第0比特和第1比特,2bit同步头有两种情况,即2bit同步头可为“01”或“10”。如果同步头为“01”,则64bit有效载荷为数据码块,如果同步头为“10”,则64比特有效载荷包括8bit的控制码块和56比特的控制信息和/或数据,该控制码块的字段可称为控制码块的类型域(可称为type域)。应理解,“00”和“11”并未被使用,如果66比特码块出现“00”和“11”,那么可认为链路出现误码。
由于每64bit有效载荷***2bit同步头,所以可保证每66比特会出现一次比特的跳变,所以可使得时钟恢复电路更加容易正常工作,避免接收端时钟漂移或同步丢失而引起数据丢失,即保证传输的数据串在接收端能够被正确复原。
如果接收端接收的码块流中“0”和“1”不均匀的话,接收端可能无法准确地确定同步头。因此通常64b/66b编码采用NRZ调制格式,并根据X^58+X^39+1的自同步加扰方式对64比特有效载荷进行扰码,使传输的66比特码块中“0”和“1”相对均匀,可保证DC均衡。
应理解,采用64b/66b编码的物理接口会以66比特码块为粒度将要传输的数据分发到多个传输通道,之后在汇聚多个传输通道的数据,在多个传输通道上进行传输。然而对于每个传输通道而言,会等到获得64比特有效载荷,并判断类型以及添加同步头,获得66比特码块之后再发送。即各个传输通道发送码块之前,需要一直等到获取到64比特有效载荷,即等待时间造成数据传输的延迟。
3)128b/130b编码,即m=128,n=130。128b/130b编码相比于8b/10b编码可提高带宽利用率,例如带宽利用率从80%可提高到98.46%。与64b/66b编码类似,128b/130b编码是在128bit载荷前面加上2bit的同步头。该同步头为“01”时,表示其后面是控制数据(Ordered Set);该同步头为“10”,则表示其后面是载荷数据(非Order Set)。与64b/66b编码不同之处在于,采用128b/130b编码的物理接口,例如外设部件互联标准(peripheralcomponent interconnect express,PCIE)接口先按照字节为单位将数据分发到多个传输链路,然后逐个在各个传输链路添加同步头。其中,如果128bit数据是纯数据,则添加“01”同步头,如果128bit数据不是纯数据,则添加“10”同步头。2bit同步头和128bit载荷,一起称为数据块(data block)。
示例性的,图2和图3分别示出了一个传输链路和4个传输链路下128b/130b编码格式。其中,图2和图3中一个符号(symbol)可承载8比特码块(S0-S7),其中S0是最低有效位,S7是最高有效位。如图2所示,发送侧在传输链路上添加2bit同步头(H0和H1),同步块后面是128bit载荷。整个传输链路上的码块流包括2bit同步头和128bit载荷。如图3所示,发送侧将要发送的数据块编码后分发到4个传输链路,在分发时,依次在各个传输链路上添加同步头,并按照字节为单位将数据分发到各个传输链路。
应理解,链路上连续的“0”和连续的“1”最多为128个,如果接收端接收的码块流中“0”和“1”不均匀的话,***会存在比较明显的基线漂移,影响接收侧SerDes性能。由于链路上连续的“0”和连续的“1”最多为128个,仅依靠128b/130b编码不能实现较好的DC均衡。因此,128b/130b编码与64b/66b编码类似,通过在128b/130b编码中的数据部分引入扰码来实现DC均衡。
4)256b/257b转码,指的是4个66b码块到1个257b码块的映射,可进一步降低编码开销。
256b/257b转码以64b/66b为基础转码得到,该转码方案继承64b/66b编码的缺点。另外,256b/257b转码方案存在257,即比较大的素数,限制了里的索罗门编码(reed-solomon forward error,RS-FEC)的设计灵活性,时延较大。
前述的8b/10b、64b/66b以及128b/130b和、256b/257b转码并不适用PAM4调制方式。这是因为“01”和“10”在格雷编码及PAM4调制下分别映射为“-1”电平和“+1”电平,但是通常在链路中同步头“01”出现的概率远高于同步头“10”出现的概率。因此如果8b/10b、64b/66b以及128b/130b采用PAM4调制,一段时间内出现“-1”电平的概率较大,这样会引入直流基线漂移,无法保证接收端时钟数据恢复电路(clock data recovery,CDR)正常工作,造成数据丢失或引入误码。即无法保证发送端传输的数据在接收端能够被正确复原。
鉴于此,本申请实施例提供了一种可适用于NRZ调制和PAM4调制的数据编码方案,以尽量降低编码时延,简化Gearbox设计,且能够保证DC均衡。
本申请实施例提供的方案可以应用于需要编码格式转换的场景。例如涉及到以太网接口、IT接口、PCI接口、PCIe接口、存储器接口等技术领域。下文以本申请实施例应用于以太网接口为例。
本申请实施例中提供的方案可以对要发送的数据流进行编码,该改进的方案可以在发送模块中实现。本申请实施例中提供的方案还可以对接收的数据流进行解码,该改进的方案可以在接收模块中实现。即本申请实施例中改进的方案涉及到发送模块和接收模块,该发送模块和接收模块可以位于在一个节点,或者,该发送模块和接收模块分别位于不同的节点。下文以发送模块位于发送端,接收模块位于接收端为例,对本申请实施例提供的技术方案进行介绍。
请参见图4,为本申请实施例提供的数据编码方法的示意性流程图。本申请实施例中数据编码指的是PCS层的编码。上层将数据传输给PCS层,PCS层从上层接收L个帧,对这L个帧进行编码,生成多个编码单元。由于本申请实施例中编码指的是PCS层的编码,所以编码单元也可以称为物理编码单元(physical coding unit),可简称为phit。即下文中phit表示编码单元。这里的帧是指符合IEEE802.3帧要求的数据单元(MAC frame)。如果该数据编码应用于其他协议标准接口,那么这里的帧也可以是符合其他协议标准的数据单元,例如数据链路报文(data link layer package,DLLP)。具体的,本申请实施例提供的数据编码方法的流程描述如下。
S401、发送端生成M个编码单元,该M个编码单元是对L个帧进行编码得到的,M个编码单元包括至少一个第一类单元,该第一类单元包括第一标识,第一标识用于指示所述L个帧中的第一帧的帧头在所述第一类编码的位置,M为大于或等于1的整数,L为大于或等于1的整数。
本申请实施例旨在提供适用于PAM4调制的编码方案,且同时能够保证信号直流平衡。在本申请实施例中,PCS层可对接收到的一个或多个帧进行编码,生成多个编码单元。PCS层对帧进行编码,也就是将帧映射到编码单元。应理解,编码单元应包括帧的原始信息,以及另外添加的信息,便于接收端对M个编码单元正确解码,以获得该帧的原始信息。应理解,如果多个编码单元的长度不同,编码较为复杂。所以在本申请实施例中,每个编码单元的长度可以是固定的,以降低编码的复杂度。示例性的,每个编码单元的长度可以是***定义的,也可以是发送端和接收端约定的,对此,本申请实施例不作限制。
在一些实施例中,PCS层每接收到一个帧,可对该帧进行编码,并发送编码生成的编码单元。由于接收到某个帧,对该帧编码并发送,所以时延较低。但是一个帧对应一个编码单元,如果该帧的数据量较小,那么该编码单元的承载率较低,编码开销较大。为了提高编码单元的承载效率,可以将多个小帧拼接为一个长帧,将该长帧映射到一个编码单元。或者也可以理解为,当PCS层接收的某个帧的长度小于一个编码单元的长度,PCS层可继续接收其它帧,之后将接收的多个帧映射到一个编码单元。例如PCS层接收到L个帧,对这L个帧进行编码生成M个编码单元,其中,L大于或等于2,M大于或等于1。由于L个帧一起编码,所以可提高编码单元的承载率,降低编码开销。需要说明的是,L个帧可包括同一种类型的帧,也可以包括多种类型的帧,对此本申请实施例不作限制。
作为一种示例,PCS层可对L个帧进行分割,获得多个数据单元,将这多个数据单元映射到M个编码单元。考虑到接收端接收到M个编码单元,对M个编码单元进行解码后获得多个数据单元,需要从这多个数据单元中确定哪些数据单元属于同一个帧。PCS层对L个帧进行分割,可按照数据信息和控制信息来划分。应理解,对于某个帧来说,控制信息通常用于指示该帧的长度、该帧的源地址、该帧的目的地址等信息,可以认为是该帧的帧头。相对来说,数据信息可以是帧的帧体和帧尾。控制信息相对于数据信息较少,所以可将控制信息划分到一个数据单元,将数据信息划分成多个数据单元,此处需要说明的是,当控制信息长度大于一个数据单元长度时,可将控制信息的部分数据划分到一个数据单元中,将控制信息中剩余的部分与数据信息一起进行划分。这样接收端通过控制信息可对多个数据单元进行定界,即确定帧的开始位置,进而确定哪些数据块属于同一个帧。为了便于区分,下文中将控制信息划分成的数据单元称为控制块(control block)或者帧头,将数据信息划分成的数据单元称为数据块(data block)或者有效载荷。即PCS层将L个帧划分为多个控制块和多个数据块。
PCS层将对L个帧划分获得的多个控制块和多个数据块映射到M个编码单元,并发送给接收端。对于接收端而言,需要从接收的M个编码单元中确定哪些控制块和数据块属于同一个帧,即正确解码M个编码单元,以获得正确的L个帧。为了使得接收端可正确解码M个编码单元,发送端可指定控制块在编码单元的开始位置,以使得接收端根据编码单元中控制块的开始位置实现对多个数据块的定界。应理解,M个编码单元中每个编码单元的长度固定,而L个帧中有的帧较长,有的帧较多短,如果一个帧对应一个编码单元,显然每个编码单元的长度较长,开销较大。如果某个帧的长度大于一个编码单元的长度,那么在一个编码单元完成不了一个帧的映射,因此,本申请实施例允许一个帧可映射至多个编码单元,以尽量节约编码单元的开销。这就意味M个编码单元中,有的编码单元可包括帧头和数据块,有的编码单元可包括数据块,且不包括帧头。那么M个编码单元中不同类编码单元的结构可相同,也可不同。
为了使得接收端能够区分接收的M个编码单元中哪些单元有帧头,哪些单元没有帧头。发送端可通过第一标识指示该个单元是否包括帧头。进一步的,即使接收端确定某个单元包括帧头,如果接收端无法确定该帧头在该单元中的开始位置,接收端还是无法从该单元中确定准确的帧头,也就是无法确定编码单元上哪些数据块属于同一个帧。因此,第一标识可进一步用于指示某个单元中的帧头在该单元中的开始位置,这样接收端可根据第一标识实现对接收的M个编码单元中包括的各个帧进行定界。应理解,如果一个单元不包括帧头,那么该单元可不用承载第一标识,以提高该单元的数据承载率。为便于描述,在下文中,将包括第一标识的编码单元称为第一类单元,将不包括第一标识的编码单元称为第二类单元。应理解,第一类单元和第二类单元的结构可不相同。
M个编码单元可包括至少一个第一类单元,或者,M个编码单元包括至少一个第一类单元和至少一个第二类单元。将L个帧划分成的多个控制块和多个数据块映射到M个编码单元的方式,因编码单元的结构形式的不同而有所不同。下面结合编码单元的几种可能的实现形式,说明PCS层如何将多个控制块和多个数据块映射到M个编码单元。
实现形式一,请参见图5,示出了一种第一类单元的帧结构。第一类单元包括第一字段和第二字段和第三字段。其中,第一字段用于承载第一标识,第二字段用于承载第一帧的帧头和数据,第三字段用于承载校验该第一类单元的校验信息。第一帧可以是L个帧的任意一个帧。
通常来说,第一标识用于指示第一帧的帧头在某个第一类单元中的开始位置,占用较少的比特或字节(byte)即可。而第二字段用于承载帧头和数据,需要占用较多的比特或字节。第三字段用于承载校验第一类单元的校验信息,该校验信息可以是第一帧的校验信息,例如可以是帧校验序列码(frame check sequence,FCS),因此第三字段相对第二字段来说占用较少的比特或字节。为便于描述,图5以第一字段占用X字节、第二字段占用Y字节,第三字段占用Z字节为例。但是本申请实施例对于第一字段、第二字段和第三字段的长度不作限制。
本申请实施例可将第二字段划分为多个子字段。例如第二字段可包括K个子字段(即U0至Uk-1),K大于或等于2。这样以每个子字段的开始位置为参考点,可明确指示第一帧的帧头在第一类单元中的开始位置。例如第一帧的帧头可位于K个子字段中的任一子字段。示例性的,可规定第一帧的帧头的开始位置为子字段的开始位置,这样发送端指示第一帧的帧头位于哪个子字段,接收端可确定正确的帧头。或者,可规定第一帧的帧头的开始位置与子字段的开始位置具有第一偏移量,这样发送端指示第一帧的帧头位于哪个子字段,接收端也可确定正确的帧头。本申请实施例不限制第一偏移量的粒度,例如第一偏移量的粒度可以是比特,也可以是字节。K个子字段中除承载帧头的子字段之外的其余子字段可用于承载载荷和校验信息。其中,载荷包括帧体内的有效载荷,也可以包括帧尾内的有效载荷、控制帧或者空闲码块。
请参见图6,示出了将第一帧映射至第一类单元的映射方式。第一帧的帧头可映射至第一类单元中第二字段中的任一子字段。第一字段承载的第一标识可指示帧头在第一类单元中的位置。第一标识的取值不同对应的位置也不同。如图6所示的第1种映射方案,第一帧的帧头可位于第一个子字段,第一标识的取值可为第一值;如图6所示的第2种映射方案,第一帧的帧头可位于第二个子字段,第一标识的取值可为第二值;如图6所示的第3种映射方案,第一帧的帧头可位于第三个子字段,第一标识的取值可为第三值;如图6所示的第4种映射方案,第一帧的帧头可位于第K个字段,第一标识的取值可为第四值;如图6所示的第5种映射方案,第一类单元可不包括第一帧的帧头,第一标识的取值可为第五值。应理解,第一字段的长度可根据K确定,例如第一字段可至少占用log2 K个比特。
需要说明的是,图6以第一标识位于有效载荷之前,所以第一标识也可以称为前置标识(prefix)。需要说明的是,本申请实施例不限制第一标识的位置,例如第一标识也可以位于第一类单元的尾部。在下文中,以第一标识是前置标识为例。
本申请实施例可将第二字段划分为长度相同的K个子字段,也可以将第二字段划分为长度不同的子字段。即K个子字段中每个子字段占用的比特数相同,或者K个子字段中至少两个子字段占用的比特数不同,可提高承载载荷的灵活度。
通常来说,上层发送给PCS层的帧有两类,一类是控制帧,一类是数据帧。控制帧可认为是只有帧头(Header),数据帧除了包括帧头,还包括帧体(body)和帧尾(tail)。帧体通常是体内的有效载荷(payload in body),帧尾可包括有效载荷(payload in tail)和FCS。帧头通常较短,所以可将帧头映射至第一类单元中K个子字段中的某个子字段例如第一子字段。从这个角度来说,任意一个子字段的长度可根据帧头的最大长度来确定,例如子字段的长度可以等于帧头的最大长度。对于第一帧内的有效载荷和校验信息可以承载在除第一子字段之外的其余子字段。当然,如果第一子字段承载帧头之后还有剩余空间,那么该剩余空间也可以承载第一帧的有效载荷和校验信息。第一字段可以是K个子字段的任一子字段,且一个第一类单元可用于承载多个帧。接收端通过至少个第一类单元中的第一标识可明确各个帧的起始位置,以实现对帧的定界。
但是如果第K个子字段不足以承载第一帧的帧头的全部信息,那么第K个子字段可用于承载第一帧的帧头的部分信息,如图6所示的第6种映射方式。而该第一帧的帧头的其余部分信息可承载于另一个第一类单元中的某个子字段。
当然考虑到第一帧的长度大于第一类单元的长度,那么在一个第一类单元完成不了第一帧的映射,即第一帧可映射到多个第一类单元。然而这多个第一类单元中有一个第一类单元承载第一帧的帧头即可,其余第一类单元可用于承载第一帧包括的数据。如果沿用图9所示的结构,那么其余第一类单元可如图6所示的第5种映射方式,即第一标识用于指示第一类单元不包括前置标识。
为了提高编码单元的承载效率,作为一种可替换的方案,其余第一类单元可不承载第一标识,例如第一字段可用于承载数据。为了便于区分,本文中将不包括第一标识的编码单元称为第二类单元。应理解,一个帧可映射到某个第一类单元,以及一个或多个第二类单元。由于一个或多个第二类单元不包括第一标识,接收端需要确定接收的一个或多个第二类单元承载的有效载荷属于哪个帧。第一标识位于有效载荷之前,那么接收端可确定一个第二类单元承载的有效载荷属于该第二类单元的前一个第一类单元中的第一标识对应的帧;或者接收端可确定连续的多个第二类单元承载的有效载荷属于该连续的多个第二类单元的前一个第一类单元中的第一标识对应的帧。
例如,请参见图7,为L个帧映射到M个编码单元的一种映射方式。应理解,M个编码单元包括至少一个第一类单元和至少一个第二类单元。图7以包括3个第一类单元和2个第二类单元为例。其中,第一类单元1、第一类单元2和第一类单元3中的第一字段承载有第一标识;第二类单元1和第二类单元2没有承载帧头,第二类单元1和第二类单元2中的第一字段承载载荷、控制帧和空闲码块的至少一种。应理解,第二类单元1和第二类单元2承载的载荷属于第一类单元1中的帧头对应的帧。接收端接收到图7中的5个单元,可认为没有承载帧头的第二类单元1和第二类单元2承载的载荷属于该载荷的前一个第一类单元中第一标识对应的帧头所属的帧。由于第二类单元1和第二类单元2中的第一字段用于承载载荷,所以可提高编码单元的承载效率。
本申请实施例中,将L个帧的有效载荷和校验信息映射到多个第一类单元,即第一类单元的校验在物理层实现,可使得帧的流控以及重传等操作在物理层实现。由于以物理层的编码单元为粒度,实现帧的流控以及重传等操作,可提高操作效率,降低时延。相较于传统的方式,即在数据链路层(data link layer)实现帧的流控以及重传等操作,显然时延更低,传输效率更高。且,本申请实施例通过在编码单元中***第一标识(前置标识),标识每个帧的起始位置,能够保证接收端正确恢复L个帧。
实现形式二,请参见图8,示出了一种第一类单元的帧结构。第一类单元包括第一字段和第二字段。即与实现形式一的不同之处在于,第一类单元不包括第三字段,即编码单元中不单独设置校验位。这种情况下,L个帧的校验信息可包含在上层报文中,跟L个帧中的数据一起承载到负载字段,那么第一类单元所承载的载荷的可靠性由上层帧自带的校验位保证。该方案可进一步压缩编码单元的开销,提高编码单元的承载率。
需要说明的是,这里第一类单元包括的第一字段的实现可参考实现形式一中的第一类单元的第一字段的实现。同理,实现形式二中,第一类单元包括的第二字段的实现可参考实现形式一中的第一类单元的第二字段的实现,这里不再赘述。
示例性的,请参见图9,示出了帧映射到第一类单元的一种映射方式。图9以L个帧映射到5个第一类单元为例。如图9所示,与图6的不同之处在于,第二字段包括的K个子字段中,用于承载数据的子字段可承载帧体内有效载荷和帧尾。应理解,该帧尾包括帧尾内有效载荷和校验信息,例如FCS。当然用于承载数据的子字段也可以承载控制帧,空闲码块等。例如,第一类单元中的子字段可用于承载帧体内有效载荷、控制帧和帧尾的至少一种。
需要说明的是,在本申请实施例中,M个编码单元中部分编码单元可采用实现形式一的结构,另一部分编码单元可采用实现形式二的结构。采用实现形式一的编码单元中承载校验信息,可利用该校验信息保证编码单元中帧头的可靠性。采用实现形式二的编码单元,可用于提升编码单元中除帧头之外的数据承载率,更适用于长帧的应用场景。
在实现形式二的结构下,一个帧也可映射至一个第一类单元和至少一个第二类单元。作为一种示例,请参见图10,为帧映射到编码单元的一种示意。图10以包括3个第一类单元和2个第二类单元为例。其中,第一类单元1、第一类单元2和第一类单元3中的第一字段承载有第一标识;第二类单元1和第二类单元2没有承载帧头,第二类单元1和第二类单元2中的第一字段承载载荷、控制帧、帧尾和空闲码块的至少一种。应理解,第二类单元1和第二类单元2承载的载荷属于第一类单元1中的帧头对应的帧。接收端接收到图10中的5个单元,可认为没有承载帧头的第二类单元1和第二类单元2承载的载荷属于该载荷的前一个第一标识对应的帧头所属的帧。由于第二类单元1和第二类单元2中的第一字段用于承载载荷,所以可提高编码单元的承载率,更适用于长帧的传输。且第一类单元和第二类单元不包括第三字段,可降低M个编码单元的开销。
实现形式三,请参见图11,示出了一种第一类单元的帧结构。第一类单元包括第一字段和第二字段。其中,第一字段用于承载第一标识,第二字段用于承载第一帧的帧头和数据。与前述实现形式一和实现形式二的不同之处在于,所述第二字段中的第K个子字段可扩展Z个字节。可以理解为将实现形式一的结构中第三字段用于承载数据。由于用于承载校验信息的字段可用于承载数据,所以可进一步压缩编码单元的开销。且还可以提高编码单元的数据承载率。
示例性的,请参见图12,示出了帧映射到多个第一类单元的一种映射方式。图12以L个帧映射到5个第一类单元为例。如图12所示,与图6的不同之处在于,第二字段包括的K个子字段扩展了Z字节,用于承载帧体内有效载荷、控制帧、帧尾的空闲码块中的至少一种。
需要说明的是,在本申请实施例中,M个编码单元中部分编码单元可采用实现形式一的结构,另一部分编码单元可采用实现形式三的结构。采用实现形式一的编码单元中承载校验信息,可利用该校验信息保证编码单元中帧头的可靠性。采用实现形式三的编码单元,可用于提升编码单元中除帧头之外的数据承载率,更适用于长帧的应用场景。
在一些实施例中,实现形式三中的第一字段可用于承载数据,以提高编码单元的数据承载率。即编码单元也可以通过实现形式四实现。
实现形式四,请参见图13,示出了一种第二类单元的帧结构。该第二类单元包括第一字段和第二字段。与实现形式三的不同之处在于,第一字段用于承载数据。由于用于承载第一标识的字段承载数据,所以可进一步压缩编码单元的开销。
示例性的,请参见图14,示出了帧映射到多个第一类单元和第二类单元的一种映射方式。图14以L个帧映射到3个第一类单元和2个第二类单元为例。其中,第一类单元1、第一类单元2和第一类单元3中的第一字段承载有第一标识;第二类单元1和第二类单元2没有承载帧头,第二类单元1和第二类单元2中的第一字段承载载荷、控制帧、帧尾和空闲码块的至少一种。应理解,第二类单元1和第二类单元2承载的载荷属于第一类单元1中的帧头对应的帧。接收端接收到图14中的5个单元,可认为没有承载帧头的第二类单元1和第二类单元2承载的载荷属于位于第二类单元1之间的前一个第一标识对应的帧头所属的帧。由于第二类单元1和第二类单元2中的第一字段用于承载载荷,用于承载校验信息的字段可用于承载数据,所以可进一步压缩编码单元的开销,提高编码单元的数据承载率,适用于长帧的传输。
如上介绍了编码单元的几种可能的结构。在本申请实施例中,映射L个帧的M个编码单元可采用前述实现形式一到实现形式四中的一种或多种结构。由于第一标识的***可实现对帧的定界。且第一标识的***也能够控制***内连续“0”或连续“1”的个数,例如将连续“0”或连续“1”的个数控制在每个编码单元的长度内,以保证接收端的时钟恢复电路正常工作,避免数据的丢失。
在本申请实施例中,第一标识还可用于指示帧头的类型,也就是帧头所属帧的类型。这里的类型可以是业务类型,也可以是封装帧的协议类型。通常来说,不同业务对应的封装协议不同,所以也可以认为第一标识可用于实现对业务的隔离。由于第一标识可用于标识帧的类型,那么根据第一标识可区分L个帧对应的不同业务,这样L个帧可灵活映射到M个编码单元,实现对多个业务的隔离。对于接收端而言,可通过第一标识确定各个帧的封装协议,对L个帧进行解析。这样可简化接收侧上层数据处理流程,降低业务数据传输时延。
在可能的实现方式中,第一标识可由纠错检错编码生成,例如第一标识可由eBCH码字生成或者BCH码字生成。由于纠错检错编码具有纠错检错能力,所以可通过纠错检错编码本身实现对第一标识的保护,而无需另外通过其他信息对第一标识进行保护,能够保证第一标识的可靠性,避免接收端对帧格式的误判。
应理解,数据编码之后,在发送给接收端之前,需要进行调制。例如可以通过NRZ调制方式或PAM4调制方式等。为保证DC均衡,通常对编码单元的有效载荷进行扰码。例如64b/66b编码采用NRZ调制,并根据X^58+X^39+1的自同步加扰方式对64比特有效载荷进行扰码;又例如128b/130b编码采用NRZ调制,在数据部分引入扰码来实现DC均衡;又例如256b/257b转码需要通过在编码后数据中添加扰码以实现DC均衡。然而由于扰码是对有效载荷进行的,即64b/66b编码和128b/130b编码中的2bit同步头,或者256b/257b转码第0bit或者第0bit到第5bit不参与扰码,所以还是不能实现较好的DC均衡。
为此,通过编码设计可使得第一标识本身实现DC均衡,即本申请实施例提供的第一标识本身可实现DC均衡。即使对编码单元中的有效载荷进行扰码,对于整个编码单元来说,还是能够较好地实现DC均衡。例如第一标识包括X个比特,这X个比特在PAM4调制方式下满足直流均衡。又例如第一标识包括X个比特,这X个比特在NRZ调制方式下满足直流均衡,或者这X个比特在NRZ调制方式以及PAM4调制方式下满足直流均衡。
作为一种示例,纠错检错编码为码长是16比特的eBCH码字,该eBCH码字的最小汉明距为8。该eBCH码字能够满足NRZ调制下的DC均衡。应理解,码长为16比特,且最小汉明距为8的eBCH码字共有32个。这32个eBCH码字如表1所示。
表1 eBCH码字及第一标识的对应关系
Figure BDA0002700157770000161
Figure BDA0002700157770000171
表1中的各个eBCH码字分别可用于生成标识,如表1所示。本申请实施例中的第一标识也可以是表1中的部分标识,即第一标识包括16个比特,这16个比特可以是表1中的部分码字,以满足NRZ调制方式下的DC均衡,或者满足PAM4调制方式下的DC均衡,又或者第一标识满足NRZ调制方式以及PAM4调制方式。
作为一种示例,第一标识可包括如表2所示的码字。
表2
Figure BDA0002700157770000172
Figure BDA0002700157770000181
从表2可以看出,第一标识对应的eBCH码字实际上表1中的10个码字。由于表2中的第一标识的前8比特中“0”和“1”的个数相同,且后8比特中“0”和“1”的个数相同,所以表2中的第一标识在NRZ调制方式下满足DC均衡。
进一步的,第一标识可以是根据预设规则调整eBCH码字的比特位顺序获得的,以在PAM4调制方式下满足DC均衡。例如可能的一种预设规则为原始eBCH码字的前8比特的顺序“43275160”对应第一标识的前8比特的顺序“76543210”,原始eBCH码字的后8比特的顺序“75432160”对应第一标识的前8比特的顺序“76543210”。也就是将原始eBCH码字的前8比特的第4个比特作为第一标识的前8比特的第7个比特,将原始eBCH码字的前8比特的第3个比特作为第一标识的前8比特的第6个比特,以此类推。按照上述预设规则可获得如表3所示的第一标识。表3中第一标识的比特顺序“76543210_76543210”对应原始eBCH码字的比特顺序“43275160_75432160”。
表3
Figure BDA0002700157770000182
从表3可以看出,第一标识对应的eBCH码字实际上表2中的部分码字。由于表3中的第一标识的前8比特中“0”和“1”的个数相同,且后8比特中“0”和“1”的个数相同,所以表3中的第一标识在NRZ调制方式下满足DC均衡。且表3中的码字采用PAM4调制,4种电平即“0”、“1”、“2”、“3”是均匀出现的,所以表3中的第一标识在PAM4调制方式下也能够满足DC均衡。
虽然第一标识本身在NRZ调制方式和PAM4调制方式下可实现DC均衡,通过对编码单元中的有效载荷进行扰码,可实现有效载荷的DC均衡。但是对于某条数据流来说,可能还是出现DC不均衡的情况。这种情况下,本申请实施例可调整第一标识中的部分比特位,以保证每条数据流上的DC均衡。例如可统计数据流在一定长度范围内的DC不均衡程度,通过调整第一标识中的例如最后2个比特补偿该长度范围内DC的不均衡程度,从而实现对数据流的DC均衡。对于接收端而言,由于第一标识具有3比特的纠错能力,即使用于调整DC均衡的第一标识的部分比特是错误的,接收端也可以通过eBCH译码对其进行纠错,不会影响对第一标识的识别。
S402、发送端将M个编码单元分发到N个传输通道,接收端从N个传输通道接收该M个编码单元。
发送端生成M个编码单元之后,可将该M个编码单元分发到N个传输通道。具体来讲,发送端可将至少一个第一类单元以固定长度轮询分发到N个传输通道。
作为一种示例,可规定至少一个第一类单元中的某个或某些单元的第一标识的分发顺序位于有效载荷的分发顺序之前。即发送端可按照先第一标识后有效载荷的分发顺序将至少一个第一类单元轮询分发到N个传输通道。
由于第一标识的部分比特可用于调整数据流的DC均衡,因此,发送端按照轮询方式将至少一个第一类单元分发到N个传输通道,如果第一标识在各个传输通道上出现的概率不相同。例如N个传输通道上有的传输通道上一直没有第一标识,那么当通过第一标识对数据流进行DC均衡调整时,只能实现部分传输通道的DC均衡调整,无法实现全部传输通道的DC均衡调整,从而影响DC均衡调整的效果。这种情况下,下一轮分发至少一个第一类单元时,可调整分发规则。例如可规定下一轮至少一个第一类单元的另一个单元或另一些单元的第一标识的轮询顺序位于部分有效载荷之后。即不同轮中,第一标识的轮询顺序可不相同,以使得各个传输通道出现第一标识的概率相同,保证各个传输通道的DC均衡,即保证全部传输通道的DC均衡。
需要说明的是,一轮中多个第一类单元的第一标识的分发顺序可以相同,较为简单。当然,一轮中多个第一类单元的第一标识的分发顺序也可以不相同,对此,本申请实施例不作限制。
作为另一种示例,可对N个传输通道进行分组绑定,例如以承载第一标识的传输通道的粒度为单位对N个传输通道分组。例如承载第一标识的传输通道的个数为2,那么将相邻的2个传输通道绑定为一组,获得P个传输通道组。之后以传输通道组为单位,将M个编码单元分发到P个传输通道组。
示例性的,可规定N个传输通道中的某个传输通道的轮询顺序位于N个传输通道中另一个传输通道的轮询顺序之前,或者可规定N个传输通道中的某些传输通道的轮询顺序位于N个传输通道中另一些传输通道的轮询顺序之前。为了便于描述,下文中将这里的某个传输通道称为第一传输通道,将另一个传输通道称为第二传输通道。将某些传输通道称为第一传输通道组,将另一些传输通道称为第二传输通道组。
例如规定P个传输通道组中的第一传输通道组的轮询顺序位于P个传输通道组中的第二传输通道组的轮询顺序之前。即发送端可按照先第一传输通道组后第二传输通道组的顺序轮询分发M个编码单元。应理解,传输通道组是以承载第一标识的传输通道为粒度绑定的,所以可规定发送端按照先第一标识后有效载荷的顺序轮询分发M个编码单元,那么第一传输通道为承载第一标识的传输通道。
应理解,根据编码单元的长度的不同,按照P个传输通道组中的第一传输通道组的轮询顺序位于P个传输通道组中的第二传输通道组的轮询顺序之前的顺序轮询M个编码单元,各个传输通道上出现第一标识的概率未必相同。即有些传输通道组上一直没有第一标识,那么当通过第一标识对数据流进行DC均衡调整时,只能实现部分传输通道的DC均衡调整,无法实现全部传输通道的DC均衡调整,从而影响DC均衡调整的效果。
因此,分发M个编码单元时,可调整分发规则,即不同轮中,同一传输通道组的轮询顺序不同。例如可规定调整上一轮中传输通道组的轮询顺序,例如可规定上述N个传输通道中第二传输通道的轮询顺序位于第一传输通道的轮询顺序之前,以使得各个传输通道出现第一标识的概率相同,以尽量保证各个传输通道的DC均衡,即保证全部传输通道的DC均衡。
为了便于描述,下文中假设P个传输通道组的编号依次为Nk,Nk+1,…,Nk+P-1,k为大于或等于0的整数。以第一传输通道组为传输通道组Nk,第二传输通道组为传输通道组Nk+1为例,且以第一传输通道组和第二传输通道组为相邻的两个传输通道组为例。当然第一传输通道组和第二传输通道组也可以不相邻。
发送端在第i次轮询分发M个编码单元时,按照固定长度,并按照P个传输通道组中传输通道组Nk的轮询顺序位于传输通道组Nk+1的轮询顺序之前将M个编码单元分发到N个传输通道。之后各个传输通道上第一标识出现的概率相同,那么发送端在第i+1次轮询分发M个编码单元时,仍然按照P个传输通道组中传输通道组Nk的轮询顺序位于传输通道组Nk+1的轮询顺序之前将M个编码单元分发到N个传输通道。即不同轮中,N个传输通道的轮询顺序相同。
相反,如果第i次轮询之后,各个传输通道上第一标识出现的概率不相同,那么发送端在第i+1次轮询分发M个编码单元时,按照P个传输通道组中传输通道组Nk+1的轮询顺序位于传输通道组Nk的轮询顺序之前将M个编码单元分发到N个传输通道。即不同轮中,N个传输通道的轮询顺序可不同,以保证各个传输通道上第一标识出现的概率相同,既保证全部传输通道的DC均衡。
下面分别以M个编码单元分发到16个传输通道、12个传输通道、8个传输通道为例,介绍将M个编码单元分发到N个传输通道的分发规则。
示例一、请参见图15,为16个传输通道对应的分发规则示意图。即N=16,图15中的x16表示16个传输通道,这16个传输通道的编号依次从0到15。这16个传输通道相邻2个传输通道为一个传输通道组,即传输通道0和传输通道1为一组传输通道,传输通道2和传输通道3为一组,以此类推,有8个传输通道组。这8个传输通道组的编号依次从0到7,可规定奇数传输通道组的轮询顺序位于偶数传输通道组的轮询顺序之前。图15以编码单元的长度是68字节(byte)为例。即发送端按照68字节的长度将至少一个第一类单元轮询分发到16个传输通道。可按照先第一标识后数据的分发顺序依次将M个编码单元分发到8个传输通道组。经过4个分发循环周期,4个编码单元刚好可以完整地分发到16个传输通道。也就是经过一轮之后,4个编码单元刚好可以完整地分发到16个传输通道,如图15所示。图15中第一轮有效载荷包括第一轮中的码块A0-A65、B0-B65、C0-C65,以及D0-D65。从图15可以看出相邻两个传输通道组中的一个传输通道组的轮询顺序位于另外一个传输通道组的轮询顺序之前,例如奇数传输通道组的轮询顺序位于偶数传输通道组的轮询顺序之前。经过一轮的分发,第一标识A至第一标识D分布在传输通道0、传输通道1、传输通道4、传输通道5、传输通道8、传输通道9、传输通道12、传输通道13,而其他传输通道上并没有第一标识。如果下一轮分发编码单元时,即分发第5至第8个编码单元时,沿用上一轮的分发规则,那么分发后,第一标识还是分布在传输通道0、传输通道1、传输通道4、传输通道5、传输通道8、传输通道9、传输通道12、传输通道13,其他传输通道上还是没有第一标识。这样当通过第一标识对数据流进行DC均衡调整时,只能实现部分传输通道的DC均衡调整,无法实现全部传输通道的DC均衡调整,从而影响DC均衡调整的效果。
因此,在下一轮分发第5至第8个编码单元时,可调整分发规则,以使得第一标识在每个传输通道出现的概率相同,实现全部传输通道的DC均衡。例如可规定偶数传输通道组的轮询顺序位于奇数传输通道组的轮询顺序之前。即在第二轮分发第5至第8个编码单元时,可先分发数据再分发第一标识,也就是第一标识的轮询顺序位于部分有效载荷的轮询顺序之后,例如将传输通道0和传输通道1的数据与传输通道2和传输通道3的数据对换,如图15所示。这样分发第5至第8个编码单元,第一标识E至第一标识H分布在传输通道2、传输通道3、传输通道6、传输通道7、传输通道10、传输通道11、传输通道14、传输通道15。这样经过两轮的分发,每个传输通道上的第一标识的个数是相同的。以此类推,第三轮分发编码单元的分发规则同第一轮的分发规则,第四轮分发编码单元的分发规则同第二轮的分发规则,那么第一标识在每个传输通道上出现的概率是相同的。
由于以传输通道组为单位,调整传输通道组的轮询顺序也就是将该传输通道组承载的载荷的轮询顺序一并调整。也就是每个轮询周期内,每个传输通道对应编码单元中的固定位置的载荷,如图15所示。第一标识A到第一标识I所在传输通道0承载的有效载荷的编号均为14、30、46、62,第一标识A到第一标识I所在传输通道0承载的有效载荷的编号均为15、31、47、63。由于每个轮询周期内,每个传输通道对应编码单元中的固定位置的载荷,易于接收端解码,可降低接收端实现的复杂度。
示例二、请参见图16,为12个传输通道对应的分发规则示意图。即N=12,图16中的x12表示12个传输通道,这12个传输通道的编号依次从0到11。这12个传输通道中相邻2个传输通道为一个传输通道组,即传输通道0和传输通道1为一组传输通道,传输通道2和传输通道3为一组,以此类推,有6个传输通道组。这6个传输通道组的编号依次从0到5,可规定奇数传输通道组的轮询顺序位于偶数传输通道组的轮询顺序之前。图16以编码单元的长度是68字节(byte)为例。即发送端按照68字节的长度将至少一个第一类单元轮询分发到12个传输通道。同示例一类似,也按照先第一标识后数据的分发顺序依次将M个编码单元分发到6个传输通道组。经过3个分发循环周期(即经过一轮),3个编码单元刚好可以完整地分发到12个传输通道,如图16所示。图16中第一轮有效载荷包括第一轮中的码块A0-A65、B0-B65以及C0-C65。从图16可以看出3个编码单元中的第一标识的轮询顺序位于有效载荷的轮询顺序之前,经过一轮的分发,第一标识A至第一标识C分布在传输通道0、传输通道1、传输通道4、传输通道5、传输通道8、传输通道9,而其他传输通道上并没有第一标识。如果下一轮分发第4到第6个编码单元时,沿用上一轮的分发规则,那么分发后,第一标识还是分布在传输通道0、传输通道1、传输通道4、传输通道5、传输通道8、传输通道9,其他传输通道上还是没有第一标识。
因此,在下一轮分发第4至第6个编码单元时,可调整分发规则,以使得第一标识在每个传输通道出现的概率相同,实现全部传输通道的DC均衡。例如可规定偶数传输通道组的轮询顺序位于奇数传输通道组的轮询顺序之前。即在第二轮分发第4至第6个编码单元时,可先分发数据再分发第一标识,也就是第一标识的轮询顺序位于部分有效载荷的轮询顺序之后。例如将传输通道0和传输通道1的数据与传输通道2和传输通道3的数据对换,如图16所示。这样分发第4至第6个编码单元,第一标识D至第一标识F分布在传输通道2、传输通道3、传输通道6、传输通道7、传输通道10、传输通道11。这样经过两轮的分发,每个传输通道上的第一标识的个数是相同的。以此类推,第三轮分发编码单元的分发规则同第一轮的分发规则,第四轮分发编码单元的分发规则同第二轮的分发规则,那么第一标识在每个传输通道上出现的概率是相同的。
与示例一相同,从图16中可看出,第一标识A到第一标识I所在传输通道0承载的有效载荷的编号均为10、22、34、46,第一标识A到第一标识I所在传输通道0承载的有效载荷的编号均为11、23、35、47。即每个轮询周期内,每个传输通道对应编码单元中的固定位置的载荷,易于接收端的实现。
示例三、请参见图17,为8个传输通道对应的分发规则示意图。即N=8,图17中的x8表示8个传输通道,这8个传输通道的编号依次从0到7。这8个传输通道中相邻2个传输通道为一个传输通道组,即传输通道0和传输通道1为一组传输通道,传输通道2和传输通道3为一组,以此类推,有4个传输通道组。这4个传输通道组的编号依次从0到3,可规定奇数传输通道组的轮询顺序位于偶数传输通道组的轮询顺序之前。图17以编码单元的长度是68字节(byte)为例。即发送端按照68字节的长度将至少一个第一类单元分发到8个传输通道。同示例一类似,也按照先第一标识后数据的分发顺序依次将M个编码单元分发到8个传输通道。经过2个分发循环周期(即经过一轮),2个编码单元刚好可以完整地分发到8个传输通道,如图21所示。图17中第一轮有效载荷包括第一轮中的码块A0-A65和B0-B65。从图17可以看出2个编码单元中的第一标识的轮询顺序位于有效载荷的轮询顺序之前,经过一轮的分发,第一标识A至第一标识B分布在传输通道0、传输通道1、传输通道4、传输通道5,而其他传输通道上并没有第一标识。如果下一轮分发第3到第4个编码单元时,沿用上一轮的分发规则,那么分发后,第一标识还是分布在传输通道0、传输通道1、传输通道4、传输通道5,其他传输通道上还是没有第一标识。
因此,在下一轮分发第3至第4个编码单元时,可调整分发规则,以使得第一标识在每个传输通道出现的概率相同,实现全部传输通道的DC均衡。例如可规定偶数传输通道组的轮询顺序位于奇数传输通道组的轮询顺序之前。即在第二轮分发第3至第4个编码单元时,可先分发数据再分发第一标识,也就是第一标识的轮询顺序位于部分有效载荷的轮询顺序之后。例如将传输通道0和传输通道1的数据与传输通道2和传输通道3的数据对换,如图17所示。这样分发第3至第4个编码单元,第一标识C和第一标识D分布在传输通道2、传输通道3、传输通道6、传输通道7。这样经过两轮的分发,每个传输通道上的第一标识的个数是相同的。以此类推,第三轮分发编码单元的分发规则同第一轮的分发规则,第四轮分发编码单元的分发规则同第二轮的分发规则,那么第一标识在每个传输通道上出现的概率是相同的。
当然,如果发送端按照固定长度将至少一个第一类单元轮询分发到N个传输通道后,每个传输通道上出现第一标识的概率相同,那么在分发M个编码单元过程中也可以不调整分发规则。与示例一类似,每个轮询周期内,每个传输通道对应编码单元中的固定位置的载荷,易于接收端的实现。
示例四、请参见图18,为16个传输通道对应的分发规则示意图。即N=16,图18中的x16表示16个传输通道,这16个传输通道的编号依次从0到15。这16个传输通道相邻2个传输通道为一个传输通道组,即传输通道0和传输通道1为一组传输通道,传输通道2和传输通道3为一组,以此类推,有8个传输通道组。这8个传输通道组的编号依次从0到7,可规定奇数传输通道组的轮询顺序位于偶数传输通道组的轮询顺序之前。图18以编码单元的长度是66字节(byte)为例。即发送端按照66字节的长度将至少一个第一类单元轮询分发到16个传输通道。可按照先第一标识后数据的分发顺序依次将M个编码单元分发到16个传输通道。经过8个分发循环周期,即8个编码单元刚好可以完整地分发到16个传输通道。也就是经过一轮之后,8个编码单元刚好可以完整地分发到16个传输通道,如图18所示。从图18可以看出8个编码单元经过一轮的分发,第一标识均匀分布在传输通道0至传输通道15。如果下一轮分发编码单元时,即分发第9至第16个编码单元时,沿用上一轮的分发规则,那么分发后,第一标识还是均匀分布在传输通道0至传输通道15。这样在下一轮分发第9至第16个编码单元时,可不调整分发规则。与示例一类似,每个轮询周期内,每个传输通道对应编码单元中的固定位置的载荷,易于接收端的实现。
示例五、请参见图19,为16个传输通道对应的分发规则示意图。即N=12,图19中的x12表示12个传输通道,这12个传输通道的编号依次从0到11。这12个传输通道相邻2个传输通道为一个传输通道组,即传输通道0和传输通道1为一组传输通道,传输通道2和传输通道3为一组,以此类推,有6个传输通道组。这6个传输通道组的编号依次从0到5,可规定奇数传输通道组的轮询顺序位于偶数传输通道组的轮询顺序之前。图19以编码单元的长度是82字节(byte)为例。即发送端按照82字节的长度将至少一个第一类单元轮询分发到12个传输通道。可按照先第一标识后数据的分发顺序依次将M个编码单元分发到12个传输通道。从图19可以看出6个编码单元经过一轮的分发,第一标识均匀分布在传输通道0至传输通道11。如果下一轮分发编码单元时,即分发第7至第12个编码单元时,沿用上一轮的分发规则,那么分发后,第一标识还是均匀分布在传输通道0至传输通道11。这样在下一轮分发第7至第12个编码单元时,可不调整分发规则。与示例一类似,每个轮询周期内,每个传输通道对应编码单元中的固定位置的载荷,易于接收端的实现。
需要说明的是,上述的示例一到示例五,以一轮中N个传输通道的轮询顺序相同为例。本申请实施例对此不作限制,例如一轮中N个传输通道中不同传输通道组的轮询顺序也可以不相同,只要经过多轮分发之后能够使得各个传输通道上出现第一标识的概率相同即可。
在示例一到示例五中,以一个传输通道承载8bit的载荷为例,那么第一标识即16bit承载于两个传输通道,可认为这两个传输通道中一个传输通道可承载16bit中的前8bit,另一个传输通道承载16bit中的后8bit。由于16bit中前8bit和后8bit中的“0”和“1”个数相同,所以可保证每个传输通道的DC均衡。如果采用PAM4调制,那么16bit中前8bit对应的“0”、“1”、“2”、“3”均匀,且后8bit对应的“0”、“1”、“2”、“3”也均匀,即保证每个传输通道的DC均衡。
S403、接收端根据至少一个第一类单元包括的第一标识,对M个编码单元解码,获得L个帧。
接收端从N个传输通道中接收M个编码单元。应理解,接收端从N个传输通道接收M个编码单元的接收规则与发送端分发M个编码单元的分发规则对应。例如发送端按照上述示例一到示例三的长度,即68字节的长度轮询分发至少一个第一类单元,那么接收端按照68字节的长度从N个传输通道中接收至少一个第一类单元。且接收端根据每一轮的分发规则,可确定在每一轮中第一标识所在的传输通道,进而确定第一标识的位置,根据第一标识对所接收的编码单元进行解码,获得L个帧。
本申请实施例提供的数据编码方法,在对数据进行编码之前,通过***用于标识L个帧中各个帧的帧头的开始位置的第一标识,可实现接收端对各个帧的界定。且由于第一标识的***可控制整个数据流中连续“0”和连续“1”的个数,避免直流基线漂移,使得接收端正确解析各个帧。第一标识可通过纠错检错码字生成,即可实现对第一标识的保护,无法另外设置用于保护第一标识的校验信息,可降低编码开销。另外,第一标识本身可实现DC平衡,即使对编码单元中的有效载荷进行扰码,对于整个编码单元来说,还是能够较好地实现DC均衡,从而能够保证在PAM4调制方式和NRZ调制方式下满足DC均衡。另外,由于第一标识可通过纠错检错码字生成,那么第一标识本身具有纠错能力,这样即使调整第一标识的部分比特,接收端也可以通过对其进行纠错,不会影响对第一标识的识别。因此,可通过调整第一标识的部分比特保证一定长度范围内的任意数据流的DC均衡。
上述本申请提供的实施例中,分别从发送端和接收端之间交互的角度对本申请实施例提供的方法进行了介绍。为了实现上述本申请实施例提供的方法中的各功能,发送端和接收端可以包括硬件结构和/或软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式来实现上述各功能。上述各功能中的某个功能以硬件结构、软件模块、还是硬件结构加软件模块的方式来执行,取决于技术方案的特定应用和设计约束条件。
下面结合附图介绍本申请实施例中用来实现上述方法的通信装置。因此,上文中的内容均可以用于后续实施例中,重复的内容不再赘述。
图20为本申请实施例提供的通信装置2000的一种结构示意图。该通信装置2000,可以对应实现上述各个方法实施例中由发送端或接收端实现的功能或者步骤。该通信装置可以为网络设备(例如交换机),也可以为芯片或电路,比如可设置于网络设备的芯片或电路。该通信装置2000可包括处理器2001和收发器2002,其中,处理器2001、收发器2002可以通过总线***相连。可选的,该通信装置还可以包括存储器,该存储单元可以用于存储指令(代码或者程序)和/或数据。收发器2002和处理器2001可以与该存储单元耦合,例如,处理器2001可以读取存储单元中的指令(代码或者程序)和/或数据,以实现相应的方法。上述各个单元可以独立设置,也可以部分或者全部集成,例如收发器2002可包括独立设置的发送器和接收器。可选的,收发器2002还可以为通信接口2003,或者收发器2002还可以包括通信接口2003,所述通信接口2003用于输入和/或输出信息;所述处理器2001,用于执行计算机程序或指令,使得通信装置2000实现上述图4的相关方案中发送端或接收端的方法。因为通信接口2003是可选的,所以在图20中以虚线进行示意。
应理解,上述处理器2001可以是一个芯片。例如,该处理器可以是现场可编程门阵列(field programmable gate array,FPGA),可以是专用集成芯片(applicationspecific integrated circuit,ASIC),还可以是***芯片(system on chip,SoC),还可以是中央处理器(central processor unit,CPU),还可以是网络处理器(networkprocessor,NP),还可以是数字信号处理电路(digital signal processor,DSP),还可以是微控制器(micro controller unit,MCU),还可以是可编程控制器(programmable logicdevice,PLD)或其他集成芯片。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
应注意,本申请实施例中的处理器2001可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
可以理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(directrambus RAM,DR RAM)。应注意,本文描述的***和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
在一些实施例中,通信装置2000能够对应实现上述方法实施例中发送端的行为和功能。例如通信装置2000可以为发送端,也可以为应用于发送端中的部件(例如芯片或者电路)。通信装置2000可以包括处理器2001和收发器2002,收发器2002可以用于执行图4所示的实施例中由发送端所执行的全部接收或发送操作,例如图4所示的实施例中的S402,和/或用于支持本文所描述的技术的其它过程;处理器2001用于执行图4所示的实施例中由发送端所执行的除全部接收或发送操作以外的操作,例如图4所示的实施例中的S401,和/或用于支持本文所描述的技术的其它过程。
例如,处理器2001用于生成M个编码单元,该M个编码单元是对L个帧进行编码得到的,M个编码单元包括至少一个第一类单元,第一类单元包括第一标识,第一标识用于指示所述L个帧中的第一帧的帧头在所述第一类单元中的开始位置,所述M为大于或等于1的整数,所述L为大于或等于1的整数;
处理器2001用于将述M个编码单元分发到N个传输通道,所述N为大于或等于1的整数。
作为一种可选的实现方式,第一类单元包括第一字段和第二字段,第一字段用于承载所述第一标识,第二字段用于承载所述L个帧中一个或多个帧中的部分或全部数据。
作为一种可选的实现方式,第一类单元还包括第三字段,第三字段用于承载用于校验所述第一类单元的校验信息。
作为一种可选的实现方式,M个编码单元还包括至少一个第二类单元,所述第二类单元包括第二字段,其中,第一单元所承载的数据属于第二单元中的第一标识对应的帧,所述第一单元为所述至少一个第二类单元中的一个单元,所述第二单元为所述至少一个第一类单元中的一个单元,所述第二单元中的所述第一标识是位于所述第一单元之前的第一个标识。
作为一种可选的实现方式,第二字段包括K个子字段,所述K个子字段中每个子字段占用的比特数相同,或者,所述K个子字段中至少两个子字段占用的比特数不相同。
作为一种可选的实现方式,所述第一帧的帧头的开始位置为所述K个子字段的中的第一子字段的开始位置。
作为一种可选的实现方式,所述第一标识包括X个比特,X个比特在PAM4调制方式下满足直流均衡。
作为一种可选的实现方式,X个比特还在NRZ调制方式下满足直流均衡。
作为一种可选的实现方式,X等于16,所述第一标识包括1110010011100100、0010011111011000、0110001110000111、1000011101100011、0111100010011100、1001110001111000、1101100000100111或0001101100011011。
作为一种可选的实现方式,所述X个比特是根据预设规则调整eBCH码字的比特位顺序获得的。
作为一种可选的实现方式,以固定长度将所述至少一个第一类单元轮询分发到N个传输通道。
示例性的,所述至少一个第一类单元中的第三单元的第一标识的分发顺序位于有效载荷的分发顺序之前。
进一步地,所述至少一个第一类单元中的第四单元的第一标识的分发顺序位于部分有效载荷的分发顺序之后。
又一示例性的,N个传输通道包括P个传输通道组,其中,在第一轮中,P个传输通道组中的第一传输通道组的轮询顺序位于所述P个传输通道组中的第二传输通道组的轮询顺序之前。
进一步地,在第二轮中,所述第一传输通道组的轮询顺序位于所述第二传输通道组的轮询顺序之后。
作为一种可选的实现方式,在发送所述M个编码单元之前,收发器2002还用于:
针对N个传输通道中的任意一条传输通道,根据该传输通道的直流均衡情况,调整该传输通道中的一个或多个第一标识的部分比特位。
在一些实施例中,通信装置2000能够对应实现上述方法实施例中接收端的行为和功能。例如通信装置2000可以为接收端,也可以为应用于接收端中的部件(例如芯片或者电路)。通信装置2000可以包括处理器2001和收发器2002,收发器2002可以用于执行图4所示的实施例中由发送端所执行的全部接收或发送操作,例如图4所示的实施例中的S402,和/或用于支持本文所描述的技术的其它过程;处理器2001用于执行图4所示的实施例中由发送端所执行的除全部接收或发送操作以外的操作,例如图4所示的实施例中的S403,和/或用于支持本文所描述的技术的其它过程。
例如,收发器2002用于从N个传输通道中接收M个编码单元,M个编码单元是对L个帧进行编码得到的,M个编码单元包括至少一个第一类单元,所述第一类单元包括第一标识,第一标识用于指示所述L帧中的第一帧的帧头在所述第一类单元中的位置,M为大于或等于1的整数,L为大于或等于1的整数,N为大于或等于1的整数;
处理器2001用于根据至少一个第一标识解码所述M个编码单元,获得所述L个帧。
作为一种可选的实现方式,第一类单元包括第一字段和第二字段,第一字段用于承载所述第一标识,第二字段用于承载所述L个帧中一个或多个帧中的部分或全部数据。
作为一种可选的实现方式,第一类单元还包括第三字段,第三字段用于承载用于校验所述第一类单元的校验信息。
作为一种可选的实现方式,M个编码单元还包括至少一个第二类单元,所述第二类单元包括第二字段,其中,第一单元所承载的数据属于第二单元中的第一标识对应的帧,所述第一单元为所述至少一个第二类单元中的一个单元,所述第二单元为所述至少一个第一类单元中的一个单元,所述第二单元中的所述第一标识是位于所述第一单元之前的第一个标识。
作为一种可选的实现方式,第二字段包括K个子字段,所述K个子字段中每个子字段占用的比特数相同,或者,所述K个子字段中至少两个子字段占用的比特数不相同。
作为一种可选的实现方式,所述第一帧的帧头的开始位置为所述K个子字段的中的第一子字段的开始位置。
作为一种可选的实现方式,所述第一标识包括X个比特,所述X个比特在PAM4调制方式下满足直流均衡。
作为一种可选的实现方式,所述X个比特还在NRZ调制方式下满足直流均衡。
作为一种可选的实现方式,所述X等于16,所述第一标识包括1110010011100100、0010011111011000、0110001110000111、1000011101100011、0111100010011100、1001110001111000、1101100000100111或0001101100011011。
作为一种可选的实现方式,所述X个比特是根据预设规则调整eBCH码字的比特位顺序获得的。
作为一种可选的实现方式,收发器2002具体用于以固定长度从所述N个传输通道接收所述M个编码单元。
示例性的,所述至少一个第一类单元中的第三单元的第一标识的分发顺序位于有效载荷的分发顺序之前。
进一步地,所述至少一个第一类单元中的第四单元的第一标识的分发顺序位于部分有效载荷的分发顺序之后。
又一示例性的,在第一轮中,N个传输通道包括P个传输通道组,其中,P个传输通道组中的第一传输通道组的轮询顺序位于所述P个传输通道组中的第二传输通道组的轮询顺序之前。
进一步地,在第二轮中,所述第一传输通道组的轮询顺序位于所述第二传输通道组的轮询顺序之后。
该通信装置2000所涉及的与本申请实施例提供的技术方案相关的概念,解释和详细说明及其他步骤请参见前述方法或其他实施例中关于这些内容的描述,此处不做赘述。
图21示出了本申请实施例提供的通信装置的另一结构示意图,如图21所示,通信装置2100可以包括处理模块2101和收发模块2102,应理解,该通信装置2100的单元的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。本申请实施例中,收发模块2102可以由上述图20的收发器2002实现,处理模块2101可以由上述图20的处理器2001实现。
该通信装置2100能够对应实现上述方法实施例中发送端侧和/或接收端侧所执行的步骤。例如通信装置2100可以为发送端,也可以为应用于发送端中的部件(例如芯片或者电路)。
在一些实施例中,处理模块2101用于生成M个编码单元,M个编码单元是对L个帧进行编码得到的,M个编码单元包括至少一个第一类单元,所述第一类单元包括第一标识,所述第一标识用于指示所述L个帧中的第一帧的帧头在所述第一类单元中的开始位置,M为大于或等于1的整数,L为大于或等于1的整数;
收发模块2102用于将M个编码单元分发到N个传输通道,N为大于或等于1的整数。
该通信装置2100所涉及的与本申请实施例提供的技术方案相关的概念,解释和详细说明及其他步骤请参见前述方法或其他实施例中关于这些内容的描述,此处不作赘述。可以理解的是,上述通信装置2100中各个模块的功能可以参考相应方法实施例的实现,此处不再赘述。
又例如该通信装置2100能够对应实现上述方法实施例中接收端的行为和功能。例如通信装置2100可以为接收端,也可以为应用于接收端中的部件(例如芯片或者电路)。
在一些实施例中,收发模块2102用于从N个传输通道中接收M个编码单元,M个编码单元是对L个帧进行编码得到的,M个编码单元包括至少一个第一类单元,所述第一类单元包括第一标识,第一标识用于指示所述L帧中的第一帧的帧头在所述第一类单元中的位置,M为大于或等于1的整数,L为大于或等于1的整数,N为大于或等于1的整数;
处理模块2101用于根据至少一个第一标识解码所述M个编码单元,获得所述L个帧。
该通信装置2100所涉及的与本申请实施例提供的技术方案相关的概念,解释和详细说明及其他步骤请参见前述方法或其他实施例中关于这些内容的描述,此处不作赘述。可以理解的是,上述通信装置2100中各个模块的功能可以参考相应方法实施例的实现,此处不再赘述。
应理解,以上通信装置2100的模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。本申请实施例中,收发模块2102可以由上述图20的收发器2002实现,处理模块2101可以由上述图20的处理器2001实现。
本申请实施例还提供一种通信***,其包括前述的用于执行发送端侧方案的通信装置和用于执行接收到侧方案的通信装置;或者还可以包括更多的发送端侧或接收端侧方案的通信装置。
应理解,上述通信装置可以是一个芯片,所述处理器可以通过硬件来实现也可以通过软件来实现,当通过硬件实现时,该处理器可以是逻辑电路、集成电路等;当通过软件来实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现,改存储器可以集成在处理器中,可以位于所述处理器之外,独立存在。
本申请还提供一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得该计算机执行图4所示实施例中任意一个实施例的方法。
根据本申请实施例提供的方法,本申请还提供一种计算机可读存储介质,该计算机可读介质存储有程序代码,当该程序代码在计算机上运行时,使得该计算机执行图4所示实施例中任意一个实施例的方法。
应理解,本申请实施例中的术语“***”和“网络”可被互换使用。“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,a和b,a和c,b和c,或a、b和c,其中a,b,c可以是单个,也可以是多个。
以及,除非有相反的说明,本申请实施例提及“第一”、“第二”等序数词是用于对多个对象进行区分,不用于限定多个对象的顺序、时序、优先级或者重要程度。例如,第一信息和第二信息,只是为了区分不同的指示信息,而并不是表示这两种信息的优先级、或者重要程度等的不同。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
另外,在本申请实施例中,“示例性的”一词用于表示例子或说明。本申请实施例汇总被描述为“示例”的任何实施例或实现方案不应被解释为比其他实施例或实现方案更优选。也就是,使用“示例”一词旨在以具体方式呈现概念。
本申请实施例提供的方法中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,简称DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机可以存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,数字视频光盘(digital video disc,简称DVD))、或者半导体介质(例如,SSD)等。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (33)

1.一种数据编码方法,其特征在于,包括:
生成M个编码单元,所述M个编码单元是对L个帧进行编码得到的,所述M个编码单元包括至少一个第一类单元,所述第一类单元包括第一标识,所述第一标识用于指示所述L个帧中的第一帧的帧头在所述第一类单元中的开始位置,所述M为大于或等于1的整数,所述L为大于或等于1的整数;
将所述M个编码单元分发到N个传输通道,所述N为大于或等于1的整数。
2.如权利要求1所述的方法,其特征在于,所述第一类单元包括第一字段和第二字段,所述第一字段用于承载所述第一标识,所述第二字段用于承载所述L个帧中一个或多个帧中的部分或全部数据。
3.如权利要求2所述的方法,其特征在于,所述第一类单元还包括第三字段,所述第三字段用于承载用于校验所述第一类单元的校验信息。
4.如权利要求2或3所述的方法,其特征在于,所述M个编码单元还包括至少一个第二类单元,所述第二类单元包括第二字段,其中,第一单元所承载的数据属于第二单元中的第一标识对应的帧,所述第一单元为所述至少一个第二类单元中的一个单元,所述第二单元为所述至少一个第一类单元中的一个单元,所述第二单元为所述第一单元的前一个第一类单元。
5.如权利要求2-4任一项所述的方法,其特征在于,所述第二字段包括K个子字段,所述K个子字段中每个子字段占用的比特数相同,或者,所述K个子字段中至少两个子字段占用的比特数不相同。
6.如权利要求5所述的方法,其特征在于,所述第一帧的帧头在所述第一类单元中的开始位置为所述K个子字段的中的第一子字段的开始位置。
7.如权利要求1-6任一项所述的方法,其特征在于,所述第一标识包括X个比特,所述X个比特在4阶脉冲幅度调制PAM4调制方式下满足直流均衡。
8.如权利要求7所述的方法,其特征在于,所述X个比特还在非归零NRZ调制方式下满足直流均衡。
9.如权利要求7或8所述的方法,其特征在于,所述X等于16,所述第一标识包括1110010011100100、0010011111011000、0110001110000111、1000011101100011、0111100010011100、1001110001111000、1101100000100111或0001101100011011。
10.如权利要求1-9任一项所述的方法,其特征在于,以固定长度将所述至少一个第一类单元轮询分发到N个传输通道。
11.如权利要求10所述的方法,其特征在于,所述至少一个第一类单元中的第三单元的第一标识的分发顺序位于有效载荷的分发顺序之前。
12.如权利要求11所述的方法,其特征在于,所述至少一个第一类单元中的第四单元的第一标识的分发顺序位于部分有效载荷的分发顺序之后。
13.如权利要求10所述的方法,其特征在于,所述N个传输通道包括P个传输通道组,在第一轮中,所述P个传输通道组中的第一传输通道组的轮询顺序位于所述P个传输通道组中的第二传输通道组的轮询顺序之前。
14.如权利要求13所述的方法,其特征在于,在第二轮中所述P个传输通道组中的第一传输通道组的轮询顺序位于第二传输通道组的轮询顺序之后。
15.如权利要求7-14任一项所述的方法,其特征在于,在发送所述M个编码单元之前,所述方法还包括:
针对所述N个传输通道中的任意一条传输通道,根据该传输通道的直流均衡情况,调整该传输通道中的一个或多个第一标识的部分比特位。
16.一种数据解码方法,其特征在于,包括:
从N个传输通道中接收M个编码单元,所述M个编码单元是对L个帧进行编码得到的,所述M个编码单元包括至少一个第一类单元,所述第一类单元包括第一标识,所述第一标识用于指示所述L帧中的第一帧的帧头在所述第一类单元中的位置,所述M为大于或等于1的整数,所述L为大于或等于1的整数,所述N为大于或等于1的整数;
根据至少一个第一标识解码所述M个编码单元,获得所述L个帧。
17.如权利要求16所述的方法,其特征在于,所述第一类单元包括第一字段和第二字段,所述第一字段用于承载所述第一标识,所述第二字段用于承载所述L个帧中一个或多个帧中的部分或全部数据。
18.如权利要求17所述的方法,其特征在于,所述第一类单元还包括第三字段,所述第三字段用于承载用于校验所述第一类单元的校验信息。
19.如权利要求17或18所述的方法,其特征在于,所述M个编码单元还包括至少一个第二类单元,所述第二类单元包括第二字段,其中,第一单元所承载的数据属于第二单元中的第一标识对应的帧,所述第一单元为所述至少一个第二类单元中的一个单元,所述第二单元为所述至少一个第一类单元中的一个单元,所述第二单元为所述第一单元的前一个第一类单元。
20.如权利要求17-19任一项所述的方法,其特征在于,所述第二字段包括K个子字段,所述K个子字段中每个子字段占用的比特数相同,或者,所述K个子字段中至少两个子字段占用的比特数不相同。
21.如权利要求20所述的方法,其特征在于,所述第一帧的帧头的开始位置为所述K个字段的中的第一子字段的开始位置。
22.如权利要求16-21任一项所述的方法,其特征在于,所述第一标识包括X个比特,所述X个比特在4阶脉冲幅度调制PAM4调制方式下满足直流均衡。
23.如权利要求22所述的方法,其特征在于,所述X个比特还在非归零NRZ调制方式下满足直流均衡。
24.如权利要求22或23所述的方法,其特征在于,所述X等于16,所述第一标识包括1110010011100100、0010011111011000、0110001110000111、1000011101100011、0111100010011100、1001110001111000、1101100000100111或0001101100011011。
25.如权利要求16-24任一项所述的方法,其特征在于,以固定长度从所述N个传输通道轮询接收所述M个编码单元。
26.如权利要求25所述的方法,其特征在于,所述至少一个第一类单元中的第三单元的第一标识的分发顺序位于有效载荷的分发顺序之前。
27.如权利要求26所述的方法,其特征在于,所述至少一个第一类单元中的第四单元的第一标识的分发顺序位于部分有效载荷的分发顺序之后。
28.如权利要求25所述的方法,其特征在于,所述N个传输通道包括P个传输通道组,在第一轮中,所述P个传输通道组中的第一传输通道组的轮询顺序位于所述P个传输通道组中的第二传输通道组的轮询顺序之前。
29.如权利要求28所述的方法,其特征在于,在第二轮中,所述P个传输通道组中的第一传输通道组的轮询顺序位于第二传输通道组的轮询顺序之后。
30.一种通信装置,其特征在于,包括处理器和收发器,其中,
所述处理器用于生成M个编码单元,所述M个编码单元是对L个帧进行编码得到的,所述M个编码单元包括至少一个第一类单元,所述第一类单元包括第一标识,所述第一标识用于指示所述L个帧中的第一帧的帧头在所述第一类单元中的开始位置,所述M为大于或等于1的整数,所述L为大于或等于1的整数;
所述收发器,用于将所述M个编码单元分发到N个传输通道,所述N为大于或等于1的整数。
31.一种通信装置,其特征在于,包括处理器和收发器,其中,
所述收发器用于从N个传输通道中接收M个编码单元,所述M个编码单元是对L个帧进行编码得到的,所述M个编码单元包括至少一个第一类单元,所述第一类单元包括第一标识,所述第一标识用于指示所述L帧中的第一帧的帧头在所述第一类单元中的位置,所述M为大于或等于1的整数,所述L为大于或等于1的整数,所述N为大于或等于1的整数;
所述处理器用于根据至少一个第一标识解码所述M个编码单元,获得所述L个帧。
32.一种芯片,其特征在于,所述芯片包括至少一个处理器和接口,所述处理器用于读取并执行存储器中存储的指令,当所述指令被运行时,使得所述芯片执行如权利要求1-15或16-29任一项所述的方法。
33.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被计算机执行时,使所述计算机执行如权利要求1-15或16-29任一项所述的方法。
CN202011019513.9A 2020-09-24 2020-09-24 一种数据编码方法、数据解码方法及通信装置 Pending CN114257334A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202011019513.9A CN114257334A (zh) 2020-09-24 2020-09-24 一种数据编码方法、数据解码方法及通信装置
PCT/CN2021/118074 WO2022062946A1 (zh) 2020-09-24 2021-09-13 一种数据编码方法、数据解码方法及通信装置
EP21871317.0A EP4203356A4 (en) 2020-09-24 2021-09-13 DATA CODING METHOD, DATA DECODING METHOD AND COMMUNICATION DEVICE
US18/188,251 US20230224194A1 (en) 2020-09-24 2023-03-22 Data encoding method, data decoding method, and communication apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011019513.9A CN114257334A (zh) 2020-09-24 2020-09-24 一种数据编码方法、数据解码方法及通信装置

Publications (1)

Publication Number Publication Date
CN114257334A true CN114257334A (zh) 2022-03-29

Family

ID=80790148

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011019513.9A Pending CN114257334A (zh) 2020-09-24 2020-09-24 一种数据编码方法、数据解码方法及通信装置

Country Status (4)

Country Link
US (1) US20230224194A1 (zh)
EP (1) EP4203356A4 (zh)
CN (1) CN114257334A (zh)
WO (1) WO2022062946A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116132549A (zh) * 2022-11-03 2023-05-16 北京晟芯网络科技有限公司 一种以太网数据接收方法、发送方法、装置及收发***

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5918378B2 (ja) * 2012-09-21 2016-05-18 日本電信電話株式会社 並列データ符号復号化システム
CN105406937B (zh) * 2014-09-12 2020-03-03 中兴通讯股份有限公司 定帧方法及装置
US9602401B2 (en) * 2014-09-22 2017-03-21 Intel Corporation Technologies for high-speed PCS supporting FEC block synchronization with alignment markers
US20160261375A1 (en) * 2015-03-04 2016-09-08 Qualcomm Incorporated Packet format and coding method for serial data transmission
CN106341207A (zh) * 2015-07-06 2017-01-18 华为技术有限公司 一种编码块数据流的发送和接收方法、设备和***
US10644834B1 (en) * 2017-08-08 2020-05-05 Marvell International Ltd. Efficient ethernet multi-mode coding and modulation for twisted-pair
CN111385058A (zh) * 2018-12-27 2020-07-07 华为技术有限公司 一种数据传输的方法和装置
CN111669250B (zh) * 2019-03-06 2021-06-04 华为技术有限公司 数据传输方法、装置及***

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116132549A (zh) * 2022-11-03 2023-05-16 北京晟芯网络科技有限公司 一种以太网数据接收方法、发送方法、装置及收发***

Also Published As

Publication number Publication date
US20230224194A1 (en) 2023-07-13
WO2022062946A1 (zh) 2022-03-31
EP4203356A1 (en) 2023-06-28
EP4203356A4 (en) 2024-03-27

Similar Documents

Publication Publication Date Title
US9467165B2 (en) Physical layer encoding and decoding method and apparatuses thereof
US7707475B2 (en) 64b/66b coding apparatus and method
JP7118168B2 (ja) 確率不均一変調に基づくデータ送信方法及び装置
US8051355B2 (en) Multilevel low density parity-check coded modulation
US8630309B2 (en) Frame generation apparatus and method of protecting protocol header information over wideband high frequency wireless system
US6088827A (en) 1000BASE-T packetized trellis coder
EP2159919A1 (en) Method and device for information block coding and synchronization detecting
US7152199B2 (en) Method and apparatus for delineating data in an FEC-coded Ethernet frame
CN111669250B (zh) 数据传输方法、装置及***
WO2018014529A1 (zh) 一种编码方法、相关设备及***
CN106656424B (zh) 一种数据传输的校验方法
US10256944B1 (en) Controlling false packet acceptance
WO2022088709A1 (zh) 一种以太网的编码方法及装置
US20210075559A1 (en) Devices and methods for supporting harq for wi-fi
US20230224194A1 (en) Data encoding method, data decoding method, and communication apparatus
CN110299966B (zh) 一种数据传输方法、终端及基站
US5881074A (en) 1000base-t packetized trellis coder
EP4210251A1 (en) Data processing method and data processing device in passive optical network system
EP4184824A1 (en) Code block processing method, node, and medium
CN112543080B (zh) 误码率检测的方法和装置
CN113381836B (zh) 一种线路编码方法及装置
WO2024156210A1 (zh) 编码信号的处理方法及通信设备、电子设备、介质
CN110830153B (zh) 接收码块流的方法、发送码块流的方法和通信装置
EP4362361A1 (en) Service processing method and service processing device
CN113127398A (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