IP Library Granted Patent US 8,136,008
Granted Patent B1
US 8,136,008 · App. 13/089,794 · Granted Mar 13, 2012

ECC with out of order completion

Assignee: Link—A—Media Devices Corporation
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 8,136,008
App. No.
13/089,794
Granted
Mar 13, 2012
Kind
B1
Abstract

Processing a sequence of data frames in an error correction code (ECC) decoder is disclosed. Processing includes receiving a first data frame in the sequence of data frames, initiating processing of the first data frame through the ECC decoder, receiving a second data frame from the input sequence of data frames, and initiating processing of the second data frame through the ECC decoder before the first data frame is finished being processed through the ECC decoder. The ECC decoder includes one or more stages and at least one of the stages is coupled to a memory configured to store data associated with the at least one stage.

Claims (43)

1. A method of processing a sequence of data frames in an error correction code (ECC) decoder, including:

receiving a first data frame in the sequence of data frames;

initiating processing of the first data frame through the ECC decoder;

receiving a second data frame from the input sequence of data frames; and

initiating processing of the second data frame through the ECC decoder before the first data frame is finished being processed through the ECC decoder;

wherein the ECC decoder includes one or more stages and at least one of the stages is coupled to a memory configured to store data associated with the at least one stage.

2. A method as recited in claim 1 , wherein processing of the second data frame is initiated after the first data frame is finished processing through a first stage of the ECC decoder.

3. A method as recited in claim 1 , wherein the ECC decoder outputs a corrected second data frame corresponding to the second data frame before outputting a corrected first data frame corresponding to the first data frame.

4. A method as recited in claim 1 , wherein the ECC decoder outputs a corrected second data frame corresponding to the second data frame before outputting a corrected first data frame corresponding to the first data frame, and further including reordering the corrected first data frame before the corrected second data frame.

5. A method as recited in claim 1 , wherein the ECC decoder is associated with a low density parity check (LDPC) code.

6. A method as recited in claim 1 , wherein the ECC decoder is associated with a Reed-Solomon code.

7. A method as recited in claim 1 , wherein the ECC decoder includes a soft output Viterbi algorithm (SOVA) processing stage.

8. A method as recited in claim 1 , wherein the ECC decoder uses reliability information.

9. A method as recited in claim 1 , wherein the data frames are associated with disk sectors.

10. A method as recited in claim 1 , wherein the first data frame is received prior to the second data frame at the input to the ECC decoder.

11. A method as recited in claim 1 , wherein the memory is coupled to multiple stages of the ECC decoder.

12. A method as recited in claim 1 , wherein the memory is coupled to a stage other than the input to a first stage of the ECC decoder.

13. A method as recited in claim 1 , wherein the ECC decoder includes a first pipe comprising the one or more stages and a second pipe comprising one or more stages.

14. A method as recited in claim 13 , wherein a first stage of the first pipe finishes processing the first data frame after a first stage of the second pipe finishes processing the second data frame, wherein the first data frame is received prior to the second data frame at the input to the ECC decoder.

15. A method as recited in claim 13 , wherein the ECC decoder further includes a third pipe comprising one or more stages.

16. A method as recited in claim 1 , wherein the memory is configured to store data output from the at least one stage.

17. A system for processing a sequence of data frames in an error correction code (ECC) decoder, including:

a decoder configured to:

receive a first data frame in the sequence of data frames;

initiate processing of the first data frame through the ECC decoder;

receive a second data frame from the input sequence of data frames; and

initiate processing of the second data frame through the ECC decoder before the first data frame is finished being processed through the ECC decoder;

wherein the ECC decoder includes one or more stages, and

a memory coupled to at least one of the stages and configured to store data associated with the at least one stage.

18. A system as recited in claim 17 , wherein processing of the second data frame is initiated after the first data frame is finished processing through a first stage of the ECC decoder.

19. A system as recited in claim 17 , wherein the ECC decoder outputs a corrected second data frame corresponding to the second data frame before outputting a corrected first data frame corresponding to the first data frame.

20. A system as recited in claim 17 , wherein the first data frame is received prior to the second data frame at the input to the ECC decoder.

21. A system as recited in claim 17 , wherein the memory is coupled to multiple stages of the ECC decoder.

22. A system as recited in claim 17 , wherein the memory is coupled to a stage other than the input to a first stage of the ECC decoder.

23. A system as recited in claim 17 , wherein the ECC decoder includes a first pipe comprising the one or more stages and a second pipe comprising one or more stages.

24. A system as recited in claim 23 , wherein a first stage of the first pipe finishes processing the first data frame after a first stage of the second pipe finishes processing the second data frame, wherein the first data frame is received prior to the second data frame at the input to the ECC decoder.

25. A system as recited in claim 23 , wherein the ECC decoder further includes a third pipe comprising one or more stages.

26. A computer program product for processing a sequence of data frames in an error correction code (ECC) decoder, the computer program product being embodied in a computer readable medium and comprising computer instructions for:

receiving a first data frame in the sequence of data frames;

initiating processing of the first data frame through the ECC decoder;

receiving a second data frame from the input sequence of data frames; and

initiating processing of the second data frame through the ECC decoder before the first data frame is finished being processed through the ECC decoder;

wherein the ECC decoder includes one or more stages and at least one of the stages is coupled to a memory configured to store data associated with the at least one stage.

Assignments (2)
CHANGE OF NAME Recorded Feb 27, 2013
From: LINK_A_MEDIA DEVICES CORPORATION
To: SK HYNIX MEMORY SOLUTIONS INC.
Reel/Frame 029891/0201 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 26, 2011
From: YEUNG, KWOK W.; CHAN, KIN MING; LEE, MENG-KUN; NG, KIN MAN
To: LINK_A_MEDIA DEVICES CORPORATION
Reel/Frame 026350/0993 →
Continuity (2)
Continuation In Part 11787140 · Apr 13, 2007
Provisional Application 60920882 · Mar 30, 2007