Area efficient implementation of a product code error correcting code decoder
First Claim
1. A method for implementing error correcting code (ECC) using a product code decoder, the method comprising:
- receiving a product code, wherein the product code is a matrix of row and column component codes;
generating a plurality of row syndromes and a plurality of column syndromes from the received product code;
storing the plurality of row syndromes in a row syndrome queue, the row syndrome queue to support a plurality of modes of operation corresponding to a plurality of phases of decoding the product code;
storing the plurality of column syndromes in a column syndrome queue, the column syndrome queue to support the plurality of modes of operation corresponding to the plurality of phases of decoding the product code;
correcting the plurality of row syndromes in the row syndrome queue based on errors detected in respective row syndromes and errors detecting in overlapping column syndromes;
correcting the plurality of column syndromes in the column syndrome queue based on errors detected in respective column syndromes and errors detected in overlapping row syndromes; and
correcting the product code in a codeword buffer at locations corresponding to corrections in the plurality of row syndromes and the plurality of column syndromes.
5 Assignments
0 Petitions
Accused Products
Abstract
A method and system for implementing error correcting code using a product code decoder. The method and system receive a product code, wherein the product code is a matrix of row and column component codes, generate a plurality of row syndromes column syndromes from the received product code, store the plurality of row syndromes in a row syndrome queue, store the plurality of column syndromes in a column syndrome queue, the column and row syndrome queue to support the plurality of modes of operation corresponding to the plurality of phases of decoding the product code, correct the plurality of row syndromes and columns syndromes in the row and column syndrome queues based on errors detected in respective row and column syndromes and errors detecting in overlapping syndromes, and correct the product code in a codeword buffer at locations corresponding to corrections in the plurality of row syndromes and the plurality of column syndromes.
-
Citations
20 Claims
-
1. A method for implementing error correcting code (ECC) using a product code decoder, the method comprising:
-
receiving a product code, wherein the product code is a matrix of row and column component codes; generating a plurality of row syndromes and a plurality of column syndromes from the received product code; storing the plurality of row syndromes in a row syndrome queue, the row syndrome queue to support a plurality of modes of operation corresponding to a plurality of phases of decoding the product code; storing the plurality of column syndromes in a column syndrome queue, the column syndrome queue to support the plurality of modes of operation corresponding to the plurality of phases of decoding the product code; correcting the plurality of row syndromes in the row syndrome queue based on errors detected in respective row syndromes and errors detecting in overlapping column syndromes; correcting the plurality of column syndromes in the column syndrome queue based on errors detected in respective column syndromes and errors detected in overlapping row syndromes; and correcting the product code in a codeword buffer at locations corresponding to corrections in the plurality of row syndromes and the plurality of column syndromes. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A product code decoder comprising:
-
a codeword buffer to store a received product code that is a matrix of row and column component codes; a row syndrome generator to generate a plurality of row syndromes from the received product code; a column syndrome generator to generate a plurality of column syndromes from the received product code; a row syndrome queue having a plurality of registers to store the plurality of row syndromes, the row syndrome queue to support a plurality of modes of operation corresponding to a plurality of phases of decoding the product code; a column syndrome queue having a plurality of register to store the plurality of column syndromes, the column syndrome queue to support the plurality of modes of operation corresponding to the plurality of phases of decoding the product code; and a component code decoder coupled to the codeword buffer, row syndrome generator, and column syndrome generator, the component code decoder to correct the plurality of row syndromes in the row syndrome queue based on errors detected in respective row syndromes and errors detecting in overlapping column syndromes, to correct the plurality of column syndromes in the column syndrome queue based on errors detected in respective column syndromes and errors detected in overlapping row syndromes, and to identify locations in the product code in the codeword buffer corresponding to corrections in the plurality of row syndromes and the plurality of column syndromes. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A memory system comprising:
-
a set of memory elements to store data; a host interface to receive a request to store or access data in the set of memory elements; and a memory controller including error code correction utilizing a product code decoder, the product code decoder including, a codeword buffer to store a received product code that is a matrix of row and column component codes, a row syndrome generator to generate a plurality of row syndromes from the received product code, a column syndrome generator to generate a plurality of column syndromes from the received product code, a row syndrome queue having a plurality of registers to store the plurality of row syndromes, the row syndrome queue to support a plurality of modes of operation corresponding to a plurality of phases of decoding the product code, a column syndrome queue having a plurality of register to store the plurality of column syndromes, the column syndrome queue to support the plurality of modes of operation corresponding to the plurality of phases of decoding the product code, and a component code decoder coupled to the codeword buffer, row syndrome generator, and column syndrome generator, the component code decoder to correct the plurality of row syndromes in the row syndrome queue based on errors detected in respective row syndromes and errors detecting in overlapping column syndromes, to correct the plurality of column syndromes in the column syndrome queue based on errors detected in respective column syndromes and errors detected in overlapping row syndromes, and to identify locations in the product code corresponding to corrections in the plurality of row syndromes and the plurality of column syndromes. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification