Transmission method of 64B / 66B coding block, electronic equipment and readable storage medium

By dividing the 64B/66B encoding blocks into two sets of encoding types and converting them into 8-bit and 9-bit domains, and adding redundant bits, the problem of low efficiency of existing encoding blocks is solved, and more efficient encoding block transmission is achieved, suitable for high-speed Ethernet and optical transmission networks.

CN120263860APending Publication Date: 2025-07-04ZTE CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410011631.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-01-02
Publication Date
2025-07-04

AI Technical Summary

Technical Problem

The existing 64B/66B encoding blocks cannot be converted into encoding blocks with higher encoding efficiency, resulting in a higher transmission rate and cannot meet the needs of high-speed Ethernet and optical transmission networks.

Method used

By dividing the 64B/66B encoding blocks into two sets of encoding types, converting them into 8-bit and 9-bit encoding type fields, and combining them into new 66-bit encoding blocks, redundant bits are added to achieve higher encoding efficiency, such as the 1024B/1025B encoding block.

Benefits of technology

It realizes encoding block transmission with higher encoding efficiency, reduces transmission rate, improves transmission efficiency, and leaves more rates for forward error correction encoding, suitable for high-speed Ethernet and optical transmission networks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120263860A_ABST
    Figure CN120263860A_ABST
Patent Text Reader

Abstract

The invention discloses a 64B / 66B coding block transmission method, electronic equipment and a readable storage medium. The method comprises the following steps: acquiring a 64B / 66B coding block to be transmitted; converting the 8-bit type domain in the coding block of the first group of coding types into a 8-bit first group of coding type domain, and keeping the 56-bit information domain unchanged; converting an 8-bit type domain in the coding block of the second group of coding types into a 9-bit second group of coding type domain, and converting a 56-bit information domain into a 55-bit information domain; forming 66 bits of a second control 64B / 66B coding block by using a 2-bit synchronization head, a 8-bit first group coding type domain and the 56-bit information domain; forming 66 bits of a third control 64B / 66B coding block by using a 2-bit synchronization head, a 9-bit second group coding type domain and a 55-bit information domain; and transmitting the data 64B / 66B coding block, the second control 64B / 66B coding block and the third control 64B / 66B coding block.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present application relate to the field of communication technologies, and in particular, to a method for transmitting 64B / 66B encoded blocks, an electronic device, and a readable storage medium. Background Art

[0002] A 64B / 66B encoded block is the most common encoding method in the Physical Coding Sublayer (PCS) of Ethernet, which is used to convert a high-speed Media Access Control Frame into a bit block with a fixed rate, and at the same time add some necessary control information. The information to be transmitted by the 64B / 66B encoded block includes data information and control information. The data information mainly corresponds to the data in the Media Access Control Frame, and the control information includes special functions required to transmit the Media Access Control Frame, such as special states used to represent the transmission of the Media Access Control Frame. The special states include sending idle control information, sending a local fault state or a remote fault state, or indicating the frame header and frame tail of the Media Access Control Frame. When the rate of the 64B / 66B encoded block is relatively high, the 64B / 66B encoded block is generally not directly transmitted, but first transcoded into a 256B / 257B encoded block, and then forward error correction (FEC) coding information is added to the 256B / 257B encoded block before finally transmitting; correspondingly, after receiving such information, first perform FEC decoding and error correction through the FEC algorithm to obtain a 256B / 257B encoded block, and then perform transcoding to restore the 64B / 66B encoded block.

[0003] In the existing 64B / 66B encoded blocks, the 64B / 66B encoded blocks starting with 10 in the synchronization header include 4-bit redundant information in the type field, so that at most the 64B / 66B encoded blocks can be converted into 512B / 513B encoded blocks, but cannot be converted into encoded blocks with higher encoding efficiency. Summary of the Invention

[0004] Embodiments of the present application provide a method for transmitting 64B / 66B encoded blocks, an electronic device, and a readable storage medium, which can solve the problem that the current 64B / 66B encoded blocks can at most be converted into 512B / 513B encoded blocks, but cannot be converted into encoded blocks with higher efficiency.

[0005] To solve the above technical problems, the present application is implemented as follows:

[0006] In a first aspect, a method for transmitting a 64B / 66B encoded block is provided. The method includes: obtaining a 64B / 66B encoded block to be transmitted, where the 64B / 66B encoded block includes a 2-bit synchronization header, and the value of the 2-bit synchronization header is used to indicate that the 64B / 66B encoded block is a data 64B / 66B encoded block or a first control 64B / 66B encoded block; the first control 64B / 66B encoded block further includes an 8-bit type field and a 56-bit information field, and the value of the 8-bit type field is used to distinguish 11 different encoding types; dividing the first control 64B / 66B encoded blocks of the 11 different encoding types into encoded blocks of a first group of encoding types and encoded blocks of a second group of encoding types, converting the 8-bit type field in the encoded blocks of the first group of encoding types into an 8-bit first group encoding type field, and keeping the 56-bit information field unchanged; converting the 8-bit type field in the encoded blocks of the second group of encoding types into a 9-bit second group encoding type field, and converting the 56-bit information field into a 55-bit information field; forming 66 bits of a second control 64B / 66B encoded block from the 2-bit synchronization header, the 8-bit first group encoding type field, and the 56-bit information field; forming 66 bits of a third control 64B / 66B encoded block from the 2-bit synchronization header, the 9-bit second group encoding type field, and the 55-bit information field; transmitting the data 64B / 66B encoded block, the second control 64B / 66B encoded block, and the third control 64B / 66B encoded block.

[0007] In a second aspect, an electronic device is provided. The electronic device includes a processor and a memory. The memory stores a program or instruction that can run on the processor. When the program or instruction is executed by the processor, the steps of the method for transmitting a 64B / 66B encoded block as described in the first aspect are implemented.

[0008] In a third aspect, a readable storage medium is provided. The readable storage medium stores a program or instruction. When the program or instruction is executed by a processor, the steps of the method for transmitting a 64B / 66B encoded block as described in the first aspect are implemented.

[0009] The technical solution provided by this application may include the following beneficial effects:

