WO2023131003A1 - 编码方法、解码方法、装置、设备、系统及可读存储介质 - Google Patents

编码方法、解码方法、装置、设备、系统及可读存储介质 Download PDF

Info

Publication number
WO2023131003A1
WO2023131003A1 PCT/CN2022/142359 CN2022142359W WO2023131003A1 WO 2023131003 A1 WO2023131003 A1 WO 2023131003A1 CN 2022142359 W CN2022142359 W CN 2022142359W WO 2023131003 A1 WO2023131003 A1 WO 2023131003A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
code
data
code stream
blocks
Prior art date
Application number
PCT/CN2022/142359
Other languages
English (en)
French (fr)
Inventor
何向
王心远
任浩
Original Assignee
华为技术有限公司
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
Priority claimed from CN202210114845.8A external-priority patent/CN116455517A/zh
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2023131003A1 publication Critical patent/WO2023131003A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received

Definitions

  • the present application relates to the field of communication technology, and in particular to an encoding method, decoding method, device, equipment, system and a readable storage medium.
  • the target code block is an error code block obtained by performing error correction on the second data but failing to correct the error.
  • the device further includes: a second encoding module, configured to perform second encoding on the target code block according to a forward error correction (FEC) pattern to obtain the first data; a sending module configured to for sending the first data.
  • FEC forward error correction
  • the error detection result includes a content sequence error or content error of the target code block
  • the 2 n sets of code stream blocks are obtained by converting 2 n sets of first code stream blocks
  • the 2n groups of first code stream blocks are obtained by performing the first decoding on the target code block according to the type and data unit of the target code block.
  • FIG. 2 is a flow chart of an encoding method provided by an embodiment of the present application.
  • FIG. 3 is a schematic diagram of a process for obtaining a target code block provided by an embodiment of the present application
  • the embodiment of the present application does not limit the number of code stream blocks, as long as n is an integer greater than 1.
  • the 2n groups of code stream blocks are all from the MII.
  • the embodiment of the present application does not limit the manner of acquiring 2 n sets of code stream blocks based on the MII.
  • the MII may adopt the Institute of Electrical and Electronics Engineers (the Institute of Electrical and Electronics Engineers, IEEE) 802.3 standard, such as the MII defined by IEEE802.3-2018 and other versions of the IEEE802.3 standard, to obtain 2 n sets of code stream blocks.
  • the value of n is 2, that is, four sets of stream blocks are acquired.
  • TXD_j ⁇ 63:0> indicates the data block of the jth group of code stream blocks
  • tx_coded ⁇ 256:0> indicates the target code block
  • tx_coded ⁇ (64j+64):( 64j+1)> indicates the (64j+64)th bit to (64j+1)th bit of the target code block
  • each bit of tx_coded ⁇ 256:0> is as shown in the following expressions 1 and 2:
  • the structure of the obtained target code block is shown in FIG. 4 , the 0th bit of the target code block is used to indicate the type of the target code block, and the 0th bit is assigned a value of 1 to indicate that the type is a data code block.
  • the 1st bit to the 256th bit of the target code block are used to represent the data unit of the target code block, wherein D0 represents the 64 bits of the data block of the 0th group of code stream block, and D1 represents the data block of the first group of code stream block 64 bits, D2 represents the 64 bits of the data block of the second group of code stream blocks, and D3 represents the 64 bits of the data block of the third group of code stream blocks.
  • the data blocks of the four sets of code stream blocks only include one data block whose type is the start block.
  • each group of code stream blocks in the 2 n groups of code stream blocks is a code stream block with wrong content order or wrong content
  • 2 n error blocks are obtained based on the 2 n groups of code stream blocks.
  • 2 n error blocks are first encoded to obtain a target code block, and the target code block is an error code block.
  • the chip 102 sends the first data encoded using the FEC code pattern to the chip 104 through the channel 105, and a bit error may occur in the first data during data transmission, and the error
  • the coded data is referred to as second data, and the chip 104 receives the second data through the channel 105 .
  • the target code block is acquired, including but not limited to the following manner A and manner B.
  • Mode A receiving second data, the second data is obtained based on the first data encoded by using the FEC pattern; performing second decoding on the second data to obtain the target code block, the second decoding is an error correction process.
  • Step 1902 first decode the target code block to obtain 2n groups of code stream blocks, any group of code stream blocks includes data blocks and control blocks obtained based on the type and data unit,
  • the data block is obtained by first decoding the data unit based on the type and the decoding method determined by the data unit, and n is an integer greater than 1.
  • the idle control word or the sequence ordered set control word is followed by a data word or a termination control word.
  • converting the target code block to obtain the second code block includes: converting the bit group whose content sequence is wrong or whose content is wrong in the target code block to an error control word; The second code block is obtained based on the error control word and the bit groups with correct sequence and correct content in the target code block.
  • the converted second code block is a control code block, and the second code block may be decoded in the second decoding manner.
  • converting 2 n sets of first code stream blocks to obtain 2 n sets of code stream blocks including: for 2 n sets of first code stream blocks, code stream blocks obtained based on bit groups with incorrect content order or wrong content , convert the code stream block into an error code stream block.
  • the control block of the error code stream block is 0xFF
  • the data block is 0xFEFEFEFE.
  • the code block ID includes a first ID and a second ID
  • the first ID is used to indicate the type of the data block of each group of code stream blocks
  • the second ID is used to indicate the type of each group of code stream blocks
  • the first encoded content is at the position of the code block content.
  • the 2n groups of code stream blocks all come from the media independent interface MII.
  • the type is used to indicate that the target code block is a control code block;
  • the data unit includes a code block identification ID and code block content, and the code block ID is used to indicate the type and type of the data block of each group of code stream blocks.
  • the decoding device decodes the target code block to obtain 2 n sets of code stream blocks including control blocks and data blocks, without transcoding the target code block to obtain 2 n 66-bit code blocks, and then Decode 2 n 66-bit code blocks to obtain 2 n groups of code stream blocks.
  • the decoding efficiency is improved, and the time delay, power consumption and chip area occupied by the decoding process are all reduced.
  • the specific hardware structure of the device in the above embodiment is a network device 1500 as shown in FIG. 23 , including a transceiver 1501 , a processor 1502 and a memory 1503 .
  • the transceiver 1501 , the processor 1502 and the memory 1503 are connected through a bus 1504 .
  • the transceiver 1501 is used to receive and send messages
  • the memory 1503 is used to store instructions or program codes
  • the processor 1502 is used to call the instructions or program codes in the memory 1503 so that the device executes the first network in the above method embodiment.
  • Related processing steps of the device or the second network device are related processing steps of the device or the second network device.
  • the network device 2000 may further include an output device and an input device.
  • Output devices communicate with processor 2001 and can display information in a variety of ways.
  • the output device may be a liquid crystal display (liquid crystal display, LCD), a light emitting diode (light emitting diode, LED) display device, a cathode ray tube (cathode ray tube, CRT) display device, or a projector (projector).
  • the input device communicates with the processor 2001 and can receive user input in various ways.
  • the input device may be a mouse, a keyboard, a touch screen device, or a sensing device, among others.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Abstract

本申请公开了一种编码方法、解码方法、装置、设备、系统及可读存储介质,属于通信技术领域。编码方法包括:获取包括控制块和数据块的2 n组码流块;对2 n组码流块进行第一编码得到目标码块,目标码块包括数据单元和基于2 n组码流块的控制块确定的类型,数据单元是基于2 n组码流块的控制块和数据块确定的编码方式对2 n组码流块包括的数据块进行第一编码得到的。解码方法包括:获取目标码块,根据目标码块的类型和数据单元对目标码块进行第一解码得到2 n组码流块,任一组码流块包括数据块和基于类型和数据单元得到的控制块,任一组码流块包括的数据块是基于类型和数据单元确定的解码方式对数据单元进行第一解码得到的。

Description

