KR101431479B1 - 다수의 체크―노드 알고리즘들을 이용하는 오류―정정 디코더 - Google Patents

다수의 체크―노드 알고리즘들을 이용하는 오류―정정 디코더 Download PDF

Info

Publication number
KR101431479B1
KR101431479B1 KR1020107008092A KR20107008092A KR101431479B1 KR 101431479 B1 KR101431479 B1 KR 101431479B1 KR 1020107008092 A KR1020107008092 A KR 1020107008092A KR 20107008092 A KR20107008092 A KR 20107008092A KR 101431479 B1 KR101431479 B1 KR 101431479B1
Authority
KR
South Korea
Prior art keywords
value
error
messages
offset
scaling factor
Prior art date
Application number
KR1020107008092A
Other languages
English (en)
Other versions
KR20110044939A (ko
Inventor
키란 군남
Original Assignee
엘에스아이 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘에스아이 코포레이션 filed Critical 엘에스아이 코포레이션
Publication of KR20110044939A publication Critical patent/KR20110044939A/ko
Application granted granted Critical
Publication of KR101431479B1 publication Critical patent/KR101431479B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1142Decoding using trapping sets
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3707Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3738Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with judging correct decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3746Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding
    • H03M13/3753Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding using iteration stopping criteria
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/45Soft decoding, i.e. using symbol reliability information
    • H03M13/451Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

하나의 실시예에서 LDCP 디코더는 제어기 및 하나 이상의 체크-노드 유닛들(CNUs)을 갖는다. CNU들은 스케일링된 min-sum 알고리즘, 오프셋된 min-sum 알고리즘, 또는 스케일링되고 오프셋된 min-sum 알고리즘을 사용하여 체크-노드 메시지들을 생성한다. 초기에 제어기는 스케일링 인자 및 오프셋 값을 선택한다. 스케일링 인자는 스케일링 없음에 대해 1로 설정될 수 있고, 오프셋 값은 오프셋 없음에 대해 제로로 설정될 수 있다. 디코더가 코드워드를 정확하게 디코딩할 수 없다면, (i) 제어기는 새로운 스케일링 및/또는 오프셋 값을 선택하고, (ii) 디코더는 새로운 스케일링 및/또는 오프셋 값을 사용하여 코드워드를 정확하게 디코딩하기를 시도한다. 스케일링 인자 및/또는 오프셋 값을 변경함으로써, 본 발명의 LDPC 디코더들은 고정된 또는 스케일링 인자들 없이 사용하거나 고정된 또는 오프세팅 인자들이 없이 사용하는 LDPC 디코더들에 비해 오류-플로어 특성들을 개선할 수 있다.

Description

다수의 체크―노드 알고리즘들을 이용하는 오류―정정 디코더{ERROR-CORRECTION DECODER EMPLOYING MULTIPLE CHECK-NODE ALGORITHMS}
관련 출원에 대한 상호-참조
이 출원은 교시들(teachings) 전부를 참조로 여기 포함시키는 대리인 명세서 제 08-0241호로서, 2008년 8월 15일에 출원된 미국 임시 출원 번호 61/089,297의 출원일의 이익을 청구한다.
이 출원의 요지는 2008년 5월 1일에 출원된 미국 특허 출원 번호 12/113,729, 2008년 5월 1일에 출원된 미국 특허 출원 번호 12/113,755, 2008년 11월 26일에 출원된 미국 출원 번호 12/323,626, 2009년 3월 10일에 출원된 미국 특허 출원 번호 12/401,116, 2008년 12월 12일에 출원된 PCT 특허 출원 번호 PCT/US08/86523, 및 2008년 12월 12일에 출원된 PCT 특허 출원 번호 PCT/US08/86537에 관계된 것이고 이들 모든 교시들 전체를 참조로 여기 포함시킨다.
본 발명은 신호 처리에 관한 것으로, 특히, 저-밀도 패리티-체크(low-density parity-check; LDPC) 인코딩 및 디코딩과 같은 오류-정정 인코딩 및 디코딩 기술들에 관한 것이다.
코드워드(codeword)를 디코딩할 때, 저-밀도 패리티-체크(LDPC) 디코더는 디코더가 적합하게 코드워드를 디코딩하는 것을 못하게 하는 하나 이상의 트랩핑 세트들(trapping sets)에 접할 수가 있다. 트랩핑 세트들은 LDPC 코드의 태너(Tanner) 그래프에서 서브그래프들을 나타내는 것으로서 전형적으로 트랩핑 세트는 디코더를 강제로 부정확한 결과에 수렴하게 하기 때문에 LDPC 코드의 오류-플로어(error-floor) 특징들에 강한 영향을 미친다. 오류-플로어 특징들을 개선하기 위해서 LDPC 디코더는 유력 트랩핑 세트들(즉, 전형적으로 오류-플로어 특징들에 가장 현저히 영향을 미치는 트랩핑 세트들)을 무효화(break)하기 위해 상이한 기술들을 이용할 수도 있다. 이들 유력 트랩핑 세트들은 디코더 알파벳, 디코더 알고리즘, 디코더 체크-노드 유닛 업데이트, 채널 상태들, 및 신호 상태들과 같은 디코더의 동작 상태들에 기초하여 크게 변화한다.
본 발명의 목적은 저-밀도 패리티-체크(LDPC) 인코딩 및 디코딩과 같은 오류-정정 인코딩 및 디코딩 기술들을 제공하는 것이다.
일 실시예에서, 본 발명은 정확한 코드워드를 복구하기 위해 오류-정정(EC) 인코딩된 코드워드를 디코딩하기 위한 방법이다. 방법은 스케일링 인자 및 오프셋 값을 선택하고, 업스트림 프로세서로부터 초기 세트의 초기 값들을 수신한다. 초기 세트의 초기값들은 EC-인코딩된 코드워드에 대응하며; 초기 세트의 각 초기 값은 EC-인코딩된 코드워드의 상이한 비트에 대응한다. 하나의 세트의 메시지들은 초기 세트의 초기값들에 기초하여 생성되고, 제 1 세트의 메시지들은 스케일링 인자 및 오프셋 값에 기초하여 스케일링되고 오프셋된(scaled-and-offset) 메시지들로 변환된다.
또 다른 실시예에서, 본 발명은 위에 기술된 방법을 수행하기 위한 장치이다. 장치는 정확한 코드워드를 복구하기 위해 EC-인코딩된 코드워드를 디코딩하기 위한 오류-정정(EC) 디코더를 포함한다. 디코더는 제 1 세트의 메시지들을 생성하며, (i) 스케일링 인자 및 오프셋 값에 기초하여 상기 제 1 세트의 메시지들을 스케일링되고 오프셋된 메시지들로 변환하는 하나 이상의 블록들; 및 (ii) 스케일링 인자 및 상기 오프셋 값을 선택하는 제어기를 포함한다.
본 발명의 다른 양태들, 특징들, 및 잇점들은 다음의 상세한 설명, 첨부한 청구항들, 및 동일 참조 부호들이 유사하거나 동일한 엘리먼트들(elements)을 식별하는 첨부한 도면들로부터 더 완전히 명백해질 것이다.
도 1은 정규, 준-순환(quasi-cyclic; QC) 저-밀도 패리티-체크(LDPC) 코드를 구현하기 위해 사용될 수 있는 패리티-체크 H-행렬의 하나의 구현을 도시한 도면.
도 2는 도 1의 H-행렬과 같은 H-행렬을 사용하여 인코딩된 신호를 디코딩하기 위해 사용될 수 있는 본 발명의 하나의 실시예에 따른 LDPC 디코더의 간이화한 블록도.
도 3은 도 2의 LDPC 디코더의 각 CNU을 구현하기 위해 사용될 수 있는 체크-노드 유닛(CNU)의 하나의 구현예의 간이화된 블록도.
여기에서 "하나의 실시예" 또는 "일 실시예"라는 언급은 실시예에 관련하여 기술된 특정한 특징, 구조 또는 특성이 발명의 적어도 하나의 실시예에 포함될 수 있음을 의미한다. 명세서의 여러 곳에서 "하나의 실시예에서"라고 나타나는 구는 반드시 모두가 동일 실시예를 언급하는 것도 아니고 다른 실시예들을 반드시 서로 제외하는 별도의 또는 대안적 실시예들을 언급하는 것도 아니다. "구현"이라는 용어에 대해서도 마찬가지이다.
LDPC 디코더의 오류-플로어 특징들은 LDPC 디코더에 의해 이용된 체크-노드 알고리즘을 변경시킴으로써 개선될 수 있다. 전형적으로, 특정한 체크-노드 알고리즘을 사용한 결과에 기인한 트랩핑 세트들은 다른 체크-노드 알고리즘들을 사용한 바에 기인한 것들과는 다르다. 이에 따라, 예를 들면 오프셋 최소-합(min-sum) 알고리즘에서 스케일링된 최소-합 알고리즘으로 체크-노드 알고리즘을 변경시킴으로써 상이한 트랩핑 세트들이 얻어질 수 있다. 또한, 오프셋 최소-합 알고리즘에 의해 이용되는 오프셋 값을 변경시키거나, 스케일링된 최소-합 알고리즘에 의해 이용되는 스케일링 인자를 변경시킴으로써 상이한 트랩핑 세트들이 얻어질 수도 있다.
도 1은 정규의, 준-순환(QC) LDPC 코드를 구현하기 위해 사용될 수 있는 패리티-체크 행렬(parity-check metrix)(100)의 하나의 구현을 도시한 것이다. 일반적으로 H-행렬이라고 하는 패리티-체크 행렬(100)은 r = 4 행들의 서큘란트들(circulants)(즉, 블록 행들)로 배열되는 40개의 서큘란트들(Bj,k)을 포함하며 여기서 j = 1,...,r 및 c = 10열들의 서큘란트들(즉, 블록 열들)이고 k = 1,...,c이다. 서큘란트는 단위 행렬이거나 단위 행렬을 순환적으로 시프트시킴으로써 얻어지는 서브-행렬이며, 준-순환 LDPC 코드는 서브-행렬들 모두가 서큘란트들인 LDPC 코드이다. H-행렬(100)에서, 각 서큘란트(Bj,k)는 단일 p x p 단위 행렬을 순환적으로 시프트시킴으로써 얻어질 수 있는 p x p 서브-행렬이다. 이 논의 목적을 위해 H-행렬(100)이 p x r = 72 x 4 = 288 총 행들 및 p x c = 72 x 10 = 720 총 열들을 갖게 p = 72인 것으로 가정한다. 각 서큘란트(Bj,k)는 단위 행렬의 순열이기 때문에, 서큘란트의 각 열의 해밍 가중치(hamming weight)(즉, 1의 값을 갖는 엔트리들의 수) 및 서큘란트의 각 행의 해밍 가중치는 모두 1이다. 이에 따라, H-행렬(100)의 각 행에 대한 총 해밍 가중치(wr)는 1 x c = 1 x 10 = 1O과 같으며, H-행렬(100)의 각 열에 대한 총 해밍 가중치(wc)는 1 x r = 1 x 4 = 4와 같다. H-행렬(100)의 288 행들 각각은 제 m 체크 노드에 대응하며, 여기서 m은 0,...,287의 범위이며, 720 열들 각각은 제 n 가변 노드(비트 노드라고도 함)에 대응하며, n은 0,...,719의 범위이다. 또한, 각 체크 노드는 행에 1들로 나타낸 wr = 10 가변 노드들에 연결되고, 각 가변-노드는 열에 1들로 나타낸 wc = 4 체크 노드들에 연결된다. H-행렬(100)은 H-행렬(100)의 모든 행들이 동일 해밍 가중치(wr)를 가지며 H-행렬(100)의 모든 열들이 동일 해밍 가중치(wc)를 갖기 때문에 정규 LDPC 코드로서 기술될 수 있다.
도 2는 도 1의 H-행렬(100)과 같은 H-행렬을 사용하여 인코딩된 코드워드들을 디코딩하기 위해 사용될 수 있는 본 발명의 하나의 실시예에 따른 LDPC 디코더(200)의 간이화한 블록도이다. 수신된 각 코드워드에 대해서 LDPC 디코더(200)는 (i) 예를 들면 라디오-주파수 처리, 아날로그-대-디지털 변환, 양자화, 비터비 검출(Viterbi detection)과 같은 채널 검출, 또는 연-출력 값들(soft-output values)을 생성하는데 적합한 다른 처리를 수행할 수 있는 업스트림 프로세서(upstream processor)로부터 720 소프트 값들(예를 들면, 로그-우도 비들(log-likelihood ratios; LLR))(Ln (0))을 수신하며, (ii) 소프트-값 메모리(202)에 이들 소프트 값들(Ln (0))을 저장한다. 업스트림 프로세서에 의해 수행된 처리는 LDPC 디코더(200)가 구현되는 특정 애플리케이션에 따를 수 있다. 각 소프트 값(Ln (0))은 코드워드의 하나의 비트에 대응하며, 각 코드워드는 메시지-패싱 알고리즘(message-passing algorithm)을 사용하여 반복적으로 디코딩된다. 이 논의에 있어서, 각 소프트 값(Ln (0))은 하나의 경-결정(hard-decision) 비트 및 4비트 신뢰 값을 포함한, 5 비트를 갖는 것으로 가정한다.
일반적으로, LDPC 디코더(200)는 블록-일련 메시지-패싱 스케줄을 사용하여 720 소프트 값들(Ln (0))(즉, 메시지들)을 디코딩한다. 메시지들은 (i) 각 CNU(210)이 H-행렬(100)의 각 행에 대해(즉 제 m 체크 노드) 체크-노드 업데이트들을 수행하는 288개의 체크-노드 유닛들(CNUs)(210), 및 (ii) 각 VNU(204)이 H-행렬(100)의 10개의 열들에 대해(즉, 제 n 가변 노드들) 가변-노드 업데이트들을 수행하는 72개의 5비트 가변-노드 유닛들(VNUs)(204)을 사용하여 업데이트된다. CNU들(210(0),...,210(287))은 제 1 블록 열(즉, 서큘란트들 B1,1, B2,1, B3,1, B4,1)에 대해 체크-노드 업데이트들이 수행되고, 제 2 블록 열(즉, 서큘란트들(B1,2, B2,2, B3,2, B4,2)에 대해 체크-노드 업데이트들이 수행되고, 이어서 제 3 블록 열(즉, 서큘란트들(B1,3, B2,3, B3,3, B4,3)에 대해 체크-노드 업데이트들이 수행되고, 등이 수행되게 한번에 하나의 블록 열씩 H-행렬(100)의 288 행들에 대해 체크-노드(즉, 행) 업데이트들을 수행한다. 이어서, VNU들(204(0),...,204(71))은 제 1 블록 열(즉, 서큘란트들 B1,1, B2,1, B3,1, B4,1)에 대해 가변-노드 업데이트들이 수행되고, 이어서 제 2 블록 열(즉, 서큘란트들(B1,2, B2,2, B3,2, B4,2)에 대해 가변-노드 업데이트들이 수행되고, 이어서 제 3 블록 열(즉, 서큘란트들(B1,3, B2,3, B3,3, B4,3)에 대해 가변-노드 업데이트들이 수행되고, 등이 수행되게 한번에 하나의 블록 열씩 H-행렬(100)의 720 열들에 대해 가변-노드(즉, 열) 업데이트들을 수행한다. LDPC 디코더(200)의 반복(즉, 로컬 반복)은 모든 체크-노드 업데이트들 및 가변-노드 업데이트들이 수행된 후에 완료된다.
초기에, 각 멀티플렉서(206)가 세트의 모든 72 소프트 값들(Ln (0))을 수신하게 클럭 사이클 당 72 소프트 값들(Ln (0))의 레이트로 4개의 멀티플렉서들(206(0),...,206(3))에 720개의 5비트 소프트 값들(Ln (0))이 제공된다. 각 멀티플렉서(206)는 아래에 더 상세하게 논의되는 바와 같이, 생성되는 VNU들(204(0),...,204(71))로부터 72개의 5비트 가변-노드 메시지들(여기서, Q 메시지들로서 언급된)을 또한 수신한다. LDPC 디코더(200)의 제 1 반복 동안에, 멀티플렉서들(206(0),...,206(3))은 이들이 수신하는 세트들의 72개의 5비트 소프트 값들(Ln (0))을 선택하여 72-웨이 순환 시프터들(72-way cyclic shifters)(208(0),....,(208(3))에 각각 출력한다. 선택되지 않은 초기 Q 메시지들은 이전에 고찰된 코드워드에 대해 생성된 Q 메시지들일 수 있다. LDPC 디코더(200)의 후속 반복들 동안에, 멀티플렉서들(206(0),...,206(3))은 이들이 VNU들(204(0),...,204(71))로부터 수신하는 세트들의 72개의 5비트 Q 메시지들을 선택하여 각각 72-웨이 순환 시프터들(208(0),....,208(3))에 출력한다. 다음 논의에서 Q 메시지들에 대한 임의의 언급은 LDPC 디코더(200)의 제 1 반복 동안 소프트 값들(Ln (0))에 적용하는 것임이 이해될 것이다.
순환 시프터들(208(0),...,208(3))은 예를 들면 제어기(214)로부터 수신될 수 있는 순환-시프트 신호에 기초하여 이들이 수신하는 세트들의 72개의 5비트 Q 메시지들을 순환적으로 시프트한다. 순환-시프트 신호는 도 1의 H-행렬(100)의 서큘란트들의 순환-시프트 인자들에 대응한다. 예를 들면, LDPC 디코더(200)의 반복의 제 1 클럭 사이클 동안에, 순환 시프터들(208(0), ..., 208(3))은 이들의 각각의 세트들의 72개의 5비트 Q 메시지들을 도 1의 H-행렬(100)의 서큘란트들(B1,1, B2,1, B3,1, B4,1)의 시프트 인자들에 기초하여 시프트할 수 있다. LDPC 디코더(200)의 반복의 제 2 클럭 사이클 동안에, 순환 시프터들(208(0), ..., 208(3))은 이들의 각각의 세트들의 72개의 5비트 Q 메시지들을 서큘란트들(B1,2, B2,2, B3,2, B4,2)의 시프트 인자들에 기초하여 시프트한다. 그 다음, 순환 시프터들(208(0),...,208(3))은 각 CNU(210)이 Q 메시지들의 상이한 것을 수신하게, 이들의 각각의 72개의 순환적으로 시프트된 5비트 Q 메시지들을 CNU들(210(0),...,210(287))에 제공한다.
각 CNU(210)은 (i) 클럭 사이클 당 하나의 Q 메시지의 레이트로 H-행렬(100)(예를 들면, 10)의 행의 해밍 가중치(wr)와 동일한 복수의 5비트 Q 메시지들을 수신하며, (ii) wr 5비트 체크-노드 메시지들(이하 R 메시지들이라 함)을 생성한다. 각 CNU(210)은 (i) 오프셋 최소-합 체크-노드 알고리즘, (ii) 스케일링된 최소-합 체크-노드 알고리즘, 또는 (iii) 오프세팅(offsetting) 및 스케일링 둘 모두를 적용하는 최소-합 체크-노드 알고리즘을 사용하여 R 메시지들을 생성하게 선택적으로 구성될 수 있다. 각 R 메시지는 이하 보인 식(1), 식(2) 및 식(3)에 나타낸 바와 같이 표현될 수 있다.
Figure 112010023681735-pct00001
이고, 여기서 (i)
Figure 112014013227486-pct00002
은 LDPC 디코더(200)의 제 i 반복 동안 도 1의 H-행렬(100)의 제 m 체크 노드(즉, 행) 및 제 n 가변 노드(즉, 열)에 대응하는 R 메시지를 나타내며, (ii)
Figure 112014013227486-pct00003
은 제 i-1 반복 동안 H-행렬(100)의 제 n 가변 노드 및 제 m 체크 노드에 대응하는 Q 메시지를 나타내며, (iii) α는 0 내지 1의 범위인 스케일링 인자를 나타내고, (iv) β는 0 내지 15의 범위인 오프셋 값을 나타내며, (v) 함수 sign은
Figure 112014013227486-pct00004
메시지들의 부호들에 대해 곱셈 연산(즉,
Figure 112014013227486-pct00005
)이 수행됨을 나타낸다. n'는 제 n 가변-노드를 제외한(즉,
Figure 112014013227486-pct00006
) 제 m 체크 노드에 연결된 모든 가변 노드들의 세트(N(m)/n)의 가변-노드라고 가정한다. 제 m 체크 노드(즉, 행)에 대응하는 CNU(210)은 세트(N(m)/n)로부터 이전 제 (i-1) 반복 동안 수신된 모든 Q 메시지들에 기초하여 메시지
Figure 112014013227486-pct00007
를 생성한다. 이에 따라, 도 2의 실시예에서, 각 R 메시지는 N(m)/n = 9개 Q 메시지들(즉, wr-1= 10-1)에 기초하여 생성된다. 제 1 반복에 있어서 소프트-값 메모리(202)로부터 수신된 소프트 값들(Ln (0))은 이전 반복을 위한 Q 메시지들 대신 식(2) 및 식(3)에서 사용되는 것에 유의한다(즉
Figure 112014013227486-pct00008
).
각 CNU(210)에 의해 사용되는 특정한 알고리즘은 예를 들면, 제어기(214)에 의해 선택될 수 있다. 예를 들면, 스케일링 없이 오프셋 최소-합 체크-노드 알고리즘을 구현하기 위해서, 제어기(214)는 1의 스케일링 인자(α)를 선택하여, CNU(210)이 스케일링 없이 0 이외의 오프셋 값(β)을 수행하게 할 수 있다. 오프세팅 없이 스케일링된 최소-합 체크-노드 알고리즘을 구현하기 위해서 제어기(214)는 0의 오프셋 값(β)을 선택하여, CNU(210)이 오프세팅 없이 1 이외의 스케일링 인자(α)를 수행하게 할 수 있다. 스케일링 및 오프세팅 둘 모두를 수행하는 최소-합 체크-노드 알고리즘을 구현하기 위해서 제어기(214)는 0 이외의 오프셋 값(β)과 1 이외의 스케일링 인자(α)를 선택할 수 있다. 초기에 제어기(214)는 요망되는 오프셋 및 스케일링 인자를 선택한다. 제어기(214)는 예를 들면, LDPC 디코더(200)의 반복(즉, 하나의 로컬 반복)마다, LDPC 코드의 계층마다, 코드워드마다, 글로벌 반복(global iteration)(이하 더욱 기술됨)마다 오프셋 및 스케일링 인자를 가변시킬 수 있다.
도 3은 도 2의 LDPC 디코더(200)의 각 CNU(210)을 구현하기 위해 사용될 수 있는 본 발명의 하나의 실시예에 따른 CNU(300)의 간이화한 블록도이다. 일반적으로, CNU(300)은 10개의 5비트 R 메시지들을 생성하며, 각 5비트 R 메시지는 N(m)/n = 9개 Q 메시지들(하나의 메시지는 위에 기술된 바와 같이 제외된다)의 세트를 사용하여 생성된다. 이들 10개의 5비트 R 메시지들 중 9개에 대해서 식(2)를 사용하여 생성된 Q 메시지들의 최소 크기는 동일하다. 이들 R 메시지들 중 하나의 메시지에 대해서 Q 메시지들의 최소 크기는 Q 메시지들의 최소 크기가 위에 기술된 바와 같은 계산에서 제외될 것이기 때문에 Q 메시지들의 두 번째로 최소의 크기가 될 것이다. 식(2)를 10회 수행하기보다는 10개의 5비트 R 메시지들 각각에 대해 1회씩 CNU(300)은 값-재사용 기술을 이행하며 CNU(300)은 (i) M1_M2 파인더(finder)(302)를 사용하여 최소 및 제 2 최소 크기들을 가진 Q 메시지들을 결정하고 (ii) 최소 및 제 2 최소 크기들에 기초하여 10개의 5비트 R 메시지들을 생성한다.
첫번째 10개의 클럭 사이클들의 각 사이클 동안에, M1_M2 파인더(302)는 2의 보수 형식의 5비트 Q 메시지들을 수신한다. 5비트 Q 메시지들은 스케일링-및-오프셋 로직 블록(scaling-and-offset logic block)(310)을 사용하여 스케일링되고/스케일링되거나 오프셋될 수 있다. 스케일링 및/또는 오프세팅은 CNU(300)의 여러 위치들에서 적용될 수 있다. 예를 들면 스케일링 및/또는 오프세팅은 스케일링-및-오프셋 로직 블록(310)에 의해 수행된 스케일링 및/또는 오프세팅 대신 스케일링-및-오프셋 로직 블록(334 또는 346)에 의해 적용될 수 있다. 대안적으로, 스케일링 및/또는 오프세팅은 2 이상의 스케일링-및-오프셋 로직 블록(310, 334, 346)에 의해 적용될 수 있다. 스케일링 인자들(예를 들면, α1, α2, α3) 및/또는 오프셋 값들(예를 들면, β1, β2, β3)는 예를 들면, 도 2의 제어기(214)에 의해 제공될 수 있다. 2개 이상의 스케일링-및-오프셋 로직 블록(310, 334, 346)이 이용될 때, 스케일링 인자들 및 오프셋 값들은 스케일링-및-오프셋 로직 블록마다 상이할 수 있다. 또 다른 대안으로서, 스케일링은 오프세팅과는 상이한 위치에서 적용될 수 있다. 스케일링 및 오프세팅이 상이한 위치들에서 상이한 블록들에 의해 수행될 때, 이것을 상이한 블록들이 스케일링 인자 및 오프셋 값에 기초해서 메시지들을 스케일링되고 오프셋된 메시지들로 변환한다라고 한다. 예를 들면 블록(310)이 스케일링을 수행하고 블록(346)이 오프세팅을 수행한다면, 블록들(310, 346)이 Q 메시지들을 스케일링되고 오프셋된 R 메시지들로 변환한다라고 할 수 있다.
M1_M2 파인더(302)는 각 가능하게 스케일링되고/스케일링되거나 오프셋된 Q 메시지를 2의 보수 형식으로부터 5비트 부호-크기 값으로 2의-보수-대-부호-크기(2TSM) 변환기(312)를 사용하여 변환한다. 부호-크기 값의 부호 비트(326)는 부호 처리 로직(328)에 제공되는데, 이 로직은 (i) 모든 10개의 Q 메시지들의 부호 비트들(326)의 곱을 생성하며 (ii) 부호 비트들(326) 각각을 곱으로 곱하여 10개의 R 메시지들 각각마다 상이한 부호 비트(332)를 생성한다. 5-비트 부호-크기값 Q[4:0]의 4비트 크기 |Q|[3:0]이 4비트 최소 크기 값(M1)과 함께 멀티플렉서(MUX)(320)에 제공되고 4비트 제 2 최소 크기 값(M2)은 부분 상태 메모리(304)의 부분 상태 레지스터들(330(0), 330(1))에 저장된다. 또한, 4비트 크기 값 |Q|[3:0]이 플립-플롭(flip-flop; FF)(324)에 제공되고 이는 CNU(300)의 타이밍을 LDPC 디코더(200)의 클럭 신호와 동기시킨다.
최소 연산기(316(0))는 크기 값 |Q|을 레지스터(330(0))에 저장된 최소 크기 값(M1)과 비교한다. 크기 값 |Q|이 최소 크기 값(M1)보다 작다면, 최소 연산기(316(0))는 제어 신호(318(0))를 어서트(assert)한다(즉, 세트들(318(0))은 1과 같다). 그렇지 않다면 최소 연산기(316(0))는 제어 신호(318(0))를 디-어서트(de-assert)한다(즉, 세트들(318(0))은 0과 같다). 마찬가지로 최소 연산기(316(1))는 크기 값 |Q|을 레지스터(330(1))에 저장된 제 2 최소 크기 값(M2)과 비교한다. 크기 값 |Q|이 M2보다 작다면, 제어 신호(318(1))가 어서트된다. 그렇지 않다면, 제어 신호(318(1))는 디-어서트된다. 이 애플리케이션의 목적상 최소 크기 값(M1) 및 제 2 최소 크기값(M2)은 메시지들인 것으로 간주되는 것에 유의한다. MUX(320)의 동작을 더 이해하기 위해서 크기값 |Q|에 대해 표 1의 논리 표를 고찰한다.
Figure 112010023681735-pct00009
표 1은 제어 신호들(318(0), 318(1))이 모두 디-어서트된다면(즉, |Q|≥M1 및 M2), 크기 값(|Q|)은 폐기되고 이전에 저장된 최소 및 제 2 최소 크기값들(M1, M2)이 M1 레지스터(330(0)) 및 M2 레지스터(330(1))에 각각 저장됨을 보인다. 제어 신호(318(0))가 디-어서트되고 제어 신호(318(1))가 어서트된다면(즉, M2> |Q|≥M1), (i) 최소 크기값(M1)이 M1 레지스터(330)(0)에 저장되고, (ii) 크기값 |Q|이 M2 레지스터(330(1))에 저장되고, (iii) 이전에 저장된 제 2 최소 크기 값(M2)은 폐기된다. 제어 신호들(318(0), 318(1)) 모두가 어서트된다면(즉 |Q| < M1 및 M2), (i) 크기 값 |Q|이 M1 레지스터(330(0))에 저장되고, (ii) 이전에 저장된 최소값(M1)은 M2 레지스터(330(1))에 저장되고, (iii) 제 2 최소값(M2)은 폐기된다. M1 레지스터(330(0))에 크기값 |Q|을 저장하는 것 외에도, M1_인덱스 레지스터(330(2))가 인에이블(enable)되고, 새로운 최소값(M1)에 대응하는 카운터 값(324)(카운터(322)에 의해 생성된)이 M1_인덱스 레지스터(330(2))에 저장되고, M1_인덱스 레지스터(330(2))에 이전에 저장된 카운터값은 폐기된다. 제어 신호(328(0))가 어서트되고 제어 신호(318(1))이 디-어서트될 것은 크기값 |Q|이 최소 크기값(M1)보다는 작으나 제 2 최소 크기값(M2)보다는 크다는 것을 나타낼 것이기 때문에 이것은 가능하지 않은 것에 유의한다. 또한, 제 1 클럭 사이클 전에, 최소 및 제 2 최소 크기 값들(M1, M2)은 적합하게 큰 값들(예를 들면, 이진수 1111)로 초기화되고, M1_인덱스는 0으로 초기화된다.
모든 10개의 Q 메시지들이 고찰된 후에, 최소 크기 값(M1) 및 제 2 최소 크기 값(M2)은 스케일링-및-오프셋 로직 블록(334)에 의해서 스케일링되고/스케일링되거나 오프셋될 수 있다. 부호-크기-대-2의-보수(Sign-magnitude-to-two's-complement; SMT2) 변환기(338)는 가능하게 스케일링되고 오프셋된 4비트 최소 크기값(M1')을 양의 부호 비트를 4비트 값(M1')에 첨부함으로써 5비트의 양의 2의-보수 값으로 변환하고 5비트 결과(+M1')를 최종 상태 프로세서(306)의 레지스터(336(0))에 저장한다. SMT2 변환기(338)는 가능하게 스케일링되고/스케일링되거나 오프셋된 4비트 최소 크기값(M1')을 음의 부호 비트를 4비트 값(M1')에 첨부함으로써 5비트의 음의 2의-보수 값으로 변환하고 5비트 결과(-M1')를 레지스터(336(1))에 저장한다. 또한, 부호 처리 로직(328)으로부터의 부호 비트(332)가 양의 부호 비트(0)이면, SMT2 변환기(338)는 가능하게 스케일링되고/스케일링되거나 오프셋된 4비트 제 2 최소 크기값(M2')을 레지스터(336(2))에 저장하기 위해 5비트 양의 2의-보수값(+M2')으로 변환한다. 부호 처리 로직(328)으로부터의 부호 비트(332)가 음의 부호 비트(1)이면, SMT2 변환기(338)는 가능하게 스케일링되고/스케일링되거나 오프셋된 4비트 제 2 최소 크기값(M2')을 레지스터(336(2))에 저장하기 위해 5비트 음의 2의-보수값(-M2')으로 변환한다. 최종 상태 프로세서(306)의 레지스터(336(3))는 M1_인덱스 레지스터(330(2))로부터 카운터 값(M1_INDEX)를 저장한다.
다음 10개의 클럭 사이클들의 각각의 사이클 동안에, R 선택기(308)의 MUX(344)는 (1) 양의 값(+M1'), (2) 음의 값(-M1'), (3) 양 또는 음의 값(+M2'), (4) 비교 연산기(340)로부터 비교 비트(342), 및 (5) 부호 처리 로직(328)에 저장된 대응 부호 비트(326)에 기초하여 5비트 R 메시지를 출력한다. 각 비교 비트(342)는 현재의 카운터 값(324)를 레지스터(336(3))에 저장된 M1_index 값과 비교함으로써 생성된다. 2개가 동일할 때, 비교 비트(342)가 어서트되고, 2개가 같지 않을 때, 비교 비트(342)는 디-어서트된다. 각 부호 비트(332)는 식(3)을 사용하여
Figure 112010023681735-pct00010
으로서 생성될 수 있거나, 대안적으로, 부호 처리 로직(328)이 FIFO를 사용하여 구현되는 경우에는 FIFO로부터 출력되는 대로 저장된 부호 비트(326)를 부호 처리 로직(328)에 저장된 모든 부호 비트들(326)의 곱으로 곱함으로써 생성될 수 있다. R 메시지들이 MUX(344)로부터 어떻게 출력되는가를 더 이해하기 위해서 표 2의 논리 표를 고찰한다.
Figure 112010023681735-pct00011
표 2는 비교 비트(342) 및 부호 비트(332) 둘 모두가 디-어서트된 경우, 레지스터(336(0))에 저장된 양의 값(+M1')은 5비트 R 메시지로서 출력될 것임을 나타낸다. 비교 비트(342)가 디-어서트되고 부호 비트(332)가 어서트되면, 레지스터(336(1))에 저장된 음의 값(-M1')은 5비트 R 메시지로서 출력될 것이다. 비교 비트(342)가 어서트되고 부호 비트(332)가 디-어서트되면, 양의 값(+M2')이 레지스터(336(2))에 저장되어 있을 것이며 이제는 5비트 R 메시지로서 출력될 것이다. 비교 비트(342) 및 부호 비트(332) 둘 모두가 어서트되면 음의 값(-M2')이 레지스터(336(3))에 저장되어 있을 것이며 이제는 5비트 R 메시지로서 출력될 것이다. 이어서 R 메시지들이 스케일링-및-오프셋(346)에 의해 스케일링되고/스케일링되거나 오프셋될 수 있다.
다시 도 2를 참조하면, 순환 시프터들(212(0),...,212(3))은 이들의 각각의 CNU들(210)로부터 세트들의 72개의 5비트 R 메시지들을 수신하고 도 1의 H-행렬(100)의 서큘란트들(Bj,k)의 순환 시프트들에 따라 세트들의 72개의 5비트 R 메시지들을 순환적으로 시프트한다. 필수적으로 순환 시프터들(212(0),...,212(3))은 순환 시프터들(208(0),...,208(3))의 순환 시프트팅을 역으로 한다. 예를 들면, 순환 시프터들(208(0),...,208(3))이 순환 업시프트팅을 수행한다면, 순환 시프터들(212(0),...,212(3))은 순환 다운시프팅을 수행할 수 있다.
순환 시프터들(212(0),...,212(3))은 각 VNU(204)이 각 순환 시프터(212)로부터 하나씩 4개의 R 메시지들을 수신하게, 순환적으로 시프트된 5비트 R 메시지들을 VNU들(204(0),...,204(71))에 제공한다. 각 VNU(204)은 식(4)에 보인 바와 같이 생성하는 4개의 5비트 Q 메시지들 각각을 업데이트하는데,
Figure 112010023681735-pct00012
이고, 여기서 m'은 제 m 체크 노드를 제외하고(즉,
Figure 112010023681735-pct00013
) 제 n 가변-노드에 연결된 모든 체크 노드들의 세트(M(n)/m)의 체크 노드이다. 제 n 가변-노드는 (i) 세트 (M(n)/m)로부터 이전 제 (i-1) 반복 동안 수신된 모든 R 메시지들, 및 (ii) 제 n 가변-노드에 대응하는 소프트 값 메모리(202)로부터 수신된 초기 소프트 값(Ln (0))에 기초하여, 메시지
Figure 112010023681735-pct00014
을 생성한다. 가산기 회로들을 사용하여 구현될 수 있는 각 VNU(204)은 4개의 메시지들 중 상이한 것이 상이한 대응하는 MUX(206)에 제공되게, 생성하는 4개의 업데이트된 5비트 Q 메시지들을 출력한다.
4개의 업데이트된 5비트 Q 메시지들을 출력하는 것 외에도, 각 VNU(204)은 (i) 7비트 외래 LLR 값(extrinsic LLR value), (ii) 경-결정 출력 비트, 및 (iii) 8비트 P 값을 출력한다. 각 7비트 외래 LLR 값은 식(5)에 나타낸 바와 같이 표현될 수 있다.
외래 값n =
Figure 112010023681735-pct00015
(5)
이고, 여기서 m은 제 n 가변-노드에 연결된 모든 체크 노드들(즉,
Figure 112010023681735-pct00016
)의 세트 M(n)) 내 하나의 체크 노드이다. 각각의 8비트 P 값은 다음과 같이 식(6)을 사용하여 생성될 수 있다.
Figure 112010023681735-pct00017
(6)
, 및 각 경-결정 비트(
Figure 112010023681735-pct00018
)는 아래 식(7) 및 식(8)에 기초하여 생성될 수 있다.
Pn ≥ 0이면,
Figure 112010023681735-pct00019
=0 (7)
Pn < 0이면,
Figure 112010023681735-pct00020
=1 (8)
Pn은 식(5)로부터 외래 값을 제 n 가변-노드에 대응하는 소프트-값 메모리(202)로부터 수신된 초기 소프트 값(Ln (0))에 더함으로써 각 가변-노드마다 결정된다. Pn이 제로 이상이면 경-결정 비트(
Figure 112010023681735-pct00021
)는 식(7)에 보인 바와 같이 제로와 같다. Pn이 제로 미만이면 경-결정 비트(
Figure 112010023681735-pct00022
)는 식(8)에 보인 바와 같이 1과 같다.
이어서 LDPC 디코더(200)가 유효 코드워드에 수렴하였는지의 여부를 결정하기 위해 경-결정 값들을 사용하여 예를 들면, 제어기(214)에 의해서 패리티-체크가 수행된다. 특히, 10개의 클럭 사이크들 동안에 VNU들(204(0),...,204(71))로부터 출력된 720개의 경-결정 비트들(
Figure 112010023681735-pct00023
)로부터 형성된 720-엘리먼트 벡터(
Figure 112010023681735-pct00024
)에 도 1의 H-행렬(100)의 전치 H T를 곱하여 288비트 벡터를 생성하고 288 비트 벡터의 각 비트는 H-행렬(100)의 288 체크 노드들(즉, 행들) 중 하나에 대응한다. 결과적인 288-비트 벡터의 각 엘리먼트가 제로와 같다면(즉,
Figure 112010023681735-pct00025
), LDPC 디코더(200)는 유효 코드워드에 수렴한 것이다. 반면 결과적인 288 비트 벡터의 하나 이상의 엘리먼트들이 1과 같다면(즉,
Figure 112010023681735-pct00026
) LDPC 디코더(200)는 유효 코드워드에 수렴하지 않은 것이다. 1의 값을 갖는 288-비트 벡터의 각 엘리먼트는 비충족 체크 노드(unsatisfied check node)로 간주된다. LDPC 디코더(200)가 유효 코드워드에 수렴한 경우 및 수렴할 때, 순환-용장성 체크(cyclic-redundancy check; CRC)가 예를 들면 제어기(214)에 의해 수행될 수 있다. CRC가 성공적이면, LDPC 디코더(200)는 유효한 정확한 코드워드에 수렴한 것이다. CRC가 성공적이지 않으면 LDPC 디코더(200)는 유효하긴하나 부정확한 코드워드에 수렴한 것이다.
LDPC 디코더(200)가 유효 코드워드에 수렴하지 않거나 유효하긴하나 부정확한 코드워드에 수렴한다면, 정확한 코드워드를 적합하게 복구하기 위해 추가의 동작이 필요해진다. 예를 들면, 유효한 정확한 코드워드에 수렴하기 위해 LDPC 디코더(200)의 후속 로컬 반복들이 수행될 수도 있다. 또 다른 예로서, 글로벌 반복이 수행될 수도 있는데, 이에 의해서 (i) 외래 LLR 값들이 업스트림 프로세서에 피드백되고, (ii) 검출기는 새로운 세트의 720개의 5비트 소프트 값들(Ln (0))을 생성하고, (iii) LDPC 디코더(200)는 새로운 세트의 720개의 5비트 소프트 값들(Ln (0))로부터 정확한 코드워드를 복구하기를 시도한다. LDPC 디코더(200)가 미리 규정된 회수의 로컬 및/또는 글로벌 반복들 이내에서 유효한 정확한 코드워드에 수렴하지 않는다면, 수신기 및/또는 LDPC 디코더는 트랩핑 세트들을 무효화하기 위해 설계된 다른 방법들을 수행하는 것과 같은, 유효 코드워드를 복구하기 위한 또 다른 동작을 취할 수 있다. 어떤 경우들에 있어서 LDPC 디코더(200)는 정확한 코드워드를 복구하지 못할 수도 있을 것이다. 또 다른 예로서, LDPC 디코더(200)가 놓인 수신기는 데이터의 재송신을 요청할 수도 있다.
코드워드를 디코드하려는 각 후속의 시도에 있어서(예를 들면, 각 후속의 로컬 반복, 후속의 글로벌 반복, 또는 재송신), 제어기(214)는 하나 이상의 상이한 스케일링 인자들(α), 하나 이상의 상이한 오프셋 값들(β), 또는 하나 이상의 상이한 스케일링 인자들(α) 및 하나 이상의 상이한 오프셋 값들(β) 둘 모두를 선택할 수도 있다. 스케일링 인자들(α) 및 오프셋 값들(β)은 임의의 적합한 방법을 사용하여 선택될 수도 있다. 예를 들면, 스케일링 인자들(α) 및 오프셋 값들(β)은 패리티-체크 동안 식별된 비충족 체크 노드들의 수에 기초하여 선택될 수 있다. 비충전 체크 노드들의 수가 비교적 작을 때, 체크-노드 메시지들의 비교적 작은 변화들을 야기하기 위해 비교적 1에 가까운 스케일링 인자들(α) 및 비교적 제로에 가까운 오프셋 값들(β)이 선택될 수 있다. 비충족 체크 노드들의 수가 비교적 클 때는 체크-노드 메시지들에 비교적 큰 변화들을 야기하기 위해 더 작은 스케일링 인자들(α) 및/또는 더 큰 오프셋 값들(β)이 선택될 수 있다. 스케일링 인자(α)가 1로부터 감소하고 오프셋 값(β)이 제로로부터 증가할 때, 체크-노드 메시지들에 대한 변화들은 증가한다.
또 다른 예로서, 스케일링 인자들(α) 및 오프셋 값들(β)은 미리 결정된 수의 반복들 후에 증분될 수도 있다. 스케일링 인자들(α)은 예를 들면, 0.2이 증분들만큼 조절될 수 있고 오프셋 값들(β)은 예를 들면, 1의 증분들만큼 조절될 수도 있다.
스케일링 인자(α) 및/또는 오프셋 값(β)을 변경함으로써 본 발명의 LDPC 디코더들은 단지 고정된 또는 스케일링 인자 없이 구현되거나, 고정된 또는 오프세팅 인자들 없이 구현된 LDPC 디코더들에 비해 오류-플로어 특성들(error-floor characteristics)을 개선시킬 수 있다. 본 발명의 LDPC 디코더가 트랩핑 세트를 접하게 되었을 때, 디코더는 LDPC 디코더가 코드워드를 정확하게 디코딩할 또 다른 기회를 갖도록, 트랩핑 세트를 무효화하기를 시도하기 위해 하나 이상의 스케일링 인자들(α) 및/또는 하나 이상의 오프셋 값들(β)을 변경시킬 수 있다.
본 발명이 도 2의 특정한 비-계층(non-layered) LDPC 디코더 구성(200)에 대해 기술되었을지라도, 본 발명은 이것으로 제한되는 것은 아니다. 메시지 패싱을 이용하는 다른 LDPC 디코더 구조들에 대해 본 발명의 다양한 실시예들이 고찰될 수도 있다. 예를 들면, 본 발명은 다른 비-계층 또는 계층 디코더 구조들에 대해, 및 블록-일련 메시지-패싱 스케줄 이외의 메시지-패싱 스케줄들을 사용하는 디코더들에 대해 구현될 수도 있다. 또 다른 예로서, 본 발명의 LDPC 디코더들은 순환 시프터들을 사용함이 없이 구현될 수도 있다. 이러한 실시예들에서, 메시지들은 직접 연결들을 통해 또는 비-순환 시프팅을 수행하는 퍼뮤테이터들(permutators)을 사용하여 CNU들과 VNU들간에 전달될 수도 있다.
다양한 실시예들에 따라서, 본 발명은 최소-합 알고리즘 이외의 체크-노드 알고리즘들을 사용하여 구현될 수도 있다. 이러한 실시예들에서 스케일링 및/또는 오프세팅은 스케일링-및-오프셋 로직 블록(346, 310)의 그것과 유사한 방식으로 체크-노드 메시지들 및/또는 가변-노드 메시지들에 적용될 수도 있다. 또한, 스케일링 및/또는 오프세팅은 스케일링-및-오프셋 로직 블록(334)과 유사한 방식으로, 체크-노드 메시지들이 생성되기 전에 체크-노드 알고리즘에 의해 적용될 수도 있다.
도 1의 특정한 H-행렬(100)에 대해 본 발명이 기술되었을지라도 본 발명을 이것으로 제한되는 것은 아니다. 본 발명은 도 1의 행렬(100)와 동일한 크기 또는 이와는 상이한 크기인 다양한 H-행렬들에 대해 구현될 수 있다. 예를 들면, 본 발명은 열들의 수, 블록 열들, 행들, 블록 행들, 계층들(단지 하나의 계층만을 갖는 구현들을 포함하는), 클럭 사이클 당 처리된 메시지들, 서브-행렬들의 크기, 계층들의 크기, 및/또는 열 및/또는 행 해밍 가중치들이 H-행렬(100)의 그것과는 다른 H-행렬들에 대해 구현될 수 있다. 이러한 H-행렬들은 예를 들면, 순환, 준-순환, 비-순환, 규칙적, 또는 비규칙적 H-행렬들일 수 있다. 또한, 이러한 H-행렬들은 제로 행렬들을 포함한 서큘란트들을 이외의 서브-행렬들을 포함할 수 있다. VNU들, 배럴 시프터들(barrel shifters), 및/또는 CNU들이 수는 H-행렬의 특징들에 따라 가변될 수 있음에 유의한다.
이 발명의 특성을 설명하기 위해 기술 및 예시된 부분들의 상세들, 자료들, 및 배열들에 다양한 변경들이 다음 청구항들에 표현된 발명의 범위 내에서 당업자들에 의해 행해질 것임을 알 것이다. 예를 들면, 스케일링-및-오프셋 로직 블록은 멀티플렉서(320)의 크기 |Q| 입력부에 또는 SMT2 변환기(338)와 최종 상태 레지스터들(336(0), ..., 336(2)) 사이와 같은, 도 3에 도시된 3개의 위치들 이외의 위치들에 구현될 수 있다(예를 들면, 310, 334, 346 이외의). 스케일링-및-오프셋 로직 블록(310)은 CNU(300)의 부분으로서가 아니라, VNU(또는 가변-노드 메시지들을 생성하는 가산기)의 출력부에 위치될 수도 있고, 스케일링-및-오프셋 로직 블록(346)은 CNU(300)의 부분으로서가 아니라, VNU(또는 가변-노드 메시지들을 생성하는 가산기)의 입력부에 위치될 수도 있다. 또 다른 예로서, Q 메시지들 수신하고 2의-보수 형식을 사용하여 R 메시지들을 출력하지 않고, CNU(300)은 부호-크기 형식과 같은 또 다른 형식으로 메시지들을 수신 및 출력할 수 있다. 또한, 2의-보수-대-부호-크기 변환은 예를 들면, VNU들에 의해 수행될 수 있다. 또 다른 예로서 본 발명의 LDPC 디코더들은 5비트 이외의 크기들의 메시지들을 처리할 수 있다.
본 발명의 실시예들이 LDPC 코드들의 콘텍스트(context)에서 기술되었을지라도, 본 발명은 이것으로 제한되지 않는다. 본 발명의 실시예들은 그래프-규정 코드들이 트랩핑 세트들을 생성하기 때문에 그래프에 의해 규정될 수 있는 임의의 코드 예를 들면, 토네이도 코드들(tornado codes) 및 구조화된 IRA 코드들에 대해 구현될 수도 있을 것이다.
본 발명의 예시적인 실시예들이 단일 집적 회로, 다수-칩 모듈, 단일 카드, 또는 다수-카드 회로 팩으로서 가능한 구현을 포함하는, 회로들의 처리들에 관하여 기술되었으나, 본 발명은 이것으로 제한되는 것은 아니다. 당업자에게 명백한 바와 같이, 회로 엘리먼트들의 다양한 기능들은 소프트웨어 프로그램에서 처리 블록들로서 구현될 수도 있다. 이러한 소프트웨어는 예를 들면, 디지털 신호 프로세서, 마이크로-제어기, 또는 범용 컴퓨터에 이용될 수 있다.
본 발명은 로그-우도비들(log-likelihood raios)을 수신 및 처리하는 것으로 제한되지 않는다. 우도비들과 같은, 다른 소프트 값들, 또는 하드 비트 결정들이 처리되는 본 발명의 다양한 실시예들이 고찰될 수도 있다.
명세서 및 청구항들에 사용되는 "증분시키다(increment)"이라는 용어는 값이 증가될 때의 경우들 및 값이 감소될 때의 경우들을 포함하는 것으로 이해될 것이다. 예를 들면, 특정된 스케일링-인자 증분만큼 스케일링 인자를 증분하는 것은 스케일링-인자가 특정된 스케일링-인자 증분만큼 증분될 때의 경우들 및 스케일링 인자가 특정된 스케일링-인자 증분만큼 감소될 때의 경우들을 포함한다.
명세서 및 청구항들에 사용되는 바와 같이 제 2 값은 제 1 값과 제 2 값 사이에 중간값들이 생성될지라도 제 1 값 "에 기초하여(based on)" 생성된다고 할 수 있다. 예를 들면, 가변-노드 메시지들은 체크-노드 메시지들이 소프트 값들(Ln (0))의 수신과 체크-노드 메시지들의 생성 사이에 체크-노드 메시지들이 생성될지라도 디코더에 의해 수신된 소프트 값들(Ln (0)) "에 기초하여" 생성된다고 할 수 있다. 또 다른 예로서 LDPC 디코더의 제 2 로컬 반복 동안에 생성된 체크-노드 메시지들은 가변-노드 메시지들 및 다른 체크-노드 메시지들이 제 2 로컬 반복을 위해 소프트 값들(Ln (0))의 수신과 체크-노드 메시지들의 생성 사이에 생성될지라도 제 1 로컬 반복 동안 수신된 소프트 값들(Ln (0)) "에 기초한다"고 할 수 있다.
본 발명은 방법 및 이들 방법들을 실시하기 위한 장치들 형태로 실현될 수 있다. 본 발명은 자기 기록 매체, 광학 기록 매체, 고체 상태 메모리, 플로피 디스켓들, CD-ROM들, 하드 드라이브들, 또는 임의의 다른 기계-판독가능한 저장 매체와 같은, 물리적 매체에 구현된 프로그램 코드의 형태로 구현될 수도 있고, 프로그램 코드가 컴퓨터와 같은, 기계에 로딩되고 이에 의해 실행될 때 기계는 발명을 실시하는 장치가 된다. 본 발명은 예를 들면 저장 매체에 저장되었든지, 기계에 로딩되고/로딩되거나 이에 의해 실행되든지, 또는 전기 와이어 또는 케이블로, 광섬유들을 통해, 또는 전자기 방사를 통한 것과 같은, 어떤 송신 매체 또는 캐리어(carrier)로 송신되든지의 여부가 프로그램 코드 형태로 구현될 수 있으며, 프로그램 코드가 컴퓨터와 같은, 기계에 로딩되어 실행될 때 기계는 발명을 실시하는 장치가 된다. 범용 프로세서에 구현될 때 프로그램 코드 세그먼트들은 특정 로직 회로들과 유사하게 동작하는 고유한 디바이스를 제공하기 위해 프로세서와 조합한다. 본 발명은 본 발명의 방법 및/또는 장치를 사용하여 생성된, 매체를 통해 전기적으로 또는 광학적으로 송신된 비트 스트림 또는 다른 시퀀스(sequence)의 신호 값들, 자기 기록 매체에 저장된 자기장 변화들, 등의 형태로 구현될 수 있다.
명시적으로 다른 것을 나타내지 않는다면, 각 수치값 및 범위는 값 또는 범위의 값 앞에 "약(about)" 또는 "근사적으로(approximately)"가 선행하는 것처럼 근사적인 것으로서 해석되어야 할 것이다.
청구항들에서 도면 번호들 및/또는 도면 참조 레벨들의 사용은 청구항들의 해석을 용이하게 하기 위해서 청구요지의 하나 이상의 가능한 실시예들을 식별하기 위한 것이다. 이러한 사용은 대응 도면들에 도시된 실시예들로 이들 청구범위을 제한하는 것으로서 해석되지 않아야 한다.
여기 개시된 예시적인 방법들의 단계들은 기술된 순서로 수행되어야 하는 것은 아님이 이해되어야 하고, 이러한 방법들의 단계들의 순서는 단지 예시적인 것임이 이해되어야 한다. 마찬가지로 추가의 단계들은 이러한 방법들에 포함될 수 있고, 어떤 단계들은 본 발명의 다양한 실시예들에 일관된 방법들에서 생략되거나 조합될 수 있다.
다음 방법 청구항들에서, 만약에 있다면, 엘리먼트들이 대응하는 라벨링(labeling)을 갖고 특정 시퀀스로 인용될지라도, 청구항 인용들이 이들 엘리먼트들의 일부 또는 전부를 구현하기 위한 특정 시퀀스를 의미하는 것을 명시하지 않는 한 이들 시퀀스들은 이 특정 시퀀스로 구현되는 것으로서 한정하려는 것은 아니다.
100: 패리티-체크 행렬 200: LDPC 디코더
204(0) 내지 204(71): 가변-노드 유닛
206(0) 내지 206(3): 멀티플렉서
208(0) 내지 208(3): 72-웨이 순환 시프터
210(0) 내지 210(287), 300: 체크-노드 유닛
212(0) 내지 212(3): 순환 시프터
214: 제어기
302: M1_M2 파인더 304: 부분 상태 메모리
306: 최종 상태 프로세서 308: R 선택기
310, 334, 346: 스케일링-및-오프셋 로직 블록
312, 338: 2의-보수-대-부호-크기 변환기
316(0), 316(1): 최소 연산기 320, 344: 멀티플렉서
322: 카운터 324: 플립-플롭
326, 332: 부호 비트 328: 부호 처리 로직
330(0), 330(1): 부분 상태 레지스터
330(2): M1_인덱스 레지스터
336(0) 내지 336(3): 레지스터

Claims (20)

  1. 정확한 코드워드를 복구하기 위해 오류-정정-인코딩된 코드워드를 디코딩하기 위한 오류-정정 디코더를 포함하는 장치에 있어서:
    상기 오류-정정 디코더는 업스트림 프로세서(upstream processor)에 의해 생성된 초기 세트의 초기값들에 기초하여 제 1 세트의 메시지들을 생성하도록 구성되고;
    상기 초기 세트는 상기 오류-정정-인코딩된 코드워드에 대응하고;
    상기 초기 세트의 각각의 초기값은 상기 오류-정정-인코딩된 코드워드의 상이한 비트에 대응하고;
    상기 오류-정정 디코더는:
    스케일링 인자 및 오프셋 값에 기초하여 상기 제 1 세트의 메시지들을 스케일링되고-오프셋된 메시지들(scaled-and-offset messages)로 변환하도록 구성된, 하나 이상의 블록들; 및
    제어기를 포함하고,
    상기 제어기는ⅰ) 상기 스케일링 인자 및 상기 오프셋 값을 선택하고 ⅱ) 이어서, 상기 오류-정정 디코더가 트랩핑 세트(trapping set)를 접했다고(encounter) 결정한 후에, 상기 스케일링 인자 및 상기 오프셋 값 중 적어도 하나를 수정하도록 구성된, 오류-정정 디코더를 포함하는 장치.
  2. 제 1 항에 있어서,
    상기 오류-정정 디코더는 가변-노드 메시지들을 생성하도록 구성된 가변-노드 유닛을 포함하고;
    상기 제 1 세트의 메시지들은 상기 가변-노드 메시지들이고;
    상기 하나 이상의 블록들은 상기 스케일링 인자 및 상기 오프셋 값에 기초하여 상기 가변-노드 메시지들을 스케일링되고-오프셋된 가변-노드 메시지들로 변환하도록 구성된, 오류-정정 디코더를 포함하는 장치.
  3. 제 1 항에 있어서,
    상기 오류-정정 디코더는 체크-노드 메시지들을 생성하도록 구성된 체크-노드 유닛을 포함하고;
    상기 제 1 세트의 메시지들은 상기 체크-노드 메시지들이고;
    상기 하나 이상의 블록들은 상기 스케일링 인자 및 상기 오프셋 값에 기초하여 상기 체크-노드 메시지들을 스케일링되고-오프셋된 체크-노드 메시지들로 변환하도록 구성된, 오류-정정 디코더를 포함하는 장치.
  4. 제 1 항에 있어서,
    상기 오류-정정 디코더는 최소-합 알고리즘(min-sum algorithm)을 구현하고;
    상기 오류-정정 디코더는 상기 최소-합 알고리즘의 제 1-최소 크기 값 및 제 2-최소 크기 값을 생성하도록 구성된 체크-노드 유닛을 포함하고;
    상기 제 1 세트의 메시지들은 상기 제 1-최소 크기 값 및 상기 제 2-최소 크기 값이고;
    상기 하나 이상의 블록들은 상기 스케일링 인자 및 상기 오프셋 값에 기초하여 상기 제 1-최소 크기 값 및 상기 제 2-최소 크기 값을 스케일링되고-오프셋된 제 1-최소 크기 값 및 스케일링되고-오프셋된 제 2-최소 크기 값으로 변환하도록 구성된, 오류-정정 디코더를 포함하는 장치.
  5. 제 1 항에 있어서,
    상기 제어기는 상기 스케일링 인자를 1로 설정할 수 있고,
    상기 제어기는 상기 오프셋 값을 0으로 설정할 수 있는, 오류-정정 디코더를 포함하는 장치.
  6. 제 1 항에 있어서,
    상기 하나 이상의 블록들은 스케일링 및 오프세팅(offsetting) 둘 모두를 수행하는 스케일링-및-오프셋 블록을 포함하는, 오류-정정 디코더를 포함하는 장치.
  7. 제 1 항에 있어서,
    상기 디코더는 저-밀도 패리티-체크(low-density parity-check) 디코더이고;
    상기 업스트림 프로세서로부터 수신된 상기 값들은 경-결정 비트(hard-decision bit) 및 하나 이상의 신뢰-값 비트들을 가지는 연-출력 값들(soft-output values)인, 오류-정정 디코더를 포함하는 장치.
  8. 제 1 항에 있어서,
    상기 제어기는,
    1) i) 상기 스케일링 인자를 1로 설정하고, 상기 오프셋 값을 0보다 큰 값으로 설정하고 ⅱ) 이어서, 상기 스케일링 인자를 1 이외의 값으로 수정하고, 상기 오프셋 값을 0으로 설정하는 것; 및
    2) ⅰ) 상기 스케일링 인자를 1 이외의 값으로 설정하고, 상기 오프셋 값을 0으로 설정하고 ⅱ) 이어서, 상기 스케일링 인자를 1로 수정하고, 상기 오프셋 값을 0보다 큰 값으로 설정하는 것, 중 적어도 하나로부터 선택하도록 구성된, 오류-정정 디코더를 포함하는 장치.
  9. 제 1 항에 있어서,
    상기 제어기가, 상기 오류-정정 디코더가 미리 결정된 수의 디코딩 반복들 내에서 상기 정확한 코드워드에 수렴하지 않는다고 결정한 후에, 상기 제어기는 상기 스케일링 인자 및 상기 오프셋 값 중 상기 적어도 하나를 수정하는, 오류-정정 디코더를 포함하는 장치.
  10. 정확한 코드워드를 복구하기 위해 오류-정정 인코딩된 코드워드를 디코딩하기 위한, 오류-정정 디코더에 의해 구현되는 방법에 있어서:
    (a) 스케일링 인자 및 오프셋 값을 선택하는 단계;
    (b) 업스트림 프로세서로부터 초기 세트의 초기값들을 수신하는 단계로서:
    상기 초기 세트는 상기 오류-정정-인코딩된 코드워드에 대응하고;
    상기 초기 세트의 각각의 초기값은 상기 오류-정정-인코딩된 코드워드의 상이한 비트에 대응하는, 상기 초기 세트의 초기값들을 수신하는 단계;
    (c) 상기 초기 세트의 초기값들에 기초하여 제 1 세트의 메시지들을 생성하는 단계;
    (d) 상기 스케일링 인자 및 상기 오프셋 값에 기초하여 상기 제 1 세트의 메시지들을 스케일링되고-오프셋된 메시지들로 변환하는 단계; 및
    (e) 상기 디코딩이 트랩핑 세트를 접했다고 결정한 후에, 상기 스케일링 인자 및 상기 오프셋 값 중 적어도 하나를 수정하는 단계를 포함하는, 방법.
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020107008092A 2008-08-15 2009-04-08 다수의 체크―노드 알고리즘들을 이용하는 오류―정정 디코더 KR101431479B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US8929708P 2008-08-15 2008-08-15
US61/089,297 2008-08-15
PCT/US2009/039918 WO2010019287A1 (en) 2008-08-15 2009-04-08 Error-correction decoder employing multiple check-node algorithms