[0010] In an embodiment of the present application, by obtaining a 64B / 66B encoded block to be transmitted, wherein the 64B / 66B encoded block includes a 2-bit synchronization header, and the value of the 2-bit synchronization header is used to indicate that the 64B / 66B encoded block is a data 64B / 66B encoded block or a first control 64B / 66B encoded block; the first control 64B / 66B encoded block further includes an 8-bit type field and a 56-bit information field, and the value of the 8-bit type field is used to distinguish 11 different encoding types; dividing the first control 64B / 66B encoded blocks of the 11 different encoding types into encoded blocks of the first group of encoding types and encoded blocks of the second group of encoding types, converting the 8-bit type field in the encoded blocks of the first group of encoding types into an 8-bit first group of encoding type fields, and keeping the 56-bit information field unchanged; converting the 8-bit type field in the encoded blocks of the second group of encoding types into a 9-bit second group of encoding type fields, and converting the 56-bit information field into a 55-bit information field; forming 66 bits of a second control 64B / 66B encoded block with the 2-bit synchronization header, the 8-bit first group of encoding type fields, and the 56-bit information field; forming 66 bits of a third control 64B / 66B encoded block with the 2-bit synchronization header, the 9-bit second group of encoding type fields, and the 55-bit information field, so that the encoding type fields of the formed second control 64B / 66B encoded block and the third control 64B / 66B encoded block can contain more redundant bits, thereby enabling conversion into encoded blocks with higher encoding efficiency, such as 1024 / 1025B encoded blocks, before transmitting the data 64B / 66B encoded block, the second control 64B / 66B encoded block, and the third control 64B / 66B encoded block, achieving further reduction of the transmission rate and leaving the reduced rate for FEC encoding.

[0011] It should be understood that the above general description and the following detailed description are only exemplary and explanatory, and cannot limit the present application. Brief Description of the Drawings

[0012] The drawings herein are incorporated into the specification and constitute a part of the specification, showing embodiments consistent with the present application, and are used together with the specification to explain the principles of the present application.

[0013] Figure 1 A flowchart showing a method for transmitting a 64B / 66B encoded block provided by an exemplary embodiment of the present application;

[0014] Figure 2 A schematic structural diagram of an electronic device provided by an exemplary embodiment of the present application. Detailed Description of the Embodiments

[0015] Exemplary embodiments will be described in detail herein, and examples thereof are shown in the accompanying drawings. When the following description refers to the accompanying drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present application. On the contrary, they are merely examples of devices and methods consistent with some aspects of the present application as detailed in the appended claims.

[0016] Table 1 shows the encoding information of a 64B / 66B encoded block. Referring to Table 1, the 64B / 66B encoded block is a bit block with a length of 66 bits. The first 2 bits in the 66-bit block are named synchronization bits, and the last 64 bits are named block payload. In the present application, each bit in the 64B / 66B encoded block is represented by a bit position. Bit position 1 represents the first bit in the 64B / 66B encoded block, bit position 2 represents the second bit in the 64B / 66B encoded block, bit position 3 represents the third bit in the 64B / 66B encoded block, and so on. Bit position 66 represents the 66th bit in the 64B / 66B encoded block.

[0017] Table 1.

[0018]

[0019] Figure 1 shows a schematic flowchart of a method for transmitting a 64B / 66B encoded block provided by an exemplary embodiment of the present application. Referring to Figure 1 , the method may include the following steps.

[0020] Step 102, obtain a 64B / 66B encoded block to be transmitted. Wherein, the 64B / 66B encoded block includes 2-bit synchronization headers, and the values of the 2-bit synchronization headers are used to indicate whether the 64B / 66B encoded block is a data 64B / 66B encoded block or a first control 64B / 66B encoded block; the first control 64B / 66B encoded block further includes an 8-bit type field and a 56-bit information field, and the values of the 8-bit type field are used to distinguish 11 different encoding types.

[0021] Among them, the 64B / 66B encoded block to be transmitted in the embodiments of the present application is used for the Physical Coding Sublayer (PCS) of Ethernet with a rate greater than or equal to 40G. The values of the 2-bit synchronization header of the 64B / 66B encoded block can include 01 and 10. If the synchronization header is 01, the 64B / 66B encoded block is a data 64B / 66B encoded block. If the synchronization header is 10, the 64B / 66B encoded block is a first control 64B / 66B encoded block. The first control 64B / 66B encoded block includes data information, control information, and a type field. The content of the data information and the control message can be determined by the type field.

[0022] Optionally, the control information can be multiple control characters, and 1 control character includes 7-bit information. The control information can also be an Ordered Sets control block, and the Ordered Sets control block includes 28-bit information. Among them, the control character is used to represent relatively simple control information, and the Ordered Sets control block is used to represent relatively complex control information.

[0023] Step 104: Divide the first control 64B / 66B encoded blocks of the 11 different encoding types into the encoded blocks of the first group of encoding types and the encoded blocks of the second group of encoding types. Convert the 8-bit type field in the encoded blocks of the first group of encoding types into an 8-bit first group of encoding type fields, and keep the 56-bit information field unchanged; convert the 8-bit type field in the encoded blocks of the second group of encoding types into a 9-bit second group of encoding type fields, and convert the 56-bit information field into a 55-bit information field.

[0024] Among them, the control information and data information possessed by the first control 64B / 66B encoded block are determined by the encoding type of the first control 64B / 66B encoded block. The encoding type of the first control 64B / 66B encoded block can be identified by the identifier represented by some bits in the 8-bit first group of encoding type fields or the 9-bit second group of encoding type fields.

[0025] Step 106: Combine the 2-bit synchronization header, the 8-bit first group of encoding type fields, and the 56-bit information field to form 66 bits of a second control 64B / 66B encoded block; combine the 2-bit synchronization header, the 9-bit second group of encoding type fields, and the 55-bit information field to form 66 bits of a third control 64B / 66B encoded block.

[0026] Among them, 66 bits of a second control 64B / 66B coding block or a third control 64B / 66B coding block are formed according to the synchronization header, the first group of coding type fields or the second group of coding type fields, the 56-bit information field or the 55-bit information field, so that the coding type fields in the reconstituted second control 64B / 66B coding block and third control 64B / 66B coding block can contain more bits of redundant bits, thereby enabling the reconstituted second control 64B / 66B coding block and third control 64B / 66B coding block to be converted into coding blocks with higher coding efficiency, such as 1024B / 1025B coding blocks.

