WO2015100734A1 - 数据处理的方法和装置 - Google Patents

数据处理的方法和装置 Download PDF

Info

Publication number
WO2015100734A1
WO2015100734A1 PCT/CN2014/070093 CN2014070093W WO2015100734A1 WO 2015100734 A1 WO2015100734 A1 WO 2015100734A1 CN 2014070093 W CN2014070093 W CN 2014070093W WO 2015100734 A1 WO2015100734 A1 WO 2015100734A1
Authority
WO
WIPO (PCT)
Prior art keywords
data streams
data
stream
streams
clock
Prior art date
Application number
PCT/CN2014/070093
Other languages
English (en)
French (fr)
Inventor
李志军
王童童
李长松
杨文斌
陈志强
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP14877034.0A priority Critical patent/EP3082303A4/en
Priority to CN201480000178.4A priority patent/CN103931146B/zh
Priority to PCT/CN2014/070093 priority patent/WO2015100734A1/zh
Publication of WO2015100734A1 publication Critical patent/WO2015100734A1/zh
Priority to US15/200,930 priority patent/US9871677B2/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/03Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
    • H04L25/03828Arrangements for spectral shaping; Arrangements for providing signals with specified spectral properties
    • H04L25/03866Arrangements for spectral shaping; Arrangements for providing signals with specified spectral properties using scrambling
    • H04L25/03872Parallel scrambling or descrambling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/14Channel dividing arrangements, i.e. in which a single bit stream is divided between several baseband channels and reassembled at the receiver
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0008Synchronisation information channels, e.g. clock distribution lines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • H04L2012/6445Admission control
    • H04L2012/6448Medium Access Control [MAC]
    • H04L2012/6454Random, e.g. Ethernet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/43Assembling or disassembling of packets, e.g. segmentation and reassembly [SAR]
    • H04L47/431Assembling or disassembling of packets, e.g. segmentation and reassembly [SAR] using padding or de-padding

Definitions

  • the data processing method and apparatus provided by the embodiments of the present invention can process the received data streams of different sources and different frequencies, and further facilitate the further processing of the processed data streams.
  • the method further includes: Performing a second operation on each of the N second data streams to obtain N fourth data streams, wherein the N fourth data streams and the N second data streams -
  • the AM header of each fourth data stream is a header of data transmitted by the fourth data stream in one clock cycle driven by the third clock
  • the AM header of each fourth data stream It is a sub-block of the LSB of the corresponding AM of the second data stream or the AM of the corresponding second data stream.
  • the method further includes:
  • the method further includes:
  • the first Ethernet frame stream and the second Ethernet frame stream are aggregated to obtain an Ethernet frame stream, driven by the clock signal transmitted by the third clock.
  • a first converting unit configured to convert the X data streams received by the first receiving unit into M data streams transmitted on M virtual channels, where the M data streams and the M virtual cells Corresponding to the channel, M is a positive integer;
  • a sixth unit configured to perform a sixth operation on the N sixth data streams generated by the fourth unit N N eighth data streams are obtained, wherein the data block groups in the N eighth data streams are aligned.
  • the method further includes:
  • the system chip can include 1 MAC and 1 PHY.
  • the system chip may also include multiple MACs and multiple PHYs.
  • a PHY in the system chip can be coupled to a MAC in the system chip.
  • the system chip can be implemented by an FPGA or an ASIC.
  • FIG. 1 is a schematic flowchart of a method for data processing according to an embodiment of the present invention.
  • the body of execution of the method can be a PHY, a PHY chip, a system chip, or a multi-port Ethernet device.
  • X can be equal to 1.
  • Y can be equal to 1.
  • the N data streams correspond to the N virtual channels
  • each of the M data streams and each of the N data streams includes an alignment mark (English: alignment marker, cartridge: AM) and a data block group
  • the AM is a direct upper (English: immediate previous) data block of the data block group
  • the data block group containing the number of bits equal to a positive integer multiple of the number of bits included in the AM, Both M and N are positive integers.
  • FIG. 7 is a schematic structural diagram of an apparatus for data processing according to an embodiment of the present invention.
  • the apparatus can be used to perform the method illustrated in Figure 1 or Figure 2.
  • the device can be a PHY, a PHY chip, a system chip or a multi-port Ethernet device.
  • FIG. 8 is a schematic structural diagram of an apparatus for data processing according to an embodiment of the present invention.
  • the apparatus 700 shown in Fig. 7 can be implemented by the apparatus shown in Fig. 8. Referring to Figure 7, the device includes:
  • the first adjustment unit 705 can be implemented by the bandwidth adjustment circuit 803. Specifically, it can be implemented by FIFO cache group 1.
  • the data output by the FIFO buffer group 1 is the M first data streams.
  • FIFO buffer group 1 includes FIFO 1, FIFO 2 ⁇ FIFO M.
  • the second adjusting unit 706 is configured to perform bandwidth adjustment on each of the N data streams generated by the second converting unit 704 to obtain N second data streams, where the N second data streams are Corresponding to the N data streams, the M first data streams and the N second data streams are driven by a third clock, and each of the N second data streams The bandwidth of the two data streams is greater than the bandwidth of the data streams in the corresponding N data streams.
  • the second adjustment unit 706 can be implemented by the bandwidth adjustment circuit 803. Specifically, it can be implemented by FIFO cache group 2.
  • the data output by the FIFO buffer group 2 is the N second data streams.
  • the FIFO buffer group 2 includes a FIFO 1, a FIFO 2, ... FIFO N.
  • M first data streams and N second data streams in the same clock domain can be generated. Therefore, it is convenient to perform subsequent processing on the M first data streams and the N second data streams in the same clock domain.
  • the adjustment of the bandwidth can be implemented by performing a write operation and a read operation on a first-in first-out (English: First In First Out, FIFO) cache.
  • M data streams can be written into M first-in, first-out (FIFO) buffers respectively, and then M FIFO buffers are read, and M FIFO buffers correspond to M data streams.
  • the frequency of writing to the M FIFO buffers may be the frequency of the first clock
  • the frequency of reading the M FIFO buffers may be the frequency of the third clock.
  • the read data bit width for a read operation on the FIFO buffer can be larger than the write data bit width for a write operation to the FIFO buffer.
  • the first receiving unit 901 in the device 900 has the same function as the first receiving unit 701 in the device 700
  • the second receiving unit 902 in the device 900 has the same function as the second receiving unit 702 in the device 700
  • the first conversion unit 903 has the same function as the first conversion unit 703 in the device 700
  • the second conversion unit 904 in the device 900 has the same function as the second conversion unit 704 in the device 700
  • the first adjustment unit in the device 900 905 has the same function as the first adjustment unit 705 in the device 700
  • the second adjustment unit 906 in the device 900 has the same function as the second adjustment unit 706 in the device 700. Since the functions of these units are the same, it is not necessary to repeat them here.
  • the first unit 907 is configured to perform a first operation on each of the M first data streams generated by the first adjusting unit 905 to obtain M third data streams, where the M Corresponding to the M first data streams, the AM header of each third data stream is transmitted by the third data stream in one clock cycle driven by the third clock
  • the header of the data, the AM header of each of the third data streams is a sub-block of the corresponding first data stream AM or the corresponding first data stream AM containing the least significant bit LSB of the AM.
  • the AM header when performing the first operation, can be identified first, and then the AM header is adjusted to the head of the data transmitted in one clock cycle. That is, the first operation can include two operations: Identifying the AM header operation and adjusting the AM header operation.
  • the AM header when performing the second operation, the AM header may be identified first, and then the AM header is adjusted to the head of the data transmitted in one clock cycle. That is, the first operation can include two operations: Identifying the AM header operation and adjusting the AM header operation.
  • the LSB is included in the complete AM.
  • the AM header includes the LSB of the corresponding AM.
  • the AM header can be a complete AM or a sub-block of the complete AM including the AM LSB.
  • a complete AM can be divided into K sub-blocks of AM_1 to AM_K, where K is a positive integer greater than 2.
  • the first sub-AM block (i.e., AM_1) of the K sub-AM blocks contains the LSB.
  • AM_1 can be called an AM header.
  • the third unit 909 is configured to perform a third operation on the M third data streams generated by the first unit 907 to obtain M fifth data streams, where the M AMs of the M fifth data streams The head is aligned.
  • the third unit 909 can be implemented by a sequential logic circuit.
  • the fourth unit 910 is configured to perform a fourth operation on the N fourth data streams generated by the second unit 908 to obtain N sixth data streams, where the N AMs of the N sixth data streams The head is aligned.
  • fourth unit 910 can be implemented by sequential logic circuitry.
  • AM head alignment means that the LSBs in the AM header are aligned.
  • the AM header of each of the N sixth data streams is located in data transmitted by the N sixth data streams in the same clock cycle driven by the clock signal transmitted by the third clock.
  • the fifth unit 911 is configured to perform a fifth operation on the M fifth data streams generated by the third unit 909 to obtain M seventh data streams, where the data blocks in the M seventh data streams The groups are aligned.
  • the sixth unit 912 is configured to perform a sixth operation on the N sixth data streams generated by the fourth unit 910 to obtain N eighth data streams, where the data blocks in the N eighth data streams The groups are aligned.
  • sixth unit 912 can be implemented by a sequential logic circuit.
  • the data block group in each of the seventh data streams includes AM and Z data blocks.
  • the Z data blocks include a first data block to a Z data block.
  • the Z data blocks are transmitted in chronological order from the first data block to the Zth data block. If the data blocks of the same number in each of the M seventh data streams are transmitted in the same clock cycle, it can be considered that the data block groups in the M seventh data streams are aligned.
  • the M first data blocks in the M seventh data streams are all transmitted in the same clock cycle.
  • the M second data blocks in the M seventh data streams are all transmitted in the same clock cycle.
  • the M Zth data blocks in the M seventh data streams are all transmitted in the same clock cycle.
  • Z is an integer greater than one. For example, Z can be equal to 16383.
  • the fifth operation can be performed by operating the FIFO buffer. Specifically, taking any one of the M fifth data streams as an example, when the FIFO buffer write operation is performed, if the AM data block and the padding data are encountered, they are not written into the FIFO buffer. .
  • a FIFO buffer read operation is performed, if one FIFO buffer is empty in the current clock cycle, the current clock cycle uses one clock cycle of padding data as an output.
  • the number of bits of the padding data is equal to the number of bits of AM.
  • the M fifth data streams correspond to a FIFO buffer group
  • the FIFO buffer group includes 5*M FIFO buffers
  • one of the M fifth data streams corresponds to d FIFO buffers, 5 is A positive integer.
  • the data in all FIFO buffers in the FIFO buffer group is not read. At this time, the padding data is used as the output data. If all of the FIFO buffers in the FIFO buffer group have data waiting to be read, data is read from each FIFO in the FIFO buffer group.
  • Apparatus 900 can also include:
  • the seventh unit can be implemented by a descrambler.
  • the eighth unit can be implemented by a descrambler.
  • the ninth unit 915 is configured to: drive, by the clock signal sent by the third clock, the first Ethernet frame stream generated by the seventh unit 913 and the first unit generated by the eighth unit 914
  • the two Ethernet frame streams are aggregated to obtain an Ethernet frame stream.
  • the ninth unit 915 can be implemented by an aggregation circuit.
  • the disclosed systems, devices, and methods may be implemented in other ways.
  • the device embodiments described above are merely illustrative.
  • the division of the unit is only a logical function division.
  • there may be another division manner for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored, or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be electrical, mechanical or otherwise.
  • the units described as separate components may or may not be physically separate, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solution of the embodiment.
  • the functions, if implemented in the form of software functional units and sold or used as separate products, may be stored in a computer readable storage medium.
  • the technical solution of the present invention which is essential to the prior art or part of the technical solution, may be embodied in the form of a software product stored in a storage medium, including
  • the instructions are used to cause a computer device (which may be a personal computer, a set top box, or a personal digital assistant) or a processor to perform all or part of the steps of the methods described in various embodiments of the present invention.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Power Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Multimedia (AREA)
  • Communication Control (AREA)

