WO2017000417A1 - 以太网接口及其数据处理装置、方法、计算机存储介质 - Google Patents
以太网接口及其数据处理装置、方法、计算机存储介质 Download PDFInfo
- Publication number
- WO2017000417A1 WO2017000417A1 PCT/CN2015/091463 CN2015091463W WO2017000417A1 WO 2017000417 A1 WO2017000417 A1 WO 2017000417A1 CN 2015091463 W CN2015091463 W CN 2015091463W WO 2017000417 A1 WO2017000417 A1 WO 2017000417A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- bandwidth
- unit
- sublayer
- data
- packet data
- 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
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/324—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
Definitions
- the present invention relates to an Ethernet interface design technology, and in particular, to an Ethernet interface, a data processing apparatus, method, and computer storage medium.
- an embodiment of the present invention is to provide an Ethernet interface, a data processing apparatus, a method, and a computer storage medium, which can effectively reduce storage resources and computing resources used by an Ethernet interface.
- An embodiment of the present invention provides a data processing device for an Ethernet interface, including a selection module and an interface module, where
- the MAC sub-layer is configured to process the packet data received by itself according to the selected bandwidth, and reuse the internal resources in a time-sharing manner when processing the packet data received by the self according to different bandwidths. ;
- the PCS sublayer includes a cross-clock domain conversion unit configured to implement cross-clock domain conversion of a MAC sublayer clock to a PCS sublayer clock;
- the selecting module is configured to select a bandwidth of an Ethernet interface, where the plurality of to-be-selected bandwidths includes a first bandwidth and a second bandwidth, and the second bandwidth is a first bandwidth. N times, N is a natural number greater than 1.
- the interface module includes at least one of the following sublayers: a MAC sublayer and a PCS sublayer; wherein the MAC sublayer has N first bandwidth input ports and one second bandwidth input port; the PCS sub Layer has N first bandwidth input ports and one second bandwidth input port;
- the PCS sublayer is configured to receive packet data in parallel from the N first bandwidth input ports when the selected bandwidth is the first bandwidth, and receive packet data received by each first bandwidth input port based on the first bandwidth. Processing; when processing the packet data received by each of the first bandwidth input ports, multiplexing the internal resources in a time-sharing manner;
- the PCS sublayer is configured to receive packet data from the one second bandwidth input port when the selected bandwidth is the second bandwidth, and perform packet data received by a second bandwidth input port based on the second bandwidth. deal with.
- the resources inside the interface module include at least one of the following resources: an operation resource and a storage resource.
- the embodiment of the invention further provides an Ethernet interface, including the data processing device of any of the above Ethernet interfaces.
- the embodiment of the invention also provides a data processing method for an Ethernet interface, including:
- the processing of the packet data sent from the Ethernet interface based on the selected bandwidth includes: the MAC sublayer processing the packet data received by itself according to the selected bandwidth; and/or, the PCS sublayer Processing packet data received by itself based on the selected bandwidth;
- the MAC sublayer or the PCS sublayer multiplexes its own internal resources in a time-sharing manner when processing the packet data received by itself according to different bandwidths.
- the PCS sublayer includes a cross-clock domain conversion unit configured to implement cross-clock domain conversion of a MAC sublayer clock to a PCS sublayer clock;
- the PCS sublayer multiplexes the cross-clock domain conversion unit in a time-sharing manner when processing the self-received message data based on different bandwidths.
- FIG. 1 is a schematic structural diagram of a data processing apparatus of an Ethernet interface according to a first embodiment of the present invention
- FIG. 2 is a schematic structural diagram of a transmitting side of a 10G-XFI Ethernet interface according to an embodiment of the present invention
- FIG. 4 is a schematic structural diagram of a MAC sublayer of a data transmitting apparatus of an Ethernet interface according to a second embodiment of the present invention.
- FIG. 1 is a schematic structural diagram of a data transmitting apparatus of an Ethernet interface according to a first embodiment of the present invention. As shown in FIG. 1 , the apparatus includes: a selecting module 100 and an interface module 101, where
- the Ethernet interface When the Ethernet interface transmits the message data, the input of the PCS sublayer 103 is connected to the MAC sublayer 102 through a physical medium independent interface. When the Ethernet interface receives the message data, the output of the PCS sublayer 103 is connected to the MAC sublayer 102 through a physical medium independent interface.
- the interface module 101 is configured to acquire the selected bandwidth, process the packet data received by the interface module based on the selected bandwidth, and process the packet data received by itself according to different bandwidths.
- the form of the time reuses the resources inside the self.
- the MAC sublayer 102 has N first bandwidth input ports and one second bandwidth input port, and has N first bandwidth output ports and one second bandwidth output port; the PCS sublayer has N first bandwidth input ports And a second bandwidth input port and having N first bandwidth output ports and one second bandwidth output port.
- the output port of the MAC sublayer 102 is a port for transmitting message data to the PCS sublayer
- the input port of the PCS sublayer 103 is a port for receiving message data from the MAC sublayer.
- each time the message is input from each first bandwidth input port Data bit of text data
- the width is equal, for example, both are 256 bits.
- the MAC sublayer 102 does not receive the packet data in any one of the first bandwidth input ports, it is also required to allocate the time for receiving the packet data to the corresponding first bandwidth input port; for example, the MAC sublayer.
- the four first bandwidth input ports are labeled as port 0, port 1, port 2, and port 3, respectively; in each polling scheduling period, to the MAC sublayer in the order of port 0, port 1, port 2, and port 3.
- Input message data If any of the first bandwidth input ports, such as port 0, does not have message data input, the time required to receive the corresponding message data for port 0 is also required.
- the MAC sub-layer 102 when the MAC sub-layer 102 processes the message data received by each of the first bandwidth input ports based on the first bandwidth, the MAC sub-layer 102 uses four FIFOs to store a corresponding group of messages. Data; 4 FIFOs output message data in a polling schedule.
- the MAC sublayer 102 or the PCS sublayer 103 is configured to receive packet data from the one second bandwidth input port when the selected bandwidth is the second bandwidth, and to input a second bandwidth based on the second bandwidth.
- the received message data is processed, and the processed message data is passed through A second bandwidth output port of the body is sent out.
- the Ethernet interface needs to transmit data, and the two bandwidths to be selected are 10G and 40G, wherein the first bandwidth is 10G and the second bandwidth is 40G.
- the transmitting side of the 10G Ethernet interface and the sending side of the 40G Ethernet interface can be implemented separately. The following describes the technical solution of implementing the transmitting side of the 10G-XFI Ethernet interface separately and the technical solution of separately implementing the transmitting side of the 40G Ethernet interface.
- FIG. 3 is a schematic structural diagram of a transmitting side of a 40G Ethernet interface according to an embodiment of the present invention.
- the transmitting side of the 40G Ethernet interface includes a MAC sublayer 301 and a PCS sublayer 302.
- the MAC sublayer 301 is connected through an XLGM II interface.
- An asynchronous FIFO is provided in each conversion unit, and the asynchronous FIFO completes the second cross-clock domain FIFO
- the PCS sub-layer clock frequency of the LANE generated in the element 303 is converted to the clock frequency of each LANE PCS sub-layer, and the received message data is adjusted after the clock frequency conversion is completed; the corresponding conversion unit adjusts the timing after the clock is converted.
- the text data is converted into data width, and converted into 40-bit data for external output.
- the data transmission transposition of the Ethernet interface of the second embodiment of the present invention can support two working modes, the first is a 10G-XFI Ethernet interface mode, and the second is a 40G Ethernet interface mode, wherein the 10G-XFI Ethernet is in the In the network interface mode, up to four ports can be used to send packet data. In 40G Ethernet interface mode, one port can send packet data.
- the packet data transmission of the Ethernet interface of the second embodiment of the present invention transposes at least one of the following sublayers: a MAC sublayer and a PCS sublayer.
- the input ports of the four 10G bandwidths of the third input control unit 401 input packet data to the MAC sublayer according to a polling schedule (RR polling), each 10G.
- the data bit width of the message data input by the input port of the bandwidth is the same.
- the four 10G bandwidth input ports of the third input control unit 401 input the message data to the MAC sublayer according to the polling scheduling manner, including: multiple times from the four 10Gs in a cyclic manner.
- the input port of the bandwidth receives the packet data, and each time the packet data is received, the packet data is received according to the set input port sequence; for example, the input port of the 10G bandwidth capable of receiving the packet data is port 0 respectively.
- the third input control unit 401 receives the message data from the input port of the fixed 40G bandwidth, and the received message data has a bit width of 256 bits. It should be noted that if the 40G bandwidth input port is one of the four 10G bandwidth input ports, the process of the third input control unit 401 receiving the message data from the fixed 40G bandwidth input port can be regarded as It is a special case when the pre-selected bandwidth is 10G, and the input port of the 40G bandwidth is continuously polled.
- the MAC sublayer when the pre-selected bandwidth is 10G, the MAC sublayer performs time-division processing on the packet data input by each 10G bandwidth input port, and in the process of time-sharing processing, the third packet transmission processing unit 402 and the third CRC32
- the calculation unit 403, the third frame encapsulation unit 404, the third IPG calculation unit 405, and the third frame transmission unit 406 are each multiplexed in a time-sharing manner.
- data_in indicates the incoming message
- sop_in indicates that the current message is the packet header
- eop_in indicates that the current message is the end of the data packet
- vld_in indicates that the current message is valid
- mty_in indicates the end of the packet (eop_in)
- the number of invalid bytes of the slice, port_in represents the port number of the 10G bandwidth input port corresponding to data_in.
- the currently input packet fragment is calculated by the CRC32 calculation sub-unit, and a calculated value crc_val is obtained.
- the port number of the 10G bandwidth input port corresponding to crc_val port_dly (port_dly is the port_in beat, Align with crc_val)
- temporarily store the calculation result in the register of the corresponding port that is, according to the port number of the 10G bandwidth input port corresponding to crc_val, select the corresponding register as the register for the calculation result in the four registers port0 to port3.
- the calculation result stored in the register needs to wait for the next input corresponding port number It is used when it is used.
- Init_val indicates the CRC32 calculation result of the last corresponding port input message, and init_val is 32-bit binary data. If the message input at this time is the header (sop_in), then the init_val value is all 1, otherwise, according to the port_in from the corresponding register Read the calculation results.
- the calculation result of the currently input fragment will be directly loaded into the init_val, and will not be stored in the register.
- the calculated crc_val is the CRC32 check value of the complete message to be output.
- the third frame sending unit 406 is configured to send each Ethernet frame to the PCS sublayer 202 in a format allowed by the XGMII interface to implement format mapping of the Ethernet frame to the XGMII interface when the preselected bandwidth is 10G.
- each Ethernet frame is sent out to the PCS sublayer 202 in a format allowed by the XLGMII interface to implement format mapping of the Ethernet frame to the XLGMII interface.
- the third frame transmitting unit 406 has four XGMII interfaces and one XLGMII interface, wherein the XLGMII interface includes four parallel LANEs.
- the third frame transmitting unit 406 reserves the position where the mark code is inserted on each LANE when the second frame transmitting unit 309 transmits the message data to the PCS sublayer through the four parallel LANEs, on the Ethernet interface.
- the mark code can be used to implement the PCS sublayer 4
- the LANE sequence adjustment on the LANE is aligned with the message data on the four LANEs.
- the second data selection unit 615 is configured to select whether to receive the message data from the fourth scrambling unit 607 to the seventh scramble unit 610 or the message from the fifth insertion unit 611 to the eighth insertion unit 614 according to the pre-selected bandwidth. data. If the pre-selected bandwidth is 10G, the second data selecting unit 615 receives the message data from the fourth scrambling unit 607 to the seventh scrambling unit 610; if the pre-selected bandwidth is 40G, the second data selecting unit 615 is from the fifth The insertion unit 611 to the eighth insertion unit 614 receive the message data; the second data selection unit 615 transmits the received message data to the corresponding asynchronous FIFO unit.
- each asynchronous FIFO unit is configured to complete clock frequency conversion of the MAC sublayer clock to the PCS sublayer clock, and under the control of the timing adjustment control logic, the received message data is time-aligned, and each asynchronous FIFO unit will be The time-adjusted message data is sent to the corresponding conversion unit, and each asynchronous FIFO unit performs timing adjustment on the received message data to ensure that the conversion unit does not lose bits when performing message data width conversion.
- FIG. 7 is a timing diagram of timing adjustment of an asynchronous FIFO unit of a message data transmitting apparatus of an Ethernet interface according to a second embodiment of the present invention. As shown in FIG. 7, cnt represents a PCS clock cycle, and vld represents a timing sequence after timing adjustment. As can be seen from Figure 7, after the asynchronous FIFO unit performs timing adjustment, 20 message data is output in 33 PCS clock cycles.
- FIG. 8 is a schematic structural diagram of a receiving side of a 10G-XFI Ethernet interface according to an embodiment of the present invention.
- the receiving side of the 10G-XFI Ethernet interface includes a MAC sublayer 801 and a PCS sublayer 802; and a MAC sublayer 801.
- the PCS sublayer 802 is connected through an XGMII interface.
- the first descrambling unit 804 is configured to perform a descrambling operation on the 10G bandwidth level of the message data output by the tenth conversion unit.
- each of the fifteenth conversion unit 1001 to the eighteenth conversion unit 1004 is configured to receive the message data of the corresponding 10G bandwidth input port; when the preselected bandwidth is 40G, In the fifteenth conversion unit 1001 to the eighteenth conversion unit 1004, each conversion unit is configured to receive message data corresponding to one LANE of the 40G bandwidth input port.
- the PCS sublayer supports four LANE packet data input. The packet data width of each LANE is 40 bits, and each LANE rate is 10.3125 Gbps. The PCS clock between the four LANEs is in the same frequency phase.
- the first-bit wide splicing unit 1106 is configured to receive the Ethernet packet sent by the third packet recovery unit 1101 when the pre-selected bandwidth is 40G, and receive the fourth packet recovery unit when the pre-selected open is 10G.
- the second bit width splicing unit 1107, the third bit width splicing unit 1108, or the fourth bit width splicing unit 1109 may also be used to receive the Ethernet sent by the third message recovery unit 1101.
- the packet can also receive the Ethernet packet sent by the third packet recovery unit 1101 by using the newly added bit width splicing unit.
- These computer program instructions can also be loaded onto a computer or other programmable data processing device such that a series of operational steps are performed on a computer or other programmable device to produce computer-implemented processing for execution on a computer or other programmable device.
- the instructions are provided to implement the work specified in one or more blocks of a flow or a flow and/or a block diagram of the flowchart The steps that can be made.
- the bandwidth of the Ethernet interface is selected; the data sent or received from the Ethernet interface is processed based on the selected bandwidth, and when the data sent or received from the Ethernet interface is processed based on different bandwidths, Reusing resources inside the Ethernet interface in a time-sharing manner; thus, when the Ethernet interface sends or receives message data, time-sharing internal storage resources and computing resources, thereby effectively reducing the network processor chip. cost.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明实施例公开了一种以太网接口的数据处理装置,包括选择模块和接口模块,其中,选择模块配置为选择以太网接口的带宽;接口模块配置为基于所选择的带宽对从以太网接口发送或接收的数据进行处理,在基于不同的带宽对从以太网接口发送或接收的数据进行处理时,以分时的形式复用所述接口模块内部的资源。本发明实施例还公开了一种以太网接口和一种以太网接口的数据处理方法、计算机存储介质。
Description
本发明涉及以太网接口设计技术,尤其涉及一种以太网接口及其数据处理装置、方法、计算机存储介质。
随着以太网技术的发展和深入应用,更高的带宽、更快的速率以及服务的更加多元化成为其发展的必然趋势。这样,对用于骨干网互联的路由器设备提出了更高的要求。
网络处理器芯片是路由器设备的核心之一,为了能够满足不同应用场景对以太网接口类型、接口数量以及处理带宽的需求,网络处理器芯片提供了丰富的以太网接口与其他以太网设备或芯片实现互联。网络处理器芯片可以同时提供多种带宽等级的以太网接口,例如,网络处理器芯片同时支持1G、10G、40G和100G以太网接口。
目前,在同一网络处理器芯片上实现多个以太网接口时,每个以太网接口使用相应的芯片资源,然后按照各自使用的数量进行多次例化;如果按照这样的方式去实现上述网络处理器芯片的全部以太网接口,那么,整个网络处理器芯片的接口部分在芯片中所占用的资源就会非常多,进而增加芯片成本。
发明内容
为解决上述技术问题,本发明实施例期望提供一种以太网接口及其数据处理装置、方法、计算机存储介质,能有效减少以太网接口所使用的存储资源和运算资源。
本发明实施例的技术方案是这样实现的:
本发明实施例提供了一种以太网接口的数据处理装置,包括选择模块和接口模块,其中,
选择模块,配置为选择以太网接口的带宽;
接口模块,配置为基于所选择的带宽对从以太网接口发送或接收的报文数据进行处理,在基于不同的带宽对从以太网接口发送或接收的报文数据进行处理时,以分时的形式复用所述接口模块内部的资源。
上述方案中,所述接口模块包括至少以下一个子层:媒体接入控制MAC子层和物理编码PCS子层;其中,
MAC子层,配置为基于所选择的带宽对自身接收的报文数据进行处理,在基于不同的带宽对所述自身接收的报文数据进行处理时,以分时的形式复用自身内部的资源;
PCS子层,配置为基于所选择的带宽对自身接收的报文数据进行处理,在基于不同的带宽对所述自身接收的报文数据进行处理时,以分时的形式复用自身内部的资源。
上述方案中,所述PCS子层包括跨时钟域转换单元,配置为实现MAC子层时钟到PCS子层时钟的跨时钟域转换;
所述PCS子层,配置为在基于不同的带宽对自身接收的报文数据进行处理时,以分时的形式复用所述跨时钟域转换单元。
上述方案中,所述选择模块,配置为在多个待选择的带宽中选择以太网接口的带宽,所述多个待选择的带宽包括第一带宽和第二带宽,第二带宽为第一带宽的N倍,N为大于1的自然数。
上述方案中,所述接口模块包括至少以下一个子层:MAC子层和PCS子层;其中,所述MAC子层具有N个第一带宽输入端口和一个第二带宽输入端口;所述PCS子层具有N个第一带宽输入端口和一个第二带宽输入
端口;
所述MAC子层的N个第一带宽输入端口配置为在所选择的带宽为第一带宽时,按照轮询调度的方式向所述MAC子层输入报文数据,或向所述MAC子层并行输入报文数据;所述MAC子层基于第一带宽对每个第一带宽输入端口输入的报文数据进行处理;所述MAC子层在对各个第一带宽输入端口输入的报文数据进行处理时,以分时的形式复用自身内部的资源;
所述PCS子层,配置为在所选择的带宽为第一带宽时,从N个第一带宽输入端口并行接收报文数据,基于第一带宽对每个第一带宽输入端口接收的报文数据进行处理;在对各个第一带宽输入端口接收的报文数据进行处理时,以分时的形式复用自身内部的资源;
所述MAC子层,配置为在所选择的带宽为第二带宽时,从所述一个第二带宽输入端口中接收报文数据,基于第二带宽对第二带宽输入端口接收的报文数据进行处理;
所述PCS子层,配置为在所选择的带宽为第二带宽时,从所述一个第二带宽输入端口接收报文数据,基于第二带宽对一个第二带宽输入端口接收的报文数据进行处理。
上述方案中,所述接口模块内部的资源包括以下至少一种资源:运算资源和存储资源。
本发明实施例还提出了一种以太网接口,包括上述任意一种以太网接口的数据处理装置。
本发明实施例还提出了一种以太网接口的数据处理方法,包括:
选择以太网接口的带宽;
基于所选择的带宽对从以太网接口发送或接收的报文数据进行处理,在基于不同的带宽对从以太网接口发送或接收的报文数据进行处理时,以分时的形式复用所述以太网接口内部的资源。
上述方案中,所述以太网接口包括至少以下一个子层:MAC子层和PCS子层;
所述基于所选择的带宽对从以太网接口发送的报文数据进行处理包括:所述MAC子层基于所选择的带宽对自身接收的报文数据进行处理;和/或,所述PCS子层基于所选择的带宽对自身接收的报文数据进行处理;
所述MAC子层或PCS子层在基于不同的带宽对所述自身接收的报文数据进行处理时,以分时的形式复用自身内部的资源。
上述方案中,所述PCS子层包括跨时钟域转换单元,配置为实现MAC子层时钟到PCS子层时钟的跨时钟域转换;
所述PCS子层在基于不同的带宽对所述自身接收的报文数据进行处理时,以分时的形式复用所述跨时钟域转换单元。
本发明实施例还提供了一种计算机存储介质,所述计算机存储介质中存储有计算机程序,所述计算机程序用于执行以上所述的以太网接口数据处理方法。
本发明实施例提供的一种以太网接口及其数据处理装置、方法、计算机存储介质,在以太网接口发送或接收报文数据时,分时自身内部的存储资源和运算资源,从而能有效降低网络处理器芯片的成本。
图1为本发明第一实施例以太网接口的数据处理装置的组成结构示意图;
图2为本发明实施例10G-XFI以太网接口发送侧的组成结构示意图;
图3为本发明实施例40G以太网接口发送侧的组成结构示意图;
图4为本发明第二实施例以太网接口的数据发送装置的MAC子层的组成结构示意图;
图5为本发明第二实施例的以太网接口的数据发送装置中CRC32计算
单元的原理示意图;
图6为本发明第二实施例以太网接口的数据发送装置的PCS子层的组成结构示意图;
图7为本发明第二实施例以太网接口的数据发送装置的异步FIFO单元进行时序调整后的时序示意图;
图8为本发明实施例10G-XFI以太网接口接收侧的组成结构示意图;
图9为本发明实施例40G以太网接口接收侧的组成结构示意图;
图10为本发明第三实施例以太网接口的数据接收装置的PCS子层的组成结构示意图;
图11为本发明第三实施例以太网接口的数据接收装置的MAC子层的组成结构示意图;
图12为本发明第五实施例以太网接口的数据处理方法的流程图。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
第一实施例
图1为本发明第一实施例以太网接口的数据发送装置的组成结构示意图,如图1所示,该装置包括:选择模块100和接口模块101,其中,
选择模块100,配置为选择以太网接口的带宽。
这里,选择模块100每次选择一个以太网接口的带宽,以太网接口的带宽可以是10G或40G。
接口模块101包括至少以下一个子层:媒体接入控制(Media Access Control,MAC)子层102和物理编码(physical coding sublayer,PCS)子层103。
这里,当以太网接口发送报文数据时,MAC子层102的输出端通过物
理介质无关接口连接PCS子层103。当以太网接口接收报文数据时,MAC子层102的输入端通过物理介质无关接口连接PCS子层103。
当以太网接口发送报文数据时,PCS子层103的输入端通过物理介质无关接口连接MAC子层102。当以太网接口接收报文数据时PCS子层103的输出端通过物理介质无关接口连接MAC子层102。
如果MAC子层102和PCS子层103均为接口模块101的组成部分,MAC子层102和PCS子层103之间通过物理介质无关接口实现互联。
当MAC子层102是接口模块101的组成部分时,接口模块101基于所选择的带宽对所述接口模块接收的报文数据进行处理,下面分两种情况进行说明。第一种情况,当以太网接口需要发送数据时,接口模块101基于所选择的带宽对自身接收的报文数据进行处理的过程包括:MAC子层102基于所选择的带宽对自身接收的报文数据进行处理,将处理后的报文数据发送至PCS子层。第二种情况,当以太网接口需要接收数据时,接口模块101基于所选择的带宽对自身接收的报文数据进行处理的过程包括:MAC子层102基于所选择的带宽对自身接收的来自PCS子层的报文数据进行处理。这里,MAC子层的报文数据处理过程符合IEEE802标准定义的功能,例如,所选择的带宽为10G时,MAC子层的报文数据处理过程符合IEEE802.3ae标准;所选择的带宽为40G时,MAC子层的报文数据处理过程符合IEEE802.3ab标准。
当PCS子层103是接口模块101的组成部分时,接口模块101基于所选择的带宽对自身接收的报文数据进行处理,下面分两种情况进行说明。第一种情况,当以太网接口需要发送数据时,接口模块101基于所选择的带宽对自身接收的报文数据进行处理的过程包括:PCS子层103基于所选择的带宽对自身接收的来自MAC子层的报文数据进行处理。第二种情况,当以太网接口需要接收数据时,接口模块101基于所选择的带宽对自身接
收的报文数据进行处理的过程包括:PCS子层103基于所选择的带宽对自身接收的报文数据进行处理,,将处理后的报文数据发送至MAC子层。这里,PCS子层的报文数据处理过程符合IEEE802标准定义的功能,例如,所选择的带宽为10G时,PCS子层的报文数据处理过程符合IEEE802.3ae标准;所选择的带宽为40G时,PCS子层的报文数据处理过程符合IEEE802.3ab标准。
这里,接口模块101,配置为获取所选择的带宽,基于所选择的带宽对所述接口模块接收的报文数据进行处理,在基于不同的带宽对自身接收的报文数据进行处理时,以分时的形式复用所述自身内部的资源。
这里,接口模块101内部的资源包括以下至少一种资源:运算资源和存储资源,这里的运算资源可以是逻辑运算资源,存储资源可以是随机存取存储器(Random-Access Memory,RAM)资源。可以看出,当接口模块基于不同的带宽进行数据处理时,可以在不同的时间使用接口模块内部相同的资源,显然会降低以太网接口发送报文数据时的资源消耗。例如,接口模块在进行10G带宽等级的数据处理和40G带宽等级的数据处理时,由于处理的时间不同,可以使用接口模块相同的RAM资源。
在一具体子实施例中,MAC子层102配置为在基于不同的带宽对所述自身接收的报文数据进行处理时,以分时的形式复用MAC子层内部的资源。这里,MAC子层内部的资源包括以下至少一种资源:运算资源和存储资源,这里的运算资源可以是逻辑运算资源,存储资源可以是RAM资源。
在一具体子实施例中,PCS子层103,配置为在基于不同的带宽对所述自身接收的报文数据进行处理时,以分时的形式复用PCS子层内部的资源。这里,PCS子层内部的资源包括以下至少一种资源:运算资源和存储资源,这里的运算资源可以是逻辑运算资源,存储资源可以是RAM资源。
在一具体子实施例中,PCS子层103包括跨时钟域转换单元104,配置
为实现MAC子层时钟到PCS子层时钟的跨时钟域转换。PCS子层103,配置为在基于不同的带宽对所述PCS子层接收的报文数据进行处理时,以分时的形式复用所述跨时钟域转换单元。这里,跨时钟域转换单元104可以采用异步先入先出队列(First Input First Output,FIFO)来实现。
在本发明第一实施例中,所述选择模块100选择以太网接口的带宽包括:选择模块100在多个待选择的带宽中选择以太网接口的带宽,所述多个待选择的带宽包括第一带宽和第二带宽,第二带宽为第一带宽的N倍,N为大于1的自然数。这里,第一带宽可以是10G,第二带宽是40G,第二带宽为第一带宽的4倍。
下面分两种情况进行说明。
第一种情况:以太网接口发送数据。
MAC子层102具有N个第一带宽输入端口和一个第二带宽输入端口,并具有N个第一带宽输出端口和一个第二带宽输出端口;所述PCS子层具有N个第一带宽输入端口和一个第二带宽输入端口,并具有N个第一带宽输出端口和一个第二带宽输出端口。这里,MAC子层102的输出端口是向PCS子层发送报文数据的端口,PCS子层103的输入端口是从MAC子层接收报文数据的端口。
所述MAC子层的N个第一带宽输入端口配置为在所选择的带宽为第一带宽时,按照轮询调度(RR轮询)的方式向所述MAC子层输入报文数据;所述MAC子层102基于第一带宽对每个第一带宽输入端口输入的报文数据进行处理,将处理后的报文数据通过自身的N个第一带宽输出端口发送出去。所述MAC子层102在对各个第一带宽输入端口接收的报文数据进行处理时,以分时的形式复用MAC子层内部的资源。这里,MAC子层的N个第一带宽输入端口按照轮询调度(RR轮询)的方式向所述MAC子层输入报文数据时,,每次从每个第一带宽输入端口输入的报文数据的数据位
宽相等,例如均为256bit。需要说明的是,如果MAC子层102在任意一个第一带宽输入端口中接收不到报文数据,则同样需要为对应的第一带宽输入端口分配接收报文数据的时间;例如,MAC子层的4个第一带宽输入端口分别标记为端口0、端口1、端口2和端口3;在每个轮询调度的周期,按照端口0、端口1、端口2和端口3的顺序向MAC子层输入报文数据如果任一第一带宽输入端口例如端口0没有报文数据输入,则同样需要分配给端口0相应的接收报文数据的时间。
所述PCS子层103,配置为在所选择的带宽为第一带宽时,从N个第一带宽输入端口并行接收报文数据,基于第一带宽对每个第一带宽输入端口接收的报文数据进行处理,将处理后的报文数据通过自身的一个输出端口发送出去。所述PCS子层103,配置为在对各个第一带宽输入端口接收的报文数据进行处理时,以分时的形式复用PCS子层内部的资源。
所述MAC子层或PCS子层,配置为在所选择的带宽为第二带宽时,从所述一个第二带宽输入端口中接收报文数据,基于第二带宽对第二带宽输入端口接收的报文数据进行处理,将处理后的报文数据通过自身的一个第二带宽输出端口发送出去。
第二种情况:以太网接口接收数据。
在一具体子实施例中,PCS子层103包括N个第一带宽输入端口和一个第二带宽输入端口,并具有N个第一带宽输出端口和一个第二带宽输出端口;所述MAC子层102具有N个第一带宽输入端口和一个第二带宽输入端口,并具有N个第一带宽输出端口和一个第二带宽输出端口。这里,PCS子层103的输出端口是向MAC子层发送报文数据的端口,MAC子层102的输入端口是从PCS子层接收报文数据的端口。
所述PCS子层103,配置为在所选择的带宽为第一带宽时,从N个第一带宽输入端口并行接收报文数据,基于第一带宽对每个第一带宽输入端
口接收的报文数据进行处理,将处理后的报文数据通过自身的N个第一带宽输出端口发送出去。所述PCS子层103,配置为在对各个第一带宽输入端口接收的报文数据进行处理时,以分时的形式复用PCS子层内部的资源。
所述MAC子层的N个第一带宽输入端口配置为并行接收N组报文数据,具体地说,所述MAC子层的N个第一带宽输入端口配置为并行接收来自PCS子层103的N个第一带宽输出端口输出的报文数据。所述MAC子层102基于第一带宽对每个第一带宽输入端口接收的报文数据进行处理,将处理后的报文数据通过自身的N个第一带宽输出端口发送出去。所述MAC子层102,配置为在对各个第一带宽输入端口接收的报文数据进行处理时,以分时的形式复用自身内部的资源。
这里,MAC子层的N个第一带宽输入端口并行接收N组报文数据时,接收的每组报文数据的数据位宽相等,例如均为64bit。需要说明的是,如果MAC子层102在任意一个第一带宽输入端口中接收不到报文数据,则同样需要为对应的第一带宽输入端口分配接收报文数据的时间;例如,MAC子层的4个第一带宽输入端口分别标记为端口0、端口1、端口2和端口3;在每个轮询调度的周期,按照端口0、端口1、端口2和端口3的顺序向MAC子层输入报文数据如果任一第一带宽输入端口例如端口0没有报文数据输入,则同样需要分配给端口0相应的接收报文数据的时间。
在一具体子实施例中,当MAC子层102基于第一带宽对每个第一带宽输入端口接收的报文数据进行处理时,MAC子层102分别使用4个FIFO存储对应的一组报文数据;4个FIFO按照轮询调度的方式向外输出报文数据。
所述MAC子层102或PCS子层103,配置为在所选择的带宽为第二带宽时,从所述一个第二带宽输入端口接收报文数据,基于第二带宽对一个第二带宽输入端口接收的报文数据进行处理,将处理后的报文数据通过自
身的一个第二带宽输出端口发送出去。
在实际应用中,所述选择模块100可由位于网络处理器中的中央处理器(Central Processing Unit,CPU)、微处理器(Micro Processor Unit,MPU)、数字信号处理器(Digital Signal Processor,DSP)、或现场可编程门阵列(Field Programmable Gate Array,FPGA)等实现。
本发明第一实施例中,接口模块和选择模块均为网络处理器芯片的以太网接口的组成部分,这样,当接口模块进行数据处理时,复用自身内部的资源,从而降低以太网接口发送报文数据时所使用的资源和网络处理器芯片的制造成本。
第二实施例
为了能更加体现本发明的目的,在本发明第一实施例的基础上,进行进一步的举例说明。在本发明第二实施例中,以太网接口需要发送数据,两个待选择的带宽为10G和40G,其中第一带宽是10G,第二带宽是40G。10G以太网接口的发送侧和40G以太网接口发送侧均可以单独实现,下面分别说明单独实现10G-XFI以太网接口发送侧的技术方案和单独实现40G以太网接口发送侧的技术方案。
图2为本发明实施例10G-XFI以太网接口发送侧的组成结构示意图,如图2所示,该10G-XFI以太网接口发送侧包括MAC子层201和PCS子层202;MAC子层201通过XGMII接口连接PCS子层202。
具体地,MAC子层201包括第一跨时钟域FIFO单元203、第一输入控制单元204和第一报文发送处理单元205;其中,第一跨时钟域FIFO单元203配置为实现MAC子层时钟到PCS子层时钟的时钟频率转换,例如,MAC子层时钟频率至少为270MHz,而PCS子层时钟的时钟频率为257.8125MHz,该第一跨时钟域FIFO单元203将时钟频率转换为257.8125MHz。这里,第一跨时钟域FIFO单元203可以采用异步FIFO来
实现,可以看出,在经过第一跨时钟域FIFO单元的时钟频率转换之后,10G-XFI以太网接口发送侧都工作在PCS时钟域下。
第一输入控制单元204,配置为依次发送流控报文和工作报文,这里,工作报文指用于承载用户有效数据的报文。具体地说,根据接收的流控信号产生流控报文,并优先于工作报文输出至第一报文发送处理单元205。流控报文与工作报文共享同一个数据通道,因此,在发送流控报文的同时,第一输入控制单元204将输入的报文数据进行缓存。当流控报文发送完毕,再从缓存中读出工作报文,将工作报文发送至第一报文发送处理单元205。
第一报文发送处理单元205,配置为针对接收的报文进行以下处理:短包添加补丁(PAD)、报文源地址字段替换、报文超长截断并打错误标记(err);将处理后的报文向外发送。这里,在针对短包添加补丁时,保证以太网数据包的数据位宽达到64字节。
MAC子层201还包括第一CRC32计算单元206、第一帧封装单元207、第一帧间隙(inter-packet gap,IPG)计算单元208和第一帧发送单元209。第一报文发送处理单元205配置为将处理后的报文分别发送至第一CRC32计算单元206、第一帧封装单元207和第一IPG计算单元208。
第一CRC32计算单元206,配置为计算接收到的每个完整报文的CRC32校验值,并将该CRC32校验值发送至第一帧封装单元207。
第一IPG计算单元208,配置为根据接收到的报文,计算出待发送的每两个相邻的以太网帧之间的帧间隙,帧间隙表示需要插入的字节数量例如,帧间隙的平均值为12。第一IPG计算单元208将计算出的每个帧间隙的值发送至第一帧封装单元207。
第一帧封装单元207,配置为根据接收的各个帧间隙的值和每个报文的CRC32校验值,将接收到的每个报文封装成对应的以太网帧。
第一帧发送单元209,配置为将每个以太网帧按照XGMII接口允许的
格式向外发送至PCS子层202,实现以太网帧向XGMII接口的格式映射。这里每个以太网帧按照XGMII接口允许的格式向外发送的报文数据为64比特数据。
在一具体子实施例中,PCS子层202包括第一编码单元210、第一加扰单元211和第一转换单元212。
第一编码单元210,配置为将通过64b/66b编码,将接收的64比特的数据编码为66比特数据。
第一加扰单元211,配置为对64b/66b编码后的数据作10G带宽等级的加扰操作。
第一转换单元212,配置为对加扰操作后的报文数据进行数据宽度转换,将其转换成40比特数据向外输出,以符合PMA子层对接收数据的要求。第一转换单元212中包含同步FIFO,该同步FIFO配置为对接收的报文数据进行时序调整。
图3为本发明实施例40G以太网接口发送侧的组成结构示意图,如图3所示,该40G以太网接口发送侧包括MAC子层301和PCS子层302;MAC子层301通过XLGMII接口连接PCS子层302。
在一具体子实施例中,MAC子层301包括第二跨时钟域FIFO单元303、第二输入控制单元304、第二报文发送处理单元305、第二CRC32计算单元306、第二帧封装单元307、第二IPG计算单元308和第二帧发送单元309。
40G以太网接口发送侧的MAC子层301和10G-XFI以太网接口发送侧的MAC子层201的实现方式基本相同,40G以太网接口发送侧的MAC子层301的每个组成单元与10G-XFI以太网接口发送侧的MAC子层201的对应组成部分的实现方式基本相同,区别点在于,第二跨时钟域FIFO单元303和第一跨时钟域FIFO单元203的实现方式不同,第二帧发送单元309和第一帧发送单元209的实现方式不同。
在一具体子实施例中,第二跨时钟域FIFO单元303,配置为将MAC子层的时钟频率转变为任意一条LANE的PCS子层时钟频率。
在一具体实施例中,第二帧发送单元309配置为将每个以太网帧按照XLGMII接口允许的格式向外发送至PCS子层302,实现以太网帧向XLGMII接口的格式映射。这时,第二帧发送单元309通过4条并行的数据通道(LANE)将报文数据发送至PCS子层302,在将每个以太网帧按照XLGMII接口允许的格式向外发送时,每条LANE上发送的报文数据的数据位宽为64比特。
具体地,PCS子层302包括第二编码单元310、第三编码单元311、第四编码单元312、第五编码单元313、第二加扰单元314、第一插入单元315、第二插入单元316、第三插入单元317、第四插入单元318、第二转换单元319、第三转换单元320、第四转换单元321和第五转换单元322。其中,第二编码单元310至第五编码单元313的实现方式均与第一编码单元210的实现方式相同,这里不再详述。
第二加扰单元配置为并行接收第二编码单元310至第五编码单元313发送的报文数据,配置为对接收的报文数据进行40G带宽等级的加扰操作,将加扰后的每份报文数据发送至对应的插入单元。
每个插入单元配置为在接收的报文数据所处在的LANE的预留位置上插入与该LANE对应的mark码。在每条LANE设置预留位置的实现方法可以是:当第二帧发送单元309通过4条并行的LANE将报文数据发送至PCS子层302时,在每条LANE上预留出插入mark码的位置,在以太网接口接收数据时,mark码可以用于实现PCS子层4条LANE上上的LANE序调整和4条LANE上的报文数据对齐;每个插入单元将插入mark码后的报文数据发送至对应的转换单元。
每个转换单元中设有异步FIFO,异步FIFO完成第二跨时钟域FIFO单
元303中产生的LANE的PCS子层时钟频率到各条LANE PCS子层时钟频率的转换,在完成时钟频率转换后将接收的报文数据进行时序调整;对应的转换单元将时序调整后的报文数据进行数据宽度转换,将其转换成40比特数据向外输出。
本发明第二实施例的以太网接口的数据发送转置可以支持两种工作模式,第一种为10G-XFI以太网接口模式,第二种为40G以太网接口模式,其中在10G-XFI以太网接口模式下可以最多支持4个端口发送报文数据,在40G以太网接口模式下,支持1个端口发送报文数据。本发明第二实施例的以太网接口的报文数据发送转置至少以下一个子层:MAC子层和PCS子层。当MAC子层和PCS子层均是本发明第二实施例的以太网接口的报文数据发送转置的组成部分时,在10G-XFI以太网接口模式下,MAC子层通过XGMII接口连接PCS子层;在40G以太网接口模式下,MAC子层通过XLGMII接口连接PCS子层。
图4为本发明第二实施例以太网接口的数据发送装置的MAC子层的组成结构示意图,如图4所示,该MAC子层包括:第三输入控制单元401、第三报文发送处理单元402、第三CRC32计算单元403、第三帧封装单元404、第三IPG计算单元405和第三帧发送单元406。
具体地,第三输入控制单元401,配置为根据预先选择的带宽接收报文数据。这里,预先选择的带宽为10G或40G。第三输入控制单元401具有4个10G带宽的输入端口和1个40G带宽的输入端口。
当所述预先选择的带宽为10G时,第三输入控制单元401的4个10G带宽的输入端口按照轮询调度(RR轮询)的方式向所述MAC子层输入报文数据,每个10G带宽的输入端口输入的报文数据的数据位宽一致。具体地说,第三输入控制单元401的4个10G带宽的输入端口按照轮询调度的方式向所述MAC子层输入报文数据包括:以循环的方式多次从4个10G
带宽的输入端口中接收报文数据,每次循环接收报文数据时,按照设定的输入端口顺序进行报文数据接收;例如,能够接收到报文数据的10G带宽的输入端口分别为端口0、端口1、端口2和端口3,设定的输入端口顺序为端口0、端口2、端口1和端口3,则每次循环接收报文数据时,依次从端口0、端口2、端口1和端口3接收相同数据位宽的报文数据。这里,如果4个10G带宽的输入端口均可以接收报文数据,则接收到的报文数据的总位宽为256bit。
需要说明的是,第三输入控制单元401的任一个10G带宽的输入端口中接收不到报文数据,则同样需要为对应的输入端口分配接收报文数据的时间。例如,4个10G带宽输入端口分别标记为端口0、端口1、端口2和端口3;在每个轮询调度的周期,按照端口0、端口1、端口2和端口3的顺序向MAC子层输入报文数据如果任一第一带宽输入端口例如端口0没有报文数据输入,则同样需要分配给端口0相应的接收报文数据的时间。
当预先选择的带宽为40G时,第三输入控制单元401从固定的40G带宽的输入端口接收报文数据,接收到的报文数据的位宽为256bit。需要说明的是,如果该40G带宽的输入端口是4个10G带宽的输入端口中的一个输入端口,则第三输入控制单元401从固定的40G带宽的输入端口接收报文数据的过程可以看作是预先选择的带宽为10G时的一种特殊情况,此时连续轮询该40G带宽的输入端口。
在一具体子实施例中,当预先选择的带宽为10G时,在第三输入控制单元401中,可以使用4个RAM对发送流控报文时输入的工作报文进行缓存,每个RAM缓存一个输入端口输入的工作报文。当预先选择的带宽为40G时,将这上述4个RAM拼接为一个RAM,使用拼接后生成的RAM对输入端口输入的工作报文进行缓存。可以看出,无论预先选择的带宽时10G还是40G,在第三输入控制单元401中,只要使用4个RAM就可以完
成工作报文的缓存,降低了RAM资源的消耗。
这里,预先选择的带宽为10G时,MAC子层针对每个10G带宽输入端口输入的报文数据进行分时处理,在分时处理的过程中,第三报文发送处理单元402、第三CRC32计算单元403、第三帧封装单元404、第三IPG计算单元405和第三帧发送单元406均被以分时的形式复用。
这里,第三报文发送处理单元402和第一报文发送处理单元205的实现方式相同,第三CRC32计算单元403和第一CRC32计算单元206的实现方式相同,第三帧封装单元404和第一帧封装单元207的实现方式相同;当预先选择的带宽为10G时,第三IPG计算单元405和第一IPG计算单元208的实现方式相同,当预先选择的带宽为40G时,第三IPG计算单元405和第二IPG计算单元308的实现方式相同;这里均不再重复描述。
下面以第三CRC32计算单元403为例,说明分时复用的原理。
图5为本发明第二实施例的以太网接口的数据发送装置中CRC32计算单元的原理示意图,如图5所示,当预先选择的带宽为10G时,第三CRC32计算单元403会接收到多个报文,有的报文为数据包的包头,有的报文为数据包的包尾。图5中,data_in表示当输入的报文,sop_in表示当前报文为数据包的包头,eop_in表示当前报文为数据包的包尾,vld_in表示当前报文有效,mty_in表示包尾(eop_in)分片的无效字节数,port_in表示data_in所对应的10G带宽输入端口的端口号。
当预先选择的带宽为10G时,当前输入的报文分片经过CRC32计算子单元计算后会得到一个计算值crc_val,根据crc_val对应的10G带宽输入端口的端口号port_dly(port_dly为port_in的打拍,与crc_val对齐),将计算结果暂存到对应端口的寄存器中,即根据crc_val对应的10G带宽输入端口的端口号,在四个寄存器port0至port3中,选择对应的寄存器作为计算结果存放的寄存器,寄存器存放的计算结果需要等待下一次输入对应端口数
据的时候使用。init_val表示上一次对应端口输入报文的CRC32计算结果,init_val为32比特的二进制数据,如果此时输入的报文为包头(sop_in),那么init_val值为全1,否则,根据port_in从对应的寄存器中读取计算结果。
当预先选择的带宽为40G时,考虑到报文会连续输入,那么当前输入的分片的计算结果会直接加载到init_val上,而不再往寄存器中存储。不管哪种工作模式,当输入报文为数据包的包尾时,计算得到的crc_val即为最终要输出的完整报文的CRC32校验值。
这样,本发明第二实施例的以太网接口的数据发送转置中,只需要一个CRC32计算逻辑,再加上简单的外围控制逻辑,就能实现4个端口的报文CRC32校验值的计算,节省了逻辑运算资源。
第三帧发送单元406,配置为在预先选择的带宽为10G时,将每个以太网帧按照XGMII接口允许的格式向外发送至PCS子层202,实现以太网帧向XGMII接口的格式映射;在预先选择的带宽为40G时,将每个以太网帧按照XLGMII接口允许的格式向外发送至PCS子层202,实现以太网帧向XLGMII接口的格式映射。这里,第三帧发送单元406具有4个XGMII接口和1个XLGMII接口,其中,XLGMII接口包括4条并行的LANE。
第三帧发送单元406使用16个RAM实现以太网帧向XGMII接口或XLGMII接口映射。当预先选择的带宽为10G时,对于每个XGMII接口,使用4个RAM进行以太网帧向XGMII接口的格式映射;当预先选择的带宽为40G时,对于该XLGMII接口,使用上述16个RAM实现以太网帧向XLGMII接口的格式映射。可以看出,通过在不同模式之间的RAM复用,节省了RAM资源。
这里,第三帧发送单元406当第二帧发送单元309通过4条并行的LANE将报文数据发送至PCS子层时,在每条LANE上预留出插入mark码的位置,在以太网接口接收数据时,mark码可以用于实现PCS子层4
条LANE上上的LANE序调整和4条LANE上的报文数据对齐。
需要说明的是,本发明第二实施例以太网接口的数据发送装置的MAC子层可以实现IEEE802.3标准中所规定的MAC子层发送侧的基本功能。本发明第二实施例以太网接口的数据发送装置的MAC子层均在MAC时钟域下进行数据处理,并不作跨时钟域转换。
图6为本发明第二实施例以太网接口的数据发送装置的PCS子层的组成结构示意图,如图6所示,该PCS子层包括第一数据选择单元601、第六编码单元602、第七编码单元306、第八编码单元604、第九编码单元605、第三加扰单元606、第四加扰单元607、第五加扰单元608、第六加扰单元609、第七加扰单元610、第五插入单元611、第六插入单元612、第七插入单元613、第八插入单元614、第二数据选择单元615、第一异步FIFO单元616、第二异步FIFO单元617、第三异步FIFO单元618、第四异步FIFO单元619、第六转换单元620、第七转换单元621、第八转换单元622和第九转换单元623。
具体地,第一数据选择单元601,配置为基于所选择的带宽接收报文数据;当预先选择的带宽为40G时,接收XLGMII接口的4条LANE的报文数据,将接收的XLGMII接口的每条LANE的报文数据发送至对应的编码单元;当预先选择的带宽为10G时,接收XGMII接口的报文数据,将XGMII接口的报文数据发送至对应的编码单元。
这里,每个编码单元配置为将通过64b/66b编码,将接收的64比特的报文数据编码为66比特报文数据;根据预先选择的带宽将生成的66比特报文数据进行发送,当预先选择的带宽为10G时,将生成的66比特报文数据发送至第四加扰单元607、第五加扰单元608、第六加扰单元609或第七加扰单元610。当预先选择的带宽为40G时,将生成的66比特报文数据发送至第三加扰单元606。
当预先选择的带宽为10G时,第四加扰单元607、第五加扰单元608、第六加扰单元609或第七加扰单元610将接收的报文数据进行10G带宽等级的加扰处理,将加扰处理后的报文数据发送至第二数据选择单元615。当预先选择的带宽为40G时,第三加扰单元606配置为接收的4条LANE的报文数据进行40G带宽等级的加扰操作,将加扰操作后的4条LANE的报文数据分别发送至第五插入单元611至第八插入单元614。
这里,每个插入单元在接收的报文数据所处在的LANE的预留位置上插入与该LANE对应的mark码,将插入mark码后的报文数据发送至第二数据选择单元615。
第二数据选择单元615,配置为根据预先选择的带宽,选择从四加扰单元607至第七加扰单元610接收报文数据,还是从第五插入单元611至第八插入单元614接收报文数据。如果预先选择的带宽为10G,第二数据选择单元615从第四加扰单元607至第七加扰单元610接收报文数据;如果预先选择的带宽为40G,第二数据选择单元615从第五插入单元611至第八插入单元614接收报文数据;第二数据选择单元615将接收的报文数据发送至对应的异步FIFO单元。
这里,每个异步FIFO单元配置为完成MAC子层时钟到PCS子层时钟的时钟频率转换,在时序调整控制逻辑的控制下,将接收的报文数据进行时序调整,每个异步FIFO单元将经时序调整后的报文数据发送至对应的转换单元,每个异步FIFO单元对接收的报文数据进行时序调整的作用是保证转换单元进行报文数据宽度转换时不丢失比特位。图7为本发明第二实施例以太网接口的报文数据发送装置的异步FIFO单元进行时序调整后的时序示意图,如图7所示,cnt代表PCS时钟周期,vld代表时序调整后的时序图,从图7可以看出,异步FIFO单元进行时序调整后,在33个PCS时钟周期内输出20个报文数据。
可以看出,对于本发明第二实施例的以太网接口的数据发送装置,不论预先选择的带宽是10G还是40G,从MAC子层时钟到PCS子层时钟的时钟频率转换均在对应的异步FIFO单元中实现,在异步FIFO单元进行时钟频率转换前,本发明第二实施例的以太网接口的报文数据发送装置均工作在MAC时钟域下,与现有技术相比,节省了FIFO资源,并且使跨时钟域操作变的更加简便。这里,FIFO资源主要指RAM资源。
本发明第二实施例的以太网接口的数据发送装置,可以实现IEEE802.3标准中所规定的PCS子层发送侧的基本功能;当预先选择的带宽为40G时,可以输出4条Lane,每条Lane速率为10.3125Gbps,位宽为40bit。
第三实施例
为了能更加体现本发明的目的,在本发明第一实施例的基础上,进行进一步的举例说明。在本发明第三实施例中,以太网接口需要接收数据,两个待选择的带宽为10G和40G,其中第一带宽是10G,第二带宽是40G。10G以太网接口的接收侧和40G以太网接口接收侧均可以单独实现,下面分别说明单独实现10G-XFI以太网接口接收侧的技术方案和单独实现40G以太网接口接收侧的技术方案。
图8为本发明实施例10G-XFI以太网接口接收侧的组成结构示意图,如图8所示,该10G-XFI以太网接口接收侧包括MAC子层801和PCS子层802;MAC子层801通过XGMII接口连接PCS子层802。
具体地,PCS子层802包括第十转换单元803、第一解扰单元804和第一解码单元805;其中,第十转换单元803中设置有同步子单元,第十转换单元803配置为进行数据宽度转换,将接收的40比特报文数据变换成66比特报文数据,并根据同步子单元反馈的移位调整信号对报文数据进行移位调整。同步子单元通过检测输入的66比特报文数据的同步头,进行报文数据的同步过程,并在报文数据没有同步上的情况下反馈移位调整信号,
可以看出,第十转换单元803可以完成接收的报文数据的同步过程。
第一解扰单元804,配置为对第十转换单元输出的报文数据作10G带宽等级的解扰操作。
第一解码单元805,配置为通过66b/64b解码,将接收的66比特报文数据解码为64比特报文数据。第一解码单元805解码生成的报文数据为以太网帧。
在一具体子实施例中,MAC子层801包括第一报文恢复单元806、第一CRC32校验单元807、第一报文接收处理单元808、第一流控报文处理单元809和第三跨时钟域FIFO单元810。
第一报文恢复单元806,通过XGMII接口接收来自第一解码单元805的报文数据,将接收的以太网帧解封装为以太网报文。
第一CRC32校验单元807,配置为从第一报文恢复单元806接收以太网报文,对接收的每个报文的CRC32字段进行校验,校验出错的会在报文EOP位置打上ERR标记;第一CRC32校验单元将报文校验结果发送至第一报文接收处理单元808。
第一报文接收处理单元808,配置为根据每个报文的校验结果对报文进行相应处理,这里,报文的处理包括:目的地址字段检查、超长截断、T/L字段检查、去除补丁、流控报文识别和终结。如果第一报文接收处理单元808处理的是流控报文,则将处理后的流控报文发送至第一流控报文处理单元809;第一流控报文处理单元809,对流控报文做进一步解析,生成流控信号,将流控信号输出至第三跨时钟域FIFO单元810。如果第一报文接收处理单元808处理的是工作报文,则将工作报文和对应的流控信号发送至第三跨时钟域FIFO单元810。
第三跨时钟域FIFO单元810,配置为实现PCS子层时钟到MAC子层时钟的时钟频率转换,例如,MAC子层时钟频率至少为270MHz,而PCS
子层时钟的时钟频率为257.8125MHz,该第三跨时钟域FIFO单元810将时钟频率转换为270MHz。
图9为本发明实施例40G以太网接口接收侧的组成结构示意图,如图9所示,该40G以太网接口接收侧包括MAC子层901和PCS子层902;MAC子层901通过XLGMII接口连接PCS子层902。
具体地,PCS子层902包括第十一转换单元903、第十二转换单元904、第十三转换单元905、第十四转换单元906、第一检测单元907、第二检测单元908、第三检测单元909、第四检测单元910、第一对齐单元911、第二解扰单元912、第二解码单元913、第三解码单元914、第四解码单元915和第五解码单元916。在以太网接口接收报文数据时PCS子层902接收4条LANE的报文数据,每个转换单元,配置为接收对应的一条LANE的报文数据,对接收的对应的一条LANE的报文数据进行数据宽度转换,将进行数据宽度转换发送至对应的检测单元。这里,第十一转换单元903至第十四转换单元906进行报文数据宽度转换的过程均与第十转换单元803相同,这里不再详述。
每个检测单元,配置为对接收的报文数据所处的LANE上检测与该LANE对应的mark码,并将接收的报文数据和检测结果发送至第一对齐单元911。
第一对齐单元911,根据接收的检测结果,对接收的4条LANE报文数据进行对齐处理,将对齐处理后的报文数据发送至第二解扰单元912;第一对齐单元911可以使用4个异步FIFO来实现。
第二解扰单元912,配置为对接收的4条LANE报文数据进行40G带宽等级的解扰处理,并将解扰处理后的每条LANE报文数据发送至对应的解码单元。
每个解码单元,对接收的报文数据进行解码处理。这里,第二解码单
元913至第五解码单元916的解码处理过程均与第一解码单元805相同,这里不再详述。
在一具体子实施例中,MAC子层901包括第二报文恢复单元917、第二CRC32校验单元918、第二报文接收处理单元919、第二流控报文处理单元920和第四跨时钟域FIFO单元921;其中,第二报文恢复单元917配置为通过XLGMII接口接收解码处理后的4条LANE的报文数据,对接收的报文数据进行一并处理,这里,第二报文恢复单元917对接收的报文数据的处理过程与第一报文恢复单元806相同,这里不再详述。
第二CRC32校验单元918的实现方式与第一CRC32校验单元807的实现方式相同,第二报文接收处理单元919的实现方式与第一报文接收处理单元808的实现方式相同,第二流控报文处理单元920的实现方式与第一流控报文处理单元809的实现方式相同,第四跨时钟域FIFO单元921的实现方式与第三跨时钟域FIFO单元810的实现方式相同,这里不再详述。
本发明第三实施例的以太网接口的数据接收转置可以支持两种工作模式,第一种为10G-XFI以太网接口模式,第二种为40G以太网接口模式,其中在10G-XFI以太网接口模式下可以最多支持4个端口接收报文数据,在40G以太网接口模式下,支持1个端口接收报文数据。
图10为本发明第三实施例以太网接口的数据接收装置的PCS子层的组成结构示意图,如图10所示,该PCS子层包括:第十五转换单元1001、第十六转换单元1002、第十七转换单元1003、第十八转换单元1004、第五检测单元1005、第六检测单元1006、第七检测单元1007、第八检测单元1008、第二对齐单元1009、第三解扰单元1010、第四解扰单元1011、第五解扰单元1012、第六解扰单元1013、第七解扰单元1014、第三数据选择单元1015、第六解码单元1016、第七解码单元1017、第八解码单元1018、第九解码单元1019、第四数据选择单元1020。
当预先选择的带宽为10G时,第十五转换单元1001至第十八转换单元1004中每个转换单元配置为接收对应的10G带宽输入端口的报文数据;当预先选择的带宽为40G时,第十五转换单元1001至第十八转换单元1004中,每个转换单元配置为接收40G带宽输入端口中对应一条LANE的报文数据。PCS子层支持4条LANE的报文数据输入,每条LANE的报文数据位宽为40比特,每条LANE速率为10.3125Gbps,4条LANE之间的PCS时钟为同频不同相。
第十五转换单元1001至第十八转换单元1004中,每个转换单元配置为对接收的报文数据进行处理,将处理后的报文数据发送至对应的检测单元;这里,每个转换单元对报文数据的处理过程与第十转换单元803,在此不再详述。
第五检测单元1005至第八检测单元1008,每个检测单元配置为在预先选择的带宽为10G时,将接收的报文数据打拍后输出至第二对齐单元1009;在预先选择的带宽为40G时,对接收的报文数据所处的LANE上检测与该LANE对应的mark码,并将接收的报文数据和检测结果发送至第二对齐单元1009。
第二对齐单元1009中设置有4个异步FIFO,这4个异步FIFO配置为在预先选择的带宽为10G时,完成PCS子层时钟到MAC子层时钟的时钟频率转换,将进行时钟频率转换后的报文数据发送至对应的解扰单元;具体地说,报文数据被发送至第二对齐单元后,直接写入到对应的异步FIFO中,在异步FIFO非空的情况下将报文数据从中读出,该异步FIFO的写时钟域为PCS时钟域,读时钟域为MAC时钟域,即在预先选择的带宽为10G时,第二对齐单元中的异步FIFO仅实现报文数据的跨时钟域转换功能。
这4个异步FIFO配置为在预先选择的带宽为40G时,实现接收的4条LANE报文数据的对齐操作,并完成PCS子层时钟到MAC子层时钟的
时钟频率转换,将完成对齐操作和时钟频率转换的报文数据发送至第三解扰单元1010;具体地说,根据对应的LANE的报文数据和检测结果,从检测到mark码位置开始将报文数据写入到第二对齐单元对应的异步FIFO中,只有当4个异步fifo全部同时非空的时候才同时对这4个异步fifo发起读操作,该异步FIFO的写时钟域为PCS时钟域,读时钟域为MAC时钟域。可以看出,在预先选择的带宽为40G时,第二对齐单元中的异步FIFO实现报文数据的对齐处理和跨时钟域转换功能。
第三解扰单元1010,配置为接收的每条LANE报文数据进行40G带宽等级的解扰处理,将解扰处理后的报文数据发送至第三数据选择单元1015;第四解扰单元1011至第七解扰单元1014中的每个解扰单元配置为对接收的报文数据进行10G带宽等级的解扰处理,将解扰处理后的报文数据发送至第三数据选择单元1015。
第三数据选择单元1015,配置为在预先选择的带宽为10G时,选择从第四解扰单元1011至第七解扰单元1014接收报文数据;在预先选择的带宽为40G时,选择从第三解扰单元接收4条LANE的报文数据。第三数据选择单元将接收的报文数据发送至对应的解码单元。
第六解码单元1016至第九解码单元1019中的每个解码单元配置为对接收的报文数据进行66b/64b解码,将接收的66比特报文数据解码为64比特报文数据,这里解码生成的报文数据为以太网帧。第六解码单元1016至第九解码单元1019中的每个解码单元将解码后生成的以太网帧发送至第四数据选择单元1020。
第四数据选择单元1020,配置为在预先选择的带宽为10G时,将接收的以太网帧通过XGMII接口发送至PCS子层;在预先选择的带宽为40G时,将接收的以太网帧通过XLGMII接口发送至MAC子层。这里,向外发送的以太网帧的报文数据位宽为64比特。
本发明第三实施例以太网接口的数据接收装置的PCS子层能够实现IEEE802.3标准中所规定的PCS子层接收侧的基本功能,可以通过XLGMII接口向MAC子层发送数据或通过4个XGMII接口向MAC子层发送数据。
图11为本发明第三实施例以太网接口的数据接收装置的MAC子层的组成结构示意图,如图11所示,该MAC子层包括:第三报文恢复单元1101、第四报文恢复单元1102、第五报文恢复单元1103、第六报文恢复单元1104、第七报文恢复单元1105、第一位宽拼接单元1106、第二位宽拼接单元1107、第三位宽拼接单元1108、第四位宽拼接单元1109、第一报文缓存单元1110、第二报文缓存单元1111、第三报文缓存单元1112、第四报文缓存单元1113、第三CRC32校验单元1114、第三报文接收处理单元1115和第三流控报文处理单元1116。
具体地,第三报文恢复单元1101,配置为将接收的以太网帧解封装为以太网报文,将该以太网报文向外发送;第四报文恢复单元1102至第七报文恢复单元1105中,每个报文恢复单元配置为将接收的以太网帧解封装为以太网报文,将该以太网报文向外发送。
第一位宽拼接单元1106,配置为在预先选择的带宽为40G时,接收第三报文恢复单元1101发送的以太网报文;在预先选择的打开为10G时,接收第四报文恢复单元1102至第七报文恢复单元1105中对应报文恢复单元发送的以太网报文。这里,在预先选择的带宽为40G时,还可以使用第二位宽拼接单元1107、第三位宽拼接单元1108或第四位宽拼接单元1109来接收第三报文恢复单元1101发送的以太网报文,还可以使用新增的位宽拼接单元接收第三报文恢复单元1101发送的以太网报文。
每个位宽拼接单元,配置为将依次接收的多个以太网报文进行拼接,生成256比特的拼接后以太网报文,将256比特的拼接后以太网报文发送至对应的报文缓存单元。
每个报文缓存单元配置为对接收的256比特的拼接后以太网报文进行缓存;当预先选择的带宽为40G时,从第一报文缓存单元中以太网报文,将读取出的以太网报文分别发送至第三CRC32校验单元1114和第三报文接收处理单元1115。
当所述预先选择的带宽为10G时,四个报文缓存单元按照轮询调度的方式向MAC子层输入报文数据,每个10G带宽的输入端口输入的报文数据的数据位宽一致。这里,每个报文缓存单元每次输入的报文数据的数据位宽相同,均为256比特。具体地说,四个报文缓存单元按照轮询调度的方式向MAC子层输入报文数据包括:以循环的方式多次从四个报文缓存单元接收报文数据,每次循环接收报文数据时,按照设定的报文缓存单元的顺序进行报文数据接收。
需要说明的是,四个报文缓存单元中的任一个报文缓存单元没有报文数据向MAC子层输入时,则同样需要为对应的报文缓存单元分配接收报文数据的时间。
作为本发明第三实施例以太网接口的数据接收装置的MAC子层的报文缓存单元的另一种实现方式,当预先选择的带宽为10G时,每个报文缓存单元使用一个同步FIFO进行以太网报文缓存,当预先选择的带宽为40G时,仅使用一个报文缓存单元进行以太网报文的缓存。当预先选择的带宽为10G时,按照轮询调度的方式判断各个报文缓存单元的同步FIFO是否非空,非空则进行读取,空则不进行读取,不管是读取还是不读取,都会占用轮询调度的一个时隙。这样,四个报文缓存单元中的以太网报文会以轮询调度的方式交织输入到第三报文接收处理单元。
当预先选择的带宽为40G时,每次读取以太网报文时,都会判断第一报文缓存单元中的同步FIFO是否,非空则进行读取,空则不进行读取。这样,读取的报文会从固定的报文缓存单元输入到第三报文接收处理单元。
这时,对报文缓存单元的报文读取可以看作是预先选择的带宽为10G时报文缓存单元的报文读取的一种特殊情况。
当预先选择的带宽为10G时,MAC子层针对从各个报文缓存单元中读取的报文数据进行分时处理,在分时处理的过程中,第三CRC32校验单元1114、第三报文接收处理单元1115和第三流控报文处理单元1116均被以分时的形式复用。这里,第三CRC32校验单元1114和第一CRC32校验单元807的实现方式相同,第三报文接收处理单元1115和第一报文接收处理单元808的实现方式相同,第三流控报文处理单元1116和第一流控报文处理单元809的实现方式相同,这里均不再重复描述。通过对第三CRC32校验单元1114、第三报文接收处理单元1115和第三流控报文处理单元1116的分时复用,节省了逻辑资源。
本发明第三实施例以太网接口的数据接收装置的MAC子层实现IEEE802.3标准中所规定的MAC子层接收侧的基本功能。MAC子层在输入方向上可以同时支持四个XGMII接口或1个XLGMII接口进行报文数据输入;在输出方向上,输出的报文分片位宽为256bit,在进行报文数据输出时,按照所选择的带宽进行以太网报文的输出。
这里,对于图8所示的10G-XFI以太网接口接收侧,以太网报文在最后向MAC子层的输出端口发送时,才进行PCS子层时钟到MAC子层时钟的时钟域转换;对于图9所示的40G以太网接口接收侧,报文数据的跨时钟域操作包括:在第一对齐单元中从各条LANE的PCS时钟域转换至任意一条LANE的PCS时钟域,以太网报文在向MAC子层的输出端口发送时,将对应一条LANE的PCS时钟域转换至MAC子层时钟域。而在本发明第三实施例以太网接口的数据接收装置中,不管预先选择的带宽是10G还是40G,报文数据的跨时钟域操作全部都在第二对齐单元的异步FIFO中实现,这样,可以节省FIFO资源,并且使跨时钟域操作变的更加简便。
第四实施例
本发明实施例还提出了一种以太网接口,该以太网接口包括上述任意一种以太网接口的数据处理装置。
第五实施例
针对本发明第一实施例的方法,本发明实施例还提出了一种以太网接口的数据处理方法。
图12为本发明第六实施例以太网接口的数据处理方法的流程图,如图12所示,该方法包括:
步骤1200:选择以太网接口的带宽。
这里,以太网接口包括至少以下一个子层:MAC子层和PCS子层。
本步骤具体包括:在多个待选择的带宽中选择以太网接口的带宽,所述多个待选择的带宽包括第一带宽和第二带宽,第二带宽为第一带宽的N倍,N为大于1的自然数。
步骤1201:基于所选择的带宽对从以太网接口发送或接收的报文数据进行处理,在基于不同的带宽对从以太网接口发送或接收的报文数据进行处理时,以分时的形式复用所述以太网接口内部的资源。
这里,基于所选择的带宽对从以太网接口发送的报文数据进行处理包括:所述MAC子层基于所选择的带宽对自身接收的报文数据进行处理,将处理后的报文数据发送至PCS子层;和/或,所述PCS子层基于所选择的带宽对自身接收的报文数据进行处理。
MAC子层或PCS子层在基于不同的带宽对所述自身接收的报文数据进行处理时,以分时的形式复用自身内部的资源。
在一具体子实施例中,所述PCS子层包括跨时钟域转换单元,配置为实现MAC子层时钟到PCS子层时钟的跨时钟域转换;所述PCS子层在基于不同的带宽对所述自身接收的报文数据进行处理时,以分时的形式复用
所述跨时钟域转换单元。
本发明实施例还提供了一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行前述的以太网接口的数据处理方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功
能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
本发明实施例中,选择以太网接口的带宽;基于所选择的带宽对从以太网接口发送或接收的数据进行处理,在基于不同的带宽对从以太网接口发送或接收的数据进行处理时,以分时的形式复用所述以太网接口内部的资源;如此,在以太网接口发送或接收报文数据时,分时自身内部的存储资源和运算资源,从而能有效降低网络处理器芯片的成本。
Claims (11)
- 一种以太网接口的数据处理装置,所述装置包括:选择模块和接口模块,其中,选择模块,配置为选择以太网接口的带宽;接口模块,配置为基于所选择的带宽对从以太网接口发送或接收的报文数据进行处理,在基于不同的带宽对从以太网接口发送或接收的报文数据进行处理时,以分时的形式复用所述接口模块内部的资源。
- 根据权利要求1所述的装置,其中,所述接口模块包括至少以下一个子层:媒体接入控制MAC子层和物理编码PCS子层;其中,MAC子层,配置为基于所选择的带宽对自身接收的报文数据进行处理,在基于不同的带宽对所述自身接收的报文数据进行处理时,以分时的形式复用自身内部的资源;PCS子层,配置为基于所选择的带宽对自身接收的报文数据进行处理,在基于不同的带宽对所述自身接收的报文数据进行处理时,以分时的形式复用自身内部的资源。
- 根据权利要求2所述的装置,其中,所述PCS子层包括跨时钟域转换单元,配置为实现MAC子层时钟到PCS子层时钟的跨时钟域转换;所述PCS子层,配置为在基于不同的带宽对自身接收的报文数据进行处理时,以分时的形式复用所述跨时钟域转换单元。
- 根据权利要求1所述的装置,其中,所述选择模块,配置为在多个待选择的带宽中选择以太网接口的带宽,所述多个待选择的带宽包括第一带宽和第二带宽,第二带宽为第一带宽的N倍,N为大于1的自然数。
- 根据权利要求4所述的装置,其中,所述接口模块包括至少以下一个子层:MAC子层和PCS子层;其中,所述MAC子层具有N个第一带宽输入端口和一个第二带宽输入端口;所述PCS子层具有N个第一带宽输入 端口和一个第二带宽输入端口;所述MAC子层的N个第一带宽输入端口配置为在所选择的带宽为第一带宽时,按照轮询调度的方式向所述MAC子层输入报文数据,或向所述MAC子层并行输入报文数据;所述MAC子层基于第一带宽对每个第一带宽输入端口输入的报文数据进行处理;所述MAC子层在对各个第一带宽输入端口输入的报文数据进行处理时,以分时的形式复用自身内部的资源;所述PCS子层,配置为在所选择的带宽为第一带宽时,从N个第一带宽输入端口并行接收报文数据,基于第一带宽对每个第一带宽输入端口接收的报文数据进行处理;在对各个第一带宽输入端口接收的报文数据进行处理时,以分时的形式复用自身内部的资源;所述MAC子层,配置为在所选择的带宽为第二带宽时,从所述一个第二带宽输入端口中接收报文数据,基于第二带宽对第二带宽输入端口接收的报文数据进行处理;所述PCS子层,配置为在所选择的带宽为第二带宽时,从所述一个第二带宽输入端口接收报文数据,基于第二带宽对一个第二带宽输入端口接收的报文数据进行处理。
- 根据权利要求1至5任一项所述的装置,其中,所述接口模块内部的资源包括以下至少一种资源:运算资源和存储资源。
- 一种以太网接口,所述以太网接口包括权利要求1至6任一项所述的以太网接口的数据处理装置。
- 一种以太网接口的数据处理方法,所述方法包括:选择以太网接口的带宽;基于所选择的带宽对从以太网接口发送或接收的报文数据进行处理,在基于不同的带宽对从以太网接口发送或接收的报文数据进行处理时,以分时的形式复用所述以太网接口内部的资源。
- 根据权利要求8所述的方法,其中,所述以太网接口包括至少以下一个子层:MAC子层和PCS子层;所述基于所选择的带宽对从以太网接口发送的报文数据进行处理包括:所述MAC子层基于所选择的带宽对自身接收的报文数据进行处理;和/或,所述PCS子层基于所选择的带宽对自身接收的报文数据进行处理;所述MAC子层或PCS子层在基于不同的带宽对所述自身接收的报文数据进行处理时,以分时的形式复用自身内部的资源。
- 根据权利要求9所述的方法,其中,所述PCS子层包括跨时钟域转换单元,配置为实现MAC子层时钟到PCS子层时钟的跨时钟域转换;所述PCS子层在基于不同的带宽对所述自身接收的报文数据进行处理时,以分时的形式复用所述跨时钟域转换单元。
- 一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行权利要求8至10任一项所述的方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201510369062.4 | 2015-06-29 | ||
| CN201510369062.4A CN106330629A (zh) | 2015-06-29 | 2015-06-29 | 一种以太网接口及其数据处理装置、方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2017000417A1 true WO2017000417A1 (zh) | 2017-01-05 |
Family
ID=57607633
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2015/091463 Ceased WO2017000417A1 (zh) | 2015-06-29 | 2015-10-08 | 以太网接口及其数据处理装置、方法、计算机存储介质 |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN106330629A (zh) |
| WO (1) | WO2017000417A1 (zh) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115774631A (zh) * | 2021-09-09 | 2023-03-10 | 苏州盛科通信股份有限公司 | 一种mac数据处理方法、装置、存储介质 |
| CN119476157A (zh) * | 2025-01-09 | 2025-02-18 | 中科亿海微电子科技(苏州)有限公司 | 一种基于fpga的高速以太网接口转换电路 |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN118962414A (zh) * | 2024-10-18 | 2024-11-15 | 西安芯云半导体技术有限公司 | 一种芯片老化测试方法和控制器 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1589548A (zh) * | 2001-11-16 | 2005-03-02 | 英特尔公司 | 在以太网体系结构中实现动态信道化的接口和相关方法 |
| CN101141345A (zh) * | 2007-05-21 | 2008-03-12 | 中兴通讯股份有限公司 | 一种以太网业务的汇聚装置及方法 |
| CN103718515A (zh) * | 2013-03-21 | 2014-04-09 | 华为技术有限公司 | 传输装置、连接机构和方法 |
| CN103875205A (zh) * | 2013-09-13 | 2014-06-18 | 华为技术有限公司 | 传输数据的方法和装置 |
| WO2014173338A1 (zh) * | 2013-07-18 | 2014-10-30 | 中兴通讯股份有限公司 | 利用样点级加速器进行数据处理的方法和样点级加速器 |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101197742B (zh) * | 2007-12-21 | 2010-04-21 | 深圳市三旺通信技术有限公司 | 设备间通过以太网接口传递额外数据的系统及方法 |
| CN201601798U (zh) * | 2009-08-19 | 2010-10-06 | 江西联创通信有限公司 | 一种可灵活配置各业务带宽的高速有线数话同传设备 |
| CN104426631B (zh) * | 2013-09-06 | 2018-03-06 | 华为技术有限公司 | 对数据进行处理的方法及装置 |
| CN103533465B (zh) * | 2013-10-11 | 2017-02-08 | 深圳市共进电子股份有限公司 | 一种无源光网络的设计方法 |
| CN103647981B (zh) * | 2013-12-24 | 2017-05-24 | 深圳国微技术有限公司 | 在dvb‑ci接口中实现命令与传输流复用的方法 |
| CN104394239A (zh) * | 2014-11-20 | 2015-03-04 | 盛科网络(苏州)有限公司 | 一种多通道物理接口连接系统及其连接方法 |
-
2015
- 2015-06-29 CN CN201510369062.4A patent/CN106330629A/zh active Pending
- 2015-10-08 WO PCT/CN2015/091463 patent/WO2017000417A1/zh not_active Ceased
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1589548A (zh) * | 2001-11-16 | 2005-03-02 | 英特尔公司 | 在以太网体系结构中实现动态信道化的接口和相关方法 |
| CN101141345A (zh) * | 2007-05-21 | 2008-03-12 | 中兴通讯股份有限公司 | 一种以太网业务的汇聚装置及方法 |
| CN103718515A (zh) * | 2013-03-21 | 2014-04-09 | 华为技术有限公司 | 传输装置、连接机构和方法 |
| WO2014173338A1 (zh) * | 2013-07-18 | 2014-10-30 | 中兴通讯股份有限公司 | 利用样点级加速器进行数据处理的方法和样点级加速器 |
| CN103875205A (zh) * | 2013-09-13 | 2014-06-18 | 华为技术有限公司 | 传输数据的方法和装置 |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115774631A (zh) * | 2021-09-09 | 2023-03-10 | 苏州盛科通信股份有限公司 | 一种mac数据处理方法、装置、存储介质 |
| CN119476157A (zh) * | 2025-01-09 | 2025-02-18 | 中科亿海微电子科技(苏州)有限公司 | 一种基于fpga的高速以太网接口转换电路 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN106330629A (zh) | 2017-01-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9596075B2 (en) | Transparent serial encryption | |
| US11296807B2 (en) | Techniques to operate a time division multiplexing(TDM) media access control (MAC) | |
| CN106411454B (zh) | 用于数据传输的方法、发送机和接收机 | |
| US8397272B2 (en) | Multi-stream digital display interface | |
| KR102226021B1 (ko) | 서비스 송신 방법과 장치, 서비스 수신 방법과 장치, 및 네트워크 시스템 | |
| US20220416895A1 (en) | Data transmission method and apparatus, terminal device and storage medium | |
| CN107888516B (zh) | 一种承载业务的方法、设备和系统 | |
| US20230118809A1 (en) | Method and apparatus for sending and receiving multiframe, device, system, and storage medium | |
| CN111788794A (zh) | 用于配置灵活以太网节点的方法和设备 | |
| CN110224775A (zh) | 一种时间信息确定的方法、装置及设备 | |
| CN105701053B (zh) | 串行数据发送、接收方法及装置 | |
| WO2015032259A1 (zh) | 对数据进行处理的方法及装置 | |
| WO2008141525A1 (fr) | Procédé et dispositif servant à transférer et à recevoir un bloc mii ethernet à grande vitesse | |
| CN108631873B (zh) | 网络管理信息的收发方法、装置、发送设备和接收设备 | |
| CN112333151A (zh) | 接收cpri数据流和接收以太网帧的方法、装置及系统 | |
| CN112118197B (zh) | 一种开销监控方法和装置、计算机可读存储介质 | |
| US10574424B2 (en) | Transmission bandwidth improvements for DVB-S2X channel bonding | |
| US9246617B2 (en) | Reformating a plurality of signals to generate a combined signal comprising a higher data rate than a data rate associated with the plurality of signals | |
| US11438098B2 (en) | Data transmission method, sending apparatus, and receiving apparatus | |
| WO2019100982A1 (zh) | 数据传输方法和设备 | |
| US6980649B1 (en) | Hardware-based encryption/decryption employing dual ported memory and fast table initialization | |
| WO2017000417A1 (zh) | 以太网接口及其数据处理装置、方法、计算机存储介质 | |
| WO2021013025A1 (zh) | 数据接收方法及装置、数据发送方法及装置 | |
| CN107888611A (zh) | 通信方法和装置 | |
| WO2020248865A1 (zh) | 控制字的传输方法、装置和计算机可读存储介质 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 15896947 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 15896947 Country of ref document: EP Kind code of ref document: A1 |