Publications (2)

Publication Number Publication Date
KR20110044939A KR20110044939A (ko) 2011-05-03
KR101431479B1 true KR101431479B1 (ko) 2014-08-20

Family

ID=41669126

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020107006846A KR101418467B1 (ko) 2008-08-15 2008-12-12 니어 코드워드들의 ram 리스트-디코딩
KR1020107006847A KR101418466B1 (ko) 2008-08-15 2008-12-12 니어 코드워드들의 rom 리스트 디코딩
KR1020107008092A KR101431479B1 (ko) 2008-08-15 2009-04-08 다수의 체크―노드 알고리즘들을 이용하는 오류―정정 디코더

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020107006846A KR101418467B1 (ko) 2008-08-15 2008-12-12 니어 코드워드들의 ram 리스트-디코딩
KR1020107006847A KR101418466B1 (ko) 2008-08-15 2008-12-12 니어 코드워드들의 rom 리스트 디코딩

Country Status (7)

Country Link
US (17) US8464129B2 (ko)
EP (3) EP2223431A4 (ko)
JP (4) JP5276173B2 (ko)
KR (3) KR101418467B1 (ko)
CN (3) CN101803206B (ko)
TW (3) TWI435211B (ko)
WO (3) WO2010019168A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190115816A (ko) 2018-04-04 2019-10-14 고인석 규격화 된 블록을 이용한 비닐 하우스 구조물과 시공법

Families Citing this family (235)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8281212B1 (en) 2007-03-30 2012-10-02 Link—A—Media Devices Corporation Iterative ECC decoder with out of order completion
US7958427B1 (en) * 2007-03-30 2011-06-07 Link—A—Media Devices Corporation ECC with out of order completion
US8418023B2 (en) 2007-05-01 2013-04-09 The Texas A&M University System Low density parity check decoder for irregular LDPC codes
US8127209B1 (en) 2007-07-30 2012-02-28 Marvell International Ltd. QC-LDPC decoder with list-syndrome decoding
US8799742B1 (en) * 2007-07-30 2014-08-05 Marvell International Ltd. QC-LDPC decoder with list-syndrome decoding
US8219878B1 (en) * 2007-12-03 2012-07-10 Marvell International Ltd. Post-processing decoder of LDPC codes for improved error floors
US8245104B2 (en) 2008-05-02 2012-08-14 Lsi Corporation Systems and methods for queue based data detection and decoding
US8370711B2 (en) * 2008-06-23 2013-02-05 Ramot At Tel Aviv University Ltd. Interruption criteria for block decoding
US20090319860A1 (en) * 2008-06-23 2009-12-24 Ramot At Tel Aviv University Ltd. Overcoming ldpc trapping sets by decoder reset
US20100037121A1 (en) * 2008-08-05 2010-02-11 The Hong Kong University Of Science And Technology Low power layered decoding for low density parity check decoders
US8464129B2 (en) 2008-08-15 2013-06-11 Lsi Corporation ROM list-decoding of near codewords
US8185796B2 (en) * 2008-08-20 2012-05-22 Nec Laboratories America, Inc. Mitigation of fiber nonlinearities in multilevel coded-modulation schemes
US8291285B1 (en) 2008-09-18 2012-10-16 Marvell International Ltd. Circulant processing scheduler for layered LDPC decoder
JP5542140B2 (ja) * 2008-09-26 2014-07-09 エージェンシー フォー サイエンス,テクノロジー アンド リサーチ 復号化回路及び符号化回路
US8219873B1 (en) * 2008-10-20 2012-07-10 Link—A—Media Devices Corporation LDPC selective decoding scheduling using a cost function
US8321772B1 (en) * 2008-10-20 2012-11-27 Link—A—Media Devices Corporation SOVA sharing during LDPC global iteration
US8161345B2 (en) 2008-10-29 2012-04-17 Agere Systems Inc. LDPC decoders using fixed and adjustable permutators
TWI469533B (zh) * 2008-11-07 2015-01-11 Realtek Semiconductor Corp 同位檢查碼解碼器及接收系統
US9356623B2 (en) 2008-11-26 2016-05-31 Avago Technologies General Ip (Singapore) Pte. Ltd. LDPC decoder variable node units having fewer adder stages
US8935601B1 (en) 2008-12-03 2015-01-13 Marvell International Ltd. Post-processing methodologies in decoding LDPC codes
US8234556B2 (en) * 2008-12-30 2012-07-31 Intel Corporation Broadcast receiver and method for optimizing a scale factor for a log-likelihood mapper
KR101539002B1 (ko) * 2009-01-02 2015-07-24 삼성전자주식회사 1-비트용 에러 정정 장치 및 그 방법
US8347195B1 (en) * 2009-01-22 2013-01-01 Marvell International Ltd. Systems and methods for near-codeword detection and correction on the fly
KR101473046B1 (ko) 2009-03-05 2014-12-15 엘에스아이 코포레이션 반복 복호기들을 위한 개선된 터보-등화 방법들
KR101321487B1 (ko) 2009-04-21 2013-10-23 에이저 시스템즈 엘엘시 기입 검증을 사용한 코드들의 에러-플로어 완화
US8578256B2 (en) 2009-04-22 2013-11-05 Agere Systems Llc Low-latency decoder
JP5489552B2 (ja) * 2009-06-19 2014-05-14 三菱電機株式会社 復号方法及び復号装置
US8266505B2 (en) 2009-08-12 2012-09-11 Lsi Corporation Systems and methods for retimed virtual data processing
US8423861B2 (en) 2009-11-19 2013-04-16 Lsi Corporation Subwords coding using different interleaving schemes
US8359515B2 (en) 2009-12-02 2013-01-22 Lsi Corporation Forward substitution for error-correction encoding and the like
US20110138255A1 (en) * 2009-12-09 2011-06-09 Lee Daniel Chonghwan Probabilistic Learning-Based Decoding of Communication Signals
US20110154168A1 (en) * 2009-12-18 2011-06-23 Electronics And Telecommunications Research Institute Effective high-speed ldpc encoding method and apparatus using the same
US8751912B1 (en) * 2010-01-12 2014-06-10 Marvell International Ltd. Layered low density parity check decoder
US8341486B2 (en) * 2010-03-31 2012-12-25 Silicon Laboratories Inc. Reducing power consumption in an iterative decoder
US8555131B2 (en) 2010-03-31 2013-10-08 Silicon Laboratories Inc. Techniques to control power consumption in an iterative decoder by control of node configurations
WO2011126578A1 (en) * 2010-04-09 2011-10-13 Link_A_Media Devices Corporation Implementation of ldpc selective decoding scheduling
US8464142B2 (en) 2010-04-23 2013-06-11 Lsi Corporation Error-correction decoder employing extrinsic message averaging
US8589755B2 (en) * 2010-06-16 2013-11-19 Nec Laboratories America, Inc. Reduced-complexity LDPC decoding
US8555142B2 (en) * 2010-06-22 2013-10-08 Cleversafe, Inc. Verifying integrity of data stored in a dispersed storage memory
US8499226B2 (en) 2010-06-29 2013-07-30 Lsi Corporation Multi-mode layered decoding
US8458555B2 (en) 2010-06-30 2013-06-04 Lsi Corporation Breaking trapping sets using targeted bit adjustment
US8504900B2 (en) 2010-07-02 2013-08-06 Lsi Corporation On-line discovery and filtering of trapping sets
US8621289B2 (en) 2010-07-14 2013-12-31 Lsi Corporation Local and global interleaving/de-interleaving on values in an information word
US8650457B1 (en) * 2010-09-03 2014-02-11 Marvell International Ltd. Methods and systems for reconfigurable LDPC decoders
US8804260B2 (en) 2010-09-13 2014-08-12 Lsi Corporation Systems and methods for inter-track interference compensation
JP5846589B2 (ja) * 2010-09-29 2016-01-20 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ソリッド・ステート・メモリ・デバイスにおける復号
US8385014B2 (en) 2010-10-11 2013-02-26 Lsi Corporation Systems and methods for identifying potential media failure
US8560930B2 (en) 2010-10-11 2013-10-15 Lsi Corporation Systems and methods for multi-level quasi-cyclic low density parity check codes
JP5310701B2 (ja) * 2010-10-29 2013-10-09 株式会社Jvcケンウッド 復号装置および復号方法
US8549387B2 (en) * 2010-11-04 2013-10-01 Himax Media Solutions, Inc. System and method of decoding LDPC code blocks
JP2012124888A (ja) * 2010-11-15 2012-06-28 Fujitsu Ltd 復号装置及び復号方法
US8566379B2 (en) 2010-11-17 2013-10-22 Lsi Corporation Systems and methods for self tuning target adaptation
US8810940B2 (en) 2011-02-07 2014-08-19 Lsi Corporation Systems and methods for off track error recovery
US8699167B2 (en) 2011-02-16 2014-04-15 Lsi Corporation Systems and methods for data detection using distance based tuning
US8446683B2 (en) 2011-02-22 2013-05-21 Lsi Corporation Systems and methods for data pre-coding calibration
US8918694B2 (en) * 2011-02-28 2014-12-23 Clariphy Communications, Inc. Non-concatenated FEC codes for ultra-high speed optical transport networks
US10063262B2 (en) * 2011-02-28 2018-08-28 Inphi Corporation Non-concatenated FEC codes for ultra-high speed optical transport networks
US10103751B2 (en) * 2011-02-28 2018-10-16 Inphi Corporation Non-concatenated FEC codes for ultra-high speed optical transport networks
US8890862B2 (en) * 2011-03-14 2014-11-18 Ecole Centrale Paris Method and device for efficient parallel message computation for map inference
US8693120B2 (en) 2011-03-17 2014-04-08 Lsi Corporation Systems and methods for sample averaging in data processing
US8854753B2 (en) 2011-03-17 2014-10-07 Lsi Corporation Systems and methods for auto scaling in a data processing system
US8656245B2 (en) * 2011-04-13 2014-02-18 California Institute Of Technology Method of error floor mitigation in low-density parity-check codes
US8887034B2 (en) 2011-04-15 2014-11-11 Lsi Corporation Systems and methods for short media defect detection
US8670955B2 (en) 2011-04-15 2014-03-11 Lsi Corporation Systems and methods for reliability assisted noise predictive filtering
US8611033B2 (en) 2011-04-15 2013-12-17 Lsi Corporation Systems and methods for selective decoder input data processing
US8806309B2 (en) * 2011-06-13 2014-08-12 Silicon Motion Inc. Method for controlling message-passing algorithm based decoding operation by referring to statistics data of syndromes of executed iterations and related control apparatus thereof
US8566665B2 (en) 2011-06-24 2013-10-22 Lsi Corporation Systems and methods for error correction using low density parity check codes using multiple layer check equations
US8560929B2 (en) 2011-06-24 2013-10-15 Lsi Corporation Systems and methods for non-binary decoding
US8499231B2 (en) 2011-06-24 2013-07-30 Lsi Corporation Systems and methods for reduced format non-binary decoding
US8830613B2 (en) 2011-07-19 2014-09-09 Lsi Corporation Storage media inter-track interference cancellation
US8879182B2 (en) 2011-07-19 2014-11-04 Lsi Corporation Storage media inter-track interference cancellation
US8819527B2 (en) 2011-07-19 2014-08-26 Lsi Corporation Systems and methods for mitigating stubborn errors in a data processing system
JP2013029882A (ja) * 2011-07-26 2013-02-07 Toshiba Corp メモリコントローラ、半導体記憶装置および復号方法
KR20140078576A (ko) 2011-07-31 2014-06-25 샌디스크 테크놀로지스, 인코포레이티드 메모리 및 전력 요건들이 감소된 에러-정정 디코딩
US8645810B2 (en) 2011-07-31 2014-02-04 Sandisk Technologies Inc. Fast detection of convergence or divergence in iterative decoding
US8854754B2 (en) 2011-08-19 2014-10-07 Lsi Corporation Systems and methods for local iteration adjustment
US8539328B2 (en) 2011-08-19 2013-09-17 Lsi Corporation Systems and methods for noise injection driven parameter selection
US9026572B2 (en) 2011-08-29 2015-05-05 Lsi Corporation Systems and methods for anti-causal noise predictive filtering in a data channel
US8656249B2 (en) 2011-09-07 2014-02-18 Lsi Corporation Multi-level LDPC layer decoder
US8681441B2 (en) 2011-09-08 2014-03-25 Lsi Corporation Systems and methods for generating predictable degradation bias
US8661324B2 (en) 2011-09-08 2014-02-25 Lsi Corporation Systems and methods for non-binary decoding biasing control
US8850276B2 (en) 2011-09-22 2014-09-30 Lsi Corporation Systems and methods for efficient data shuffling in a data processing system
US8767333B2 (en) 2011-09-22 2014-07-01 Lsi Corporation Systems and methods for pattern dependent target adaptation
US8479086B2 (en) 2011-10-03 2013-07-02 Lsi Corporation Systems and methods for efficient parameter modification
US8689062B2 (en) 2011-10-03 2014-04-01 Lsi Corporation Systems and methods for parameter selection using reliability information
US8578241B2 (en) 2011-10-10 2013-11-05 Lsi Corporation Systems and methods for parity sharing data processing
US8862960B2 (en) 2011-10-10 2014-10-14 Lsi Corporation Systems and methods for parity shared data encoding
US8683309B2 (en) 2011-10-28 2014-03-25 Lsi Corporation Systems and methods for ambiguity based decode algorithm modification
US8443271B1 (en) 2011-10-28 2013-05-14 Lsi Corporation Systems and methods for dual process data decoding
US8527858B2 (en) 2011-10-28 2013-09-03 Lsi Corporation Systems and methods for selective decode algorithm modification
US8768990B2 (en) 2011-11-11 2014-07-01 Lsi Corporation Reconfigurable cyclic shifter arrangement
US8751913B2 (en) 2011-11-14 2014-06-10 Lsi Corporation Systems and methods for reduced power multi-layer data decoding
US8531320B2 (en) 2011-11-14 2013-09-10 Lsi Corporation Systems and methods for memory efficient data decoding
JP5772622B2 (ja) * 2012-01-20 2015-09-02 株式会社Jvcケンウッド 復号装置および復号方法
US20130198582A1 (en) * 2012-01-30 2013-08-01 Broadcom Corporation Supercharged codes
US8850295B2 (en) 2012-02-01 2014-09-30 Lsi Corporation Symbol flipping data processor
US8918704B2 (en) 2012-03-15 2014-12-23 David Declercq Decoding method and apparatus for non-binary, low-density, parity check codes
US8977937B2 (en) * 2012-03-16 2015-03-10 Lsi Corporation Systems and methods for compression driven variable rate decoding in a data processing system
JP2013198017A (ja) * 2012-03-21 2013-09-30 Toshiba Corp 復号装置及び通信装置
US8949704B2 (en) 2012-03-22 2015-02-03 Lsi Corporation Systems and methods for mis-correction correction in a data processing system
SG10201710903VA (en) * 2012-04-15 2018-02-27 Samsung Electronics Co Ltd Parameter update method for entropy coding and decoding of conversion coefficient level, and entropy coding device and entropy decoding device of conversion coefficient level using same
US8782487B2 (en) 2012-04-18 2014-07-15 Lsi Corporation Systems and methods for locating and correcting decoder mis-corrections
US8782488B2 (en) 2012-04-20 2014-07-15 Lsi Corporation Systems and methods for back step data decoding
US8879647B2 (en) * 2012-04-26 2014-11-04 Alcatel Lucent Methods of allocating resources in a system and systems implementing the same
US8739004B2 (en) * 2012-05-10 2014-05-27 Lsi Corporation Symbol flipping LDPC decoding system
US8736998B2 (en) * 2012-05-17 2014-05-27 Lsi Corporation Systems and methods for symbol re-grouping decoding processing
US8832532B2 (en) * 2012-06-20 2014-09-09 Lsi Corporation Dynamically controlling the number of local iterations in an iterative decoder
JP5591876B2 (ja) * 2012-06-22 2014-09-17 株式会社東芝 誤り訂正装置、誤り訂正方法およびプログラム
US8781033B2 (en) * 2012-06-26 2014-07-15 Lsi Corporation Apparatus and method for breaking trapping sets
US8689076B2 (en) * 2012-07-02 2014-04-01 Lsi Corporation Systems and methods for enhanced bit correlation usage
CN103532568A (zh) * 2012-07-03 2014-01-22 联咏科技股份有限公司 迭代译码装置及其相关译码方法
US8640002B1 (en) * 2012-07-10 2014-01-28 Micron Technology, Inc. Resolving trapping sets
US10797728B1 (en) * 2012-07-25 2020-10-06 Marvell Asia Pte, Ltd. Systems and methods for diversity bit-flipping decoding of low-density parity-check codes
RU2012135285A (ru) 2012-08-16 2014-02-27 ЭлЭсАй Корпорейшн Ускоритель для средства проектирования и моделирования канала считывания записи
US9015547B2 (en) * 2012-08-17 2015-04-21 Lsi Corporation Multi-level LDPC layered decoder with out-of-order processing
US9203432B2 (en) * 2012-08-28 2015-12-01 Marvell World Trade Ltd. Symbol flipping decoders of non-binary low-density parity check (LDPC) codes
US8972832B2 (en) * 2012-09-04 2015-03-03 Lsi Corporation Optimized scheme and architecture of hard drive queue design
US8977924B2 (en) * 2012-09-10 2015-03-10 Lsi Corporation Optimized mechanism to simplify the circulant shifter and the P/Q kick out for layered LDPC decoder
RU2012139074A (ru) * 2012-09-12 2014-03-20 ЭлЭсАй Корпорейшн Инструмент для проектирования и моделирования канала считывания, имеющий модуль классификации кодовых слов
US8949702B2 (en) * 2012-09-14 2015-02-03 Lsi Corporation Systems and methods for detector side trapping set mitigation
US20140082449A1 (en) * 2012-09-18 2014-03-20 Fan Zhang LDPC Decoder With Variable Node Hardening
US8914710B2 (en) 2012-09-27 2014-12-16 Apple Inc. Soft message-passing decoder with efficient message computation
US8977926B2 (en) 2012-09-28 2015-03-10 Lsi Corporation Modified targeted symbol flipping for non-binary LDPC codes
US8862962B2 (en) 2012-10-03 2014-10-14 Lsi Corporation Layered decoder enhancement for retained sector reprocessing
US9112539B2 (en) 2012-10-18 2015-08-18 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for iterative data processing using feedback iteration
US9219504B2 (en) * 2012-10-29 2015-12-22 Avago Technologies General Ip (Singapore) Pte. Ltd. LEH memory module architecture design in the multi-level LDPC coded iterative system
US9037938B2 (en) * 2012-10-30 2015-05-19 Avago Technologies General Ip (Singapore) Pte. Ltd. Hardware architecture and implementation of low power layered multi-level LDPC decoder
RU2012146685A (ru) 2012-11-01 2014-05-10 ЭлЭсАй Корпорейшн База данных наборов-ловушек для декодера на основе разреженного контроля четности
US9191256B2 (en) 2012-12-03 2015-11-17 Digital PowerRadio, LLC Systems and methods for advanced iterative decoding and channel estimation of concatenated coding systems
US8724243B1 (en) 2012-12-07 2014-05-13 Lsi Corporation Systems and methods for run length limited encoding
US8996969B2 (en) 2012-12-08 2015-03-31 Lsi Corporation Low density parity check decoder with miscorrection handling
US9619317B1 (en) * 2012-12-18 2017-04-11 Western Digital Technologies, Inc. Decoder having early decoding termination detection
US8977939B2 (en) * 2012-12-21 2015-03-10 Lsi Corporation Majority-tabular post processing of quasi-cyclic low-density parity-check codes
JP2014147029A (ja) * 2013-01-30 2014-08-14 Nippon Hoso Kyokai <Nhk> Mimo−ofdm受信装置及びプログラム
US9037952B2 (en) * 2013-02-06 2015-05-19 Avago Technologies General Ip (Singapore) Pte. Ltd. Memory architecture for layered low-density parity-check decoder
CN103970619B (zh) * 2013-02-06 2017-09-29 东芝存储器株式会社 控制器
US9214959B2 (en) 2013-02-19 2015-12-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for skip layer data decoding
US9407290B2 (en) 2013-03-15 2016-08-02 Sandisk Technologies Llc Error-correction decoding with conditional limiting of check-node messages
US9059742B1 (en) 2013-03-15 2015-06-16 Western Digital Technologies, Inc. System and method for dynamic scaling of LDPC decoder in a solid state drive
US9513989B2 (en) 2013-03-26 2016-12-06 Seagate Technology Llc Priori information based post-processing in low-density parity-check code decoders
CN105164646B (zh) 2013-04-30 2019-06-07 西部数据技术公司 具有早期解码终止检测的解码器
US9274889B2 (en) 2013-05-29 2016-03-01 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for data processing using global iteration result reuse
US8959414B2 (en) 2013-06-13 2015-02-17 Lsi Corporation Systems and methods for hybrid layer data decoding
US8917466B1 (en) 2013-07-17 2014-12-23 Lsi Corporation Systems and methods for governing in-flight data sets in a data processing system
US8817404B1 (en) 2013-07-18 2014-08-26 Lsi Corporation Systems and methods for data processing control
US9196299B2 (en) 2013-08-23 2015-11-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for enhanced data encoding and decoding
US9094046B2 (en) 2013-09-03 2015-07-28 Lsi Corporation Systems and methods for variable sector count spreading and de-spreading
US8976471B1 (en) 2013-09-05 2015-03-10 Lsi Corporation Systems and methods for two stage tone reduction
US9400797B2 (en) 2013-09-17 2016-07-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for recovered data stitching
US9219503B2 (en) 2013-10-16 2015-12-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for multi-algorithm concatenation encoding and decoding
US9189333B2 (en) 2013-10-17 2015-11-17 Seagate Technology Llc Generating soft decoding information for flash memory error correction using hard decision patterns
US9436550B2 (en) 2013-10-31 2016-09-06 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for internal disk drive data compression
US9323606B2 (en) 2013-11-21 2016-04-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for FAID follower decoding
US9306600B2 (en) 2014-01-06 2016-04-05 Micron Technology, Inc. Read threshold calibration for LDPC
RU2014104571A (ru) 2014-02-10 2015-08-20 ЭлЭсАй Корпорейшн Системы и способы для эффективного с точки зрения площади кодирования данных
CN104834476B (zh) 2014-02-10 2016-10-19 安华高科技通用Ip(新加坡)公司 基于段结束标记的数据对准的系统和方法
KR102194136B1 (ko) * 2014-03-12 2020-12-22 삼성전자주식회사 비이진 ldpc 부호를 이용한 이동 통신 시스템에서 오류 정정 장치 및 방법
US9564922B1 (en) 2014-03-19 2017-02-07 Microsemi Storage Solutions (U.S.), Inc. Error correction code decoder with stochastic floor mitigation
US9378765B2 (en) 2014-04-03 2016-06-28 Seagate Technology Llc Systems and methods for differential message scaling in a decoding process
US9602141B2 (en) * 2014-04-21 2017-03-21 Sandisk Technologies Llc High-speed multi-block-row layered decoder for low density parity check (LDPC) codes
US9748973B2 (en) 2014-04-22 2017-08-29 Sandisk Technologies Llc Interleaved layered decoder for low-density parity check codes
US9503125B2 (en) * 2014-05-08 2016-11-22 Sandisk Technologies Llc Modified trellis-based min-max decoder for non-binary low-density parity-check error-correcting codes
TWI551058B (zh) * 2014-05-09 2016-09-21 衡宇科技股份有限公司 最小-總和演算法之低密度奇偶校驗碼解碼器及其解碼方法
US9184954B1 (en) 2014-07-02 2015-11-10 Seagate Technology Llc Systems and methods for directed soft data perturbation in layered decoding
US10084479B2 (en) * 2014-07-07 2018-09-25 Toshiba Memory Corporation Low BER hard-decision LDPC decoder
KR20160046467A (ko) 2014-10-21 2016-04-29 에스케이하이닉스 주식회사 컨트롤러, 반도체 메모리 시스템, 데이터 저장 시스템 및 그것의 동작 방법
US10372528B1 (en) * 2014-12-15 2019-08-06 Seagate Technology Llc Random values from data errors
US9602133B1 (en) 2015-01-27 2017-03-21 Microsemi Storage Solutions (U.S.), Inc. System and method for boost floor mitigation
KR20160102738A (ko) 2015-02-23 2016-08-31 에스케이하이닉스 주식회사 컨트롤러, 반도체 메모리 시스템 및 그것의 동작 방법
TWI578714B (zh) * 2015-04-02 2017-04-11 國立清華大學 低密度奇偶檢查碼解碼方法及用於該解碼方法的資訊儲存方法
US9384761B1 (en) 2015-04-09 2016-07-05 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for flexible variable code rate support
US10567008B2 (en) * 2015-07-02 2020-02-18 Apple Inc. Stopping criteria for turbo decoder
KR20170050935A (ko) 2015-11-02 2017-05-11 에스케이하이닉스 주식회사 온 칩 ecc 회로를 포함하는 메모리 장치 및 시스템
KR20170051039A (ko) 2015-11-02 2017-05-11 에스케이하이닉스 주식회사 반도체 장치 및 그 구동 방법
US9793924B1 (en) 2015-12-04 2017-10-17 Microsemi Solutions (U.S.), Inc. Method and system for estimating an expectation of forward error correction decoder convergence
US20170288697A1 (en) * 2016-03-31 2017-10-05 Silicon Motion Inc. Ldpc shuffle decoder with initialization circuit comprising ordered set memory
KR20180009558A (ko) 2016-07-19 2018-01-29 삼성전자주식회사 저밀도-패리티 체크 코드를 이용하는 디코더 및 이를 포함하는 메모리 컨트롤러
KR102559925B1 (ko) * 2016-07-21 2023-07-26 에스케이하이닉스 주식회사 Ldpc 디코더, 반도체 메모리 시스템 및 그것의 동작 방법
KR102568716B1 (ko) * 2016-08-02 2023-08-21 삼성전자주식회사 Ldpc 코드의 디코딩을 위한 장치 및 방법
US10530393B2 (en) 2016-12-01 2020-01-07 Western Digital Technologies, Inc. Configurable ECC decoder
US10565040B2 (en) 2016-12-01 2020-02-18 Western Digital Technologies, Inc. ECC decoder with selective component disabling based on decoding message resolution
US10218384B2 (en) 2016-12-01 2019-02-26 Sandisk Technologies Llc ECC decoder with multiple decoding modes
US10534836B2 (en) * 2016-12-06 2020-01-14 Gsi Technology Inc. Four steps associative full adder
US10050643B2 (en) * 2016-12-14 2018-08-14 Via Technologies, Inc. Low-density parity-check apparatus and operation method thereof
TWI632780B (zh) 2016-12-30 2018-08-11 慧榮科技股份有限公司 解碼方法與相關解碼裝置
WO2018128559A1 (en) * 2017-01-09 2018-07-12 Huawei Technologies Co., Ltd. Efficiently decodable qc-ldpc code
US10355712B2 (en) * 2017-03-31 2019-07-16 Sandisk Technologies Llc Use of multiple codebooks for programming data in different memory areas of a storage device
US10263640B2 (en) * 2017-04-04 2019-04-16 Seagate Technology Llc Low density parity check (LDPC) decoder with pre-saturation compensation
US20190058529A1 (en) * 2017-04-08 2019-02-21 Yahong Rosa Zheng Turbo receivers for single-input single-output underwater acoustic communications
US10637586B2 (en) 2017-08-25 2020-04-28 National Science Foundation Turbo receivers for multiple-input multiple-output underwater acoustic communications
US10447301B2 (en) * 2017-09-13 2019-10-15 Toshiba Memory Corporation Optimal LDPC bit flip decision
US10700706B2 (en) * 2017-09-22 2020-06-30 SK Hynix Inc. Memory system with decoders and method of operating such memory system and decoders
CN107528597B (zh) * 2017-09-25 2020-12-08 桂林电子科技大学 一种基于crc校验码的ldpc码后处理译码方法
US10680647B2 (en) * 2017-09-25 2020-06-09 SK Hynix Inc. Min-sum decoding for LDPC codes
US10574274B2 (en) * 2017-09-29 2020-02-25 Nyquist Semiconductor Limited Systems and methods for decoding error correcting codes
US10523400B2 (en) 2017-11-20 2019-12-31 Nokia Technologies Oy Multi-code probabilistic signal shaping using frequency-division multiplexing
US10091046B1 (en) 2017-11-20 2018-10-02 Nokia Technologies Oy Joint use of probabilistic signal shaping and forward error correction
US10417089B2 (en) 2018-02-13 2019-09-17 Western Digital Technologies, Inc. Data storage device extending erasures for LDPC-type decoding
US11115062B2 (en) * 2018-03-16 2021-09-07 SK Hynix Inc. Memory system with adaptive threshold decoding and method of operating such memory system
US10200231B1 (en) 2018-03-22 2019-02-05 Nokia Technologies Oy Partial probabilistic signal shaping
US11055171B2 (en) 2018-05-17 2021-07-06 Western Digital Technologies, Inc. Data storage device employing multi-level parity sectors for data recovery procedure
US10592334B2 (en) 2018-05-17 2020-03-17 Western Digital Technologies, Inc. Data storage device emphasizing parity sector processing of un-converged codewords
US10530390B2 (en) 2018-05-17 2020-01-07 Western Digital Technologies, Inc. Data storage device employing memory efficient processing of un-converged codewords
US10606699B2 (en) 2018-05-17 2020-03-31 Western Digital Technologies, Inc. Data storage device employing multi-level parity sectors for data recovery procedure
US10761927B2 (en) 2018-07-16 2020-09-01 Taiwan Semiconductor Manufacturing Co., Ltd. Detection and correction of data bit errors using error correction codes
US10944504B2 (en) 2018-08-02 2021-03-09 Nokia Solutions And Networks Oy Transmission of probabilistically shaped amplitudes using partially anti-symmetric amplitude labels
CN109361403A (zh) * 2018-08-06 2019-02-19 建荣半导体(深圳)有限公司 Ldpc译码方法、ldpc译码器及其存储设备
US10848182B2 (en) * 2018-09-13 2020-11-24 Apple Inc. Iterative decoding with early termination criterion that permits errors in redundancy part
KR102582326B1 (ko) * 2018-09-20 2023-09-26 에스케이하이닉스 주식회사 에러 정정 회로 및 이의 동작 방법
KR102592870B1 (ko) * 2018-10-12 2023-10-24 에스케이하이닉스 주식회사 에러 정정 회로 및 이의 동작 방법
GB2580160B (en) 2018-12-21 2021-01-06 Graphcore Ltd Hardware module for converting numbers
CN109739689B (zh) * 2018-12-25 2023-03-14 四川效率源信息安全技术股份有限公司 一种雕复SQL Server数据库文件的方法
US10892777B2 (en) 2019-02-06 2021-01-12 Seagate Technology Llc Fast error recovery with error correction code (ECC) syndrome weight assist
CN109921802B (zh) * 2019-02-26 2023-02-07 北京中科晶上科技股份有限公司 一种qc-ldpc码的译码方法、模块及装置
US10630313B1 (en) 2019-03-12 2020-04-21 Microsoft Technology Licensing, Llc High efficiency data decoder
US10666291B1 (en) 2019-03-12 2020-05-26 Microsoft Technology Licensing, Llc High efficiency data decoder
KR102588969B1 (ko) * 2019-03-19 2023-10-16 에스케이하이닉스 주식회사 오류 정정 디코더 및 이를 포함하는 메모리 시스템
US11146289B2 (en) 2019-03-29 2021-10-12 Intel Corporation Techniques to use intrinsic information for a bit-flipping error correction control decoder
KR20200124054A (ko) 2019-04-23 2020-11-02 에스케이하이닉스 주식회사 오류 정정 디코더 및 이를 포함하는 메모리 시스템
US11032023B1 (en) * 2019-05-21 2021-06-08 Tarana Wireless, Inc. Methods for creating check codes, and systems for wireless communication using check codes
US11063607B2 (en) * 2019-05-24 2021-07-13 Intel Corporation Compressing error vectors for decoding logic to store compressed in a decoder memory used by the decoding logic
US11159175B2 (en) * 2019-06-21 2021-10-26 Intel Corporation Non-uniform iteration-dependent min-sum scaling factors for improved performance of spatially-coupled LDPC codes
US11088707B2 (en) 2019-06-29 2021-08-10 Intel Corporation Low density parity check (LDPC) decoder architecture with check node storage (CNS) or bounded circulant
US11768701B2 (en) * 2019-09-17 2023-09-26 Western Digital Technologies, Inc. Exception analysis for data storage devices
TWI705667B (zh) 2019-09-20 2020-09-21 慧榮科技股份有限公司 產生具有符合所需之錯誤基數的低密度奇偶校驗碼的方法及裝置
US11424766B1 (en) 2020-01-31 2022-08-23 Marvell Asia Pte Ltd. Method and device for energy-efficient decoders
US11456757B2 (en) * 2020-12-16 2022-09-27 SK Hynix Inc. Oscillation detection and mitigation in bit-flipping decoders
US11515891B2 (en) 2020-12-22 2022-11-29 Intel Corporation Application of low-density parity-check codes with codeword segmentation
CN112865812B (zh) * 2021-01-18 2022-09-30 武汉梦芯科技有限公司 一种多元ldpc译码方法、计算机存储介质及计算机
CN113098531B (zh) * 2021-04-19 2022-04-29 中南林业科技大学 一种基于最小和译码框架的动态偏移补偿方法
US11621727B2 (en) 2021-06-04 2023-04-04 SK Hynix Inc. Decoding systems and methods for local reinforcement
WO2023055676A1 (en) 2021-09-28 2023-04-06 Microchip Technology Inc. Ldpc decoding with trapped-block management
US11626889B1 (en) * 2021-11-16 2023-04-11 L3Harris Technologies, Inc. Partial update sharing in joint LDPC decoding and ancillary processors
EP4216443A1 (en) 2022-01-25 2023-07-26 Nokia Solutions and Networks Oy Reduced-power ldpc decoding
CN115882873B (zh) * 2023-02-23 2023-05-23 成都星联芯通科技有限公司 低密度奇偶校验码译码方法、装置、通信设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007306495A (ja) 2006-05-15 2007-11-22 Sumitomo Electric Ind Ltd 復号装置および復号プログラム
US20080052558A1 (en) 2006-07-28 2008-02-28 Via Telecom Co., Ltd. Systems and methods for reduced complexity ldpc decoding

