WO2023131004A1 - 编码方法、解码方法、装置、设备、系统及可读存储介质 - Google Patents
编码方法、解码方法、装置、设备、系统及可读存储介质 Download PDFInfo
- Publication number
- WO2023131004A1 WO2023131004A1 PCT/CN2022/142363 CN2022142363W WO2023131004A1 WO 2023131004 A1 WO2023131004 A1 WO 2023131004A1 CN 2022142363 W CN2022142363 W CN 2022142363W WO 2023131004 A1 WO2023131004 A1 WO 2023131004A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- block
- code stream
- code
- data
- blocks
- 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.)
- Ceased
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/60—General implementation details not specific to a particular type of compression
- H03M7/6011—Encoder aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1515—Reed-Solomon codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/60—General implementation details not specific to a particular type of compression
- H03M7/6005—Decoder aspects
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
- H03M13/2909—Product codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
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 message from the media access control (media access control, MAC) layer is divided into blocks according to a fixed length, and enters the media independent interface (media independent interface, MII) in parallel.
- media independent interface media independent interface
- MII media independent interface
- the 800GMII represents an MII with a transmission MAC rate of 800 gigabit per second (Gb/s). It is transmitted to the physical coding sublayer (physical coding sublayer, PCS) through the MII.
- PCS physical coding sublayer
- the stream block received by the PCS from the MII includes a data block (transmit data, TXD) and a control block (transmit control, TXC).
- TXC and TXD are obtained by processing the message flow content from the MAC layer through the adaptation sublayer (reconciliation sublayer, RS).
- TXC is a control word, which is used to identify whether the content of the corresponding byte in TXD is a control signal or a data signal, where the control signal includes information such as the start, end, error, and idle of the message.
- PCS encodes according to TXC/TXD content, reduces overhead, and can provide necessary synchronization and protection functions at the same time.
- PCS performs 64-bit (bit, B)/66B encoding on each group of code stream blocks from MII to obtain a 66-bit code block.
- the 66-bit code block is a data code block or a control code block. If it is a control code block , the 66-bit code block includes a field with 4-bit Hamming distance protection.
- each four 66-bit code blocks are transcoded into a 256B/257B-encoded code block with a length of 257 bits, and forward error correction (FEC) is performed on the 257-bit code blocks encoding, and transmit the FEC codeword obtained by the FEC encoding.
- FEC forward error correction
- This application proposes an encoding method, decoding method, device, equipment, system, and readable storage medium for improving encoding and decoding efficiency.
- an encoding method comprising: obtaining 2 n sets of code stream blocks, any set of code stream blocks includes control blocks and data blocks, and the n is an integer greater than 1; for the 2 n groups of code stream blocks are first encoded to obtain a target code block, the target code block includes a type determined based on the control block of the 2 n groups of code stream blocks and a control block based on the 2 n groups of code stream blocks and A data unit defined by a data block.
- the target code block can be obtained by performing the first encoding on 2 n groups of code stream blocks including control blocks and data blocks, it is not necessary to perform 64B/66B encoding on each group of code stream blocks in the 2 n groups of code stream blocks to obtain 2 n 66-bit code block, and then transcoding 2 n 66-bit code blocks to obtain the target code block, the coding efficiency is improved, and the time delay, power consumption and chip area occupied by the coding process are all reduced.
- the type is used to indicate that the target code block is a data code block; the data unit is based on the order of the 2 n groups of code stream blocks A data block is obtained by performing the first encoding.
- the type is used to indicate that the target code block is a control code block;
- the data unit includes a type indication and code block content, and the code block content is based on the 2n groups of code streams
- the sequence of determining the control block and data block of the block is obtained by performing the first encoding on the data blocks of the 2 n groups of code stream blocks, the type indication is obtained based on the control blocks of the 2 n groups of code stream blocks, and the The type indication is used to indicate the type of each group of code stream blocks.
- the target code block is an error code block
- the error code block includes data for identifying errors. Since the encoding method of the present application can first encode different types of code stream blocks to obtain target code blocks, the method has wide applicability.
- the target code block is obtained by processing the 2 n groups of code stream blocks based on error detection results, and the error detection results are based on the control blocks and data of the 2 n groups of code stream blocks blocks get.
- the erroneous data can be distinguished from the correct data during subsequent data transmission, ensuring the reliability of the data.
- the error detection result includes a content sequence error or content error of the 2n groups of code stream blocks
- the target code block is based on the fact that the content sequence in the 2n groups of code stream blocks is correct and Code stream blocks with correct content and error blocks are obtained by performing the first encoding, and the error blocks are obtained based on code stream blocks with wrong content sequence or wrong content in the 2n groups of code stream blocks.
- control block includes m bits
- data block includes 8m bits
- m is a positive integer
- the value of n is 2, the value of m is 8, and the target code block is 257 bits.
- the 2n groups of code stream blocks all come from the media independent interface MII.
- after the obtaining the target code block further includes: performing second encoding on the target code block according to an FEC pattern to obtain first data; and sending the first data.
- the first data is obtained by performing second encoding on the target code block according to the FEC code pattern, so that the receiving end can perform error correction on the received first data to ensure the accuracy of data transmission.
- a decoding method comprising: obtaining a target code block, the target code block including a type and a data unit; according to the type and data unit of the target code block, Perform the first decoding to obtain 2n groups of code stream blocks, any group of code stream blocks includes control blocks and data blocks obtained based on the type and the data unit, and the n is an integer greater than 1.
- the first decoding of the target code block can obtain 2 n sets of code stream blocks including the control block and the data block, it is not necessary to transcode the target code block to obtain 2 n 66-bit code blocks, and then to 2 n 66-bit code blocks
- the bit code blocks are decoded to obtain 2 n sets 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 type is used to indicate that the target code block is a data code block; the data block included in the i-th group of code stream blocks in the 2 n groups of code stream blocks is based on the The content of the 8m length corresponding to the i-th group of code stream blocks in the data unit is obtained by performing the first decoding, the m is a positive integer, and the i is an integer greater than or equal to 1 and less than or equal to 2 n or the Said i is an integer greater than or equal to 0 and less than or equal to 2 n -1.
- the type is used to indicate that the target code block is a control code block
- the data unit includes a type indication and code block content
- the type indication includes 2 n bits
- the 2 One of the n bits is used to indicate the type of a group of code stream blocks corresponding to the bits in the 2 n groups of code stream blocks, and the content of the code block includes 2 n bit groups;
- the control block included in the i-th group of code stream blocks in the 2 n groups of code stream blocks is based on the type, the bit corresponding to the i-th group of code stream blocks in the type indication, and the content of the code block Obtained from the bit group corresponding to the i-th group of code stream blocks, the i is an integer greater than or equal to 1 and less than or equal to 2 n or the i is an integer greater than or equal to 0 and less than or equal to 2 n -1;
- the data blocks included in the i-th group of code stream blocks in the 2 n groups of code stream blocks are based on the bit pair corresponding to the i-th group of code stream blocks in the type indication
- the bit group corresponding to the i group of code stream blocks is obtained by performing the first decoding.
- the 2 n bit groups include a first bit group and 2 n -1 second bit groups, the number of bits included in the first bit group and the number of bits included in the second bit group include The number of bits is not the same.
- the data unit includes a type indication, and the type and the type indication are used to indicate that the target code block is an error code block; each group of code blocks in the 2 n groups of code stream blocks
- the control block included in the stream block is a first value
- the data block included in each group of code stream blocks in the 2 n groups of code stream blocks is a second value, and the first value and the second value are used to indicate the The code stream block is an error code stream block.
- the decoding method of the present application can first decode different types of target code blocks to obtain 2 n sets of code stream blocks, the method has wide applicability.
- the acquiring the target code block includes: receiving second data, the second data is obtained based on the first data encoded by using a forward error correction (FEC) pattern;
- the second decoding is performed on the second data to obtain the target code block, and the second decoding is an error correction process.
- FEC forward error correction
- the target code block is an error code block obtained by performing error correction on the second data but failing to correct the error. Since the target code block is the code block obtained by error-correcting the second data but failing to correct the error, and then marking the code block in the FEC codeword, the receiving end can determine that the data obtained based on the target code block is Wrong data, to ensure the accuracy of the data.
- the acquiring the target code block includes: receiving second data, the second data is obtained based on the first data encoded by using a forward error correction (FEC) pattern; Performing second decoding on the second data to obtain the target code block, the second decoding is error detection but not error correction.
- FEC forward error correction
- the target code block is an error code block obtained by detecting errors from the second data but not correcting errors.
- the second decoding operation may be to perform error correction on the codeword, or to only detect but not correct errors.
- the second decoding operation when it is determined that the current codeword cannot be corrected (for example, the number of errors exceeds the error correction capability), all code blocks in the codeword need to be marked error; or when only error detection but no error correction is performed on the codeword in the second decoding process, for the codeword in which an error is detected, all code blocks in the codeword need to be marked with errors.
- the 2n groups of code stream blocks are obtained by first decoding the target code block according to the error detection result and the type and data unit of the target code block, and the error detection result is based on The type and data unit of the target code block are obtained.
- the receiving end can distinguish the erroneous data from the correct data, ensuring the reliability of the data.
- the error detection result includes a content sequence error or a content error of the target code block, and the 2 n groups of code stream blocks pair the second code block according to the type of the second code block and the data unit.
- the second code block is obtained by first decoding, and the second code block is obtained by converting the target code block and has the same number of bits as the target code block.
- 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 based on converting 2 n sets of first code stream blocks
- the 2 n groups of first code stream blocks are obtained by first decoding the target code block based on the type of the target code block and a data unit.
- control block includes m bits
- data block includes 8m bits
- m is a positive integer
- the value of n is 2, the value of m is 8, and the target code block is 257 bits.
- the 2 n sets of code stream blocks are all in the MII format.
- an encoding device comprising:
- An acquisition module configured to acquire 2 n groups of code stream blocks, any group of code stream blocks includes a control block and a data block, and the n is an integer greater than 1;
- the first encoding module is configured to perform first encoding on the 2 n groups of code stream blocks to obtain a target code block, the target code block includes a type determined based on the control block of the 2 n groups of code stream blocks and based on the set The data unit determined by the control block and the data block of the above 2 n groups of code stream blocks.
- the type is used to indicate that the target code block is a data code block; the data unit is based on the sequence determined by the control block and the data block of the 2 n groups of code stream blocks. 2. Obtained by performing the first encoding on the data blocks of n groups of code stream blocks.
- the type is used to indicate that the target code block is a control code block;
- the data unit includes a type indication and code block content, and the code block content is based on the 2n groups of code streams
- the sequence of determining the control block and data block of the block is obtained by performing the first encoding on the data blocks of the 2 n groups of code stream blocks, the type indication is obtained based on the control blocks of the 2 n groups of code stream blocks, and the The type indication is used to indicate the type of each group of code stream blocks.
- the target code block is an error code block
- the error code block includes data for identifying errors
- the target code block is obtained by processing the 2 n groups of code stream blocks based on error detection results, and the error detection results are based on the control blocks and data of the 2 n groups of code stream blocks blocks get.
- the error detection result includes a content sequence error or content error of the 2n groups of code stream blocks
- the target code block is based on the fact that the content sequence in the 2n groups of code stream blocks is correct and Code stream blocks with correct content and error blocks are obtained by performing the first encoding, and the error blocks are obtained based on code stream blocks with wrong content sequence or wrong content in the 2n groups of code stream blocks.
- control block includes m bits
- data block includes 8m bits
- m is a positive integer
- the value of n is 2, the value of m is 8, and the target code block is 257 bits.
- the 2n groups of code stream blocks all come from the media independent interface MII.
- the device also includes:
- the second encoding module is configured to perform second encoding on the target code block according to the forward error correction (FEC) pattern to obtain the first data; the sending module is configured to send the first data.
- FEC forward error correction
- a decoding device comprising:
- An acquisition module configured to acquire a target code block, where the target code block includes a type and a data unit;
- a decoding module configured to first decode the target code block according to the type and data unit of the target code block to obtain 2 n groups of code stream blocks, any group of code stream blocks includes For the control block and data block obtained by the data unit, the n is an integer greater than 1.
- the type is used to indicate that the target code block is a data code block; the data block included in the i-th group of code stream blocks in the 2 n groups of code stream blocks is based on the The content of the 8m length corresponding to the i-th group of code stream blocks in the data unit is obtained by performing the first decoding, the m is a positive integer, and the i is an integer greater than or equal to 1 and less than or equal to 2 n or the Said i is an integer greater than or equal to 0 and less than or equal to 2 n -1.
- the type is used to indicate that the target code block is a control code block;
- the data unit includes a type indication and code block content, the type indication includes 2 n bits, and the 2 One of the n bits is used to indicate the type of a group of code stream blocks corresponding to the bit in the 2 n groups of code stream blocks, and the content of the code block includes 2 n bit groups; the 2 n
- the control block included in the i-th group of code stream blocks in the group of code stream blocks is based on the type, the bit corresponding to the i-th group of code stream blocks in the type indication, and the bit corresponding to the i-th group of code stream blocks in the code block content.
- the bit group corresponding to the i group of code stream blocks is obtained, the i is an integer greater than or equal to 1 and less than or equal to 2 n or the i is an integer greater than or equal to 0 and less than or equal to 2 n -1; the 2 n group code
- the data blocks included in the i-th group of code stream blocks in the stream blocks are based on the bits corresponding to the i-th group of code stream blocks in the type indication and corresponding to the i-th group of code stream blocks in the code block content
- the group of bits is obtained by performing the first decoding.
- the 2 n bit groups include a first bit group and 2 n -1 second bit groups, the number of bits included in the first bit group and the number of bits included in the second bit group include The number of bits is not the same.
- the data unit includes a type indication, and the type and the type indication are used to indicate that the target code block is an error code block; each group of code blocks in the 2 n groups of code stream blocks
- the control block included in the stream block is a first value
- the data block included in each group of code stream blocks in the 2 n groups of code stream blocks is a second value, and the first value and the second value are used to indicate the The code stream block is an error code stream block.
- the obtaining module is configured to receive second data, the second data is obtained based on the first data encoded by using a forward error correction (FEC) pattern; for the second data performing second decoding to obtain the target code block, where the second decoding is error correction processing.
- FEC forward error correction
- the target code block is a code block obtained by performing error correction on the second data but failing to correct the error.
- the obtaining module is configured to receive second data, the second data is obtained based on the first data encoded by using a forward error correction (FEC) pattern; for the second data performing second decoding to obtain the target code block, where the second decoding is error detection but not error correction.
- FEC forward error correction
- the target code block is an error code block obtained by detecting errors from the second data but not correcting errors.
- the 2n groups of code stream blocks are obtained by performing the first decoding on the target code block according to the error detection result and the type and data unit of the target code block, and the error detection The result is obtained based on the type and data unit of the target code block.
- the error detection result includes a content sequence error or a content error of the target code block, and the 2 n groups of code stream blocks pair the second code block according to the type of the second code block and the data unit.
- the second code block is obtained by performing the first decoding, and the second code block is obtained by converting the target code block and has the same number of bits as the target code block.
- 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 based on converting 2 n sets of first code stream blocks
- the 2 n groups of first code stream blocks are obtained by performing the first decoding on the target code block based on the type and data unit of the target code block.
- control block includes m bits
- data block includes 8m bits
- m is a positive integer
- the value of n is 2, the value of m is 8, and the target code block is 257 bits.
- the 2 n sets of code stream blocks are all in the MII format.
- a network device including a processor, the processor is coupled with a memory, at least one program instruction or code is stored in the memory, at least one program instruction or code is loaded and executed by the processor, so that the network device realizes Any encoding method in the first aspect, or implement any decoding method in the second aspect.
- a computer-readable storage medium is provided. At least one program instruction or code is stored in the storage medium. When the program instruction or code is loaded and executed by the processor, the computer can realize any encoding method in the first aspect. , or implement any decoding method in the second aspect.
- a communication system in a seventh aspect, includes a first network device and a second network device, the first network device is used to execute any encoding method in the first aspect, and the second network device It is used to implement any decoding method in the second aspect.
- another communication device includes: a transceiver, a memory, and a processor.
- the transceiver, the memory and the processor communicate with each other through an internal connection path, the memory is used to store instructions, and the processor is used to execute the instructions stored in the memory to control the transceiver to receive signals and control the transceiver to send signals , and when the processor executes the instruction stored in the memory, the processor is made to execute any encoding method in the first aspect, or execute any decoding method in the second aspect.
- processors there are one or more processors, and one or more memories.
- the memory may be integrated with the processor, or the memory may be set separately from the processor.
- the memory can be a non-transitory (non-transitory) memory, such as a read-only memory (read only memory, ROM), which can be integrated with the processor on the same chip, or can be set in different On the chip, the application does not limit the type of the memory and the arrangement of the memory and the processor.
- a non-transitory memory such as a read-only memory (read only memory, ROM)
- ROM read only memory
- a computer program product comprising: computer program code, when the computer program code is run by a computer, causing the computer to execute any encoding method in the first aspect, or Perform any decoding method in the second aspect.
- a chip including a processor, configured to call and execute instructions stored in the memory from the memory, so that the communication device installed with the chip executes any encoding method in the first aspect, Or execute any decoding method in the second aspect.
- another chip including: an input interface, an output interface, a processor, and a memory, the input interface, the output interface, the processor, and the memory are connected through an internal connection path, and the The processor is configured to execute the codes in the memory, and when the codes are executed, the processor is configured to execute any encoding method in the first aspect, or execute any decoding method in the second aspect.
- FIG. 1 is a schematic diagram of an implementation environment of an encoding method and a decoding method provided in an embodiment of the present application;
- 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
- FIG. 4 is a schematic structural diagram of a target code block provided by an embodiment of the present application.
- FIG. 5 is a schematic structural diagram of another target code block provided by an embodiment of the present application.
- FIG. 6 is a schematic structural diagram of another target code block provided by an embodiment of the present application.
- FIG. 7 is a flow chart of a decoding method provided by an embodiment of the present application.
- FIG. 8 is a schematic structural diagram of an encoding device provided in an embodiment of the present application.
- FIG. 9 is a schematic structural diagram of a decoding device provided by an embodiment of the present application.
- FIG. 10 is a schematic structural diagram of a network device provided by an embodiment of the present application.
- FIG. 11 is a schematic structural diagram of another network device provided by an embodiment of the present application.
- FIG. 12 is a schematic structural diagram of another network device provided by an embodiment of the present application.
- Ethernet As a local area network technology, Ethernet is widely used. Since 100 Gigabit Ethernet (GE), a single-channel 25Gb/s transmission rate has been used for data transmission.
- the physical layer introduces FEC coding, and then transmits the coded FEC codewords.
- the sender can use Reed-Solomon (Reed-Solomon, RS) (528, 514) to perform FEC encoding on the original data, and an RS code block obtained by encoding includes a 5140-bit payload and a 140-bit checksum. Due to the existence of the check code, the transmission rate required to transmit the FEC codeword is higher than the transmission rate required to transmit the original data for the transmission rate required to transmit the same payload within the same time.
- Reed-Solomon Reed-Solomon
- transcoding is adopted in the Ethernet standard to reduce the transmission rate required for transmitting FEC codewords by reducing the overhead of code blocks before FEC encoding. For example, every four 64B/66B coded blocks are transcoded into one 256B/257B coded block. Since the overhead of one 257-bit code block is lower than the overhead of four 66-bit code blocks, the transmission rate required for transmitting the FEC codeword obtained based on the 257-bit code block is relatively low.
- the transmission rate required to transmit the FEC code word obtained based on the transcoded code block is 103.125Gb/s, which is the same as the transmission rate required for the 66-bit code block without FEC encoding.
- the transfer rate is the same.
- the receiving end can perform error correction on the FEC codeword. Since the identification of bit errors can be realized by FEC error marking, and most of the processing in PCS is based on 257-bit code blocks, the 64B/66B encoding process and the corresponding transcoding process will generate unnecessary delays , power consumption and chip area occupation.
- an embodiment of the present application provides a data transmission method to solve the above problem.
- first encoding is performed on 2 n (n is an integer greater than 1) groups of code stream blocks including control blocks and data blocks to obtain target code blocks, without having to encode each of the 2 n groups of code stream blocks 64B/66B encoding is performed on the group code stream blocks, and then 2 n 66-bit code blocks are transcoded to obtain the target code block.
- the encoding efficiency is improved, and the time delay, power consumption, and chip area occupied by the encoding process are all reduced.
- the target code block when the target code block is first decoded, the target code block can be directly decoded to obtain 2n groups of code stream blocks including control blocks and data blocks, without performing the first decoding on the target code block.
- 2 n 66-bit code blocks are obtained by transcoding, and then 2 n 66-bit code blocks are decoded to obtain 2 n sets of code stream blocks.
- the encoding method and decoding method provided in the embodiments of the present application can be applied to the current Ethernet interface or other scenarios where data transmission is required.
- the implementation scenario includes multiple chips, and information can be exchanged between each chip to realize data transmission.
- a chip 102 is provided in the first network device 101
- a chip 104 is provided in the second network device 103, both the chip 102 and the chip 104 support FEC encoding and FEC decoding, and the first network device 101 and the second network device 103
- the channel 105 in between is capable of transmitting FEC-encoded data.
- the chip 102 can perform first encoding on the 2 n groups of code stream blocks to obtain the target code block, perform second encoding on the target code block according to the first FEC pattern to obtain the first data, and send the first data to the chip through the channel 105 104.
- bit errors may occur when the first data is transmitted in the channel 105, and the received data is referred to as second data.
- the chip 104 may use the first FEC pattern to perform second decoding on the second data to obtain target code blocks, and perform first decoding on the target code blocks to obtain 2 n groups of code stream blocks.
- n is an integer greater than 1
- the first FEC code type includes but is not limited to RS code, Bose-Chaudhuri-Hocquenghem (Bose-Chaudhuri-Hocquenghem, BCH) code, Hamming code (Hamming code), Extended BCH code (extended-BCH code), extended Hamming code (extended-Hamming code), Farr (fire) code, turbo (turbo) code, turbo product code (turbo product code, TPC), ladder (staircase) code and Any one or multiple concatenated combinations of low-density parity-check (low-density parity-check, LDPC) codes.
- RS code Bose-Chaudhuri-Hocquenghem
- BCH Bose-Chaudhuri-Hocquenghem
- BCH Bose-Chaudhuri-Hocquenghem
- Hamming code Hamming code
- Extended BCH code extended-BCH code
- each network device may include at least one chip.
- FIG. 1 only two network devices, each of which includes a chip, are used as an example for illustration.
- the encoding method provided by the embodiment of the present application is shown in FIG. 2 .
- the encoding method provided by the embodiment of the present application is executed by the chip 102 in FIG. 1 , and the method includes but not limited to step 201 and step 202 .
- Step 201 obtain 2 n sets of code stream blocks, any set of code stream blocks includes control blocks and data blocks, and n is an integer greater than 1.
- the 2 n 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 code stream blocks are obtained.
- the control block of any group of code stream blocks includes m bits
- the data block of any group of code stream blocks includes 8m bits, where m is positive integer.
- 8m means 8 times of m, which can also be expressed as 8*m.
- the value of m is 8, that is, for any set of code stream blocks, the control block of any set of code stream blocks includes 8 bits, and the data block of any set of code stream blocks includes 64 bits .
- the m bits included in the control block are all control bits, that is, the control block includes m control bits; the 8m bits included in the data block are all data, that is, the 8m bits of data included in the data block.
- control block including 8 control bits is represented as TXC ⁇ 7:0>
- data block including 64-bit data is represented as TXD ⁇ 63:0>
- order of each bit of the control block and the data block is the same as From the most significant bit (most significant bit, MSB) to the least significant bit (least significant bit, LSB).
- Step 202 perform the first encoding on 2 n groups of code stream blocks to obtain target code blocks
- the target code blocks include the type determined based on the control blocks of 2 n groups of code stream blocks and the control blocks and data based on 2 n groups of code stream blocks A unit of data identified by a block.
- control blocks of each group of code stream blocks are 8 bits, and the data blocks are all 64 bits, and the first encoding is performed on the four groups of code stream blocks to obtain a 257-bit target code block.
- the first encoding is performed on 2 n sets of code stream blocks to obtain target code blocks, including but not limited to the following encoding manner 1 and encoding manner 2.
- Coding mode 1 based on the control blocks of 2 n groups of code stream blocks, it is determined that the type of the target code block is a data code block; based on the sequence of 2 n groups of code stream blocks, the first encoding is performed on the data blocks of 2 n groups of code stream blocks to obtain Data unit; based on the type and data unit, the target code block is obtained.
- the type is used to indicate that the target code block is a data code block; the data unit performs the first data block of the 2 n groups of code stream blocks based on the order of the 2 n groups of code stream blocks A code is obtained.
- the type of the target code block is determined to be a data code block, and the first specified value is used to indicate the code stream block
- the type of is a data stream block.
- the types of each group of code stream blocks are data code stream blocks.
- the first encoding is performed on the data blocks of 2 n groups of code stream blocks to obtain the data unit, including: based on the order of 2 n groups of code stream blocks, respectively
- the bits included in the data blocks of the 2n groups of code stream blocks are used as the bits of the data unit to obtain the data unit.
- 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:
- tx_coded ⁇ 64:1> TXD_0 ⁇ 63:0>, indicating that the 63rd bit to the 0th bit of the data block of the 0th code stream block are respectively used as the 64th bit of the target code block to the 1st bit.
- tx_coded ⁇ 128:65> TXD_1 ⁇ 63:0>, indicating that the 63rd to 0th bits of the data block of the first group of code stream blocks are respectively used as the 128th to 128th bits of the target code block 65 bits.
- tx_coded ⁇ 192:129> TXD_2 ⁇ 63:0>, indicating that the 63rd bit to the 0th bit of the data block of the second group of code stream blocks are respectively used as the 192nd bit to the 192nd bit of the target code block 129 bits.
- tx_coded ⁇ 256:193> TXD_3 ⁇ 63:0>, indicating that the 63rd to 0th bits of the data block of the third group of code stream blocks are respectively used as the 256th to 256th bits of the target code block 193 bits.
- FIG. 3 shows a schematic diagram of a process of obtaining a target code block.
- the control blocks of each group of code stream blocks are represented as TXC ⁇ 7:0>
- the data blocks are represented as TXD ⁇ 63:0>.
- the TXC ⁇ 7:0> of the four groups of code stream blocks are all 0x00
- the type of the target code block is a data code block.
- the type of the target code block corresponds to the 0th bit of the target code block, and assigning the 0th bit to 1 indicates that the type is a data code block.
- the embodiment of the present application does not limit the method of assigning the 0th bit to indicate that the type is a data code block.
- Based on the order of the four sets of code stream blocks multiple bits of the data blocks of the four sets of code stream blocks are respectively used as multiple bits of the data unit to obtain the data unit.
- target bits can be obtained based on type and data unit.
- the structure of the obtained target code block is shown in Figure 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 of the target code block is a data code piece.
- 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.
- Coding method 2 based on the control blocks of 2n groups of code stream blocks, it is determined that the type of the target code block is a control code block ; To indicate the type of code stream block; use the identification value of 2 n groups of code stream blocks as a type indication; based on the sequence determined by the control block and data block of 2 n groups of code stream blocks, perform the first data block of 2 n groups of code stream blocks After encoding, the content of the code block is obtained; based on the type and the data unit, the target code block is obtained, wherein the data unit includes the type indication and the content of the code block.
- the target code block obtained by adopting the second encoding method includes a type and a data unit.
- the type is used to indicate that the target code block is a control code block;
- the data unit includes a type indication and a code block content, and the code block content is based on the sequence determined by the control block and the data block of the 2n group of code stream blocks to 2n groups of code stream blocks
- the data block is obtained by first encoding, the type indication is obtained based on the control blocks of 2n groups of code stream blocks, and the type indication is used to indicate the type of each group of code stream blocks.
- the determined order of the control blocks and the data blocks of the 2 n sets of code stream blocks is the receiving order of the 2 n sets of code stream blocks.
- the control block of at least one group of code stream blocks in the 2 n groups of code stream blocks is a second specified value
- the type of the target code block can be determined to be a control code block through the second specified value.
- the second specified value is used to indicate that the type of the code stream block is a control code stream block, and the second specified value is different from the above-mentioned first specified value. That is to say, in the case that at least one group of code stream blocks in the 2n groups of code stream blocks is a control code stream block, the type of the target code stream block is a control code block.
- the identification value of the group of code stream blocks is the third specified value
- the identification value of the group of code stream blocks is the fourth specified value.
- the third specified value is 1, and the fourth specified value is 0.
- using the identification values of the 2n groups of code stream blocks as the type indication includes: according to the order determined by the control blocks and data blocks of the 2n groups of code stream blocks, using the identification values of the 2n groups of code stream blocks as types respectively Indicates the individual bits to get the type indication.
- the first encoding is performed on the data blocks of the 2n groups of code stream blocks to obtain the code block content, including: based on the 2n groups of code stream blocks
- the sequence determined by the control block and the data block performs the first encoding on the data blocks of the 2n groups of code stream blocks to obtain the content of each group of code stream blocks after the first encoding, and the content of each group of code stream blocks after the first encoding as code block content.
- the group of code stream blocks after the first encoding, the group of code stream blocks
- the content of is the content of the data block of this group of stream blocks.
- the content of the code stream block after the first encoding includes but It is not limited to the following cases A1 to A11.
- control block is 0x01
- 7th to 0th bits of the data block are 0xFB, where the LSB is the bit sent first.
- the data block includes 1 control byte and 7 data bytes, wherein the data bytes are also called octets.
- the group of code stream blocks is the first group of control code stream blocks
- the content of the group of code stream blocks after the first encoding is 60 bits
- the first 4 bits are part of the type domain (block type field, BTF).
- the BTF part is 0x8. If the group of code stream blocks is not the first group of control code stream blocks, the content of the code stream block after the first encoding is 64 bits, the first 8 bits are the BTF part, and the BTF part is 0x78. No matter which case is mentioned above, the remaining 56 bits are each bit of the 7 data bytes included in the data block.
- control block is 0xFF
- the data block includes 8 control bytes.
- the group of code stream blocks is the first group of control code stream blocks
- the content of the group of code stream blocks after the first encoding is 60 bits
- the first 4 bits are the BTF part
- the BTF part is 0xE.
- the group of code stream blocks is not the first group of control code stream blocks
- the content of the code stream block after the first encoding is 64 bits
- the first 8 bits are the BTF part
- the BTF part is 0x1E.
- the remaining 56 bits are the 0th bit of the 8 control bytes included in the data block and the 6th bit.
- control block is 0x01, and the 7th to 0th bits of the data block are 0x9C, where the LSB is the bit sent first.
- the data block includes 1 control byte and 7 data bytes.
- the group of code stream blocks is the first group of control code stream blocks
- the first coded content of the code stream blocks is 60 bits
- the first 4 bits are the BTF part
- the BTF part is 0xB.
- the content of the code stream block after the first encoding is 64 bits
- the first 8 bits are BTF part
- the BTF part is 0x4B.
- the 24 bits following the BTF part are the 31st to 8th bits of the data block.
- the 4 bits after the data byte are O code (O code), and O code can be obtained according to the IEEE802.3 standard.
- the remaining 28 bits are multiple first padding bits, where the multiple first padding bits can be obtained based on the data bytes of the data block, or the multiple first padding bits are all 0.
- control block is 0xFF
- 7th bit to the 0th bit of the data block are 0xFD
- the LSB is the bit sent first.
- the data block includes 8 control bytes.
- the group of code stream blocks is the first group of control code stream blocks
- the content of the group of code stream blocks after the first encoding is 60 bits
- the first 4 bits are the BTF part
- the BTF part is 0x7.
- the content of the code stream block after the first encoding is 64 bits
- the first 8 bits are the BTF part
- the BTF part is 0x87.
- the 7 bits after the BTF part are all 0, and the remaining 49 bits are the 6th to 0th bits of the last 7 control bytes included in the data block.
- control block is 0xFE
- 15th to 8th bits of the data block are 0xFD
- LSB is the bit sent first.
- the data block includes 1 data byte and 7 control bytes.
- the group of code stream blocks is the first group of control code stream blocks
- the first coded content of the code stream blocks is 60 bits
- the first 4 bits are BTF part
- the BTF part is 0x9.
- the content of the code stream block after the first encoding is 64 bits
- the first 8 bits are the BTF part
- the BTF part is 0x99.
- the 8 bits after the BTF part are each bit of the data byte included in the data block
- the 6 bits after the data byte are all 0, and the remaining 42 bits are the bits of the last 6 control bytes included in the data block Bit 6 to bit 0.
- control block is 0xFC
- 23rd to 16th bits of the data block are 0xFD, wherein the LSB is the bit sent first.
- the data block includes 2 data bytes and 6 control bytes.
- the group of code stream blocks is the first group of control code stream blocks
- the content of the group of code stream blocks after the first encoding is 60 bits
- the first 4 bits are the BTF part
- the BTF part is 0xA.
- the content of the code stream block after the first encoding is 64 bits
- the first 8 bits are the BTF part
- the BTF part is 0xAA.
- the 16 bits after the BTF part are the bits of the 2 data bytes included in the data block, the 5 bits after the data byte are all 0, and the remaining 35 bits are the last 5 control words included in the data block Bit 6 to bit 0 of the section.
- control block is 0xF8, and the 31st to 24th bits of the data block are 0xFD, wherein the LSB is the bit sent first.
- the data block includes 3 data bytes and 5 control bytes.
- the group of code stream blocks is the first group of control code stream blocks
- the first coded content of the code stream blocks is 60 bits
- the first 4 bits are BTF part
- the BTF part is 0x4.
- the group of code stream blocks is not the first group of control code stream blocks
- the content of the code stream block after the first encoding is 64 bits
- the first 8 bits are BTF part
- the BTF part is 0xB4.
- the 28 bits after the BTF part are the bits of the 3 data bytes included in the data block, the 4 bits after the data byte are all 0, and the remaining 28 bits are the last 4 control words included in the data block Bit 6 to bit 0 of the section.
- control block is 0xF0, and the 39th to 32nd bits of the data block are 0xFD, wherein the LSB is the bit sent first.
- the data block includes 4 data bytes and 4 control bytes.
- the group of code stream blocks is the first group of control code stream blocks
- the first coded content of the code stream blocks is 60 bits
- the first 4 bits are the BTF part
- the BTF part is 0xC.
- the group of code stream blocks is not the first group of control code stream blocks
- the content of the code stream block after the first encoding is 64 bits
- the first 8 bits are BTF part
- the BTF part is 0xCC.
- the 32 bits after the BTF part are the bits of the 4 data bytes included in the data block, the 3 bits after the data byte are all 0, and the remaining 21 bits are the last 3 control words included in the data block Bit 6 to bit 0 of the section.
- control block is 0xE0, and the 47th to 40th bits of the data block are 0xFD, wherein the LSB is the bit sent first.
- the data block includes 5 data bytes and 3 control bytes.
- the group of code stream blocks is the first group of control code stream blocks
- the first coded content of the group of code stream blocks is 60 bits
- the first 4 bits are the BTF part
- the BTF part is 0x2.
- the content of the code stream block after the first encoding is 64 bits
- the first 8 bits are the BTF part
- the BTF part is 0xD2.
- the 32 bits after the BTF part are the bits of the 5 data bytes included in the data block, the 2 bits after the data byte are all 0, and the remaining 12 bits are the last 2 control words included in the data block Bit 6 to bit 0 of the section.
- control block is 0xC0, and the 55th to 48th bits of the data block are 0xFD, wherein the LSB is the bit sent first.
- the data block includes 6 data bytes and 2 control bytes.
- the group of code stream blocks is the first group of control code stream blocks
- the first coded content of the code stream blocks is 60 bits
- the first 4 bits are BTF part
- the BTF part is 0x1.
- the first coded content of the group of code stream blocks is 64 bits
- the first 8 bits are the BTF part
- the BTF part is 0xE1.
- the 48 bits after the BTF part are the bits of the 6 data bytes included in the data block, the 1 bit after the data byte is 0, and the remaining 7 bits are the last control byte included in the data block The 6th bit to the 0th bit.
- control block is 0x80, and the 63rd to 56th bits of the data block are 0xFD, where the LSB is the bit sent first.
- the data block includes 7 data bytes and 1 control byte.
- the group of code stream blocks is the first group of control code stream blocks
- the content of the group of code stream blocks after the first encoding is 60 bits
- the first 4 bits are the BTF part
- the BTF part is 0xF.
- the content of the code stream block after the first encoding is 64 bits
- the first 8 bits are the BTF part
- the BTF part is 0xFF.
- the remaining 56 bits are the respective bits of the 7 data bytes included in the data block.
- the first encoded content of the 2 n groups of code stream blocks is used as the content of the code block.
- the target code block can be obtained based on the type, type indication and code block content.
- TXC_j ⁇ 7:0> indicates the control block of the jth code stream block
- tx_payload ⁇ 251:0> indicates the first encoded content of the four code stream blocks
- tx_coded ⁇ 256:0> indicates the target code block
- tx_coded ⁇ 0> indicates the type of the target code block
- tx_coded ⁇ j+1> indicates the type indication of the target code block
- tx_coded ⁇ 256:5> indicates the code block content of the target code block
- each bit of tx_coded ⁇ 256:0> As shown in Expression 3 to Expression 5 below:
- TXC_j ⁇ 7:0> when TXC_j ⁇ 7:0> is not 0x00, the bit of the target code block corresponding to the j value is 0, and when TXC_j ⁇ 7:0> is 0x00, the target code block corresponding to the j value bit is 1.
- the structure of the target code block is as shown in FIG. 5 , and 0 to 3 in FIG. 5 represent sequence numbers of four sets of code stream blocks respectively.
- the left side of Figure 5 shows the types of the four acquired code stream blocks, C represents the control code stream block, and D represents the data code stream block.
- the right side of Fig. 5 is the structure of the target code block corresponding to different situations, wherein b represents a bit, for example, 1b represents 1 bit, and 4b represents 4 bits. Exemplarily, case 1 in FIG.
- the 5 corresponds to four groups of code stream blocks whose types are all control code stream blocks, the 0th bit of the target code block obtained by the first encoding is 0, and the 4th bit to the 1st bit are all 0 ;
- the 8th bit to the 5th bit are represented as f_0, corresponding to the BTF part of the first coded content of the 0th group of code stream blocks, and the 64th to 9th bits correspond to the 0th group of code stream blocks after the first code
- the remaining content in the content, that is, C0; the 72nd bit to the 65th bit are represented as BTF1, corresponding to the BTF part of the first coded content of the first group of stream blocks, and the 128th bit to the 73rd bit corresponds to the first
- the rest of the content of the first coded content of a group of code stream blocks, that is, C1; the 136th to 129th bits are represented as BTF2, corresponding to the BTF part of the first coded content of the second group of code
- the rest of the cases in Fig. 5 are the same as the above case 1.
- the 68th bit to the 5th bit of the target code block are represented as D0, corresponding to the content of the 0th group code stream block after the first encoding
- the 68th bit to the 5th bit of the target code block is represented by D0
- the 72nd bit to the 69th bit are represented as f_1, corresponding to the BTF part of the first coded content of the first group of code stream blocks
- the 128th to 73rd bits correspond to the first coded content of the first group of code stream blocks
- the rest of the content in that is, C1 , will not be repeated here for other situations in FIG. 5 .
- the target code block is an error code block
- the error code block includes data for identifying errors.
- a group of code stream blocks in the 2n groups of code stream blocks does not belong to the data code stream blocks, nor does it belong to any of the above-mentioned cases A1 to A11, it is determined that the target code block is an error code block ;
- the type of 2 n groups of code stream blocks is obtained, and the type indication of the target code stream block is obtained based on the type of 2 n groups of code stream blocks, and the type and type indication are used as error code blocks for misidentified data.
- the 0th bit of the target code block corresponds to the type
- the 1st bit to the 4th bit correspond to the type indication
- the 0th bit is assigned a value of 0
- the first bit to the fourth bit are all assigned a value of 1.
- the structure of the target code block is as shown in FIG. 6 .
- the left side of Fig. 6 shows the types of four sets of code stream blocks obtained, and E represents an error code stream block.
- the right side of Figure 6 shows the structure of the target code block.
- the 0th bit of the target code block is 0, the 1st to 4th bits are all 1, the 5th to 64th bits correspond to the filling content obtained based on the first set of code stream blocks, and the 65th to 128th bits correspond to the content based on The filling content obtained from the second group of code stream blocks, the 129th bit to the 192nd bit correspond to the filling content obtained based on the third group of code stream blocks, and the 193rd to 256th bits correspond to the filling content obtained based on the fourth group of code stream blocks .
- each bit of the filling content is 0.
- the filling content obtained based on the first group of code stream blocks is represented as E0
- the filling content obtained based on the second group of code stream blocks is represented as E1
- the filling content obtained based on the third group of code stream blocks is expressed as E2
- the filling content obtained based on the fourth group of code stream blocks is denoted as E3.
- the encoding method provided by the embodiment of the present application can first encode different types of code stream blocks to obtain target code blocks, the method has wide applicability.
- first encoding is performed on 2 n groups of code stream blocks to obtain target code blocks, including: obtaining error detection results based on control blocks and data blocks of 2 n groups of code stream blocks;
- the 2 n sets of code stream blocks are processed, and the first encoding is performed on the processed 2 n sets of code stream blocks to obtain the target code block. That is to say, the target code block is obtained by processing 2 n sets of code stream blocks based on the error detection results, and the error detection result is obtained based on the control blocks and data blocks of the 2 n sets of code stream blocks.
- the error detection result is obtained based on the control blocks and data blocks of 2n groups of code stream blocks, including: obtaining the content and content order of 2 n groups of code stream blocks based on the control blocks and data blocks of 2 n groups of code stream blocks,
- the error detection results are obtained based on the content and content order of 2 n groups of stream blocks. For example, when the content order of the 2 n groups of code stream blocks is at least one of the first error case set, the content order of the 2 n groups of code stream blocks is wrong, and when the content order of the 2 n groups of code stream blocks is not In any case in the first error case set, the content sequence of the 2 n groups of code stream blocks is correct.
- the content of the 2n group of code stream blocks is at least one of the second error case set, the content of the 2n group of code stream blocks is wrong, and when the content of the 2n group of code stream blocks is not the second When any of the cases in the error case set, the content of the 2 n groups of code stream blocks is correct.
- the first set of error conditions includes but is not limited to the following four situations:
- the latter group of code stream blocks includes other content except data bytes.
- the latter group of code stream blocks includes other content except the idle control word (/I/) or sequence ordered set control word (/O/) .
- the latter group of code stream blocks includes data bytes or termination control words.
- a group of code stream blocks is taken as an example for illustration, and the second set of error conditions includes but is not limited to the following four situations:
- the initial control word is followed by other content except data bytes.
- the data bytes are followed by content other than data bytes or termination control words.
- the termination control word is followed by other content except the idle control word or the sequence ordered set control word.
- the idle control word or the sequence ordered set control word is followed by a data byte or a termination control word.
- the error detection result includes 2 n groups of code stream blocks with wrong content order or wrong content, based on the code stream blocks with wrong content order or wrong content in 2 n groups of code stream blocks to obtain error blocks, for 2 n groups of code stream blocks
- the code stream blocks and error blocks with correct content sequence and correct content in the block are first encoded to obtain the target code block. That is to say, in the case that the error detection result includes 2 n groups of code stream blocks in the wrong order or content error, the target code block is based on the code stream blocks with correct content order and correct content in the 2 n groups of code stream blocks and the error block.
- the first encoding is obtained, and the error block is obtained based on the code stream blocks whose content sequence is wrong or whose content is wrong in the 2n groups of code stream blocks.
- the error block includes an error control character.
- the content of the code stream block is converted into an error control word to obtain an error block.
- the code stream block with the wrong content order or content error is the first group of code stream blocks, and the content of the code stream block is converted into the first error control word.
- the first error control word is 60 bits, and the first 4 bits are 0xE , and then every 7 bits are 0x1E.
- the code stream block whose content is in the wrong order or whose content is wrong is at least one of the second group of code stream blocks, the third group of code stream blocks or the fourth group of code stream blocks, and the content of the code stream block is converted into the second group of code stream blocks.
- An error control word, the second error control word is 64 bits, the first 8 bits are 0x1E, and every 7 bits thereafter are 0x1E.
- the first encoding is performed on the code stream blocks and error blocks with correct content order and content order in the 2 n groups of code stream blocks to obtain the target code block, including: determining the type of the target code block as a control code block; obtaining 2 n The identification value of the group code stream block, the identification value is used to indicate the type of the code stream block, and the identification value of the 2n group of code stream blocks is used as the type indication; the sequence pair determined based on the control block and the data block of the 2n group of code stream blocks The error block and the data blocks of the code stream blocks with correct content sequence and correct content in the 2 n groups of code stream blocks are first encoded to obtain the code block content.
- the first encoding is performed on the data blocks of the code stream blocks with correct content order and correct content in the 2n groups of code stream blocks, and the obtained content sequence is correct and The first coded content of the code stream block with correct content, the target code block is obtained based on the first coded content of the code stream block with correct content sequence and correct content and the error block.
- the method of performing the first encoding on the data block of the code stream block with the correct content order and correct content please refer to the first encoding method for the code stream block whose type is data stream block and the code stream block whose type is control code stream block. Relevant content of a code will not be repeated here.
- 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 erroneous data can be distinguished from the correct data during subsequent data transmission, thereby ensuring the reliability of the data.
- the method further includes: performing second encoding on the target code block according to the FEC pattern to obtain the first data; and sending the first data.
- the embodiment of the present application does not limit the manner of performing the second encoding on the target code block according to the FEC code type.
- the first data is obtained by performing second encoding on the target code block according to the FEC code pattern, so that the receiving end can perform error correction on the received first data to ensure the accuracy of data transmission.
- first encoding is performed on 2 n sets of code stream blocks including control blocks and data blocks to obtain target code blocks, without performing 64B on each set of code stream blocks in the 2 n sets of code stream blocks /66B encoding to obtain 2 n 66-bit code blocks, and then transcoding the 2 n 66-bit code blocks to obtain the target code block.
- the encoding efficiency is improved, and the time delay, power consumption, and chip area occupied by the encoding process are all reduced.
- the decoding method provided by the embodiment of the present application is described above, and the decoding method provided by the embodiment of the present application is introduced below. Combining with the implementation scenario shown in FIG. 1 , the decoding method provided by the embodiment of the present application is shown in FIG. 7 . Exemplarily, the decoding method provided by the embodiment of the present application is executed by the chip 104 in FIG. 1 , and the method includes but not limited to step 701 and step 702 .
- step 701 a target code block is obtained, and the target code block includes a type and a data unit.
- 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.
- the target code block is an error code block obtained by performing error correction on the second data but failing to correct the error.
- performing second decoding on the second data to obtain the target code block includes: processing the second data according to the FEC pattern to obtain a first code word, performing error correction processing on the first code word, and performing error correction processing based on the error correction processing As a result, the target code block is obtained.
- the chip 104 has the function of an FEC decoder.
- the FEC decoder determines that the number of errors exceeds the error correction capability of the FEC decoder, that is, when the FEC decoder determines that the first codeword cannot be During error correction, mark all code blocks in the first codeword as error code blocks. Therefore, when the result of the error correction process is to mark all the code blocks in the first codeword as error code blocks, the acquired target code blocks are error code blocks.
- the code block obtained based on the error-corrected first codeword is used as the target code block to obtain, and based on the error-corrected first codeword
- a code block obtained by one code word is a code block whose error correction is successful.
- Method B receiving the second data, the second data is obtained based on the first data encoded by the forward error correction FEC pattern; performing the second decoding on the second data to obtain the target code block, the second decoding is error detection but not Error handling.
- the target code block is an error code block obtained by detecting errors from the second data but not correcting errors.
- performing second decoding on the second data to obtain the target code block includes: processing the second data according to the FEC code pattern to obtain a first code word, performing only error detection but no error correction (bypass correction) on the first code word ) processing; obtaining the target code block based on the result of the error detection but not error correction processing.
- the chip 104 has a function of an FEC decoder, and when the FEC decoder detects an error in the first codeword, it marks all code blocks in the first codeword as error code blocks. Therefore, when the result of the error detection but no error correction process is to mark all the code blocks in the first codeword as error code blocks, the acquired target code blocks are error code blocks.
- the code block obtained based on the first codeword is used as the target code block to obtain, and the code block obtained based on the first codeword A block is an error-free code block.
- the frame check sequence (frame check sequence, FCS) frame check performed based on the target code block fails.
- the target code block is 257 bits
- the first 5 bits are 01111
- the remaining 252 bits include but are not limited to the following three situations: (1) the first 4 bits are 0x1, and every 8 bits in the remaining bits are 0x1E; (2) the first 248 Every 8 bits in the bit is 0x1E, and the last 4 bits are 0x1; (3) All bits are 0.
- Step 702 first decode the target code block to obtain 2n groups of code stream blocks, any group of code stream blocks includes control blocks and data blocks obtained based on the type and data unit, n is an integer greater than 1.
- the target code block is 257 bits
- the control block of each code stream block is 8 bits
- the data block is 64 bits.
- the first decoding process can be performed on each target code block respectively, To get 2 n sets of stream blocks.
- the first decoding can be performed on the two code blocks respectively to obtain four sets of code stream blocks, that is, the first decoding is performed on the two target code blocks to obtain eight sets of code stream blocks .
- the first decoding is performed on the target code block to obtain 2 n sets of code stream blocks, including but not limited to the following decoding methods 1 to 3.
- Decoding method 1 based on the type of the target code block, determine the type of the target code block as a data code block, the data unit of the target code block includes 2 n pieces of 8m-length content, m is a positive integer; based on the type of the target code block, 2 The control block of n groups of code stream blocks firstly decodes 2 n pieces of 8m-length content included in the data unit respectively, to obtain data blocks of 2 n groups of code stream blocks.
- the target code block is first decoded in a decoding manner to obtain 2 n groups of code stream blocks.
- the data blocks included in the i-th group of code stream blocks in the 2 n groups of code stream blocks are obtained based on the first decoding of the 8m-length content corresponding to the i-th group of code stream blocks in the data unit, and i is greater than or equal to An integer of 1 and less than or equal to 2 n or i is an integer of greater than or equal to 0 and less than or equal to 2 n -1.
- the type of the target code block is 1 to indicate that the target code block is a data code block
- the data unit of the target code block includes four 8m-length contents
- one 8m-length content corresponds to a group of codes flow block.
- the length of 8m is 64 bits.
- RXC_j ⁇ 7:0> indicates the control block of the j-th code stream block
- RXD_j ⁇ 63:0> indicates the data block of the j-th code stream block
- rx_coded ⁇ 256:0> indicates the target code block
- rx_coded ⁇ (64j+64):(64j+1)> represents the (64j+64)th to (64j+1)th bit of the target code block
- RXC_j ⁇ 7:0> and the contents of RXD_j ⁇ 63:0> are shown in Expression 6 and Expression 7 below:
- RXD_0 ⁇ 63:0> rx_coded ⁇ 64:1>, indicating that the 64th bit to the 1st bit of the target code block are respectively used as the 63rd bit of the data block of the 0th code stream block to bit 0.
- RXD_1 ⁇ 63:0> rx_coded ⁇ 128:65>, indicating that the 128th to 65th bits of the target code block are respectively used as the 63rd to 63rd bits of the data block of the first group of code stream blocks 0 bits.
- RXD_2 ⁇ 63:0> rx_coded ⁇ 192:129>, indicating that the 192nd to 129th bits of the target code block are respectively used as the 63rd to 63rd bits of the data block of the second group of code stream blocks 0 bits.
- RXD_3 ⁇ 63:0> rx_coded ⁇ 256:193>, indicating that the 256th bit to the 193rd bit of the target code block are respectively used as the 63rd bit to the 63rd bit of the data block of the third group of code stream blocks 0 bits.
- Decoding method two based on the type of the target code block, determine the type of the target code block as a control code block, the data unit of the target code block includes a type indication and code block content, the type indication includes 2 n bits, and the 2 n bits 1 bit in is used to indicate the type of a group of code stream blocks corresponding to this bit in 2 n groups of code stream blocks, and the content of the code block includes 2 n bit groups;
- the bits corresponding to the block and the bit groups corresponding to the 2 n groups of code stream blocks in the content of the code block obtain the control block of the 2 n groups of code stream blocks, and the bits corresponding to the 2 n groups of code stream blocks in the type indication correspond to the code block content
- the bit groups corresponding to the 2 n groups of code stream blocks are first decoded to obtain data blocks of the 2 n groups of code stream blocks.
- the second decoding method is used to perform first decoding on the target code block to obtain 2 n groups of code stream blocks.
- the control block included in the i-th group of code stream blocks in the 2 n groups of code stream blocks is based on the type, the bit corresponding to the i-th group of code stream blocks in the type indication and the bit corresponding to the i-th group of code stream blocks in the code block content obtained by the bit group, i is an integer greater than or equal to 1 and less than or equal to 2 n or i is an integer greater than or equal to 0 and less than or equal to 2 n -1; the i-th group of code stream blocks in the 2 n groups of code stream blocks include The data block is obtained by first decoding the bit group corresponding to the i-th group of code stream blocks in the code block content based on the bits corresponding to the i-th group of code stream blocks in the type indication.
- a bit group is
- the type of the code stream block obtained based on the bit is a data code stream block; when a bit in the type indication is 0, the code stream block obtained based on the bit
- the type of is a control code stream block.
- the 2 n bit groups include a first bit group and 2 n ⁇ 1 second bit groups, and the number of bits included in the first bit group is different from the number of bits included in the second bit group.
- one bit of the type indication corresponds to one bit group of the content of the code block.
- the structure of the target code block shown in FIG. 5 is taken as an example for description.
- the type indication includes four bits
- the code block content includes four bit groups.
- the first bit indicated by the type corresponds to the first bit group, and the first bit group is the 5th to the 64th bit of the target code block;
- the second bit indicated by the type corresponds to a second bit group, and the second bit
- the second bit group corresponding to the bit is the 65th bit to the 128th bit of the target code block;
- the third bit indicated by the type corresponds to a second bit group, and the second bit group corresponding to the third bit is the target code block.
- the fourth bit indicated by the type corresponds to a second bit group, and the second bit group corresponding to the fourth bit is the 193rd bit to the 256th bit of the target code block.
- the type indication includes four bits
- the code block content includes four bit groups.
- the first bit indicated by the type corresponds to a second bit group, and the second bit group corresponding to the first bit is the 5th bit to the 67th bit of the target code block;
- the second bit indicated by the type corresponds to the first Bit group, the first bit group is the 68th bit to the 128th bit of the target code block;
- the third bit indicated by the type corresponds to a second bit group, and the second bit group corresponding to the third bit is the target code block
- the fourth bit indicated by the type corresponds to a second bit group, and the second bit group corresponding to the fourth bit is the 193rd bit to the 256th bit of the target code block.
- the control block of the code stream block obtained based on the type if the bit is 1, the control block of the code stream block obtained based on the type, the bit and the bit group corresponding to the bit is 0x00, based on the The content of the data block of the code stream block obtained by first decoding the bit group corresponding to the bit is the content of the bit group.
- the obtained control block and data block of the code stream block include but not limited to the following cases B1 to B11.
- this bit is the first bit that is 0, the first 4 bits of the bit group corresponding to this bit is the BTF part, and the BTF part is 0x8; or this bit is not the first bit that is 0, this bit corresponds to
- the first 8 bits of the bit group are the BTF part, and the BTF part is 0x78.
- the BTF part of the bit group corresponding to this bit includes 7 data bytes after it.
- the control block of the code stream block is 0x01
- the data block of the code stream block is 64 bits.
- the 7th bit to the 0th bit of the data block are 0xFB, and the remaining 56 bits are each bit of the 7 data bytes of the bit group corresponding to this bit.
- LSB is the bit sent first.
- this bit is the first bit that is 0, and the first 4 bits of the bit group corresponding to this bit are the BTF part, and the BTF part is 0xE; or this bit is not the first bit that is 0, and this bit corresponds to The first 8 bits of the bit group are the BTF part, and the BTF part is 0x1E.
- the BTF part of the bit group corresponding to this bit includes 8 control bit groups, and each control bit group includes 7 bits.
- the control block of the code stream block is 0xFF
- the data block of the code stream block is 64 bits.
- the 64 bits of the data block are obtained based on 8 control bit groups, wherein every 8 bits of the data block are based on one control bit group.
- the embodiment of the present application does not limit the manner of obtaining each bit of the data block based on each control bit group, for example, it is obtained according to the IEEE802.3 standard.
- LSB is the bit sent first.
- this bit is the first bit that is 0, the first 4 bits of the bit group corresponding to this bit is the BTF part, and the BTF part is 0xB; or this bit is not the first bit that is 0, this bit corresponds to
- the first 8 bits of the bit group are the BTF part, and the BTF part is 0x4B.
- the BTF part of the bit group corresponding to this bit includes 3 data bytes, 1 4-bit O code and multiple first filling bits.
- the control block of the code stream block is 0x01
- the data block of the code stream block is 64 bits.
- the 7th to 0th bits of the data block are 0x9C
- the 31st to 8th bits of the data block are bits of 3 data bytes
- the remaining 32 bits are obtained based on a plurality of first padding bits.
- LSB is the bit sent first.
- the embodiment of the present application does not limit the manner of obtaining the remaining 32 bits based on the multiple first padding bits.
- this bit is the first bit that is 0, the first 4 bits of the bit group corresponding to this bit is the BTF part, and the BTF part is 0x7; or this bit is not the first bit that is 0, this bit corresponds to
- the first 8 bits of the bit group are the BTF part, and the BTF part is 0x87.
- the BTF part of the bit group corresponding to this bit includes a 7-bit termination control word and 7 control bit groups, and each control bit group includes 7 bits.
- the control block of the code stream block is 0xFF
- the data block of the code stream block is 64 bits.
- the 7th bit to the 0th bit of the data block are 0xFD, and the remaining 56 bits are obtained based on 7 control bit groups, wherein, every 8 bits in the remaining 56 bits are obtained based on one control bit group.
- LSB is the bit sent first.
- this bit is the first bit that is 0, the first 4 bits of the bit group corresponding to this bit is the BTF part, and the BTF part is 0x9; or this bit is not the first bit that is 0, this bit corresponds to
- the first 8 bits of the bit group are the BTF part, and the BTF part is 0x99.
- the BTF part of the bit group corresponding to this bit includes 1 data byte, 1 6-bit termination control word and 6 control bit groups, and each control bit group includes 7 bits.
- the control block of the code stream block is 0xFE
- the data block of the code stream block is 64 bits.
- the 7th to 0th bits of the data block are each bit of the data byte
- the 15th to 8th bits of the data block are 0xFD
- the remaining 48 bits are obtained based on 6 control bit groups, wherein each of the remaining 48 bits 8 bits are derived based on a control bit group.
- LSB is the bit sent first.
- this bit is the first bit that is 0, the first 4 bits of the bit group corresponding to this bit is the BTF part, and the BTF part is 0xA; or this bit is not the first bit that is 0, this bit corresponds to
- the first 8 bits of the bit group are the BTF part, and the BTF part is 0xAA.
- the BTF part of the bit group corresponding to this bit includes 2 data bytes, a 5-bit termination control word and 5 control bit groups, and each control bit group includes 7 bits.
- the control block of the code stream block is 0xFC
- the data block of the code stream block is 64 bits.
- the 15th to 0th bits of the data block are obtained based on each bit of 2 data bytes
- the 23rd to 16th bits of the data block are 0xFD
- the remaining 40 bits are obtained based on 5 control bit groups, among which the remaining 40 bits
- Each 8-bit in is obtained based on a group of control bits.
- LSB is the bit sent first.
- this bit is the first bit that is 0, the first 4 bits of the bit group corresponding to this bit is the BTF part, and the BTF part is 0x4; or this bit is not the first bit that is 0, this bit corresponds to
- the first 8 bits of the bit group are the BTF part, and the BTF part is 0xB4.
- the BTF part of the bit group corresponding to this bit includes 3 data bytes, a 4-bit termination control word and 4 control bit groups, and each control bit group includes 7 bits.
- the control block of the code stream block is 0xF8, and the data block of the code stream block is 64 bits.
- the 23rd to 0th bits of the data block are obtained based on each bit of the 3 data bytes, the 31st to 24th bits of the data block are 0xFD, and the remaining 32 bits are obtained based on 4 control bit groups, among which the remaining 32 bits
- Each 8-bit in is obtained based on a group of control bits.
- LSB is the bit sent first.
- this bit is the first bit that is 0, the first 4 bits of the bit group corresponding to this bit is the BTF part, and the BTF part is 0xC; or this bit is not the first bit that is 0, this bit corresponds to
- the first 8 bits of the bit group are the BTF part, and the BTF part is 0xCC.
- the BTF part of the bit group corresponding to this bit includes 4 data bytes, a 3-bit termination control word and 3 control bit groups, and each control bit group includes 7 bits.
- the control block of the code stream block is 0xF0
- the data block of the code stream block is 64 bits.
- the 31st to 0th bits of the data block are obtained based on each bit of 4 data bytes, the 39th to 32nd bits of the data block are 0xFD, and the remaining 24 bits are obtained based on 3 control bit groups, among which the remaining 24 bits
- Each 8-bit in is obtained based on a group of control bits.
- LSB is the bit sent first.
- this bit is the first bit that is 0, the first 4 bits of the bit group corresponding to this bit is the BTF part, and the BTF part is 0x2; or this bit is not the first bit that is 0, this bit corresponds to
- the first 8 bits of the bit group are the BTF part, and the BTF part is 0xD2.
- the BTF part of the bit group corresponding to this bit includes 5 data bytes, a 2-bit termination control word and 2 control bit groups, and each control bit group includes 7 bits.
- the control block of the code stream block is 0xE0
- the data block of the code stream block is 64 bits.
- the 39th to 0th bits of the data block are obtained based on each bit of the 5 data bytes, the 47th to 40th bits of the data block are 0xFD, and the remaining 16 bits are obtained based on 2 control bit groups, of which the remaining 16 bits
- Each 8-bit in is based on a group of control bits.
- LSB is the bit sent first.
- this bit is the first bit that is 0, and the first 4 bits of the bit group corresponding to this bit are the BTF part, and the BTF part is 0x1; or this bit is not the first bit that is 0, and this bit corresponds to The first 8 bits of the bit group are the BTF part, and the BTF part is 0xE1.
- the BTF part of the bit group corresponding to this bit includes 6 data bytes, a 1-bit termination control word and a 7-bit control bit group.
- the control block of the code stream block is 0xC0
- the data block of the code stream block is 64 bits.
- the 47th to 0th bits of the data block are obtained based on the respective bits of the 6 data bytes, the 55th to 48th bits of the data block are 0xFD, and the remaining 8 bits are obtained based on the control bit group.
- LSB is the bit sent first.
- this bit is the first bit that is 0, the first 4 bits of the bit group corresponding to this bit is the BTF part, and the BTF part is 0xF; or this bit is not the first bit that is 0, this bit corresponds to
- the first 8 bits of the bit group are the BTF part, and the BTF part is 0xFF.
- the BTF part of the bit group corresponding to this bit includes 7 data bytes after it.
- the control block of the code stream block is 0x80
- the data block of the code stream block is 64 bits.
- the 55th to 0th bits of the data block are obtained based on the respective bits of the 7 data bytes, and the 63rd to 56th bits of the data block are 0xFD.
- LSB is the bit sent first.
- the control block of 2 n groups of code stream blocks is obtained based on the bit group corresponding to 2 n groups of code stream blocks in the type and type indication and the bit group corresponding to 2 n groups of code stream blocks in the content of the code block, based on
- the bits corresponding to the 2 n groups of code stream blocks in the type indication are first decoded to obtain the data blocks of the 2 n groups of code stream blocks in the code block content corresponding to the 2 n groups of code stream blocks, including: based on 2 n
- the bit group obtains 2 n third bit groups of 64 bits, and obtains the control block of 2 n groups of code stream blocks based on the bits corresponding to 2 n groups of code stream blocks in the type and type indication and 2 n third bit groups.
- the bits in the type indication corresponding to the 2 n groups of code stream blocks are first decoded on the 2 n third bit groups to obtain data blocks of the 2 n groups of code stream blocks.
- the bit group corresponding to the bit includes a 4-bit BTF part
- the 8-bit BTF part is obtained based on the 4-bit BTF part to obtain a third bit group.
- query the IEEE802.3 standard based on the 4-bit BTF part to obtain the 8-bit BTF part or query the correspondence table between the 4-bit BTF part and the 8-bit BTF part based on the 4-bit BTF part to obtain the 8-bit BTF part.
- the 8-bit BTF part corresponding to the 4-bit BTF part is included in the IEEE802.3 standard, or the 8-bit BTF part corresponding to the 4-bit BTF part is included in the correspondence table, the 8-bit BTF part As part of the obtained 8-bit BTF.
- the 8-bit BTF part corresponding to the 4-bit BTF part is not included in the IEEE802.3 standard, or the 8-bit BTF part corresponding to the 4-bit BTF part is not included in the correspondence table, mark the 4-bit BTF part BTF part to get the 8-bit BTF part.
- the embodiment of the present application does not limit the way of marking the 4-bit BTF part.
- the 4-bit BTF part is used as the 3rd bit to the 0th bit, and the 7th bit to the 4th bit are all set to 0.
- the control block of the code stream block obtained based on the third bit group is 0xFF, and the data block is 0xFEFEFEFE.
- the control block of the code stream block is obtained based on the type, the bit and the bit group corresponding to the bit, and the bit group corresponding to the bit is first decoded based on the bit
- Obtain the data block of the code stream block including: query the 8-bit BTF part based on the 4-bit BTF part included in the bit group corresponding to the bit, and in the case of query failure, set the control block of the code stream block to 0xFF, and set the code stream
- the data block of the block is set to 0xFEFEFE.
- the principle of querying the 8-bit BTF part based on the 4-bit BTF part is the same as the query method in the above related content, and will not be repeated here.
- Decoding method three based on the type and data unit of the target code block, determine the type of the target code block as an error code block; obtain the control block and data block of 2 n groups of code stream blocks, and the 2 n groups of code stream blocks are all error code streams piece.
- the data unit includes a type indication, and the type and type indication are used to indicate that the target code block is an error code block; the control block included in each group of code stream blocks in the 2 n groups of code stream blocks is the first value, and the 2 n groups of code stream blocks include The data blocks included in each group of code stream blocks in the stream blocks are the second value, and the first value and the second value are used to indicate that the code stream block is an error code stream block.
- the type of the target code block is 0, the type indication is 1111, and the target code block is an error code block, then the control block included in each group of code stream blocks in the 2n groups of code stream blocks obtained through the first decoding is 0xFF, 2 The data blocks included in each group of code stream blocks in n groups of code stream blocks are all 0xFEFEFEFE.
- the decoding method provided by the embodiment of the present application can first decode different types of target code blocks to obtain 2 n sets of code stream blocks, the method has wide applicability.
- the first decoding is performed on the target code block to obtain 2n groups of code stream blocks, including: obtaining error detection based on the type and data unit of the target code block Result; according to the error detection result and the type and data unit of the target code block, the target code block is first decoded, and 2 n groups of code stream blocks are obtained. That is to say, the 2n groups of code stream blocks are obtained by first decoding the target code block according to the error detection result and the type and data unit of the target code block, and the error detection result is obtained based on the type and data unit of the target code block.
- the error detection result is obtained based on the type and data unit of the target code block, including: obtaining the content and content order of the target code block based on the type and data unit of the target code block, and obtaining the error detection result based on the content and content order of the target code block Test results.
- the content order of the target code block is at least one case in the third error case set, the content order of the target code block is wrong, and when the content order of the target code block is not any of the third error case set In this case, the content sequence of the object code block is correct.
- the content of the target code block is at least one situation in the fourth error case set
- the content of the target code block is wrong
- the content of the target code block is not any situation in the fourth error case set
- the content of the object code block is correct.
- the target code block is a control code block
- the target code block includes four bit groups as an example for illustration.
- the third set of error conditions includes but is not limited to There are 4 situations as follows:
- the latter bit group includes other contents except data bytes.
- the latter bit group includes other contents except the idle control word (/I/) or sequence ordered set control word (/O/).
- the latter group of bits includes a data byte or a termination control word.
- bit group is taken as an example for illustration, and the fourth set of error conditions includes but is not limited to the following four situations:
- the initial control word is followed by other content except data bytes.
- the termination control word is followed by other content except the idle control word or the sequence ordered set control word.
- the idle control word or the sequence ordered set control word is followed by a data byte or a termination control word.
- the error detection result includes the content sequence error or content error of the target code block
- the target code block is first decoded according to the error detection result and the type and data unit of the target code block to obtain 2n groups
- the code stream block includes: converting the target code block to obtain a second code block, performing first decoding on the second code block according to the type and data unit of the second code block to obtain 2 n groups of code stream blocks. That is, 2 n groups of code stream blocks are obtained by first decoding the second code block according to the type and data unit of the second code block, and the second code block is obtained by converting the target code block and has the same number of bits as the target code block the same code block.
- 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 first bit group is converted into a first error control word
- the first bit group is a bit group whose content sequence is wrong or whose content is wrong.
- the second bit group is converted into a second error control word, where the second bit group is a bit group whose contents are in the wrong order or whose content is wrong.
- the converted second code block is a control code block, and the second code block may be decoded in the second decoding manner.
- the error detection result includes the content sequence error or content error of the target code block
- the target code block is first decoded according to the error detection result and the type and data unit of the target code block to obtain 2 n A group of code stream blocks, including: first decoding the target code block based on the type and data unit of the target code block to obtain 2 n groups of first code stream blocks, and converting 2 n groups of first code stream blocks to obtain 2 n groups of codes flow block. That is to say, 2 n sets of code stream blocks are obtained based on converting 2 n sets of first code stream blocks, and 2 n sets of first code stream blocks are obtained by first decoding the target code block based on the type and data unit of the target code block .
- 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 target code block is first decoded 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 sets 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.
- FIG. 8 is a schematic structural diagram of an encoding device provided by an embodiment of the present application.
- the device is applied to a first network device, and the first network device is the first network device in the embodiment shown in FIG. 1 above.
- the encoding device shown in FIG. 8 can perform all or part of the operations performed by the first network device. It should be understood that the device may include more additional modules than those shown or omit some of the modules shown therein, which is not limited in this embodiment of the present application.
- the device includes:
- the obtaining module 801 is used to obtain 2 n groups of code stream blocks, any group of code stream blocks includes control blocks and data blocks, and n is an integer greater than 1;
- the first encoding module 802 is configured to perform first encoding on 2n groups of code stream blocks to obtain target code blocks, the target code blocks include types determined based on 2n groups of code stream blocks and control blocks based on 2n groups of code stream blocks The control block and data block determine the data unit.
- the type is used to indicate that the target code block is a data code block; the data unit is obtained by first encoding the data blocks of the 2 n groups of code stream blocks based on the order of the 2 n groups of code stream blocks.
- the type is used to indicate that the target code block is a control code block;
- the data unit includes a type indication and a code block content, and the code block content is determined based on the order of the control block and the data block of 2n groups of code stream blocks
- the first encoding is performed on the data blocks of the 2 n groups of code stream blocks, the type indication is obtained based on the control blocks of the 2 n groups of code stream blocks, and the type indication is used to indicate the type of each group of code stream blocks.
- the target code block is an error code block
- the error code block includes data for identifying errors
- the target code block is obtained by processing 2 n sets of code stream blocks based on error detection results, and the error detection results are obtained based on the control blocks and data blocks of the 2 n sets of code stream blocks.
- the error detection results include 2 n groups of code stream blocks with wrong content order or wrong content
- the target code block is based on the code stream blocks with correct content order and correct content in the 2 n groups of code stream blocks and the error
- the block is obtained by performing the first encoding, and the error block is obtained based on the code stream blocks with wrong content sequence or wrong content in the 2n groups of code stream blocks.
- control block includes m bits
- data block includes 8m bits
- m is a positive integer
- the value of n is 2, the value of m is 8, and the target code block is 257 bits.
- the 2n groups of code stream blocks all come from the media independent interface MII.
- the device further includes: a second encoding module 803, configured to perform second encoding on the target code block according to a forward error correction (FEC) pattern to obtain first data; a sending module 804, configured to Send the first data.
- FEC forward error correction
- the encoding device performs the first encoding on 2 n sets of code stream blocks including control blocks and data blocks to obtain the target code block, without performing 64B on each set of code stream blocks in the 2 n sets of code stream blocks /66B encoding to obtain 2 n 66-bit code blocks, and then transcoding the 2 n 66-bit code blocks to obtain the target code block.
- the encoding efficiency is improved, and the time delay, power consumption, and chip area occupied by the encoding process are all reduced.
- FIG. 9 is a schematic structural diagram of a decoding device provided by an embodiment of the present application.
- the device can be applied to a second network device, which is the second network device in the embodiment shown in FIG. 1 above.
- the decoding apparatus shown in FIG. 9 can perform all or part of the operations performed by the second network device.
- the device may include more additional modules than those shown or omit some of the modules shown therein, which is not limited in this embodiment of the present application.
- the device includes:
- An acquisition module 901 configured to acquire a target code block, where the target code block includes a type and a data unit;
- the decoding module 902 is configured to perform first decoding on the target code block according to the type and data unit of the target code block, to obtain 2n groups of code stream blocks, any group of code stream blocks includes control blocks obtained based on types and data units and Data block, n is an integer greater than 1.
- the type is used to indicate that the target code block is a data code block; the data block included in the i-th group of code stream blocks in 2 n groups of code stream blocks is based on the comparison between the data unit and the i-th group code
- the 8m-length content corresponding to the stream block is obtained by first decoding, m is a positive integer, i is an integer greater than or equal to 1 and less than or equal to 2 n or i is an integer greater than or equal to 0 and less than or equal to 2 n -1.
- the type is used to indicate that the target code block is a control code block
- the data unit includes a type indication and code block content
- the type indication includes 2 n bits
- 1 bit of the 2 n bits is used for Indicates the type of a group of code stream blocks corresponding to bits in 2 n groups of code stream blocks
- the code block content includes 2 n bit groups
- the control block included in the i-th group of code stream blocks in 2 n groups of code stream blocks is based on
- the type and type indication are obtained from the bits corresponding to the i-th group of code stream blocks and the bit groups corresponding to the i-th group of code stream blocks in the code block content, i is an integer greater than or equal to 1 and less than or equal to 2 n or i is greater than or equal to An integer equal to 0 and less than or equal to 2 n -1; the data block included in the i-th group of code stream blocks in the 2 n group of code stream blocks is based on the bit pair code block content corresponding
- the 2 n bit groups include a first bit group and 2 n ⁇ 1 second bit groups, and the number of bits included in the first bit group is different from the number of bits included in the second bit group.
- the data unit includes a type indication, and the type and type indication are used to indicate that the target code block is an error code block;
- the control block included in each group of code stream blocks in the 2 n groups of code stream blocks is the first value , 2
- the data blocks included in each group of code stream blocks in the n groups of code stream blocks are the second value, and the first value and the second value are used to indicate that the code stream block is an error code stream block.
- the acquisition module is configured to receive second data, the second data is obtained based on the first data encoded using the forward error correction (FEC) pattern; perform second decoding on the second data to obtain the target code block, the second decoding is an error correction process.
- FEC forward error correction
- the target code block is a code block obtained by performing error correction on the second data but failing to correct the error.
- the acquisition module 901 is configured to receive second data, the second data is obtained based on the first data encoded using the forward error correction (FEC) pattern; perform second decoding on the second data to obtain The target code block, the second decoding is an error detection but no error correction process.
- FEC forward error correction
- the target code block is a code block obtained by detecting errors from the second data but not correcting errors.
- the 2n groups of code stream blocks are obtained by first decoding the target code block according to the error detection result and the type and data unit of the target code block, and the error detection result is based on the type and data unit of the target code block get.
- the error detection result includes the content sequence error or content error of the target code block
- the 2 n groups of code stream blocks perform the first decoding on the second code block according to the type and data unit of the second code block to obtain
- the second code block is a code block obtained by converting the target code block and having the same number of bits as the target code block.
- the error detection result includes the content sequence error or content error of the target code block
- the 2 n groups of code stream blocks are obtained based on converting 2 n groups of first code stream blocks
- the 2 n groups of first code stream blocks The stream block is obtained by first decoding the target code block based on the type of the target code block and the data unit.
- control block includes m bits
- data block includes 8m bits
- m is a positive integer
- the value of n is 2, the value of m is 8, and the target code block is 257 bits.
- the 2n sets of code stream blocks are all in the MII format of the media independent interface.
- the decoding device provided in the embodiment of the present application first 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 sets 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. 10 , which includes 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 1500 in the embodiment of the present application may correspond to the first network device or the second network device in the above method embodiments, and the processor 1502 in the network device 1500 reads the instructions in the memory 1503 or The program code enables the network device 1500 shown in FIG. 10 to perform all or part of the operations performed by the first network device or the second network device.
- the network device 1500 may also correspond to the above-mentioned devices shown in FIG. 8 and FIG. 9, for example, the acquisition module 801 and the acquisition module 901 involved in FIG. 8 and FIG. 9 are equivalent to the transceiver 1501, the first encoding module 802 and the decoding module 902 processor 1502 .
- FIG. 11 shows a schematic structural diagram of a network device 2000 provided by an exemplary embodiment of the present application.
- the network device 2000 shown in FIG. 11 is configured to perform the operations involved in the encoding method shown in FIG. 2 and the operations involved in the decoding method shown in FIG. 7 .
- the network device 2000 is, for example, a switch, a router, and the like.
- a network device 2000 includes at least one processor 2001 , a memory 2003 and at least one communication interface 2004 .
- the processor 2001 is, for example, a general-purpose central processing unit (central processing unit, CPU), a digital signal processor (digital signal processor, DSP), a network processor (network processor, NP), a graphics processing unit (graphics processing unit, GPU), A neural network processor (neural-network processing units, NPU), a data processing unit (data processing unit, DPU), a microprocessor, or one or more integrated circuits for implementing the solution of this application.
- the processor 2001 includes an application-specific integrated circuit (application-specific integrated circuit, ASIC), a programmable logic device (programmable logic device, PLD) or other programmable logic devices, transistor logic devices, hardware components or any combination thereof.
- the PLD is, for example, a complex programmable logic device (complex programmable logic device, CPLD), a field-programmable gate array (field-programmable gate array, FPGA), a general array logic (generic array logic, GAL) or any combination thereof. It can realize or execute various logical blocks, modules and circuits described in conjunction with the disclosure of the embodiments of the present invention.
- the processor may also be a combination that implements computing functions, for example, a combination of one or more microprocessors, a combination of a DSP and a microprocessor, and the like.
- the network device 2000 further includes a bus.
- the bus is used to transfer information between the various components of the network device 2000 .
- the bus may be a peripheral component interconnect standard (PCI for short) bus or an extended industry standard architecture (EISA for short) bus or the like.
- PCI peripheral component interconnect standard
- EISA extended industry standard architecture
- the bus can be divided into address bus, data bus, control bus and so on. For ease of representation, only one thick line is used in FIG. 11 , but it does not mean that there is only one bus or one type of bus.
- the components of the network device 2000 in FIG. 11 may be connected in other ways besides the bus connection, and the embodiment of the present invention does not limit the connection mode of the components.
- the memory 2003 is, for example, a read-only memory (read-only memory, ROM) or other types of static storage devices that can store static information and instructions, or a random access memory (random access memory, RAM) or a storage device that can store information and instructions.
- Other types of dynamic storage devices such as electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc Storage (including Compact Disc, Laser Disc, Optical Disc, Digital Versatile Disc, Blu-ray Disc, etc.), magnetic disk storage medium, or other magnetic storage device, or is capable of carrying or storing desired program code in the form of instructions or data structures and capable of Any other medium accessed by a computer, but not limited to.
- the memory 2003 exists independently, for example, and is connected to the processor 2001 via a bus.
- the memory 2003 can also be integrated with the processor 2001.
- the communication interface 2004 uses any device such as a transceiver for communicating with other devices or a communication network.
- the communication network can be Ethernet, radio access network (RAN) or wireless local area network (wireless local area networks, WLAN).
- the communication interface 2004 may include a wired communication interface, and may also include a wireless communication interface.
- the communication interface 2004 can be an ethernet (ethernet) interface, a fast ethernet (fast ethernet, FE) interface, a gigabit ethernet (gigabit ethernet, GE) interface, an asynchronous transfer mode (asynchronous transfer mode, ATM) interface, a wireless local area network ( wireless local area networks, WLAN) interface, cellular network communication interface or a combination thereof.
- the Ethernet interface can be an optical interface, an electrical interface or a combination thereof.
- the communication interface 2004 may be used for the network device 2000 to communicate with other devices.
- the processor 2001 may include one or more CPUs, such as CPU0 and CPU1 shown in FIG. 11 .
- Each of these processors may be a single-core (single-CPU) processor or a multi-core (multi-CPU) processor.
- a processor herein may refer to one or more devices, circuits, and/or processing cores for processing data (eg, computer program instructions).
- the network device 2000 may include multiple processors, such as the processor 2001 and the processor 2005 shown in FIG. 11 .
- processors can be a single-core processor (single-CPU) or a multi-core processor (multi-CPU).
- a processor herein may refer to one or more devices, circuits, and/or processing cores for processing data such as computer program instructions.
- 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.
- the memory 2003 is used to store the program code 2010 for implementing the solution of the present application
- the processor 2001 can execute the program code 2010 stored in the memory 2003 . That is, the network device 2000 can implement the encoding method or decoding method provided by the method embodiment through the processor 2001 and the program code 2010 in the memory 2003 .
- One or more software modules may be included in the program code 2010 .
- the processor 2001 itself may also store program codes or instructions for executing the solutions of the present application.
- the network device 2000 in the embodiment of the present application may correspond to the first network device or the second network device in the above method embodiments, and the processor 2001 in the network device 2000 reads the program code in the memory 2003
- the program codes or instructions stored in 2010 or the processor 2001 enable the network device 2000 shown in FIG. 11 to perform all or part of the operations performed by the first network device or the second network device.
- the network device 2000 may also correspond to the above-mentioned devices shown in FIG. 8 and FIG. 9 , and each functional module in the device shown in FIG. 8 and FIG. 9 is implemented by software of the network device 2000 .
- the functional modules included in the devices shown in FIG. 8 and FIG. 9 are generated after the processor 2001 of the network device 2000 reads the program code 2010 stored in the memory 2003 .
- the obtaining module 801 and the obtaining module 901 involved in FIG. 8 and FIG. 9 are equivalent to the communication interface 2004
- the first encoding module 802 and the decoding module 902 are equivalent to the processor 2001 and/or the processor 2005 .
- each step of the method shown in FIG. 2 and FIG. 7 is completed by an integrated logic circuit of hardware in the processor of the network device 2000 or an instruction in the form of software.
- the steps of the methods disclosed in connection with the embodiments of the present application may be directly implemented by a hardware processor, or implemented by a combination of hardware and software modules in the processor.
- the software module can be located in a mature storage medium in the field such as random access memory, flash memory, read-only memory, programmable read-only memory or electrically erasable programmable memory, register.
- the storage medium is located in the memory, and the processor reads the information in the memory, and completes the steps of the above method in combination with its hardware. To avoid repetition, no detailed description is given here.
- FIG. 12 shows a schematic structural diagram of a network device 2100 provided by another exemplary embodiment of the present application.
- the network device 2100 shown in FIG. 12 is configured to perform all or part of the operations involved in the methods shown in FIGS. 2 and 7 above.
- the network device 2100 is, for example, a switch, a router, etc., and the network device 2100 may be implemented by a general bus architecture.
- the network device 2100 includes: a main control board 2110 and an interface board 2130 .
- the main control board is also called a main processing unit (main processing unit, MPU) or a route processing card (route processor card). , equipment maintenance, protocol processing functions.
- the main control board 2110 includes: a central processing unit 2111 and a memory 2112 .
- the interface board 2130 is also called a line interface unit card (line processing unit, LPU), a line card (line card), or a service board.
- the interface board 2130 is used to provide various service interfaces and implement data packet forwarding.
- the service interface includes but not limited to Ethernet interface, POS (packet over SONET/SDH) interface, etc., and the Ethernet interface is, for example, flexible Ethernet service interface (flexible ethernet clients, FlexE Clients).
- the interface board 2130 includes: a central processing unit 2131 , a network processor 2132 , a forwarding entry storage 2134 and a physical interface card (physical interface card, PIC) 2133 .
- the central processor 2131 on the interface board 2130 is used to control and manage the interface board 2130 and communicate with the central processor 2111 on the main control board 2110 .
- the network processor 2132 is used to implement message sending processing.
- the form of the network processor 2132 may be a forwarding chip.
- the forwarding chip may be a network processor (network processor, NP).
- the forwarding chip may be implemented by an application-specific integrated circuit (application-specific integrated circuit, ASIC) or a field programmable gate array (field programmable gate array, FPGA).
- the network processor 2132 is configured to forward the received message based on the forwarding table stored in the forwarding table item memory 2134, and if the destination address of the message is the address of the network device 2100, then send the message to the CPU (such as central processing unit 2131) processing; If the destination address of message is not the address of network equipment 2100, then according to this destination address, find out the next hop and outgoing interface corresponding to this destination address from the forwarding table, and this message is forwarded to The outbound interface corresponding to the destination address.
- the processing of the uplink message may include: processing of the inbound interface of the message, forwarding table search; the processing of the downlink message may include: forwarding table search and so on.
- the central processing unit can also perform the function of the forwarding chip, such as implementing software forwarding based on a general-purpose CPU, so that no forwarding chip is needed in the interface board.
- the physical interface card 2133 is used to implement the interconnection function of the physical layer, through which the original traffic enters the interface board 2130 , and the processed packets are sent out from the physical interface card 2133 .
- the physical interface card 2133 is also called a daughter card, which can be installed on the interface board 2130, and is responsible for converting the photoelectric signal into a message, checking the validity of the message and forwarding it to the network processor 2132 for processing.
- the central processor 2131 can also execute the functions of the network processor 2132 , such as implementing software forwarding based on a general-purpose CPU, so that the physical interface card 2133 does not need the network processor 2132 .
- the network device 2100 includes multiple interface boards.
- the network device 2100 further includes an interface board 2140
- the interface board 2140 includes: a central processing unit 2141 , a network processor 2142 , a forwarding entry storage 2144 and a physical interface card 2143 .
- the functions and implementation methods of the components in the interface board 2140 are the same as or similar to those of the interface board 2130 , and will not be repeated here.
- the network device 2100 further includes a switching fabric unit 2120 .
- the SFU 2120 may also be called a switch fabric unit (switch fabric unit, SFU).
- SFU 2120 is used to complete data exchange between the interface boards.
- the interface board 2130 and the interface board 2140 may communicate through the SFU 2120 .
- the main control board 2110 is coupled to the interface board.
- the main control board 2110, the interface board 2130, the interface board 2140, and the switching fabric board 2120 are connected to the system backplane through the system bus to realize intercommunication.
- an inter-process communication protocol IPC
- IPC inter-process communication
- the network device 2100 includes a control plane and a forwarding plane.
- the control plane includes a main control board 2110 and a central processing unit 2111.
- the forwarding plane includes various components for performing forwarding, such as forwarding entry storage 2134, physical interface card 2133, and network processing. device 2132.
- the control plane executes routers, generates forwarding tables, processes signaling and protocol packets, configures and maintains the status of network devices, and other functions.
- the control plane sends the generated forwarding tables to the forwarding plane.
- the network processor 2132 controls The forwarding table issued by the above checks the table and forwards the packets received by the physical interface card 2133.
- the forwarding table delivered by the control plane may be stored in the forwarding table item storage 2134 .
- the control plane and the forwarding plane can be completely separated and not on the same network device.
- main control boards there may be one or more main control boards, and when there are multiple main control boards, it may include the main main control board and the standby main control board. There may be one or more interface boards. The stronger the data processing capability of the network device, the more interface boards it provides. There may also be one or more physical interface cards on the interface board. There may be no SFU, or there may be one or more SFUs. When there are multiple SFUs, they can jointly implement load sharing and redundant backup. Under the centralized forwarding architecture, the network device does not need a switching network board, and the interface board undertakes the processing function of the service data of the entire system.
- the network device can have at least one SFU, through which the data exchange between multiple interface boards can be realized, and large-capacity data exchange and processing capabilities can be provided. Therefore, the data access and processing capabilities of network devices with a distributed architecture are greater than those with a centralized architecture.
- the form of the network device can also be that there is only one board, that is, there is no switching fabric board, and the functions of the interface board and the main control board are integrated on this board.
- the central processing unit and the main control board on the interface board The central processing unit on the board can be combined into one central processing unit on the board to perform the superimposed functions of the two.
- This form of network equipment has low data exchange and processing capabilities (for example, low-end switches or routers, etc.) Internet equipment). Which architecture to use depends on the specific networking deployment scenario, and there is no limitation here.
- the network device 2100 corresponds to the devices shown in FIG. 8 and FIG. 9 above.
- the obtaining module 801 and the obtaining module 901 in the apparatus shown in FIG. 8 and FIG. 9 are equivalent to the physical interface card 2133 or the physical interface card 2143 in the network device 2100 .
- the first encoding module 802 and the decoding module 902 in the devices shown in FIG. 8 and FIG. 9 are equivalent to at least one of the central processing unit 2111 , the network processor 2132 and the network processor 2142 in the network device 2100 .
- an embodiment of the present application further provides a communication system, and the system includes: a first network device and a second network device.
- the first network device is the network device 1500 shown in FIG. 10 or the network device 2000 shown in FIG. 11 or the network device 2100 shown in FIG. 12
- the second network device is the network device 1500 shown in FIG. 10 or The network device 2000 shown in FIG. 11 or the network device 2100 shown in FIG. 12 .
- processor may be a central processing unit (CPU), and may also be other general-purpose processors, digital signal processing (digital signal processing, DSP), application specific integrated circuit (application specific integrated circuit, ASIC), field-programmable gate array (field-programmable gate array, FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
- DSP digital signal processing
- ASIC application specific integrated circuit
- FPGA field-programmable gate array
- a general purpose processor may be a microprocessor or any conventional processor or the like. It should be noted that the processor may be a processor supporting advanced RISC machines (ARM) architecture.
- ARM advanced RISC machines
- the above-mentioned memory may include a read-only memory and a random-access memory, and provide instructions and data to the processor.
- Memory may also include non-volatile random access memory.
- the memory may also store device type information.
- the memory can be either volatile memory or nonvolatile memory, or can include both volatile and nonvolatile memory.
- the non-volatile memory can be read-only memory (read-only memory, ROM), programmable read-only memory (programmable ROM, PROM), erasable programmable read-only memory (erasable PROM, EPROM), electrically programmable Erases programmable read-only memory (electrically EPROM, EEPROM) or flash memory.
- Volatile memory can be random access memory (RAM), which acts as external cache memory. By way of illustration and not limitation, many forms of RAM are available.
- static random access memory static random access memory
- dynamic random access memory dynamic random access memory
- DRAM dynamic random access memory
- SDRAM synchronous dynamic random access memory
- double data rate synchronous dynamic random access Memory double data rate SDRAM, DDR SDRAM
- enhanced synchronous dynamic random access memory enhanced SDRAM, ESDRAM
- serial link DRAM SLDRAM
- direct memory bus random access memory direct rambus RAM
- a computer-readable storage medium at least one program instruction or code is stored in the storage medium, and when the program instruction or code is loaded and executed by a processor, the computer can realize the encoding method in FIG. 2 or the coding method in FIG. 7 the decoding method.
- the present application provides a computer program (product).
- the computer program When the computer program is executed by a computer, it can cause a processor or a computer to execute the corresponding steps and/or processes in the above method embodiments.
- a chip including a processor, configured to call from a memory and execute instructions stored in the memory, so that a communication device installed with the chip executes the methods in the above aspects.
- Another chip including: an input interface, an output interface, a processor, and a memory, the input interface, the output interface, the processor, and the memory are connected through an internal connection path, and the processor is used to execute the codes in the memory, and when the codes are executed, the processor is configured to perform the methods in the above aspects.
- a device is also provided, which includes the above-mentioned chip.
- the device is a network device.
- the device is a router or a switch or a server.
- all or part of them may be implemented by software, hardware, firmware or any combination thereof.
- software When implemented using software, it may be implemented in whole or in part in the form of a computer program product.
- the computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on the computer, the processes or functions according to the present application will be generated in whole or in part.
- the computer can be a general purpose computer, a special purpose computer, a computer network, or other programmable devices.
- the computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted from a website, computer, server or data center Transmission to another website site, computer, server, or data center by wired (eg, coaxial cable, optical fiber, DSL) or wireless (eg, infrared, wireless, microwave, etc.) means.
- the computer-readable storage medium may be any available medium that can be accessed by a computer, or a data storage device such as a server or a data center integrated with one or more available media.
- the available medium may be a magnetic medium (such as a floppy disk, a hard disk, or a magnetic tape), an optical medium (such as a DVD), or a semiconductor medium (such as a solid state disk (solid state disk, SSD)), etc.
- the computer program product includes one or more computer program instructions.
- the methods of embodiments of the present application may be described in the context of machine-executable instructions, such as program modules included in a device executed on a real or virtual processor of a target.
- program modules include routines, programs, libraries, objects, classes, components, data structures, etc. that perform particular tasks or implement particular abstract data structures.
- the functionality of the program modules may be combined or divided between the described program modules.
- Machine-executable instructions for program modules may be executed locally or in distributed devices. In a distributed device, program modules may be located in both local and remote storage media.
- Computer program codes for implementing the methods of the embodiments of the present application may be written in one or more programming languages. These computer program codes can be provided to processors of general-purpose computers, special-purpose computers, or other programmable data processing devices, so that when the program codes are executed by the computer or other programmable data processing devices, The functions/operations specified in are implemented.
- the program code may execute entirely on the computer, partly on the computer, as a stand-alone software package, partly on the computer and partly on a remote computer or entirely on the remote computer or server.
- computer program codes or related data may be carried by any appropriate carrier, so that a device, apparatus or processor can perform various processes and operations described above.
- Examples of carriers include signals, computer readable media, and the like.
- Examples of signals may include electrical, optical, radio, sound, or other forms of propagated signals, such as carrier waves, infrared signals, and the like.
- a machine-readable medium may be any tangible medium that contains or stores a program for or related to an instruction execution system, apparatus, or device.
- a machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium.
- a machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination thereof. More detailed examples of machine-readable storage media include electrical connections with one or more wires, portable computer disks, hard disks, random storage access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash), optical storage, magnetic storage, or any suitable combination thereof.
- the disclosed systems, devices and methods may be implemented in other ways.
- the device embodiments described above are only illustrative.
- the division of the modules is only a logical function division. In actual implementation, there may be other division methods.
- multiple modules or components can be combined or can be Integrate into another system, or some features may be ignored, or not implemented.
- the mutual coupling or direct coupling or communication connection shown or discussed may be indirect coupling or communication connection through some interfaces, devices or modules, and may also be electrical, mechanical or other forms of connection.
- the modules described as separate components may or may not be physically separated, and the components displayed as modules may or may not be physical modules, that is, they may be located in one place, or may be distributed to multiple network modules. Part or all of the modules can be selected according to actual needs to achieve the purpose of the solution of the embodiment of the present application.
- each functional module in each embodiment of the present application may be integrated into one processing module, each module may exist separately physically, or two or more modules may be integrated into one module.
- the above-mentioned integrated modules can be implemented in the form of hardware or in the form of software function modules.
- the integrated module is realized in the form of a software function module and sold or used as an independent product, it can be stored in a computer-readable storage medium.
- the technical solution of the present application is essentially or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of software products, and the computer software products are stored in a storage medium
- several instructions are included to make a computer device (which may be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the methods in the various embodiments of the present application.
- the aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (read-only memory, ROM), random access memory (random access memory, RAM), magnetic disk or optical disc and other media that can store program codes. .
- first and second are used to distinguish the same or similar items with basically the same function and function. It should be understood that “first”, “second” and “nth” There are no logical or timing dependencies, nor are there restrictions on quantity or order of execution. It should also be understood that although the following description uses the terms first, second, etc. to describe various elements, these elements should not be limited by the terms. These terms are only used to distinguish one element from another. For example, a first network device could be termed a second network device, and, similarly, a second network device could be termed a first network device, without departing from the scope of the various described examples. Both the first network device and the second network device may be either type of network device, and in some cases, may be separate and distinct network devices.
- if and “if” may be construed to mean “when” ("when” or “upon”) or “in response to determining” or “in response to detecting”.
- phrases “if it is determined" or “if [the stated condition or event] is detected” may be construed to mean “when determining” or “in response to determining... ” or “upon detection of [stated condition or event]” or “in response to detection of [stated condition or event]”.
- determining B according to A does not mean determining B only according to A, and B may also be determined according to A and/or other information.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
Description
Claims (56)
- 一种编码方法,其特征在于,所述方法包括:获取2 n组码流块,任一组码流块包括控制块和数据块,所述n为大于1的整数;对所述2 n组码流块进行第一编码,得到目标码块,所述目标码块包括基于所述2 n组码流块的控制块确定的类型和基于所述2 n组码流块的控制块和数据块确定的数据单元。
- 根据权利要求1所述的方法,其特征在于,所述类型用于指示所述目标码块为数据码块;所述数据单元基于所述2 n组码流块的顺序对所述2 n组码流块的数据块进行所述第一编码得到。
- 根据权利要求1所述的方法,其特征在于,所述类型用于指示所述目标码块为控制码块;所述数据单元包括类型指示和码块内容,所述码块内容基于所述2 n组码流块的控制块和数据块确定的顺序对所述2 n组码流块的数据块进行所述第一编码得到,所述类型指示基于所述2 n组码流块的控制块得到,所述类型指示用于指示各组码流块的类型。
- 根据权利要求3所述的方法,其特征在于,所述目标码块为错误码块,所述错误码块中包括用于标识错误的数据。
- 根据权利要求1-4任一所述的方法,其特征在于,所述目标码块基于错误检测结果对所述2 n组码流块进行处理得到,所述错误检测结果基于所述2 n组码流块的控制块和数据块得到。
- 根据权利要求5所述的方法,其特征在于,所述错误检测结果包括所述2 n组码流块的内容顺序错误或内容错误,所述目标码块基于所述2 n组码流块中内容顺序正确且内容正确的码流块以及错误块进行所述第一编码得到,所述错误块基于所述2 n组码流块中内容顺序错误或内容错误的码流块得到。
- 根据权利要求1-6任一所述的方法,其特征在于,所述控制块包括m比特,所述数据块包括8m比特,所述m为正整数。
- 根据权利要求7所述的方法,其特征在于,所述n的取值为2,所述m的取值为8,所述目标码块为257比特。
- 根据权利要求1-8任一所述的方法,其特征在于,所述2 n组码流块均来自介质无关接口MII。
- 根据权利要求1-9任一所述的方法,其特征在于,所述得到目标码块之后,还包括:按照前向纠错FEC码型对所述目标码块进行第二编码,得到第一数据;发送所述第一数据。
- 一种解码方法,其特征在于,所述方法包括:获取目标码块,所述目标码块包括类型和数据单元;根据所述目标码块的类型和数据单元,对所述目标码块进行第一解码,得到2 n组码流块,任一组码流块包括基于所述类型和所述数据单元得到的控制块和数据块,所述n为大于1的整数。
- 根据权利要求11所述的方法,其特征在于,所述类型用于指示所述目标码块为数据码块;所述2 n组码流块中的第i组码流块包括的数据块是基于对所述数据单元中与所述第i组码流块对应的8m长度的内容进行所述第一解码得到的,所述m为正整数,所述i为大于等于1且小于等于2 n的整数或者所述i为大于等于0且小于等于2 n-1的整数。
- 根据权利要求11所述的方法,其特征在于,所述类型用于指示所述目标码块为控制码块,所述数据单元包括类型指示和码块内容,所述类型指示包括2 n个比特,所述2 n个比特中的1个比特用于指示所述2 n组码流块中与所述比特对应的一组码流块的类型,所述码块内容包括2 n个比特组;所述2 n组码流块中的第i组码流块包括的控制块是基于所述类型、所述类型指示中与所述第i组码流块对应的比特和所述码块内容中与所述第i组码流块对应的比特组得到的,所述i为大于等于1且小于等于2 n的整数或者所述i为大于等于0且小于等于2 n-1的整数;所述2 n组码流块中的第i组码流块包括的数据块是基于所述类型指示中与所述第i组码流块对应的比特对所述码块内容中与所述第i组码流块对应的比特组进行所述第一解码得到的。
- 根据权利要求13所述的方法,其特征在于,所述2 n个比特组包括第一比特组和2 n-1个第二比特组,所述第一比特组包括的比特数量和所述第二比特组包括的比特数量不相同。
- 根据权利要求11所述的方法,其特征在于,所述数据单元包括类型指示,所述类型和所述类型指示用于指示所述目标码块为错误码块;所述2 n组码流块中每组码流块包括的控制块为第一值,所述2 n组码流块中每组码流块包括的数据块为第二值,所述第一值和所述第二值用于指示所述码流块为错误码流块。
- 根据权利要求11-15任一所述的方法,其特征在于,所述获取目标码块,包括:接收第二数据,所述第二数据是基于采用前向纠错FEC码型编码的第一数据获得的;对所述第二数据进行第二解码获取所述目标码块,所述第二解码为纠错处理。
- 根据权利要求16所述的方法,其特征在于,所述目标码块是对所述第二数据进行纠错但未成功纠错所获得的错误码块。
- 根据权利要求11-15任一所述的方法,其特征在于,所述获取目标码块,包括:接收第二数据,所述第二数据是基于采用前向纠错FEC码型编码的第一数据获得的;对所述第二数据进行第二解码获取所述目标码块,所述第二解码为检错但不纠错处理。
- 根据权利要求18所述的方法,其特征在于,所述目标码块是从所述第二数据检出错误但不纠错所获得的错误码块。
- 根据权利要求11-15任一所述的方法,其特征在于,所述2 n组码流块根据错误检测结果以及所述目标码块的类型和数据单元对所述目标码块进行所述第一解码得到,所述错误检测结果基于所述目标码块的类型和数据单元得到。
- 根据权利要求20所述的方法,其特征在于,所述错误检测结果包括所述目标码块的内容顺序错误或内容错误,所述2 n组码流块根据第二码块的类型和数据单元对所述第二码块进行所述第一解码得到,所述第二码块是对所述目标码块进行转换得到的且与所述目标码块比特数相同的码块。
- 根据权利要求20所述的方法,其特征在于,所述错误检测结果包括所述目标码块的内容顺序错误或内容错误,所述2 n组码流块基于对2 n组第一码流块进行转换得到,所述2 n组第一码流块基于所述目标码块的类型和数据单元对所述目标码块进行所述第一解码得到。
- 根据权利要求11-22任一所述的方法,其特征在于,所述控制块包括m比特,所述数据块包括8m比特,所述m为正整数。
- 根据权利要求23所述的方法,其特征在于,所述n的取值为2,所述m的取值为8,所述目标码块为257比特。
- 根据权利要求11-24任一所述的方法,其特征在于,所述2 n组码流块均为介质无关接口MII格式。
- 一种编码装置,其特征在于,所述装置包括:获取模块,用于获取2 n组码流块,任一组码流块包括控制块和数据块,所述n为大于1的整数;第一编码模块,用于对所述2 n组码流块进行第一编码,得到目标码块,所述目标码块包括基于所述2 n组码流块的控制块确定的类型和基于所述2 n组码流块的控制块和数据块确定的数据单元。
- 根据权利要求26所述的装置,其特征在于,所述类型用于指示所述目标码块为数据码块;所述数据单元基于所述2 n组码流块的顺序对所述2 n组码流块的数据块进行所述第一编码得到。
- 根据权利要求26所述的装置,其特征在于,所述类型用于指示所述目标码块为控制码块;所述数据单元包括类型指示和码块内容,所述码块内容基于所述2 n组码流块的控制块和数据块确定的顺序对所述2 n组码流块的数据块进行所述第一编码得到,所述类型指示基于所述2 n组码流块的控制块得到,所述类型指示用于指示各组码流块的类型。
- 根据权利要求28所述的装置,其特征在于,所述目标码块为错误码块,所述错误码块中包括用于标识错误的数据。
- 根据权利要求26-29任一所述的装置,其特征在于,所述目标码块基于错误检测结果对所述2 n组码流块进行处理得到,所述错误检测结果基于所述2 n组码流块的控制块和数据块得到。
- 根据权利要求30所述的装置,其特征在于,所述错误检测结果包括所述2 n组码流块的内容顺序错误或内容错误,所述目标码块基于所述2 n组码流块中内容顺序正确且内容正确的码流块以及错误块进行所述第一编码得到,所述错误块基于所述2 n组码流块中内容顺序错误或内容错误的码流块得到。
- 根据权利要求26-31任一所述的装置,其特征在于,所述控制块包括m比特,所述数据块包括8m比特,所述m为正整数。
- 根据权利要求31所述的装置,其特征在于,所述n的取值为2,所述m的取值为8,所述目标码块为257比特。
- 根据权利要求26-33任一所述的装置,其特征在于,所述2 n组码流块均来自介质无关接口MII。
- 根据权利要求26-34任一所述的装置,其特征在于,所述装置还包括:第二编码模块,用于按照前向纠错FEC码型对所述目标码块进行第二编码,得到第一数据;发送模块,用于发送所述第一数据。
- 一种解码装置,其特征在于,所述装置包括:获取模块,用于获取目标码块,所述目标码块包括类型和数据单元;解码模块,用于根据所述目标码块的类型和数据单元,对所述目标码块进行第一解码,得到2 n组码流块,任一组码流块包括基于所述类型和所述数据单元得到的控制块和数据块,所述n为大于1的整数。
- 根据权利要求36所述的装置,其特征在于,所述类型用于指示所述目标码块为数据码 块;所述2 n组码流块中的第i组码流块包括的数据块是基于对所述数据单元中与所述第i组码流块对应的8m长度的内容进行所述第一解码得到的,所述m为正整数,所述i为大于等于1且小于等于2 n的整数或者所述i为大于等于0且小于等于2 n-1的整数。
- 根据权利要求36所述的装置,其特征在于,所述类型用于指示所述目标码块为控制码块,所述数据单元包括类型指示和码块内容,所述类型指示包括2 n个比特,所述2 n个比特中的1个比特用于指示所述2 n组码流块中与所述比特对应的一组码流块的类型,所述码块内容包括2 n个比特组;所述2 n组码流块中的第i组码流块包括的控制块是基于所述类型、所述类型指示中与所述第i组码流块对应的比特和所述码块内容中与所述第i组码流块对应的比特组得到的,所述i为大于等于1且小于等于2 n的整数或者所述i为大于等于0且小于等于2 n-1的整数;所述2 n组码流块中的第i组码流块包括的数据块是基于所述类型指示中与所述第i组码流块对应的比特对所述码块内容中与所述第i组码流块对应的比特组进行所述第一解码得到的。
- 根据权利要求38所述的装置,其特征在于,所述2 n个比特组包括第一比特组和2 n-1个第二比特组,所述第一比特组包括的比特数量和所述第二比特组包括的比特数量不相同。
- 根据权利要求36所述的装置,其特征在于,所述数据单元包括类型指示,所述类型和所述类型指示用于指示所述目标码块为错误码块;所述2 n组码流块中每组码流块包括的控制块为第一值,所述2 n组码流块中每组码流块包括的数据块为第二值,所述第一值和所述第二值用于指示所述码流块为错误码流块。
- 根据权利要求36-40任一所述的装置,其特征在于,所述获取模块,用于接收第二数据,所述第二数据是基于采用前向纠错FEC码型编码的第一数据获得的;对所述第二数据进行第二解码获取所述目标码块,所述第二解码为纠错处理。
- 根据权利要求41所述的装置,其特征在于,所述目标码块是对所述第二数据进行纠错但未成功纠错所获得的错误码块。
- 根据权利要求36-40任一所述的装置,其特征在于,所述获取模块,用于接收第二数据,所述第二数据是基于采用前向纠错FEC码型编码的第一数据获得的;对所述第二数据进行第二解码获取所述目标码块,所述第二解码为检错但不纠错处理。
- 根据权利要求43所述的装置,其特征在于,所述目标码块是从所述第二数据检出错误但不纠错所获得的错误码块。
- 根据权利要求36-40任一所述的装置,其特征在于,所述2 n组码流块根据错误检测结果以及所述目标码块的类型和数据单元对所述目标码块进行所述第一解码得到,所述错误检测结果基于所述目标码块的类型和数据单元得到。
- 根据权利要求45所述的装置,其特征在于,所述错误检测结果包括所述目标码块的内容顺序错误或内容错误,所述2 n组码流块根据第二码块的类型和数据单元对所述第二码块进行所述第一解码得到,所述第二码块是对所述目标码块进行转换得到的且与所述目标码块比特数相同的码块。
- 根据权利要求45所述的装置,其特征在于,所述错误检测结果包括所述目标码块的内容顺序错误或内容错误,所述2 n组码流块基于对2 n组第一码流块进行转换得到,所述2 n组第一码流块基于所述目标码块的类型和数据单元对所述目标码块进行所述第一解码得到。
- 根据权利要求36-47任一所述的装置,其特征在于,所述控制块包括m比特,所述数据块包括8m比特,所述m为正整数。
- 根据权利要求48所述的装置,其特征在于,所述n的取值为2,所述m的取值为8,所述目标码块为257比特。
- 根据权利要求36-49任一所述的装置,其特征在于,所述2 n组码流块均为介质无关接口MII格式。
- 一种网络设备,其特征在于,所述网络设备包括:处理器,所述处理器与存储器耦合,所述存储器中存储有至少一条程序指令或代码,所述至少一条程序指令或代码由所述处理器加载并执行,以使所述网络设备实现如权利要求1-25中任一所述的方法。
- 一种通信系统,其特征在于,所述系统包括第一网络设备和第二网络设备,所述第一网络设备用于执行如权利要求1-10中任一所述的方法,所述第二网络设备用于执行如权利要求11-25中任一所述的方法。
- 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条程序指令或代码,所述程序指令或代码由处理器加载并执行时以使计算机实现如权利要求1-25中任一所述的方法。
- 一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序代码,当所述计算机程序代码被计算机运行时,使得所述计算机实现如权利要求1-25中任一所述的方法。
- 一种芯片,其特征在于,所述芯片包括处理器,所述处理器用于从存储器中调用并运行所述存储器中存储的指令,使得安装有所述芯片的通信设备执行如权利要求1-25中任一所述的方法。
- 一种芯片,其特征在于,所述芯片包括:输入接口、输出接口、处理器和存储器,所述输入接口、所述输出接口、所述处理器以及所述存储器之间通过内部连接通路相连,所述 处理器用于执行所述存储器中的代码,当所述代码被执行时,所述处理器用于执行如权利要求1-25中任一所述的方法。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP22918446.0A EP4447347A4 (en) | 2022-01-05 | 2022-12-27 | ENCODING METHOD AND APPARATUS, DECODING METHOD AND APPARATUS, DEVICE, SYSTEM AND READABLE STORAGE MEDIUM |
| JP2024540679A JP2024546209A (ja) | 2022-01-05 | 2022-12-27 | 符号化方法、復号化方法、装置、機器、システム、および可読記憶媒体 |
| US18/761,770 US20240356564A1 (en) | 2022-01-05 | 2024-07-02 | Encoding method, decoding method, apparatus, device, system, and readable storage medium |
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202210005434.5 | 2022-01-05 | ||
| CN202210005434 | 2022-01-05 | ||
| CN202210114840.5A CN116455516A (zh) | 2022-01-05 | 2022-01-30 | 编码方法、解码方法、装置、设备、系统及可读存储介质 |
| CN202210114840.5 | 2022-01-30 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US18/761,770 Continuation US20240356564A1 (en) | 2022-01-05 | 2024-07-02 | Encoding method, decoding method, apparatus, device, system, and readable storage medium |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2023131004A1 true WO2023131004A1 (zh) | 2023-07-13 |
Family
ID=87073129
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2022/142363 Ceased WO2023131004A1 (zh) | 2022-01-05 | 2022-12-27 | 编码方法、解码方法、装置、设备、系统及可读存储介质 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US20240356564A1 (zh) |
| EP (1) | EP4447347A4 (zh) |
| JP (1) | JP2024546209A (zh) |
| TW (1) | TWI864508B (zh) |
| WO (1) | WO2023131004A1 (zh) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI864509B (zh) * | 2022-01-05 | 2024-12-01 | 大陸商華為技術有限公司 | 編碼方法、解碼方法、裝置、設備、系統及可讀儲存介質 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108400838A (zh) * | 2017-02-06 | 2018-08-14 | 华为技术有限公司 | 数据处理方法及设备 |
| US20180287752A1 (en) * | 2017-03-29 | 2018-10-04 | Kt Corporation | Method and apparatus for configuring transport block to transmit data |
| CN108809499A (zh) * | 2017-05-05 | 2018-11-13 | 华为技术有限公司 | 通信方法和装置 |
| CN110971531A (zh) * | 2018-09-28 | 2020-04-07 | 华为技术有限公司 | 一种数据传输方法、通信设备及存储介质 |
| CN112468259A (zh) * | 2019-09-09 | 2021-03-09 | 华为技术有限公司 | 一种通信方法、设备及存储介质 |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7382878B2 (en) * | 2001-06-22 | 2008-06-03 | Uponus Technologies, Llc | System and method for data encryption |
| CN101610134B (zh) * | 2009-07-10 | 2013-06-05 | 中兴通讯股份有限公司 | 64b/66b编解码装置及实现64b/66b编解码的方法 |
| KR101862438B1 (ko) * | 2011-07-18 | 2018-05-29 | 톰슨 라이센싱 | 트리 구조들의 적응적 엔트로피 코딩을 위한 방법 |
| US8898550B2 (en) * | 2012-06-26 | 2014-11-25 | International Business Machines Corporation | Encoding of data for transmission |
| CN104426629B (zh) * | 2013-08-30 | 2017-08-04 | 华为技术有限公司 | 一种物理层编解码方法及其装置 |
| CN110719143A (zh) * | 2015-07-30 | 2020-01-21 | 华为技术有限公司 | 用于数据传输的方法、发送机和接收机 |
| CN113454935B (zh) * | 2020-09-18 | 2022-09-23 | 华为技术有限公司 | 一种线路编码方法及装置 |
| TWI864509B (zh) * | 2022-01-05 | 2024-12-01 | 大陸商華為技術有限公司 | 編碼方法、解碼方法、裝置、設備、系統及可讀儲存介質 |
-
2022
- 2022-11-30 TW TW111145792A patent/TWI864508B/zh active
- 2022-12-27 WO PCT/CN2022/142363 patent/WO2023131004A1/zh not_active Ceased
- 2022-12-27 JP JP2024540679A patent/JP2024546209A/ja active Pending
- 2022-12-27 EP EP22918446.0A patent/EP4447347A4/en active Pending
-
2024
- 2024-07-02 US US18/761,770 patent/US20240356564A1/en active Pending
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108400838A (zh) * | 2017-02-06 | 2018-08-14 | 华为技术有限公司 | 数据处理方法及设备 |
| US20180287752A1 (en) * | 2017-03-29 | 2018-10-04 | Kt Corporation | Method and apparatus for configuring transport block to transmit data |
| CN108809499A (zh) * | 2017-05-05 | 2018-11-13 | 华为技术有限公司 | 通信方法和装置 |
| CN110971531A (zh) * | 2018-09-28 | 2020-04-07 | 华为技术有限公司 | 一种数据传输方法、通信设备及存储介质 |
| CN112468259A (zh) * | 2019-09-09 | 2021-03-09 | 华为技术有限公司 | 一种通信方法、设备及存储介质 |
Non-Patent Citations (1)
| Title |
|---|
| See also references of EP4447347A4 |
Also Published As
| Publication number | Publication date |
|---|---|
| EP4447347A1 (en) | 2024-10-16 |
| US20240356564A1 (en) | 2024-10-24 |
| JP2024546209A (ja) | 2024-12-18 |
| TW202333459A (zh) | 2023-08-16 |
| TWI864508B (zh) | 2024-12-01 |
| EP4447347A4 (en) | 2025-04-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9979566B2 (en) | Hybrid forward error correction and replay technique for low latency | |
| EP4376334A1 (en) | Data transmission method and apparatus, and device, system and readable storage medium | |
| CN116455516A (zh) | 编码方法、解码方法、装置、设备、系统及可读存储介质 | |
| WO2022062946A1 (zh) | 一种数据编码方法、数据解码方法及通信装置 | |
| WO2022001166A1 (zh) | 接口、电子设备和通信系统 | |
| EP4440014A1 (en) | Methods, apparatuses, devices and systems for generating and processing ethernet frame, and storage medium | |
| TW201914238A (zh) | 乙太網路的連線方法及其乙太網路裝置 | |
| CN116455517A (zh) | 编码方法、解码方法、装置、设备、系统及可读存储介质 | |
| TWI864508B (zh) | 編碼方法、解碼方法、裝置、設備、系統及可讀儲存介質 | |
| WO2023131003A1 (zh) | 编码方法、解码方法、装置、设备、系统及可读存储介质 | |
| JP7192195B2 (ja) | コードブロックストリームの受信方法、コードブロックストリームの送信方法、および通信装置 | |
| CN110830152A (zh) | 接收码块流的方法、发送码块流的方法和通信装置 | |
| TW202429847A (zh) | 傳輸資料的方法、裝置、設備、系統及儲存介質 | |
| JP7346662B2 (ja) | データ送信方法および転送デバイス | |
| CN118509117B (zh) | 数据传输的方法、装置、设备、系统及可读存储介质 | |
| CN121283574A (zh) | 以太网链路数据传输方法及装置、电子设备和存储介质 | |
| CN117675101A (zh) | 数据传输方法、装置、系统及计算机可读存储介质 | |
| CN118509107A (zh) | 传输以太网物理层信号的方法、装置、计算机系统和网络系统 | |
| WO2024001874A1 (zh) | 模式协商方法、装置、设备、系统及计算机可读存储介质 | |
| CN119583006A (zh) | 编码方法、装置、系统及芯片 | |
| WO2022002272A1 (zh) | 按需译码方法及装置 | |
| KR20000050880A (ko) | 고속 이더넷 수신 데이터 오류 정정 회로 |
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: 22918446 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2024540679 Country of ref document: JP |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2022918446 Country of ref document: EP |
|
| ENP | Entry into the national phase |
Ref document number: 2022918446 Country of ref document: EP Effective date: 20240709 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |