# US 10,374,631 B2 · Look-ahead LDPC decoder

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

- Number: US 10,374,631 B2
- Document ID: US10374631B2
- Status: Granted
- Kind: B2
- Application number: 15/683,696
- Filed: 2017-08-22
- Published: 2019-02-28
- Granted: 2019-08-06
- Earliest claimed: 2017-08-22
- Assignees: Goke US Research Laboratory
- Applicants: Goke US Research Laboratory
- Inventors: Ko-Chung Tseng; Engling Yeo
- Web page: https://patentgrep.com/patent/US10374631B2

## CPC

- H03M 13/1131: {Scheduling of bit node or check node processing}
- H03M 13/1111: {Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms}
- 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/616: {Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations}
- H03M 13/6525: {3GPP LTE including E-UTRA}
- 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

Look-ahead LDPC decoder. In an exemplary embodiment, a method includes generating a message (QA) to a first check node, the QA message is generated from a result (RA) from the first check node, and generating a message (QB) to a second check node, the QB message is generated from the result (RA) and is transmitted to avoid decoder stall. The method also includes receiving a result (R′A) from the first check node, computing a difference (R″A) between the result (R′A) and the result (RA), and receiving a result (R′B) from the second check node. The method also includes computing a bit value P(B) using the difference (R″A) and the result (R′B).

## Claims

### Claim 1

A method performed by a digital data decoder, comprising:
determining that a Read-Before-Write (RBW) hazard may occur;
in response to determining that a RBW hazard may occur:
generating a message (QA) to a first check node, wherein the QA message is generated from a previous result (RA) from the first check node;
generating a message (QB) to a second check node, wherein the QB message is generated from the previous result (RA) and is transmitted before a result (R′A) is received from the first check node;
receiving the result (R′A) from the first check node;
computing a difference (R″A) between the result (R′A) and the result (RA);
receiving a result (R′B) from the second check node; and
computing a bit value P(B) using the difference (R″A) and the result (R′B);
whereby the RBW hazard is avoided as a result of computing QB before receiving the result R′A from the first check node.

### Claim 2 (depends on 1)

The method of claim 1, further comprising storing the previous result (RA).

### Claim 3 (depends on 1)

The method of claim 1, wherein generating the message (QA) comprises generating the message (QA) from (QA=P−RA), wherein P is a previous bit value and RA is the previous result from the first check node.

### Claim 4 (depends on 1)

The method of claim 1, wherein generating (QB) comprises determining (QB) from (QB=P−RB), wherein P is a previous bit value and RB is a previous result value from the second check node.

### Claim 5 (depends on 1)

The method of claim 1, further comprising computing the difference (R″A) from (R′A−RA).

### Claim 6 (depends on 1)

The method of claim 1, wherein computing the bit value P(B) comprises determining P(B) from (P(B)=QB+R′B+R″A).

### Claim 7 (depends on 1)

The method of claim 1, wherein the decoder comprises a low density parity check (LDPC) decoder.

### Claim 8 (depends on 7)

The method of claim 7, wherein the first and second check nodes are adjacent to a bit node and the method further comprises extending the method to mitigate the RBW hazard for additional check nodes that are adjacent to the bit node.

### Claim 9 (depends on 7)

The method of claim 7, wherein determining that a RBW hazard may occur comprises determining the RBW hazard from knowledge of a LDPC code.

### Claim 10 (depends on 7)

The method of claim 7, wherein determining that a RBW hazard may occur comprises determining the RBW hazard on-the-fly during decoding.

### Claim 11

A digital data decoder, comprising:
means for determining that a Read-Before-Write (RBW) hazard may occur;
means for generating a message (QA) to a first check node, the message (QA) determined from a previous result (RA) from the first check node;
means for generating a message (QB) to a second check node from the previous result (RA) and is transmitted before a result (R′A) is received from the first check node;
means for receiving a result (R′A) from the first check node;
means for computing a difference (R″A) between the result (R′A) and the result (RA) when the RBW hazard may occur;
means for receiving a result (R′B) from the second check node; and
means for computing a bit value P(B) using the difference (R″A) and the result (R′B);
whereby the RBW hazard is avoided as a result of computing QB before receiving the result R′A from the first check node.

### Claim 12 (depends on 11)

The data decoder of claim 11, further comprising a cache memory that stores the result (RA).

### Claim 13 (depends on 11)

The digital data decoder of claim 11, wherein the means for generating the message (QA) comprises means for generating the message (QA) from (QA=P−RA), wherein P is a previous bit value and RA is the previous result from the first check node.

### Claim 14 (depends on 11)

The digital data decoder of claim 11, wherein the means for generating (QB) comprises means for determining (QB) from (QB=P−RB), wherein P is a previous bit value and RB is a previous result value from the second check node.

### Claim 15 (depends on 11)

The digital data decoder of claim 11, further comprising means for computing the difference (R″A) from (R′A−RA).

### Claim 16 (depends on 11)

The digital data decoder of claim 11, wherein the means for computing the bit value P(B) comprises means for computing P(B) from (P(B)=QB+R′B+R″A).

### Claim 17 (depends on 11)

The digital data decoder of claim 11, wherein the apparatus comprises a low density parity check (LDPC) decoder.

### Claim 18 (depends on 17)

The digital data decoder of claim 17, wherein the LDPC decoder detects RBW hazards from at least one of knowledge of a LDPC code and on-the-fly during operation of the LDPC decoder.

### Claim 19

A method performed by a digital data decoder, comprising:
detecting a read before write (RBW) hazard associated with first and second check nodes;
generating messages (QA) and (QB) to the first and second check nodes, respectively, wherein the (QA) and (QB) messages are generated from a previous result (RA) from the first check node, each message transmitted before a result (R′A) is received from the first check node;
receiving a result (R′A) from the first check node and a result (R′B) from the second check node; and
computing a new bit node value based on the result (R′A) and the result (R′B);
whereby the RBW hazard is avoided as a result of computing QB before receiving the result R′A from the first check node.

### Claim 20 (depends on 19)

The method of claim 19, further comprising:
computing a difference (R″A) between the result (R′A) and the result (RA) when the RBW hazard may occur;
wherein the computing of the new bit node value comprises calculating the new bit node value from (P(B)=QB+R′B+R″A).