Family Cites Families (183)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3260840A (en) * 1961-12-28 1966-07-12 Ibm Variable mode arithmetic circuits with carry select
GB1245441A (en) * 1968-08-27 1971-09-08 Int Computers Ltd Improvements in or relating to adders operating on variable fields within words
US3755779A (en) * 1971-12-14 1973-08-28 Ibm Error correction system for single-error correction, related-double-error correction and unrelated-double-error detection
US4109310A (en) * 1973-08-06 1978-08-22 Xerox Corporation Variable field length addressing system having data byte interchange
US4021655A (en) * 1976-03-30 1977-05-03 International Business Machines Corporation Oversized data detection hardware for data processors which store data at variable length destinations
US4295218A (en) * 1979-06-25 1981-10-13 Regents Of The University Of California Error-correcting coding system
JPS6046448B2 (ja) * 1980-07-11 1985-10-16 株式会社日立製作所 オ−バフロ−検出方式
JPS5892036A (ja) * 1981-11-27 1983-06-01 Toshiba Corp 加算回路
JPS58225422A (ja) * 1982-06-25 1983-12-27 Toshiba Corp デ−タ制御装置
US4536855A (en) * 1982-12-23 1985-08-20 International Telephone And Telegraph Corporation Impedance restoration for fast carry propagation
US4707800A (en) * 1985-03-04 1987-11-17 Raytheon Company Adder/substractor for variable length numbers
JPS61239327A (ja) * 1985-04-16 1986-10-24 Nec Corp オ−バフロ−検出方式
US4914617A (en) * 1987-06-26 1990-04-03 International Business Machines Corporation High performance parallel binary byte adder
EP0316876B1 (en) * 1987-11-16 1994-01-26 Nec Corporation A digital signal receiving circuit with means for controlling a baud rate sampling phase by a power of sampled signals
US5189636A (en) * 1987-11-16 1993-02-23 Intel Corporation Dual mode combining circuitry
GB8904392D0 (en) * 1989-02-27 1989-04-12 Ibm An arithmetic logic unit for a graphics processor
FR2693287B1 (fr) * 1992-07-03 1994-09-09 Sgs Thomson Microelectronics Sa Procédé pour effectuer des calculs numériques, et unité arithmétique pour la mise en Óoeuvre de ce procédé.
JP3187539B2 (ja) * 1992-07-28 2001-07-11 株式会社東芝 データ転送装置
US5224166A (en) * 1992-08-11 1993-06-29 International Business Machines Corporation System for seamless processing of encrypted and non-encrypted data and instructions
US5327369A (en) * 1993-03-31 1994-07-05 Intel Corporation Digital adder and method for adding 64-bit, 16-bit and 8-bit words
US5883824A (en) * 1993-11-29 1999-03-16 Hewlett-Packard Company Parallel adding and averaging circuit and method
US5390135A (en) * 1993-11-29 1995-02-14 Hewlett-Packard Parallel shift and add circuit and method
JP3428741B2 (ja) * 1994-02-14 2003-07-22 松下電器産業株式会社 演算装置とアドレス発生装置及びプログラム制御装置
US5721745A (en) 1996-04-19 1998-02-24 General Electric Company Parallel concatenated tail-biting convolutional code and decoder therefor
US6023783A (en) 1996-05-15 2000-02-08 California Institute Of Technology Hybrid concatenated codes and iterative decoding
US5734962A (en) 1996-07-17 1998-03-31 General Electric Company Satellite communications system utilizing parallel concatenated coding
JP2856190B2 (ja) * 1997-02-27 1999-02-10 日本電気株式会社 演算処理装置および演算処理方法
US6334136B1 (en) * 1997-12-11 2001-12-25 Intrinsity, Inc. Dynamic 3-level partial result merge adder
FR2775531B1 (fr) * 1998-02-27 2001-10-12 Sgs Thomson Microelectronics Additionneur numerique rapide
US6038166A (en) * 1998-04-01 2000-03-14 Invox Technology High resolution multi-bit-per-cell memory
US6550023B1 (en) * 1998-10-19 2003-04-15 Hewlett Packard Development Company, L.P. On-the-fly memory testing and automatic generation of bitmaps
EP1030457B1 (en) 1999-02-18 2012-08-08 Imec Methods and system architectures for turbo decoding
US6678843B2 (en) 1999-02-18 2004-01-13 Interuniversitair Microelektronics Centrum (Imec) Method and apparatus for interleaving, deinterleaving and combined interleaving-deinterleaving
US6449629B1 (en) * 1999-05-12 2002-09-10 Agere Systems Guardian Corp. Three input split-adder
US7467744B1 (en) 1999-11-30 2008-12-23 Diebold, Incorporated Check accepting and cash dispensing automated banking machine system and method
EP1234239B1 (de) * 1999-12-02 2010-01-06 Infineon Technologies AG Mikroprozessoranordnung mit verschlüsselung
JP2001251384A (ja) * 2000-03-08 2001-09-14 Sanyo Electric Co Ltd 通信装置および通信方法
US6728932B1 (en) * 2000-03-22 2004-04-27 Hewlett-Packard Development Company, L.P. Document clustering method and system
US6307901B1 (en) * 2000-04-24 2001-10-23 Motorola, Inc. Turbo decoder with decision feedback equalization
US6888897B1 (en) 2000-04-27 2005-05-03 Marvell International Ltd. Multi-mode iterative detector
AU2001261509A1 (en) 2000-05-11 2001-11-20 Thomas J. Reynolds Interactive method and system for teaching decision making
US6910000B1 (en) 2000-06-02 2005-06-21 Mitsubishi Electric Research Labs, Inc. Generalized belief propagation for probabilistic systems
US6745157B1 (en) * 2000-06-02 2004-06-01 Mitsubishi Electric Research Laboratories, Inc Super-node normalized belief propagation for probabilistic systems
JP2002099447A (ja) * 2000-09-22 2002-04-05 Fujitsu Ltd プロセッサ
JP2002111512A (ja) 2000-09-29 2002-04-12 Sony Corp 復号装置及び方法、並びにデータ受信装置及び方法
AU2002246811A1 (en) 2000-12-29 2002-08-06 Chromagen, Inc. Scanning spectrophotometer for high throughput fluorescence detection
US6950977B2 (en) * 2001-03-15 2005-09-27 3G.Com, Inc. Mechanism for turbo decoding when CRC for partial blocks is provided
WO2003036857A1 (en) * 2001-10-24 2003-05-01 Nokia Corporation Ciphering as a part of the multicast cencept
US7219118B2 (en) * 2001-11-06 2007-05-15 Broadcom Corporation SIMD addition circuit
EP1523705A2 (en) * 2002-03-13 2005-04-20 Matsushita Electric Industrial Co., Ltd. Secure device for preventing unauthorised use of distributed content
FI114347B (fi) * 2002-03-20 2004-09-30 Master S Innovations Ltd Oy Menetelmä ja laitteisto datan kääntämiseksi
JP3743509B2 (ja) * 2002-03-20 2006-02-08 セイコーエプソン株式会社 データ転送制御装置及び電子機器
NO316488B1 (no) 2002-04-26 2004-01-26 Kongsberg Defence Comm As Fremgangsmåte og apparat for mottak av digitale kommunikasjonssignaler
JP3708064B2 (ja) * 2002-05-31 2005-10-19 株式会社東芝 ディスク記憶装置、ディスクコントローラ及び同装置に適用するエラー訂正方法
RU2300844C2 (ru) * 2002-06-18 2007-06-10 Ооо "Крейф" Персональный криптозащитный комплекс
US7089481B2 (en) * 2002-07-22 2006-08-08 Agere Systems Inc. High speed arithmetic operations for use in turbo decoders
US20040063425A1 (en) * 2002-09-30 2004-04-01 Kabushiki Kaisha Toshiba Wireless communication terminal
EP1568140A1 (en) * 2002-11-27 2005-08-31 Koninklijke Philips Electronics N.V. Running minimum message passing ldpc decoding
JP4062435B2 (ja) * 2002-12-03 2008-03-19 日本電気株式会社 誤り訂正符号復号装置
US7296216B2 (en) * 2003-01-23 2007-11-13 Broadcom Corporation Stopping and/or reducing oscillations in low density parity check (LDPC) decoding
KR100516548B1 (ko) * 2003-02-05 2005-09-22 삼성전자주식회사 이동 통신 시스템에서 최적화된 암호화 함수를 설계하는방법과 최적화된 암호화 장치
US7131055B2 (en) * 2003-02-25 2006-10-31 Intel Corporation Fast bit-parallel Viterbi decoder add-compare-select circuit
US20070234178A1 (en) * 2003-02-26 2007-10-04 Qualcomm Incorporated Soft information scaling for interactive decoding
EP1597667A4 (en) 2003-02-26 2009-01-14 Qualcomm Inc PROGRAMMABLE INFORMATION HITCHING FOR ITERATIVE DECODING
JP2004288091A (ja) * 2003-03-25 2004-10-14 Fuji Xerox Co Ltd 情報処理装置及び方法
US20040226029A1 (en) * 2003-05-09 2004-11-11 Gelme Andrew Anthony Interface for distributed objects and development platform therefor
US7415115B2 (en) * 2003-05-14 2008-08-19 Broadcom Corporation Method and system for disaster recovery of data from a storage device
JP3927521B2 (ja) * 2003-06-27 2007-06-13 株式会社日立国際電気 送信機
US7409477B2 (en) * 2003-09-03 2008-08-05 Hewlett-Packard Development Company, L.P. Memory card having a processor coupled between host interface and second interface wherein internal storage code provides a generic interface between host interface and processor
US7340671B2 (en) 2003-10-10 2008-03-04 Regents Of The University Of California Decoding low density parity codes
KR101009785B1 (ko) 2003-12-10 2011-01-19 삼성전자주식회사 불균일 반복 축적 부호 부호화/복호화 장치 및 방법
US7237181B2 (en) 2003-12-22 2007-06-26 Qualcomm Incorporated Methods and apparatus for reducing error floors in message passing decoders
DE60316616T2 (de) 2003-12-30 2008-07-17 Telefonaktiebolaget Lm Ericsson (Publ) Verfahren und system zur berechnung der bitfehlerrate eines empfangenen signals
US20050193320A1 (en) * 2004-02-09 2005-09-01 President And Fellows Of Harvard College Methods and apparatus for improving performance of information coding schemes
JP2005242797A (ja) * 2004-02-27 2005-09-08 Oki Electric Ind Co Ltd エラー訂正回路
US7383484B2 (en) * 2004-03-12 2008-06-03 Seagate Technology Llc Cyclic redundancy check based message passing in turbo product code decoding
JP4521633B2 (ja) 2004-03-12 2010-08-11 直樹 末広 符号分割多重信号の相関分離識別方式
JP3891186B2 (ja) * 2004-03-22 2007-03-14 住友電気工業株式会社 復号装置および前処理装置
WO2005096509A1 (en) 2004-03-31 2005-10-13 Intel Corporation Multi-threshold message passing decoding of low-density parity check codes
US7353444B2 (en) 2004-05-07 2008-04-01 Comtech Aha Corporation LDPC architecture
GB2414638A (en) 2004-05-26 2005-11-30 Tandberg Television Asa Decoding a concatenated convolutional-encoded and block encoded signal
US20050283707A1 (en) 2004-06-22 2005-12-22 Eran Sharon LDPC decoder for decoding a low-density parity check (LDPC) codewords
US7457367B2 (en) * 2004-07-07 2008-11-25 University Of Utah Research Foundation Detector and method for estimating data probability in a multi-channel receiver
EP1769640A1 (en) 2004-07-15 2007-04-04 Samsung Electronics Co., Ltd. Scalable motion information encoding/decoding apparatus and method and scalable video encoding/decoding apparatus and method using them
US7181676B2 (en) 2004-07-19 2007-02-20 Texas Instruments Incorporated Layered decoding approach for low density parity check (LDPC) codes
JP4321394B2 (ja) 2004-07-21 2009-08-26 富士通株式会社 符号化装置、復号装置
US7730377B2 (en) * 2004-07-22 2010-06-01 Texas Instruments Incorporated Layered decoding of low density parity check (LDPC) codes
US7143333B2 (en) 2004-08-09 2006-11-28 Motorola, Inc. Method and apparatus for encoding and decoding data
CN101341659B (zh) 2004-08-13 2012-12-12 Dtvg许可公司 用于多输入多输出通道的低密度奇偶校验码的码设计与实现的改进
US8046662B2 (en) * 2004-08-20 2011-10-25 Broadcom Corporation Method and system for decoding control data in GSM-based systems using inherent redundancy
US7996746B2 (en) * 2004-10-12 2011-08-09 Nortel Networks Limited Structured low-density parity-check (LDPC) code
US7760880B2 (en) 2004-10-13 2010-07-20 Viasat, Inc. Decoder architecture system and method
KR100703271B1 (ko) * 2004-11-23 2007-04-03 삼성전자주식회사 통합노드 프로세싱을 이용한 저밀도 패리티 검사 코드복호 방법 및 장치
GB2421719B (en) * 2004-12-30 2008-07-02 Fmc Technologies Conveying conformable products
CN101103581B (zh) 2005-01-19 2012-05-30 英特尔公司 数据通信方法和装置
JP4595574B2 (ja) * 2005-02-07 2010-12-08 ソニー株式会社 復号装置および方法、並びにプログラム
EP1717959A1 (en) 2005-04-29 2006-11-02 STMicroelectronics N.V. Method and device for controlling the decoding of a LDPC encoded codeword, in particular for DVB-S2 LDPC encoded codewords
US7562279B2 (en) * 2005-05-20 2009-07-14 Mitsubishi Electric Research Laboratories, Inc. 2D-normalized min-sum decoding for ECC codes
WO2006128164A2 (en) * 2005-05-27 2006-11-30 Aquantia Corporation Method and apparatus for extending decoding time in an iterative decoder using input codeword pipelining
TW200643703A (en) * 2005-06-06 2006-12-16 Novatek Microelectronics Corp Architecture and method for error detection and correction for data transmitted in a network
US7802172B2 (en) * 2005-06-20 2010-09-21 Stmicroelectronics, Inc. Variable-rate low-density parity check codes with constant blocklength
US20060285852A1 (en) * 2005-06-21 2006-12-21 Wenze Xi Integrated maximum a posteriori (MAP) and turbo product coding for optical communications systems
US7739558B1 (en) * 2005-06-22 2010-06-15 Aquantia Corporation Method and apparatus for rectifying errors in the presence of known trapping sets in iterative decoders and expedited bit error rate testing
WO2007001305A1 (en) * 2005-06-27 2007-01-04 Thomson Licensing Stopping criteria in iterative decoders
JP4526451B2 (ja) * 2005-06-30 2010-08-18 ルネサスエレクトロニクス株式会社 復号装置と方法並びにプログラム
JP2007036495A (ja) 2005-07-25 2007-02-08 Sharp Corp 再生装置、圧縮装置、記録装置及び再生方法
US7617436B2 (en) * 2005-08-02 2009-11-10 Nokia Corporation Method, device, and system for forward channel error recovery in video sequence transmission over packet-based network
US7725800B2 (en) 2005-08-05 2010-05-25 Hitachi Global Stroage Technologies Netherlands, B.V. Decoding techniques for correcting errors using soft information
US7770090B1 (en) 2005-09-14 2010-08-03 Trident Microsystems (Far East) Ltd. Efficient decoders for LDPC codes
KR20070118065A (ko) 2005-09-15 2007-12-13 미쓰비시 마테리알 가부시키가이샤 절연 회로 기판 및 냉각 싱크부 부착 절연 회로 기판
US8867336B2 (en) 2005-09-28 2014-10-21 Qualcomm Incorporated System for early detection of decoding errors
WO2007044942A2 (en) * 2005-10-13 2007-04-19 Cargill, Incorporated Management of an organization by cross-functional processes from the perspective of customer experiences
US20070089019A1 (en) 2005-10-18 2007-04-19 Nokia Corporation Error correction decoder, method and computer program product for block serial pipelined layered decoding of structured low-density parity-check (LDPC) codes, including calculating check-to-variable messages
US20070089016A1 (en) * 2005-10-18 2007-04-19 Nokia Corporation Block serial pipelined layered decoding architecture for structured low-density parity-check (LDPC) codes
US7844877B2 (en) 2005-11-15 2010-11-30 Ramot At Tel Aviv University Ltd. Method and device for multi phase error-correction
GB2432982A (en) * 2005-11-30 2007-06-06 Toshiba Res Europ Ltd An EER RF amplifier with PWM signal switching
US7730385B2 (en) * 2005-11-30 2010-06-01 Motorola, Inc. Method for decoding a received control channel message with a priori information
US20070134178A1 (en) * 2005-12-12 2007-06-14 Iheatu Obioha Skin lightening complex
US7602838B2 (en) * 2005-12-22 2009-10-13 Telefonaktiebolaget Lm Ericsson (Publ) Linear turbo equalization using despread values
FI20055715A0 (fi) * 2005-12-30 2005-12-30 Nokia Corp Turboekvalisointimenettely
US7752523B1 (en) * 2006-02-13 2010-07-06 Marvell International Ltd. Reduced-complexity decoding of parity check codes
US7805642B1 (en) 2006-02-17 2010-09-28 Aquantia Corporation Low power iterative decoder using input data pipelining and voltage scaling
KR20070084947A (ko) * 2006-02-22 2007-08-27 삼성전자주식회사 통신 시스템에서 신호 수신 장치 및 방법
US8234537B2 (en) 2006-03-31 2012-07-31 Intel Corporation Layered decoder and method for performing layered decoding
US7941737B2 (en) * 2006-04-19 2011-05-10 Tata Consultancy Services Limited Low density parity check code decoder
US7941726B2 (en) 2006-06-30 2011-05-10 Microsoft Corporation Low dimensional spectral concentration codes and direct list decoding
JP4253332B2 (ja) * 2006-07-03 2009-04-08 株式会社東芝 復号装置、方法およびプログラム
US7580469B2 (en) 2006-07-06 2009-08-25 Provigent Ltd Communication link control using iterative code metrics
JP4878958B2 (ja) * 2006-08-22 2012-02-15 株式会社エヌ・ティ・ティ・ドコモ 無線通信装置及び無線通信方法
FR2905209B1 (fr) * 2006-08-24 2008-10-31 St Microelectronics Sa Procede et dispositif de decodage de blocs encodes avec un code ldpc
FR2905210B1 (fr) * 2006-08-24 2008-10-31 St Microelectronics Sa Procede et dispositif de decodage par couches d'une succession de blocs encodes avec un code ldpc
US7644339B2 (en) 2006-10-02 2010-01-05 Broadcom Corporation Overlapping sub-matrix based LDPC (low density parity check) decoder
US7613981B2 (en) * 2006-10-06 2009-11-03 Freescale Semiconductor, Inc. System and method for reducing power consumption in a low-density parity-check (LDPC) decoder
CN101174839A (zh) 2006-10-30 2008-05-07 富士通株式会社 编码装置、解码装置、编码/解码装置及记录/再现装置
US7979775B2 (en) * 2006-10-30 2011-07-12 Motorola Mobility, Inc. Turbo interference suppression in communication systems
JP2008112516A (ja) 2006-10-31 2008-05-15 Fujitsu Ltd 誤り訂正回路及び情報再生装置
JP5251000B2 (ja) 2006-11-01 2013-07-31 富士通株式会社 誤り訂正回路及び媒体記憶装置
US8255763B1 (en) * 2006-11-08 2012-08-28 Marvell International Ltd. Error correction system using an iterative product code
US7949927B2 (en) * 2006-11-14 2011-05-24 Samsung Electronics Co., Ltd. Error correction method and apparatus for predetermined error patterns
JP4261575B2 (ja) * 2006-11-30 2009-04-30 株式会社東芝 誤り訂正処理装置及び誤り訂正処理方法
FR2909499B1 (fr) * 2006-12-01 2009-01-16 Commissariat Energie Atomique Procede et dispositif de decodage pour codes ldpc, et appareil de communication comprenant un tel dispositif
WO2008076214A2 (en) * 2006-12-14 2008-06-26 Regents Of The University Of Minnesota Error detection and correction using error pattern correcting codes
US7949931B2 (en) * 2007-01-02 2011-05-24 International Business Machines Corporation Systems and methods for error detection in a memory system
US8051363B1 (en) * 2007-01-16 2011-11-01 Marvell International Ltd. Absorb decode algorithm for 10GBase-T LDPC decoder
KR100975695B1 (ko) * 2007-02-02 2010-08-12 삼성전자주식회사 통신 시스템에서 신호 수신 장치 및 방법
US8117515B2 (en) 2007-03-23 2012-02-14 Sizhen Yang Methodology and apparatus for soft-information detection and LDPC decoding on an ISI channel
US7904793B2 (en) 2007-03-29 2011-03-08 Sandisk Corporation Method for decoding data in non-volatile storage using reliability metrics based on multiple reads
US8418023B2 (en) 2007-05-01 2013-04-09 The Texas A&M University System Low density parity check decoder for irregular LDPC codes
US8151171B2 (en) * 2007-05-07 2012-04-03 Broadcom Corporation Operational parameter adaptable LDPC (low density parity check) decoder
JP4616861B2 (ja) * 2007-05-25 2011-01-19 富士ゼロックス株式会社 信号伝送回路及び信号伝送システム
US7930621B2 (en) 2007-06-01 2011-04-19 Agere Systems Inc. Systems and methods for LDPC decoding with post processing
US8037394B2 (en) * 2007-06-29 2011-10-11 Hitachi Global Storage Technologies Netherlands, B.V. Techniques for generating bit reliability information in a post-processor using an error correction constraint
US8214719B1 (en) 2007-07-26 2012-07-03 Marvell International Ltd. Long latency protocol for hard disk controller interface
US8127209B1 (en) 2007-07-30 2012-02-28 Marvell International Ltd. QC-LDPC decoder with list-syndrome decoding
TW200906073A (en) * 2007-07-31 2009-02-01 Univ Nat Chiao Tung Calculation method applied to Low Density Parity check Code (LDPC) decoder and circuit thereof
US8181083B2 (en) 2007-08-27 2012-05-15 Stmicroelectronics S.R.L. Methods and architectures for layered decoding of LDPC codes with minimum latency
US8140948B2 (en) 2007-09-24 2012-03-20 Nec Laboratories America, Inc. Efficient low complexity high throughput LDPC decoding method and optimization
JP2009100222A (ja) 2007-10-16 2009-05-07 Toshiba Corp 低密度パリティ検査符号の復号装置およびその方法
GB2455496B (en) * 2007-10-31 2012-05-30 Hewlett Packard Development Co Error detection method and apparatus
US8127216B2 (en) 2007-11-19 2012-02-28 Seagate Technology Llc Reduced state soft output processing
US8219878B1 (en) * 2007-12-03 2012-07-10 Marvell International Ltd. Post-processing decoder of LDPC codes for improved error floors
US8020070B2 (en) 2007-12-05 2011-09-13 Aquantia Corporation Trapping set decoding for transmission frames
US8156409B2 (en) 2008-02-29 2012-04-10 Seagate Technology Llc Selectively applied hybrid min-sum approximation for constraint node updates of LDPC decoders
CN101242188B (zh) * 2008-03-10 2011-05-11 清华大学 基于哈密尔顿图的低密度奇偶校验码的纠错编码方法
US8161357B2 (en) * 2008-03-17 2012-04-17 Agere Systems Inc. Systems and methods for using intrinsic data for regenerating data from a defective medium
US8099645B2 (en) * 2008-04-11 2012-01-17 Nec Laboratories America, Inc. LDPC codes and stochastic decoding for optical transmission
US8245104B2 (en) 2008-05-02 2012-08-14 Lsi Corporation Systems and methods for queue based data detection and decoding
KR20090126829A (ko) * 2008-06-05 2009-12-09 삼성전자주식회사 반복 복호 방법과 반복 복호 장치
US20090319860A1 (en) * 2008-06-23 2009-12-24 Ramot At Tel Aviv University Ltd. Overcoming ldpc trapping sets by decoder reset
US8370711B2 (en) 2008-06-23 2013-02-05 Ramot At Tel Aviv University Ltd. Interruption criteria for block decoding
US7707237B2 (en) * 2008-08-01 2010-04-27 Infineon Technologies Ag Macrocell and method for adding
US20100037121A1 (en) 2008-08-05 2010-02-11 The Hong Kong University Of Science And Technology Low power layered decoding for low density parity check decoders
US8392692B2 (en) 2008-08-15 2013-03-05 Lsi Corporation Determining index values for bits of binary vector by processing masked sub-vector index values
US8464129B2 (en) * 2008-08-15 2013-06-11 Lsi Corporation ROM list-decoding of near codewords
US8103931B2 (en) * 2008-08-27 2012-01-24 Mitsubishi Electric Research Laboratories, Inc. Method for constructing large-girth quasi-cyclic low-density parity-check codes
JP2010062907A (ja) * 2008-09-04 2010-03-18 Toshiba Corp 復号装置および方法
US8301979B2 (en) * 2008-10-07 2012-10-30 Sandisk Il Ltd. Low density parity code (LDPC) decoding for memory with multiple log likelihood ratio (LLR) decoders
US8205144B1 (en) 2008-10-13 2012-06-19 Marvell International Ltd. Error event processing methods and systems
US8161345B2 (en) 2008-10-29 2012-04-17 Agere Systems Inc. LDPC decoders using fixed and adjustable permutators
JP4516625B1 (ja) * 2009-08-11 2010-08-04 正幸 安部 電子装置
US8407550B2 (en) * 2009-08-14 2013-03-26 Mitsubishi Electric Research Laboratories, Inc. Method and system for decoding graph-based codes using message-passing with difference-map dynamics
JP5527176B2 (ja) 2010-11-25 2014-06-18 ソニー株式会社 非水電解質電池
US8616345B2 (en) * 2011-06-24 2013-12-31 Goodrich Corporation Systems and methods for brake whirl mitigation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007306495A (ja) 2006-05-15 2007-11-22 Sumitomo Electric Ind Ltd 復号装置および復号プログラム
US20080052558A1 (en) 2006-07-28 2008-02-28 Via Telecom Co., Ltd. Systems and methods for reduced complexity ldpc decoding

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Jinghu Chen et al. 'Density Evolution for Two Improved BP-based Decoding Algorithms of LDPC Codes,' IEEE Comm. Letters, Vol. 6, No. 5, May 2002. *
노광석 ET AL., ‘MIN-SUM 반복 복호 알고리즘을 사용한 Tree-LDPC의 성능과 수렴 분석,’ 한국통신학회논문지 Vol. 31, No. 1C, 2006
노광석 ET AL., 'MIN-SUM 반복 복호 알고리즘을 사용한 Tree-LDPC의 성능과 수렴 분석,' 한국통신학회논문지 Vol. 31, No. 1C, 2006 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190115816A (ko) 2018-04-04 2019-10-14 고인석 규격화 된 블록을 이용한 비닐 하우스 구조물과 시공법

Also Published As

Publication number Publication date
TW201010294A (en) 2010-03-01
TWI442712B (zh) 2014-06-21
US8516330B2 (en) 2013-08-20
US8407553B2 (en) 2013-03-26
US20100042905A1 (en) 2010-02-18
US20100042891A1 (en) 2010-02-18
US20100042895A1 (en) 2010-02-18
CN101803206B (zh) 2013-09-04
WO2010019287A1 (en) 2010-02-18
US20100042896A1 (en) 2010-02-18
TWI435211B (zh) 2014-04-21
TWI508460B (zh) 2015-11-11
US20100042893A1 (en) 2010-02-18
WO2010019168A1 (en) 2010-02-18
TW201008134A (en) 2010-02-16
US8464129B2 (en) 2013-06-11
JP2014027704A (ja) 2014-02-06
KR101418467B1 (ko) 2014-07-10
JP2012500513A (ja) 2012-01-05
US20100042898A1 (en) 2010-02-18
EP2181504A4 (en) 2010-07-28
CN101836191B (zh) 2014-01-22
KR20110044939A (ko) 2011-05-03
JP2012500512A (ja) 2012-01-05
US20110138253A1 (en) 2011-06-09
EP2321727A4 (en) 2013-11-13
CN101803205A (zh) 2010-08-11
CN101803205B (zh) 2013-12-18
JP5276173B2 (ja) 2013-08-28
WO2010019169A1 (en) 2010-02-18
EP2321727A1 (en) 2011-05-18
US20100042906A1 (en) 2010-02-18
US20100042904A1 (en) 2010-02-18
US8316272B2 (en) 2012-11-20
US20100042903A1 (en) 2010-02-18
EP2181504A1 (en) 2010-05-05
KR20110052529A (ko) 2011-05-18
CN101803206A (zh) 2010-08-11
US8700976B2 (en) 2014-04-15
US20100042890A1 (en) 2010-02-18
US8555129B2 (en) 2013-10-08
US8245098B2 (en) 2012-08-14
KR101418466B1 (ko) 2014-07-10
US8468429B2 (en) 2013-06-18
US8464128B2 (en) 2013-06-11
US20100042902A1 (en) 2010-02-18
EP2223431A1 (en) 2010-09-01
US8327235B2 (en) 2012-12-04
US8495449B2 (en) 2013-07-23
US20100241921A1 (en) 2010-09-23
US8607115B2 (en) 2013-12-10
US8448039B2 (en) 2013-05-21
KR20110052530A (ko) 2011-05-18
CN101836191A (zh) 2010-09-15
US8407567B2 (en) 2013-03-26
US20100042894A1 (en) 2010-02-18
US8312342B2 (en) 2012-11-13
JP5363573B2 (ja) 2013-12-11
TW201011527A (en) 2010-03-16
US20110126075A1 (en) 2011-05-26
JP2012500514A (ja) 2012-01-05
US20100042897A1 (en) 2010-02-18
EP2223431A4 (en) 2010-09-01
US20100042892A1 (en) 2010-02-18
US8683299B2 (en) 2014-03-25
US8307253B2 (en) 2012-11-06

