KR101431479B1 - 다수의 체크―노드 알고리즘들을 이용하는 오류―정정 디코더 - Google Patents
다수의 체크―노드 알고리즘들을 이용하는 오류―정정 디코더 Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1111—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1142—Decoding using trapping sets
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3707—Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3738—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with judging correct decoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3746—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding
- H03M13/3753—Decoding 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/45—Soft decoding, i.e. using symbol reliability information
- H03M13/451—Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD]
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/09—Error 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
관련 출원에 대한 상호-참조
이 출원은 교시들(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)의 하나의 구현예의 간이화된 블록도.
도 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)에 나타낸 바와 같이 표현될 수 있다.
이고, 여기서 (i) 은 LDPC 디코더(200)의 제 i 반복 동안 도 1의 H-행렬(100)의 제 m 체크 노드(즉, 행) 및 제 n 가변 노드(즉, 열)에 대응하는 R 메시지를 나타내며, (ii) 은 제 i-1 반복 동안 H-행렬(100)의 제 n 가변 노드 및 제 m 체크 노드에 대응하는 Q 메시지를 나타내며, (iii) α는 0 내지 1의 범위인 스케일링 인자를 나타내고, (iv) β는 0 내지 15의 범위인 오프셋 값을 나타내며, (v) 함수 sign은 메시지들의 부호들에 대해 곱셈 연산(즉, )이 수행됨을 나타낸다. n'는 제 n 가변-노드를 제외한(즉, ) 제 m 체크 노드에 연결된 모든 가변 노드들의 세트(N(m)/n)의 가변-노드라고 가정한다. 제 m 체크 노드(즉, 행)에 대응하는 CNU(210)은 세트(N(m)/n)로부터 이전 제 (i-1) 반복 동안 수신된 모든 Q 메시지들에 기초하여 메시지 를 생성한다. 이에 따라, 도 2의 실시예에서, 각 R 메시지는 N(m)/n = 9개 Q 메시지들(즉, wr-1= 10-1)에 기초하여 생성된다. 제 1 반복에 있어서 소프트-값 메모리(202)로부터 수신된 소프트 값들(Ln (0))은 이전 반복을 위한 Q 메시지들 대신 식(2) 및 식(3)에서 사용되는 것에 유의한다(즉).
각 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의 논리 표를 고찰한다.
표 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)을 사용하여 으로서 생성될 수 있거나, 대안적으로, 부호 처리 로직(328)이 FIFO를 사용하여 구현되는 경우에는 FIFO로부터 출력되는 대로 저장된 부호 비트(326)를 부호 처리 로직(328)에 저장된 모든 부호 비트들(326)의 곱으로 곱함으로써 생성될 수 있다. R 메시지들이 MUX(344)로부터 어떻게 출력되는가를 더 이해하기 위해서 표 2의 논리 표를 고찰한다.
표 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 메시지들 각각을 업데이트하는데,
이고, 여기서 m'은 제 m 체크 노드를 제외하고(즉, ) 제 n 가변-노드에 연결된 모든 체크 노드들의 세트(M(n)/m)의 체크 노드이다. 제 n 가변-노드는 (i) 세트 (M(n)/m)로부터 이전 제 (i-1) 반복 동안 수신된 모든 R 메시지들, 및 (ii) 제 n 가변-노드에 대응하는 소프트 값 메모리(202)로부터 수신된 초기 소프트 값(Ln (0))에 기초하여, 메시지 을 생성한다. 가산기 회로들을 사용하여 구현될 수 있는 각 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)에 나타낸 바와 같이 표현될 수 있다.
이고, 여기서 m은 제 n 가변-노드에 연결된 모든 체크 노드들(즉, )의 세트 M(n)) 내 하나의 체크 노드이다. 각각의 8비트 P 값은 다음과 같이 식(6)을 사용하여 생성될 수 있다.
Pn은 식(5)로부터 외래 값을 제 n 가변-노드에 대응하는 소프트-값 메모리(202)로부터 수신된 초기 소프트 값(Ln (0))에 더함으로써 각 가변-노드마다 결정된다. Pn이 제로 이상이면 경-결정 비트()는 식(7)에 보인 바와 같이 제로와 같다. Pn이 제로 미만이면 경-결정 비트()는 식(8)에 보인 바와 같이 1과 같다.
이어서 LDPC 디코더(200)가 유효 코드워드에 수렴하였는지의 여부를 결정하기 위해 경-결정 값들을 사용하여 예를 들면, 제어기(214)에 의해서 패리티-체크가 수행된다. 특히, 10개의 클럭 사이크들 동안에 VNU들(204(0),...,204(71))로부터 출력된 720개의 경-결정 비트들()로부터 형성된 720-엘리먼트 벡터()에 도 1의 H-행렬(100)의 전치 H T를 곱하여 288비트 벡터를 생성하고 288 비트 벡터의 각 비트는 H-행렬(100)의 288 체크 노드들(즉, 행들) 중 하나에 대응한다. 결과적인 288-비트 벡터의 각 엘리먼트가 제로와 같다면(즉, ), LDPC 디코더(200)는 유효 코드워드에 수렴한 것이다. 반면 결과적인 288 비트 벡터의 하나 이상의 엘리먼트들이 1과 같다면(즉, ) 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): 레지스터
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)
- 정확한 코드워드를 복구하기 위해 오류-정정-인코딩된 코드워드를 디코딩하기 위한 오류-정정 디코더를 포함하는 장치에 있어서:
상기 오류-정정 디코더는 업스트림 프로세서(upstream processor)에 의해 생성된 초기 세트의 초기값들에 기초하여 제 1 세트의 메시지들을 생성하도록 구성되고;
상기 초기 세트는 상기 오류-정정-인코딩된 코드워드에 대응하고;
상기 초기 세트의 각각의 초기값은 상기 오류-정정-인코딩된 코드워드의 상이한 비트에 대응하고;
상기 오류-정정 디코더는:
스케일링 인자 및 오프셋 값에 기초하여 상기 제 1 세트의 메시지들을 스케일링되고-오프셋된 메시지들(scaled-and-offset messages)로 변환하도록 구성된, 하나 이상의 블록들; 및
제어기를 포함하고,
상기 제어기는ⅰ) 상기 스케일링 인자 및 상기 오프셋 값을 선택하고 ⅱ) 이어서, 상기 오류-정정 디코더가 트랩핑 세트(trapping set)를 접했다고(encounter) 결정한 후에, 상기 스케일링 인자 및 상기 오프셋 값 중 적어도 하나를 수정하도록 구성된, 오류-정정 디코더를 포함하는 장치. - 제 1 항에 있어서,
상기 오류-정정 디코더는 가변-노드 메시지들을 생성하도록 구성된 가변-노드 유닛을 포함하고;
상기 제 1 세트의 메시지들은 상기 가변-노드 메시지들이고;
상기 하나 이상의 블록들은 상기 스케일링 인자 및 상기 오프셋 값에 기초하여 상기 가변-노드 메시지들을 스케일링되고-오프셋된 가변-노드 메시지들로 변환하도록 구성된, 오류-정정 디코더를 포함하는 장치. - 제 1 항에 있어서,
상기 오류-정정 디코더는 체크-노드 메시지들을 생성하도록 구성된 체크-노드 유닛을 포함하고;
상기 제 1 세트의 메시지들은 상기 체크-노드 메시지들이고;
상기 하나 이상의 블록들은 상기 스케일링 인자 및 상기 오프셋 값에 기초하여 상기 체크-노드 메시지들을 스케일링되고-오프셋된 체크-노드 메시지들로 변환하도록 구성된, 오류-정정 디코더를 포함하는 장치. - 제 1 항에 있어서,
상기 오류-정정 디코더는 최소-합 알고리즘(min-sum algorithm)을 구현하고;
상기 오류-정정 디코더는 상기 최소-합 알고리즘의 제 1-최소 크기 값 및 제 2-최소 크기 값을 생성하도록 구성된 체크-노드 유닛을 포함하고;
상기 제 1 세트의 메시지들은 상기 제 1-최소 크기 값 및 상기 제 2-최소 크기 값이고;
상기 하나 이상의 블록들은 상기 스케일링 인자 및 상기 오프셋 값에 기초하여 상기 제 1-최소 크기 값 및 상기 제 2-최소 크기 값을 스케일링되고-오프셋된 제 1-최소 크기 값 및 스케일링되고-오프셋된 제 2-최소 크기 값으로 변환하도록 구성된, 오류-정정 디코더를 포함하는 장치. - 제 1 항에 있어서,
상기 제어기는 상기 스케일링 인자를 1로 설정할 수 있고,
상기 제어기는 상기 오프셋 값을 0으로 설정할 수 있는, 오류-정정 디코더를 포함하는 장치. - 제 1 항에 있어서,
상기 하나 이상의 블록들은 스케일링 및 오프세팅(offsetting) 둘 모두를 수행하는 스케일링-및-오프셋 블록을 포함하는, 오류-정정 디코더를 포함하는 장치. - 제 1 항에 있어서,
상기 디코더는 저-밀도 패리티-체크(low-density parity-check) 디코더이고;
상기 업스트림 프로세서로부터 수신된 상기 값들은 경-결정 비트(hard-decision bit) 및 하나 이상의 신뢰-값 비트들을 가지는 연-출력 값들(soft-output values)인, 오류-정정 디코더를 포함하는 장치. - 제 1 항에 있어서,
상기 제어기는,
1) i) 상기 스케일링 인자를 1로 설정하고, 상기 오프셋 값을 0보다 큰 값으로 설정하고 ⅱ) 이어서, 상기 스케일링 인자를 1 이외의 값으로 수정하고, 상기 오프셋 값을 0으로 설정하는 것; 및
2) ⅰ) 상기 스케일링 인자를 1 이외의 값으로 설정하고, 상기 오프셋 값을 0으로 설정하고 ⅱ) 이어서, 상기 스케일링 인자를 1로 수정하고, 상기 오프셋 값을 0보다 큰 값으로 설정하는 것, 중 적어도 하나로부터 선택하도록 구성된, 오류-정정 디코더를 포함하는 장치. - 제 1 항에 있어서,
상기 제어기가, 상기 오류-정정 디코더가 미리 결정된 수의 디코딩 반복들 내에서 상기 정확한 코드워드에 수렴하지 않는다고 결정한 후에, 상기 제어기는 상기 스케일링 인자 및 상기 오프셋 값 중 상기 적어도 하나를 수정하는, 오류-정정 디코더를 포함하는 장치. - 정확한 코드워드를 복구하기 위해 오류-정정 인코딩된 코드워드를 디코딩하기 위한, 오류-정정 디코더에 의해 구현되는 방법에 있어서:
(a) 스케일링 인자 및 오프셋 값을 선택하는 단계;
(b) 업스트림 프로세서로부터 초기 세트의 초기값들을 수신하는 단계로서:
상기 초기 세트는 상기 오류-정정-인코딩된 코드워드에 대응하고;
상기 초기 세트의 각각의 초기값은 상기 오류-정정-인코딩된 코드워드의 상이한 비트에 대응하는, 상기 초기 세트의 초기값들을 수신하는 단계;
(c) 상기 초기 세트의 초기값들에 기초하여 제 1 세트의 메시지들을 생성하는 단계;
(d) 상기 스케일링 인자 및 상기 오프셋 값에 기초하여 상기 제 1 세트의 메시지들을 스케일링되고-오프셋된 메시지들로 변환하는 단계; 및
(e) 상기 디코딩이 트랩핑 세트를 접했다고 결정한 후에, 상기 스케일링 인자 및 상기 오프셋 값 중 적어도 하나를 수정하는 단계를 포함하는, 방법. - 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
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 |
---|---|---|---|
KR1020107006847A KR101418466B1 (ko) | 2008-08-15 | 2008-12-12 | 니어 코드워드들의 rom 리스트 디코딩 |
KR1020107006846A KR101418467B1 (ko) | 2008-08-15 | 2008-12-12 | 니어 코드워드들의 ram 리스트-디코딩 |
KR1020107008092A KR101431479B1 (ko) | 2008-08-15 | 2009-04-08 | 다수의 체크―노드 알고리즘들을 이용하는 오류―정정 디코더 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020107006847A KR101418466B1 (ko) | 2008-08-15 | 2008-12-12 | 니어 코드워드들의 rom 리스트 디코딩 |
KR1020107006846A KR101418467B1 (ko) | 2008-08-15 | 2008-12-12 | 니어 코드워드들의 ram 리스트-디코딩 |
Country Status (7)
Country | Link |
---|---|
US (17) | US8464129B2 (ko) |
EP (3) | EP2223431A4 (ko) |
JP (4) | JP5276173B2 (ko) |
KR (3) | KR101418466B1 (ko) |
CN (3) | CN101803205B (ko) |
TW (3) | TWI508460B (ko) |
WO (3) | WO2010019169A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190115816A (ko) | 2018-04-04 | 2019-10-14 | 고인석 | 규격화 된 블록을 이용한 비닐 하우스 구조물과 시공법 |
Families Citing this family (235)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7958427B1 (en) * | 2007-03-30 | 2011-06-07 | Link—A—Media Devices Corporation | ECC with out of order completion |
US8281212B1 (en) | 2007-03-30 | 2012-10-02 | Link—A—Media Devices Corporation | Iterative ECC decoder 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 |
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 |
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 |
JP5276173B2 (ja) | 2008-08-15 | 2013-08-28 | エルエスアイ コーポレーション | ニア・コードワードのromリスト復号 |
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 |
TW201014202A (en) * | 2008-09-26 | 2010-04-01 | Agency Science Tech & Res | Decoding circuit and encoding circuit |
US8321772B1 (en) * | 2008-10-20 | 2012-11-27 | Link—A—Media Devices Corporation | SOVA sharing during LDPC global iteration |
US8219873B1 (en) * | 2008-10-20 | 2012-07-10 | Link—A—Media Devices Corporation | LDPC selective decoding scheduling using a cost function |
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 |
EP2340507A4 (en) | 2009-03-05 | 2012-05-30 | Lsi Corp | IMPROVED TURBO COMPENSATION PROCESS FOR ITERATIVE DECODER |
WO2010123493A1 (en) * | 2009-04-21 | 2010-10-28 | Agere Systems, Inc. | Error-floor mitigation of codes using write verification |
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 |
US8677209B2 (en) | 2009-11-19 | 2014-03-18 | Lsi Corporation | Subwords coding using different encoding/decoding matrices |
US8352847B2 (en) | 2009-12-02 | 2013-01-08 | Lsi Corporation | Matrix vector multiplication 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 |
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 |
US8341486B2 (en) * | 2010-03-31 | 2012-12-25 | Silicon Laboratories Inc. | Reducing power consumption in an iterative decoder |
US8918696B2 (en) * | 2010-04-09 | 2014-12-23 | Sk Hynix Memory Solutions Inc. | 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 |
US8612831B2 (en) * | 2010-06-22 | 2013-12-17 | Cleversafe, Inc. | Accessing 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 |
WO2012042444A1 (en) * | 2010-09-29 | 2012-04-05 | International Business Machines Corporation | Decoding in solid state memory devices |
US8560930B2 (en) | 2010-10-11 | 2013-10-15 | Lsi Corporation | Systems and methods for multi-level quasi-cyclic low density parity check codes |
US8385014B2 (en) | 2010-10-11 | 2013-02-26 | Lsi Corporation | Systems and methods for identifying potential media failure |
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 |
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 |
WO2012118766A1 (en) * | 2011-02-28 | 2012-09-07 | Clariphy Communications, Inc. | 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 |
US8611033B2 (en) | 2011-04-15 | 2013-12-17 | Lsi Corporation | Systems and methods for selective decoder input data processing |
US8670955B2 (en) | 2011-04-15 | 2014-03-11 | Lsi Corporation | Systems and methods for reliability assisted noise predictive filtering |
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 |
US8499231B2 (en) | 2011-06-24 | 2013-07-30 | Lsi Corporation | Systems and methods for reduced format non-binary decoding |
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 |
US8830613B2 (en) | 2011-07-19 | 2014-09-09 | 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 |
US8879182B2 (en) | 2011-07-19 | 2014-11-04 | Lsi Corporation | Storage media inter-track interference cancellation |
JP2013029882A (ja) * | 2011-07-26 | 2013-02-07 | Toshiba Corp | メモリコントローラ、半導体記憶装置および復号方法 |
US8645810B2 (en) | 2011-07-31 | 2014-02-04 | Sandisk Technologies Inc. | Fast detection of convergence or divergence in iterative decoding |
US9270297B2 (en) | 2011-07-31 | 2016-02-23 | SanDisk Technologies, Inc. | Error-correction decoding with reduced memory and power requirements |
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 |
US8767333B2 (en) | 2011-09-22 | 2014-07-01 | Lsi Corporation | Systems and methods for pattern dependent target adaptation |
US8850276B2 (en) | 2011-09-22 | 2014-09-30 | Lsi Corporation | Systems and methods for efficient data shuffling in a data processing system |
US8689062B2 (en) | 2011-10-03 | 2014-04-01 | Lsi Corporation | Systems and methods for parameter selection using reliability information |
US8479086B2 (en) | 2011-10-03 | 2013-07-02 | Lsi Corporation | Systems and methods for efficient parameter modification |
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 |
US8443271B1 (en) | 2011-10-28 | 2013-05-14 | Lsi Corporation | Systems and methods for dual process data decoding |
US8683309B2 (en) | 2011-10-28 | 2014-03-25 | Lsi Corporation | Systems and methods for ambiguity based decode algorithm modification |
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 |
CN104869423B (zh) | 2012-04-15 | 2017-09-08 | 三星电子株式会社 | 变换系数等级的熵编码装置和熵解码装置 |
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 |
EP2992429B1 (en) | 2013-04-30 | 2022-03-09 | Western Digital Technologies, Inc. | Decoder having early decoding termination detection |
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 |
CN104834476B (zh) | 2014-02-10 | 2016-10-19 | 安华高科技通用Ip(新加坡)公司 | 基于段结束标记的数据对准的系统和方法 |
RU2014104571A (ru) | 2014-02-10 | 2015-08-20 | ЭлЭсАй Корпорейшн | Системы и способы для эффективного с точки зрения площади кодирования данных |
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 |
KR20170051039A (ko) | 2015-11-02 | 2017-05-11 | 에스케이하이닉스 주식회사 | 반도체 장치 및 그 구동 방법 |
KR20170050935A (ko) | 2015-11-02 | 2017-05-11 | 에스케이하이닉스 주식회사 | 온 칩 ecc 회로를 포함하는 메모리 장치 및 시스템 |
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 |
US10680647B2 (en) * | 2017-09-25 | 2020-06-09 | SK Hynix Inc. | Min-sum decoding for LDPC codes |
CN107528597B (zh) * | 2017-09-25 | 2020-12-08 | 桂林电子科技大学 | 一种基于crc校验码的ldpc码后处理译码方法 |
US10574274B2 (en) * | 2017-09-29 | 2020-02-25 | Nyquist Semiconductor Limited | Systems and methods for decoding error correcting codes |
US10091046B1 (en) | 2017-11-20 | 2018-10-02 | Nokia Technologies Oy | Joint use of probabilistic signal shaping and forward error correction |
US10523400B2 (en) | 2017-11-20 | 2019-12-31 | Nokia Technologies Oy | Multi-code probabilistic signal shaping using frequency-division multiplexing |
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 |
US10606699B2 (en) | 2018-05-17 | 2020-03-31 | Western Digital Technologies, Inc. | Data storage device employing multi-level parity sectors for data recovery procedure |
US10530390B2 (en) | 2018-05-17 | 2020-01-07 | Western Digital Technologies, Inc. | Data storage device employing memory efficient processing of un-converged codewords |
US10592334B2 (en) | 2018-05-17 | 2020-03-17 | Western Digital Technologies, Inc. | Data storage device emphasizing parity sector processing of un-converged codewords |
US11055171B2 (en) | 2018-05-17 | 2021-07-06 | 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码的译码方法、模块及装置 |
US10666291B1 (en) | 2019-03-12 | 2020-05-26 | Microsoft Technology Licensing, Llc | High efficiency data decoder |
US10630313B1 (en) | 2019-03-12 | 2020-04-21 | 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 |
DE112022002131T5 (de) | 2021-09-28 | 2024-04-11 | Microchip Technology Inc. | Ldpc-dekodierung mit 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)
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)
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 |
CA1305768C (en) * | 1987-11-16 | 1992-07-28 | Masanobu Arai | 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 |
US5390135A (en) * | 1993-11-29 | 1995-02-14 | Hewlett-Packard | Parallel shift and add circuit and method |
US5883824A (en) * | 1993-11-29 | 1999-03-16 | Hewlett-Packard Company | Parallel adding and averaging 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 |
US6678843B2 (en) | 1999-02-18 | 2004-01-13 | Interuniversitair Microelektronics Centrum (Imec) | Method and apparatus for interleaving, deinterleaving and combined interleaving-deinterleaving |
EP1030457B1 (en) * | 1999-02-18 | 2012-08-08 | Imec | Methods and system architectures for turbo decoding |
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 |
JP3866105B2 (ja) * | 1999-12-02 | 2007-01-10 | インフィネオン テクノロジーズ アクチエンゲゼルシャフト | 暗号化機能を備えるマイクロプロセッサ装置 |
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 |
US6745157B1 (en) | 2000-06-02 | 2004-06-01 | Mitsubishi Electric Research Laboratories, Inc | Super-node normalized belief propagation for probabilistic systems |
US6910000B1 (en) | 2000-06-02 | 2005-06-21 | Mitsubishi Electric Research Labs, Inc. | Generalized 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 | 復号装置及び方法、並びにデータ受信装置及び方法 |
JP2005500513A (ja) | 2000-12-29 | 2005-01-06 | クロマジェン インコーポレーティッド | ハイスループットの蛍光の検出のためのスキャニング分光光度計 |
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 |
WO2003077083A2 (en) * | 2002-03-13 | 2003-09-18 | 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 |
AU2003278536A1 (en) * | 2002-11-27 | 2004-06-18 | 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 |
EP1597667A4 (en) | 2003-02-26 | 2009-01-14 | Qualcomm Inc | PROGRAMMABLE INFORMATION HITCHING FOR ITERATIVE DECODING |
US20070234178A1 (en) | 2003-02-26 | 2007-10-04 | Qualcomm Incorporated | Soft information scaling for interactive 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 | エラー訂正回路 |
JP4521633B2 (ja) | 2004-03-12 | 2010-08-11 | 直樹 末広 | 符号分割多重信号の相関分離識別方式 |
US7383484B2 (en) | 2004-03-12 | 2008-06-03 | Seagate Technology Llc | Cyclic redundancy check based message passing in turbo product code decoding |
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 |
US20060013306A1 (en) | 2004-07-15 | 2006-01-19 | Samsung Electronics Co., Ltd. | Motion information encoding/decoding apparatus and method and scalable video encoding/decoding apparatus and method employing 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 | 삼성전자주식회사 | 통합노드 프로세싱을 이용한 저밀도 패리티 검사 코드복호 방법 및 장치 |
GB2421676B (en) * | 2004-12-30 | 2010-03-24 | Fmc Technologies | Portioning apparatus and method |
US8359513B2 (en) | 2005-01-19 | 2013-01-22 | Intel Corporation | Data communications methods and apparatus |
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 |
US7577891B2 (en) | 2005-05-27 | 2009-08-18 | 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 |
US8171367B2 (en) * | 2005-06-27 | 2012-05-01 | 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 |
EP1926142A1 (en) | 2005-09-15 | 2008-05-28 | Mitsubishi Materials Corporation | Insulating circuit board and insulating circuit board provided with cooling sink section |
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 |
US20070089016A1 (en) * | 2005-10-18 | 2007-04-19 | Nokia Corporation | Block serial pipelined layered decoding architecture for structured low-density parity-check (LDPC) codes |
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 |
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 | 삼성전자주식회사 | 통신 시스템에서 신호 수신 장치 및 방법 |
GB2449036B (en) | 2006-03-31 | 2011-08-24 | Intel Corp | 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 |
US7979775B2 (en) | 2006-10-30 | 2011-07-12 | Motorola Mobility, Inc. | Turbo interference suppression in communication systems |
CN101174839A (zh) | 2006-10-30 | 2008-05-07 | 富士通株式会社 | 编码装置、解码装置、编码/解码装置及记录/再现装置 |
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 | 삼성전자주식회사 | 반복 복호 방법과 반복 복호 장치 |
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 |
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 |
JP5276173B2 (ja) * | 2008-08-15 | 2013-08-28 | エルエスアイ コーポレーション | ニア・コードワードのromリスト復号 |
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 |
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 |
-
2008
- 2008-12-12 JP JP2011522963A patent/JP5276173B2/ja not_active Expired - Fee Related
- 2008-12-12 KR KR1020107006847A patent/KR101418466B1/ko active IP Right Grant
- 2008-12-12 EP EP08876722A patent/EP2223431A4/en not_active Ceased
- 2008-12-12 CN CN2008801064323A patent/CN101803205B/zh active Active
- 2008-12-12 CN CN2008801064573A patent/CN101803206B/zh not_active Expired - Fee Related
- 2008-12-12 KR KR1020107006846A patent/KR101418467B1/ko not_active IP Right Cessation
- 2008-12-12 US US12/677,322 patent/US8464129B2/en not_active Expired - Fee Related
- 2008-12-12 US US12/675,981 patent/US8407553B2/en not_active Expired - Fee Related
- 2008-12-12 EP EP08876723A patent/EP2181504A4/en not_active Ceased
- 2008-12-12 WO PCT/US2008/086537 patent/WO2010019169A1/en active Application Filing
- 2008-12-12 JP JP2011522962A patent/JP5363573B2/ja not_active Expired - Fee Related
- 2008-12-12 WO PCT/US2008/086523 patent/WO2010019168A1/en active Application Filing
-
2009
- 2009-01-08 TW TW098100521A patent/TWI508460B/zh not_active IP Right Cessation
- 2009-01-08 TW TW098100523A patent/TWI435211B/zh active
- 2009-03-10 US US12/401,116 patent/US8448039B2/en active Active
- 2009-04-08 US US12/420,535 patent/US8327235B2/en not_active Expired - Fee Related
- 2009-04-08 JP JP2011523008A patent/JP2012500514A/ja active Pending
- 2009-04-08 EP EP09806999.0A patent/EP2321727A4/en not_active Withdrawn
- 2009-04-08 US US12/680,810 patent/US8316272B2/en active Active
- 2009-04-08 KR KR1020107008092A patent/KR101431479B1/ko not_active IP Right Cessation
- 2009-04-08 CN CN200980100811.6A patent/CN101836191B/zh not_active Expired - Fee Related
- 2009-04-08 WO PCT/US2009/039918 patent/WO2010019287A1/en active Application Filing
- 2009-06-01 US US12/475,786 patent/US8607115B2/en active Active
- 2009-06-26 US US12/492,328 patent/US8407567B2/en not_active Expired - Fee Related
- 2009-06-26 US US12/492,374 patent/US8468429B2/en active Active
- 2009-06-26 US US12/492,346 patent/US8312342B2/en not_active Expired - Fee Related
- 2009-06-26 US US12/492,357 patent/US8307253B2/en not_active Expired - Fee Related
- 2009-07-14 TW TW098123804A patent/TWI442712B/zh not_active IP Right Cessation
- 2009-07-28 US US12/510,667 patent/US8495449B2/en active Active
- 2009-07-28 US US12/510,639 patent/US8516330B2/en not_active Expired - Fee Related
- 2009-07-28 US US12/510,722 patent/US8555129B2/en not_active Expired - Fee Related
- 2009-08-11 US US12/538,915 patent/US8245098B2/en not_active Expired - Fee Related
- 2009-08-12 US US12/540,035 patent/US8683299B2/en active Active
- 2009-08-12 US US12/540,078 patent/US8700976B2/en active Active
- 2009-08-12 US US12/540,002 patent/US8464128B2/en not_active Expired - Fee Related
-
2013
- 2013-11-08 JP JP2013231731A patent/JP2014027704A/ja not_active Ceased
Patent Citations (2)
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190115816A (ko) | 2018-04-04 | 2019-10-14 | 고인석 | 규격화 된 블록을 이용한 비닐 하우스 구조물과 시공법 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101431479B1 (ko) | 다수의 체크―노드 알고리즘들을 이용하는 오류―정정 디코더 | |
US8578256B2 (en) | Low-latency decoder | |
US8464142B2 (en) | Error-correction decoder employing extrinsic message averaging | |
US9544090B2 (en) | Hard input low density parity check 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) | 저밀도 패리티 체크 코드를 복호화하는 방법 및 장치 | |
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) | 復号装置、制御回路および記憶媒体 | |
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 |