IP Library › Granted Patent US 12,321,613
Granted Patent B2
US 12,321,613 · App. 18/521,574 · Granted Jun 3, 2025

Bit flipping decoder with optimized maximum iterations for varied bit flipping thresholds

Inventors: Mustafa N. Kaynak (San Diego, CA); Eyal En Gad (Highland, CA); Sivagnanam Parthasarathy (Carlsbad, CA)
Assignee: MICRON TECHNOLOGY, INC.
G06F3/0619G06F3/0655G06F3/0679
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,321,613
App. No.
18/521,574
Granted
Jun 3, 2025
Kind
B2
Abstract

A of bit flipping (BF) decoder decodes codewords using a first set of BF thresholds. A first minimum number of iterations of decoding performed on the codewords is determined to achieve a first target decoding rate. Codewords are decoded using a second set of BF thresholds. The first set of BF thresholds are more likely to cause bit flips than the second set of BF thresholds. A second minimum number of iterations of decoding performed on the codewords is determined to achieve a second target decoding rate. Bits in a codeword are flipped using the first set of BF thresholds for the first minimum number of iterations. Bits are flipped in the codeword using the second set of BF thresholds in response to determining the codeword remains undecoded as a result of the first minimum number of iterations.

Claims (61)

1. A method comprising:

decoding a first plurality of codewords using a first set of bit flipping thresholds;

determining a first minimum number of iterations of bit flipping decoding performed on the first plurality of codewords to achieve a first target decoding rate;

decoding a second plurality of codewords using a second set of bit flipping thresholds, wherein the first set of bit flipping thresholds are more likely to cause the bit flipping decoding to flip bits than the second set of bit flipping thresholds;

determining a second minimum number of iterations of bit flipping decoding performed on the second plurality of codewords to achieve a second target decoding rate;

flipping bits in a codeword using the first set of bit flipping thresholds for the first minimum number of iterations;

determining the codeword remains undecoded as a result of the first minimum number of iterations; and

flipping bits in the codeword using the second set of bit flipping thresholds in response to determining the codeword remains undecoded as a result of the first minimum number of iterations.

2. The method of claim 1 , further comprising:

triggering a stop condition in response to completion of the second minimum number of iterations.

3. The method of claim 1 , further comprising:

decoding a third plurality of codewords using a combination of: (1) the first set of bit flipping thresholds for up to a maximum of the first minimum number of iterations and (2) the second set of bit flipping thresholds for up to a maximum of the second minimum number of iterations;

determining the combination does not achieve the second target decoding rate for the third plurality of codewords; and

increasing the first minimum number of iterations and/or the second minimum number of iterations in response to determining the combination does not achieve the target decoding rate.

4. The method of claim 3 , wherein the first, second, and third plurality of codewords are a same plurality of codewords.

5. The method of claim 3 , wherein the first minimum number of iterations and/or the second minimum number of iterations is increased further in response to determining that a sum of the first minimum number of iterations and the second minimum number of iterations does not satisfy a threshold number of iterations.

6. The method of claim 1 , further comprising:

determining a best decoding rate for the decoding of the second plurality of codewords; and

setting the second target decoding rate to a value within a threshold difference of the best decoding rate.

7. The method of claim 6 , wherein the threshold difference is an order of magnitude.

8. A non-transitory computer-readable storage medium comprising instructions that, when executed by a processing device, cause the processing device to:

decode a first plurality of codewords using a first set of bit flipping thresholds;

determine a first minimum number of iterations of bit flipping decoding performed on the first plurality of codewords to achieve a first target decoding rate;

decode a second plurality of codewords using a second set of bit flipping thresholds, wherein the first set of bit flipping thresholds are more likely to cause the bit flipping decoding to flip bits than the second set of bit flipping thresholds;

determine a second minimum number of iterations of bit flipping decoding performed on the second plurality of codewords to achieve a second target decoding rate;

flip bits in a codeword using the first set of bit flipping thresholds for the first minimum number of iterations;

determine the codeword remains undecoded as a result of the first minimum number of iterations; and

flip bits in the codeword using the second set of bit flipping thresholds in response to determining the codeword remains undecoded as a result of the first minimum number of iterations.

9. The non-transitory computer-readable storage medium of claim 8 , wherein the processing device is further to:

trigger a stop condition in response to completion of the second minimum number of iterations.

10. The non-transitory computer-readable storage medium of claim 8 , wherein the processing device is further to:

