IP Library Granted Patent US 9,047,203
Granted Patent B1
US 9,047,203 · App. 13/722,750 · Granted Jun 2, 2015

Systems and methods for encoding and decoding data

Inventor: Chuck Rumbolt (St. John's, CA)
Assignee: Altera Corporation
G06F11/10H03M13/151H03M13/1102
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 9,047,203
App. No.
13/722,750
Granted
Jun 2, 2015
Kind
B1
Abstract

Methods and systems for encoding and decoding data using a streaming product-code (SPC). An SPC codeword has a first and second portion in a first and second component stream of the SPC, respectively. The first portion of the first codeword is arranged along a first dimension of the SPC, and the second portion of the first codeword is arranged along a second dimension of the SPC. The SPC efficiently encodes data into a desired target frame format without the overhead of dedicated mapping logic used by product-codes solutions.

Claims (32)

1. A method for encoding data, comprising:

generating, using an encoder, a first and second component streams of a streaming product-code (SPC), wherein a first SPC codeword has a first portion in the first component stream and a second portion in the second component stream, wherein the first portion of the first SPC codeword is arranged along a first dimension of the SPC in the first component stream, and the second portion of the first SPC codeword is arranged along a second dimension of the SPC in the second component stream, wherein the encoder generates the first and second SPC codewords using a forward error correction (FEC) code; and

interleaving the second portion of the first SPC codeword with a portion of a second SPC codeword arranged along the first dimension in the first component stream.

2. The method for encoding data of claim 1 further comprising interleaving the first and second component streams.

3. The method for encoding data of claim 1 , wherein:

the first SPC codeword intersects the second SPC codeword at most once in the first component stream.

4. The method for encoding data of claim 1 , wherein:

the second portion of the first SPC codeword is arranged along a diagonal of the SPC in the second component stream.

5. The method for encoding data of claim 1 , further comprising transmitting the first and second component streams in sequence by alternating a transmit order between the first and second component streams.

6. The method for encoding data of claim 1 , further comprising transmitting the first and second component streams by streaming the first and second component streams in parallel.

7. The method for encoding data of claim 1 , wherein the generating comprises:

generating the first component stream using a stream encoder; and

generating the second component stream using another stream encoder.

8. A system for encoding data, the system configured for:

generating a first and second stream of a streaming product-code (SPC), wherein a first SPC codeword has a first portion in the first component stream and a second portion in the second component stream, wherein the first portion of the first SPC codeword is arranged along a first dimension of the SPC in the first component stream, and the second portion of the first SPC codeword is arranged along a second dimension of the SPC in the second component stream, wherein the first and second SPC codewords are generated using a forward error correction (FEC) code; and

interleaving the second portion of the first SPC codeword with a portion of a second SPC codeword arranged along the first dimension in the first component stream.

9. The system for encoding data of claim 8 , further configured for interleaving the first and second component streams.

10. The system for encoding data of claim 8 , wherein:

the first SPC codeword intersects the second SPC codeword at most once in the first component stream.

11. The system for encoding data of claim 8 , wherein:

the second portion of the first SPC codeword is arranged along a diagonal of the SPC in the second component stream.

12. The system for encoding data of claim 8 , comprising a transmitter for transmitting the first and second component streams in sequence by alternating a transmit order between the first and second component streams.

13. The system for encoding data of claim 8 , comprising a transmitter for transmitting the first and second component streams by streaming the first and second component streams in parallel.

14. The system for encoding data of claim 8 , comprising:

a stream encoder for generating the first component stream; and

another stream encoder for generating the second component stream.

15. A system for decoding data, comprising:

receiver circuitry for receiving a streaming product-code (SPC) stream, comprising an interleaving of a first and second component stream, wherein an SPC codeword has a first portion in the first component stream and a second portion in the second component stream, wherein the first portion of the SPC codeword is arranged along a first dimension of the SPC in the first component stream, and the second portion of the SPC codeword is arranged along a second dimension of the SPC in the second component stream, wherein the SPC codeword is generated using a forward error correction (FEC) code; and

processing circuitry for processing the first and second portions of the SPC codeword to generate decoded data.

16. The system for decoding data of claim 15 , wherein the receiver circuitry is configured to receive N streams corresponding to the SPC.

17. The system for decoding data of claim 16 , wherein each symbol in the SPC is covered exactly once by each of N component codes in each of the N streams and wherein each pair of component codes from the N component codes intersects at most once in each of the N streams.

18. The system for decoding data of claim 17 , wherein each of the N component codes is a forward error correction (FEC) code.

Assignments (2)
SECURITY INTEREST Recorded Sep 12, 2025
From: ALTERA CORPORATION
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 073431/0309 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2013
From: RUMBOLT, CHUCK
To: ALTERA CORPORATION
Reel/Frame 029716/0848 →
Continuity (1)
Provisional Application 61578554 · Dec 21, 2011