IP Library › Granted Patent US 11,223,446
Granted Patent B2
US 11,223,446 · App. 16/991,681 · Granted Jan 11, 2022

Forward error correction mechanism for data transmission across multi-lane links

Inventor: Debendra Das Sharma (Saratoga, CA)
Assignee: Intel Corporation
H04L1/0041H04L1/0076H04L2001/0096
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 11,223,446
App. No.
16/991,681
Granted
Jan 11, 2022
Kind
B2
Abstract

Systems and devices can include a first port of a first device coupled to a second port of a second device across a multi-lane link. The first port can augment a data block with error correcting code by distributing error correcting code evenly across each lane of the data block, wherein each lane of the data block includes a same number of error correcting code. The first port can transmit the data block with the per-lane error correcting code to the second port across the multi-lane link. The second port can determine error correcting code based on the error correcting code bits received in the data block, and perform error correction on the symbols of the data block based on the error correcting code received.

Claims (52)

1. An apparatus comprising:

a port to transmit a data stream across a link with a plurality of lanes, wherein the port comprises:

physical layer circuitry (PHY) to:

send a data stream on the link, the data stream to be sent as a series of data stream flow control units (flits),

generate an ordered set (OS) to be sent into the data stream after a predetermined number of data stream flits; and

send the OS into the data stream after the predetermined number of data stream flits;

wherein the PHY is to:

determine error correcting code based for the data stream, and

distribute the error correcting code across the lanes of the link.

2. The apparatus of claim 1 , wherein the OS is to comprise a skip ordered set (SKP OS), and the PHY is to send the SKP OS into the data stream after a predetermined number of data stream flits.

3. The apparatus of claim 2 , the PHY to send another series of data stream flits after the SKP OS.

4. The apparatus of claim 1 , wherein the OS comprises an electrical idle ordered set (EIOS), and the PHY is to send the EIOS at the end of the data stream.

5. The apparatus of claim 1 , wherein the OS comprises comprise an electrical idle exit ordered set (EIEOS), and the PHY is to send the EIEOS at the end of the data stream.

6. The apparatus of claim 5 , the PHY to send another skip ordered set (SKP OS) after the EIEOS.

7. The apparatus of claim 5 , the PHY to cause the link to enter recovery after the EIEOS.

8. The apparatus of claim 1 , the PHY to send a start data stream ordered set (SDS OS) before the data stream flit to indicate a start of the data stream.

9. The apparatus of claim 1 , the data stream absent a sync header.

10. The apparatus of claim 9 , wherein the PHY is to transmit a Start Data Stream OS (SDS OS) to indicate the beginning of the data stream.

11. A method comprising:

sending a data stream across a multilane link as a series of data stream flow control units (flits);

sending a skip ordered set (SKP OS) after sending a predetermined number of data stream flits;

determining error correcting code for the data stream flit;

adding the error correcting code to each lane of the data stream flit; and

sending the data stream flit on the multilane link with the error correcting code.

12. The method of claim 11 , further comprising sending another series of data stream flits after sending the SKP OS.

13. The method of claim 11 , further comprising sending an electrical idle ordered set (EIOS) at an end of the data stream.

14. The method of claim 11 , further comprising:

sending an electrical idle exit ordered set (EIEOS) at an end of the data stream; and

causing the link to enter a recovery state.

15. The method of claim 14 , further comprising sending another skip ordered set (SKP OS) after sending the EIEOS.

16. The method of claim 11 , further comprising sending a start data stream (SDS) ordered set prior to sending the data stream flit.

17. The method of claim 11 , further comprising:

sending the data stream absent a sync header; and

sending a Start Data Stream OS (SDS OS) to indicate the beginning of the data stream.

18. A system comprising:

a host device comprising a physical layer circuitry (PHY); and

a downstream device connected to the host device by a multilane link;

the PHY to:

send, on the multilane link, a data stream as a series of data stream flow control units (flits),

send a skip ordered set (SKP OS) into the data stream after a predetermined number of data stream flits, and

send the SKP OS on the multilane link;

the PHY to:

determine error correcting code for the data stream; and

distribute the error correcting code across each lane of the data stream flit.

19. The system of claim 18 , the PHY to send another series of data stream flits after the SKP OS.

20. The system of claim 18 , the PHY is to send an electrical idle ordered set (EIOS) at the end of the data stream.

21. The system of claim 18 , the PHY is to send an electrical idle exit ordered set (EIEOS) at the end of the data stream.

22. The system of claim 21 , the PHY to send a skip ordered set (SKP OS) after the EIEOS.

23. The system of claim 21 , the PHY to cause the link to enter recovery after the EIEOS.

24. The system of claim 18 , the PHY to send a start data stream ordered set (SDS OS) flit before the data stream flit to indicate a start of the data stream.

25. The apparatus of claim 24 , the data stream absent a sync header.

26. The system of claim 18 , wherein the multilane link comprises a link based on a Peripheral Component Interconnect Express (PCIe) protocol.

Continuity (2)
Continuation 16224583 · Dec 18, 2018
Related Publication 20200374037A1 · Nov 26, 2020