Error-correction decoder employing multiple check-node algorithms

Uloženo v:
Podrobná bibliografie
Název: Error-correction decoder employing multiple check-node algorithms
Patent Number: 8,316,272
Datum vydání: November 20, 2012
Appl. No: 12/680810
Application Filed: April 08, 2009
Abstrakt: In one embodiment, an LDPC decoder has a controller and one or more check-node units (CNUs). The CNUs generate check-node messages using a scaled min-sum algorithm, an offset min-sum algorithm, or a scaled and offset min-sum algorithm. Initially, the controller selects a scaling factor and an offset value. The scaling factor may be set to one for no scaling, and the offset value may be set to zero for no offsetting. If the decoder is unable to correctly decode a codeword, then (i) the controller selects a new scaling and/or offset value and (ii) the decoder attempts to correctly decode the codeword using the new scaling and/or offset value. By changing the scaling factor and/or offset value, LDPC decoders of the present invention may be capable of improving error-floor characteristics over LDPC decoders that use only fixed or no scaling factors or fixed or no offsetting factors.
Inventors: Gunnam, Kiran (San Jose, CA, US)
Assignees: LSI Corporation (Milpitas, CA, US)
Claim: 1. An apparatus comprising an error-correction decoder for decoding an error-correction-encoded codeword to recover a correct codeword, wherein: the decoder is configured to generate a first set of messages based on an initial set of initial values generated by an upstream processor, wherein: the initial set corresponds to the error-correction-encoded codeword; and each initial value in the initial set corresponds to a different bit of the error-correction-encoded codeword; and the decoder comprises: one or more blocks configured to convert the first set of messages into scaled-and-offset messages based on a scaling factor and an offset value; and a controller configured to select the scaling factor and the offset value.
Claim: 2. The apparatus of claim 1 , wherein: the error-correction decoder comprises a variable-node unit configured to generate variable-node messages; the first set of messages are the variable-node messages; and the one or more blocks are configured to convert the variable-node messages into scaled-and-offset variable-node messages based on the scaling factor and the offset value.
Claim: 3. The apparatus of claim 1 , wherein: the error-correction decoder comprises a check-node unit configured to generate check-node messages; the first set of messages are the check-node messages; and the one or more blocks are configured to convert the check-node messages into scaled-and-offset check-node messages based on the scaling factor and the offset value.
Claim: 4. The apparatus of claim 1 , wherein: the error-correction decoder implements a min-sum algorithm; the error-correction decoder comprises a check-node unit configured to generate first-minimum and second-minimum magnitude values of the min-sum algorithm; the first set of messages are the first-minimum and second-minimum magnitude values; and the one or more blocks are configured to convert the first-minimum and second-minimum magnitude values into scaled-and-offset first-minimum and second-minimum magnitude values based on the scaling factor and the offset value.
Claim: 5. The apparatus of claim 1 , wherein: the controller is capable of setting the scaling factor to 1; and the controller is capable of setting the offset value to 0.
Claim: 6. The apparatus of claim 1 , wherein the one or more blocks comprise a scaling-and-offset block that performs both scaling and offsetting.
Claim: 7. The apparatus of claim 1 , wherein: the decoder is a low-density parity-check decoder; and the values received from the upstream processor are soft-output values having a hard-decision bit and one or more confidence-value bits.
Claim: 8. The apparatus of claim 1 , wherein the controller is configured to (i) select an initial scaling factor and an initial offset value and (ii) subsequently modify at least one of the initial scaling factor and the initial offset value.
Claim: 9. The apparatus of claim 8 , wherein the controller modifies the at least one of the initial scaling factor and the initial offset value after the controller determines that the error-correction decoder does not converge on the correct codeword within a predetermined number of decoding iterations.
Claim: 10. The apparatus of claim 8 , wherein the controller is configured to modify both the initial scaling factor and the initial offset value.
Claim: 11. The apparatus of claim 8 , wherein the controller is configured to modify the initial scaling factor by incrementing the initial scaling factor by a specified scaling-factor increment.
Claim: 12. The apparatus of claim 8 , wherein the controller is configured to modify the initial offset value by incrementing the initial offset value by a specified offset-value increment.
Claim: 13. A method for decoding an error-correction encoded codeword to recover a correct codeword, the method comprising: (a) selecting a scaling factor and an offset value; (b) receiving an initial set of initial values from an upstream processor, wherein: the initial set corresponds to the error-correction-encoded codeword; and each initial value in the initial set corresponds to a different bit of the error-correction-encoded codeword; (c) generating a first set of messages based on the initial set of initial values; and (d) converting the first set of messages into scaled-and-offset messages based on the scaling factor and the offset value.
Claim: 14. The method of claim 13 , wherein: step (c) comprises generating variable-node messages as the first set of messages; and step (d) comprises converting the variable-node messages into scaled-and-offset variable-node messages based on the scaling factor and the offset value.
Claim: 15. The method of claim 13 , wherein: step (c) comprises generating check-node messages as the first set of messages; and step (d) comprises converting the check-node messages into scaled-and-offset check-node messages based on the scaling factor and the offset value.
Claim: 16. The method of claim 13 , wherein: step (c) comprises generating first-minimum and second-minimum magnitude values of a min-sum algorithm as the first set of messages; and step (d) comprises converting the first-minimum and second-minimum magnitude values into scaled-and-offset first-minimum and second-minimum magnitude values based on the scaling factor and the offset value.
Claim: 17. The method of claim 13 , wherein: step (a) comprises selecting an initial scaling factor and an initial offset value; step (d) comprises converting the first set of messages into scaled-and-offset messages based on the initial scaling factor and the initial offset value; and the method further comprises: (e) subsequently modifying at least one of the initial scaling factor and the initial offset value; (f) generating a second set of messages; and (g) converting the second set of messages into scaled-and-offset messages based on the initial scaling factor and the initial offset value as modified in step (e).
Claim: 18. The method of claim 17 , wherein the at least one of the initial scaling factor and the initial offset value is modified after determining that the method does not converge on the correct codeword within a predetermined number of decoding iterations.
Claim: 19. The method of claim 13 , wherein: the error-correction-encoded codeword is a low-density parity-check encoded codeword; and the values received from the upstream processor are soft-output values having a hard-decision bit and one or more confidence-value bits.
Claim: 20. An apparatus for decoding an error-correction encoded codeword to recover a correct codeword, the apparatus comprising: (a) means for selecting a scaling factor and an offset value; (b) means for receiving an initial set of initial values from an upstream processor, wherein: the initial set corresponds to the error-correction-encoded codeword; and each initial value in the initial set corresponds to a different bit of the error-correction-encoded codeword; (c) means for generating a first set of messages based on the initial set of initial values; and (d) means for converting the first set of messages into scaled-and-offset messages based on the scaling factor and the offset value.
Current U.S. Class: 714/752
Patent References Cited: 3755779 August 1973 Price
4295218 October 1981 Tanner
5048060 September 1991 Arai et al.
6307901 October 2001 Yu et al.
6550023 April 2003 Brauch et al.
6888897 May 2005 Nazari et al.
7181676 February 2007 Hocevar
7237181 June 2007 Richardson
7296216 November 2007 Shen et al.
7340671 March 2008 Jones et al.
7353444 April 2008 Owsley et al.
7457367 November 2008 Farhang-Boroujeny et al.
7689888 March 2010 Kan et al.
7725800 May 2010 Yang et al.
7739558 June 2010 Farjadrad et al.
7752523 July 2010 Chaichanavong et al.
7805642 September 2010 Farjadrad
7895500 February 2011 Sun et al.
7904793 March 2011 Mokhlesi et al.
7941737 May 2011 Gopalakrishnan et al.
7949927 May 2011 Park et al.
8010869 August 2011 Wejn et al.
8020070 September 2011 Langner et al.
8037394 October 2011 Djurdjevic et al.
8046658 October 2011 Heinrich et al.
8051363 November 2011 Liu
8103931 January 2012 Wang et al.
8127209 February 2012 Zhang et al.
8151171 April 2012 Blanksby
8156409 April 2012 Patapoutian et al.
8616345 April 2012 Graef
8171367 May 2012 Gao et al.
8205134 June 2012 Harrison et al.
8205144 June 2012 Yadav
8219878 July 2012 Varnica et al.
8255763 August 2012 Yang et al.
2002/0062468 May 2002 Nagase et al.
2002/0166095 November 2002 Lavi et al.
2005/0132260 June 2005 Kyung et al.
2005/0193320 September 2005 Varnica et al.
2005/0204255 September 2005 Yeh et al.
2005/0283707 December 2005 Sharon et al.
2006/0107181 May 2006 Dave et al.
2006/0285852 December 2006 Xi et al.
2007/0011569 January 2007 Vila Casado et al.
2007/0011573 January 2007 Farjadrad et al.
2007/0011586 January 2007 Belogolovyi et al.
2007/0044006 February 2007 Yang et al.
2007/0071009 March 2007 Nagaraj et al.
2007/0089018 April 2007 Tang et al.
2007/0089019 April 2007 Tang et al.
2007/0124652 May 2007 Litsyn et al.
2007/0147481 June 2007 Bottomley et al.
2007/0153943 July 2007 Nissila
2007/0162788 July 2007 Moelker
2007/0220408 September 2007 Huggett et al.
2007/0234178 October 2007 Richardson et al.
2007/0234184 October 2007 Richardson
2008/0049869 February 2008 Heinrich et al.
2008/0082868 April 2008 Tran et al.
2008/0104485 May 2008 Yurievich Lyakh et al.
2008/0109701 May 2008 Yu et al.
2008/0126910 May 2008 Venkatesan et al.
2008/0148129 June 2008 Moon et al.
2008/0163032 July 2008 Lastras-Montano
2008/0235561 September 2008 Yang
2008/0276156 November 2008 Gunnam et al.
2008/0301517 December 2008 Zhong
2008/0301521 December 2008 Gunnam et al.
2009/0063931 March 2009 Rovini et al.
2009/0083609 March 2009 Yue et al.
2009/0132897 May 2009 Xu et al.
2009/0150745 June 2009 Langner et al.
2009/0235146 September 2009 Tan et al.
2009/0259912 October 2009 Djordjevic et al.
2009/0273492 November 2009 Yang et al.
2009/0307566 December 2009 No et al.
2009/0319860 December 2009 Sharon et al.
2010/0037121 February 2010 Jin et al.
2010/0042806 February 2010 Gunnam
2010/0042890 February 2010 Gunnam
2010/0050043 February 2010 Savin
2010/0058152 March 2010 Harada
2010/0088575 April 2010 Sharon et al.
WO03092170 November 2003
WO2004079563 September 2004
WO2007114724 October 2007
WO2008004215 January 2008
WO 2010/019168 February 2010

















































Other References: Sripimanwat, K., “Turbo Code Applications: A Journey From a Paper to Realization”, Oct. 26, 2005, Springer, p. 27. cited by other
Cavus et al., “A Performance Improvement and Error Floor Avoidance Technique for Belief Propagation Decoding of LDPC Codes,” IEEE 16th International Symposium, Personal, Indoor & Mobile Radio Communications (PIMRC), Berlin, Germany Sep. 11-14, 2005, pp. 2386-2390. cited by other
Cavus, Enver et al., “An IS Simulation Technique for Very Low BER Performance Evaluation of LDPC Codes,” IEEE International Conference on Communications, Jun. 1, 2006, pp. 1095-1100. cited by other
Cole, Chad A. and Hall, Eric K., “Analysis and Design of Moderate Length Regular LDPC Codes with Low Error Floors,” Proc, 40th Conf. Information Sciences and Systems, Princeton, NJ, 2006, 6 pgs. cited by other
Richardson, Tom, “Error Floors of LDPC Codes,” Allerton Conf. on Communication, Control and Computing, (Monticello, Illinois), Oct. 2003, pp. 1426-1435. cited by other
Gunnam, Kiran K., Choi, Gwan S., and Yeary, Mark B., “Technical Note on Iterative LDPC Solutions for Turbo Equalization,” Texas A&M Technical Note, Department of ECE, Texas A&M University, College Station, TX 77843, Jul. 2006 (available online at http://dropzone.tamu.edu), pp. 1-5. cited by other
Kiran Gunnam, Gwan Choi, Mark Yeary—“An LDPC decoding schedule for memory access reduction”, IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP) 2004, pp. 173-176, vol. 15. cited by other
Stefan Landner, Olgica Milenkovic—“Algorithmic and Combinatorial Analysis of Trapping Sets in Structured LDPC Codes”, International Conference on Wireless Networks, Communications and Mobile Computing, 2005, pp. 630-635, vol. 1. cited by other
Hao Zhong,Tong Zhang—“Block—LDPC: A Practical LDPC Coding System Design Approach”, IEEE transactions on circuits and systems—l: Regular Papers, Apr. 2005, pp. 766-775, vol. 52. cited by other
Kiran K. Gunnam, Gwan S. Choi, Weihuang Wang, Euncheol Kim, and Mark B. Yeary—“Decoding of Quasi-cyclic LDPC Codes Using an On-the-Fly Computation”, Fortieth Asilomar Conference on Signals, Systems and Computers (ACSSC), 2006, pp. 1192-1199. cited by other
Thomas J. Richardson and Rudiger L. Urbanke—“Efficient Encoding of Low-Density Parity-Check Codes”, IEEE Transactions on Information Theory, Feb. 2001, pp. 638-656,vol. 47, No. 2. cited by other
Tom Richardson—“Error Floors of LDPC Codes”, IEEE Transactions on Information Theory, Feb. 2001, pp. 1426-1435,vol. 47, No. 2. cited by other
E. Papagiannis, C. Tjhai, M. Ahmed, M. Ambroze, M. Tomlinson—“Improved Iterative Decoding for Perpendicular Magnetic Recording”, The ISCTA 2005 Conference on Feb. 4, 2005, pp. 1-4. cited by other
Kiran K. Gunnam, Gwan S. Choi, and Mark B. Yeary—“A Parallel VLSI Architecture for Layered Decoding for Array LDPC Codes”, 20th International Conference on VLSI Design, 2007,6th International Conference on Embedded Systems, Jan. 2007 pp. 738-743. cited by other
David J.C. MacKay—“Information Theory, Inference, and Learning Algorithms”, Cambridge University Press Sep. 2003, p. 640. cited by other
R. Michael Tanner, Deepak Sridhara, Arvind Sridharan, Thomas E. Fuja, and Daniel J. Costello, Jr—“LDPC Block and Convolutional Codes Based on Circulant Matrices”, IEEE Transactions on Information Theory, Dec. 2004, pp. 2966-2984, vol. 50, No. 12. cited by other
Amin Shokrollahi—“LDPC Codes: An Introduction, In Coding, Cryptography and Combinatorics”,Computer Science and Applied Logic, Birkhauser, Basel, 2004, pp. 85-110, vol. 23. cited by other
Yang Han and William E. Ryan—“LDPC Decoder Strategies for Achieving Low Error Floors”, Proceedings of Information Theory and Applications Workshop, San Diego, CA, Jan. 2008, pp. 1-10. cited by other
Mohammad M. Mansour and Naresh R. Shanbhag—“Low Power VLSI decoder architectures for LDPC codes” International Symposium on Low Power Electronics and Design Proceedings of the 2002 , ICIMS Research Center, 2002, pp. 284-289. cited by other
Dale E. Hocevar—“A Reduced Complexity Decoder Architecture Via Layered Decoding of LDPC Codes”, IEEE Workshop on Signal Processing Systems, 2004, pp. 107-112. cited by other
Robert G. Gallager—“Low Density Parity—Check Codes”,Cambridge Mass Jul. 1963, p. 90. cited by other
T. Richardson and R. Urbanke—“Modern Coding Theory”, Cambridge University Press, Preliminary version—Oct. 18, 2007, p. 590. cited by other
Kiran Gunnam, Gwan Choi, Weihuang Wang, Mark Yeary—“Multi-Rate Layered Decoder Architecture for Block LDPC Codes of the IEEE 802, 11n Wireless Standard”, IEEE International Symposium on Circuits and Systems (ISCAS) 2007, pp. 1645-1648. cited by other
Kiran K. Gunnam, Gwan S. Choi, Mark B. Yeary, Shaohua Yang and Yuanxing Lee—“Next Generation Iterative LDPC Solutions for Magnetic Recording Storage”, 42nd Asilomar Conference on Signals, Systems and Computers, 2008, pp. 1148-1152. cited by other
D.J.C. MacKay and R.M. Neal—“Near Shannon limit performance of low density parity check codes”, Electronics Letters Mar. 13, 1997, pp. 458-459, vol. 33 No. 6. cited by other
Jinghu Chen, Ajay Dholakia, Evangelos Eleftheriou, Marc P. C. Fossorier, Xiao-Yu Hu, “Reduced-Complexity Decoding of LDPC Codes”, IEEE Transactions on Communications, Aug. 2005, pp. 1288-1299,vol. 53, No. 8. cited by other
Kiran K. Gunnam, Gwan S. Choi, Mark B. Yeary and Mohammed Atiquzzaman—“VLSI Architectures for Layered Decoding for Irregular LDPC Codes of WiMax”, IEEE International Conference on Communications (ICC), 2007, pp. 4542-4547. cited by other
Andrew J. Blanksby and Chris J. Howland—“A 690-mW 1-Gb/s 1024-b, Rate-1/2 Low-Density Parity-Check Code Decoder”, IEEE Journal of Solid-State Circuits, Mar. 2002. pp. 404-412,vol. 37, No. 3. cited by other
Kiran Gunnam, Weihuang Wang, Gwan Choi, Mark Yeary—“VLSI Architectures for Turbo Decoding Message Passing Using Min-Sum for Rate-Compatible Array LDPC Codes”, 2nd International Symposium on Wireless Pervasive Computing (ISWPC), 2007, pp. 561-566. cited by other
Kiran K. Gunnam, Gwan S. Choi, Weihuang Wang, and Mark B. Yeary—“A Parallel VLSI Architecture for Layered Decoding”,Proceedings of the 20th International Conference on VLSI Design, 6th International Conference: Embedded Systems, 2007, pp. 738-743. cited by other
R.Michael Tanner—“A Recursive Approach to Low Complexity Codes”,IEEE transaction on Information Theory, Sep. 1981, pp. 533-547,vol. IT-27, No. 5. cited by other
Mohammad M. Mansour, and Naresh R. Shanbhag—“A 640-Mb/s 2048-Bit Programmable LDPC Decoder Chip”, IEEE Journal of Solid-State Circuits, Mar. 2006, pp. 684-698,vol. 41, No. 3. cited by other
Badri N. Vellambi R, and Faramarz Fekri, “An Improved Decoding Algorithm for Low-Density Parity-Check Codes over the Binary Erasure Channel”, IEEE GLOBECOM 2005 proceedings, pp. 1182-1186. cited by other
Yang Han, William E. Ryan—“Low-Floor Decoders for LDPC Codes”, IEEE Transactions on Communications, vol. 57, No. 6, Jun. 2009, pp. 1663-1673. cited by other
PCT International Search Report dated Feb. 9, 2009 from International Application No. PCT/US 08/86537. cited by other
PCT International Search Report dated May 15, 2009 from International Application No. PCT/US 09/39279. cited by other
PCT International Search Report dated Feb. 12, 2009 from International Application No. PCT/US 08/86523. cited by other
PCT International Search Report dated May 28, 2009 from International Application No. PCT/US 09/41215. cited by other
PCT International Search Report dated May 15, 2009 from International Application No. PCT/US 09/39918. cited by other
Vila Casado, Andres I., Weng, Wen-Yen and Wesel, Richard D. “Multiple Rate Low-Density Parity-Check Codes with Constant Blocklength,” IEEE 2004, pp. 2010-2014. cited by other
Vila Casado, Andres I. “Variable-rate Low-denisty Parity-check Codes with Constant Blocklength,” UCLA Technologies Available for Licensing Copyright © 2009 The Regents of the University of California. http://www.research.ucla.edu/tech/ucla05-074.htm (2 pages). cited by other
Vila Casado, Andres I., Weng, Wen-Yen, Valle, Stefano and Wesel, Richard D. “Multiple-Rate Low-Density Parity-Check Codes with Constant Blocklength,” IEEE Transactions on Communications, vol. 57, No. 1, Jan. 2009; pp. 75-83. cited by other
K. Gunnam et al., “Value-Reuse Properties of Min-Sum for GF(q)” (dated Oct. 2006) Dept. of ECE, Texas A&M University Technical Note, published about Aug. 2010. cited by other
K. Gunnam et al., “Value-Reuse Properties of Min-Sum for GF (q)” (dated Jul. 2008) Dept. of ECE, Texas A&M University Technical Note, published about Aug. 2010. cited by other
K. Gunnam “Area and Energy Efficient VLSI Architectures for Low-Density Parity-Check Decoders Using an On-The-Fly Computation” dissertation at Texas A&M University, Dec. 2006. cited by other
Tuchler, M., et al., “Improved Receivers for Digital High Frequency Waveforms Using Turbo Equalization,” Military Communications Conference; Milcom 2002 Proceedings; Anaheim, CA, Oct. 7-10, 2002; IEEE Military Communications Conference, New York, NY; IEEE; US, vol. 1, Oct. 7, 2002; pp. 99-104; XP002966498. cited by other
Alghonaim, E., et al., “Improving BER Performance of LDPC codes Based on Intermediate Decoding Results,” Signal Processing and Communications; 2007; ICSPC, 2007; IEEE International Conference; IEEE; Piscataway, NJ; USA; Nov. 24, 2007; pp. 1547-1550; XP031380831. cited by other
Pusane, A.E.; Costello, D.J.; Mitchell, D.G.M;, “Trapping Set Analysis of Protograph-Based LDPC Convolutional Codes,” Information Theory, 2009. ISIT 2009. IEEE International Symposium on, vol., No., pp. 561-565, Jun. 28, 2009-Jul. 3, 2009. cited by other
Laendner, S.; Milenkovic, O.;, “LDPC Codes Based on Latin Squares: Cycle Structure, Stopping Set, and Trapping Set Analysis,” Communications, IEEE Transactions on, vol. 55, No. 2, pp. 303-312, Feb. 2007. cited by other
Dehkordi, M.K,; Banihashemi, A.H.;, “An Efficient Algorithm for Finding Dominant Trapping Sets of LDPC Codes,” Turbo Codes and Iterative Information Processing (ISTC), 2010 6th International Symposium on, pp. 444-448, Sep. 6-10, 2010. cited by other
Primary Examiner: Abraham, Esaw
Attorney, Agent or Firm: Mendelsohn, Drucker & Associates, P.C.
Brown, Craig M.
Mendelsohn, Steve
Přístupové číslo: edspgr.08316272
Databáze: USPTO Patent Grants
Popis
Abstrakt:In one embodiment, an LDPC decoder has a controller and one or more check-node units (CNUs). The CNUs generate check-node messages using a scaled min-sum algorithm, an offset min-sum algorithm, or a scaled and offset min-sum algorithm. Initially, the controller selects a scaling factor and an offset value. The scaling factor may be set to one for no scaling, and the offset value may be set to zero for no offsetting. If the decoder is unable to correctly decode a codeword, then (i) the controller selects a new scaling and/or offset value and (ii) the decoder attempts to correctly decode the codeword using the new scaling and/or offset value. By changing the scaling factor and/or offset value, LDPC decoders of the present invention may be capable of improving error-floor characteristics over LDPC decoders that use only fixed or no scaling factors or fixed or no offsetting factors.