System and method of decoding data with reduced power consumption
First Claim
1. A method of decoding data, the method comprising:
- at a decoder configured to generate up to a first number of residual values to correct errors within data representing a corrupted codeword;
receiving the data representing the corrupted codeword;
before determining a syndrome associated with the received data., generating a first set of residual values, the first set of residual values having a second number of residual values corresponding to the received data, wherein the second number of residual values is less than the first number of residual values;
determining whether the received data representing the corrupted codeword is decodable using the first set of residual values; and
in response to determining that the received data is decodable using the first set of residual values, generating decoded data corresponding to the codeword.
2 Assignments
0 Petitions
Accused Products
Abstract
A decoder is disclosed that can reduce power consumption at different stages of a decoding process. At a first stage where the decoder calculates residual values, the decoder can reduce power consumption by calculating residual values using less than a full set of division circuits. A reduced number of division circuits may be sufficient to successfully calculate residuals associated with the codeword to complete the decoding process. Division circuits that are not used may be disabled to reduce power consumption. At another stage of the decoding process where the decoder generates coefficients that are used to identify locations of errors in the codeword, the decoding process can limit power consumption by reducing the number of iterations of a polynomial generator by incorporating termination decision circuitry.
-
Citations
24 Claims
-
1. A method of decoding data, the method comprising:
at a decoder configured to generate up to a first number of residual values to correct errors within data representing a corrupted codeword; receiving the data representing the corrupted codeword; before determining a syndrome associated with the received data., generating a first set of residual values, the first set of residual values having a second number of residual values corresponding to the received data, wherein the second number of residual values is less than the first number of residual values; determining whether the received data representing the corrupted codeword is decodable using the first set of residual values; and in response to determining that the received data is decodable using the first set of residual values, generating decoded data corresponding to the codeword. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
12. A data decoding device comprising:
an error correction code (ECC) engine configured to generate residual values to correct errors within a codeword that has been corrupted, wherein the ECC engine is adapted to generate a first number (p) of residual values to correct not more than a first number of errors (t) of the corrupted codeword when the corrupted codeword has a first codeword size (s), the ECC engine comprising; a plurality of residual calculation circuits to generate a first set of residual values before a syndrome associated with the corrupted codeword is generated, the first set of residual values having a second number (r′
) of residual values, the second number (r′
) less than the first number (p);a syndrome generator circuit coupled to receive the first set of residual values via an output of the plurality of residual calculation circuits; and a control logic circuit configured to initiate generation of the first set of residual values, wherein an operation of at least one residual calculation circuit is disabled during generation of the first set of residual values. - View Dependent Claims (13, 14, 15, 16, 17)
-
18. A method comprising:
-
at a decoder including a plurality of residual calculation circuits, the plurality of residual calculation circuits comprising a first number (p) of residual calculation circuits, wherein a first number (t) of errors of a corrupted codeword is correctable using the first number (p) of residual calculation circuits; selectively disabling an operation of at least one residual calculation circuit during generation of a first set of residual values corresponding to the corrupted codeword, the first set of residual values having a second number (r′
) of residual values that is less than the first number (p) of residual calculation circuits, the second number (r′
) of residual values determined to correct a second number (r) of errors within the corrupted codeword, wherein the second number (r) of errors is less than the first number (t) of errors; andinitiating generation of the first set of residual values corresponding to received data before a syndrome associated with the received data is calculated; and generating the syndrome using the first set of residual values.
-
-
19. A method of decoding data, the method comprising:
-
at a decoder configured to correct a first number of errors within a codeword that has been corrupted; receiving data representing the corrupted codeword; before determining a syndrome associated with the received data, generating a first set of residual values, the first set of residual values having a second number of residual values corresponding to the received data, wherein the second number of residual values is less than a first number of residual values; initiating an iterative convergence scheme to generate an error location polynomial, wherein each particular iteration of the iterative convergence scheme includes updating the error location polynomial and determining a discrepancy factor corresponding to the particular iteration; and generating a count of sequential iterations of the iterative convergence scheme that correspond to a zero discrepancy factor and terminating the iterative convergence scheme in response to the count equaling a threshold, wherein the iterative convergence scheme is terminated prior to a degree of the error location polynomial equaling the first number of errors. - View Dependent Claims (20, 21, 22, 23)
-
-
24. A data storage device comprising:
-
a flash memory; a flash controller coupled to the flash memory; and an error correction code (ECC) engine responsive to the flash controller and configured to generate residual values to correct errors within a codeword that has been corrupted, wherein the ECC engine is adapted to generate a first number (p) of residual values to correct not more than a first number of errors (t) of the corrupted codeword when the corrupted codeword has a first codeword size (s), the ECC engine comprising; a plurality of residual calculation circuits to generate a first set of residual values before a syndrome associated with the corrupted codeword is generated, the first set of residual values having a second number (r′
) of residual values, the second number (r′
) less than the first number (p);a syndrome generator circuit coupled to receive the first set of residual values via an output of the plurality of residual calculation circuits; and a control logic circuit configured to initiate generation of the first set of residual values, wherein an operation of at least one residual calculation circuit is disabled during generation of the first set of residual values.
-
Specification