Data forwarding with speculative error correction

US10057017B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10057017-B2
Application numberUS-201715470928-A
CountryUS
Kind codeB2
Filing dateMar 28, 2017
Priority dateSep 30, 2015
Publication dateAug 21, 2018
Grant dateAug 21, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Communication apparatus includes an input circuit, which receives a sequence of symbols arranged in a series of data blocks, including data symbols that encode the data and forward error correction (FEC) symbols that encode an error correction code. The input circuit decodes the data encoded by the data symbols and passes the decoded data to a buffer for output to a data link layer interface irrespective of the FEC symbols. An error correction circuit receives the data and the error correction code from the input circuit, and upon detecting an error in a given data block in the series, passes the corrected data from the given data block to the buffer for output to the data link layer interface in place of the data from the given data block that the input circuit decoded and passed to the buffer.

First claim

Opening claim text (preview).

The invention claimed is: 1. Communication apparatus, comprising: a data link layer interface, which is configured to perform link-layer processing functions on data packets received over a communication link; a buffer, which is configured to hold data for output to the data link layer interface; and a physical layer (PHY) interface, comprising: an input circuit, which is configured to receive over the communication link a sequence of symbols arranged in a series of data blocks, which encode the data packets, the symbols in each data block comprising a first set of data symbols that encode the data, and a second set of forward error correction (FEC) symbols that encode an error correction code computed over the data encoded in the data block, and to decode the data encoded by the data symbols and pass the decoded data to the buffer irrespective of the FEC symbols; and an error correction circuit, which is coupled to receive the data and the error correction code from the input circuit, to detect and correct errors in the data using the error correction code so as to generate corrected data, and upon detecting an error in a given data block in the series, to pass the corrected data from the given data block to the buffer for output to the data link layer interface in place of the data from the given data block that the input circuit decoded and passed to the buffer, wherein the error correction circuit is configured to check each of the data blocks for the errors and to output a signal to the data link layer interface indicating whether each of the data blocks was error-free or erroneous, and the data link layer interface is configured to read the data from the buffer or wait for correction depending upon the signal. 2. The apparatus according to claim 1 , wherein the error correction circuit is configured to compute a corrected data block within a predefined computation time, and to check for the errors and output the signal with respect to any particular data block in the series within a detection time that is less than half the predefined computation time. 3. The apparatus according to claim 1 , wherein the error correction circuit is configured to check for the errors and output the signal with respect to any particular data block within a detection time that is no greater than a write time required for the data in the particular data block to be decoded by the input circuit and transferred to the buffer. 4. The apparatus according to claim 1 , and comprising a multiplexer, which has an output coupled to the buffer, a first input coupled to receive the data from the input circuit, and a second input coupled to receive the corrected data from the error correction circuit, and is configured to select the first input as long as the data blocks are error-free and, upon detection of an erroneous data block by the error correction circuit, to select the second input so that the corrected data is output from the multiplexer to the buffer. 5. The apparatus according to claim 4 , wherein selecting the second input causes the corrected data to overwrite the data previously decoded from the given data block and passed by the input circuit to the buffer. 6. A method for communication, comprising: receiving in a physical layer (PHY) interface over a communication link a sequence of symbols arranged in a series of data blocks, the symbols in each data block comprising a first set of data symbols that encode the data, and a second set of forward error correction (FEC) symbols that encode an error correction code computed over the data encoded in the data block; decoding, in the PHY interface, the data encoded by the data symbols and passing the decoded data, irrespective of the FEC symbols, to a buffer for output to a data link layer interface, which performs link-layer processing functions on data packets received over the communication link; concurrently with passing the decoded data to the buffer, detecting errors in the data using the error correction code; correcting the errors using the error correction code so as to generate corrected data; and upon detecting an error in a given data block in the series, passing the corrected data from the given data block from the PHY interface to the buffer for output to the data link layer interface in place of the data from the given data block that were previously decoded and passed to the buffer, wherein detecting the errors comprises checking each of the data blocks for the errors and to outputting a signal to the data link layer interface indicating whether each of the data blocks was error-free or erroneous, and the data link layer interface reads the data from the buffer or waits for correction depending upon the signal. 7. The method according to claim 6 , wherein correcting the errors comprises computing a corrected data block within a predefined computation time, and wherein detecting the errors comprises checking for the errors and outputting the signal with respect to any particular data block in the series within a detection time that is less than half the predefined computation time. 8. The method according to claim 6 , wherein detecting the errors comprises checking for the errors and outputting the signal with respect to any particular data block within a detection time that is no greater than a write time required for the data in the particular data block to be decoded and transferred to the buffer. 9. The method according to claim 6 , and comprising applying the decoded data to a first input of a multiplexer, and applying the corrected data to a second input of the multiplexer, and select the first input for output to the buffer as long as the data blocks are error-free and, upon detection of an erroneous data block, selecting the second input so that the corrected data is output from the multiplexer to the buffer. 10. The method according to claim 9 , wherein selecting the second input causes the corrected data to overwrite the data previously decoded from the given data block and passed by the input circuit to the buffer.

Assignees

Inventors

Classifications

  • H04L1/16Primary

    in which the return channel carries supervisory signals, e.g. repetition request signals · CPC title

  • H04L69/324Primary

    in the data link layer [OSI layer 2], e.g. HDLC · CPC title

  • Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables · CPC title

  • Arrangements at the transmitter end · CPC title

  • Arrangements at the receiver end · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10057017B2 cover?
Communication apparatus includes an input circuit, which receives a sequence of symbols arranged in a series of data blocks, including data symbols that encode the data and forward error correction (FEC) symbols that encode an error correction code. The input circuit decodes the data encoded by the data symbols and passes the decoded data to a buffer for output to a data link layer interface ir…
Who is the assignee on this patent?
Mellanox Tech Tlv Ltd
What technology area does this patent fall under?
Primary CPC classification H04L1/16. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Aug 21 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).