# US 11,115,062 B2 · Memory system with adaptive threshold decoding and method of operating such memory system

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

- Number: US 11,115,062 B2
- Document ID: US11115062B2
- Status: Granted
- Kind: B2
- Application number: 16/355,247
- Filed: 2019-03-15
- Published: 2019-09-19
- Granted: 2021-09-07
- Earliest claimed: 2018-03-16
- Assignees: SK hynix Inc.
- Applicants: SK hynix Inc.
- Inventors: Naveen Kumar; Aman Bhatia; Fan Zhang
- Web page: https://patentgrep.com/patent/US11115062B2

## CPC

- G11C 29/022: {in I/O circuitry}
- H03M 13/3707: {Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code}
- G06F 3/0604: {Improving or facilitating administration, e.g. storage management}
- G06F 3/0659: {Command handling arrangements, e.g. command buffers, queues, command scheduling}
- G06F 3/0679: {Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]}
- G06F 11/1048: {using arrangements adapted for a specific error detection or correction feature}
- G06F 11/1068: {in sector programmable memories, e.g. flash disk (G06F11/1072 takes precedence)}
- G11C 29/023: {in clock generator or timing circuitry}
- G11C 29/028: {with adaption or trimming of parameters}
- G11C 29/52: Protection of memory contents; Detection of errors in memory contents
- H03M 13/1108: {Hard decision decoding, e.g. bit flipping, modified or weighted bit flipping}
- H03M 13/3746: {with iterative decoding}
- G11C 16/0483: {comprising cells having several storage transistors connected in series}
- G11C 16/08: Address circuits; Decoders; Word-line control circuits
- G11C: STATIC STORES (semiconductor memory devices H10B)
- 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)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Memory controllers, decoders and methods perform decoding of a codeword comprising multiple bits. For a select one of those bits, which belongs to at least one component codeword of the codeword, at an iteration of decoding, the following operations are performed. Channel information for the select bit is biased based on degree of the select bit. A reliability indicator of an initial decision as to whether to flip the select bit is computed based on the initial decision and the biased channel information. The reliability indicator is compared with an adaptive threshold, which is determined based on the degree of the select bit and unsatisfied check (USC) information from the initial decision. A decision is then made as to whether to flip the select bit. The decision and syndromes of each component codeword to which the select bit belongs are updated based on the compare operation.

## Claims

### Claim 1

A memory controller, comprising:
a decoder configured to perform decoding of a codeword comprising a plurality of bits, wherein for a select one of the plurality of bits, which belongs to at least one component codeword of the codeword, at an iteration of decoding, the decoder is configured to:
perform an initial decision for the select bit;
initialize syndromes of each component codeword;
generate initial bit-flipping decision for the select bit, unsatisfied check (USC) information, and channel information by hard decoding;
bias the channel information of the select bit based on a degree of the select bit;
compute a reliability indicator of an initial decision, represented by at least one bit, as to whether to flip the select bit based on the initial decision and the biased channel information;
compare the reliability indicator with an adaptive threshold, which is determined based on the degree of the select bit and the unsatisfied check (USC) information from the initial decision;
decide whether to flip the select bit based on the compare operation; and
update the initial decision and syndromes of each component codeword to which the select bit belongs based on the compare operation.

### Claim 2 (depends on 1)

The memory controller of claim 1, wherein the syndromes of the respective component codewords to which the select bit belongs are initialized before performing a first iteration.

### Claim 3 (depends on 1)

The memory controller of claim 1, wherein the decoder applies a biasing coefficient to bias the channel information.

### Claim 4 (depends on 1)

The memory controller of claim 1, wherein the decoder maintains a single bit representing a current decision for the select bit.

### Claim 5 (depends on 1)

The memory controller of claim 1, further comprising:
determining whether the syndromes of the respective component codewords to which the select bit belongs are zero.

### Claim 6 (depends on 5)

The memory controller of claim 5, wherein, when it is determined that not all of the syndromes of the respective codewords are zero, the decoder performs another iteration of decoding.

### Claim 7 (depends on 1)

The memory controller of claim 1, wherein the other of the plurality of bits are processed, each of the other of the plurality of bits becoming the select bit during its processing.

### Claim 8 (depends on 7)

The memory controller of claim 7, wherein the decision as to whether to flip the select bit is made independently of decisions to flip the other of the plurality of bits.

### Claim 9 (depends on 8)

The memory controller of claim 8, wherein the adaptive threshold varies for each bit processed in a decoding iteration based on the degree of the bit and the USC information.

### Claim 10 (depends on 1)

The memory controller of claim 1, wherein the decoder performs decoding of all of the component codewords.

### Claim 11

A method of decoding a codeword comprising a plurality of bits, wherein for a select one of the plurality of bits, which belongs to at least one component codeword of the codeword, the method comprising:
performing an initial decision for the select bit;
initialize syndromes of each component codeword;
generate initial bit-flipping decision for the select bit, unsatisfied check (USC) information, and channel information by hard decoding;
bias the channel information of the select bit based on the degree of the select bit;
computing a reliability indicator of an initial decision, represented by at least one bit, as to whether to flip the select bit based on the initial decision and the biased channel information;
comparing the reliability indicator with an adaptive threshold, which is determined based on the degree of the select bit and the unsatisfied check (USC) information from the initial decision;
deciding whether to flip the select bit based on the comparing operation; and
updating the initial decision and syndromes of each component codeword to which the select bit belongs based on the comparing operation.

### Claim 12 (depends on 11)

The method of claim 11, further comprising initializing the syndromes of the respective component codewords to which the select bit belongs before performing a first iteration.

### Claim 13 (depends on 11)

The method of claim 11, wherein the decoder applies a biasing coefficient to bias the channel information.

### Claim 14 (depends on 11)

The method of claim 11, wherein the decoder maintains a single bit representing a current decision for the select bit.

### Claim 15 (depends on 11)

The method of claim 11, further comprising:
determining whether the syndromes of the respective component codewords to which the select bit belongs are zero.

### Claim 16 (depends on 15)

The method of claim 15, wherein, when it is determined that not all of the syndromes of the respective codewords are zero, the decoder performs another iteration of decoding.

### Claim 17 (depends on 11)

The method of claim 11, wherein each of the plurality of bits is processed in turn as the select bit.

### Claim 18 (depends on 17)

The method of claim 17, wherein the decision as to whether to flip the select bit is made independently of decisions to flip the other of the plurality of bits.

### Claim 19 (depends on 18)

The method of claim 18, wherein the adaptive threshold varies for each of the plurality of bits based on the degree of the bit and the USC information.

### Claim 20 (depends on 11)

The method of claim 11, wherein the decoding is performed for all of the component codewords.
