# US 8,751,913 B2 · Systems and methods for reduced power multi-layer data decoding

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,751,913 B2
- Document ID: US8751913B2
- Status: Granted
- Kind: B2
- Application number: 13/295,160
- Filed: 2011-11-14
- Published: 2013-05-16
- Granted: 2014-06-10
- Earliest claimed: 2011-11-14
- Assignees: LSI Corporation
- Applicants: Zongwang Li; Lei Chen; Chung-Li Wang
- Inventors: Zongwang Li; Lei Chen; Chung-Li Wang
- Web page: https://patentgrep.com/patent/US8751913B2

## CPC

- H03M 13/1122: {storing only the first and second minimum values per check node}
- H03M 13/112: {with correction functions for the min-sum rule, e.g. using an offset or a scaling factor}
- H03M 13/116: {Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices}
- H03M 13/658: {Scaling by multiplication or division}
- H03M: CODING; DECODING; CODE CONVERSION IN GENERAL (using fluidic means F15C4/00; optical analogue/digital converters G02F7/00; coding, decoding or code conversion, specially adapted for particular applications, see the relevant subclasses, e.g. G01D, G01R, G06F, G06T, G09G, G10L, G11B, G11C, H04B, H04L, H04M, H04N; ciphering or deciphering for cryptography or other purposes involving the need for secrecy G09C)

## Abstract

Various embodiments of the present invention provide systems and methods for data processing. For example, a data processing system is disclosed that includes a data encoder circuit. The data encoder circuit is operable to apply an encoding algorithm to an input data set in accordance with a multi-layer code structure including a first row and a last row to yield an encoded data set. The last row of the multi-layer code structure represented in the encoded data set conforms to an identity matrix.

## Claims

### Claim 1

A data processing system, the data processing system comprising:
a data encoder circuit operable to apply an encoding algorithm to an input data set in accordance with a multi-layer code structure including a first row and a last row to yield an encoded data set, wherein the last row of the multi-layer code structure represented in the encoded data set conforms to an identity matrix.

### Claim 2 (depends on 1)

The data processing system of claim 1, wherein the data processing system further comprises:
a data processing circuit operable to decode the encoded data set to yield the input data set.

### Claim 3 (depends on 2)

The data processing system of claim 2, wherein the data processing circuit includes:
a data detector circuit operable to apply a data detection algorithm to the encoded data set to yield a detected output; and
a data decoder circuit operable to apply a data decode algorithm to a decoder input derived form the detected output to yield a decoded output.

### Claim 4 (depends on 3)

The data processing system of claim 3, wherein the data detection algorithm is selected from a group consisting of: a maximum a posteriori data detection algorithm and a Viterbi detection algorithm.

### Claim 5 (depends on 3)

The data processing system of claim 3, wherein the data decoder circuit is operable to:
add a second decoded output from the decoder input to yield a first summed output;
shift the summed output to conform with the identity matrix to yield a shifted output; and
subtract a third decoded output from the shifted output to yield a second summed output.

### Claim 6 (depends on 5)

The data processing circuit of claim 5, wherein both the second decoded output and the third decoded output are generated based upon the decoder input, wherein the second decoded output is generated on a first application of the data decode algorithm and the third decoded output is generated on a second application of the data decode algorithm, and wherein the first application of the data decode algorithm precedes the second application of the data decode algorithm.

### Claim 7 (depends on 5)

The data processing circuit of claim 5, wherein the first summed output is provided unshifted as an output codeword.

### Claim 8 (depends on 7)

The data processing circuit of claim 7, wherein the first summed output conforms with the identity matrix prior to shifting.

### Claim 9 (depends on 1)

The data processing system of claim 1, wherein the data processing system is implemented as part of a device selected from a group consisting of: a storage device, and a transceiver device.

### Claim 10 (depends on 1)

The data processing system of claim 1, wherein at least a portion of the data processing system is implemented as part of an integrated circuit.

### Claim 11 (depends on 1)

The data processing system of claim 1, wherein the encoding algorithm is a low density parity check algorithm.

### Claim 12 (depends on 11)

The data processing system of claim 11, wherein the low density parity check algorithm is selected from a group consisting of: a non-binary low density parity check algorithm, and a binary low density parity check algorithm.

### Claim 13

A method for data processing, the method comprising:
applying an encoding algorithm by a data encoder circuit to an input data set in accordance with a multi-layer code structure including a first row and a last row to yield an encoded data set, wherein the last row of the multi-layer code structure represented in the encoded data set conforms to an identity matrix.

### Claim 14 (depends on 13)

The method of claim 13, wherein the encoding algorithm is a low density parity check algorithm, and wherein the low density parity check algorithm is selected from a group consisting of: a non-binary low density parity check algorithm, and a binary low density parity check algorithm.

### Claim 15 (depends on 13)

The method of claim 13, wherein the method further comprises:
applying a data detection algorithm to the encoded data set to yield a detected output; and
applying a data decode algorithm to a decoder input derived form the detected output to yield a decoded output.

### Claim 16 (depends on 15)

The method of claim 15, wherein applying the data decode algorithm comprises:
adding a second decoded output from the decoder input to yield a first summed output;
shifting the summed output to conform with the identity matrix to yield a shifted output; and
subtracting a third decoded output from the shifted output to yield a second summed output.

### Claim 17 (depends on 16)

The method of claim 16, wherein both the second decoded output and the third decoded output are generated based upon the decoder input, wherein the second decoded output is generated on a first application of the data decode algorithm and the third decoded output is generated on a second application of the data decode algorithm, and wherein the first application of the data decode algorithm precedes the second application of the data decode algorithm.

### Claim 18 (depends on 16)

The method of claim 16, wherein the method further comprises:
determining that the first decoded output converged; and
providing the first summed output unshifted as an output codeword, wherein the first summed output unshifted conforms with the identity matrix.

### Claim 19

A storage device, the storage device comprising:
a data encoder circuit operable to apply an encoding algorithm to an input data set in accordance with a multi-layer code structure including a first row and a last row to yield an encoded data set, wherein the last row of the multi-layer code structure represented in the encoded data set conforms to an identity matrix;
a storage medium operable receive a data set corresponding to the encoded data set;
a head assembly disposed in relation to the storage medium and operable to provide a sensed signal corresponding to the encoded data set;
a read channel circuit including:
an analog to digital converter circuit operable to sample an analog signal derived from the sensed signal to yield a series of digital samples;
an equalizer circuit operable to equalize the digital samples to yield detector data set corresponding to the encoded data set;
a data detector circuit operable to apply a data detection algorithm to the data set to yield a detected output;
a data decoder circuit operable to:
add a second decoded output from the decoder input to yield a first summed output;
shift the summed output to conform with the identity matrix to yield a shifted output;
subtract a third decoded output from the shifted output to yield a second summed output; and wherein the first summed output is provided unshifted as an output codeword.

### Claim 20 (depends on 19)

The storage device of claim 19, wherein the encoding algorithm is a low density parity check algorithm, and wherein the low density parity check algorithm is selected from a group consisting of: a non-binary low density parity check algorithm, and a binary low density parity check algorithm.