Similar Documents

Publication Publication Date Title
KR101431479B1 (ko) 다수의 체크―노드 알고리즘들을 이용하는 오류―정정 디코더
US8464142B2 (en) Error-correction decoder employing extrinsic message averaging
US9544090B2 (en) Hard input low density parity check decoder
US20100275088A1 (en) Low-latency decoder
Chen et al. Two low-complexity reliability-based message-passing algorithms for decoding non-binary LDPC codes
US8161345B2 (en) LDPC decoders using fixed and adjustable permutators
US8869003B2 (en) Method, apparatus, computer program product and device providing semi-parallel low density parity check decoding using a block structured parity check matrix
KR20090126829A (ko) 반복 복호 방법과 반복 복호 장치
KR20090072972A (ko) 저밀도 패리티 체크 코드를 복호화하는 방법 및 장치
US20200091933A1 (en) Iterative decoding with early termination criterion that permits errors in redundancy part
US10128869B2 (en) Efficient convergence in iterative decoding
Liu et al. Multi-threshold bit flipping algorithm for decoding structured LDPC codes
Zhang et al. On bit-level decoding of nonbinary LDPC codes
Liu et al. Hard-decision bit-flipping decoder based on adaptive bit-local threshold for LDPC codes
US9037938B2 (en) Hardware architecture and implementation of low power layered multi-level LDPC decoder
Song et al. Low error-floor majority-logic decoding based algorithm for non-binary LDPC codes
JPWO2020250390A1 (ja) 復号装置、制御回路および記憶媒体
Tsang PERFORMANCE ANALYSIS AND IMPLEMENTATION FOR NONBINARY QUASI-CYCLIC LDPC DECODER ARCHITECTURE
Chen et al. The modified reliability-based iterative majority-logic decoding algorithm for structured LDPC codes
Zhou et al. Memory efficient EMS decoding for non-binary LDPC codes
Maruthi et al. Development and Verification of Iterative Decoder for LDPC-RS Product Codes

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170811

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee