# US 10,320,417 B2 · Decoding method and related apparatus

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

- Number: US 10,320,417 B2
- Document ID: US10320417B2
- Status: Granted
- Kind: B2
- Application number: 15/654,710
- Filed: 2017-07-20
- Published: 2018-07-05
- Granted: 2019-06-11
- Earliest claimed: 2016-12-30
- Assignees: Silicon Motion, Inc.
- Applicants: Silicon Motion Inc.
- Inventors: Yu-Luen Wang
- Web page: https://patentgrep.com/patent/US10320417B2

## CPC

- H03M 13/1108: {Hard decision decoding, e.g. bit flipping, modified or weighted bit flipping}
- H03M 13/1128: {Judging correct decoding and iterative stopping criteria other than syndrome check and upper limit for decoding iterations}
- H03M 13/159: {Remainder calculation, e.g. for encoding and syndrome calculation}
- H04L 1/0021: {in which the algorithm uses adaptive thresholds}
- 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)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method of decoding a received message includes: determining a weighting vector corresponding to at least one bit of the received message according to a syndrome and a parity check matrix; determining a bit state of the bit according to a bit value of the bit; changing the bit state according to the weighting vector and a flipping threshold, wherein a change range of the bit state is variable; and flipping the bit according to the bit state.

## Claims

### Claim 1

A decoding apparatus of a received message, comprising:
a weighting calculation unit, arranged for determining a weighting vector corresponding to at least one bit of the received message according to a syndrome and a parity check matrix;
a state determination unit, arranged for determining a bit state of the bit according to a bit value of the bit;
a flipping calculation unit, arranged for generating a bit flipping vector for changing the bit state according to the weighting vector and a flipping threshold, wherein a change range of the bit state is variable; and
a flipping processing unit, arranged for changing the bit state of the bit and flipping the bit according to the bit state.

### Claim 2 (depends on 1)

The decoding apparatus of claim 1, wherein the bit state comprises at least one first major state, first minor state, second major state and second minor state, and the state determination unit:
determines the bit state to be the first major state when the bit value has a first value; and
determines the bit state to be the second major state when the bit value has a second value.

### Claim 3 (depends on 2)

The decoding apparatus of claim 2, when the weighting vector is equal to a maximum value of the flipping threshold, the flipping calculation unit generates a bit flipping vector to cause the bit state to be changed according to a first change range and when the flipping threshold is not equal to the maximum value, the flipping calculation unit generates a bit flipping vector to cause the bit state to be changed according to a second change range, wherein the first change range is wider than the second change range.

### Claim 4 (depends on 3)

The decoding apparatus of claim 3, when the weighting vector is equal to a maximum value of the flipping threshold, the flipping calculation unit generates the bit flipping vector to cause the bit state to transition from the first minor state to the second major state, or from the second minor state to the first major state.

### Claim 5 (depends on 3)

The decoding apparatus of claim 3, when the weighting vector is equal to a maximum value of the flipping threshold, the flipping calculation unit generates the bit flipping vector to cause the bit state to transition from the first major state to the second major state, or from the second major state to the first major state.

### Claim 6 (depends on 3)

The decoding apparatus of claim 3, when the flipping threshold is not equal to the maximum value, and the weighting vector is greater than or equal to the flipping threshold, the flipping calculation unit generates the bit flipping vector to cause the bit state to transition from the first major state to the first minor state, from the first minor state to the second minor state, from the second minor state to the first minor state or from the second major state to the second minor state.

### Claim 7 (depends on 3)

The decoding apparatus of claim 3, when the weighting vector is smaller than or equal to a non-zero lower limit of the flipping threshold, the flipping calculation unit generates the bit flipping vector to cause the bit state to transition from the first minor state to the first major state or from the second minor state to the second major state.
