IP Library Granted Patent US 9,203,432
Granted Patent B2
US 9,203,432 · App. 13/974,901 · Granted Dec 1, 2015

Symbol flipping decoders of non-binary low-density parity check (LDPC) codes

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 9,203,432
App. No.
13/974,901
Granted
Dec 1, 2015
Kind
B2
Abstract

Systems and methods are provided for decoding data. A decoder retrieves data related to a symbol and identifies a plurality of candidate values for the symbol. The decoder determines a distance between each of the plurality of candidate values and a reference value associated with the symbol to obtain a plurality of distances, and the decoder determines whether to update a value of the symbol based at least in part on the plurality of distances.

Claims (32)

1. A method for decoding data by a decoder communicatively coupled to a memory, the method comprising:

retrieving data related to a symbol from the memory;

identifying a plurality of candidate values for the symbol;

determining a distance between each of the plurality of candidate values and a reference value associated with the symbol to obtain a plurality of distances; and

determining whether to update a value of the symbol based at least in part on a comparison between a threshold and a number of check nodes associated with a first distance in the plurality of distances.

2. The method of claim 1 , wherein the plurality of distances form a distance distribution, wherein the distance distribution includes the number of check nodes associated with the first distance in the plurality of distances, and wherein determining whether to update the value of the symbol is further based on the number of check nodes associated with the first distance.

3. The method of claim 1 , further comprising modifying the threshold at a further iteration of the decoding.

4. The method of claim 1 , wherein determining whether to update the value of the symbol comprises:

identifying a plurality of thresholds, wherein each threshold in the plurality of thresholds corresponds to a corresponding distance in the plurality of distances, and wherein the threshold is modified as the corresponding distance is modified; and

comparing each threshold in the plurality of thresholds to the corresponding distance in the plurality of distances.

5. The method of claim 1 , further comprising updating the value of the symbol when the number of check nodes associated with the first distance in the plurality of distances exceeds the threshold.

6. The method of claim 1 , wherein a first number of satisfied check nodes associated with the symbol correspond to the first distance in the plurality of distances.

7. The method of claim 6 , wherein each check node in a second number of unsatisfied check nodes is changed to a satisfied check node if the symbol is updated to a second value based on the reference value and a second distance in the plurality of distances.

8. The method of claim 1 , wherein the reference value is an original value of the symbol or a current value of the symbol.

9. The method of claim 1 , further comprising flipping a current value of the symbol, wherein the flipping comprises updating the current value from a first candidate value in a plurality of candidate values for the symbol to a second candidate value in the plurality of candidate values, and wherein there are at least three candidate values in the plurality of candidate values.

10. The method of claim 1 , wherein a first number of unsatisfied check nodes associated with the symbol correspond to the first distance in the plurality of distances.

11. A decoder comprising decoding circuitry communicatively coupled to a memory, wherein the decoding circuitry is configured to:

retrieve data related to a symbol from the memory;

identify a plurality of candidate values for the symbol;

determine a distance between each of the plurality of candidate values and a reference value associated with the symbol to obtain a plurality of distances; and

determine whether to update a value of the symbol based at least in part on a comparison between a threshold and a number of check nodes associated with a first distance in the plurality of distances.

12. The decoder of claim 11 , wherein the plurality of distances form a distance distribution, wherein the distance distribution includes the number of check nodes associated with the first distance in the plurality of distances, and wherein the decoding circuitry is configured to determine whether to update the value of the symbol further based on the number of check nodes associated with the first distance.

13. The decoder of claim 11 , wherein the decoding circuitry is further configured to modify the threshold at a further iteration of the decoding.

14. The decoder of claim 11 , wherein the decoding circuitry is configured to determine whether to update the value of the symbol by:

identifying a plurality of thresholds, wherein each threshold in the plurality of thresholds corresponds to a corresponding distance in the plurality of distances, and wherein the threshold is modified as the corresponding distance is modified; and

comparing each threshold in the plurality of thresholds to the corresponding distance in the plurality of distances.

15. The decoder of claim 11 , wherein the decoding circuitry is configured to update the value of the symbol when the number of check nodes associated with the first distance in the plurality of distances exceeds the threshold.

16. The decoder of claim 1 , wherein a first number of satisfied check nodes associated with the symbol correspond to the first distance in the plurality of distances.

17. The decoder of claim 16 , wherein each check node in a second number of unsatisfied check nodes is changed to a satisfied check node if the symbol is updated to a second value based on the reference value and a second distance in the plurality of distances.

18. The decoder of claim 11 , wherein the reference value is an original value of the symbol or a current value of the symbol.

19. The decoder of claim 11 , wherein the decoding circuitry is further configured to flip a current value of the symbol by updating the current value from a first candidate value in a plurality of candidate values for the symbol to a second candidate value in the plurality of candidate values, and wherein there are at least three candidate values in the plurality of candidate values.

20. The decoder of claim 11 , wherein a first number of unsatisfied check nodes associated with the symbol correspond to the first distance in the plurality of distances.

Assignments (7)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2020
From: CAVIUM INTERNATIONAL
To: MARVELL ASIA PTE, LTD.
Reel/Frame 053475/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 20, 2020
From: MARVELL INTERNATIONAL LTD.
To: CAVIUM INTERNATIONAL
Reel/Frame 052918/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2020
From: MARVELL WORLD TRADE LTD.
To: MARVELL INTERNATIONAL LTD.
Reel/Frame 051778/0537 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2013
From: VARNICA, NEDELJKO; CHILAPPAGARI, SHASHI KIRAN
To: MARVELL SEMICONDUCTOR, INC.
Reel/Frame 031109/0631 →
LICENSE Recorded Aug 29, 2013
From: MARVELL WORLD TRADE LTD.
To: MARVELL INTERNATIONAL LTD.
Reel/Frame 031111/0654 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2013
From: MARVELL SEMICONDUCTOR, INC.
To: MARVELL INTERNATIONAL LTD.
Reel/Frame 031111/0305 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2013
From: MARVELL INTERNATIONAL LTD.
To: MARVELL WORLD TRADE LTD.
Reel/Frame 031111/0399 →