[0027] Step 108, transmit the data 64B / 66B coding block, the second control 64B / 66B coding block, and the third control 64B / 66B coding block.

[0028] In the embodiment of the present application, for the obtained 64B / 66B encoded block to be transmitted, it is determined whether the current 64B / 66B encoded block is a data 64B / 66B encoded block or a control 64B / 66B encoded block according to the value of the 2-bit synchronization header. For example, 01 indicates that the 64B / 66B encoded block is a data 64B / 66B encoded block, and 10 indicates that the 64B / 66B encoded block is a first control 64B / 66B encoded block. For the data 64B / 66B encoded block, the data 64B / 66B encoded block includes 8 digital characters, and 1 digital character includes 8-bit information, and the data 64B / 66B encoded block remains unchanged. For the first control 64B / 66B encoded block, the first control 64B / 66B encoded block includes an 8-bit type field and a 56-bit information field. The value of the 8-bit type field can be used to distinguish 11 different encoding types. Furthermore, the first control 64B / 66B encoded blocks of 11 different encoding types can be divided into the encoded blocks of the first group of encoding types and the encoded blocks of the second group of encoding types. The 8-bit type field in the encoded blocks of the first group of encoding types is converted into an 8-bit first group of encoding type fields, and the 56-bit information field remains unchanged. The 8-bit type field in the encoded blocks of the second group of encoding types is converted into a 9-bit second group of encoding type fields, and the 56-bit information field is converted into a 55-bit information field, so that the second control 64B / 66B encoded block composed of the 2-bit synchronization header, the 8-bit first group of encoding type fields, and the 56-bit information field, and the third control 64B / 66B encoded block composed of the 2-bit synchronization header, the 9-bit second group of encoding type fields, and the 55-bit information field have more redundant bits in the encoding type fields. These redundant bits can be deleted when the second control 64B / 66B encoded block and the third control 64B / 66B encoded block need to be converted into encoded blocks with higher encoding efficiency to release bit space. Thus, the data 64B / 66B encoded block, the second control 64B / 66B encoded block, and the third control 64B / 66B encoded block can be converted into encoded blocks with higher encoding efficiency, such as 1024B / 1025B encoded blocks, so as to improve the transmission efficiency and leave more rate for the FEC encoded information.

[0029] In one implementation, in the 64B / 66B encoded block to be transmitted, the value of the 2-bit synchronization header being 01 indicates that the 64B / 66B encoded block is the data 64B / 66B encoded block; the value of the 2-bit synchronization header being 10 indicates that the 64B / 66B encoded block is the first control 64B / 66B encoded block; the 56-bit information field includes data characters, control characters, fixed information, and information field redundant bits.

[0030] In an embodiment of the present application, the first control 64B / 66B encoding block includes 66 bits of information. The first 2 bits thereof are the synchronization header. When the synchronization header is 01, it indicates that the 64B / 66B encoding block is the data 64B / 66B encoding block; when the synchronization header is 10, it indicates that the 64B / 66B encoding block is the first control 64B / 66B encoding block. Among the subsequent 64 bits, there is an 8-bit type field for distinguishing 11 different encoding types. The 11 different encoding types can be divided into encoding blocks of the first group of encoding types and encoding blocks of the second group of encoding types. The other 56-bit information field may include data characters, control characters, fixed information, and information field redundancy bits.

[0031] In one implementation, in the first control 64B / 66B encoding block, the 56-bit information field includes the data characters, the control characters, the fixed information, and the information field redundancy bits. Among them, the data character has a length of 8 bits and is represented by Dn, where n ranges from the number 1 to the number 8, and n represents the order in which the data character appears in the 56-bit information field; there are two types of control characters. One type of control character has a length of 7 bits and is represented by Cm, where m ranges from the number 1 to the number 8, and m represents the order in which the control character appears in the 56-bit information field. The other type of control character has a length of 28 bits and includes a 4-bit Q0 and three data characters D1, D2, and D3; the fixed information includes 28 bits of 0; the information field redundancy bits are the bits in the 56-bit information field other than the data characters, the control characters, and the fixed information.

[0032] In an embodiment of the present application, Table 2 shows a 64B / 66B encoding block provided in the embodiment of the present application. Referring to Table 2, for the block payload of the data 64B / 66B encoding block with a synchronization header of 01, it includes 8 data characters, and 1 data character includes 8 bits of information. For the first control 64B / 66B encoding block with a synchronization header of 10, it includes 11 different encoding types. These 11 different encoding types can be divided into 2 groups, namely the first group of encoding types and the second group of encoding types. The first group of encoding types includes 4 different encoding types, and the second group of encoding types includes 7 different encoding types. In the encoding blocks of the first group of encoding types, 4 different encoding types are distinguished by an 8-bit first group encoding type field. In the encoding blocks of the second group of encoding types, 7 different encoding types are distinguished by a 9-bit second group encoding type field. At the same time, the 4 different encoding types of the first group of encoding types are named the second control 64B / 66B encoding block, and the 7 different encoding types of the second group of encoding types are named the third control 64B / 66B encoding block.

[0033] Table 2.

[0034]

[0035] Among them, the encoding information of the 64B / 66B encoding block is shown in Table 2, including the 64B / 66B data encoding block with a synchronization header of 01. The block payload of the 64B / 66B data encoding block includes 8 digital characters, and 1 digital character includes 8-bit information, specifically "D0D1D2D3D4D5D6D7". Table 2 also includes a second control 64B / 66B encoding block with a synchronization header of 10, including 4 different encoding types. The block payload of the second control 64B / 66B encoding block is composed of an 8-bit first group encoding type field and a 56-bit information field. The first bit of the 8-bit first group encoding type field is 0, and the last 2 bits of the first 3 bits have different values, which can identify 4 different encoding types. The last 5 bits are used as redundant bits and can be deleted when it is necessary to convert to a higher efficiency encoding block. The values of the 8-bit first group encoding type field are "0x1E", "0x78", "0x4B", and "0x2d" respectively. The first 3 bits are "000b", "011b", "010b", and "001b" respectively. The corresponding information fields are "C0C1C2C3C4C5C6C7", "S0D1D2D3D4D5D6D7", "Q0D1D2D3Z4Z5Z6Z7", and "D0D1D2D3D4D5D6T7" respectively. Among the 4 different encoding types in the first group of encoding types, there are no information field redundant bits in the 56-bit information field.

[0036] Table 2 also includes a third control 64B / 66B coding block. The sync header is 10, and it includes 7 different coding types. The block payload of this third control 64B / 66B coding block consists of a 9-bit second group coding type field and a 55-bit information field. The first bit of the 9-bit second group coding type field is 1, and the last 3 bits of the first 4 bits have different values, which can be used to identify 7 different coding types. The last 5 bits are redundant bits and can be deleted when it is necessary to convert to a more efficient coding block. The values of the 9-bit second group coding type field are respectively "0x187", "0x133", "0x1AA", "0x155", "0x1CC", "0x166", and "0x1FF". The first 4 bits are respectively "1100b", "1001b", "1101b", "1010b", "1110b", "1011b", and "1111b". The corresponding information fields are respectively "T0C1C2C3C4C5C6C7", "D0T1C2C3C4C5C6C7", "D0D1T2C3C4C5C6C7", "D0D1D2T3C4C5C6C7", "D0D1D2D3T4C5C6C7", "D0D1D2D3D4T5C6C7", and "D0D1D2D3D4D5T6C7", where D represents a data character, C represents a control character with a length of 7 bits, Z represents 7 bits of 0, S represents the start of a coding block, T represents the end of a coding block, and Q0D1D2D3 together represent a control character - ordered set control block with a length of 28 bits.

[0037] Optionally, for a 66-bit coding block, its first and second bits are defined as the sync header. On the premise that it is determined to be a second control 64B / 66B coding block or a third control 64B / 66B coding block by the sync header of 10, it can be further determined whether it is a second control 64B / 66B coding block or a third control 64B / 66B coding block according to whether the third bit in the 66 bits is 0 or 1. If the third bit in the 66 bits is 0, then this 66-bit coding block is a second control 64B / 66B coding block. At this time, the length of the coding type field is 8 bits, corresponding to the 3rd to 10th bits in the 66 bits. The first 3 bits in the 8-bit coding type field are valid bits, which can be used to identify 4 different coding types. The last 5 bits are redundant bits in the type field and can be deleted when it is necessary to convert to a more efficient coding block. If the third bit in the 66 bits is 1, then this 66-bit coding block is a third control 64B / 66B coding block. At this time, the length of the coding type field is 9 bits, corresponding to the 3rd to 11th bits in the 66 bits. The first 4 bits in the 9-bit coding type field are valid bits, which can be used to identify 7 different coding types. The last 5 bits are redundant bits in the type field and can be deleted when it is necessary to convert to a more efficient coding block.

[0038] In one implementation, all coding blocks of all coding types in the coding blocks of the first group of coding types do not have information field redundant bits in the 56-bit information field; all coding blocks of all coding types in the coding blocks of the second group of coding types have information field redundant bits in the 56-bit information field.

[0039] In the embodiments of the present application, the 56-bit information field in the coding blocks of the first group of coding types does not include information field redundant bits, which includes data characters, control characters, and fixed information. When forming the second control 64B / 66B coding block, the 8-bit type field is converted into an 8-bit first group of coding type fields, and the 56-bit information field remains unchanged. The 8-bit type field is used to identify 11 different coding types and actually includes 4-bit type field redundant bits. The obtained 8-bit first group of coding type fields after conversion is used to identify 4 different coding types and actually includes 5-bit type field redundant bits. The 56-bit information field in the coding blocks of the second group of coding types includes data characters, control characters, fixed information, and information field redundant bits. For the information field redundant bits, when forming the third control 64B / 66B coding block, the information field redundant bits of preset bits are deleted and type field redundant bits are added to convert the original 8-bit type field and 56-bit information field into a 9-bit second group of coding type fields and a 55-bit information field, so that both the 8-bit first group of coding type fields and the 9-bit second group of coding type fields in the second control 64B / 66B coding block and the third control 64B / 66B coding block include 5-bit type field redundant bits. Compared with the 8-bit type field in the first control 64B / 66B coding block, which includes 4-bit type field redundant bits, the coding type fields in the second control 64B / 66B coding block and the third control 64B / 66B coding block have 1 more bit of type field redundant bits.

[0040] In one implementation, the 8-bit first group of coding type fields includes a 3-bit control type identifier and 5-bit type field redundant bits. Among them, the 3-bit control type identifier is used to identify a different coding blocks in the coding blocks of the first group of coding types, and a is a positive integer less than 7; the 9-bit second group of coding type fields includes a 4-bit control type identifier and the 5-bit type field redundant bits. Among them, the 4-bit control type identifier is used to identify b different coding blocks in the coding blocks of the second group of coding types, and b = 11 - a.

[0041] In an embodiment of the present application, the 8-bit first group coding type field in the coded block of the first group of coding types after conversion specifically includes a 3-bit control type identifier and 5-bit type field redundant bits. The 9-bit second group coding type field in the coded block of the second group of coding types after conversion specifically includes a 4-bit control type identifier and 5-bit type field redundant bits. There are 11 types of coding types in total. If the first group of coding types includes a, then the second group of coding types includes (11 - a). Both the first group of coding types and the second group of coding types identify different coding types through the control type identifier.

[0042] In one implementation, the value of the 3-bit control type identifier is one of the 3-bit numerical values in the first value group. The first value group includes the a different 3-bit numerical values, and the a different 3-bit numerical values are obtained by selecting from c different 3-bit numerical values. wherein the represents performing a rounding operation on the The value of the 4-bit control type identifier is one of the 4-bit numerical values in the second value group. The second value group includes the b different 4-bit numerical values. From the c different 3-bit numerical values, after removing the a different 3-bit numerical values corresponding to the first value group, (c - a) different 3-bit numerical values are obtained. Adding 1 bit to the (c - a) different 3-bit numerical values gives 2*(c - a) different 4-bit numerical values. Selecting the b different 4-bit numerical values from the 2*(c - a) different 4-bit numerical values as the second value group.

[0043] In an embodiment of the present application, different coding types are identified by different values of the bits in the control type identifier. From the c different 3-bit numerical values, a of the different 3-bit numerical values are selected as the first value group of the 3-bit control type identifier, which is used to identify the a different coded blocks of the coded blocks of the first group of coding types. From the c different 3-bit numerical values, after removing the a different 3-bit numerical values corresponding to the first value group, (c - a) different 3-bit numerical values are obtained. Adding 1 bit to the (c - a) different 3-bit numerical values gives 2*(c - a) different 4-bit numerical values. Selecting the b different 4-bit numerical values from the 2*(c - a) different 4-bit numerical values as the second value group, which is used to identify the b different coded blocks of the coded blocks of the second group of coding types.

[0044] In one implementation, step 104 above for converting the 8-bit type field in the coded block of the first group of coding types into an 8-bit first group coding type field may include:

[0045] Step 1041: Determine the specific type of the coding type according to the value of the 8-bit type field.

[0046] Among them, the 8-bit type field has 11 different values, corresponding to 11 different coding types. The 11 different values of the 8-bit type field can be seen in the type field - 8 bits in Table 1, and the coding formats of the 11 different coding types can be seen in the first control 64B / 66B coding block format in Table 1.

[0047] Step 1042: Determine the value of the 3-bit control type identifier according to the determined specific type of the coding type.

[0048] Step 1043: Obtain the 8-bit first group coding type field according to the value of the 3-bit control type identifier and the 5-bit type field redundant bits.

[0049] Among them, the value of the 5-bit type field redundant bits can be all 0, or a specific value, so that a specific 8 bits among the a values of the 8-bit first group coding type field and the b values of the 9-bit second group coding type field have a Hamming distance greater than or equal to n, where n is an integer greater than or equal to 2.

[0050] In the embodiment of the present application, the first control 64B / 66B coding block includes 11 different coding types, and the coding types can be distinguished by coding formats. The specific coding formats of the 11 coding types can be seen in the first control 64B / 66B coding block format in Table 1. The first group coding types include a of the 11 different coding types, and there are no information field redundant bits in the 56-bit information field of the a coding types. For the first control 64B / 66B coding block, the specific coding type corresponding to the value can be determined according to the value of its 8-bit type field. If the determined coding type belongs to one of the a coding types in the first group coding types, then this first control 64B / 66B coding block belongs to the coding block of the first group coding types, and then the value of the 3-bit control type identifier in the 8-bit first group coding type field can be determined according to the determined coding type. Adding the 5-bit type field redundant bits together to get 8 bits, and using this 8 bits as the value of the 8-bit first group coding type field, so that the second control 64B / 66B coding block can be obtained from the 8-bit first group coding type field and the 56-bit information field.

[0051] In one implementation, the above step 104 converts the 8-bit type field in the coding block of the second group coding types into a 9-bit second group coding type field, and converts the 56-bit information field into a 55-bit information field, which may include:

[0052] Step 1044, determine the specific type of the encoding type according to the value of the 8-bit type field;

[0053] Among them, the 8-bit type field has 11 different values, corresponding to 11 different encoding types. The 11 different values of the 8-bit type field can be seen in the type field - 8 bits in Table 1, and the encoding formats of the 11 different encoding types can be seen in the first control 64B / 66B encoding block format in Table 1.

[0054] Step 1045, determine the value of the 4-bit control type identifier according to the specific type of the determined encoding type;

[0055] Step 1046, obtain the 9-bit second group encoding type field according to the value of the 4-bit control type identifier and the 5-bit type field redundant bit;

[0056] Among them, the value of the 5-bit type field redundant bit can be all 0, or a specific value, so that a specific 8 bits among the a values of the 8-bit first group encoding type field and the b values of the 9-bit second group encoding type field have a Hamming distance greater than or equal to n, where n is an integer greater than or equal to 2.

[0057] Step 1047, delete 1 bit of the information field redundant bit in the 56-bit information field to obtain the 55-bit information field;

[0058] Among them, the specific position of the 1-bit information field redundant bit to be deleted can use multiple rules. The rule can be the first-occurring information field redundant bit, or the rule can be to determine the specific position of the 1-bit information field redundant bit to be deleted according to different encoding types.

[0059] In an embodiment of the present application, the first control 64B / 66B encoding block includes 11 different encoding types, and the encoding types can be distinguished by the encoding format. The specific encoding formats of the 11 encoding types can be seen in the first control 64B / 66B encoding block format in Table 1. The second group of encoding types includes b of the 11 different encoding types, and there is at least 1 information field redundant bit in the 56-bit information field of the b encoding types. For the first control 64B / 66B encoding block, the specific encoding type corresponding to the value can be determined according to the value of its 8-bit type field. If the determined encoding type belongs to one of the b encoding types in the second group of encoding types, then this first control 64B / 66B encoding block belongs to the encoding block of the second group of encoding types. Then, the value of the 4-bit control type identifier in the 9-bit second group of encoding types field can be determined according to the determined encoding type. Adding the 5-bit type field redundant bit, a total of 9 bits are obtained. Taking these 9 bits as the value of the bit second group of encoding types field, deleting 1 bit of the information field redundant bit in the 56-bit information field to obtain a 55-bit information field. Thus, the third control 64B / 66B encoding block can be obtained from the 9-bit second group of encoding types field and the 55-bit information field.

[0060] In one implementation, the above step 108 of transmitting the data 64B / 66B encoding block, the second control 64B / 66B encoding block, and the third control 64B / 66B encoding block may include the following steps:

[0061] Step 1, deleting the 5-bit type field redundant bit in the second control 64B / 66B encoding block and the third control 64B / 66B encoding block.

[0062] Among them, the 5-bit type field redundant bit in the second control 64B / 66B encoding block and the third control 64B / 66B encoding block is used to be deleted when it is necessary to convert the 64B / 66B encoding block into an encoding block with higher encoding efficiency to release bit space.

[0063] Step 2, converting 16 consecutive data 64B / 66B encoding blocks, the second control 64B / 66B encoding block, and the third control 64B / 66B encoding blocks into 1 1024B / 1025B encoding block.

[0064] Step 3, transmitting the 1024B / 1025B encoding block.

[0065] An embodiment of the above step 2 is as follows: in a 1024B / 1025B coding block, the first bit is 0, indicating that the next 1024 bits correspond to 16 data 64B / 66B coding blocks, and the first bit is 1, indicating that the 16 64B / 66B coding blocks corresponding to the next 1024 bits include at least one second control 64B / 66B coding block or a third control 64B / 66B coding block, wherein the first bit is 1 and the second bit is 0, indicating that 16 64B / 66B coding blocks corresponding to the next 1024 bits include at least one second control 64B / 66B coding block or a third control 64B / 66B coding block. There is only one second control 64B / 66B coding block or third control 64B / 66B coding block in the 6B coding block, and its position is determined by the values ​​of the 3rd to 6th bits; the 1st bit is 1, the 2nd bit is 1, and the 3rd bit is 0, which means that there are 2 second control 64B / 66B coding blocks or third control 64B / 66B coding blocks in the 16 64B / 66B coding blocks, and the values ​​of the 4th to 7th bits indicate the first second control 64B / 66B. The position of the coding block or the third control 64B / 66B coding block, the values ​​of the 8th to 11th bits indicate the position of a second control 64B / 66B coding block or a third control 64B / 66B coding block at the rear; the 1st bit is 1, the 2nd bit is 1, the 3rd bit is 1, and the 4th bit is 0, indicating that there are 3 second control 64B / 66B coding blocks or third control 64B / 66B coding blocks among the 16 64B / 66B coding blocks, wherein the values ​​of the 5th to 8th bits indicate the position of a second control 64B / 66B coding block or a third control 64B / 66B coding block at the front, the values ​​of the 9th to 12th bits indicate the position of a second control 64B / 66B coding block or a third control 64B / 66B coding block at the second front, and the values ​​of the 13th to 16th bits indicate the position of a second control 64B / 66B coding block or a third control 64B / 66B coding block at the third front;The first bit being 1, the second bit being 1, the third bit being 1, and the fourth bit being 1 indicate that among 16 64B / 66B encoding blocks, there are at least 4 second control 64B / 66B encoding blocks or third control 64B / 66B encoding blocks. Among the 16 bits from the fifth bit to the twentieth bit, the fifth bit represents the type of the first 64B / 66B encoding block among the 16 64B / 66B encoding blocks. A value of 0 indicates that the first 64B / 66B encoding block is a data 64B / 66B encoding block, and a value of 1 indicates that the first 64B / 66B encoding block is a second control 64B / 66B encoding block or a third control 64B / 66B encoding block. The sixth bit represents the type of the second 64B / 66B encoding block among the 16 64B / 66B encoding blocks. A value of 0 indicates that the second 64B / 66B encoding block is a data 64B / 66B encoding block, and a value of 1 indicates that the second 64B / 66B encoding block is a second control 64B / 66B encoding block or a third control 64B / 66B encoding block, and so on until the twentieth bit represents the type of the sixteenth 64B / 66B encoding block among the 16 64B / 66B encoding blocks. A value of 0 indicates that the sixteenth 64B / 66B encoding block is a data 64B / 66B encoding block, and a value of 1 indicates that the sixteenth 64B / 66B encoding block is a second control 64B / 66B encoding block or a third control 64B / 66B encoding block. The twenty - first bit is fixed at 0. Through the above bit definitions, 1025 bits can be used to represent 16 consecutive 64B / 66B encoding blocks, and each 64B / 66B encoding block can be a data 64B / 66B encoding block, or a second control 64B / 66B encoding block, or a third control 64B / 66B encoding block.;

[0066] In one implementation, the above - mentioned transmission method of 64B / 66B encoding blocks can be applied to the sending end of an electronic device. And at the receiving end of the electronic device, the following steps can be executed:

[0067] Step 1, receive a 1024B / 1025B encoding block.

[0068] Among them, for the sending end, it can transmit a 1024B / 1025B encoding block converted from data 64B / 66B encoding blocks, second control 64B / 66B encoding blocks, and third control 64B / 66B encoding blocks; while for the receiving end, it can receive a 1024B / 1025B encoding block transmitted by other sending ends.

[0069] Step 2, convert one 1024B / 1025B encoding block into 16 data 64B / 66B encoding blocks, the second control 64B / 66B encoding block, and the third control 64B / 66B encoding block.

[0070] Step 3: Convert the second control 64B / 66B encoding block and the third control 64B / 66B encoding block into a first control 64B / 66B encoding block.

[0071] In an embodiment of the present application, the receiving end receives a 1024B / 1025B encoding block converted from a data 64B / 66B encoding block, a second control 64B / 66B encoding block, and a third control 64B / 66B encoding block, then converts the 1024B / 1025B encoding block into 16 data 64B / 66B encoding blocks, a second control 64B / 66B encoding block, and a third control 64B / 66B encoding block, and further converts the obtained second control 64B / 66B encoding block and third control 64B / 66B encoding block into the initial first control 64B / 66B encoding block to be transmitted, thereby realizing the conversion of 64B / 66B encoding blocks into encoding blocks with higher encoding efficiency for transmission.

[0072] It should be noted that 64B / 66B encoding blocks are used in existing 10GE and 40GE Ethernet physical layer signals. In Ethernet physical layer signals with a rate above 100GE, the media access control frame is converted into a 64B / 66B encoding block, and then the 64B / 66B encoding block is converted into a 256B / 257B encoding block. FEC encoding information is added to the 256B / 257B encoding block to form an FEC encoding block, and finally the FEC encoding block is transmitted at the physical layer. As the rate of Ethernet physical layer signals further increases, for example, in Ethernet with a rate above 1.6Tbps, it is very likely that encoding blocks with higher efficiency than 256B / 257B encoding blocks, such as 512B / 513B encoding blocks or 1024B / 1025B encoding blocks, are required. Through the method of the embodiment of the present application, the 64B / 66B encoding block can be converted into a 1024B / 1025B encoding block in a relatively simple manner, promoting the future replacement of 256B / 257B encoding blocks with 1024B / 1025B encoding blocks, thereby further reducing the rate of Ethernet physical layer signals.

[0073] In addition, the present application can also be used in an Optical Transport Network (OTN) or a Slicing Packet Network (SPN) to reduce the rate of 64B / 66B encoded signals when transmitting 64B / 66B encoding blocks. For example, in G.709, Fibre Channel-1200 (FC-1200) signals and 40GE signals also need to first convert 64B / 66B encoded signals into 512B / 513B encoded signals. Then, through the method of the present application, the 64B / 66B encoding block can be converted into a 1024B / 1025B encoding block, thereby further reducing the rate of the converted encoding block.

[0074] The embodiments of the present application also provide an electronic device. Figure 2 The following shows a schematic structural diagram of an electronic device provided by an exemplary embodiment of the present application. Refer to Figure 2 This electronic device is used to execute the above-mentioned method for transmitting 64B / 66B coding blocks. Figure 2 The following is a schematic structural diagram of an electronic device for implementing various embodiments of the present application. The electronic device may vary significantly due to different configurations or performances, and may include a processor 201, a communications interface 202, a memory 203, and a communication bus 204. Among them, the processor 201, the communications interface 202, and the memory 203 communicate with each other through the communication bus 204. The processor 201 can call a computer program stored in the memory 203 and executable on the processor 201 to execute the various steps of the above-mentioned embodiment of the method for transmitting 64B / 66B coding blocks, and can achieve the same technical effects. To avoid repetition, details are not described herein again.

[0075] It should be noted that the electronic devices in the embodiments of the present application include: servers, terminals, or other devices other than terminals.

[0076] The above structure of the electronic device does not limit the electronic device. The electronic device may include more or fewer components than shown in the figure, or combine certain components, or have different component arrangements. For example, the input unit may include a graphics processing unit (GPU) and a microphone, and the display unit may be configured with a display panel in the form of a liquid crystal display, an organic light-emitting diode, etc. The user input unit includes at least one of a touch panel and other input devices. The touch panel is also called a touch screen. Other input devices may include, but are not limited to, a physical keyboard, function keys (such as volume control keys, switch keys, etc.), a trackball, a mouse, and a joystick, which are not described herein again.

[0077] The memory can be used to store software programs and various data. The memory mainly includes a first storage area for storing programs or instructions and a second storage area for storing data. Among them, the first storage area can store an operating system, application programs or instructions required for at least one function (such as a sound playback function, an image playback function, etc.). In addition, the memory can include volatile memory or non-volatile memory, or the memory can include both volatile and non-volatile memory. Among them, the non-volatile memory can be a Read-Only Memory (ROM), a Programmable ROM (PROM), an Erasable PROM (EPROM), an Electrically Erasable PROM (EEPROM), or a flash memory. The volatile memory can be a Random Access Memory (RAM), a Static RAM (SRAM), a Dynamic RAM (DRAM), a Synchronous DRAM (SDRAM), a Double Data Rate SDRAM (DDR SDRAM), an Enhanced SDRAM (ESDRAM), a Synchlink DRAM (SLDRAM), and a Direct Rambus RAM (DRRAM).

[0078] The processor can include one or more processing units; optionally, the processor integrates an application processor and a modem processor. Among them, the application processor mainly processes operations related to the operating system, user interface, and application programs, etc., and the modem processor mainly processes wireless communication signals, such as a baseband processor. It can be understood that the above modem processor may not be integrated into the processor either.

[0079] The embodiment of the present application also provides a readable storage medium, in which at least one computer program is stored, and the computer program is loaded and executed by the processor to implement all or part of the steps in the above method for transmitting 64B / 66B coding blocks. For example, the readable storage medium can be a Read-Only Memory (ROM), a Random Access Memory (RAM), a Compact Disc Read-Only Memory (CD-ROM), a magnetic tape, a floppy disk, and an optical data storage device, etc.

[0080] It should be noted that, in this document, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, such that a process, method, article or device comprising a series of elements not only includes those elements but also includes other elements not expressly listed, or further includes elements inherent to such process, method, article or device. Without further limitation, an element defined by the statement "comprising one..." does not exclude the existence of additional identical elements in the process, method, article or device comprising such element. In addition, it should be pointed out that the scope of the methods and devices in the embodiments of the present application is not limited to performing functions in the order shown or discussed, and may also include performing functions in a substantially simultaneous manner or in a reverse order according to the functions involved. For example, the described methods may be performed in an order different from that described, and various steps may be added, omitted, or combined. Additionally, the features described with reference to certain examples may be combined in other examples.