decode a third plurality of codewords using a combination of: (1) the first set of bit flipping thresholds for up to a maximum of the first minimum number of iterations and (2) the second set of bit flipping thresholds for up to a maximum of the second minimum number of iterations;

determine the combination does not achieve the second target decoding rate for the third plurality of codewords; and

increase the first minimum number of iterations and/or the second minimum number of iterations in response to determining the combination does not achieve the target decoding rate.

11. The non-transitory computer-readable storage medium of claim 10 , wherein the first, second, and third plurality of codewords are a same plurality of codewords.

12. The non-transitory computer-readable storage medium of claim 10 , wherein the first minimum number of iterations and/or the second minimum number of iterations is increased further in response to determining that a sum of the first minimum number of iterations and the second minimum number of iterations does not satisfy a threshold number of iterations.

13. The non-transitory computer-readable storage medium of claim 8 , wherein the processing device is further to:

determine a best decoding rate for the decoding of the second plurality of codewords; and

set the second target decoding rate to a value within a threshold difference of the best decoding rate.

14. The non-transitory computer-readable storage medium of claim 13 , wherein the threshold difference is an order of magnitude.

15. A system comprising:

a memory device; and

a processing device, operatively coupled with the memory device, to:

decode a first plurality of codewords using a first set of bit flipping thresholds;

determine a first minimum number of iterations of bit flipping decoding performed on the first plurality of codewords to achieve a first target decoding rate;

decode a second plurality of codewords using a second set of bit flipping thresholds, wherein the first set of bit flipping thresholds are more likely to cause the bit flipping decoding to flip bits than the second set of bit flipping thresholds;

determine a best decoding rate for the decoding of the second plurality of codewords; and

set a second target decoding rate to a value within a threshold difference of the best decoding rate;

determine a second minimum number of iterations of bit flipping decoding performed on the second plurality of codewords to achieve the second target decoding rate;

flip bits in a codeword using the first set of bit flipping thresholds for the first minimum number of iterations;

determine the codeword remains undecoded as a result of the first minimum number of iterations; and

flip bits in the codeword using the second set of bit flipping thresholds in response to determining the codeword remains undecoded as a result of the first minimum number of iterations.

16. The system of claim 15 , wherein the processing device is further to:

trigger a stop condition in response to completion of the second minimum number of iterations.

17. The system of claim 15 , wherein the processing device is further to:

decode a third plurality of codewords using a combination of: (1) the first set of bit flipping thresholds for up to a maximum of the first minimum number of iterations and (2) the second set of bit flipping thresholds for up to a maximum of the second minimum number of iterations;

determine the combination does not achieve the second target decoding rate for the third plurality of codewords; and

increase the first minimum number of iterations and/or the second minimum number of iterations in response to determining the combination does not achieve the target decoding rate.

18. The system of claim 17 , wherein the first, second, and third plurality of codewords are a same plurality of codewords.

19. The system of claim 17 , wherein the first minimum number of iterations and/or the second minimum number of iterations is increased further in response to determining that a sum of the first minimum number of iterations and the second minimum number of iterations does not satisfy a threshold number of iterations.

20. The system of claim 15 , wherein the threshold difference is an order of magnitude.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 28, 2023
From: KAYNAK, MUSTAFA N.; EN GAD, EYAL; PARTHASARATHY, SIVAGNANAM
To: MICRON TECHNOLOGY, INC.
Reel/Frame 065687/0185 →
Continuity (2)
Provisional Application 63428621 · Nov 29, 2022
Related Publication 20240176509A1 · May 30, 2024
References Cited (12)
US 8429498B1 · Anholt · 2013 [cited by examiner]
US 10797728B1 · Varnica · 2020 [cited by examiner]
US 11108407B1 · Lu · 2021 [cited by examiner]
US 11146290B1 · Xiong · 2021 [cited by examiner]
US 11967970B2 · Zhang · 2024 [cited by examiner]
US 12034455B2 · Kumar · 2024 [cited by examiner]
US 20190238158A1 · Bhatia et al. · 2019 [cited by applicant]
US 20210089389A1 · Kaynak et al. · 2021 [cited by applicant]
US 20210250045A1 · Ha et al. · 2021 [cited by applicant]
US 20220190845A1 · Asadi et al. · 2022 [cited by applicant]
US 20220321144A1 · Kaynak et al. · 2022 [cited by applicant]
International Search Report and Written Opinion, PCT App. No. PCT/US2023/081384, Apr. 2, 2024, 08 pages. [cited by applicant]