编码方法、解码方法、装置、设备、系统及可读存储介质
本申请要求于2022年1月5日提交的申请号为202210007010.2、发明名称为“数据处理方法、第一网络设备和芯片”的中国专利申请的优先权,其全部内容通过引用结合在本申请中;本申请还要求于2022年1月30日提交的申请号为202210114845.8、发明名称为“编码方法、解码方法、装置、设备、系统及可读存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信技术领域,尤其涉及一种编码方法、解码方法、装置、设备、系统及可读存储介质。
背景技术
随着通信技术的发展,数据传输过程中对数据进行处理的方式也越来越多样化。例如,媒体访问控制(media access control,MAC)层的报文经由介质无关接口(media independent interface,MII)下发至物理编码子层(physical coding sublayer,PCS)。例如,报文经由800吉比特(gigabit,G)MII下发至PCS,该800GMII表示传输MAC速率为800吉比特/秒(gigabit per second,Gb/s)的MII。其中,MII的数据位宽为72比特,包括8比特控制块(transmit control,TXC)和64比特数据块(transmit data,TXD)。TXC和TXD是由来自MAC层的报文流内容经过适配子层(reconciliation sublayer,RS)处理得到的。PCS根据TXC/TXD内容进行编码,减少开销,同时可以提供必需的同步、保护功能。
相关技术中,发送端的PCS对来自MII的控制块和数据块进行64比特(bit,B)/66B编码,编码得到66bit码块。当采用高速物理链路进行数据传输时,将每四个66比特码块转码为一个长度为257比特的256B/257B编码的码块,对257比特码块进行前向纠错(forward error correction,FEC)编码,传输FEC编码得到的FEC码字。接收端接收到FEC码字后,对FEC码字进行FEC解码得到257比特码块。在FEC解码过程中对FEC码字进行纠错,对于不可纠正的FEC码字,对该FEC码字中的误码进行标记。将每个257比特码块反转码为四个长度为66比特的64B/66B编码的码块,对四个66比特码块进行解码,得到MII格式的控制块和数据块。
由于FEC编码能够提供数据保护功能,且PCS中绝大多数处理是基于257比特码块进行的,因此64B/66B编解码过程不再必要。若保留64B/66B编解码过程,随之而来的转码/反转码过程将带来不必要的时延、功耗和芯片面积占用。
发明内容
本申请提出一种编码方法、解码方法、装置、设备、系统及可读存储介质,用于提高编解码效率。
第一方面,提供了一种编码方法,所述方法包括:获取2 n组码流块,任一组码流块包括控制块和数据块,所述n为大于1的整数;对所述2 n组码流块进行第一编码,得到目标码块, 所述目标码块包括数据单元和基于所述2 n组码流块的控制块确定的类型,所述数据单元是基于所述2 n组码流块的控制块和数据块确定的编码方式对所述2 n组码流块的数据块进行第一编码得到的。
本申请提供的编码方法中,对包括控制块和数据块的2 n组码流块进行第一编码得到目标码块,而不必对2 n组码流块中的每组码流块进行64B/66B编码得到2 n个66比特码块,再对2 n个66比特码块进行转码得到目标码块。由此,编码效率得以提高,编码过程所带来的时延、功耗和芯片面积占用都得以降低。
在一种可能的实现方式中,所述类型用于指示所述目标码块为数据码块;所述数据单元基于所述2 n组码流块的顺序对所述2 n组码流块的数据块进行所述第一编码得到。
在一种可能的实现方式中,所述类型用于指示所述目标码块为控制码块;所述数据单元包括码块标识ID和码块内容,所述码块内容基于所述2 n组码流块的控制块和数据块确定的顺序对所述2 n组码流块的数据块进行所述第一编码得到,所述码块ID基于所述2 n组码流块的控制块和数据块得到,所述码块ID用于指示各组码流块的数据块的类型和所述各组码流块经所述第一编码后的内容在所述码块内容的位置。
在一种可能的实现方式中,所述码块ID包括第一ID和第二ID,所述第一ID用于指示所述各组码流块的数据块的类型,所述第二ID用于指示所述各组码流块经所述第一编码后的内容在所述码块内容的位置。
在一种可能的实现方式中,所述码块ID包括m比特,所述m为大于等于4的整数。
在一种可能的实现方式中,所述码块ID具备汉明距离保护。
在一种可能的实现方式中,所述目标码块为错误码块,所述错误码块中包括用于标识错误的数据。
由于本申请提供的编码方法能够对不同类型的码流块进行第一编码,以得到目标码块,该方法的适用性较广。
在一种可能的实现方式中,所述目标码块基于错误检测结果对所述2 n组码流块进行处理得到,所述错误检测结果基于所述2 n组码流块的控制块和数据块得到。通过对存在错误的码流块进行处理,使得后续进行数据传输时存在错误的数据能够与正确的数据区分开来,保证数据的可靠性。
在一种可能的实现方式中,所述错误检测结果包括所述2 n组码流块的内容顺序错误或内容错误,所述目标码块基于所述2 n组码流块中内容顺序正确且内容正确的码流块以及错误块进行所述第一编码得到,所述错误块基于所述2 n组码流块中内容顺序错误或内容错误的码流块得到。
在一种可能的实现方式中,所述控制块包括t比特,所述数据块包括8t比特,所述t为正整数。
在一种可能的实现方式中,所述n的取值为2,所述t的取值为8,所述目标码块为257比特。
在一种可能的实现方式中,所述2 n组码流块均来自介质无关接口MII。
在一种可能的实现方式中,所述得到目标码块之后,还包括:按照FEC码型对所述目标码块进行第二编码,得到第一数据;发送所述第一数据。通过按照FEC码型对目标码块进行第二编码得到第一数据,使得接收端能够对接收的第一数据进行纠错,保证数据传输的准确性。
第二方面,提供了一种解码方法,所述方法包括:获取目标码块,所述目标码块包括类型和数据单元;根据所述目标码块的类型和数据单元,对所述目标码块进行第一解码,得到2 n组码流块,任一组码流块包括数据块和基于所述类型和所述数据单元得到的控制块,所述数据块是基于所述类型和所述数据单元确定的解码方式对所述数据单元进行所述第一解码得到的,所述n为大于1的整数。
本申请提供的解码方法中,对目标码块进行第一解码得到包括控制块和数据块的2 n组码流块,而不必对目标码块进行转码得到2 n个66比特码块,再对2 n个66比特码块进行解码得到2 n组码流块。由此,解码效率得以提高,解码过程所带来的时延、功耗和芯片面积占用都得以降低。
在一种可能的实现方式中,所述类型用于指示所述目标码块为数据码块;所述2 n组码流块中的第i组码流块包括的数据块是基于对所述数据单元中与所述第i组码流块对应的8t长度的内容进行所述第一解码得到的,所述t为正整数,所述i为大于等于1且小于等于2 n的整数或者所述i为大于等于0且小于等于2 n-1的整数。
在一种可能的实现方式中,所述类型用于指示所述目标码块为控制码块,所述数据单元包括码块标识ID和码块内容,所述码块ID用于指示各组码流块的数据块的类型和所述各组码流块经所述第一编码后的内容在所述码块内容的位置;所述2 n组码流块中的第i组码流块包括的控制块是基于所述类型和所述码块ID得到的,所述2 n组码流块中的第i组码流块包括的数据块是基于所述类型和所述码块ID确定的解码方式对所述码块内容进行所述第一解码得到的,所述i为大于等于1且小于等于2 n的整数或者所述i为大于等于0且小于等于2 n-1的整数。
在一种可能的实现方式中,所述码块ID包括第一ID和第二ID,所述第一ID用于指示所述各组码流块的数据块的类型,所述第二ID用于指示所述各组码流块经所述第一编码后的内容在所述码块内容的位置;所述第i组码流块包括的控制块是基于所述类型、所述第一ID中与所述第i组码流块对应的比特和所述第二ID中与所述第i组码流块对应的比特得到的,所述第i组码流块中的第i组码流块包括的数据块是基于所述类型、所述第一ID中与所述第i组码流块对应的比特和所述第二ID中与所述第i组码流块对应的比特确定的解码方式对所述码块内容进行所述第一解码得到的。
在一种可能的实现方式中,所述第i组码流块包括的数据块的类型是基于所述第i组码流块包括的控制块的内容和所述第i组码流块包括的数据块的内容确定的。
在一种可能的实现方式中,所述码块ID包括m比特,所述m为大于等于4的整数。
在一种可能的实现方式中,所述码块ID具备汉明距离保护。
在一种可能的实现方式中,所述数据单元包括码块标识ID,所述类型和所述码块ID用于指示所述目标码块为错误码块;所述2 n组码流块中每组码流块包括的控制块为第一值,所述2 n组码流块中每组码流块包括的数据块为第二值,所述第一值和所述第二值用于指示所述码流块为错误码流块。
由于本申请提供的解码方法能够对不同类型的目标码块进行第一解码,以得到2 n组码流块,该方法的适用性较广。
在一种可能的实现方式中,所述获取目标码块包括:接收第二数据,所述第二数据是基于对采用前向纠错FEC编码的第一数据获得的;对所述第二数据进行第二解码获取所述目标码块,所述第二解码为纠错处理。
在一种可能的实现方式中,所述目标码块是对所述第二数据进行纠错但未成功纠错所获得的错误码块。
在一种可能的实现方式中,所述获取目标码块包括:接收第二数据,所述第二数据是基于采用前向纠错FEC编码的第一数据获得的;对所述第二数据进行第二解码获取所述目标码块,所述第二解码为检错但不纠错处理。
在一种可能的实现方式中,所述目标码块是从所述第二数据检出错误但不纠错所获得的错误码块。
在一种可能的实现方式中,所述2 n组码流块是根据错误检测结果以及所述目标码块的类型和数据单元对所述目标码块进行所述第一解码得到的,所述错误检测结果是基于所述目标码块的类型和数据单元得到的。
在一种可能的实现方式中,所述错误检测结果包括所述目标码块的内容顺序错误或内容错误,所述2 n组码流块是根据第二码块的类型和数据单元对所述第二码块进行所述第一解码得到的,所述第二码块是对所述目标码块进行转换得到的且与所述目标码块比特数相同的码块。通过对存在错误的目标码块进行处理,使得接收端能够区分错误数据和正确数据,保证数据的可靠性。
在一种可能的实现方式中,所述错误检测结果包括所述目标码块的内容顺序错误或内容错误,所述2 n组码流块是对2 n组第一码流块进行转换得到的,所述2 n组第一码流块是根据所述目标码块的类型和数据单元对所述目标码块进行所述第一解码得到的。通过对存在错误的目标码块进行处理,使得接收端能够区分错误数据和正确数据,保证数据的可靠性。
在一种可能的实现方式中,所述控制块包括t比特,所述数据块包括8t比特,所述t为正整数。
在一种可能的实现方式中,所述n的取值为2,所述t的取值为8,所述目标码块为257比特。
在一种可能的实现方式中,所述2 n组码流块均为介质无关接口MII格式。
第三方面,提供了一种编码装置,所述装置包括:
获取模块,用于获取2 n组码流块,任一组码流块包括控制块和数据块,所述n为大于1的整数;
第一编码模块,用于对所述2 n组码流块进行第一编码,得到目标码块,所述目标码块包括数据单元和基于所述2 n组码流块的控制块确定的类型,所述数据单元是基于所述2 n组码流块的控制块和数据块确定的编码方式对所述2 n组码流块的数据块进行第一编码得到的。
在一种可能的实现方式中,所述类型用于指示所述目标码块为数据码块;所述数据单元基于所述2 n组码流块的顺序对所述2 n组码流块的数据块进行所述第一编码得到。
在一种可能的实现方式中,所述类型用于指示所述目标码块为控制码块;所述数据单元包括码块标识ID和码块内容,所述码块内容基于所述2 n组码流块的控制块和数据块确定的顺序对所述2 n组码流块的数据块进行所述第一编码得到,所述码块ID基于所述2 n组码流块的控制块和数据块得到,所述码块ID用于指示各组码流块的数据块的类型和所述各组码流块经所述第一编码后的内容在所述码块内容的位置。
在一种可能的实现方式中,所述码块ID包括第一ID和第二ID,所述第一ID用于指示所述各组码流块的数据块的类型,所述第二ID用于指示所述各组码流块经所述第一编码后的内容在所述码块内容的位置。
在一种可能的实现方式中,所述码块ID包括m比特,所述m为大于等于4的整数。
在一种可能的实现方式中,所述码块ID具备汉明距离保护。
在一种可能的实现方式中,所述目标码块为错误码块,所述错误码块中包括用于标识错误的数据。
在一种可能的实现方式中,所述目标码块基于错误检测结果对所述2 n组码流块进行处理得到,所述错误检测结果基于所述2 n组码流块的控制块和数据块得到。
在一种可能的实现方式中,所述错误检测结果包括所述2 n组码流块的内容顺序错误或内容错误,所述目标码块基于所述2 n组码流块中内容顺序正确且内容正确的码流块以及错误块进行所述第一编码得到,所述错误块基于所述2 n组码流块中内容顺序错误或内容错误的码流块得到。
在一种可能的实现方式中,所述控制块包括t比特,所述数据块包括8t比特,所述t为正整数。
在一种可能的实现方式中,所述n的取值为2,所述t的取值为8,所述目标码块为257比特。
在一种可能的实现方式中,所述2 n组码流块均来自介质无关接口MII。
在一种可能的实现方式中,所述装置还包括:第二编码模块,用于按照前向纠错FEC码型对所述目标码块进行第二编码,得到第一数据;发送模块,用于发送所述第一数据。
第四方面,提供了一种解码装置,所述装置包括:
获取模块,用于获取目标码块,所述目标码块包括类型和数据单元;
解码模块,用于根据所述目标码块的类型和数据单元,对所述目标码块进行第一解码,得到2 n组码流块,任一组码流块包括数据块和基于所述类型和所述数据单元得到的控制块,所述数据块是基于所述类型和所述数据单元确定的解码方式对所述数据单元进行所述第一解码得到的,所述n为大于1的整数。
在一种可能的实现方式中,所述类型用于指示所述目标码块为数据码块;所述2 n组码流块中的第i组码流块包括的数据块是基于对所述数据单元中与所述第i组码流块对应的8t长度的内容进行所述第一解码得到的,所述t为正整数,所述i为大于等于1且小于等于2 n的整数或者所述i为大于等于0且小于等于2 n-1的整数。
在一种可能的实现方式中,所述类型用于指示所述目标码块为控制码块;所述数据单元包括码块标识ID和码块内容,所述码块ID用于指示各组码流块的数据块的类型和所述各组码流块经所述第一编码后的内容在所述码块内容的位置;所述2 n组码流块中的第i组码流块包括的控制块是基于所述类型和所述码块ID得到的,所述2 n组码流块中的第i组码流块包括的数据块是基于所述类型和所述码块ID确定的解码方式对所述码块内容进行所述第一解码得到的,所述i为大于等于1且小于等于2 n的整数或者所述i为大于等于0且小于等于2 n-1的整数。
在一种可能的实现方式中,所述码块ID包括第一ID和第二ID,所述第一ID用于指示所述各组码流块的数据块的类型,所述第二ID用于指示所述各组码流块经所述第一编码后的内容在所述码块内容的位置;所述第i组码流块包括的控制块是基于所述类型、所述第一ID中与所述第i组码流块对应的比特和所述第二ID中与所述第i组码流块对应的比特得到的,所述第i组码流块包括的数据块是基于所述类型、所述第一ID中与所述第i组码流块对应的比特和所述第二ID中与所述第i组码流块对应的比特确定的解码方式对所述码块内容进行所述第一解码得到的。
在一种可能的实现方式中,所述第i组码流块包括的数据块的类型是基于所述第i组码流块包括的控制块的内容和所述第i组码流块包括的数据块的内容确定的。
在一种可能的实现方式中,所述码块ID包括m比特,所述m为大于等于4的整数。
在一种可能的实现方式中,所述码块ID具备汉明距离保护。
在一种可能的实现方式中,所述数据单元包括码块标识ID,所述类型和所述码块ID用于指示所述目标码块为错误码块;所述2 n组码流块中每组码流块包括的控制块为第一值,所述2 n组码流块中每组码流块包括的数据块为第二值,所述第一值和所述第二值用于指示所述码流块为错误码流块。
在一种可能的实现方式中,所述获取模块,用于接收第二数据,所述第二数据是基于采用前向纠错FEC码型编码的第一数据获得的;对所述第二数据进行第二解码获取所述目标码块,所述第二解码为纠错处理。
在一种可能的实现方式中,所述目标码块是对所述第二数据进行纠错但未成功纠错所获得的错误码块。
在一种可能的实现方式中,所述获取模块,用于接收第二数据,所述第二数据是基于采用前向纠错FEC码型编码的第一数据获得的;对所述第二数据进行第二解码获取所述目标码块,所述第二解码为检错但不纠错处理。
在一种可能的实现方式中,所述目标码块是从所述第二数据检出错误但不纠错所获得的错误码块。
在一种可能的实现方式中,所述2 n组码流块是根据错误检测结果以及所述目标码块的类型和数据单元对所述目标码块进行所述第一解码得到,所述错误检测结果是基于所述目标码块的类型和数据单元得到的。
在一种可能的实现方式中,所述错误检测结果包括所述目标码块的内容顺序错误或内容错误,所述2 n组码流块是根据第二码块的类型和数据单元对所述第二码块进行所述第一解码得到的,所述第二码块是对所述目标码块进行转换得到的且与所述目标码块比特数相同的码块。
在一种可能的实现方式中,所述错误检测结果包括所述目标码块的内容顺序错误或内容错误,所述2 n组码流块是对2 n组第一码流块进行转换得到的,所述2 n组第一码流块是根据所述目标码块的类型和数据单元对所述目标码块进行所述第一解码得到的。
在一种可能的实现方式中,所述控制块包括t比特,所述数据块包括8t比特,所述t为正整数。
在一种可能的实现方式中,所述n的取值为2,所述t的取值为8,所述目标码块为257比特。
在一种可能的实现方式中,所述2 n组码流块均为介质无关接口MII格式。
第五方面,提供了一种网络设备,包括处理器,处理器与存储器耦合,存储器中存储有至少一条程序指令或代码,至少一条程序指令或代码由处理器加载并执行,以使网络设备实现第一方面中任一的编码方法,或者实现第二方面中任一的解码方法。
第六方面,提供了一种计算机可读存储介质,存储介质中存储有至少一条程序指令或代码,程序指令或代码由处理器加载并执行时以使计算机实现第一方面中任一的编码方法,或者实现第二方面中任一的解码方法。
第七方面,提供了一种通信系统,所述系统包括第一网络设备和第二网络设备,所述第 一网络设备用于执行第一方面中任一的编码方法,所述第二网络设备用于执行第二方面中任一的解码方法。
第八方面,提供了另一种通信装置,该装置包括:收发器、存储器和处理器。其中,该收发器、该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以控制收发器接收信号,并控制收发器发送信号,并且当该处理器执行该存储器存储的指令时,使得该处理器执行第一方面中任一的编码方法,或者执行第二方面中任一的解码方法。
示例性地,所述处理器为一个或多个,所述存储器为一个或多个。
示例性地,所述存储器可以与所述处理器集成在一起,或者所述存储器与处理器分离设置。
在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(read only memory,ROM),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请对存储器的类型以及存储器与处理器的设置方式不做限定。
第九方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码被计算机运行时,使得所述计算机执行第一方面中任一的编码方法,或者执行第二方面中任一的解码方法。
第十方面,提供了一种芯片,包括处理器,用于从存储器中调用并运行所述存储器中存储的指令,使得安装有所述芯片的通信设备执行第一方面中任一的编码方法,或者执行第二方面中任一的解码方法。
第十一方面,提供另一种芯片,包括:输入接口、输出接口、处理器和存储器,所述输入接口、输出接口、所述处理器以及所述存储器之间通过内部连接通路相连,所述处理器用于执行所述存储器中的代码,当所述代码被执行时,所述处理器用于执行第一方面中任一的编码方法,或者执行第二方面中任一的解码方法。
附图说明
图1是本申请实施例提供的一种编码方法和解码方法的实施环境示意图;
图2是本申请实施例提供的一种编码方法的流程图;
图3是本申请实施例提供的一种得到目标码块的过程示意图;
图4是本申请实施例提供的一种目标码块的结构示意图;
图5是本申请实施例提供的另一种目标码块的结构示意图;
图6是本申请实施例提供的另一种目标码块的结构示意图;
图7是本申请实施例提供的另一种目标码块的结构示意图;
图8是本申请实施例提供的一种四组码流块的数据块的示意图;
图9是本申请实施例提供的另一种四组码流块的数据块的示意图;
图10是本申请实施例提供的另一种四组码流块的数据块的示意图;
图11是本申请实施例提供的一种终止块的示意图;
图12是本申请实施例提供的另一种四组码流块的数据块的示意图;
图13是本申请实施例提供的另一种四组码流块的数据块的示意图;
图14是本申请实施例提供的另一种四组码流块的数据块的示意图;
图15是本申请实施例提供的另一种四组码流块的数据块的示意图;
图16是本申请实施例提供的另一种四组码流块的数据块的示意图;
图17是本申请实施例提供的另一种四组码流块的数据块的示意图;
图18是本申请实施例提供的另一种目标码块的结构示意图;
图19是本申请实施例提供的一种解码方法的流程图;
图20是本申请实施例提供的另一种目标码块的结构示意图;
图21是本申请实施例提供的一种编码装置的结构示意图;
图22是本申请实施例提供的一种解码装置的结构示意图;
图23是本申请实施例提供的一种网络设备的结构示意图;
图24是本申请实施例提供的另一种网络设备的结构示意图;
图25是本申请实施例提供的另一种网络设备的结构示意图。
具体实施方式
本申请的实施方式部分使用的术语仅用于对本申请的实施例进行解释,而非旨在限定本申请。下面结合附图,对本申请的实施例进行描述。
在通信技术领域中,随着对数据传输的需求不断增加,对于传输速率的要求也在不断的提高。以太网作为一种局域网技术,随着以太网的快速发展,通过以太网进行数据传输的速率越来越高。例如,100吉比特以太网(gigabit ethernet,GE)以来,采用单通道25Gb/s的传输速率进行数据传输。在保证数据快速传输的基础上,为了保证数据传输的可靠性,在应用以太网传输数据时,物理层引入了FEC编码,进而通过传输编码得到的FEC码字,来纠正接收的数据中的误码。由于FEC码字中存在校验码,对于在相同时间内传输相同有效载荷所需要的传输速率而言,传输FEC码字所需的传输速率较高。
为了降低传输FEC码字所需的传输速率,以太网标准上采用了转码,以通过降低FEC编码前的码块的开销实现降低传输FEC码字所需的传输速率。例如,将每四个64B/66B编码的码块转码为一个256B/257B编码的码块,由于一个257比特码块的开销低于四个66比特码块的开销,从而传输基于257比特码块得到的FEC码字所需的传输速率相对较低。在采用100G通道进行数据传输时,传输基于转码后的码块得到的FEC码字所需的传输速率为103.125Gb/s,该传输速率与传输未进行FEC编码的66比特码块所需的传输速率相同。
接收端在获取到FEC码字之后,对FEC码字进行解码得到257比特码块,将257比特码块反转码为四个66比特码块,对四个66比特码块进行解码,得到MII格式的控制块和数据块。由于FEC码字中的误码可以基于FEC标错来识别,且PCS中绝大多数处理是基于257比特码块进行的,因此64B/66B编解码过程和相应的转码/反转码过程将产生不必要的时延、功耗和芯片面积占用。
对此,本申请实施例提供了一种编码方法和解码方法。在本申请实施例中,在编码的过程中,不必对2 n组码流块中的每组码流块进行64B/66B编码,再对2 n个66比特码块进行转码得到目标码块,在解码的过程中,也不必对目标码块进行转码得到2 n个66比特码块,再对2 n个66比特码块进行解码得到2 n组码流块。由此,编码和解码的效率均得以提高,也降低了编码和解码过程所带来的时延、功耗和芯片面积占用。
本申请实施例提供的编码方法和解码方法可适用于当前的以太接口或者其他需要传输数 据的场景下。以图1所示的实施场景为例,该实施场景包括多个芯片,各个芯片之间能够进行信息的交互,实现数据传输。示例性地,芯片102和芯片104均支持FEC编码和FEC解码,芯片102和芯片104之间的信道105能够传输FEC编码的数据。则芯片102可以对2 n组码流块进行第一编码得到目标码块,对目标码块按照第一FEC码型进行第二编码得到第一数据,并通过信道105将第一数据发送给芯片104。示例性地,第一数据在信道105中传输时可能会出现误码,将接收到的数据称为第二数据。芯片104在接收到第二数据后,可以采用第一FEC码型对第二数据进行第二解码得到目标码块,对目标码块进行第一解码得到2 n组码流块。
其中,n为大于1的整数,第一FEC码型包括但不限于RS码、博斯-乔赫里-霍克文黑姆(Bose-Chaudhuri-Hocquenghem,BCH)码、汉明码(Hamming code)、扩展BCH码(extended-BCH code)、扩展汉明码(extended-Hamming code)、法尔(fire)码、涡轮(turbo)码、涡轮乘积码(turbo product code,TPC)、阶梯(staircase)码以及低密度奇偶校验(low-density parity-check,LDPC)码中的任一种或者多种的级联组合。
可选地,如图1所示的实施场景可以包括多个网络设备,芯片102位于第一网络设备101上,芯片104位于第二网络设备103上。各个网络设备可以包括至少一个芯片,图1中仅以两个网络设备,各个网络设备包括一个芯片为例进行说明。
结合图1所示的实施场景,本申请实施例提供的编码方法如图2所示。示例性地,本申请实施例提供的编码方法由图1中的芯片102执行,该方法包括但不限于步骤201和步骤202。
步骤201,获取2 n组码流块,任一组码流块包括控制块和数据块,n为大于1的整数。
本申请实施例不对码流块的数量进行限定,n为大于1的整数即可。在一种可能的实现方式中,该2 n组码流块均来自MII。关于基于MII获取2 n组码流块的方式,本申请实施例对此不加以限定。例如,MII可以采用电气与电子工程师协会(the Institute of Electrical and Electronics Engineers,IEEE)802.3标准,比如IEEE802.3-2018以及其他版本的IEEE802.3标准定义的MII,获取2 n组码流块。例如,n的取值为2,也即获取四组码流块。
在一种可能的实现方式中,对于2 n组码流块中的任一组码流块,该任一组码流块的控制块包括t比特,该任一组码流块的数据块包括8t比特,t为正整数。其中,8t表示t的8倍,8t也可以表示为8*t。示例性地,t的取值为8,也即对于任一组码流块而言,该任一组码流块的控制块包括8比特,该任一组码流块的数据块包括64比特。在一种可能的实现方式中,控制块包括的t比特均为控制比特,也即控制块包括t个控制比特;数据块包括的8t比特均为数据,也即数据块包括的8t比特数据。
示例性地,将包括8个控制比特的控制块表示为TXC<7:0>,将包括64比特数据的数据块表示为TXD<63:0>,控制块和数据块的各个比特的顺序均为由最高有效位(most significant bit,MSB)至最低有效位(least significant bit,LSB)。
在一种可能的实现方式中,TXD<63:0>包括的数据包括但不限于MAC帧数据和控制数据,TXD<63:0>以8比特为一个数据段。TXC<7:0>用于标示TXD<63:0>内每个数据段,以对MAC帧数据和控制数据进行不同的处理,进而在接收侧正确恢复出MAC帧数据和控制数据。
示例性地,为方便下文描述,对数据段的名称进行定义,将TXD<63:0>内的8比特MAC帧数据称为数据字(data character),以/D/表示,其对应的TXC=0;将8比特控制数据称为控制字(control character),以/C/表示,其对应的TXC=1。示例性地,8比特控制字(/C/)按照含义不同,包括但不限于如下7种类型:错误控制字(error character,/E/)、起始控制字(start  character,/S/)、终止控制字(terminate character,/T/)、有序集控制字(ordered set character,/O/)、空闲控制字(idle character,/I/)、低功率空闲控制字(low power idle,/LI/)和其他合法8比特控制字。上述控制字的具体含义和取值可参考IEEE802.3-2018,本申请实施例不再赘述。
示例性地,在码流块的控制块为第一指定值时,该码流块的数据块不包括控制字,该码流块的数据块称为MAC帧数据块(data block,D),该码流块的类型为数据码流块。第一指定值用于指示码流块的类型为数据码流块。例如,第一指定值为0x00,码流块的TXC<7:0>=0x00,该码流块的TXD<63:0>不包括控制字,该码流块的数据块为MAC帧数据块,该码流块的类型为数据码流块。在码流块的控制块不为第一指定值时,该码流块的数据块包括至少一个控制字,该码流块的数据块称为控制数据块(control block,C),该码流块的类型为控制码流块。例如,码流块的TXC<7:0>!=0x00,该码流块的TXD<63:0>包括至少一个控制字,该码流块的数据块为控制数据块,该码流块的类型为控制码流块。示例性地,控制数据块(C)按照功能不同,包括但不限于如下7种类型:错误块(error block,E)、起始块(start block,S)、终止块(terminate block,T)、有序集块(ordered set block,O)、空闲块(idle block,I)、低功耗空闲块(low power idle block,LPI)和其他控制数据块。
步骤202,对2 n组码流块进行第一编码,得到目标码块,目标码块包括数据单元和基于2 n组码流块的控制块确定的类型,数据单元是基于2 n组码流块的控制块和数据块确定的编码方式对2 n组码流块的数据块进行第一编码得到的。
示例性地,各组码流块的控制块均为8比特,数据块均为64比特,对四组码流块进行第一编码得到一个257比特的目标码块,例如,目标码块为257比特编码块(257b coded block)。本申请实施例以n=2为例进行说明,n为其他值时,可以对每四组码流块执行该第一编码过程,得到多个目标码块。例如,n=3,也即获取到八组码流块,可以对前四组码流块进行第一编码得到一个目标码块,对后四组码流块进行第一编码得到一个目标码块。
在一种可能的实现方式中,对2 n组码流块进行第一编码,得到目标码块包括但不限于如下编码方式一和编码方式二。
编码方式一,基于2 n组码流块的控制块确定目标码块的类型为数据码块;基于2 n组码流块的顺序对2 n组码流块的数据块进行第一编码,得到数据单元;基于类型和数据单元,得到目标码块。
示例性地,对于采用编码方式一得到的目标码块,类型用于指示目标码块为数据码块;数据单元基于2 n组码流块的顺序对2 n组码流块的数据块进行第一编码得到。
在一种可能的实现方式中,在2 n组码流块的控制块均为第一指定值的情况下,确定目标码块的类型为数据码块。例如,各组码流块的控制块均为表示为TXC<7:0>,第一指定值为0x00,在各组码流块的TXC<7:0>均为0x00的情况下,各组码流块的类型均为数据码流块。
在一种可能的实现方式中,基于2 n组码流块的顺序对2 n组码流块的数据块进行第一编码,得到数据单元,包括:基于2 n组码流块的顺序,分别将2 n组码流块的数据块包括的比特作为数据单元的比特,以得到数据单元。
示例性地,以j表示四组码流块的序号,j=0,1,2或3。TXD_j<63:0>表示第j组码流块的数据块,tx_coded<256:0>表示目标码块,其中,tx_coded<0>表示目标码块的类型,tx_coded<(64j+64):(64j+1)>表示目标码块的第(64j+64)比特至第(64j+1)比特,则 tx_coded<256:0>的各个比特如下方表达式1和表达式2所示:
tx_coded<0>=1    (表达式1)
tx_coded<(64j+64):(64j+1)>=TXD_j<63:0>,j=0,1,2或3    (表达式2)
在表达式1中,tx_coded<0>=1表示类型为数据码块,在表达式2中,tx_coded<(64j+64):(64j+1)>=TXD_j<63:0>表示分别将各组码流块的数据块的多个比特作为数据单元的多个比特。
例如,当j=0时,tx_coded<64:1>=TXD_0<63:0>,表示将第0组码流块的数据块的第63比特至第0比特分别作为目标码块的第64比特至第1比特。当j=1时,tx_coded<128:65>=TXD_1<63:0>,表示将第1组码流块的数据块的第63比特至第0比特分别作为目标码块的第128比特至第65比特。当j=2时,tx_coded<192:129>=TXD_2<63:0>,表示将第2组码流块的数据块的第63比特至第0比特分别作为目标码块的第192比特至第129比特。当j=3时,tx_coded<256:193>=TXD_3<63:0>,表示将第3组码流块的数据块的第63比特至第0比特分别作为目标码块的第256比特至第193比特。
示例性地,图3示出了一种得到目标码块的过程示意图。如图3所示,对于获取到的四组码流块,各组码流块的控制块均表示为TXC<7:0>,数据块均表示为TXD<63:0>。该四组码流块的TXC<7:0>均为0x00,则目标码块的类型为数据码块。示例性地,目标码块的类型对应目标码块的第0比特,将第0比特赋值为1表示类型为数据码块。关于将第0比特赋值以表示类型为数据码块的方式,本申请实施例不加以限定。基于四组码流块的顺序,分别将四组码流块的数据块的多个比特作为数据单元的多个比特,以得到数据单元。从而,基于类型和数据单元能够得到目标比特。
示例性地,得到的目标码块的结构如图4所示,目标码块的第0比特用于表示目标码块的类型,第0比特赋值为1用于表示类型为数据码块。目标码块的第1比特至第256比特用于表示目标码块的数据单元,其中,D0表示第0组码流块的数据块的64比特,D1表示第1组码流块的数据块的64比特,D2表示第2组码流块的数据块的64比特,D3表示第3组码流块的数据块的64比特。
编码方式二,基于2 n组码流块的控制块确定目标码块的类型为控制码块;基于2 n组码流块的控制块和数据块,得到码块标识(Identifier,ID),码块ID用于指示各组码流块的数据块的类型和各组码流块经第一编码后的内容在码块内容的位置;基于2 n组码流块的控制块和数据块确定的顺序对2 n组码流块的数据块进行第一编码,得到码块内容;基于类型和数据单元,得到目标码块,其中,数据单元包括码块ID和码块内容。码块ID的值与目标码块对应的2 n组码流块的组合一一对应。码块ID的值与上述2 n组码流块的组合间的对应关系可依据需要进行设置,例如,当码块ID为0x01时,表示该目标码块对应的连续2 n组码流块的第一组码流块为以太帧的开始(Start),后面的2 n-1组码流块均为以太帧的数据(Data)。或者当码块ID为0xF0时,表示该目标码块对应的连续2 n组码流块的第2 n组码流块为以太帧的结束(Terminate),前面的2 n-1个码流块均为以太帧的数据(Data)。或者当码块ID为0xD1时,表示该目标码块对应的连续2 n组码流块的所有码流块均为空闲(Idle)。对于码块ID的值与上述2 n组码流块的组合间的对应关系并不局限于本申请实施例所列举的几种情况,本申请对此不进行限定。上述码块ID的取值为一种示例,在实际应用中并不局限于上述示例的数值,只要能够实现码块ID的取值和2 n组码流块的组合间存在一一对应的关系即可,本申请实施例对 此不进行限定。
示例性地,对于采用编码方式二得到的目标码块,类型用于指示目标码块为控制码块;数据单元包括码块ID和码块内容,码块内容基于2 n组码流块的控制块和数据块确定的顺序对2 n组码流块的数据块进行第一编码得到,码块ID基于2 n组码流块的控制块和数据块得到,码块ID用于指示各组码流块的数据块的类型和各组码流块经第一编码后的内容在码块内容的位置。示例性地,2 n组码流块的控制块和数据块确定的顺序为2 n组码流块的接收顺序。
在一种可能的实现方式中,在2 n组码流块中的至少一组码流块的控制块为第二指定值,则确定目标码块的类型为控制码块,第二指定值用于指示码流块的类型为控制码流块。也就是说,在2 n组码流块中的至少一组码流块的类型为控制码流块的情况下,目标码块的类型为控制码块。其中,第二指定值与上述第一指定值不同。例如,以各组码流块的控制块均为表示为TXC<7:0>,第一指定值为0x00为例,在各组码流块中至少一组码流块的TXC<7:0>为第二指定值,也即不为0x00的情况下,该目标码块为控制码块。
在一种可能的实现方式中,基于2 n组码流块的控制块和数据块得到码块ID,包括:基于2 n组码流块的控制块得到2 n组码流块的数据块的类型,基于各组码流块的数据块的类型和各组码流块的顺序,得到目标码块的码块ID。示例性地,码块ID包括m比特,m为大于等于4的正整数。例如,目标码块的结构如图5所示,类型对应第0比特,码块ID对应第m-1比特至第1比特,码块内容对应其余比特。示例性地,m=8或m=12。
示例性地,码块ID包括第一ID和第二ID,第一ID用于指示各组码流块的数据块的类型,第二ID用于指示各组码流块经第一编码后的内容在码块内容的位置。例如,目标码块的结构如图6所示,类型对应第0比特,码块ID对应第m-1比特至第1比特,码块内容对应其余比特,第m-1比特至第1比特分为两部分,低位的前一部分为第一ID,高位的后一部分为第二ID。例如,码块ID为12比特,低位的前4比特为第一ID,高位的后8比特为第二ID,目标码块的结构如图7所示,类型对应第0比特,第一ID对应第4比特至第1比特,第二ID对应第12比特至第5比特,码块内容对应其余244比特。示例性地,第一ID包括的四个比特分别指示四组码流块的数据块的类型。例如,在码流块的数据块为MAC帧数据块的情况下,该码流块对应的比特为1;在码流块的数据块为控制数据块的情况下,该码流块的对应的比特为0。
需要说明的是,无论码块ID为上述哪种情况,码块ID均可以具备汉明距离保护。
在一种可能的实现方式中,对于各组码流块的数据块的类型和各组码流块经第一编码后的内容在码块内容的位置的多种情况,各种情况对应的码块ID均不相同。也就是说,对于各组码流块的数据块的类型和各组码流块经第一编码后的内容在码块内容的位置的多种情况,均由唯一的码块ID进行指示。示例性地,以四组码流块为例进行说明,四组码流块的数据块的类型包括但不限于如下情况A1至情况A8。
情况A1,四组码流块的数据块中包括类型为错误块的数据块。
示例性地,针对A1,对于类型为错误块的数据块的不同数量和不同位置,四组码流块的数据块如图8所示,其中,C0表示除错误块以外的其他类型的控制数据块。例如,对于图8中的情况1,第一组码流块的数据块的类型为错误块,其余三组码流块的数据块的类型可以MAC帧数据块或除错误块以外的其他类型的控制数据块。图8中的其他情况与上述情况1原理相同,此处不再赘述。
情况A2,四组码流块的数据块中仅包括一个类型为起始块的数据块。
示例性地,针对A2,对于类型为起始块的数据块的不同位置,四组码流块的数据块如图9所示,其中,C1表示除起始块、终止块、错误块以及有序集块以外的其他类型的控制数据块。例如,对于图9中的情况1,第一组码流块的数据块的类型为起始块,其余三组码流块的数据块的类型均为MAC帧数据块。对于图9中的情况2,第一组码流块的数据块的类型为C1,第二组码流块的数据块的类型为起始块,其余两组码流块的数据块的类型为MAC帧数据块。对于图9中的情况3,第一组码流块和第二组码流块的数据块的类型均为C1,第三组码流块的数据块的类型为起始块,第四组码流块的数据块的类型为MAC帧数据块。对于图9中的情况4,第一组码流块至第三组码流块的数据块的类型均为C1,第四组码流块的数据块的类型为起始块。
情况A3,四组码流块的数据块中仅包括一个类型为终止块的数据块。
示例性地,针对A3,对于类型为终止块的数据块的不同位置,四组码流块的数据块如图10所示,其中,C2表示除起始块、终止块、错误块以及有序集块以外的其他类型的控制数据块。例如,对于图10中的情况1,第一组码流块的数据块的类型为终止块,其余三组码流块的数据块的类型均为C2。对于图10中的情况2,第一组码流块的数据块的类型为MAC帧数据块,第二组码流块的数据块的类型为终止块,其余两组码流块的数据块的类型为C2。对于图10中的情况3,第一组码流块和第二组码流块的数据块的类型均为MAC帧数据块,第三组码流块的数据块的类型为终止块,第四组码流块的数据块的类型为C2。对于图10中的情况4,第一组码流块至第三组码流块的数据块的类型均为MAC帧数据块,第四组码流块的数据块的类型为终止块。
在一种可能的实现方式中,在数据块包括终止控制字(/T/)的情况下,该数据块的类型为终止块。示例性地,根据终止控制字的不同位置,终止块的不同情况如图11所示。在图11中,终止块为64比特,每8比特为一个字节;i表示终止控制字为终止块的第i个字节,i=0,1,2,3,4,5,6或7;/C3/表示除终止控制字以外的其余控制字,填充比特可以为0。该种实现方式中的/T/、/D/、/C3/和填充比特的排序可参考图11所示的排序,此处不再赘述。图11中,i=0时可称为情况1,i=1时可称为情况2,依次类推,i=7时可称为情况8。
需要说明的是,在四组码流块的数据块中仅包括一个类型为终止块的数据块的情况下,对于不同位置终止控制字对应的终止块,码块ID均不同。也就是说,结合图10示出的情况1至情况4和图11示出的情况1至情况8,该32种情况对应的码块ID均不同。
情况A4,四组码流块的数据块中包括类型为有序集块的数据块,不包括类型为起始块或终止块的数据块。
示例性地,针对A4,对于类型为有序集块的数据块的不同数量和不同位置,四组码流块的数据块如图12所示,其中,C4表示除起始块、终止块、错误块以及有序集块以外的其他类型的控制数据块。例如,对于图12中的情况1,第一组码流块的数据块的类型为有序集块,第二组码流块至第四组码流块的数据块的类型均为C4。对于图12中的情况2,第二组码流块的数据块的类型为有序集块,除第二组码流块之外的其余三组码流块的数据块的类型为C4。图12的其他情况可参考图12中各组码流块的数据块的类型及其顺序,此处不再赘述。
情况A5,四组码流块的数据块中包括类型为有序集块的数据块以及类型为起始块的数据块,不包括类型为终止块的数据块。
示例性地,针对A5,对于类型为有序集块的数据块的不同数量和不同位置以及类型为起 始块的数据块的不同位置,四组码流块的数据块如图13所示,其中,C5表示除起始块、终止块、错误块和有序集块以外的其他类型的控制数据块。例如,对于图13中的情况1,第一组码流块的数据块的类型为有序集块,第二组码流块的数据块的类型为起始块,其余两组码流块的数据块的类型均为MAC帧数据块。对于情况2,第一组码流块的数据块的类型为有序集块,第二组码流块的数据块的类型为C5,第三组码流块的数据块的类型为起始块,第四组码流块的数据块的类型为MAC帧数据块。图13中的其他情况可参考图13中各组码流块的数据块的类型及其顺序,此处不再赘述。
情况A6,四组码流块的数据块中包括类型为终止块的数据块以及类型为有序集块的数据块,不包括类型为起始块的数据块。
示例性地,针对A6,对于类型为终止块的数据块的不同位置以及类型为有序集块的数据块的不同数量和不同位置,四组码流块的数据块如图14所示,其中,C6表示除起始块、终止块、错误块和有序集块以外的其他类型的控制数据块。例如,对于图14中的情况1,第一组码流块的数据块的类型为终止块,第二组码流块的数据块的类型为有序集块,其余两组码流块的数据块的类型均为C6。对于情况2,第一组码流块的数据块的类型为终止块,第三组码流块的数据块的类型为有序集块,其余两组码流块的数据块的类型均为C6。图14中的其他情况可参考图14中各组码流块的数据块的类型及其顺序,此处不再赘述。
在一种可能的实现方式中,在数据块包括终止控制字(/T/)的情况下,该数据块的类型为终止块。终止块的情况与上述情况A3中的终止块原理相同,也即终止块如图11所示,此处不再赘述。示例性地,结合图14示出的情况1至情况11和图11示出的情况1至情况8,该88种情况对应的码块ID均不同。
情况A7,四组码流块的数据块中包括类型为终止块的数据块和类型为起始块的数据块。
示例性地,针对A7,对于类型为终止块的数据块和类型为起始块的数据块的不同位置,四组码流块的数据块如图15所示,其中,C7表示除起始块、终止块、错误块以及有序集块以外的其他类型的控制数据块。例如,对于图15中的情况1,第一组码流块的数据块的类型为终止块,第二组码流块的数据块的类型为起始块,其余两组码流块的数据块的类型均为MAC帧数据块。对于情况2,第一组码流块的数据块的类型为终止块,第二组码流块的数据块的类型为C7,第三组码流块的数据块的类型为起始块,第四组码流块的数据块的类型为MAC帧数据块。图15中的其他情况可参考图15中各组码流块的数据块的类型及其顺序,此处不再赘述。
在一种可能的实现方式中,在数据块包括终止控制字(/T/)的情况下,该数据块的类型为终止块。终止块的情况与上述情况A3中的终止块原理相同,也即终止块如图11所示,此处不再赘述。示例性地,在类型为终止块的数据块在类型为起始块的数据块之前的情况下,结合图15示出的情况1至情况6和图11示出的情况1至情况8,该48种情况对应的码块ID均不同。在类型为起始块的数据块在类型为终止块的数据块之前的情况下,表示该四组码流块对应一个32字节的数据包,终止控制字为终止块的第7字节,也即图11示出的情况8。
情况A8,四组码流块的数据块中包括类型为终止块的数据块、类型为有序集块的数据块和类型为起始块的数据块。
示例性地,针对A8,对于类型为终止块的数据块的不同位置、类型为起始块的数据块的不同位置以及类型为有序集块的数据块的不同数量和不同位置,四组码流块的数据块如图16所示,其中,C8表示除起始块、终止块、错误块以及有序集块以外的其他类型的控制数据块。 例如,对于图16中的情况1,第一组码流块的数据块的类型为终止块,第二组码流块的数据块的类型为有序集块,第三组码流块的数据块的类型为起始块,第四组码流块的数据块的类型为MAC帧数据块。对于情况2,第一组码流块的数据块的类型为终止块,第二组码流块的数据块的类型为有序集块,第三组码流块的数据块的类型为C8,第四组码流块的数据块的类型为起始块。图16中的其他情况可参考图16中各组码流块的数据块的类型及其顺序,此处不再赘述。
在一种可能的实现方式中,在数据块包括终止控制字(/T/)的情况下,该数据块的类型为终止块。终止块的情况与上述情况A3中的终止块原理相同,也即终止块如图11所示,此处不再赘述。示例性地,结合图16示出的情况1至情况5和图11示出的情况1至情况8,该40种情况对应的码块ID均不同。
需要说明的是,对于情况A1至情况A8包括的各种情况,各种情况对应的码块ID均不同。关于各种情况对应的码块ID的取值,本申请实施例对此不加以限定。
示例性地,对于情况A1至情况A8中的四组码流块中的三组码流块的数据块的类型为MAC帧数据块的情况,码块ID包括但不限于两种情况:情况一,在第一组码流块的数据块的类型为起始块,其余三组码流块的数据块的类型均为MAC帧数据块的情况下,码块ID为0x5E,也即目标码块的第1比特至第8比特为01111010。情况二,在前三组码流块的数据块的类型均为MAC帧数据块,第四组码流块的数据块的类型为终止块的情况下,对应图11中的情况1至情况8,码块ID分别为0x07,0x17,0x27,0x37,0x47,0x57,0x67,0x77。无论是上述情况一还是情况二,LSB为先发送的比特。
示例性地,对于情况A1至情况A8中除上述情况一和情况二以外的其他情况,码块ID为12比特,且该码块ID的前8比特与上述情况一和情况二的码块ID均不同。
在一种可能的实现方式中,对基于2 n组码流块的控制块和数据块确定的顺序对2 n组码流块的数据块进行第一编码,得到码块内容,包括:基于2 n组码流块的控制块和数据块确定的顺序对2 n组码流块的数据块进行压缩,得到码块内容。示例性地,对2 n组码流块的数据块进行压缩,包括:对2 n组码流块的数据块中为0的各个比特进行压缩。例如,空闲块的各个比特均为0,在2 n组码流块的数据块的类型为空闲块的情况下,对空闲块的各个比特进行压缩。
综上所述的各种情况,基于类型、码块ID和码块内容能够得到目标码块。
在一种可能的实现方式中,目标码块为错误码块,错误码块中包括用于标识错误的数据。示例性地,当2 n组码流块不均为数据码流块,也不属于上述情况A1至情况A8中的任一种情况时,确定目标码块为错误码块,获取目标码块的码块ID和码块内容,类型和码块ID作为错误码块中用于标识错误的数据。例如,目标码块的第0比特对应类型,第4比特至第1比特对应码块ID,将第0比特赋值为0,第4比特至第1比特均赋值为1。
在一种可能的实现方式中,四组码流块的数据块如图17所示,其中,0,1,2和3表示四组码流块的顺序,C表示码流块的数据块的类型为控制数据块,D表示码流块的数据块的类型为MAC帧数据块。例如,对于组合0,四组码流块的数据块的类型均为控制数据块。示例性地,对于图17中的各个组合,当四组码流块的数据块的类型均不为MAC帧数据码流块,也不属于上述情况A1至A8中的任一种情况时,确定目标码块为错误码块。例如,对于数据块的类型均为MAC帧数据块的两组码流块,当该两组码流块之间存在某一组码流块的数据块的类型为起始块、有序集块、空闲块或低功耗空闲块中的任一种时,目标码块为错误码块。
在一种可能实现方式中,目标码块为错误码块时,目标码块的结构如图18所示。目标码块的第0比特对应类型,第0比特为0,第4比特至第1比特对应码块ID,第4比特至第1比特均为1,第256比特至第5比特对应码块内容。例如,码块内容的前4比特为0xE,之后每8比特为0x1E。又例如,码块内容的各个比特均为0。
在另一种可能实现方式中,当目标码块为错误码块时,目标码块的码块ID的长度不局限于图18所示的4比特,比如码块ID的长度为8比特。目标码块的第0比特对应类型,第0比特为0,第8比特至第1比特对应码块ID,第8比特至第1比特均为1,第256比特至第9比特对应码块内容。例如,码块内容的每8比特为0x1E。又例如,码块内容的各个比特均为0。
由于本申请实施例提供的编码方法能够对不同类型的码流块进行第一编码,以得到目标码块,该方法的适用性较广。
在一种可能的实现方式中,对2 n组码流块进行第一编码,得到目标码块,包括:基于2 n组码流块的控制块和数据块得到错误检测结果;基于错误检测结果对2 n组码流块进行处理,对处理后的2 n组码流块进行第一编码,得到目标码块。也就是说,目标码块基于错误检测结果对2 n组码流块进行处理得到,错误检测结果基于2 n组码流块的控制块和数据块得到。
示例性地,基于2 n组码流块的控制块和数据块得到错误检测结果,包括:基于2 n组码流块的控制块和数据块得到2 n组码流块的内容和内容顺序,基于2 n组码流块的内容和内容顺序得到错误检测结果。例如,当2 n组码流块的内容顺序为第一错误情况集合中的至少一种情况时,该2 n组码流块的内容顺序错误,当2 n组码流块的内容顺序不为第一错误情况集合中的任一种情况时,该2 n组码流块的内容顺序正确。又例如,当2 n组码流块的内容为第二错误情况集合中的至少一种情况时,该2 n组码流块的内容错误,当2 n组码流块的内容不为第二错误情况集合中的任一种情况时,该2 n组码流块的内容正确。
在一种可能的实现方式中,以相邻的两组码流块为例进行说明,第一错误情况集合包括但不限于如下4种情况。
(1)在前一组码流块的数据块的类型为起始块的情况下,后一组码流块的数据块的类型为除MAC帧数据以外的其他类型。
(2)在前一组码流块的数据块的类型为MAC帧数据的情况下,后一组码流块的数据块的类型为除MAC帧数据或终止块以外的其他类型。
(3)在前一组码流块的数据块的类型为终止块的情况下,后一组码流块的数据块的类型为除空闲块或有序集块以外的其他类型。
(4)在前一组码流块的数据块的类型为空闲块或有序集块的情况下,后一组码流块的数据块的类型为MAC帧数据或终止块。
在一种可能的实现方式中,以一组码流块为例进行说明,第二错误情况集合包括但不限于如下4种情况。
(1)对于数据块包括起始控制字的码流块,起始控制字后为除数据字以外的其他内容。
(2)对于数据块包括数据字的码流块,数据字后为除数据字或终止控制字以外的其他内容。
(3)对于数据块包括终止控制字的码流块,终止控制字后为除空闲控制字或有序集控制字以外的其他内容。
(4)对于数据块包括空闲控制字或有序集控制字的码流块,空闲控制字或序列有序集控制字后为数据字或终止控制字。
示例性地,错误检测结果包括2 n组码流块的内容顺序错误或内容错误,基于2 n组码流块中内容顺序错误或内容错误的码流块得到错误块,对2 n组码流块中内容顺序正确且内容正确的码流块及错误块进行第一编码得到目标码块。也即,在错误检测结果包括2 n组码流块的内容顺序错误或内容错误的情况下,目标码块基于2 n组码流块中内容顺序正确且内容正确的码流块以及错误块进行第一编码得到,错误块基于2 n组码流块中内容顺序错误或内容错误的码流块得到。示例性地,错误块包括错误控制字(error control character)。例如,对于内容顺序错误或内容错误的码流块,将该码流块的内容转换为错误控制字,以得到错误块。
示例性地,对2 n组码流块中内容顺序正确且内容顺序的码流块及错误块进行第一编码得到目标码块,包括:确定目标码块的类型为控制码块;基于2 n组码流块中内容顺序正确且内容顺序的码流块及错误块得到码块ID;基于2 n组码流块的控制块和数据块确定的顺序对错误块和2 n组码流块中内容顺序正确且内容正确的码流块的数据块进行第一编码,得到码块内容。在一种可能的实现方式中,该错误块为上述情况A1中的错误块,得到码块ID和码块内容的方式与上述情况A1的相关内容原理相同,此处不再赘述。
示例性地,在2 n组码流块中的各组码流块均为内容顺序错误或内容错误的码流块的情况下,基于2 n组码流块得到2 n个错误块,对该2 n个错误块进行第一编码得到目标码块,该目标码块为错误码块。
通过对存在错误的码流块进行处理,使得后续进行数据传输时存在错误的数据能够与正确的数据区分开来,保证数据的可靠性。
示例性地,得到目标码块之后,该方法还包括:按照FEC码型对目标码块进行第二编码,得到第一数据;发送第一数据。关于按照FEC码型对目标码块进行第二编码的方式,本申请实施例不加以限定。通过按照FEC码型对目标码块进行第二编码得到第一数据,使得接收端能够对接收的第一数据进行纠错,保证数据传输的准确性。
本申请实施例提供的编码方法,对包括控制块和数据块的2 n组码流块进行第一编码得到目标码块,而不必对2 n组码流块中的每组码流块进行64B/66B编码得到2 n个66比特码块,再对2 n个66比特码块进行转码得到目标码块。由此,编码效率得以提高,编码过程所带来的时延、功耗和芯片面积占用都得以降低。
上述介绍了本申请实施例提供的编码方法,下面介绍本申请实施例提供的解码方法。结合图1所示的实施场景,本申请实施例提供的解码方法如图19所示。示例性地,本申请实施例提供的解码方法由图1中的芯片104执行,该方法包括但不限步骤1901和步骤1902。
步骤1901,获取目标码块,目标码块包括类型和数据单元。
示例性地,结合图1的实施场景,芯片102通过信道105向芯片104发送采用FEC码型编码的第一数据,在数据传输的过程中第一数据中可能会出现误码,将该出现误码的数据称为第二数据,芯片104通过信道105接收到该第二数据。
在一种可能的实现方式中,获取目标码块,包括但不限于如下方式A和方式B。
方式A,接收第二数据,第二数据是基于采用FEC码型编码的第一数据获得的;对第二数据进行第二解码获取目标码块,该第二解码为纠错处理。
示例性地,目标码块是对第二数据进行纠错但未成功纠错所获得的错误码块。例如,对第二数据进行第二解码获取目标码块,包括:按照该FEC码型对第二数据进行处理得到第一码字,对该第一码字进行纠错处理,基于纠错处理的结果获取目标码块。
示例性地,芯片104具有FEC解码器的功能,当FEC解码器判定误码的个数超出该FEC解码器的纠错能力时,也就是说,当FEC解码器判定无法对第一码字进行纠错时,标记该第一码字中所有的码块为错误码块。从而,在纠错处理的结果为标记第一码字中所有的码块为错误码块的情况下,获取的目标码块为错误码块。
示例性地,在纠错处理的结果为对第一码字纠错成功的情况下,将基于纠错后的第一码字得到的码块作为获取的目标码块,基于纠错后的第一码字得到的码块为纠错成功的码块。
方式B,接收第二数据,第二数据是基于采用FEC码型编码的第一数据获得的;对第二数据进行第二解码获取目标码块,第二解码为检错但不纠错处理。
示例性地,目标码块是从第二数据检出错误但不纠错所获得的错误码块。例如,对第二数据进行第二解码获取目标码块,包括:按照该FEC码型对第二数据进行处理得到第一码字,对第一码字进行仅检错但不纠错(bypass correction)处理;基于检错但不纠错处理的结果获取目标码块。
示例性地,芯片104具有FEC解码器的功能,当FEC解码器检测到第一码字中存在错误时,标记该第一码字中所有的码块为错误码块。从而,在检错但不纠错处理的结果为标记第一码字中所有的码块为错误码块的情况下,获取的目标码块为错误码块。
示例性地,在检错但不纠错处理的结果为第一码字无错误的情况下,将基于第一码字得到的码块作为获取的目标码块,基于第一码字得到的码块为无错误的码块。
示例性地,基于目标码块执行的帧校验序列(frame check sequence,FCS)帧校验失败。例如,目标码块为257比特,前5比特为01111,其余252比特包括但不限于如下四种情况。
(1)各个比特保持不变。
(2)前4比特为0x1或0xE,其余比特中每8比特为0x1E。
(3)前248比特中每8比特为0x1E,最后4比特为0x1或0xE。
(4)各个比特均为0。
示例性地,目标码块如图20所示,b表示比特。
步骤1902,根据目标码块的类型和数据单元,对目标码块进行第一解码,得到2 n组码流块,任一组码流块包括数据块和基于类型和数据单元得到的控制块,数据块是基于类型和数据单元确定的解码方式对数据单元进行第一解码得到的,n为大于1的整数。
示例性地,目标码块为257比特,各组码流块的控制块均为8比特,数据块均为64比特。以对一个目标码块进行第一解码得到四组码流块(n=2)为例进行说明,当获取到多个目标码块时,可以对各个目标码块分别执行该第一解码过程,以得到2 n组码流块。例如,当获取到两个目标码块时,可以对该两个码块分别进行第一解码得到四组码流块,也即,对两个目标码块进行第一解码得到八组码流块。
在一种可能的实现方式中,根据目标码块的类型和数据单元,对目标码块进行第一解码,得到2 n组码流块,包括但不限于如下解码方式一至解码方式三。
解码方式一,基于目标码块的类型,确定目标码块的类型为数据码块,目标码块的数据单元包括2 n个8t长度的内容,t为正整数;基于目标码块的类型得到2 n组码流块的控制块,对 数据单元包括的2 n个8t长度的内容分别进行第一解码,得到2 n组码流块的数据块。
示例性地,在类型用于指示目标码块为数据码块的情况下,采用解码方式一对目标码块进行第一解码得到2 n组码流块。该2 n组码流块中的第i组码流块包括的数据块是基于对数据单元中与该第i组码流块对应的8t长度的内容进行第一解码得到的,i为大于等于1且小于等于2 n的整数或者i为大于等于0且小于等于2 n-1的整数。
在一种可能的实现方式中,目标码块的类型为1用于指示目标码块为数据码块,目标码块的数据单元包括四个8t长度的内容,一个8t长度的内容对应一组码流块。示例性地,8t长度为64比特。将四组码流块的控制块均置为0x00,将四个64比特的内容分别作为四组码流块的数据块的内容。
示例性地,j表示四组码流块的序号,j=0,1,2或3。RXC_j<7:0>表示第j组码流块的控制块,RXD_j<63:0>表示第j组码流块的数据块,rx_coded<256:0>表示目标码块,其中,rx_coded<0>表示目标码块的类型,rx_coded<(64j+64):(64j+1)>表示目标码块的第(64j+64)比特至第(64j+1)比特,RXC_j<7:0>和RXD_j<63:0>的内容如下方表达式3和表达式4所示:
RXC_j<7:0>=0x00,j=0,1,2或3    (表达式3)
RXD_j<63:0>=rx_coded<(64j+64):(64j+1)>,j=0,1,2或3    (表达式4)
在表达式3中,RXC_j<7:0>=0x00表示各组码流块的控制块均为0x00,在表达式4中,RXD_j<63:0>=rx_coded<(64j+64):(64j+1)>表示将数据单元的每64比特作为一组码流块的数据块的64比特。
例如,当j=0时,RXD_0<63:0>=rx_coded<64:1>,表示将目标码块的第64比特至第1比特分别作为第0组码流块的数据块的第63比特至第0比特。当j=1时,RXD_1<63:0>=rx_coded<128:65>,表示将目标码块的第128比特至第65比特分别作为第1组码流块的数据块的第63比特至第0比特。当j=2时,RXD_2<63:0>=rx_coded<192:129>,表示将目标码块的第192比特至第129比特分别作为第2组码流块的数据块的第63比特至第0比特。当j=3时,RXD_3<63:0>=rx_coded<256:193>,表示将目标码块的第256比特至第193比特分别作为第3组码流块的数据块的第63比特至第0比特。
解码方式二,基于目标码块的类型,确定目标码块的类型为控制码块,目标码块的数据单元包括码块ID和码块内容,码块ID用于指示各组码流块的数据块的类型和各组码流块经第一编码后的内容在码块内容的位置;基于类型和码块ID得到2 n组码流块的控制块,基于类型和码块ID确定的解码方式对码块内容进行第一解码得到2 n组码流块的数据块。
示例性地,在类型用于指示目标码块为控制码块的情况下,采用解码方式二对目标码块进行第一解码得到2 n组码流块。该2 n组码流块中的第i组码流块包括的控制块是基于类型和码块ID得到的,该2 n组码流块中的第i组码流块包括的数据块是基于类型和码块ID确定的解码方式对码块内容进行第一解码得到的,i为大于等于1且小于等于2 n的整数或者i为大于等于0且小于等于2 n-1的整数。
在一种可能的实现方式中,码块ID包括第一ID和第二ID,第一ID用于指示各组码流块的数据块的类型,第二ID用于指示各组码流块经第一编码后的内容在码块内容的位置。基于类型和码块ID得到2 n组码流块的控制块,基于类型和码块ID确定的解码方式对码块内容进行第一解码得到2 n组码流块的数据块,包括:基于类型、第一ID中与2 n组码流块对应的比特和第二ID中与2 n组码流块对应的比特得到2 n组码流块包括的控制块,基于类型、第一ID中与2 n组码 流块对应的比特和第二ID中与2 n组码流块对应的比特确定的解码方式对码块内容进行第一解码得到2 n组码流块的数据块。
也就是说,第i组码流块包括的控制块是基于类型、第一ID中与第i组码流块对应的比特和第二ID中与第i组对应的比特得到的,第i组码流块包括的数据块是基于类型、第一ID中与第i组码流块对应的比特和第二ID中与第i组码流块对应的比特确定的解码方式对码块内容进行第一解码得到的。
示例性地,第i组码流块包括的数据块的类型是基于第i组码流块包括的控制块的内容和第i组码流块的数据块的内容确定的。
由于对于各组码流块的数据块的类型和各组码流块经第一编码后的内容在码块内容的位置的多种情况,均由唯一的码块ID进行指示,因此,基于目标码块的码块ID能够得到各组码流块的数据块的类型和各组码流块经第一编码后的内容在码块内容的位置,进而能够基于类型和码块ID确定出目标码块的解码方式。从而能够基于类型和码块ID得到2 n组码流块的控制块,基于类型和码块ID确定的解码方式对码块进行第一解码得到码块内容。
解码方式三,基于目标码块的类型和数据单元,确定目标码块的类型为错误码块;将2 n组码流块中每组码流块包括的控制块置为第一值,将2 n组码流块中每组码流块包括的数据块置为第二值,第一值和第二值用于指示码流块为错误码流块。
示例性地,数据单元包括码块ID,类型和码块ID用于指示目标码块为错误码块;2 n组码流块中每组码流块包括的控制块为第一值,2 n组码流块中每组码流块包括的数据块为第二值,第一值和第二值用于指示码流块为错误码流块。例如,目标码块的类型为0,码块ID为1111,该目标码块为错误码块,经第一解码得到的2 n组码流块中每组码流块包括的控制块为0xFF,2 n组码流块中每组码流块包括的数据块为0xFEFEFEFE。
由于本申请实施例提供的解码方法能够对不同类型的目标码块进行第一解码,以得到2 n组码流块,该方法的适用性较广。
在一种可能的实现方式中,根据目标码块的类型和数据单元,对目标码块进行第一解码,得到2 n组码流块,包括:基于目标码块的类型和数据单元得到错误检测结果;根据错误检测结果以及目标码块的类型和数据单元对目标码块进行第一解码,得到2 n组码流块。也就是说,2 n组码流块是根据错误检测结果以及目标码块的类型和数据单元对目标码块进行第一解码得到的,错误检测结果是基于目标码块的类型和数据单元得到的。
示例性地,基于目标码块的类型和数据单元得到错误检测结果,包括:基于目标码块的类型和数据单元得到目标码块的内容和内容顺序,基于目标码块的内容和内容顺序得到错误检测结果。例如,当目标码块的内容顺序为第三错误情况集合中的至少一种情况时,该目标码块的内容顺序错误,当目标码块的内容顺序不为第三错误情况集合中的任一种情况时,该目标码块的内容顺序正确。又例如,当目标码块的内容为第四错误情况集合中的至少一种情况时,该目标码块的内容错误,当目标码块的内容不为第四错误情况集合中的任一种情况时,该目标码块的内容正确。
在一种可能的实现方式中,以目标码块为控制码块,该目标码块包括四个比特组为例进行说明,一个比特组对应经第一解码得到的一组码流块,对于相邻的两个比特组,第三错误情况集合包括但不限于如下4种情况。
(1)在前一个比特组包括起始控制字(/S/)的情况下,后一个比特组包括除数据字(/D/)以外的其他内容。
(2)在前一个比特组仅包括数据字的情况下,后一个比特组包括除数据字或终止控制字(/T/)以外的其他内容。
(3)在前一个比特组包括终止控制字的情况下,后一个比特组包括除空闲控制字(/I/)或序列有序集控制字(/O/)以外的其他内容。
(4)在前一个比特组包括空闲控制字或序列有序集控制字的情况下,后一个比特组包括数据字或终止控制字。
在一种可能的实现方式中,以一个比特组为例进行说明,第四错误情况集合包括但不限于如下4种情况。
(1)对于包括起始控制字的比特组,起始控制字后为除数据字以外的其他内容。
(2)对于包括数据字的比特组,数据字后为除数据字或终止控制字以外的其他内容。
(3)对于包括终止控制字的比特组,终止控制字后为除空闲控制字或序列有序集控制字以外的其他内容。
(4)对于包括空闲控制字或序列有序集控制字的比特组,空闲控制字或序列有序集控制字后为数据字或终止控制字。
在一种可能的实现方式中,错误检测结果包括目标码块的内容顺序错误或内容错误,根据错误检测结果以及目标码块的类型和数据单元对目标码块进行第一解码,得到2 n组码流块,包括:对目标码块进行转换得到第二码块,根据第二码块的类型和数据单元对第二码块进行第一解码得到2 n组码流块,第二码块是对目标码块进行转换得到的且与目标码块比特数相同的码块。也就是说,2 n组码流块是根据第二码块的类型和数据单元对第二码块进行第一解码得到的,第二码块是基于对目标码块进行转换得到的且与目标码块比特数相同的码块。
示例性地,对目标码块进行转换得到第二码块,包括:对于目标码块中内容顺序错误或内容错误的比特组,将该内容顺序错误或内容错误的比特组转换为错误控制字;基于该错误控制字和目标码块中内容顺序正确且内容正确的比特组,得到第二码块。在一种可能的实现方式中,转换得到的第二码块为控制码块,可以采用解码方式二对该第二码块进行第一解码。
在另一种可能的实现方式中,错误检测结果包括目标码块的内容顺序错误或内容错误,根据错误检测结果以及目标码块的类型和数据单元对目标码块进行第一解码,得到2 n组码流块,包括:基于目标码块的类型和数据单元对目标码块进行第一解码得到2 n组第一码流块,对2 n组第一码流块进行转换得到2 n组码流块。也就是说,2 n组码流块是基于对2 n组第一码流块进行转换得到的,2 n组第一码流块是基于目标码块的类型和数据单元对目标码块进行第一解码得到的。
示例性地,对2 n组第一码流块进行转换得到2 n组码流块,包括:对于2 n组第一码流块中基于内容顺序错误或内容错误的比特组得到的码流块,将该码流块转换为错误码流块。例如,错误码流块的控制块为0xFF,数据块为0xFEFEFEFE。通过对存在错误的目标码块进行处理,使得接收端能够区分错误数据和正确数据,保证数据的可靠性。
本申请实施例提供的解码方法,对目标码块进行第一解码得到包括控制块和数据块的2 n组码流块,而不必对目标码块进行转码得到2 n个66比特码块,再对2 n个66比特码块进行解码得到2 n组码流块。由此,解码效率得以提高,解码过程所带来的时延、功耗和芯片面积占用 都得以降低。
以上介绍了本申请实施例提供的编码方法,与上述方法对应,本申请实施例还提供了编码装置。图21是本申请实施例提供的一种编码装置的结构示意图,该装置应用于第一网络设备,该第一网络设备为上述图1所示实施例中的第一网络设备。基于图21所示的如下多个模块,该图21所示的编码装置能够执行第一网络设备所执行的全部或部分操作。应理解到,该装置可以包括比所示模块更多的附加模块或者省略其中所示的一部分模块,本申请实施例对此并不进行限制。如图21所示,该装置包括:
获取模块2201,用于获取2 n组码流块,任一组码流块包括控制块和数据块,n为大于1的整数;
第一编码模块2202,用于对2 n组码流块进行第一编码,得到目标码块,目标码块包括数据单元和基于2 n组码流块的控制块确定的类型,数据单元是基于2 n组码流块的控制块和数据块确定的编码方式对2 n组码流块的数据块进行第一编码得到的。
在一种可能的实现方式中,类型用于指示目标码块为数据码块;数据单元基于2 n组码流块的顺序对2 n组码流块的数据块进行第一编码得到。
在一种可能的实现方式中,类型用于指示目标码块为控制码块;数据单元包括码块标识ID和码块内容,码块内容基于2 n组码流块的控制块和数据块确定的顺序对2 n组码流块的数据块进行第一编码得到,码块ID基于2 n组码流块的控制块和数据块得到,码块ID用于指示各组码流块的数据块的类型和各组码流块经第一编码后的内容在码块内容的位置。
在一种可能的实现方式中,码块ID包括第一ID和第二ID,第一ID用于指示各组码流块的数据块的类型,第二ID用于指示各组码流块经第一编码后的内容在码块内容的位置。
在一种可能的实现方式中,码块ID包括m比特,m为大于等于4的整数。
在一种可能的实现方式中,码块ID具备汉明距离保护。
在一种可能的实现方式中,目标码块为错误码块,错误码块中包括用于标识错误的数据。
在一种可能的实现方式中,目标码块基于错误检测结果对2 n组码流块进行处理得到,错误检测结果基于2 n组码流块的控制块和数据块得到。
在一种可能的实现方式中,错误检测结果包括2 n组码流块的内容顺序错误或内容错误,目标码块基于2 n组码流块中内容顺序正确且内容正确的码流块以及错误块进行第一编码得到,错误块基于2 n组码流块中内容顺序错误或内容错误的码流块得到。
在一种可能的实现方式中,控制块包括t比特,数据块包括8t比特,t为正整数。
在一种可能的实现方式中,n的取值为2,t的取值为8,目标码块为257比特。
在一种可能的实现方式中,2 n组码流块均来自介质无关接口MII。
在一种可能的实现方式中,该装置还包括:第二编码模块2203,用于按照前向纠错FEC码型对目标码块进行第二编码,得到第一数据;发送模块2204,用于发送第一数据。
本申请实施例提供的编码装置,对包括控制块和数据块的2 n组码流块进行第一编码得到目标码块,而不必对2 n组码流块中的每组码流块进行64B/66B编码得到2 n个66比特码块,再对2 n个66比特码块进行转码得到目标码块。由此,编码效率得以提高,编码过程所带来的时延、功耗和芯片面积占用都得以降低。
以上介绍了本申请实施例提供的解码方法,与上述方法对应,本申请实施例还提供了解码装置。图22是本申请实施例提供的一种解码装置的结构示意图,该装置可应用于第二网络设备,该第二网络设备为上述图1所示实施例中的第二网络设备。基于图22所示的如下多个模块,该图22所示的解码装置能够执行第二网络设备所执行的全部或部分操作。应理解到,该装置可以包括比所示模块更多的附加模块或者省略其中所示的一部分模块,本申请实施例对此并不进行限制。如图22所示,该装置包括:
获取模块2301,用于获取目标码块,目标码块包括类型和数据单元;
解码模块2302,用于根据目标码块的类型和数据单元,对目标码块进行第一解码,得到2 n组码流块,任一组码流块包括数据块和基于类型和数据单元得到的控制块,数据块是基于类型和数据单元确定的解码方式对数据单元进行第一解码得到的,n为大于1的整数。
在一种可能的实现方式中,类型用于指示目标码块为数据码块;2 n组码流块中的第i组码流块包括的数据块是基于对数据单元中与第i组码流块对应的8t长度的内容进行第一解码得到的,t为正整数,i为大于等于1且小于等于2 n的整数或者i为大于等于0且小于等于2 n-1的整数。
在一种可能的实现方式中,类型用于指示目标码块为控制码块;数据单元包括码块标识ID和码块内容,码块ID用于指示各组码流块的数据块的类型和各组码流块经第一编码后的内容在码块内容的位置;2 n组码流块中的第i组码流块包括的控制块是基于类型和码块ID得到的,2 n组码流块中的第i组码流块包括的数据块是基于类型和码块ID确定的解码方式对码块内容进行第一解码得到的,i为大于等于1且小于等于2 n的整数或者i为大于等于0且小于等于2 n-1的整数。
在一种可能的实现方式中,码块ID包括第一ID和第二ID,第一ID用于指示各组码流块的数据块的类型,第二ID用于指示各组码流块经第一编码后的内容在码块内容的位置;第i组码流块包括的控制块是基于类型、第一ID中与第i组码流块对应的比特和第二ID中与第i组码流块对应的比特得到的,第i组码流块包括的数据块是基于类型、第一ID中与第i组码流块对应的比特和第二ID中与第i组码流块对应的比特确定的解码方式对码块内容进行第一解码得到的。
在一种可能的实现方式中,第i组码流块包括的数据块的类型是基于第i组码流块包括的控制块的内容和第i组码流块包括的数据块的内容确定的。
在一种可能的实现方式中,码块ID包括m比特,m为大于等于4的整数。
在一种可能的实现方式中,码块ID具备汉明距离保护。
在一种可能的实现方式中,数据单元包括码块标识ID,类型和码块ID用于指示目标码块为错误码块;2 n组码流块中每组码流块包括的控制块为第一值,2 n组码流块中每组码流块包括的数据块为第二值,第一值和第二值用于指示码流块为错误码流块。
在一种可能的实现方式中,获取模块2301,用于接收第二数据,第二数据是基于采用前向纠错FEC码型编码的第一数据获得的;对第二数据进行第二解码获取目标码块,第二解码为纠错处理。
在一种可能的实现方式中,目标码块是对第二数据进行纠错但未成功纠错所获得的错误码块。
在一种可能的实现方式中,获取模块2301,用于接收第二数据,第二数据是基于采用前向纠错FEC码型编码的第一数据获得的;对第二数据进行第二解码获取目标码块,第二解码为检错但不纠错处理。
在一种可能的实现方式中,目标码块是从第二数据检出错误但不纠错所获得的错误码块。
在一种可能的实现方式中,2 n组码流块是根据错误检测结果以及目标码块的类型和数据单元对目标码块进行第一解码得到,错误检测结果是基于目标码块的类型和数据单元得到的。
在一种可能的实现方式中,错误检测结果包括目标码块的内容顺序错误或内容错误,2 n组码流块是根据第二码块的类型和数据单元对第二码块进行第一解码得到的,第二码块是对目标码块进行转换得到的且与目标码块比特数相同的码块。
在一种可能的实现方式中,错误检测结果包括目标码块的内容顺序错误或内容错误,2 n组码流块是对2 n组第一码流块进行转换得到的,2 n组第一码流块是根据目标码块的类型和数据单元对目标码块进行第一解码得到的。
在一种可能的实现方式中,控制块包括t比特,数据块包括8t比特,t为正整数。
在一种可能的实现方式中,n的取值为2,t的取值为8,目标码块为257比特。
在一种可能的实现方式中,2 n组码流块均为介质无关接口MII格式。
本申请实施例提供的解码装置,对目标码块进行解码得到包括控制块和数据块的2 n组码流块,而不必对目标码块进行转码得到2 n个66比特码块,再对2 n个66比特码块进行解码得到2 n组码流块。由此,解码效率得以提高,解码过程所带来的时延、功耗和芯片面积占用都得以降低。
应理解的是,上述图21和图22提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述实施例中的设备的具体硬件结构如图23所示的网络设备1500,包括收发器1501、处理器1502和存储器1503。收发器1501、处理器1502和存储器1503之间通过总线1504连接。其中,收发器1501用于接收报文和发送报文,存储器1503用于存放指令或程序代码,处理器1502用于调用存储器1503中的指令或程序代码使得设备执行上述方法实施例中第一网络设备或第二网络设备的相关处理步骤。在具体实施例中,本申请实施例的网络设备1500可对应于上述各个方法实施例中的第一网络设备或第二网络设备,网络设备1500中的处理器1502读取存储器1503中的指令或程序代码,使图23所示的网络设备1500能够执行第一网络设备或第二网络设备所执行的全部或部分操作。
网络设备1500还可以对应于上述图21和图22所示的装置,例如,图21和图22中所涉及的获取模块2201和获取模块2301相当于收发器1501,第一编码模块2202和解码模块2302处理器1502。
参见图24,图24示出了本申请一个示例性实施例提供的网络设备2000的结构示意图。图24所示的网络设备2000用于执行上述图2所示的编码方法所涉及的操作和图19所示的解码方法所涉及的操作。该网络设备2000例如是交换机、路由器等。
如图24所示,网络设备2000包括至少一个处理器2001、存储器2003以及至少一个通信接口2004。
处理器2001例如是通用中央处理器(central processing unit,CPU)、数字信号处理器 (digital signal processor,DSP)、网络处理器(network processer,NP)、图形处理器(graphics processing unit,GPU)、神经网络处理器(neural-network processing units,NPU)、数据处理单元(data processing unit,DPU)、微处理器或者一个或多个用于实现本申请方案的集成电路。例如,处理器2001包括专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。PLD例如是复杂可编程逻辑器件(complex programmable logic device,CPLD)、现场可编程逻辑门阵列(field-programmable gate array,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合。其可以实现或执行结合本发明实施例公开内容所描述的各种逻辑方框、模块和电路。所述处理器也可以是实现计算功能的组合,例如包括一个或多个微处理器组合,DSP和微处理器的组合等等。
可选的,网络设备2000还包括总线。总线用于在网络设备2000的各组件之间传送信息。总线可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图24中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。图24中网络设备2000的各组件之间除了采用总线连接,还可采用其他方式连接,本发明实施例不对各组件的连接方式进行限定。
存储器2003例如是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,又如是随机存取存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,又如是电可擦可编程只读存储器(electrically erasable programmable read-only Memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器2003例如是独立存在,并通过总线与处理器2001相连接。存储器2003也可以和处理器2001集成在一起。
通信接口2004使用任何收发器一类的装置,用于与其它设备或通信网络通信,通信网络可以为以太网、无线接入网(RAN)或无线局域网(wireless local area networks,WLAN)等。通信接口2004可以包括有线通信接口,还可以包括无线通信接口。具体的,通信接口2004可以为以太(ethernet)接口、快速以太(fast ethernet,FE)接口、千兆以太(gigabit ethernet,GE)接口,异步传输模式(asynchronous transfer mode,ATM)接口,无线局域网(wireless local area networks,WLAN)接口,蜂窝网络通信接口或其组合。以太网接口可以是光接口,电接口或其组合。在本申请实施例中,通信接口2004可以用于网络设备2000与其他设备进行通信。
在具体实现中,作为一种实施例,处理器2001可以包括一个或多个CPU,如图24中所示的CPU0和CPU1。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,网络设备2000可以包括多个处理器,如图24中所示的处理器2001和处理器2005。这些处理器中的每一个可以是一个单核处理器(single-CPU), 也可以是一个多核处理器(multi-CPU)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,网络设备2000还可以包括输出设备和输入设备。输出设备和处理器2001通信,可以以多种方式来显示信息。例如,输出设备可以是液晶显示器(liquid crystal display,LCD)、发光二级管(light emitting diode,LED)显示设备、阴极射线管(cathode ray tube,CRT)显示设备或投影仪(projector)等。输入设备和处理器2001通信,可以以多种方式接收用户的输入。例如,输入设备可以是鼠标、键盘、触摸屏设备或传感设备等。
在一些实施例中,存储器2003用于存储执行本申请方案的程序代码2010,处理器2001可以执行存储器2003中存储的程序代码2010。也即是,网络设备2000可以通过处理器2001以及存储器2003中的程序代码2010,来实现方法实施例提供的编码方法或解码方法。程序代码2010中可以包括一个或多个软件模块。可选地,处理器2001自身也可以存储执行本申请方案的程序代码或指令。
在具体实施例中,本申请实施例的网络设备2000可对应于上述各个方法实施例中的第一网络设备或第二网络设备,网络设备2000中的处理器2001读取存储器2003中的程序代码2010或处理器2001自身存储的程序代码或指令,使图24所示的网络设备2000能够执行第一网络设备或第二网络设备所执行的全部或部分操作。
网络设备2000还可以对应于上述图21和图22所示的装置,图21和图22所示的装置中的每个功能模块采用网络设备2000的软件实现。换句话说,图21和图22所示的装置包括的功能模块为网络设备2000的处理器2001读取存储器2003中存储的程序代码2010后生成的。例如,图21和图22中所涉及的获取模块2201和获取模块2301相当于通信接口2004,第一编码模块2202和解码模块2302相当于处理器2001和/或处理器2005。
其中,图2和图19所示的方法的各步骤通过网络设备2000的处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤,为避免重复,这里不再详细描述。
参见图25,图25示出了本申请另一个示例性实施例提供的网络设备2100的结构示意图。图25所示的网络设备2100用于执行上述图2和图19所示的方法所涉及的全部或部分操作。该网络设备2100例如是交换机、路由器等,该网络设备2100可以由一般性的总线体系结构来实现。
如图25所示,网络设备2100包括:主控板2110和接口板2130。
主控板也称为主处理单元(main processing unit,MPU)或路由处理卡(route processor card),主控板2110用于对网络设备2100中各个组件的控制和管理,包括路由计算、设备管理、设备维护、协议处理功能。主控板2110包括:中央处理器2111和存储器2112。
接口板2130也称为线路接口单元卡(line processing unit,LPU)、线卡(line card)或业务板。接口板2130用于提供各种业务接口并实现数据包的转发。业务接口包括而不限于以太网接口、POS(packet over SONET/SDH)接口等,以太网接口例如是灵活以太网业务接口 (flexible ethernet clients,FlexE Clients)。接口板2130包括:中央处理器2131网络处理器2132、转发表项存储器2134和物理接口卡(physical interface card,PIC)2133。
接口板2130上的中央处理器2131用于对接口板2130进行控制管理并与主控板2110上的中央处理器2111进行通信。
网络处理器2132用于实现报文的发送处理。网络处理器2132的形态可以是转发芯片。转发芯片可以是网络处理器(network processor,NP)。在一些实施例中,转发芯片可以通过专用集成电路(application-specific integrated circuit,ASIC)或现场可编程门阵列(field programmable gate array,FPGA)实现。具体而言,网络处理器2132用于基于转发表项存储器2134保存的转发表转发接收到的报文,如果报文的目的地址为网络设备2100的地址,则将该报文上送至CPU(如中央处理器2131)处理;如果报文的目的地址不是网络设备2100的地址,则根据该目的地址从转发表中查找到该目的地址对应的下一跳和出接口,将该报文转发到该目的地址对应的出接口。其中,上行报文的处理可以包括:报文入接口的处理,转发表查找;下行报文的处理可以包括:转发表查找等等。在一些实施例中,中央处理器也可执行转发芯片的功能,比如基于通用CPU实现软件转发,从而接口板中不需要转发芯片。
物理接口卡2133用于实现物理层的对接功能,原始的流量由此进入接口板2130,以及处理后的报文从该物理接口卡2133发出。物理接口卡2133也称为子卡,可安装在接口板2130上,负责将光电信号转换为报文并对报文进行合法性检查后转发给网络处理器2132处理。在一些实施例中,中央处理器2131也可执行网络处理器2132的功能,比如基于通用CPU实现软件转发,从而物理接口卡2133中不需要网络处理器2132。
可选地,网络设备2100包括多个接口板,例如网络设备2100还包括接口板2140,接口板2140包括:中央处理器2141、网络处理器2142、转发表项存储器2144和物理接口卡2143。接口板2140中各部件的功能和实现方式与接口板2130相同或相似,在此不再赘述。
可选地,网络设备2100还包括交换网板2120。交换网板2120也可以称为交换网板单元(switch fabric unit,SFU)。在网络设备有多个接口板的情况下,交换网板2120用于完成各接口板之间的数据交换。例如,接口板2130和接口板2140之间可以通过交换网板2120通信。
主控板2110和接口板耦合。例如。主控板2110、接口板2130和接口板2140,以及交换网板2120之间通过系统总线与系统背板相连实现互通。在一种可能的实现方式中,主控板2110和接口板2130及接口板2140之间建立进程间通信协议(inter-process communication,IPC)通道,主控板2110和接口板2130及接口板2140之间通过IPC通道进行通信。
在逻辑上,网络设备2100包括控制面和转发面,控制面包括主控板2110和中央处理器2111,转发面包括执行转发的各个组件,比如转发表项存储器2134、物理接口卡2133和网络处理器2132。控制面执行路由器、生成转发表、处理信令和协议报文、配置与维护网络设备的状态等功能,控制面将生成的转发表下发给转发面,在转发面,网络处理器2132基于控制面下发的转发表对物理接口卡2133收到的报文查表转发。控制面下发的转发表可以保存在转发表项存储器2134中。在有些实施例中,控制面和转发面可以完全分离,不在同一网络设备上。
值得说明的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,网络设备的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块 的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,网络设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,网络设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的网络设备的数据接入和处理能力要大于集中式架构的网络设备。可选地,网络设备的形态也可以是只有一块板卡,即没有交换网板,接口板和主控板的功能集成在该一块板卡上,此时接口板上的中央处理器和主控板上的中央处理器在该一块板卡上可以合并为一个中央处理器,执行两者叠加后的功能,这种形态网络设备的数据交换和处理能力较低(例如,低端交换机或路由器等网络设备)。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
在具体实施例中,网络设备2100对应于上述图21和图22所示的装置。在一些实施例中,图21和图22所示的装置中的获取模块2201和获取模块2301相当于网络设备2100中的物理接口卡2133或物理接口卡2143。图21和图22所示的装置中的第一编码模块2202和解码模块2302相当于网络设备2100中的中央处理器2111、网络处理器2132和网络处理器2142中的至少一个。
基于上述图23、图24及图25所示的网络设备,本申请实施例还提供了一种通信系统,该系统包括:第一网络设备及第二网络设备。可选的,第一网络设备为图23所示的网络设备1500或图24所示的网络设备2000或图25所示的网络设备2100,第二网络设备为图23所示的网络设备1500或图24所示的网络设备2000或图25所示的网络设备2100。
第一网络设备及第二网络设备所执行的方法可参见上述图1、图2和图19所示实施例的相关描述,此处不再加以赘述。
应理解的是,上述处理器可以是中央处理器(central processing unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(advanced RISC machines,ARM)架构的处理器。
进一步地,在一种可选的实施例中,上述存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。
该存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用。例如,静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic random access memory,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、 同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
还提供了一种计算机可读存储介质,存储介质中存储有至少一条程序指令或代码,所述程序指令或代码由处理器加载并执行时以使计算机实现图2中的编码方法或者图19中的解码方法。
本申请提供了一种计算机程序(产品),当计算机程序被计算机执行时,可以使得处理器或计算机执行上述方法实施例中对应的各个步骤和/或流程。
提供了一种芯片,包括处理器,用于从存储器中调用并运行所述存储器中存储的指令,使得安装有所述芯片的通信设备执行上述各方面中的方法。
提供另一种芯片,包括:输入接口、输出接口、处理器和存储器,所述输入接口、输出接口、所述处理器以及所述存储器之间通过内部连接通路相连,所述处理器用于执行所述存储器中的代码,当所述代码被执行时,处理器用于执行上述各方面中的方法。
还提供了一种设备,该设备包括上述芯片。可选地,该设备为网络设备。示例性地,该设备为路由器或交换机或服务器。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
以上所述的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施方式而已,并不用于限定本申请的保护范围,凡在本申请的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本申请的保护范围之内。
本领域普通技术人员可以意识到,结合本文中所公开的实施例中描述的各方法步骤和模块,能够以软件、硬件、固件或者其任意组合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各实施例的步骤及组成。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机程序指令。作为示例,本申请实施例的方法可以在机器可执行指令的上下文中被描述,机器可执行指令诸如包括在目标的真实或者虚拟处理器上的器件中执行的程序模块中。一般而言,程序模块包括例程、程序、库、对象、类、组件、数据结构等,其执行特定的任务或者实现特定的抽象数据结构。在各实施例中,程序模块的功能可以在所描述的程序模块之间合并或者分割。用于程序模块的机器可执行指令可以在本地或者分布式设备内执行。在分布式设备中,程序模块可以位于本地和远程存储介质二者中。
用于实现本申请实施例的方法的计算机程序代码可以用一种或多种编程语言编写。这些计算机程序代码可以提供给通用计算机、专用计算机或其他可编程的数据处理装置的处理器,使得程序代码在被计算机或其他可编程的数据处理装置执行的时候,引起在流程图和/或框图中规定的功能/操作被实施。程序代码可以完全在计算机上、部分在计算机上、作为独立的软件包、部分在计算机上且部分在远程计算机上或完全在远程计算机或服务器上执行。
在本申请实施例的上下文中,计算机程序代码或者相关数据可以由任意适当载体承载,以使得设备、装置或者处理器能够执行上文描述的各种处理和操作。载体的示例包括信号、计算机可读介质等等。
信号的示例可以包括电、光、无线电、声音或其它形式的传播信号,诸如载波、红外信号等。
机器可读介质可以是包含或存储用于或有关于指令执行系统、装置或设备的程序的任何有形介质。机器可读介质可以是机器可读信号介质或机器可读存储介质。机器可读介质可以包括但不限于电子的、磁的、光学的、电磁的、红外的或半导体系统、装置或设备,或其任意合适的组合。机器可读存储介质的更详细示例包括带有一根或多根导线的电气连接、便携式计算机磁盘、硬盘、随机存储存取器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光存储设备、磁存储设备,或其任意合适的组合。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、设备和模块的具体工作过程,可以参见前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,该模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、设备或模块的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
该作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以是两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
该集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有 技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例中方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。还应理解,尽管以下描述使用术语第一、第二等来描述各种元素,但这些元素不应受术语的限制。这些术语只是用于将一元素与另一元素区别分开。例如,在不脱离各种所述示例的范围的情况下,第一网络设备可以被称为第二网络设备,并且类似地,第二网络设备可以被称为第一网络设备。第一网络设备和第二网络设备都可以是任一类型的网络设备,并且在某些情况下,可以是单独且不同的网络设备。
还应理解,在本申请的各个实施例中,各个过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本申请中术语“至少一个”的含义是指一个或多个,本申请中术语“多个”的含义是指两个或两个以上,例如,多个第二报文是指两个或两个以上的第二报文。本文中术语“系统”和“网络”经常可互换使用。
应理解,在本文中对各种所述示例的描述中所使用的术语只是为了描述特定示例,而并非旨在进行限制。如在对各种所述示例的描述和所附权利要求书中所使用的那样,单数形式“一个(“a”,“an”)”和“该”旨在也包括复数形式,除非上下文另外明确地指示。
还应理解,术语“包括”(也称“includes”、“including”、“comprises”和/或“comprising”)当在本说明书中使用时指定存在所陈述的特征、整数、步骤、操作、元素、和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元素、部件、和/或其分组。
还应理解,术语“若”和“如果”可被解释为意指“当...时”(“when”或“upon”)或“响应于确定”或“响应于检测到”。类似地,根据上下文,短语“若确定...”或“若检测到[所陈述的条件或事件]”可被解释为意指“在确定...时”或“响应于确定...”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
还应理解,说明书通篇中提到的“一个实施例”、“一实施例”、“一种可能的实现方式”意味着与实施例或实现方式有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”、“一种可能的实现方式”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。

Claims (68)

  1. 一种编码方法,其特征在于,所述方法包括:
    获取2 n组码流块,任一组码流块包括控制块和数据块,所述n为大于1的整数;
    对所述2 n组码流块进行第一编码,得到目标码块,所述目标码块包括数据单元和基于所述2 n组码流块的控制块确定的类型,所述数据单元是基于所述2 n组码流块的控制块和数据块确定的编码方式对所述2 n组码流块的数据块进行所述第一编码得到的。
  2. 根据权利要求1所述的方法,其特征在于,所述类型用于指示所述目标码块为数据码块;
    所述数据单元基于所述2 n组码流块的顺序对所述2 n组码流块的数据块进行所述第一编码得到。
  3. 根据权利要求1所述的方法,其特征在于,所述类型用于指示所述目标码块为控制码块;
    所述数据单元包括码块标识ID和码块内容,所述码块内容基于所述2 n组码流块的控制块和数据块确定的顺序对所述2 n组码流块的数据块进行所述第一编码得到,所述码块ID基于所述2 n组码流块的控制块和数据块得到,所述码块ID用于指示各组码流块的数据块的类型和所述各组码流块经所述第一编码后的内容在所述码块内容的位置。
  4. 根据权利要求3所述的方法,其特征在于,所述码块ID包括第一ID和第二ID,所述第一ID用于指示所述各组码流块的数据块的类型,所述第二ID用于指示所述各组码流块经所述第一编码后的内容在所述码块内容的位置。
  5. 根据权利要求3或4所述的方法,其特征在于,所述码块ID包括m比特,所述m为大于等于4的整数。
  6. 根据权利要求3-5任一所述的方法,其特征在于,所述码块ID具备汉明距离保护。
  7. 根据权利要求3-6任一所述的方法,其特征在于,所述目标码块为错误码块,所述错误码块中包括用于标识错误的数据。
  8. 根据权利要求1-7任一所述的方法,其特征在于,所述目标码块基于错误检测结果对所述2 n组码流块进行处理得到,所述错误检测结果基于所述2 n组码流块的控制块和数据块得到。
  9. 根据权利要求8所述的方法,其特征在于,所述错误检测结果包括所述2 n组码流块的内容顺序错误或内容错误,所述目标码块基于所述2 n组码流块中内容顺序正确且内容正确的码流块以及错误块进行所述第一编码得到,所述错误块基于所述2 n组码流块中内容顺序错误或内容错误的码流块得到。
  10. 根据权利要求1-9任一所述的方法,其特征在于,所述控制块包括t比特,所述数据块包括8t比特,所述t为正整数。
  11. 根据权利要求10所述的方法,其特征在于,所述n的取值为2,所述t的取值为8,所述目标码块为257比特。
  12. 根据权利要求1-11任一所述的方法,其特征在于,所述2 n组码流块均来自介质无关接口MII。
  13. 根据权利要求1-12任一所述的方法,其特征在于,所述得到目标码块之后,还包括:
    按照前向纠错FEC码型对所述目标码块进行第二编码,得到第一数据;
    发送所述第一数据。
  14. 一种解码方法,其特征在于,所述方法包括:
    获取目标码块,所述目标码块包括类型和数据单元;
    根据所述目标码块的类型和数据单元,对所述目标码块进行第一解码,得到2 n组码流块,任一组码流块包括数据块和基于所述类型和所述数据单元得到的控制块,所述数据块是基于所述类型和所述数据单元确定的解码方式对所述数据单元进行所述第一解码得到的,所述n为大于1的整数。
  15. 根据权利要求14所述的方法,其特征在于,所述类型用于指示所述目标码块为数据码块;
    所述2 n组码流块中的第i组码流块包括的数据块是基于对所述数据单元中与所述第i组码流块对应的8t长度的内容进行所述第一解码得到的,所述t为正整数,所述i为大于等于1且小于等于2 n的整数或者所述i为大于等于0且小于等于2 n-1的整数。
  16. 根据权利要求14所述的方法,其特征在于,所述类型用于指示所述目标码块为控制码块,所述数据单元包括码块标识ID和码块内容,所述码块ID用于指示各组码流块的数据块的类型和所述各组码流块经所述第一编码后的内容在所述码块内容的位置;
    所述2 n组码流块中的第i组码流块包括的控制块是基于所述类型和所述码块ID得到的,所述2 n组码流块中的第i组码流块包括的数据块是基于所述类型和所述码块ID确定的解码方式对所述码块内容进行所述第一解码得到的,所述i为大于等于1且小于等于2 n的整数或者所述i为大于等于0且小于等于2 n-1的整数。
  17. 根据权利要求16所述的方法,其特征在于,所述码块ID包括第一ID和第二ID,所述第一ID用于指示所述各组码流块的数据块的类型,所述第二ID用于指示所述各组码流块经所述第一编码后的内容在所述码块内容的位置;
    所述第i组码流块包括的控制块是基于所述类型、所述第一ID中与所述第i组码流块对应的比特和所述第二ID中与所述第i组码流块对应的比特得到的,所述第i组码流块包括的数据块是 基于所述类型、所述第一ID中与所述第i组码流块对应的比特和所述第二ID中与所述第i组码流块对应的比特确定的解码方式对所述码块内容进行所述第一解码得到的。
  18. 根据权利要求16或17所述的方法,其特征在于,所述第i组码流块包括的数据块的类型是基于所述第i组码流块包括的控制块的内容和所述第i组码流块包括的数据块的内容确定的。
  19. 根据权利要求16-18任一所述的方法,其特征在于,所述码块ID包括m比特,所述m为大于等于4的整数。
  20. 根据权利要求16-19任一所述的方法,其特征在于,所述码块ID具备汉明距离保护。
  21. 根据权利要求14所述的方法,其特征在于,所述数据单元包括码块标识ID,所述类型和所述码块ID用于指示所述目标码块为错误码块;
    所述2 n组码流块中每组码流块包括的控制块为第一值,所述2 n组码流块中每组码流块包括的数据块为第二值,所述第一值和所述第二值用于指示所述码流块为错误码流块。
  22. 根据权利要求14-21任一所述的方法,其特征在于,所述获取目标码块包括:
    接收第二数据,所述第二数据是基于对采用前向纠错FEC编码的第一数据获得的;
    对所述第二数据进行第二解码获取所述目标码块,所述第二解码为纠错处理。
  23. 根据权利要求22所述的方法,其特征在于,所述目标码块是对所述第二数据进行纠错但未成功纠错所获得的错误码块。
  24. 根据权利要求14-21任一所述的方法,其特征在于,所述获取目标码块包括:
    接收第二数据,所述第二数据是基于采用前向纠错FEC编码的第一数据获得的;
    对所述第二数据进行第二解码获取所述目标码块,所述第二解码为检错但不纠错处理。
  25. 根据权利要求24所述的方法,其特征在于,所述目标码块是从所述第二数据检出错误但不纠错所获得的错误码块。
  26. 根据权利要求14-21任一所述的方法,其特征在于,所述2 n组码流块是根据错误检测结果以及所述目标码块的类型和数据单元对所述目标码块进行所述第一解码得到的,所述错误检测结果是基于所述目标码块的类型和数据单元得到的。
  27. 根据权利要求26所述的方法,其特征在于,所述错误检测结果包括所述目标码块的内容顺序错误或内容错误,所述2 n组码流块是根据第二码块的类型和数据单元对所述第二码块进行所述第一解码得到的,所述第二码块是对所述目标码块进行转换得到的且与所述目标码块比特数相同的码块。
  28. 根据权利要求26所述的方法,其特征在于,所述错误检测结果包括所述目标码块的内容顺序错误或内容错误,所述2 n组码流块是对2 n组第一码流块进行转换得到的,所述2 n组第一码流块是根据所述目标码块的类型和数据单元对所述目标码块进行所述第一解码得到的。
  29. 根据权利要求14-28任一所述的方法,其特征在于,所述控制块包括t比特,所述数据块包括8t比特,所述t为正整数。
  30. 根据权利要求29所述的方法,其特征在于,所述n的取值为2,所述t的取值为8,所述目标码块为257比特。
  31. 根据权利要求14-30任一所述的方法,其特征在于,所述2 n组码流块均为介质无关接口MII格式。
  32. 一种编码装置,其特征在于,所述装置包括:
    获取模块,用于获取2 n组码流块,任一组码流块包括控制块和数据块,所述n为大于1的整数;
    第一编码模块,用于对所述2 n组码流块进行第一编码,得到目标码块,所述目标码块包括数据单元和基于所述2 n组码流块的控制块确定的类型,所述数据单元是基于所述2 n组码流块的控制块和数据块确定的编码方式对所述2 n组码流块的数据块进行第一编码得到的。
  33. 根据权利要求32所述的装置,其特征在于,所述类型用于指示所述目标码块为数据码块;所述数据单元基于所述2 n组码流块的顺序对所述2 n组码流块的数据块进行所述第一编码得到。
  34. 根据权利要求32所述的装置,其特征在于,所述类型用于指示所述目标码块为控制码块;所述数据单元包括码块标识ID和码块内容,所述码块内容基于所述2 n组码流块的控制块和数据块确定的顺序对所述2 n组码流块的数据块进行所述第一编码得到,所述码块ID基于所述2 n组码流块的控制块和数据块得到,所述码块ID用于指示各组码流块的数据块的类型和所述各组码流块经所述第一编码后的内容在所述码块内容的位置。
  35. 根据权利要求34所述的装置,其特征在于,所述码块ID包括第一ID和第二ID,所述第一ID用于指示所述各组码流块的数据块的类型,所述第二ID用于指示所述各组码流块经所述第一编码后的内容在所述码块内容的位置。
  36. 根据权利要求34或35所述的装置,其特征在于,所述码块ID包括m比特,所述m为大于等于4的整数。
  37. 根据权利要求34-36任一所述的装置,其特征在于,所述码块ID具备汉明距离保护。
  38. 根据权利要求34-37任一所述的装置,其特征在于,所述目标码块为错误码块,所述错误码块中包括用于标识错误的数据。
  39. 根据权利要求32-38任一所述的装置,其特征在于,所述目标码块基于错误检测结果对所述2 n组码流块进行处理得到,所述错误检测结果基于所述2 n组码流块的控制块和数据块得到。
  40. 根据权利要求39所述的装置,其特征在于,所述错误检测结果包括所述2 n组码流块的内容顺序错误或内容错误,所述目标码块基于所述2 n组码流块中内容顺序正确且内容正确的码流块以及错误块进行所述第一编码得到,所述错误块基于所述2 n组码流块中内容顺序错误或内容错误的码流块得到。
  41. 根据权利要求32-40任一所述的装置,其特征在于,所述控制块包括t比特,所述数据块包括8t比特,所述t为正整数。
  42. 根据权利要求41所述的装置,其特征在于,所述n的取值为2,所述t的取值为8,所述目标码块为257比特。
  43. 根据权利要求32-42任一所述的装置,其特征在于,所述2 n组码流块均来自介质无关接口MII。
  44. 根据权利要求32-43任一所述的装置,其特征在于,所述装置还包括:
    第二编码模块,用于按照前向纠错FEC码型对所述目标码块进行第二编码,得到第一数据;
    发送模块,用于发送所述第一数据。
  45. 一种解码装置,其特征在于,所述装置包括:
    获取模块,用于获取目标码块,所述目标码块包括类型和数据单元;
    解码模块,用于根据所述目标码块的类型和数据单元,对所述目标码块进行第一解码,得到2 n组码流块,任一组码流块包括数据块和基于所述类型和所述数据单元得到的控制块,所述数据块是基于所述类型和所述数据单元确定的解码方式对所述数据单元进行所述第一解码得到的,所述n为大于1的整数。
  46. 根据权利要求45所述的装置,其特征在于,所述类型用于指示所述目标码块为数据码块;
    所述2 n组码流块中的第i组码流块包括的数据块是基于对所述数据单元中与所述第i组码流块对应的8t长度的内容进行所述第一解码得到的,所述t为正整数,所述i为大于等于1且小于等于2 n的整数或者所述i为大于等于0且小于等于2 n-1的整数。
  47. 根据权利要求45所述的装置,其特征在于,所述类型用于指示所述目标码块为控制码块;所述数据单元包括码块标识ID和码块内容,所述码块ID用于指示各组码流块的数据块的类型和所述各组码流块经所述第一编码后的内容在所述码块内容的位置;
    所述2 n组码流块中的第i组码流块包括的控制块是基于所述类型和所述码块ID得到的,所述2 n组码流块中的第i组码流块包括的数据块是基于所述类型和所述码块ID确定的解码方式对所述码块内容进行所述第一解码得到的,所述i为大于等于1且小于等于2 n的整数或者所述i为大于等于0且小于等于2 n-1的整数。
  48. 根据权利要求47所述的装置,其特征在于,所述码块ID包括第一ID和第二ID,所述第一ID用于指示所述各组码流块的数据块的类型,所述第二ID用于指示所述各组码流块经所述第一编码后的内容在所述码块内容的位置;所述第i组码流块包括的控制块是基于所述类型、所述第一ID中与所述第i组码流块对应的比特和所述第二ID中与所述第i组码流块对应的比特得到的,所述第i组码流块包括的数据块是基于所述类型、所述第一ID中与所述第i组码流块对应的比特和所述第二ID中与所述第i组码流块对应的比特确定的解码方式对所述码块内容进行所述第一解码得到的。
  49. 根据权利要求47或48所述的装置,其特征在于,所述第i组码流块包括的数据块的类型是基于所述第i组码流块包括的控制块的内容和所述第i组码流块包括的数据块的内容确定的。
  50. 根据权利要求47-49任一所述的装置,其特征在于,所述码块ID包括m比特,所述m为大于等于4的整数。
  51. 根据权利要求47-50任一所述的装置,其特征在于,所述码块ID具备汉明距离保护。
  52. 根据权利要求45所述的装置,其特征在于,所述数据单元包括码块标识ID,所述类型和所述码块ID用于指示所述目标码块为错误码块;所述2 n组码流块中每组码流块包括的控制块为第一值,所述2 n组码流块中每组码流块包括的数据块为第二值,所述第一值和所述第二值用于指示所述码流块为错误码流块。
  53. 根据权利要求45-52任一所述的装置,其特征在于,所述获取模块,用于接收第二数据,所述第二数据是基于采用前向纠错FEC码型编码的第一数据获得的;对所述第二数据进行第二解码获取所述目标码块,所述第二解码为纠错处理。
  54. 根据权利要求53所述的装置,其特征在于,所述目标码块是对所述第二数据进行纠错但未成功纠错所获得的错误码块。
  55. 根据权利要求45-52任一所述的装置,其特征在于,所述获取模块,用于接收第二数据,所述第二数据是基于采用前向纠错FEC码型编码的第一数据获得的;对所述第二数据进行第二解码获取所述目标码块,所述第二解码为检错但不纠错处理。
  56. 根据权利要求55所述的装置,其特征在于,所述目标码块是从所述第二数据检出错误但不纠错所获得的错误码块。
  57. 根据权利要求45-52任一所述的装置,其特征在于,所述2 n组码流块是根据错误检测结果以及所述目标码块的类型和数据单元对所述目标码块进行所述第一解码得到,所述错误检测结果是基于所述目标码块的类型和数据单元得到的。
  58. 根据权利要求57所述的装置,其特征在于,所述错误检测结果包括所述目标码块的内容顺序错误或内容错误,所述2 n组码流块是根据第二码块的类型和数据单元对所述第二码块进行所述第一解码得到的,所述第二码块是对所述目标码块进行转换得到的且与所述目标码块比特数相同的码块。
  59. 根据权利要求57所述的装置,其特征在于,所述错误检测结果包括所述目标码块的内容顺序错误或内容错误,所述2 n组码流块是对2 n组第一码流块进行转换得到的,所述2 n组第一码流块是根据所述目标码块的类型和数据单元对所述目标码块进行所述第一解码得到的。
  60. 根据权利要求45-59任一所述的装置,其特征在于,所述控制块包括t比特,所述数据块包括8t比特,所述t为正整数。
  61. 根据权利要求60所述的装置,其特征在于,所述n的取值为2,所述t的取值为8,所述目标码块为257比特。
  62. 根据权利要求45-61任一所述的装置,其特征在于,所述2 n组码流块均为介质无关接口MII格式。
  63. 一种网络设备,其特征在于,所述网络设备包括:处理器,所述处理器与存储器耦合,所述存储器中存储有至少一条程序指令或代码,所述至少一条程序指令或代码由所述处理器加载并执行,以使所述网络设备实现如权利要求1-31中任一所述的方法。
  64. 一种通信系统,其特征在于,所述系统包括第一网络设备和第二网络设备,所述第一网络设备用于执行如权利要求1-13中任一所述的方法,所述第二网络设备用于执行如权利要求14-31中任一所述的方法。
  65. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条程序指令或代码,所述程序指令或代码由处理器加载并执行时以使计算机实现如权利要求1-31中任一所述的方法。
  66. 一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序代码,当所 述计算机程序代码被计算机运行时,使得所述计算机实现如权利要求1-31中任一所述的方法。
  67. 一种芯片,其特征在于,所述芯片包括处理器,所述处理器用于从存储器中调用并运行所述存储器中存储的指令,使得安装有所述芯片的通信设备执行如权利要求1-31中任一所述的方法。
  68. 一种芯片,其特征在于,所述芯片包括:输入接口、输出接口、处理器和存储器,所述输入接口、所述输出接口、所述处理器以及所述存储器之间通过内部连接通路相连,所述处理器用于执行所述存储器中的代码,当所述代码被执行时,所述处理器用于执行如权利要求1-31中任一所述的方法。
PCT/CN2022/142359 2022-01-05 2022-12-27 编码方法、解码方法、装置、设备、系统及可读存储介质 WO2023131003A1 (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN202210007010 2022-01-05
CN202210007010.2 2022-01-05
CN202210114845.8 2022-01-30
CN202210114845.8A CN116455517A (zh) 2022-01-05 2022-01-30 编码方法、解码方法、装置、设备、系统及可读存储介质

Publications (1)

Publication Number Publication Date
WO2023131003A1 true WO2023131003A1 (zh) 2023-07-13

Family

ID=87073130

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/142359 WO2023131003A1 (zh) 2022-01-05 2022-12-27 编码方法、解码方法、装置、设备、系统及可读存储介质

Country Status (2)

Country Link
TW (1) TW202333460A (zh)
WO (1) WO2023131003A1 (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101610134A (zh) * 2009-07-10 2009-12-23 中兴通讯股份有限公司 64b/66b编解码装置及实现64b/66b编解码的方法
US20160149595A1 (en) * 2014-11-20 2016-05-26 Globalfoundries Inc. Forward error correction synchronization
US20160182084A1 (en) * 2013-08-30 2016-06-23 Huawei Technologies Co.,Ltd. Physical layer encoding and decoding method and apparatuses thereof
CN108551384A (zh) * 2018-03-26 2018-09-18 西南电子技术研究所(中国电子科技集团公司第十研究所) 吉比特率量级并行编码与调制的无线数据传输方法
CN112468259A (zh) * 2019-09-09 2021-03-09 华为技术有限公司 一种通信方法、设备及存储介质
CN113645524A (zh) * 2020-04-27 2021-11-12 华为技术有限公司 一种业务处理的方法、装置及设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101610134A (zh) * 2009-07-10 2009-12-23 中兴通讯股份有限公司 64b/66b编解码装置及实现64b/66b编解码的方法
US20160182084A1 (en) * 2013-08-30 2016-06-23 Huawei Technologies Co.,Ltd. Physical layer encoding and decoding method and apparatuses thereof
US20160149595A1 (en) * 2014-11-20 2016-05-26 Globalfoundries Inc. Forward error correction synchronization
CN108551384A (zh) * 2018-03-26 2018-09-18 西南电子技术研究所(中国电子科技集团公司第十研究所) 吉比特率量级并行编码与调制的无线数据传输方法
CN112468259A (zh) * 2019-09-09 2021-03-09 华为技术有限公司 一种通信方法、设备及存储介质
CN113645524A (zh) * 2020-04-27 2021-11-12 华为技术有限公司 一种业务处理的方法、装置及设备

Also Published As

Publication number Publication date
TW202333460A (zh) 2023-08-16

Similar Documents

Publication Publication Date Title
US20220077875A1 (en) Data Transmission Method, Encoding Method, Decoding Method, Apparatus, Device, and Storage Medium
JPH07273742A (ja) 並列データ伝送装置
CN109428690B (zh) 以太网络的连线方法及以太网络装置
WO2018228457A1 (zh) 发送和接收反馈信息的方法和装置
WO2022227640A1 (zh) 一种灵活以太网的数据处理方法及相关装置
US20230370193A1 (en) Data transmission method, apparatus, device, and system, and computer-readable storage medium
EP4184795A1 (en) Bluetooth data packet processing method and communication device
WO2021208694A1 (zh) 一种数据传输方法及网络设备
WO2023131003A1 (zh) 编码方法、解码方法、装置、设备、系统及可读存储介质
CN116455516A (zh) 编码方法、解码方法、装置、设备、系统及可读存储介质
US9485053B2 (en) Long-distance RapidIO packet delivery
US7546512B2 (en) Techniques to perform error detection
WO2023116229A1 (zh) 生成、处理以太帧的方法、装置、设备、系统及存储介质
WO2023131004A1 (zh) 编码方法、解码方法、装置、设备、系统及可读存储介质
US20220149988A1 (en) Method for Adjusting Transmission Rate, Processor, Network Device, and Network System
CN1881866A (zh) 数据传输错误监测与纠正的方法及其架构
CN116455517A (zh) 编码方法、解码方法、装置、设备、系统及可读存储介质
WO2023015863A1 (zh) 数据传输的方法、装置、设备、系统及可读存储介质
CN117083820A (zh) 数据传输方法、通信设备及系统
WO2022001166A1 (zh) 接口、电子设备和通信系统
WO2024001874A1 (zh) 模式协商方法、装置、设备、系统及计算机可读存储介质
CN118353575A (zh) 传输数据的方法、装置、设备、系统及存储介质
WO2023071309A1 (zh) 数据传输的方法、装置、设备、系统及可读存储介质
WO2023169194A1 (zh) 一种数据处理方法及第二通信装置
WO2022002272A1 (zh) 按需译码方法及装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22918445

Country of ref document: EP

Kind code of ref document: A1