IP Library › Granted Patent US 12,750,160
Granted Patent B2
US 12,750,160 · App. 18/908,669 · Granted Sep 29, 2026

Interface device for multiplexing multiple network ports over single SERDES

Inventors: Dong-Seok Youm (San Jose, CA); Shu-Shin Chin (Santa Clara, CA); Lenin Kumar Patra (Dublin, CA); Venugopal Balasubramonian (San Jose, CA); Yaniv Kopelman (Mishmeret, IL); Eyal Lieder (Kiryat Bialik, IL); Joergen Peter Ravn Hofman-Bang (Ballerup, DK)
Assignee: Marvell Asia Pte Ltd
H04L1/0041H04L1/0072H04L1/0084
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,750,160
App. No.
18/908,669
Granted
Sep 29, 2026
Kind
B2
Abstract

An interface device distributes data from a plurality of input data streams to a smaller number first data streams, and periodically inserts a set of alignment markers (AMs) into the first data streams. After using the AMs, the interface device removes the AMs and reinserts the AMs at particular positions. A forward error correction (FEC) encoder encodes data corresponding to the first data stream to generate FEC codewords and distributes data from the FEC codewords to multiple outputs streams. Within the output streams, the AMs are located at FEC codeword boundaries and bits of a first AM, among the set of AMs, are spread across multiple outputs stream. A single output data stream is generated based on the multiple output streams of the FEC encoder.

Claims (113)

1 . An interface device for converting a plurality of input data streams into a single output data stream, the interface device comprising:

first circuitry configured to receive a plurality of input data streams and to distribute bit blocks from the plurality of input data streams to a number of first data streams that is less than a number of input data streams in the plurality of input data streams;

second circuitry configured to periodically insert a set of alignment markers (AMs) into the first data streams in between bit blocks, the set of AMs comprising at most the number of input data streams;

third circuitry configured to lock to the AMs in the first data streams;

fourth circuitry configured to, after locking to the AMs and prior to providing data corresponding to the first data streams to forward error correction (FEC) encoding circuitry,

remove the AMs, and

reinsert the AMs so that after being processed by the FEC encoding circuitry, the AMs are located at an FEC codeword boundary and bits of a first AM, among the set of AMs, are spread across multiple outputs streams of the FEC encoding circuitry;

the FEC encoding circuitry, the FEC encoding circuitry configured to i) encode data output by the fourth circuitry according to an FEC code to generate FEC codewords, and ii) distribute data from the FEC codewords to the multiple outputs streams of the FEC encoding circuitry; and

fifth circuitry configured to generate the single output data stream based on the multiple output streams of the FEC encoding circuitry.

2 . The interface device of claim 1 , wherein the second circuitry is further configured to:

remove idle data corresponding to interpacket gaps (IPGs) in the input data streams to make room for the sets of AMs in the first data streams.

3 . The interface device of claim 1 , wherein the second circuitry is further configured to:

periodically insert dummy bit blocks between bit blocks from the input streams; and

periodically replace a respective set of dummy bit blocks with a respective set of AMs.

4 . The interface device of claim 3 , wherein:

the second circuitry comprises a plurality of first-in-first-out (FIFO) buffers that correspond to respective input streams;

the second circuitry is further configured to:

write data from the input streams to respective FIFO buffers at a first rate,

read data from the FIFO buffers at a second rate higher than the first rate to generate respective second data streams,

periodically pause reading data from the FIFO buffers,

periodically insert the dummy bit blocks into the second data streams in connection with periodically pausing the reading of data from the FIFO buffers, and

distribute data read from the second data streams to the first data streams.

5 . The interface device of claim 1 , wherein:

the first circuitry configured to receive eight input data streams each at a data rate of 10.3125 gigabits per second (Gbps) and to distribute bit blocks from the eight input data streams to four first data streams; and

the fifth circuitry configured to generate the single output data stream to have a data rate of 103.125 Gbps.

6 . The interface device of claim 1 , wherein:

the first circuitry is configured to receive eight input data streams each at a data rate of up to 10.3125 gigabits per second (Gbps) and to distribute bit blocks from the eight input data streams to four first data streams; and

