×

Syndrome layered decoding for LDPC codes

  • US 9,136,877 B1
  • Filed: 08/20/2013
  • Issued: 09/15/2015
  • Est. Priority Date: 03/15/2013
  • Status: Active Grant
First Claim
Patent Images

1. An LDPC error control decoding system, comprising:

  • a set of parallel variable node processing units (VNUs) for updating N variable nodes, wherein N is an integer;

    a port for receiving read data from a storage medium, the read data corresponding to the N variable nodes;

    a set of parallel check node processing units (CNUs) for updating M check nodes, wherein M is an integer, each check node having a respective syndrome check;

    wherein each of the N variable nodes is logically coupled with a corresponding subset of the M check nodes, and each of the M check nodes is logically coupled with a corresponding subset of the N variable nodes;

    control logic coupled with the set of parallel VNUs and the set of parallel CNUs, configured to perform a set of operations, including;

    enabling one or more VNUs of the set of parallel VNUs to update a subset of the N variable nodes, so as to generate for each updated variable node a respective new hard decision bit and an α

    nm message;

    enabling one or more CNUs of the set of parallel CNUs to update all check nodes of the M check nodes logically coupled with the updated subset of the N variable nodes, in accordance with the new hard decision bits and α

    nm messages generated for the updated subset of the N variable nodes, so as to generate, for each of the updated check nodes, updated check node output data including at least an updated syndrome check, wherein generating the updated syndrome check for a respective check node of the M check nodes comprises identifying variable nodes for which the received new hard decision bit is different from a corresponding previously stored hard decision bit, counting the identified variable nodes, and inverting a previous syndrome check for the respective check node in accordance with a determination that the count is an odd number;

    determining whether the syndrome checks for all the M check nodes are valid syndrome checks;

    in accordance with a determination that the syndrome checks for all the M check nodes are valid syndromes, stopping decoding the read data; and

    in accordance with a determination that the syndrome checks for all the M check nodes include at least one invalid syndrome check, initiating performance of the set of operations with respect to a next subset of the N variable nodes.

View all claims
  • 3 Assignments
Timeline View
Assignment View
    ×
    ×