Abstract

 本发明实施例提供了数据处理的方法和装置,包括:通过以太网接口的X个物理通道接收X个数据流,将所述X个数据流转换为在M个虚通道上传输的M个数据流,对所述M个数据流中的每个数据流中进行带宽调整以得到M个第一数据流;通过所述以太网接口的Y个物理通道接收Y个数据流,将所述Y个数据流转换为在N个虚通道上传输的N个数据流,对所述N个数据流中的每个数据流进行带宽调整以得到N个第二数据流。此外,还提供了相应的装置。上述技术方案能够对接收到的不同源且不同频的数据流进行处理。

Description

数据处理的方法和装置 技术领域
本发明实施例涉及通信技术领域, 并且更具体地, 涉及数据处理的方法 和装置。 背景技术
传统以太网中,接收装置的一个接收器通过以太网接口接收发送装置的 一个发送器通过以太网接口发送的数据。 接收装置可以是路由器。 发送装置 也可以是路由器。 具体来说, 该发送器的以太网接口可以通过 P路物理通道 (英文: physical lane, 筒称: PL)发送 P路数据流。 P为正整数。 P路物理通 道可以对应 P个串行 /解串器(英文: serializer/deserializer , 筒称: serdes )。 该发送器使用一个时钟驱动发送器的以太网接口发送该 P路数据流。接收器 在通过 P路物理通道接收到 P路数据流后,需要使用一个时钟对这 P路物理 通道中的 P路数据流进行处理, 例如使用时钟数据恢复 (英文: clock data recovery, 筒称: CDR)电路对 P路数据流进行处理。 处理后的 P路数据流的 频率相同。 进而, 接收装置对处理后的 P路数据流进行后续处理。 接收器接 收到的数据流是来自于同一个发送器(即同源)使用同一个时钟(即同频) 驱动以太网接口发送的可以将上述数据流称为同源同频的数据流。
随着以太网技术的发展, 可能出现不同源且不同频的数据流。 即不同的 发送器分别使用不同的时钟驱动不同的以太网接口发送数据流。如何对不同 发送器(不同源)并且使用的时钟不同 (不同频)的数据流进行处理是一个 需要解决的问题。 发明内容
本发明实施例提供的数据处理的方法和装置, 能够对接收到的不同源且 不同频的数据流进行处理, 有助于对处理后的数据流进行进一步处理。
第一方面, 提供了一种数据处理的方法, 包括:
通过以太网接口的 X个物理通道接收 X个数据流, 其中所述 X个数据 流是第一发送器在第一时钟的驱动下发送的, 所述 X个物理通道与所述 X 个数据流——对应, X为正整数; 将所述 X个数据流转换为在 M个虚通道上传输的 M个数据流, 其中所 述 M个数据流与所述 M个虚通道——对应, M为正整数;
对所述 M个数据流中的每个数据流中进行带宽调整以得到 M个第一数 据流, 所述 M个第一数据流与所述 M个数据流——对应, 所述 M个第一数 据流中每个第一数据流的带宽大于对应的 M个数据流中的数据流的带宽; 通过所述以太网接口的 Y个物理通道接收 Y个数据流, 其中所述 X个 物理通道中的任意一个物理通道不同于所述 Y 个物理通道中的任意一个物 理通道, 所述 Y个数据流是第二发送器在第二时钟的驱动下发送的,所述 Y 个物理通道与所述 Y个数据流——对应, Y为正整数, 所述第一时钟的名义 工作频率等于所述第二时钟的名义工作频率,所述第一时钟的实际工作频率 不等于所述第二时钟的实际工作频率;
将所述 Y个数据流转换为在 N个虚通道上传输的 N个数据流, 其中所 述 N个数据流与所述 N个虚通道——对应, 所述 M个数据流中每个数据流 和所述 N个数据流中的每个数据流均包括对齐标记 AM以及数据块组, 所 述 AM是所述数据块组的直接的上一个数据块,所述数据块组包含的比特的 数量等于所述 AM包含的比特的数量的正整数倍, N为正整数;
对所述 N个数据流中的每个数据流进行带宽调整以得到 N个第二数据 流, 所述 N个第二数据流与所述 N个数据流——对应, 所述 M个第一数据 流与所述 N个第二数据流在第三时钟的驱动下进行传输, 所述 N个第二数 据流中每个第二数据流的带宽大于对应的 N个数据流中的数据流的带宽。
第一方面的第一种可能的实现方式中,
在所述对所述 M个数据流中的每个数据流进行带宽调整以得到 M个第 一数据流之后, 所述方法还包括:
对所述 M个第一数据流中的每个第一数据流执行第一操作以得到 M个 第三数据流, 其中所述 M个第三数据流与所述 M个第一数据流——对应, 每个第三数据流的 AM 头是所述第三数据流在所述第三时钟的驱动下在一 个时钟周期内传输的数据的头部,所述每个第三数据流的 AM头是对应的第 一数据流的 AM或对应的第一数据流的 AM中的包含 AM的最不重要比特 LSB的子数据块;
在所述对所述 N个数据流中的每个数据流进行带宽调整以得到 N个第 二数据流之后, 所述方法还包括: 对所述 N个第二数据流中的每个第二数据流执行第二操作以得到 N个 第四数据流, 其中所述 N个第四数据流与所述 N个第二数据流——对应, 每个第四数据流的 AM 头是所述第四数据流在所述第三时钟的驱动下在一 个时钟周期内传输的数据的头部,所述每个第四数据流的 AM头是对应的第 二数据流的 AM或对应的第二数据流的 AM中的包含 AM的 LSB的子数据 块。
根据第一方面的第一种可能的实现方式,在第一方面的第二种可能的实 现方式中,
在所述对所述 M个第一数据流中的每个第一数据流执行第一操作以得 到 M个第三数据流之后, 所述方法还包括:
对所述 M个第三数据流执行第三操作以得到 M个第五数据流, 其中所 述 M个第五数据流的 M个 AM头是对齐的;
在所述对所述 N 个第二数据流中的每个第二数据流执行第二操作以得 到 N个第四数据流之后, 所述方法还包括:
对所述 N个第四数据流执行第四操作以得到 N个第六数据流, 其中所 述 N个第六数据流的 N个 AM头是对齐的。
根据第一方面的第二种可能的实现方式,在第一方面的第三种可能的实 现方式中,
在所述对所述 M个第三数据流执行第三操作以得到 M个第五数据流之 后, 所述方法还包括:
对所述 M个第五数据流执行第五操作以得到 M个第七数据流, 其中所 述 M个第七数据流中的数据块组是对齐的;
在所述对所述 N个第四数据流执行第四操作以得到 N个第六数据流之 后, 所述方法还包括:
对所述 N个第六数据流执行第六操作以得到 N个第八数据流, 其中所 述 N个第八数据流中的数据块组是对齐的。
根据第一方面的第三种可能的实现方式,在第一方面的第四种可能的实 现方式中,
在所述对所述 M个第五数据流执行第五操作以得到 M个第七数据流之 后, 所述方法还包括:
将所述 M个第七数据流进行解扰以得到第一以太网帧流; 在所述对所述 N个第六数据流执行所述第六操作以得到 N个第八数据 流之后, 所述方法还包括:
将所述 N个第八数据流进行解扰以得到第二以太网帧流。
根据第一方面的第四种可能的实现方式,在第一方面的第五种可能的实 现方式中, 所述方法还包括:
在所述第三时钟发送的时钟信号的驱动下,将所述第一以太网帧流和所 述第二以太网帧流进行汇聚以得到以太网帧流。
第二方面, 提供了一种数据处理的装置, 包括:
第一接收单元, 用于通过以太网接口的 X个物理通道接收 X个数据流, 其中所述 X个数据流是第一发送器在第一时钟的驱动下发送的, 所述 X个 物理通道与所述 X个数据流——对应, X为正整数;
第一转换单元,用于将所述第一接收单元接收的所述 X个数据流转换为 在 M个虚通道上传输的 M个数据流, 其中所述 M个数据流与所述 M个虚 通道 对应, M为正整数;
第一调整单元, 用于对所述第一转换单元生成的所述 M个数据流中的 每个数据流中进行带宽调整以得到 M个第一数据流, 所述 M个第一数据流 与所述 M个数据流——对应, 所述 M个第一数据流中每个第一数据流的带 宽大于对应的 M个数据流中的数据流的带宽;
第二接收单元, 用于通过所述以太网接口的 Y个物理通道接收 Y个数 据流, 其中所述 X个物理通道中的任意一个物理通道不同于所述 Y个物理 通道中的任意一个物理通道,所述 Y个数据流是第二发送器在第二时钟的驱 动下发送的, 所述 Y个物理通道与所述 Y个数据流——对应, Y为正整数, 所述第一时钟的名义工作频率等于所述第二时钟的名义工作频率, 所述第一 时钟的实际工作频率不等于所述第二时钟的实际工作频率;
第二转换单元,用于将所述第二接收单元接收的所述 Y个数据流转换为 在 N个虚通道上传输的 N个数据流, 其中所述 N个数据流与所述 N个虚通 道——对应, 所述 M个数据流中每个数据流和所述 N个数据流中的每个数 据流均包括对齐标记 AM以及数据块组,所述 AM是所述数据块组的直接的 上一个数据块,所述数据块组包含的比特的数量等于所述 AM包含的比特的 数量, N为正整数;
第二调整单元,用于对所述第二转换单元生成的所述 N个数据流中的每 个数据流进行带宽调整以得到 N个第二数据流, 所述 N个第二数据流与所 述 N个数据流——对应, 所述 M个第一数据流与所述 N个第二数据流在第 三时钟的驱动下进行传输,所述 N个第二数据流中每个第二数据流的带宽大 于对应的 N个数据流中的数据流的带宽。
第二方面的第一种可能的实现方式中, 还包括:
第一单元, 用于对所述第一调整单元生成的所述 M个第一数据流中的 每个第一数据流执行第一操作以得到 M个第三数据流, 其中所述 M个第三 数据流与所述 M个第一数据流——对应, 每个第三数据流的 AM头是所述 第三数据流在所述第三时钟的驱动下在一个时钟周期内传输的数据的头部, 所述每个第三数据流的 AM头是对应的第一数据流的 AM或对应的第一数据 流 AM中的包含 AM的最不重要比特 LSB的子数据块;
第二单元,用于对所述第二调整单元生成的所述 N个第二数据流中的每 个第二数据流执行第二操作以得到 N个第四数据流, 其中所述 N个第四数 据流与所述 N个第二数据流——对应, 每个第四数据流的 AM头是所述第 四数据流在所述第三时钟的驱动下在一个时钟周期内传输的数据的头部, 所 述每个第四数据流的 AM头是对应的第二数据流的 AM或对应的第二数据流 AM中的包含 AM的最不重要比特 LSB的子数据块。
根据第二方面的第一种可能的实现方式,在第二方面的第二种可能的实 现方式中, 还包括:
第三单元, 用于对所述第一单元生成的所述 M个第三数据流执行第三 操作以得到 M个第五数据流,其中所述 M个第五数据流的 M个 AM头是对 齐的。
第四单元,用于对所述第二单元生成的所述 N个第四数据流执行第四操 作以得到 N个第六数据流, 其中所述 N个第六数据流的 N个 AM头是对齐 的。
根据第二方面的第二种可能的实现方式,在第二方面的第三种可能的实 现方式中, 还包括:
第五单元, 用于对所述第三单元生成的所述 M个第五数据流执行第五 操作以得到 M个第七数据流, 其中所述 M个第七数据流中的数据块组是对 齐的。
第六单元,用于对所述第四单元生成的所述 N个第六数据流执行第六操 作以得到 N个第八数据流, 其中所述 N个第八数据流中的数据块组是对齐 的。
根据第二方面的第三种可能的实现方式,在第二方面的第四种可能的实 现方式中, 还包括:
第七单元, 用于将所述第五单元生成的所述 M个第七数据流进行解扰 以得到第一以太网帧流。
第八单元,用于将所述第六单元生成的所述 N个第八数据流进行解扰以 得到第二以太网帧流。
根据第二方面的第四种可能的实现方式,在第二方面的第五种可能的实 现方式中, 还包括:
第九单元, 用于在所述第三时钟发送的时钟信号的驱动下, 将所述第七 单元生成的所述第一以太网帧流和所述第八单元生成的所述第二以太网帧 流进行汇聚以得到以太网帧流。
接收器可能接收不同源且不同频的数据流。如果接收器按照现有技术处 理这些不同源的数据流, 无法确保处理后的数据流处于相同的时钟域。 因为 不同源的数据流处于不同时钟域, 接收器分别使用 CDR电路对不同源且不 同频的数据流进行处理得到的新的数据流也处于不同的时钟域。接收器很难 对处于不同时钟域的新的数据流进行进一步的处理, 例如解扰。 根据本发明 实施例所提供的方法,接收器在将从物理通道上接收到不同源的多路数据流 映射为虚通道中的多路数据流后,在该虚通道中的多路数据流中的每一路数 据流中添加填充数据, 使得数据流在相同的时钟的驱动下进行传输。 根据本 发明实施例所提供的方法, 接收器能够生成处于相同的时钟域的多路数据 流。这样接收器能够方便地对处于相同的时钟域的多路数据流进行后续的处 理。 附图说明
为了更清楚地说明本发明实施例的技术方案, 下面将对本发明实施例中 所需要使用的附图作筒单地介绍, 显而易见地, 下面所描述的附图仅仅是本 发明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动的 前提下, 还可以根据这些附图获得其他的附图。
图 1是本发明实施例提供的一种数据处理的方法的示意性流程图; 图 2是本发明实施例提供的带宽调整前后数据的图样示意图;
图 3是本发明实施例提供的第一操作执行前后的数据的示意图; 图 4是本发明实施例提供的第三操作执行前后的数据的图样示意图; 图 5 是本发明实施例提供的执行虚通道重排序操作前后的数据的示意 图;
图 6是本发明实施例提供的执行第五操作前后的数据的示意图; 图 7是本发明实施例提供的一种数据处理的装置的结构示意图; 图 8为本发明实施例提供的一种数据处理的装置的结构示意图。
图 9为本发明实施例提供的另一数据处理的装置的结构示意图。 具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行 清楚、 完整地描述, 显然, 所述的实施例是本发明的一部分实施例, 而不是 全部实施例。 基于本发明中的实施例, 本领域普通技术人员在没有做出创造 性劳动的前提下所获得的所有其他实施例, 都应属于本发明保护的范围。
下文对本发明实施例涉及到的部分术语进行说明:
物理层电路(英文: physical layer, 筒称: PHY ): 所述 PHY可以通过 现场可编程门阵列 (英文: field programmable gate array, 筒称: FPGA )或 者专用集成电路 (英文: application specific integrated circuit , 筒称: ASIC ) 实现。所述 PHY可以包括 serdes、 比特解复用电路(英文: bit demultiplexer, 筒称: bit demux )、 先入先出緩存 (英文: first in first out buffer, 筒称: FIFO buffer )、解扰电路以及汇聚电路。所述 PHY可以是网络接口卡(英文: network interface card, 筒称: NIC )中的部件,所述 NIC可以是线卡(英文: line card, 筒称: LC )或者物理接口卡 (英文: physical interface card, 筒称: PIC )。 所述 PHY可以通过媒体无关接口 (英文: media independence interface, 筒 称: ΜΠ )连接到媒体访问控制器(英文: media access controller, 筒称: MAC )。
PHY芯片 (英文: PHY chip ): 所述 PHY芯片可以包括 1个 PHY或者 多个 PHY。 所述 PHY芯片可以通过 FPGA或者 ASIC实现。
MAC: 所述 MAC可以通过 FPGA或者 ASIC实现。 所述 MAC可以包 括协调子层电路(英文: reconciliation sublayer, 筒称: RS ) 以及循环冗余 码(英文: cyclic redundancy code, 筒称: CRC )计算电路。
MAC芯片 (英文: MAC chip ): 所述 MAC芯片可以包括 1个 MAC或 者多个 MAC。 所述 MAC芯片可以通过 FPGA或者 ASIC实现。
系统芯片: 所述系统芯片可以包括 1个 MAC和 1个 PHY。 所述系统芯 片也可以包括多个 MAC和多个 PHY。 所述系统芯片中的 PHY可以与所述 系统芯片中的 MAC耦合。 所述系统芯片可以通过 FPGA或者 ASIC实现。
多端口以太网设备: 所述多端口以太网设备可以是以太网集线器、 以太 网路由器或者以太网交换机。 所述多端口以太网设备包括多个端口, 每个端 口可以包括 PHY和 MAC。
图 1是根据本发明实施例提供的数据处理的方法的示意性流程图。所述 方法的执行主体可以是 PHY、 PHY芯片、 系统芯片或者多端口以太网设备。
5101 , 通过以太网接口的 X个物理通道接收 X个数据流。 该 X个数据 流是第一发送器在第一时钟的驱动下发送的, 该 X个物理通道与该 X个数 据流——对应, X为正整数。
举例来说, X可以等于 1。
5102, 将该 X个数据流转换为在 M个虚通道(英文: virtual lane, 筒称 VL )上传输的 M个数据流。 该 M个数据流与该 M个虚通道——对应, M 为正整数。
举例来说, M可以等于 1。
S103 , 对该 M个数据流中的每个数据流进行带宽调整以得到 M个第一 数据流。该 M个第一数据流与该 M个数据流——对应。 该 M个第一数据流 中的每个第一数据流的带宽大于对应 M个数据流中的数据流的带宽。
5104, 通过该以太网接口的 Y个物理通道接收 Y个数据流。 该 Y个数 据流是第二发送器在第二时钟的驱动下发送的, 该 Y个物理通道与该 Y个 数据流——对应, Y为正整数, 该第一时钟的名义(英文: nominal )工作频 率等于该第二时钟的名义工作频率,该第一时钟的实际工作频率不等于该第 二时钟的实际工作频率。
举例来说, Y可以等于 1。
5105 , 将该 Y个数据流转换为在 N个虚通道上传输的 N个数据流。 该 N个数据流与该 N个虚通道——对应, 该 M个数据流中每个数据流和该 N 个数据流中的每个数据流均包括对齐标记(英文: alignment marker, 筒称: AM )以及数据块组,该 AM是该数据块组的直接的上一个(英文: immediate previous )数据块, 该数据块组包含的比特的数量等于该 AM包含的比特的 数量的正整数倍, M和 N均为正整数。
举例来说, N可以等于 1。
举例来说,该数据块组中每个数据块包含的比特的数量等于 AM包含的 比特的数量。 另外, AM也是一种数据块。
下文对数据流中的数据块进行说明。数据流中的每个数据块是对以太网 帧流进行物理层编码得到的。 物理层编码可以是 8bit/10bit编码, 也可以是 64bit/66bit编码。 当物理层编码是 8bit/10bit编码时, 1个数据块中包含的比 特的数量是 10。 当物理层编码是 64bit/66bit编码时, 1个数据块中包含的比 特的数量是 66。 10个比特的数据块中, 2个比特可以是同步头。 66个比特 的数据块中, 2个比特可以是同步头。 如无特别说, 本发明实施例中的数据 块是指没有包含同步头的数据块。 例如, 本发明实施例中的 64比特的数据 块是不包含同步头的数据块。 另外, 生成数据块后, 需要向虚通道分发数据 块。 一个时钟周期可以向虚通道分发一个数据块, 也可以向虚通道分发 2个 数据块。 因此, 对于一个虚通道, 一个时钟周期传输的数据的比特的数量等 于 128。 由于一个时钟周期传输的数据的比特的数量等于一个数据块的比特 的数量, 因此, 虚通道上传输的数据块的比特的数量可以是 128。 AM是数 据块的一种。 因此, 虚通道上传输的 AM的比特的数量也可以是 128。
在对以太网帧流进行物理层编码后会周期性的插入 AM, 这样的周期可 以称为数据周期。 举例来说, 根据电气和电子工程师学会(英文: Institute of Electrical and Electronics Engineers, 筒称: IEEE ) 802.3ba中的 100千兆以太 网 (英文: gigabit ethernet, 筒称: GE )标准, 一个数据周期传输的数据可 以是 16384个数据块。 所述 16384个数据块包括 AM以及 16383个数据块。 其中, AM先于 16383个数据块被传输。 所述 16384个数据块中每个数据块 包含的比特的数量是 64。 也就是说, 通常情况下, 一个数据周期传输的数据 中包含一个 AM以及多个数据块,所述多个数据块组成数据块组。换句话说, 插入 AM后,一个数据周期传输的数据中内除了 AM以外的数据块为数据块 组中的数据块。 一个数据周期传输的数据中, 所述多个数据块中的每个数据 块包含的比特的数量等于 AM包含的比特的数量。
S106, 对该 N个数据流中的每个数据流进行带宽调整以得到 N个第二 数据流。 该 N个第二数据流与该 N个数据流——对应, 该 M个第一数据流 与该 N个第二数据流在第三时钟的驱动下进行传输。 该 N个第二数据流中 的每个第二数据流的带宽大于对应的 N个数据流中的数据流的带宽。
根据本图 1所示的方法, 能够生成处于相同的时钟域的 M个第一数据 流以及 N个第二数据流。 因此, 能够方便地对处于相同的时钟域的 M个第 一数据流以及 N个第二数据流进行后续处理。
S103中,对 M个数据流中的每个数据流进行带宽调整以得到 M个第一 数据流可以通过频率调整和 /或位宽调整实现。数据流的带宽与数据流的驱动 时钟频率相关,也与数据流的位宽相关。具体地,数据流的带宽满足公式 1.1 :
B = F ^b , 公式 1.1 其中, B表示数据流的带宽, F表示数据流的驱动时钟频率, b表示数 据流的位宽。 类似的, 对于 S106, 也可以通过频率调整和 /或位宽调整实现 对于 N个数据流中的每个数据流进行带宽调整以得到 N个第二数据流。
对于带宽的调整可以通过对 FIFO緩存执行写操作和读操作来实现。 以 S103中的 M个数据流为例,可以通过将 M个数据流分别写入 M个 FIFO緩 存, 然后对 M个 FIFO緩存进行读操作, M个 FIFO緩存与 M个数据流—— 对应。 对 M个 FIFO緩存进行写操作的频率可以是第一时钟的频率, 对 M 个 FIFO緩存进行读操作的频率可以是第三时钟的频率。 对 FIFO緩存进行 读取操作的读数据位宽可以大于对 FIFO緩存进行写操作的写数据位宽。 如 果调整带宽只通过调整频率实现而不调整位宽, 则第三时钟的频率大于第一 时钟的频率。 如果调整带宽通过调整频率和位宽实现, 则第三时钟的频率可 以小于或者等于第一时钟的频率。 此时读 FIFO緩存的带宽大于写 FIFO緩 存的带宽。
类似地, 对于 S106, 也可以通过将 N个数据流分别写入 N个 FIFO緩 存, 然后对 N个 FIFO緩存进行读操作。 N个 FIFO緩存与 N个数据流—— 对应。 对 N个 FIFO緩存进行写操作的频率可以是第二时钟的频率, 对 N个 FIFO緩存进行读操作的频率可以是第三时钟的频率。 如果调整带宽是通过 仅调整频率实现而保持位宽不变, 则第三时钟的频率大于第一时钟的频率。 如果调整带宽通过调整频率和位宽实现, 则第三时钟的频率可以小于或者等 于第一时钟的频率。 此时读 FIFO緩存的带宽大于写 FIFO緩存的带宽。
在读取 FIFO緩存时的带宽大于写入 FIFO緩存时的带宽的情况下, 在 对 FIFO緩存执行读操作时, FIFO緩存中的数据的数量不能够满足第三时钟 的频率读取数据的需求。 换句话说, 一个时钟周期内, 以第三时钟的频率读 取的数据数量大于以第一时钟的频率写入的数据数量。 在此情况下, 需要停 止对 FIFO緩存的读取,将填充数据作为 FIFO緩存输出的数据,以防止 FIFO 緩存发生下溢。 将填充数据作为 FIFO緩存输出的数据相当于向读出的数据 中添加填充数据。一个时钟周期内向读出的数据流中添加的填充数据的数量 等于一个 AM的比特数量。 添加填充数据的数据即为对应于写入到 FIFO的 数据流的第一数据流。
这样, 在执行了 S103和 S106后的 M个第一数据流和 N个第二数据流 均在第三时钟的驱动下传输,并且执行 S103和 S106后的数据流的带宽都大 于执行 S103和 S106之前的数据流的带宽。
本发明实施例不限定在 S103和 S106中添加的填充数据的格式。在将该 填充数据插入数据流时, 可以对该填充数据进行标记, 以便后续的将该填充 数据删除。
图 2示出了带宽调整前后数据的图样示意图。 图 2中的数据块的比特的 数量是 128。
如图 2所示, 1-5表示连续的 5个时钟周期, 1-6表示连续的 6个时钟周 期。 每个时钟周期内的数据块的比特的数量是 2*64比特(英文: bit )。 这里 的 64bit是没有包含 2bit同步头的数据块。 图 2中每个周期内的数据包括两 个子数据块, 每一个小方框表示一个 64bit的子数据块。 从图 2中可以看出, 一个完整的 AM包含 2*64bit。 数据块组中的数据块也包含 2*64bit。 插入的 填充数据的比特数等于 AM数据块的比特数, 即 2*64bit。
可选地, 图 1所示的方法中, S103之后还可以包括 S107。 S106之后还 可以包括 S108。
S107, 对该 M个第一数据流中的每个第一数据流执行第一操作得到 M 个第三数据流。 该 M个第三数据流与该 M个第一数据流——对应, 每个第 三数据流的 AM 头是该第三数据流在第三时钟的驱动下在一个时钟周期内 传输的数据的头部, 该每个第三数据流的 AM头是对应的第一数据流的 AM 或对应的第一数据流的 AM 中包含 AM 的最不重要比特 (英文: least significant bit, 筒称: LSB ) 的子数据块。
S108, 对 N个第二数据流中的每个第二数据流执行第二操作得到 N个 第四数据流。 该 N个第四数据流与该 N个第二数据流——对应, 每个第四 数据流的 AM 头是该第四数据流在第三时钟驱动下的一个时钟周期内传输 的数据的头部,每个第四数据流的 AM头是对应的第二数据流的 AM或对应 的第二数据流的 AM中包含 AM的 LSB的子数据块。
举例来说, 在执行第一操作时, 可以先识别 AM头, 然后再将该 AM头 调整到一个时钟周期内传输的数据的头部。 也就是说, 第一操作可以包含两 个操作: 识别 AM头操作和调整 AM头操作。
举例来说, 在执行第二操作时, 可以先识别 AM头, 然后再将该 AM头 调整到一个时钟周期内传输的数据的头部。 也就是说, 第一操作可以包含两 个操作: 识别 AM头操作和调整 AM头操作。
可选的,作为另一个实施例,该第一操作可以在添加填充数据之前执行。 即,先识别 AM头, 然后将该 AM头调整到一个时钟周期内传输的数据的头 部。 然后, 通过提高进行了第一操作的数据流的频率以对进行了第一操作的 数据流的带宽进行调整。 在此情况下, 如果数据流的位宽发生变化, 则需要 将 AM之前的数据丟弃, 即将 AM前的数据不写入到 FIFO緩存中, 而将 AM作为第一个写入到 FIFO緩存中的数据。如果数据流的位宽不发生变化, 则无需将 AM之前的数据丟弃。
可选的,作为另一个实施例,该第二操作可以在添加填充数据之前执行。 即,先识别 AM头, 然后将该 AM头调整到一个时钟周期内传输的数据的头 部。 然后, 通过提高进行了第二操作的数据流的频率以对进行了第二操作的 数据流的带宽进行调整。 在此情况下, 如果数据流的位宽发生变化, 则需要 将 AM之前的数据丟弃, 即将 AM前的数据不写入到 FIFO緩存中, 而将 AM作为第一个写入到 FIFO緩存中的数据。如果数据流的位宽不发生变化, 则无需将 AM之前的数据丟弃。
本领域技术人员可以理解, 完整的 AM中包括 LSB。 在 AM被传输时,
AM中的 LSB是最先被传输的。 因此, AM头中包括对应的 AM的 LSB。 AM头可以是一个完整的 AM,也可以是完整的 AM中包括 AM的 LSB的子 数据块。 举例来说, 一个完整的 AM可以被划分为 AM_1至 AM_K这样的 K个子数据块, 其中 K为大于 2的正整数。 这 K个子 AM块中的第一个子 AM块(即 AM_1 ) 包含 LSB。 这时, AM_1可以称为 AM头。
图 3示出了第一操作执行前后的数据的示意图。 图 3所示的是连续的 3个时钟周期传输的数据的图样。 如图 3所示, 一 个完整的 AM被划分为 4个子 AM块, 即 AM_1至 AM_4。一个完整的填充 数据被划分为 4个子填充数据, 即 Bubble_l至 Bubble_4, 数据块组中的一 个完整的数据块被划分为 4 个子数据块。 即 DataO被划分为 Data0_l 至 Data0_4。 Datal被划分为 Datal_l至 Datal_4。 图 3所示的数据的示意图中, 第一行中最左侧方框内的数据是一个时钟周期传输的数据的头部。 图 3所示 的第一操作前包含 Data0_2至 Data0_4。 Data0_2至 Data0_4为前一个数据周 期内的数据块的子数据块。 图 3所示的 Datal_l至 Datal_4是当前数据周期 内的数据块的子数据块。
从图 3中可以看出, 在执行第一操作之前, 一个时钟周期传输的数据的 头部位置的数据为 Data0_2。 在执行了第一操作后, 一个时钟周期传输的数 据的头部位置为 AM_1。
第二操作具体实现时可以与第一操作的具体实现类似。 关于第二操作, 具体请参考图 3以及图 3的相关描述。
可选地, 图 1所示的方法中, S107之后还可以包括 S109。 S108之后还 可以包括 S110。
5109, 对该 M个第三数据流执行第三操作得到 M个第五数据流, 其中 该 M个第五数据流的 M个 AM头是对齐的。
具体来说, AM头对齐是指 AM头中的 LSB是对齐的。 换句话说, 在 执行了 S109后,Μ个第五数据流中的每个第五数据流中的 AM头位于 M个 第五数据流在第三时钟发送的时钟信号的驱动下在同一时钟周期内传输的 数据中。
5110, 对该 N个第四数据流执行第四操作得到 N个第六数据流, 其中 该 N个第六数据流的 N个 AM头是对齐的。
具体来说, AM头对齐是指 AM头中的 LSB是对齐的。 换句话说, 在 执行了 S110后, N个第六数据流中的每个第六数据流的 AM头位于 N个第 六数据流在第三时钟发送的时钟信号的驱动下在同一时钟周期内传输的数 据中。
具体来说,在执行第三操作之前, M个第三数据流中传输的包含 AM头 的数据可能是属于不同的时钟周期传输的数据。 在执行了第三操作之后, M 个第五数据流中的包含 AM头的数据是在同一个时钟周期内传输的。 因此, 同一个时钟周期内传输的 M个第五数据流的 M个 AM头是对齐的。类似的, 在执行第四操作之前, N个第四数据流中传输的包含 AM头的数据可能是属 于不同的时钟周期传输的数据。 在执行了第四操作之后, N个第六数据流中 的包含 AM头的数据是在同一个时钟周期内传输的。 因此, 同一个时钟周期 内传输的 N个第六数据流的 N个 AM头是对齐的。
图 4示出了第三操作执行前后的数据的图样示意图。 如图 4所示, 在执 行第三操作之前, 在 3个虚通道中的 3个数据是互相错开的。 例如, 在虚通 道 1 ( VL1 )传输 AM头的时刻, 虚通道 0 ( VL0 )和虚通道 2 ( VL2 )传输 的均是非 AM的数据。 3个虚通道中的数据流的 AM头不会在同一时钟周期 被传输。 换句话说, 3个虚通道中的 3个 AM头不是对齐的。 在执行第三操 作之后,这 3个虚通道中的 3个数据的 AM头是对齐。也就是说 3个 AM头 是在同一时钟周期被传输的。 从图 4中可以看出, 当虚通道 0 ( VL0 )传输 AM头时, 其他的虚通道也在传输 AM头。 由于第一操作将 AM头置于一个 时钟周期传输的数据的头部, 因此这 3个虚通道上传输的 3个数据中的每个 数据的头部均为 AM头。 因此, 这 3个数据中传输 AM头的时刻也相同, 即 AM头是对齐的。
第四操作具体实现时可以与第三操作的具体实现类似。 关于第四操作, 具体请参考图 4以及图 4的相关描述。
可选地, 图 1所示的方法中, S109之后还可以包括 Slll。 S110之后还 可以包括 S112。
Sill和 S112可以在 S109之后执行, 也可以在完成了 AM头调整(即 S107 )和带宽调整操作 (即 S103 )之后以及进行解扰操作 (即 S117 )之前 执行。 S112可以在 S110之后执行, 也可以在完成了 AM头调整(即 S108 ) 和带宽调整操作 (即 S104 )之后以及进行解扰操作 (即 S118 )之前执行。
S111 , 对 M个第三数据流进行虚通道重排序操作。
具体来说, 将 M个第三数据流按照对应的 M个虚通道的通道号顺序进 行排列。
S112, 对 N个第四数据流进行虚通道重排序操作。
具体来说, 将 N个第四数据流按照对应的 N个虚通道的通道号的顺序 进行排列。
图 5示出了执行虚通道重排序操作前后的数据的示意图。 可以看出, 在 执行虚通道重排序操作之前, 3个数据流从上至下依次为 VL0、 VL2和 VL1。 在根据虚通道的通道号进行重排序后, 3个数据流从上至下依次为 VL0、 VL1 和 VL2。
可选地, 图 1所示的方法中, S109之后还可以包括 S113。 S110之后还 可以包括 S114。
5113, 对该 M个第五数据流执行第五操作以得到 M个第七数据流, 其 中该 M个第七数据流中的数据块组是对齐的。
可选地, S113还可以在 S109之后以及 S111之前执行。
5114, 对该 N个第六数据流执行第六操作以得到 N个第八数据流, 其 中该 N个第八数据流中的数据块组是对齐的。
可选地, S114还可以在 S110之后和 S112之前执行。
对于 M个第七数据流中的数据块组, 每个第七数据流中的数据块组包 括 AM以及 Z个数据块。 所述 Z个数据块包括第 1数据块至第 Z数据块。 所述 Z个数据块被传输的时间先后顺序依次为第 1数据块至第 Z数据块。如 果 M个第七数据流中每个的编号相同的数据块都在同一个时钟周期被传输, 则可以认为 M个第七数据流中的数据块组是对齐的。 举例来说, M个第七 数据流中的 M个第 1数据块都是在同一个时钟周期被传输。 M个第七数据 流中的 M个第 2数据块都是在同一个时钟周期被传输。 M个第七数据流中 的 M个第 Z数据块都是在同一个时钟周期被传输。 Z为大于 1的整数。 举 例来说, Z可以等于 16383。
对于 N个第八数据流中的数据块组,每个第八数据流中的数据块组包括 AM以及 Z个数据块。所述 Z个数据块包括第 1数据块至第 Z数据块。所述 Z个数据块被传输的时间先后顺序依次为第 1数据块至第 Z数据块。 如果 N 个第八数据流中每个的编号相同的数据块都在同一个时钟周期被传输, 则可 以认为 N个第八数据流中的数据块组是对齐的。举例来说, N个第八数据流 中的 N个第 1数据块都是在同一个时钟周期被传输。 N个第八数据流中的 N 个第 2数据块都是在同一个时钟周期被传输。 N个第八数据流中的 N个第 Z 数据块都是在同一个时钟周期被传输。
具体来说, 可以通过对 FIFO緩存进行操作来完成第五操作。 具体来说, 以 M个第五数据流中的任一路数据流为例,该在进行 FIFO緩存写入操作时, 如果遇到 AM数据块和填充数据, 则不将它们写入到 FIFO緩存中。 在进行 FIFO緩存读出操作时, 如果当前时钟周期中有一个 FIFO緩存为空, 则当前 时钟周期就用一个时钟周期的填充数据作为输出。该填充数据的比特的数量 等于 AM的比特的数量。换句话说, 该 M个第五数据流对应于一个 FIFO緩 存组, 该 FIFO緩存组包含 5*M个 FIFO緩存, M个第五数据流中的一个数 据流与 d个 FIFO緩存对应, 5为正整数。如果该 FIFO緩存组中的一个 FIFO 緩存中没有待读取的数据, 则该 FIFO緩存组中的所有 FIFO緩存中的数据 均不读出。 此时, 采用填充数据作为输出数据。 如果 FIFO緩存组内所有的 FIFO緩存中均有数据等待读出时, 则从 FIFO緩存组中的各个 FIFO内读取 数据。
图 6示出了执行第五操作前后的数据的示意图。 1-6表示 6个连续的时 钟周期。 其中, 6个连续的时钟周期的时间先后顺序依次为时钟周期 1至时 钟周期 6。 如图 6所示, 在执行第五操作之前, 3个数据流中的数据块组是 互相错开的, 填充数据是插入在数据块组之间的。 例如, 在时钟周期编号为 2的时钟周期, VL0传输的数据包括填充数据的子数据块和数据块的子数据 块。 VL1传输的是填充数据的子数据块和 AM的子数据块。 VL2传输的是数 据块。 在执行第三操作之后, 每一路数据流的前两个时钟周期内的数据块均 为填充数据, 前两个时钟周期之后的时钟周期传输的数据均为数据块组。 例 如, 时钟周期编号为 2的时钟周期内 VL0至 VL3中传输的数据均为填充数 据。 时钟周期编号为 3至 6的时钟周期内 VL0至 VL3中传输的数据均为数 据块组。
第六操作具体实现时可以与第五操作的具体实现类似。 关于第六操作, 具体请参考图 6以及图 6的相关描述。
进一步, 作为一个实施例, 在执行了 S113之后还可以执行 S115, 在执 行了 S114之后还可以执行 S116。
S115, 将该 M个第七数据流进行解扰以得到第一以太网帧流。
5116, 将该 N个第八数据流进行解扰以得到第二以太网帧流。
进一步,作为一个实施例,在执行 S115和 S116之后,还可以执行 S117。
5117, 在该第三时钟发送的时钟信号的驱动下, 将该第一以太网帧流和 该第二以太网帧流进行汇聚以得 ^ )J以太网帧流。
进一步, 作为一个实施例, 还可以包括以下步骤。
S120, 对该以太网帧流进行解码, 得到解码后的以太网帧流。 举例来说, S120的执行主体可以是物理编码子层电路(英文: physical coding sublayer, 筒称: PCS )。 所述解码可以是 66b/64b解码。
5121 , 对该解码后的以太网帧流进行媒体访问控制子层(英文: media access control sublayer ) MAC处理以得到处理后的以太网帧流。
举例来说, S121的执行主体可以是 MAC。
5122, 将媒体访问控制子层处理后的以太网帧流发送至网络处理器(英 文: network processor, 筒称: NP )。
这样, 通过上述处理, 网络处理器所获得的以太网帧流中所包含的数据 流是同步的, 并且这些数据流使用相同的时钟进行驱动传输。 网络处理器可 以像处理来自同源同频的数据流一样处理这些来自于不同源且不同频的数 据流。
本领域普通技术人员可以意识到, 结合本文所公开的实施例, 对于从以 太网接口接收到的由多个发送器发送的数据流中的任意两路数据流均可以 采用本发明实施例所公开的方法进行处理, 以得到同步的数据流。
图 7为本发明实施例提供的一种数据处理的装置的结构示意图。所述装 置可以用于执行图 1或者图 2所示的方法。 所述装置可以是 PHY、 PHY芯 片、 系统芯片或者多端口以太网设备。 图 8为本发明实施例提供的一种数据 处理的装置的结构示意图。 图 7所示的装置 700可以通过图 8所示的装置实 现。 参见图 7, 所述装置包括:
第一接收单元 701 ,用于通过以太网接口的 X个物理通道接收 X个数据 流, 其中所述 X个数据流是第一发送器在第一时钟的驱动下发送的,所述 X 个物理通道与所述 X个数据流——对应, X为正整数。
参见图 8, 第一接收单元 701可以通过收发器(英文: transceiver ) 801 实现。具体来说,第一接收单元 701可以通过收发器 801中的串行 /解串器组 1实现。 串行 /解串器组 1 包括串行 /解串器 1、 串行 /解串器 2... ...串行 /解串 器 X。 串行 /解串器 1至串行 /解串器 X与该 X个物理通道——对应。 串行 / 解串器 1至串行 /解串器 X与该 X个数据流一一对应。
第一转换单元 703 , 用于将所述第一接收单元 701接收的所述 X个数据 流转换为在 M个虚通道上传输的 M个数据流,其中所述 M个数据流与所述 M个虚通道——对应, M为正整数。
参见图 8, 第一转换单元 703可以通过转换电路 802实现。 具体来说, 可以通过 bit demux 804实现。 当然, 当 X等于 M时, 第一转换单元 703也 可以通过传输介质实现。 参见图 8, ½ (161111^ 804输出的数据是该^[个数据 流。
第一调整单元 705 ,用于对所述第一转换单元 703生成的所述 M个数据 流中的每个数据流中进行带宽调整以得到 M个第一数据流, 所述 M个第一 数据流与所述 M个数据流——对应, 所述 M个第一数据流中每个第一数据 流的带宽大于对应的 M个数据流中的数据流的带宽。
参见图 8, 第一调整单元 705可以带宽调整电路 803实现。 具体来说, 可以通过 FIFO緩存组 1实现。 参见图 8, FIFO緩存组 1输出的数据是该 M 个第一数据流。 FIFO緩存组 1包括 FIFO 1、 FIFO 2 ··· ··· FIFO M。 FIFO 1至
FIFO M与该 M个数据流——对应。 对 FIFO緩存组 1进行写操作的频率等 于该第一时钟的频率。 对 FIFO緩存组 1进行读操作是在该第三时钟的驱动 下进行的。 对 FIFO緩存组 1进行读操作的频率等于该第三时钟的频率。
第二接收单元 702,用于通过所述以太网接口的 Y个物理通道接收 Y个 数据流, 其中所述 X个物理通道中的任意一个物理通道不同于所述 Y个物 理通道中的任意一个物理通道,所述 Y个数据流是第二发送器在第二时钟的 驱动下发送的, 所述 Y个物理通道与所述 Y个数据流——对应, Y为正整 数, 所述第一时钟的名义工作频率等于所述第二时钟的名义工作频率, 所述 第一时钟的实际工作频率不等于所述第二时钟的实际工作频率。
参见图 8, 第二接收单元 702可以通过收发器 801实现。 具体来说, 第 二接收单元 702可以通过收发器 801中的串行 /解串器组 2实现。 串行 /解串 器组 1包括串行 /解串器 1、 串行 /解串器 2... ...串行 /解串器 Y。 串行 /解串器
1至串行 /解串器 Υ与该 Υ个物理通道——对应。 串行 /解串器 1至串行 /解串 器 Υ与该 Υ个数据流——对应。
第二转换单元 704, 用于将所述第二接收单元 702接收的所述 Υ个数据 流转换为在 Ν个虚通道上传输的 Ν个数据流, 其中所述 Ν个数据流与所述 Ν个虚通道——对应, 所述 Μ个数据流中每个数据流和所述 Ν个数据流中 的每个数据流均包括对齐标记 AM以及数据块组,所述 AM是所述数据块组 的直接的上一个数据块,所述数据块组包含的比特的数量等于所述 AM包含 的比特的数量, N为正整数。
参见图 8, 第二转换单元 704可以通过转换电路 802实现。 具体来说, 可以通过 bit demux 805实现。 当然, 当 Y等于 N时, 第二转换单元 704也 可以通过传输介质实现。 参见图 8, 1^ (161111^ 805输出的数据是该^^个数据 流。
举例来说,该数据块组中每个数据块包含的比特的数量等于 AM包含的 比特的数量。 另外, AM也是一种数据块。
下文对数据流中的数据块进行说明。数据流中的每个数据块是对以太网 帧流进行物理层编码得到的。 物理层编码可以是 8bit/10bit编码, 也可以是 64bit/66bit编码。 当物理层编码是 8bit/10bit编码时, 1个数据块中包含的比 特的数量是 10。 当物理层编码是 64bit/66bit编码时, 1个数据块中包含的比 特的数量是 66。 66个比特的数据块中, 2个比特可以是同步头。 本发明实施 例中的 64比特的数据块是指不包含同步头的数据块。 另外, 生成数据块后, 需要向虚通道分发数据块。 一个时钟周期可以向虚通道分发一个数据块, 也 可以向虚通道分发 2个数据块。 因此, 对于一个虚通道, 一个时钟周期传输 的数据的比特的数量等于 128。 由于一个时钟周期传输的数据的比特的数量 等于一个数据块的比特的数量, 因此, 虚通道上传输的数据块的比特的数量 可以是 128。 AM是数据块的一种。 因此, 虚通道上传输的 AM的比特的数 量也可以是 128。
在对以太网帧流进行物理层编码后会周期性的插入 AM , 这样的周期可 以称为数据周期。 举例来说, 根据 IEEE802.3ba中的 100 GE标准, 一个数 据周期传输的数据可以是 16384个数据块。所述 16384个数据块包括 AM以 及 16383个数据块。 其中, AM先于 16383个数据块被传输。 所述 16384个 数据块中每个数据块包含的比特的数量是 64。 也就是说, 通常情况下, 一个 数据周期传输的数据中包含一个 AM以及多个数据块,所述多个数据块组成 数据块组。 换句话说, 插入 AM后, 一个数据周期传输的数据中内除了 AM 以外的数据块为数据块组中的数据块。 一个数据周期传输的数据中, 所述多 个数据块中的每个数据块包含的比特的数量等于 AM包含的比特的数量。
第二调整单元 706, 用于对所述第二转换单元 704生成的所述 N个数据 流中的每个数据流进行带宽调整以得到 N个第二数据流, 所述 N个第二数 据流与所述 N个数据流——对应, 所述 M个第一数据流与所述 N个第二数 据流在第三时钟的驱动下进行传输,所述 N个第二数据流中每个第二数据流 的带宽大于对应的 N个数据流中的数据流的带宽。 参见图 8 , 第二调整单元 706可以带宽调整电路 803实现。 具体来说, 可以通过 FIFO緩存组 2实现。 参见图 8 , FIFO緩存组 2输出的数据是该 N 个第二数据流。 FIFO緩存组 2包括 FIFO 1、 FIFO 2…… FIFO N。 FIFO 1至 FIFO N与该 N个数据流——对应。对 FIFO緩存组 2进行写操作的频率等于 该第二时钟的频率。 对 FIFO緩存组 2进行读操作是在该第三时钟的驱动下 进行的。 对 FIFO緩存组 2进行读操作的频率等于该第三时钟的频率。
根据上述技术方案, 能够生成处于相同的时钟域的 M个第一数据流以 及 N个第二数据流。 因此, 能够方便地对处于相同的时钟域的 M个第一数 据流以及 N个第二数据流进行后续处理。
对于第一调整单元 705 ,对 M个数据流中的每个数据流进行带宽调整以 得到 M个第一数据流可以通过频率调整和 /或位宽调整实现。 数据流的带宽 与数据流的驱动时钟频率相关, 也与数据流的位宽相关。 具体地, 数据流的 带宽满足公式 1.1 :
B = F *b , 公式 1.1 其中, B表示数据流的带宽, F表示数据流的驱动时钟频率, b表示数 据流的位宽。 类似的, 对于 S106, 也可以通过频率调整和 /或位宽调整实现 对于 N个数据流中的每个数据流进行带宽调整以得到 N个第二数据流。
对于带宽的调整可以通过对先入先出 (英文: First In First Out, 筒称: FIFO )緩存执行写操作和读操作来实现。 以 M个数据流为例, 可以通过将 M个数据流分别写入 M个先入先出 (FIFO )緩存, 然后对 M个 FIFO緩存 进行读操作, M个 FIFO緩存与 M个数据流——对应。对 M个 FIFO緩存进 行写操作的频率可以是第一时钟的频率,对 M个 FIFO緩存进行读操作的频 率可以是第三时钟的频率。 对 FIFO緩存进行读取操作的读数据位宽可以大 于对 FIFO緩存进行写操作的写数据位宽。 如果调整带宽只通过调整频率实 现而不调整位宽, 则第三时钟的频率大于第一时钟的频率。 如果调整带宽通 过调整频率和位宽实现, 则第三时钟的频率可以小于或者等于第一时钟的频 率。 此时读 FIFO緩存的带宽大于写 FIFO緩存的带宽。
类似地, 对于第二调整单元 706 , 也可以通过将 N个数据流分别写入 N 个先入先出 ( FIFO )緩存, 然后对 N个 FIFO緩存进行读操作。 N个 FIFO 緩存与 N个数据流——对应。对 N个 FIFO緩存进行写操作的频率可以是第 二时钟的频率,对 N个 FIFO緩存进行读操作的频率可以是第三时钟的频率。 如果调整带宽是通过仅调整频率实现而保持位宽不变, 则第三时钟的频率大 于第一时钟的频率。 如果调整带宽通过调整频率和位宽实现, 则第三时钟的 频率可以小于或者等于第一时钟的频率。 此时读 FIR 緩存的带宽大于写 FIFO緩存的带宽。
在读取 FIFO緩存时的带宽大于写入 FIFO緩存时的带宽的情况下, 在 对 FIFO緩存执行读操作时, FIFO緩存中的数据的数量不能够满足第三时钟 的频率对读取数据的需求。 换句话说, 一个时钟周期内, 以第三时钟的频率 读取的数据数量大于以第一时钟的频率写入的数据数量。 在此情况下, 需要 停止对 FIFO緩存的读取, 将填充数据作为 FIFO緩存输出的数据, 以防止 FIFO緩存发生下溢。将填充数据作为 FIFO緩存输出的数据相当于向读出的 数据中添加填充数据。一个时钟周期内向读出的数据流中添加的填充数据的 数量等于一个 AM的比特数量。添加填充数据的数据即为对应于写入到 FIFO 的数据流的第一数据流。
本发明实施例不限定在 705和 706涉及的添加的填充数据的格式。在将 该填充数据插入数据流时, 可以对该填充数据进行标记, 以便后续的将该填 充数据删除。
可选地, 图 7所示的装置中, 还可以包括: 第一单元, 第二单元, 第三 单元, 第四单元, 第五单元, 第六单元, 第七单元, 第八单元和第九单元。 关于第一单元至第九单元的描述, 请参见针对图 9所示的实施例的描述。
图 9为本发明实施例提供的另一数据处理的装置的结构示意图。 图 9所 示的装置 900能够执行图 1或者图 2所示的方法。
装置 900中的第一接收单元 901与装置 700中的第一接收单元 701的功 能相同, 装置 900中的第二接收单元 902与装置 700中的第二接收单元 702 的功能相同,装置 900中的第一转换单元 903与装置 700中的第一转换单元 703的功能相同, 装置 900中的第二转换单元 904与装置 700中的第二转换 单元 704的功能相同,装置 900中的第一调整单元 905与装置 700中的第一 调整单元 705的功能相同,装置 900中的第二调整单元 906与装置 700中的 第二调整单元 706的功能相同。由于这些单元的功能相同,在此就不必赘述。
装置 900还可以包括:
第一单元 907,用于对所述第一调整单元 905生成的所述 M个第一数据 流中的每个第一数据流执行第一操作以得到 M个第三数据流, 其中所述 M 个第三数据流与所述 M个第一数据流——对应, 每个第三数据流的 AM头 是所述第三数据流在所述第三时钟的驱动下在一个时钟周期内传输的数据 的头部,所述每个第三数据流的 AM头是对应的第一数据流的 AM或对应的 第一数据流 AM中的包含 AM的最不重要比特 LSB的子数据块。
举例来说, 第一单元 907可以通过时序逻辑电路实现。
第二单元 908, 用于对所述第二调整单元 906生成的所述 N个第二数据 流中的每个第二数据流执行第二操作以得到 N个第四数据流, 其中所述 N 个第四数据流与所述 N个第二数据流——对应, 每个第四数据流的 AM头 是所述第四数据流在所述第三时钟的驱动下在一个时钟周期内传输的数据 的头部,所述每个第四数据流的 AM头是对应的第二数据流的 AM或对应的 第二数据流 AM中的包含 AM的最不重要比特 LSB的子数据块。
举例来说, 第二单元 908可以通过时序逻辑电路实现。
举例来说, 在执行第一操作时, 可以先识别 AM头, 然后再将该 AM头 调整到一个时钟周期内传输的数据的头部。 也就是说, 第一操作可以包含两 个操作: 识别 AM头操作和调整 AM头操作。
举例来说, 在执行第二操作时, 可以先识别 AM头, 然后再将该 AM头 调整到一个时钟周期内传输的数据的头部。 也就是说, 第一操作可以包含两 个操作: 识别 AM头操作和调整 AM头操作。
本领域技术人员可以理解, 完整的 AM中包括 LSB。 在 AM被传输时, AM中的 LSB是最先被传输的。 因此, AM头中包括对应的 AM的 LSB。 AM头可以是一个完整的 AM,也可以是完整的 AM中包括 AM的 LSB的子 数据块。 举例来说, 一个完整的 AM可以被划分为 AM_1至 AM_K这样的 K个子数据块, 其中 K为大于 2的正整数。 这 K个子 AM块中的第一个子 AM块(即 AM_1 ) 包含 LSB。 这时, AM_1可以称为 AM头。
装置 900还可以包括:
第三单元 909,用于对所述第一单元 907生成的所述 M个第三数据流执 行第三操作以得到 M个第五数据流,其中所述 M个第五数据流的 M个 AM 头是对齐的。
举例来说, 第三单元 909可以通过时序逻辑电路实现。
第四单元 910, 用于对所述第二单元 908生成的所述 N个第四数据流执 行第四操作以得到 N个第六数据流, 其中所述 N个第六数据流的 N个 AM 头是对齐的。
举例来说, 第四单元 910可以通过时序逻辑电路实现。
具体来说, AM头对齐是指 AM头中的 LSB是对齐的。 换句话说, M 个第五数据流中的每个第五数据流中的 AM头位于 M个第五数据流在第三 时钟发送的时钟信号的驱动下在同一时钟周期内传输的数据中。
具体来说, AM头对齐是指 AM头中的 LSB是对齐的。 换句话说, N 个第六数据流中的每个第六数据流的 AM头位于 N个第六数据流在第三时 钟发送的时钟信号的驱动下在同一时钟周期内传输的数据中。
装置 900还可以包括:
第五单元 911 ,用于对所述第三单元 909生成的所述 M个第五数据流执 行第五操作以得到 M个第七数据流, 其中所述 M个第七数据流中的数据块 组是对齐的。
举例来说, 第五单元 911可以通过时序逻辑电路实现。
第六单元 912, 用于对所述第四单元 910生成的所述 N个第六数据流执 行第六操作以得到 N个第八数据流, 其中所述 N个第八数据流中的数据块 组是对齐的。
举例来说, 第六单元 912可以通过时序逻辑电路实现。
对于 M个第七数据流中的数据块组, 每个第七数据流中的数据块组包 括 AM以及 Z个数据块。 所述 Z个数据块包括第 1数据块至第 Z数据块。 所述 Z个数据块被传输的时间先后顺序依次为第 1数据块至第 Z数据块。如 果 M个第七数据流中每个的编号相同的数据块都在同一个时钟周期被传输, 则可以认为 M个第七数据流中的数据块组是对齐的。 举例来说, M个第七 数据流中的 M个第 1数据块都是在同一个时钟周期被传输。 M个第七数据 流中的 M个第 2数据块都是在同一个时钟周期被传输。 M个第七数据流中 的 M个第 Z数据块都是在同一个时钟周期被传输。 Z为大于 1的整数。 举 例来说, Z可以等于 16383。
对于 N个第八数据流中的数据块组,每个第八数据流中的数据块组包括 AM以及 Z个数据块。所述 Z个数据块包括第 1数据块至第 Z数据块。所述 Z个数据块被传输的时间先后顺序依次为第 1数据块至第 Z数据块。 如果 N 个第八数据流中每个的编号相同的数据块都在同一个时钟周期被传输, 则可 以认为 N个第八数据流中的数据块组是对齐的。举例来说, N个第八数据流 中的 N个第 1数据块都是在同一个时钟周期被传输。 N个第八数据流中的 N 个第 2数据块都是在同一个时钟周期被传输。 N个第八数据流中的 N个第 Z 数据块都是在同一个时钟周期被传输。
具体来说, 可以通过对 FIFO緩存进行操作来完成第五操作。 具体来说, 以 M个第五数据流中的任一路数据流为例,该在进行 FIFO緩存写入操作时, 如果遇到 AM数据块和填充数据, 则不将它们写入到 FIFO緩存中。 在进行 FIFO緩存读出操作时, 如果当前时钟周期中有一个 FIFO緩存为空, 则当前 时钟周期就用一个时钟周期的填充数据作为输出。该填充数据的比特的数量 等于 AM的比特的数量。换句话说, 该 M个第五数据流对应于一个 FIFO緩 存组, 该 FIFO緩存组包含 5*M个 FIFO緩存, M个第五数据流中的一个数 据流与 d个 FIFO緩存对应, 5为正整数。如果该 FIFO緩存组中的一个 FIFO 緩存中没有待读取的数据, 则该 FIFO緩存组中的所有 FIFO緩存中的数据 均不读出。 此时, 采用填充数据作为输出数据。 如果 FIFO緩存组内所有的 FIFO緩存中均有数据等待读出时, 则从 FIFO緩存组中的各个 FIFO内读取 数据。
第六操作具体实现时可以与第五操作的具体实现类似。 关于第六操作, 具体请关于第五操作的相关描述。
装置 900还可以包括:
第七单元 913,用于将所述第五单元 911生成的所述 M个第七数据流进 行解扰以得到第一以太网帧流。
举例来说, 第七单元可以通过解扰器实现。
第八单元 914, 用于将所述第六单元 912生成的所述 N个第八数据流进 行解扰以得到第二以太网帧流。
举例来说, 第八单元可以通过解扰器实现。
装置 900还可以包括:
第九单元 915, 用于在所述第三时钟发送的时钟信号的驱动下, 将所述 第七单元 913生成的所述第一以太网帧流和所述第八单元 914生成的所述第 二以太网帧流进行汇聚得到以太网帧流。
举例来说, 第九单元 915可以通过汇聚电路实现。
本领域普通技术人员可以意识到, 结合本文中所公开的实施例描述的各 示例的单元及算法步骤, 能够以电子硬件、 或者计算机软件和电子硬件的结 合来实现。 这些功能究竟以硬件还是软件方式来执行, 取决于技术方案的特 定应用和设计约束条件。 专业技术人员可以对每个特定的应用来使用不同方 法来实现所描述的功能, 但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到, 为描述的方便和筒洁, 上述描 述的系统、 装置和单元的具体工作过程, 可以参考前述方法实施例中的对应 过程, 在此不再赘述。
在本申请所提供的几个实施例中, 应该理解到, 所揭露的系统、 装置和 方法, 可以通过其它的方式实现。 例如, 以上所描述的装置实施例仅仅是示 意性的, 例如, 所述单元的划分, 仅仅为一种逻辑功能划分, 实际实现时可 以有另外的划分方式, 例如多个单元或组件可以结合或者可以集成到另一个 系统, 或一些特征可以忽略, 或不执行。 另一点, 所显示或讨论的相互之间 的耦合或直接耦合或通信连接可以是通过一些接口, 装置或单元的间接耦合 或通信连接, 可以是电性, 机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作 为单元显示的部件可以是或者也可以不是物理单元, 即可以位于一个地方, 或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或 者全部单元来实现本实施例方案的目的。
另外, 在本发明各个实施例中的各功能单元可以集成在一个处理单元 中, 也可以是各个单元单独物理存在, 也可以两个或两个以上单元集成在一 个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使 用时, 可以存储在一个计算机可读取存储介质中。 基于这样的理解, 本发明 的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部 分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质 中, 包括若干指令用以使得一台计算机设备(可以是个人计算机, 机顶盒, 或者个人数字助理)或处理器(processor )执行本发明各个实施例所述方法 的全部或部分步骤。 而前述的存储介质包括: U盘、 移动硬盘、 只读存储器 (英文: read-only memory, 筒称: ROM )、 随机存取存储器(英文: random access memory, 筒称: RAM )、 磁碟或者光盘等各种可以存储程序代码的介 质。
以上所述, 仅为本发明的具体实施方式, 但本发明的保护范围并不局限 于此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范围内, 可轻易 想到的变化或替换, 都应涵盖在本发明的保护范围之内, 因此本发明的保护 范围应以权利要求的保护范围为准。

Claims

权利要求
1、 一种数据处理的方法, 其特征在于, 包括:
通过以太网接口的 X个物理通道接收 X个数据流, 其中所述 X个数据 流是第一发送器在第一时钟的驱动下发送的, 所述 X个物理通道与所述 X 个数据流——对应, X为正整数;
将所述 X个数据流转换为在 M个虚通道上传输的 M个数据流, 其中所 述 M个数据流与所述 M个虚通道——对应, M为正整数;
对所述 M个数据流中的每个数据流中进行带宽调整以得到 M个第一数 据流, 所述 M个第一数据流与所述 M个数据流——对应, 所述 M个第一数 据流中每个第一数据流的带宽大于对应的 M个数据流中的数据流的带宽; 通过所述以太网接口的 Y个物理通道接收 Y个数据流, 其中所述 X个 物理通道中的任意一个物理通道不同于所述 γ 个物理通道中的任意一个物 理通道, 所述 Y个数据流是第二发送器在第二时钟的驱动下发送的,所述 Y 个物理通道与所述 Y个数据流——对应, Y为正整数, 所述第一时钟的名义 工作频率等于所述第二时钟的名义工作频率,所述第一时钟的实际工作频率 不等于所述第二时钟的实际工作频率;
将所述 Y个数据流转换为在 N个虚通道上传输的 N个数据流, 其中所 述 N个数据流与所述 N个虚通道——对应, 所述 M个数据流中每个数据流 和所述 N个数据流中的每个数据流均包括对齐标记 AM以及数据块组, 所 述 AM是所述数据块组的直接的上一个数据块,所述数据块组包含的比特的 数量等于所述 AM包含的比特的数量的正整数倍, N为正整数;
对所述 N个数据流中的每个数据流进行带宽调整以得到 N个第二数据 流, 所述 N个第二数据流与所述 N个数据流——对应, 所述 M个第一数据 流与所述 N个第二数据流在第三时钟的驱动下进行传输, 所述 N个第二数 据流中每个第二数据流的带宽大于对应的 N个数据流中的数据流的带宽。
2、 根据权利要求 1所述的方法, 其特征在于,
在所述对所述 M个数据流中的每个数据流进行带宽调整以得到 M个第 一数据流之后, 所述方法还包括:
对所述 M个第一数据流中的每个第一数据流执行第一操作以得到 M个 第三数据流, 其中所述 M个第三数据流与所述 M个第一数据流——对应, 每个第三数据流的 AM 头是所述第三数据流在所述第三时钟的驱动下在一 个时钟周期内传输的数据的头部,所述每个第三数据流的 AM头是对应的第 一数据流的 AM或对应的第一数据流的 AM中的包含 AM的最不重要比特 LSB的子数据块;
在所述对所述 N个数据流中的每个数据流进行带宽调整以得到 N个第 二数据流之后, 所述方法还包括:
对所述 N个第二数据流中的每个第二数据流执行第二操作以得到 N个 第四数据流, 其中所述 N个第四数据流与所述 N个第二数据流——对应, 每个第四数据流的 AM 头是所述第四数据流在所述第三时钟的驱动下在一 个时钟周期内传输的数据的头部,所述每个第四数据流的 AM头是对应的第 二数据流的 AM或对应的第二数据流的 AM中的包含 AM的 LSB的子数据 块。
3、 根据权利要求 2所述的方法, 其特征在于, 在所述对所述 M个第一 数据流中的每个第一数据流执行第一操作以得到 M个第三数据流之后, 所 述方法还包括:
对所述 M个第三数据流执行第三操作以得到 M个第五数据流, 其中所 述 M个第五数据流的 M个 AM头是对齐的;
在所述对所述 N 个第二数据流中的每个第二数据流执行第二操作以得 到 N个第四数据流之后, 所述方法还包括:
对所述 N个第四数据流执行第四操作以得到 N个第六数据流, 其中所 述 N个第六数据流的 N个 AM头是对齐的。
4、 根据权利要求 3所述的方法, 其特征在于, 在所述对所述 M个第三 数据流执行第三操作以得到 M个第五数据流之后, 所述方法还包括:
对所述 M个第五数据流执行第五操作以得到 M个第七数据流, 其中所 述 M个第七数据流中的数据块组是对齐的;
在所述对所述 N个第四数据流执行第四操作以得到 N个第六数据流之 后, 所述方法还包括:
对所述 N个第六数据流执行第六操作以得到 N个第八数据流, 其中所 述 N个第八数据流中的数据块组是对齐的。
5、 根据权利要求 4所述的方法, 其特征在于, 在所述对所述 M个第五 数据流执行第五操作以得到 M个第七数据流之后, 所述方法还包括:
将所述 M个第七数据流进行解扰以得到第一以太网帧流;
在所述对所述 N个第六数据流执行所述第六操作以得到 N个第八数据 流之后, 所述方法还包括:
将所述 N个第八数据流进行解扰以得到第二以太网帧流。
6、 如权利要求 5所述的方法, 其特征在于, 所述方法还包括: 在所述第三时钟发送的时钟信号的驱动下,将所述第一以太网帧流和所 述第二以太网帧流进行汇聚以得到以太网帧流。
7、 一种数据处理的装置, 其特征在于, 包括:
第一接收单元, 用于通过以太网接口的 X个物理通道接收 X个数据流, 其中所述 X个数据流是第一发送器在第一时钟的驱动下发送的, 所述 X个 物理通道与所述 X个数据流——对应, X为正整数;
第一转换单元,用于将所述第一接收单元接收的所述 X个数据流转换为 在 M个虚通道上传输的 M个数据流, 其中所述 M个数据流与所述 M个虚 通道 对应, M为正整数;
第一调整单元, 用于对所述第一转换单元生成的所述 M个数据流中的 每个数据流中进行带宽调整以得到 M个第一数据流, 所述 M个第一数据流 与所述 M个数据流——对应, 所述 M个第一数据流中每个第一数据流的带 宽大于对应的 M个数据流中的数据流的带宽;
第二接收单元, 用于通过所述以太网接口的 Y个物理通道接收 Y个数 据流, 其中所述 X个物理通道中的任意一个物理通道不同于所述 Y个物理 通道中的任意一个物理通道,所述 Y个数据流是第二发送器在第二时钟的驱 动下发送的, 所述 Y个物理通道与所述 Y个数据流——对应, Y为正整数, 所述第一时钟的名义工作频率等于所述第二时钟的名义工作频率, 所述第一 时钟的实际工作频率不等于所述第二时钟的实际工作频率;
第二转换单元,用于将所述第二接收单元接收的所述 Y个数据流转换为 在 N个虚通道上传输的 N个数据流, 其中所述 N个数据流与所述 N个虚通 道——对应, 所述 Μ个数据流中每个数据流和所述 Ν个数据流中的每个数 据流均包括对齐标记 AM以及数据块组,所述 AM是所述数据块组的直接的 上一个数据块,所述数据块组包含的比特的数量等于所述 AM包含的比特的 数量, N为正整数;
第二调整单元,用于对所述第二转换单元生成的所述 N个数据流中的每 个数据流进行带宽调整以得到 N个第二数据流, 所述 N个第二数据流与所 述 N个数据流——对应, 所述 M个第一数据流与所述 N个第二数据流在第 三时钟的驱动下进行传输,所述 N个第二数据流中每个第二数据流的带宽大 于对应的 N个数据流中的数据流的带宽。
8、 根据权利要求 7所述的装置, 其特征在于, 还包括:
第一单元, 用于对所述第一调整单元生成的所述 M个第一数据流中的 每个第一数据流执行第一操作以得到 M个第三数据流, 其中所述 M个第三 数据流与所述 M个第一数据流——对应, 每个第三数据流的 AM头是所述 第三数据流在所述第三时钟的驱动下在一个时钟周期内传输的数据的头部, 所述每个第三数据流的 AM头是对应的第一数据流的 AM或对应的第一数据 流 AM中的包含 AM的最不重要比特 LSB的子数据块;
第二单元,用于对所述第二调整单元生成的所述 N个第二数据流中的每 个第二数据流执行第二操作以得到 N个第四数据流, 其中所述 N个第四数 据流与所述 N个第二数据流——对应, 每个第四数据流的 AM头是所述第 四数据流在所述第三时钟的驱动下在一个时钟周期内传输的数据的头部, 所 述每个第四数据流的 AM头是对应的第二数据流的 AM或对应的第二数据流
AM中的包含 AM的最不重要比特 LSB的子数据块。
9、 根据权利要求 8所述的装置, 其特征在于, 还包括:
第三单元, 用于对所述第一单元生成的所述 M个第三数据流执行第三 操作以得到 M个第五数据流,其中所述 M个第五数据流的 M个 AM头是对 齐的;
第四单元,用于对所述第二单元生成的所述 N个第四数据流执行第四操 作以得到 N个第六数据流, 其中所述 N个第六数据流的 N个 AM头是对齐 的。
10、 根据权利要求 9所述的装置, 其特征在于, 还包括: 第五单元, 用于对所述第三单元生成的所述 M个第五数据流执行第五 操作以得到 M个第七数据流, 其中所述 M个第七数据流中的数据块组是对 齐的;
第六单元,用于对所述第四单元生成的所述 N个第六数据流执行第六操 作以得到 N个第八数据流, 其中所述 N个第八数据流中的数据块组是对齐 的。
11、 根据权利要求 10所述的装置, 其特征在于, 还包括:
第七单元, 用于将所述第五单元生成的所述 M个第七数据流进行解扰 以得到第一以太网帧流;
第八单元,用于将所述第六单元生成的所述 N个第八数据流进行解扰以 得到第二以太网帧流。
12、 如权利要求 11所述的装置, 其特征在于, 还包括:
第九单元, 用于在所述第三时钟发送的时钟信号的驱动下, 将所述第七 单元生成的所述第一以太网帧流和所述第八单元生成的所述第二以太网帧 流进行汇聚以得到以太网帧流。
PCT/CN2014/070093 2014-01-03 2014-01-03 数据处理的方法和装置 WO2015100734A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP14877034.0A EP3082303A4 (en) 2014-01-03 2014-01-03 METHOD AND DEVICE FOR DATA PROCESSING
CN201480000178.4A CN103931146B (zh) 2014-01-03 2014-01-03 数据处理的方法和装置
PCT/CN2014/070093 WO2015100734A1 (zh) 2014-01-03 2014-01-03 数据处理的方法和装置
US15/200,930 US9871677B2 (en) 2014-01-03 2016-07-01 Data processing method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/070093 WO2015100734A1 (zh) 2014-01-03 2014-01-03 数据处理的方法和装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/200,930 Continuation US9871677B2 (en) 2014-01-03 2016-07-01 Data processing method and apparatus

Publications (1)

Publication Number Publication Date
WO2015100734A1 true WO2015100734A1 (zh) 2015-07-09

Family

ID=51147974

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/070093 WO2015100734A1 (zh) 2014-01-03 2014-01-03 数据处理的方法和装置

Country Status (4)

Country Link
US (1) US9871677B2 (zh)
EP (1) EP3082303A4 (zh)
CN (1) CN103931146B (zh)
WO (1) WO2015100734A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106341207A (zh) * 2015-07-06 2017-01-18 华为技术有限公司 一种编码块数据流的发送和接收方法、设备和系统
CN106452812B (zh) * 2015-08-10 2019-11-12 华为技术有限公司 灵活以太网子链路的自协商方法及装置
US10506257B2 (en) 2015-09-28 2019-12-10 Cybrook Inc. Method and system of video processing with back channel message management
US10756997B2 (en) 2015-09-28 2020-08-25 Cybrook Inc. Bandwidth adjustment for real-time video transmission
US10516892B2 (en) 2015-09-28 2019-12-24 Cybrook Inc. Initial bandwidth estimation for real-time video transmission
CN106713149B (zh) * 2015-11-12 2020-06-30 新华三技术有限公司 路由器的子卡和线卡板
CN107431672B (zh) * 2015-11-30 2020-02-14 华为技术有限公司 一种数据加扰方法和加扰装置
CN109728894B (zh) * 2018-11-13 2021-08-17 合肥奕斯伟集成电路有限公司 差分数据的处理方法、数据处理设备以及计算机存储介质
CN110113240A (zh) * 2019-04-24 2019-08-09 西安电子科技大学 基于百兆以太网口的总线聚合系统
CN112799983A (zh) * 2021-01-29 2021-05-14 广州航天海特系统工程有限公司 基于fpga的字节对齐方法、装置、设备及存储介质
CN114866514B (zh) * 2022-04-29 2023-02-28 中国科学院信息工程研究所 多用户数据流转控制与处理方法、装置、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1691666A (zh) * 2004-04-21 2005-11-02 华为技术有限公司 多协议通用线路传输方法及其装置
CN101335687A (zh) * 2007-06-27 2008-12-31 中兴通讯股份有限公司 无线通信系统保证用户服务质量的方法
CN101447975A (zh) * 2007-11-26 2009-06-03 华为技术有限公司 一种处理以太网物理层oam开销的方法及装置
CN102439995A (zh) * 2011-08-24 2012-05-02 华为技术有限公司 一种传送超高速以太网业务的方法和装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030053493A1 (en) * 2001-09-18 2003-03-20 Joseph Graham Mobley Allocation of bit streams for communication over-multi-carrier frequency-division multiplexing (FDM)
CN1866803B (zh) 2005-09-13 2012-05-30 华为技术有限公司 一种在以太网设备中解决时钟同步的方法
US8259748B2 (en) * 2006-07-22 2012-09-04 Cisco Technologies, Inc. Multiple channels and flow control over a 10 Gigabit/second interface
US9014563B2 (en) * 2006-12-11 2015-04-21 Cisco Technology, Inc. System and method for providing an Ethernet interface
WO2009005154A1 (ja) * 2007-07-05 2009-01-08 Nippon Telegraph And Telephone Corporation 信号ブロック列処理方法および信号ブロック列処理装置
US8363670B2 (en) * 2010-04-20 2013-01-29 Vitesse Semiconductor Corporation Framed flows over packet-switched fabrics
US9331962B2 (en) * 2010-06-27 2016-05-03 Valens Semiconductor Ltd. Methods and systems for time sensitive networks
US8572300B2 (en) * 2011-10-26 2013-10-29 Taiwan Semiconductor Manufacturing Co., Ltd. Physical coding sublayer (PCS) architecture for synchronizing data between different reference clocks

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1691666A (zh) * 2004-04-21 2005-11-02 华为技术有限公司 多协议通用线路传输方法及其装置
CN101335687A (zh) * 2007-06-27 2008-12-31 中兴通讯股份有限公司 无线通信系统保证用户服务质量的方法
CN101447975A (zh) * 2007-11-26 2009-06-03 华为技术有限公司 一种处理以太网物理层oam开销的方法及装置
CN102439995A (zh) * 2011-08-24 2012-05-02 华为技术有限公司 一种传送超高速以太网业务的方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3082303A4 *

Also Published As

Publication number Publication date
CN103931146B (zh) 2016-11-16
EP3082303A1 (en) 2016-10-19
EP3082303A4 (en) 2016-12-07
US20160315788A1 (en) 2016-10-27
US9871677B2 (en) 2018-01-16
CN103931146A (zh) 2014-07-16

Similar Documents

Publication Publication Date Title
WO2015100734A1 (zh) 数据处理的方法和装置
US11736978B2 (en) Method and apparatus for receiving CPRI data stream, method and apparatus for receiving ethernet frame, and system
EP3852317B1 (en) Data transmission method and apparatus
WO2015032259A1 (zh) 对数据进行处理的方法及装置
US7840709B1 (en) Multi-speed serial interface for media access control and physical layer devices
JP5879545B2 (ja) 送信回路、受信回路、送信方法、受信方法、通信システム及びその通信方法
US8385374B1 (en) Multilane communication device
US20140376566A1 (en) 128 Gigabit Fibre Channel Physical Architecture
KR101664658B1 (ko) 공유된 데이터 경로를 사용하는 다수의 이더넷 포트들 및 포트 타입들
US8572300B2 (en) Physical coding sublayer (PCS) architecture for synchronizing data between different reference clocks
WO2015100624A1 (zh) 一种crc计算方法及装置
WO2014071640A1 (zh) 以太数据处理的方法和装置
US20160373198A1 (en) Serial communication device and serial communication method
WO2021109702A1 (zh) 一种数据流处理方法及装置
CN109257513A (zh) 一种基于SerDes的遥感图像传输系统和方法
CN112313891A (zh) 用于在以太网电缆上发送边信道比特的装置和方法
US9253120B1 (en) Systems and methods for high speed data processing at a network port
US20080310450A1 (en) Method of Passing a Constant Bit Rate Digital Signal Through an Ethernet Interface and System for Carrying Out the Method
TWI243565B (en) Network micro controller and the method for transmitting and receiving data through a wireless network system
US20190020441A1 (en) Out-of-Band Communication in a Serial Communication Environment
TW201503615A (zh) 通訊裝置
US11140097B2 (en) Cross point switch of network device for reordering lanes of network interfaces
Savio et al. A Physical coding sublayer for Gigabit Ethernet over POF
Gearbox Receiver 10G PCS Datapath
Wander et al. 100 Gb/s Ethernet demonstration

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: 14877034

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

REEP Request for entry into the european phase

Ref document number: 2014877034

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2014877034

Country of ref document: EP