the fifth circuitry is configured to generate the single output data stream to have a data rate of 82.5 Gbps.

7 . The interface device of claim 1 , further comprising:

a serializer/deserializer (SERDES) coupled to the fifth circuitry, the SERDES configured to generate a serial data stream based on the single output data stream.

8 . A method for converting a plurality of input data streams into a single output data stream, the method comprising:

distributing, by first circuitry of an interface device, bit blocks from a plurality of input data streams to a number of first data streams that is less than a number of input data streams in the plurality of input data streams;

periodically inserting, by second circuitry, a set of alignment markers (AMs) into the first data streams in between bit blocks, the set of AMs comprising at most the number of input data streams;

locking, by third circuitry, to AMs in the first data streams;

after locking to the AMs and prior to providing data corresponding to the first data streams to forward error correction (FEC) encoding circuitry,

removing, by fourth circuitry, the AMs, and

reinserting, by the fourth circuitry, the AMs so that after being processed by the EEC encoding circuitry, the AMs are located at an FEC codeword boundary and bits of a first AM, among the set of AMs, are spread across multiple outputs streams of the FEC encoding circuitry;

encoding, by the FEC encoding circuitry, data output by the fourth circuitry according to an FEC to generate FEC codewords;

distributing, by the FEC encoding circuitry, data from the FEC codewords to the multiple outputs streams of the FEC encoding circuitry; and

generating, by fifth circuitry, the single output data stream based on the multiple output streams of the FEC encoding circuitry.

9 . The method for converting the plurality of input data streams into the single output data stream of claim 8 , further comprising:

removing, by the second circuitry, idle data corresponding to interpacket gaps (IPGs) in the input data streams to make room for the sets of AMs in the first data streams.

10 . The method for converting the plurality of input data streams into the single output data stream of claim 8 , further comprising:

periodically inserting, by the second circuitry, dummy bit blocks between bit blocks from the input streams;

wherein periodically inserting the set of AMs comprises periodically replacing a respective set of dummy bit blocks with a respective set of AMs.

11 . The method for converting the plurality of input data streams into the single output data stream of claim 10 , further comprising:

writing data from the input streams to respective FIFO buffers at a first rate;

reading data from the FIFO buffers at a second rate higher than the first rate to generate respective second data streams;

periodically pausing reading data from the FIFO buffers; and

distributing data from the second data streams to the first data streams;

wherein periodically inserting the dummy bit blocks comprises periodically inserting the dummy bit blocks in connection with periodically pausing the reading of data from the FIFO buffers.

12 . The method for converting the plurality of input data streams into the single output data stream of claim 8 , further comprising:

receiving eight input data streams each at a data rate of 10.3125 gigabits per second (Gbps);

wherein distributing the bit blocks comprises distributing the bit blocks from the eight input data streams to four first data streams; and

wherein generating the single output data stream comprises generating the single output data stream to have a data rate of 103.125 Gbps.

13 . The method for converting the plurality of input data streams into the single output data stream of claim 8 , further comprising:

receiving eight input data streams each at a data rate of 10.3125 gigabits per second (Gbps);

wherein distributing the bit blocks comprises distributing the bit blocks from the eight input data streams to four first data streams; and

wherein generating the single output data stream comprises generating the single output data stream to have a data rate of 82.5 Gbps.

14 . The method for converting the plurality of input data streams into the single output data stream of claim 8 , further comprising:

generating, by a serializer/deserializer (SERDES) coupled to the fifth circuitry, a serial data stream based on the single output data stream.

15 . An interface device for converting a plurality of input data streams into a single output data stream, the interface device comprising:

first circuitry configured to:

write data from a plurality of input streams to respective FIFO buffers at a first rate,

read data from the FIFO buffers at a second rate higher than the first rate to generate respective first data streams,

periodically pause reading data from the FIFO buffers,

periodically insert dummy bit blocks and alignment markers (AMs) into the first data streams, including periodically inserting the dummy bit blocks in connection with periodically pausing the reading of data from the FIFO buffers, and

distribute data from the first data streams to a plurality of second data streams, wherein a number second data streams is less than a number of first data streams;

second circuitry configured to lock to the AMs in the second data streams and provide data in the second streams to forward error correction (FEC) encoder circuitry;

the FEC encoder circuitry, the FEC encoding circuitry configured to encode data from the second circuitry according to an FEC code to generate FEC codewords; and

third circuitry configured to generate the single output data stream based on the FEC codewords generated by the FEC encoding circuitry.

16 . The interface device of claim 15 , wherein the first circuitry is further configured to:

periodically insert AMs by replacing a set of dummy bit blocks with the AMs.

17 . The interface device of claim 15 , wherein the first circuitry is configured to:

write data from the plurality of input streams to the respective FIFO buffers at a data rate of 10.3125 gigabits per second (Gbps); and

read data from the FIFO buffers at a data rate of 12.375 Gbps.

18 . The interface device of claim 15 , further comprising:

a serializer/deserializer (SERDES) coupled to the third circuitry, the SERDES configured to generate a serial data stream based on the single output data stream.

19 . A method for converting a plurality of input data streams into a single output data stream, the method comprising:

writing data from a plurality of input streams to respective first-in-first-out (FIFO) buffers at a first rate;

reading data from the FIFO buffers at a second rate higher than the first rate to generate respective first data streams;

periodically pausing reading data from the FIFO buffers;

periodically inserting, by first circuitry, dummy bit blocks and alignment markers (AMs) into the first data streams, including periodically inserting the dummy bit blocks into the first data streams in connection with periodically pausing the reading of data from the FIFO buffers;

distributing, by the first circuitry, data from the first data streams to a plurality of second data streams, wherein a number second data streams is less than a number of first data streams;

locking, by second circuitry, to the AMs in the second data streams;

providing, by the second circuitry, data in the second streams to forward error correction (FEC) encoder circuitry;

encoding, by the FEC encoder circuitry, data from the second circuitry according to an FEC code to generate FEC codewords; and

generating, by third circuitry, the single output data stream based on the FEC codewords generated by the FEC encoding circuitry.

20 . The method of claim 19 , wherein periodically inserting AMs comprises:

periodically replacing a set of dummy bit blocks with the AMs.

21 . The method of claim 19 , wherein:

writing data from the plurality of input streams to the respective FIFO buffers comprises writing data from the plurality of input streams to the respective FIFO buffers at a data rate of 10.3125 gigabits per second (Gbps); and

reading data from the FIFO buffers comprises reading data from the FIFO buffers at a data rate of 12.375 Gbps.

22 . The method of claim 19 , further comprising:

generating, by a serializer/deserializer (SERDES), the serial data stream based on the single output data stream.

23 . An interface device for converting a plurality of input data streams into a single output data stream, the interface device comprising:

first circuitry configured to:

write data from a plurality of input streams to respective FIFO buffers at a data rate of 10.3125 gigabits per second (Gbps),

read data from the FIFO buffers at a data rate of 12.375 Gbps to generate respective first data streams,

periodically insert dummy bit blocks and alignment markers (AMs) into the first data streams, and

distribute data from the first data streams to a plurality of second data streams, wherein a number second data streams is less than a number of first data streams;

second circuitry configured to lock to the AMs in the second data streams and provide data in the second streams to forward error correction (FEC) encoder circuitry;

the FEC encoder circuitry, the FEC encoding circuitry configured to encode data from the second circuitry according to an FEC code to generate FEC codewords; and

third circuitry configured to generate the single output data stream based on the FEC codewords generated by the FEC encoding circuitry.

24 . A method for converting a plurality of input data streams into a single output data stream, the method comprising:

writing data from a plurality of input streams to respective first-in-first-out (FIFO) buffers at a data rate of 10.3125 gigabits per second (Gbps);

reading data from the FIFO buffers at a data rate of 12.375 Gbps to generate respective first data streams;

periodically inserting, by first circuitry, dummy bit blocks and alignment markers (AMs) into the first data streams;

distributing, by the first circuitry, data from the first data streams to a plurality of second data streams, wherein a number second data streams is less than a number of first data streams;

locking, by second circuitry, to the AMs in the second data streams;

providing, by the second circuitry, data in the second streams to forward error correction (FEC) encoder circuitry;

encoding, by the FEC encoder circuitry, data from the second circuitry according to an FEC code to generate FEC codewords; and

generating, by third circuitry, the single output data stream based on the FEC codewords generated by the FEC encoding circuitry.

Continuity (2)
Provisional Application 63542750 · Oct 5, 2023
Related Publication 20250119236A1 · Apr 10, 2025
References Cited (21)
US 7346819B2 · Bansal · 2008 [cited by examiner]
US 9172661B1 · Dropps · 2015 [cited by applicant]
US 10749629B2 · Riani · 2020 [cited by applicant]
US 20100313089A1 · Rajski · 2010 [cited by examiner]
US 20140223248A1 · Koo · 2014 [cited by examiner]
US 20190132185A1 · Farhoodfar et al. · 2019 [cited by applicant]
US 20210288672A1 · Smith · 2021 [cited by examiner]
WO WO2016169133A1 · 2016 [cited by examiner]
WO WO2021109702A1 · 2021 [cited by examiner]
Nicholl et al, “Details of 4-lane Interleaved 100G FEC,” IEEE P802.3ck Task Force, available at https://www.ieee802.org/3/ck/public/adhoc/apr24_19/nicholl_3ck_adhoc_01b_042419.pdf, Apr. 2019 (31 pages). [cited by applicant]
Potterf, “Ethernet MII Interfaces—Past, Present, and Proposals for Future,” Cisco Systems, available at https://www.ieee802.org/3/dg/public/May_2022/potterf_3dg_01_012524. pdf, Jan. 1, 2024 (31 pages). [cited by applicant]
Potterf, “NEA MII Presentation Planning—Collaborative Development of an NEA Presentation,” Cisco Systems, available at https://www.ieee802.org/3/dg/public/May_2024/Potterf_MII_NEA_Presentation_Draft_2024-07-10.pdf, Jul.… [cited by applicant]
“Enabling 100 Gigabit Ethernet Implementing PCS Lanes,” Ixia, available at https://support.ixiacom.com/sites/default/files/resources/whitepaper/PCS_white_paper.pdf, Jan. 2014 (12 pages). [cited by applicant]
“Multi-link Gearbox Implementation Agreement 3.0,” Optical Internetworking Forum (OIF), doc No. IA OIF-MLG-03.0, available at https://www.oiforum.com/wp-content/uploads/2019/01/OIF-MLG-03.0.pdf, Apr. 2016 (127 pages). [cited by applicant]
“QSGMII Specification,” Cisco Systems, Doc. No. EDCS-540123, Rev. 1.3, available at https://community.nxp.com/pwmxy87654/attachments/pwmxy87654/powerquicc/3546/1/qsgmii%20specification.pdf, Aug. 2009 (20 pages). [cited by applicant]
“Schedule 3, 25G & 50G Specification,” 25/50 Gigabit Ethernet Consortium, available at https://ethernettechnologyconsortium.org/wp-content/uploads/2020/03/25G-50G-Specification-FINAL.pdf, 2017 (32 pages). [cited by applicant]
Farhood at el., “Concatenated SFEC proposal for 200Gb/s per Lane IM-DD Optical PMD,” Institute for Electrical and Electronics Engineers (IEEE) 802.3df Nov. 2022 session, available at https://www.ieee802.org/3/df/public/… [cited by applicant]
Trowbridge, “40 GbE and 100 GbE PCS Considerations—Key Questions to be Answered Concerning OTN mapping for MLD (CTBI) Architecture,” available at https://www.google.com/url?sa=t&source=web&rct=j&opi=89978449&url=https:/… [cited by applicant]
International Search Report and Written Opinion for PCT No. PCT/US2024/050276, mailed Mar. 10, 2025 (19 pages). [cited by applicant]
Vissers, “Proposed 25G and 50G ODU25n and FlexO-1-RS-m (m=1,2) specification,” Int'l Telecommunication Union, Study Group 15, Feb. 25, 2019, pp. 1-11. [cited by applicant]
Wang et al., “PCS Consideration for 50GE & NG100GbE,” IEEE 802.3cd 50G&NGOATH Study Group, available at https://www.google.com/url?sa=t&source=web&rct=j&opi=89978449&url=https://www.ieee802.org/3/cd/public/July16/wang_3… [cited by applicant]