[0081] From the description of the above embodiments, those skilled in the art can clearly understand that the above-described example methods can be implemented by means of software plus a necessary general hardware platform. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation. Based on such an understanding, the technical solution of the present application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions for causing a terminal (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the various embodiments of the present application.

[0082] After considering the specification and practicing the invention disclosed herein, those skilled in the art will readily conceive of other embodiments of the present application. The present application is intended to cover any variations, uses, or adaptations of the present application that follow the general principles of the present application and include known common general knowledge or conventional technical means in the technical field not disclosed in the present application. The specification and examples are only to be considered as exemplary, and the true scope and spirit of the present application are pointed out by the claims.

[0083] It should be understood that the present application is not limited to the exact structures described above and shown in the drawings, and various modifications and changes can be made without departing from its scope. The scope of the present application is only limited by the appended claims.

Claims

1. A transmission method for a 64B / 66B encoding block, characterized in that, Including: Obtain a 64B / 66B encoded block to be transmitted, where the 64B / 66B encoded block includes a 2-bit synchronization header, and the value of the 2-bit synchronization header is used to indicate whether the 64B / 66B encoded block is a data 64B / 66B encoded block or a first control 64B / 66B encoded block; the first control 64B / 66B encoded block further includes an 8-bit type field and a 56-bit information field, and the value of the 8-bit type field is used to distinguish 11 different encoding types; Divide the first control 64B / 66B encoded blocks of the 11 different encoding types into encoded blocks of the first group of encoding types and encoded blocks of the second group of encoding types, convert the 8-bit type field in the encoded blocks of the first group of encoding types into an 8-bit first group of encoding type fields, and keep the 56-bit information field unchanged; convert the 8-bit type field in the encoded blocks of the second group of encoding types into a 9-bit second group of encoding type fields, and convert the 56-bit information field into a 55-bit information field; Form 66 bits of a second control 64B / 66B encoded block from the 2-bit synchronization header, the 8-bit first group of encoding type fields, and the 56-bit information field; form 66 bits of a third control 64B / 66B encoded block from the 2-bit synchronization header, the 9-bit second group of encoding type fields, and the 55-bit information field; Transmit the data 64B / 66B encoded block, the second control 64B / 66B encoded block, and the third control 64B / 66B encoded block.

2. The method according to claim 1, characterized in that, In the 64B / 66B encoded block to be transmitted, the value of the 2-bit synchronization header being 01 indicates that the 64B / 66B encoded block is the data 64B / 66B encoded block; the value of the 2-bit synchronization header being 10 indicates that the 64B / 66B encoded block is the first control 64B / 66B encoded block; the 56-bit information field includes data characters, control characters, fixed information, and information field redundancy bits.

3. The method according to claim 2, wherein In the first control 64B / 66B encoded block, the 56-bit information field includes the data characters, the control characters, the fixed information, and the information field redundancy bits, where the length of the data characters is 8 bits, the data characters are represented by Dn, where n is a number from 1 to 8, and n represents the order in which the data characters appear in the 56-bit information field; there are two types of control characters, one of the control characters has a length of 7 bits and is represented by Cm, where m is a number from 1 to 8, and m represents the order in which the control character appears in the 56-bit information field, and the other control character has a length of 28 bits and includes 1 4-bit Q0 and 3 data characters D1, D2, and D3; the fixed information includes 28 bits of 0; the information field redundancy bits are the bits in the 56-bit information field other than the data characters, the control characters, and the fixed information.

4. The method according to claim 3, wherein All the coding blocks of all coding types in the coding blocks of the first group of coding types do not have the information field redundant bits in the 56-bit information field; all the coding blocks of all coding types in the coding blocks of the second group of coding types have the information field redundant bits in the 56-bit information field.

5. The method according to claim 2, wherein The 8-bit first group of coding type fields includes a 3-bit control type identifier and 5-bit type field redundant bits. Among them, the 3-bit control type identifier is used to identify a different coding blocks of the coding blocks of the first group of coding types, and a is a positive integer less than 7; the 9-bit second group of coding type fields includes a 4-bit control type identifier and the 5-bit type field redundant bits. Among them, the 4-bit control type identifier is used to identify b different coding blocks of the coding blocks of the second group of coding types, and b = 11 - a.

6. The method according to claim 5, wherein The value of the 3-bit control type identifier is a 3-bit value in the first value group, and the first value group includes the a different 3-bit values, where the a different 3-bit values are obtained by selecting from c different 3-bit values. wherein the represents performing a rounding operation on the ; The value of the 4-bit control type identifier is one of the 4-bit numerical values in the second value group. The second value group includes the b different 4-bit numerical values. Among them, from the c different 3-bit numerical values, removing the a different 3-bit numerical values corresponding to the first value group, (c - a) different 3-bit numerical values are obtained. Adding 1 bit to the (c - a) different 3-bit numerical values, 2*(c - a) different 4-bit numerical values are obtained. Selecting the b different 4-bit numerical values from the 2*(c - a) different 4-bit numerical values as the second value group.

7. The method according to claim 6, characterized in that, The conversion of the 8-bit type field in the coding blocks of the first group of coding types into an 8-bit first group of coding type fields includes: Determining the specific type of the coding type according to the value of the 8-bit type field; Determining the value of the 3-bit control type identifier according to the determined specific type of the coding type; Obtaining the 8-bit first group of coding type fields according to the value of the 3-bit control type identifier and the 5-bit type field redundant bits.

8. The method according to claim 6, wherein The conversion of the 8-bit type field in the coding blocks of the second group of coding types into a 9-bit second group of coding type fields and the conversion of the 56-bit information field into a 55-bit information field include: Determining the specific type of the coding type according to the value of the 8-bit type field; Determining the value of the 4-bit control type identifier according to the determined specific type of the coding type; Obtaining the 9-bit second group of coding type fields according to the value of the 4-bit control type identifier and the 5-bit type field redundant bits; Deleting 1 bit of the information field redundant bits in the 56-bit information field to obtain the 55-bit information field; Among them, the position of the deleted 1 bit of the information field redundant bits is determined according to the second coding type.

9. The method according to any one of claims 1 to 8, characterized in that The transmission of the data 64B / 66B coding blocks, the second control 64B / 66B coding blocks, and the third control 64B / 66B coding blocks includes: Delete the 5-bit type field redundant bits in the second control 64B / 66B encoding block and the third control 64B / 66B encoding block; Convert 16 consecutive data 64B / 66B encoding blocks, the second control 64B / 66B encoding block, and the third control 64B / 66B encoding block into 1 1024B / 1025B encoding block; Transmit the 1024B / 1025B encoding block.

10. The method according to claim 9, characterized in that, After transmitting the 1024B / 1025B encoding block as described above, the method further includes: Receive the 1024B / 1025B encoding block; Convert 1 1024B / 1025B encoding block into 16 data 64B / 66B encoding blocks, the second control 64B / 66B encoding block, and the third control 64B / 66B encoding block; Convert the second control 64B / 66B encoding block and the third control 64B / 66B encoding block into the first control 64B / 66B encoding block.

11. An electronic device, characterized in that, The electronic device includes a processor and a memory, and a program or instruction that can run on the processor is stored on the memory. When the program or instruction is executed by the processor, the transmission method of the 64B / 66B encoding block according to any one of claims 1 to 10 is implemented.

12. A readable storage medium, characterized in that, A program or instruction is stored on the readable storage medium. When the program or instruction is executed by a processor, the transmission method of the 64B / 66B encoding block according to any one of claims 1 to 10 is implemented.